SpyBara
Go Premium

Documentation 2026-10-20 23:00 UTC to 2026-10-21 23:02 UTC

84 files changed +1,707 −778. 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

admin-setup.md +1 −1

Details

91| [Permission lockdown](/docs/it/permissions#managed-only-settings) | Rendi le impostazioni gestite l'[unica fonte di impostazioni per le regole di autorizzazione](/docs/it/settings-reference#allowmanagedpermissionrulesonly). Disabilita `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |91| [Permission lockdown](/docs/it/permissions#managed-only-settings) | Rendi le impostazioni gestite l'[unica fonte di impostazioni per le regole di autorizzazione](/docs/it/settings-reference#allowmanagedpermissionrulesonly). Disabilita `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |

92| [Starting permission mode](/docs/it/permission-modes#which-mode-a-session-starts-in) | Scegli la modalità di autorizzazione in cui iniziano le sessioni del terminale dei tuoi sviluppatori invece della modalità di autorizzazione iniziale integrata, o rimuovi la modalità automatica. [Switch permission modes](/docs/it/permission-modes#switch-permission-modes) elenca quando l'estensione VS Code legge un `defaultMode` che imposti | `permissions.defaultMode`, `permissions.disableAutoMode` |92| [Starting permission mode](/docs/it/permission-modes#which-mode-a-session-starts-in) | Scegli la modalità di autorizzazione in cui iniziano le sessioni del terminale dei tuoi sviluppatori invece della modalità di autorizzazione iniziale integrata, o rimuovi la modalità automatica. [Switch permission modes](/docs/it/permission-modes#switch-permission-modes) elenca quando l'estensione VS Code legge un `defaultMode` che imposti | `permissions.defaultMode`, `permissions.disableAutoMode` |

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

94| [Managed policy CLAUDE.md](/docs/it/memory#deploy-organization-wide-claude-md) | Istruzioni a livello di organizzazione caricate in ogni sessione, non possono essere escluse | File nel percorso della policy gestita |94| [Managed policy CLAUDE.md](/docs/it/memory#deploy-organization-wide-claude-md) | Indicazioni comportamentali a livello di organizzazione per Claude, anziché una regola applicata dal client | File nel percorso della policy gestita |

95| [MCP server control](/docs/it/managed-mcp) | Limitare quali server MCP gli utenti possono aggiungere o connettere, distribuire un set fisso, o fornire server remoti a ogni utente insieme ai loro | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers`, o un file `managed-mcp.json` distribuito |95| [MCP server control](/docs/it/managed-mcp) | Limitare quali server MCP gli utenti possono aggiungere o connettere, distribuire un set fisso, o fornire server remoti a ogni utente insieme ai loro | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers`, o un file `managed-mcp.json` distribuito |

96| [Plugin marketplace control](/docs/it/plugins/org#restrict-what-users-can-install) | Limitare quali fonti di marketplace gli utenti possono aggiungere e installare, rifiutare i flag CLI che caricano plugin, agent e server MCP per una singola esecuzione, bloccare le [fonti di plugin `command`](/docs/it/plugins/marketplace-reference#command-plugin-source), e allowlist quali plugin dei marketplace possono essere suggeriti | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |96| [Plugin marketplace control](/docs/it/plugins/org#restrict-what-users-can-install) | Limitare quali fonti di marketplace gli utenti possono aggiungere e installare, rifiutare i flag CLI che caricano plugin, agent e server MCP per una singola esecuzione, bloccare le [fonti di plugin `command`](/docs/it/plugins/marketplace-reference#command-plugin-source), e allowlist quali plugin dei marketplace possono essere suggeriti | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |

97| [Customization lockdown](/docs/it/settings-reference#strictpluginonlycustomization) | Bloccare skills, agent, hook e server MCP da fonti utente e progetto, in modo che possano provenire solo da plugin o impostazioni gestite. Bloccare le skills interrompe anche la sincronizzazione dei [skills che i tuoi sviluppatori abilitano su claude.ai](/docs/it/skills#where-synced-skills-load) | `strictPluginOnlyCustomization` |97| [Customization lockdown](/docs/it/settings-reference#strictpluginonlycustomization) | Bloccare skills, agent, hook e server MCP da fonti utente e progetto, in modo che possano provenire solo da plugin o impostazioni gestite. Bloccare le skills interrompe anche la sincronizzazione dei [skills che i tuoi sviluppatori abilitano su claude.ai](/docs/it/skills#where-synced-skills-load) | `strictPluginOnlyCustomization` |

advisor.md +1 −1

Details

83 83 

84Se avvii una [sessione in background](/docs/it/agent-view) con `--advisor` e uno di questi si applica, Claude Code avvia la sessione senza l'advisor invece di uscire.84Se avvii una [sessione in background](/docs/it/agent-view) con `--advisor` e uno di questi si applica, Claude Code avvia la sessione senza l'advisor invece di uscire.

85 85 

86Se il modello richiesto può agire come advisor ma è [di livello inferiore](#choose-an-advisor-model) rispetto al modello principale della sessione, Claude Code avvia comunque la sessione. Al di fuori delle sessioni in background, avvisa anche al lancio che il modello `cannot advise` il modello principale.86Se il modello che passi può agire come advisor ma è [di livello inferiore](#choose-an-advisor-model) rispetto al tuo modello principale, la sessione si avvia indipendentemente dal fatto che sia o meno una sessione in background. Il tuo modello principale viene quindi eseguito senza l'advisor.

87 87 

88## Scegli un modello advisor88## Scegli un modello advisor

89 89 

Details

157| **Scoperta** | `ToolSearch` | Trovare e caricare dinamicamente gli strumenti su richiesta invece di precaricarli tutti |157| **Scoperta** | `ToolSearch` | Trovare e caricare dinamicamente gli strumenti su richiesta invece di precaricarli tutti |

158| **Orchestrazione** | `Agent`, `Skill`, `AskUserQuestion`, `TaskCreate`, `TaskUpdate` | Generare subagenti, invocare skills, chiedere all'utente, tracciare attività |158| **Orchestrazione** | `Agent`, `Skill`, `AskUserQuestion`, `TaskCreate`, `TaskUpdate` | Generare subagenti, invocare skills, chiedere all'utente, tracciare attività |

159 159 

160Sui [modelli che non ottengono gli strumenti di tracciamento delle attività](/docs/it/agent-sdk/todo-tracking#model-availability), Claude Code fornisce `TaskCreate` e `TaskUpdate` solo quando vi iscrivete.160Sui [modelli che non ottengono gli strumenti di tracciamento delle attività](/docs/it/agent-sdk/todo-tracking#model-availability), Claude Code fornisce `TaskCreate` e `TaskUpdate` solo quando li abilitate esplicitamente.

161 161 

162Oltre agli strumenti integrati, potete:162Oltre agli strumenti integrati, potete:

163 163 


230 230 

231| Modalità | Comportamento | Caso d'uso |231| Modalità | Comportamento | Caso d'uso |

232| :- | :- | :- |232| :- | :- | :- |

233| `"default"` | Gli strumenti non coperti da regole di consentimento attivano il vostro callback `canUseTool`; nessun callback significa negare | Applicazioni interattive con un callback di approvazione personalizzato |233| `"default"` | Le chiamate agli strumenti che richiedono approvazione e non sono coperte da regole di consentimento attivano il vostro callback `canUseTool`; nessun callback significa negare | Applicazioni interattive con un callback di approvazione personalizzato |

234| `"acceptEdits"` | Approva automaticamente le modifiche ai file e i comandi comuni del filesystem (`mkdir`, `touch`, `mv`, `cp`, ecc.); altri comandi Bash seguono le regole predefinite | Fidate delle modifiche di Claude e volete un'iterazione più veloce, ad esempio durante la prototipazione o quando lavorate in una directory isolata |234| `"acceptEdits"` | Approva automaticamente le modifiche ai file e i comandi comuni del filesystem (`mkdir`, `touch`, `mv`, `cp`, ecc.); altri comandi Bash seguono le regole predefinite | Fidate delle modifiche di Claude e volete un'iterazione più veloce, ad esempio durante la prototipazione o quando lavorate in una directory isolata |

235| `"plan"` | Claude esplora e pianifica senza modificare i vostri file sorgente; le modifiche ai file non vengono mai approvate automaticamente e vengono richieste tramite il vostro callback `canUseTool` | Volete che Claude proponga modifiche senza eseguirle, ad esempio durante la revisione del codice o quando dovete approvare le modifiche prima che vengano apportate |235| `"plan"` | Claude esplora e pianifica senza modificare i vostri file sorgente; le modifiche ai file non vengono mai approvate automaticamente e vengono richieste tramite il vostro callback `canUseTool` | Volete che Claude proponga modifiche senza eseguirle, ad esempio durante la revisione del codice o quando dovete approvare le modifiche prima che vengano apportate |

236| `"dontAsk"` | Non chiede mai. Gli strumenti pre-approvati da [regole di permesso](/docs/it/settings-reference#permission-settings) vengono eseguiti, e così anche le chiamate che non richiedono approvazione in modalità `default`, come le letture di file all'interno delle tue directory di lavoro. Ogni chiamata che altrimenti richiederebbe conferma viene negata, anche se un [mod](/docs/it/plugins/mods/overview) che hai installato può comunque approvare [alcune di queste chiamate](/docs/it/permissions#precedence-among-rules-hooks-and-mods). `AskUserQuestion`, gli strumenti connettore [impostati dalla tua organizzazione su `ask`](/docs/it/mcp#organization-controls-on-connector-tools), gli strumenti MCP contrassegnati [`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 se li hai consentiti | Vuoi una superficie di strumenti fissa ed esplicita per un agente headless e preferisci un rifiuto esplicito rispetto a un affidamento silenzioso all'assenza di `canUseTool` |236| `"dontAsk"` | Non chiede mai. Gli strumenti pre-approvati da [regole di permesso](/docs/it/settings-reference#permission-settings) vengono eseguiti, e così anche le chiamate che non richiedono approvazione in modalità `default`, come le letture di file all'interno delle tue directory di lavoro. Ogni chiamata che altrimenti richiederebbe conferma viene negata, anche se un [mod](/docs/it/plugins/mods/overview) che hai installato può comunque approvare [alcune di queste chiamate](/docs/it/permissions#precedence-among-rules-hooks-and-mods). `AskUserQuestion`, gli strumenti connettore [impostati dalla tua organizzazione su `ask`](/docs/it/mcp#organization-controls-on-connector-tools), gli strumenti MCP contrassegnati [`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 se li hai consentiti | Vuoi una superficie di strumenti fissa ed esplicita per un agente headless e preferisci un rifiuto esplicito rispetto a un affidamento silenzioso all'assenza di `canUseTool` |

Details

20 20 

21Le applicazioni in [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) sono demo per lo sviluppo locale, da un client di posta elettronica a un sistema di ricerca multi-agente. Clona la demo la cui struttura corrisponde a ciò che stai costruendo.21Le applicazioni in [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) sono demo per lo sviluppo locale, da un client di posta elettronica a un sistema di ricerca multi-agente. Clona la demo la cui struttura corrisponde a ciò che stai costruendo.

22 22 

23## Crea un fork di un progetto completo

24 

25Per creare un agente di shopping o un agente commerciante con il Python SDK, parti dall'[implementazione di riferimento di Claude for commerce](https://platform.claude.com/docs/en/about-claude/use-case-guides/commerce-agents).

26 

23## Lavora attraverso una ricetta Python27## Lavora attraverso una ricetta Python

24 28 

25La serie Agent SDK del Claude Cookbook è una sequenza di ricette, ognuna un notebook Python, che progredisce da un semplice agente di ricerca a sofisticati sistemi multi-agente. Ogni notebook si basa sul precedente, introducendo nuovi concetti e capacità. Inizia con [l'agente di ricerca one-liner](https://platform.claude.com/cookbook/claude-agent-sdk-00-the-one-liner-research-agent) e procedi in avanti.29La serie Agent SDK del Claude Cookbook è una sequenza di ricette, ognuna un notebook Python, che progredisce da un semplice agente di ricerca a sofisticati sistemi multi-agente. Ogni notebook si basa sul precedente, introducendo nuovi concetti e capacità. Inizia con [l'agente di ricerca one-liner](https://platform.claude.com/cookbook/claude-agent-sdk-00-the-one-liner-research-agent) e procedi in avanti.

Details

638 638 

639* [`permission_prompt`](/docs/it/hooks#notification) una volta che una richiesta di autorizzazione ha atteso circa sei secondi sul vostro callback [`canUseTool`](/docs/it/agent-sdk/user-input). Richiede TypeScript Agent SDK v0.3.233 o successivo, oppure Python Agent SDK v0.2.139 o successivo639* [`permission_prompt`](/docs/it/hooks#notification) una volta che una richiesta di autorizzazione ha atteso circa sei secondi sul vostro callback [`canUseTool`](/docs/it/agent-sdk/user-input). Richiede TypeScript Agent SDK v0.3.233 o successivo, oppure Python Agent SDK v0.2.139 o successivo

640* `elicitation_complete` e `elicitation_response` per i flussi di elicitazione dell'input dell'utente640* `elicitation_complete` e `elicitation_response` per i flussi di elicitazione dell'input dell'utente

641* `plugin_notification` quando un [mod](/docs/it/plugins/mods/api#show-something-without-starting-a-turn) chiama `$.ui.notify`

641 642 

642Claude Code emette gli altri tipi, come `idle_prompt`, `auth_success` e `elicitation_dialog`, dall'interfaccia utente interattiva che le sessioni SDK non eseguono.643Claude Code emette gli altri tipi, come `idle_prompt`, `auth_success` e `elicitation_dialog`, dall'interfaccia utente interattiva che le sessioni SDK non eseguono.

643 644 

agent-sdk/mcp.md +29 −11

Details

142 142 

143## Tempistica della connessione143## Tempistica della connessione

144 144 

145Claude Code registra i server che passate in `options.mcpServers` all'avvio e invia il [messaggio init](#error-handling) una volta che l'attesa del primo turno, se presente, si risolve. Se ogni server `options.mcpServers` ritarda il primo turno, e quando si connette, dipende dal suo tipo:145Claude Code inizia a connettere i tuoi server MCP all'avvio della sessione e invia il [messaggio init](#error-handling) una volta terminata l'eventuale attesa del primo turno. Quanto il primo turno attende un server dipende da dove lo hai configurato. Se imposti `permissionPromptToolName`, il primo turno attende sempre il server di quello strumento, fino a `MCP_TIMEOUT`, ovunque tu lo abbia configurato.

146 

147Per un server in `options.mcpServers`, trova il suo tipo nella prima colonna per vedere quanto il primo turno lo attende.

146 148 

147| Tipo di server | Ritarda il primo turno? | Timeout di attesa del primo turno |149| Tipo di server | Ritarda il primo turno? | Timeout di attesa del primo turno |

148| :- | :- | :- |150| :- | :- | :- |


150| Server remoto con un elenco di strumenti memorizzato nella cache, salvato da Claude Code da una connessione precedente | No; gli strumenti memorizzati nella cache sono disponibili dal primo turno | Nessuno; si connette alla sua prima chiamata di strumento, e quella connessione differita ha il suo proprio timeout |152| Server remoto con un elenco di strumenti memorizzato nella cache, salvato da Claude Code da una connessione precedente | No; gli strumenti memorizzati nella cache sono disponibili dal primo turno | Nessuno; si connette alla sua prima chiamata di strumento, e quella connessione differita ha il suo proprio timeout |

151| Server [SDK](#sdk-mcp-servers) in-process | Sì, fino a quando non si connette e non elenca i suoi strumenti | [`MCP_TIMEOUT`](/docs/it/env-vars), 30 secondi per impostazione predefinita, per tentativo di connessione; la connessione non riesce a quella scadenza |153| Server [SDK](#sdk-mcp-servers) in-process | Sì, fino a quando non si connette e non elenca i suoi strumenti | [`MCP_TIMEOUT`](/docs/it/env-vars), 30 secondi per impostazione predefinita, per tentativo di connessione; la connessione non riesce a quella scadenza |

152 154 

153I server caricati da [file di configurazione](#from-a-config-file) come `.mcp.json` o da plugin comunemente mostrano `pending` nel messaggio init. Quando `options.mcpServers` contiene un server stdio, HTTP o SSE, il primo turno attende anche questi server in sospeso, fino a `MCP_TIMEOUT`. Quando `options.mcpServers` è vuoto o contiene solo server SDK, il primo turno attende invece fino a 2 secondi:155Un server ha un elenco di strumenti memorizzato nella cache solo quando la [cache di rilevamento MCP](/docs/it/mcp#server-status-detail) è attiva.

156 

157I server provenienti da [file di impostazioni](#from-a-config-file) come `.mcp.json`, o da plugin, spesso mostrano ancora `pending` nel messaggio init. Quanto il primo turno li attende dipende da `options.mcpServers` e dalla ricerca degli strumenti:

158 

159* **`options.mcpServers` include un server stdio, HTTP o SSE**: il primo turno attende anche i server in sospeso dei file di impostazioni e dei plugin, fino a `MCP_TIMEOUT`.

160* **Altrimenti, quando `ANTHROPIC_BASE_URL` punta a un [gateway](/docs/it/mcp#tool-search-through-a-gateway) e [`ENABLE_TOOL_SEARCH`](/docs/it/mcp#configure-tool-search) non è impostata**: il primo turno attende fino a 2 secondi ogni server in sospeso dei file di impostazioni e dei plugin.

161* **Altrimenti, con la [ricerca degli strumenti](/docs/it/agent-sdk/tool-search) attiva, che è l'impostazione predefinita**: il primo turno attende fino a 2 secondi, e solo i server in sospeso che impostano [`alwaysLoad: true`](/docs/it/mcp#exempt-a-server-from-deferral) o che hai [nominato](#named-servers). Gli altri continuano a connettersi in background, e Claude [raggiunge i loro strumenti](/docs/it/mcp#tool-availability) una volta che si connettono.

162* **Altrimenti, con la ricerca degli strumenti disattivata**: il primo turno attende fino a 2 secondi ogni server in sospeso dei file di impostazioni e dei plugin. La ricerca degli strumenti è disattivata quando il tuo [valore di `ENABLE_TOOL_SEARCH` o il tuo modello](/docs/it/agent-sdk/tool-search#configure-tool-search) la disattiva, oppure quando escludi lo strumento `ToolSearch`, ad esempio tramite `disallowedTools`.

163 

164### Server nominati

165 

166Nomini un server elencando uno qualsiasi dei suoi strumenti, come `mcp__github__list_issues` o `mcp__github__*`, in [`allowedTools`](#allow-mcp-tools) o in una regola `permissions.allow` nell'opzione `settings`. Anche un [hook `mcp_tool`](/docs/it/hooks#mcp-tool-hook-fields) nomina il server che chiama quando lo configuri su un evento di invio del prompt, uso degli strumenti, permesso, subagent, attività, elicitazione o worktree. Prima della v2.1.284, nominare un server non aveva alcun effetto sull'attesa del primo turno.

167 

168### Imposta tu stesso l'attesa del primo turno

169 

170Per scegliere tu stesso l'attesa del primo turno, imposta `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` nell'[opzione `env`](/docs/it/agent-sdk/configuration#set-environment-variables), ad esempio `CLAUDE_CODE_MCP_STARTUP_WAIT_MS: "5000"`. Il primo turno attende quindi fino a quel numero di millisecondi i server in sospeso dei file di impostazioni e dei plugin, indipendentemente dal fatto che la ricerca degli strumenti sia attiva o meno. Lo stesso limite sostituisce l'attesa `MCP_TIMEOUT` per i server stdio, HTTP e SSE in `options.mcpServers`.

154 171 

155* **Con [ricerca degli strumenti](/docs/it/agent-sdk/tool-search), l'impostazione predefinita**: l'attesa copre i server ancora in sospeso configurati con [`alwaysLoad: true`](/docs/it/mcp#exempt-a-server-from-deferral) e non il resto. Il resto continua a connettersi in background. [Disponibilità degli strumenti](/docs/it/mcp#tool-availability) descrive come Claude raggiunge i loro strumenti una volta che si connettono.172Tre attese si applicano qualunque valore tu imposti, incluso `0`:

156* **Senza ricerca degli strumenti**: l'attesa copre ogni server in sospeso. [Configurare la ricerca degli strumenti](/docs/it/agent-sdk/tool-search#configure-tool-search) copre cosa disattiva la ricerca degli strumenti. Se escludete lo strumento `ToolSearch` dalla sessione, ad esempio tramite `disallowedTools`, la sessione viene eseguita anche senza ricerca degli strumenti.

157 173 

158Se impostate `permissionPromptToolName`, il primo turno attende anche il server di quello strumento in ogni caso, fino a `MCP_TIMEOUT`.174* **Un server `permissionPromptToolName`**: fino a `MCP_TIMEOUT`.

175* **Un [server SDK](#sdk-mcp-servers) in-process**: fino a `MCP_TIMEOUT` per tentativo di connessione.

176* **Un [server nominato](#named-servers) ancora in fase di connessione**: almeno fino a 2 secondi, quindi un valore inferiore a `2000` non ne accorcia l'attesa.

159 177 

160Per impostare voi stessi l'attesa del primo turno, aggiungete `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` all'[opzione `env`](/docs/it/agent-sdk/configuration#set-environment-variables), ad esempio `CLAUDE_CODE_MCP_STARTUP_WAIT_MS: "5000"`. Il primo turno attende quindi fino a quel numero di millisecondi per ogni server in sospeso, indipendentemente dal fatto che la ricerca degli strumenti sia disponibile o meno. Questa scadenza sostituisce anche l'attesa del primo turno `MCP_TIMEOUT` per i server stdio, HTTP e SSE in `options.mcpServers`. `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` richiede Claude Code v2.1.274 o successivo.178Imposta la variabile a `0` per saltare l'attesa per ogni altro server. I server ancora in sospeso quando l'attesa termina continuano a connettersi in background. `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` richiede Claude Code v2.1.274 o successivo.

161 179 

162I server ancora in sospeso quando l'attesa termina continuano a connettersi in background. Impostate la variabile a `0` per saltare l'attesa. Un server `permissionPromptToolName` mantiene la sua propria attesa `MCP_TIMEOUT` indipendentemente dal valore.180### Fai attendere i server all'avvio

163 181 

164Per bloccare l'avvio stesso in una fase separata e precedente rispetto all'attesa del primo turno, prima che il messaggio init sia inviato:182Due impostazioni fanno attendere l'avvio stesso, prima che Claude Code invii il messaggio init:

165 183 

166* Impostare [`MCP_CONNECTION_NONBLOCKING`](/docs/it/env-vars) a `0` per bloccare l'intero batch di connessione. Claude Code limita tale attesa a 5 secondi per impostazione predefinita. Regolare il limite con la variabile di ambiente [`MCP_CONNECT_TIMEOUT_MS`](/docs/it/env-vars), in millisecondi. I server ancora in sospeso a quella scadenza continuano a connettersi in background.184* **[`MCP_CONNECTION_NONBLOCKING`](/docs/it/env-vars) impostata a `0`**: l'avvio attende l'intero batch di connessione, fino a 5 secondi per impostazione predefinita. Imposta [`MCP_CONNECT_TIMEOUT_MS`](/docs/it/env-vars), in millisecondi, per modificare tale limite. I server ancora in sospeso al raggiungimento del limite continuano a connettersi in background.

167* Impostare `alwaysLoad: true` sulla configurazione di un server per rendere i suoi strumenti disponibili ai loro schemi completi al primo turno, [esenti dal differimento della ricerca degli strumenti](/docs/it/mcp#exempt-a-server-from-deferral). Claude Code attende all'avvio gli strumenti di quel server, limitati alla stessa scadenza, mentre gli altri server continuano a connettersi in background; un server remoto con un elenco di strumenti memorizzato nella cache li fornisce senza connettersi, secondo la tabella sopra.185* **`alwaysLoad: true` nella configurazione di un server**: l'avvio attende, fino allo stesso limite, gli strumenti di quel server, così il primo turno li ha con lo schema completo, [esenti dal differimento della ricerca degli strumenti](/docs/it/mcp#exempt-a-server-from-deferral). Un server remoto con un elenco di strumenti memorizzato nella cache li fornisce senza connettersi né bloccare l'avvio.

168 186 

169Il messaggio `system` con sottotipo `init` segnala lo stato di ogni server nel momento in cui viene emesso; vedere [Gestione degli errori](#error-handling) per leggere questi stati.187Il messaggio init segnala lo stato di ogni server nel momento in cui Claude Code lo invia.

170 188 

171## Consenti strumenti MCP189## Consenti strumenti MCP

172 190 

Details

78| `disallowed_tools=["Bash(rm *)"]` | `Bash` rimane disponibile. Le chiamate che corrispondono a `rm *` [come scritto](/docs/it/permissions#bash-rule-limits) vengono negate in ogni modalità di autorizzazione, inclusa `bypassPermissions`. Le altre chiamate `Bash`, incluso `/bin/rm`, passano attraverso la modalità di autorizzazione. |78| `disallowed_tools=["Bash(rm *)"]` | `Bash` rimane disponibile. Le chiamate che corrispondono a `rm *` [come scritto](/docs/it/permissions#bash-rule-limits) vengono negate in ogni modalità di autorizzazione, inclusa `bypassPermissions`. Le altre chiamate `Bash`, incluso `/bin/rm`, passano attraverso la modalità di autorizzazione. |

79| `disallowed_tools=["*"]` | Ogni definizione di strumento viene rimossa dalla richiesta. I glob dei nomi degli strumenti sono supportati nelle regole deny: `"*"` corrisponde a ogni strumento e `"mcp__*"` corrisponde a ogni strumento MCP su tutti i server. |79| `disallowed_tools=["*"]` | Ogni definizione di strumento viene rimossa dalla richiesta. I glob dei nomi degli strumenti sono supportati nelle regole deny: `"*"` corrisponde a ogni strumento e `"mcp__*"` corrisponde a ogni strumento MCP su tutti i server. |

80 80 

81Le regole allow accettano glob dei nomi degli strumenti solo dopo un prefisso letterale `mcp__<server>__`. Il segmento del server deve essere privo di glob in modo che la regola nomini un server specifico che avete configurato: `mcp__puppeteer__*` corrisponde a ogni strumento dal server `puppeteer`, e `mcp__github__get_*` corrisponde ai suoi strumenti `get_`. Una voce non ancorata come `allowed_tools=["*"]` o `allowed_tools=["mcp__*"]` viene ignorata con un avviso di avvio e non approva automaticamente nulla.81Le regole allow accettano glob dei nomi degli strumenti solo dopo un prefisso letterale `mcp__<server>__`. Il segmento del server deve essere privo di glob in modo che la regola nomini un server specifico che hai configurato: `mcp__puppeteer__*` corrisponde a ogni strumento dal server `puppeteer`, e `mcp__github__get_*` corrisponde ai suoi strumenti `get_`. Una voce non ancorata come `allowed_tools=["*"]` o `allowed_tools=["mcp__*"]` viene ignorata e non approva automaticamente nulla.

82 82 

83Le regole limitate per `Read` e `Edit` accettano un modello di percorso. Le regole `Edit(path)` governano tutti gli strumenti integrati che scrivono file, inclusi `Write` e `NotebookEdit`; una regola `Write(path)` non viene mai abbinata dai controlli di autorizzazione dei file.83Le regole limitate per `Read` e `Edit` accettano un modello di percorso. Le regole `Edit(path)` governano tutti gli strumenti integrati che scrivono file, inclusi `Write` e `NotebookEdit`; una regola `Write(path)` non viene mai abbinata dai controlli di autorizzazione dei file.

84 84 

Details

535| `set_model(model)` | Cambia il modello per la sessione corrente. Passa `None` per ripristinare il [modello predefinito di Claude Code](/docs/it/model-config). Una sessione in modalità `auto` [passa alla modalità `default`](/docs/it/agent-sdk/permissions#auto-mode-auto) se il nuovo modello non supporta la modalità auto |535| `set_model(model)` | Cambia il modello per la sessione corrente. Passa `None` per ripristinare il [modello predefinito di Claude Code](/docs/it/model-config). Una sessione in modalità `auto` [passa alla modalità `default`](/docs/it/agent-sdk/permissions#auto-mode-auto) se il nuovo modello non supporta la modalità auto |

536| `rewind_files(user_message_id)` | Ripristina i file al loro stato al messaggio utente specificato. Richiede `enable_file_checkpointing=True`. Vedi [File checkpointing](/docs/it/agent-sdk/file-checkpointing) |536| `rewind_files(user_message_id)` | Ripristina i file al loro stato al messaggio utente specificato. Richiede `enable_file_checkpointing=True`. Vedi [File checkpointing](/docs/it/agent-sdk/file-checkpointing) |

537| `get_mcp_status()` | Ottieni lo stato di tutti i server MCP configurati. Restituisce [`McpStatusResponse`](#mcpstatusresponse) |537| `get_mcp_status()` | Ottieni lo stato di tutti i server MCP configurati. Restituisce [`McpStatusResponse`](#mcpstatusresponse) |

538| `get_context_usage()` | Ottieni una suddivisione dell'utilizzo della finestra di contesto per categoria, skill e strumento. Gli stessi dati che `/context` mostra in una sessione interattiva. Restituisce [`ContextUsageResponse`](#contextusageresponse). Per calcolare la suddivisione, Claude Code effettua diverse richieste API di conteggio dei token che non compaiono nel flusso di messaggi; vedi [come vengono gestite queste richieste](#contextusageresponse) |538| `get_context_usage()` | Ottieni una suddivisione dell'utilizzo della finestra di contesto per categoria, skill e strumento. Include i dati che `/context` mostra in una sessione interattiva. Restituisce [`ContextUsageResponse`](#contextusageresponse). Per calcolare la suddivisione, Claude Code effettua diverse richieste API di conteggio dei token che non compaiono nel flusso di messaggi; vedi [come vengono gestite queste richieste](#contextusageresponse) |

539| `reconnect_mcp_server(server_name)` | Riprova a connettersi a un server MCP che ha fallito o è stato disconnesso |539| `reconnect_mcp_server(server_name)` | Riprova a connettersi a un server MCP che ha fallito o è stato disconnesso |

540| `toggle_mcp_server(server_name, enabled)` | Abilita o disabilita un server MCP a metà sessione. La disabilitazione di un server stdio, SSE o HTTP rimuove i suoi strumenti |540| `toggle_mcp_server(server_name, enabled)` | Abilita o disabilita un server MCP a metà sessione. La disabilitazione di un server stdio, SSE o HTTP rimuove i suoi strumenti |

541| `stop_task(task_id)` | Interrompi un'attività in background in esecuzione. Un [`TaskNotificationMessage`](#tasknotificationmessage) con stato `"stopped"` segue nel flusso di messaggi |541| `stop_task(task_id)` | Interrompi un'attività in background in esecuzione. Un [`TaskNotificationMessage`](#tasknotificationmessage) con stato `"stopped"` segue nel flusso di messaggi |


872| Proprietà | Tipo | Predefinito | Descrizione |872| Proprietà | Tipo | Predefinito | Descrizione |

873| :- | :- | :- | :- |873| :- | :- | :- | :- |

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

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

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

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

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


1524 1524 

1525### `ContextUsageResponse`1525### `ContextUsageResponse`

1526 1526 

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

1528 1528 

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

1530 1530 


1715 1715 

1716Diversi campi portano dettagli diagnostici su come la conversazione è terminata:1716Diversi campi portano dettagli diagnostici su come la conversazione è terminata:

1717 1717 

1718* `is_error`: `True` quando la conversazione è terminata in uno stato di errore. Sempre `True` sui subtype `error_*`. Su `subtype="success"` è `True` quando la richiesta del modello finale ha fallito, il che significa che il ciclo dell'agente è stato completato ma l'ultima chiamata API ha restituito un errore.1718* `is_error`: `True` quando la conversazione è terminata in uno stato di errore. Sempre `True` sui subtype `error_*`. Su `subtype="success"` è `True` in tre casi. Controlla `stop_reason` per distinguerli:

1719 * `"refusal"`: il modello si è rifiutato di rispondere. Leggi il testo del rifiuto in `result`, o nell'`AssistantMessage` precedente quando `result` è vuoto.

1720 * `"tool_deferred_unavailable"`: lo [strumento differito](/docs/it/hooks#defer-a-tool-call-for-later) non era più disponibile quando hai ripreso la sessione, ad esempio perché il suo server MCP non era connesso. Nei due casi seguenti, un prompt che invii dopo la ripresa conta allo stesso modo di uno passato con la ripresa:

1721 * Nessun prompt: la chiamata è ancora in sospeso. Rendi disponibile lo strumento e riprendi di nuovo senza un prompt, e la chiamata viene eseguita per prima.

1722 * Un prompt: Claude Code risponde senza il risultato dello strumento, e la chiamata differita viene persa. Invia un nuovo prompt se hai ancora bisogno che lo strumento venga chiamato.

1723 * Qualsiasi altro valore: il turno è terminato con un errore che Claude Code ha segnalato al posto di una risposta del modello, come un errore API. Leggi `terminal_reason` per la causa, `result` per il messaggio e `api_error_status` per lo stato HTTP quando l'API ne ha restituito uno.

1719* `api_error_status`: il codice di stato HTTP dell'errore API terminale. `None` quando il turno è terminato senza uno. Popolato solo su `subtype="success"`.1724* `api_error_status`: il codice di stato HTTP dell'errore API terminale. `None` quando il turno è terminato senza uno. Popolato solo su `subtype="success"`.

1720* `result`: testo del messaggio dell'assistente finale su `subtype="success"`, o `None` sui subtype `error_*`. Quando `subtype="success"` e `is_error=True`, questo contiene la stringa di errore API se disponibile ma può essere vuoto, quindi controlla `api_error_status` e il contenuto di `AssistantMessage` precedente per i dettagli.1725* `result`: testo del messaggio dell'assistente finale su `subtype="success"`, o `None` sui subtype `error_*`. Quando `subtype="success"` e `is_error=True`, questo contiene la stringa di errore API se disponibile ma può essere vuoto, quindi controlla `api_error_status` e il contenuto di `AssistantMessage` precedente per i dettagli.

1721* `errors`: stringhe di errore a livello di ciclo come il messaggio max-turns. Popolato solo sui subtype `error_*`.1726* `errors`: stringhe di errore a livello di ciclo come il messaggio max-turns. Popolato solo sui subtype `error_*`.


2062 errors: list[str] # an empty list when the result message reported none2067 errors: list[str] # an empty list when the result message reported none

2063 result: str | None2068 result: str | None

2064 api_error_status: int | None2069 api_error_status: int | None

2065 terminal_reason: str | None # "max_turns", "api_error", ...; check this before subtype2070 terminal_reason: str | None # "max_turns", "api_error", ...; check after data["stop_reason"], before subtype

2066 session_id: str | None2071 session_id: str | None

2067 data: dict[str, Any] # the raw result message payload2072 data: dict[str, Any] # the raw result message payload

2068```2073```

2069 2074 

2070Per distinguere i fallimenti, controlla `terminal_reason` prima di `subtype`. Quando la richiesta finale fallisce, ad esempio su un errore API, Claude Code segnala `subtype` `"success"` con la causa in `terminal_reason`, ad esempio `"api_error"`; quando un limite che hai impostato termina l'esecuzione, come `max_turns` o `max_budget_usd`, segnala un `subtype` di tipo `error_*`.2075Per distinguere i fallimenti, controlla prima `data["stop_reason"]`, poi `terminal_reason`, poi `subtype`. Una risposta rifiutata ha `stop_reason` `"refusal"`, di solito con `subtype` `"success"`; il suo `terminal_reason` non la distingue e può valere `"completed"` o `"api_error"`. Una richiesta finale fallita ha `subtype` `"success"` e la sua causa in `terminal_reason`, ad esempio `"api_error"` per un errore API. Quando l'esecuzione raggiunge un limite che hai impostato, come `max_turns` o `max_budget_usd`, ottieni un `subtype` di tipo `error_*`.

2071 2076 

2072### `CLIJSONDecodeError`2077### `CLIJSONDecodeError`

2073 2078 


2574 "subagent_type": str | None, # Il tipo di agente specializzato da utilizzare2579 "subagent_type": str | None, # Il tipo di agente specializzato da utilizzare

2575 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # Override del modello per questo agente2580 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # Override del modello per questo agente

2576 "effort": "low" | "medium" | "high" | "xhigh" | "max" | None, # Sforzo di ragionamento per questo agente2581 "effort": "low" | "medium" | "high" | "xhigh" | "max" | None, # Sforzo di ragionamento per questo agente

2577 "run_in_background": bool | None, # Gli agenti vengono eseguiti in background per impostazione predefinita; impostare su False per eseguire in modo sincrono2582 "run_in_background": bool | None, # Predefinito se omesso: la chiamata del tuo agente principale esegue il nuovo agente in background, mentre la chiamata di un subagent lo attende

2578 "name": str | None, # Nome per l'agente generato2583 "name": str | None, # Nome per l'agente generato

2579 "team_name": str | None, # Deprecato; ignorato2584 "team_name": str | None, # Deprecato; ignorato

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


2584 2589 

2585Avvia un nuovo agente per gestire compiti complessi e multi-step in modo autonomo.2590Avvia un nuovo agente per gestire compiti complessi e multi-step in modo autonomo.

2586 2591 

2592Quando Claude omette `run_in_background` in una chiamata `Agent`, per impostazione predefinita il tuo agente principale non attende il nuovo agente, mentre un subagent lo attende:

2593 

2594* **Dal tuo agente principale**: il nuovo agente viene eseguito in background e il risultato ha `status: "async_launched"`. Per fare in modo che il tuo agente principale attenda invece il nuovo agente, vedi [Scegli se Claude attende i subagent](/docs/it/agent-sdk/subagents#choose-whether-claude-waits-for-subagents).

2595* **Da uno dei tuoi subagent**: il subagent chiamante [attende il nuovo agente](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents). Il nuovo agente viene invece eseguito in background quando la sua definizione imposta [`background`](#agentdefinition) su `True`, oppure quando [disattivi la modalità fork](/docs/it/sub-agents#turn-fork-mode-on-or-off) impostando `CLAUDE_CODE_FORK_SUBAGENT` su `0`.

2596 

2597Prima di Python SDK v0.2.169, anche gli agenti avviati dai tuoi subagent venivano eseguiti in background per impostazione predefinita. Quella release è la prima a includere Claude Code v2.1.302 o successivo.

2598 

2587**Output (status: `"completed"`):**2599**Output (status: `"completed"`):**

2588 2600 

2589```python theme={null}2601```python theme={null}


3519 "Claude Code CLI not found. Try reinstalling: pip install --force-reinstall claude-agent-sdk"3531 "Claude Code CLI not found. Try reinstalling: pip install --force-reinstall claude-agent-sdk"

3520 )3532 )

3521 # Catch ResultError before ProcessError, which it subclasses. Its message3533 # Catch ResultError before ProcessError, which it subclasses. Its message

3522 # carries the error text. A failed final request, such as an API error,3534 # carries the error text. A refusal and a failed final request both usually

3523 # arrives with subtype "success", so branch on terminal_reason first.3535 # arrive with subtype "success", so check stop_reason, then terminal_reason.

3524 except ResultError as e:3536 except ResultError as e:

3525 if e.terminal_reason == "api_error":3537 if e.data.get("stop_reason") == "refusal":

3538 print(f"Model declined to respond: {e}")

3539 elif e.terminal_reason == "api_error":

3526 print(f"API request failed: {e}")3540 print(f"API request failed: {e}")

3527 else:3541 else:

3528 print(f"Query ended with an error result ({e.terminal_reason or e.subtype}): {e}")3542 print(f"Query ended with an error result ({e.terminal_reason or e.subtype}): {e}")

Details

318 318 

319## Limitazioni note319## Limitazioni note

320 320 

321* **Structured output**: con i messaggi parziali abilitati, il JSON viene trasmesso come chunk `input_json_delta` non convalidati di una chiamata di strumento, e solo il risultato convalidato raggiunge il `ResultMessage.structured_output` finale. Vedi [structured outputs](/docs/it/agent-sdk/structured-outputs) per i dettagli.321* **Structured output**: con i messaggi parziali abilitati, il JSON viene trasmesso come chunk `input_json_delta` non convalidati di una chiamata a uno strumento, e solo il risultato convalidato raggiunge il `ResultMessage.structured_output` finale. [Riconoscere la chiamata allo strumento StructuredOutput](/docs/it/agent-sdk/structured-outputs#recognize-the-structuredoutput-tool-call) spiega come quella chiamata appare nel tuo stream.

322 322 

323## Passaggi successivi323## Passaggi successivi

324 324 

Details

368asyncio.run(main())368asyncio.run(main())

369```369```

370 370 

371## Riconoscere la chiamata allo strumento StructuredOutput

372 

373Quando imposti `outputFormat` in TypeScript o `output_format` in Python, il tuo flusso di messaggi contiene una chiamata a uno strumento denominato `StructuredOutput` che non hai mai definito. Claude Code aggiunge questo strumento alla sessione e l'agente lo chiama per restituire la sua risposta. Il [messaggio di sistema init](/docs/it/agent-sdk/typescript#sdksystemmessage) lo elenca nell'array `tools` e ogni chiamata arriva sotto forma di due blocchi:

374 

375* Un blocco `tool_use` denominato `StructuredOutput`, il cui input è l'oggetto prodotto dall'agente per il tuo schema

376* Un blocco `tool_result` con il testo `Structured output provided successfully`

377 

378Quando quell'oggetto non corrisponde al tuo schema, il `tool_result` riporta invece `is_error: true` e l'agente chiama di nuovo `StructuredOutput`, quindi il tuo flusso può contenere diverse chiamate per una singola query. Leggi i dati convalidati da `structured_output` nel messaggio di risultato anziché da un blocco `tool_use` e consulta [Gestione degli errori](#error-handling) per il risultato che ottieni quando nessun tentativo va a buon fine.

379 

380Se la tua applicazione mostra o registra nei log le chiamate agli strumenti, salta quelle denominate `StructuredOutput` in modo che il meccanismo non appaia come un passaggio scelto dall'agente. Un blocco `tool_result` non riporta alcun nome di strumento, ma solo il `tool_use_id` della chiamata a cui risponde, quindi confrontalo con l'`id` di ogni chiamata che hai saltato.

381 

371## Gestione degli errori382## Gestione degli errori

372 383 

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

Details

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

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

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

150| `skills` | `string[]` | No | Elenco di nomi di skill da precaricare nel contesto dell'agente all'avvio. Le skill non elencate rimangono invocabili attraverso lo strumento Skill |150| `skills` | `string[]` | No | Elenco di nomi di skill da precaricare nel contesto dell'agente all'avvio. Vengono precaricati al massimo i [primi 32 nomi distinti](/docs/it/sub-agents#preload-skills-into-subagents) dell'elenco. Le skill non elencate rimangono invocabili attraverso lo strumento Skill |

151| `memory` | `'user' \| 'project' \| 'local'` | No | Fonte di memoria per questo agente |151| `memory` | `'user' \| 'project' \| 'local'` | No | Fonte di memoria per questo agente |

152| `mcpServers` | `(string \| object)[]` | No | Server MCP disponibili per questo agente, per nome o configurazione inline |152| `mcpServers` | `(string \| object)[]` | No | Server MCP disponibili per questo agente, per nome o configurazione inline |

153| `initialPrompt` | `string` | No | Inviato automaticamente come primo turno utente quando questo agente viene eseguito come agente del thread principale. Ignorato quando l'agente viene invocato come subagent |153| `initialPrompt` | `string` | No | Inviato automaticamente come primo turno utente quando questo agente viene eseguito come agente del thread principale. Ignorato quando l'agente viene invocato come subagent |


323 323 

324Claude invoca i subagent tramite lo strumento Agent. Per rilevare quando un subagent viene invocato, verifica i blocchi `tool_use` dove `name` è `"Agent"`.324Claude invoca i subagent tramite lo strumento Agent. Per rilevare quando un subagent viene invocato, verifica i blocchi `tool_use` dove `name` è `"Agent"`.

325 325 

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

327 327 

328> [!NOTE]328> [!NOTE]

329>329>

Details

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

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

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

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

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

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

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


863 863 

864### `SDKControlGetContextUsageResponse`864### `SDKControlGetContextUsageResponse`

865 865 

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

867 867 

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

869 869 


872 872 

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

874 874 

875In `SDKControlGetContextUsageResponse`, `categories[].id`, `mcpInstructions` e i campi `pluginId` e `path` delle voci di `agents` e `skills.skillFrontmatter` richiedono Agent SDK v0.3.304 o successivo.

876 

875```typescript theme={null}877```typescript theme={null}

876type SDKControlGetContextUsageResponse = {878type SDKControlGetContextUsageResponse = {

877 categories: {879 categories: {

880 id?:

881 | "system_prompt"

882 | "system_tools"

883 | "mcp_tools"

884 | "mcp_instructions"

885 | "mcp_tools_deferred"

886 | "system_tools_deferred"

887 | "custom_agents"

888 | "memory_files"

889 | "skills"

890 | "messages"

891 | "autocompact_buffer"

892 | "compact_buffer"

893 | "free_space";

878 name: string;894 name: string;

879 tokens: number;895 tokens: number;

880 color: string;896 color: string;


905 tokens: number;921 tokens: number;

906 isLoaded?: boolean;922 isLoaded?: boolean;

907 }[];923 }[];

924 mcpInstructions?: {

925 serverName: string;

926 tokens: number;

927 }[];

908 deferredBuiltinTools?: {928 deferredBuiltinTools?: {

909 name: string;929 name: string;

910 tokens: number;930 tokens: number;


921 agents: {941 agents: {

922 agentType: string;942 agentType: string;

923 source: string;943 source: string;

944 pluginId?: string;

945 path?: string;

924 tokens: number;946 tokens: number;

925 }[];947 }[];

926 slashCommands?: {948 slashCommands?: {


935 skillFrontmatter: {957 skillFrontmatter: {

936 name: string;958 name: string;

937 source: string;959 source: string;

960 pluginName?: string;

961 pluginId?: string;

962 path?: string;

938 tokens: number;963 tokens: number;

939 }[];964 }[];

940 };965 };


978 1003 

979Claude Code lascia non impostate le diagnostiche facoltative `deferredBuiltinTools`, `systemTools` e `systemPromptSections`, quindi aspettati che siano assenti anche se il tipo le dichiara.1004Claude Code lascia non impostate le diagnostiche facoltative `deferredBuiltinTools`, `systemTools` e `systemPromptSections`, quindi aspettati che siano assenti anche se il tipo le dichiara.

980 1005 

1006#### Trovare una riga per ID, i token delle istruzioni di un server o il plugin e il file di una voce

1007 

1008Le istruzioni dei server MCP sono le note d'uso che i server connessi forniscono e che Claude Code aggiunge al contesto, e la riga `mcp_instructions` di `categories` ne conta i token. Usa questi campi di [`getContextUsage()`](#query-object) per individuare una riga di `categories` tramite `id`, suddividere i token di `mcp_instructions` per server o trovare il plugin e il file dietro una voce di agente o skill:

1009 

1010| Campo | Dove si trova | Cosa contiene |

1011| :- | :- | :- |

1012| `id` | Ogni riga di `categories` | L'identificatore della riga, uno dei valori elencati dal [tipo di risposta](#sdkcontrolgetcontextusageresponse), come `mcp_instructions`. Confronta `id` per individuare una riga, oppure `kind` per raggruppare le righe. Una versione successiva di Claude Code può inviare un valore non elencato nei tipi installati, quindi tratta un `id` che non riconosci come assente |

1013| `mcpInstructions` | La risposta | Una voce `{ serverName, tokens }` per ogni server MCP connesso che fornisce istruzioni, oppure un array vuoto quando nessuno lo fa. I valori `tokens` sono stime la cui somma corrisponde ai `tokens` della riga `mcp_instructions`. `serverName` è il `name` che [`mcpServerStatus()`](#query-object) riporta per quel server |

1014| `pluginId` | Voci di `agents` e `skills.skillFrontmatter` | Indica il plugin da cui proviene la voce, come ID nella forma `name@marketplace`, ed è assente per una voce che non proviene da un plugin. Quando il plugin non proviene da un marketplace, la parte dopo `@` indica invece [la sua origine](/docs/it/plugins/loading#find-where-a-plugin-came-from), ad esempio `inline` per un plugin caricato tramite l'opzione [`plugins`](#options) |

1015| `path` | Voci di `agents` e `skills.skillFrontmatter` | Percorso assoluto del file che definisce l'agente o la skill, sulla macchina in cui viene eseguito Claude Code. Il campo è assente quando nessun file definisce la voce, ad esempio un agente dall'opzione [`agents`](#options) o una skill integrata in Claude Code |

1016 

1017Come esempio di confronto su `id`, questo esempio trova la riga `mcp_instructions`:

1018 

1019```typescript theme={null}

1020// q is the Query object that query() returned

1021const usage = await q.getContextUsage();

1022// undefined if no connected server supplies instructions

1023const row = usage.categories.find((c) => c.id === "mcp_instructions");

1024```

1025 

981### `SDKControlReadFileResponse`1026### `SDKControlReadFileResponse`

982 1027 

983Tipo restituito da [`readFile()`](#query-object).1028Tipo restituito da [`readFile()`](#query-object).


2991 3036 

2992Documentazione degli schemi di input per i tool Claude Code incorporati. Questi tipi vengono esportati da `@anthropic-ai/claude-agent-sdk/sdk-tools` e possono essere usati per le interazioni dei tool type-safe.3037Documentazione degli schemi di input per i tool Claude Code incorporati. Questi tipi vengono esportati da `@anthropic-ai/claude-agent-sdk/sdk-tools` e possono essere usati per le interazioni dei tool type-safe.

2993 3038 

3039Lo strumento `StructuredOutput` non ha un tipo qui: Claude Code costruisce il suo schema di input a partire dallo schema che passi a `outputFormat`, quindi non c'è nulla di fisso da esportare. Vedi [Riconoscere la chiamata allo strumento StructuredOutput](/docs/it/agent-sdk/structured-outputs#recognize-the-structuredoutput-tool-call) per l'aspetto di quella chiamata nel tuo flusso di messaggi.

3040 

2994### `ToolInputSchemas`3041### `ToolInputSchemas`

2995 3042 

2996Unione di tipi di input dei tool esportati da `@anthropic-ai/claude-agent-sdk/sdk-tools`; i membri includono:3043Unione di tipi di input dei tool esportati da `@anthropic-ai/claude-agent-sdk/sdk-tools`; i membri includono:


5206* **Server non indicati dalla chiamata**: al di fuori di una [sessione cloud](/docs/it/claude-code-on-the-web), Claude Code disconnette i server aggiunti da una precedente chiamata `setMcpServers()` e i server SDK in-process, e li elenca in `removed`. Gli altri server continuano a funzionare e non sono elencati in `removed`, tra cui i server stdio, HTTP e SSE dell'opzione [`mcpServers`](#options), i server dei file di impostazioni e i server forniti dai plugin.5253* **Server non indicati dalla chiamata**: al di fuori di una [sessione cloud](/docs/it/claude-code-on-the-web), Claude Code disconnette i server aggiunti da una precedente chiamata `setMcpServers()` e i server SDK in-process, e li elenca in `removed`. Gli altri server continuano a funzionare e non sono elencati in `removed`, tra cui i server stdio, HTTP e SSE dell'opzione [`mcpServers`](#options), i server dei file di impostazioni e i server forniti dai plugin.

5207* **Server indicati dalla chiamata**: Claude Code sostituisce un server stdio, HTTP o SSE aggiunto da una precedente chiamata `setMcpServers()` solo quando la sua configurazione differisce da quella che hai passato. Un server SDK in-process già registrato con quel nome rimane invariato, quindi per sostituirne uno, omettilo in una chiamata e aggiungilo in quella successiva.5254* **Server indicati dalla chiamata**: Claude Code sostituisce un server stdio, HTTP o SSE aggiunto da una precedente chiamata `setMcpServers()` solo quando la sua configurazione differisce da quella che hai passato. Un server SDK in-process già registrato con quel nome rimane invariato, quindi per sostituirne uno, omettilo in una chiamata e aggiungilo in quella successiva.

5208* **Server integrati avviati dalla CLI all'avvio**: se la chiamata ne indica uno, Claude Code scarta quella voce e la riporta in `errors`.5255* **Server integrati avviati dalla CLI all'avvio**: se la chiamata ne indica uno, Claude Code scarta quella voce e la riporta in `errors`.

5256* **Server stdio, HTTP o SSE che condividono il nome con un server di un ambito di installazione MCP come `.mcp.json`**: con quel nome la sessione usa gli strumenti del tuo server anziché quelli del [server dell'ambito di installazione](/docs/it/mcp#mcp-installation-scopes). Prima di Claude Code v2.1.305, Claude Code poteva disconnettere il tuo server e connettere il server dell'ambito di installazione quando la tua app [ricaricava i plugin](#query-object).

5209 5257 

5210La promise si risolve dopo che i server stdio, HTTP e SSE appena aggiunti si sono connessi o non sono riusciti a farlo, quindi gli strumenti dei server che si sono connessi sono disponibili al turno successivo.5258La promise si risolve dopo che i server stdio, HTTP e SSE appena aggiunti si sono connessi o non sono riusciti a farlo, quindi gli strumenti dei server che si sono connessi sono disponibili al turno successivo.

5211 5259 

agent-teams.md +53 −51

Details

34| | Subagents | Team di agenti |34| | Subagents | Team di agenti |

35| :- | :- | :- |35| :- | :- | :- |

36| **Context** | Context window proprio; i risultati tornano al chiamante | Context window proprio; completamente indipendente |36| **Context** | Context window proprio; i risultati tornano al chiamante | Context window proprio; completamente indipendente |

37| **Comunicazione** | Riportano un risultato al chiamante. I subagents che Claude ha nominato quando li ha generati possono anche [messaggiarsi tra loro](/docs/it/sub-agents#what-loads-at-startup) | I compagni di team si messaggiano direttamente |37| **Comunicazione** | Riportano un risultato al chiamante. I subagent a cui Claude ha [dato un nome](/docs/it/sub-agents#subagent-names) quando li ha generati possono anche [scambiarsi messaggi](/docs/it/sub-agents#what-loads-at-startup) | I compagni di team si scambiano messaggi direttamente |

38| **Coordinamento** | Il main agent gestisce tutto il lavoro | Auto-coordinamento attraverso messaggi, più un elenco di attività condiviso per [agenti che dispongono dei tools Task](/docs/it/tools-reference#task-tool-availability) |38| **Coordinamento** | Il main agent gestisce tutto il lavoro | Auto-coordinamento attraverso messaggi, più un elenco di attività condiviso per [agenti che dispongono dei tools Task](/docs/it/tools-reference#task-tool-availability) |

39| **Migliore per** | Attività focalizzate dove conta solo il risultato | Lavoro complesso che richiede discussione e collaborazione |39| **Migliore per** | Attività focalizzate dove conta solo il risultato | Lavoro complesso che richiede discussione e collaborazione |

40| **Costo in token** | Inferiore: i risultati sono sintetizzati nel contesto principale | Superiore: ogni compagno di team è un'istanza Claude separata |40| **Costo in token** | Inferiore: i risultati sono sintetizzati nel contesto principale | Superiore: ogni compagno di team è un'istanza Claude separata |


166Spawn an architect teammate to refactor the authentication module.166Spawn an architect teammate to refactor the authentication module.

167```167```

168 168 

169Quando un compagno di team finisce di pianificare, invia una richiesta di approvazione del piano al lead. Claude Code approva il piano nella sessione del lead non appena la richiesta arriva, senza che il lead lo esamini. Gli edit e i comandi del compagno di team passano comunque attraverso i prompt di permesso descritti in [Permissions](#permissions). Una volta approvato, il compagno di team esce dalla plan mode e inizia l'implementazione.169Quando quel compagno di team finisce di pianificare, invia una richiesta di approvazione del piano al lead. Se non hai cambiato la modalità di permesso di quel compagno di team da quando è stato generato, Claude Code approva il piano non appena arriva la richiesta, senza che il lead lo esamini. Le modifiche e i comandi del compagno di team passano comunque attraverso le richieste di permesso descritte in [Permessi](#permissions). Una volta approvato il piano, il compagno di team esce dal plan mode e inizia l'implementazione.

170 

171Se metti in plan mode un compagno di team in-process in esecuzione premendo [`Shift+Tab`](/docs/it/permission-modes#switch-permission-modes) mentre visualizzi la sua sessione, è il lead a esaminare il piano di quell'esecuzione invece di Claude Code che lo approva. Non ti viene chiesto di approvarlo; il lead lo approva o lo rimanda indietro per una revisione.

170 172 

171### Parlare direttamente con i compagni di team173### Parlare direttamente con i compagni di team

172 174 


217 219 

218## Come funzionano i team di agenti220## Come funzionano i team di agenti

219 221 

220Questa sezione copre l'architettura e la meccanica dietro i team di agenti. Se desiderate iniziare a utilizzarli, consultate [Controllare il vostro team di agenti](#control-your-agent-team) sopra.222Questa sezione descrive l'architettura e i meccanismi alla base dei team di agenti. Se vuoi iniziare a usarli, consulta [Controlla il tuo team di agenti](#control-your-agent-team) più sopra.

221 223 

222### Come Claude avvia i team di agenti224### Come Claude avvia i team di agenti

223 225 

224Per avviare un team, chiedete a Claude dei compagni di team. Claude avvia un compagno di team quando chiama lo [strumento Agent](/docs/it/tools-reference) con un [`name`](/docs/it/sub-agents#subagent-names) mentre i team di agenti sono abilitati, a meno che la chiamata non sia un [fork](/docs/it/sub-agents#fork-the-current-conversation) o passi `isolation` sulla chiamata stessa. Claude Code non vi chiede di confermare l'avvio.226Per avviare un team, chiedi a Claude dei compagni di squadra. Claude avvia un compagno di squadra quando chiama lo [strumento Agent](/docs/it/tools-reference) con un [`name`](/docs/it/sub-agents#subagent-names) mentre i team di agenti sono abilitati, a meno che la chiamata non sia un [fork](/docs/it/sub-agents#fork-the-current-conversation) o non passi `isolation` nella chiamata stessa. Claude Code non ti chiede di confermare l'avvio.

225 227 

226Claude nomina anche i subagent ordinari autonomamente in modo da poterli messaggiare in seguito. Queste chiamate seguono la stessa regola, quindi i team possono formarsi anche quando non lo avete richiesto. Se preferite subagent, [disabilitate i team di agenti](#claude-spawns-teammates-instead-of-subagents).228Claude assegna anche un nome ai subagent ordinari di propria iniziativa, in modo da poter inviare loro messaggi in seguito. Queste chiamate seguono la stessa regola, quindi i team possono formarsi anche quando non ne hai richiesto uno. Se invece vuoi dei subagent, [disattiva i team di agenti](#claude-spawns-teammates-instead-of-subagents).

227 229 

228### Architettura230### Architettura

229 231 

230Un team di agenti consiste di:232Un team di agenti è composto da:

231 233 

232| Componente | Ruolo |234| Componente | Ruolo |

233| :- | :- |235| :- | :- |

234| **Team lead** | La sessione Claude Code principale che genera compagni di team e coordina il lavoro |236| **Team lead** | La sessione principale di Claude Code che crea i compagni di squadra e coordina il lavoro |

235| **Compagni di team** | Istanze Claude Code separate che lavorano ciascuna su attività assegnate |237| **Compagni di squadra** | Istanze separate di Claude Code, ciascuna delle quali lavora sulle attività assegnate |

236| **Elenco di attività** | Elenco condiviso di elementi di lavoro che i compagni di team rivendicano e completano |238| **Elenco delle attività** | Elenco condiviso di elementi di lavoro che i compagni di squadra prendono in carico e completano |

237| **Mailbox** | Sistema di messaggistica per la comunicazione tra agenti |239| **Casella di posta** | Sistema di messaggistica per la comunicazione tra agenti |

238 240 

239La mailbox di ogni agente è un file JSON in `~/.claude/teams/{team-name}/inboxes/{agent-name}.json`. Claude Code convalida ogni voce quando legge un file mailbox. Le voci che non corrispondono al formato del messaggio vengono segnalate come errori e rimosse dal file; i messaggi validi vengono comunque consegnati.241La casella di posta di ciascun agente è un file JSON in `~/.claude/teams/{team-name}/inboxes/{agent-name}.json`. Claude Code convalida ogni voce quando legge un file di casella di posta. Le voci che non corrispondono al formato dei messaggi vengono segnalate come errori e rimosse dal file; i messaggi validi vengono comunque recapitati.

240 242 

241Claude Code segnala un messaggio come inviato solo quando la scrittura nel file mailbox del destinatario ha successo, sia che il messaggio sia testo semplice o un messaggio di protocollo strutturato come un'approvazione del piano o una richiesta di arresto. Quando la scrittura fallisce, ad esempio perché il disco è pieno o la directory della mailbox non è scrivibile, l'agente mittente riceve un errore e nulla viene inviato. Consultate [Impossibile scrivere nella inbox di un compagno di team](/docs/it/errors#failed-to-write-to-a-teammate-inbox) per i messaggi di errore e i passaggi di recupero.243Claude Code segnala un messaggio come inviato solo quando la scrittura nel file della casella di posta del destinatario va a buon fine, sia che il messaggio sia testo semplice sia che si tratti di un messaggio di protocollo strutturato come un'approvazione del piano o una richiesta di arresto. Quando la scrittura non riesce, ad esempio perché il disco è pieno o la directory della casella di posta non è scrivibile, l'agente mittente riceve un errore e non viene inviato nulla. Consulta [Failed to write to a teammate's inbox](/docs/it/errors#failed-to-write-to-a-teammate-inbox) per i messaggi di errore e i passaggi di ripristino.

242 244 

243Claude Code gestisce le dipendenze delle attività automaticamente: quando un compagno di team completa un'attività da cui altre attività dipendono, sblocca le attività dipendenti senza alcuna azione da parte vostra.245Claude Code gestisce automaticamente le dipendenze tra le attività: quando un compagno di squadra completa un'attività da cui dipendono altre attività, sblocca le attività dipendenti senza alcun intervento da parte tua.

244 246 

245I team e le attività sono archiviati localmente con un nome derivato dalla sessione. Il nome è `session-` seguito dai primi otto caratteri dell'ID della sessione:247I team e le attività vengono archiviati localmente con un nome derivato dalla sessione. Il nome è `session-` seguito dai primi otto caratteri dell'ID della sessione:

246 248 

247* **Configurazione del team**: `~/.claude/teams/{team-name}/config.json`. Claude Code rimuove la directory di configurazione del team quando la sessione termina.249* **Configurazione del team**: `~/.claude/teams/{team-name}/config.json`. Claude Code rimuove la directory di configurazione del team al termine della sessione.

248* **Elenco di attività**: `~/.claude/tasks/{team-name}/`. Questa directory resta su disco dopo la fine della sessione. Per modificare [per quanto tempo Claude Code la conserva](/docs/it/claude-directory#cleaned-up-automatically), imposta [`cleanupPeriodDays`](/docs/it/settings-reference#cleanupperioddays).250* **Elenco delle attività**: `~/.claude/tasks/{team-name}/`. Questa directory rimane sul disco dopo la fine della sessione. Per modificare [per quanto tempo Claude Code la conserva](/docs/it/claude-directory#cleaned-up-automatically), imposta [`cleanupPeriodDays`](/docs/it/settings-reference#cleanupperioddays).

249 251 

250Claude Code genera entrambi automaticamente all'avvio della sessione e li aggiorna man mano che i compagni di team si uniscono, diventano inattivi o se ne vanno.252Claude Code genera entrambi automaticamente all'avvio della sessione e li aggiorna man mano che i compagni di squadra si uniscono, diventano inattivi o se ne vanno.

251 253 

252La configurazione del team contiene lo stato di runtime come gli ID di sessione e gli ID dei riquadri tmux, quindi non modificatela manualmente o pre-autorizzatela: le vostre modifiche vengono sovrascritte al prossimo aggiornamento dello stato.254La configurazione del team contiene lo stato di runtime, come gli ID delle sessioni e gli ID dei pannelli tmux, quindi non modificarla a mano e non crearla in anticipo: le tue modifiche vengono sovrascritte al successivo aggiornamento dello stato.

253 255 

254Per definire ruoli di compagni di team riutilizzabili, utilizzate invece [definizioni di subagent](#use-subagent-definitions-for-teammates).256Per definire ruoli riutilizzabili per i compagni di squadra, usa invece le [definizioni dei subagent](#use-subagent-definitions-for-teammates).

255 257 

256La configurazione del team contiene un array `members` con il nome di ogni compagno di team e l'ID dell'agente. L'entry del lead porta sempre il tipo di agente `team-lead`. L'entry di un compagno di team porta qualsiasi tipo di agente il lead ha denominato quando lo ha generato, sia un [tipo built-in](/docs/it/sub-agents#built-in-subagents) o una [definizione di subagent](#use-subagent-definitions-for-teammates), e omette il campo quando il lead non ne ha denominato nessuno. I compagni di team possono leggere questo file per scoprire altri membri del team.258La configurazione del team contiene un array `members` con il nome e l'ID agente di ciascun membro. La voce del lead ha sempre il tipo di agente `team-lead`. La voce di un compagno di squadra riporta il tipo di agente indicato dal lead al momento della creazione, che si tratti di un [tipo integrato](/docs/it/sub-agents#built-in-subagents) o di una [definizione di subagent](#use-subagent-definitions-for-teammates), e omette il campo quando il lead non ne ha indicato nessuno. I compagni di squadra possono leggere questo file per scoprire gli altri membri del team.

257 259 

258Non esiste un equivalente a livello di progetto della configurazione del team. Un file come `.claude/teams/teams.json` nella vostra directory di progetto non è riconosciuto come configurazione; Claude lo tratta come un file ordinario.260Non esiste un equivalente a livello di progetto della configurazione del team. Un file come `.claude/teams/teams.json` nella directory del tuo progetto non viene riconosciuto come configurazione; Claude lo tratta come un file ordinario.

259 261 

260### Utilizzare definizioni di subagent per i compagni di team262### Usa le definizioni dei subagent per i compagni di squadra

261 263 

262Quando generi un compagno di team in una qualsiasi modalità di visualizzazione, puoi fare riferimento a un tipo di [subagent](/docs/it/sub-agents) dall'[ambito di subagent](/docs/it/sub-agents#choose-the-subagent-scope) di progetto, utente, gestito o plugin. Questo ti permette di definire un ruolo una sola volta, come un security-reviewer o un test-runner, e riutilizzarlo sia come subagent delegato sia come compagno di team di un team di agenti.264Quando crei un compagno di squadra in una qualsiasi delle due modalità di visualizzazione, puoi fare riferimento a un tipo di [subagent](/docs/it/sub-agents) dall'[ambito dei subagent](/docs/it/sub-agents#choose-the-subagent-scope) di progetto, utente, gestito o di plugin. In questo modo puoi definire un ruolo una sola volta, ad esempio un security-reviewer o un test-runner, e riutilizzarlo sia come subagent delegato sia come compagno di squadra in un team di agenti.

263 265 

264Per utilizzare una definizione di subagent, menzionatela per nome quando chiedete a Claude di generare il compagno di team:266Per usare una definizione di subagent, indicala per nome quando chiedi a Claude di creare il compagno di squadra:

265 267 

266```text wrap theme={null}268```text wrap theme={null}

267Spawn a teammate using the security-reviewer agent type to audit the auth module.269Spawn a teammate using the security-reviewer agent type to audit the auth module.

268```270```

269 271 

270Claude Code legge la definizione di subagent che avete denominato e applica queste parti al compagno di team. Dove una parte dipende dalla [modalità di visualizzazione](#choose-a-display-mode) del compagno di team, l'entry lo dice:272Claude Code legge la definizione di subagent che hai indicato e ne applica al compagno di squadra le parti seguenti. Quando una parte dipende dalla [modalità di visualizzazione](#choose-a-display-mode) del compagno di squadra, la voce lo specifica:

271 273 

272* **`tools`**: Claude Code limita il compagno di team agli strumenti nell'elenco `tools` della definizione. Per un compagno di team in-process, Claude Code aggiunge `SendMessage` a quell'elenco, e in una [sessione che ha gli strumenti Task](/docs/it/tools-reference#task-tool-availability) aggiunge anche `TaskCreate`, `TaskGet`, `TaskList` e `TaskUpdate`.274* **`tools`**: Claude Code limita il compagno di squadra agli strumenti presenti nell'elenco `tools` della definizione. Per un compagno di squadra in-process, Claude Code aggiunge `SendMessage` a tale elenco e, in una [sessione che dispone degli strumenti Task](/docs/it/tools-reference#task-tool-availability), aggiunge anche `TaskCreate`, `TaskGet`, `TaskList` e `TaskUpdate`.

273* **`model`**: Claude Code utilizza il `model` della definizione in entrambe le modalità di visualizzazione quando il vostro prompt di generazione non ne nomina uno. Consultate [come Claude Code sceglie il model di un compagno di team](#specify-teammates-and-models).275* **`model`**: Claude Code usa il `model` della definizione in entrambe le modalità di visualizzazione quando il tuo prompt di creazione non ne indica uno. Consulta [come Claude Code sceglie il modello di un compagno di squadra](#specify-teammates-and-models).

274* **`disallowedTools`**: per un compagno di team in-process, Claude Code rimuove gli strumenti presenti in `disallowedTools` della definizione dall'insieme del compagno di team. `SendMessage` e gli strumenti Task che aggiunge restano disponibili anche quando l'elenco li indica.276* **`disallowedTools`**: per un compagno di squadra in-process, Claude Code rimuove dall'insieme del compagno di squadra gli strumenti indicati in `disallowedTools` della definizione. `SendMessage` e gli strumenti Task che aggiunge restano disponibili anche quando l'elenco li indica.

275* **`effort`**: per un compagno di team in-process, Claude Code applica l'[`effort`](/docs/it/sub-agents#supported-frontmatter-fields) della definizione secondo le [regole sull'effort nel frontmatter](/docs/it/model-config#set-the-effort-level).277* **`effort`**: per un compagno di squadra in-process, Claude Code applica l'[`effort`](/docs/it/sub-agents#supported-frontmatter-fields) della definizione secondo le [regole dell'effort nel frontmatter](/docs/it/model-config#set-the-effort-level).

276* **`autoCompactWindow`**: per un compagno di team in-process, Claude Code applica l'[`autoCompactWindow`](/docs/it/sub-agents#supported-frontmatter-fields) della definizione secondo le [regole di quel campo](/docs/it/sub-agents#subagent-auto-compact-window). Un compagno di team split-pane ignora il campo. Richiede Claude Code v2.1.296 o versioni successive.278* **`autoCompactWindow`**: per un compagno di squadra in-process, Claude Code applica l'[`autoCompactWindow`](/docs/it/sub-agents#supported-frontmatter-fields) della definizione secondo le [regole di quel campo](/docs/it/sub-agents#subagent-auto-compact-window). Un compagno di squadra a pannelli divisi ignora il campo. Richiede Claude Code v2.1.296 o versioni successive.

277* **Body**: per un compagno di team in-process, Claude Code aggiunge il body della definizione al suo prompt di sistema predefinito come istruzioni aggiuntive. Per un compagno di team split-pane, Claude Code utilizza il body al posto del suo prompt di sistema predefinito.279* **Corpo**: per un compagno di squadra in-process, Claude Code aggiunge il corpo della definizione al proprio prompt di sistema predefinito come istruzioni aggiuntive. Per un compagno di squadra a pannelli divisi, Claude Code usa il corpo al posto del proprio prompt di sistema predefinito.

278* **`skills`**: Claude Code non applica le `skills` della definizione a un compagno di team in entrambe le modalità di visualizzazione. Il compagno di team carica skills dalle vostre impostazioni di progetto e utente.280* **`skills`**: Claude Code non applica le `skills` della definizione a un compagno di squadra in nessuna delle due modalità di visualizzazione. Il compagno di squadra carica le skill dalle impostazioni del tuo progetto e utente.

279* **`mcpServers`**: per un compagno di team split-pane, Claude Code applica il `mcpServers` della definizione secondo le [regole per quel campo](/docs/it/sub-agents#scope-mcp-servers-to-a-subagent), che coprono anche una sessione avviata con `--agent`. Un compagno di team in-process ignora il campo e carica i server MCP dalle vostre impostazioni di progetto e utente.281* **`mcpServers`**: per un compagno di squadra a pannelli divisi, Claude Code applica i `mcpServers` della definizione secondo le [regole di quel campo](/docs/it/sub-agents#scope-mcp-servers-to-a-subagent), che riguardano anche una sessione avviata con `--agent`. Un compagno di squadra in-process ignora il campo e carica i server MCP dalle impostazioni del tuo progetto e utente.

280 282 

281Quando Claude invia un messaggio a un compagno di team in-process che non è più in esecuzione, Claude Code lo riporta nella stessa sessione, ripristina qualsiasi conversazione salvata per esso e gli dà il messaggio come suo prossimo prompt. Dopo aver ripreso una sessione, i compagni di team non vengono riportati in questo modo, secondo [il limite di ripresa](#limitations).283Quando Claude invia un messaggio a un compagno di squadra in-process che non è più in esecuzione, Claude Code lo riattiva nella stessa sessione, ripristina l'eventuale conversazione salvata per esso e gli fornisce il messaggio come prompt successivo. Dopo aver ripreso una sessione, i compagni di squadra non vengono riattivati in questo modo, secondo [la limitazione sulla ripresa](#limitations).

282 284 

283Per un compagno di team che riporta, Claude Code ri-applica una definizione che proviene dalla directory `.claude/agents/` di un progetto o da una directory `--add-dir` solo se avete [fiducia nella cartella in cui si trova il file dell'agente](/docs/it/permissions#what-runs-before-you-trust-a-folder). Fidarsi di una cartella genitore non conta. Fino ad allora, il compagno di team ritorna senza nessuno degli strumenti o delle istruzioni della definizione, mantenendo solo gli strumenti che Claude Code aggiunge a ogni compagno di team in-process. Consultate [la definizione dell'agente del compagno di team non è stata ripristinata](/docs/it/errors#teammate-agent-definition-not-restored) per il testo della notifica.285Per un compagno di squadra che riattiva, Claude Code riapplica una definizione proveniente dalla directory `.claude/agents/` di un progetto o da una directory `--add-dir` solo se hai [considerato attendibile la cartella in cui si trova il file dell'agente](/docs/it/permissions#what-runs-before-you-trust-a-folder). Considerare attendibile una cartella padre non conta. Fino ad allora, il compagno di squadra torna senza nessuno degli strumenti o delle istruzioni della definizione, mantenendo solo gli strumenti che Claude Code aggiunge a ogni compagno di squadra in-process. Consulta [the teammate's agent definition was not restored](/docs/it/errors#teammate-agent-definition-not-restored) per il testo dell'avviso.

284 286 

285### Permessi287### Permessi

286 288 

287I compagni di team iniziano con la modalità di permesso del lead, eccetto la modalità [`dontAsk`](/docs/it/permission-modes#allow-only-pre-approved-tools-with-dontask-mode), che non ereditano. Se il lead viene eseguito con `--dangerously-skip-permissions`, lo fanno anche tutti i compagni di team. Dopo la generazione, potete cambiare la modalità di permesso di un singolo compagno di team, ma non potete impostare modalità di permesso per compagno di team al momento della generazione.289I compagni di squadra partono con la modalità di permesso del lead, ad eccezione della [modalità `dontAsk`](/docs/it/permission-modes#allow-only-pre-approved-tools-with-dontask-mode), che non ereditano. Se il lead viene eseguito con `--dangerously-skip-permissions`, lo sono anche tutti i compagni di squadra. Dopo la creazione, puoi modificare la modalità di permesso di un singolo compagno di squadra, ma non puoi impostare modalità di permesso specifiche per ciascun compagno di squadra al momento della creazione.

288 290 

289I prompt di permesso dei compagni di team risalgono alla sessione lead, quindi approvate voi stessi lì. [Approvazione del piano](#have-teammates-plan-before-implementing) è l'eccezione progettata: la sessione lead concede le approvazioni del piano dei compagni di team senza un prompt separato per voi.291Le richieste di permesso dei compagni di squadra compaiono nella sessione del lead, quindi approvale lì personalmente. Non è necessario approvare [il piano di un compagno di squadra](#have-teammates-plan-before-implementing).

290 292 

291#### Messaggi tra agenti293#### Messaggi tra agenti

292 294 

293Quando un agente invia un messaggio a un altro tramite `SendMessage`, Claude Code dice all'agente ricevente che il messaggio proviene da un'altra sessione Claude, non da voi. Un compagno di team non può approvare un prompt di permesso o fornire consenso per vostro conto, e un compagno di team a cui è stata negata un'azione non può trasmetterla a un altro compagno di team per aggirare il controllo. Le stesse regole si applicano a un messaggio che arriva da [una delle vostre altre sessioni Claude Code](/docs/it/cross-session-messaging#how-a-session-treats-an-incoming-message), al di fuori del team interamente.295Quando un agente invia un messaggio a un altro tramite `SendMessage`, Claude Code comunica all'agente destinatario che il messaggio proviene da un'altra sessione di Claude, non da te. Un compagno di squadra non può approvare una richiesta di permesso né fornire il consenso per tuo conto, e un compagno di squadra a cui è stata negata un'azione non può inoltrarla a un altro compagno di squadra per aggirare il controllo. Le stesse regole si applicano a un messaggio che arriva da [una delle tue altre sessioni di Claude Code](/docs/it/cross-session-messaging#how-a-session-treats-an-incoming-message), del tutto esterna al team.

294 296 

295In [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode), il classificatore applica due controlli ai messaggi tra agenti:297In [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode), il classificatore applica due controlli ai messaggi tra agenti:

296 298 

297* Tratta un'approvazione inoltrata da un altro agente come input non attendibile piuttosto che come conferma da voi.299* Tratta un'affermazione di approvazione inoltrata da un altro agente come input non attendibile anziché come una tua conferma.

298* Esamina ogni messaggio prima che Claude Code lo consegni, sia un messaggio semplice o un messaggio di protocollo strutturato come una richiesta di arresto o una risposta di approvazione del piano. Un messaggio che blocca non raggiunge mai il destinatario.300* Esamina ogni messaggio prima che Claude Code lo recapiti, che si tratti di un messaggio semplice o di un messaggio di protocollo strutturato come una richiesta di arresto o una risposta di approvazione del piano. Un messaggio che blocca non raggiunge mai il destinatario.

299 301 

300### Context e comunicazione302### Contesto e comunicazione

301 303 

302Ogni compagno di team ha il proprio context window. Quando generato, un compagno di team carica lo stesso contesto di progetto di una sessione regolare: CLAUDE.md, MCP servers e skills. Se avviate il lead con [`--setting-sources`](/docs/it/cli-reference#cli-flags), i compagni di team caricano dalla stessa lista ristretta di fonti. Prima della v2.1.281, i compagni di team [split-pane](#choose-a-display-mode) caricavano ogni fonte di impostazioni.304Ogni compagno di squadra ha la propria finestra di contesto. Al momento della creazione, un compagno di squadra carica lo stesso contesto di progetto di una sessione normale: CLAUDE.md, server MCP e skill. Se avvii il lead con [`--setting-sources`](/docs/it/cli-reference#cli-flags), i compagni di squadra caricano dallo stesso elenco ristretto di origini. Prima della v2.1.281, i compagni di squadra [a pannelli divisi](#choose-a-display-mode) caricavano tutte le origini delle impostazioni.

303 305 

304Un compagno di team riceve anche il prompt di generazione dal lead. La cronologia della conversazione del lead non viene trasferita.306Un compagno di squadra riceve anche il prompt di creazione dal lead. La cronologia della conversazione del lead non viene trasferita.

305 307 

306**Come i compagni di team condividono le informazioni:**308**Come i compagni di squadra condividono le informazioni:**

307 309 

308* **Consegna automatica dei messaggi**: quando i compagni di team inviano messaggi, vengono consegnati automaticamente ai destinatari. Il lead non ha bisogno di eseguire il polling per gli aggiornamenti.310* **Recapito automatico dei messaggi**: quando i compagni di squadra inviano messaggi, questi vengono recapitati automaticamente ai destinatari. Il lead non deve controllare periodicamente la presenza di aggiornamenti.

309* **Notifiche di inattività**: quando un compagno di team finisce e si ferma, notifica automaticamente il lead e include la sua risposta finale nella notifica. Un compagno di team la cui sessione termina a causa di un errore API notifica al lead che ha avuto un errore e include il testo dell'errore.311* **Notifiche di inattività**: quando un compagno di squadra termina e si ferma, avvisa automaticamente il lead e include la propria risposta finale nella notifica. Un compagno di squadra il cui turno termina con un errore API avvisa il lead di non essere riuscito e include il testo dell'errore.

310* **Elenco di attività condiviso**: [agenti che hanno gli strumenti Task](/docs/it/tools-reference#task-tool-availability) possono vedere lo stato delle attività e rivendicare il lavoro disponibile.312* **Elenco delle attività condiviso**: gli [agenti che dispongono degli strumenti Task](/docs/it/tools-reference#task-tool-availability) possono vedere lo stato delle attività e prendere in carico il lavoro disponibile.

311* **Messaggistica dei compagni di team**: invia un messaggio a un compagno di team specifico per nome. Per raggiungere tutti, inviate un messaggio per destinatario.313* **Messaggistica tra compagni di squadra**: invia un messaggio a uno specifico compagno di squadra indicandone il nome. Per raggiungere tutti, invia un messaggio per ciascun destinatario.

312 314 

313Il lead assegna a ogni compagno di team un nome quando lo genera, e qualsiasi compagno di team può messaggiare qualsiasi altro per quel nome. Per ottenere nomi prevedibili che potete referenziare nei prompt successivi, dite al lead come chiamare ogni compagno di team nella vostra istruzione di generazione.315Il lead assegna un nome a ogni compagno di squadra al momento della creazione, e qualsiasi compagno di squadra può inviare messaggi a qualsiasi altro usando quel nome. Per ottenere nomi prevedibili a cui fare riferimento nei prompt successivi, indica al lead come chiamare ciascun compagno di squadra nella tua istruzione di creazione.

314 316 

315### Utilizzo dei token317### Utilizzo dei token

316 318 

317I team di agenti utilizzano significativamente più token di una singola sessione. Ogni compagno di team ha il proprio context window e l'utilizzo dei token si scala con il numero di compagni di team attivi. Per ricerca, revisione e lavoro su nuove funzionalità, i token extra di solito valgono la pena. Per compiti di routine, una singola sessione è più conveniente. Consultate i [costi dei token dei team di agenti](/docs/it/costs#agent-team-token-costs) per la guida all'utilizzo.319I team di agenti usano molti più token di una singola sessione. Ogni compagno di squadra ha la propria finestra di contesto e l'utilizzo dei token cresce con il numero di compagni di squadra attivi. Per ricerca, revisione e sviluppo di nuove funzionalità, i token aggiuntivi di solito valgono la spesa. Per le attività abituali, una singola sessione è più conveniente. Consulta [costi in token dei team di agenti](/docs/it/costs#agent-team-token-costs) per indicazioni sull'utilizzo.

318 320 

319Un compagno di team in-process le cui richieste cadono al di fuori del [bucket TTL della cache](/docs/it/prompt-caching#which-ttl-each-request-gets) della conversazione principale, quindi la sua cache dura cinque minuti per impostazione predefinita, incluso su un abbonamento Claude. Per mantenerla per un'ora, impostate [`subagentPromptCacheTtl`](/docs/it/settings-reference#subagentpromptcachettl) a `1h`. L'API fattura le scritture della cache di 1 ora a una tariffa più elevata.321Le richieste di un compagno di squadra in-process non rientrano nel [bucket TTL della cache](/docs/it/prompt-caching#which-ttl-each-request-gets) della conversazione principale, quindi la sua cache dura cinque minuti per impostazione predefinita, anche con un abbonamento Claude. Per mantenerla per un'ora, imposta [`subagentPromptCacheTtl`](/docs/it/settings-reference#subagentpromptcachettl) su `1h`. L'API addebita le scritture nella cache di 1 ora a una tariffa più elevata.

320 322 

321## Esempi di casi d'uso323## Esempi di casi d'uso

322 324 

agent-view.md +145 −87

Details

276 276 

277Dopo circa dieci secondi, Claude Code mette la sessione in background senza attendere oltre, tranne in casi come questi:277Dopo circa dieci secondi, Claude Code mette la sessione in background senza attendere oltre, tranne in casi come questi:

278 278 

279* **I subagent in primo piano sono ancora in esecuzione**: Claude Code continua ad attendere affinché il lavoro dei [subagent in primo piano](/docs/it/sub-agents#run-subagents-in-foreground-or-background) avviati da Claude venga trasferito, e mostra `Still backgrounding after the current tool`. Premi di nuovo `←` per mettere la sessione in background senza attendere, il che riavvia quei subagent dall'inizio.279* **I subagent in primo piano sono ancora in esecuzione**: Claude Code continua ad attendere in modo che il lavoro dei [subagent in primo piano](/docs/it/sub-agents#run-subagents-in-foreground-or-background) avviati da Claude venga mantenuto, e mostra `Still backgrounding after the current tool`. Premi di nuovo `←` per passare in background senza attendere, il che riavvia quei subagent dall'inizio.

280* **Una richiesta di permesso o una domanda attende la tua risposta**: mentre una richiesta di permesso o una domanda posta da Claude è in attesa, Claude Code continua ad attendere e mostra `Still backgrounding after the current tool — a question is waiting for your answer.` Se la tua risposta permette al turno di continuare, come **Yes** su una richiesta di permesso, Claude Code mette la sessione in background quando lo strumento corrente termina.280* **Una richiesta di permesso o una domanda attende la tua risposta**: mentre una richiesta di permesso o una domanda posta da Claude è in attesa, Claude Code continua ad attendere e mostra `Still backgrounding after the current tool — a question is waiting for your answer.` Se la tua risposta permette al turno di continuare, come **Yes** su una richiesta di permesso, Claude Code mette la sessione in background quando lo strumento corrente termina.

281* **Digiti nel campo del prompt**: Claude Code annulla il cambio, perché il testo non inviato rimane nella casella di input del terminale e non verrebbe spostato nella sessione in background. Mostra `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`281* **Digiti nel campo del prompt**: Claude Code annulla il cambio, perché il testo non inviato rimane nella casella di input del terminale e non verrebbe spostato nella sessione in background. Mostra `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` Claude continua a lavorare in primo piano.

282* **Fermi il turno**: Claude Code annulla il cambio e mostra `Backgrounding cancelled — the turn was stopped.` Ad esempio, il turno si ferma quando [interrompi Claude con `Esc`](/docs/it/interactive-mode#general-controls) o selezioni **No** [senza un commento](/docs/it/permissions#add-a-comment-when-you-answer-a-permission-prompt) su una richiesta di permesso della conversazione principale, oppure premi `Esc` su una domanda che Claude pone lì. Premi di nuovo `←` per mettere la sessione in background.282* **Fermi il turno**: Claude Code annulla il cambio e mostra `Backgrounding cancelled — the turn was stopped.` Ad esempio, il turno si ferma quando [interrompi Claude con `Esc`](/docs/it/interactive-mode#general-controls) o selezioni **No** [senza un commento](/docs/it/permissions#add-a-comment-when-you-answer-a-permission-prompt) su una richiesta di permesso della conversazione principale, oppure premi `Esc` su una domanda che Claude pone lì. Premi di nuovo `←` per mettere la sessione in background.

283* **Un messaggio in coda non può essere spostato**: i messaggi che hai [messo in coda mentre Claude stava lavorando](/docs/it/interactive-mode#queue-messages-while-claude-works) si spostano nella sessione in background insieme alla conversazione. Quando uno di essi non può farlo, la sessione rimane in primo piano e Claude Code mostra un avviso come `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.`283* **Un messaggio in coda non può essere spostato**: i messaggi che hai [messo in coda mentre Claude stava lavorando](/docs/it/interactive-mode#queue-messages-while-claude-works) si spostano nella sessione in background insieme alla conversazione. Quando uno di essi non può farlo, la sessione rimane in primo piano e Claude Code mostra un avviso come `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.`

284 284 


288 288 

289Puoi disattivare questa scorciatoia per le sessioni in primo piano con l'impostazione [`leftArrowOpensAgents`](/docs/it/settings-reference#leftarrowopensagents) in `/config`.289Puoi disattivare questa scorciatoia per le sessioni in primo piano con l'impostazione [`leftArrowOpensAgents`](/docs/it/settings-reference#leftarrowopensagents) in `/config`.

290 290 

291##### Prompt inviati mentre la sessione passa in background

292 

293Se inserisci un prompt o un comando shell `!` nel momento in cui la sessione passa in background, viene fermato oppure non viene inviato:

294 

295* **Inviato mentre la conversazione si chiude**: la risposta o il comando si ferma quando la conversazione si chiude e si apre agent view

296* **Ancora in attesa degli [hook](/docs/it/hooks) in quel momento**: il prompt non viene inviato, e nulla sullo schermo lo indica. Questo include un prompt che hai digitato mentre gli [hook `SessionStart`](/docs/it/hooks#sessionstart) erano ancora in esecuzione

297 

298In entrambi i casi il testo che hai digitato viene conservato nella [cronologia dei prompt](/docs/it/interactive-mode#command-history). Per inviarlo di nuovo, apri la sessione messa in background e premi `↑` nel suo prompt per recuperare il testo.

299 

291### Organizzare l'elenco300### Organizzare l'elenco

292 301 

293Agent view raggruppa le sessioni in modo che quelle che hanno bisogno di input siano in cima, con `Ready for review` e `Needs input` sopra `Working` e `Completed`. Questi nomi di gruppo non corrispondono uno a uno agli [stati](#read-session-state) descritti sopra: una sessione passa a `Ready for review` quando ha una pull request aperta che richiede una revisione o ha controlli non superati, e `Completed` raccoglie insieme le sessioni terminate, non riuscite e fermate.302Agent view raggruppa le sessioni in modo che quelle che hanno bisogno di input siano in cima, con `Ready for review` e `Needs input` sopra `Working` e `Completed`. Questi nomi di gruppo non corrispondono uno a uno agli [stati](#read-session-state) descritti sopra: una sessione passa a `Ready for review` quando ha una pull request aperta che richiede una revisione o ha controlli non superati, e `Completed` raccoglie insieme le sessioni terminate, non riuscite e fermate.


300* Premi `Shift+↑` o `Shift+↓` per riordinare le sessioni309* Premi `Shift+↑` o `Shift+↓` per riordinare le sessioni

301* Premi `Ctrl+R` per rinominare una sessione310* Premi `Ctrl+R` per rinominare una sessione

302* Premi `Enter` su un'intestazione di gruppo per comprimerla, tranne quando è attivo un [filtro](#filter-sessions), nel qual caso ogni gruppo rimane espanso311* Premi `Enter` su un'intestazione di gruppo per comprimerla, tranne quando è attivo un [filtro](#filter-sessions), nel qual caso ogni gruppo rimane espanso

312* Premi `Ctrl+X` per fermare una sessione e di nuovo `Ctrl+X` entro due secondi per eliminarla dall'elenco, oppure `Esc` per chiudere la conferma senza eliminare. La seconda pressione elimina la sessione anche quando il tentativo di arresto non riesce, ad esempio perché il [servizio in background non risponde](#agent-view-says-the-background-service-did-not-respond). In quel caso la conferma rimane attiva per altri due secondi e l'eliminazione termina direttamente il processo della sessione

303 313 

304Per rimuovere una sessione dall'elenco, premi `Ctrl+X` per fermarla e di nuovo `Ctrl+X` entro due secondi per eliminarla. Premere `Ctrl+X` su un'intestazione di gruppo elimina, dopo conferma, ogni sessione di quel gruppo.314Premere `Ctrl+X` su un'intestazione di gruppo elimina, dopo conferma, ogni sessione di quel gruppo. Tranne nei casi di conservazione descritti in [Cosa rimuove l'eliminazione di una sessione](#what-deleting-a-session-removes), l'eliminazione rimuove la sessione dall'elenco. Un worktree che Claude ha creato per essa viene rimosso, conservato o lasciato al suo posto a seconda di come elimini e di cosa contiene il worktree. La trascrizione della conversazione rimane sulla tua macchina locale, disponibile tramite `claude --resume`.

305 315 

306La seconda pressione elimina la sessione anche quando il tentativo di arresto non riesce, ad esempio perché il [servizio in background non risponde](#agent-view-says-the-background-service-did-not-respond): la conferma rimane attiva per altri due secondi e l'eliminazione termina direttamente il processo della sessione. Premi `Esc` per chiudere la conferma senza eliminare.316Le sessioni completate che non entrano nello schermo vengono raggruppate in una riga `… N more`. Il gruppo `Completed` occupa lo spazio verticale rimasto dopo i gruppi attivi. Su un terminale basso, l'intestazione si compatta in una singola riga di riepilogo così che le sessioni in lavorazione o che hanno bisogno di input rimangano visibili.

307 317 

308Tranne nei casi di conservazione descritti in [Cosa rimuove l'eliminazione di una sessione](#what-deleting-a-session-removes), l'eliminazione rimuove la sessione dall'elenco, e un worktree che Claude ha creato per essa viene rimosso, conservato o lasciato al suo posto a seconda di come elimini e di cosa contiene il worktree. La trascrizione della conversazione rimane sulla tua macchina locale, disponibile tramite `claude --resume`.318#### Ripristinare una sessione passata

309 319 

310Per ripristinare una sessione su Claude Code v2.1.212 o successivo, digita `/resume` nel campo di dispatch. Si apre un selettore con le sessioni passate del repository da cui hai aperto agent view, dalla più recente, incluse le sessioni che hai eliminato dall'elenco; le sessioni che hanno già una riga non sono elencate. `↑`/`↓` spostano la selezione, `Enter` riprende la sessione selezionata come sessione in background, così rientra nell'elenco come riga, e `Esc` chiude il selettore.320Per ripristinare una sessione su Claude Code v2.1.212 o successivo, digita `/resume` nel [campo di dispatch](#dispatch-an-agent-from-agent-view). Si apre un selettore con le sessioni passate del repository da cui hai aperto agent view, dalla più recente, incluse le sessioni che hai eliminato dall'elenco. Le sessioni che hanno già una riga non sono elencate. Premi `Enter` per riprendere la sessione selezionata come sessione in background, così rientra nell'elenco come riga.

311 321 

312Il selettore si apre solo per un semplice `/resume`. Un ripristino mirato, con ambito limitato o ristretto non può essere gestito dal selettore, quindi agent view mostra invece il suggerimento `attach to a session to run it` quando:322`/resume` non riesce con `isn't available in agent view` quando:

313 323 

314* `/resume` indica un id o un termine di ricerca324* `/resume` indica un id o un termine di ricerca

315* la vista è limitata con `--cwd`325* la vista è limitata con `--cwd`

316* la vista è stata avviata con [`--safe-mode`](/docs/it/cli-reference#cli-flags)326* la vista è stata avviata con [`--safe-mode`](/docs/it/cli-reference#cli-flags)

317* la vista è stata aperta con un flag come `--permission-mode` o `--settings`327* la vista è stata aperta con un flag come `--permission-mode` o `--settings`

318 328 

319Le sessioni completate che non entrano nello schermo vengono raggruppate in una riga `… N more`. Il gruppo `Completed` occupa lo spazio verticale rimasto dopo i gruppi attivi e, su un terminale basso, l'intestazione si compatta in una singola riga di riepilogo così che le sessioni in lavorazione o che hanno bisogno di input rimangano visibili.329Se hai digitato qualcosa dopo `/resume`, riscrivilo senza. Se hai usato uno di quei flag, esegui `claude agents` nella tua shell senza di esso, poi digita `/resume` da solo.

320 330 

321### Filtrare le sessioni331### Filtrare le sessioni

322 332 


361| `Ctrl+X` | Ferma la sessione; premi di nuovo entro due secondi per eliminarla |371| `Ctrl+X` | Ferma la sessione; premi di nuovo entro due secondi per eliminarla |

362| `Shift+↑` / `Shift+↓` | Riordina la sessione selezionata |372| `Shift+↑` / `Shift+↓` | Riordina la sessione selezionata |

363| `Esc` | Chiudi il pannello peek, svuota il campo o esci. Quando hai aperto agent view mettendo in background la tua sessione con `←`, l'ultimo `Esc` torna a quella conversazione invece di uscire. Con la [modalità editor vim](/docs/it/interactive-mode#vim-editor-mode) attiva, premere `Esc` nel campo passa dalla modalità INSERT alla modalità NORMAL e mantiene il tuo testo, come nel prompt principale |373| `Esc` | Chiudi il pannello peek, svuota il campo o esci. Quando hai aperto agent view mettendo in background la tua sessione con `←`, l'ultimo `Esc` torna a quella conversazione invece di uscire. Con la [modalità editor vim](/docs/it/interactive-mode#vim-editor-mode) attiva, premere `Esc` nel campo passa dalla modalità INSERT alla modalità NORMAL e mantiene il tuo testo, come nel prompt principale |

364| `Ctrl+C` | Svuota il campo; premi due volte per uscire |374| `Ctrl+C` | Svuota il campo; premi due volte per uscire. Mentre del testo sullo schermo è selezionato, la pressione cancella invece la selezione, copiandola prima a meno che [la selezione non l'abbia già copiata](/docs/it/settings-reference#copyonselect) |

365| `?` | Mostra le scorciatoie |375| `?` | Mostra le scorciatoie |

366 376 

367Le scorciatoie che hanno un'azione nel [contesto `Agents`](/docs/it/keybindings#agents-actions) seguono il tuo [`keybindings.json`](/docs/it/keybindings). Lo stesso vale per `Ctrl+G`, tramite l'associazione `chat:externalEditor` del contesto `Chat`.377Le scorciatoie che hanno un'azione nel [contesto `Agents`](/docs/it/keybindings#agents-actions) seguono il tuo [`keybindings.json`](/docs/it/keybindings). Lo stesso vale per `Ctrl+G`, tramite l'associazione `chat:externalEditor` del contesto `Chat`.


395 405 

396* `/exit` e `/quit` chiudono la vista agente406* `/exit` e `/quit` chiudono la vista agente

397* `/logout` ti disconnette407* `/logout` ti disconnette

398* `/model` imposta il [modello di invio](#set-the-model)408* `/model`, `/effort` e `/fast` impostano [ciò con cui iniziano le sessioni che invii successivamente](#set-the-model-effort-and-fast-mode). `/effort` e `/fast` richiedono Claude Code v2.1.299 o successivo.

399* `/login` apre la finestra di dialogo di accesso in modo da poter accedere di nuovo senza collegarti a una sessione409* `/login` apre la finestra di dialogo di accesso in modo da poter accedere di nuovo senza collegarti a una sessione

400* Un `/resume` nudo, o il suo alias `/continue`, apre un selettore delle sessioni passate del repository per [riportarne una indietro](#organize-the-list) come sessione in background. Richiede Claude Code v2.1.212 o successivo410* Un `/resume` nudo, o il suo alias `/continue`, apre un selettore delle sessioni passate del repository per [riportarne una indietro](#bring-back-a-past-session) come sessione in background. Richiede Claude Code v2.1.212 o successivo

401 411 

402Le skill, i tuoi comandi e i built-in che espandono il prompt come `/init` vengono inviati a una nuova sessione in background come primo prompt. Gli altri comandi built-in mostrano invece un suggerimento `attach to a session to run it`. Tutto ciò che hai digitato rimane nell'input accanto al suggerimento in modo da poterlo modificare.412Le skill, i tuoi comandi e i built-in che espandono il prompt come `/init` vengono inviati a una nuova sessione in background come primo prompt. Il suggerimento `isn't available in agent view` significa che il comando built-in che hai inserito non è stato eseguito. Per eseguirlo, [collegati a una sessione](#attach-to-a-session) e inseriscilo lì. Tutto ciò che hai digitato rimane nell'input accanto al suggerimento in modo da poterlo modificare.

403 413 

404Confezionare un'attività ricorrente come [skill](/docs/it/skills) ti consente di avviare lo stesso workflow dalla vista agente ripetutamente senza riscrivere il prompt.414Confezionare un'attività ricorrente come [skill](/docs/it/skills) ti consente di avviare lo stesso workflow dalla vista agente ripetutamente senza riscrivere il prompt.

405 415 


458 468 

459#### Cosa viene trasportato quando invii in background469#### Cosa viene trasportato quando invii in background

460 470 

461L'invio in background avvia un nuovo processo che riprende dalla conversazione salvata, e il lavoro in background in corso si sposta in esso: comandi shell in background in esecuzione, subagent in background, workflow dinamici, attività pianificate che hai creato con [`/loop`](/docs/it/scheduled-tasks), e le [risposte automatiche di Claude ai commenti degli artefatti](/docs/it/artifacts#let-claude-reply-to-comments-on-its-own) vengono tutti trasportati e continuano a essere eseguiti lì. Un subagent si sposta insieme a tutto ciò che ha avviato, quindi viene trasportato solo quando anche tutto quel lavoro può spostarsi. Per interrompere il lavoro in background in corso invece di trasportarlo, imposta la variabile d'ambiente [`CLAUDE_DISABLE_ADOPT=1`](/docs/it/env-vars#variables); Claude Code ti chiede allora di confermare prima di inviare in background.471L'invio in background avvia un nuovo processo che riprende dalla conversazione salvata, e il lavoro in background in corso si sposta in esso. I comandi shell in background in esecuzione, i subagent in background, i workflow dinamici, le attività pianificate che hai creato con [`/loop`](/docs/it/scheduled-tasks) e le [risposte automatiche di Claude ai commenti degli artefatti](/docs/it/artifacts#let-claude-reply-to-comments-on-its-own) vengono tutti trasportati e continuano a essere eseguiti lì. Un subagent si sposta insieme a tutto ciò che ha avviato, quindi viene trasportato solo quando anche tutto quel lavoro può spostarsi.

462 472 

463Quando un [workflow dinamico](/docs/it/workflows) ha ancora subagent in esecuzione, Claude Code chiede prima di inviare in background con la finestra di dialogo `Background this session?`, che dice quanti subagent verrebbero riavviati. Scegli `Stay` per lasciarli finire prima. Se confermi, Claude Code riproduce l'esecuzione nella sessione in background: i subagent che erano ancora in esecuzione ricominciano dall'inizio, quindi i token che hanno usato finora vengono spesi di nuovo. Vedi [Riprendere dopo una pausa](/docs/it/workflows#resume-after-a-pause) per sapere quali subagent completati restituiscono i loro risultati salvati e quali vengono eseguiti di nuovo.473Quando un [workflow dinamico](/docs/it/workflows) ha ancora subagent in esecuzione, Claude Code chiede prima di inviare in background con la finestra di dialogo `Background this session?`, che dice quanti subagent verrebbero riavviati. Scegli `Stay` per lasciarli finire prima. Se confermi, Claude Code riproduce l'esecuzione nella sessione in background: i subagent che erano ancora in esecuzione ricominciano dall'inizio, quindi i token che hanno usato finora vengono spesi di nuovo. Vedi [Riprendere dopo una pausa](/docs/it/workflows#resume-after-a-pause) per sapere quali subagent completati restituiscono i loro risultati salvati e quali vengono eseguiti di nuovo.

464 474 


526 claude stop 7c5dcf5d stop this session536 claude stop 7c5dcf5d stop this session

527```537```

528 538 

539#### Prompt che contengono `--bg`

540 

541Un prompt che menziona `--bg` o `--background` viene consegnato così come l'hai digitato, e lo stesso vale per una risposta `--bg` che invii a una sessione in background. Ad esempio, questo comando avvia una sessione in background, e il secondo `--bg` fa parte del suo prompt:

542 

543```bash theme={null}

544claude --bg "find out why --bg sessions are slow to start on this machine"

545```

546 

547Claude Code interpreta un intero argomento come flag solo dove può trovarsi un flag: prima di qualsiasi separatore `--` isolato e non dove un altro flag si aspetta il proprio valore. Metti il flag per primo, come in `claude --bg "<prompt>"`.

548 

549Dove la posizione è ambigua, ad esempio dopo una serie di flag brevi combinati, Claude Code non avvia nulla. Esce invece con [`Couldn't tell whether --bg is a flag or text here`](/docs/it/errors#couldnt-tell-whether-bg-is-a-flag-or-text).

550 

529#### Eseguire un comando shell551#### Eseguire un comando shell

530 552 

531Per eseguire un comando shell come processo in background invece di una sessione Claude, passa `--exec`. L'esempio seguente esegue `pytest -x` come processo in background:553Per eseguire un comando shell come processo in background invece di una sessione Claude, passa `--exec`. L'esempio seguente esegue `pytest -x` come processo in background:


626 648 

627Entrambe le vie mantengono una directory nominata dai record di un'altra sessione terminata.649Entrambe le vie mantengono una directory nominata dai record di un'altra sessione terminata.

628 650 

629### Impostare il modello651### Impostare il modello, lo sforzo e la modalità veloce

630 652 

631Il nome del modello mostrato nell'intestazione della vista agente è il valore predefinito di invio. Le nuove sessioni che avvii dall'input utilizzano questo modello, che proviene dall'[impostazione `model`](/docs/it/settings-reference#model) nelle tue impostazioni utente. Impostalo selezionando un modello nel [selettore `/model`](/docs/it/model-config), o modifica direttamente l'impostazione.653Nella vista agente, digita `/model`, `/effort` o `/fast` nell'[input di invio](#dispatch-an-agent-from-agent-view) e premi `Enter`, e le sessioni che invii in seguito iniziano con ciò che hai impostato. La tua scelta rimane legata a quella finestra della vista agente e non viene salvata in un file di impostazioni. `/effort` e `/fast` richiedono Claude Code v2.1.299 o successivo, così come `/model` digitato senza nulla dopo.

632 654 

633Per sovrascrivere il valore predefinito di invio per l'intera sessione della vista agente, passa `--model` quando apri la vista agente. Vedi [Modalità di permesso, modello e sforzo](#permission-mode-model-and-effort).655Indica il valore dopo il comando, oppure digita solo il comando per sceglierne uno da un elenco:

634 656 

635Per cambiare il valore predefinito di invio da dentro la vista agente, digita `/model` seguito da un nome di modello nell'input di invio e premi `Enter`. L'intestazione si aggiorna per mostrare quel modello con un marcatore `(session)`, e le sessioni che invii in seguito lo utilizzano. Digita `/model default` per cancellare l'override e tornare al valore predefinito di invio. Questo override dura per il resto dell'esecuzione corrente di `claude agents` e non scrive nel tuo file di impostazioni. L'esempio seguente invia una sessione su Opus e la successiva su Sonnet:657* **Modello**: `/model <name>`, ad esempio `/model opus`

658* **[Livello di sforzo](/docs/it/model-config#adjust-effort-level)**: `/effort` con `low`, `medium`, `high`, `xhigh` o `max`, ad esempio `/effort high`. Per avviare sessioni in [ultracode](/docs/it/workflows#let-claude-decide-with-ultracode), apri invece la vista agente dalla tua shell con [`claude agents --effort ultracode`](#dispatch-defaults); l'input di invio non accetta `/effort ultracode`

659* **Modalità veloce**: `/fast on` o `/fast off`. La sessione inizia in modalità veloce solo se la modalità veloce è [disponibile per te](/docs/it/fast-mode#requirements) e il suo modello supporta la modalità veloce. Su un modello che non la supporta, la sessione inizia con la modalità veloce disattivata, quindi usa prima `/model` per scegliere uno dei [modelli che supportano la modalità veloce](/docs/it/fast-mode). È il suggerimento sotto l'input, non l'intestazione, a confermare se le nuove sessioni ottengono la modalità veloce.

660 

661Per annullare una scelta, indica `default` come valore, ad esempio `/effort default`.

662 

663L'esempio seguente invia una sessione su Opus e la successiva su Sonnet:

636 664 

637```text theme={null}665```text theme={null}

638/model opus666/model opus


644Ogni sessione in background può essere eseguita su un modello diverso. Per sovrascriverlo per una sessione:672Ogni sessione in background può essere eseguita su un modello diverso. Per sovrascriverlo per una sessione:

645 673 

646* Dalla shell, passa `--model` con `claude --bg`.674* Dalla shell, passa `--model` con `claude --bg`.

647* Collegati a una sessione in esecuzione ed esegui `/model` per cambiare: una scelta dal selettore, o un `/model <name>` digitato, viene salvata come tuo valore predefinito per le nuove sessioni a meno che non premi `s` nel selettore per un cambio valido solo per la sessione. Un cambio valido solo per la sessione persiste se la sessione viene rigenerata.675* Collegati a una sessione in esecuzione ed esegui `/model` per cambiare. Una scelta dal selettore, o un `/model <name>` digitato, viene salvata come tuo valore predefinito per le nuove sessioni a meno che non premi `s` nel selettore per un cambio valido solo per la sessione. Un cambio valido solo per la sessione persiste se la sessione viene rigenerata.

648* Invia un [subagent](/docs/it/sub-agents) il cui frontmatter imposta un campo `model`.676* Invia un [subagent](/docs/it/sub-agents) che imposta `model` nel suo frontmatter, iniziando il prompt con il suo nome o menzionando `@name`. Finché si applica una scelta `/model` nell'input di invio, il `model` del subagent non viene usato, quindi inserisci `/model default` lì. Se hai avviato con [`claude agents --model`](#dispatch-defaults), anche in quel caso quello del subagent non viene usato, quindi esegui `claude agents` nella tua shell senza `--model`.

649 677 

650### Modalità di permesso, modello e sforzo678### Modalità di permesso, modello e sforzo

651 679 


666* Invii in background la tua sessione con `←` o `/background`694* Invii in background la tua sessione con `←` o `/background`

667* Invii una sessione nella directory in cui ti trovi695* Invii una sessione nella directory in cui ti trovi

668* Risvegli una sessione interrotta nella directory in cui ti trovi collegandoti o rispondendole696* Risvegli una sessione interrotta nella directory in cui ti trovi collegandoti o rispondendole

697* Riavvii una sessione nella directory in cui ti trovi con [`claude respawn`](#manage-sessions-from-the-shell)

669 698 

670Claude Code inoltra un gateway posto davanti a un provider cloud. Se la shell da cui invii seleziona il provider ed esporta il suo endpoint del gateway con il relativo flag di bypass dell'autenticazione, Claude Code inoltra la coppia endpoint-flag alla sessione alle stesse condizioni che si applicano a `ANTHROPIC_BASE_URL`, insieme a `ANTHROPIC_CUSTOM_HEADERS`. Ad esempio, esporta `CLAUDE_CODE_USE_VERTEX=1` con `ANTHROPIC_VERTEX_BASE_URL` e `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`, e Claude Code inoltra quell'endpoint e quel flag.699Claude Code inoltra un gateway posto davanti a un provider cloud. Se la shell da cui invii seleziona il provider ed esporta il suo endpoint del gateway con il relativo flag di bypass dell'autenticazione, Claude Code inoltra la coppia endpoint-flag alla sessione alle stesse condizioni che si applicano a `ANTHROPIC_BASE_URL`, insieme a `ANTHROPIC_CUSTOM_HEADERS`. Ad esempio, esporta `CLAUDE_CODE_USE_VERTEX=1` con `ANTHROPIC_VERTEX_BASE_URL` e `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`, e Claude Code inoltra quell'endpoint e quel flag.

671 700 


673 702 

674#### Modalità di permesso703#### Modalità di permesso

675 704 

676La [modalità di permesso](/docs/it/permissions) dipende da come hai avviato la sessione:705* **Inviata in background con `/bg` o `←`**: Claude Code mantiene la [modalità di permesso](/docs/it/permissions) in cui si trovava la sessione, quindi una sessione che hai passato ad `acceptEdits` o `auto` rimane tale dopo il distacco

677 

678* **Inviata in background con `/bg` o `←`**: Claude Code mantiene la modalità di permesso in cui si trovava la sessione, quindi una sessione che hai passato ad `acceptEdits` o `auto` rimane tale dopo il distacco

679* **Inviata da una vista agente che hai aperto con `←`**: Claude Code prende la modalità di permesso della nuova sessione prima dalla configurazione della directory target, poi dalla sessione da cui provieni

680* **Inviata da `claude agents` avviato in una shell, o con `claude --bg`**: la nuova sessione inizia come farebbe una nuova sessione `claude` in quella directory, a meno che tu non l'abbia inviata da una vista agente aperta con [valori predefiniti di invio](#dispatch-defaults). [In quale modalità di permesso inizia una sessione](/docs/it/permission-modes#which-mode-a-session-starts-in) elenca l'ordine706* **Inviata da `claude agents` avviato in una shell, o con `claude --bg`**: la nuova sessione inizia come farebbe una nuova sessione `claude` in quella directory, a meno che tu non l'abbia inviata da una vista agente aperta con [valori predefiniti di invio](#dispatch-defaults). [In quale modalità di permesso inizia una sessione](/docs/it/permission-modes#which-mode-a-session-starts-in) elenca l'ordine

681 707 

682Per una sessione che invii da una vista agente aperta con `←`, Claude Code prende la modalità di permesso dalla prima di queste che si applica:708Per una sessione che invii da una vista agente aperta con `←`, Claude Code prende la modalità di permesso dalla prima di queste che si applica:

683 709 

6841. La [`permissions.defaultMode`](/docs/it/settings-reference#permissions-defaultmode) della directory target. Si applicano due regole sull'origine:7101. La [`permissions.defaultMode`](/docs/it/settings-reference#permissions-defaultmode) della directory target. `auto` e `bypassPermissions` [hanno effetto solo da impostazioni gestite, da un file `--settings` o da `~/.claude/settings.json`](/docs/it/settings-reference#permissions-defaultmode). Claude Code rifiuta una `defaultMode` proveniente dal `.claude/settings.json` o `.claude/settings.local.json` del progetto che seleziona una modalità più permissiva di quella in cui si trovava la sessione da cui provieni.

685 * `auto` e `bypassPermissions` [hanno effetto solo da impostazioni gestite, da un file `--settings` o da `~/.claude/settings.json`](/docs/it/settings-reference#permissions-defaultmode).7112. La modalità di permesso della sessione da cui provieni.

686 * Claude Code rifiuta una `defaultMode` proveniente dal `.claude/settings.json` o `.claude/settings.local.json` del progetto che seleziona una modalità più permissiva di quella in cui si trovava la sessione da cui provieni.712 

6872. La modalità di permesso della sessione da cui provieni. Se quella sessione era in modalità `bypassPermissions`, la nuova sessione può invece iniziare in modalità Manual, con l'avviso `Bypass permissions was requested at launch and ignored`. Questo accade quando la tua accettazione del disclaimer di bypass si trova solo in `.claude/settings.local.json` o in un file `--settings`. Continua in modalità Manual, oppure [aggiungi quell'accettazione a `~/.claude/settings.json`](/docs/it/permission-modes#bypass-permissions-acceptance).713 Se quella sessione era in modalità `bypassPermissions`, la nuova sessione può invece iniziare in modalità Manual, con l'avviso `Bypass permissions was requested at launch and ignored`. Questo accade quando la tua accettazione del disclaimer di bypass si trova solo in `.claude/settings.local.json` o in un file `--settings`. Continua in modalità Manual, oppure [aggiungi quell'accettazione a `~/.claude/settings.json`](/docs/it/permission-modes#bypass-permissions-ignored-in-a-background-session).

688 714 

689Quando Claude Code rifiuta la modalità di una fonte perché troppo permissiva, decide la fonte successiva nell'elenco. Ad esempio, se invii da una sessione in plan mode in una directory le cui impostazioni sotto controllo di versione chiedono `acceptEdits`, la nuova sessione inizia in plan mode. Se sposti quella `defaultMode` in `~/.claude/settings.json`, si applica indipendentemente dalla modalità di permesso della sessione da cui provieni.715Quando Claude Code rifiuta la modalità di una fonte perché troppo permissiva, decide la fonte successiva nell'elenco. Ad esempio, se invii da una sessione in plan mode in una directory le cui impostazioni sotto controllo di versione chiedono `acceptEdits`, la nuova sessione inizia in plan mode. Se sposti quella `defaultMode` in `~/.claude/settings.json`, si applica indipendentemente dalla modalità di permesso della sessione da cui provieni.

690 716 


816* **Terminato o in attesa del tuo prossimo messaggio, e scollegato per circa un'ora**: il supervisor ferma il processo per liberare risorse. Una sessione che ha terminato il suo turno chiedendoti una domanda conta come in attesa del tuo prossimo messaggio. La conversazione rimane su disco, e la prossima volta che ti colleghi o rispondi, la sessione riprende da dove l'ha lasciata. Fissa una sessione con `Ctrl+T` per mantenere il suo processo in esecuzione.842* **Terminato o in attesa del tuo prossimo messaggio, e scollegato per circa un'ora**: il supervisor ferma il processo per liberare risorse. Una sessione che ha terminato il suo turno chiedendoti una domanda conta come in attesa del tuo prossimo messaggio. La conversazione rimane su disco, e la prossima volta che ti colleghi o rispondi, la sessione riprende da dove l'ha lasciata. Fissa una sessione con `Ctrl+T` per mantenere il suo processo in esecuzione.

817* **Uscito inaspettatamente mentre il supervisor è in esecuzione**: il supervisor riavvia il processo. Terminare una sessione che hai messo in background tu stesso con `←` o `/background`, ad esempio con `kill`, la contrassegna come fermata invece di riavviarla. Per le sessioni che sono terminate con un arresto, vedi [Le sessioni vengono visualizzate come non riuscite o fermate dopo l'arresto](#sessions-show-as-failed-after-shutdown).843* **Uscito inaspettatamente mentre il supervisor è in esecuzione**: il supervisor riavvia il processo. Terminare una sessione che hai messo in background tu stesso con `←` o `/background`, ad esempio con `kill`, la contrassegna come fermata invece di riavviarla. Per le sessioni che sono terminate con un arresto, vedi [Le sessioni vengono visualizzate come non riuscite o fermate dopo l'arresto](#sessions-show-as-failed-after-shutdown).

818* **Dopo un aggiornamento automatico**: il supervisor riavvia se stesso sulla nuova versione e sposta le sessioni inattive in background. Le sessioni che sono in esecuzione, in attesa di te, o collegate non vengono interrotte.844* **Dopo un aggiornamento automatico**: il supervisor riavvia se stesso sulla nuova versione e sposta le sessioni inattive in background. Le sessioni che sono in esecuzione, in attesa di te, o collegate non vengono interrotte.

819* **Il supervisor stesso si ferma**, ad esempio perché il suo processo è stato terminato dall'esterno di Claude Code: su macOS e Linux, il processo di ogni sessione attende circa un minuto che un nuovo supervisor si ricolleghi ad esso, e si ferma se nessuno lo fa. Esegui `claude agents` nella tua shell entro quel minuto per avviare un nuovo supervisor e mantenere le tue sessioni in esecuzione. Se il minuto passa prima, le sessioni si fermano, ma le loro conversazioni salvate rimangono su disco: collegati o rispondi a una sessione e questa si riavvia dalla sua conversazione salvata, come descritto in [Le sessioni vengono visualizzate come non riuscite o fermate dopo l'arresto](#sessions-show-as-failed-after-shutdown).845* **Il supervisor stesso si ferma**, ad esempio perché il suo processo è stato terminato dall'esterno di Claude Code: su macOS e Linux, le tue sessioni si fermano a meno che un nuovo supervisor non si colleghi entro circa un minuto. Per avviarne uno, esegui `claude agents` nella tua shell. Trascorso quel minuto, vedi [Mantieni le sessioni in esecuzione dopo l'arresto del supervisor](#keep-sessions-running-after-the-supervisor-stops).

820 846 

821Quando il processo di una sessione si ferma o si riavvia, i comandi shell in background, i workflow dinamici e i subagent in background che Claude ha avviato in essa si trasferiscono al suo prossimo processo; i monitor in esecuzione e i comandi shell che un subagent ha avviato si fermano con il processo. L'eliminazione della sessione ferma tutto ciò che ha trasferito. Per fermare tutto con il processo invece, imposta [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/it/env-vars#variables) su `1`.847Quando il processo di una sessione si ferma o si riavvia, i comandi shell in background, i workflow dinamici e i subagent in background che Claude ha avviato in essa si trasferiscono al suo prossimo processo; i monitor in esecuzione e i comandi shell che un subagent ha avviato si fermano con il processo. L'eliminazione della sessione ferma tutto ciò che ha trasferito. Per fermare tutto con il processo invece, imposta [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/it/env-vars#variables) su `1`.

822 848 

823Il supervisor e le sue sessioni si autenticano con le stesse credenziali archiviate delle tue sessioni interattive. Per quali impostazioni e variabili di shell raggiungono una sessione, incluso `PATH`, vedi [Impostazioni e provider](#settings-and-provider). Per gli endpoint del gateway, vedi [Gateway LLM](#llm-gateway).849Il supervisor e le sue sessioni si autenticano con le stesse credenziali archiviate delle tue sessioni interattive. Per quali impostazioni e variabili di shell raggiungono una sessione, incluso `PATH`, vedi [Impostazioni e provider](#settings-and-provider). Per gli endpoint del gateway, vedi [Gateway LLM](#llm-gateway).

824 850 

851#### Mantieni le sessioni in esecuzione dopo l'arresto del supervisor

852 

853Se la vista agente stampa questo avviso mentre si chiude, nessun [supervisor](#the-supervisor-process) è in esecuzione:

854 

855```text theme={null}

856Background sessions still running will stop in about a minute. Run 'claude agents' to keep them.

857```

858 

859Esegui `claude agents` nella tua shell entro quel minuto per avviare un nuovo supervisor e mantenere le tue sessioni in esecuzione.

860 

861Se il minuto passa prima, le sessioni si fermano, ma le loro conversazioni salvate rimangono su disco. Per riavviare una sessione dalla sua conversazione salvata, [collegati](#attach-to-a-session) o [rispondi](#peek-and-reply) a essa, come descritto in [Le sessioni vengono visualizzate come non riuscite o fermate dopo l'arresto](#sessions-show-as-failed-after-shutdown).

862 

825### Dove lo stato è archiviato863### Dove lo stato è archiviato

826 864 

827Lo stato della sessione è archiviato sotto la tua directory di configurazione Claude Code. Se imposti [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars), il supervisor usa quella directory invece di `~/.claude` e viene eseguito come un'istanza separata con le sue proprie sessioni.865Lo stato della sessione è archiviato sotto la tua directory di configurazione Claude Code. Se imposti [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars), il supervisor usa quella directory invece di `~/.claude` e viene eseguito come un'istanza separata con le sue proprie sessioni.


847 885 

848## Risoluzione dei problemi886## Risoluzione dei problemi

849 887 

850### `claude agents` elenca subagent invece di aprire agent view888### `claude agents` elenca i subagent invece di aprire la vista agenti

851 889 

852Se `claude agents` stampa un conteggio seguito dai tuoi subagent configurati e poi esce, agent view non è disponibile nel tuo ambiente. Esegui `claude update` per installare la versione più recente.890Se `claude agents` stampa un conteggio seguito dai subagent configurati e poi termina, la vista agenti non è disponibile nel tuo ambiente. Esegui `claude update` per installare la versione più recente.

853 891 

854Se agent view ancora non si apre dopo l'aggiornamento, verifica se è stata [disattivata](#turn-off-agent-view) da un'impostazione o da una variabile d'ambiente.892Se la vista agenti continua a non aprirsi dopo l'aggiornamento, verifica se è stata [disattivata](#turn-off-agent-view) da un'impostazione o da una variabile d'ambiente.

855 893 

856### Agent view si apre senza sessioni894### La vista agenti si apre senza sessioni

857 895 

858Prima di inviare la tua prima sessione, agent view mostra le intestazioni di sezione vuote con una descrizione sotto ognuna, più una spiegazione su una riga sopra l'input, al posto dell'elenco delle sessioni. Digita un prompt nell'input in basso e premi `Enter` per inviare la tua prima sessione.896Prima che tu avvii la prima sessione, la vista agenti mostra le intestazioni di sezione vuote con una descrizione sotto ciascuna, più una spiegazione di una riga sopra il campo di input, al posto dell'elenco delle sessioni. Digita un prompt nel campo di input in basso e premi `Enter` per avviare la tua prima sessione.

859 897 

860### Lo spostamento in background mostra una finestra di dialogo `Background this session?`898### Il passaggio in background mostra una finestra di dialogo `Background this session?`

861 899 

862Se 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:900Se premi `←` per mandare in background la sessione corrente e Claude Code mostra una finestra di dialogo `Background this session?`, la sessione ha del lavoro in background in corso che il passaggio in background interromperebbe, riavvierebbe o lascerebbe in esecuzione senza supervisione, e Claude Code chiede conferma prima di fare una di queste cose:

863 901 

864* **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.902* **Lavoro che non può essere spostato**: la sessione ha del lavoro che non può essere spostato nella sessione in background, come un [monitor](/docs/it/tools-reference#monitor-tool) in esecuzione. La finestra di dialogo indica il lavoro in background che Claude Code interromperebbe e, separatamente, conta le attività che vengono trasferite.

865* **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.903* **Un workflow con subagent in esecuzione**: un [workflow dinamico](/docs/it/workflows) ha ancora dei subagent in esecuzione. Il workflow stesso viene trasferito, ma i suoi subagent in esecuzione ripartono dall'inizio, e la finestra di dialogo indica quanti sono.

866* **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.904* **Risposte automatiche agli artefatti**: Claude sta [rispondendo autonomamente ai commenti su un artefatto](/docs/it/artifacts#let-claude-reply-to-comments-on-its-own). Queste risposte continuano nella sessione in background, e la finestra di dialogo lo indica.

867 905 

868Esegui `/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.906Esegui `/tasks` per vedere tutto ciò che è in esecuzione, quindi conferma per passare comunque in background oppure scegli `Stay` per lasciare che il lavoro finisca prima. Consulta [Cosa viene trasferito quando passi in background](#what-carries-over-when-you-background) per sapere quali tipi di lavoro vengono trasferiti e quali Claude Code interrompe.

869 907 

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

871 909 

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

873 911 

874Claude 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.912Claude vede l'avviso e risponde autonomamente, quindi non devi chiederglielo. Se dopo aver letto la risposta di Claude hai ancora bisogno del lavoro di quel subagent, chiedilo a Claude.

875 913 

876### Prompt rifiutato come troppo breve914### Prompt rifiutato perché troppo breve

877 915 

878L'input di dispatch si aspetta una descrizione del compito, non un'apertura conversazionale. Un prompt più corto di quattro caratteri viene rifiutato con un suggerimento `Too short` in modo che una pressione accidentale non avvii una sessione. Descrivi cosa vuoi che la sessione faccia, come `investigate the flaky checkout test`.916Il campo di input per l'avvio si aspetta una descrizione dell'attività, non un'apertura colloquiale. Un prompt più breve di quattro caratteri viene rifiutato con un suggerimento `Too short`, così che un tasto premuto per sbaglio non avvii una sessione. Descrivi cosa vuoi che faccia la sessione, ad esempio `investigate the flaky checkout test`.

879 917 

880### Le sessioni risultano non riuscite o interrotte dopo lo spegnimento918### Le sessioni risultano fallite o interrotte dopo lo spegnimento

881 919 

882Lo spegnimento o il riavvio della tua macchina interrompe le sessioni in background in esecuzione. Una sessione che era in attesa del tuo input rimane sotto `Needs input` quando torni. Per qualsiasi altra sessione in esecuzione, ciò che agent view mostra dipende da quanto tempo fa ha fatto progressi per l'ultima volta:920Spegnere o riavviare la macchina interrompe le sessioni in background in esecuzione. Una sessione che era in attesa di un tuo input rimane sotto `Needs input` quando torni. Per qualsiasi altra sessione in esecuzione, ciò che la vista agenti mostra dipende da quanto tempo fa ha fatto progressi l'ultima volta:

883 921 

884* Entro 48 ore, la sessione risulta non riuscita. Collegati o rispondi ad essa e si riavvia dalla sua conversazione salvata. Per riprendere il lavoro interrotto, inviale una risposta chiedendole di continuare.922* Entro 48 ore, la sessione risulta fallita. Collegati a essa o rispondile e riparte dalla conversazione salvata. Per riprendere il lavoro interrotto, inviale una risposta chiedendole di continuare.

885* Passate 48 ore, come dopo che la macchina è stata spenta per giorni, la sessione risulta interrotta con `ended while the background service was off`. Premi `Enter` sulla riga e il footer mostra `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it.` Premi `Enter` sulla stessa riga di nuovo per riprendere la sua conversazione salvata. Una risposta, o `claude attach <id>`, la riprende senza quella richiesta del footer.923* Oltre 48 ore, ad esempio dopo che la macchina è rimasta spenta per giorni, la sessione risulta interrotta con `ended while the background service was off`. Premi `Enter` sulla riga e il piè di pagina mostra `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it.` Premi di nuovo `Enter` sulla stessa riga per riprendere la conversazione salvata. Una risposta, oppure `claude attach <id>`, la riprende senza quel messaggio nel piè di pagina.

886 924 

887Quando la [pulizia delle trascrizioni](/docs/it/settings-reference#cleanupperioddays) ha rimosso la conversazione salvata di una sessione interrotta, Claude Code rifiuta di aprire la riga: il messaggio dice che non c'è nulla da riprendere. `claude rm <id>` elimina la riga, tranne nei [casi mantenuti](#what-deleting-a-session-removes) descritti sopra, e `claude respawn <id>` esegue di nuovo il suo prompt originale. Vedi [La conversazione salvata di questa sessione non è più su disco](/docs/it/errors#this-sessions-saved-conversation-is-no-longer-on-disk).925Quando la [pulizia delle trascrizioni](/docs/it/settings-reference#cleanupperioddays) ha rimosso la conversazione salvata di una sessione interrotta, Claude Code si rifiuta di aprire la riga: il messaggio indica che non c'è nulla da riprendere. `claude rm <id>` elimina la riga, tranne nei [casi di conservazione](#what-deleting-a-session-removes) descritti sopra, e `claude respawn <id>` esegue di nuovo il suo prompt originale. Consulta [This session's saved conversation is no longer on disk](/docs/it/errors#this-sessions-saved-conversation-is-no-longer-on-disk).

888 926 

889Lo stop da solo non ferma le sessioni. Le sessioni vengono preservate durante lo stop e il supervisor si ricollega ad esse al risveglio.927La sola sospensione della macchina non interrompe le sessioni. Le sessioni vengono mantenute durante la sospensione e il supervisore si ricollega a esse al risveglio.

890 928 

891### L'apertura di una sessione dice che la conversazione è già aperta929### L'apertura di una sessione indica che la conversazione è già aperta

892 930 

893Due processi non possono scrivere sulla stessa trascrizione. Quando la conversazione salvata di una sessione interrotta è già aperta in un altro processo Claude Code attivo, Claude Code rifiuta di avviare il processo della sessione. Ciò che vedi dipende da ciò che tiene la conversazione:931Due processi non possono scrivere sulla stessa trascrizione. Quando la conversazione salvata di una sessione interrotta è già aperta in un altro processo di Claude Code attivo, Claude Code si rifiuta di avviare il processo proprio della sessione. Ciò che vedi dipende da cosa tiene aperta la conversazione:

894 932 

895* Un terminale dove hai ripreso la conversazione, ad esempio con `claude --resume` o `/resume`: la riga mostra `Open in a terminal` con un suggerimento per continuarla lì, e aprire la riga mostra `Can't open — this session is running in another terminal`. Continua in quel terminale, o esci da esso e apri di nuovo la riga.933* Un terminale in cui hai ripreso la conversazione, ad esempio con `claude --resume` o `/resume`: la riga mostra `Open in a terminal` con un suggerimento per continuarla lì, e aprire la riga mostra `Can't open — this session is running in another terminal`. Continua in quel terminale, oppure chiudilo e apri di nuovo la riga.

896* Un altro processo Claude Code non interattivo, ad esempio un processo di sessione in background per la stessa conversazione che non è ancora uscito: aprire la riga mostra `This conversation is already open in another running Claude session`. Usa quel processo, o aspetta che esca e apri di nuovo la riga.934* Un altro processo di Claude Code non interattivo, ad esempio un processo di sessione in background per la stessa conversazione che non è ancora terminato: aprire la riga mostra `This conversation is already open in another running Claude session`. Usa quel processo, oppure attendi che termini e apri di nuovo la riga.

897 935 

898Claude Code salva una risposta che hai digitato con il tentativo rifiutato, tranne una preceduta da `!` o `/`, e la invia la prossima volta che la sessione si avvia.936Claude Code salva una risposta che hai digitato durante il tentativo rifiutato, tranne una che inizia con `!` o `/`, e la invia al successivo avvio della sessione.

899 937 

900### L'apertura di una sessione dice che non ha trascrizione salvata938### L'apertura di una sessione indica che non ha una trascrizione salvata

901 939 

902Quando apri una sessione che hai [messo in background da un'altra conversazione](#from-inside-a-session) e che si è interrotta prima di eseguire un turno proprio, Claude Code riprende quella conversazione. Se Claude Code non riesce a trovare la conversazione, rifiuta di aprire la sessione:940Quando apri una sessione che hai [mandato in background da un'altra conversazione](#from-inside-a-session) e che si è interrotta prima di eseguire un proprio turno, Claude Code riprende quella conversazione. Se Claude Code non riesce a trovare la conversazione, si rifiuta di aprire la sessione:

903 941 

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

905* Agent view mostra `Press enter again to restart this session fresh` sotto l'elenco.943* La vista agenti mostra `Press enter again to restart this session fresh` sotto l'elenco.

906 944 

907Premi `Enter` sulla stessa riga di nuovo per riavviare la sessione con una conversazione vuota, o esegui `claude respawn <id>` dalla shell.945Premi di nuovo `Enter` sulla stessa riga per riavviare la sessione con una conversazione vuota, oppure esegui `claude respawn <id>` dalla shell.

908 946 

909Vedi il [riferimento degli errori](/docs/it/errors#this-session-has-no-saved-transcript) per i dettagli.947Consulta il [riferimento agli errori](/docs/it/errors#this-session-has-no-saved-transcript) per i dettagli.

910 948 

911### L'host del terminale è morto o la sessione ha smesso di rispondere949### Il processo host del terminale è terminato o la sessione ha smesso di rispondere

912 950 

913Il [supervisor](#the-supervisor-process) esegue il terminale di ogni sessione in background nel suo processo host separato. Quando quel processo muore o smette di rispondere, Claude Code mostra il motivo e offre un riavvio; in entrambi i casi la conversazione è salvata e il riavvio la riprende. Il [riferimento degli errori](/docs/it/errors#terminal-host-process-died) cita i messaggi completi.951Il [supervisore](#the-supervisor-process) esegue il terminale di ciascuna sessione in background in un proprio processo host. Quando quel processo termina o smette di rispondere, Claude Code mostra il motivo e offre un riavvio; in entrambi i casi la conversazione viene salvata e il riavvio la riprende. Il [riferimento agli errori](/docs/it/errors#terminal-host-process-died) riporta i messaggi completi.

914 952 

915Claude Code non riavvia mai una riga che esegue un [comando shell](#run-a-shell-command), da `Enter` o da `claude attach`, perché ciò eseguirebbe di nuovo il comando; il messaggio della riga e `claude attach` dicono entrambi che il comando non viene eseguito di nuovo.953Claude Code non riavvia mai una riga che esegue un [comando shell](#run-a-shell-command), né da `Enter` né da `claude attach`, perché ciò eseguirebbe di nuovo il comando; il messaggio della riga e `claude attach` indicano entrambi che il comando non viene eseguito di nuovo.

916 954 

917### Una sessione non riesce prima di avviarsi con una nota `possibly low memory`955### Una sessione fallisce prima di avviarsi con una nota `possibly low memory`

918 956 

919Quando il processo di una sessione in background esce prima di finire l'avvio e l'host ha poca memoria, lo stato della riga nomina l'uscita e aggiunge `possibly low memory — free some up and retry`.957Quando il processo di una sessione in background termina prima di completare l'avvio e l'host ha poca memoria disponibile, lo stato della riga indica la terminazione e aggiunge `possibly low memory — free some up and retry`.

920 958 

921La nota è un'ipotesi, non una causa confermata. Claude Code la aggiunge solo quando il processo è uscito silenziosamente, senza scrivere un errore e senza essere fermato da un segnale, e l'host ha segnalato poca memoria in quel momento. Quando il processo ha scritto un errore prima di uscire, la riga mostra invece quell'errore.959La nota è un'ipotesi, non una causa confermata. Claude Code la aggiunge solo quando il processo è terminato silenziosamente, senza scrivere un errore e senza essere interrotto da un segnale, e l'host segnalava poca memoria in quel momento. Quando il processo ha scritto un errore prima di terminare, la riga mostra invece quell'errore.

922 960 

923Libera memoria sulla macchina, quindi collegati o rispondi alla riga e il supervisor avvia un nuovo processo per la sessione. Quando la memoria rimane bassa, il supervisor [ferma anche le sessioni inattive](#the-supervisor-process) per liberare risorse da solo, e ferma anche le sessioni fissate inattive se fermare le altre non ha liberato nulla.961Libera memoria sulla macchina, quindi collegati alla riga o rispondile e il supervisore avvia un nuovo processo per la sessione. Quando la memoria rimane scarsa, il supervisore [interrompe anche le sessioni inattive](#the-supervisor-process) per liberare risorse autonomamente, e interrompe anche le sessioni inattive fissate se interrompere le altre non ha liberato nulla.

924 962 

925### Agent view dice che il servizio in background non ha risposto963### La vista agenti indica che il servizio in background non ha risposto

926 964 

927Se il collegamento, il peek, o `claude logs` segnala che il servizio in background non ha risposto, il processo supervisor ha probabilmente subito un blocco. Fermalo e lascia che il prossimo `claude agents` ne avvii uno nuovo. Per mantenere le tue sessioni in background in esecuzione durante il riavvio, passa `--keep-workers`:965Se il collegamento, l'anteprima o `claude logs` segnalano che il servizio in background non ha risposto, probabilmente il processo supervisore si è bloccato. Interrompilo e lascia che il successivo `claude agents` ne avvii uno nuovo. Per mantenere in esecuzione le sessioni in background durante il riavvio, passa `--keep-workers`:

928 966 

929```bash theme={null}967```bash theme={null}

930claude daemon stop --any --keep-workers968claude daemon stop --any --keep-workers

931```969```

932 970 

933Quindi esegui `claude agents` nella tua shell per avviare il nuovo supervisor. Se lo fai entro [circa un minuto](#the-supervisor-process) dall'arresto, si ricollega alle sessioni ancora in esecuzione e il loro lavoro continua senza interruzioni. Se impieghi più tempo, su macOS e Linux le sessioni si sono già fermate da sole, e collegarti o rispondere a una di esse la riavvia dalla sua conversazione salvata. Senza `--keep-workers`, il comando termina anche le sessioni in background. Il flag `--any` fa sì che il comando fermi un supervisor che Claude Code ha avviato su richiesta.971Quindi, esegui `claude agents` nella tua shell per avviare un nuovo supervisore. Su macOS e Linux, fallo entro circa un minuto dalla terminazione del vecchio, altrimenti le sessioni [si interrompono senza un supervisore](#the-supervisor-process). Se hai visto `stopped` ma lo stesso errore si ripresenta, e sei su macOS o Linux con una versione di Claude Code precedente alla v2.1.300, esegui `claude update`, quindi di nuovo entrambi i comandi.

934 

935Un supervisor che si avvia ma non riesce ad accettare connessioni esce e rilascia il suo blocco da solo, quindi il prossimo `claude agents` ne avvia uno nuovo senza questo arresto manuale. I passaggi precedenti si applicano quando un supervisor in esecuzione subisce un blocco.

936 972 

937Se il comando invece esce dicendo che non è stato possibile verificare il processo registrato come il supervisor, controlla l'ID del processo segnalato: se è un supervisor che possiedi, fermalo tu stesso, quindi elimina `~/.claude/daemon.lock` in modo che il prossimo `claude agents` si avvii da zero.973Se invece il comando di interruzione ha stampato uno di questi quattro messaggi, il vecchio processo non è stato interrotto. Esegui nella tua shell quanto indicato dalla riga corrispondente, quindi esegui `claude agents`:

938 974 

939Su Windows, se il supervisor non risponde alla richiesta di arresto, il comando stampa il suo ID di processo. Termina quel processo con `taskkill /PID <pid>` per completare il recupero. Le sessioni in background vengono comunque preservate quando hai passato `--keep-workers`.975| Il messaggio contiene | Piattaforma | Azione |

976| :- | :- | :- |

977| `could not be verified as the daemon, so it was not signalled` | Tutte | Scopri quale programma ha quell'ID di processo. Se è il tuo supervisore, interrompilo; lascia stare qualsiasi altro programma. Quindi elimina `~/.claude/daemon.lock`. |

978| `is still running after SIGKILL` | macOS, Linux | Attendi che il processo termini. Se non termina mai, riavvia il computer. |

979| `was not sent SIGKILL` | macOS, Linux | Esegui di nuovo il comando di interruzione. Se il processo rimane, controllalo con `ps -ww -o args= -p <pid>`: Claude Code avviato con `daemon` è un supervisore, quindi esegui `kill -9 <pid>`. Lascia stare qualsiasi altra cosa; se poi `claude agents` non riesce ad avviare un supervisore, elimina `~/.claude/daemon.lock`. |

980| `supervisor (pid=<pid>) is still running` | Windows | Termina il processo con `taskkill /PID <pid>` |

940 981 

941### Dispatch non riesce con `Could not resolve authentication method`982### L'avvio fallisce con `Could not resolve authentication method`

942 983 

943Se un dispatch in background non riesce con `Could not resolve authentication method` mentre le sessioni interattive si autenticano normalmente, il worker che ha ricevuto il dispatch non ha raccolto le credenziali. Le sessioni in background ottengono le loro credenziali dal [supervisor](#the-supervisor-process), quindi questo errore significa che nessuna credenziale memorizzata era disponibile per il processo supervisor stesso. Conferma di aver eseguito `/login` o di aver configurato una chiave API, quindi ferma il supervisor:984Se un avvio in background fallisce con `Could not resolve authentication method` mentre le sessioni interattive si autenticano normalmente, il worker che ha ricevuto l'avvio non ha acquisito le credenziali. Le sessioni in background ottengono le credenziali dal [supervisore](#the-supervisor-process), quindi questo errore significa che nessuna credenziale memorizzata era disponibile per il processo supervisore stesso. Verifica di aver eseguito `/login` o di aver configurato una chiave API, quindi interrompi il supervisore:

944 985 

945```bash theme={null}986```bash theme={null}

946claude daemon stop --any --keep-workers987claude daemon stop --any --keep-workers

947```988```

948 989 

949Entro [circa un minuto](#the-supervisor-process), esegui `claude agents` o `claude --bg` nella tua shell per avviare un nuovo supervisor che legge le tue credenziali memorizzate. Se ti autentichi con una variabile d'ambiente come `ANTHROPIC_API_KEY` piuttosto che con `/login`, esegui quel comando successivo da una shell dove la variabile è impostata.990Entro [circa un minuto](#the-supervisor-process), esegui `claude agents` o `claude --bg` nella tua shell per avviare un nuovo supervisore che legga le tue credenziali memorizzate. Se ti autentichi con una variabile d'ambiente come `ANTHROPIC_API_KEY` invece che con `/login`, esegui il comando successivo da una shell in cui la variabile è impostata.

991 

992Consulta il [riferimento agli errori](/docs/it/errors#could-not-resolve-authentication-method) per l'elenco completo delle cause e delle soluzioni.

993 

994### Una sessione in background mostra `No LLM gateway`

995 

996Se una sessione in background mostra [`No LLM gateway`](/docs/it/errors#no-llm-gateway-opened-from-another-folder), non ha ricevuto il tuo `ANTHROPIC_BASE_URL` del gateway, quindi le sue richieste falliscono. Claude Code lo ha trattenuto perché hai avviato, risvegliato o riavviato la sessione da una directory diversa dalla cartella indicata nel messaggio.

997 

998Vedi il messaggio, ad esempio, dopo aver avviato una sessione in un repository con [`@<repo>`](#dispatch-to-a-specific-directory) o dopo aver risvegliato una sessione interrotta eseguendo `claude attach` da un'altra directory. Per fornire il tuo gateway alla sessione, scegli la soluzione corrispondente a dove è impostato il gateway:

950 999 

951Vedi il [riferimento degli errori](/docs/it/errors#could-not-resolve-authentication-method) per l'elenco completo delle cause e delle correzioni.1000* **Hai esportato il gateway nel tuo terminale**: in un terminale in cui hai esportato le variabili del gateway, esegui `cd` nella cartella indicata nel messaggio ed esegui il comando [`claude respawn <id>`](#manage-sessions-from-the-shell) riportato nel messaggio.

1001 * Il gateway raggiunge la sessione solo quando il [supervisore](#the-supervisor-process) è stato a sua volta avviato da una shell che esportava lo stesso gateway. In caso contrario, riavvialo dal terminale in cui hai eseguito il comando respawn, come descritto in [L'avvio fallisce con `Could not resolve authentication method`](#dispatch-fails-with-could-not-resolve-authentication-method), quindi esegui di nuovo quel comando.

1002* **Hai usato la vista agenti in un progetto le cui impostazioni definiscono il gateway**: inserisci `ANTHROPIC_BASE_URL` e la relativa credenziale nel [blocco `env` di un file di impostazioni](/docs/it/llm-gateway-connect#set-in-a-settings-file). Usa `~/.claude/settings.json`, oppure `.claude/settings.local.json` nel progetto della sessione, entrambi letti da una sessione riavviata con respawn. Quindi esegui [`claude respawn <id>`](#manage-sessions-from-the-shell) nella tua shell da qualsiasi directory per riavviare questa sessione sul gateway.

952 1003 

953### Le sessioni in background non riescono a leggere Desktop, Documents o Downloads su macOS1004### Le sessioni in background non riescono a leggere Desktop, Documenti o Download su macOS

954 1005 

955Su macOS, l'host della sessione in background viene eseguito come processo separato e richiede l'accesso alle cartelle protette separatamente dal tuo terminale. Se una sessione in background segnala `Operation not permitted` durante la lettura di `~/Desktop`, `~/Documents`, `~/Downloads`, o un'altra posizione protetta, concedi l'accesso in Impostazioni di Sistema sotto Privacy e Sicurezza > File e Cartelle, o abilita Accesso Completo al Disco per la voce.1006Su macOS, l'host delle sessioni in background viene eseguito come processo autonomo e richiede l'accesso alle cartelle protette separatamente dal tuo terminale. Se una sessione in background segnala `Operation not permitted` durante la lettura di `~/Desktop`, `~/Documents`, `~/Downloads` o di un'altra posizione protetta, concedi l'accesso in Impostazioni di Sistema in Privacy e sicurezza > File e cartelle, oppure abilita l'Accesso completo al disco per la voce.

956 1007 

957Con il programma di installazione nativo, la voce appare come Claude Code e la concessione persiste tra gli aggiornamenti. Con altri metodi di installazione come Homebrew o npm, la voce mostra il percorso del binario e potrebbe dover essere concessa di nuovo dopo l'aggiornamento.1008Con il programma di installazione nativo, la voce appare come Claude Code e l'autorizzazione persiste tra gli aggiornamenti. Con altri metodi di installazione come Homebrew o npm, la voce mostra il percorso del binario e potrebbe essere necessario concedere di nuovo l'accesso dopo l'aggiornamento.

958 1009 

959### Le sessioni in background non riescono a raggiungere host della rete locale su macOS1010### Le sessioni in background non riescono a raggiungere host della rete locale su macOS

960 1011 

961Su macOS 15 e versioni successive, il sistema impedisce a un processo di raggiungere dispositivi sulla tua rete locale finché non concedi il permesso di Rete Locale, quindi un comando che mira a un indirizzo LAN può non riuscire con `connect: no route to host` in una sessione in background anche se funziona in un terminale in primo piano. Il primo comando in una sessione in background che si connette a un indirizzo della rete locale attiva la richiesta di permesso di Rete Locale di macOS per Claude Code. Concedilo una volta e quei comandi raggiungono gli host LAN nello stesso modo in cui lo fanno in un terminale in primo piano.1012Su macOS 15 e versioni successive, il sistema impedisce a un processo di raggiungere i dispositivi della rete locale finché non concedi il permesso Rete locale, quindi un comando destinato a un indirizzo LAN può fallire con `connect: no route to host` in una sessione in background anche se funziona in un terminale in primo piano. Il primo comando in una sessione in background che si connette a un indirizzo della rete locale attiva la richiesta di permesso Rete locale di macOS per Claude Code. Concedilo una volta e quei comandi raggiungeranno gli host LAN nello stesso modo in cui lo fanno in un terminale in primo piano.

962 1013 

963### Una sessione è lenta a rispondere dopo il collegamento1014### Una sessione è lenta a rispondere dopo il collegamento

964 1015 

965Quando una sessione che ha finito o è in attesa del tuo prossimo messaggio rimane scollegata per circa un'ora, il supervisor ferma il suo processo per liberare risorse. Il collegamento avvia un nuovo processo da dove l'aveva lasciata e passa alla sessione immediatamente mentre il processo si riavvia. Le sessioni che stanno lavorando, in pausa su una richiesta di permesso o un'altra finestra di dialogo, o [fissate](#organize-the-list) non vengono fermate in questo modo, quindi fissa una sessione con `Ctrl+T` per mantenerla reattiva.1016Quando una sessione che ha terminato o è in attesa del tuo messaggio successivo rimane scollegata per circa un'ora, il supervisore interrompe il suo processo per liberare risorse. Il collegamento avvia un nuovo processo dal punto in cui si era fermata e passa immediatamente alla sessione mentre il processo si riavvia. Le sessioni che stanno lavorando, in pausa su una richiesta di permesso o un'altra finestra di dialogo, oppure [fissate](#organize-the-list) non vengono interrotte in questo modo, quindi fissa una sessione con `Ctrl+T` per mantenerla reattiva.

966 1017 

967Mentre il processo si avvia, Claude Code mostra la parte finale della trascrizione della sessione formattata nel modo in cui la sessione attiva la visualizza, con markdown, blocchi di codice evidenziati e chiamate agli strumenti come righe attenuate, sopra un'area di prompt attenuata con una nota `Session is starting`. La sessione attiva la sostituisce non appena è pronta.1018Durante l'avvio del processo, Claude Code mostra la parte finale della trascrizione della sessione formattata come la visualizza la sessione attiva, con markdown, blocchi di codice evidenziati e chiamate agli strumenti come righe attenuate, sopra un'area di prompt attenuata con una nota `Session is starting`. La sessione attiva la sostituisce non appena è pronta.

968 1019 

969### `.claude/worktrees/` si sta riempiendo1020### `.claude/worktrees/` si sta riempiendo

970 1021 

971L'eliminazione di una sessione in agent view rimuove il worktree che Claude ha creato per essa, ma [alcune eliminazioni mantengono il worktree o lasciano la sua directory su disco](#what-deleting-a-session-removes), quindi le directory rimaste possono accumularsi. Le directory che git non riconosce più non appaiono in `git worktree list`, quindi rimuovile a mano.1022L'eliminazione di una sessione nella vista agenti rimuove il worktree che Claude ha creato per essa, ma [alcune eliminazioni mantengono il worktree o lasciano la sua directory sul disco](#what-deleting-a-session-removes), quindi le directory residue possono accumularsi. Le directory che Git non riconosce più non compaiono in `git worktree list`, quindi rimuovile a mano.

972 1023 

973Elenca le voci rimaste con `git worktree list` nella directory del progetto e rimuovi ognuna con `git worktree remove <path>`. Vedi [Pulisci i worktree](/docs/it/worktrees#clean-up-worktrees).1024Elenca le voci residue con `git worktree list` nella directory del progetto e rimuovi ciascuna con `git worktree remove <path>`. Consulta [Pulire i worktree](/docs/it/worktrees#clean-up-worktrees).

974 1025 

975## Limitazioni1026## Limitazioni

976 1027 


996 1047 

997| Versione | Cambiamento |1048| Versione | Cambiamento |

998| - | - |1049| - | - |

1050| v2.1.299 | [`/effort` e `/fast` nell'input di dispatch](#set-the-model-effort-and-fast-mode) impostano il livello di sforzo e la modalità veloce per le sessioni che invii successivamente. `/model`, `/effort` o `/fast` digitati senza un valore aprono un picker. |

1051| v2.1.299 | Claude Code [interpreta `--bg` e `--background` come flag](#from-your-shell) solo prima di qualsiasi separatore `--` nudo e al di fuori del valore di un altro flag, e rifiuta una posizione ambigua invece di tirare a indovinare. Prima di questa versione, un prompt o una risposta `--bg` o `--background` a una sessione in background poteva essere scambiato per il flag. Questo poteva avviare nuove sessioni in background ripetutamente invece di consegnare il testo. |

1052| v2.1.296 | Un prompt o un comando shell `!` che inserisci [mentre la sessione si sposta in background](#switch-sessions-without-leaving-the-terminal) viene fermato o lasciato non inviato, e il suo testo viene mantenuto nella cronologia dei prompt. Prima di questa versione, la risposta o il comando continuava a essere eseguito dove non potevi più vederlo, e un prompt inviato subito dopo `←` poteva essere eseguito una seconda volta senza che lo vedessi. Un prompt digitato mentre gli hook `SessionStart` erano ancora in esecuzione veniva perso: non inviato, e non presente nella cronologia dei prompt. |

1053| v2.1.295 | `Ctrl+C` al prompt inattivo di una [sessione in background collegata](#attach-to-a-session) lascia intatto il risveglio in sospeso di un [`/loop` autoregolato](/docs/it/scheduled-tasks#let-claude-choose-the-interval), quindi premerlo due volte ti stacca e il loop continua a essere eseguito. `Esc` a quel prompt [ferma il loop autoregolato](/docs/it/scheduled-tasks#stop-a-loop) e mostra un avviso `Pending wakeup cancelled`. Prima di questa versione, il primo `Ctrl+C` poteva terminare un loop autoregolato senza segnalarlo, e `Esc` non fermava un loop che si era spostato in background con la sessione. |

1054| v2.1.295 | Su macOS e Linux, quando `claude agents` esce mentre nessun [supervisor](#keep-sessions-running-after-the-supervisor-stops) è in esecuzione, non ne avvia uno nuovo da solo. Le sessioni in esecuzione si fermano quindi circa un minuto dopo a meno che tu non esegua di nuovo `claude agents`, e agent view può stampare un avviso in tal senso mentre esce. Prima di questa versione, il `claude agents` in uscita avviava un nuovo supervisor. |

1055| v2.1.295 | Su macOS con l'installer nativo, le sessioni in background che si riavviano insieme dopo un aggiornamento vengono eseguite sotto la stessa voce di Claude Code che detiene l'[accesso alle cartelle protette](#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos) che hai concesso. Prima di questa versione, quelle sessioni potevano invece essere eseguite sotto il percorso del binario stesso. macOS elenca quel percorso come voce separata, quindi le richieste di accesso alle cartelle potevano ripresentarsi dopo un aggiornamento. |

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

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

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


1048| v2.1.216 | `/fork`: la [conferma](#from-inside-a-session) è una riga, mostrando lo stato della copia, il nome della sua riga di agent-view, e il suo ID sessione per `claude attach`, terminando con `runs in the origin tree` o `edits this checkout` solo quando la copia viene eseguita nell'albero di lavoro principale o modifica il checkout che hai aperto. Fare clic sul nome mette in background questa sessione e apre agent view nella sessione della copia. La conferma non ripete più la modalità di permesso ereditata della copia; le versioni precedenti stampavano una conferma multi-riga senza nome cliccabile. Needs input: `/install-github-app` e l'elenco delle impostazioni `/mcp`, eseguiti mentre nessuno è collegato, mostrano la sessione sotto `Needs input` con una riga che nomina il comando, e collegarsi e rieseguire il comando continua; da v2.1.208 a v2.1.215 erano rifiutati completamente in quello stato. `--agent` restore: riprendere o riavviare una [sessione `--agent` messa in background](#from-your-shell) ripristina il prompt di sistema dell'agente e le restrizioni degli strumenti, cercando prima la directory propria della sessione per l'agente, quando il workspace è fidato; una sessione il cui agente non esiste più continua con gli strumenti predefiniti e il prompt di sistema e si apre con un avviso visibile, invece di ripristinare silenziosamente l'agente predefinito. `Ctrl+X`: premendolo due volte elimina una sessione anche quando il tentativo di arresto fallisce, invece di un arresto fallito che annulla il delete in sospeso, e una sessione eliminata il cui processo worker era morto non riappare più al prossimo aggiornamento. Worktree deletion: una sessione la cui directory worktree non appartiene a nessun repository git può essere eliminata; prima di questa versione ogni tentativo di eliminare tale sessione era rifiutato. Una directory che è già scomparsa si cancella immediatamente. La doppia pressione di agent view rimuove una directory che ha ancora file, eseguendo il tuo hook `WorktreeRemove` per una directory creata da hook, a meno che anche i record di un'altra sessione non la nominino. `claude rm` mantiene tale directory ogni volta che rimangono file. |1105| v2.1.216 | `/fork`: la [conferma](#from-inside-a-session) è una riga, mostrando lo stato della copia, il nome della sua riga di agent-view, e il suo ID sessione per `claude attach`, terminando con `runs in the origin tree` o `edits this checkout` solo quando la copia viene eseguita nell'albero di lavoro principale o modifica il checkout che hai aperto. Fare clic sul nome mette in background questa sessione e apre agent view nella sessione della copia. La conferma non ripete più la modalità di permesso ereditata della copia; le versioni precedenti stampavano una conferma multi-riga senza nome cliccabile. Needs input: `/install-github-app` e l'elenco delle impostazioni `/mcp`, eseguiti mentre nessuno è collegato, mostrano la sessione sotto `Needs input` con una riga che nomina il comando, e collegarsi e rieseguire il comando continua; da v2.1.208 a v2.1.215 erano rifiutati completamente in quello stato. `--agent` restore: riprendere o riavviare una [sessione `--agent` messa in background](#from-your-shell) ripristina il prompt di sistema dell'agente e le restrizioni degli strumenti, cercando prima la directory propria della sessione per l'agente, quando il workspace è fidato; una sessione il cui agente non esiste più continua con gli strumenti predefiniti e il prompt di sistema e si apre con un avviso visibile, invece di ripristinare silenziosamente l'agente predefinito. `Ctrl+X`: premendolo due volte elimina una sessione anche quando il tentativo di arresto fallisce, invece di un arresto fallito che annulla il delete in sospeso, e una sessione eliminata il cui processo worker era morto non riappare più al prossimo aggiornamento. Worktree deletion: una sessione la cui directory worktree non appartiene a nessun repository git può essere eliminata; prima di questa versione ogni tentativo di eliminare tale sessione era rifiutato. Una directory che è già scomparsa si cancella immediatamente. La doppia pressione di agent view rimuove una directory che ha ancora file, eseguendo il tuo hook `WorktreeRemove` per una directory creata da hook, a meno che anche i record di un'altra sessione non la nominino. `claude rm` mantiene tale directory ogni volta che rimangono file. |

1049| v2.1.214 | Una sessione messa in background con `←` o `/background` e lasciata inattiva senza nulla in esecuzione ha il suo processo fermato come qualsiasi altra sessione inattiva, invece di mantenere il suo processo e il servizio in background in esecuzione indefinitamente. Una sessione completata può essere rimossa con `claude rm` o da agent view dopo che il servizio in background è diventato inattivo, e una sessione che è entrata in un worktree dopo essere stata inviata da una directory che non è un repository git, come una cartella di workspace multi-repo, può essere eliminata da agent view quando il worktree stesso appartiene a un repository git, perché la pulizia viene risolta dal worktree invece che dalla directory da cui la sessione è stata inviata; entrambe le rimozioni erano rifiutate ad ogni tentativo prima. Riaprire una sessione fermata ripristina la sua conversazione salvata anche quando una cartella nell'archivio delle trascrizioni non può essere letta. |1106| v2.1.214 | Una sessione messa in background con `←` o `/background` e lasciata inattiva senza nulla in esecuzione ha il suo processo fermato come qualsiasi altra sessione inattiva, invece di mantenere il suo processo e il servizio in background in esecuzione indefinitamente. Una sessione completata può essere rimossa con `claude rm` o da agent view dopo che il servizio in background è diventato inattivo, e una sessione che è entrata in un worktree dopo essere stata inviata da una directory che non è un repository git, come una cartella di workspace multi-repo, può essere eliminata da agent view quando il worktree stesso appartiene a un repository git, perché la pulizia viene risolta dal worktree invece che dalla directory da cui la sessione è stata inviata; entrambe le rimozioni erano rifiutate ad ogni tentativo prima. Riaprire una sessione fermata ripristina la sua conversazione salvata anche quando una cartella nell'archivio delle trascrizioni non può essere letta. |

1050| v2.1.213 | `/install-github-app`, l'elenco delle impostazioni [`/mcp`](/docs/it/mcp), e le azioni di autenticazione MCP funzionano in una sessione in background mentre un terminale è collegato, e sono rifiutate solo quando nessuno è collegato, con un messaggio che ti dice di collegarti e rieseguire il comando; da v2.1.208 a v2.1.212 erano rifiutate anche con un terminale collegato. |1107| v2.1.213 | `/install-github-app`, l'elenco delle impostazioni [`/mcp`](/docs/it/mcp), e le azioni di autenticazione MCP funzionano in una sessione in background mentre un terminale è collegato, e sono rifiutate solo quando nessuno è collegato, con un messaggio che ti dice di collegarti e rieseguire il comando; da v2.1.208 a v2.1.212 erano rifiutate anche con un terminale collegato. |

1051| v2.1.212 | [`/fork` in una sessione interattiva](#from-inside-a-session) copia la conversazione in una nuova sessione in background che appare come sua propria riga, denominata dopo la sessione da cui proviene o, per un fork richiesto di una sessione senza nome, dopo il prompt di fork, mentre l'originale continua a funzionare; il comportamento precedente di fork-subagent di `/fork` si è spostato a `/subtask`. Con [agent view disattivato](#turn-off-agent-view), `/fork` mantiene il comportamento di fork-subagent. Una riga focalizzata che è in attesa del suo primo prompt mostra `space to send it a prompt`. `Ctrl+J` inserisce una nuova riga nell'input di dispatch su terminali con segnalazione di tasti estesa, dove la pressione del tasto era precedentemente ignorata, e l'overlay `?` elenca la scorciatoia. Il suggerimento del footer `←` in una sessione interattiva mostra brevemente `N done` quando una sessione in background finisce mentre nessuna ha bisogno del tuo input. Digitare un `/resume` nudo in agent view apre un picker di sessioni passate del repository da cui hai aperto agent view, incluse le sessioni eliminate dall'elenco, e sceglierne una la riprende come sessione in background; prima di questa versione `/resume` non era disponibile in agent view e le sessioni eliminate erano raggiungibili solo con `claude --resume` o `/resume` da una sessione interattiva. I moduli mirati, scoped e ristretti mantengono il suggerimento `attach to a session to run it` che le versioni precedenti mostravano per ogni modulo. Le sessioni in attesa di un prompt di rete-host sandbox, una richiesta di input MCP, o un prompt di impostazioni gestite mostrano come `Needs input` invece di `Working`, in agent view e in `claude agents --json`, e una domanda da Claude segnala `waitingFor: input needed` invece di `permission prompt`. Collegarsi a una sessione il cui processo si è fermato mostra la sua trascrizione formattata nel modo in cui la sessione live la rende, invece che come testo grezzo. Una sessione fermata la cui trascrizione è in un posto inaspettato riprende da essa tramite una scansione di ultimo ricorso delle tue trascrizioni salvate, e aprire una riga che non ha trascrizione salvata mostra `Press enter again to restart this session fresh`, riavviandola da zero alla seconda pressione; v2.1.211 mostrava il rifiuto senza modo di riavviare da agent view. |1108| v2.1.212 | [`/fork` in una sessione interattiva](#from-inside-a-session) copia la conversazione in una nuova sessione in background mentre l'originale continua a funzionare; il comportamento precedente di fork-subagent di `/fork` si è spostato a `/subtask`. Con [agent view disattivato](#turn-off-agent-view), `/fork` mantiene il comportamento di fork-subagent. |

1109| v2.1.212 | [Digitare un `/resume` nudo in agent view](#bring-back-a-past-session) apre un picker di sessioni passate del repository da cui hai aperto agent view. |

1052| v2.1.211 | Svegliare una sessione fermata collegandosi o rispondendo dalla directory in cui viene eseguita inoltra di nuovo il gateway `ANTHROPIC_BASE_URL` della tua shell, nelle stesse condizioni di un dispatch fresco, quindi una sessione autenticata attraverso un gateway `ANTHROPIC_AUTH_TOKEN` riprende sul gateway invece di segnalare `Not logged in`. Collegarsi a una sessione fermata che è stata messa in background da un'altra conversazione prima che la sua prima risposta finisse è rifiutato con `This session has no saved transcript` invece di avviare silenziosamente una conversazione vuota con lo stesso session id; aprire la stessa riga da agent view mostrava il rifiuto nel footer. Terminare il processo di una sessione `←` o `/background` da fuori Claude Code la contrassegna come fermata invece che il supervisor la riavvia, un arresto già registrato su disco è onorato a meno che una risposta che hai inviato sia ancora in attesa di essere consegnata, una sessione riavviata dopo un crash le viene detto che è stata riavviata, e una sessione `←` o `/background` riavviata non riprende una risposta interrotta più vecchia di circa un'ora. Una risposta di denominazione della sessione che risponde o rifiuta il prompt invece di etichettarlo, come per un prompt che è principalmente un link, viene scartata e la riga mantiene un nome preso dal testo del prompt. Eliminare una sessione il cui worktree git non riconosce più ha successo, lasciando la directory worktree su disco e nominando il suo percorso, invece che ogni tentativo sia rifiutato. Un delete rifiutato mostra il motivo sulla riga della sessione, incluso l'errore git sottostante quando il worktree non poteva essere rimosso, invece che la riga riappaia silenziosamente. |1110| v2.1.211 | Svegliare una sessione fermata collegandosi o rispondendo dalla directory in cui viene eseguita inoltra di nuovo il gateway `ANTHROPIC_BASE_URL` della tua shell, nelle stesse condizioni di un dispatch fresco, quindi una sessione autenticata attraverso un gateway `ANTHROPIC_AUTH_TOKEN` riprende sul gateway invece di segnalare `Not logged in`. Collegarsi a una sessione fermata che è stata messa in background da un'altra conversazione prima che la sua prima risposta finisse è rifiutato con `This session has no saved transcript` invece di avviare silenziosamente una conversazione vuota con lo stesso session id; aprire la stessa riga da agent view mostrava il rifiuto nel footer. Terminare il processo di una sessione `←` o `/background` da fuori Claude Code la contrassegna come fermata invece che il supervisor la riavvia, un arresto già registrato su disco è onorato a meno che una risposta che hai inviato sia ancora in attesa di essere consegnata, una sessione riavviata dopo un crash le viene detto che è stata riavviata, e una sessione `←` o `/background` riavviata non riprende una risposta interrotta più vecchia di circa un'ora. Una risposta di denominazione della sessione che risponde o rifiuta il prompt invece di etichettarlo, come per un prompt che è principalmente un link, viene scartata e la riga mantiene un nome preso dal testo del prompt. Eliminare una sessione il cui worktree git non riconosce più ha successo, lasciando la directory worktree su disco e nominando il suo percorso, invece che ogni tentativo sia rifiutato. Un delete rifiutato mostra il motivo sulla riga della sessione, incluso l'errore git sottostante quando il worktree non poteva essere rimosso, invece che la riga riappaia silenziosamente. |

1053| v2.1.210 | `claude attach` attende mentre il servizio in background si sta avviando o riconnettendo invece di fallire con un errore `job not found` o `still starting`, segnala una sessione che è terminata durante il collegamento come uscita, e applica un ridimensionamento del terminale fatto durante un collegamento lento quando il collegamento si completa. Il conteggio `←` needs-input del footer del prompt appare su ogni provider, inclusi i provider di terze parti che precedentemente mostravano il modulo `← for agents` semplice. Mettere in background una sessione con `←` trasporta l'elenco dei compiti di Claude alla sessione in background invece di scartarlo. La riga su cui hai premuto `←` mantiene un nome in grassetto, non attenuato dopo che la selezione si sposta. `claude agents --effort` accetta `ultracode` invece di scartarlo silenziosamente. |1111| v2.1.210 | `claude attach` attende mentre il servizio in background si sta avviando o riconnettendo invece di fallire con un errore `job not found` o `still starting`, segnala una sessione che è terminata durante il collegamento come uscita, e applica un ridimensionamento del terminale fatto durante un collegamento lento quando il collegamento si completa. Il conteggio `←` needs-input del footer del prompt appare su ogni provider, inclusi i provider di terze parti che precedentemente mostravano il modulo `← for agents` semplice. Mettere in background una sessione con `←` trasporta l'elenco dei compiti di Claude alla sessione in background invece di scartarlo. La riga su cui hai premuto `←` mantiene un nome in grassetto, non attenuato dopo che la selezione si sposta. `claude agents --effort` accetta `ultracode` invece di scartarlo silenziosamente. |

1054| v2.1.208 | Collegarsi a una sessione il cui processo si è fermato mostra l'ultimo schermo pieno della sua trascrizione mentre il processo si avvia, invece di solo una nota `Session is starting`. Una risposta che non può essere consegnata perché il servizio in background non è raggiungibile o l'invio fallisce viene salvata e inviata come prompt successivo della sessione quando il suo processo si avvia di nuovo; prima di questa versione, una risposta persa mentre il servizio in background non era raggiungibile veniva scartata. Un processo il cui binario è stato sostituito da un aggiornamento può comunque avviare il supervisor, dal launcher `claude` installato o dalla versione più recente su disco, invece di fallire fino al riavvio di Claude Code. Un supervisor che esegue una versione più vecchia non riavvia mai una sessione inattiva avviata da una versione più nuova sul suo binario più vecchio. L'eliminazione di una sessione rimuove il suo worktree anche dopo che la sessione ha spostato il worktree su un branch diverso, e mantiene il worktree insieme alla riga della sessione quando il worktree ha commit che non sono stati spinti da nessuna parte o un'altra sessione lo rivendica, invece di distruggere i commit o lasciare il worktree orfano. `/install-github-app` e l'elenco delle impostazioni `/mcp` e le sue azioni di autenticazione vengono rifiutate in una sessione in background con un messaggio che nomina l'alternativa; solo in v2.1.208, il picker `/model` è stato rifiutato allo stesso modo e un `/model <name>` digitato ha cambiato solo quella sessione invece di salvare anche il tuo modello predefinito. |1112| v2.1.208 | Collegarsi a una sessione il cui processo si è fermato mostra l'ultimo schermo pieno della sua trascrizione mentre il processo si avvia, invece di solo una nota `Session is starting`. Una risposta che non può essere consegnata perché il servizio in background non è raggiungibile o l'invio fallisce viene salvata e inviata come prompt successivo della sessione quando il suo processo si avvia di nuovo; prima di questa versione, una risposta persa mentre il servizio in background non era raggiungibile veniva scartata. Un processo il cui binario è stato sostituito da un aggiornamento può comunque avviare il supervisor, dal launcher `claude` installato o dalla versione più recente su disco, invece di fallire fino al riavvio di Claude Code. Un supervisor che esegue una versione più vecchia non riavvia mai una sessione inattiva avviata da una versione più nuova sul suo binario più vecchio. L'eliminazione di una sessione rimuove il suo worktree anche dopo che la sessione ha spostato il worktree su un branch diverso, e mantiene il worktree insieme alla riga della sessione quando il worktree ha commit che non sono stati spinti da nessuna parte o un'altra sessione lo rivendica, invece di distruggere i commit o lasciare il worktree orfano. `/install-github-app` e l'elenco delle impostazioni `/mcp` e le sue azioni di autenticazione vengono rifiutate in una sessione in background con un messaggio che nomina l'alternativa; solo in v2.1.208, il picker `/model` è stato rifiutato allo stesso modo e un `/model <name>` digitato ha cambiato solo quella sessione invece di salvare anche il tuo modello predefinito. |


1061| v2.1.199 | Una sessione in background il cui processo esce prima di finire l'avvio su un host con poca memoria mostra `possibly low memory — free some up and retry` nello stato della sua riga invece di solo il motivo dell'uscita nudo. Mettere in background una sessione con `←` o `/background` trasporta il suo `/color` alla nuova riga. |1119| v2.1.199 | Una sessione in background il cui processo esce prima di finire l'avvio su un host con poca memoria mostra `possibly low memory — free some up and retry` nello stato della sua riga invece di solo il motivo dell'uscita nudo. Mettere in background una sessione con `←` o `/background` trasporta il suo `/color` alla nuova riga. |

1062| v2.1.198 | Agent view invia una notifica attraverso `preferredNotifChannel` quando una sessione in background ha bisogno di input, finisce, o fallisce, e attiva l'hook `Notification` con il tipo `agent_needs_input` o `agent_completed`. `←` e `/exit` dentro `claude attach <id>` ritornano a agent view invece di uscire alla shell; `Ctrl+Z` ritorna alla shell. Una sessione in background che ha isolato il suo lavoro in un worktree esegue il commit, esegue il push del proprio branch isolato, mai `main` o `master`, e apre una pull request in bozza quando finisce invece di chiedere prima. `/login` viene eseguito in agent view e apre la finestra di dialogo di accesso. La finestra di dialogo di uscita `Background work is running` offre `Move to background and exit`. Il trasferimento di uscita copre anche i subagent in background, che riprendono dalla loro trascrizione al prossimo risveglio invece di essere segnalati come falliti. `claude --bg` combinato con `-p` o `--print` viene rifiutato con un errore. L'host della sessione in background richiede il permesso di rete locale macOS al primo accesso LAN invece di fallire con `connect: no route to host`. |1120| v2.1.198 | Agent view invia una notifica attraverso `preferredNotifChannel` quando una sessione in background ha bisogno di input, finisce, o fallisce, e attiva l'hook `Notification` con il tipo `agent_needs_input` o `agent_completed`. `←` e `/exit` dentro `claude attach <id>` ritornano a agent view invece di uscire alla shell; `Ctrl+Z` ritorna alla shell. Una sessione in background che ha isolato il suo lavoro in un worktree esegue il commit, esegue il push del proprio branch isolato, mai `main` o `master`, e apre una pull request in bozza quando finisce invece di chiedere prima. `/login` viene eseguito in agent view e apre la finestra di dialogo di accesso. La finestra di dialogo di uscita `Background work is running` offre `Move to background and exit`. Il trasferimento di uscita copre anche i subagent in background, che riprendono dalla loro trascrizione al prossimo risveglio invece di essere segnalati come falliti. `claude --bg` combinato con `-p` o `--print` viene rifiutato con un errore. L'host della sessione in background richiede il permesso di rete locale macOS al primo accesso LAN invece di fallire con `connect: no route to host`. |

1063| v2.1.196 | Una singola pressione di `←` mette in background una sessione in primo piano; le versioni precedenti richiedevano due pressioni, con un suggerimento nel footer e una conferma. `--dangerously-skip-permissions` passato a `claude agents` mostra il disclaimer di bypass invece di essere silenziosamente scartato. Le sessioni interattive che non hai mai nominato portano un nome predefinito come `my-app-3f` negli elenchi di sessioni e `claude agents --json`. I comandi shell in background e i workflow dinamici sopravvivono al processo della sessione che viene fermato, riavviato, o aggiornato, incluso su Windows; imposta `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` per disattivare il trasferimento. Una trascrizione interpretata erroneamente come vuota al riavvio viene rinominata con un suffisso `.orphaned-` invece di essere eliminata. |1121| v2.1.196 | Una singola pressione di `←` mette in background una sessione in primo piano; le versioni precedenti richiedevano due pressioni, con un suggerimento nel footer e una conferma. `--dangerously-skip-permissions` passato a `claude agents` mostra il disclaimer di bypass invece di essere silenziosamente scartato. Le sessioni interattive che non hai mai nominato portano un nome predefinito come `my-app-3f` negli elenchi di sessioni e `claude agents --json`. I comandi shell in background e i workflow dinamici sopravvivono al processo della sessione che viene fermato, riavviato, o aggiornato, incluso su Windows; imposta `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` per disattivare il trasferimento. Una trascrizione interpretata erroneamente come vuota al riavvio viene rinominata con un suffisso `.orphaned-` invece di essere eliminata. |

1064| v2.1.195 | Il lavoro in background in corso si trasferisce anche quando metti in background una sessione su Windows; imposta `CLAUDE_DISABLE_ADOPT=1` per fermarlo invece. Il gruppo `Completed` riempie lo spazio verticale rimanente e l'intestazione si compatta su terminali corti. Una versione più vecchia di Claude Code non scarta più i campi `state.json` delle sessioni più nuove né nasconde quelle sessioni da `claude agents`. Il collegamento a una sessione fermata passa immediatamente invece di mostrare una schermata vuota per fino a cinque secondi. Un supervisor che non riesce ad accettare connessioni esce e rilascia il suo blocco da solo. |1122| v2.1.195 | Il lavoro in background in corso si trasferisce anche quando metti in background una sessione su Windows. Il gruppo `Completed` riempie lo spazio verticale rimanente e l'intestazione si compatta su terminali corti. Una versione più vecchia di Claude Code non scarta più i campi `state.json` delle sessioni più nuove né nasconde quelle sessioni da `claude agents`. Il collegamento a una sessione fermata passa immediatamente invece di mostrare una schermata vuota per fino a cinque secondi. Un supervisor che non riesce ad accettare connessioni esce e rilascia il suo blocco da solo. |

1065| v2.1.191 | `claude --bg` con un nome `--agent` che non corrisponde a nessuno dei tuoi subagent fallisce il lancio: la sessione esce immediatamente con un errore `--agent '<name>' not found` invece di eseguire con l'agente predefinito. |1123| v2.1.191 | `claude --bg` con un nome `--agent` che non corrisponde a nessuno dei tuoi subagent fallisce il lancio: la sessione esce immediatamente con un errore `--agent '<name>' not found` invece di eseguire con l'agente predefinito. |

1066| v2.1.174 | Le sessioni in background non ereditano più variabili di endpoint gateway come `ANTHROPIC_BASE_URL` dalla shell di avvio del supervisor; il supervisor fornisce uno snapshot di credenziali fresco ai worker pre-riscaldati, correggendo gli errori spurii di `Could not resolve authentication method`. |1124| v2.1.174 | Le sessioni in background non ereditano più variabili di endpoint gateway come `ANTHROPIC_BASE_URL` dalla shell di avvio del supervisor; il supervisor fornisce uno snapshot di credenziali fresco ai worker pre-riscaldati, correggendo gli errori spurii di `Could not resolve authentication method`. |

1067| v2.1.172 | `/model` nell'input di dispatch imposta un override del modello di dispatch con ambito di sessione. |1125| v2.1.172 | `/model` nell'input di dispatch imposta un override del modello di dispatch con ambito di sessione. |

artifacts.md +16 −5

Details

98* **`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 browser98* **`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

99* **`o`**: lo apre nel tuo browser99* **`o`**: lo apre nel tuo browser

100* **`c`**: copia il suo link100* **`c`**: copia il suo link

101* **`d`**: al di fuori di una [sessione cloud](/docs/it/claude-code-on-the-web), elimina definitivamente un artefatto che possiedi dopo la tua conferma. Il suo link smette di funzionare per tutti, te compreso

101 102 

102Claude Code legge l'elenco dal tuo account claude.ai, quindi funziona in una nuova sessione e dopo `/clear`, quando il link è scomparso dal terminale.103Claude Code legge l'elenco dal tuo account claude.ai, quindi `/artifacts` funziona in una nuova sessione e dopo `/clear`, quando il link di un artefatto è scomparso dal terminale.

103 104 

104## Condividere un artifact105## Condividere un artifact

105 106 


112* **All'interno della vostra organizzazione**: nei piani Team e Enterprise, concedete l'accesso a persone specifiche della vostra organizzazione, o a tutti. I visualizzatori effettuano l'accesso a claude.ai come membri della vostra organizzazione per vedere la pagina.113* **All'interno della vostra organizzazione**: nei piani Team e Enterprise, concedete l'accesso a persone specifiche della vostra organizzazione, o a tutti. I visualizzatori effettuano l'accesso a claude.ai come membri della vostra organizzazione per vedere la pagina.

113* **Pubblicamente**: condividete un collegamento che chiunque su internet può aprire, senza richiedere l'accesso a claude.ai. Nei piani Team e Enterprise, la condivisione pubblica è disattivata finché un Owner non la [abilita per l'organizzazione](#control-public-sharing).114* **Pubblicamente**: condividete un collegamento che chiunque su internet può aprire, senza richiedere l'accesso a claude.ai. Nei piani Team e Enterprise, la condivisione pubblica è disattivata finché un Owner non la [abilita per l'organizzazione](#control-public-sharing).

114 115 

116### Collegarsi a una vista specifica

117 

118Se una pagina ha più viste, come schede o sezioni, puoi collegarti direttamente a una di esse. Chiedi a Claude i collegamenti:

119 

120```text wrap theme={null}

121Give me a link to each tab of the deploy failures dashboard.

122```

123 

124Ogni collegamento è il collegamento dell'artefatto con un'ancora alla fine, come `#overview`.

125 

115### Permettere a qualcuno di modificare con voi126### Permettere a qualcuno di modificare con voi

116 127 

117Le persone con cui condividete sono visualizzatori per impostazione predefinita: vedono ogni versione che pubblicate ma non possono modificare la pagina. Nei piani Team e Enterprise, potete anche rendere qualcuno un editor. Nella finestra di dialogo di condivisione, aggiungete una persona e cambiate il suo ruolo da **viewer** a **editor**.128Le persone con cui condividete sono visualizzatori per impostazione predefinita: vedono ogni versione che pubblicate ma non possono modificare la pagina. Nei piani Team e Enterprise, potete anche rendere qualcuno un editor. Nella finestra di dialogo di condivisione, aggiungete una persona e cambiate il suo ruolo da **viewer** a **editor**.


424 435 

425| Method | Endpoint |436| Method | Endpoint |

426| :- | :- |437| :- | :- |

427| `GET` | `/v1/compliance/code/artifacts` |438| `GET` | `/v1/compliance/apps/code/artifacts` |

428| `GET` | `/v1/compliance/code/artifacts/{artifact_id}/versions/{version_id}` |439| `GET` | `/v1/compliance/apps/code/artifacts/{artifact_id}/versions/{version_id}` |

429| `DELETE` | `/v1/compliance/code/artifacts/{artifact_id}` |440| `DELETE` | `/v1/compliance/apps/code/artifacts/{artifact_id}` |

430 441 

431Per gli schemi di richiesta e risposta, vedi il [riferimento della Compliance API](https://docs.claude.com/en/api/compliance/code/artifacts).442Per gli schemi di richiesta e risposta, vedi il [riferimento della Compliance API](https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts).

432 443 

433## Risorse correlate444## Risorse correlate

434 445 

Details

161 161 

162> [!NOTE]162> [!NOTE]

163>163>

164> `/auto-mode-setup` richiede un piano Pro, Max o Team e Claude Code v2.1.228 o successivo. Su Windows nativo richiede v2.1.233 o successivo. Non puoi eseguirlo in una [sessione cloud](/docs/it/claude-code-on-the-web). Ha anche bisogno del [recupero dei flag di funzionalità](/docs/it/env-vars#features-that-need-feature-flag-fetching), quindi non puoi eseguirlo in una sessione in cui hai disattivato il recupero dei flag.164> `/auto-mode-setup` è disponibile con i piani Pro, Max, Team ed Enterprise e con una chiave API di Claude Console. Con un piano Pro, Max o Team, ti serve v2.1.228 o successiva, oppure v2.1.233 o successiva su Windows nativo. Con un piano Enterprise o con una chiave API di Claude Console, ti serve v2.1.283 o successiva. Se il comando non è presente nella tua sessione, consulta [`/auto-mode-setup` restituisce "Unknown command"](#auto-mode-setup-returns-unknown-command).

165 165 

166### Cosa legge `/auto-mode-setup`166### Cosa legge `/auto-mode-setup`

167 167 


202 202 

203`/auto-mode-setup` è un comando incorporato piuttosto che una [skill in bundle](/docs/it/skills#bundled-skills), quindi questa voce `skillOverrides` si applica comunque ad esso, ma [`disableBundledSkills`](/docs/it/settings-reference#disablebundledskills) non lo disattiva.203`/auto-mode-setup` è un comando incorporato piuttosto che una [skill in bundle](/docs/it/skills#bundled-skills), quindi questa voce `skillOverrides` si applica comunque ad esso, ma [`disableBundledSkills`](/docs/it/settings-reference#disablebundledskills) non lo disattiva.

204 204 

205### `/auto-mode-setup` restituisce "Unknown command"

206 

207Se digitando `/auto-mode-setup` nel prompt di Claude Code viene stampato `Unknown command: /auto-mode-setup`, verifica queste cause:

208 

209* **Prima sessione dopo un'installazione o un aggiornamento**: avvia una nuova sessione. Se il comando manca ancora anche lì, consulta le [configurazioni in cui anche le sessioni successive si avviano senza di esso](/docs/it/env-vars#first-session-after-an-install-or-upgrade).

210* **Versione obsoleta**: esegui `claude --version` nella tua shell. Se la versione è inferiore al [minimo per il tuo piano](#generate-environment-entries), [aggiorna Claude Code](/docs/it/setup#update-claude-code).

211* **Telemetria disattivata, provider di terze parti o gateway delle app Claude**: prima della v2.1.304, il comando non è disponibile nelle [sessioni in cui il recupero dei flag di funzionalità è disattivato](/docs/it/env-vars#features-that-need-feature-flag-fetching). Se la tua sessione è una di queste, [aggiorna Claude Code](/docs/it/setup#update-claude-code) alla v2.1.304 o successiva.

212 

213In una [sessione cloud](/docs/it/claude-code-on-the-web), il comando stampa invece `/auto-mode-setup isn't available in this environment.`. Eseguilo in una sessione interattiva nel tuo terminale.

214 

205## Sostituire le regole di blocco e autorizzazione215## Sostituire le regole di blocco e autorizzazione

206 216 

207Tre campi aggiuntivi ti permettono di sostituire gli elenchi di regole incorporate del classificatore:217Tre campi aggiuntivi ti permettono di sostituire gli elenchi di regole incorporate del classificatore:

Details

44 44 

45Scegliendo Riassumi fino a qui ti lascia alla fine della conversazione con l'input vuoto. Con entrambe le opzioni di riassunto, un marcatore **Summarized conversation** appare nella conversazione dove i messaggi compressi erano.45Scegliendo Riassumi fino a qui ti lascia alla fine della conversazione con l'input vuoto. Con entrambe le opzioni di riassunto, un marcatore **Summarized conversation** appare nella conversazione dove i messaggi compressi erano.

46 46 

47#### I messaggi riavvolti possono ricomparire se esci prima del prompt successivo

48 

49Per rimuovere di nuovo i messaggi ricomparsi, esegui `/rewind` nella sessione e seleziona lo stesso prompt, quindi **Ripristina conversazione**. Prima di uscire, invia un prompt a Claude, perché Claude Code salva la conversazione riavvolta insieme a quel prompt. I file che hai ripristinato restano come li ha lasciati il riavvolgimento.

50 

47#### Riavvolgi oltre una conversazione cancellata51#### Riavvolgi oltre una conversazione cancellata

48 52 

49Se hai eseguito `/clear` in precedenza nello stesso processo Claude Code, il menu di riavvolgimento mostra una voce aggiuntiva in cima all'elenco etichettata `/resume <session-id> (previous session)`. Selezionala per riprendere la conversazione che era attiva prima che `/clear` venisse eseguito. La voce è disponibile fino a quando non esci da Claude Code o riprendi una sessione diversa.53Se hai eseguito `/clear` in precedenza nello stesso processo Claude Code, il menu di riavvolgimento mostra una voce aggiuntiva in cima all'elenco etichettata `/resume <session-id> (previous session)`. Selezionala per riprendere la conversazione che era attiva prima che `/clear` venisse eseguito. La voce è disponibile fino a quando non esci da Claude Code o riprendi una sessione diversa.

Details

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

828 828 

829* **Allowlist**: `availableModels` e `permissions.allow`. L'elenco di una policy specifica sostituisce completamente quello della base.829* **Allowlist**: `availableModels` e `permissions.allow`. L'elenco di una policy specifica sostituisce completamente quello della base.

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

831* **Chiavi di tipo record**: `env`, `modelOverrides` e `skillOverrides`. Per queste si esegue un merge superficiale, quindi un blocco `env` per ruolo sovrascrive le chiavi che imposta ed eredita il resto dalla base.831* **Chiavi di tipo record**: `env`, `modelOverrides` e `skillOverrides`. Per queste si esegue un merge superficiale, quindi un blocco `env` per ruolo sovrascrive le chiavi che imposta ed eredita il resto dalla base.

832 832 

833`availableModels` viene anche applicato lato server su `/v1/messages`, quindi un modello negato restituisce `400` indipendentemente da quello che il client invia. Un elenco vuoto nega ogni modello. Il controllo copre anche il modello su cui si avvia una sessione prima che lo sviluppatore ne scelga uno, quindi [avvia le sessioni su un modello consentito dalla policy](#start-sessions-on-a-model-the-policy-allows).833`availableModels` viene anche applicato lato server su `/v1/messages`, quindi un modello negato restituisce `400` indipendentemente da quello che il client invia. Un elenco vuoto nega ogni modello. Il controllo copre anche il modello su cui si avvia una sessione prima che lo sviluppatore ne scelga uno, quindi [avvia le sessioni su un modello consentito dalla policy](#start-sessions-on-a-model-the-policy-allows).


973| Chiave | Applicato da | Effetto |973| Chiave | Applicato da | Effetto |

974| - | - | - |974| - | - | - |

975| `availableModels` | Gateway + CLI | Allowlist dei modelli. Controllata anche su `/v1/messages`, quindi un client modificato non può aggirarla. |975| `availableModels` | Gateway + CLI | Allowlist dei modelli. Controllata anche su `/v1/messages`, quindi un client modificato non può aggirarla. |

976| [`deniedModels`](/docs/it/settings-reference#deniedmodels), [`availableModelsMatch`](/docs/it/settings-reference#availablemodelsmatch) | Gateway + CLI | [Blocca modelli o versioni specifici](/docs/it/model-config#block-specific-models-or-versions) che `availableModels` altrimenti consentirebbe. Un modello bloccato viene rifiutato con un `400` su `/v1/messages` ed è escluso da `/v1/models`. Il controllo del gateway richiede Claude Code v2.1.299 o successiva sul server del gateway. Il controllo della CLI richiede la v2.1.283 o successiva sui client, e i client precedenti ignorano entrambe le chiavi. |

976| `permissions.allow` / `.deny` | CLI | Regole per strumenti e comandi. Vedi [Permessi](/docs/it/permissions). |977| `permissions.allow` / `.deny` | CLI | Regole per strumenti e comandi. Vedi [Permessi](/docs/it/permissions). |

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

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


1045 1046 

1046Il gateway ricava gran parte della risposta di bootstrap dal blocco `cli` o `code` della policy corrispondente e dalla configurazione di primo livello del gateway:1047Il gateway ricava gran parte della risposta di bootstrap dal blocco `cli` o `code` della policy corrispondente e dalla configurazione di primo livello del gateway:

1047 1048 

1048* L'elenco dei modelli, da `availableModels`. [Contesto esteso in Claude Desktop](#extended-context-in-claude-desktop) tratta l'opzione di contesto 1M di ciascun modello1049* L'elenco dei modelli, da `availableModels`. L'elenco esclude i modelli che la policy blocca con [`deniedModels` o `availableModelsMatch: exact`](#what-goes-in-cli). Questo filtro richiede Claude Code v2.1.299 o successiva sul server del gateway. [Contesto esteso in Claude Desktop](#extended-context-in-claude-desktop) tratta l'opzione di contesto da 1M di ciascun modello

1049* 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`1050* 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`

1050* 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 Code1051* 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

1051* 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`.1052* 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`.

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Le sessioni cloud sono disponibili sui piani Pro, Max e Team, e per gli utenti Enterprise con posti premium o posti Chat + Claude Code.11> Le sessioni cloud sono disponibili sui piani Pro, Max e Team, e per gli utenti Enterprise con posti premium o posti Chat + Claude Code. Se la tua organizzazione Enterprise gestisce il tuo accesso con [ruoli personalizzati](https://support.claude.com/en/articles/13930452), hai bisogno anche di un ruolo che includa il permesso per le sessioni cloud. Chiedi a un Owner di controllare i tuoi ruoli e di aggiungerlo in [**Organization settings > Roles**](https://claude.ai/admin-settings/roles) se manca.

12 12 

13Una sessione cloud è una sessione Claude Code che viene eseguita su infrastruttura cloud invece che sulla tua macchina. Per impostazione predefinita viene eseguita su infrastruttura gestita da Anthropic, oppure sull'[ambiente self-hosted](/docs/it/self-hosted-environments) della tua organizzazione quando instradato lì. La sessione continua a essere eseguita dopo che chiudi il tuo laptop, e puoi controllarla o dirigerla da qualsiasi dispositivo. Viene conteggiata nei limiti di utilizzo del tuo piano insieme al resto del tuo utilizzo di Claude e Claude Code, e non c'è alcun addebito separato per la VM cloud.13Una sessione cloud è una sessione Claude Code che viene eseguita su infrastruttura cloud invece che sulla tua macchina. Per impostazione predefinita viene eseguita su infrastruttura gestita da Anthropic, oppure sull'[ambiente self-hosted](/docs/it/self-hosted-environments) della tua organizzazione quando instradato lì. La sessione continua a essere eseguita dopo che chiudi il tuo laptop, e puoi controllarla o dirigerla da qualsiasi dispositivo. Viene conteggiata nei limiti di utilizzo del tuo piano insieme al resto del tuo utilizzo di Claude e Claude Code, e non c'è alcun addebito separato per la VM cloud.

14 14 


264 264 

265* **`/model`, `/effort`, `/color` e `/rename`**: passa il valore come argomento, ad esempio `/model sonnet`, invece di aprire il selettore del terminale o il cursore. Le forme di argomento seguono le [note di disponibilità](/docs/it/commands#all-commands) di ciascun comando.265* **`/model`, `/effort`, `/color` e `/rename`**: passa il valore come argomento, ad esempio `/model sonnet`, invece di aprire il selettore del terminale o il cursore. Le forme di argomento seguono le [note di disponibilità](/docs/it/commands#all-commands) di ciascun comando.

266* **`/fast`**: attiva/disattiva la [modalità veloce](/docs/it/fast-mode#use-fast-mode-in-cloud-sessions) per la sessione quando la modalità veloce è [disponibile nel vostro account](/docs/it/fast-mode#requirements). Richiede Claude Code v2.1.271 o successivo nell'ambiente della sessione.266* **`/fast`**: attiva/disattiva la [modalità veloce](/docs/it/fast-mode#use-fast-mode-in-cloud-sessions) per la sessione quando la modalità veloce è [disponibile nel vostro account](/docs/it/fast-mode#requirements). Richiede Claude Code v2.1.271 o successivo nell'ambiente della sessione.

267* **`/config`**: nel vostro browser su claude.ai/code, apre la sezione Claude Code delle impostazioni invece di impostare un valore, e il testo dopo il comando, incluso `key=value`, viene ignorato. Per modificare un'impostazione per una sessione cloud, impostare una [variabile di ambiente](/docs/it/cloud-environments#set-environment-variables) nell'ambiente, oppure in una sessione con un repository, eseguire il commit della chiave nel file `.claude/settings.json` di quel repository. [Impostazioni nelle sessioni cloud](/docs/it/settings#settings-in-cloud-sessions) elenca cosa legge ogni sessione.267* **`/config`**: nel tuo browser su claude.ai/code, apre la sezione Claude Code delle impostazioni invece di impostare un valore, e il testo dopo il comando, incluso `key=value`, viene ignorato. Per modificare un'impostazione per una sessione cloud, imposta una [variabile d'ambiente](/docs/it/cloud-environments#set-environment-variables) nell'ambiente. In una sessione con un solo repository al di fuori di un [progetto](/docs/it/claude-projects), esegui invece il commit della chiave nel file `.claude/settings.json` di quel repository. [Impostazioni nelle sessioni cloud](/docs/it/settings#settings-in-cloud-sessions) elenca cosa legge ogni sessione.

268 268 

269Per la gestione del contesto in particolare:269Per la gestione del contesto in particolare:

270 270 


278 278 

279Per modificare la finestra di auto-compattazione, impostare [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/it/env-vars) nelle variabili di ambiente, oppure eseguire [`/autocompact`](/docs/it/commands#all-commands) con un conteggio di token in una sessione in cui la variabile non è impostata.279Per modificare la finestra di auto-compattazione, impostare [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/it/env-vars) nelle variabili di ambiente, oppure eseguire [`/autocompact`](/docs/it/commands#all-commands) con un conteggio di token in una sessione in cui la variabile non è impostata.

280 280 

281I [Subagenti](/docs/it/sub-agents) funzionano allo stesso modo di quelli locali. Claude può generarli con lo strumento Agent per delegare la ricerca o il lavoro parallelo a una finestra di contesto separata, mantenendo la conversazione principale più leggera. I subagenti definiti nella directory `.claude/agents/` del repository vengono rilevati automaticamente.281I [subagent](/docs/it/sub-agents) funzionano allo stesso modo di quelli locali. Claude può generarli con lo strumento Agent per delegare la ricerca o il lavoro parallelo a una finestra di contesto separata, mantenendo la conversazione principale più leggera. Al di fuori dei thread di un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), i subagent definiti nella directory `.claude/agents/` del tuo repository vengono caricati automaticamente.

282 282 

283I [team di agenti](/docs/it/agent-teams) sono disabilitati per impostazione predefinita ma possono essere abilitati aggiungendo `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` alle [variabili di ambiente](/docs/it/cloud-environments#set-environment-variables).283I [team di agenti](/docs/it/agent-teams) sono disabilitati per impostazione predefinita ma possono essere abilitati aggiungendo `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` alle [variabili di ambiente](/docs/it/cloud-environments#set-environment-variables).

284 284 


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

429 429 

430* **Ripristinata**: la cronologia della conversazione430* **Ripristinata**: la cronologia della conversazione

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

432 * **Comandi shell**: Claude Code indica a Claude quali comandi si sono interrotti. Chiedi a Claude di eseguire di nuovo quelli che ti servono ancora.

433 * **Subagent**: Claude Code indica a Claude quali subagent si sono interrotti e quali di questi possono essere [ripresi](/docs/it/sub-agents#resume-subagents) anziché ricominciati da capo. Chiedi a Claude di continuare il loro lavoro.

434 * **Attività pianificate con ambito di sessione**: le attività che hai [pianificato nella sessione](/docs/it/scheduled-tasks) e un `/loop` in attesa della sua prossima iterazione non vengono trasferiti nella sessione riaperta. Chiedi a Claude di pianificare di nuovo le attività, oppure esegui di nuovo `/loop` per riavviare il ciclo.

432 435 

433## Limitazioni436## Limitazioni

434 437 

Details

101 101 

102## Dati dell'applicazione102## Dati dell'applicazione

103 103 

104Oltre alla configurazione che crei, `~/.claude` contiene dati che Claude Code scrive durante le sessioni. Questi file sono in testo semplice. Qualsiasi cosa che passa attraverso uno strumento finisce in una trascrizione su disco: contenuti di file, output di comandi, testo incollato.104Oltre alla configurazione che scrivi tu, `~/.claude` contiene i dati che Claude Code scrive durante le sessioni. Questi file sono in testo semplice. Tutto ciò che passa attraverso uno strumento viene scritto in una trascrizione su disco: contenuti dei file, output dei comandi, testo incollato.

105 105 

106### Puliti automaticamente106### Ripuliti automaticamente

107 107 

108Claude Code elimina i file nei percorsi di seguito una volta che sono più vecchi di [`cleanupPeriodDays`](/docs/it/settings-reference#cleanupperioddays), purché possa determinare in modo sicuro il periodo di conservazione. L'impostazione predefinita è 30 giorni e il minimo è 1; impostare `0` genera un errore di convalida. Lo stesso limite di età si applica alla rimozione automatica dei [worktrees orfani](/docs/it/worktrees#clean-up-subagent-and-background-session-worktrees).108Claude Code elimina i file nei percorsi seguenti una volta che sono più vecchi di [`cleanupPeriodDays`](/docs/it/settings-reference#cleanupperioddays), purché riesca a determinare in modo sicuro il periodo di conservazione. Il valore predefinito è 30 giorni e il minimo è 1; impostare `0` produce un errore di convalida. La stessa soglia di età si applica alla rimozione automatica dei [worktree orfani](/docs/it/worktrees#clean-up-subagent-and-background-session-worktrees).

109 109 

110| Percorso sotto `~/.claude/` | Contenuti |110| Percorso in `~/.claude/` | Contenuto |

111| - | - |111| - | - |

112| `projects/<project>/<session>.jsonl` | Trascrizione della conversazione completa: ogni messaggio, chiamata di strumento e risultato dello strumento |112| `projects/<project>/<session>.jsonl` | Trascrizione completa della conversazione: ogni messaggio, chiamata a uno strumento e risultato di uno strumento |

113| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Una trascrizione precedente per la sessione che Claude Code ha messo da parte invece di sovrascriverla o eliminarla. Non appare nel selettore di sessione |113| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Una trascrizione precedente della sessione che Claude Code ha messo da parte invece di sovrascriverla o eliminarla. Non compare nel selettore delle sessioni |

114| `projects/<project>/<session>/subagents/` | Trascrizioni di conversazione [Subagent](/docs/it/sub-agents), rimosse con la trascrizione della sessione padre quando scade |114| `projects/<project>/<session>/subagents/` | Trascrizioni delle conversazioni dei [subagent](/docs/it/sub-agents), rimosse insieme alla trascrizione della sessione principale quando questa scade |

115| `projects/<project>/<session>/tool-results/` | Output di strumenti di grandi dimensioni versati in file separati, e copie a dimensione intera di [immagini che gli strumenti MCP restituiscono](/docs/it/mcp#images-in-tool-results) |115| `projects/<project>/<session>/tool-results/` | Output di grandi dimensioni degli strumenti riversati in file separati e copie a grandezza intera delle [immagini restituite dagli strumenti MCP](/docs/it/mcp#images-in-tool-results) |

116| `file-history/<session>/` | Snapshot pre-modifica dei file che Claude ha modificato, utilizzati per il [ripristino del checkpoint](/docs/it/checkpointing). Contiene snapshot per i 100 checkpoint più recenti; i file snapshot a cui nessun checkpoint conservato fa riferimento vengono eliminati, tranne il primo snapshot di ogni file |116| `file-history/<session>/` | Snapshot precedenti alla modifica dei file cambiati da Claude, usati per il [ripristino dei checkpoint](/docs/it/checkpointing). Contiene gli snapshot dei 100 checkpoint più recenti; i file di snapshot a cui nessun checkpoint conservato fa riferimento vengono eliminati, tranne il primo snapshot di ciascun file |

117| `plans/` | File di piano scritti durante la [Plan Mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) |117| `plans/` | File di piano scritti durante il [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) |

118| `debug/` | Log di debug per sessione, scritti mentre il debug logging è attivo, ad esempio quando inizi con [`--debug`](/docs/it/cli-reference#cli-flags) o esegui `/debug` |118| `debug/` | Log di debug per sessione, scritti mentre il logging di debug è attivo, ad esempio quando avvii con [`--debug`](/docs/it/cli-reference#cli-flags) o esegui `/debug` |

119| `paste-cache/` | Contenuti di incollamenti di grandi dimensioni |119| `paste-cache/` | Contenuti degli incollaggi di grandi dimensioni |

120| `image-cache/<session>/` | Immagini allegate salvate da Claude Code v2.1.274 e versioni precedenti. Le versioni successive salvano le immagini incollate e allegate al di fuori di `~/.claude`, in una directory `images/` per ogni sessione nella directory temporanea che [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars) controlla. La pulizia rimuove le directory di altre sessioni rimaste qui, indipendentemente dalla loro età. |120| `image-cache/<session>/` | Immagini allegate salvate da Claude Code v2.1.274 e precedenti. Le versioni successive salvano le immagini incollate e allegate fuori da `~/.claude`, in una directory `images/` per ciascuna sessione all'interno della directory temporanea controllata da [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars). La pulizia automatica rimuove qui le directory rimaste di altre sessioni, indipendentemente dalla loro età. |

121| `uploads/<session>/` | File che allega dal web o dall'app mobile, e foto che allega dall'app mobile, quando messaggia una sessione [Remote Control](/docs/it/remote-control). Un allegato a una [sessione cloud](/docs/it/claude-code-on-the-web) viene salvato nell'ambiente cloud della sessione stessa, non sulla tua macchina. |121| `uploads/<session>/` | File che alleghi dall'app web o mobile e foto che alleghi dall'app mobile quando invii messaggi a una sessione [Remote Control](/docs/it/remote-control). Un allegato a una [sessione cloud](/docs/it/claude-code-on-the-web) viene invece salvato nell'ambiente cloud di quella sessione, non sulla tua macchina. |

122| `dev-mods/<session>/` | [Mods che Claude ha scritto](/docs/it/plugins/mods/create#ask-claude-for-a-mod) durante la sessione |122| `dev-mods/<session>/` | [Mod scritti da Claude](/docs/it/plugins/mods/create#ask-claude-for-a-mod) durante la sessione |

123| `session-env/` | Metadati di ambiente per sessione |123| `session-env/` | Metadati dell'ambiente per sessione |

124| `tasks/` | Elenchi di attività scritti dagli strumenti di attività, una directory per elenco |124| `tasks/` | Elenchi di attività scritti dagli strumenti delle attività, una directory per elenco |

125| `shell-snapshots/` | Alias, funzioni e opzioni shell acquisiti all'avvio e applicati dallo [strumento Bash](/docs/it/tools-reference#bash-tool-behavior) a ogni comando. Rimosso all'uscita pulita. La pulizia cancella qualsiasi cosa rimasta dopo un arresto anomalo. |125| `shell-snapshots/` | Alias, funzioni e opzioni della shell acquisiti all'avvio e applicati dallo [strumento Bash](/docs/it/tools-reference#bash-tool-behavior) a ogni comando. Rimossi all'uscita pulita. La pulizia automatica elimina quelli rimasti dopo un arresto anomalo. |

126| `backups/` | Versioni precedenti di `~/.claude.json`, copiate quando Claude Code riscrive il file. Claude Code mantiene i cinque più recenti, più una copia di qualsiasi versione che non poteva analizzare. |126| `backups/` | Versioni precedenti di `~/.claude.json`, copiate quando Claude Code riscrive il file. Claude Code conserva le cinque più recenti, più una copia di qualsiasi versione che non è riuscito ad analizzare. |

127| `feedback-bundles/` | Archivi di trascrizione redatti scritti da `/feedback` su provider di terze parti o quando nessuna credenziale Anthropic è configurata, per l'invio al tuo team di account Anthropic |127| `feedback-bundles/` | Archivi di trascrizioni oscurate scritti da `/feedback` con provider di terze parti o quando non sono configurate credenziali Anthropic, da inviare al team del tuo account Anthropic |

128| `feedback/drafts/` | [Feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior) in coda in attesa della tua revisione in `/feedback`. Pulito dopo `cleanupPeriodDays` o 30 giorni, a seconda di quale sia più breve. Quando la coda raggiunge il limite di 10 bozze, Claude Code elimina la bozza più vecchia per fare spazio. |128| `feedback/drafts/` | [Feedback redatti da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior) in coda, in attesa della tua revisione in `/feedback`. Eliminati dopo `cleanupPeriodDays` o 30 giorni, a seconda di quale periodo sia più breve. Quando la coda raggiunge il limite di 10 bozze, Claude Code elimina la bozza più vecchia per fare spazio. |

129| `usage-data/` | `report.html` e copie di report con timestamp scritte da [`/insights`](/docs/it/costs#analyze-your-usage-patterns), più dati di analisi per sessione memorizzati nella cache utilizzati per costruirli |129| `usage-data/` | `report.html` e copie dei report con timestamp scritte da [`/insights`](/docs/it/costs#analyze-your-usage-patterns), più i dati di analisi per sessione memorizzati nella cache usati per crearli |

130| `skills/.trash/`, `plugins/.trash/` | [Skills](/docs/it/skills#how-synced-skills-behave) e [plugins](/docs/it/plugins/loading#synced-plugins) che il sync da claude.ai ha rimosso, ad esempio dopo che ne hai disattivato uno su claude.ai o hai smesso di sincronizzare. I file rimangono qui in modo che tu possa recuperarli fino a quando la pulizia non li elimina |130| `skills/.trash/`, `plugins/.trash/` | [Skill](/docs/it/skills#how-synced-skills-behave) e [plugin](/docs/it/plugins/loading#synced-plugins) rimossi dalla sincronizzazione con claude.ai, ad esempio dopo che ne disattivi uno su claude.ai o interrompi la sincronizzazione. I file restano qui affinché tu possa recuperarli finché la pulizia automatica non li elimina |

131| `plugins/installed_plugins.set-aside.<date>.<hash>.json`, `plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Copie datate che Claude Code crea prima di riscrivere [`installed_plugins.json`](/docs/it/plugins/loading#find-plugins-on-disk): record di installazione che ha eliminato, e il contenuto di un file che non poteva leggere. |131| `plugins/installed_plugins.set-aside.<date>.<hash>.json`, `plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Copie datate che Claude Code crea prima di riscrivere [`installed_plugins.json`](/docs/it/plugins/loading#find-plugins-on-disk): record di installazione che ha scartato e il contenuto di un file che non è riuscito a leggere. |

132| `todos/`, `statsig/`, `logs/` | Directory legacy da versioni precedenti. Non più scritte. La pulizia rimuove i loro contenuti e poi la directory vuota. |132| `todos/`, `statsig/`, `logs/` | Directory legacy di versioni precedenti. Non vengono più scritte. La pulizia automatica ne rimuove il contenuto e poi la directory vuota. |

133 133 

134I file di sessione in `sessions/`, la memoria automatica e le trascrizioni di Claude Desktop e Cowork seguono ciascuno la propria regola di conservazione:134I file di sessione in `sessions/`, la memoria automatica e le trascrizioni di Claude Desktop e Cowork seguono ciascuno una propria regola di conservazione:

135 135 

136* **`sessions/`**: contiene un piccolo file per sessione in esecuzione, utilizzato per rilevare sessioni simultanee e arresti anomali. Non fa parte della pulizia basata sull'età: Claude Code rimuove ogni file quando la sua sessione esce e cancella i residui di arresto anomalo al prossimo avvio.136* **`sessions/`**: contiene un piccolo file per ogni sessione in esecuzione, usato per rilevare sessioni simultanee e arresti anomali. Non fa parte della pulizia automatica basata sull'età: Claude Code rimuove ogni file quando la sua sessione termina ed elimina i residui degli arresti anomali all'avvio successivo.

137* **Memoria automatica**: la pulizia non elimina i file di memoria nella directory di [memoria automatica](/docs/it/memory#auto-memory) di un progetto, `projects/<project>/memory/`. Claude Code rimuove quella directory solo se è stata vuota per l'intero periodo di conservazione. Prima della v2.1.228, la pulizia trattava le cartelle all'interno della directory di memoria come dati di sessione e poteva eliminare file vecchi al di sotto di essa.137* **Memoria automatica**: la pulizia automatica non elimina i file di memoria nella directory della [memoria automatica](/docs/it/memory#auto-memory) di un progetto, `projects/<project>/memory/`. Claude Code rimuove quella directory solo se è rimasta vuota per l'intero periodo di conservazione. Prima della v2.1.228, la pulizia automatica trattava le cartelle all'interno della directory della memoria come dati di sessione e poteva eliminare i file vecchi al loro interno.

138* **Trascrizioni di Claude Desktop e Cowork**: Claude Code mantiene la trascrizione di una sessione che hai avviato o continuato più di recente in Claude Desktop o Cowork a qualsiasi età. Per dare a queste trascrizioni un limite di età, imposta [`desktopSessionCleanupPeriodDays`](/docs/it/settings-reference#desktopsessioncleanupperioddays). Richiede Claude Code v2.1.248 o successivo; le versioni precedenti le eliminano dopo `cleanupPeriodDays`.138* **Trascrizioni di Claude Desktop e Cowork**: Claude Code conserva la trascrizione di una sessione che hai avviato o proseguito più di recente in Claude Desktop o Cowork, a prescindere dalla sua età. Per dare a queste trascrizioni un limite di età, imposta [`desktopSessionCleanupPeriodDays`](/docs/it/settings-reference#desktopsessioncleanupperioddays). Richiede Claude Code v2.1.248 o successivo; le versioni precedenti le eliminano dopo `cleanupPeriodDays`.

139 139 

140 Claude Code elimina invece queste trascrizioni dopo `cleanupPeriodDays` in uno di questi casi:140 Claude Code elimina invece queste trascrizioni dopo `cleanupPeriodDays` in uno qualsiasi di questi casi:

141 141 

142 * Le [impostazioni gestite](/docs/it/managed-settings) impostano `cleanupPeriodDays`142 * Le [impostazioni gestite](/docs/it/managed-settings) impostano `cleanupPeriodDays`

143 * La [configurazione HIPAA si applica alle tue sessioni](/docs/it/hipaa-setup#check-how-developers-sign-in-and-connect)143 * La [configurazione HIPAA si applica alle tue sessioni](/docs/it/hipaa-setup#check-how-developers-sign-in-and-connect)

144 144 

145Claude Code salta la pulizia basata sull'età in questi casi:145Claude Code salta la pulizia automatica basata sull'età in questi casi:

146 146 

147* **Modalità bare**: quando esegui `claude -p` con [`--bare`](/docs/it/headless#start-faster-with-bare-mode), Claude Code non esegue la pulizia in quella sessione.147* **Modalità bare**: quando esegui `claude -p` con [`--bare`](/docs/it/headless#start-faster-with-bare-mode), Claude Code non esegue la pulizia automatica in quella sessione.

148* **Pulizia in pausa**: se Claude Code non può determinare in modo sicuro il periodo di conservazione, mette in pausa la pulizia della conservazione; l'[evento `retention_sweep`](/docs/it/monitoring-usage#retention-sweep-event) elenca ogni configurazione che la mette in pausa. Quando la causa è un file di impostazioni che non può essere letto o analizzato, o errori di impostazioni con `cleanupPeriodDays` o `desktopSessionCleanupPeriodDays` impostati esplicitamente, Claude Code mostra anche un avviso in `/status` finché non correggi gli errori di impostazioni. Quando le [impostazioni gestite](/docs/it/server-managed-settings) forniscono `cleanupPeriodDays`, Claude Code esegue la pulizia al valore gestito in entrambi i casi.148* **Pulizia automatica sospesa**: se Claude Code non riesce a determinare in modo sicuro il periodo di conservazione, sospende la pulizia automatica di conservazione; l'[evento `retention_sweep`](/docs/it/monitoring-usage#retention-sweep-event) elenca ogni configurazione che la sospende. Quando la causa è un file di impostazioni che non può essere letto o analizzato, oppure errori nelle impostazioni con `cleanupPeriodDays` o `desktopSessionCleanupPeriodDays` impostati esplicitamente, Claude Code mostra anche un avviso in `/status` finché non correggi gli errori nelle impostazioni. Quando le [impostazioni gestite](/docs/it/server-managed-settings) forniscono `cleanupPeriodDays`, Claude Code esegue la pulizia automatica con il valore gestito in entrambi i casi.

149 149 

150Per verificare che le macchine della tua organizzazione eseguano la pulizia con il periodo di conservazione che hai impostato, consulta [Verificare la pulizia della conservazione](/docs/it/monitoring-usage#check-the-retention-sweep).150Per verificare che le macchine della tua organizzazione eseguano la pulizia automatica con il periodo di conservazione che hai impostato, consulta [Verificare la pulizia automatica di conservazione](/docs/it/monitoring-usage#check-the-retention-sweep).

151 151 

152### Directory scratchpad della sessione152### Directory scratchpad della sessione

153 153 

154Lo scratchpad è una directory per sessione che Claude Code fornisce a Claude per file temporanei: risultati intermedi, script helper e bozze che non appartengono al tuo progetto. Quando Claude dice che ha salvato qualcosa "nello scratchpad", il file è lì. Claude lo usa invece di `/tmp`, e può creare, modificare e leggere file in esso senza un prompt di permesso.154Lo scratchpad è una directory per sessione che Claude Code mette a disposizione di Claude per i file temporanei: risultati intermedi, script di supporto e bozze che non appartengono al tuo progetto. Quando Claude dice di aver salvato qualcosa "nello scratchpad", il file si trova lì. Claude lo usa al posto di `/tmp` e può creare, modificare e leggere file al suo interno senza una richiesta di permesso.

155 155 

156Lo scratchpad si trova nella directory temporanea di Claude Code piuttosto che in `~/.claude`. Trova il percorso della sessione corrente per la tua piattaforma:156Lo scratchpad si trova nella directory temporanea di Claude Code anziché in `~/.claude`. Trova il percorso della sessione corrente per la tua piattaforma:

157 157 

158* **macOS**: `/private/tmp/claude-<uid>/<project>/<session-id>/scratchpad/`158* **macOS**: `/private/tmp/claude-<uid>/<project>/<session-id>/scratchpad/`

159* **Linux**: `/tmp/claude-<uid>/<project>/<session-id>/scratchpad/`, o la stessa forma sotto `$TMPDIR` quando il tuo sistema ne imposta uno159* **Linux**: `/tmp/claude-<uid>/<project>/<session-id>/scratchpad/`, oppure la stessa struttura in `$TMPDIR` quando il tuo sistema ne imposta uno

160* **Windows**: `%TEMP%\claude\<project>\<session-id>\scratchpad\`160* **Windows**: `%TEMP%\claude\<project>\<session-id>\scratchpad\`

161 161 

162`<project>` è il percorso della tua directory di lavoro con ogni carattere diverso da lettere e cifre sostituito da `-`, ad esempio `-Users-you-my-project`. Se imposti [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars), l'albero si sposta sotto quella directory. Gli hooks ricevono il percorso della sessione corrente come [`scratchpad_dir`](/docs/it/hooks#common-input-fields).162`<project>` è il percorso della tua directory di lavoro con ogni carattere diverso da lettere e cifre sostituito da `-`, ad esempio `-Users-you-my-project`. Se imposti [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars), l'albero viene invece spostato in quella directory. Gli hook ricevono il percorso della sessione corrente come [`scratchpad_dir`](/docs/it/hooks#common-input-fields).

163 163 

164I file scratchpad durano quanto la trascrizione della sessione: la [pulizia della conservazione](#cleaned-up-automatically) elimina la directory quando elimina la trascrizione, e [`claude purge`](#clear-local-data) non tocca la directory temporanea. Poiché la directory si trova nella posizione temporanea del sistema, il tuo sistema operativo può anche cancellarla, ad esempio al riavvio. Per mantenere qualcosa che Claude ha scritto lì, chiedi a Claude di spostarlo nel tuo progetto.164I file dello scratchpad durano quanto la trascrizione della sessione: la [pulizia automatica di conservazione](#cleaned-up-automatically) elimina la directory quando elimina la trascrizione, e [`claude purge`](#clear-local-data) non tocca la directory temporanea. Poiché la directory si trova nel percorso temporaneo del sistema, anche il sistema operativo può svuotarla, ad esempio al riavvio. Per conservare qualcosa che Claude ha scritto lì, chiedi a Claude di spostarlo nel tuo progetto.

165 165 

166Una sessione ha uno scratchpad solo quando tutti questi elementi sono veri:166Una sessione ha uno scratchpad solo quando valgono tutte queste condizioni:

167 167 

168* Sei connesso con un account claude.ai piuttosto che con una chiave API168* Hai effettuato l'accesso con un account claude.ai anziché con una chiave API

169* La sessione utilizza l'API Anthropic, non Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry169* La sessione usa l'API Anthropic, non Amazon Bedrock, Agent Platform di Google Cloud o Microsoft Foundry

170* [`enableArtifact`](/docs/it/settings-reference#enableartifact) non è impostato su `false`170* [`enableArtifact`](/docs/it/settings-reference#enableartifact) non è impostato su `false`

171 171 

172### Mantenuti fino a quando non li elimini172### Conservati finché non li elimini

173 173 

174A parte le righe che indicano diversamente, la pulizia della conservazione non rimuove i percorsi di seguito, e Claude Code li mantiene fino a quando non li elimini.174A parte le righe che indicano diversamente, la pulizia automatica di conservazione non rimuove i percorsi seguenti, e Claude Code li conserva finché non li elimini.

175 175 

176| Percorso sotto `~/.claude/` | Contenuti |176| Percorso in `~/.claude/` | Contenuto |

177| - | - |177| - | - |

178| `history.jsonl` | Ogni prompt che hai digitato, con timestamp e percorso del progetto. Utilizzato per il richiamo con freccia su, la ricerca nella cronologia `Ctrl+R` e il completamento dei comandi shell `!`. Ogni pulizia rimuove le voci più vecchie di `cleanupPeriodDays` quando la [configurazione HIPAA si applica alle tue sessioni](/docs/it/hipaa-setup#check-how-developers-sign-in-and-connect). |178| `history.jsonl` | Prompt che hai digitato, con timestamp e percorso del progetto. Usato per il richiamo con freccia su, la ricerca nella cronologia con `Ctrl+R` e il completamento dei comandi shell con `!`. Ogni pulizia automatica rimuove le voci più vecchie di `cleanupPeriodDays` quando la [configurazione HIPAA si applica alle tue sessioni](/docs/it/hipaa-setup#check-how-developers-sign-in-and-connect). |

179| `stats-cache.json` | Conteggi aggregati di token e costi mostrati da `/usage` |179| `stats-cache.json` | Conteggi aggregati di token e costi mostrati da `/usage` |

180| `remote-settings.json` | Copia memorizzata nella cache delle [impostazioni gestite dal server](/docs/it/server-managed-settings) per la tua organizzazione, o `{}` quando la tua organizzazione non ne ha configurate. Presente solo quando la sessione le [recupera](/docs/it/server-managed-settings#platform-availability). Claude Code verifica gli aggiornamenti all'avvio e ogni ora durante una sessione. Claude Code lo elimina quando esci. |180| `remote-settings.json` | Copia nella cache delle [impostazioni gestite dal server](/docs/it/server-managed-settings) per la tua organizzazione, oppure `{}` quando la tua organizzazione non ne ha configurate. Presente solo quando la sessione [le recupera](/docs/it/server-managed-settings#platform-availability). Claude Code verifica la presenza di aggiornamenti all'avvio e ogni ora durante una sessione. Claude Code lo elimina quando esci dall'account. |

181| `cache/changelog.md` | Copia memorizzata nella cache del changelog di Claude Code, mostrata da `/release-notes`. Aggiornata in background. |181| `cache/changelog.md` | Copia nella cache del changelog di Claude Code, mostrata da `/release-notes`. Aggiornata in background. |

182| `policy-limits.json` | Impostazioni di policy delle funzioni memorizzate nella cache per la tua organizzazione. Presente solo per alcuni tipi di account. Aggiornate automaticamente. Un file sidecar `policy-limits.json.stamp.json` registra quale account o chiave API appartiene la cache. Claude Code elimina entrambi i file quando esci. |182| `policy-limits.json` | Impostazioni dei criteri delle funzionalità per la tua organizzazione, memorizzate nella cache. Presente solo per alcuni tipi di account. Aggiornato automaticamente. Un file associato `policy-limits.json.stamp.json` registra a quale account o chiave API appartiene la cache. Claude Code elimina entrambi i file quando esci dall'account. |

183 183 

184#### File di stato da mantenere184#### File di stato da conservare

185 185 

186A seconda delle funzioni che utilizzi, `~/.claude/` contiene anche file che le tabelle in [Dati dell'applicazione](#application-data) non elencano. Tra questi, le cache e i file di lock sono sicuri da eliminare. Mantieni questi file di stato:186A seconda delle funzionalità che usi, `~/.claude/` contiene anche file che le tabelle in [Dati dell'applicazione](#application-data) non elencano. Tra questi, le cache e i file di lock possono essere eliminati senza rischi. Conserva questi file di stato:

187 187 

188* `.credentials.json`: le tue [credenziali di accesso](/docs/it/authentication#credential-management)188* `.credentials.json`: le tue [credenziali di accesso](/docs/it/authentication#credential-management)

189* `agent-memory/`: [memoria del subagent](/docs/it/sub-agents#enable-persistent-memory)189* `agent-memory/`: [memoria dei subagent](/docs/it/sub-agents#enable-persistent-memory)

190* `jobs/` e `daemon/`: stato della [sessione in background](/docs/it/agent-view#where-state-is-stored)190* `jobs/` e `daemon/`: stato delle [sessioni in background](/docs/it/agent-view#where-state-is-stored)

191 191 

192### Archiviazione in testo semplice192### Archiviazione in testo semplice

193 193 

194Le trascrizioni e la cronologia non sono crittografate a riposo. I permessi dei file del sistema operativo sono l'unica protezione. Se uno strumento legge un file `.env` o un comando stampa una credenziale, quel valore viene scritto in `projects/<project>/<session>.jsonl`. Per ridurre l'esposizione:194Le trascrizioni e la cronologia non sono crittografate a riposo. Le autorizzazioni dei file del sistema operativo sono l'unica protezione. Se uno strumento legge un file `.env` o un comando stampa una credenziale, quel valore viene scritto in `projects/<project>/<session>.jsonl`. Per ridurre l'esposizione:

195 195 

196* Abbassa `cleanupPeriodDays` per accorciare il tempo in cui Claude Code mantiene le trascrizioni196* Riduci `cleanupPeriodDays` per accorciare il tempo per cui Claude Code conserva le trascrizioni

197* Imposta [`desktopSessionCleanupPeriodDays`](/docs/it/settings-reference#desktopsessioncleanupperioddays) per dare anche alle trascrizioni di Claude Desktop e Cowork un limite di età197* Imposta [`desktopSessionCleanupPeriodDays`](/docs/it/settings-reference#desktopsessioncleanupperioddays) per dare un limite di età anche alle trascrizioni di Claude Desktop e Cowork

198* Imposta la variabile di ambiente [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/it/env-vars) per saltare la scrittura di trascrizioni e cronologia dei prompt in qualsiasi modalità. In modalità non interattiva, puoi invece passare `--no-session-persistence` insieme a `-p`, o impostare `persistSession: false` in TypeScript Agent SDK; l'SDK Python non ha un'opzione equivalente.198* Imposta la variabile d'ambiente [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/it/env-vars) per non scrivere trascrizioni e cronologia dei prompt in qualsiasi modalità. In modalità non interattiva, puoi invece passare `--no-session-persistence` insieme a `-p`, oppure impostare `persistSession: false` nell'Agent SDK TypeScript; l'SDK Python non ha un'opzione equivalente.

199* Usa le [regole di permesso](/docs/it/permissions) per negare le letture dei file di credenziali199* Usa le [regole di permesso](/docs/it/permissions) per negare la lettura dei file di credenziali

200 200 

201### Cancella dati locali201### Cancellare i dati locali

202 202 

203Esegui `claude purge` per eliminare lo stato che Claude Code mantiene per un progetto. Elimina:203Esegui `claude purge` per eliminare lo stato che Claude Code conserva per un progetto. Elimina:

204 204 

205* Trascrizioni e memoria automatica sotto `projects/`205* Trascrizioni e memoria automatica in `projects/`

206* Voci per sessione `tasks/`, `debug/` e `file-history/`206* Le voci per sessione in `tasks/`, `debug/` e `file-history/`

207* Righe di prompt corrispondenti in `history.jsonl`207* Le righe di prompt corrispondenti in `history.jsonl`

208* La voce del progetto in `~/.claude.json`208* La voce del progetto in `~/.claude.json`

209 209 

210Le immagini che hai incollato o allegato nelle sessioni del progetto e la [scratchpad](#session-scratchpad-directory) di ogni sessione sono archiviate nella directory temporanea di Claude Code piuttosto che in `~/.claude`, quindi la pulizia non le rimuove. La [pulizia della conservazione](#cleaned-up-automatically) elimina ancora le immagini una volta che sono più vecchie di `cleanupPeriodDays`; lo scratchpad di una sessione eliminata rimane fino a quando non lo elimini o il tuo sistema operativo non cancella la directory temporanea.210Le immagini che hai incollato o allegato nelle sessioni del progetto e lo [scratchpad](#session-scratchpad-directory) di ciascuna sessione sono archiviati nella directory temporanea di Claude Code anziché in `~/.claude`, quindi il comando `claude purge` non li rimuove. La [pulizia automatica di conservazione](#cleaned-up-automatically) elimina comunque le immagini una volta che sono più vecchie di `cleanupPeriodDays`; lo scratchpad di una sessione eliminata con `claude purge` resta finché non lo elimini tu o finché il sistema operativo non svuota la directory temporanea.

211 211 

212Il comando stampa il piano di eliminazione completo e chiede conferma prima di rimuovere qualsiasi cosa.212Il comando stampa il piano di eliminazione completo e chiede conferma prima di rimuovere qualsiasi cosa.

213 213 

214Prima della v2.1.288, il comando era `claude project purge`.214Prima della v2.1.288, il comando era `claude project purge`.

215 215 

216Gli esempi di seguito utilizzano `~/work/my-repo` come segnaposto. Sostituiscilo con il percorso del tuo progetto. Se nessuno stato corrisponde al percorso, il comando stampa un errore e esce con stato 1.216Gli esempi seguenti usano `~/work/my-repo` come segnaposto. Sostituiscilo con il percorso del tuo progetto. Se nessuno stato corrisponde al percorso, il comando stampa un errore ed esce con stato 1.

217 217 

218Visualizza l'anteprima del piano senza eliminare nulla:218Visualizza in anteprima il piano senza eliminare nulla:

219 219 

220```bash theme={null}220```bash theme={null}

221claude purge ~/work/my-repo --dry-run221claude purge ~/work/my-repo --dry-run


238Dry run: 3 item(s) would be deleted.238Dry run: 3 item(s) would be deleted.

239```239```

240 240 

241Elimina con un singolo prompt di conferma:241Elimina con un'unica richiesta di conferma:

242 242 

243```bash theme={null}243```bash theme={null}

244claude purge ~/work/my-repo244claude purge ~/work/my-repo

245```245```

246 246 

247Il comando stampa lo stesso piano, quindi chiede `Delete 3 item(s) for /home/user/work/my-repo? This cannot be undone. [y/N]` ed elimina solo se rispondi `y`.247Il comando stampa lo stesso piano, poi chiede `Delete 3 item(s) for /home/user/work/my-repo? This cannot be undone. [y/N]` ed elimina solo se rispondi `y`.

248 248 

249Ometti il percorso per scegliere un progetto da un elenco interattivo.249Ometti il percorso per scegliere un progetto da un elenco interattivo.

250 250 

251Salta il prompt di conferma per l'uso negli script:251Salta la richiesta di conferma per l'uso negli script:

252 252 

253```bash theme={null}253```bash theme={null}

254claude purge ~/work/my-repo --yes254claude purge ~/work/my-repo --yes


256 256 

257Altre opzioni:257Altre opzioni:

258 258 

259* Passa `--all` invece di un percorso per eliminare lo stato per ogni progetto contemporaneamente, il che elimina `history.jsonl` completamente piuttosto che filtrarlo.259* Passa `--all` al posto di un percorso per eliminare lo stato di tutti i progetti contemporaneamente; in questo caso `history.jsonl` viene eliminato del tutto anziché filtrato.

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

261 261 

262Il 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.262Il comando non tocca `shell-snapshots/` e `backups/` perché non sono legati a un progetto, e li segnala 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 qualsiasi credenziale detenuta dal processo, e né la pulizia automatica di conservazione né `claude purge` lo toccano.

263 263 

264Puoi anche eliminare manualmente uno qualsiasi dei percorsi di dati dell'applicazione sopra, a parte i [file di stato da mantenere](#state-files-to-keep).264Puoi anche eliminare tu stesso uno qualsiasi dei percorsi dei dati dell'applicazione indicati sopra, a parte i [file di stato da conservare](#state-files-to-keep).

265 265 

266| Elimina | Perdi |266| Elimina | Perdi |

267| - | - |267| - | - |

268| `~/.claude/projects/` | Ripresa, continuazione e rewind per le sessioni passate, e memoria automatica per ogni progetto |268| `~/.claude/projects/` | Ripresa, continuazione e riavvolgimento delle sessioni passate, e la memoria automatica di ogni progetto |

269| `~/.claude/history.jsonl` | Richiamo del prompt con freccia su, ricerca nella cronologia `Ctrl+R` e completamento dei comandi shell `!` |269| `~/.claude/history.jsonl` | Richiamo dei prompt con freccia su, ricerca nella cronologia con `Ctrl+R` e completamento dei comandi shell con `!` |

270| `~/.claude/paste-cache/` | Testo incollato nei prompt richiamati; vedi [incolla contenuto di grandi dimensioni](/docs/it/terminal-config#paste-large-content) |270| `~/.claude/paste-cache/` | Il testo incollato nei prompt richiamati; consulta [incollare contenuti di grandi dimensioni](/docs/it/terminal-config#paste-large-content) |

271| `~/.claude/uploads/` | Allegati a cui le sessioni [Remote Control](/docs/it/remote-control) passate si riferiscono per percorso |271| `~/.claude/uploads/` | Gli allegati a cui le sessioni [Remote Control](/docs/it/remote-control) passate fanno riferimento tramite percorso |

272| `~/.claude/file-history/` | Ripristino del checkpoint per le sessioni passate |272| `~/.claude/file-history/` | Ripristino dei checkpoint per le sessioni passate |

273| `~/.claude/stats-cache.json` | Totali storici mostrati da `/usage` |273| `~/.claude/stats-cache.json` | Totali storici mostrati da `/usage` |

274| `~/.claude/usage-data/` | Report [`/insights`](/docs/it/costs#analyze-your-usage-patterns) passati e i dati di analisi memorizzati nella cache utilizzati per costruirli |274| `~/.claude/usage-data/` | I report [`/insights`](/docs/it/costs#analyze-your-usage-patterns) passati e i dati di analisi memorizzati nella cache usati per crearli |

275| `~/.claude/feedback-bundles/` | Feedback e archivi di segnalazione di bug che non hai ancora inviato al tuo team di account Anthropic |275| `~/.claude/feedback-bundles/` | Archivi di feedback e segnalazioni di bug che non hai ancora inviato al team del tuo account Anthropic |

276| `~/.claude/feedback/drafts/` | [Feedback redatto da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior) che non hai inviato |276| `~/.claude/feedback/drafts/` | [Feedback redatti da Claude](/docs/it/tools-reference#sendfeedback-tool-behavior) che non hai inviato |

277| `~/.claude/remote-settings.json` | Nulla. Recuperato di nuovo al prossimo avvio. |277| `~/.claude/remote-settings.json` | Nulla. Viene recuperato di nuovo all'avvio successivo. |

278| `~/.claude/cache/changelog.md` | Nulla. Aggiornato in background. |278| `~/.claude/cache/changelog.md` | Nulla. Viene aggiornato in background. |

279| `~/.claude/policy-limits.json` | Nulla. Aggiornato automaticamente. |279| `~/.claude/policy-limits.json` | Nulla. Viene aggiornato automaticamente. |

280| `~/.claude/tasks/` | I tuoi [elenchi di attività](/docs/it/interactive-mode#task-list), inclusi quelli ancora in uso |280| `~/.claude/tasks/` | I tuoi [elenchi di attività](/docs/it/interactive-mode#task-list), compresi quelli ancora in uso |

281| `~/.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 |281| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | La possibilità di recuperare le [skill sincronizzate](/docs/it/skills#how-synced-skills-behave) e i [plugin sincronizzati](/docs/it/plugins/loading#synced-plugins) che Claude Code ha rimosso |

282| `~/.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 |282| `~/.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 scartato o non è riuscito a leggere. Nulla le rilegge |

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

284| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/`, `~/.claude/image-cache/` | Nulla. Directory legacy non scritte dalle versioni correnti. |284| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/`, `~/.claude/image-cache/` | Nulla. Directory legacy non scritte dalle versioni attuali. |

285 285 

286Non eliminare `~/.claude.json`, `~/.claude/settings.json` o `~/.claude/plugins/`: contengono la tua autenticazione, preferenze e plugin installati.286Non eliminare `~/.claude.json`, `~/.claude/settings.json` o `~/.claude/plugins/`: contengono la tua autenticazione, le tue preferenze e i plugin installati.

287 287 

288## Risorse correlate288## Risorse correlate

289 289 

claude-projects.md +18 −22

Details

52* **Thread**: i lavoratori. Ognuno è una sessione separata con la propria finestra di contesto che svolge un pezzo di lavoro e riferisce alla conversazione quando finisce. Un thread cloud lavora sul proprio ramo e apre una pull request quando il lavoro lo richiede.52* **Thread**: i lavoratori. Ognuno è una sessione separata con la propria finestra di contesto che svolge un pezzo di lavoro e riferisce alla conversazione quando finisce. Un thread cloud lavora sul proprio ramo e apre una pull request quando il lavoro lo richiede.

53* **Quello con cui ogni thread cloud inizia**:53* **Quello con cui ogni thread cloud inizia**:

54 * I repository e i file del progetto, più le sue [istruzioni e memoria](#give-a-project-standing-context)54 * I repository e i file del progetto, più le sue [istruzioni e memoria](#give-a-project-standing-context)

55 * Il `CLAUDE.md` e le skill in [ogni repository del progetto](#what-threads-pick-up-from-your-repositories), e in un progetto con un repository, anche le regole di permesso e gli hook di quel repository55 * Il `CLAUDE.md` in [ogni repository del progetto](#what-threads-pick-up-from-your-repositories), ma non le skill, il `.claude/settings.json` o il `.mcp.json` dei repository

56 * I [connettori](#get-skills-plugins-connectors-and-tools-into-threads) sul tuo account claude.ai56 * I [connettori](#get-skills-plugins-connectors-and-tools-into-threads) sul tuo account claude.ai

57 * Un [ambiente cloud](#choose-an-environment-for-threads) che imposta il suo accesso di rete, le variabili d'ambiente, i segreti di rete e gli strumenti installati57 * Un [ambiente cloud](#choose-an-environment-for-threads) che imposta il suo accesso di rete, le variabili d'ambiente, i segreti di rete e gli strumenti installati

58* **Il riquadro Overview**: dove [vedi tutti i thread contemporaneamente](#see-what-needs-you-in-overview) e quali di loro hanno bisogno di te. Le sue altre schede sono **Library** per i file che hai aggiunto e i file che i thread hanno prodotto, **Pull requests** per quelle che i thread hanno aperto, e **Scheduled tasks** per il lavoro pianificato nel progetto.58* **Il riquadro Overview**: dove [vedi tutti i thread contemporaneamente](#see-what-needs-you-in-overview) e quali di loro hanno bisogno di te. Le sue altre schede sono **Library** per i file che hai aggiunto e i file che i thread hanno prodotto, **Pull requests** per quelle che i thread hanno aperto, e **Scheduled tasks** per il lavoro pianificato nel progetto.


239 239 

240I thread vengono eseguiti in [auto mode](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) quando il modello del thread lo supporta, quindi la maggior parte delle chiamate di strumento vengono eseguite senza chiederti. Quando un thread ha bisogno della tua approvazione, il prompt è dentro quel thread e il thread aspetta finché non rispondi lì. Dire a Claude nella conversazione del progetto di procedere non lo raggiunge.240I thread vengono eseguiti in [auto mode](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) quando il modello del thread lo supporta, quindi la maggior parte delle chiamate di strumento vengono eseguite senza chiederti. Quando un thread ha bisogno della tua approvazione, il prompt è dentro quel thread e il thread aspetta finché non rispondi lì. Dire a Claude nella conversazione del progetto di procedere non lo raggiunge.

241 241 

242Ogni approvazione copre quella richiesta, o il resto di quel thread se scegli l'opzione più ampia.242Ogni approvazione copre quella richiesta, o il resto di quel thread se scegli l'opzione più ampia. I cloud thread non leggono le [regole di permesso](/docs/it/permissions) dal `.claude/settings.json` di un repository, quindi fai affidamento sulla modalità auto e sulle approvazioni che dai dentro ogni thread.

243 

244Per consentire a ogni thread di eseguire determinati comandi senza chiedere, o per bloccarne alcuni, aggiungi [regole di permesso](/docs/it/permissions) al `.claude/settings.json` del repository. Verifica che i cloud thread del tuo progetto le applichino:

245 

246* **Un repository**: i cloud thread applicano le regole. Vedi [Cosa i thread raccolgono dai tuoi repository](#what-threads-pick-up-from-your-repositories).

247* **Diversi repository, ambiente ospitato da Anthropic**: nessuna regola di permesso di alcun repository raggiunge un cloud thread, quindi fai affidamento sulla modalità auto e sulle approvazioni che dai dentro ogni thread.

248* **Diversi repository, ambiente self-hosted**: vedi [quali impostazioni del repository si applicano](/docs/it/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

249 243 

250### Esegui un thread sul tuo computer244### Esegui un thread sul tuo computer

251 245 


313 307 

314### Decidi quali repository aggiungere308### Decidi quali repository aggiungere

315 309 

316I repository che aggiungi a un progetto vengono forniti con tutto ciò che contengono, il loro codice, `CLAUDE.md` e skill, in ogni thread cloud. I repository che non aggiungi sono comunque raggiungibili: un thread cloud può aggiungerne uno a se stesso quando il suo compito lo richiede. La maggior parte dei progetti utilizza entrambi:310I repository che aggiungi a un progetto vengono forniti con il loro codice e il loro `CLAUDE.md` in ogni thread cloud, ma [non con le loro skill, `.claude/settings.json` o `.mcp.json`](#what-threads-pick-up-from-your-repositories). I repository che non aggiungi sono comunque raggiungibili: un thread cloud può aggiungerne uno a se stesso quando il suo compito lo richiede. La maggior parte dei progetti utilizza entrambi:

317 311 

318* **Aggiungilo al progetto**, nella finestra di dialogo **New project**, in **Project settings > Environment**, oppure chiedendo a Claude nella conversazione di aggiungerlo al progetto. Ogni thread cloud da quel momento in poi lo clona e inizia con il suo `CLAUDE.md` e le sue skill caricati, indipendentemente dal fatto che il compito lo tocchi o meno. Passare da un repository a diversi cambia anche ciò che i thread prendono dal `.claude/settings.json` di ogni repository; vedi [What threads pick up from your repositories](#what-threads-pick-up-from-your-repositories).312* **Aggiungilo al progetto**, nella finestra di dialogo **New project**, in **Project settings > Environment**, oppure chiedendo a Claude nella conversazione di aggiungerlo al progetto. Ogni thread cloud da quel momento in poi lo clona e inizia con il suo `CLAUDE.md` caricato, indipendentemente dal fatto che il compito lo tocchi o meno.

319* **Lascialo fuori e lascia che i thread lo aggiungano quando necessario.** Un thread cloud il cui compito richiede un repository che il progetto non ha può aggiungerlo a se stesso, e una nota nel thread dice che è stato aggiunto solo a questo thread. Il clone avviene a metà del compito, quindi il `CLAUDE.md` e le skill di quel repository non erano presenti quando il thread è iniziato. Il thread successivo inizia senza di esso. Un repository aggiunto in questo modo ha bisogno degli stessi [prerequisiti](#check-the-prerequisites) di un repository del progetto: l'app GitHub di Claude installata su di esso e accesso push dal tuo account GitHub.313* **Lascialo fuori e lascia che i thread lo aggiungano quando necessario.** Un thread cloud il cui compito richiede un repository che il progetto non ha può aggiungerlo a se stesso, e una nota nel thread dice che è stato aggiunto solo a questo thread. Il clone avviene a metà del compito, quindi il `CLAUDE.md` di quel repository non era presente quando il thread è iniziato. Il thread successivo inizia senza di esso. Un repository aggiunto in questo modo ha bisogno degli stessi [prerequisiti](#check-the-prerequisites) di un repository del progetto: l'app GitHub di Claude installata su di esso e accesso push dal tuo account GitHub.

320 314 

321Un progetto non ha bisogno di un repository affatto. I suoi thread cloud possono comunque fare ricerche, scrivere documenti e scrivere ed eseguire codice nella propria sandbox, e consegnano file alla scheda **Library**. Ognuno dei suoi thread cloud può comunque aggiungere un repository a se stesso quando un compito lo richiede.315Un progetto non ha bisogno di un repository affatto. I suoi thread cloud possono comunque fare ricerche, scrivere documenti e scrivere ed eseguire codice nella propria sandbox, e consegnano file alla scheda **Library**. Ognuno dei suoi thread cloud può comunque aggiungere un repository a se stesso quando un compito lo richiede.

322 316 


335 329 

336### Cosa i thread prendono dai tuoi repository330### Cosa i thread prendono dai tuoi repository

337 331 

338Ogni thread cloud clona ogni repository nel progetto e carica `CLAUDE.md` e skill da tutti loro. Le regole di permesso, gli hook e `env` provengono solo dal `.claude/settings.json` nella directory in cui il thread inizia.332I thread cloud caricano le istruzioni `CLAUDE.md` di ogni repository ma non le sue skill, i server di `.mcp.json` o `.claude/settings.json`, indipendentemente dal fatto che il progetto abbia un solo repository o diversi.

339 333 

340| In ogni repository | Un repository | Diversi repository |334| In ogni repository | In un thread cloud |

341| :- | :- | :- |335| :- | :- |

342| `CLAUDE.md` | Caricato quando il thread inizia | Caricato da ogni repository quando il thread inizia |336| `CLAUDE.md`, `.claude/CLAUDE.md` e `.claude/rules/` nella radice del repository | Caricati da ogni repository quando il thread inizia. I file `CLAUDE.md` nelle sottodirectory e le [regole specifiche per percorso](/docs/it/memory#path-specific-rules) non vengono caricati |

343| Skill, agenti e comandi in `.claude/` | Caricati | Caricati da ogni repository |337| Skill in `.claude/skills/` | Non caricate. Abilita invece la skill per il tuo account claude.ai, come descritto in [Ottieni skill, plugin, connettori e strumenti nei thread](#get-skills-plugins-connectors-and-tools-into-threads) |

344| Plugin abilitati in `.claude/settings.json` | Non caricati. Aggiungi invece il plugin in **Project settings > Plugins** | Non caricati. Aggiungi invece il plugin in **Project settings > Plugins** |338| Agenti e comandi in `.claude/` | Non caricati. Per usarli, [esegui il thread sul tuo computer](#run-a-thread-on-your-own-computer) |

345| Regole di permesso, hook e `env` definiti in `.claude/settings.json` | Si applicano al thread, tranne le chiavi `env` che [nessuna sessione cloud onora](/docs/it/cloud-environments#what-carries-over-from-your-setup) | Non si applicano in un ambiente ospitato da Anthropic. Per un ambiente self-hosted, vedi [quali impostazioni del repository si applicano](/docs/it/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories) |339| Server MCP in `.mcp.json` | Non caricati. Usa invece i connettori del tuo account claude.ai, come descritto in [Ottieni skill, plugin, connettori e strumenti nei thread](#get-skills-plugins-connectors-and-tools-into-threads) |

346 340| Plugin abilitati in `.claude/settings.json` | Non caricati. Aggiungi invece il plugin in **Project settings > Plugins** |

347In un progetto con diversi repository, inserisci le regole permanenti nelle istruzioni del progetto e fornisci ai thread le variabili d'ambiente attraverso l'[ambiente cloud](#choose-an-environment-for-threads).341| Regole di permesso in `.claude/settings.json` | Non applicate. Approva le chiamate agli strumenti all'interno del thread, come descritto in [Sblocca un thread in attesa di approvazione](#unblock-a-thread-waiting-on-approval), oppure [esegui il thread sul tuo computer](#run-a-thread-on-your-own-computer) |

342| Hook in `.claude/settings.json` | Non eseguiti. Per usare i tuoi hook, [esegui il thread sul tuo computer](#run-a-thread-on-your-own-computer) |

343| `env` in `.claude/settings.json` | Non applicato. Imposta le variabili d'ambiente nell'[ambiente cloud](#choose-an-environment-for-threads) |

348 344 

349### Scegli un ambiente per i thread345### Scegli un ambiente per i thread

350 346 


356 352 

357I thread cloud non hanno le skill, i server MCP, i plugin e gli strumenti installati solo sulla tua macchina. Un thread che Claude esegue sulla tua macchina attraverso [Remote Control](/docs/it/remote-control) utilizza ciò che è installato lì. Per rendere ciascuno di questi disponibile ai thread cloud:353I thread cloud non hanno le skill, i server MCP, i plugin e gli strumenti installati solo sulla tua macchina. Un thread che Claude esegue sulla tua macchina attraverso [Remote Control](/docs/it/remote-control) utilizza ciò che è installato lì. Per rendere ciascuno di questi disponibile ai thread cloud:

358 354 

359* Skill, subagent e comandi: eseguine il commit in un repository che hai aggiunto al progetto, ad esempio una skill in `.claude/skills/<skill-name>/SKILL.md`. Ogni thread cloud clona ogni repository nel progetto e carica `.claude/skills/`, `.claude/agents/` e `.claude/commands/` da ciascuno di loro, quindi una skill sottoposta a commit in un repository è disponibile in ogni thread cloud. I thread cloud caricano anche le [skill che abiliti per il tuo account claude.ai](/docs/it/skills#skills-in-cowork-and-cloud-sessions).355* Skill: abilitale per il tuo account claude.ai, e i thread cloud caricano le [skill che abiliti lì](/docs/it/skills#skills-in-cowork-and-cloud-sessions), a parte [alcuni thread in un ambiente self-hosted](/docs/it/self-hosted-environments-configuration#how-each-session’s-config-is-assembled). Le skill sottoposte a commit nella directory `.claude/skills/` di un repository non si caricano nei thread cloud.

360* Plugin: aggiungili in **Project settings > Plugins**; si caricano in ogni nuovo thread cloud. I plugin che un repository dichiara nel suo `.claude/settings.json` [non si caricano nei thread cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup).356* Plugin: aggiungili in **Project settings > Plugins**; si caricano in ogni nuovo thread cloud. I plugin che un repository dichiara nel suo `.claude/settings.json` [non si caricano nei thread cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup).

361* Server MCP: i thread cloud ottengono i loro strumenti MCP dai connettori sul tuo account claude.ai, che sono server MCP che colleghi una volta in [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Ogni thread cloud può utilizzarli tutti senza alcuna configurazione per progetto. La conversazione del progetto stessa non ha connettori, quindi invia il lavoro che ne richiede uno come compito per un thread cloud. In un progetto con un repository, i thread cloud caricano anche i server MCP dal [`.mcp.json`](/docs/it/cloud-environments#what-carries-over-from-your-setup) di quel repository. [How connectors reach Claude Code](/docs/it/mcp#how-connectors-reach-claude-code) elenca le regole per le sessioni cloud e le impostazioni che disattivano i connettori.357* Server MCP: i thread cloud ottengono i loro strumenti MCP dai connettori sul tuo account claude.ai, che sono server MCP che colleghi una volta in [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Ogni thread cloud può utilizzarli tutti senza alcuna configurazione per progetto. La conversazione del progetto stessa non ha connettori, quindi invia il lavoro che ne richiede uno come compito per un thread cloud. [How connectors reach Claude Code](/docs/it/mcp#how-connectors-reach-claude-code) elenca le regole per le sessioni cloud e le impostazioni che disattivano i connettori.

362* Strumenti da riga di comando e pacchetti: installali nello [script di setup](/docs/it/cloud-environments#setup-scripts) dell'ambiente.358* Strumenti da riga di comando e pacchetti: installali nello [script di setup](/docs/it/cloud-environments#setup-scripts) dell'ambiente.

363 359 

364Per vedere quali connettori ha un thread cloud in esecuzione in claude.ai/code, apri il thread e seleziona **Connectors** dal menu **+** accanto alla sua casella di messaggio. Disattivare un connettore lì lo rimuove da quel thread e lo salva come impostazione predefinita del tuo account, quindi i nuovi thread e le chat claude.ai iniziano senza di esso fino a quando non lo riattivi. Un thread cloud raccoglie un connettore che aggiungi o riconnetti dopo il prossimo messaggio che gli invii.360Per vedere quali connettori ha un thread cloud in esecuzione in claude.ai/code, apri il thread e seleziona **Connectors** dal menu **+** accanto alla sua casella di messaggio. Disattivare un connettore lì lo rimuove da quel thread e lo salva come impostazione predefinita del tuo account, quindi i nuovi thread e le chat claude.ai iniziano senza di esso fino a quando non lo riattivi. Un thread cloud raccoglie un connettore che aggiungi o riconnetti dopo il prossimo messaggio che gli invii.

Details

8 8 

9Il Claude Security plugin esegue una scansione multi-agente delle vulnerabilità del tuo codebase all'interno di una sessione Claude Code. Un team di agenti Claude mappa la tua architettura, costruisce un modello di minaccia, ricerca le vulnerabilità e esamina in modo indipendente ogni risultato prima di scrivere il rapporto. Utilizza il plugin per scansionare un intero repository o [solo un set di modifiche](#scan-only-your-changes), come il diff di un branch, il diff di una pull request o un singolo commit, quindi trasforma i risultati che scegli in patch che esamini e applichi tu stesso.9Il Claude Security plugin esegue una scansione multi-agente delle vulnerabilità del tuo codebase all'interno di una sessione Claude Code. Un team di agenti Claude mappa la tua architettura, costruisce un modello di minaccia, ricerca le vulnerabilità e esamina in modo indipendente ogni risultato prima di scrivere il rapporto. Utilizza il plugin per scansionare un intero repository o [solo un set di modifiche](#scan-only-your-changes), come il diff di un branch, il diff di una pull request o un singolo commit, quindi trasforma i risultati che scegli in patch che esamini e applichi tu stesso.

10 10 

11Il plugin viene eseguito localmente nella tua sessione, utilizza [qualsiasi modello tu abbia accesso in Claude Code](#models-and-providers), e ogni scansione conta verso il tuo [utilizzo](/docs/it/costs). Se desideri un servizio gestito che monitori i tuoi repository, o desideri eseguire scansioni su [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5), consulta il prodotto [Claude Security](https://claude.com/product/claude-security), disponibile nel piano Enterprise. Il plugin raggiunge il codice che il prodotto gestito non può raggiungere, come i repository ospitati su GitLab o Bitbucket, o su reti che non consentono connessioni in entrata.11Il plugin viene eseguito localmente nella tua sessione, utilizza [qualsiasi modello tu abbia accesso in Claude Code](#models-and-providers), e ogni scansione conta verso il tuo [utilizzo](/docs/it/costs). Se desideri un servizio gestito che monitori i tuoi repository, o desideri eseguire scansioni su [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5), consulta il prodotto [Claude Security](https://claude.com/product/claude-security), disponibile nel piano Enterprise.

12 12 

13Il plugin è anche distinto dagli strumenti di revisione già presenti in Claude Code: il [plugin di guida sulla sicurezza](/docs/it/security-guidance) esamina il codice mentre Claude lo scrive, [`/security-review`](/docs/it/commands#all-commands) esegue un singolo passaggio sul tuo branch, e [Code Review](/docs/it/code-review) esamina le pull request. Per come i livelli si sovrappongono, consulta [Come il plugin si integra con altri strumenti di sicurezza](#how-the-plugin-fits-with-other-security-tools).13Il plugin è anche distinto dagli strumenti di revisione già presenti in Claude Code: il [plugin di guida sulla sicurezza](/docs/it/security-guidance) esamina il codice mentre Claude lo scrive, [`/security-review`](/docs/it/commands#all-commands) esegue un singolo passaggio sul tuo branch, e [Code Review](/docs/it/code-review) esamina le pull request. Per come i livelli si sovrappongono, consulta [Come il plugin si integra con altri strumenti di sicurezza](#how-the-plugin-fits-with-other-security-tools).

14 14 

Details

164 164 

165### Archiviare un ambiente165### Archiviare un ambiente

166 166 

167Per archiviare uno dei tuoi ambienti, aprilo per la modifica, seleziona **Archive environment** e conferma. Se l'ambiente è [condiviso con la tua organizzazione](#organization-shared-environments), è invece un Owner ad archiviarlo dalla pagina **Cloud environments** nelle [impostazioni di amministrazione](https://claude.ai/admin-settings), quindi chiedi a un Owner, a meno che tu non lo sia. Non puoi eliminare un ambiente, solo archiviarlo.167Per archiviare uno dei tuoi ambienti, aprilo per la modifica, seleziona **Archive environment** e conferma. Se l'ambiente è [condiviso con la tua organizzazione](#organization-shared-environments), è invece un Owner ad archiviarlo dalla pagina **Cloud environments** nelle [impostazioni di amministrazione](https://claude.ai/admin-settings), quindi chiedi a un Owner, a meno che tu non lo sia.

168 168 

169L'archiviazione influisce sulle nuove sessioni, non su quelle in esecuzione:169L'archiviazione influisce sulle nuove sessioni, non su quelle in esecuzione:

170 170 


175 * **Default CLI salvato**: se l'ambiente era il tuo [default CLI](#select-an-environment-from-the-cli) salvato, Claude Code avvia le sessioni cloud CLI nell'ambiente ospitato da Anthropic quando il tuo elenco ne ha uno. Altrimenti, le avvia nel primo ambiente del tuo elenco che non è un [ambiente bridge Remote Control](#the-default-environment).175 * **Default CLI salvato**: se l'ambiente era il tuo [default CLI](#select-an-environment-from-the-cli) salvato, Claude Code avvia le sessioni cloud CLI nell'ambiente ospitato da Anthropic quando il tuo elenco ne ha uno. Altrimenti, le avvia nel primo ambiente del tuo elenco che non è un [ambiente bridge Remote Control](#the-default-environment).

176 * **Configurato esplicitamente**: qualsiasi cosa configurata esplicitamente con l'ambiente, come un'[attività pianificata cloud](/docs/it/routines#environments-and-network-access), non può avviare nuove sessioni in esso. Puntala a un altro ambiente.176 * **Configurato esplicitamente**: qualsiasi cosa configurata esplicitamente con l'ambiente, come un'[attività pianificata cloud](/docs/it/routines#environments-and-network-access), non può avviare nuove sessioni in esso. Puntala a un altro ambiente.

177 177 

178Quando non ti serve più un ambiente ospitato da Anthropic, archivialo. Né la finestra di dialogo dell'ambiente né la pagina di amministrazione **Cloud environments** offrono un'opzione per eliminare un ambiente ospitato da Anthropic. Se l'ambiente è [self-hosted](/docs/it/self-hosted-environments), un Owner può eliminarlo dalla pagina **Cloud environments** nelle impostazioni di amministrazione. Se non sei un Owner, chiedi a un Owner di eliminarlo.

179 

178### Ambienti condivisi dell'organizzazione180### Ambienti condivisi dell'organizzazione

179 181 

180Sui piani Team ed Enterprise, un Owner può creare ambienti cloud che sono condivisi con ogni membro dell'organizzazione. Lo stesso ruolo gestisce tutto il resto sulla pagina **Cloud environments** dell'amministrazione, inclusi gli [ambienti self-hosted](/docs/it/self-hosted-environments); il ruolo Admin non può aprire la pagina. L'elenco completo dei ruoli che possono aprirla è quello per [gestire le impostazioni gestite dal server](/docs/it/server-managed-settings#access-control).182Sui piani Team ed Enterprise, un Owner può creare ambienti cloud che sono condivisi con ogni membro dell'organizzazione. Lo stesso ruolo gestisce tutto il resto sulla pagina **Cloud environments** dell'amministrazione, inclusi gli [ambienti self-hosted](/docs/it/self-hosted-environments); il ruolo Admin non può aprire la pagina. L'elenco completo dei ruoli che possono aprirla è quello per [gestire le impostazioni gestite dal server](/docs/it/server-managed-settings#access-control).


275 277 

276### Cosa viene trasferito dalla tua configurazione278### Cosa viene trasferito dalla tua configurazione

277 279 

280> [!NOTE]

281>

282> Della configurazione del repository riportata in questa tabella, un thread cloud in un [progetto](/docs/it/claude-projects) carica solo i file `CLAUDE.md`, `.claude/CLAUDE.md` e `.claude/rules/` nella radice del repository che non sono [specifici per percorso](/docs/it/memory#path-specific-rules). Consulta [Cosa recuperano i thread dai tuoi repository](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories).

283 

278Le sessioni cloud partono da un clone nuovo del tuo repository. Tutto ciò di cui fai il commit nel repository è disponibile. Tutto ciò che hai installato o configurato solo sulla tua macchina non è disponibile nella sessione. La policy della tua organizzazione arriva separatamente tramite le [impostazioni gestite dal server](/docs/it/server-managed-settings).284Le sessioni cloud partono da un clone nuovo del tuo repository. Tutto ciò di cui fai il commit nel repository è disponibile. Tutto ciò che hai installato o configurato solo sulla tua macchina non è disponibile nella sessione. La policy della tua organizzazione arriva separatamente tramite le [impostazioni gestite dal server](/docs/it/server-managed-settings).

279 285 

280| | Disponibile nelle sessioni cloud | Perché |286| | Disponibile nelle sessioni cloud | Perché |


465 471 

466Se si hanno hook SessionStart nel file `~/.claude/settings.json` a livello di utente, non aspettarsi che siano nel cloud. Le impostazioni a livello di utente rimangono sulla macchina. Quali altri hook vengono eseguiti dipende da dove viene eseguita la sessione:472Se si hanno hook SessionStart nel file `~/.claude/settings.json` a livello di utente, non aspettarsi che siano nel cloud. Le impostazioni a livello di utente rimangono sulla macchina. Quali altri hook vengono eseguiti dipende da dove viene eseguita la sessione:

467 473 

468* **Ambiente ospitato da Anthropic**: Claude Code esegue gli hook dal repository e dalle [impostazioni gestite dal server](/docs/it/server-managed-settings) dell'organizzazione. Le sessioni [Claude Tag](https://claude.com/docs/claude-tag/overview) non ricevono impostazioni gestite dal server, quindi gli hook dalle impostazioni gestite dal server non vengono eseguiti lì.474* **Ambiente ospitato da Anthropic**: Claude Code esegue gli hook dalle [impostazioni gestite dal server](/docs/it/server-managed-settings) della tua organizzazione e, al di fuori di un thread di un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), dal repository. Le sessioni [Claude Tag](https://claude.com/docs/claude-tag/overview) non ricevono impostazioni gestite dal server, quindi gli hook dalle impostazioni gestite dal server non vengono eseguiti lì.

469* **[Ambiente self-hosted](/docs/it/self-hosted-environments-configuration#permissions-and-tool-approval)**: Claude Code esegue anche gli hook che l'operatore ha seminato da `~/.claude/` dell'host del runner, e gli hook nel file di impostazioni gestite dell'immagine del runner quando quel file è uno dei [fonti gestite che Claude Code applica](/docs/it/managed-settings#how-claude-code-combines-managed-sources).475* **[Ambiente self-hosted](/docs/it/self-hosted-environments-configuration#permissions-and-tool-approval)**: Claude Code esegue anche gli hook che l'operatore ha seminato da `~/.claude/` dell'host del runner, e gli hook nel file di impostazioni gestite dell'immagine del runner quando quel file è uno dei [fonti gestite che Claude Code applica](/docs/it/managed-settings#how-claude-code-combines-managed-sources).

470 476 

471### Installare dipendenze con un hook SessionStart477### Installare dipendenze con un hook SessionStart

472 478 

473Per installare dipendenze solo nelle sessioni cloud, abbinare un hook SessionStart con uno script che controlla dove viene eseguito.479Per installare dipendenze solo nelle sessioni cloud al di fuori di un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), abbina un hook SessionStart a uno script che controlla dove viene eseguito.

474 480 

475Innanzitutto, aggiungere un hook SessionStart al `.claude/settings.json` del repository. Questa configurazione dice a Claude Code di eseguire `scripts/install_pkgs.sh` dal repository ogni volta che una sessione si avvia o riprende:481Innanzitutto, aggiungere un hook SessionStart al `.claude/settings.json` del repository. Questa configurazione dice a Claude Code di eseguire `scripts/install_pkgs.sh` dal repository ogni volta che una sessione si avvia o riprende:

476 482 


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

533 539 

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

541* **Non nei thread cloud di un progetto**: un thread cloud in un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories) non esegue gli hook dal `.claude/settings.json` di un repository, qualunque sia il numero di repository. In un ambiente ospitato da Anthropic, installa le dipendenze per i thread con uno [script di configurazione](#setup-scripts). In un ambiente self-hosted, usa invece un hook nelle [impostazioni dell'host del runner](/docs/it/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

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

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

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

Details

92 92 

93Limita `REVIEW.md` alle istruzioni che cambiano il comportamento della revisione e lascia il contesto generale del progetto in `CLAUDE.md`.93Limita `REVIEW.md` alle istruzioni che cambiano il comportamento della revisione e lascia il contesto generale del progetto in `CLAUDE.md`.

94 94 

95### Includere altri file in REVIEW\.md

96 

97Puoi suddividere le istruzioni di revisione in più file e importarli nel tuo `REVIEW.md` root. Usa questa possibilità quando `REVIEW.md` diventa lungo o quando conservi già le regole di revisione in un altro file.

98 

99Per includere un file, aggiungi al `REVIEW.md` root una riga che contenga solo `@` e il nome del file. Code Review inserisce il contenuto del file al posto di quella riga, così si applica come parte di `REVIEW.md`. In questo esempio, il file root fornisce una propria istruzione e poi include due file di regole:

100 

101```markdown theme={null}

102# Review instructions

103 

104Report at most five Nits per review.

105 

106@review-security.md

107@review-api.md

108```

109 

110Salva i file inclusi nella root del repository, accanto a `REVIEW.md`:

111 

112```text theme={null}

113your-repo/

114├── REVIEW.md

115├── review-security.md

116└── review-api.md

117```

118 

119Code Review include i file quando legge `REVIEW.md` da un branch protetto, quindi verifica [quale branch legge una revisione per il tuo repository](#what-a-review-reads-for-each-branch-setup):

120 

121* **Branch protetto**: Code Review inserisce il file incluso al posto della sua riga `@`

122* **Branch predefinito non protetto**: la riga `@` rimane in `REVIEW.md` come testo semplice. Se la pull request modifica il file indicato dalla riga, la riga viene omessa.

123 

124Quando una revisione non applica un file incluso, verifica ciascuno di questi punti:

125 

126* **Posizione**: sposta il file nella root del repository. Un percorso verso una sottodirectory come `@docs/review-rules.md` non viene incluso.

127* **Nome**: fai corrispondere esattamente il nome del file, maiuscole e minuscole comprese, e usa un nome senza spazi. Una riga il cui nome non corrisponde a nessun file accanto a `REVIEW.md` rimane in `REVIEW.md` come testo semplice, e il check run non la segnala come inclusione saltata.

128* **Un solo livello**: elenca ogni file nel `REVIEW.md` root. Una riga `@` in un file incluso o in un `REVIEW.md` di una sottodirectory rimane come testo semplice, e un link Markdown a un altro file non è un'inclusione.

129* **Limiti**: includi al massimo otto file diversi e mantieni `REVIEW.md` e i file che include sotto i 150.000 byte complessivi. Un file che raggiungerebbe il limite di byte viene saltato per intero, non troncato. Il check run riporta quante righe di inclusione ha saltato per ciascuno dei due limiti.

130* **Link**: mantieni i link Markdown a un massimo di 64 tra `REVIEW.md` e i file che include. I link a indirizzi `http`, `https` o `mailto` e ad ancore `#` non contano. Oltre quel limite, la revisione salta l'intero `REVIEW.md` root, non solo i file inclusi. Il check run allora [indica che le istruzioni non sono state applicate](/docs/it/code-review-troubleshooting#the-check-run-mentions-review-md).

131* **Copia unita**: esegui il merge del file incluso nel [branch da cui viene letto `REVIEW.md`](#which-branch-review-md-is-read-from). La revisione legge entrambi dallo stesso commit, mai dalle modifiche della pull request stessa.

132 

95### Da quale branch viene letto REVIEW\.md133### Da quale branch viene letto REVIEW\.md

96 134 

97Code Review legge `REVIEW.md` dal branch di base della pull request o dal branch predefinito, mai dalle modifiche della pull request stessa. Per cambiare il comportamento della revisione, esegui prima il merge della modifica a `REVIEW.md`.135Code Review legge `REVIEW.md` dal branch di base della pull request o dal branch predefinito, mai dalle modifiche della pull request stessa. Per cambiare il comportamento della revisione, esegui prima il merge della modifica a `REVIEW.md`.


117 155 

118| Protezione del branch | Copia letta | File letti |156| Protezione del branch | Copia letta | File letti |

119| :- | :- | :- |157| :- | :- | :- |

120| Il branch predefinito è protetto e la pull request punta a esso o a un branch non protetto da alcun ruleset | Branch predefinito | File root e delle sottodirectory |158| Il branch predefinito è protetto e la pull request punta a esso o a un branch non protetto da alcun ruleset | Branch predefinito | File root, i file che include e i file delle sottodirectory |

121| La pull request punta a un altro branch protetto da un ruleset | Quel branch di base | File root e delle sottodirectory |159| La pull request punta a un altro branch protetto da un ruleset | Quel branch di base | File root, i file che include e i file delle sottodirectory |

122| Il branch predefinito non è protetto e il branch di base non ha regole di protezione di nessuno dei due tipi | Branch predefinito | File root |160| Il branch predefinito non è protetto e il branch di base non ha regole di protezione di nessuno dei due tipi | Branch predefinito | File root |

123| Code Review non riesce a confermare le impostazioni di protezione. Questo include un branch predefinito non protetto con un branch di base che ha solo una regola classica | Nessuna | Nessuno |161| Code Review non riesce a confermare le impostazioni di protezione. Questo include un branch predefinito non protetto con un branch di base che ha solo una regola classica | Nessuna | Nessuno |

124 162 

Details

55 55 

56### Leggere il risultato da uno script56### Leggere il risultato da uno script

57 57 

58Per vincolare un merge o pubblicare un riepilogo dalla tua CI, analizza l'ultima riga del testo Details con `gh` e jq. Quella riga è un commento leggibile dalla macchina.58Per vincolare un merge o pubblicare un riepilogo dalla tua CI, analizza l'ultima riga del testo Details con `gh` e jq. Quella riga è un commento HTML che contiene i conteggi per gravità in formato JSON:

59 

60```text theme={null}

61<!-- bughunter-severity: {"nit":1,"normal":2,"pre_existing":0} -->

62```

63 

64Le righe precedenti possono includere nomi di file della pull request. Se analizzi il testo a modo tuo, prendi i conteggi solo dall'ultima riga, come fa il comando in questi passaggi.

59 65 

60**1. Trova l'ID del check run**66**1. Trova l'ID del check run**

61 67 


67 73 

68**2. Leggi i conteggi per gravità**74**2. Leggi i conteggi per gravità**

69 75 

70Leggi i conteggi da quel check run, sostituendo `CHECK_RUN_ID` con l'ID:76Leggi i conteggi dal campo `output.text` del check run, che contiene il testo Details. Sostituisci `CHECK_RUN_ID` con l'ID:

71 77 

72```bash theme={null}78```bash theme={null}

73gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \79gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID --jq '

74 --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'80 (.output.text | split("\n") | last

81 | scan("^<!-- bughunter-severity: (.*) -->$")[0] | fromjson)?

82 // error("no severity line")'

75```83```

76 84 

77Questo stampa un oggetto JSON con un conteggio per ciascuna gravità e le chiavi in ordine alfabetico, ad esempio `{"nit": 1, "normal": 2, "pre_existing": 0}`. I conteggi includono i risultati delle revisioni precedenti della pull request i cui thread sono ancora aperti.85Questo stampa un oggetto JSON con un conteggio per ciascuna gravità e le chiavi in ordine alfabetico, ad esempio `{"nit": 1, "normal": 2, "pre_existing": 0}`. I conteggi includono i risultati delle revisioni precedenti della pull request i cui thread sono ancora aperti.


80 88 

81Fai in modo che il tuo script gestisca questi casi:89Fai in modo che il tuo script gestisca questi casi:

82 90 

83* **`normal` è maggiore di zero**: fai fallire il job se vuoi vincolare il merge. La chiave `normal` contiene il conteggio dei risultati Important, quindi Claude ha trovato almeno un bug che vale la pena correggere prima del merge.91* **`normal` è maggiore di zero**: fai fallire il job se vuoi vincolare il merge. La chiave `normal` contiene il conteggio dei risultati Important, quindi Claude ha trovato almeno un bug che vale la pena correggere prima del merge. Per stampare solo quel conteggio, aggiungi `| .normal` prima dell'apice singolo di chiusura.

84* **La riga è assente**: trattala come assenza di verdetto anziché come zero risultati. Un check run per una revisione che è fallita, è andata in timeout, è stata annullata o è stata sostituita da una più recente non ha tale riga, e nemmeno alcune revisioni completate ce l'hanno.92* **La riga è assente**: il comando stampa un errore che contiene `no severity line` invece dei conteggi ed esce con uno stato diverso da zero. Trattalo come assenza di verdetto anziché come zero risultati. Un check run per una revisione che è fallita, è andata in timeout, è stata annullata o è stata sostituita da una più recente non ha tale riga, e nemmeno alcune revisioni completate ce l'hanno.

85 93 

86## Richiedere una revisione94## Richiedere una revisione

87 95 


99 107 

100| Comando | Cosa fa | Quando usarlo |108| Comando | Cosa fa | Quando usarlo |

101| :- | :- | :- |109| :- | :- | :- |

102| `@claude review` | Avvia una singola revisione senza sottoscrivere la PR ai push futuri | Vuoi una revisione adesso, ad esempio su una pull request in un repository impostato su Manual, oppure un'altra revisione immediata nelle altre modalità |110| `@claude review` | Avvia una singola revisione senza sottoscrivere la PR ai push futuri | Vuoi una revisione adesso, ad esempio su una pull request in un repository impostato su **Manual**, oppure un'altra revisione immediata nelle altre modalità |

103| `@claude review always` | Avvia una revisione e sottoscrive la PR alle revisioni attivate dai push da quel momento in poi | Vuoi che ogni push successivo avvii una nuova revisione, ad esempio su una PR ad alta priorità in un repository impostato su Manual |111| `@claude review always` | Avvia una revisione e sottoscrive la PR alle revisioni attivate dai push da quel momento in poi | Vuoi che ogni push successivo avvii una nuova revisione, ad esempio su una PR ad alta priorità in un repository impostato su **Manual** |

104| `@claude review once` | Uguale a `@claude review`: avvia una singola revisione senza sottoscrivere | Gli stessi casi di `@claude review` |112| `@claude review once` | Uguale a `@claude review`: avvia una singola revisione senza sottoscrivere | Gli stessi casi di `@claude review` |

113| `@claude review stop` | Termina la sottoscrizione della PR alle revisioni attivate dai push, senza avviare una revisione né annullarne una già in coda o in esecuzione. Claude risponde con un commento invece che con un check run. | Hai sottoscritto una PR con `@claude review always` in un repository impostato su **Manual** o **Once after PR creation** e non vuoi più che ogni push avvii una revisione |

114| `@claude review off` o `@claude review pause` | Uguale a `@claude review stop` | Gli stessi casi di `@claude review stop` |

115 

116In un repository impostato su **After every push**, non puoi interrompere le revisioni con un commento, perché lì i push avviano revisioni con o senza sottoscrizione. Per impedire che i push avviino revisioni su una singola pull request in quel caso, convertila in [bozza](#review-drafts-and-pull-requests-from-forks). Quando la contrassegni di nuovo come pronta per la revisione, si avvia una revisione.

105 117 

106Affinché uno qualsiasi di questi comandi avvii una revisione, devono essere soddisfatte tutte queste condizioni:118Affinché uno qualsiasi dei comandi nei commenti abbia effetto, devono essere soddisfatte tutte queste condizioni:

107 119 

108* Pubblicalo come nuovo commento di primo livello sulla pull request, non come commento inline su una riga del diff né nel corpo di una revisione. La modifica di un commento precedente non conta.120* Pubblicalo come nuovo commento di primo livello sulla pull request, non come commento inline su una riga del diff né nel corpo di una revisione. La modifica di un commento precedente non conta.

109* Metti il comando all'inizio del commento, con `always` sulla stessa riga del resto del comando. Le maiuscole non contano.121* Metti l'intero comando su una sola riga all'inizio del commento. Può essere seguito da altro testo. Se `always` o `stop` è scritto in modo errato o si trova su una riga successiva, Claude interpreta il commento come un semplice `@claude review` e avvia una singola revisione. Le maiuscole non contano.

110* Ti servono i permessi write, maintain o admin sul repository. Claude lo verifica con GitHub per ogni persona che commenta, e i commenti dei bot non avviano revisioni.122* Ti servono i permessi write, maintain o admin sul repository. Claude lo verifica con GitHub per ogni persona che commenta, e i commenti dei bot non avviano revisioni.

111* La pull request deve essere aperta.123* La pull request deve essere aperta.

112 124 

113Quando il comando viene accettato, sulla pull request appare un check run **Claude Code Review** con il titolo **Code review queued...**. Il titolo cambia in **Code review in progress...** quando la revisione inizia. Claude può anche reagire al tuo commento con 👀, ma quella reazione può comparire anche quando non si avvia alcuna revisione, quindi cerca piuttosto il check run.125Quando un comando che avvia una revisione viene accettato, sulla pull request appare un check run **Claude Code Review** con il titolo **Code review queued...**. Il titolo cambia in **Code review in progress...** quando la revisione inizia. Claude può anche reagire al tuo commento con 👀, ma quella reazione può comparire anche quando non si avvia alcuna revisione, quindi cerca piuttosto il check run.

114 126 

115Se una revisione è già in esecuzione sull'ultimo commit della pull request, una nuova richiesta non ne avvia una seconda.127Se una revisione è già in esecuzione sull'ultimo commit della pull request, una nuova richiesta non ne avvia una seconda.

116 128 

Details

66 66 

67## Il check run menziona REVIEW\.md67## Il check run menziona REVIEW\.md

68 68 

69Due dei messaggi che un check run può riportare su `REVIEW.md` riguardano la protezione del branch:69Questi sono tre dei messaggi che un check run può riportare su `REVIEW.md`:

70 70 

71* **"This review applied the repository's review instructions (REVIEW\.md) from its default branch, which is not protected against direct pushes."**: la revisione ha letto solo il file nella radice. Consulta [Da quale branch viene letto REVIEW.md](/docs/it/code-review-customize#which-branch-review-md-is-read-from) per sapere cosa cambia proteggendo il branch.71* **"This review applied the repository's review instructions (REVIEW\.md) from its default branch, which is not protected against direct pushes."**: la revisione ha letto solo il file nella radice. Consulta [Da quale branch viene letto REVIEW.md](/docs/it/code-review-customize#which-branch-review-md-is-read-from) per sapere cosa cambia proteggendo il branch.

72* **"were not applied to this review: branch protection could not be confirmed"**: la revisione non ha letto alcun `REVIEW.md`.72* **"were not applied to this review: branch protection could not be confirmed"**: la revisione non ha letto alcun `REVIEW.md`.

73* **"they link to a file this pull request modifies, or carry more links than the review checks"**: la revisione ha ignorato il `REVIEW.md` nella radice, oppure il numero di file `REVIEW.md` nelle sottodirectory indicato dal messaggio. Controlla il file ignorato per ciascuna causa. Per il `REVIEW.md` nella radice, controlla anche i [file che include](/docs/it/code-review-customize#include-other-files-in-review-md):

74 * **Troppi link**: contiene più di 64 link Markdown. Riduci i link a [64 o meno](/docs/it/code-review-customize#include-other-files-in-review-md).

75 * **Un link che la revisione non riesce ad analizzare**: contiene un link Markdown malformato. Correggi o rimuovi il link.

76 * **Un link a un file modificato**: contiene un link a un file o a una cartella che questa pull request modifica, e la revisione non è riuscita a escludere solo le righe con quel link. Scrivi la regola direttamente in `REVIEW.md`.

73 77 

74## Problemi di configurazione78## Problemi di configurazione

75 79 

commands.md +4 −4

Details

55| `/artifact-capabilities` | **[Skill](/docs/it/skills#bundled-skills).** Carica il riferimento per le funzionalità di runtime che un [artefatto](/docs/it/artifacts) pubblicato può usare, come [chiamare i tuoi connettori](/docs/it/artifacts#pull-live-data-with-mcp-connectors) o [offrire il download di un file](/docs/it/artifacts#offer-a-file-download), incluse quelle disponibili per il tuo account. Claude normalmente lo carica di propria iniziativa prima di creare una pagina che ne usa una. Disponibile dove sono disponibili gli [artefatti](/docs/it/artifacts#availability) |55| `/artifact-capabilities` | **[Skill](/docs/it/skills#bundled-skills).** Carica il riferimento per le funzionalità di runtime che un [artefatto](/docs/it/artifacts) pubblicato può usare, come [chiamare i tuoi connettori](/docs/it/artifacts#pull-live-data-with-mcp-connectors) o [offrire il download di un file](/docs/it/artifacts#offer-a-file-download), incluse quelle disponibili per il tuo account. Claude normalmente lo carica di propria iniziativa prima di creare una pagina che ne usa una. Disponibile dove sono disponibili gli [artefatti](/docs/it/artifacts#availability) |

56| `/artifact-diagramming` | **[Skill](/docs/it/skills#bundled-skills).** Carica le linee guida sui diagrammi che Claude deve seguire negli [artefatti](/docs/it/artifacts): quando un diagramma è utile, cosa disegnare e come scrivere SVG inline che resti leggibile nei temi chiaro e scuro. Richiede Claude Code v2.1.221 o successiva |56| `/artifact-diagramming` | **[Skill](/docs/it/skills#bundled-skills).** Carica le linee guida sui diagrammi che Claude deve seguire negli [artefatti](/docs/it/artifacts): quando un diagramma è utile, cosa disegnare e come scrivere SVG inline che resti leggibile nei temi chiaro e scuro. Richiede Claude Code v2.1.221 o successiva |

57| `/artifacts` | Elenca gli [artefatti](/docs/it/artifacts#find-an-artifact-again) di tua proprietà o condivisi con te, poi ti permette di allegarne uno alla sessione, aprirlo nel browser o copiarne il link. Disponibile dove sono disponibili gli [artefatti](/docs/it/artifacts#availability). Richiede Claude Code v2.1.208 o successiva; l'allegamento con `Enter` richiede la v2.1.216 |57| `/artifacts` | Elenca gli [artefatti](/docs/it/artifacts#find-an-artifact-again) di tua proprietà o condivisi con te, poi ti permette di allegarne uno alla sessione, aprirlo nel browser o copiarne il link. Disponibile dove sono disponibili gli [artefatti](/docs/it/artifacts#availability). Richiede Claude Code v2.1.208 o successiva; l'allegamento con `Enter` richiede la v2.1.216 |

58| `/auto-mode-setup` | [Genera una bozza di voci `autoMode.environment`](/docs/it/auto-mode-config#generate-environment-entries) dal tuo progetto e dalle sessioni recenti, poi ti permette di rivedere la bozza e salvarla nelle tue impostazioni utente. Richiede un piano Pro, Max o Team e Claude Code v2.1.228 o successiva. Su Windows nativo, richiede la v2.1.233 o successiva |58| `/auto-mode-setup` | [Genera una bozza di voci `autoMode.environment`](/docs/it/auto-mode-config#generate-environment-entries) dal tuo progetto e dalle sessioni recenti, poi ti permette di rivedere la bozza e salvarla nelle tue impostazioni utente. Su un piano Pro, Max o Team, richiede Claude Code v2.1.228 o successiva, oppure la v2.1.233 o successiva su Windows nativo. Su un piano Enterprise o con una chiave API della Claude Console, richiede la v2.1.283 o successiva. Se il comando non è presente, consulta [`/auto-mode-setup` returns "Unknown command"](/docs/it/auto-mode-config#auto-mode-setup-returns-unknown-command) |

59| `/autocompact [auto\|<tokens>]` | Imposta la finestra di compattazione automatica: quanto si riempie la finestra di contesto prima che Claude Code esegua la compattazione automaticamente. Passa una dimensione come `500k`, oppure `auto` per tornare alla finestra ottimizzata per il tuo modello. Claude Code salva il valore nelle impostazioni utente e lo applica alla sessione corrente. Consulta [Impostare la finestra di compattazione automatica](/docs/it/model-config#set-the-auto-compact-window) per i valori accettati e ciò che lo sovrascrive. Senza argomento, apre una finestra di dialogo che mostra la finestra corrente. Richiede Claude Code v2.1.221 o successiva |59| `/autocompact [auto\|<tokens>]` | Imposta la finestra di compattazione automatica: quanto si riempie la finestra di contesto prima che Claude Code esegua la compattazione automaticamente. Passa una dimensione come `500k`, oppure `auto` per tornare alla finestra ottimizzata per il tuo modello. Claude Code salva il valore nelle impostazioni utente e lo applica alla sessione corrente. Consulta [Impostare la finestra di compattazione automatica](/docs/it/model-config#set-the-auto-compact-window) per i valori accettati e ciò che lo sovrascrive. Senza argomento, apre una finestra di dialogo che mostra la finestra corrente. Richiede Claude Code v2.1.221 o successiva |

60| `/autofix-pr [prompt]` | Avvia una [sessione cloud](/docs/it/claude-code-on-the-web#auto-fix-pull-requests) che monitora la PR del branch corrente ed esegue il push delle correzioni quando la CI fallisce o i revisori lasciano commenti. Rileva la PR aperta dal branch di cui hai eseguito il checkout con `gh pr view`; per monitorare una PR diversa, esegui prima il checkout del suo branch. Per impostazione predefinita, alla sessione cloud viene indicato di correggere ogni errore della CI e ogni commento di revisione; passa un prompt per darle istruzioni diverse, ad esempio `/autofix-pr only fix lint and type errors`. Richiede la CLI `gh` e l'accesso alle [sessioni cloud](/docs/it/claude-code-on-the-web) |60| `/autofix-pr [prompt]` | Avvia una [sessione cloud](/docs/it/claude-code-on-the-web#auto-fix-pull-requests) che monitora la PR del branch corrente ed esegue il push delle correzioni quando la CI fallisce o i revisori lasciano commenti. Rileva la PR aperta dal branch di cui hai eseguito il checkout con `gh pr view`; per monitorare una PR diversa, esegui prima il checkout del suo branch. Per impostazione predefinita, alla sessione cloud viene indicato di correggere ogni errore della CI e ogni commento di revisione; passa un prompt per darle istruzioni diverse, ad esempio `/autofix-pr only fix lint and type errors`. Richiede la CLI `gh` e l'accesso alle [sessioni cloud](/docs/it/claude-code-on-the-web) |

61| `/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` |61| `/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| `/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` |65| `/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` |

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

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

68| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|managed-agents-secure\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/it/skills#bundled-skills).** Carica il materiale di riferimento di [Claude API](https://platform.claude.com/docs/en/api/overview) e [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) per il linguaggio del tuo progetto. Si attiva anche automaticamente quando il tuo codice importa `anthropic` o `@anthropic-ai/sdk`. Per sapere cosa fa ogni sottocomando e quale versione richiede, consulta [Lavorare su progetti Claude API](/docs/it/skills#work-on-claude-api-projects) |68| `/claude-api [migrate\|upgrade\|api-version\|managed-agents-onboard\|managed-agents-secure\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/it/skills#bundled-skills).** Carica il materiale di riferimento di [Claude API](https://platform.claude.com/docs/en/api/overview) e [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) per il linguaggio del tuo progetto. Si attiva anche automaticamente quando il tuo codice importa `anthropic` o `@anthropic-ai/sdk`. Per sapere cosa fa ogni sottocomando e quale versione richiede, consulta [Lavorare su progetti Claude API](/docs/it/skills#work-on-claude-api-projects) |

69| `/claude-in-chrome [task]` | **[Skill](/docs/it/skills#bundled-skills).** Fa svolgere a Claude un'attività nel tuo browser, come testare una pagina, compilare un modulo o leggere i log della console, tramite [Claude in Chrome](/docs/it/chrome). Disponibile quando l'integrazione con Chrome è abilitata per la sessione, ad esempio con `claude --chrome`, o quando Claude Code può offrirsi di [installare l'estensione](/docs/it/chrome#install-the-extension-when-claude-asks) |69| `/claude-in-chrome [task]` | **[Skill](/docs/it/skills#bundled-skills).** Fa svolgere a Claude un'attività nel tuo browser, come testare una pagina, compilare un modulo o leggere i log della console, tramite [Claude in Chrome](/docs/it/chrome). Disponibile quando l'integrazione con Chrome è abilitata per la sessione, ad esempio con `claude --chrome`, o quando Claude Code può offrirsi di [installare l'estensione](/docs/it/chrome#install-the-extension-when-claude-asks) |

70| `/clear [name]` | Avvia una nuova conversazione con contesto vuoto. Passa un nome per etichettare la conversazione precedente nel selettore di `/resume`. Per liberare contesto continuando la stessa conversazione, usa invece `/compact`. Riprendi la conversazione precedente con `/resume` oppure, nello stesso processo di Claude Code, ripristinala dalla [voce della sessione precedente nel menu di rewind](/docs/it/checkpointing#rewind-past-a-cleared-conversation). Alias: `/reset`, `/new` |70| `/clear [name]` | Avvia una nuova conversazione con contesto vuoto. Passa un nome per etichettare la conversazione precedente nel selettore di `/resume`. Per liberare contesto continuando la stessa conversazione, usa invece `/compact`. Riprendi la conversazione precedente con `/resume` oppure, nello stesso processo di Claude Code, ripristinala dalla [voce della sessione precedente nel menu di rewind](/docs/it/checkpointing#rewind-past-a-cleared-conversation). Alias: `/reset`, `/new` |

71| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/it/skills#bundled-skills).** Esamina il diff corrente, oppure un numero di PR, un branch o un percorso che passi, alla ricerca di bug di correttezza. A seconda del modello e del livello di sforzo, la revisione copre anche opportunità di pulizia. Passa `--fix` per fare in modo che Claude applichi i risultati, `--comment` per pubblicarli sulla PR GitHub o sulla merge request GitLab, oppure `ultra` per eseguire una [revisione cloud](/docs/it/ultrareview) approfondita. La pubblicazione su una merge request GitLab richiede Claude Code v2.1.257 o successiva. Con `ultra` su una PR di `github.com` come destinazione, passa `--post` per preselezionare nella finestra di dialogo di avvio la [pubblicazione dei risultati finali sulla PR](/docs/it/ultrareview#post-findings-to-the-pull-request); `--post` richiede Claude Code v2.1.227 o successiva. Consulta [Revisione locale con `/code-review`](/docs/it/code-review-local) per i livelli di sforzo, la scelta della destinazione e la relazione con `/simplify`. Alias: `/review` |71| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/it/skills#bundled-skills).** Esamina il diff corrente, oppure un numero di PR, un branch o un percorso che passi, alla ricerca di bug di correttezza. A seconda del modello e del livello di sforzo, la revisione copre anche opportunità di pulizia. Passa `--fix` per fare in modo che Claude applichi i risultati, `--comment` per pubblicarli sulla PR GitHub o sulla merge request GitLab, oppure `ultra` per eseguire una [revisione cloud](/docs/it/ultrareview) approfondita. La pubblicazione su una merge request GitLab richiede Claude Code v2.1.257 o successiva. Con `ultra` su una PR di `github.com` come destinazione, passa `--post` per preselezionare nella finestra di dialogo di avvio la [pubblicazione dei risultati finali sulla PR](/docs/it/ultrareview#post-findings-to-the-pull-request); `--post` richiede Claude Code v2.1.227 o successiva. Consulta [Revisione locale con `/code-review`](/docs/it/code-review-local) per i livelli di sforzo, la scelta della destinazione e la relazione con `/simplify`. Alias: `/review` |


80| `/deep-research <question>` | **[Workflow](/docs/it/workflows#bundled-workflows).** Distribuisce ricerche web su una domanda, recupera le fonti e le verifica in modo incrociato, poi sintetizza un report con citazioni |80| `/deep-research <question>` | **[Workflow](/docs/it/workflows#bundled-workflows).** Distribuisce ricerche web su una domanda, recupera le fonti e le verifica in modo incrociato, poi sintetizza un report con citazioni |

81| `/design [brief]` | **[Skill](/docs/it/skills#bundled-skills).** Crea bozze di mockup di UI, flussi di schermate, landing page o poster come artboard su un'unica canvas, pubblicate come [artefatto](/docs/it/artifacts#draft-a-design-canvas) Claude Design, ad esempio `/design a settings screen for a mobile banking app`. Modifichi le artboard in un browser desktop e le modifiche vengono salvate automaticamente. Puoi esportare ogni artboard come PNG o PDF. Richiede Claude Code v2.1.265 o successiva, una sessione in cui [gli artefatti sono disponibili](/docs/it/artifacts#availability) e un account in cui il [template Design è disponibile](/docs/it/artifacts#start-from-a-slides-design-or-docs-template); se la tua organizzazione ha disattivato quel template, `/design` non crea bozze di design. Disponibile sull'API Anthropic. Su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e Claude Platform on AWS gli artefatti non sono disponibili, quindi il comando non è disponibile |81| `/design [brief]` | **[Skill](/docs/it/skills#bundled-skills).** Crea bozze di mockup di UI, flussi di schermate, landing page o poster come artboard su un'unica canvas, pubblicate come [artefatto](/docs/it/artifacts#draft-a-design-canvas) Claude Design, ad esempio `/design a settings screen for a mobile banking app`. Modifichi le artboard in un browser desktop e le modifiche vengono salvate automaticamente. Puoi esportare ogni artboard come PNG o PDF. Richiede Claude Code v2.1.265 o successiva, una sessione in cui [gli artefatti sono disponibili](/docs/it/artifacts#availability) e un account in cui il [template Design è disponibile](/docs/it/artifacts#start-from-a-slides-design-or-docs-template); se la tua organizzazione ha disattivato quel template, `/design` non crea bozze di design. Disponibile sull'API Anthropic. Su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e Claude Platform on AWS gli artefatti non sono disponibili, quindi il comando non è disponibile |

82| `/design consent`, `/design revoke` | Concede a Claude l'accesso a [Claude Design](https://claude.ai/design), oppure lo revoca. Quando una risposta di Claude ti chiede di eseguire `/design consent`, digitalo tu stesso nel prompt di Claude Code |82| `/design consent`, `/design revoke` | Concede a Claude l'accesso a [Claude Design](https://claude.ai/design), oppure lo revoca. Quando una risposta di Claude ti chiede di eseguire `/design consent`, digitalo tu stesso nel prompt di Claude Code |

83| `/design-login` | Autorizza l'accesso al design system per `/design-sync` con il tuo account claude.ai. Accedi con `/design-login` ogni volta che `/design-sync` o `/design consent` ti chiede di farlo |83| `/design-login` | Autorizza l'accesso al design system per `/design-sync` con il tuo account claude.ai. Accedi con `/design-login` ogni volta che `/design-sync` o `/design consent` ti chiede di farlo. Questo accesso riguarda il sito standalone di Claude Design su claude.ai/design, che chiuderà entro il 14 dicembre 2026; consulta [Eseguire la migrazione da Claude Design standalone a Claude](https://support.claude.com/en/articles/17440474-migrate-from-standalone-claude-design-to-claude) |

84| `/design-sync [hint]` | **[Skill](/docs/it/skills#bundled-skills).** Converte il design system React del tuo repository e lo carica su [Claude Design](https://claude.ai/design), così i design che produce usano i tuoi componenti reali. Facoltativamente, assegna un nome al design system, ad esempio `/design-sync Acme DS`. Una prima sincronizzazione verifica ogni componente e può richiedere alcune ore su un repository di grandi dimensioni. Disponibile sull'API Anthropic. Richiede claude.ai, che la CLI non contatta 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), quindi in questi casi il comando non è disponibile |84| `/design-sync [hint]` | **[Skill](/docs/it/skills#bundled-skills).** Converte il design system React del tuo repository e lo carica su [Claude Design](https://claude.ai/design), così i design che produce usano i tuoi componenti reali. Facoltativamente, assegna un nome al design system, ad esempio `/design-sync Acme DS`. Una prima sincronizzazione verifica ogni componente e può richiedere alcune ore su un repository di grandi dimensioni. Disponibile sull'API Anthropic. Richiede claude.ai, che la CLI non contatta 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). In questi casi il comando non è disponibile. Questo comando carica i contenuti sul sito standalone claude.ai/design, che chiuderà entro il 14 dicembre 2026; consulta [Eseguire la migrazione da Claude Design standalone a Claude](https://support.claude.com/en/articles/17440474-migrate-from-standalone-claude-design-to-claude) |

85| `/desktop` | Continua la sessione corrente nell'app Claude Code Desktop. Richiede macOS o Windows x64 e un abbonamento Claude. Alias: `/app` |85| `/desktop` | Continua la sessione corrente nell'app Claude Code Desktop. Richiede macOS o Windows x64 e un abbonamento Claude. Alias: `/app` |

86| `/diff` | Esamina le modifiche nel tuo albero di lavoro, incluse le modifiche apportate finora da Claude. Consulta [Esaminare le modifiche con /diff](/docs/it/interactive-mode#review-changes-with-%2Fdiff) |86| `/diff` | Esamina le modifiche nel tuo albero di lavoro, incluse le modifiche apportate finora da Claude. Consulta [Esaminare le modifiche con /diff](/docs/it/interactive-mode#review-changes-with-%2Fdiff) |

87| `/doctor [prompt-audit [path]]` | **[Skill](/docs/it/skills#bundled-skills).** Esegue un controllo della configurazione che diagnostica problemi di installazione, impostazioni, estensioni e `CLAUDE.md` e propone correzioni che Claude applica dopo la tua conferma. Per sapere cosa copre il controllo, o per verificare invece le tue istruzioni con `prompt-audit`, consulta [Controllare la configurazione con `/doctor`](/docs/it/skills#check-your-setup-with-/doctor). Il sottocomando `prompt-audit` richiede Claude Code v2.1.283 o successiva. Alias: `/checkup` |87| `/doctor [prompt-audit [path]]` | **[Skill](/docs/it/skills#bundled-skills).** Esegue un controllo della configurazione che diagnostica problemi di installazione, impostazioni, estensioni e `CLAUDE.md` e propone correzioni che Claude applica dopo la tua conferma. Per sapere cosa copre il controllo, o per verificare invece le tue istruzioni con `prompt-audit`, consulta [Controllare la configurazione con `/doctor`](/docs/it/skills#check-your-setup-with-/doctor). Il sottocomando `prompt-audit` richiede Claude Code v2.1.283 o successiva. Alias: `/checkup` |

Details

379 379 

380Per impedire ai riferimenti `@` di includere il contenuto dei file e gli elenchi delle directory nel tuo messaggio, imposta [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/it/env-vars#variables) nella tua shell o nelle impostazioni utente. Claude riceve quindi i percorsi a cui hai fatto riferimento insieme a una nota che gli indica di leggerli usando i suoi strumenti per i file. La variabile richiede Claude Code v2.1.299 o successivo, e Claude Code la ignora nelle impostazioni di progetto e locali.380Per impedire ai riferimenti `@` di includere il contenuto dei file e gli elenchi delle directory nel tuo messaggio, imposta [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/it/env-vars#variables) nella tua shell o nelle impostazioni utente. Claude riceve quindi i percorsi a cui hai fatto riferimento insieme a una nota che gli indica di leggerli usando i suoi strumenti per i file. La variabile richiede Claude Code v2.1.299 o successivo, e Claude Code la ignora nelle impostazioni di progetto e locali.

381 381 

382I tuoi [hook `PreToolUse`](/docs/it/hooks#pretooluse) non vengono eseguiti quando Claude Code include un file a cui fai riferimento con `@`, perché non effettua alcuna chiamata a uno strumento. Se ti affidi a questi hook per controllare ciò che Claude legge, blocca percorsi specifici o impedisci ai riferimenti `@` di includere file:

383 

384* **Bloccare percorsi specifici**: aggiungi una [regola di negazione `Read`](/docs/it/permissions#read-and-edit) per questi percorsi. Claude Code non include un file a cui corrisponde la regola.

385* **Impedire ai riferimenti `@` di includere file**: imposta `CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`, che impedisce ai riferimenti `@` a file e directory nei tuoi messaggi di includere contenuto, anche per percorsi che i tuoi hook non controllano. I tuoi hook corrispondenti vengono quindi eseguiti prima che Claude apra un percorso a cui hai fatto riferimento con uno strumento come `Read`.

386 

382***387***

383 388 

384### Eseguire Claude su una pianificazione389### Eseguire Claude su una pianificazione

costs.md +24 −5

Details

55 55 

56#### Suddivisione dell'utilizzo del piano56#### Suddivisione dell'utilizzo del piano

57 57 

58Su un piano Pro, Max, Team o Enterprise, `/usage` mostra anche una suddivisione di ciò che conta rispetto ai limiti del tuo piano:58Su un piano Pro, Max, Team o Enterprise, `/usage` mostra anche una suddivisione di ciò che conta rispetto ai limiti del tuo piano, con delle raccomandazioni:

59 59 

60* **Attribution**: utilizzo recente attribuito a skills, subagent, plugin e singoli server MCP, ciascuno mostrato come percentuale del totale. La quota di un server MCP conta solo le richieste che hanno consumato uno dei risultati dei suoi strumenti. Prima della v2.1.222, dopo una chiamata a un server MCP, Claude Code attribuiva ogni richiesta successiva a quel server, sovrastimando la sua quota.60* **Attribution**: utilizzo recente attribuito a skills, subagent, plugin e singoli server MCP, ciascuno mostrato come percentuale del totale. La quota di un server MCP conta solo le richieste che hanno consumato uno dei risultati dei suoi strumenti. Prima della v2.1.222, dopo una chiamata a un server MCP, Claude Code attribuiva ogni richiesta successiva a quel server, sovrastimando la sua quota.

61* **Behavior flags**: comportamenti come contesto lungo o mancati accessi alla cache, contrassegnati quando uno rappresenta il 10% o più dell'utilizzo recente.61* **Recommendations**: modifiche che riducono il tuo utilizzo, una per riga. Ogni riga inizia con la quota dell'utilizzo recente a cui si riferisce, almeno il 10%, come in `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request`. Per fare in modo che Claude Code applichi quelle che può, vedi [Applica le raccomandazioni con la scorciatoia di correzione](#apply-recommendations-with-the-fix-shortcut).

62* **Loops**: una riga per ciascuna delle [`/loop` o altre attività pianificate con ambito di sessione](/docs/it/scheduled-tasks) più pesanti eseguite di recente, ordinate per token totali, con un conteggio delle restanti. Richiede Claude Code v2.1.242 o versione successiva.62* **Loops**: una riga per ciascuna delle [`/loop` o altre attività pianificate con ambito di sessione](/docs/it/scheduled-tasks) più pesanti eseguite di recente, ordinate per token totali, con un conteggio delle restanti. Richiede Claude Code v2.1.242 o versione successiva.

63 * **Cosa riporta ogni riga**: con quale frequenza l'attività si attiva, quante volte è stata eseguita, i suoi token totali e per esecuzione, e quando è stata eseguita l'ultima volta63 * **Cosa riporta ogni riga**: con quale frequenza l'attività si attiva, quante volte è stata eseguita, i suoi token totali e per esecuzione, e quando è stata eseguita l'ultima volta

64 * **Loop interrotti e ricreati**: Claude Code identifica una riga dal prompt dell'attività, quindi un loop che interrompi e ricrei rimane una riga64 * **Loop interrotti e ricreati**: Claude Code identifica una riga dal prompt dell'attività, quindi un loop che interrompi e ricrei rimane una riga

65 65 

66Premi `d` o `w` per passare tra le ultime 24 ore e gli ultimi 7 giorni. Le cifre sono approssimative e calcolate dalla cronologia della sessione locale su questa macchina, quindi l'utilizzo da altri dispositivi o da claude.ai non è incluso.66Premi `d` o `w` per passare tra le ultime 24 ore e gli ultimi 7 giorni. Le cifre sono approssimative e calcolate dalla cronologia della sessione locale su questa macchina, quindi l'utilizzo da altri dispositivi o da claude.ai non è incluso.

67 67 

68Nell'[estensione VS Code](/docs/it/vs-code#check-account-and-usage), le quote di attribuzione e i flag di comportamento appaiono nella finestra di dialogo Account & usage con un interruttore Day e Week, senza le righe Loops.68Nell'[estensione VS Code](/docs/it/vs-code#check-account-and-usage), le quote di attribuzione e le raccomandazioni appaiono nella finestra di dialogo Account & usage con un interruttore Day e Week, senza le righe Loops.

69 

70#### Applica le raccomandazioni con la scorciatoia di correzione

71 

72Quando il piè di pagina di `/usage` mostra un suggerimento come `f to fix 2 of 3`, premi `f` per fare in modo che Claude Code agisca sulle raccomandazioni su cui può agire. La scorciatoia `f` richiede Claude Code v2.1.305 o versione successiva.

73 

741. Al termine di un eventuale turno in corso, Claude Code esegue ogni comando [`/effort`](/docs/it/model-config#adjust-effort-level) mostrato in una riga senza `run`.

752. Claude riceve poi un unico prompt con un passaggio per ciascuna delle altre righe su cui può agire. Il prompt chiede a Claude di mostrarti ogni modifica prima di apportarla.

76 

77Per vedere cosa fa la pressione di `f` con ciascuna delle tue righe, trova la forma della riga nella prima colonna:

78 

79| Forma della riga | Riga di esempio | Quando premi `f` |

80| :- | :- | :- |

81| Termina con un comando `/effort` senza `run` prima | `40% Switch from max to high effort · /effort high` | Claude Code esegue il comando |

82| Termina con `run` e un comando | `30% Compact before you step away · run /compact` | Non succede nulla per questa riga. Esegui tu stesso il comando nel prompt di Claude Code |

83| Termina con qualcos'altro | `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request` | Claude riceve un passaggio nel prompt per alcune di queste righe, e per le altre non succede nulla. Se Claude non ti mostra alcuna modifica per una riga, segui tu stesso quella raccomandazione |

84 

85In `f to fix 2 of 3`, il primo numero conta le righe su cui Claude Code agisce quando premi `f`, e il secondo conta le righe mostrate. Un suggerimento senza `of`, come `f to fix both`, significa che Claude Code agisce su ogni riga mostrata.

86 

87Mentre [Remote Control](/docs/it/remote-control) è connesso, il piè di pagina non mostra alcun suggerimento `f`. Se premendo `f` `/usage` si chiude con `Nothing was sent. Turn off Remote Control to use fixes.`, Remote Control si è connesso mentre `/usage` era aperto. Per usare di nuovo `f`, [disconnetti Remote Control](/docs/it/remote-control#check-connection-status), quindi esegui `/usage` nel prompt di Claude Code e premi di nuovo `f`.

69 88 

70#### Controlla la tua spesa in crediti di utilizzo89#### Controlla la tua spesa in crediti di utilizzo

71 90 


367Una sessione che è rimasta aperta per ore può utilizzare molto più dei limiti del vostro piano di quanto l'attività suggerisca, solitamente per uno di questi motivi:386Una sessione che è rimasta aperta per ore può utilizzare molto più dei limiti del vostro piano di quanto l'attività suggerisca, solitamente per uno di questi motivi:

368 387 

369* **Contesto lungo**: Claude Code invia la vostra conversazione completa con ogni richiesta, e ogni volta che Claude utilizza gli strumenti invia un'altra richiesta contenente quel batch di risultati degli strumenti. Con [prompt caching](/docs/it/prompt-caching), Claude Code rilegge quella cronologia alla [cached token rate](https://platform.claude.com/docs/en/about-claude/pricing), quindi una domanda di una sola riga in una sessione che è rimasta aperta tutto il giorno consuma comunque utilizzo per l'intera conversazione. Consultate [Manage context proactively](#manage-context-proactively) per i modi di mantenere il vostro contesto piccolo388* **Contesto lungo**: Claude Code invia la vostra conversazione completa con ogni richiesta, e ogni volta che Claude utilizza gli strumenti invia un'altra richiesta contenente quel batch di risultati degli strumenti. Con [prompt caching](/docs/it/prompt-caching), Claude Code rilegge quella cronologia alla [cached token rate](https://platform.claude.com/docs/en/about-claude/pricing), quindi una domanda di una sola riga in una sessione che è rimasta aperta tutto il giorno consuma comunque utilizzo per l'intera conversazione. Consultate [Manage context proactively](#manage-context-proactively) per i modi di mantenere il vostro contesto piccolo

370* **Cache miss**: il tuo primo messaggio dopo una pausa più lunga della [durata della cache](/docs/it/prompt-caching#cache-lifetime) non trova la cache e rielabora il tuo contesto completo. La durata è di un'ora con un abbonamento e scende a cinque minuti quando inizi ad attingere ai [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans); con una chiave API o un provider cloud, è di cinque minuti per impostazione predefinita. Per mantenere la durata di un'ora mentre attingi ai crediti di utilizzo, [scegli tu il TTL](/docs/it/prompt-caching#choose-the-ttl-yourself)389* **Cache miss**: il tuo primo messaggio dopo una pausa più lunga della [durata della cache](/docs/it/prompt-caching#cache-lifetime) non trova la cache e rielabora il tuo contesto completo. Consulta [quale durata ottengono le tue richieste](/docs/it/prompt-caching#which-ttl-each-request-gets) e [i controlli per impostarla](/docs/it/prompt-caching#choose-the-ttl-yourself)

371* **Attività pianificate**: un'[attività pianificata con ambito di sessione](/docs/it/scheduled-tasks) si attiva al suo intervallo anche mentre la sessione è inattiva, inviando ogni volta il tuo contesto completo390* **Attività pianificate**: un'[attività pianificata con ambito di sessione](/docs/it/scheduled-tasks) si attiva al suo intervallo anche mentre la sessione è inattiva, inviando ogni volta il tuo contesto completo

372* **Cross-session messages**: Claude Code consegna un [message from another of your sessions](/docs/it/cross-session-messaging) come un nuovo turno quando questa sessione rimane inattiva, inviando il vostro contesto completo ogni volta. Per trattenere i messaggi in entrata invece di consegnarli, impostate [`crossSessionInbound`](/docs/it/settings-reference#crosssessioninbound) su `hold`391* **Cross-session messages**: Claude Code consegna un [message from another of your sessions](/docs/it/cross-session-messaging) come un nuovo turno quando questa sessione rimane inattiva, inviando il vostro contesto completo ogni volta. Per trattenere i messaggi in entrata invece di consegnarli, impostate [`crossSessionInbound`](/docs/it/settings-reference#crosssessioninbound) su `hold`

373* **Goal check-ins**: mentre il lavoro in background mantiene un [goal](/docs/it/goal) attivo in attesa, Claude Code [chiede a Claude di controllare quel lavoro](/docs/it/goal#background-work-defers-evaluation) anche quando la sessione rimane inattiva, avviando un nuovo turno che invia il vostro contesto completo. Claude Code avvia al massimo tre check-in inattivi per goal tra i vostri prompt. Prima della v2.1.246, i check-in inattivi erano illimitati. Per disattivare i check-in, impostate [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/it/env-vars) su `0`. I check-in inattivi richiedono Claude Code v2.1.236 o successivo392* **Goal check-ins**: mentre il lavoro in background mantiene un [goal](/docs/it/goal) attivo in attesa, Claude Code [chiede a Claude di controllare quel lavoro](/docs/it/goal#background-work-defers-evaluation) anche quando la sessione rimane inattiva, avviando un nuovo turno che invia il vostro contesto completo. Claude Code avvia al massimo tre check-in inattivi per goal tra i vostri prompt. Prima della v2.1.246, i check-in inattivi erano illimitati. Per disattivare i check-in, impostate [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/it/env-vars) su `0`. I check-in inattivi richiedono Claude Code v2.1.236 o successivo


375* **Agent teammates**: ogni [teammate](#agent-team-token-costs) attivo continua a consumare token fino a quando non esce394* **Agent teammates**: ogni [teammate](#agent-team-token-costs) attivo continua a consumare token fino a quando non esce

376* **Compaction**: `/compact` legge la conversazione che riassume, quindi [compacting a large context](/docs/it/prompt-caching#compacting-the-conversation) è essa stessa una richiesta grande. Quando volete un nuovo inizio invece della continuità, `/clear` non costa nulla395* **Compaction**: `/compact` legge la conversazione che riassume, quindi [compacting a large context](/docs/it/prompt-caching#compacting-the-conversation) è essa stessa una richiesta grande. Quando volete un nuovo inizio invece della continuità, `/clear` non costa nulla

377 396 

378Su un piano Pro, Max, Team o Enterprise, il breakdown di `/usage` segnala i comportamenti che rappresentano il 10% o più dell'utilizzo recente, come il contesto lungo o i cache misses, ciascuno con un suggerimento per ridurlo.397Su un piano Pro, Max, Team o Enterprise, la [ripartizione di `/usage`](#plan-usage-breakdown) consiglia una modifica per i comportamenti che rappresentano il 10% o più del tuo utilizzo recente, come il contesto lungo o i cache miss.

379 398 

380## Comprensione dei cambiamenti nel comportamento di Claude Code399## Comprensione dei cambiamenti nel comportamento di Claude Code

381 400 

Details

228* **Prima della scadenza**: se una modalità o un cambio di impostazioni consente il messaggio, Claude Code lo consegna.228* **Prima della scadenza**: se una modalità o un cambio di impostazioni consente il messaggio, Claude Code lo consegna.

229* **Oltre la scadenza**: Claude Code elimina il messaggio e lo segnala come scaduto a un mittente che può raggiungere.229* **Oltre la scadenza**: Claude Code elimina il messaggio e lo segnala come scaduto a un mittente che può raggiungere.

230 230 

231Imposta `dialogExpiry` su `"never"` per mantenere i messaggi trattenuti dal default fino alla fine della sessione. Un messaggio trattenuto da un'impostazione `hold` esplicita non scade; Claude Code lo consegna solo quando un `accept` successivamente si applica.231Imposta `dialogExpiry` su `"never"` per mantenere i messaggi trattenuti dal default fino alla fine della sessione. Un messaggio trattenuto da un'impostazione `hold` esplicita non scade; Claude Code lo consegna quando un `accept` successivamente si applica.

232 232 

233Per far sì che un worker `-p` accetti messaggi incustodito, avvialo con `crossSessionInbound` impostato su `accept` nel suo valore `--settings`. Un `accept` nelle tue impostazioni utente funziona anche ma si applica a ogni sessione che esegui.233Per far sì che un worker `-p` accetti messaggi incustodito, avvialo con `crossSessionInbound` impostato su `accept` nel suo valore `--settings`. Un `accept` nelle tue impostazioni utente funziona anche ma si applica a ogni sessione che esegui.

234 234 

desktop.md +15 −8

Details

6 6 

7> Sfrutta al massimo Claude Code Desktop: sessioni parallele con isolamento Git, layout dei pannelli drag-and-drop, terminale integrato e editor di file, chat laterali, utilizzo del computer, Dispatch sessioni dal tuo telefono, revisione visiva dei diff, anteprime delle app, monitoraggio dei PR, connettori e configurazione aziendale.7> Sfrutta al massimo Claude Code Desktop: sessioni parallele con isolamento Git, layout dei pannelli drag-and-drop, terminale integrato e editor di file, chat laterali, utilizzo del computer, Dispatch sessioni dal tuo telefono, revisione visiva dei diff, anteprime delle app, monitoraggio dei PR, connettori e configurazione aziendale.

8 8 

9L'app Claude Desktop ha tre schede: **Chat** per le conversazioni, **Cowork** per [Dispatch e lavoro agentico più lungo](https://claude.com/product/cowork), e **Code** per lo sviluppo software. Questa pagina è il riferimento per la scheda Code.9Nell'app Claude Desktop, Claude Code è la scheda **Code**. L'app include anche la chat e [Cowork](https://claude.com/product/cowork), che gestisce Dispatch e il lavoro agentico più lungo. Questa pagina è il riferimento per la scheda Code.

10 10 

11> **[Scarica per macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**11> **[Scarica per macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**

12>12>


214 214 

215### Visualizza i dettagli della sessione215### Visualizza i dettagli della sessione

216 216 

217Il 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.217Il pannello dei dettagli della sessione è un insieme di schede accanto alla chat che mostrano dove viene eseguita la sessione, cosa ha modificato, cosa sta eseguendo e il suo utilizzo del contesto. Il pannello appare dopo che avvii una sessione, purché la chat sia abbastanza larga da contenerlo.

218 218 

219#### Nascondi o mostra il pannello dei dettagli della sessione219#### Nascondi o mostra il pannello dei dettagli della sessione

220 220 


298 298 

299### Controlla l'utilizzo299### Controlla l'utilizzo

300 300 

301Fai clic sull'anello di utilizzo accanto al selettore di modello per vedere l'utilizzo della finestra di contesto corrente e l'utilizzo del piano per il periodo. L'utilizzo del contesto è per sessione; l'utilizzo del piano è condiviso su tutte le tue superfici Claude Code.301Per vedere quanto è piena la finestra di contesto di questa sessione, individua il layout della tua scheda Code:

302 

303* **Layout attuale**: l'header della scheda **Context** nel [pannello dei dettagli della sessione](#see-session-details) la mostra come percentuale. Apri la scheda per vedere cosa sta usando la finestra, per categoria.

304* **[Layout precedente](#check-which-layout-you-have)**: fai clic sull'anello di utilizzo accanto al selettore di modello. Il suo popover mostra l'utilizzo della finestra di contesto.

305 

306In entrambi i layout, digita `/context` nella casella del prompt per stampare nella chat una suddivisione per categoria della finestra di contesto di questa sessione.

307 

308Entrambi i layout hanno l'anello di utilizzo accanto al selettore di modello. Fai clic su di esso per vedere l'utilizzo del piano, che è condiviso su tutte le tue superfici Claude Code.

302 309 

303## Lascia che Claude usi il tuo computer310## Lascia che Claude usi il tuo computer

304 311 


398 405 

399> [!NOTE]406> [!NOTE]

400>407>

401> 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.408> L'isolamento delle sessioni richiede [Git](https://git-scm.com/downloads). La maggior parte dei Mac include Git per impostazione predefinita. Esegui `git --version` nel Terminale per verificarlo; se viene visualizzato un numero di versione, Git è installato. Se riscontri errori di Git, chiedi a Claude in [Cowork](https://claude.com/product/cowork) di aiutarti a risolvere i problemi della tua configurazione.

402 409 

403### Aggiungi cartelle a una sessione410### Aggiungi cartelle a una sessione

404 411 


462 469 

463Quando Claude invia un messaggio a un'altra sessione attraverso questa superficie, Claude Code lo mostra lì come una scheda etichettata con il titolo della sessione di invio e un collegamento indietro, così puoi sempre dire da dove proviene un messaggio. Se la sessione ricevente è a metà di un'attività, Claude Code tiene il messaggio e Claude lo legge una volta che il lavoro corrente finisce. Claude che riceve può rispondere, e Claude Code consegna la risposta indietro attraverso questa superficie. Claude non può consegnare a una sessione archiviata, e ti dice quando un messaggio non passa.470Quando Claude invia un messaggio a un'altra sessione attraverso questa superficie, Claude Code lo mostra lì come una scheda etichettata con il titolo della sessione di invio e un collegamento indietro, così puoi sempre dire da dove proviene un messaggio. Se la sessione ricevente è a metà di un'attività, Claude Code tiene il messaggio e Claude lo legge una volta che il lavoro corrente finisce. Claude che riceve può rispondere, e Claude Code consegna la risposta indietro attraverso questa superficie. Claude non può consegnare a una sessione archiviata, e ti dice quando un messaggio non passa.

464 471 

465Claude Code applica quattro comportamenti di sicurezza tra le sessioni:472Claude Code applica tre comportamenti di sicurezza tra le sessioni:

466 473 

467* Ricevi una scheda di approvazione prima che Claude archivi una sessione, tranne in modalità Auto e in modalità Bypass permissions, in cui Claude può archiviare una sessione senza di essa. Per ricevere la richiesta, passa a Manual.474* Ricevi una scheda di approvazione prima che Claude archivi una sessione, tranne in modalità Auto e in modalità Bypass permissions, in cui Claude può archiviare una sessione senza di essa. Per ricevere la richiesta, passa a Manual.

468* Attraverso questa superficie, Claude non può inviare messaggi tra sessioni da una sessione che nessuno sta guardando, come un'esecuzione di attività pianificata, e non può consegnare messaggi in una.

469* Claude Code controlla ogni messaggio da questa superficie rispetto ai [controlli in entrata](/docs/it/cross-session-messaging#control-inbound-messages) della sessione ricevente, anche quando la sessione ricevente non ha [messaggistica tra sessioni](/docs/it/cross-session-messaging#availability) stessa. Se imposti [`crossSessionInbound`](/docs/it/settings-reference#crosssessioninbound) su `refuse` nella sessione ricevente, Claude Code scarta i messaggi da questa superficie. Claude Code segnala il rifiuto all'app desktop Claude. Prima della v2.1.234, Claude Code scartava ogni messaggio da questa superficie a una sessione ricevente senza messaggistica tra sessioni.475* Claude Code controlla ogni messaggio da questa superficie rispetto ai [controlli in entrata](/docs/it/cross-session-messaging#control-inbound-messages) della sessione ricevente, anche quando la sessione ricevente non ha [messaggistica tra sessioni](/docs/it/cross-session-messaging#availability) stessa. Se imposti [`crossSessionInbound`](/docs/it/settings-reference#crosssessioninbound) su `refuse` nella sessione ricevente, Claude Code scarta i messaggi da questa superficie. Claude Code segnala il rifiuto all'app desktop Claude. Prima della v2.1.234, Claude Code scartava ogni messaggio da questa superficie a una sessione ricevente senza messaggistica tra sessioni.

470* Claude Code cita ogni messaggio in arrivo e lo attribuisce alla sessione che l'ha inviato, e Claude segue comunque le impostazioni di permesso proprie della sessione ricevente quando agisce su uno.476* Claude Code cita ogni messaggio in arrivo e lo attribuisce alla sessione che l'ha inviato, e Claude segue comunque le impostazioni di permesso proprie della sessione ricevente quando agisce su uno.

471 477 


514 520 

515### Sessioni da Dispatch521### Sessioni da Dispatch

516 522 

517[Dispatch](https://support.claude.com/en/articles/13947068) è una conversazione persistente con Claude che vive nella scheda [Cowork](https://claude.com/product/cowork). Invii a Dispatch un'attività, e decide come gestirla.523[Dispatch](https://support.claude.com/en/articles/13947068) è una conversazione persistente con Claude che si trova in [Cowork](https://claude.com/product/cowork). Invii un'attività a Dispatch e lui decide come gestirla.

518 524 

519Un'attività può finire come una sessione Code in due modi: chiedi direttamente una, come "apri una sessione Claude Code e correggi il bug di accesso", o Dispatch decide che l'attività è lavoro di sviluppo e ne genera una automaticamente. Le attività che tipicamente vengono indirizzate a Code includono correzione di bug, aggiornamento delle dipendenze, esecuzione di test o apertura di pull request. La ricerca, la modifica di documenti e il lavoro con fogli di calcolo rimangono in Cowork.525Un'attività può finire come una sessione Code in due modi: chiedi direttamente una, come "apri una sessione Claude Code e correggi il bug di accesso", o Dispatch decide che l'attività è lavoro di sviluppo e ne genera una automaticamente. Le attività che tipicamente vengono indirizzate a Code includono correzione di bug, aggiornamento delle dipendenze, esecuzione di test o apertura di pull request. La ricerca, la modifica di documenti e il lavoro con fogli di calcolo rimangono in Cowork.

520 526 


528 534 

529## Estendi Claude Code535## Estendi Claude Code

530 536 

531Connetti servizi esterni, aggiungi flussi di lavoro riutilizzabili, personalizza il comportamento di Claude e configura server di anteprima. Per gestire connettori, skills e plugin in un unico posto, fai clic su **Customize** nella barra laterale. La scheda [Cowork](https://claude.com/product/cowork) nell'app Desktop estrae i suoi skills, plugin e connettori da questa configurazione Customize, che si sincronizza tramite il tuo account claude.ai, non dalla directory `~/.claude` della CLI.537Connetti servizi esterni, aggiungi workflow riutilizzabili, personalizza il comportamento di Claude e configura server di anteprima. Per gestire connettori, skill e plugin in un unico posto, fai clic su **Customize** nella barra laterale. La scheda [Cowork](https://claude.com/product/cowork) nell'app Desktop estrae le sue skill, i plugin e i connettori da questa configurazione Customize, che si sincronizza tramite il tuo account claude.ai, non dalla directory `~/.claude` della CLI.

532 538 

533Claude Code carica anche gli skills e i plugin abilitati per il tuo account claude.ai nelle sessioni di terminale in cui accedi con lo stesso account. Vedi [Skills synced from claude.ai](/docs/it/skills#how-synced-skills-behave) e [Plugins synced from claude.ai](/docs/it/plugins/loading#synced-plugins).539Claude Code carica anche gli skills e i plugin abilitati per il tuo account claude.ai nelle sessioni di terminale in cui accedi con lo stesso account. Vedi [Skills synced from claude.ai](/docs/it/skills#how-synced-skills-behave) e [Plugins synced from claude.ai](/docs/it/plugins/loading#synced-plugins).

534 540 


1659*.livepreview.claude.ai1665*.livepreview.claude.ai

1660claude.com1666claude.com

1661platform.claude.com1667platform.claude.com

1668sso.claude.com

1662*.livepreview.claude.app1669*.livepreview.claude.app

1663*.claudeusercontent.com1670*.claudeusercontent.com

1664*.claudemcpcontent.com1671*.claudemcpcontent.com

Details

21 21 

22### Requisiti di Cowork22### Requisiti di Cowork

23 23 

24Cowork è la scheda desktop per [Dispatch e lavoro agentico più lungo](https://claude.com/docs/cowork/overview). Su Linux, Cowork esegue queste attività in una macchina virtuale che l'app desktop ospita con QEMU e KVM. Per utilizzare Cowork, la vostra macchina ha bisogno di:24Cowork è la parte dell'app desktop dedicata a [Dispatch e al lavoro agentico più lungo](https://claude.com/docs/cowork/overview). Su Linux, Cowork esegue queste attività in una macchina virtuale che l'app desktop ospita con QEMU e KVM. Per utilizzare Cowork, la tua macchina ha bisogno di:

25 25 

26* **Virtualizzazione hardware**: attivata nelle impostazioni del firmware. Senza di essa, la scheda Cowork segnala "Cowork requires hardware virtualization (KVM)".26* **Virtualizzazione hardware**: attivata nelle impostazioni del firmware. Senza di essa, Cowork segnala "Cowork requires hardware virtualization (KVM)".

27* **QEMU e firmware UEFI**: `qemu-system-x86`, `ovmf` e `virtiofsd` su x86\_64, oppure `qemu-system-arm`, `qemu-efi-aarch64` e `virtiofsd` su arm64. `apt install claude-desktop` li installa per impostazione predefinita come pacchetti consigliati. Se avete installato con `--no-install-recommends`, o il vostro sistema è un'immagine minima che salta i pacchetti consigliati, la scheda Cowork segnala "Cowork requires QEMU" e mostra il comando `apt install` da eseguire. Ubuntu 22.04 non ha alcun pacchetto `virtiofsd`; l'app utilizza una copia in bundle lì.27* **QEMU e firmware UEFI**: `qemu-system-x86`, `ovmf` e `virtiofsd` su x86\_64, oppure `qemu-system-arm`, `qemu-efi-aarch64` e `virtiofsd` su arm64. `apt install claude-desktop` li installa per impostazione predefinita come pacchetti consigliati. Se hai installato con `--no-install-recommends`, o il tuo sistema è un'immagine minima che salta i pacchetti consigliati, Cowork segnala "Cowork requires QEMU" e mostra il comando `apt install` da eseguire. Ubuntu 22.04 non ha alcun pacchetto `virtiofsd`; lì l'app utilizza una copia in bundle.

28* **Accesso a `/dev/kvm`**: aggiungete il vostro utente al gruppo `kvm` con `sudo usermod -aG kvm $USER`, quindi disconnettetevi e riconnettetevi. Alcuni ambienti desktop concedono all'utente connesso l'accesso a `/dev/kvm` senza il gruppo, ma Cowork ha anche bisogno di `/dev/vhost-vsock`, che solo i membri del gruppo `kvm` possono aprire. Unitevi al gruppo anche se `/dev/kvm` funziona già per voi.28* **Accesso a `/dev/kvm`**: aggiungete il vostro utente al gruppo `kvm` con `sudo usermod -aG kvm $USER`, quindi disconnettetevi e riconnettetevi. Alcuni ambienti desktop concedono all'utente connesso l'accesso a `/dev/kvm` senza il gruppo, ma Cowork ha anche bisogno di `/dev/vhost-vsock`, che solo i membri del gruppo `kvm` possono aprire. Unitevi al gruppo anche se `/dev/kvm` funziona già per voi.

29 29 

30L'app controlla questi requisiti una volta all'avvio: riavviatela dopo aver installato i pacchetti, e disconnettetevi e riconnettetevi dopo aver aderito al gruppo. Se `/dev/vhost-vsock` manca e il vostro kernel in esecuzione non ha alcuna directory di moduli sotto `/lib/modules`, la scheda Cowork segnala che il kernel non include il supporto di virtualizzazione di cui Cowork ha bisogno e che non può essere aggiunto manualmente. Questa combinazione è comune su ChromeOS e negli ambienti Linux basati su container.30L'app controlla questi requisiti una volta all'avvio: riavviala dopo aver installato i pacchetti, ed esci e accedi di nuovo dopo esserti unito al gruppo. Se `/dev/vhost-vsock` manca e il kernel in esecuzione non ha alcuna directory di moduli sotto `/lib/modules`, Cowork segnala che il kernel non include il supporto di virtualizzazione di cui Cowork ha bisogno e che non può essere aggiunto manualmente. Questa combinazione è comune su ChromeOS e negli ambienti Linux basati su container.

31 31 

32## Installa32## Installa

33 33 


71 71 

72Avvia **Claude** dal tuo launcher di applicazioni, oppure esegui `claude-desktop` da un terminale, e accedi con il tuo account Anthropic.72Avvia **Claude** dal tuo launcher di applicazioni, oppure esegui `claude-desktop` da un terminale, e accedi con il tuo account Anthropic.

73 73 

74L'app Linux accede allo stesso modo di macOS e Windows: con un abbonamento a claude.ai, oppure tramite l'SSO della tua organizzazione. Desktop non accetta direttamente una chiave API di Claude Console; utilizza la [CLI](/docs/it/quickstart) per l'autenticazione tramite chiave API. Per le distribuzioni aziendali che instradano Desktop a Google Cloud's Agent Platform o a un gateway LLM, consulta [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) e la [configurazione di rete](/docs/it/network-config).74L'app Linux accede allo stesso modo di macOS e Windows: con un abbonamento a claude.ai, oppure tramite l'SSO della tua organizzazione. Per l'autenticazione tramite chiave API, utilizza la [CLI](/docs/it/quickstart). Per utilizzare invece Desktop con Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o un gateway LLM, consulta [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). Per i server proxy e le autorità di certificazione personalizzate in questi deploy, consulta la [configurazione di rete](/docs/it/network-config).

75 75 

76### Installa da un file scaricato76### Installa da un file scaricato

77 77 


153 153 

154### Cowork non è disponibile154### Cowork non è disponibile

155 155 

156Se la scheda Cowork mostra uno di questi messaggi, correggete il requisito che nomina, quindi riavviate l'app:156Se Cowork mostra uno di questi messaggi, correggi il requisito indicato, quindi riavvia l'app:

157 157 

158* **Cowork richiede QEMU**: installate i [pacchetti QEMU e firmware UEFI](#cowork-requirements) che il messaggio elenca.158* **Cowork richiede QEMU**: installate i [pacchetti QEMU e firmware UEFI](#cowork-requirements) che il messaggio elenca.

159* **Cowork richiede virtualizzazione hardware (KVM)**: attivate la [virtualizzazione hardware](#cowork-requirements) nelle impostazioni del firmware.159* **Cowork richiede virtualizzazione hardware (KVM)**: attivate la [virtualizzazione hardware](#cowork-requirements) nelle impostazioni del firmware.

Details

6 6 

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

8 8 

9L'app desktop ti offre Claude Code con un'interfaccia grafica, così puoi chiedere a Claude di lavorare sul codice in una cartella sul tuo computer e rivedere le sue modifiche senza usare un terminale. Questa pagina illustra l'installazione dell'app e l'avvio della tua prima sessione nella scheda **Code**. Claude Code richiede un [abbonamento Pro, Max, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).9L'app desktop ti offre Claude Code con un'interfaccia grafica. Puoi chiedere a Claude di lavorare sul codice in una cartella sul tuo computer e rivedere le sue modifiche senza usare un terminale.

10 

11Claude Code si trova nella scheda **Code** nella parte superiore della barra laterale dell'app. Questa pagina illustra l'installazione dell'app e l'avvio della tua prima sessione in quella scheda. Claude Code richiede un [abbonamento Pro, Max, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).

10 12 

11> **[Scarica per macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**13> **[Scarica per macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**

12>14>


28>30>

29> * **Già configurato**: consulta [Usa Claude Code Desktop](/docs/it/desktop) per tutto ciò che la scheda Code può fare31> * **Già configurato**: consulta [Usa Claude Code Desktop](/docs/it/desktop) per tutto ciò che la scheda Code può fare

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

31 33> * **Usi chat o Cowork**: consulta il [Centro di supporto Claude](https://support.claude.com/)

32L'app desktop ha tre schede:34> * **Ti servono più informazioni sull'installazione o la distribuzione dell'app desktop**: consulta gli [articoli di supporto di Claude Desktop](https://support.claude.com/en/collections/16163169-claude-desktop)

33 

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

35* **Cowork**: Un agente autonomo in background che lavora sulle attività in modo indipendente mentre tu fai altro.

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

37 

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

39 35 

40## Installa36## Installa

41 37 


45 41 

46**2. Apri la scheda Code**42**2. Apri la scheda Code**

47 43 

48Fai clic sulla scheda **Code** al centro in alto. Se facendo clic su Code ti viene chiesto di eseguire l'upgrade, devi prima [sottoscrivere un piano a pagamento](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_upgrade). Se ti viene chiesto di accedere online, completa l'accesso e riavvia l'app. Se vedi un errore 403, consulta [risoluzione dei problemi di autenticazione](/docs/it/desktop#403-or-authentication-errors-in-the-code-tab).44Fai clic sulla scheda **Code** nella parte superiore della barra laterale. Se le schede mostrano solo icone, passa il mouse su una per vederne il nome. Se dopo aver fatto clic su **Code** compare un prompt o un errore, segui la soluzione corrispondente:

45 

46* **Prompt per eseguire l'upgrade**: devi prima [sottoscrivere un piano a pagamento](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_upgrade)

47* **Prompt per accedere online**: completa l'accesso e riavvia l'app

48* **Errore 403**: consulta [risoluzione dei problemi di autenticazione](/docs/it/desktop#403-or-authentication-errors-in-the-code-tab)

49 49 

50L'app desktop include Claude Code, quindi non è necessario installare Node.js o la CLI per utilizzare la scheda Code.50L'app desktop include Claude Code, quindi non è necessario installare Node.js o la CLI per utilizzare la scheda Code.

51 51 


87 87 

88Controlla 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:88Controlla 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:

89 89 

90* **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 diff90* **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](/docs/it/desktop#review-changes-with-diff-view)

91* **Manual**: Claude propone ogni modifica e attende la tua approvazione prima di applicarla91* **Manual**: Claude propone ogni modifica e attende la tua approvazione prima di applicarla

92 92 

93In modalità Manual, vedrai:93In modalità Manual, vedrai:

94 94 

951. Una [vista diff](/docs/it/desktop#review-changes-with-diff-view) che mostra esattamente cosa cambierà in ogni file951. Un diff che mostra esattamente cosa cambierà

962. Pulsanti Accept/Reject per approvare o rifiutare ogni modifica962. Pulsanti per approvare o rifiutare ogni modifica

973. Aggiornamenti in tempo reale mentre Claude elabora la tua richiesta973. Aggiornamenti in tempo reale mentre Claude elabora la tua richiesta

98 98 

99## E adesso?99## E adesso?

Details

28| Accesso ai file locali | No (clone fresco) | Sì | Sì |28| Accesso ai file locali | No (clone fresco) | Sì | Sì |

29| MCP servers | Connettori configurati per attività | [File di configurazione](/docs/it/mcp) e connettori | Eredita dalla sessione |29| MCP servers | Connettori configurati per attività | [File di configurazione](/docs/it/mcp) e connettori | Eredita dalla sessione |

30| Prompt di autorizzazione | No (esecuzione autonoma) | Configurabile per attività | Eredita dalla sessione |30| Prompt di autorizzazione | No (esecuzione autonoma) | Configurabile per attività | Eredita dalla sessione |

31| Pianificazione personalizzabile | Via `/schedule` nella CLI | Sì | Sì |31| Pianificazione personalizzabile | Sì | Sì | Sì |

32| Intervallo minimo | 1 ora | 1 minuto | 1 minuto |32| Intervallo minimo | 1 ora | 1 minuto quando lo imposta Claude, [1 ora nei moduli](/docs/it/desktop-scheduled-tasks#schedule-options) | 1 minuto |

33 33 

34> [!TIP]34> [!TIP]

35>35>


61 61 

62**5. Attiva Only on this computer**62**5. Attiva Only on this computer**

63 63 

64Per ora salta la scheda **Trigger** ed espandi **Advanced settings** sotto di essa. Nella scheda **General**, attiva **Only on this computer**. Con questa opzione attiva, l'attività viene eseguita sulla tua macchina in una cartella locale e la scheda **Trigger** offre i preset elencati in [Opzioni di pianificazione](#schedule-options).64Per ora salta la scheda **Trigger** ed espandi **Advanced settings** sotto di essa. Nella scheda **General**, attiva **Only on this computer**. Con questa opzione attiva, l'attività viene eseguita sulla tua macchina in una cartella locale.

65 65 

66Se l'interruttore non è disponibile, rimuovi il repository o il trigger di evento GitHub o API, perché questi rendono l'attività un'[attività pianificata cloud](/docs/it/routines).66Se l'interruttore non è disponibile, rimuovi il repository o il trigger di evento GitHub o API, perché questi rendono l'attività un'[attività pianificata cloud](/docs/it/routines).

67 67 


81 81 

82Fai clic su **Create**. Se non hai ancora considerato attendibile la cartella, Desktop ti chiede di considerarla attendibile a questo punto. Si apre la pagina dei dettagli dell'attività.82Fai clic su **Create**. Se non hai ancora considerato attendibile la cartella, Desktop ti chiede di considerarla attendibile a questo punto. Si apre la pagina dei dettagli dell'attività.

83 83 

84Nella pagina dei dettagli, fai clic sull'icona a forma di matita per aprire il [modulo **Edit**](#manage-scheduled-tasks). Lì puoi modificare la **Description** che Desktop ha compilato a partire dalle tue istruzioni, selezionare **Worktree** o impostare la pianificazione su **Manual**.84Nella pagina dei dettagli, fai clic sull'icona a forma di matita per aprire il [modulo **Edit**](#manage-scheduled-tasks). Lì puoi modificare la **Description** che Desktop ha compilato a partire dalle tue istruzioni, selezionare **Worktree** o impostare la pianificazione su **Manual** o **Custom**.

85 85 

86Puoi anche creare un'attività descrivendo quello che vuoi in qualsiasi sessione. Ad esempio, "configura una revisione del codice giornaliera che viene eseguita ogni mattina alle 9" crea un'attività ricorrente. Una richiesta come "ricordami alle 15 domani di controllare il deploy" crea un'attività una tantum che si disabilita dopo che si attiva.86Puoi anche creare un'attività descrivendo quello che vuoi in qualsiasi sessione. Ad esempio, "configura una revisione del codice giornaliera che viene eseguita ogni mattina alle 9" crea un'attività ricorrente. Una richiesta come "ricordami alle 15 domani di controllare il deploy" crea un'attività una tantum che si disabilita dopo che si attiva.

87 87 


95* **Description**: inserisci una descrizione. **Create** rimane non disponibile finché non lo fai.95* **Description**: inserisci una descrizione. **Create** rimane non disponibile finché non lo fai.

96* **La casella delle istruzioni**: inserisci cosa Claude dovrebbe fare quando l'attività viene eseguita. Seleziona la modalità di permesso e il modello dai menu nella casella.96* **La casella delle istruzioni**: inserisci cosa Claude dovrebbe fare quando l'attività viene eseguita. Seleziona la modalità di permesso e il modello dai menu nella casella.

97* **Working folder**: seleziona la cartella in cui viene eseguita l'attività. **Create** rimane non disponibile finché non ne selezioni una.97* **Working folder**: seleziona la cartella in cui viene eseguita l'attività. **Create** rimane non disponibile finché non ne selezioni una.

98* **Trigger**: seleziona una pianificazione. **Custom** accetta un'espressione cron. Per gli altri preset, consulta [Opzioni di pianificazione](#schedule-options).98* **Trigger**: seleziona una pianificazione. Per i preset, consulta [Opzioni di pianificazione](#schedule-options).

99 99 

100Fai clic su **Create**. Si apre la pagina dei dettagli dell'attività.100Fai clic su **Create**. Si apre la pagina dei dettagli dell'attività.

101 101 

102## Opzioni di pianificazione102## Opzioni di pianificazione

103 103 

104Quando attivi **Only on this computer** in **Advanced settings**, la scheda **Trigger** offre Hourly, Daily, Weekdays e Weekly. Il [modulo **Edit**](#manage-scheduled-tasks) dell'attività offre anche **Manual**.104Quando attivi **Only on this computer** in **Advanced settings**, la scheda **Trigger** offre Hourly, Daily, Weekdays e Weekly. Per ottenere **Manual** o **Custom** per un'attività di questo tipo, apri il suo [modulo **Edit**](#manage-scheduled-tasks) dopo averla creata. Quel modulo e la [finestra di dialogo con **Only on this computer** in alto](#dialog-with-only-on-this-computer-at-the-top) offrono queste sei opzioni:

105 105 

106* **Hourly**: viene eseguita ogni ora106* **Hourly**: viene eseguita ogni ora

107* **Daily**: viene eseguita ogni giorno all'ora locale che scegli107* **Daily**: viene eseguita ogni giorno all'ora locale che scegli

108* **Weekdays**: come Daily ma salta sabato e domenica108* **Weekdays**: come Daily ma salta sabato e domenica

109* **Weekly**: mostra un selettore di ora e un selettore di giorno109* **Weekly**: mostra un selettore di ora e un selettore di giorno

110* **Manual**: nessuna pianificazione, viene eseguita solo quando fai clic su **Run now**. Utile per salvare un prompt che attivi su richiesta110* **Manual**: nessuna pianificazione, viene eseguita solo quando fai clic su **Run now**. Utile per salvare un prompt che attivi su richiesta

111* **Custom**: viene eseguita secondo un'espressione cron che inserisci e che viene valutata nella tua ora locale, come `0 9 * * *` per le 9:00 di ogni giorno. Scrivi i giorni della settimana e i mesi come numeri, poiché i loro nomi non sono accettati. La domenica è `0`, non `7`. Il modulo rifiuta un'espressione che viene eseguita più spesso di una volta all'ora.

111 112 

112Per intervalli che il selettore non offre, come ogni 15 minuti, il primo di ogni mese o un'esecuzione singola a un'ora futura specifica, chiedi a Claude in qualsiasi sessione Desktop di impostare la pianificazione. Usa il linguaggio naturale; ad esempio, "pianifica un'attività per eseguire tutti i test ogni 6 ore."113Puoi anche chiedere a Claude in qualsiasi sessione Desktop di impostare la pianificazione. Claude non è vincolato al limite di una volta all'ora e può impostare un'esecuzione singola a un'ora futura. Ad esempio, chiedi "esegui la suite di test ogni 30 minuti" oppure "lunedì prossimo alle 9, riassumi le pull request unite da venerdì."

113 114 

114## Come vengono eseguite le attività pianificate115## Come vengono eseguite le attività pianificate

115 116 


121>122>

122> Per attività che devono essere eseguite anche quando il tuo computer è spento, o che dovrebbero attivarsi su una chiamata API o un evento GitHub, crea invece un'[attività pianificata cloud](/docs/it/routines).123> Per attività che devono essere eseguite anche quando il tuo computer è spento, o che dovrebbero attivarsi su una chiamata API o un evento GitHub, crea invece un'[attività pianificata cloud](/docs/it/routines).

123 124 

124Quando un'attività locale si attiva, una nuova sessione appare sotto una sezione **Scheduled** nella barra laterale. Aprila per vedere cosa ha fatto Claude, rivedere le modifiche o rispondere alle richieste di permesso. Claude può modificare file, eseguire comandi, creare commit e aprire pull request, come in una sessione che avvii tu stesso.125### Trovare la sessione di un'esecuzione

126 

127Per aprire la sessione avviata da un'esecuzione, vai alla [pagina dei dettagli](#manage-scheduled-tasks) dell'attività e fai clic sulla riga di quell'esecuzione nell'elenco **History**.

128 

129L'elenco delle sessioni nella barra laterale può mostrare anche un gruppo **Scheduled**, con una riga per ogni attività. Per aprire la sessione dell'ultima esecuzione di un'attività, fai clic sulla riga dell'attività in quel gruppo. Per mostrare il gruppo, [verifica quale layout hai](/docs/it/desktop#check-which-layout-you-have):

130 

131* **Layout attuale**: apri il [menu **Group and sort**](/docs/it/desktop#organize-and-find-sessions), seleziona **Show**, poi seleziona **Scheduled**. Il gruppo è inizialmente compresso, quindi fai clic sulla sua intestazione per espanderlo. **Show** elenca **Scheduled** quando almeno una delle tue attività è **Active**, lo **Status** mostrato nella pagina dei dettagli di un'attività. Se non è elencato, usa l'elenco **History**, che funziona indipendentemente dal fatto che il gruppo sia visibile o meno.

132* **Layout precedente**: il gruppo si trova nell'elenco delle sessioni senza bisogno di attivare nulla

133 

134Nella sessione di un'esecuzione, in qualunque modo tu vi sia arrivato, puoi vedere cosa ha fatto Claude, rivedere le modifiche e rispondere alle richieste di permesso. Claude può modificare file, eseguire comandi, creare commit e aprire pull request, come in una sessione che avvii tu stesso.

125 135 

126## Esecuzioni mancate136## Esecuzioni mancate

127 137 


131 141 

132## Autorizzazioni per le attività pianificate142## Autorizzazioni per le attività pianificate

133 143 

134Ogni attività ha la sua propria modalità di autorizzazione, che imposti quando crei o modifichi l'attività. Le regole di autorizzazione da `~/.claude/settings.json` si applicano anche alle sessioni di attività pianificate. Se un'attività viene eseguita in [modalità manuale](/docs/it/desktop#choose-a-permission-mode) e ha bisogno di eseguire uno strumento per il quale non ha autorizzazione, l'esecuzione si blocca fino a quando non la approvi. La sessione rimane aperta nella barra laterale in modo da poter rispondere in seguito.144Ogni attività ha la sua propria modalità di permesso, che imposti quando crei o modifichi l'attività. Le regole allow da `~/.claude/settings.json` si applicano anche alle sessioni di attività pianificate. Se un'attività viene eseguita in [modalità manuale](/docs/it/desktop#choose-a-permission-mode) e ha bisogno di eseguire uno strumento per il quale non ha il permesso, l'esecuzione si blocca fino a quando non la approvi. Per approvarla, [trova la sessione dell'esecuzione](#find-a-runs-session) e rispondi lì alla richiesta di permesso.

135 145 

136Per evitare blocchi, fai clic su **Run now** dopo aver creato un'attività, guarda i prompt di autorizzazione e seleziona "always allow" per ognuno. Le esecuzioni future di quell'attività approvano automaticamente gli stessi strumenti senza chiedere. Puoi rivedere e revocare queste approvazioni dalla pagina dei dettagli dell'attività.146Per evitare blocchi, fai clic su **Run now** dopo aver creato un'attività, guarda i prompt di autorizzazione e seleziona "always allow" per ognuno. Le esecuzioni future di quell'attività approvano automaticamente gli stessi strumenti senza chiedere. Puoi rivedere e revocare queste approvazioni dalla pagina dei dettagli dell'attività.

137 147 


146* **Edit**: modifica le istruzioni, la pianificazione, la cartella o altre impostazioni156* **Edit**: modifica le istruzioni, la pianificazione, la cartella o altre impostazioni

147* **Review history**: vedi ogni esecuzione passata, incluse le esecuzioni saltate. Passa il mouse su una voce saltata per vedere il motivo: il tuo computer era in sospensione, l'esecuzione precedente era ancora in corso o altre attività pianificate erano già in esecuzione. Fai clic su **Show more** per caricare voci più vecchie.157* **Review history**: vedi ogni esecuzione passata, incluse le esecuzioni saltate. Passa il mouse su una voce saltata per vedere il motivo: il tuo computer era in sospensione, l'esecuzione precedente era ancora in corso o altre attività pianificate erano già in esecuzione. Fai clic su **Show more** per caricare voci più vecchie.

148* **Review allowed permissions**: vedi e revoca le approvazioni degli strumenti salvate per questa attività dal pannello **Always allowed**158* **Review allowed permissions**: vedi e revoca le approvazioni degli strumenti salvate per questa attività dal pannello **Always allowed**

149* **Delete**: rimuovi l'attività e archivia tutte le sessioni che ha creato. Una casella di controllo **Also delete files on disk** appare nella finestra di dialogo di conferma; selezionala per rimuovere anche il file `SKILL.md` dell'attività e i dati associati da `~/.claude/scheduled-tasks/`.159* **Delete**: rimuovi l'attività. Le sessioni create dall'attività vengono [archiviate](/docs/it/desktop#organize-and-find-sessions), non eliminate. La cartella che contiene il file `SKILL.md` dell'attività rimane su disco in `~/.claude/scheduled-tasks/<task-name>/`, oppure in `scheduled-tasks/<task-name>/` sotto [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars) se hai impostato quella variabile. Per rimuovere quella cartella, eliminala manualmente.

150 160 

151Puoi anche elencare, creare, modificare e mettere in pausa le attività chiedendo a Claude in qualsiasi sessione Desktop. Ad esempio, "pausa la mia attività dependency-audit" o "mostrami le mie attività pianificate." Per eliminare un'attività, usa il pulsante **Delete** sulla sua pagina di dettaglio.161Puoi anche elencare, creare, modificare e mettere in pausa le attività chiedendo a Claude in qualsiasi sessione Desktop. Ad esempio, "pausa la mia attività dependency-audit" o "mostrami le mie attività pianificate." Per eliminare un'attività, usa il pulsante **Delete** sulla sua pagina di dettaglio.

152 162 

env-vars.md +10 −19

Details

124> * `DISABLE_TELEMETRY`124> * `DISABLE_TELEMETRY`

125> * `DISABLE_ERROR_REPORTING`125> * `DISABLE_ERROR_REPORTING`

126> * `CLAUDE_CODE_TMUX_TRUECOLOR`126> * `CLAUDE_CODE_TMUX_TRUECOLOR`

127> * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

128> * `IS_DEMO`127> * `IS_DEMO`

129>128>

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


136| `ANTHROPIC_AWS_API_KEY` | Chiave API del workspace per [Claude Platform on AWS](/docs/it/claude-platform-on-aws), generata nella AWS Console. Inviata come `x-api-key` e ha la precedenza su AWS SigV4 |135| `ANTHROPIC_AWS_API_KEY` | Chiave API del workspace per [Claude Platform on AWS](/docs/it/claude-platform-on-aws), generata nella AWS Console. Inviata come `x-api-key` e ha la precedenza su AWS SigV4 |

137| `ANTHROPIC_AWS_BASE_URL` | Sovrascrive l'URL dell'endpoint di [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Usala per regioni personalizzate o quando instradi le richieste attraverso un [gateway LLM](/docs/it/llm-gateway). Il valore predefinito è `https://aws-external-anthropic.{region}.api.aws`. Claude Code risolve la regione con la [stessa precedenza usata su Amazon Bedrock](/docs/it/amazon-bedrock#3-configure-claude-code) |136| `ANTHROPIC_AWS_BASE_URL` | Sovrascrive l'URL dell'endpoint di [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Usala per regioni personalizzate o quando instradi le richieste attraverso un [gateway LLM](/docs/it/llm-gateway). Il valore predefinito è `https://aws-external-anthropic.{region}.api.aws`. Claude Code risolve la regione con la [stessa precedenza usata su Amazon Bedrock](/docs/it/amazon-bedrock#3-configure-claude-code) |

138| `ANTHROPIC_AWS_WORKSPACE_ID` | Obbligatoria per [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Inviata in ogni richiesta come header `anthropic-workspace-id` |137| `ANTHROPIC_AWS_WORKSPACE_ID` | Obbligatoria per [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Inviata in ogni richiesta come header `anthropic-workspace-id` |

139| `ANTHROPIC_BASE_URL` | Sovrascrive l'endpoint API per instradare le richieste attraverso un proxy o un gateway. Quando è impostata su un host non di prima parte, [MCP Tool Search](/docs/it/mcp#scale-with-mcp-tool-search) è disattivato per impostazione predefinita. Imposta `ENABLE_TOOL_SEARCH=true` se il tuo proxy inoltra i blocchi `tool_reference`. A partire dalla v2.1.196, [Remote Control](/docs/it/remote-control#requirements) è disattivato quando questa variabile punta a un host diverso da `api.anthropic.com`, in linea con il suo comportamento su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry |138| `ANTHROPIC_BASE_URL` | Sovrascrive l'endpoint API per instradare le richieste tramite un proxy o un gateway. Per sapere cosa succede quando quel gateway rifiuta la ricerca degli strumenti MCP, consulta [Ricerca degli strumenti tramite un gateway LLM](/docs/it/mcp#tool-search-through-a-gateway). A partire dalla v2.1.196, [Remote Control](/docs/it/remote-control#requirements) è disattivato quando questa variabile punta a un host diverso da `api.anthropic.com`, in linea con il suo comportamento su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry |

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

141| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sovrascrive l'URL dell'endpoint Amazon Bedrock Mantle. Consulta [Endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) |140| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sovrascrive l'URL dell'endpoint Amazon Bedrock Mantle. Consulta [Endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) |

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


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

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

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

181| `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 |180| `API_TIMEOUT_MS` | Tempo in millisecondi che ogni tentativo di richiesta API ha a disposizione per ricevere gli header della risposta. Non limita la durata di una risposta in streaming dopo quel momento. Il valore predefinito è 600000, ovvero 10 minuti, e il massimo è 2147483647. 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 concludersi entro quel tempo. Aumentalo quando le richieste vanno in timeout su reti lente o quando instradi attraverso un proxy. Imposta `0` per rimuovere questo limite, il che richiede Claude Code v2.1.305 o successiva. Con `0`, un tentativo non in streaming va comunque in timeout dopo 300 secondi in una sessione locale |

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

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

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


186| `BETA_TRACING_ENDPOINT` | Endpoint OTLP/HTTP per il [tracing beta dettagliato](/docs/it/monitoring-usage#traces-beta): con `ENABLE_BETA_TRACING_DETAILED=1`, log e trace vengono inviati lì invece che agli exporter configurati. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |185| `BETA_TRACING_ENDPOINT` | Endpoint OTLP/HTTP per il [tracing beta dettagliato](/docs/it/monitoring-usage#traces-beta): con `ENABLE_BETA_TRACING_DETAILED=1`, log e trace vengono inviati lì invece che agli exporter configurati. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

187| `CCR_FORCE_BUNDLE` | Imposta su `1` per forzare [`claude --cloud`](/docs/it/claude-code-on-the-web#send-local-repositories-without-github) a creare un bundle del tuo repository locale e caricarlo invece di clonarlo dal suo remote |186| `CCR_FORCE_BUNDLE` | Imposta su `1` per forzare [`claude --cloud`](/docs/it/claude-code-on-the-web#send-local-repositories-without-github) a creare un bundle del tuo repository locale e caricarlo invece di clonarlo dal suo remote |

188| `CLAUDECODE` | Impostata su `1` nei sottoprocessi avviati da Claude Code (strumenti Bash e PowerShell, sessioni tmux, comandi degli [hook](/docs/it/hooks), comandi della [riga di stato](/docs/it/statusline), sottoprocessi dei [server MCP](/docs/it/mcp) stdio). Anche le estensioni IDE la impostano nei loro terminali integrati. Usala per rilevare quando uno script viene eseguito all'interno di un sottoprocesso avviato da Claude Code. Per verificare se il processo corrente è stato avviato direttamente da una chiamata a uno strumento o da un hook, anziché all'interno di un server MCP stdio avviato da Claude Code, usa invece `CLAUDE_CODE_CHILD_SESSION` |187| `CLAUDECODE` | Impostata su `1` nei sottoprocessi avviati da Claude Code (strumenti Bash e PowerShell, sessioni tmux, comandi degli [hook](/docs/it/hooks), comandi della [riga di stato](/docs/it/statusline), sottoprocessi dei [server MCP](/docs/it/mcp) stdio). Anche le estensioni IDE la impostano nei loro terminali integrati. Usala per rilevare quando uno script viene eseguito all'interno di un sottoprocesso avviato da Claude Code. Per verificare se il processo corrente è stato avviato direttamente da una chiamata a uno strumento o da un hook, anziché all'interno di un server MCP stdio avviato da Claude Code, usa invece `CLAUDE_CODE_CHILD_SESSION` |

189| `CLAUDE_AFK_COUNTDOWN_MS` | Quanti millisecondi prima della continuazione automatica compare il conto alla rovescia sullo schermo in una finestra di dialogo [`AskUserQuestion`](/docs/it/tools-reference) senza risposta. Predefinito `20000` (20 secondi), limitato al timeout di continuazione automatica. Non ha effetto a meno che la continuazione automatica non sia attiva; consulta l'impostazione [`askUserQuestionTimeout`](/docs/it/settings-reference#askuserquestiontimeout) e `CLAUDE_AFK_TIMEOUT_MS`. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Richiede Claude Code v2.1.198 o versioni successive |

190| `CLAUDE_AFK_TIMEOUT_MS` | Quanti millisecondi di inattività prima che una finestra di dialogo [`AskUserQuestion`](/docs/it/tools-reference) senza risposta continui automaticamente senza di te. La continuazione automatica è disattivata per impostazione predefinita; attivala con l'impostazione [`askUserQuestionTimeout`](/docs/it/settings-reference#askuserquestiontimeout). Questa variabile è un override per demo e test automatizzati: quando è impostata, ha la precedenza su quell'impostazione e attiva la continuazione automatica anche quando l'impostazione non è impostata o è `never`. Impostare `0` non disattiva il timeout; chiude immediatamente la finestra di dialogo. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Prima della v2.1.200, la continuazione automatica era attiva per impostazione predefinita con un timeout di `60000` (60 secondi). Richiede Claude Code v2.1.198 o versioni successive |

191| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Imposta su `1` per disattivare tutti i tipi di [subagent](/docs/it/sub-agents) integrati come Explore e Plan. Si applica solo in modalità non interattiva (il flag `-p`). Utile per gli utenti SDK che vogliono partire da zero. Rimuove anche `general-purpose`, il subagent che Claude Code esegue quando una chiamata allo strumento Agent omette `subagent_type`. Tale chiamata non riesce quindi con [`subagent_type is required`](/docs/it/errors#subagent-type-is-required) |188| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Imposta su `1` per disattivare tutti i tipi di [subagent](/docs/it/sub-agents) integrati come Explore e Plan. Si applica solo in modalità non interattiva (il flag `-p`). Utile per gli utenti SDK che vogliono partire da zero. Rimuove anche `general-purpose`, il subagent che Claude Code esegue quando una chiamata allo strumento Agent omette `subagent_type`. Tale chiamata non riesce quindi con [`subagent_type is required`](/docs/it/errors#subagent-type-is-required) |

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

193| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout di stallo in millisecondi per i subagent. Copre anche gli [agenti dei workflow](/docs/it/workflows#when-an-agent-stalls-and-restarts) su Claude Code v2.1.286 o versioni successive. Predefinito `600000` (10 minuti); se aumenti `CLAUDE_STREAM_IDLE_TIMEOUT_MS` mentre il watchdog dello stream è attivo, il valore predefinito aumenta di conseguenza, come descritto in [Gestire le risposte API lente o bloccate](/docs/it/agent-sdk/typescript#handle-slow-or-stalled-api-responses) |190| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout di stallo in millisecondi per i subagent. Copre anche gli [agenti dei workflow](/docs/it/workflows#when-an-agent-stalls-and-restarts) su Claude Code v2.1.286 o versioni successive. Predefinito `600000` (10 minuti); se aumenti `CLAUDE_STREAM_IDLE_TIMEOUT_MS` mentre il watchdog dello stream è attivo, il valore predefinito aumenta di conseguenza, come descritto in [Gestire le risposte API lente o bloccate](/docs/it/agent-sdk/typescript#handle-slow-or-stalled-api-responses) |


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

230| `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) |227| `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) |

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

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

233| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Imposta su `1` per disattivare lo [strumento advisor](/docs/it/advisor). Il comando `/advisor` diventa non disponibile, qualsiasi `advisorModel` configurato viene ignorato e il flag `--advisor` viene accettato ma non ha effetto, quindi gli script esistenti che lo passano continuano a funzionare senza errori |229| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Imposta su `1` per disattivare lo [strumento advisor](/docs/it/advisor). Il comando `/advisor` diventa non disponibile, qualsiasi `advisorModel` configurato viene ignorato e il flag `--advisor` viene accettato ma non ha effetto, quindi gli script esistenti che lo passano continuano a funzionare senza errori |

234| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Imposta su `1` per disattivare gli [agenti in background e la visualizzazione agenti](/docs/it/agent-view): `claude agents`, `--bg`, `/background` e il supervisore su richiesta. Equivale all'impostazione [`disableAgentView`](/docs/it/settings-reference#disableagentview) |230| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Imposta su `1` per disattivare gli [agenti in background e la visualizzazione agenti](/docs/it/agent-view): `claude agents`, `--bg`, `/background` e il supervisore su richiesta. Equivale all'impostazione [`disableAgentView`](/docs/it/settings-reference#disableagentview) |

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


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

241| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Imposta su `1` per impedire a Claude Code di trattare una risposta in streaming di [Amazon Bedrock](/docs/it/amazon-bedrock) con un header `Content-Type` mancante o vuoto come event stream binario di Amazon Bedrock. Per impostazione predefinita, Claude Code presume che un gateway abbia rimosso l'header da una risposta altrimenti non modificata, quindi decodifica il corpo e lo streaming continua a funzionare. Impostala solo per un gateway che riemette anche lo stream come server-sent events; Claude Code legge allora il corpo senza header come server-sent events. Richiede Claude Code v2.1.239 o versioni successive |237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Imposta su `1` per impedire a Claude Code di trattare una risposta in streaming di [Amazon Bedrock](/docs/it/amazon-bedrock) con un header `Content-Type` mancante o vuoto come event stream binario di Amazon Bedrock. Per impostazione predefinita, Claude Code presume che un gateway abbia rimosso l'header da una risposta altrimenti non modificata, quindi decodifica il corpo e lo streaming continua a funzionare. Impostala solo per un gateway che riemette anche lo stream come server-sent events; Claude Code legge allora il corpo senza header come server-sent events. Richiede Claude Code v2.1.239 o versioni successive |

242| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Imposta su `1` per saltare il controllo che verifica che una risposta in streaming di [Amazon Bedrock](/docs/it/amazon-bedrock) abbia il content-type `application/vnd.amazon.eventstream`. Senza questa variabile, quando una risposta ha un content-type diverso, Claude Code fa fallire la richiesta con un errore che indica quel tipo, il che significa che un [gateway o un proxy sta trasformando la risposta](/docs/it/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configura il gateway in modo che inoltri l'header `Content-Type` e il corpo senza modifiche invece di impostare questa variabile. Richiede Claude Code v2.1.208 o versioni successive |238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Imposta su `1` per saltare il controllo che verifica che una risposta in streaming di [Amazon Bedrock](/docs/it/amazon-bedrock) abbia il content-type `application/vnd.amazon.eventstream`. Senza questa variabile, quando una risposta ha un content-type diverso, Claude Code fa fallire la richiesta con un errore che indica quel tipo, il che significa che un [gateway o un proxy sta trasformando la risposta](/docs/it/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configura il gateway in modo che inoltri l'header `Content-Type` e il corpo senza modifiche invece di impostare questa variabile. Richiede Claude Code v2.1.208 o versioni successive |

243| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Imposta su `1` per arrestare i comandi shell in background in esecuzione, i workflow dinamici e, a partire dalla v2.1.198, i subagent in background di una [sessione in background](/docs/it/agent-view) quando il [supervisore](/docs/it/agent-view#the-supervisor-process) arresta, riavvia o aggiorna il processo di quella sessione, invece di passarli al processo successivo della sessione. Influisce solo su quel passaggio: mandare una sessione in background con `←` o [`/background`](/docs/it/agent-view#from-inside-a-session) trasferisce comunque il lavoro in background in corso, e `CLAUDE_DISABLE_ADOPT` disattiva entrambi. Richiede Claude Code v2.1.196 o successiva |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Imposta su `1` per interrompere il lavoro in corso di una [sessione in background](/docs/it/agent-view) quando il [supervisore](/docs/it/agent-view#the-supervisor-process) arresta, riavvia o aggiorna il processo di quella sessione, invece di passarlo al processo successivo della sessione. Quel lavoro comprende i comandi shell in background in esecuzione della sessione e i workflow dinamici, oltre ai subagent in background a partire dalla v2.1.198. Influisce solo su quel passaggio: mettere una sessione in background con `←` o [`/background`](/docs/it/agent-view#from-inside-a-session) trasferisce comunque il lavoro in background in corso. Richiede Claude Code v2.1.196 o successiva |

244| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Imposta su `1` per impedire a Claude Code di terminare i [comandi shell in background](/docs/it/interactive-mode#background-bash-commands) in caso di pressione sulla memoria. Per impostazione predefinita, su macOS e Linux, Claude Code termina le shell in background quando il sistema operativo segnala una pressione critica sulla memoria e la sessione è rimasta inattiva per 30 minuti senza turni o subagent in esecuzione. Windows non ha un segnale di pressione sulla memoria, quindi lì questa variabile non ha effetto. Richiede Claude Code v2.1.193 o versioni successive |240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Imposta su `1` per impedire a Claude Code di terminare i [comandi shell in background](/docs/it/interactive-mode#background-bash-commands) in caso di pressione sulla memoria. Per impostazione predefinita, su macOS e Linux, Claude Code termina le shell in background quando il sistema operativo segnala una pressione critica sulla memoria e la sessione è rimasta inattiva per 30 minuti senza turni o subagent in esecuzione. Windows non ha un segnale di pressione sulla memoria, quindi lì questa variabile non ha effetto. Richiede Claude Code v2.1.193 o versioni successive |

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

246| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Imposta su `1` per mantenere disponibili gli strumenti del browser di [Claude in Chrome](/docs/it/chrome) omettendo la sezione Chrome del prompt di sistema e la [skill inclusa](/docs/it/skills#bundled-skills) `/claude-in-chrome`. Pensata per gli host che incorporano Claude Code e forniscono le proprie indicazioni per il browser. Richiede Claude Code v2.1.257 o versioni successive |242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Imposta su `1` per mantenere disponibili gli strumenti del browser di [Claude in Chrome](/docs/it/chrome) omettendo la sezione Chrome del prompt di sistema e la [skill inclusa](/docs/it/skills#bundled-skills) `/claude-in-chrome`. Pensata per gli host che incorporano Claude Code e forniscono le proprie indicazioni per il browser. Richiede Claude Code v2.1.257 o versioni successive |


299| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Imposta su `1` per forzare la persistenza delle trascrizioni, la cronologia dei prompt e la registrazione in `claude agents` anche quando questo `claude` è stato avviato dall'interno di un'altra sessione di Claude Code. Usala quando un valore ereditato di `CLAUDE_CODE_CHILD_SESSION`, ad esempio da una sessione `screen` o da un launcher in background avviato per la prima volta dallo strumento Bash di Claude Code, fa sì che una vera sessione di primo livello venga erroneamente classificata come annidata. A partire dalla v2.1.178, Claude Code rileva automaticamente il caso di tmux e ignora il marcatore ereditato, quindi tmux non ha più bisogno di questa variabile. Rispettata anche nella v2.1.169 e precedenti; non ha effetto nella v2.1.170 e nella v2.1.171, in cui il rilevamento delle sessioni annidate che sovrascrive era stato rimosso |295| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Imposta su `1` per forzare la persistenza delle trascrizioni, la cronologia dei prompt e la registrazione in `claude agents` anche quando questo `claude` è stato avviato dall'interno di un'altra sessione di Claude Code. Usala quando un valore ereditato di `CLAUDE_CODE_CHILD_SESSION`, ad esempio da una sessione `screen` o da un launcher in background avviato per la prima volta dallo strumento Bash di Claude Code, fa sì che una vera sessione di primo livello venga erroneamente classificata come annidata. A partire dalla v2.1.178, Claude Code rileva automaticamente il caso di tmux e ignora il marcatore ereditato, quindi tmux non ha più bisogno di questa variabile. Rispettata anche nella v2.1.169 e precedenti; non ha effetto nella v2.1.170 e nella v2.1.171, in cui il rilevamento delle sessioni annidate che sovrascrive era stato rimosso |

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

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

302| `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 |298| `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 e vedi comunque il testo `alt` attenuato di un `Image`. Consulta [quali terminali disegnano un `Image`](/docs/it/plugins/mods/gallery#image-and-client) e perché questa variabile non aiuta all'interno di tmux o screen |

303| `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) |299| `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) |

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

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


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

320| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Lunghezza massima in caratteri delle descrizioni degli strumenti MCP e delle istruzioni dei server MCP che Claude Code invia al modello. Il valore che imposti sostituisce entrambi i [limiti predefiniti](/docs/it/mcp#for-mcp-server-authors): 4096, e 16384 per la descrizione di uno strumento che Claude carica tramite la ricerca degli strumenti. Accetta un numero intero positivo in cifre semplici. Qualsiasi altro valore viene ignorato e si applicano i valori predefiniti. Richiede Claude Code v2.1.280 o successivo |316| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Lunghezza massima in caratteri delle descrizioni degli strumenti MCP e delle istruzioni dei server MCP che Claude Code invia al modello. Il valore che imposti sostituisce entrambi i [limiti predefiniti](/docs/it/mcp#for-mcp-server-authors): 4096, e 16384 per la descrizione di uno strumento che Claude carica tramite la ricerca degli strumenti. Accetta un numero intero positivo in cifre semplici. Qualsiasi altro valore viene ignorato e si applicano i valori predefiniti. Richiede Claude Code v2.1.280 o successivo |

321| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Imposta il numero massimo di token di output per la maggior parte delle richieste. Valori predefiniti e limiti variano in base al modello; consulta [numero massimo di token di output](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code riduce al limite un valore superiore al limite di un modello. Per un ID modello che Claude Code non riesce a ricondurre a un modello noto, il valore predefinito è 32000 e il limite è 128000. Aumentare questo valore riduce la finestra di contesto effettiva disponibile prima che si attivi la [compattazione automatica](/docs/it/costs#reduce-token-usage) |317| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Imposta il numero massimo di token di output per la maggior parte delle richieste. Valori predefiniti e limiti variano in base al modello; consulta [numero massimo di token di output](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code riduce al limite un valore superiore al limite di un modello. Per un ID modello che Claude Code non riesce a ricondurre a un modello noto, il valore predefinito è 32000 e il limite è 128000. Aumentare questo valore riduce la finestra di contesto effettiva disponibile prima che si attivi la [compattazione automatica](/docs/it/costs#reduce-token-usage) |

322| `CLAUDE_CODE_MAX_RETRIES` | Sovrascrive il numero di nuovi tentativi per le richieste API non riuscite (predefinito: 10). Limitato a 15 a partire dalla v2.1.186; a partire dalla v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta il valore predefinito e rimuove il limite. Per le sessioni non presidiate che devono attendere la fine di interruzioni più lunghe, imposta invece `CLAUDE_CODE_RETRY_WATCHDOG` |318| `CLAUDE_CODE_MAX_RETRIES` | Sovrascrive il numero di nuovi tentativi per le richieste API non riuscite (predefinito: 10). I nuovi tentativi possono interrompersi prima in caso di errori `529` di sovraccarico. Ad esempio, con una chiave API su un modello Opus, si interrompono al terzo `529` e viene mostrato [Repeated 529 Overloaded errors](/docs/it/errors#api-error-repeated-529-overloaded-errors). Se imposti un [modello di fallback](/docs/it/settings-reference#fallbackmodel), Claude Code passa a quel modello invece di mostrare l'errore. Limitato a 15 a partire dalla v2.1.186; a partire dalla v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta il valore predefinito e rimuove il limite. Per le sessioni non presidiate che devono attendere la fine di interruzioni più lunghe, imposta invece `CLAUDE_CODE_RETRY_WATCHDOG` |

323| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Rimossa nella v2.1.224 e ora non ha alcun effetto. In precedenza limitava il numero totale di [subagent](/docs/it/sub-agents) che Claude poteva generare con lo strumento Agent in una sessione (predefinito: 200); la generazione oltre il limite non riusciva con `Subagent spawn limit reached`. Il [limite di subagent simultanei](/docs/it/sub-agents#concurrent-subagent-limit) e il [limite di profondità](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) si applicano ancora |319| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Rimossa nella v2.1.224 e ora non ha alcun effetto. In precedenza limitava il numero totale di [subagent](/docs/it/sub-agents) che Claude poteva generare con lo strumento Agent in una sessione (predefinito: 200); la generazione oltre il limite non riusciva con `Subagent spawn limit reached`. Il [limite di subagent simultanei](/docs/it/sub-agents#concurrent-subagent-limit) e il [limite di profondità](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) si applicano ancora |

324| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Numero di [livelli di subagent](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) consentiti sotto la conversazione principale (predefinito: 3). Con il valore predefinito, i subagent possono generare i propri subagent, e un subagent al terzo livello non può generarne altri; imposta `1` per disattivare l'annidamento. Dalla v2.1.217 alla v2.1.218 il valore predefinito era 1, quindi un subagent non poteva generarne di propri a meno che tu non aumentassi il limite; la v2.1.219 ha 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 |320| `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 |

325| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Numero massimo di strumenti di sola lettura e subagent che possono essere eseguiti in parallelo (predefinito: 10). Valori più alti aumentano il parallelismo ma consumano più risorse |

326| `CLAUDE_CODE_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 |321| `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 |

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

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

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

330| `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 |325| `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 ancora in fase di connessione, al posto dell'[attesa del primo turno](/docs/it/agent-sdk/mcp#connection-timing) predefinita. In un [ambiente self-hosted](/docs/it/self-hosted-environments-configuration#connection-timing), modifica solo la durata dell'attesa. Alcuni server mantengono una propria attesa indipendentemente dal valore; [Tempistiche di connessione](/docs/it/agent-sdk/mcp#connection-timing) li elenca. Imposta su `0` per saltare l'attesa per tutti gli altri server. Richiede Claude Code v2.1.274 o successiva |

331| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Timeout di inattività in millisecondi per le chiamate agli strumenti MCP. Quando un server MCP stdio, HTTP, SSE, WebSocket o un [connettore claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) non invia alcuna risposta né alcuna notifica di avanzamento per questo intervallo, la chiamata allo strumento si interrompe con un errore invece di attendere il `MCP_TOOL_TIMEOUT` complessivo. Sovrascrive i valori predefiniti per trasporto di 300000 (5 minuti) per i server di rete e 1800000 (30 minuti) per i server stdio. Imposta su `0` per disabilitare il controllo di inattività. I valori inferiori a 1000 vengono portati a un secondo, e il valore è limitato al `MCP_TOOL_TIMEOUT` effettivo. Un `timeout` per server in `.mcp.json` di almeno 1000 porta la finestra di inattività di quel server almeno al valore di `timeout`. Non si applica ai server IDE né ai server in-process dell'SDK. Richiede Claude Code v2.1.187 o successiva. Prima della v2.1.203, i server stdio erano esenti dal timeout di inattività |326| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Timeout di inattività in millisecondi per le chiamate agli strumenti MCP. Quando un server MCP stdio, HTTP, SSE, WebSocket o un [connettore claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) non invia alcuna risposta né alcuna notifica di avanzamento per questo intervallo, la chiamata allo strumento si interrompe con un errore invece di attendere il `MCP_TOOL_TIMEOUT` complessivo. Sovrascrive i valori predefiniti per trasporto di 300000 (5 minuti) per i server di rete e 1800000 (30 minuti) per i server stdio. Imposta su `0` per disabilitare il controllo di inattività. I valori inferiori a 1000 vengono portati a un secondo, e il valore è limitato al `MCP_TOOL_TIMEOUT` effettivo. Un `timeout` per server in `.mcp.json` di almeno 1000 porta la finestra di inattività di quel server almeno al valore di `timeout`. Non si applica ai server IDE né ai server in-process dell'SDK. Richiede Claude Code v2.1.187 o successiva. Prima della v2.1.203, i server stdio erano esenti dal timeout di inattività |

332| `CLAUDE_CODE_MESSAGING_SOCKET` | Impostata da Claude Code, non da te: nelle sessioni che associano un [socket della casella in arrivo](/docs/it/cross-session-messaging#the-sessions-inbox-socket), Claude Code esporta il percorso di quel socket verso hook e comandi Bash quando associa il socket. In una sessione che si avvia con la messaggistica attiva, Claude Code associa il socket prima che venga eseguito qualsiasi hook. Le altre sessioni sulla macchina recapitano i messaggi a questo percorso. Ogni sessione esporta il proprio socket anziché uno ereditato da un processo padre, e i messaggi che vi arrivano passano attraverso i [controlli in ingresso](/docs/it/cross-session-messaging#control-inbound-messages) della sessione. I blocchi `env` delle impostazioni non possono impostarla. Richiede Claude Code v2.1.224 o successiva |327| `CLAUDE_CODE_MESSAGING_SOCKET` | Impostata da Claude Code, non da te: nelle sessioni che associano un [socket della casella in arrivo](/docs/it/cross-session-messaging#the-sessions-inbox-socket), Claude Code esporta il percorso di quel socket verso hook e comandi Bash quando associa il socket. In una sessione che si avvia con la messaggistica attiva, Claude Code associa il socket prima che venga eseguito qualsiasi hook. Le altre sessioni sulla macchina recapitano i messaggi a questo percorso. Ogni sessione esporta il proprio socket anziché uno ereditato da un processo padre, e i messaggi che vi arrivano passano attraverso i [controlli in ingresso](/docs/it/cross-session-messaging#control-inbound-messages) della sessione. I blocchi `env` delle impostazioni non possono impostarla. Richiede Claude Code v2.1.224 o successiva |

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


372| `CLAUDE_CODE_RESUME_PROMPT` | Sovrascrive il messaggio di continuazione che Claude Code invia a Claude quando `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` continua un turno interrotto invece di inviare di nuovo il suo prompt, o quando riprendi una [chiamata a uno strumento differita](/docs/it/hooks#defer-a-tool-call-for-later) con `-p`. Il valore predefinito è `Continue from where you left off.`. Una stringa vuota usa il valore predefinito |367| `CLAUDE_CODE_RESUME_PROMPT` | Sovrascrive il messaggio di continuazione che Claude Code invia a Claude quando `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` continua un turno interrotto invece di inviare di nuovo il suo prompt, o quando riprendi una [chiamata a uno strumento differita](/docs/it/hooks#defer-a-tool-call-for-later) con `-p`. Il valore predefinito è `Continue from where you left off.`. Una stringa vuota usa il valore predefinito |

373| `CLAUDE_CODE_RETRY_WATCHDOG` | Imposta su `1` per sessioni non presidiate come harness di valutazione, job CI o worker remoti. Riprova indefinitamente in caso di errori di capacità `429` e `529` invece di fallire dopo `CLAUDE_CODE_MAX_RETRIES` tentativi. Claude Code fallisce subito quando una richiesta a velocità standard riceve un `429` che segnala un limite di spesa o crediti di utilizzo esauriti, anche se proviene da un [limite di spesa del gateway](/docs/it/errors#spend-limit-reached) che si reimposta secondo una pianificazione. Prima della v2.1.239, il watchdog riprovava indefinitamente anche in questi casi. Per le richieste in modalità veloce, consulta [Gestire i rate limit](/docs/it/fast-mode#handle-rate-limits). Il watchdog attende fino a 5 minuti tra un tentativo e l'altro, oppure fino al reset del limite quando la risposta riporta un orario di reset del rate limit, così che una sessione che raggiunge un limite di utilizzo attenda la fine della finestra rimanente. Nella v2.1.199 o successiva aumenta anche a 300 il numero predefinito di nuovi tentativi per altri errori transitori, come errori del server, timeout e connessioni interrotte, pari a circa tre ore di backoff, e rimuove il limite di 15 su `CLAUDE_CODE_MAX_RETRIES` se imposti esplicitamente quella variabile. Richiede Claude Code v2.1.186 o successiva |368| `CLAUDE_CODE_RETRY_WATCHDOG` | Imposta su `1` per sessioni non presidiate come harness di valutazione, job CI o worker remoti. Riprova indefinitamente in caso di errori di capacità `429` e `529` invece di fallire dopo `CLAUDE_CODE_MAX_RETRIES` tentativi. Claude Code fallisce subito quando una richiesta a velocità standard riceve un `429` che segnala un limite di spesa o crediti di utilizzo esauriti, anche se proviene da un [limite di spesa del gateway](/docs/it/errors#spend-limit-reached) che si reimposta secondo una pianificazione. Prima della v2.1.239, il watchdog riprovava indefinitamente anche in questi casi. Per le richieste in modalità veloce, consulta [Gestire i rate limit](/docs/it/fast-mode#handle-rate-limits). Il watchdog attende fino a 5 minuti tra un tentativo e l'altro, oppure fino al reset del limite quando la risposta riporta un orario di reset del rate limit, così che una sessione che raggiunge un limite di utilizzo attenda la fine della finestra rimanente. Nella v2.1.199 o successiva aumenta anche a 300 il numero predefinito di nuovi tentativi per altri errori transitori, come errori del server, timeout e connessioni interrotte, pari a circa tre ore di backoff, e rimuove il limite di 15 su `CLAUDE_CODE_MAX_RETRIES` se imposti esplicitamente quella variabile. Richiede Claude Code v2.1.186 o successiva |

374| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | Tempo massimo in millisecondi che ogni richiesta API trascorre attendendo la fine degli errori `429` e `529` quando `CLAUDE_CODE_RETRY_WATCHDOG` è impostata. Una volta trascorso questo tempo, il successivo errore di questo tipo termina la richiesta. Indica un numero intero positivo in cifre semplici, come `1800000` per 30 minuti. Quando non è impostata, l'attesa non ha limiti. Richiede Claude Code v2.1.295 o successiva |369| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | Tempo massimo in millisecondi che ogni richiesta API trascorre attendendo la fine degli errori `429` e `529` quando `CLAUDE_CODE_RETRY_WATCHDOG` è impostata. Una volta trascorso questo tempo, il successivo errore di questo tipo termina la richiesta. Indica un numero intero positivo in cifre semplici, come `1800000` per 30 minuti. Quando non è impostata, l'attesa non ha limiti. Richiede Claude Code v2.1.295 o successiva |

370| `CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS` | Intervallo minimo in millisecondi tra le verifiche per stabilire se un [limite di utilizzo](/docs/it/errors#youve-hit-your-session-limit) è già stato revocato, mentre una richiesta attende l'azzeramento di quel limite con `CLAUDE_CODE_RETRY_WATCHDOG` impostata. Quando una verifica rileva che il limite è stato revocato, la richiesta viene inviata subito. Indica un numero intero in cifre semplici da `60000`, un minuto, a `10800000`, tre ore. Le verifiche vengono effettuate solo per il limite di sessione o settimanale di un abbonamento claude.ai mentre i crediti di utilizzo non sono in uso, e non mentre `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostata. Quando questa variabile non è impostata o il suo valore è fuori da tale intervallo, non viene effettuata alcuna verifica. Richiede Claude Code v2.1.305 o successiva |

375| `CLAUDE_CODE_SAFE_MODE` | Imposta su `1` per avviare in modalità provvisoria: CLAUDE.md, skill, plugin, hook, server MCP, comandi e agenti personalizzati, stili di output, workflow, temi personalizzati, scorciatoie da tastiera personalizzate, comandi della riga di stato e dei suggerimenti dei file, server LSP e memoria automatica non vengono caricati, per la risoluzione dei problemi di una configurazione non funzionante. Il criterio delle impostazioni gestite si applica comunque, inclusi hook, riga di stato e comandi dei suggerimenti dei file configurati dal criterio; plugin gestiti, skill gestite, CLAUDE.md gestito e server MCP configurati dal criterio invece no. Equivale a passare [`--safe-mode`](/docs/it/cli-reference#cli-flags). I processi figli avviati direttamente ereditano la variabile |371| `CLAUDE_CODE_SAFE_MODE` | Imposta su `1` per avviare in modalità provvisoria: CLAUDE.md, skill, plugin, hook, server MCP, comandi e agenti personalizzati, stili di output, workflow, temi personalizzati, scorciatoie da tastiera personalizzate, comandi della riga di stato e dei suggerimenti dei file, server LSP e memoria automatica non vengono caricati, per la risoluzione dei problemi di una configurazione non funzionante. Il criterio delle impostazioni gestite si applica comunque, inclusi hook, riga di stato e comandi dei suggerimenti dei file configurati dal criterio; plugin gestiti, skill gestite, CLAUDE.md gestito e server MCP configurati dal criterio invece no. Equivale a passare [`--safe-mode`](/docs/it/cli-reference#cli-flags). I processi figli avviati direttamente ereditano la variabile |

376| `CLAUDE_CODE_SCRIPT_CAPS` | Oggetto JSON che limita quante volte script specifici possono essere invocati per sessione quando è impostata `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Le chiavi sono sottostringhe confrontate con il testo del comando; i valori sono limiti interi di chiamate. Ad esempio, `{"deploy.sh": 2}` consente di chiamare `deploy.sh` al massimo due volte. La corrispondenza si basa su sottostringhe, quindi trucchi di espansione della shell come `./scripts/deploy.sh $(evil)` vengono comunque conteggiati nel limite. La moltiplicazione delle esecuzioni a runtime tramite `xargs` o `find -exec` non viene rilevata; si tratta di un controllo di difesa in profondità |372| `CLAUDE_CODE_SCRIPT_CAPS` | Oggetto JSON che limita quante volte script specifici possono essere invocati per sessione quando è impostata `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Le chiavi sono sottostringhe confrontate con il testo del comando; i valori sono limiti interi di chiamate. Ad esempio, `{"deploy.sh": 2}` consente di chiamare `deploy.sh` al massimo due volte. La corrispondenza si basa su sottostringhe, quindi trucchi di espansione della shell come `./scripts/deploy.sh $(evil)` vengono comunque conteggiati nel limite. La moltiplicazione delle esecuzioni a runtime tramite `xargs` o `find -exec` non viene rilevata; si tratta di un controllo di difesa in profondità |

377| `CLAUDE_CODE_SCROLL_SPEED` | Imposta il moltiplicatore di scorrimento della rotellina del mouse nel [rendering a schermo intero](/docs/it/fullscreen#mouse-wheel-scrolling). Accetta qualsiasi valore positivo fino a 20, inclusi valori frazionari inferiori a 1 come `0.5` per rallentare lo scorrimento accelerato del trackpad e della rotellina nei terminali che già amplificano gli eventi della rotellina. Imposta su `3` per allinearti a `vim` se il tuo terminale invia un evento della rotellina per ogni scatto senza amplificazione. Ignorata nel terminale degli IDE JetBrains, dove Claude Code usa la propria gestione dello scorrimento |373| `CLAUDE_CODE_SCROLL_SPEED` | Imposta il moltiplicatore di scorrimento della rotellina del mouse nel [rendering a schermo intero](/docs/it/fullscreen#mouse-wheel-scrolling). Accetta qualsiasi valore positivo fino a 20, inclusi valori frazionari inferiori a 1 come `0.5` per rallentare lo scorrimento accelerato del trackpad e della rotellina nei terminali che già amplificano gli eventi della rotellina. Imposta su `3` per allinearti a `vim` se il tuo terminale invia un evento della rotellina per ogni scatto senza amplificazione. Ignorata nel terminale degli IDE JetBrains, dove Claude Code usa la propria gestione dello scorrimento |


405| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in millisecondi per cui la prima query attende l'elenco iniziale delle skill quando è impostata `CLAUDE_CODE_SYNC_SKILLS` (predefinito: 5000). Se viene superato, la prima query viene eseguita con le skill già arrivate. I download terminano comunque in background, e Claude attende il download di una skill quando invoca quella skill |401| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in millisecondi per cui la prima query attende l'elenco iniziale delle skill quando è impostata `CLAUDE_CODE_SYNC_SKILLS` (predefinito: 5000). Se viene superato, la prima query viene eseguita con le skill già arrivate. I download terminano comunque in background, e Claude attende il download di una skill quando invoca quella skill |

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

407| `CLAUDE_CODE_TASK_LIST_ID` | Condivide un elenco di attività tra sessioni. Imposta lo stesso ID in più istanze di Claude Code per coordinarti su un elenco di attività condiviso, nelle [sessioni che hanno gli strumenti Task](/docs/it/tools-reference#task-tool-availability). Consulta [Elenco delle attività](/docs/it/interactive-mode#task-list) |403| `CLAUDE_CODE_TASK_LIST_ID` | Condivide un elenco di attività tra sessioni. Imposta lo stesso ID in più istanze di Claude Code per coordinarti su un elenco di attività condiviso, nelle [sessioni che hanno gli strumenti Task](/docs/it/tools-reference#task-tool-availability). Consulta [Elenco delle attività](/docs/it/interactive-mode#task-list) |

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

409| `CLAUDE_CODE_TMPDIR` | Sovrascrive la directory temporanea usata per i file temporanei interni. Claude Code aggiunge `/claude-{uid}/` a questo percorso su Unix, o `/claude/` su Windows. Predefinito: `/tmp` su macOS, `os.tmpdir()` su Linux e Windows. Su macOS e Linux, i sottoprocessi Bash in [sandbox](/docs/it/sandboxing) ricevono un `$TMPDIR` di fallback breve sotto il valore predefinito di sistema quando il tuo override è un percorso lungo, poiché alcuni strumenti non funzionano quando i percorsi temporanei diventano troppo lunghi. I comandi Bash non in sandbox ereditano il `$TMPDIR` della tua shell quando è impostato. Su Windows nativo, quando la tua shell non imposta `$TMPDIR`, un comando Bash che fa riferimento a `$TMPDIR` riceve il tuo override, oppure `%TEMP%` se non ne hai impostato uno. I file temporanei di Claude Code usano sempre il tuo override. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |404| `CLAUDE_CODE_TMPDIR` | Sovrascrive la directory temporanea usata per i file temporanei interni. Claude Code aggiunge `/claude-{uid}/` a questo percorso su Unix, o `/claude/` su Windows. Predefinito: `/tmp` su macOS, `os.tmpdir()` su Linux e Windows. Su macOS e Linux, i sottoprocessi Bash in [sandbox](/docs/it/sandboxing) ricevono un `$TMPDIR` di fallback breve sotto il valore predefinito di sistema quando il tuo override è un percorso lungo, poiché alcuni strumenti non funzionano quando i percorsi temporanei diventano troppo lunghi. I comandi Bash non in sandbox ereditano il `$TMPDIR` della tua shell quando è impostato. Su Windows nativo, quando la tua shell non imposta `$TMPDIR`, un comando Bash che fa riferimento a `$TMPDIR` riceve il tuo override, oppure `%TEMP%` se non ne hai impostato uno. I file temporanei di Claude Code usano sempre il tuo override. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

410| `CLAUDE_CODE_TMUX_TRUECOLOR` | Imposta su qualsiasi valore non vuoto, come `1`, per consentire l'output truecolor a 24 bit all'interno di tmux. **Impostarla su `0` o `false` consente comunque il truecolor**, a differenza della maggior parte delle variabili on/off; rimuovi la variabile per ripristinare la limitazione a 256 colori. Per impostazione predefinita, Claude Code limita l'output a 256 colori quando `$TMUX` è impostata perché tmux non inoltra le sequenze di escape truecolor a meno che non sia configurato per farlo. Impostala dopo aver aggiunto `set -ga terminal-overrides ',*:Tc'` al tuo `~/.tmux.conf`. Consulta [Configurazione del terminale](/docs/it/terminal-config) per altre impostazioni di tmux |405| `CLAUDE_CODE_TMUX_TRUECOLOR` | Imposta su qualsiasi valore non vuoto, come `1`, per consentire l'output truecolor a 24 bit all'interno di tmux. **Impostarla su `0` o `false` consente comunque il truecolor**, a differenza della maggior parte delle variabili on/off; rimuovi la variabile per ripristinare la limitazione a 256 colori. Per impostazione predefinita, Claude Code limita l'output a 256 colori quando `$TMUX` è impostata perché tmux non inoltra le sequenze di escape truecolor a meno che non sia configurato per farlo. Impostala dopo aver aggiunto `set -ga terminal-overrides ',*:Tc'` al tuo `~/.tmux.conf`. Consulta [Configurazione del terminale](/docs/it/terminal-config) per altre impostazioni di tmux |

411| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Su Linux e WSL, imposta un elenco separato da virgole dei tipi di processi che Claude Code [esclude dal limite di memoria degli strumenti](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), come `mcp` o `lsp`. Imposta `none` per limitare ogni tipo, oppure `all-new` per limitare solo i comandi degli strumenti Bash, PowerShell e Monitor. Claude Code mantiene sotto il limite i comandi degli strumenti Bash, PowerShell e Monitor qualunque cosa tu elenchi. Richiede Claude Code v2.1.246 o successiva |406| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Su Linux e WSL, imposta un elenco separato da virgole dei tipi di processi che Claude Code [esclude dal limite di memoria degli strumenti](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), come `mcp` o `lsp`. Imposta `none` per limitare ogni tipo, oppure `all-new` per limitare solo i comandi degli strumenti Bash, PowerShell e Monitor. Claude Code mantiene sotto il limite i comandi degli strumenti Bash, PowerShell e Monitor qualunque cosa tu elenchi. Richiede Claude Code v2.1.246 o successiva |

412| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Su Linux e WSL, imposta una dimensione come `4G` per [limitare la memoria che i comandi degli strumenti Bash e PowerShell possono usare](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), e i comandi dello strumento Monitor nella v2.1.246 o successiva. Scrivi la dimensione in cifre semplici, da sola per un numero di byte o con un suffisso `K`, `M`, `G` o `T`. Imposta `0` o `off` per disattivare il limite. Una volta che il primo processo avviato da Claude Code ha attivato o disattivato il limite, un valore modificato ha effetto al successivo avvio di `claude`. Richiede Claude Code v2.1.233 o successiva |407| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Su Linux e WSL, imposta una dimensione come `4G` per [limitare la memoria che i comandi degli strumenti Bash e PowerShell possono usare](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), e i comandi dello strumento Monitor nella v2.1.246 o successiva. Scrivi la dimensione in cifre semplici, da sola per un numero di byte o con un suffisso `K`, `M`, `G` o `T`. Imposta `0` o `off` per disattivare il limite. Una volta che il primo processo avviato da Claude Code ha attivato o disattivato il limite, un valore modificato ha effetto al successivo avvio di `claude`. Richiede Claude Code v2.1.233 o successiva |

413| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Imposta su `1` per limitare la crescita del [file di trascrizione](/docs/it/sessions#where-transcripts-are-stored) di una lunga sessione `-p` o dell'Agent SDK. Dopo ogni compattazione, una volta che il file supera i 5 MB, Claude Code rimuove la cronologia precedente a quella compattazione. La ripresa della sessione ripristina la stessa conversazione indipendentemente dal fatto che il file sia stato ridotto. Impostala nell'ambiente da cui avvii Claude Code, poiché un blocco `env` delle impostazioni non può attivarla. Richiede Claude Code v2.1.287 o successiva |408| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Imposta su `1` per limitare la crescita del [file di trascrizione](/docs/it/sessions#where-transcripts-are-stored) di una lunga sessione `-p` o dell'Agent SDK. Dopo ogni compattazione, quando il file supera i 5 MB, Claude Code rimuove la cronologia precedente a quella compattazione. Dalla v2.1.296 in poi, il file resta invariato quando la rimozione di quella cronologia lo ridurrebbe di meno del 10%. Riprendere la sessione ripristina la stessa conversazione indipendentemente dal fatto che il file sia stato ridotto. Impostala nell'ambiente da cui avvii Claude Code, poiché un blocco `env` delle impostazioni non può attivarla. Richiede Claude Code v2.1.287 o successiva |

414| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Scadenza in millisecondi prima che Claude Code annulli una finestra di dialogo che inoltra a un client remoto, come un host [Remote Control](/docs/it/remote-control) o SDK, oppure la finestra di dialogo di approvazione per un [messaggio tra sessioni trattenuto](/docs/it/cross-session-messaging#control-inbound-messages); le richieste di permesso e le domande `AskUserQuestion` usano flussi propri e non sono regolate da questa variabile. Su Claude Code v2.1.236 o successive, limita anche la [richiesta di consenso ai crediti di utilizzo di Fable](/docs/it/model-config#fable-and-usage-credits) mostrata a metà sessione in una sessione che potrebbe essere in esecuzione senza supervisione. [Controllare i messaggi in entrata](/docs/it/cross-session-messaging#control-inbound-messages) e [Sessioni non interattive](/docs/it/cross-session-messaging#non-interactive-sessions) descrivono le regole complete di scadenza dei messaggi trattenuti, inclusi i casi in cui la scadenza non si applica. Sovrascrive l'impostazione [`dialogExpiry`](/docs/it/settings-reference#dialogexpiry). `0` o un valore negativo disattiva la scadenza. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |409| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Scadenza in millisecondi prima che Claude Code annulli una finestra di dialogo che inoltra a un client remoto, come un host [Remote Control](/docs/it/remote-control) o SDK, oppure la finestra di dialogo di approvazione per un [messaggio tra sessioni trattenuto](/docs/it/cross-session-messaging#control-inbound-messages); le richieste di permesso e le domande `AskUserQuestion` usano flussi propri e non sono regolate da questa variabile. Su Claude Code v2.1.236 o successive, limita anche la [richiesta di consenso ai crediti di utilizzo di Fable](/docs/it/model-config#fable-and-usage-credits) mostrata a metà sessione in una sessione che potrebbe essere in esecuzione senza supervisione. [Controllare i messaggi in entrata](/docs/it/cross-session-messaging#control-inbound-messages) e [Sessioni non interattive](/docs/it/cross-session-messaging#non-interactive-sessions) descrivono le regole complete di scadenza dei messaggi trattenuti, inclusi i casi in cui la scadenza non si applica. Sovrascrive l'impostazione [`dialogExpiry`](/docs/it/settings-reference#dialogexpiry). `0` o un valore negativo disattiva la scadenza. Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

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

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

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

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

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

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

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

422| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Imposta il numero di millisecondi per cui [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior) mantiene nella cache la risposta di ogni URL recuperato. Il valore predefinito è `900000`, ovvero 15 minuti. Accetta solo cifre semplici; `0`, un decimale o qualsiasi altra scrittura mantiene il valore predefinito. Claude Code legge il valore una volta per avvio, quindi una modifica in un blocco `env` delle impostazioni si applica al successivo avvio di `claude`. Richiede Claude Code v2.1.233 o successive |416| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Imposta il numero di millisecondi per cui [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior) mantiene nella cache la risposta di ogni URL recuperato. Il valore predefinito è `900000`, ovvero 15 minuti. Accetta solo cifre semplici; `0`, un decimale o qualsiasi altra scrittura mantiene il valore predefinito. Claude Code legge il valore una volta per avvio, quindi una modifica in un blocco `env` delle impostazioni si applica al successivo avvio di `claude`. Richiede Claude Code v2.1.233 o successive |


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

428| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | Imposta su `1` per mostrare, sopra il prompt, una riga per ciascuno degli ultimi tre controlli effettuati dal [mod You should know](/docs/it/interactive-mode#you-should-know-suggestions) in questa sessione. Usala per verificare che il mod stia effettuando i controlli quando non compaiono note. Richiede Claude Code v2.1.287 o successiva |422| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | Imposta su `1` per mostrare, sopra il prompt, una riga per ciascuno degli ultimi tre controlli effettuati dal [mod You should know](/docs/it/interactive-mode#you-should-know-suggestions) in questa sessione. Usala per verificare che il mod stia effettuando i controlli quando non compaiono note. Richiede Claude Code v2.1.287 o successiva |

429| `CLAUDE_CONFIG_DIR` | Sovrascrive la directory di configurazione (predefinita: `~/.claude`). Tutte le impostazioni, la cronologia delle sessioni e i plugin vengono archiviati in questo percorso. Per le credenziali, consulta [dove Claude Code archivia le credenziali](/docs/it/authentication#credential-management). Utile per eseguire più account affiancati: ad esempio, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. In un file di impostazioni, scrivi il [percorso assoluto](#in-settings-files). Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |423| `CLAUDE_CONFIG_DIR` | Sovrascrive la directory di configurazione (predefinita: `~/.claude`). Tutte le impostazioni, la cronologia delle sessioni e i plugin vengono archiviati in questo percorso. Per le credenziali, consulta [dove Claude Code archivia le credenziali](/docs/it/authentication#credential-management). Utile per eseguire più account affiancati: ad esempio, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Impostala nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. In un file di impostazioni, scrivi il [percorso assoluto](#in-settings-files). Ignorata nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

430| `CLAUDE_DISABLE_ADOPT` | Imposta a `1` per interrompere il lavoro in background in corso invece di trasferirlo quando porti una sessione in background premendo `←` o con [`/background`](/docs/it/agent-view#from-inside-a-session). Claude Code ti chiede conferma prima di portarla in background, quindi interrompe le attività che altrimenti verrebbero trasferite. Richiede Claude Code v2.1.195 o successive |

431| `CLAUDE_EFFORT` | Impostata automaticamente nei sottoprocessi dello strumento Bash e nei comandi degli hook sul [livello di sforzo](/docs/it/model-config#adjust-effort-level) in vigore all'avvio del sottoprocesso: `low`, `medium`, `high`, `xhigh` o `max`. Corrisponde al campo `effort.level` passato agli [hook](/docs/it/hooks). Impostata solo quando il modello corrente supporta il parametro effort |424| `CLAUDE_EFFORT` | Impostata automaticamente nei sottoprocessi dello strumento Bash e nei comandi degli hook sul [livello di sforzo](/docs/it/model-config#adjust-effort-level) in vigore all'avvio del sottoprocesso: `low`, `medium`, `high`, `xhigh` o `max`. Corrisponde al campo `effort.level` passato agli [hook](/docs/it/hooks). Impostata solo quando il modello corrente supporta il parametro effort |

432| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Imposta a `1` per forzare l'abilitazione del watchdog di inattività dello streaming a livello di byte, oppure a `0` per forzarne la disabilitazione. `0` disattiva anche la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs) sulle connessioni in cui tale scadenza è attiva. Quando non è impostata, il watchdog è abilitato per impostazione predefinita per le connessioni dirette all'API Anthropic e a [Claude Platform on AWS](/docs/it/claude-platform-on-aws), e per le risposte in streaming sulle connessioni tramite [gateway](/docs/it/gateways) raggiunte attraverso `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL`; prima della v2.1.222 non era attivo su quelle connessioni tramite gateway, quindi il watchdog a livello di eventi poteva segnalare uno stallo anche mentre arrivavano i ping keep-alive. Per i timeout e per come interagiscono i timer, consulta [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs) |425| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Imposta a `1` per forzare l'abilitazione del watchdog di inattività dello streaming a livello di byte, oppure a `0` per forzarne la disabilitazione. `0` disattiva anche la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs) sulle connessioni in cui tale scadenza è attiva. Quando non è impostata, il watchdog è abilitato per impostazione predefinita per le connessioni dirette all'API Anthropic e a [Claude Platform on AWS](/docs/it/claude-platform-on-aws), e per le risposte in streaming sulle connessioni tramite [gateway](/docs/it/gateways) raggiunte attraverso `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL`; prima della v2.1.222 non era attivo su quelle connessioni tramite gateway, quindi il watchdog a livello di eventi poteva segnalare uno stallo anche mentre arrivavano i ping keep-alive. Per i timeout e per come interagiscono i timer, consulta [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs) |

433| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Imposta a `1` per abilitare il watchdog di inattività dello streaming a livello di byte sulle risposte `vnd.amazon.eventstream` di Amazon Bedrock, il che abilita anche la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs) sulle richieste in streaming a Bedrock. Disattivato per impostazione predefinita. Configura il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |426| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Imposta a `1` per abilitare il watchdog di inattività dello streaming a livello di byte sulle risposte `vnd.amazon.eventstream` di Amazon Bedrock, il che abilita anche la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs) sulle richieste in streaming a Bedrock. Disattivato per impostazione predefinita. Configura il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |


465| `DO_NOT_TRACK` | Imposta a `1` per disattivare la telemetria, con lo stesso effetto di `DISABLE_TELEMETRY`, anche sul [recupero dei feature flag](#features-that-need-feature-flag-fetching). Claude Code legge questa variabile come un booleano standard, quindi `0` lascia attiva la telemetria, e la rispetta come convenzione comune riconosciuta da molte CLI per sviluppatori |458| `DO_NOT_TRACK` | Imposta a `1` per disattivare la telemetria, con lo stesso effetto di `DISABLE_TELEMETRY`, anche sul [recupero dei feature flag](#features-that-need-feature-flag-fetching). Claude Code legge questa variabile come un booleano standard, quindi `0` lascia attiva la telemetria, e la rispetta come convenzione comune riconosciuta da molte CLI per sviluppatori |

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

467| `ENABLE_CLAUDEAI_MCP_SERVERS` | Imposta a `false` per impedire a Claude Code di recuperare i [server MCP di claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai). Abilitata per impostazione predefinita per gli utenti che hanno effettuato l'accesso. Per disabilitarli per progetto o per organizzazione, imposta invece [`disableClaudeAiConnectors`](/docs/it/settings-reference#disableclaudeaiconnectors) nelle impostazioni |460| `ENABLE_CLAUDEAI_MCP_SERVERS` | Imposta a `false` per impedire a Claude Code di recuperare i [server MCP di claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai). Abilitata per impostazione predefinita per gli utenti che hanno effettuato l'accesso. Per disabilitarli per progetto o per organizzazione, imposta invece [`disableClaudeAiConnectors`](/docs/it/settings-reference#disableclaudeaiconnectors) nelle impostazioni |

468| `ENABLE_PROMPT_CACHING_1H` | Imposta a `1` per richiedere un [TTL della cache del prompt](/docs/it/prompt-caching#cache-lifetime) di 1 ora invece dei 5 minuti predefiniti. Pensata per gli utenti con chiave API, [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry) e [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Gli utenti con abbonamento entro l'utilizzo incluso ricevono automaticamente il TTL di 1 ora sulla [conversazione principale](/docs/it/prompt-caching#which-ttl-each-request-gets). Gli utenti con abbonamento che attingono ai [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) possono impostarla per mantenere il TTL di 1 ora. Le scritture nella cache di 1 ora vengono fatturate a una tariffa più alta. Per scegliere invece il TTL per ciascun gruppo di richieste, usa `CLAUDE_CODE_PROMPT_CACHE_TTL` e `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, che hanno la precedenza su questa variabile |461| `ENABLE_PROMPT_CACHING_1H` | Imposta su `1` per richiedere un [TTL della cache dei prompt](/docs/it/prompt-caching#cache-lifetime) di 1 ora invece dei 5 minuti predefiniti. Pensata per gli utenti con chiave API, [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry) e [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Per gli utenti con abbonamento entro l'utilizzo incluso, Claude Code richiede automaticamente il TTL di 1 ora nella [conversazione principale](/docs/it/prompt-caching#which-ttl-each-request-gets). Gli utenti con abbonamento che attingono ai [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) possono impostarla per mantenere il TTL di 1 ora. Le scritture nella cache di 1 ora sono fatturate a una tariffa più alta. Per scegliere il TTL separatamente per la conversazione principale e per le richieste al di fuori di essa, usa `CLAUDE_CODE_PROMPT_CACHE_TTL` e `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, che hanno la precedenza su questa variabile |

469| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecata. Usa invece `ENABLE_PROMPT_CACHING_1H` |462| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecata. Usa invece `ENABLE_PROMPT_CACHING_1H` |

470| `ENABLE_TOOL_SEARCH` | Controlla la [ricerca degli strumenti MCP](/docs/it/mcp#scale-with-mcp-tool-search). Se non è impostata, Claude Code differisce tutti gli strumenti MCP per impostazione predefinita, e li carica invece subito quando `ANTHROPIC_BASE_URL` punta a un host non di prima parte. `true` li mantiene differiti anche su tale host. `auto` li carica subito quando le definizioni degli strumenti rientrano nel 10% del contesto. `auto:N` imposta una soglia personalizzata, come `auto:5` per il 5%. `false` carica subito tutti gli strumenti. Per i modelli e le distribuzioni che caricano subito tutti gli strumenti indipendentemente da questo valore, consulta [Configurare la ricerca degli strumenti](/docs/it/mcp#configure-tool-search) |463| `ENABLE_TOOL_SEARCH` | Controlla la [ricerca degli strumenti MCP](/docs/it/mcp#scale-with-mcp-tool-search). Se non impostata o `true`, differisce gli strumenti MCP, tranne nei [casi che mantengono disattivata la ricerca degli strumenti](/docs/it/mcp#configure-tool-search). `auto` attiva la ricerca degli strumenti quando le definizioni raggiungono il 10% della finestra di contesto. `auto:N` imposta una soglia personalizzata, ad esempio `auto:5` per il 5%. `false` carica tutti gli strumenti in anticipo. Se un gateway rifiuta la ricerca degli strumenti, consulta [Ricerca degli strumenti tramite un gateway LLM](/docs/it/mcp#tool-search-through-a-gateway) |

471| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Imposta a qualsiasi valore non vuoto, come `1`, per fare in modo che Claude Code smetta di riprovare in caso di errori di sovraccarico ripetuti per ogni modello quando non è configurato alcun modello di fallback. **Impostarla a `0` o `false` abilita comunque questo comportamento**, a differenza della maggior parte delle variabili on/off; rimuovi la variabile per ripristinare il comportamento predefinito dei nuovi tentativi. Senza di essa, Claude Code smette di riprovare in questo modo sui modelli che riconosce come modelli Opus, Fable o Mythos quando ti autentichi con una chiave API o un [provider di terze parti](/docs/it/third-party-integrations) anziché con un abbonamento Claude. Su Claude Code v2.1.160 o successive, Claude Code passa alla [catena di modelli di fallback](/docs/it/model-config#fallback-model-chains) configurata in caso di errori di sovraccarico ripetuti per qualsiasi modello principale, quindi questa variabile non influisce sul passaggio a un modello di fallback |

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

473| `FORCE_HYPERLINK` | Imposta a `1` per abilitare i collegamenti ipertestuali OSC 8 cliccabili quando il tuo terminale li supporta ma non viene rilevato automaticamente, oppure a `0` per disabilitarli. Quando non è impostata, Claude Code abilita i collegamenti ipertestuali solo quando rileva il supporto del terminale. Claude Code interpreta questo valore come un numero, non come un booleano, quindi un valore come `false`, `no` o `off` abilita i collegamenti ipertestuali invece di disabilitarli. Il [badge della PR o della merge request](/docs/it/interactive-mode#pr-review-status) nel piè di pagina viene visualizzato come collegamento ipertestuale anche quando Claude Code non riesce a rilevare il supporto del terminale, ad esempio tramite SSH. Imposta `0` per visualizzare il badge come testo semplice |465| `FORCE_HYPERLINK` | Imposta a `1` per abilitare i collegamenti ipertestuali OSC 8 cliccabili quando il tuo terminale li supporta ma non viene rilevato automaticamente, oppure a `0` per disabilitarli. Quando non è impostata, Claude Code abilita i collegamenti ipertestuali solo quando rileva il supporto del terminale. Claude Code interpreta questo valore come un numero, non come un booleano, quindi un valore come `false`, `no` o `off` abilita i collegamenti ipertestuali invece di disabilitarli. Il [badge della PR o della merge request](/docs/it/interactive-mode#pr-review-status) nel piè di pagina viene visualizzato come collegamento ipertestuale anche quando Claude Code non riesce a rilevare il supporto del terminale, ad esempio tramite SSH. Imposta `0` per visualizzare il badge come testo semplice |

474| `FORCE_PROMPT_CACHING_5M` | Imposta a `1` per forzare il TTL della cache del prompt di 5 minuti anche quando altrimenti si applicherebbe il TTL di 1 ora. Sovrascrive `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` e le impostazioni `promptCacheTtl` e `subagentPromptCacheTtl` |466| `FORCE_PROMPT_CACHING_5M` | Imposta a `1` per forzare il TTL della cache del prompt di 5 minuti anche quando altrimenti si applicherebbe il TTL di 1 ora. Sovrascrive `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` e le impostazioni `promptCacheTtl` e `subagentPromptCacheTtl` |


572 564 

573Con il recupero disattivato, non puoi:565Con il recupero disattivato, non puoi:

574 566 

575* Eseguire [`/auto-mode-setup`](/docs/it/auto-mode-config#generate-environment-entries) per creare una bozza delle voci `autoMode.environment`

576* Usare [Remote Control](/docs/it/remote-control) con `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` o `DISABLE_GROWTHBOOK` impostati. Per `DISABLE_TELEMETRY` e `DO_NOT_TRACK`, consulta i [requisiti di Remote Control](/docs/it/remote-control#requirements)567* Usare [Remote Control](/docs/it/remote-control) con `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` o `DISABLE_GROWTHBOOK` impostati. Per `DISABLE_TELEMETRY` e `DO_NOT_TRACK`, consulta i [requisiti di Remote Control](/docs/it/remote-control#requirements)

577* [Inviare messaggi a sessioni al di fuori di questa macchina](/docs/it/cross-session-messaging#message-sessions-on-other-machines) quando [Remote Control](/docs/it/remote-control#requirements) non è disponibile. La messaggistica tra sessioni su questa macchina funziona con il recupero disattivato568* [Inviare messaggi a sessioni al di fuori di questa macchina](/docs/it/cross-session-messaging#message-sessions-on-other-machines) quando [Remote Control](/docs/it/remote-control#requirements) non è disponibile. La messaggistica tra sessioni su questa macchina funziona con il recupero disattivato

578* Eseguire [`claude import` o il comando `/import`](/docs/it/cli-reference#cli-commands)569* Eseguire [`claude import` o il comando `/import`](/docs/it/cli-reference#cli-commands)

errors.md +288 −41

Details

83| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Autenticazione](#oauth-token-revoked-or-expired) |83| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Autenticazione](#oauth-token-revoked-or-expired) |

84| `API Error: 401 Invalid authentication credentials` | [Autenticazione](#api-error-401-invalid-authentication-credentials) |84| `API Error: 401 Invalid authentication credentials` | [Autenticazione](#api-error-401-invalid-authentication-credentials) |

85| `Login expired · Please run /login` | [Autenticazione](#login-expired) |85| `Login expired · Please run /login` | [Autenticazione](#login-expired) |

86| `The browser can't return the sign-in to Claude Code automatically` | [Autenticazione](#couldnt-start-the-local-sign-in-listener) |

87| `Couldn't start the local listener that receives the browser sign-in. Try again.` | [Autenticazione](#couldnt-start-the-local-sign-in-listener) |

86| `Failed to start OAuth callback server` | [Autenticazione](#failed-to-start-oauth-callback-server) |88| `Failed to start OAuth callback server` | [Autenticazione](#failed-to-start-oauth-callback-server) |

87| `Claude login not accepted · Run /login, then try again` | [Autenticazione](#claude-login-not-accepted) |89| `Claude login not accepted · Run /login, then try again` | [Autenticazione](#claude-login-not-accepted) |

88| `Artifacts need a claude.ai login` | [Autenticazione](#artifacts-need-a-claude-ai-login) |90| `Artifacts need a claude.ai login` | [Autenticazione](#artifacts-need-a-claude-ai-login) |


100| `claude.ai rejected the session token` / `session token rejected` | [Autenticazione](#claude-ai-rejected-the-session-token) |102| `claude.ai rejected the session token` / `session token rejected` | [Autenticazione](#claude-ai-rejected-the-session-token) |

101| `MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)` | [Autenticazione](#mcp-server-needs-you-to-sign-in-again) |103| `MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)` | [Autenticazione](#mcp-server-needs-you-to-sign-in-again) |

102| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [Autenticazione](#mcp-server-needs-you-to-sign-in-again) |104| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [Autenticazione](#mcp-server-needs-you-to-sign-in-again) |

105| `(check the helper, then start a new task or chat)` / `(update it, then start a new task or chat)` | [Autenticazione](#mcp-credential-rejected-in-cowork) |

103| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [Autenticazione](#mcp-server-needs-you-to-sign-in-again) |106| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [Autenticazione](#mcp-server-needs-you-to-sign-in-again) |

104| `MCP server "<name>" requires re-authorization (token expired)` | [Autenticazione](#mcp-server-needs-you-to-sign-in-again) |107| `MCP server "<name>" requires re-authorization (token expired)` | [Autenticazione](#mcp-server-needs-you-to-sign-in-again) |

105| `This server's URL is missing or not a valid URL, so sign-in can't start` | [Autenticazione](#mcp-server-url-is-missing-or-not-a-valid-url) |108| `This server's URL is missing or not a valid URL, so sign-in can't start` | [Autenticazione](#mcp-server-url-is-missing-or-not-a-valid-url) |


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

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

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

206| `Release verification failed for Claude Code <version> (<reason>). The update was not installed.` | [Risoluzione dei problemi di installazione e accesso](/docs/it/troubleshoot-install#release-verification-failed) |

207| `Auto-update failed · Run claude doctor` | [Risoluzione dei problemi di installazione e accesso](/docs/it/troubleshoot-install#auto-update-failed) |

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

204| `Couldn't tell whether --bg is a flag or text here, so nothing was started` | [Errori della riga di comando](#couldnt-tell-whether-bg-is-a-flag-or-text) |209| `Couldn't tell whether --bg is a flag or text here, so nothing was started` | [Errori della riga di comando](#couldnt-tell-whether-bg-is-a-flag-or-text) |

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


270| `Custom output styles can't be selected over Remote Control or from a relayed message` | [Errori della riga di comando](#custom-output-styles-cant-be-selected-over-remote-control) |275| `Custom output styles can't be selected over Remote Control or from a relayed message` | [Errori della riga di comando](#custom-output-styles-cant-be-selected-over-remote-control) |

271| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Errori della riga di comando](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |276| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Errori della riga di comando](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

272| `/recap only runs when you ask for it yourself in this session` | [Errori della riga di comando](#recap-only-runs-when-you-ask-for-it-yourself) |277| `/recap only runs when you ask for it yourself in this session` | [Errori della riga di comando](#recap-only-runs-when-you-ask-for-it-yourself) |

278| `/feedback is disabled by your organization's policy`, oppure lo stesso per `/bug` o `/share` | [Errori della riga di comando](#feedback-is-disabled-by-your-organizations-policy) |

273| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Errori dei plugin](#plugin-eval-is-currently-in-early-access) |279| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Errori dei plugin](#plugin-eval-is-currently-in-early-access) |

274| `cannot be evaluated where sessions load it` | [Testa i plugin con le eval](/docs/it/plugin-evals#cannot-be-evaluated-where-sessions-load-it) |280| `cannot be evaluated where sessions load it` | [Testa i plugin con le eval](/docs/it/plugin-evals#cannot-be-evaluated-where-sessions-load-it) |

275| `Marketplace "<name>" is registered from an untrusted source` | [Errori dei plugin](#marketplace-is-registered-from-an-untrusted-source) |281| `Marketplace "<name>" is registered from an untrusted source` | [Errori dei plugin](#marketplace-is-registered-from-an-untrusted-source) |


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

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

291| `path escapes plugin directory` | [Errori dei plugin](#path-escapes-plugin-directory) |297| `path escapes plugin directory` | [Errori dei plugin](#path-escapes-plugin-directory) |

298| `Plugin not loaded: its manifest <path> was not read` | [Errori dei plugin](#plugin-not-loaded-its-manifest-was-not-read) |

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

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

294| `Plugin source path refused` | [Errori dei plugin](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |301| `Plugin source path refused` | [Errori dei plugin](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |


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

305| `cannot contain null bytes (\0)` | [Errori degli strumenti](#path-cannot-contain-null-bytes) |312| `cannot contain null bytes (\0)` | [Errori degli strumenti](#path-cannot-contain-null-bytes) |

306| `Path contains null bytes` | [Errori degli strumenti](#path-cannot-contain-null-bytes) |313| `Path contains null bytes` | [Errori degli strumenti](#path-cannot-contain-null-bytes) |

314| `File is too large to read as an image (the limit is 128MB)` | [Errori degli strumenti](#file-is-too-large-to-read-as-an-image) |

315| `Cannot read this as an image: <path> is a pipe or a device` | [Errori degli strumenti](#file-is-too-large-to-read-as-an-image) |

307| `subagent_type is required: the general-purpose agent is not available in this session` | [Errori degli strumenti](#subagent-type-is-required) |316| `subagent_type is required: the general-purpose agent is not available in this session` | [Errori degli strumenti](#subagent-type-is-required) |

308| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [Errori degli strumenti](#memory-index-is-over-its-read-limit) |317| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [Errori degli strumenti](#memory-index-is-over-its-read-limit) |

309| `pkill: refusing to run` | [Errori degli strumenti](#pkill-pattern-matches-the-claude-code-process) |318| `pkill: refusing to run` | [Errori degli strumenti](#pkill-pattern-matches-the-claude-code-process) |

310| `Failed to write to <name>'s inbox — nothing was sent` | [Errori degli strumenti](#failed-to-write-to-a-teammate-inbox) |319| `Failed to write to <name>'s inbox — nothing was sent` | [Errori degli strumenti](#failed-to-write-to-a-teammate-inbox) |

311| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Errori degli strumenti](#failed-to-write-to-a-teammate-inbox) |320| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Errori degli strumenti](#failed-to-write-to-a-teammate-inbox) |

312| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [Errori degli strumenti](#teammate-agent-definition-not-restored) |321| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [Errori degli strumenti](#teammate-agent-definition-not-restored) |

322| `Only a teammate can approve a shutdown request` | [Errori degli strumenti](#only-a-teammate-can-approve-a-shutdown-request) |

313| `Message too large for cross-session delivery` | [Errori degli strumenti](#message-too-large-for-cross-session-delivery) |323| `Message too large for cross-session delivery` | [Errori degli strumenti](#message-too-large-for-cross-session-delivery) |

314| `Too many messages to this session just now` | [Errori degli strumenti](#too-many-messages-to-this-session-just-now) |324| `Too many messages to this session just now` | [Errori degli strumenti](#too-many-messages-to-this-session-just-now) |

315| `Cross-session message was dropped at the recipient session's inbox` | [Errori degli strumenti](#cross-session-message-dropped-at-the-inbox) |325| `Cross-session message was dropped at the recipient session's inbox` | [Errori degli strumenti](#cross-session-message-dropped-at-the-inbox) |


325| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [Errori degli strumenti](#disk-quota-or-temp-filesystem-is-full) |335| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [Errori degli strumenti](#disk-quota-or-temp-filesystem-is-full) |

326| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [Errori degli strumenti](#disk-quota-or-temp-filesystem-is-full) |336| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [Errori degli strumenti](#disk-quota-or-temp-filesystem-is-full) |

327| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [Errori degli strumenti](#disk-quota-or-temp-filesystem-is-full) |337| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [Errori degli strumenti](#disk-quota-or-temp-filesystem-is-full) |

338| `The command was not started: this computer's disk is full (ENOSPC)` / `(EDQUOT)` | [Errori degli strumenti](#disk-quota-or-temp-filesystem-is-full) |

328| `File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary` | [Errori degli strumenti](#file-is-not-valid-utf-8) |339| `File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary` | [Errori degli strumenti](#file-is-not-valid-utf-8) |

329| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Errori degli strumenti](#the-source-file-is-not-valid-utf-8-text) |340| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Errori degli strumenti](#the-source-file-is-not-valid-utf-8-text) |

330| `the source file has the replacement character U+FFFD` | [Errori degli strumenti](#the-source-file-is-not-valid-utf-8-text) |341| `the source file has the replacement character U+FFFD` | [Errori degli strumenti](#the-source-file-is-not-valid-utf-8-text) |

331| `Not published: that file is on a network share` | [Errori degli strumenti](#not-published-that-file-is-on-a-network-share) |342| `Not published: that file is on a network share` | [Errori degli strumenti](#not-published-that-file-is-on-a-network-share) |

343| `Not published: Claude sent the same content again after a newer version of the artifact turned it away` / `Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away` | [Errori degli strumenti](#not-published-a-newer-version-of-the-artifact-turned-it-away) |

332| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Errori degli strumenti](#reading-a-local-file-from-outside-the-connected-folders) |344| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Errori degli strumenti](#reading-a-local-file-from-outside-the-connected-folders) |

333| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [Errori degli strumenti](#reading-a-local-file-from-outside-the-connected-folders) |345| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [Errori degli strumenti](#reading-a-local-file-from-outside-the-connected-folders) |

334| `WebFetch cannot fetch localhost or other hostnames without a dot` | [Errori degli strumenti](#webfetch-cannot-fetch-localhost) |346| `WebFetch cannot fetch localhost or other hostnames without a dot` | [Errori degli strumenti](#webfetch-cannot-fetch-localhost) |


345| `Can't open — this session is running in another terminal` | [Errori della sessione in background](#this-session-is-running-in-another-terminal) |357| `Can't open — this session is running in another terminal` | [Errori della sessione in background](#this-session-is-running-in-another-terminal) |

346| `This conversation is already open in another running Claude session` | [Errori della sessione in background](#this-session-is-running-in-another-terminal) |358| `This conversation is already open in another running Claude session` | [Errori della sessione in background](#this-session-is-running-in-another-terminal) |

347| `This session's saved conversation is no longer on disk` | [Errori della sessione in background](#this-sessions-saved-conversation-is-no-longer-on-disk) |359| `This session's saved conversation is no longer on disk` | [Errori della sessione in background](#this-sessions-saved-conversation-is-no-longer-on-disk) |

348| `Bypass permissions was requested at launch and ignored` | [Salta tutti i controlli con la modalità bypassPermissions](/docs/it/permission-modes#bypass-permissions-acceptance) |360| `Bypass permissions was requested at launch and ignored` | [Bypass permissions ignorato in una sessione in background](/docs/it/permission-modes#bypass-permissions-ignored-in-a-background-session) |

349| `kept <id> — its worktree is still at <path>` | [Errori della sessione in background](#worktree-has-commits-that-are-not-pushed-anywhere) |361| `kept <id> — its worktree is still at <path>` | [Errori della sessione in background](#worktree-has-commits-that-are-not-pushed-anywhere) |

350| `kept <id> — <n> unpushed commits on <branch>` | [Errori della sessione in background](#worktree-has-commits-that-are-not-pushed-anywhere) |362| `kept <id> — <n> unpushed commits on <branch>` | [Errori della sessione in background](#worktree-has-commits-that-are-not-pushed-anywhere) |

351| `kept <id> — worktree has commits that are not pushed anywhere` | [Errori della sessione in background](#worktree-has-commits-that-are-not-pushed-anywhere) |363| `kept <id> — worktree has commits that are not pushed anywhere` | [Errori della sessione in background](#worktree-has-commits-that-are-not-pushed-anywhere) |


354| `Session <id> was stopped while the respawn was in flight` | [Errori della sessione in background](#session-was-stopped-while-the-respawn-was-in-flight) |366| `Session <id> was stopped while the respawn was in flight` | [Errori della sessione in background](#session-was-stopped-while-the-respawn-was-in-flight) |

355| `This session was running agent '<name>', which is no longer available` | [Errori della sessione in background](#session-agent-no-longer-available) |367| `This session was running agent '<name>', which is no longer available` | [Errori della sessione in background](#session-agent-no-longer-available) |

356| `This session restarted <time> after its next /loop wakeup was due, so that wakeup will not fire` | [Errori della sessione in background](#restarted-after-its-next-loop-wakeup-was-due) |368| `This session restarted <time> after its next /loop wakeup was due, so that wakeup will not fire` | [Errori della sessione in background](#restarted-after-its-next-loop-wakeup-was-due) |

369| `No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder` | [Errori della sessione in background](#no-llm-gateway-opened-from-another-folder) |

370| `No LLM gateway: opened from another folder · respawn from <folder>` | [Errori della sessione in background](#no-llm-gateway-opened-from-another-folder) |

357| `CLAUDE_CODE_PROCESS_WRAPPER: launcher ...` | [Errori della sessione in background](#claude_code_process_wrapper-launcher-errors) |371| `CLAUDE_CODE_PROCESS_WRAPPER: launcher ...` | [Errori della sessione in background](#claude_code_process_wrapper-launcher-errors) |

358| `EUNKNOWN: unknown error, uv_spawn` | [Errori della sessione in background](#eunknown-when-starting-a-background-session) |372| `EUNKNOWN: unknown error, uv_spawn` | [Errori della sessione in background](#eunknown-when-starting-a-background-session) |

359| `EACCES: permission denied, posix_spawn` | [Errori della sessione in background](#eacces-when-starting-a-background-session) |373| `EACCES: permission denied, posix_spawn` | [Errori della sessione in background](#eacces-when-starting-a-background-session) |


394| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [Avvisi di configurazione](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |408| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [Avvisi di configurazione](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |

395| `headersHelper not run — this workspace has no persisted trust` | [Avvisi di configurazione](#headershelper-not-run) |409| `headersHelper not run — this workspace has no persisted trust` | [Avvisi di configurazione](#headershelper-not-run) |

396| `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [Avvisi di configurazione](#malformed-tool-content-rule) |410| `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [Avvisi di configurazione](#malformed-tool-content-rule) |

411| `matches no tool · check for typos` / `matches no known tool — check for typos` | [Avvisi di configurazione](#matches-no-tool) |

397| `... is not matched by file permission checks` | [Avvisi di configurazione](#is-not-matched-by-file-permission-checks) |412| `... is not matched by file permission checks` | [Avvisi di configurazione](#is-not-matched-by-file-permission-checks) |

413| `Write(<path>) never matches · use Edit(<path>)` / `Glob(<path>) never matches · use Read(<path>)` | [Avvisi di configurazione](#is-not-matched-by-file-permission-checks) |

398| `... has a wildcard before the rest of the command` | [Avvisi di configurazione](#has-a-wildcard-before-the-rest-of-the-command) |414| `... has a wildcard before the rest of the command` | [Avvisi di configurazione](#has-a-wildcard-before-the-rest-of-the-command) |

415| `allows any option at its * · use an exact value` | [Avvisi di configurazione](#has-a-wildcard-before-the-rest-of-the-command) |

399| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [Avvisi di configurazione](#denying-bash-also-turns-off-the-powershell-tool) |416| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [Avvisi di configurazione](#denying-bash-also-turns-off-the-powershell-tool) |

400| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [Avvisi di configurazione](#the-200k-limit-isnt-enforced) |417| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [Avvisi di configurazione](#the-200k-limit-isnt-enforced) |

418| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" reads as <N> tokens, so Claude Code treats it as the 100k minimum` | [Valori e avvisi per `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/it/model-config#claude_code_auto_compact_window-values) |

419| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" is too large, so Claude Code treats it as the 1M maximum` | [Valori e avvisi per `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/it/model-config#claude_code_auto_compact_window-values) |

420| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" isn't a usable size, so Claude Code ignores it` | [Valori e avvisi per `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/it/model-config#claude_code_auto_compact_window-values) |

401| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [Correggi la finestra per un gateway o un ID modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |421| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [Correggi la finestra per un gateway o un ID modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

402| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [Correggi la finestra per un gateway o un ID modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |422| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [Correggi la finestra per un gateway o un ID modello personalizzato](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

403| `[claude-code:unrecognized_model]` | [Avvisi di configurazione](#unrecognized-model-id-on-a-request) |423| `[claude-code:unrecognized_model]` | [Avvisi di configurazione](#unrecognized-model-id-on-a-request) |


462| [`CLAUDE_CODE_MAX_RETRIES`](/docs/it/env-vars) | 10 | Numero di tentativi di riprovazione. Limitato a 15 a partire dalla v2.1.186; a partire dalla v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` aumenta il valore predefinito e rimuove il limite. Abbassalo per far emergere i guasti più velocemente negli script. |482| [`CLAUDE_CODE_MAX_RETRIES`](/docs/it/env-vars) | 10 | Numero di tentativi di riprovazione. Limitato a 15 a partire dalla v2.1.186; a partire dalla v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` aumenta il valore predefinito e rimuove il limite. Abbassalo per far emergere i guasti più velocemente negli script. |

463| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/it/env-vars) | unset | Imposta su `1` in sessioni non presenziate come i lavori CI per ritentare gli errori di capacità `429` e `529` indefinitamente invece di fallire dopo `CLAUDE_CODE_MAX_RETRIES` tentativi. Claude Code fallisce immediatamente quando una richiesta a velocità standard riceve un `429` che segnala un limite di spesa o crediti di utilizzo esauriti, anche uno da un [gateway spend cap](#spend-limit-reached) che si ripristina secondo una pianificazione. Prima della v2.1.239, il watchdog ritentava questi indefinitamente. Per le richieste in modalità veloce, vedi [Handle rate limits](/docs/it/fast-mode#handle-rate-limits). Sulla v2.1.199 o successivo aumenta anche il conteggio dei tentativi predefinito per altri errori transitori, come errori del server, timeout e connessioni interrotte, a 300, approssimativamente tre ore di backoff, e rimuove il limite di 15 su `CLAUDE_CODE_MAX_RETRIES` se imposti esplicitamente quella variabile. |483| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/it/env-vars) | unset | Imposta su `1` in sessioni non presenziate come i lavori CI per ritentare gli errori di capacità `429` e `529` indefinitamente invece di fallire dopo `CLAUDE_CODE_MAX_RETRIES` tentativi. Claude Code fallisce immediatamente quando una richiesta a velocità standard riceve un `429` che segnala un limite di spesa o crediti di utilizzo esauriti, anche uno da un [gateway spend cap](#spend-limit-reached) che si ripristina secondo una pianificazione. Prima della v2.1.239, il watchdog ritentava questi indefinitamente. Per le richieste in modalità veloce, vedi [Handle rate limits](/docs/it/fast-mode#handle-rate-limits). Sulla v2.1.199 o successivo aumenta anche il conteggio dei tentativi predefinito per altri errori transitori, come errori del server, timeout e connessioni interrotte, a 300, approssimativamente tre ore di backoff, e rimuove il limite di 15 su `CLAUDE_CODE_MAX_RETRIES` se imposti esplicitamente quella variabile. |

464| [`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. |484| [`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. |

485| [`CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS`](/docs/it/env-vars) | unset | Intervallo minimo in millisecondi tra i controlli che verificano se un [limite di utilizzo](#youve-hit-your-session-limit) è già stato rimosso, mentre una richiesta attende il ripristino di quel limite con `CLAUDE_CODE_RETRY_WATCHDOG` impostato. Quando un controllo rileva che il limite è stato rimosso, la richiesta parte subito. Indica solo cifre da `60000` a `10800000`. Se non è impostato o è fuori da quell'intervallo, non viene effettuato alcun controllo. Per sapere quando Claude Code salta questi controlli, consulta il [riferimento delle variabili d'ambiente](/docs/it/env-vars). Richiede Claude Code v2.1.305 o successivo. |

465| [`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. |486| [`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. |

466| [`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. |487| [`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. |

467| [`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). |488| [`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). |


490 511 

491* Controlla [status.claude.com](https://status.claude.com) o la pagina di stato del provider indicata nel messaggio per eventuali incidenti in corso512* Controlla [status.claude.com](https://status.claude.com) o la pagina di stato del provider indicata nel messaggio per eventuali incidenti in corso

492* Aspetta un minuto, quindi invia di nuovo il messaggio. Il tuo messaggio originale è ancora nella conversazione, quindi per un prompt lungo puoi digitare `try again` invece di incollarlo tutto.513* Aspetta un minuto, quindi invia di nuovo il messaggio. Il tuo messaggio originale è ancora nella conversazione, quindi per un prompt lungo puoi digitare `try again` invece di incollarlo tutto.

514* Se [`ANTHROPIC_BASE_URL`](/docs/it/env-vars) punta a un [gateway LLM](/docs/it/llm-gateway) e ogni richiesta non riesce in questo modo, verifica se il tuo gateway rifiuta i campi di ricerca degli strumenti che Claude Code invia per impostazione predefinita. Per verificarlo, imposta `ENABLE_TOOL_SEARCH=false` come descritto in [Ricerca degli strumenti tramite un gateway LLM](/docs/it/mcp#tool-search-through-a-gateway), quindi riprova. Prima della v2.1.304, la ricerca degli strumenti era disattivata dietro un gateway a meno che non la attivassi con `ENABLE_TOOL_SEARCH`.

493* Se l'errore persiste senza alcun incidente pubblicato, esegui `/feedback` in modo che Anthropic possa indagare con i dettagli della tua richiesta. Consulta [Segnalare un errore](#report-an-error) se `/feedback` non è disponibile nel tuo ambiente.515* Se l'errore persiste senza alcun incidente pubblicato, esegui `/feedback` in modo che Anthropic possa indagare con i dettagli della tua richiesta. Consulta [Segnalare un errore](#report-an-error) se `/feedback` non è disponibile nel tuo ambiente.

494 516 

495### API Error: Repeated 529 Overloaded errors517### API Error: Repeated 529 Overloaded errors


520Request timed out542Request timed out

521```543```

522 544 

523Il timeout predefinito della richiesta è di 10 minuti.545Il timeout predefinito della richiesta è di 10 minuti. Se imposti [`API_TIMEOUT_MS`](/docs/it/env-vars) su `0`, questo timeout della richiesta è disattivato. La [scadenza del primo byte](#no-response-from-api) e il timeout di inattività del corpo non si disattivano quando imposti `0`, quindi una richiesta in streaming viene comunque eseguita con [quelli tra questi che si applicano alla tua connessione](/docs/it/network-config#streaming-idle-watchdogs). Un tentativo non in streaming mantiene il suo limite di 300 secondi in una sessione locale e può comunque terminare con questo messaggio.

524 546 

525**Cosa fare:**547**Cosa fare:**

526 548 

549* Se ogni richiesta non riesce con questo messaggio e hai impostato `API_TIMEOUT_MS` su `0`, controlla `claude --version`. Su una versione precedente alla v2.1.305, aggiorna Claude Code o imposta un valore positivo.

527* Riprova la richiesta550* Riprova la richiesta

528* Se la causa è una rete lenta o un proxy, aumenta `API_TIMEOUT_MS` come descritto in [Nuovi tentativi automatici](#automatic-retries)551* Se la causa è una rete lenta o un proxy, aumenta `API_TIMEOUT_MS` come descritto in [Nuovi tentativi automatici](#automatic-retries)

529* Se i timeout sono frequenti e la tua rete per il resto funziona correttamente, consulta [Errori di rete e di connessione](#network-and-connection-errors) più avanti552* Se i timeout sono frequenti e la tua rete per il resto funziona correttamente, consulta [Errori di rete e di connessione](#network-and-connection-errors) più avanti


541* **Primo tentativo**: [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/it/env-vars) quando lo imposti su 1 o più, limitato a un valore compreso tra 10 secondi e 30 minuti. Altrimenti Claude Code usa il timeout del watchdog a livello di byte indicato in [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs), quindi le variabili che modificano quel timeout modificano anche questa attesa. In entrambi i casi, Claude Code aggiunge un secondo per ogni 32KB del corpo della richiesta.564* **Primo tentativo**: [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/it/env-vars) quando lo imposti su 1 o più, limitato a un valore compreso tra 10 secondi e 30 minuti. Altrimenti Claude Code usa il timeout del watchdog a livello di byte indicato in [Watchdog di inattività dello streaming](/docs/it/network-config#streaming-idle-watchdogs), quindi le variabili che modificano quel timeout modificano anche questa attesa. In entrambi i casi, Claude Code aggiunge un secondo per ogni 32KB del corpo della richiesta.

542* **Nuovo tentativo**: un secondo in meno di `API_TIMEOUT_MS`, poco meno di 10 minuti per impostazione predefinita, in modo che il nuovo tentativo possa durare più a lungo di un proxy o gateway che trattiene la risposta fino al completamento della generazione. Su Amazon Bedrock, il nuovo tentativo usa la stessa scadenza del primo tentativo e il messaggio mostra una sola durata invece di due.565* **Nuovo tentativo**: un secondo in meno di `API_TIMEOUT_MS`, poco meno di 10 minuti per impostazione predefinita, in modo che il nuovo tentativo possa durare più a lungo di un proxy o gateway che trattiene la risposta fino al completamento della generazione. Su Amazon Bedrock, il nuovo tentativo usa la stessa scadenza del primo tentativo e il messaggio mostra una sola durata invece di due.

543 566 

567 Tranne che su Amazon Bedrock, se imposti `API_TIMEOUT_MS` su `0`, il nuovo tentativo attende 10 minuti più un secondo per ogni 32KB, oppure quanto il primo tentativo se questo è più lungo.

568 

544Nessuna delle due attese supera un secondo in meno di un `API_TIMEOUT_MS` positivo, e un `API_TIMEOUT_MS` positivo inferiore a 11 secondi disattiva la scadenza. Il watchdog a livello di byte parte solo quando arrivano le intestazioni di risposta, quindi una risposta che smette di inviare byte dopo quel momento segue le [regole per i flussi bloccati](#automatic-retries) invece di questa scadenza.569Nessuna delle due attese supera un secondo in meno di un `API_TIMEOUT_MS` positivo, e un `API_TIMEOUT_MS` positivo inferiore a 11 secondi disattiva la scadenza. Il watchdog a livello di byte parte solo quando arrivano le intestazioni di risposta, quindi una risposta che smette di inviare byte dopo quel momento segue le [regole per i flussi bloccati](#automatic-retries) invece di questa scadenza.

545 570 

546**Cosa fare:**571**Cosa fare:**


845* Esegui `/status` e conferma che la credenziale attiva è quella che ti aspetti. Un `ANTHROPIC_API_KEY` dimenticato nel tuo ambiente può instradare le richieste attraverso una chiave di livello inferiore invece del tuo abbonamento.870* Esegui `/status` e conferma che la credenziale attiva è quella che ti aspetti. Un `ANTHROPIC_API_KEY` dimenticato nel tuo ambiente può instradare le richieste attraverso una chiave di livello inferiore invece del tuo abbonamento.

846* Controlla la console del tuo provider per i limiti attivi e richiedi un livello più elevato se necessario871* Controlla la console del tuo provider per i limiti attivi e richiedi un livello più elevato se necessario

847* Per le chiavi API Anthropic, vedi il [riferimento sui rate limit](https://platform.claude.com/docs/en/api/rate-limits) per come funzionano i livelli e come impostare i limiti per workspace872* Per le chiavi API Anthropic, vedi il [riferimento sui rate limit](https://platform.claude.com/docs/en/api/rate-limits) per come funzionano i livelli e come impostare i limiti per workspace

848* Riduci la concorrenza: abbassa [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/it/env-vars), evita di eseguire molti subagent in parallelo, o passa a un modello più piccolo con `/model` per esecuzioni script ad alto volume873* Riduci la concorrenza: evita di eseguire molti subagent in parallelo, o passa a un modello più piccolo con `/model` per esecuzioni script ad alto volume

849 874 

850### You've hit your monthly spend limit875### You've hit your monthly spend limit

851 876 


1267* Se `/status` mostra solo il tuo accesso, esegui `/login` una volta. Se la credenziale è stata revocata, un nuovo accesso la sostituisce.1292* Se `/status` mostra solo il tuo accesso, esegui `/login` una volta. Se la credenziale è stata revocata, un nuovo accesso la sostituisce.

1268* Se lo stesso messaggio ricompare per lo stesso account di accesso, l'account o l'organizzazione non sono più attivi. Controlla l'account e l'organizzazione riportati da `/status` e chiedi all'amministratore della tua organizzazione di ripristinare l'accesso.1293* Se lo stesso messaggio ricompare per lo stesso account di accesso, l'account o l'organizzazione non sono più attivi. Controlla l'account e l'organizzazione riportati da `/status` e chiedi all'amministratore della tua organizzazione di ripristinare l'accesso.

1269* Se [`ANTHROPIC_BASE_URL`](/docs/it/env-vars) punta a un [gateway LLM](/docs/it/llm-gateway), il testo dopo `401` è il messaggio del tuo gateway e non di Anthropic, e `/login` non lo cambia. Correggi invece la credenziale che il tuo gateway si aspetta.1294* Se [`ANTHROPIC_BASE_URL`](/docs/it/env-vars) punta a un [gateway LLM](/docs/it/llm-gateway), il testo dopo `401` è il messaggio del tuo gateway e non di Anthropic, e `/login` non lo cambia. Correggi invece la credenziale che il tuo gateway si aspetta.

1295* Se ogni richiesta fallisce con un `401` anche dopo che il gateway ha la credenziale che si aspetta, controlla se il gateway sta rifiutando i campi di ricerca degli strumenti che Claude Code invia per impostazione predefinita. Per verificarlo, imposta `ENABLE_TOOL_SEARCH=false` come descritto in [Ricerca degli strumenti tramite un gateway LLM](/docs/it/mcp#tool-search-through-a-gateway), poi riprova. Prima della v2.1.304, la ricerca degli strumenti era disattivata dietro un gateway a meno che non la attivassi con `ENABLE_TOOL_SEARCH`.

1270 1296 

1271### Login expired1297### Login expired

1272 1298 


1338* Sulle altre piattaforme, esegui di nuovo `/login`1364* Sulle altre piattaforme, esegui di nuovo `/login`

1339* Se l'accesso continua a non essere salvato, consulta [Accesso non effettuato o token scaduto](/docs/it/troubleshoot-install#not-logged-in-or-token-expired) per il comando di sblocco del portachiavi e altri passaggi di ripristino dell'archiviazione delle credenziali1365* Se l'accesso continua a non essere salvato, consulta [Accesso non effettuato o token scaduto](/docs/it/troubleshoot-install#not-logged-in-or-token-expired) per il comando di sblocco del portachiavi e altri passaggi di ripristino dell'archiviazione delle credenziali

1340 1366 

1341### Failed to start OAuth callback server1367### Couldn't start the local listener that receives the browser sign-in

1342 1368 

1343Quando `/login`, `claude auth login` o `claude setup-token` ti fanno accedere tramite il browser, Claude Code apre una porta in ascolto su `127.0.0.1` in modo che il browser possa restituirgli il risultato dell'accesso. Questo messaggio significa che Claude Code non è riuscito ad aprire quella porta, e l'accesso si interrompe prima che compaiano una finestra del browser o un URL di accesso:1369Ciascuno di questi messaggi di `/login`, `claude auth login` o `claude setup-token` significa che Claude Code non è riuscito ad aprire la porta su `127.0.0.1` su cui il tuo browser restituisce il risultato dell'accesso.

1344 1370 

1345```text theme={null}1371Con l'avviso che inizia con `The browser can't return the sign-in to Claude Code automatically`, l'accesso prosegue senza quella porta. Non si apre alcun browser e l'avviso compare sopra un URL dove invece effettui l'accesso:

1346Failed to start OAuth callback server: Failed to start server. Is port 0 in use?1372 

1373```text wrap theme={null}

1374The browser can't return the sign-in to Claude Code automatically. After you sign in, paste the code shown.

1347```1375```

1348 1376 

1349Se il tuo messaggio termina con `Is port 0 in use?`, il tentativo di mettersi in ascolto sull'indirizzo di loopback IPv4 `127.0.0.1` è fallito del tutto. Poiché l'errore si verifica prima che esista un URL di accesso, il flusso `Paste code here if prompted` non è disponibile come soluzione alternativa.1377Con il messaggio che include `Couldn't start the local listener`, l'accesso si è interrotto. Questo succede, ad esempio, quando invii input tramite pipe a `claude auth login`:

1378 

1379```text theme={null}

1380Couldn't start the local listener that receives the browser sign-in. Try again.

1381```

1350 1382 

1351**Cosa fare:**1383**Cosa fare:**

1352 1384 

1353* Per accedere subito senza il listener locale: se usi un abbonamento claude.ai, esegui [`claude setup-token`](/docs/it/authentication#generate-a-long-lived-token) su una macchina in cui l'accesso funziona e imposta il token che stampa come `CLAUDE_CODE_OAUTH_TOKEN` su questa macchina. Altrimenti imposta `ANTHROPIC_API_KEY` su una chiave della [Claude Console](https://platform.claude.com/settings/keys). [Precedenza dell'autenticazione](/docs/it/authentication#authentication-precedence) spiega come Claude Code sceglie tra le credenziali.1385* **`The browser can't return the sign-in to Claude Code automatically`**: non devi correggere nulla prima. Apri in un browser l'URL mostrato sotto l'avviso ed effettua l'accesso. Il browser mostra poi un codice: incollalo in Claude Code al prompt `Paste code here >` e l'accesso prosegue da lì.

1354* Per usare invece l'accesso tramite browser su questa macchina, Claude Code deve potersi mettere in ascolto su `127.0.0.1`. Se è in esecuzione all'interno di una sandbox, verifica che il criterio della sandbox consenta l'ascolto su porte locali, poi esegui di nuovo `/login`. Se dovrebbe poterlo fare e continua a fallire, esegui `/feedback` in modo che la segnalazione includa i dettagli del tuo ambiente.1386* **`Couldn't start the local listener that receives the browser sign-in`**: esegui di nuovo lo stesso comando. Se si interrompe allo stesso modo, accedi con un token o una chiave API invece che con il browser. Oppure, se hai inviato input tramite pipe a `claude auth login`, eseguilo in un terminale in modo che possa ricevere un codice incollato.

1387* **Per accedere con un token o una chiave API invece che con il browser**: se usi un abbonamento claude.ai, esegui [`claude setup-token`](/docs/it/authentication#generate-a-long-lived-token) su una macchina in cui l'accesso funziona. Quindi imposta il token che stampa come variabile d'ambiente [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/it/env-vars) su questa macchina. Altrimenti imposta la variabile d'ambiente `ANTHROPIC_API_KEY` su una chiave della [Claude Console](https://platform.claude.com/settings/keys). [Precedenza dell'autenticazione](/docs/it/authentication#authentication-precedence) spiega come Claude Code sceglie tra le credenziali.

1388* **Per ripristinare il ritorno automatico dal browser**: Claude Code deve poter restare in ascolto su `127.0.0.1`. Se viene eseguito all'interno di una sandbox, verifica che la policy della sandbox consenta l'ascolto su porte locali, quindi accedi di nuovo. Se l'ascolto dovrebbe funzionare lì e l'avviso compare ancora, esegui `/feedback` in modo che la segnalazione includa i dettagli del tuo ambiente.

1389 

1390Prima della v2.1.305, l'accesso si interrompeva non appena non era possibile aprire la porta e non mostrava alcun URL in cui accedere. Il messaggio era, ad esempio, `Failed to start OAuth callback server: Failed to start server. Is port 0 in use?`. In quelle versioni, aggiorna Claude Code e accedi di nuovo, oppure accedi con un token o una chiave API invece che con il browser.

1355 1391 

1356### Claude login not accepted1392### Claude login not accepted

1357 1393 


1513 1549 

1514Aggiorna il valore dell'intestazione dove è configurato il server, poi riconnetti da `/mcp`.1550Aggiorna il valore dell'intestazione dove è configurato il server, poi riconnetti da `/mcp`.

1515 1551 

1516Prima della v2.1.273, i casi di accesso scaduto, `headersHelper` e intestazione `Authorization` mostravano tutti `MCP server "<name>" requires re-authorization (token expired)`.1552In una sessione [Cowork](https://claude.com/docs/cowork/overview) sulla tua macchina nell'app Claude Desktop, questi messaggi significano che il server MCP ha rifiutato una credenziale che gli è stata fornita. Correggi quella indicata dal messaggio, poi avvia una nuova attività o chat in Cowork:

1553 

1554```text theme={null}

1555MCP server "<name>" rejected the credential from its headersHelper (check the helper, then start a new task or chat)

1556MCP server "<name>" rejected the Authorization header in its config (update it, then start a new task or chat)

1557```

1558 

1559* **Credenziale `headersHelper` rifiutata**: verifica che l'helper restituisca una credenziale accettata dal server, poi avvia una nuova attività o chat in Cowork

1560* **Header `Authorization` rifiutato**: aggiorna il valore `Authorization` sotto `headers` nella configurazione di quel server, poi avvia una nuova attività o chat in Cowork

1561 

1562Prima della v2.1.302, una sessione Cowork mostrava invece le terminazioni `run /mcp to reconnect`, anche se `/mcp` non è disponibile lì. Se vedi una terminazione di questo tipo in Cowork, controlla comunque l'helper o aggiorna l'header, poi avvia una nuova attività o chat. Prima della v2.1.273, i casi di accesso scaduto, `headersHelper` e header `Authorization` mostravano tutti `MCP server "<name>" requires re-authorization (token expired)`.

1517 1563 

1518Un server può anche rifiutare una chiamata a uno strumento con HTTP 403 `insufficient_scope` per chiederti di autorizzare uno scope, a volte uno che il tuo token elenca già. Il messaggio indica quello scope:1564Un server può anche rifiutare una chiamata a uno strumento con HTTP 403 `insufficient_scope` per chiederti di autorizzare uno scope, a volte uno che il tuo token elenca già. Il messaggio indica quello scope:

1519 1565 


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

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

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

1861* Se `ANTHROPIC_BASE_URL` punta già al tuo gateway e ogni richiesta termina con `Connection dropped`, controlla se il tuo gateway rifiuta i campi di ricerca degli strumenti che Claude Code invia per impostazione predefinita. Per verificarlo, imposta `ENABLE_TOOL_SEARCH=false` come descritto in [Ricerca degli strumenti tramite un gateway LLM](/docs/it/mcp#tool-search-through-a-gateway), quindi riprova. Prima della v2.1.304, la ricerca degli strumenti era disattivata dietro un gateway a meno che non la attivassi con `ENABLE_TOOL_SEARCH`.

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

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

1817 1864 

1818Se `curl` ha successo ma Claude Code continua a fallire, la causa è solitamente qualcosa tra il runtime e la rete piuttosto che la rete stessa:1865Se `curl` ha successo ma Claude Code continua a fallire, la causa è solitamente qualcosa tra il runtime e la rete piuttosto che la rete stessa:

1819 1866 


2166* Taglia i file di memoria `CLAUDE.md` di grandi dimensioni, oppure sposta le istruzioni in [regole con ambito di percorso](/docs/it/memory#path-specific-rules) che si caricano solo quando rilevanti2213* Taglia i file di memoria `CLAUDE.md` di grandi dimensioni, oppure sposta le istruzioni in [regole con ambito di percorso](/docs/it/memory#path-specific-rules) che si caricano solo quando rilevanti

2167* La compattazione automatica è attiva per impostazione predefinita e normalmente previene questo errore. Se l'hai disattivata in `/config` o con [`DISABLE_AUTO_COMPACT`](/docs/it/env-vars), riattivala. Se la mantieni disattivata, esegui `/compact` tu stesso prima che la finestra si riempia.2214* La compattazione automatica è attiva per impostazione predefinita e normalmente previene questo errore. Se l'hai disattivata in `/config` o con [`DISABLE_AUTO_COMPACT`](/docs/it/env-vars), riattivala. Se la mantieni disattivata, esegui `/compact` tu stesso prima che la finestra si riempia.

2168* Se l'errore appare vicino a 200K token su un modello che ne accetta di più, una possibile causa è un ID modello che Claude Code non riconosce. Claude Code presume una finestra di 200K per un ID del genere, quindi per continuare a lavorare oltre quel punto, [fornisci la reale finestra di contesto del modello](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id).2215* Se l'errore appare vicino a 200K token su un modello che ne accetta di più, una possibile causa è un ID modello che Claude Code non riconosce. Claude Code presume una finestra di 200K per un ID del genere, quindi per continuare a lavorare oltre quel punto, [fornisci la reale finestra di contesto del modello](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id).

2216* Se l'errore è apparso subito dopo che hai interrotto Claude mentre stava compattando la conversazione, la tua conversazione è invariata e ancora abbastanza grande da richiedere la compattazione. Esegui `/compact` e invia di nuovo il tuo messaggio. Per evitare che l'errore si ripresenti, [aggiorna Claude Code](/docs/it/setup#update-claude-code) alla v2.1.304 o successiva. Prima della v2.1.304, interrompere in quel momento poteva terminare il turno con questo errore.

2169 2217 

2170Vedi [Esplora la finestra di contesto](/docs/it/context-window) per una visualizzazione interattiva di come il contesto si riempie.2218Vedi [Esplora la finestra di contesto](/docs/it/context-window) per una visualizzazione interattiva di come il contesto si riempie.

2171 2219 


2298 2346 

2299### Extra inputs are not permitted2347### Extra inputs are not permitted

2300 2348 

2301Un proxy o gateway LLM tra Claude Code e l'API ha rimosso l'intestazione della richiesta `anthropic-beta`, quindi l'API ha rifiutato i campi che dipendono da essa.2349L'endpoint che ha ricevuto la richiesta ha rifiutato uno dei campi della richiesta come input che non accetta, e il messaggio dell'endpoint nomina quel campo.

2302 2350 

2303```text theme={null}2351```text theme={null}

2304API Error: 400 ... Extra inputs are not permitted ... context_management2352API Error: 400 ... context_management: Extra inputs are not permitted

2305```2353```

2306 2354 

2307Claude Code invia campi solo beta come `context_management` insieme a un'intestazione `anthropic-beta` che li abilita. Quando un gateway inoltra il corpo ma elimina l'intestazione, l'API vede campi che non riconosce.2355Claude Code invia campi disponibili solo in beta, come `context_management` e `defer_loading` della ricerca degli strumenti, insieme a un'intestazione `anthropic-beta` che li abilita. Quando un gateway inoltra il corpo ma scarta l'intestazione, l'API vede campi che non riconosce. Quando un gateway inoltra un corpo in formato Anthropic a un upstream con uno schema diverso, quell'upstream rifiuta tali campi. [Coppie di intestazioni beta e campi del corpo](/docs/it/llm-gateway-protocol#beta-header-and-body-field-pairs) tratta entrambi i casi.

2308 2356 

2309**Cosa fare:**2357**Cosa fare:**

2310 2358 

2311* Configura il tuo gateway per inoltrare l'intestazione `anthropic-beta`. Vedi [feature pass-through](/docs/it/llm-gateway-protocol#feature-pass-through) per ciò che i gateway devono inoltrare.2359* Se il messaggio contiene `context_management: Extra inputs are not permitted`, [aggiorna Claude Code](/docs/it/setup#update-claude-code) alla v2.1.304 o successiva. Dopo l'aggiornamento, Claude Code risponde a questo rifiuto inviando la richiesta un'altra volta senza il campo. Prima della v2.1.304, Claude Code non riprovava dopo questo rifiuto.

2360* Se il messaggio nomina `defer_loading` o `tool_reference`, aggiorna Claude Code o disattiva la [ricerca degli strumenti](/docs/it/mcp#tool-search-through-a-gateway):

2361 * [Aggiorna Claude Code](/docs/it/setup#update-claude-code) alla v2.1.305 o successiva. Claude Code risponde quindi a questo rifiuto inviando la richiesta un'altra volta senza i campi della ricerca degli strumenti.

2362 * Se non puoi aggiornare, o se il messaggio compare ancora dopo l'aggiornamento, imposta `ENABLE_TOOL_SEARCH=false` nella tua shell o nell'[`env` delle impostazioni](/docs/it/settings-reference#env). Se un file di impostazioni imposta già la variabile, modificala lì, poiché quel valore [può sovrascrivere un export della shell](/docs/it/settings-reference#how-env-values-interact-with-your-shell). Claude Code carica quindi gli strumenti MCP in anticipo.

2363* Se il tuo gateway scarta l'intestazione, configuralo per inoltrare l'intestazione `anthropic-beta`. Consulta [pass-through delle funzionalità](/docs/it/llm-gateway-protocol#feature-pass-through) per sapere cosa devono inoltrare i gateway.

2312* Come fallback, imposta [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/it/env-vars) prima di avviare. [Disabilita le capacità pre-release](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) copre l'ambito esatto.2364* Come fallback, imposta [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/it/env-vars) prima di avviare. [Disabilita le capacità pre-release](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) copre l'ambito esatto.

2313 2365 

2366Prima della v2.1.302, questo errore poteva anche nominare il campo `diagnostics` senza che fosse coinvolto alcun gateway. Compariva quando una sessione che aveva già usato l'API Anthropic passava ad Amazon Bedrock o all'Agent Platform di Google Cloud senza un riavvio. Ad esempio, una sessione che hai lasciato aperta passa a Bedrock quando esegui [`/setup-bedrock`](/docs/it/commands) in un'altra finestra di Claude Code. In quelle versioni, esegui `/clear` in quella sessione o riavviala.

2367 

2314### Lo schema di input dello strumento non è valido2368### Lo schema di input dello strumento non è valido

2315 2369 

2316Uno strumento nella richiesta ha dichiarato un `input_schema` che non supera la convalida JSON Schema dell'API, quindi l'API ha rifiutato l'intera richiesta. Il numero dopo `tools.` è la posizione dello strumento che fallisce nell'elenco degli strumenti della richiesta, non un nome che puoi cercare.2370Uno strumento nella richiesta ha dichiarato un `input_schema` che non supera la convalida JSON Schema dell'API, quindi l'API ha rifiutato l'intera richiesta. Il numero dopo `tools.` è la posizione dello strumento che fallisce nell'elenco degli strumenti della richiesta, non un nome che puoi cercare.


2384* Usa un alias come `sonnet` o `opus` invece di un ID completo con versione. Gli alias si risolvono in un valore predefinito mantenuto in modo che non diventino obsoleti. Vedi [Configurazione del modello](/docs/it/model-config).2438* Usa un alias come `sonnet` o `opus` invece di un ID completo con versione. Gli alias si risolvono in un valore predefinito mantenuto in modo che non diventino obsoleti. Vedi [Configurazione del modello](/docs/it/model-config).

2385* Se il modello sbagliato continua a tornare nella CLI, un ID obsoleto è impostato da qualche parte. Controlla i posti in cui puoi impostare un modello in [ordine di priorità](/docs/it/model-config#setting-your-model) e rimuovi il valore obsoleto.2439* Se il modello sbagliato continua a tornare nella CLI, un ID obsoleto è impostato da qualche parte. Controlla i posti in cui puoi impostare un modello in [ordine di priorità](/docs/it/model-config#setting-your-model) e rimuovi il valore obsoleto.

2386* Claude Code segnala un accesso claude.ai scaduto come [Login scaduto](#login-expired), non come questo errore. Prima della v2.1.206, un accesso scaduto che non poteva più essere aggiornato falliva con ogni modello con questo errore; esegui `/login` se lo vedi su una versione precedente.2440* Claude Code segnala un accesso claude.ai scaduto come [Login scaduto](#login-expired), non come questo errore. Prima della v2.1.206, un accesso scaduto che non poteva più essere aggiornato falliva con ogni modello con questo errore; esegui `/login` se lo vedi su una versione precedente.

2441* Se [`ANTHROPIC_BASE_URL`](/docs/it/env-vars) punta a un [gateway LLM](/docs/it/llm-gateway) e ogni modello fallisce in questo modo, verifica se il tuo gateway sta rifiutando i campi della ricerca degli strumenti che Claude Code invia per impostazione predefinita. Per verificarlo, imposta `ENABLE_TOOL_SEARCH=false` come descritto in [Ricerca degli strumenti tramite un gateway LLM](/docs/it/mcp#tool-search-through-a-gateway), quindi riprova. Prima della v2.1.304, la ricerca degli strumenti era disattivata dietro un gateway a meno che non la attivassi con `ENABLE_TOOL_SEARCH`.

2387* Per le distribuzioni di Google Cloud's Agent Platform, vedi [Risoluzione dei problemi di Google Cloud's Agent Platform](/docs/it/google-vertex-ai#troubleshooting).2442* Per le distribuzioni di Google Cloud's Agent Platform, vedi [Risoluzione dei problemi di Google Cloud's Agent Platform](/docs/it/google-vertex-ai#troubleshooting).

2388 2443 

2389### Model is not a recognized model id2444### Model is not a recognized model id


2590Altri messaggi segnalano la stessa condizione:2645Altri messaggi segnalano la stessa condizione:

2591 2646 

2592* In una sessione interattiva, una notifica recita `Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor`.2647* In una sessione interattiva, una notifica recita `Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor`.

2593* All'avvio con il flag `--advisor`, un avviso recita `"<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.` e la sessione si avvia comunque.2648* Quando avvii con il flag `--advisor` in [modalità non interattiva](/docs/it/headless), e l'esecuzione non è una [sessione in background](/docs/it/agent-view), un avviso viene scritto su stderr e l'esecuzione si avvia comunque. Dice `"<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.` Una sessione interattiva scrive quell'avviso solo nel [log di debug](#configuration-warnings).

2594 2649 

2595**Cosa fare:**2650**Cosa fare:**

2596 2651 


3361 3416 

3362Stringhe simili vengono generate prima ancora che il comando venga eseguito:3417Stringhe simili vengono generate prima ancora che il comando venga eseguito:

3363 3418 

3364* `Shell command permission check failed for pattern "..."`: il controllo dei permessi del comando non l'ha consentito. [Permission checks on injected commands](/docs/it/skills#permission-checks-on-injected-commands) spiega quali risultati causano l'interruzione in ciascuna modalità di permesso e come pre-approvare un comando con `allowed-tools`3419* `Shell command permission check failed for pattern "..."`: il controllo dei permessi del comando non lo ha consentito. [Controlli dei permessi sui comandi iniettati](/docs/it/skills#permission-checks-on-injected-commands) spiega quali esiti causano l'interruzione in ogni modalità di permesso e come pre-approvare un comando con `allowed-tools`

3365* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: il frontmatter della skill richiede bash su una macchina che non lo ha. Installa Git for Windows o modifica il frontmatter in `shell: powershell`. Consulta [Come vengono eseguiti i comandi inseriti](/docs/it/skills#how-injected-commands-run)3420* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: il frontmatter della skill richiede bash su una macchina che non lo ha. Installa Git for Windows o modifica il frontmatter in `shell: powershell`. Consulta [Come vengono eseguiti i comandi inseriti](/docs/it/skills#how-injected-commands-run)

3366* `No shell command in <name> was run`: uno dei comandi `!` del file contiene un carattere di controllo grezzo diverso da tabulazione o a capo, quindi nessuno di essi viene eseguito. Consulta [come trovare e rimuovere il carattere](#no-shell-command-was-run)3421* `No shell command in <name> was run`: uno dei comandi `!` del file contiene un carattere di controllo grezzo diverso da tabulazione o a capo, quindi nessuno di essi viene eseguito. Consulta [come trovare e rimuovere il carattere](#no-shell-command-was-run)

3367 3422 


3464Claude Code suggerisce il nome di comando o alias più vicino tra quelli elencati nel menu in questa sessione. Quando non c'è nulla di simile, il messaggio termina dopo il nome. La causa è di solito una delle seguenti:3519Claude Code suggerisce il nome di comando o alias più vicino tra quelli elencati nel menu in questa sessione. Quando non c'è nulla di simile, il messaggio termina dopo il nome. La causa è di solito una delle seguenti:

3465 3520 

3466* Un errore di battitura, come `/hepl` per `/help`. [Come il menu dei comandi trova corrispondenze con ciò che digiti](/docs/it/commands#how-the-command-menu-matches-what-you-type) spiega come scegliere una corrispondenza vicina prima di inviare3521* Un errore di battitura, come `/hepl` per `/help`. [Come il menu dei comandi trova corrispondenze con ciò che digiti](/docs/it/commands#how-the-command-menu-matches-what-you-type) spiega come scegliere una corrispondenza vicina prima di inviare

3467* Un comando che esiste ma non è disponibile in questa sessione perché un requisito non è soddisfatto, come la tua piattaforma, il tuo piano o il tuo metodo di autenticazione. Le voci di risoluzione dei problemi per [`/web-setup`](/docs/it/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) e [`/schedule`](/docs/it/routines#schedule-returns-unknown-command) illustrano due casi comuni. Alcuni comandi rispondono con un proprio messaggio quando la policy della tua organizzazione li disabilita, come [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)3522* Un comando che esiste ma non è disponibile in questa sessione perché un requisito non è soddisfatto, come la tua piattaforma, il tuo piano o il tuo metodo di autenticazione. Consulta la voce per [`/web-setup`](/docs/it/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command), [`/schedule`](/docs/it/routines#schedule-returns-unknown-command) o [`/auto-mode-setup`](/docs/it/auto-mode-config#auto-mode-setup-returns-unknown-command). Alcuni comandi rispondono con un proprio messaggio quando la policy della tua organizzazione li disabilita, come [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)

3468* Un comando di un [plugin](/docs/it/plugins/overview) o di un [server MCP](/docs/it/mcp#use-mcp-prompts-as-commands) che non è installato o connesso in questa sessione3523* Un comando di un [plugin](/docs/it/plugins/overview) o di un [server MCP](/docs/it/mcp#use-mcp-prompts-as-commands) che non è installato o connesso in questa sessione

3469 3524 

3470Claude Code risponde in questo modo a un nome `/` senza corrispondenza solo in una sessione interattiva del terminale. In tutte le altre sessioni, invia invece il prompt a Claude come un normale messaggio, con una nota che indica che il comando non è stato eseguito e un elenco dei comandi che Claude può eseguire nella sessione. Queste sessioni includono:3525Claude Code risponde in questo modo a un nome `/` senza corrispondenza solo in una sessione interattiva del terminale. In tutte le altre sessioni, invia invece il prompt a Claude come un normale messaggio, con una nota che indica che il comando non è stato eseguito e un elenco dei comandi che Claude può eseguire nella sessione. Queste sessioni includono:


3513 3568 

3514* **Non hai passato un branch di base**: Claude Code ha effettuato il confronto con il branch predefinito del repository e suggerisce di passare esplicitamente il tuo branch di base, come nell'esempio sopra3569* **Non hai passato un branch di base**: Claude Code ha effettuato il confronto con il branch predefinito del repository e suggerisce di passare esplicitamente il tuo branch di base, come nell'esempio sopra

3515* **Hai passato un branch di base che era già nel tuo clone**: il suggerimento riporta ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3570* **Hai passato un branch di base che era già nel tuo clone**: il suggerimento riporta ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3516* **Hai passato un branch di base che non era nel tuo clone**: Claude Code ne ha eseguito il fetch da origin prima del confronto. Il suggerimento recita ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; quando Claude Code non riesce a capire se il tuo clone è shallow, suggerisce invece `git fetch --unshallow origin`. Prima della v2.1.221, il suggerimento proponeva `git fetch --unshallow origin` per ogni branch di base recuperato tramite fetch, e su un clone completo quel comando fallisce con `fatal: --unshallow on a complete repository does not make sense`.3571* **Hai passato un branch di base che non era nel tuo clone**: Claude Code ne ha eseguito il fetch da origin prima del confronto. Il suggerimento recita ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; quando Claude Code non riesce a capire se il tuo clone è shallow, suggerisce invece `git fetch --unshallow origin`. Prima della v2.1.221, il suggerimento proponeva `git fetch --unshallow origin` per ogni branch di base recuperato, e su un clone completo quel comando fallisce con `fatal: --unshallow on a complete repository does not make sense`.

3517 3572 

3518**Cosa fare:**3573**Cosa fare:**

3519 3574 


3856* Apri tu stesso la sessione ed esegui lì `/recap`: nel suo terminale, nell'[app Desktop](/docs/it/desktop) o nell'[app mobile](/docs/it/mobile), su [claude.ai/code](https://claude.ai/code), oppure tramite [Remote Control](/docs/it/remote-control)3911* Apri tu stesso la sessione ed esegui lì `/recap`: nel suo terminale, nell'[app Desktop](/docs/it/desktop) o nell'[app mobile](/docs/it/mobile), su [claude.ai/code](https://claude.ai/code), oppure tramite [Remote Control](/docs/it/remote-control)

3857* Se l'ha inviato un'attività pianificata nel cloud o un altro programma, rimuovi `/recap` da quel prompt3912* Se l'ha inviato un'attività pianificata nel cloud o un altro programma, rimuovi `/recap` da quel prompt

3858 3913 

3914### /feedback is disabled by your organization's policy

3915 

3916Questo messaggio significa che la policy della tua organizzazione non consente l'invio di feedback sul prodotto da Claude Code, quindi `/feedback`, `/bug` e `/share` non aprono la finestra di feedback. Il messaggio indica il comando che hai digitato al prompt di Claude Code:

3917 

3918```text wrap theme={null}

3919/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.

3920```

3921 

3922Il messaggio può anche consistere nella sola prima frase.

3923 

3924**Cosa fare:**

3925 

3926* Per segnalare un bug, apri una issue su [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Chiunque può leggere le issue lì, quindi ometti codice, trascrizioni e qualsiasi altra informazione riservata.

3927 

3928Prima della v2.1.302, il messaggio completo era `/feedback is disabled by your organization's policy. Contact your organization admin to enable it.`

3929 

3859## Errori dei plugin3930## Errori dei plugin

3860 3931 

3861Questi errori provengono dalla configurazione di [plugin](/docs/it/plugins/overview) e [marketplace](/docs/it/plugins/overview). Per i problemi dei plugin che non producono uno dei messaggi in questa pagina, come un URL del marketplace che non si carica o un plugin che si installa ma non appare, vedi [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting).3932Questi errori provengono dalla configurazione di [plugin](/docs/it/plugins/overview) e [marketplace](/docs/it/plugins/overview). Per i problemi dei plugin che non producono uno dei messaggi in questa pagina, come un URL del marketplace che non si carica o un plugin che si installa ma non appare, vedi [Risoluzione dei problemi dei plugin](/docs/it/plugins/troubleshooting).


4001 4072 

4002### Il percorso esce dalla directory del plugin4073### Il percorso esce dalla directory del plugin

4003 4074 

4004Un percorso del componente del plugin, dichiarato nel `plugin.json` del plugin o nella sua [voce del marketplace](/docs/it/plugins/marketplace-reference#plugin-entries), si risolve al di fuori della directory del plugin. Claude Code elimina quel percorso e carica il resto del plugin. Il nome del componente nel messaggio, come `commands` o `hooks`, nomina il campo che ha dichiarato il percorso.4075Uno dei percorsi dei componenti del plugin porta al di fuori della directory del plugin oppure non è stato possibile confermare che si trovi al suo interno, quindi Claude Code elimina quel percorso e carica il resto del plugin. Per un percorso che il plugin dichiara in `plugin.json` o nella sua [voce del marketplace](/docs/it/plugins/marketplace-reference#plugin-entries), il nome del componente nel messaggio, come `commands` o `hooks`, indica il campo che ha dichiarato il percorso.

4005 4076 

4006```text theme={null}4077```text theme={null}

4007commands path escapes plugin directory: ./../shared.md4078commands path escapes plugin directory: ./../shared.md


4015commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory4086commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory

4016```4087```

4017 4088 

4089Un messaggio che riporta il percorso completo di uno dei file propri di un plugin del marketplace, come `hooks/hooks.json`, significa che Claude Code ha saltato quel file. Questo accade quando Claude Code non riesce a confermare che il file si trovi all'interno del plugin o, per un plugin in un [marketplace locale](/docs/it/plugins/loading#in-place-and-copied-plugins), all'interno di quel marketplace. Il messaggio segnala ciascuno di questi file sotto il nome del componente indicato:

4090 

4091* `hooks/hooks.json`: `hooks`

4092* `monitors/monitors.json`: `monitors`

4093* `settings.json`: `settings`

4094* `SKILL.md` alla radice del plugin: `skills`

4095 

4096Ad esempio, questo messaggio riguarda un `hooks/hooks.json` che si risolve al di fuori sia del plugin sia del suo marketplace locale:

4097 

4098```text theme={null}

4099hooks path escapes plugin directory: /home/user/my-marketplace/my-plugin/hooks/hooks.json — it resolves to /home/user/dotfiles/hooks.json, outside the plugin directory and its marketplace directory

4100```

4101 

4018Su macOS e Linux, Claude Code rifiuta anche un percorso del componente che contiene una barra rovesciata ovunque in esso, anche quando il percorso rimane all'interno del plugin. Un plugin i cui percorsi dei componenti utilizzano separatori in stile Windows si carica su Windows e attiva questo rifiuto sulle altre piattaforme:4102Su macOS e Linux, Claude Code rifiuta anche un percorso del componente che contiene una barra rovesciata ovunque in esso, anche quando il percorso rimane all'interno del plugin. Un plugin i cui percorsi dei componenti utilizzano separatori in stile Windows si carica su Windows e attiva questo rifiuto sulle altre piattaforme:

4019 4103 

4020```text theme={null}4104```text theme={null}


4023 4107 

4024Prima della v2.1.251, Claude Code caricava un percorso `commands` dichiarato in una voce del marketplace anche quando puntava al di fuori della directory del plugin.4108Prima della v2.1.251, Claude Code caricava un percorso `commands` dichiarato in una voce del marketplace anche quando puntava al di fuori della directory del plugin.

4025 4109 

4026Prima della v2.1.257, il controllo guardava solo l'ortografia del percorso, non dove un symlink porta.4110Prima della v2.1.257, il controllo sui percorsi dichiarati dal plugin guardava solo la grafia del percorso, non dove porta un collegamento simbolico.

4027 4111 

4028**Cosa fare:**4112**Cosa fare:**

4029 4113 

4030* Sposta il file referenziato all'interno della directory del plugin e punta il percorso ad esso con un percorso relativo `./`4114* Se hai installato il plugin e non lo mantieni, segnala il messaggio al suo autore

4031* Se il percorso è un symlink a un file al di fuori del plugin, sostituisci il symlink con una copia del file4115* Per un percorso che il plugin dichiara, sposta il file referenziato all'interno della directory del plugin e punta il percorso ad esso con un percorso relativo `./`

4032* Se il messaggio dice che il percorso contiene una barra rovesciata, scrivi il percorso con barre in avanti, ad esempio `./commands/deploy.md`4116* Se il percorso, o una cartella sopra di esso all'interno del plugin, è un collegamento simbolico che porta al di fuori del plugin, sostituisci il collegamento simbolico con una copia di ciò a cui punta

4117* Se il messaggio dice che un percorso dichiarato dal plugin contiene una barra rovesciata, scrivi il percorso con barre in avanti, ad esempio `./commands/deploy.md`

4118* Se il messaggio termina con `EACCES`, ripristina il tuo permesso di esecuzione su ogni directory che porta al file o alla cartella indicati dal percorso. Controlla le directory sopra il percorso, quindi segui ogni collegamento simbolico che incontri e controlla le directory che portano a dove punta. Per qualsiasi altro codice di errore, cercalo tra le [cause e i passaggi per un percorso che non è stato possibile controllare](#path-could-not-be-checked).

4033* Per condividere file con altri plugin nello stesso marketplace, collegali con un symlink all'interno della directory del plugin, seguendo le [regole del symlink](/docs/it/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks)4119* Per condividere file con altri plugin nello stesso marketplace, collegali con un symlink all'interno della directory del plugin, seguendo le [regole del symlink](/docs/it/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks)

4034 4120 

4121### Plugin non caricato: il suo manifest non è stato letto

4122 

4123Claude Code non è riuscito a confermare che il [manifest](/docs/it/plugins/manifest-reference) di un plugin del marketplace in `.claude-plugin/plugin.json` si trovi all'interno del plugin, quindi non carica nulla da quel plugin. Per un plugin in un [marketplace locale](/docs/it/plugins/loading#in-place-and-copied-plugins), Claude Code non è inoltre riuscito a confermare che il manifest si trovi all'interno di quel marketplace. Il messaggio appare nella scheda **Errors** di `/plugin`, e il motivo alla sua fine indica cosa ha trovato Claude Code.

4124 

4125Ad esempio, questo messaggio riguarda un plugin in un marketplace locale la cui cartella `.claude-plugin` è un collegamento simbolico che porta al di fuori del marketplace:

4126 

4127```text theme={null}

4128Plugin not loaded: its manifest /home/user/my-marketplace/my-plugin/.claude-plugin/plugin.json was not read, because it resolves to /home/user/dotfiles/my-plugin/.claude-plugin/plugin.json, outside the plugin directory and its marketplace directory

4129```

4130 

4131**Cosa fare:**

4132 

4133* Se il motivo termina con `EACCES`, ripristina il tuo permesso di esecuzione su ogni directory che porta al manifest. Controlla le directory sopra il manifest, quindi segui ogni collegamento simbolico che incontri e controlla le directory che portano a dove punta. Per qualsiasi altro codice di errore, cercalo tra le [cause e i passaggi per un percorso che non è stato possibile controllare](#path-could-not-be-checked).

4134* Se mantieni il plugin e il motivo indica dove si risolve il manifest, la cartella `.claude-plugin` o lo stesso `plugin.json` è un collegamento simbolico che porta lì. Sostituisci quel collegamento con una copia di ciò a cui punta.

4135* Se hai installato il plugin e non lo mantieni, segnala il messaggio al suo autore

4136 

4035### Il percorso non poteva essere controllato4137### Il percorso non poteva essere controllato

4036 4138 

4037Claude Code ha chiesto al sistema operativo se un percorso del plugin esiste e ha ricevuto un errore diverso da "non trovato", quindi non carica ciò che il percorso nomina. Quanto del plugin si carica dipende da quale percorso ha fallito:4139Claude Code ha chiesto al sistema operativo se un percorso del plugin esiste e ha ricevuto un errore diverso da "non trovato", quindi non carica ciò che il percorso nomina. Quanto del plugin si carica dipende da quale percorso ha fallito:


4226 4328 

4227Prima della v2.1.281, un byte nullo in un percorso di Read, Write, Edit o NotebookEdit terminava l'intero turno con un errore che indicava `Path contains null bytes`, e lo strumento non veniva mai eseguito.4329Prima della v2.1.281, un byte nullo in un percorso di Read, Write, Edit o NotebookEdit terminava l'intero turno con un errore che indicava `Path contains null bytes`, e lo strumento non veniva mai eseguito.

4228 4330 

4331### File is too large to read as an image

4332 

4333Claude ha tentato di leggere un file come immagine con lo [strumento Read](/docs/it/tools-reference#read-tool-behavior), e il file supera i 128 MB, il massimo che Read carica da un file immagine. Non è stato letto nulla, e Claude riceve questo errore come risultato dello strumento:

4334 

4335```text wrap theme={null}

4336File is too large to read as an image (the limit is 128MB): <path>. If it is an image, resize it or export a smaller copy, then read that.

4337```

4338 

4339Quando il percorso è una pipe o un dispositivo invece di un file normale, Read si interrompe non appena sono arrivati più di 128 MB e restituisce invece questo errore:

4340 

4341```text wrap theme={null}

4342Cannot read this as an image: <path> is a pipe or a device, not a regular file, and it sent more than 128MB without ending.

4343```

4344 

4345**Cosa fare:**

4346 

4347* Se Claude ha seguito il messaggio `File is too large` e ha proceduto a ridimensionare l'immagine o a leggerne una copia più piccola, non fare nulla

4348* Se Claude si è fermato all'errore, esporta tu stesso una copia inferiore a 128 MB, ad esempio a una risoluzione più bassa, e indica a Claude quel file

4349* Se il percorso era una pipe o un dispositivo, indica invece a Claude un file immagine normale

4350 

4229### subagent\_type is required4351### subagent\_type is required

4230 4352 

4231```text theme={null}4353```text theme={null}


4316* Esegui `claude` nella cartella indicata dal [log di debug](/docs/it/debug-your-config) e accetta la finestra di dialogo di fiducia. La definizione viene riapplicata la prossima volta che Claude Code riattiva il compagno di squadra; non devi riavviare la sessione del lead4438* Esegui `claude` nella cartella indicata dal [log di debug](/docs/it/debug-your-config) e accetta la finestra di dialogo di fiducia. La definizione viene riapplicata la prossima volta che Claude Code riattiva il compagno di squadra; non devi riavviare la sessione del lead

4317* Oppure imposta la voce `hasTrustDialogAccepted` su `true` in `~/.claude.json`, usando esattamente la chiave `projects["<path>"]` stampata dal log di debug4439* Oppure imposta la voce `hasTrustDialogAccepted` su `true` in `~/.claude.json`, usando esattamente la chiave `projects["<path>"]` stampata dal log di debug

4318 4440 

4441### Only a teammate can approve a shutdown request

4442 

4443Claude Code ha rifiutato un'approvazione di arresto di un [team di agenti](/docs/it/agent-teams) perché la sessione che l'ha inviata non è in esecuzione come compagno di squadra. Non è stato inviato nulla e nulla è stato arrestato. Il rifiuto compare nel risultato dello strumento della sessione mittente:

4444 

4445```text wrap theme={null}

4446Only a teammate can approve a shutdown request, and this session is not running as one. Nothing was sent. To shut down a teammate, send that teammate a shutdown_request message. The teammate is the one that approves it.

4447```

4448 

4449**Cosa fare:**

4450 

4451* Se il rifiuto è comparso nella tua sessione del lead, verifica prima se nel frattempo il compagno di squadra si è arrestato. Il rifiuto torna a Claude con l'istruzione di inviare invece una `shutdown_request`, e il turno prosegue. In una sessione del lead interattiva, `<name> has shut down.` compare quando il compagno di squadra approva una richiesta di arresto.

4452* Se il compagno di squadra è ancora in esecuzione, chiedi al lead nel suo prompt di arrestare il compagno di squadra, ad esempio `Ask the researcher teammate to shut down`. Consulta [Arrestare i compagni di squadra](/docs/it/agent-teams#shut-down-teammates).

4453* Se un ex compagno di squadra che hai ripreso tu stesso con `claude --resume` ha ricevuto questo rifiuto, non è stato inviato nulla. Per terminare quella sessione, esegui `/exit` nel suo prompt.

4454 

4319### Message too large for cross-session delivery4455### Message too large for cross-session delivery

4320 4456 

4321Il [messaggio tra sessioni](/docs/it/cross-session-messaging) di Claude verso un'altra delle tue sessioni su questa macchina era troppo lungo per essere inviato. Claude Code lo ha rifiutato, e la sessione ricevente non ha ricevuto nulla. Il rifiuto compare nel risultato dello strumento della sessione mittente, non come banner nel tuo terminale. Indica entrambe le dimensioni e come far rientrare il messaggio nel limite:4457Il [messaggio tra sessioni](/docs/it/cross-session-messaging) di Claude verso un'altra delle tue sessioni su questa macchina era troppo lungo per essere inviato. Claude Code lo ha rifiutato, e la sessione ricevente non ha ricevuto nulla. Il rifiuto compare nel risultato dello strumento della sessione mittente, non come banner nel tuo terminale. Indica entrambe le dimensioni e come far rientrare il messaggio nel limite:


4449 4585 

4450### Quota del disco o file system temporaneo pieni4586### Quota del disco o file system temporaneo pieni

4451 4587 

4452Claude Code salva l'output di ogni comando Bash e PowerShell in un file all'interno della propria directory temporanea. Quando un comando termina con un codice diverso da zero e senza alcun output, Claude Code verifica se il file system che contiene quel file ha esaurito lo spazio o gli inode, oppure se la tua quota del disco su di esso è esaurita. In tal caso, nel risultato del comando compare una diagnostica al posto dell'output vuoto:4588Claude Code salva l'output di ogni comando Bash e PowerShell in un file all'interno della propria directory temporanea. Questi messaggi nel risultato di un comando indicano che il file system che contiene quella directory, o la tua quota del disco su di esso, è pieno.

4589 

4590Se Claude Code non riesce a creare quel file perché il file system o la tua quota su di esso è pieno, il tuo comando non viene avviato, e il risultato riporta:

4591 

4592```text wrap theme={null}

4593The command was not started: this computer's disk is full (ENOSPC), so the file that captures command output could not be created. Nothing ran. If this is the user's own computer, tell them before deleting anything to make room.

4594```

4595 

4596Quando un comando termina con un codice diverso da zero e senza alcun output, Claude Code controlla il file system che contiene il file di output. Se quel file system ha esaurito lo spazio o gli inode, oppure se la tua quota del disco su di esso è esaurita, nel risultato del comando compare una diagnostica al posto dell'output vuoto:

4453 4597 

4454```text wrap theme={null}4598```text wrap theme={null}

4455Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.4599Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.


4460* `Your disk quota is full ... (EDQUOT)`: la tua quota personale su quel file system è esaurita. Una quota può essere piena anche quando il file system mostra ancora spazio libero4604* `Your disk quota is full ... (EDQUOT)`: la tua quota personale su quel file system è esaurita. Una quota può essere piena anche quando il file system mostra ancora spazio libero

4461* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`: il file system, o la tua quota su di esso, non ha più spazio disponibile4605* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`: il file system, o la tua quota su di esso, non ha più spazio disponibile

4462* `Command output was lost: the temp filesystem at ... is full` oppure `... is out of inodes`: il file system non ha quasi più spazio libero, oppure sta esaurendo gli inode4606* `Command output was lost: the temp filesystem at ... is full` oppure `... is out of inodes`: il file system non ha quasi più spazio libero, oppure sta esaurendo gli inode

4607* `The command was not started: this computer's disk is full (ENOSPC)` oppure `... (EDQUOT)`: il file system non ha più spazio per il file di output, oppure, con `EDQUOT`, la tua quota personale su di esso è esaurita

4463 4608 

4464**Cosa fare:**4609**Cosa fare:**

4465 4610 

4466* Elimina i file che non ti servono più sul file system che contiene la directory temporanea di Claude Code. Per `EDQUOT`, elimina i file che contano ai fini della tua quota personale. Per `out of inodes`, elimina molti file invece di pochi file grandi, poiché ogni file occupa un inode indipendentemente dalla sua dimensione4611* Elimina i file che non ti servono più sul file system che contiene la directory temporanea di Claude Code. Se il tuo messaggio non indica quella directory, cerca la sua posizione predefinita nel riferimento di [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars). Per `EDQUOT`, elimina i file che contano ai fini della tua quota personale. Per `out of inodes`, elimina molti file invece di pochi file grandi, poiché ogni file occupa un inode indipendentemente dalla sua dimensione

4467* Oppure riavvia Claude Code con [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars) impostata su una directory in un file system con spazio disponibile4612* Oppure riavvia Claude Code con [`CLAUDE_CODE_TMPDIR`](/docs/it/env-vars) impostata su una directory in un file system con spazio disponibile

4468* Poi chiedi a Claude di eseguire di nuovo il comando. L'output che aveva stampato è andato perso, non troncato4613* Poi chiedi a Claude di eseguire di nuovo il comando

4614 

4615Prima della v2.1.305, un comando che Claude Code non riusciva ad avviare perché il disco era pieno restituiva solo il testo di errore del sistema operativo. Quel testo riportava, ad esempio, `ENOSPC: no space left on device, open <path>.output`.

4469 4616 

4470### File is not valid UTF-84617### File is not valid UTF-8

4471 4618 


4524* Su Windows, per consentire a Claude di pubblicare direttamente dalla condivisione, mappala su una lettera di unità e passa l'unità quando avvii Claude Code. In PowerShell, ad esempio, esegui `net use Z: \\server\share` e poi `claude --add-dir Z:\`. Claude potrà quindi pubblicare file da quell'unità. Aggiungere l'unità durante la sessione con `/add-dir` non è sufficiente.4671* Su Windows, per consentire a Claude di pubblicare direttamente dalla condivisione, mappala su una lettera di unità e passa l'unità quando avvii Claude Code. In PowerShell, ad esempio, esegui `net use Z: \\server\share` e poi `claude --add-dir Z:\`. Claude potrà quindi pubblicare file da quell'unità. Aggiungere l'unità durante la sessione con `/add-dir` non è sufficiente.

4525* Su macOS o Linux, monta la condivisione in una directory, ad esempio una sotto `/mnt` o `/Volumes`, e pubblica da quel percorso invece che dal percorso di automount4672* Su macOS o Linux, monta la condivisione in una directory, ad esempio una sotto `/mnt` o `/Volumes`, e pubblica da quel percorso invece che dal percorso di automount

4526 4673 

4674### Not published: Claude sent the same content again after a newer version of the artifact turned it away

4675 

4676Questa riga rossa sotto una chiamata ad Artifact indica che Claude Code ha bloccato una pubblicazione ripetuta: l'[artefatto](/docs/it/artifacts) non è stato aggiornato, e non è stato scritto nulla nel file da cui Claude pubblica. Non devi fare nulla, a meno che Claude non si fermi senza pubblicare.

4677 

4678In precedenza nella sessione, Claude Code ha respinto una pubblicazione perché l'artefatto aveva una versione più recente, ad esempio una pubblicata da un [editor](/docs/it/artifacts#let-someone-edit-with-you) o da un'altra delle tue sessioni. La parte finale della riga indica cosa deve fare Claude successivamente:

4679 

4680```text wrap theme={null}

4681Not published: Claude sent the same content again after a newer version of the artifact turned it away. Claude needs to work from that newer version first.

4682Not published: Claude sent the same content again after a newer version of the artifact turned it away. The artifact hasn't changed since, so publishing it once more should go through.

4683Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away. Claude needs to work from that newer version first.

4684Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away. The artifact hasn't changed since, so publishing once more should go through.

4685```

4686 

4687**Cosa fare:**

4688 

4689* **Termina con `Claude needs to work from that newer version first`**: se Claude si è fermato lì, chiedigli di recuperare la versione corrente dell'artefatto, integrarvi le sue modifiche e pubblicare di nuovo

4690* **Termina con `should go through`**: se Claude si è fermato lì, chiedigli di pubblicare di nuovo

4691 

4527### Lettura di un file locale al di fuori delle cartelle connesse in una sessione Cowork4692### Lettura di un file locale al di fuori delle cartelle connesse in una sessione Cowork

4528 4693 

4529In una sessione [Cowork](https://claude.com/docs/cowork/overview) in esecuzione sulla tua macchina nell'app Claude Desktop, Claude ha indicato un file locale per un [artefatto](/docs/it/artifacts). Claude Code non è riuscito a confermare che il file sia un file semplice all'interno delle cartelle connesse della sessione: il percorso si trova al di fuori di quelle cartelle, passa attraverso un collegamento simbolico o è scritto in un modo che può indicare un file diverso da quello che sembra. La lettura di un file di questo tipo richiede la tua approvazione, e in una sessione che non può mostrarti la scheda di approvazione, come una impostata per saltare tutte le approvazioni, Claude Code rifiuta la lettura.4694In una sessione [Cowork](https://claude.com/docs/cowork/overview) in esecuzione sulla tua macchina nell'app Claude Desktop, Claude ha indicato un file locale per un [artefatto](/docs/it/artifacts). Claude Code non è riuscito a confermare che il file sia un file semplice all'interno delle cartelle connesse della sessione: il percorso si trova al di fuori di quelle cartelle, passa attraverso un collegamento simbolico o è scritto in un modo che può indicare un file diverso da quello che sembra. La lettura di un file di questo tipo richiede la tua approvazione, e in una sessione che non può mostrarti la scheda di approvazione, come una impostata per saltare tutte le approvazioni, Claude Code rifiuta la lettura.


4816* Per continuare il loop, [rispondi alla sessione](/docs/it/agent-view#peek-and-reply) e dillo, ad esempio `keep the loop running`. Claude legge l'avviso insieme alla tua risposta e può pianificare il prossimo risveglio4981* Per continuare il loop, [rispondi alla sessione](/docs/it/agent-view#peek-and-reply) e dillo, ad esempio `keep the loop running`. Claude legge l'avviso insieme alla tua risposta e può pianificare il prossimo risveglio

4817* Se hai finito con il loop, non fare nulla. Si è già interrotto4982* Se hai finito con il loop, non fare nulla. Si è già interrotto

4818 4983 

4984### No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder

4985 

4986La [sessione in background](/docs/it/agent-view) che mostra questo messaggio non sta usando il tuo [gateway LLM](/docs/it/llm-gateway): non ha ricevuto l'indirizzo del gateway, quindi le sue richieste falliscono. Il messaggio appare nella conversazione al posto della risposta di Claude, con l'ID e la cartella della tua sessione già inseriti:

4987 

4988```text wrap theme={null}

4989No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder. To fix, run `claude respawn abc12345` from ~/project in another terminal where your gateway is set, or set ANTHROPIC_BASE_URL and its API key or token in a settings file's env block.

4990```

4991 

4992Mentre sei collegato alla sessione, l'avviso sotto il suo prompt mostra la forma breve `No LLM gateway: opened from another folder · respawn from ~/project`.

4993 

4994Hai inviato, risvegliato o riavviato la sessione da una cartella diversa da quella che il messaggio nomina, mentre `ANTHROPIC_BASE_URL` era impostato sul tuo gateway. Per i casi in cui un gateway esportato nella shell raggiunge effettivamente una sessione in background, vedi [Gateway LLM](/docs/it/agent-view#llm-gateway).

4995 

4996**Cosa fare:**

4997 

4998* **Hai usato la vista agente in un progetto le cui impostazioni configurano il gateway**: inserisci `ANTHROPIC_BASE_URL` e la relativa chiave API o token nel [blocco `env` di un file di impostazioni](/docs/it/llm-gateway-connect#set-in-a-settings-file). Usa `~/.claude/settings.json`, oppure `.claude/settings.local.json` nel progetto della sessione stessa, entrambi letti da una sessione riavviata con respawn. Quindi esegui `claude respawn <id>` nella tua shell da qualsiasi cartella.

4999* **Hai esportato il gateway nel tuo terminale**: in un terminale in cui hai esportato le variabili del gateway, esegui `cd` nella cartella che il messaggio nomina ed esegui il comando `claude respawn <id>` del messaggio. La sessione si riavvia dalla sua conversazione salvata.

5000 * Il gateway raggiunge la sessione solo quando il [supervisor](/docs/it/agent-view#the-supervisor-process) è stato a sua volta avviato da una shell che esportava lo stesso gateway. In caso contrario, riavvialo da quel terminale come descritto in [Dispatch fails with `Could not resolve authentication method`](/docs/it/agent-view#dispatch-fails-with-could-not-resolve-authentication-method), quindi esegui di nuovo il comando di respawn.

5001 

5002Prima della v2.1.302, una sessione in background in questa situazione mostrava invece un errore di accesso come [`Not logged in · Please run /login`](#not-logged-in), senza nominare la cartella.

5003 

4819### Errori del launcher CLAUDE\_CODE\_PROCESS\_WRAPPER5004### Errori del launcher CLAUDE\_CODE\_PROCESS\_WRAPPER

4820 5005 

4821[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/it/corporate-launcher) è impostato, e il suo valore non può essere usato, quindi Claude Code rifiuta di avviare il processo interessato piuttosto che eseguirlo senza il launcher. I problemi di configurazione sono segnalati con un messaggio che inizia con il nome della variabile e dichiara il motivo, ad esempio:5006[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/it/corporate-launcher) è impostato, e il suo valore non può essere usato, quindi Claude Code rifiuta di avviare il processo interessato piuttosto che eseguirlo senza il launcher. I problemi di configurazione sono segnalati con un messaggio che inizia con il nome della variabile e dichiara il motivo, ad esempio:


5094 5279 

5095## Avvisi di configurazione5280## Avvisi di configurazione

5096 5281 

5097Claude Code scrive la maggior parte di questi messaggi su stderr, non nella conversazione, e scrive la maggior parte di essi all'avvio. Una voce lo dice quando il suo messaggio appare altrove, ad esempio nel log di debug o come avviso di avvio nella vista della conversazione, o in un altro momento, ad esempio la [riga diagnostica modello non riconosciuto](#unrecognized-model-id-on-a-request) al momento della richiesta.5282Per trovare un avviso che Claude Code ha mostrato all'avvio in una sessione interattiva, guarda prima sotto il banner di avvio, poi nel log di debug:

5283 

5284* **Riga sotto il banner di avvio**: alcuni avvisi sulle [regole di permesso](/docs/it/permissions), come [`⚠ Deny rule Bsh matches no tool · check for typos`](#matches-no-tool)

5285* **Log di debug**: Claude Code conserva questo log solo in modalità debug. Per leggere gli avvisi che contiene, avvia Claude Code dalla tua shell con `claude --debug-file <path>`, poi apri il file in quel percorso.

5286 

5287In [modalità non interattiva](/docs/it/headless) con output di testo, al di fuori di una [sessione in background](/docs/it/agent-view), cerca gli avvisi di avvio su stderr.

5288 

5289Prima della v2.1.305, cerca su stderr anche in una sessione interattiva, inclusi gli avvisi sulle regole di permesso che ora appaiono come righe sotto il banner.

5098 5290 

5099### Claude Code è uscito dopo un errore di interfaccia irrecuperabile5291### Claude Code è uscito dopo un errore di interfaccia irrecuperabile

5100 5292 


5214 5406 

5215### La directory di lavoro è un percorso di rete5407### La directory di lavoro è un percorso di rete

5216 5408 

5217Claude Code non aggiunge percorsi di rete come directory di lavoro. Cercare un percorso di rete può contattare l'host che nomina, e su Windows quel contatto può inviare all'host le vostre credenziali, quindi Claude Code rifiuta il percorso senza cercarlo. Vedete questo messaggio quando eseguite `/add-dir` con tale percorso, o come avviso all'avvio. Quando appare all'avvio, Claude Code si avvia senza quella directory.5409Claude Code non aggiunge percorsi di rete come directory di lavoro. Cercare un percorso di rete può contattare l'host che nomina, e su Windows quel contatto può inviare all'host le tue credenziali. Per questo Claude Code rifiuta il percorso senza cercarlo.

5410 

5411Vedi questo messaggio quando esegui `/add-dir` con un percorso di rete:

5218 5412 

5219```text theme={null}5413```text theme={null}

5220\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).5414\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).

5221```5415```

5222 5416 

5417Quando invece ne passi uno all'avvio, con `--add-dir` o in `permissions.additionalDirectories`, Claude Code si avvia senza quella directory. In una sessione interattiva non vedi il messaggio all'avvio, perché finisce nel log di debug insieme agli altri [avvisi di avvio](#configuration-warnings).

5418 

5223I percorsi che Claude Code rifiuta in questo modo includono:5419I percorsi che Claude Code rifiuta in questo modo includono:

5224 5420 

5225* Condivisioni UNC come `\\server\share`5421* Condivisioni UNC come `\\server\share`


5465 5661 

5466Prima della v2.1.260, Claude Code segnalava una regola con parentesi non abbinate come `Mismatched parentheses`.5662Prima della v2.1.260, Claude Code segnalava una regola con parentesi non abbinate come `Mismatched parentheses`.

5467 5663 

5468### Non è abbinato dai controlli di permesso dei file5664### Matches no tool · check for typos

5665 

5666Questa riga sotto il banner di avvio nomina una [regola di permesso](/docs/it/permissions) deny o ask il cui nome di strumento non è riconosciuto da Claude Code, quindi la regola non si applica allo strumento che intendevi. Una regola deny scritta come `Bsh` non viene applicata a Bash, e nemmeno una che usa l'etichetta mostrata da uno strumento nella trascrizione invece del suo nome canonico. La riga ripete la regola così come l'hai scritta:

5667 

5668```text theme={null}

5669⚠ Deny rule Bsh matches no tool · check for typos

5670```

5469 5671 

5470Claude Code ha trovato una regola di permesso `Write`, `NotebookEdit`, `MultiEdit`, o `Glob` [permission rule](/docs/it/permissions#read-and-edit) con un percorso in uno dei vostri [file di impostazioni](/docs/it/settings#where-settings-live), in [impostazioni gestite](/docs/it/managed-settings), o in un valore di flag `--allowedTools`, `--disallowedTools`, o `--settings`. Controlla i permessi dei file rispetto alle regole `Edit` e `Read` solo, quindi non consulta mai una regola di percorso che nomina uno degli altri strumenti di file. Mantiene la regola e non cambia nient'altro; l'avviso nomina la regola, la sua fonte tra parentesi, e la sostituzione da scrivere:5672In [modalità non interattiva](/docs/it/headless) con output di testo, Claude Code stampa invece l'avviso su stderr nella sua forma più lunga:

5471 5673 

5472```text theme={null}5674```text theme={null}

5473Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).5675Permission deny rule "Bsh" matches no known tool — check for typos.

5474```5676```

5475 5677 

5476**Cosa fare:**5678**Cosa fare:**

5477 5679 

5680* Correggi il nome dello strumento nella regola, ad esempio `Bash` al posto di `Bsh`. Trovi i nomi canonici nel [riferimento degli strumenti](/docs/it/tools-reference).

5681* Per trovare dove è definita la regola, esegui `/permissions` nella sessione e seleziona la regola. I suoi dettagli indicano da dove proviene, ad esempio `From project local settings`, oppure `From CLI argument` per un valore di `--disallowedTools`.

5682* Se i dettagli riportano `From enterprise managed settings`, inoltra la riga a chi gestisce le tue [impostazioni gestite](/docs/it/managed-settings), perché non puoi modificare tu quella regola.

5683 

5684In una [sessione in background](/docs/it/agent-view) o con `--output-format json` o `stream-json`, Claude Code scrive l'avviso nel log di debug anziché su stderr. Esegui con `--debug` per acquisirlo in `~/.claude/debug/<session-id>.txt`.

5685 

5686Prima della v2.1.305, una sessione interattiva stampava la forma più lunga su stderr all'avvio invece di mostrare la riga.

5687 

5688### Non è abbinato dai controlli di permesso dei file

5689 

5690Claude Code ha trovato una [regola di permesso](/docs/it/permissions#read-and-edit) `Write`, `NotebookEdit`, `MultiEdit` o `Glob` con un percorso in uno dei tuoi [file di impostazioni](/docs/it/settings#where-settings-live), nelle [impostazioni gestite](/docs/it/managed-settings), o in un valore dei flag `--allowedTools`, `--disallowedTools` o `--settings`. Claude Code verifica i permessi sui file solo rispetto alle regole `Edit` e `Read`, quindi non consulta mai una regola di percorso che nomina uno degli altri strumenti per i file. Mantiene la regola e non cambia nient'altro.

5691 

5692* **Sessione interattiva**: l'avviso completo finisce nel [log di debug](#configuration-warnings), e una regola deny o ask di questa forma appare anche come questa riga sotto il banner di avvio:

5693 

5694 ```text theme={null}

5695 ⚠ Deny rule Write(docs/**) never matches · use Edit(docs/**)

5696 ```

5697 

5698 Una regola allow di questa forma non genera alcuna riga. Per trovare dove è definita la regola, esegui `/permissions` nella sessione e seleziona la regola.

5699* **[Modalità non interattiva](/docs/it/headless) con output di testo**: l'avviso completo su stderr nomina la regola, la sua origine tra parentesi e la sostituzione da scrivere:

5700 

5701 ```text theme={null}

5702 Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).

5703 ```

5704* **[Sessione in background](/docs/it/agent-view), oppure `--output-format json` o `stream-json`**: l'avviso completo finisce nel log di debug anziché su stderr, così l'output letto dalle macchine resta pulito. Esegui con `--debug` per acquisirlo in `~/.claude/debug/<session-id>.txt`.

5705 

5706**Cosa fare:**

5707 

5478* Sostituire le regole `Write(path)`, `NotebookEdit(path)`, e legacy `MultiEdit(path)` con `Edit(path)`. Le regole `Edit` coprono tutti gli strumenti di modifica dei file.5708* Sostituire le regole `Write(path)`, `NotebookEdit(path)`, e legacy `MultiEdit(path)` con `Edit(path)`. Le regole `Edit` coprono tutti gli strumenti di modifica dei file.

5479* Ad eccezione di `--allowedTools`, dove Claude Code accetta una regola `Glob` senza avviso, sostituire le regole `Glob(path)` con `Read(path)`.5709* Ad eccezione di `--allowedTools`, dove Claude Code accetta una regola `Glob` senza avviso, sostituire le regole `Glob(path)` con `Read(path)`.

5480* Correggere la regola alla fonte che l'avviso nomina tra parentesi: un percorso di file di impostazioni, o il flag stesso per `--allowed-tools` e `--disallowed-tools`. Un percorso `claude-settings-<hash>.json` che non esiste su disco rappresenta un valore `--settings` inline. Correggere il JSON che passate a quel flag.5710* Correggi la regola nella sua origine, che l'avviso completo indica tra parentesi: un percorso di file di impostazioni, oppure il flag stesso per `--allowed-tools` e `--disallowed-tools`. Un percorso `claude-settings-<hash>.json` che non esiste su disco rappresenta un valore `--settings` inline. Correggi il JSON che passi a quel flag.

5481* Lasciare sole le regole di nome di strumento nudo come `Write` o `Glob`. Claude Code le abbina a livello di [tool level](/docs/it/permissions#match-all-uses-of-a-tool) e non avvisa su di esse.5711* Lasciare sole le regole di nome di strumento nudo come `Write` o `Glob`. Claude Code le abbina a livello di [tool level](/docs/it/permissions#match-all-uses-of-a-tool) e non avvisa su di esse.

5482* Se la fonte legge `managed policy settings`, inoltrare l'avviso a chi mantiene le vostre impostazioni gestite, poiché non potete cancellarlo voi stessi.5712* Per una regola proveniente dalle impostazioni gestite, le parentesi dell'avviso completo riportano `managed policy settings` e i dettagli della regola in `/permissions` riportano `From enterprise managed settings`. Inoltra quell'avviso a chi gestisce le tue impostazioni gestite, perché non puoi risolverlo tu.

5483 5713 

5484In una [sessione in background](/docs/it/agent-view) o con `--output-format json` o `stream-json`, Claude Code scrive l'avviso al log di debug invece di stderr, quindi l'output letto dalla macchina rimane pulito. Eseguire con `--debug` per catturarlo in `~/.claude/debug/<session-id>.txt`. Prima della v2.1.210, Claude Code accettava queste regole senza un avviso.5714Prima della v2.1.210, Claude Code accettava queste regole senza avvisi. Prima della v2.1.305, una sessione interattiva stampava l'avviso completo su stderr.

5485 5715 

5486### Ha un carattere jolly prima del resto del comando5716### Ha un carattere jolly prima del resto del comando

5487 5717 

5488Claude Code ha trovato una regola allow `Bash` il cui `*` viene prima di una parola successiva che determina quale comando è, come `Bash(git * main)` o `Bash(git -C * status *)`, in uno dei vostri [file di impostazioni](/docs/it/settings#where-settings-live), in [impostazioni gestite](/docs/it/managed-settings), o in un valore di flag `--allowedTools` o `--settings`. Il `*` corrisponde a qualsiasi testo, incluse le opzioni inserite in quella posizione: `Bash(git * main)` approva anche `git -c core.fsmonitor=<script> diff main`, dove `-c` fa eseguire a git un programma che il comando nomina. [Wildcard patterns](/docs/it/permissions#wildcard-patterns) mostra le regole di corrispondenza.5718Claude Code ha trovato una regola allow `Bash` il cui `*` viene prima di una parola successiva che determina quale comando è, come `Bash(git * main)` o `Bash(git -C * status *)`, in uno dei vostri [file di impostazioni](/docs/it/settings#where-settings-live), in [impostazioni gestite](/docs/it/managed-settings), o in un valore di flag `--allowedTools` o `--settings`. Il `*` corrisponde a qualsiasi testo, incluse le opzioni inserite in quella posizione: `Bash(git * main)` approva anche `git -c core.fsmonitor=<script> diff main`, dove `-c` fa eseguire a git un programma che il comando nomina. [Wildcard patterns](/docs/it/permissions#wildcard-patterns) mostra le regole di corrispondenza.

5489 5719 

5490L'avviso esiste in modo che possiate restringere una regola il cui carattere jolly è più ampio di quanto intendete. Claude Code mantiene la regola e non cambia nulla su come corrisponde; l'avviso nomina la regola e la sua fonte tra parentesi:5720L'avviso esiste per permetterti di restringere una regola il cui carattere jolly è più ampio di quanto intendessi. Claude Code mantiene la regola e non cambia nulla nel modo in cui corrisponde. In [modalità non interattiva](/docs/it/headless) con output di testo, l'avviso su stderr nomina la regola e la sua origine tra parentesi:

5491 5721 

5492```text theme={null}5722```text theme={null}

5493Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).5723Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).

5494```5724```

5495 5725 

5726In una sessione interattiva, l'avviso completo finisce nel [log di debug](#configuration-warnings) e la regola appare come questa riga sotto il banner di avvio:

5727 

5728```text theme={null}

5729⚠ Allow rule Bash(git -C * status *) allows any option at its * · use an exact value

5730```

5731 

5732Per trovare dove è definita la regola, esegui `/permissions` nella sessione e seleziona la regola.

5733 

5496**Cosa fare:**5734**Cosa fare:**

5497 5735 

5498* Sostituire il `*` prima del sottocomando con il valore esatto che intendete: `Bash(git checkout main)` al posto di `Bash(git * main)`.5736* Sostituire il `*` prima del sottocomando con il valore esatto che intendete: `Bash(git checkout main)` al posto di `Bash(git * main)`.

5499* Spostare ogni `*` dopo il sottocomando: `Bash(git status *)` al posto di `Bash(git -C * status *)`. Scrivere una regola per sottocomando che volete permettere.5737* Spostare ogni `*` dopo il sottocomando: `Bash(git status *)` al posto di `Bash(git -C * status *)`. Scrivere una regola per sottocomando che volete permettere.

5500* Correggere la regola alla fonte che l'avviso nomina tra parentesi: un percorso di file di impostazioni, o il flag `--allowed-tools` stesso. Un percorso `claude-settings-<hash>.json` che non esiste su disco rappresenta un valore `--settings` inline. Correggere il JSON che passate a quel flag.5738* Correggi la regola nella sua origine, che l'avviso completo indica tra parentesi: un percorso di file di impostazioni, oppure il flag `--allowed-tools` stesso. Un percorso `claude-settings-<hash>.json` che non esiste su disco rappresenta un valore `--settings` inline. Correggi il JSON che passi a quel flag.

5501* Se la fonte legge `managed policy settings`, inoltrare l'avviso a chi mantiene le vostre impostazioni gestite, poiché non potete cancellarlo voi stessi.5739* Per una regola proveniente dalle impostazioni gestite, le parentesi dell'avviso completo riportano `managed policy settings` e i dettagli della regola in `/permissions` riportano `From enterprise managed settings`. Inoltra quell'avviso a chi gestisce le tue impostazioni gestite, perché non puoi risolverlo tu.

5502 5740 

5503In una [sessione in background](/docs/it/agent-view) o con `--output-format json` o `stream-json`, Claude Code scrive l'avviso al log di debug invece di stderr, quindi l'output letto dalla macchina rimane pulito. Eseguire con `--debug` per catturarlo in `~/.claude/debug/<session-id>.txt`. Prima della v2.1.246, Claude Code accettava queste regole senza un avviso.5741In una [sessione in background](/docs/it/agent-view) o con `--output-format json` o `stream-json`, Claude Code scrive l'avviso al log di debug invece di stderr, quindi l'output letto dalla macchina rimane pulito. Eseguire con `--debug` per catturarlo in `~/.claude/debug/<session-id>.txt`. Prima della v2.1.246, Claude Code accettava queste regole senza un avviso.

5504 5742 

5743Prima della v2.1.305, una sessione interattiva stampava l'avviso completo su stderr invece di mostrare una riga.

5744 

5505### Denying Bash also turns off the PowerShell tool5745### Denying Bash also turns off the PowerShell tool

5506 5746 

5507Hai rimosso l'intero strumento Bash, ad esempio con `--disallowedTools Bash` oppure con una [regola deny](/docs/it/permissions#match-all-uses-of-a-tool) `Bash` o `Bash(*)` senza altre specifiche in uno dei tuoi file di impostazioni. Su Windows con Git Bash installato, [negare Bash disattiva anche lo strumento PowerShell](/docs/it/tools-reference#bash-deny-rules-also-turn-off-the-powershell-tool), quindi la sessione si avvia senza alcuno strumento shell. Claude Code stampa questo avviso all'avvio:5747Hai rimosso l'intero strumento Bash, ad esempio con `--disallowedTools Bash` oppure con una [regola deny](/docs/it/permissions#match-all-uses-of-a-tool) `Bash` o `Bash(*)` senza altre specifiche in uno dei tuoi file di impostazioni. Su Windows con Git Bash installato, [negare Bash disattiva anche lo strumento PowerShell](/docs/it/tools-reference#bash-deny-rules-also-turn-off-the-powershell-tool), quindi la sessione si avvia senza alcuno strumento shell.

5748 

5749In [modalità non interattiva](/docs/it/headless) con output di testo, Claude Code stampa questo avviso su stderr all'avvio, mentre una sessione interattiva lo scrive solo nel [log di debug](#configuration-warnings):

5508 5750 

5509```text theme={null}5751```text theme={null}

5510Denying Bash also turns off the PowerShell tool, so Claude has neither. To use PowerShell, set CLAUDE_CODE_USE_POWERSHELL_TOOL=1.5752Denying Bash also turns off the PowerShell tool, so Claude has neither. To use PowerShell, set CLAUDE_CODE_USE_POWERSHELL_TOOL=1.


5517 5759 

5518In una [sessione in background](/docs/it/agent-view) o con `--output-format json` o `stream-json`, Claude Code scrive l'avviso nel log di debug anziché su stderr. Esegui con `--debug` per acquisirlo in `~/.claude/debug/<session-id>.txt`. Prima della v2.1.287, Claude Code disattivava lo strumento PowerShell allo stesso modo senza stampare alcun avviso.5760In una [sessione in background](/docs/it/agent-view) o con `--output-format json` o `stream-json`, Claude Code scrive l'avviso nel log di debug anziché su stderr. Esegui con `--debug` per acquisirlo in `~/.claude/debug/<session-id>.txt`. Prima della v2.1.287, Claude Code disattivava lo strumento PowerShell allo stesso modo senza stampare alcun avviso.

5519 5761 

5762Prima della v2.1.305, anche una sessione interattiva stampava l'avviso su stderr all'avvio.

5763 

5520### crossSessionInbound deve essere uno di accept, hold, refuse5764### crossSessionInbound deve essere uno di accept, hold, refuse

5521 5765 

5522Un file di impostazioni imposta [`crossSessionInbound`](/docs/it/settings-reference#crosssessioninbound) a un valore che Claude Code non riconosce, come il typo `"reject"`. La seconda frase dell'avviso dipende da quale file contiene il valore; in un file utente, progetto, locale, o `--settings` legge:5766Un file di impostazioni imposta [`crossSessionInbound`](/docs/it/settings-reference#crosssessioninbound) a un valore che Claude Code non riconosce, come il typo `"reject"`. La seconda frase dell'avviso dipende da quale file contiene il valore; in un file utente, progetto, locale, o `--settings` legge:


5566* Se il messaggio nomina un ID di modello che questa versione non riconosce, eseguire `claude update`. Una versione che riconosce l'ID come modello con contesto 1M applica il limite senza ulteriore configurazione.5810* Se il messaggio nomina un ID di modello che questa versione non riconosce, eseguire `claude update`. Una versione che riconosce l'ID come modello con contesto 1M applica il limite senza ulteriore configurazione.

5567* Se volete che la sessione usi la finestra completa del modello invece, disimpostare `CLAUDE_CODE_DISABLE_1M_CONTEXT`; l'avviso segnala solo che il limite di 200K non è applicato5811* Se volete che la sessione usi la finestra completa del modello invece, disimpostare `CLAUDE_CODE_DISABLE_1M_CONTEXT`; l'avviso segnala solo che il limite di 200K non è applicato

5568 5812 

5569In una [sessione in background](/docs/it/agent-view) o con `--output-format json` o `stream-json`, Claude Code scrive l'avviso al log di debug invece di stderr.5813In [modalità non interattiva](/docs/it/headless) con output di testo, questo avviso appare su stderr. In una sessione interattiva, in una [sessione in background](/docs/it/agent-view), o con `--output-format json` o `stream-json`, finisce invece nel log di debug. Esegui con `--debug` per acquisirlo in `~/.claude/debug/<session-id>.txt`.

5814 

5815Prima della v2.1.305, una sessione interattiva stampava l'avviso su stderr all'avvio.

5570 5816 

5571### ID modello non riconosciuto su una richiesta5817### ID modello non riconosciuto su una richiesta

5572 5818 


5678Se un errore non è elencato qui o la correzione suggerita non aiuta:5924Se un errore non è elencato qui o la correzione suggerita non aiuta:

5679 5925 

5680* Eseguire `/feedback` all'interno di Claude Code per inviare la trascrizione e una descrizione ad Anthropic. Il comando offre anche di aprire un problema GitHub precompilato. L'invio ad Anthropic richiede l'[autenticazione](/docs/it/authentication). Su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e altri provider di terze parti, o quando non sono configurate credenziali Anthropic, `/feedback` salva un archivio locale che è possibile inviare al rappresentante dell'account Anthropic.5926* Eseguire `/feedback` all'interno di Claude Code per inviare la trascrizione e una descrizione ad Anthropic. Il comando offre anche di aprire un problema GitHub precompilato. L'invio ad Anthropic richiede l'[autenticazione](/docs/it/authentication). Su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e altri provider di terze parti, o quando non sono configurate credenziali Anthropic, `/feedback` salva un archivio locale che è possibile inviare al rappresentante dell'account Anthropic.

5927* Se `/feedback` risponde che è disabilitato dalla policy della tua organizzazione, consulta [la voce relativa a quel messaggio](#feedback-is-disabled-by-your-organizations-policy)

5681* Eseguire `claude doctor` dalla shell per una diagnostica di sola lettura dell'installazione, oppure eseguire il checkup `/doctor` all'interno di Claude Code per trovare e risolvere i problemi di configurazione5928* Eseguire `claude doctor` dalla shell per una diagnostica di sola lettura dell'installazione, oppure eseguire il checkup `/doctor` all'interno di Claude Code per trovare e risolvere i problemi di configurazione

5682* Controllare [status.claude.com](https://status.claude.com) per gli incidenti attivi5929* Controllare [status.claude.com](https://status.claude.com) per gli incidenti attivi

5683* Cercare i [problemi esistenti](https://github.com/anthropics/claude-code/issues) su GitHub5930* Cercare i [problemi esistenti](https://github.com/anthropics/claude-code/issues) su GitHub

Details

34 34 

35Queste hanno differenze specifiche del provider:35Queste hanno differenze specifiche del provider:

36 36 

37* **Server MCP**: i [connettori da claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) si caricano solo quando il tuo abbonamento claude.ai è il metodo di autenticazione attivo. La [ricerca degli strumenti](/docs/it/mcp#configure-tool-search) è disattivata per impostazione predefinita quando `ANTHROPIC_BASE_URL` punta a un host non di prima parte, e non è supportata su modelli Google Cloud's Agent Platform precedenti a Claude Opus 4.5, Claude Sonnet 4.5 e Claude Haiku 4.5 o su [distribuzioni Microsoft Foundry ospitate su Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)37* **Server MCP**: i [connettori da claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) si caricano solo quando il tuo abbonamento claude.ai è il metodo di autenticazione attivo. La [ricerca degli strumenti](/docs/it/mcp#configure-tool-search) non è supportata sulle [distribuzioni Microsoft Foundry ospitate su Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options). Su Google Cloud's Agent Platform, la ricerca degli strumenti non è supportata su modelli precedenti a Claude Opus 4.5, Claude Sonnet 4.5 e Claude Haiku 4.5

38* **Subagent**: quando la conversazione principale esegue Fable, il [subagent Explore integrato](/docs/it/sub-agents#built-in-subagents) viene eseguito su Opus con un abbonamento Claude, un account Console Anthropic o un [gateway LLM](/docs/it/llm-gateway) raggiunto tramite `ANTHROPIC_BASE_URL`. Sugli altri provider, incluso Claude Platform on AWS, viene eseguito su Fable38* **Subagent**: quando la conversazione principale esegue Fable, il [subagent Explore integrato](/docs/it/sub-agents#built-in-subagents) viene eseguito su Opus con un abbonamento Claude, un account Console Anthropic o un [gateway LLM](/docs/it/llm-gateway) raggiunto tramite `ANTHROPIC_BASE_URL`. Sugli altri provider, incluso Claude Platform on AWS, viene eseguito su Fable

39* **[Commands](/docs/it/commands#all-commands)**:39* **[Commands](/docs/it/commands#all-commands)**:

40 * `/design-sync` e `/import` con la sua forma di subcommand `claude import` non sono disponibili su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e Claude Platform on AWS, e tramite un [gateway di app Claude](/docs/it/claude-apps-gateway#availability-and-limitations)40 * `/design-sync` e `/import` con la sua forma di subcommand `claude import` non sono disponibili su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e Claude Platform on AWS, e tramite un [gateway di app Claude](/docs/it/claude-apps-gateway#availability-and-limitations)


57* [Artifacts](/docs/it/artifacts): piani Pro, Max, Team e Enterprise57* [Artifacts](/docs/it/artifacts): piani Pro, Max, Team e Enterprise

58* [Voice dictation](/docs/it/voice-dictation)58* [Voice dictation](/docs/it/voice-dictation)

59 59 

60Desktop è l'eccezione parziale: il [routing del gateway può essere configurato nell'app o da un amministratore](/docs/it/llm-gateway-connect#desktop-app), le distribuzioni Enterprise possono instradare Desktop a Google Cloud's Agent Platform o a un provider gateway tramite [impostazioni gestite](https://claude.com/docs/third-party/claude-desktop/configuration), e [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) esegue la scheda Code su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o un gateway LLM self-hosted. Per la disponibilità per piano di queste funzionalità, consulta [Disponibilità per piano di abbonamento](#availability-by-subscription-plan).60Desktop è l'eccezione parziale: il [routing del gateway può essere configurato nell'app o da un amministratore](/docs/it/llm-gateway-connect#desktop-app). [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) esegue inoltre la scheda Code su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o un gateway LLM self-hosted. Esegue anche la scheda Code sull'[API Claude](https://claude.com/docs/third-party/claude-desktop/claude-api) con una chiave API della Console Anthropic. Per la disponibilità per piano di queste funzionalità, consulta [Disponibilità per piano di abbonamento](#availability-by-subscription-plan).

61 61 

62### Funzionalità CLI che variano per provider62### Funzionalità CLI che variano per provider

63 63 


211 211 

212<sup>1</sup> Su Google Cloud's Agent Platform, la ricerca web è disponibile per Opus 4, Sonnet 4, Haiku 4.5 e i modelli successivi.\212<sup>1</sup> Su Google Cloud's Agent Platform, la ricerca web è disponibile per Opus 4, Sonnet 4, Haiku 4.5 e i modelli successivi.\

213 213 

214<sup>2</sup> Su questi provider, la modalità auto supporta solo Claude Sonnet 5 o successivi, Opus 4.7 o successivi, Haiku 5.5 e i modelli Fable. Consulta [Configurazione della modalità auto](/docs/it/auto-mode-config). Per la modalità di permesso con cui si avvia una sessione su questi provider, consulta [Con quale modalità si avvia una sessione](/docs/it/permission-modes#which-mode-a-session-starts-in).\214<sup>2</sup> Su questi provider, la modalità auto supporta solo Claude Sonnet 5 o successivi, Opus 4.7 o successivi, Haiku 5.5 e i modelli Fable. Consulta [Configurazione della modalità auto](/docs/it/auto-mode-config). Per la modalità di permesso con cui si avvia una sessione su questi provider, consulta [In quale modalità inizia una sessione](/docs/it/permission-modes#which-mode-a-session-starts-in).\

215 215 

216<sup>3</sup> Soggetto al tuo accordo con il provider cloud.\216<sup>3</sup> Soggetto al tuo accordo con il provider cloud.\

217 217 


287 287 

288Tutto in [Funzionalità CLI che variano per provider](#cli-capabilities-that-vary-by-provider) è disponibile, tranne che [fast mode](/docs/it/fast-mode) richiede [accesso provisioned](/docs/it/fast-mode#enable-fast-mode-for-your-organization). Le [server-managed settings](/docs/it/server-managed-settings) che configuri in un'organizzazione Team o Enterprise su claude.ai non raggiungono una sessione che si autentica con una chiave API della Console. Consulta [Disponibilità per piattaforma](/docs/it/server-managed-settings#platform-availability) per sapere come coprire quelle sessioni.288Tutto in [Funzionalità CLI che variano per provider](#cli-capabilities-that-vary-by-provider) è disponibile, tranne che [fast mode](/docs/it/fast-mode) richiede [accesso provisioned](/docs/it/fast-mode#enable-fast-mode-for-your-organization). Le [server-managed settings](/docs/it/server-managed-settings) che configuri in un'organizzazione Team o Enterprise su claude.ai non raggiungono una sessione che si autentica con una chiave API della Console. Consulta [Disponibilità per piattaforma](/docs/it/server-managed-settings#platform-availability) per sapere come coprire quelle sessioni.

289 289 

290**Supporto parziale:**

291 

292* [Desktop](/docs/it/desktop): tramite [Claude Desktop on 3P con l'API Claude](https://claude.com/docs/third-party/claude-desktop/claude-api)

293 

290## Disponibilità per piano di abbonamento294## Disponibilità per piano di abbonamento

291 295 

292Se ti autentichi tramite Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o una chiave API della Console Anthropic, questa sezione non si applica a te. Quando accedi con un account claude.ai, il tuo piano determina quali delle funzionalità seguenti sono disponibili.296Se ti autentichi tramite Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o una chiave API della Console Anthropic, questa sezione non si applica a te. Quando accedi con un account claude.ai, il tuo piano determina quali delle funzionalità seguenti sono disponibili.

Details

148* **Subagents** sono worker che Claude genera, ognuno restituendo un riassunto alla conversazione che li ha generati148* **Subagents** sono worker che Claude genera, ognuno restituendo un riassunto alla conversazione che li ha generati

149* **[Dynamic workflows](/docs/it/workflows)** sono script che Claude scrive che eseguono molti subagents in background e restituiscono un risultato149* **[Dynamic workflows](/docs/it/workflows)** sono script che Claude scrive che eseguono molti subagents in background e restituiscono un risultato

150 150 

151**Utilizzate un subagent** quando avete bisogno di un worker veloce e focalizzato: ricercare una domanda, verificare un'affermazione, rivedere un file. Il subagent fa il lavoro e restituisce un riassunto, quindi la vostra conversazione principale rimane pulita. I subagents che Claude ha nominato quando li ha generati possono anche [messaggiarsi l'uno con l'altro](/docs/it/sub-agents#what-loads-at-startup).151**Usa un subagent** quando hai bisogno di un worker rapido e focalizzato: approfondire una domanda, verificare un'affermazione, rivedere un file. Il subagent svolge il lavoro e restituisce un riassunto, così la tua conversazione principale rimane pulita. I subagent a cui Claude ha [assegnato un nome](/docs/it/sub-agents#subagent-names) quando li ha generati possono anche [scambiarsi messaggi](/docs/it/sub-agents#what-loads-at-startup).

152 152 

153**Utilizzate un dynamic workflow** quando un lavoro [cresce oltre una manciata di subagents](/docs/it/workflows#when-to-use-a-workflow), o quando desiderate che i risultati siano verificati incrociati prima che li vediate, come un audit a livello di codebase, una grande migrazione o un piano redatto da diversi angoli. Per avviarne uno, [chiedete un workflow nel vostro prompt](/docs/it/workflows#ask-for-a-workflow-in-your-prompt).153**Utilizzate un dynamic workflow** quando un lavoro [cresce oltre una manciata di subagents](/docs/it/workflows#when-to-use-a-workflow), o quando desiderate che i risultati siano verificati incrociati prima che li vediate, come un audit a livello di codebase, una grande migrazione o un piano redatto da diversi angoli. Per avviarne uno, [chiedete un workflow nel vostro prompt](/docs/it/workflows#ask-for-a-workflow-in-your-prompt).

154 154 

fullscreen.md +1 −0

Details

32* La [modalità di autorizzazione](/docs/it/permission-modes) e il [livello di impegno](/docs/it/model-config#adjust-effort-level)32* La [modalità di autorizzazione](/docs/it/permission-modes) e il [livello di impegno](/docs/it/model-config#adjust-effort-level)

33* Il modello selezionato per ultimo con [`/model`](/docs/it/model-config#setting-your-model)33* Il modello selezionato per ultimo con [`/model`](/docs/it/model-config#setting-your-model)

34* Le regole passate con [`--allowed-tools` o `--disallowed-tools`](/docs/it/cli-reference#cli-flags), e i flag `--agent`, `--agents`, `--append-system-prompt`, e `--system-prompt-snapshot`34* Le regole passate con [`--allowed-tools` o `--disallowed-tools`](/docs/it/cli-reference#cli-flags), e i flag `--agent`, `--agents`, `--append-system-prompt`, e `--system-prompt-snapshot`

35* Un flag `--chrome` o `--no-chrome` con cui hai avviato, in modo che l'[integrazione con Chrome](/docs/it/chrome) resti attiva o disattivata come hai scelto per questa sessione

35 36 

36Claude Code rifiuta di riavviarsi se la sessione ha una restrizione che non può passare al processo riavviato. Le restrizioni che non può passare includono:37Claude Code rifiuta di riavviarsi se la sessione ha una restrizione che non può passare al processo riavviato. Le restrizioni che non può passare includono:

37 38 

hipaa-setup.md +1 −0

Details

93| :- | :- |93| :- | :- |

94| `api.anthropic.com` | Richieste alla Claude API, telemetria e i criteri dell'organizzazione che comunicano a Claude Code che la configurazione HIPAA è attiva |94| `api.anthropic.com` | Richieste alla Claude API, telemetria e i criteri dell'organizzazione che comunicano a Claude Code che la configurazione HIPAA è attiva |

95| `claude.ai`, `claude.com`, `platform.claude.com` | Accesso e aggiornamento dei token |95| `claude.ai`, `claude.com`, `platform.claude.com` | Accesso e aggiornamento dei token |

96| `sso.claude.com` | Accesso, quando la tua organizzazione usa il single sign-on |

96| `downloads.claude.ai` | Il programma di installazione nativo e i suoi aggiornamenti |97| `downloads.claude.ai` | Il programma di installazione nativo e i suoi aggiornamenti |

97| `mcp-proxy.anthropic.com` | [Connettori da claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) |98| `mcp-proxy.anthropic.com` | [Connettori da claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) |

98 99 

hooks.md +12 −6

Details

294| `SessionStart` | come è iniziata la sessione | `startup`, `resume`, `clear`, `compact`, `fork` |294| `SessionStart` | come è iniziata la sessione | `startup`, `resume`, `clear`, `compact`, `fork` |

295| `Setup` | quale flag CLI ha attivato il setup | `init`, `maintenance` |295| `Setup` | quale flag CLI ha attivato il setup | `init`, `maintenance` |

296| `SessionEnd` | perché è terminata la sessione | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |296| `SessionEnd` | perché è terminata la sessione | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |

297| `Notification` | tipo di notifica | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled` |297| `Notification` | tipo di notifica | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled`, `plugin_notification` |

298| `SubagentStart` | tipo di agente | `general-purpose`, `Explore`, `Plan`, nomi di agenti personalizzati, o nomi con scope plugin come `^my-plugin:reviewer$` |298| `SubagentStart` | tipo di agente | `general-purpose`, `Explore`, `Plan`, nomi di agenti personalizzati, o nomi con scope plugin come `^my-plugin:reviewer$` |

299| `PreCompact`, `PostCompact` | cosa ha attivato la compattazione | `manual`, `auto` |299| `PreCompact`, `PostCompact` | cosa ha attivato la compattazione | `manual`, `auto` |

300| `PreModelSwitch`, `PostModelSwitch` | nome canonico del modello a cui la sessione passa, come descritto sotto [PreModelSwitch](#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |300| `PreModelSwitch`, `PostModelSwitch` | nome canonico del modello a cui la sessione passa, come descritto sotto [PreModelSwitch](#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |


1923 1923 

1924| Campo | Descrizione |1924| Campo | Descrizione |

1925| :- | :- |1925| :- | :- |

1926| `permissionDecision` | `"allow"` salta la richiesta di permesso, tranne per le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves) e le [letture da percorsi di rete](/docs/it/permissions#network-paths). `AskUserQuestion` ed `ExitPlanMode` richiedono [`updatedInput` abbinato a `"allow"`](#allow-with-updatedinput). Per il plan mode, consulta [Approvazioni degli hook in plan mode](/docs/it/permissions#hook-approvals-in-plan-mode). `"deny"` impedisce la chiamata allo strumento. `"ask"` chiede conferma all'utente. `"defer"` termina in modo ordinato affinché lo strumento possa essere ripreso in seguito. Le [regole di negazione e di richiesta](/docs/it/permissions#manage-permissions) vengono comunque valutate indipendentemente da ciò che restituisce l'hook |1926| `permissionDecision` | `"allow"` salta la richiesta di permesso, tranne per le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves) e le [letture da percorsi di rete](/docs/it/permissions#network-paths). `AskUserQuestion` ed `ExitPlanMode` richiedono [`updatedInput` abbinato ad `"allow"`](#allow-with-updatedinput). Per il plan mode, consulta [Approvazioni degli hook nel plan mode](/docs/it/permissions#hook-approvals-in-plan-mode). `"deny"` impedisce la chiamata allo strumento. `"ask"` chiede all'utente di confermare. `"defer"` termina il turno in modo che lo strumento possa essere ripreso in seguito, e richiede la [modalità non interattiva](#defer-a-tool-call-for-later) con il flag `-p`. Le [regole di negazione e di richiesta](/docs/it/permissions#manage-permissions) vengono comunque valutate indipendentemente da ciò che restituisce l'hook |

1927| `permissionDecisionReason` | Per `"ask"`, mostrato all'utente nella richiesta di permesso. Quando Claude Code [nega la chiamata](/docs/it/headless#turn-off-permission-prompts-in-unattended-runs) in un'esecuzione `-p` in cui nessuno può rispondere a quella richiesta, Claude legge invece il motivo nel risultato dello strumento. Per `"deny"`, mostrato a Claude. Per `"allow"` e `"defer"`, scritto solo nel [log di debug](#debug-hooks) |1927| `permissionDecisionReason` | Per `"ask"`, mostrato all'utente nella richiesta di permesso. Quando Claude Code [nega la chiamata](/docs/it/headless#turn-off-permission-prompts-in-unattended-runs) in un'esecuzione `-p` in cui nessuno può rispondere a quella richiesta, Claude legge invece il motivo nel risultato dello strumento. Per `"deny"`, mostrato a Claude. Per `"allow"` e `"defer"`, scritto solo nel [log di debug](#debug-hooks) |

1928| `updatedInput` | Modifica i parametri di input dello strumento prima dell'esecuzione. Sostituisce l'intero oggetto di input, quindi includi i campi non modificati insieme a quelli modificati. Claude Code valuta le regole di permesso e l'[idoneità al passaggio automatico in background](/docs/it/tools-reference#foreground-commands-that-move-to-the-background) di un comando Bash sull'input restituito dal tuo hook, non sull'input inviato da Claude. Combinalo con `"allow"` per approvare automaticamente, oppure con `"ask"` per mostrare all'utente l'input modificato. Per `"defer"`, ignorato |1928| `updatedInput` | Modifica i parametri di input dello strumento prima dell'esecuzione. Sostituisce l'intero oggetto di input, quindi includi i campi non modificati insieme a quelli modificati. Claude Code valuta le regole di permesso e l'[idoneità al passaggio automatico in background](/docs/it/tools-reference#foreground-commands-that-move-to-the-background) di un comando Bash sull'input restituito dal tuo hook, non sull'input inviato da Claude. Combinalo con `"allow"` per approvare automaticamente, oppure con `"ask"` per mostrare all'utente l'input modificato. Per `"defer"`, ignorato |

1929| `additionalContext` | Stringa aggiunta al contesto di Claude insieme al risultato dello strumento. Ignorata quando `permissionDecision` è `"defer"`. Consulta [Aggiungere contesto per Claude](#add-context-for-claude) |1929| `additionalContext` | Stringa aggiunta al contesto di Claude insieme al risultato dello strumento. Ignorata quando `permissionDecision` è `"defer"`. Consulta [Aggiungere contesto per Claude](#add-context-for-claude) |


1997Lo strumento `AskUserQuestion` è il caso tipico: Claude vuole chiedere qualcosa all'utente, ma non c'è un terminale in cui rispondere. Un'esecuzione `-p` offre `AskUserQuestion` solo quando ha un [host dei permessi](/docs/it/headless#turn-off-permission-prompts-in-unattended-runs), come uno strumento MCP che passi con `--permission-prompt-tool`, quindi avvia l'esecuzione con uno di essi. Il ciclo completo funziona così:1997Lo strumento `AskUserQuestion` è il caso tipico: Claude vuole chiedere qualcosa all'utente, ma non c'è un terminale in cui rispondere. Un'esecuzione `-p` offre `AskUserQuestion` solo quando ha un [host dei permessi](/docs/it/headless#turn-off-permission-prompts-in-unattended-runs), come uno strumento MCP che passi con `--permission-prompt-tool`, quindi avvia l'esecuzione con uno di essi. Il ciclo completo funziona così:

1998 1998 

19991. Claude chiama `AskUserQuestion`. L'hook `PreToolUse` si attiva.19991. Claude chiama `AskUserQuestion`. L'hook `PreToolUse` si attiva.

20002. L'hook restituisce `permissionDecision: "defer"`. Lo strumento non viene eseguito. Il processo esce con `stop_reason: "tool_deferred"` e la chiamata allo strumento in sospeso viene preservata nella trascrizione.20002. L'hook restituisce `permissionDecision: "defer"`. Lo strumento non viene eseguito. Il turno termina con un risultato che contiene `stop_reason: "tool_deferred"`, e la chiamata allo strumento in sospeso rimane nella trascrizione.

20013. Il processo chiamante legge `deferred_tool_use` dal risultato dell'SDK, presenta la domanda nella propria interfaccia utente e attende una risposta.20013. Il processo chiamante legge `deferred_tool_use` dal risultato dell'SDK, presenta la domanda nella propria interfaccia utente e attende una risposta.

20024. Il processo chiamante esegue `claude -p --resume <session-id>` con lo stesso host dei permessi. La stessa chiamata allo strumento attiva di nuovo `PreToolUse`.20024. Il processo chiamante esegue `claude -p --resume <session-id>` con lo stesso host dei permessi. La stessa chiamata allo strumento attiva di nuovo `PreToolUse`.

20035. L'hook restituisce `permissionDecision: "allow"` con la risposta in `updatedInput`. Lo strumento viene eseguito e Claude continua.20035. L'hook restituisce `permissionDecision: "allow"` con la risposta in `updatedInput`. Lo strumento viene eseguito e Claude continua.


2018}2018}

2019```2019```

2020 2020 

2021Non esiste alcun timeout né limite di nuovi tentativi. La sessione rimane su disco finché non la riprendi, fatto salvo il ciclo di pulizia per la conservazione di [`cleanupPeriodDays`](/docs/it/settings-reference#cleanupperioddays), che per impostazione predefinita elimina i file di sessione dopo 30 giorni, secondo le [regole del ciclo di pulizia](/docs/it/claude-directory#cleaned-up-automatically). Se la risposta non è pronta quando riprendi, l'hook può restituire di nuovo `"defer"` e il processo esce allo stesso modo. Il processo chiamante decide quando interrompere il ciclo restituendo infine `"allow"` o `"deny"` dall'hook.2021Non esiste alcun timeout né limite di nuovi tentativi. La sessione rimane su disco finché non la riprendi, fatta salva la pulizia periodica prevista da [`cleanupPeriodDays`](/docs/it/settings-reference#cleanupperioddays), che per impostazione predefinita elimina i file di sessione dopo 30 giorni, secondo le [regole di pulizia periodica](/docs/it/claude-directory#cleaned-up-automatically).

2022 2022 

2023`"defer"` funziona solo quando Claude effettua una singola chiamata a uno strumento nel turno. Se Claude effettua più chiamate agli strumenti contemporaneamente, `"defer"` viene ignorato con un avviso e lo strumento procede attraverso il normale flusso dei permessi. Il vincolo esiste perché la ripresa può rieseguire un solo strumento: non c'è modo di differire una chiamata di un gruppo senza lasciare le altre irrisolte.2023Se lo strumento differito non è più disponibile quando riprendi, il primo risultato della ripresa ha `stop_reason: "tool_deferred_unavailable"` e `is_error: true`, e l'hook non si attiva. Questo accade quando un server MCP che forniva lo strumento non è connesso per la sessione ripresa. Il payload `deferred_tool_use` viene comunque incluso, così puoi identificare quale strumento è venuto a mancare.

2024 

2025* **Se non hai inviato alcun prompt, né con la ripresa né dopo**, la chiamata è ancora in sospeso. Riprendi di nuovo con lo strumento disponibile e verrà eseguita per prima.

2026* **Se hai inviato un prompt, con la ripresa o dopo**, Claude Code risponde senza il risultato dello strumento ed elimina la chiamata differita. Invia un nuovo prompt quando lo strumento è disponibile, se hai ancora bisogno che venga chiamato.

2024 2027 

2025Se lo strumento differito non è più disponibile quando riprendi, il processo esce con `stop_reason: "tool_deferred_unavailable"` e `is_error: true` prima che l'hook si attivi. Questo accade quando un server MCP che forniva lo strumento non è connesso per la sessione ripresa. Il payload `deferred_tool_use` viene comunque incluso così puoi identificare quale strumento è venuto a mancare.2028Se la risposta che stai aspettando non è pronta quando riprendi senza un prompt, l'hook può restituire di nuovo `"defer"`. Se hai inviato un prompt e l'hook differisce di nuovo, Claude Code tratta il prompt allo stesso modo: risponde senza il risultato dello strumento ed elimina la chiamata. Riprendi senza prompt finché l'hook non restituisce `"allow"` o `"deny"`, che è il modo in cui il processo chiamante interrompe il ciclo.

2029 

2030`"defer"` funziona solo quando Claude effettua una singola chiamata a uno strumento nel turno. Se Claude effettua più chiamate agli strumenti contemporaneamente, `"defer"` viene ignorato con un avviso e lo strumento procede attraverso il normale flusso dei permessi. Il vincolo esiste perché la ripresa può rieseguire un solo strumento: non c'è modo di differire una chiamata di un gruppo senza lasciare le altre irrisolte.

2026 2031 

2027> [!NOTE]2032> [!NOTE]

2028>2033>


2424| `quota_auto_resume_fired` | Claude Code prosegue il tuo task dopo che un limite di utilizzo di claude.ai lo aveva messo in pausa: al ripristino, o prima quando qualcosa che fai in Claude Code durante l'attesa, come aggiungere crediti di utilizzo, eseguire l'upgrade del piano o cambiare modello, rende di nuovo disponibile l'utilizzo, con l'[eccezione relativa all'impostazione del modello](/docs/it/interactive-mode#wait-for-a-usage-limit-to-reset) |2429| `quota_auto_resume_fired` | Claude Code prosegue il tuo task dopo che un limite di utilizzo di claude.ai lo aveva messo in pausa: al ripristino, o prima quando qualcosa che fai in Claude Code durante l'attesa, come aggiungere crediti di utilizzo, eseguire l'upgrade del piano o cambiare modello, rende di nuovo disponibile l'utilizzo, con l'[eccezione relativa all'impostazione del modello](/docs/it/interactive-mode#wait-for-a-usage-limit-to-reset) |

2425| `quota_auto_resume_stale` | Un limite di utilizzo di claude.ai si è ripristinato mentre il tuo computer era in stop per più di circa 30 minuti. Claude Code attende che tu prema `Enter` invece di proseguire. Dopo uno stop più breve prosegue e attiva invece `quota_auto_resume_fired` |2430| `quota_auto_resume_stale` | Un limite di utilizzo di claude.ai si è ripristinato mentre il tuo computer era in stop per più di circa 30 minuti. Claude Code attende che tu prema `Enter` invece di proseguire. Dopo uno stop più breve prosegue e attiva invece `quota_auto_resume_fired` |

2426| `quota_auto_resume_disabled` | Claude Code termina l'attesa per un limite di utilizzo di claude.ai senza proseguire il tuo task: [`autoContinueAtUsageLimit`](/docs/it/settings-reference#autocontinueatusagelimit) è stato disattivato o il ripristino si è spostato di oltre 24 ore durante un'attesa avviata autonomamente da Claude Code, il task proseguito ha continuato a raggiungere il limite, oppure la prosecuzione è stata bloccata prima di raggiungere il modello. Non si attiva quando premi `Esc` o `Ctrl+C`, o scegli **Don't continue automatically** |2431| `quota_auto_resume_disabled` | Claude Code termina l'attesa per un limite di utilizzo di claude.ai senza proseguire il tuo task: [`autoContinueAtUsageLimit`](/docs/it/settings-reference#autocontinueatusagelimit) è stato disattivato o il ripristino si è spostato di oltre 24 ore durante un'attesa avviata autonomamente da Claude Code, il task proseguito ha continuato a raggiungere il limite, oppure la prosecuzione è stata bloccata prima di raggiungere il modello. Non si attiva quando premi `Esc` o `Ctrl+C`, o scegli **Don't continue automatically** |

2432| `plugin_notification` | Un [mod](/docs/it/plugins/mods/api#show-something-without-starting-a-turn) genera una notifica con `$.ui.notify`. Il `title` dell'hook è il nome del mod, a meno che il mod non ne abbia impostato uno |

2427 2433 

2428I tipi `quota_auto_resume_fired`, `quota_auto_resume_stale` e `quota_auto_resume_disabled` richiedono Claude Code v2.1.234 o successivo.2434I tipi `quota_auto_resume_fired`, `quota_auto_resume_stale` e `quota_auto_resume_disabled` richiedono Claude Code v2.1.234 o successivo.

2429 2435 

hooks-guide.md +4 −3

Details

177>177>

178> Se esegui Claude Code all'interno di WSL, `powershell.exe` deve essere disponibile nel tuo `PATH` tramite l'interoperabilità di Windows.178> Se esegui Claude Code all'interno di WSL, `powershell.exe` deve essere disponibile nel tuo `PATH` tramite l'interoperabilità di Windows.

179 179 

180Il matcher vuoto si attiva su tutti i tipi di notifica. Per attivarsi solo su eventi specifici, impostatelo a uno di questi valori:180Il `matcher` vuoto si attiva su tutti i tipi di notifica. Per attivarlo solo su eventi specifici, impostalo su uno di questi valori:

181 181 

182| Matcher | Si attiva quando |182| Matcher | Si attiva quando |

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


193| `quota_auto_resume_fired` | Claude Code continua il vostro compito dopo che un limite di utilizzo di claude.ai lo ha messo in pausa: al reset, o prima quando qualcosa che fate in Claude Code durante l'attesa, come aggiungere crediti di utilizzo, aggiornare il vostro piano o cambiare modelli, rende l'utilizzo disponibile di nuovo, con l'[eccezione di impostazione del modello](/docs/it/interactive-mode#wait-for-a-usage-limit-to-reset) |193| `quota_auto_resume_fired` | Claude Code continua il vostro compito dopo che un limite di utilizzo di claude.ai lo ha messo in pausa: al reset, o prima quando qualcosa che fate in Claude Code durante l'attesa, come aggiungere crediti di utilizzo, aggiornare il vostro piano o cambiare modelli, rende l'utilizzo disponibile di nuovo, con l'[eccezione di impostazione del modello](/docs/it/interactive-mode#wait-for-a-usage-limit-to-reset) |

194| `quota_auto_resume_stale` | Un limite di utilizzo di claude.ai si è resettato mentre il vostro computer dormiva per più di circa 30 minuti. Claude Code aspetta che premiate `Enter` invece di continuare. Dopo un sonno più breve continua e attiva `quota_auto_resume_fired` invece |194| `quota_auto_resume_stale` | Un limite di utilizzo di claude.ai si è resettato mentre il vostro computer dormiva per più di circa 30 minuti. Claude Code aspetta che premiate `Enter` invece di continuare. Dopo un sonno più breve continua e attiva `quota_auto_resume_fired` invece |

195| `quota_auto_resume_disabled` | Claude Code termina l'attesa per un limite di utilizzo di claude.ai senza continuare il vostro compito: [`autoContinueAtUsageLimit`](/docs/it/settings-reference#autocontinueatusagelimit) è stato disattivato o il reset si è spostato a più di 24 ore di distanza durante un'attesa che Claude Code ha avviato da solo, il compito continuato ha continuato a colpire il limite, o la continuazione è stata bloccata prima di raggiungere il modello. Non si attiva quando premete `Esc` o `Ctrl+C`, o scegliete **Don't continue automatically** |195| `quota_auto_resume_disabled` | Claude Code termina l'attesa per un limite di utilizzo di claude.ai senza continuare il vostro compito: [`autoContinueAtUsageLimit`](/docs/it/settings-reference#autocontinueatusagelimit) è stato disattivato o il reset si è spostato a più di 24 ore di distanza durante un'attesa che Claude Code ha avviato da solo, il compito continuato ha continuato a colpire il limite, o la continuazione è stata bloccata prima di raggiungere il modello. Non si attiva quando premete `Esc` o `Ctrl+C`, o scegliete **Don't continue automatically** |

196| `plugin_notification` | Un [mod](/docs/it/plugins/mods/api#show-something-without-starting-a-turn) genera una notifica con `$.ui.notify`. Il `title` dell'hook è il nome del mod, a meno che il mod non ne abbia impostato uno |

196 197 

197Claude Code cronometra `permission_prompt` diversamente in un terminale e in Claude Desktop, l'estensione VS Code e altri host che rispondono alle richieste di autorizzazione attraverso l'Agent SDK. Consultate [quando ogni tipo di notifica si attiva](/docs/it/hooks#notification) per entrambi i timing.198Claude Code cronometra `permission_prompt` diversamente in un terminale e in Claude Desktop, l'estensione VS Code e altri host che rispondono alle richieste di autorizzazione attraverso l'Agent SDK. Consultate [quando ogni tipo di notifica si attiva](/docs/it/hooks#notification) per entrambi i timing.

198 199 


632 633 

633 Per sapere cosa fa `"allow"` in plan mode, consulta [Approvazioni degli hook in plan mode](/docs/it/permissions#hook-approvals-in-plan-mode).634 Per sapere cosa fa `"allow"` in plan mode, consulta [Approvazioni degli hook in plan mode](/docs/it/permissions#hook-approvals-in-plan-mode).

634 635 

635Un 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.636Un quarto valore, `"defer"`, è disponibile in [modalità non interattiva](/docs/it/headless) con il flag `-p`. Restituirlo termina il turno mantenendo la chiamata allo strumento, in modo che un wrapper dell'Agent SDK possa raccogliere l'input e riprendere. Consulta [Rinviare una chiamata a uno strumento per dopo](/docs/it/hooks#defer-a-tool-call-for-later) nel riferimento.

636 637 

637Un hook `PreModelSwitch` restituisce lo stesso campo `permissionDecision`: `"allow"` lascia procedere un cambio di modello, e `"deny"` lo annulla. `"ask"` vi chiede di confermare il cambio quando eseguite `/model` in una sessione interattiva; in tutti gli altri casi, Claude Code tratta `"ask"` come un rifiuto. Consultate [PreModelSwitch decision control](/docs/it/hooks#premodelswitch-decision-control).638Un hook `PreModelSwitch` restituisce lo stesso campo `permissionDecision`: `"allow"` lascia procedere un cambio di modello, e `"deny"` lo annulla. `"ask"` vi chiede di confermare il cambio quando eseguite `/model` in una sessione interattiva; in tutti gli altri casi, Claude Code tratta `"ask"` come un rifiuto. Consultate [PreModelSwitch decision control](/docs/it/hooks#premodelswitch-decision-control).

638 639 


686| `SessionStart` | come è iniziata la sessione | `startup`, `resume`, `clear`, `compact`, `fork` |687| `SessionStart` | come è iniziata la sessione | `startup`, `resume`, `clear`, `compact`, `fork` |

687| `Setup` | quale flag CLI ha attivato il setup | `init`, `maintenance` |688| `Setup` | quale flag CLI ha attivato il setup | `init`, `maintenance` |

688| `SessionEnd` | perché è terminata la sessione | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |689| `SessionEnd` | perché è terminata la sessione | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |

689| `Notification` | tipo di notifica | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled` |690| `Notification` | tipo di notifica | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled`, `plugin_notification` |

690| `SubagentStart` | tipo di agente | `general-purpose`, `Explore`, `Plan`, o nomi di agenti personalizzati |691| `SubagentStart` | tipo di agente | `general-purpose`, `Explore`, `Plan`, o nomi di agenti personalizzati |

691| `PreCompact`, `PostCompact` | cosa ha attivato la compattazione | `manual`, `auto` |692| `PreCompact`, `PostCompact` | cosa ha attivato la compattazione | `manual`, `auto` |

692| `PreModelSwitch`, `PostModelSwitch` | nome canonico del modello a cui la sessione passa, come descritto sotto [PreModelSwitch](/docs/it/hooks#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |693| `PreModelSwitch`, `PostModelSwitch` | nome canonico del modello a cui la sessione passa, come descritto sotto [PreModelSwitch](/docs/it/hooks#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |

Details

18 18 

19| Scorciatoia | Descrizione | Contesto |19| Scorciatoia | Descrizione | Contesto |

20| :- | :- | :- |20| :- | :- | :- |

21| `Ctrl+C` | Interrompi, o cancella l'input | Interrompe un'operazione in esecuzione. Se nulla è in esecuzione, la prima pressione cancella l'input del prompt e una seconda pressione esce da Claude Code. Premi `Su` mentre il prompt è ancora vuoto per recuperare la bozza cancellata; questa funzione richiede Claude Code v2.1.288 o versione successiva |21| `Ctrl+C` | Interrompi, o cancella l'input | Interrompe un'operazione in esecuzione. Se nulla è in esecuzione, la prima pressione cancella l'input del prompt e una seconda pressione esce da Claude Code. Per recuperare una bozza cancellata, vedi [Recupera una bozza cancellata](#bring-back-a-cleared-draft) |

22| `Ctrl+X Ctrl+K` | Arresta tutti i [subagent in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background) in questa sessione e disattiva le [risposte automatiche degli artefatti](/docs/it/artifacts#let-claude-reply-to-comments-on-its-own) per il resto della sessione. Premi due volte entro 3 secondi per confermare. Puoi premerla anche mentre è aperta la richiesta di permesso di un subagent in background | Controllo subagent |22| `Ctrl+X Ctrl+K` | Arresta tutti i [subagent in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background) in questa sessione e disattiva le [risposte automatiche degli artefatti](/docs/it/artifacts#let-claude-reply-to-comments-on-its-own) per il resto della sessione. Premi due volte entro 3 secondi per confermare. Puoi premerla anche mentre è aperta la richiesta di permesso di un subagent in background | Controllo subagent |

23| `Ctrl+D` | Esci dalla sessione Claude Code | Il primo pressione mostra un suggerimento di conferma e un secondo pressione entro 800ms esce. Quando il prompt contiene testo, `Ctrl+D` elimina il carattere dopo il cursore invece |23| `Ctrl+D` | Esci dalla sessione Claude Code | Il primo pressione mostra un suggerimento di conferma e un secondo pressione entro 800ms esce. Quando il prompt contiene testo, `Ctrl+D` elimina il carattere dopo il cursore invece |

24| `Ctrl+G` o `Ctrl+X Ctrl+E` | Apri nell'editor di testo predefinito | Modifica il tuo prompt o la risposta personalizzata nell'editor di testo predefinito. `Ctrl+X Ctrl+E` è il binding nativo di readline. Attiva **Mostra l'ultima risposta nell'editor esterno** in `/config` per anteporre la risposta precedente di Claude come contesto commentato con `#` sopra il tuo prompt; Claude Code rimuove il blocco di commento quando salvi |24| `Ctrl+G` o `Ctrl+X Ctrl+E` | Apri nell'editor di testo predefinito | Modifica il tuo prompt o la risposta personalizzata nell'editor di testo predefinito. `Ctrl+X Ctrl+E` è il binding nativo di readline. Attiva **Mostra l'ultima risposta nell'editor esterno** in `/config` per anteporre la risposta precedente di Claude come contesto commentato con `#` sopra il tuo prompt; Claude Code rimuove il blocco di commento quando salvi |


262 262 

263La modalità visuale a blocchi con `Ctrl+V` non è supportata.263La modalità visuale a blocchi con `Ctrl+V` non è supportata.

264 264 

265### Annulla una domanda in modalità vim

266 

267Quando stai digitando la tua risposta nella riga `Other` di una [domanda che Claude ti pone](/docs/it/tools-reference#askuserquestion-tool-behavior), premi `Esc` due volte per annullare la domanda.

268 

269Per annullare invece con un solo tasto, [associa un altro tasto all'annullamento della domanda](/docs/it/keybindings#cancel-a-question-with-one-key-press).

270 

265## Cronologia dei comandi271## Cronologia dei comandi

266 272 

267Claude Code mantiene una cronologia dei prompt che digitate, e il richiamo con freccia Su raggiunge i prompt delle sessioni precedenti dello stesso progetto:273Claude Code mantiene una cronologia dei prompt che digitate, e il richiamo con freccia Su raggiunge i prompt delle sessioni precedenti dello stesso progetto:


272* Quando richiamate un prompt che includeva testo incollato, Claude Code invia di nuovo il contenuto incollato completo quando lo reinviate. Se il contenuto è stato nel frattempo [pulito](/docs/it/claude-directory#cleaned-up-automatically), Claude Code non invia la stringa letterale `[Pasted text #N]`; vedere [Incollare contenuto di grandi dimensioni](/docs/it/terminal-config#paste-large-content) per sapere cosa accade al prompt278* Quando richiamate un prompt che includeva testo incollato, Claude Code invia di nuovo il contenuto incollato completo quando lo reinviate. Se il contenuto è stato nel frattempo [pulito](/docs/it/claude-directory#cleaned-up-automatically), Claude Code non invia la stringa letterale `[Pasted text #N]`; vedere [Incollare contenuto di grandi dimensioni](/docs/it/terminal-config#paste-large-content) per sapere cosa accade al prompt

273* L'espansione della cronologia con `!` è disabilitata per impostazione predefinita279* L'espansione della cronologia con `!` è disabilitata per impostazione predefinita

274 280 

281### Recuperare una bozza cancellata

282 

283Per recuperare una bozza che hai cancellato con `Ctrl+C`, premi `Su`, subito oppure dopo aver inviato un messaggio o un comando:

284 

285* **Subito dopo aver cancellato la bozza**: premi `Su` una volta mentre il prompt è ancora vuoto. Richiede Claude Code v2.1.288 o versioni successive.

286* **Dopo aver inviato un messaggio o un comando**: premi `Su` per tornare indietro fino alla bozza. Claude Code conserva le dieci bozze cancellate più recenti per la sessione corrente, con il relativo testo incollato e le immagini, e le elimina quando esci. Richiede Claude Code v2.1.292 o versioni successive.

287 

275### Ricerca inversa con Ctrl+R288### Ricerca inversa con Ctrl+R

276 289 

277Premete `Ctrl+R` per cercare in modo interattivo nella cronologia dei comandi. Nel [rendering a schermo intero](/docs/it/fullscreen), `Ctrl+R` apre una finestra di dialogo di ricerca: digitate per filtrare, premete `Su` e `Giù` per spostarvi tra i risultati e premete `Ctrl+S` per ciclo l'ambito attraverso questa sessione, questo progetto e tutti i progetti. Premete `Invio` o `Tab` per posizionare una corrispondenza nell'input del prompt, oppure `Esc` per annullare. I passaggi seguenti descrivono la ricerca inline del renderer classico:290Premete `Ctrl+R` per cercare in modo interattivo nella cronologia dei comandi. Nel [rendering a schermo intero](/docs/it/fullscreen), `Ctrl+R` apre una finestra di dialogo di ricerca: digitate per filtrare, premete `Su` e `Giù` per spostarvi tra i risultati e premete `Ctrl+S` per ciclo l'ambito attraverso questa sessione, questo progetto e tutti i progetti. Premete `Invio` o `Tab` per posizionare una corrispondenza nell'input del prompt, oppure `Esc` per annullare. I passaggi seguenti descrivono la ricerca inline del renderer classico:


386* [`/effort`](/docs/it/model-config#adjust-effort-level): una volta confermato l'[avviso sulla cache](/docs/it/prompt-caching#changing-effort-level), se Claude Code ne mostra uno, Claude Code applica la tua modifica alla prossima richiesta che effettua in quel turno399* [`/effort`](/docs/it/model-config#adjust-effort-level): una volta confermato l'[avviso sulla cache](/docs/it/prompt-caching#changing-effort-level), se Claude Code ne mostra uno, Claude Code applica la tua modifica alla prossima richiesta che effettua in quel turno

387* [`/fast`](/docs/it/fast-mode#toggle-fast-mode): Claude Code mantiene l'impostazione della modalità veloce che era attiva quando il turno è iniziato, quindi la tua modifica della velocità si applica dal tuo turno successivo. Se il tuo modello attuale non supporta la modalità veloce, attivarla [cambia anche il tuo modello](/docs/it/prompt-caching#turning-on-fast-mode), e Claude Code utilizza il nuovo modello dalla sua prossima richiesta in quel turno400* [`/fast`](/docs/it/fast-mode#toggle-fast-mode): Claude Code mantiene l'impostazione della modalità veloce che era attiva quando il turno è iniziato, quindi la tua modifica della velocità si applica dal tuo turno successivo. Se il tuo modello attuale non supporta la modalità veloce, attivarla [cambia anche il tuo modello](/docs/it/prompt-caching#turning-on-fast-mode), e Claude Code utilizza il nuovo modello dalla sua prossima richiesta in quel turno

388 401 

402### Portare in background una sessione con messaggi in coda

403 

404Quando la sessione passa in background dopo che hai [premuto `←`](/docs/it/agent-view#switch-sessions-without-leaving-the-terminal), i messaggi che avevi accodato si spostano con essa. Claude li legge lì nell'ordine in cui li hai inviati.

405 

406I comandi e i comandi shell `!` non possono spostarsi, e nemmeno alcuni messaggi, come uno con una [selezione dell'IDE](/docs/it/vs-code#the-built-in-ide-mcp-server) allegata. Se premi `←` mentre uno di questi è in coda, la sessione rimane in primo piano e appare un avviso che inizia con `Cannot open agents`. Per portare la sessione in background, fai uscire la voce dalla coda e poi premi di nuovo `←`:

407 

408* **Comandi e comandi shell `!`**: attendi che vengano eseguiti alla fine del turno, oppure [riprendili](#take-back-what-you-queued) e svuota la casella di input. Mentre c'è qualcos'altro in coda, non puoi riprendere i comandi shell `!`, quindi attendi che vengano eseguiti.

409* **Messaggi che non possono spostarsi**: attendi che Claude li abbia letti

410 

389### Riprendere ciò che hai accodato411### Riprendere ciò che hai accodato

390 412 

391Premi `Up` dalla prima riga della casella di input per riprendere i messaggi e i comandi in coda. Claude Code li rimuove dalla coda e li inserisce nella casella di input, uno per riga, prima di qualsiasi testo che avevi digitato. Modifica il testo e premi `Enter` per accodarlo di nuovo come un'unica voce, oppure svuota la casella di input per scartarlo.413Premi `Up` dalla prima riga della casella di input per riprendere i messaggi e i comandi in coda. Claude Code li rimuove dalla coda e li inserisce nella casella di input, uno per riga, prima di qualsiasi testo che avevi digitato. Modifica il testo e premi `Enter` per accodarlo di nuovo come un'unica voce, oppure svuota la casella di input per scartarlo.

keybindings.md +23 −0

Details

446| :- | :- | :- |446| :- | :- | :- |

447| `settings:search` | / | Entra in modalità di ricerca |447| `settings:search` | / | Entra in modalità di ricerca |

448| `settings:retry` | R | Riprova a caricare i dati di utilizzo in caso di errore |448| `settings:retry` | R | Riprova a caricare i dati di utilizzo in caso di errore |

449| `settings:fixUsage` | F | Invia alla tua sessione i [consigli di `/usage`](/docs/it/costs#apply-recommendations-with-the-fix-shortcut) che Claude Code può applicare, quando il piè di pagina di `/usage` offre una correzione. Richiede v2.1.305 o successiva |

449| `select:accept` | Invio, Spazio | Modifica l'impostazione selezionata o apri il suo sottomenu |450| `select:accept` | Invio, Spazio | Modifica l'impostazione selezionata o apri il suo sottomenu |

450| `confirm:no` | Escape | Chiudi il pannello. Le modifiche sono già salvate |451| `confirm:no` | Escape | Chiudi il pannello. Le modifiche sono già salvate |

451 452 


688 689 

689Nella 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.690Nella 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.

690 691 

692### Annullare una domanda con un solo tasto

693 

694Per annullare una domanda con un solo tasto in modalità vim, associa un altro tasto a `select:cancel` nel contesto `Select`. Puoi annullare in questo modo dalla riga `Other` di una domanda in cui selezioni una sola opzione. In [modalità screen reader](/docs/it/accessibility) o in una domanda in cui puoi selezionare più opzioni, il tasto associato non annulla, quindi annulla invece con Escape.

695 

696Scegli un tasto da premere con Ctrl o Alt. Una lettera o una cifra da sola [va invece alla riga `Other`](#text-fields) e non raggiunge le tue scorciatoie da tastiera. Ad esempio, per associare `Ctrl+Q`, aggiungi questo a `~/.claude/keybindings.json`:

697 

698```json theme={null}

699{

700 "bindings": [

701 {

702 "context": "Select",

703 "bindings": {

704 "ctrl+q": "select:cancel"

705 }

706 }

707 ]

708}

709```

710 

711Dopo aver salvato il file, premi `Ctrl+Q` nella riga `Other` di una domanda in cui selezioni una sola opzione. La domanda si chiude sia che la riga sia in modalità INSERT sia in modalità NORMAL.

712 

691## Convalida713## Convalida

692 714 

693Claude Code convalida i tuoi scorciatoie da tastiera e scrive un avviso nel log di debug per:715Claude Code convalida i tuoi scorciatoie da tastiera e scrive un avviso nel log di debug per:

694 716 

695* Errori di analisi (JSON non valido o struttura non valida)717* Errori di analisi (JSON non valido o struttura non valida)

696* Modificatori scritti male, come `ctl+k`. Claude Code elimina la parte che non riconosce e applica il binding al tasto rimanente, `k` in questo esempio.718* Modificatori scritti male, come `ctl+k`. Claude Code elimina la parte che non riconosce e applica il binding al tasto rimanente, `k` in questo esempio.

719* Uno spazio accanto a `+` in una stringa di tasti, come `ctrl+ k`. Claude Code legge la stringa come un [accordo](#chords) di `ctrl+` seguito da `k`. Nessuna pressione di tasto corrisponde a `ctrl+` da solo, quindi il binding non si attiva mai. Rimuovi lo spazio.

697* Nomi di contesto non validi720* Nomi di contesto non validi

698* Valori di azione non validi, come un'azione che non è una stringa o `null`721* Valori di azione non validi, come un'azione che non è una stringa o `null`

699* Nomi di azione sconosciuti, come un errore di battitura di un'azione registrata. Claude Code salta il binding e mantiene in vigore qualsiasi binding predefinito per quel tasto.722* Nomi di azione sconosciuti, come un errore di battitura di un'azione registrata. Claude Code salta il binding e mantiene in vigore qualsiasi binding predefinito per quel tasto.

Details

93```markdown packages/api/CLAUDE.md theme={null}93```markdown packages/api/CLAUDE.md theme={null}

94Copia `.env.example` in `.env` prima di eseguire qualsiasi cosa. I test e il server dev falliscono senza di esso.94Copia `.env.example` in `.env` prima di eseguire qualsiasi cosa. I test e il server dev falliscono senza di esso.

95Scrivi le query del database con il query builder Knex. Non mettere mai stringhe SQL grezze nei gestori di route.95Scrivi le query del database con il query builder Knex. Non mettere mai stringhe SQL grezze nei gestori di route.

96Non modificare mai una migrazione dopo che è stata unita. Aggiungi una nuova migrazione invece.96Non modificare mai una migrazione dopo che ne è stato fatto il merge. Aggiungi una nuova migrazione invece.

97```97```

98 98 

99Quando avvii Claude da `packages/api/`, carica sia `packages/api/CLAUDE.md` che il root `CLAUDE.md`. Claude vede le istruzioni locali insieme alle regole a livello di repository, senza istruzioni da `packages/web/` nel contesto. Lo stesso vale per qualsiasi sottodirectory in un albero non-monorepo. Per confermare quali file sono stati caricati, esegui `/context` e controlla l'elenco sotto **Memory files**.99Quando avvii Claude da `packages/api/`, carica sia `packages/api/CLAUDE.md` che il root `CLAUDE.md`. Claude vede le istruzioni locali insieme alle regole a livello di repository, senza istruzioni da `packages/web/` nel contesto. Lo stesso vale per qualsiasi sottodirectory in un albero non-monorepo. Per confermare quali file sono stati caricati, esegui `/context` e controlla l'elenco sotto **Memory files**.


133}133}

134```134```

135 135 

136Questo salta ogni CLAUDE.md e file di regole sotto quel pacchetto. Il root `CLAUDE.md` e i pacchetti su cui lavori ancora si caricano normalmente.136Questo salta ogni CLAUDE.md e file di regole sotto quel pacchetto. Il root CLAUDE.md e i pacchetti su cui lavori ancora si caricano normalmente.

137 137 

138Questi modelli coprono altri casi comuni:138Questi modelli coprono altri casi comuni:

139 139 


141* `"**/packages/legacy-*/**"`: esclude ogni pacchetto il cui nome corrisponde al glob, incluse le regole141* `"**/packages/legacy-*/**"`: esclude ogni pacchetto il cui nome corrisponde al glob, incluse le regole

142* `"/home/user/monorepo/legacy/CLAUDE.md"`: esclude un file specifico per percorso assoluto142* `"/home/user/monorepo/legacy/CLAUDE.md"`: esclude un file specifico per percorso assoluto

143 143 

144I file CLAUDE.md della politica gestita non possono essere esclusi, quindi le istruzioni a livello di organizzazione si applicano sempre. Puoi impostare `claudeMdExcludes` a qualsiasi [ambito di impostazioni](/docs/it/settings#where-settings-live): utente, progetto, locale o gestito. Gli array si uniscono tra gli ambiti, quindi un team può impostare i valori predefiniti a livello di progetto mentre gli individui aggiungono override locali.144Puoi impostare `claudeMdExcludes` in qualsiasi [ambito di impostazioni](/docs/it/settings#where-settings-live): utente, progetto, locale o gestito. Gli array vengono combinati tramite merge tra gli ambiti, quindi un team può impostare i valori predefiniti a livello di progetto mentre i singoli aggiungono override locali. Se la tua organizzazione distribuisce un [file CLAUDE.md gestito](/docs/it/memory#deploy-organization-wide-claude-md), un modello che vi corrisponde non lo esclude, qualunque sia l'ambito che imposta il modello.

145 145 

146Per la documentazione completa dell'esclusione, vedi [Escludi file CLAUDE.md specifici](/docs/it/memory#exclude-specific-claude-md-files).146Per la documentazione completa dell'esclusione, vedi [Escludi file CLAUDE.md specifici](/docs/it/memory#exclude-specific-claude-md-files).

147 147 


349 349 

350Una diversa sottodirectory contiene diverse skills nello stesso modo: `packages/web/.claude/skills/component-patterns/` descrive le convenzioni dei componenti del frontend invece del testing. Quando Claude lavora su un file in `packages/api/`, carica la skill api-testing. Quando lavora in `packages/web/`, carica component-patterns invece. Le skills di nessuna directory si caricano durante i compiti dell'altra.350Una diversa sottodirectory contiene diverse skills nello stesso modo: `packages/web/.claude/skills/component-patterns/` descrive le convenzioni dei componenti del frontend invece del testing. Quando Claude lavora su un file in `packages/api/`, carica la skill api-testing. Quando lavora in `packages/web/`, carica component-patterns invece. Le skills di nessuna directory si caricano durante i compiti dell'altra.

351 351 

352Puoi anche limitare una skill per pattern di file invece che per posizionamento. Il [campo frontmatter `paths`](/docs/it/skills#frontmatter-reference) accetta pattern glob, e Claude carica la skill automaticamente solo quando lavora con file corrispondenti. Usalo per una skill che si trova nella `.claude/skills/` della radice del repository ma si applica solo a certi file ovunque appaiano, come una skill di migrazione del database limitata a `**/migrations/**`.352Puoi anche limitare una skill per pattern di file invece che per posizionamento. Il [campo frontmatter `paths`](/docs/it/skills#frontmatter-reference) accetta pattern glob, e Claude carica la skill automaticamente solo quando lavora con file corrispondenti. Usalo per una skill che si trova nella `.claude/skills/` della radice del repository ma si applica solo a certi file, come una skill di migrazione del database limitata a `**/migrations/**`.

353 353 

354Per ulteriori informazioni sulla creazione e organizzazione delle skills, vedi [Skills](/docs/it/skills).354Per ulteriori informazioni sulla creazione e organizzazione delle skills, vedi [Skills](/docs/it/skills).

355 355 

Details

513| `Your apiKeyHelper script is failing`, oppure `apiKeyHelper failed:` su stderr in modalità non interattiva | Il comando nell'impostazione [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) non ha prodotto una chiave utilizzabile, quindi le richieste portano una chiave segnaposto | Esegui il comando direttamente per vedere perché non riesce, e autentica di nuovo con il tuo provider di credenziali se segnala una sessione scaduta; vedi [il riferimento degli errori](/docs/it/errors#your-apikeyhelper-script-is-failing) |513| `Your apiKeyHelper script is failing`, oppure `apiKeyHelper failed:` su stderr in modalità non interattiva | Il comando nell'impostazione [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) non ha prodotto una chiave utilizzabile, quindi le richieste portano una chiave segnaposto | Esegui il comando direttamente per vedere perché non riesce, e autentica di nuovo con il tuo provider di credenziali se segnala una sessione scaduta; vedi [il riferimento degli errori](/docs/it/errors#your-apikeyhelper-script-is-failing) |

514| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` quando nulla risponde all'indirizzo, oppure `Can't reach the API server — check your internet or DNS (ENOTFOUND)` quando il nome host non si risolve, spesso dopo una pausa silenziosa mentre Claude Code [ritenta con backoff](/docs/it/errors#automatic-retries). Il codice tra parentesi varia; [Unable to connect to API](/docs/it/errors#unable-to-connect-to-api) copre i codici e la formulazione precedente | Nulla ha risposto all'URL di base: l'indirizzo è sbagliato, oppure una VPN o un firewall blocca il percorso verso il gateway | Esegui il [test curl sopra](#verify-the-connection), che non riesce immediatamente con la stessa causa, e conferma l'URL e il percorso di rete con il tuo team del gateway |514| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` quando nulla risponde all'indirizzo, oppure `Can't reach the API server — check your internet or DNS (ENOTFOUND)` quando il nome host non si risolve, spesso dopo una pausa silenziosa mentre Claude Code [ritenta con backoff](/docs/it/errors#automatic-retries). Il codice tra parentesi varia; [Unable to connect to API](/docs/it/errors#unable-to-connect-to-api) copre i codici e la formulazione precedente | Nulla ha risposto all'URL di base: l'indirizzo è sbagliato, oppure una VPN o un firewall blocca il percorso verso il gateway | Esegui il [test curl sopra](#verify-the-connection), che non riesce immediatamente con la stessa causa, e conferma l'URL e il percorso di rete con il tuo team del gateway |

515| `API returned an empty or malformed response (HTTP 200)` | Il gateway o un proxy intermedio ha restituito una risposta non API, spesso una pagina di errore HTML o di accesso | Testa con la [richiesta curl sopra](#verify-the-connection); correggi il percorso del gateway che risponde con qualcosa di diverso da una risposta API di Claude. [Il riferimento degli errori](/docs/it/errors#api-returned-an-empty-or-malformed-response) spiega il dettaglio che il messaggio segnala |515| `API returned an empty or malformed response (HTTP 200)` | Il gateway o un proxy intermedio ha restituito una risposta non API, spesso una pagina di errore HTML o di accesso | Testa con la [richiesta curl sopra](#verify-the-connection); correggi il percorso del gateway che risponde con qualcosa di diverso da una risposta API di Claude. [Il riferimento degli errori](/docs/it/errors#api-returned-an-empty-or-malformed-response) spiega il dettaglio che il messaggio segnala |

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

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

518| Errori `400` che indicano un limite di contesto o token nelle parole proprie del gateway, come `ContextWindowExceededError` o `prompt token count of N exceeds the limit of M` | Il gateway applica un contesto più piccolo della finestra nativa del modello e riscrive l'errore upstream, quindi Claude Code non lo riconosce come [errore troppo lungo](/docs/it/errors#prompt-is-too-long) e non compatta e ritenta automaticamente | Esegui `/compact` per recuperare la sessione. Per prevenirlo, imposta `CLAUDE_CODE_AUTO_COMPACT_WINDOW` al limite del gateway; Claude Code fissa il valore ad almeno 100.000 token e al massimo la finestra di contesto del modello, quindi non puoi corrispondere a un limite del gateway inferiore a 100.000, e `/compact` rimane il recupero lì. Imposta anche `CLAUDE_CODE_MAX_OUTPUT_TOKENS` al di sotto del limite di output del modello del gateway |518| Errori `400` che indicano un limite di contesto o token nelle parole proprie del gateway, come `ContextWindowExceededError` o `prompt token count of N exceeds the limit of M` | Il gateway applica un contesto più piccolo della finestra nativa del modello e riscrive l'errore upstream, quindi Claude Code non lo riconosce come [errore troppo lungo](/docs/it/errors#prompt-is-too-long) e non compatta e ritenta automaticamente | Esegui `/compact` per recuperare la sessione. Per prevenirlo, imposta `CLAUDE_CODE_AUTO_COMPACT_WINDOW` al limite del gateway; Claude Code fissa il valore ad almeno 100.000 token e al massimo la finestra di contesto del modello, quindi non puoi corrispondere a un limite del gateway inferiore a 100.000, e `/compact` rimane il recupero lì. Imposta anche `CLAUDE_CODE_MAX_OUTPUT_TOKENS` al di sotto del limite di output del modello del gateway |

519| Errori `400` su ogni richiesta, nelle parole proprie del gateway che rifiutano lo schema di input di uno strumento o il suo `pattern`, su Claude Code v2.1.265 attraverso v2.1.267 | In un rollout graduale su quelle versioni, lo schema dello [strumento Artifact](/docs/it/artifacts#availability) porta un'espressione regolare con classi di caratteri Unicode `\p{...}`. L'API Anthropic l'accetta, ma un gateway o upstream che controlla il `pattern` dello schema di ogni strumento con il suo motore regex rifiuta l'intera richiesta | Aggiorna a v2.1.268 o successivo, che non invia l'espressione regolare. Su una versione interessata, [disattiva gli artifact](/docs/it/artifacts#disable-artifacts), che rimuove lo strumento e il suo schema dalle richieste |519| Errori `400` su ogni richiesta, nelle parole proprie del gateway che rifiutano lo schema di input di uno strumento o il suo `pattern`, su Claude Code v2.1.265 attraverso v2.1.267 | In un rollout graduale su quelle versioni, lo schema dello [strumento Artifact](/docs/it/artifacts#availability) porta un'espressione regolare con classi di caratteri Unicode `\p{...}`. L'API Anthropic l'accetta, ma un gateway o upstream che controlla il `pattern` dello schema di ogni strumento con il suo motore regex rifiuta l'intera richiesta | Aggiorna a v2.1.268 o successivo, che non invia l'espressione regolare. Su una versione interessata, [disattiva gli artifact](/docs/it/artifacts#disable-artifacts), che rimuove lo strumento e il suo schema dalle richieste |

Details

100| :- | :- | :- | :- |100| :- | :- | :- | :- |

101| ID modello nelle richieste per impostazione predefinita | La forma del provider, come `us.anthropic.claude-opus-4-8` su Amazon Bedrock | ID Anthropic, come `claude-opus-4-8` | ID Anthropic |101| ID modello nelle richieste per impostazione predefinita | La forma del provider, come `us.anthropic.claude-opus-4-8` su Amazon Bedrock | ID Anthropic, come `claude-opus-4-8` | ID Anthropic |

102| Valori `anthropic-beta` inviati | Il sottoinsieme che Amazon Bedrock e Agent Platform accettano | L'insieme completo descritto in [feature pass-through](#feature-pass-through), a meno che lo sviluppatore non imposti [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | Il sottoinsieme che Amazon Bedrock e Agent Platform accettano |102| Valori `anthropic-beta` inviati | Il sottoinsieme che Amazon Bedrock e Agent Platform accettano | L'insieme completo descritto in [feature pass-through](#feature-pass-through), a meno che lo sviluppatore non imposti [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | Il sottoinsieme che Amazon Bedrock e Agent Platform accettano |

103| Campi di richiesta per un ID modello che Claude Code non riconosce, come un alias del gateway | Thinking con un budget fisso anziché ragionamento adattivo, e nessun campo di gestione dello sforzo o del contesto | Tutto ciò che i modelli Claude attuali accettano sull'API Claude, incluso il ragionamento adattivo, lo sforzo e la gestione del contesto, che un upstream Amazon Bedrock o Agent Platform può rifiutare | Uguale al formato Amazon Bedrock o Agent Platform |103| Campi di richiesta per un ID modello che Claude Code non riconosce, come un alias del gateway | Ragionamento con un budget fisso anziché ragionamento adattivo, e nessun campo di gestione dello sforzo o del contesto. Claude Code invia comunque i [messaggi di sistema a metà conversazione](#feature-pass-through) | Tutto ciò che i modelli Claude attuali accettano sull'API Claude, incluso il ragionamento adattivo, lo sforzo e la gestione del contesto, che un upstream Amazon Bedrock o Agent Platform può rifiutare | Uguale al formato Amazon Bedrock o Agent Platform |

104| [TTL della cache dei prompt](/docs/it/prompt-caching#choose-the-ttl-yourself) di un'ora quando uno sviluppatore acconsente | Richiesto attraverso il campo `ttl` in `cache_control`, senza valore beta | Richiesto attraverso il campo `ttl` più un valore `extended-cache-ttl` in `anthropic-beta`, che dovete inoltrare | Consultate la tabella [disponibilità e limitazioni](/docs/it/claude-apps-gateway#availability-and-limitations) del gateway delle app Claude |104| [TTL della cache dei prompt](/docs/it/prompt-caching#choose-the-ttl-yourself) di un'ora quando uno sviluppatore acconsente | Richiesto attraverso il campo `ttl` in `cache_control`, senza valore beta | Richiesto attraverso il campo `ttl` più un valore `extended-cache-ttl` in `anthropic-beta`, che dovete inoltrare | Consultate la tabella [disponibilità e limitazioni](/docs/it/claude-apps-gateway#availability-and-limitations) del gateway delle app Claude |

105| Modello per [attività in background](/docs/it/costs#background-token-usage) a meno che `ANTHROPIC_DEFAULT_HAIKU_MODEL` non ne fissi uno | Il modello Sonnet predefinito, o il modello principale una volta selezionato, come descrivono le pagine [Amazon Bedrock](/docs/it/amazon-bedrock#4-pin-model-versions) e [Agent Platform](/docs/it/google-vertex-ai#5-pin-model-versions) | Il modello principale, o il modello Haiku predefinito quando `ANTHROPIC_API_KEY` o `apiKeyHelper` fornisce una chiave Anthropic Console e `ANTHROPIC_AUTH_TOKEN` non è impostato | Il modello principale |105| Modello per [attività in background](/docs/it/costs#background-token-usage) a meno che `ANTHROPIC_DEFAULT_HAIKU_MODEL` non ne fissi uno | Il modello Sonnet predefinito, o il modello principale una volta selezionato, come descrivono le pagine [Amazon Bedrock](/docs/it/amazon-bedrock#4-pin-model-versions) e [Agent Platform](/docs/it/google-vertex-ai#5-pin-model-versions) | Il modello principale, o il modello Haiku predefinito quando `ANTHROPIC_API_KEY` o `apiKeyHelper` fornisce una chiave Anthropic Console e `ANTHROPIC_AUTH_TOKEN` non è impostato | Il modello principale |

106 106 


207 207 

208Claude Code tratta un gateway `ANTHROPIC_BASE_URL` come un endpoint in formato Anthropic e gli invia le intestazioni beta e i campi del corpo della richiesta che invia a `api.anthropic.com`, tranne un piccolo insieme di diagnostica e impostazioni predefinite riservate alle connessioni dirette, come l'impostazione predefinita di streaming fine degli strumenti coperta di seguito. Questo insieme varia per rilascio, quindi non dipendete dal suo contenuto.208Claude Code tratta un gateway `ANTHROPIC_BASE_URL` come un endpoint in formato Anthropic e gli invia le intestazioni beta e i campi del corpo della richiesta che invia a `api.anthropic.com`, tranne un piccolo insieme di diagnostica e impostazioni predefinite riservate alle connessioni dirette, come l'impostazione predefinita di streaming fine degli strumenti coperta di seguito. Questo insieme varia per rilascio, quindi non dipendete dal suo contenuto.

209 209 

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

211 

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

213 211 

212### Coppie di intestazione beta e campo del corpo

213 

214Le capacità che aggiungono campi del corpo li associano a un'intestazione beta, e la coppia viaggia insieme. Un gateway che rimuove l'intestazione mentre passa il corpo, o inoltra un corpo in formato Anthropic a un upstream con uno schema diverso, produce errori `400`. Quando entrambe le metà sono assenti insieme, la funzionalità si disattiva silenziosamente.

215 

216Un gateway che riscrive o redige i corpi delle richieste per l'ispezione del contenuto interrompe l'associazione allo stesso modo della rimozione, quindi ispeziona senza modificare. La tabella indica dove una funzionalità si discosta dall'associazione.

217 

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

215| :- | :- | :- | :- |219| :- | :- | :- | :- |

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

217| [Gestione del contesto](https://platform.claude.com/docs/en/build-with-claude/context-editing) | L'intestazione beta di gestione del contesto si associa al campo del corpo `context_management` | `400` con `Extra inputs are not permitted`. Comune quando un gateway accetta richieste in formato Anthropic ma le inoltra ad Amazon Bedrock | Inoltrare entrambi, oppure [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |221| [Gestione del contesto](https://platform.claude.com/docs/en/build-with-claude/context-editing) | L'intestazione beta di gestione del contesto si associa al campo del corpo `context_management` | `400` con `Extra inputs are not permitted`. Comune quando un gateway accetta richieste in formato Anthropic ma le inoltra ad Amazon Bedrock. Sulla v2.1.304 o successiva, Claude Code [riprova autonomamente senza la coppia](#automatic-retry-and-error-forwarding) | Inoltrare entrambi, oppure [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

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

219| [Campi degli strumenti](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) beta | Le intestazioni beta relative agli strumenti si associano ai campi dello schema dello strumento come `strict` e `defer_loading` | `400` che nomina il campo dello schema dello strumento non riconosciuto quando il corpo passa attraverso senza la sua intestazione | Inoltrare entrambi, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |223| [Campi degli strumenti](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) beta | Le intestazioni beta relative agli strumenti si associano ai campi dello schema dello strumento come `strict` e `defer_loading` | `400` che nomina il campo dello schema dello strumento non riconosciuto quando il corpo passa attraverso senza la sua intestazione. Per `defer_loading`, consulta [Riprovare senza la ricerca degli strumenti](#retry-without-tool-search) | Inoltrare entrambi, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

220| [Sforzo](https://platform.claude.com/docs/en/build-with-claude/effort) e [output strutturati](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Il campo del corpo `output_config` contiene le impostazioni di sforzo, formato di output strutturato e budget dei compiti; ciascuna si associa alla propria intestazione beta | `400` che nomina `output_config`, spesso `Extra inputs are not permitted`, su upstream Amazon Bedrock e Google Cloud's Agent Platform | Inoltrare il campo e le sue intestazioni insieme, oppure chiedere agli sviluppatori di impostare [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), che rimuove le impostazioni di formato e budget dei compiti ma non lo sforzo. Per rimuovere solo il formato, possono invece impostare [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](/docs/it/env-vars), che richiede la v2.1.288 o successiva |224| [Sforzo](https://platform.claude.com/docs/en/build-with-claude/effort) e [output strutturati](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Il campo del corpo `output_config` contiene le impostazioni di sforzo, formato di output strutturato e budget dei compiti; ciascuna si associa alla propria intestazione beta | `400` che nomina `output_config`, spesso `Extra inputs are not permitted`, su upstream Amazon Bedrock e Google Cloud's Agent Platform | Inoltrare il campo e le sue intestazioni insieme, oppure chiedere agli sviluppatori di impostare [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), che rimuove le impostazioni di formato e budget dei compiti ma non lo sforzo. Per rimuovere solo il formato, possono invece impostare [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](/docs/it/env-vars), che richiede la v2.1.288 o successiva |

225| Messaggi di sistema a metà conversazione | Nessuna intestazione beta. Claude Code invia parte del testo di promemoria e degli allegati come voci `role: "system"` in `messages` per Claude Opus 4.8, i modelli rilasciati dopo di esso e gli ID di modello non riconosciuti | `400` come `Unexpected role "system"` | Claude Code [riprova senza messaggi di sistema](#automatic-retry-and-error-forwarding). Per interrompere i messaggi di sistema su un alias di un modello rilasciato prima di Claude Opus 4.8, aggiungi una [voce `modelOverrides`](#settings-for-unrecognized-model-ids) alle impostazioni che distribuisci |

226| [Sforzo impostato per turno](/docs/it/prompt-caching#changing-effort-level) | Su Opus 5.5, Sonnet 5.5, Haiku 5.5 e Fable 5.1, un'intestazione beta si associa a `output_config.effort` sulle voci `role: "system"`, che si tratti di un messaggio di sistema o di una voce con contenuto vuoto | `400` con `messages.N: system content must contain at least one block` quando il tuo gateway rimuove il campo da una voce vuota | Inoltrare entrambi, oppure chiedere agli sviluppatori di impostare [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) per interrompere l'invio del campo e delle voci vuote |

221| [Prompt caching](/docs/it/prompt-caching) | Nessun accoppiamento beta. Claude Code allega marcatori `cache_control` ai blocchi `system` e alle voci `messages`, incluse le voci `role: "system"` aggiunte a metà conversazione | Nessun errore: la conversazione viene fatturata come input non memorizzato in cache ad ogni turno, visibile come `input_tokens` elevati con poca o nessuna attività di cache in `usage` | Inoltrare `cache_control` invariato ovunque appaia, e non convertire il contenuto del blocco `system` o del messaggio in stringhe semplici |227| [Prompt caching](/docs/it/prompt-caching) | Nessun accoppiamento beta. Claude Code allega marcatori `cache_control` ai blocchi `system` e alle voci `messages`, incluse le voci `role: "system"` aggiunte a metà conversazione | Nessun errore: la conversazione viene fatturata come input non memorizzato in cache ad ogni turno, visibile come `input_tokens` elevati con poca o nessuna attività di cache in `usage` | Inoltrare `cache_control` invariato ovunque appaia, e non convertire il contenuto del blocco `system` o del messaggio in stringhe semplici |

222| [Conteggio dei token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Nessun accoppiamento beta; utilizza l'endpoint `count_tokens` | Nessun errore: Claude Code ricade a una stima basata su caratteri, quindi `/context` mostra conteggi approssimativi | Esporre l'endpoint per conteggi di token esatti |228| [Conteggio dei token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Nessun accoppiamento beta; utilizza l'endpoint `count_tokens` | Nessun errore: Claude Code ricade a una stima basata su caratteri, quindi `/context` mostra conteggi approssimativi | Esporre l'endpoint per conteggi di token esatti |

223 229 


225 231 

226### Ritentativo automatico e inoltro degli errori232### Ritentativo automatico e inoltro degli errori

227 233 

228Ciò che Claude Code fa dopo un rifiuto upstream dipende da ciò che è stato rifiutato:234Quando l'upstream rifiuta una di queste capacità, Claude Code può riprovare la richiesta autonomamente con la parte rifiutata rimossa o modificata:

229 235 

230* Quando l'upstream rifiuta il campo `thinking`, un messaggio di sistema a metà conversazione, o il marcatore `cache_control` su tale messaggio, Claude Code ritenta la richiesta e disabilita la capacità rifiutata per il resto della conversazione236* Quando un `400` indica che il valore `enabled` o `adaptive` di `thinking.type` non è supportato, Claude Code riprova una volta con l'altro tipo e mantiene il campo `thinking`. Le richieste successive a quel modello mantengono il tipo cambiato finché Claude Code non esce. Prima della v2.1.121, Claude Code non riprovava, quindi [`thinking.type.enabled is not supported`](/docs/it/errors#thinking-type-enabled-is-not-supported-for-this-model) raggiungeva lo sviluppatore

237* Quando l'upstream rifiuta una voce `role: "system"` all'interno di `messages`, Claude Code riprova una volta senza quei messaggi di sistema a metà conversazione e ne riporta invece il testo nei messaggi utente. Le richieste successive nella conversazione mantengono quella forma finché lo sviluppatore non esegue `/clear` o la conversazione non viene compattata

238* Quando l'upstream rifiuta solo il marcatore `cache_control` su un messaggio di sistema a metà conversazione, Claude Code mantiene i messaggi di sistema e riprova una volta con il marcatore spostato. Il marcatore va sull'ultima voce in `messages` che non è un messaggio di sistema, in quel nuovo tentativo e nelle richieste successive finché Claude Code non esce

231* Quando l'upstream rifiuta una [thinking signature](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), incluso con un `400` il cui messaggio dice che il blocco è `bound to a different conversation`, Claude Code rimuove i blocchi di pensiero precedenti dalla richiesta, ritenta, e li mantiene fuori da ogni richiesta successiva. Le nuove risposte includono ancora il pensiero239* Quando l'upstream rifiuta una [thinking signature](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), incluso con un `400` il cui messaggio dice che il blocco è `bound to a different conversation`, Claude Code rimuove i blocchi di pensiero precedenti dalla richiesta, ritenta, e li mantiene fuori da ogni richiesta successiva. Le nuove risposte includono ancora il pensiero

232* Quando il gateway o il suo upstream rifiuta la voce dello [strumento advisor](/docs/it/advisor) in `tools` come tipo di strumento non riconosciuto, Claude Code ritenta la richiesta una volta senza quella voce e il suo valore `anthropic-beta`. Le richieste successive a quell'URL di base lasciano l'advisor fuori fino a quando Claude Code esce, e `/advisor` non è disponibile allo sviluppatore per quel tempo. Claude Code riconosce questo rifiuto da una risposta `400` o `422` il cui messaggio nomina il tipo di strumento dopo `Input tag`, come `Input tag 'advisor_20260301'`. Prima della v2.1.280, Claude Code non ritentava questo rifiuto240* Quando il gateway o il suo upstream rifiuta la voce dello [strumento advisor](/docs/it/advisor) in `tools` come tipo di strumento non riconosciuto, Claude Code ritenta la richiesta una volta senza quella voce e il suo valore `anthropic-beta`. Le richieste successive a quell'URL di base lasciano l'advisor fuori fino a quando Claude Code esce, e `/advisor` non è disponibile allo sviluppatore per quel tempo. Claude Code riconosce questo rifiuto da una risposta `400` o `422` il cui messaggio nomina il tipo di strumento dopo `Input tag`, come `Input tag 'advisor_20260301'`. Prima della v2.1.280, Claude Code non ritentava questo rifiuto

233* Quando l'upstream rifiuta `output_config.effort`, Claude Code riprova la richiesta senza lo sforzo e lo esclude dalle richieste successive a quel modello finché Claude Code non esce. Claude Code riconosce questo rifiuto da un `400` il cui messaggio nomina `output_config.effort` insieme a `Extra inputs are not permitted`, oppure dice che il modello non supporta il parametro di sforzo241* Quando l'upstream rifiuta `output_config.effort`, Claude Code riprova la richiesta senza lo sforzo e lo esclude dalle richieste successive a quel modello finché Claude Code non esce. Claude Code riconosce questo rifiuto da un `400` il cui messaggio nomina `output_config.effort` insieme a `Extra inputs are not permitted`, oppure dice che il modello non supporta il parametro di sforzo

234* Claude Code non ritenta i rifiuti di gestione del contesto o di campi dello schema dello strumento, quindi quegli errori `400` raggiungono lo sviluppatore242* Quando l'upstream rifiuta il campo `context_management` o il suo valore `anthropic-beta`, il gateway vede la richiesta ancora una volta senza di essi. Se il gateway li vede di nuovo in una richiesta successiva e l'upstream li rifiuta di nuovo, segue lo stesso nuovo tentativo. Claude Code riconosce questo rifiuto dal suo messaggio, ad esempio uno contenente `context_management: Extra inputs are not permitted`. Prima della v2.1.304, Claude Code non riprovava dopo questo rifiuto

243* Quando l'upstream rifiuta un campo beta degli strumenti diverso da `defer_loading`, come `strict`, il `400` raggiunge lo sviluppatore. Prima di ciò, il gateway può vedere di nuovo la richiesta [senza i campi della ricerca degli strumenti](#retry-without-tool-search). Per smettere di inviare tali campi, chiedi agli sviluppatori di impostare [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities)

235 244 

236Il rifiuto `bound to a different conversation` proviene dal controllo [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) dell'API, che fallisce quando il contenuto di `system`, `tools`, o precedenti `messages` differisce dalla richiesta che ha prodotto il pensiero. Un gateway che riscrive uno qualsiasi di quel contenuto può causare il rifiuto stesso; [Libraries, proxies, and gateways](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways) copre ciò che passare attraverso invariato.245Il rifiuto `bound to a different conversation` proviene dal controllo [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) dell'API, che fallisce quando il contenuto di `system`, `tools`, o precedenti `messages` differisce dalla richiesta che ha prodotto il pensiero. Un gateway che riscrive uno qualsiasi di quel contenuto può causare il rifiuto stesso; [Libraries, proxies, and gateways](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways) copre ciò che passare attraverso invariato.

237 246 

238La logica di ritentativo corrisponde alla formulazione dell'errore dell'upstream, quindi inoltrare i corpi della risposta di errore invariati. Un gateway che avvolge gli errori upstream nel suo involucro interrompe il percorso di recupero, anche quando preserva il codice di stato, a meno che il messaggio dell'involucro non contenga un token `capability_rejected:` stabile. [Il gateway delle app Claude sostituisce questi token per la formulazione degli errori dei provider cloud](/docs/it/claude-apps-gateway-config#upstream-error-messages), ad esempio `capability_rejected: prompt_too_long`.247La maggior parte di questa logica dei nuovi tentativi si basa sulla formulazione dell'errore dell'upstream, quindi inoltra i corpi delle risposte di errore senza modificarli. Un gateway che avvolge gli errori upstream nel proprio involucro interrompe il percorso di recupero, anche quando preserva il codice di stato, a meno che il messaggio dell'involucro non contenga un token `capability_rejected:` stabile. [Il gateway delle app Claude sostituisce questi token alla formulazione degli errori dei provider cloud](/docs/it/claude-apps-gateway-config#upstream-error-messages), ad esempio `capability_rejected: prompt_too_long`.

248 

249#### Riprovare senza la ricerca degli strumenti

250 

251Sulla v2.1.305 o successiva, una richiesta che contiene [campi `defer_loading` e blocchi `tool_reference`](/docs/it/mcp#tool-search-through-a-gateway) può arrivare di nuovo senza di essi dopo un `400` o `422` la cui causa Claude Code non riconosce. Dopo un nuovo tentativo riuscito, anche le richieste successive li omettono.

252 

253Le richieste dello sviluppatore continuano a funzionare senza alcuna modifica al gateway, con i loro strumenti MCP caricati subito. Claude Code riprova la ricerca degli strumenti in seguito, quindi il gateway può vedere un'altra richiesta rifiutata seguita dal relativo nuovo tentativo. Per escludere i campi da ogni richiesta, chiedi agli sviluppatori di impostare `ENABLE_TOOL_SEARCH=false`. Per la ricerca degli strumenti in sé, Claude Code si aspetta che il gateway inoltri i campi `defer_loading` e i blocchi `tool_reference` con il loro valore `anthropic-beta`.

239 254 

240### Disabilitare le capacità pre-release255### Disabilitare le capacità pre-release

241 256 


250La variabile non rimuove tutti i valori `anthropic-beta`. Ciò che lascia invariato include:265La variabile non rimuove tutti i valori `anthropic-beta`. Ciò che lascia invariato include:

251 266 

252* I valori `anthropic-beta` per contesto esteso, ragionamento interleaved e sforzo, che anche i provider cloud accettano267* I valori `anthropic-beta` per contesto esteso, ragionamento interleaved e sforzo, che anche i provider cloud accettano

253* Il campo `output_config.effort`. [Nuovi tentativi automatici e inoltro degli errori](#automatic-retry-and-error-forwarding) tratta il caso di un upstream che lo rifiuta268* Il campo `output_config.effort` di primo livello. [Nuovi tentativi automatici e inoltro degli errori](#automatic-retry-and-error-forwarding) tratta il caso di un upstream che lo rifiuta

254* Il campo `thinking` del ragionamento adattivo, che non ha un'intestazione beta269* Il campo `thinking` del ragionamento adattivo, che non ha un'intestazione beta

270* Le voci `role: "system"` che contengono i [messaggi di sistema a metà conversazione](#feature-pass-through)

255* Il valore `anthropic-beta` OAuth richiesto dall'autenticazione tramite abbonamento271* Il valore `anthropic-beta` OAuth richiesto dall'autenticazione tramite abbonamento

256* I valori di intestazione e i campi del corpo che gli sviluppatori aggiungono autonomamente tramite [`ANTHROPIC_BETAS`](/docs/it/env-vars) o [`CLAUDE_CODE_EXTRA_BODY`](/docs/it/env-vars)272* I valori di intestazione e i campi del corpo che gli sviluppatori aggiungono autonomamente tramite [`ANTHROPIC_BETAS`](/docs/it/env-vars) o [`CLAUDE_CODE_EXTRA_BODY`](/docs/it/env-vars)

257 273 

Details

86 * **In una sandbox VM completa**: quando la tua configurazione gestita di Claude Desktop imposta [`requireCoworkFullVmSandbox`](https://claude.com/docs/third-party/claude-desktop/configuration#requirecoworkfullvmsandbox), Claude Code viene eseguito all'interno di una macchina virtuale dove la policy MDM del dispositivo e il file di impostazioni gestite non sono presenti.86 * **In una sandbox VM completa**: quando la tua configurazione gestita di Claude Desktop imposta [`requireCoworkFullVmSandbox`](https://claude.com/docs/third-party/claude-desktop/configuration#requirecoworkfullvmsandbox), Claude Code viene eseguito all'interno di una macchina virtuale dove la policy MDM del dispositivo e il file di impostazioni gestite non sono presenti.

87 * **Remote Cowork sessions**: queste vengono eseguite su VM gestite da Anthropic, dove Claude Code non ha policy del dispositivo da leggere.87 * **Remote Cowork sessions**: queste vengono eseguite su VM gestite da Anthropic, dove Claude Code non ha policy del dispositivo da leggere.

88 88 

89 Ovunque la sessione venga eseguita, claude.ai applica gli elenchi [`strictKnownMarketplaces`](/docs/it/settings-reference#strictknownmarketplaces) e [`blockedMarketplaces`](/docs/it/settings-reference#blockedmarketplaces) della console admin stessa quando chiunque aggiunge un marketplace da un repository git su claude.ai o da **Customize** nella scheda Cowork. [How restrictions work](/docs/it/plugins/org#restrict-what-users-can-install) descrive quel controllo. La tabella [surface coverage](/docs/it/model-config#surface-coverage) confronta Cowork con le altre surface.89 Ovunque la sessione venga eseguita, claude.ai applica gli elenchi [`strictKnownMarketplaces`](/docs/it/settings-reference#strictknownmarketplaces) e [`blockedMarketplaces`](/docs/it/settings-reference#blockedmarketplaces) della console di amministrazione stessa quando chiunque aggiunge un marketplace da un repository git su claude.ai o da **Customize** in Cowork. [How restrictions work](/docs/it/plugins/org#restrict-what-users-can-install) descrive quel controllo. La tabella [surface coverage](/docs/it/model-config#surface-coverage) confronta Cowork con le altre superfici.

90* **Running sessions**: la maggior parte dei cambiamenti raggiunge una sessione in esecuzione secondo la pianificazione nella [tabella del meccanismo di consegna](#choose-a-delivery-mechanism), senza un riavvio.90* **Running sessions**: la maggior parte dei cambiamenti raggiunge una sessione in esecuzione secondo la pianificazione nella [tabella del meccanismo di consegna](#choose-a-delivery-mechanism), senza un riavvio.

91 * I cambiamenti a [`forceRemoteSettingsRefresh`](/docs/it/settings-reference#forceremotesettingsrefresh), [`requiredMinimumVersion`](/docs/it/settings-reference#requiredminimumversion), e [alcune chiavi modificabili dall'utente](/docs/it/settings#when-edits-take-effect) hanno effetto al prossimo avvio della sessione.91 * I cambiamenti a [`forceRemoteSettingsRefresh`](/docs/it/settings-reference#forceremotesettingsrefresh), [`requiredMinimumVersion`](/docs/it/settings-reference#requiredminimumversion), e [alcune chiavi modificabili dall'utente](/docs/it/settings#when-edits-take-effect) hanno effetto al prossimo avvio della sessione.

92 * Una voce [`policyHelper`](/docs/it/settings-reference#policyhelper) nuova o modificata ha effetto al prossimo avvio. Se le impostazioni server-managed oscurano l'helper a quell'avvio, l'helper viene eseguito non appena un fetch segnala che quelle impostazioni sono state rimosse.92 * Una voce [`policyHelper`](/docs/it/settings-reference#policyhelper) nuova o modificata ha effetto al prossimo avvio. Se le impostazioni server-managed oscurano l'helper a quell'avvio, l'helper viene eseguito non appena un fetch segnala che quelle impostazioni sono state rimosse.

mcp.md +187 −163

Details

58 58 

59Claude ti chiede informazioni sul tuo caso d'uso e scaffolda un server HTTP remoto o un server stdio locale.59Claude ti chiede informazioni sul tuo caso d'uso e scaffolda un server HTTP remoto o un server stdio locale.

60 60 

61## Installazione di server MCP61## Installare i server MCP

62 62 

63I server MCP possono essere configurati in diversi modi a seconda delle tue esigenze:63I server MCP possono essere configurati in diversi modi a seconda delle tue esigenze:

64 64 

65### Opzione 1: Aggiungere un server HTTP remoto65### Opzione 1: aggiungere un server HTTP remoto

66 66 

67I server HTTP sono l'opzione consigliata per connettersi a server MCP remoti. Questo è il trasporto più ampiamente supportato per i servizi basati su cloud.67I server HTTP sono l'opzione consigliata per connettersi a server MCP remoti. È il trasporto più ampiamente supportato per i servizi basati su cloud.

68 68 

69```bash theme={null}69```bash theme={null}

70# Sintassi di base70# Basic syntax

71claude mcp add --transport http <name> <url>71claude mcp add --transport http <name> <url>

72 72 

73# Esempio reale: Connessione a Notion73# Real example: Connect to Notion

74claude mcp add --transport http notion https://mcp.notion.com/mcp74claude mcp add --transport http notion https://mcp.notion.com/mcp

75 75 

76# Esempio con token Bearer76# Example with Bearer token

77claude mcp add --transport http secure-api https://api.example.com/mcp \77claude mcp add --transport http secure-api https://api.example.com/mcp \

78 --header "Authorization: Bearer your-token"78 --header "Authorization: Bearer your-token"

79```79```

80 80 

81Quando si configurano server MCP tramite JSON in `.mcp.json`, `~/.claude.json`, o `claude mcp add-json`, il campo `type` accetta `streamable-http` come alias per `http`. La specifica MCP utilizza il nome `streamable-http` per questo trasporto, quindi le configurazioni copiate dalla documentazione del server funzionano senza modifiche.81Quando configuri i server MCP tramite JSON in `.mcp.json`, `~/.claude.json` o `claude mcp add-json`, il campo `type` accetta `streamable-http` come alias di `http`. La specifica MCP usa il nome `streamable-http` per questo trasporto, quindi le configurazioni copiate dalla documentazione del server funzionano senza modifiche.

82 82 

83Una voce JSON che ha un `url` ma nessun `type` è un errore di configurazione, perché Claude Code legge una voce senza `type` come server stdio. Claude Code salta quel server e segnala `MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry`.83Una voce JSON che ha un `url` ma nessun `type` è un errore di configurazione, perché Claude Code legge una voce senza `type` come un server stdio. Claude Code salta quel server e segnala `MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry`.

84 84 

85Solo un'applicazione host SDK, come un'applicazione [Agent SDK](/docs/it/agent-sdk/mcp) o l'[app desktop](/docs/it/desktop), può registrare un server in-process `"type": "sdk"`. Claude Code salta una voce `"type": "sdk"` in `.mcp.json`, `~/.claude.json`, o nelle impostazioni e segnala `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`.85Solo un'applicazione host dell'SDK, come un'applicazione [Agent SDK](/docs/it/agent-sdk/mcp) o l'[app desktop](/docs/it/desktop), può registrare un server in-process `"type": "sdk"`. Claude Code salta una voce `"type": "sdk"` in `.mcp.json`, `~/.claude.json` o nelle impostazioni e segnala `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`.

86 86 

87Nelle esecuzioni `--output-format stream-json`, Claude Code segnala anche una voce `--mcp-config` saltata nel [campo `mcp_server_errors`](/docs/it/headless#stream-responses) dell'evento `system/init`, in modo che gli script possano rilevare che il server non è mai stato caricato. Questo richiede Claude Code v2.1.219 o successivo.87Nelle esecuzioni con `--output-format stream-json`, Claude Code segnala anche una voce `--mcp-config` saltata nel [campo `mcp_server_errors`](/docs/it/headless#stream-responses) dell'evento `system/init`, così gli script possono rilevare che il server non è mai stato caricato. Questo richiede Claude Code v2.1.219 o successiva.

88 88 

89### Opzione 2: Aggiungere un server SSE remoto89### Opzione 2: aggiungere un server SSE remoto

90 90 

91> [!WARNING]91> [!WARNING]

92>92>

93> Il trasporto SSE (Server-Sent Events) è deprecato. Utilizza invece i server HTTP, dove disponibili.93> Il trasporto SSE (Server-Sent Events) è deprecato. Usa invece i server HTTP, dove disponibili.

94 94 

95Alcuni servizi espongono ancora solo un endpoint SSE. Aggiungili con lo stesso comando `claude mcp add --transport http <name> <url>` di [un server HTTP](#option-1-add-a-remote-http-server). Claude Code prova prima il trasporto HTTP e passa a SSE quando il server non lo accetta. Il passaggio automatico richiede Claude Code v2.1.265 o successivo.95Alcuni servizi espongono ancora solo un endpoint SSE. Aggiungili con lo stesso comando `claude mcp add --transport http <name> <url>` usato per [un server HTTP](#option-1-add-a-remote-http-server). Claude Code prova prima il trasporto HTTP e passa a SSE quando il server non lo accetta. Il passaggio automatico richiede Claude Code v2.1.265 o successiva.

96 96 

97Su una versione precedente, o per connetterti direttamente tramite SSE, passa invece `--transport sse`:97In una versione precedente, o per connetterti direttamente tramite SSE, passa invece `--transport sse`:

98 98 

99```bash theme={null}99```bash theme={null}

100# Sintassi di base100# Basic syntax

101claude mcp add --transport sse <name> <url>101claude mcp add --transport sse <name> <url>

102 102 

103# Esempio reale: Connessione ad Asana103# Real example: Connect to Asana

104claude mcp add --transport sse asana https://mcp.asana.com/sse104claude mcp add --transport sse asana https://mcp.asana.com/sse

105 105 

106# Esempio con intestazione di autenticazione106# Example with authentication header

107claude mcp add --transport sse private-api https://api.company.com/sse \107claude mcp add --transport sse private-api https://api.company.com/sse \

108 --header "X-API-Key: your-key-here"108 --header "X-API-Key: your-key-here"

109```109```

110 110 

111### Opzione 3: Aggiungere un server stdio locale111### Opzione 3: aggiungere un server stdio locale

112 112 

113I server stdio vengono eseguiti come processi locali sulla tua macchina. Sono ideali per strumenti che necessitano di accesso diretto al sistema o script personalizzati.113I server stdio vengono eseguiti come processi locali sulla tua macchina. Sono ideali per strumenti che richiedono accesso diretto al sistema o per script personalizzati.

114 114 

115Claude Code imposta `CLAUDE_PROJECT_DIR` nell'ambiente del server avviato sulla radice del progetto, in modo che il tuo server possa risolvere i percorsi relativi al progetto senza dipendere dalla directory di lavoro. Questa è la stessa directory che gli hook ricevono nella loro variabile `CLAUDE_PROJECT_DIR`. Leggila dall'interno del processo del tuo server, ad esempio `process.env.CLAUDE_PROJECT_DIR` in Node o `os.environ["CLAUDE_PROJECT_DIR"]` in Python.115Claude Code imposta `CLAUDE_PROJECT_DIR` nell'ambiente del server avviato sulla radice del progetto, così il tuo server può risolvere i percorsi relativi al progetto senza dipendere dalla directory di lavoro. È la stessa directory che gli hook ricevono nella loro variabile `CLAUDE_PROJECT_DIR`. Leggila dall'interno del processo del tuo server, ad esempio `process.env.CLAUDE_PROJECT_DIR` in Node o `os.environ["CLAUDE_PROJECT_DIR"]` in Python.

116 116 

117`CLAUDE_PROJECT_DIR` è la radice stabile del progetto e non cambia quando aggiungi o rimuovi directory di lavoro a metà sessione. Un server che limita il proprio accesso al file system a un insieme di directory consentite dovrebbe invece implementare la richiesta MCP `roots/list`. Claude Code risponde a `roots/list` con la directory di avvio della sessione più ogni [directory di lavoro aggiuntiva](/docs/it/permissions#working-directories) che hai concesso con `--add-dir`, `/add-dir`, o l'impostazione `additionalDirectories`. Claude Code invia `notifications/roots/list_changed` quando quell'insieme cambia.117`CLAUDE_PROJECT_DIR` è la radice stabile del progetto e non cambia quando aggiungi o rimuovi directory di lavoro a metà sessione. Un server che limita il proprio accesso al filesystem a un insieme di directory consentite dovrebbe invece implementare la richiesta MCP `roots/list`. Claude Code risponde a `roots/list` con la directory di avvio della sessione più ogni [directory di lavoro aggiuntiva](/docs/it/permissions#working-directories) che hai concesso con `--add-dir`, `/add-dir` o l'impostazione `additionalDirectories`. Claude Code invia `notifications/roots/list_changed` quando quell'insieme cambia.

118 118 

119Questa variabile è impostata nell'ambiente del server, non nell'ambiente di Claude Code stesso, quindi farvi riferimento tramite l'espansione `${VAR}` nel `command` o negli `args` di una voce `.mcp.json` con ambito di progetto o di una voce server con ambito locale o utente in `~/.claude.json` richiede un valore predefinito come `${CLAUDE_PROJECT_DIR:-.}`. Le configurazioni MCP fornite da plugin sostituiscono `${CLAUDE_PROJECT_DIR}` direttamente e non hanno bisogno del valore predefinito.119Questa variabile è impostata nell'ambiente del server, non nell'ambiente di Claude Code stesso, quindi fare riferimento a essa tramite espansione `${VAR}` nel `command` o negli `args` di una voce `.mcp.json` con ambito di progetto o di una voce di server con ambito locale o utente in `~/.claude.json` richiede un valore predefinito come `${CLAUDE_PROJECT_DIR:-.}`. Le configurazioni MCP fornite dai plugin sostituiscono `${CLAUDE_PROJECT_DIR}` direttamente e non hanno bisogno del valore predefinito.

120 120 

121```bash theme={null}121```bash theme={null}

122# Sintassi di base122# Basic syntax

123claude mcp add [options] <name> -- <command> [args...]123claude mcp add [options] <name> -- <command> [args...]

124 124 

125# Esempio reale: Aggiungere server Airtable125# Real example: Add Airtable server

126claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \126claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \

127 -- npx -y airtable-mcp-server127 -- npx -y airtable-mcp-server

128```128```

129 129 

130> [!NOTE]130> [!NOTE]

131>131>

132> Per i server stdio, il `--` (doppio trattino) separa le opzioni di Claude, come `--transport`, `--env`, e `--scope`, dal comando e dagli argomenti che eseguono il server. Tutto ciò che viene dopo `--` viene passato al server senza modifiche.132> Per i server stdio, il `--` (doppio trattino) separa le opzioni proprie di Claude, come `--transport`, `--env` e `--scope`, dal comando e dagli argomenti che eseguono il server. Tutto ciò che segue `--` viene passato al server senza modifiche.

133>133>

134> Ad esempio:134> Ad esempio:

135>135>

136> * `claude mcp add --transport stdio myserver -- npx server` → esegue `npx server`136> * `claude mcp add --transport stdio myserver -- npx server` → esegue `npx server`

137> * `claude mcp add --env KEY=value --transport stdio myserver -- python server.py --port 8080` → esegue `python server.py --port 8080` con `KEY=value` nell'ambiente137> * `claude mcp add --env KEY=value --transport stdio myserver -- python server.py --port 8080` → esegue `python server.py --port 8080` con `KEY=value` nell'ambiente

138>138>

139> Senza `--`, Claude Code cercherebbe di analizzare i flag del server, come `--port` sopra, come proprie opzioni.139> Senza `--`, Claude Code proverebbe ad analizzare i flag del server, come `--port` qui sopra, come se fossero opzioni proprie.

140>140>

141> `--env` accetta più coppie `KEY=value`. Se il nome del server viene direttamente dopo `--env`, la CLI legge il nome come un'altra coppia e lo rifiuta, quindi posiziona almeno un'altra opzione, come `--transport stdio`, tra `--env` e il nome del server.141> `--env` accetta più coppie `KEY=value`. Se il nome del server segue direttamente `--env`, la CLI legge il nome come un'altra coppia e lo rifiuta, quindi inserisci almeno un'altra opzione, come `--transport stdio`, tra `--env` e il nome del server.

142 142 

143#### Come Claude Code arresta un server stdio143#### Come Claude Code arresta un server stdio

144 144 

145Quando Claude Code disconnette un server stdio, ad esempio al termine della tua sessione, invia un segnale al processo del server e attende brevemente che termini prima di forzarne l'arresto. Se il tuo server salva lo stato o rimuove i file di lock all'arresto, gestisci il segnale per la tua piattaforma e completa le operazioni entro quel tempo:145Quando Claude Code disconnette un server stdio, ad esempio quando la tua sessione termina, invia un segnale al processo del server e attende brevemente che termini prima di forzarne l'arresto. Se il tuo server salva lo stato o rimuove file di lock all'arresto, gestisci il segnale per la tua piattaforma e completa le operazioni entro quel tempo:

146 146 

147* **Su macOS e Linux**: Claude Code invia `SIGINT`, poi `SIGTERM` se il processo è ancora in esecuzione 100 millisecondi dopo, poi `SIGKILL` dopo altri 400 millisecondi.147* **Su macOS e Linux**: Claude Code invia `SIGINT`, poi `SIGTERM` se il processo è ancora in esecuzione 100 millisecondi dopo, poi `SIGKILL` dopo ulteriori 400 millisecondi.

148* **Su Windows**: Claude Code chiude lo stdin del server, poi termina l'albero dei processi del server se il processo è ancora in esecuzione 300 millisecondi dopo.148* **Su Windows**: Claude Code chiude lo stdin del server, poi termina l'albero dei processi del server se il processo è ancora in esecuzione 300 millisecondi dopo.

149 149 

150Prima della v2.1.296, Claude Code su Windows terminava subito l'albero dei processi del server, senza chiudere prima lo stdin né attendere.150Prima della v2.1.296, Claude Code su Windows terminava subito l'albero dei processi del server, senza prima chiudere lo stdin né attendere.

151 151 

152### Opzione 4: Aggiungere un server WebSocket remoto152### Opzione 4: aggiungere un server WebSocket remoto

153 153 

154I server WebSocket mantengono una connessione bidirezionale persistente, adatta ai server MCP remoti che inviano eventi a Claude senza sollecitazione. Utilizza invece HTTP quando il tuo server risponde solo alle richieste, poiché HTTP supporta OAuth e il flag `claude mcp add --transport`, mentre WebSocket non supporta nessuno dei due.154I server WebSocket mantengono una connessione bidirezionale persistente, adatta ai server MCP remoti che inviano eventi a Claude senza che venga richiesto. Usa invece HTTP quando il tuo server risponde solo alle richieste, poiché HTTP supporta OAuth e il flag `claude mcp add --transport`, mentre WebSocket non supporta nessuno dei due.

155 155 

156Configura i server WebSocket in `.mcp.json` o con `claude mcp add-json`:156Configura i server WebSocket in `.mcp.json` o con `claude mcp add-json`:

157 157 


160 '{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'160 '{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'

161```161```

162 162 

163La voce `type: "ws"` accetta gli stessi campi `url`, `headers`, `headersHelper`, `timeout`, e `alwaysLoad` di `http`. L'autenticazione avviene solo tramite intestazione, quindi passa un token statico in `headers` o generane uno al momento della connessione con [`headersHelper`](#use-dynamic-headers-for-custom-authentication). Il flag `claude mcp add --transport` non accetta `ws`.163La voce `type: "ws"` accetta gli stessi campi `url`, `headers`, `headersHelper`, `timeout` e `alwaysLoad` di `http`. L'autenticazione avviene solo tramite header, quindi passa un token statico in `headers` o generane uno al momento della connessione con [`headersHelper`](#use-dynamic-headers-for-custom-authentication). Il flag `claude mcp add --transport` non accetta `ws`.

164 164 

165### Aggiungere un server da istruzioni di configurazione scritte per un altro client165### Aggiungere un server da istruzioni di configurazione scritte per un altro client

166 166 

167I server MCP non sono specifici di Claude Code, quindi le istruzioni di configurazione di un server potrebbero essere scritte per Claude Desktop, Cursor, o un altro client MCP e non fornire alcun comando `claude mcp add`. Per aggiungere comunque il server, cerca in quelle istruzioni un URL, un comando di avvio, o un blocco JSON:167I server MCP non sono specifici di Claude Code, quindi le istruzioni di configurazione di un server potrebbero essere scritte per Claude Desktop, Cursor o un altro client MCP e non fornire alcun comando `claude mcp add`. Per aggiungere comunque il server, cerca in quelle istruzioni un URL, un comando di avvio o un blocco JSON:

168 168 

169* **Un URL** come `https://mcp.example.com/mcp`: il server è remoto.169* **Un URL** come `https://mcp.example.com/mcp`: il server è remoto.

170* **Un comando di avvio** come `npx -y @example/mcp-server`: il server viene eseguito sulla tua macchina.170* **Un comando di avvio** come `npx -y @example/mcp-server`: il server viene eseguito sulla tua macchina.

171* **Un blocco JSON `mcpServers`**: configurazione scritta per il file di impostazioni di un altro client.171* **Un blocco JSON `mcpServers`**: configurazione scritta per il file delle impostazioni di un altro client.

172 172 

173Ognuno di questi è uno degli input che le quattro opzioni in [Installazione di server MCP](#installing-mcp-servers) accettano. Trova di seguito la forma che hai per trasformarla nel comando che Claude Code accetta. Ogni comando scrive nell'[ambito locale](#local-scope) a meno che tu non aggiunga `--scope project` o `--scope user`.173Ciascuno è uno degli input accettati dalle quattro opzioni in [Installare i server MCP](#installing-mcp-servers). Trova qui sotto la forma che hai per trasformarla nel comando accettato da Claude Code. Ogni comando scrive nell'[ambito locale](#local-scope) a meno che tu non aggiunga `--scope project` o `--scope user`.

174 174 

175#### Aggiungere un server da un URL175#### Aggiungere un server da un URL

176 176 

177Un URL significa che il server è remoto. Per un endpoint `https://`, aggiungilo con `--transport http`, o segui l'[Opzione 2](#option-2-add-a-remote-sse-server) quando le istruzioni dicono che l'endpoint utilizza SSE. Per un endpoint `wss://`, utilizza invece l'[Opzione 4](#option-4-add-a-remote-websocket-server), poiché `--transport` non accetta `ws`:177Un URL significa che il server è remoto. Per un endpoint `https://`, aggiungilo con `--transport http`, oppure segui l'[Opzione 2](#option-2-add-a-remote-sse-server) quando le istruzioni indicano che l'endpoint usa SSE. Per un endpoint `wss://`, usa invece l'[Opzione 4](#option-4-add-a-remote-websocket-server), poiché `--transport` non accetta `ws`:

178 178 

179```bash theme={null}179```bash theme={null}

180claude mcp add --transport http example https://mcp.example.com/mcp180claude mcp add --transport http example https://mcp.example.com/mcp

181```181```

182 182 

183Se le istruzioni forniscono anche una chiave API o un'intestazione di token, passala con `--header` come mostrato nell'[Opzione 1](#option-1-add-a-remote-http-server).183Se le istruzioni forniscono anche una chiave API o un header con un token, passalo con `--header` come mostrato nell'[Opzione 1](#option-1-add-a-remote-http-server).

184 184 

185#### Aggiungere un server da un comando `npx`, `uvx`, o binario185#### Aggiungere un server da un comando `npx`, `uvx` o binario

186 186 

187Un comando di avvio significa che il server viene eseguito come processo stdio locale. Metti l'intero comando dopo `--`, in modo che Claude Code passi flag come `-y` al comando che avvia il server invece di leggerli come proprie opzioni. Passa tutte le variabili d'ambiente che le istruzioni richiedono con `--env`, dopo il nome del server e prima di `--`:187Un comando di avvio significa che il server viene eseguito come processo stdio locale. Inserisci l'intero comando dopo `--`, così Claude Code passa flag come `-y` al comando che avvia il server invece di leggerli come opzioni proprie. Passa le eventuali variabili d'ambiente richieste dalle istruzioni con `--env`, dopo il nome del server e prima di `--`:

188 188 

189```bash theme={null}189```bash theme={null}

190claude mcp add example --env API_KEY=your-key -- npx -y @example/mcp-server190claude mcp add example --env API_KEY=your-key -- npx -y @example/mcp-server


194 194 

195#### Aggiungere un server da un blocco JSON `mcpServers`195#### Aggiungere un server da un blocco JSON `mcpServers`

196 196 

197Un blocco `mcpServers` scritto per un altro client MCP, come Claude Desktop, utilizza la chiave wrapper e la forma di voce che Claude Code legge. Passa a `claude mcp add-json` l'oggetto all'interno di `mcpServers`, non il wrapper. Due tipi di voci devono prima essere corretti:197Un blocco `mcpServers` scritto per un altro client MCP, come Claude Desktop, usa la chiave contenitore e la forma delle voci che Claude Code legge. Passa a `claude mcp add-json` l'oggetto all'interno di `mcpServers`, non il contenitore. Due tipi di voci richiedono prima una correzione:

198 198 

199* **Un `url` senza `type`**: aggiungi `"type": "http"`, `"type": "sse"`, o `"type": "ws"` in base all'endpoint. Claude Code legge una voce senza `type` come server stdio, quindi una voce `url` senza `type` fallisce.199* **Un `url` senza `type`**: aggiungi `"type": "http"`, `"type": "sse"` o `"type": "ws"` in base all'endpoint. Claude Code legge una voce senza `type` come un server stdio, quindi una voce `url` senza `type` fallisce.

200* **Una chiave con caratteri diversi da lettere, numeri, trattini e trattini bassi**: scegli un nome di server che utilizzi solo quei caratteri. Altrimenti la chiave è il nome del server.200* **Una chiave con caratteri diversi da lettere, numeri, trattini e underscore**: scegli un nome di server che usi solo quei caratteri. Altrimenti la chiave è il nome del server.

201 201 

202Ad esempio, questo blocco:202Ad esempio, questo blocco:

203 203 


218claude mcp add-json example '{"command":"npx","args":["-y","@example/mcp-server"]}'218claude mcp add-json example '{"command":"npx","args":["-y","@example/mcp-server"]}'

219```219```

220 220 

221[Aggiungere server MCP da configurazione JSON](#add-mcp-servers-from-json-configuration) descrive l'escape della shell e il flag `--scope` per `add-json`. Per condividere invece il server con il tuo team, aggiungi `--scope project`, oppure aggiungi la voce sotto `mcpServers` in `.mcp.json` alla radice del tuo progetto e fanne il commit. [Ambito di progetto](#project-scope) descrive come Claude Code carica e approva quel file.221[Aggiungere server MCP da una configurazione JSON](#add-mcp-servers-from-json-configuration) descrive l'escape nella shell e il flag `--scope` per `add-json`. Per condividere invece il server con il tuo team, aggiungi `--scope project`, oppure aggiungi la voce sotto `mcpServers` in `.mcp.json` nella radice del progetto ed esegui il commit. [Ambito di progetto](#project-scope) descrive come Claude Code carica e approva quel file.

222 222 

223Ogni comando `claude mcp add` e `claude mcp add-json` stampa una riga `Added ...` in caso di successo. Per verificare che Claude Code si sia connesso, esegui `claude mcp get <name>`; [Stato del server](#server-status) descrive gli stati che mostra e il passaggio di approvazione per i server `.mcp.json`.223Ogni comando `claude mcp add` e `claude mcp add-json` stampa una riga `Added ...` in caso di successo. Per verificare che Claude Code si sia connesso, esegui `claude mcp get <name>`; [Stato del server](#server-status) descrive gli stati mostrati e il passaggio di approvazione per i server `.mcp.json`.

224 224 

225### Gestione dei tuoi server225### Gestire i tuoi server

226 226 

227Una volta configurati, puoi gestire i tuoi server MCP con questi comandi:227Una volta configurati, puoi gestire i tuoi server MCP con questi comandi:

228 228 

229```bash theme={null}229```bash theme={null}

230# Elencare tutti i server configurati230# List all configured servers

231claude mcp list231claude mcp list

232 232 

233# Ottenere dettagli per un server specifico233# Get details for a specific server

234claude mcp get notion234claude mcp get notion

235 235 

236# Rimuovere un server236# Remove a server

237claude mcp remove notion237claude mcp remove notion

238 238 

239# (all'interno di Claude Code) Controllare lo stato del server239# (within Claude Code) Check server status

240/mcp240/mcp

241```241```

242 242 

243Quando rimuovi un server remoto, Claude Code elimina anche i token OAuth e la registrazione del client che ha memorizzato per quel server.243Quando rimuovi un server remoto, Claude Code elimina anche i token OAuth e la registrazione del client che aveva memorizzato per quel server.

244 244 

245#### Stato del server245#### Stato del server

246 246 

247`claude mcp add` conferma un'aggiunta riuscita stampando una riga `Added ...`, il che significa che la configurazione è stata scritta. Se il comando stampa invece un messaggio `was not saved`, consulta [MCP server was not saved or removed](/docs/it/errors#mcp-server-was-not-saved-or-removed); per un messaggio `may not have been saved`, consulta [MCP server may not have been saved or removed](/docs/it/errors#mcp-server-may-not-have-been-saved-or-removed).247`claude mcp add` conferma un'aggiunta riuscita stampando una riga `Added ...`, che significa che la configurazione è stata scritta. Se invece il comando stampa un messaggio `was not saved`, consulta [MCP server was not saved or removed](/docs/it/errors#mcp-server-was-not-saved-or-removed); per un messaggio `may not have been saved`, consulta [MCP server may not have been saved or removed](/docs/it/errors#mcp-server-may-not-have-been-saved-or-removed).

248 248 

249`claude mcp list` mostra uno stato di salute accanto a ogni server che elenca, come `✔ Connected`, `! Needs authentication`, o `✘ Failed to connect`. Uno stato di errore significa che Claude Code non è riuscito a connettersi a quel server, non che il comando list sia fallito.249`claude mcp list` mostra uno stato di salute accanto a ogni server elencato, come `✔ Connected`, `! Needs authentication` o `✘ Failed to connect`. Uno stato di errore significa che Claude Code non è riuscito a connettersi a quel server, non che il comando list sia fallito.

250 250 

251Gli stati in questo elenco segnalano una decisione di configurazione piuttosto che un tentativo di connessione, quindi Claude Code li stampa senza connettersi al server:251Gli stati in questo elenco riportano una decisione di configurazione anziché un tentativo di connessione, quindi Claude Code li stampa senza connettersi al server:

252 252 

253* ``⏸ Pending approval (run `claude` to approve)``: un server con ambito di progetto da `.mcp.json` che non hai ancora approvato. Claude Code lo mostra sia in `claude mcp list` che in `claude mcp get <name>`. Esegui `claude` in modo interattivo per esaminarlo e approvarlo.253* ``⏸ Pending approval (run `claude` to approve)``: un server con ambito di progetto da `.mcp.json` che non hai ancora approvato. Claude Code lo mostra sia in `claude mcp list` sia in `claude mcp get <name>`. Esegui `claude` in modo interattivo per esaminarlo e approvarlo.

254* `✘ Rejected (see disabledMcpjsonServers in settings)`: un server `.mcp.json` che una voce [`disabledMcpjsonServers`](/docs/it/settings-reference#disabledmcpjsonservers) rifiuta. Claude Code lo mostra solo in `claude mcp get <name>`.254* `✘ Rejected (see disabledMcpjsonServers in settings)`: un server `.mcp.json` rifiutato da una voce [`disabledMcpjsonServers`](/docs/it/settings-reference#disabledmcpjsonservers). Claude Code lo mostra solo in `claude mcp get <name>`.

255* `⊘ Disabled for this project (re-enable via /mcp)`: un server nominato dall'elenco [`disabledMcpServers`](#disable-a-server-without-removing-it) del progetto. Claude Code lo mostra sia in `claude mcp list` che in `claude mcp get <name>`. Riattiva il server dal pannello `/mcp`.255* `⊘ Disabled for this project (re-enable via /mcp)`: un server indicato nell'elenco [`disabledMcpServers`](#disable-a-server-without-removing-it) del progetto. Claude Code lo mostra sia in `claude mcp list` sia in `claude mcp get <name>`. Riattiva il server dal pannello `/mcp`.

256 256 

257#### Approvazioni dei server di progetto e attendibilità del workspace257#### Approvazioni dei server di progetto e attendibilità del workspace

258 258 

259`claude mcp list` e `claude mcp get` leggono le approvazioni `.mcp.json` solo dai file di impostazioni che non sono sottoposti a commit nel repository, finché non consideri attendibile il workspace eseguendo `claude` al suo interno e accettando la finestra di dialogo di attendibilità del workspace. Un repository clonato non può approvare i propri server: [`enableAllProjectMcpServers`](/docs/it/settings-reference#enableallprojectmcpservers) o [`enabledMcpjsonServers`](/docs/it/settings-reference#enabledmcpjsonservers) sottoposti a commit nel `.claude/settings.json` del progetto vengono ignorati in una cartella non attendibile, e il server rimane in `⏸ Pending approval` invece di essere connesso e verificato.259`claude mcp list` e `claude mcp get` leggono le approvazioni di `.mcp.json` solo dai file delle impostazioni che non sono inclusi nel repository finché non consideri attendibile il workspace eseguendo `claude` al suo interno e accettando la finestra di dialogo sull'attendibilità del workspace. Un repository clonato non può approvare i propri server: [`enableAllProjectMcpServers`](/docs/it/settings-reference#enableallprojectmcpservers) o [`enabledMcpjsonServers`](/docs/it/settings-reference#enabledmcpjsonservers) inclusi nel commit del file `.claude/settings.json` del progetto vengono ignorati in una cartella non attendibile, e il server resta in `⏸ Pending approval` invece di essere connesso e sottoposto al controllo di salute.

260 260 

261Le approvazioni da queste fonti si applicano comunque in una cartella non attendibile:261Le approvazioni da queste fonti si applicano comunque in una cartella non attendibile:

262 262 

263* il tuo `~/.claude/settings.json` utente263* il tuo `~/.claude/settings.json` utente

264* impostazioni gestite264* le impostazioni gestite

265* impostazioni passate con `--settings`265* le impostazioni passate con `--settings`

266 266 

267Claude Code applica anche le approvazioni da un `.claude/settings.local.json` non tracciato, ma esegue git per verificare se il file è tracciato, ed esegue quel controllo solo in una [cartella attendibile](/docs/it/permissions#project-allow-rules-and-workspace-trust). In una cartella che non hai mai considerato attendibile, Claude Code attende la finestra di dialogo di attendibilità prima di applicare le approvazioni del file, a meno che la cartella non sia la tua home di configurazione: la tua directory home, o una directory il cui `.claude` hai impostato come [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars). Prima della v2.1.207, Claude Code applicava le approvazioni da un `.claude/settings.local.json` non tracciato anche in una cartella che non avevi mai considerato attendibile.267Claude Code applica anche le approvazioni da un `.claude/settings.local.json` non tracciato, ma esegue git per verificare se il file è tracciato, ed esegue quel controllo solo in una [cartella attendibile](/docs/it/permissions#project-allow-rules-and-workspace-trust). In una cartella che non hai mai considerato attendibile, Claude Code attende la finestra di dialogo sull'attendibilità prima di applicare le approvazioni del file, a meno che la cartella non sia la tua home di configurazione: la tua directory home, o una directory il cui `.claude` hai impostato come [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars). Prima della v2.1.207, Claude Code applicava le approvazioni da un `.claude/settings.local.json` non tracciato anche in una cartella che non avevi mai considerato attendibile.

268 268 

269Una voce `disabledMcpjsonServers` in qualsiasi file di impostazioni rifiuta comunque il server.269Una voce `disabledMcpjsonServers` in qualsiasi file delle impostazioni rifiuta comunque il server.

270 270 

271#### Dettaglio dello stato del server271#### Dettagli sullo stato del server

272 272 

273In `/mcp`, incluso il menu di un server al suo interno, e nel gestore [`/plugin`](/docs/it/plugins/install), un server HTTP o SSE remoto che hai già usato può mostrare uno stato `cached` come `cached 2h ago · connects on first use · 5 tools`. Claude Code ha caricato l'elenco degli strumenti del server dalla sua cache di discovery, salvata in una sessione precedente, invece di connettersi all'avvio, e Claude Code connette il server la prima volta che Claude chiama uno degli strumenti del server. Gli strumenti sono disponibili dal tuo primo messaggio, quindi non devi fare nulla. La cache di discovery e il suo stato `cached` richiedono Claude Code v2.1.221 o successivo.273In `/mcp`, incluso il menu di un server al suo interno, e nel gestore [`/plugin`](/docs/it/plugins/install), un server HTTP o SSE remoto che hai già usato può mostrare uno stato `cached` come `cached 2h ago · connects on first use · 5 tools`. Claude Code ha caricato l'elenco degli strumenti del server dalla sua cache di rilevamento, salvata in una sessione precedente, invece di connettersi all'avvio, e Claude Code connette il server la prima volta che Claude chiama uno degli strumenti del server. Gli strumenti sono disponibili dal tuo primo messaggio, quindi non devi fare nulla. La cache di rilevamento e il relativo stato `cached` richiedono Claude Code v2.1.221 o successiva.

274 274 

275La cache di discovery è disattivata per impostazione predefinita, a meno che un rollout graduale non l'abbia abilitata per il tuo account. Imposta [`MCP_DISCOVERY_CACHE=1`](/docs/it/env-vars) per attivarla, o `0` per mantenerla disattivata anche quando il rollout l'ha abilitata. Prima della v2.1.238, la cache era attivata per impostazione predefinita.275La cache di rilevamento è disattivata per impostazione predefinita, a meno che un rilascio graduale non l'abbia attivata per il tuo account. Imposta [`MCP_DISCOVERY_CACHE=1`](/docs/it/env-vars) per attivarla, oppure `0` per mantenerla disattivata anche quando il rilascio l'ha attivata. Prima della v2.1.238, la cache era attiva per impostazione predefinita.

276 276 

277Quando selezioni **Disable** o **Clear authentication** dal menu di un server in `/mcp`, Claude Code scarta anche la voce della cache di quel server. Anche **Reconnect** la scarta su un server connesso o in errore; su un server `cached`, **Reconnect** connette subito il server e mantiene la voce. La volta successiva che Claude Code si connette al server dopo aver scartato la voce, recupera l'elenco degli strumenti dal server invece che dalla cache.277Quando selezioni **Disable** o **Clear authentication** dal menu di un server in `/mcp`, Claude Code scarta anche la voce della cache di quel server. Anche **Reconnect** la scarta su un server connesso o in errore; su un server `cached`, **Reconnect** connette subito il server e mantiene la voce. La volta successiva in cui Claude Code si connette al server dopo aver scartato la voce, recupera l'elenco degli strumenti dal server invece che dalla cache.

278 278 

279Quando lo stato di un server è `✘ Failed to connect`, `claude mcp list` aggiunge il dettaglio dell'errore a quella riga di stato, e `claude mcp get <name>` lo mostra su una riga `Issue:`: il codice di stato HTTP o il codice di errore, più l'eventuale testo di errore restituito dal server. La vista dei dettagli del server in `/mcp` include lo stesso testo segnalato dal server nella sua riga `Issue:`. Claude Code oscura da questo dettaglio il testo simile a credenziali e non include mai l'URL espanso del server, che può contenere segreti. Claude Code non aggiunge alcun dettaglio a uno stato `✘ Connection error`, perché il testo dell'eccezione che stamperebbe lì può incorporare quell'URL. Prima della v2.1.219, entrambi i comandi mostravano solo lo stato di errore, senza il codice di stato o il testo di errore del server.279Quando lo stato di un server è `✘ Failed to connect`, `claude mcp list` aggiunge il dettaglio dell'errore a quella riga di stato, e `claude mcp get <name>` lo mostra su una riga `Issue:`: lo stato HTTP o il codice di errore, più l'eventuale testo di errore restituito dal server. La vista di dettaglio del server in `/mcp` include lo stesso testo riportato dal server nella riga `Issue:`. Claude Code oscura da questo dettaglio il testo simile a credenziali e non include mai l'URL del server espanso, che può contenere segreti. Claude Code non aggiunge alcun dettaglio a uno stato `✘ Connection error`, perché il testo dell'eccezione che stamperebbe lì può incorporare quell'URL. Prima della v2.1.219, entrambi i comandi mostravano solo lo stato di errore semplice, senza il codice di stato né il testo di errore del server.

280 280 

281Quando completi l'autenticazione da `/mcp` e la connessione fallisce ancora con uno stato HTTP o un codice di errore di trasporto, Claude Code aggiunge quel codice e l'origine dell'URL del server al messaggio che stampa dopo il tentativo. L'origine è lo schema e l'host, più la porta quando l'URL ne specifica una, come `https://mcp.example.com`.281Quando completi l'autenticazione da `/mcp` e la connessione fallisce ancora con uno stato HTTP o un codice di errore del trasporto, Claude Code aggiunge quel codice e l'origine dell'URL del server al messaggio che stampa dopo il tentativo. L'origine è lo schema e l'host, più la porta quando l'URL ne specifica una, come `https://mcp.example.com`.

282 282 

283* Il percorso e la query non appaiono mai in quel messaggio.283* Il percorso e la query non compaiono mai in quel messaggio.

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

285* Per un errore senza codice di stato o di errore, Claude Code mostra il testo di errore senza l'origine.285* Per un errore senza stato o codice di errore, Claude Code mostra il testo dell'errore senza l'origine.

286 286 

287Un 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.287Un 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 a esso. Un plugin può includere una voce segnaposto di questo tipo per un connettore che configuri in seguito, così Claude Code non la segnala come un errore o un problema di configurazione. La vista di dettaglio del server in `/mcp` riporta `No URL configured for this server`; imposta l'`url` della voce per connetterlo.

288 288 

289#### Avvisi di configurazione289#### Avvisi di configurazione

290 290 

291Claude Code mostra avvisi per i problemi di configurazione elencati di seguito. Ogni voce indica cosa controlla Claude Code e come eliminare l'avviso:291Claude Code avvisa dei problemi di configurazione riportati di seguito. Ogni voce indica cosa controlla Claude Code e come eliminare l'avviso:

292 292 

293* **Spazi bianchi nascosti**: Claude Code mostra un avviso quando un valore di configurazione MCP contiene spazi bianchi nascosti iniziali o finali, che spesso derivano dall'aver incollato un token con un a capo finale. Claude Code controlla `command`, `url`, ogni voce `args`, e i valori e i nomi delle chiavi sotto `env` e `headers`. Claude Code mostra l'avviso nell'output di `claude mcp list` e in `/mcp`, indicando i campi interessati senza riportarne i valori, ad esempio `Leading or trailing whitespace in: headers.Authorization`. Claude Code non rimuove gli spazi bianchi e utilizza i valori esattamente come scritti, quindi modifica la configurazione per rimuoverli.293* **Spazi nascosti**: Claude Code avvisa quando un valore di configurazione MCP contiene spazi iniziali o finali nascosti, che spesso derivano dall'incollare un token con un a capo finale. Claude Code controlla `command`, `url`, ogni voce di `args` e i valori e i nomi delle chiavi sotto `env` e `headers`. Claude Code mostra l'avviso nell'output di `claude mcp list` e in `/mcp`, indicando i campi interessati senza mostrarne i valori, ad esempio `Leading or trailing whitespace in: headers.Authorization`. Claude Code non rimuove gli spazi e usa i valori esattamente come scritti, quindi modifica la configurazione per rimuoverli.

294* **Stesso nome in più di un ambito**: se definisci lo stesso nome di server in più di un [ambito](#mcp-installation-scopes) con endpoint diversi, Claude Code segnala il conflitto nell'output di `claude mcp list` e in `/mcp`. Claude Code memorizza gli accessi OAuth per endpoint, quindi quando autentichi la definizione che viene caricata in un progetto, devi comunque accedere separatamente in un progetto in cui viene caricata una definizione diversa. Mantieni l'endpoint che desideri e rimuovi gli altri con `claude mcp remove <name> --scope <scope>`. Nell'avviso, Claude Code riporta l'endpoint di ogni ambito come scritto nella tua configurazione, con i [riferimenti `${VAR}`](#environment-variable-expansion-in-mcp-json) non espansi, quindi non mostra mai un valore risolto come una chiave API.294* **Stesso nome in più ambiti**: se definisci lo stesso nome di server in più di un [ambito](#mcp-installation-scopes) con endpoint diversi, Claude Code avvisa del conflitto nell'output di `claude mcp list` e in `/mcp`. Claude Code memorizza gli accessi OAuth per endpoint, quindi quando ti autentichi con la definizione che viene caricata in un progetto, devi comunque accedere separatamente in un progetto in cui viene caricata una definizione diversa. Mantieni l'endpoint che desideri e rimuovi gli altri con `claude mcp remove <name> --scope <scope>`. Nell'avviso, Claude Code riporta l'endpoint di ciascun ambito come scritto nella tua configurazione, con i [riferimenti `${VAR}`](#environment-variable-expansion-in-mcp-json) non espansi, quindi non mostra mai un valore risolto come una chiave API.

295* **Nomi riservati**: Claude Code riserva i nomi dei suoi server integrati, inclusi `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview`, e `Claude Browser`. Se la tua configurazione definisce un server con un nome riservato, Claude Code lo salta al momento del caricamento e mostra un avviso che ti chiede di rinominarlo. `claude mcp add` rifiuta un nome riservato con un errore. `Claude Preview` e `Claude Browser` indicano entrambi il server integrato utilizzato dal [pannello di anteprima dell'app desktop di Claude Code](/docs/it/desktop#preview-your-app).295* **Nomi riservati**: Claude Code riserva i nomi dei suoi server integrati, tra cui `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview` e `Claude Browser`. Se la tua configurazione definisce un server con un nome riservato, Claude Code lo salta al caricamento e mostra un avviso che ti chiede di rinominarlo. `claude mcp add` rifiuta un nome riservato con un errore. `Claude Preview` e `Claude Browser` indicano entrambi il server integrato usato dal [riquadro di anteprima dell'app desktop di Claude Code](/docs/it/desktop#preview-your-app).

296* **Variabile d'ambiente mancante**: se un [riferimento `${VAR}`](#environment-variable-expansion-in-mcp-json) nella configurazione di un server nomina una variabile che non è impostata e non ha `:-default`, Claude Code mostra un avviso nell'output di `claude mcp list` e in `/mcp`, indicando la variabile, e carica comunque il server con il testo `${VAR}` non espanso. Imposta la variabile o aggiungi un fallback `${VAR:-default}`. Nell'`url` e negli `headers` di un server remoto, alcune variabili di credenziali [vengono invece lette come vuote](#credential-variables-that-read-as-empty), senza avviso.296* **Variabile d'ambiente mancante**: se un [riferimento `${VAR}`](#environment-variable-expansion-in-mcp-json) nella configurazione di un server indica una variabile non impostata e priva di `:-default`, Claude Code avvisa nell'output di `claude mcp list` e in `/mcp`, indicando la variabile, e carica comunque il server con il testo `${VAR}` non espanso. Imposta la variabile o aggiungi un fallback `${VAR:-default}`. Nell'`url` e negli `headers` di un server remoto, alcune variabili di credenziali [vengono invece lette come vuote](#credential-variables-that-read-as-empty), senza avviso.

297 297 

298#### Disponibilità degli strumenti298#### Disponibilità degli strumenti

299 299 

300Il pannello `/mcp` mostra il numero di strumenti accanto a ogni server connesso e segnala i server che dichiarano la capacità tools ma non espongono alcuno strumento.300Il pannello `/mcp` mostra il numero di strumenti accanto a ogni server connesso e segnala i server che dichiarano la capacità tools ma non espongono alcuno strumento.

301 301 

302Se la tua richiesta ha bisogno di strumenti di un server che si sta ancora connettendo in background, Claude attende quel server prima di continuare. Il modo in cui avviene l'attesa dipende dalla tua configurazione:302Se la tua richiesta necessita di strumenti di un server che si sta ancora connettendo in background, Claude attende quel server prima di continuare. Il modo in cui avviene l'attesa dipende dalla tua configurazione:

303 303 

304* **Con la [ricerca degli strumenti](#scale-with-mcp-tool-search), l'impostazione predefinita**: l'attesa avviene all'interno della chiamata `ToolSearch`.304* **Con la [ricerca degli strumenti](#scale-with-mcp-tool-search), il comportamento predefinito**: l'attesa avviene all'interno della chiamata `ToolSearch`.

305* **Senza ricerca degli strumenti**: Claude utilizza invece lo strumento `WaitForMcpServers`. Le configurazioni senza ricerca degli strumenti includono un `ANTHROPIC_BASE_URL` personalizzato, `ENABLE_TOOL_SEARCH=false`, e un modello precedente a Claude Opus 4.5, Claude Sonnet 4.5 e Claude Haiku 4.5 su Google Cloud's Agent Platform.305* **Senza ricerca degli strumenti**: Claude usa invece lo strumento `WaitForMcpServers`. Le configurazioni senza ricerca degli strumenti includono `ENABLE_TOOL_SEARCH=false` e un modello precedente a Claude Opus 4.5, Claude Sonnet 4.5 e Claude Haiku 4.5 su Agent Platform di Google Cloud. Per un gateway `ANTHROPIC_BASE_URL`, consulta [Ricerca degli strumenti tramite un gateway LLM](#tool-search-through-a-gateway).

306* **Su un [deploy Microsoft Foundry ospitato su Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)**: Claude inizia sul percorso della ricerca degli strumenti anziché con `WaitForMcpServers`, poiché Claude Code scopre il rifiuto lato server del deploy solo dall'API. Dopo che Claude Code passa quel deploy al [caricamento anticipato](#scale-with-mcp-tool-search), gli strumenti di un server che finisce di connettersi diventano disponibili alla richiesta successiva di Claude.306* **Su un [deploy di Microsoft Foundry ospitato su Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)**: Claude parte dal percorso della ricerca degli strumenti anziché con `WaitForMcpServers`, poiché Claude Code scopre il rifiuto lato server del deploy solo dall'API. Dopo che Claude Code ha spostato quel deploy al [caricamento anticipato](#scale-with-mcp-tool-search), gli strumenti di un server che completa la connessione diventano disponibili alla successiva richiesta di Claude.

307 307 

308Con la ricerca degli strumenti abilitata, quando un server finisce di connettersi mentre Claude sta lavorando, Claude Code elenca i nomi degli strumenti del server a Claude nella sua richiesta successiva all'interno dello stesso turno. Claude può quindi cercare e chiamare quegli strumenti senza attendere il tuo messaggio successivo.308Con la ricerca degli strumenti attiva, quando un server completa la connessione mentre Claude sta lavorando, Claude Code elenca i nomi degli strumenti del server a Claude nella sua richiesta successiva all'interno dello stesso turno. Claude può quindi cercare e chiamare quegli strumenti senza attendere il tuo messaggio successivo.

309 309 

310Dopo aver ripreso una sessione, Claude può chiamare uno strumento della conversazione salvata mentre il server MCP dello strumento si sta ancora connettendo. Mentre il server è al suo primo tentativo di connessione, Claude Code trattiene la chiamata per un massimo di 10 secondi e la esegue non appena lo strumento è disponibile. Se il server non si connette in tempo, o sta già [riprovando dopo un tentativo fallito](#automatic-reconnection), la chiamata fallisce con l'[errore dello strumento](/docs/it/errors#no-such-tool-available) `No such tool available`.310Dopo aver ripreso una sessione, Claude può chiamare uno strumento della conversazione salvata mentre il server MCP dello strumento si sta ancora connettendo. Mentre il server è al suo primo tentativo di connessione, Claude Code trattiene la chiamata per un massimo di 10 secondi e la esegue non appena lo strumento è disponibile. Se il server non si connette in tempo, o sta già [riprovando dopo un tentativo fallito](#automatic-reconnection), la chiamata fallisce con l'[errore dello strumento](/docs/it/errors#no-such-tool-available) `No such tool available`.

311 311 

312### Disabilitare un server senza rimuoverlo312### Disattivare un server senza rimuoverlo

313 313 

314Disattiva un server nel pannello `/mcp` per impedire a Claude Code di connettersi ad esso senza perderne la configurazione. Claude Code continua a elencare il server in `/mcp`, contrassegnato come disabilitato.314Disattiva un server nel pannello `/mcp` per impedire a Claude Code di connettersi a esso senza perderne la configurazione. Claude Code continua a elencare il server in `/mcp`, contrassegnato come disattivato.

315 315 

316Quando attivi o disattivi un server, Claude Code registra la tua scelta per progetto in `~/.claude.json`, in uno di due elenchi che coprono insiemi disgiunti di server:316Quando attivi o disattivi un server, Claude Code registra la tua scelta per progetto in `~/.claude.json`, in uno di due elenchi che coprono insiemi di server disgiunti:

317 317 

318* `disabledMcpServers`: un elenco di esclusione per server configurati dall'utente, server di plugin, server che la tua organizzazione [fornisce tramite impostazioni gestite](/docs/it/managed-mcp#provide-servers-through-managed-settings), i connettori claude.ai che Claude Code [recupera da solo](#how-connectors-reach-claude-code), e server integrati attivi per impostazione predefinita. Claude Code non si connette a un server che elenchi qui. Quando disabiliti un connettore claude.ai con l'interruttore `/mcp` per progetto descritto in [Disabilitare i connettori claude.ai](#disable-claude-ai-connectors), Claude Code lo scrive in questo elenco con il suo nome visualizzato, ad esempio `claude.ai Slack`.318* `disabledMcpServers`: un elenco di esclusione per i server configurati dall'utente, i server dei plugin, i server che la tua organizzazione [fornisce tramite le impostazioni gestite](/docs/it/managed-mcp#provide-servers-through-managed-settings), i connettori claude.ai che Claude Code [recupera autonomamente](#how-connectors-reach-claude-code) e i server integrati attivi per impostazione predefinita. Claude Code non si connette a un server che elenchi qui. Quando disattivi un connettore claude.ai con l'interruttore per progetto di `/mcp` descritto in [Disattivare i connettori claude.ai](#disable-claude-ai-connectors), Claude Code lo scrive in questo elenco con il suo nome visualizzato, ad esempio `claude.ai Slack`.

319* `enabledMcpServers`: un elenco di inclusione per server integrati disattivati per impostazione predefinita, come `computer-use`. Claude Code si connette a un server disattivato per impostazione predefinita solo quando lo elenchi qui.319* `enabledMcpServers`: un elenco di inclusione per i server integrati disattivati per impostazione predefinita, come `computer-use`. Claude Code si connette a un server disattivato per impostazione predefinita solo quando lo elenchi qui.

320 320 

321Claude Code consulta esattamente uno dei due elenchi per ogni server, quindi nessuno dei due elenchi ha la precedenza sull'altro. Se aggiungi un server normale a `enabledMcpServers`, o un server integrato disattivato per impostazione predefinita a `disabledMcpServers`, Claude Code ignora la voce.321Claude Code consulta esattamente uno dei due elenchi per ciascun server, quindi nessuno dei due elenchi sovrascrive l'altro. Se aggiungi un server normale a `enabledMcpServers`, o un server integrato disattivato per impostazione predefinita a `disabledMcpServers`, Claude Code ignora la voce.

322 322 

323`disabledMcpServers` e `enabledMcpServers` non sono correlati a [`enabledMcpjsonServers`](/docs/it/settings-reference#enabledmcpjsonservers) e [`disabledMcpjsonServers`](/docs/it/settings-reference#disabledmcpjsonservers), che controllano l'approvazione dei server definiti nel file `.mcp.json` di un progetto.323`disabledMcpServers` e `enabledMcpServers` non hanno relazione con [`enabledMcpjsonServers`](/docs/it/settings-reference#enabledmcpjsonservers) e [`disabledMcpjsonServers`](/docs/it/settings-reference#disabledmcpjsonservers), che controllano l'approvazione dei server definiti nel file `.mcp.json` di un progetto.

324 324 

325### Runtime client MCP325### Runtime del client MCP

326 326 

327Claude Code si connette ai server MCP attraverso uno di due runtime client. Il runtime v1 è basato su MCP TypeScript SDK 1.x. Il runtime v2 è lo stesso codice su [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), che aggiunge la revisione del protocollo MCP 2026-07-28. Il resto di questa pagina si applica a entrambi i runtime, tranne dove una sezione nomina il runtime v2.327Claude Code si connette ai server MCP tramite uno di due runtime del client. Il runtime v1 è basato su MCP TypeScript SDK 1.x. Il runtime v2 è lo stesso codice su [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), che aggiunge la revisione del protocollo MCP 2026-07-28. Il resto di questa pagina si applica a entrambi i runtime, tranne dove una sezione indica il runtime v2.

328 328 

329Claude Code sceglie un runtime ogni volta che lo avvii e lo mantiene fino a quando non esci. Nelle sessioni in cui [recupera i feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching), utilizza il runtime v2 su Claude Code v2.1.232 o successivo.329Claude Code sceglie un runtime ogni volta che lo avvii e lo mantiene finché non esci. Nelle sessioni in cui [recupera i feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching), usa il runtime v2 su Claude Code v2.1.232 o successiva.

330 330 

331Nelle sessioni in cui non recupera i feature flag, Claude Code utilizza il runtime v2 per impostazione predefinita su Claude Code v2.1.274 o successivo:331Nelle sessioni in cui non recupera i feature flag, Claude Code usa il runtime v2 per impostazione predefinita su Claude Code v2.1.274 o successiva:

332 332 

333* Sessioni su Amazon Bedrock, Claude Platform su AWS, Google Cloud's Agent Platform, o Microsoft Foundry, a meno che una piattaforma host che incorpora Claude Code non imposti [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/it/env-vars)333* Sessioni su Amazon Bedrock, Claude Platform on AWS, Agent Platform di Google Cloud o Microsoft Foundry, a meno che una piattaforma host che incorpora Claude Code non imposti [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/it/env-vars)

334* Sessioni con accesso tramite un [gateway delle app Claude](/docs/it/claude-apps-gateway)334* Sessioni con accesso tramite un [gateway delle app Claude](/docs/it/claude-apps-gateway)

335* Sessioni in cui disattivi la telemetria o il recupero dei feature flag, ad esempio con `DISABLE_TELEMETRY`335* Sessioni in cui disattivi la telemetria o il recupero dei feature flag, ad esempio con `DISABLE_TELEMETRY`

336 336 

337Su v2, Claude Code inoltre:337Su v2, Claude Code inoltre:

338 338 

339* Chiede ai server HTTP, stdio e dei connettori claude.ai se supportano la revisione più recente, e la utilizza con quelli che la supportano. Si connette a ogni altro server come fa v1.339* Chiede ai server HTTP, stdio e connettori claude.ai se supportano la revisione più recente, e la usa con quelli che la supportano. Si connette a tutti gli altri server come fa v1.

340* Riceve le notifiche `list_changed` dai server sulla revisione più recente tramite un [flusso che mantiene aperto](#notification-streams-on-the-v2-runtime).340* Riceve le notifiche `list_changed` dai server sulla revisione più recente tramite uno [stream che mantiene aperto](#notification-streams-on-the-v2-runtime).

341* Non registra un server [canale](#push-messages-with-channels) che si connette sulla revisione più recente, perché quella revisione non può trasportare messaggi di canale.341* Non registra un server di [canale](#push-messages-with-channels) che si connette sulla revisione più recente, perché quella revisione non può trasportare messaggi di canale.

342* Fa fallire un [accesso OAuth MCP](#authenticate-with-remote-mcp-servers) la cui risposta di autorizzazione indica un emittente inatteso.342* Fa fallire un [accesso OAuth MCP](#authenticate-with-remote-mcp-servers) la cui risposta di autorizzazione indica un emittente inatteso.

343* Invia le credenziali [OAuth MCP](#authenticate-with-remote-mcp-servers) solo a un endpoint del token servito su HTTPS o su `localhost`, `127.0.0.1`, o `::1`. L'accesso fallisce per un server il cui endpoint del token è `http://` semplice in qualsiasi altro luogo, come un dispositivo sulla tua rete locale. Consulta [Refusing to send credentials to non-https token endpoint](/docs/it/errors#refusing-to-send-credentials-to-non-https-token-endpoint).343* Invia le credenziali [OAuth MCP](#authenticate-with-remote-mcp-servers) solo a un endpoint dei token servito tramite HTTPS o su `localhost`, `127.0.0.1` o `::1`. L'accesso fallisce per un server il cui endpoint dei token è `http://` semplice in qualsiasi altra posizione, come un dispositivo sulla tua rete locale. Consulta [Refusing to send credentials to non-https token endpoint](/docs/it/errors#refusing-to-send-credentials-to-non-https-token-endpoint).

344 344 

345Anthropic può mantenere un server specifico sul protocollo precedente, o fuori da quel flusso, con un feature flag che Claude Code recupera.345Anthropic può mantenere un server specifico sul protocollo precedente, o fuori da quello stream, con un feature flag che Claude Code recupera.

346 346 

347Per scegliere tu stesso il runtime, imposta [`MCP_SDK_GENERATION`](/docs/it/env-vars) su `v1` o `v2`. Per decidere se Claude Code pone la domanda, imposta [`MCP_PROTOCOL_NEGOTIATION`](/docs/it/env-vars) su `auto` o `legacy`.347Per scegliere tu stesso il runtime, imposta [`MCP_SDK_GENERATION`](/docs/it/env-vars) su `v1` o `v2`. Per decidere se Claude Code pone la domanda, imposta [`MCP_PROTOCOL_NEGOTIATION`](/docs/it/env-vars) su `auto` o `legacy`.

348 348 


351Un server MCP può modificare gli strumenti, i prompt o le risorse che offre mentre è connesso e inviare una notifica `list_changed`. Quando ne arriva una:351Un server MCP può modificare gli strumenti, i prompt o le risorse che offre mentre è connesso e inviare una notifica `list_changed`. Quando ne arriva una:

352 352 

353* **In una sessione interattiva del terminale**, Claude Code recupera l'elenco aggiornato da quel server, quindi non devi riconnetterlo.353* **In una sessione interattiva del terminale**, Claude Code recupera l'elenco aggiornato da quel server, quindi non devi riconnetterlo.

354* **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.354* **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 risposta a queste notifiche.

355 355 

356Se 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.356Se una richiesta di aggiornamento fallisce, Claude Code mantiene gli strumenti, i prompt e le risorse rilevati in precedenza per il server fino al successivo aggiornamento riuscito.

357 357 

358#### Flussi di notifica sul runtime v2358#### Stream di notifiche sul runtime v2

359 359 

360Sul [runtime v2](#mcp-client-runtimes), Claude Code riceve le notifiche `list_changed` da un server sulla revisione più recente del protocollo tramite un flusso che mantiene aperto. Quando il flusso si chiude, Claude Code lo riapre, con due limiti:360Sul [runtime v2](#mcp-client-runtimes), Claude Code riceve le notifiche `list_changed` da un server sulla revisione più recente del protocollo tramite uno stream che mantiene aperto. Quando lo stream si chiude, Claude Code lo riapre, con due limiti:

361 361 

362* **Il flusso si chiude di nuovo entro 10 secondi**: Claude Code lo riapre fino a tre volte, poi si ferma per quella connessione.362* **Lo stream si richiude entro 10 secondi**: Claude Code lo riapre fino a tre volte, poi si ferma per quella connessione.

363* **Il flusso rimane aperto più di 10 secondi, poi si chiude**, come accade comunemente ai flussi verso host serverless: dopo cinque riaperture in un'ora, Claude Code attende circa sei ore prima della successiva.363* **Lo stream resta aperto più di 10 secondi, poi si chiude**, come accade comunemente con gli stream verso host serverless: dopo cinque riaperture in un'ora, Claude Code attende circa sei ore prima della successiva.

364 364 

365Fino a quando il flusso non si riapre, mantieni gli ultimi strumenti, prompt e risorse recuperati dal server. Per recepire prima le sue modifiche, riconnetti il server da `/mcp`.365Finché lo stream non si riapre, mantieni gli ultimi strumenti, prompt e risorse recuperati dal server. Per acquisire prima le sue modifiche, riconnetti il server da `/mcp`.

366 366 

367### Riconnessione automatica367### Riconnessione automatica

368 368 

369Claude Code riconnette un server remoto che cade a metà sessione e riprova la prima connessione di un server HTTP o SSE dopo un errore transitorio. I server stdio sono processi locali, e Claude Code non li riconnette automaticamente.369Claude Code riconnette un server remoto che si disconnette a metà sessione e riprova la prima connessione di un server HTTP o SSE dopo un errore temporaneo. I server stdio sono processi locali e Claude Code non li riconnette automaticamente.

370 370 

371#### Cadute a metà sessione di un server remoto371#### Disconnessioni di un server remoto a metà sessione

372 372 

373Claude Code tenta prima di riconnettere un server remoto caduto fino a cinque volte con backoff esponenziale, partendo da un ritardo di un secondo e raddoppiandolo ogni volta:373Claude Code prova innanzitutto a riconnettere un server remoto disconnesso fino a cinque volte con backoff esponenziale, partendo da un ritardo di un secondo e raddoppiandolo ogni volta:

374 374 

375* **In una sessione interattiva**: `/mcp` mostra il server come in sospeso mentre Claude Code si riconnette. Dopo cinque tentativi falliti, Claude Code contrassegna il server come in errore, o come bisognoso di autenticazione quando il server deve essere autorizzato di nuovo. Quando lo contrassegna come in errore, vedi una notifica `MCP server "<name>" disconnected · open /mcp to reconnect`. Puoi riprovare manualmente da `/mcp`.375* **In una sessione interattiva**: `/mcp` mostra il server come in attesa mentre Claude Code si riconnette. Dopo cinque tentativi falliti, Claude Code contrassegna il server come in errore, o come bisognoso di autenticazione quando il server deve essere nuovamente autorizzato. Quando contrassegna il server come in errore, vedi una notifica `MCP server "<name>" disconnected · open /mcp to reconnect`. Puoi riprovare manualmente da `/mcp`.

376* **Nelle esecuzioni [`claude -p`](/docs/it/headless) e nelle sessioni [Agent SDK](/docs/it/agent-sdk/overview)**: Claude Code esegue gli stessi cinque tentativi, senza un pannello `/mcp` che li mostri. Quando i tentativi di un server HTTP o SSE falliscono con un errore transitorio, continua a riprovare in background per circa mezz'ora al massimo, e il server e i suoi strumenti tornano disponibili quando un nuovo tentativo riesce a connettersi.376* **Nelle esecuzioni [`claude -p`](/docs/it/headless) e nelle sessioni dell'[Agent SDK](/docs/it/agent-sdk/overview)**: Claude Code effettua gli stessi cinque tentativi, senza alcun pannello `/mcp` per mostrarli. Quando i tentativi di un server HTTP o SSE falliscono con un errore temporaneo, continua a riprovare in background per circa mezz'ora al massimo, e il server e i suoi strumenti tornano disponibili quando un nuovo tentativo riesce a connettersi.

377 377 

378#### Prime connessioni fallite378#### Prime connessioni fallite

379 379 

380Quando la prima connessione di un server HTTP o SSE fallisce con un errore transitorio, come una risposta 5xx, una connessione rifiutata o un timeout, Claude Code riprova fino a tre volte. Se la connessione fallisce ancora, Claude Code contrassegna il server come in errore.380Quando la prima connessione di un server HTTP o SSE fallisce con un errore temporaneo, come una risposta 5xx, una connessione rifiutata o un timeout, Claude Code riprova fino a tre volte. Se la connessione fallisce ancora, Claude Code contrassegna il server come in errore.

381 381 

382Claude Code non riprova in questi casi:382Claude Code non riprova in questi casi:

383 383 

384* La prima connessione di un server WebSocket384* La prima connessione di un server WebSocket

385* Un errore di autenticazione o di risorsa non trovata, perché richiede una modifica della configurazione per essere risolto. Quando un [`headersHelper`](#use-dynamic-headers-for-custom-authentication) è l'unica fonte dell'intestazione `Authorization` del server, Claude Code riprova comunque dopo un errore di autenticazione, perché riesegue l'helper a ogni tentativo e può ottenere una credenziale nuova385* Un errore di autenticazione o di risorsa non trovata, perché per risolverlo è necessaria una modifica alla configurazione. Quando un [`headersHelper`](#use-dynamic-headers-for-custom-authentication) è l'unica fonte dell'header `Authorization` del server, Claude Code riprova comunque un errore di autenticazione, perché riesegue l'helper a ogni tentativo e può ottenere una credenziale nuova

386 386 

387#### Richieste di discovery fallite387#### Richieste di rilevamento fallite

388 388 

389Dopo che un server si è connesso, Claude Code gli invia richieste di discovery delle capacità come `tools/list`, `prompts/list` e `resources/list`. Claude Code riprova quelle richieste fino a tre volte con un breve backoff dopo un errore transitorio di rete o del server. Non riprova dopo errori di autenticazione, risposte 4xx o timeout delle richieste.389Dopo che un server si è connesso, Claude Code gli invia richieste di rilevamento delle capacità come `tools/list`, `prompts/list` e `resources/list`. Claude Code riprova queste richieste fino a tre volte con un breve backoff dopo un errore temporaneo di rete o del server. Non riprova in caso di errori di autenticazione, risposte 4xx o timeout delle richieste.

390 390 

391#### Riprovare tu stesso i server in errore391#### Riprovare tu stesso i server in errore

392 392 

393Per riprovare ogni server in errore o che richiede autenticazione, esegui `/mcp reconnect all`. Nel terminale interattivo questo richiede Claude Code v2.1.284 o successivo, e le versioni precedenti stampano lì `MCP server "all" not found`.393Per riprovare tutti i server in errore o che necessitano di autenticazione, esegui `/mcp reconnect all`. Nel terminale interattivo questo richiede Claude Code v2.1.284 o successiva, e le versioni precedenti stampano lì `MCP server "all" not found`.

394 394 

395#### Come Claude apprende che un server è in errore395#### Come Claude viene a sapere che un server è in errore

396 396 

397Il fatto che Claude Code informi Claude di un server configurato che non è riuscito a connettersi dipende dalla [ricerca degli strumenti](#scale-with-mcp-tool-search), attiva per impostazione predefinita:397Se Claude Code comunica a Claude che un server configurato non è riuscito a connettersi dipende dalla [ricerca degli strumenti](#scale-with-mcp-tool-search), che è attiva per impostazione predefinita:

398 398 

399* Con la ricerca degli strumenti, Claude Code comunica a Claude quale server è in errore e il relativo errore di connessione, quindi Claude segnala l'errore di connessione nella sua risposta. Claude Code include le stesse informazioni nei risultati di `ToolSearch` che non trovano alcuno strumento corrispondente.399* Con la ricerca degli strumenti, Claude Code comunica a Claude quale server è in errore e il relativo errore di connessione, così Claude segnala l'errore di connessione nella sua risposta. Claude Code include le stesse informazioni nei risultati di `ToolSearch` che non trovano alcuno strumento corrispondente.

400* In qualsiasi [configurazione senza ricerca degli strumenti](#configure-tool-search), Claude Code non segnala a Claude le connessioni ai server fallite.400* In qualsiasi [configurazione senza ricerca degli strumenti](#configure-tool-search), Claude Code non segnala a Claude le connessioni ai server fallite.

401 401 

402### Inviare messaggi con i canali402### Inviare messaggi con i canali

403 403 

404Un server MCP può anche inviare messaggi direttamente nella tua sessione in modo che Claude possa reagire a eventi esterni come risultati CI, avvisi di monitoraggio o messaggi di chat. Per abilitare questa funzione, il tuo server dichiara la capacità `claude/channel` e tu lo abiliti con il flag `--channels` all'avvio. Consulta [Canali](/docs/it/channels) per utilizzare un canale ufficialmente supportato, o [Riferimento dei canali](/docs/it/channels-reference) per crearne uno tuo.404Un server MCP può anche inviare messaggi direttamente nella tua sessione, così Claude può reagire a eventi esterni come risultati della CI, avvisi di monitoraggio o messaggi di chat. Per abilitarlo, il tuo server dichiara la capacità `claude/channel` e tu lo abiliti con il flag `--channels` all'avvio. Consulta [Canali](/docs/it/channels) per usare un canale supportato ufficialmente, oppure [Riferimento dei canali](/docs/it/channels-reference) per crearne uno tuo.

405 405 

406Sul [runtime v2](#mcp-client-runtimes), un server di canale che negozia la revisione del protocollo MCP 2026-07-28 non può consegnare messaggi di canale, quindi Claude Code non lo registra come canale. Un server di canale che non supporta quella revisione si connette con l'handshake precedente e si registra come prima.406Sul [runtime v2](#mcp-client-runtimes), un server di canale che negozia la revisione del protocollo MCP 2026-07-28 non può consegnare messaggi di canale, quindi Claude Code non lo registra come canale. Un server di canale che non supporta quella revisione si connette con l'handshake precedente e viene registrato come prima.

407 407 

408Claude Code chiede quella revisione ai server stdio per impostazione predefinita. Per mantenere un server di canale stdio sull'handshake precedente, imposta [`MCP_PROTOCOL_NEGOTIATION`](/docs/it/env-vars) su `legacy`, che mantiene ogni server su di esso.408Claude Code chiede quella revisione ai server stdio per impostazione predefinita. Per mantenere un server di canale stdio sull'handshake precedente, imposta [`MCP_PROTOCOL_NEGOTIATION`](/docs/it/env-vars) su `legacy`, che mantiene tutti i server su di esso.

409 409 

410> [!TIP]410> [!TIP]

411>411>

412> Suggerimenti:412> Suggerimenti:

413>413>

414> * Utilizza il flag `-s` o `--scope` per specificare dove viene memorizzata la configurazione:414> * Usa il flag `-s` o `--scope` per specificare dove viene memorizzata la configurazione:

415> * `local` (predefinito): disponibile solo per te nel progetto corrente415> * `local` (predefinito): disponibile solo per te nel progetto corrente

416> * `project`: condiviso con tutti nel progetto tramite il file `.mcp.json`416> * `project`: condiviso con tutti nel progetto tramite il file `.mcp.json`

417> * `user`: disponibile per te in tutti i progetti417> * `user`: disponibile per te in tutti i progetti

418> * Imposta le variabili d'ambiente con i flag `-e` o `--env` (ad esempio, `-e KEY=value`)418> * Imposta le variabili d'ambiente con i flag `-e` o `--env` (ad esempio, `-e KEY=value`)

419> * I flag `--transport` e `--header` accettano anche le forme brevi `-t` e `-H`419> * I flag `--transport` e `--header` accettano anche le forme brevi `-t` e `-H`

420> * Configura il timeout di avvio del server MCP utilizzando la variabile d'ambiente `MCP_TIMEOUT` (ad esempio, `MCP_TIMEOUT=10000 claude` imposta un timeout di 10 secondi)420> * Configura il timeout di avvio del server MCP usando la variabile d'ambiente `MCP_TIMEOUT` (ad esempio, `MCP_TIMEOUT=10000 claude` imposta un timeout di 10 secondi)

421> * Imposta un timeout di esecuzione degli strumenti per singolo server aggiungendo un campo `timeout` in millisecondi alla voce `.mcp.json` di quel server, ad esempio `"timeout": 600000` per dieci minuti. Questo sovrascrive la variabile d'ambiente `MCP_TOOL_TIMEOUT` solo per quel server421> * Imposta un timeout di esecuzione degli strumenti per server aggiungendo un campo `timeout` in millisecondi alla voce `.mcp.json` di quel server, ad esempio `"timeout": 600000` per dieci minuti. Questo sovrascrive la variabile d'ambiente `MCP_TOOL_TIMEOUT` solo per quel server

422> * Claude Code visualizza un avviso quando l'output di uno strumento MCP supera 10.000 token e limita l'output a 25.000 token per impostazione predefinita. Per modificare il limite di token, imposta la variabile d'ambiente `MAX_MCP_OUTPUT_TOKENS`, ad esempio `MAX_MCP_OUTPUT_TOKENS=50000`. La soglia di avviso è fissa. A meno che il server non aumenti il limite proprio di uno strumento, i risultati di testo riusciti più lunghi di 50.000 caratteri vengono salvati in un file indipendentemente da questa variabile. Consulta [Limiti e avvisi sull'output MCP](#mcp-output-limits-and-warnings)422> * Claude Code mostra un avviso quando l'output di uno strumento MCP supera i 10.000 token e limita l'output a 25.000 token per impostazione predefinita. Per modificare il limite di token, imposta la variabile d'ambiente `MAX_MCP_OUTPUT_TOKENS`, ad esempio `MAX_MCP_OUTPUT_TOKENS=50000`. La soglia di avviso è fissa. A meno che il server non aumenti il limite specifico di uno strumento, i risultati testuali riusciti più lunghi di 50.000 caratteri vengono salvati in un file indipendentemente da questa variabile. Consulta [Limiti e avvisi sull'output MCP](#mcp-output-limits-and-warnings)

423> * Utilizza `/mcp` per autenticarti con server remoti che richiedono l'autenticazione OAuth 2.0423> * Usa `/mcp` per autenticarti con i server remoti che richiedono l'autenticazione OAuth 2.0

424 424 

425Il `timeout` per server è un limite rigido di tempo reale per ogni chiamata a uno strumento, e le notifiche di avanzamento dal server non lo estendono. I valori inferiori a 1000 vengono ignorati e si usa come fallback `MCP_TOOL_TIMEOUT`, o il suo valore predefinito di circa 28 ore quando quella variabile non è impostata. Per un server HTTP, SSE o [connettore claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) c'è anche un secondo timer per richiesta, che copre ogni richiesta fino al primo byte della risposta del server. Claude Code imposta quel timer sul maggiore di tre valori: 60 secondi, il timeout degli strumenti che si applica al server, e `MCP_TIMEOUT`. Il valore predefinito di 28 ore di un `MCP_TOOL_TIMEOUT` non impostato non entra in quel confronto, e un valore inferiore a 60 secondi non accorcia il timer. I server stdio e WebSocket non hanno un timer per richiesta.425Il `timeout` per server è un limite rigido di tempo reale per ogni chiamata a uno strumento, e le notifiche di avanzamento del server non lo estendono. I valori inferiori a 1000 vengono ignorati e si ricade su `MCP_TOOL_TIMEOUT`, o sul suo valore predefinito di circa 28 ore quando quella variabile non è impostata. Per un server HTTP, SSE o [connettore claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) esiste anche un secondo timer per richiesta che copre ogni richiesta fino al primo byte della risposta del server. Claude Code imposta quel timer sul maggiore di tre valori: 60 secondi, il timeout degli strumenti che si applica al server e `MCP_TIMEOUT`. Il valore predefinito di 28 ore di un `MCP_TOOL_TIMEOUT` non impostato non entra in quel confronto, e un valore inferiore a 60 secondi non accorcia il timer. I server stdio e WebSocket non hanno un timer per richiesta.

426 426 

427Un `timeout` per server di almeno 1000 agisce anche come limite minimo per il timeout di inattività descritto di seguito: Claude Code non interrompe mai per inattività le chiamate agli strumenti di quel server prima del `timeout` per server.427Un `timeout` per server di almeno 1000 funge anche da soglia minima per il timeout di inattività descritto di seguito: Claude Code non interrompe mai per inattività le chiamate agli strumenti di quel server prima del `timeout` per server.

428 428 

429Una chiamata a uno strumento di un server MCP che non invia alcuna risposta né alcuna notifica di avanzamento per tutta la finestra di inattività si interrompe con un errore invece di attendere il limite di tempo reale. Il timeout di inattività si applica a ogni tipo di server tranne i server IDE e i server in-process SDK. La finestra di inattività è per impostazione predefinita di cinque minuti per i server HTTP, SSE, WebSocket e [connettore claude.ai](#use-mcp-servers-from-claude-ai), e di 30 minuti per i server stdio.429Una chiamata a uno strumento di un server MCP che non invia alcuna risposta e alcuna notifica di avanzamento per la durata della finestra di inattività viene interrotta con un errore invece di attendere il limite di tempo reale. Il timeout di inattività si applica a tutti i tipi di server tranne i server IDE e i server in-process dell'SDK. La finestra di inattività è per impostazione predefinita di cinque minuti per i server HTTP, SSE, WebSocket e [connettori claude.ai](#use-mcp-servers-from-claude-ai), e di 30 minuti per i server stdio.

430 430 

431Imposta la variabile d'ambiente [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/it/env-vars) in millisecondi per modificare la finestra di inattività, o impostala su `0` per disabilitare il controllo.431Imposta la variabile d'ambiente [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/it/env-vars) in millisecondi per modificare la finestra di inattività, oppure impostala su `0` per disattivare il controllo.

432 432 

433Questi timeout limitano per quanto tempo una chiamata può essere eseguita, non sempre per quanto tempo blocca la sessione: una chiamata della conversazione principale che supera i due minuti viene prima spostata in un'attività in background. Consulta [Spostamento automatico in background delle chiamate agli strumenti lunghe](#automatic-backgrounding-of-long-tool-calls).433Questi timeout limitano per quanto tempo può essere eseguita una chiamata, non sempre per quanto tempo blocca la sessione: una chiamata nella conversazione principale che supera i due minuti passa prima a un'attività in background. Consulta [Spostamento automatico in background delle chiamate lunghe agli strumenti](#automatic-backgrounding-of-long-tool-calls).

434 434 

435### Spostamento automatico in background delle chiamate agli strumenti lunghe435### Spostamento automatico in background delle chiamate lunghe agli strumenti

436 436 

437Una 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.437Una chiamata a uno strumento MCP nella conversazione principale che è ancora in esecuzione dopo due minuti passa a 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.

438 438 

439L'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.439L'attività compare in [`/tasks`](/docs/it/commands#all-commands), dove puoi anche arrestarla, e non sopravvive all'uscita dalla sessione. La voce dell'attività mostra l'ultimo avanzamento riportato dal server. Se arresti l'attività, Claude Code annulla la chiamata e comunica a Claude che non arriverà alcun risultato. L'arresto non garantisce che il server si fermi: potrebbe aver già svolto parte del lavoro, o potrebbe comunque completarlo.

440 440 

441I limiti per chiamata si applicano comunque mentre la chiamata viene eseguita in background: il limite di tempo reale impostato dal `timeout` per server o da [`MCP_TOOL_TIMEOUT`](/docs/it/env-vars), e il timeout di inattività impostato da [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/it/env-vars).441I limiti per chiamata si applicano anche mentre la chiamata è in esecuzione in background: il limite di tempo reale impostato dal `timeout` per server o da [`MCP_TOOL_TIMEOUT`](/docs/it/env-vars), e il timeout di inattività impostato da [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/it/env-vars).

442 442 

443Imposta la variabile d'ambiente [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](/docs/it/env-vars) in millisecondi per modificare la soglia, o impostala su `0` per disattivare lo spostamento automatico in background. Impostare `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` su `1` lo disattiva a sua volta, insieme a tutte le altre funzionalità delle attività in background.443Imposta la variabile d'ambiente [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](/docs/it/env-vars) in millisecondi per modificare la soglia, oppure impostala su `0` per disattivare lo spostamento automatico in background. Anche impostare `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` su `1` lo disattiva, insieme a tutte le altre funzionalità delle attività in background.

444 444 

445Alcune chiamate non vengono mai spostate in background:445Alcune chiamate non passano mai in background:

446 446 

447* Le chiamate dei [subagent](/docs/it/sub-agents); Claude Code sposta in background solo le chiamate della conversazione principale447* Le chiamate dai [subagent](/docs/it/sub-agents); Claude Code sposta in background solo le chiamate della conversazione principale

448* Le chiamate ai server IDE448* Le chiamate ai server IDE

449* Le chiamate in [modalità non interattiva](/docs/it/headless), a meno che `CLAUDE_AUTO_BACKGROUND_TASKS` non sia impostato su `1`, poiché un'esecuzione singola può terminare prima che arrivi il risultato449* Le chiamate in [modalità non interattiva](/docs/it/headless), a meno che `CLAUDE_AUTO_BACKGROUND_TASKS` non sia impostato su `1`, poiché un'esecuzione singola può terminare prima che arrivi il risultato

450 450 

451Una chiamata in attesa di una [finestra di dialogo di elicitazione](#respond-to-mcp-elicitation-requests) aperta non viene spostata in background mentre la finestra di dialogo è aperta; il server è bloccato in attesa del tuo input, non è lento, quindi Claude Code rimanda lo spostamento fino alla chiusura della finestra di dialogo.451Una chiamata in attesa di una [finestra di dialogo di elicitation](#respond-to-mcp-elicitation-requests) aperta non viene spostata in background mentre la finestra è aperta; il server è bloccato in attesa del tuo input, non è lento, quindi Claude Code rinvia lo spostamento finché la finestra non si chiude.

452 452 

453### Server MCP forniti da plugin453### Server MCP forniti dai plugin

454 454 

455I [plugin](/docs/it/plugins/overview) possono includere server MCP che forniscono strumenti e integrazioni quando abiliti il plugin.455I [plugin](/docs/it/plugins/overview) possono includere server MCP che forniscono strumenti e integrazioni quando abiliti il plugin.

456 456 

457**Come funzionano i server MCP dei plugin**:457**Come funzionano i server MCP dei plugin**:

458 458 

459* I plugin definiscono i server MCP in `.mcp.json` alla radice del plugin o inline in `plugin.json`459* I plugin definiscono i server MCP in `.mcp.json` nella radice del plugin o inline in `plugin.json`

460* Quando abiliti un plugin, Claude Code avvia automaticamente i suoi server MCP460* Quando abiliti un plugin, Claude Code avvia automaticamente i suoi server MCP

461* Claude Code offre gli strumenti MCP dei plugin insieme agli strumenti MCP configurati manualmente461* Claude Code offre gli strumenti MCP dei plugin insieme agli strumenti MCP configurati manualmente

462* Aggiungi e rimuovi i server dei plugin installando o disinstallando il plugin, non con i comandi `/mcp`. Puoi comunque [disattivare un server di un plugin installato](#disable-a-server-without-removing-it) in `/mcp`, il che impedisce a Claude Code di connettersi ad esso senza rimuovere il plugin462* Aggiungi e rimuovi i server dei plugin installando o disinstallando il plugin, non con i comandi `/mcp`. Puoi comunque [disattivare un server di un plugin installato](#disable-a-server-without-removing-it) in `/mcp`, il che impedisce a Claude Code di connettersi a esso senza rimuovere il plugin

463 463 

464**Esempio di configurazione MCP di un plugin**:464**Esempio di configurazione MCP di un plugin**:

465 465 

466In `.mcp.json` alla radice del plugin:466In `.mcp.json` nella radice del plugin:

467 467 

468```json theme={null}468```json theme={null}

469{469{


497 497 

498* **Ciclo di vita automatico**: i server si connettono e si disconnettono in questi momenti:498* **Ciclo di vita automatico**: i server si connettono e si disconnettono in questi momenti:

499 * All'avvio della sessione, Claude Code connette automaticamente i server dei plugin abilitati. In `/mcp`, un server di plugin remoto (HTTP o SSE) che hai già usato può invece mostrare lo [stato `cached`](#server-status-detail); Claude Code lo connette quando Claude chiama per la prima volta uno dei suoi strumenti499 * All'avvio della sessione, Claude Code connette automaticamente i server dei plugin abilitati. In `/mcp`, un server di plugin remoto (HTTP o SSE) che hai già usato può invece mostrare lo [stato `cached`](#server-status-detail); Claude Code lo connette quando Claude chiama per la prima volta uno dei suoi strumenti

500 * Se abiliti o disabiliti un plugin durante una sessione, Claude Code connette o disconnette i suoi server MCP quando la modifica viene applicata. [Applicare le modifiche ai plugin senza riavviare](/docs/it/plugins/cli-reference#reload-plugins) descrive quando avviene. In una sessione senza un terminale interattivo, `/reload-plugins` non connette né disconnette i server MCP dei plugin; quelle modifiche hanno effetto nella sessione successiva500 * Se abiliti o disabiliti un plugin durante una sessione, Claude Code connette o disconnette i suoi server MCP quando la modifica viene applicata. [Applicare le modifiche ai plugin senza riavviare](/docs/it/plugins/cli-reference#reload-plugins) descrive quando ciò avviene. In una sessione senza terminale interattivo, `/reload-plugins` non connette né disconnette i server MCP dei plugin; queste modifiche hanno effetto nella sessione successiva

501 * Quando ricarichi, Claude Code mantiene le connessioni attive dei server dei plugin la cui configurazione è invariata, e fa lo stesso quando [sostituisci l'elenco dei server MCP della sessione](/docs/it/agent-sdk/typescript#mcpsetserversresult) dall'Agent SDK senza nominarli501 * Quando ricarichi, Claude Code mantiene le connessioni attive dei server dei plugin la cui configurazione non è cambiata, e fa lo stesso quando [sostituisci l'elenco dei server MCP della sessione](/docs/it/agent-sdk/typescript#mcpsetserversresult) dall'Agent SDK senza indicarli

502 * Quando [sposti la sessione con `/cd`](/docs/it/permissions#move-the-session-to-another-directory) su v2.1.246 o successivo, Claude Code connette i server dei plugin che le impostazioni della nuova directory abilitano e disconnette i server dei plugin che non sono più abilitati, quindi non devi eseguire `/reload-plugins` dopo lo spostamento502 * Quando [sposti la sessione con `/cd`](/docs/it/permissions#move-the-session-to-another-directory) su v2.1.246 o successiva, Claude Code connette i server dei plugin abilitati dalle impostazioni della nuova directory e disconnette i server dei plugin che non sono più abilitati, quindi non devi eseguire `/reload-plugins` dopo lo spostamento

503 * Nelle [sessioni cloud](/docs/it/claude-code-on-the-web), una chiamata MCP a un server di plugin non ancora connesso, ad esempio subito dopo la riattivazione di una sessione inattiva, avvia il server su richiesta e attende che si connetta503 * Nelle [sessioni cloud](/docs/it/claude-code-on-the-web), una chiamata MCP a un server di plugin non ancora connesso, ad esempio subito dopo il risveglio di una sessione inattiva, avvia il server su richiesta e attende che si connetta

504* **Segnaposto di percorso**: `${CLAUDE_PLUGIN_ROOT}` si risolve nella directory di installazione del plugin, `${CLAUDE_PLUGIN_DATA}` nella sua directory di [stato persistente](/docs/it/plugins/components#path-variables-and-persistent-data), e `${CLAUDE_PROJECT_DIR}` nella radice stabile del progetto. La sostituzione si applica a:504* **Segnaposto di percorso**: `${CLAUDE_PLUGIN_ROOT}` viene risolto nella directory di installazione del plugin, `${CLAUDE_PLUGIN_DATA}` nella sua directory di [stato persistente](/docs/it/plugins/components#path-variables-and-persistent-data) e `${CLAUDE_PROJECT_DIR}` nella radice stabile del progetto. La sostituzione si applica a:

505 * server `stdio`: `command`, `args`, `env`505 * server `stdio`: `command`, `args`, `env`

506 * server `http`, `sse` e `ws`: `url`, `headers` e `headersHelper`506 * server `http`, `sse` e `ws`: `url`, `headers` e `headersHelper`

507* **Accesso all'ambiente utente**: accesso alle stesse variabili d'ambiente dei server configurati manualmente507* **Accesso all'ambiente utente**: accesso alle stesse variabili d'ambiente dei server configurati manualmente

508* **Più tipi di trasporto**: supporto per i trasporti stdio, SSE, HTTP e WebSocket, anche se il supporto dei trasporti può variare a seconda del server508* **Più tipi di trasporto**: supporto per i trasporti stdio, SSE, HTTP e WebSocket, anche se il supporto dei trasporti può variare in base al server

509 

510I server dei plugin compaiono in `/mcp` con indicatori che mostrano che provengono da plugin.

509 511 

510I server dei plugin appaiono in `/mcp` con indicatori che mostrano che provengono da plugin.512`claude mcp get` nasconde i valori configurati per il server stdio o WebSocket di un plugin, perché possono contenere credenziali:

511 513 

512Per un server stdio di un plugin, `claude mcp get` stampa `Command: stdio`, una riga `Args:` vuota, e ogni variabile d'ambiente come `NAME=[REDACTED]`. I valori sono nascosti perché possono contenere credenziali.514* **Server stdio**: stampa `Command: stdio`, una riga `Args:` vuota e ogni variabile d'ambiente come `NAME=[REDACTED]`

515* **Server WebSocket**: stampa `URL: ws` e ogni header come `<name>: [REDACTED]`, e `claude mcp list` mostra `ws` al posto dell'URL

516 

517Per vedere cosa ha configurato il plugin, [trova il plugin sul disco](/docs/it/plugins/loading#find-plugins-on-disk) e leggi il suo `.mcp.json` o `plugin.json`.

513 518 

514**Nomi degli strumenti MCP dei plugin**:519**Nomi degli strumenti MCP dei plugin**:

515 520 

516Gli strumenti di un server MCP incluso in un plugin contengono sia il nome del plugin che la chiave del server nel loro nome richiamabile. La forma completa è `mcp__plugin_<plugin-name>_<server-name>__<tool-name>`, dove qualsiasi carattere al di fuori di `A-Z`, `a-z`, `0-9`, `_` e `-` viene sostituito con `_`. Per il server `database-tools` incluso in un plugin denominato `my-plugin`, uno strumento `query` è richiamabile come:521Gli strumenti di un server MCP incluso in un plugin contengono sia il nome del plugin sia la chiave del server nel loro nome richiamabile. La forma completa è `mcp__plugin_<plugin-name>_<server-name>__<tool-name>`, dove qualsiasi carattere al di fuori di `A-Z`, `a-z`, `0-9`, `_` e `-` viene sostituito con `_`. Per il server `database-tools` incluso in un plugin chiamato `my-plugin`, uno strumento `query` è richiamabile come:

517 522 

518```523```

519mcp__plugin_my-plugin_database-tools__query524mcp__plugin_my-plugin_database-tools__query

520```525```

521 526 

522Utilizza questo nome completo quando fai riferimento allo strumento nelle [regole di permesso](/docs/it/permissions), nell'elenco `allowed-tools` di una skill, nel [campo `tools` di un subagent](/docs/it/sub-agents#available-tools), o in un [matcher di hook](/docs/it/hooks#match-mcp-tools). Un matcher di hook scritto sulla sola chiave del server, come `mcp__database-tools__.*`, non si attiva mai per un server incluso in un plugin.527Usa questo nome completo quando fai riferimento allo strumento nelle [regole di permesso](/docs/it/permissions), nell'elenco `allowed-tools` di una skill, nel [campo `tools` di un subagent](/docs/it/sub-agents#available-tools) o in un [matcher di hook](/docs/it/hooks#match-mcp-tools). Un matcher di hook scritto sulla semplice chiave del server, come `mcp__database-tools__.*`, non si attiva mai per un server incluso in un plugin.

523 528 

524Il server stesso si registra con il nome qualificato `plugin:<plugin-name>:<server-name>`, come `plugin:my-plugin:database-tools`. Utilizza quel nome dove è previsto il nome di un server configurato, come il [campo `server` di un hook `mcp_tool`](/docs/it/hooks#mcp-tool-hook-fields).529Il server stesso viene registrato con il nome qualificato `plugin:<plugin-name>:<server-name>`, come `plugin:my-plugin:database-tools`. Usa quel nome dove è previsto il nome di un server configurato, come nel [campo `server` di un hook `mcp_tool`](/docs/it/hooks#mcp-tool-hook-fields).

525 530 

526Consulta il [riferimento dei componenti dei plugin](/docs/it/plugins/components#mcp-servers) per i dettagli sull'inclusione di server MCP nei plugin.531Consulta il [riferimento dei componenti dei plugin](/docs/it/plugins/components#mcp-servers) per i dettagli sull'inclusione di server MCP nei plugin.

527 532 


592 597 

593Per motivi di sicurezza, Claude Code richiede l'approvazione in sessioni interattive prima di utilizzare server con ambito del progetto dai file `.mcp.json`. Per ripristinare queste scelte di approvazione, esegui `claude mcp reset-project-choices`.598Per motivi di sicurezza, Claude Code richiede l'approvazione in sessioni interattive prima di utilizzare server con ambito del progetto dai file `.mcp.json`. Per ripristinare queste scelte di approvazione, esegui `claude mcp reset-project-choices`.

594 599 

595Nelle esecuzioni `claude -p`, nelle sessioni [Agent SDK](/docs/it/headless) e nelle [sessioni cloud](/docs/it/claude-code-on-the-web), Claude Code non può mostrare quel prompt: carica i server con ambito del progetto senza chiedere. Claude Code salta anche il prompt in una sessione che avvii in modalità `bypassPermissions` con [`skipDangerousModePermissionPrompt`](/docs/it/settings-reference#skipdangerousmodepermissionprompt) impostato nelle tue impostazioni utente o nelle impostazioni gestite. Per mantenere un server fuori comunque:600Nelle esecuzioni `claude -p`, nelle sessioni [Agent SDK](/docs/it/headless) e nelle [sessioni cloud](/docs/it/claude-code-on-the-web) al di fuori di un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), Claude Code non può mostrare quel prompt: carica i server con ambito del progetto senza chiedere. Claude Code salta anche il prompt in una sessione che avvii in modalità `bypassPermissions` con [`skipDangerousModePermissionPrompt`](/docs/it/settings-reference#skipdangerousmodepermissionprompt) impostato nelle tue impostazioni utente o nelle impostazioni gestite. Per mantenere un server fuori comunque:

596 601 

597* Aggiungilo a [`disabledMcpjsonServers`](/docs/it/settings-reference#disabledmcpjsonservers), che lo blocca in ogni modalità di autorizzazione.602* Aggiungilo a [`disabledMcpjsonServers`](/docs/it/settings-reference#disabledmcpjsonservers), che lo blocca in ogni modalità di autorizzazione.

598* Escludi completamente le impostazioni del progetto con [`--setting-sources`](/docs/it/cli-reference#cli-flags) o l'opzione `settingSources` dell'SDK.603* Escludi completamente le impostazioni del progetto con [`--setting-sources`](/docs/it/cli-reference#cli-flags) o l'opzione `settingSources` dell'SDK.


664 669 

665#### Variabili non impostate senza un valore predefinito670#### Variabili non impostate senza un valore predefinito

666 671 

667Se una variabile di ambiente richiesta non è impostata e non ha un valore predefinito, la configurazione viene comunque caricata: Claude Code segnala un avviso di variabile mancante per quel server nell'output di `claude mcp list` e utilizza il testo `${VAR}` non espanso così com'è. Imposta la variabile o aggiungi un fallback `:-default` in modo che il server si avvii con il valore che intendi. In un URL remoto del server e negli header, alcune variabili di credenziali [leggono come vuote](#credential-variables-that-read-as-empty) invece, senza avviso.672Se una variabile di ambiente richiesta non è impostata e non ha un valore predefinito, la configurazione viene comunque caricata: Claude Code segnala un avviso di variabile mancante per quel server nell'output di `claude mcp list` e utilizza il testo `${VAR}` non espanso così com'è. Imposta la variabile o aggiungi un fallback `:-default` in modo che il server si avvii con il valore che intendi. Negli `url` e `headers` di un server remoto, alcune variabili di credenziali [leggono come vuote](#credential-variables-that-read-as-empty) invece, senza avviso.

668 673 

669#### Variabili di credenziali che leggono come vuote674#### Variabili di credenziali che leggono come vuote

670 675 

671In un URL remoto del server e negli header, Claude Code legge le variabili di credenziali dal tuo ambiente come vuote piuttosto che espanderle. Questo impedisce che il `.mcp.json` di un progetto o un plugin invii le tue credenziali di Claude Code o del provider cloud a un server che nomina. Se scrivi `Bearer ${ANTHROPIC_AUTH_TOKEN}`, il server riceve `Bearer ` senza credenziale e rifiuta la richiesta, di solito con un `401`. Claude Code lo segnala come una connessione non riuscita.676Negli `url` e `headers` di un server remoto, Claude Code legge le variabili di credenziali dal tuo ambiente come vuote piuttosto che espanderle. Questo impedisce che il `.mcp.json` di un progetto o un plugin invii le tue credenziali di Claude Code o del provider cloud a un server che nomina. Se scrivi `Bearer ${ANTHROPIC_AUTH_TOKEN}`, il server riceve `Bearer ` senza credenziale e rifiuta la richiesta, di solito con un `401`. Claude Code lo segnala come una connessione non riuscita.

672 677 

673I nomi coperti sono:678I nomi coperti sono:

674 679 


680 685 

681Un nome al di fuori di questo set, come `API_KEY`, si espande come scritto. Per dare al server una delle credenziali coperte, copiala in una variabile con un nome di tua scelta e fai riferimento a quel nome invece.686Un nome al di fuori di questo set, come `API_KEY`, si espande come scritto. Per dare al server una delle credenziali coperte, copiala in una variabile con un nome di tua scelta e fai riferimento a quel nome invece.

682 687 

683Quando l'URL o gli header di un server remoto fanno riferimento a una variabile coperta che hai impostato, Claude Code la nomina in una riga di log di debug. Per leggere la riga, esegui `claude --debug-file /tmp/claude-debug.log` e cerca in quel file `never expanded toward a remote server`.688Quando `url` o `headers` di un server remoto fanno riferimento a una variabile coperta che hai impostato, Claude Code la nomina in una riga di log di debug. Per leggere la riga, esegui `claude --debug-file /tmp/claude-debug.log` e cerca in quel file `never expanded toward a remote server`.

684 689 

685#### Come i riferimenti appaiono in `/mcp` e nell'output CLI690#### Come i riferimenti appaiono in `/mcp` e nell'output CLI

686 691 


1483 1488 

1484### Configurare la ricerca di strumenti1489### Configurare la ricerca di strumenti

1485 1490 

1486La ricerca di strumenti è abilitata per impostazione predefinita: gli strumenti MCP vengono rimandati e scoperti su richiesta. Claude Code la disabilita quando `ANTHROPIC_BASE_URL` punta a un host non di prima parte, poiché la maggior parte dei proxy non inoltra i blocchi `tool_reference`. Imposta `ENABLE_TOOL_SEARCH` esplicitamente per sovrascrivere quel fallback.1491La ricerca di strumenti è abilitata per impostazione predefinita: gli strumenti MCP vengono rimandati e scoperti su richiesta.

1487 1492 

1488L'impostazione [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/it/env-vars) mantiene la ricerca di strumenti disattivata. Non puoi sovrascriverla impostando tu stesso `ENABLE_TOOL_SEARCH`. Su Claude Code v2.1.227 o successivo, la tua organizzazione può mantenere attiva la ricerca di strumenti anche con questa variabile impostata, tramite le [impostazioni gestite](/docs/it/managed-settings). In una sessione che [riceve la configurazione HIPAA](/docs/it/hipaa-setup#check-how-developers-sign-in-and-connect), la ricerca di strumenti è disattivata, e né `ENABLE_TOOL_SEARCH` né le impostazioni gestite la riattivano. [Disabilitare le capacità pre-release](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) spiega dove si applica l'override e cosa rimuove la variabile.1493L'impostazione [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/it/env-vars) mantiene la ricerca di strumenti disattivata. Non puoi sovrascriverla impostando tu stesso `ENABLE_TOOL_SEARCH`. Su Claude Code v2.1.227 o successivo, la tua organizzazione può mantenere attiva la ricerca di strumenti anche con questa variabile impostata, tramite le [impostazioni gestite](/docs/it/managed-settings). In una sessione che [riceve la configurazione HIPAA](/docs/it/hipaa-setup#check-how-developers-sign-in-and-connect), la ricerca di strumenti è disattivata, e né `ENABLE_TOOL_SEARCH` né le impostazioni gestite la riattivano. [Disabilitare le capacità pre-release](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) spiega dove si applica l'override e cosa rimuove la variabile.

1489 1494 


1500 1505 

1501| Valore | Comportamento |1506| Valore | Comportamento |

1502| :- | :- |1507| :- | :- |

1503| (non impostato) | Tutti gli strumenti MCP rimandati e caricati su richiesta. Ripiega sul caricamento anticipato sui modelli precedenti a Opus 4 e Sonnet 4, sui modelli di Google Cloud's Agent Platform precedenti a Opus 4.5, Sonnet 4.5 e Haiku 4.5, quando `ANTHROPIC_BASE_URL` è un host non di prima parte, o su un deploy di Microsoft Foundry ospitato su Azure |1508| (non impostato) | Tutti gli strumenti MCP rimandati e caricati su richiesta. Caricati in anticipo sui modelli precedenti a Opus 4 e Sonnet 4, sui [modelli precedenti di Agent Platform](#configure-tool-search) e sui deploy di Microsoft Foundry ospitati su Azure |

1504| `true` | Gli strumenti MCP restano rimandati quando `ANTHROPIC_BASE_URL` è un host non di prima parte. Gli altri fallback del caso (non impostato) si applicano comunque. Claude Code invia l'intestazione beta attraverso i proxy e le richieste falliscono sui proxy che non supportano i blocchi `tool_reference` |1509| `true` | Strumenti MCP rimandati, con gli stessi fallback del caso (non impostato) |

1505| `auto` | Modalità soglia: Claude Code carica in anticipo gli strumenti che altrimenti rimanderebbe finché le loro definizioni totalizzano meno del 10% della finestra di contesto, e li rimanda tutti una volta che le definizioni raggiungono il 10% |1510| `auto` | Modalità soglia. Gli strumenti che altrimenti verrebbero rimandati si caricano in anticipo finché le loro definizioni totalizzano meno del 10% della finestra di contesto. Al 10% o oltre, la ricerca di strumenti si attiva, e quegli strumenti possono [restare rimandati](#tools-that-stay-deferred-below-the-threshold) anche se il totale scende sotto il 10% |

1506| `auto:N` | Modalità soglia con una percentuale personalizzata, dove `N` è 0-100. Ad esempio, `auto:5` per il 5% |1511| `auto:N` | Modalità soglia con una percentuale personalizzata, dove `N` è 0-100. Ad esempio, `auto:5` per il 5% |

1507| `false` | Tutti gli strumenti MCP caricati in anticipo, nessun rinvio |1512| `false` | Tutti gli strumenti MCP caricati in anticipo, nessun rinvio |

1508 1513 


1526}1531}

1527```1532```

1528 1533 

1534Se neghi `ToolSearch` o lo escludi da [`--tools`](/docs/it/cli-reference#cli-flags), gli strumenti MCP vengono invece caricati in anticipo, ma una richiesta può comunque contenere una voce segnaposto `defer_loading`. Se un gateway rifiuta quella voce, consulta [Ricerca di strumenti tramite un gateway LLM](#tool-search-through-a-gateway).

1535 

1536#### Ricerca di strumenti tramite un gateway LLM

1537 

1538> [!NOTE]

1539>

1540> Questi casi sono trattati altrove:

1541>

1542> * **Hai impostato `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`**: consulta [come influisce sulla ricerca di strumenti](#configure-tool-search)

1543> * **Una richiesta è fallita con un errore che menziona `defer_loading` o `tool_reference`**: consulta [Extra inputs are not permitted](/docs/it/errors#extra-inputs-are-not-permitted)

1544 

1545Quando `ANTHROPIC_BASE_URL` punta a un gateway, la ricerca di strumenti è attiva per impostazione predefinita, quindi le richieste includono i campi degli strumenti `defer_loading` e i blocchi `tool_reference` che il gateway deve inoltrare. Mentre la ricerca di strumenti è attiva, gli strumenti MCP vengono [rimandati](#scale-with-mcp-tool-search). Per caricare invece tutti gli strumenti in anticipo, imposta `ENABLE_TOOL_SEARCH=false` nella tua shell o nel campo [`env` delle impostazioni](/docs/it/settings-reference#env). Prima della v2.1.304, la ricerca di strumenti era disattivata dietro un gateway a meno che `ENABLE_TOOL_SEARCH` non fosse `true`, `auto` o `auto:N`.

1546 

1547Su v2.1.305 o successivo, Claude Code può [riprovare una richiesta senza la ricerca di strumenti](/docs/it/llm-gateway-protocol#retry-without-tool-search) dopo un `400` o `422` di cui non riconosce la causa. Quando il nuovo tentativo riesce, sullo schermo non appare nulla e non devi fare niente: gli strumenti MCP vengono invece caricati in anticipo. Claude Code riprova la ricerca di strumenti più tardi, al costo di un'altra richiesta rifiutata. Per evitare queste richieste, imposta `ENABLE_TOOL_SEARCH=false`.

1548 

1549#### Strumenti che restano rimandati sotto la soglia `ENABLE_TOOL_SEARCH=auto`

1550 

1551Se [`/context`](/docs/it/commands#all-commands) etichetta gli strumenti come `(deferred)` o `(loaded on-demand)` anche se le loro definizioni totalizzano meno della soglia `auto`, la ricerca di strumenti era già attiva in questa conversazione ed è rimasta attiva. Il totale può diminuire in seguito, ad esempio mentre i server MCP si riconnettono dopo che riprendi una sessione. Non devi fare niente: Claude carica ciascuno di quegli strumenti quando un'attività ne ha bisogno.

1552 

1529### Esentare un server dal rinvio1553### Esentare un server dal rinvio

1530 1554 

1531Se gli strumenti di un server dovrebbero essere sempre visibili a Claude senza un passaggio di ricerca, imposta `alwaysLoad` a `true` nella configurazione di quel server. Gli strumenti del server vengono quindi caricati nel contesto indipendentemente dall'impostazione `ENABLE_TOOL_SEARCH`. Usa questa opzione per un piccolo numero di strumenti di cui Claude ha bisogno a ogni turno, poiché ogni strumento caricato in anticipo consuma contesto che altrimenti sarebbe disponibile per la tua conversazione.1555Se gli strumenti di un server dovrebbero essere sempre visibili a Claude senza un passaggio di ricerca, imposta `alwaysLoad` a `true` nella configurazione di quel server. Gli strumenti del server vengono quindi caricati nel contesto indipendentemente dall'impostazione `ENABLE_TOOL_SEARCH`. Usa questa opzione per un piccolo numero di strumenti di cui Claude ha bisogno a ogni turno, poiché ogni strumento caricato in anticipo consuma contesto che altrimenti sarebbe disponibile per la tua conversazione.

Details

278* **App desktop Claude Code**: aggiungere server tramite l'[UI Connectors](/docs/it/desktop#connect-external-tools).278* **App desktop Claude Code**: aggiungere server tramite l'[UI Connectors](/docs/it/desktop#connect-external-tools).

279* **App Claude Desktop chat**: un'app separata da Claude Code. Per copiare i server dal suo `claude_desktop_config.json` nella CLI, eseguire `claude mcp add-from-claude-desktop` su macOS o WSL.279* **App Claude Desktop chat**: un'app separata da Claude Code. Per copiare i server dal suo `claude_desktop_config.json` nella CLI, eseguire `claude mcp add-from-claude-desktop` su macOS o WSL.

280* **VS Code**: vedere [Connettere a strumenti esterni con MCP](/docs/it/vs-code#connect-to-external-tools-with-mcp).280* **VS Code**: vedere [Connettere a strumenti esterni con MCP](/docs/it/vs-code#connect-to-external-tools-with-mcp).

281* **Cloud sessions**: eseguire il commit di un `.mcp.json` nel vostro repository; una sessione con un repository lo carica. Vedere [Modificare .mcp.json direttamente](#edit-mcp-json-directly) e [Cosa viene trasferito dalla vostra configurazione](/docs/it/cloud-environments#what-carries-over-from-your-setup).281* **Sessioni cloud**: al di fuori di un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), esegui il commit di un `.mcp.json` nel tuo repository; una sessione con un repository lo carica. I thread cloud in un progetto usano invece i tuoi connettori di claude.ai. Consulta [Modificare .mcp.json direttamente](#edit-mcp-json-directly) e [Cosa viene trasferito dalla tua configurazione](/docs/it/cloud-environments#what-carries-over-from-your-setup).

282* **Claude.ai**: i connettori che aggiungete a [claude.ai/customize/connectors](https://claude.ai/customize/connectors) si caricano automaticamente nella CLI quando accedete con quell'account. Vedere [Utilizzare i server MCP da Claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai).282* **Claude.ai**: i connettori che aggiungete a [claude.ai/customize/connectors](https://claude.ai/customize/connectors) si caricano automaticamente nella CLI quando accedete con quell'account. Vedere [Utilizzare i server MCP da Claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai).

283 283 

284## Risoluzione dei problemi284## Risoluzione dei problemi

memory.md +10 −5

Details

208 208 

209Le regole senza un campo `paths` vengono caricate incondizionatamente e si applicano a tutti i file. Una regola con ambito di percorso si carica quando Claude utilizza lo strumento Read, Write o Edit su un file corrispondente. Si carica anche quando Claude visualizza un file corrispondente con un comando Bash che [conta come lettura](/docs/it/tools-reference#edit-tool-behavior), come `cat` o `head` su un singolo file. La corrispondenza funziona anche quando Claude raggiunge un file attraverso un percorso che è un collegamento simbolico alla directory del progetto, ad esempio in un checkout collegato tramite collegamento simbolico.209Le regole senza un campo `paths` vengono caricate incondizionatamente e si applicano a tutti i file. Una regola con ambito di percorso si carica quando Claude utilizza lo strumento Read, Write o Edit su un file corrispondente. Si carica anche quando Claude visualizza un file corrispondente con un comando Bash che [conta come lettura](/docs/it/tools-reference#edit-tool-behavior), come `cat` o `head` su un singolo file. La corrispondenza funziona anche quando Claude raggiunge un file attraverso un percorso che è un collegamento simbolico alla directory del progetto, ad esempio in un checkout collegato tramite collegamento simbolico.

210 210 

211Ogni modello è relativo alla directory di base della regola:

212 

213* **Regole di progetto**: la directory che contiene la cartella `.claude` della regola

214* **[Regole a livello di utente](#user-level-rules)**: la [directory di lavoro principale](/docs/it/permissions#working-directories) della sessione

215 

216Per fare in modo che le regole con ambito di percorso si carichino per i file in un worktree git affiancato, avvia Claude Code in quel worktree o [sposta lì la sessione con `/cd`](/docs/it/permissions#move-the-session-to-another-directory).

217 

211Utilizza i modelli glob nel campo `paths` per far corrispondere i file per estensione, directory o qualsiasi combinazione:218Utilizza i modelli glob nel campo `paths` per far corrispondere i file per estensione, directory o qualsiasi combinazione:

212 219 

213| Modello | Corrisponde a |220| Modello | Corrisponde a |


279 286 

280#### Distribuisci un CLAUDE.md a livello organizzativo287#### Distribuisci un CLAUDE.md a livello organizzativo

281 288 

282Le organizzazioni possono distribuire un CLAUDE.md gestito centralmente che si applica a tutti gli utenti su una macchina. Questo file non può essere escluso dalle impostazioni individuali.289Le organizzazioni possono distribuire un CLAUDE.md gestito centralmente che si applica a tutti gli utenti su una macchina. Gli sviluppatori possono [escludere altri file CLAUDE.md](#exclude-specific-claude-md-files) con l'impostazione `claudeMdExcludes`, ma non questo. Se uno sviluppatore avvia una sessione con il caricamento di CLAUDE.md completamente disattivato, quella sessione non carica nemmeno il contenuto gestito. Utilizza il file per fornire indicazioni e imponi le regole con le [impostazioni gestite](/docs/it/managed-settings) come `permissions.deny`.

283 290 

284**1. Crea il file nel percorso della politica gestita**291**1. Crea il file nel percorso della politica gestita**

285 292 


293 300 

294La chiave `claudeMd` ti permette di inserire il contenuto CLAUDE.md gestito direttamente all'interno di `managed-settings.json` invece di distribuire un file separato.301La chiave `claudeMd` ti permette di inserire il contenuto CLAUDE.md gestito direttamente all'interno di `managed-settings.json` invece di distribuire un file separato.

295 302 

296**Ambito**: ogni sessione di Claude Code sulla macchina, in ogni repository. Per indicazioni specifiche di un repository, fai invece il commit di un CLAUDE.md di progetto.303**Ambito**: tutti gli utenti sulla macchina, in qualsiasi repository. Per indicazioni specifiche di un repository, fai invece il commit di un CLAUDE.md di progetto.

297 304 

298**Precedenza**: la stessa di un file CLAUDE.md gestito. Si carica prima dei CLAUDE.md utente e di progetto.305**Precedenza**: la stessa di un file CLAUDE.md gestito. Si carica prima dei CLAUDE.md utente e di progetto.

299 306 


323 330 

324#### Escludi file CLAUDE.md specifici331#### Escludi file CLAUDE.md specifici

325 332 

326Nei grandi monorepo, i file CLAUDE.md delle directory superiori possono contenere istruzioni che non sono rilevanti per il tuo lavoro. L'impostazione `claudeMdExcludes` ti permette di saltare file specifici per percorso o modello glob.333Nei grandi monorepo, i file CLAUDE.md delle directory superiori possono contenere istruzioni che non sono rilevanti per il tuo lavoro. L'impostazione `claudeMdExcludes` ti permette di saltare file specifici per percorso o modello glob. Non puoi escludere un [file CLAUDE.md gestito](#deploy-organization-wide-claude-md) con `claudeMdExcludes`.

327 334 

328Questo esempio esclude un CLAUDE.md di livello superiore e una directory di regole da una cartella padre. Aggiungilo a `.claude/settings.local.json` in modo che l'esclusione rimanga locale alla tua macchina:335Questo esempio esclude un CLAUDE.md di livello superiore e una directory di regole da una cartella padre. Aggiungilo a `.claude/settings.local.json` in modo che l'esclusione rimanga locale alla tua macchina:

329 336 


340 347 

341Per escludere un file di regole che raggiungi attraverso un [collegamento simbolico](#share-rules-across-projects-with-symlinks), che il link sia il file stesso o la sua directory, scrivi il modello rispetto a uno dei due percorsi: il percorso del file sotto `.claude/rules/` o la destinazione del link. Un modello che corrisponde a uno dei due percorsi esclude il file. Prima della v2.1.239, solo un modello che corrispondeva alla destinazione del link escludeva il file.348Per escludere un file di regole che raggiungi attraverso un [collegamento simbolico](#share-rules-across-projects-with-symlinks), che il link sia il file stesso o la sua directory, scrivi il modello rispetto a uno dei due percorsi: il percorso del file sotto `.claude/rules/` o la destinazione del link. Un modello che corrisponde a uno dei due percorsi esclude il file. Prima della v2.1.239, solo un modello che corrispondeva alla destinazione del link escludeva il file.

342 349 

343I file CLAUDE.md della politica gestita non possono essere esclusi. Questo garantisce che le istruzioni a livello organizzativo si applichino sempre indipendentemente dalle impostazioni individuali.

344 

345## AGENTS.md350## AGENTS.md

346 351 

347Claude Code può leggere [`AGENTS.md`](/docs/it/glossary#agents-md) come istruzioni del vostro progetto, quindi un repository già configurato per altri agenti di codifica funziona senza aggiungere un `CLAUDE.md`, un import o un'impostazione. Questa tabella mostra cosa Claude legge per impostazione predefinita per ogni combinazione di file di istruzioni nel vostro repository:352Claude Code può leggere [`AGENTS.md`](/docs/it/glossary#agents-md) come istruzioni del vostro progetto, quindi un repository già configurato per altri agenti di codifica funziona senza aggiungere un `CLAUDE.md`, un import o un'impostazione. Questa tabella mostra cosa Claude legge per impostazione predefinita per ogni combinazione di file di istruzioni nel vostro repository:

model-config.md +6 −2

Details

441 441 

442La vostra organizzazione può limitare il [livello di sforzo](#adjust-effort-level) in due modi. Su un piano Claude Enterprise, gli amministratori dell'organizzazione impostano limiti di sforzo per ruolo, descritti di seguito. Su qualsiasi piano e qualsiasi provider, inclusi Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, l'impostazione gestita [`maxEffortLevel`](/docs/it/settings-reference#maxeffortlevel) limita lo sforzo sul client. Quando entrambi si applicano a un modello, si applica il limite inferiore.442La vostra organizzazione può limitare il [livello di sforzo](#adjust-effort-level) in due modi. Su un piano Claude Enterprise, gli amministratori dell'organizzazione impostano limiti di sforzo per ruolo, descritti di seguito. Su qualsiasi piano e qualsiasi provider, inclusi Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, l'impostazione gestita [`maxEffortLevel`](/docs/it/settings-reference#maxeffortlevel) limita lo sforzo sul client. Quando entrambi si applicano a un modello, si applica il limite inferiore.

443 443 

444Gli amministratori dell'organizzazione nei piani Claude Enterprise possono impostare un [livello di sforzo](#adjust-effort-level) massimo per modello per ogni ruolo personalizzato, insieme alle [restrizioni del modello a livello di organizzazione](#organization-model-restrictions). I livelli superiori al limite non vengono offerti nel selettore `/effort`, e denominare un livello superiore con `--effort` o `/effort` viene eseguito al limite. Nelle sessioni interattive e nelle esecuzioni in testo semplice `--print`, un avviso nomina i livelli richiesti e applicati; con output `json` o `stream-json` o negli agenti in background, il limite si applica silenziosamente. I limiti sono per modello, quindi il cambio di modelli può modificare quali livelli sono disponibili. Quando diversi vostri ruoli concedono lo stesso modello, si applica il limite meno restrittivo. Richiede Claude Code v2.1.195 o successivo.444Gli amministratori dell'organizzazione nei piani Claude Enterprise possono impostare un [livello di sforzo](#adjust-effort-level) massimo per modello per ogni ruolo personalizzato, insieme alle [restrizioni del modello a livello di organizzazione](#organization-model-restrictions). Richiede Claude Code v2.1.195 o successivo.

445 

446* I livelli superiori al limite non vengono offerti nel selettore `/effort`, e indicare un livello superiore con `--effort` o `/effort` esegue invece al limite. Se avvii un'esecuzione in testo semplice `--print` con `--effort` superiore al limite, un avviso su stderr indica i livelli richiesti e applicati. Nelle sessioni interattive, con output `json` o `stream-json`, o negli agenti in background, quell'avviso va invece nel [log di debug](/docs/it/errors#configuration-warnings).

447* I limiti sono per modello, quindi il cambio di modello può modificare quali livelli sono disponibili.

448* Quando diversi tuoi ruoli concedono lo stesso modello, si applica il limite meno restrittivo.

445 449 

446I limiti di sforzo vengono forniti insieme alle [restrizioni del modello dell'organizzazione](#organization-model-restrictions) e raggiungono le stesse sessioni.450I limiti di sforzo vengono forniti insieme alle [restrizioni del modello dell'organizzazione](#organization-model-restrictions) e raggiungono le stesse sessioni.

447 451 


843* Se Claude Code non può risolvere un provider o un'ortografia personalizzata a un modello che riconosce e l'ID non contiene `[1m]`, la variabile si applica direttamente e la compattazione proattiva continua alla finestra dichiarata.847* Se Claude Code non può risolvere un provider o un'ortografia personalizzata a un modello che riconosce e l'ID non contiene `[1m]`, la variabile si applica direttamente e la compattazione proattiva continua alla finestra dichiarata.

844* Se Claude Code non può risolvere un provider o un'ortografia personalizzata a un modello che riconosce e l'ID contiene `[1m]`, in qualsiasi maiuscola/minuscola, Claude Code assume una finestra di 1M per esso e la variabile non si applica da sola. Per correggere la finestra mantenendo la compattazione proattiva, imposta anche [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/it/env-vars). Con quella variabile impostata, Claude Code dimensiona l'ID come la stessa ortografia senza `[1m]`, quindi `CLAUDE_CODE_MAX_CONTEXT_TOKENS` si applica quando si applicherebbe a tale ortografia senza tag.848* Se Claude Code non può risolvere un provider o un'ortografia personalizzata a un modello che riconosce e l'ID contiene `[1m]`, in qualsiasi maiuscola/minuscola, Claude Code assume una finestra di 1M per esso e la variabile non si applica da sola. Per correggere la finestra mantenendo la compattazione proattiva, imposta anche [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/it/env-vars). Con quella variabile impostata, Claude Code dimensiona l'ID come la stessa ortografia senza `[1m]`, quindi `CLAUDE_CODE_MAX_CONTEXT_TOKENS` si applica quando si applicherebbe a tale ortografia senza tag.

845 849 

846 Con una finestra dichiarata superiore a 200K, Claude Code mostra quindi un [avviso di avvio](/docs/it/errors#the-200k-limit-isnt-enforced) che il limite di 200K non è applicato. L'avviso è previsto in questa configurazione.850 Con una finestra dichiarata superiore a 200K, l'avviso che [il limite di 200K non è applicato](/docs/it/errors#the-200k-limit-isnt-enforced) è previsto in questa configurazione.

847* Se l'ID si risolve a un modello che Claude Code riconosce, o l'ID è un nome `claude-` semplice senza suffisso per Claude Code da rimuovere, in qualsiasi maiuscola/minuscola, la variabile ha effetto solo quando imposti anche [`DISABLE_COMPACT`](/docs/it/env-vars), che disabilita tutta la compattazione.851* Se l'ID si risolve a un modello che Claude Code riconosce, o l'ID è un nome `claude-` semplice senza suffisso per Claude Code da rimuovere, in qualsiasi maiuscola/minuscola, la variabile ha effetto solo quando imposti anche [`DISABLE_COMPACT`](/docs/it/env-vars), che disabilita tutta la compattazione.

848 852 

849 Ad esempio, un ID che contiene un nome di modello Claude che Claude Code conosce, come `anthropic/claude-opus-4-8`, `us.anthropic.claude-…-v1:0`, o il datato `claude-sonnet-4-5@20250929`, si risolve a quel modello. Questo include gli ID che contengono anche `[1m]`: Claude Code risolve `claude-opus-4-8[1m]` a Opus 4.8 anche con `CLAUDE_CODE_DISABLE_1M_CONTEXT` impostato.853 Ad esempio, un ID che contiene un nome di modello Claude che Claude Code conosce, come `anthropic/claude-opus-4-8`, `us.anthropic.claude-…-v1:0`, o il datato `claude-sonnet-4-5@20250929`, si risolve a quel modello. Questo include gli ID che contengono anche `[1m]`: Claude Code risolve `claude-opus-4-8[1m]` a Opus 4.8 anche con `CLAUDE_CODE_DISABLE_1M_CONTEXT` impostato.

Details

220| `claude.ai` | Autenticazione dell'account claude.ai |220| `claude.ai` | Autenticazione dell'account claude.ai |

221| `claude.com` | L'accesso all'account claude.ai apre una pagina `claude.com` nel browser, che reindirizza a `claude.ai`; le ricerche di documentazione WebFetch pre-approvate raggiungono anche questo host dalla CLI |221| `claude.com` | L'accesso all'account claude.ai apre una pagina `claude.com` nel browser, che reindirizza a `claude.ai`; le ricerche di documentazione WebFetch pre-approvate raggiungono anche questo host dalla CLI |

222| `platform.claude.com` | Autenticazione dell'account Anthropic Console. Lo scambio, il rinnovo e la revoca dei token OAuth vanno anche a questo host per gli account claude.ai, quindi sia gli accessi a Console che a claude.ai lo richiedono |222| `platform.claude.com` | Autenticazione dell'account Anthropic Console. Lo scambio, il rinnovo e la revoca dei token OAuth vanno anche a questo host per gli account claude.ai, quindi sia gli accessi a Console che a claude.ai lo richiedono |

223| `sso.claude.com` | Parte del flusso di accesso dal browser per le organizzazioni che utilizzano il single sign-on (SSO). Se un proxy blocca questo host, tali accessi possono non riuscire |

223| `mcp-proxy.anthropic.com` | [Connettori MCP da claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai), inclusi i connettori che un amministratore dell'organizzazione configura. Il traffico dei connettori viene instradato attraverso questo proxy; i connettori sono abilitati per impostazione predefinita per gli utenti autenticati con claude.ai. Per impedire a Claude Code di recuperarli, impostate [`ENABLE_CLAUDEAI_MCP_SERVERS=false`](/docs/it/env-vars) o l'impostazione [`disableClaudeAiConnectors`](/docs/it/settings-reference#disableclaudeaiconnectors) |224| `mcp-proxy.anthropic.com` | [Connettori MCP da claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai), inclusi i connettori che un amministratore dell'organizzazione configura. Il traffico dei connettori viene instradato attraverso questo proxy; i connettori sono abilitati per impostazione predefinita per gli utenti autenticati con claude.ai. Per impedire a Claude Code di recuperarli, impostate [`ENABLE_CLAUDEAI_MCP_SERVERS=false`](/docs/it/env-vars) o l'impostazione [`disableClaudeAiConnectors`](/docs/it/settings-reference#disableclaudeaiconnectors) |

224| `downloads.claude.ai` | Download degli eseguibili dei plugin; programma di installazione nativo, aggiornamento automatico nativo e controlli della versione di aggiornamento |225| `downloads.claude.ai` | Download degli eseguibili dei plugin; programma di installazione nativo, aggiornamento automatico nativo e controlli della versione di aggiornamento |

225| `storage.googleapis.com` | Conteggi di installazione dei plugin e metadati mostrati in `/plugin` |226| `storage.googleapis.com` | Conteggi di installazione dei plugin e metadati mostrati in `/plugin` |

overview.md +5 −5

Details

22 22 

23**macOS, Linux, WSL:**23**macOS, Linux, WSL:**

24 24 

25```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}25```bash theme={null}

26curl -fsSL https://claude.ai/install.sh | bash26curl -fsSL https://claude.ai/install.sh | bash

27```27```

28 28 


30 30 

31**Windows PowerShell:**31**Windows PowerShell:**

32 32 

33```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}33```powershell theme={null}

34irm https://claude.ai/install.ps1 | iex34irm https://claude.ai/install.ps1 | iex

35```35```

36 36 

37**Windows CMD:**37**Windows CMD:**

38 38 

39```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}39```batch theme={null}

40curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd40curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

41```41```

42 42 


54 54 

55**Homebrew**55**Homebrew**

56 56 

57```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}57```bash theme={null}

58brew install --cask claude-code58brew install --cask claude-code

59```59```

60 60 


66 66 

67**WinGet**67**WinGet**

68 68 

69```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}69```powershell theme={null}

70winget install Anthropic.ClaudeCode70winget install Anthropic.ClaudeCode

71```71```

72 72 

Details

8 8 

9Una modalità di autorizzazione imposta quali azioni Claude può intraprendere in una sessione senza chiederti prima. In modalità manuale, Claude Code si ferma e ti chiede prima della maggior parte delle azioni che modificano file, eseguono comandi shell o raggiungono la rete. In [auto mode](#eliminate-prompts-with-auto-mode), un secondo modello, il classificatore, esamina le azioni al tuo posto; [come il classificatore valuta le azioni](#how-the-classifier-evaluates-actions) elenca quali azioni esamina e quali le salta.9Una modalità di autorizzazione imposta quali azioni Claude può intraprendere in una sessione senza chiederti prima. In modalità manuale, Claude Code si ferma e ti chiede prima della maggior parte delle azioni che modificano file, eseguono comandi shell o raggiungono la rete. In [auto mode](#eliminate-prompts-with-auto-mode), un secondo modello, il classificatore, esamina le azioni al tuo posto; [come il classificatore valuta le azioni](#how-the-classifier-evaluates-actions) elenca quali azioni esamina e quali le salta.

10 10 

11Con Claude Code v2.1.283 o successivo, la modalità auto è la modalità di autorizzazione predefinita integrata per le sessioni di terminale interattivo e VS Code. Nelle versioni precedenti, è la modalità di autorizzazione predefinita integrata solo nei piani Pro, Max e Team. [Quale modalità inizia una sessione](#which-mode-a-session-starts-in) copre le superfici e le impostazioni che cambiano la modalità di autorizzazione iniziale. Puoi anche cambiare la modalità di autorizzazione di una sessione in esecuzione in qualsiasi momento.11Con Claude Code v2.1.283 o successivo, la modalità auto è la modalità di autorizzazione predefinita integrata per le sessioni di terminale interattivo e VS Code. Nelle versioni precedenti, è la modalità di autorizzazione predefinita integrata solo nei piani Pro, Max e Team. [In quale modalità inizia una sessione](#which-mode-a-session-starts-in) copre le superfici e le impostazioni che cambiano la modalità di autorizzazione iniziale. Puoi anche cambiare la modalità di autorizzazione di una sessione in esecuzione in qualsiasi momento.

12 12 

13## Modalità disponibili13## Modalità disponibili

14 14 


57 57 

58La sandbox Bash e la modalità auto funzionano indipendentemente e si combinano, con le eccezioni elencate in [Modalità sandbox](/docs/it/sandboxing#sandbox-modes). Per l'interazione completa, vedi [Come il sandboxing si relaziona alle autorizzazioni e alle modalità di autorizzazione](/docs/it/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes) e [Come l'isolamento si relaziona alle modalità di autorizzazione](/docs/it/sandbox-environments#how-isolation-relates-to-permission-modes).58La sandbox Bash e la modalità auto funzionano indipendentemente e si combinano, con le eccezioni elencate in [Modalità sandbox](/docs/it/sandboxing#sandbox-modes). Per l'interazione completa, vedi [Come il sandboxing si relaziona alle autorizzazioni e alle modalità di autorizzazione](/docs/it/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes) e [Come l'isolamento si relaziona alle modalità di autorizzazione](/docs/it/sandbox-environments#how-isolation-relates-to-permission-modes).

59 59 

60## Quale modalità inizia una sessione60## In quale modalità inizia una sessione

61 61 

62Quando avvii una nuova sessione in un terminale, Claude Code prende la modalità di permesso dal primo di questi che si applica:62Quando avvii una nuova sessione in un terminale, Claude Code prende la modalità di permesso dal primo di questi che si applica:

63 63 


172 172 

173Osserva la barra di stato in questo clip di una sessione avviata in modalità auto. Ogni volta che premi `Shift+Tab`, passa da `auto mode on` a `manual mode on`, `accept edits on`, `plan mode on` e di nuovo a `auto mode on`.173Osserva la barra di stato in questo clip di una sessione avviata in modalità auto. Ogni volta che premi `Shift+Tab`, passa da `auto mode on` a `manual mode on`, `accept edits on`, `plan mode on` e di nuovo a `auto mode on`.

174 174 

175<video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/oa7CKjMeIChox26S/images/permission-modes-cycle-light.mp4?fit=max&auto=format&n=oa7CKjMeIChox26S&q=85&s=198ca90aeb2e3675b3d01b7d686aab0b" aria-label="La barra di stato sotto il prompt di Claude Code cambia a ogni pressione di Shift+Tab: auto mode on, manual mode on, accept edits on, plan mode on, poi di nuovo auto mode on." />175<video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/tA-x-5L2YsYSVdee/images/permission-modes-cycle-light.mp4?fit=max&auto=format&n=tA-x-5L2YsYSVdee&q=85&s=3927dd62d59b01efd81b3578f2a6f971" aria-label="La barra di stato sotto il prompt di Claude Code cambia a ogni pressione di Shift+Tab: auto mode on, manual mode on, accept edits on, plan mode on, poi di nuovo auto mode on." />

176 176 

177Non tutte le modalità sono nel ciclo predefinito:177Non tutte le modalità sono nel ciclo predefinito:

178 178 


236* **Auto**: appare quando [auto mode è disponibile](#eliminate-prompts-with-auto-mode)236* **Auto**: appare quando [auto mode è disponibile](#eliminate-prompts-with-auto-mode)

237* **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 invece237* **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

238 238 

239La scheda Cowork non utilizza queste modalità. Cowork ha le sue proprie modalità di autorizzazione, abilitate separatamente, e la scheda Cowork non mostra alcun selettore di modalità fino a quando una modalità oltre il suo predefinito non è abilitata per il tuo account. Vedi la [documentazione Cowork](https://claude.com/docs/cowork/overview).239Cowork non utilizza queste modalità. Ha le sue proprie modalità di permesso, abilitate separatamente, e non mostra alcun selettore di modalità finché una modalità oltre quella predefinita non viene abilitata per il tuo account. Vedi la [documentazione Cowork](https://claude.com/docs/cowork/overview).

240 240 

241Per i dettagli specifici del desktop, vedi [Scegli una modalità di autorizzazione](/docs/it/desktop#choose-a-permission-mode) nella guida Desktop.241Per i dettagli specifici del desktop, vedi [Scegli una modalità di autorizzazione](/docs/it/desktop#choose-a-permission-mode) nella guida Desktop.

242 242 


348 348 

349Su [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry) e sessioni [gateway di app Claude](/docs/it/claude-apps-gateway) con accesso, la modalità auto è disponibile per impostazione predefinita. 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`:349Su [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry) e sessioni [gateway di app Claude](/docs/it/claude-apps-gateway) con accesso, la modalità auto è disponibile per impostazione predefinita. 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`:

350 350 

351* **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.351* **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. [In quale modalità inizia una sessione](#which-mode-a-session-starts-in) elenca le versioni di Claude Code che le avviano in modalità auto.

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

353 353 

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


579>579>

580> Anche un [mod](/docs/it/plugins/mods/overview) che installi e che gestisce `tool.check` può approvare un'azione. Per i casi in cui la sua approvazione non supera le tue regole e i tuoi hook, vedi [Estendi i permessi con gli hook](/docs/it/permissions#precedence-among-rules-hooks-and-mods).580> Anche un [mod](/docs/it/plugins/mods/overview) che installi e che gestisce `tool.check` può approvare un'azione. Per i casi in cui la sua approvazione non supera le tue regole e i tuoi hook, vedi [Estendi i permessi con gli hook](/docs/it/permissions#precedence-among-rules-hooks-and-mods).

581>581>

582> Nell'estensione VS Code, il modo in cui vengono approvate le azioni del browser di [Claude in Chrome](/docs/it/chrome) dipende da come la sessione si è connessa al browser: vedi [Richieste di permesso nelle sessioni VS Code](/docs/it/chrome#permission-prompts-in-vs-code-sessions).582> Per sapere come vengono approvate le azioni del browser di [Claude in Chrome](/docs/it/chrome) nell'estensione VS Code, vedi [Richieste di permesso nelle sessioni VS Code](/docs/it/chrome#permission-prompts-in-vs-code-sessions).

583>583>

584> Entrando in modalità auto, le regole allow ampie che concedono l'esecuzione arbitraria di codice vengono eliminate:584> Entrando in modalità auto, le regole allow ampie che concedono l'esecuzione arbitraria di codice vengono eliminate:

585>585>


667* **Se accetti**: Claude Code imposta `skipDangerousModePermissionPrompt` su `true` in `~/.claude/settings.json`, in modo che le sessioni successive saltino la finestra di dialogo. Per visualizzare di nuovo la finestra di dialogo, rimuovi la chiave da quel file o impostala su `false`. Il [riferimento `skipDangerousModePermissionPrompt`](/docs/it/settings-reference#skipdangerousmodepermissionprompt) elenca gli altri file di impostazioni dove tu o la tua organizzazione potete impostarla.667* **Se accetti**: Claude Code imposta `skipDangerousModePermissionPrompt` su `true` in `~/.claude/settings.json`, in modo che le sessioni successive saltino la finestra di dialogo. Per visualizzare di nuovo la finestra di dialogo, rimuovi la chiave da quel file o impostala su `false`. Il [riferimento `skipDangerousModePermissionPrompt`](/docs/it/settings-reference#skipdangerousmodepermissionprompt) elenca gli altri file di impostazioni dove tu o la tua organizzazione potete impostarla.

668* **Se rifiuti**: Claude Code esce.668* **Se rifiuti**: Claude Code esce.

669 669 

670In [modalità non interattiva](/docs/it/headless) nessuna finestra di dialogo viene mostrata. Una [sessione in background](/docs/it/agent-view) rispetta la tua accettazione quando è registrata nelle impostazioni utente o nelle impostazioni gestite:670In [modalità non interattiva](/docs/it/headless) nessuna finestra di dialogo viene mostrata.

671 

672Una [sessione in background](/docs/it/agent-view) rispetta la tua accettazione quando è registrata nelle impostazioni utente o nelle impostazioni gestite:

673 

674* Se non è registrata alcuna accettazione, `claude --bg --permission-mode bypassPermissions` viene rifiutato. Accetta prima la finestra di dialogo in una sessione interattiva.

675* Con `skipDangerousModePermissionPrompt` impostato solo in `.claude/settings.local.json`, la sessione in background si avvia con [la richiesta di bypass ignorata](#bypass-permissions-ignored-in-a-background-session):

671 676 

672* Se non è registrata alcuna accettazione, `claude --bg --permission-mode bypassPermissions` viene rifiutato finché non accetti la finestra di dialogo in una sessione interattiva.

673* Con `skipDangerousModePermissionPrompt` impostato solo in `.claude/settings.local.json`, la sessione in background si avvia ignorando la richiesta di bypass e fissa l'avviso `Bypass permissions was requested at launch and ignored · if that was you, ~/.claude/settings.json needs "skipDangerousModePermissionPrompt": true`. Aggiungi quella chiave a `~/.claude/settings.json`, poi avvia una nuova sessione in background. La sessione che mostra l'avviso viene comunque eseguita:

674 * Con `--allow-dangerously-skip-permissions` ignorato, `bypassPermissions` viene escluso dal suo ciclo `Shift+Tab`.677 * Con `--allow-dangerously-skip-permissions` ignorato, `bypassPermissions` viene escluso dal suo ciclo `Shift+Tab`.

675 * Con `--permission-mode bypassPermissions` o `--dangerously-skip-permissions` ignorati, la sessione si avvia invece in modalità Manual.678 * Con `--permission-mode bypassPermissions` o `--dangerously-skip-permissions` ignorati, la sessione si avvia invece in modalità Manual.

676 679 

680 Aggiungi `"skipDangerousModePermissionPrompt": true` a `~/.claude/settings.json`, poi avvia una nuova sessione in background.

681 

677Su Linux e macOS, Claude Code rifiuta di avviarsi in modalità `bypassPermissions` quando viene eseguito come root o sotto `sudo`:682Su Linux e macOS, Claude Code rifiuta di avviarsi in modalità `bypassPermissions` quando viene eseguito come root o sotto `sudo`:

678 683 

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


688>693>

689> `bypassPermissions` non offre protezione contro l'iniezione di prompt o azioni indesiderate. Per i controlli di sicurezza di background con molti meno prompt di autorizzazione, utilizza invece la [modalità auto](#eliminate-prompts-with-auto-mode). Gli amministratori possono bloccare questa modalità impostando `permissions.disableBypassPermissionsMode` su `"disable"` nelle [impostazioni gestite](/docs/it/managed-settings).694> `bypassPermissions` non offre protezione contro l'iniezione di prompt o azioni indesiderate. Per i controlli di sicurezza di background con molti meno prompt di autorizzazione, utilizza invece la [modalità auto](#eliminate-prompts-with-auto-mode). Gli amministratori possono bloccare questa modalità impostando `permissions.disableBypassPermissionsMode` su `"disable"` nelle [impostazioni gestite](/docs/it/managed-settings).

690 695 

696### Bypass dei permessi ignorato in una sessione in background

697 

698Questo avviso significa che la [sessione in background](/docs/it/agent-view) non ha trovato la tua accettazione dell'[avviso sul bypass dei permessi](#bypass-permissions-acceptance) nelle impostazioni utente o nelle impostazioni gestite, quindi ha ignorato la richiesta di bypass effettuata al lancio:

699 

700```text theme={null}

701Bypass permissions was requested at launch and ignored · if that was you, ~/.claude/settings.json needs "skipDangerousModePermissionPrompt": true

702```

703 

704Aggiungi `"skipDangerousModePermissionPrompt": true` a `~/.claude/settings.json`, poi avvia una nuova sessione in background.

705 

706### `claude agents` mostra l'avviso sul bypass dei permessi che le sessioni interattive saltano

707 

708Se [`claude agents`](/docs/it/agent-view#dispatch-defaults) mostra l'[avviso sul bypass dei permessi](#bypass-permissions-acceptance) nonostante le tue sessioni interattive lo saltino, verifica se `skipDangerousModePermissionPrompt` è impostato in `.claude/settings.local.json` o in un file `--settings`. Le sessioni interattive considerano la chiave presente lì come la tua accettazione dell'avviso, mentre `claude agents` no. Che tu la trovi lì o meno, accetta l'avviso per aggiungere la chiave a `~/.claude/settings.json`, dove `claude agents` la cerca.

709 

691## Percorsi protetti710## Percorsi protetti

692 711 

693Le scritture in un piccolo insieme di percorsi non vengono mai auto-approvate, tranne in modalità `bypassPermissions` e nelle sessioni di terminale interattivo in modalità plan dove le [autorizzazioni di bypass](#skip-all-checks-with-bypasspermissions-mode) sono disponibili. Ciò previene la corruzione accidentale dello stato del repository e della configurazione di Claude.712Le scritture in un piccolo insieme di percorsi non vengono mai auto-approvate, tranne in modalità `bypassPermissions` e nelle sessioni di terminale interattivo in modalità plan dove le [autorizzazioni di bypass](#skip-all-checks-with-bypasspermissions-mode) sono disponibili. Ciò previene la corruzione accidentale dello stato del repository e della configurazione di Claude.

permissions.md +38 −15

Details

59 59 

60Una regola deny ampia come `Bash(aws *)` blocca ogni chiamata corrispondente, incluse le chiamate che corrispondono anche a una regola allow più ristretta come `Bash(aws s3 ls)`. Una regola allow non può creare un'eccezione da una regola deny. La stessa precedenza si applica tra ask e allow: una regola ask corrispondente richiede una conferma anche quando una regola allow più specifica corrisponde anche alla stessa chiamata.60Una regola deny ampia come `Bash(aws *)` blocca ogni chiamata corrispondente, incluse le chiamate che corrispondono anche a una regola allow più ristretta come `Bash(aws s3 ls)`. Una regola allow non può creare un'eccezione da una regola deny. La stessa precedenza si applica tra ask e allow: una regola ask corrispondente richiede una conferma anche quando una regola allow più specifica corrisponde anche alla stessa chiamata.

61 61 

62Le regole deny si comportano diversamente a seconda che denominino uno strumento o che limitino un modello all'interno di uno. Un nome di strumento semplice come `Bash` rimuove lo strumento dal contesto di Claude interamente, quindi Claude non lo vede mai. Se aggiungete tale regola a metà sessione, Claude non può chiamare lo strumento dalla sua prossima chiamata dello strumento in poi; [Denying an entire tool](/docs/it/prompt-caching#denying-an-entire-tool) spiega cosa accade a una definizione che Claude ha già visto. Una regola limitata come `Bash(rm *)` lascia lo strumento disponibile e blocca le chiamate corrispondenti quando Claude tenta di utilizzarle.62Le regole deny si comportano diversamente a seconda che denominino uno strumento o che limitino un modello all'interno di uno. Un nome di strumento semplice come `Bash` rimuove lo strumento dal contesto di Claude interamente, quindi Claude non lo vede mai. Se aggiungete tale regola a metà sessione, Claude non può chiamare lo strumento dalla sua prossima chiamata dello strumento in poi; [Negazione di un intero strumento](/docs/it/prompt-caching#denying-an-entire-tool) spiega cosa accade a una definizione che Claude ha già visto. Una regola limitata come `Bash(rm *)` lascia lo strumento disponibile e blocca le chiamate corrispondenti quando Claude tenta di utilizzarle.

63 63 

64La rimozione con nome semplice si applica a ogni strumento tranne [`EndConversation`](/docs/it/tools-reference#endconversation-tool-behavior): una regola deny non può rimuoverlo mentre rimane qualsiasi altro strumento, e una regola ask non lo richiede mai.64La rimozione con nome semplice si applica a ogni strumento tranne [`EndConversation`](/docs/it/tools-reference#endconversation-tool-behavior): una regola deny non può rimuoverlo mentre rimane qualsiasi altro strumento, e una regola ask non lo richiede mai.

65 65 


71 71 

72## Modalità di autorizzazione72## Modalità di autorizzazione

73 73 

74Claude Code supporta diverse modalità di autorizzazione che controllano come approva le chiamate di strumenti. Vedi [Permission modes](/docs/it/permission-modes) per quando utilizzare ciascuna. Per modificare la modalità in cui iniziano le sessioni, imposta `defaultMode` nei tuoi [file di impostazioni](/docs/it/settings#where-settings-live). [Which mode a session starts in](/docs/it/permission-modes#which-mode-a-session-starts-in) copre il valore predefinito integrato per ogni piano e cosa legge l'estensione VS Code.74Claude Code supporta diverse modalità di autorizzazione che controllano come approva le chiamate di strumenti. Vedi [Modalità di autorizzazione](/docs/it/permission-modes) per quando utilizzare ciascuna. Per modificare la modalità in cui iniziano le sessioni, imposta `defaultMode` nei tuoi [file di impostazioni](/docs/it/settings#where-settings-live). [In quale modalità inizia una sessione](/docs/it/permission-modes#which-mode-a-session-starts-in) copre il valore predefinito integrato per ogni piano e cosa legge l'estensione VS Code.

75 75 

76| Modalità | Descrizione |76| Modalità | Descrizione |

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


102| `WebFetch` | Corrisponde a tutte le richieste di web fetch |102| `WebFetch` | Corrisponde a tutte le richieste di web fetch |

103| `Read` | Corrisponde a tutte le letture di file |103| `Read` | Corrisponde a tutte le letture di file |

104 104 

105`Bash(*)` è equivalente a `Bash` e corrisponde a tutti i comandi Bash. Come regola di negazione, entrambe le forme rimuovono lo strumento dal contesto di Claude.105`Bash(*)` è equivalente a `Bash` e corrisponde a tutti i comandi Bash. Come regola deny, entrambe le forme rimuovono lo strumento dal contesto di Claude.

106 106 

107### Utilizzare gli specificatori per il controllo granulare107### Utilizzare gli specificatori per il controllo granulare

108 108 


116 116 

117### Corrispondere per parametro di input117### Corrispondere per parametro di input

118 118 

119Le regole di negazione e richiesta possono corrispondere a un parametro di input di primo livello su qualsiasi strumento integrato con `Tool(param:value)`.119Le regole deny e ask possono corrispondere a un parametro di input di primo livello su qualsiasi strumento integrato con `Tool(param:value)`.

120 120 

121Per corrispondere a un parametro su uno strumento MCP, passate una regola di negazione con [`--disallowedTools`](/docs/it/cli-reference#cli-flags). Quando Claude Code carica un file di impostazioni, salta qualsiasi regola `mcp__` che ha parentesi. Claude Code elenca la regola saltata nella finestra di dialogo delle impostazioni non valide quando inizia una sessione interattiva e nell'output di [`claude doctor`](/docs/it/debug-your-config#check-resolved-settings).121Per corrispondere a un parametro su uno strumento MCP, passate una regola deny con [`--disallowedTools`](/docs/it/cli-reference#cli-flags). Quando Claude Code carica un file di impostazioni, salta qualsiasi regola `mcp__` che ha parentesi. Claude Code elenca la regola saltata nella finestra di dialogo delle impostazioni non valide quando inizia una sessione interattiva e nell'output di [`claude doctor`](/docs/it/debug-your-config#check-resolved-settings).

122 122 

123Una regola di parametro corrisponde quando Claude chiama lo strumento con quel parametro impostato su quel valore esatto. Una regola di autorizzazione per un valore di parametro non stabilirerebbe che la chiamata è sicura nel complesso, quindi le regole di autorizzazione continuano a utilizzare la sintassi dello specificatore di ogni strumento. Questo funziona per qualsiasi parametro scalare che lo strumento accetta:123Una regola di parametro corrisponde quando Claude chiama lo strumento con quel parametro impostato su quel valore esatto. Una regola di autorizzazione per un valore di parametro non stabilirerebbe che la chiamata è sicura nel complesso, quindi le regole di autorizzazione continuano a utilizzare la sintassi dello specificatore di ogni strumento. Questo funziona per qualsiasi parametro scalare che lo strumento accetta:

124 124 


135* Il valore supporta `*` come carattere jolly che corrisponde a qualsiasi sequenza di caratteri, quindi `Agent(isolation:*)` corrisponde a qualsiasi valore di isolamento esplicito. Senza `*` la corrispondenza è esatta135* Il valore supporta `*` come carattere jolly che corrisponde a qualsiasi sequenza di caratteri, quindi `Agent(isolation:*)` corrisponde a qualsiasi valore di isolamento esplicito. Senza `*` la corrispondenza è esatta

136* Un parametro che il modello omette non viene mai corrispondente, quindi `Agent(model:*)` non corrisponde a una chiamata che lascia `model` non impostato136* Un parametro che il modello omette non viene mai corrispondente, quindi `Agent(model:*)` non corrisponde a una chiamata che lascia `model` non impostato

137* Il valore viene confrontato con l'input letterale che Claude invia, prima di qualsiasi normalizzazione. `Agent(model:opus)` corrisponde all'alias `opus` ma non a un ID modello completo137* Il valore viene confrontato con l'input letterale che Claude invia, prima di qualsiasi normalizzazione. `Agent(model:opus)` corrisponde all'alias `opus` ma non a un ID modello completo

138* Una regola di negazione `Skill(skill:<name>)` invece [corrisponde alla skill sotto uno qualsiasi dei suoi nomi](/docs/it/skills#restrict-claude%E2%80%99s-skill-access), come il suo alias o nome visualizzato138* Una regola deny `Skill(skill:<name>)` invece [corrisponde alla skill sotto uno qualsiasi dei suoi nomi](/docs/it/skills#restrict-claude%E2%80%99s-skill-access), come il suo alias o nome visualizzato

139* Eseguite con [`--verbose`](/docs/it/cli-reference) per vedere i nomi e i valori dei parametri esatti in ogni chiamata dello strumento139* Eseguite con [`--verbose`](/docs/it/cli-reference) per vedere i nomi e i valori dei parametri esatti in ogni chiamata dello strumento

140* Lo spazio intorno ai due punti viene ignorato140* Lo spazio intorno ai due punti viene ignorato

141 141 


190 190 

191### Caratteri jolly nei nomi degli strumenti191### Caratteri jolly nei nomi degli strumenti

192 192 

193Le regole di negazione e richiesta accettano anche modelli glob nella posizione del nome dello strumento. Il modello deve corrispondere al nome completo dello strumento: `"*"` corrisponde a ogni strumento, e `"mcp__*"` corrisponde a ogni strumento MCP su tutti i server. Uno strumento corrispondente a una regola di negazione con nome semplice viene rimosso dal contesto di Claude, lo stesso di un nome di strumento semplice, inclusa l'eccezione [`EndConversation`](/docs/it/tools-reference#endconversation-tool-behavior): una negazione glob non può rimuoverlo mentre rimane qualsiasi altro strumento, e una richiesta glob non lo chiede mai. Questa configurazione nega ogni strumento MCP:193Le regole deny e ask accettano anche modelli glob nella posizione del nome dello strumento. Il modello deve corrispondere al nome completo dello strumento: `"*"` corrisponde a ogni strumento, e `"mcp__*"` corrisponde a ogni strumento MCP su tutti i server. Uno strumento corrispondente a una regola deny glob con nome semplice viene rimosso dal contesto di Claude, lo stesso di un nome di strumento semplice, inclusa l'eccezione [`EndConversation`](/docs/it/tools-reference#endconversation-tool-behavior): una regola deny glob non può rimuoverlo mentre rimane qualsiasi altro strumento, e una regola ask glob non lo chiede mai. Questa configurazione nega ogni strumento MCP:

194 194 

195```json theme={null}195```json theme={null}

196{196{


202}202}

203```203```

204 204 

205Le regole di autorizzazione accettano globs nei nomi degli strumenti solo dopo un prefisso letterale `mcp__<server>__`. Il segmento del server deve essere privo di glob in modo che la regola nomini un server specifico che avete configurato. `mcp__puppeteer__*` corrisponde a ogni strumento dal server `puppeteer`, e `mcp__github__get_*` corrisponde ai suoi strumenti `get_`. Un glob di autorizzazione non ancorato come `"*"`, `"B*"`, o `"mcp__*"` viene saltato con un avviso e non approva automaticamente nulla.205Le regole di consenso accettano glob nei nomi degli strumenti solo dopo un prefisso letterale `mcp__<server>__`. Il segmento del server deve essere privo di glob, in modo che la regola nomini un server specifico che hai configurato. `mcp__puppeteer__*` corrisponde a ogni strumento del server `puppeteer`, e `mcp__github__get_*` corrisponde ai suoi strumenti `get_`. Un glob di consenso non ancorato come `"*"`, `"B*"`, o `"mcp__*"` viene saltato e non approva automaticamente nulla.

206 206 

207Una regola di negazione o richiesta il cui nome dello strumento non corrisponde a nessuno strumento noto produce un avviso all'avvio per catturare gli errori di digitazione. I nomi degli strumenti contenenti `_` o `*` sono esenti dal controllo, e così pure i nomi degli strumenti che Claude Code ha rimosso, come `TaskOutput`.207Una regola deny o ask il cui nome dello strumento non corrisponde a nessuno strumento noto produce un [avviso all'avvio](/docs/it/errors#matches-no-tool) per intercettare gli errori di battitura. I nomi degli strumenti contenenti `_` o `*` sono esenti dal controllo, così come i nomi degli strumenti che Claude Code ha rimosso, come `TaskOutput`.

208 208 

209L'etichetta mostrata per uno strumento nella trascrizione e nella finestra di dialogo di autorizzazione può differire dal suo nome canonico. Ad esempio, lo strumento etichettato `Stop Task` nella trascrizione ha il nome canonico `TaskStop`. Le regole di autorizzazione e i [matcher di hook](/docs/it/hooks) non corrispondono all'etichetta, quindi una regola scritta come `Stop Task` non corrisponde. Per le regole di negazione e richiesta, l'avviso all'avvio di cui sopra cattura la mancata corrispondenza. Utilizzate i nomi canonici elencati nel [riferimento degli strumenti](/docs/it/tools-reference).209L'etichetta mostrata per uno strumento nella trascrizione e nella finestra di dialogo di autorizzazione può differire dal suo nome canonico. Ad esempio, lo strumento etichettato `Stop Task` nella trascrizione ha il nome canonico `TaskStop`. Le regole di autorizzazione e i [matcher di hook](/docs/it/hooks) non corrispondono all'etichetta, quindi una regola scritta come `Stop Task` non corrisponde. Per le regole deny e ask, l'avviso all'avvio di cui sopra cattura la mancata corrispondenza. Utilizzate i nomi canonici elencati nel [riferimento degli strumenti](/docs/it/tools-reference).

210 210 

211## Regole di permesso specifiche dello strumento211## Regole di permesso specifiche dello strumento

212 212 


241Una regola di prefisso come `Bash(watch *)` o `Bash(find *)` non può approvare automaticamente i seguenti comandi, quindi in modalità Manual chiedono conferma:241Una regola di prefisso come `Bash(watch *)` o `Bash(find *)` non può approvare automaticamente i seguenti comandi, quindi in modalità Manual chiedono conferma:

242 242 

243* **Wrapper exec**: come `watch`, `setsid`, `ionice` e `flock`243* **Wrapper exec**: come `watch`, `setsid`, `ionice` e `flock`

244* **`find`**: con un'azione che esegue comandi, elimina file o scrive file, come `-exec`, `-delete` o `-fprint`, oppure con `-files0-from`, che legge da un file i percorsi in cui cercare244* **`find`**: con un'azione che esegue comandi, elimina file o scrive file, come `-exec`, `-delete`, `-rm` o `-fprint`, oppure con `-files0-from`, che legge da un file i percorsi in cui cercare

245 245 

246Per approvare un'invocazione specifica che non contiene `*`, scrivi una regola a corrispondenza esatta per l'intera stringa del comando, come `Bash(find build -type f -delete)`.246Per approvare un'invocazione specifica che non contiene `*`, scrivi una regola a corrispondenza esatta per l'intera stringa del comando, come `Bash(find build -type f -delete)`.

247 247 


460 460 

461Grep e Glob eseguono la ricerca nella directory in cui si risolve l'argomento `path`. Claude Code applica le regole deny `Read` a quella directory.461Grep e Glob eseguono la ricerca nella directory in cui si risolve l'argomento `path`. Claude Code applica le regole deny `Read` a quella directory.

462 462 

463##### Allegati attraverso un collegamento simbolico

464 

465Una regola deny `Read` copre anche questi allegati, confrontando ciascuno sia con il percorso indicato sia con il file in cui si risolve. Claude Code esclude un allegato dalla conversazione quando una regola vi corrisponde:

466 

467* **Menzioni `@`**: un file o una directory che menzioni nel tuo prompt. Un file rifiutato non lascia nulla nella conversazione, e l'[elenco di una directory](#read-and-edit) omette i nomi coperti da una regola.

468* **Immagini incollate**: un'immagine di cui incolli o trascini il percorso nel prompt nel terminale

469* **File modificati**: un file che Claude Code rilegge dopo che è cambiato sul disco

470* **Contesto dell'IDE**: la selezione e il contesto dei file aperti che un IDE connesso condivide

471 

472Con [`permissions.blockReadsOutsideWorkingDirectories`](/docs/it/settings-reference#permissions-blockreadsoutsideworkingdirectories) attivo, o in una sessione [`--restricted`](/docs/it/cli-reference#cli-flags), questi allegati vengono esclusi anche quando provengono da un percorso in cui quell'impostazione o quel flag rifiuta le letture di file di Claude.

473 

474Questa riga al posto di un file che hai menzionato con `@` significa che Claude Code non è riuscito a determinare dove porta il percorso, ad esempio perché i suoi collegamenti simbolici formano un ciclo:

475 

476```text theme={null}

477Referenced <path> (not read: could not be examined)

478```

479 

480A Claude viene indicato di leggere invece il percorso con i suoi strumenti per i file, il che può riuscire quando Claude Code ha semplicemente esaurito il tempo per esaminare il percorso.

481 

482Quando i collegamenti simbolici del percorso non si risolvono, anche quella lettura viene [rifiutata](/docs/it/errors#refusing-after-a-symlink-changed), quindi correggi il collegamento sul disco oppure menziona con `@` il file tramite un percorso che si risolve.

483 

463##### Scritture attraverso un collegamento simbolico484##### Scritture attraverso un collegamento simbolico

464 485 

465Se il percorso che Claude chiede di modificare o scrivere è esso stesso un collegamento simbolico, gli strumenti Edit e Write [rifiutano la scrittura e indirizzano Claude alla destinazione del collegamento](/docs/it/errors#refusing-after-a-symlink-changed).486Se il percorso che Claude chiede di modificare o scrivere è esso stesso un collegamento simbolico, gli strumenti Edit e Write [rifiutano la scrittura e indirizzano Claude alla destinazione del collegamento](/docs/it/errors#refusing-after-a-symlink-changed).


489 510 

490Per leggere i file su una condivisione di rete senza questa richiesta di conferma, assegna prima alla condivisione un percorso locale:511Per leggere i file su una condivisione di rete senza questa richiesta di conferma, assegna prima alla condivisione un percorso locale:

491 512 

492* **Windows**: mappa la condivisione a una lettera di unità e passa l'unità con `--add-dir` quando avvii Claude Code, come descritto in [Directory di lavoro](#working-directories)513* **Windows**: mappa la condivisione a una lettera di unità e passa l'unità con `--add-dir` quando avvii Claude Code, come descritto in [Directory di lavoro](#working-directories). Le letture sotto un'unità che aggiungi in seguito con `/add-dir`, o che elenchi in `additionalDirectories` in un file di impostazioni, chiedono comunque conferma. Per eliminare queste richieste di conferma per una condivisione mappata a `Z:`, avvia una nuova sessione in PowerShell con `claude --add-dir Z:\`.

493* **macOS e Linux**: monta la condivisione in un percorso locale, come una directory sotto `/mnt` o `/Volumes`, e leggi i file da lì, come descritto in [La directory di lavoro è un percorso di rete](/docs/it/errors#working-directory-is-a-network-path)514* **macOS e Linux**: monta la condivisione in un percorso locale, come una directory sotto `/mnt` o `/Volumes`, e leggi i file da lì, come descritto in [La directory di lavoro è un percorso di rete](/docs/it/errors#working-directory-is-a-network-path)

494 515 

495### WebFetch516### WebFetch


545 566 

546* **Nomi con caratteri come `.` o spazi**: questi caratteri diventano `_`, quindi per un server che hai configurato come `my.server`, scrivi `mcp__my_server__*`567* **Nomi con caratteri come `.` o spazi**: questi caratteri diventano `_`, quindi per un server che hai configurato come `my.server`, scrivi `mcp__my_server__*`

547* **Server forniti da un plugin**: `<server>` assume la [forma con ambito del plugin](/docs/it/mcp#plugin-provided-mcp-servers), quindi per il server `database-tools` in un plugin chiamato `my-plugin`, scrivi `mcp__plugin_my-plugin_database-tools__*`568* **Server forniti da un plugin**: `<server>` assume la [forma con ambito del plugin](/docs/it/mcp#plugin-provided-mcp-servers), quindi per il server `database-tools` in un plugin chiamato `my-plugin`, scrivi `mcp__plugin_my-plugin_database-tools__*`

548* **Un `<server>` che contiene `__` o termina con `_`**: scrivi la forma con carattere jolly, `mcp__<server>__*`, con il nome completo. Per un server chiamato `reports__v2`, scrivi `mcp__reports__v2__*`. La forma semplice `mcp__reports__v2` e quella più breve `mcp__reports` non corrispondono ai suoi strumenti come regole allow, perché Claude Code le interpreta entrambe come regole per un server chiamato `reports`569* **Un `<server>` che contiene `__` o termina con `_`**: scrivi la forma con carattere jolly, `mcp__<server>__*`, con il nome completo. Per un server chiamato `reports__v2`, scrivi `mcp__reports__v2__*`. La forma semplice `mcp__reports__v2` e quella più breve `mcp__reports` non corrispondono ai suoi strumenti come regole allow, perché Claude Code le interpreta entrambe come regole per un server chiamato `reports`.

570 

571 Come regola deny o ask, tuttavia, ciascuno di questi due nomi copre anche ogni strumento del server `reports__v2`. Per coprire solo un server chiamato `reports`, scrivi una regola per ogni strumento nella forma `mcp__reports__<tool>`, oppure rinomina uno dei server.

549 572 

550Se la tua organizzazione ha impostato uno strumento di un [connettore claude.ai](/docs/it/mcp#organization-controls-on-connector-tools) su `ask` e tale impostazione raggiunge Claude Code nella tua sessione, le regole allow per quello strumento non hanno effetto: Claude Code chiede conferma a ogni chiamata, anche nelle modalità `auto` e `bypassPermissions`. In modalità `dontAsk`, che non chiede mai conferma, Claude Code nega invece la chiamata. Gli strumenti dei connettori che Claude Code recupera autonomamente compaiono come `mcp__claude_ai_<server>__<tool>`.573Se la tua organizzazione ha impostato uno strumento di un [connettore claude.ai](/docs/it/mcp#organization-controls-on-connector-tools) su `ask` e tale impostazione raggiunge Claude Code nella tua sessione, le regole allow per quello strumento non hanno effetto: Claude Code chiede conferma a ogni chiamata, anche nelle modalità `auto` e `bypassPermissions`. In modalità `dontAsk`, che non chiede mai conferma, Claude Code nega invece la chiamata. Gli strumenti dei connettori che Claude Code recupera autonomamente compaiono come `mcp__claude_ai_<server>__<tool>`.

551 574 


593 616 

594Le decisioni dell'hook PreToolUse non bypassano le regole di autorizzazione. Claude Code valuta le regole deny e ask indipendentemente da ciò che un hook PreToolUse restituisce: una regola deny corrispondente blocca la chiamata e una regola ask corrispondente richiede comunque un prompt anche quando l'hook ha restituito `"allow"` o `"ask"`. Questo preserva la precedenza deny-first descritta in [Gestire le autorizzazioni](#manage-permissions), incluse le regole deny impostate nelle impostazioni gestite.617Le decisioni dell'hook PreToolUse non bypassano le regole di autorizzazione. Claude Code valuta le regole deny e ask indipendentemente da ciò che un hook PreToolUse restituisce: una regola deny corrispondente blocca la chiamata e una regola ask corrispondente richiede comunque un prompt anche quando l'hook ha restituito `"allow"` o `"ask"`. Questo preserva la precedenza deny-first descritta in [Gestire le autorizzazioni](#manage-permissions), incluse le regole deny impostate nelle impostazioni gestite.

595 618 

596Questa precedenza copre gli hook nei file di impostazioni e nel file `hooks/hooks.json` di un plugin. Un [mod](/docs/it/plugins/mods/overview) che installi e che gestisce l'evento [`tool.check`](/docs/it/plugins/mods/events#approve-or-refuse-a-tool-call-before-the-user-is-asked) dà la sua risposta dopo che le regole di permesso e gli hook `PreToolUse` hanno deciso. Con [impostazioni gestite](/docs/it/settings#check-what-your-organization-enforces) sulla macchina, o con un [`/login`](/docs/it/authentication#authentication-precedence) Team o Enterprise come credenziale della sessione, questi esiti restano in vigore per impostazione predefinita quando il mod approva una chiamata:619Questa precedenza copre gli hook nei file di impostazioni e nel file `hooks/hooks.json` di un plugin. Un [mod](/docs/it/plugins/mods/overview) che installi e che gestisce l'evento [`tool.check`](/docs/it/plugins/mods/events#approve-or-refuse-a-tool-call-before-the-user-is-asked) dà la sua risposta dopo che sono stati eseguiti gli hook `PreToolUse`. Con [impostazioni gestite](/docs/it/settings#check-what-your-organization-enforces) sulla macchina, o con un [`/login`](/docs/it/authentication#authentication-precedence) Team o Enterprise come credenziale della sessione, questi esiti restano in vigore per impostazione predefinita quando il mod approva una chiamata:

597 620 

598* Una chiamata che una regola deny rifiuta resta rifiutata, e la tua organizzazione può modificare questo comportamento.621* Una chiamata che una regola deny rifiuta resta rifiutata, e la tua organizzazione può modificare questo comportamento.

599* Una chiamata per cui una regola ask chiederebbe conferma ti chiede comunque conferma.622* Una chiamata per cui una regola ask chiederebbe conferma ti chiede comunque conferma.


718 741 

719Lo stesso vale tra gli ambiti delle impostazioni: se le impostazioni utente consentono un'autorizzazione e le impostazioni di progetto la negano, la regola deny la blocca. Il contrario è vero anche: un deny a livello utente blocca un allow a livello di progetto, perché le regole deny da qualsiasi ambito vengono valutate prima delle regole allow.742Lo stesso vale tra gli ambiti delle impostazioni: se le impostazioni utente consentono un'autorizzazione e le impostazioni di progetto la negano, la regola deny la blocca. Il contrario è vero anche: un deny a livello utente blocca un allow a livello di progetto, perché le regole deny da qualsiasi ambito vengono valutate prima delle regole allow.

720 743 

721Questa precedenza è tra i file di impostazioni e gli argomenti della riga di comando. Per quanto riguarda se una regola di negazione vale su un [mod](/docs/it/plugins/mods/overview) che installi, vedi [Estendi le autorizzazioni con hooks](#extend-permissions-with-hooks).744Questa precedenza è tra i file di impostazioni e gli argomenti della riga di comando. Per quanto riguarda se una regola deny vale su un [mod](/docs/it/plugins/mods/overview) che installi, vedi [Estendere le autorizzazioni con hook](#extend-permissions-with-hooks).

722 745 

723Gli host di embedding possono fornire ulteriori criteri gestiti tramite l'opzione SDK `managedSettings`, incluse le regole di autorizzazione di tipo allow a meno che l'amministratore non imposti i blocchi `allowManaged*Only`; [Fornire la policy alle sessioni di Claude Desktop](/docs/it/claude-apps-gateway#deliver-policy-to-claude-desktop-sessions) illustra in quali casi si applicano i criteri dell'embedder.746Gli host di embedding possono fornire ulteriori criteri gestiti tramite l'opzione SDK `managedSettings`, incluse le regole di autorizzazione di tipo allow a meno che l'amministratore non imposti i blocchi `allowManaged*Only`; [Fornire la policy alle sessioni di Claude Desktop](/docs/it/claude-apps-gateway#deliver-policy-to-claude-desktop-sessions) illustra in quali casi si applicano i criteri dell'embedder.

724 747 

Details

211| `$.ui.status(text)` | Una riga sotto il prompt che rimane finché non la modifichi. Inizia con `⚠` e il nome del mod, come in `⚠ my-mod: checks: 3 passing`. |211| `$.ui.status(text)` | Una riga sotto il prompt che rimane finché non la modifichi. Inizia con `⚠` e il nome del mod, come in `⚠ my-mod: checks: 3 passing`. |

212| `$.ui.toast(text)` | Una notifica toast con il nome del mod che scompare dopo qualche secondo. È un riquadro in alto a destra nel [rendering a schermo intero](/docs/it/fullscreen), e una riga a destra sotto il prompt nel renderer classico. |212| `$.ui.toast(text)` | Una notifica toast con il nome del mod che scompare dopo qualche secondo. È un riquadro in alto a destra nel [rendering a schermo intero](/docs/it/fullscreen), e una riga a destra sotto il prompt nel renderer classico. |

213| `$.ui.log(text)` | Una riga attenuata nella trascrizione che Claude non legge. Inizia con `●` e il nome del mod, come in `● my-mod: build finished`. |213| `$.ui.log(text)` | Una riga attenuata nella trascrizione che Claude non legge. Inizia con `●` e il nome del mod, come in `● my-mod: build finished`. |

214| `$.ui.notify(text)` | Una notifica dal terminale dell'utente, al di fuori di Claude Code, inviata nel modo indicato dalla sua impostazione [`preferredNotifChannel`](/docs/it/settings-reference#preferrednotifchannel). Il titolo è il nome del mod, a meno che tu non passi un `{ title }` non vuoto, che viene mostrato così come lo fornisci. |

215 

216`$.ui.notify` è l'unica di queste chiamate che restituisce una risposta. Si risolve con `{ isSent: true, channel }` quando il canale dell'utente ha scritto la notifica nel suo terminale. `channel` è il valore dell'impostazione che l'ha inviata, ad esempio `kitty` o `terminal_bell`. Il canale `terminal_bell` fa suonare il campanello e non mostra né il tuo testo né il titolo.

217 

218Altrimenti la chiamata si risolve con `{ isSent: false, reason }`:

219 

220| `reason` | Significato |

221| :- | :- |

222| `disabled` | L'utente ha impostato `preferredNotifChannel` su `notifications_disabled` |

223| `no-channel` | L'impostazione è `auto` e il terminale dell'utente non dispone di alcuna notifica che Claude Code possa inviare |

224| `no-surface` | La sessione non ha un terminale, come in un'esecuzione con `-p`, l'Agent SDK, l'app desktop, l'estensione VS Code o una sessione cloud. È anche la risposta a una chiamata effettuata prima dell'avvio della sessione, mentre il tuo mod viene caricato, e a una chiamata effettuata mentre Claude Code sta terminando |

225| `refused` | L'hook di un altro mod su `ui.notify` ha risposto al posto di Claude Code senza inviare |

226 

227La chiamata viene rifiutata invece di risolversi quando `text` non è una stringa, quando l'hook di un altro mod su `ui.notify` restituisce `{ deny }` o quando la scrittura nel terminale non riesce.

228 

229Il tuo mod non può scegliere il canale, e Claude Code non limita la frequenza con cui un mod invia notifiche. L'impostazione dell'utente è l'unico interruttore.

230 

231Quando la chiamata raggiunge una sessione in esecuzione, gli [hook `Notification`](/docs/it/hooks#notification) dell'utente vengono eseguiti con il tipo `plugin_notification`. Vengono eseguiti anche quando la risposta è `disabled`, e in una sessione senza terminale, dove la risposta è `no-surface`. Nessun hook viene eseguito per una chiamata effettuata prima dell'avvio della sessione o mentre Claude Code sta terminando. L'hook da cui il tuo mod ha chiamato `$.ui.notify` viene escluso da tale esecuzione, quindi un hook `classic.Notification` che invia notifiche non viene richiamato per la propria notifica.

232 

233Un terminale non segnala se ha mostrato la notifica, quindi `isSent: true` significa che è stata inviata, non che l'utente l'abbia vista.

234 

235Questo esempio invia una notifica quando il turno della conversazione principale termina senza un'interruzione, e ripiega su un toast quando non è stata inviata alcuna notifica con testo. Non attende la notifica prima di passare oltre l'evento, perché gli hook `Notification` dell'utente vengono eseguiti prima e possono richiedere del tempo:

236 

237```javascript theme={null}

238on('turn.complete', ($, e, next) => {

239 const isMainTurn = e.agentId === undefined && !e.isAborted

240 const fallBack = () => $.ui.toast('Turn finished')

241 if (isMainTurn) {

242 $.ui.notify('Turn finished').then(sent => {

243 const hasText = sent.isSent && sent.channel !== 'terminal_bell'

244 if (!hasText) fallBack()

245 }, fallBack)

246 }

247 return next(e)

248})

249```

214 250 

215Nell'[estensione VS Code](/docs/it/plugins/mods/interface#draw-in-the-vs-code-extension), le righe di stato e i toast vengono invece mostrati sopra la casella del prompt, e le righe di log nella conversazione.251Nell'[estensione VS Code](/docs/it/plugins/mods/interface#draw-in-the-vs-code-extension), le righe di stato e i toast vengono invece mostrati sopra la casella del prompt, e le righe di log nella conversazione.

216 252 

Details

181 181 

182#### Approvare o rifiutare una chiamata a uno strumento prima che venga chiesto all'utente182#### Approvare o rifiutare una chiamata a uno strumento prima che venga chiesto all'utente

183 183 

184Per decidere se una chiamata a uno strumento può essere eseguita, gestisci [`tool.check`](/docs/it/plugins/mods/reference#tools), l'evento in cui Claude Code prende questa decisione. Si attiva dopo che le regole di permesso e gli hook delle impostazioni hanno deciso, e `next(e)` si risolve nella loro decisione: `allow`, `ask` o `deny`. Il tuo hook restituisce quella decisione o una diversa. `e.input` contiene gli argomenti dello strumento, come `command` per Bash.184Per decidere se una chiamata a uno strumento può essere eseguita, gestisci [`tool.check`](/docs/it/plugins/mods/reference#tools), l'evento in cui Claude Code prende questa decisione.

185 185 

186Per un comando o un percorso fisso, usa una [regola di permesso](/docs/it/permissions#permission-rule-syntax) come `Bash(npm test)`, che non richiede codice. Gestisci `tool.check` quando la decisione dipende da ciò che è vero in quel momento, come il branch Git corrente o un valore registrato da un altro hook.186Per un comando o un percorso fisso, usa una [regola di permesso](/docs/it/permissions#permission-rule-syntax) come `Bash(npm test)`, che non richiede codice. Gestisci `tool.check` quando la decisione dipende da ciò che è vero in quel momento, come il branch Git corrente o un valore registrato da un altro hook.

187 187 

188* **Cosa restituire**: per decidere tu stesso la chiamata, restituisci un oggetto tuo, come `{ decision: 'allow' }` o `{ decision: 'deny', reason }`. Per lasciare invariata la decisione, restituisci ciò che ti dà `await next(e)`.

189* **Cosa ti dà `await next(e)`**: la decisione di Claude Code stesso, come oggetto il cui `decision` è `allow`, `ask` o `deny`. Non compare alcuna richiesta di permesso mentre `next(e)` è in esecuzione.

190* **Argomenti**: `e.input` contiene gli argomenti dello strumento, come `command` per Bash

191* **Quando si attiva `tool.check`**: dopo l'esecuzione degli [hook `PreToolUse`](/docs/it/hooks#pretooluse), e prima della richiesta di permesso, del classificatore della [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) o di un hook [`PermissionRequest`](/docs/it/hooks#permissionrequest)

192 

188Questo hook rifiuta `git push` mentre il branch corrente è `main`:193Questo hook rifiuta `git push` mentre il branch corrente è `main`:

189 194 

190```javascript theme={null}195```javascript theme={null}

191on('tool.check', { tool: 'Bash' }, async ($, e, next) => {196on('tool.check', { tool: 'Bash' }, async ($, e, next) => {

192 // What the permission rules and settings hooks decided: 'allow', 'ask', or 'deny'197 // Claude Code's own decision

193 const decided = await next(e)198 const decided = await next(e)

194 if (!e.input.command.includes('git push')) return decided199 if (!e.input.command.includes('git push')) return decided

195 const branch = await $.process.run(['git', 'branch', '--show-current'])200 const branch = await $.process.run(['git', 'branch', '--show-current'])


209>214>

210> Un hook `tool.check` può anche restituire `allow` o `ask`. In [plan mode](/docs/it/permissions#hook-approvals-in-plan-mode), per una chiamata che non è di sola lettura, come la modifica di un file, il tuo hook può rendere più restrittiva la decisione restituita da `next(e)` ma non può allentarla. Per le regole di permesso e le decisioni degli hook `PreToolUse` che l'`allow` del tuo hook non può sostituire, consulta [Estendere i permessi con gli hook](/docs/it/permissions#precedence-among-rules-hooks-and-mods).215> Un hook `tool.check` può anche restituire `allow` o `ask`. In [plan mode](/docs/it/permissions#hook-approvals-in-plan-mode), per una chiamata che non è di sola lettura, come la modifica di un file, il tuo hook può rendere più restrittiva la decisione restituita da `next(e)` ma non può allentarla. Per le regole di permesso e le decisioni degli hook `PreToolUse` che l'`allow` del tuo hook non può sostituire, consulta [Estendere i permessi con gli hook](/docs/it/permissions#precedence-among-rules-hooks-and-mods).

211 216 

217#### Verificare se una chiamata a uno strumento è di sola lettura

218 

219In un hook [`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked), `e.isReadOnly` è `true` quando lo strumento segnala la chiamata come di sola lettura. Altrimenti il campo è assente, non `false`. `e.isReadOnly` richiede Claude Code v2.1.304 o successivo.

220 

221Alcuni strumenti, come Read, Grep, Glob e WebSearch, segnalano ogni chiamata come di sola lettura. Bash e gli strumenti MCP segnalano una chiamata come di sola lettura in questi casi:

222 

223* **Bash**: il comando supera il [controllo dei comandi di sola lettura](/docs/it/permissions#read-only-commands) integrato in Claude Code

224* **Uno strumento MCP**: il server imposta a `true` l'annotazione `readOnlyHint` dello strumento

225 

226Il valore è ciò che segnala lo strumento stesso, quindi non approvare una chiamata basandoti solo su questo campo. Ad esempio, le chiamate WebFetch e Agent vengono segnalate come di sola lettura, anche se [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior) richiede un URL e [Agent](/docs/it/tools-reference#agent-tool-behavior) avvia un subagent che esegue strumenti propri.

227 

228Questo hook restituisce un `ask` per ogni chiamata `mcp__github__` che non è di sola lettura e non è già stata rifiutata:

229 

230```javascript theme={null}

231on('tool.check', { tool: /^mcp__github__/ }, async ($, e, next) => {

232 const decided = await next(e)

233 // Read-only calls and denied calls pass through unchanged

234 if (e.isReadOnly || decided.decision === 'deny') return decided

235 return { decision: 'ask', reason: 'This tool can change the GitHub repository' }

236})

237```

238 

239#### Filtrare un hook `tool.check` in base al fatto che la chiamata sia di sola lettura

240 

241Per limitare le chiamate gestite dal tuo hook in base a [`e.isReadOnly`](#check-whether-a-tool-call-is-read-only), usa il [matcher](#filter-which-events-a-hook-handles) per le chiamate di sola lettura e il corpo dell'hook per le altre:

242 

243* **Solo chiamate di sola lettura**: aggiungi `isReadOnly: true` al matcher, come in `on('tool.check', { tool: 'Bash', isReadOnly: true }, hook)`

244* **Chiamate che non sono di sola lettura**: verifica `e.isReadOnly` nel corpo dell'hook, come fa l'[esempio `mcp__github__`](#check-whether-a-tool-call-is-read-only). Se metti `isReadOnly: false` in un matcher, il tuo hook non viene mai eseguito.

245 

212### Riscrivere o integrare un prompt246### Riscrivere o integrare un prompt

213 247 

214Un hook `prompt.submit` vede ogni prompt prima che inizi il turno, quindi può riscriverne il testo o aggiungervi qualcosa. `e.text` è ciò che è stato digitato.248Un hook `prompt.submit` vede ogni prompt prima che inizi il turno, quindi può riscriverne il testo o aggiungervi qualcosa. `e.text` è ciò che è stato digitato.


312* **Hook `PreToolUse` dalle impostazioni gestite**: vengono eseguiti prima dell'hook `tool.call` del primo mod. Quando un hook gestito blocca la chiamata, nessun hook `tool.call` di alcun mod viene eseguito per quella chiamata.346* **Hook `PreToolUse` dalle impostazioni gestite**: vengono eseguiti prima dell'hook `tool.call` del primo mod. Quando un hook gestito blocca la chiamata, nessun hook `tool.call` di alcun mod viene eseguito per quella chiamata.

313* **Hook `PreToolUse` da ogni altro file di impostazioni e da `hooks/hooks.json` dei plugin**: vengono eseguiti dopo che l'ultimo mod ha chiamato `next`, come parte del comportamento proprio di Claude Code. Un mod che risponde a `tool.call` senza chiamare `next` ne impedisce l'esecuzione, e un mod che chiama `next` vede la loro decisione nel risultato che restituisce.347* **Hook `PreToolUse` da ogni altro file di impostazioni e da `hooks/hooks.json` dei plugin**: vengono eseguiti dopo che l'ultimo mod ha chiamato `next`, come parte del comportamento proprio di Claude Code. Un mod che risponde a `tool.call` senza chiamare `next` ne impedisce l'esecuzione, e un mod che chiama `next` vede la loro decisione nel risultato che restituisce.

314 348 

315[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) si attiva dopo che le regole di permesso ed entrambi i gruppi di hook `PreToolUse` hanno deciso. Per sapere quali di queste decisioni l'`allow` di un hook `tool.check` non può sostituire, consulta [Estendere i permessi con gli hook](/docs/it/permissions#precedence-among-rules-hooks-and-mods).349[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) si attiva dopo che gli hook `PreToolUse` sono stati eseguiti. Per le regole di permesso e le decisioni degli hook `PreToolUse` che l'`allow` di un hook `tool.check` non può sostituire, consulta [Estendere i permessi con gli hook](/docs/it/permissions#precedence-among-rules-hooks-and-mods).

316 350 

317### Gestire un hook che fallisce351### Gestire un hook che fallisce

318 352 

Details

306| `closeOnEscape` | Fa sì che Esc chiuda il pannello |306| `closeOnEscape` | Fa sì che Esc chiuda il pannello |

307| `holdToasts` | Nel terminale, trattiene i toast finché è questo il pannello mostrato. Vedi [Trattieni i toast dietro una finestra di dialogo](#hold-toasts-behind-a-dialog). |307| `holdToasts` | Nel terminale, trattiene i toast finché è questo il pannello mostrato. Vedi [Trattieni i toast dietro una finestra di dialogo](#hold-toasts-behind-a-dialog). |

308| `rows` | L'altezza da richiedere quando il pannello si trova sopra il prompt. Il valore predefinito è un terzo dello spazio. |308| `rows` | L'altezza da richiedere quando il pannello si trova sopra il prompt. Il valore predefinito è un terzo dello spazio. |

309| `columns` | La larghezza da richiedere quando il pannello si trova accanto alla trascrizione |309| `columns` | La larghezza da richiedere quando il pannello si trova accanto alla trascrizione, al massimo il 45% della larghezza del terminale. Una volta che l'utente ha ridimensionato un pannello accanto alla trascrizione, in questa sessione o in una precedente, i pannelli si aprono lì con la larghezza che ha impostato. Lo stesso limite del 45% si applica a quella larghezza. |

310 310 

311L'[estensione VS Code](#draw-in-the-vs-code-extension) ignora `rows` e `columns` e dimensiona il pannello da sé.311L'[estensione VS Code](#draw-in-the-vs-code-extension) ignora `rows` e `columns` e dimensiona il pannello da sé.

312 312 


537| Invio | Preme il `Button` con il focus, invia l'`Input` con il focus o effettua la scelta in un `Select` |537| Invio | Preme il `Button` con il focus, invia l'`Input` con il focus o effettua la scelta in un `Select` |

538| Il tasto di scelta rapida di un pulsante | Preme quel pulsante. Mentre un `Input` ha il focus, ogni tasto stampabile va al campo. |538| Il tasto di scelta rapida di un pulsante | Preme quel pulsante. Mentre un `Input` ha il focus, ogni tasto stampabile va al campo. |

539| Pagina su, Pagina giù, Home e Fine | Fanno scorrere il tuo pannello o la tua banda quando ha più righe di quante ne possa mostrare |539| Pagina su, Pagina giù, Home e Fine | Fanno scorrere il tuo pannello o la tua banda quando ha più righe di quante ne possa mostrare |

540| Ctrl+X e poi un tasto freccia | Ridimensiona il tuo pannello. Sinistra o Su gli dà più spazio, e Destra o Giù restituisce lo spazio. |540| Ctrl+X e poi un tasto freccia | Ridimensiona il tuo pannello. Sinistra o Su gli dà più spazio, e Destra o Giù restituisce lo spazio. Un pannello accanto alla trascrizione smette di allargarsi al 45% della larghezza del terminale. |

541| Ctrl+X e poi X | Chiude il tuo pannello, anche mentre uno dei suoi campi ha il focus |541| Ctrl+X e poi X | Chiude il tuo pannello, anche mentre uno dei suoi campi ha il focus |

542| Esc | Restituisce il focus della tastiera al prompt. Con `closeOnEscape: true`, chiude anche il pannello. |542| Esc | Restituisce il focus della tastiera al prompt. Con `closeOnEscape: true`, chiude anche il pannello. |

543 543 

Details

56| Evento | Si attiva quando | Un hook può restituire |56| Evento | Si attiva quando | Un hook può restituire |

57| :- | :- | :- |57| :- | :- | :- |

58| [`tool.call`](/docs/it/plugins/mods/events#guard-or-change-a-tool-call) | Uno strumento sta per essere eseguito | `next(e)`, `{ deny: reason }` oppure `{ result }` |58| [`tool.call`](/docs/it/plugins/mods/events#guard-or-change-a-tool-call) | Uno strumento sta per essere eseguito | `next(e)`, `{ deny: reason }` oppure `{ result }` |

59| [`tool.check`](/docs/it/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code decide se una chiamata a uno strumento può essere eseguita, dopo gli hook `tool.call` e `PreToolUse`. `next(e)` si risolve nella decisione raggiunta dalle regole, dalla modalità di permesso e da quegli hook. | `{ decision }`, che è `allow`, `ask` o `deny` |59| [`tool.check`](/docs/it/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code decide se una chiamata a uno strumento può essere eseguita, dopo gli hook `tool.call` e `PreToolUse`. `next(e)` si risolve nella decisione raggiunta dalle regole, dalla modalità di permesso e da quegli hook. | `next(e)` oppure `{ decision }`, con `decision` impostato su `allow`, `ask` o `deny` e un `reason` facoltativo |

60| `tool.describe` | Una volta per ogni strumento, quando la sua descrizione viene inviata per la prima volta a Claude. Una seconda volta per uno strumento MCP quando Claude lo carica tramite la [ricerca degli strumenti](/docs/it/mcp#scale-with-mcp-tool-search), con `e.description` impostato sul testo che Claude legge per lo strumento caricato. | `{ description }`, facoltativamente con `isDeferred` impostato su `true` per mettere lo strumento dietro la ricerca degli strumenti o su `false` per caricarlo subito |60| `tool.describe` | Una volta per ogni strumento, quando la sua descrizione viene inviata per la prima volta a Claude. Una seconda volta per uno strumento MCP quando Claude lo carica tramite la [ricerca degli strumenti](/docs/it/mcp#scale-with-mcp-tool-search), con `e.description` impostato sul testo che Claude legge per lo strumento caricato. | `{ description }`, facoltativamente con `isDeferred` impostato su `true` per mettere lo strumento dietro la ricerca degli strumenti o su `false` per caricarlo subito |

61 61 

62#### Campi dell'agente e dell'organizzazione su `tool.check`62#### Campi dell'agente e dell'organizzazione su `tool.check`


68 68 

69Su `tool.check`, `e.agentId` e `e.ceiling` richiedono Claude Code v2.1.290 o versioni successive.69Su `tool.check`, `e.agentId` e `e.ceiling` richiedono Claude Code v2.1.290 o versioni successive.

70 70 

71#### Il campo `e.isReadOnly` su `tool.check`

72 

73In un hook `tool.check`, `e.isReadOnly` è `true` quando lo strumento segnala questa chiamata come di sola lettura. Altrimenti il campo è assente, non `false`. Il valore è ciò che segnala lo strumento stesso, quindi leggi [Verificare se una chiamata a uno strumento è di sola lettura](/docs/it/plugins/mods/events#check-whether-a-tool-call-is-read-only) prima di approvare una chiamata basandoti solo su questo campo.

74 

75Su `tool.check`, `e.isReadOnly` richiede Claude Code v2.1.304 o versioni successive.

76 

71### Prompt e ciò che Claude legge77### Prompt e ciò che Claude legge

72 78 

73Gli eventi dei prompt riguardano il testo che l'utente digita e il testo che Claude Code invia a Claude di propria iniziativa, come il prompt di sistema e i promemoria:79Gli eventi dei prompt riguardano il testo che l'utente digita e il testo che Claude Code invia a Claude di propria iniziativa, come il prompt di sistema e i promemoria:


196| Namespace | Metodi |202| Namespace | Metodi |

197| :- | :- |203| :- | :- |

198| `$.plugin` | `name`, `root`: il nome e la directory di questo plugin |204| `$.plugin` | `name`, `root`: il nome e la directory di questo plugin |

199| [`$.ui`](/docs/it/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |205| [`$.ui`](/docs/it/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `notify`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |

200| [`$.command`](/docs/it/plugins/mods/api#add-a-command) | `register`, `run`, `list` |206| [`$.command`](/docs/it/plugins/mods/api#add-a-command) | `register`, `run`, `list` |

201| [`$.tool`](/docs/it/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |207| [`$.tool`](/docs/it/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |

202| `$.agent` | `register`, `spawn`, `list`. `list()` restituisce i subagent e i compagni di squadra di questa sessione, ciascuno con uno `status` tra `pending`, `running`, `waiting`, `idle`, `completed`, `failed` o `killed`, dove `idle` e `waiting` richiedono Claude Code v2.1.289 o versioni successive. |208| `$.agent` | `register`, `spawn`, `list`. `list()` restituisce i subagent e i compagni di squadra di questa sessione, ciascuno con uno `status` tra `pending`, `running`, `waiting`, `idle`, `completed`, `failed` o `killed`, dove `idle` e `waiting` richiedono Claude Code v2.1.289 o versioni successive. |


266| `Svg` | Un documento SVG, fino a 131.072 caratteri | | ✓ | ✓ |272| `Svg` | Un documento SVG, fino a 131.072 caratteri | | ✓ | ✓ |

267| [`Client`](/docs/it/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | ✓ | ✓ | |273| [`Client`](/docs/it/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | ✓ | ✓ | |

268| [`Raster`](/docs/it/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, `columns` fino a 512, `rows` fino a 256, `cells`. Consulta [Disegna una griglia di celle colorate](/docs/it/plugins/mods/interface#draw-a-grid-of-colored-cells). | ✓ | | |274| [`Raster`](/docs/it/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, `columns` fino a 512, `rows` fino a 256, `cells`. Consulta [Disegna una griglia di celle colorate](/docs/it/plugins/mods/interface#draw-a-grid-of-colored-cells). | ✓ | | |

269| `Image` | Byte PNG o RGBA fino a 2 MiB, oppure un percorso di file, `columns` e `rows` fino a 255, e testo `alt`. | ✓ | | |275| `Image` | Byte PNG o RGBA fino a 2 MiB, oppure un percorso di file, `columns` e `rows` fino a 255, e testo `alt`. Consulta [quali terminali lo disegnano](/docs/it/plugins/mods/gallery#image-and-client). | ✓ | | |

270 276 

271Altre regole per `Button`: `action` indica una delle [scorciatoie da tastiera](/docs/it/keybindings) di Claude Code, e la combinazione assegnata dall'utente a quell'azione preme il pulsante quando si tratta di un accordo o di un tasto con modificatore. Un `hotkey` numerico su un pulsante nella banda si attiva anche quando l'utente digita solo quella cifra in un prompt vuoto e si ferma. Quando due pulsanti nello stesso disegno indicano lo stesso `hotkey`, lo ottiene quello successivo. `autoFocus` accetta solo `true` su qualsiasi controllo, quindi ometti la prop per lasciarlo disattivato.277Altre regole per `Button`: `action` indica una delle [scorciatoie da tastiera](/docs/it/keybindings) di Claude Code, e la combinazione assegnata dall'utente a quell'azione preme il pulsante quando si tratta di un accordo o di un tasto con modificatore. Un `hotkey` numerico su un pulsante nella banda si attiva anche quando l'utente digita solo quella cifra in un prompt vuoto e si ferma. Quando due pulsanti nello stesso disegno indicano lo stesso `hotkey`, lo ottiene quello successivo. `autoFocus` accetta solo `true` su qualsiasi controllo, quindi ometti la prop per lasciarlo disattivato.

272 278 

Details

187| `prompt.fill` | `() => ({ isFilled: true })` |187| `prompt.fill` | `() => ({ isFilled: true })` |

188| `$.prompt.read` | `() => ({ value: { text: '...', cursor: 0 } })` |188| `$.prompt.read` | `() => ({ value: { text: '...', cursor: 0 } })` |

189| `$.ui.copy` | `() => ({ value: { isCopied: true } })` |189| `$.ui.copy` | `() => ({ value: { isCopied: true } })` |

190| `$.ui.notify` | `() => ({ value: { isSent: true, channel: 'terminal_bell' } })`. Il testo è `e.text` e il titolo è `e.title`. |

190| `$.session.messages` | `() => ({ value: [{ role: 'assistant', text: '...', toolUses: [] }] })` |191| `$.session.messages` | `() => ({ value: [{ role: 'assistant', text: '...', toolUses: [] }] })` |

191| `$.session.id`, `$.agent.list` | `() => ({ value: 'abc123' })`, `() => ({ value: [] })` |192| `$.session.id`, `$.agent.list` | `() => ({ value: 'abc123' })`, `() => ({ value: [] })` |

192| `session.send` | `() => ({ isDelivered: true })`. `e.to` arriva come stringa anche quando il tuo mod ha passato `{ sessionId }`. |193| `session.send` | `() => ({ isDelivered: true })`. `e.to` arriva come stringa anche quando il tuo mod ha passato `{ sessionId }`. |

Details

830 830 

831* **`Failed to load hooks from <path>: <reason>`**: `hooks/hooks.json` non è JSON valido o fallisce lo schema degli hooks. Il motivo nomina l'errore di analisi o convalida. Correggere il file. Per catturare un problema di sintassi JSON in `hooks/hooks.json` prima di pubblicare il plugin, eseguire `claude plugin validate <plugin-directory>` nella shell831* **`Failed to load hooks from <path>: <reason>`**: `hooks/hooks.json` non è JSON valido o fallisce lo schema degli hooks. Il motivo nomina l'errore di analisi o convalida. Correggere il file. Per catturare un problema di sintassi JSON in `hooks/hooks.json` prima di pubblicare il plugin, eseguire `claude plugin validate <plugin-directory>` nella shell

832* **`hooks path not found: <path>`**: il campo `hooks` del manifest nomina un file che non esiste in quel percorso relativo alla radice del plugin. Correggere il percorso o aggiungere il file832* **`hooks path not found: <path>`**: il campo `hooks` del manifest nomina un file che non esiste in quel percorso relativo alla radice del plugin. Correggere il percorso o aggiungere il file

833* **`hooks path escapes plugin directory: <path>`**: consulta [Il percorso esce dalla directory del plugin](/docs/it/errors#path-escapes-plugin-directory)

833 834 

834#### `hook error` notices in the transcript835#### `hook error` notices in the transcript

835 836 


948 949 

949Claude Code ha risolto un percorso dal tuo `plugin.json` o dalla voce del marketplace rispetto alla radice del plugin e non ha trovato nulla lì. Il percorso nel messaggio è il percorso assoluto che ha controllato, quindi confrontalo con quello su disco. Correggi il percorso o crea la directory, quindi esegui `/reload-plugins`.950Claude Code ha risolto un percorso dal tuo `plugin.json` o dalla voce del marketplace rispetto alla radice del plugin e non ha trovato nulla lì. Il percorso nel messaggio è il percorso assoluto che ha controllato, quindi confrontalo con quello su disco. Correggi il percorso o crea la directory, quindi esegui `/reload-plugins`.

950 951 

952> [!NOTE]

953>

954> Prima della v2.1.299, questo messaggio poteva apparire all'avvio su una riga etichettata con un tag come `synced[0]`. Quella riga è per un plugin [sincronizzato da claude.ai](/docs/it/plugins/loading#synced-plugins). Appariva quando un'altra sessione di Claude Code sulla tua macchina aveva aggiornato il plugin pochi istanti prima e spostato i suoi file. Per caricare il plugin, riavvia Claude Code. Per evitare che il messaggio appaia per questo motivo, aggiorna alla v2.1.299 o successiva.

955 

951I percorsi nel manifest sono relativi alla radice del plugin e iniziano con `./`. Un percorso che si risolve al di fuori della radice del plugin viene segnalato come `<component> path escapes plugin directory` e viene eliminato.956I percorsi nel manifest sono relativi alla radice del plugin e iniziano con `./`. Un percorso che si risolve al di fuori della radice del plugin viene segnalato come `<component> path escapes plugin directory` e viene eliminato.

952 957 

953### `--plugin-dir` in una radice del marketplace non carica i plugin sotto `plugins/`958### `--plugin-dir` in una radice del marketplace non carica i plugin sotto `plugins/`

Details

55Quando le tue richieste passano attraverso un [LLM gateway](/docs/it/llm-gateway), un `ANTHROPIC_BASE_URL` personalizzato, o un override dell'URL di base del provider cloud come [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/it/env-vars), ciò che rimane memorizzato nella cache dipende da come il gateway gestisce i [marcatori `cache_control`](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints) che Claude Code invia:55Quando le tue richieste passano attraverso un [LLM gateway](/docs/it/llm-gateway), un `ANTHROPIC_BASE_URL` personalizzato, o un override dell'URL di base del provider cloud come [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/it/env-vars), ciò che rimane memorizzato nella cache dipende da come il gateway gestisce i [marcatori `cache_control`](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints) che Claude Code invia:

56 56 

57* **Li inoltra invariati**: il blocco e la tua conversazione vengono memorizzati nella cache nello stesso modo dell'endpoint proprio del provider.57* **Li inoltra invariati**: il blocco e la tua conversazione vengono memorizzati nella cache nello stesso modo dell'endpoint proprio del provider.

58* **Rifiuta la richiesta contrassegnata con un errore `400` che nomina `cache_control`**: Claude Code invia di nuovo la richiesta con il marcatore spostato dal blocco al tuo ultimo messaggio di conversazione, e lo mantiene lì per il resto della conversazione. Il blocco viene fatturato come input non memorizzato nella cache; la tua conversazione rimane memorizzata nella cache.58* **Rifiuta la richiesta contrassegnata con un errore `400` che nomina `cache_control`**: Claude Code invia di nuovo la richiesta con il marcatore spostato dal blocco al tuo ultimo messaggio di conversazione, e lo mantiene lì fino alla chiusura di Claude Code. Il blocco viene fatturato come input non memorizzato nella cache; la tua conversazione rimane memorizzata nella cache.

59* **Rimuove i marcatori mentre restituisce il successo**: l'intera cronologia della conversazione viene fatturata come input non memorizzato nella cache a ogni turno. Un gateway che converte il contenuto di sistema in forma di blocco in una stringa semplice elimina il marcatore nello stesso modo.59* **Rimuove i marcatori mentre restituisce il successo**: l'intera cronologia della conversazione viene fatturata come input non memorizzato nella cache a ogni turno. Un gateway che converte il contenuto di sistema in forma di blocco in una stringa semplice elimina il marcatore nello stesso modo.

60 60 

61Per ciò che ogni provider memorizza ed elabora, consulta [utilizzo dei dati](/docs/it/data-usage). Ovunque viva la cache, le voci scadono dopo un periodo di inattività, e [Durata della cache](#cache-lifetime) di seguito copre il TTL e come estenderlo.61Per ciò che ogni provider memorizza ed elabora, consulta [utilizzo dei dati](/docs/it/data-usage). Ovunque viva la cache, le voci scadono dopo un periodo di inattività, e [Durata della cache](#cache-lifetime) di seguito copre il TTL e come estenderlo.


69* [Attivazione della modalità veloce](#turning-on-fast-mode)69* [Attivazione della modalità veloce](#turning-on-fast-mode)

70* [Connessione o rimozione di un server MCP](#connecting-or-removing-an-mcp-server)70* [Connessione o rimozione di un server MCP](#connecting-or-removing-an-mcp-server)

71* [Abilitazione o disabilitazione di un plugin](#enabling-or-disabling-a-plugin)71* [Abilitazione o disabilitazione di un plugin](#enabling-or-disabling-a-plugin)

72* [Negazione di uno strumento completo](#denying-an-entire-tool)72* [Negazione di un intero strumento](#denying-an-entire-tool)

73* [Compattazione della conversazione](#compacting-the-conversation)73* [Compattazione della conversazione](#compacting-the-conversation)

74* [Accumulo di molte immagini](#accumulating-many-images)74* [Accumulo di molte immagini](#accumulating-many-images)

75* [Aggiornamento di Claude Code](#upgrading-claude-code)75* [Aggiornamento di Claude Code](#upgrading-claude-code)


109Le definizioni degli strumenti si trovano nel livello del prompt di sistema, quindi la cache si invalida quando l'insieme delle definizioni degli strumenti nella richiesta cambia tra i turni. Attivare/disattivare lo [strumento advisor](/docs/it/advisor) è un'eccezione: la sua definizione si trova dopo il punto di interruzione della cache, quindi abilitare o disabilitare `/advisor` mantiene il prefisso memorizzato nella cache intatto. Se un cambio di [server MCP](/docs/it/mcp) fa questo dipende dal fatto che la [ricerca degli strumenti](/docs/it/mcp#scale-with-mcp-tool-search) differisca gli strumenti MCP della sessione, l'impostazione predefinita sui modelli supportati:109Le definizioni degli strumenti si trovano nel livello del prompt di sistema, quindi la cache si invalida quando l'insieme delle definizioni degli strumenti nella richiesta cambia tra i turni. Attivare/disattivare lo [strumento advisor](/docs/it/advisor) è un'eccezione: la sua definizione si trova dopo il punto di interruzione della cache, quindi abilitare o disabilitare `/advisor` mantiene il prefisso memorizzato nella cache intatto. Se un cambio di [server MCP](/docs/it/mcp) fa questo dipende dal fatto che la [ricerca degli strumenti](/docs/it/mcp#scale-with-mcp-tool-search) differisca gli strumenti MCP della sessione, l'impostazione predefinita sui modelli supportati:

110 110 

111* **Strumenti differiti**: Claude Code mantiene l'elenco degli strumenti dalla prima richiesta della conversazione per l'intera conversazione, quindi un server che si connette o si disconnette a metà sessione non disturba nulla già memorizzato nella cache. Un server che finisce di connettersi dopo la prima richiesta fornisce i suoi strumenti come definizioni differite che Claude carica su richiesta.111* **Strumenti differiti**: Claude Code mantiene l'elenco degli strumenti dalla prima richiesta della conversazione per l'intera conversazione, quindi un server che si connette o si disconnette a metà sessione non disturba nulla già memorizzato nella cache. Un server che finisce di connettersi dopo la prima richiesta fornisce i suoi strumenti come definizioni differite che Claude carica su richiesta.

112* **Strumenti caricati in anticipo**: aggiungere una definizione invalida la cache, e così fa anche rimuoverne una di proposito. Questo si applica quando la ricerca degli strumenti è [al di sotto della sua soglia `auto`, disabilitata o non disponibile](/docs/it/mcp#configure-tool-search), ad esempio sui modelli di Google Cloud's Agent Platform precedenti a Opus 4.5, Sonnet 4.5 e Haiku 4.5, con un gateway `ANTHROPIC_BASE_URL` personalizzato, o su una distribuzione Microsoft Foundry [ospitata su Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) una volta che Claude Code rileva che la distribuzione rifiuta la ricerca degli strumenti.112* **Strumenti caricati in anticipo**: aggiungere una definizione invalida la cache, e così fa anche rimuoverne una di proposito. Questo si applica quando la ricerca degli strumenti è [disattivata o non disponibile](/docs/it/mcp#configure-tool-search), ad esempio su:

113 * I modelli di Google Cloud's Agent Platform precedenti a Opus 4.5, Sonnet 4.5 e Haiku 4.5

114 * Un [deploy Microsoft Foundry ospitato su Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) una volta che Claude Code rileva che il deploy rifiuta la ricerca degli strumenti

113 115 

114Senza ricerca degli strumenti, se un cambio di server a metà sessione invalida la cache dipende da cosa è cambiato. Per ogni cambio, questa tabella indica se la cache viene mantenuta e cosa accade alle definizioni degli strumenti nella richiesta successiva.116Senza ricerca degli strumenti, se un cambio di server a metà sessione invalida la cache dipende da cosa è cambiato. Per ogni cambio, questa tabella indica se la cache viene mantenuta e cosa accade alle definizioni degli strumenti nella richiesta successiva.

115 117 


159 161 

160Quando disabiliti un plugin che hai abilitato in precedenza nella sessione, Claude Code ripristina la forma di richiesta precedente. Se quel prefisso è ancora entro la sua [durata della cache](#cache-lifetime), la richiesta successiva legge la voce di cache più vecchia invece di ricostruire.162Quando disabiliti un plugin che hai abilitato in precedenza nella sessione, Claude Code ripristina la forma di richiesta precedente. Se quel prefisso è ancora entro la sua [durata della cache](#cache-lifetime), la richiesta successiva legge la voce di cache più vecchia invece di ricostruire.

161 163 

162### Negazione di uno strumento completo164### Negazione di un intero strumento

163 165 

164Se aggiungi un nome di strumento semplice come `Bash` o `WebFetch` come [regola di negazione](/docs/it/permissions#manage-permissions), Claude non può chiamare quello strumento dalla tua richiesta successiva in poi, sia che tu aggiunga la regola tramite `/permissions` o [modificando direttamente un file di impostazioni](/docs/it/settings#when-edits-take-effect). Questo include una regola che aggiungi tramite `/permissions` nel mezzo di un turno.166Se aggiungi un nome di strumento semplice come `Bash` o `WebFetch` come [regola di negazione](/docs/it/permissions#manage-permissions), Claude non può chiamare quello strumento dalla tua richiesta successiva in poi, sia che tu aggiunga la regola tramite `/permissions` o [modificando direttamente un file di impostazioni](/docs/it/settings#when-edits-take-effect). Questo include una regola che aggiungi tramite `/permissions` nel mezzo di un turno.

165 167 


169 171 

170### Compattazione della conversazione172### Compattazione della conversazione

171 173 

172La [compattazione](/docs/it/context-window#what-survives-compaction) sostituisce la cronologia dei tuoi messaggi con un riepilogo. Per progettazione, questo invalida il livello della conversazione, poiché la richiesta successiva ha una cronologia nuova e più breve che non condivide un prefisso con quella vecchia. Claude Code riutilizza il livello del prompt di sistema a meno che la conversazione non sia stata [ripresa mantenendo un prompt di sistema che altrimenti sarebbe cambiato](#resuming-a-session); in quel caso la prima compattazione passa al prompt corrente e quel livello si ricostruisce una volta. Ricarica il contesto del progetto dal disco, che cache-hit solo se CLAUDE.md e la memoria sono invariati da quando la sessione è iniziata.174La [compattazione](/docs/it/context-window#what-survives-compaction) sostituisce la cronologia dei tuoi messaggi con un riepilogo. Per progettazione, questo invalida il livello della conversazione: la richiesta successiva ha una cronologia nuova e più breve che non condivide un prefisso con quella vecchia. I livelli del prompt di sistema e del contesto del progetto possono rimanere nella cache:

173 175 

174Per produrre il riepilogo, Claude Code invia una richiesta separata con lo stesso prompt di sistema, strumenti e cronologia della tua conversazione, più un'istruzione di riepilogo aggiunta come messaggio utente finale. Mentre la cache è calda, quella richiesta legge il tuo prefisso dalla cache, quindi un `/compact` a metà sessione costa una frazione di quello che la dimensione del contesto suggerisce e spende la maggior parte del suo tempo generando il riepilogo.176* **Prompt di sistema**: la richiesta successiva legge questo livello dalla cache, a meno che una [conversazione ripresa](#resuming-a-session) non abbia mantenuto un prompt di sistema ormai obsoleto. La prima volta che quella conversazione viene compattata, Claude Code la fa passare al prompt corrente, e la richiesta successiva ricostruisce la cache di questo livello una volta.

177* **Contesto del progetto**: Claude Code ricarica questo livello dal disco. La richiesta successiva lo legge dalla cache solo se CLAUDE.md e la memoria sono invariati da quando la sessione è iniziata.

175 178 

176Dopo una pausa più lunga della [durata della cache](#cache-lifetime), non c'è cache rimasta da leggere, quindi la richiesta di riepilogo rielabora la cronologia completa come input non memorizzato nella cache. Questo è il motivo per cui `/compact` costa di più quando [riprendi una sessione vecchia](/docs/it/sessions#resume-a-session). In entrambi i casi caldi e freddi, il turno dopo la compattazione ricostruisce la cache della conversazione solo per il riepilogo molto più breve, quindi quel turno non è la parte lenta.179Per produrre il riepilogo, Claude Code invia una richiesta separata. La richiesta ripete il prompt di sistema, gli strumenti e la cronologia da riepilogare della tua conversazione. Termina con un'istruzione di riepilogo. Mentre la cache è calda, quella richiesta legge il tuo prefisso dalla cache. Un `/compact` a metà sessione costa quindi una frazione di quello che la dimensione del contesto suggerisce e spende la maggior parte del suo tempo generando il riepilogo.

180 

181Dopo una pausa più lunga della [durata della cache](#cache-lifetime), non c'è cache rimasta da leggere, quindi la richiesta di riepilogo rielabora quella cronologia come input non memorizzato nella cache. Questo è il motivo per cui `/compact` costa di più quando [riprendi una sessione vecchia](/docs/it/sessions#resume-a-session). In entrambi i casi caldi e freddi, il turno dopo la compattazione ricostruisce la cache della conversazione solo per il riepilogo molto più breve, quindi quel turno non è la parte lenta.

177 182 

178> [!TIP]183> [!TIP]

179>184>

Details

26Prima di utilizzare Remote Control, conferma che il tuo ambiente soddisfi queste condizioni:26Prima di utilizzare Remote Control, conferma che il tuo ambiente soddisfi queste condizioni:

27 27 

28* **Abbonamento**: disponibile su piani Pro, Max, Team e Enterprise. Le chiavi API non sono supportate. Su Team e Enterprise, un proprietario deve prima abilitare l'interruttore Remote Control nelle [impostazioni di amministrazione di Claude Code](https://claude.ai/admin-settings/claude-code).28* **Abbonamento**: disponibile su piani Pro, Max, Team e Enterprise. Le chiavi API non sono supportate. Su Team e Enterprise, un proprietario deve prima abilitare l'interruttore Remote Control nelle [impostazioni di amministrazione di Claude Code](https://claude.ai/admin-settings/claude-code).

29* **Ruoli personalizzati**: se la tua organizzazione Enterprise gestisce il tuo accesso con [ruoli personalizzati](https://support.claude.com/en/articles/13930452), i tuoi ruoli devono concederti sia il permesso per le sessioni cloud sia il permesso **Claude Code remote control**. Se manca uno dei due, l'avvio di Remote Control mostra [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy). Chiedi a un Owner di verificare i tuoi ruoli e di aggiungere ciò che manca in [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

29* **Autenticazione**: esegui `claude` e utilizza `/login` per accedere tramite claude.ai se non l'hai già fatto. Senza un accesso idoneo, `claude remote-control` esce con un errore, mentre `claude --remote-control` avvia comunque una sessione interattiva e mostra una notifica di errore di Remote Control poco dopo l'avvio.30* **Autenticazione**: esegui `claude` e utilizza `/login` per accedere tramite claude.ai se non l'hai già fatto. Senza un accesso idoneo, `claude remote-control` esce con un errore, mentre `claude --remote-control` avvia comunque una sessione interattiva e mostra una notifica di errore di Remote Control poco dopo l'avvio.

30* **Endpoint API**: non disponibile in nessuna di queste configurazioni:31* **Endpoint API**: non disponibile in nessuna di queste configurazioni:

31 * Utilizzi Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry.32 * Utilizzi Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry.

32 * Punti [`ANTHROPIC_BASE_URL`](/docs/it/env-vars) a un host diverso da `api.anthropic.com`, come un [gateway LLM](/docs/it/llm-gateway) o proxy. Annulla l'impostazione della variabile per utilizzare Remote Control.33 * Punti [`ANTHROPIC_BASE_URL`](/docs/it/env-vars) a un host diverso da `api.anthropic.com`, come un [gateway LLM](/docs/it/llm-gateway) o proxy. Annulla l'impostazione della variabile per utilizzare Remote Control.

33 * Accedi tramite un [gateway di app Claude](/docs/it/claude-apps-gateway) aziendale.34 * Accedi tramite un [gateway di app Claude](/docs/it/claude-apps-gateway) aziendale.

34* **Valutazione dei flag di funzionalità**: se imposti una [variabile di ambiente che disattiva la valutazione dei flag di funzionalità](/docs/it/env-vars#features-that-need-feature-flag-fetching), la disponibilità di Remote Control dipende da quale:35* **Valutazione dei flag di funzionalità**: se imposti una [variabile d'ambiente che disattiva la valutazione dei flag di funzionalità](/docs/it/env-vars#features-that-need-feature-flag-fetching), la disponibilità di Remote Control dipende da quale:

35 * Se imposti `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` o `DISABLE_GROWTHBOOK`, Remote Control non è disponibile. Annulla l'impostazione della variabile ovunque sia impostata, nel tuo ambiente shell o nel blocco `env` di un [file `settings.json`](/docs/it/settings-reference#all-settings), per utilizzare Remote Control.36 * Se imposti `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` o `DISABLE_GROWTHBOOK`, Remote Control non è disponibile. Annulla l'impostazione della variabile ovunque sia impostata, nel tuo ambiente shell o nel blocco `env` di un [file `settings.json`](/docs/it/settings-reference#all-settings), per utilizzare Remote Control.

36 * Se imposti solo `DISABLE_TELEMETRY` o `DO_NOT_TRACK`, Remote Control rimane disponibile a meno che la tua organizzazione non richieda [Dispositivi affidabili](#trusted-devices). Se lo richiede, annulla l'impostazione della variabile per utilizzare Remote Control. L'utilizzo di Remote Control con una di queste variabili impostate richiede Claude Code v2.1.283 o successivo.37 * Se imposti solo `DISABLE_TELEMETRY` o `DO_NOT_TRACK`, Remote Control rimane disponibile a meno che la tua organizzazione non richieda [Dispositivi affidabili](#trusted-devices). Se lo richiede, annulla l'impostazione della variabile per utilizzare Remote Control. L'utilizzo di Remote Control con una di queste variabili impostate richiede Claude Code v2.1.283 o successivo, oppure v2.1.304 o successivo nell'app Claude Desktop.

37* **Fiducia dell'area di lavoro**: in una directory che non hai ancora considerato attendibile, `claude remote-control` stampa ciò che considerare attendibile attiva e chiede `Trust <directory>? [y/N]` prima di avviarsi. Rispondendo `y` salva la scelta, tranne nella tua directory home, dove la fiducia non viene mai salvata e la domanda ritorna ad ogni esecuzione. Quando il suo input o output standard non è un terminale, il comando non può chiedere ed esce con un errore [`Workspace not trusted`](/docs/it/errors#workspace-not-trusted-when-starting-remote-control).38* **Fiducia dell'area di lavoro**: in una directory che non hai ancora considerato attendibile, `claude remote-control` stampa ciò che considerare attendibile attiva e chiede `Trust <directory>? [y/N]` prima di avviarsi. Rispondendo `y` salva la scelta, tranne nella tua directory home, dove la fiducia non viene mai salvata e la domanda ritorna ad ogni esecuzione. Quando il suo input o output standard non è un terminale, il comando non può chiedere ed esce con un errore [`Workspace not trusted`](/docs/it/errors#workspace-not-trusted-when-starting-remote-control).

38 39 

39## Avviare una sessione Remote Control40## Avviare una sessione Remote Control


60| `--remote-control-session-name-prefix <prefix>` | Prefisso per i nomi di sessione generati automaticamente quando non è impostato un nome esplicito. Per impostazione predefinita, il nome host della macchina, producendo nomi come `myhost-graceful-unicorn`. Impostare `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` per lo stesso effetto. |61| `--remote-control-session-name-prefix <prefix>` | Prefisso per i nomi di sessione generati automaticamente quando non è impostato un nome esplicito. Per impostazione predefinita, il nome host della macchina, producendo nomi come `myhost-graceful-unicorn`. Impostare `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` per lo stesso effetto. |

61| `-c`, `--continue` | Ripristina la sessione che l'ultimo server in questa directory ha avviato, invece di crearne una nuova. Vedere [Riprendere le sessioni dopo l'arresto del server](#resume-sessions-after-stopping-the-server). Non può essere combinato con `--session-id`, `--spawn`, `--capacity` o `--create-session-in-dir`. Richiede Claude Code v2.1.200 o successivo. |62| `-c`, `--continue` | Ripristina la sessione che l'ultimo server in questa directory ha avviato, invece di crearne una nuova. Vedere [Riprendere le sessioni dopo l'arresto del server](#resume-sessions-after-stopping-the-server). Non può essere combinato con `--session-id`, `--spawn`, `--capacity` o `--create-session-in-dir`. Richiede Claude Code v2.1.200 o successivo. |

62| `--session-id <id>` | Ripristina una sessione in base al suo ID. Vedere [Riprendere le sessioni dopo l'arresto del server](#resume-sessions-after-stopping-the-server). Non può essere combinato con `--continue`, `--spawn`, `--capacity` o `--create-session-in-dir`. Richiede Claude Code v2.1.200 o successivo. |63| `--session-id <id>` | Ripristina una sessione in base al suo ID. Vedere [Riprendere le sessioni dopo l'arresto del server](#resume-sessions-after-stopping-the-server). Non può essere combinato con `--continue`, `--spawn`, `--capacity` o `--create-session-in-dir`. Richiede Claude Code v2.1.200 o successivo. |

63| `--spawn <mode>` | Come il server crea le sessioni. • `same-dir` (predefinito): tutte le sessioni condividono la directory di lavoro corrente, quindi possono entrare in conflitto se modificano gli stessi file. • `worktree`: ogni sessione su richiesta ottiene il proprio [git worktree](/docs/it/worktrees). Richiede un repository git o un [hook `WorktreeCreate`](/docs/it/hooks#worktreecreate). • `session`: modalità a sessione singola. Serve esattamente una sessione e rifiuta connessioni aggiuntive. Impostato solo all'avvio. Premi `w` durante l'esecuzione per alternare tra `same-dir` e `worktree`. |64| `--spawn <mode>` | Come il server crea le sessioni. • `same-dir` (predefinito quando non è salvata alcuna modalità): tutte le sessioni condividono la directory di lavoro corrente, quindi possono entrare in conflitto se modificano gli stessi file. • `worktree`: ogni sessione su richiesta ottiene il proprio [git worktree](/docs/it/worktrees). Richiede un repository git o un [hook `WorktreeCreate`](/docs/it/hooks#worktreecreate). • `session`: modalità a sessione singola. Serve esattamente una sessione e rifiuta connessioni aggiuntive. Impostato solo all'avvio. Premi `w` durante l'esecuzione per alternare tra `same-dir` e `worktree`. La modalità a cui passi diventa il [valore predefinito per questo progetto](#set-the-default-spawn-mode-for-a-project). |

64| `--capacity <N>` | Numero massimo di sessioni simultanee. Il valore predefinito è 32. Non può essere utilizzato con `--spawn=session`. |65| `--capacity <N>` | Numero massimo di sessioni simultanee. Il valore predefinito è 32. Non può essere utilizzato con `--spawn=session`. |

65| `--[no-]create-session-in-dir` | Pre-crea una sessione nella directory corrente quando il server si avvia, in modo da avere un posto dove digitare immediatamente. In modalità `worktree` questa sessione rimane nella directory corrente mentre le sessioni su richiesta ottengono worktree isolati. Attivato per impostazione predefinita. Se si passa `--no-create-session-in-dir` per iniziare senza nessuno, Claude Code archivia le sessioni del server quando lo si arresta, quindi non c'è nulla da [riprendere](#resume-sessions-after-stopping-the-server). |66| `--[no-]create-session-in-dir` | Pre-crea una sessione nella directory corrente quando il server si avvia, in modo da avere un posto dove digitare immediatamente. In modalità `worktree` questa sessione rimane nella directory corrente mentre le sessioni su richiesta ottengono worktree isolati. Attivato per impostazione predefinita. Se si passa `--no-create-session-in-dir` per iniziare senza nessuno, Claude Code archivia le sessioni del server quando lo si arresta, quindi non c'è nulla da [riprendere](#resume-sessions-after-stopping-the-server). |

66| `--permission-mode <mode>` | Imposta la [modalità di autorizzazione](/docs/it/permission-modes) iniziale per le sessioni del server, come `acceptEdits`. Accetta `manual` come alias per `default`; una modalità non riconosciuta arresta il server all'avvio ed elenca le modalità valide. |67| `--permission-mode <mode>` | Imposta la [modalità di autorizzazione](/docs/it/permission-modes) iniziale per le sessioni del server, come `acceptEdits`. Accetta `manual` come alias per `default`; una modalità non riconosciuta arresta il server all'avvio ed elenca le modalità valide. |


203 204 

204Con solo `DISABLE_TELEMETRY` o `DO_NOT_TRACK` impostati, le tue sessioni non si connettono automaticamente tramite il valore predefinito dell'amministratore della tua organizzazione o il valore predefinito di Claude Code. Se qualcos'altro rende Remote Control non disponibile per te, come `DISABLE_GROWTHBOOK` o un gateway LLM, parti invece da [Requisiti](#requirements).205Con solo `DISABLE_TELEMETRY` o `DO_NOT_TRACK` impostati, le tue sessioni non si connettono automaticamente tramite il valore predefinito dell'amministratore della tua organizzazione o il valore predefinito di Claude Code. Se qualcos'altro rende Remote Control non disponibile per te, come `DISABLE_GROWTHBOOK` o un gateway LLM, parti invece da [Requisiti](#requirements).

205 206 

206Attivare la connessione automatica con solo `DISABLE_TELEMETRY` o `DO_NOT_TRACK` impostati richiede Claude Code v2.1.283 o successivo. Per connetterti automaticamente, verifica se la tua organizzazione richiede i [Trusted Devices](#trusted-devices):207Prima di attivare la connessione automatica con solo `DISABLE_TELEMETRY` o `DO_NOT_TRACK` impostati, verifica che la tua versione di Claude Code soddisfi il [requisito per queste variabili](#requirements). Poi verifica se la tua organizzazione richiede i [Trusted Devices](#trusted-devices):

207 208 

208* **Non richiesti**: imposta **Enable Remote Control for all sessions** su `true` in `/config`.209* **Non richiesti**: imposta **Enable Remote Control for all sessions** su `true` in `/config`.

209* **Richiesti**: Remote Control non è disponibile mentre `DISABLE_TELEMETRY` o `DO_NOT_TRACK` è impostato. Rimuovi quella delle due variabili che hai impostato. Se le tue sessioni continuano a non connettersi automaticamente, imposta **Enable Remote Control for all sessions** su `true` in `/config`.210* **Richiesti**: Remote Control non è disponibile mentre `DISABLE_TELEMETRY` o `DO_NOT_TRACK` è impostato. Rimuovi quella delle due variabili che hai impostato. Se le tue sessioni continuano a non connettersi automaticamente, imposta **Enable Remote Control for all sessions** su `true` in `/config`.


224 225 

225Quando riprendi una conversazione in Claude Desktop o in un'estensione IDE che aveva Remote Control attivo, Claude Code la riallega alla sessione claude.ai esistente invece di aggiungerne una nuova all'elenco delle sessioni.226Quando riprendi una conversazione in Claude Desktop o in un'estensione IDE che aveva Remote Control attivo, Claude Code la riallega alla sessione claude.ai esistente invece di aggiungerne una nuova all'elenco delle sessioni.

226 227 

228### Impostare la modalità di spawn predefinita per un progetto

229 

230Se `claude remote-control` stampa `Spawn mode: <mode> (saved for this folder; press w to change)` all'avvio, il server si sta avviando in una modalità di spawn salvata in precedenza per questo progetto.

231 

232La modalità salvata deriva da una scelta che hai fatto nel tuo terminale. Se lì `claude remote-control` ti ha chiesto `Spawn mode for this project:`, Claude Code ha conservato ciò che hai risposto: `1` per `same-dir` o `2` per `worktree`. Se hai premuto `w` durante l'esecuzione, Claude Code ha conservato la modalità a cui sei passato, anche in un'esecuzione avviata con `--spawn same-dir` o `--spawn worktree`.

233 

234* Mentre il server è in esecuzione in modalità `same-dir` o `worktree`, premi `w` nel terminale del server per passare all'altra. Il cambio richiede un repository git o un hook `WorktreeCreate`.

235* Per usare una modalità diversa per una singola esecuzione, passa `--spawn <mode>`.

236 

227## Connessione e sicurezza237## Connessione e sicurezza

228 238 

229La tua sessione locale di Claude Code effettua solo richieste HTTPS in uscita e non apre mai porte in ingresso sulla tua macchina. Quando avvii Remote Control, si registra con l'API Anthropic e esegue il polling per il lavoro. Quando ti connetti da un altro dispositivo, il server instrada i messaggi tra il client web o mobile e la tua sessione locale su una connessione in streaming.239La tua sessione locale di Claude Code effettua solo richieste HTTPS in uscita e non apre mai porte in ingresso sulla tua macchina. Quando avvii Remote Control, si registra con l'API Anthropic e esegue il polling per il lavoro. Quando ti connetti da un altro dispositivo, il server instrada i messaggi tra il client web o mobile e la tua sessione locale su una connessione in streaming.


426Una [variabile d'ambiente](/docs/it/env-vars#features-that-need-feature-flag-fetching) che disattiva la valutazione feature-flag è impostata, e il messaggio completo nomina la variabile che Claude Code ha trovato. Nelle versioni precedenti alla 2.1.154, la stessa configurazione produce "Remote Control is not yet enabled for your account" invece. Cosa fare dipende dalla variabile che il messaggio nomina:436Una [variabile d'ambiente](/docs/it/env-vars#features-that-need-feature-flag-fetching) che disattiva la valutazione feature-flag è impostata, e il messaggio completo nomina la variabile che Claude Code ha trovato. Nelle versioni precedenti alla 2.1.154, la stessa configurazione produce "Remote Control is not yet enabled for your account" invece. Cosa fare dipende dalla variabile che il messaggio nomina:

427 437 

428* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` o `DISABLE_GROWTHBOOK`**: annulla l'impostazione della variabile ovunque sia impostata, nel tuo ambiente shell o nel blocco `env` di un [file `settings.json`](/docs/it/settings-reference#all-settings).438* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` o `DISABLE_GROWTHBOOK`**: annulla l'impostazione della variabile ovunque sia impostata, nel tuo ambiente shell o nel blocco `env` di un [file `settings.json`](/docs/it/settings-reference#all-settings).

429* **`DISABLE_TELEMETRY` o `DO_NOT_TRACK`**: su un piano Pro, Max, Team o Enterprise con `DISABLE_GROWTHBOOK` non impostato, queste variabili lasciano Remote Control disponibile a meno che la tua organizzazione non richieda [Trusted Devices](#trusted-devices). Se lo richiede, annulla l'impostazione della variabile ovunque sia impostata per utilizzare Remote Control. Dalla v2.1.154 alla v2.1.282, una delle due variabili ha prodotto questo messaggio, quindi aggiorna Claude Code alla v2.1.283 o successiva.439* **`DISABLE_TELEMETRY` o `DO_NOT_TRACK`**: su un piano Pro, Max, Team o Enterprise con `DISABLE_GROWTHBOOK` non impostato, queste variabili lasciano Remote Control disponibile a meno che la tua organizzazione non richieda [Trusted Devices](#trusted-devices). Se lo richiede, annulla l'impostazione della variabile ovunque sia impostata per utilizzare Remote Control. Dalla v2.1.154 alla v2.1.282, vedi questo messaggio con una qualsiasi delle due variabili impostata, quindi aggiorna Claude Code a una versione che soddisfi il [requisito per queste variabili](#requirements).

430 440 

431### "Remote Control is only available when using Claude via api.anthropic.com"441### "Remote Control is only available when using Claude via api.anthropic.com"

432 442 


441* **L'errore menziona `disableRemoteControl`**: il tuo amministratore IT ha disabilitato Remote Control su questo dispositivo tramite [impostazioni gestite](/docs/it/managed-settings), indipendentemente dall'interruttore a livello di organizzazione e da come sei connesso.451* **L'errore menziona `disableRemoteControl`**: il tuo amministratore IT ha disabilitato Remote Control su questo dispositivo tramite [impostazioni gestite](/docs/it/managed-settings), indipendentemente dall'interruttore a livello di organizzazione e da come sei connesso.

442* **Il tuo piano claude.ai è Pro o Max**: Claude Code è ancora connesso con un'organizzazione Team o Enterprise da un accesso precedente, quindi controlla la policy Remote Control di quell'organizzazione. Esegui `/status` per vedere quale piano e organizzazione utilizza il tuo accesso. Esegui `claude auth logout` quindi `claude auth login` per accedere di nuovo con il tuo piano attuale.452* **Il tuo piano claude.ai è Pro o Max**: Claude Code è ancora connesso con un'organizzazione Team o Enterprise da un accesso precedente, quindi controlla la policy Remote Control di quell'organizzazione. Esegui `/status` per vedere quale piano e organizzazione utilizza il tuo accesso. Esegui `claude auth logout` quindi `claude auth login` per accedere di nuovo con il tuo piano attuale.

443* **Il messaggio non dice di contattare l'amministratore della tua organizzazione**: alla tua organizzazione è applicata la [configurazione HIPAA](/docs/it/hipaa-setup), che disattiva Remote Control. Per verificarlo, esegui `/status` e cerca `HIPAA` nella riga `Organization configuration`. Un Owner vede l'interruttore **Remote Control** disattivato in grigio nelle [impostazioni di amministrazione](https://claude.ai/admin-settings/claude-code) e non può attivarlo. Se hai domande sulla configurazione, chiedi a un Owner, che può contattare il team account Anthropic della tua organizzazione. Prima della v2.1.267, questo caso mostrava "Remote Control isn't available for your organization due to its compliance policy" invece.453* **Il messaggio non dice di contattare l'amministratore della tua organizzazione**: alla tua organizzazione è applicata la [configurazione HIPAA](/docs/it/hipaa-setup), che disattiva Remote Control. Per verificarlo, esegui `/status` e cerca `HIPAA` nella riga `Organization configuration`. Un Owner vede l'interruttore **Remote Control** disattivato in grigio nelle [impostazioni di amministrazione](https://claude.ai/admin-settings/claude-code) e non può attivarlo. Se hai domande sulla configurazione, chiedi a un Owner, che può contattare il team account Anthropic della tua organizzazione. Prima della v2.1.267, questo caso mostrava "Remote Control isn't available for your organization due to its compliance policy" invece.

454* **Remote Control funziona per altri membri della tua organizzazione ma non per te**: se la tua organizzazione Enterprise gestisce il tuo accesso con [ruoli personalizzati](https://support.claude.com/en/articles/13930452), la causa possono essere i tuoi ruoli. Remote Control richiede sia il permesso per le sessioni cloud sia il permesso **Claude Code remote control**. Chiedi a un Owner di verificare se i tuoi ruoli includono entrambi e di aggiungere ciò che manca in [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

444* **Altrimenti, un Owner non l'ha abilitato per la tua organizzazione**: Remote Control è disattivato per impostazione predefinita sui piani Team e Enterprise. Un Owner può abilitarlo su [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) attivando l'interruttore **Remote Control**. Questo interruttore è un'impostazione dell'organizzazione lato server.455* **Altrimenti, un Owner non l'ha abilitato per la tua organizzazione**: Remote Control è disattivato per impostazione predefinita sui piani Team e Enterprise. Un Owner può abilitarlo su [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) attivando l'interruttore **Remote Control**. Questo interruttore è un'impostazione dell'organizzazione lato server.

445 456 

446Prima della v2.1.281, questo messaggio appariva anche quando Claude Code non aveva caricato la policy della tua organizzazione su questa macchina, ad esempio dopo l'avvio offline. Le versioni successive segnalano quello stato come [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) invece.457Prima della v2.1.281, questo messaggio appariva anche quando Claude Code non aveva caricato la policy della tua organizzazione su questa macchina, ad esempio dopo l'avvio offline. Le versioni successive segnalano quello stato come [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) invece.

routines.md +10 −9

Details

33 33 

34Gli Owner di Team ed Enterprise possono disattivare le attività pianificate per tutti i membri con l'interruttore **Scheduled tasks (Was Routines)** in [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). Quando l'interruttore è disattivato, le attività pianificate esistenti smettono di essere eseguite e i membri non possono crearne di nuove.34Gli Owner di Team ed Enterprise possono disattivare le attività pianificate per tutti i membri con l'interruttore **Scheduled tasks (Was Routines)** in [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). Quando l'interruttore è disattivato, le attività pianificate esistenti smettono di essere eseguite e i membri non possono crearne di nuove.

35 35 

36Se la tua organizzazione Enterprise gestisce il tuo accesso con [ruoli personalizzati](https://support.claude.com/en/articles/13930452), ti serve anche un ruolo che includa il permesso per le attività pianificate. Un Owner può aggiungerlo nella sezione **Remote sessions** di un ruolo in [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

37 

36## Esempi di casi d'uso38## Esempi di casi d'uso

37 39 

38Ogni esempio abbina un tipo di trigger al tipo di lavoro per cui le attività pianificate sono adatte: non presidiato, ripetibile e legato a un risultato chiaro.40Ogni esempio abbina un tipo di trigger al tipo di lavoro per cui le attività pianificate sono adatte: non presidiato, ripetibile e legato a un risultato chiaro.


48 50 

49Crea un'attività pianificata dal web su [claude.ai/code/routines](https://claude.ai/code/routines), dall'app Desktop o dalla CLI. Tutte e tre le superfici scrivono nello stesso account cloud, quindi un'attività pianificata che crei in una appare immediatamente nelle altre. Nella scheda **Code** dell'app Desktop, fai clic su **Scheduled** nella barra laterale o nel menu **More** della barra laterale, poi su **New task**, e prosegui con [Creare dal web](#create-from-the-web).51Crea un'attività pianificata dal web su [claude.ai/code/routines](https://claude.ai/code/routines), dall'app Desktop o dalla CLI. Tutte e tre le superfici scrivono nello stesso account cloud, quindi un'attività pianificata che crei in una appare immediatamente nelle altre. Nella scheda **Code** dell'app Desktop, fai clic su **Scheduled** nella barra laterale o nel menu **More** della barra laterale, poi su **New task**, e prosegui con [Creare dal web](#create-from-the-web).

50 52 

51Le attività pianificate vengono eseguite autonomamente come sessioni cloud complete di Claude Code. Non scegli una modalità di permesso. La sessione esegue comandi shell, utilizza le [skill](/docs/it/skills) di cui è stato fatto il commit nel repository clonato e chiama qualsiasi connettore incluso, il tutto senza fermarsi per l'approvazione a parte alcune [azioni sugli artefatti](#when-a-run-publishes-an-artifact-without-asking).53Le attività pianificate vengono eseguite autonomamente come sessioni cloud complete di Claude Code. Non scegli una modalità di permesso. La sessione esegue comandi shell, utilizza le [skill](/docs/it/skills) e chiama qualsiasi connettore incluso, il tutto senza fermarsi per l'approvazione a parte alcune [azioni sugli artefatti](#when-a-run-publishes-an-artifact-without-asking). Al di fuori di un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), queste skill includono quelle di cui è stato fatto il commit nel repository clonato.

52 54 

53Ciò che un'attività pianificata può raggiungere è determinato da:55Ciò che un'attività pianificata può raggiungere è determinato da:

54 56 


116 118 

117Fai clic su **Create**. La finestra di dialogo si chiude e si apre la pagina di dettaglio della nuova attività. L'attività viene eseguita la prossima volta che uno dei suoi trigger corrisponde. Per avviare subito un'esecuzione, fai clic su **Run now** nella pagina di dettaglio.119Fai clic su **Create**. La finestra di dialogo si chiude e si apre la pagina di dettaglio della nuova attività. L'attività viene eseguita la prossima volta che uno dei suoi trigger corrisponde. Per avviare subito un'esecuzione, fai clic su **Run now** nella pagina di dettaglio.

118 120 

119Ogni esecuzione crea una nuova sessione insieme alle tue altre sessioni, dove puoi vedere cosa ha fatto Claude, rivedere le modifiche e creare una pull request.121Per vedere cosa ha fatto un'esecuzione, fai clic su di essa nell'elenco **History** della pagina di dettaglio. L'esecuzione [si apre come sessione completa](#view-and-interact-with-runs), una nuova per ogni esecuzione, dove puoi vedere cosa ha fatto Claude, rivedere le modifiche e creare una pull request.

120 122 

121#### Finestra di dialogo con Repositories ed Environment nella vista principale123#### Finestra di dialogo con Repositories ed Environment nella vista principale

122 124 


147 149 

148Un trigger di pianificazione esegue l'attività su una cadenza ricorrente, oppure una sola volta a un momento futuro specifico. Nella finestra di dialogo di creazione o modifica dell'attività sul web, scegli una frequenza preimpostata come oraria, giornaliera o settimanale:150Un trigger di pianificazione esegue l'attività su una cadenza ricorrente, oppure una sola volta a un momento futuro specifico. Nella finestra di dialogo di creazione o modifica dell'attività sul web, scegli una frequenza preimpostata come oraria, giornaliera o settimanale:

149 151 

150* **Fuso orario**: gli orari vengono inseriti nel tuo fuso orario locale e convertiti automaticamente, quindi l'attività viene eseguita a quell'ora locale indipendentemente da dove si trova l'infrastruttura cloud.

151* **Esecuzioni allo scoccare dell'ora**: se pianifichi un'esecuzione esattamente allo scoccare dell'ora, ad esempio alle 9:00, potrebbe iniziare con alcuni minuti di ritardo. Per iniziare vicino all'ora pianificata, scegli alcuni minuti dopo l'ora, ad esempio le 9:07.152* **Esecuzioni allo scoccare dell'ora**: se pianifichi un'esecuzione esattamente allo scoccare dell'ora, ad esempio alle 9:00, potrebbe iniziare con alcuni minuti di ritardo. Per iniziare vicino all'ora pianificata, scegli alcuni minuti dopo l'ora, ad esempio le 9:07.

152* **Intervalli personalizzati**: per un intervallo personalizzato come ogni due ore, scegli il preset più vicino nella finestra di dialogo, quindi esegui `/schedule update` nella CLI per impostare un'espressione cron specifica. L'intervallo minimo è un'ora; le espressioni che vengono eseguite più frequentemente vengono rifiutate.153* **Intervalli personalizzati**: per una cadenza non disponibile tra i preset, crea l'attività e seleziona **Custom** nella sua [finestra di dialogo di modifica](#edit-and-control-scheduled-tasks). Quindi inserisci un'espressione cron, ad esempio `0 */2 * * *` per ogni due ore. Per impostarne una dalla CLI, esegui [`/schedule update`](#manage-scheduled-tasks-from-the-cli). Le espressioni che vengono eseguite più di una volta all'ora vengono rifiutate.

154* **Fuso orario**: quando scegli una frequenza preimpostata, inserisci l'orario nel tuo fuso orario locale.

153 155 

154#### Pianificare un'esecuzione una tantum156#### Pianificare un'esecuzione una tantum

155 157 


159* Aprire una PR di pulizia dopo la fine di un rollout161* Aprire una PR di pulizia dopo la fine di un rollout

160* Avviare un lavoro di follow-up dopo il rilascio di una modifica upstream162* Avviare un lavoro di follow-up dopo il rilascio di una modifica upstream

161 163 

162Dopo l'esecuzione, l'attività si disattiva da sola e l'interfaccia web la contrassegna come **Completed**. Per eseguirla di nuovo, apri la finestra di dialogo di modifica dell'attività sul web, che offre **One-time** per un'attività una tantum, e imposta un nuovo orario.164Dopo l'esecuzione, l'attività si disattiva da sola e l'interfaccia web la contrassegna come **Completed**. Per eseguirla di nuovo, apri la [finestra di dialogo di modifica](#edit-and-control-scheduled-tasks) dell'attività sul web e seleziona **One-time** o **Once**, a seconda dell'etichetta mostrata nella tua finestra di dialogo. Quindi imposta una nuova data e un nuovo orario nel tuo fuso orario locale e salva.

163 165 

164Crea un'esecuzione una tantum dalla CLI descrivendo l'ora in linguaggio naturale. Claude interpreta la frase rispetto all'ora attuale e conferma il timestamp assoluto prima di salvare.166Crea un'esecuzione una tantum dalla CLI descrivendo l'ora in linguaggio naturale. Claude interpreta la frase rispetto all'ora attuale e conferma il timestamp assoluto prima di salvare.

165 167 


171/schedule in 2 weeks, open a cleanup PR that removes the feature flag173/schedule in 2 weeks, open a cleanup PR that removes the feature flag

172```174```

173 175 

174Ai timestamp una tantum si applica la stessa conversione dall'ora locale a UTC delle pianificazioni ricorrenti.

175 

176Le esecuzioni una tantum vengono conteggiate nello stesso limite orario delle altre esecuzioni pianificate. Consulta [Utilizzo e limiti](#usage-and-limits) per i dettagli.176Le esecuzioni una tantum vengono conteggiate nello stesso limite orario delle altre esecuzioni pianificate. Consulta [Utilizzo e limiti](#usage-and-limits) per i dettagli.

177 177 

178### Aggiungere un trigger API178### Aggiungere un trigger API


356I connettori sono le [integrazioni di claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) sul tuo account. I server MCP che hai aggiunto localmente nella CLI con `claude mcp add` sono archiviati sulla tua macchina anziché sul tuo account claude.ai, quindi non compaiono nell'elenco dei connettori. Per usare uno di questi server in un'attività pianificata:356I connettori sono le [integrazioni di claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) sul tuo account. I server MCP che hai aggiunto localmente nella CLI con `claude mcp add` sono archiviati sulla tua macchina anziché sul tuo account claude.ai, quindi non compaiono nell'elenco dei connettori. Per usare uno di questi server in un'attività pianificata:

357 357 

358* **Come connettore**: aggiungilo come connettore su [claude.ai/customize/connectors](https://claude.ai/customize/connectors)358* **Come connettore**: aggiungilo come connettore su [claude.ai/customize/connectors](https://claude.ai/customize/connectors)

359* **Nel repository**: per un'attività pianificata con un solo repository, puoi invece dichiarare il server in un [`.mcp.json`](/docs/it/mcp#project-scope) di cui è stato fatto il commit, così fa parte del repository clonato359* **Nel repository**: per un'attività pianificata con un solo repository al di fuori di un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), puoi invece dichiarare il server in un [`.mcp.json`](/docs/it/mcp#project-scope) di cui è stato fatto il commit. Un'attività pianificata in un progetto non carica `.mcp.json`, quindi aggiungi il server come connettore

360 360 

361Quando crei un'attività pianificata, tutti i connettori attualmente connessi vengono inclusi per impostazione predefinita. Rimuovi quelli non necessari per limitare gli strumenti a cui Claude ha accesso durante l'esecuzione. Puoi anche aggiungere connettori direttamente dalla finestra di dialogo di creazione o modifica dell'attività.361Quando crei un'attività pianificata, tutti i connettori attualmente connessi vengono inclusi per impostazione predefinita. Rimuovi quelli non necessari per limitare gli strumenti a cui Claude ha accesso durante l'esecuzione. Puoi anche aggiungere connettori direttamente dalla finestra di dialogo di creazione o modifica dell'attività.

362 362 


452* Ti trovi all'interno di una sessione cloud, dove l'invio di `/schedule` risponde che il comando non è disponibile in quell'ambiente. Gestisci invece le attività pianificate dall'[interfaccia web](https://claude.ai/code/routines)452* Ti trovi all'interno di una sessione cloud, dove l'invio di `/schedule` risponde che il comando non è disponibile in quell'ambiente. Gestisci invece le attività pianificate dall'[interfaccia web](https://claude.ai/code/routines)

453* La policy della tua organizzazione disabilita le [sessioni cloud](/docs/it/claude-code-on-the-web), che sono necessarie per le attività pianificate. In questo caso, l'invio di `/schedule` risponde invece [`Cloud sessions are disabled by your organization's policy`](/docs/it/errors#cloud-sessions-are-disabled-by-your-organizations-policy). Prima della v2.1.268, restituiva `Unknown command: /schedule`453* La policy della tua organizzazione disabilita le [sessioni cloud](/docs/it/claude-code-on-the-web), che sono necessarie per le attività pianificate. In questo caso, l'invio di `/schedule` risponde invece [`Cloud sessions are disabled by your organization's policy`](/docs/it/errors#cloud-sessions-are-disabled-by-your-organizations-policy). Prima della v2.1.268, restituiva `Unknown command: /schedule`

454* Un Owner ha [disattivato le attività pianificate](#routines-are-disabled-by-your-organizations-policy) per la tua organizzazione Team o Enterprise. Prima della v2.1.227, in questo caso il comando compariva comunque e claude.ai rifiutava l'attività quando Claude tentava di crearla o eseguirla454* Un Owner ha [disattivato le attività pianificate](#routines-are-disabled-by-your-organizations-policy) per la tua organizzazione Team o Enterprise. Prima della v2.1.227, in questo caso il comando compariva comunque e claude.ai rifiutava l'attività quando Claude tentava di crearla o eseguirla

455* La tua organizzazione Enterprise gestisce il tuo accesso con [ruoli personalizzati](https://support.claude.com/en/articles/13930452) e nessuno dei tuoi ruoli include il permesso per le attività pianificate in **Remote sessions**. Chiedi a un Owner di aggiungerlo a uno dei tuoi ruoli

455 456 

456A meno che la policy della tua organizzazione non disabiliti le attività pianificate o le sessioni cloud, puoi creare e gestire le attività pianificate su [claude.ai/code/routines](https://claude.ai/code/routines) indipendentemente da come è configurata la CLI.457Se la causa è l'accesso alla CLI o il fatto che ti trovi all'interno di una sessione cloud, puoi comunque creare e gestire le attività pianificate su [claude.ai/code/routines](https://claude.ai/code/routines). Lì ti serve un account Pro, Max, Team o Enterprise. Se le attività pianificate o le sessioni cloud sono disattivate per la tua organizzazione o mancano dai tuoi ruoli, non puoi crearle nemmeno sul web.

457 458 

458### "Routines are disabled by your organization's policy"459### "Routines are disabled by your organization's policy"

459 460 

sandboxing.md +16 −2

Details

546 546 

547Se `git merge` o `git checkout` non riesce con `unable to unlink old` su uno di questi percorsi, consulta [Un comando git non riesce con `unable to unlink old`](#a-git-command-fails-with-unable-to-unlink-old).547Se `git merge` o `git checkout` non riesce con `unable to unlink old` su uno di questi percorsi, consulta [Un comando git non riesce con `unable to unlink old`](#a-git-command-fails-with-unable-to-unlink-old).

548 548 

549#### Percorsi negati che passano attraverso un collegamento simbolico

550 

551Su macOS, quando un percorso negato passa attraverso un collegamento simbolico, come una `~/.claude` che è un collegamento a un repository di dotfile, la sandbox nega anche la posizione reale del percorso. Questo vale sia per i dinieghi propri della sandbox sia per le tue voci letterali `denyWrite` e `denyRead`.

552 

549### Isolamento di rete553### Isolamento di rete

550 554 

551Un comando in sandbox non ha un accesso diretto alla rete:555Un comando in sandbox non ha un accesso diretto alla rete:


974✗ Sandbox settings not changed: /home/you/project/.claude/settings.local.json couldn't be updated (EACCES). Start Claude Code in a project folder you can write to.978✗ Sandbox settings not changed: /home/you/project/.claude/settings.local.json couldn't be updated (EACCES). Start Claude Code in a project folder you can write to.

975```979```

976 980 

977Se il motivo tra parentesi è `EACCES`, `EPERM` o `EROFS`, avvia Claude Code in una cartella di progetto in cui puoi scrivere, quindi esegui di nuovo `/sandbox` in quella sessione.981Se il motivo tra parentesi è `EACCES`, `EPERM` o `EROFS`, avvia Claude Code in una cartella di progetto in cui puoi scrivere, quindi esegui di nuovo `/sandbox` in quella sessione. Se il motivo inizia con `Invalid JSON syntax in settings file`, correggi il JSON nel file `.claude/settings.local.json` del tuo progetto, quindi esegui di nuovo `/sandbox`.

982 

983Se non hai a disposizione alcuna cartella di progetto in cui puoi scrivere, attiva invece la sandbox dalle tue impostazioni utente. Aggiungi questo a `~/.claude/settings.json`:

984 

985```json theme={null}

986{

987 "sandbox": {

988 "enabled": true

989 }

990}

991```

978 992 

979Se il motivo inizia con `Invalid JSON syntax in settings file`, correggi il JSON nel file `.claude/settings.local.json` del tuo progetto, quindi esegui di nuovo `/sandbox`.993Questo attiva la [modalità auto-allow](#sandbox-modes). Per la modalità con permessi regolari, imposta anche [`sandbox.autoAllowBashIfSandboxed`](/docs/it/settings-reference#sandbox-autoallowbashifsandboxed) su `false`. La modifica ha effetto nella sessione in corso al successivo comando shell eseguito da Claude, e la scheda **Mode** di `/sandbox` indica quindi la modalità in vigore.

980 994 

981## Limitazioni995## Limitazioni

982 996 

Details

30| Accesso ai file locali | No (clone fresco) | Sì | Sì |30| Accesso ai file locali | No (clone fresco) | Sì | Sì |

31| MCP servers | Connettori configurati per attività | [File di configurazione](/docs/it/mcp) e connettori | Eredita dalla sessione |31| MCP servers | Connettori configurati per attività | [File di configurazione](/docs/it/mcp) e connettori | Eredita dalla sessione |

32| Prompt di autorizzazione | No (esecuzione autonoma) | Configurabile per attività | Eredita dalla sessione |32| Prompt di autorizzazione | No (esecuzione autonoma) | Configurabile per attività | Eredita dalla sessione |

33| Pianificazione personalizzabile | Via `/schedule` nella CLI | Sì | Sì |33| Pianificazione personalizzabile | Sì | Sì | Sì |

34| Intervallo minimo | 1 ora | 1 minuto | 1 minuto |34| Intervallo minimo | 1 ora | 1 minuto quando lo imposta Claude, [1 ora nei moduli](/docs/it/desktop-scheduled-tasks#schedule-options) | 1 minuto |

35 35 

36> [!TIP]36> [!TIP]

37>37>


124 124 

125### Interrompere un ciclo125### Interrompere un ciclo

126 126 

127Per interrompere un [ciclo autonomo `/loop`](#let-claude-choose-the-interval) mentre è in attesa della successiva iterazione, premete `Esc`. Questo cancella il risveglio in sospeso in modo che il ciclo non si attivi di nuovo. Le attività pianificate [chiedendo direttamente a Claude](#manage-scheduled-tasks) non sono interessate da `Esc` e rimangono in posizione fino a quando non le eliminate.127* **[Ciclo autonomo](#let-claude-choose-the-interval)**: mentre il ciclo è in attesa della successiva iterazione, premi `Esc` per interromperlo. Puoi anche interromperlo con `Ctrl+C` mentre Claude è inattivo, tranne che in una [sessione in background a cui ti sei collegato](#detach-without-stopping-a-loop). Un avviso `Pending wakeup cancelled` conferma che il ciclo non si attiverà di nuovo.

128* **[Ciclo a intervallo fisso](#run-on-a-fixed-interval)**: per interrompere un ciclo come `/loop 5m`, chiedi a Claude di annullarlo, ad esempio `cancel the deploy check loop`. `Esc` e `Ctrl+C` non lo interrompono, né interrompono qualsiasi attività che hai [pianificato chiedendo direttamente a Claude](#manage-scheduled-tasks). Un ciclo che non annulli termina quando [trascorrono sette giorni](#seven-day-expiry).

128 129 

129In [modalità autonoma](#let-claude-choose-the-interval), Claude può anche terminare il ciclo da solo una volta che l'attività è completa. Claude chiama lo strumento [`ScheduleWakeup`](/docs/it/tools-reference) con `stop: true`, che annulla il risveglio in sospeso immediatamente. Se un'iterazione termina senza ripianificare o interrompere, Claude Code pianifica un risveglio di fallback circa 20 minuti dopo e termina il ciclo quando quell'iterazione non ripianifica nemmeno.130In [modalità autonoma](#let-claude-choose-the-interval), Claude può anche terminare il ciclo da solo una volta che l'attività è completa. Claude chiama lo strumento [`ScheduleWakeup`](/docs/it/tools-reference) con `stop: true`, che annulla il risveglio in sospeso immediatamente. Se un'iterazione termina senza ripianificare o interrompere, Claude Code pianifica un risveglio di fallback circa 20 minuti dopo e termina il ciclo quando quell'iterazione non ripianifica nemmeno.

130 131 

131I cicli su un intervallo fisso continuano a funzionare fino a quando non li [annullate come qualsiasi altra attività pianificata](#manage-scheduled-tasks) o [trascorrono sette giorni](#seven-day-expiry).132#### Scollegarsi senza interrompere un ciclo

133 

134Quando sei [collegato a una sessione in background](/docs/it/agent-view#attach-to-a-session) e Claude è inattivo, premi `Ctrl+C` due volte su un prompt vuoto per scollegarti. Un ciclo autonomo in attesa della successiva iterazione continua a funzionare, e quell'iterazione parte come pianificato. Per interrompere invece il ciclo, premi `Esc` prima di scollegarti. Scollegarsi con `Ctrl+C` senza interrompere il ciclo richiede Claude Code v2.1.295 o successivo.

132 135 

133## Impostare un promemoria una tantum136## Impostare un promemoria una tantum

134 137 


232 235 

233* Le attività si attivano solo mentre Claude Code è in esecuzione e inattivo. La chiusura del terminale o l'uscita dalla sessione le interrompe. [Mettere in background la sessione](/docs/it/agent-view#from-inside-a-session) trasporta le attività `/loop` a una sessione in background, che continua a funzionare senza un terminale.236* Le attività si attivano solo mentre Claude Code è in esecuzione e inattivo. La chiusura del terminale o l'uscita dalla sessione le interrompe. [Mettere in background la sessione](/docs/it/agent-view#from-inside-a-session) trasporta le attività `/loop` a una sessione in background, che continua a funzionare senza un terminale.

234* Nessun recupero per attivazioni perse. Se l'ora pianificata di un'attività passa mentre Claude è occupato in una richiesta a lunga esecuzione, si attiva una sola volta quando Claude diventa inattivo, non una volta per ogni intervallo perso.237* Nessun recupero per attivazioni perse. Se l'ora pianificata di un'attività passa mentre Claude è occupato in una richiesta a lunga esecuzione, si attiva una sola volta quando Claude diventa inattivo, non una volta per ogni intervallo perso.

235* Quando si riprende una sessione con `claude --resume` o `claude --continue`, Claude Code ripristina le attività pianificate con `CronCreate`, ad eccezione delle attività ricorrenti che hanno [scaduto](#seven-day-expiry) e delle attività una tantum la cui ora pianificata è già passata. Un `/loop` [auto-regolato](#let-claude-choose-the-interval) non viene ripristinato, quindi eseguire `/loop` di nuovo per riavviarlo. Le attività Bash in background e monitor non vengono mai ripristinate al riavvio.238* In una [sessione in background](/docs/it/agent-view#from-inside-a-session), un [loop auto-regolato](#let-claude-choose-the-interval) si interrompe se il suo prossimo risveglio arriva a scadenza mentre il processo della sessione non è in esecuzione, ad esempio dopo un arresto anomalo. Quando il processo si riavvia, la trascrizione mostra un [avviso che il risveglio non verrà eseguito](/docs/it/errors#restarted-after-its-next-loop-wakeup-was-due). Per continuare il loop, [rispondi alla sessione](/docs/it/agent-view#peek-and-reply) e chiedi a Claude di mantenerlo in esecuzione.

239* Quando riprendi una sessione con `claude --resume` o `claude --continue`, Claude Code ripristina le attività pianificate con `CronCreate`, ad eccezione delle attività ricorrenti che sono [scadute](#seven-day-expiry) e delle attività una tantum la cui ora pianificata è già passata. Un [`/loop` auto-regolato](#let-claude-choose-the-interval) non viene ripristinato, quindi esegui `/loop` di nuovo per riavviarlo.

240* Un'attività ricorrente ripristinata non si attiva per le esecuzioni perse mentre la sessione non era in esecuzione. La sua esecuzione successiva è la prima in scadenza dopo la ripresa, e a quell'esecuzione si applica il [jitter](#jitter).

241* Quando riprendi con `claude --resume` o `claude --continue`, Claude Code non riavvia i comandi Bash in background e i monitor che erano in esecuzione al termine della sessione. Se ne hai ancora bisogno, chiedi a Claude di avviarli di nuovo.

236* Con il [recupero dei feature flag disattivato](/docs/it/env-vars#features-that-need-feature-flag-fetching), Claude Code memorizza un'attività che hai chiesto di mantenere tra le sessioni nel file `.claude/scheduled_tasks.json` del progetto. Quando la cartella `.claude` o quel file è un collegamento simbolico, Claude Code restituisce un errore invece di pianificare l'attività. Un'attività salvata viene eseguita solo nella cartella del progetto in cui l'hai creata. Se copi il file in un'altra cartella, ad esempio un nuovo worktree, le sessioni lì elencano le attività copiate ma non le eseguono, quindi crea di nuovo l'attività in quella cartella.242* Con il [recupero dei feature flag disattivato](/docs/it/env-vars#features-that-need-feature-flag-fetching), Claude Code memorizza un'attività che hai chiesto di mantenere tra le sessioni nel file `.claude/scheduled_tasks.json` del progetto. Quando la cartella `.claude` o quel file è un collegamento simbolico, Claude Code restituisce un errore invece di pianificare l'attività. Un'attività salvata viene eseguita solo nella cartella del progetto in cui l'hai creata. Se copi il file in un'altra cartella, ad esempio un nuovo worktree, le sessioni lì elencano le attività copiate ma non le eseguono, quindi crea di nuovo l'attività in quella cartella.

237 243 

238Per l'automazione basata su cron che deve essere eseguita senza supervisione:244Per l'automazione basata su cron che deve essere eseguita senza supervisione:

Details

252 252 

253Sempre fare `exec` del binario del runner stesso piuttosto che di un `claude` risolto da PATH; altrimenti si sconfigge il [pinning della versione](/docs/it/self-hosted-environments-deploy#pin-the-version).253Sempre fare `exec` del binario del runner stesso piuttosto che di un `claude` risolto da PATH; altrimenti si sconfigge il [pinning della versione](/docs/it/self-hosted-environments-deploy#pin-the-version).

254 254 

255## Runner su richiesta255## Runner on demand

256 256 

257Invece di eseguire una flotta fissa, è possibile avviare un runner per sessione. L'orchestratore è un subcomando separato e senza stato che esegue il polling di Anthropic per le richieste di spawn, una per sessione in coda senza runner disponibile, ed esegue l'hook `spawn-runner` per ciascuna. L'hook invia un carico di lavoro alla propria piattaforma: un Kubernetes Job, un'istanza EC2, un dispatch Nomad.257Invece di eseguire una flotta fissa, puoi avviare un runner per sessione. L'orchestratore è un sottocomando separato e senza stato che interroga Anthropic per ottenere le richieste di spawn, una per ogni sessione in coda senza un runner disponibile, ed esegue il tuo hook `spawn-runner` per ciascuna. Il tuo hook invia un carico di lavoro alla tua piattaforma: un Job Kubernetes, un'istanza EC2, un dispatch Nomad.

258 258 

259I runner su richiesta migliorano l'igiene delle credenziali. Su una flotta fissa, il segreto dell'ambiente vive su ogni host del runner, che è lo stesso host che esegue le sessioni utente. Con l'orchestratore, il segreto dell'ambiente rimane solo sull'host dell'orchestratore, che non esegue mai il codice utente; ogni runner generato riceve un ordine di lavoro monouso che registra esattamente un runner e quindi scade.259I runner on demand migliorano la gestione delle credenziali. Su una flotta fissa, il segreto dell'ambiente risiede su ogni host dei runner, che è lo stesso host che esegue le sessioni degli utenti. Con l'orchestratore, il segreto dell'ambiente rimane solo sull'host dell'orchestratore, che non esegue mai codice utente; ogni runner avviato riceve un ordine di lavoro monouso che registra esattamente un runner e poi scade.

260 260 

261Per avviare l'orchestratore, passare il segreto dell'ambiente e una directory di hook contenente uno script `spawn-runner` eseguibile:261Per avviare l'orchestratore, passa il segreto dell'ambiente e una directory degli hook contenente uno script eseguibile `spawn-runner`:

262 262 

263```bash theme={null}263```bash theme={null}

264claude self-hosted-runner orchestrator \264claude self-hosted-runner orchestrator \


266 --hooks-dir /etc/claude/hooks266 --hooks-dir /etc/claude/hooks

267```267```

268 268 

269L'orchestratore non mantiene alcuno stato tra i poll, quindi è possibile eseguire due o più repliche rispetto allo stesso ambiente per la disponibilità. Ogni richiesta di spawn viene rivendicata lato server da esattamente una replica. Tutte le repliche devono utilizzare lo stesso valore `--expected-spawn-seconds`; consultare il [contratto dell'hook](#the-spawn-runner-hook).269L'orchestratore non conserva alcuno stato tra un'interrogazione e l'altra, quindi puoi eseguire due o più repliche sullo stesso ambiente per garantire la disponibilità. Ogni richiesta di spawn viene rivendicata lato server da esattamente una replica. Tutte le repliche devono usare lo stesso valore di `--expected-spawn-seconds`; consulta il [contratto dell'hook](#the-spawn-runner-hook).

270 270 

271### L'hook spawn-runner271### L'hook spawn-runner

272 272 

273L'orchestratore esegue `${hooks-dir}/spawn-runner` una volta per richiesta di spawn. L'hook deve inviare il lavoro in modo asincrono, senza attendere l'avvio del runner, e tornare entro `--hook-timeout`, 60 secondi per impostazione predefinita. L'hook riceve:273L'orchestratore esegue `${hooks-dir}/spawn-runner` una volta per ogni richiesta di spawn. L'hook deve inviare il lavoro in modo asincrono, senza attendere l'avvio del runner, e terminare entro `--hook-timeout`, 60 secondi per impostazione predefinita. L'hook riceve:

274 274 

275| Variabile | Descrizione |275| Variabile | Descrizione |

276| :- | :- |276| :- | :- |

277| `CLAUDE_RUNNER_WORK_ORDER_FILE` | Percorso a un file temporaneo contenente il JWT dell'ordine di lavoro firmato con cui il nuovo runner si registra. Eliminato dopo l'uscita dell'hook. Non registrare il contenuto del file. |277| `CLAUDE_RUNNER_WORK_ORDER_FILE` | Percorso di un file temporaneo contenente il JWT firmato dell'ordine di lavoro con cui si registra il nuovo runner. Viene eliminato dopo l'uscita dell'hook. Non registrare nei log il contenuto del file. |

278| `CLAUDE_RUNNER_ORDER_ID` | Chiave di idempotenza opaca, unica per richiesta di spawn e sicura per i nomi delle risorse Kubernetes. Utilizzarla come chiave di dedup del provisioner. |278| `CLAUDE_RUNNER_ORDER_ID` | Chiave di idempotenza opaca, univoca per ogni richiesta di spawn e sicura per i nomi delle risorse Kubernetes. Usa solo ed esclusivamente l'ID dell'ordine come chiave di deduplicazione del tuo provisioner. |

279| `CLAUDE_RUNNER_SESSION_ID` | La sessione per cui è questa richiesta. Si ripete su ogni richiesta per la sessione, quindi utilizzarla per la registrazione e l'instradamento, non come chiave di dedup. Vuoto per le richieste di pre-warming, che avviano un runner standby prima di qualsiasi sessione specifica quando [`--min-idle`](/docs/it/self-hosted-environments-reference#orchestrator-cli-flags) è impostato, quindi non assumere che la variabile sia impostata. |279| `CLAUDE_RUNNER_SESSION_ID` | La sessione a cui si riferisce questa richiesta. Si ripete a ogni nuova richiesta per la sessione, quindi usala per il logging e l'instradamento, non come chiave di deduplicazione. Vuota per le richieste di pre-riscaldamento, che avviano un runner in standby prima di qualsiasi sessione specifica quando è impostato [`--min-idle`](/docs/it/self-hosted-environments-reference#orchestrator-cli-flags), quindi non dare per scontato che la variabile sia impostata. |

280| `CLAUDE_RUNNER_SESSION_UUID` | Lo stesso ID sessione nel modulo UUID canonico. Vuoto per le richieste di pre-warming. |280| `CLAUDE_RUNNER_SESSION_UUID` | Lo stesso ID di sessione in forma UUID canonica. Vuota per le richieste di pre-riscaldamento. |

281| `CLAUDE_RUNNER_ATTEMPT` | Un contatore per sessione da usare per i log. Non è un conteggio dei nuovi tentativi né delle richieste. `0` per le richieste di pre-warming, anche se pure una richiesta per una sessione può riportare `0`. |281| `CLAUDE_RUNNER_ATTEMPT` | Un contatore per sessione da usare per il logging. Non è un conteggio dei nuovi tentativi né un conteggio delle richieste. `0` per le richieste di pre-riscaldamento, anche se pure una richiesta per una sessione può riportare `0`. |

282| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | Ora del server dalla risposta del poll header HTTP `Date`. Quando l'hook verifica l'`exp` del JWT dell'ordine di lavoro, confrontare rispetto a questo valore invece dell'orologio locale per tollerare lo skew. Vuoto quando il gateway ha omesso l'header. |282| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | Ora del server ricavata dall'header HTTP `Date` della risposta all'interrogazione. Quando l'hook verifica il campo `exp` del JWT dell'ordine di lavoro, confronta con questo valore anziché con l'orologio locale per tollerare le differenze di orario. Vuota quando il gateway ha omesso l'header. |

283| `CLAUDE_RUNNER_POOL_ID` | L'ID dell'ambiente a cui il nuovo runner dovrebbe unirsi, nel modulo `ccpool_...` |283| `CLAUDE_RUNNER_POOL_ID` | L'ID dell'ambiente a cui il nuovo runner deve unirsi, nella forma `ccpool_...` |

284| `CLAUDE_RUNNER_ACCOUNT_ID` | ID taggato dell'account che ha accodato la sessione, per l'instradamento per account, la quota o il chargeback. Vuoto quando non disponibile, e sempre vuoto per le sessioni del canale Claude Tag, che nessun account accoda. |284| `CLAUDE_RUNNER_ACCOUNT_ID` | ID con tag dell'account che ha messo in coda la sessione. Usalo per l'instradamento, le quote o l'addebito per account, non come chiave di deduplicazione. Vuota quando non disponibile, e sempre vuota per le sessioni del canale Claude Tag, che nessun account mette in coda. |

285| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | Email dell'account che ha accodato la sessione. Vuoto quando non disponibile. Trattare l'email come informazioni personali identificabili e non registrarla. |285| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | Email dell'account che ha messo in coda la sessione. Vuota quando non disponibile. Tratta l'email come informazione di identificazione personale e non registrarla nei log. |

286| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | URL della prima fonte git della sessione, per l'instradamento a un runner con quel repository pre-riscaldato. Vuoto quando la sessione non ha fonti git. |286| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | URL della prima sorgente git della sessione, per instradare verso un runner con quel repository pre-riscaldato. Vuota quando la sessione non ha sorgenti git. |

287| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | Revisione della prima fonte git della sessione: branch, SHA, tag o nome completo del riferimento. Vuoto quando non specificato. |287| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | Revisione della prima sorgente git della sessione: branch, SHA, tag o nome completo del riferimento. Vuota quando non specificata. |

288| `CLAUDE_RUNNER_REPO_SOURCES` | Array JSON di `{url, revision}` per tutte le fonti git della sessione, per gli hook che instradano su un repository secondario. Vuoto quando non ci sono fonti. |288| `CLAUDE_RUNNER_REPO_SOURCES` | Array JSON di `{url, revision}` per tutte le sorgenti git della sessione, per gli hook che instradano in base a un repository secondario. Vuota quando non ci sono sorgenti. |

289| `CLAUDE_RUNNER_CORRELATION_ID` | L'ID di correlazione fornito alla creazione della sessione, ripetuto in modo che l'hook possa mappare questo ordine di lavoro alla richiesta che ha creato la sessione. Vuoto quando la sessione non ne ha uno. |289| `CLAUDE_RUNNER_CORRELATION_ID` | L'ID di correlazione fornito alla creazione della sessione, restituito in modo che l'hook possa associare questo ordine di lavoro alla richiesta che ha creato la sessione. Vuota quando la sessione non ne ha uno. |

290| `CLAUDE_RUNNER_CLIENT_PLATFORM` | La superficie client che ha creato la sessione, come `web_claude_ai`, `desktop_app`, `ios` o `scheduled_trigger`, per l'analisi dell'adozione. Non impostato quando la sessione non ha una superficie registrata o riconosciuta, e per le richieste di pre-warming; controllarlo con `[ -n "${CLAUDE_RUNNER_CLIENT_PLATFORM:-}" ]`, che rimane sicuro sotto `set -u`. |290| `CLAUDE_RUNNER_CLIENT_PLATFORM` | La superficie client che ha creato la sessione, come `web_claude_ai`, `desktop_app`, `ios` o `scheduled_trigger`, per le analisi di adozione. Non impostata quando la sessione non ha una superficie registrata o riconosciuta, e per le richieste di pre-riscaldamento; verificala con `[ -n "${CLAUDE_RUNNER_CLIENT_PLATFORM:-}" ]`, che resta sicuro con `set -u`. |

291 291 

292Il runner generato si registra con l'ordine di lavoro al posto del segreto dell'ambiente:292Il runner avviato si registra con l'ordine di lavoro al posto del segreto dell'ambiente:

293 293 

294* **Avviarlo con l'ordine di lavoro**: puntare [`--environment-secret-file`](/docs/it/self-hosted-environments-reference#runner-cli-flags) a un file contenente il JWT dell'ordine di lavoro, o impostare `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` al valore JWT.294* **Avvialo con l'ordine di lavoro**: fai puntare [`--environment-secret-file`](/docs/it/self-hosted-environments-reference#runner-cli-flags) a un file contenente il JWT dell'ordine di lavoro, oppure imposta `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` sul valore del JWT.

295* **Copiare il JWT prima che l'hook esca**: l'orchestratore elimina il file dell'ordine di lavoro dopo l'uscita dell'hook, quindi copiare il JWT nel carico di lavoro che si invia, come un Kubernetes Secret sul Job generato, piuttosto che passare il percorso del file.295* **Copia il JWT prima che l'hook termini**: l'orchestratore elimina il file dell'ordine di lavoro dopo l'uscita dell'hook, quindi copia il JWT nel carico di lavoro che invii, ad esempio in un Secret Kubernetes sul Job avviato, anziché passare il percorso del file.

296* **Utilizzare `--capacity 1` sui runner generati**: un ordine di lavoro legato alla sessione registra esattamente un runner legato a quella sessione, quindi una capacità più alta aggiunge slot che non ricevono mai lavoro, e il runner registra un avviso all'avvio.296* **Usa `--capacity 1` sui runner avviati**: un ordine di lavoro legato a una sessione registra esattamente un runner legato a quella sessione, quindi una capacità maggiore aggiunge slot che non ricevono mai lavoro, e il runner registra un avviso all'avvio.

297* **Gli ordini di lavoro di pre-warming si registrano non legati**: il runner standby non è legato a una sessione e rivendica il lavoro in coda come un runner di flotta fissa.297* **Gli ordini di lavoro di pre-riscaldamento si registrano senza vincoli**: il runner in standby non è legato a una sessione e rivendica il lavoro in coda come un runner di una flotta fissa.

298 298 

299Il contratto ha quattro regole, qualunque sia la piattaforma su cui il tuo hook esegue il provisioning:299Il contratto prevede quattro regole, qualunque sia la piattaforma su cui il tuo hook esegue il provisioning:

300 300 

3011. **Essere idempotenti su `CLAUDE_RUNNER_ORDER_ID`.** La rielaborazione della stessa richiesta deve generare al massimo un runner. Derivare un nome di risorsa deterministico dall'ID e lasciare che la propria piattaforma rifiuti il duplicato. Non chiave su `CLAUDE_RUNNER_SESSION_ID` invece. Ogni richiesta per una sessione porta lo stesso ID sessione con un nuovo ID ordine, quindi un carico di lavoro denominato o deduplicato dall'ID sessione viene creato una volta e mai più per quella sessione.3011. **Sii idempotente su `CLAUDE_RUNNER_ORDER_ID`.** La riconsegna della stessa richiesta deve avviare al massimo un runner. Ricava un nome di risorsa deterministico dall'ID dell'ordine e lascia che la tua piattaforma rifiuti il duplicato. Non usare invece `CLAUDE_RUNNER_SESSION_ID` come chiave. Ogni nuova richiesta per una sessione riporta lo stesso ID di sessione con un nuovo ID dell'ordine, quindi un carico di lavoro denominato o deduplicato in base all'ID di sessione viene creato una sola volta e mai più per quella sessione.

3022. **Non ritentare il carico di lavoro.** Un ID ordine significa al massimo un carico di lavoro creato. Se il runner non si registra mai, Anthropic richiede con un ID ordine fresco dopo `--expected-spawn-seconds`.3022. **Non riprovare il carico di lavoro.** Un ID dell'ordine significa al massimo un carico di lavoro creato. Se il runner non si registra mai, Anthropic invia una nuova richiesta con un nuovo ID dell'ordine dopo `--expected-spawn-seconds`.

3033. **Usa il contratto del codice di uscita.** Esci con lo stato corrispondente all'esito:3033. **Usa il contratto dei codici di uscita.** Esci con lo stato corrispondente all'esito:

304 304 

305 * **Uscita 0**: inviato.305 * **Uscita 0**: inviato.

306 * **Uscita 1, oppure ancora in esecuzione allo scadere di `--hook-timeout`**: errore che si può riprovare. La sessione attende e viene riproposta.306 * **Uscita 1, oppure ancora in esecuzione allo scadere di `--hook-timeout`**: errore per cui è possibile riprovare. La sessione attende con backoff e viene riproposta.

307 * **Uscita 2 o superiore**: errore che non si può riprovare. Alla sessione viene impedito un nuovo spawn finché un utente non le invia un nuovo messaggio o un [Owner](/docs/it/cloud-environments#organization-shared-environments) non seleziona **Retry** su di essa nella scheda **Activity** dell'ambiente.307 * **Uscita 2 o superiore**: errore per cui non è possibile riprovare. Alla sessione viene impedito un nuovo spawn finché un utente non le invia un nuovo messaggio o un [Owner](/docs/it/cloud-environments#organization-shared-environments) non seleziona **Retry** su di essa nella scheda **Activity** dell'ambiente.

308 308 

309 In caso di uscita diversa da zero, la parte finale dello stderr dell'hook appare nella scheda **Activity** come motivo dell'errore, quindi scrivi su stderr l'errore su cui si può intervenire e non scriverci mai segreti. In un hook shell, [mantieni riprovabili gli errori transitori](#keep-transient-failures-retryable-in-a-shell-hook).309 Mentre una sessione è in backoff, nella scheda **Activity** appare come **Queued** senza errori di spawn, quindi leggi l'output dell'hook nel log dell'orchestratore. Una volta bloccata, la sessione appare come **Failed**. Espandila per leggere l'errore di spawn, ricavato dagli ultimi 512 caratteri dello stderr dell'hook. Scrivi su stderr un errore utile per intervenire, e nessun segreto. In un hook shell, [mantieni ripetibili gli errori transitori](#keep-transient-failures-retryable-in-a-shell-hook).

310 310 

311 Una richiesta di pre-warming non ha una sessione da far fallire: l'orchestratore registra un'uscita diversa da zero solo localmente, e il server richiede di nuovo lo spawn dopo la scadenza del lease di `--expected-spawn-seconds`.311 Una richiesta di pre-riscaldamento non ha una sessione da far fallire: l'orchestratore registra un'uscita diversa da zero solo localmente, e il server richiede di nuovo lo spawn dopo la scadenza del lease `--expected-spawn-seconds`.

3124. **Imposta `--expected-spawn-seconds` ad almeno il tuo tempo p99 dalla richiesta di spawn alla registrazione del runner.** Misura a partire da quando l'orchestratore riceve la richiesta di spawn e includi sia l'eventuale attesa di capacità sulla tua piattaforma sia il tempo di avvio. Questo valore è il lease lato server, e l'ordine di lavoro scade insieme a esso, quindi un runner il cui carico di lavoro impiega più tempo non può registrarsi. Tutte le repliche dell'orchestratore devono utilizzare lo stesso valore.3124. **Imposta `--expected-spawn-seconds` almeno al tuo p99 del tempo che intercorre tra la richiesta di spawn e la registrazione del runner.** Misura a partire dal momento in cui l'orchestratore riceve la richiesta di spawn, e includi sia l'eventuale attesa di capacità sulla tua piattaforma sia il tempo di avvio. Questo valore è il lease lato server, e l'ordine di lavoro scade insieme a esso, quindi un runner il cui carico di lavoro impiega più tempo non può registrarsi. Tutte le repliche dell'orchestratore devono usare lo stesso valore.

313 313 

314Tutto ciò che l'hook scrive su stdout o stderr appare nel log dell'orchestratore con le credenziali automaticamente redatte. Se le sessioni rimangono in coda, controllare il corpo `/healthz` dell'orchestratore per i conteggi della coda, quindi aprire la scheda **Activity** dell'ambiente sulla [pagina di amministrazione **Cloud environments**](https://claude.ai/admin-settings/cloud-environments): espandere una sessione fallita lì per il suo errore di spawn e selezionare **Retry** per richiederlo di nuovo.314Tutto ciò che l'hook scrive su stdout o stderr compare nel log dell'orchestratore con le credenziali oscurate automaticamente. Se le sessioni restano in coda, controlla il corpo di `/healthz` dell'orchestratore per i conteggi della coda, quindi apri la scheda **Activity** del tuo ambiente nella [pagina di amministrazione **Cloud environments**](https://claude.ai/admin-settings/cloud-environments): lì espandi una sessione non riuscita per vederne l'errore di spawn e seleziona **Retry** per richiederla di nuovo.

315 315 

316Una sessione che rimane in coda senza errore di spawn nella scheda **Activity** può significare che l'hook è chiave sull'ID sessione. Per confermare, controllare se la propria piattaforma ha un carico di lavoro per la prima richiesta di spawn di quella sessione e nessuno per le richieste. Se così, chiave il carico di lavoro su `CLAUDE_RUNNER_ORDER_ID` invece.316Una sessione che resta in coda senza errori di spawn nella scheda **Activity** può indicare che l'hook usa l'ID di sessione come chiave. Per verificarlo, controlla se la tua piattaforma ha un carico di lavoro per la prima richiesta di spawn di quella sessione e nessuno per le richieste successive. In tal caso, usa invece `CLAUDE_RUNNER_ORDER_ID` come chiave del carico di lavoro.

317 317 

318#### Fai uscire i runner su richiesta quando sono inattivi318#### Fai terminare i runner on demand quando sono inattivi

319 319 

320Per impostazione predefinita, un runner avviato dal tuo hook non esce quando termina il turno della sua sessione, quindi il carico di lavoro che hai inviato continua a essere eseguito. Per far uscire i runner, fai in modo che il tuo hook passi questi [flag del runner](/docs/it/self-hosted-environments-reference#runner-cli-flags):320Per impostazione predefinita, un runner avviato dal tuo hook non termina quando finisce il turno della sua sessione, quindi il carico di lavoro che hai inviato continua a essere eseguito. Per far terminare i runner, fai in modo che il tuo hook passi questi [flag del runner](/docs/it/self-hosted-environments-reference#runner-cli-flags):

321 321 

322| Flag, con un valore di esempio | A chi passarlo | Cosa fa |322| Flag, con un valore di esempio | A chi passarlo | Cosa fa |

323| :- | :- | :- |323| :- | :- | :- |

324| `--release-idle-session-min 30` | Ogni runner avviato dal tuo hook | Il runner rilascia la sua sessione dopo quel numero di minuti di inattività e poi esce con 0. La sessione riprende quando il suo utente invia il messaggio successivo, ma [il lavoro non ancora inviato con push va perso](/docs/it/self-hosted-environments-deploy#additional-limitations). |324| `--release-idle-session-min 30` | Ogni runner avviato dal tuo hook | Il runner rilascia la sua sessione dopo quel numero di minuti di inattività e poi esce con 0. La sessione riprende quando il suo utente invia il messaggio successivo, ma [il lavoro non ancora inviato con push va perso](/docs/it/self-hosted-environments-deploy#additional-limitations). |

325| `--kill-session-after-min 480` | Ogni runner avviato dal tuo hook | Limita ogni sessione a quel numero di minuti, come protezione per le [sessioni che non vengono considerate inattive](/docs/it/self-hosted-environments-deploy#some-sessions-don’t-count-as-idle), quindi impostalo al di sopra della tua sessione più lunga prevista |325| `--kill-session-after-min 480` | Ogni runner avviato dal tuo hook | Limita ogni sessione a quel numero di minuti, come rete di sicurezza per le [sessioni che non vengono considerate inattive](/docs/it/self-hosted-environments-deploy#some-sessions-don’t-count-as-idle), quindi impostalo al di sopra della tua sessione più lunga prevista |

326| `--exit-if-unused-min 60` | I runner standby, che il tuo hook avvia per le richieste di pre-warming | Un runner standby che non prende mai una sessione esce dopo quel numero di minuti. Se imposti [`--min-idle`](/docs/it/self-hosted-environments-reference#orchestrator-cli-flags), ne ottieni uno sostitutivo a meno che lo standby non fosse in eccesso, quindi usa un valore ben superiore al tuo tempo di avvio. |326| `--exit-if-unused-min 60` | Runner in standby, che il tuo hook avvia per le richieste di pre-riscaldamento | Un runner in standby che non prende mai una sessione termina dopo quel numero di minuti. Se imposti [`--min-idle`](/docs/it/self-hosted-environments-reference#orchestrator-cli-flags), ottieni un sostituto a meno che il runner in standby non fosse in eccesso, quindi usa un valore ben superiore al tuo tempo di avvio. |

327 327 

328Rimuovi il carico di lavoro quando il runner esce, ad esempio impostando `ttlSecondsAfterFinished` su un Kubernetes Job o facendo in modo che lo script di avvio della VM elimini la VM al termine.328Rimuovi il carico di lavoro quando il runner termina, ad esempio impostando `ttlSecondsAfterFinished` su un Job Kubernetes o facendo in modo che lo script di avvio della VM elimini la VM al termine.

329 329 

330#### Mantieni riprovabili gli errori transitori in un hook shell330#### Invia l'output di un processo in background a un file

331 331 

332In un hook shell che usa `set -e`, un errore che un nuovo tentativo avrebbe potuto risolvere può bloccare la sessione. L'hook si ferma al comando che fallisce ed esce con lo stato di quel comando, e l'orchestratore applica il contratto del codice di uscita a quello stato. Molti errori restituiscono uno stato pari a 2 o superiore, come `127` quando un comando non è installato e `22` da `curl --fail` in caso di errore HTTP, quindi bloccano la sessione al primo errore.332Se il tuo hook `spawn-runner` lascia un processo in esecuzione in background, invia l'output di quel processo a un file che l'utente dell'hook può creare. Ad esempio, aggiungi `>> "$HOME/claude-runner.log" 2>&1` al comando che avvia il processo, prima di un eventuale `&`. Questa riga dell'hook mostra dove va il reindirizzamento, con `your-background-command` al posto del comando che il tuo hook esegue in background:

333 333 

334Una sessione che l'hook ha già bloccato rimane bloccata finché un utente non le invia un nuovo messaggio o un [Owner](/docs/it/cloud-environments#organization-shared-environments) non seleziona **Retry** su di essa nella scheda **Activity** dell'ambiente.334```bash theme={null}

335your-background-command >> "$HOME/claude-runner.log" 2>&1 &

336```

337 

338Senza il reindirizzamento, il processo scrive su stdout e stderr dell'hook:

339 

340* Circa un secondo dopo l'uscita dell'hook, l'orchestratore registra `exited, but a process it started still has the hook's stdout or stderr open`. Da quella riga in poi, registra fino a 64 KB aggiuntivi di quell'output sotto `[runner:hook:spawn-runner:after-exit jti=<order id>]` e poi scarta il resto.

341* Una volta terminato l'orchestratore, le scritture del processo su quei flussi falliscono.

342 

343Un runner che il tuo hook avvia direttamente esegue le sessioni sull'host dell'orchestratore, che contiene il [segreto dell'ambiente](/docs/it/self-hosted-environments-deploy#harden-your-deployment).

344 

345Prima della v2.1.305, un hook già uscito raggiungeva comunque [`--hook-timeout`](/docs/it/self-hosted-environments-reference#orchestrator-cli-flags) mentre un processo da esso avviato teneva aperti stdout o stderr dell'hook, come mostrato da:

346 

347* **Scheda Activity**, nell'errore di spawn di una sessione non riuscita: `spawn-runner hook timed out after 60000ms`, oppure le ultime righe sullo stderr dell'hook.

348* **Log dell'orchestratore**: `timed out after 60000ms, sending SIGTERM to process tree`.

349 

350#### Mantieni ripetibili gli errori transitori in un hook shell

351 

352In un hook shell che usa `set -e`, un errore che un nuovo tentativo avrebbe potuto risolvere può bloccare la sessione. L'hook si ferma al comando che fallisce ed esce con lo stato di quel comando, e l'orchestratore applica il contratto dei codici di uscita a quello stato. Molti errori restituiscono uno stato pari a 2 o superiore, come `127` quando un comando non è installato e `22` da `curl --fail` in caso di errore HTTP, quindi bloccano la sessione al primo errore.

353 

354Una sessione che l'hook ha già bloccato resta bloccata finché un utente non le invia un nuovo messaggio o un [Owner](/docs/it/cloud-environments#organization-shared-environments) non seleziona **Retry** su di essa nella scheda **Activity** dell'ambiente.

335 355 

336Per trasformare invece un errore di questo tipo in uscita 1, inserisci queste righe subito sotto la riga `#!` dell'hook, prima di qualsiasi cosa possa fallire:356Per trasformare invece un errore di questo tipo in un'uscita 1, inserisci queste righe subito sotto la riga `#!` dell'hook, prima di qualsiasi istruzione che possa fallire:

337 357 

338```bash theme={null}358```bash theme={null}

339set -e359set -e


341trap 'rc=$?; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT361trap 'rc=$?; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT

342```362```

343 363 

344Queste righe cambiano il comportamento del resto dell'hook, quindi dopo averle aggiunte controlla l'hook per ciascuno di questi schemi:364Queste righe cambiano il comportamento del resto dell'hook, quindi dopo averle aggiunte controllalo per ciascuno di questi schemi:

345 365 

346* **`exit 2` o superiore isolato**: con il trap impostato, diventa uscita 1. Per un errore che nessun nuovo tentativo può risolvere, chiama invece `permanent` con il motivo, ad esempio `permanent "namespace claude-runners does not exist"`. Chiamalo nella shell principale, non all'interno di `$( )`, `( )` o di una pipe.366* **`exit 2` o superiore isolato**: con il trap impostato, diventa un'uscita 1. Per un errore che nessun nuovo tentativo può risolvere, chiama invece `permanent` con il motivo, ad esempio `permanent "namespace claude-runners does not exist"`. Chiamalo nella shell principale, non all'interno di `$( )`, `( )` o di una pipe.

347* **`exec`**: non iniziare l'ultimo comando dell'hook con `exec`, perché `exec` sostituisce la shell e il trap non viene eseguito.367* **`exec`**: non iniziare l'ultimo comando dell'hook con `exec`, perché `exec` sostituisce la shell e il trap non viene eseguito.

348* **Secondo trap `EXIT`**: un secondo `trap ... EXIT` sostituisce il primo, quindi unisci i due in un unico trap. Metti i tuoi comandi di pulizia subito dopo `rc=$?;` e termina ciascuno con `|| true;`. La pulizia viene quindi eseguita sia in caso di errore sia in caso di successo, e un comando di pulizia che fallisce non imposta lo stato di uscita dell'hook. Questo trap unificato mostra la struttura, con `your-cleanup-command` al posto del tuo comando:368* **Secondo trap `EXIT`**: un secondo `trap ... EXIT` sostituisce il primo, quindi unisci i due in un unico trap. Inserisci i tuoi comandi di pulizia subito dopo `rc=$?;` e termina ciascuno con `|| true;`. In questo modo la pulizia viene eseguita sia in caso di errore sia in caso di successo, e un comando di pulizia che fallisce non imposta lo stato di uscita dell'hook. Questo trap unificato mostra la struttura, con `your-cleanup-command` al posto del tuo comando:

349 369 

350 ```bash theme={null}370 ```bash theme={null}

351 trap 'rc=$?; your-cleanup-command || true; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT371 trap 'rc=$?; your-cleanup-command || true; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT

352 ```372 ```

353* **Comandi a cui è consentito fallire**: se prima l'hook non usava `set -e`, ora si ferma al primo comando che restituisce un valore diverso da zero, come una ricerca che non trova nulla o un invio duplicato che la tua piattaforma rifiuta. Se l'hook agisce in base al risultato, rendi quel comando la condizione di un `if`. Se ne ignora il risultato, fai seguire il comando da `|| true`.373* **Comandi a cui è consentito fallire**: se prima l'hook non usava `set -e`, ora si ferma al primo comando che restituisce un valore diverso da zero, come una ricerca che non trova nulla. Se l'hook agisce in base al risultato, rendi quel comando la condizione di un `if`. Se ignora il risultato, fai seguire al comando `|| true`.

374* **Il comando che invia il carico di lavoro**: non farlo seguire da `|| true`. Con `|| true`, l'hook esce con 0 anche quando la tua piattaforma rifiuta l'invio, ad esempio per superamento della quota, e la sessione attende un runner che non è mai stato avviato.

375 

376 Assegna al carico di lavoro un nome basato su `CLAUDE_RUNNER_ORDER_ID`, come indica [la prima regola dell'hook](#the-spawn-runner-hook). Una risposta che indica che la risorsa esiste già è quindi una riconsegna della stessa richiesta, perciò tratta solo quella risposta come un successo. Per qualsiasi altra risposta, stampala su stderr ed esci con 1, oppure chiama `permanent` se nessun nuovo tentativo può risolvere l'errore. Questo esempio fa proprio questo per `kubectl create`, con un `job.yaml` che contiene solo il carico di lavoro:

377 

378 ```bash theme={null}

379 if ! out=$(kubectl create -f job.yaml 2>&1); then

380 case "$out" in

381 *AlreadyExists*) ;;

382 *) printf '%s\n' "${out:-kubectl create failed}" >&2; exit 1 ;;

383 esac

384 fi

385 ```

386 

387 Il log dell'orchestratore mostra quindi quel messaggio. Se l'hook crea altri oggetti, assegna a ciascuno un nome basato sull'ID dell'ordine, usa un comando dedicato per ciascuno e tratta allo stesso modo come un successo la risposta che indica che esiste già. Per un oggetto che contiene un segreto, stampa un messaggio fisso al posto dell'output del comando.

354 388 

355Per verificare che il trap funzioni, aggiungi subito sotto la riga `trap` una riga che chiama un comando inesistente, come `no-such-command`. Esegui il file dell'hook dalla tua shell e verifica che `echo $?` stampi `1`, quindi rimuovi la riga.389Per verificare che il trap funzioni, aggiungi subito sotto la riga `trap` una riga che chiama un comando inesistente, come `no-such-command`. Esegui il file dell'hook dalla tua shell e verifica che `echo $?` stampi `1`, quindi rimuovi la riga.

356 390 


457 491 

458* Il [file MCP gestito](/docs/it/managed-mcp) con ambito enterprise nel suo percorso di sistema standard: `/etc/claude-code/managed-mcp.json` sugli host runner Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` sugli host macOS. Usalo per flotte bloccate in cui possono essere caricati solo i server elencati dall'amministratore. Consulta [controllo esclusivo con managed-mcp.json](/docs/it/managed-mcp#exclusive-control-with-managed-mcp-json) per le regole di precedenza. Quando questo file si trova sull'host del runner, Claude Code ignora i server MCP che il control plane di Anthropic fornisce a una sessione, inclusi i connettori di claude.ai, e li nomina in un avviso sullo stderr del processo figlio della sessione, che il runner registra al livello di log `debug`. Prima della v2.1.229, quelle sessioni terminavano all'avvio con `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.492* Il [file MCP gestito](/docs/it/managed-mcp) con ambito enterprise nel suo percorso di sistema standard: `/etc/claude-code/managed-mcp.json` sugli host runner Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` sugli host macOS. Usalo per flotte bloccate in cui possono essere caricati solo i server elencati dall'amministratore. Consulta [controllo esclusivo con managed-mcp.json](/docs/it/managed-mcp#exclusive-control-with-managed-mcp-json) per le regole di precedenza. Quando questo file si trova sull'host del runner, Claude Code ignora i server MCP che il control plane di Anthropic fornisce a una sessione, inclusi i connettori di claude.ai, e li nomina in un avviso sullo stderr del processo figlio della sessione, che il runner registra al livello di log `debug`. Prima della v2.1.229, quelle sessioni terminavano all'avvio con `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.

459* La chiave [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers) nelle [impostazioni gestite](/docs/it/managed-settings) sull'host del runner: fornisce server HTTP e SSE senza assumere il controllo esclusivo, quindi i server delle altre fonti vengono comunque caricati. Richiede Claude Code v2.1.259 o successiva.493* La chiave [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers) nelle [impostazioni gestite](/docs/it/managed-settings) sull'host del runner: fornisce server HTTP e SSE senza assumere il controllo esclusivo, quindi i server delle altre fonti vengono comunque caricati. Richiede Claude Code v2.1.259 o successiva.

460* `<repo>/.mcp.json`: ambito di progetto. Esegui il commit del file nel repository; i suoi server vengono approvati automaticamente nelle sessioni cloud. In una sessione con più repository, [viene caricato al massimo il file di un solo repository](#repository-settings-in-sessions-with-several-repositories).494* `<repo>/.mcp.json`: ambito di progetto. Al di fuori di un thread di [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), esegui il commit del file nel repository e i suoi server vengono approvati automaticamente nelle sessioni cloud. In una sessione con più repository, [viene caricato al massimo il file di un solo repository](#repository-settings-in-sessions-with-several-repositories).

461* Un file [`--mcp-config`](/docs/it/cli-reference#cli-flags) passato dal tuo script wrapper: aggiungi il flag dopo `"$@"`, come in `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@" --mcp-config /etc/claude/mcp.json`. Per mantenere in esecuzione i server di quel file quando i server forniti alla sessione vengono aggiornati a sessione in corso, fai in modo che il tuo wrapper passi l'[ambiente completo](#wrapper-scripts) al processo figlio, come fa `exec`. Prima della v2.1.299, i server stdio, HTTP e SSE in quel file si arrestavano al primo aggiornamento di questo tipo che non li nominava.495* Un file [`--mcp-config`](/docs/it/cli-reference#cli-flags) passato dal tuo script wrapper: aggiungi il flag dopo `"$@"`, come in `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@" --mcp-config /etc/claude/mcp.json`. Per mantenere in esecuzione i server di quel file quando i server forniti alla sessione vengono aggiornati a sessione in corso, fai in modo che il tuo wrapper passi l'[ambiente completo](#wrapper-scripts) al processo figlio, come fa `exec`. Prima della v2.1.299, i server stdio, HTTP e SSE in quel file si arrestavano al primo aggiornamento di questo tipo che non li nominava.

462 496 

463Quando la distribuzione dei connettori è abilitata per la tua organizzazione, il control plane di Anthropic fornisce i connettori che hai configurato su claude.ai alle sessioni create in modo interattivo tramite una configurazione MCP fornita dal server, instradata attraverso `api.anthropic.com`. Le sessioni create in modo programmatico, come i [dispatch da CLI](/docs/it/self-hosted-environments-testing#run-the-test-loop), non ricevono i connettori; fornisci loro i server MCP tramite una qualsiasi delle altre fonti elencate in questa sezione. Il token OAuth del processo figlio non include uno scope per recuperare direttamente i connettori, quindi il processo figlio non tenta autonomamente quel recupero; la distribuzione è gestita dal server.497Quando la distribuzione dei connettori è abilitata per la tua organizzazione, il control plane di Anthropic fornisce i connettori che hai configurato su claude.ai alle sessioni create in modo interattivo tramite una configurazione MCP fornita dal server, instradata attraverso `api.anthropic.com`. Le sessioni create in modo programmatico, come i [dispatch da CLI](/docs/it/self-hosted-environments-testing#run-the-test-loop), non ricevono i connettori; fornisci loro i server MCP tramite una qualsiasi delle altre fonti elencate in questa sezione. Il token OAuth del processo figlio non include uno scope per recuperare direttamente i connettori, quindi il processo figlio non tenta autonomamente quel recupero; la distribuzione è gestita dal server.

464 498 

499> [!NOTE]

500>

501> In una sessione che ha ricevuto un connettore, un server con lo stesso nome proveniente dal file `.claude.json` dell'host o dal file `.mcp.json` di un repository non viene connesso. Per usarli entrambi, assegna al tuo server un nome diverso.

502 

465`settings.json` non contiene definizioni di server MCP e nello schema delle impostazioni non esiste un campo `mcpServers` di primo livello. Nelle impostazioni gestite, fornisci invece i server con la chiave [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers).503`settings.json` non contiene definizioni di server MCP e nello schema delle impostazioni non esiste un campo `mcpServers` di primo livello. Nelle impostazioni gestite, fornisci invece i server con la chiave [`managedMcpServers`](/docs/it/settings-reference#managedmcpservers).

466 504 

467Le sessioni ereditano l'ambiente del runner, quindi imposta lì [`ENABLE_TOOL_SEARCH`](/docs/it/mcp#scale-with-mcp-tool-search) per controllare la ricerca degli strumenti MCP per ogni sessione avviata da un runner; la pagina MCP descrive i valori.505Le sessioni ereditano l'ambiente del runner, quindi imposta lì [`ENABLE_TOOL_SEARCH`](/docs/it/mcp#scale-with-mcp-tool-search) per controllare la ricerca degli strumenti MCP per ogni sessione avviata da un runner; la pagina MCP descrive i valori.


636 674 

637Le sessioni leggono anche questi file di impostazioni:675Le sessioni leggono anche questi file di impostazioni:

638 676 

639* **Impostazioni di progetto**: un `.claude/settings.json` committato nel repository si sovrappone alla baseline a livello utente. In una sessione con più repository, [ha effetto al massimo il file di un solo repository](#repository-settings-in-sessions-with-several-repositories).677* **Impostazioni di progetto**: al di fuori di un thread di un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), un `.claude/settings.json` committato nel repository si sovrappone alla baseline a livello utente. In una sessione con più repository, [ha effetto al massimo il file di un solo repository](#repository-settings-in-sessions-with-several-repositories).

640* **Impostazioni gestite**: le sessioni leggono [`managed-settings.json`](/docs/it/settings#where-settings-live) dal percorso di sistema standard nella tua immagine del runner. Per sapere se le sue chiavi si applicano insieme alle [impostazioni gestite dal server](/docs/it/server-managed-settings), consulta [come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources).678* **Impostazioni gestite**: le sessioni leggono [`managed-settings.json`](/docs/it/settings#where-settings-live) dal percorso di sistema standard nella tua immagine del runner. Per sapere se le sue chiavi si applicano insieme alle [impostazioni gestite dal server](/docs/it/server-managed-settings), consulta [come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources).

641 679 

642Per l'ordine in cui si applicano queste fonti, consulta [precedenza delle impostazioni](/docs/it/settings#settings-precedence).680Per l'ordine in cui si applicano queste fonti, consulta [precedenza delle impostazioni](/docs/it/settings#settings-precedence).


647* **Chi li crea**: il piano di controllo popola gli script da costanti fisse nella propria distribuzione, mai da input per sessione o di terze parti.685* **Chi li crea**: il piano di controllo popola gli script da costanti fisse nella propria distribuzione, mai da input per sessione o di terze parti.

648* **Cosa ancora li governa**: gli hook forniti attraverso `--settings` entrano nella configurazione ordinaria dell'hook unito, non nel livello gestito, quindi le impostazioni gestite si applicano ancora. `disableAllHooks` li disabilita, e non sono tra le categorie che [`allowManagedHooksOnly`](/docs/it/settings-reference#allowmanagedhooksonly) mantiene caricate.686* **Cosa ancora li governa**: gli hook forniti attraverso `--settings` entrano nella configurazione ordinaria dell'hook unito, non nel livello gestito, quindi le impostazioni gestite si applicano ancora. `disableAllHooks` li disabilita, e non sono tra le categorie che [`allowManagedHooksOnly`](/docs/it/settings-reference#allowmanagedhooksonly) mantiene caricate.

649 687 

650Quando una persona avvia una propria sessione, Claude Code scarica anche le [skill abilitate per il suo account claude.ai](/docs/it/skills#skills-in-cowork-and-cloud-sessions) nella directory di configurazione di quella sessione. L'esecuzione di un'[attività pianificata cloud](/docs/it/routines) non riceve le skill del suo proprietario, e una sessione che [invia le richieste al modello a Bedrock o Agent Platform](#send-model-requests-to-bedrock-or-agent-platform) non ne scarica alcuna. Per una skill di cui quelle sessioni hanno bisogno, fai il commit nella directory `.claude/skills/` del repository oppure aggiungila alla tua immagine del runner.688Quando una persona avvia una propria sessione, Claude Code scarica anche le [skill abilitate per il suo account claude.ai](/docs/it/skills#skills-in-cowork-and-cloud-sessions) nella directory di configurazione di quella sessione. L'esecuzione di un'[attività pianificata cloud](/docs/it/routines) non riceve le skill del suo proprietario, e una sessione che [invia le richieste al modello a Bedrock o Agent Platform](#send-model-requests-to-bedrock-or-agent-platform) non ne scarica alcuna. Per una skill di cui quelle sessioni hanno bisogno, aggiungila alla tua immagine del runner oppure, al di fuori di un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), fai il commit nella directory `.claude/skills/` del repository.

651 689 

652Al di fuori delle sessioni [Claude Tag](https://claude.com/docs/claude-tag/overview), una sessione in un ambiente self-hosted viene eseguita con la [memoria automatica](/docs/it/memory#auto-memory) disattivata per impostazione predefinita. Per le istruzioni che devono valere tra una sessione e l'altra, usa il `CLAUDE.md` nell'immagine del runner o nel repository.690Al di fuori delle sessioni [Claude Tag](https://claude.com/docs/claude-tag/overview), una sessione in un ambiente self-hosted viene eseguita con la [memoria automatica](/docs/it/memory#auto-memory) disattivata per impostazione predefinita. Per le istruzioni che devono valere tra una sessione e l'altra, usa il `CLAUDE.md` nell'immagine del runner o nel repository.

653 691 


655 693 

656### Impostazioni dei repository nelle sessioni con più repository694### Impostazioni dei repository nelle sessioni con più repository

657 695 

658In una sessione con più repository, Claude Code legge le impostazioni di progetto dalla directory in cui si avvia la sessione, quindi al massimo il `.claude/settings.json` di un solo repository ha effetto come impostazioni di progetto. Un hook definito nel file di un altro repository non viene eseguito, una regola deny al suo interno non si applica e il relativo `env` non viene impostato.696In un thread di un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), il `.claude/settings.json` di nessun repository ha effetto come impostazioni di progetto e non vengono caricati né il `.mcp.json` né le skill di alcun repository, ovunque si avvii il thread. Per fornire una skill a quei thread, aggiungila alla tua immagine del runner.

697 

698In qualsiasi altra sessione con più repository, Claude Code legge le impostazioni di progetto dalla directory in cui si avvia la sessione, quindi al massimo il `.claude/settings.json` di un solo repository ha effetto come impostazioni di progetto. Un hook definito nel file di un altro repository non viene eseguito, una regola deny al suo interno non si applica e il relativo `env` non viene impostato.

659 699 

660* **`--capacity 1`, il valore predefinito, con il checkout integrato**: la sessione si avvia nel primo repository del suo elenco di repository. Il `.claude/settings.json` di quel repository ha effetto come impostazioni di progetto e il suo `.mcp.json` viene caricato, mentre quelli degli altri repository no.700* **`--capacity 1`, il valore predefinito, con il checkout integrato**: la sessione si avvia nel primo repository del suo elenco di repository. Il `.claude/settings.json` di quel repository ha effetto come impostazioni di progetto e il suo `.mcp.json` viene caricato, mentre quelli degli altri repository no.

661* **Un `--capacity` superiore a uno, oppure un [hook `checkout`](#checkout)**: la sessione si avvia in una directory per sessione che contiene i checkout. Il `.claude/settings.json` di nessun repository ha effetto come impostazioni di progetto, il `.mcp.json` di nessun repository viene caricato e [`$CLAUDE_PROJECT_DIR`](/docs/it/hooks#reference-scripts-by-path) in un comando di hook corrisponde a quella directory, non a un checkout.701* **Un `--capacity` superiore a uno, oppure un [hook `checkout`](#checkout)**: la sessione si avvia in una directory per sessione che contiene i checkout. Il `.claude/settings.json` di nessun repository ha effetto come impostazioni di progetto, il `.mcp.json` di nessun repository viene caricato e [`$CLAUDE_PROJECT_DIR`](/docs/it/hooks#reference-scripts-by-path) in un comando di hook corrisponde a quella directory, non a un checkout.

662 702 

663Il `CLAUDE.md` e le skill di ciascun repository vengono caricati ovunque si avvii la sessione. Il runner passa ogni repository a Claude Code come [directory aggiuntiva](/docs/it/permissions#additional-directories-grant-file-access-not-configuration), quindi Claude Code legge anche le chiavi `enabledPlugins` ed `extraKnownMarketplaces` dal `.claude/settings.json` di ciascun repository.703Il `CLAUDE.md` di ciascun repository viene caricato ovunque si avvii la sessione. Al di fuori di un thread di progetto, vengono caricate anche le sue skill. Il runner passa ogni repository a Claude Code come [directory aggiuntiva](/docs/it/permissions#additional-directories-grant-file-access-not-configuration), quindi Claude Code legge anche le chiavi `enabledPlugins` ed `extraKnownMarketplaces` dal `.claude/settings.json` di ciascun repository.

664 704 

665Per eseguire un hook o applicare una regola di permesso in ogni sessione, inseriscili in `~/.claude/settings.json` sull'host del runner. Il runner [copia il file dell'host in ogni sessione](#how-each-session’s-config-is-assembled), ovunque si avvii la sessione. Scrivi un percorso in una regola `Read` o `Edit` come [pattern](/docs/it/permissions#read-and-edit) assoluto con `//` o relativo alla home con `~/`, perché gli altri pattern sono ancorati alla fonte delle impostazioni o alla directory corrente.705Per eseguire un hook o applicare una regola di permesso in ogni sessione, inseriscili in `~/.claude/settings.json` sull'host del runner. Il runner [copia il file dell'host in ogni sessione](#how-each-session’s-config-is-assembled), ovunque si avvii la sessione. Scrivi un percorso in una regola `Read` o `Edit` come [pattern](/docs/it/permissions#read-and-edit) assoluto con `//` o relativo alla home con `~/`, perché gli altri pattern sono ancorati alla fonte delle impostazioni o alla directory corrente.

666 706 

Details

80Questi flussi lato host raggiungono invece `claude.ai`, quindi eseguili da un host il cui egress lo consente piuttosto che ampliare l'egress del container della sessione:80Questi flussi lato host raggiungono invece `claude.ai`, quindi eseguili da un host il cui egress lo consente piuttosto che ampliare l'egress del container della sessione:

81 81 

82* **Il programma di installazione a una riga**: recupera `install.sh` da `claude.ai` al momento dell'installazione.82* **Il programma di installazione a una riga**: recupera `install.sh` da `claude.ai` al momento dell'installazione.

83* **`claude auth login` interattivo**: accede attraverso `claude.ai`, `claude.com` e `platform.claude.com`. La [configurazione guidata](/docs/it/self-hosted-environments-quickstart#run-the-guided-setup), la modalità con accesso di `doctor` e il [dispatch da CI](/docs/it/self-hosted-environments-testing#authenticate-from-ci) lo usano. Il browser con cui accedi carica anche i controlli del browser della pagina di accesso di claude.ai da `hcaptcha.com`, `*.hcaptcha.com` e `challenges.cloudflare.com`.83* **`claude auth login` interattivo**: accede attraverso `claude.ai`, `claude.com` e `platform.claude.com`. La [configurazione guidata](/docs/it/self-hosted-environments-quickstart#run-the-guided-setup), la modalità con accesso di `doctor` e il [dispatch da CI](/docs/it/self-hosted-environments-testing#authenticate-from-ci) lo usano. Il browser con cui accedi carica anche i controlli del browser della pagina di accesso di claude.ai da `hcaptcha.com`, `*.hcaptcha.com` e `challenges.cloudflare.com`. Se la tua organizzazione usa il single sign-on, quel browser può anche essere reindirizzato attraverso `sso.claude.com`.

84 84 

85### Default-deny egress85### Default-deny egress

86 86 


654* **Il runner esce all'avvio con `RegisterRunner failed:` e un errore di certificato TLS**: l'errore può essere, ad esempio, `self signed certificate in certificate chain`. Il runner non considera attendibile l'autorità di certificazione (CA) dietro il certificato che ha ricevuto, come accade dietro un proxy che ispeziona il traffico TLS. Imposta [`NODE_EXTRA_CA_CERTS`](/docs/it/network-config#custom-ca-certificates) nell'ambiente del runner su un file PEM con la CA radice del proxy.654* **Il runner esce all'avvio con `RegisterRunner failed:` e un errore di certificato TLS**: l'errore può essere, ad esempio, `self signed certificate in certificate chain`. Il runner non considera attendibile l'autorità di certificazione (CA) dietro il certificato che ha ricevuto, come accade dietro un proxy che ispeziona il traffico TLS. Imposta [`NODE_EXTRA_CA_CERTS`](/docs/it/network-config#custom-ca-certificates) nell'ambiente del runner su un file PEM con la CA radice del proxy.

655 655 

656 Non devi impostarla di nuovo per le sessioni, che la ereditano. Git non la legge: per i clone attraverso quel proxy, imposta anche [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).656 Non devi impostarla di nuovo per le sessioni, che la ereditano. Git non la legge: per i clone attraverso quel proxy, imposta anche [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).

657* **Il tuo script di avvio stampa un errore di scrittura contenente `Resource temporarily unavailable` ed esce**: il tuo script condivide il proprio stdout o stderr con il processo `claude self-hosted-runner` o [orchestrator](/docs/it/self-hosted-environments-configuration#on-demand-runners) che avvia, il quale ha impostato quella pipe o quel socket condiviso in modalità non bloccante. Quando la pipe è piena, una scrittura dal tuo script fallisce con questo errore del sistema operativo invece di attendere, e con `set -e` lo script esce.

658 

659 Per eliminare l'errore, invia l'output del runner o dell'orchestrator a un file che l'utente del tuo script può creare. Aggiungi `>> "$HOME/claude-runner.log" 2>&1` al comando che lo avvia, prima di qualsiasi `&` che lo mette in background:

660 

661 ```bash theme={null}

662 claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret >> "$HOME/claude-runner.log" 2>&1

663 ```

664 

665 L'output del tuo script continua ad andare dove andava prima, mentre ciò che il runner scrive su stdout e stderr, inclusi i suoi errori di avvio, va in quel file. Usa questo reindirizzamento della shell anziché il solo [`--log-file`](/docs/it/self-hosted-environments-reference#runner-cli-flags), che replica il log in un file mentre il runner continua a scrivere su stdout e stderr. Se passi già `--log-file`, mantienilo comunque, perché il reindirizzamento non cambia ciò che quel file riceve.

657* **L'orchestrator registra `poll failed:` con un errore di certificato TLS e continua a riprovare**: l'orchestrator non considera attendibile la CA dietro il certificato che ha ricevuto, come accade dietro un proxy che ispeziona il traffico TLS. Imposta [`NODE_EXTRA_CA_CERTS`](/docs/it/network-config#custom-ca-certificates) nell'ambiente dell'orchestrator su un file PEM con la CA radice del proxy. Impostala anche per i runner avviati dal tuo hook `spawn-runner`.666* **L'orchestrator registra `poll failed:` con un errore di certificato TLS e continua a riprovare**: l'orchestrator non considera attendibile la CA dietro il certificato che ha ricevuto, come accade dietro un proxy che ispeziona il traffico TLS. Imposta [`NODE_EXTRA_CA_CERTS`](/docs/it/network-config#custom-ca-certificates) nell'ambiente dell'orchestrator su un file PEM con la CA radice del proxy. Impostala anche per i runner avviati dal tuo hook `spawn-runner`.

658 667 

659 Ad esempio, una riga può terminare con `poll failed: self signed certificate in certificate chain — retrying in 1s`, con le parole della libreria TLS tra i due punti e il trattino. Per verificare la correzione, controlla che `connected` sia `true` nel corpo di [`/healthz`](/docs/it/self-hosted-environments-reference#health-endpoint) dell'orchestrator.668 Ad esempio, una riga può terminare con `poll failed: self signed certificate in certificate chain — retrying in 1s`, con le parole della libreria TLS tra i due punti e il trattino. Per verificare la correzione, controlla che `connected` sia `true` nel corpo di [`/healthz`](/docs/it/self-hosted-environments-reference#health-endpoint) dell'orchestrator.

Details

321* **Token OAuth**: genera un token con [`claude setup-token`](/docs/it/authentication#generate-a-long-lived-token), autorizzalo per la tua organizzazione Team o Enterprise e impostalo come `CLAUDE_CODE_OAUTH_TOKEN` nell'ambiente del job. Rimuovi da quell'ambiente qualsiasi credenziale che [ha la precedenza](/docs/it/authentication#authentication-precedence) sul token, come `ANTHROPIC_API_KEY`.321* **Token OAuth**: genera un token con [`claude setup-token`](/docs/it/authentication#generate-a-long-lived-token), autorizzalo per la tua organizzazione Team o Enterprise e impostalo come `CLAUDE_CODE_OAUTH_TOKEN` nell'ambiente del job. Rimuovi da quell'ambiente qualsiasi credenziale che [ha la precedenza](/docs/it/authentication#authentication-precedence) sul token, come `ANTHROPIC_API_KEY`.

322* **Impostazioni gestite dall'endpoint**: distribuisci un [file di impostazioni gestite](/docs/it/managed-settings#delivery-mechanisms) sulla macchina che esegue il job.322* **Impostazioni gestite dall'endpoint**: distribuisci un [file di impostazioni gestite](/docs/it/managed-settings#delivery-mechanisms) sulla macchina che esegue il job.

323 323 

324In una sessione [Cowork](https://claude.com/docs/cowork/overview) nell'app Claude Desktop, Claude Code non recupera le impostazioni gestite dal server dalla console di amministrazione claude.ai, anche quando l'utente accede con un account Team o Enterprise. [Dove e quando si applica una policy](/docs/it/managed-settings#where-and-when-a-policy-applies) copre quale policy raggiunge le sessioni Cowork sulla macchina dell'utente e le sessioni Cowork remote. claude.ai applica comunque i vostri elenchi [`strictKnownMarketplaces`](/docs/it/settings-reference#strictknownmarketplaces) e [`blockedMarketplaces`](/docs/it/settings-reference#blockedmarketplaces) quando un utente Cowork aggiunge un marketplace da un repository git su claude.ai o da **Customize** nella scheda Cowork. [Come funzionano le restrizioni](/docs/it/plugins/org#restrict-what-users-can-install) descrive quel controllo.324In una sessione [Cowork](https://claude.com/docs/cowork/overview) nell'app Claude Desktop, Claude Code non recupera le impostazioni gestite dal server dalla console di amministrazione claude.ai, anche quando l'utente accede con un account Team o Enterprise. [Dove e quando si applica una policy](/docs/it/managed-settings#where-and-when-a-policy-applies) copre quale policy raggiunge le sessioni Cowork sulla macchina dell'utente e le sessioni Cowork remote. claude.ai applica comunque i tuoi elenchi [`strictKnownMarketplaces`](/docs/it/settings-reference#strictknownmarketplaces) e [`blockedMarketplaces`](/docs/it/settings-reference#blockedmarketplaces) quando un utente Cowork aggiunge un marketplace da un repository git su claude.ai o da **Customize** in Cowork. [Come funzionano le restrizioni](/docs/it/plugins/org#restrict-what-users-can-install) descrive quel controllo.

325 325 

326Se esportate una variabile provider `CLAUDE_CODE_USE_*` o un `ANTHROPIC_BASE_URL` non predefinito nella vostra shell, Claude Code salta il recupero delle impostazioni per le vostre sessioni. [`claude doctor` e `/status` segnalano il recupero saltato e la sua causa](#verify-settings-delivery).326Se esportate una variabile provider `CLAUDE_CODE_USE_*` o un `ANTHROPIC_BASE_URL` non predefinito nella vostra shell, Claude Code salta il recupero delle impostazioni per le vostre sessioni. [`claude doctor` e `/status` segnalano il recupero saltato e la sua causa](#verify-settings-delivery).

327 327 

settings.md +4 −2

Details

321 321 

322Una [sessione cloud](/docs/it/claude-code-on-the-web) viene eseguita in un [ambiente cloud](/docs/it/cloud-environments) su un clone fresco del vostro repository, non sulla vostra macchina. Questo cambia quali impostazioni la raggiungono:322Una [sessione cloud](/docs/it/claude-code-on-the-web) viene eseguita in un [ambiente cloud](/docs/it/cloud-environments) su un clone fresco del vostro repository, non sulla vostra macchina. Questo cambia quali impostazioni la raggiungono:

323 323 

324* **Impostazioni di progetto condivise** (`.claude/settings.json`): lette in una sessione con un repository, perché il file fa parte del clone e la sessione inizia al suo interno. Esegui il commit di un'impostazione lì per applicarla in quelle sessioni. In un ambiente ospitato da Anthropic, una sessione con più repository inizia sopra i clone e legge solo le chiavi `enabledPlugins` e `extraKnownMarketplaces` dal `.claude/settings.json` di ogni repository, non le regole di permesso, gli hook, `env` o altre chiavi. I marketplace e i plugin che queste due chiavi dichiarano comunque [non si caricano in una sessione cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup). Per un ambiente auto-ospitato, consulta [quali impostazioni del repository si applicano](/docs/it/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).324* **Thread cloud in un progetto**: in un thread cloud in un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), nessuna delle regole di permesso, degli hook o di `env` del `.claude/settings.json` di un repository si applica, indipendentemente da quanti repository abbia il progetto. [Cosa i thread prendono dai tuoi repository](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories) elenca cosa usare al loro posto.

325* **Impostazioni di progetto condivise** (`.claude/settings.json`): lette in una sessione con un repository al di fuori di un progetto, perché il file fa parte del clone e la sessione inizia al suo interno. Esegui il commit di un'impostazione lì per applicarla in quelle sessioni.

326* **Impostazioni di progetto condivise con più repository**: in un ambiente ospitato da Anthropic, una sessione con più repository inizia sopra i clone e legge solo le chiavi `enabledPlugins` e `extraKnownMarketplaces` dal `.claude/settings.json` di ogni repository, non le regole di permesso, gli hook, `env` o altre chiavi. I marketplace e i plugin che queste due chiavi dichiarano comunque [non si caricano in una sessione cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup). Per un ambiente auto-ospitato, consulta [quali impostazioni del repository si applicano](/docs/it/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

325* **Impostazioni utente e di progetto locale** (`~/.claude/settings.json` e `.claude/settings.local.json`): non lette. Entrambe rimangono sulla vostra macchina, e il file locale non è nel clone.327* **Impostazioni utente e di progetto locale** (`~/.claude/settings.json` e `.claude/settings.local.json`): non lette. Entrambe rimangono sulla vostra macchina, e il file locale non è nel clone.

326* **Impostazioni gestite**: un file `managed-settings.json` o un profilo MDM sul vostro dispositivo non raggiunge una sessione cloud. Le [impostazioni gestite dal server](/docs/it/server-managed-settings) della vostra organizzazione lo fanno; la [copertura della superficie](/docs/it/model-config#surface-coverage) elenca quali sessioni cloud le ricevono. Un [ambiente auto-ospitato](/docs/it/self-hosted-environments) legge anche il file di impostazioni gestite nella sua immagine di runner. [Come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources) dice quando quel file si applica.328* **Impostazioni gestite**: un file `managed-settings.json` o un profilo MDM sul vostro dispositivo non raggiunge una sessione cloud. Le [impostazioni gestite dal server](/docs/it/server-managed-settings) della vostra organizzazione lo fanno; la [copertura della superficie](/docs/it/model-config#surface-coverage) elenca quali sessioni cloud le ricevono. Un [ambiente auto-ospitato](/docs/it/self-hosted-environments) legge anche il file di impostazioni gestite nella sua immagine di runner. [Come Claude Code combina le fonti gestite](/docs/it/managed-settings#how-claude-code-combines-managed-sources) dice quando quel file si applica.

327* **`/config`**: nel vostro browser su claude.ai/code, apre la sezione Claude Code delle vostre impostazioni claude.ai invece di modificare un valore. Per modificare un'impostazione per una sessione cloud, impostate una [variabile di ambiente](/docs/it/cloud-environments#set-environment-variables) sull'ambiente, o in una sessione con un repository, committate la chiave al `.claude/settings.json` di quel repository.329* **`/config`**: nel tuo browser su claude.ai/code, apre la sezione Claude Code delle tue impostazioni claude.ai invece di modificare un valore. Per modificare un'impostazione per una sessione cloud, imposta una [variabile d'ambiente](/docs/it/cloud-environments#set-environment-variables) sull'ambiente. In una sessione con un repository al di fuori di un progetto, puoi invece eseguire il commit della chiave nel `.claude/settings.json` di quel repository.

328 330 

329[Cosa si trasporta dalla vostra configurazione](/docs/it/cloud-environments#what-carries-over-from-your-setup) elenca il resto: `CLAUDE.md`, skills, MCP server, plugin e credenziali.331[Cosa si trasporta dalla vostra configurazione](/docs/it/cloud-environments#what-carries-over-from-your-setup) elenca il resto: `CLAUDE.md`, skills, MCP server, plugin e credenziali.

330 332 

Details

94 94 

95Le impostazioni condivise di un team, sottoposte a commit nel repository in modo che tutti coloro che lo clonano ottengano le stesse autorizzazioni, hook e marketplace di plugin. Salva un file come questo in `.claude/settings.json` nella parte superiore del repository. Cose da sapere prima di sottoporre a commit uno:95Le impostazioni condivise di un team, sottoposte a commit nel repository in modo che tutti coloro che lo clonano ottengano le stesse autorizzazioni, hook e marketplace di plugin. Salva un file come questo in `.claude/settings.json` nella parte superiore del repository. Cose da sapere prima di sottoporre a commit uno:

96 96 

97* **Le sessioni cloud lo leggono anche.** Una [sessione cloud](/docs/it/settings#settings-in-cloud-sessions) inizia da un clone del repository, quindi il file sottoposto a commit si applica anche lì.97* **Anche le sessioni cloud al di fuori di un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories) lo leggono.** Una [sessione cloud](/docs/it/settings#settings-in-cloud-sessions) con un solo repository si avvia all'interno del clone, quindi il file sottoposto a commit si applica anche lì.

98* **La telemetria va nelle impostazioni gestite o personali.** Claude Code ignora le [variabili dell'esportatore OpenTelemetry](/docs/it/settings-reference#variables-claude-code-ignores-in-env) nei file di impostazioni di un repository, a parte alcuni valori che disattivano la telemetria. Impostale nelle [impostazioni gestite](/docs/it/monitoring-usage#administrator-configuration) per la tua organizzazione, o nel file `~/.claude/settings.json` di ogni persona.98* **La telemetria va nelle impostazioni gestite o personali.** Claude Code ignora le [variabili dell'esportatore OpenTelemetry](/docs/it/settings-reference#variables-claude-code-ignores-in-env) nei file di impostazioni di un repository, a parte alcuni valori che disattivano la telemetria. Impostale nelle [impostazioni gestite](/docs/it/monitoring-usage#administrator-configuration) per la tua organizzazione, o nel file `~/.claude/settings.json` di ogni persona.

99* **Le regole di autorizzazione attendono la fiducia.** Le regole di autorizzazione e le voci `extraKnownMarketplaces` hanno effetto dopo che ogni persona [si fida di questa cartella stessa](/docs/it/permissions#project-allow-rules-and-workspace-trust), non solo di una cartella padre; le regole di negazione e richiesta si applicano in ogni sessione, fidata o meno.99* **Le regole di autorizzazione attendono la fiducia.** Le regole di autorizzazione e le voci `extraKnownMarketplaces` hanno effetto dopo che ogni persona [si fida di questa cartella stessa](/docs/it/permissions#project-allow-rules-and-workspace-trust), non solo di una cartella padre; le regole di negazione e richiesta si applicano in ogni sessione, fidata o meno.

100* **L'hook è uno script nel repo.** L'hook di questo file esegue `.claude/hooks/block-rm.sh`; [How a hook resolves](/docs/it/hooks#how-a-hook-resolves) illustra come scriverlo.100* **L'hook è uno script nel repo.** L'hook di questo file esegue `.claude/hooks/block-rm.sh`; [How a hook resolves](/docs/it/hooks#how-a-hook-resolves) illustra come scriverlo.

Details

14 14 

15Ogni chiave sottostante è collegata alla sua voce. L'ambito elenca i [file](/docs/it/settings#settings-files-and-who-they-affect) in cui può trovarsi: `User` è `~/.claude/settings.json`, `Project` è `.claude/settings.json`, `Local` è `.claude/settings.local.json` e `Managed` è [quello che la tua organizzazione distribuisce](/docs/it/managed-settings). `Any file` significa tutti e quattro, e `Global config` significa [`~/.claude.json`](#global-config-settings).15Ogni chiave sottostante è collegata alla sua voce. L'ambito elenca i [file](/docs/it/settings#settings-files-and-who-they-affect) in cui può trovarsi: `User` è `~/.claude/settings.json`, `Project` è `.claude/settings.json`, `Local` è `.claude/settings.local.json` e `Managed` è [quello che la tua organizzazione distribuisce](/docs/it/managed-settings). `Any file` significa tutti e quattro, e `Global config` significa [`~/.claude.json`](#global-config-settings).

16 16 

17| Chiave | Descrizione | Argomento | Ambito |17| Key | Description | Topic | Scope |

18| :- | :- | :- | :- |18| :- | :- | :- | :- |

19| [`advisorModel`](#advisormodel) | Scegli quale modello risponde quando Claude interroga lo [strumento advisor](/docs/it/advisor) | Modello e risposte | Any file |19| [`advisorModel`](#advisormodel) | Scegli quale modello risponde quando Claude interroga lo [strumento advisor](/docs/it/advisor) | Modello e risposte | Any file |

20| [`agent`](#agent) | Avvia ogni sessione come un [subagent](/docs/it/sub-agents) con nome, con il suo prompt, i suoi strumenti e il suo modello | Agenti, sessioni e worktree | Any file |20| [`agent`](#agent) | Avvia ogni sessione come un [subagent](/docs/it/sub-agents) con nome, con il suo prompt, i suoi strumenti e il suo modello | Agenti, sessioni e worktree | Any file |


725 725 

726### `showThinkingSummaries`726### `showThinkingSummaries`

727 727 

728Vedi riassunti del [pensiero esteso](/docs/it/model-config#extended-thinking) di Claude nelle sessioni interattive. Impostalo se vuoi i riassunti completi quando espandi il pensiero con `Ctrl+O`. Quando non impostato o `false`, l'API Anthropic redige i blocchi di pensiero e Claude Code mostra uno stub compresso; i provider di terze parti non redigono.728Visualizza i riepiloghi del [ragionamento esteso](/docs/it/model-config#extended-thinking) di Claude nelle sessioni interattive. Impostalo se vuoi i riepiloghi completi quando espandi il ragionamento con `Ctrl+O`. Quando non è impostato o è `false`, l'API Anthropic oscura i blocchi di ragionamento e Claude Code mostra uno stub compresso.

729 729 

730* **Scope**: [`Any file`](#scopes)730* **Scope**: [`Any file`](#scopes)

731* **Type**: Boolean731* **Type**: Boolean


1370* **`allowWrite` e `denyWrite`**: su macOS, i wildcard funzionano. Su Linux e WSL2, la sandbox monta percorsi concreti, quindi Claude Code salta una voce che contiene `*`, `?` o `[` una volta rimosso il `/**` finale, e quella voce non ha effetto. Claude Code aggiunge i percorsi dalle tue regole di permesso `Edit` a questi elenchi, quindi lo stesso limite si applica a loro, e la scheda **Config** di `/sandbox` avvisa in merito alle regole di permesso `Edit` e `Read` che contengono wildcard.1370* **`allowWrite` e `denyWrite`**: su macOS, i wildcard funzionano. Su Linux e WSL2, la sandbox monta percorsi concreti, quindi Claude Code salta una voce che contiene `*`, `?` o `[` una volta rimosso il `/**` finale, e quella voce non ha effetto. Claude Code aggiunge i percorsi dalle tue regole di permesso `Edit` a questi elenchi, quindi lo stesso limite si applica a loro, e la scheda **Config** di `/sandbox` avvisa in merito alle regole di permesso `Edit` e `Read` che contengono wildcard.

1371* **`denyRead` e `allowRead`**: i wildcard funzionano su ogni piattaforma. Su Linux e WSL2, Claude Code espande una voce di lettura ai percorsi concreti che corrisponde, cosa che non fa per gli elenchi di scrittura.1371* **`denyRead` e `allowRead`**: i wildcard funzionano su ogni piattaforma. Su Linux e WSL2, Claude Code espande una voce di lettura ai percorsi concreti che corrisponde, cosa che non fa per gli elenchi di scrittura.

1372 1372 

1373Le parentesi graffe corrispondono come caratteri ordinari in un nome, quindi `~/data/{keys,tokens}` copre una directory chiamata letteralmente `{keys,tokens}`, non due alternative. Per coprire `~/data/keys` e `~/data/tokens`, aggiungi ciascuno come voce separata.

1374 

1373### `sandbox.filesystem.allowWrite`1375### `sandbox.filesystem.allowWrite`

1374 1376 

1375Aggiungi percorsi dove i comandi in sandbox possono scrivere, oltre alla directory di lavoro, alla directory temporanea per utente e alle directory che hai aggiunto con `--add-dir`, `/add-dir` o `permissions.additionalDirectories`. Usalo quando un sottoprocesso come `kubectl` o uno strumento di build ha bisogno di scrivere al di fuori del progetto.1377Aggiungi percorsi dove i comandi in sandbox possono scrivere, oltre alla directory di lavoro, alla directory temporanea per utente e alle directory che hai aggiunto con `--add-dir`, `/add-dir` o `permissions.additionalDirectories`. Usalo quando un sottoprocesso come `kubectl` o uno strumento di build ha bisogno di scrivere al di fuori del progetto.


2321 2323 

2322 L'esclusione di questo gruppo nelle impostazioni di progetto e locali richiede Claude Code v2.1.282 o successiva.2324 L'esclusione di questo gruppo nelle impostazioni di progetto e locali richiede Claude Code v2.1.282 o successiva.

2323 * Variabili che cambiano il modo in cui Claude Code si avvia o si sincronizza, come `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR` e `CLAUDE_CODE_PLUGIN_SEED_DIR`.2325 * Variabili che cambiano il modo in cui Claude Code si avvia o si sincronizza, come `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR` e `CLAUDE_CODE_PLUGIN_SEED_DIR`.

2324 * Variabili che impostano i timer di una finestra di dialogo senza risposta: [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`, `CLAUDE_AFK_TIMEOUT_MS` e `CLAUDE_AFK_COUNTDOWN_MS`](/docs/it/env-vars#variables).2326 * [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`](/docs/it/env-vars#variables), che imposta il timer di una finestra di dialogo senza risposta.

2325 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](/docs/it/env-vars#variables), che disattiva l'elaborazione degli allegati.2327 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](/docs/it/env-vars#variables), che disattiva l'elaborazione degli allegati.

2326 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](/docs/it/env-vars#variables), che impedisce a Claude Code di espandere le menzioni `@` di file e directory.2328 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](/docs/it/env-vars#variables), che impedisce a Claude Code di espandere le menzioni `@` di file e directory.

2327 2329 


2470* **Scope**: [`User or managed`](#scopes)2472* **Scope**: [`User or managed`](#scopes)

2471* **Type**: string, uno di `"60s"`, `"5m"`, `"10m"`, o `"never"`2473* **Type**: string, uno di `"60s"`, `"5m"`, `"10m"`, o `"never"`

2472* **Default**: `"never"`2474* **Default**: `"never"`

2473* **Per-session overrides**: [`CLAUDE_AFK_TIMEOUT_MS`](/docs/it/env-vars) ha la precedenza su questa chiave per una sessione

2474 2475 

2475```json settings.json theme={null}2476```json settings.json theme={null}

2476{2477{


4854 4855 

4855### `preferredNotifChannel`4856### `preferredNotifChannel`

4856 4857 

4857Scegli come Claude Code ti notifica quando un'attività si completa o un prompt di autorizzazione è in attesa. Appare in `/config` come **Local notifications**.4858Scegli come Claude Code ti avvisa quando un'attività si completa o una richiesta di permesso è in attesa. Le [notifiche di un mod](/docs/it/plugins/mods/api#show-something-without-starting-a-turn) usano la stessa impostazione. Appare in `/config` come **Local notifications**.

4858 4859 

4859* **Scope**: [`Any file`](#scopes). Claude Code legge anche un valore lasciato in `~/.claude.json` da versioni precedenti.4860* **Scope**: [`Any file`](#scopes). Claude Code legge anche un valore lasciato in `~/.claude.json` da versioni precedenti.

4860* **Type**: stringa, una di:4861* **Type**: stringa, una di:

setup.md +1 −1

Details

200 200 

201Claude Code verifica la disponibilità di aggiornamenti all'avvio e periodicamente durante l'esecuzione. Gli aggiornamenti si scaricano e si installano in background, quindi hanno effetto la prossima volta che avviate Claude Code.201Claude Code verifica la disponibilità di aggiornamenti all'avvio e periodicamente durante l'esecuzione. Gli aggiornamenti si scaricano e si installano in background, quindi hanno effetto la prossima volta che avviate Claude Code.

202 202 

203Eseguite `claude doctor` per visualizzare il risultato del tentativo di aggiornamento più recente.203Esegui `claude doctor` nella tua shell per visualizzare il risultato dell'ultimo tentativo di aggiornamento registrato da Claude Code. Su un'installazione nativa, se segnala un tentativo non riuscito, consulta [`Auto-update failed` nel piè di pagina della sessione](/docs/it/troubleshoot-install#auto-update-failed) per sapere come procedere.

204 204 

205Su macOS e Linux, il programma di installazione nativo gestisce il launcher in `~/.local/bin/claude` come un collegamento simbolico in `~/.local/share/claude/versions/`. Se sostituisci quel launcher con il tuo script o collegamento simbolico, l'aggiornamento automatico e `claude update` lo lasciano in posizione: le nuove versioni si installano comunque nella directory `versions/`, e il tuo launcher decide quale versione viene eseguita.205Su macOS e Linux, il programma di installazione nativo gestisce il launcher in `~/.local/bin/claude` come un collegamento simbolico in `~/.local/share/claude/versions/`. Se sostituisci quel launcher con il tuo script o collegamento simbolico, l'aggiornamento automatico e `claude update` lo lasciano in posizione: le nuove versioni si installano comunque nella directory `versions/`, e il tuo launcher decide quale versione viene eseguita.

206 206 

skills.md +10 −7

Details

42* **Estensioni**: skill, server MCP e plugin inutilizzati confrontati con il loro costo in termini di contesto, e [hook](/docs/it/hooks) lenti42* **Estensioni**: skill, server MCP e plugin inutilizzati confrontati con il loro costo in termini di contesto, e [hook](/docs/it/hooks) lenti

43* **File `CLAUDE.md`**: file `CLAUDE.md` locali che duplicano quelli archiviati nel repository, [contenuto di `CLAUDE.md` archiviato che Claude potrebbe ricavare dal codebase](/docs/it/memory#my-claude-md-is-too-large) e le indicazioni sempre caricate che rimangono, che Claude propone di migrare in skill e in file `CLAUDE.md` annidati caricati su richiesta43* **File `CLAUDE.md`**: file `CLAUDE.md` locali che duplicano quelli archiviati nel repository, [contenuto di `CLAUDE.md` archiviato che Claude potrebbe ricavare dal codebase](/docs/it/memory#my-claude-md-is-too-large) e le indicazioni sempre caricate che rimangono, che Claude propone di migrare in skill e in file `CLAUDE.md` annidati caricati su richiesta

44* **Permessi**: una proposta per rendere la [modalità auto](/docs/it/permissions#permission-modes) la tua modalità di permesso predefinita e per [pre-approvare](/docs/it/permissions) i comandi di sola lettura che neghi frequentemente44* **Permessi**: una proposta per rendere la [modalità auto](/docs/it/permissions#permission-modes) la tua modalità di permesso predefinita e per [pre-approvare](/docs/it/permissions) i comandi di sola lettura che neghi frequentemente

45* **Utilizzo**: con un piano Pro, Max, Team o Enterprise, le [modifiche consigliate da `/usage`](/docs/it/costs#plan-usage-breakdown) per ridurre l'utilizzo del tuo piano, misurato negli ultimi 7 giorni. Claude propone le modifiche che può apportare autonomamente e riporta le altre come consigli, ad esempio un comando da eseguire. Il controllo dell'utilizzo richiede Claude Code v2.1.305 o versioni successive, e `/doctor` lo omette mentre [Remote Control](/docs/it/remote-control) è connesso.

45 46 

46Per una diagnostica dell'installazione di sola lettura senza avviare una sessione, esegui invece `claude doctor` nel terminale.47Per una diagnostica dell'installazione di sola lettura senza avviare una sessione, esegui invece `claude doctor` nel terminale.

47 48 


83| :- | :- | :- |84| :- | :- | :- |

84| `migrate` | Aggiornare il vostro codice Claude API esistente a un modello più recente | Precedente a v2.1.221 |85| `migrate` | Aggiornare il vostro codice Claude API esistente a un modello più recente | Precedente a v2.1.221 |

85| `upgrade` | Spostare la dipendenza SDK Anthropic del vostro progetto attraverso una versione principale, attualmente il pacchetto Python `anthropic` da 0.x a 1.x | v2.1.236 o successivo |86| `upgrade` | Spostare la dipendenza SDK Anthropic del vostro progetto attraverso una versione principale, attualmente il pacchetto Python `anthropic` da 0.x a 1.x | v2.1.236 o successivo |

87| `api-version` | Aggiorna il tuo codice Claude API per una [versione dell'API](https://platform.claude.com/docs/en/api/versioning) più recente, quindi passa le tue richieste a quella versione | v2.1.307 o successivo |

86| `managed-agents-onboard` | Guidarvi attraverso la creazione di un nuovo Managed Agent | Precedente a v2.1.221 |88| `managed-agents-onboard` | Guidarvi attraverso la creazione di un nuovo Managed Agent | Precedente a v2.1.221 |

87| `managed-agents-onboard <url>` | Crea il Managed Agent descritto dalla pagina all'URL, ad esempio una pagina della [documentazione di Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) | v2.1.290 o successivo |89| `managed-agents-onboard <url>` | Crea il Managed Agent descritto dalla pagina all'URL, ad esempio una pagina della [documentazione di Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) | v2.1.290 o successivo |

88| `managed-agents-onboard <quickstart-name>` | Crea uno dei template di guida rapida della Console, come `deep-researcher`. Se indichi una sola parola che non è il nome di un template, Claude elenca i nomi validi | v2.1.290 o successivo |90| `managed-agents-onboard <quickstart-name>` | Crea uno dei template di guida rapida della Console, come `deep-researcher`. Se indichi una sola parola che non è il nome di un template, Claude elenca i nomi validi | v2.1.290 o successivo |


155| :- | :- | :- |157| :- | :- | :- |

156| Enterprise | `.claude/skills/<skill-name>/SKILL.md` nella [directory delle impostazioni gestite](/docs/it/managed-settings#delivery-mechanisms) | Tutti gli utenti sulle macchine in cui la tua organizzazione la distribuisce |158| Enterprise | `.claude/skills/<skill-name>/SKILL.md` nella [directory delle impostazioni gestite](/docs/it/managed-settings#delivery-mechanisms) | Tutti gli utenti sulle macchine in cui la tua organizzazione la distribuisce |

157| Personale | `~/.claude/skills/<skill-name>/SKILL.md` | Tutti i tuoi progetti su questa macchina, ma non le [sessioni Cowork o le sessioni cloud](#skills-in-cowork-and-cloud-sessions) |159| Personale | `~/.claude/skills/<skill-name>/SKILL.md` | Tutti i tuoi progetti su questa macchina, ma non le [sessioni Cowork o le sessioni cloud](#skills-in-cowork-and-cloud-sessions) |

158| Progetto | `.claude/skills/<skill-name>/SKILL.md` | Sessioni in questo repository. Esegui il commit così anche il tuo team la riceve |160| Progetto | `.claude/skills/<skill-name>/SKILL.md` | Sessioni in questo repository, ma non i [thread cloud in un progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories). Esegui il commit così anche il tuo team la riceve |

159| Annidata | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Sessioni avviate in `<subdir>` o al di sotto. Una sessione avviata al di sopra carica la skill non appena Claude lavora sui file lì. Consulta [monorepo e sottodirectory](#discovery-from-parent-and-nested-directories) |161| Annidata | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Sessioni avviate in `<subdir>` o al di sotto, ma non i thread cloud in un progetto. Al di fuori di quei thread, una sessione avviata al di sopra carica la skill non appena Claude lavora sui file lì. Consulta [monorepo e sottodirectory](#discovery-from-parent-and-nested-directories) |

160| Directory aggiuntiva | `.claude/skills/<skill-name>/SKILL.md` in una directory che passi con `--add-dir` | Quella sessione. Consulta [directory esterne al progetto](#skills-from-additional-directories) |162| Directory aggiuntiva | `.claude/skills/<skill-name>/SKILL.md` in una directory che passi con `--add-dir` | Quella sessione. Consulta [directory esterne al progetto](#skills-from-additional-directories) |

161| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Ovunque il [plugin](/docs/it/plugins/overview) sia abilitato, come `/plugin-name:skill-name` |163| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Ovunque il [plugin](/docs/it/plugins/overview) sia abilitato, come `/plugin-name:skill-name` |

162| Account claude.ai | Skill abilitate per il tuo account claude.ai | Sessioni Cowork, sessioni cloud e sessioni del terminale in cui accedi con quell'account. Consulta [Skill sincronizzate da claude.ai](#how-synced-skills-behave) |164| Account claude.ai | Skill abilitate per il tuo account claude.ai | Sessioni Cowork, sessioni cloud e sessioni del terminale in cui accedi con quell'account. Consulta [Skill sincronizzate da claude.ai](#how-synced-skills-behave) |


207 209 

208### Usare le skill nelle sessioni Cowork e cloud210### Usare le skill nelle sessioni Cowork e cloud

209 211 

210Le sessioni [Cowork](https://claude.com/product/cowork) e le [sessioni cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup), incluse le [attività pianificate cloud](/docs/it/routines), non leggono `~/.claude/skills/` sulla tua macchina. Sia le sessioni Cowork interattive sia quelle pianificate caricano le skill abilitate per il tuo account claude.ai, sincronizzate all'avvio della sessione. Gestiscile da **Customize** nella barra laterale dell'app Desktop o dalle impostazioni delle skill su claude.ai. Le sessioni cloud caricano inoltre le skill di progetto sottoposte a commit nella `.claude/skills/` del repository clonato.212Le sessioni [Cowork](https://claude.com/product/cowork) e le [sessioni cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup), incluse le [attività pianificate cloud](/docs/it/routines), non leggono `~/.claude/skills/` sulla tua macchina. Sia le sessioni Cowork interattive sia quelle pianificate caricano le skill abilitate per il tuo account claude.ai, sincronizzate all'avvio della sessione. Gestiscile da **Customize** nella barra laterale dell'app Desktop o dalle impostazioni delle skill su claude.ai.

211 213 

212Se una skill esiste solo in `~/.claude/skills/` sulla tua macchina, Claude Code segnala che la skill non è stata trovata quando un'[attività pianificata cloud](/docs/it/routines) la invoca. Questo accade perché ogni esecuzione parte come una nuova sessione cloud. Per rendere disponibile una skill personale in queste sessioni:214Se una skill esiste solo in `~/.claude/skills/` sulla tua macchina, Claude Code segnala che la skill non è stata trovata quando un'[attività pianificata cloud](/docs/it/routines) la invoca. Questo accade perché ogni esecuzione parte come una nuova sessione cloud. Per rendere disponibile una skill personale in queste sessioni:

213 215 

214* Per le sessioni Cowork e cloud, abilita la skill per il tuo account claude.ai. [Alcune sessioni in un ambiente self-hosted](/docs/it/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) non caricano le skill del tuo account.216* Per le sessioni Cowork, le sessioni cloud e i thread cloud in un [progetto](/docs/it/claude-projects#what-threads-pick-up-from-your-repositories), abilita la skill per il tuo account claude.ai. Nel thread cloud di un progetto, le skill sottoposte a commit nella `.claude/skills/` di un repository non sono disponibili. [Alcune sessioni in un ambiente self-hosted](/docs/it/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) non caricano le skill del tuo account.

215* Per le sessioni cloud, puoi invece eseguire il commit della skill nella `.claude/skills/` del repository. I plugin dichiarati nel `.claude/settings.json` del repository e i plugin abilitati solo nelle tue impostazioni utente [non vengono caricati nelle sessioni cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup).217* Per le sessioni cloud diverse dai thread di progetto, puoi invece eseguire il commit della skill nella `.claude/skills/` del repository. I plugin dichiarati nel `.claude/settings.json` del repository e i plugin abilitati solo nelle tue impostazioni utente [non vengono caricati nelle sessioni cloud](/docs/it/cloud-environments#what-carries-over-from-your-setup).

216 218 

217Le [attività pianificate di Desktop](/docs/it/desktop-scheduled-tasks) vengono eseguite localmente sulla tua macchina, quindi caricano `~/.claude/skills/`.219Le [attività pianificate di Desktop](/docs/it/desktop-scheduled-tasks) vengono eseguite localmente sulla tua macchina, quindi caricano `~/.claude/skills/`.

218 220 


398| `agent` | No | Quale tipo di subagent usare quando `context: fork` è impostato. |400| `agent` | No | Quale tipo di subagent usare quando `context: fork` è impostato. |

399| `background` | No | Si applica solo con `context: fork`. Impostato su `false` per attendere il risultato del subagent biforcato nel turno che ha invocato la skill, invece di [eseguirla in background](#run-skills-in-a-subagent). Predefinito: `true`. Richiede Claude Code v2.1.218 o successivo. |401| `background` | No | Si applica solo con `context: fork`. Impostato su `false` per attendere il risultato del subagent biforcato nel turno che ha invocato la skill, invece di [eseguirla in background](#run-skills-in-a-subagent). Predefinito: `true`. Richiede Claude Code v2.1.218 o successivo. |

400| `hooks` | No | Hooks che Claude Code registra quando la skill viene invocata e continua a eseguire per il resto della sessione. Vedi [Hooks in skills e agents](/docs/it/hooks#hooks-in-skills-and-agents) per il formato di configurazione e l'opzione `once`. |402| `hooks` | No | Hooks che Claude Code registra quando la skill viene invocata e continua a eseguire per il resto della sessione. Vedi [Hooks in skills e agents](/docs/it/hooks#hooks-in-skills-and-agents) per il formato di configurazione e l'opzione `once`. |

401| `paths` | No | Pattern Glob che limitano quando questa skill viene attivata. Accetta una stringa separata da virgole o un elenco YAML. Quando impostato, Claude carica la skill automaticamente solo quando lavora con file che corrispondono ai pattern. Usa lo stesso formato delle [regole specifiche del percorso](/docs/it/memory#path-specific-rules). |403| `paths` | No | Pattern Glob che limitano quando questa skill viene attivata. Accetta una stringa separata da virgole o un elenco YAML. Quando impostato, Claude carica la skill automaticamente solo quando lavora con file che corrispondono ai pattern. I pattern sono relativi alla directory di lavoro attuale di Claude, e i file al di fuori di quella directory non corrispondono. Usa lo stesso formato glob delle [regole specifiche del percorso](/docs/it/memory#path-specific-rules). |

402| `shell` | No | Shell da usare per `` !`command` `` e ` ```! ` blocchi in questa skill. Accetta `bash` (predefinito) o `powershell`. L'impostazione di `powershell` esegue i comandi shell inline tramite PowerShell quando lo [strumento PowerShell](/it/tools-reference#powershell-tool) è abilitato: è attivo per impostazione predefinita su Windows senza Git Bash, attivo per impostazione predefinita con Git Bash per account claude.ai e Console, e richiede `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` in sessioni Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry e su macOS, Linux e WSL. Impostalo su `0` per disattivare lo strumento. |404| `shell` | No | Shell da usare per `` !`command` `` e ` ```! ` blocchi in questa skill. Accetta `bash` (predefinito) o `powershell`. L'impostazione di `powershell` esegue i comandi shell inline tramite PowerShell quando lo [strumento PowerShell](/it/tools-reference#powershell-tool) è abilitato: è attivo per impostazione predefinita su Windows senza Git Bash, attivo per impostazione predefinita con Git Bash per account claude.ai e Console, e richiede `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` in sessioni Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry e su macOS, Linux e WSL. Impostalo su `0` per disattivare lo strumento. |

403| `metadata` | No | Mappa YAML libera per i tuoi dati chiave-valore, come campi di diritto o catalogo, letti dal tuo tooling da `SKILL.md`. Claude Code non agisce sui suoi contenuti e scarta un valore che non è una mappa. Non riutilizzare nomi di campi frontmatter come `paths` come chiavi. |405| `metadata` | No | Mappa YAML libera per i tuoi dati chiave-valore, come campi di diritto o catalogo, letti dal tuo tooling da `SKILL.md`. Claude Code non agisce sui suoi contenuti e scarta un valore che non è una mappa. Non riutilizzare nomi di campi frontmatter come `paths` come chiavi. |

404| `license` | No | Licenza che copre la skill. Parte della specifica [Agent Skills](https://agentskills.io); vedi [Usare il frontmatter della skill al di fuori di Claude Code](#using-skill-frontmatter-outside-claude-code). Claude Code accetta il campo ma non agisce su di esso. |406| `license` | No | Licenza che copre la skill. Parte della specifica [Agent Skills](https://agentskills.io); vedi [Usare il frontmatter della skill al di fuori di Claude Code](#using-skill-frontmatter-outside-claude-code). Claude Code accetta il campo ma non agisce su di esso. |


755Quali comandi ottengono l'eccezione dipende dalla shell:757Quali comandi ottengono l'eccezione dipende dalla shell:

756 758 

757* Shell `bash` predefinita: i comandi elencati sotto [Output limits](/docs/it/tools-reference#output-limits)759* Shell `bash` predefinita: i comandi elencati sotto [Output limits](/docs/it/tools-reference#output-limits)

758* `shell: powershell`, quando lo strumento PowerShell è abilitato: un [set diverso](/docs/it/tools-reference#shell-selection-in-settings-hooks-and-skills) che include `grep` e `git diff` ma non `find` o `diff`760* `shell: powershell`, quando lo strumento PowerShell è abilitato: un [set diverso](/docs/it/tools-reference#exit-code-1-from-searches-and-git-diff-in-powershell) che include `grep` e `git diff` ma non `find` o `diff`

759 761 

760Con la shell `bash` predefinita, aggiungi `|| true` a qualsiasi altro comando che ti aspetti esca con un codice non zero. Uno script di controllo che esce con 1 quando trova problemi è un esempio.762Con la shell `bash` predefinita, aggiungi `|| true` a qualsiasi altro comando che ti aspetti esca con un codice non zero. Uno script di controllo che esce con 1 quando trova problemi è un esempio.

761 763 


11773. Provate a riformulare la vostra richiesta per corrispondere più strettamente alla descrizione11793. Provate a riformulare la vostra richiesta per corrispondere più strettamente alla descrizione

11784. Invocatela direttamente con `/skill-name` se la skill è invocabile dall'utente11804. Invocatela direttamente con `/skill-name` se la skill è invocabile dall'utente

11795. Se nemmeno `/skill-name` viene riconosciuto, verifica se Claude Code [ha rifiutato il nome della skill](#characters-a-skill-name-cant-hold)11815. Se nemmeno `/skill-name` viene riconosciuto, verifica se Claude Code [ha rifiutato il nome della skill](#characters-a-skill-name-cant-hold)

11826. Se la skill imposta `paths`, verifica che i file che Claude legge, modifica o scrive si trovino all'interno della directory di lavoro corrente di Claude. La skill non si attiva per i file al di fuori di essa, come quelli in un worktree git adiacente, anche se lo hai aggiunto con `/add-dir`. Per far sì che la skill si attivi per quei file, avvia Claude Code in quel worktree oppure [sposta lì la sessione con `/cd`](/docs/it/permissions#move-the-session-to-another-directory).

1180 1183 

1181Se il YAML del frontmatter è malformato, Claude Code carica il corpo della skill con metadati vuoti, quindi `/skill-name` funziona comunque ma Claude non può corrispondere alla vostra `description`. Eseguite con `--debug` per vedere l'errore di parsing.1184Se il YAML del frontmatter è malformato, Claude Code carica il corpo della skill con metadati vuoti, quindi `/skill-name` funziona comunque ma Claude non può corrispondere alla vostra `description`. Eseguite con `--debug` per vedere l'errore di parsing.

1182 1185 

sub-agents.md +25 −2

Details

489 489 

490Una voce `disallowedTools` con uno specificatore, come `Bash(git push *)`, comunque rimuove lo strumento intero dal subagent, non solo i comandi corrispondenti. Per mantenere Bash e bloccare comandi specifici, aggiunga una [regola di negazione Bash](/docs/it/permissions#bash) come `Bash(git push *)` a `permissions.deny` nelle sue impostazioni. La regola si applica alla conversazione principale e ai subagent.490Una voce `disallowedTools` con uno specificatore, come `Bash(git push *)`, comunque rimuove lo strumento intero dal subagent, non solo i comandi corrispondenti. Per mantenere Bash e bloccare comandi specifici, aggiunga una [regola di negazione Bash](/docs/it/permissions#bash) come `Bash(git push *)` a `permissions.deny` nelle sue impostazioni. La regola si applica alla conversazione principale e ai subagent.

491 491 

492##### Nomi di server MCP che contengono un doppio underscore

493 

494Se un subagent non riceve nessuno degli strumenti di un server MCP il cui nome contiene `__`, come `reports__v2`, controlla le voci `mcp__` del subagent:

495 

496* **In `tools`**: scrivi `mcp__` seguito dal [nome completo del server](/docs/it/permissions#mcp) e da `__*`, come in `mcp__reports__v2__*`. Senza il `__*` finale, `mcp__reports__v2` non corrisponde a nessuno degli strumenti di quel server.

497* **In `disallowedTools`**: cerca `mcp__reports` o `mcp__reports__*`, le voci che negano un server chiamato `reports`. Con una qualsiasi di queste voci, il subagent perde anche tutti gli strumenti di `reports__v2`, perché anche i nomi di quegli strumenti iniziano con `mcp__reports__`. Per negare solo gli strumenti del server `reports`, elencali invece uno per uno, ad esempio `mcp__reports__run_query`.

498 

492#### Limiti quali subagent possono essere generati499#### Limiti quali subagent possono essere generati

493 500 

494Quando un agente viene eseguito come thread principale con `claude --agent`, può generare subagent utilizzando lo strumento Agent. Per limitare quali tipi di subagent può generare, usi la sintassi `Agent(agent_type)` nel campo `tools`.501Quando un agente viene eseguito come thread principale con `claude --agent`, può generare subagent utilizzando lo strumento Agent. Per limitare quali tipi di subagent può generare, usi la sintassi `Agent(agent_type)` nel campo `tools`.


955 962 

956### Nomi dei subagent963### Nomi dei subagent

957 964 

958Claude può dare un nome a un subagent passando un parametro `name` nella chiamata allo strumento Agent, e può farlo di propria iniziativa, senza chiedertelo prima. Il nome rende il subagent indirizzabile: Claude può [inviargli messaggi o riprenderlo per nome](#resume-subagents) dopo che ha terminato.965Se avvii una sessione con i [team di agenti](/docs/it/agent-teams#enable-agent-teams) abilitati, Claude può dare un nome a un subagent passando un parametro `name` nella chiamata allo strumento Agent. Può farlo di propria iniziativa, senza chiedertelo prima. Il nome rende il subagent indirizzabile: Claude può [inviargli messaggi o riprenderlo per nome](#resume-subagents) dopo che ha terminato.

959 966 

960In una sessione interattiva con i [team di agenti](/docs/it/agent-teams) abilitati, un subagent che Claude avvia dalla conversazione principale con un `name` viene invece avviato come membro del team, a meno che la chiamata non sia un [fork](#fork-the-current-conversation) o non passi `isolation` nella chiamata stessa. Un valore `isolation` nel frontmatter del subagent non lo impedisce, e il membro del team viene quindi eseguito nella directory di lavoro della sessione principale. Consulta [Come Claude avvia i team di agenti](/docs/it/agent-teams#how-claude-starts-agent-teams).967In una sessione interattiva con i [team di agenti](/docs/it/agent-teams) abilitati, un subagent che Claude avvia dalla conversazione principale con un `name` viene invece avviato come membro del team, a meno che la chiamata non sia un [fork](#fork-the-current-conversation) o non passi `isolation` nella chiamata stessa. Un valore `isolation` nel frontmatter del subagent non lo impedisce, e il membro del team viene quindi eseguito nella directory di lavoro della sessione principale. Consulta [Come Claude avvia i team di agenti](/docs/it/agent-teams#how-claude-starts-agent-teams).

961 968 


968* **Primo piano**: se un rate limit, un sovraccarico o un errore del server interrompe un subagent che ha già prodotto output testuale, lo strumento Agent restituisce quell'output parziale con una nota che indica che il subagent è stato interrotto e non ha completato la sua attività. Un subagent che non ha prodotto nulla, o il cui unico output erano chiamate agli strumenti, fallisce con [`Agent terminated early due to an API error`](/docs/it/errors#agent-terminated-early-due-to-an-api-error), seguito dal dettaglio dell'errore.975* **Primo piano**: se un rate limit, un sovraccarico o un errore del server interrompe un subagent che ha già prodotto output testuale, lo strumento Agent restituisce quell'output parziale con una nota che indica che il subagent è stato interrotto e non ha completato la sua attività. Un subagent che non ha prodotto nulla, o il cui unico output erano chiamate agli strumenti, fallisce con [`Agent terminated early due to an API error`](/docs/it/errors#agent-terminated-early-due-to-an-api-error), seguito dal dettaglio dell'errore.

969* **Background**: il subagent viene contrassegnato come non riuscito, e il messaggio che Claude riceve quando termina indica l'errore API e include l'ultimo output del subagent, così il lavoro parziale non va perso.976* **Background**: il subagent viene contrassegnato come non riuscito, e il messaggio che Claude riceve quando termina indica l'errore API e include l'ultimo output del subagent, così il lavoro parziale non va perso.

970 977 

978Se il rapporto di un subagent inizia con la riga seguente, il subagent ha terminato su un modello di fallback:

979 

980```text theme={null}

981⚠ This agent switched to <model> because its earlier model could not be used.

982```

983 

971Quando configuri una [catena di modelli di fallback](/docs/it/model-config#fallback-model-chains) e un subagent incontra un errore coperto dalla catena, come la non disponibilità del suo modello, Claude Code passa il subagent al primo modello della catena che accetta la richiesta. Il subagent continua a lavorare invece di terminare con l'errore.984Quando configuri una [catena di modelli di fallback](/docs/it/model-config#fallback-model-chains) e un subagent incontra un errore coperto dalla catena, come la non disponibilità del suo modello, Claude Code passa il subagent al primo modello della catena che accetta la richiesta. Il subagent continua a lavorare invece di terminare con l'errore.

972 985 

973Quando l'errore API sottostante si risolve, chiedi a Claude di riprovare l'attività o di [riprendere il subagent](#resume-subagents).986Quando l'errore API sottostante si risolve, chiedi a Claude di riprovare l'attività o di [riprendere il subagent](#resume-subagents).


1114 1127 

1115Ogni invocazione di un subagent crea una nuova istanza invece di continuarne una precedente. Per proseguire il lavoro di un subagent esistente invece di ricominciare, chiedi a Claude di riprenderlo.1128Ogni invocazione di un subagent crea una nuova istanza invece di continuarne una precedente. Per proseguire il lavoro di un subagent esistente invece di ricominciare, chiedi a Claude di riprenderlo.

1116 1129 

1117I subagent ripresi conservano l'intera cronologia della conversazione, incluse tutte le chiamate agli strumenti, i risultati e il ragionamento precedenti. Se il subagent ha avviato [subagent in background propri](#let-subagents-spawn-their-own-subagents), quella cronologia include i risultati che hanno consegnato mentre era in esecuzione. Il subagent riprende esattamente da dove si era fermato invece di ripartire da zero.1130I subagent ripresi conservano l'intera cronologia della conversazione, incluse tutte le chiamate agli strumenti, i risultati e il ragionamento precedenti. Se il subagent ha avviato [subagent in background propri](#let-subagents-spawn-their-own-subagents), quella cronologia include i risultati che hanno consegnato mentre era in esecuzione. Prima della v2.1.304, un subagent a cui Claude inviava un messaggio o che riprendeva subito dopo la sua conclusione poteva dimenticare il suo lavoro più recente.

1118 1131 

1119* Quando un subagent termina, Claude riceve il suo ID agente.1132* Quando un subagent termina, Claude riceve il suo ID agente.

1120* Gli agenti integrati Explore e Plan sono monouso e non restituiscono alcun ID agente, quindi Claude non può riprenderli. Usa `general-purpose` o un subagent personalizzato quando devi proseguire il lavoro.1133* Gli agenti integrati Explore e Plan sono monouso e non restituiscono alcun ID agente, quindi Claude non può riprenderli. Usa `general-purpose` o un subagent personalizzato quando devi proseguire il lavoro.


1154* **Persistenza della sessione**: le trascrizioni dei subagent persistono all'interno della loro sessione. Puoi [riprendere un subagent](#resume-subagents) dopo aver riavviato Claude Code riprendendo la stessa sessione.1167* **Persistenza della sessione**: le trascrizioni dei subagent persistono all'interno della loro sessione. Puoi [riprendere un subagent](#resume-subagents) dopo aver riavviato Claude Code riprendendo la stessa sessione.

1155* **Pulizia automatica**: Claude Code elimina le trascrizioni dei subagent dopo il periodo di conservazione `cleanupPeriodDays`, di 30 giorni per impostazione predefinita, secondo le [regole di pulizia della conservazione](/docs/it/claude-directory#cleaned-up-automatically).1168* **Pulizia automatica**: Claude Code elimina le trascrizioni dei subagent dopo il periodo di conservazione `cleanupPeriodDays`, di 30 giorni per impostazione predefinita, secondo le [regole di pulizia della conservazione](/docs/it/claude-directory#cleaned-up-automatically).

1156 1169 

1170##### Inviare un messaggio a un subagent per nome dopo un riavvio

1171 

1172> [!NOTE]

1173>

1174> Per un subagent avviato come membro del team, consulta invece le [limitazioni dei team di agenti](/docs/it/agent-teams#limitations).

1175 

1176Se Claude non riesce a inviare un messaggio a un subagent per nome dopo che hai riavviato Claude Code e ripreso la sessione, fornisci invece a Claude l'ID agente del subagent. I nomi che Claude ha assegnato dalla conversazione principale dopo la sua ultima [compattazione](/docs/it/context-window#what-survives-compaction) sopravvivono al riavvio. Un nome assegnato prima di quella compattazione no. Per trovare l'ID corrispondente a un nome, cerca quel nome nei file `agent-{agentId}.meta.json` in `~/.claude/projects/{project}/{sessionId}/subagents/`.

1177 

1178Dopo un messaggio inviato tramite ID, il nome del subagent torna a funzionare, a meno che un agente più recente non abbia preso quel nome. Prima della v2.1.299, nessun nome sopravviveva a un riavvio, e un invio per nome veniva rifiutato anche quando l'ID agente funzionava ancora.

1179 

1157#### Compattazione automatica1180#### Compattazione automatica

1158 1181 

1159I subagent supportano la compattazione automatica. La compattazione si attiva man mano che la finestra di contesto del subagent stesso si riempie, e `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` si applica anche ai subagent. Consulta le [variabili d'ambiente](/docs/it/env-vars) per sapere quando l'override ha effetto.1182I subagent supportano la compattazione automatica. La compattazione si attiva man mano che la finestra di contesto del subagent stesso si riempie, e `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` si applica anche ai subagent. Consulta le [variabili d'ambiente](/docs/it/env-vars) per sapere quando l'override ha effetto.

Details

476 476 

477I comandi PowerShell ricevono anche le variabili che gli hook rendono persistenti tramite `CLAUDE_ENV_FILE`, alle condizioni descritte in [Variabili persistenti nei comandi PowerShell](/docs/it/hooks#persisted-variables-in-powershell-commands). Richiede Claude Code v2.1.296 o versioni successive.477I comandi PowerShell ricevono anche le variabili che gli hook rendono persistenti tramite `CLAUDE_ENV_FILE`, alle condizioni descritte in [Variabili persistenti nei comandi PowerShell](/docs/it/hooks#persisted-variables-in-powershell-commands). Richiede Claude Code v2.1.296 o versioni successive.

478 478 

479Il codice di uscita 1 da `grep`, `rg`, `egrep`, `fgrep`, `findstr` e `git grep` significa nessuna corrispondenza. Il codice di uscita 1 da `git diff` significa che esistono differenze. Nessuno di questi risultati viene segnalato a Claude come un errore di comando. Per `robocopy`, i codici di uscita da 0 a 7 sono risultati informativi, come file copiati o file aggiuntivi rilevati. I codici di uscita 8 o superiori contano come errori.479### Codice di uscita 1 da ricerche e `git diff` in PowerShell

480 

481Se una ricerca `grep` o `rg` che non trova corrispondenze mostra `Error: Exit code 1` quando Claude la esegue nello strumento PowerShell, la ricerca non è fallita. Non devi fare nulla. L'errore può comparire quando la ricerca fa parte di un comando più lungo. Ad esempio, quando `rg` termina con il codice 1, `rg foo | Out-Null` mostra l'errore e `rg foo` no.

482 

483Lo strumento PowerShell può considerare il codice di uscita 1 come un risultato normale di `grep`, `rg`, `egrep`, `fgrep`, `findstr`, `git grep` e `git diff`. Le ricerche usano il codice di uscita 1 per segnalare l'assenza di corrispondenze. Da `git diff`, il codice di uscita 1 significa che i file differiscono. Un comando che mostra l'errore quando Claude lo esegue [conta come fallito](/docs/it/skills#when-an-injected-command-fails) in una skill con `shell: powershell`.

480 484 

481### Windows encoding and exit codes485### Windows encoding and exit codes

482 486 


484* Claude Code codifica il testo inviato all'input standard di un comando nativo come UTF-8488* Claude Code codifica il testo inviato all'input standard di un comando nativo come UTF-8

485* Claude Code acquisisce l'output di errore senza sequenze di escape ANSI489* Claude Code acquisisce l'output di errore senza sequenze di escape ANSI

486* Un comando il cui processo figlio attende l'input standard riceve la fine del file anziché bloccarsi490* Un comando il cui processo figlio attende l'input standard riceve la fine del file anziché bloccarsi

487* 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 1491* Se `where.exe` non trova corrispondenze, oppure `fc.exe` o `diff.exe` rilevano che i file differiscono, il risultato può mostrare `Error: Exit code 1` anche se il comando non è fallito. Non devi fare nulla.

492* Se un codice di uscita di `robocopy` compreso tra 1 e 7 viene mostrato come errore, la copia non è fallita e non devi fare nulla. `robocopy` termina con un codice da 0 a 7 per segnalare un risultato, come file copiati, e con 8 o superiore quando fallisce.

488 493 

489### Preview limitations494### Preview limitations

490 495 


504* **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.509* **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.

505 510 

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

512 

513 Read rifiuta un file immagine più grande di 128 MB con un errore che indica a Claude di ridimensionare l'immagine o di esportarne una copia più piccola, e poi di leggere quella copia. Se Claude si ferma all'errore invece di farlo, consulta [File is too large to read as an image](/docs/it/errors#file-is-too-large-to-read-as-an-image).

507* **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`.514* **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`.

508* **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.515* **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.

509 516 


558 565 

559Claude Code conserva la tua directory di lavoro nella bozza locale per poter trovare la trascrizione, e non invia la directory.566Claude Code conserva la tua directory di lavoro nella bozza locale per poter trovare la trascrizione, e non invia la directory.

560 567 

561Nelle [organizzazioni con Zero Data Retention](/docs/it/zero-data-retention#features-disabled-under-zdr) e nelle organizzazioni a cui è applicata la [configurazione HIPAA](/docs/it/hipaa-setup), Claude Code esclude lo strumento, come fa per `/feedback`. Se una sessione in un'organizzazione con Zero Data Retention offre comunque lo strumento, le bozze rimangono sul tuo computer e l'invio non riesce con `Feedback collection is not available for organizations with custom data retention policies.`568Nelle [organizzazioni con Zero Data Retention](/docs/it/zero-data-retention#features-disabled-under-zdr) e nelle organizzazioni a cui è applicata la [configurazione HIPAA](/docs/it/hipaa-setup), Claude Code esclude lo strumento SendFeedback dalle tue sessioni. Se una sessione in un'organizzazione con Zero Data Retention offre comunque lo strumento, le bozze rimangono sul tuo computer e l'invio non riesce con `Feedback collection is not available for organizations with custom data retention policies.`

562 569 

563### Eliminare o conservare una bozza570### Eliminare o conservare una bozza

564 571 


665* **Attendi la ricarica**: su Claude Code v2.1.290 o successivo, il limite di una sessione interattiva nel terminale si ricarica di circa 100 chiamate all'ora. Per modificare la velocità, imposta [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/it/env-vars#variables) su un numero di chiamate all'ora, come `50`.672* **Attendi la ricarica**: su Claude Code v2.1.290 o successivo, il limite di una sessione interattiva nel terminale si ricarica di circa 100 chiamate all'ora. Per modificare la velocità, imposta [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/it/env-vars#variables) su un numero di chiamate all'ora, come `50`.

666* **Avvia una nuova conversazione**: anche l'esecuzione di [`/clear`](/docs/it/commands#all-commands) nel prompt di Claude Code ripristina il conteggio. Se il lavoro che può ancora generare subagent sopravvive alla cancellazione, come un workflow in esecuzione, il conteggio viene invece trasferito.673* **Avvia una nuova conversazione**: anche l'esecuzione di [`/clear`](/docs/it/commands#all-commands) nel prompt di Claude Code ripristina il conteggio. Se il lavoro che può ancora generare subagent sopravvive alla cancellazione, come un workflow in esecuzione, il conteggio viene invece trasferito.

667 674 

675In [modalità non interattiva](/docs/it/headless) con `-p` e nell'[Agent SDK](/docs/it/agent-sdk/overview), il limite si applica per turno, non per sessione. Un turno dura da un messaggio che invii fino a quando Claude finisce di rispondere. Il limite si ripristina quando invii il messaggio successivo o avvii una nuova esecuzione di `claude -p`, anche con [`--continue` o `--resume`](/docs/it/headless#continue-conversations). Per più ricerche, aumenta [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/it/env-vars#variables) o imposta una velocità di ricarica con [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/it/env-vars#variables).

676 

668## Comportamento dello strumento Write677## Comportamento dello strumento Write

669 678 

670Lo strumento Write crea un nuovo file o sovrascrive uno esistente con il contenuto completo fornito. Non aggiunge contenuto né esegue il merge. Write sovrascrive anche un file esistente i cui byte non possono essere decodificati e salva il nuovo contenuto come UTF-8, come descritto in [file non UTF-8](#non-utf-8-files).679Lo strumento Write crea un nuovo file o sovrascrive uno esistente con il contenuto completo fornito. Non aggiunge contenuto né esegue il merge. Write sovrascrive anche un file esistente i cui byte non possono essere decodificati e salva il nuovo contenuto come UTF-8, come descritto in [file non UTF-8](#non-utf-8-files).

Details

31| `CRYPT_E_NO_REVOCATION_CHECK` o `CRYPT_E_REVOCATION_OFFLINE` | [Aggira i controlli di revoca bloccati](#tls-or-ssl-connection-errors) |31| `CRYPT_E_NO_REVOCATION_CHECK` o `CRYPT_E_REVOCATION_OFFLINE` | [Aggira i controlli di revoca bloccati](#tls-or-ssl-connection-errors) |

32| `Failed to fetch version` o impossibile raggiungere il server di download | [Controlla le impostazioni di rete e proxy](#check-network-connectivity) |32| `Failed to fetch version` o impossibile raggiungere il server di download | [Controlla le impostazioni di rete e proxy](#check-network-connectivity) |

33| `The connection dropped while downloading the update` o `Download timed out: exceeded the total deadline` | [Esegui di nuovo l'aggiornamento o imposta il tuo proxy](#the-connection-dropped-while-downloading-the-update) |33| `The connection dropped while downloading the update` o `Download timed out: exceeded the total deadline` | [Esegui di nuovo l'aggiornamento o imposta il tuo proxy](#the-connection-dropped-while-downloading-the-update) |

34| `Release verification failed for Claude Code` | [Esegui di nuovo `claude update` o `claude install`](#release-verification-failed) |

35| `Auto-update failed · Run claude doctor` in rosso nel piè di pagina della sessione | [Esegui `claude update` dalla tua shell](#auto-update-failed) |

34| `irm is not recognized` o `The token '&&' is not a valid statement separator` | [Usa il comando giusto per la tua shell](#wrong-install-command-on-windows) |36| `irm is not recognized` o `The token '&&' is not a valid statement separator` | [Usa il comando giusto per la tua shell](#wrong-install-command-on-windows) |

35| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Aggiorna Homebrew](#homebrew-cask-unavailable-or-outdated) |37| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Aggiorna Homebrew](#homebrew-cask-unavailable-or-outdated) |

36| `Cask 'claude-code@latest' is not installed` | [Aggiorna il cask che hai installato](#cask-is-not-installed) |38| `Cask 'claude-code@latest' is not installed` | [Aggiorna il cask che hai installato](#cask-is-not-installed) |


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

632* Esegui `claude doctor` dalla tua shell per la diagnostica dell'installazione634* Esegui `claude doctor` dalla tua shell per la diagnostica dell'installazione

633 635 

636### Release verification failed for Claude Code

637 

638Questo messaggio di `claude update` o `claude install` significa che Claude Code non è riuscito a confermare che la versione che stava per installare sia autentica, quindi non ha installato nulla. Qualsiasi versione già presente continua a funzionare.

639 

640```text theme={null}

641Release verification failed for Claude Code <version> (<reason>). The update was not installed.

642```

643 

644Esegui il passaggio corrispondente al valore tra parentesi nel tuo messaggio:

645 

646* **Un valore che inizia con `sidecar_fetch_`**: esegui di nuovo lo stesso comando dalla tua shell. `claude update` è riuscito se stampa una riga che inizia con `Successfully updated from`, e `claude install` è riuscito se stampa `Claude Code successfully installed!`.

647* **Qualsiasi altro valore**: riprova lo stesso comando più tardi

648 

649Con qualsiasi valore, se il messaggio si ripete, [segnala il problema](#still-stuck) includendo il messaggio completo.

650 

651### `Auto-update failed · Run claude doctor` nel piè di pagina della sessione

652 

653Questa riga rossa significa che Claude Code ha tentato di aggiornarsi in background e l'aggiornamento non è stato installato. Puoi continuare a lavorare senza fare nulla.

654 

655La riga ti indirizza a `claude doctor`, la cui riga `Last update attempt: failed (install_failed)` fornisce una data ma non una causa. Per completare l'aggiornamento o scoprire perché è fallito, esegui invece `claude update` nella tua shell. Se anche quell'installazione fallisce, cerca l'errore stampato da `claude update` in [Trovare il tuo errore](#find-your-error).

656 

634### Comando di installazione errato su Windows657### Comando di installazione errato su Windows

635 658 

636Se vedi `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'` o `'bash' is not recognized as the name of a cmdlet`, hai copiato il comando di installazione per una shell o un sistema operativo diverso. Se il comando stampa il testo dello script invece di installare qualcosa, ne hai eseguito solo una parte.659Se vedi `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'` o `'bash' is not recognized as the name of a cmdlet`, hai copiato il comando di installazione per una shell o un sistema operativo diverso. Se il comando stampa il testo dello script invece di installare qualcosa, ne hai eseguito solo una parte.

Details

12| :- | :- |12| :- | :- |

13| `command not found`, l'installazione fallisce, problemi di PATH, `EACCES`, errori TLS | [Troubleshoot installation and login](/docs/it/troubleshoot-install) |13| `command not found`, l'installazione fallisce, problemi di PATH, `EACCES`, errori TLS | [Troubleshoot installation and login](/docs/it/troubleshoot-install) |

14| Il download dell'aggiornamento o dell'installazione fallisce con `The connection dropped while downloading the update` o `aborted` | [Risolvi i problemi di installazione e accesso](/docs/it/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |14| Il download dell'aggiornamento o dell'installazione fallisce con `The connection dropped while downloading the update` o `aborted` | [Risolvi i problemi di installazione e accesso](/docs/it/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

15| L'aggiornamento o l'installazione fallisce con `Release verification failed for Claude Code` | [Risolvi i problemi di installazione e accesso](/docs/it/troubleshoot-install#release-verification-failed) |

16| Il piè di pagina della sessione mostra `Auto-update failed · Run claude doctor` in rosso | [Risolvi i problemi di installazione e accesso](/docs/it/troubleshoot-install#auto-update-failed) |

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) |17| 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) |18| 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) |19| Sessione avviata in modalità auto, o Claude modifica file ed esegue comandi senza chiedere | [In quale modalità inizia una sessione](/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) |20| 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) |

19| `API Error: 5xx`, `529 Overloaded`, `429`, errori di convalida delle richieste | [Error reference](/docs/it/errors) |21| `API Error: 5xx`, `529 Overloaded`, `429`, errori di convalida delle richieste | [Error reference](/docs/it/errors) |

20| `model not found` o `you may not have access to it` | [Error reference](/docs/it/errors#theres-an-issue-with-the-selected-model) |22| `model not found` o `you may not have access to it` | [Error reference](/docs/it/errors#theres-an-issue-with-the-selected-model) |

vs-code.md +16 −3

Details

174* **Segnalibri**: passa il mouse su una risposta e fai clic su **Bookmark response** per salvarla, oppure fai clic su **Remove bookmark** su una risposta salvata per rimuoverla.174* **Segnalibri**: passa il mouse su una risposta e fai clic su **Bookmark response** per salvarla, oppure fai clic su **Remove bookmark** su una risposta salvata per rimuoverla.

175 175 

176 Per rivedere le risposte salvate, apri il pannello Bookmarks. Puoi fare clic sull'icona del segnalibro nella parte superiore del pannello di Claude Code, selezionare **Bookmarks** nella sezione Context del menu dei comandi oppure digitare `/bookmarks`. Richiede Claude Code v2.1.286 o versioni successive.176 Per rivedere le risposte salvate, apri il pannello Bookmarks. Puoi fare clic sull'icona del segnalibro nella parte superiore del pannello di Claude Code, selezionare **Bookmarks** nella sezione Context del menu dei comandi oppure digitare `/bookmarks`. Richiede Claude Code v2.1.286 o versioni successive.

177* **File che Claude ti invia**: quando la sessione è connessa a [Remote Control](/docs/it/remote-control#start-a-remote-control-session) e Claude ti invia file con lo [strumento `SendUserFile`](/docs/it/tools-reference), la conversazione mostra una riga come **Sent report.md, chart.png**. Fai clic sul nome di un file per aprirlo nell'editor.177* **File che Claude ti invia**: quando la sessione è connessa a [Remote Control](/docs/it/remote-control#start-a-remote-control-session) e Claude ti invia file con lo [strumento `SendUserFile`](/docs/it/tools-reference), la conversazione mostra una riga come **Sent report.md, chart.png**. Fai clic sul nome di un file per aprirlo nell'editor. La riga rimane visibile in Focus view. Richiede Claude Code v2.1.295 o versioni successive.

178 

179 Un file compare come percorso completo non cliccabile, come `\\server\share\report.md`, quando il suo percorso indica un host di rete. Claude Code non crea un link a quel file perché aprirlo contatterebbe quell'host e, su Windows, [potrebbe inviare le tue credenziali Windows a quell'host](/docs/it/permissions#read-only-commands).

178* **Indicatore del contesto**: la casella del prompt mostra quanta parte della finestra di contesto di Claude stai utilizzando. Claude esegue automaticamente la compattazione quando necessario, oppure puoi eseguire `/compact` manualmente.180* **Indicatore del contesto**: la casella del prompt mostra quanta parte della finestra di contesto di Claude stai utilizzando. Claude esegue automaticamente la compattazione quando necessario, oppure puoi eseguire `/compact` manualmente.

179* **Orologio della cache del prompt**: un'icona a forma di orologio accanto all'indicatore del contesto stima quanto tempo manca alla scadenza della [cache del prompt](/docs/it/prompt-caching) della conversazione. Effettua un conto alla rovescia a partire dalla [durata](/docs/it/prompt-caching#cache-lifetime) di cinque minuti o di un'ora della cache, e ogni risposta che utilizza la cache fa ripartire il conto alla rovescia. A parte la compattazione, le [azioni che invalidano la cache](/docs/it/prompt-caching#actions-that-invalidate-the-cache) non azzerano l'orologio, quindi può ancora mostrare minuti rimanenti dopo che hai cambiato modello.181* **Orologio della cache del prompt**: un'icona a forma di orologio accanto all'indicatore del contesto stima quanto tempo manca alla scadenza della [cache del prompt](/docs/it/prompt-caching) della conversazione. Effettua un conto alla rovescia a partire dalla [durata](/docs/it/prompt-caching#cache-lifetime) di cinque minuti o di un'ora della cache, e ogni risposta che utilizza la cache fa ripartire il conto alla rovescia. A parte la compattazione, le [azioni che invalidano la cache](/docs/it/prompt-caching#actions-that-invalidate-the-cache) non azzerano l'orologio, quindi può ancora mostrare minuti rimanenti dopo che hai cambiato modello.

180 * Finché il conto alla rovescia non si esaurisce, l'icona mostra i minuti rimanenti, come **12m**.182 * Finché il conto alla rovescia non si esaurisce, l'icona mostra i minuti rimanenti, come **12m**.


252 254 

253* **Titoli delle sessioni**: le nuove sessioni ricevono titoli generati dall'AI in base al tuo primo messaggio.255* **Titoli delle sessioni**: le nuove sessioni ricevono titoli generati dall'AI in base al tuo primo messaggio.

254* **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.256* **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.

257* **Conversazioni mancanti con [`claudeProcessWrapper`](#extension-settings) impostato**: aggiorna l'estensione alla versione 2.1.304 o successiva. L'elenco include quindi le conversazioni che mancavano, insieme alle sessioni avviate in questo workspace da `claude -p` o dall'[Agent SDK](/docs/it/agent-sdk/overview).

255 258 

256Se la conversazione è aperta in un altro processo di Claude Code, come `claude` in un terminale o un'altra finestra di VS Code, al posto della casella del prompt compare questo avviso:259Se la conversazione è aperta in un altro processo di Claude Code, come `claude` in un terminale o un'altra finestra di VS Code, al posto della casella del prompt compare questo avviso:

257 260 


308 311 

309* **Piano claude.ai**: barre di utilizzo per i limiti del tuo piano, come la sessione corrente e la settimana. Ogni barra mostra quanto manca al ripristino del relativo limite.312* **Piano claude.ai**: barre di utilizzo per i limiti del tuo piano, come la sessione corrente e la settimana. Ogni barra mostra quanto manca al ripristino del relativo limite.

310 313 

311 La finestra di dialogo mostra anche una ripartizione di ciò che contribuisce ai limiti del tuo piano. Segnala i comportamenti che rappresentano il 10% o più dell'utilizzo recente, come i cache miss, il contesto lungo e le sessioni con uso intensivo di subagent o altamente parallele. Ogni comportamento segnalato è accompagnato da un suggerimento per ridurlo. Le tabelle di attribuzione mostrano quanta parte dell'utilizzo proviene da ciascuna skill, subagent, plugin e server MCP.314 La finestra di dialogo mostra anche una ripartizione di ciò che contribuisce ai limiti del tuo piano:

315 

316 * **Suggerimenti**: modifiche che riducono il tuo utilizzo, una per riga con la quota dell'utilizzo recente a cui si riferisce, come `Trim ~/code/api/CLAUDE.md · 49k tokens per request`

317 * **Pulsante di correzione**: per fare in modo che Claude Code applichi i suggerimenti che è in grado di applicare, fai clic sul pulsante sotto di essi, come **Fix both**. Per sapere su quali righe agisce il pulsante e cosa succede poi nella tua sessione, consulta [Applicare i suggerimenti con la scorciatoia di correzione](/docs/it/costs#apply-recommendations-with-the-fix-shortcut). Richiede Claude Code v2.1.305 o versioni successive.

318 

319 Il pulsante non viene mostrato mentre [Remote Control](/docs/it/remote-control) è connesso. Se dopo la connessione di Remote Control compare un avviso con il testo `The usage fix wasn’t fully sent. Open usage and try again.`, [disconnetti Remote Control](/docs/it/remote-control#check-connection-status) prima di riprovare.

320 * **Attribuzione**: tabelle che mostrano quanta parte dell'utilizzo proviene da ciascuna skill, subagent, plugin e server MCP

312 321 

313 Usa l'interruttore Day e Week per passare dalle ultime 24 ore agli ultimi 7 giorni. I dati sono approssimativi e calcolati dalle sessioni locali su questa macchina, quindi l'utilizzo da altri dispositivi o da claude.ai non è incluso.322 Usa l'interruttore Day e Week per passare dalle ultime 24 ore agli ultimi 7 giorni. I dati sono approssimativi e calcolati dalle sessioni locali su questa macchina, quindi l'utilizzo da altri dispositivi o da claude.ai non è incluso.

314* **Altri metodi di accesso**: quando i limiti del piano non si applicano al tuo metodo di accesso, ad esempio con un [provider di terze parti](#use-third-party-providers) o con una chiave API, la sezione Usage mostra invece il costo e l'utilizzo dei token della sessione stessa. Il comando `/usage` della CLI mostra gli stessi totali nel suo [blocco Session](/docs/it/costs#track-your-costs). Anche l'elenco delle sessioni nella Activity Bar mostra i totali della sessione attiva sotto l'intestazione **Account & usage**. Richiede Claude Code v2.1.277 o versioni successive.323* **Altri metodi di accesso**: quando i limiti del piano non si applicano al tuo metodo di accesso, ad esempio con un [provider di terze parti](#use-third-party-providers) o con una chiave API, la sezione Usage mostra invece il costo e l'utilizzo dei token della sessione stessa. Il comando `/usage` della CLI mostra gli stessi totali nel suo [blocco Session](/docs/it/costs#track-your-costs). Anche l'elenco delle sessioni nella Activity Bar mostra i totali della sessione attiva sotto l'intestazione **Account & usage**. Richiede Claude Code v2.1.277 o versioni successive.


573 582 

574Per un comando shell in background, o per un [monitor](/docs/it/tools-reference#monitor-tool) che esegue un comando, la scheda mostra anche l'output più recente del comando e lo aggiorna mentre il comando è in esecuzione.583Per un comando shell in background, o per un [monitor](/docs/it/tools-reference#monitor-tool) che esegue un comando, la scheda mostra anche l'output più recente del comando e lo aggiorna mentre il comando è in esecuzione.

575 584 

585#### Visualizzare le chiamate agli strumenti di un subagent in background

586 

587Quando un subagent viene mostrato come un'unica riga di stato senza chiamate agli strumenti, digita `/tasks` nella casella del prompt per aprire la [mappa degli agenti](#use-the-prompt-box) e fai clic sul subagent lì. Il subagent è [in esecuzione in background](#the-run-in-background-action-is-missing-under-a-subagent) e la sua scheda mostra le sue chiamate agli strumenti e un pulsante che ne apre la trascrizione.

588 

576## Comandi e scorciatoie di VS Code589## Comandi e scorciatoie di VS Code

577 590 

578Per aprire il riquadro comandi, premi `Cmd+Shift+P` su Mac o `Ctrl+Shift+P` su Windows/Linux. Digita "Claude Code" per vedere tutti i comandi di VS Code disponibili per l'estensione Claude Code.591Per aprire il riquadro comandi, premi `Cmd+Shift+P` su Mac o `Ctrl+Shift+P` su Windows/Linux. Digita "Claude Code" per vedere tutti i comandi di VS Code disponibili per l'estensione Claude Code.


726 739 

727* **Le risposte di Claude**: l'estensione annuncia ogni risposta una sola volta, quando è completa, e resta in silenzio mentre il testo viene trasmesso. Lo screen reader legge i blocchi di codice come un riepilogo con il numero di righe, legge i link tramite la loro etichetta e legge le tabelle cella per cella; la risposta completa resta leggibile nella trascrizione.740* **Le risposte di Claude**: l'estensione annuncia ogni risposta una sola volta, quando è completa, e resta in silenzio mentre il testo viene trasmesso. Lo screen reader legge i blocchi di codice come un riepilogo con il numero di righe, legge i link tramite la loro etichetta e legge le tabelle cella per cella; la risposta completa resta leggibile nella trascrizione.

728* **Richieste di permesso e domande**: l'estensione annuncia una richiesta quando compare la relativa richiesta di permesso, indicando lo strumento che Claude vuole usare. Fa un annuncio analogo quando Claude ti pone una domanda e quando Claude termina un piano e attende la tua revisione.741* **Richieste di permesso e domande**: l'estensione annuncia una richiesta quando compare la relativa richiesta di permesso, indicando lo strumento che Claude vuole usare. Fa un annuncio analogo quando Claude ti pone una domanda e quando Claude termina un piano e attende la tua revisione.

729* **Cambi di stato**: l'estensione annuncia quando Claude inizia a lavorare, quando Claude è pronto per il tuo input e quando Claude Code inizia a compattare la conversazione.742* **Cambi di stato**: l'estensione annuncia quando Claude inizia a lavorare, quando Claude è pronto per il tuo input e quando Claude Code inizia a compattare la conversazione. Se invii un prompt mentre gli hook [SessionStart](/docs/it/hooks#sessionstart) della sessione sono ancora in esecuzione, lo screen reader dice anche "Running start-up hooks."

730* **Messaggi in coda**: quando invii un messaggio mentre Claude sta lavorando, l'estensione annuncia "Message queued." per quel messaggio.743* **Messaggi in coda**: quando invii un messaggio mentre Claude sta lavorando, l'estensione annuncia "Message queued." per quel messaggio.

731* **Errori e prompt del modello**: l'estensione annuncia gli errori nella conversazione e annuncia quando compare la [richiesta di consenso per i crediti di utilizzo](/docs/it/model-config#fable-and-usage-credits) o la [richiesta per le richieste segnalate](/docs/it/model-config#ask-before-switching).744* **Errori e prompt del modello**: l'estensione annuncia gli errori nella conversazione e annuncia quando compare la [richiesta di consenso per i crediti di utilizzo](/docs/it/model-config#fable-and-usage-credits) o la [richiesta per le richieste segnalate](/docs/it/model-config#ask-before-switching).

732 745 

workflows.md +2 −0

Details

376Claude Code riproduce l'esecuzione nell'ordine in cui gli agenti sono stati avviati, e ogni agente restituisce il suo risultato salvato oppure viene eseguito di nuovo:376Claude Code riproduce l'esecuzione nell'ordine in cui gli agenti sono stati avviati, e ogni agente restituisce il suo risultato salvato oppure viene eseguito di nuovo:

377 377 

378* **Completato**: restituisce il suo risultato salvato. Il primo agente il cui prompt differisce dall'esecuzione precedente, perché hai modificato lo script o un agente precedente ha restituito qualcosa di diverso, viene eseguito di nuovo, così come ogni agente dopo di esso, anche quelli che erano completati.378* **Completato**: restituisce il suo risultato salvato. Il primo agente il cui prompt differisce dall'esecuzione precedente, perché hai modificato lo script o un agente precedente ha restituito qualcosa di diverso, viene eseguito di nuovo, così come ogni agente dopo di esso, anche quelli che erano completati.

379 

380 Prima della v2.1.305, gli agenti completati potevano essere eseguiti di nuovo anche quando riavviavi uno script non modificato i cui elementi `pipeline()` o attività `parallel()` eseguivano più di un agente ciascuno. Per evitare queste riesecuzioni nelle nuove esecuzioni, aggiorna Claude Code.

379* **Ancora in esecuzione quando hai interrotto**: ricomincia. Interrompere l'intera esecuzione non conta alcun agente come non riuscito.381* **Ancora in esecuzione quando hai interrotto**: ricomincia. Interrompere l'intera esecuzione non conta alcun agente come non riuscito.

380* **Non riuscito**: viene eseguito di nuovo, così come ogni agente che è stato avviato dopo di esso, anche quelli che erano completati. Interrompere un solo agente, selezionandolo in [`/workflows`](#watch-the-run) e premendo `x`, conta come non riuscito.382* **Non riuscito**: viene eseguito di nuovo, così come ogni agente che è stato avviato dopo di esso, anche quelli che erano completati. Interrompere un solo agente, selezionandolo in [`/workflows`](#watch-the-run) e premendo `x`, conta come non riuscito.

381 383 

worktrees.md +1 −0

Details

58 58 

59* **Il worktree è pulito**: per una sessione senza nome, Claude rimuove il worktree e il suo branch automaticamente. Una sessione [denominata](/docs/it/sessions#name-your-sessions) vi chiede prima in modo da poter mantenere il worktree per dopo59* **Il worktree è pulito**: per una sessione senza nome, Claude rimuove il worktree e il suo branch automaticamente. Una sessione [denominata](/docs/it/sessions#name-your-sessions) vi chiede prima in modo da poter mantenere il worktree per dopo

60* **Il worktree ha lavoro in esso**: Claude vi chiede di mantenere o rimuovere il worktree. Mantenere preserva la directory e il branch. Per tornare in seguito, eseguite il comando `claude --worktree <name> --resume` che Claude Code stampa all'uscita. Rimuovere elimina la directory del worktree e il suo branch, insieme a tutto il lavoro in essi60* **Il worktree ha lavoro in esso**: Claude vi chiede di mantenere o rimuovere il worktree. Mantenere preserva la directory e il branch. Per tornare in seguito, eseguite il comando `claude --worktree <name> --resume` che Claude Code stampa all'uscita. Rimuovere elimina la directory del worktree e il suo branch, insieme a tutto il lavoro in essi

61* **È estratto un altro branch**: se il worktree si trova su un branch diverso dal proprio che ha commit successivi al commit iniziale del worktree, Claude ti chiede di mantenere o rimuovere il worktree. Entrambe le risposte mantengono quell'altro branch e i suoi commit. Rimuovere elimina la directory del worktree e il branch proprio del worktree, quello che Claude ha creato insieme a esso

61* **Lo stato del worktree non può essere verificato**: quando Claude Code non riesce a contare i cambiamenti del worktree o non riesce a ispezionare i checkout dei suoi submodule, vi chiede piuttosto che rimuovere il worktree automaticamente. Il prompt nomina ciò che non ha potuto controllare62* **Lo stato del worktree non può essere verificato**: quando Claude Code non riesce a contare i cambiamenti del worktree o non riesce a ispezionare i checkout dei suoi submodule, vi chiede piuttosto che rimuovere il worktree automaticamente. Il prompt nomina ciò che non ha potuto controllare

62 63 

63Le esecuzioni non interattive con `-p` non hanno un prompt di uscita, quindi Claude non pulisce i loro worktree, e Claude Code lascia il blocco che ha preso su ognuno al momento della creazione in posizione fino a quando una [scansione di blocco stale](#clean-up-subagent-and-background-session-worktrees) successiva della sessione lo rilascia. Per rimuoverne uno, eseguite `git worktree remove`; se git rifiuta perché il worktree è bloccato, eseguite prima `git worktree unlock` su di esso.64Le esecuzioni non interattive con `-p` non hanno un prompt di uscita, quindi Claude non pulisce i loro worktree, e Claude Code lascia il blocco che ha preso su ognuno al momento della creazione in posizione fino a quando una [scansione di blocco stale](#clean-up-subagent-and-background-session-worktrees) successiva della sessione lo rilascia. Per rimuoverne uno, eseguite `git worktree remove`; se git rifiuta perché il worktree è bloccato, eseguite prima `git worktree unlock` su di esso.