SpyBara
Go Premium

Documentation 2026-09-13 21:00 UTC to 2026-09-14 22:58 UTC

49 files changed +3,161 −1,007. View all changes and history on the product overview
2026
Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sun 13 21:00 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02

admin-setup.md +1 −3

Details

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

84 84 

85* Distribuisci `wslInheritsWindowsSettings: true` attraverso il registro HKLM o il file `C:\Program Files\ClaudeCode` in modo che le sessioni WSL ereditino la stessa policy delle sessioni host.85* Distribuisci `wslInheritsWindowsSettings: true` attraverso il registro HKLM o il file `C:\Program Files\ClaudeCode` in modo che le sessioni WSL ereditino la stessa policy delle sessioni host.

86* Verifica eseguendo `/status` all'interno di una sessione WSL e leggendo la riga `Setting sources`. Claude Code nomina solo la [fonte gestita che ha selezionato](/docs/it/server-managed-settings#settings-precedence), quindi quello che la riga ti dice dipende dalla sessione:86* Verifica eseguendo `/status` all'interno di una sessione WSL e leggendo la riga `Setting sources`. Per interpretare ciò che elenca, vedi [Leggi la fonte in /status](/docs/it/managed-settings#read-the-source-in-/status).

87 * **In una sessione che [recupera le impostazioni gestite dal server](/docs/it/server-managed-settings#platform-availability) e riceve qualsiasi chiave**: `Enterprise managed settings (remote)`, perché Claude Code le seleziona prima delle fonti Windows, quindi la riga non mostra se il flag è arrivato.

88 * **In qualsiasi altra sessione**: `Enterprise managed settings (HKLM)` conferma una distribuzione del registro. `(file)` nomina il file Windows o il `managed-settings.json` di `/etc/claude-code` della distribuzione stessa, quindi conferma una distribuzione di file Windows solo quando la distribuzione non ha un file gestito proprio.

89 87 

90I processi all'interno della VM utility WSL 2 non sono visibili ai sensori di rilevamento endpoint lato Windows. Per osservare l'attività dei processi e dei file all'interno della distribuzione, controlla la guida WSL del tuo fornitore di rilevamento endpoint per un sensore Linux che puoi eseguire all'interno della distribuzione e le esclusioni di cui ha bisogno. La [telemetria di esecuzione dello strumento OpenTelemetry](/docs/it/monitoring-usage) di Claude Code viene emessa in modo identico per le sessioni WSL e native.88I processi all'interno della VM utility WSL 2 non sono visibili ai sensori di rilevamento endpoint lato Windows. Per osservare l'attività dei processi e dei file all'interno della distribuzione, controlla la guida WSL del tuo fornitore di rilevamento endpoint per un sensore Linux che puoi eseguire all'interno della distribuzione e le esclusioni di cui ha bisogno. La [telemetria di esecuzione dello strumento OpenTelemetry](/docs/it/monitoring-usage) di Claude Code viene emessa in modo identico per le sessioni WSL e native.

91 89 

advisor.md +10 −7

Details

98L'advisor deve essere almeno altrettanto capace del modello principale. Gli advisor accettati per ogni modello principale sono:98L'advisor deve essere almeno altrettanto capace del modello principale. Gli advisor accettati per ogni modello principale sono:

99 99 

100| Modello principale | Advisor accettati | Note |100| Modello principale | Advisor accettati | Note |

101| --------------------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |101| ------------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |

102| Haiku 4.5 | Fable, Opus, Sonnet | Haiku può chiamare l'advisor ma non può agire come uno |102| Haiku 4.5 | Fable, Opus, Sonnet | Haiku può chiamare l'advisor ma non può agire come uno |

103| Sonnet 4.6 | Fable, Opus, Sonnet | |103| Sonnet 4.6 | Fable, Opus, Sonnet | |

104| Sonnet 5 | Fable, Opus, Sonnet 5 | Un advisor Sonnet 4.6 viene rifiutato |104| Sonnet 5 | Fable, Opus 4.7 o successivo, Sonnet 5 | Un advisor Sonnet 4.6 viene rifiutato e le richieste con un advisor Opus 4.6 falliscono con un errore API |

105| Opus 4.6 | Fable, Opus, Sonnet 5 | Sonnet 5 e Opus 4.6 sono classificati come ugualmente capaci, quindi un Opus 4.6 principale accetta un advisor Sonnet 5 |105| Opus 4.6 | Fable, Opus, Sonnet 5 | Un advisor Sonnet 4.6 viene rifiutato |

106| Opus 4.7 o successivo | Fable, e Opus 4.7 o successivo | Opus 4.7 e i modelli Opus successivi sono classificati come ugualmente capaci, quindi uno qualsiasi di essi accetta un altro come advisor. Un Opus 4.7 principale con un advisor Opus 4.6 o Sonnet 5 viene rifiutato |106| Opus 4.7 o Opus 4.8 | Fable, e Opus 4.7 o successivo | Un advisor Opus 4.6 o Sonnet viene rifiutato |

107| Fable 5.1 o Fable 5 | Fable 5.1 o Fable 5 | Un advisor Opus o Sonnet viene rifiutato |107| Opus 5 | Fable, Opus 5 | Un advisor Opus 4.6 o Sonnet viene rifiutato e le richieste con un advisor Opus 4.7 o Opus 4.8 falliscono con un errore API |

108| Fable 5 | Fable 5.1 o Fable 5 | Un advisor Opus o Sonnet viene rifiutato |

109| Fable 5.1 | Fable 5.1 | Un advisor Opus o Sonnet viene rifiutato e le richieste con un advisor Fable 5 falliscono con un errore API |

108 110 

109Fable 5.1 richiede Claude Code v2.1.257 o successivo. Entrambi i modelli Fable richiedono [accesso a Fable](/docs/it/model-config#work-with-fable).111Fable 5.1 richiede Claude Code v2.1.257 o successivo. Entrambi i modelli Fable richiedono [accesso a Fable](/docs/it/model-config#work-with-fable).

110 112 


112 114 

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

114 116 

115Claude Code convalida l'accoppiamento prima di inviare una richiesta:117Claude Code convalida l'accoppiamento prima di inviare una richiesta e l'API lo convalida di nuovo:

116 118 

117* Se l'advisor è meno capace del modello principale, l'advisor non è allegato alle richieste del modello principale. L'output del comando `/advisor` e una notifica mostrano questo. I subagent il cui modello soddisfa l'accoppiamento possono comunque utilizzare l'advisor.119* Per un advisor che la tabella elenca come rifiutato, Claude Code non lo allega alle richieste del modello principale. L'output del comando `/advisor` e una notifica mostrano questo. I subagent il cui modello soddisfa l'accoppiamento possono comunque utilizzare l'advisor.

120* Per un advisor che la tabella elenca come fallimento con un errore API, Claude Code lo allega e l'API lo rifiuta. Ogni richiesta fallisce con `'<advisor model>' cannot be used as an advisor when the request model is '<main model>'` finché non modifichi l'advisor con `/advisor` o lo disattivi.

118* Se il modello principale o l'advisor è un modello che Claude Code non riconosce, l'advisor non è allegato.121* Se il modello principale o l'advisor è un modello che Claude Code non riconosce, l'advisor non è allegato.

119 122 

120<h3 id="fable-advisor-and-usage-credits">123<h3 id="fable-advisor-and-usage-credits">

Details

62 * `"init"`: metadati della sessione per l'esecuzione. Quando un hook `SessionStart` o `Setup` viene eseguito durante l'avvio della sessione, i suoi [messaggi del ciclo di vita dell'hook](/docs/it/agent-sdk/typescript#sdkhookstartedmessage) arrivano prima del messaggio `init`62 * `"init"`: metadati della sessione per l'esecuzione. Quando un hook `SessionStart` o `Setup` viene eseguito durante l'avvio della sessione, i suoi [messaggi del ciclo di vita dell'hook](/docs/it/agent-sdk/typescript#sdkhookstartedmessage) arrivano prima del messaggio `init`

63 * `"compact_boundary"`: si attiva dopo la [compattazione](#automatic-compaction)63 * `"compact_boundary"`: si attiva dopo la [compattazione](#automatic-compaction)

64 * `"informational"`: banner di stato in testo semplice dal ciclo64 * `"informational"`: banner di stato in testo semplice dal ciclo

65 * `"worker_shutting_down"`: il ciclo terminerà dopo il turno corrente perché l'host sta uscendo o Remote Control si è disconnesso65 * `"worker_shutting_down"`: l'host sta uscendo o Remote Control si è disconnesso

66 66 

67 In TypeScript, ogni sottotipo diverso da `"init"` è il suo proprio tipo nell'unione [`SDKMessage`](/docs/it/agent-sdk/typescript#sdkmessage) piuttosto che un sottotipo di `SDKSystemMessage`.67 In TypeScript, ogni sottotipo diverso da `"init"` è il suo proprio tipo nell'unione [`SDKMessage`](/docs/it/agent-sdk/typescript#sdkmessage) piuttosto che un sottotipo di `SDKSystemMessage`.

68* **`AssistantMessage`:** emesso per ogni blocco di contenuto nelle risposte di Claude, incluso quello finale solo di testo. Ogni messaggio contiene un singolo blocco di contenuto, come testo o una chiamata di strumento, e i messaggi da una risposta condividono un ID messaggio.68* **`AssistantMessage`:** emesso per ogni blocco di contenuto nelle risposte di Claude, incluso quello finale solo di testo. Ogni messaggio contiene un singolo blocco di contenuto, come testo o una chiamata di strumento, e i messaggi da una risposta condividono un ID messaggio.


238| `"xhigh"` | Profondità di ragionamento estesa | Attività di codifica e agentic sui [modelli che lo supportano](/docs/it/model-config#adjust-effort-level) |238| `"xhigh"` | Profondità di ragionamento estesa | Attività di codifica e agentic sui [modelli che lo supportano](/docs/it/model-config#adjust-effort-level) |

239| `"max"` | Profondità di ragionamento massima | Problemi multi-step che richiedono analisi profonda |239| `"max"` | Profondità di ragionamento massima | Problemi multi-step che richiedono analisi profonda |

240 240 

241Se non impostate `effort`, entrambi gli SDK lasciano il parametro non impostato e rimandano al comportamento predefinito del modello.241Se non impostate `effort`, Claude Code risolve il livello di sforzo da solo, nell'ordine che [Regolare il livello di sforzo](/docs/it/model-config#adjust-effort-level) descrive.

242 242 

243<Note>243<Note>

244 `effort` scambia latenza e costo dei token per profondità di ragionamento all'interno di ogni risposta. [Extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) è una funzione separata che produce blocchi di `thinking` nell'output, e il campo `display` su `ThinkingConfig` per [Python](/docs/it/agent-sdk/python#thinkingconfig) o [TypeScript](/docs/it/agent-sdk/typescript#thinkingconfig) controlla se ricevete il loro testo. Sono indipendenti: potete impostare `effort: "low"` con extended thinking abilitato, o `effort: "max"` senza di esso.244 `effort` scambia latenza e costo dei token per profondità di ragionamento all'interno di ogni risposta. [Extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) è una funzione separata che produce blocchi di `thinking` nell'output, e il campo `display` su `ThinkingConfig` per [Python](/docs/it/agent-sdk/python#thinkingconfig) o [TypeScript](/docs/it/agent-sdk/typescript#thinkingconfig) controlla se ricevete il loro testo. Sono indipendenti: potete impostare `effort: "low"` con extended thinking abilitato, o `effort: "max"` senza di esso.


357| `success` | Claude ha completato l'attività normalmente | Sì |357| `success` | Claude ha completato l'attività normalmente | Sì |

358| `error_max_turns` | Ha raggiunto il limite di `maxTurns` prima di terminare | No |358| `error_max_turns` | Ha raggiunto il limite di `maxTurns` prima di terminare | No |

359| `error_max_budget_usd` | Ha raggiunto il limite di `maxBudgetUsd` prima di terminare | No |359| `error_max_budget_usd` | Ha raggiunto il limite di `maxBudgetUsd` prima di terminare | No |

360| `error_during_execution` | Un errore ha interrotto il ciclo (ad esempio, un errore API o una richiesta annullata) | No |360| `error_during_execution` | Un errore ha interrotto il ciclo (ad esempio, una richiesta annullata) | No |

361| `error_max_structured_output_retries` | Nessun output strutturato valido è stato prodotto entro il limite di tentativi configurato: ogni tentativo ha fallito la convalida, oppure un fallback del modello ha ritrattato l'output completato senza alcun tentativo riuscito | No |361| `error_max_structured_output_retries` | Nessun output strutturato valido è stato prodotto entro il limite di tentativi configurato: ogni tentativo ha fallito la convalida, oppure un fallback del modello ha ritrattato l'output completato senza alcun tentativo riuscito | No |

362 362 

363Il campo `result` contiene l'output di testo finale ed è presente solo sulla variante `success`, quindi controllate sempre il sottotipo prima di leggerlo.363Il campo `result` contiene l'output di testo finale ed è presente solo sulla variante `success`, quindi controllate sempre il sottotipo prima di leggerlo.

Details

196* **Filesystem hooks:** comandi shell definiti in `settings.json`, caricati quando `settingSources` include la fonte rilevante. Questi sono gli stessi hooks che configureresti per [sessioni interattive di Claude Code](/docs/it/hooks-guide).196* **Filesystem hooks:** comandi shell definiti in `settings.json`, caricati quando `settingSources` include la fonte rilevante. Questi sono gli stessi hooks che configureresti per [sessioni interattive di Claude Code](/docs/it/hooks-guide).

197* **Programmatic hooks:** funzioni di callback passate direttamente a `query()`. Questi vengono eseguiti nel tuo processo di applicazione e possono restituire decisioni strutturate. Vedi [Controlla l'esecuzione con gli hooks](/docs/it/agent-sdk/hooks).197* **Programmatic hooks:** funzioni di callback passate direttamente a `query()`. Questi vengono eseguiti nel tuo processo di applicazione e possono restituire decisioni strutturate. Vedi [Controlla l'esecuzione con gli hooks](/docs/it/agent-sdk/hooks).

198 198 

199Entrambi i tipi vengono eseguiti durante lo stesso ciclo di vita degli hooks. Se hai già degli hooks nel file `.claude/settings.json` del tuo progetto e imposti `settingSources: ["project"]`, quegli hooks vengono eseguiti automaticamente nell'SDK senza configurazione aggiuntiva.

200 

201I callback degli hooks ricevono l'input dello strumento e restituiscono un dict di decisione. Restituire `{}` significa consentire allo strumento di procedere. Per bloccare l'esecuzione, restituisci un oggetto `hookSpecificOutput` con `permissionDecision: "deny"` e un `permissionDecisionReason`. Il motivo viene inviato a Claude come risultato dello strumento. Vedi la [guida degli hooks](/docs/it/agent-sdk/hooks) per la firma completa del callback e i tipi di ritorno.199I callback degli hooks ricevono l'input dello strumento e restituiscono un dict di decisione. Restituire `{}` significa consentire allo strumento di procedere. Per bloccare l'esecuzione, restituisci un oggetto `hookSpecificOutput` con `permissionDecision: "deny"` e un `permissionDecisionReason`. Il motivo viene inviato a Claude come risultato dello strumento. Vedi la [guida degli hooks](/docs/it/agent-sdk/hooks) per la firma completa del callback e i tipi di ritorno.

202 200 

203<CodeGroup>201<CodeGroup>

Details

589 Effettuare richieste HTTP dagli hooks589 Effettuare richieste HTTP dagli hooks

590</h3>590</h3>

591 591 

592Gli hooks possono eseguire operazioni asincrone come richieste HTTP. Catturate gli errori all'interno del vostro hook invece di lasciarli propagare, poiché un'eccezione non gestita può interrompere l'agente.592Gli hooks possono eseguire operazioni asincrone come richieste HTTP. Catturate gli errori all'interno del vostro hook invece di lasciarli propagare.

593 593 

594Questo esempio invia un webhook dopo il completamento di ogni strumento, registrando quale strumento è stato eseguito e quando. L'hook cattura gli errori in modo che un webhook non riuscito non interrompa l'agente:594Questo esempio invia un webhook dopo il completamento di ogni strumento, registrando quale strumento è stato eseguito e quando. L'hook cattura gli errori da un webhook non riuscito:

595 595 

596<CodeGroup>596<CodeGroup>

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


627 # Run the blocking HTTP call in a thread to avoid blocking the event loop627 # Run the blocking HTTP call in a thread to avoid blocking the event loop

628 await asyncio.to_thread(_send_webhook, input_data["tool_name"])628 await asyncio.to_thread(_send_webhook, input_data["tool_name"])

629 except Exception as e:629 except Exception as e:

630 # Log the error but don't raise. A failed webhook shouldn't stop the agent630 # Log the error but don't raise

631 print(f"Webhook request failed: {e}")631 print(f"Webhook request failed: {e}")

632 632 

633 return {}633 return {}


656 if (error instanceof Error && error.name === "AbortError") {656 if (error instanceof Error && error.name === "AbortError") {

657 console.log("Webhook request cancelled");657 console.log("Webhook request cancelled");

658 }658 }

659 // Don't re-throw. A failed webhook shouldn't stop the agent659 // Don't re-throw

660 }660 }

661 661 

662 return {};662 return {};


901 901 

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

903 903 

904* Controllate un indicatore di subagente nell'input dell'hook prima di avviare

905* Utilizzate una variabile condivisa o lo stato della sessione per tracciare se siete già all'interno di un subagente904* Utilizzate una variabile condivisa o lo stato della sessione per tracciare se siete già all'interno di un subagente

906* Limitate gli hook per l'esecuzione solo per la sessione dell'agente di livello superiore905* Limitate gli hook per l'esecuzione solo per la sessione dell'agente di livello superiore

907 906 

Details

162| :--------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ |162| :--------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ |

163| server stdio, o server HTTP/SSE senza un elenco di strumenti memorizzato nella cache | Sì, fino a quando non si connette | [`MCP_TIMEOUT`](/docs/it/env-vars), 30 secondi per impostazione predefinita; la connessione non riesce a quella scadenza |163| server stdio, o server HTTP/SSE senza un elenco di strumenti memorizzato nella cache | Sì, fino a quando non si connette | [`MCP_TIMEOUT`](/docs/it/env-vars), 30 secondi per impostazione predefinita; la connessione non riesce a quella scadenza |

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

165| Server [SDK](#sdk-mcp-servers) in-process | No; non ritarda mai il primo turno | Nessuno |165| Server [SDK](#sdk-mcp-servers) in-process | Sì, fino a quando non si connette e non elenca i suoi strumenti | Nessuno; le richieste di connessione e di elenco degli strumenti hanno ciascuna il loro proprio timeout |

166 166 

167Per bloccare l'avvio stesso in una fase separata e precedente rispetto all'attesa del primo turno, prima che il messaggio init sia inviato:167Per bloccare l'avvio stesso in una fase separata e precedente rispetto all'attesa del primo turno, prima che il messaggio init sia inviato:

168 168 

Details

160 const options = { settings: { outputStyle: "Explanatory" } };160 const options = { settings: { outputStyle: "Explanatory" } };

161 ```161 ```

162 162 

163L'SDK Python non ha un'opzione per selezionare uno stile di output a livello di programmazione. Per distribuzioni solo codice dove non potete scrivere in `.claude/settings.local.json`, usate `append` o una stringa di prompt personalizzata invece.163Nell'SDK Python, impostate `outputStyle` tramite l'opzione `settings`, che accetta una stringa JSON come `'{"outputStyle": "Explanatory"}'` o un percorso a un file di impostazioni che lo imposta.

164 164 

165**Nota per gli utenti dell'SDK:** Gli stili di output vengono caricati quando includete `settingSources: ['user']` o `settingSources: ['project']` (TypeScript) / `setting_sources=["user"]` o `setting_sources=["project"]` (Python) nelle vostre opzioni.165**Nota per gli utenti dell'SDK:** Gli stili di output vengono caricati quando includete `settingSources: ['user']` o `settingSources: ['project']` (TypeScript) / `setting_sources=["user"]` o `setting_sources=["project"]` (Python) nelle vostre opzioni.

166 166 

Details

6 6 

7> Controlla come il tuo agente utilizza gli strumenti con modalità di permesso, hook e regole dichiarative di consentimento/negazione.7> Controlla come il tuo agente utilizza gli strumenti con modalità di permesso, hook e regole dichiarative di consentimento/negazione.

8 8 

9Claude Agent SDK fornisce controlli di permesso per gestire come Claude utilizza gli strumenti. Utilizza modalità di permesso e regole per definire cosa è consentito automaticamente, e il callback [`canUseTool`](/docs/it/agent-sdk/user-input) per gestire tutto il resto in fase di esecuzione.9Claude Agent SDK fornisce controlli di permesso per gestire come Claude utilizza gli strumenti. Utilizza modalità di permesso e regole per definire ciò che è consentito automaticamente, e il callback [`canUseTool`](/docs/it/agent-sdk/user-input) per gestire tutto il resto in fase di esecuzione.

10 10 

11<h2 id="how-permissions-are-evaluated">11<h2 id="how-permissions-are-evaluated">

12 Come vengono valutati i permessi12 Come vengono valutate le autorizzazioni

13</h2>13</h2>

14 14 

15Quando Claude richiede uno strumento, l'SDK controlla i permessi in questo ordine:15Quando Claude richiede uno strumento, l'SDK controlla le autorizzazioni in questo ordine:

16 16 

17<Steps>17<Steps>

18 <Step title="Hooks">18 <Step title="Hooks">

19 Esegui [hooks](/docs/it/agent-sdk/hooks) per primo. Un hook può negare la chiamata completamente o trasmetterla. Un hook che restituisce `allow` non salta le regole di negazione e richiesta di seguito; quelle vengono valutate indipendentemente dal risultato dell'hook. Un hook `PreToolUse` allow inoltre non può approvare una rimozione `rm` o `rmdir` che prende di mira un [percorso critico](/docs/it/permission-modes#critical-paths).19 Eseguire prima gli [hooks](/docs/it/agent-sdk/hooks). Un hook può negare la chiamata completamente o lasciarla passare. Un hook che restituisce `allow` non salta le regole di negazione e richiesta di seguito; quelle vengono valutate indipendentemente dal risultato dell'hook. Un hook `PreToolUse` allow inoltre non può approvare una rimozione `rm` o `rmdir` che prende di mira un [percorso critico](/docs/it/permission-modes#critical-paths).

20 </Step>20 </Step>

21 21 

22 <Step title="Regole di negazione">22 <Step title="Regole di negazione">

23 Controlla le regole `deny` (da `disallowed_tools` e [settings.json](/docs/it/settings-reference#permission-settings)). Se una regola di negazione corrisponde, lo strumento viene bloccato, anche in modalità `bypassPermissions`. Le regole di negazione con nome semplice come `Bash` rimuovono lo strumento dal contesto di Claude prima che questa valutazione inizi, quindi solo le regole con ambito come `Bash(rm *)` vengono controllate in questo passaggio.23 Controllare le regole `deny` (da `disallowed_tools` e [settings.json](/docs/it/settings-reference#permission-settings)). Se una regola di negazione corrisponde, lo strumento viene bloccato, anche in modalità `bypassPermissions`. Le regole di negazione con nome semplice come `Bash` rimuovono lo strumento dal contesto di Claude prima che questa valutazione inizi, quindi solo le regole con ambito come `Bash(rm *)` vengono controllate in questo passaggio.

24 </Step>24 </Step>

25 25 

26 <Step title="Regole di richiesta">26 <Step title="Regole di richiesta">

27 Controlla le regole `ask` da [settings.json](/docs/it/settings-reference#permission-settings). Se una regola di richiesta corrisponde, la chiamata passa al tuo callback [`canUseTool`](/docs/it/agent-sdk/user-input) per la conferma, anche in modalità `bypassPermissions`.27 Controllare le regole `ask` da [settings.json](/docs/it/settings-reference#permission-settings). Se una regola di richiesta corrisponde, la chiamata passa al vostro callback [`canUseTool`](/docs/it/agent-sdk/user-input) per la conferma, anche in modalità `bypassPermissions`.

28 28 

29 Gli strumenti che richiedono l'interazione dell'utente si comportano allo stesso modo: `AskUserQuestion` e gli strumenti MCP il cui server imposta [`_meta["anthropic/requiresUserInteraction"]`](/docs/it/mcp#require-approval-for-a-specific-tool) passano sempre al callback, anche quando una regola di consentimento corrisponde. In modalità `dontAsk` entrambi i casi vengono negati invece, perché quella modalità non richiede mai conferma. L'annotazione MCP richiede Claude Code v2.1.199 o successivo.29 Gli strumenti che richiedono l'interazione dell'utente si comportano allo stesso modo: `AskUserQuestion` e gli strumenti MCP il cui server imposta [`_meta["anthropic/requiresUserInteraction"]`](/docs/it/mcp#require-approval-for-a-specific-tool) passano sempre al callback, anche quando una regola di autorizzazione corrisponde. In modalità `dontAsk` entrambi i casi vengono negati, perché quella modalità non richiede mai. L'annotazione MCP richiede Claude Code v2.1.199 o successivo.

30 30 

31 Gli strumenti del connettore [claude.ai](/docs/it/mcp#organization-controls-on-connector-tools) che la tua organizzazione ha impostato su `ask` lasciano anche il flusso in questo passaggio. Ogni chiamata passa al callback, anche in modalità `bypassPermissions` e anche quando una regola di consentimento corrisponde. Il callback riceve il motivo `La tua organizzazione richiede l'approvazione per questo strumento`. In modalità `dontAsk` la chiamata viene negata invece, perché quella modalità non richiede mai conferma.31 Gli strumenti del connettore [claude.ai](/docs/it/mcp#organization-controls-on-connector-tools) che la vostra organizzazione ha impostato su `ask` lasciano anche il flusso in questo passaggio. Ogni chiamata passa al callback, anche in modalità `bypassPermissions` e anche quando una regola di autorizzazione corrisponde. Il callback riceve il motivo `Your organization requires approval for this tool`. In modalità `dontAsk` la chiamata viene negata, perché quella modalità non richiede mai.

32 </Step>32 </Step>

33 33 

34 <Step title="Modalità di permesso">34 <Step title="Modalità di autorizzazione">

35 Applica la [modalità di permesso](#permission-modes) attiva:35 Applicare la [modalità di autorizzazione](#permission-modes) attiva:

36 36 

37 * In modalità `bypassPermissions`, Claude Code approva tutto ciò che raggiunge questo passaggio tranne le rimozioni `rm` e `rmdir` che prendono di mira un [percorso critico](/docs/it/permission-modes#critical-paths), che passano invece.37 * In modalità `bypassPermissions`, Claude Code approva tutto ciò che raggiunge questo passaggio tranne le rimozioni `rm` e `rmdir` che prendono di mira un [percorso critico](/docs/it/permission-modes#critical-paths), che passano invece.

38 * In modalità `acceptEdits`, Claude Code approva le operazioni su file elencate in [Modalità accetta modifiche](#accept-edits-mode-acceptedits).38 * In modalità `acceptEdits`, Claude Code approva le operazioni su file elencate in [Modalità accetta modifiche](#accept-edits-mode-acceptedits).

39 * In modalità `plan`, Claude Code invia gli strumenti di modifica file e scrittura shell al tuo callback `canUseTool` indipendentemente dalle regole di consentimento, quindi le operazioni di scrittura non possono essere approvate automaticamente durante la pianificazione.39 * In modalità `plan`, Claude Code invia gli strumenti di modifica file e scrittura shell al vostro callback `canUseTool` indipendentemente dalle regole di autorizzazione, in modo che le operazioni di scrittura non possano essere approvate automaticamente durante la pianificazione.

40 * Nelle altre modalità, la richiesta passa oltre.40 * In altre modalità, la richiesta passa.

41 </Step>41 </Step>

42 42 

43 <Step title="Regole di consentimento">43 <Step title="Regole di autorizzazione">

44 Controlla le regole `allow` (da `allowed_tools` e settings.json). Se una regola corrisponde, lo strumento viene approvato. Una chiamata che lo strumento approva da solo viene risolta in questo passaggio anche, senza alcuna regola necessaria: ad esempio una lettura di file all'interno delle tue directory di lavoro o un [comando Bash di sola lettura](/docs/it/permissions#read-only-commands). Le rimozioni `rm` e `rmdir` che prendono di mira un [percorso critico](/docs/it/permission-modes#critical-paths) non vengono mai approvate da una regola di consentimento: raggiungono il tuo callback nelle modalità che richiedono conferma, vanno al [classificatore](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) in modalità `auto` su Claude Code v2.1.218 o successivo, e vengono negate in modalità `dontAsk`.44 Controllare le regole `allow` (da `allowed_tools` e settings.json). Se una regola corrisponde, lo strumento viene approvato. Una chiamata che lo strumento approva da solo viene risolta in questo passaggio, senza alcuna regola necessaria: ad esempio una lettura di file all'interno delle vostre directory di lavoro o un [comando Bash di sola lettura](/docs/it/permissions#read-only-commands). Le rimozioni `rm` e `rmdir` che prendono di mira un [percorso critico](/docs/it/permission-modes#critical-paths) non vengono mai approvate da una regola di autorizzazione: raggiungono il vostro callback nelle modalità che richiedono, vanno al [classificatore](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) in modalità `auto` su Claude Code v2.1.218 o successivo, e vengono negate in modalità `dontAsk`.

45 </Step>45 </Step>

46 46 

47 <Step title="Callback canUseTool">47 <Step title="Callback canUseTool">

48 Se non risolto da nessuno dei precedenti, chiama il tuo callback [`canUseTool`](/docs/it/agent-sdk/user-input) per una decisione. In modalità `dontAsk`, questo passaggio viene saltato e lo strumento viene negato.48 Se non risolto da nessuno dei precedenti, chiamare il vostro callback [`canUseTool`](/docs/it/agent-sdk/user-input) per una decisione. In modalità `dontAsk`, questo passaggio viene saltato e lo strumento viene negato.

49 49 

50 Nell'SDK TypeScript, se imposti [`permissionPrompts: 'none'`](/docs/it/agent-sdk/typescript#options), il tuo callback non viene chiamato in questo passaggio. Un hook [`PermissionRequest`](/docs/it/hooks#permissionrequest) ha ancora la possibilità di decidere, e se non lo fa, Claude Code nega la chiamata. L'opzione richiede Claude Code v2.1.259 o successivo.50 Nell'SDK TypeScript, se impostate [`permissionPrompts: 'none'`](/docs/it/agent-sdk/typescript#options), il vostro callback non viene chiamato in questo passaggio. Un hook [`PermissionRequest`](/docs/it/hooks#permissionrequest) ha ancora la possibilità di decidere, e se non lo fa, Claude Code nega la chiamata. L'opzione richiede Claude Code v2.1.259 o successivo.

51 </Step>51 </Step>

52</Steps>52</Steps>

53 53 

54<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" className="dark:hidden" alt="Diagramma del flusso di valutazione dei permessi in sei passaggi che corrisponde ai passaggi precedenti: una richiesta di strumento passa attraverso hook, regole di negazione, regole di richiesta, modalità di permesso, regole di consentimento e canUseTool. Hook, regole di negazione e canUseTool possono instradare verso Bloccato; bypass della modalità di permesso, regole di consentimento e canUseTool possono instradare verso Esegui; regole di richiesta instradano verso canUseTool." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />54<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" className="dark:hidden" alt="Diagramma del flusso di valutazione delle autorizzazioni in sei passaggi che corrisponde ai passaggi precedenti: una richiesta di strumento passa attraverso hook, regole di negazione, regole di richiesta, modalità di autorizzazione, regole di autorizzazione e canUseTool. Hook, regole di negazione e canUseTool possono instradare verso il basso a Bloccato; bypass della modalità di autorizzazione, regole di autorizzazione e canUseTool possono instradare verso l'alto a Esegui; le regole di richiesta instradano a canUseTool." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />

55 55 

56<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/agent-sdk/permissions-flow-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e53a91e9059cbf51852b7cedb4dd4251" className="hidden dark:block" alt="Diagramma del flusso di valutazione dei permessi in sei passaggi che corrisponde ai passaggi precedenti: una richiesta di strumento passa attraverso hook, regole di negazione, regole di richiesta, modalità di permesso, regole di consentimento e canUseTool. Hook, regole di negazione e canUseTool possono instradare verso Bloccato; bypass della modalità di permesso, regole di consentimento e canUseTool possono instradare verso Esegui; regole di richiesta instradano verso canUseTool." width="1180" height="260" data-path="images/agent-sdk/permissions-flow-dark.svg" />56<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/agent-sdk/permissions-flow-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e53a91e9059cbf51852b7cedb4dd4251" className="hidden dark:block" alt="Diagramma del flusso di valutazione delle autorizzazioni in sei passaggi che corrisponde ai passaggi precedenti: una richiesta di strumento passa attraverso hook, regole di negazione, regole di richiesta, modalità di autorizzazione, regole di autorizzazione e canUseTool. Hook, regole di negazione e canUseTool possono instradare verso il basso a Bloccato; bypass della modalità di autorizzazione, regole di autorizzazione e canUseTool possono instradare verso l'alto a Esegui; le regole di richiesta instradano a canUseTool." width="1180" height="260" data-path="images/agent-sdk/permissions-flow-dark.svg" />

57 57 

58Se passi un callback `canUseTool` in una configurazione in cui l'SDK TypeScript si aspetta che l'ordine di valutazione approvi automaticamente le chiamate prima che il callback sia consultato, l'SDK emette un avviso del processo Node.js una volta quando la query viene costruita. Il codice dell'avviso è `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`. Due configurazioni lo attivano:58Se passate un callback `canUseTool` in una configurazione in cui l'SDK TypeScript si aspetta che l'ordine di valutazione approvi automaticamente le chiamate prima che il callback sia consultato, l'SDK emette un avviso di processo Node.js una volta quando la query viene costruita. Il codice dell'avviso è `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`. Due configurazioni lo attivano:

59 59 

60* `permissionMode: 'bypassPermissions'`, che approva automaticamente ogni chiamata che raggiunge il passaggio della modalità di permesso a parte le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves)60* `permissionMode: 'bypassPermissions'`, che approva automaticamente ogni chiamata che raggiunge il passaggio della modalità di autorizzazione a parte le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves)

61* Ogni voce `allowedTools` semplice come `"Read"`, che approva automaticamente quello strumento intero prima che il callback sia consultato, a parte le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves)61* Ogni voce `allowedTools` semplice come `"Read"`, che approva automaticamente quello strumento intero prima che il callback sia consultato, a parte le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves)

62 62 

63Le voci con uno specificatore come `Bash(ls *)` e la modalità `acceptEdits` non lo attivano, e le regole di consentimento provenienti da file di impostazioni non sono visibili al controllo.63Le voci con uno specificatore come `Bash(ls *)` e la modalità `acceptEdits` non lo attivano, e le regole di autorizzazione provenienti da file di impostazioni non sono visibili al controllo.

64 64 

65Ascolta con `process.on('warning', ...)` e abbina il codice per registrarlo o sopprimerlo. Per controllare ogni chiamata di strumento indipendentemente dalla modalità e dalle regole, utilizza invece un hook [`PreToolUse`](/docs/it/agent-sdk/hooks).65Ascoltate con `process.on('warning', ...)` e abbinate il codice per registrarlo o sopprimerlo. Per controllare ogni chiamata di strumento indipendentemente dalla modalità e dalle regole, utilizzate invece un [hook `PreToolUse`](/docs/it/agent-sdk/hooks).

66 66 

67Questa pagina si concentra su **regole di consentimento e negazione** e **modalità di permesso**. Per gli altri passaggi:67Questa pagina si concentra su **regole di autorizzazione e negazione** e **modalità di autorizzazione**. Per gli altri passaggi:

68 68 

69* **Hooks:** esegui codice personalizzato per consentire, negare o modificare le richieste di strumenti. Vedi [Controllare l'esecuzione con gli hook](/docs/it/agent-sdk/hooks).69* **Hooks:** eseguire codice personalizzato per consentire, negare o modificare le richieste di strumenti. Vedere [Controllare l'esecuzione con gli hook](/docs/it/agent-sdk/hooks).

70* **Callback canUseTool:** richiedi agli utenti l'approvazione in fase di esecuzione, quando nessun passaggio precedente risolve la chiamata. Vedi [Gestire approvazioni e input dell'utente](/docs/it/agent-sdk/user-input).70* **Callback canUseTool:** richiedere l'approvazione degli utenti in fase di esecuzione, quando nessun passaggio precedente risolve la chiamata. Vedere [Gestire le approvazioni e l'input dell'utente](/docs/it/agent-sdk/user-input).

71 71 

72<h2 id="allow-and-deny-rules">72<h2 id="allow-and-deny-rules">

73 Regole di consentimento e negazione73 Regole di consentimento e negazione

74</h2>74</h2>

75 75 

76`allowed_tools` e `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`) aggiungono voci agli elenchi di regole di consentimento e negazione nel flusso di valutazione sopra. Se nominate uno dei [task-tracking tools](/docs/it/agent-sdk/todo-tracking#model-availability) in `allowed_tools`, Claude Code opta anche la sessione. Qualsiasi altro strumento non elencato in `allowed_tools` è ancora disponibile per Claude e una chiamata ad esso che necessita approvazione passa alla modalità di permesso. Le regole di negazione si comportano diversamente a seconda che denominino uno strumento o limitino un modello all'interno di uno.76`allowed_tools` e `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`) aggiungono voci agli elenchi di regole di consentimento e negazione nel flusso di valutazione sopra descritto. Se nominate uno dei [strumenti di tracciamento delle attività](/docs/it/agent-sdk/todo-tracking#model-availability) in `allowed_tools`, Claude Code opta anche per la sessione. Qualsiasi altro strumento non elencato in `allowed_tools` è ancora disponibile per Claude, e una chiamata ad esso che necessita di approvazione passa attraverso la modalità di autorizzazione. Le regole di negazione si comportano diversamente a seconda che nominino uno strumento o limitino un modello all'interno di uno.

77 77 

78| Opzione | Effetto |78| Opzione | Effetto |

79| :-------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |79| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

80| `allowed_tools=["Read", "Grep"]` | `Read` e `Grep` vengono approvati automaticamente. Gli altri strumenti non elencati qui esistono ancora e le chiamate ad essi che necessitano approvazione passano alla modalità di permesso e `canUseTool`. |80| `allowed_tools=["Read", "Grep"]` | `Read` e `Grep` sono approvati automaticamente. Gli altri strumenti non elencati qui esistono ancora, e le chiamate ad essi che necessitano di approvazione passano attraverso la modalità di autorizzazione e `canUseTool`. |

81| `disallowed_tools=["Bash"]` | La definizione dello strumento `Bash` viene rimossa dalla richiesta. Claude non vede lo strumento e non può tentarlo. |81| `disallowed_tools=["Bash"]` | La definizione dello strumento `Bash` viene rimossa dalla richiesta. Claude non vede lo strumento e non può tentarlo. |

82| `disallowed_tools=["Bash(rm *)"]` | `Bash` rimane disponibile. Le chiamate corrispondenti a `rm *` [come scritto](/docs/it/permissions#bash-rule-limits) vengono negate in ogni modalità di permesso, inclusa `bypassPermissions`. Altre chiamate `Bash`, incluso `/bin/rm`, passano alla modalità di permesso. |82| `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. |

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

84 84 

85Le regole di consentimento 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 con un avviso di avvio e non approva automaticamente nulla.85Le regole di consentimento 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.

86 86 

87Le 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 permesso dei file.87Le 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.

88 88 

89Utilizza `//path` per un percorso del file system assoluto: una regola di negazione di `Edit(//secrets/**)` blocca le scritture ovunque sotto `/secrets` su disco. Con una singola barra iniziale, `Edit(/secrets/**)` si ancora alla fonte della regola. Per le regole passate tramite `allowed_tools` o `disallowed_tools`, ciò significa la directory di lavoro della sessione, quindi la regola non blocca `/secrets` su disco. Vedi [Regole Read e Edit](/docs/it/permissions#read-and-edit) per i quattro moduli di ancoraggio e come le regole dai file di impostazioni si risolvono.89Utilizzate `//path` per un percorso del filesystem assoluto: una regola di negazione di `Edit(//secrets/**)` blocca le scritture ovunque sotto `/secrets` su disco. Con una singola barra iniziale, `Edit(/secrets/**)` si ancora alla fonte della regola. Per le regole passate attraverso `allowed_tools` o `disallowed_tools`, ciò significa la directory di lavoro della sessione, quindi la regola non blocca `/secrets` su disco. Consultate [Regole Read e Edit](/docs/it/permissions#read-and-edit) per i quattro moduli di ancoraggio e come le regole dai file di impostazioni si risolvono.

90 90 

91<Warning>91<Warning>

92 **Gli strumenti approvati automaticamente non raggiungono mai `canUseTool`.** Una chiamata a uno strumento approvata in qualsiasi fase precedente, da `acceptEdits` o `bypassPermissions`, o da una regola di consentimento, salta il tuo callback `canUseTool`, quindi i controlli di permesso che inserisci lì vengono silenziosamente ignorati per quello strumento. `AskUserQuestion`, gli strumenti MCP contrassegnati [`_meta["anthropic/requiresUserInteraction"]`](/docs/it/mcp#require-approval-for-a-specific-tool), gli strumenti connettore [che la tua organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools), e le rimozioni `rm` e `rmdir` che puntano a un [percorso critico](/docs/it/permission-modes#critical-paths) raggiungono comunque il callback, anche quando una regola di consentimento corrisponde. In modalità `auto`, le rimozioni di percorsi critici vanno al [classificatore](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) invece del callback, mentre le altre chiamate elencate qui lo raggiungono ancora; il routing del classificatore richiede Claude Code v2.1.218 o successivo. In modalità `dontAsk` queste chiamate vengono invece negate, senza invocare il callback.92 **Gli strumenti approvati automaticamente non raggiungono mai `canUseTool`.** Una chiamata a uno strumento approvata in qualsiasi fase precedente, da `acceptEdits` o `bypassPermissions`, o da una regola di consentimento, salta il callback `canUseTool`, quindi i controlli di autorizzazione che inserite lì vengono silenziosamente ignorati per quello strumento. `AskUserQuestion`, gli strumenti MCP contrassegnati [`_meta["anthropic/requiresUserInteraction"]`](/docs/it/mcp#require-approval-for-a-specific-tool), gli strumenti del connettore [che la vostra organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools), e le rimozioni `rm` e `rmdir` che puntano a un [percorso critico](/docs/it/permission-modes#critical-paths) raggiungono ancora il callback, anche quando una regola di consentimento corrisponde. In modalità `auto`, le rimozioni di percorsi critici vanno al [classificatore](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) invece del callback, mentre le altre chiamate elencate qui lo raggiungono ancora; il routing del classificatore richiede Claude Code v2.1.218 o successivo. In modalità `dontAsk` queste chiamate vengono invece negate, senza invocare il callback.

93 93 

94 La copertura dipende dalla forma della voce: un nome semplice come `Read` o `mcp__github__get_issue` approva automaticamente ogni chiamata a quello strumento a parte le eccezioni sopra, mentre una regola limitata come `Bash(npm test *)` approva automaticamente solo le chiamate corrispondenti e altre chiamate `Bash` che necessitano approvazione passano comunque al callback. Per i controlli che devono essere eseguiti su ogni chiamata a uno strumento, utilizza un hook [`PreToolUse`](/docs/it/agent-sdk/hooks): gli hook vengono eseguiti prima di ogni altro passaggio e un hook di negazione si applica anche in modalità `bypassPermissions`.94 La copertura dipende dalla forma della voce: un nome semplice come `Read` o `mcp__github__get_issue` approva automaticamente ogni chiamata a quello strumento a parte le eccezioni sopra, mentre una regola limitata come `Bash(npm test *)` approva automaticamente solo le chiamate corrispondenti, e le altre chiamate `Bash` che necessitano di approvazione passano ancora attraverso il callback. Per i controlli che devono essere eseguiti su ogni chiamata a uno strumento, utilizzate un [hook `PreToolUse`](/docs/it/agent-sdk/hooks): gli hook vengono eseguiti prima di ogni altro passaggio, e un hook di negazione si applica anche in modalità `bypassPermissions`.

95</Warning>95</Warning>

96 96 

97Per un agente bloccato, abbina `allowedTools` con `permissionMode: "dontAsk"`:97Per un agente bloccato, abbinate `allowedTools` con `permissionMode: "dontAsk"`:

98 98 

99```typescript theme={null}99```typescript theme={null}

100const options = {100const options = {


103};103};

104```104```

105 105 

106Gli strumenti elencati vengono approvati, a parte le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves), e ogni altra chiamata che comporterebbe una richiesta viene invece negata. Le chiamate che non necessitano approvazione in modalità `default` vengono eseguite indipendentemente dal fatto che le elenchi, come i [comandi Bash di sola lettura](/docs/it/permissions#read-only-commands), strumenti come `Agent` che non chiedono prima di eseguire, e letture di file all'interno delle tue directory di lavoro. Per mettere uno strumento completamente fuori dalla portata di Claude, aggiungi il suo nome semplice a `disallowedTools`.106Gli strumenti elencati sono approvati, a parte le [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves), e ogni altra chiamata che comporterebbe una richiesta viene invece negata. Le chiamate che non necessitano di approvazione in modalità `default` vengono eseguite indipendentemente dal fatto che le elenchiate, come i [comandi Bash di sola lettura](/docs/it/permissions#read-only-commands), strumenti come `Agent` che non chiedono prima di eseguire, e letture di file all'interno delle vostre directory di lavoro. Per mettere uno strumento completamente fuori dalla portata di Claude, aggiungete il suo nome semplice a `disallowedTools`.

107 107 

108<Warning>108<Warning>

109 **`allowed_tools` non vincola `bypassPermissions`.** `allowed_tools` pre-approva gli strumenti che elenchi. Gli strumenti non elencati non vengono abbinati da alcuna regola di consentimento e passano alla modalità di permesso, dove `bypassPermissions` li approva. Impostare `allowed_tools=["Read"]` insieme a `permission_mode="bypassPermissions"` approva comunque ogni strumento, inclusi `Bash`, `Write` e `Edit`. Se hai bisogno di `bypassPermissions` ma vuoi bloccare strumenti specifici, usa `disallowed_tools`.109 **`allowed_tools` non vincola `bypassPermissions`.** `allowed_tools` pre-approva gli strumenti che elencate. Gli altri strumenti non elencati non vengono abbinati da alcuna regola di consentimento e passano attraverso la modalità di autorizzazione, dove `bypassPermissions` li approva. L'impostazione di `allowed_tools=["Read"]` insieme a `permission_mode="bypassPermissions"` approva comunque ogni strumento, inclusi `Bash`, `Write` e `Edit`. Se avete bisogno di `bypassPermissions` ma volete che strumenti specifici siano bloccati, utilizzate `disallowed_tools`.

110</Warning>110</Warning>

111 111 

112Puoi anche configurare regole di consentimento, negazione e richiesta in modo dichiarativo in `.claude/settings.json`. Queste regole vengono lette quando la fonte di impostazione `project` è abilitata, il che è il caso per le opzioni predefinite di `query()`. Se imposti `setting_sources` (TypeScript: `settingSources`) esplicitamente, includi `"project"` affinché si applichino. Vedi [Impostazioni di permesso](/docs/it/settings-reference#permission-settings) per la sintassi delle regole.112Potete anche configurare le regole di consentimento, negazione e richiesta in modo dichiarativo in `.claude/settings.json`. Queste regole vengono lette quando la fonte di impostazione `project` è abilitata, il che avviene per le opzioni predefinite di `query()`. Se impostate esplicitamente `setting_sources` (TypeScript: `settingSources`), includete `"project"` affinché si applichino. Consultate [Impostazioni di autorizzazione](/docs/it/settings-reference#permission-settings) per la sintassi delle regole.

113 113 

114<h2 id="permission-modes">114<h2 id="permission-modes">

115 Modalità di permesso115 Modalità di autorizzazione

116</h2>116</h2>

117 117 

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

119 119 

120<h3 id="available-modes">120<h3 id="available-modes">

121 Modalità disponibili121 Modalità disponibili

122</h3>122</h3>

123 123 

124L'SDK supporta queste modalità di permesso:124L'SDK supporta queste modalità di autorizzazione:

125 125 

126| Modalità | Descrizione | Comportamento dello strumento |126| Modalità | Descrizione | Comportamento dello strumento |

127| :------------------ | :------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |127| :------------------ | :------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

128| `default` | Comportamento di permesso standard | Nessuna approvazione automatica basata sulla modalità; le chiamate che necessitano di approvazione e non corrispondono a nessuna regola di consentimento attivano il tuo callback `canUseTool` |128| `default` | Comportamento di autorizzazione standard | Nessuna approvazione automatica basata sulla modalità; le chiamate che richiedono approvazione e non corrispondono a nessuna regola di autorizzazione attivano il callback `canUseTool` |

129| `dontAsk` | Nega invece di richiedere | Qualsiasi chiamata che altrimenti richiederebbe viene negata. Le chiamate approvate da `allowed_tools` o regole vengono eseguite, così come le chiamate che non necessitano di approvazione in modalità `default`; gli strumenti del connettore [che la tua organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools) e gli strumenti che richiedono l'interazione dell'utente vengono negati anche se li hai pre-approvati, così come le rimozioni `rm` e `rmdir` che puntano a un [percorso critico](/docs/it/permission-modes#critical-paths). `canUseTool` non viene mai chiamato |129| `dontAsk` | Nega invece di chiedere | Qualsiasi chiamata che altrimenti richiederebbe una richiesta viene negata. Le chiamate approvate da `allowed_tools` o regole vengono eseguite, così come le chiamate che non richiedono approvazione in modalità `default`, come le letture di file all'interno delle directory di lavoro; gli strumenti connector [impostati dalla vostra organizzazione su `ask`](/docs/it/mcp#organization-controls-on-connector-tools) e gli strumenti che richiedono interazione dell'utente vengono negati anche se li avete pre-approvati, così come le rimozioni `rm` e `rmdir` che interessano un [percorso critico](/docs/it/permission-modes#critical-paths). `canUseTool` non viene mai chiamato |

130| `acceptEdits` | Accetta automaticamente le modifiche ai file | Le modifiche ai file e le [operazioni del filesystem](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv`, ecc.) vengono approvate automaticamente |130| `acceptEdits` | Accetta automaticamente le modifiche ai file | Le modifiche ai file e le [operazioni del filesystem](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv`, ecc.) vengono approvate automaticamente |

131| `bypassPermissions` | Ignora i controlli di permesso | Gli strumenti vengono eseguiti senza richieste di permesso, ad eccezione delle [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves). Usare con cautela |131| `bypassPermissions` | Ignora i controlli di autorizzazione | Gli strumenti vengono eseguiti senza richieste di autorizzazione, ad eccezione delle [azioni che nessuna modalità approva automaticamente](/docs/it/permission-modes#actions-no-mode-auto-approves). Utilizzare con cautela |

132| `plan` | Modalità di pianificazione | Claude esplora e pianifica senza modificare i tuoi file sorgente; le modifiche ai file non vengono mai approvate automaticamente e richiedono il tuo callback `canUseTool` |132| `plan` | Modalità di pianificazione | Claude esplora e pianifica senza modificare i file sorgente; le modifiche ai file non vengono mai approvate automaticamente e richiedono il callback `canUseTool` |

133| `auto` | Approvazioni classificate dal modello | Un classificatore di modello approva o nega le richieste di permesso. Vedi [Auto mode](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) per la disponibilità |133| `auto` | Approvazioni classificate dal modello | Un classificatore del modello approva o nega le richieste di autorizzazione. Vedere [Modalità Auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) per la disponibilità |

134 134 

135<Warning>135<Warning>

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

137 137 

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

139</Warning>139</Warning>

140 140 

141<h3 id="set-permission-mode">141<h3 id="set-permission-mode">

142 Impostare la modalità di permesso142 Impostare la modalità di autorizzazione

143</h3>143</h3>

144 144 

145Puoi impostare la modalità di permesso una volta all'inizio di una query, o cambiarla dinamicamente mentre la sessione è attiva.145È possibile impostare la modalità di autorizzazione una volta all'avvio di una query, oppure modificarla dinamicamente mentre la sessione è attiva.

146 146 

147<Tabs>147<Tabs>

148 <Tab title="Al momento della query">148 <Tab title="Al momento della query">

149 Passa `permission_mode` (Python) o `permissionMode` (TypeScript) quando crei una query. Questa modalità si applica per l'intera sessione a meno che non venga modificata dinamicamente.149 Passare `permission_mode` (Python) o `permissionMode` (TypeScript) quando si crea una query. Questa modalità si applica per l'intera sessione a meno che non venga modificata dinamicamente.

150 150 

151 <CodeGroup>151 <CodeGroup>

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


190 </Tab>190 </Tab>

191 191 

192 <Tab title="Durante lo streaming">192 <Tab title="Durante lo streaming">

193 Chiama `set_permission_mode()` (Python) o `setPermissionMode()` (TypeScript) per cambiare la modalità a metà sessione. La nuova modalità ha effetto immediatamente per tutte le richieste di strumenti successive. Questo ti consente di iniziare in modo restrittivo e allentare i permessi man mano che la fiducia aumenta, ad esempio passando a `acceptEdits` dopo aver esaminato l'approccio iniziale di Claude.193 Chiamare `set_permission_mode()` (Python) o `setPermissionMode()` (TypeScript) per modificare la modalità durante la sessione. La nuova modalità ha effetto immediatamente per tutte le successive richieste di strumenti. Questo consente di iniziare in modo restrittivo e allentare le autorizzazioni man mano che la fiducia aumenta, ad esempio passando a `acceptEdits` dopo aver esaminato l'approccio iniziale di Claude.

194 194 

195 <CodeGroup>195 <CodeGroup>

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


254 Modalità accetta modifiche (`acceptEdits`)254 Modalità accetta modifiche (`acceptEdits`)

255</h4>255</h4>

256 256 

257Approva automaticamente le operazioni su file in modo che Claude possa modificare il codice senza richiedere. Altri strumenti (come i comandi Bash che non sono operazioni del filesystem) richiedono comunque i permessi normali.257Approva automaticamente le operazioni sui file in modo che Claude possa modificare il codice senza richiedere conferma. Gli altri strumenti (come i comandi Bash che non sono operazioni del filesystem) richiedono comunque autorizzazioni normali.

258 258 

259**Operazioni approvate automaticamente:**259**Operazioni approvate automaticamente:**

260 260 


264Entrambi si applicano solo ai percorsi all'interno della directory di lavoro o `additionalDirectories`. In modalità `acceptEdits`, Claude Code non approva automaticamente la richiesta quando Claude:264Entrambi si applicano solo ai percorsi all'interno della directory di lavoro o `additionalDirectories`. In modalità `acceptEdits`, Claude Code non approva automaticamente la richiesta quando Claude:

265 265 

266* Lavora su un percorso al di fuori di tale ambito266* Lavora su un percorso al di fuori di tale ambito

267* Scrive su un percorso protetto267* Scrive in un percorso protetto

268* Rimuove un [percorso critico](/docs/it/permission-modes#critical-paths) con `rm` o `rmdir`268* Rimuove un [percorso critico](/docs/it/permission-modes#critical-paths) con `rm` o `rmdir`

269 269 

270**Usare quando:** ti fidi delle modifiche di Claude e desideri un'iterazione più veloce, ad esempio durante la prototipazione o quando lavori in una directory isolata.270**Utilizzare quando:** si confida nelle modifiche di Claude e si desidera un'iterazione più veloce, ad esempio durante la prototipazione o quando si lavora in una directory isolata.

271 271 

272<h4 id="don’t-ask-mode-dontask">272<h4 id="don’t-ask-mode-dontask">

273 Modalità non chiedere (`dontAsk`)273 Modalità non chiedere (`dontAsk`)

274</h4>274</h4>

275 275 

276Converte qualsiasi richiesta di permesso in una negazione, senza chiamare `canUseTool`. Gli strumenti pre-approvati da `allowed_tools`, regole di consentimento di `settings.json` o un hook vengono eseguiti normalmente, così come le chiamate che non necessitano di approvazione in modalità `default`, come le letture di file all'interno delle tue directory di lavoro e le chiamate a `Agent`. Gli strumenti del connettore [che la tua organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools), gli strumenti che richiedono l'interazione dell'utente e le rimozioni `rm` e `rmdir` che puntano a un [percorso critico](/docs/it/permission-modes#critical-paths) vengono negati anche quando una regola di consentimento corrisponde. Un'autorizzazione di hook `PreToolUse` non cancella nemmeno una rimozione di percorso critico.276Converte qualsiasi richiesta di autorizzazione in una negazione, senza chiamare `canUseTool`. Gli strumenti pre-approvati da `allowed_tools`, regole di autorizzazione in `settings.json` o un hook vengono eseguiti normalmente, così come le chiamate che non richiedono approvazione in modalità `default`, come le letture di file all'interno delle directory di lavoro e le chiamate a `Agent`. Gli strumenti connector [impostati dalla vostra organizzazione su `ask`](/docs/it/mcp#organization-controls-on-connector-tools), gli strumenti che richiedono interazione dell'utente e le rimozioni `rm` e `rmdir` che interessano un [percorso critico](/docs/it/permission-modes#critical-paths) vengono negati anche quando una regola di autorizzazione corrisponde. Un'autorizzazione del hook `PreToolUse` non cancella nemmeno una rimozione di percorso critico.

277 277 

278**Usare quando:** desideri una superficie di strumenti fissa ed esplicita per un agente headless e preferisci una negazione definitiva rispetto a un affidamento silenzioso su `canUseTool` assente.278**Utilizzare quando:** si desidera una superficie di strumenti fissa ed esplicita per un agente headless e si preferisce un rifiuto netto rispetto all'affidamento silenzioso all'assenza di `canUseTool`.

279 279 

280<h4 id="bypass-permissions-mode-bypasspermissions">280<h4 id="bypass-permissions-mode-bypasspermissions">

281 Modalità ignora permessi (`bypassPermissions`)281 Modalità ignora autorizzazioni (`bypassPermissions`)

282</h4>282</h4>

283 283 

284Approva automaticamente gli usi degli strumenti senza richiedere, ad eccezione dei casi elencati nell'avvertenza di seguito. Gli hook vengono comunque eseguiti e possono bloccare le operazioni se necessario.284Approva automaticamente gli usi degli strumenti senza richiedere conferma, ad eccezione dei casi elencati nell'avviso di seguito. I hook vengono comunque eseguiti e possono bloccare le operazioni se necessario.

285 285 

286<Warning>286<Warning>

287 Usare con estrema cautela. Claude ha accesso completo al sistema in questa modalità. Usare solo in ambienti controllati in cui ti fidi di tutte le operazioni possibili.287 Utilizzare con estrema cautela. Claude ha accesso completo al sistema in questa modalità. Utilizzare solo in ambienti controllati in cui si fidano di tutte le possibili operazioni.

288 288 

289 `allowed_tools` non vincola questa modalità. Ogni strumento viene approvato, non solo quelli che hai elencato. Questi controlli si applicano comunque:289 `allowed_tools` non vincola questa modalità. Ogni strumento è approvato, non solo quelli che avete elencato. Questi controlli si applicano comunque:

290 290 

291 * Le regole di negazione, le regole esplicite `ask` e gli hook vengono valutati prima del controllo della modalità e possono comunque bloccare uno strumento.291 * Le regole di negazione, le regole esplicite `ask` e i hook vengono valutati prima del controllo della modalità e possono comunque bloccare uno strumento.

292 * Gli strumenti del connettore [che la tua organizzazione ha impostato su `ask`](/docs/it/mcp#organization-controls-on-connector-tools), gli strumenti che richiedono l'interazione dell'utente e le rimozioni `rm` e `rmdir` che puntano a un [percorso critico](/docs/it/permission-modes#critical-paths) continuano a passare al tuo callback `canUseTool`.292 * Gli strumenti connector [impostati dalla vostra organizzazione su `ask`](/docs/it/mcp#organization-controls-on-connector-tools), gli strumenti che richiedono interazione dell'utente e le rimozioni `rm` e `rmdir` che interessano un [percorso critico](/docs/it/permission-modes#critical-paths) continuano a passare al callback `canUseTool`.

293 * I [safeguard di messaggistica tra sessioni](/docs/it/permission-modes#skip-all-checks-with-bypasspermissions-mode) si applicano comunque.293 * Le [protezioni della messaggistica tra sessioni](/docs/it/permission-modes#skip-all-checks-with-bypasspermissions-mode) si applicano comunque.

294</Warning>294</Warning>

295 295 

296<h4 id="plan-mode-plan">296<h4 id="plan-mode-plan">

297 Modalità piano (`plan`)297 Modalità pianificazione (`plan`)

298</h4>298</h4>

299 299 

300Claude esplora la base di codice e produce un piano senza modificare i tuoi file sorgente. Gli strumenti di sola lettura vengono eseguiti come in modalità `default`.300Claude esplora la base di codice e produce un piano senza modificare i file sorgente. Gli strumenti di sola lettura vengono eseguiti come nella modalità di autorizzazione `default`.

301 301 

302Le modifiche ai file non vengono mai approvate automaticamente in modalità piano, anche quando una regola di consentimento corrisponde. Richiedono il tuo callback `canUseTool` invece. Su Claude Code v2.1.212 o successivo, i comandi shell che modificano file, come `touch` e `rm`, raggiungono il tuo callback `canUseTool` allo stesso modo.302Le modifiche ai file non vengono mai approvate automaticamente in modalità plan, anche quando una regola di autorizzazione corrisponde. Invece, richiedono il callback `canUseTool`. Su Claude Code v2.1.212 o successivo, i comandi shell che modificano i file, come `touch` e `rm`, raggiungono il callback `canUseTool` allo stesso modo.

303 303 

304Claude può utilizzare `AskUserQuestion` per chiarire i requisiti prima di finalizzare il piano. Vedi [Gestire approvazioni e input dell'utente](/docs/it/agent-sdk/user-input#handle-clarifying-questions) per gestire queste richieste.304Claude può utilizzare `AskUserQuestion` per chiarire i requisiti prima di finalizzare il piano. Vedere [Gestire approvazioni e input dell'utente](/docs/it/agent-sdk/user-input#handle-clarifying-questions) per la gestione di queste richieste.

305 305 

306**Usare quando:** desideri che Claude proponga modifiche senza eseguirle, ad esempio durante la revisione del codice o quando hai bisogno di approvare le modifiche prima che vengano apportate.306**Utilizzare quando:** si desidera che Claude proponga modifiche senza eseguirle, ad esempio durante la revisione del codice o quando è necessario approvare le modifiche prima che vengano apportate.

307 307 

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

309 Risorse correlate309 Risorse correlate

310</h2>310</h2>

311 311 

312Per gli altri passaggi nel flusso di valutazione dei permessi:312Per gli altri passaggi nel flusso di valutazione delle autorizzazioni:

313 313 

314* [Gestire approvazioni e input dell'utente](/docs/it/agent-sdk/user-input): richieste di approvazione interattive e domande di chiarimento314* [Gestire approvazioni e input dell'utente](/docs/it/agent-sdk/user-input): prompt di approvazione interattivi e domande di chiarimento

315* [Guida agli hook](/docs/it/agent-sdk/hooks): esegui codice personalizzato nei punti chiave del ciclo di vita dell'agente315* [Guida hooks](/docs/it/agent-sdk/hooks): eseguire codice personalizzato nei punti chiave del ciclo di vita dell'agente

316* [Regole di permesso](/docs/it/settings-reference#permission-settings): regole dichiarative di consentimento/negazione in `settings.json`316* [Regole di autorizzazione](/docs/it/settings-reference#permission-settings): regole dichiarative di consentimento/negazione in `settings.json`

Details

69 69 

70I percorsi dei plugin possono essere:70I percorsi dei plugin possono essere:

71 71 

72* **Percorsi relativi**: risolti rispetto alla tua directory di lavoro corrente (ad esempio, `"./plugins/my-plugin"`)72* **Percorsi relativi**: risolti rispetto all'opzione `cwd` (ad esempio, `"./plugins/my-plugin"`)

73* **Percorsi assoluti**: percorsi completi del file system (ad esempio, `"/home/user/plugins/my-plugin"`)73* **Percorsi assoluti**: percorsi completi del file system (ad esempio, `"/home/user/plugins/my-plugin"`)

74 74 

75<Note>75<Note>

Details

513 async def receive_messages(self) -> AsyncIterator[Message]513 async def receive_messages(self) -> AsyncIterator[Message]

514 async def receive_response(self) -> AsyncIterator[Message]514 async def receive_response(self) -> AsyncIterator[Message]

515 async def interrupt(self) -> None515 async def interrupt(self) -> None

516 async def set_permission_mode(self, mode: str) -> None516 async def set_permission_mode(self, mode: PermissionMode) -> None

517 async def set_model(self, model: str | None = None) -> None517 async def set_model(self, model: str | None = None) -> None

518 async def rewind_files(self, user_message_id: str) -> None518 async def rewind_files(self, user_message_id: str) -> None

519 async def get_mcp_status(self) -> McpStatusResponse519 async def get_mcp_status(self) -> McpStatusResponse


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

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

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

546| `get_server_info()` | Ottieni informazioni sul server incluso l'ID della sessione e le capacità |546| `get_server_info()` | Ottieni le informazioni di inizializzazione del server, inclusi i comandi disponibili e gli stili di output |

547| `disconnect()` | Disconnettiti da Claude |547| `disconnect()` | Disconnettiti da Claude |

548 548 

549<h4 id="context-manager-support">549<h4 id="context-manager-support">


2006Tipo di unione di tutti i blocchi di contenuto.2006Tipo di unione di tutti i blocchi di contenuto.

2007 2007 

2008```python theme={null}2008```python theme={null}

2009ContentBlock = TextBlock | ThinkingBlock | ToolUseBlock | ToolResultBlock2009ContentBlock = (

2010 TextBlock

2011 | ThinkingBlock

2012 | ToolUseBlock

2013 | ToolResultBlock

2014 | ServerToolUseBlock

2015 | ServerToolResultBlock

2016)

2010```2017```

2011 2018 

2012<h3 id="textblock">2019<h3 id="textblock">


3677| `allowedDomains` | `list[str]` | `[]` | Nomi di dominio a cui i processi in sandbox possono accedere |3684| `allowedDomains` | `list[str]` | `[]` | Nomi di dominio a cui i processi in sandbox possono accedere |

3678| `deniedDomains` | `list[str]` | `[]` | Nomi di dominio a cui i processi in sandbox non possono accedere. Ha la precedenza su `allowedDomains` |3685| `deniedDomains` | `list[str]` | `[]` | Nomi di dominio a cui i processi in sandbox non possono accedere. Ha la precedenza su `allowedDomains` |

3679| `allowManagedDomainsOnly` | `bool` | `False` | Solo impostazioni gestite: quando impostato nelle impostazioni gestite, ignora `allowedDomains` e `WebFetch(domain:...)` consenti le regole da fonti di impostazioni non gestite. Non ha effetto quando impostato tramite opzioni SDK |3686| `allowManagedDomainsOnly` | `bool` | `False` | Solo impostazioni gestite: quando impostato nelle impostazioni gestite, ignora `allowedDomains` e `WebFetch(domain:...)` consenti le regole da fonti di impostazioni non gestite. Non ha effetto quando impostato tramite opzioni SDK |

3680| `allowUnixSockets` | `list[str]` | `[]` | Percorsi dei socket Unix a cui i processi possono accedere (ad es. socket Docker) |3687| `allowUnixSockets` | `list[str]` | `[]` | Solo macOS: percorsi dei socket Unix a cui i processi possono accedere, come il socket Docker. Ignorato su Linux |

3681| `allowAllUnixSockets` | `bool` | `False` | Consenti l'accesso a tutti i socket Unix |3688| `allowAllUnixSockets` | `bool` | `False` | Consenti l'accesso a tutti i socket Unix |

3682| `allowLocalBinding` | `bool` | `False` | Consenti ai processi di associarsi alle porte locali (ad es. per server di sviluppo) |3689| `allowLocalBinding` | `bool` | `False` | Consenti ai processi di associarsi alle porte locali (ad es. per server di sviluppo) |

3683| `allowMachLookup` | `list[str]` | `[]` | Solo macOS: nomi dei servizi XPC/Mach da consentire. Supporta un carattere jolly finale |3690| `allowMachLookup` | `list[str]` | `[]` | Solo macOS: nomi dei servizi XPC/Mach da consentire. Supporta un carattere jolly finale |

Details

103 Conferma che le skills sono caricate103 Conferma che le skills sono caricate

104</h3>104</h3>

105 105 

106Vicino all'inizio dello stream, l'SDK produce un messaggio di sistema con sottotipo `init`. Controlla il suo array `skills` per confermare che le tue skills siano caricate prima che Claude inizi a lavorare. L'array include le skills invocabili dall'utente che hai definito, insieme alle [skills incluse nel bundle con Claude Code](/docs/it/skills#bundled-skills).106Vicino all'inizio dello stream, l'SDK produce un messaggio di sistema con sottotipo `init`. Controlla il suo array `skills` per confermare che le tue skills siano caricate prima che Claude inizi a lavorare. L'array include le skills invocabili dall'utente che hai definito con un campo frontmatter `description` o `when_to_use`, insieme alle [skills incluse nel bundle con Claude Code](/docs/it/skills#bundled-skills).

107 107 

108L'array elenca solo le skills invocabili dall'utente. Una skill con [`user-invocable: false`](/docs/it/skills#control-who-invokes-a-skill) nel suo frontmatter si carica e rimane disponibile per Claude, ma non appare nell'array. L'array riflette ciò che la sessione ha scoperto ed elenca le stesse skills indipendentemente dal fatto che siano nel tuo elenco `skills`.108L'array elenca solo le skills invocabili dall'utente. Una skill con [`user-invocable: false`](/docs/it/skills#control-who-invokes-a-skill) nel suo frontmatter si carica e rimane disponibile per Claude, ma non appare nell'array. L'array elenca le stesse skills indipendentemente dal fatto che siano nel tuo elenco `skills`.

109 109 

110<h3 id="allow-only-specific-skills">110<h3 id="allow-only-specific-skills">

111 Consenti solo skills specifiche111 Consenti solo skills specifiche


173Available commands: ["clear", "compact", "context", "usage", "code-review", "verify", "security-check", ...]173Available commands: ["clear", "compact", "context", "usage", "code-review", "verify", "security-check", ...]

174```174```

175 175 

176Le tue skills invocabili dall'utente appaiono sia in questo elenco che nell'array `skills` da [Conferma che le skills sono caricate](#confirm-skills-loaded). L'elenco `slash_commands` aggiunge il resto dei comandi disponibili nella tua sessione. Una skill con [`user-invocable: false`](/docs/it/skills#control-who-invokes-a-skill) nel suo frontmatter non appare in nessuno dei due. Le sessioni che configurano [server MCP](/docs/it/agent-sdk/mcp) possono anche esporre [prompt MCP come comandi](/docs/it/mcp#use-mcp-prompts-as-commands).176Una skill con [`user-invocable: false`](/docs/it/skills#control-who-invokes-a-skill) nel suo frontmatter non appare in questo elenco o nell'array `skills` da [Conferma che le skills sono caricate](#confirm-skills-loaded). Le sessioni che configurano [server MCP](/docs/it/agent-sdk/mcp) possono anche esporre [prompt MCP come comandi](/docs/it/mcp#use-mcp-prompts-as-commands).

177 177 

178<h3 id="dispatch-commands-by-name">178<h3 id="dispatch-commands-by-name">

179 Invia comandi per nome179 Invia comandi per nome

Details

79 79 

80Quando i messaggi parziali sono abilitati, ricevi eventi di streaming API Claude grezzi avvolti in un oggetto. Il tipo ha nomi diversi in ogni SDK:80Quando i messaggi parziali sono abilitati, ricevi eventi di streaming API Claude grezzi avvolti in un oggetto. Il tipo ha nomi diversi in ogni SDK:

81 81 

82* **Python**: `StreamEvent` (importa da `claude_agent_sdk.types`)82* **Python**: [`StreamEvent`](/docs/it/agent-sdk/python#streamevent) (importa da `claude_agent_sdk.types`)

83* **TypeScript**: `SDKPartialAssistantMessage` con `type: 'stream_event'`83* **TypeScript**: [`SDKPartialAssistantMessage`](/docs/it/agent-sdk/typescript#sdkpartialassistantmessage) con `type: 'stream_event'`

84 84 

85Entrambi contengono eventi API Claude grezzi, non testo accumulato. Devi estrarre e accumulare i delta di testo da solo. Ecco la struttura di ogni tipo:85Entrambi contengono eventi API Claude grezzi, non testo accumulato. Devi estrarre e accumulare i delta di testo da solo.

86 

87<CodeGroup>

88 ```python Python theme={null}

89 @dataclass

90 class StreamEvent:

91 uuid: str # Unique identifier for this event

92 session_id: str # Session identifier

93 event: dict[str, Any] # The raw Claude API stream event

94 parent_tool_use_id: str | None # Always None

95 ```

96 

97 ```typescript TypeScript theme={null}

98 type SDKPartialAssistantMessage = {

99 type: "stream_event";

100 event: BetaRawMessageStreamEvent; // From Anthropic SDK

101 parent_tool_use_id: string | null;

102 uuid: UUID;

103 session_id: string;

104 ttft_ms?: number; // Time to first token in ms, present only on message_start events

105 user_message_uuid?: string;

106 };

107 ```

108</CodeGroup>

109 86 

110Il campo `parent_tool_use_id` è sempre `None` in Python e `null` in TypeScript. Gli eventi di streaming vengono emessi solo per la sessione principale; i delta a livello di token dai subagent non vengono inoltrati. Per attribuire l'output a un subagent, utilizza messaggi completi, che contengono `parent_tool_use_id`. Vedi [Rilevare l'invocazione di subagent](/docs/it/agent-sdk/subagents#detect-subagent-invocation).87Il campo `parent_tool_use_id` è sempre `None` in Python e `null` in TypeScript. Gli eventi di streaming vengono emessi solo per la sessione principale; i delta a livello di token dai subagent non vengono inoltrati. Per attribuire l'output a un subagent, utilizza messaggi completi, che contengono `parent_tool_use_id`. Vedi [Rilevare l'invocazione di subagent](/docs/it/agent-sdk/subagents#detect-subagent-invocation).

111 88 

Details

17```17```

18 18 

19<Note>19<Note>

20 L'SDK raggruppa un binario nativo Claude Code per la tua piattaforma come dipendenza opzionale come `@anthropic-ai/claude-agent-sdk-darwin-arm64`. Non è necessario installare Claude Code separatamente. Se il tuo gestore di pacchetti salta le dipendenze opzionali, l'SDK genera `Native CLI binary for <platform> not found`; imposta [`pathToClaudeCodeExecutable`](#options) su un binario `claude` installato separatamente.20 L'SDK raggruppa un binario nativo Claude Code per la tua piattaforma come dipendenza opzionale come `@anthropic-ai/claude-agent-sdk-darwin-arm64`. La maggior parte delle installazioni non necessita di un'installazione separata di Claude Code. La versione dell'SDK traccia la versione del Claude Code raggruppato. SDK v0.3.191 raggruppa Claude Code v2.1.191, quindi una funzione su questa pagina che richiede una versione di Claude Code necessita della versione SDK con lo stesso numero di patch o successivo. Se il tuo gestore di pacchetti salta le dipendenze opzionali, l'SDK genera `Native CLI binary for <platform>-<arch> not found`; imposta [`pathToClaudeCodeExecutable`](#options) su un binario `claude` installato separatamente.

21 

22 Se il tuo gestore di pacchetti non applica il campo `libc` di npm, come non fa Yarn 1.x, ottieni sia i pacchetti della piattaforma glibc che musl su Linux, raddoppiando approssimativamente la dimensione dell'installazione. Su Agent SDK v0.2.141 o successivo, l'SDK avvia comunque la variante corretta. Per recuperare lo spazio in un'immagine contenitore, elimina il pacchetto della piattaforma che non corrisponde al libc dove viene eseguita la tua app; per un runtime glibc su x64, è `rm -rf node_modules/@anthropic-ai/claude-agent-sdk-linux-x64-musl`. Su una macchina di sviluppo l'eliminazione è temporanea, poiché Yarn reinstalla il pacchetto al prossimo cambio di dipendenza.

21</Note>23</Note>

22 24 

23<h3 id="compile-to-a-single-executable">25<h3 id="compile-to-a-single-executable">

24 Compilare in un singolo eseguibile26 Compilare in un singolo eseguibile

25</h3>27</h3>

26 28 

27Quando compili la tua applicazione in un eseguibile a file singolo con `bun build --compile`, l'SDK non può risolvere il binario CLI raggruppato in fase di esecuzione. `require.resolve` non funziona all'interno del filesystem virtuale `$bunfs` dell'eseguibile compilato, quindi l'SDK genera `Native CLI binary for <platform> not found`.29Quando compili la tua applicazione in un eseguibile a file singolo con `bun build --compile`, l'SDK non può risolvere il binario CLI raggruppato in fase di esecuzione. `require.resolve` non funziona all'interno del filesystem virtuale `$bunfs` dell'eseguibile compilato, quindi l'SDK genera `Native CLI binary for <platform>-<arch> not found`.

28 30 

29Per aggirare questo problema, incorpora il binario della piattaforma come risorsa file, estrailo in un percorso reale all'avvio con `extractFromBunfs()` e passa quel percorso a [`pathToClaudeCodeExecutable`](#options).31Per aggirare questo problema, incorpora il binario della piattaforma come risorsa file, estrailo in un percorso reale all'avvio con `extractFromBunfs()` e passa quel percorso a [`pathToClaudeCodeExecutable`](#options).

30 32 


145 description: string,147 description: string,

146 inputSchema: Schema,148 inputSchema: Schema,

147 handler: (args: InferShape<Schema>, extra: unknown) => Promise<CallToolResult>,149 handler: (args: InferShape<Schema>, extra: unknown) => Promise<CallToolResult>,

148 extras?: { annotations?: ToolAnnotations }150 extras?: { annotations?: ToolAnnotations; searchHint?: string; alwaysLoad?: boolean }

149): SdkMcpToolDefinition<Schema>;151): SdkMcpToolDefinition<Schema>;

150```152```

151 153 


154</h4>156</h4>

155 157 

156| Parametro | Tipo | Descrizione |158| Parametro | Tipo | Descrizione |

157| :------------ | :---------------------------------------------------------------- | :------------------------------------------------------------------------------------ |159| :------------ | :----------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

158| `name` | `string` | Il nome del tool |160| `name` | `string` | Il nome del tool |

159| `description` | `string` | Una descrizione di cosa fa il tool |161| `description` | `string` | Una descrizione di cosa fa il tool |

160| `inputSchema` | `Schema extends AnyZodRawShape` | Schema Zod che definisce i parametri di input del tool (supporta sia Zod 3 che Zod 4) |162| `inputSchema` | `Schema extends AnyZodRawShape` | Schema Zod che definisce i parametri di input del tool (supporta sia Zod 3 che Zod 4) |

161| `handler` | `(args, extra) => Promise<`[`CallToolResult`](#calltoolresult)`>` | Funzione asincrona che esegue la logica del tool |163| `handler` | `(args, extra) => Promise<`[`CallToolResult`](#calltoolresult)`>` | Funzione asincrona che esegue la logica del tool |

162| `extras` | `{ annotations?: `[`ToolAnnotations`](#toolannotations)` }` | Annotazioni MCP tool opzionali che forniscono suggerimenti comportamentali ai client |164| `extras` | `{ annotations?: `[`ToolAnnotations`](#toolannotations)`; searchHint?: string; alwaysLoad?: boolean }` | Extras opzionali. `annotations` fornisce suggerimenti comportamentali MCP ai client. `searchHint` è una frase di capacità su una riga mostrata nell'elenco dei tool differiti quando [tool search](/docs/it/agent-sdk/tool-search) è attivo. `alwaysLoad: true` mantiene lo schema completo di questo tool nel prompt iniziale invece di differirlo |

163 165 

164<h4 id="toolannotations">166<h4 id="toolannotations">

165 `ToolAnnotations`167 `ToolAnnotations`


200function createSdkMcpServer(options: {202function createSdkMcpServer(options: {

201 name: string;203 name: string;

202 version?: string;204 version?: string;

205 instructions?: string;

203 tools?: Array<SdkMcpToolDefinition<any>>;206 tools?: Array<SdkMcpToolDefinition<any>>;

207 alwaysLoad?: boolean;

208 timeout?: number;

204}): McpSdkServerConfigWithInstance;209}): McpSdkServerConfigWithInstance;

205```210```

206 211 


209</h4>214</h4>

210 215 

211| Parametro | Tipo | Descrizione |216| Parametro | Tipo | Descrizione |

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

213| `options.name` | `string` | Il nome del server MCP |218| `options.name` | `string` | Il nome del server MCP |

214| `options.version` | `string` | Stringa di versione opzionale |219| `options.version` | `string` | Stringa di versione opzionale |

220| `options.instructions` | `string` | Istruzioni del server opzionali, restituite da `initialize` e presentate al modello come un blocco di istruzioni MCP |

215| `options.tools` | `Array<SdkMcpToolDefinition>` | Array di definizioni di tool create con [`tool()`](#tool) |221| `options.tools` | `Array<SdkMcpToolDefinition>` | Array di definizioni di tool create con [`tool()`](#tool) |

222| `options.alwaysLoad` | `boolean` | Quando `true`, ogni tool da questo server rimane nel prompt iniziale e non viene mai differito dietro [tool search](/docs/it/agent-sdk/tool-search). Si combina con `alwaysLoad` per tool in [`tool()`](#tool) |

223| `options.timeout` | `number` | Timeout in millisecondi per le chiamate ai tool di questo server. Claude Code lo applica a questo server al posto di [`MCP_TOOL_TIMEOUT`](/docs/it/env-vars). Passa un numero intero di almeno 1000. Claude Code ignora altri valori. Richiede TypeScript Agent SDK v0.3.248 o successivo |

216 224 

217<h3 id="listsessions">225<h3 id="listsessions">

218 `listSessions()`226 `listSessions()`


296</h4>304</h4>

297 305 

298| Proprietà | Tipo | Descrizione |306| Proprietà | Tipo | Descrizione |

299| :------------------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |307| :------------------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

300| `type` | `"user" \| "assistant"` | Ruolo del messaggio |308| `type` | `"user" \| "assistant"` | Ruolo del messaggio |

301| `uuid` | `string` | Identificatore di messaggio univoco |309| `uuid` | `string` | Identificatore di messaggio univoco |

302| `session_id` | `string` | Sessione a cui appartiene questo messaggio |310| `session_id` | `string` | Sessione a cui appartiene questo messaggio |

303| `message` | `unknown` | Payload del messaggio grezzo dalla trascrizione |311| `message` | `unknown` | Payload del messaggio grezzo dalla trascrizione |

304| `parent_tool_use_id` | `string \| null` | Per i messaggi dei subagent, l'`tool_use_id` della chiamata del tool `Agent` che lo ha generato. `null` per i messaggi della sessione principale e le sessioni precedenti |312| `parent_tool_use_id` | `string \| null` | Per i messaggi dei subagent, l'`tool_use_id` della chiamata del tool `Agent` che lo ha generato. `null` per i messaggi della sessione principale e le sessioni precedenti |

305| `parent_agent_id` | `string \| null` | Per i messaggi da un [subagent annidato](/docs/it/sub-agents#spawn-nested-subagents), l'`agentId` del subagent che lo ha generato. `null` per i messaggi della sessione principale, i messaggi dai subagent di primo livello e le sessioni precedenti. Richiede Claude Code v2.1.202 o successivo |313| `parent_agent_id` | `string \| null` | Per i messaggi da un [subagent annidato](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents), l'`agentId` del subagent che lo ha generato. `null` per i messaggi della sessione principale, i messaggi dai subagent di primo livello e le sessioni precedenti. Richiede Claude Code v2.1.202 o successivo |

306 314 

307<h4 id="example-3">315<h4 id="example-3">

308 Esempio316 Esempio


404Risolve le impostazioni effettive di Claude Code per una determinata directory utilizzando lo stesso motore di merge della CLI, senza generare la CLI Claude. Utilizzalo per ispezionare quale configurazione una chiamata `query()` vedrebbe prima di invocarne una.412Risolve le impostazioni effettive di Claude Code per una determinata directory utilizzando lo stesso motore di merge della CLI, senza generare la CLI Claude. Utilizzalo per ispezionare quale configurazione una chiamata `query()` vedrebbe prima di invocarne una.

405 413 

406<Note>414<Note>

407 Questa funzione è in fase alpha e la sua API potrebbe cambiare prima della stabilizzazione. Legge le fonti MDM, inclusi plist macOS e Windows HKLM/HKCU, per la parità con l'avvio della CLI, ma non esegue il subprocess `policyHelper` configurato dall'amministratore. Il campo `permissions.defaultMode` viene restituito così com'è da tutti i livelli incluse le impostazioni del progetto. Il filtro di fiducia che la CLI applica prima di onorare i modi di autorizzazione crescenti non viene applicato.415 Questa funzione è in fase alpha e la sua API potrebbe cambiare prima della stabilizzazione.

408</Note>416</Note>

409 417 

418Lo snapshot differisce da quello che una sessione `query()` live applica:

419 

420* **`policyHelper`**: `resolveSettings()` legge le fonti MDM, inclusi plist macOS e Windows HKLM/HKCU, ma non esegue il subprocess `policyHelper` configurato dall'amministratore.

421* **Impostazioni gestite dal server**: `resolveSettings()` non recupera [impostazioni gestite dal server](/docs/it/server-managed-settings#fetch-and-caching-behavior). Passale come `options.serverManagedSettings` per includerle.

422* **`defaultMode`**: lo snapshot restituisce `permissions.defaultMode` così com'è da ogni livello, quindi può includere i valori `'auto'` e `'bypassPermissions'` dalle impostazioni di progetto e locali, che [una sessione live ignora](/docs/it/permission-modes#which-mode-a-session-starts-in).

423 

410```typescript theme={null}424```typescript theme={null}

411function resolveSettings(425function resolveSettings(

412 options?: ResolveSettingsOptions426 options?: ResolveSettingsOptions


420`resolveSettings()` accetta un singolo oggetto di opzioni. Tutti i campi sono opzionali.434`resolveSettings()` accetta un singolo oggetto di opzioni. Tutti i campi sono opzionali.

421 435 

422| Parametro | Tipo | Predefinito | Descrizione |436| Parametro | Tipo | Predefinito | Descrizione |

423| :------------------------------ | :------------------------------------ | :-------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |437| :------------------------------ | :------------------------------------ | :-------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

424| `options.cwd` | `string` | `process.cwd()` | Directory per risolvere le impostazioni di progetto e locali relative a |438| `options.cwd` | `string` | `process.cwd()` | Directory per risolvere le impostazioni di progetto e locali relative a |

425| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | Tutte le fonti | Quali fonti del filesystem caricare. Passa `[]` per saltare le impostazioni utente, progetto e locali. Le impostazioni della politica gestita si caricano in tutti i casi. Le impostazioni gestite dal server vengono prese da `serverManagedSettings` quando l'host le passa, o lette dalla cache su disco della CLI altrimenti; lo snapshot non le recupera dalla rete |439| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | Tutte le fonti | Quali fonti del filesystem caricare. Passa `[]` per saltare le impostazioni utente, progetto e locali. La [politica gestita dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) si carica in tutti i casi. `resolveSettings()` include le impostazioni gestite dal server solo quando passi `options.serverManagedSettings` |

426| `options.managedSettings` | `Settings` | `undefined` | Impostazioni della politica restrittiva fornite dall'host di incorporamento. Eliminate quando è presente un livello gestito distribuito dall'amministratore; unite sotto quel livello quando [`parentSettingsBehavior`](/docs/it/settings#available-settings) è `"merge"`. Le chiavi non restrittive come `model` vengono silenziosamente eliminate in modo che questa opzione possa restringere la politica gestita ma non allentarla |440| `options.managedSettings` | `Settings` | `undefined` | Impostazioni della politica fornite dall'host di incorporamento. Segue le stesse regole di [`managedSettings` in `Options`](#options), tranne che `resolveSettings()` non esegue un [`policyHelper`](/docs/it/settings-reference#policyhelper) configurato, quindi lo snapshot può includere impostazioni che una sessione live scarta |

427| `options.serverManagedSettings` | `Settings` | `undefined` | Payload delle impostazioni gestite dal server da `/api/claude_code/settings`. Le chiavi non restrittive passano attraverso senza filtri |441| `options.serverManagedSettings` | `Settings` | `undefined` | Payload delle impostazioni gestite dal server da `/api/claude_code/settings`. Le chiavi non restrittive passano attraverso senza filtri |

428 442 

429<h4 id="return-type-resolvedsettings">443<h4 id="return-type-resolvedsettings">


442 Esempio456 Esempio

443</h4>457</h4>

444 458 

445L'esempio seguente risolve le impostazioni per una directory di progetto e stampa la fonte che controlla il periodo di pulizia.459L'esempio seguente risolve le impostazioni per una directory di progetto e stampa la fonte che controlla il periodo di pulizia. Su una macchina dove nessun file di impostazioni imposta `cleanupPeriodDays`, entrambe le righe stampate mostrano `undefined` per il valore, che è l'output previsto piuttosto che un errore.

446 460 

447```typescript theme={null}461```typescript theme={null}

448import { resolveSettings } from "@anthropic-ai/claude-agent-sdk";462import { resolveSettings } from "@anthropic-ai/claude-agent-sdk";


467Oggetto di configurazione per la funzione `query()`.481Oggetto di configurazione per la funzione `query()`.

468 482 

469| Proprietà | Tipo | Predefinito | Descrizione |483| Proprietà | Tipo | Predefinito | Descrizione |

470| :-------------------------------- | :------------------------------------------------------------------------------------------------------- | :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |484| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

471| `abortController` | `AbortController` | `new AbortController()` | Controller per annullare le operazioni |485| `abortController` | `AbortController` | `new AbortController()` | Controller per annullare le operazioni |

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

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

474| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Definisci programmaticamente i subagenti |488| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Definisci programmaticamente i subagenti |

475| `agentProgressSummaries` | `boolean` | `false` | Quando `true`, genera riassunti di progresso a una riga per i subagenti e inoltrarli su eventi [`task_progress`](#sdktaskprogressmessage) tramite il campo `summary`. Si applica ai subagenti in primo piano e in background |489| `agentProgressSummaries` | `boolean` | `false` | Quando `true`, genera riassunti di progresso a una riga per i subagenti e inoltrarli su eventi [`task_progress`](#sdktaskprogressmessage) tramite il campo `summary`. Si applica ai subagenti in primo piano e in background |

476| `allowDangerouslySkipPermissions` | `boolean` | `false` | Abilita il bypass dei permessi. Obbligatorio quando si usa `permissionMode: 'bypassPermissions'` |490| `allowDangerouslySkipPermissions` | `boolean` | `false` | Abilita il bypass dei permessi. Obbligatorio quando si usa `permissionMode: 'bypassPermissions'` |

477| `allowedTools` | `string[]` | `[]` | Tool da approvare automaticamente senza richiedere. Questo non limita Claude a solo questi tool; i tool non elencati ricadono in `permissionMode` e `canUseTool`. Usa `disallowedTools` per bloccare i tool. Vedi [Permessi](/docs/it/agent-sdk/permissions#allow-and-deny-rules) |491| `allowedTools` | `string[]` | `[]` | Tool da approvare automaticamente senza richiedere. Questo non limita Claude a solo questi tool. Se nomini uno dei [tool di tracciamento delle attività](/docs/it/agent-sdk/todo-tracking#model-availability) qui, Claude Code anche opta la sessione in. Gli altri tool non elencati ricadono in `permissionMode` e `canUseTool`. Usa `disallowedTools` per bloccare i tool. Vedi [Permessi](/docs/it/agent-sdk/permissions#allow-and-deny-rules) |

478| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Abilita le funzioni beta |492| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Abilita le funzioni beta |

479| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Funzione di permesso personalizzata, invocata solo quando il [flusso di permesso](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) ricade in un prompt. Non invocata per le chiamate pre-approvate da `allowedTools`, regole di autorizzazione, o `permissionMode`. `AskUserQuestion`, tool connettore [impostati dalla tua organizzazione su `ask`](/docs/it/mcp#organization-controls-on-connector-tools), e tool MCP contrassegnati [`requiresUserInteraction`](/docs/it/mcp#require-approval-for-a-specific-tool) la raggiungono anche se li hai consentiti; in modalità `dontAsk` questi vengono negati invece. Vedi [`CanUseTool`](#canusetool) per i dettagli |493| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Funzione di permesso personalizzata, invocata solo quando il [flusso di permesso](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) ricade in un prompt. Non invocata per le chiamate pre-approvate da `allowedTools`, regole di autorizzazione, o `permissionMode`. Una regola di autorizzazione non pre-approva le [azioni che nessuna modalità auto-approva](/docs/it/permission-modes#actions-no-mode-auto-approves). Vedi [`CanUseTool`](#canusetool) per i dettagli |

480| `continue` | `boolean` | `false` | Continua la conversazione più recente |494| `continue` | `boolean` | `false` | Continua la conversazione più recente |

481| `cwd` | `string` | `process.cwd()` | Directory di lavoro corrente |495| `cwd` | `string` | `process.cwd()` | Directory di lavoro corrente |

482| `debug` | `boolean` | `false` | Abilita la modalità debug per il processo Claude Code |496| `debug` | `boolean` | `false` | Abilita la modalità debug per il processo Claude Code |

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

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

485| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | Predefinito del modello | Controlla quanto sforzo Claude mette nella sua risposta. Funziona con il pensiero adattivo per guidare la profondità del pensiero. Vedi [regola il livello di sforzo](/docs/it/model-config#adjust-effort-level) |499| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | Controlla quanto sforzo Claude mette nella sua risposta. Funziona con il pensiero adattivo per guidare la profondità del pensiero. Vedi [regola il livello di sforzo](/docs/it/model-config#adjust-effort-level) |

486| `enableFileCheckpointing` | `boolean` | `false` | Abilita il tracciamento dei cambiamenti di file per il rewind. Vedi [File checkpointing](/docs/it/agent-sdk/file-checkpointing) |500| `enableFileCheckpointing` | `boolean` | `false` | Abilita il tracciamento dei cambiamenti di file per il rewind. Vedi [File checkpointing](/docs/it/agent-sdk/file-checkpointing) |

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

488| `executable` | `'bun' \| 'deno' \| 'node'` | Auto-rilevato | Runtime JavaScript da usare |502| `executable` | `'bun' \| 'deno' \| 'node'` | Auto-rilevato | Runtime JavaScript da usare |


490| `extraArgs` | `Record<string, string \| null>` | `{}` | Argomenti aggiuntivi |504| `extraArgs` | `Record<string, string \| null>` | `{}` | Argomenti aggiuntivi |

491| `fallbackModel` | `string` | `undefined` | Modello da usare se il primario fallisce |505| `fallbackModel` | `string` | `undefined` | Modello da usare se il primario fallisce |

492| `forkSession` | `boolean` | `false` | Quando si riprende con `resume`, esegui il fork a un nuovo ID di sessione invece di continuare la sessione originale |506| `forkSession` | `boolean` | `false` | Quando si riprende con `resume`, esegui il fork a un nuovo ID di sessione invece di continuare la sessione originale |

493| `forwardSubagentText` | `boolean` | `false` | Inoltra i blocchi di testo e pensiero dei subagenti come messaggi dell'assistente e dell'utente con `parent_tool_use_id` impostato, in modo che i consumer possano renderizzare una trascrizione nidificata. Per impostazione predefinita, solo i blocchi `tool_use` e `tool_result` dai subagenti vengono emessi |507| `forwardSubagentText` | `boolean` | `false` | Inoltra i blocchi di testo e pensiero dei subagenti come messaggi dell'assistente e dell'utente con `parent_tool_use_id` impostato, in modo che i consumer possano renderizzare una trascrizione nidificata. Senza questa opzione, Claude Code emette blocchi `tool_use` e `tool_result` dai subagenti ma non testo o pensiero. I messaggi dai subagenti a ogni profondità di nidificazione vengono inoltrati su Claude Code v2.1.219 e successivo; prima di v2.1.219, solo i messaggi dai subagenti di profondità-1 apparivano |

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

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

496| `includePartialMessages` | `boolean` | `false` | Includi gli eventi di messaggi parziali |510| `includePartialMessages` | `boolean` | `false` | Includi gli eventi di messaggi parziali |

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

498| `managedSettings` | `Settings` | `undefined` | Impostazioni a livello di politica fornite dal processo genitore che genera. Eliminate quando un livello di impostazioni gestite controllato da IT esiste già sulla macchina, a meno che l'amministratore non acconsenta con `parentSettingsBehavior: 'merge'`. Filtrate solo alle chiavi restrittive indipendentemente |512| `managedSettings` | `Settings` | `undefined` | Impostazioni a livello di politica che il tuo processo host fornisce alla sessione generata. Su macchine con impostazioni gestite distribuite da admin, Claude Code ignora queste a meno che la fonte gestita di priorità più alta dell'admin imposti `parentSettingsBehavior: 'merge'`, e non le unisce mai mentre un [`policyHelper`](/docs/it/settings-reference#policyhelper) fornisce impostazioni gestite. I valori uniti passano attraverso un filtro solo restrittivo; [Limita le impostazioni padre](/docs/it/claude-apps-gateway#restrict-parent-settings) copre cosa il filtro ammette e i blocchi `allowManaged*Only`. Un host che imposta [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/it/env-vars) ha tre chiavi lette direttamente da questo payload: la sua [configurazione del modello](/docs/it/model-config#restrict-model-selection) su Claude Code v2.1.222 o successivo, [`modelPricing`](/docs/it/settings-reference#modelpricing) quando nessuna fonte gestita lo imposta su v2.1.246 o successivo, e la sua voce `ENABLE_TOOL_SEARCH` env su v2.1.247 o successivo |

499| `maxBudgetUsd` | `number` | `undefined` | Interrompi la query quando la stima del costo lato client raggiunge questo valore in USD. Confrontato con la stessa stima di `total_cost_usd`; vedi [Traccia costo e utilizzo](/docs/it/agent-sdk/cost-tracking) per le avvertenze di accuratezza |513| `maxBudgetUsd` | `number` | `undefined` | Interrompi la query quando la stima del costo lato client raggiunge questo valore in USD. Confrontato con la stessa stima di `total_cost_usd`; vedi [Traccia costo e utilizzo](/docs/it/agent-sdk/cost-tracking) per le avvertenze di accuratezza |

500| `maxThinkingTokens` | `number` | `undefined` | *Deprecato:* Usa `thinking` invece. Token massimi per il processo di pensiero |514| `maxThinkingTokens` | `number` | `undefined` | *Deprecato:* Usa `thinking` invece. Token massimi per il processo di pensiero |

501| `maxTurns` | `number` | `undefined` | Turni agentici massimi (round trip di uso dei tool) |515| `maxTurns` | `number` | `undefined` | Turni agentici massimi (round trip di uso dei tool) |


507| `pathToClaudeCodeExecutable` | `string` | Auto-risolto dal binario nativo raggruppato | Percorso all'eseguibile Claude Code. Necessario solo se le dipendenze opzionali sono state saltate durante l'installazione o la tua piattaforma non è nel set supportato |521| `pathToClaudeCodeExecutable` | `string` | Auto-risolto dal binario nativo raggruppato | Percorso all'eseguibile Claude Code. Necessario solo se le dipendenze opzionali sono state saltate durante l'installazione o la tua piattaforma non è nel set supportato |

508| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | Modalità di permesso per la sessione |522| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | Modalità di permesso per la sessione |

509| `permissionPromptToolName` | `string` | `undefined` | Nome del tool MCP per i prompt di permesso |523| `permissionPromptToolName` | `string` | `undefined` | Nome del tool MCP per i prompt di permesso |

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

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

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

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

513| `promptSuggestions` | `boolean` | `false` | Abilita i suggerimenti di prompt. Emette un messaggio `prompt_suggestion` dopo ogni turno con un prompt utente successivo previsto |528| `promptSuggestions` | `boolean` | `false` | Abilita i suggerimenti di prompt. Dopo un turno, Claude Code emette un messaggio `prompt_suggestion` che trasporta un prompt utente successivo previsto. Claude Code non genera alcun suggerimento per alcuni turni, come quando il tuo account è vicino o al suo limite di utilizzo. Vedi [Quando Claude Code salta i suggerimenti](/docs/it/interactive-mode#when-claude-code-skips-suggestions) |

514| `resume` | `string` | `undefined` | ID della sessione da riprendere |529| `resume` | `string` | `undefined` | ID della sessione da riprendere |

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

515| `resumeSessionAt` | `string` | `undefined` | Riprendi la sessione a un UUID di messaggio specifico |531| `resumeSessionAt` | `string` | `undefined` | Riprendi la sessione a un UUID di messaggio specifico |

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

517| `sessionId` | `string` | Auto-generato | Usa un UUID specifico per la sessione invece di generarne uno automaticamente |533| `sessionId` | `string` | Auto-generato | Usa un UUID specifico per la sessione invece di generarne uno automaticamente |

518| `sessionStore` | [`SessionStore`](/docs/it/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Specchia i trascritti della sessione in un backend esterno in modo che qualsiasi host possa riprenderli. Vedi [Persisti le sessioni nell'archiviazione esterna](/docs/it/agent-sdk/session-storage) |534| `sessionStore` | [`SessionStore`](/docs/it/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Specchia i trascritti della sessione in un backend esterno in modo che un altro host possa riprenderli. Vedi [Persisti le sessioni nell'archiviazione esterna](/docs/it/agent-sdk/session-storage) |

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

520| `settings` | `string \| Settings` | `undefined` | Oggetto [impostazioni](/docs/it/settings) inline o percorso a un file di impostazioni. Popola il livello flag-settings nell'[ordine di precedenza](/docs/it/settings#settings-precedence). Cambia a runtime con [`applyFlagSettings()`](#applyflagsettings) |536| `settings` | `string \| Settings` | `undefined` | Oggetto [impostazioni](/docs/it/settings) inline o percorso a un file di impostazioni. Popola il livello flag-settings nell'[ordine di precedenza](/docs/it/settings#settings-precedence). Cambia a runtime con [`applyFlagSettings()`](#applyflagsettings) |

521| `settingSources` | [`SettingSource`](#settingsource)`[]` | Impostazioni predefinite CLI (tutte le fonti) | Controlla quali impostazioni del filesystem caricare. Passa `[]` per disabilitare le impostazioni utente, progetto e locali. Le impostazioni della politica gestita vengono caricate indipendentemente; le impostazioni gestite dal server vengono recuperate quando la sessione si autentica con una credenziale organizzativa su una [configurazione idonea](/docs/it/server-managed-settings#platform-availability). Vedi [Usa le funzioni Claude Code](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control) |537| `settingSources` | [`SettingSource`](#settingsource)`[]` | Impostazioni predefinite CLI (tutte le fonti) | Controlla quali impostazioni del filesystem caricare. Passa `[]` per disabilitare le impostazioni utente, progetto e locali. [Politica gestita da endpoint](/docs/it/managed-settings#delivery-mechanisms) viene caricata indipendentemente; le impostazioni gestite dal server vengono recuperate quando la sessione si autentica con una credenziale organizzativa su una [configurazione idonea](/docs/it/server-managed-settings#platform-availability). Vedi [Usa le funzioni Claude Code](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

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

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

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

525| `strictMcpConfig` | `boolean` | `false` | Usa solo i server passati in `mcpServers` 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) |541| `strictMcpConfig` | `boolean` | `false` | Usa solo i server passati in `mcpServers` 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) |

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

527| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* Budget di attività lato API in token. Quando impostato, il modello viene informato del suo budget di token rimanente in modo che possa regolare l'uso dei tool e concludere prima del limite |543| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* Budget di attività lato API in token. Quando impostato, il modello viene informato del suo budget di token rimanente in modo che possa regolare l'uso dei tool e concludere prima del limite |

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

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


538Il subprocess CLI legge diverse variabili di ambiente che controllano i timeout dell'API e il rilevamento dei blocchi. Passale attraverso l'opzione `env`:554Il subprocess CLI legge diverse variabili di ambiente che controllano i timeout dell'API e il rilevamento dei blocchi. Passale attraverso l'opzione `env`:

539 555 

540```typescript theme={null}556```typescript theme={null}

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

558 

541const result = query({559const result = query({

542 prompt: "Analyze this code",560 prompt: "Analyze this code",

543 options: {561 options: {


552```570```

553 571 

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

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

556* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog di blocco per i subagenti lanciati con `run_in_background`. Predefinito `600000`. Si ripristina su ogni evento di stream; al blocco interrompe il subagente, contrassegna l'attività come fallita e presenta l'errore al genitore con qualsiasi risultato parziale. Non si applica ai subagenti sincroni.574* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog di blocco per i subagenti. Mentre il watchdog di stream è attivo, il predefinito è `CLAUDE_STREAM_IDLE_TIMEOUT_MS` più 5 minuti, che arriva a `600000` a meno che non aumenti quella variabile. Con il watchdog di stream spento, il predefinito è `600000`. Prima di v2.1.257, il predefinito era sempre `600000`.

557* `CLAUDE_ENABLE_STREAM_WATCHDOG` con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: interrompe la richiesta quando le intestazioni sono arrivate ma il corpo della risposta smette di trasmettere. Il watchdog è attivo per impostazione predefinita per tutti i provider; imposta `CLAUDE_ENABLE_STREAM_WATCHDOG=0` per disabilitarlo. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` predefinito a `300000` ed è limitato a quel minimo. La richiesta interrotta passa attraverso il percorso di tentativo normale.575 

576 Il timer si ripristina su ogni evento di stream. Al blocco, Claude Code interrompe il subagente e segnala il blocco al genitore. Per un subagente in background, contrassegna anche l'attività come fallita e allega qualsiasi risultato parziale.

577* `CLAUDE_ENABLE_STREAM_WATCHDOG` con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: watchdog di stream che interrompe la richiesta quando le intestazioni sono arrivate ma il corpo della risposta smette di trasmettere. Il watchdog è attivo per impostazione predefinita per tutti i provider; imposta `CLAUDE_ENABLE_STREAM_WATCHDOG=0` per disabilitarlo. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` predefinito a `300000` ed è limitato a quel minimo. Dopo l'interruzione, [Tentativi automatici](/docs/it/errors#automatic-retries) copre cosa Claude Code fa, in base a quanto la risposta aveva progredito.

578 

579 Mentre il watchdog attende una risposta che un gateway dietro `ANTHROPIC_BASE_URL` tiene aperta con ping keep-alive, un host che imposta `includePartialMessages` continua a ricevere eventi di `ping` [stream](#sdkpartialassistantmessage), quindi leggi questi frame come vivacità piuttosto che cronometrare la sessione su silenzio. Prima di v2.1.257, i frame si fermavano 5 minuti dopo l'ultimo evento di stream reale.

558 580 

559<h3 id="query-object">581<h3 id="query-object">

560 Oggetto `Query`582 Oggetto `Query`


572 setPermissionMode(mode: PermissionMode): Promise<void>;594 setPermissionMode(mode: PermissionMode): Promise<void>;

573 setModel(model?: string): Promise<void>;595 setModel(model?: string): Promise<void>;

574 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;596 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;

575 applyFlagSettings(settings: { [K in keyof Settings]?: Settings[K] | null }): Promise<void>;597 applyFlagSettings(settings: {

598 [K in keyof Settings]?: K extends 'effortLevel'

599 ? 'low' | 'medium' | 'high' | 'xhigh' | 'max' | null

600 : Settings[K] | null;

601 }): Promise<void>;

602 updateSettings(

603 source: 'localSettings',

604 settings: Record<string, unknown>,

605 ): Promise<void>;

576 initializationResult(): Promise<SDKControlInitializeResponse>;606 initializationResult(): Promise<SDKControlInitializeResponse>;

577 reinitialize(): Promise<SDKControlInitializeResponse>;607 reinitialize(): Promise<SDKControlInitializeResponse>;

578 supportedCommands(): Promise<SlashCommand[]>;608 supportedCommands(): Promise<SlashCommand[]>;

579 supportedModels(): Promise<ModelInfo[]>;609 supportedModels(): Promise<ModelInfo[]>;

580 supportedAgents(): Promise<AgentInfo[]>;610 supportedAgents(): Promise<AgentInfo[]>;

581 mcpServerStatus(): Promise<McpServerStatus[]>;611 mcpServerStatus(): Promise<McpServerStatus[]>;

612 getContextUsage(opts?: {

613 detail?: 'summary' | 'full';

614 }): Promise<SDKControlGetContextUsageResponse>;

615 readFile(

616 path: string,

617 options?: { maxBytes?: number; encoding?: 'utf-8' | 'base64' }

618 ): Promise<SDKControlReadFileResponse | null>;

619 reloadSkills(): Promise<SDKControlReloadSkillsResponse>;

582 accountInfo(): Promise<AccountInfo>;620 accountInfo(): Promise<AccountInfo>;

583 reconnectMcpServer(serverName: string): Promise<void>;621 reconnectMcpServer(serverName: string): Promise<void>;

584 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;622 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;


595 633 

596| Metodo | Descrizione |634| Metodo | Descrizione |

597| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |635| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

598| `interrupt()` | Interrompe la query. Disponibile solo in modalità input streaming. Quando la CLI pubblicizza la capacità `interrupt_receipt_v1` in [`SDKSystemMessage.capabilities`](#sdksystemmessage), si risolve con un [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) che elenca i messaggi in coda che sopravvivono all'interruzione. Si risolve `undefined` su CLI prima della v2.1.205 |636| `interrupt()` | Interrompe la query. Disponibile solo in modalità input streaming. Quando la CLI pubblicizza la capacità `interrupt_receipt_v1` in [`SDKSystemMessage.capabilities`](#sdksystemmessage), si risolve con un [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) che elenca i messaggi che erano in sospeso quando l'interruzione è arrivata. Si risolve `undefined` su CLI prima della v2.1.205 |

599| `rewindFiles(userMessageId, options?)` | Ripristina i file al loro stato al messaggio utente specificato. Passa `{ dryRun: true }` per visualizzare in anteprima i cambiamenti. Richiede `enableFileCheckpointing: true`. Vedi [File checkpointing](/docs/it/agent-sdk/file-checkpointing) |637| `rewindFiles(userMessageId, options?)` | Ripristina i file al loro stato al messaggio utente specificato. Passa `{ dryRun: true }` per visualizzare in anteprima i cambiamenti. Richiede `enableFileCheckpointing: true`. Vedi [File checkpointing](/docs/it/agent-sdk/file-checkpointing) |

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

601| `setModel()` | Cambia il modello (disponibile solo in modalità input streaming) |639| `setModel()` | Cambia il modello (disponibile solo in modalità input streaming). Passare `undefined` o la stringa `"default"` ripristina il modello predefinito della sessione |

602| `setMaxThinkingTokens()` | *Deprecato:* Usa l'opzione `thinking` invece. Cambia i token di pensiero massimi. Passare `null` ripristina il pensiero al predefinito della sessione: un override a metà sessione viene cancellato, e il pensiero rimane disattivato per le sessioni che lo hanno disabilitato |640| `setMaxThinkingTokens()` | *Deprecato:* Usa l'opzione `thinking` invece. Cambia i token di pensiero massimi. Passare `null` ripristina il pensiero al predefinito della sessione: un override a metà sessione viene cancellato, e il pensiero rimane disattivato per le sessioni che lo hanno disabilitato |

603| `applyFlagSettings(settings)` | Unisce le impostazioni nel livello flag settings della sessione a runtime (disponibile solo in modalità input streaming). Vedi [`applyFlagSettings()`](#applyflagsettings) |641| `applyFlagSettings(settings)` | Unisce le impostazioni nel livello flag settings della sessione a runtime (disponibile solo in modalità input streaming). Vedi [`applyFlagSettings()`](#applyflagsettings) |

642| `updateSettings(source, settings)` | Unisce le impostazioni nel file di impostazioni locali del progetto, `.claude/settings.local.json`; hanno effetto sulla richiesta successiva. Accetta solo `source: 'localSettings'` e un set di chiavi consentite, attualmente `outputStyle`, con valori stringa; l'eliminazione di una chiave non è supportata. Rifiuta su trasporti remoti e in sessioni il cui [`settingSources`](#options) esclude `local`. Richiede TypeScript SDK v0.3.257 o successivo, che raggruppa Claude Code v2.1.257 |

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

605| `reinitialize()` | Rinvia la richiesta di controllo `initialize` al CLI in esecuzione e restituisce un risultato fresco invece del risultato della prima connessione memorizzato nella cache. Usalo dopo un gap di trasporto, come il ricollegamento a una sessione dopo una disconnessione, in modo che le richieste di permesso in sospeso raggiungano di nuovo il tuo callback `canUseTool`. Rendi il callback idempotente per ID di richiesta, perché una richiesta la cui risposta è stata persa viene inviata di nuovo. Richiede Claude Code v2.1.195 o successivo |644| `reinitialize()` | Rinvia la richiesta di controllo `initialize` al CLI in esecuzione e restituisce un risultato fresco invece del risultato della prima connessione memorizzato nella cache. Usalo dopo un gap di trasporto, come il ricollegamento a una sessione dopo una disconnessione, in modo che le richieste di permesso in sospeso raggiungano di nuovo il tuo callback `canUseTool`. Rendi il callback idempotente per ID di richiesta, perché una richiesta la cui risposta è stata persa viene inviata di nuovo. Richiede Claude Code v2.1.195 o successivo |

606| `supportedCommands()` | Restituisce i comandi slash disponibili |645| `supportedCommands()` | Restituisce i comandi disponibili. Da Agent SDK v0.3.216 l'elenco riflette i cambiamenti di comando a metà sessione; vedi [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |

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

608| `supportedAgents()` | Restituisce i subagenti disponibili come [`AgentInfo`](#agentinfo)`[]` |647| `supportedAgents()` | Restituisce i subagenti disponibili come [`AgentInfo`](#agentinfo)`[]` |

609| `mcpServerStatus()` | Restituisce lo stato dei server MCP connessi |648| `mcpServerStatus()` | Restituisce lo stato dei server MCP connessi |

649| `getContextUsage(opts?)` | Restituisce un [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) che suddivide l'utilizzo della finestra di contesto della sessione per categoria, skill e tool. Con il `detail` predefinito, è lo stesso dato che `/context` mostra in una sessione interattiva. L'[opzione `detail`](#sdkcontrolgetcontextusageresponse) richiede Agent SDK v0.3.257 o successivo |

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

651| `reloadSkills()` | Ricarica le skill dal disco, in modo 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 |

610| `accountInfo()` | Restituisce le informazioni dell'account |652| `accountInfo()` | Restituisce le informazioni dell'account |

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

612| `toggleMcpServer(serverName, enabled)` | Abilita o disabilita un server MCP per nome |654| `toggleMcpServer(serverName, enabled)` | Abilita o disabilita un server MCP per nome, con la stessa risoluzione del nome di `reconnectMcpServer()`. Disabilitare disconnette il server |

613| `setMcpServers(servers)` | Sostituisci dinamicamente l'insieme dei server MCP per questa sessione. Restituisce informazioni su quali server sono stati aggiunti, rimossi e eventuali errori |655| `setMcpServers(servers)` | Sostituisci dinamicamente l'insieme dei server MCP per questa sessione. Si risolve con un [`McpSetServersResult`](#mcpsetserversresult) che nomina quali server sono stati aggiunti e rimossi, e eventuali errori |

614| `streamInput(stream)` | Trasmetti i messaggi di input alla query per le conversazioni multi-turno |656| `streamInput(stream)` | Trasmetti i messaggi di input alla query per le conversazioni multi-turno |

615| `stopTask(taskId)` | Interrompi un'attività di background in esecuzione per ID |657| `stopTask(taskId)` | Interrompi un'attività di background in esecuzione per ID |

616| `close()` | Chiudi la query e termina il processo sottostante. Termina forzatamente la query e pulisce tutte le risorse |658| `close()` | Chiudi la query e termina il processo sottostante. Termina forzatamente la query e pulisce tutte le risorse |


619 `applyFlagSettings()`661 `applyFlagSettings()`

620</h4>662</h4>

621 663 

622Cambia qualsiasi [impostazione](/docs/it/settings) su una sessione in esecuzione senza riavviare la query. Usalo quando un'impostazione che non ha un setter dedicato deve cambiare a metà sessione, come irrigidire `permissions` dopo che l'agente legge input non attendibile. `setModel()` e `setPermissionMode()` sono setter dedicati per quelle due chiavi; `applyFlagSettings()` è la forma generale che accetta qualsiasi sottoinsieme delle chiavi di impostazioni, e passare `model` qui si comporta come `setModel()`.664Cambia [impostazioni](/docs/it/settings) su una sessione in esecuzione senza riavviare la query. Usalo quando un'impostazione che non ha un setter dedicato deve cambiare a metà sessione, come irrigidire `permissions` dopo che l'agente legge input non attendibile. `setModel()` e `setPermissionMode()` sono setter dedicati per quelle due chiavi; `applyFlagSettings()` è la forma generale che accetta qualsiasi sottoinsieme delle chiavi di impostazioni, e passare `model` qui si comporta come `setModel()`.

623 665 

624Solo alcune chiavi hanno effetto a metà sessione:666Solo alcune chiavi hanno effetto a metà sessione:

625 667 

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

669* **Applicate durante il turno corrente**: `model`. Se cambi `model` mentre Claude sta lavorando su un turno, la risposta che Claude sta già generando finisce sul vecchio modello, e il resto del turno, a partire dalla prossima chiamata che Claude Code fa al modello, usa quello nuovo. I subagenti mantengono il loro modello. Prima di v2.1.212, un cambio a metà turno attendeva il turno successivo.

627* **Nessun effetto a metà sessione**: le opzioni del prompt di sistema. Questi vengono risolti una volta all'avvio, quindi la sessione in esecuzione mantiene il valore originale anche se la chiamata ha successo. Per cambiarli, avvia una nuova sessione.670* **Nessun effetto a metà sessione**: le opzioni del prompt di sistema. Questi vengono risolti una volta all'avvio, quindi la sessione in esecuzione mantiene il valore originale anche se la chiamata ha successo. Per cambiarli, avvia una nuova sessione.

628 671 

629`effortLevel` accetta un nome di [livello di sforzo](/docs/it/model-config#adjust-effort-level). Accetta anche `"ultracode"`, che esegue la sessione a sforzo `xhigh` e attiva [ultracode](/docs/it/workflows#let-claude-decide-with-ultracode). Il tipo `Settings` dichiara `effortLevel` senza quel valore, quindi passa l'equivalente `{ ultracode: true }` in TypeScript. Il valore `ultracode` richiede Claude Code v2.1.203 o successivo ed è accettato solo da `applyFlagSettings()`, non dalla chiave `effortLevel` in un file di impostazioni.672`effortLevel` accetta un nome di [livello di sforzo](/docs/it/model-config#adjust-effort-level). Accetta anche `"ultracode"`, che richiede sforzo `xhigh` con [ultracode](/docs/it/workflows#let-claude-decide-with-ultracode) attivo. `applyFlagSettings()` dichiara `effortLevel` senza quel valore, quindi passa l'equivalente `{ ultracode: true }` in TypeScript. Il valore `ultracode` richiede Claude Code v2.1.203 o successivo ed è accettato solo da `applyFlagSettings()`, non dalla chiave `effortLevel` in un file di impostazioni.

630 673 

631I valori vengono scritti nel livello flag-settings, lo stesso livello che l'opzione `settings` inline di `query()` popola all'avvio. Le impostazioni flag si trovano vicino alla parte superiore dell'[ordine di precedenza delle impostazioni](/docs/it/settings#settings-precedence): sovrascrivono le impostazioni utente, progetto e locali, e solo le impostazioni della politica gestita possono sovrascriverle. Questo è lo stesso livello che la [sezione di precedenza in pagina](#settings-precedence) chiama opzioni programmatiche.674I valori vengono scritti nel livello flag-settings, lo stesso livello che l'opzione `settings` inline di `query()` popola all'avvio. Questo è lo stesso livello che la [sezione di precedenza in pagina](#settings-precedence) chiama opzioni programmatiche.

632 675 

633Le chiamate successive eseguono un shallow-merge delle chiavi di livello superiore. Una seconda chiamata con `{ permissions: {...} }` sostituisce l'intero oggetto `permissions` dalla chiamata precedente piuttosto che eseguire un deep-merge in esso. Per cancellare una chiave dal livello flag e ricadere in fonti di precedenza inferiore, passa `null` per quella chiave. Passare `undefined` non ha effetto perché la serializzazione JSON lo elimina.676Le chiamate successive eseguono un shallow-merge delle chiavi di livello superiore. Una seconda chiamata con `{ permissions: {...} }` sostituisce l'intero oggetto `permissions` dalla chiamata precedente piuttosto che eseguire un deep-merge in esso. Per cancellare una chiave dal livello flag e ricadere in fonti di precedenza inferiore, passa `null` per quella chiave. Passare `undefined` non ha effetto perché la serializzazione JSON lo elimina.

634 677 


637L'esempio seguente cambia il modello attivo a metà sessione, quindi cancella l'override in modo che il modello ricada in qualsiasi cosa specifichino le impostazioni utente o progetto.680L'esempio seguente cambia il modello attivo a metà sessione, quindi cancella l'override in modo che il modello ricada in qualsiasi cosa specifichino le impostazioni utente o progetto.

638 681 

639```typescript theme={null}682```typescript theme={null}

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

684 

640const q = query({ prompt: messageStream });685const q = query({ prompt: messageStream });

641 686 

642// Sovrascrivi il modello per il resto della sessione687// Sovrascrivi il modello per il resto della sessione


689 models: ModelInfo[];734 models: ModelInfo[];

690 account: AccountInfo;735 account: AccountInfo;

691 fast_mode_state?: "off" | "cooldown" | "on";736 fast_mode_state?: "off" | "cooldown" | "on";

737 fast_mode_disabled_reason?: FastModeDisabledReason;

738 hooks_applied?: boolean;

692};739};

693```740```

694 741 

695Quando un client invia `initialize` a una sessione che è già in esecuzione, il wrapper di risposta di controllo porta anche un array `pending_permission_requests` opzionale. Il campo si trova sul wrapper di risposta stesso, non nel payload `SDKControlInitializeResponse` sopra. Ogni voce è un messaggio `control_request` completo con la stessa forma `{ type: "control_request", request_id, request }` che la sessione trasmette per le richieste di permesso durante l'esecuzione.742`hooks_applied` segnala se Claude Code ha registrato gli `hooks` che la richiesta `initialize` ha trasportato. L'SDK invia quella richiesta una volta quando la sessione inizia e di nuovo su ogni chiamata [`reinitialize()`](#query-object). Il campo richiede Agent SDK v0.3.238 o successivo.

743 

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

745 

746* `true`: Claude Code ha registrato gli hook. Una prima inizializzazione della sessione restituisce questo valore. Un'inizializzazione ripetuta inviata sullo stdin della CLI restituisce anche `true`. In quel caso gli hook nella nuova richiesta sostituiscono gli hook registrati in precedenza.

747* `false`: Claude Code ha ignorato gli hook. Un'inizializzazione ripetuta inviata a una sessione remota restituisce questo valore, quindi un secondo client che si unisce a una sessione non può sostituire gli hook che il primo client ha registrato.

748 

749Prima di Agent SDK v0.3.238, la risposta non ha mai trasportato il campo, e Claude Code ha ignorato `hooks` su ogni inizializzazione ripetuta.

696 750 

697Queste sono richieste che sono state emesse prima che il client si connettesse e sono ancora in attesa di una risposta. L'SDK legge l'array per te e invia ogni voce al tuo callback [`canUseTool`](#canusetool), lo stesso reinvio che [`reinitialize()`](#query-object) attiva dopo un gap di trasporto. Gestisci gli ID di richiesta ripetuti in modo idempotente, perché una voce può ripetere una richiesta che il callback ha già ricevuto prima che la connessione si interrompesse.751La risposta sempre segnala `fast_mode_state`, e quando qualcosa blocca [fast mode](/docs/it/fast-mode), `fast_mode_disabled_reason` trasporta il codice di motivo insieme ad esso, in modo che tu possa spiegare lo stato bloccato invece di ri-derivare la disponibilità. Entrambi i comportamenti richiedono Claude Code v2.1.219 o successivo. Prima di v2.1.219, la risposta ometteva `fast_mode_state` quando fast mode non era disponibile e non trasportava mai un motivo. Per i codici di motivo e i loro significati, vedi [`fast_mode_disabled_reason`](#sdkresultmessage) sul messaggio di risultato.

752 

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

754 

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

756 

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

698 758 

699<h3 id="sdkcontrolinterruptresponse">759<h3 id="sdkcontrolinterruptresponse">

700 `SDKControlInterruptResponse`760 `SDKControlInterruptResponse`


705```typescript theme={null}765```typescript theme={null}

706type SDKControlInterruptResponse = {766type SDKControlInterruptResponse = {

707 still_queued: string[];767 still_queued: string[];

768 cancelled?: string[];

708};769};

709```770```

710 771 

711`still_queued` elenca gli UUID dei messaggi utente che sopravvivono all'interruzione: messaggi ancora nella coda, più qualsiasi batch già rimosso dalla coda per il turno successivo ma non ancora raggiungibile dall'interruzione. Ognuno viene eseguito come il suo turno dopo l'interruzione a meno che non lo annulli per primo. Usa la ricevuta per decidere se rinviare qualcosa; rinviare un messaggio che è già elencato produce un turno duplicato.772`still_queued` elenca gli UUID dei messaggi utente che erano in sospeso quando l'interruzione è arrivata: messaggi ancora nella coda, più qualsiasi messaggio Claude Code aveva già tolto dalla coda per il turno successivo. Una volta che il primo turno della sessione ha iniziato, Claude Code elabora i messaggi elencati dopo l'interruzione a meno che non li annulli per primo, e può unire diversi in un turno. Se interrompi prima che il primo turno inizi, Claude Code interrompe quel turno non appena inizia, e i messaggi elencati in quel turno non ricevono risposta.

773 

774Usa la ricevuta per decidere se rinviare qualcosa. Un messaggio elencato che non annulli entra nella conversazione indipendentemente dal fatto che riceva una risposta, quindi rinviarlo lo consegna a Claude due volte.

712 775 

713Interpreta l'elenco con questi avvertimenti:776Interpreta l'elenco con questi avvertimenti:

714 777 


716* Solo i messaggi del thread principale sono elencati. I messaggi indirizzati a un subagente sono fuori portata.779* Solo i messaggi del thread principale sono elencati. I messaggi indirizzati a un subagente sono fuori portata.

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

718 781 

782Un client che guida il protocollo di controllo della CLI direttamente, piuttosto che tramite `interrupt()`, può impostare `cancel_queued: true` sulla richiesta di controllo `interrupt`. Claude Code v2.1.219 e successivo pubblicizza il supporto con la capacità `interrupt_cancel_queued_v1` in [`SDKSystemMessage.capabilities`](#sdksystemmessage); le CLI più vecchie ignorano il campo e lasciano i messaggi in coda per funzionare come al solito. Un tale interruzione cancella anche ogni messaggio che altrimenti sarebbe elencato sotto `still_queued`: la ricevuta li elenca sotto `cancelled` invece, `still_queued` è vuoto, e nessuno di loro viene eseguito.

783 

784L'elenco `cancelled` trasporta gli stessi avvertimenti di `still_queued`. Il metodo `interrupt()` non invia mai `cancel_queued`, quindi le ricevute che si risolve non trasportano `cancelled`.

785 

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

720 787 

788<h3 id="sdkcontrolgetcontextusageresponse">

789 `SDKControlGetContextUsageResponse`

790</h3>

791 

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

793 

794L'argomento `detail` opzionale del metodo sceglie come Claude Code conta ogni categoria. Con il predefinito, `'full'`, Claude Code conta ogni categoria con richieste API di conteggio dei token. Passa `{ detail: 'summary' }` per ottenere una risposta dall'utilizzo dell'ultima risposta e dalle stime locali. Nessuna richiesta di conteggio dei token esce, e i numeri per categoria sono approssimativi. L'argomento `detail` richiede Agent SDK v0.3.257 o successivo.

795 

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

797 

798```typescript theme={null}

799type SDKControlGetContextUsageResponse = {

800 categories: {

801 name: string;

802 tokens: number;

803 color: string;

804 isDeferred?: boolean;

805 }[];

806 totalTokens: number;

807 maxTokens: number;

808 rawMaxTokens: number;

809 percentage: number;

810 gridRows: {

811 color: string;

812 isFilled: boolean;

813 categoryName: string;

814 tokens: number;

815 percentage: number;

816 squareFullness: number;

817 }[][];

818 model: string;

819 memoryFiles: {

820 path: string;

821 type: string;

822 tokens: number;

823 }[];

824 mcpTools: {

825 name: string;

826 serverName: string;

827 tokens: number;

828 isLoaded?: boolean;

829 }[];

830 deferredBuiltinTools?: {

831 name: string;

832 tokens: number;

833 isLoaded: boolean;

834 }[];

835 systemTools?: {

836 name: string;

837 tokens: number;

838 }[];

839 systemPromptSections?: {

840 name: string;

841 tokens: number;

842 }[];

843 agents: {

844 agentType: string;

845 source: string;

846 tokens: number;

847 }[];

848 slashCommands?: {

849 totalCommands: number;

850 includedCommands: number;

851 tokens: number;

852 };

853 skills?: {

854 totalSkills: number;

855 includedSkills: number;

856 tokens: number;

857 skillFrontmatter: {

858 name: string;

859 source: string;

860 tokens: number;

861 }[];

862 };

863 autoCompactThreshold?: number;

864 isAutoCompactEnabled: boolean;

865 messageBreakdown?: {

866 toolCallTokens: number;

867 toolResultTokens: number;

868 attachmentTokens: number;

869 assistantMessageTokens: number;

870 userMessageTokens: number;

871 redirectedContextTokens: number;

872 unattributedTokens: number;

873 toolCallsByType: {

874 name: string;

875 callTokens: number;

876 resultTokens: number;

877 }[];

878 attachmentsByType: {

879 name: string;

880 tokens: number;

881 }[];

882 };

883 apiUsage: {

884 input_tokens: number;

885 output_tokens: number;

886 cache_creation_input_tokens: number;

887 cache_read_input_tokens: number;

888 } | null;

889};

890```

891 

892Leggi l'attribuzione dei token dalle raccolte di campi:

893 

894* `categories` contiene i totali per categoria.

895* `mcpTools` e `agents` attribuiscono i token ai singoli tool MCP e subagenti.

896* `memoryFiles` elenca ogni file di memoria caricato con il suo costo.

897* `skills.skillFrontmatter` attribuisce i token della lista di skill a ogni skill inclusa. I conteggi per skill misurano ogni voce di lista di skill come Claude Code effettivamente la invia, che può essere più breve del frontmatter completo della skill. Confronta `skills.totalSkills` con `skills.includedSkills` per vedere se ogni skill scoperta ha fatto nella lista.

898 

899`totalTokens` è l'utilizzo di contesto corrente della sessione, e `maxTokens` è la finestra rispetto alla quale l'utilizzo viene misurato. Quella finestra è la finestra di contesto del modello, o la finestra di auto-compattazione inferiore quando una si applica. `rawMaxTokens` trasporta lo stesso valore di `maxTokens`, e `percentage` è `totalTokens` come percentuale arrotondata di quella finestra.

900 

901Claude Code lascia i diagnostici opzionali `deferredBuiltinTools`, `systemTools`, e `systemPromptSections` non impostati, quindi aspettati che siano assenti anche se il tipo li dichiara.

902 

903<h3 id="sdkcontrolreadfileresponse">

904 `SDKControlReadFileResponse`

905</h3>

906 

907Tipo di ritorno di [`readFile()`](#query-object).

908 

909```typescript theme={null}

910type SDKControlReadFileResponse = {

911 contents: string;

912 absPath: string;

913 truncated?: boolean;

914 encoding?: 'base64';

915};

916```

917 

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

919 

920<h4 id="what-readfile-can-read">

921 Cosa `readFile()` può leggere

922</h4>

923 

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

925 

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

927* Alcuni dei file di Claude Code stesso per la sessione, come i risultati dei tool

928 

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

930 

931<h3 id="sdkcontrolreloadskillsresponse">

932 `SDKControlReloadSkillsResponse`

933</h3>

934 

935Tipo di ritorno di [`reloadSkills()`](#query-object).

936 

937```typescript theme={null}

938type SDKControlReloadSkillsResponse = {

939 skills: SlashCommand[];

940};

941```

942 

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

944 

721<h3 id="agentdefinition">945<h3 id="agentdefinition">

722 `AgentDefinition`946 `AgentDefinition`

723</h3>947</h3>


744```968```

745 969 

746| Campo | Obbligatorio | Descrizione |970| Campo | Obbligatorio | Descrizione |

747| :------------------------------------ | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |971| :------------------------------------ | :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

748| `description` | Sì | Descrizione in linguaggio naturale di quando usare questo agente |972| `description` | Sì | Descrizione in linguaggio naturale di quando usare questo agente |

749| `tools` | No | Array di nomi di tool consentiti. Se omesso, eredita tutti i tool dal genitore. Per precaricare Skills nel contesto dell'agente, usa il campo `skills` piuttosto che elencando `'Skill'` qui |973| `tools` | No | Array di nomi di tool consentiti. Se omesso, eredita ogni [tool disponibile ai subagenti](/docs/it/sub-agents#available-tools). Per precaricare Skills nel contesto dell'agente, usa il campo `skills` piuttosto che elencando `'Skill'` qui |

750| `disallowedTools` | No | Array di nomi di tool da esplicitamente disabilitare per questo agente. Sono accettati anche i modelli a livello di server MCP: `mcp__server` o `mcp__server__*` rimuove ogni tool da quel server, e `mcp__*` rimuove ogni tool MCP da qualsiasi server |974| `disallowedTools` | No | Array di nomi di tool da esplicitamente disabilitare per questo agente. Sono accettati anche i modelli a livello di server MCP: `mcp__server` o `mcp__server__*` rimuove ogni tool da quel server, e `mcp__*` rimuove ogni tool MCP da qualsiasi server |

751| `prompt` | Sì | Il prompt di sistema dell'agente |975| `prompt` | Sì | Il prompt di sistema dell'agente |

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

753| `mcpServers` | No | Specifiche del server MCP per questo agente |977| `mcpServers` | No | Specifiche del server MCP per questo agente |

754| `skills` | No | Array di nomi di skill da precaricare nel contesto dell'agente |978| `skills` | No | Array di nomi di skill da precaricare nel contesto dell'agente |

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


757| `background` | No | Esegui questo agente come un'attività di background non bloccante quando invocato |981| `background` | No | Esegui questo agente come un'attività di background non bloccante quando invocato |

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

759| `effort` | No | Livello di sforzo di ragionamento per questo agente. Accetta un livello denominato o un numero intero |983| `effort` | No | Livello di sforzo di ragionamento per questo agente. Accetta un livello denominato o un numero intero |

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

761| `criticalSystemReminder_EXPERIMENTAL` | No | Sperimentale: Promemoria critico aggiunto al prompt di sistema |985| `criticalSystemReminder_EXPERIMENTAL` | No | Sperimentale: Promemoria critico aggiunto al prompt di sistema |

762 986 

763<h3 id="agentmcpserverspec">987<h3 id="agentmcpserverspec">


783```1007```

784 1008 

785| Valore | Descrizione | Posizione |1009| Valore | Descrizione | Posizione |

786| :---------- | :---------------------------------------------------------------- | :---------------------------- |1010| :---------- | :--------------------------------------------------------------------------------------------- | :---------------------------- |

787| `'user'` | Impostazioni globali dell'utente | `~/.claude/settings.json` |1011| `'user'` | Impostazioni globali dell'utente | `~/.claude/settings.json` |

788| `'project'` | Impostazioni del progetto condivise (controllate dalla versione) | `.claude/settings.json` |1012| `'project'` | Impostazioni del progetto condivise (controllate dalla versione) | `.claude/settings.json` |

789| `'local'` | Impostazioni del progetto locale (non controllate dalla versione) | `.claude/settings.local.json` |1013| `'local'` | Impostazioni del progetto locale, gitignorate quando Claude Code salva un'impostazione in essa | `.claude/settings.local.json` |

790 1014 

791<h4 id="default-behavior">1015<h4 id="default-behavior">

792 Comportamento predefinito1016 Comportamento predefinito

793</h4>1017</h4>

794 1018 

795Quando `settingSources` è omesso o `undefined`, `query()` carica le stesse impostazioni del filesystem del CLI Claude Code: utente, progetto e locale. Le impostazioni della politica gestita vengono caricate in tutti i casi; le impostazioni gestite dal server vengono recuperate quando la sessione si autentica con una credenziale organizzativa su una [configurazione idonea](/docs/it/server-managed-settings#platform-availability). Vedi [Cosa settingSources non controlla](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control) per gli input che vengono letti indipendentemente da questa opzione, e come disabilitarli.1019Quando `settingSources` è omesso o `undefined`, `query()` carica le stesse impostazioni del filesystem del CLI Claude Code: utente, progetto e locale. Vedi [Cosa settingSources non controlla](/docs/it/agent-sdk/claude-code-features#what-settingsources-does-not-control) per gli input che vengono letti indipendentemente da questa opzione, e come disabilitarli.

796 1020 

797<h4 id="why-use-settingsources">1021<h4 id="why-use-settingsources">

798 Perché usare settingSources1022 Perché usare settingSources


801**Disabilita le impostazioni del filesystem:**1025**Disabilita le impostazioni del filesystem:**

802 1026 

803```typescript theme={null}1027```typescript theme={null}

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

1029 

804// Non caricare le impostazioni utente, progetto o locali dal disco1030// Non caricare le impostazioni utente, progetto o locali dal disco

805const result = query({1031const result = query({

806 prompt: "Analyze this code",1032 prompt: "Analyze this code",


808});1034});

809```1035```

810 1036 

811**Carica tutte le impostazioni del filesystem esplicitamente:**

812 

813```typescript theme={null}

814const result = query({

815 prompt: "Analyze this code",

816 options: {

817 settingSources: ["user", "project", "local"] // Carica tutte le impostazioni

818 }

819});

820```

821 

822**Carica solo fonti di impostazioni specifiche:**1037**Carica solo fonti di impostazioni specifiche:**

823 1038 

824```typescript theme={null}1039```typescript theme={null}

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

1041 

825// Carica solo le impostazioni del progetto, ignora utente e locale1042// Carica solo le impostazioni del progetto, ignora utente e locale

826const result = query({1043const result = query({

827 prompt: "Run CI checks",1044 prompt: "Run CI checks",


831});1048});

832```1049```

833 1050 

834**Ambienti di test e CI:**1051Per caricare le istruzioni del progetto CLAUDE.md, includi `"project"` in `settingSources`. Vedi [Modifica i prompt di sistema](/docs/it/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions) per come il caricamento di CLAUDE.md interagisce con le opzioni del prompt di sistema.

835 

836```typescript theme={null}

837// Assicura un comportamento coerente in CI escludendo le impostazioni locali

838const result = query({

839 prompt: "Run tests",

840 options: {

841 settingSources: ["project"], // Solo impostazioni condivise dal team

842 permissionMode: "bypassPermissions"

843 }

844});

845```

846 

847**Applicazioni solo SDK:**

848 

849```typescript theme={null}

850// Definisci tutto a livello di programmazione.

851// Passa [] per rinunciare alle fonti di impostazioni del filesystem.

852const result = query({

853 prompt: "Review this PR",

854 options: {

855 settingSources: [],

856 agents: {

857 /* ... */

858 },

859 mcpServers: {

860 /* ... */

861 },

862 allowedTools: ["Read", "Grep", "Glob"]

863 }

864});

865```

866 

867**Caricamento delle istruzioni del progetto CLAUDE.md:**

868 

869```typescript theme={null}

870// Carica le impostazioni del progetto per includere i file CLAUDE.md

871const result = query({

872 prompt: "Add a new feature following project conventions",

873 options: {

874 systemPrompt: {

875 type: "preset",

876 preset: "claude_code" // Usa il prompt di sistema di Claude Code

877 },

878 settingSources: ["project"], // Carica CLAUDE.md dalla directory del progetto

879 allowedTools: ["Read", "Write", "Edit"]

880 }

881});

882```

883 1052 

884<h4 id="settings-precedence">1053<h4 id="settings-precedence">

885 Precedenza delle impostazioni1054 Precedenza delle impostazioni


904 | "bypassPermissions" // Bypass di tutti i controlli di permesso; le regole di richiesta esplicita richiedono comunque1073 | "bypassPermissions" // Bypass di tutti i controlli di permesso; le regole di richiesta esplicita richiedono comunque

905 | "plan" // Modalità di pianificazione - esplora senza modificare1074 | "plan" // Modalità di pianificazione - esplora senza modificare

906 | "dontAsk" // Non richiedere i permessi, nega se non pre-approvato1075 | "dontAsk" // Non richiedere i permessi, nega se non pre-approvato

907 | "auto"; // Usa un classificatore di modello per approvare o negare ogni chiamata di tool1076 | "auto"; // Classificatore di modello approva o nega i prompt di permesso

908```1077```

909 1078 

910<h3 id="canusetool">1079<h3 id="canusetool">


915 1084 

916La funzione è la sostituzione SDK per il prompt di permesso interattivo: viene invocata solo quando il [flusso di valutazione del permesso](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) si risolve in un prompt. Le chiamate di tool già approvate da una voce `allowedTools`, una regola di autorizzazione nelle impostazioni, o la modalità di permesso, come `acceptEdits` o `bypassPermissions`, non la invocano mai. Per controllare ogni chiamata di tool, usa un [hook `PreToolUse`](/docs/it/agent-sdk/hooks) invece.1085La funzione è la sostituzione SDK per il prompt di permesso interattivo: viene invocata solo quando il [flusso di valutazione del permesso](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) si risolve in un prompt. Le chiamate di tool già approvate da una voce `allowedTools`, una regola di autorizzazione nelle impostazioni, o la modalità di permesso, come `acceptEdits` o `bypassPermissions`, non la invocano mai. Per controllare ogni chiamata di tool, usa un [hook `PreToolUse`](/docs/it/agent-sdk/hooks) invece.

917 1086 

918`AskUserQuestion`, tool MCP contrassegnati [`requiresUserInteraction`](/docs/it/mcp#require-approval-for-a-specific-tool), e tool connettore [impostati dalla tua organizzazione su `ask`](/docs/it/mcp#organization-controls-on-connector-tools) la raggiungono anche quando una regola di autorizzazione corrisponde. In modalità `dontAsk` queste chiamate vengono negate invece, senza invocarla.1087Una regola di autorizzazione non pre-approva le [azioni che nessuna modalità auto-approva](/docs/it/permission-modes#actions-no-mode-auto-approves); vedi [Come i permessi vengono valutati](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) per quali di loro raggiungono il callback e cosa succede in modalità `dontAsk` e `auto`.

919 1088 

920```typescript theme={null}1089```typescript theme={null}

921type CanUseTool = (1090type CanUseTool = (


984```1153```

985 1154 

986| Campo | Tipo | Descrizione |1155| Campo | Tipo | Descrizione |

987| :------------------------------ | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1156| :------------------------------ | :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

988| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Acconsente al campo `preview` su [`AskUserQuestion`](/docs/it/agent-sdk/user-input#question-format) opzioni e imposta il suo formato di contenuto. Se non impostato, Claude non emette anteprime |1157| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Acconsente al campo `preview` su [`AskUserQuestion`](/docs/it/agent-sdk/user-input#question-format) opzioni e imposta il suo formato di contenuto. Quando non impostato, Claude non emette anteprime |

989 1158 

990<h3 id="mcpserverconfig">1159<h3 id="mcpserverconfig">

991 `McpServerConfig`1160 `McpServerConfig`


1046type McpSdkServerConfigWithInstance = {1215type McpSdkServerConfigWithInstance = {

1047 type: "sdk";1216 type: "sdk";

1048 name: string;1217 name: string;

1218 timeout?: number;

1049 instance: McpServer;1219 instance: McpServer;

1050};1220};

1051```1221```


1077```1247```

1078 1248 

1079| Campo | Tipo | Descrizione |1249| Campo | Tipo | Descrizione |

1080| :----------------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1250| :----------------- | :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1081| `type` | `'local'` | Deve essere `'local'` (attualmente supportati solo plugin locali) |1251| `type` | `'local'` | Deve essere `'local'` (attualmente supportati solo plugin locali) |

1082| `path` | `string` | Percorso assoluto o relativo alla directory del plugin |1252| `path` | `string` | Percorso assoluto o relativo alla directory del plugin |

1083| `skipMcpDiscovery` | `boolean` | Quando `true`, l'SDK carica skills, hooks, agenti e comandi da questo plugin ma non legge il suo `.mcp.json` o il manifest `mcpServers`. Imposta questo quando la tua applicazione possiede le connessioni MCP del plugin. |1253| `skipMcpDiscovery` | `boolean` | Quando `true`, l'SDK carica skill, hook, agenti e comandi da questo plugin ma non legge il suo `.mcp.json` o il manifest `mcpServers`. Imposta questo quando la tua applicazione possiede le connessioni MCP del plugin. |

1084 1254 

1085**Esempio:**1255**Esempio:**

1086 1256 


1157 message: BetaMessage; // Dall'SDK Anthropic1327 message: BetaMessage; // Dall'SDK Anthropic

1158 parent_tool_use_id: string | null;1328 parent_tool_use_id: string | null;

1159 error?: SDKAssistantMessageError;1329 error?: SDKAssistantMessageError;

1330 aborted?: true;

1331 timestamp?: string;

1332 context_usage?: SDKContextUsage;

1333 user_message_uuid?: string;

1334 user_message_uuids?: string[];

1160};1335};

1161```1336```

1162 1337 

1163Il campo `message` è un [`BetaMessage`](https://platform.claude.com/docs/it/api/messages/create) dall'SDK Anthropic. Include campi come `id`, `content`, `model`, `stop_reason` e `usage`.1338Il campo `message` è un [`BetaMessage`](https://platform.claude.com/docs/it/api/messages/create) dall'SDK Anthropic. Include campi come `id`, `content`, `model`, `stop_reason` e `usage`.

1164 1339 

1165`SDKAssistantMessageError` è uno di: `'authentication_failed'`, `'oauth_org_not_allowed'`, `'billing_error'`, `'rate_limit'`, `'overloaded'`, `'invalid_request'`, `'model_not_found'`, `'server_error'`, `'max_output_tokens'`, o `'unknown'`. `'model_not_found'` significa che il modello selezionato non esiste o non è disponibile per il tuo account o deployment. `'overloaded'` significa che l'API ha restituito un 529 perché il server è al massimo della capacità, a differenza di `'rate_limit'`, che è un 429 rispetto alla tua quota.1340`SDKAssistantMessageError` è uno di: `'authentication_failed'`, `'oauth_org_not_allowed'`, `'account_on_hold'`, `'billing_error'`, `'rate_limit'`, `'overloaded'`, `'invalid_request'`, `'model_not_found'`, `'server_error'`, `'max_output_tokens'`, `'cloud_credential_error'`, o `'unknown'`. Quattro di questi valori significano più di quanto i loro nomi dicono:

1341 

1342* `'model_not_found'`: il modello selezionato non esiste o non è disponibile per il tuo account o deployment

1343* `'overloaded'`: l'API ha restituito un 529 perché il server è al massimo della capacità, a differenza di `'rate_limit'`, che è un 429 rispetto alla tua quota

1344* `'account_on_hold'`: [il tuo account è in sospeso](/docs/it/errors#your-account-is-on-hold)

1345* `'cloud_credential_error'`: Claude Code non ha potuto ottenere credenziali AWS o Google Cloud utilizzabili sulla macchina su cui viene eseguito, quindi nessuna richiesta ha raggiunto il provider cloud. La causa solita è un accesso al cloud scaduto o mai completato su quella macchina, anche se un servizio di credenziali brevemente irraggiungibile segnala lo stesso valore. Vedi [Impossibile caricare le credenziali AWS o Google Cloud](/docs/it/errors#could-not-load-aws-or-google-cloud-credentials). Richiede TypeScript Agent SDK v0.3.267 o successivo, che raggruppa Claude Code v2.1.267

1346 

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

1348 

1349Claude Code imposta `user_message_uuid` e `user_message_uuids` sul primo messaggio dell'assistente del turno, secondo le condizioni in [`user_message_uuid`](#user_message_uuid).

1350 

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

1352 

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

1166 1354 

1167<h3 id="sdkusermessage">1355<h3 id="sdkusermessage">

1168 `SDKUserMessage`1356 `SDKUserMessage`


1190 1378 

1191Per lo strumento `Agent`, `tool_use_result` è [`AgentOutput`](#agent-2). Su un risultato `completed`, `content` contiene il rapporto del subagente senza l'ID agente e il trailer di utilizzo che Claude Code aggiunge al testo `tool_result`, quindi esegui il rendering da `tool_use_result` invece di analizzare quel testo.1379Per lo strumento `Agent`, `tool_use_result` è [`AgentOutput`](#agent-2). Su un risultato `completed`, `content` contiene il rapporto del subagente senza l'ID agente e il trailer di utilizzo che Claude Code aggiunge al testo `tool_result`, quindi esegui il rendering da `tool_use_result` invece di analizzare quel testo.

1192 1380 

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

1382 

1193<h3 id="sdkusermessagereplay">1383<h3 id="sdkusermessagereplay">

1194 `SDKUserMessageReplay`1384 `SDKUserMessageReplay`

1195</h3>1385</h3>


1234 stop_reason: string | null;1424 stop_reason: string | null;

1235 ttft_ms?: number;1425 ttft_ms?: number;

1236 ttft_stream_ms?: number;1426 ttft_stream_ms?: number;

1427 user_message_uuid?: string;

1428 user_message_uuids?: string[];

1429 request_sent_wall_ms?: number;

1430 first_content_frame_ms?: number;

1431 first_stream_post_ms?: number;

1432 first_stream_post_ack_ms?: number;

1433 first_stream_post_wall_ms?: number;

1237 total_cost_usd: number;1434 total_cost_usd: number;

1238 usage: NonNullableUsage;1435 usage: NonNullableUsage;

1239 modelUsage: { [modelName: string]: ModelUsage };1436 modelUsage: { [modelName: string]: ModelUsage };

1240 permission_denials: SDKPermissionDenial[];1437 permission_denials: SDKPermissionDenial[];

1438 queued_turn_count?: number;

1241 structured_output?: unknown;1439 structured_output?: unknown;

1242 deferred_tool_use?: { id: string; name: string; input: Record<string, unknown> };1440 deferred_tool_use?: { id: string; name: string; input: Record<string, unknown> };

1243 terminal_reason?: TerminalReason;1441 terminal_reason?: TerminalReason;

1244 fast_mode_state?: FastModeState;1442 fast_mode_state?: FastModeState;

1443 fast_mode_disabled_reason?: FastModeDisabledReason;

1245 origin?: SDKMessageOrigin;1444 origin?: SDKMessageOrigin;

1246 }1445 }

1247 | {1446 | {


1262 usage: NonNullableUsage;1461 usage: NonNullableUsage;

1263 modelUsage: { [modelName: string]: ModelUsage };1462 modelUsage: { [modelName: string]: ModelUsage };

1264 permission_denials: SDKPermissionDenial[];1463 permission_denials: SDKPermissionDenial[];

1464 queued_turn_count?: number;

1265 errors: string[];1465 errors: string[];

1466 user_message_uuid?: string;

1467 user_message_uuids?: string[];

1266 terminal_reason?: TerminalReason;1468 terminal_reason?: TerminalReason;

1267 fast_mode_state?: FastModeState;1469 fast_mode_state?: FastModeState;

1470 fast_mode_disabled_reason?: FastModeDisabledReason;

1268 origin?: SDKMessageOrigin;1471 origin?: SDKMessageOrigin;

1269 };1472 };

1270```1473```


1274* `api_error_status`: il codice di stato HTTP dell'errore API che ha terminato la conversazione. Assente o `null` quando il turno è terminato senza un errore API.1477* `api_error_status`: il codice di stato HTTP dell'errore API che ha terminato la conversazione. Assente o `null` quando il turno è terminato senza un errore API.

1275* `ttft_ms`: tempo al primo token in millisecondi, misurato quando arriva il primo messaggio dell'assistente completo. Presente solo sul ramo di successo.1478* `ttft_ms`: tempo al primo token in millisecondi, misurato quando arriva il primo messaggio dell'assistente completo. Presente solo sul ramo di successo.

1276* `ttft_stream_ms`: tempo in millisecondi fino al primo evento di flusso `message_start`, quando il flusso di risposta si apre. Inferiore a `ttft_ms`; il divario tra i due è il tempo impiegato per lo streaming del primo messaggio. Presente solo sul ramo di successo.1479* `ttft_stream_ms`: tempo in millisecondi fino al primo evento di flusso `message_start`, quando il flusso di risposta si apre. Inferiore a `ttft_ms`; il divario tra i due è il tempo impiegato per lo streaming del primo messaggio. Presente solo sul ramo di successo.

1480* `user_message_uuid`: l'`uuid` del messaggio che hai inviato a cui questo turno ha risposto. Vedi [`user_message_uuid`](#user_message_uuid) per quali risultati lo contengono.

1481* `user_message_uuids`: gli `uuid` di ogni messaggio che hai inviato a cui Claude Code ha risposto in questo turno. Vedi [`user_message_uuids`](#user_message_uuids).

1482* `request_sent_wall_ms`: millisecondi di epoca in cui Claude Code ha inviato la richiesta API, per join rispetto ai timestamp lato server. Presente solo insieme a [`user_message_uuid`](#user_message_uuid), su un risultato di successo con `is_error` false il cui turno ha inviato una richiesta API.

1483* `first_content_frame_ms`: tempo in millisecondi fino al primo evento di flusso `content_block_start` o `content_block_delta`, contando i blocchi di pensiero come contenuto. Presente sul ramo di successo solo, quando `is_error` è false. Richiede Agent SDK v0.3.260 o successivo.

1484* `first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms`: tempi per il caricamento del primo evento di flusso del turno. Claude Code li registra solo nelle sessioni che trasmette a claude.ai, come [sessioni cloud](/docs/it/claude-code-on-the-web), e i risultati che `query()` produce non li contengono. Richiede Agent SDK v0.3.260 o successivo.

1485* `usage`: solo ciclo agente principale. Esclude le chiamate di subagente e modello ausiliario, ed è per turno nelle sessioni di input in streaming. Preferisci `modelUsage` per la contabilità di token/costo.

1486* `modelUsage`: totali per modello per ogni chiamata di modello effettuata attraverso la pipeline di query durante questa chiamata `query()`, incluso il ciclo principale, i subagenti e le chiamate interne come la compattazione e gli agenti Workflow. Le chiamate helper al di fuori di quella pipeline, come il classificatore di autorizzazione e le richieste di conteggio dei token, sono escluse. Nelle sessioni di input in streaming i totali sono cumulativi tra i turni, quindi leggi il risultato più recente piuttosto che sommare tra i risultati. Vedi [Traccia i costi in modalità input in streaming](/docs/it/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) per i reset e [Recupera i totali dopo un arresto anomalo della sessione](/docs/it/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) per i risultati azzerati.

1487* `total_cost_usd`: costo stimato cumulativo in USD per questa chiamata `query()`, coprendo le stesse chiamate di `modelUsage` e reset negli stessi punti. È una stima, non un estratto conto di fatturazione. Vedi [Traccia costo e utilizzo](/docs/it/agent-sdk/cost-tracking) per le avvertenze di accuratezza.

1488* `queued_turn_count`: il numero di messaggi che hai inviato con `origin: { kind: "human" }` che sono ancora in attesa quando Claude Code ha prodotto il risultato. Vedi [`queued_turn_count`](#queued_turn_count) per cosa significano `0` e un campo assente.

1277* `terminal_reason`: il motivo per cui il ciclo è terminato. Uno di `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"`, o `"turn_setup_failed"`.1489* `terminal_reason`: il motivo per cui il ciclo è terminato. Uno di `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"`, o `"turn_setup_failed"`.

1278* `fast_mode_state`: uno di `"on"`, `"off"`, o `"cooldown"`.1490* `fast_mode_state`: uno di `"on"`, `"off"`, o `"cooldown"`.

1491* `fast_mode_disabled_reason`: il motivo per cui [fast mode](/docs/it/fast-mode) non è disponibile in questo momento. Assente quando nulla blocca fast mode, anche se una richiesta potrebbe comunque essere eseguita a velocità standard. Durante il cooldown dopo un limite di velocità fast mode, Claude Code segnala `fast_mode_state: "cooldown"` senza codice di motivo e riabilita fast mode quando il cooldown scade. Richiede Claude Code v2.1.219 o successivo.

1492 

1493Usa il codice di motivo per spiegare perché fast mode è disattivato nella tua interfaccia utente invece di derivare nuovamente la disponibilità. Ogni codice nomina il controllo che ha bloccato fast mode:

1279 1494 

1280Il campo `origin` inoltro l'[`SDKMessageOrigin`](#sdkmessageorigin) del messaggio utente che ha attivato questo risultato. Quando un'attività in background finisce e l'SDK inietta un turno di follow-up sintetico, il `SDKResultMessage` risultante contiene `origin: { kind: "task-notification" }`. Controlla questo campo per distinguere i risultati che rispondono al tuo prompt dai risultati emessi per i follow-up di attività in background, in modo da poter instradare o sopprimere questi ultimi. Il campo è assente per i risultati emessi prima di qualsiasi turno utente, come gli errori di avvio.1495| Codice di motivo | Significato |

1496| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1497| `free` | L'account non ha l'abbonamento a pagamento o i crediti di utilizzo che fast mode richiede |

1498| `preference` | L'organizzazione ha disabilitato fast mode |

1499| `extra_usage_disabled` | I crediti di utilizzo sono disattivati per l'account |

1500| `network_error` | Il [controllo di disponibilità](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) non ha potuto raggiungere `api.anthropic.com` |

1501| `unknown` | Claude Code non ha potuto determinare la disponibilità |

1502| `not_first_party` | La sessione utilizza un provider diverso dall'API Anthropic |

1503| `disabled_by_env` | [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/it/env-vars) è impostato |

1504| `model_not_allowed` | Il modello Opus fast mode non è nella lista di autorizzazione [`availableModels`](/docs/it/model-config#restrict-model-selection) dell'organizzazione |

1505| `sdk_opt_in_required` | La sessione non ha acconsentito a fast mode: passa `fastMode: true` nell'opzione [`settings`](#options) o tramite [`applyFlagSettings()`](#applyflagsettings) |

1506| `pending` | Il controllo di disponibilità non è ancora completato |

1507 

1508La stessa coppia di campi appare su [`SDKSystemMessage`](#sdksystemmessage) e su [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse), quindi puoi leggere lo stato fast mode prima del primo turno.

1509 

1510Il campo `origin` inoltro l'[`SDKMessageOrigin`](#sdkmessageorigin) del messaggio utente che ha attivato questo risultato. Quando l'SDK inietta un turno di follow-up sintetico, come per un'attività finita in background, il `SDKResultMessage` risultante contiene `origin: { kind: "task-notification" }`. Le routine il cui trigger si è attivato e i messaggi verificati dal server dalle tue altre sessioni arrivano con questo tipo anche, ciascuno con il `subkind` descritto in [Subkind di notifica attività](#task-notification-subkinds). Controlla `kind` per distinguere i risultati che rispondono al tuo prompt dai follow-up iniettati prima di instradare o sopprimere questi ultimi.

1511 

1512Il campo è assente per i risultati emessi prima di qualsiasi turno utente, come gli errori di avvio.

1281 1513 

1282Quando un hook `PreToolUse` restituisce `permissionDecision: "defer"`, il risultato ha `stop_reason: "tool_deferred"` e `deferred_tool_use` contiene l'`id`, il `name` e l'`input` del tool in sospeso. Leggi questo campo per visualizzare la richiesta nella tua interfaccia utente, quindi riprendi con lo stesso `session_id` per continuare. Vedi [Rinvia una chiamata di tool per dopo](/docs/it/hooks#defer-a-tool-call-for-later) per il percorso completo.1514Quando un hook `PreToolUse` restituisce `permissionDecision: "defer"`, il risultato ha `stop_reason: "tool_deferred"` e `deferred_tool_use` contiene l'`id`, il `name` e l'`input` del tool in sospeso. Leggi questo campo per visualizzare la richiesta nella tua interfaccia utente, quindi riprendi con lo stesso `session_id` per continuare. Vedi [Rinvia una chiamata di tool per dopo](/docs/it/hooks#defer-a-tool-call-for-later) per il percorso completo.

1283 1515 

1516<h4 id="user_message_uuid">

1517 `user_message_uuid`

1518</h4>

1519 

1520L'`uuid` del [`SDKUserMessage`](#sdkusermessage) a cui il turno sta rispondendo, ripetuto in modo da poter abbinare la risposta di Claude Code al messaggio che hai inviato. Claude Code ripete un `uuid` solo se ne hai impostato uno sul messaggio. Il campo è facoltativo su `SDKUserMessage`, e un prompt di stringa passato a `query()` non ne contiene nessuno.

1521 

1522Quale dei tuoi messaggi un turno risponde dipende da come il turno è iniziato:

1523 

1524* **Un messaggio regolare che hai inviato**, cioè uno senza `isSynthetic: true`: il turno risponde a quel messaggio per tutta la sua esecuzione. Quando invii diversi messaggi uno dopo l'altro, Claude Code può unirli in un turno, e il campo contiene solo l'`uuid` dell'ultimo messaggio. Per abbinare la risposta a uno qualsiasi dei messaggi uniti, usa [`user_message_uuids`](#user_message_uuids).

1525* **Un messaggio che hai inviato con `isSynthetic: true`**: il turno risponde a quel messaggio all'inizio. Se Claude Code raccoglie un messaggio regolare tuo tra le chiamate di tool, il turno risponde al messaggio raccolto da allora in poi. L'eco di un `uuid` di messaggio sintetico richiede Agent SDK v0.3.265 o successivo; le versioni precedenti non ecolano nulla sui turni sintetici.

1526* **Un prompt che Claude Code ha generato da solo**, come il turno che continua il lavoro interrotto dopo il riavvio di una sessione: il turno non risponde a nessun messaggio tuo all'inizio e i suoi frame non contengono alcun eco. Se Claude Code raccoglie un messaggio regolare tuo tra le chiamate di tool, il turno risponde a quel messaggio da allora in poi. L'eco di raccolta richiede Agent SDK v0.3.265 o successivo; le versioni precedenti non ecolano nulla su questi turni.

1527 

1528Claude Code ripete l'`uuid` del messaggio a cui ha risposto su tre tipi di frame:

1529 

1530* **Il risultato**: ogni risultato di un turno che ha risposto a un messaggio che hai inviato. Ogni tale risultato lo contiene su Agent SDK v0.3.265 o successivo. Prima della v0.3.265, il risultato di successo di un turno che un messaggio regolare ha avviato non lo conteneva quando il turno non ha inviato alcuna richiesta API o è terminato con una chiamata di tool differita. Prima della v0.3.246, anche i risultati di errore non lo contenevano, e prima della v0.3.216 ogni risultato non lo conteneva.

1531* **La prima risposta del turno**: il primo [messaggio dell'assistente](#sdkassistantmessage), o con `includePartialMessages` il primo [evento di flusso](#sdkpartialassistantmessage) il cui `event.type` non è `ping`, in modo da poter associare la risposta prima che il risultato arrivi. Quando un turno non trasmette nulla, Claude Code lo imposta sul primo messaggio dell'assistente. L'eco della prima risposta richiede Agent SDK v0.3.246 o successivo. Quando il messaggio a cui il turno sta rispondendo cambia a metà turno, la prima risposta dopo il cambio contiene il campo anche, su Agent SDK v0.3.265 o successivo; le versioni precedenti lo impostano su un frame di risposta per turno.

1532* **Ogni frame [`thinking_tokens`](#sdkthinkingtokensmessage) del turno**: in modo da poter attribuire il progresso del pensiero al messaggio che hai inviato senza aspettare la prima risposta del turno. Richiede Agent SDK v0.3.260 o successivo.

1533 

1534Claude Code omette il campo in questi casi:

1535 

1536* Frame di risposta diversi da quelle prime risposte

1537* Frame di subagente

1538* Turni che non rispondono a nessun messaggio con un `uuid`: il turno ha risposto a un messaggio che hai inviato senza uno, o Claude Code ha avviato il turno stesso e non ha raccolto nessun messaggio regolare che ne ha uno

1539* Risultati che non rispondono a nessun messaggio che hai inviato, come il risultato azzerato dopo un arresto anomalo del processo worker

1540 

1541<h4 id="user_message_uuids">

1542 `user_message_uuids`

1543</h4>

1544 

1545Gli `uuid` di ogni messaggio che hai inviato a cui Claude Code ha risposto in questo turno. Quando invii diversi messaggi uno dopo l'altro, Claude Code può unirli in un turno, e `user_message_uuid` nomina solo l'ultimo di essi. Per abbinare la risposta a uno qualsiasi dei messaggi uniti, cerca l'`uuid` di quel messaggio ovunque in questo elenco. Richiede Agent SDK v0.3.259 o successivo.

1546 

1547Claude Code imposta l'elenco insieme a `user_message_uuid` su ogni frame di risposta che contiene quel campo e sul risultato. Per l'insieme completo di frame che contengono `user_message_uuid`, e la versione che ciascuno richiede, vedi [`user_message_uuid`](#user_message_uuid). L'elenco contiene sempre `user_message_uuid` e contiene al massimo 64 voci.

1548 

1549Quando Claude Code raccoglie un messaggio regolare che hai inviato mentre un turno era in esecuzione, aggiunge l'`uuid` di quel messaggio all'elenco del risultato.

1550 

1551Quando una prima risposta o un risultato contiene `user_message_uuid` senza l'elenco, proviene da una versione precedente di Claude Code, quindi ricadi al campo singolo.

1552 

1553<h4 id="queued_turn_count">

1554 `queued_turn_count`

1555</h4>

1556 

1557Il numero di messaggi che hai inviato con [`origin: { kind: "human" }`](#sdkmessageorigin) che sono ancora in attesa nella coda di comando quando Claude Code ha prodotto il risultato. Richiede Agent SDK v0.3.242 o successivo.

1558 

1559Cosa significano `0` e un campo assente:

1560 

1561* **`0`**: Claude Code non conta i messaggi che hai inviato senza quel `origin`, e non conta le notifiche di attività, quindi un turno può comunque seguire.

1562* **Assente**: il risultato finale che Claude Code emette dopo un arresto anomalo o un errore di avvio fatale omette il campo, e [può contenere totali azzerati](/docs/it/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).

1563 

1284<h3 id="sdksystemmessage">1564<h3 id="sdksystemmessage">

1285 `SDKSystemMessage`1565 `SDKSystemMessage`

1286</h3>1566</h3>


1306 model: string;1586 model: string;

1307 permissionMode: PermissionMode;1587 permissionMode: PermissionMode;

1308 slash_commands: string[];1588 slash_commands: string[];

1589 terminal_slash_commands?: string[];

1309 output_style: string;1590 output_style: string;

1310 skills: string[];1591 skills: string[];

1311 plugins: { name: string; path: string }[];1592 plugins: { name: string; path: string }[];

1593 fast_mode_state?: FastModeState;

1594 fast_mode_disabled_reason?: FastModeDisabledReason;

1595 effort?: "low" | "medium" | "high" | "xhigh" | "max" | null;

1312 capabilities?: string[];1596 capabilities?: string[];

1313};1597};

1314```1598```

1315 1599 

1316L'array `capabilities` nomina i comportamenti del protocollo che questa CLI implementa, in modo da poter rilevare le funzionalità invece di confrontare le stringhe `claude_code_version`. È un insieme aperto: ignora i valori che non riconosci e controlla la capacità specifica su cui fai affidamento. Il campo richiede Claude Code v2.1.205 o successivo ed è assente su CLI precedenti.1600`fast_mode_state` segnala lo stato [fast mode](/docs/it/fast-mode) della sessione. Quando qualcosa blocca fast mode, `fast_mode_disabled_reason` nomina il controllo che lo ha bloccato; il campo richiede Claude Code v2.1.219 o successivo. Per i codici di motivo e i loro significati, vedi [`fast_mode_disabled_reason`](#sdkresultmessage) sul messaggio di risultato.

1601 

1602`terminal_slash_commands` nomina le voci in `slash_commands` la cui interfaccia è associata al terminale locale, come `exit`. Puoi inviarle come qualsiasi altra voce in `slash_commands`; il campo esiste in modo che un client remoto o mobile possa nasconderle dai suoi menu di comando. Il campo è presente solo quando non vuoto, e richiede Agent SDK v0.3.229 o successivo.

1603 

1604* `effort`: il [livello di sforzo](/docs/it/model-config#adjust-effort-level) che Claude Code invia sulla prossima richiesta della sessione, o `null` quando non ne invia nessuno. Claude Code imposta il campo solo sul messaggio di init che invia ai client [Remote Control](/docs/it/remote-control), e lo omette dal messaggio di init che la tua applicazione legge. Richiede Agent SDK v0.3.234 o successivo.

1605 

1606L'array `capabilities` nomina i comportamenti del protocollo che questa CLI implementa, in modo da poter rilevare le funzionalità invece di confrontare le stringhe `claude_code_version`. È un insieme aperto: ignora i valori che non riconosci, e controlla la capacità specifica su cui fai affidamento. Il campo richiede Claude Code v2.1.205 o successivo ed è assente su CLI precedenti.

1317 1607 

1318| Capacità | Significato |1608| Capacità | Significato |

1319| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1609| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1320| `interrupt_receipt_v1` | [`interrupt()`](#query-object) si risolve con una ricevuta [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) che nomina i messaggi in coda che sopravvivono all'interruzione |1610| `interrupt_receipt_v1` | [`interrupt()`](#query-object) si risolve con una ricevuta [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) che nomina i messaggi che erano in sospeso quando l'interruzione è arrivata |

1611| `interrupt_cancel_queued_v1` | La richiesta di controllo `interrupt` onora `cancel_queued: true`, annullando i messaggi che la ricevuta altrimenti elencherebbe sotto `still_queued` e elencandoli sotto `cancelled` invece. Vedi [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse). Richiede Claude Code v2.1.219 o successivo |

1321 1612 

1322<h3 id="sdkpartialassistantmessage">1613<h3 id="sdkpartialassistantmessage">

1323 `SDKPartialAssistantMessage`1614 `SDKPartialAssistantMessage`


1333 uuid: UUID;1624 uuid: UUID;

1334 session_id: string;1625 session_id: string;

1335 ttft_ms?: number; // Tempo al primo token in ms, presente solo negli eventi message_start1626 ttft_ms?: number; // Tempo al primo token in ms, presente solo negli eventi message_start

1627 user_message_uuid?: string;

1628 user_message_uuids?: string[];

1336};1629};

1337```1630```

1338 1631 

1632Claude Code imposta `user_message_uuid` e `user_message_uuids` sul primo evento di flusso non-ping del turno, e di nuovo quando il messaggio a cui il turno sta rispondendo cambia, secondo le condizioni in [`user_message_uuid`](#user_message_uuid).

1633 

1339<h3 id="sdkcompactboundarymessage">1634<h3 id="sdkcompactboundarymessage">

1340 `SDKCompactBoundaryMessage`1635 `SDKCompactBoundaryMessage`

1341</h3>1636</h3>


1359 `SDKInformationalMessage`1654 `SDKInformationalMessage`

1360</h3>1655</h3>

1361 1656 

1362Banner di testo generico emesso dal ciclo. Contiene righe di stato non di errore, feedback di hook come il motivo del blocco di un hook `UserPromptSubmit`, e output di comando. Renderizza `content` come testo semplice al livello specificato.1657Banner di testo generico emesso dal ciclo. Contiene righe di stato non di errore, feedback di hook come il motivo del blocco di un hook `UserPromptSubmit`, e output di comando. Su Claude Code v2.1.227 o successivo, il [`systemMessage`](/docs/it/hooks#json-output) di un hook può arrivare come questo messaggio, con ogni riga prefissata dal nome dell'hook, come `PostToolUse:Bash says:`. Se il `systemMessage` di un hook arriva come questo messaggio dipende dall'evento. Ogni [sezione dell'evento](/docs/it/hooks#hook-events) sulla pagina dei hook dice come l'output viene visualizzato. Renderizza `content` come testo semplice al livello specificato.

1363 1658 

1364```typescript theme={null}1659```typescript theme={null}

1365type SDKInformationalMessage = {1660type SDKInformationalMessage = {


1412 `SDKPermissionDeniedMessage`1707 `SDKPermissionDeniedMessage`

1413</h3>1708</h3>

1414 1709 

1415Evento di flusso emesso quando il sistema di autorizzazione nega automaticamente una chiamata di tool senza un prompt interattivo. Usalo per rendere il rifiuto nella tua interfaccia utente mentre accade, piuttosto che osservare solo il risultato del tool `is_error` che segue. Il percorso della richiesta interattiva raggiunge la tua applicazione separatamente tramite il callback [`canUseTool`](#canusetool). I rifiuti emessi da un hook `PreToolUse` non vengono segnalati tramite questo evento.1710Evento di flusso emesso quando il sistema di autorizzazione nega una chiamata di tool senza un prompt interattivo. Usalo per rendere il rifiuto nella tua interfaccia utente mentre accade, piuttosto che osservare solo il risultato del tool `is_error` che segue. Quali rifiuti segnala dipende da come l'esecuzione gestisce i prompt di autorizzazione:

1416 1711 

1417Questo evento richiede Claude Code v2.1.136 o successivo.1712* **Con un callback [`canUseTool`](#canusetool) e il [`permissionPrompts: 'host'`](#options) predefinito**: i prompt di autorizzazione vanno al tuo callback, e questo evento segnala i rifiuti che Claude Code decide da solo senza chiamarlo.

1713* **Con nessuno dei due**: un'esecuzione `-p` nuda, o `query()` che non imposta né `canUseTool` né `permissionPromptToolName`, nega qualsiasi chiamata di tool che avrebbe richiesto un prompt, e questo evento segnala anche quei rifiuti oltre a quelli che Claude Code decide da solo. Prima della v2.1.223, Claude Code non emetteva questo evento nelle esecuzioni senza un callback.

1714* **Con uno strumento di prompt MCP**, impostato con `permissionPromptToolName` o il flag [`--permission-prompt-tool`](/docs/it/cli-reference#cli-flags), e il `permissionPrompts: 'host'` predefinito: Claude Code non emette questo evento affatto, nemmeno per i rifiuti di regola che decide da solo.

1715* **Con [`permissionPrompts: 'none'`](#options)**: Claude Code nega le chiamate che avrebbero richiesto un prompt, anche quando `canUseTool` o uno strumento di prompt MCP è anche impostato, e questo evento segnala anche quei rifiuti oltre a quelli che Claude Code decide da solo. Richiede Claude Code v2.1.259 o successivo.

1716 

1717In ogni configurazione, questo evento salta qualsiasi rifiuto deciso sul percorso dell'hook `PreToolUse`, indipendentemente dal fatto che l'hook abbia negato la chiamata stessa o una regola di negazione abbia sovrascritto la decisione di consentire o chiedere dell'hook. L'evento è anche best-effort: occasionalmente Claude Code registra un rifiuto senza emettere questo evento, quindi `permission_denials` sul [messaggio di risultato](#sdkresultmessage) è il record autorevole.

1418 1718 

1419```typescript theme={null}1719```typescript theme={null}

1420type SDKPermissionDeniedMessage = {1720type SDKPermissionDeniedMessage = {


1454};1754};

1455```1755```

1456 1756 

1757<h3 id="sdkcontextusage">

1758 `SDKContextUsage`

1759</h3>

1760 

1761Forma strutturata del rapporto `/context`, portata come `context_usage` sul [`SDKAssistantMessage`](#sdkassistantmessage) che consegna un risultato `/context`. Agent SDK v0.3.232 e successivo esportano il tipo. A differenza di [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse), contiene solo i dati necessari per rendere la suddivisione dell'utilizzo, senza campi di visualizzazione come `color` e `gridRows`.

1762 

1763```typescript theme={null}

1764type SDKContextUsage = {

1765 model: string;

1766 total_tokens: number;

1767 raw_max_tokens: number;

1768 percentage: number;

1769 over_limit?: {

1770 tokens_over: number;

1771 kind: "hard_limit" | "compaction_window";

1772 };

1773 categories: SDKContextUsageCategory[];

1774 mcp_tools: {

1775 name: string;

1776 server_name: string;

1777 tokens: number;

1778 }[];

1779 memory_files: {

1780 path: string;

1781 type: string;

1782 tokens: number;

1783 }[];

1784 agents: {

1785 agent_type: string;

1786 source: string;

1787 tokens: number;

1788 }[];

1789 skills?: {

1790 name: string;

1791 source: string;

1792 plugin_name?: string;

1793 tokens: number;

1794 }[];

1795};

1796```

1797 

1798La tabella elenca cosa Claude Code mette in ogni campo. I campi da `model` a `over_limit` descrivono la sessione nel suo insieme, e i campi di raccolta attribuiscono i token a elementi individuali.

1799 

1800| Campo | Tipo | Descrizione |

1801| ---------------- | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1802| `model` | `string` | Il modello del ciclo principale per il quale Claude Code ha calcolato l'utilizzo, non quello di un subagente |

1803| `total_tokens` | `number` | La stima di Claude Code dei token in uso. Non limitato alla finestra, quindi può superare `raw_max_tokens` quando la sessione è oltre il limite |

1804| `raw_max_tokens` | `number` | La finestra di contesto del modello, o la [finestra di auto-compattazione](/docs/it/model-config#context-window-and-auto-compaction) inferiore quando una si applica, come una che hai impostato o il limite di 200K che Claude Code applica ad alcuni modelli con una finestra di 1M token. Claude Code misura `total_tokens` rispetto a questa finestra |

1805| `percentage` | `number` | `total_tokens` come percentuale arrotondata di `raw_max_tokens`, quindi può superare 100 quando la sessione è oltre il limite |

1806| `over_limit` | `object` | Presente solo quando `total_tokens` supera `raw_max_tokens`. `tokens_over` è l'importo in eccesso, e `kind` dice come Claude Code ha risolto la finestra |

1807| `categories` | [`SDKContextUsageCategory`](#sdkcontextusagecategory)`[]` | Una voce per riga della suddivisione dell'utilizzo per categoria |

1808| `mcp_tools` | `object[]` | Token attribuiti a ogni tool MCP, con il suo nome di trasmissione, come `mcp__linear__create_issue`, e il suo `server_name` |

1809| `memory_files` | `object[]` | Token attribuiti a ogni file di memoria caricato, con il suo `path` e un'etichetta di origine come `Project` o `User` in `type` |

1810| `agents` | `object[]` | Token attribuiti a ogni definizione di subagente personalizzato, con un identificatore di origine come `projectSettings`, `userSettings`, o `plugin`. I subagenti integrati non sono elencati |

1811| `skills` | `object[]` | Token attribuiti a ogni skill nell'elenco di skill, con un identificatore di origine e, per le skill di plugin, il nome del plugin in `plugin_name`. Assente quando nessuna skill contribuisce token |

1812 

1813`over_limit.kind` registra come Claude Code ha risolto la finestra, non se l'API accetta la prossima richiesta:

1814 

1815* `hard_limit`: la finestra è quella che Claude Code crede sia il limite proprio del modello, oltre il quale l'API rifiuta le richieste

1816* `compaction_window`: la finestra è una finestra di politica di compattazione, che può o non può coincidere con il limite del modello

1817 

1818Claude Code evolve il tipo in modo additivo, aggiungendo nuovi dati come campi facoltativi piuttosto che rimodellando quelli esistenti. Leggi i campi che conosci e ignora quelli che non riconosci.

1819 

1820<h3 id="sdkcontextusagecategory">

1821 `SDKContextUsageCategory`

1822</h3>

1823 

1824Una riga della suddivisione dell'utilizzo `/context` per categoria.

1825 

1826```typescript theme={null}

1827type SDKContextUsageCategory = {

1828 name: string;

1829 tokens: number;

1830 kind: "used" | "free" | "buffer" | "deferred";

1831};

1832```

1833 

1834La tabella elenca cosa Claude Code mette in ogni campo di una riga.

1835 

1836| Campo | Tipo | Descrizione |

1837| -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------ |

1838| `name` | `string` | Il nome di visualizzazione della riga come `/context` lo stampa, come `Messages`. Classifica le righe per `kind`, non per nome |

1839| `tokens` | `number` | Il conteggio dei token della riga. Le righe possono contenere zero token |

1840| `kind` | `string` | Cosa rappresenta la riga: `used`, `free`, `buffer`, o `deferred` |

1841 

1842Ogni valore `kind` dice cosa sono i token della riga:

1843 

1844* `used`: contenuto che occupa la finestra di contesto

1845* `free`: la finestra rimanente

1846* `buffer`: la riserva di compattazione

1847* `deferred`: schemi di tool che Claude Code tiene fuori dalla finestra ed esclude dal calcolo dell'utilizzo, elencati per consapevolezza

1848 

1457<h3 id="sdkmessageorigin">1849<h3 id="sdkmessageorigin">

1458 `SDKMessageOrigin`1850 `SDKMessageOrigin`

1459</h3>1851</h3>


1467 | {1859 | {

1468 kind: "peer";1860 kind: "peer";

1469 from: string;1861 from: string;

1862 fromMode?: "bypass" | "prompting";

1470 name?: string;1863 name?: string;

1864 fromSession?: string;

1471 senderTaskId?: string;1865 senderTaskId?: string;

1472 body?: string;1866 body?: string;

1867 verifiedPeerPid?: number;

1868 }

1869 | {

1870 kind: "task-notification";

1871 subkind?: "scheduled-trigger" | "peer-send-message";

1473 }1872 }

1474 | { kind: "task-notification" }

1475 | { kind: "coordinator" }1873 | { kind: "coordinator" }

1476 | { kind: "auto-continuation" };1874 | { kind: "auto-continuation" }

1875 | { kind: "unclassified" };

1477```1876```

1478 1877 

1479| `kind` | Significato |1878| `kind` | Significato |

1480| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1879| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1481| `human` | Input diretto dall'utente finale. Sui messaggi utente, un `origin` assente significa anche input umano. |1880| `human` | Input diretto dall'utente finale. Se la tua applicazione inoltro quello che l'utente ha digitato come messaggio utente, imposta il suo `origin` a `{ kind: "human" }` esplicitamente: Claude Code tratta un messaggio utente senza `origin` come non attribuito, e controlla che richiedono un prompt digitato dall'utente, come la [parola chiave del workflow `ultracode`](/docs/it/workflows#ask-for-a-workflow-in-your-prompt), non lo accettano. Prima della v2.1.210, Claude Code trattava un `origin` assente su un messaggio utente come input umano. |

1482| `channel` | Messaggio in arrivo su un [canale](/docs/it/channels). `server` è il nome del server MCP di origine. |1881| `channel` | Messaggio in arrivo su un [canale](/docs/it/channels). `server` è il nome del server MCP di origine. |

1483| `peer` | Messaggio da un altro agente. Per un [collega](/docs/it/agent-teams) in-process che invia a `main` tramite `SendMessage`, `from` è il nome del collega e `senderTaskId` è il suo ID attività. Per un peer tra sessioni come un altro processo Claude Code locale, `from` è l'indirizzo del mittente e `senderTaskId` è assente. }`name` e `body` richiedono Claude Code v2.1.205 o successivo. `name` è il nome visualizzato del mittente, normalizzato da Claude Code: rimuove i punti di codice di controllo, formato, surrogato e separatore di riga o paragrafo Unicode, quindi taglia il risultato e lo limita a 64 punti di codice con un'ellissi. `body` è il corpo del messaggio decodificato con l'involucro peer rimosso, byte-esatto con quello che il modello vede. Per un messaggio di collega `body` è sempre presente; per un peer tra sessioni è presente solo quando il turno è esattamente un involucro peer formato da Claude Code. Renderizza `name` e `body` invece di ri-analizzare il testo del messaggio. |1882| `peer` | Messaggio da un altro agente: un [collega](/docs/it/agent-teams) in-process o un [peer tra sessioni](/docs/it/cross-session-messaging), un'altra delle tue sessioni Claude Code. Vedi [Campi di origine peer](#peer-origin-fields) per la semantica per campo e il modello di fiducia. |

1484| `task-notification` | Turno sintetico iniettato dopo il completamento di un'attività in background. Vedi [`SDKTaskNotificationMessage`](#sdktasknotificationmessage). |1883| `task-notification` | Turno sintetico iniettato per una consegna che arriva senza un prompt utente fresco, come un'attività finita in background; vedi [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) per quel ramo. Il `subkind` facoltativo marca cosa ha sollevato la notifica. Vedi [Subkind di notifica attività](#task-notification-subkinds). |

1485| `coordinator` | Messaggio da un coordinatore di team in un [team di agenti](/docs/it/agent-teams). |1884| `coordinator` | Messaggio da un coordinatore di team in un [team di agenti](/docs/it/agent-teams). |

1486| `auto-continuation` | Turno sintetico iniettato quando la sessione continua senza input utente fresco, come un risultato di comando che attiva un prompt di follow-up. |1885| `auto-continuation` | Turno sintetico iniettato quando la sessione continua senza input utente fresco, come un risultato di comando che attiva un prompt di follow-up. |

1886| `unclassified` | Turno iniettato il cui origin non ha potuto essere determinato. Richiede Claude Code v2.1.223 o successivo. Quando Claude Code riceve un [`SDKUserMessage`](#sdkusermessage) con `isSynthetic: true` e non può classificarlo come nessun altro `kind`, imposta questo kind mentre il messaggio arriva e inquadra il turno al modello come una fonte non utente piuttosto che trattarlo come input umano. La tua applicazione non dovrebbe impostare questo valore. |

1887 

1888<h3 id="task-notification-subkinds">

1889 Task-notification subkinds

1890</h3>

1891 

1892Quando Claude Code consegna una notifica di attività in una sessione, imposta `subkind` sull'`origin` della notifica solo se i server Anthropic hanno verificato da dove proveniva quella notifica. `subkind` richiede Claude Code v2.1.213 o successivo, e assume uno di due valori:

1893 

1894* `scheduled-trigger`: la notifica è il prompt memorizzato di una [routine](/docs/it/routines), consegnato perché uno dei trigger della routine si è attivato: il suo programma, il suo [trigger API](/docs/it/routines#add-an-api-trigger), il suo [trigger GitHub](/docs/it/routines#add-a-github-trigger), o **Esegui ora**. Claude Code inquadra questi al modello come l'attività assegnata della sessione, con un avviso diverso dall'[avviso che altre notifiche di attività contengono](#sdktasknotificationmessage).

1895* `peer-send-message`: la notifica è un messaggio che un'altra delle tue sessioni ha inviato con lo strumento `send_message` lato server che le sessioni [Claude Code sul web](/docs/it/claude-code-on-the-web) usano per messaggiarsi l'una con l'altra, non lo [strumento `SendMessage` tra sessioni](/docs/it/cross-session-messaging), e i server Anthropic hanno verificato che entrambe le sessioni appartengono allo stesso gruppo privato di sessioni. Richiede Claude Code v2.1.224 o successivo. Una consegna `send_message` che i server non hanno verificato in quel modo non ha `subkind`.

1896 

1897Ogni altra notifica di attività non ha `subkind`. Questo include [attività programmate](/docs/it/scheduled-tasks) che si attivano sulla tua stessa macchina, [attività PR](/docs/it/claude-code-on-the-web#how-claude-responds-to-pr-activity) consegnate in una sessione, e eventi in background come un'attività finita. I messaggi dallo strumento [`SendMessage`](/docs/it/cross-session-messaging) tra sessioni non sono notifiche di attività affatto: che provengano da una sessione sulla stessa macchina o attraverso i server Anthropic da un'altra macchina, Claude Code dà loro `kind: "peer"` e i [campi di origine peer](#peer-origin-fields).

1898 

1899<h3 id="peer-origin-fields">

1900 Peer origin fields

1901</h3>

1902 

1903Un'origine `peer` identifica quale agente ha inviato il messaggio: un [collega](/docs/it/agent-teams) in-process che invia a `main` con `SendMessage`, o un [peer tra sessioni](/docs/it/cross-session-messaging), un'altra delle tue sessioni Claude Code. I peer tra sessioni richiedono Claude Code v2.1.224 o successivo su macOS e Linux; vedi [disponibilità di messaggistica tra sessioni](/docs/it/cross-session-messaging#availability) per il requisito di Windows nativo. Un peer tra sessioni può essere eseguito sulla stessa macchina, o su [un'altra delle tue macchine](/docs/it/cross-session-messaging#message-sessions-on-other-machines) o [Claude Code sul web](/docs/it/claude-code-on-the-web) quando il suo messaggio arriva attraverso Remote Control. I due tipi di mittente riempiono i campi diversamente:

1904 

1905* `from`: il nome del collega, o l'indirizzo del mittente per un peer tra sessioni. Per un [messaggio tra macchine unidirezionale](/docs/it/cross-session-messaging#message-sessions-on-other-machines), il mittente non ha indirizzo di risposta e `from` è `"unknown"`. Il valore è creato dal mittente; `verifiedPeerPid` è l'identità verificata.

1906* `fromMode`: la classe di autorizzazione della sessione di invio, `bypass` o `prompting`, dichiarata da un host che inoltro un messaggio peer tra le tue sessioni, come l'[app desktop](/docs/it/desktop#work-across-sessions). Claude Code lo legge nella sessione ricevente quando applica i [controlli in entrata](/docs/it/cross-session-messaging#control-inbound-messages). Richiede Agent SDK v0.3.234 o successivo.

1907* `senderTaskId`: l'ID attività del collega. Assente per un peer tra sessioni.

1908* `name`: il nome di visualizzazione del mittente, normalizzato da Claude Code: rimuove i punti di codice di controllo, formato, surrogato e separatore di riga o paragrafo Unicode, quindi taglia il risultato e lo limita a 64 punti di codice con un'ellissi. Richiede Claude Code v2.1.205 o successivo.

1909* `body`: il corpo del messaggio decodificato con l'involucro peer rimosso, byte-esatto con quello che il modello vede. Sempre presente per un messaggio di collega; per un peer tra sessioni, presente solo quando il turno è esattamente un involucro peer formato da Claude Code. Renderizza `name` e `body` invece di ri-analizzare il testo del messaggio. Richiede Claude Code v2.1.205 o successivo.

1910* `fromSession`: l'ID sessione del mittente apribile dall'host, impostato dall'host del mittente in modo che la tua interfaccia utente possa collegarsi di nuovo alla sessione di invio. Come `from`, è asserito dal mittente: usalo solo come destinazione di navigazione, e non trattarlo come prova dell'identità del mittente. Richiede Claude Code v2.1.216 o successivo.

1911* `verifiedPeerPid`: l'ID del processo del processo che si è connesso al socket di messaggistica tra sessioni di questa sessione, verificato dal kernel e letto dalla connessione stessa, mai dal payload. Usalo, non `from`, per identificare il mittente: `from` è falsificabile da qualsiasi processo dello stesso utente. Il campo è assente quando Claude Code non può verificarlo, come su Windows o ingresso non-socket, quindi un valore assente significa che il mittente non è verificato. Per il traffico inoltrato identifica l'inoltro piuttosto che l'autore del messaggio, e gli ID di processo sono riciclabili, quindi trattalo come provenienza piuttosto che come token di autenticazione. Richiede Claude Code v2.1.216 o successivo.

1487 1912 

1488<h2 id="hook-types">1913<h2 id="hook-types">

1489 Tipi di hook1914 Tipi di hook


1505 | "PostToolBatch"1930 | "PostToolBatch"

1506 | "Notification"1931 | "Notification"

1507 | "UserPromptSubmit"1932 | "UserPromptSubmit"

1933 | "UserPromptExpansion"

1508 | "SessionStart"1934 | "SessionStart"

1509 | "SessionEnd"1935 | "SessionEnd"

1510 | "Stop"1936 | "Stop"

1937 | "StopFailure"

1511 | "SubagentStart"1938 | "SubagentStart"

1512 | "SubagentStop"1939 | "SubagentStop"

1513 | "PreCompact"1940 | "PreCompact"

1941 | "PostCompact"

1942 | "PreModelSwitch"

1943 | "PostModelSwitch"

1514 | "PermissionRequest"1944 | "PermissionRequest"

1945 | "PermissionDenied"

1515 | "Setup"1946 | "Setup"

1516 | "TeammateIdle"1947 | "TeammateIdle"

1948 | "TaskCreated"

1517 | "TaskCompleted"1949 | "TaskCompleted"

1950 | "Elicitation"

1951 | "ElicitationResult"

1518 | "ConfigChange"1952 | "ConfigChange"

1953 | "DirectoryAdded"

1519 | "WorktreeCreate"1954 | "WorktreeCreate"

1520 | "WorktreeRemove"1955 | "WorktreeRemove"

1956 | "InstructionsLoaded"

1957 | "CwdChanged"

1958 | "FileChanged"

1521 | "MessageDisplay";1959 | "MessageDisplay";

1522```1960```

1523 1961 


1561 | PostToolUseHookInput1999 | PostToolUseHookInput

1562 | PostToolUseFailureHookInput2000 | PostToolUseFailureHookInput

1563 | PostToolBatchHookInput2001 | PostToolBatchHookInput

2002 | PermissionDeniedHookInput

1564 | NotificationHookInput2003 | NotificationHookInput

1565 | UserPromptSubmitHookInput2004 | UserPromptSubmitHookInput

2005 | UserPromptExpansionHookInput

1566 | SessionStartHookInput2006 | SessionStartHookInput

1567 | SessionEndHookInput2007 | SessionEndHookInput

1568 | StopHookInput2008 | StopHookInput

2009 | StopFailureHookInput

1569 | SubagentStartHookInput2010 | SubagentStartHookInput

1570 | SubagentStopHookInput2011 | SubagentStopHookInput

1571 | PreCompactHookInput2012 | PreCompactHookInput

2013 | PostCompactHookInput

2014 | PreModelSwitchHookInput

2015 | PostModelSwitchHookInput

1572 | PermissionRequestHookInput2016 | PermissionRequestHookInput

1573 | SetupHookInput2017 | SetupHookInput

1574 | TeammateIdleHookInput2018 | TeammateIdleHookInput

2019 | TaskCreatedHookInput

1575 | TaskCompletedHookInput2020 | TaskCompletedHookInput

2021 | ElicitationHookInput

2022 | ElicitationResultHookInput

1576 | ConfigChangeHookInput2023 | ConfigChangeHookInput

2024 | InstructionsLoadedHookInput

2025 | DirectoryAddedHookInput

1577 | WorktreeCreateHookInput2026 | WorktreeCreateHookInput

1578 | WorktreeRemoveHookInput2027 | WorktreeRemoveHookInput

2028 | CwdChangedHookInput

2029 | FileChangedHookInput

1579 | MessageDisplayHookInput;2030 | MessageDisplayHookInput;

1580```2031```

1581 2032 


1664};2115};

1665```2116```

1666 2117 

2118<h4 id="permissiondeniedhookinput">

2119 `PermissionDeniedHookInput`

2120</h4>

2121 

2122```typescript theme={null}

2123type PermissionDeniedHookInput = BaseHookInput & {

2124 hook_event_name: "PermissionDenied";

2125 tool_name: string;

2126 tool_input: unknown;

2127 tool_use_id: string;

2128 reason: string;

2129};

2130```

2131 

1667<h4 id="notificationhookinput">2132<h4 id="notificationhookinput">

1668 `NotificationHookInput`2133 `NotificationHookInput`

1669</h4>2134</h4>


1685type UserPromptSubmitHookInput = BaseHookInput & {2150type UserPromptSubmitHookInput = BaseHookInput & {

1686 hook_event_name: "UserPromptSubmit";2151 hook_event_name: "UserPromptSubmit";

1687 prompt: string;2152 prompt: string;

2153 session_title?: string;

2154};

2155```

2156 

2157<h4 id="userpromptexpansionhookinput">

2158 `UserPromptExpansionHookInput`

2159</h4>

2160 

2161```typescript theme={null}

2162type UserPromptExpansionHookInput = BaseHookInput & {

2163 hook_event_name: "UserPromptExpansion";

2164 expansion_type: "slash_command" | "mcp_prompt";

2165 command_name: string;

2166 command_args: string;

2167 command_source?: string;

2168 prompt: string;

1688};2169};

1689```2170```

1690 2171 


1695```typescript theme={null}2176```typescript theme={null}

1696type SessionStartHookInput = BaseHookInput & {2177type SessionStartHookInput = BaseHookInput & {

1697 hook_event_name: "SessionStart";2178 hook_event_name: "SessionStart";

1698 source: "startup" | "resume" | "clear" | "compact";2179 source: "startup" | "resume" | "clear" | "compact" | "fork";

1699 agent_type?: string;2180 agent_type?: string;

1700 model?: string;2181 model?: string;

2182 session_title?: string;

1701};2183};

1702```2184```

1703 2185 


1726};2208};

1727```2209```

1728 2210 

2211<h4 id="stopfailurehookinput">

2212 `StopFailureHookInput`

2213</h4>

2214 

2215```typescript theme={null}

2216type StopFailureHookInput = BaseHookInput & {

2217 hook_event_name: "StopFailure";

2218 error: SDKAssistantMessageError;

2219 error_details?: string;

2220 last_assistant_message?: string;

2221};

2222```

2223 

1729<h4 id="subagentstarthookinput">2224<h4 id="subagentstarthookinput">

1730 `SubagentStartHookInput`2225 `SubagentStartHookInput`

1731</h4>2226</h4>


1786};2281};

1787```2282```

1788 2283 

2284<h4 id="postcompacthookinput">

2285 `PostCompactHookInput`

2286</h4>

2287 

2288```typescript theme={null}

2289type PostCompactHookInput = BaseHookInput & {

2290 hook_event_name: "PostCompact";

2291 trigger: "manual" | "auto";

2292 compact_summary: string;

2293};

2294```

2295 

2296<h4 id="premodelswitchhookinput">

2297 `PreModelSwitchHookInput`

2298</h4>

2299 

2300Si attiva prima che un cambio di modello richiesto abbia effetto. `context_tokens` e i campi dopo di esso stimano il costo di reinviare la conversazione al nuovo modello. Per le descrizioni complete dei campi e la semantica di blocco, vedi [PreModelSwitch](/docs/it/hooks#premodelswitch).

2301 

2302```typescript theme={null}

2303type PreModelSwitchHookInput = BaseHookInput & {

2304 hook_event_name: "PreModelSwitch";

2305 from_model: string;

2306 to_model: string;

2307 requested_model: string | null;

2308 source: "command" | "picker" | "sdk";

2309 context_tokens: number;

2310 prompt_cache_warm: boolean;

2311 cache_ttl: "5m" | "1h";

2312 estimated_cache_write_usd: number;

2313 pricing: "configured" | "catalog" | "default";

2314};

2315```

2316 

2317<h4 id="postmodelswitchhookinput">

2318 `PostModelSwitchHookInput`

2319</h4>

2320 

2321Si attiva dopo che il modello della sessione cambia. Contiene gli stessi campi di `PreModelSwitchHookInput`, con due valori `source` aggiuntivi. Vedi [PostModelSwitch](/docs/it/hooks#postmodelswitch).

2322 

2323```typescript theme={null}

2324type PostModelSwitchHookInput = BaseHookInput & {

2325 hook_event_name: "PostModelSwitch";

2326 from_model: string;

2327 to_model: string;

2328 requested_model: string | null;

2329 source: "command" | "picker" | "sdk" | "auto" | "resume";

2330 context_tokens: number;

2331 prompt_cache_warm: boolean;

2332 cache_ttl: "5m" | "1h";

2333 estimated_cache_write_usd: number;

2334 pricing: "configured" | "catalog" | "default";

2335};

2336```

2337 

1789<h4 id="permissionrequesthookinput">2338<h4 id="permissionrequesthookinput">

1790 `PermissionRequestHookInput`2339 `PermissionRequestHookInput`

1791</h4>2340</h4>


1823};2372};

1824```2373```

1825 2374 

1826<h4 id="taskcompletedhookinput">2375<h4 id="taskcreatedhookinput">

1827 `TaskCompletedHookInput`2376 `TaskCreatedHookInput`

1828</h4>2377</h4>

1829 2378 

1830```typescript theme={null}2379```typescript theme={null}

1831type TaskCompletedHookInput = BaseHookInput & {2380type TaskCreatedHookInput = BaseHookInput & {

1832 hook_event_name: "TaskCompleted";2381 hook_event_name: "TaskCreated";

1833 task_id: string;2382 task_id: string;

1834 task_subject: string;2383 task_subject: string;

1835 task_description?: string;2384 task_description?: string;


1839};2388};

1840```2389```

1841 2390 

2391<h4 id="taskcompletedhookinput">

2392 `TaskCompletedHookInput`

2393</h4>

2394 

2395```typescript theme={null}

2396type TaskCompletedHookInput = BaseHookInput & {

2397 hook_event_name: "TaskCompleted";

2398 task_id: string;

2399 task_subject: string;

2400 task_description?: string;

2401 teammate_name?: string;

2402 /** @deprecated da v2.1.178. Contiene il nome del team derivato dalla sessione; verrà rimosso. */

2403 team_name?: string;

2404};

2405```

2406 

2407<h4 id="elicitationhookinput">

2408 `ElicitationHookInput`

2409</h4>

2410 

2411```typescript theme={null}

2412type ElicitationHookInput = BaseHookInput & {

2413 hook_event_name: "Elicitation";

2414 mcp_server_name: string;

2415 message: string;

2416 mode?: "form" | "url";

2417 url?: string;

2418 elicitation_id?: string;

2419 requested_schema?: Record<string, unknown>;

2420};

2421```

2422 

2423<h4 id="elicitationresulthookinput">

2424 `ElicitationResultHookInput`

2425</h4>

2426 

2427```typescript theme={null}

2428type ElicitationResultHookInput = BaseHookInput & {

2429 hook_event_name: "ElicitationResult";

2430 mcp_server_name: string;

2431 elicitation_id?: string;

2432 mode?: "form" | "url";

2433 action: "accept" | "decline" | "cancel";

2434 content?: Record<string, unknown>;

2435};

2436```

2437 

1842<h4 id="configchangehookinput">2438<h4 id="configchangehookinput">

1843 `ConfigChangeHookInput`2439 `ConfigChangeHookInput`

1844</h4>2440</h4>


1856};2452};

1857```2453```

1858 2454 

2455<h4 id="instructionsloadedhookinput">

2456 `InstructionsLoadedHookInput`

2457</h4>

2458 

2459```typescript theme={null}

2460type InstructionsLoadedHookInput = BaseHookInput & {

2461 hook_event_name: "InstructionsLoaded";

2462 file_path: string;

2463 memory_type: "User" | "Project" | "Local" | "Managed";

2464 load_reason:

2465 | "session_start"

2466 | "nested_traversal"

2467 | "path_glob_match"

2468 | "include"

2469 | "compact";

2470 globs?: string[];

2471 trigger_file_path?: string;

2472 parent_file_path?: string;

2473};

2474```

2475 

2476<h4 id="directoryaddedhookinput">

2477 `DirectoryAddedHookInput`

2478</h4>

2479 

2480```typescript theme={null}

2481type DirectoryAddedHookInput = BaseHookInput & {

2482 hook_event_name: "DirectoryAdded";

2483 directory: string;

2484 source: "slash_command" | "register_repo_root";

2485};

2486```

2487 

2488`directory` è il percorso assoluto della directory che è stata aggiunta. `source` è `"slash_command"` quando `/add-dir` l'ha aggiunta e `"register_repo_root"` quando la richiesta di controllo SDK l'ha fatto.

2489 

1859<h4 id="worktreecreatehookinput">2490<h4 id="worktreecreatehookinput">

1860 `WorktreeCreateHookInput`2491 `WorktreeCreateHookInput`

1861</h4>2492</h4>


1878};2509};

1879```2510```

1880 2511 

2512<h4 id="cwdchangedhookinput">

2513 `CwdChangedHookInput`

2514</h4>

2515 

2516```typescript theme={null}

2517type CwdChangedHookInput = BaseHookInput & {

2518 hook_event_name: "CwdChanged";

2519 old_cwd: string;

2520 new_cwd: string;

2521};

2522```

2523 

2524<h4 id="filechangedhookinput">

2525 `FileChangedHookInput`

2526</h4>

2527 

2528```typescript theme={null}

2529type FileChangedHookInput = BaseHookInput & {

2530 hook_event_name: "FileChanged";

2531 file_path: string;

2532 event: "change" | "add" | "unlink";

2533};

2534```

2535 

1881<h4 id="messagedisplayhookinput">2536<h4 id="messagedisplayhookinput">

1882 `MessageDisplayHookInput`2537 `MessageDisplayHookInput`

1883</h4>2538</h4>


1925 stopReason?: string;2580 stopReason?: string;

1926 decision?: "approve" | "block";2581 decision?: "approve" | "block";

1927 systemMessage?: string;2582 systemMessage?: string;

2583 /**

2584 * Una sequenza di escape del terminale (ad es. OSC 9 / OSC 777 desktop-notification)

2585 * per Claude Code da emettere per tuo conto. Solo notification/title OSCs

2586 * (0, 1, 2, 9, 99, 777) e BEL sono consentiti; un valore contenente

2587 * qualcos'altro viene ignorato nel complesso. Solo la CLI interattiva lo emette;

2588 * l'SDK ignora il campo.

2589 */

2590 terminalSequence?: string;

1928 reason?: string;2591 reason?: string;

1929 hookSpecificOutput?:2592 hookSpecificOutput?:

1930 | {2593 | {


1937 | {2600 | {

1938 hookEventName: "UserPromptSubmit";2601 hookEventName: "UserPromptSubmit";

1939 additionalContext?: string;2602 additionalContext?: string;

2603 sessionTitle?: string;

2604 /** Quando decision è "block", ometti il prompt originale dal messaggio di blocco. */

2605 suppressOriginalPrompt?: boolean;

2606 }

2607 | {

2608 hookEventName: "UserPromptExpansion";

2609 additionalContext?: string;

1940 }2610 }

1941 | {2611 | {

1942 hookEventName: "SessionStart";2612 hookEventName: "SessionStart";

1943 additionalContext?: string;2613 additionalContext?: string;

2614 initialUserMessage?: string;

2615 sessionTitle?: string;

2616 watchPaths?: string[];

2617 /**

2618 * Riscannerizza le directory di skill e comandi dopo che gli hook SessionStart

2619 * sono completati, in modo che le skill installate dall'hook siano disponibili nella

2620 * stessa sessione.

2621 */

2622 reloadSkills?: boolean;

1944 }2623 }

1945 | {2624 | {

1946 hookEventName: "Setup";2625 hookEventName: "Setup";

1947 additionalContext?: string;2626 additionalContext?: string;

1948 }2627 }

2628 | {

2629 hookEventName: "PreModelSwitch";

2630 /**

2631 * Stesso contratto di PreToolUse: "allow" procede, "deny" annulla

2632 * il cambio, "ask" chiede all'utente di confermare. Solo /model in una

2633 * sessione interattiva mostra quel prompt; ogni altra superficie,

2634 * incluse le richieste set_model, tratta "ask" come un rifiuto.

2635 */

2636 permissionDecision?: "allow" | "deny" | "ask";

2637 permissionDecisionReason?: string;

2638 }

2639 | {

2640 hookEventName: "PostModelSwitch";

2641 /** Raggiunge il modello con la prossima richiesta che il nuovo modello serve. */

2642 additionalContext?: string;

2643 }

1949 | {2644 | {

1950 hookEventName: "SubagentStart";2645 hookEventName: "SubagentStart";

1951 additionalContext?: string;2646 additionalContext?: string;


1953 | {2648 | {

1954 hookEventName: "PostToolUse";2649 hookEventName: "PostToolUse";

1955 additionalContext?: string;2650 additionalContext?: string;

2651 /**

2652 * Breve nota sul risultato di questa chiamata di strumento per il classificatore

2653 * di autorizzazione in modalità auto. Limitato a 2000 caratteri, condiviso tra

2654 * tutti gli hook che rispondono alla stessa chiamata; rispettato solo su

2655 * risposte di hook sincrone. Non copiare output di strumento non attendibile in esso.

2656 */

2657 classifierContext?: string;

1956 updatedToolOutput?: unknown;2658 updatedToolOutput?: unknown;

1957 /** @deprecated Usa `updatedToolOutput`, che funziona per tutti gli strumenti. */2659 /** @deprecated Usa `updatedToolOutput`, che funziona per tutti gli strumenti. */

1958 updatedMCPToolOutput?: unknown;2660 updatedMCPToolOutput?: unknown;


1965 hookEventName: "PostToolBatch";2667 hookEventName: "PostToolBatch";

1966 additionalContext?: string;2668 additionalContext?: string;

1967 }2669 }

2670 | {

2671 hookEventName: "Stop";

2672 additionalContext?: string;

2673 }

2674 | {

2675 hookEventName: "SubagentStop";

2676 additionalContext?: string;

2677 }

2678 | {

2679 hookEventName: "PermissionDenied";

2680 retry?: boolean;

2681 }

1968 | {2682 | {

1969 hookEventName: "Notification";2683 hookEventName: "Notification";

1970 additionalContext?: string;2684 additionalContext?: string;


1982 message?: string;2696 message?: string;

1983 interrupt?: boolean;2697 interrupt?: boolean;

1984 };2698 };

2699 }

2700 | {

2701 hookEventName: "Elicitation";

2702 action?: "accept" | "decline" | "cancel";

2703 content?: Record<string, unknown>;

2704 }

2705 | {

2706 hookEventName: "ElicitationResult";

2707 action?: "accept" | "decline" | "cancel";

2708 content?: Record<string, unknown>;

2709 }

2710 | {

2711 hookEventName: "CwdChanged";

2712 watchPaths?: string[];

2713 }

2714 | {

2715 hookEventName: "FileChanged";

2716 watchPaths?: string[];

2717 }

2718 | {

2719 hookEventName: "WorktreeCreate";

2720 worktreePath: string;

2721 }

2722 | {

2723 hookEventName: "MessageDisplay";

2724 /** Testo visualizzato al posto del delta. Ometti (o restituisci il delta invariato) per visualizzare l'originale. */

2725 displayContent?: string;

1985 };2726 };

1986};2727};

1987```2728```


1996 `ToolInputSchemas`2737 `ToolInputSchemas`

1997</h3>2738</h3>

1998 2739 

1999Unione di tutti i tipi di input dei tool, esportati da `@anthropic-ai/claude-agent-sdk`.2740Unione di tipi di input dei tool esportati da `@anthropic-ai/claude-agent-sdk`; i membri includono:

2000 2741 

2001```typescript theme={null}2742```typescript theme={null}

2002type ToolInputSchemas =2743type ToolInputSchemas =

2003 | AgentInput2744 | AgentInput

2745 | ArtifactInput

2004 | AskUserQuestionInput2746 | AskUserQuestionInput

2005 | BashInput2747 | BashInput

2006 | TaskOutputInput2748 | CronCreateInput

2749 | CronDeleteInput

2750 | CronListInput

2751 | EnterPlanModeInput

2007 | EnterWorktreeInput2752 | EnterWorktreeInput

2008 | ExitPlanModeInput2753 | ExitPlanModeInput

2754 | ExitWorktreeInput

2009 | FileEditInput2755 | FileEditInput

2010 | FileReadInput2756 | FileReadInput

2011 | FileWriteInput2757 | FileWriteInput


2015 | McpInput2761 | McpInput

2016 | MonitorInput2762 | MonitorInput

2017 | NotebookEditInput2763 | NotebookEditInput

2764 | ProjectsInput

2765 | PushNotificationInput

2766 | ReadMcpResourceDirInput

2018 | ReadMcpResourceInput2767 | ReadMcpResourceInput

2019 | SubscribeMcpResourceInput2768 | RefreshMcpToolsInput

2020 | SubscribePollingInput2769 | RemoteTriggerInput

2770 | REPLInput

2771 | ReportFindingsInput

2772 | ScheduleWakeupInput

2773 | ShowOnboardingRolePickerInput

2021 | TaskCreateInput2774 | TaskCreateInput

2022 | TaskGetInput2775 | TaskGetInput

2023 | TaskListInput2776 | TaskListInput

2777 | TaskOutputInput

2024 | TaskStopInput2778 | TaskStopInput

2025 | TaskUpdateInput2779 | TaskUpdateInput

2026 | TodoWriteInput2780 | TodoWriteInput

2027 | UnsubscribeMcpResourceInput

2028 | UnsubscribePollingInput

2029 | WebFetchInput2781 | WebFetchInput

2030 | WebSearchInput2782 | WebSearchInput

2031 | WorkflowInput;2783 | WorkflowInput;


2035 Agent2787 Agent

2036</h3>2788</h3>

2037 2789 

2038**Nome del tool:** `Agent` (precedentemente `Task`, che è ancora accettato come alias)2790**Nome del tool:** `Agent`. Il nome precedente `Task` è ancora accettato come alias, e l'array `tools` nel messaggio di inizializzazione [`SDKSystemMessage`](#sdksystemmessage) attualmente elenca questo tool come `Task` per compatibilità all'indietro.

2791 

2792<Note>

2793 Il campo `mode` è deprecato e ignorato su Claude Code v2.1.212 o successivo. Un subagente viene eseguito in modalità di permesso della sessione padre o della sua definizione [`permissionMode`](#agentdefinition), e le [regole di ereditarietà del subagente](/docs/it/agent-sdk/permissions#available-modes) decidono quale.

2794</Note>

2039 2795 

2040```typescript theme={null}2796```typescript theme={null}

2041type AgentInput = {2797type AgentInput = {


2045 model?: "sonnet" | "opus" | "haiku" | "fable";2801 model?: "sonnet" | "opus" | "haiku" | "fable";

2046 run_in_background?: boolean;2802 run_in_background?: boolean;

2047 name?: string;2803 name?: string;

2048 mode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan";2804 team_name?: string; // Deprecato; ignorato

2049 isolation?: "worktree";2805 mode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan"; // Deprecato; ignorato. Le regole di ereditarietà del subagente decidono la modalità di permesso di un subagente

2806 isolation?: "worktree" | "remote";

2050};2807};

2051```2808```

2052 2809 


2066 options: Array<{ label: string; description: string; preview?: string }>;2823 options: Array<{ label: string; description: string; preview?: string }>;

2067 multiSelect: boolean;2824 multiSelect: boolean;

2068 }>;2825 }>;

2826 answers?: Record<string, string>;

2827 annotations?: Record<string, { preview?: string; notes?: string }>;

2828 metadata?: { source?: string };

2069};2829};

2070```2830```

2071 2831 


2087};2847};

2088```2848```

2089 2849 

2090Esegue comandi bash in una sessione shell persistente con timeout opzionale ed esecuzione in background.2850Esegue comandi Bash con timeout opzionale ed esecuzione in background. La directory di lavoro persiste tra i comandi, inclusi i comandi eseguiti in turni successivi di una sessione multi-turno; lo stato della shell come le variabili di ambiente esportate non persiste. Per i limiti su quali cambiamenti di directory si mantengono, vedi [Cosa persiste tra i comandi](/docs/it/tools-reference#what-persists-between-commands).

2091 2851 

2092<h3 id="monitor">2852<h3 id="monitor">

2093 Monitor2853 Monitor


2103 protocols?: string[];2863 protocols?: string[];

2104 };2864 };

2105 description: string;2865 description: string;

2106 timeout_ms?: number;2866 timeout_ms: number;

2107 persistent?: boolean;2867 persistent: boolean;

2108};2868};

2109```2869```

2110 2870 

2111Esegue una fonte di background e consegna ogni evento a Claude in modo che possa reagire senza polling: `command` esegue uno script e emette un evento per riga stdout, e `ws` apre un WebSocket e emette un evento per frame di testo. Fornisci esattamente uno tra `command` o `ws`. La fonte `ws` richiede Claude Code v2.1.195 o successivo.2871Esegue una fonte di background e consegna ogni evento a Claude in modo che possa reagire senza polling: `command` esegue uno script e emette un evento per riga stdout, e `ws` apre un WebSocket e emette un evento per frame di testo. Fornisci esattamente uno tra `command` o `ws`. La fonte `ws` richiede Claude Code v2.1.195 o successivo.

2112 2872 

2113Imposta `persistent: true` per i watch di lunghezza della sessione come code tail. Quando Monitor esegue un comando, segue le stesse regole di permesso di Bash; un watch WebSocket richiede l'approvazione separatamente. Vedi il [riferimento del tool Monitor](/docs/it/tools-reference#monitor-tool) per il comportamento e la disponibilità del provider.2873Imposta `persistent: true` per i watch di lunghezza della sessione come code tail. Quando Monitor esegue un comando, segue le stesse regole di permesso di Bash; un watch WebSocket richiede l'approvazione separatamente. Vedi il [riferimento del tool Monitor](/docs/it/tools-reference#monitor-tool) per il comportamento e la disponibilità del provider. Il tipo esportato contrassegna `timeout_ms` e `persistent` come obbligatori perché lo schema riempie i loro valori predefiniti, 300000 e `false`; una chiamata che li omette convalida.

2114 2874 

2115<h3 id="taskoutput">2875<h3 id="taskoutput">

2116 TaskOutput2876 TaskOutput


2118 2878 

2119**Nome del tool:** `TaskOutput`2879**Nome del tool:** `TaskOutput`

2120 2880 

2881<Note>`TaskOutput` è deprecato; preferisci `Read` sul percorso del file di output dell'attività. Gli schemi sottostanti rimangono validi per gli hook e i gestori di permessi che incontrano il tool.</Note>

2882 

2121```typescript theme={null}2883```typescript theme={null}

2122type TaskOutputInput = {2884type TaskOutputInput = {

2123 task_id: string;2885 task_id: string;


2162 2924 

2163Legge i file dal filesystem locale, inclusi testo, immagini, PDF e notebook Jupyter. Usa `pages` per gli intervalli di pagine PDF (ad esempio, `"1-5"`).2925Legge i file dal filesystem locale, inclusi testo, immagini, PDF e notebook Jupyter. Usa `pages` per gli intervalli di pagine PDF (ad esempio, `"1-5"`).

2164 2926 

2927Per un PDF, Claude riceve il contenuto del file all'interno del `tool_result` della chiamata Read. Una lettura che restituisce l'output `pdf` [output](#tool-output-types) contiene un blocco `text` di riepilogo seguito da un blocco `document`. Una che restituisce l'output `parts` contiene il blocco `text` di riepilogo seguito da un blocco per ogni pagina estratta: un blocco `image`, o un blocco `text` che nomina la pagina quando Claude Code non poteva renderla come immagine. Prima di Agent SDK v0.3.242, Claude Code consegnava il contenuto del file come messaggio `user` separato dopo il risultato del tool.

2928 

2165<h3 id="write">2929<h3 id="write">

2166 Write2930 Write

2167</h3>2931</h3>


2206 type?: string;2970 type?: string;

2207 output_mode?: "content" | "files_with_matches" | "count";2971 output_mode?: "content" | "files_with_matches" | "count";

2208 "-i"?: boolean;2972 "-i"?: boolean;

2973 "-o"?: boolean; // print only the matched parts of each line; requires output_mode: "content"

2209 "-n"?: boolean;2974 "-n"?: boolean;

2210 "-B"?: number;2975 "-B"?: number;

2211 "-A"?: number;2976 "-A"?: number;


2294 script?: string;3059 script?: string;

2295 name?: string;3060 name?: string;

2296 scriptPath?: string;3061 scriptPath?: string;

2297 args?: unknown;3062 args?: unknown; // any JSON value; the published typings render this as an object map

2298 resumeFromRunId?: string;3063 resumeFromRunId?: string;

3064 title?: string; // ignored; the script's meta block sets the title

3065 description?: string; // ignored; the script's meta block sets the description

2299};3066};

2300```3067```

2301 3068 

2302Esegue un [workflow dinamico](/docs/it/workflows): uno script che orchestra molti subagenti in background e restituisce un risultato consolidato. Il tool `Workflow` è disponibile in Agent SDK v0.3.149 e versioni successive. Almeno uno tra `script`, `name` o `scriptPath` è obbligatorio.3069Esegue un [workflow dinamico](/docs/it/workflows): uno script che orchestra molti subagenti in background e restituisce un risultato consolidato. Il tool `Workflow` è disponibile in Agent SDK v0.3.149 e versioni successive. Almeno uno tra `script`, `name` o `scriptPath` è obbligatorio.

2303 3070 

2304| Campo | Tipo | Descrizione |3071| Campo | Tipo | Descrizione |

2305| ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3072| ----------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2306| `script` | `string` | Script di workflow inline. Deve iniziare con `export const meta = { name, description }` come letterale, seguito dal corpo dello script usando `agent()`, `parallel()`, `pipeline()` e `phase()`. Un array `phases` facoltativo in `meta` raggruppa gli agenti sotto fasi denominate nella vista di progresso |3073| `script` | `string` | Script di workflow inline. Deve iniziare con `export const meta = { name, description }` come letterale, seguito dal corpo dello script usando `agent()`, `parallel()`, `pipeline()` e `phase()`. Un array `phases` facoltativo in `meta` raggruppa gli agenti sotto fasi denominate nella vista di progresso |

2307| `name` | `string` | Nome di un workflow incorporato o uno salvato in `.claude/workflows/`. Risolto in uno script |3074| `name` | `string` | Nome di un workflow incorporato o uno salvato in `.claude/workflows/`. Risolto in uno script |

2308| `scriptPath` | `string` | Percorso a un file di script di workflow su disco. Ha la precedenza su `script` e `name`. Ogni invocazione persiste il suo script e restituisce il percorso nel risultato, quindi puoi modificare quel file e reinvocare con lo stesso `scriptPath` per iterare |3075| `scriptPath` | `string` | Percorso a un file di script di workflow su disco. Ha la precedenza su `script` e `name`. Claude Code persiste ogni invocazione dello script e restituisce il percorso nel risultato, quindi puoi modificare quel file e reinvocare con lo stesso `scriptPath` per iterare |

2309| `args` | `unknown` | Valore di input esposto allo script come `args` globale, per workflow denominati parametrizzati come una domanda di ricerca o un elenco di percorsi di file. Passa array e oggetti come valori JSON effettivi, non come stringa codificata in JSON |3076| `args` | `unknown` | Valore di input esposto allo script come `args` globale, per workflow denominati parametrizzati come una domanda di ricerca o un elenco di percorsi di file. Passa array e oggetti come valori JSON effettivi, non come stringa codificata in JSON |

2310| `resumeFromRunId` | `string` | ID di esecuzione di una precedente invocazione di `Workflow` da riprendere. Le chiamate `agent()` completate con input invariati restituiscono risultati memorizzati nella cache; solo le chiamate modificate o nuove vengono eseguite live. Solo la stessa sessione |3077| `resumeFromRunId` | `string` | ID di esecuzione di una precedente invocazione di `Workflow` da riprendere. Le chiamate `agent()` completate con input invariati restituiscono solitamente risultati memorizzati nella cache; il resto viene eseguito live. [Riprendi dopo una pausa](/docs/it/workflows#resume-after-a-pause) copre quali chiamate completate vengono rieseguite. Solo la stessa sessione |

3078| `title` | `string` | Ignorato; il blocco `meta` dello script imposta il titolo |

3079| `description` | `string` | Ignorato; il blocco `meta` dello script imposta la descrizione |

2311 3080 

2312<h3 id="todowrite">3081<h3 id="todowrite">

2313 TodoWrite3082 TodoWrite


2328Crea e gestisce un elenco di attività strutturato per il tracciamento del progresso.3097Crea e gestisce un elenco di attività strutturato per il tracciamento del progresso.

2329 3098 

2330<Note>3099<Note>

2331 A partire da TypeScript Agent SDK 0.3.142, `TodoWrite` è disabilitato per impostazione predefinita. Usa `TaskCreate`, `TaskGet`, `TaskUpdate` e `TaskList` invece. Vedi [Migra ai tool Task](/docs/it/agent-sdk/todo-tracking#migrate-to-task-tools) per aggiornare il tuo codice di monitoraggio, oppure imposta `CLAUDE_CODE_ENABLE_TASKS=0` per ripristinare `TodoWrite`.3100 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:

3101 

3102 * `TodoWrite`

3103 * `TaskCreate`

3104 * `TaskGet`

3105 * `TaskUpdate`

3106 * `TaskList`

3107 

3108 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.

3109 

3110 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.

3111 

3112 Vedi [Disponibilità del modello](/docs/it/agent-sdk/todo-tracking#model-availability) per aderire.

2332</Note>3113</Note>

2333 3114 

2334<h3 id="taskcreate">3115<h3 id="taskcreate">


2409 tool: "Bash";3190 tool: "Bash";

2410 prompt: string;3191 prompt: string;

2411 }>;3192 }>;

3193 [k: string]: unknown;

2412};3194};

2413```3195```

2414 3196 


2458 3240 

2459Crea e entra in un worktree git temporaneo per il lavoro isolato. Passa `path` per passare a un worktree esistente invece di crearne uno nuovo. Su primo ingresso il target deve essere un worktree registrato del repository corrente o, in uno spazio di lavoro multi-repo, di un repository annidato al suo interno; da una sessione worktree deve essere sotto `.claude/worktrees/` del repository della sessione. `name` e `path` si escludono a vicenda.3241Crea e entra in un worktree git temporaneo per il lavoro isolato. Passa `path` per passare a un worktree esistente invece di crearne uno nuovo. Su primo ingresso il target deve essere un worktree registrato del repository corrente o, in uno spazio di lavoro multi-repo, di un repository annidato al suo interno; da una sessione worktree deve essere sotto `.claude/worktrees/` del repository della sessione. `name` e `path` si escludono a vicenda.

2460 3242 

3243<h3 id="exitworktree">

3244 ExitWorktree

3245</h3>

3246 

3247**Nome del tool:** `ExitWorktree`

3248 

3249```typescript theme={null}

3250type ExitWorktreeInput = {

3251 action: "keep" | "remove";

3252 discard_changes?: boolean;

3253};

3254```

3255 

3256Esce dal worktree git corrente e ritorna alla directory di lavoro originale. L'azione `keep` lascia il worktree e il ramo su disco, mentre `remove` elimina entrambi. `discard_changes` deve essere `true` quando si rimuove un worktree che ha file non committati o commit non uniti.

3257 

3258<h3 id="enterplanmode">

3259 EnterPlanMode

3260</h3>

3261 

3262**Nome del tool:** `EnterPlanMode`

3263 

3264```typescript theme={null}

3265type EnterPlanModeInput = {};

3266```

3267 

3268Entra in modalità di pianificazione, dove Claude ricerca e presenta un piano prima di apportare modifiche.

3269 

3270<h3 id="croncreate">

3271 CronCreate

3272</h3>

3273 

3274**Nome del tool:** `CronCreate`

3275 

3276```typescript theme={null}

3277type CronCreateInput = {

3278 cron: string;

3279 prompt: string;

3280 recurring?: boolean;

3281 durable?: boolean;

3282};

3283```

3284 

3285Pianifica un prompt da eseguire su una pianificazione cron a 5 campi nell'ora locale. Imposta `recurring` a `false` per attivare una volta al prossimo match. I job sono scoped alla sessione per impostazione predefinita: avviare una conversazione fresca li cancella, e riprendere con `--resume` o `--continue` ripristina i job che non sono scaduti. Vedi [Attività pianificate](/docs/it/scheduled-tasks).

3286 

3287Impostare `durable` a `true` richiede la persistenza a `.claude/scheduled_tasks.json` in modo che il job sopravviva ai riavvii. La pianificazione duratura non è disponibile in ogni sessione: quando non lo è, Claude Code accetta `durable: true` ma crea il job solo per la sessione. Leggi il campo `durable` dell'output per vedere se il job è persistito.

3288 

3289<h3 id="crondelete">

3290 CronDelete

3291</h3>

3292 

3293**Nome del tool:** `CronDelete`

3294 

3295```typescript theme={null}

3296type CronDeleteInput = {

3297 id: string;

3298};

3299```

3300 

3301Elimina un job cron pianificato per l'ID restituito da `CronCreate`.

3302 

3303<h3 id="cronlist">

3304 CronList

3305</h3>

3306 

3307**Nome del tool:** `CronList`

3308 

3309```typescript theme={null}

3310type CronListInput = {};

3311```

3312 

3313Elenca i job cron pianificati: job durevoli da `.claude/scheduled_tasks.json` e job solo per la sessione dalla sessione corrente.

3314 

3315<h3 id="schedulewakeup">

3316 ScheduleWakeup

3317</h3>

3318 

3319**Nome del tool:** `ScheduleWakeup`

3320 

3321```typescript theme={null}

3322type ScheduleWakeupInput = {

3323 delaySeconds?: number;

3324 reason?: string;

3325 prompt?: string;

3326 noop?: boolean;

3327 stop?: boolean;

3328};

3329```

3330 

3331Pianifica un wake-up una tantum che attiva il prompt dato dopo un ritardo. Questo tool supporta il comando `/loop` auto-paced. Il runtime limita `delaySeconds` tra 60 e 3600 secondi. I campi `delaySeconds`, `reason`, `prompt` e `noop` sono obbligatori a meno che `stop` non sia true. `noop: true` segnala un wake-up dove nulla è cambiato. Impostare `stop: true` annulla il wakeup in sospeso e termina il `/loop` auto-paced. Il campo `stop` richiede Claude Code v2.1.202 o successivo. Vedi la [riga ScheduleWakeup nel riferimento dei tool](/docs/it/tools-reference).

3332 

3333<h3 id="remotetrigger">

3334 RemoteTrigger

3335</h3>

3336 

3337**Nome del tool:** `RemoteTrigger`

3338 

3339```typescript theme={null}

3340type RemoteTriggerInput = {

3341 action:

3342 | "list"

3343 | "get"

3344 | "create"

3345 | "update"

3346 | "run"

3347 | "create_webhook_trigger"

3348 | "list_runs"

3349 | "get_run_log";

3350 trigger_id?: string;

3351 session_id?: string;

3352 cursor?: string;

3353 body?: {

3354 [k: string]: unknown;

3355 };

3356};

3357```

3358 

3359Gestisce [Routine](/docs/it/routines), le esecuzioni Claude Code pianificate e attivate ospitate nel cloud. Questo tool supporta il comando `/schedule`. `trigger_id` è obbligatorio per le azioni `get`, `update`, `run` e `list_runs`. `body` è obbligatorio per `create`, `update` e `create_webhook_trigger`, e facoltativo per `run`.

3360 

3361`create_webhook_trigger` allega una fonte di evento a una routine esistente, come un [evento GitHub](/docs/it/routines#add-a-github-trigger) che lo attiva. Il `body` nomina la fonte, gli eventi e la routine da attivare. Richiede Claude Code v2.1.225 o successivo.

3362 

3363`list_runs` elenca le esecuzioni recenti di una routine, e `get_run_log` legge il log di un'esecuzione. `session_id` nomina l'esecuzione da leggere, da un risultato `list_runs`, e `cursor` pagina attraverso i risultati di entrambe le azioni. Entrambe le azioni richiedono Claude Code v2.1.227 o successivo.

3364 

3365Questo tool è disponibile solo quando la sessione è autenticata con un account claude.ai su un piano con Routine abilitate, ed è assente quando la politica della tua organizzazione disabilita [Claude Code sul web](/docs/it/claude-code-on-the-web). Su Claude Code v2.1.227 o successivo, il tool è anche assente quando un Proprietario ha [disattivato le routine per l'organizzazione](/docs/it/routines#routines-are-disabled-by-your-organizations-policy). Prima di v2.1.227, una sessione con solo il toggle delle routine disattivato mostrava comunque il tool, e il server negava le sue chiamate.

3366 

3367<h3 id="pushnotification">

3368 PushNotification

3369</h3>

3370 

3371**Nome del tool:** `PushNotification`

3372 

3373```typescript theme={null}

3374type PushNotificationInput = {

3375 message: string;

3376 status: "proactive";

3377};

3378```

3379 

3380Invia una notifica push proattiva all'utente. Mantieni `message` sotto 200 caratteri perché i sistemi operativi mobili troncano il testo più lungo. Vedi la [riga PushNotification nel riferimento dei tool](/docs/it/tools-reference) per la disponibilità del provider; la consegna push viene eseguita attraverso l'infrastruttura ospitata da Anthropic che non è accessibile da Amazon Bedrock, Claude Platform su AWS, Agent Platform di Google Cloud, o Microsoft Foundry.

3381 

3382<h3 id="repl">

3383 REPL

3384</h3>

3385 

3386**Nome del tool:** `REPL`

3387 

3388```typescript theme={null}

3389type REPLInput = {

3390 code: string;

3391 description?: string;

3392 timeout?: number;

3393};

3394```

3395 

3396Esegue il codice JavaScript in un REPL persistente. Lo stato persiste tra le chiamate e top-level await è supportato. `timeout` è in millisecondi, con un valore predefinito di 30000 e un massimo di 600000.

3397 

3398I tipi vengono esportati, ma il tool è disattivato nelle sessioni SDK a meno che non imposti `CLAUDE_CODE_REPL=1` nell'[opzione `env`](#options). Richiede anche l'eseguibile `claude` basato su Bun che il programma di installazione nativo fornisce.

3399 

3400<h3 id="reportfindings">

3401 ReportFindings

3402</h3>

3403 

3404**Nome del tool:** `ReportFindings`

3405 

3406```typescript theme={null}

3407type ReportFindingsInput = {

3408 level?: "low" | "medium" | "high" | "xhigh" | "max";

3409 findings: Array<{

3410 file: string;

3411 line?: number;

3412 summary: string;

3413 failure_scenario: string;

3414 short_summary?: string;

3415 category?: string;

3416 verdict?: "CONFIRMED" | "PLAUSIBLE";

3417 outcome?: "fixed" | "skipped" | "no_change_needed";

3418 }>;

3419};

3420```

3421 

3422Segnala i risultati della revisione del codice come un elenco strutturato in modo che Claude Code possa renderli invece di stamparli come testo. `level` è il livello di sforzo con cui è stata eseguita la revisione. I risultati sono ordinati dal più grave al meno grave, con al massimo 32 per chiamata, e l'array è vuoto quando nessuno è sopravvissuto. Richiede Claude Code v2.1.196 o successivo.

3423 

3424Ogni risultato contiene questi campi:

3425 

3426* `file`: percorso relativo al repository in cui si trova il risultato. L'opzionale `line` è la riga 1-indicizzata a cui si ancora.

3427* `summary`: dichiarazione di una frase del difetto. `failure_scenario` descrive gli input concreti e lo stato che portano all'output errato o al crash.

3428* `short_summary`: etichetta compressa opzionale di al massimo 60 caratteri per la visualizzazione compatta. Richiede Claude Code v2.1.212 o successivo.

3429* `category`: slug opzionale in kebab-case breve del tipo di risultato, come `correctness` o `test-coverage`. Richiede Claude Code v2.1.199 o successivo.

3430* `verdict`: impostato quando è stata eseguita una pass di verifica; assente nelle revisioni solo inline.

3431* `outcome`: impostato solo quando si segnala di nuovo dopo aver applicato le correzioni.

3432 

3433<h3 id="artifact">

3434 Artifact

3435</h3>

3436 

3437**Nome del tool:** `Artifact`

3438 

3439```typescript theme={null}

3440type ArtifactInput = {

3441 action?: "publish" | "list";

3442 file_path?: string;

3443 favicon?: string;

3444 limit?: number;

3445 scope?: "mine" | "shared" | "all";

3446 title?: string;

3447 description?: string;

3448 label?: string;

3449 url?: string;

3450 force?: boolean;

3451 capabilities?: Record<string, unknown>;

3452 contract?: "latest" | string;

3453};

3454```

3455 

3456Pubblica un file `.html` o `.md` locale come pagina di artifact ospitata, o elenca gli artifact pubblicati dell'utente. Ometti `action` o passa `"publish"` per pubblicare `file_path`, che è obbligatorio per l'azione di pubblicazione insieme a `favicon`, uno o due emoji che contrassegnano l'artifact nella galleria dell'utente. `title` nomina la pagina pubblicata nella scheda del browser e nella galleria quando il file HTML non ha un tag `<title>`. `url` indirizza un artifact esistente da aggiornare sul posto invece di crearne uno nuovo.

3457 

3458`force` è un'ultima risorsa di sovrascrittura che scarta una versione più recente che un'altra sessione ha pubblicato. In caso di conflitto, la pubblicazione non riuscita restituisce il contenuto più recente; Claude unisce le sue modifiche a quel contenuto, o rilegge l'artifact, e pubblica di nuovo. Passa `force` solo quando l'utente chiede esplicitamente di scartare quella versione.

3459 

3460Passa `"list"` per enumerare gli artifact pubblicati dell'utente; solo `limit` e `scope` possono accompagnarlo. `scope` predefinito a `"mine"`, che elenca gli artifact che l'utente possiede; `"shared"` elenca gli artifact che altre persone hanno condiviso con l'utente, e `"all"` elenca entrambi.

3461 

3462* `capabilities`: le capacità di runtime che la pagina pubblicata utilizza, codificate per nome di capacità, come i [connettori che la pagina può chiamare](/docs/it/artifacts#pull-live-data-with-mcp-connectors). Il servizio di artifact convalida la dichiarazione e rifiuta una pubblicazione che nomina una capacità che l'account non può utilizzare o ne fornisce una con una configurazione non valida. Passa `{}` per cancellare una dichiarazione memorizzata, e ometti il campo su una ridistribuzione per mantenerla. Richiede Agent SDK v0.3.235 o successivo.

3463* `contract`: la versione di runtime su cui viene eseguita la pagina pubblicata. Omettilo per mantenere la versione corrente dell'artifact, passa `"latest"` per aggiornare, o passa una versione specifica per fissare o eseguire il rollback. Richiede Agent SDK v0.3.235 o successivo.

3464 

3465I tipi vengono esportati, ma il tool è disattivato per impostazione predefinita nelle sessioni Agent SDK. La pubblicazione richiede anche ogni condizione nella [tabella di disponibilità degli artifact](/docs/it/artifacts#availability), che le sessioni autenticate con una chiave API non soddisfano.

3466 

3467<h3 id="projects">

3468 Projects

3469</h3>

3470 

3471**Nome del tool:** `Projects`

3472 

3473```typescript theme={null}

3474type ProjectsInput = {

3475 method:

3476 | "project_info"

3477 | "project_read"

3478 | "project_search"

3479 | "project_write"

3480 | "project_delete";

3481 path?: string;

3482 content?: string;

3483 local_path?: string;

3484 present_to_user?: boolean;

3485 query?: string;

3486 n?: number;

3487};

3488```

3489 

3490Legge e scrive il Progetto claude.ai allegato alla sessione. Invia a `method`:

3491 

3492* `project_info`: restituisce i metadati del progetto e l'elenco dei documenti.

3493* `project_read`: legge un documento per `path`.

3494* `project_search`: interroga la base di conoscenza del progetto con `query`. `n` limita i risultati e predefinito a 5.

3495* `project_write`: crea o sostituisce un documento in `path` da esattamente uno tra `content`, che contiene testo inline, o `local_path`, che nomina un file all'interno della directory di lavoro. `present_to_user: true` contrassegna il documento scritto come il deliverable che l'utente deve vedere.

3496* `project_delete`: elimina un documento per `path`.

3497 

3498<h3 id="readmcpresourcedir">

3499 ReadMcpResourceDir

3500</h3>

3501 

3502**Nome del tool:** `ReadMcpResourceDirTool`

3503 

3504```typescript theme={null}

3505type ReadMcpResourceDirInput = {

3506 server: string;

3507 uri: string;

3508};

3509```

3510 

3511Elenca i figli diretti di una risorsa di directory su un server MCP. Utilizzabile solo su un server che ha dichiarato il supporto per l'elenco delle directory; l'elenco non è ricorsivo. L'elenco delle directory non è abilitato in ogni sessione: quando è disattivato, la chiamata restituisce un elenco `resources` vuoto e il campo `error` segnala che l'elenco delle directory non è abilitato.

3512 

3513<h3 id="refreshmcptools">

3514 RefreshMcpTools

3515</h3>

3516 

3517**Nome del tool:** `RefreshMcpTools`

3518 

3519```typescript theme={null}

3520type RefreshMcpToolsInput = {

3521 server?: string; // refresh only this server; omit to refresh all connected servers

3522};

3523```

3524 

3525Riesamina l'elenco dei tool dei server MCP connessi e applica eventuali modifiche. I tipi vengono esportati, ma Claude Code registra il tool solo quando imposti `CLAUDE_CODE_ENABLE_REFRESH_MCP_TOOLS=1` nell'[opzione `env`](#options), e solo nelle sessioni con almeno un server MCP. Richiede Claude Code v2.1.211 o successivo.

3526 

3527<h3 id="showonboardingrolepicker">

3528 ShowOnboardingRolePicker

3529</h3>

3530 

3531**Nome del tool:** `ShowOnboardingRolePicker`

3532 

3533```typescript theme={null}

3534type ShowOnboardingRolePickerInput = {};

3535```

3536 

3537Renderizza una riga di chip selettore di ruolo cliccabile durante l'onboarding di Cowork in modo che l'utente possa scegliere il suo ruolo e ottenere un plugin corrispondente installato. Non accetta argomenti; l'elenco dei ruoli è definito dal client. La chiamata si blocca fino a quando l'utente non risponde.

3538 

3539<h3 id="mcpinput">

3540 McpInput

3541</h3>

3542 

3543**Nome del tool:** nomi di tool MCP dinamici della forma `mcp__<server>__<tool>`

3544 

3545```typescript theme={null}

3546type McpInput = {

3547 [k: string]: unknown;

3548};

3549```

3550 

3551Gli argomenti dei tool MCP sono un oggetto aperto: ogni server definisce i suoi propri parametri, quindi il tipo non pone vincoli sui nomi dei campi o sui valori. Consulta lo schema dei tool del server per i campi che uno strumento specifico accetta.

3552 

2461<h2 id="tool-output-types">3553<h2 id="tool-output-types">

2462 Tipi di output dei tool3554 Tipi di output dei tool

2463</h2>3555</h2>


2468 `ToolOutputSchemas`3560 `ToolOutputSchemas`

2469</h3>3561</h3>

2470 3562 

2471Unione di tutti i tipi di output dei tool.3563Unione di tipi di output dei tool esportati da `@anthropic-ai/claude-agent-sdk`; i membri includono:

2472 3564 

2473```typescript theme={null}3565```typescript theme={null}

2474type ToolOutputSchemas =3566type ToolOutputSchemas =

2475 | AgentOutput3567 | AgentOutput

3568 | ArtifactOutput

2476 | AskUserQuestionOutput3569 | AskUserQuestionOutput

2477 | BashOutput3570 | BashOutput

3571 | CronCreateOutput

3572 | CronDeleteOutput

3573 | CronListOutput

3574 | EnterPlanModeOutput

2478 | EnterWorktreeOutput3575 | EnterWorktreeOutput

2479 | ExitPlanModeOutput3576 | ExitPlanModeOutput

3577 | ExitWorktreeOutput

2480 | FileEditOutput3578 | FileEditOutput

2481 | FileReadOutput3579 | FileReadOutput

2482 | FileWriteOutput3580 | FileWriteOutput

2483 | GlobOutput3581 | GlobOutput

2484 | GrepOutput3582 | GrepOutput

2485 | ListMcpResourcesOutput3583 | ListMcpResourcesOutput

3584 | McpOutput

2486 | MonitorOutput3585 | MonitorOutput

2487 | NotebookEditOutput3586 | NotebookEditOutput

3587 | ProjectsOutput

3588 | PushNotificationOutput

3589 | ReadMcpResourceDirOutput

2488 | ReadMcpResourceOutput3590 | ReadMcpResourceOutput

3591 | RefreshMcpToolsOutput

3592 | RemoteTriggerOutput

3593 | REPLOutput

3594 | ReportFindingsOutput

3595 | ScheduleWakeupOutput

3596 | ShowOnboardingRolePickerOutput

2489 | TaskCreateOutput3597 | TaskCreateOutput

2490 | TaskGetOutput3598 | TaskGetOutput

2491 | TaskListOutput3599 | TaskListOutput


2501 Agent3609 Agent

2502</h3>3610</h3>

2503 3611 

2504**Nome del tool:** `Agent` (precedentemente `Task`, che è ancora accettato come alias)3612**Nome del tool:** `Agent`. Il nome precedente `Task` è ancora accettato come alias, e l'array `tools` nel messaggio di inizializzazione [`SDKSystemMessage`](#sdksystemmessage) attualmente elenca questo tool come `Task` per compatibilità con le versioni precedenti.

2505 3613 

2506```typescript theme={null}3614```typescript theme={null}

2507type AgentOutput =3615type AgentOutput =


2511 agentType?: string;3619 agentType?: string;

2512 content: Array<{ type: "text"; text: string; citations?: unknown[] | null }>;3620 content: Array<{ type: "text"; text: string; citations?: unknown[] | null }>;

2513 resolvedModel?: string;3621 resolvedModel?: string;

3622 modelsUsed?: string[];

2514 totalToolUseCount: number;3623 totalToolUseCount: number;

2515 totalDurationMs: number;3624 totalDurationMs: number;

2516 totalTokens: number;3625 totalTokens: number;


2531 inference_geo?: string | null;3640 inference_geo?: string | null;

2532 speed?: string | null;3641 speed?: string | null;

2533 iterations?: unknown;3642 iterations?: unknown;

3643 output_tokens_details?: {

3644 thinking_tokens?: number | null;

3645 } | null;

2534 };3646 };

2535 toolStats?: {3647 toolStats?: {

2536 readCount: number;3648 readCount: number;


2552 agentId: string;3664 agentId: string;

2553 description: string;3665 description: string;

2554 resolvedModel?: string;3666 resolvedModel?: string;

3667 modelsUsed?: string[];

2555 prompt: string;3668 prompt: string;

2556 outputFile: string;3669 outputFile: string;

2557 canReadOutputFile?: boolean;3670 canReadOutputFile?: boolean;


2568 3681 

2569Restituisce il risultato dal subagente. Discriminato sul campo `status`: `"completed"` per le attività finite, `"async_launched"` per le attività di background, e `"remote_launched"` per le attività che Claude Code ha inviato a una sessione cloud remota, dove `sessionUrl` si collega a quella sessione e `taskId` l'identifica.3682Restituisce il risultato dal subagente. Discriminato sul campo `status`: `"completed"` per le attività finite, `"async_launched"` per le attività di background, e `"remote_launched"` per le attività che Claude Code ha inviato a una sessione cloud remota, dove `sessionUrl` si collega a quella sessione e `taskId` l'identifica.

2570 3683 

2571Il campo `resolvedModel` sulle varianti `completed` e `async_launched` nomina il modello su cui il subagente ha effettivamente eseguito, che può differire dal `model` input richiesto quando [`availableModels`](/docs/it/model-config#restrict-model-selection) o un altro override si applica. Questo campo richiede Claude Code v2.1.174 o successivo.3684Sulla variante `completed`, `resolvedModel` nomina il modello su cui il subagente ha iniziato, che può differire dal `model` input richiesto quando [`availableModels`](/docs/it/model-config#restrict-model-selection) o un altro override si applica. Questo campo richiede Claude Code v2.1.174 o successivo. Su `async_launched`, nomina il modello in uso quando l'attività è passata allo sfondo.

3685 

3686`modelsUsed` elenca i modelli utilizzati dal subagente, in ordine. Il campo è presente solo quando si è verificato uno scambio a metà esecuzione, e un modello appare di nuovo quando l'esecuzione è tornata a esso. Su `async_launched`, l'elenco copre i modelli utilizzati prima di passare allo sfondo. Sia `modelsUsed` che il comportamento di passaggio allo sfondo di `resolvedModel` richiedono Claude Code v2.1.212 o successivo.

3687 

3688Se Claude Code [ha mantenuto il worktree isolato del subagente](/docs/it/worktrees#isolate-subagents-with-worktrees), `worktreePath` sul risultato `completed` è dove trovarlo. `worktreeBranch` è il suo ramo, presente quando Claude Code ha creato il worktree con git.

2572 3689 

2573Sulla variante `completed`, `worktreePath` viene impostato quando il subagente è stato eseguito in un worktree git isolato, e `worktreeBranch` nomina il ramo di quel worktree quando Claude Code l'ha creato. `usage.service_tier` contiene la stringa del livello di servizio che l'API ha segnalato per le richieste del subagente.3690Claude Code riempie `usage` e `totalTokens` dalla richiesta API finale del subagente, non dall'intera esecuzione, quindi `usage.service_tier` è la stringa del livello di servizio che l'API ha segnalato su quella richiesta. Quando presente, `usage.output_tokens_details.thinking_tokens` è il numero di token di output di quella richiesta che erano token di thinking. Il campo `output_tokens_details` richiede TypeScript SDK v0.3.228 o successivo, che raggruppa Claude Code v2.1.228.

3691 

3692`usage.output_tokens_details` corrisponde a [`Usage.output_tokens_details`](#usage) nel significato, limitato a quella richiesta finale, ma ogni livello di esso è opzionale qui. Proteggi sia l'oggetto che il campo, ad esempio `usage.output_tokens_details?.thinking_tokens ?? 0`, piuttosto che leggerlo direttamente.

2574 3693 

2575Prima della v2.1.207, il tipo pubblicato era più ristretto. Ometteva `worktreePath`, `worktreeBranch`, `citations`, `toolStats.frameCount`, e i campi di utilizzo `inference_geo`, `speed` e `iterations`, e tipizzava `service_tier` come `"standard" | "priority" | "batch"`. I campi che il tipo contrassegna come opzionali possono essere assenti nei risultati registrati da versioni precedenti.3694Prima della v2.1.207, il tipo pubblicato era più ristretto. Ometteva `worktreePath`, `worktreeBranch`, `citations`, `toolStats.frameCount`, e i campi di utilizzo `inference_geo`, `speed` e `iterations`, e tipizzava `service_tier` come `"standard" | "priority" | "batch"`. I campi che il tipo contrassegna come opzionali possono essere assenti nei risultati registrati da versioni precedenti.

2576 3695 


2590 }>;3709 }>;

2591 answers: Record<string, string>;3710 answers: Record<string, string>;

2592 response?: string;3711 response?: string;

3712 annotations?: Record<string, { preview?: string; notes?: string }>;

3713 afkTimeoutMs?: number;

2593};3714};

2594```3715```

2595 3716 


2610 isImage?: boolean;3731 isImage?: boolean;

2611 backgroundTaskId?: string;3732 backgroundTaskId?: string;

2612 backgroundedByUser?: boolean;3733 backgroundedByUser?: boolean;

3734 timedOutAfterMs?: number;

3735 backgroundCwdHint?: string;

3736 backgroundEndsWithFinalResponse?: true;

2613 dangerouslyDisableSandbox?: boolean;3737 dangerouslyDisableSandbox?: boolean;

2614 returnCodeInterpretation?: string;3738 returnCodeInterpretation?: string;

3739 noOutputExpected?: boolean;

2615 structuredContent?: unknown[];3740 structuredContent?: unknown[];

2616 persistedOutputPath?: string;3741 persistedOutputPath?: string;

2617 persistedOutputSize?: number;3742 persistedOutputSize?: number;

3743 staleReadFileStateHint?: string;

3744 ghRateLimitHint?: string;

3745 gitOperation?: {

3746 commit?: { sha: string; kind: "committed" | "amended" | "cherry-picked"; branch?: string };

3747 push?: { branch: string };

3748 branch?: { ref: string; action: "merged" | "rebased" };

3749 pr?: {

3750 number: number;

3751 url?: string;

3752 action: "created" | "edited" | "merged" | "commented" | "closed" | "reopened" | "ready" | "draft" | "auto-merge-enabled" | "auto-merge-disabled";

3753 };

3754 };

2618};3755};

2619```3756```

2620 3757 

2621Restituisce l'output del comando con stdout/stderr divisi. I comandi di background includono un `backgroundTaskId`.3758I campi `stdout`, `stderr` e `backgroundTaskId` contengono:

3759 

3760| Campo | Cosa contiene |

3761| ------------------ | ---------------------------------------------------------------------------------------------------------------------------- |

3762| `stdout` | Lo stdout e stderr del comando, uniti in un unico flusso intercalato |

3763| `stderr` | Avvisi che lo strumento stesso aggiunge, come un ripristino della directory di lavoro della shell, non lo stderr del comando |

3764| `backgroundTaskId` | Presente per i comandi di background |

3765 

3766`timedOutAfterMs` è il timeout in millisecondi, impostato quando il comando ha raggiunto il suo timeout e si è spostato allo sfondo piuttosto che iniziare lì esplicitamente. `backgroundCwdHint` viene impostato quando il comando in background conteneva un builtin di cambio directory come `cd`, `pushd`, `popd` o `chdir`, e nota che la directory di lavoro della sessione non è cambiata. Entrambi i campi richiedono Claude Code v2.1.210 o successivo.

3767 

3768Quando un subagente in esecuzione in primo piano possiede un comando in background, Claude Code termina il comando quando quel subagente fornisce la sua risposta finale. Claude Code imposta `backgroundEndsWithFinalResponse` su `true` su tali comandi, e omette il campo quando il comando sopravvive al turno, come i comandi avviati dalla conversazione principale o dai subagenti di background. Il campo richiede Claude Code v2.1.227 o successivo.

3769 

3770Claude Code imposta `gitOperation.commit.branch` al ramo denominato nella riga di riepilogo del commit di git, e lo omette per un commit effettuato su un HEAD staccato. Il campo richiede Agent SDK v0.3.227 o successivo. Claude Code segnala un comando `gh pr reopen` come l'azione PR `reopened`, che richiede Agent SDK v0.3.234 o successivo.

2622 3771 

2623<h3 id="monitor-2">3772<h3 id="monitor-2">

2624 Monitor3773 Monitor


2647 filePath: string;3796 filePath: string;

2648 oldString: string;3797 oldString: string;

2649 newString: string;3798 newString: string;

2650 originalFile: string;3799 originalFile: string | null;

2651 structuredPatch: Array<{3800 structuredPatch: Array<{

2652 oldStart: number;3801 oldStart: number;

2653 oldLines: number;3802 oldLines: number;


2664 deletions: number;3813 deletions: number;

2665 changes: number;3814 changes: number;

2666 patch: string;3815 patch: string;

3816 repository?: string | null;

2667 };3817 };

2668};3818};

2669```3819```


2686 numLines: number;3836 numLines: number;

2687 startLine: number;3837 startLine: number;

2688 totalLines: number;3838 totalLines: number;

3839 /** True quando una lettura di file intero è stata impaginata automaticamente perché ha superato il limite di token (il contenuto è una prima pagina parziale). */

3840 truncatedByTokenCap?: boolean;

2689 };3841 };

2690 }3842 }

2691 | {3843 | {


2725 count: number;3877 count: number;

2726 outputDir: string;3878 outputDir: string;

2727 };3879 };

3880 /** Numero di pagina del documento della prima pagina estratta; etichetta le immagini della pagina nel contenuto tool_result. */

3881 firstPage?: number;

3882 /** Solo in-process: i byte dell'immagine della pagina vengono consegnati come blocchi di immagine nel contenuto tool_result e non vengono conservati nel tool_use_result emesso, quindi questa chiave è assente lì. */

3883 pages?: {

3884 base64: string;

3885 mediaType: "image/jpeg" | "image/png" | "image/gif" | "image/webp";

3886 error?: string;

3887 }[];

3888 }

3889 | {

3890 type: "file_unchanged";

3891 file: {

3892 filePath: string;

3893 };

3894 /** Impostato quando la dedup ha corrisposto a una voce seminata all'avvio (CLAUDE.md / memoria nidificata) piuttosto che a un precedente risultato tool_result di Read. */

3895 source?: "seeded";

2728 };3896 };

2729```3897```

2730 3898 


2756 deletions: number;3924 deletions: number;

2757 changes: number;3925 changes: number;

2758 patch: string;3926 patch: string;

3927 repository?: string | null;

2759 };3928 };

3929 userModified?: boolean;

2760};3930};

2761```3931```

2762 3932 

2763Restituisce il risultato della scrittura con informazioni sul diff strutturato.3933Restituisce il risultato della scrittura con informazioni sul diff strutturato. Ciò che `originalFile` e `structuredPatch` contengono dipende dalla scrittura:

3934 

3935* Per un file appena creato, `originalFile` è null e `structuredPatch` è vuoto

3936* Su una sovrascrittura, `originalFile` contiene il contenuto precedente, tranne quando quel contenuto è più grande di circa 10 MB: Claude Code quindi salta il diff e restituisce `originalFile` null e `structuredPatch` vuoto

3937* `structuredPatch` è anche vuoto quando la scrittura non ha cambiato nulla o il diff è scaduto

2764 3938 

2765<h3 id="glob-2">3939<h3 id="glob-2">

2766 Glob3940 Glob


2774 numFiles: number;3948 numFiles: number;

2775 filenames: string[];3949 filenames: string[];

2776 truncated: boolean;3950 truncated: boolean;

3951 totalMatches?: number;

3952 countIsComplete?: boolean;

2777};3953};

2778```3954```

2779 3955 

2780Restituisce i percorsi dei file che corrispondono al pattern glob, ordinati per tempo di modifica.3956Restituisce i percorsi dei file che corrispondono al pattern glob, ordinati per tempo di modifica.

2781 3957 

3958`totalMatches` e `countIsComplete` richiedono Claude Code v2.1.191 o successivo. `totalMatches` segnala il numero di file corrispondenti prima del troncamento. Quando `countIsComplete` è false, `totalMatches` è un limite inferiore perché la ricerca sottostante ha troncato il suo stesso output.

3959 

2782<h3 id="grep-2">3960<h3 id="grep-2">

2783 Grep3961 Grep

2784</h3>3962</h3>


2793 content?: string;3971 content?: string;

2794 numLines?: number;3972 numLines?: number;

2795 numMatches?: number;3973 numMatches?: number;

3974 totalFiles?: number;

3975 totalLines?: number;

2796 appliedLimit?: number;3976 appliedLimit?: number;

2797 appliedOffset?: number;3977 appliedOffset?: number;

2798};3978};

2799```3979```

2800 3980 

2801Restituisce i risultati della ricerca. La forma varia in base a `mode`: elenco di file, contenuto con corrispondenze o conteggi di corrispondenze.3981Restituisce i risultati della ricerca. La forma varia in base a `mode`: elenco di file, contenuto con corrispondenze o conteggi di corrispondenze. In modalità `count`, `numFiles` e `numMatches` sono totali sull'intero set di risultati, non sulla sezione impaginata. Prima della v2.1.208, un `head_limit` o `offset` che troncava le voci elencate troncava anche questi totali.

3982 

3983`totalFiles` richiede Claude Code v2.1.208 o successivo e segnala il numero totale di risultati prima della paginazione `head_limit` e `offset` in modalità `files_with_matches`. `totalLines` richiede Claude Code v2.1.210 o successivo e segnala il numero totale di righe prima della paginazione in modalità `content`.

2802 3984 

2803<h3 id="taskstop-2">3985<h3 id="taskstop-2">

2804 TaskStop3986 TaskStop


2826```typescript theme={null}4008```typescript theme={null}

2827type NotebookEditOutput = {4009type NotebookEditOutput = {

2828 new_source: string;4010 new_source: string;

4011 old_source?: string;

2829 cell_id?: string;4012 cell_id?: string;

2830 cell_type: "code" | "markdown";4013 cell_type: "code" | "markdown";

2831 language: string;4014 language: string;


2853 result: string;4036 result: string;

2854 durationMs: number;4037 durationMs: number;

2855 url: string;4038 url: string;

4039 artifactRead?: {

4040 slug: string;

4041 ver?: string;

4042 seeded?: false;

4043 };

2856};4044};

2857```4045```

2858 4046 

2859Restituisce il contenuto recuperato con lo stato HTTP e i metadati.4047Restituisce il contenuto recuperato con lo stato HTTP e i metadati.

2860 4048 

4049`artifactRead` è il record proprio di Claude Code di una lettura di artifact, presente solo quando Claude ha recuperato un artifact che la sessione può pubblicare. Claude Code lo legge di nuovo quando una sessione riprende in modo che una successiva pubblicazione si basi sulla versione giusta; il tuo codice non ha bisogno di agire su di esso. `slug` nomina l'artifact, `ver` è la versione che la lettura ha messo in record ed è assente quando non ne ha registrata nessuna, e `seeded: false` contrassegna una lettura il cui codice sorgente completo non ha raggiunto Claude. Il campo `seeded` richiede Agent SDK v0.3.239 o successivo.

4050 

2861<h3 id="websearch-2">4051<h3 id="websearch-2">

2862 WebSearch4052 WebSearch

2863</h3>4053</h3>


2875 | string4065 | string

2876 >;4066 >;

2877 durationSeconds: number;4067 durationSeconds: number;

4068 searchCount?: number;

2878};4069};

2879```4070```

2880 4071 


2888 4079 

2889```typescript theme={null}4080```typescript theme={null}

2890type WorkflowOutput = {4081type WorkflowOutput = {

2891 status: "async_launched";4082 status: "async_launched" | "remote_launched";

2892 taskId: string;4083 taskId: string;

4084 taskType?: "local_workflow" | "remote_agent";

4085 workflowName?: string;

2893 runId?: string;4086 runId?: string;

2894 summary?: string;4087 summary?: string;

2895 transcriptDir?: string;4088 transcriptDir?: string;

2896 scriptPath?: string;4089 scriptPath?: string;

4090 sessionUrl?: string; // impostato quando il workflow è stato avviato come sessione remota

4091 warning?: string;

2897 error?: string;4092 error?: string;

2898};4093};

2899```4094```


2901Restituisce immediatamente dopo che il tool accetta l'invocazione. Il risultato finale arriva successivamente come completamento di un'attività. Controlla `error` prima di trattare l'esecuzione come avviata: uno script che non supera il controllo della sintassi restituisce `status: "async_launched"` con `error` impostato e non viene mai eseguito.4096Restituisce immediatamente dopo che il tool accetta l'invocazione. Il risultato finale arriva successivamente come completamento di un'attività. Controlla `error` prima di trattare l'esecuzione come avviata: uno script che non supera il controllo della sintassi restituisce `status: "async_launched"` con `error` impostato e non viene mai eseguito.

2902 4097 

2903| Campo | Tipo | Descrizione |4098| Campo | Tipo | Descrizione |

2904| --------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |4099| --------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2905| `status` | `"async_launched"` | Il tool ha accettato l'invocazione. Questo è l'unico valore che il campo assume |4100| `status` | `"async_launched" \| "remote_launched"` | Il tool ha accettato l'invocazione. `"async_launched"` per le esecuzioni in-process, `"remote_launched"` per le esecuzioni inviate a una sessione remota invece di essere eseguite in-process |

2906| `taskId` | `string` | Identificatore dell'attività di background per l'esecuzione |4101| `taskId` | `string` | Identificatore dell'attività di background per l'esecuzione |

2907| `runId` | `string` | Identificatore dell'esecuzione del workflow da passare come `resumeFromRunId` in una successiva invocazione |4102| `taskType` | `"local_workflow" \| "remote_agent"` | Tipo di attività dell'attività di background registrata, corrispondente al ramo `status` |

4103| `workflowName` | `string` | Il `meta.name` dallo script del workflow |

4104| `runId` | `string` | Identificatore dell'esecuzione del workflow da passare come `resumeFromRunId` in una successiva invocazione. Assente per le esecuzioni `remote_launched`, dove l'URL della sessione cloud è l'handle di ripresa |

2908| `summary` | `string` | Descrizione in una riga di ciò che fa il workflow |4105| `summary` | `string` | Descrizione in una riga di ciò che fa il workflow |

2909| `transcriptDir` | `string` | Directory dove i transcript dei subagenti vengono scritti durante l'esecuzione |4106| `transcriptDir` | `string` | Directory dove i transcript dei subagenti vengono scritti durante l'esecuzione |

2910| `scriptPath` | `string` | Percorso dello script del workflow persistente per questa esecuzione. Modificalo e passalo come `scriptPath` per rieseguire senza inviare nuovamente lo script |4107| `scriptPath` | `string` | Percorso dello script del workflow persistente per questa esecuzione. Modificalo e passalo come `scriptPath` per rieseguire senza inviare nuovamente lo script |

2911| `error` | `string` | Impostato quando lo script non supera il controllo della sintassi. Quando presente, l'esecuzione non è stata avviata nonostante lo stato `async_launched` |4108| `sessionUrl` | `string` | URL della sessione cloud, impostato quando `status` è `"remote_launched"` |

4109| `warning` | `string` | Avviso non bloccante, come lo stato git locale che diverge dal ramo spinto che una sessione cloud clonerà |

4110| `error` | `string` | Impostato quando lo script non supera il controllo della sintassi. Quando presente, l'esecuzione non è stata avviata nonostante lo stato di avvio |

2912 4111 

2913<h3 id="todowrite-2">4112<h3 id="todowrite-2">

2914 TodoWrite4113 TodoWrite


2934Restituisce gli elenchi di attività precedenti e aggiornati.4133Restituisce gli elenchi di attività precedenti e aggiornati.

2935 4134 

2936<Note>4135<Note>

2937 A partire da TypeScript Agent SDK 0.3.142, `TodoWrite` è disabilitato per impostazione predefinita. Usa invece `TaskCreate`, `TaskGet`, `TaskUpdate` e `TaskList`. Vedi [Migrazione ai tool Task](/docs/it/agent-sdk/todo-tracking#migrate-to-task-tools) per aggiornare il tuo codice di monitoraggio, oppure imposta `CLAUDE_CODE_ENABLE_TASKS=0` per ripristinare `TodoWrite`.4136 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:

4137 

4138 * `TodoWrite`

4139 * `TaskCreate`

4140 * `TaskGet`

4141 * `TaskUpdate`

4142 * `TaskList`

4143 

4144 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.

4145 

4146 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.

4147 

4148 Vedi [Disponibilità del modello](/docs/it/agent-sdk/todo-tracking#model-availability) per aderire.

2938</Note>4149</Note>

2939 4150 

2940<h3 id="taskcreate-2">4151<h3 id="taskcreate-2">


3028 isAgent: boolean;4239 isAgent: boolean;

3029 filePath?: string;4240 filePath?: string;

3030 hasTaskTool?: boolean;4241 hasTaskTool?: boolean;

4242 planWasEdited?: boolean;

3031 awaitingLeaderApproval?: boolean;4243 awaitingLeaderApproval?: boolean;

3032 requestId?: string;4244 requestId?: string;

3033};4245};


3065 uri: string;4277 uri: string;

3066 mimeType?: string;4278 mimeType?: string;

3067 text?: string;4279 text?: string;

4280 blobSavedTo?: string;

3068 }>;4281 }>;

4282 error?: string;

3069};4283};

3070```4284```

3071 4285 


3087 4301 

3088Restituisce le informazioni sul worktree git.4302Restituisce le informazioni sul worktree git.

3089 4303 

4304<h3 id="exitworktree-2">

4305 ExitWorktree

4306</h3>

4307 

4308**Nome del tool:** `ExitWorktree`

4309 

4310```typescript theme={null}

4311type ExitWorktreeOutput = {

4312 action: "keep" | "remove";

4313 originalCwd: string;

4314 worktreePath: string;

4315 worktreeBranch?: string;

4316 tmuxSessionName?: string;

4317 discardedFiles?: number;

4318 discardedCommits?: number;

4319 message: string;

4320};

4321```

4322 

4323Restituisce l'azione intrapresa e i dettagli sul worktree che è stato abbandonato.

4324 

4325<h3 id="enterplanmode-2">

4326 EnterPlanMode

4327</h3>

4328 

4329**Nome del tool:** `EnterPlanMode`

4330 

4331```typescript theme={null}

4332type EnterPlanModeOutput = {

4333 message: string;

4334};

4335```

4336 

4337Restituisce una conferma che la modalità di pianificazione è stata attivata.

4338 

4339<h3 id="croncreate-2">

4340 CronCreate

4341</h3>

4342 

4343**Nome del tool:** `CronCreate`

4344 

4345```typescript theme={null}

4346type CronCreateOutput = {

4347 id: string;

4348 humanSchedule: string;

4349 recurring: boolean;

4350 durable?: boolean; // true quando persistito in .claude/scheduled_tasks.json; false quando solo sessione

4351};

4352```

4353 

4354Restituisce l'ID del lavoro e una descrizione leggibile della pianificazione.

4355 

4356<h3 id="crondelete-2">

4357 CronDelete

4358</h3>

4359 

4360**Nome del tool:** `CronDelete`

4361 

4362```typescript theme={null}

4363type CronDeleteOutput = {

4364 id: string;

4365};

4366```

4367 

4368Restituisce l'ID del lavoro eliminato.

4369 

4370<h3 id="cronlist-2">

4371 CronList

4372</h3>

4373 

4374**Nome del tool:** `CronList`

4375 

4376```typescript theme={null}

4377type CronListOutput = {

4378 jobs: {

4379 id: string;

4380 cron: string;

4381 humanSchedule: string;

4382 prompt: string;

4383 recurring?: boolean;

4384 durable?: boolean;

4385 }[];

4386};

4387```

4388 

4389Restituisce i lavori cron pianificati: lavori durevoli da `.claude/scheduled_tasks.json` e lavori solo sessione dalla sessione corrente. Un lavoro solo sessione porta `durable: false`; i lavori letti dal disco omettono il campo.

4390 

4391<h3 id="schedulewakeup-2">

4392 ScheduleWakeup

4393</h3>

4394 

4395**Nome del tool:** `ScheduleWakeup`

4396 

4397```typescript theme={null}

4398type ScheduleWakeupOutput = {

4399 scheduledFor: number;

4400 clampedDelaySeconds: number;

4401 wasClamped: boolean;

4402 stopped?: boolean;

4403 cancelledWakeups?: number;

4404};

4405```

4406 

4407Restituisce quando il risveglio si attiverà come timestamp di epoca in millisecondi, il ritardo effettivamente utilizzato, e se il ritardo richiesto è stato limitato. Il campo `stopped` è `true` quando la chiamata ha terminato il loop con `stop: true`. Richiede Claude Code v2.1.202 o successivo. Il campo `cancelledWakeups` conta quanti risvegli in sospeso una chiamata `stop: true` ha annullato. Un valore di 0 significa che nulla era in sospeso, e un cron `/loop` ricorrente non viene annullato da `stop: true`. Richiede Claude Code v2.1.206 o successivo.

4408 

4409<h3 id="remotetrigger-2">

4410 RemoteTrigger

4411</h3>

4412 

4413**Nome del tool:** `RemoteTrigger`

4414 

4415```typescript theme={null}

4416type RemoteTriggerOutput = {

4417 status: number;

4418 json: string;

4419 summary?: string;

4420};

4421```

4422 

4423Restituisce lo stato della risposta API e il corpo per l'operazione di attivazione.

4424 

4425<h3 id="pushnotification-2">

4426 PushNotification

4427</h3>

4428 

4429**Nome del tool:** `PushNotification`

4430 

4431```typescript theme={null}

4432type PushNotificationOutput = {

4433 message: string;

4434 pushSent?: boolean;

4435 localSent?: boolean;

4436 disabledReason?: "config_off" | "user_present" | "no_transport";

4437 sentAt?: string;

4438};

4439```

4440 

4441Restituisce i dettagli di consegna, incluso se una notifica push o locale è stata inviata e perché la consegna è stata saltata.

4442 

4443<h3 id="repl-2">

4444 REPL

4445</h3>

4446 

4447**Nome del tool:** `REPL`

4448 

4449```typescript theme={null}

4450type REPLOutput = {

4451 code: string;

4452 result: {

4453 [k: string]: unknown;

4454 };

4455 stdout: string;

4456 stderr: string;

4457 error?: string;

4458 registeredTools?: string[];

4459 images?: {

4460 base64: string;

4461 mediaType: string;

4462 }[];

4463 documents?: {

4464 base64: string;

4465 }[];

4466};

4467```

4468 

4469Restituisce il risultato dell'esecuzione, l'output della console acquisito, e qualsiasi immagine o documento esposto da chiamate `Read` interne.

4470 

4471<h3 id="reportfindings-2">

4472 ReportFindings

4473</h3>

4474 

4475**Nome del tool:** `ReportFindings`

4476 

4477```typescript theme={null}

4478type ReportFindingsOutput = {

4479 count: number;

4480 level?: "low" | "medium" | "high" | "xhigh" | "max";

4481 findings: Array<{

4482 file: string;

4483 line?: number;

4484 summary: string;

4485 failure_scenario: string;

4486 short_summary?: string;

4487 category?: string;

4488 verdict?: "CONFIRMED" | "PLAUSIBLE";

4489 outcome?: "fixed" | "skipped" | "no_change_needed";

4490 }>;

4491};

4492```

4493 

4494Restituisce il numero di risultati segnalati, il livello di sforzo con cui la revisione è stata eseguita, e i risultati ripetuti per il corpo del risultato. Richiede Claude Code v2.1.196 o successivo. Il campo `short_summary` ripetuto richiede Claude Code v2.1.212 o successivo.

4495 

4496<h3 id="artifact-2">

4497 Artifact

4498</h3>

4499 

4500**Nome del tool:** `Artifact`

4501 

4502```typescript theme={null}

4503type ArtifactOutput =

4504 | {

4505 url: string;

4506 path: string;

4507 title?: string;

4508 version?: string;

4509 capabilities?: unknown;

4510 stored?: {

4511 contract: string;

4512 capabilities?: Record<string, unknown>;

4513 };

4514 warnings?: string[];

4515 contract?: string;

4516 updated?: boolean;

4517 liveSubscription?: string;

4518 }

4519 | {

4520 artifacts: Array<{

4521 title: string;

4522 url: string;

4523 updatedAt?: string;

4524 rel?: "mine" | "shared";

4525 }>;

4526 truncated?: boolean;

4527 scope?: "shared" | "all";

4528 };

4529```

4530 

4531Restituisce l'`url` della pagina pubblicata e il `path` locale che è stato pubblicato per l'azione di pubblicazione, con `updated` impostato su true quando la pubblicazione ha ridistribuito un artifact esistente, e `warnings` che contiene eventuali avvisi al momento della pubblicazione. L'azione di elenco restituisce invece le righe `artifacts`, con `truncated` impostato quando esistono più artifact del limite richiesto. Negli elenchi il cui ambito non è `"mine"`, ogni riga contiene `rel` che contrassegna se l'utente possiede l'artifact o se è stato condiviso con loro, e l'`scope` dell'output registra quale ambito non predefinito ha prodotto l'elenco; entrambi sono assenti negli elenchi predefiniti.

4532 

4533<h3 id="projects-2">

4534 Projects

4535</h3>

4536 

4537**Nome del tool:** `Projects`

4538 

4539```typescript theme={null}

4540type ProjectsOutput =

4541 | {

4542 method: "project_info";

4543 notice?: string;

4544 name: string;

4545 description: string;

4546 instructions: string;

4547 docs: Array<{ path: string; created_at: string | null }>;

4548 files?: Array<{

4549 path: string;

4550 file_kind: string;

4551 created_at: string | null;

4552 }>;

4553 sync_sources?: Array<{

4554 type: string | null;

4555 config: Record<string, unknown>;

4556 }>;

4557 knowledge: {

4558 knowledge_size: number;

4559 max_knowledge_size: number;

4560 };

4561 }

4562 | {

4563 method: "project_read";

4564 notice?: string;

4565 path: string;

4566 file_kind?: string;

4567 content?: string;

4568 local_file?: string;

4569 created_at: string | null;

4570 }

4571 | {

4572 method: "project_search";

4573 notice?: string;

4574 rag: boolean;

4575 hits?: Array<{ name?: string; doc_uuid?: string; text?: string }>;

4576 docs?: string[];

4577 }

4578 | {

4579 method: "project_write";

4580 notice?: string;

4581 path: string;

4582 doc_uuid: string;

4583 replaced: boolean;

4584 present_to_user?: boolean;

4585 local_path?: string;

4586 }

4587 | {

4588 method: "project_delete";

4589 notice?: string;

4590 path: string;

4591 deleted: boolean;

4592 };

4593```

4594 

4595Discriminato sul campo `method`, rispecchiando l'input. `project_read` restituisce piccoli documenti di testo inline in `content` e scrive documenti più grandi in un percorso `local_file` invece; `project_search` restituisce `hits` RAG con `rag: true` quando l'indice del progetto è disponibile e ricade su un elenco di percorsi `docs` altrimenti.

4596 

4597<h3 id="readmcpresourcedir-2">

4598 ReadMcpResourceDir

4599</h3>

4600 

4601**Nome del tool:** `ReadMcpResourceDirTool`

4602 

4603```typescript theme={null}

4604type ReadMcpResourceDirOutput = {

4605 resources: Array<{

4606 uri: string;

4607 name: string;

4608 mimeType?: string;

4609 }>;

4610 error?: string;

4611};

4612```

4613 

4614Restituisce i figli diretti della risorsa directory. Le sottodirectory appaiono con mimeType `"inode/directory"`; `error` contiene un messaggio leggibile quando il server non poteva elencare la directory.

4615 

4616<h3 id="refreshmcptools-2">

4617 RefreshMcpTools

4618</h3>

4619 

4620**Nome del tool:** `RefreshMcpTools`

4621 

4622```typescript theme={null}

4623type RefreshMcpToolsOutput = Array<{

4624 server: string;

4625 status: "refreshed" | "error" | "not_connected";

4626 toolCount?: number; // strumenti ora disponibili da questo server

4627 added?: string[]; // nomi degli strumenti che questo aggiornamento ha aggiunto

4628 removed?: string[]; // nomi degli strumenti che questo aggiornamento ha rimosso

4629 error?: string; // perché l'aggiornamento non è riuscito o il server non era disponibile

4630}>;

4631```

4632 

4633Restituisce una voce per server: `refreshed` significa che l'elenco degli strumenti ri-interrogato è stato applicato, `error` significa che la ri-interrogazione non è riuscita e il set di strumenti precedente è stato mantenuto, e `not_connected` significa che il server non ha una connessione live per interrogare.

4634 

4635<h3 id="showonboardingrolepicker-2">

4636 ShowOnboardingRolePicker

4637</h3>

4638 

4639**Nome del tool:** `ShowOnboardingRolePicker`

4640 

4641```typescript theme={null}

4642type ShowOnboardingRolePickerOutput = {

4643 role?: string;

4644 dismissed?: boolean;

4645};

4646```

4647 

4648Restituisce la selezione dell'utente: `role` quando ha scelto un chip di ruolo o ne ha digitato uno, e `dismissed: true` quando ha chiuso il selettore. Un oggetto vuoto significa che l'utente ha approvato la chiamata senza scegliere un ruolo.

4649 

4650<h3 id="mcpoutput">

4651 McpOutput

4652</h3>

4653 

4654**Nome del tool:** nomi di tool MCP dinamici della forma `mcp__<server>__<tool>`

4655 

4656```typescript theme={null}

4657type McpOutput =

4658 | string

4659 | {

4660 type: string;

4661 [k: string]: unknown;

4662 }[]

4663 | {

4664 [k: string]: unknown;

4665 };

4666```

4667 

4668I risultati degli strumenti MCP vengono restituiti come stringa o come array di blocchi di contenuto, a seconda del server. Il ramo di oggetto semplice finale nel tipo esportato è un artefatto della generazione dello schema: l'SDK non restituisce un oggetto nudo, perché l'output strutturato di un server viene serializzato in una stringa JSON prima di essere restituito. Al runtime il valore può anche essere `undefined`, sebbene il tipo esportato non modelli questo.

4669 

3090<h2 id="permission-types">4670<h2 id="permission-types">

3091 Tipi di permesso4671 Tipi di permesso

3092</h2>4672</h2>


3174 `ApiKeySource`4754 `ApiKeySource`

3175</h3>4755</h3>

3176 4756 

4757Da dove proviene la chiave API per le richieste della sessione, segnalata come `apiKeySource` nel messaggio di inizializzazione [`SDKSystemMessage`](#sdksystemmessage).

4758 

3177```typescript theme={null}4759```typescript theme={null}

3178type ApiKeySource = "user" | "project" | "org" | "temporary" | "oauth";4760type ApiKeySource =

4761 | "ANTHROPIC_API_KEY"

4762 | "apiKeyHelper"

4763 | "/login managed key"

4764 | "none"

4765 | "user"

4766 | "project"

4767 | "org"

4768 | "temporary"

4769 | "oauth";

3179```4770```

3180 4771 

4772Claude Code segnala uno di quattro valori:

4773 

4774| Valore | Chiave in uso |

4775| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |

4776| `ANTHROPIC_API_KEY` | La chiave nella variabile di ambiente `ANTHROPIC_API_KEY` |

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

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

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

4780 

4781Agent SDK v0.3.234 e versioni successive elencano questi quattro valori nel tipo. Il tipo mantiene anche `user`, `project`, `org`, `temporary` e `oauth` affinché il codice più vecchio continui a compilarsi, e Claude Code non li segnala.

4782 

3181<h3 id="sdkbeta">4783<h3 id="sdkbeta">

3182 `SdkBeta`4784 `SdkBeta`

3183</h3>4785</h3>

3184 4786 

3185Funzioni beta disponibili che possono essere abilitate tramite l'opzione `betas`. Vedi [Intestazioni beta](https://platform.claude.com/docs/it/api/beta-headers) per ulteriori informazioni.4787Funzioni beta disponibili che possono essere abilitate tramite l'opzione `betas`. Vedi [Intestazioni beta](https://platform.claude.com/docs/en/api/beta-headers) per ulteriori informazioni.

3186 4788 

3187```typescript theme={null}4789```typescript theme={null}

3188type SdkBeta = "context-1m-2025-08-07";4790type SdkBeta = "context-1m-2025-08-07";

3189```4791```

3190 4792 

3191<Warning>4793<Warning>

3192 La beta `context-1m-2025-08-07` è ritirata a partire dal 30 aprile 2026. Passare questo valore con Claude Sonnet 4.5 o Sonnet 4 non ha effetto, e le richieste che superano la finestra di contesto standard di 200k token restituiscono un errore. Per usare una finestra di contesto di 1M token, esegui la migrazione a [Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, o Claude Opus 4.8](https://platform.claude.com/docs/it/about-claude/models/overview), che includono 1M di contesto ai prezzi standard senza intestazione beta richiesta.4794 La beta `context-1m-2025-08-07` è ritirata a partire dal 30 aprile 2026. Passare questo valore con Claude Sonnet 4.5 o Sonnet 4 non ha effetto, e le richieste che superano la finestra di contesto standard di 200k token restituiscono un errore. Per usare una finestra di contesto di 1M token, esegui la migrazione a [Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, o Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), che includono 1M di contesto ai prezzi standard senza intestazione beta richiesta.

3193</Warning>4795</Warning>

3194 4796 

3195<h3 id="slashcommand">4797<h3 id="slashcommand">

3196 `SlashCommand`4798 `SlashCommand`

3197</h3>4799</h3>

3198 4800 

3199Informazioni su un comando slash disponibile.4801Informazioni su un comando disponibile.

3200 4802 

3201```typescript theme={null}4803```typescript theme={null}

3202type SlashCommand = {4804type SlashCommand = {


3254```4856```

3255 4857 

3256| Campo | Tipo | Descrizione |4858| Campo | Tipo | Descrizione |

3257| :------------ | :-------------------- | :---------------------------------------------------------------------------------- |4859| :------------ | :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

3259| `description` | `string` | Descrizione di quando usare questo agente |4861| `description` | `string` | Descrizione di quando usare questo agente |

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

3261 4863 

3262<h3 id="mcpserverstatus">4864<h3 id="mcpserverstatus">

3263 `McpServerStatus`4865 `McpServerStatus`


3331type ModelUsage = {4933type ModelUsage = {

3332 inputTokens: number;4934 inputTokens: number;

3333 outputTokens: number;4935 outputTokens: number;

4936 thinkingTokens?: number;

3334 cacheReadInputTokens: number;4937 cacheReadInputTokens: number;

3335 cacheCreationInputTokens: number;4938 cacheCreationInputTokens: number;

3336 webSearchRequests: number;4939 webSearchRequests: number;

3337 costUSD: number;4940 costUSD: number;

3338 contextWindow: number;4941 contextWindow: number;

3339 maxOutputTokens: number;4942 maxOutputTokens: number;

4943 canonicalModel?: string;

4944 provider?: string;

4945 costBasis?: 'list' | 'managed' | 'unknown';

3340};4946};

3341```4947```

3342 4948 

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

4950 

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

4952 

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

4954 

4955`costBasis` nomina la tabella dei prezzi che ha prezzato la richiesta più recente del modello: `list` per il prezzo di listino, `managed` per una tabella [`modelPricing`](/docs/it/settings-reference#modelpricing), o `unknown` quando nessuno dei due ha corrisposto all'ID del modello. Il campo richiede Claude Code v2.1.246 o successivo.

4956 

3343<h3 id="configscope">4957<h3 id="configscope">

3344 `ConfigScope`4958 `ConfigScope`

3345</h3>4959</h3>


3381 speed: "standard" | "fast" | null;4995 speed: "standard" | "fast" | null;

3382 inference_geo: string | null;4996 inference_geo: string | null;

3383 iterations: BetaIterationsUsage | null;4997 iterations: BetaIterationsUsage | null;

4998 output_tokens_details: BetaOutputTokensDetails | null;

3384};4999};

3385```5000```

3386 5001 

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

5003 

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

5005 

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

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

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

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

3388 5010 

3389<h3 id="calltoolresult">5011<h3 id="calltoolresult">

3390 `CallToolResult`5012 `CallToolResult`


3403};5025};

3404```5026```

3405 5027 

5028<h3 id="sdkmcpresourcelink">

5029 `SDKMcpResourceLink`

5030</h3>

5031 

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

5033 

5034```typescript theme={null}

5035type SDKMcpResourceLink = {

5036 uri: string;

5037 name: string;

5038 title?: string;

5039 description?: string;

5040 mimeType?: string;

5041 size?: number;

5042 annotations?: Record<string, unknown>;

5043};

5044```

5045 

5046Claude Code scarta un blocco il cui `uri` o `name` non è una stringa, e omette un campo opzionale il cui valore non è del tipo elencato.

5047 

5048| Campo | Tipo | Descrizione |

5049| :------------ | :------------------------------------- | :------------------------------------------------------------------------- |

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

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

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

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

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

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

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

5057 

3406<h3 id="thinkingconfig">5058<h3 id="thinkingconfig">

3407 `ThinkingConfig`5059 `ThinkingConfig`

3408</h3>5060</h3>


3418 | { type: "disabled" }; // Nessun pensiero esteso5070 | { type: "disabled" }; // Nessun pensiero esteso

3419```5071```

3420 5072 

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

3422 5074 

3423<h3 id="spawnedprocess">5075<h3 id="spawnedprocess">

3424 `SpawnedProcess`5076 `SpawnedProcess`


3487};5139};

3488```5140```

3489 5141 

5142Quando chiami `setMcpServers()`, Claude Code applica queste regole:

5143 

5144* **Server che la chiamata non nomina**: Claude Code mantiene i server forniti dai plugin in esecuzione. Richiede Agent SDK v0.3.210 o successivo.

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

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

5147 

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

5149 

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

5151 

3490<h3 id="rewindfilesresult">5152<h3 id="rewindfilesresult">

3491 `RewindFilesResult`5153 `RewindFilesResult`

3492</h3>5154</h3>


3500 filesChanged?: string[];5162 filesChanged?: string[];

3501 insertions?: number;5163 insertions?: number;

3502 deletions?: number;5164 deletions?: number;

5165 skippedLinks?: number;

3503};5166};

3504```5167```

3505 5168 

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

5170 

3506<h3 id="sdkstatusmessage">5171<h3 id="sdkstatusmessage">

3507 `SDKStatusMessage`5172 `SDKStatusMessage`

3508</h3>5173</h3>


3524 `SDKTaskNotificationMessage`5189 `SDKTaskNotificationMessage`

3525</h3>5190</h3>

3526 5191 

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

3528 5193 

3529```typescript theme={null}5194```typescript theme={null}

3530type SDKTaskNotificationMessage = {5195type SDKTaskNotificationMessage = {


3535 status: "completed" | "failed" | "stopped";5200 status: "completed" | "failed" | "stopped";

3536 output_file: string;5201 output_file: string;

3537 summary: string;5202 summary: string;

5203 ambient?: boolean;

3538 usage?: {5204 usage?: {

3539 total_tokens: number;5205 total_tokens: number;

3540 tool_uses: number;5206 tool_uses: number;

3541 duration_ms: number;5207 duration_ms: number;

3542 };5208 };

5209 resource_links?: SDKMcpResourceLink[];

3543 uuid: UUID;5210 uuid: UUID;

3544 session_id: string;5211 session_id: string;

3545};5212};

3546```5213```

3547 5214 

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

5216 

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

5218 

5219Per rilevare un turno di notifica di attività, controlla `origin.kind === "task-notification"` su [`SDKUserMessage`](#sdkusermessage) o [`SDKResultMessage`](#sdkresultmessage) piuttosto che abbinare il testo dell'avviso. Leggi `subkind` dallo stesso campo se hai bisogno di sapere cosa l'ha sollevato. Prima di v2.1.205, Claude Code ometteva l'avviso dalle notifiche che arrivavano mentre la sessione era inattiva.

5220 

3548<h3 id="sdktoolusesummarymessage">5221<h3 id="sdktoolusesummarymessage">

3549 `SDKToolUseSummaryMessage`5222 `SDKToolUseSummaryMessage`

3550</h3>5223</h3>


3639 parent_tool_use_id: string | null;5312 parent_tool_use_id: string | null;

3640 elapsed_time_seconds: number;5313 elapsed_time_seconds: number;

3641 task_id?: string;5314 task_id?: string;

5315 heartbeat?: boolean;

5316 subagent_type?: string;

5317 subagent_retry?: {

5318 agent_id: string;

5319 attempt: number;

5320 max_retries: number;

5321 retry_delay_ms: number;

5322 error_status: number | null;

5323 error_category: string;

5324 };

3642 uuid: UUID;5325 uuid: UUID;

3643 session_id: string;5326 session_id: string;

3644};5327};

3645```5328```

3646 5329 

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

5331 

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

5333 

5334Per rendere un indicatore di ripetizione da `subagent_retry`:

5335 

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

5337* Cancella l'indicatore quando un successivo `tool_progress` per lo stesso `parent_tool_use_id` arriva senza `subagent_retry` né `heartbeat: true`, o quando arriva il messaggio di risultato del tool. I frame con `heartbeat: true` segnalano solo vivacità, quindi mantieni l'indicatore quando uno arriva. `attempt` può superare `max_retries` sotto ripetizione persistente, quindi non derivare la cancellazione dai contatori.

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

5339 

3647<h3 id="sdkauthstatusmessage">5340<h3 id="sdkauthstatusmessage">

3648 `SDKAuthStatusMessage`5341 `SDKAuthStatusMessage`

3649</h3>5342</h3>


3665 `SDKTaskStartedMessage`5358 `SDKTaskStartedMessage`

3666</h3>5359</h3>

3667 5360 

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

3669 5362 

3670```typescript theme={null}5363```typescript theme={null}

3671type SDKTaskStartedMessage = {5364type SDKTaskStartedMessage = {


3675 tool_use_id?: string;5368 tool_use_id?: string;

3676 description: string;5369 description: string;

3677 task_type?: string;5370 task_type?: string;

5371 is_backgrounded?: boolean;

5372 spawn_depth?: number;

5373 ambient?: boolean;

3678 uuid: UUID;5374 uuid: UUID;

3679 session_id: string;5375 session_id: string;

3680};5376};

3681```5377```

3682 5378 

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

5380 

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

5382 

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

5384 

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

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

5387 

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

5389 

3683<h3 id="sdktaskprogressmessage">5390<h3 id="sdktaskprogressmessage">

3684 `SDKTaskProgressMessage`5391 `SDKTaskProgressMessage`

3685</h3>5392</h3>


3734 `SDKBackgroundTasksChangedMessage`5441 `SDKBackgroundTasksChangedMessage`

3735</h3>5442</h3>

3736 5443 

3737Emesso ogni volta che l'insieme delle attività di background attive cambia: un'attività inizia, si completa, viene terminata, o un agente in primo piano viene messo in background. L'array `tasks` è l'insieme completo attivo. Sostituisci qualsiasi insieme memorizzato nella cache con ogni payload invece di abbinare gli eventi `task_started` e `task_notification`, in modo che il prossimo cambio di appartenenza corregga qualsiasi evento che hai perso.5444Emesso ogni volta che l'insieme delle attività di background attive cambia: un'attività inizia, si completa, viene terminata, un agente in primo piano viene messo in background, o il campo `description` o `ambient` di un'attività cambia.

5445 

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

3738 5447 

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

3740 5449 

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

3742 5451 

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

5453 

3743Richiede Claude Code v2.1.203 o successivo.5454Richiede Claude Code v2.1.203 o successivo.

3744 5455 

3745```typescript theme={null}5456```typescript theme={null}


3750 task_id: string;5461 task_id: string;

3751 task_type: string;5462 task_type: string;

3752 description: string;5463 description: string;

5464 ambient?: boolean;

3753 }[];5465 }[];

3754 uuid: UUID;5466 uuid: UUID;

3755 session_id: string;5467 session_id: string;


3760 `SDKThinkingTokensMessage`5472 `SDKThinkingTokensMessage`

3761</h3>5473</h3>

3762 5474 

3763Emesso mentre Claude sta producendo un blocco di pensiero, incluso uno redatto, con una stima in esecuzione dei token di pensiero generati finora. `estimated_tokens` è il totale in esecuzione per il blocco di pensiero corrente e `estimated_tokens_delta` è l'incremento portato da questo frame. Usalo per la visualizzazione del progresso. Il conteggio finale per il ciclo dell'agente di primo livello è il `usage.output_tokens` del messaggio di risultato, che [non include i token dei subagenti](/docs/it/agent-sdk/cost-tracking#get-the-total-cost-of-a-query); usa [`modelUsage`](#modelusage) per la contabilità dell'intero albero.5475Emesso mentre Claude sta producendo un blocco di pensiero, incluso uno redatto. `estimated_tokens` è una stima in esecuzione dei token di pensiero generati finora nel blocco corrente, e `estimated_tokens_delta` è l'incremento portato da questo frame. Usa queste stime per la visualizzazione del progresso.

5476 

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

3764 5478 

3765Richiede Claude Code v2.1.153 o successivo.5479Richiede Claude Code v2.1.153 o successivo.

3766 5480 


3770 subtype: "thinking_tokens";5484 subtype: "thinking_tokens";

3771 estimated_tokens: number;5485 estimated_tokens: number;

3772 estimated_tokens_delta: number;5486 estimated_tokens_delta: number;

5487 user_message_uuid?: string;

3773 uuid: UUID;5488 uuid: UUID;

3774 session_id: string;5489 session_id: string;

3775};5490};


3821 `SDKLocalCommandOutputMessage`5536 `SDKLocalCommandOutputMessage`

3822</h3>5537</h3>

3823 5538 

3824Output da un comando slash locale (ad esempio, `/voice` o `/usage`). Visualizzato come testo in stile assistente nella trascrizione.5539Claude Code non emette questo tipo di messaggio. Quando invii un comando come `/context` o `/usage` come prompt, il suo output arriva come [`SDKAssistantMessage`](#sdkassistantmessage).

3825 5540 

3826```typescript theme={null}5541```typescript theme={null}

3827type SDKLocalCommandOutputMessage = {5542type SDKLocalCommandOutputMessage = {


3837 `SDKCommandsChangedMessage`5552 `SDKCommandsChangedMessage`

3838</h3>5553</h3>

3839 5554 

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

3841 5556 

3842```typescript theme={null}5557```typescript theme={null}

3843type SDKCommandsChangedMessage = {5558type SDKCommandsChangedMessage = {


3853 `SDKPromptSuggestionMessage`5568 `SDKPromptSuggestionMessage`

3854</h3>5569</h3>

3855 5570 

3856Emesso dopo ogni turno quando `promptSuggestions` è abilitato. Contiene un prompt utente successivo previsto.5571Emesso dopo un turno quando [`promptSuggestions`](#options) è abilitato e Claude Code ha generato un suggerimento per quel turno. Contiene il prompt utente successivo previsto. Per i turni che non ne ricevono, vedi [Quando Claude Code salta i suggerimenti](/docs/it/interactive-mode#when-claude-code-skips-suggestions).

3857 5572 

3858```typescript theme={null}5573```typescript theme={null}

3859type SDKPromptSuggestionMessage = {5574type SDKPromptSuggestionMessage = {


3868 `SDKConversationResetMessage`5583 `SDKConversationResetMessage`

3869</h3>5584</h3>

3870 5585 

3871Emesso quando la conversazione della sessione viene sostituita senza terminare la sessione, ad esempio dopo `/clear`, all'uscita dalla modalità piano, o quando inizia una conversazione nuova. Monta una trascrizione vuota sotto `new_conversation_id` e scarta qualsiasi titolo di sessione memorizzato nella cache.5586Emesso quando la conversazione della sessione viene sostituita senza terminare la sessione. In una chiamata `query()`, solo `/clear` e i suoi alias producono questo messaggio. Monta una trascrizione vuota sotto `new_conversation_id` e scarta qualsiasi titolo di sessione memorizzato nella cache.

3872 5587 

3873```typescript theme={null}5588```typescript theme={null}

3874type SDKConversationResetMessage = {5589type SDKConversationResetMessage = {


3891class AbortError extends Error {}5606class AbortError extends Error {}

3892```5607```

3893 5608 

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

5610 

3894<h2 id="sandbox-configuration">5611<h2 id="sandbox-configuration">

3895 Configurazione della sandbox5612 Configurazione della sandbox

3896</h2>5613</h2>


3925| `allowUnsandboxedCommands` | `boolean` | `true` | Consenti al modello di richiedere l'esecuzione di comandi al di fuori della sandbox. Quando `true`, il modello può impostare `dangerouslyDisableSandbox` nell'input del tool, che ricade nel [sistema di permessi](#permissions-fallback-for-unsandboxed-commands) |5642| `allowUnsandboxedCommands` | `boolean` | `true` | Consenti al modello di richiedere l'esecuzione di comandi al di fuori della sandbox. Quando `true`, il modello può impostare `dangerouslyDisableSandbox` nell'input del tool, che ricade nel [sistema di permessi](#permissions-fallback-for-unsandboxed-commands) |

3926| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `undefined` | Configurazione della sandbox specifica della rete |5643| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `undefined` | Configurazione della sandbox specifica della rete |

3927| `filesystem` | [`SandboxFilesystemConfig`](#sandboxfilesystemconfig) | `undefined` | Configurazione della sandbox specifica del filesystem per le restrizioni di lettura/scrittura |5644| `filesystem` | [`SandboxFilesystemConfig`](#sandboxfilesystemconfig) | `undefined` | Configurazione della sandbox specifica del filesystem per le restrizioni di lettura/scrittura |

3928| `ignoreViolations` | `Record<string, string[]>` | `undefined` | Mappa delle categorie di violazione ai pattern da ignorare (ad esempio, `{ file: ['/tmp/*'], network: ['localhost'] }`) |5645| `ignoreViolations` | `Record<string, string[]>` | `undefined` | Mappa delle sottostringhe di comando, o `*` per ogni comando, alle sottostringhe del testo di violazione da ignorare, come `{ "*": ['/etc/hosts'] }`; vedi [`sandbox.ignoreViolations`](/docs/it/settings-reference#sandbox-ignoreviolations) |

3929| `enableWeakerNestedSandbox` | `boolean` | `false` | Abilita una sandbox nidificata più debole per la compatibilità |5646| `enableWeakerNestedSandbox` | `boolean` | `false` | Abilita una sandbox nidificata più debole per la compatibilità |

3930| `ripgrep` | `{ command: string; args?: string[] }` | `undefined` | Configurazione del binario ripgrep personalizzato per gli ambienti sandbox |5647| `ripgrep` | `{ command: string; args?: string[] }` | `undefined` | Configurazione del binario ripgrep personalizzato per gli ambienti sandbox |

3931 5648 


3965```5682```

3966 5683 

3967<Warning>5684<Warning>

3968 **Sicurezza del socket Unix:** L'opzione `allowUnixSockets` può concedere l'accesso a potenti servizi di sistema. Ad esempio, consentire `/var/run/docker.sock` concede effettivamente l'accesso completo al sistema host tramite l'API Docker, bypassando l'isolamento della sandbox. Consenti solo i socket Unix strettamente necessari e comprendi le implicazioni di sicurezza di ciascuno.5685 **Sicurezza del socket Unix:** L'opzione `allowUnixSockets` può concedere l'accesso a servizi di sistema che raggiungono al di fuori della sandbox. Ad esempio, consentire `/var/run/docker.sock` concede effettivamente l'accesso completo al sistema host tramite l'API Docker, bypassando l'isolamento della sandbox. Consenti solo i socket Unix strettamente necessari e comprendi le implicazioni di sicurezza di ciascuno.

3969</Warning>5686</Warning>

3970 5687 

3971<h3 id="sandboxnetworkconfig">5688<h3 id="sandboxnetworkconfig">


3978type SandboxNetworkConfig = {5695type SandboxNetworkConfig = {

3979 allowedDomains?: string[];5696 allowedDomains?: string[];

3980 deniedDomains?: string[];5697 deniedDomains?: string[];

5698 strictAllowlist?: boolean;

3981 allowManagedDomainsOnly?: boolean;5699 allowManagedDomainsOnly?: boolean;

3982 allowLocalBinding?: boolean;5700 allowLocalBinding?: boolean;

3983 allowUnixSockets?: string[];5701 allowUnixSockets?: string[];


3988```5706```

3989 5707 

3990| Proprietà | Tipo | Predefinito | Descrizione |5708| Proprietà | Tipo | Predefinito | Descrizione |

3991| :------------------------ | :--------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |5709| :------------------------ | :--------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

3992| `allowedDomains` | `string[]` | `[]` | Nomi di dominio a cui i processi in sandbox possono accedere |5710| `allowedDomains` | `string[]` | `[]` | Nomi di dominio a cui i processi in sandbox possono accedere |

3993| `deniedDomains` | `string[]` | `[]` | Nomi di dominio a cui i processi in sandbox non possono accedere. Ha la precedenza su `allowedDomains` |5711| `deniedDomains` | `string[]` | `[]` | Nomi di dominio a cui i processi in sandbox non possono accedere. Ha la precedenza su `allowedDomains` |

3994| `allowManagedDomainsOnly` | `boolean` | `false` | Solo impostazioni gestite. Quando impostato nelle [impostazioni gestite](/docs/it/permissions#managed-settings), solo le voci `allowedDomains` dalle impostazioni gestite vengono rispettate e le voci dalle impostazioni utente, progetto o locali vengono ignorate. Non ha effetto quando impostato tramite le opzioni SDK |5712| `strictAllowlist` | `boolean` | `false` | Nega ai comandi in sandbox l'accesso agli host al di fuori della [lista di autorizzazione della rete](/docs/it/sandboxing#network-isolation) invece di richiedere conferma. Applicato solo ai comandi in sandbox; i tool in-process come WebFetch non sono controllati da esso. Rispettato solo dalle impostazioni utente, gestite o CLI `--settings`; le impostazioni del progetto vengono ignorate. Richiede Claude Code v2.1.219 o successivo |

5713| `allowManagedDomainsOnly` | `boolean` | `false` | Solo impostazioni gestite. Quando impostato nelle [impostazioni gestite](/docs/it/managed-settings), solo le voci `allowedDomains` e le regole di autorizzazione `WebFetch(domain:...)` dalle impostazioni gestite vengono rispettate, e le voci di autorizzazione dalle impostazioni utente, progetto o locali vengono ignorate. Non ha effetto quando impostato tramite le opzioni SDK |

3995| `allowLocalBinding` | `boolean` | `false` | Consenti ai processi di associarsi alle porte locali (ad esempio, per i server di sviluppo) |5714| `allowLocalBinding` | `boolean` | `false` | Consenti ai processi di associarsi alle porte locali (ad esempio, per i server di sviluppo) |

3996| `allowUnixSockets` | `string[]` | `[]` | Percorsi dei socket Unix a cui i processi possono accedere (ad esempio, socket Docker) |5715| `allowUnixSockets` | `string[]` | `[]` | Percorsi dei socket Unix a cui i processi possono accedere (ad esempio, socket Docker) |

3997| `allowAllUnixSockets` | `boolean` | `false` | Consenti l'accesso a tutti i socket Unix |5716| `allowAllUnixSockets` | `boolean` | `false` | Consenti l'accesso a tutti i socket Unix |


4026 Fallback dei permessi per i comandi senza sandbox5745 Fallback dei permessi per i comandi senza sandbox

4027</h3>5746</h3>

4028 5747 

4029Quando `allowUnsandboxedCommands` è abilitato, il modello può richiedere di eseguire comandi al di fuori della sandbox impostando `dangerouslyDisableSandbox: true` nell'input del tool. Queste richieste ricadono nel sistema di permessi esistente, il che significa che il tuo handler `canUseTool` viene invocato, permettendoti di implementare la logica di autorizzazione personalizzata. Nell'esempio seguente, `isCommandAuthorized` rappresenta un controllo di autorizzazione che definisci.5748Quando `allowUnsandboxedCommands` è abilitato, il modello può richiedere di eseguire comandi al di fuori della sandbox impostando `dangerouslyDisableSandbox: true` nell'input del tool. Queste richieste ricadono nel sistema di permessi esistente, il che significa che il tuo handler `canUseTool` viene invocato, permettendoti di implementare la logica di autorizzazione personalizzata. I comandi elencati in `excludedCommands` invece bypassano la sandbox automaticamente, senza coinvolgimento del modello; vedi [`SandboxSettings`](#sandboxsettings).

4030 

4031<Note>

4032 **`excludedCommands` vs `allowUnsandboxedCommands`:**

4033 5749 

4034 * `excludedCommands`: Un elenco statico di comandi che sempre bypassano la sandbox automaticamente (ad esempio, `['docker']`). Il modello non ha controllo su questo.5750Nell'esempio seguente, `isCommandAuthorized` rappresenta un controllo di autorizzazione che definisci.

4035 * `allowUnsandboxedCommands`: Consenti al modello di decidere in fase di esecuzione se richiedere l'esecuzione senza sandbox impostando `dangerouslyDisableSandbox: true` nell'input del tool.

4036</Note>

4037 5751 

4038```typescript theme={null}5752```typescript theme={null}

4039import { query } from "@anthropic-ai/claude-agent-sdk";5753import { query } from "@anthropic-ai/claude-agent-sdk";


4068}5782}

4069```5783```

4070 5784 

4071Questo pattern ti consente di:

4072 

4073* **Controllare le richieste del modello:** Registra quando il modello richiede l'esecuzione senza sandbox

4074* **Implementare allowlist:** Consenti solo comandi specifici di essere eseguiti senza sandbox

4075* **Aggiungere flussi di lavoro di approvazione:** Richiedi l'autorizzazione esplicita per le operazioni privilegiate

4076 

4077<Warning>5785<Warning>

4078 I comandi in esecuzione con `dangerouslyDisableSandbox: true` hanno accesso completo al sistema. Assicurati che il tuo handler `canUseTool` convalidi queste richieste attentamente.5786 I comandi in esecuzione con `dangerouslyDisableSandbox: true` hanno accesso completo al sistema. Assicurati che il tuo handler `canUseTool` convalidi queste richieste attentamente.

4079 5787 

4080 Se `permissionMode` è impostato su `bypassPermissions` e `allowUnsandboxedCommands` è abilitato, il modello può autonomamente eseguire comandi al di fuori della sandbox senza alcun prompt di approvazione (una [regola `ask`](/docs/it/agent-sdk/permissions#how-permissions-are-evaluated) esplicita ne forza comunque una). Questa combinazione consente effettivamente al modello di sfuggire all'isolamento della sandbox silenziosamente.5788 Se `permissionMode` è impostato su `bypassPermissions` e `allowUnsandboxedCommands` è abilitato, il modello può autonomamente eseguire comandi al di fuori della sandbox senza prompt di approvazione, a parte le [azioni che nessuna modalità auto-approva](/docs/it/permission-modes#actions-no-mode-auto-approves). Questa combinazione consente effettivamente al modello di sfuggire all'isolamento della sandbox silenziosamente.

4081</Warning>5789</Warning>

4082 5790 

4083<h2 id="see-also">5791<h2 id="see-also">

Details

12 12 

13Per le domande di chiarimento, Claude genera le domande e le opzioni. Il tuo ruolo è presentarle agli utenti e restituire le loro selezioni. Non puoi aggiungere le tue domande a questo flusso; se hai bisogno di chiedere qualcosa agli utenti tu stesso, fallo separatamente nella logica dell'applicazione.13Per le domande di chiarimento, Claude genera le domande e le opzioni. Il tuo ruolo è presentarle agli utenti e restituire le loro selezioni. Non puoi aggiungere le tue domande a questo flusso; se hai bisogno di chiedere qualcosa agli utenti tu stesso, fallo separatamente nella logica dell'applicazione.

14 14 

15Il callback può rimanere in sospeso indefinitamente. L'esecuzione rimane in pausa fino a quando il callback non restituisce, e l'SDK annulla l'attesa solo quando la query stessa viene annullata. Se un utente potrebbe impiegare più tempo per rispondere di quanto il tuo processo possa ragionevolmente rimanere in esecuzione, registra un hook [`PreToolUse`](/docs/it/agent-sdk/hooks) che restituisce la decisione [`defer`](/docs/it/hooks#defer-a-tool-call-for-later) invece di attendere nel callback, in modo che il processo possa uscire e riprendere in seguito dalla sessione persistente.15Il callback può rimanere in sospeso indefinitamente. L'esecuzione rimane in pausa fino a quando il callback non restituisce. Se un utente potrebbe impiegare più tempo per rispondere di quanto il tuo processo possa ragionevolmente rimanere in esecuzione, registra un hook [`PreToolUse`](/docs/it/agent-sdk/hooks) che restituisce la decisione [`defer`](/docs/it/hooks#defer-a-tool-call-for-later) invece di attendere nel callback, in modo che il processo possa uscire e riprendere in seguito dalla sessione persistente.

16 16 

17Questa guida ti mostra come rilevare ogni tipo di richiesta e rispondere in modo appropriato.17Questa guida ti mostra come rilevare ogni tipo di richiesta e rispondere in modo appropriato.

18 18 


204 ```204 ```

205</CodeGroup>205</CodeGroup>

206 206 

207<Note>

208 In Python, `can_use_tool` richiede la [modalità streaming](/docs/it/agent-sdk/streaming-vs-single-mode). Quando passi un flusso di messaggi finito attraverso `query(prompt=generator)` o `ClaudeSDKClient.connect(prompt=async_iterable)`, l'SDK chiude il flusso di input dopo l'ultimo messaggio, prima che il callback di autorizzazione possa essere invocato, a meno che un hook registrato o un server MCP in-process non lo mantenga aperto. L'esempio precedente lo mantiene aperto con un hook `PreToolUse` che restituisce `{"continue_": True}`. La connessione senza prompt e l'invio di messaggi attraverso `ClaudeSDKClient.query()` mantiene il flusso aperto di per sé e non ha bisogno di alcun hook.

209</Note>

210 

211Questo esempio utilizza un flusso s/n in cui qualsiasi input diverso da `y` viene trattato come un rifiuto. In pratica, potresti creare un'interfaccia utente più ricca che consenta agli utenti di modificare la richiesta, fornire feedback o reindirizzare completamente Claude. Vedi [Rispondere alle richieste dello strumento](#respond-to-tool-requests) per tutti i modi in cui puoi rispondere.207Questo esempio utilizza un flusso s/n in cui qualsiasi input diverso da `y` viene trattato come un rifiuto. In pratica, potresti creare un'interfaccia utente più ricca che consenta agli utenti di modificare la richiesta, fornire feedback o reindirizzare completamente Claude. Vedi [Rispondere alle richieste dello strumento](#respond-to-tool-requests) per tutti i modi in cui puoi rispondere.

212 208 

213<h3 id="respond-to-tool-requests">209<h3 id="respond-to-tool-requests">

agent-view.md +450 −170

Details

19Per confrontare agent view con subagenti, team di agenti e worktrees, vedi [Esegui agenti in parallelo](/docs/it/agents).19Per confrontare agent view con subagenti, team di agenti e worktrees, vedi [Esegui agenti in parallelo](/docs/it/agents).

20 20 

21<Note>21<Note>

22 Agent view è in anteprima di ricerca e richiede Claude Code v2.1.139 o successivo. Controlla la tua versione con `claude --version`. L'interfaccia e le scorciatoie da tastiera potrebbero cambiare mentre la funzione si evolve.22 Agent view è in anteprima di ricerca. L'interfaccia e le scorciatoie da tastiera potrebbero cambiare mentre la funzione si evolve.

23</Note>23</Note>

24 24 

25Questa pagina copre:

26 

27* [Avvio rapido](#quick-start): dai a Claude un compito su cui lavorare in background, controlla come sta andando e intervieni quando necessario

28* [Monitorare le sessioni con agent view](#monitor-sessions-with-agent-view), inclusi icone di stato, peek e reply, collegamento, organizzazione e scorciatoie da tastiera

29* [Invia nuovi agenti](#dispatch-new-agents) da agent view, da dentro una sessione, o dalla tua shell

30* [Gestire le sessioni dalla shell](#manage-sessions-from-the-shell) con `claude agents`, `claude attach` e comandi correlati

31* [Come sono ospitate le sessioni in background](#how-background-sessions-are-hosted) dal processo supervisor

32 

33<h2 id="quick-start">25<h2 id="quick-start">

34 Avvio rapido26 Avvio rapido

35</h2>27</h2>


44 claude agents36 claude agents

45 ```37 ```

46 38 

47 Agent view si apre con un input in basso e una tabella che si riempie quando le sessioni iniziano. Premi `Esc` in qualsiasi momento per tornare alla tua shell. Le tue sessioni continuano a funzionare mentre sei via e riappaiono la prossima volta che apri agent view.39 Se non hai ancora accettato la [finestra di dialogo di fiducia dell'area di lavoro](/docs/it/permissions#project-allow-rules-and-workspace-trust) per la directory, Claude Code la mostra prima che agent view si apra, la stessa finestra di dialogo che mostra `claude`. Accetta per salvare la fiducia per l'area di lavoro e continua. Se rifiuti, Claude Code esce senza aprire agent view.

40 

41 Agent view si apre con un input in basso e una tabella che si riempie quando le sessioni iniziano. Premi `Esc` per tornare alla tua shell; se hai aperto agent view mettendo in background una sessione con `←`, `Esc` ritorna a quella conversazione invece. Le tue sessioni continuano a funzionare mentre sei via e riappaiono la prossima volta che apri agent view.

48 </Step>42 </Step>

49 43 

50 <Step title="Invia una sessione">44 <Step title="Invia una sessione">

51 Digita un prompt che descrive un'attività e premi `Enter`. Una nuova sessione in background inizia su quell'attività e appare come una riga che mostra se sta lavorando, aspettando te, o è completata. La nuova sessione utilizza il modello mostrato nell'intestazione di agent view e la stessa [modalità di autorizzazione](#permission-mode-model-and-effort) che otterresti eseguendo `claude` in quella directory.45 Digita un prompt che descrive un'attività e premi `Enter`. Una nuova sessione in background inizia su quell'attività e appare come una riga che mostra se sta lavorando, aspettando te, o è completata. La nuova sessione utilizza il modello mostrato nell'intestazione di agent view. [La modalità di autorizzazione in cui inizia](#permission-mode-model-and-effort) dipende da come hai aperto agent view.

52 46 

53 Ogni prompt che inserisci qui avvia la sua propria nuova sessione. Digitando un altro prompt e premendo `Enter` avvia una seconda sessione accanto alla prima piuttosto che inviare un follow-up ad essa. Puoi eseguire diversi in parallelo in questo modo.47 Ogni prompt che inserisci qui avvia la sua propria nuova sessione. Digitando un altro prompt e premendo `Enter` avvia una seconda sessione accanto alla prima piuttosto che inviare un follow-up ad essa. Puoi eseguire diversi in parallelo in questo modo.

54 48 


64 </Step>58 </Step>

65 59 

66 <Step title="Porta una sessione esistente dentro">60 <Step title="Porta una sessione esistente dentro">

67 Per spostare una sessione che hai già aperta in agent view, esegui `/bg` dentro di essa, o premi `←` su un prompt vuoto per metterla in background e aprire agent view in un unico passaggio. La sessione continua a funzionare e appare come una riga accanto a quelle che hai inviato.61 Questo passaggio richiede una sessione in esecuzione. Se hai seguito i passaggi precedenti non ne hai una aperta in questo terminale, quindi apri una sessione `claude` regolare in un altro terminale e invia prima un messaggio.

62 

63 Per spostare una sessione che hai già aperta in agent view, esegui `/bg` dentro di essa, o premi `←` su un prompt vuoto per metterla in background e aprire agent view in un unico passaggio. In una sessione nuova senza messaggi ancora, `/bg` ti chiede di inviare prima un messaggio, mentre `←` funziona subito. La sessione continua a funzionare e appare come una riga accanto a quelle che hai inviato.

68 </Step>64 </Step>

69</Steps>65</Steps>

70 66 

71Puoi usare `claude agents` come tuo punto di ingresso principale invece di `claude`: invia ogni attività da agent view, collegati quando vuoi la conversazione completa, e premi `←` per tornare alla tabella.67Puoi usare `claude agents` come tuo punto di ingresso principale invece di `claude`: invia ogni attività da agent view, collegati quando vuoi la conversazione completa, e premi `←` per tornare alla tabella.

72 68 

73All'interno di una sessione `claude` regolare, l'hint `←` del footer del prompt conta gli agenti in background che stanno aspettando te, come `← 2 agents`, e ritorna a `← for agents` quando nessuno ha bisogno di input. I conteggi superiori a 99 vengono visualizzati come `99+`. Il conteggio si aggiorna circa ogni dieci secondi mentre il terminale è focalizzato e immediatamente quando il focus ritorna. Cambia brevemente colore quando si sposta e quando un agente si completa, a meno che l'impostazione [`prefersReducedMotion`](/docs/it/settings#available-settings) sia attiva, ed è nascosto in [modalità screen reader](/docs/it/accessibility). Su [Amazon Bedrock, Google Cloud's Agent Platform, e Microsoft Foundry](/docs/it/third-party-integrations), l'hint rimane nella sua forma semplice `← for agents` senza il conteggio. Richiede Claude Code v2.1.205 o successivo.69All'interno di una sessione `claude` regolare, l'hint `←` del footer del prompt conta gli agenti in background che stanno aspettando te, come `← 2 agents`, e ritorna a `← for agents` quando nessuno ha bisogno di input. I conteggi superiori a 99 vengono visualizzati come `99+`. Il conteggio si aggiorna circa ogni dieci secondi mentre il terminale è focalizzato e immediatamente quando il focus ritorna. Cambia brevemente colore quando si sposta e quando un agente si completa, e quando una sessione in background si completa mentre nessuno ha bisogno del tuo input mostra brevemente il numero completato, come `← 2 done`. Entrambi i flash sono disattivati quando l'impostazione [`prefersReducedMotion`](/docs/it/settings-reference#prefersreducedmotion) è attiva, e l'hint è nascosto in [modalità screen reader](/docs/it/accessibility).

74 70 

75<h2 id="monitor-sessions-with-agent-view">71<h2 id="monitor-sessions-with-agent-view">

76 Monitorare le sessioni con agent view72 Monitorare le sessioni con agent view


78 74 

79Esegui `claude agents` per aprire agent view. Prende il controllo del terminale completo ed elenca ogni sessione raggruppata per stato, con sessioni fissate e quelle che hanno bisogno di te in cima. Ogni riga mostra il nome della sessione, l'attività corrente e la sua età, contata da quando la sessione è stata creata; l'età di una sessione terminata si congela a quanto tempo ha impiegato l'esecuzione.75Esegui `claude agents` per aprire agent view. Prende il controllo del terminale completo ed elenca ogni sessione raggruppata per stato, con sessioni fissate e quelle che hanno bisogno di te in cima. Ogni riga mostra il nome della sessione, l'attività corrente e la sua età, contata da quando la sessione è stata creata; l'età di una sessione terminata si congela a quanto tempo ha impiegato l'esecuzione.

80 76 

81Il nome è tinto con il colore impostato da [`/color`](/docs/it/commands) in quella sessione. A partire da v2.1.199 il colore si trasporta quando [metti in background una sessione](#from-inside-a-session) con `←` o `/background`.77Il nome è tinto con il colore impostato da [`/color`](/docs/it/commands) in quella sessione, incluso quando [metti in background una sessione](#from-inside-a-session) con `←` o `/background`.

82 78 

83Per impostazione predefinita, l'elenco mostra ogni sessione in background che hai avviato, in tutti i tuoi progetti. Una sessione che lavora in un repository e un'altra in un worktree diverso appaiono entrambe qui, indipendentemente da quale directory hai aperto agent view. Per limitare l'elenco a un progetto, passa `--cwd`:79Per impostazione predefinita, l'elenco mostra ogni sessione in background che hai avviato, in tutti i tuoi progetti. Una sessione che lavora in un repository e un'altra in un worktree diverso appaiono entrambe qui, indipendentemente da quale directory hai aperto agent view. Per limitare l'elenco a un progetto, passa `--cwd`:

84 80 


117Ogni riga inizia con un'icona il cui colore e animazione mostrano lo stato della sessione:113Ogni riga inizia con un'icona il cui colore e animazione mostrano lo stato della sessione:

118 114 

119| Stato | L'icona mostra | Cosa significa |115| Stato | L'icona mostra | Cosa significa |

120| :---------- | :------------- | :---------------------------------------------------------------------------- |116| :---------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

121| Working | Animato | Claude sta attivamente eseguendo strumenti o generando una risposta |117| Working | Animato | Claude sta attivamente eseguendo strumenti o generando una risposta |

122| Needs input | Giallo | Claude sta aspettando una domanda specifica o una decisione di permesso da te |118| Needs input | Giallo | Claude sta aspettando qualcosa che solo tu puoi fornire: una risposta a una domanda, una decisione di permesso, o un altro prompt solo tu puoi rispondere, come un prompt [sandbox](/docs/it/sandboxing) per consentire un host di rete o una [richiesta di input](/docs/it/mcp#respond-to-mcp-elicitation-requests) di un server MCP. Un comando che ha bisogno di un terminale collegato, come `/install-github-app` o l'elenco delle impostazioni `/mcp`, [tiene una sessione incustodita qui anche](#attach-to-a-session) |

123| Idle | Attenuato | La sessione non ha nulla da fare ed è pronta per il tuo prossimo prompt |119| Idle | Attenuato | La sessione non ha nulla da fare ed è pronta per il tuo prossimo prompt |

124| Completed | Verde | Il compito è terminato con successo |120| Completed | Verde | Il compito è terminato con successo |

125| Failed | Rosso | Il compito è terminato con un errore |121| Failed | Rosso | Il compito è terminato con un errore |

126| Stopped | Grigio | La sessione è stata fermata con `Ctrl+X` o `claude stop` |122| Stopped | Grigio | La sessione è stata fermata con `Ctrl+X` o `claude stop`, [il suo processo è stato terminato da fuori Claude Code](#the-supervisor-process), o [è terminato mentre il servizio in background era spento](#sessions-show-as-failed-after-shutdown) |

127 123 

128Separatamente, la forma dell'icona mostra se il processo sottostante è in esecuzione:124Separatamente, la forma dell'icona mostra se il processo sottostante è in esecuzione:

129 125 

130| Forma | Cosa significa |126| Forma | Cosa significa |

131| :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |127| :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |

132| `✻` o animato `✽` | Il processo della sessione è vivo e risponde immediatamente |128| `✻` o animato `✽` | Il processo della sessione è vivo e risponde immediatamente |

133| `∙` | Il processo è uscito. Puoi ancora fare peek, rispondere o collegarti, e Claude riavvia da dove l'ha lasciato |129| `∙` | Il processo è uscito. Puoi ancora fare peek, e quando rispondi o ti colleghi, Claude riavvia da dove l'ha lasciato |

134| `✢` | Una sessione [`/loop`](/docs/it/scheduled-tasks) che dorme tra le iterazioni. La riga mostra il conteggio delle esecuzioni e un conto alla rovescia |130| `✢` | Una sessione [`/loop`](/docs/it/scheduled-tasks) che dorme tra le iterazioni. La riga mostra il conteggio delle esecuzioni e un conto alla rovescia |

135 131 

136L'etichetta `#N` che può apparire al bordo destro di una riga è una [pull request che la sessione è collegata a](#pull-request-status), non parte dell'icona di stato.132L'etichetta `#N` o `!N` che può apparire al bordo destro di una riga è un collegamento alla [pull request o merge request](#pull-request-status) della sessione, non parte dell'icona di stato.

137 133 

138Il titolo della scheda del terminale mostra il conteggio awaiting-input mentre agent view è aperto: `2 awaiting input · claude agents` quando le sessioni hanno bisogno di input, o `claude agents` quando nessuna lo fa.134Il titolo della scheda del terminale mostra il conteggio awaiting-input mentre agent view è aperto: `2 awaiting input · claude agents` quando le sessioni hanno bisogno di input, o `claude agents` quando nessuna lo fa.

139 135 

140A partire da v2.1.198, mentre agent view è aperto, Claude Code invia anche una notifica attraverso il tuo [canale di notifica del terminale](/docs/it/terminal-config#get-a-terminal-bell-or-notification) configurato quando una sessione in background locale inizia ad aver bisogno del tuo input, finisce, o fallisce. Le sessioni che vengono eseguite secondo una pianificazione, come le sessioni [`/loop`](/docs/it/scheduled-tasks), notificano solo quando hanno bisogno del tuo input. Le notifiche utilizzano la stessa impostazione [`preferredNotifChannel`](/docs/it/settings#available-settings) del resto di Claude Code e attivano l'hook [`Notification`](/docs/it/hooks#notification) con il tipo `agent_needs_input` o `agent_completed`.136Per leggere lo stato della sessione da uno script o un altro programma, usa [`claude agents --json`](#read-session-state-from-a-script) piuttosto che i file sotto `~/.claude/jobs/`.

137 

138Mentre agent view è aperto, Claude Code invia anche una notifica attraverso il tuo [canale di notifica del terminale](/docs/it/terminal-config#get-a-terminal-bell-or-notification) configurato quando una sessione in background locale inizia ad aver bisogno del tuo input, finisce, o fallisce. Le sessioni che vengono eseguite secondo una pianificazione, come le sessioni [`/loop`](/docs/it/scheduled-tasks), notificano solo quando hanno bisogno del tuo input. Le notifiche utilizzano la stessa impostazione [`preferredNotifChannel`](/docs/it/settings-reference#preferrednotifchannel) del resto di Claude Code e attivano l'hook [`Notification`](/docs/it/hooks#notification) con il tipo `agent_needs_input` o `agent_completed`.

141 139 

142Le sessioni in background non hanno bisogno di alcun terminale aperto per continuare a lavorare. Un [processo supervisor](#the-supervisor-process) separato le esegue, quindi puoi chiudere agent view, chiudere la tua shell, o avviare una nuova sessione interattiva e il tuo lavoro inviato continua.140Le sessioni in background non hanno bisogno di alcun terminale aperto per continuare a lavorare. Un [processo supervisor](#the-supervisor-process) separato le esegue, quindi puoi chiudere agent view, chiudere la tua shell, o avviare una nuova sessione interattiva e il tuo lavoro inviato continua.

143 141 

144Lo stato della sessione persiste su disco attraverso gli auto-update e i riavvii del supervisor. Le sessioni sono anche preservate quando la tua macchina dorme. I loro processi riprendono al risveglio e il supervisor si ricollega a loro invece di trattare il gap di tempo come inattività. Lo spegnimento ferma comunque le sessioni in esecuzione; vedi [Le sessioni mostrano come non riuscite dopo lo spegnimento](#sessions-show-as-failed-after-shutdown) per come recuperarle.142Lo stato della sessione persiste su disco attraverso gli auto-update e i riavvii del supervisor. Le sessioni sono anche preservate quando la tua macchina dorme. I loro processi riprendono al risveglio e il supervisor si ricollega a loro invece di trattare il gap di tempo come inattività. Lo spegnimento ferma comunque le sessioni in esecuzione; vedi [Le sessioni mostrano come non riuscite o fermate dopo lo spegnimento](#sessions-show-as-failed-after-shutdown) per come recuperarle.

145 143 

146Quando apri una sessione che ha smesso di rispondere, il supervisor riavvia il suo processo e la sessione continua la risposta interrotta da dove l'ha lasciata. Una sessione può finire in quello stato quando la macchina dorme mentre è a metà risposta. Richiede Claude Code v2.1.200 o successivo.144Una sessione che era a metà risposta quando la macchina ha dormito può tornare non responsiva. Quando apri una sessione che ha smesso di rispondere, il supervisor riavvia il suo processo e la sessione continua la risposta interrotta da dove l'ha lasciata.

147 145 

148<h3 id="row-summaries">146<h3 id="row-summaries">

149 Riassunti delle righe147 Riassunti delle righe


151 149 

152Il riassunto su una riga è generato da un [modello di classe Haiku](/docs/it/model-config) in modo che la riga possa dirti cosa sta facendo la sessione, cosa ha bisogno, o cosa ha prodotto senza aprire il transcript. Mentre una sessione sta attivamente lavorando, il testo della riga si aggiorna al massimo una volta ogni 15 secondi dall'output recente della sessione stessa senza inviare una richiesta di modello, e il modello scrive un riassunto fresco quando ogni turno termina.150Il riassunto su una riga è generato da un [modello di classe Haiku](/docs/it/model-config) in modo che la riga possa dirti cosa sta facendo la sessione, cosa ha bisogno, o cosa ha prodotto senza aprire il transcript. Mentre una sessione sta attivamente lavorando, il testo della riga si aggiorna al massimo una volta ogni 15 secondi dall'output recente della sessione stessa senza inviare una richiesta di modello, e il modello scrive un riassunto fresco quando ogni turno termina.

153 151 

154Una riga di lavoro mostra cosa la sessione dice che sta facendo, e una riga bloccata mostra la domanda che sta ponendo. Durante un turno lungo, il modello riscrive anche il riassunto circa una volta al minuto, aspettando il doppio dopo ogni riscrittura fino a quattro minuti, quindi una riga occupata non continua a mostrare un riassunto obsoleto. Prima di v2.1.205, una riga di lavoro potrebbe mostrare un'invocazione di strumento grezzo invece di un rapporto, e una sessione che esegue elementi di lavoro paralleli mostrava un conteggio `done/total` come `2/5` prima del testo.152Una riga di lavoro mostra cosa la sessione dice che sta facendo, e una riga bloccata mostra la domanda che sta ponendo. Durante un turno lungo, il modello riscrive anche il riassunto ogni pochi minuti in modo che una riga occupata non continui a mostrare un riassunto obsoleto. Il testo di riepilogo riempie la larghezza rimanente della riga; apri il [pannello peek](#peek-and-reply) per leggere una frase che il bordo del terminale taglia.

155 153 

156Il testo di riepilogo riempie la larghezza rimanente della riga e si tronca solo al bordo destro del terminale; apri il [pannello peek](#peek-and-reply) per leggere una frase che il bordo taglia. Prima di v2.1.206, il testo era tagliato a 64 colonne indipendentemente dalla larghezza del terminale.154Quando l'elenco è [raggruppato per directory](#organize-the-list), il riassunto si apre con lo stato della sessione come una parola colorata, come `Needs input · double jump or wall climb?`. Nel raggruppamento di stato predefinito, l'intestazione del gruppo nomina già lo stato, quindi la riga mostra solo il riassunto.

157 155 

158Quando l'elenco è [raggruppato per directory](#organize-the-list), il riassunto si apre con lo stato della sessione come una parola colorata, come `Needs input · double jump or wall climb?`. Nel raggruppamento di stato predefinito, l'intestazione del gruppo nomina già lo stato, quindi la riga mostra solo il riassunto. Prima di v2.1.205, le righe raggruppate per directory non portavano alcuna parola di stato.156Il riassunto di fine turno e ogni riscrittura a metà turno sono una breve richiesta di classe Haiku attraverso il tuo provider normale, fatturata e gestita secondo gli stessi [termini di utilizzo dei dati](/docs/it/data-usage) della sessione stessa. Gli aggiornamenti di 15 secondi tra le riscritture del modello riutilizzano l'output della sessione stessa e non inviano una richiesta. Su un provider di terze parti o gateway senza un modello Haiku configurato, la richiesta utilizza il modello principale della sessione; imposta [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/it/model-config#environment-variables) per sceglierne uno.

159 

160Un turno il cui intero output non contiene lettere o cifre, come una sessione [`/loop`](/docs/it/scheduled-tasks) che stampa un simbolo solitario su un'iterazione tranquilla, mantiene il riassunto e lo stato precedenti della riga. Prima di v2.1.205, quel turno è stato riclassificato e potrebbe capovolgere una sessione che stava aspettando il tuo input di nuovo a `Working`.

161 

162Il riassunto di fine turno e ogni riscrittura a metà turno sono una breve richiesta di classe Haiku attraverso il tuo provider normale, fatturata e gestita secondo gli stessi [termini di utilizzo dei dati](/docs/it/data-usage) della sessione stessa. Gli aggiornamenti di 15 secondi tra le riscritture del modello riutilizzano l'output della sessione stessa e non inviano una richiesta. Su provider di terze parti come Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e gateway personalizzati, la richiesta ritorna al modello principale della sessione quando nessun modello Haiku è configurato. Imposta [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/it/model-config#environment-variables) per scegliere il modello per questi riassunti su quei provider.

163 157 

164<h3 id="pull-request-status">158<h3 id="pull-request-status">

165 Stato della pull request159 Stato della pull request

166</h3>160</h3>

167 161 

168Quando una sessione apre una pull request, un'etichetta `#1234` appare al bordo destro della riga, collegata alla pull request nei terminali che supportano i hyperlink. L'etichetta persiste quando invii un follow-up alla sessione, quindi la pull request rimane visibile mentre la riga ritorna al progresso live. Le sessioni in background che hanno isolato i loro cambiamenti in un worktree aprono queste pull request da sole; [Come i file edits sono isolati](#how-file-edits-are-isolated) copre quando accade e cosa una sessione non fa mai senza chiedere.162Quando una sessione [apre una pull request](#how-file-edits-are-isolated), Claude Code aggiunge un'etichetta al bordo destro della riga, collegata alla pull request:

169 163 

170Una sessione che lavora su una pull request esistente è collegata a essa allo stesso modo. Modificare, commentare, chiudere, o contrassegnare una pull request come pronta con `gh` collega la pull request che l'output del comando stesso nomina, quindi un comando `gh` il cui output catturato non nomina alcuna pull request non crea un collegamento; `gh pr merge` è il caso comune, perché stampa il suo risultato solo su un terminale interattivo. Controllare una pull request con `gh pr checkout`, o eseguire il push su un ramo che ha una pull request aperta, la collega cercando quel ramo con `gh pr view` invece. Prima di v2.1.205, solo le pull request che la sessione ha creato o controllato erano collegate, e un push ne collegava una solo quando il nome del ramo locale corrispondeva.164* Claude Code scrive l'etichetta come `#1234` per una pull request e come `!1234` per una merge request di GitLab.

165* Claude Code emette il collegamento anche quando non riesce a rilevare il supporto dei hyperlink, ad esempio su SSH o tmux. Imposta [`FORCE_HYPERLINK=0`](/docs/it/env-vars) per rendere l'etichetta come testo semplice.

166* Dopo aver inviato un follow-up alla sessione, Claude Code mantiene l'etichetta mentre la riga ritorna al progresso live.

171 167 

172Claude Code legge la pull request dall'output completo del comando, inclusa la parte salvata in un file quando l'output di un comando supera il limite inline. Prima di v2.1.205, una pull request creata in una chiamata Bash il cui output superava circa 30.000 caratteri non era collegata.168Una sessione che lavora su una pull request esistente è collegata a essa allo stesso modo. Claude Code trova la pull request diversamente a seconda del comando che Claude esegue:

169 

170* Quando Claude modifica, commenta, chiude, o contrassegna una pull request come pronta con `gh`, Claude Code collega la pull request che l'output del comando stesso nomina. Un comando `gh` il cui output catturato non nomina alcuna pull request non crea un collegamento; `gh pr merge` è il caso comune, perché stampa il suo risultato solo su un terminale interattivo.

171* Quando Claude controlla una pull request con `gh pr checkout` o esegue il push su un ramo, Claude Code cerca il ramo con `gh pr view` e collega la sua pull request aperta.

172* La pull request non ha bisogno di esistere ancora quando Claude esegue il push: Claude Code ritenta la ricerca del ramo dopo fino a cinque comandi `git`, `gh`, `glab`, o `curl` successivi eseguiti nella stessa directory, quindi una pull request creata dopo il push, inclusa una che Claude crea attraverso l'API REST di GitHub, si collega quando un tentativo la trova.

173 173 

174Quando una sessione è collegata a più di una pull request, l'etichetta mostra un conteggio invece, come `3 PRs`, colorato dalla pull request aperta che ha più bisogno di attenzione. Apri il [pannello peek](#peek-and-reply) per vederle tutte.174Quando una sessione è collegata a più di una pull request, l'etichetta mostra un conteggio invece, come `3 PRs`, colorato dalla pull request aperta che ha più bisogno di attenzione. Apri il [pannello peek](#peek-and-reply) per vederle tutte.

175 175 


182| Viola | Unito |182| Viola | Unito |

183| Grigio | Bozza o chiuso |183| Grigio | Bozza o chiuso |

184 184 

185Per la maggior parte dei compiti questa colonna è dove raccogli il risultato: rivedi e unisci la pull request quando il suo numero diventa verde.185Per un compito che termina in una pull request, controlla questa etichetta per il risultato: rivedi e unisci la pull request quando il suo numero diventa verde.

186 186 

187<h3 id="peek-and-reply">187<h3 id="peek-and-reply">

188 Peek e rispondi188 Peek e rispondi


198 198 

199La maggior parte delle volte il pannello peek è sufficiente e non hai bisogno di aprire il transcript completo.199La maggior parte delle volte il pannello peek è sufficiente e non hai bisogno di aprire il transcript completo.

200 200 

201Prima di v2.1.207, ogni peek si apriva con la frase di stato e un timestamp nudo, e una sessione bloccata aveva la sua domanda che appariva sotto di loro con lo stesso timestamp ripetuto una seconda volta.201Digita una risposta nel pannello peek e premi `Enter` per inviarla a quella sessione. Quando la sessione pone una domanda con scelte predefinite, il pannello peek le mostra come un elenco numerato e puoi premere un tasto numero per sceglierne uno. Un prompt di permesso mostra come testo che descrive cosa la sessione vuole eseguire, senza opzioni numerate. Digita una risposta per rispondere, o collegati per rispondere con il prompt standard. Per altre sessioni bloccate, premi `Tab` per riempire l'input con una risposta suggerita che puoi modificare prima di inviare. Prefissa una risposta con `!` per inviare un comando Bash invece.

202 202 

203Digita una risposta nel pannello peek e premi `Enter` per inviarla a quella sessione. Quando la sessione sta facendo una domanda a scelta multipla, il pannello peek mostra le opzioni e puoi premere un tasto numero per sceglierne uno. Per altre sessioni bloccate, premi `Tab` per riempire l'input con una risposta suggerita che puoi modificare prima di inviare. Prefissa una risposta con `!` per inviare un comando Bash invece.203Quando un hook [`PermissionRequest`](/docs/it/hooks#permissionrequest) o [`PreToolUse`](/docs/it/hooks#pretooluse) restituisce un output che Claude Code non può convalidare per la chiamata che la sessione sta chiedendo, la riga mostra l'evento hook e `hook output invalid:` con l'errore di convalida prima del testo della richiesta in sospeso. Per un hook che fallisce in un altro modo, la riga dice che l'hook ha fallito. La sessione continua ad aspettare la stessa richiesta.

204 204 

205Una risposta che non può essere consegnata, perché il servizio in background non è raggiungibile o l'invio fallisce, viene salvata e inviata alla sessione come suo prossimo prompt quando il suo processo si avvia di nuovo, e il messaggio di errore dice che la risposta è stata salvata. Una risposta con prefisso `!` non viene salvata, perché il testo salvato raggiungerebbe la sessione come un prompt semplice piuttosto che eseguire come comando Bash.205Una risposta che non può essere consegnata, perché il servizio in background non è raggiungibile o l'invio fallisce, viene salvata e inviata alla sessione come suo prossimo prompt quando il suo processo si avvia di nuovo, e il messaggio di errore dice che la risposta è stata salvata. Una risposta con prefisso `!` non viene salvata, perché il testo salvato raggiungerebbe la sessione come un prompt semplice piuttosto che eseguire come comando Bash.

206 206 


216 216 

217Mentre collegato, la sessione si comporta come qualsiasi altra sessione di Claude Code: [comandi](/docs/it/commands), scorciatoie da tastiera e funzioni funzionano tutti, con le eccezioni sottostanti.217Mentre collegato, la sessione si comporta come qualsiasi altra sessione di Claude Code: [comandi](/docs/it/commands), scorciatoie da tastiera e funzioni funzionano tutti, con le eccezioni sottostanti.

218 218 

219Una sessione in background rifiuta `/install-github-app` e l'elenco delle impostazioni [`/mcp`](/docs/it/mcp), incluse le sue azioni di autenticazione, sia che tu sia collegato o che rispondi dal pannello peek. Il messaggio ti indirizza a una sessione `claude` regolare, e `/mcp reconnect <server>`, `/mcp enable`, e `/mcp disable` funzionano ancora.219Mentre sei collegato, `/install-github-app` e l'elenco delle impostazioni [`/mcp`](/docs/it/mcp) funzionano normalmente, poiché un umano al terminale può completare i loro dialoghi. Quando nessuno è collegato, questi comandi non possono aprire i loro dialoghi, quindi la sessione appare sotto `Needs input` in agent view con una riga come `open this session to manage MCP servers`, e la risposta del transcript dice lo stesso. Collegati ed esegui il comando di nuovo per continuare; la riga needs-input si cancella quando ti colleghi. `/mcp reconnect <server>`, `/mcp enable`, e `/mcp disable` funzionano senza collegarsi in entrambi i casi.

220 220 

221Le sessioni collegate si rendono sempre in [modalità fullscreen](/docs/it/fullscreen), indipendentemente dalla tua impostazione `tui`, perché una sessione in background non ha scrollback del terminale a cui aggiungere. Scorri con `PgUp`, `PgDn`, o la rotella del mouse, e premi `Ctrl+O` per la modalità transcript. Lo scroll nativo del tuo terminale e la modalità copia di tmux mostrano solo il viewport corrente, lo stesso di quando esegui qualsiasi applicazione fullscreen.221Le sessioni collegate si rendono sempre in [modalità fullscreen](/docs/it/fullscreen), indipendentemente dalla tua impostazione `tui`, perché una sessione in background non ha scrollback del terminale a cui aggiungere. Scorri con `PgUp`, `PgDn`, o la rotella del mouse, e premi `Ctrl+O` per la modalità transcript. Lo scroll nativo del tuo terminale e la modalità copia di tmux mostrano solo il viewport corrente, lo stesso di quando esegui qualsiasi applicazione fullscreen.

222 222 

223Premi `←` su un prompt vuoto, o esegui `/exit`, per scollegar e tornare a agent view. A partire da v2.1.198 questo funziona allo stesso modo sia che tu abbia aperto la sessione da agent view o con `claude attach <id>` dalla tua shell.223Premi `←` su un prompt vuoto, o esegui `/exit`, per scollegar e tornare a agent view, indipendentemente dal fatto che tu abbia aperto la sessione da agent view o con `claude attach <id>` dalla tua shell.

224 

225`←` scollega anche mentre l'[overlay `/btw`](/docs/it/interactive-mode#side-questions-with-%2Fbtw) è aperto. Richiede Claude Code v2.1.257 o successivo. Una domanda laterale che sta ancora rispondendo continua a funzionare mentre sei via. La prossima volta che ti colleghi, l'overlay si riapre con essa, o con la sua risposta.

226 

227Su Windows, se premi `←` entro circa mezzo secondo dal collegamento, Claude Code mostra `Ambiguous ←, press again to detach`, perché in quella finestra il terminale può rideliver una pressione da prima che ti collegassi. Premi `←` di nuovo per scollegar.

224 228 

225`Ctrl+Z` scollega anche ma torna a dove hai iniziato invece: agent view se ti sei collegato da lì, o la tua shell se hai eseguito `claude attach`. Usa `Ctrl+Z` quando una finestra di dialogo ha il focus e non risponde a `←`.229`Ctrl+Z` scollega anche ma torna a dove hai iniziato invece: agent view se ti sei collegato da lì, o la tua shell se hai eseguito `claude attach`. Usa `Ctrl+Z` quando una finestra di dialogo ha il focus e non risponde a `←`.

226 230 


228 232 

229Scollegar non ferma mai una sessione in background: `←`, `Ctrl+Z`, `/exit`, e doppio `Ctrl+C` o doppio `Ctrl+D` la lasciano tutte in esecuzione. Per terminare una sessione da dentro di essa, esegui `/stop`.233Scollegar non ferma mai una sessione in background: `←`, `Ctrl+Z`, `/exit`, e doppio `Ctrl+C` o doppio `Ctrl+D` la lasciano tutte in esecuzione. Per terminare una sessione da dentro di essa, esegui `/stop`.

230 234 

235<h4 id="switch-sessions-without-leaving-the-terminal">

236 Cambiare sessioni senza lasciare il terminale

237</h4>

238 

231In una sessione in esecuzione in primo piano, una che hai avviato nel terminale piuttosto che collegato da agent view, premere `←` su un prompt vuoto la mette in background e apre agent view con quella riga selezionata, quindi puoi cambiare sessioni senza lasciare il terminale. Lo stesso singolo press scollega una sessione collegata.239In una sessione in esecuzione in primo piano, una che hai avviato nel terminale piuttosto che collegato da agent view, premere `←` su un prompt vuoto la mette in background e apre agent view con quella riga selezionata, quindi puoi cambiare sessioni senza lasciare il terminale. Lo stesso singolo press scollega una sessione collegata.

232 240 

233Se uno strumento è in esecuzione quando premi `←`, Claude Code aspetta fino a circa dieci secondi che finisca prima di metterla in background, e la risposta continua nella sessione in background. Premi `←` di nuovo per metterla in background immediatamente invece di aspettare. Quando il lavoro in corso non può trasferirsi alla sessione in background, appare prima la finestra di dialogo `Background this session?`, come con [`/background`](#from-inside-a-session).241Se premi `←` subito dopo aver eliminato l'ultimo testo del prompt o aver spostato la cronologia del prompt, Claude Code ti chiede di confermare: il primo press mostra `Press ← again to open agents`, o `Press ← again to go back to agents` in una sessione collegata, e il secondo press cambia.

242 

243Quando `←` mette in background una sessione in primo piano, agent view mostra `Your conversation moved to the background` sopra l'elenco, con la riga di quella sessione già selezionata. Da lì:

244 

245* Premi `Enter` per riaprire la conversazione.

246* Premi `Esc` per annullare il cambio e tornare alla conversazione. Se `Esc` mostra `Still starting — try again in a moment`, la sessione in background non è ancora pronta, quindi premi `Esc` di nuovo tra un momento.

247* Premi `Ctrl+C` due volte per uscire alla tua shell.

248 

249Quando Claude Code non riesce a riaprire la conversazione, esce e stampa un comando `claude --resume` che la riprende.

250 

251L'[elenco delle attività](/docs/it/interactive-mode#task-list) di Claude si sposta alla sessione in background con la conversazione, quindi la checklist è intatta quando torni a quella riga.

252 

253La riga su cui hai premuto `←` mantiene anche un nome in grassetto e non attenuato dopo aver spostato la selezione con i tasti freccia o il mouse, quindi puoi dire da quale sessione sei venuto.

254 

255Se uno strumento è in esecuzione quando premi `←`, Claude Code aspetta fino a circa dieci secondi che finisca prima di metterla in background, e Claude continua la risposta nella sessione in background. Premi `←` di nuovo per metterla in background immediatamente invece di aspettare. Quando il lavoro in corso non può trasferirsi alla sessione in background, Claude Code mostra prima la finestra di dialogo `Background this session?`, come con [`/background`](#from-inside-a-session).

234 256 

235Il limite di dieci secondi non si applica mentre i [subagents](/docs/it/sub-agents) sono in esecuzione. Claude Code continua ad aspettare in modo che il loro lavoro si trasferisca, e mostra un avviso `Still backgrounding after the current tool` mentre aspetta; premi `←` di nuovo per metterla in background senza aspettare, il che riavvia i subagents dall'inizio. Prima di v2.1.203, l'attesa è terminata dopo dieci secondi e i subagents in esecuzione sono stati riavviati dall'inizio senza avvertimento.257Il limite di dieci secondi non si applica mentre i [subagents in primo piano](/docs/it/sub-agents#run-subagents-in-foreground-or-background) che Claude ha avviato nella conversazione sono ancora in esecuzione. Claude Code continua ad aspettare in modo che il loro lavoro si trasferisca, e mostra un avviso `Still backgrounding after the current tool` mentre aspetta. Premi `←` di nuovo per metterla in background senza aspettare, il che riavvia quei subagents dall'inizio. Claude Code non aspetta i subagents che un [workflow dinamico](/docs/it/workflows) sta eseguendo. Quando un workflow ha subagents in esecuzione, Claude Code mostra la finestra di dialogo `Background this session?` invece.

236 258 

237La riga viene creata anche da una sessione nuova senza cronologia di conversazione, quindi `→` vi ritorna. Prima di v2.1.203, agent view mostrava un suggerimento di onboarding sotto quella riga quando era l'unica.259Claude Code non mette in background la sessione mentre hai testo non inviato nell'input del prompt, perché il testo rimane nella casella di input del tuo terminale e non si sposterebbe alla sessione in background. Se digiti nell'input mentre Claude Code aspetta di mettere in background la sessione, annulla il cambio con `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`

260 

261Premere `←` crea la riga della sessione anche quando la conversazione non ha ancora messaggi, quindi `→` ritorna comunque a essa.

238 262 

239Puoi disattivare questa scorciatoia con l'impostazione `leftArrowOpensAgents` in `/config`.263Puoi disattivare questa scorciatoia con l'impostazione `leftArrowOpensAgents` in `/config`.

240 264 


255 279 

256Per rimuovere una sessione dall'elenco, premi `Ctrl+X` per fermarla e `Ctrl+X` di nuovo entro due secondi per eliminarla. Premere `Ctrl+X` su un'intestazione di gruppo elimina ogni sessione in quel gruppo dopo conferma.280Per rimuovere una sessione dall'elenco, premi `Ctrl+X` per fermarla e `Ctrl+X` di nuovo entro due secondi per eliminarla. Premere `Ctrl+X` su un'intestazione di gruppo elimina ogni sessione in quel gruppo dopo conferma.

257 281 

258L'eliminazione rimuove la sessione da agent view. Se Claude ha [creato un worktree](#how-file-edits-are-isolated) per la sessione, l'eliminazione rimuove anche quel worktree, inclusi eventuali cambiamenti non committati in esso, quindi esegui il commit del lavoro che vuoi mantenere prima. Un worktree che hai creato tu stesso e in cui hai avviato la sessione viene lasciato in posto. Il transcript della conversazione rimane sulla tua macchina locale e rimane disponibile attraverso `claude --resume`.282Il secondo press elimina la sessione anche quando il tentativo di arresto fallisce, ad esempio perché il [servizio in background non sta rispondendo](#agent-view-says-the-background-service-did-not-respond): la conferma rimane attiva per altri due secondi, e l'eliminazione termina il processo della sessione stesso. Premi `Esc` per chiudere la conferma senza eliminare.

283 

284Tranne nei casi mantenuti coperti in [Cosa elimina 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, mantenuto, o lasciato in posto a seconda di come elimini e cosa contiene il worktree. Il transcript della conversazione rimane sempre sulla tua macchina locale, disponibile attraverso `claude --resume`.

285 

286Per riportare una sessione su Claude Code v2.1.212 o successivo, digita `/resume` nell'input di dispatch. Si apre un picker con le sessioni passate del repository da cui hai aperto agent view, più recenti per prime, 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 in modo che si riunisca all'elenco come riga, e `Esc` chiude il picker.

259 287 

260L'eliminazione non rimuove mai un worktree con commit che non sono stati spinti da nessuna parte, o uno che un'altra sessione in esecuzione rivendica o ha bloccato. Claude Code mantiene il worktree e la sessione, e il footer nomina il percorso mantenuto e il motivo. Spingi i commit, o chiudi l'altra sessione, quindi elimina di nuovo.288Il picker si apre solo per un `/resume` semplice. Un resume mirato, scoped, o ristretto non può essere servito dal picker, quindi agent view mostra l'hint `attach to a session to run it` invece quando:

261 289 

262L'eliminazione cancella anche la sessione dall'[elenco delle sessioni del supervisor](#the-supervisor-process), sia che tu elimini con `Ctrl+X` o con [`claude rm`](#manage-sessions-from-the-shell) dalla shell, quindi la rimozione persiste attraverso i riavvii del supervisor. Prima di v2.1.206, rimuovere una sessione mentre il supervisor stava riavviando o era irraggiungibile la lasciava in quell'elenco, e il prossimo supervisor riavviava il suo processo e mostrava la riga di nuovo.290* `/resume` nomina un id o un termine di ricerca

291* la vista è scoped con `--cwd`

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

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

263 294 

264Le sessioni completate che non si adattano allo schermo si ripiegano in una riga `… N more`. I fallimenti e le sessioni con una pull request aperta rimangono sempre visibili. Il gruppo `Completed` riempie lo spazio verticale rimasto dopo i gruppi live, e su un terminale corto l'intestazione si compatta in una singola riga di riepilogo in modo che le sessioni che stanno lavorando o hanno bisogno di input rimangono visibili.295Le sessioni completate che non si adattano allo schermo si ripiegano in una riga `… N more`. I fallimenti e le sessioni con una pull request aperta rimangono sempre visibili. Il gruppo `Completed` riempie lo spazio verticale rimasto dopo i gruppi live, e su un terminale corto l'intestazione si compatta in una singola riga di riepilogo in modo che le sessioni che stanno lavorando o hanno bisogno di input rimangono visibili.

265 296 


270Digita nell'input di dispatch per filtrare invece di inviare:301Digita nell'input di dispatch per filtrare invece di inviare:

271 302 

272| Filtro | Mostra |303| Filtro | Mostra |

273| :---------------------- | :--------------------------------------------------------------------------------------------------------- |304| :-------------------------------------- | :--------------------------------------------------------------------------------------------------------- |

274| `a:<name>` | Sessioni che eseguono l'agente denominato |305| `a:<name>` | Sessioni che eseguono l'agente denominato |

275| `s:<state>` | Sessioni nello stato dato, come `s:working`. Accetta anche `s:blocked` per tutto ciò che sta aspettando te |306| `s:<state>` | Sessioni nello stato dato, come `s:working`. Accetta anche `s:blocked` per tutto ciò che sta aspettando te |

276| `#<number>` o un URL PR | La sessione che lavora su quella pull request |307| `#<number>` o un URL PR o merge request | La sessione che lavora su quella pull request o merge request |

277| Qualsiasi altro URL | La sessione il cui primo prompt conteneva quell'URL |308| Qualsiasi altro URL | La sessione il cui primo prompt conteneva quell'URL |

278 309 

279<h3 id="keyboard-shortcuts">310<h3 id="keyboard-shortcuts">


283Premi `?` in agent view per vedere ogni scorciatoia nel contesto. La tabella sottostante le riassume.314Premi `?` in agent view per vedere ogni scorciatoia nel contesto. La tabella sottostante le riassume.

284 315 

285| Scorciatoia | Azione |316| Scorciatoia | Azione |

286| :-------------------- | :------------------------------------------------------------------------------------------- |317| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

287| `↑` / `↓` | Muoviti tra le righe |318| `↑` / `↓` | Muoviti tra le righe |

288| `Enter` | Collegati alla sessione selezionata, o invia se c'è testo nell'input |319| `Enter` | Collegati alla sessione selezionata, o invia se c'è testo nell'input |

289| `Space` | Apri o chiudi il pannello peek per la sessione selezionata |320| `Space` | Apri o chiudi il pannello peek per la sessione selezionata |

290| `Shift+Enter` | Invia e collegati immediatamente |321| `Shift+Enter` | Inserisci una nuova riga nell'input di dispatch, [come nel prompt principale](/docs/it/terminal-config#enter-multiline-prompts) |

322| `Ctrl+Enter` | Invia e collegati immediatamente, nei terminali dove l'overlay `?` elenca `ctrl+enter to start and open` |

291| `→` | Collegati alla sessione selezionata |323| `→` | Collegati alla sessione selezionata |

292| `Alt+1`..`Alt+9` | Collegati alla sessione 1–9 nella directory della sessione focalizzata |324| `Alt+1`..`Alt+9` | Collegati alla sessione 1–9 nella directory della sessione focalizzata |

293| `Tab` | Su un input vuoto, sfoglia tutti i subagents. Altrimenti applica il suggerimento evidenziato |325| `Tab` | Su un input vuoto, sfoglia tutti i subagents. Altrimenti applica il suggerimento evidenziato |


295| `Ctrl+T` | Fissa o scollega la sessione selezionata |327| `Ctrl+T` | Fissa o scollega la sessione selezionata |

296| `Ctrl+R` | Rinomina la sessione selezionata |328| `Ctrl+R` | Rinomina la sessione selezionata |

297| `Ctrl+G` | Apri il prompt di dispatch nel tuo `$VISUAL` o `$EDITOR` |329| `Ctrl+G` | Apri il prompt di dispatch nel tuo `$VISUAL` o `$EDITOR` |

330| `Ctrl+J` | Inserisci una nuova riga nell'input di dispatch |

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

299| `Shift+↑` / `Shift+↓` | Riordina la sessione selezionata |332| `Shift+↑` / `Shift+↓` | Riordina la sessione selezionata |

300| `Esc` | Chiudi il pannello peek, cancella l'input, o esci |333| `Esc` | Chiudi il pannello peek, cancella l'input, o esci. Quando hai aperto agent view mettendo in background la tua sessione con `←`, l'`Esc` finale ritorna a quella conversazione invece di uscire. Con la [modalità editor vim](/docs/it/interactive-mode#vim-editor-mode) attiva, premere `Esc` nell'input passa da modalità INSERT a modalità NORMAL e mantiene il tuo testo, come nel prompt principale |

301| `Ctrl+C` | Cancella l'input; premi due volte per uscire |334| `Ctrl+C` | Cancella l'input; premi due volte per uscire |

302| `?` | Mostra tutte le scorciatoie |335| `?` | Mostra tutte le scorciatoie |

303 336 

337`Ctrl+S`, `Ctrl+T`, e `Ctrl+G` seguono il tuo [`keybindings.json`](/docs/it/keybindings). Riassegna o scollega `Ctrl+S` e `Ctrl+T` con le azioni `agents:switchView` e `agents:togglePin` nel contesto [`Agents`](/docs/it/keybindings#agents-actions), e `Ctrl+G` attraverso il binding `chat:externalEditor` del contesto `Chat`. Le altre scorciatoie nella tabella non possono essere riassegnate.

338 

304<h2 id="dispatch-new-agents">339<h2 id="dispatch-new-agents">

305 Invia nuovi agenti340 Invia nuovi agenti

306</h2>341</h2>


313 348 

314Digita un prompt nell'input in basso di agent view e premi `Enter` per avviare una nuova sessione in background. La sessione è denominata automaticamente dal prompt; rinominala in seguito con `Ctrl+R`.349Digita un prompt nell'input in basso di agent view e premi `Enter` per avviare una nuova sessione in background. La sessione è denominata automaticamente dal prompt; rinominala in seguito con `Ctrl+R`.

315 350 

316Un nome che la sessione riceve in seguito appare anche sulla sua riga, incluso il nome che Claude deriva quando [accetti un piano](/docs/it/permission-modes#review-and-approve-a-plan) in quella sessione. Prima di v2.1.207, una sessione in background denominata accettando un piano mostrava quel nome in `/status` ma non sulla sua riga di agent view finché non la rinominavi tu stesso.351Il nome automatico è un'etichetta breve scritta da un [modello di classe Haiku](/docs/it/model-config). Un nome che la sessione riceve in seguito appare anche sulla sua riga, incluso il [titolo generato](/docs/it/sessions#name-your-sessions) che la sessione ottiene quando [accetti un piano](/docs/it/permission-modes#review-and-approve-a-plan) in quella sessione.

317 352 

318Incolla un'immagine nel prompt per includere uno screenshot o un diagramma con il compito.353Incolla un'immagine nel prompt per includere uno screenshot o un diagramma con il compito.

319 354 

320Il testo incollato più lungo di 800 caratteri o più di due righe si comprime in un placeholder `[Pasted text #N]` in modo che l'input rimanga su una riga; il testo completo viene inviato quando invii. Per rivedere o modificare il testo compresso prima di inviare, incolla lo stesso testo di nuovo e il placeholder si espande di nuovo nell'input. Un promemoria `paste again to expand` appare sotto l'input per alcuni secondi dopo l'incolla su terminali larghi almeno 90 colonne. Prima di v2.1.207, incollare lo stesso testo di nuovo aggiungeva un secondo placeholder invece di espandere il primo.355Il testo incollato più lungo di 800 caratteri o più di tre righe si comprime in un placeholder `[Pasted text #N]` in modo che l'input rimanga su una riga; il testo completo viene inviato quando invii. Per rivedere o modificare il testo compresso prima di inviare, incolla lo stesso testo di nuovo e il placeholder si espande di nuovo nell'input.

321 356 

322Prefissa o menziona parti del prompt per controllare come la sessione inizia:357Prefissa o menziona parti del prompt per controllare come la sessione inizia:

323 358 

324| Input | Effetto |359| Input | Effetto |

325| :----------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |360| :--------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

326| `<agent-name> <prompt>` | Se la prima parola corrisponde a un nome di [subagent](/docs/it/sub-agents) personalizzato, quel subagent viene eseguito come agente principale della sessione con la configurazione dal suo frontmatter |361| `<agent-name> <prompt>` | Se la prima parola corrisponde a un nome di [subagent](/docs/it/sub-agents) personalizzato, quel subagent viene eseguito come agente principale della sessione con la configurazione dal suo frontmatter |

327| `@<agent-name>` | Menziona un subagent personalizzato in qualsiasi punto del prompt per eseguirlo come agente principale |362| `@<agent-name>` | Menziona un subagent personalizzato in qualsiasi punto del prompt per eseguirlo come agente principale |

328| `@<repo>` | Menziona un repository per eseguire la sessione lì. Vedi [Invia a una directory specifica](#dispatch-to-a-specific-directory) per quali repository sono elencati |363| `@<repo>` | Menziona un repository per eseguire la sessione lì. Vedi [Invia a una directory specifica](#dispatch-to-a-specific-directory) per quali repository sono elencati |

329| `/<command>` | Suggerisci [skills](/docs/it/skills) e [commands](/docs/it/commands) da inviare come prompt |364| `/<command>` | Suggerisci [skills](/docs/it/skills) e [commands](/docs/it/commands) da inviare come prompt |

330| `! <command>` | Esegui un comando shell come un job in background invece di avviare una sessione Claude. Il job appare come una riga a cui puoi collegarti, osservare e staccarti |365| `! <command>` | Esegui un comando shell come un job in background invece di avviare una sessione Claude. Il job appare come una riga a cui puoi collegarti, osservare e staccarti |

331| `#<number>` o un URL di pull request | Se una sessione sta già lavorando su quel PR, selezionala invece di inviare |366| `#<number>` o un URL di pull request o merge request | Se una sessione sta già lavorando su quel pull request o merge request, Claude Code seleziona la sua riga invece di inviare una nuova sessione |

332| `Shift+Enter` | Invia e collegati immediatamente alla nuova sessione |

333 367 

334Un piccolo insieme di comandi viene eseguito in agent view stesso invece di essere inviato:368Un piccolo insieme di comandi viene eseguito in agent view stesso invece di essere inviato:

335 369 


337* `/logout` ti disconnette371* `/logout` ti disconnette

338* `/model` imposta il [modello di dispatch](#set-the-model)372* `/model` imposta il [modello di dispatch](#set-the-model)

339* A partire da v2.1.198, `/login` apre la finestra di dialogo di accesso in modo che tu possa accedere di nuovo senza collegarti a una sessione373* A partire da v2.1.198, `/login` apre la finestra di dialogo di accesso in modo che tu possa accedere di nuovo senza collegarti a una sessione

374* Un `/resume` semplice, o il suo alias `/continue`, apre un picker delle sessioni passate del repository per [riportarne una indietro](#organize-the-list) come sessione in background. Richiede Claude Code v2.1.212 o successivo

340 375 

341Skills, i tuoi comandi personali, e built-in che espandono il prompt come `/init` vengono inviati a una nuova sessione in background come loro primo prompt. Gli altri comandi built-in mostrano un suggerimento `attach to a session to run it` invece. Tutto ciò che hai digitato rimane nell'input accanto al suggerimento in modo che tu possa modificarlo. Prima di v2.1.203, il suggerimento cancellava l'input e il testo digitato andava perso.376Skills, i tuoi comandi personali, e built-in che espandono il prompt come `/init` vengono inviati a una nuova sessione in background come loro primo prompt. Gli altri comandi built-in mostrano un suggerimento `attach to a session to run it` invece. Tutto ciò che hai digitato rimane nell'input accanto al suggerimento in modo che tu possa modificarlo.

342 377 

343Confezionare un compito ricorrente come una [skill](/docs/it/skills) ti permette di avviare lo stesso workflow da agent view ripetutamente senza riscrivere il prompt.378Confezionare un compito ricorrente come una [skill](/docs/it/skills) ti permette di avviare lo stesso workflow da agent view ripetutamente senza riscrivere il prompt.

344 379 


357 * I [git worktrees](/docs/it/worktrees) registrati del repository da cui hai lanciato che si trovano all'interno del suo albero di directory, come quelli che Claude crea sotto `.claude/worktrees/`, etichettati con il loro ramo estratto. I worktrees aggiunti al di fuori del repository, come con `git worktree add ../feature`, non sono elencati392 * I [git worktrees](/docs/it/worktrees) registrati del repository da cui hai lanciato che si trovano all'interno del suo albero di directory, come quelli che Claude crea sotto `.claude/worktrees/`, etichettati con il loro ramo estratto. I worktrees aggiunti al di fuori del repository, come con `git worktree add ../feature`, non sono elencati

358 * Qualsiasi directory che ha già una sessione nell'elenco393 * Qualsiasi directory che ha già una sessione nell'elenco

359 394 

360 Una directory il cui nome contiene uno spazio non è elencata. Prima di v2.1.203, i worktrees registrati non erano elencati, quindi l'invio in uno significava eseguire `claude --bg` dalla directory di quel worktree.395 Una directory il cui nome contiene uno spazio non è elencata.

361* Dalla shell, `cd` nella directory e esegui `claude --bg "<prompt>"`.396* Dalla shell, `cd` nella directory e esegui `claude --bg "<prompt>"`.

362 397 

363Quando agent view è raggruppato per directory, la directory della riga evidenziata diventa il target di dispatch, quindi puoi scorrere a un gruppo e inviare in esso senza riscrivere il percorso.398Quando agent view è raggruppato per directory, l'invio invia il prompt alla directory della riga selezionata, quindi puoi selezionare un gruppo e inviare in esso senza riscrivere il percorso.

364 399 

365<h3 id="from-inside-a-session">400<h3 id="from-inside-a-session">

366 Da dentro una sessione401 Da dentro una sessione

367</h3>402</h3>

368 403 

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

405 

406<h4 id="send-the-session-to-the-background">

407 Invia la sessione in background

408</h4>

409 

369Esegui `/background` o il suo alias `/bg` per spostare la conversazione corrente in una sessione in background. Passa un prompt come `/bg run the test suite and fix any failures` per inviare un'istruzione in più prima. Se Claude sta rispondendo quando esegui `/bg`, la risposta continua nella sessione in background.410Esegui `/background` o il suo alias `/bg` per spostare la conversazione corrente in una sessione in background. Passa un prompt come `/bg run the test suite and fix any failures` per inviare un'istruzione in più prima. Se Claude sta rispondendo quando esegui `/bg`, la risposta continua nella sessione in background.

370 411 

371L'uscita da una sessione interattiva che ha ancora lavoro in background in esecuzione, come subagent, comandi shell in background, workflow, o [monitor](/docs/it/tools-reference#monitor-tool), mostra una finestra di dialogo `Background work is running` invece di uscire immediatamente. A partire da v2.1.198 la finestra di dialogo offre `Move to background and exit` insieme a `Exit anyway` e `Stay`. Sceglierla sposta la sessione in background nello stesso modo in cui `/background` fa, quindi ti restituisce alla tua shell, in modo che il lavoro che può continuare rimane in esecuzione e la sessione appare in agent view. L'opzione non viene mostrata quando agent view è [disattivato](#turn-off-agent-view).412L'uscita da una sessione che ha ancora lavoro in background in esecuzione, come subagent, comandi shell in background, workflow, o [monitor](/docs/it/tools-reference#monitor-tool), mostra una finestra di dialogo `Background work is running` invece di uscire immediatamente. Scegli `Move to background and exit` per mettere in background la sessione nello stesso modo in cui `/background` fa e tornare alla tua shell. L'opzione non viene mostrata quando agent view è [disattivato](#turn-off-agent-view).

413 

414Se una sessione in background nell'elenco ha già il nome della conversazione, Claude Code numera il nome della nuova riga, come `my-session (2)`, e lascia il nome della riga esistente invariato. Per rinominare la nuova riga, selezionala in agent view e premi `Ctrl+R`.

415 

416<h4 id="copy-the-session-with-/fork">

417 Copia la sessione con /fork

418</h4>

419 

420Esegui `/fork` per copiare la conversazione corrente in una nuova sessione in background mentre l'originale continua a essere eseguita. La copia inizia con tutto nella conversazione fino a quel punto; vedi i punti elenco di seguito per dove viene eseguita la copia. Trasporta anche il modello, la modalità di autorizzazione, il livello di sforzo, e qualsiasi directory o concessioni di autorizzazione "non chiedere di nuovo" che hai aggiunto durante la sessione. La copia appare come sua propria riga in agent view.

421 

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

423 

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

425 

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

372 427 

373Lo spostamento in background da una sessione interattiva avvia un nuovo processo che riprende dalla conversazione salvata, e il lavoro in corso si trasferisce ad esso: comandi shell in background in esecuzione, subagent in background, workflow dinamici, e compiti programmati che hai creato con [`/loop`](/docs/it/scheduled-tasks) si trasferiscono alla sessione in background e continuano a girare lì. Un subagent si sposta insieme a tutto ciò che ha avviato, quindi si trasferisce solo quando tutto quel lavoro può trasferirsi anche, incluso su Windows. Per fermare il lavoro in corso invece di trasferirlo, imposta la variabile di ambiente [`CLAUDE_DISABLE_ADOPT=1`](/docs/it/env-vars#variables); Claude Code ti chiede di confermare prima di metterla in background.428La conferma di `/fork` è una riga che mostra lo stato della copia, come `session running`, il nome della sua riga di agent view, e il suo ID di sessione per `claude attach`. Fai clic sul nome per passare alla copia: questa sessione si sposta in background, come premere `←`, e agent view apre la sessione della copia.

374 429 

375Il lavoro che non può trasferirsi, come un [monitor](/docs/it/tools-reference#monitor-tool) in esecuzione, viene fermato. Un subagent messo in background che possiede un monitor viene fermato insieme ad esso. Quando uno qualsiasi di essi è in esecuzione, Claude Code mostra una finestra di dialogo `Background this session?` in modo che tu possa confermare prima che sia fermato.430Tranne quando la copia [modifica in posizione](#how-file-edits-are-isolated), Claude Code le istruisce di creare un worktree proprio prima di apportare modifiche al codice. Al di fuori di un repository git, solo una copia spostata fuori da un worktree creato da hook riceve l'istruzione; senza un [`WorktreeCreate` hook](/docs/it/hooks#worktreecreate), la copia modifica in posizione. Una copia spostata fuori dal tuo worktree riceve anche l'istruzione di non modificare mai, eseguire comandi in, o entrare in quel worktree, qualunque sia l'impostazione di isolamento.

431 

432Dove la copia inizia dipende da dove è in esecuzione la sessione corrente:

433 

434* Come qualsiasi sessione inviata, la copia [si sposta nel suo worktree prima di modificare i file](#how-file-edits-are-isolated). In quel caso la conferma non menziona dove viene eseguita la copia.

435* Quando la tua sessione si è spostata nel suo [worktree](/docs/it/worktrees) collegato dopo l'avvio, la copia inizia da dove era la sessione prima dello spostamento e, a meno che non [modifichi in posizione](#how-file-edits-are-isolated), apporta le sue modifiche al codice in un worktree proprio lì. Quando il tuo worktree è estratto su un ramo, quell'istruzione dice anche a una copia il cui compito si basa sul tuo lavoro di basare il suo nuovo ramo sul tuo, poiché il tuo ramo rimane estratto nel tuo worktree. La conferma termina con `runs in the origin tree`.

436* Quando hai lanciato la sessione all'interno di un worktree collegato di un repository che ha un albero di lavoro principale, la copia inizia in quell'albero di lavoro principale, con la stessa regola del worktree proprio ma nessuna istruzione di ramo. La conferma termina con `runs in the origin tree` anche qui.

437* Una sessione lanciata all'interno di un worktree di un layout di repository bare non ha un albero di lavoro principale a cui tornare, quindi la copia rimane dove si trova, e la conferma termina con `edits this checkout`. La stessa nota appare quando l'isolamento del worktree è [disattivato](#how-file-edits-are-isolated) in una sessione che non è all'interno di un worktree collegato, perché la copia modifica i file che hai aperto.

438 

439Le sessioni avviate con flag di lancio che la copia non erediterebbe, come un prompt di sistema sostituito o un allowlist `--tools`, non possono essere forkate; Claude Code lo dice invece di fare una copia parziale. Una sessione inviata da agent view viene forkata normalmente: la copia viene lanciata con la stessa [definizione di agente](/docs/it/sub-agents) e istruzioni aggiunte della sessione da cui proviene.

440 

441<h4 id="what-carries-over-when-you-background">

442 Cosa si trasporta quando metti in background

443</h4>

444 

445Mettere in background avvia un nuovo processo che riprende dalla conversazione salvata, e il lavoro in corso si trasferisce ad esso: comandi shell in background in esecuzione, subagent in background, workflow dinamici, compiti programmati che hai creato con [`/loop`](/docs/it/scheduled-tasks), e [risposte automatiche di Claude ai commenti degli artefatti](/docs/it/artifacts#let-claude-reply-to-comments-on-its-own) si trasferiscono tutti e continuano a essere eseguiti lì. Un subagent si sposta insieme a tutto ciò che ha avviato, quindi si trasferisce solo quando tutto quel lavoro può trasferirsi anche. Per fermare il lavoro in corso invece di trasferirlo, imposta la variabile di ambiente [`CLAUDE_DISABLE_ADOPT=1`](/docs/it/env-vars#variables); Claude Code ti chiede di confermare prima di mettere in background.

446 

447Quando un [workflow dinamico](/docs/it/workflows) ha ancora subagent in esecuzione, Claude Code chiede prima di mettere 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 ricominciamo dall'inizio, quindi i token che hanno usato finora vengono spesi di nuovo. Vedi [Riprendi dopo una pausa](/docs/it/workflows#resume-after-a-pause) per quali subagent completati restituiscono i loro risultati salvati e quali vengono eseguiti di nuovo.

448 

449Claude Code interrompe il lavoro che non può trasferirsi, come un [monitor](/docs/it/tools-reference#monitor-tool) in esecuzione, e interrompe un subagent messo in background che possiede un monitor insieme ad esso. Quando uno qualsiasi di essi è in esecuzione, Claude Code mostra la finestra di dialogo `Background this session?` in modo che tu possa confermare prima che il lavoro sia interrotto.

376 450 

377Una volta in background, la sessione può avviare nuovi subagent, monitor, e comandi in background, e questi continuano a essere eseguiti durante successivi distacchi e ricollegamenti.451Una volta in background, la sessione può avviare nuovi subagent, monitor, e comandi in background, e questi continuano a essere eseguiti durante successivi distacchi e ricollegamenti.

378 452 


385* `--fallback-model`459* `--fallback-model`

386* `--allow-dangerously-skip-permissions`460* `--allow-dangerously-skip-permissions`

387 461 

388Le directory che hai aggiunto durante la sessione con [`/add-dir`](/docs/it/permissions#additional-directories-grant-file-access-not-configuration) si trasferiscono anche.462Le directory che hai aggiunto durante la sessione con [`/add-dir`](/docs/it/permissions#additional-directories-grant-file-access-not-configuration) si trasferiscono anche. Il trasferimento di `--allow-dangerously-skip-permissions` mantiene `bypassPermissions` raggiungibile nella sessione messa in background, ma non concede nulla di nuovo: la modalità richiede comunque la stessa accettazione interattiva una tantum descritta in [Permission mode, model, and effort](#permission-mode-model-and-effort).

389 

390Il trasferimento di `--allow-dangerously-skip-permissions` mantiene `bypassPermissions` raggiungibile nella sessione messa in background, ma non concede nulla di nuovo. La modalità richiede comunque la stessa accettazione interattiva una tantum descritta in [Permission mode, model, and effort](#permission-mode-model-and-effort) prima che qualsiasi sessione possa utilizzarla.

391 463 

392<h3 id="from-your-shell">464<h3 id="from-your-shell">

393 Dalla tua shell465 Dalla tua shell


399claude --bg "investigate the flaky SettingsChangeDetector test"471claude --bg "investigate the flaky SettingsChangeDetector test"

400```472```

401 473 

402Il prompt è l'argomento posizionale, non un valore `-p`. A partire da v2.1.198, combinare `--bg` con `-p` o `--print` viene rifiutato con un errore prima che qualsiasi sessione sia creata, perché `--print` non avvia mai la sessione interattiva a cui `claude agents` si collega.474Il prompt è l'argomento posizionale, non un valore `-p`. Claude Code rifiuta `--bg` combinato con `-p` o `--print` prima che qualsiasi sessione sia creata, perché `--print` non avvia mai la sessione interattiva a cui `claude agents` si collega.

403 475 

404Per eseguire un subagent specifico come agente principale della sessione, combina `--bg` con `--agent`:476Per eseguire un [subagent](/docs/it/sub-agents) specifico che hai definito, come un `code-reviewer`, come agente principale della sessione, combina `--bg` con `--agent`:

405 477 

406```bash theme={null}478```bash theme={null}

407claude --agent code-reviewer --bg "address review comments on PR 1234"479claude --agent code-reviewer --bg "address review comments on PR 1234"

408```480```

409 481 

482Se il nome non corrisponde a nessuno dei tuoi subagent, il lancio fallisce: Claude Code stampa un avviso `no agent named` e comunque segnala la sessione come messa in background, ma la sessione esce immediatamente con un errore `--agent '<name>' not found`.

483 

484Quando la sessione messa in background in seguito riprende o si riavvia, Claude Code ripristina l'agente e le sue restrizioni di strumenti; per il suo prompt di sistema, vedi [Flag di prompt di sistema nelle conversazioni riprese](/docs/it/cli-reference#system-prompt-flags-in-resumed-conversations). Cerca prima il suo agente nella directory della sessione, a condizione che tu abbia [fiducia in quel workspace](/docs/it/permissions#project-allow-rules-and-workspace-trust), quindi un agente con ambito di progetto si carica ancora quando la sessione viene ripresa da un'altra directory. Se l'agente non esiste più, la sessione continua con gli strumenti predefiniti e la sua trascrizione si apre con un [avviso che nomina l'agente](/docs/it/errors#session-agent-no-longer-available).

485 

486Per continuare una conversazione esistente in background, passa il suo ID di sessione completo con `--resume`:

487 

488```bash theme={null}

489claude --resume 1f0e2c9a-6d0b-4c11-9f39-2a77c1d4e8b5 --bg "pick up where you left off and finish the migration"

490```

491 

492Su Claude Code v2.1.257 o successivo, Claude Code continua quella sessione con lo stesso ID, o avvia una copia con un nuovo ID e stampa una riga `note:` che spiega perché non potrebbe continuare in posizione. Quando la sessione continua in posizione, `claude agents` mostra una riga per essa.

493 

494Quando combini `--bg` con `--continue`, un `--resume` semplice, o `--resume` con un nome o percorso di file, Claude Code avvia sempre una copia di questo tipo. Aggiungi `--fork-session` per avviare una copia di proposito, senza la nota.

495 

410Passa `--name` per impostare il nome di visualizzazione della sessione in agent view invece di quello generato automaticamente:496Passa `--name` per impostare il nome di visualizzazione della sessione in agent view invece di quello generato automaticamente:

411 497 

412```bash theme={null}498```bash theme={null}


427 Esegui un comando shell513 Esegui un comando shell

428</h4>514</h4>

429 515 

430Per eseguire un comando shell come un job in background invece di una sessione Claude, digita `!` come primo carattere dell'input di dispatch di agent view. Il `!` viene visualizzato come prefisso e tutto ciò che digiti dopo di esso è il comando. L'esempio seguente invia `pytest -x` dalla casella di input di agent view:516Per eseguire un comando shell come un job in background invece di una sessione Claude, passa `--exec`. L'esempio seguente esegue `pytest -x` come un job in background:

431 

432```text theme={null}

433! pytest -x

434```

435 

436Premi `Enter` per avviare il job. Lo stesso job può anche essere lanciato direttamente dalla tua shell con `--exec`:

437 517 

438```bash theme={null}518```bash theme={null}

439claude --bg --exec 'pytest -x'519claude --bg --exec 'pytest -x'

440```520```

441 521 

522Da agent view, invia lo stesso tipo di job digitando `!` come primo carattere dell'input di dispatch: il `!` viene visualizzato come prefisso, tutto ciò che digiti dopo di esso è il comando, e `Enter` avvia il job.

523 

442Il comando viene eseguito come un job supportato da PTY e appare come una riga in agent view, con la riga di output più recente come suo stato. Un job shell esegue il comando al posto di Claude, quindi nessun modello viene invocato e l'output non viene inviato a nessuna sessione.524Il comando viene eseguito come un job supportato da PTY e appare come una riga in agent view, con la riga di output più recente come suo stato. Un job shell esegue il comando al posto di Claude, quindi nessun modello viene invocato e l'output non viene inviato a nessuna sessione.

443 525 

444Per vedere l'output, collegati alla riga, premi `Space` per visualizzare l'anteprima senza collegarti, o esegui `claude logs <id>` dalla tua shell. L'output acquisito rimane in memoria e non viene scritto su disco. La riga e il suo output si puliscono automaticamente circa cinque minuti dopo l'uscita del comando, quindi leggi prima se hai bisogno del risultato.526Per vedere l'output, collegati alla riga, premi `Space` per visualizzare l'anteprima senza collegarti, o esegui `claude logs <id>` dalla tua shell. L'output acquisito rimane in memoria e non viene scritto su disco. La riga e il suo output si puliscono automaticamente circa cinque minuti dopo l'uscita del comando, quindi leggi prima se hai bisogno del risultato.


447 Come sono isolate le modifiche ai file529 Come sono isolate le modifiche ai file

448</h3>530</h3>

449 531 

450Ogni sessione in background, che sia avviata da agent view, `/bg`, o `claude --bg`, inizia nella tua directory di lavoro. Prima di modificare i file, Claude sposta la sessione in un [git worktree](/docs/it/worktrees) isolato sotto `.claude/worktrees/`, quindi le sessioni parallele possono leggere lo stesso checkout ma ognuna scrive nel suo.532Ogni sessione in background, che sia avviata da agent view, `/bg`, o `claude --bg`, inizia nella tua directory di lavoro. Prima di modificare i file, Claude sposta la sessione in un [git worktree](/docs/it/worktrees) isolato sotto `.claude/worktrees/`, quindi le sessioni parallele possono leggere lo stesso checkout ma ognuna scrive nel suo. Una volta che la sessione è nel suo worktree, Claude Code [applica l'isolamento del worktree](/docs/it/worktrees#how-claude-code-enforces-isolation) per la sessione e per qualsiasi subagent che genera.

451 533 

452Claude salta il worktree quando:534Claude salta il worktree quando:

453 535 

454* La sessione è già all'interno di un git worktree collegato, che Claude l'abbia creato sotto `.claude/worktrees/` o tu l'abbia creato con `git worktree add` da qualche altra parte536* La sessione è già all'interno di un git worktree collegato, che Claude l'abbia creato sotto `.claude/worktrees/` o tu l'abbia creato con `git worktree add` da qualche altra parte

537* Il file che Claude sta modificando è all'interno di un git worktree collegato, come uno che la sessione o il suo subagent ha creato con `git worktree add`

455* La directory di lavoro non è un repository git e nessun [`WorktreeCreate` hook](/docs/it/hooks#worktreecreate) è configurato538* La directory di lavoro non è un repository git e nessun [`WorktreeCreate` hook](/docs/it/hooks#worktreecreate) è configurato

456* La scrittura è al di fuori della directory di lavoro539* La scrittura è al di fuori della directory di lavoro

457 540 

458Per disattivare l'isolamento del worktree per un repository dove i git worktree sono impraticabili, imposta [`worktree.bgIsolation`](/docs/it/settings#worktree-settings) su `"none"`. Le sessioni in background modificheranno quindi la tua copia di lavoro direttamente senza spostarsi prima in un worktree. Aggiungi l'impostazione al file `.claude/settings.json` del progetto:541Per disattivare l'isolamento del worktree per un repository dove i git worktree sono impraticabili, imposta [`worktree.bgIsolation`](/docs/it/settings-reference#worktree-bgisolation) su `"none"`. Le sessioni in background modificheranno quindi la tua copia di lavoro direttamente senza spostarsi prima in un worktree. Aggiungi l'impostazione al file `.claude/settings.json` del progetto:

459 542 

460```json theme={null}543```json theme={null}

461{544{


467 550 

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

469 552 

470Quando l'hook fallisce in una directory che non è un repository git, la sessione salta l'isolamento per quella directory e modifica la directory di lavoro in posizione. All'interno di un repository git, le scritture rimangono bloccate finché la sessione non si isola. Prima di v2.1.203, una sessione in background in quello stato non poteva modificare alcun file: ogni scrittura era rifiutata finché non si isolava, e l'hook non poteva mai isolare quella directory.553Quando l'hook fallisce in una directory che non è un repository git, Claude salta l'isolamento per quella directory e modifica la directory di lavoro in posizione. All'interno di un repository git, Claude Code blocca le scritture al checkout condiviso finché Claude non sposta la sessione in un worktree.

471 

472L'eliminazione di una sessione rimuove o mantiene il worktree che Claude ha creato per essa, a seconda di come lo elimini e di cosa contiene il worktree:

473 

474* L'eliminazione in agent view con `Ctrl+X` due volte rimuove il worktree, inclusi eventuali cambiamenti non committati, quindi unisci o spingi i cambiamenti che vuoi mantenere prima.

475* L'eliminazione dalla shell con [`claude rm`](#manage-sessions-from-the-shell) mantiene un worktree che ha cambiamenti non committati, insieme alla sua riga di sessione.

476* Nessuno dei due percorsi rimuove un worktree con commit che non sono stati spinti da nessuna parte: il worktree è [mantenuto insieme alla sua sessione](#organize-the-list) e l'output nomina il percorso mantenuto e il motivo.

477* Un worktree che hai creato tu stesso e in cui hai avviato la sessione viene lasciato in posizione in entrambi i casi.

478 554 

479Per trovare il percorso del worktree di una sessione, visualizza l'anteprima della sessione o collegati e controlla la sua directory di lavoro.555Per trovare il percorso del worktree di una sessione, visualizza l'anteprima della sessione o collegati e controlla la sua directory di lavoro.

480 556 

481Un [subagent](/docs/it/sub-agents) che la sessione in background genera eredita la directory di lavoro della sessione, quindi le sue modifiche ai file finiscono nel worktree della sessione piuttosto che nella tua copia di lavoro. Per dare a un subagent il suo proprio worktree separato, imposta [`isolation: worktree`](/docs/it/sub-agents#supported-frontmatter-fields) nel suo frontmatter o passa `isolation: "worktree"` quando lo generi.557Un [subagent](/docs/it/sub-agents) che la sessione in background genera eredita la directory di lavoro della sessione, quindi le sue modifiche ai file finiscono nel worktree della sessione piuttosto che nella tua copia di lavoro. Per dare a un subagent il suo proprio worktree separato, imposta [`isolation: worktree`](/docs/it/sub-agents#supported-frontmatter-fields) nel suo frontmatter o passa `isolation: "worktree"` quando lo generi.

482 558 

483A partire da v2.1.198, una sessione in background che ha isolato i suoi cambiamenti di codice in un worktree esegue anche il commit, spinge il suo ramo, e apre una bozza di pull request senza fermarsi a chiedere. L'etichetta [`#N`](#pull-request-status) appare sulla sua riga quando il pull request si apre. Non spinge mai a `main` o `master`, non fa mai force-push o merge, e salta il pull request quando gli hai detto di non aprirne uno o il repository non ha un remote.559Quando una sessione in background ha apportato modifiche al codice in un worktree in cui Claude è entrato, Claude Code istruisce Claude di preservare il lavoro prima di finire, quindi sopravvive se elimini la sessione e il suo worktree:

560 

561* **Commit e push**: Claude esegue il commit senza chiedere, e spinge il ramo quando il repository ha un remote.

562* **Bozza di pull request**: Claude ne apre una quando il compito lo richiede, e l'etichetta [`#N`](#pull-request-status) appare sulla riga.

563* **Mai**: spingere a `main` o `master`, force-push, e merge.

564* **Le tue istruzioni git hanno la precedenza**: se il compito, `CLAUDE.md`, o [memoria](/docs/it/memory) dice che gestisci tu stesso il commit o il push, Claude lascia git a te.

484 565 

485Una sessione che modifica un checkout che non ha isolato da sola chiede comunque prima di fare il commit o di cambiare rami. Questo si applica quando l'isolamento è impostato su `"none"`, quando lo spostamento del worktree è fallito, o quando la sessione è stata avviata all'interno di un worktree che già esisteva.566Una sessione che modifica un checkout che non ha isolato da sola chiede comunque prima di fare il commit o di cambiare rami. Questo si applica quando l'isolamento è impostato su `"none"`, quando lo spostamento del worktree è fallito, o quando la sessione è stata avviata all'interno di un worktree che già esisteva.

486 567 

568Qualunque sia il compito, Claude termina il lavoro con un rapporto che dice cosa ha fatto e dove si trova il lavoro: un percorso, un ramo, una pull request, o la risposta stessa.

569 

570<h4 id="what-deleting-a-session-removes">

571 Cosa elimina l'eliminazione di una sessione

572</h4>

573 

574Elimina una sessione con `Ctrl+X` due volte in [agent view](#organize-the-list) o con [`claude rm`](#manage-sessions-from-the-shell). Tranne nei casi mantenuti di seguito, la sessione lascia l'elenco. La sua trascrizione rimane sulla tua macchina attraverso `claude --resume`, e la rimozione sopravvive ai riavvii del supervisore.

575 

576Cosa succede a un worktree che Claude ha creato per la sessione:

577 

578* Agent view lo rimuove, inclusi eventuali cambiamenti non committati, quindi esegui il commit di ciò che vuoi mantenere prima.

579* `claude rm` lo mantiene, insieme alla riga della sessione, quando ha cambiamenti non committati.

580* Né agent view né `claude rm` rimuovono un worktree che un'altra sessione in esecuzione sta usando o ha bloccato, e eliminare di nuovo non cambia questo. Claude Code mantiene il worktree e la sessione, e nomina la directory mantenuta e il motivo; in agent view, la riga della sessione mostra `not deleted`. Chiudi l'altra sessione, quindi elimina di nuovo.

581* Quando elimini una sessione il cui worktree ha commit che Claude Code non può confermare sono salvati altrove, Claude Code mantiene il worktree e la sessione, e il messaggio nomina il ramo del worktree e quanti commit non sono stati spinti. Il messaggio offre anche i due modi per procedere: spingere i commit, o eliminare di nuovo per scartarli.

582 

583 I commit su un remote non bloccano l'eliminazione. Nemmeno i commit sulla copia locale del ramo predefinito del tuo remote `origin`, purché quel ramo sia estratto nel tuo checkout principale, la directory del repository stessa piuttosto che un worktree.

584 

585 Dopo quel rifiuto, scegli:

586 

587 * Per mantenere i commit, spingili, o uniscili in quel ramo predefinito, quindi elimina la sessione di nuovo.

588 * Per scartarli, elimina la sessione di nuovo senza spingere: premi `Ctrl+X` due volte sulla sua riga in agent view, o esegui il comando `claude rm <id> --discard-unpushed` che il rifiuto ha stampato. Questo rimuove la sessione e il worktree insieme al suo ramo, scartando i commit non spinti e qualsiasi cambiamento non committato.

589 

590 Quando elimini di nuovo, Claude Code scarta solo ciò che il rifiuto ha mostrato: se il worktree ha guadagnato un commit da allora, Claude Code lo mantiene di nuovo e mostra lo stato aggiornato.

591 

592 Quando i record di un'altra sessione finita nominano anche il worktree, rimane quando elimini di nuovo; spingere i commit, quindi eliminare di nuovo.

593* Un worktree che git non riconosce più, ad esempio dopo `git worktree prune`, non blocca l'eliminazione. Claude Code elimina la sessione e lascia la directory su disco.

594* Quando git o il tuo [`WorktreeRemove` hook](/docs/it/hooks#worktreeremove) non riesce a rimuovere il worktree, Claude Code mantiene il worktree e la sessione, e il messaggio nomina la causa. Per un hook, il messaggio dice come è terminato, come `exited 1`, e cita l'inizio del suo stderr. Il messaggio ti dice anche quale di questi fare dopo:

595 

596 * Elimina la sessione di nuovo per rimuovere la directory comunque, premendo `Ctrl+X` due volte sulla sua riga in agent view o eseguendo il comando `claude rm <id> --force-remove-worktree <worktree-id>` che il rifiuto di `claude rm` ha stampato. Claude Code offre questo solo quando può confermare che la directory è uno dei worktree collegati del repository sotto `.claude/worktrees/` senza cambiamenti non committati ai file tracciati, nessun repository annidato dentro, e nessun record di un'altra sessione che lo nomina. Il ramo del worktree rimane nel repository.

597 * Correggi ciò che sta nel modo, come committare o stash dei cambiamenti non committati, chiudere tutto ciò che sta usando la directory, o correggere l'hook, quindi elimina la sessione di nuovo.

598 * Rimuovi la directory tu stesso, quindi elimina la sessione di nuovo.

599 

600Un worktree che hai creato tu stesso e in cui hai avviato la sessione viene lasciato in posizione in entrambi i casi.

601 

602Una sessione il cui worktree directory non appartiene a nessun repository git, perché il repository è stato eliminato o un [`WorktreeCreate` hook](/docs/it/hooks#worktreecreate) ha creato la directory altrove, può comunque essere eliminata. Mentre i file rimangono nella directory:

603 

604* Agent view chiede lo stesso doppio `Ctrl+X` prima di scartarli. Per una directory creata da hook esegue il tuo [`WorktreeRemove` hook](/docs/it/hooks#worktreeremove) invece, e senza uno rifiuta l'eliminazione e mantiene la sessione.

605* `claude rm` mantiene la sessione e il worktree, e nomina il motivo.

606 

607Entrambi i percorsi mantengono una directory che i record di un'altra sessione finita nominano.

608 

487<h3 id="set-the-model">609<h3 id="set-the-model">

488 Imposta il modello610 Imposta il modello

489</h3>611</h3>

490 612 

491Il nome del modello mostrato nell'intestazione di agent view è il default di dispatch. Le nuove sessioni che avvii dall'input utilizzano questo modello, che proviene dall'impostazione [`model`](/docs/it/settings#available-settings) nei tuoi settings utente. Impostalo selezionando un modello nel picker [`/model`](/docs/it/model-config), o modifica l'impostazione direttamente.613Il nome del modello mostrato nell'intestazione di agent view è il default di dispatch. Le nuove sessioni che avvii dall'input utilizzano questo modello, che proviene dall'impostazione [`model`](/docs/it/settings-reference#model) nei tuoi settings utente. Impostalo selezionando un modello nel picker [`/model`](/docs/it/model-config), o modifica l'impostazione direttamente.

492 614 

493Per sovrascrivere il default di dispatch per l'intera sessione di agent view, passa `--model` quando apri agent view. Vedi [Permission mode, model, and effort](#permission-mode-model-and-effort).615Per sovrascrivere il default di dispatch per l'intera sessione di agent view, passa `--model` quando apri agent view. Vedi [Permission mode, model, and effort](#permission-mode-model-and-effort).

494 616 


511 Permission mode, model, and effort633 Permission mode, model, and effort

512</h3>634</h3>

513 635 

514Una sessione in background legge i suoi [settings](/docs/it/settings) dalla directory in cui viene eseguita, come se avessi avviato `claude` lì. Questo include i valori [`env`](/docs/it/settings#available-settings) nei settings del progetto, quindi un `ANTHROPIC_MODEL` o una variabile del provider impostata lì si applica alle sessioni in background in quella directory.636Una sessione in background prende le sue impostazioni, provider, modalità di autorizzazione, modello e sforzo da dove e come l'hai inviata. Le sottosezioni di seguito coprono ogni fonte, e cosa persiste quando il supervisore riavvia la sessione.

637 

638<h4 id="settings-and-provider">

639 Impostazioni e provider

640</h4>

641 

642Una sessione in background legge le sue [impostazioni](/docs/it/settings) dalla directory in cui viene eseguita, come se avessi avviato `claude` lì. Questo include i valori [`env`](/docs/it/settings-reference#env) nelle impostazioni del progetto, quindi un `ANTHROPIC_MODEL` o una variabile del provider impostata lì si applica a ogni sessione in background in quella directory.

643 

644Una sessione in background viene anche eseguita con il `PATH` della shell da cui l'hai inviata, quindi i comandi che esegue trovano gli stessi strumenti del tuo terminale. Mantiene anche la selezione del cloud provider di quella shell, come `CLAUDE_CODE_USE_BEDROCK` o `CLAUDE_CODE_USE_VERTEX`, insieme ai suoi alias `ANTHROPIC_DEFAULT_*_MODEL` e qualsiasi override [`CLAUDE_CODE_EXTRA_BODY`](/docs/it/env-vars) che hai esportato lì.

645 

646<h4 id="llm-gateway">

647 Gateway LLM

648</h4>

649 

650Se instrada Claude Code attraverso un [gateway LLM](/docs/it/llm-gateway), metti le variabili del gateway in un blocco `env` di un file di impostazioni piuttosto che esportarle nella tua shell, e le sessioni in background le leggono insieme al resto delle loro impostazioni. [Imposta in un file di impostazioni](/docs/it/llm-gateway-connect#set-in-a-settings-file) mostra il blocco e quale file di impostazioni usare per la credenziale.

515 651 

516La selezione del cloud provider, come `CLAUDE_CODE_USE_BEDROCK` o `CLAUDE_CODE_USE_VERTEX`, e gli alias `ANTHROPIC_DEFAULT_*_MODEL` seguono la shell che ha inviato la sessione. Se esporti un override del corpo della richiesta [`CLAUDE_CODE_EXTRA_BODY`](/docs/it/env-vars) in quella shell, raggiunge la sessione nello stesso modo. Prima di v2.1.206, i worker in background ignoravano un `CLAUDE_CODE_EXTRA_BODY` esportato dalla shell.652Se esporti un gateway `ANTHROPIC_BASE_URL` solo nella tua shell, raggiunge una sessione in background, insieme a `ANTHROPIC_CUSTOM_HEADERS` e la credenziale che hai esportato con esso, solo quando il [supervisore](#the-supervisor-process) stesso è stato avviato da una shell che ha esportato lo stesso gateway, e solo in questi casi:

517 653 

518Se esporti un gateway `ANTHROPIC_BASE_URL` nella shell di dispatch, raggiunge la sessione anche, insieme a `ANTHROPIC_CUSTOM_HEADERS`, quando il supervisore viene eseguito con lo stesso ambiente gateway e la sessione viene eseguita nella directory da cui hai inviato o è la tua sessione messa in background con `←` o `/background`. Questo è il caso normale quando la prima shell ad aprire agent view o inviare una sessione in background è la shell gateway. L'invio in una directory diversa con `@repo` o `--cwd` non trasporta il gateway della shell; le [impostazioni](/docs/it/settings) di quel progetto forniscono l'endpoint. Vedi [il processo supervisore](#the-supervisor-process) per come le sessioni in background ottengono le impostazioni del provider e le credenziali.654* Metti in background la tua sessione con `←` o `/background`

655* Invii una sessione nella directory in cui sei

656* Svegli una sessione fermata nella directory in cui sei collegandoti o rispondendo ad essa

519 657 

520Il [permission mode](/docs/it/permissions) dipende da come hai avviato la sessione. Lo spostamento in background di una sessione esistente con `/bg` o `←` mantiene il permission mode corrente, quindi una sessione che hai cambiato in `acceptEdits` o `auto` rimane in quella modalità dopo il distacco. L'invio da agent view input o l'esecuzione di `claude --bg` dalla tua shell utilizza il `defaultMode` dai settings di quella directory, o il `permissionMode` dal frontmatter del [subagent inviato](/docs/it/sub-agents#supported-frontmatter-fields).658Claude Code inoltra un gateway davanti a un cloud provider. Se la shell da cui invii seleziona il provider ed esporta il suo endpoint del gateway con il suo flag di bypass dell'autenticazione, Claude Code inoltra la coppia endpoint-e-flag alla sessione nelle 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 flag.

521 659 

522Il permission mode, il modello e lo sforzo con cui una sessione in background è stata avviata, insieme ai [flag di configurazione che trasporta](#from-inside-a-session), persistono tutti quando il supervisore successivamente [arresta e riavvia](#the-supervisor-process) il processo della sessione. Una sessione che hai lanciato con `claude --bg --dangerously-skip-permissions` o `claude --bg --permission-mode bypassPermissions` rimane in `bypassPermissions` dopo quel riavvio invece di tornare al `defaultMode` della directory, e un modello o sforzo che hai cambiato a metà sessione con `/model` o `/effort` viene mantenuto.660Claude Code applica un gateway inoltrato solo al processo in esecuzione di quella sessione e non lo scrive mai su disco.

523 661 

524Uno sforzo che la sessione ha preso dall'impostazione [`effortLevel`](/docs/it/settings#available-settings) piuttosto che da `--effort` o `/effort` non è fissato al dispatch: ogni processo avviato per la sessione legge di nuovo l'impostazione, quindi modificare `effortLevel` in `settings.json` raggiunge le sessioni che metti in background con `←` o `/bg` e i loro successivi riavvii. Prima di v2.1.203, mettere in background una sessione registrava il suo sforzo derivato dalle impostazioni come se avessi passato `--effort`, quindi i successivi edit di `effortLevel` non lo raggiungevano mai.662<h4 id="permission-mode">

663 Modalità di autorizzazione

664</h4>

665 

666La [modalità di autorizzazione](/docs/it/permissions) dipende da come hai avviato la sessione:

667 

668* **Messa in background con `/bg` o `←`**: Claude Code mantiene la modalità di autorizzazione in cui era la sessione, quindi una che hai cambiato in `acceptEdits` o `auto` rimane lì dopo il distacco

669* **Inviata da un agent view che hai aperto con `←`**: la configurazione del target viene prima, e la modalità di autorizzazione della sessione da cui sei venuto si applica quando nulla altro ne imposta una

670* **Inviata da `claude agents` avviato in una shell, o con `claude --bg`**: la nuova sessione inizia come una nuova sessione `claude` in quella directory, a meno che non l'abbia inviata da un agent view che hai aperto con [dispatch defaults](#dispatch-defaults). [Quale modalità di autorizzazione una sessione inizia](/docs/it/permission-modes#which-mode-a-session-starts-in) elenca l'ordine

671 

672Per una sessione che invii da un agent view aperto con `←`, Claude Code prende la modalità di autorizzazione dal primo di questi che si applica:

673 

6741. La [`permissions.defaultMode`](/docs/it/settings-reference#permissions-defaultmode) della directory target. Due regole di origine si applicano:

675 * `auto` e `bypassPermissions` [hanno effetto solo dalle impostazioni gestite, un file `--settings`, o `~/.claude/settings.json`](/docs/it/settings-reference#permissions-defaultmode).

676 * Claude Code rifiuta un `defaultMode` dal `.claude/settings.json` o `.claude/settings.local.json` del progetto che seleziona una modalità più permissiva di quella in cui era la sessione da cui sei venuto.

6772. La modalità di autorizzazione della sessione da cui sei venuto

525 678 

526Un nome che hai impostato con [`/rename`](/docs/it/commands) o `Ctrl+R` persiste anche attraverso quel riavvio, quindi [`claude --resume <name>`](/docs/it/sessions#name-your-sessions) risolve ancora la sessione. Prima di v2.1.202, il riavvio ripristinava la sessione al nome con cui era stata inviata e il nuovo nome smetteva di risolvere.679Quando Claude Code rifiuta la modalità di una fonte come troppo permissiva, la fonte successiva nell'elenco decide. Ad esempio, se invii da una sessione in modalità piano in una directory le cui impostazioni controllate chiedono `acceptEdits`, la nuova sessione inizia in modalità piano. Se sposti quel `defaultMode` a `~/.claude/settings.json`, si applica indipendentemente dalla modalità di autorizzazione della sessione da cui sei venuto.

680 

681La permissività corre piano, poi Manual e `dontAsk`, poi `acceptEdits` e auto, che ognuno conta come più permissivo dell'altro, poi `bypassPermissions`.

682 

683<h4 id="dispatch-defaults">

684 Dispatch defaults

685</h4>

527 686 

528Per impostare i default per ogni sessione che invii da agent view, passa uno qualsiasi di `--permission-mode`, `--model`, `--effort`, o `--agent` quando lo apri:687Per impostare i default per ogni sessione che invii da agent view, passa uno qualsiasi di `--permission-mode`, `--model`, `--effort`, o `--agent` quando lo apri:

529 688 


531claude agents --permission-mode plan --model opus --effort high690claude agents --permission-mode plan --model opus --effort high

532```691```

533 692 

534`--agent` imposta il [subagent](/docs/it/sub-agents) utilizzato quando un prompt di dispatch non ne nomina uno, sia con `@name` che come prima parola. Per impostazione predefinita, utilizza l'impostazione [`agent`](/docs/it/settings#available-settings) se ne è impostata una, altrimenti l'agente catch-all integrato `claude`. Nominare un subagent nell'input di dispatch sovrascrive entrambi.693`--effort` qui accetta gli stessi valori del [flag `--effort` di livello superiore](/docs/it/cli-reference#cli-flags), incluso `ultracode`.

694 

695`--agent` imposta il [subagent](/docs/it/sub-agents) utilizzato quando un prompt di dispatch non ne nomina uno, sia con `@name` che come prima parola. Per impostazione predefinita, utilizza l'impostazione [`agent`](/docs/it/settings-reference#agent) se ne è impostata una, altrimenti l'agente catch-all integrato `claude`. Nominare un subagent nell'input di dispatch sovrascrive entrambi.

535 696 

536`claude agents` accetta anche `--dangerously-skip-permissions` come abbreviazione per `--permission-mode bypassPermissions`, e `--allow-dangerously-skip-permissions` per rendere `bypassPermissions` disponibile nel ciclo `Shift+Tab` di ogni sessione inviata senza avviare in quella modalità. Entrambi corrispondono ai [flag CLI di livello superiore](/docs/it/cli-reference).697`claude agents` accetta anche `--dangerously-skip-permissions` come abbreviazione per `--permission-mode bypassPermissions`, e `--allow-dangerously-skip-permissions` per rendere `bypassPermissions` disponibile nel ciclo `Shift+Tab` di ogni sessione inviata senza avviare in quella modalità. Entrambi corrispondono ai [flag CLI di livello superiore](/docs/it/cli-reference).

537 698 

699Passa `--restricted` per avviare ogni sessione che invii dalla vista in [modalità ristretta](/docs/it/cli-reference#cli-flags), come se ognuna fosse lanciata con il flag di livello superiore `--restricted`. Richiede Claude Code v2.1.248 o successivo.

700 

538I default attivi appaiono nel footer sotto l'input di dispatch.701I default attivi appaiono nel footer sotto l'input di dispatch.

539 702 

540Senza questi flag, la sessione utilizza il `defaultMode` dai settings di quella directory o il `permissionMode` dal frontmatter del [subagent inviato](/docs/it/sub-agents#supported-frontmatter-fields), e il modello mostrato nell'intestazione di agent view.703Claude Code rifiuta `claude --bg --permission-mode bypassPermissions` finché non hai accettato il disclaimer di bypass eseguendo `claude --dangerously-skip-permissions` una volta in modo interattivo, poiché quella modalità permette a una sessione che non stai guardando di agire senza approvazione. Passare `--dangerously-skip-permissions` o `--permission-mode bypassPermissions` a `claude agents` mostra lo stesso disclaimer quando non l'hai accettato prima, e accettare applica `bypassPermissions` alle sessioni che avvii dalla vista. Passare `--allow-dangerously-skip-permissions` mostra lo stesso disclaimer anche, e accettare rende `bypassPermissions` disponibile nel ciclo `Shift+Tab` di quelle sessioni senza avviarle in esso.

704 

705<h4 id="what-persists-across-restarts">

706 Cosa persiste attraverso i riavvii

707</h4>

708 

709La modalità di autorizzazione, il modello e lo sforzo che hai scelto per una sessione in background, insieme ai [flag di configurazione che trasporta](#what-carries-over-when-you-background), persistono tutti quando il supervisore successivamente [arresta e riavvia](#the-supervisor-process) il processo della sessione. Una sessione che hai lanciato con `claude --bg --dangerously-skip-permissions` o `claude --bg --permission-mode bypassPermissions` rimane in `bypassPermissions` dopo quel riavvio. Un modello o sforzo che hai cambiato a metà sessione con `/model` o `/effort` viene mantenuto anche.

710 

711Se la sessione ha preso il suo sforzo dalle tue impostazioni piuttosto che da `--effort` o `/effort`, Claude Code legge di nuovo le tue impostazioni ogni volta che avvia un processo per la sessione. Dopo aver modificato lo sforzo salvato in `settings.json`, il cambiamento raggiunge le sessioni che metti in background con `←` o `/bg`, e i loro successivi riavvii. Lo sforzo salvato è la chiave [`effortLevel`](/docs/it/settings-reference#effortlevel) o una voce [`modelSettings`](/docs/it/settings-reference#modelsettings).

541 712 

542L'uso di `bypassPermissions` con `claude --bg --permission-mode` è rifiutato finché non hai accettato il disclaimer di bypass eseguendo `claude --dangerously-skip-permissions` una volta in modo interattivo, poiché quella modalità permette a una sessione che non stai guardando di agire senza approvazione. Passare `--dangerously-skip-permissions` o `--permission-mode bypassPermissions` a `claude agents` mostra lo stesso disclaimer quando non l'hai accettato prima, e accettare applica `bypassPermissions` alle sessioni che avvii dalla vista. Passare `--allow-dangerously-skip-permissions` mostra lo stesso disclaimer anche, e accettare rende `bypassPermissions` disponibile nel ciclo `Shift+Tab` di quelle sessioni senza avviarle in esso.713Claude Code mantiene anche un nome che hai impostato con [`/rename`](/docs/it/commands) o `Ctrl+R` attraverso quel riavvio, quindi puoi ancora eseguire [`claude --resume <name>`](/docs/it/sessions#name-your-sessions) per raggiungere la sessione.

714 

715Un prompt che hai stashed con [`Ctrl+S`](/docs/it/interactive-mode#general-controls) mentre collegato viene mantenuto con la sessione anche. Riapri la sessione dopo che il suo processo è stato fermato o riavviato, e `Ctrl+S` ripristina il testo stashed. Il contenuto incollato nello stash non sopravvive al riavvio.

543 716 

544<h3 id="settings-plugins-and-mcp-servers">717<h3 id="settings-plugins-and-mcp-servers">

545 Settings, plugins, and MCP servers718 Impostazioni, plugin, e server MCP

546</h3>719</h3>

547 720 

548Agent view accetta gli stessi flag di configurazione di `claude` per caricare settings, plugins, server MCP, e directory aggiuntive. Ogni flag si applica a agent view stesso e viene passato a ogni sessione che invii da esso, quindi un plugin o server MCP che carichi in questo modo è disponibile anche in quelle sessioni.721Agent view accetta gli stessi flag di configurazione di `claude` per caricare impostazioni, plugin, server MCP, e directory aggiuntive. Agent view applica `--settings` e `--plugin-dir` a se stesso e passa ogni flag di configurazione alle sessioni che invii da esso, quindi un plugin o server MCP che carichi in questo modo è disponibile in quelle sessioni.

549 722 

550| Flag | Effetto |723| Flag | Effetto |

551| :----------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------- |724| :----------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

552| [`--settings <file-or-json>`](/docs/it/settings) | Sovrascrivi settings per agent view e sessioni inviate |725| [`--settings <file-or-json>`](/docs/it/settings) | Sovrascrivi impostazioni per agent view e sessioni inviate |

553| [`--add-dir <path>`](/docs/it/permissions#additional-directories-grant-file-access-not-configuration) | Concedi accesso ai file a una directory aggiuntiva |726| [`--add-dir <path>`](/docs/it/permissions#additional-directories-grant-file-access-not-configuration) | Concedi accesso ai file a una directory aggiuntiva |

554| [`--plugin-dir <path>`](/docs/it/plugins) | Carica un plugin da una directory locale |727| [`--plugin-dir <path>`](/docs/it/plugins) | Carica un plugin da una directory locale |

555| [`--mcp-config <file-or-json>`](/docs/it/mcp) | Carica server MCP da un file di configurazione o stringa JSON |728| [`--mcp-config <file-or-json>`](/docs/it/mcp) | Carica server MCP da un file di configurazione o stringa JSON |

556| `--strict-mcp-config` | Usa solo i server MCP da `--mcp-config`, ignorando altre configurazioni MCP |729| `--strict-mcp-config` | Usa solo i server MCP da `--mcp-config`, ignorando altre configurazioni MCP. Vedi [Controllo esclusivo con managed-mcp.json](/docs/it/managed-mcp#exclusive-control-with-managed-mcp-json) per cosa fa il flag sotto un file MCP gestito |

730 

731Ripeti `--add-dir`, `--plugin-dir`, o `--mcp-config` una volta per valore. `claude agents` non supporta la forma separata da spazi, come `--add-dir a b c`.

557 732 

558Ripeti `--add-dir`, `--plugin-dir`, o `--mcp-config` una volta per valore. La forma separata da spazi, come `--add-dir a b c`, non è supportata con `claude agents`.733Puoi mettere `--settings` e `--plugin-dir` prima o dopo `agents`. Mantieni `--add-dir` e `--mcp-config` dopo `agents`: se metti uno di questi prima di `agents`, [`claude agents --json`](#manage-sessions-from-the-shell) fallisce con un errore `unknown option`.

559 734 

560L'esempio seguente apre agent view con un override di settings e una directory extra:735L'esempio seguente apre agent view con un override di impostazioni e una directory extra:

561 736 

562```bash theme={null}737```bash theme={null}

563claude agents --settings ./ci-settings.json --add-dir ../shared-lib738claude agents --settings ./ci-settings.json --add-dir ../shared-lib

564```739```

565 740 

741`--settings` accetta un percorso di file o una stringa JSON inline. Un percorso di file deve puntare a un file esistente; Claude Code esce con un errore `Settings file not found` se non lo fa.

742 

566<h2 id="manage-sessions-from-the-shell">743<h2 id="manage-sessions-from-the-shell">

567 Gestire le sessioni dalla shell744 Gestire le sessioni dalla shell

568</h2>745</h2>


570Ogni sessione in background ha un ID breve che puoi usare dalla shell. L'ID viene stampato quando avvii una sessione con `claude --bg`, e l'ID di ogni sessione è il nome della sua directory sotto `~/.claude/jobs/`. Questi comandi sono utili per lo scripting o quando non vuoi aprire agent view.747Ogni sessione in background ha un ID breve che puoi usare dalla shell. L'ID viene stampato quando avvii una sessione con `claude --bg`, e l'ID di ogni sessione è il nome della sua directory sotto `~/.claude/jobs/`. Questi comandi sono utili per lo scripting o quando non vuoi aprire agent view.

571 748 

572| Comando | Scopo |749| Comando | Scopo |

573| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |750| :--------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

574| `claude agents` | Apri agent view |751| `claude agents` | Apri agent view |

575| `claude agents --cwd <path>` | Apri agent view limitato alle sessioni avviate sotto `<path>` |752| `claude agents --cwd <path>` | Apri agent view limitato alle sessioni avviate sotto `<path>` |

576| `claude agents --json` | Stampa le sessioni attive come un array JSON e esci: ogni sessione live, più sessioni in background che stanno ancora lavorando o sono bloccate anche quando il loro processo è uscito. Aggiungi `--all` per includere anche le sessioni in background completate. Ogni voce ha `cwd`, `kind`, e `startedAt`. Le voci in background hanno anche `id`, utilizzabile con `claude attach`/`logs`/`stop`, e `state`: uno di `working`, `blocked`, `done`, `failed`, o `stopped`. `pid` e `status` sono presenti solo mentre il processo è attivo, più `waitingFor` quando status è `waiting`, che dice su cosa è bloccata la sessione, come `permission prompt` o `input needed`; `sessionId` e `name` appaiono quando impostati. Una voce interattiva che non hai mai nominato porta un nome predefinito costruito dal nome della directory di lavoro più un suffisso di due caratteri, come `my-app-3f`. Combina con `--cwd <path>` per filtrare |753| `claude agents --json` | Stampa le sessioni come un array JSON e esci. Vedi [Elencare le sessioni come JSON](#list-sessions-as-json) |

577| `claude attach <id>` | Collegati a una sessione in questo terminale |754| `claude attach <id>` | Collegati a una sessione in questo terminale |

578| `claude logs <id>` | Stampa l'output recente della sessione |755| `claude logs <id>` | Stampa l'output recente della sessione |

579| `claude stop <id>` | Ferma una sessione. Accetta anche `claude kill` |756| `claude stop <id>` | Ferma una sessione. Accetta anche `claude kill` |

580| `claude respawn <id>` | Riavvia una sessione, in esecuzione o fermata, con la sua conversazione intatta, ad esempio per utilizzare un binario Claude Code aggiornato |757| `claude respawn <id>` | Riavvia una sessione, in esecuzione o fermata, ad esempio per utilizzare un binario Claude Code aggiornato. La sessione riavviata riprende la sua conversazione salvata; quando nessuna è su disco, esegue di nuovo il suo prompt originale come una nuova conversazione |

581| `claude respawn --all` | Riavvia ogni sessione in esecuzione, ad esempio per spostare tutte le sessioni su un binario Claude Code aggiornato contemporaneamente |758| `claude respawn --all` | Riavvia ogni sessione in esecuzione, ad esempio per spostare tutte le sessioni su un binario Claude Code aggiornato contemporaneamente |

582| `claude rm <id>` | Rimuovi una sessione dall'elenco. Rimuove un worktree creato da Claude per la sessione se non ha modifiche non sottoposte a commit e nessun commit che non sia stato sottoposto a push da nessuna parte; altrimenti la sessione viene mantenuta anche, e il comando stampa il percorso del worktree e il motivo in modo che tu possa risolverlo ed eseguire di nuovo `claude rm`. Lascia in posizione un worktree che hai creato tu stesso. La trascrizione della conversazione rimane sulla tua macchina locale e rimane disponibile tramite `claude --resume` |759| `claude rm <id>` | Rimuovi una sessione dall'elenco, insieme a un worktree creato da Claude per essa quando è sicuro eliminarlo; vedi [Cosa elimina l'eliminazione di una sessione](#what-deleting-a-session-removes). La trascrizione della conversazione rimane sulla tua macchina locale e rimane disponibile tramite `claude --resume` |

760| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | Elimina una sessione il cui eliminazione è stata rifiutata a causa di commit non sottoposti a push, scartando il worktree insieme al suo ramo e ai commit. Passa il valore esatto che il rifiuto ha stampato; vedi [Cosa elimina l'eliminazione di una sessione](#what-deleting-a-session-removes). Richiede v2.1.260 o successivo |

761| `claude rm <id> --force-remove-worktree <worktree-id>` | Elimina una sessione il cui eliminazione è stata rifiutata perché git o l'hook `WorktreeRemove` non potevano rimuovere il suo worktree, eliminando comunque la directory del worktree e lasciando il suo ramo nel repository. Passa il valore esatto che il rifiuto ha stampato; vedi [Cosa elimina l'eliminazione di una sessione](#what-deleting-a-session-removes). Richiede v2.1.268 o successivo |

583| `claude daemon status` | Stampa lo stato del [supervisore](#the-supervisor-process), la versione, la directory socket e il numero di worker |762| `claude daemon status` | Stampa lo stato del [supervisore](#the-supervisor-process), la versione, la directory socket e il numero di worker |

584| `claude daemon stop --any` | Ferma il processo supervisore e le sessioni in background che ospita. Passa `--keep-workers` per lasciare le sessioni in background in esecuzione in modo che il supervisore successivo si riconnetta ad esse. Il prossimo `claude agents` o `claude --bg` avvia un supervisore nuovo |763| `claude daemon stop --any` | Ferma il processo supervisore e le sessioni in background che ospita. Passa `--keep-workers` per lasciare le sessioni in background in esecuzione in modo che il supervisore successivo si riconnetta ad esse. Il prossimo `claude agents` o `claude --bg` avvia un supervisore nuovo |

585 764 

586<h2 id="how-background-sessions-are-hosted">765<h3 id="list-sessions-as-json">

587 Come sono ospitate le sessioni in background766 Elencare le sessioni come JSON

588</h2>

589 

590Ogni sessione elencata nella vista agente è considerata una sessione in background, indipendentemente dal fatto che tu sia attualmente collegato ad essa. Al contrario, una sessione avviata eseguendo `claude` direttamente è legata a quel terminale e termina quando si chiude, a meno che tu non la [invii in background](#from-inside-a-session).

591 

592<h3 id="the-supervisor-process">

593 Il processo supervisor

594</h3>767</h3>

595 768 

596Le sessioni in background sono ospitate da un processo supervisor per utente, separato dal tuo terminale e da agent view. Il supervisor si avvia automaticamente la prima volta che metti una sessione in background o apri agent view, e non lo gestisci direttamente.769`claude agents --json` stampa le sessioni attive come un array JSON e esci: ogni sessione live, più sessioni in background che stanno ancora lavorando o sono bloccate anche quando il loro processo è uscito. Aggiungi `--all` per includere anche le sessioni in background completate, e `--cwd <path>` per limitare l'elenco alle sessioni avviate sotto quella directory.

597 

598Quando un aggiornamento ha sostituito o rimosso il binario da cui è stato avviato un processo Claude Code in esecuzione, quel processo avvia il supervisor da un'altra copia installata, come il launcher `claude` installato o la versione più recente su disco.

599 

600Il supervisor mantiene un processo worker pre-riscaldato pronto in modo che un dispatch da agent view o `claude --bg` si avvii senza il ritardo di un avvio a freddo. Quando esegui un dispatch, il supervisor assegna il worker pre-riscaldato alla tua sessione, applica la directory, le impostazioni e le credenziali di quella sessione ad esso, e quindi avvia una sostituzione per il prossimo dispatch. Se nessun worker pre-riscaldato sano è disponibile, il supervisor avvia un processo fresco invece.

601 770 

602Il supervisor e le sue sessioni si autenticano con le stesse credenziali archiviate delle tue sessioni interattive e non fanno connessioni di rete aggiuntive oltre l'API del modello. Le variabili di selezione del provider come `CLAUDE_CODE_USE_BEDROCK` e gli alias `ANTHROPIC_DEFAULT_*_MODEL` vengono letti dalla shell che ha eseguito il dispatch di ogni sessione e vengono applicati al suo worker.771Ogni voce descrive una sessione:

603 772 

604Il `PATH` della shell di dispatch viene applicato al worker allo stesso modo, quindi i comandi shell che la sessione esegue trovano gli stessi strumenti del tuo terminale. Prima di v2.1.203, una sessione in background manteneva il `PATH` della shell che ha avviato per primo il supervisor, quindi gli strumenti aggiunti al tuo `PATH` da allora potevano mancare, il più delle volte su Windows.773| Campo | Presente | Descrizione |

774| :------------------------- | :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

775| `cwd`, `kind`, `startedAt` | Sempre | La directory di lavoro, `interactive` o `background`, e l'ora di inizio in millisecondi Unix |

776| `id` | Sessioni in background | ID breve, utilizzabile con `claude attach`, `claude logs`, e `claude stop` |

777| `state` | Sessioni in background | Uno di `working`, `blocked`, `done`, `failed`, o `stopped`. Vedi [Leggere lo stato della sessione da uno script](#read-session-state-from-a-script) per sapere cosa significa ogni valore |

778| `pid`, `status` | Mentre il processo è attivo | ID del processo e uno di `busy`, `waiting`, o `idle` |

779| `waitingFor` | Quando `status` è `waiting` | Su cosa è bloccata la sessione: `permission prompt` per un'approvazione, `input needed` per una domanda da Claude o una richiesta di input da un server MCP, `sandbox request`, `worker request`, o `dialog open` |

780| `sessionId`, `name` | Quando impostati | `sessionId` è l'UUID completo della sessione, utilizzabile con [`claude --resume`](/docs/it/sessions). Il `name` di una sessione interattiva è il suo [nome di visualizzazione predefinito](/docs/it/sessions#name-your-sessions) finché non nomini la sessione o accetti un piano in essa |

605 781 

606Una sessione in background non eredita variabili di endpoint gateway come `ANTHROPIC_BASE_URL` o le variabili di URL base equivalenti di Amazon Bedrock, Google Cloud's Agent Platform, e Microsoft Foundry dalla shell che ha avviato il supervisor. Senza un gateway esportato nella shell da cui esegui il dispatch, la sessione utilizza le tue credenziali archiviate e qualsiasi valore `env` nella directory del progetto [settings](/docs/it/settings). Per puntare ogni sessione in un progetto a un [gateway LLM](/docs/it/llm-gateway), imposta `ANTHROPIC_BASE_URL` nel blocco `env` del file `.claude/settings.json` di quel progetto.782<h3 id="read-session-state-from-a-script">

607 783 Leggere lo stato della sessione da uno script

608Se esporti un gateway `ANTHROPIC_BASE_URL` nella shell da cui esegui il dispatch, raggiunge il worker di quella sessione. `ANTHROPIC_CUSTOM_HEADERS` e la credenziale esportata insieme ad essi vengono inoltrati con esso. Questo accade quando il supervisor è stato avviato da un ambiente con lo stesso gateway. Il supervisor cattura il suo ambiente dalla prima shell che apre agent view o esegue il dispatch di una sessione in background, quindi avviare dalla shell del gateway gli dà quell'ambiente. L'inoltro si applica anche solo alle sessioni inviate nella directory da cui stai eseguendo il dispatch, o messe in background dalla tua stessa sessione con `←` o `/background`: eseguire il dispatch in una directory diversa con `@repo` o `--cwd` non porta il gateway della shell, e il blocco `env` del file `settings.json` di quel progetto fornisce l'endpoint invece. Quando l'ambiente del supervisor porta un gateway diverso o nessuno, il worker mantiene le tue credenziali archiviate contro l'endpoint predefinito invece di mescolare la credenziale di un ambiente con l'endpoint di un altro. Prima di v2.1.203, il `ANTHROPIC_BASE_URL` della shell di dispatch veniva eliminato mentre il `ANTHROPIC_API_KEY` esportato insieme ad esso veniva mantenuto, quindi la chiave del gateway veniva inviata all'endpoint predefinito e ogni richiesta falliva con un 401.784</h3>

609 

610L'endpoint inoltrato si applica solo a quel processo attivo e non viene mai scritto su disco. Quando il supervisor ferma una sessione inattiva e successivamente la riavvia, il processo riavviato legge il suo endpoint dalle tue impostazioni di nuovo: con un `ANTHROPIC_AUTH_TOKEN` del gateway torna alle tue credenziali archiviate, e con un `ANTHROPIC_API_KEY` emesso dal gateway può non riuscire ad autenticarsi fino a quando il gateway non è impostato nelle impostazioni.

611 

612Ogni sessione in background è il suo proprio processo Claude Code, gestito dal supervisor piuttosto che legato al tuo terminale. Una sessione che sta attivamente lavorando, aspettando il tuo input, o ha un terminale collegato mantiene il suo processo in esecuzione. Un comando shell in background in esecuzione, un subagente, un workflow dinamico, o un monitor conta come lavoro attivo, quindi un processo a lunga esecuzione come un server di sviluppo mantiene la sessione attiva.

613 785 

614Una volta che una sessione finisce e rimane scollega per circa un'ora, il supervisor ferma il suo processo per liberare risorse. Una sessione che hai [fissato](#organize-the-list) con `Ctrl+T` è esente e mantiene il suo processo in esecuzione mentre inattivo. Il transcript e lo stato rimangono su disco comunque, e la prossima volta che ti colleghi, fai peek, o rispondi a una sessione fermata, il supervisor avvia un processo fresco da dove l'ha lasciato. Quando ogni sessione è finita e nessun terminale è collegato, il supervisor stesso esce e si avvia di nuovo la prossima volta che ne hai bisogno.786`claude agents --json` è il modo supportato per leggere lo stato della sessione dall'esterno di Claude Code, ad esempio da una barra di stato, un pianificatore, o un'altra sessione Claude che supervisiona il lavoro in background. Esegui il polling di `claude agents --json --all`, che continua a elencare le sessioni il cui processo è uscito, e leggi `state`, `status`, e `waitingFor` di ogni voce.

615 787 

616Il lavoro in background che la sessione stessa ha avviato al livello superiore viene consegnato quando il suo processo viene fermato, riavviato, o aggiornato, incluso su Windows. Il prossimo processo avviato per quella sessione lo riprende:788| `state` | Cosa significa |

789| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

790| `working` | Un turno è in esecuzione, o la sessione è tra i passaggi del lavoro che guida da sola, come un'iterazione [`/loop`](/docs/it/scheduled-tasks) o un'attesa su CI. `status` ti dice se il suo processo è `busy` in questo momento |

791| `blocked` | La sessione è in attesa di te: una domanda che ha posto, una decisione di permesso o sandbox, un errore che solo tu puoi cancellare come un login scaduto, o il suo primo prompt se l'hai avviata senza uno. Quando l'attesa è un prompt aperto in un processo live, `waitingFor` lo nomina |

792| `done` | L'ultimo turno ha finito quello che hai chiesto e la sessione è pronta per il tuo prossimo prompt, indipendentemente dal fatto che il suo processo sia ancora attivo o meno |

793| `failed`, `stopped` | L'attività è terminata con un errore, o la sessione è stata fermata |

617 794 

618* Un comando shell in background che è finito nel frattempo viene segnalato come completato con il suo output795Una sessione che ha finito il suo turno e sta aspettando la tua prossima istruzione legge `done`, non `blocked`. `blocked` significa sempre che la sessione ha bisogno di qualcosa da te prima di poter continuare.

619* Un workflow dinamico riprende da dove l'ha lasciato

620* Un [subagente in background](/docs/it/sub-agents#run-subagents-in-foreground-or-background) riprende dal suo proprio transcript

621 796 

622A partire da v2.1.198 la consegna copre tutti e tre. Prima di v2.1.198 copriva solo i comandi shell e i workflow, quindi un subagente in background si fermava con il processo e veniva segnalato come fallito al prossimo risveglio.797I file sotto `~/.claude/jobs/<id>/` non sono un'interfaccia stabile. I valori che una sessione o un altro programma scrive in `state`, `detail`, `tempo`, o `needs` vengono sostituiti al prossimo aggiornamento.

623 798 

624Il lavoro il cui stato vive solo all'interno del processo stesso si ferma con esso invece di essere consegnato. Questo riguarda i comandi shell che un subagente ha avviato, che il subagente ripreso può avviare di nuovo, e i [monitor](/docs/it/tools-reference#monitor-tool) in esecuzione, il cui flusso di eventi non può essere spostato in un altro processo.799Se vuoi che una sessione segnali il progresso con le sue stesse parole, falle scrivere un file proprio, ad esempio sotto `$CLAUDE_JOB_DIR/tmp`, invece di modificare `state.json`.

625 800 

626L'eliminazione della sessione ferma tutto ciò che ha consegnato. Per fermare tutto il lavoro in background della sessione con il processo invece di consegnarlo, imposta la variabile di ambiente [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/it/env-vars#variables) su `1`.801<h2 id="how-background-sessions-are-hosted">

802 Come sono ospitate le sessioni in background

803</h2>

627 804 

628Un processo riavviato trova la conversazione di una sessione che [si è spostata in un worktree](#how-file-edits-are-isolated) a metà attività: quando il transcript non è dove la sessione è stata avviata, Claude Code cerca anche sotto i worktree registrati del repository. Prima di v2.1.207, riaprire quella sessione da agent view dopo che il suo processo si era fermato poteva mostrare una conversazione vuota con solo il suo prompt originale, con il transcript ancora intatto su disco; aprire la sessione di nuovo su v2.1.207 o successivo lo recupera.805Claude Code tratta ogni sessione elencata nella vista agente come una sessione in background, indipendentemente dal fatto che tu sia attualmente collegato ad essa. Al contrario, una sessione avviata eseguendo `claude` direttamente è legata a quel terminale e termina quando si chiude, a meno che tu non la [invii in background](#from-inside-a-session).

629 806 

630Se una sessione riavviata torna mostrando solo il suo prompt originale perché Claude Code ha frainteso il suo transcript come vuoto, il transcript della conversazione viene rinominato con un suffisso `.orphaned-` invece di essere eliminato, quindi rimane sulla tua macchina.807Per verificare quale tipo di sessione stai utilizzando, esegui [`/status`](/docs/it/commands). La riga `Session kind` legge `background job · attached` o `background job · unattended` in una sessione in background, a seconda che un terminale sia collegato, e `interactive` in qualsiasi altra sessione.

631 808 

632Una riga vuota rimasta dalla pressione di `←` che non è mai stata data un prompt viene rimossa completamente dopo circa cinque minuti in modo che l'elenco si cancelli da solo. Le sessioni avviate con `claude --bg` e le sessioni in attesa di un prompt di configurazione come una finestra di dialogo di fiducia non vengono rimosse in questo modo.809<h3 id="the-supervisor-process">

810 Il processo supervisor

811</h3>

633 812 

634Quando l'host ha poca memoria, il supervisor ferma prima le sessioni inattive non fissate e ferma quelle fissate inattive solo se ciò non ha liberato nulla.813Il supervisor è un servizio in background che esegue le tue sessioni in background in modo che continuino a funzionare dopo che chiudi la vista agente o il tuo terminale. Claude Code lo avvia la prima volta che metti una sessione in background o apri la vista agente, e non hai bisogno di gestirlo tu stesso.

635 814 

636Il supervisor osserva il binario Claude Code installato su disco e si riavvia nella nuova versione dopo che l'[auto-updater](/docs/it/setup#auto-updates) regolare lo sostituisce. Questo è un watch di file locale, non un controllo di rete. Le sessioni in background sono processi scollegati, quindi continuano a girare attraverso il riavvio e il nuovo supervisor si ricollega a loro. Una sessione fissata inattiva viene anche riavviata in posizione sulla nuova versione in modo che raccolga l'aggiornamento senza che tu ti ricollega.815Ogni sessione è il suo proprio processo Claude Code sotto il supervisor, e ciò che accade a quel processo dipende dallo stato della sessione:

637 816 

638Una volta che il nuovo supervisor prende il controllo, riavvia anche le sessioni inattive rimanenti sulla nuova versione, un po' alla volta in background, dopo un breve ritardo che consente ai terminali collegati attraverso il riavvio di ricollegarsi per primi. Una sessione che sta lavorando, aspettando il tuo input, o ha un terminale collegato non viene interrotta; si sposta sulla nuova versione la prossima volta che il suo processo si riavvia. Prima di v2.1.206, il supervisor spostava solo poche sessioni inattive al minuto su una nuova versione, quindi le sessioni potevano continuare a eseguire quella vecchia per un po' dopo un aggiornamento.817* **In esecuzione, in pausa su un prompt di permesso o un'altra finestra di dialogo, o collegato**: il processo continua a funzionare. Un subagente, workflow o monitor in esecuzione conta come in esecuzione.

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

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

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

639 821 

640Questi riavvii spostano solo una sessione su una versione più recente. Un supervisor che esegue una versione di Claude Code più vecchia di quella con cui è stato avviato il processo della sessione lascia quel processo da solo; la sessione continua a eseguire la versione più recente fino a quando un supervisor più recente non prende il controllo.822Quando il processo di una sessione si ferma o si riavvia, i comandi shell in background, i workflow dinamici e i subagenti in background che Claude ha avviato in essa si trasferiscono al suo prossimo processo; i monitor in esecuzione e i comandi shell che un subagente 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`.

641 823 

642L'esecuzione di `claude attach` mentre il supervisor sta riavviando una sessione, sia per un aggiornamento, un blocco, o una migrazione, attende il processo di sostituzione invece di fallire. Una riga di stato come `Agent is updating to the new Claude Code…` nomina ciò che sta aspettando e conta i secondi trascorsi, e il comando si connette non appena la sessione è pronta. Dopo circa 60 secondi smette di aspettare e segnala un errore. Prima di v2.1.205, `claude attach` smetteva di riprovare dopo pochi secondi e stampava un errore mentre la sessione era ancora in fase di riavvio.824Il 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).

643 825 

644<h3 id="where-state-is-stored">826<h3 id="where-state-is-stored">

645 Dove lo stato è archiviato827 Dove lo stato è archiviato


648Lo 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.830Lo 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.

649 831 

650| Percorso | Contenuti |832| Percorso | Contenuti |

651| :------------------------------- | :------------------------------------------------------------------------------------------------------------------------- |833| :------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |

652| `~/.claude/daemon.log` | Log del supervisor |834| `~/.claude/daemon.log` | Log del supervisor |

653| `~/.claude/daemon/roster.json` | Elenco delle sessioni in background in esecuzione, usato per ricollegarsi dopo un riavvio |835| `~/.claude/daemon/roster.json` | Elenco delle sessioni in background in esecuzione, usato per ricollegarsi dopo un riavvio |

654| `~/.claude/jobs/<id>/state.json` | Stato per sessione mostrato in agent view |836| `~/.claude/jobs/<id>/state.json` | Stato per sessione mostrato in agent view. Leggilo attraverso [`claude agents --json`](#read-session-state-from-a-script) invece di analizzare il file |

655| `~/.claude/jobs/<id>/tmp/` | Directory di scratch per sessione. Le scritture qui non richiedono il permesso. Rimossa quando la sessione viene eliminata |837| `~/.claude/jobs/<id>/tmp/` | Directory di scratch per sessione. Le chiamate `Write` e `Edit` di Claude qui non richiedono il permesso. Rimossa quando la sessione viene eliminata |

656 838 

657Ogni sessione in background ha la variabile di ambiente `CLAUDE_JOB_DIR` impostata sulla sua directory `~/.claude/jobs/<id>`, quindi i comandi shell che la sessione esegue possono scrivere file temporanei su `$CLAUDE_JOB_DIR/tmp` senza collidere con sessioni parallele.839Ogni sessione in background ha la variabile di ambiente `CLAUDE_JOB_DIR` impostata sulla sua directory `~/.claude/jobs/<id>`, quindi i comandi shell che la sessione esegue possono scrivere file temporanei su `$CLAUDE_JOB_DIR/tmp` senza collidere con sessioni parallele.

658 840 


660 842 

661Il comando avverte anche quando il supervisor in esecuzione è su una versione diversa da quella di `claude` che hai invocato, il che accade dopo un aggiornamento in cui il supervisor non si è ancora riavviato. L'avviso mostra entrambe le versioni e ti dice di eseguire `claude daemon stop --any` per raccogliere la nuova versione. Quando Claude Code è installato come servizio del sistema operativo, il comando suggerito è `claude daemon stop` senza il flag.843Il comando avverte anche quando il supervisor in esecuzione è su una versione diversa da quella di `claude` che hai invocato, il che accade dopo un aggiornamento in cui il supervisor non si è ancora riavviato. L'avviso mostra entrambe le versioni e ti dice di eseguire `claude daemon stop --any` per raccogliere la nuova versione. Quando Claude Code è installato come servizio del sistema operativo, il comando suggerito è `claude daemon stop` senza il flag.

662 844 

663Le sessioni sopravvivono a quel mismatch di versione intatto: una versione più vecchia di Claude Code che aggiorna il file `state.json` di una sessione preserva i campi che non riconosce e mantiene la sessione elencata. L'elenco delle sessioni in `roster.json` segue la stessa regola: una versione più vecchia che lo riscrive preserva i campi che una versione più nuova ha scritto, quindi le sessioni avviate dalla versione più nuova rimangono raggiungibili e continuano ad accettare input dopo il riavvio del supervisor. Prima di v2.1.200, le versioni più vecchie potevano eliminare quei campi al riscrittura.845Le sessioni sopravvivono a quel mismatch di versione intatto: una versione più vecchia di Claude Code che aggiorna il file `state.json` di una sessione preserva i campi che non riconosce e mantiene la sessione elencata. L'elenco delle sessioni in `roster.json` segue la stessa regola, quindi le sessioni avviate dalla versione più nuova rimangono raggiungibili e continuano ad accettare input dopo il riavvio del supervisor.

664 

665Su Windows, `claude daemon status` espone l'errore di file sottostante quando il file della chiave pipe del daemon è bloccato o illeggibile invece di segnalare un errore di connessione generico.

666 846 

667<h3 id="turn-off-agent-view">847<h3 id="turn-off-agent-view">

668 Disattiva agent view848 Disattiva agent view

669</h3>849</h3>

670 850 

671Per disattivare completamente gli agenti in background e agent view, imposta l'[impostazione](/docs/it/settings) `disableAgentView` su `true` o imposta la variabile di ambiente `CLAUDE_CODE_DISABLE_AGENT_VIEW`. Gli amministratori possono applicare questo attraverso [impostazioni gestite](/docs/it/permissions#managed-settings).851Per disattivare completamente gli agenti in background e agent view, imposta l'[impostazione](/docs/it/settings) `disableAgentView` su `true` o imposta la variabile di ambiente `CLAUDE_CODE_DISABLE_AGENT_VIEW`. Gli amministratori possono applicare questo attraverso [impostazioni gestite](/docs/it/managed-settings).

672 852 

673<h2 id="troubleshooting">853<h2 id="troubleshooting">

674 Troubleshooting854 Troubleshooting


692 Lo spostamento in background mostra una finestra di dialogo `Background this session?`872 Lo spostamento in background mostra una finestra di dialogo `Background this session?`

693</h3>873</h3>

694 874 

695Se premere `←` per mettere in background la sessione corrente mostra una finestra di dialogo `Background this session?`, la sessione ha lavoro in corso che non può trasferirsi alla sessione in background, come un [monitor](/docs/it/tools-reference#monitor-tool) in esecuzione, e Claude Code non lo fermerà silenziosamente. La finestra di dialogo nomina il lavoro che verrà fermato e, separatamente, conta i compiti che si trasferiscono. Esegui `/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 [Da dentro una sessione](#from-inside-a-session) per sapere quali tipi di compiti si trasferiscono e quali vengono fermati.875Se premere `←` per mettere in background la sessione corrente e Claude Code mostra una finestra di dialogo `Background this session?`, la sessione ha lavoro in corso che lo spostamento in background interromperebbe, riavvierebbe o lascerebbe in esecuzione incustodito, e Claude Code chiede prima di fare uno di questi:

876 

877* **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 che Claude Code fermerebbe e, separatamente, conta i compiti che si trasferiscono.

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

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

880 

881Esegui `/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.

696 882 

697<h3 id="prompt-rejected-as-too-short">883<h3 id="prompt-rejected-as-too-short">

698 Prompt rifiutato come troppo breve884 Prompt rifiutato come troppo breve


701L'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`.887L'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`.

702 888 

703<h3 id="sessions-show-as-failed-after-shutdown">889<h3 id="sessions-show-as-failed-after-shutdown">

704 Le sessioni mostrano come non riuscite dopo lo spegnimento890 Le sessioni mostrano come non riuscite o interrotte dopo lo spegnimento

705</h3>891</h3>

706 892 

707Lo spegnimento o il riavvio della tua macchina interrompe le sessioni in background in esecuzione, quindi mostrano come non riuscite quando apri di nuovo agent view. Collegati, fai peek, o rispondi a qualsiasi sessione e la sessione si riavvia da dove l'ha lasciata.893Lo 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:

894 

895* Entro 48 ore, la sessione mostra come non riuscita. Collegati o rispondi ad essa e si riavvia da dove l'ha lasciata.

896* Passate 48 ore, come dopo che la macchina è stata spenta per giorni, la sessione mostra come 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 quel prompt del footer.

708 897 

709Il sonno da solo non causa questo. Le sessioni vengono preservate durante il sonno e il supervisor si ricollega ad esse al risveglio.898Quando la [pulizia della trascrizione](/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).

899 

900Il sonno da solo non ferma le sessioni. Le sessioni vengono preservate durante il sonno e il supervisor si ricollega ad esse al risveglio.

710 901 

711<h3 id="opening-a-session-says-the-conversation-is-already-open">902<h3 id="opening-a-session-says-the-conversation-is-already-open">

712 L'apertura di una sessione dice che la conversazione è già aperta903 L'apertura di una sessione dice che la conversazione è già aperta

713</h3>904</h3>

714 905 

715L'apertura di una riga interrotta la cui conversazione è anche tenuta aperta da un altro processo Claude Code non interattivo in esecuzione, ad esempio un worker in background per la stessa conversazione che sta ancora terminando, mostra `This conversation is already open in another running Claude session` invece di avviare il processo della riga, perché due processi non possono scrivere sulla stessa trascrizione. Rispondi nella sessione che ha già la conversazione aperta, o esci da essa e apri di nuovo la riga. Una risposta che hai digitato con il tentativo rifiutato non viene persa; viene inviata la prossima volta che la sessione si avvia.906Due processi non possono scrivere sulla stessa trascrizione. Quando la conversazione salvata di una sessione interrotta è già aperta in un altro processo Claude Code live, Claude Code rifiuta di avviare il processo della sessione. Ciò che vedi dipende da ciò che tiene la conversazione:

907 

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

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

716 910 

717Prima della v2.1.203, questo stato avviava comunque un secondo processo. Quel processo usciva con un errore `currently running as a background agent` e la riga mostrava come non riuscita.911Claude Code salva una risposta che hai digitato con il tentativo rifiutato e la invia la prossima volta che la sessione si avvia.

912 

913<h3 id="opening-a-session-says-it-has-no-saved-transcript">

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

915</h3>

916 

917Una sessione interrotta che è stata [messa in background da un'altra conversazione](#from-inside-a-session) e interrotta prima che la sua prima risposta finisse non ha nulla da riprendere: fino a quando quella prima risposta non finisce, la conversazione vive ancora solo nella sessione da cui è stata messa in background. `claude attach` rifiuta di aprirla con `This session has no saved transcript`.

918 

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

920 

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

922 

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

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

925</h3>

926 

927Il [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.

928 

929Claude 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` entrambi dicono che il comando non viene eseguito di nuovo.

930 

931<h4 id="terminal-host-died">

932 L'host del terminale è morto

933</h4>

934 

935Su Linux e WSL, il supervisor controlla ogni processo host ogni pochi secondi, indipendentemente dal fatto che apri la sessione o meno, e contrassegna la sessione come non riuscita quando il processo è uscito ma la sua connessione al supervisor non si è mai chiusa.

936 

937* In agent view, la riga mostra `terminal host process died — press Enter to restart`. Premi `Enter` su di essa e Claude Code riavvia la sessione su un processo host fresco.

938* Dalla shell, `claude attach <id>` riavvia una sessione già contrassegnata come non riuscita. Altrimenti segnala la causa e esce, dicendoti di eseguire `claude attach <id>` di nuovo.

939 

940<h4 id="session-isn’t-responding">

941 La sessione non sta rispondendo

942</h4>

943 

944Quando il supervisor accetta un'apertura ma nessun output arriva per circa dieci secondi, Claude Code termina il tentativo e offre un riavvio. Una sessione che semplicemente si è bloccata, ad esempio durante il sonno della macchina, non raggiunge questa offerta: il supervisor la [riavvia all'apertura](#read-session-state) stesso.

945 

946* In agent view, il footer mostra `Press enter again to restart this session — it isn't responding (its conversation is saved and resumes).` Premi `Enter` sulla stessa riga di nuovo e Claude Code ferma il processo che non risponde e riavvia la sessione; non ferma nulla senza quel secondo press.

947* Dalla shell, `claude attach <id>` segnala la causa e esce, dicendoti di eseguire `claude stop <id>`, poi `claude attach <id>`.

718 948 

719<h3 id="a-session-fails-before-starting-with-a-possibly-low-memory-note">949<h3 id="a-session-fails-before-starting-with-a-possibly-low-memory-note">

720 Una sessione non riesce prima di iniziare con una nota `possibly low memory`950 Una sessione non riesce prima di iniziare con una nota `possibly low memory`

721</h3>951</h3>

722 952 

723A partire dalla v2.1.199, quando 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`. Le versioni precedenti mostravano solo il motivo dell'uscita nudo per questo errore.953Quando 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`.

724 954 

725La 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.955La 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.

726 956 

727Libera memoria sulla macchina, quindi collegati, fai peek, o rispondi alla riga e il supervisor avvia un processo fresco per la sessione. Quando la memoria rimane bassa, il supervisor [ferma anche le sessioni inattive](#the-supervisor-process) per liberare risorse da solo.957Libera memoria sulla macchina, quindi collegati o rispondi alla riga e il supervisor avvia un processo fresco 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.

728 958 

729<h3 id="agent-view-says-the-background-service-did-not-respond">959<h3 id="agent-view-says-the-background-service-did-not-respond">

730 Agent view dice che il servizio in background non ha risposto960 Agent view dice che il servizio in background non ha risposto


740 970 

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

742 972 

973Se il comando invece esce dicendo che il processo registrato non potrebbe essere verificato 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 fresco.

974 

743Su 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`.975Su 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`.

744 976 

745<h3 id="dispatch-fails-with-could-not-resolve-authentication-method">977<h3 id="dispatch-fails-with-could-not-resolve-authentication-method">

746 Dispatch non riesce con `Could not resolve authentication method`978 Dispatch non riesce con `Could not resolve authentication method`

747</h3>979</h3>

748 980 

749Se 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. Il supervisor fornisce uno snapshot di credenziali fresco quando assegna un [worker pre-riscaldato](#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:981Se 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:

750 982 

751```bash theme={null}983```bash theme={null}

752claude daemon stop --any --keep-workers984claude daemon stop --any --keep-workers


768 Le sessioni in background non riescono a raggiungere host della rete locale su macOS1000 Le sessioni in background non riescono a raggiungere host della rete locale su macOS

769</h3>1001</h3>

770 1002 

771Su macOS 15 e versioni successive, il sistema blocca un processo dal raggiungimento di dispositivi sulla tua rete locale finché non concedi il permesso di Rete Locale. Prima della v2.1.198 l'host della sessione in background non ha mai richiesto quel permesso, quindi i comandi che mirano a un indirizzo LAN non riuscivano con `connect: no route to host` anche se lo stesso comando funzionava in un terminale in primo piano. A partire dalla v2.1.198, il primo comando in una sessione in background che si connette a un indirizzo della rete locale attiva il prompt 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.1003Su macOS 15 e versioni successive, il sistema blocca un processo dal raggiungimento di 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 il prompt 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.

772 1004 

773<h3 id="a-session-is-slow-to-respond-after-attaching">1005<h3 id="a-session-is-slow-to-respond-after-attaching">

774 Una sessione è lenta a rispondere dopo il collegamento1006 Una sessione è lenta a rispondere dopo il collegamento

775</h3>1007</h3>

776 1008 

777Una volta che una sessione è finita e rimane scollega per circa un'ora, il supervisor ferma il suo processo per liberare risorse. Il collegamento avvia un processo fresco da dove l'ha lasciato e passa alla sessione immediatamente mentre il processo si riavvia. Le sessioni che stanno lavorando, aspettando te, o [fissate](#organize-the-list) non sono fermate in questo modo, quindi fissa una sessione con `Ctrl+T` per mantenerla reattiva.1009Quando una sessione che ha finito o è in attesa del tuo prossimo messaggio rimane scollega per circa un'ora, il supervisor ferma il suo processo per liberare risorse. Il collegamento avvia un processo fresco da dove l'ha lasciato e passa alla sessione immediatamente mentre il processo si riavvia. Le sessioni che stanno lavorando, in pausa su un prompt di permesso o un'altra finestra di dialogo, o [fissate](#organize-the-list) non sono fermate in questo modo, quindi fissa una sessione con `Ctrl+T` per mantenerla reattiva.

778 1010 

779Mentre il processo si avvia, l'ultimo schermo della trascrizione della sessione viene mostrato con una nota `Session is starting` sotto di esso, e la sessione live lo sostituisce non appena è pronta.1011Mentre il processo si avvia, Claude Code mostra la coda della trascrizione della sessione formattata nel modo in cui la sessione live la rende, con markdown, blocchi di codice evidenziati e chiamate di strumenti come righe attenuate, sopra un'area di prompt attenuata con una nota `Session is starting`. La sessione live la sostituisce non appena è pronta.

780 1012 

781<h3 id="claude/worktrees/-is-filling-up">1013<h3 id="claude/worktrees/-is-filling-up">

782 `.claude/worktrees/` si sta riempiendo1014 `.claude/worktrees/` si sta riempiendo

783</h3>1015</h3>

784 1016 

785L'eliminazione di una sessione in agent view rimuove il worktree che Claude ha creato per essa, e un worktree che non può essere rimosso in sicurezza [mantiene la sua riga di sessione](#organize-the-list) in modo che non sia orfano. `claude rm` mantiene un worktree che ha modifiche non committate, e la sua riga di sessione, e stampa il percorso mantenuto. Elenca le voci rimaste con `git worktree list` nella directory del progetto e rimuovi ognuna con `git worktree remove <path>`. Vedi [Pulisci i worktrees](/docs/it/worktrees#clean-up-worktrees).1017L'eliminazione di una sessione in agent view rimuove il worktree che Claude ha creato per essa, ma [alcuni elimina 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.

1018 

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

786 1020 

787<h2 id="limitations">1021<h2 id="limitations">

788 Limitazioni1022 Limitazioni


792 1026 

793* **I limiti di velocità si applicano**: le sessioni in background consumano l'utilizzo dell'abbonamento allo stesso modo delle sessioni interattive, quindi eseguire dieci agenti in parallelo utilizza la quota approssimativamente dieci volte più velocemente rispetto all'esecuzione di uno.1027* **I limiti di velocità si applicano**: le sessioni in background consumano l'utilizzo dell'abbonamento allo stesso modo delle sessioni interattive, quindi eseguire dieci agenti in parallelo utilizza la quota approssimativamente dieci volte più velocemente rispetto all'esecuzione di uno.

794* **Le sessioni sono locali**: le sessioni in background vengono eseguite sulla vostra macchina. Vengono preservate durante la sospensione ma si fermano se la macchina si spegne.1028* **Le sessioni sono locali**: le sessioni in background vengono eseguite sulla vostra macchina. Vengono preservate durante la sospensione ma si fermano se la macchina si spegne.

795* **I worktrees creati da Claude vengono eliminati con la sessione in agent view**: unite i cambiamenti prima di eliminare una sessione che ha modificato file nel suo proprio worktree. Un worktree con commit che non sono stati inviati da nessuna parte viene mantenuto insieme alla sessione. `claude rm` mantiene anche un worktree che ha modifiche non sottoposte a commit insieme alla sua sessione, e un worktree che avete creato voi stessi viene lasciato in posizione.1029* **I worktrees creati da Claude vengono eliminati con la sessione in agent view**: unite i cambiamenti prima di eliminare una sessione che ha modificato file nel suo proprio worktree. [Alcuni eliminazioni mantengono il worktree](#what-deleting-a-session-removes).

796 1030 

797<h2 id="related-resources">1031<h2 id="related-resources">

798 Risorse correlate1032 Risorse correlate

799</h2>1033</h2>

800 1034 

801Per altri modi di eseguire Claude in parallelo, vedi:1035Per altri modi di eseguire Claude in parallelo, e per passare i risultati tra le sessioni che esegui, vedi:

802 1036 

803* [Esegui agenti in parallelo](/docs/it/agents): confronta agent view con subagenti, team di agenti e worktrees1037* [Esegui agenti in parallelo](/docs/it/agents): confronta agent view con subagenti, team di agenti e worktrees

1038* [Messaggistica tra sessioni](/docs/it/cross-session-messaging): fai in modo che le tue sessioni si passino i risultati l'una con l'altra

804* [Team di agenti](/docs/it/agent-teams): coordina più sessioni che si messaggiano l'una con l'altra1039* [Team di agenti](/docs/it/agent-teams): coordina più sessioni che si messaggiano l'una con l'altra

805* [Claude Code on the web](/docs/it/claude-code-on-the-web): esegui sessioni in un ambiente cloud gestito invece che localmente1040* [Claude Code on the web](/docs/it/claude-code-on-the-web): esegui sessioni in un ambiente cloud gestito invece che localmente

806 1041 


811Agent view si è evoluto rapidamente durante l'anteprima di ricerca. Se sei su una versione più vecchia di Claude Code, alcuni comportamenti su questa pagina potrebbero differire; in particolare, `claude agents` rifiuta i flag che non supporta ancora con un errore di opzione sconosciuta. La tabella sottostante elenca quando ogni flag e comportamento è stato aggiunto.1046Agent view si è evoluto rapidamente durante l'anteprima di ricerca. Se sei su una versione più vecchia di Claude Code, alcuni comportamenti su questa pagina potrebbero differire; in particolare, `claude agents` rifiuta i flag che non supporta ancora con un errore di opzione sconosciuta. La tabella sottostante elenca quando ogni flag e comportamento è stato aggiunto.

812 1047 

813| Versione | Cambiamento |1048| Versione | Cambiamento |

814| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1049| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

815| v2.1.208 | Il collegamento 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 ramo 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. |1050| v2.1.268 | Quando un [delete è rifiutato](#what-deleting-a-session-removes) perché git o il tuo hook `WorktreeRemove` non poteva rimuovere il worktree, il messaggio nomina la causa, incluso come un hook è terminato e l'inizio del suo stderr. Per un worktree collegato sotto la directory `.claude/worktrees/` del repository senza modifiche non sottoposte a commit ai file tracciati, nessun repository annidato al suo interno, e nessun record di un'altra sessione che lo nomina, eliminare di nuovo la sessione rimuove comunque la directory, dalla vista agente o con `claude rm <id> --force-remove-worktree <worktree-id>`. Prima di questa versione, la riga mostrava solo `worktree could not be removed (WorktreeRemove hook failed)` o l'errore di git, lo stderr dell'hook andava solo al log di debug, e eliminare di nuovo era rifiutato allo stesso modo. |

1051| v2.1.260 | Quando [metti in background una sessione](#from-inside-a-session), l'[elenco agente](/docs/it/cross-session-messaging#see-which-sessions-claude-can-reach) delle tue altre sessioni mostra la conversazione una volta, come sua sessione in background, e i loro messaggi ad essa non raggiungono più il terminale da cui l'hai spostata. Prima di questa versione, quel terminale poteva rimanere elencato come una seconda sessione interattiva sotto il nome della conversazione, e una sessione che aveva inviato un messaggio alla conversazione prima dello spostamento continuava a consegnare a quel terminale. |

1052| v2.1.260 | Quando un [delete è rifiutato su commit non spinti](#what-deleting-a-session-removes), il messaggio nomina il ramo del worktree e quanti commit non sono spinti, e eliminare di nuovo la sessione scarta il worktree e i suoi commit. Prima di questa versione, il rifiuto diceva solo `worktree has commits that are not pushed anywhere`, eliminare di nuovo era rifiutato allo stesso modo, e eliminare la sessione richiedeva di spingere i commit o rimuovere il worktree manualmente. |

1053| v2.1.257 | `←` [si stacca da una sessione collegata mentre l'overlay `/btw` è aperto](#attach-to-a-session), anche a metà risposta, e l'overlay si riapre quando ti colleghi di nuovo. Prima di questa versione, `←` non si staccava mentre l'overlay era aperto. |

1054| v2.1.257 | Quando esegui [`claude --resume <session-id> --bg`](#from-your-shell), Claude Code continua quella sessione con il suo ID proprio, o avvia una copia con un nuovo ID e stampa una riga `note:` che spiega il motivo. `--continue`, un `--resume` nudo, e `--resume` con un nome o percorso avviano una copia con la stessa nota. Prima di questa versione, `--resume` con `--bg` avviava sempre una copia con un nuovo ID e non diceva nulla. |

1055| v2.1.257 | Quando invii una sessione da una vista agente che hai aperto con `←`, Claude Code l'avvia in [la modalità di permesso che la directory di destinazione configura](#permission-mode) attraverso `permissions.defaultMode`. Quando la directory non ne imposta una, si applica la modalità di permesso della sessione da cui provieni. Prima di questa versione, la sessione inviata avviava sempre nella modalità di permesso della sessione da cui provieni, sovrascrivendola. |

1056| v2.1.257 | `Ctrl+S`, `Ctrl+T`, e `Ctrl+G` in agent view [seguono le tue `keybindings.json`](#keyboard-shortcuts): `Ctrl+S` e `Ctrl+T` attraverso le azioni `agents:switchView` e `agents:togglePin` del contesto `Agents`, e `Ctrl+G` attraverso il binding `chat:externalEditor` del contesto `Chat`. Prima di questa versione, agent view ignorava `keybindings.json` e questi tasti erano fissi. |

1057| v2.1.257 | Avviare il [servizio in background](#the-supervisor-process) si recupera da due cause di fallimento. Su un'installazione npm macOS, un avvio durante un auto-aggiornamento [attende l'installazione](/docs/it/errors#eacces-when-starting-a-background-session) invece di eseguire il placeholder che npm mette giù mentre sostituisce il binario. Su Windows, un `daemon.lock` stantio scritto prima dell'ultimo avvio della macchina, o il cui ID processo registrato ora appartiene a un processo diverso, viene sostituito. Prima di questa versione, l'avvio macOS falliva con `Error: claude native binary not installed.` durante la finestra di installazione, e il lock Windows faceva fallire ogni avvio con [`exited before it became reachable`](/docs/it/errors#background-service-exited-before-it-became-reachable) finché non eliminavi `~/.claude/daemon.lock`. |

1058| v2.1.257 | Quando apri o invii una sessione in background mentre un altro processo Claude Code sta scaricando un aggiornamento npm, Claude Code [continua ad attendere fino a due minuti](/docs/it/errors#eacces-when-starting-a-background-session) mentre l'installazione viene eseguita, quindi fallisce dicendo `Claude Code is being updated by npm on this machine`. Prima di questa versione, l'attesa si fermava a dieci secondi, quindi l'apertura falliva con `Couldn't start the background service` mentre il download era ancora in corso. |

1059| v2.1.257 | Una sessione in background che tiene un [messaggio tra sessioni](/docs/it/cross-session-messaging#control-inbound-messages) per la tua approvazione mostra `approve message from` sulla sua riga `Needs input`, con l'indirizzo del mittente e il nome che il mittente dichiara. Prima di questa versione, la riga si spostava a `Needs input` ma manteneva il suo testo precedente, quindi nulla in `claude agents` nominava il messaggio in attesa o il suo mittente. |

1060| v2.1.257 | Un prompt nascosto con `Ctrl+S` dentro una sessione in background aperta [viene mantenuto con la sessione](#what-persists-across-restarts), quindi `Ctrl+S` lo ripristina dopo che il processo della sessione viene fermato e riavviato. Prima di questa versione, il nascondiglio viveva solo nel processo in esecuzione e veniva perso quando la sessione rimaneva inattiva abbastanza a lungo da far fermare il suo processo, o quando veniva fermata e poi riaperta. |

1061| v2.1.251 | In una sessione in background che non ha [spostato in un worktree](#how-file-edits-are-isolated), Claude e i subagent che genera possono modificare file all'interno di un worktree git collegato. |

1062| v2.1.251 | Claude Code inoltra un gateway del provider cloud esportato nella shell da cui invii, come `ANTHROPIC_VERTEX_BASE_URL` o `ANTHROPIC_BEDROCK_BASE_URL` con il suo flag di bypass dell'autenticazione, [al worker della sessione](#llm-gateway) nelle stesse condizioni di `ANTHROPIC_BASE_URL`. Prima di questa versione, se mettevi in background o inviavi da una shell autenticata solo attraverso tale gateway, ogni richiesta che la sessione faceva falliva, perché l'endpoint e il flag venivano eliminati dal suo ambiente. |

1063| v2.1.251 | Quando una sessione in background si avvia mentre un altro processo Claude Code sta aggiornando un [marketplace di plugin](/docs/it/plugin-marketplaces), come una sessione fratello che esegue l'[auto-aggiornamento del marketplace](/docs/it/discover-plugins#configure-auto-updates), Claude Code mantiene disponibili i plugin di quel marketplace. Prima di questa versione, tale sessione poteva avviarsi senza nessuna delle skill, agenti, hook e server MCP di quel marketplace e rimanere così per tutta la sua esecuzione. |

1064| v2.1.248 | `Shift+Enter` nell'[input di dispatch](#keyboard-shortcuts) inserisce una nuova riga, corrispondendo al prompt principale, e `Ctrl+Enter` invia e si collega immediatamente nei terminali dove l'overlay `?` elenca `ctrl+enter to start and open`. Prima di questa versione, `Shift+Enter` inviava e si collegava. |

1065| v2.1.248 | [Eliminare una sessione](#what-deleting-a-session-removes) ha successo quando i commit del worktree sono già sulla copia locale del ramo predefinito del tuo remote `origin` e il tuo checkout principale ha quel ramo estratto; prima di questa versione, il delete era rifiutato con `has commits that are not pushed anywhere`. |

1066| v2.1.248 | Una sessione messa in background con `←` o `/background` tiene il [`git worktree lock`](/docs/it/worktrees#clean-up-subagent-and-background-session-worktrees) sul suo worktree mentre viene eseguita; prima di questa versione, mettere in background rilasciava il lock, e la pulizia o `git worktree remove` poteva rimuovere il worktree sotto la sessione in esecuzione. |

1067| v2.1.248 | Una sessione in background che non era in attesa del tuo input e viene trovata morta più di 48 ore dopo la sua ultima attività, come dopo che la macchina era spenta per giorni, [mostra come fermata](#sessions-show-as-failed-after-shutdown) con `ended while the background service was off`, e `Enter` su di essa chiede prima di riprendere la sua conversazione salvata. Prima di questa versione, tale sessione riappariva come un fallimento fresco ordinato in cima all'elenco, e un singolo `Enter` tirava la conversazione di settimane fa in primo piano. |

1068| v2.1.248 | Aprire una riga fermata la cui conversazione [hai ripreso in un altro terminale](#opening-a-session-says-the-conversation-is-already-open) è rifiutato con `Can't open — this session is running in another terminal`, e la riga mostra `Open in a terminal` invece di mostrare sotto `Working`. Prima di questa versione, aprire la riga avviava un secondo processo che scriveva nella stessa conversazione. |

1069| v2.1.248 | Una sessione in background in attesa di una decisione di permesso mentre un hook `PermissionRequest` o `PreToolUse` ha stampato una risposta non valida [nomina l'evento dell'hook e l'errore dello schema sulla sua riga](#peek-and-reply). Prima di questa versione, la riga mostrava solo la richiesta in sospeso. |

1070| v2.1.248 | Su Windows, `claude agents` risponde alla tastiera quando lanciato in una scheda di terminale che un programma precedente ha lasciato in win32-input-mode. Prima di questa versione, Claude Code non decodificava i record di tasti che tale scheda invia. |

1071| v2.1.247 | Su Linux e WSL, una sessione [il cui processo host del terminale è morto](#the-terminal-host-died-or-the-session-stopped-responding) fallisce entro pochi secondi con il motivo. Un'apertura che non produce output termina dopo circa dieci secondi con un'offerta di riavvio, e `Enter` sulla riga riavvia la sessione con la sua conversazione; `claude attach <id>` segnala la causa e esce. Prima di questa versione, aprire tale sessione mostrava `opening… · esc to cancel` indefinitamente e `claude attach <id>` attendeva senza segnalare un errore. |

1072| v2.1.246 | Su un'installazione npm, quando il [servizio in background](#the-supervisor-process) non riesce ad avviarsi mentre `npm install -g @anthropic-ai/claude-code` sta sostituendo il binario, Claude Code attende fino a dieci secondi affinché l'installazione finisca e riprova prima di segnalare [`EACCES: permission denied`](/docs/it/errors#eacces-when-starting-a-background-session). |

1073| v2.1.246 | Quando il processo del [servizio in background](#the-supervisor-process) muore dopo aver stampato un errore, Claude Code segnala il fallimento e [cita la prima riga di errore del servizio](/docs/it/errors#background-service-exited-before-it-became-reachable). |

1074| v2.1.246 | Se la tua macchina si addormenta mentre il [servizio in background](#the-supervisor-process) si sta avviando, Claude Code riprova l'avvio una volta invece di fallire. |

1075| v2.1.246 | Claude Code attende circa due minuti invece di 45 secondi per un [servizio in background](#the-supervisor-process) appena avviato che è vivo ma lento ad accettare connessioni. |

1076| v2.1.246 | Il [servizio in background](#the-supervisor-process) si avvia dalla tua directory home, quindi su macOS e Linux una directory di avvio che è stata eliminata o spostata non blocca più l'avvio. |

1077| v2.1.246 | `/fork` [copia la conversazione completa](#copy-the-session-with-%2Ffork) da una sessione che stessa è stata avviata come copia e non ha registrato un nuovo prompt da allora: una copia `/fork` a cui ti sei collegato, una sessione ricollegata dopo che `←` o `/background` l'ha spostata in background, o una sessione avviata con `claude --resume <id> --fork-session`. Prima di questa versione, se eseguivi `/fork` in tale sessione prima di inviarle un nuovo prompt, Claude Code stampava la conferma normale ma avviava la copia con una conversazione vuota. Spostare tale sessione in background con `←` o `/background` perdeva la conversazione allo stesso modo. |

1078| v2.1.246 | Quando apri una sessione che hai appena inviato mentre il suo processo worker si sta ancora avviando, come premendo `Enter` sulla sua riga, Claude Code attende il processo e poi si collega. Prima di questa versione, se premevi `Enter` mentre il processo si stava ancora avviando, Claude Code poteva fermare la sessione con [`Session <id> was stopped while the respawn was in flight`](/docs/it/errors#session-was-stopped-while-the-respawn-was-in-flight). |

1079| v2.1.246 | Quando [metti in background](#from-inside-a-session) una sessione denominata, Claude Code la elenca una volta, e quando metti in background la stessa conversazione di nuovo, numera il nome della nuova riga, come `my-session (2)`, con la riga esistente che mantiene il suo nome. Prima di questa versione, il terminale in cui hai premuto `←` poteva apparire in `claude agents --json` come una seconda sessione con lo stesso nome, e se mettevi in background la stessa conversazione di nuovo, Claude Code aggiungeva un'altra riga con il nome identico. |

1080| v2.1.239 | Con [modalità editor vim](/docs/it/interactive-mode#vim-editor-mode) attiva, premere `Esc` nell'input di agent view passa da INSERT a NORMAL mode e mantiene il tuo testo, corrispondendo al prompt principale; in NORMAL mode con testo ancora nell'input, premere `Esc` lo cancella, e premere `Esc` su un input vuoto esce, come la scorciatoia [`Esc`](#keyboard-shortcuts) descrive. Prima di questa versione, `Esc` cancellava l'input. |

1081| v2.1.233 | Per una sessione collegata a una merge request di GitLab, Claude Code scrive l'etichetta della riga nella sintassi di riferimento `!1234` di GitLab. Puoi anche incollare l'URL della merge request nell'[input di dispatch](#filter-sessions) per selezionare quella sessione. Prima di questa versione, l'etichetta veniva resa come `#1234`, e un URL di merge request incollato corrispondeva a una sessione solo quando il suo primo prompt conteneva l'URL. |

1082| v2.1.227 | [Eliminare una sessione](#what-deleting-a-session-removes) mantiene la sessione e il suo worktree mentre un'altra sessione Claude Code live è in esecuzione all'interno di quella directory worktree. Agent view mostra `not deleted` sulla riga e il motivo nel footer, e `claude rm` stampa `kept <id>` con il motivo, che nomina l'ID processo dell'altra sessione. Prima di questa versione, eliminare la sessione rimuoveva il worktree mentre l'altra sessione stava ancora lavorando in esso. |

1083| v2.1.225 | `claude agents` in una directory che non hai fiducia mostra lo stesso [dialogo di fiducia dell'area di lavoro](/docs/it/permissions#project-allow-rules-and-workspace-trust) che `claude` mostra all'avvio, prima che agent view si apra. Accettare salva la fiducia per quell'area di lavoro; rifiutare esce senza aprire agent view. Prima di questa versione, `claude agents` si apriva senza chiedere, quindi le sessioni che inviavi da essa venivano eseguite in una directory di cui non ti era mai stato chiesto di fidarti.<br /><br />Con l'elenco raggruppato per directory, passare il mouse su una riga la evidenzia senza cambiare il [target di dispatch](#dispatch-to-a-specific-directory); selezionare una riga con i tasti freccia o un clic cambia ancora il target. Prima di questa versione, spostare il mouse su una sessione in un altro progetto cambiava silenziosamente la directory in cui la prossima sessione inviata si avviava. |

1084| v2.1.221 | `/status` mostra una riga `Session kind`: `background job · attached` o `background job · unattended` in una sessione in background, a seconda che un terminale sia collegato, e `interactive` in qualsiasi altra sessione. Prima di questa versione, `/status` non segnalava il tipo di sessione.<br /><br />`/fork`: Claude Code istruisce [la copia](#from-inside-a-session) di isolare il suo lavoro da quello della sessione originale: la copia crea un worktree proprio prima di apportare modifiche al codice, rimane fuori dal worktree della sessione originale, e basa un nuovo ramo su quello della sessione originale quando il suo compito si basa su quel lavoro. Vedi la sezione collegata per le condizioni esatte. Prima di questa versione, la copia non riceveva alcuna istruzione di isolamento e poteva finire per modificare il worktree o estrarre il checkout su cui la sessione originale stava ancora lavorando.<br /><br />Con [modalità editor vim](/docs/it/interactive-mode#vim-editor-mode) attiva, premere `←` subito dopo aver annullato il prompt tornando a vuoto con `u` chiede la stessa conferma di eliminare il testo o spostarsi nella cronologia dei prompt, e passa solo alla seconda pressione; prima di questa versione la pressione passava immediatamente. |

1085| v2.1.219 | Con [modalità editor vim](/docs/it/interactive-mode#vim-editor-mode) attiva, premere `←` su un prompt vuoto apre agent view da NORMAL mode così come INSERT, e il suggerimento `←` del footer mostra in NORMAL mode; prima di questa versione il gesto e il suggerimento erano solo INSERT, e in NORMAL mode `←` su un prompt vuoto non faceva nulla. Digitare nell'input mentre Claude Code attende di mettere in background la sessione annulla il passaggio con `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` quindi una bozza digitata non viene persa. |

1086| v2.1.218 | Premere `←` entro due secondi da un'eliminazione che ha svuotato il prompt, o da uno spostamento nella cronologia dei prompt, mostra `Press ← again to open agents`, o `Press ← again to go back to agents` in una sessione collegata, e passa solo alla seconda pressione almeno un secondo dopo; prima di questa versione la pressione passava immediatamente. Un `←` che arriva all'interno di input incollato o scritto non attiva più il passaggio. Mettere in background una sessione in primo piano con `←` mostra `Your conversation moved to the background` sopra l'elenco, e `Esc` alla radice di agent view ritorna a quella conversazione invece di uscire alla shell, con doppio `Ctrl+C` che rimane l'uscita; se la conversazione non può essere riaperta, Claude Code esce e stampa un comando `claude --resume` per essa. Su Windows, un `←` premuto entro circa mezzo secondo dal collegamento mostra `Ambiguous ←, press again to detach` e si stacca alla seconda pressione. |

1087| v2.1.217 | Il badge della pull request sulla riga di una sessione viene reso come un collegamento ipertestuale anche quando Claude Code non riesce a rilevare il supporto del collegamento ipertestuale del terminale, ad esempio su SSH o tmux; imposta [`FORCE_HYPERLINK=0`](/docs/it/env-vars) per renderlo come testo semplice. Prima di questa versione, il badge veniva reso come testo semplice quando il supporto non era rilevato. |

1088| 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.<br /><br />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.<br /><br />`--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 l'area di lavoro è fidata; 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.<br /><br />`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.<br /><br />Worktree deletion: una sessione il 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 un'altra sessione non la rivendichi anche. `claude rm` mantiene tale directory ogni volta che rimangono file. |

1089| 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 area di lavoro 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. |

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

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

1092| 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 git worktree 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. |

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

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

816| v2.1.207 | Il pannello peek si apre con la frase che la riga tronca, come la domanda esatta per una sessione che ti sta aspettando, e mostra quanto a lungo una sessione bloccata è stata in attesa come una singola riga `waiting 3m` invece di anteporre lo stesso timestamp alla frase di stato e alla domanda. Incollare di nuovo lo stesso testo nell'input di dispatch espande il placeholder `[Pasted text #N]` compresso invece di aggiungerne un secondo. Una sessione in background denominata accettando un piano mostra quel nome sulla sua riga. Una sessione in background che si è spostata in un worktree mantiene la sua conversazione quando il suo processo viene riavviato dalla vista agente. |1095| v2.1.207 | Il pannello peek si apre con la frase che la riga tronca, come la domanda esatta per una sessione che ti sta aspettando, e mostra quanto a lungo una sessione bloccata è stata in attesa come una singola riga `waiting 3m` invece di anteporre lo stesso timestamp alla frase di stato e alla domanda. Incollare di nuovo lo stesso testo nell'input di dispatch espande il placeholder `[Pasted text #N]` compresso invece di aggiungerne un secondo. Una sessione in background denominata accettando un piano mostra quel nome sulla sua riga. Una sessione in background che si è spostata in un worktree mantiene la sua conversazione quando il suo processo viene riavviato dalla vista agente. |

817| v2.1.206 | I riassunti delle righe riempiono la larghezza rimanente della riga e si troncano solo al bordo destro del terminale invece che a 64 colonne. Dopo che il supervisor si riavvia in una nuova versione di Claude Code, riavvia le restanti sessioni in background inattive su quella versione in background invece di poche al minuto. L'eliminazione di una sessione con `Ctrl+X` o `claude rm` la cancella anche dall'elenco delle sessioni del supervisor, quindi la riga non riappare più dopo un riavvio del supervisor. |1096| v2.1.206 | I riassunti delle righe riempiono la larghezza rimanente della riga e si troncano solo al bordo destro del terminale invece che a 64 colonne. Dopo che il supervisor si riavvia in una nuova versione di Claude Code, riavvia le restanti sessioni in background inattive su quella versione in background invece di poche al minuto. L'eliminazione di una sessione con `Ctrl+X` o `claude rm` la cancella anche dall'elenco delle sessioni del supervisor, quindi la riga non riappare più dopo un riavvio del supervisor. Un override del corpo della richiesta `CLAUDE_CODE_EXTRA_BODY` esportato nella shell di dispatching raggiunge le sessioni in background invece di essere ignorato. |

818| v2.1.205 | I riassunti delle righe mostrano il rapporto di una riga della sessione, troncato a 64 colonne, invece di una raw tool invocation o un conteggio `done/total`; le righe raggruppate per directory si aprono con una parola di stato colorata. Il pannello peek si apre con la frase di stato completa e, per una sessione in attesa di te, la sua domanda esatta sopra l'input di risposta. Le sessioni che modificano, commentano, chiudono, o contrassegnano una pull request come pronta con `gh` sono collegate ad essa, non solo quelle che creano o controllano una pull request, un push collega una pull request anche quando il nome del ramo locale non corrisponde, e una pull request il cui output del comando di creazione ha superato il limite inline è collegata anche. Un turno senza testo leggibile mantiene lo stato precedente della sessione invece di capovolgere di nuovo a `Working`. `claude attach` attende fino a circa 60 secondi una sessione che si sta riavviando, con una riga di stato che nomina il motivo, invece di fallire. |1097| v2.1.205 | Il suggerimento `←` del footer del prompt in una sessione `claude` regolare conta gli agenti in background in attesa di te, come `← 2 agents`. I riassunti delle righe mostrano il rapporto di una riga della sessione, troncato a 64 colonne, invece di una raw tool invocation o un conteggio `done/total`; le righe raggruppate per directory si aprono con una parola di stato colorata. Il pannello peek si apre con la frase di stato completa e, per una sessione in attesa di te, la sua domanda esatta sopra l'input di risposta. Le sessioni che modificano, commentano, chiudono, o contrassegnano una pull request come pronta con `gh` sono collegate ad essa, non solo quelle che creano o controllano una pull request, un push collega una pull request anche quando il nome del ramo locale non corrisponde, e una pull request il cui output del comando di creazione ha superato il limite inline è collegata anche. Un turno senza testo leggibile mantiene lo stato precedente della sessione invece di capovolgere di nuovo a `Working`. `claude attach` attende fino a circa 60 secondi una sessione che si sta riavviando, con una riga di stato che nomina il motivo, invece di fallire. |

819| v2.1.203 | Un gateway `ANTHROPIC_BASE_URL` esportato nella shell di dispatching raggiunge le sessioni inviate da essa nella stessa directory quando il supervisor condivide quel gateway environment, invece di essere scartato mentre la chiave API esportata insieme ad esso veniva mantenuta. Il `PATH` della shell di dispatching viene applicato a ogni worker della sessione. Premere `←` mentre i subagent sono in esecuzione attende che finiscano invece di riavviarli dopo dieci secondi. L'elenco vuoto mostra sempre le intestazioni della sezione con una descrizione sotto ciascuna. Digitare `@` nell'input di dispatch elenca anche i git worktrees registrati del repository di avvio che si trovano all'interno del suo albero di directory. Uno sforzo ereditato dall'impostazione `effortLevel` segue i successivi edit a quell'impostazione invece di essere fissato al dispatch. Aprire una sessione fermata la cui conversazione è già aperta in un'altra sessione in esecuzione viene rifiutato con un messaggio invece di far fallire la riga. Un comando che non è disponibile in agent view lascia il testo digitato nell'input. Un hook `WorktreeCreate` che fallisce al di fuori di un repository git non blocca più la sessione dall'editing dei file. |1098| v2.1.203 | Un gateway `ANTHROPIC_BASE_URL` esportato nella shell di dispatching raggiunge le sessioni inviate da essa nella stessa directory quando il supervisor condivide quel gateway environment, invece di essere scartato mentre la chiave API esportata insieme ad esso veniva mantenuta. Il `PATH` della shell di dispatching viene applicato a ogni worker della sessione. Premere `←` mentre i subagent sono in esecuzione attende che finiscano invece di riavviarli dopo dieci secondi. L'elenco vuoto mostra sempre le intestazioni della sezione con una descrizione sotto ciascuna. Digitare `@` nell'input di dispatch elenca anche i git worktrees registrati del repository di avvio che si trovano all'interno del suo albero di directory. Uno sforzo ereditato dall'impostazione `effortLevel` segue i successivi edit a quell'impostazione invece di essere fissato al dispatch. Aprire una sessione fermata la cui conversazione è già aperta in un'altra sessione in esecuzione viene rifiutato con un messaggio invece di far fallire la riga. Un comando che non è disponibile in agent view lascia il testo digitato nell'input. Un hook `WorktreeCreate` che fallisce al di fuori di un repository git non blocca più la sessione dall'editing dei file. |

820| v2.1.202 | Un nome impostato con `/rename` o `Ctrl+R` su una sessione in background persiste quando il supervisor arresta e riavvia il suo processo, invece di ripristinare il nome con cui la sessione è stata inviata. |1099| v2.1.202 | Un nome impostato con `/rename` o `Ctrl+R` su una sessione in background persiste quando il supervisor arresta e riavvia il suo processo, invece di ripristinare il nome con cui la sessione è stata inviata. |

821| v2.1.200 | Una versione più vecchia di Claude Code che riscrive l'elenco delle sessioni in `roster.json` preserva i campi scritti da una versione più nuova, corrispondendo alla garanzia `state.json` esistente, quindi le sessioni avviate dalla versione più nuova continuano ad accettare input dopo il riavvio del supervisor. Quando apri una sessione che ha smesso di rispondere, il supervisor riavvia il suo processo e la sessione continua la risposta interrotta da dove si era fermata. |1100| v2.1.200 | Una versione più vecchia di Claude Code che riscrive l'elenco delle sessioni in `roster.json` preserva i campi scritti da una versione più nuova, corrispondendo alla garanzia `state.json` esistente, quindi le sessioni avviate dalla versione più nuova continuano ad accettare input dopo il riavvio del supervisor. Quando apri una sessione che ha smesso di rispondere, il supervisor riavvia il suo processo e la sessione continua la risposta interrotta da dove si era fermata. Agent view applica un flag `--plugin-dir` posizionato dopo `agents` al suo proprio subagent e skill autocomplete nell'input di dispatch così come alle sessioni inviate. |

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

823| 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, spinge il suo ramo isolato proprio, 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 dal loro transcript al prossimo risveglio invece di essere segnalati come falliti. `claude --bg` combinato con `-p` o `--print` viene rifiutato con un errore. |1102| 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, spinge il suo ramo isolato proprio, 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 dal loro transcript 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`. |

824| 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. Un transcript frainteso come vuoto al riavvio viene rinominato con un suffisso `.orphaned-` invece di essere eliminato. |1103| 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. Un transcript frainteso come vuoto al riavvio viene rinominato con un suffisso `.orphaned-` invece di essere eliminato. |

825| v2.1.195 | Il lavoro 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 o 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. |1104| v2.1.195 | Il lavoro 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 o 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. |

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

826| 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`. |1106| 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`. |

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

828| v2.1.161 | I riassunti delle righe mostrano un conteggio `done/total` per elementi di lavoro paralleli; il pannello peek nomina l'elemento di lavoro parallelo che sta girando più a lungo. |1108| v2.1.161 | I riassunti delle righe mostrano un conteggio `done/total` per elementi di lavoro paralleli; il pannello peek nomina l'elemento di lavoro parallelo che sta girando più a lungo. |

Details

239 239 

240A partire da Claude Code v2.1.181, l'output flat da `aws configure export-credentials --format process` è accettato anche, con le stesse chiavi al livello superiore invece di annidate sotto `Credentials`.240A partire da Claude Code v2.1.181, l'output flat da `aws configure export-credentials --format process` è accettato anche, con le stesse chiavi al livello superiore invece di annidate sotto `Credentials`.

241 241 

242`Expiration` è facoltativo. A partire da Claude Code v2.1.176, quando il comando restituisce un `Expiration` ISO 8601 valido, Claude Code memorizza nella cache le credenziali fino a cinque minuti prima di quel momento. Senza di esso, o nelle versioni precedenti, le credenziali vengono memorizzate nella cache per un'ora.242`Expiration` è facoltativo. Quando il comando restituisce un `Expiration` ISO 8601 valido, Claude Code memorizza nella cache le credenziali fino a cinque minuti prima di quel momento. Senza di esso, le credenziali vengono memorizzate nella cache per un'ora.

243 243 

244Quando si configura `awsCredentialExport` senza `awsAuthRefresh`, Claude Code utilizza le credenziali esportate direttamente e non ri-risolve la catena del provider di credenziali predefinito AWS all'avvio. Richiede Claude Code v2.1.206 o successiva.244Quando si configura `awsCredentialExport` senza `awsAuthRefresh`, Claude Code utilizza le credenziali esportate direttamente e non ri-risolve la catena del provider di credenziali predefinito AWS all'avvio. Richiede Claude Code v2.1.206 o successiva.

245 245 

Details

170* **`claude setup-token` e `/install-github-app`**: applicano solo `forceLoginMethod`, quindi possono coniare un token in un'organizzazione diversa170* **`claude setup-token` e `/install-github-app`**: applicano solo `forceLoginMethod`, quindi possono coniare un token in un'organizzazione diversa

171* **Accesso [gateway](/docs/it/claude-apps-gateway)**: selezionato da `forceLoginMethod: "gateway"` piuttosto che limitato da esso, e non autentica rispetto a un'organizzazione Anthropic, quindi `forceLoginOrgUUID` non si applica; utilizzate il vostro provider di identità gateway per limitare l'accesso171* **Accesso [gateway](/docs/it/claude-apps-gateway)**: selezionato da `forceLoginMethod: "gateway"` piuttosto che limitato da esso, e non autentica rispetto a un'organizzazione Anthropic, quindi `forceLoginOrgUUID` non si applica; utilizzate il vostro provider di identità gateway per limitare l'accesso

172 172 

173Distribuite le chiavi attraverso il vostro strumento di gestione dei dispositivi. Le [impostazioni gestite dal server](/docs/it/server-managed-settings) raggiungono solo gli account che sono già autenticati nella vostra organizzazione, quindi non possono reindirizzare il primo accesso di uno sviluppatore. Se la vostra organizzazione distribuisce anche impostazioni gestite dal server, impostate le chiavi in entrambi i luoghi: le fonti di impostazioni gestite [non si uniscono](/docs/it/server-managed-settings#settings-precedence), e le impostazioni gestite dal server memorizzate nella cache sostituiscono il file gestito dal dispositivo, a parte due tipi di chiavi che ancora si riempiono da una fonte perdente:173Distribuite le chiavi attraverso il vostro strumento di gestione dei dispositivi. Le [impostazioni gestite dal server](/docs/it/server-managed-settings) raggiungono solo gli account che sono già autenticati nella vostra organizzazione, quindi non possono reindirizzare il primo accesso di uno sviluppatore. Se la vostra organizzazione distribuisce anche impostazioni gestite dal server, impostate le chiavi in entrambi i luoghi: le fonti di impostazioni gestite [non si uniscono](/docs/it/server-managed-settings#settings-precedence), e le impostazioni gestite dal server memorizzate nella cache sostituiscono il file gestito dal dispositivo, a parte alcuni [eccezioni per chiave](/docs/it/server-managed-settings#per-key-exceptions-across-managed-sources). `forceLoginOrgUUID` e i valori `"claudeai"` e `"console"` di `forceLoginMethod` non sono tra quelle eccezioni, quindi manteneteli in entrambi i luoghi.

174 

175* **Il blocco `env`**: [si unisce per chiave](/docs/it/server-managed-settings#per-key-exceptions-across-managed-sources) in Claude Code v2.1.223 o successivo

176* **Le [chiavi di blocco tra fonti](/docs/it/server-managed-settings#per-key-exceptions-across-managed-sources)**: onorate da qualsiasi fonte di amministrazione

177 

178`forceLoginMethod` e `forceLoginOrgUUID` non sono nessuno dei due, quindi manteneteli in entrambi i luoghi.

179 174 

180Le chiavi decidono anche se una sessione che non utilizza una credenziale di accesso può iniziare. Vedete [`forceLoginOrgUUID`](/docs/it/settings-reference#forceloginorguuid) nel riferimento delle impostazioni per il comportamento completo.175Le chiavi decidono anche se una sessione che non utilizza una credenziale di accesso può iniziare. Vedete [`forceLoginOrgUUID`](/docs/it/settings-reference#forceloginorguuid) nel riferimento delle impostazioni per il comportamento completo.

181 176 

Details

568claude -p "<your prompt>" --output-format json | your_command568claude -p "<your prompt>" --output-format json | your_command

569```569```

570 570 

571Utilizzate `--verbose` per il debug durante lo sviluppo e spegnetelo in produzione.

572 

573<h3 id="run-autonomously-with-auto-mode">571<h3 id="run-autonomously-with-auto-mode">

574 Eseguite autonomamente con auto mode572 Eseguite autonomamente con auto mode

575</h3>573</h3>

chrome.md +2 −5

Details

124 Strumenti del browser in plan mode124 Strumenti del browser in plan mode

125</h3>125</h3>

126 126 

127In [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode), le chiamate degli strumenti del browser che solo leggono la pagina o lo stato del browser vengono eseguite senza un prompt di autorizzazione, e le chiamate che cambiano lo stato richiedono l'approvazione.127In [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode), un prompt di autorizzazione appare prima che Claude registri una GIF, apra una nuova scheda o esegua una scorciatoia. Se [la modalità bypass permissions è disponibile](/docs/it/permission-modes#skip-all-checks-with-bypasspermissions-mode) nella tua sessione e [il recupero del feature flag](/docs/it/env-vars#features-that-need-feature-flag-fetching) è disattivato, queste chiamate vengono eseguite senza un prompt.

128 128 

129* **Chiamate di sola lettura**: `read_page`, `get_page_text`, `find`, lettura dei messaggi della console o delle richieste di rete, e acquisizione di uno screenshot129Una chiamata `tabs_context_mcp` richiede anche un prompt quando imposta `createIfEmpty`, e così fa una chiamata `browser_batch` che include una qualsiasi di queste azioni.

130* **Chiamate che cambiano lo stato**: clic, digitazione, navigazione, gestione delle schede e delle finestre, e registrazione di una GIF

131 

132Una chiamata altrimenti di sola lettura che imposta un flag di input che cambia lo stato, come `createIfEmpty` su `tabs_context_mcp`, `clear` sui lettori della console e della rete, o `save_to_disk` su uno screenshot, richiede anche l'approvazione. Una chiamata `browser_batch` viene eseguita senza un prompt solo quando ogni azione al suo interno è di sola lettura.

133 130 

134<h2 id="example-workflows">131<h2 id="example-workflows">

135 Flussi di lavoro di esempio132 Flussi di lavoro di esempio

Details

87 `--cloud` crea sessioni cloud. `--remote-control` non è correlato: espone una sessione CLI locale per il monitoraggio dal web. Vedi [Remote Control](/docs/it/remote-control).87 `--cloud` crea sessioni cloud. `--remote-control` non è correlato: espone una sessione CLI locale per il monitoraggio dal web. Vedi [Remote Control](/docs/it/remote-control).

88</Note>88</Note>

89 89 

90Usa `/tasks` nella CLI Claude Code per controllare l'avanzamento, o apri la sessione su claude.ai o l'app mobile Claude per interagire direttamente. Da lì puoi guidare Claude, fornire feedback o rispondere a domande proprio come in qualsiasi altra conversazione.90Apri la sessione su claude.ai o l'app mobile Claude per controllare l'avanzamento o interagire direttamente. Da lì puoi guidare Claude, fornire feedback o rispondere a domande proprio come in qualsiasi altra conversazione.

91 91 

92Se Claude pone una domanda e la sessione rimane inattiva, puoi comunque rispondere quando torni, fino a [scadenza dell'ambiente](#environment-expired), e la sessione continua dalla tua risposta.92Se Claude pone una domanda e la sessione rimane inattiva, puoi comunque rispondere quando torni, fino a [scadenza dell'ambiente](#environment-expired), e la sessione continua dalla tua risposta.

93 93 


115claude --cloud "Refactor the logger to use structured output"115claude --cloud "Refactor the logger to use structured output"

116```116```

117 117 

118Monitora tutte le sessioni con `/tasks` nella CLI Claude Code. Quando una sessione si completa, puoi creare una PR dall'interfaccia web o [teletrasportare](#from-web-to-terminal) la sessione nel tuo terminale per continuare a lavorare.118Quando una sessione si completa, puoi creare una PR dall'interfaccia web o [teletrasportare](#from-web-to-terminal) la sessione nel tuo terminale per continuare a lavorare.

119 119 

120<h4 id="send-local-repositories-without-github">120<h4 id="send-local-repositories-without-github">

121 Invia repository locali senza GitHub121 Invia repository locali senza GitHub

Details

1451L'explorer copre i file che crei e modifichi. Alcuni file correlati si trovano altrove:1451L'explorer copre i file che crei e modifichi. Alcuni file correlati si trovano altrove:

1452 1452 

1453| File | Posizione | Scopo |1453| File | Posizione | Scopo |

1454| ----------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1454| ----------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1455| `managed-settings.json` | A livello di sistema, varia in base al sistema operativo | Impostazioni applicate dall'azienda che non puoi ignorare, a parte [eccezioni ristrette](/docs/it/settings#security-keys-where-the-stricter-value-applies). Vedi [dove salvare il file](/docs/it/managed-settings#deploy-a-managed-settings-file) e [quale fonte gestita Claude Code utilizza](/docs/it/managed-settings#precedence-within-the-managed-tier). |1455| `managed-settings.json` | A livello di sistema, varia in base al sistema operativo | Impostazioni applicate dall'azienda che non puoi ignorare, a parte [eccezioni ristrette](/docs/it/settings#security-keys-where-the-stricter-value-applies). Vedi [dove salvare il file](/docs/it/managed-settings#deploy-a-managed-settings-file) e [quale fonte gestita Claude Code utilizza](/docs/it/managed-settings#precedence-within-the-managed-tier). |

1456| `CLAUDE.local.md` | Radice del progetto | Le tue preferenze private per questo progetto, caricate insieme a CLAUDE.md. Crealo manualmente e aggiungilo a `.gitignore`. |1456| `CLAUDE.local.md` | Radice del progetto | Le tue preferenze private per questo progetto, caricate insieme a CLAUDE.md. Crealo manualmente e aggiungilo a `.gitignore`. |

1457| Plugin installati | `~/.claude/plugins` | Marketplace clonati, versioni plugin installate e dati per plugin, gestiti dai comandi `claude plugin`. Per un plugin installato da un marketplace con [fonte `command`](/docs/it/plugin-marketplaces#command-sources) in modalità link, Claude Code memorizza i link qui invece di una copia, e i file del plugin rimangono nella directory che il comando stampa. Vedi [plugin caching](/docs/it/plugins-reference#plugin-caching-and-file-resolution) per come le versioni orfane vengono pulite. |1457| Plugin installati | `~/.claude/plugins` | Marketplace clonati, versioni plugin installate e dati per plugin, gestiti dai comandi `claude plugin`. Per un plugin installato da un marketplace con [fonte `command`](/docs/it/plugin-marketplaces#command-sources) in modalità link, Claude Code memorizza i link qui invece di una copia, e i file del plugin rimangono nella directory che il comando stampa. Una fonte `command` richiede Claude Code v2.1.229 o successivo. Vedi [plugin caching](/docs/it/plugins-reference#plugin-caching-and-file-resolution) per come le versioni orfane vengono pulite. |

1458 1458 

1459`~/.claude` contiene anche dati che Claude Code scrive mentre lavori: trascrizioni, cronologia dei prompt, snapshot dei file, cache e log. Vedi [dati dell'applicazione](#application-data) di seguito.1459`~/.claude` contiene anche dati che Claude Code scrive mentre lavori: trascrizioni, cronologia dei prompt, snapshot dei file, cache e log. Vedi [dati dell'applicazione](#application-data) di seguito.

1460 1460 


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

1560* **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). Quando le [impostazioni gestite](/docs/it/managed-settings) impostano `cleanupPeriodDays`, Claude Code elimina invece queste trascrizioni dopo quel periodo. Richiede Claude Code v2.1.248 o successivo; le versioni precedenti le eliminano dopo `cleanupPeriodDays`.1560* **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). Quando le [impostazioni gestite](/docs/it/managed-settings) impostano `cleanupPeriodDays`, Claude Code elimina invece queste trascrizioni dopo quel periodo. Richiede Claude Code v2.1.248 o successivo; le versioni precedenti le eliminano dopo `cleanupPeriodDays`.

1561 1561 

1562Claude Code salta completamente la pulizia in questi casi:1562Claude Code salta la pulizia basata sull'età in questi casi:

1563 1563 

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

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

Details

540<AccordionGroup>540<AccordionGroup>

541 <Accordion title="Servizi Anthropic">541 <Accordion title="Servizi Anthropic">

542 * api.anthropic.com542 * api.anthropic.com

543 * statsig.anthropic.com

544 * docs.claude.com543 * docs.claude.com

545 * platform.claude.com544 * platform.claude.com

546 * code.claude.com545 * code.claude.com


612 * [www.java.net](http://www.java.net)611 * [www.java.net](http://www.java.net)

613 * download.oracle.com612 * download.oracle.com

614 * yum.oracle.com613 * yum.oracle.com

614 * \*.r2.cloudflarestorage.com

615 </Accordion>615 </Accordion>

616 616 

617 <Accordion title="Gestori di pacchetti JavaScript e Node">617 <Accordion title="Gestori di pacchetti JavaScript e Node">


622 * npmjs.org622 * npmjs.org

623 * yarnpkg.com623 * yarnpkg.com

624 * registry.yarnpkg.com624 * registry.yarnpkg.com

625 * jsr.io

626 * npm.jsr.io

625 </Accordion>627 </Accordion>

626 628 

627 <Accordion title="Gestori di pacchetti Python">629 <Accordion title="Gestori di pacchetti Python">


676 * central.maven.org678 * central.maven.org

677 * repo1.maven.org679 * repo1.maven.org

678 * repo.maven.apache.org680 * repo.maven.apache.org

681 * maven.google.com

679 * jcenter.bintray.com682 * jcenter.bintray.com

680 * gradle.org683 * gradle.org

681 * [www.gradle.org](http://www.gradle.org)684 * [www.gradle.org](http://www.gradle.org)

682 * services.gradle.org685 * services.gradle.org

683 * plugins.gradle.org686 * plugins.gradle.org

687 * plugins-artifacts.gradle.org

684 * kotlinlang.org688 * kotlinlang.org

685 * [www.kotlinlang.org](http://www.kotlinlang.org)689 * [www.kotlinlang.org](http://www.kotlinlang.org)

686 * spring.io690 * spring.io


758 </Accordion>762 </Accordion>

759 763 

760 <Accordion title="Servizi cloud e monitoraggio">764 <Accordion title="Servizi cloud e monitoraggio">

761 * statsig.com

762 * [www.statsig.com](http://www.statsig.com)

763 * api.statsig.com

764 * sentry.io

765 * \*.sentry.io

766 * downloads.sentry-cdn.com

767 * http-intake.logs.datadoghq.com765 * http-intake.logs.datadoghq.com

768 * browser-intake-us5-datadoghq.com

769 * \*.datadoghq.com766 * \*.datadoghq.com

770 * \*.datadoghq.eu767 * \*.datadoghq.eu

771 * api.honeycomb.io768 * api.honeycomb.io

Details

434| [Routines](/docs/it/routines) | Cloud, gestito da Anthropic per impostazione predefinita | Attività che dovrebbero essere eseguite anche quando il tuo computer è spento. Possono anche attivarsi su chiamate API o eventi GitHub oltre a una pianificazione. Configura su [claude.ai/code/routines](https://claude.ai/code/routines). |434| [Routines](/docs/it/routines) | Cloud, gestito da Anthropic per impostazione predefinita | Attività che dovrebbero essere eseguite anche quando il tuo computer è spento. Possono anche attivarsi su chiamate API o eventi GitHub oltre a una pianificazione. Configura su [claude.ai/code/routines](https://claude.ai/code/routines). |

435| [Attività pianificate desktop](/docs/it/desktop-scheduled-tasks) | La tua macchina, tramite l'app desktop | Attività che hanno bisogno di accesso diretto a file locali, strumenti o modifiche non sottoposte a commit. |435| [Attività pianificate desktop](/docs/it/desktop-scheduled-tasks) | La tua macchina, tramite l'app desktop | Attività che hanno bisogno di accesso diretto a file locali, strumenti o modifiche non sottoposte a commit. |

436| [GitHub Actions](/docs/it/github-actions) | La tua pipeline CI | Attività legate a eventi del repository come PR aperte, o pianificazioni cron che dovrebbero vivere insieme alla tua configurazione del flusso di lavoro. |436| [GitHub Actions](/docs/it/github-actions) | La tua pipeline CI | Attività legate a eventi del repository come PR aperte, o pianificazioni cron che dovrebbero vivere insieme alla tua configurazione del flusso di lavoro. |

437| [`/loop`](/docs/it/scheduled-tasks) | La sessione CLI corrente | Polling rapido mentre una sessione è aperta. Le attività si fermano quando inizi una nuova conversazione; `--resume` e `--continue` ripristinano quelle non scadute. |437| [`/loop`](/docs/it/scheduled-tasks) | La sessione CLI corrente | Polling rapido mentre una sessione è aperta. `--resume` e `--continue` ripristinano i loop a intervalli fissi non scaduti. |

438 438 

439<Tip>439<Tip>

440 Quando scrivi prompt per attività pianificate, sii esplicito su cosa significhi il successo e cosa fare con i risultati. L'attività viene eseguita autonomamente, quindi non può fare domande di chiarimento. Ad esempio: "Review open PRs labeled `needs-review`, leave inline comments on any issues, and post a summary in the `#eng-reviews` Slack channel."440 Quando scrivi prompt per attività pianificate, sii esplicito su cosa significhi il successo e cosa fare con i risultati. L'attività viene eseguita autonomamente, quindi non può fare domande di chiarimento. Ad esempio: "Review open PRs labeled `needs-review`, leave inline comments on any issues, and post a summary in the `#eng-reviews` Slack channel."

computer-use.md +1 −1

Details

134 Ferma in qualsiasi momento134 Ferma in qualsiasi momento

135</h3>135</h3>

136 136 

137Quando Claude acquisisce il blocco, appare una notifica di macOS: "Claude is using your computer · press Esc to stop." Premi `Esc` ovunque per interrompere immediatamente l'azione corrente, oppure premi `Ctrl+C` nel terminale. In entrambi i casi, Claude si ferma, mostra di nuovo le tue app e ti restituisce il controllo. La sessione mantiene il [blocco di computer use](#one-session-at-a-time) fino a quando non esce.137La prima volta che Claude utilizza il tuo computer in ogni turno, appare una notifica di macOS: "Claude is using your computer · press Esc to stop." Premi `Esc` ovunque per interrompere immediatamente l'azione corrente, oppure premi `Ctrl+C` nel terminale. In entrambi i casi, Claude si ferma, mostra di nuovo le tue app e ti restituisce il controllo. La sessione mantiene il [blocco di computer use](#one-session-at-a-time) fino a quando non esce.

138 138 

139Una seconda notifica appare quando Claude ha finito.139Una seconda notifica appare quando Claude ha finito.

140 140 

costs.md +3 −2

Details

71 71 

72Premi `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.72Premi `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.

73 73 

74Nell'[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. Richiede Claude Code v2.1.174 o versione successiva.74Nell'[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.

75 75 

76<h4 id="check-your-usage-credits-spend">76<h4 id="check-your-usage-credits-spend">

77 Controlla la tua spesa in crediti di utilizzo77 Controlla la tua spesa in crediti di utilizzo


222 Quando uno sviluppatore chiede informazioni su un limite222 Quando uno sviluppatore chiede informazioni su un limite

223</h3>223</h3>

224 224 

225Gli sviluppatori di solito portano domande sui limiti al loro amministratore, quindi è utile sapere quale limite hanno raggiunto. Le quattro situazioni significano cose diverse:225Gli sviluppatori di solito portano domande sui limiti al loro amministratore, quindi è utile sapere quale limite hanno raggiunto. Queste situazioni significano cose diverse:

226 226 

227* **"Hai raggiunto il tuo limite di sessione" o "Hai raggiunto il tuo limite settimanale"**: una finestra di utilizzo basata su posto in un piano di abbonamento, condivisa su tutti i modelli, quindi lo sviluppatore non può ripristinare l'accesso cambiando modelli con `/model`. Il messaggio mostra quando la finestra si ripristina. Dopo il messaggio specifico del modello "Hai raggiunto il tuo limite Opus" o "Hai raggiunto il tuo limite Sonnet", cambiare a un modello al di fuori di quella famiglia con `/model` mantiene lo sviluppatore al lavoro. Vedi [errori di limite di utilizzo](/docs/it/errors#youve-hit-your-session-limit). Quello che lo sviluppatore può fare nel frattempo:227* **"Hai raggiunto il tuo limite di sessione" o "Hai raggiunto il tuo limite settimanale"**: una finestra di utilizzo basata su posto in un piano di abbonamento, condivisa su tutti i modelli, quindi lo sviluppatore non può ripristinare l'accesso cambiando modelli con `/model`. Il messaggio mostra quando la finestra si ripristina. Dopo il messaggio specifico del modello "Hai raggiunto il tuo limite Opus" o "Hai raggiunto il tuo limite Sonnet", cambiare a un modello al di fuori di quella famiglia con `/model` mantiene lo sviluppatore al lavoro. Vedi [errori di limite di utilizzo](/docs/it/errors#youve-hit-your-session-limit). Quello che lo sviluppatore può fare nel frattempo:

228 * Esegui `/usage-credits` per richiedere utilizzo oltre l'indennità, se hai i [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) attivati.228 * Esegui `/usage-credits` per richiedere utilizzo oltre l'indennità, se hai i [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) attivati.

229 * Su Claude Code v2.1.234 o successivo, [attendi e continua il compito interrotto automaticamente dopo il ripristino](/docs/it/interactive-mode#wait-for-a-usage-limit-to-reset); quella sezione elenca quando Claude Code avvia l'attesa da solo e quando lo sviluppatore lo seleziona da `/rate-limit-options`. Per controllare per la tua flotta se Claude Code avvia quell'attesa da solo, imposta [`autoContinueAtUsageLimit`](/docs/it/settings-reference#autocontinueatusagelimit) nelle [impostazioni gestite](/docs/it/settings#settings-precedence).229 * Su Claude Code v2.1.234 o successivo, [attendi e continua il compito interrotto automaticamente dopo il ripristino](/docs/it/interactive-mode#wait-for-a-usage-limit-to-reset); quella sezione elenca quando Claude Code avvia l'attesa da solo e quando lo sviluppatore lo seleziona da `/rate-limit-options`. Per controllare per la tua flotta se Claude Code avvia quell'attesa da solo, imposta [`autoContinueAtUsageLimit`](/docs/it/settings-reference#autocontinueatusagelimit) nelle [impostazioni gestite](/docs/it/settings#settings-precedence).

230* **"Hai raggiunto il tuo limite di spesa individuale", "limite di spesa mensile dell'organizzazione", o "budget condiviso del team"**: la richiesta dello sviluppatore verrebbe fatturata ai crediti di utilizzo, e quei crediti hanno raggiunto un limite di spesa che hai impostato. Per consentire allo sviluppatore di continuare, vai a [**Impostazioni Admin > Utilizzo**](https://claude.ai/admin-settings/usage) e aumenta il limite che il messaggio nomina. Quando il messaggio nomina anche un'ora di ripristino del piano, lo sviluppatore può invece attendere fino ad allora. Vedi il [riferimento degli errori](/docs/it/errors#youve-hit-your-monthly-spend-limit) per ogni variante.

230* **Un messaggio di limite di spesa da un [gateway di app Claude](/docs/it/claude-apps-gateway)**: lo sviluppatore ha superato un limite di spesa che hai impostato sul tuo gateway self-hosted, e il gateway blocca le sue richieste fino al ripristino del periodo o fino a quando non aumenti il limite. Vedi [limiti di spesa del gateway](/docs/it/claude-apps-gateway-spend-limits) per i limiti, i programmi di ripristino e il messaggio che lo sviluppatore vede.231* **Un messaggio di limite di spesa da un [gateway di app Claude](/docs/it/claude-apps-gateway)**: lo sviluppatore ha superato un limite di spesa che hai impostato sul tuo gateway self-hosted, e il gateway blocca le sue richieste fino al ripristino del periodo o fino a quando non aumenti il limite. Vedi [limiti di spesa del gateway](/docs/it/claude-apps-gateway-spend-limits) per i limiti, i programmi di ripristino e il messaggio che lo sviluppatore vede.

231* **Un avviso di contesto o auto-compact**: non è un limite di utilizzo. La conversazione è cresciuta vicino alla [finestra auto-compact](/docs/it/model-config#set-the-auto-compact-window) della sessione, la soglia in cui Claude Code riassume la cronologia più vecchia per liberare spazio. Indirizza lo sviluppatore a [riduci l'utilizzo dei token](#reduce-token-usage).232* **Un avviso di contesto o auto-compact**: non è un limite di utilizzo. La conversazione è cresciuta vicino alla [finestra auto-compact](/docs/it/model-config#set-the-auto-compact-window) della sessione, la soglia in cui Claude Code riassume la cronologia più vecchia per liberare spazio. Indirizza lo sviluppatore a [riduci l'utilizzo dei token](#reduce-token-usage).

232* **Spesa inaspettatamente alta su un piano API o provider cloud**: di solito risale a sessioni lunghe che non sono mai state cancellate o a Opus lasciato come modello predefinito. Le abitudini con il maggiore impatto da condividere sono cancellare tra compiti non correlati e abbinare il modello al lavoro, entrambi coperti in [riduci l'utilizzo dei token](#reduce-token-usage).233* **Spesa inaspettatamente alta su un piano API o provider cloud**: di solito risale a sessioni lunghe che non sono mai state cancellate o a Opus lasciato come modello predefinito. Le abitudini con il maggiore impatto da condividere sono cancellare tra compiti non correlati e abbinare il modello al lavoro, entrambi coperti in [riduci l'utilizzo dei token](#reduce-token-usage).

desktop.md +7 −7

Details

24 24 

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

26 26 

27Dopo l'installazione, avvia Claude, accedi e fai clic sulla scheda **Code**. La prima volta che lo apri su Windows, hai bisogno di [Git for Windows](https://git-scm.com/downloads/win) installato; riavvia l'app dopo averlo installato. Per una procedura dettagliata della tua prima sessione, consulta la [guida introduttiva](/docs/it/desktop-quickstart).27Dopo l'installazione, avvia Claude, accedi e fai clic sulla scheda **Code**. Per una procedura dettagliata della tua prima sessione, consulta la [guida introduttiva](/docs/it/desktop-quickstart).

28 28 

29Nella scheda Code, ogni conversazione è una **sessione**: ha la sua propria cronologia chat, cartella di progetto e modifiche al codice, indipendente da qualsiasi altra sessione. La barra laterale elenca le tue sessioni e ti consente di eseguirne diverse in parallelo. All'interno di una sessione puoi:29Nella scheda Code, ogni conversazione è una **sessione**: ha la sua propria cronologia chat e cartella di progetto, indipendente da qualsiasi altra sessione. La barra laterale elenca le tue sessioni e ti consente di eseguirne diverse in parallelo. All'interno di una sessione puoi:

30 30 

31* [Rivedere e commentare i diff](#review-changes-with-diff-view), quindi [monitorare il PR risultante attraverso CI](#monitor-pull-request-status)31* [Rivedere e commentare i diff](#review-changes-with-diff-view), quindi [monitorare il PR risultante attraverso CI](#monitor-pull-request-status)

32* [Visualizzare in anteprima la tua app in esecuzione](#preview-your-app) nel riquadro Browser mentre Claude verifica le sue stesse modifiche, e [aprire siti esterni](#browse-external-sites) accanto ad esso32* [Visualizzare in anteprima la tua app in esecuzione](#preview-your-app) nel riquadro Browser mentre Claude verifica le sue stesse modifiche, e [aprire siti esterni](#browse-external-sites) accanto ad esso


372 Lavora in parallelo con le sessioni372 Lavora in parallelo con le sessioni

373</h3>373</h3>

374 374 

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

376 376 

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

378 378 


381Per includere file gitignored come `.env` nei nuovi worktree, crea un [file `.worktreeinclude`](/docs/it/worktrees#copy-gitignored-files-into-worktrees) nella radice del tuo progetto.381Per includere file gitignored come `.env` nei nuovi worktree, crea un [file `.worktreeinclude`](/docs/it/worktrees#copy-gitignored-files-into-worktrees) nella radice del tuo progetto.

382 382 

383<Note>383<Note>

384 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. Su Windows, Git è richiesto affinché la scheda Code funzioni: [scarica Git per Windows](https://git-scm.com/downloads/win), installalo e riavvia l'app. Se riscontri errori Git, chiedi a Claude nella scheda [Cowork](https://claude.com/product/cowork) di aiutarti a risolvere i problemi della tua configurazione.384 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.

385</Note>385</Note>

386 386 

387Usa i controlli in cima alla barra laterale per filtrare le sessioni per stato, progetto o ambiente, e per raggruppare le sessioni per progetto. Per rinominare una sessione, fai clic sul titolo della sessione nella barra degli strumenti in cima alla sessione attiva.387Usa i controlli in cima alla barra laterale per filtrare le sessioni per stato, progetto o ambiente, e per raggruppare le sessioni per progetto. Per rinominare una sessione, fai clic sul titolo della sessione nella barra degli strumenti in cima alla sessione attiva.


838| `disableAutoMode` | imposta su `"disable"` per rimuovere la modalità [Auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) dal selettore di modalità. Accettato anche sotto `permissions`. |838| `disableAutoMode` | imposta su `"disable"` per rimuovere la modalità [Auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) dal selettore di modalità. Accettato anche sotto `permissions`. |

839| `autoMode` | personalizza cosa il classificatore della modalità auto si fida e blocca in tutta la tua organizzazione. Vedi [Configura la modalità auto](/docs/it/auto-mode-config). |839| `autoMode` | personalizza cosa il classificatore della modalità auto si fida e blocca in tutta la tua organizzazione. Vedi [Configura la modalità auto](/docs/it/auto-mode-config). |

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

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

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

843| `sshConfigs` | pre-configura le [connessioni SSH](#pre-configure-ssh-connections-for-your-team) che appaiono nel menu a discesa dell'ambiente. Gli utenti non possono modificare o eliminare le connessioni gestite. |843| `sshConfigs` | pre-configura le [connessioni SSH](#pre-configure-ssh-connections-for-your-team) che appaiono nel menu a discesa dell'ambiente. Gli utenti non possono modificare o eliminare le connessioni gestite. |

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


1016| [Plugins](/docs/it/plugins) | Comando `/plugin` | UI gestore plugin |1016| [Plugins](/docs/it/plugins) | Comando `/plugin` | UI gestore plugin |

1017| @mention file | Basato su testo | Con autocomplete; sessioni locali e SSH solo |1017| @mention file | Basato su testo | Con autocomplete; sessioni locali e SSH solo |

1018| Allegati di file | Non disponibile | Immagini, PDF |1018| Allegati di file | Non disponibile | Immagini, PDF |

1019| Isolamento della sessione | Flag [`--worktree`](/docs/it/cli-reference) | Worktree automatici |1019| Isolamento della sessione | Flag [`--worktree`](/docs/it/cli-reference) | Opzione **worktree** quando si avvia una sessione |

1020| Sessioni multiple | Terminali separati | Schede della barra laterale |1020| Sessioni multiple | Terminali separati | Schede della barra laterale |

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

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


1093 Git and Git LFS errors1093 Git and Git LFS errors

1094</h3>1094</h3>

1095 1095 

1096Su Windows, Git è richiesto affinché la scheda Code avvii sessioni locali. Se vedi "Git is required," installa [Git per Windows](https://git-scm.com/downloads/win) e riavvia l'app.1096Le sessioni che vengono eseguite nel loro proprio worktree hanno bisogno di Git. Se vedi "Git is required," installa [Git](https://git-scm.com/downloads), o [Git for Windows](https://git-scm.com/downloads/win) su Windows, e riprova. Su Windows, le versioni di Claude Desktop precedenti a 1.49585.0 chiedevano Git prima di avviare qualsiasi sessione locale; se vedi quel prompt e non stai usando worktrees, aggiorna l'app.

1097 1097 

1098Se vedi "Git LFS is required by this repository but is not installed," installa Git LFS da [git-lfs.com](https://git-lfs.com/), esegui `git lfs install` e riavvia l'app.1098Se vedi "Git LFS is required by this repository but is not installed," installa Git LFS da [git-lfs.com](https://git-lfs.com/), esegui `git lfs install` e riavvia l'app.

1099 1099 

env-vars.md +450 −314

Details

6 6 

7> Riferimento per le variabili d'ambiente che controllano il comportamento di Claude Code.7> Riferimento per le variabili d'ambiente che controllano il comportamento di Claude Code.

8 8 

9Le variabili d'ambiente possono controllare il comportamento di Claude Code come la selezione del modello, l'autenticazione, l'instradamento delle richieste e gli interruttori di funzionalità. Molti degli stessi comportamenti possono anche essere configurati tramite un [file di impostazioni](/docs/it/settings), un [flag CLI](/docs/it/cli-reference) o un comando in-sessione come `/model`.9Le variabili d'ambiente possono controllare il comportamento di Claude Code come la selezione del modello, l'autenticazione, l'instradamento delle richieste e gli interruttori di funzionalità. Molti degli stessi comportamenti possono essere configurati anche tramite un [file di impostazioni](/docs/it/settings), un [flag CLI](/docs/it/cli-reference) o un comando in-sessione come `/model`.

10 10 

11Questa pagina spiega come:11Questa pagina illustra come:

12 12 

13* [Impostare le variabili d'ambiente](#set-environment-variables) nella vostra shell o in un file di impostazioni13* [Impostare le variabili d'ambiente](#set-environment-variables) nella shell o in un file di impostazioni

14* [Verificare quale valore si applica](#precedence) quando un comportamento può essere impostato in più di un modo14* [Verificare quale valore si applica](#precedence) quando un comportamento può essere impostato in più di un modo

15* [Cercare le variabili che Claude Code legge](#variables)15* [Cercare le variabili che Claude Code legge](#variables)

16* [Vedere quali funzionalità smettono di funzionare](#features-that-need-feature-flag-fetching) quando una variabile disattiva il recupero dei flag di funzionalità

16 17 

17<h2 id="set-environment-variables">18<h2 id="set-environment-variables">

18 Impostare le variabili d'ambiente19 Impostare variabili di ambiente

19</h2>20</h2>

20 21 

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

22 23 

23<h3 id="in-your-shell">24<h3 id="in-your-shell">

24 Nella vostra shell25 Nella tua shell

25</h3>26</h3>

26 27 

27Impostate la variabile prima di avviare `claude`:28Imposta la variabile prima di avviare `claude`:

28 29 

29<Tabs>30<Tabs>

30 <Tab title="macOS, Linux, WSL">31 <Tab title="macOS, Linux, WSL">


33 claude34 claude

34 ```35 ```

35 36 

36 Per impostarla per ogni sessione, aggiungete la riga `export` a `~/.bashrc`, `~/.zshrc` o al file di profilo della vostra shell.37 Per impostarla per ogni sessione, aggiungi la riga `export` a `~/.bashrc`, `~/.zshrc`, o al file di profilo della tua shell.

37 </Tab>38 </Tab>

38 39 

39 <Tab title="Windows PowerShell">40 <Tab title="Windows PowerShell">


42 claude43 claude

43 ```44 ```

44 45 

45 Per impostarla per ogni sessione, eseguite `[Environment]::SetEnvironmentVariable("API_TIMEOUT_MS", "1200000", "User")` e aprite un nuovo terminale.46 Per impostarla per ogni sessione, esegui `[Environment]::SetEnvironmentVariable("API_TIMEOUT_MS", "1200000", "User")` e apri un nuovo terminale.

46 </Tab>47 </Tab>

47 48 

48 <Tab title="Windows CMD">49 <Tab title="Windows CMD">


51 claude52 claude

52 ```53 ```

53 54 

54 Per impostarla per ogni sessione, eseguite `setx API_TIMEOUT_MS "1200000"` e aprite un nuovo terminale.55 Per impostarla per ogni sessione, esegui `setx API_TIMEOUT_MS "1200000"` e apri un nuovo terminale.

56 </Tab>

57</Tabs>

58 

59La riga di assegnazione non stampa nulla in caso di successo, quindi conferma che la variabile è impostata stampandola nella stessa shell prima di eseguire `claude`:

60 

61<Tabs>

62 <Tab title="macOS, Linux, WSL">

63 ```bash theme={null}

64 echo $API_TIMEOUT_MS

65 ```

66 </Tab>

67 

68 <Tab title="Windows PowerShell">

69 ```powershell theme={null}

70 echo $env:API_TIMEOUT_MS

71 ```

72 </Tab>

73 

74 <Tab title="Windows CMD">

75 ```batch theme={null}

76 echo %API_TIMEOUT_MS%

77 ```

55 </Tab>78 </Tab>

56</Tabs>79</Tabs>

57 80 


59 Nei file di impostazioni82 Nei file di impostazioni

60</h3>83</h3>

61 84 

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

63 86 

64```json ~/.claude/settings.json theme={null}87```json ~/.claude/settings.json theme={null}

65{88{


70}93}

71```94```

72 95 

73Il file che scegliete controlla a chi si applicano le variabili:96Il file che scegli controlla a chi si applicano le variabili:

74 97 

75| File | Si applica a |98| File | Si applica a |

76| :---------------------------- | :------------------------------------------------------------------------------------- |99| :---------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |

77| `~/.claude/settings.json` | Voi, in ogni progetto |100| `~/.claude/settings.json` | Te, in ogni progetto |

78| `.claude/settings.json` | Tutti coloro che lavorano nel progetto, archiviato nel controllo del codice sorgente |101| `.claude/settings.json` | Tutti coloro che lavorano nel progetto, archiviati nel controllo del codice sorgente |

79| `.claude/settings.local.json` | Voi, solo in questo progetto (aggiungete al vostro gitignore se lo create manualmente) |102| `.claude/settings.local.json` | Te, solo in questo progetto, ignorato da git quando Claude Code salva un'impostazione; aggiungilo al tuo gitignore se lo crei manualmente |

80| Impostazioni gestite | Tutti nella vostra organizzazione, distribuiti da un amministratore |103| Impostazioni gestite | Tutti nella tua organizzazione, distribuiti da un amministratore |

81 104 

82Vedi [File di impostazioni](/docs/it/settings#settings-files) per dove si trova ogni file e [Precedenza delle impostazioni](/docs/it/settings#settings-precedence) per come si combinano quando più di uno imposta la stessa variabile.105Vedi [File di impostazioni](/docs/it/settings#where-settings-live) per sapere dove si trova ogni file e [Precedenza delle impostazioni](/docs/it/settings#settings-precedence) per come si combinano quando più di uno imposta la stessa variabile.

83 106 

84<h2 id="precedence">107<h2 id="precedence">

85 Precedenza108 Precedenza

86</h2>109</h2>

87 110 

88Quando lo stesso comportamento ha sia una variabile d'ambiente che un campo di impostazioni, la variabile d'ambiente ha la precedenza. Ad esempio, `ANTHROPIC_MODEL` sostituisce l'impostazione `model` e `CLAUDE_CODE_AUTO_CONNECT_IDE` sostituisce `autoConnectIde`. Il campo di impostazioni si applica quando la variabile d'ambiente non è impostata.111Alcuni comportamenti hanno sia una variabile di ambiente che una chiave di impostazioni dedicata, e quale Claude Code legge per primo differisce per chiave. Per `ANTHROPIC_MODEL` e `CLAUDE_CODE_AUTO_CONNECT_IDE`, Claude Code legge prima la variabile e utilizza l'impostazione `model` o `autoConnectIde` solo quando la variabile non è impostata. Per la coppia che state impostando, controllate la riga della variabile di seguito e la voce della chiave nel [riferimento delle impostazioni](/docs/it/settings-reference).

112 

113Quando la stessa variabile è impostata sia nella vostra shell che in un blocco `env` del file di impostazioni, il valore del file di impostazioni si applica. Claude Code scrive ogni voce `env` nell'ambiente del processo, sostituendo il valore ereditato dalla shell. L'[impostazione `env`](/docs/it/settings-reference#when-claude-code-applies-env-values) indica quando la applica. Alcune variabili sono trattate come casi speciali; l'[impostazione `env`](/docs/it/settings-reference#env) elenca le eccezioni.

89 114 

90Quando la stessa variabile è impostata sia nella shell che in un file di impostazioni nel blocco `env`, il valore del file di impostazioni si applica. Claude Code scrive ogni voce `env` nell'ambiente del processo all'avvio, sostituendo il valore ereditato dalla shell. Alcune variabili sono trattate come casi speciali; l'[impostazione `env`](/docs/it/settings#available-settings) elenca le eccezioni.115In un file di impostazioni potete impostare una variabile ma non potete rimuoverne una. Per sovrascrivere una variabile che non potete annullare, come una `CLAUDE_CODE_USE_VERTEX` obsoleta esportata da un profilo di shell che non controllate, impostatela su una stringa vuota nel blocco `env`: `"CLAUDE_CODE_USE_VERTEX": ""`. Claude Code tratta il valore vuoto come non impostato per la selezione del provider. I sottoprocessi ereditano comunque il valore vuoto.

91 116 

92Tra i file di impostazioni, i valori `env` seguono la [precedenza delle impostazioni](/docs/it/settings#settings-precedence), quindi una voce di impostazioni gestita sostituisce la stessa variabile nelle impostazioni utente o progetto.117Tra i file di impostazioni, i valori `env` seguono la [precedenza delle impostazioni](/docs/it/settings#settings-precedence), quindi una voce di impostazioni gestite sovrascrive la stessa variabile nelle impostazioni utente o progetto.

93 118 

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

95 120 

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

97 122 

98<h2 id="variables">123<h2 id="variables">

99 Variabili124 Variabili

100</h2>125</h2>

101 126 

127Le variabili numeriche come timeout, budget di token e conteggi di tentativi accettano notazione scientifica e ortografie con separatori di cifre oltre alle cifre semplici, tranne dove la riga di una variabile nota che accetta solo cifre semplici. Ad esempio, Claude Code legge `2e3` come 2000 e `64_000` come 64000. Prima della v2.1.211, queste ortografie potevano impostare silenziosamente un valore molto più piccolo, come `1e6` che imposta un timeout a 1.

128 

129<Note>

130 Per le variabili che attivano o disattivano un comportamento, impostare `1` o `true` per attivarlo e `0` o `false` per disattivarlo, in qualsiasi maiuscola.

131 

132 Alcune variabili leggono solo se le avete impostate, quindi qualsiasi valore non vuoto incluso `0` attiva il comportamento, e disattivate il comportamento annullando l'impostazione della variabile o impostandola su un valore vuoto. Queste variabili funzionano in questo modo:

133 

134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

135 * `DISABLE_TELEMETRY`

136 * `DISABLE_ERROR_REPORTING`

137 * `CLAUDE_CODE_TMUX_TRUECOLOR`

138 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

139 * `IS_DEMO`

140 

141 Un'altra variabile ha la sua regola: `FORCE_HYPERLINK` legge un numero, quindi solo `0` la disattiva. La riga di ogni variabile dichiara anche la sua regola.

142</Note>

143 

102| Variabile | Scopo |144| Variabile | Scopo |

103| :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |145| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

104| `ANTHROPIC_API_KEY` | Chiave API inviata come intestazione `X-Api-Key`. Quando impostata, questa chiave viene utilizzata al posto del vostro abbonamento Claude Pro, Max, Team o Enterprise anche se siete connessi. In modalità non interattiva (`-p`), la chiave viene sempre utilizzata quando presente. In modalità interattiva, vi viene chiesto di approvare la chiave una volta prima che sostituisca il vostro abbonamento. Per utilizzare il vostro abbonamento, eseguite `unset ANTHROPIC_API_KEY` |146| `ANTHROPIC_API_KEY` | Chiave API inviata come intestazione `X-Api-Key`. Quando impostata, questa chiave viene utilizzata al posto dell'abbonamento Claude Pro, Max, Team o Enterprise anche se siete connessi. In modalità non interattiva (`-p`), la chiave viene sempre utilizzata quando presente. In modalità interattiva, vi viene chiesto di approvare la chiave una volta prima che sostituisca l'abbonamento. Per utilizzare l'abbonamento, eseguite `unset ANTHROPIC_API_KEY` |

105| `ANTHROPIC_AUTH_TOKEN` | Valore personalizzato per l'intestazione `Authorization` (il valore che impostate qui sarà preceduto da `Bearer `) |147| `ANTHROPIC_AUTH_TOKEN` | Valore personalizzato per l'intestazione `Authorization` (il valore che impostate qui sarà preceduto da `Bearer `) |

106| `ANTHROPIC_AWS_API_KEY` | Chiave API dell'area di lavoro per [Claude Platform on AWS](/docs/it/claude-platform-on-aws), generata nella Console AWS. Inviata come `x-api-key` e ha la precedenza su AWS SigV4 |148| `ANTHROPIC_AWS_API_KEY` | Chiave API dell'area di lavoro per [Claude Platform on AWS](/docs/it/claude-platform-on-aws), generata nella Console AWS. Inviata come `x-api-key` e ha la precedenza su AWS SigV4 |

107| `ANTHROPIC_AWS_BASE_URL` | Sovrascrivi l'URL dell'endpoint [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Utilizza per regioni personalizzate o quando instrada attraverso un [gateway LLM](/docs/it/llm-gateway). Per impostazione predefinita `https://aws-external-anthropic.{AWS_REGION}.api.aws` |149| `ANTHROPIC_AWS_BASE_URL` | Sostituire l'URL dell'endpoint [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Utilizzare per regioni personalizzate o quando si instrada attraverso un [gateway LLM](/docs/it/llm-gateway). Predefinito a `https://aws-external-anthropic.{region}.api.aws`. Claude Code risolve la regione con la [stessa precedenza di Amazon Bedrock](/docs/it/amazon-bedrock#3-configure-claude-code) |

108| `ANTHROPIC_AWS_WORKSPACE_ID` | Obbligatorio per [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Inviato su ogni richiesta come intestazione `anthropic-workspace-id` |150| `ANTHROPIC_AWS_WORKSPACE_ID` | Obbligatorio per [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Inviato su ogni richiesta come intestazione `anthropic-workspace-id` |

109| `ANTHROPIC_BASE_URL` | Sovrascrivi l'endpoint API per instradare le richieste attraverso un proxy o gateway. Quando impostato su un host non di prima parte, la [ricerca degli strumenti MCP](/docs/it/mcp#scale-with-mcp-tool-search) è disabilitata per impostazione predefinita. Imposta `ENABLE_TOOL_SEARCH=true` se il vostro proxy inoltra i blocchi `tool_reference`. A partire da v2.1.196, il [Remote Control](/docs/it/remote-control#requirements) è disabilitato quando questo punta a un host diverso da `api.anthropic.com`, corrispondendo al suo comportamento su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry |151| `ANTHROPIC_BASE_URL` | Sostituire l'endpoint API per instradare le richieste attraverso un proxy o gateway. Quando impostato su un host non di prima parte, [la ricerca degli strumenti MCP](/docs/it/mcp#scale-with-mcp-tool-search) è disabilitata per impostazione predefinita. Impostare `ENABLE_TOOL_SEARCH=true` se il proxy inoltro i blocchi `tool_reference`. A partire dalla v2.1.196, [Remote Control](/docs/it/remote-control#requirements) è disabilitato quando questo punta a un host diverso da `api.anthropic.com`, corrispondendo al suo comportamento su Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry |

110| `ANTHROPIC_BEDROCK_BASE_URL` | Sovrascrivi l'URL dell'endpoint Amazon Bedrock. Utilizza per endpoint Amazon Bedrock personalizzati o quando instrada attraverso un [gateway LLM](/docs/it/llm-gateway). Vedi [Amazon Bedrock](/docs/it/amazon-bedrock) |152| `ANTHROPIC_BEDROCK_BASE_URL` | Sostituire l'URL dell'endpoint Amazon Bedrock. Utilizzare per endpoint Amazon Bedrock personalizzati o quando si instrada attraverso un [gateway LLM](/docs/it/llm-gateway). Vedere [Amazon Bedrock](/docs/it/amazon-bedrock) |

111| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sovrascrivi l'URL dell'endpoint Amazon Bedrock Mantle. Vedi [Endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) |153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sostituire l'URL dell'endpoint Amazon Bedrock Mantle. Vedere [endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) |

112| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [service tier](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex` o `priority`). Inviato come intestazione `X-Amzn-Bedrock-Service-Tier`. Vedi [Amazon Bedrock](/docs/it/amazon-bedrock#service-tiers) |154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Prefisso del profilo di inferenza tra regioni (`us`, `eu`, `apac`, `jp`, `au`, o `global`) che Claude Code prova per primo al posto di quello derivato dalla regione AWS. Ignorato nelle regioni AWS GovCloud. Richiede Claude Code v2.1.224 o successivo. Vedere [Amazon Bedrock](/docs/it/amazon-bedrock#cross-region-inference-profile-prefixes) |

113| `ANTHROPIC_BETAS` | Elenco separato da virgole di valori aggiuntivi dell'intestazione `anthropic-beta` da includere nelle richieste API. Claude Code invia già le intestazioni beta di cui ha bisogno; utilizza questo per aderire a un [beta API Anthropic](https://platform.claude.com/docs/en/api/beta-headers) prima che Claude Code aggiunga il supporto nativo. A differenza del [flag `--betas`](/docs/it/cli-reference#cli-flags), che richiede l'autenticazione con chiave API, questa variabile funziona con tutti i metodi di autenticazione incluso l'abbonamento Claude.ai |155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Livello di servizio](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) Amazon Bedrock (`default`, `flex`, o `priority`). Inviato come intestazione `X-Amzn-Bedrock-Service-Tier`. Vedere [Amazon Bedrock](/docs/it/amazon-bedrock#service-tiers) |

114| `ANTHROPIC_CUSTOM_HEADERS` | Intestazioni personalizzate da aggiungere alle richieste (formato `Name: Value`, separate da newline per più intestazioni) |156| `ANTHROPIC_BETAS` | Elenco separato da virgole di valori di intestazione `anthropic-beta` aggiuntivi da includere nelle richieste API. Claude Code invia già gli header beta di cui ha bisogno; utilizzare questo per aderire a un [beta API Anthropic](https://platform.claude.com/docs/en/api/beta-headers) prima che Claude Code aggiunga il supporto nativo. A differenza del flag [`--betas`](/docs/it/cli-reference#cli-flags), che richiede l'autenticazione con chiave API, questa variabile funziona con tutti i metodi di autenticazione incluso l'abbonamento Claude.ai |

115| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID del modello da aggiungere come voce personalizzata nel selettore `/model`. Utilizza questo per rendere selezionabile un modello non standard o specifico del gateway senza sostituire gli alias integrati. Vedi [Configurazione del modello](/docs/it/model-config#add-a-custom-model-option) |157| `ANTHROPIC_CUSTOM_HEADERS` | Intestazioni personalizzate da aggiungere alle richieste (formato `Name: Value`, separato da newline per più intestazioni). Se un nome o un valore contiene un carattere che un'intestazione HTTP non può trasportare, come una virgoletta riccia o uno spazio di larghezza zero, la richiesta fallisce con un errore che identifica la coppia per posizione. Richiede Claude Code v2.1.227 o successivo. [Invalid request header value](/docs/it/errors#invalid-request-header-value) elenca il set di caratteri esatto e dove viene eseguito il controllo. Un valore che imposta un'intestazione di credenziale, org o tenant, routing o comportamento API, come `Authorization` o `Host`, conta come un [setting che necessita approvazione](/docs/it/server-managed-settings#environment-variables-and-the-approval-dialog) quando le impostazioni gestite dal server lo forniscono. Dalle impostazioni di progetto o locali, tale valore segue le [regole per quando i valori `env` si applicano](/docs/it/settings-reference#when-claude-code-applies-env-values) |

116| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Descrizione di visualizzazione per la voce del modello personalizzato nel selettore `/model`. Per impostazione predefinita, `Custom model (<model-id>)` quando non impostato |158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID modello da aggiungere come voce personalizzata nel selettore `/model`. Utilizzare per rendere selezionabile un modello non standard o specifico del gateway senza sostituire gli alias incorporati. Vedere [Model configuration](/docs/it/model-config#add-a-custom-model-option) |

117| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nome di visualizzazione per la voce del modello personalizzato nel selettore `/model`. Per impostazione predefinita, l'ID del modello quando non impostato |159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Descrizione di visualizzazione per la voce del modello personalizzato nel selettore `/model`. Predefinito a `Custom model (<model-id>)` quando non impostato |

118| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nome di visualizzazione per la voce del modello personalizzato nel selettore `/model`. Quando non impostato, la voce mostra il nome del modello se Claude Code [riconosce l'ID](/docs/it/model-config#customize-pinned-model-display-and-capabilities), e l'ID del modello altrimenti |

119| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Vedi [Configurazione del modello](/docs/it/model-config#environment-variables) |161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Elenco separato da virgole di [capacità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello personalizzato, ad esempio `effort,thinking`. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

120| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID modello a cui l'alias `fable` si risolve, e l'ID che Claude Code riconosce come modello Fable per il [fallback automatico del modello](/docs/it/model-config#automatic-model-fallback) su provider di terze parti. Vedere [Model configuration](/docs/it/model-config#environment-variables) |

121| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Descrizione di visualizzazione per il modello Fable bloccato nel selettore `/model`. Quando non impostato, la riga mostra una descrizione predefinita che inizia con `Custom Fable model`. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

122| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Nome di visualizzazione per il modello Fable bloccato nel selettore `/model`. Quando non impostato, la riga mostra il nome del modello se Claude Code riconosce l'ID bloccato, e l'ID bloccato altrimenti. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

123| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Vedi [Configurazione del modello](/docs/it/model-config#environment-variables) |165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Elenco separato da virgole di [capacità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello Fable bloccato, ad esempio `effort,thinking`. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

124| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID modello a cui l'alias `haiku` si risolve, utilizzato anche per la [funzionalità di background](/docs/it/costs#background-token-usage). Vedere [Model configuration](/docs/it/model-config#environment-variables) |

125| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Descrizione di visualizzazione per il modello Haiku bloccato nel selettore `/model`. Quando non impostato, la riga mostra una descrizione predefinita che inizia con `Custom Haiku model`. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

126| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Nome di visualizzazione per il modello Haiku bloccato nel selettore `/model`. Quando non impostato, la riga mostra il nome del modello se Claude Code riconosce l'ID bloccato, e l'ID bloccato altrimenti. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

127| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Vedi [Configurazione del modello](/docs/it/model-config#environment-variables) |169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Elenco separato da virgole di [capacità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello Haiku bloccato, ad esempio `effort,thinking`. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

128| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |170| `ANTHROPIC_DEFAULT_MODEL` | Modello su cui le nuove sessioni iniziano per impostazione predefinita. Richiede Claude Code v2.1.236 o successivo. Vedere [Set a default model for new sessions](/docs/it/model-config#set-a-default-model-for-new-sessions) |

129| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID modello a cui l'alias `opus` si risolve, e che `opusplan` utilizza mentre Plan Mode è attivo. Vedere [Model configuration](/docs/it/model-config#environment-variables) |

130| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Descrizione di visualizzazione per il modello Opus bloccato nel selettore `/model`. Quando non impostato, la riga mostra una descrizione predefinita che inizia con `Custom Opus model`. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

131| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Vedi [Configurazione del modello](/docs/it/model-config#environment-variables) |173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nome di visualizzazione per il modello Opus bloccato nel selettore `/model`. Quando non impostato, la riga mostra il nome del modello se Claude Code riconosce l'ID bloccato, e l'ID bloccato altrimenti. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

132| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Elenco separato da virgole di [capacità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello Opus bloccato, ad esempio `effort,thinking`. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

133| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID modello a cui l'alias `sonnet` si risolve, e che `opusplan` utilizza quando Plan Mode non è attivo. Vedere [Model configuration](/docs/it/model-config#environment-variables) |

134| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Vedi [Configurazione del modello](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Descrizione di visualizzazione per il modello Sonnet bloccato nel selettore `/model`. Quando non impostato, la riga mostra una descrizione predefinita che inizia con `Custom Sonnet model`. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

135| `ANTHROPIC_FOUNDRY_API_KEY` | Chiave API per l'autenticazione Microsoft Foundry (vedi [Microsoft Foundry](/docs/it/microsoft-foundry)) |177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Nome di visualizzazione per il modello Sonnet bloccato nel selettore `/model`. Quando non impostato, la riga mostra il nome del modello se Claude Code riconosce l'ID bloccato, e l'ID bloccato altrimenti. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

136| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Token Bearer per l'autenticazione Microsoft Foundry, come un token di accesso Microsoft Entra. Claude Code lo invia come intestazione `Authorization: Bearer`. Ha la precedenza su `ANTHROPIC_FOUNDRY_API_KEY` e sulla catena di credenziali predefinita di Azure. Vedi [Microsoft Foundry](/docs/it/microsoft-foundry). Richiede Claude Code v2.1.203 o successivo |178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Elenco separato da virgole di [capacità](/docs/it/model-config#customize-pinned-model-display-and-capabilities) supportate dal modello Sonnet bloccato, ad esempio `effort,thinking`. Vedere [Model configuration](/docs/it/model-config#customize-pinned-model-display-and-capabilities) |

137| `ANTHROPIC_FOUNDRY_BASE_URL` | URL base completo per la risorsa Microsoft Foundry (ad esempio, `https://my-resource.services.ai.azure.com/anthropic`). Alternativa a `ANTHROPIC_FOUNDRY_RESOURCE` (vedi [Microsoft Foundry](/docs/it/microsoft-foundry)) |179| `ANTHROPIC_FEDERATION_RULE_ID` | ID regola di federazione per [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Quando lo impostate insieme a `ANTHROPIC_ORGANIZATION_ID`, Claude Code seleziona le credenziali di federazione, che hanno la precedenza sulla credenziale `/login`. Vedere [authentication precedence](/docs/it/authentication#authentication-precedence) |

138| `ANTHROPIC_FOUNDRY_RESOURCE` | Nome della risorsa Microsoft Foundry (ad esempio, `my-resource`). Obbligatorio se `ANTHROPIC_FOUNDRY_BASE_URL` non è impostato (vedi [Microsoft Foundry](/docs/it/microsoft-foundry)) |180| `ANTHROPIC_FOUNDRY_API_KEY` | Chiave API per l'autenticazione Microsoft Foundry (vedere [Microsoft Foundry](/docs/it/microsoft-foundry)) |

139| `ANTHROPIC_MODEL` | Nome dell'impostazione del modello da utilizzare (vedi [Configurazione del modello](/docs/it/model-config#environment-variables)) |181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Token bearer per l'autenticazione Microsoft Foundry, come un token di accesso Microsoft Entra. Claude Code lo invia come intestazione `Authorization: Bearer`. Ha la precedenza su `ANTHROPIC_FOUNDRY_API_KEY` e sulla catena di credenziali predefinita di Azure. Vedere [Microsoft Foundry](/docs/it/microsoft-foundry). Richiede Claude Code v2.1.203 o successivo |

140| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATO] Nome del [modello di classe Haiku per attività in background](/docs/it/costs) |182| `ANTHROPIC_FOUNDRY_BASE_URL` | URL di base completo per la risorsa Microsoft Foundry (ad esempio, `https://my-resource.services.ai.azure.com/anthropic`). Alternativa a `ANTHROPIC_FOUNDRY_RESOURCE` (vedere [Microsoft Foundry](/docs/it/microsoft-foundry)) |

141| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Sovrascrivi la regione AWS per il modello di classe Haiku quando utilizzate Amazon Bedrock o Amazon Bedrock Mantle. Su Amazon Bedrock, questo ha effetto solo quando `ANTHROPIC_DEFAULT_HAIKU_MODEL` o il deprecato `ANTHROPIC_SMALL_FAST_MODEL` è anche impostato, poiché Amazon Bedrock altrimenti esegue attività in background sul [modello Sonnet predefinito o sul modello primario](/docs/it/amazon-bedrock#4-pin-model-versions) nella regione della sessione |183| `ANTHROPIC_FOUNDRY_RESOURCE` | Nome della risorsa Microsoft Foundry (ad esempio, `my-resource`). Obbligatorio se `ANTHROPIC_FOUNDRY_BASE_URL` non è impostato (vedere [Microsoft Foundry](/docs/it/microsoft-foundry)) |

142| `ANTHROPIC_VERTEX_BASE_URL` | Sovrascrivi l'URL dell'endpoint Google Cloud's Agent Platform. Utilizza per endpoint Google Cloud's Agent Platform personalizzati o quando instrada attraverso un [gateway LLM](/docs/it/llm-gateway). Vedi [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |184| `ANTHROPIC_MODEL` | Nome dell'impostazione del modello da utilizzare (vedere [Model Configuration](/docs/it/model-config#environment-variables)) |

143| `ANTHROPIC_VERTEX_PROJECT_ID` | ID progetto GCP per le richieste Google Cloud's Agent Platform. Sovrascritto da `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` o dal progetto nel vostro file di credenziali `GOOGLE_APPLICATION_CREDENTIALS`. Vedi [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |185| `ANTHROPIC_ORGANIZATION_ID` | ID organizzazione per [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Impostatelo insieme a `ANTHROPIC_FEDERATION_RULE_ID`. Vedere [authentication precedence](/docs/it/authentication#authentication-precedence) |

144| `ANTHROPIC_WORKSPACE_ID` | ID area di lavoro per la [federazione dell'identità del carico di lavoro](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Impostate questo quando la vostra regola di federazione è limitata a più di un'area di lavoro in modo che lo scambio di token sappia quale area di lavoro indirizzare |186| `ANTHROPIC_PROFILE` | Nome del profilo Anthropic con cui autenticarsi, come uno creato da [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) o da [signing in to a Console account without an API key](/docs/it/authentication#sign-in-without-an-api-key). Vedere [authentication precedence](/docs/it/authentication#authentication-precedence) |

145| `API_FORCE_IDLE_TIMEOUT` | Sovrascrivi il timeout di inattività di 5 minuti che interrompe una risposta del modello di streaming quando nessun byte arriva. Imposta su `0` per disabilitare il timeout, ad esempio quando un [gateway](/docs/it/llm-gateway) lento o un modello locale pausa più di 5 minuti tra i chunk. Imposta su `1` per mantenere il timeout su ogni provider. Se non impostato, il timeout è inattivo su connessioni API Anthropic dirette e [Claude Platform on AWS](/docs/it/claude-platform-on-aws), dove il watchdog di stream a livello di byte di Claude Code viene eseguito, ed è attivo su ogni altro provider, inclusi [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry), [Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint), [Amazon Bedrock](/docs/it/amazon-bedrock) e connessioni gateway, quindi uno stream bloccato si interrompe invece di bloccarsi. A partire da v2.1.169 |187| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Nome di [modello di classe Haiku per attività di background](/docs/it/costs) |

146| `API_TIMEOUT_MS` | Timeout per le richieste API in millisecondi (predefinito: 600000, o 10 minuti; massimo: 2147483647). Aumentate questo valore quando le richieste scadono su reti lente o quando instradate attraverso un proxy. I valori superiori al massimo causano un overflow del timer sottostante e causano il fallimento immediato delle richieste |188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Sostituire la regione AWS per il modello di classe Haiku quando si utilizza Amazon Bedrock o Amazon Bedrock Mantle. Su Amazon Bedrock, questo ha effetto solo quando `ANTHROPIC_DEFAULT_HAIKU_MODEL` o il deprecato `ANTHROPIC_SMALL_FAST_MODEL` è anche impostato, poiché Amazon Bedrock altrimenti esegue attività di background sul [modello Sonnet predefinito o sul modello primario](/docs/it/amazon-bedrock#4-pin-model-versions) nella regione della sessione |

147| `AWS_BEARER_TOKEN_BEDROCK` | Chiave API Amazon Bedrock per l'autenticazione (vedi [Chiavi API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |189| `ANTHROPIC_VERTEX_BASE_URL` | Sostituire l'URL dell'endpoint Google Cloud's Agent Platform. Utilizzare per endpoint Google Cloud's Agent Platform personalizzati o quando si instrada attraverso un [gateway LLM](/docs/it/llm-gateway). Vedere [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |

190| `ANTHROPIC_VERTEX_PROJECT_ID` | ID progetto GCP a cui sono indirizzate le richieste di Google Cloud's Agent Platform. Vedere [Configure GCP credentials](/docs/it/google-vertex-ai#3-configure-gcp-credentials) |

191| `ANTHROPIC_WORKSPACE_ID` | ID area di lavoro per [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Impostatelo quando la regola di federazione è limitata a più di un'area di lavoro in modo che lo scambio di token sappia quale area di lavoro targetizzare |

192| `API_FORCE_IDLE_TIMEOUT` | Sostituire il timeout di inattività del corpo di 5 minuti che interrompe una risposta del modello in streaming quando non arrivano byte. Impostare a `0` per disattivare il timeout, ad esempio quando un [gateway](/docs/it/llm-gateway) lento o un modello locale fa una pausa più lunga di 5 minuti tra i chunk, o `1` per mantenerlo attivo per ogni provider. Quando non impostato, il timeout è attivo su provider diversi dall'API Anthropic diretto e [Claude Platform on AWS](/docs/it/claude-platform-on-aws). I [stream watchdogs](/docs/it/network-config#streaming-idle-watchdogs) funzionano indipendentemente da esso e interrompono una lunga pausa silenziosa anche quando impostate `0` qui |

193| `API_TIMEOUT_MS` | Timeout per le richieste API in millisecondi (predefinito: 600000, o 10 minuti; massimo: 2147483647). Aumentare quando le richieste scadono su reti lente o quando si instrada attraverso un proxy. I valori superiori al massimo causano un overflow del timer sottostante e causano il fallimento immediato delle richieste |

194| `AWS_BEARER_TOKEN_BEDROCK` | Chiave API Amazon Bedrock per l'autenticazione (vedere [Amazon Bedrock API keys](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

148| `BASH_DEFAULT_TIMEOUT_MS` | Timeout predefinito per i comandi bash a lunga esecuzione (predefinito: 120000, o 2 minuti) |195| `BASH_DEFAULT_TIMEOUT_MS` | Timeout predefinito per i comandi bash a lunga esecuzione (predefinito: 120000, o 2 minuti) |

149| `BASH_MAX_OUTPUT_LENGTH` | Numero massimo di caratteri negli output bash prima che l'output completo venga salvato in un file e Claude riceva il percorso più un'anteprima breve. Vedi [Comportamento dello strumento Bash](/docs/it/tools-reference#bash-tool-behavior) |196| `BASH_MAX_OUTPUT_LENGTH` | Numero massimo di caratteri dell'output bash che Claude Code legge nel risultato di un comando (predefinito: 30000; massimo: 150000). Se impostate l'impostazione [`bashOutputMaxChars`](/docs/it/settings-reference#bashoutputmaxchars), Claude Code ignora questa variabile. Vedere [Output limits](/docs/it/tools-reference#output-limits) |

150| `BASH_MAX_TIMEOUT_MS` | Timeout massimo che il modello può impostare per i comandi bash a lunga esecuzione (predefinito: 600000, o 10 minuti) |197| `BASH_MAX_TIMEOUT_MS` | Timeout massimo che il modello può impostare per i comandi bash a lunga esecuzione (predefinito: 600000, o 10 minuti). Il limite effettivo è il maggiore tra questo e `BASH_DEFAULT_TIMEOUT_MS` |

151| `CCR_FORCE_BUNDLE` | Imposta su `1` per forzare [`claude --cloud`](/docs/it/claude-code-on-the-web#send-local-repositories-without-github) a raggruppare e caricare il vostro repository locale anche quando l'accesso a GitHub è disponibile |198| `BETA_TRACING_ENDPOINT` | Endpoint OTLP per [detailed beta tracing](/docs/it/monitoring-usage#traces-beta): con `ENABLE_BETA_TRACING_DETAILED=1`, i log e le tracce vanno lì invece che agli esportatori configurati. Impostatelo nella vostra shell, nelle impostazioni utente o nelle impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

152| `CLAUDECODE` | Imposta su `1` nei sottoprocessi che Claude Code genera (strumento Bash e PowerShell, sessioni tmux, comandi [hook](/docs/it/hooks), comandi della [linea di stato](/docs/it/statusline), sottoprocessi del server MCP [stdio](/docs/it/mcp)). Le estensioni IDE impostano anche questo nei loro terminali integrati. Utilizza per rilevare quando uno script è in esecuzione all'interno di un sottoprocesso generato da Claude Code. Per verificare se il processo corrente è stato generato direttamente da una chiamata di strumento o hook, piuttosto che all'interno di un server MCP stdio che Claude Code ha avviato, utilizzate `CLAUDE_CODE_CHILD_SESSION` |199| `CCR_FORCE_BUNDLE` | Impostare a `1` per forzare [`claude --cloud`](/docs/it/claude-code-on-the-web#send-local-repositories-without-github) a raggruppare e caricare il vostro repository locale invece di clonare dal suo remoto |

153| `CLAUDE_AFK_COUNTDOWN_MS` | Quanti millisecondi prima dell'auto-continuazione il conto alla rovescia sullo schermo appare su una finestra di dialogo [`AskUserQuestion`](/docs/it/tools-reference) senza risposta. Predefinito `20000` (20 secondi), limitato al timeout di auto-continuazione. Non ha effetto a meno che l'auto-continuazione non sia attiva; vedi l'impostazione [`askUserQuestionTimeout`](/docs/it/settings#available-settings) e `CLAUDE_AFK_TIMEOUT_MS`. Richiede Claude Code v2.1.198 o successivo |200| `CLAUDECODE` | Impostare a `1` nei sottoprocessi che Claude Code genera (strumenti Bash e PowerShell, sessioni tmux, comandi [hook](/docs/it/hooks), comandi [status line](/docs/it/statusline), sottoprocessi [MCP server](/docs/it/mcp) stdio). Le estensioni IDE impostano anche questo nei loro terminali integrati. Utilizzare per rilevare quando uno script è in esecuzione all'interno di un sottoprocesso generato da Claude Code. Per verificare se il processo corrente è stato generato direttamente da una chiamata di strumento o hook, piuttosto che all'interno di un MCP server stdio che Claude Code ha avviato, utilizzare `CLAUDE_CODE_CHILD_SESSION` invece |

154| `CLAUDE_AFK_TIMEOUT_MS` | Quanti millisecondi di tempo inattivo prima che una finestra di dialogo [`AskUserQuestion`](/docs/it/tools-reference) senza risposta continui automaticamente senza di voi. L'auto-continuazione è disattivata per impostazione predefinita; aderite con l'impostazione [`askUserQuestionTimeout`](/docs/it/settings#available-settings). Questa variabile è un override per demo e test automatizzati: quando impostata, ha la precedenza su quella impostazione e attiva l'auto-continuazione anche quando l'impostazione non è impostata o è `never`. L'impostazione di `0` non disattiva il timeout; chiude la finestra di dialogo immediatamente. In v2.1.198 e v2.1.199, l'auto-continuazione era attiva per impostazione predefinita con un timeout di `60000` (60 secondi). Richiede Claude Code v2.1.198 o successivo |201| `CLAUDE_AFK_COUNTDOWN_MS` | Quanti millisecondi prima dell'auto-continuazione il countdown sullo schermo appare su una finestra di dialogo [`AskUserQuestion`](/docs/it/tools-reference) senza risposta. Predefinito `20000` (20 secondi), limitato al timeout di auto-continuazione. Non ha effetto a meno che l'auto-continuazione non sia attiva; vedere l'impostazione [`askUserQuestionTimeout`](/docs/it/settings-reference#askuserquestiontimeout) e `CLAUDE_AFK_TIMEOUT_MS`. Richiede Claude Code v2.1.198 o successivo |

155| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Imposta su `1` per disabilitare tutti i tipi di [subagent](/docs/it/sub-agents) integrati come Explore e Plan. Si applica solo in modalità non interattiva (il flag `-p`). Utile per gli utenti SDK che desiderano una lavagna pulita |202| `CLAUDE_AFK_TIMEOUT_MS` | Quanti millisecondi di tempo di inattività prima che una finestra di dialogo [`AskUserQuestion`](/docs/it/tools-reference) senza risposta continui automaticamente senza di voi. L'auto-continuazione è disattivata per impostazione predefinita; aderire con l'impostazione [`askUserQuestionTimeout`](/docs/it/settings-reference#askuserquestiontimeout). Questa variabile è un override per demo e test automatizzati: quando impostata, ha la precedenza su tale impostazione e attiva l'auto-continuazione anche quando l'impostazione non è impostata o è `never`. L'impostazione di `0` non disattiva il timeout; chiude la finestra di dialogo immediatamente. Nella v2.1.198 e v2.1.199, l'auto-continuazione era attiva per impostazione predefinita con un timeout di `60000` (60 secondi). Richiede Claude Code v2.1.198 o successivo |

156| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Imposta su `1` per saltare il prefisso `mcp__<server>__` sui nomi degli strumenti dai server MCP creati da SDK. Gli strumenti utilizzano i loro nomi originali. Solo utilizzo SDK |203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Impostare a `1` per disabilitare tutti i tipi di [subagent](/docs/it/sub-agents) incorporati come Explore e Plan. Si applica solo in modalità non interattiva (il flag `-p`). Utile per gli utenti SDK che desiderano una lavagna pulita. Questo rimuove anche `general-purpose`, il subagent che Claude Code esegue quando una chiamata dello strumento Agent omette `subagent_type`. Tale chiamata fallisce quindi con [`subagent_type is required`](/docs/it/errors#subagent-type-is-required) |

157| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout di stallo in millisecondi per i subagent in background. Predefinito `600000` (10 minuti). Il timer si ripristina su ogni evento di progresso dello streaming; se nessun progresso arriva entro la finestra, il subagent viene interrotto e l'attività viene contrassegnata come non riuscita, mostrando qualsiasi risultato parziale al genitore |204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Impostare a `1` per saltare il prefisso `mcp__<server>__` sui nomi degli strumenti dai server MCP creati da SDK. Gli strumenti utilizzano i loro nomi originali. Solo utilizzo SDK |

158| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Imposta la percentuale (1-100) della finestra di compattazione automatica a cui viene attivata la compattazione automatica. Utilizzate valori inferiori come `50` per compattare prima. Questa variabile causa solo una compattazione più precoce quando Claude Code compatta in modo proattivo: quando `CLAUDE_CODE_AUTO_COMPACT_WINDOW` è impostato, nelle [sessioni cloud](/docs/it/claude-code-on-the-web) e su Sonnet 4.6 e Opus 4.6 senza [contesto esteso](/docs/it/model-config#extended-context), che compattano al limite di 200K per impostazione predefinita. Su Sonnet 5, la compattazione proattiva si applica alla [soglia predefinita](/docs/it/model-config#sonnet-5-context-window) del modello. In altri casi, come una sessione locale su Opus 4.8, la compattazione automatica si attiva quando la conversazione raggiunge il limite del contesto del modello. L'override può solo abbassare la soglia, quindi i valori superiori al valore predefinito non hanno effetto. Si applica sia alle conversazioni principali che ai subagent |205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout di stallo in millisecondi per i subagent. Predefinito `600000` (10 minuti); se aumentate `CLAUDE_STREAM_IDLE_TIMEOUT_MS` mentre il stream watchdog è attivo, il predefinito aumenta con esso, come [Handle slow or stalled API responses](/docs/it/agent-sdk/typescript#handle-slow-or-stalled-api-responses) descrive. Il timer si ripristina su ogni evento di progresso dello streaming; se nessun progresso arriva entro la finestra, Claude Code interrompe il subagent e segnala lo stallo al genitore |

159| `CLAUDE_AUTO_BACKGROUND_TASKS` | Imposta su `1` per forzare l'abilitazione dello sfondo automatico delle attività di agenti a lunga esecuzione. Quando abilitato, i subagent vengono spostati in background dopo l'esecuzione per circa due minuti |206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Impostare la percentuale (1-100) della finestra di auto-compattazione a cui si attiva l'auto-compattazione. Utilizzare valori inferiori come `50` per compattare prima; la variabile non può aumentare la soglia, quindi i valori superiori alla percentuale predefinita vengono ignorati. Si applica solo alle sessioni che [compattano prima del limite di contesto del modello](/docs/it/model-config#context-window-and-auto-compaction). Si applica sia alle conversazioni principali che ai subagent |

160| `CLAUDE_AX_SCREEN_READER` | Imposta su `1` per renderizzare l'output adatto ai lettori di schermo: testo piatto senza bordi decorativi o animazioni. Imposta su `0` per forzare la disabilitazione della modalità lettore di schermo anche quando [`axScreenReader`](/docs/it/settings#available-settings) è `true`. Il flag [`--ax-screen-reader`](/docs/it/cli-reference#cli-flags) ha la precedenza. Richiede Claude Code v2.1.181 o successivo |207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Impostare a `1` per forzare l'abilitazione dell'esecuzione automatica in background dei compiti agentici a lunga esecuzione. Quando abilitato, i subagent vengono spostati in background dopo aver eseguito per circa due minuti. Abilita anche [automatic backgrounding of long MCP tool calls](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls) in modalità non interattiva su Claude Code v2.1.212 o successivo |

161| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Ritorna alla directory di lavoro originale dopo ogni comando Bash o PowerShell nella sessione principale |208| `CLAUDE_AX_PREPARK_MS` | In [screen reader mode](/docs/it/accessibility#what-your-screen-reader-hears), quanti millisecondi Claude Code aspetta, con il cursore all'inizio della riga, prima di scrivere una riga nuova o modificata. Predefinito `50`. Impostare `0` per scrivere immediatamente. Claude Code limita l'attesa a `5000`. Richiede Claude Code v2.1.233 o successivo |

162| `CLAUDE_CLIENT_PRESENCE_FILE` | Percorso a un file che uno strumento esterno, come un listener di blocco dello schermo, crea quando sbloccare lo schermo e cancella quando lo blocca. Mentre il file esiste, Claude Code salta le [notifiche push Remote Control mobile](/docs/it/remote-control#mobile-push-notifications), quindi smettete di ricevere push mentre state utilizzando attivamente il computer. Quando il file è assente o illeggibile, le notifiche vengono inviate normalmente. Claude Code controlla il file una volta per evento di attivazione push piuttosto che eseguire il polling. Richiede Claude Code v2.1.181 o successivo |209| `CLAUDE_AX_SCREEN_READER` | Impostare a `1` per rendere l'output compatibile con lo screen reader: testo piatto senza bordi decorativi o animazioni. Impostare a `0` per forzare la disattivazione della modalità screen reader anche quando [`axScreenReader`](/docs/it/settings-reference#axscreenreader) è `true`. Il flag [`--ax-screen-reader`](/docs/it/cli-reference#cli-flags) ha la precedenza. Richiede Claude Code v2.1.181 o successivo |

163| `CLAUDE_CODE_ACCESSIBILITY` | Imposta su `1` per mantenere visibile il cursore del terminale nativo e disabilitare l'indicatore del cursore con testo invertito. Consente ai magnifier dello schermo come macOS Zoom di tracciare la posizione del cursore |210| `CLAUDE_AX_STARTUP_QUIET_MS` | In [screen reader mode](/docs/it/accessibility), quanti millisecondi Claude Code mantiene il primo rendering dell'interfaccia dopo la riga di conferma di avvio, in modo che lo screen reader possa pronunciare la riga completamente prima che il nuovo output l'interrompa. Predefinito `3000`. Impostare `0` per rendere immediatamente. Claude Code limita la sospensione a `600000` (10 minuti). La vostra prima pressione di tasto termina la sospensione in anticipo. Richiede Claude Code v2.1.217 o successivo |

164| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Imposta su `1` per caricare i file di memoria dalle directory specificate con `--add-dir`. Carica `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` e `CLAUDE.local.md`. Per impostazione predefinita, le directory aggiuntive non caricano i file di memoria |211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Tornare alla directory di lavoro originale dopo ogni comando Bash o PowerShell nella sessione principale |

165| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Imposta su `1` per ridisegnare l'intero schermo su ogni frame nel [rendering a schermo intero](/docs/it/fullscreen) invece di inviare aggiornamenti incrementali. Utilizza questo se la modalità a schermo intero mostra frammenti di testo stantii o mal posizionati. Claude Code abilita questo automaticamente per le sessioni in background e la [visualizzazione degli agenti](/docs/it/agent-view) su Windows |212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout in millisecondi per il watchdog di inattività dello streaming a livello di byte; quando impostato, ha la precedenza su `CLAUDE_STREAM_IDLE_TIMEOUT_MS` per quel watchdog e lascia il watchdog a livello di evento invariato. Claude Code limita questa variabile tra 10 secondi e 30 minuti. Richiede Claude Code v2.1.210 o successivo |

166| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Imposta su `1` per inviare il parametro [effort](/docs/it/model-config#adjust-effort-level) con ogni richiesta, anche quando Claude Code non riconosce l'ID del modello come effort-capable. Utilizza questo quando instrada attraverso un [gateway LLM](/docs/it/llm-gateway) o provider di terze parti che serve modelli con identificatori personalizzati. I modelli che rifiutano il parametro effort all'API, inclusi i modelli Claude 3, Sonnet 4.0 e 4.5, Opus 4.0 e 4.1 e Haiku 4.5, sono comunque esclusi in modo che le richieste non falliscano |213| `CLAUDE_CLIENT_PRESENCE_FILE` | Percorso a un file che uno strumento esterno, come un listener di blocco dello schermo, crea quando sbloccare lo schermo e elimina quando lo blocca. Mentre il file esiste, Claude Code salta [Remote Control mobile push notifications](/docs/it/remote-control#mobile-push-notifications), quindi smettete di ricevere push mentre state utilizzando attivamente il computer. Quando il file è assente o illeggibile, le notifiche vengono inviate normalmente. Claude Code controlla il file una volta per evento di attivazione push piuttosto che eseguire il polling. Richiede Claude Code v2.1.181 o successivo |

167| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervallo in millisecondi a cui le credenziali devono essere aggiornate (quando si utilizza [`apiKeyHelper`](/docs/it/settings#available-settings)) |214| `CLAUDE_CODE_ACCESSIBILITY` | Impostare a `1` per mantenere visibile il cursore del terminale nativo e disabilitare l'indicatore del cursore con testo invertito. Consente ai magnifier dello schermo come macOS Zoom di tracciare la posizione del cursore |

168| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Imposta su `0` per impedire a Claude Code di aprire il browser automaticamente quando viene pubblicato un nuovo [artifact](/docs/it/artifacts). La ripubblicazione di un artifact esistente non apre il browser indipendentemente da questa impostazione |215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Impostare a `1` per caricare i file di memoria dalle directory specificate con `--add-dir`. Carica `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md`, e `CLAUDE.local.md`. Per impostazione predefinita, le directory aggiuntive non caricano i file di memoria |

169| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Imposta su `0` per omettere il blocco di attribuzione (versione client e impronta digitale del prompt) dall'inizio del prompt di sistema. Disabilitarlo migliora i tassi di hit della cache dei prompt quando si instrada attraverso un [gateway LLM](/docs/it/llm-gateway). Il caching dell'API Anthropic non è interessato |216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Impostare a `1` per ridisegnare l'intero schermo su ogni frame nel [fullscreen rendering](/docs/it/fullscreen) invece di inviare aggiornamenti incrementali. Utilizzare se la modalità fullscreen mostra frammenti di testo stantii o posizionati male. Claude Code abilita questo automaticamente per le sessioni di background e [agent view](/docs/it/agent-view) su Windows |

170| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Imposta la capacità del contesto in token utilizzata per i calcoli di compattazione automatica. Per impostazione predefinita, la finestra del contesto del modello: 200K per i modelli standard o 1M per i modelli con [contesto esteso](/docs/it/model-config#extended-context), tranne su Sonnet 5, che ha la sua propria [soglia predefinita](/docs/it/model-config#sonnet-5-context-window). Utilizzate un valore inferiore come `500000` su un modello 1M per trattare la finestra come 500K ai fini della compattazione. Il valore è limitato alla finestra del contesto effettiva del modello. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` viene applicato come percentuale di questo valore. L'impostazione di questa variabile disaccoppia la soglia di compattazione dalla `used_percentage` della linea di stato, che utilizza sempre la finestra del contesto completa del modello |217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Impostare a `1` per inviare il parametro [effort](/docs/it/model-config#adjust-effort-level) con ogni richiesta, anche quando Claude Code non riconosce l'ID del modello come capace di effort. Utilizzare quando si instrada attraverso un [gateway LLM](/docs/it/llm-gateway) o provider di terze parti che serve modelli con identificatori personalizzati. I modelli che rifiutano il parametro effort all'API, inclusi i modelli Claude 3, Sonnet 4.0 e 4.5, Opus 4.0 e 4.1, e Haiku 4.5, sono ancora esclusi in modo che le richieste non falliscano |

171| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sovrascrivi la [connessione IDE](/docs/it/vs-code) automatica. Per impostazione predefinita, Claude Code si connette automaticamente quando avviato all'interno del terminale integrato di un IDE supportato. Imposta su `false` per impedire questo. Imposta su `true` per forzare un tentativo di connessione quando l'auto-rilevamento fallisce, ad esempio quando tmux oscura il terminale padre. Ha la precedenza sull'impostazione globale [`autoConnectIde`](/docs/it/settings#global-config-settings) |218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervallo in millisecondi a cui le credenziali devono essere aggiornate (quando si utilizza [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper)) |

172| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Tempo in millisecondi che Claude Code attende affinché la catena del provider di credenziali predefinito AWS produca credenziali prima che la richiesta fallisca con [`AWS default-chain credential resolve timed out`](/docs/it/errors#aws-default-chain-credential-resolve-timed-out) (predefinito: `60000`). Aumentatelo quando un passaggio nella vostra catena ha legittimamente bisogno di più tempo, come un accesso SSO basato su browser con MFA attraverso un wrapper come `aws-vault`. Si applica ovunque Claude Code firma con la catena predefinita: [Amazon Bedrock](/docs/it/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/it/claude-platform-on-aws) e l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint). Richiede Claude Code v2.1.207 o successivo |219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Impostare a `0` per impedire a Claude Code di aprire il browser automaticamente quando viene pubblicato un nuovo [artifact](/docs/it/artifacts#create-an-artifact) |

173| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Impostato automaticamente nel sottoprocesso dello strumento Bash e nel [comando hook](/docs/it/hooks) mentre la sessione ha una connessione [Remote Control](/docs/it/remote-control) attiva, e rimosso quando la connessione termina. Il valore è l'ID della sessione in forma `session_`, lo stesso identificatore che appare nell'URL `claude.ai/code` della sessione, quindi uno script può collegarsi di nuovo alla sessione che lo ha eseguito. Richiede Claude Code v2.1.199 o successivo. Nelle [sessioni cloud](/docs/it/claude-code-on-the-web), leggete `CLAUDE_CODE_REMOTE_SESSION_ID` |220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Impostare a `0` per impedire a Claude di leggere e rispondere ai [commenti su un artifact](/docs/it/artifacts#collect-comments-on-an-artifact). Non ha effetto quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ha [disattivato gli artifact](/docs/it/artifacts#availability). Richiede Claude Code v2.1.221 o successivo |

174| `CLAUDE_CODE_CERT_STORE` | Elenco separato da virgole di fonti di certificati CA per le connessioni TLS. `bundled` è il set Mozilla CA fornito con Claude Code. `system` è l'archivio di fiducia del sistema operativo, di sola lettura su runtime con `tls.getCACertificates`: il binario nativo, o Node 22.15 o successivo per installazioni npm. Vedi [Archivio certificati CA](/docs/it/network-config#ca-certificate-store). Per impostazione predefinita è `bundled,system` |221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Impostare a `0` per impedire a Claude di [rispondere da solo ai commenti inviatigli](/docs/it/artifacts#let-claude-reply-to-comments-on-its-own). Richiede Claude Code v2.1.228 o successivo |

175| `CLAUDE_CODE_CHILD_SESSION` | Imposta su `1` nei sottoprocessi che Claude Code genera tramite gli strumenti Bash, PowerShell e Monitor, i comandi [hook](/docs/it/hooks) e i comandi della [linea di stato](/docs/it/statusline). Non impostato per i sottoprocessi del server MCP [stdio](/docs/it/mcp), che sono di lunga durata e sopravvivono alla sessione che li ha generati. A differenza di `CLAUDECODE`, questo viene impostato solo da Claude Code stesso quando avvia un sottoprocesso e non dalle estensioni IDE, quindi distingue in modo affidabile una sessione annidata da un `claude` di livello superiore avviato in un terminale integrato IDE. Una TUI `claude` interattiva annidata avviata in questo modo viene automaticamente esclusa da `--resume`, `--continue`, dalla cronologia della freccia su e dall'elenco `claude agents`. Le sessioni non interattive `claude -p` persistono comunque. Impostare `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` per sostituire questa esclusione. Richiede Claude Code v2.1.172 o successivo |222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Impostare a `0` per omettere il [attribution block](/docs/it/llm-gateway-protocol#system-prompt-attribution-block), che trasporta la versione del client e un'impronta digitale del prompt, dall'inizio del prompt di sistema. La memorizzazione in cache su una connessione diretta all'API Anthropic non è interessata in entrambi i casi. In alcuni setup di connessione diretta, Claude Code mantiene il blocco sulle richieste del classificatore [auto mode](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) anche quando impostate `0`. In [System prompt attribution block](/docs/it/llm-gateway-protocol#system-prompt-attribution-block), controllate quali connessioni e credenziali questo copre. Prima della v2.1.181 il blocco includeva un token per richiesta su URL di base personalizzati e connessioni Microsoft Foundry, quindi su quelle versioni impostate a `0` quando il vostro gateway LLM memorizza in cache il corpo della richiesta o inoltro le richieste a un provider di terze parti, o quando vi connettete a Microsoft Foundry direttamente |

176| `CLAUDE_CODE_CLIENT_CERT` | Percorso del file del certificato client per l'autenticazione mTLS |223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Quando `CLAUDE_AUTO_BACKGROUND_TASKS` è abilitato, secondi tra i promemoria a Claude di controllare i [background subagent](/docs/it/sub-agents#run-subagents-in-foreground-or-background) ancora in esecuzione. Accetta un numero intero semplice da `1` a `86400` solo; qualsiasi altro valore o ortografia legge come non impostato. Quando non impostato, non ci sono promemoria di check-in. Richiede Claude Code v2.1.248 o successivo |

177| `CLAUDE_CODE_CLIENT_KEY` | Percorso del file della chiave privata client per l'autenticazione mTLS |224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Impostare la [auto-compact window](/docs/it/model-config#set-the-auto-compact-window) in token, da `100000` a `1000000`. Accetta un numero intero semplice come `500000` solo: un valore come `500k` legge come `500` e si limita al minimo di 100K. La finestra effettiva è anche limitata alla finestra di contesto del modello. Ha la precedenza sul comando `/autocompact`, il flag `--autocompact`, e l'impostazione `autoCompactWindow`. La `used_percentage` della status line misura sempre contro la finestra di contesto completa del modello, quindi una volta impostata questa variabile, quella percentuale non indica più quando verrà eseguita la compattazione |

178| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase per CLAUDE\_CODE\_CLIENT\_KEY crittografato (facoltativo) |225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sostituire la [connessione IDE](/docs/it/vs-code) automatica. Per impostazione predefinita, Claude Code si connette automaticamente quando avviato all'interno del terminale integrato di un IDE supportato. Impostare a `false` per prevenire questo. Impostare a `true` per forzare un tentativo di connessione quando l'auto-rilevamento fallisce, come quando tmux oscura il terminale genitore. Ha la precedenza sull'impostazione di configurazione globale [`autoConnectIde`](/docs/it/settings-reference#autoconnectide) |

179| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Rimosso in v2.1.186 e ora un no-op. In precedenza impostava un timeout separato per la fase di connessione, TLS e intestazione di risposta di una richiesta API di streaming. Utilizza `API_TIMEOUT_MS` per il timeout per richiesta |226| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Tempo in millisecondi che Claude Code aspetta per la catena del provider di credenziali predefinito AWS per produrre credenziali prima che la richiesta fallisca con [`AWS default-chain credential resolve timed out`](/docs/it/errors#aws-default-chain-credential-resolve-timed-out) (predefinito: `60000`). Aumentare quando un passaggio nella vostra catena ha legittimamente bisogno di più tempo, come un accesso SSO basato su browser con MFA attraverso un wrapper come `aws-vault`. Si applica ovunque Claude Code firmi con la catena predefinita: [Amazon Bedrock](/docs/it/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/it/claude-platform-on-aws), e l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint). Richiede Claude Code v2.1.207 o successivo |

180| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Sovrascrivi il percorso del file di log di debug. Nonostante il nome, questo è un percorso di file, non una directory. Richiede che la modalità debug sia abilitata separatamente tramite `--debug`, `/debug` o la variabile d'ambiente `DEBUG`: l'impostazione di questa variabile da sola non abilita la registrazione. Il flag [`--debug-file`](/docs/it/cli-reference#cli-flags) fa entrambi contemporaneamente. Per impostazione predefinita `~/.claude/debug/<session-id>.txt` |227| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Impostato automaticamente nei sottoprocessi dello strumento Bash e [hook command](/docs/it/hooks) mentre la sessione ha una connessione [Remote Control](/docs/it/remote-control) attiva, e rimosso quando la connessione termina. Il valore è l'ID della sessione in forma `session_`, lo stesso identificatore che appare nell'URL `claude.ai/code` della sessione, in modo che uno script possa collegarsi di nuovo alla sessione che lo ha eseguito. Richiede Claude Code v2.1.199 o successivo. Nelle [cloud sessions](/docs/it/claude-code-on-the-web), leggere `CLAUDE_CODE_REMOTE_SESSION_ID` invece |

181| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Livello di log minimo scritto nel file di log di debug. Valori: `verbose`, `debug` (predefinito), `info`, `warn`, `error`. Imposta su `verbose` per includere diagnostica ad alto volume come l'output completo del comando della linea di stato, o aumenta a `error` per ridurre il rumore |228| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Impostare a `0` per fare in modo che Claude Code legga il byte `0x08`, anche scritto `^H`, come Backspace semplice, o `1` per leggerlo come Ctrl+Backspace. Entrambi i valori sostituiscono il predefinito della piattaforma. Per impostazione predefinita, Claude Code lo legge come Ctrl+Backspace su Windows, tranne quando `TERM_PROGRAM` è `mintty` o `TERM` è `cygwin`, e come Backspace semplice su macOS e Linux. Impostare `0` in un terminale Windows dove [Backspace deletes a whole word](/docs/it/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |

182| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Imposta su `1` per disabilitare il supporto della [finestra del contesto 1M](/docs/it/model-config#extended-context). Se impostato, le varianti del modello 1M non sono disponibili nel selettore di modelli, e le sessioni [Sonnet 5](/docs/it/model-config#sonnet-5-context-window) vengono trattate come aventi una finestra di 200K. Utile per ambienti aziendali con requisiti di conformità |229| `CLAUDE_CODE_CERT_STORE` | Elenco separato da virgole di fonti di certificati CA per le connessioni TLS. `bundled` è il set Mozilla CA spedito con Claude Code. `system` è l'archivio di fiducia del sistema operativo, letto solo su runtime con `tls.getCACertificates`: il binario nativo, o Node 22.15 o successivo per installazioni npm. Vedere [CA certificate store](/docs/it/network-config#ca-certificate-store). Predefinito è `bundled,system` |

183| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Imposta su `1` per disabilitare il [ragionamento adattivo](/docs/it/model-config#adjust-effort-level) su Opus 4.6 e Sonnet 4.6 e tornare al budget di thinking fisso controllato da `MAX_THINKING_TOKENS`. Da v2.1.111, non ha effetto su Fable 5, Sonnet 5 o Opus 4.7 e versioni successive, che utilizzano sempre il ragionamento adattivo |230| `CLAUDE_CODE_CHILD_SESSION` | Impostato a `1` nei sottoprocessi che Claude Code genera tramite gli strumenti Bash, PowerShell e Monitor, i comandi [hook](/docs/it/hooks), e i comandi [status line](/docs/it/statusline). Non impostato per i sottoprocessi [MCP server](/docs/it/mcp) stdio, che sono di lunga durata e sopravvivono alla sessione che li ha generati. A differenza di `CLAUDECODE`, questo è impostato solo da Claude Code stesso quando avvia un sottoprocesso e non dalle estensioni IDE, quindi distingue in modo affidabile una sessione nidificata da un `claude` di livello superiore avviato in un terminale integrato IDE. Un `claude` TUI interattivo nidificato avviato in questo modo è automaticamente escluso da `--resume`, `--continue`, cronologia freccia su, e l'elenco `claude agents`. Le sessioni non interattive `claude -p` persistono ancora. Impostare `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` per ignorare questa esclusione. Richiede Claude Code v2.1.172 o successivo |

184| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Imposta su `1` per disabilitare lo [strumento advisor](/docs/it/advisor). Il comando `/advisor` diventa non disponibile, qualsiasi `advisorModel` configurato viene ignorato e il flag `--advisor` viene accettato ma non ha effetto, quindi gli script esistenti che lo passano continuano a funzionare senza errori |231| `CLAUDE_CODE_CLIENT_CERT` | Percorso al file del certificato client per l'autenticazione mTLS |

185| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Imposta su `1` per disattivare gli [agenti in background e la visualizzazione degli agenti](/docs/it/agent-view): `claude agents`, `--bg`, `/background` e il supervisore su richiesta. Equivalente all'impostazione [`disableAgentView`](/docs/it/settings#available-settings) |232| `CLAUDE_CODE_CLIENT_KEY` | Percorso al file della chiave privata del client per l'autenticazione mTLS |

186| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Imposta su `1` per disabilitare il [rendering a schermo intero](/docs/it/fullscreen) e utilizzare il renderer della schermata principale classica. La conversazione rimane nello scrollback nativo del vostro terminale in modo che `Cmd+f` e la modalità di copia di tmux funzionino come al solito. Ha la precedenza su `CLAUDE_CODE_NO_FLICKER` e sull'impostazione [`tui`](/docs/it/settings#available-settings). Potete anche passare con `/tui default`. Non si applica alle sessioni in background aperte dalla [visualizzazione degli agenti](/docs/it/agent-view), che utilizzano sempre il rendering a schermo intero |233| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase per CLAUDE\_CODE\_CLIENT\_KEY crittografato (opzionale) |

187| `CLAUDE_CODE_DISABLE_ARTIFACT` | Imposta su `1` per disabilitare lo strumento [Artifact](/docs/it/artifacts), che pubblica l'output della sessione come pagina web privata su claude.ai. Equivalente all'impostazione [`disableArtifact`](/docs/it/settings#available-settings) |234| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Rimosso nella v2.1.186 e ora un no-op. In precedenza impostava un timeout separato per la fase di connessione, TLS e intestazione di risposta di una richiesta API in streaming. Utilizzare `API_TIMEOUT_MS` per il timeout per richiesta. Per la fase di intestazione di risposta di una richiesta in streaming, vedere `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

188| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Imposta su `1` per disabilitare l'elaborazione degli allegati. Le menzioni di file con la sintassi `@` vengono inviate come testo semplice invece di essere espanse nel contenuto del file |235| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Sostituire il percorso del file di log di debug. Nonostante il nome, questo è un percorso di file, non una directory. Richiede che la modalità debug sia abilitata separatamente tramite `--debug`, `/debug`, o la variabile di ambiente `DEBUG`: impostare solo questa variabile non abilita la registrazione. Il flag [`--debug-file`](/docs/it/cli-reference#cli-flags) fa entrambi contemporaneamente. Predefinito a `~/.claude/debug/<session-id>.txt` |

189| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Imposta su `1` per disabilitare la [memoria automatica](/docs/it/memory#auto-memory). Imposta su `0` per forzare la memoria automatica anche quando la modalità `--bare` o [`autoMemoryEnabled: false`](/docs/it/settings#available-settings) altrimenti la disabiliterebbe. Quando disabilitato, Claude non crea o carica i file di memoria automatica |236| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Livello di log minimo scritto nel file di log di debug. Valori: `verbose`, `debug` (predefinito), `info`, `warn`, `error`. Impostare a `verbose` per includere diagnostica ad alto volume come l'output completo del comando della status line, o aumentare a `error` per ridurre il rumore |

190| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Imposta su `1` per disabilitare tutta la funzionalità di attività in background, incluso il parametro `run_in_background` su strumenti Bash e subagent, auto-backgrounding e la scorciatoia Ctrl+B |237| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Impostare a `1` per disabilitare il supporto della [finestra di contesto 1M](/docs/it/model-config#extended-context). Quando impostato, le varianti del modello 1M non sono disponibili nel selettore del modello, e Claude Code mantiene le sessioni su modelli con una finestra nativa 1M, come [Sonnet 5](/docs/it/model-config#sonnet-5-context-window) e i modelli Fable, a una finestra 200K; vedere [Extended context](/docs/it/model-config#extended-context) per come viene applicato il blocco. Utile per ambienti aziendali con requisiti di conformità. Per il suo ruolo nel correggere la finestra per un ID modello non riconosciuto `[1m]`, vedere [Correct the window for a gateway or custom model ID](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

191| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Imposta su `1` per saltare il controllo che una risposta di streaming [Amazon Bedrock](/docs/it/amazon-bedrock) porti il content-type `application/vnd.amazon.eventstream`. Senza questa variabile, una risposta con un content-type diverso fallisce con un errore che nomina quel content-type, il che significa che un [gateway o proxy sta trasformando la risposta](/docs/it/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Impostatela solo quando il gateway riscrive l'intestazione `Content-Type` ma passa il corpo del flusso di eventi binario invariato; se il corpo stesso è stato trasformato, le richieste falliscono con `Truncated event message received`. Richiede Claude Code v2.1.208 o successivo |238| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Impostare a `1` per disabilitare il [adaptive reasoning](/docs/it/model-config#adjust-effort-level) su Opus 4.6 e Sonnet 4.6 e tornare al budget di thinking fisso controllato da `MAX_THINKING_TOKENS`. Non ha effetto sui [modelli Fable](/docs/it/model-config#extended-thinking), Sonnet 5, o Opus 4.7 e successivi, che utilizzano sempre il adaptive reasoning |

192| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Imposta su `1` per interrompere i comandi shell in background in esecuzione, i workflow dinamici e, a partire da 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) si ferma, si riavvia o aggiorna il processo di quella sessione, invece di trasferirli al processo successivo della sessione. Influisce solo su quel trasferimento: mettere una sessione in background con `←` o [`/background`](/docs/it/agent-view#from-inside-a-session) continua a portare il lavoro in volo, e `CLAUDE_DISABLE_ADOPT` disattiva entrambi. Richiede Claude Code v2.1.196 o successivo |239| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Impostare a `1` per impedire a Claude Code di unire i blocchi `env` delle [impostazioni gestite](/docs/it/managed-settings#precedence-within-the-managed-tier) per chiave tra le fonti admin, in modo che si applichi solo il blocco `env` della fonte con priorità più alta, come prima della v2.1.223. Impostatelo nell'ambiente che avvia Claude Code, poiché Claude Code ignora una copia fornita attraverso un blocco `env` delle impostazioni. Richiede Claude Code v2.1.223 o successivo |

193| `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) quando il sistema operativo segnala pressione di memoria. Per impostazione predefinita, su macOS e Linux, Claude Code termina un shell in background avviato nella sessione principale su un segnale di pressione di memoria una volta che la sessione è stata inattiva per 30 minuti e nessun turno o subagent è in esecuzione. Windows non ha un segnale di pressione di memoria, quindi questa variabile non ha effetto lì. Richiede Claude Code v2.1.193 o successivo |240| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Impostare a `1` per disabilitare lo [advisor tool](/docs/it/advisor). Il comando `/advisor` diventa non disponibile, qualsiasi `advisorModel` configurato viene ignorato, e il flag `--advisor` viene accettato ma non ha effetto, in modo che gli script esistenti che lo passano continuino a funzionare senza errori |

194| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Imposta su `1` per disabilitare le [skill](/docs/it/skills) e i workflow che vengono forniti con Claude Code: le skill raggruppate e i workflow vengono rimossi completamente, mentre i comandi slash integrati come `/init` rimangono digitabili ma sono nascosti dal modello. `/doctor` rimane digitabile come i comandi integrati; nascondilo con `DISABLE_DOCTOR_COMMAND`. Le skill dai plugin, `.claude/skills/` e `.claude/commands/` non sono interessate. Equivalente all'impostazione [`disableBundledSkills`](/docs/it/settings#available-settings); `0` non la sostituisce |241| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Impostare a `1` per disattivare [background agents and agent view](/docs/it/agent-view): `claude agents`, `--bg`, `/background`, e il supervisore su richiesta. Equivalente all'impostazione [`disableAgentView`](/docs/it/settings-reference#disableagentview) |

195| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Imposta su `1` per impedire il caricamento di qualsiasi file di memoria CLAUDE.md nel contesto, inclusi i file di utente, progetto e memoria automatica |242| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Impostare a `1` per disabilitare il [fullscreen rendering](/docs/it/fullscreen) e utilizzare il renderer classico della schermata principale. La conversazione rimane nel scrollback nativo del vostro terminale in modo che `Cmd+f` e la modalità di copia tmux funzionino come al solito. Ha la precedenza su `CLAUDE_CODE_NO_FLICKER` e l'impostazione [`tui`](/docs/it/settings-reference#tui). Potete anche passare con `/tui default`. Non si applica alle sessioni di background aperte da [agent view](/docs/it/agent-view), che utilizzano sempre il fullscreen rendering |

196| `CLAUDE_CODE_DISABLE_CRON` | Imposta su `1` per disabilitare le [attività pianificate](/docs/it/scheduled-tasks). La skill `/loop` e gli strumenti cron diventano non disponibili e tutte le attività già pianificate smettono di attivarsi, incluse le attività già in esecuzione a metà sessione |243| `CLAUDE_CODE_DISABLE_ARTIFACT` | Impostare a `1` per disattivare lo strumento [Artifact](/docs/it/artifacts), che pubblica l'output della sessione come pagina web privata su claude.ai. Una volta impostato, nessun file di impostazioni riattiva lo strumento. Per disattivare lo strumento da un file di impostazioni, impostare [`enableArtifact`](/docs/it/settings-reference#enableartifact) a `false`; la chiave deprecata [`disableArtifact`](/docs/it/settings-reference#disableartifact) lo disattiva anche |

197| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Imposta su `1` per rimuovere le intestazioni di richiesta `anthropic-beta` specifiche di Anthropic e i campi dello schema degli strumenti beta (come `defer_loading` e `eager_input_streaming`) dalle richieste API. Utilizza questo quando un gateway proxy rifiuta le richieste con errori come "Unexpected value(s) for the `anthropic-beta` header" o "Extra inputs are not permitted". I campi standard (`name`, `description`, `input_schema`, `cache_control`) vengono preservati. La [ricerca degli strumenti MCP](/docs/it/mcp#scale-with-mcp-tool-search) è disabilitata e tutti gli strumenti MCP vengono caricati in primo piano, anche quando `ENABLE_TOOL_SEARCH` è impostato |244| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Impostare a `1` per disabilitare l'elaborazione degli allegati. Le menzioni di file con sintassi `@` vengono inviate come testo semplice invece di essere espanse nel contenuto del file |

198| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Imposta su `1` per disabilitare i [subagent Explore e Plan integrati](/docs/it/sub-agents#built-in-subagents). Claude esplora con i suoi strumenti di ricerca o il subagent di uso generale, e la [modalità plan](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) legge i file direttamente piuttosto che lanciare agenti Explore e Plan. I subagent personalizzati denominati `Explore` o `Plan` non sono interessati. Per rimuovere ogni tipo di subagent integrato in Agent SDK o modalità non interattiva, utilizza `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Richiede Claude Code v2.1.198 o successivo |245| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Impostare a `1` per disabilitare la [auto memory](/docs/it/memory#auto-memory). Impostare a `0` per forzare l'auto memory attiva anche quando la modalità `--bare` o [`autoMemoryEnabled: false`](/docs/it/settings-reference#automemoryenabled) la disattiverebbe altrimenti. Quando disabilitata, Claude non crea o carica i file di auto memory |

199| `CLAUDE_CODE_DISABLE_FAST_MODE` | Imposta su `1` per disabilitare la [modalità veloce](/docs/it/fast-mode) |246| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Impostare a `1` per disabilitare tutta la funzionalità dei compiti di background, incluso il parametro `run_in_background` su strumenti Bash e subagent, l'auto-backgrounding, e la scorciatoia Ctrl+B |

200| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Imposta su `1` per disabilitare i sondaggi sulla qualità della sessione "Come sta andando Claude?". I sondaggi sono anche disabilitati quando `DISABLE_TELEMETRY`, `DO_NOT_TRACK` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostato, a meno che `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` non opti di nuovo. Per impostare una frequenza di campionamento invece di disabilitare completamente, utilizzate l'impostazione [`feedbackSurveyRate`](/docs/it/settings#available-settings). Vedi [Sondaggi sulla qualità della sessione](/docs/it/data-usage#session-quality-surveys) |247| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Impostare a `1` per impedire a Claude Code di trattare una risposta in streaming [Amazon Bedrock](/docs/it/amazon-bedrock) con un'intestazione `Content-Type` mancante o vuota come il flusso di eventi binario di Amazon Bedrock. Per impostazione predefinita, Claude Code presume che un gateway abbia eliminato l'intestazione da una risposta altrimenti non modificata, in modo che decodifichi il corpo e lo streaming continui a funzionare. Impostare solo per un gateway che anche ri-emette il flusso come server-sent events; Claude Code legge il corpo senza intestazione come server-sent events invece. Richiede Claude Code v2.1.239 o successivo |

201| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Imposta su `1` per disabilitare il [checkpointing](/docs/it/checkpointing) dei file. Il comando `/rewind` non sarà in grado di ripristinare le modifiche al codice |248| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Impostare a `1` per saltare il controllo che una risposta in streaming [Amazon Bedrock](/docs/it/amazon-bedrock) trasporta il content-type `application/vnd.amazon.eventstream`. Senza questa variabile, quando una risposta trasporta un content-type diverso, Claude Code fallisce la richiesta con un errore che nomina quel tipo, il che significa che un [gateway o proxy sta trasformando la risposta](/docs/it/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configurare il gateway per inoltro l'intestazione `Content-Type` e il corpo non modificati piuttosto che impostare questa variabile. Richiede Claude Code v2.1.208 o successivo |

202| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Imposta su `1` per rimuovere le istruzioni di workflow commit e PR integrate e lo snapshot dello stato git dal prompt di sistema di Claude. Utile quando si utilizzano le proprie skill di workflow git. Ha la precedenza sull'impostazione [`includeGitInstructions`](/docs/it/settings#available-settings) se impostato |249| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Impostare a `1` per impedire ai comandi shell di background in esecuzione di una [sessione di background](/docs/it/agent-view), ai flussi di lavoro dinamici, e, a partire dalla v2.1.198, ai subagent di background quando il [supervisore](/docs/it/agent-view#the-supervisor-process) arresta, riavvia o aggiorna il processo di quella sessione, invece di trasferirli al processo successivo della sessione. Influisce solo su quel trasferimento: il backgrounding di una sessione con `←` o [`/background`](/docs/it/agent-view#from-inside-a-session) continua a trasportare il lavoro in volo, e `CLAUDE_DISABLE_ADOPT` disattiva entrambi. Richiede Claude Code v2.1.196 o successivo |

203| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Imposta su `1` per impedire il remapping automatico di Opus 4.0 e 4.1 alla versione Opus corrente sull'API Anthropic. Utilizza quando desiderate intenzionalmente fissare un modello più vecchio. Il remapping non viene eseguito su Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry |250| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Impostare a `1` per impedire a Claude Code di terminare i [background shell commands](/docs/it/interactive-mode#background-bash-commands) quando il sistema operativo segnala la pressione della memoria. Per impostazione predefinita, su macOS e Linux, Claude Code termina una shell di background avviata nella sessione principale su un segnale di pressione della memoria una volta che la sessione è stata inattiva per 30 minuti e nessun turno o subagent è in esecuzione. Windows non ha un segnale di pressione della memoria, quindi questa variabile non ha effetto lì. Richiede Claude Code v2.1.193 o successivo |

204| `CLAUDE_CODE_DISABLE_MOUSE` | Imposta su `1` per disabilitare il tracciamento del mouse nel [rendering a schermo intero](/docs/it/fullscreen). Lo scorrimento da tastiera con `PgUp` e `PgDn` funziona ancora. Utilizza questo per mantenere il comportamento nativo di copia al passaggio del mouse del vostro terminale |251| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Impostare a `1` per disabilitare le [skills](/docs/it/skills) e i flussi di lavoro inclusi con Claude Code: le skills e i flussi di lavoro raggruppati vengono rimossi completamente, mentre i comandi incorporati come `/init` rimangono digitabili ma sono nascosti dal modello. `/doctor` rimane digitabile come i comandi incorporati; nasconderlo con `DISABLE_DOCTOR_COMMAND` invece. Le skills dai plugin, `.claude/skills/`, e `.claude/commands/` non sono interessate. Equivalente all'impostazione [`disableBundledSkills`](/docs/it/settings-reference#disablebundledskills) |

205| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Imposta su `1` per disabilitare il clic, il trascinamento e il passaggio del mouse nel [rendering a schermo intero](/docs/it/fullscreen) mantenendo lo scorrimento della rotella del mouse. Utilizza questo quando desiderate che lo scorrimento della rotella funzioni all'interno di Claude Code ma non desiderate che i clic posizionino il cursore, espandano l'output dello strumento o aprano i link. `CLAUDE_CODE_DISABLE_MOUSE` ha la precedenza quando entrambi sono impostati. Richiede Claude Code v2.1.195 o successivo |252| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Impostare a `1` per mantenere gli strumenti del browser [Claude in Chrome](/docs/it/chrome) disponibili mentre si omette la sezione Chrome del prompt di sistema e la [bundled skill](/docs/it/skills#bundled-skills) `/claude-in-chrome`. Per host che incorporano Claude Code e forniscono la loro guida del browser. Richiede Claude Code v2.1.257 o successivo |

206| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Equivalente all'impostazione di `DISABLE_AUTOUPDATER`, `DISABLE_FEEDBACK_COMMAND`, `DISABLE_ERROR_REPORTING` e `DISABLE_TELEMETRY` |253| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Impostare a `1` per impedire il caricamento di qualsiasi file di memoria CLAUDE.md nel contesto, inclusi i file di memoria utente, progetto e auto |

207| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Imposta su `1` per disabilitare il fallback non-streaming quando una richiesta di streaming fallisce a metà stream. Gli errori di streaming si propagano al livello di retry. Utile quando un proxy o gateway causa il fallback per produrre l'esecuzione duplicata dello strumento |254| `CLAUDE_CODE_DISABLE_CRON` | Impostare a `1` per disabilitare i [scheduled tasks](/docs/it/scheduled-tasks). La skill `/loop` e gli strumenti cron diventano non disponibili e qualsiasi compito già programmato smette di attivarsi, inclusi i compiti che sono già in esecuzione a metà sessione |

208| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Imposta su `1` per inviare la notifica desktop dello strumento `PushNotification` anche mentre state digitando o siete focalizzati sul terminale. Per impostazione predefinita lo strumento salta sia la notifica desktop che il [push mobile](/docs/it/remote-control#mobile-push-notifications) quando rileva attività recente della tastiera o focus del terminale. Questa variabile disabilita solo quel controllo locale, quindi il server può comunque sopprimere il push mobile quando rileva che siete attivi. Richiede Claude Code v2.1.193 o successivo |255| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Impostare a `1` per rimuovere gli header di richiesta `anthropic-beta` specifici di Anthropic e i campi dello schema dello strumento beta (come `defer_loading` e `eager_input_streaming`) dalle richieste API. Utilizzare quando un gateway proxy rifiuta le richieste con errori come "Unexpected value(s) for the `anthropic-beta` header" o "Extra inputs are not permitted". I campi standard (`name`, `description`, `input_schema`, `cache_control`) vengono preservati. [MCP tool search](/docs/it/mcp#scale-with-mcp-tool-search) è disabilitato e tutti gli strumenti MCP si caricano in anticipo, anche quando impostate `ENABLE_TOOL_SEARCH`. Su Claude Code v2.1.227 o successivo, le [impostazioni gestite](/docs/it/managed-settings) possono mantenere la ricerca degli strumenti attiva. [Disable pre-release capabilities](/docs/it/llm-gateway-protocol#disable-pre-release-capabilities) copre dove si applica l'override |

209| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Imposta su `1` per saltare l'aggiunta automatica del marketplace ufficiale dei plugin al primo avvio |256| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Impostare a `1` per disabilitare i [Explore and Plan subagents](/docs/it/sub-agents#built-in-subagents) incorporati. Claude esplora con i suoi strumenti di ricerca o il subagent di uso generale, e [plan mode](/docs/it/permission-modes#analyze-before-you-edit-with-plan-mode) legge i file direttamente piuttosto che lanciare agenti Explore e Plan. I subagent personalizzati denominati `Explore` o `Plan` non sono interessati. Per rimuovere ogni tipo di subagent incorporato nell'Agent SDK o in modalità non interattiva, utilizzare `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` invece. Richiede Claude Code v2.1.198 o successivo |

210| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Imposta su `1` per saltare il caricamento delle skill dalla directory delle skill gestite a livello di sistema. Utile per sessioni container o CI che non dovrebbero caricare skill fornite dall'operatore |257| `CLAUDE_CODE_DISABLE_FAST_MODE` | Impostare a `1` per disabilitare la [fast mode](/docs/it/fast-mode) |

211| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Imposta su `1` per disabilitare gli aggiornamenti automatici del titolo del terminale in base al contesto della conversazione. In sessioni Agent SDK e `claude -p`, questo salta anche la richiesta di Haiku in background che genera il titolo della sessione |258| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Impostare a `1` per disabilitare i sondaggi sulla qualità della sessione "How is Claude doing?". I sondaggi sono anche disabilitati quando `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostato, a meno che `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` non aderisca di nuovo. Per impostare una frequenza di campionamento invece di disabilitare completamente, utilizzare l'impostazione [`feedbackSurveyRate`](/docs/it/settings-reference#feedbacksurveyrate). Vedere [Session quality surveys](/docs/it/data-usage#session-quality-surveys) |

212| `CLAUDE_CODE_DISABLE_THINKING` | Imposta su `1` per omettere il parametro `thinking` dalle richieste API interamente. Questa è un'opzione di compatibilità per proxy e gateway che rifiutano il parametro. Il comportamento della variabile è invariato rispetto alle versioni precedenti; sui modelli che pensano per impostazione predefinita, omettere il parametro significa che il modello potrebbe comunque pensare. Per disabilitare esplicitamente il [thinking esteso](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sull'API Anthropic, utilizzate `MAX_THINKING_TOKENS=0` invece, che è anche inefficace su Fable 5 poiché non può avere il thinking disattivato. Su [provider di terze parti](/docs/it/third-party-integrations), `0` allo stesso modo omette il parametro, quindi le due variabili si comportano allo stesso modo lì |259| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Impostare a `1` per disabilitare il file [checkpointing](/docs/it/checkpointing). Il comando `/rewind` non sarà in grado di ripristinare le modifiche al codice. Sostituisce l'impostazione [`fileCheckpointingEnabled`](/docs/it/settings-reference#filecheckpointingenabled) |

213| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Imposta su `1` per disabilitare lo scorrimento virtuale nel [rendering a schermo intero](/docs/it/fullscreen) e renderizzare ogni messaggio nella trascrizione. Utilizza questo se lo scorrimento in modalità a schermo intero mostra regioni vuote dove dovrebbero apparire i messaggi |260| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Impostare a `1` per rimuovere le istruzioni di flusso di lavoro commit e PR incorporate e lo snapshot dello stato git dal prompt di sistema di Claude. Utile quando si utilizzano le proprie skill di flusso di lavoro git. Ha la precedenza sull'impostazione [`includeGitInstructions`](/docs/it/settings-reference#includegitinstructions) quando impostato |

214| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Imposta su `1` per disabilitare i [workflow](/docs/it/workflows#turn-workflows-off). Equivalente all'impostazione [`disableWorkflows`](/docs/it/settings#available-settings) |261| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Impostare a `1` per impedire il remapping automatico di Opus 4.0 e 4.1 alla versione Opus corrente sull'API Anthropic. Utilizzare quando desiderate intenzionalmente bloccare un modello più vecchio. Il remapping non viene eseguito su Amazon Bedrock, Google Cloud's Agent Platform, o Microsoft Foundry |

215| `CLAUDE_CODE_EFFORT_LEVEL` | Imposta il livello di sforzo per i modelli supportati. Valori: `low`, `medium`, `high`, `xhigh`, `max` o `auto` per usare il valore predefinito del modello. I livelli disponibili dipendono dal modello. Ha la precedenza su `/effort` e sull'impostazione `effortLevel`. Vedi [Regola il livello di sforzo](/docs/it/model-config#adjust-effort-level) |262| `CLAUDE_CODE_DISABLE_MOUSE` | Impostare a `1` per disabilitare il tracciamento del mouse nel [fullscreen rendering](/docs/it/fullscreen). Lo scorrimento da tastiera con `PgUp` e `PgDn` continua a funzionare. Utilizzare per mantenere il comportamento nativo di copia al passaggio del mouse del vostro terminale |

216| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | Imposta su `1` per abilitare l'aggiunta di testo extra alla fine del prompt di sistema di ogni [subagent](/docs/it/sub-agents). Il flag [`--append-subagent-system-prompt`](/docs/it/cli-reference#cli-flags) fornisce il testo aggiunto e imposta questa variabile automaticamente, quindi non è necessario impostarla voi stessi. Richiede Claude Code v2.1.205 o successivo |263| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Impostare a `1` per disabilitare il clic, il trascinamento e la gestione del passaggio del mouse nel [fullscreen rendering](/docs/it/fullscreen) mantenendo lo scorrimento della rotella del mouse. Utilizzare quando desiderate che lo scorrimento della rotella funzioni all'interno di Claude Code ma non desiderate che i clic posizionino il cursore, espandano l'output dello strumento o aprano i link. `CLAUDE_CODE_DISABLE_MOUSE` ha la precedenza quando entrambi sono impostati. Richiede Claude Code v2.1.195 o successivo |

217| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Accettato per compatibilità con versioni precedenti e non ha effetto. La modalità auto è disponibile per impostazione predefinita su ogni provider, inclusi Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e sessioni [gateway app Claude](/docs/it/claude-apps-gateway) con accesso. In v2.1.158 attraverso v2.1.206, l'impostazione di questo su `1` era richiesta per rendere la [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) disponibile su quei provider |264| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Impostare a `1` per impedire a Claude Code di ri-leggere il [certificato client mTLS e la chiave](/docs/it/network-config#mtls-authentication) quando una richiesta API fallisce con un errore a livello di connessione, come un reset della connessione o un errore di handshake TLS. Con il ricaricamento disabilitato, Claude Code carica i file ruotati solo quando applica successivamente le impostazioni o al prossimo avvio. Richiede Claude Code v2.1.232 o successivo |

218| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sovrascrivi la disponibilità del [riepilogo della sessione](/docs/it/interactive-mode#session-recap). Imposta su `0` per forzare i riepiloghi disattivati indipendentemente dall'interruttore `/config`. Imposta su `1` per forzare i riepiloghi attivati quando [`awaySummaryEnabled`](/docs/it/settings#available-settings) è `false`. Ha la precedenza sull'impostazione e sull'interruttore `/config` |265| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Impostare a qualsiasi valore non vuoto, come `1`, per disabilitare il traffico di rete non essenziale: auto-aggiornamenti, telemetria, segnalazione di errori, il comando `/feedback`, [Claude-drafted feedback](/docs/it/tools-reference#sendfeedback-tool-behavior), note di rilascio, i controlli del [PR and MR status badge](/docs/it/interactive-mode#pr-review-status), e i controlli di disponibilità come il controllo della [fast mode](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Interrompe anche le [esecuzioni di background del plugin `command` sources](/docs/it/plugin-marketplaces#when-claude-code-re-runs-the-command), che sono comandi locali piuttosto che traffico di rete, perché possono attivare installazioni di dipendenze. **L'impostazione a `0` o `false` disattiva comunque questo traffico**, a differenza della maggior parte delle variabili on/off; annullare l'impostazione della variabile per consentirlo di nuovo. Disabilita anche il recupero dei flag di funzionalità, il che rende [Remote Control](/docs/it/remote-control#requirements) e le altre [funzionalità che necessitano del recupero dei flag di funzionalità](#features-that-need-feature-flag-fetching) non disponibili. L'auto-installazione del marketplace ufficiale dei plugin non è coperta; disabilitarla con `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Non influisce sulla [gateway model discovery](/docs/it/llm-gateway-connect#add-gateway-models-to-the-model-picker), che ha il suo opt-in |

219| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Imposta su `1` per aggiornare lo stato del plugin ai confini dei turni in [modalità non interattiva](/docs/it/headless) dopo il completamento di un'installazione in background. Disattivato per impostazione predefinita perché l'aggiornamento cambia il prompt di sistema a metà sessione, il che invalida il [caching dei prompt](/docs/it/prompt-caching) per quel turno |266| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Impostare a `1` per disabilitare il fallback non in streaming quando una richiesta in streaming fallisce a metà flusso. Gli errori di streaming si propagano al livello di ripetizione. Utile quando un proxy o gateway causa il fallback per produrre l'esecuzione duplicata dello strumento |

220| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Imposta su `1` per instradare il sondaggio sulla qualità della sessione "Come sta andando Claude?" al vostro [collettore OpenTelemetry](/docs/it/monitoring-usage) quando il traffico non essenziale legato ad Anthropic è bloccato. I rating del sondaggio vengono emessi solo come eventi OTEL al vostro collettore configurato. Nessun dato del sondaggio viene inviato ad Anthropic in questa modalità. Si applica quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` o `DO_NOT_TRACK` è impostato, e non ha effetto altrimenti. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e la politica di feedback del prodotto dell'organizzazione hanno la precedenza |267| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Impostare a `1` per inviare la notifica desktop dello strumento `PushNotification` anche mentre state digitando nel terminale o siete focalizzati su di esso. Per impostazione predefinita lo strumento salta sia la notifica desktop che il [mobile push](/docs/it/remote-control#mobile-push-notifications) quando rileva l'attività della tastiera recente o la messa a fuoco del terminale. Questa variabile disabilita solo quel controllo locale, in modo che il server possa comunque sopprimere il mobile push quando rileva che siete attivi. Richiede Claude Code v2.1.193 o successivo |

221| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controlla se gli input delle chiamate di strumento vengono trasmessi dall'API mentre Claude li genera. Con questo disattivato, un input di strumento grande come una lunga scrittura di file arriva solo dopo che Claude finisce di generarlo, il che può sembrare che sia bloccato. Abilitato per impostazione predefinita sull'API Anthropic. Su Amazon Bedrock e Google Cloud's Agent Platform, abilitato per modello dove il container distribuito lo supporta. Imposta su `0` per rinunciare. Imposta su `1` per forzare l'abilitazione quando instrada attraverso un proxy tramite `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` o `ANTHROPIC_BEDROCK_BASE_URL`. Disattivato per impostazione predefinita su Microsoft Foundry e connessioni [gateway](/docs/it/llm-gateway) |268| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Impostare a `1` per disabilitare la registrazione automatica del marketplace ufficiale dei plugin. Claude Code legge la variabile quando sta per registrare il marketplace, di solito durante il primo avvio interattivo di una macchina. Se la variabile è impostata a quel punto, Claude Code salta la registrazione in modo permanente. L'annullamento dell'impostazione della variabile in seguito non annulla il salto. Eseguite `claude plugin marketplace add anthropics/claude-plugins-official` per registrare il marketplace in qualsiasi momento |

222| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Imposta su `1` per popolare il selettore `/model` dall'endpoint `/v1/models` del vostro gateway quando `ANTHROPIC_BASE_URL` punta a un gateway compatibile con Anthropic come LiteLLM, Kong o un proxy interno. Disattivato per impostazione predefinita perché i gateway supportati da una chiave API condivisa mostrerebbero altrimenti a ogni utente ogni modello a cui la chiave può accedere. I modelli scoperti vengono comunque filtrati dall'allowlist [`availableModels`](/docs/it/settings#available-settings) che la sessione riceve; consegnate l'elenco tramite [MDM o un file di impostazioni gestito](/docs/it/settings#settings-files), poiché la [consegna gestita dal server non è disponibile su configurazioni gateway](/docs/it/server-managed-settings#platform-availability) |269| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Impostare a `1` per impedire a Claude Code di eseguire i vostri [hook `Notification` per le richieste di autorizzazione senza risposta](/docs/it/hooks#notification) nelle sessioni in cui Claude Code le invia al callback `canUseTool` dell'Agent SDK, che è come Claude Desktop e l'estensione VS Code ospitano Claude Code. Non ha effetto nelle sessioni del terminale. Richiede Claude Code v2.1.233 o successivo |

223| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Rimosso in v2.1.142, quando il valore predefinito della [modalità veloce](/docs/it/fast-mode) è passato da Opus 4.6 a Opus 4.7 |270| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Impostare a `1` per saltare il caricamento delle skill dalla directory delle skill gestite a livello di sistema. Utile per le sessioni di container o CI che non dovrebbero caricare le skill fornite dall'operatore |

224| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Imposta su `false` per disabilitare i suggerimenti di prompt (l'interruttore "Prompt suggestions" in `/config`). Questi sono i suggerimenti predetti in grigio che appaiono nel vostro input di prompt dopo che Claude risponde. Vedi [Suggerimenti di prompt](/docs/it/interactive-mode#prompt-suggestions) |271| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Impostare a `1` per disabilitare gli aggiornamenti automatici del titolo del terminale in base al contesto della conversazione. Nelle sessioni Agent SDK e `claude -p`, questo salta anche la richiesta del modello piccolo/veloce di background che genera il titolo della sessione |

225| `CLAUDE_CODE_ENABLE_TASKS` | Controlla se le sessioni utilizzano gli strumenti Task strutturati (`TaskCreate`, `TaskUpdate`, `TaskGet`, `TaskList`) o lo strumento legacy `TodoWrite`. A partire da Claude Code v2.1.142, gli strumenti Task sono il valore predefinito in tutte le modalità. Imposta su `0` per tornare a `TodoWrite`. Vedi [Elenco attività](/docs/it/interactive-mode#task-list) e [Migra agli strumenti Task](/docs/it/agent-sdk/todo-tracking#migrate-to-task-tools) |272| `CLAUDE_CODE_DISABLE_THINKING` | Impostare a `1` per omettere il parametro `thinking` dalle richieste API completamente. Questa è un'opzione di compatibilità per i proxy e i gateway che rifiutano il parametro. Sui modelli che pensano per impostazione predefinita, omettere il parametro significa che il modello potrebbe comunque pensare. Per disabilitare esplicitamente l'[extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sull'API Anthropic, utilizzare `MAX_THINKING_TOKENS=0` invece. Nessuna variabile disattiva il thinking sui modelli Fable, che non possono avere il thinking disattivato. Su [provider di terze parti](/docs/it/third-party-integrations), `MAX_THINKING_TOKENS=0` omette allo stesso modo il parametro, quindi le due variabili si comportano allo stesso modo lì |

226| `CLAUDE_CODE_ENABLE_TELEMETRY` | Imposta su `1` per abilitare la raccolta di dati OpenTelemetry per metriche e logging. Obbligatorio prima di configurare gli esportatori OTel. Vedi [Monitoraggio](/docs/it/monitoring-usage) |273| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Impostare a `1` per saltare la [auto-compaction](/docs/it/costs#reduce-token-usage) proattiva quando Claude Code non riconosce l'ID del modello, come un alias [gateway LLM](/docs/it/llm-gateway). Senza questa variabile, Claude Code compatta alla finestra di contesto che presume per l'ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` può correggere la finestra presunta; vedere [Correct the window for a gateway or custom model ID](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id) per quando si applica ogni variabile. Richiede Claude Code v2.1.223 o successivo |

227| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo in millisecondi da attendere dopo che il loop di query diventa inattivo prima di uscire automaticamente. Utile per flussi di lavoro automatizzati e script che utilizzano la modalità SDK |274| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Impostare a `1` per disabilitare lo scorrimento virtuale nel [fullscreen rendering](/docs/it/fullscreen) e rendere ogni messaggio nella trascrizione. Utilizzare se lo scorrimento in modalità fullscreen mostra regioni vuote dove dovrebbero apparire i messaggi |

228| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Imposta su `1` per abilitare i [team di agenti](/docs/it/agent-teams). I team di agenti sono sperimentali e disabilitati per impostazione predefinita |275| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Impostare a `1` per disabilitare i [workflows](/docs/it/workflows#turn-workflows-off). Equivalente all'impostazione [`disableWorkflows`](/docs/it/settings-reference#disableworkflows) |

229| `CLAUDE_CODE_EXTRA_BODY` | Oggetto JSON da unire al livello superiore di ogni corpo di richiesta API. Utile per passare parametri specifici del provider che Claude Code non espone direttamente. Un valore esportato nella vostra shell si applica anche alle [sessioni in background](/docs/it/agent-view) che inviate con `claude agents` o `--bg`. Prima di v2.1.206, le sessioni in background ignoravano un valore esportato dalla shell e utilizzavano qualsiasi copia il processo supervisore in background ereditava |276| `CLAUDE_CODE_EFFORT_LEVEL` | Impostare il livello di effort per i modelli supportati. Valori: `low`, `medium`, `high`, `xhigh`, `max`, o `auto` per utilizzare il predefinito del modello. I livelli disponibili dipendono dal modello. Ha la precedenza su `--effort`, `/effort`, e le impostazioni `modelSettings` e `effortLevel`. Un limite [`maxEffortLevel`](/docs/it/settings-reference#maxeffortlevel) si applica comunque. Vedere [Adjust effort level](/docs/it/model-config#adjust-effort-level) |

230| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sovrascrivi il limite di token predefinito per le letture di file. Utile quando è necessario leggere file più grandi per intero |277| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | Impostare a `1` per abilitare l'aggiunta di testo extra alla fine del prompt di sistema di ogni [subagent](/docs/it/sub-agents) diverso da un [forked subagent](/docs/it/sub-agents#fork-the-current-conversation). I flag [`--append-subagent-system-prompt`](/docs/it/cli-reference#cli-flags) e [`--append-subagent-system-prompt-file`](/docs/it/cli-reference#cli-flags) forniscono il testo aggiunto e impostano questa variabile automaticamente, quindi non è necessario impostarla voi stessi. Richiede Claude Code v2.1.205 o successivo |

231| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Imposta su `1` per forzare la persistenza della trascrizione, la cronologia dei prompt e la registrazione di `claude agents` anche quando questo `claude` è stato avviato dall'interno di un'altra sessione Claude Code. Utilizza quando un valore `CLAUDE_CODE_CHILD_SESSION` ereditato, ad esempio da una sessione tmux o un launcher in background avviato per la prima volta dallo strumento Bash di Claude Code, causa una sessione di livello superiore genuina a essere classificata erroneamente come annidata. A partire da v2.1.178, Claude Code rileva automaticamente il caso tmux e ignora il marcatore ereditato, quindi tmux non ha più bisogno di questa variabile. Anche onorato su v2.1.169 e versioni precedenti; non ha effetto su v2.1.170 e v2.1.171, dove il rilevamento della sessione annidata che sostituisce è stato rimosso |278| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Accettato per compatibilità con versioni precedenti e non ha effetto. La modalità auto è disponibile per impostazione predefinita su ogni provider, incluso Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, e sessioni del [Claude apps gateway](/docs/it/claude-apps-gateway) con accesso. Nella v2.1.158 attraverso v2.1.206, l'impostazione di questo a `1` era necessaria per rendere la [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) disponibile su quei provider |

232| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Imposta su `1` per forzare il rendering del barrato per `~~text~~` nelle risposte di Claude quando il vostro terminale lo supporta ma non viene rilevato automaticamente, ad esempio su SSH senza `TERM_PROGRAM` inoltrato. Senza questo, i terminali non rilevati mostrano i marcatori letterali `~~` invece di renderizzare il testo come barrato. Richiede Claude Code v2.1.186 o successivo |279| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sostituire la disponibilità del [session recap](/docs/it/interactive-mode#session-recap). Impostare a `0` per forzare i riepiloghi disattivati indipendentemente dall'interruttore `/config`. Impostare a `1` per forzare i riepiloghi attivi quando [`awaySummaryEnabled`](/docs/it/settings-reference#awaysummaryenabled) è `false`. Ha la precedenza sull'impostazione e sull'interruttore `/config` |

233| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Imposta su `1` per forzare l'abilitazione della modalità privata DEC 2026 [synchronized output](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) quando il vostro terminale la supporta ma non viene rilevato automaticamente. Utile per emulatori come Emacs `eat` che implementano BSU/ESU ma non rispondono al probe di capacità. Non ha effetto sotto tmux. A differenza di `CLAUDE_CODE_NO_FLICKER`, che passa al [rendering a schermo intero](/docs/it/fullscreen), questo non cambia il renderer |280| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Impostare a `1` per aggiornare lo stato del plugin ai confini dei turni in [modalità non interattiva](/docs/it/headless) dopo il completamento di un'installazione di background. Disattivato per impostazione predefinita perché l'aggiornamento cambia il prompt di sistema a metà sessione, il che invalida la [prompt caching](/docs/it/prompt-caching) per quel turno |

234| `CLAUDE_CODE_FORK_SUBAGENT` | Imposta su `1` per consentire a Claude di generare [subagent biforcati](/docs/it/sub-agents#fork-the-current-conversation), o `0` per disabilitarli, sostituendo qualsiasi rollout lato server. Quando abilitato, Claude può richiedere il tipo di subagent `fork` per generare un fork, un subagent che eredita il contesto della conversazione completa invece di iniziare da zero. Gli spawn senza un tipo di subagent utilizzano comunque il subagent di uso generale, e tutti gli spawn di subagent vengono eseguiti in background. Il comando esplicito [`/fork`](/docs/it/commands) funziona senza questa variabile. Funziona in modalità interattiva e tramite SDK o `claude -p` |281| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Impostare a `1` per instradare il sondaggio sulla qualità della sessione "How is Claude doing?" al vostro [OpenTelemetry collector](/docs/it/monitoring-usage) quando il traffico non essenziale legato ad Anthropic è bloccato. I rating del sondaggio vengono emessi solo come eventi OTEL al vostro collettore configurato. Nessun dato del sondaggio viene inviato ad Anthropic in questa modalità. Si applica quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY`, o `DO_NOT_TRACK` è impostato, e non ha effetto altrimenti. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e la politica di feedback del prodotto dell'organizzazione hanno la precedenza |

235| `CLAUDE_CODE_GIT_BASH_PATH` | Solo Windows: percorso dell'eseguibile Git Bash (`bash.exe`). Utilizza quando Git Bash è installato ma non nel vostro PATH. Vedi [Configurazione di Windows](/docs/it/setup#set-up-on-windows) |282| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controlla se gli input delle chiamate di strumento vengono trasmessi dall'API mentre Claude li genera. Con questo disattivato, un grande input di strumento come una lunga scrittura di file arriva solo dopo che Claude finisce di generarlo, il che può sembrare che sia bloccato. Abilitato per impostazione predefinita sull'API Anthropic. Su Amazon Bedrock e Google Cloud's Agent Platform, abilitato per modello dove il contenitore distribuito lo supporta. Impostare a `0` per rinunciare. Impostare a `1` per forzare l'attivazione quando si instrada attraverso un proxy tramite `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, o `ANTHROPIC_BEDROCK_BASE_URL`. Disattivato per impostazione predefinita su Microsoft Foundry e connessioni [gateway](/docs/it/llm-gateway) |

236| `CLAUDE_CODE_GLOB_HIDDEN` | Imposta su `false` per escludere i dotfile dai risultati quando Claude richiama lo [strumento Glob](/docs/it/tools-reference#glob-tool-behavior). Incluso per impostazione predefinita. Non influisce su `@` file autocomplete, `ls`, Grep o Read |283| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Impostare a `1` per popolare il selettore `/model` dall'endpoint `/v1/models` del vostro gateway quando `ANTHROPIC_BASE_URL` punta a un gateway compatibile con Anthropic come LiteLLM, Kong, o un proxy interno. Disattivato per impostazione predefinita perché i gateway supportati da una chiave API condivisa mostrerebbero altrimenti a ogni utente ogni modello a cui la chiave può accedere. I modelli scoperti vengono comunque filtrati da un'allowlist [`availableModels`](/docs/it/settings-reference#availablemodels) che la sessione riceve; fornire l'elenco tramite [MDM o un file di impostazioni gestite](/docs/it/managed-settings#delivery-mechanisms), poiché la [consegna gestita dal server non è disponibile su configurazioni gateway](/docs/it/server-managed-settings#platform-availability) |

237| `CLAUDE_CODE_GLOB_NO_IGNORE` | Imposta su `false` per fare in modo che lo [strumento Glob](/docs/it/tools-reference#glob-tool-behavior) rispetti i modelli `.gitignore`. Per impostazione predefinita, Glob restituisce tutti i file corrispondenti inclusi quelli gitignored. Non influisce su `@` file autocomplete, che ha la sua propria impostazione [`respectGitignore`](/docs/it/settings#available-settings) |284| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Rimosso nella v2.1.142, quando il predefinito della [fast mode](/docs/it/fast-mode) si è spostato da Opus 4.6 a Opus 4.7 |

238| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in secondi per la scoperta dei file dello strumento Glob. Per impostazione predefinita 20 secondi sulla maggior parte delle piattaforme e 60 secondi su WSL |285| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Impostare a `false` per disattivare i suggerimenti di prompt, le previsioni grigie che appaiono nell'input del vostro prompt. Ha la precedenza sull'impostazione [`promptSuggestionEnabled`](/docs/it/settings-reference#promptsuggestionenabled), che è quello che l'interruttore **Prompt suggestions** in `/config` scrive. Claude Code inoltre [mette in pausa i suggerimenti mentre il vostro account è vicino o al limite di utilizzo](/docs/it/interactive-mode#when-claude-code-skips-suggestions). Impostare a `true` per mantenerli attivi fino a raggiungere il limite. Richiede Claude Code v2.1.238 o successivo. Vedere [Prompt suggestions](/docs/it/interactive-mode#prompt-suggestions) |

239| `CLAUDE_CODE_HIDE_CWD` | Imposta su `1` per nascondere la directory di lavoro nel logo di avvio. Utile per screenshare o registrazioni in cui il percorso espone il vostro nome utente del sistema operativo |286| `CLAUDE_CODE_ENABLE_TASKS` | Seleziona quali strumenti di tracciamento dei compiti Claude Code fornisce nelle [sessioni che li hanno](/docs/it/tools-reference#task-tool-availability). Per impostazione predefinita, Claude Code fornisce gli strumenti Task `TaskCreate`, `TaskUpdate`, `TaskGet`, e `TaskList`. Impostare a `0` per ottenere lo strumento legacy `TodoWrite`. Vedere [Task list](/docs/it/interactive-mode#task-list) |

240| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sovrascrivi l'indirizzo host utilizzato per connettersi all'estensione IDE. Per impostazione predefinita Claude Code rileva automaticamente l'indirizzo corretto, incluso il routing WSL-to-Windows |287| `CLAUDE_CODE_ENABLE_TELEMETRY` | Impostare a `1` per abilitare la raccolta di dati OpenTelemetry per metriche e registrazione. Obbligatorio prima di configurare gli esportatori OTel. Vedere [Monitoring](/docs/it/monitoring-usage) |

241| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Imposta su `1` per saltare l'installazione automatica delle estensioni IDE. Equivalente all'impostazione di [`autoInstallIdeExtension`](/docs/it/settings#global-config-settings) su `false` |288| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Impostare a `1` per ottenere gli strumenti di tracciamento dei compiti su ogni modello. Senza di esso, Claude Code li fornisce per impostazione predefinita solo sui modelli elencati in [Task tool availability](/docs/it/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` seleziona comunque gli strumenti Task o `TodoWrite`. Richiede Claude Code v2.1.233 o successivo |

242| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Imposta su `1` per saltare la convalida delle voci del file di blocco IDE durante la connessione. Utilizza quando l'auto-connessione non riesce a trovare il vostro IDE nonostante sia in esecuzione |289| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo in millisecondi da aspettare dopo che il ciclo di query diventa inattivo prima di uscire automaticamente. Utile per flussi di lavoro automatizzati e script che utilizzano la modalità SDK |

243| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sovrascrivi la dimensione della finestra del contesto che Claude Code assume per il modello attivo. A partire da v2.1.193, applicato direttamente per i nomi di modelli che Claude Code non riconosce come modello Claude; per i modelli Claude riconosciuti ha effetto solo quando `DISABLE_COMPACT` è anche impostato. Utilizza questo quando instrada a un modello attraverso `ANTHROPIC_BASE_URL` la cui finestra del contesto non corrisponde alla dimensione integrata per il suo nome |290| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Impostare a `1` per abilitare i [agent teams](/docs/it/agent-teams). I team di agenti sono sperimentali e disabilitati per impostazione predefinita |

244| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Imposta il numero massimo di token di output per la maggior parte delle richieste. I valori predefiniti e massimi variano in base al modello; vedi [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). L'aumento di questo valore riduce la finestra del contesto effettiva disponibile prima che venga attivata la [compattazione automatica](/docs/it/costs#reduce-token-usage) |291| `CLAUDE_CODE_EXTRA_BODY` | Oggetto JSON da unire al livello superiore di ogni corpo di richiesta API. Utile per passare parametri specifici del provider che Claude Code non espone direttamente. Un valore esportato nella vostra shell si applica anche alle [sessioni di background](/docs/it/agent-view) che inviate con `claude agents` o `--bg`. Prima della v2.1.206, le sessioni di background ignoravano un valore esportato dalla shell e utilizzavano qualsiasi copia che il processo supervisore di background ereditava |

245| `CLAUDE_CODE_MAX_RETRIES` | Sovrascrivi il numero di volte per riprovare le richieste API non riuscite (predefinito: 10). Limitato a 15 a partire da v2.1.186; a partire da v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta il valore predefinito e rimuove il limite. Per sessioni non presidiate che devono attendere attraverso interruzioni più lunghe, imposta `CLAUDE_CODE_RETRY_WATCHDOG` |292| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sostituire il limite di token predefinito per le letture di file. Utile quando è necessario leggere file più grandi per intero |

246| `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 |293| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Impostare a `1` per forzare la persistenza della trascrizione, la cronologia dei prompt, e la registrazione di `claude agents` anche quando questo `claude` è stato avviato dall'interno di un'altra sessione Claude Code. Utilizzare quando un valore `CLAUDE_CODE_CHILD_SESSION` ereditato, ad esempio da una sessione `screen` o un launcher di background avviato per la prima volta dallo strumento Bash di Claude Code, causa una sessione di livello superiore genuina a essere classificata erroneamente come nidificata. A partire dalla v2.1.178, Claude Code rileva automaticamente il caso tmux e ignora il marcatore ereditato, quindi tmux non ha più bisogno di questa variabile. Anche onorato su v2.1.169 e precedenti; non ha effetto su v2.1.170 e v2.1.171, dove il rilevamento della sessione nidificata che sostituisce è stato rimosso |

247| `CLAUDE_CODE_MAX_TURNS` | Limita il numero di turni agentici quando non viene passato un limite esplicito. Equivalente a passare [`--max-turns`](/docs/it/cli-reference#cli-flags), che ha la precedenza quando entrambi sono impostati. Un valore che non è un intero positivo viene rifiutato all'avvio con un errore piuttosto che trattato come nessun limite |294| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Impostare a `1` per forzare il rendering del barrato per `~~text~~` nelle risposte di Claude quando il vostro terminale lo supporta ma non è auto-rilevato, come su SSH senza `TERM_PROGRAM` inoltrato. Senza questo, i terminali non rilevati mostrano i marcatori letterali `~~` invece di rendere il testo come barrato. Richiede Claude Code v2.1.186 o successivo |

248| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Imposta su `1` per generare server MCP stdio con solo un ambiente di base sicuro più il `env` configurato del server, invece di ereditare l'ambiente della vostra shell |295| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Impostare a `1` per forzare l'abilitazione della modalità privata DEC 2026 [synchronized output](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) quando il vostro terminale lo supporta ma non è auto-rilevato. Utile per emulatori come `eat` di Emacs che implementano BSU/ESU ma non rispondono al probe di capacità. Non ha effetto sotto tmux. A differenza di `CLAUDE_CODE_NO_FLICKER`, che passa al [fullscreen rendering](/docs/it/fullscreen), questo non cambia il renderer |

249| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Timeout di inattività in millisecondi per le chiamate di strumento MCP. Quando un server MCP stdio, HTTP, SSE, WebSocket o [connettore claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) non invia risposta e nessuna notifica di progresso per questo tempo, la chiamata dello strumento si interrompe con un errore invece di attendere il `MCP_TOOL_TIMEOUT` complessivo. Sostituisce i valori predefiniti per trasporto di 300000 (5 minuti) per server di rete e 1800000 (30 minuti) per server stdio. Imposta su `0` per disabilitare il controllo di inattività. I valori inferiori a 1000 vengono aumentati a un secondo, e il valore è limitato al `MCP_TOOL_TIMEOUT` effettivo. Un `timeout` per server in `.mcp.json` di almeno 1000 aumenta la finestra di inattività di quel server ad almeno il valore `timeout`. Non si applica ai server IDE o SDK in-process. Richiede Claude Code v2.1.187 o successivo. Prima di v2.1.203, i server stdio erano esenti dal timeout di inattività |296| `CLAUDE_CODE_FORK_SUBAGENT` | Controlla la [fork mode](/docs/it/sub-agents#turn-fork-mode-on-or-off), che consente a Claude di generare [forked subagents](/docs/it/sub-agents#fork-the-current-conversation) stesso ed è attiva per impostazione predefinita solo nelle sessioni interattive. Impostare a `1` per attivarla anche in `claude -p` e l'Agent SDK, o `0` per disattivarla in ogni tipo di sessione. Potete eseguire `/subtask` indipendentemente dal fatto che la fork mode sia attiva. Il predefinito interattivo richiede Claude Code v2.1.232 o successivo; su versioni precedenti, impostare la variabile a `1` per attivare la fork mode |

250| `CLAUDE_CODE_NATIVE_CURSOR` | Imposta su `1` per mostrare il cursore proprio del terminale al cursore di input invece di un blocco disegnato. Il cursore rispetta le impostazioni di lampeggio, forma e focus del terminale |297| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Impostare a `1` per emettere i blocchi di testo e thinking del [subagent](/docs/it/sub-agents) nell'output `claude -p --output-format stream-json`, lo stesso comportamento del flag [`--forward-subagent-text`](/docs/it/cli-reference#cli-flags). Utilizzare la variabile quando un harness invoca `claude` e non può passare il flag stesso. A differenza del flag, che esce con un errore al di fuori della modalità non interattiva con output stream-json, la variabile viene ignorata lì in modo che le invocazioni nidificate continuino a funzionare quando è impostata a livello di processo. Richiede Claude Code v2.1.211 o successivo |

251| `CLAUDE_CODE_NEW_INIT` | Imposta su `1` per fare in modo che `/init` esegua un flusso di configurazione interattivo. Il flusso chiede quali file generare, inclusi CLAUDE.md, skill e hook, prima di esplorare la base di codice e scriverli. Senza questa variabile, `/init` genera un CLAUDE.md automaticamente senza chiedere |298| `CLAUDE_CODE_GIT_BASH_PATH` | Solo Windows: percorso all'eseguibile Git Bash (`bash.exe`). Utilizzare quando Git Bash è installato ma non nel vostro PATH. Se il percorso non esiste o il file non è denominato `bash.exe`, `sh.exe`, `bash`, o `sh`, Claude Code ignora la variabile e auto-rileva Git Bash come se fosse non impostata, registrando un avviso visibile con `--debug`. Prima della v2.1.219, Claude Code usciva all'avvio quando il percorso non esisteva, e utilizzava qualsiasi file esistente come shell senza verificare che fosse bash o sh. Vedere [Windows setup](/docs/it/setup#set-up-on-windows) |

252| `CLAUDE_CODE_NO_FLICKER` | Imposta su `1` per abilitare il [rendering a schermo intero](/docs/it/fullscreen), un'anteprima di ricerca che riduce lo sfarfallio e mantiene la memoria piatta nelle conversazioni lunghe. Equivalente all'impostazione [`tui`](/docs/it/settings#available-settings); potete anche passare con `/tui fullscreen` |299| `CLAUDE_CODE_GLOB_HIDDEN` | Impostare a `false` per escludere i dotfile dai risultati quando Claude invoca lo strumento [Glob](/docs/it/tools-reference#glob-tool-behavior). Incluso per impostazione predefinita. Non influisce su `@` file autocomplete, `ls`, Grep, o Read |

253| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token di aggiornamento OAuth per l'autenticazione Claude.ai. Se impostato, `claude auth login` scambia questo token direttamente invece di aprire un browser. Richiede `CLAUDE_CODE_OAUTH_SCOPES`. Utile per il provisioning dell'autenticazione in ambienti automatizzati |300| `CLAUDE_CODE_GLOB_NO_IGNORE` | Impostare a `false` per fare in modo che lo strumento [Glob](/docs/it/tools-reference#glob-tool-behavior) rispetti i modelli `.gitignore`. Per impostazione predefinita, Glob restituisce tutti i file corrispondenti inclusi quelli gitignored. Non influisce su `@` file autocomplete, che ha la sua impostazione [`respectGitignore`](/docs/it/settings-reference#respectgitignore) |

254| `CLAUDE_CODE_OAUTH_SCOPES` | Ambiti OAuth separati da spazi con cui è stato emesso il token di aggiornamento, come `"user:profile user:inference user:sessions:claude_code"`. Obbligatorio quando `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` è impostato |301| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in secondi per la scoperta dei file dello strumento Glob. Predefinito a 20 secondi sulla maggior parte delle piattaforme e 60 secondi su WSL |

255| `CLAUDE_CODE_OAUTH_TOKEN` | Token di accesso OAuth per l'autenticazione Claude.ai. Alternativa a `/login` per SDK e ambienti automatizzati. Ha la precedenza sulle credenziali archiviate nel portachiavi. Generatene uno con [`claude setup-token`](/docs/it/authentication#generate-a-long-lived-token) |302| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Quanti minuti il lavoro di background può mantenere un obiettivo attivo in attesa prima che Claude Code [chieda a Claude di controllarlo](/docs/it/goal#background-work-defers-evaluation). Predefinito `30`. Impostare `0` per disattivare i check-in. Fornire minuti interi in cifre semplici, al massimo `10080`, che è una settimana. Claude Code tratta qualsiasi altro valore come non impostato e utilizza il predefinito. Richiede Claude Code v2.1.234 o successivo |

256| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Rimosso in v2.1.160 e ora un no-op. In precedenza fissava la [modalità veloce](/docs/it/fast-mode) a Claude Opus 4.6 invece del valore predefinito corrente. Opus 4.6 non supporta più la modalità veloce |303| `CLAUDE_CODE_HIDE_CWD` | Impostare a `1` per nascondere la directory di lavoro nel logo di avvio. Utile per screenshare o registrazioni dove il percorso espone il vostro nome utente del sistema operativo |

257| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Imposta su `1` per scrivere gli errori diagnostici dell'esportatore OpenTelemetry su stderr. Per impostazione predefinita questi errori appaiono solo con `--debug`, quindi un esportatore non configurato correttamente come una collisione di porta Prometheus altrimenti fallisce silenziosamente. Richiede Claude Code v2.1.179 o successivo. Vedi [Monitoraggio](/docs/it/monitoring-usage) |304| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sostituire l'indirizzo host utilizzato per connettersi all'estensione IDE. Per impostazione predefinita Claude Code auto-rileva l'indirizzo corretto, incluso il routing WSL-to-Windows |

258| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in millisecondi per lo scaricamento dei span OpenTelemetry in sospeso (predefinito: 5000). Vedi [Monitoraggio](/docs/it/monitoring-usage) |305| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Impostare a `1` per saltare l'auto-installazione delle estensioni IDE. Equivalente all'impostazione [`autoInstallIdeExtension`](/docs/it/settings-reference#autoinstallideextension) a `false` |

259| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervallo per l'aggiornamento delle intestazioni OpenTelemetry dinamiche in millisecondi (predefinito: 1740000 / 29 minuti). Vedi [Intestazioni dinamiche](/docs/it/monitoring-usage#dynamic-headers) |306| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Impostare a `1` per saltare la convalida delle voci del file di blocco IDE durante la connessione. Utilizzare quando l'auto-connessione non riesce a trovare il vostro IDE nonostante sia in esecuzione |

260| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in millisecondi per l'esportatore OpenTelemetry per terminare all'arresto (predefinito: 2000). Aumentate se le metriche vengono eliminate all'uscita. Vedi [Monitoraggio](/docs/it/monitoring-usage) |307| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quanti [subagent](/docs/it/sub-agents#concurrent-subagent-limit) possono essere in esecuzione in una sessione prima che lo strumento Agent rifiuti di generarne un altro (predefinito: 20). Accetta un numero intero positivo in cifre semplici; qualsiasi cosa diversa viene ignorata, quindi la variabile può regolare il limite ma non disabilitarlo. Richiede Claude Code v2.1.217 o successivo |

261| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Imposta su `1` per consentire a Claude Code di eseguire il comando di aggiornamento del vostro gestore di pacchetti in background quando una nuova versione è disponibile. Si applica alle installazioni Homebrew e WinGet. Gli altri gestori di pacchetti continuano a mostrare il comando di aggiornamento senza eseguirlo. Vedi [Aggiornamenti automatici](/docs/it/setup#auto-updates) |308| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sostituire la dimensione della finestra di contesto che Claude Code presume per il modello attivo. A partire dalla v2.1.193, come si applica dipende da come Claude Code risolve l'ID del modello; vedere [Correct the window for a gateway or custom model ID](/docs/it/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Utilizzare quando si instrada a un modello attraverso `ANTHROPIC_BASE_URL` la cui finestra di contesto non corrisponde alla dimensione incorporata per il suo nome |

262| `CLAUDE_CODE_PERFORCE_MODE` | Imposta su `1` per abilitare la protezione da scrittura consapevole di Perforce. Se impostato, Edit, Write e NotebookEdit falliscono con un suggerimento `p4 edit <file>` se il file di destinazione manca del bit di scrittura del proprietario, che Perforce cancella sui file sincronizzati fino a quando `p4 edit` non li apre. Questo impedisce a Claude Code di aggirare il tracciamento dei cambiamenti di Perforce |309| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Impostare il numero massimo di token di output per la maggior parte delle richieste. I predefiniti e i limiti variano per modello; vedere [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code predefinisce a 32000 per gli ID modello che non riconosce, come i nomi specifici del gateway, e abbassa i valori superiori al limite di un modello al limite. L'aumento di questo valore riduce la finestra di contesto effettiva disponibile prima che si attivi l'[auto-compaction](/docs/it/costs#reduce-token-usage) |

263| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Sovrascrivi la directory radice dei plugin. Nonostante il nome, questo imposta la directory padre, non la cache stessa: i marketplace e la cache dei plugin si trovano in sottodirectory sotto questo percorso. Per impostazione predefinita `~/.claude/plugins` |310| `CLAUDE_CODE_MAX_RETRIES` | Sostituire il numero di volte per riprovare le richieste API non riuscite (predefinito: 10). Limitato a 15 a partire dalla v2.1.186; a partire dalla v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta il predefinito e rimuove il limite. Per le sessioni non presenziate che devono aspettare attraverso interruzioni più lunghe, impostare `CLAUDE_CODE_RETRY_WATCHDOG` invece |

264| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in millisecondi per le operazioni git durante l'installazione o l'aggiornamento dei plugin (predefinito: 120000). Aumentate questo valore per repository di grandi dimensioni o connessioni di rete lente. Vedi [Le operazioni Git scadono](/docs/it/plugin-marketplaces#git-operations-time-out) |311| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Rimosso nella v2.1.224 e ora un no-op. In precedenza limitava il numero totale di [subagent](/docs/it/sub-agents) che Claude poteva generare con lo strumento Agent in una sessione (predefinito: 200); la generazione oltre il limite falliva con `Subagent spawn limit reached`. Il [limite di subagent concorrente](/docs/it/sub-agents#concurrent-subagent-limit) e il [limite di profondità](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) si applicano ancora |

265| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Imposta su `1` per mantenere la cache del marketplace esistente quando un `git pull` fallisce invece di cancellare e ri-clonare. Utile in ambienti offline o airgapped dove il ri-cloning fallirebbe allo stesso modo. Vedi [Gli aggiornamenti del marketplace falliscono in ambienti offline](/docs/it/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |312| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Numero di [livelli di subagent](/docs/it/sub-agents#let-subagents-spawn-their-own-subagents) consentiti sotto la conversazione principale (predefinito: 3). Al predefinito, i subagent possono generare i loro subagent, e un subagent al terzo livello non può generare ulteriormente; impostare `1` per disattivare l'annidamento. Nella v2.1.217 attraverso v2.1.218, il predefinito era 1, quindi un subagent non poteva generare il suo a meno che non aumentaste il limite; v2.1.219 ha aumentato il predefinito a 3. Accetta un numero intero positivo in cifre semplici; qualsiasi cosa diversa viene ignorata, quindi il limite può essere regolato ma non rimosso. Richiede Claude Code v2.1.217 o successivo |

266| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Imposta su `1` per clonare le fonti plugin GitHub `owner/repo` su HTTPS invece di SSH. Si applica all'installazione e all'aggiornamento dei plugin, e a `/plugin marketplace add` e `update`. Utile nei runner CI, container o in qualsiasi ambiente senza una chiave SSH configurata per `github.com` |313| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Numero massimo di strumenti di sola lettura e subagent che possono essere eseguiti in parallelo (predefinito: 10). I valori più alti aumentano il parallelismo ma consumano più risorse |

267| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Percorso di una o più directory di seed plugin di sola lettura, separate da `:` su Unix o `;` su Windows. Utilizza questo per raggruppare una directory plugin pre-popolata in un'immagine container. Claude Code registra i marketplace da queste directory all'avvio e utilizza i plugin pre-memorizzati nella cache senza ri-clonare. Vedi [Pre-popola i plugin per i container](/docs/it/plugin-marketplaces#pre-populate-plugins-for-containers) |314| `CLAUDE_CODE_MAX_TURNS` | Limitare il numero di turni agentici quando nessun limite esplicito viene passato. Equivalente a passare [`--max-turns`](/docs/it/cli-reference#cli-flags), che ha la precedenza quando entrambi sono impostati. Un valore che non è un numero intero positivo viene rifiutato all'avvio con un errore piuttosto che trattato come nessun limite |

268| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Imposta su `1` per impedire a Claude Code di passare `-ExecutionPolicy Bypass` quando genera PowerShell per le chiamate di strumento, gli hook e i comandi della linea di stato, e rispettare la politica di esecuzione effettiva della macchina. Per impostazione predefinita Claude Code bypassa la politica di esecuzione a livello di processo in modo che gli script `.ps1` e gli import di moduli funzionino su installazioni Windows predefinite con Restricted. Il bypass a livello di processo non sostituisce mai la Politica di gruppo `MachinePolicy` o `UserPolicy` indipendentemente da questa impostazione |315| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite al numero totale di chiamate [WebSearch](/docs/it/tools-reference#websearch-tool-behavior) che una sessione può fare (predefinito: 200). Quando Claude raggiunge il limite, ulteriori chiamate WebSearch restituiscono un avviso che gli dice di continuare con le informazioni che ha già raccolto. Accetta un numero intero positivo senza limite superiore. Qualsiasi cosa diversa viene ignorata e si applica il predefinito, quindi il limite può essere aumentato ma non disattivato. Richiede Claude Code v2.1.212 o successivo |

269| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Tempo massimo in millisecondi che la [modalità non interattiva](/docs/it/headless#background-tasks-at-exit) con il flag `-p` attende dopo il turno finale per i subagent in background e i workflow il cui risultato fa parte dell'output. Predefinito: `600000`, o 10 minuti. Quando il limite viene superato, i subagent in background rimanenti vengono terminati e il processo esce. Imposta su `0` per attendere indefinitamente. Questo limite è separato dal periodo di grazia di cinque secondi che si applica ai semplici shell in background |316| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Impostare a `1` per generare i server MCP stdio con solo un ambiente di base sicuro più il `env` configurato del server, invece di ereditare l'ambiente della vostra shell |

270| `CLAUDE_CODE_PROCESS_WRAPPER` | Avvia i processi che Claude Code avvia dal suo binario attraverso un wrapper eseguibile, dato come prefisso argv come `/opt/corp/launcher`. Copre il servizio in background che ospita le sessioni [agent view](/docs/it/agent-view), ogni sessione che genera, e il riavvio che Claude Code esegue di se stesso per finire di installare un aggiornamento. Il primo token deve essere il percorso assoluto di un eseguibile che termina eseguendo `exec "$@"`, e la maggior parte dei launcher è quel singolo percorso. Il valore è un elenco di argomenti, non un comando di shell: lo spazio separa i token, le virgolette doppie raggruppano un percorso che contiene spazi, e un valore che inizia con `[` viene letto come un array di stringhe JSON. Impostatelo nel blocco `env` delle impostazioni utente o [gestite](/docs/it/permissions#managed-settings), non come esportazione di shell, in modo che il servizio in background staccato lo erediti; le impostazioni di progetto e locali non possono impostarlo. Il wrapper dell'estensione VS Code configura il suo launcher separatamente attraverso la sua impostazione `claudeProcessWrapper`. Ignorato su Windows. `CLAUDE_CODE_SHELL_PREFIX` è un controllo separato: avvolge i comandi shell che Claude Code esegue come una singola stringa quoted, mentre questa variabile avvolge i processi di Claude Code stesso come prefisso argv. Vedi [Esegui Claude Code dietro un launcher aziendale](/docs/it/corporate-launcher) |317| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Tempo trascorso in millisecondi prima che una chiamata di strumento MCP ancora in esecuzione [si sposti a un compito di background](/docs/it/mcp#automatic-backgrounding-of-long-tool-calls) (predefinito: 120000, o 2 minuti). Impostare a `0` per disattivare l'auto-backgrounding. Richiede Claude Code v2.1.212 o successivo |

271| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Imposta su `1` per propagare il contesto di traccia W3C quando `ANTHROPIC_BASE_URL` punta a un proxy personalizzato. La propagazione copre l'intestazione `traceparent` su richieste di modello e MCP HTTP e la variabile d'ambiente `TRACEPARENT` per sottoprocessi Bash, PowerShell e hook. Per impostazione predefinita, la propagazione è abilitata solo quando connessi direttamente all'API Anthropic. Aggiunto in v2.1.152. Vedi [Tracce (beta)](/docs/it/monitoring-usage#traces-beta) |318| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Timeout di inattività in millisecondi per le chiamate di strumento MCP. Quando un server MCP stdio, HTTP, SSE, WebSocket, o [claude.ai connector](/docs/it/mcp#use-mcp-servers-from-claude-ai) non invia risposta e nessuna notifica di progresso per questo lungo, la chiamata dello strumento interrompe con un errore invece di aspettare il `MCP_TOOL_TIMEOUT` complessivo. Sostituisce i predefiniti per trasporto di 300000 (5 minuti) per i server di rete e 1800000 (30 minuti) per i server stdio. Impostare a `0` per disabilitare il controllo di inattività. I valori inferiori a 1000 vengono aumentati a un secondo, e il valore è limitato al `MCP_TOOL_TIMEOUT` effettivo. Un `timeout` per server in `.mcp.json` di almeno 1000 aumenta la finestra di inattività di quel server ad almeno il valore `timeout`. Non si applica ai server IDE o ai server in-process SDK. Richiede Claude Code v2.1.187 o successivo. Prima della v2.1.203, i server stdio erano esenti dal timeout di inattività |

272| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Impostato da piattaforme host che incorporano Claude Code e gestiscono l'instradamento del provider di modelli per suo conto. Se impostato, la selezione del provider, l'endpoint e le variabili di autenticazione come `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` e `ANTHROPIC_API_KEY` nei file di impostazioni vengono ignorate in modo che le impostazioni dell'utente non possono sovrascrivere l'instradamento dell'host. Anche l'opt-out automatico della telemetria per Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry viene saltato, quindi la telemetria segue l'opt-out standard `DISABLE_TELEMETRY`. Vedi [Comportamenti predefiniti per provider API](/docs/it/data-usage#default-behaviors-by-api-provider) |319| `CLAUDE_CODE_MESSAGING_SOCKET` | Impostato da Claude Code, non da voi: nelle sessioni che vincolano un [inbox socket](/docs/it/cross-session-messaging#the-sessions-inbox-socket), Claude Code esporta il percorso di quel socket ai hook e ai comandi Bash quando vincola il socket. In una sessione che inizia con la messaggistica attiva, Claude Code vincola il socket prima che qualsiasi hook venga eseguito. Altre sessioni sulla macchina consegnano i messaggi a questo percorso. Ogni sessione esporta il suo socket piuttosto che uno ereditato da un genitore, e i messaggi che arrivano su di esso passano attraverso i [controlli in entrata](/docs/it/cross-session-messaging#control-inbound-messages) della sessione. I blocchi `env` delle impostazioni non possono impostarlo. Richiede Claude Code v2.1.224 o successivo |

273| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Imposta su `1` per consentire al proxy di eseguire la risoluzione DNS invece del chiamante. Opt-in per ambienti in cui il proxy deve gestire la risoluzione del nome host |320| `CLAUDE_CODE_MESSAGING_TOKEN` | Impostato da Claude Code, non da voi: nelle sessioni che vincolano un [inbox socket](/docs/it/cross-session-messaging#the-sessions-inbox-socket), Claude Code esporta questo token per sessione ai hook e ai comandi Bash insieme a `CLAUDE_CODE_MESSAGING_SOCKET`. Uno script che invia al socket può inviare `{"type":"auth","token":"<token>"}` come sua prima riga per provare che appartiene alla sessione. Su Windows nativo, Claude Code richiede questa riga e chiude qualsiasi connessione che non si apra con una valida. Le [regole di child proprio](/docs/it/cross-session-messaging#the-sessions-inbox-socket) dicono quando Claude Code consulta il token. Ogni sessione esporta il suo token, mai uno ereditato da una sessione genitore. I blocchi `env` delle impostazioni non possono impostarlo. Richiede Claude Code v2.1.228 o successivo |

274| `CLAUDE_CODE_REMOTE` | Impostato automaticamente su `true` quando Claude Code è in esecuzione come una [sessione cloud](/docs/it/claude-code-on-the-web). Leggete questo da un hook o script di configurazione per rilevare se siete in un ambiente cloud |321| `CLAUDE_CODE_NATIVE_CURSOR` | Impostare a `1` per mostrare il cursore proprio del terminale al cursore di input invece di un blocco disegnato. Il cursore rispetta le impostazioni di lampeggio, forma e messa a fuoco del terminale |

275| `CLAUDE_CODE_REMOTE_SESSION_ID` | Impostato automaticamente nelle [sessioni cloud](/docs/it/claude-code-on-the-web) all'ID della sessione corrente. Leggete questo per costruire un collegamento alla trascrizione della sessione. Vedi [Collegare l'output alla sessione](/docs/it/claude-code-on-the-web#link-output-back-to-the-session) |322| `CLAUDE_CODE_NEW_INIT` | Impostare a `1` per fare in modo che `/init` esegua un flusso di configurazione interattivo. Il flusso chiede quali file generare, inclusi CLAUDE.md, skill e hook, prima di esplorare la base di codice e scriverli. Senza questa variabile, `/init` genera un CLAUDE.md automaticamente senza chiedere |

276| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Imposta su `1` per riprendere automaticamente se la sessione precedente è terminata a metà turno. Utilizzato in modalità SDK in modo che il modello continui senza richiedere all'SDK di reinviare il prompt |323| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Impostare a `1` per scrivere l'output del terminale attraverso un secondo descrittore di file non bloccante, in modo che un terminale che smette di leggere, come un riquadro di modalità di controllo tmux in pausa o una connessione SSH bloccata, non possa congelare Claude Code a metà sessione. Si applica su macOS, Linux e WSL quando stdout è un terminale. Richiede Claude Code v2.1.261 o successivo |

277| `CLAUDE_CODE_RESUME_PROMPT` | Sovrascrivi il messaggio di continuazione iniettato quando si riprende una sessione che è terminata a metà turno. Per impostazione predefinita `Continue from where you left off.`. Gli script di spawn per agenti a lunga esecuzione possono impostare questo su un messaggio di avvio più direttivo. Una stringa vuota utilizza il valore predefinito |324| `CLAUDE_CODE_NO_FLICKER` | Impostare a `1` per abilitare il [fullscreen rendering](/docs/it/fullscreen), un'anteprima di ricerca che riduce lo sfarfallio e mantiene la memoria piatta nelle conversazioni lunghe. Sostituisce l'impostazione [`tui`](/docs/it/settings-reference#tui); potete anche passare con `/tui fullscreen` |

278| `CLAUDE_CODE_RETRY_WATCHDOG` | Imposta su `1` per sessioni non presidiate come harness di valutazione, lavori CI o worker remoti. Ritenta gli errori di capacità `429` e `529` indefinitamente invece di fallire dopo i tentativi di `CLAUDE_CODE_MAX_RETRIES`. Il watchdog si ritira fino a 5 minuti tra i tentativi, o fino a quando il limite si ripristina quando la risposta porta un tempo di ripristino del limite di velocità, quindi una sessione che raggiunge un limite di utilizzo attende la finestra rimanente. A partire da v2.1.199 aumenta anche il conteggio dei retry predefiniti 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 impostate esplicitamente quella variabile. Richiede Claude Code v2.1.186 o successivo |325| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token di aggiornamento OAuth per l'autenticazione Claude.ai. Quando impostato, `claude auth login` scambia questo token direttamente invece di aprire un browser. Richiede `CLAUDE_CODE_OAUTH_SCOPES`. Utile per il provisioning dell'autenticazione in ambienti automatizzati |

279| `CLAUDE_CODE_SAFE_MODE` | Imposta su `1` per avviare in modalità sicura: CLAUDE.md, skill, plugin, hook, server MCP, comandi personalizzati e agenti, stili di output, workflow, temi personalizzati, scorciatoie da tastiera personalizzate, comandi della linea di stato e dei suggerimenti di file, server LSP e memoria automatica non vengono caricati, per la risoluzione dei problemi di una configurazione interrotta. La politica delle impostazioni gestite si applica comunque, inclusi hook, linea di stato e comandi dei suggerimenti di file configurati dalla politica; plugin gestiti, skill gestite, CLAUDE.md gestito e server MCP configurati dalla politica non lo fanno. Equivalente a passare [`--safe-mode`](/docs/it/cli-reference#cli-flags). I processi figlio direttamente generati ereditano la variabile |326| `CLAUDE_CODE_OAUTH_SCOPES` | Scopi OAuth separati da spazi per i quali il token di aggiornamento è stato emesso, come `"user:profile user:inference user:sessions:claude_code"`. Obbligatorio quando `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` è impostato |

280| `CLAUDE_CODE_SCRIPT_CAPS` | Oggetto JSON che limita quante volte script specifici possono essere richiamati per sessione quando `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` è impostato. Le chiavi sono sottostringhe abbinate al testo del comando; i valori sono limiti di chiamate intere. Ad esempio, `{"deploy.sh": 2}` consente a `deploy.sh` di essere chiamato al massimo due volte. L'abbinamento è basato su sottostringhe quindi trucchi di espansione della shell come `./scripts/deploy.sh $(evil)` contano comunque rispetto al limite. Il fan-out di runtime tramite `xargs` o `find -exec` non viene rilevato; questo è un controllo di difesa in profondità |327| `CLAUDE_CODE_OAUTH_TOKEN` | Token di accesso OAuth per l'autenticazione claude.ai. Alternativa a `/login` per SDK e ambienti automatizzati. Ha la precedenza sulle credenziali archiviate nel portachiavi. Generarne uno con [`claude setup-token`](/docs/it/authentication#generate-a-long-lived-token). A meno che non eseguiate [`/login`](/docs/it/authentication#authentication-precedence), Claude Code utilizza il token che impostate per l'intera sessione. Per sostituire un token scaduto, generarne uno nuovo e riavviate |

281| `CLAUDE_CODE_SCROLL_SPEED` | Imposta il moltiplicatore di scorrimento della rotella del mouse nel [rendering a schermo intero](/docs/it/fullscreen#mouse-wheel-scrolling). Accetta valori da 1 a 20 e valori frazionari inferiori a 1 come `0.5` per rallentare lo scorrimento accelerato del trackpad e della rotella nei terminali che già amplificano gli eventi della rotella. Imposta su `3` per corrispondere a `vim` se il vostro terminale invia un evento di rotella per tacca senza amplificazione. Ignorato nel terminale IDE JetBrains, dove Claude Code utilizza il proprio gestore di scorrimento |328| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Rimosso nella v2.1.160 e ora un no-op. In precedenza bloccava la [fast mode](/docs/it/fast-mode) a Claude Opus 4.6 invece del predefinito corrente. Opus 4.6 non supporta più la fast mode |

282| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sovrascrivi il budget di tempo in millisecondi per gli hook [SessionEnd](/docs/it/hooks#sessionend). Si applica all'uscita della sessione, `/clear` e al cambio di sessioni tramite `/resume` interattivo. Per impostazione predefinita il budget è 1,5 secondi, aumentato automaticamente al massimo `timeout` per hook configurato nei file di impostazioni, fino a 60 secondi. I timeout sugli hook forniti dai plugin non aumentano il budget |329| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Lunghezza massima degli attributi OpenTelemetry che trasportano contenuto (risposte del modello, contenuto dello strumento, prompt di sistema, corpi API grezzi), marcatore di troncamento incluso, in unità di codice UTF-16 (predefinito: 61440, cioè 60 KB). Aumentarlo solo se il vostro backend di telemetria accetta valori di attributo più grandi di 64 KB, o abbassarlo per ridurre il volume di telemetria. Richiede Claude Code v2.1.214 o successivo. Vedere [Monitoring](/docs/it/monitoring-usage) |

283| `CLAUDE_CODE_SESSION_ID` | Impostato automaticamente nei sottoprocessi dello strumento Bash e PowerShell all'ID della sessione corrente, nei sottoprocessi del comando [hook](/docs/it/hooks) e nei sottoprocessi del server MCP [stdio](/docs/it/mcp). Per Bash, PowerShell e hook questo corrisponde al campo `session_id` nell'input JSON dell'hook e viene aggiornato su `/clear`. Un sottoprocesso del server MCP mantiene l'ID con cui è stato generato. Su `--resume <session-id>` riceve l'ID ripreso, corrispondente a hook e Bash. Su `--continue` o `--resume` senza un ID esplicito potrebbe ricevere l'ID di avvio iniziale. Utilizza per correlare script e strumenti esterni con la sessione Claude Code che li ha avviati |330| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Impostare a `1` per scrivere gli errori diagnostici dell'esportatore OpenTelemetry su stderr. Per impostazione predefinita questi errori appaiono solo con `--debug`, quindi un esportatore non configurato correttamente come una collisione di porta Prometheus altrimenti fallisce silenziosamente. Richiede Claude Code v2.1.179 o successivo. Vedere [Monitoring](/docs/it/monitoring-usage) |

284| `CLAUDE_CODE_SHELL` | Imposta la shell che Claude Code utilizza per eseguire i comandi dello strumento Bash. Accetta un percorso a un binario `bash` o `zsh`, ad esempio `/opt/homebrew/bin/bash`. Altre shell come `fish` non sono supportate. Se il valore non è un percorso `bash` o `zsh` funzionante, Claude Code lo ignora e torna all'auto-rilevamento. L'auto-rilevamento utilizza il vostro `$SHELL` quando punta a `bash` o `zsh`, altrimenti sceglie il primo `zsh` funzionante quindi `bash` trovato nel vostro `PATH` e nei percorsi di installazione standard |331| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in millisecondi per lo scaricamento degli span OpenTelemetry in sospeso (predefinito: 5000). Vedere [Monitoring](/docs/it/monitoring-usage) |

285| `CLAUDE_CODE_SHELL_PREFIX` | Prefisso del comando che avvolge i comandi shell che Claude Code genera: chiamate dello strumento Bash, comandi [hook](/docs/it/hooks), comandi della [linea di stato](/docs/it/statusline) e comandi di avvio del server MCP stdio. Gli hook PowerShell e gli hook in forma exec vengono eseguiti senza il prefisso. Utile per logging o auditing. L'impostazione di un percorso eseguibile nudo come `/path/to/logger.sh` esegue ogni comando come `/path/to/logger.sh '<command>'`. Il wrapper riceve la riga di comando come un singolo argomento shell-quoted in `$1`, quindi il wrapper deve rivalutare `$1` con una shell, ad esempio `exec bash -c "$1"`. Trattare `$1` come un percorso eseguibile nudo interrompe i server MCP stdio che passano argomenti come `npx -y <package>`. Per le chiamate dello strumento Bash, `$1` contiene l'invocazione della shell completa che Claude Code assembla, inclusa la configurazione dell'ambiente, non solo il comando che Claude ha eseguito |332| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervallo per l'aggiornamento degli header OpenTelemetry dinamici in millisecondi (predefinito: 1740000 / 29 minuti). Vedere [Dynamic headers](/docs/it/monitoring-usage#dynamic-headers) |

286| `CLAUDE_CODE_SIMPLE` | Imposta su `1` per eseguire con un prompt di sistema minimo e solo gli strumenti Bash, lettura file e modifica file. Gli strumenti MCP da `--mcp-config` sono ancora disponibili. Disabilita l'auto-discovery di hook, skill, plugin, server MCP, memoria automatica e CLAUDE.md. I token OAuth e le credenziali del portachiavi non vengono letti, quindi l'autenticazione Anthropic deve provenire da `ANTHROPIC_API_KEY` o da un `apiKeyHelper` in `--settings`. Equivalente a passare [`--bare`](/docs/it/headless#start-faster-with-bare-mode) |333| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in millisecondi per l'esportatore OpenTelemetry per terminare all'arresto (predefinito: 2000). Aumentare se le metriche vengono eliminate all'uscita. Vedere [Monitoring](/docs/it/monitoring-usage) |

287| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Imposta su `1` per utilizzare il prompt di sistema minimo e le descrizioni degli strumenti compresse su qualsiasi modello. Imposta su `0`, `false`, `no` o `off` per rinunciare anche su modelli dove l'esperimento o la configurazione del server altrimenti lo abiliterebbero. Il set di strumenti completo, hook, server MCP e scoperta CLAUDE.md rimangono abilitati |334| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Impostare a `1` per consentire a Claude Code di eseguire il comando di aggiornamento del vostro gestore di pacchetti in background quando una nuova versione è disponibile. Si applica alle installazioni Homebrew e WinGet. Gli altri gestori di pacchetti continuano a mostrare il comando di aggiornamento senza eseguirlo. Vedere [Auto updates](/docs/it/setup#auto-updates) |

288| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Salta l'autenticazione lato client per [Claude Platform on AWS](/docs/it/claude-platform-on-aws), per gateway che firmano le richieste stessi |335| `CLAUDE_CODE_PERFORCE_MODE` | Impostare a `1` per abilitare la protezione da scrittura consapevole di Perforce. Quando impostato, Edit, Write, e NotebookEdit falliscono con un suggerimento `p4 edit <file>` se il file di destinazione manca il bit di proprietario-scrittura, che Perforce cancella sui file sincronizzati fino a quando `p4 edit` non li apre. Questo impedisce a Claude Code di aggirare il tracciamento dei cambiamenti di Perforce |

289| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Imposta su `1` per disattivare la cache in-process delle credenziali risolte dalla catena del provider di credenziali predefinito AWS, in modo che Claude Code risolva la catena su ogni richiesta API. Con la cache disattivata, un profilo supportato da SSO richiede credenziali da IAM Identity Center su ogni richiesta. Vedi [credential caching and resolution timeout](/docs/it/amazon-bedrock#credential-caching-and-resolution-timeout). Richiede Claude Code v2.1.207 o successivo |336| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Sostituire la directory radice dei plugin. Nonostante il nome, questo imposta la directory genitore, non la cache stessa: i marketplace e la cache dei plugin vivono in sottodirectory sotto questo percorso. Predefinito a `~/.claude/plugins` |

290| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Salta l'autenticazione AWS per Amazon Bedrock (ad esempio, quando si utilizza un gateway LLM) |337| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in millisecondi per le operazioni git durante l'installazione o l'aggiornamento dei plugin (predefinito: 120000). Aumentare questo valore per repository grandi o connessioni di rete lente. Vedere [Git operations time out](/docs/it/plugin-marketplaces#git-operations-time-out) |

291| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Salta l'autenticazione Azure per Microsoft Foundry, per un proxy o gateway che inietta la propria intestazione `Authorization`. Claude Code invia richieste senza una credenziale Azure e preserva l'intestazione `Authorization` che fornite, ad esempio tramite `ANTHROPIC_CUSTOM_HEADERS`. Ignorato quando `ANTHROPIC_FOUNDRY_API_KEY` o `ANTHROPIC_FOUNDRY_AUTH_TOKEN` è impostato. Prima di v2.1.203, questa variabile lasciava il client Microsoft Foundry incapace di inviare richieste a meno che una chiave API non fosse anche impostata |338| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Impostare a `1` per saltare il tentativo di ri-clone e continuare a utilizzare la cache del marketplace esistente quando un `git pull` fallisce. Utile in ambienti offline o airgapped dove il ri-clone fallirebbe allo stesso modo. Vedere [Marketplace updates fail in offline environments](/docs/it/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |

292| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Salta l'autenticazione AWS per Amazon Bedrock Mantle (ad esempio, quando si utilizza un gateway LLM) |339| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Impostare a `1` per clonare le fonti di shorthand GitHub `owner/repo` su HTTPS invece di SSH. Si applica all'installazione e all'aggiornamento dei plugin, e a `/plugin marketplace add` e `update`. Utile nei runner CI, container, o qualsiasi ambiente senza una chiave SSH configurata per `github.com` |

293| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Imposta su `1` per saltare la scrittura della cronologia dei prompt e delle trascrizioni della sessione su disco. Le sessioni avviate con questa variabile impostata non appaiono in `--resume`, `--continue` o nella cronologia della freccia su. Utile per sessioni di script effimere |340| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Percorso a una o più directory di seed dei plugin di sola lettura, separate da `:` su Unix o `;` su Windows. Utilizzare per raggruppare una directory di plugin pre-popolata in un'immagine di container. Claude Code registra i marketplace da queste directory all'avvio e utilizza i plugin pre-memorizzati in cache senza ri-clonare. Vedere [Pre-populate plugins for containers](/docs/it/plugin-marketplaces#pre-populate-plugins-for-containers) |

294| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Salta l'autenticazione Google per Google Cloud's Agent Platform (ad esempio, quando si utilizza un gateway LLM) |341| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Impostare a `1` per impedire a Claude Code di passare `-ExecutionPolicy Bypass` quando genera PowerShell per le chiamate di strumento, gli hook e i comandi della status line, e rispettare la politica di esecuzione effettiva della macchina. Per impostazione predefinita Claude Code aggira la politica di esecuzione a livello di processo in modo che gli script `.ps1` e gli import di moduli funzionino su installazioni Windows predefinite-Restricted. L'aggiramento a livello di processo non sostituisce mai la Politica di Gruppo `MachinePolicy` o `UserPolicy` indipendentemente da questa impostazione |

295| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Numero massimo di volte consecutive che un hook [Stop](/docs/it/hooks#stop) o [SubagentStop](/docs/it/hooks#subagentstop) può bloccare il turno dal terminare prima che Claude Code lo sostituisca e termini il turno comunque (predefinito: 8). Imposta su `0` per disabilitare il limite. Aumentate questo se il vostro hook ha legittimamente bisogno di più iterazioni per risolvere |342| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Limite in millisecondi sull'attesa inattiva per i subagent di background e i flussi di lavoro dopo il turno finale in [modalità non interattiva](/docs/it/headless#background-tasks-at-exit) con il flag `-p`. L'attesa inattiva ricomincia ogni volta che Claude prende un turno per gestire un risultato di background. Predefinito: `600000`, o 10 minuti. Quando l'attesa inattiva raggiunge il limite, Claude Code smette di aspettare i compiti di background rimanenti e esce. Impostare a `0` per aspettare indefinitamente. Questo limite è separato dal periodo di grazia di cinque secondi che si applica alle shell di background semplici. Richiede Claude Code v2.1.182 o successivo |

296| `CLAUDE_CODE_SUBAGENT_MODEL` | Vedi [Configurazione del modello](/docs/it/model-config). A partire da v2.1.196, l'impostazione su `inherit` è la stessa di lasciarla non impostata; le versioni precedenti trattavano `inherit` come un override che forzava ogni subagent sul modello della conversazione principale |343| `CLAUDE_CODE_PROCESS_WRAPPER` | Avviare i processi che Claude Code avvia dal suo binario, come il servizio di background che ospita le sessioni [agent view](/docs/it/agent-view), attraverso un launcher aziendale dato come prefisso argv come `/opt/corp/launcher`. Impostatelo nel blocco `env` delle impostazioni utente o [gestite](/docs/it/managed-settings), non come esportazione di shell, in modo che il servizio di background staccato lo erediti; le impostazioni di progetto e locali non possono impostarlo. Equivalente all'impostazione [`processWrapper`](/docs/it/settings-reference#processwrapper), che richiede Claude Code v2.1.210 o successivo; questa variabile ha la precedenza quando entrambi sono impostati. L'estensione VS Code configura il suo launcher separatamente attraverso l'impostazione `claudeProcessWrapper`. Ignorato su Windows. Vedere [Run Claude Code behind a corporate launcher](/docs/it/corporate-launcher) per il formato del valore, cosa copre il launcher, e il contratto che il launcher deve soddisfare. Richiede Claude Code v2.1.208 o successivo |

297| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Imposta su `1` per rimuovere le credenziali Anthropic e del provider cloud dagli ambienti dei sottoprocessi (strumento Bash, hook, server MCP stdio). Il processo Claude padre mantiene queste credenziali per le chiamate API, ma i processi figlio non possono leggerle, riducendo l'esposizione agli attacchi di prompt injection che tentano di esfiltare i segreti tramite l'espansione della shell. Su Linux, questo esegue anche i sottoprocessi Bash in uno spazio dei nomi PID isolato in modo che non possano leggere gli ambienti dei processi host tramite `/proc`; come effetto collaterale, `ps`, `pgrep` e `kill` non possono vedere o segnalare i processi host. `claude-code-action` imposta questo automaticamente quando `allowed_non_write_users` è configurato |344| `CLAUDE_CODE_PROJECT_DIR_NAME` | Impostare insieme a `CLAUDE_CONFIG_DIR` per scegliere il nome della directory `projects/` in cui Claude Code memorizza le trascrizioni e la memoria auto di quella sessione, al posto di uno derivato dal percorso della directory di lavoro. Ad esempio, avviando Claude Code con `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` le memorizza sotto `/srv/tenant-a/projects/work/`. Claude Code ignora questa variabile quando `CLAUDE_CONFIG_DIR` non è impostato, e la legge solo dall'ambiente da cui avviate `claude`, mai da un blocco `env` del [file di impostazioni](#in-settings-files). Vedere [Name the project directory yourself](/docs/it/sessions#name-the-project-directory-yourself). Richiede Claude Code v2.1.234 o successivo |

298| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Imposta su `1` in modalità non interattiva (il flag `-p`) per attendere il completamento dell'installazione del plugin prima della prima query. Senza questo, i plugin si installano in background e potrebbero non essere disponibili al primo turno. Combina con `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` per limitare l'attesa |345| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Impostare `5m` o `1h`, gli unici valori che Claude Code accetta, per scegliere il [prompt cache TTL](/docs/it/prompt-caching#cache-lifetime) per la conversazione principale: i vostri turni interattivi, `-p` e SDK, più gli helper che vengono eseguiti in linea con essi. Ha la precedenza sull'impostazione `promptCacheTtl` e su `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` la sostituisce. Le scritture della cache di 1 ora vengono fatturate a una tariffa più alta. Richiede Claude Code v2.1.242 o successivo |

299| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per l'installazione sincrona del plugin. Se superato, Claude Code procede senza plugin e registra un errore. Nessun predefinito: senza questa variabile, l'installazione sincrona attende fino al completamento |346| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Impostare a `1` per propagare il contesto di traccia W3C quando `ANTHROPIC_BASE_URL` punta a un proxy personalizzato. La propagazione copre l'intestazione `traceparent` sulle richieste del modello e MCP HTTP e la variabile di ambiente `TRACEPARENT` per i sottoprocessi Bash, PowerShell e hook. Per impostazione predefinita, la propagazione è abilitata solo quando connessi direttamente all'API Anthropic. Aggiunto nella v2.1.152. Vedere [Traces (beta)](/docs/it/monitoring-usage#traces-beta) |

300| `CLAUDE_CODE_SYNC_SKILLS` | Imposta su `1` per scaricare le vostre skill abilitate di claude.ai in `~/.claude/skills/` prima della prima query e risincronizzare ogni 10 minuti. Si applica solo in modalità non interattiva con il flag `-p`. Richiede l'autenticazione di claude.ai. Le sessioni [Claude Code on the web](/docs/it/claude-code-on-the-web) ricevono le vostre skill abilitate di claude.ai automaticamente; non è necessario impostare questo lì |347| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Impostato da piattaforme host che incorporano Claude Code e gestiscono l'instradamento del provider del modello per suo conto. Quando impostato, Claude Code ignora le variabili di selezione del provider, endpoint e autenticazione come `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL`, e `ANTHROPIC_API_KEY` nei file di impostazioni, in modo che le impostazioni utente non possono ignorare l'instradamento dell'host. Claude Code ignora anche le chiavi di selezione del modello come `model`, `fallbackModel`, e `modelOverrides` nelle [impostazioni gestite](/docs/it/managed-settings), qualsiasi fonte gestita le fornisca, in modo che la configurazione del modello dell'host abbia la precedenza su un pin del modello gestito non aggiornato. Claude Code ignora anche le variabili di selezione del modello come `ANTHROPIC_MODEL` e la famiglia `ANTHROPIC_DEFAULT_*_MODEL` in un blocco `env` gestito; un'allowlist [`availableModels`](/docs/it/model-config#restrict-model-selection) nelle impostazioni gestite si applica comunque a meno che l'host non fornisca la sua. Claude Code salta anche l'opt-out di telemetria automatico che altrimenti applica su provider di terze parti come Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, e Microsoft Foundry, in modo che la telemetria segua l'opt-out standard `DISABLE_TELEMETRY`. Vedere [Default behaviors by API provider](/docs/it/data-usage#default-behaviors-by-api-provider) |

301| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per una risincronizzazione delle skill a metà sessione quando `CLAUDE_CODE_SYNC_SKILLS` è impostato (predefinito: 30000). Limita il download attivato quando l'host richiede un ricaricamento delle skill durante la sessione. Se superato, la risincronizzazione si ferma e i download delle skill rimanenti continuano in background |348| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Impostare a `1` per consentire al proxy di eseguire la risoluzione DNS invece del chiamante. Opt-in per gli ambienti in cui il proxy dovrebbe gestire la risoluzione del nome host |

302| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in millisecondi per la prima query da attendere sulla sincronizzazione iniziale delle skill quando `CLAUDE_CODE_SYNC_SKILLS` è impostato (predefinito: 5000). Se superato, la query procede e i download delle skill rimanenti continuano in background |349| `CLAUDE_CODE_REMOTE` | Impostato automaticamente a `true` quando Claude Code è in esecuzione come una [cloud session](/docs/it/claude-code-on-the-web). Leggere questo da un hook o script di configurazione per rilevare se siete in una cloud session |

303| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Imposta su `false` per disabilitare l'evidenziazione della sintassi nell'output diff. Utile quando i colori interferiscono con la configurazione del vostro terminale. Per disabilitare anche l'evidenziazione nei blocchi di codice e nelle anteprime di file, utilizzate l'impostazione [`syntaxHighlightingDisabled`](/docs/it/settings) |350| `CLAUDE_CODE_REMOTE_SESSION_ID` | Impostato automaticamente nelle [cloud sessions](/docs/it/claude-code-on-the-web) all'ID della sessione corrente. Leggere questo per costruire un link di ritorno alla trascrizione della sessione. Vedere [Link output back to the session](/docs/it/cloud-environments#link-output-back-to-the-session) |

304| `CLAUDE_CODE_TASK_LIST_ID` | Condividi un elenco di attività tra le sessioni. Imposta lo stesso ID in più istanze di Claude Code per coordinare un elenco di attività condiviso. Vedi [Elenco attività](/docs/it/interactive-mode#task-list) |351| `CLAUDE_CODE_RESTRICTED` | Impostare a `1` per avviare la sessione in modalità ristretta, lo stesso che passare [`--restricted`](/docs/it/cli-reference#cli-flags). Claude Code ignora questa variabile nel blocco `env` di un file di impostazioni. Richiede Claude Code v2.1.248 o successivo |

305| `CLAUDE_CODE_TEAM_NAME` | Nome del team di agenti a cui appartiene questo compagno di squadra. Impostato automaticamente sui membri del [team di agenti](/docs/it/agent-teams) |352| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Impostare a `1` per riprendere automaticamente se la sessione precedente è terminata a metà turno. Utilizzato in modalità SDK in modo che il modello continui senza richiedere all'SDK di ri-inviare il prompt. Per disattivare questo, annullare l'impostazione della variabile o impostarla a `0`. Prima della v2.1.221, Claude Code ignorava `0` e altri valori falsy, quindi l'impostazione di `0` attivava comunque la ripresa in modalità non interattiva e l'annullamento dell'impostazione della variabile era l'unico modo per disattivarla |

306| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Sovrascrivi, in millisecondi, quanto tempo una sessione non interattiva attende all'uscita affinché il suo [team di agenti](/docs/it/agent-teams) finisca di smontarsi. Accetta 1000 a 60000; un valore fuori intervallo viene ignorato e si applica il valore predefinito di 10000. Richiede Claude Code v2.1.206 o successivo |353| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Età massima in millisecondi dell'ultimo messaggio della trascrizione per una sessione che è terminata a metà turno per continuare automaticamente al ripristino. Quando l'ultimo messaggio è più vecchio di questo limite, Claude Code salta sia la ripresa automatica di `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` che il messaggio di continuazione iniettato `CLAUDE_CODE_RESUME_PROMPT`, e la sessione inizia inattiva in modo che continuiate esplicitamente. Non impostato o `0` significa nessun limite; un valore negativo o non numerico applica un limite di un'ora. Gli script di generazione per agenti a lunga esecuzione possono impostare questo in modo che un riavvio contro una trascrizione vecchia non ri-esegua un prompt stantio. Claude Code imposta un limite di un'ora stesso quando riavvia una sessione [agent view](/docs/it/agent-view) bloccata che ha ereditato la sua conversazione da una sessione interattiva. Richiede Claude Code v2.1.211 o successivo |

307| `CLAUDE_CODE_TMPDIR` | Sovrascrivi la directory temporanea utilizzata per i file temporanei interni. Claude Code aggiunge `/claude-{uid}/` su Unix o `/claude/` su Windows a questo percorso. Predefinito: `/tmp` su macOS, `os.tmpdir()` su Linux e Windows. A partire da v2.1.161, su macOS e Linux, i sottoprocessi Bash [sandboxed](/docs/it/sandboxing) ricevono un fallback `$TMPDIR` breve sotto il valore predefinito del sistema quando il vostro override è un percorso lungo, poiché alcuni strumenti falliscono quando i percorsi temporanei diventano troppo lunghi. I comandi Bash non sandboxed ereditano il vostro `$TMPDIR` della shell invariato. I file temporanei di Claude Code stesso utilizzano sempre il vostro override |354| `CLAUDE_CODE_RESUME_PROMPT` | Sostituire il messaggio di continuazione iniettato quando si riprende una sessione che è terminata a metà turno. Predefinito a `Continue from where you left off.`. Gli script di generazione per agenti a lunga esecuzione possono impostare questo a un messaggio di avvio più direttivo. Una stringa vuota utilizza il predefinito |

308| `CLAUDE_CODE_TMUX_TRUECOLOR` | Imposta su `1` per consentire l'output truecolor a 24 bit all'interno di tmux. Per impostazione predefinita, Claude Code si limita a 256 colori quando `$TMUX` è impostato perché tmux non passa attraverso le sequenze di escape truecolor a meno che non sia configurato per farlo. Imposta questo dopo aver aggiunto `set -ga terminal-overrides ',*:Tc'` al vostro `~/.tmux.conf`. Vedi [Configurazione del terminale](/docs/it/terminal-config) per altre impostazioni di tmux |355| `CLAUDE_CODE_RETRY_WATCHDOG` | Impostare a `1` per le sessioni non presenziate come harness di valutazione, lavori CI, o worker remoti. Ritenta gli errori di capacità `429` e `529` indefinitamente invece di fallire dopo i tentativi di `CLAUDE_CODE_MAX_RETRIES`. Claude Code fallisce immediatamente su un `429` che segnala un limite di spesa o crediti di utilizzo esauriti, anche uno da un [gateway spend cap](/docs/it/errors#spend-limit-reached) che si ripristina su un programma. Prima della v2.1.239, il watchdog ritentava questi indefinitamente. Il watchdog fa un backup fino a 5 minuti tra i tentativi, o fino a quando il limite non si ripristina quando la risposta trasporta un tempo di ripristino del limite di velocità, in modo che una sessione che colpisce un limite di utilizzo aspetti la finestra rimanente. Su v2.1.199 o successivo aumenta anche il conteggio di ripetizione predefinito per altri errori transitori, come errori del server, timeout e connessioni interrotte, a 300, approssimativamente tre ore di backup, e rimuove il limite di 15 su `CLAUDE_CODE_MAX_RETRIES` se impostate esplicitamente quella variabile. Richiede Claude Code v2.1.186 o successivo |

309| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Utilizza [Claude Platform on AWS](/docs/it/claude-platform-on-aws) |356| `CLAUDE_CODE_SAFE_MODE` | Impostare a `1` per avviare in modalità sicura: CLAUDE.md, skill, plugin, hook, server MCP, comandi personalizzati e agenti, stili di output, flussi di lavoro, temi personalizzati, scorciatoie da tastiera personalizzate, comandi della status line e suggerimento di file, server LSP, e memoria auto non si caricano, per la risoluzione dei problemi di una configurazione rotta. La politica delle impostazioni gestite si applica comunque, inclusi gli hook configurati dalla politica, la status line e i comandi di suggerimento di file; i plugin gestiti, le skill gestite, il CLAUDE.md gestito, e i server MCP configurati dalla politica non lo fanno. Equivalente a passare [`--safe-mode`](/docs/it/cli-reference#cli-flags). I processi figlio generati direttamente ereditano la variabile |

310| `CLAUDE_CODE_USE_BEDROCK` | Utilizza [Amazon Bedrock](/docs/it/amazon-bedrock) |357| `CLAUDE_CODE_SCRIPT_CAPS` | Oggetto JSON che limita quante volte script specifici possono essere invocati per sessione quando `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` è impostato. Le chiavi sono sottostringhe abbinate al testo del comando; i valori sono limiti di conteggio intero. Ad esempio, `{"deploy.sh": 2}` consente a `deploy.sh` di essere chiamato al massimo due volte. L'abbinamento è basato su sottostringhe in modo che i trucchi di espansione della shell come `./scripts/deploy.sh $(evil)` contino comunque contro il limite. Il fan-out di runtime tramite `xargs` o `find -exec` non viene rilevato; questo è un controllo di difesa in profondità |

311| `CLAUDE_CODE_USE_FOUNDRY` | Utilizza [Microsoft Foundry](/docs/it/microsoft-foundry) |358| `CLAUDE_CODE_SCROLL_SPEED` | Impostare il moltiplicatore di scorrimento della rotella del mouse nel [fullscreen rendering](/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 rotella nei terminali che già amplificano gli eventi della rotella. Impostare a `3` per corrispondere a `vim` se il vostro terminale invia un evento della rotella per tacca senza amplificazione. Ignorato nel terminale IDE JetBrains, dove Claude Code utilizza la sua gestione dello scorrimento |

312| `CLAUDE_CODE_USE_MANTLE` | Utilizza l'[endpoint Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) di Amazon Bedrock |359| `CLAUDE_CODE_SEND_FEEDBACK` | Impostare a `0` per disattivare il [Claude-drafted feedback](/docs/it/tools-reference#sendfeedback-tool-behavior) per una sessione. Impostare a `1` per attivarlo dove il vostro account ha già accesso; la variabile non può concedere l'accesso stesso, e gli altri interruttori che disattivano il feedback, come `DISABLE_FEEDBACK_COMMAND` e il valore `off` dell'impostazione [`feedbackDrafts`](/docs/it/settings-reference#feedbackdrafts), si applicano comunque |

313| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Imposta su `1` per scoprire comandi personalizzati, subagent e stili di output utilizzando le API di file Node.js invece di ripgrep. Imposta questo se il binario ripgrep raggruppato non è disponibile o bloccato nel vostro ambiente. Non influisce su Grep o strumenti di ricerca file |360| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Sostituire il budget di tempo in millisecondi per gli hook [SessionEnd](/docs/it/hooks#sessionend). Si applica all'uscita della sessione, `/clear`, e al passaggio tra sessioni tramite `/resume` interattivo. Per impostazione predefinita il budget è 1,5 secondi, aumentato automaticamente al `timeout` per hook più alto configurato nei file di impostazioni, fino a 60 secondi. I timeout sugli hook forniti dai plugin non aumentano il budget |

314| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Controlla lo strumento PowerShell. Su Windows senza Git Bash, lo strumento è abilitato automaticamente; imposta su `0` per disabilitarlo. Su Windows con Git Bash installato, lo strumento è in rollout progressivo: imposta su `1` per aderire o `0` per rinunciare. Su Linux, macOS e WSL, imposta su `1` per abilitarlo, che richiede `pwsh` nel vostro `PATH`. Se abilitato su Windows, Claude può eseguire i comandi PowerShell nativamente invece di instradare attraverso Git Bash. Vedi [Strumento PowerShell](/docs/it/tools-reference#powershell-tool) |361| `CLAUDE_CODE_SESSION_ID` | Impostato automaticamente all'ID della sessione corrente nei sottoprocessi dello strumento Bash e PowerShell, nei sottoprocessi del comando [hook](/docs/it/hooks), e nei sottoprocessi [MCP server](/docs/it/mcp) stdio. Per Bash, PowerShell e hook questo corrisponde al campo `session_id` nell'input JSON dell'hook e viene aggiornato su `/clear`. Un sottoprocesso del server MCP mantiene l'ID con cui è stato generato. Su `--resume <session-id>` riceve l'ID ripreso. Su `--continue` o `--resume` senza un ID esplicito potrebbe ricevere l'ID di avvio iniziale. Utilizzare per correlare script e strumenti esterni con la sessione Claude Code che li ha avviati |

315| `CLAUDE_CODE_USE_VERTEX` | Utilizza [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |362| `CLAUDE_CODE_SHELL` | Impostare la shell che Claude Code utilizza per eseguire i comandi dello strumento Bash. Accetta un percorso a un binario `bash` o `zsh`, ad esempio `/opt/homebrew/bin/bash`. Altre shell come `fish` non sono supportate. Se il valore non è un percorso `bash` o `zsh` funzionante, Claude Code lo ignora e torna all'auto-rilevamento. L'auto-rilevamento utilizza il vostro `$SHELL` quando punta a `bash` o `zsh`, altrimenti sceglie il primo `zsh` funzionante poi `bash` trovato nel vostro `PATH` e nelle posizioni di installazione standard |

316| `CLAUDE_CONFIG_DIR` | Sovrascrivi la directory di configurazione (predefinito: `~/.claude`). Tutte le impostazioni, la cronologia della sessione e i plugin sono archiviati sotto questo percorso, così come le credenziali su Linux e Windows; su macOS, le credenziali sono nel Keychain di sistema. Utile per eseguire più account affiancati: ad esempio, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |363| `CLAUDE_CODE_SHELL_PREFIX` | Prefisso di comando che avvolge i comandi shell che Claude Code genera: chiamate dello strumento Bash, comandi [hook](/docs/it/hooks), comandi [status line](/docs/it/statusline), e comandi di avvio [MCP server](/docs/it/mcp) stdio. Gli hook PowerShell e gli hook in forma exec vengono eseguiti senza il prefisso. Utile per la registrazione o il controllo. L'impostazione di un percorso eseguibile nudo come `/path/to/logger.sh` esegue ogni comando come `/path/to/logger.sh '<command>'`. Il wrapper riceve la riga di comando come un singolo argomento shell-quoted in `$1`, quindi il wrapper deve rivalutare `$1` con una shell, ad esempio `exec bash -c "$1"`. Trattare `$1` come un percorso eseguibile nudo interrompe i server MCP stdio che passano argomenti come `npx -y <package>`. Per le chiamate dello strumento Bash, `$1` contiene l'invocazione della shell completa che Claude Code assembla, inclusa la configurazione dell'ambiente, non solo il comando che Claude ha eseguito |

317| `CLAUDE_DISABLE_ADOPT` | Imposta su `1` per interrompere il lavoro in volo in background invece di portarlo quando mettete una sessione in background premendo `←` o con [`/background`](/docs/it/agent-view#from-inside-a-session). Claude Code vi chiede di confermare prima di mettere in background, quindi interrompe le attività che altrimenti verrebbero portate. Richiede Claude Code v2.1.195 o successivo |364| `CLAUDE_CODE_SIMPLE` | Impostare a `1` per eseguire con un prompt di sistema minimo e solo gli strumenti Bash, lettura di file e modifica di file. Gli strumenti MCP da `--mcp-config` sono ancora disponibili. Disabilita l'auto-scoperta di hook, skill, comandi personalizzati, subagent, plugin, server MCP, memoria auto, e CLAUDE.md. Le skill in una directory che passate con `--add-dir` si caricano comunque. I token OAuth e le credenziali del portachiavi non vengono letti, quindi l'autenticazione Anthropic deve provenire da `ANTHROPIC_API_KEY` o un `apiKeyHelper` in `--settings`. Equivalente a passare [`--bare`](/docs/it/headless#start-faster-with-bare-mode) |

318| `CLAUDE_EFFORT` | Impostato automaticamente nei sottoprocessi dello strumento Bash e nei comandi hook al [livello di sforzo](/docs/it/model-config#adjust-effort-level) attivo per il turno: `low`, `medium`, `high`, `xhigh` o `max`. Ultracode non è un livello distinto e riporta come `xhigh`. Corrisponde al campo `effort.level` passato agli [hook](/docs/it/hooks). Impostato solo quando il modello corrente supporta il parametro effort |365| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Impostare a `1` per utilizzare un prompt di sistema più breve e descrizioni di strumenti abbreviate su qualsiasi modello. Impostare a `0`, `false`, `no`, o `off` per rinunciare anche sui modelli in cui l'esperimento o la configurazione del server lo abiliterebbero altrimenti. L'insieme completo di strumenti, gli hook, i server MCP, e la scoperta di CLAUDE.md rimangono abilitati |

319| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Imposta su `1` per forzare l'abilitazione del watchdog di inattività a livello di byte, o imposta su `0` per forzare la disabilitazione. Se non impostato, il watchdog è abilitato per impostazione predefinita per le connessioni API Anthropic dirette e [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Il byte watchdog interrompe una connessione quando nessun byte arriva sul filo per 180 secondi per impostazione predefinita su connessioni API Anthropic dirette, 300 secondi su Claude Platform on AWS e quando abilitato su Amazon Bedrock, o per il valore di `CLAUDE_STREAM_IDLE_TIMEOUT_MS` quando è impostato, che è limitato a un minimo di 5 minuti, indipendente dal watchdog a livello di evento |366| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Saltare l'autenticazione lato client per [Claude Platform on AWS](/docs/it/claude-platform-on-aws), per i gateway che firmano le richieste stessi |

320| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Imposta su `1` per abilitare il watchdog di inattività a livello di byte su risposte Amazon Bedrock `vnd.amazon.eventstream`. Disattivato per impostazione predefinita. Configurate il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |367| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Impostare a `1` per disattivare la cache in-process delle credenziali risolte dalla catena del provider di credenziali predefinito AWS, in modo che Claude Code risolva la catena su ogni richiesta API. Con la cache disattivata, un profilo supportato da SSO richiede credenziali da IAM Identity Center su ogni richiesta. Vedere [credential caching and resolution timeout](/docs/it/amazon-bedrock#credential-caching-and-resolution-timeout). Richiede Claude Code v2.1.207 o successivo |

321| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Imposta su `0` per forzare la disabilitazione del watchdog di inattività dello streaming a livello di evento, o imposta su `1` per forzare l'abilitazione. Se non impostato, il watchdog è attivo per impostazione predefinita per tutti i provider. Prima di v2.1.196, il valore predefinito non impostato era controllato dal server sull'API Anthropic diretta e disattivato su altri provider. A partire da v2.1.169, i provider diversi dall'API Anthropic diretta e da Claude Platform on AWS hanno anche un timeout di inattività del corpo di 5 minuti predefinito indipendente da questa variabile; vedi `API_FORCE_IDLE_TIMEOUT`. Su Amazon Bedrock, potete anche abilitare il watchdog indipendente a livello di byte con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`; i due vengono eseguiti insieme quando entrambi sono impostati. Configurate il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |368| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Saltare l'autenticazione AWS per Amazon Bedrock (ad esempio, quando si utilizza un gateway LLM) |

322| `CLAUDE_ENV_FILE` | Percorso di uno script di shell i cui contenuti Claude Code esegue prima di ogni comando Bash nello stesso processo di shell, in modo che gli export nel file siano visibili al comando. Utilizza per persistere l'attivazione di virtualenv o conda tra i comandi. Anche popolato dinamicamente dagli hook [SessionStart](/docs/it/hooks#persist-environment-variables), [Setup](/docs/it/hooks#setup), [CwdChanged](/docs/it/hooks#cwdchanged) e [FileChanged](/docs/it/hooks#filechanged) |369| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Impostare a `1` per trattare un controllo di disponibilità della [fast mode](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) non riuscito come disponibile, per le reti che bloccano la richiesta diretta del controllo a `api.anthropic.com`. Claude Code onora comunque una risposta "disabled by your organization" |

323| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefisso per i nomi delle sessioni [Remote Control](/docs/it/remote-control) generati automaticamente quando non viene fornito un nome esplicito. Per impostazione predefinita il nome host della vostra macchina, producendo nomi come `myhost-graceful-unicorn`. Il flag CLI `--remote-control-session-name-prefix` imposta lo stesso valore per una singola invocazione |370| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Impostare a `1` per saltare il controllo di disponibilità della [fast mode](/docs/it/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) lato client, per i proxy che intercettano la richiesta del controllo piuttosto che rifiutarla. L'API rifiuta comunque le richieste di fast mode quando la vostra organizzazione ha la fast mode disabilitata |

324| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in millisecondi prima che il watchdog di inattività dello streaming chiuda una connessione bloccata. Quando impostate questa variabile esplicitamente, il minimo è `300000` (5 minuti); i valori inferiori vengono silenziosamente limitati per assorbire le pause di thinking esteso e il buffering del proxy. Se non impostato, il watchdog a livello di evento per impostazione predefinita è 300 secondi e il watchdog a livello di byte per impostazione predefinita è 180 secondi su connessioni API Anthropic dirette (300 secondi su Claude Platform on AWS e altri provider). Il valore predefinito di 180 secondi del byte-watchdog non impostato è un valore separato e non è soggetto al limite di 5 minuti. Il timeout di inattività del corpo descritto in `API_FORCE_IDLE_TIMEOUT` si applica indipendentemente. Su Amazon Bedrock, si applica anche quando `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |371| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Saltare l'autenticazione Azure per Microsoft Foundry, per un proxy o gateway che inietta il suo header `Authorization`. Claude Code invia richieste senza una credenziale Azure e preserva l'intestazione `Authorization` che fornite, ad esempio tramite `ANTHROPIC_CUSTOM_HEADERS`. Ignorato quando `ANTHROPIC_FOUNDRY_API_KEY` o `ANTHROPIC_FOUNDRY_AUTH_TOKEN` è impostato. Prima della v2.1.203, questa variabile lasciava il client Microsoft Foundry incapace di inviare richieste a meno che una chiave API non fosse anche impostata |

325| `DEBUG` | Imposta su `1` per abilitare la modalità debug, equivalente al lancio con [`--debug`](/docs/it/cli-reference#cli-flags). I log di debug vengono scritti in `~/.claude/debug/<session-id>.txt`, o nel percorso impostato da `CLAUDE_CODE_DEBUG_LOGS_DIR`. Solo i valori truthy `1`, `true`, `yes` e `on` abilitano la modalità debug, quindi i modelli di namespace come `DEBUG=express:*` impostati per altri strumenti non lo attivano |372| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Saltare l'autenticazione AWS per Amazon Bedrock Mantle (ad esempio, quando si utilizza un gateway LLM) |

326| `DISABLE_AUTOUPDATER` | Imposta su `1` per disabilitare gli aggiornamenti automatici in background. Il manuale `claude update` funziona ancora. Utilizza `DISABLE_UPDATES` per bloccare entrambi |373| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Impostare a `1` per saltare la scrittura della cronologia dei prompt e delle trascrizioni della sessione su disco. Le sessioni avviate con questa variabile impostata non appaiono in `--resume`, `--continue`, o nella cronologia della freccia su. Utile per le sessioni di script effimere |

327| `DISABLE_AUTO_COMPACT` | Imposta su `1` per disabilitare la compattazione automatica quando ci si avvicina al limite del contesto. Il comando manuale `/compact` rimane disponibile. Utilizza quando desiderate un controllo esplicito su quando si verifica la compattazione |374| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Saltare l'autenticazione Google per Google Cloud's Agent Platform (ad esempio, quando si utilizza un gateway LLM) |

328| `DISABLE_COMPACT` | Imposta su `1` per disabilitare tutta la compattazione: sia la compattazione automatica che il comando manuale `/compact` |375| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Numero massimo di volte consecutive che un hook [Stop](/docs/it/hooks#stop) o [SubagentStop](/docs/it/hooks#subagentstop) può bloccare il turno dal terminare prima che Claude Code lo ignori e termini il turno comunque (predefinito: 8). Impostare a `0` per disabilitare il limite. Aumentare se il vostro hook ha legittimamente bisogno di più iterazioni per risolvere |

329| `DISABLE_COST_WARNINGS` | Imposta su `1` per disabilitare i messaggi di avviso sui costi |376| `CLAUDE_CODE_SUBAGENT_MODEL` | Il modello predefinito per i [subagent](/docs/it/sub-agents#choose-a-model), i compagni del [agent team](/docs/it/agent-teams#specify-teammates-and-models), e gli agenti del [workflow](/docs/it/workflows) che non sono assegnati a un modello in un altro modo. Accetta un alias come `haiku` o un nome di modello completo. Due fonti hanno la precedenza su di esso: un modello che Claude passa quando genera l'agente, e un campo `model` nella definizione dell'agente, incluso `inherit`. Per cambiare quello, impostare [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/it/sub-agents#run-every-subagent-on-one-model). Vedere [Choose a model](/docs/it/sub-agents#choose-a-model) per l'ordine completo. L'impostazione a `inherit` è la stessa che lasciarla non impostata. Prima della v2.1.251, questa variabile sostituiva sia il modello per invocazione che il campo `model` della definizione |

330| `DISABLE_DOCTOR_COMMAND` | Imposta su `1` per nascondere il comando `/doctor`. Utile per distribuzioni gestite in cui gli utenti non dovrebbero eseguire diagnostiche di installazione |377| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Impostare a `1` per forzare un modello sui subagent, i compagni e gli agenti del flusso di lavoro. [Run every subagent on one model](/docs/it/sub-agents#run-every-subagent-on-one-model) dice quale modello è. Richiede Claude Code v2.1.257 o successivo |

331| `DISABLE_ERROR_REPORTING` | Imposta su `1` per rinunciare alla segnalazione degli errori |378| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Impostare `5m` o `1h`, gli unici valori che Claude Code accetta, per scegliere il [prompt cache TTL](/docs/it/prompt-caching#cache-lifetime) per le richieste al di fuori della conversazione principale, come [subagent](/docs/it/sub-agents), flussi di lavoro, e lavoro di background. Ha la precedenza sull'impostazione `subagentPromptCacheTtl` e su `ENABLE_PROMPT_CACHING_1H`, e `FORCE_PROMPT_CACHING_5M` la sostituisce. Le scritture della cache di 1 ora vengono fatturate a una tariffa più alta. Richiede Claude Code v2.1.242 o successivo |

332| `DISABLE_EXTRA_USAGE_COMMAND` | Imposta su `1` per nascondere il comando `/usage-credits` che consente agli utenti di acquistare utilizzo aggiuntivo oltre i limiti di velocità |379| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Impostare a `1` per rimuovere le credenziali dagli ambienti dei sottoprocessi (strumento Bash, hook, server MCP stdio): credenziali Anthropic e provider cloud, qualsiasi altra variabile che Claude Code riconosce come credenziale, e credenziali incorporate negli URL del registro dei pacchetti. Il processo Claude genitore mantiene queste credenziali per le chiamate API, ma i processi figlio non possono leggerle, riducendo l'esposizione agli attacchi di iniezione di prompt che tentano di esfiltrare i segreti tramite l'espansione della shell. Su Linux, questo esegue anche i sottoprocessi Bash in uno spazio dei nomi PID isolato in modo che non possono leggere gli ambienti dei processi host tramite `/proc`; come effetto collaterale, `ps`, `pgrep`, e `kill` non possono vedere o segnalare i processi host. `claude-code-action` imposta questo automaticamente quando `allowed_non_write_users` è configurato |

333| `DISABLE_FEEDBACK_COMMAND` | Imposta su `1` per disabilitare il comando `/feedback`. Il nome più vecchio `DISABLE_BUG_COMMAND` è anche accettato |380| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Impostare a `1` in modalità non interattiva (il flag `-p`) per aspettare il completamento dell'installazione del plugin prima della prima query. Senza questo, i plugin si installano in background e potrebbero non essere disponibili al primo turno. Combinare con `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` per limitare l'attesa |

334| `DISABLE_GROWTHBOOK` | Imposta su `1` per disabilitare il recupero dei flag di funzionalità GrowthBook e utilizzare i valori predefiniti del codice per ogni flag. La registrazione degli eventi di telemetria rimane attiva a meno che `DISABLE_TELEMETRY` non sia anche impostato |381| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per l'installazione sincrona del plugin. Quando superato, Claude Code procede senza plugin e registra un errore. Nessun predefinito: senza questa variabile, l'installazione sincrona aspetta fino al completamento |

335| `DISABLE_INSTALLATION_CHECKS` | Imposta su `1` per disabilitare gli avvisi di installazione. Utilizza solo quando gestite manualmente la posizione di installazione, poiché questo può mascherare i problemi con le installazioni standard |382| `CLAUDE_CODE_SYNC_SKILLS` | Impostare a `1` per scaricare le vostre skill abilitate di claude.ai in `~/.claude/skills/synced/` e risincronizzare ogni 10 minuti. Prima di eseguire la prima query, Claude Code aspetta fino a `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` per l'elenco delle vostre skill. I download stessi finiscono in background, e Claude aspetta il download di una skill quando la invoca. Il nome della cartella `synced` è [riservato per questo download](/docs/it/skills#where-skills-live). Prima della v2.1.227, le skill scaricavano in `~/.claude/skills/` direttamente. Si applica solo in modalità non interattiva con il flag `-p`. Richiede l'autenticazione di claude.ai. Le sessioni [Claude Code on the web](/docs/it/claude-code-on-the-web) ricevono le vostre skill abilitate di claude.ai automaticamente; non è necessario impostare questo lì. Claude Code applica [regole extra alle skill scaricate](/docs/it/skills#how-synced-skills-behave), come non eseguire i loro comandi `!` sulla vostra macchina |

336| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Imposta su `1` per nascondere il comando `/install-github-app`. Già nascosto quando si utilizzano provider di terze parti (Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry) |383| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per una risincronizzazione delle skill a metà sessione quando `CLAUDE_CODE_SYNC_SKILLS` è impostato (predefinito: 30000). Limita il download attivato quando l'host richiede un ricaricamento delle skill durante la sessione. Quando superato, la risincronizzazione si ferma e i download rimanenti continuano in background |

337| `DISABLE_INTERLEAVED_THINKING` | Imposta su `1` per impedire l'invio dell'intestazione beta interleaved-thinking. Utile quando il vostro gateway LLM o provider non supporta il [thinking interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |384| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in millisecondi per la prima query da aspettare per l'elenco iniziale delle skill quando `CLAUDE_CODE_SYNC_SKILLS` è impostato (predefinito: 5000). Quando superato, la prima query viene eseguita con qualsiasi skill sia arrivata. I download finiscono in background comunque, e Claude aspetta il download di una skill quando la invoca |

338| `DISABLE_LOGIN_COMMAND` | Imposta su `1` per nascondere il comando `/login`. Utile quando l'autenticazione è gestita esternamente tramite chiavi API o `apiKeyHelper` |385| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Impostare a `false` per disabilitare l'evidenziazione della sintassi nell'output diff. Utile quando i colori interferiscono con la configurazione del vostro terminale. Per disabilitare anche l'evidenziazione nei blocchi di codice e nelle anteprime di file, utilizzare l'impostazione [`syntaxHighlightingDisabled`](/docs/it/settings-reference#syntaxhighlightingdisabled) |

339| `DISABLE_LOGOUT_COMMAND` | Imposta su `1` per nascondere il comando `/logout` |386| `CLAUDE_CODE_TASK_LIST_ID` | Condividere un elenco di compiti tra le sessioni. Impostare lo stesso ID in più istanze di Claude Code per coordinare un elenco di compiti condiviso, nelle [sessioni che hanno gli strumenti Task](/docs/it/tools-reference#task-tool-availability). Vedere [Task list](/docs/it/interactive-mode#task-list) |

340| `DISABLE_PROMPT_CACHING` | Imposta su `1` per disabilitare il [caching dei prompt](/docs/it/prompt-caching#disable-prompt-caching) per tutti i modelli (ha la precedenza sulle impostazioni per singolo modello) |387| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Sostituire, in millisecondi, quanto a lungo una sessione non interattiva aspetta all'uscita per il suo [agent team](/docs/it/agent-teams) per terminare. Accetta da 1000 a 60000; un valore fuori intervallo viene ignorato e si applica il predefinito di 10000. Richiede Claude Code v2.1.206 o successivo |

341| `DISABLE_PROMPT_CACHING_FABLE` | Imposta su `1` per disabilitare il caching dei prompt per i modelli Fable |388| `CLAUDE_CODE_TMPDIR` | Sostituire la directory temporanea utilizzata per i file temporanei interni. Claude Code aggiunge `/claude-{uid}/` su Unix o `/claude/` su Windows a questo percorso. Predefinito: `/tmp` su macOS, `os.tmpdir()` su Linux e Windows. Su macOS e Linux, i sottoprocessi Bash [sandboxed](/docs/it/sandboxing) ricevono un fallback `$TMPDIR` breve sotto il predefinito del sistema quando il vostro override è un percorso lungo, poiché alcuni strumenti falliscono quando i percorsi temporanei diventano troppo lunghi. I comandi Bash non sandboxed ereditano il vostro `$TMPDIR` di shell invariato. I file temporanei di Claude Code stesso utilizzano sempre il vostro override. Impostatelo nella vostra shell, nelle impostazioni utente, o nelle impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

342| `DISABLE_PROMPT_CACHING_HAIKU` | Imposta su `1` per disabilitare il caching dei prompt per i modelli Haiku |389| `CLAUDE_CODE_TMUX_TRUECOLOR` | Impostare a qualsiasi valore non vuoto, come `1`, per consentire l'output truecolor a 24 bit all'interno di tmux. **L'impostazione a `0` o `false` consente comunque il truecolor**, a differenza della maggior parte delle variabili on/off; annullare l'impostazione della variabile per ripristinare il morsetto a 256 colori. Per impostazione predefinita, Claude Code si limita a 256 colori quando `$TMUX` è impostato perché tmux non passa attraverso le sequenze di escape truecolor a meno che non sia configurato per farlo. Impostare questo dopo aver aggiunto `set -ga terminal-overrides ',*:Tc'` al vostro `~/.tmux.conf`. Vedere [Terminal configuration](/docs/it/terminal-config) per altre impostazioni tmux |

343| `DISABLE_PROMPT_CACHING_OPUS` | Imposta su `1` per disabilitare il caching dei prompt per i modelli Opus |390| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Su Linux e WSL, impostare a un elenco separato da virgole dei tipi di processi che Claude Code [esclude dal limite di memoria dello strumento](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), come `mcp` o `lsp`. Impostare `none` per limitare ogni tipo, o `all-new` per limitare solo i comandi degli strumenti Bash, PowerShell e Monitor. Claude Code mantiene i comandi degli strumenti Bash, PowerShell e Monitor sotto il limite qualsiasi cosa elenchiate. Richiede Claude Code v2.1.246 o successivo |

344| `DISABLE_PROMPT_CACHING_SONNET` | Imposta su `1` per disabilitare il caching dei prompt per i modelli Sonnet |391| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Su Linux e WSL, impostare a una dimensione come `4G` per [limitare la memoria che i comandi degli strumenti Bash e PowerShell possono utilizzare](/docs/it/tools-reference#memory-limit-on-linux-and-wsl), e i comandi dello strumento Monitor su v2.1.246 o successivo. Scrivere la dimensione in cifre semplici, sole per un numero di byte o con un suffisso `K`, `M`, `G`, o `T`. Impostare `0` o `off` per disattivare il limite. Una volta che il primo processo che Claude Code avvia ha attivato o disattivato il limite, un valore modificato ha effetto la prossima volta che avviate `claude`. Richiede Claude Code v2.1.233 o successivo |

345| `DISABLE_TELEMETRY` | Imposta su `1` per rinunciare alla telemetria. Gli eventi di telemetria non includono dati utente come codice, percorsi di file o comandi bash. Disabilita anche il recupero dei flag di funzionalità con lo stesso effetto di `DISABLE_GROWTHBOOK`, quindi alcune funzionalità ancora in rollout potrebbero non essere disponibili |392| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Scadenza in millisecondi prima che Claude Code annulli una finestra di dialogo che inoltro a un client remoto come un [Remote Control](/docs/it/remote-control) o host SDK, o la finestra di dialogo di approvazione per un [messaggio tra sessioni in sospeso](/docs/it/cross-session-messaging#control-inbound-messages); i prompt di autorizzazione e le domande `AskUserQuestion` utilizzano i loro flussi e non sono governati da esso. Su Claude Code v2.1.236 o successivo, limita anche il prompt di consenso dei crediti di utilizzo [Fable](/docs/it/model-config#fable-and-usage-credits) a metà sessione in una sessione che potrebbe essere in esecuzione non presenziale. [Control inbound messages](/docs/it/cross-session-messaging#control-inbound-messages) e [non-interactive sessions](/docs/it/cross-session-messaging#non-interactive-sessions) coprono le regole di scadenza del messaggio in sospeso completo, inclusi i casi in cui la scadenza non si applica. Sostituisce l'impostazione [`dialogExpiry`](/docs/it/settings-reference#dialogexpiry). `0` o un valore negativo disabilita la scadenza |

346| `DISABLE_UPDATES` | Imposta su `1` per bloccare tutti gli aggiornamenti incluso il manuale `claude update` e `claude install`. Più rigoroso di `DISABLE_AUTOUPDATER`. Utilizza quando distribuite Claude Code attraverso i vostri canali e gli utenti non dovrebbero auto-aggiornarsi |393| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Utilizzare [Claude Platform on AWS](/docs/it/claude-platform-on-aws) |

347| `DISABLE_UPGRADE_COMMAND` | Imposta su `1` per nascondere il comando `/upgrade` |394| `CLAUDE_CODE_USE_BEDROCK` | Utilizzare [Amazon Bedrock](/docs/it/amazon-bedrock) |

348| `DO_NOT_TRACK` | Imposta su `1` per rinunciare alla telemetria. Equivalente all'impostazione di `DISABLE_TELEMETRY`. Claude Code onora questa come la convenzione standard tra strumenti riconosciuta da molti CLI per sviluppatori |395| `CLAUDE_CODE_USE_FOUNDRY` | Utilizzare [Microsoft Foundry](/docs/it/microsoft-foundry) |

349| `ENABLE_CLAUDEAI_MCP_SERVERS` | Imposta su `false` per disabilitare i [server MCP claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai) in Claude Code. Abilitato per impostazione predefinita per gli utenti connessi. Per disabilitare per progetto o per organizzazione, imposta [`disableClaudeAiConnectors`](/docs/it/settings#available-settings) nelle impostazioni |396| `CLAUDE_CODE_USE_MANTLE` | Utilizzare l'endpoint Amazon Bedrock [Mantle](/docs/it/amazon-bedrock#use-the-mantle-endpoint) |

350| `ENABLE_PROMPT_CACHING_1H` | Imposta su `1` per richiedere un TTL della cache dei prompt di 1 ora invece dei 5 minuti predefiniti. Destinato agli utenti di chiave API, [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry) e [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Gli utenti di abbonamento ricevono automaticamente il TTL di 1 ora. Le scritture della cache di 1 ora vengono fatturate a una tariffa più elevata |397| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Impostare a `1` per scoprire comandi personalizzati, subagent e stili di output utilizzando le API di file Node.js invece di ripgrep. Impostare questo se il binario ripgrep raggruppato non è disponibile o bloccato nel vostro ambiente. Non influisce sugli strumenti Grep o ricerca di file |

351| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecato. Utilizza `ENABLE_PROMPT_CACHING_1H` invece |398| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Controlla lo strumento PowerShell. Su Windows senza Git Bash, lo strumento è abilitato automaticamente; impostare a `0` per disabilitarlo. Su Windows con Git Bash installato, lo strumento è attivo per impostazione predefinita per gli account claude.ai e Console; impostare a `1` per abilitarlo nelle sessioni Amazon Bedrock, Google Cloud's Agent Platform, e Microsoft Foundry, o `0` per disattivarlo. Su Linux, macOS e WSL, impostare a `1` per abilitarlo, che richiede `pwsh` nel vostro `PATH`. Quando abilitato su Windows, Claude può eseguire i comandi PowerShell nativamente invece di instradare attraverso Git Bash. Vedere [PowerShell tool](/docs/it/tools-reference#powershell-tool) |

352| `ENABLE_TOOL_SEARCH` | Controlla la [ricerca degli strumenti MCP](/docs/it/mcp#scale-with-mcp-tool-search). Non impostato: tutti gli strumenti MCP differiti per impostazione predefinita, ma caricati in primo piano su Google Cloud's Agent Platform o quando `ANTHROPIC_BASE_URL` punta a un host non di prima parte. Valori: `true` (sempre differire e inviare l'intestazione beta, le richieste falliscono su modelli Google Cloud's Agent Platform precedenti a Sonnet 4.5 o Opus 4.5, o su proxy che non supportano `tool_reference`), `auto` (modalità soglia: carica in primo piano se gli strumenti si adattano entro il 10% del contesto), `auto:N` (soglia personalizzata, ad es. `auto:5` per il 5%), `false` (carica tutto in primo piano). Ignorato quando `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` è impostato, che forza tutti gli strumenti a caricarsi in primo piano |399| `CLAUDE_CODE_USE_VERTEX` | Utilizzare [Google Cloud's Agent Platform](/docs/it/google-vertex-ai) |

353| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Imposta su qualsiasi valore non vuoto per fare in modo che tutti i modelli, non solo Opus, smettano di riprovare con un errore di sovraccarico ripetuto quando nessun modello di fallback è configurato. A partire da v2.1.160, una [catena di modelli di fallback](/docs/it/model-config#fallback-model-chains) configurata si attiva su errori di sovraccarico ripetuti per qualsiasi modello primario, quindi questa variabile non influisce sul passaggio a un modello di fallback |400| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Impostare al numero di millisecondi che [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior) mantiene la risposta di ogni URL recuperato memorizzata in cache. Il predefinito è `900000`, che è 15 minuti. Accetta solo cifre semplici; `0`, un decimale, o qualsiasi altra ortografia mantiene il predefinito. Claude Code legge il valore una volta per avvio, quindi una modifica in un blocco `env` delle impostazioni si applica quando avviate successivamente `claude`. Richiede Claude Code v2.1.233 o successivo |

354| `FORCE_AUTOUPDATE_PLUGINS` | Imposta su `1` per forzare gli aggiornamenti automatici dei plugin anche quando l'auto-updater principale è disabilitato tramite `DISABLE_AUTOUPDATER` |401| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite superiore in millisecondi su quanto a lungo [WebFetch](/docs/it/tools-reference#webfetch-tool-behavior) aspetta il download di una pagina, inclusi i reindirizzamenti che segue. Un download che non è stato completato entro allora fallisce con un errore di scadenza. Il predefinito è `300000`, che è cinque minuti. Impostare a `0` per rimuovere il limite. Accetta solo cifre semplici; un decimale o qualsiasi altra ortografia mantiene il predefinito. Richiede Claude Code v2.1.268 o successivo |

355| `FORCE_HYPERLINK` | Imposta su `1` per abilitare i hyperlink OSC 8 cliccabili quando il vostro terminale li supporta ma non viene rilevato automaticamente, o `0` per disabilitarli |402| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite superiore in millisecondi su quanto a lungo un agente del [workflow](/docs/it/workflows) aspetta la risposta iniziale di un fratello con lo stesso prefisso prima di inviare la sua richiesta iniziale. Quando un fan-out avvia diversi agenti che condividono un [prefisso di prompt-cache](/docs/it/workflows#prompt-caching-in-a-fan-out), Claude Code mantiene tutti tranne il primo agente per fino a questo lungo in modo che il resto legga il prefisso memorizzato in cache invece di elaborarlo non memorizzato in cache. Predefinito `5000`. Impostare a `0` per disabilitare l'attesa. Quando `DISABLE_PROMPT_CACHING` è impostato, gli agenti non aspettano mai. Richiede Claude Code v2.1.229 o successivo |

356| `FORCE_PROMPT_CACHING_5M` | Imposta su `1` per forzare il TTL della cache dei prompt di 5 minuti anche quando il TTL di 1 ora si applicherebbe altrimenti. Sostituisce `ENABLE_PROMPT_CACHING_1H` |403| `CLAUDE_CONFIG_DIR` | Sostituire la directory di configurazione (predefinito: `~/.claude`). Tutte le impostazioni, la cronologia della sessione e i plugin vengono memorizzati sotto questo percorso. Per le credenziali, vedere [where Claude Code stores credentials](/docs/it/authentication#credential-management). Utile per eseguire più account fianco a fianco: ad esempio, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Impostatelo nella vostra shell, nelle impostazioni utente, o nelle impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

357| `HTTP_PROXY` | Specifica il server proxy HTTP per le connessioni di rete |404| `CLAUDE_DISABLE_ADOPT` | Impostare a `1` per impedire il lavoro di background in volo di trasportare quando mettete in background una sessione premendo `←` o con [`/background`](/docs/it/agent-view#from-inside-a-session). Claude Code vi chiede di confermare prima di mettere in background, quindi interrompe i compiti che altrimenti si trasporterebbero. Richiede Claude Code v2.1.195 o successivo |

358| `HTTPS_PROXY` | Specifica il server proxy HTTPS per le connessioni di rete |405| `CLAUDE_EFFORT` | Impostato automaticamente nei sottoprocessi dello strumento Bash e nei comandi hook al [livello di effort](/docs/it/model-config#adjust-effort-level) in vigore quando il sottoprocesso inizia: `low`, `medium`, `high`, `xhigh`, o `max`. Ultracode non è un livello distinto e segnala come `xhigh`. Corrisponde al campo `effort.level` passato ai [hook](/docs/it/hooks). Impostato solo quando il modello corrente supporta il parametro effort |

359| `IS_DEMO` | Imposta su `1` per abilitare la modalità demo: nasconde la vostra email e il nome dell'organizzazione dall'intestazione e dall'output `/status`, e salta l'onboarding. Utile quando si trasmette in streaming o si registra una sessione |406| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Impostare a `1` per forzare l'abilitazione del watchdog di inattività dello streaming a livello di byte, o impostare a `0` per forzare la disattivazione. `0` disattiva anche la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs) sulle connessioni in cui viene eseguita quella scadenza. Quando non impostato, il watchdog è abilitato per impostazione predefinita per le connessioni API Anthropic dirette e [Claude Platform on AWS](/docs/it/claude-platform-on-aws), e per le risposte in streaming su connessioni [gateway](/docs/it/gateways) raggiunte tramite `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL`; prima della v2.1.222 non veniva eseguito su quelle connessioni gateway, quindi il watchdog a livello di evento potrebbe segnalare uno stallo lì anche mentre i ping keep-alive stavano arrivando. Per i timeout e come i timer interagiscono, vedere [Streaming idle watchdogs](/docs/it/network-config#streaming-idle-watchdogs) |

360| `MAX_MCP_OUTPUT_TOKENS` | Numero massimo di token consentiti nelle risposte degli strumenti MCP. Claude Code visualizza un avviso quando l'output supera 10.000 token. Gli strumenti che dichiarano [`anthropic/maxResultSizeChars`](/docs/it/mcp#raise-the-limit-for-a-specific-tool) utilizzano quel limite di caratteri per il contenuto di testo, ma il contenuto dell'immagine da questi strumenti è ancora soggetto a questa variabile (predefinito: 25000) |407| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Impostare a `1` per abilitare il watchdog di inattività dello streaming a livello di byte sulle risposte Amazon Bedrock `vnd.amazon.eventstream`, che abilita anche la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs) sulle richieste di streaming Bedrock. Disattivato per impostazione predefinita. Configurare il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

361| `MAX_STRUCTURED_OUTPUT_RETRIES` | Numero di volte per riprovare quando la risposta del modello non supera la convalida rispetto a [`--json-schema`](/docs/it/cli-reference#cli-flags) in modalità non interattiva (il flag `-p`). Per impostazione predefinita 5 |408| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Impostare a `0` per forzare la disattivazione del watchdog di inattività dello streaming a livello di evento, o impostare a `1` per forzare l'abilitazione. Quando non impostato, il watchdog è attivo per impostazione predefinita per tutti i provider. Prima della v2.1.196, il predefinito non impostato era controllato dal server sull'API Anthropic diretta e disattivato su altri provider. Configurare il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; per gli altri timer di stallo che vengono eseguiti insieme a questo, vedere [Streaming idle watchdogs](/docs/it/network-config#streaming-idle-watchdogs) |

362| `MAX_THINKING_TOKENS` | Sovrascrivi il budget del token di [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Il massimale è il [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) del modello meno uno. Imposta su `0` per disabilitare il thinking sull'API Anthropic tranne su Fable 5, che non può avere il thinking disattivato. Su [provider di terze parti](/docs/it/third-party-integrations), `0` allo stesso modo omette il parametro `thinking`, e i modelli con [ragionamento adattivo](/docs/it/model-config#adjust-effort-level) potrebbero comunque pensare. Per valori diversi da zero su modelli di ragionamento adattivo, il budget viene ignorato a meno che il ragionamento adattivo non sia disabilitato tramite `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` |409| `CLAUDE_ENV_FILE` | Percorso a uno script di shell i cui contenuti Claude Code esegue prima di ogni comando Bash nello stesso processo di shell, in modo che gli export nel file siano visibili al comando. Utilizzare per persistere l'attivazione di virtualenv o conda tra i comandi. Anche popolato dinamicamente dagli hook [SessionStart](/docs/it/hooks#persist-environment-variables), [Setup](/docs/it/hooks#setup), [CwdChanged](/docs/it/hooks#cwdchanged), e [FileChanged](/docs/it/hooks#filechanged) |

363| `MCP_CLIENT_SECRET` | Segreto client OAuth per i server MCP che richiedono [credenziali preconfigurate](/docs/it/mcp#use-pre-configured-oauth-credentials). Evita il prompt interattivo quando si aggiunge un server con `--client-secret` |410| `CLAUDE_JOB_DIR` | Impostato da Claude Code in ogni [sessione di background](/docs/it/agent-view) alla directory `~/.claude/jobs/<id>` di quella sessione. I comandi shell che la sessione esegue lo ereditano. Scrivere i file di scratch a [`$CLAUDE_JOB_DIR/tmp`](/docs/it/agent-view#where-state-is-stored). Le chiamate `Write` e `Edit` di Claude lì non chiedono il permesso, e la directory viene rimossa quando la sessione viene eliminata |

364| `MCP_CONNECTION_NONBLOCKING` | Controlla se l'avvio attende che i server MCP si connettano prima della prima query. A partire da Claude Code v2.1.142, l'avvio MCP è non-bloccante per impostazione predefinita: i server si connettono in background e i loro strumenti diventano disponibili man mano che finiscono. Imposta su `0` per ripristinare l'attesa di connessione bloccante di 5 secondi. I server configurati con [`alwaysLoad: true`](/docs/it/mcp#exempt-a-server-from-deferral) bloccano comunque l'avvio indipendentemente, poiché i loro strumenti devono essere presenti quando viene costruito il primo prompt |411| `CLAUDE_PID` | Claude Code imposta questo al suo ID di processo nei sottoprocessi che genera: comandi degli strumenti Bash e PowerShell e comandi hook. Su Linux, l'integrazione della shell dello strumento Bash lo utilizza per rifiutare un modello `pkill` che corrisponderebbe al processo Claude Code stesso; vedere [the error reference](/docs/it/errors#pkill-pattern-matches-the-claude-code-process). Leggerlo dai vostri script per identificare o segnalare deliberatamente il processo Claude Code genitore. Richiede Claude Code v2.1.214 o successivo |

365| `MCP_CONNECT_TIMEOUT_MS` | Quanto tempo l'avvio bloccante attende, in millisecondi, per il batch di connessione prima di acquisire uno snapshot dell'elenco degli strumenti (predefinito: 5000). Si applica quando `MCP_CONNECTION_NONBLOCKING=0` o per i server contrassegnati [`alwaysLoad: true`](/docs/it/mcp#exempt-a-server-from-deferral). I server ancora in sospeso alla scadenza continuano a connettersi in background ma non appariranno fino alla query successiva. Distinto da `MCP_TIMEOUT`, che limita il tentativo di connessione di un singolo server |412| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefisso per i nomi di sessione [Remote Control](/docs/it/remote-control) generati automaticamente quando nessun nome esplicito viene fornito. Predefinito al nome host della vostra macchina, producendo nomi come `myhost-graceful-unicorn`. Il flag CLI `--remote-control-session-name-prefix` imposta lo stesso valore per una singola invocazione |

366| `MCP_OAUTH_CALLBACK_PORT` | Porta fissa per il callback di reindirizzamento OAuth, come alternativa a `--callback-port` quando si aggiunge un server MCP con [credenziali preconfigurate](/docs/it/mcp#use-pre-configured-oauth-credentials) |413| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Scadenza in millisecondi per il primo byte di risposta di una richiesta in streaming, sulle connessioni in cui viene eseguita la [scadenza del primo byte](/docs/it/network-config#streaming-idle-watchdogs). Per come Claude Code la limita, il tempo extra che aggiunge per i corpi di richiesta grandi, e come sceglie la scadenza quando la lasciate non impostata, vedere [No response from API](/docs/it/errors#no-response-from-api). Richiede Claude Code v2.1.242 o successivo |

414| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in millisecondi prima che i watchdog di inattività dello streaming a livello di evento e byte chiudano una connessione bloccata. Quando impostate questa variabile esplicitamente, il minimo è `300000` (5 minuti); i valori inferiori vengono silenziosamente limitati per assorbire le pause di thinking esteso e il buffering del proxy, e il watchdog a livello di byte limita il valore a 30 minuti. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` ha la precedenza su questa variabile per il watchdog a livello di byte. Per i predefiniti non impostati per watchdog, vedere [Streaming idle watchdogs](/docs/it/network-config#streaming-idle-watchdogs) |

415| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Rimosso nella v2.1.260 e ora un no-op. In precedenza limitava quanto a lungo un [comando shell di background](/docs/it/interactive-mode#background-bash-commands) che un [subagent](/docs/it/sub-agents) ha avviato poteva eseguire, in millisecondi, con un predefinito di 60 minuti. Vedere [the background command lifetime rules](/docs/it/tools-reference#background-commands) |

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

417| `DISABLE_AUTOUPDATER` | Impostare a `1` per disabilitare gli aggiornamenti automatici di background. Il manuale `claude update` continua a funzionare. Utilizzare `DISABLE_UPDATES` per bloccare entrambi |

418| `DISABLE_AUTO_COMPACT` | Impostare a `1` per disabilitare la compattazione automatica quando ci si avvicina al limite di contesto. Il comando manuale `/compact` rimane disponibile. Utilizzare quando desiderate il controllo esplicito su quando si verifica la compattazione. Sostituisce l'impostazione [`autoCompactEnabled`](/docs/it/settings-reference#autocompactenabled) |

419| `DISABLE_COMPACT` | Impostare a `1` per disabilitare tutta la compattazione: sia la compattazione automatica che il comando manuale `/compact` |

420| `DISABLE_COST_WARNINGS` | Impostare a `1` per disabilitare i messaggi di avviso di costo |

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

422| `DISABLE_ERROR_REPORTING` | Impostare a qualsiasi valore non vuoto, come `1`, per rinunciare alla segnalazione degli errori. **L'impostazione a `0` o `false` rinuncia comunque**, a differenza della maggior parte delle variabili on/off; annullare l'impostazione della variabile per riattivare la segnalazione degli errori |

423| `DISABLE_EXTRA_USAGE_COMMAND` | Impostare a `1` per nascondere il comando `/usage-credits` che consente agli utenti di acquistare utilizzo aggiuntivo oltre i limiti di velocità |

424| `DISABLE_FEEDBACK_COMMAND` | Impostare a `1` per disabilitare il comando `/feedback` e il [Claude-drafted feedback](/docs/it/tools-reference#sendfeedback-tool-behavior). Disabilita anche `/bug` e `/share`, che segnalano attraverso lo stesso percorso; prima della v2.1.212 erano alias di `/feedback`, quindi il comando era disabilitato con ogni nome. Il nome più vecchio `DISABLE_BUG_COMMAND` è anche accettato |

425| `DISABLE_GROWTHBOOK` | Impostare a `1` o `true` per disabilitare il recupero dei flag di funzionalità GrowthBook e utilizzare i predefiniti del codice per ogni flag. Questo rende [Remote Control](/docs/it/remote-control#requirements) e le altre [funzionalità che necessitano del recupero dei flag di funzionalità](#features-that-need-feature-flag-fetching) non disponibili. L'impostazione a `0` o `false` lascia il recupero attivo. La registrazione degli eventi di telemetria rimane attiva a meno che `DISABLE_TELEMETRY` non sia anche impostato |

426| `DISABLE_INSTALLATION_CHECKS` | Impostare a `1` per disabilitare gli avvisi di installazione. Utilizzare solo quando si gestisce manualmente la posizione di installazione, poiché questo può mascherare i problemi con le installazioni standard |

427| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Impostare a `1` per nascondere il comando `/install-github-app`. Già nascosto quando si utilizzano provider di terze parti (Amazon Bedrock, Google Cloud's Agent Platform, o Microsoft Foundry) |

428| `DISABLE_INTERLEAVED_THINKING` | Impostare a `1` per impedire l'invio dell'header beta del thinking interleaved. Utile quando il vostro gateway LLM o provider non supporta il [interleaved thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |

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

430| `DISABLE_LOGOUT_COMMAND` | Impostare a `1` per nascondere il comando `/logout` |

431| `DISABLE_PROMPT_CACHING` | Impostare a `1` per disabilitare la [prompt caching](/docs/it/prompt-caching#disable-prompt-caching) per tutti i modelli (ha la precedenza sulle impostazioni per modello) |

432| `DISABLE_PROMPT_CACHING_FABLE` | Impostare a `1` per disabilitare la prompt caching per i modelli Fable |

433| `DISABLE_PROMPT_CACHING_HAIKU` | Impostare a `1` per disabilitare la prompt caching per i modelli Haiku |

434| `DISABLE_PROMPT_CACHING_OPUS` | Impostare a `1` per disabilitare la prompt caching per i modelli Opus |

435| `DISABLE_PROMPT_CACHING_SONNET` | Impostare a `1` per disabilitare la prompt caching per i modelli Sonnet |

436| `DISABLE_TELEMETRY` | Impostare a qualsiasi valore non vuoto, come `1`, per rinunciare alla telemetria. **L'impostazione a `0` o `false` rinuncia comunque**, a differenza della maggior parte delle variabili on/off; annullare l'impostazione della variabile per riattivare la telemetria. Gli eventi di telemetria non includono dati utente come codice, percorsi di file o comandi bash. Disabilita anche il recupero dei flag di funzionalità con lo stesso effetto di `DISABLE_GROWTHBOOK`, il che rende [Remote Control](/docs/it/remote-control#requirements) e le altre [funzionalità che necessitano del recupero dei flag di funzionalità](#features-that-need-feature-flag-fetching) non disponibili. Vedere [Turn telemetry off for your organization](/docs/it/managed-settings#turn-telemetry-off-for-your-organization) |

437| `DISABLE_UPDATES` | Impostare a `1` per bloccare tutti gli aggiornamenti incluso il manuale `claude update` e `claude install`. Più rigoroso di `DISABLE_AUTOUPDATER`. Utilizzare quando si distribuisce Claude Code attraverso i vostri canali e gli utenti non dovrebbero auto-aggiornare |

438| `DISABLE_UPGRADE_COMMAND` | Impostare a `1` per nascondere il comando `/upgrade` |

439| `DO_NOT_TRACK` | Impostare a `1` per rinunciare alla telemetria, con lo stesso effetto di `DISABLE_TELEMETRY`, incluso il rendere [Remote Control](/docs/it/remote-control#requirements) e le altre [funzionalità che necessitano del recupero dei flag di funzionalità](#features-that-need-feature-flag-fetching) non disponibili. Claude Code legge questa variabile come un booleano standard, quindi `0` lascia la telemetria attiva, e la onora come la convenzione tra strumenti riconosciuta da molti CLI di sviluppatori |

440| `ENABLE_BETA_TRACING_DETAILED` | Impostare a `1`, insieme a `BETA_TRACING_ENDPOINT`, per attivare il [detailed beta tracing](/docs/it/monitoring-usage#traces-beta), che aggiunge attributi di span che trasportano contenuto e lo span `claude_code.hook`. Le sessioni CLI interattive richiedono anche che la vostra organizzazione sia nella lista di autorizzazione per il beta. Entrambe le variabili vengono ignorate nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env) |

441| `ENABLE_CLAUDEAI_MCP_SERVERS` | Impostare a `false` per impedire a Claude Code di recuperare i [server MCP di claude.ai](/docs/it/mcp#use-mcp-servers-from-claude-ai). Abilitato per impostazione predefinita per gli utenti connessi. Per disabilitare per progetto o per organizzazione, impostare [`disableClaudeAiConnectors`](/docs/it/settings-reference#disableclaudeaiconnectors) nelle impostazioni |

442| `ENABLE_PROMPT_CACHING_1H` | Impostare a `1` per richiedere un [prompt cache TTL](/docs/it/prompt-caching#cache-lifetime) di 1 ora invece dei 5 minuti predefiniti. Destinato agli utenti di chiave API, [Amazon Bedrock](/docs/it/amazon-bedrock), [Google Cloud's Agent Platform](/docs/it/google-vertex-ai), [Microsoft Foundry](/docs/it/microsoft-foundry), e [Claude Platform on AWS](/docs/it/claude-platform-on-aws). Gli utenti di abbonamento entro l'utilizzo incluso ricevono il TTL di 1 ora automaticamente sulla [conversazione principale](/docs/it/prompt-caching#which-ttl-each-request-gets). Gli utenti di abbonamento che attingono ai [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) possono impostarlo per mantenere il TTL di 1 ora. Le scritture della cache di 1 ora vengono fatturate a una tariffa più alta. Per scegliere il TTL per bucket di richiesta, utilizzare `CLAUDE_CODE_PROMPT_CACHE_TTL` e `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, che hanno la precedenza su questa variabile |

443| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecato. Utilizzare `ENABLE_PROMPT_CACHING_1H` |

444| `ENABLE_TOOL_SEARCH` | Controlla la [ricerca degli strumenti MCP](/docs/it/mcp#scale-with-mcp-tool-search). Non impostato, Claude Code rinvia tutti gli strumenti MCP per impostazione predefinita. Li carica comunque in anticipo su Google Cloud's Agent Platform modelli precedenti alla generazione Claude 4.5, su una distribuzione Microsoft Foundry ospitata su Azure, e quando `ANTHROPIC_BASE_URL` punta a un host non di prima parte. `true` rinvia sempre e invia l'header beta, tranne su quei modelli Agent Platform e distribuzioni Microsoft Foundry; le richieste falliscono su proxy che non supportano `tool_reference`. `auto` carica in anticipo quando le definizioni degli strumenti si adattano entro il 10% del contesto. `auto:N` imposta una soglia personalizzata, come `auto:5` per il 5%. `false` carica tutti gli strumenti in anticipo. Un valore che impostate voi stessi viene ignorato quando `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` è impostato. Prima della v2.1.221, Claude Code disabilitava la ricerca degli strumenti per tutti i modelli su Google Cloud's Agent Platform a meno che non impostaste questa variabile a `true` |

445| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Impostare a qualsiasi valore non vuoto, come `1`, per fare in modo che Claude Code smetta di ritentare su errori di sovraccarico ripetuti per ogni modello quando nessun modello di fallback è configurato. **L'impostazione a `0` o `false` abilita comunque questo**, a differenza della maggior parte delle variabili on/off; annullare l'impostazione della variabile per ripristinare il comportamento di ripetizione predefinito. Senza di esso, Claude Code smette di ritentare in questo modo sui modelli che riconosce come modelli Opus, Fable, o Mythos quando vi autenticate con una chiave API o un [provider di terze parti](/docs/it/third-party-integrations) piuttosto che un abbonamento Claude. Su Claude Code v2.1.160 o successivo, Claude Code passa alla vostra [catena del modello di fallback](/docs/it/model-config#fallback-model-chains) configurata su errori di sovraccarico ripetuti per qualsiasi modello primario, quindi questa variabile non influisce sul passaggio a un modello di fallback |

446| `FORCE_AUTOUPDATE_PLUGINS` | Impostare a `1` per forzare gli auto-aggiornamenti dei plugin anche quando l'auto-updater principale è disabilitato tramite `DISABLE_AUTOUPDATER` |

447| `FORCE_HYPERLINK` | Impostare a `1` per abilitare i hyperlink OSC 8 cliccabili quando il vostro terminale li supporta ma non è auto-rilevato, o `0` per disabilitarli. Quando non impostato, Claude Code abilita i hyperlink solo quando rileva il supporto del terminale. Claude Code analizza questo valore come un numero, non un booleano, quindi un valore come `false`, `no`, o `off` abilita i hyperlink piuttosto che disabilitarli. Il badge [PR o merge request](/docs/it/interactive-mode#pr-review-status) nel footer viene reso come hyperlink anche quando Claude Code non può rilevare il supporto del terminale, come su SSH. Impostare `0` per rendere il badge come testo semplice |

448| `FORCE_PROMPT_CACHING_5M` | Impostare a `1` per forzare il TTL della prompt cache di 5 minuti anche quando il TTL di 1 ora si applicherebbe altrimenti. Sostituisce `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, e le impostazioni `promptCacheTtl` e `subagentPromptCacheTtl` |

449| `HTTP_PROXY` | Specificare il server proxy HTTP per le connessioni di rete |

450| `HTTPS_PROXY` | Specificare il server proxy HTTPS per le connessioni di rete |

451| `IS_DEMO` | Impostare a qualsiasi valore non vuoto, come `1`, per abilitare la modalità demo: nasconde la vostra email e il nome dell'organizzazione dall'intestazione e dall'output `/status`, e salta l'onboarding. **L'impostazione a `0` o `false` abilita comunque la modalità demo**, a differenza della maggior parte delle variabili on/off; annullare l'impostazione della variabile per disattivarla. Utile quando si trasmette in streaming o si registra una sessione |

452| `MAX_MCP_OUTPUT_TOKENS` | Numero massimo di token consentiti nelle risposte degli strumenti MCP. Claude Code visualizza un avviso quando l'output supera 10.000 token. Gli strumenti che dichiarano [`anthropic/maxResultSizeChars`](/docs/it/mcp#raise-the-limit-for-a-specific-tool) utilizzano quel limite di caratteri per il contenuto di testo, ma il contenuto dell'immagine da quei strumenti è ancora soggetto a questa variabile (predefinito: 25000) |

453| `MAX_STRUCTURED_OUTPUT_RETRIES` | Numero di tentativi che Claude Code consente quando la risposta del modello non supera la convalida rispetto al [`--json-schema`](/docs/it/cli-reference#cli-flags) in modalità non interattiva con il flag `-p`; dopo quel numero di tentativi non riusciti senza output valido, l'esecuzione fallisce. Lo stesso limite si applica quando l'output strutturato di un subagent del [workflow](/docs/it/workflows) non supera la convalida. Predefinito a 5, un primo tentativo più quattro tentativi |

454| `MAX_THINKING_TOKENS` | Budget di token fisso per l'[extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code lo limita a un token sotto i token di output massimi della richiesta e mai sotto 1.024. Vedere `CLAUDE_CODE_MAX_OUTPUT_TOKENS` per come viene impostato quel limite. Quando non impostato e il thinking è abilitato, i modelli con [adaptive reasoning](/docs/it/model-config#adjust-effort-level) scelgono la loro profondità di thinking, e gli altri modelli utilizzano il limite. Impostare a `0` per disabilitare il thinking sull'API Anthropic, tranne sui modelli Fable, che non possono avere il thinking disattivato. Su [provider di terze parti](/docs/it/third-party-integrations), `0` omette il parametro `thinking`. Con il thinking disattivato sull'API Anthropic, Claude Code invia l'effort `high` invece di un livello più alto ai modelli che sa [non accettano quella combinazione](/docs/it/errors#effort-isnt-available-with-thinking-turned-off), come Opus 5. Claude Code ignora i valori diversi da zero sui modelli di adaptive reasoning, tranne sui modelli in cui `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` disattiva l'adaptive reasoning |

455| `MCP_CLIENT_SECRET` | Segreto client OAuth per i server MCP che richiedono [credenziali pre-configurate](/docs/it/mcp#use-pre-configured-oauth-credentials). Evita il prompt interattivo quando si aggiunge un server con `--client-secret` |

456| `MCP_CONNECTION_NONBLOCKING` | Controlla se l'avvio aspetta i server MCP per connettersi prima della prima query. L'avvio MCP è non bloccante per impostazione predefinita: i server si connettono in background e i loro strumenti diventano disponibili man mano che finiscono. Impostare a `0` per fare in modo che Claude Code aspetti i server per connettersi prima della prima query. I server configurati con [`alwaysLoad: true`](/docs/it/mcp#exempt-a-server-from-deferral) fanno comunque aspettare l'avvio indipendentemente, tranne quando serviti dalla [cache di scoperta](/docs/it/mcp#server-status-detail), poiché i loro strumenti devono essere presenti quando viene costruito il primo prompt. In modalità non interattiva (`-p`), Claude Code aspetta anche i server ancora in sospeso prima del primo turno indipendentemente da questa variabile, con una scadenza più lunga quando passate [`--mcp-config`](/docs/it/cli-reference#cli-flags) esplicitamente; vedere quella voce del flag per l'eccezione del server memorizzato in cache |

457| `MCP_CONNECT_TIMEOUT_MS` | Quanto a lungo l'avvio MCP bloccante aspetta, in millisecondi, il batch di connessione prima di fare uno snapshot dell'elenco degli strumenti (predefinito: 5000). Si applica quando `MCP_CONNECTION_NONBLOCKING=0` o per i server contrassegnati [`alwaysLoad: true`](/docs/it/mcp#exempt-a-server-from-deferral). I server ancora in sospeso alla scadenza continuano a connettersi in background. Distinto da `MCP_TIMEOUT`, che limita il tentativo di connessione di un singolo server |

458| `MCP_DISCOVERY_CACHE` | Attiva o disattiva la [cache di scoperta MCP](/docs/it/mcp#server-status-detail). Con la cache attiva, un server HTTP o SSE remoto che avete utilizzato prima può mostrare lo [stato `cached`](/docs/it/mcp#server-status-detail), e Claude Code lo connette alla sua prima chiamata di strumento invece che all'avvio. La cache è disattivata per impostazione predefinita a meno che un rollout graduale non l'abbia abilitata per il vostro account. Impostare a `1` per attivarla, o `0` per mantenerla disattivata anche quando il rollout l'ha abilitata. Prima della v2.1.238, la cache era attiva per impostazione predefinita. Lo stato `cached` richiede Claude Code v2.1.221 o successivo |

459| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Età massima, in secondi, di una voce della [cache di scoperta](/docs/it/mcp#server-status-detail) (predefinito: 14400, o 4 ore). All'avvio in cui la voce è più vecchia di quella, Claude Code la scarta e connette il server all'avvio, come fa con la cache disattivata. Claude Code limita il valore a 7 giorni. Prima della v2.1.238, il predefinito era 86400, o 24 ore, e Claude Code non limitava il valore |

460| `MCP_DISCOVERY_CACHE_STRIKES` | All'avvio in cui una voce della [cache di scoperta](/docs/it/mcp#server-status-detail) è più vecchia di `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code la aggiorna in background. Questa variabile imposta quanti aggiornamenti di fila possono fallire prima che Claude Code scarta la voce e connette il server all'avvio successivo (predefinito: 1). Aumentarla se la vostra connessione di rete cade occasionalmente, in modo che un aggiornamento non riuscito non scarta la voce. Richiede Claude Code v2.1.238 o successivo |

461| `MCP_DISCOVERY_CACHE_TTL_S` | Secondi per i quali Claude Code utilizza una voce della [cache di scoperta](/docs/it/mcp#server-status-detail) senza aggiornarla (predefinito: 900). All'avvio in cui la voce è più vecchia di quella, Claude Code la utilizza comunque ma l'aggiorna in background. Una volta che la voce è più vecchia di `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code la scarta. Claude Code limita il valore a `MCP_DISCOVERY_CACHE_MAX_STALE_S`, che è 4 ore per impostazione predefinita. Prima della v2.1.238, Claude Code non limitava il valore |

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

463| `MCP_PROTOCOL_NEGOTIATION` | Solo sul [runtime del client MCP v2](/docs/it/mcp#mcp-client-runtimes), se Claude Code esamina i server per la revisione del protocollo MCP 2026-07-28. Impostare `auto` per esaminare i server HTTP, claude.ai connector e stdio; un server che non risponde al probe si connette sul protocollo precedente, come i server SSE e WebSocket fanno sempre. Impostare `legacy` per saltare il probe per ogni server. Senza la variabile, Claude Code esamina i server HTTP e claude.ai connector su Claude Code v2.1.232 o successivo, con le eccezioni che la sezione [MCP client runtimes](/docs/it/mcp#mcp-client-runtimes) elenca. Qualsiasi altro valore viene ignorato con un avviso nel log di debug. Richiede Claude Code v2.1.221 o successivo |

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

465| `MCP_SDK_GENERATION` | Bloccare quale [runtime del client MCP](/docs/it/mcp#mcp-client-runtimes) questo processo si connette ai server MCP con: `v1`, costruito su MCP TypeScript SDK 1.x, o `v2`, costruito su [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Senza la variabile, Claude Code utilizza v2 su Claude Code v2.1.232 o successivo, tranne dove quella sezione dice che utilizza v1. Su Claude Code v2.1.221 o successivo, il runtime v2 controlla l'emittente che un server MCP OAuth restituisce nella sua risposta di autorizzazione e fallisce l'accesso con un errore che inizia `Issuer mismatch in authorization response` quando non corrisponde. Il runtime v1 non esegue questo controllo. Se impostate un valore non riconosciuto, Claude Code lo ignora e scrive un avviso nel log di debug. Claude Code legge il valore una volta per processo. Richiede Claude Code v2.1.218 o successivo |

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

369| `MCP_TIMEOUT` | Timeout in millisecondi per l'avvio del server MCP (predefinito: 30000, o 30 secondi) |467| `MCP_TIMEOUT` | Timeout in millisecondi per l'avvio del server MCP (predefinito: 30000, o 30 secondi) |

370| `MCP_TOOL_TIMEOUT` | Timeout in millisecondi per l'esecuzione dello strumento MCP (predefinito: 100000000, circa 28 ore). Per un server HTTP, SSE o connettore claude.ai, ogni richiesta scade anche dopo 60 secondi per impostazione predefinita; impostate questa variabile, o il `timeout` per server, sopra 60000 per aumentare quel limite per richiesta. Un valore inferiore accorcia comunque il timeout complessivo di esecuzione dello strumento ma lascia il limite per richiesta a 60 secondi. I server stdio e WebSocket non hanno un timer per richiesta. Un campo `timeout` per server in `.mcp.json` sostituisce questo per quel server. Un `timeout` per server di almeno 1000 imposta anche la finestra di inattività minima per le chiamate di strumento di quel server, quindi `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` non le interrompe mai prima; questo floor richiede Claude Code v2.1.203 o successivo. Per la variabile env, i valori inferiori a 1000 vengono arrotondati a un secondo; per il campo per server, i valori inferiori a 1000 vengono ignorati |468| `MCP_TOOL_TIMEOUT` | Timeout in millisecondi per l'esecuzione dello strumento MCP (predefinito: 100000000, circa 28 ore). Per un server HTTP, SSE, o claude.ai connector, ogni richiesta ha anche un timeout di 60 secondi per impostazione predefinita; impostare questa variabile, o il `timeout` per server, sopra 60000 per aumentare quel limite per richiesta. Un valore inferiore accorcia comunque il timeout di esecuzione dello strumento complessivo ma lascia il timer per richiesta a 60 secondi. I server stdio e WebSocket non hanno un timer per richiesta. Un campo `timeout` per server in `.mcp.json` sostituisce questo per quel server. Un `timeout` per server di almeno 1000 imposta anche la finestra di inattività minima per le chiamate di strumento di quel server, quindi `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` non le interrompe mai prima; questo floor richiede Claude Code v2.1.203 o successivo. Per la variabile env, i valori inferiori a 1000 sono limitati a un secondo; per il campo per server, i valori inferiori a 1000 vengono ignorati |

371| `NO_PROXY` | Elenco di domini e IP a cui le richieste verranno emesse direttamente, bypassando il proxy |469| `NO_PROXY` | Elenco di domini e IP a cui le richieste verranno emesse direttamente, bypassando il proxy |

372| `OTEL_LOG_ASSISTANT_RESPONSES` | Imposta su `1` per includere il testo della risposta del modello su eventi di log OpenTelemetry `assistant_response`. Se non impostato, viene utilizzato il valore di `OTEL_LOG_USER_PROMPTS`. Imposta su `0` per mantenere le risposte redatte anche quando `OTEL_LOG_USER_PROMPTS` è impostato. Richiede Claude Code v2.1.193 o successivo. Vedi [Monitoraggio](/docs/it/monitoring-usage#assistant-response-event) |470| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite standard dell'SDK OpenTelemetry sulla lunghezza del valore dell'attributo. Claude Code limita gli attributi di telemetria che trasportano contenuto al minore di questo e `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, in modo che il marcatore di troncamento rimanga entro il limite dell'SDK. Claude Code legge le varianti `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` e `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` allo stesso modo, e il valore più piccolo impostato si applica a tutti i segnali. Richiede Claude Code v2.1.214 o successivo. Vedere [Monitoring](/docs/it/monitoring-usage#common-configuration-variables) |

373| `OTEL_LOG_RAW_API_BODIES` | Emetti il JSON della richiesta e della risposta dell'API Anthropic Messages come eventi di log `api_request_body` / `api_response_body`. Imposta su `1` per i corpi inline troncati a 60 KB, o `file:<dir>` per scrivere i corpi non troncati su disco ed emettere un percorso `body_ref` invece. Disabilitato per impostazione predefinita; i corpi includono l'intera cronologia della conversazione. Vedi [Monitoraggio](/docs/it/monitoring-usage#api-request-body-event) |471| `OTEL_LOG_ASSISTANT_RESPONSES` | Impostare a `1` per includere il testo della risposta del modello sugli eventi di log OpenTelemetry `assistant_response`. Quando non impostato, viene utilizzato il valore di `OTEL_LOG_USER_PROMPTS`. Impostare a `0` per mantenere le risposte redatte anche quando `OTEL_LOG_USER_PROMPTS` è impostato. Richiede Claude Code v2.1.193 o successivo. Vedere [Monitoring](/docs/it/monitoring-usage#assistant-response-event) |

374| `OTEL_LOG_TOOL_CONTENT` | Imposta su `1` per includere il contenuto di input e output dello strumento negli eventi span OpenTelemetry. Disabilitato per impostazione predefinita per proteggere i dati sensibili. Vedi [Monitoraggio](/docs/it/monitoring-usage) |472| `OTEL_LOG_RAW_API_BODIES` | Emettere il JSON della richiesta e della risposta dell'API Anthropic Messages come eventi di log `api_request_body` / `api_response_body`. Impostare a `1` per i corpi in linea troncati al limite di contenuto, o `file:<dir>` per scrivere i corpi non troncati su disco ed emettere un percorso `body_ref`. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura il limite di contenuto, 60 KB per impostazione predefinita. Disabilitato per impostazione predefinita; i corpi includono l'intera cronologia della conversazione. Impostatelo nella vostra shell, nelle impostazioni utente, o nelle impostazioni gestite. Ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). Vedere [Monitoring](/docs/it/monitoring-usage#api-request-body-event) |

375| `OTEL_LOG_TOOL_DETAILS` | Imposta su `1` per includere gli argomenti di input dello strumento, i nomi dei server MCP, i nomi dei workflow creati dall'utente, le stringhe di errore non elaborate sui fallimenti degli strumenti, la categoria di rifiuto su eventi `api_refusal` e altri dettagli degli strumenti nelle tracce e nei log OpenTelemetry. Disabilitato per impostazione predefinita per proteggere le informazioni personali. Vedi [Monitoraggio](/docs/it/monitoring-usage) |473| `OTEL_LOG_TOOL_CONTENT` | Impostare a `1` per includere il contenuto di input e output dello strumento negli eventi di span OpenTelemetry. Disabilitato per impostazione predefinita per proteggere i dati sensibili. Vedere [Monitoring](/docs/it/monitoring-usage) |

376| `OTEL_LOG_USER_PROMPTS` | Imposta su `1` per includere il testo del prompt dell'utente nelle tracce e nei log OpenTelemetry. Disabilitato per impostazione predefinita (i prompt vengono redatti). Vedi [Monitoraggio](/docs/it/monitoring-usage) |474| `OTEL_LOG_TOOL_DETAILS` | Impostare a `1` per includere gli argomenti di input dello strumento, i nomi dei server MCP, i nomi dei flussi di lavoro creati dall'utente, le stringhe di errore grezze sui fallimenti dello strumento, la `category` di rifiuto sugli eventi `api_refusal`, e altri dettagli dello strumento nelle tracce e nei log OpenTelemetry. Disabilitato per impostazione predefinita per proteggere le PII. Vedere [Monitoring](/docs/it/monitoring-usage) |

377| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Imposta su `false` per escludere l'UUID dell'account dagli attributi delle metriche (predefinito: incluso). Vedi [Monitoraggio](/docs/it/monitoring-usage) |475| `OTEL_LOG_USER_PROMPTS` | Impostare a `1` per includere il testo del prompt dell'utente nelle tracce e nei log OpenTelemetry. Disabilitato per impostazione predefinita (i prompt vengono redatti). Vedere [Monitoring](/docs/it/monitoring-usage) |

378| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Imposta su `true` per includere il punto di ingresso della sessione negli attributi delle metriche (predefinito: escluso). Aggiunto in v2.1.152. Vedi [Monitoraggio](/docs/it/monitoring-usage) |476| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Impostare a `false` per escludere l'UUID dell'account dagli attributi delle metriche (predefinito: incluso). Vedere [Monitoring](/docs/it/monitoring-usage) |

379| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | A partire da v2.1.161, Claude Code allega le chiavi `OTEL_RESOURCE_ATTRIBUTES` alle etichette dei punti dati delle metriche. Imposta su `false` per escluderle (predefinito: incluse). Vedi [Monitoraggio](/docs/it/monitoring-usage#multi-team-organization-support) |477| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Impostare a `true` per includere il punto di ingresso della sessione negli attributi delle metriche (predefinito: escluso). Aggiunto nella v2.1.152. Vedere [Monitoring](/docs/it/monitoring-usage) |

380| `OTEL_METRICS_INCLUDE_SESSION_ID` | Imposta su `false` per escludere l'ID della sessione dagli attributi delle metriche (predefinito: incluso). Vedi [Monitoraggio](/docs/it/monitoring-usage) |478| `OTEL_METRICS_INCLUDE_REPOSITORY` | Impostare a `true` per etichettare le metriche e gli eventi OpenTelemetry con attributi `vcs.*` che identificano il repository della sessione (predefinito: escluso). Richiede Claude Code v2.1.269 o successivo. Vedere [Repository attributes](/docs/it/monitoring-usage#repository-attributes) |

381| `OTEL_METRICS_INCLUDE_VERSION` | Imposta su `true` per includere la versione di Claude Code negli attributi delle metriche (predefinito: escluso). Vedi [Monitoraggio](/docs/it/monitoring-usage) |479| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | A partire dalla v2.1.161, Claude Code allega le chiavi `OTEL_RESOURCE_ATTRIBUTES` alle etichette dei punti dati delle metriche. Impostare a `false` per escluderle (predefinito: incluse). Vedere [Monitoring](/docs/it/monitoring-usage#multi-team-organization-support) |

382| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Sovrascrivi il budget dei caratteri per i metadati della skill mostrati allo [strumento Skill](/docs/it/skills#control-who-invokes-a-skill). Il budget si ridimensiona dinamicamente all'1% della finestra del contesto, con un fallback di 8.000 caratteri. Nome legacy mantenuto per la compatibilità all'indietro |480| `OTEL_METRICS_INCLUDE_SESSION_ID` | Impostare a `false` per escludere l'ID della sessione dagli attributi delle metriche (predefinito: incluso). Vedere [Monitoring](/docs/it/monitoring-usage) |

383| `TASK_MAX_OUTPUT_LENGTH` | Numero massimo di caratteri nell'output del [subagent](/docs/it/sub-agents) prima del troncamento (predefinito: 32000, massimo: 160000). Se troncato, l'output completo viene salvato su disco e il percorso è incluso nella risposta troncata |481| `OTEL_METRICS_INCLUDE_VERSION` | Impostare a `true` per includere la versione di Claude Code negli attributi delle metriche (predefinito: escluso). Vedere [Monitoring](/docs/it/monitoring-usage) |

384| `USE_BUILTIN_RIPGREP` | Imposta su `0` per utilizzare il `rg` installato dal sistema invece del `rg` incluso con Claude Code |482| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Sostituire il budget di caratteri per i metadati delle skill mostrati allo strumento [Skill](/docs/it/skills#control-who-invokes-a-skill). Il budget si ridimensiona dinamicamente all'1% della finestra di contesto, con un fallback di 8.000 caratteri. Nome legacy mantenuto per la compatibilità all'indietro |

385| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Sovrascrivi la regione per Claude 3.5 Haiku quando si utilizza Google Cloud's Agent Platform |483| `TASK_MAX_OUTPUT_LENGTH` | Numero massimo di caratteri dell'output di un [compito di background](/docs/it/tools-reference#background-commands) che lo strumento `TaskOutput` mantiene (predefinito: 32000; massimo: 160000). Se impostate l'impostazione [`taskOutputMaxChars`](/docs/it/settings-reference#taskoutputmaxchars), Claude Code ignora questa variabile |

386| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Sovrascrivi la regione per Claude 3.5 Sonnet quando si utilizza Google Cloud's Agent Platform |484| `USE_BUILTIN_RIPGREP` | Impostare a `0` per utilizzare il `rg` installato dal sistema invece del `rg` incluso con Claude Code |

387| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Sovrascrivi la regione per Claude 3.7 Sonnet quando si utilizza Google Cloud's Agent Platform |485| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Sostituire la regione per Claude 3.5 Haiku quando si utilizza Google Cloud's Agent Platform |

388| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Sovrascrivi la regione per Claude 4.0 Opus quando si utilizza Google Cloud's Agent Platform |486| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Sostituire la regione per Claude 3.5 Sonnet quando si utilizza Google Cloud's Agent Platform |

389| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Sovrascrivi la regione per Claude 4.0 Sonnet quando si utilizza Google Cloud's Agent Platform |487| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Sostituire la regione per Claude 3.7 Sonnet quando si utilizza Google Cloud's Agent Platform |

390| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Sovrascrivi la regione per Claude 4.1 Opus quando si utilizza Google Cloud's Agent Platform |488| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Sostituire la regione per Claude 4.0 Opus quando si utilizza Google Cloud's Agent Platform |

391| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Sovrascrivi la regione per Claude Opus 4.5 quando si utilizza Google Cloud's Agent Platform |489| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Sostituire la regione per Claude 4.0 Sonnet quando si utilizza Google Cloud's Agent Platform |

392| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Sovrascrivi la regione per Claude Sonnet 4.5 quando si utilizza Google Cloud's Agent Platform |490| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Sostituire la regione per Claude 4.1 Opus quando si utilizza Google Cloud's Agent Platform |

393| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Sovrascrivi la regione per Claude Opus 4.6 quando si utilizza Google Cloud's Agent Platform |491| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Sostituire la regione per Claude Opus 4.5 quando si utilizza Google Cloud's Agent Platform |

394| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Sovrascrivi la regione per Claude Sonnet 4.6 quando si utilizza Google Cloud's Agent Platform |492| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Sostituire la regione per Claude Sonnet 4.5 quando si utilizza Google Cloud's Agent Platform |

395| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Sovrascrivi la regione per Claude Opus 4.7 quando si utilizza Google Cloud's Agent Platform. Aggiunto in v2.1.111 |493| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Sostituire la regione per Claude Opus 4.6 quando si utilizza Google Cloud's Agent Platform |

396| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Sovrascrivi la regione per Claude Opus 4.8 quando si utilizza Google Cloud's Agent Platform. Aggiunto in v2.1.154 |494| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Sostituire la regione per Claude Sonnet 4.6 quando si utilizza Google Cloud's Agent Platform |

397| `VERTEX_REGION_CLAUDE_5_SONNET` | Sovrascrivi la regione per Claude Sonnet 5 quando si utilizza Google Cloud's Agent Platform. Aggiunto in v2.1.197 |495| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Sostituire la regione per Claude Opus 4.7 quando si utilizza Google Cloud's Agent Platform |

398| `VERTEX_REGION_CLAUDE_FABLE_5` | Sovrascrivi la regione per Claude Fable 5 quando si utilizza Google Cloud's Agent Platform. Aggiunto in v2.1.170 |496| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Sostituire la regione per Claude Opus 4.8 quando si utilizza Google Cloud's Agent Platform |

399| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Sovrascrivi la regione per Claude Haiku 4.5 quando si utilizza Google Cloud's Agent Platform |497| `VERTEX_REGION_CLAUDE_5_OPUS` | Sostituire la regione per Claude Opus 5 quando si utilizza Google Cloud's Agent Platform. Aggiunto nella v2.1.219 |

400 498| `VERTEX_REGION_CLAUDE_5_SONNET` | Sostituire la regione per Claude Sonnet 5 quando si utilizza Google Cloud's Agent Platform. Aggiunto nella v2.1.197 |

401Sono supportate anche le variabili standard dell'esportatore OpenTelemetry (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` e varianti specifiche del segnale). Vedi [Monitoraggio](/docs/it/monitoring-usage) per i dettagli di configurazione.499| `VERTEX_REGION_CLAUDE_FABLE_5` | Sostituire la regione per Claude Fable 5 quando si utilizza Google Cloud's Agent Platform. Aggiunto nella v2.1.170 |

500| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Sostituire la regione per Claude Fable 5.1 quando si utilizza Google Cloud's Agent Platform. Aggiunto nella v2.1.257 |

501| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Sostituire la regione per Claude Haiku 4.5 quando si utilizza Google Cloud's Agent Platform |

502 

503Sono supportate anche le variabili standard dell'esportatore OpenTelemetry (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES`, e varianti specifiche del segnale). Vedere [Monitoring](/docs/it/monitoring-usage) per i dettagli di configurazione.

504 

505<h2 id="features-that-need-feature-flag-fetching">

506 Funzionalità che richiedono il recupero dei feature flag

507</h2>

508 

509Claude Code attiva alcune funzionalità tramite feature flag che recupera da Anthropic. Claude Code salta questo recupero in queste sessioni:

510 

511* Una sessione in cui impostate `DISABLE_GROWTHBOOK`, `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`; la riga di ogni variabile nella [tabella delle variabili](#variables) indica quali valori disattivano il recupero

512* Una sessione su un [provider di terze parti](/docs/it/third-party-integrations), come Amazon Bedrock, Claude Platform su 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`

513* Una sessione di [gateway delle app Claude](/docs/it/claude-apps-gateway)

514 

515Con il recupero disattivato, non potete:

516 

517* [Avviare sessioni in modalità auto per impostazione predefinita](/docs/it/permission-modes#which-mode-a-session-starts-in) sui piani Pro, Max e Team

518* Far [leggere al'estensione VS Code i file di impostazioni per la modalità di autorizzazione iniziale](/docs/it/permission-modes#switch-permission-modes)

519* Eseguire [`/auto-mode-setup`](/docs/it/auto-mode-config#generate-environment-entries) per elaborare le voci `autoMode.environment`

520* Utilizzare [Remote Control](/docs/it/remote-control#requirements)

521* [Inviare messaggi alle sessioni oltre questa macchina](/docs/it/cross-session-messaging#message-sessions-on-other-machines); la messaggistica tra sessioni su questa macchina funziona con il recupero disattivato

522* Eseguire [`claude import` o il comando `/import`](/docs/it/cli-reference#cli-commands)

523* Eseguire [`/skill-doctor`](/docs/it/skills#find-unused-skills) o aprire il suo rapporto nella scheda **Stats** di `/plugin`

524* Utilizzare [lo strumento advisor](/docs/it/advisor#requirements)

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

526* Ottenere il [runtime client MCP v2](/docs/it/mcp#mcp-client-runtimes) e il suo probe del protocollo senza impostare `MCP_SDK_GENERATION` e `MCP_PROTOCOL_NEGOTIATION`; Claude Code utilizza il runtime v1 a meno che non impostiate `MCP_SDK_GENERATION=v2`, e salta il probe a meno che non impostiate `MCP_PROTOCOL_NEGOTIATION=auto`

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

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

529* Far [escludere a Claude Code i tool MCP il cui schema di input l'API rifiuterebbe](/docs/it/mcp#tools-with-invalid-input-schemas); invia comunque lo schema, e una richiesta che lo include fallisce con [un errore 400 che nomina il tool in base alla sua posizione](/docs/it/errors#tool-input-schema-is-invalid)

530 

531<h3 id="first-session-after-an-install-or-upgrade">

532 Prima sessione dopo un'installazione o un aggiornamento

533</h3>

534 

535Nella vostra prima sessione dopo aver installato Claude Code, o aggiornato a una versione che aggiunge una funzionalità, una [funzionalità con gate flag](#features-that-need-feature-flag-fetching) può mancare, e la sessione può avviarsi in modalità Manual su un piano che altrimenti si avvia in modalità auto. Claude Code recupera i flag durante quella sessione, quindi entrambi sono presenti nella vostra sessione successiva.

536 

537Dopo un'installazione pulita, in una sessione non interattiva come `claude -p`, l'Agent SDK, o l'estensione VS Code, Claude Code può comunque recuperare i flag prima di [scegliere la modalità di autorizzazione iniziale](/docs/it/permission-modes#which-mode-a-session-starts-in).

402 538 

403<h2 id="see-also">539<h2 id="see-also">

404 Vedi anche540 Vedi anche

errors.md +38 −8

Details

8 8 

9Questa pagina elenca gli errori di runtime che Claude Code visualizza e come recuperare da ciascuno, più cosa controllare quando le risposte sembrano non corrette senza un errore. Per gli errori di installazione come `command not found` o errori TLS durante la configurazione, vedi [Risoluzione dei problemi di installazione e accesso](/docs/it/troubleshoot-install).9Questa pagina elenca gli errori di runtime che Claude Code visualizza e come recuperare da ciascuno, più cosa controllare quando le risposte sembrano non corrette senza un errore. Per gli errori di installazione come `command not found` o errori TLS durante la configurazione, vedi [Risoluzione dei problemi di installazione e accesso](/docs/it/troubleshoot-install).

10 10 

11Ad eccezione degli [errori di Wrapper e IDE](#wrapper-and-ide-errors), che il programma di avvio stampa piuttosto che Claude Code stesso, questi errori e i comandi di recupero si applicano su CLI, l'[app Desktop](/docs/it/desktop) e [Claude Code sul web](/docs/it/claude-code-on-the-web), poiché tutti e tre avvolgono lo stesso CLI di Claude Code. Per altri problemi specifici della superficie, vedi la sezione di risoluzione dei problemi nella pagina di quella superficie.11Ad eccezione degli [errori di Wrapper e IDE](#wrapper-and-ide-errors), che il programma di avvio stampa piuttosto che Claude Code stesso, questi errori e comandi di recupero si applicano su CLI, l'[app Desktop](/docs/it/desktop) e [Claude Code sul web](/docs/it/claude-code-on-the-web), poiché tutti e tre avvolgono lo stesso CLI di Claude Code. Per altri problemi specifici della superficie, vedi la sezione di risoluzione dei problemi nella pagina di quella superficie.

12 12 

13<Note>13<Note>

14 Claude Code chiama l'API Claude per le risposte del modello, quindi la maggior parte degli errori di runtime si mappano a un codice di errore API sottostante. Questa pagina copre cosa significa ogni errore all'interno di Claude Code e come recuperare. Per le definizioni del codice di stato HTTP grezzo, vedi il [riferimento degli errori della piattaforma Claude](https://platform.claude.com/docs/en/api/errors).14 Claude Code chiama l'API Claude per le risposte del modello, quindi la maggior parte degli errori di runtime si mappano a un codice di errore API sottostante. Questa pagina copre cosa significa ogni errore all'interno di Claude Code e come recuperare. Per le definizioni del codice di stato HTTP grezzo, vedi il [riferimento degli errori della piattaforma Claude](https://platform.claude.com/docs/en/api/errors).


21Abbinate il messaggio che vedete a una sezione qui sotto.21Abbinate il messaggio che vedete a una sezione qui sotto.

22 22 

23| Messaggio | Sezione |23| Messaggio | Sezione |

24| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |24| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |

25| `API Error: 500 Internal server error` | [Errori del server](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [Errori del server](#api-error-500-internal-server-error) |

26| `API Error: Repeated 529 Overloaded errors` | [Errori del server](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [Errori del server](#api-error-repeated-529-overloaded-errors) |

27| `Request timed out` | [Errori del server](#request-timed-out), oppure [Rete](#unable-to-connect-to-api) se il messaggio menziona la vostra connessione internet |27| `Request timed out` | [Errori del server](#request-timed-out), oppure [Rete](#unable-to-connect-to-api) se il messaggio menziona la vostra connessione internet |


43| `Server is temporarily limiting requests` | [Limiti di utilizzo](#server-is-temporarily-limiting-requests) |43| `Server is temporarily limiting requests` | [Limiti di utilizzo](#server-is-temporarily-limiting-requests) |

44| `Request rejected (429)` | [Limiti di utilizzo](#request-rejected-429) |44| `Request rejected (429)` | [Limiti di utilizzo](#request-rejected-429) |

45| `Credit balance is too low` | [Limiti di utilizzo](#credit-balance-is-too-low) |45| `Credit balance is too low` | [Limiti di utilizzo](#credit-balance-is-too-low) |

46| `You've hit your monthly spend limit` / `You've hit your individual spend limit` / `You've hit your org's monthly spend limit` / `You've hit your channel's monthly spend limit` / `You've hit your team's shared budget` / `You've hit your individual usage limit` | [Limiti di utilizzo](#youve-hit-your-monthly-spend-limit) |

46| `Could not update your spend limit` | [Limiti di utilizzo](#could-not-update-your-spend-limit) |47| `Could not update your spend limit` | [Limiti di utilizzo](#could-not-update-your-spend-limit) |

47| `spend limit reached` / `spend limit unavailable` | [Limiti di utilizzo](#spend-limit-reached) |48| `spend limit reached` / `spend limit unavailable` | [Limiti di utilizzo](#spend-limit-reached) |

48| `Not logged in · Please run /login` | [Autenticazione](#not-logged-in) |49| `Not logged in · Please run /login` | [Autenticazione](#not-logged-in) |


581* Esegui `/usage-credits` per acquistare utilizzo aggiuntivo su Pro e Max, o per richiederlo al tuo amministratore su Team ed Enterprise. Vedi [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) per come viene fatturato.582* Esegui `/usage-credits` per acquistare utilizzo aggiuntivo su Pro e Max, o per richiederlo al tuo amministratore su Team ed Enterprise. Vedi [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) per come viene fatturato.

582* Per aggiornare il tuo piano per limiti di base più elevati, vedi [claude.com/pricing](https://claude.com/pricing)583* Per aggiornare il tuo piano per limiti di base più elevati, vedi [claude.com/pricing](https://claude.com/pricing)

583 584 

584Per monitorare l'indennità rimanente prima di raggiungere il limite, aggiungi i campi `rate_limits` a una [riga di stato personalizzata](/docs/it/statusline#rate-limit-usage), oppure nell'app Desktop fai clic sull'[anello di utilizzo](/docs/it/desktop#check-usage) accanto al selettore di modelli.585Prima che una finestra si esaurisca, Claude Code può avvertirti che hai utilizzato la maggior parte di essa, con un messaggio come `You've used 85% of your session limit · resets 3:45pm`. Per monitorare l'indennità rimanente continuamente, aggiungi i campi `rate_limits` a una [riga di stato personalizzata](/docs/it/statusline#rate-limit-usage), oppure nell'app Desktop fai clic sull'[anello di utilizzo](/docs/it/desktop#check-usage) accanto al selettore di modelli.

585 586 

586<h3 id="usage-credits-required-for-1m-context">587<h3 id="usage-credits-required-for-1m-context">

587 Usage credits required for 1M context588 Usage credits required for 1M context


663* Per le chiavi API Anthropic, vedi il [riferimento ai limiti di velocità](https://platform.claude.com/docs/en/api/rate-limits) per come funzionano i livelli e come impostare i limiti di spesa per workspace664* Per le chiavi API Anthropic, vedi il [riferimento ai limiti di velocità](https://platform.claude.com/docs/en/api/rate-limits) per come funzionano i livelli e come impostare i limiti di spesa per workspace

664* Riduci la concorrenza: abbassa [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/it/env-vars), evita di eseguire molti subagenzi paralleli, o passa a un modello più piccolo con `/model` per esecuzioni script ad alto volume665* Riduci la concorrenza: abbassa [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/it/env-vars), evita di eseguire molti subagenzi paralleli, o passa a un modello più piccolo con `/model` per esecuzioni script ad alto volume

665 666 

667<h3 id="youve-hit-your-monthly-spend-limit">

668 You've hit your monthly spend limit

669</h3>

670 

671L'utilizzo incluso nel tuo piano non può coprire questa richiesta, e i [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) che altrimenti la pagherebbero hanno raggiunto un limite di spesa. Ciò accade quando una delle finestre di utilizzo del tuo piano si è esaurita, o quando la richiesta è una che solo i crediti di utilizzo pagano, come una richiesta a un modello che [fattura ai crediti di utilizzo](/docs/it/model-config#fable-and-usage-credits). Il messaggio nomina il limite che ti ha bloccato. Il testo dopo il `·` dice come aumentare quel limite, e varia in base al tuo piano e se gestisci la fatturazione:

672 

673```text theme={null}

674You've hit your monthly spend limit · raise it at claude.ai/settings/usage

675You've hit your individual spend limit · ask your admin for a higher limit

676You've hit your org's monthly spend limit · visit claude.ai/admin-settings/usage to raise it

677You've hit your team's shared budget · ask your admin to raise it at claude.ai/admin-settings/usage

678You've hit your channel's monthly spend limit · an org owner or channel manager can raise it in the channel's Claude settings

679```

680 

681`team's shared budget` è un budget in pool che un amministratore ha assegnato a un gruppo a cui appartieni; il messaggio non nomina il gruppo. `channel's monthly spend limit` è il budget del canale Slack in cui viene eseguita la sessione, quindi la tua organizzazione potrebbe ancora avere budget al di fuori di esso.

682 

683Quando una delle finestre del tuo piano è quella che si è esaurita, il messaggio dice anche quando quella finestra si ripristina, ad esempio `· your session limit resets 3:45pm`, e l'accesso ritorna allora senza che nessuno aumenti il limite. Nelle organizzazioni con fatturazione basata sull'utilizzo, il messaggio dice `usage limit` al posto di `spend limit`, come in `You've hit your individual usage limit`.

684 

685Prima della v2.1.239, il messaggio non nominava l'ora di ripristino della finestra del piano. Prima della v2.1.268, il budget in pool di un gruppo produceva il messaggio `individual spend limit` invece di `team's shared budget`.

686 

687Se ti connetti tramite un gateway di app Claude e vedi `spend limit reached` minuscolo, quello è il limite dell'operatore del gateway invece; vedi [Spend limit reached](#spend-limit-reached).

688 

689**Cosa fare:**

690 

691* Su Pro e Max, aumenta il tuo limite di spesa mensile in [**Settings > Usage**](https://claude.ai/settings/usage) su claude.ai, o esegui `/usage-credits`

692* Su Team ed Enterprise, aumenta il limite in [**Admin settings > Usage**](https://claude.ai/admin-settings/usage) se gestisci la fatturazione, o chiedi a un amministratore di farlo. `/usage-credits` invia quella richiesta al tuo amministratore per te

693* Per il limite di un canale, chiedi a un proprietario dell'organizzazione o al manager del canale di aumentarlo su claude.ai. Vedi [Per-channel limits](https://claude.com/docs/claude-tag/admins/set-spend-limit#per-channel-limits) nella documentazione Claude Tag

694* Se il messaggio nomina un'ora di ripristino per la finestra del tuo piano, puoi aspettare invece

695* Esegui `/usage` per vedere le finestre del tuo piano e quando ciascuna si ripristina

696 

666<h3 id="spend-limit-reached">697<h3 id="spend-limit-reached">

667 Spend limit reached698 Spend limit reached

668</h3>699</h3>


1036 1067 

1037```text theme={null}1068```text theme={null}

1038OAuth token revoked · Please run /login1069OAuth token revoked · Please run /login

1039OAuth token has expired · Please run /login1070Please run /login · API Error: 401 OAuth token has expired ...

1040API Error: 401 ... authentication_error

1041```1071```

1042 1072 

1043**Cosa fare:**1073**Cosa fare:**


1083Failed to authenticate: OAuth session expired and could not be refreshed1113Failed to authenticate: OAuth session expired and could not be refreshed

1084```1114```

1085 1115 

1086Questo non è lo stesso stato di [Token OAuth revocato o scaduto](#oauth-token-revoked-or-expired). Quei messaggi segnalano un 401 che l'API ha restituito. Claude Code stesso produce `Login expired` per un login che ha già fallito di rinnovare, quindi non invia alcuna richiesta. Quando il rinnovo fallisce perché l'account stesso è sospeso piuttosto che il login essere obsoleto, Claude Code mostra [Il Vostro account è in sospeso](#your-account-is-on-hold) invece.1116Questo non è lo stesso stato di [Token OAuth revocato o scaduto](#oauth-token-revoked-or-expired). Quei messaggi segnalano un rifiuto che l'API ha restituito. Claude Code stesso produce `Login expired` per un login che ha già fallito di rinnovare, quindi non invia alcuna richiesta. Quando il rinnovo fallisce perché l'account stesso è sospeso piuttosto che il login essere obsoleto, Claude Code mostra [Il Vostro account è in sospeso](#your-account-is-on-hold) invece.

1087 1117 

1088Le sessioni autenticate con una chiave API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/it/env-vars) o un provider di terze parti non utilizzano il login salvato e non vedono mai questo messaggio.1118Le sessioni autenticate con una chiave API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/it/env-vars) o un provider di terze parti non utilizzano il login salvato e non vedono mai questo messaggio.

1089 1119 


1725Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.1755Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.

1726```1756```

1727 1757 

1728Quando il limite che avete superato è una finestra di compattazione più piccola della finestra di contesto del modello, come il limite di 200K su modelli con contesto 1M, l'avviso recita diversamente. Le richieste hanno ancora successo oltre una finestra di compattazione; eseguite il comando nominato per riportare l'utilizzo sotto di essa.1758Quando il limite che avete superato è una finestra di compattazione, come il limite di 200K su modelli con contesto 1M, l'avviso recita diversamente. Una finestra di compattazione può stare al di sotto della finestra di contesto del modello, quindi le richieste oltre di essa possono ancora avere successo.

1729 1759 

1730```text theme={null}1760```text theme={null}

1731Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.1761Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.


3054`claude plugin install` segnala il rifiuto così:3084`claude plugin install` segnala il rifiuto così:

3055 3085 

3056```text theme={null}3086```text theme={null}

3057Cannot install my-plugin@my-marketplace: its marketplace entry path does not stay inside the marketplace directory (an absolute, climbing, network-shaped or link-traversing entry, an entry of a fetched marketplace that resolves outside its tree — or a relative entry in a url-catalog marketplace, which has no local directory)3087Cannot install my-plugin@my-marketplace: its marketplace entry path does not stay inside the marketplace directory (an absolute, climbing, network-shaped, backslash-containing or link-traversing entry, an entry of a fetched marketplace that resolves or opens outside its tree — or a relative entry in a url-catalog marketplace, which has no local directory)

3058```3088```

3059 3089 

3060Quando la voce di un plugin già installato fallisce lo stesso controllo, `claude plugin list` mostra il plugin come `failed to load` con:3090Quando la voce di un plugin già installato fallisce lo stesso controllo, `claude plugin list` mostra il plugin come `failed to load` con:

fast-mode.md +1 −1

Details

123La modalità veloce richiede tutti i seguenti elementi:123La modalità veloce richiede tutti i seguenti elementi:

124 124 

125* **Solo API Anthropic o abbonamento**: la modalità veloce è disponibile tramite l'API Anthropic Console e per i piani di abbonamento Claude utilizzando i crediti di utilizzo. Non è disponibile su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o Claude Platform su AWS. Le organizzazioni Console devono anche avere [accesso alla modalità veloce provisioning](#enable-fast-mode-for-your-organization).125* **Solo API Anthropic o abbonamento**: la modalità veloce è disponibile tramite l'API Anthropic Console e per i piani di abbonamento Claude utilizzando i crediti di utilizzo. Non è disponibile su Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o Claude Platform su AWS. Le organizzazioni Console devono anche avere [accesso alla modalità veloce provisioning](#enable-fast-mode-for-your-organization).

126* **Crediti di utilizzo abilitati per i piani di abbonamento**: su un piano Pro, Max, Team o Enterprise, il tuo account deve avere i [crediti di utilizzo](/docs/it/costs#add-usage-credits-to-your-subscription) abilitati, che consente la fatturazione oltre l'utilizzo incluso nel tuo piano. Finché non sono abilitati, `/fast` mostra "Fast mode requires usage credits · /usage-credits to turn them on". Come abilitarli dipende dal tuo piano:126* **Crediti di utilizzo abilitati per i piani di abbonamento**: su un piano Pro, Max, Team o Enterprise, il tuo account deve avere i [crediti di utilizzo](/docs/it/costs#add-usage-credits-to-your-subscription) abilitati, che consente la fatturazione oltre l'utilizzo incluso nel tuo piano. Finché non sono abilitati, `/fast` mostra "Fast mode requires usage credits". Come abilitarli dipende dal tuo piano:

127 * Su Pro e Max, abilitali nella sezione **Usage credits** di [**Settings > Usage**](https://claude.ai/settings/usage) su claude.ai, oppure esegui `/usage-credits` per aprire quella pagina.127 * Su Pro e Max, abilitali nella sezione **Usage credits** di [**Settings > Usage**](https://claude.ai/settings/usage) su claude.ai, oppure esegui `/usage-credits` per aprire quella pagina.

128 * Su Team e Enterprise, un membro con accesso alla fatturazione li abilita per l'organizzazione in [**Admin settings > Usage**](https://claude.ai/admin-settings/usage), e un membro senza accesso esegue `/usage-credits` per inviare una richiesta agli amministratori dell'organizzazione.128 * Su Team e Enterprise, un membro con accesso alla fatturazione li abilita per l'organizzazione in [**Admin settings > Usage**](https://claude.ai/admin-settings/usage), e un membro senza accesso esegue `/usage-credits` per inviare una richiesta agli amministratori dell'organizzazione.

129 129 

Details

116claude --cloud "Add retry logic to the payment webhook handler"116claude --cloud "Add retry logic to the payment webhook handler"

117```117```

118 118 

119La sessione clona il tuo repository da GHES e spinge i cambiamenti di nuovo a un branch. Monitora l'avanzamento con `/tasks` o su [claude.ai/code](https://claude.ai/code). Vedi [Claude Code sul web](/docs/it/claude-code-on-the-web) per il flusso di lavoro completo della sessione cloud inclusa la revisione diff, auto-fix e routine.119La sessione clona il tuo repository da GHES e spinge i cambiamenti di nuovo a un branch. Monitora l'avanzamento su [claude.ai/code](https://claude.ai/code). Vedi [Claude Code sul web](/docs/it/claude-code-on-the-web) per il flusso di lavoro completo della sessione cloud inclusa la revisione diff, auto-fix e routine.

120 120 

121<h3 id="teleport-sessions-to-your-terminal">121<h3 id="teleport-sessions-to-your-terminal">

122 Teleport delle sessioni al tuo terminale122 Teleport delle sessioni al tuo terminale

goal.md +23 −6

Details

22Tre approcci mantengono la sessione corrente in esecuzione tra i prompt. Scegli in base a cosa dovrebbe avviare il turno successivo:22Tre approcci mantengono la sessione corrente in esecuzione tra i prompt. Scegli in base a cosa dovrebbe avviare il turno successivo:

23 23 

24| Approccio | Il turno successivo inizia quando | Si ferma quando |24| Approccio | Il turno successivo inizia quando | Si ferma quando |

25| :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |25| :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

26| `/goal` | Il turno precedente finisce, o un [controllo di inattività](#background-work-defers-evaluation) è dovuto mentre il lavoro in background mantiene l'obiettivo in attesa, fino a tre volte per obiettivo tra i vostri prompt | Un modello conferma che la condizione è soddisfatta o la giudica impossibile, o un turno fallisce su [un errore che dovete correggere](#errors-you-have-to-fix-clear-the-goal), o eseguite [`/goal clear`](#clear-a-goal) |26| `/goal` | Il turno precedente finisce, oppure, in una sessione interattiva, un [controllo di inattività](#background-work-defers-evaluation) o un [tentativo automatico](#other-errors-retry-or-pause-the-goal) è dovuto | Un modello conferma che la condizione è soddisfatta o la giudica impossibile, oppure un turno fallisce su [un errore che dovete correggere](#errors-you-have-to-fix-clear-the-goal), oppure eseguite [`/goal clear`](#clear-a-goal) |

27| [`/loop`](/docs/it/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | Un intervallo di tempo trascorre | Lo interrompi, o Claude decide che il lavoro è fatto |27| [`/loop`](/docs/it/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | Un intervallo di tempo trascorre | Lo interrompi, o Claude decide che il lavoro è fatto |

28| [Stop hook](/docs/it/hooks-guide#prompt-based-hooks) | Il turno precedente finisce | Il tuo script o prompt decide |28| [Stop hook](/docs/it/hooks-guide#prompt-based-hooks) | Il turno precedente finisce | Il tuo script o prompt decide |

29 29 


143 143 

144Se Claude continua a rispondere al valutatore senza fare progressi (nessun utilizzo di strumenti per diversi turni di seguito), Claude Code interrompe il ciclo, stampa un avviso e ti restituisce il controllo con l'obiettivo ancora impostato. La valutazione riprende dopo il tuo prossimo prompt. La [guida ai hooks](/docs/it/hooks-guide#stop-hook-hits-the-block-cap) spiega il meccanismo sottostante.144Se Claude continua a rispondere al valutatore senza fare progressi (nessun utilizzo di strumenti per diversi turni di seguito), Claude Code interrompe il ciclo, stampa un avviso e ti restituisce il controllo con l'obiettivo ancora impostato. La valutazione riprende dopo il tuo prossimo prompt. La [guida ai hooks](/docs/it/hooks-guide#stop-hook-hits-the-block-cap) spiega il meccanismo sottostante.

145 145 

146<h3 id="errors-you-have-to-fix-clear-the-goal">146<h3 id="when-a-turn-fails">

147 Gli errori che devi correggere cancellano l'obiettivo147 Quando un turno fallisce

148</h3>148</h3>

149 149 

150Quando un turno fallisce, Claude Code cancella l'obiettivo se l'errore è uno che devi correggere. Dopo qualsiasi altro errore l'obiettivo rimane impostato.

151 

152<h4 id="errors-you-have-to-fix-clear-the-goal">

153 Gli errori che devi correggere cancellano l'obiettivo

154</h4>

155 

150Se un turno fallisce con un errore che non si cancellerà finché non lo correggi, Claude Code cancella l'obiettivo e stampa un avviso che nomina la causa. L'avviso inizia con `Goal cleared after an unrecoverable error` e termina con `Run /goal again to continue`. Correggi la causa, quindi [imposta di nuovo l'obiettivo](#set-a-goal) con `/goal <condition>`. Quattro tipi di errore cancellano l'obiettivo:156Se un turno fallisce con un errore che non si cancellerà finché non lo correggi, Claude Code cancella l'obiettivo e stampa un avviso che nomina la causa. L'avviso inizia con `Goal cleared after an unrecoverable error` e termina con `Run /goal again to continue`. Correggi la causa, quindi [imposta di nuovo l'obiettivo](#set-a-goal) con `/goal <condition>`. Quattro tipi di errore cancellano l'obiettivo:

151 157 

152* Un errore di autenticazione, quando Claude Code gestisce le proprie credenziali. Quando un host le gestisce per te, come l'app desktop, l'estensione VS Code o una [sessione cloud](/docs/it/claude-code-on-the-web), Claude Code lascia l'obiettivo attivo perché l'host ripristina l'accesso da solo.158* Un errore di autenticazione, quando Claude Code gestisce le proprie credenziali. Quando un host le gestisce per te, come l'app desktop, l'estensione VS Code o una [sessione cloud](/docs/it/claude-code-on-the-web), Claude Code lascia l'obiettivo attivo perché l'host ripristina l'accesso da solo.


154* Un overflow di contesto che [auto-compact](/docs/it/model-config#set-the-auto-compact-window) non poteva cancellare160* Un overflow di contesto che [auto-compact](/docs/it/model-config#set-the-auto-compact-window) non poteva cancellare

155* Un modello che non è disponibile161* Un modello che non è disponibile

156 162 

157Dopo qualsiasi altro errore, inclusi errori transitori come limiti di velocità e server sovraccarichi, Claude Code lascia l'obiettivo attivo.163<h4 id="other-errors-retry-or-pause-the-goal">

164 Altri errori riprovano o mettono in pausa l'obiettivo

165</h4>

166 

167Dopo qualsiasi altro errore l'obiettivo rimane impostato. In una sessione interattiva su Claude Code v2.1.269 o successivo, Claude Code stampa anche una riga che nomina la causa e riprova da solo o ti aspetta:

168 

169* **Riprova**: dopo un errore che tende a risolversi da solo, come un server sovraccarico o una connessione interrotta, un avviso che inizia con `Goal still active` mostra l'attesa prima del prossimo tentativo. Dopo tre tentativi automatici, l'obiettivo viene messo in pausa.

170* **Pausa**: dopo un errore che un nuovo tentativo ripeterebbe solo, come un limite di velocità API, un [limite di utilizzo](/docs/it/errors#youve-hit-your-session-limit) di claude.ai o un hook che ha terminato il turno, un avviso che inizia con `Goal paused` nomina la causa. Se la sessione è [in attesa di continuare automaticamente quando un limite di utilizzo si ripristina](/docs/it/interactive-mode#wait-for-a-usage-limit-to-reset), Claude riprende il lavoro verso l'obiettivo allora.

171 

172Invia un messaggio in qualsiasi momento per iniziare il turno successivo immediatamente. Per disattivare i tentativi automatici, imposta [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/it/env-vars) su `0`, che disattiva anche i [check-in](#background-work-defers-evaluation).

158 173 

159<h3 id="background-work-defers-evaluation">174<h3 id="background-work-defers-evaluation">

160 Il lavoro in background rinvia la valutazione175 Il lavoro in background rinvia la valutazione


169 184 

170Prima della v2.1.239, solo i check-in inattivi si ritiravano in questo modo; un check-in consegnato alla fine di un turno ricorreva al primo intervallo.185Prima della v2.1.239, solo i check-in inattivi si ritiravano in questo modo; un check-in consegnato alla fine di un turno ricorreva al primo intervallo.

171 186 

172Per modificare il primo intervallo, imposta [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/it/env-vars). Claude Code utilizza il tuo valore al posto dell'intervallo di 30 minuti e scala gli intervalli successivi con esso. Impostalo su `0` per disattivare i check-in. I check-in richiedono Claude Code v2.1.234 o successivo.187Per modificare il primo intervallo, imposta [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/it/env-vars). Claude Code utilizza il tuo valore al posto dell'intervallo di 30 minuti e scala gli intervalli successivi con esso. Impostalo su `0` per disattivare i check-in e i [tentativi automatici](#other-errors-retry-or-pause-the-goal).

188 

189I check-in richiedono Claude Code v2.1.234 o successivo.

173 190 

174<h3 id="evaluation-model-and-cost">191<h3 id="evaluation-model-and-cost">

175 Modello di valutazione e costo192 Modello di valutazione e costo

Details

211 211 

212I comandi integrati ti guidano anche attraverso la configurazione:212I comandi integrati ti guidano anche attraverso la configurazione:

213 213 

214* `/init` ti guida attraverso la creazione di un CLAUDE.md per il tuo progetto214* `/init` genera un CLAUDE.md iniziale per il tuo progetto

215* `/doctor` esegue un controllo di configurazione che diagnostica i problemi di installazione e configurazione e può risolverli215* `/doctor` esegue un controllo di configurazione che diagnostica i problemi di installazione e configurazione e può risolverli

216 216 

217<h3 id="it’s-a-conversation">217<h3 id="it’s-a-conversation">

jetbrains.md +2 −2

Details

256**Strumenti esposti al modello.** Il server ospita diversi strumenti, ma solo uno è visibile al modello. Il resto è RPC interno che la CLI utilizza per la propria interfaccia utente, come l'apertura di diff e la lettura di selezioni, e viene filtrato prima che l'elenco degli strumenti raggiunga Claude.256**Strumenti esposti al modello.** Il server ospita diversi strumenti, ma solo uno è visibile al modello. Il resto è RPC interno che la CLI utilizza per la propria interfaccia utente, come l'apertura di diff e la lettura di selezioni, e viene filtrato prima che l'elenco degli strumenti raggiunga Claude.

257 257 

258| Nome dello strumento (come visto dagli hook) | Cosa fa | Sola lettura |258| Nome dello strumento (come visto dagli hook) | Cosa fa | Sola lettura |

259| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------------ |259| -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |

260| `mcp__ide__getDiagnostics` | Restituisce i diagnostici di ispezione dell'IDE, gli errori e gli avvisi mostrati nell'editor. Facoltativamente limitato a un file. | Sì |260| `mcp__ide__getDiagnostics` | Restituisce i diagnostici di ispezione dell'IDE, gli errori e gli avvisi mostrati nell'editor. Ogni chiamata copre un file: il file che Claude specifica, o il file nell'editor attivo se Claude non ne specifica uno. | Sì |

261 261 

262Il plugin JetBrains non espone uno strumento di esecuzione del codice al modello.262Il plugin JetBrains non espone uno strumento di esecuzione del codice al modello.

263 263 

large-codebases.md +31 −31

Details

331Per directory fratello che tutti in questa area hanno bisogno, impegna `additionalDirectories` a `.claude/settings.json`. Per una selezione personale o un accesso una tantum, usa `.claude/settings.local.json` o passa `--add-dir` all'avvio.331Per directory fratello che tutti in questa area hanno bisogno, impegna `additionalDirectories` a `.claude/settings.json`. Per una selezione personale o un accesso una tantum, usa `.claude/settings.local.json` o passa `--add-dir` all'avvio.

332 332 

333<h2 id="add-per-directory-skills">333<h2 id="add-per-directory-skills">

334 Aggiungi skills per directory334 Aggiungere skills per directory

335</h2>335</h2>

336 336 

337Qualsiasi sottodirectory può definire [skills](/docs/it/skills) limitate al suo stack. Una skill si carica su richiesta quando Claude determina che è rilevante, quindi gli strumenti specifici dell'API non consumano contesto durante il lavoro del frontend.337Qualsiasi sottodirectory può definire [skills](/docs/it/skills) limitate al proprio stack. Una skill si carica su richiesta quando Claude determina che è rilevante, quindi gli strumenti specifici dell'API non consumano contesto durante il lavoro frontend.

338 338 

339Le skills vivono sotto `.claude/skills/` dentro la directory. Impegnale insieme al codice di quell'area in modo che chiunque cloni il repository le ottenga. In un monorepo questo può essere un set di skills per pacchetto. In un codebase a singolo albero di grandi dimensioni è un set per sottosistema come `src/db/.claude/skills/`.339Le skills si trovano sotto `.claude/skills/` all'interno della directory. Eseguine il commit insieme al codice di quell'area in modo che chiunque cloni il repository le ottenga. In un monorepo questo può essere un set di skills per package. In un grande codebase a singolo albero è un set per sottosistema come `src/db/.claude/skills/`.

340 340 

341Crea una directory di skill dentro la sottodirectory:341Crea una directory skill all'interno della sottodirectory:

342 342 

343```bash theme={null}343```bash theme={null}

344mkdir -p packages/api/.claude/skills/api-testing344mkdir -p packages/api/.claude/skills/api-testing

345```345```

346 346 

347Quindi scrivi `SKILL.md` dentro quella directory, qui `packages/api/.claude/skills/api-testing/SKILL.md`. Questo esempio insegna a Claude i modelli di test del pacchetto API:347Quindi scrivi `SKILL.md` all'interno di quella directory, qui `packages/api/.claude/skills/api-testing/SKILL.md`. Questo esempio insegna a Claude i pattern di testing del package API:

348 348 

349```markdown packages/api/.claude/skills/api-testing/SKILL.md theme={null}349```markdown packages/api/.claude/skills/api-testing/SKILL.md theme={null}

350---350---

351name: api-testing351name: api-testing

352description: Modelli di test per il pacchetto API. Usa quando scrivi o modifichi test in packages/api/.352description: Testing patterns for the API package. Use when writing or modifying tests in packages/api/.

353---353---

354 354 

355## Struttura del test355## Test structure

356 356 

357I test sono in `src/__tests__/` specchiando la struttura della directory `src/`.357Tests are in `src/__tests__/` mirroring the `src/` directory structure.

358Ogni file di route ha un file `.test.ts` corrispondente.358Each route file has a corresponding `.test.ts` file.

359 359 

360## Esecuzione dei test360## Running tests

361 361 

362- Tutti i test: `npm test`362- All tests: `npm test`

363- File singolo: `npm test -- src/__tests__/routes/users.test.ts`363- Single file: `npm test -- src/__tests__/routes/users.test.ts`

364- Modalità watch: `npm test -- --watch`364- Watch mode: `npm test -- --watch`

365 365 

366## Utilità di test366## Test utilities

367 367 

368- `src/__tests__/helpers/db.ts`: fornisce `setupTestDb()` e `teardownTestDb()` per i test del database368- `src/__tests__/helpers/db.ts`: provides `setupTestDb()` and `teardownTestDb()` for database tests

369- `src/__tests__/helpers/auth.ts`: fornisce `createTestUser()` e `getAuthToken()` per gli endpoint autenticati369- `src/__tests__/helpers/auth.ts`: provides `createTestUser()` and `getAuthToken()` for authenticated endpoints

370 370 

371## Modelli371## Patterns

372 372 

373- Usa `supertest` per le asserzioni HTTP, non fetch grezzo373- Use `supertest` for HTTP assertions, not raw fetch

374- Avvolgi sempre i test del database in una transazione che esegue il rollback374- Always wrap database tests in a transaction that rolls back

375- Mock dei servizi esterni in `src/__tests__/mocks/`375- Mock external services in `src/__tests__/mocks/`

376```376```

377 377 

378Una diversa sottodirectory contiene diverse skills allo stesso modo: `packages/web/.claude/skills/component-patterns/` descrive le convenzioni dei componenti del frontend invece dei test. 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.378Una 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.

379 379 

380Puoi anche limitare una skill per modello di file invece che per posizionamento. Il [campo frontmatter `paths`](/docs/it/skills#frontmatter-reference) accetta modelli glob, e Claude carica la skill automaticamente solo quando lavora con file corrispondenti. Usalo per una skill che vive in `.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/**`.380Puoi 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/**`.

381 381 

382Per ulteriori informazioni sulla creazione e l'organizzazione delle skills, vedi [Skills](/docs/it/skills).382Per ulteriori informazioni sulla creazione e organizzazione delle skills, vedi [Skills](/docs/it/skills).

383 383 

384<h3 id="keep-skills-discoverable">384<h3 id="keep-skills-discoverable">

385 Mantieni le skills scopribili385 Mantieni le skills individuabili

386</h3>386</h3>

387 387 

388Con le skills sparse in molte directory, l'elenco da cui Claude sceglie può crescere di grandi dimensioni. Claude sceglie una skill leggendo il nome e la descrizione di ogni skill scoperta, e solo il contenuto completo della skill scelta si carica nel contesto. Questa sezione copre come mantenere quell'elenco piccolo e scrivere descrizioni che sopravvivono all'accorciamento.388Con skills sparse in molte directory, l'elenco da cui Claude sceglie può crescere molto. Claude sceglie una skill leggendo il nome e la descrizione di ogni skill scoperta, e solo il contenuto completo della skill scelta si carica nel contesto. Questa sezione spiega come mantenere quell'elenco piccolo.

389 389 

390Quali skills sono in ambito dipende da dove avvii Claude:390Quali skills sono in ambito dipende da dove avvii Claude:

391 391 

392* **Da una sottodirectory come `packages/api/`**: skills da quella directory, ogni genitore fino alla radice del repository, e i livelli utente e azienda392* **Da una sottodirectory come `packages/api/`**: skills da quella directory, ogni parent fino alla radice del repository, e i livelli utente e azienda

393* **Dalla radice del repository**: skills da ogni sottodirectory che Claude tocca durante la sessione, che possono accumularsi in centinaia393* **Dalla radice del repository**: skills della radice, più skills da ogni sottodirectory che Claude tocca durante la sessione, che possono accumularsi nelle centinaia

394* **Dopo aver aggiunto un fratello con [`--add-dir`](#grant-access-across-packages-or-repositories)**: le skills di quel fratello si caricano anche. L'impostazione `additionalDirectories` concede solo accesso ai file e non carica skills394* **Dopo aver aggiunto un sibling con [`--add-dir`](#grant-access-across-packages-or-repositories)**: le skills di quel sibling si caricano anche. L'impostazione `additionalDirectories` concede solo accesso ai file e non carica skills

395 395 

396I nomi si caricano sempre, ma [le descrizioni vengono accorciate quando ce ne sono molte](/docs/it/skills#skill-descriptions-are-cut-short), che può spogliare le parole chiave che Claude usa per decidere se una skill si applica. Mantieni le descrizioni brevi e inizia con parole che una richiesta conterrebbe, come "scrivere o modificare test in `packages/api/`".396I nomi si caricano sempre, ma [quando ce ne sono molti, alcune skills perdono completamente le loro descrizioni](/docs/it/skills#skill-descriptions-are-cut-short), il che può eliminare le parole chiave che Claude usa per decidere se una skill si applica. Mantieni le descrizioni brevi e inizia con parole che una richiesta conterrebbe, come "writing or modifying tests in `packages/api/`".

397 397 

398Per le skills che molte directory condividono, come convenzioni PR o una checklist di deploy, posizionale in `.claude/skills/` della radice del repository in modo che si carichino da qualsiasi directory di avvio. Quando le skills condivise hanno bisogno della loro storia di versione o devono funzionare tra repository, impacchettale come un [plugin](/docs/it/plugins) invece. Le skills del plugin usano uno spazio dei nomi `plugin-name:skill-name`, quindi non collidono mai con le skills per directory. Un team di piattaforma può versionalizzarle e aggiornarle in un posto.398Per skills che molte directory condividono, come convenzioni PR o una checklist di deploy, posizionale nella `.claude/skills/` della radice del repository in modo che si carichino da qualsiasi directory di avvio. Quando le skills condivise hanno bisogno della propria cronologia delle versioni o devono funzionare tra repository, pacchettale come un [plugin](/docs/it/plugins) invece. Le skills dei plugin usano uno spazio dei nomi `plugin-name:skill-name`, quindi non collidono mai con le skills per directory. Un team di piattaforma può versionalizzarle e aggiornarle in un unico posto.

399 399 

400Per trovare quali skills rimangono inutilizzate, abilita l'esportatore OpenTelemetry [logs](/docs/it/monitoring-usage) e imposta `OTEL_LOG_TOOL_DETAILS=1` in modo che i nomi delle skills vengono registrati verbatim invece di essere redatti. L'evento [`skill_activated`](/docs/it/monitoring-usage#skill-activated-event) registra ogni invocazione nel suo attributo `skill.name`, e `invocation_trigger` registra se un comando, Claude o una skill annidata l'ha invocato, che ti dice cosa consolidare o ritirare.400Per trovare quali skills rimangono inutilizzate, abilita l'[esportatore di log](/docs/it/monitoring-usage) OpenTelemetry e imposta `OTEL_LOG_TOOL_DETAILS=1` in modo che i nomi delle skills siano registrati verbatim invece di essere redatti. L'evento [`skill_activated`](/docs/it/monitoring-usage#skill-activated-event) registra ogni invocazione nel suo attributo `skill.name`, e `invocation_trigger` registra se un comando, Claude, o una skill nidificata l'ha invocata, il che ti dice cosa consolidare o ritirare.

401 401 

402<h2 id="centralize-conventions-when-layering-stops-scaling">402<h2 id="centralize-conventions-when-layering-stops-scaling">

403 Centralizza le convenzioni quando la stratificazione smette di scalare403 Centralizza le convenzioni quando la stratificazione smette di scalare

Details

143 143 

144Quando la tua organizzazione distribuisce più di una fonte gestita alla stessa macchina, la chiave [`managedSourcesBehavior`](/docs/it/settings-reference#managedsourcesbehavior) decide cosa Claude Code fa con le altre:144Quando la tua organizzazione distribuisce più di una fonte gestita alla stessa macchina, la chiave [`managedSourcesBehavior`](/docs/it/settings-reference#managedsourcesbehavior) decide cosa Claude Code fa con le altre:

145 145 

146* **`"first-wins"`, l'impostazione predefinita**: Claude Code usa la fonte con il ranking più alto che distribuisce almeno una chiave di policy e ignora il resto piuttosto che unirle, a parte le poche chiavi in [Keys read from every admin source](#keys-read-from-every-admin-source). Claude Code non mostra alcun avviso per le fonti che salta; `/status` [nomina la fonte che ha usato e quelle che ha saltato](#read-the-source-in-/status).146* **`"first-wins"`, l'impostazione predefinita**: Claude Code usa la fonte con il ranking più alto che distribuisce almeno una chiave di policy e ignora il resto piuttosto che unirle, a parte le chiavi in [Keys read from every admin source](#keys-read-from-every-admin-source). Claude Code non mostra alcun avviso per le fonti che salta; `/status` [nomina la fonte che ha usato e quelle che ha saltato](#read-the-source-in-/status).

147* **`"merge"`**: Claude Code applica ogni fonte admin che distribuisce una chiave di policy e le combina per tipo di chiave: sulla maggior parte delle chiavi il valore della fonte con ranking più alto si applica, le liste si uniscono, e i lock prendono il valore più restrittivo. [Compose every managed source](#compose-every-managed-source) dice dove impostare la chiave e come ogni tipo di chiave si combina. Richiede Claude Code v2.1.242 o successivo.147* **`"merge"`**: Claude Code applica ogni fonte admin che distribuisce una chiave di policy e le combina per tipo di chiave: sulla maggior parte delle chiavi il valore della fonte con ranking più alto si applica, le liste si uniscono, e i lock prendono il valore più restrittivo. [Compose every managed source](#compose-every-managed-source) dice dove impostare la chiave e come ogni tipo di chiave si combina. Richiede Claude Code v2.1.242 o successivo.

148 148 

149Entrambe le impostazioni classificano le fonti nello stesso modo. Due termini ricorrono in questa sezione:149Entrambe le impostazioni classificano le fonti nello stesso modo. Due termini ricorrono in questa sezione:


186* [`forceRemoteSettingsRefresh`](/docs/it/server-managed-settings)186* [`forceRemoteSettingsRefresh`](/docs/it/server-managed-settings)

187* `env`, unito per variabile attraverso le fonti admin: ogni variabile proviene dalla fonte con priorità più alta che la definisce, quindi le fonti inferiori riempiono le variabili che quelle superiori lasciano non impostate. Poche variabili seguono le loro stesse regole; [Per-key exceptions across managed sources](/docs/it/server-managed-settings#per-key-exceptions-across-managed-sources) nomina ognuna. Richiede Claude Code v2.1.223 o successivo. Prima di v2.1.223, Claude Code applicava solo il blocco `env` completo della fonte selezionata187* `env`, unito per variabile attraverso le fonti admin: ogni variabile proviene dalla fonte con priorità più alta che la definisce, quindi le fonti inferiori riempiono le variabili che quelle superiori lasciano non impostate. Poche variabili seguono le loro stesse regole; [Per-key exceptions across managed sources](/docs/it/server-managed-settings#per-key-exceptions-across-managed-sources) nomina ognuna. Richiede Claude Code v2.1.223 o successivo. Prima di v2.1.223, Claude Code applicava solo il blocco `env` completo della fonte selezionata

188 188 

189Le [gateway login keys](#choose-a-delivery-mechanism), [`forceLoginGatewayUrl`](/docs/it/settings-reference#forcelogingatewayurl) e il valore `"gateway"` di [`forceLoginMethod`](/docs/it/settings-reference#forceloginmethod), seguono una regola separata. Claude Code non le legge mai dalle impostazioni server-managed, quindi mentre le impostazioni server-managed sono la fonte selezionata, la fonte admin con ranking più alto sulla macchina che porta una chiave di policy le fornisce ancora. Un valore in una fonte admin classificata sotto quella, o nel registro HKCU, viene ignorato.

190 

189<h3 id="compose-every-managed-source">191<h3 id="compose-every-managed-source">

190 Componi ogni fonte gestita192 Componi ogni fonte gestita

191</h3>193</h3>

model-config.md +4 −2

Details

134`/model` salva la vostra scelta come valore predefinito per le nuove sessioni scrivendo il campo `model` nelle vostre impostazioni utente. Nel selettore:134`/model` salva la vostra scelta come valore predefinito per le nuove sessioni scrivendo il campo `model` nelle vostre impostazioni utente. Nel selettore:

135 135 

136* `Enter`: passa il modello e salva come vostro valore predefinito136* `Enter`: passa il modello e salva come vostro valore predefinito

137* `s`: passa il modello solo per questa sessione137* `s`: passa il modello solo per questa sessione e lascia il vostro valore predefinito invariato. Per utilizzare un tasto diverso, riassegnare [`modelPicker:thisSessionOnly`](/docs/it/keybindings#model-picker-actions)

138 138 

139Digitare `/model <name>` direttamente si comporta come `Enter`. Se impostate un modello con `/model` in [modalità non interattiva](/docs/it/headless), con il flag `-p`, la vostra scelta si applica solo alla sessione attuale e non viene salvata come vostro valore predefinito; `/model` in quella modalità richiede Claude Code v2.1.205 o successiva. Le impostazioni di progetto e gestite mantengono comunque la precedenza e si riapplicano al prossimo avvio. Un [modello predefinito dell'organizzazione](#organization-default-model) che il vostro amministratore ha configurato per ignorare la selezione dell'utente si riapplica anche al prossimo avvio.139Digitare `/model <name>` direttamente si comporta come `Enter`. Per passare solo per questa sessione, aprire il selettore con `/model` e premere `s` sulla riga del modello.

140 

141Se impostate un modello con `/model` in [modalità non interattiva](/docs/it/headless), con il flag `-p`, la vostra scelta si applica solo alla sessione attuale e non viene salvata come vostro valore predefinito; `/model` in quella modalità richiede Claude Code v2.1.205 o successiva. Le impostazioni di progetto e gestite mantengono comunque la precedenza e si riapplicano al prossimo avvio. Un [modello predefinito dell'organizzazione](#organization-default-model) che il vostro amministratore ha configurato per ignorare la selezione dell'utente si riapplica anche al prossimo avvio.

140 142 

141Nella v2.1.144 attraverso v2.1.152, `/model` si applicava solo alla sessione attuale e `d` nel selettore salvava un valore predefinito.143Nella v2.1.144 attraverso v2.1.152, `/model` si applicava solo alla sessione attuale e `d` nel selettore salvava un valore predefinito.

142 144 

Details

150Le seguenti variabili di ambiente controllano quali attributi sono inclusi nelle metriche per gestire la cardinalità:150Le seguenti variabili di ambiente controllano quali attributi sono inclusi nelle metriche per gestire la cardinalità:

151 151 

152| Variabile di ambiente | Descrizione | Valore predefinito | Esempio per disabilitare |152| Variabile di ambiente | Descrizione | Valore predefinito | Esempio per disabilitare |

153| ------------------------------------------ | -------------------------------------------------------------------------------------------- | ------------------ | ------------------------ |153| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ------------------------ |

154| `OTEL_METRICS_INCLUDE_SESSION_ID` | Includi l'attributo session.id nelle metriche | `true` | `false` |154| `OTEL_METRICS_INCLUDE_SESSION_ID` | Includi l'attributo session.id nelle metriche | `true` | `false` |

155| `OTEL_METRICS_INCLUDE_VERSION` | Includi l'attributo app.version nelle metriche | `false` | `true` |155| `OTEL_METRICS_INCLUDE_VERSION` | Includi l'attributo app.version nelle metriche | `false` | `true` |

156| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Includi gli attributi user.account\_uuid e user.account\_id nelle metriche | `true` | `false` |156| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Includi gli attributi user.account\_uuid e user.account\_id nelle metriche | `true` | `false` |

157| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Includi l'attributo app.entrypoint nelle metriche | `false` | `true` |157| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Includi l'attributo app.entrypoint nelle metriche | `false` | `true` |

158| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Includi le chiavi da `OTEL_RESOURCE_ATTRIBUTES` come attributi sui punti dati delle metriche | `true` | `false` |158| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Includi le chiavi da `OTEL_RESOURCE_ATTRIBUTES` come attributi sui punti dati delle metriche | `true` | `false` |

159| `OTEL_METRICS_INCLUDE_REPOSITORY` | Includi gli attributi di identità del repository `vcs.*` [repository identity attributes](#repository-attributes) sulle metriche e gli eventi. Richiede Claude Code v2.1.269 o successivo | `false` | `true` |

159 160 

160Una cardinalità inferiore generalmente significa prestazioni migliori e costi di archiviazione inferiori ma dati meno granulari per l'analisi.161Una cardinalità inferiore generalmente significa prestazioni migliori e costi di archiviazione inferiori ma dati meno granulari per l'analisi.

161 162 


222| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |223| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |

223| `user_prompt` | Testo del prompt. Il valore è `<REDACTED>` a meno che il gate non sia impostato | `OTEL_LOG_USER_PROMPTS` |224| `user_prompt` | Testo del prompt. Il valore è `<REDACTED>` a meno che il gate non sia impostato | `OTEL_LOG_USER_PROMPTS` |

224| `user_prompt_length` | Lunghezza del prompt in caratteri | |225| `user_prompt_length` | Lunghezza del prompt in caratteri | |

225| `interaction.sequence` | Contatore basato su 1 delle interazioni in questa sessione | |226| `interaction.sequence` | Contatore basato su 1 delle interazioni, contato per processo Claude Code piuttosto che per sessione, come descritto per [`event.sequence`](#event-correlation-attributes) | |

226| `parent.source` | Come lo span ha ottenuto il suo genitore di traccia: `env` quando è stato genitore sotto un `TRACEPARENT` in entrata, `none` quando ha avviato la sua propria traccia. Richiede Claude Code v2.1.268 o successivo | |227| `parent.source` | Come lo span ha ottenuto il suo genitore di traccia: `env` quando è stato genitore sotto un `TRACEPARENT` in entrata, `none` quando ha avviato la sua propria traccia. Richiede Claude Code v2.1.268 o successivo | |

227| `interaction.duration_ms` | Durata wall-clock del turno | |228| `interaction.duration_ms` | Durata wall-clock del turno | |

228 229 


390* Creare dashboard specifici per team391* Creare dashboard specifici per team

391* Configurare avvisi per team specifici392* Configurare avvisi per team specifici

392 393 

393Claude Code allega questi valori come attributi su ogni punto dati di metrica e record di evento, oltre a inviarli nel blocco di risorse OTLP. Poiché la maggior parte dei backend di metriche espone gli attributi dei punti dati come etichette interrogabili, puoi raggruppare e filtrare le metriche direttamente per le tue chiavi personalizzate. Le chiavi personalizzate non sostituiscono mai gli [attributi standard](#standard-attributes) come `user.id` o `session.id`: quando una chiave collide, Claude Code mantiene il valore integrato.394Claude Code allega questi valori come attributi su ogni punto dati di metrica e record di evento, oltre a inviarli nel blocco di risorse OTLP. Poiché la maggior parte dei backend di metriche espone gli attributi dei punti dati come etichette interrogabili, puoi raggruppare e filtrare le metriche direttamente per le tue chiavi personalizzate. Eccetto per gli attributi del repository `vcs.*` [repository attributes](#repository-attributes), le chiavi personalizzate non sostituiscono mai gli [attributi standard](#standard-attributes) come `user.id` o `session.id`: quando una chiave collide, Claude Code mantiene il valore integrato.

394 395 

395Ogni chiave personalizzata diventa un'etichetta su ogni serie di metriche, quindi i valori ad alta cardinalità aumentano il costo di archiviazione nel tuo backend di metriche. Per inviare attributi personalizzati solo nel blocco di risorse e ometterli dalle etichette dei punti dati, imposta `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Vedi [Controllo della cardinalità delle metriche](#metrics-cardinality-control).396Ogni chiave personalizzata diventa un'etichetta su ogni serie di metriche, quindi i valori ad alta cardinalità aumentano il costo di archiviazione nel tuo backend di metriche. Per inviare attributi personalizzati solo nel blocco di risorse e ometterli dalle etichette dei punti dati, imposta `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Vedi [Controllo della cardinalità delle metriche](#metrics-cardinality-control).

396 397 


499Tutte le metriche e gli eventi condividono questi attributi standard:500Tutte le metriche e gli eventi condividono questi attributi standard:

500 501 

501| Attributo | Descrizione | Controllato da |502| Attributo | Descrizione | Controllato da |

502| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |503| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |

503| `session.id` | Identificatore di sessione univoco | `OTEL_METRICS_INCLUDE_SESSION_ID` (predefinito: true) |504| `session.id` | Identificatore di sessione univoco | `OTEL_METRICS_INCLUDE_SESSION_ID` (predefinito: true) |

504| `app.version` | Versione corrente di Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (predefinito: false) |505| `app.version` | Versione corrente di Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (predefinito: false) |

505| `app.entrypoint` | Come la sessione è stata avviata, come `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, o `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (predefinito: false) |506| `app.entrypoint` | Come la sessione è stata avviata, come `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, o `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (predefinito: false) |


510| `user.email` | Indirizzo email dell'utente, dal tuo accesso o, in una [sessione cloud](/docs/it/claude-code-on-the-web), dalle credenziali della sessione stessa | Sempre incluso quando disponibile |511| `user.email` | Indirizzo email dell'utente, dal tuo accesso o, in una [sessione cloud](/docs/it/claude-code-on-the-web), dalle credenziali della sessione stessa | Sempre incluso quando disponibile |

511| `terminal.type` | Tipo di terminale, come `iTerm.app`, `vscode`, `cursor`, o `tmux` | Sempre incluso quando rilevato |512| `terminal.type` | Tipo di terminale, come `iTerm.app`, `vscode`, `cursor`, o `tmux` | Sempre incluso quando rilevato |

512| Chiavi da `OTEL_RESOURCE_ATTRIBUTES` | Attributi personalizzati che imposti, come `department` o `team.id`. Vedi [Supporto per organizzazioni multi-team](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (predefinito: true) |513| Chiavi da `OTEL_RESOURCE_ATTRIBUTES` | Attributi personalizzati che imposti, come `department` o `team.id`. Vedi [Supporto per organizzazioni multi-team](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (predefinito: true) |

514| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | L'identità del repository della sessione, derivata dal suo remote `origin`. Vedi [Attributi del repository](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (predefinito: false). Richiede Claude Code v2.1.269 o successivo |

513 515 

514Quando Claude Code è connesso a un [gateway di app Claude](/docs/it/claude-apps-gateway), la CLI contrassegna le esportazioni con l'identità autenticata dalla sessione del gateway: `user.id` è il soggetto IdP piuttosto che un identificatore di installazione anonimo, `user.email` è l'email connessa, e `user.groups` contiene l'appartenenza al gruppo IdP come stringa separata da virgole. Ogni esportazione contiene anche `identity.source: gateway-oidc`. L'identità del gateway viene applicata per ultima, quindi le chiavi `user.*` e `identity.*` impostate tramite `OTEL_RESOURCE_ATTRIBUTES` vengono ignorate nelle sessioni del gateway.516Quando Claude Code è connesso a un [gateway di app Claude](/docs/it/claude-apps-gateway), la CLI contrassegna le esportazioni con l'identità autenticata dalla sessione del gateway: `user.id` è il soggetto IdP piuttosto che un identificatore di installazione anonimo, `user.email` è l'email connessa, e `user.groups` contiene l'appartenenza al gruppo IdP come stringa separata da virgole. Ogni esportazione contiene anche `identity.source: gateway-oidc`. L'identità del gateway viene applicata per ultima, quindi le chiavi `user.*` e `identity.*` impostate tramite `OTEL_RESOURCE_ATTRIBUTES` vengono ignorate nelle sessioni del gateway.

515 517 


520* `workflow.run_id`: identificatore di esecuzione, con prefisso `wf_`, sugli eventi API e degli strumenti emessi da agenti che appartengono a un'esecuzione dello strumento [Workflow](/docs/it/workflows). Filtrando gli eventi per un `workflow.run_id` si ricostruisce l'esecuzione delle richieste API e dei risultati degli strumenti. L'identificatore copre gli agenti che lo script del workflow genera e tutti gli agenti che questi generano a loro volta, come le invocazioni di skill. Corrisponde all'identificatore di esecuzione segnalato nel risultato dello strumento Workflow. Assente su tutti gli altri eventi. Richiede Claude Code v2.1.202 o successivo522* `workflow.run_id`: identificatore di esecuzione, con prefisso `wf_`, sugli eventi API e degli strumenti emessi da agenti che appartengono a un'esecuzione dello strumento [Workflow](/docs/it/workflows). Filtrando gli eventi per un `workflow.run_id` si ricostruisce l'esecuzione delle richieste API e dei risultati degli strumenti. L'identificatore copre gli agenti che lo script del workflow genera e tutti gli agenti che questi generano a loro volta, come le invocazioni di skill. Corrisponde all'identificatore di esecuzione segnalato nel risultato dello strumento Workflow. Assente su tutti gli altri eventi. Richiede Claude Code v2.1.202 o successivo

521* `workflow.name`: nome del workflow, il `meta.name` del suo script, emesso insieme a `workflow.run_id`. I nomi dei workflow incorporati vengono visualizzati così come sono quando l'esecuzione esegue lo script incorporato non modificato. I nomi creati dall'utente, incluse le copie modificate degli script incorporati, vengono sostituiti con `custom` a meno che `OTEL_LOG_TOOL_DETAILS=1` non sia impostato. Richiede Claude Code v2.1.202 o successivo523* `workflow.name`: nome del workflow, il `meta.name` del suo script, emesso insieme a `workflow.run_id`. I nomi dei workflow incorporati vengono visualizzati così come sono quando l'esecuzione esegue lo script incorporato non modificato. I nomi creati dall'utente, incluse le copie modificate degli script incorporati, vengono sostituiti con `custom` a meno che `OTEL_LOG_TOOL_DETAILS=1` non sia impostato. Richiede Claude Code v2.1.202 o successivo

522 524 

525<h4 id="repository-attributes">

526 Attributi del repository

527</h4>

528 

529Imposta `OTEL_METRICS_INCLUDE_REPOSITORY=true` per taggare le metriche e gli eventi con l'identità del repository della sessione, in modo che un collector condiviso possa attribuire l'utilizzo per repository. Richiede Claude Code v2.1.269 o successivo.

530 

531Claude Code deriva questi attributi una volta per sessione dal remote `origin` del repository. I remote HTTPS e SSH di un repository producono valori identici:

532 

533| Attributo | Valore |

534| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |

535| `vcs.repository.url.full` | L'URL del browser del repository senza `.git`, come `https://github.com/example-org/example-repo` |

536| `vcs.owner.name` | Il percorso del proprietario o del gruppo, come `example-org`; omesso quando il percorso remoto ha un singolo segmento |

537| `vcs.repository.name` | Il nome del repository nudo, come `example-repo` |

538| `vcs.provider.name` | `github`, `gitlab`, `bitbucket`, o `gitea` quando Claude Code riconosce l'host remoto o la forma dell'URL come uno di questi provider; omesso altrimenti |

539 

540I valori sono minuscoli, e le credenziali, le stringhe di query e i frammenti dall'URL remoto non compaiono mai in essi. Gli attributi vengono omessi quando la sessione non ha un remote `origin`, quando il remote non è a forma di URL, o quando l'unico repository che lo racchiude è la tua directory home.

541 

542Una chiave `vcs.*` che dichiari in [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) sostituisce il valore derivato per quella chiave. Se dichiari `vcs.repository.url.full`, Claude Code non legge mai il remote e segnala solo le chiavi che dichiari.

543 

544Gli attributi fluiscono solo ai tuoi esportatori; la telemetria di Anthropic elimina ogni chiave `vcs.*`.

545 

523<h3 id="metrics">546<h3 id="metrics">

524 Metriche547 Metriche

525</h3>548</h3>


664| Attributo | Descrizione |687| Attributo | Descrizione |

665| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |688| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

666| `prompt.id` | Identificatore UUID v4 che collega tutti gli eventi prodotti durante l'elaborazione di un singolo prompt dell'utente |689| `prompt.id` | Identificatore UUID v4 che collega tutti gli eventi prodotti durante l'elaborazione di un singolo prompt dell'utente |

690| `event.sequence` | Contatore a base 0 per ordinare gli eventi, contato per processo Claude Code piuttosto che per sessione |

667| `message.uuid` | UUID del messaggio come persistente nella trascrizione della sessione, i file `~/.claude/projects/*/*.jsonl`. Presente su `assistant_response`, e su `user_prompt` eccetto per i dispatching dei comandi, che possono produrre zero o molti messaggi. Su `assistant_response`, questa è la voce della trascrizione finale della risposta, da cui la `parentUuid` del turno successivo si collega. Richiede Claude Code v2.1.214 o successivo |691| `message.uuid` | UUID del messaggio come persistente nella trascrizione della sessione, i file `~/.claude/projects/*/*.jsonl`. Presente su `assistant_response`, e su `user_prompt` eccetto per i dispatching dei comandi, che possono produrre zero o molti messaggi. Su `assistant_response`, questa è la voce della trascrizione finale della risposta, da cui la `parentUuid` del turno successivo si collega. Richiede Claude Code v2.1.214 o successivo |

668| `client_request_id` | UUID generato dal client inviato come intestazione della richiesta `x-client-request-id`. Presente su `api_request` e `api_error` su connessioni API di prima parte; assente su backend di provider di terze parti e quando la richiesta è stata ritentata tramite il fallback non-streaming. Accoppia una richiesta con la sua risposta e rimane disponibile per i guasti come i timeout che non hanno mai prodotto un `request_id` del server. Corrisponde allo stesso attributo sul span di traccia `llm_request`. Richiede Claude Code v2.1.214 o successivo |692| `client_request_id` | UUID generato dal client inviato come intestazione della richiesta `x-client-request-id`. Presente su `api_request` e `api_error` su connessioni API di prima parte; assente su backend di provider di terze parti e quando la richiesta è stata ritentata tramite il fallback non-streaming. Accoppia una richiesta con la sua risposta e rimane disponibile per i guasti come i timeout che non hanno mai prodotto un `request_id` del server. Corrisponde allo stesso attributo sul span di traccia `llm_request`. Richiede Claude Code v2.1.214 o successivo |

669 693 

670Per tracciare tutta l'attività attivata da un singolo prompt, filtra i tuoi eventi per un valore specifico di `prompt.id`. Questo restituisce l'evento user\_prompt, eventuali eventi api\_request, e eventuali eventi tool\_result che si sono verificati durante l'elaborazione di quel prompt.694Per tracciare tutta l'attività attivata da un singolo prompt, filtra i tuoi eventi per un valore specifico di `prompt.id`. Questo restituisce l'evento user\_prompt, eventuali eventi api\_request, e eventuali eventi tool\_result che si sono verificati durante l'elaborazione di quel prompt.

671 695 

696`event.sequence` inizia a 0 ogni volta che un processo Claude Code si avvia e conta fino alla fine della vita di quel processo. Continua a contare attraverso `/clear`, che assegna un nuovo `session.id`. Se [riprendi una sessione senza fare un fork](/docs/it/how-claude-code-works#resume-or-fork-sessions), la sessione mantiene il suo `session.id` ma prende i suoi valori `event.sequence` dal processo che l'ha ripresa, quindi all'interno di una sessione un evento successivo può portare un valore inferiore a uno precedente, o ripetere uno. Per ordinare gli eventi di una sessione, ordina per `event.timestamp` e usa `event.sequence` per ordinare gli eventi che condividono un timestamp.

697 

672Per la ricostruzione a livello di messaggio, ogni classe di evento porta una chiave che corrisponde a un campo nella trascrizione della sessione. Il formato della voce della trascrizione è [interno a Claude Code](/docs/it/sessions#where-transcripts-are-stored) e cambia tra le versioni, quindi una pipeline che si unisce su questi campi può rompersi in qualsiasi rilascio; tratta gli join come specifici della versione piuttosto che come un contratto stabile:698Per la ricostruzione a livello di messaggio, ogni classe di evento porta una chiave che corrisponde a un campo nella trascrizione della sessione. Il formato della voce della trascrizione è [interno a Claude Code](/docs/it/sessions#where-transcripts-are-stored) e cambia tra le versioni, quindi una pipeline che si unisce su questi campi può rompersi in qualsiasi rilascio; tratta gli join come specifici della versione piuttosto che come un contratto stabile:

673 699 

674* `message.uuid` su `user_prompt` e `assistant_response`700* `message.uuid` su `user_prompt` e `assistant_response`


688* Tutti gli [attributi standard](#standard-attributes)714* Tutti gli [attributi standard](#standard-attributes)

689* `event.name`: `"user_prompt"`715* `event.name`: `"user_prompt"`

690* `event.timestamp`: Timestamp ISO 8601716* `event.timestamp`: Timestamp ISO 8601

691* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione717* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

692* `prompt_length`: Lunghezza del prompt718* `prompt_length`: Lunghezza del prompt

693* `prompt`: Contenuto del prompt. Oscurato per impostazione predefinita. Imposta `OTEL_LOG_USER_PROMPTS=1` per includerlo719* `prompt`: Contenuto del prompt. Oscurato per impostazione predefinita. Imposta `OTEL_LOG_USER_PROMPTS=1` per includerlo

694* `message.uuid`: UUID del messaggio utente risultante, corrispondente alla voce della trascrizione persistente. Assente nei dispatching dei comandi, che possono produrre zero o molti messaggi. Richiede Claude Code v2.1.214 o successivo720* `message.uuid`: UUID del messaggio utente risultante, corrispondente alla voce della trascrizione persistente. Assente nei dispatching dei comandi, che possono produrre zero o molti messaggi. Richiede Claude Code v2.1.214 o successivo


708* Tutti gli [attributi standard](#standard-attributes)734* Tutti gli [attributi standard](#standard-attributes)

709* `event.name`: `"assistant_response"`735* `event.name`: `"assistant_response"`

710* `event.timestamp`: Timestamp ISO 8601736* `event.timestamp`: Timestamp ISO 8601

711* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione737* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

712* `response_length`: Lunghezza del testo della risposta in caratteri738* `response_length`: Lunghezza del testo della risposta in caratteri

713* `response`: Testo della risposta, troncato al limite di contenuto (60 KB per impostazione predefinita). Sostituito con `<REDACTED>` per impostazione predefinita. Imposta `OTEL_LOG_ASSISTANT_RESPONSES=1` per includerlo. Quando `OTEL_LOG_ASSISTANT_RESPONSES` non è impostato, `OTEL_LOG_USER_PROMPTS` lo controlla invece, quindi imposta `OTEL_LOG_ASSISTANT_RESPONSES=0` per mantenere le risposte oscurate mentre la registrazione dei prompt è attiva739* `response`: Testo della risposta, troncato al limite di contenuto (60 KB per impostazione predefinita). Sostituito con `<REDACTED>` per impostazione predefinita. Imposta `OTEL_LOG_ASSISTANT_RESPONSES=1` per includerlo. Quando `OTEL_LOG_ASSISTANT_RESPONSES` non è impostato, `OTEL_LOG_USER_PROMPTS` lo controlla invece, quindi imposta `OTEL_LOG_ASSISTANT_RESPONSES=0` per mantenere le risposte oscurate mentre la registrazione dei prompt è attiva

714* `model`: Identificatore del modello (ad esempio, "claude-sonnet-5")740* `model`: Identificatore del modello (ad esempio, "claude-sonnet-5")


729* Tutti gli [attributi standard](#standard-attributes)755* Tutti gli [attributi standard](#standard-attributes)

730* `event.name`: `"tool_result"`756* `event.name`: `"tool_result"`

731* `event.timestamp`: Timestamp ISO 8601757* `event.timestamp`: Timestamp ISO 8601

732* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione758* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

733* `tool_name`: Nome dello strumento759* `tool_name`: Nome dello strumento

734* `tool_use_id`: Identificatore univoco per questa invocazione dello strumento. Corrisponde al `tool_use_id` passato agli hooks, consentendo la correlazione tra gli eventi OTel e i dati acquisiti dagli hooks.760* `tool_use_id`: Identificatore univoco per questa invocazione dello strumento. Corrisponde al `tool_use_id` passato agli hooks, consentendo la correlazione tra gli eventi OTel e i dati acquisiti dagli hooks.

735* `success`: `"true"` o `"false"`761* `success`: `"true"` o `"false"`


741* `tool_input_size_bytes`: Dimensione dell'input dello strumento serializzato in JSON in byte767* `tool_input_size_bytes`: Dimensione dell'input dello strumento serializzato in JSON in byte

742* `tool_result_size_bytes`: Dimensione del risultato dello strumento in byte768* `tool_result_size_bytes`: Dimensione del risultato dello strumento in byte

743* `mcp_server_scope`: Identificatore dell'ambito del server MCP (per gli strumenti MCP)769* `mcp_server_scope`: Identificatore dell'ambito del server MCP (per gli strumenti MCP)

770* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (quando `OTEL_LOG_TOOL_DETAILS=1`): l'identità del commit di un'esecuzione riuscita di `git commit` eseguita dallo strumento Bash o PowerShell. `vcs.ref.head.revision` è lo SHA del commit, `vcs.ref.head.name` è il ramo su cui è stato eseguito il commit, e `vcs.ref.head.type` è `branch`. Il nome e il tipo vengono omessi quando il commit è stato effettuato su un HEAD staccato. Richiede Claude Code v2.1.269 o successivo

744* `tool_parameters` (quando `OTEL_LOG_TOOL_DETAILS=1`): Stringa JSON contenente parametri specifici dello strumento. Per i server incorporati di Claude Desktop, nelle sessioni che Claude Desktop possiede, la coppia `mcp_server_name`/`mcp_tool_name` è inclusa anche con il flag disattivato, la stessa eccezione creata dall'host dell'[Evento di decisione dello strumento](#tool-decision-event), richiedendo Claude Code v2.1.214 o successivo. I parametri variano per strumento:771* `tool_parameters` (quando `OTEL_LOG_TOOL_DETAILS=1`): Stringa JSON contenente parametri specifici dello strumento. Per i server incorporati di Claude Desktop, nelle sessioni che Claude Desktop possiede, la coppia `mcp_server_name`/`mcp_tool_name` è inclusa anche con il flag disattivato, la stessa eccezione creata dall'host dell'[Evento di decisione dello strumento](#tool-decision-event), richiedendo Claude Code v2.1.214 o successivo. I parametri variano per strumento:

745 * Per lo strumento Bash: include `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`, e `git_commit_id` (lo SHA del commit, quando un comando `git commit` ha successo). Lo strumento bash dell'area di lavoro dell'app desktop segnala anche `tool_name` come `Bash`, ma include solo `bash_command`, `full_command`, e `timeout`772 * Per lo strumento Bash: include `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`, e `git_commit_id` e `git_branch` quando un comando `git commit` ha successo. `git_commit_id` è lo SHA completo del commit quando il commit è l'HEAD della directory di lavoro della sessione, e lo SHA abbreviato di git altrimenti. `git_branch` è il ramo su cui è stato eseguito il commit, omesso su un HEAD staccato

773 * Per lo strumento Bash dell'area di lavoro dell'app desktop, che segnala anche `tool_name` come `Bash`: include solo `bash_command`, `full_command`, e `timeout`

746 * Per gli strumenti MCP: include `mcp_server_name`, `mcp_tool_name`774 * Per gli strumenti MCP: include `mcp_server_name`, `mcp_tool_name`

747 * Per lo strumento Skill: include `skill_name`775 * Per lo strumento Skill: include `skill_name`

748 * Per lo strumento Agent o lo strumento Task legacy: include `subagent_type`776 * Per lo strumento Agent o lo strumento Task legacy: include `subagent_type`


761* Tutti gli [attributi standard](#standard-attributes)789* Tutti gli [attributi standard](#standard-attributes)

762* `event.name`: `"api_request"`790* `event.name`: `"api_request"`

763* `event.timestamp`: Timestamp ISO 8601791* `event.timestamp`: Timestamp ISO 8601

764* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione792* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

765* `model`: Modello utilizzato (ad esempio, "claude-sonnet-5")793* `model`: Modello utilizzato (ad esempio, "claude-sonnet-5")

766* `cost_usd`: Costo stimato in USD794* `cost_usd`: Costo stimato in USD

767* `cost_usd_micros`: Costo stimato in milionesimi di dollaro USA, emesso come numero intero795* `cost_usd_micros`: Costo stimato in milionesimi di dollaro USA, emesso come numero intero


790* Tutti gli [attributi standard](#standard-attributes)818* Tutti gli [attributi standard](#standard-attributes)

791* `event.name`: `"api_error"`819* `event.name`: `"api_error"`

792* `event.timestamp`: Timestamp ISO 8601820* `event.timestamp`: Timestamp ISO 8601

793* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione821* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

794* `model`: Modello utilizzato (ad esempio, "claude-sonnet-5")822* `model`: Modello utilizzato (ad esempio, "claude-sonnet-5")

795* `error`: Messaggio di errore823* `error`: Messaggio di errore

796* `status_code`: Codice di stato HTTP come numero. Assente per errori non-HTTP come i guasti di connessione.824* `status_code`: Codice di stato HTTP come numero. Assente per errori non-HTTP come i guasti di connessione.


816* Tutti gli [attributi standard](#standard-attributes)844* Tutti gli [attributi standard](#standard-attributes)

817* `event.name`: `"api_refusal"`845* `event.name`: `"api_refusal"`

818* `event.timestamp`: Timestamp ISO 8601846* `event.timestamp`: Timestamp ISO 8601

819* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione847* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

820* `model`: Identificatore del modello dalla richiesta848* `model`: Identificatore del modello dalla richiesta

821* `request_id`: ID della richiesta API Anthropic dall'intestazione `request-id` della risposta, come `"req_011..."`. Presente solo quando l'API ne restituisce uno.849* `request_id`: ID della richiesta API Anthropic dall'intestazione `request-id` della risposta, come `"req_011..."`. Presente solo quando l'API ne restituisce uno.

822* `query_source`: Sottosistema che ha emesso la richiesta, come `"repl_main_thread"`, `"compact"`, o un nome di subagent. Vedi [`api_request`](#api-request-event) per le definizioni.850* `query_source`: Sottosistema che ha emesso la richiesta, come `"repl_main_thread"`, `"compact"`, o un nome di subagent. Vedi [`api_request`](#api-request-event) per le definizioni.


842* Tutti gli [attributi standard](#standard-attributes)870* Tutti gli [attributi standard](#standard-attributes)

843* `event.name`: `"api_request_body"`871* `event.name`: `"api_request_body"`

844* `event.timestamp`: Timestamp ISO 8601872* `event.timestamp`: Timestamp ISO 8601

845* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione873* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

846* `body`: Parametri della richiesta dell'API Messages serializzati in JSON, come il prompt di sistema, i messaggi e gli strumenti, troncati al limite di contenuto (60 KB per impostazione predefinita). Il contenuto del pensiero esteso nei turni precedenti dell'assistente viene oscurato. Emesso solo in modalità inline (`OTEL_LOG_RAW_API_BODIES=1`).874* `body`: Parametri della richiesta dell'API Messages serializzati in JSON, come il prompt di sistema, i messaggi e gli strumenti, troncati al limite di contenuto (60 KB per impostazione predefinita). Il contenuto del pensiero esteso nei turni precedenti dell'assistente viene oscurato. Emesso solo in modalità inline (`OTEL_LOG_RAW_API_BODIES=1`).

847* `body_ref`: Percorso assoluto a un file `<dir>/<uuid>.request.json` contenente il corpo non troncato. Emesso solo in modalità file (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).875* `body_ref`: Percorso assoluto a un file `<dir>/<uuid>.request.json` contenente il corpo non troncato. Emesso solo in modalità file (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).

848* `body_length`: Lunghezza del corpo non troncato. Byte UTF-8 quando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unità di codice UTF-16 quando `=1`876* `body_length`: Lunghezza del corpo non troncato. Byte UTF-8 quando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unità di codice UTF-16 quando `=1`


863* Tutti gli [attributi standard](#standard-attributes)891* Tutti gli [attributi standard](#standard-attributes)

864* `event.name`: `"api_response_body"`892* `event.name`: `"api_response_body"`

865* `event.timestamp`: Timestamp ISO 8601893* `event.timestamp`: Timestamp ISO 8601

866* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione894* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

867* `body`: Risposta dell'API Messages serializzata in JSON, inclusi l'id, i blocchi di contenuto, l'utilizzo e il motivo di arresto, troncata al limite di contenuto (60 KB per impostazione predefinita). Il contenuto del pensiero esteso viene oscurato. Emesso solo in modalità inline (`OTEL_LOG_RAW_API_BODIES=1`).895* `body`: Risposta dell'API Messages serializzata in JSON, inclusi l'id, i blocchi di contenuto, l'utilizzo e il motivo di arresto, troncata al limite di contenuto (60 KB per impostazione predefinita). Il contenuto del pensiero esteso viene oscurato. Emesso solo in modalità inline (`OTEL_LOG_RAW_API_BODIES=1`).

868* `body_ref`: Percorso assoluto a un file `<dir>/<request_id>.response.json` contenente il corpo non troncato. Emesso solo in modalità file (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).896* `body_ref`: Percorso assoluto a un file `<dir>/<request_id>.response.json` contenente il corpo non troncato. Emesso solo in modalità file (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).

869* `body_length`: Lunghezza del corpo non troncato. Byte UTF-8 quando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unità di codice UTF-16 quando `=1`897* `body_length`: Lunghezza del corpo non troncato. Byte UTF-8 quando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unità di codice UTF-16 quando `=1`


885* Tutti gli [attributi standard](#standard-attributes)913* Tutti gli [attributi standard](#standard-attributes)

886* `event.name`: `"tool_decision"`914* `event.name`: `"tool_decision"`

887* `event.timestamp`: Timestamp ISO 8601915* `event.timestamp`: Timestamp ISO 8601

888* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione916* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

889* `tool_name`: Nome dello strumento (ad esempio, "Read", "Edit", "Write", "NotebookEdit")917* `tool_name`: Nome dello strumento (ad esempio, "Read", "Edit", "Write", "NotebookEdit")

890* `tool_use_id`: Identificatore univoco per questa invocazione dello strumento. Corrisponde al `tool_use_id` passato agli hooks, consentendo la correlazione tra gli eventi OTel e i dati acquisiti dagli hooks.918* `tool_use_id`: Identificatore univoco per questa invocazione dello strumento. Corrisponde al `tool_use_id` passato agli hooks, consentendo la correlazione tra gli eventi OTel e i dati acquisiti dagli hooks.

891* `decision`: `"accept"` o `"reject"`919* `decision`: `"accept"` o `"reject"`


920* Tutti gli [attributi standard](#standard-attributes)948* Tutti gli [attributi standard](#standard-attributes)

921* `event.name`: `"permission_mode_changed"`949* `event.name`: `"permission_mode_changed"`

922* `event.timestamp`: Timestamp ISO 8601950* `event.timestamp`: Timestamp ISO 8601

923* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione951* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

924* `from_mode`: La modalità di autorizzazione precedente, ad esempio `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, o `"bypassPermissions"`952* `from_mode`: La modalità di autorizzazione precedente, ad esempio `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, o `"bypassPermissions"`

925* `to_mode`: La nuova modalità di autorizzazione953* `to_mode`: La nuova modalità di autorizzazione

926* `trigger`: Cosa ha causato il cambio. Uno di `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, o `"auto_opt_in"`. Assente quando la transizione proviene dall'SDK o dal bridge954* `trigger`: Cosa ha causato il cambio. Uno di `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, o `"auto_opt_in"`. Assente quando la transizione proviene dall'SDK o dal bridge


938* Tutti gli [attributi standard](#standard-attributes)966* Tutti gli [attributi standard](#standard-attributes)

939* `event.name`: `"auth"`967* `event.name`: `"auth"`

940* `event.timestamp`: Timestamp ISO 8601968* `event.timestamp`: Timestamp ISO 8601

941* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione969* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

942* `action`: `"login"` o `"logout"`970* `action`: `"login"` o `"logout"`

943* `success`: `"true"` o `"false"`971* `success`: `"true"` o `"false"`

944* `auth_method`: Metodo di autenticazione, come `"oauth"`972* `auth_method`: Metodo di autenticazione, come `"oauth"`


958* Tutti gli [attributi standard](#standard-attributes)986* Tutti gli [attributi standard](#standard-attributes)

959* `event.name`: `"mcp_server_connection"`987* `event.name`: `"mcp_server_connection"`

960* `event.timestamp`: Timestamp ISO 8601988* `event.timestamp`: Timestamp ISO 8601

961* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione989* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

962* `status`: `"connected"`, `"failed"`, o `"disconnected"`990* `status`: `"connected"`, `"failed"`, o `"disconnected"`

963* `transport_type`: Trasporto del server, come `"stdio"`, `"sse"`, o `"http"`991* `transport_type`: Trasporto del server, come `"stdio"`, `"sse"`, o `"http"`

964* `server_scope`: Ambito in cui il server è configurato, come `"user"`, `"project"`, o `"local"`992* `server_scope`: Ambito in cui il server è configurato, come `"user"`, `"project"`, o `"local"`


983* Tutti gli [attributi standard](#standard-attributes)1011* Tutti gli [attributi standard](#standard-attributes)

984* `event.name`: `"internal_error"`1012* `event.name`: `"internal_error"`

985* `event.timestamp`: Timestamp ISO 86011013* `event.timestamp`: Timestamp ISO 8601

986* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1014* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

987* `error_name`: Nome della classe di errore, come `"TypeError"` o `"SyntaxError"`1015* `error_name`: Nome della classe di errore, come `"TypeError"` o `"SyntaxError"`

988* `error_code`: Codice errno di Node.js come `"ENOENT"` quando presente nell'errore1016* `error_code`: Codice errno di Node.js come `"ENOENT"` quando presente nell'errore

989 1017 


1000* Tutti gli [attributi standard](#standard-attributes)1028* Tutti gli [attributi standard](#standard-attributes)

1001* `event.name`: `"plugin_installed"`1029* `event.name`: `"plugin_installed"`

1002* `event.timestamp`: Timestamp ISO 86011030* `event.timestamp`: Timestamp ISO 8601

1003* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1031* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1004* `marketplace.is_official`: `"true"` se il marketplace è un marketplace ufficiale Anthropic, `"false"` altrimenti1032* `marketplace.is_official`: `"true"` se il marketplace è un marketplace ufficiale Anthropic, `"false"` altrimenti

1005* `install.trigger`: `"cli"` o `"ui"`1033* `install.trigger`: `"cli"` o `"ui"`

1006* `plugin.name`: Nome del plugin installato. Per i marketplace di terze parti questo è incluso solo quando `OTEL_LOG_TOOL_DETAILS=1`1034* `plugin.name`: Nome del plugin installato. Per i marketplace di terze parti questo è incluso solo quando `OTEL_LOG_TOOL_DETAILS=1`


1020* Tutti gli [attributi standard](#standard-attributes)1048* Tutti gli [attributi standard](#standard-attributes)

1021* `event.name`: `"plugin_loaded"`1049* `event.name`: `"plugin_loaded"`

1022* `event.timestamp`: Timestamp ISO 86011050* `event.timestamp`: Timestamp ISO 8601

1023* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1051* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1024* `plugin.name`: Nome del plugin. Per i plugin al di fuori del marketplace ufficiale e del bundle incorporato il valore è `"third-party"` a meno che `OTEL_LOG_TOOL_DETAILS=1`1052* `plugin.name`: Nome del plugin. Per i plugin al di fuori del marketplace ufficiale e del bundle incorporato il valore è `"third-party"` a meno che `OTEL_LOG_TOOL_DETAILS=1`

1025* `marketplace.name`: Marketplace da cui è stato installato il plugin, quando noto. Sostituito con `"third-party"` nella stessa condizione di `plugin.name`1053* `marketplace.name`: Marketplace da cui è stato installato il plugin, quando noto. Sostituito con `"third-party"` nella stessa condizione di `plugin.name`

1026* `plugin.version`: Versione dal manifesto del plugin. Incluso solo quando il nome non è oscurato e il manifesto dichiara una versione1054* `plugin.version`: Versione dal manifesto del plugin. Incluso solo quando il nome non è oscurato e il manifesto dichiara una versione


1048* Tutti gli [attributi standard](#standard-attributes)1076* Tutti gli [attributi standard](#standard-attributes)

1049* `event.name`: `"skill_activated"`1077* `event.name`: `"skill_activated"`

1050* `event.timestamp`: Timestamp ISO 86011078* `event.timestamp`: Timestamp ISO 8601

1051* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1079* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1052* `skill.name`: Nome della skill. Per le skill definite dall'utente e di terze parti il valore è il placeholder `"custom_skill"` a meno che `OTEL_LOG_TOOL_DETAILS=1`1080* `skill.name`: Nome della skill. Per le skill definite dall'utente e di terze parti il valore è il placeholder `"custom_skill"` a meno che `OTEL_LOG_TOOL_DETAILS=1`

1053* `invocation_trigger`: Come la skill è stata attivata (`"user-slash"`, `"claude-proactive"`, o `"nested-skill"`)1081* `invocation_trigger`: Come la skill è stata attivata (`"user-slash"`, `"claude-proactive"`, o `"nested-skill"`)

1054* `skill.source`: Da dove è stata caricata la skill (ad esempio, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)1082* `skill.source`: Da dove è stata caricata la skill (ad esempio, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)


1069* Tutti gli [attributi standard](#standard-attributes)1097* Tutti gli [attributi standard](#standard-attributes)

1070* `event.name`: `"at_mention"`1098* `event.name`: `"at_mention"`

1071* `event.timestamp`: Timestamp ISO 86011099* `event.timestamp`: Timestamp ISO 8601

1072* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1100* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1073* `mention_type`: Tipo di menzione (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). Il valore `"peer"` significa che hai menzionato [una delle tue altre sessioni Claude Code](/docs/it/cross-session-messaging). Richiede Claude Code v2.1.232 o successivo1101* `mention_type`: Tipo di menzione (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). Il valore `"peer"` significa che hai menzionato [una delle tue altre sessioni Claude Code](/docs/it/cross-session-messaging). Richiede Claude Code v2.1.232 o successivo

1074* `success`: Se la menzione è stata risolta con successo (`"true"` o `"false"`)1102* `success`: Se la menzione è stata risolta con successo (`"true"` o `"false"`)

1075 1103 


1086* Tutti gli [attributi standard](#standard-attributes)1114* Tutti gli [attributi standard](#standard-attributes)

1087* `event.name`: `"api_retries_exhausted"`1115* `event.name`: `"api_retries_exhausted"`

1088* `event.timestamp`: Timestamp ISO 86011116* `event.timestamp`: Timestamp ISO 8601

1089* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1117* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1090* `model`: Modello utilizzato1118* `model`: Modello utilizzato

1091* `error`: Messaggio di errore finale1119* `error`: Messaggio di errore finale

1092* `status_code`: Codice di stato HTTP come numero. Assente per errori non-HTTP.1120* `status_code`: Codice di stato HTTP come numero. Assente per errori non-HTTP.


1107* Tutti gli [attributi standard](#standard-attributes)1135* Tutti gli [attributi standard](#standard-attributes)

1108* `event.name`: `"hook_registered"`1136* `event.name`: `"hook_registered"`

1109* `event.timestamp`: Timestamp ISO 86011137* `event.timestamp`: Timestamp ISO 8601

1110* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1138* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1111* `hook_event`: Tipo di evento hook, come `"PreToolUse"` o `"PostToolUse"`1139* `hook_event`: Tipo di evento hook, come `"PreToolUse"` o `"PostToolUse"`

1112* `hook_type`: Tipo di implementazione dell'hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, o `"agent"`1140* `hook_type`: Tipo di implementazione dell'hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, o `"agent"`

1113* `hook_source`: Dove è definito l'hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, o `"pluginHook"`1141* `hook_source`: Dove è definito l'hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, o `"pluginHook"`


1129* Tutti gli [attributi standard](#standard-attributes)1157* Tutti gli [attributi standard](#standard-attributes)

1130* `event.name`: `"hook_execution_start"`1158* `event.name`: `"hook_execution_start"`

1131* `event.timestamp`: Timestamp ISO 86011159* `event.timestamp`: Timestamp ISO 8601

1132* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1160* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1133* `hook_event`: Tipo di evento hook, come `"PreToolUse"` o `"PostToolUse"`1161* `hook_event`: Tipo di evento hook, come `"PreToolUse"` o `"PostToolUse"`

1134* `hook_name`: Nome completo dell'hook incluso il matcher, come `"PreToolUse:Write"`1162* `hook_name`: Nome completo dell'hook incluso il matcher, come `"PreToolUse:Write"`

1135* `num_hooks`: Numero di comandi hook corrispondenti1163* `num_hooks`: Numero di comandi hook corrispondenti


1151* Tutti gli [attributi standard](#standard-attributes)1179* Tutti gli [attributi standard](#standard-attributes)

1152* `event.name`: `"hook_execution_complete"`1180* `event.name`: `"hook_execution_complete"`

1153* `event.timestamp`: Timestamp ISO 86011181* `event.timestamp`: Timestamp ISO 8601

1154* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1182* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1155* `hook_event`: Tipo di evento hook1183* `hook_event`: Tipo di evento hook

1156* `hook_name`: Nome completo dell'hook incluso il matcher1184* `hook_name`: Nome completo dell'hook incluso il matcher

1157* `num_hooks`: Numero di comandi hook corrispondenti1185* `num_hooks`: Numero di comandi hook corrispondenti


1178* Tutti gli [attributi standard](#standard-attributes)1206* Tutti gli [attributi standard](#standard-attributes)

1179* `event.name`: `"hook_plugin_metrics"`1207* `event.name`: `"hook_plugin_metrics"`

1180* `event.timestamp`: Timestamp ISO 86011208* `event.timestamp`: Timestamp ISO 8601

1181* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1209* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1182* `plugin_id`: Identificatore del plugin in forma `<name>@<marketplace>`1210* `plugin_id`: Identificatore del plugin in forma `<name>@<marketplace>`

1183* `hook_event`: Tipo di evento hook che ha emesso le metriche1211* `hook_event`: Tipo di evento hook che ha emesso le metriche

1184* Fino a 20 chiavi di metriche emesse dal plugin. I nomi corrispondono a `^[a-z][a-z0-9_]{0,39}$`. I valori sono booleani o numeri.1212* Fino a 20 chiavi di metriche emesse dal plugin. I nomi corrispondono a `^[a-z][a-z0-9_]{0,39}$`. I valori sono booleani o numeri.


1196* Tutti gli [attributi standard](#standard-attributes)1224* Tutti gli [attributi standard](#standard-attributes)

1197* `event.name`: `"compaction"`1225* `event.name`: `"compaction"`

1198* `event.timestamp`: Timestamp ISO 86011226* `event.timestamp`: Timestamp ISO 8601

1199* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1227* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1200* `trigger`: `"auto"` o `"manual"`1228* `trigger`: `"auto"` o `"manual"`

1201* `success`: `"true"` o `"false"`1229* `success`: `"true"` o `"false"`

1202* `duration_ms`: Durata della compattazione1230* `duration_ms`: Durata della compattazione


1218* Tutti gli [attributi standard](#standard-attributes)1246* Tutti gli [attributi standard](#standard-attributes)

1219* `event.name`: `"subagent_completed"`1247* `event.name`: `"subagent_completed"`

1220* `event.timestamp`: Timestamp ISO 86011248* `event.timestamp`: Timestamp ISO 8601

1221* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1249* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1222* `agent_type`: Il tipo di subagent. I nomi degli agenti incorporati e i nomi degli agenti dai plugin del marketplace ufficiale vengono visualizzati così come sono; gli altri nomi degli agenti vengono sostituiti con `"custom"` a meno che `OTEL_LOG_TOOL_DETAILS=1` non sia impostato1250* `agent_type`: Il tipo di subagent. I nomi degli agenti incorporati e i nomi degli agenti dai plugin del marketplace ufficiale vengono visualizzati così come sono; gli altri nomi degli agenti vengono sostituiti con `"custom"` a meno che `OTEL_LOG_TOOL_DETAILS=1` non sia impostato

1223* `agent.source`: Da dove proviene la definizione dell'agente: `built-in`, `plugin`, o la fonte di impostazioni che ha definito un agente personalizzato, come `userSettings` o `projectSettings`1251* `agent.source`: Da dove proviene la definizione dell'agente: `built-in`, `plugin`, o la fonte di impostazioni che ha definito un agente personalizzato, come `userSettings` o `projectSettings`

1224* `is_built_in`: Se il subagent è un tipo di agente incorporato1252* `is_built_in`: Se il subagent è un tipo di agente incorporato


1244* Tutti gli [attributi standard](#standard-attributes)1272* Tutti gli [attributi standard](#standard-attributes)

1245* `event.name`: `"feedback_survey"`1273* `event.name`: `"feedback_survey"`

1246* `event.timestamp`: Timestamp ISO 86011274* `event.timestamp`: Timestamp ISO 8601

1247* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1275* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1248* `event_type`: Evento del ciclo di vita del sondaggio, ad esempio `"appeared"`, `"responded"`, o `"transcript_prompt_appeared"`1276* `event_type`: Evento del ciclo di vita del sondaggio, ad esempio `"appeared"`, `"responded"`, o `"transcript_prompt_appeared"`

1249* `appearance_id`: ID univoco che collega gli eventi emessi per un'istanza di sondaggio1277* `appearance_id`: ID univoco che collega gli eventi emessi per un'istanza di sondaggio

1250* `survey_type`: Quale sondaggio ha prodotto l'evento. `"session"` è il prompt di valutazione "Come sta andando Claude?"1278* `survey_type`: Quale sondaggio ha prodotto l'evento. `"session"` è il prompt di valutazione "Come sta andando Claude?"


1268* Tutti gli [attributi standard](#standard-attributes)1296* Tutti gli [attributi standard](#standard-attributes)

1269* `event.name`: `"retention_sweep"`1297* `event.name`: `"retention_sweep"`

1270* `event.timestamp`: Timestamp ISO 86011298* `event.timestamp`: Timestamp ISO 8601

1271* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1299* `event.sequence`: Contatore per processo per ordinare gli eventi, descritto sotto [Attributi di correlazione degli eventi](#event-correlation-attributes)

1272* `result`: `"complete"` quando lo sweep è stato eseguito, `"skipped"` quando Claude Code lo ha messo in pausa1300* `result`: `"complete"` quando lo sweep è stato eseguito, `"skipped"` quando Claude Code lo ha messo in pausa

1273* `period_days`: Il valore `cleanupPeriodDays` dalle impostazioni unite, in giorni, o `30` quando nessuna fonte lo imposta. Su eventi saltati, il valore che lo sweep avrebbe utilizzato, calcolato dalle fonti di impostazioni che Claude Code potrebbe leggere1301* `period_days`: Il valore `cleanupPeriodDays` dalle impostazioni unite, in giorni, o `30` quando nessuna fonte lo imposta. Su eventi saltati, il valore che lo sweep avrebbe utilizzato, calcolato dalle fonti di impostazioni che Claude Code potrebbe leggere

1274* `used_default`: `"true"` quando nessuna fonte di impostazioni leggibile imposta `cleanupPeriodDays`, `"false"` altrimenti. Su eventi completi, `"true"` significa che il default di 30 giorni è stato applicato1302* `used_default`: `"true"` quando nessuna fonte di impostazioni leggibile imposta `cleanupPeriodDays`, `"false"` altrimenti. Su eventi completi, `"true"` significa che il default di 30 giorni è stato applicato

permissions.md +3 −1

Details

67 67 

68Una 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)`, quindi una regola deny non può contenere eccezioni di allowlist. 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.68Una 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)`, quindi una regola deny non può contenere eccezioni di allowlist. 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.

69 69 

70Le 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. La 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. Una regola limitata come `Bash(rm *)` lascia lo strumento disponibile e blocca le chiamate corrispondenti quando Claude tenta di utilizzarle.70Le 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.

71 

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

71 73 

72<Note>74<Note>

73 Le regole di autorizzazione sono applicate da Claude Code, non dal modello. Le istruzioni nel vostro prompt o in `CLAUDE.md` determinano ciò che Claude tenta di fare, ma non cambiano ciò che Claude Code consente. Per concedere o revocare l'accesso, utilizzate `/permissions`, le regole descritte qui, una [modalità di autorizzazione](/docs/it/permission-modes), o un [hook PreToolUse](#extend-permissions-with-hooks).75 Le regole di autorizzazione sono applicate da Claude Code, non dal modello. Le istruzioni nel vostro prompt o in `CLAUDE.md` determinano ciò che Claude tenta di fare, ma non cambiano ciò che Claude Code consente. Per concedere o revocare l'accesso, utilizzate `/permissions`, le regole descritte qui, una [modalità di autorizzazione](/docs/it/permission-modes), o un [hook PreToolUse](#extend-permissions-with-hooks).

Details

185 Negazione di uno strumento completo185 Negazione di uno strumento completo

186</h3>186</h3>

187 187 

188L'aggiunta di un nome di strumento semplice come `Bash` o `WebFetch` come [regola di negazione](/docs/it/permissions#manage-permissions) rimuove completamente quello strumento dal contesto di Claude. Claude Code carica le definizioni degli strumenti incorporati nel livello del prompt di sistema, quindi aggiungere o rimuovere una di queste regole a metà sessione invalida la cache. Claude Code applica il cambio alla richiesta successiva, 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.188Se 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.

189 189 

190Solo una regola di negazione che corrisponde nella posizione del nome dello strumento ha questo effetto: un nome di strumento semplice, la forma equivalente `Bash(*)`, o un [glob del nome dello strumento](/docs/it/permissions#tool-name-wildcards) come `"*"`. Un glob che corrisponde solo agli strumenti MCP, come `"mcp__*"`, rimuove quegli strumenti nello stesso modo ma lascia la cache intatta quando gli strumenti corrispondenti sono [differiti](#connecting-or-disconnecting-an-mcp-server), l'impostazione predefinita, poiché le definizioni differite non erano mai nel prefisso memorizzato nella cache. Le regole di negazione con ambito come `Bash(rm *)`, e tutte le regole di consentimento e richiesta, non cambiano quali strumenti Claude vede. Claude Code le controlla quando Claude tenta una chiamata, lasciando il prefisso intatto.190Quando la [ricerca degli strumenti](/docs/it/mcp#scale-with-mcp-tool-search) è attiva, che è l'impostazione predefinita sui modelli supportati, le definizioni degli strumenti nella richiesta non cambiano e il prefisso memorizzato nella cache sopravvive. Quando la ricerca degli strumenti non è disponibile o è disabilitata, Claude Code rimuove la definizione dalla richiesta successiva, il che invalida la cache, e così fa anche la rimozione della regola in seguito.

191 

192Solo una regola di negazione che corrisponde nella posizione del nome dello strumento blocca uno strumento in questo modo: un nome di strumento semplice, la forma equivalente `Bash(*)`, o un [glob del nome dello strumento](/docs/it/permissions#tool-name-wildcards) come `"*"`. Un glob che corrisponde solo agli strumenti MCP, come `"mcp__*"`, blocca quegli strumenti nello stesso modo. Le regole di negazione con ambito come `Bash(rm *)`, e tutte le regole di consentimento e richiesta, non cambiano quali strumenti Claude vede. Claude Code le controlla quando Claude tenta una chiamata, lasciando il prefisso intatto.

191 193 

192<h3 id="compacting-the-conversation">194<h3 id="compacting-the-conversation">

193 Compattazione della conversazione195 Compattazione della conversazione

Details

1743. L'ultimo messaggio significativo nella cronologia della conversazione esistente1743. L'ultimo messaggio significativo nella cronologia della conversazione esistente

1754. Un nome generato automaticamente come `myhost-graceful-unicorn`, dove `myhost` è il nome host della tua macchina o il prefisso che hai impostato con `--remote-control-session-name-prefix`1754. Un nome generato automaticamente come `myhost-graceful-unicorn`, dove `myhost` è il nome host della tua macchina o il prefisso che hai impostato con `--remote-control-session-name-prefix`

176 176 

177Se non hai impostato un nome esplicito, Claude Code aggiorna il titolo per riflettere il tuo prompt una volta che ne invii uno. Claude Code abbina i titoli generati automaticamente alla lingua della tua conversazione, o all'impostazione [`language`](/docs/it/settings-reference#language) se ne è configurata una; l'abbinamento della lingua richiede Claude Code v2.1.176 o successivo.177Se non hai impostato un nome esplicito, Claude Code aggiorna il titolo per riflettere il tuo prompt una volta che ne invii uno. Claude Code abbina i titoli generati automaticamente alla lingua della tua conversazione, o all'impostazione [`language`](/docs/it/settings-reference#language) se ne è configurata una.

178 178 

179Quando rinomini una sessione da claude.ai o dall'app Claude, Claude Code aggiorna anche il titolo locale mostrato in `claude --resume`. Claude Code applica lo stesso rinomina al nome della sessione mostrato sulla barra del prompt, e nell'elenco `claude agents` quando la sessione [funziona in background](/docs/it/agent-view). Prima della v2.1.221, il rinomina da claude.ai o dall'app Claude aggiornava solo il titolo, e la CLI manteneva il suo nome di sessione precedente; `/rename`, che funziona nella CLI stessa, imposta il nome su qualsiasi versione.179Quando rinomini una sessione da claude.ai o dall'app Claude, Claude Code aggiorna anche il titolo locale mostrato in `claude --resume`. Claude Code applica lo stesso rinomina al nome della sessione mostrato sulla barra del prompt, e nell'elenco `claude agents` quando la sessione [funziona in background](/docs/it/agent-view). Prima della v2.1.221, il rinomina da claude.ai o dall'app Claude aggiornava solo il titolo, e la CLI manteneva il suo nome di sessione precedente; `/rename`, che funziona nella CLI stessa, imposta il nome su qualsiasi versione.

180 180 

Details

29| [Virtual machine](#virtual-machine) | Sistema operativo completo | No | Alto |29| [Virtual machine](#virtual-machine) | Sistema operativo completo | No | Alto |

30| [Claude Code on the web](#claude-code-on-the-web) | Sistema operativo completo, ospitato da Anthropic | No | Nessuno; richiede un abbonamento Claude e GitHub |30| [Claude Code on the web](#claude-code-on-the-web) | Sistema operativo completo, ospitato da Anthropic | No | Nessuno; richiede un abbonamento Claude e GitHub |

31 31 

32Lo [sandboxed Bash tool](/docs/it/sandboxing) è integrato in Claude Code e limita solo i comandi Bash. I file tools integrati, i server MCP e gli hooks vengono comunque eseguiti direttamente sul tuo host. Ogni altro approccio nella tabella posiziona l'intero processo Claude Code all'interno del confine di isolamento, quindi i file tools, i server MCP e gli hooks sono anch'essi limitati.32Lo [sandboxed Bash tool](/docs/it/sandboxing) è integrato in Claude Code e limita i comandi Bash. I file tools integrati, i server MCP e gli hooks vengono comunque eseguiti direttamente sul tuo host. Ogni altro approccio nella tabella posiziona l'intero processo Claude Code all'interno del confine di isolamento, quindi i file tools, i server MCP e gli hooks sono anch'essi limitati.

33 33 

34<Warning>34<Warning>

35 L'isolamento sandbox riduce l'impatto di una violazione, ma non elimina il rischio. Qualsiasi approccio che consente l'uscita di rete può comunque perdere dati che l'agente può leggere, e qualsiasi approccio che monta la tua directory di progetto in scrittura può comunque modificare quel codice. Rivedi le [limitazioni di sicurezza](/docs/it/sandboxing#security-limitations) prima di fare affidamento su una sandbox come controllo rigido.35 L'isolamento sandbox riduce l'impatto di una violazione, ma non elimina il rischio. Qualsiasi approccio che consente l'uscita di rete può comunque perdere dati che l'agente può leggere, e qualsiasi approccio che monta la tua directory di progetto in scrittura può comunque modificare quel codice. Rivedi le [limitazioni di sicurezza](/docs/it/sandboxing#security-limitations) prima di fare affidamento su una sandbox come controllo rigido.


83La sandbox per comando non copre tutto ciò che viene eseguito in una sessione:83La sandbox per comando non copre tutto ciò che viene eseguito in una sessione:

84 84 

85* Altri [strumenti integrati](/docs/it/tools-reference) come Read, Edit e WebFetch vengono eseguiti all'interno del processo Claude Code e non generano codice arbitrario. Le [regole di autorizzazione](/docs/it/permissions) per percorso o dominio le controllano invece.85* Altri [strumenti integrati](/docs/it/tools-reference) come Read, Edit e WebFetch vengono eseguiti all'interno del processo Claude Code e non generano codice arbitrario. Le [regole di autorizzazione](/docs/it/permissions) per percorso o dominio le controllano invece.

86* I server [MCP](/docs/it/mcp) e gli hooks sono processi separati che vengono eseguiti senza vincoli sull'host.86* I server [MCP](/docs/it/mcp) e gli [hooks di comando](/docs/it/hooks#command-hook-fields) sono processi separati che vengono eseguiti senza vincoli sull'host.

87 87 

88Per mettere i file tools, i server MCP e gli hooks tutti dietro un confine di SO, esegui l'intero processo Claude Code all'interno del [sandbox runtime](#sandbox-runtime), del [dev container](#dev-containers), o di un [custom container](#custom-container).88Per mettere i file tools, i server MCP e gli hooks tutti dietro un confine di SO, esegui l'intero processo Claude Code all'interno del [sandbox runtime](#sandbox-runtime), del [dev container](#dev-containers), o di un [custom container](#custom-container).

89 89 

Details

486 486 

487`--kill-session-after-min` è un backstop per le sessioni runaway. Su un runner su v2.1.260 o successivo, una sessione che raggiunge il limite non viene terminata immediatamente. Il runner le dà una finestra di grazia, 15 minuti per impostazione predefinita, che puoi cambiare con [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](/docs/it/self-hosted-environments-reference#environment-variable-only-settings):487`--kill-session-after-min` è un backstop per le sessioni runaway. Su un runner su v2.1.260 o successivo, una sessione che raggiunge il limite non viene terminata immediatamente. Il runner le dà una finestra di grazia, 15 minuti per impostazione predefinita, che puoi cambiare con [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](/docs/it/self-hosted-environments-reference#environment-variable-only-settings):

488 488 

489* Se la sessione sta aspettando il suo utente, o il suo turno è finito e tiene solo compiti di background, il runner la rilascia subito. La sessione riprende quando il suo utente invia il suo prossimo messaggio.489* Se la sessione sta aspettando il suo utente, il runner la rilascia. Se il suo turno è finito e tiene solo compiti di background, il runner aspetta fino a 60 secondi affinché questi compiti finiscano e poi la rilascia. La sessione riprende quando il suo utente invia il suo prossimo messaggio.

490* Se un turno è ancora in esecuzione, il runner aspetta che il turno finisca, o che la sessione aspetti successivamente il suo utente, e poi la rilascia.490* Se un turno è ancora in esecuzione, il runner aspetta che il turno finisca, o che la sessione aspetti successivamente il suo utente, e poi la rilascia.

491* Se la sessione è ancora sul runner quando la finestra di grazia scade, il runner la termina, e il lavoro di qualsiasi turno in esecuzione è perso. Un turno che aspetta un'approvazione richiesta dall'interno di una chiamata di strumento in esecuzione è un modo in cui una sessione sopravvive alla finestra.491* Se la sessione è ancora sul runner quando la finestra di grazia scade, il runner la termina, e il lavoro di qualsiasi turno in esecuzione è perso. Un turno che aspetta un'approvazione richiesta dall'interno di una chiamata di strumento in esecuzione è un modo in cui una sessione sopravvive alla finestra.

492 492 

Details

163 Eccezioni per chiave tra fonti gestite163 Eccezioni per chiave tra fonti gestite

164</h3>164</h3>

165 165 

166Due tipi di chiavi sono eccezioni alla regola di non-unione:166Tre tipi di chiavi sono eccezioni alla regola di non-unione:

167 167 

168* **Chiavi di blocco tra fonti**: un piccolo insieme di chiavi, come i blocchi della lista di autorizzazione della sandbox, [elencate nella pagina delle impostazioni gestite](/docs/it/managed-settings#precedence-within-the-managed-tier). Claude Code le rispetta quando qualsiasi fonte gestita controllata dall'amministratore le imposta; il livello del registro HKCU scrivibile dall'utente è escluso. Quando un [`policyHelper`](/docs/it/settings-reference#policyhelper) fornisce impostazioni gestite, il suo output è l'unica fonte che questi controlli leggono, ad eccezione di [`forceRemoteSettingsRefresh`](/docs/it/settings-reference#forceremotesettingsrefresh), che Claude Code legge direttamente dalle fonti amministrative all'avvio.168* **Chiavi di blocco tra fonti**: un piccolo insieme di chiavi, come i blocchi della lista di autorizzazione della sandbox, [elencate nella pagina delle impostazioni gestite](/docs/it/managed-settings#precedence-within-the-managed-tier). Claude Code le rispetta quando qualsiasi fonte gestita controllata dall'amministratore le imposta; il livello del registro HKCU scrivibile dall'utente è escluso. Quando un [`policyHelper`](/docs/it/settings-reference#policyhelper) fornisce impostazioni gestite, il suo output è l'unica fonte che questi controlli leggono, ad eccezione di [`forceRemoteSettingsRefresh`](/docs/it/settings-reference#forceremotesettingsrefresh), che Claude Code legge direttamente dalle fonti amministrative all'avvio.

169* **Il blocco `env`**: a parte l'unità di telemetria e le variabili di routing associate a una chiave di credenziale, entrambe coperte di seguito, si unisce per chiave tra le fonti controllate dall'amministratore. Per ogni variabile di ambiente, la fonte con la priorità più alta che la definisce vince, e le fonti amministrative inferiori riempiono le variabili che le fonti superiori lasciano non impostate. Una voce `env` gestita dall'endpoint si applica quindi ogni volta che la configurazione gestita dal server lascia quella variabile non impostata, o mentre un valore server memorizzato nella cache per essa è [trattenuto in sospeso della conferma del server](#fetch-and-caching-behavior). Richiede Claude Code v2.1.223 o successivo. Prima della v2.1.223, Claude Code applica solo il blocco `env` della fonte selezionata.169* **Il blocco `env`**: a parte l'unità di telemetria e le variabili di routing associate a una chiave di credenziale, entrambe coperte di seguito, si unisce per chiave tra le fonti controllate dall'amministratore. Per ogni variabile di ambiente, la fonte con la priorità più alta che la definisce vince, e le fonti amministrative inferiori riempiono le variabili che le fonti superiori lasciano non impostate. Una voce `env` gestita dall'endpoint si applica quindi ogni volta che la configurazione gestita dal server lascia quella variabile non impostata, o mentre un valore server memorizzato nella cache per essa è [trattenuto in sospeso della conferma del server](#fetch-and-caching-behavior). Richiede Claude Code v2.1.223 o successivo. Prima della v2.1.223, Claude Code applica solo il blocco `env` della fonte selezionata.

170 * **Unità di telemetria**: le chiavi dell'esportatore `OTEL_EXPORTER_OTLP_*`, gli interruttori di acquisizione del contenuto `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER` e le variabili di tracciamento beta `ENABLE_BETA_TRACING_DETAILED` e `BETA_TRACING_ENDPOINT` seguono la fonte più alta che imposta una qualsiasi di esse come unità. Una fonte che fornisce la chiave di credenziale `otelHeadersHelper` rivendica l'unità anche, ma fornisce queste variabili solo quando è la fonte selezionata: una fonte che non è selezionata ma fornisce la chiave non contribuisce a nessuna di esse e blocca comunque le fonti inferiori dal riempirle. In ogni caso, un endpoint dell'esportatore da una fonte non può mai essere associato a credenziali da un'altra.170 * **Unità di telemetria**: le chiavi dell'esportatore `OTEL_EXPORTER_OTLP_*`, gli interruttori di acquisizione del contenuto `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER` e le variabili di tracciamento beta `ENABLE_BETA_TRACING_DETAILED` e `BETA_TRACING_ENDPOINT` seguono la fonte più alta che imposta una qualsiasi di esse come unità. Una fonte che fornisce la chiave di credenziale `otelHeadersHelper` rivendica l'unità anche, ma fornisce queste variabili solo quando è la fonte selezionata: una fonte che non è selezionata ma fornisce la chiave non contribuisce a nessuna di esse e blocca comunque le fonti inferiori dal riempirle. In ogni caso, un endpoint dell'esportatore da una fonte non può mai essere associato a credenziali da un'altra.

171 * **Routing associato a credenziale**: una fonte che associa variabili di routing a una chiave di credenziale solo per la fonte selezionata, come `apiKeyHelper` o `otelHeadersHelper`, contribuisce a quelle variabili di routing solo quando vince lo slot.171 * **Routing associato a credenziale**: una fonte che associa variabili di routing a una chiave di credenziale solo per la fonte selezionata, come `apiKeyHelper` o `otelHeadersHelper`, contribuisce a quelle variabili di routing solo quando vince lo slot.

172* **Chiavi di accesso al gateway**: Claude Code non legge mai [`forceLoginGatewayUrl`](/docs/it/settings-reference#forcelogingatewayurl) o il valore `"gateway"` di [`forceLoginMethod`](/docs/it/settings-reference#forceloginmethod) dalle impostazioni gestite dal server, quindi selezionare le impostazioni gestite dal server non fornisce un accesso al gateway né nasconde uno impostato in una politica MDM o file di impostazioni gestite. La voce [`managedSourcesBehavior`](/docs/it/settings-reference#managedsourcesbehavior) dice quale fonte amministrativa sulla macchina le fornisce.

172 173 

173<h3 id="fetch-and-caching-behavior">174<h3 id="fetch-and-caching-behavior">

174 Comportamento di recupero e caching175 Comportamento di recupero e caching


286 Claude Code non salva alcuna approvazione per un gateway di sviluppo loopback raggiunto su HTTP semplice, quindi la finestra di dialogo appare di nuovo dopo ogni accesso.287 Claude Code non salva alcuna approvazione per un gateway di sviluppo loopback raggiunto su HTTP semplice, quindi la finestra di dialogo appare di nuovo dopo ogni accesso.

287* **Qualsiasi altra credenziale**, come una chiave API o `CLAUDE_CODE_OAUTH_TOKEN`: un'approvazione per le impostazioni consegnate, mantenuta con la copia memorizzata nella cache delle impostazioni in quella directory di configurazione. Claude Code mostra la finestra di dialogo di nuovo quando le impostazioni che richiedono approvazione cambiano, e dopo che eseguite `/logout` o `claude auth logout`, uno dei quali elimina la copia memorizzata nella cache.288* **Qualsiasi altra credenziale**, come una chiave API o `CLAUDE_CODE_OAUTH_TOKEN`: un'approvazione per le impostazioni consegnate, mantenuta con la copia memorizzata nella cache delle impostazioni in quella directory di configurazione. Claude Code mostra la finestra di dialogo di nuovo quando le impostazioni che richiedono approvazione cambiano, e dopo che eseguite `/logout` o `claude auth logout`, uno dei quali elimina la copia memorizzata nella cache.

288 289 

290Un'approvazione per `sandbox.credentials` o `sandbox.network.tlsTerminate` copre anche le voci [`sandbox.network.allowedDomains`](/docs/it/settings-reference#sandbox-network-alloweddomains) nelle stesse impostazioni consegnate, perché entrambe le impostazioni agiscono su quella lista di autorizzazione. La finestra di dialogo appare di nuovo quando l'amministratore aggiunge o rimuove una di quelle voci, anche se `sandbox.network.allowedDomains` non richiede approvazione da sola.

291 

289Con un accesso claude.ai salvato:292Con un accesso claude.ai salvato:

290 293 

291* Se vi disconnettete e vi riconnettete, o passate a un'altra organizzazione e successivamente tornate, Claude Code non mostra la finestra di dialogo di nuovo mentre quelle impostazioni rimangono invariate, a meno che un altro account non le abbia approvate per quell'organizzazione nella stessa directory di configurazione nel frattempo.294* Se vi disconnettete e vi riconnettete, o passate a un'altra organizzazione e successivamente tornate, Claude Code non mostra la finestra di dialogo di nuovo mentre quelle impostazioni rimangono invariate, a meno che un altro account non le abbia approvate per quell'organizzazione nella stessa directory di configurazione nel frattempo.

Details

830 `advisorModel`830 `advisorModel`

831</h3>831</h3>

832 832 

833Scegliere quale modello risponde quando Claude chiama lo [strumento advisor](/docs/it/advisor) lato server. Lasciarlo non impostato per disattivare l'advisor. L'advisor deve essere almeno altrettanto capace del modello principale; quando non lo è, Claude Code invia richieste senza l'advisor. Vedere [Scegliere un modello advisor](/docs/it/advisor#choose-an-advisor-model).833Scegliere quale modello risponde quando Claude chiama lo [strumento advisor](/docs/it/advisor) lato server. Lasciarlo non impostato per disattivare l'advisor. L'advisor deve essere almeno altrettanto capace del modello principale. Vedere [Scegliere un modello advisor](/docs/it/advisor#choose-an-advisor-model) per gli accoppiamenti accettati e cosa accade quando se ne sceglie uno che non è accettato.

834 834 

835Di solito non si modifica questa chiave manualmente. Eseguire `/advisor` per aprire un selettore che mostra la scelta corrente, i modelli che possono fornire consulenza e **No advisor**. Claude Code salva la scelta in questa chiave in `~/.claude/settings.json`. Se si sceglie da un client [Remote Control](/docs/it/remote-control) o in una sessione collegata a un worker remoto, la scelta si applica solo a quella sessione e non modifica questa chiave.835Di solito non si modifica questa chiave manualmente. Eseguire `/advisor` per aprire un selettore che mostra la scelta corrente, i modelli che possono fornire consulenza e **No advisor**. Claude Code salva la scelta in questa chiave in `~/.claude/settings.json`. Se si sceglie da un client [Remote Control](/docs/it/remote-control) o in una sessione collegata a un worker remoto, la scelta si applica solo a quella sessione e non modifica questa chiave.

836 836 


3308 `footerLinksRegexes`3308 `footerLinksRegexes`

3309</h3>3309</h3>

3310 3310 

3311Renderizza badge cliccabili extra nel footer sotto la casella di input quando una regex corrisponde all'output del turno: risultati degli strumenti, inclusi contenuti di file e pagine recuperate, e risposte di Claude. Usalo per trasformare gli ID stampati dai CLI del progetto, come strumenti di revisione e tracker di problemi, in link di sessione. Richiede Claude Code v2.1.176 o successivo.3311Renderizza badge cliccabili extra nel footer sotto la casella di input quando una regex corrisponde all'output del turno: risultati degli strumenti, inclusi contenuti di file e pagine recuperate, e risposte di Claude. Usalo per trasformare gli ID stampati dai CLI del progetto, come strumenti di revisione e tracker di problemi, in link di sessione.

3312 3312 

3313* **Scope**: [`User or managed`](#scopes)3313* **Scope**: [`User or managed`](#scopes)

3314* **Type**: array di oggetti, ognuno con `type` impostato su `"regex"`, una regex `pattern`, un template `url`, e un `label` opzionale; i placeholder `{name}` in `url` e `label` vengono riempiti dai gruppi di cattura denominati in `pattern`3314* **Type**: array di oggetti, ognuno con `type` impostato su `"regex"`, una regex `pattern`, un template `url`, e un `label` opzionale; i placeholder `{name}` in `url` e `label` vengono riempiti dai gruppi di cattura denominati in `pattern`


3329}3329}

3330```3330```

3331 3331 

3332Con questo configurato, quando `PROJ-1234` appare in un risultato dello strumento o nella risposta di Claude, un badge `PROJ-1234` appare nel footer collegato a `https://issues.example.com/browse/PROJ-1234`. Richiede Claude Code v2.1.176 o successivo.3332Con questo configurato, quando `PROJ-1234` appare in un risultato dello strumento o nella risposta di Claude, un badge `PROJ-1234` appare nel footer collegato a `https://issues.example.com/browse/PROJ-1234`.

3333 3333 

3334<h4 id="badge-constraints">3334<h4 id="badge-constraints">

3335 Vincoli dei badge3335 Vincoli dei badge


3916 `wheelScrollAccelerationEnabled`3916 `wheelScrollAccelerationEnabled`

3917</h3>3917</h3>

3918 3918 

3919Accelera la velocità di scorrimento della rotella del mouse durante scorrimenti veloci nel [rendering a schermo intero](/docs/it/fullscreen#mouse-wheel-scrolling). Impostalo su `false` per una velocità di scorrimento costante per tacca della rotella. Richiede Claude Code v2.1.174 o successivo.3919Accelera la velocità di scorrimento della rotella del mouse durante scorrimenti veloci nel [rendering a schermo intero](/docs/it/fullscreen#mouse-wheel-scrolling). Impostalo su `false` per una velocità di scorrimento costante per tacca della rotella.

3920 3920 

3921* **Scope**: [`Any file`](#scopes)3921* **Scope**: [`Any file`](#scopes)

3922* **Type**: Boolean3922* **Type**: Boolean


3930}3930}

3931```3931```

3932 3932 

3933Richiede Claude Code v2.1.174 o successivo.

3934 

3935<h2 id="git-and-attribution">3933<h2 id="git-and-attribution">

3936 Git e attribuzione3934 Git e attribuzione

3937</h2>3935</h2>


6156Sotto `"merge"`, Claude Code combina ogni chiave per il suo tipo. Questa tabella fornisce la regola per ogni tipo. Le righe della lista di restrizioni, valori-presi-interi e solo-fonte-più-alta nominano ogni chiave che coprono, e le altre righe forniscono esempi:6154Sotto `"merge"`, Claude Code combina ogni chiave per il suo tipo. Questa tabella fornisce la regola per ogni tipo. Le righe della lista di restrizioni, valori-presi-interi e solo-fonte-più-alta nominano ogni chiave che coprono, e le altre righe forniscono esempi:

6157 6155 

6158| Tipo di chiave | Come Claude Code la combina | Chiavi |6156| Tipo di chiave | Come Claude Code la combina | Chiavi |

6159| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |6157| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

6160| Liste | Combina voci da ogni fonte | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) e altre chiavi di lista |6158| Liste | Combina voci da ogni fonte | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) e altre chiavi di lista |

6161| Blocchi | Applica il valore più rigoroso che qualsiasi fonte imposta. Quando nessuna fonte imposta un valore rigoroso, applica un valore più lasco solo dalla fonte con la priorità più alta | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) e altri blocchi booleani o enum |6159| Blocchi | Applica il valore più rigoroso che qualsiasi fonte imposta. Quando nessuna fonte imposta un valore rigoroso, applica un valore più lasco solo dalla fonte con la priorità più alta | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) e altri blocchi booleani o enum |

6162| Liste di restrizioni | Prende la lista intera dalla fonte con la priorità più alta che la imposta, senza aggiungere voci da fonti inferiori. Quando la fonte con la priorità più alta non ne imposta una, la prende intera dalla fonte successiva | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) e la catena [`fallbackModel`](#fallbackmodel) |6160| Liste di restrizioni | Prende la lista intera dalla fonte con la priorità più alta che la imposta, senza aggiungere voci da fonti inferiori. Quando la fonte con la priorità più alta non ne imposta una, la prende intera dalla fonte successiva | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) e la catena [`fallbackModel`](#fallbackmodel) |

6163| Valori presi interi | Prende il valore intero dalla fonte con la priorità più alta che lo imposta, senza combinare voci o campi da fonti inferiori. Quando la fonte con la priorità più alta non lo imposta, lo prende intero dalla fonte successiva | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |6161| Valori presi interi | Prende il valore intero dalla fonte con la priorità più alta che lo imposta, senza combinare voci o campi da fonti inferiori. Quando la fonte con la priorità più alta non lo imposta, lo prende intero dalla fonte successiva | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |

6164| Server MCP forniti | Combina i nomi dei server da ogni fonte. Quando due fonti impostano lo stesso nome, applica la voce intera della fonte più alta | [`managedMcpServers`](#managedmcpservers) |6162| Server MCP forniti | Combina i nomi dei server da ogni fonte. Quando due fonti impostano lo stesso nome, applica la voce intera della fonte più alta | [`managedMcpServers`](#managedmcpservers) |

6165| Leggi solo dalla fonte con la priorità più alta | Legge la chiave solo dalla fonte con la priorità più alta che contiene una chiave di politica, quindi il valore di una fonte inferiore viene ignorato anche quando la fonte con la priorità più alta non ne imposta nessuno | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`forceLoginOrgUUID`](#forceloginorguuid), [`forceLoginMethod`](#forceloginmethod), [`forceLoginGatewayUrl`](#forcelogingatewayurl), [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |6163| Leggi solo dalla fonte con la priorità più alta | Legge la chiave solo dalla fonte con la priorità più alta che contiene una chiave di politica, quindi il valore di una fonte inferiore viene ignorato anche quando la fonte con la priorità più alta non ne imposta nessuno | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`forceLoginOrgUUID`](#forceloginorguuid), i valori `"claudeai"` e `"console"` di [`forceLoginMethod`](#forceloginmethod), [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |

6166| `env` | [Unisce per variabile tra fonti amministrative](/docs/it/managed-settings#keys-read-from-every-admin-source), sia sotto `"first-wins"` che `"merge"` | [`env`](#env) |6164| `env` | [Unisce per variabile tra fonti amministrative](/docs/it/managed-settings#keys-read-from-every-admin-source), sia sotto `"first-wins"` che `"merge"` | [`env`](#env) |

6167| Ogni altra chiave | Prende il valore dalla fonte con la priorità più alta che lo imposta | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |6165| Ogni altra chiave | Prende il valore dalla fonte con la priorità più alta che lo imposta | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |

6168 6166 

6169Prendere `sandbox.credentials.awsPairs` e `sandbox.ripgrep` interi richiede Claude Code v2.1.257 o successivo.6167Prendere `sandbox.credentials.awsPairs` e `sandbox.ripgrep` interi richiede Claude Code v2.1.257 o successivo.

6170 6168 

6171Tre di queste chiavi aggiungono una condizione propria:6169Poche chiavi aggiungono una condizione che la tabella non mostra:

6172 6170 

6173* **[`policyHelper`](#policyhelper)**: Claude Code lo onora solo quando la fonte con la priorità più alta che contiene una chiave di politica è una politica MDM o un file di impostazioni gestite, quindi sotto le impostazioni gestite dal server non si applica.6171* **[`policyHelper`](#policyhelper)**: Claude Code lo onora solo quando la fonte con la priorità più alta che contiene una chiave di politica è una politica MDM o un file di impostazioni gestite, quindi sotto le impostazioni gestite dal server non si applica.

6174* **[`modelOverrides`](#modeloverrides)**: si accoppia con `availableModels`. Claude Code prende `modelOverrides` dalla fonte con la priorità più alta che lo imposta, a meno che una fonte più alta non imposti `availableModels` senza `modelOverrides`. In quel caso ignora `modelOverrides` da ogni fonte.6172* **[`modelOverrides`](#modeloverrides)**: si accoppia con `availableModels`. Claude Code prende `modelOverrides` dalla fonte con la priorità più alta che lo imposta, a meno che una fonte più alta non imposti `availableModels` senza `modelOverrides`. In quel caso ignora `modelOverrides` da ogni fonte.

6175* **[`forceLoginGatewayUrl`](#forcelogingatewayurl) e il valore `"gateway"` di [`forceLoginMethod`](#forceloginmethod)**: Claude Code li legge solo dalle fonti gestite sulla macchina stessa e li ignora nelle impostazioni gestite dal server. I valori della macchina si applicano anche quando le impostazioni gestite dal server sono presenti.6173* **[`forceLoginGatewayUrl`](#forcelogingatewayurl) e il valore `"gateway"` di [`forceLoginMethod`](#forceloginmethod)**: Claude Code non legge mai nessuno dei due dalle impostazioni gestite dal server, quindi un valore lì non si applica né nasconde uno impostato in una politica MDM o file di impostazioni gestite. Tra le fonti amministrative sulla macchina, solo la fonte con la priorità più alta che contiene una chiave di politica li fornisce, indipendentemente dal fatto che le impostazioni gestite dal server siano presenti o meno.

6176 6174 

6177Per confermare quali fonti si sono combinate su una macchina, esegui `/status` e [leggi la riga `Setting sources`](/docs/it/managed-settings#read-the-source-in-/status).6175Per confermare quali fonti si sono combinate su una macchina, esegui `/status` e [leggi la riga `Setting sources`](/docs/it/managed-settings#read-the-source-in-/status).

6178 6176 

Details

27Nella maggior parte dei terminali è anche possibile premere Maiusc+Invio, ma il supporto varia a seconda dell'emulatore di terminale:27Nella maggior parte dei terminali è anche possibile premere Maiusc+Invio, ma il supporto varia a seconda dell'emulatore di terminale:

28 28 

29| Terminale | Maiusc+Invio per nuova riga |29| Terminale | Maiusc+Invio per nuova riga |

30| :---------------------------------------------------------------------- | :-------------------------------------------------------- |30| :------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------- |

31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funziona senza configurazione |31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funziona senza configurazione |

32| VS Code, Cursor, Devin Desktop, Alacritty, Zed | Eseguire `/terminal-setup` una volta |32| Altri terminali che supportano il protocollo della tastiera kitty, come foot e Alacritty 0.16 o versioni successive | Funziona senza configurazione. Richiede Claude Code v2.1.269 o versioni successive |

33| VS Code, Cursor, Devin Desktop, Alacritty prima della versione 0.16, Zed | Eseguire `/terminal-setup` una volta |

33| gnome-terminal, JetBrains IDEs come PyCharm e Android Studio | Non disponibile; utilizzare Ctrl+J o `\` seguito da Invio |34| gnome-terminal, JetBrains IDEs come PyCharm e Android Studio | Non disponibile; utilizzare Ctrl+J o `\` seguito da Invio |

34 35 

35Per VS Code, Cursor, Devin Desktop, Alacritty e Zed, `/terminal-setup` scrive una scorciatoia da tastiera Maiusc+Invio nel file di configurazione del terminale. Alla prima esecuzione viene visualizzato un messaggio di conferma come `Installed VSCode terminal Shift+Enter key binding`. Le associazioni esistenti rimangono in posizione; se viene visualizzato un messaggio come `VSCode terminal Shift+Enter key binding already configured`, non è stata apportata alcuna modifica. Eseguire `/terminal-setup` direttamente nel terminale host piuttosto che all'interno di tmux o screen, poiché deve scrivere nella configurazione del terminale host.36Per VS Code, Cursor, Devin Desktop, Alacritty prima della versione 0.16 e Zed, `/terminal-setup` scrive una scorciatoia da tastiera Maiusc+Invio nel file di configurazione del terminale. Alla prima esecuzione viene visualizzato un messaggio di conferma come `Installed VSCode terminal Shift+Enter key binding`. Le associazioni esistenti rimangono in posizione; se viene visualizzato un messaggio come `VSCode terminal Shift+Enter key binding already configured`, non è stata apportata alcuna modifica. Eseguire `/terminal-setup` direttamente nel terminale host piuttosto che all'interno di tmux o screen, poiché deve scrivere nella configurazione del terminale host.

36 37 

37In VS Code, Cursor e Devin Desktop, `/terminal-setup` aggiorna anche due impostazioni dell'editor: imposta `terminal.integrated.gpuAcceleration` su `"off"` per evitare testo distorto nel terminale integrato, e imposta `terminal.integrated.mouseWheelScrollSensitivity` per uno scorrimento più fluido in [modalità a schermo intero](/docs/it/fullscreen). Per annullare la modifica dell'accelerazione GPU, impostarla di nuovo su `"auto"` e ricaricare la finestra dell'editor.38In VS Code, Cursor e Devin Desktop, `/terminal-setup` aggiorna anche due impostazioni dell'editor: imposta `terminal.integrated.gpuAcceleration` su `"off"` per evitare testo distorto nel terminale integrato, e imposta `terminal.integrated.mouseWheelScrollSensitivity` per uno scorrimento più fluido in [modalità a schermo intero](/docs/it/fullscreen). Per annullare la modifica dell'accelerazione GPU, impostarla di nuovo su `"auto"` e ricaricare la finestra dell'editor.

38 39 

Details

417 417 

418Il comando `curl ... | bash` scarica lo script e lo invia a Bash per l'esecuzione. Questo errore, e l'errore correlato `curl: (23) Failure writing output to destination`, significa che Bash non ha ricevuto lo script completo. Il codice di uscita 56 indica che il download stesso è stato interrotto, e il codice di uscita 23 indica che curl non ha potuto scrivere quello che ha ricevuto al pipe, di solito perché Bash è uscito anticipatamente.418Il comando `curl ... | bash` scarica lo script e lo invia a Bash per l'esecuzione. Questo errore, e l'errore correlato `curl: (23) Failure writing output to destination`, significa che Bash non ha ricevuto lo script completo. Il codice di uscita 56 indica che il download stesso è stato interrotto, e il codice di uscita 23 indica che curl non ha potuto scrivere quello che ha ricevuto al pipe, di solito perché Bash è uscito anticipatamente.

419 419 

420**Soluzioni:**420Testa che puoi raggiungere `downloads.claude.ai` con il controllo in [Controlla la connettività di rete](#check-network-connectivity). Se hai raggiunto il server, il fallimento originale era probabilmente intermittente; riprova il comando di installazione. Puoi anche [provare un metodo di installazione alternativo](/docs/it/setup#install-claude-code).

421 

4221. **Controlla la stabilità della rete**: i binari di Claude Code sono ospitati in `downloads.claude.ai`. Testa che puoi raggiungerlo:

423 

424 ```bash theme={null}

425 curl -sI https://downloads.claude.ai/claude-code-releases/latest

426 ```

427 

428 Una riga `HTTP/2 200` significa che hai raggiunto il server e il fallimento originale era probabilmente intermittente; riprova il comando di installazione. Altri risultati puntano alla causa:

429 

430 * `403`: di solito un proxy o un filtro di rete che blocca l'host, o Claude Code non è [disponibile nella tua regione](https://www.anthropic.com/supported-countries)

431 * `5xx`: di solito un problema temporaneo del servizio; aspetta alcuni minuti e riprova

432 * `Could not resolve host` o un timeout di connessione: la tua rete sta bloccando il download

433 

4342. **Prova un metodo di installazione alternativo**:

435 

436 Su macOS:

437 

438 ```bash theme={null}

439 brew install --cask claude-code

440 ```

441 

442 Su Windows:

443 

444 ```powershell theme={null}

445 winget install Anthropic.ClaudeCode

446 ```

447 

448 Quindi esegui `claude --version` per confermare: il comando stampa un numero di versione come `2.1.211 (Claude Code)`. Se la shell segnala che `claude` non è trovato, apri una nuova finestra di terminale e riprova: la sessione da cui hai installato mantiene il vecchio `PATH`.

449 421 

450<h3 id="homebrew-cask-unavailable-or-outdated">422<h3 id="homebrew-cask-unavailable-or-outdated">

451 Cask Homebrew non disponibile o obsoleto423 Cask Homebrew non disponibile o obsoleto

vs-code.md +18 −11

Details

58 58 

59 * **Activity Bar**: fai clic sull'icona Spark nella barra laterale sinistra per aprire l'elenco delle sessioni. Fai clic su qualsiasi sessione per aprirla nella tua [posizione preferita](#extension-settings), o avvia una nuova. Questa icona è sempre visibile nella Activity Bar.59 * **Activity Bar**: fai clic sull'icona Spark nella barra laterale sinistra per aprire l'elenco delle sessioni. Fai clic su qualsiasi sessione per aprirla nella tua [posizione preferita](#extension-settings), o avvia una nuova. Questa icona è sempre visibile nella Activity Bar.

60 * **Command Palette**: `Cmd+Shift+P` (Mac) o `Ctrl+Shift+P` (Windows/Linux), digita "Claude Code" e seleziona un'opzione come "Open in New Tab"60 * **Command Palette**: `Cmd+Shift+P` (Mac) o `Ctrl+Shift+P` (Windows/Linux), digita "Claude Code" e seleziona un'opzione come "Open in New Tab"

61 * **Status Bar**: se hai impostato [`preferredLocation`](#extension-settings) su `sidebar`, o hai aperto Claude con **Claude Code: Open in Side Bar**, fai clic su **✱ Claude Code** nell'angolo in basso a destra della finestra. Questo funziona anche quando nessun file è aperto.61 * **Status Bar**: se hai impostato [`preferredLocation`](#extension-settings) su `sidebar`, o hai aperto Claude con **Claude Code: Open in Side Bar**, fai clic su **✻ Claude Code** nell'angolo in basso a destra della finestra. Questo funziona anche quando nessun file è aperto.

62 62 

63 Puoi trascinare il pannello Claude per riposizionarlo ovunque in VS Code. Vedi [Personalizza il tuo flusso di lavoro](#customize-your-workflow) per i dettagli.63 Puoi trascinare il pannello Claude per riposizionarlo ovunque in VS Code. Vedi [Personalizza il tuo flusso di lavoro](#customize-your-workflow) per i dettagli.

64 </Step>64 </Step>


116 * Seleziona **Output styles** nella sezione Customize per scegliere uno [stile di output](/docs/it/output-styles), inclusi i tuoi stili personalizzati. Richiede Claude Code v2.1.257 o successivo.116 * Seleziona **Output styles** nella sezione Customize per scegliere uno [stile di output](/docs/it/output-styles), inclusi i tuoi stili personalizzati. Richiede Claude Code v2.1.257 o successivo.

117 117 

118 Per creare uno stile personalizzato, seleziona **Build a custom style** dal menu **Output styles**. Claude Code scrive il [file di stile](/docs/it/output-styles#create-a-custom-output-style) per te a livello di progetto o utente. Richiede Claude Code v2.1.261 o successivo.118 Per creare uno stile personalizzato, seleziona **Build a custom style** dal menu **Output styles**. Claude Code scrive il [file di stile](/docs/it/output-styles#create-a-custom-output-style) per te a livello di progetto o utente. Richiede Claude Code v2.1.261 o successivo.

119 * Seleziona **Hooks** nella sezione Customize per visualizzare gli [hooks](/docs/it/hooks) caricati nella sessione, raggruppati per evento. Puoi aggiungere, modificare o rimuovere gli hooks salvati nei tuoi file di impostazioni utente, progetto e locale. Gli hooks da altre fonti, come impostazioni gestite o plugin, sono di sola lettura. Richiede Claude Code v2.1.269 o successivo.

120 * Seleziona **Permissions** nella sezione Customize per visualizzare le [regole di autorizzazione](/docs/it/permissions) della sessione, raggruppate in Allow, Ask e Deny. Puoi aggiungere regole ai tuoi file di impostazioni utente, progetto o locale e rimuovere le regole salvate lì. Le regole da altre fonti, come impostazioni gestite o approvazioni effettuate solo per questa sessione, sono di sola lettura. Richiede Claude Code v2.1.269 o successivo.

119 * La sezione Settings include **Enable Remote Control for all sessions**, che imposta [`remoteControlAtStartup`](/docs/it/settings-reference#remotecontrolatstartup) per controllare se [le nuove sessioni interattive si connettono a Remote Control automaticamente](/docs/it/remote-control#enable-remote-control-for-all-sessions). Richiede Claude Code v2.1.203 o successivo.121 * La sezione Settings include **Enable Remote Control for all sessions**, che imposta [`remoteControlAtStartup`](/docs/it/settings-reference#remotecontrolatstartup) per controllare se [le nuove sessioni interattive si connettono a Remote Control automaticamente](/docs/it/remote-control#enable-remote-control-for-all-sessions). Richiede Claude Code v2.1.203 o successivo.

120 122 

121 Quando attivi o disattivi l'interruttore in una finestra di VS Code, la modifica si applica alle sessioni già aperte in quella finestra di VS Code, non solo alle sessioni che avvii successivamente. Se lo disattivi, le sessioni aperte si disconnettono. Con Claude Code v2.1.261 o successivo, la modifica raggiunge anche le sessioni aperte nelle altre finestre di VS Code.123 Quando attivi o disattivi l'interruttore in una finestra di VS Code, la modifica si applica alle sessioni già aperte in quella finestra di VS Code, non solo alle sessioni che avvii successivamente. Se lo disattivi, le sessioni aperte si disconnettono. Con Claude Code v2.1.261 o successivo, la modifica raggiunge anche le sessioni aperte nelle altre finestre di VS Code.

122 * La sezione Settings include anche **Focus view**, che nasconde le chiamate di strumenti, i risultati degli strumenti e il pensiero dietro righe espandibili, lasciando i tuoi prompt e le risposte di Claude. L'elenco di cose da fare più recente di Claude rimane visibile, così come il testo di una domanda in sospeso da Claude; questo richiede Claude Code v2.1.225 o successivo. Attivalo lì, con `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux), o dalla Tavolozza dei comandi con **Claude Code: Toggle Focus view**. La modifica si applica a ogni sessione aperta e persiste tra le sessioni. Richiede Claude Code v2.1.221 o successivo.124 * La sezione Settings include anche **Focus view**, che nasconde le chiamate di strumenti, i risultati degli strumenti e il pensiero dietro righe espandibili, lasciando i tuoi prompt e le risposte di Claude. Attivalo lì, con `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux), o dalla Tavolozza dei comandi con **Claude Code: Toggle Focus view**. La modifica si applica a ogni sessione aperta e persiste tra le sessioni. Richiede Claude Code v2.1.221 o successivo.

125 

126 L'elenco di cose da fare più recente di Claude rimane visibile, così come il testo di una domanda in sospeso da Claude; questo richiede Claude Code v2.1.225 o successivo. Mentre Claude esegue [subagenti](/docs/it/sub-agents), le righe di progresso in tempo reale con la loro attività più recente appaiono sotto il gruppo di chiamate di strumenti che le ha avviate. Questo richiede Claude Code v2.1.269 o successivo.

123 * Per segnalare un bug, fai clic su **Report a problem** nella parte inferiore del menu, o digita `/bug` o `/feedback` con una descrizione facoltativa che precompila il rapporto. Quando invii il rapporto e sei connesso ad Anthropic su una connessione di prima parte, Claude Code lo invia ad Anthropic. Su un provider di terze parti, o senza credenziali Anthropic, la finestra di dialogo si apre comunque, ma l'invio mostra un errore e non invia nulla: a differenza di `/bug` della CLI, l'estensione non scrive un archivio locale. Richiede Claude Code v2.1.229 o successivo.127 * Per segnalare un bug, fai clic su **Report a problem** nella parte inferiore del menu, o digita `/bug` o `/feedback` con una descrizione facoltativa che precompila il rapporto. Quando invii il rapporto e sei connesso ad Anthropic su una connessione di prima parte, Claude Code lo invia ad Anthropic. Su un provider di terze parti, o senza credenziali Anthropic, la finestra di dialogo si apre comunque, ma l'invio mostra un errore e non invia nulla: a differenza di `/bug` della CLI, l'estensione non scrive un archivio locale. Richiede Claude Code v2.1.229 o successivo.

124* **Side questions**: digita `/btw` seguito da una domanda per chiedere informazioni sulla tua sessione [senza aggiungere alla conversazione](/docs/it/interactive-mode#side-questions-with-%2Fbtw). La risposta si apre in un pannello accanto alla chat, dove puoi fare domande di follow-up. Il thread sopravvive ai ricaricamenti della finestra. Claude Code mantiene i 20 scambi più recenti e scade i thread archiviati secondo la pianificazione [`cleanupPeriodDays`](/docs/it/settings-reference#cleanupperioddays), purché Claude Code possa [determinare in sicurezza il periodo di conservazione](/docs/it/claude-directory#cleaned-up-automatically). Per cancellare un thread, fai clic sull'icona del cestino nel pannello. Richiede Claude Code v2.1.227 o successivo.128* **Side questions**: digita `/btw` seguito da una domanda per chiedere informazioni sulla tua sessione [senza aggiungere alla conversazione](/docs/it/interactive-mode#side-questions-with-%2Fbtw). La risposta si apre in un pannello accanto alla chat, dove puoi fare domande di follow-up. Il thread sopravvive ai ricaricamenti della finestra. Claude Code mantiene i 20 scambi più recenti e scade i thread archiviati secondo la pianificazione [`cleanupPeriodDays`](/docs/it/settings-reference#cleanupperioddays), purché Claude Code possa [determinare in sicurezza il periodo di conservazione](/docs/it/claude-directory#cleaned-up-automatically). Per cancellare un thread, fai clic sull'icona del cestino nel pannello. Richiede Claude Code v2.1.227 o successivo.

125* **Context indicator**: la casella di prompt mostra quanto della finestra di contesto di Claude stai utilizzando. Claude compatta automaticamente quando necessario, oppure puoi eseguire `/compact` manualmente.129* **Context indicator**: la casella di prompt mostra quanto della finestra di contesto di Claude stai utilizzando. Claude compatta automaticamente quando necessario, oppure puoi eseguire `/compact` manualmente.

130* **Agent map**: quando la conversazione include [subagenti](/docs/it/sub-agents), un conteggio di agenti come **2 agents** appare nella parte inferiore della casella di prompt. Il suo punto mostra se un subagente sta lavorando o in attesa della tua autorizzazione.

131 

132 Fai clic sul conteggio degli agenti per aprire la mappa degli agenti, che disegna i subagenti della conversazione come un albero sotto l'agente principale, ognuno con il suo stato, tempo trascorso e conteggio dei token. Fai clic su un subagente per vedere il suo prompt e le chiamate di strumenti, aprire la sua trascrizione di sola lettura, o fermarlo mentre è in esecuzione. Richiede Claude Code v2.1.269 o successivo.

126* **Extended thinking**: consente a Claude di dedicare più tempo al ragionamento su problemi complessi. Attivalo tramite il menu dei comandi (`/`). Il ragionamento di Claude appare nella conversazione come blocchi compressi: fai clic su un blocco per leggerlo, o premi `Ctrl+O` per espandere o comprimere ogni blocco di pensiero nella sessione. Consulta [Extended thinking](/docs/it/model-config#extended-thinking) per i dettagli.133* **Extended thinking**: consente a Claude di dedicare più tempo al ragionamento su problemi complessi. Attivalo tramite il menu dei comandi (`/`). Il ragionamento di Claude appare nella conversazione come blocchi compressi: fai clic su un blocco per leggerlo, o premi `Ctrl+O` per espandere o comprimere ogni blocco di pensiero nella sessione. Consulta [Extended thinking](/docs/it/model-config#extended-thinking) per i dettagli.

127* **Multi-line input**: premi `Shift+Enter` per aggiungere una nuova riga senza inviare. Questo funziona anche nell'input di testo libero "Other" delle finestre di dialogo delle domande.134* **Multi-line input**: premi `Shift+Enter` per aggiungere una nuova riga senza inviare. Questo funziona anche nell'input di testo libero "Other" delle finestre di dialogo delle domande.

128 135 


139 146 

140Per i PDF di grandi dimensioni, puoi chiedere a Claude di leggere pagine specifiche invece dell'intero file: una singola pagina, un intervallo come pagine 1-10, o un intervallo aperto come pagina 3 in poi.147Per i PDF di grandi dimensioni, puoi chiedere a Claude di leggere pagine specifiche invece dell'intero file: una singola pagina, un intervallo come pagine 1-10, o un intervallo aperto come pagina 3 in poi.

141 148 

142Quando selezioni il testo nell'editor, Claude può vedere il tuo codice evidenziato automaticamente. Il piè di pagina della casella di prompt mostra quante righe sono selezionate. Premi `Option+K` (Mac) / `Alt+K` (Windows/Linux) per inserire una menzione @-mention con il percorso del file e i numeri di riga (ad es. `@app.ts#5-10`). Fai clic sull'indicatore di selezione per attivare/disattivare se Claude può vedere il testo evidenziato - l'icona occhio-barra significa che la selezione è nascosta a Claude.149Quando selezioni il testo nell'editor, Claude può vedere il tuo codice evidenziato automaticamente. Il piè di pagina della casella di prompt mostra quante righe sono selezionate. Premi `Option+K` (Mac) / `Alt+K` (Windows/Linux) per inserire una menzione @-mention con il percorso del file e i numeri di riga (ad es. `@app.ts#5-10`). Fai clic sulla **X** sull'indicatore di selezione per rimuoverlo in modo che Claude non riceva la selezione. L'indicatore riappare quando selezioni altro testo o passi a un file diverso.

143 150 

144Per allegare un'immagine, incollala dagli appunti nella casella di prompt. Puoi anche tenere premuto `Shift` mentre trascini i file nella casella di prompt per aggiungerli come allegati. Fai clic sulla X su qualsiasi allegato per rimuoverlo dal contesto.151Per allegare un'immagine, incollala dagli appunti nella casella di prompt. Puoi anche tenere premuto `Shift` mentre trascini i file nella casella di prompt per aggiungerli come allegati. Fai clic sulla X su qualsiasi allegato per rimuoverlo dal contesto.

145 152 


193 200 

194Esegui `/usage` per aprire la finestra di dialogo Account & usage. La finestra di dialogo richiede un accesso a claude.ai, quindi non è offerta su un [provider di terze parti](#use-third-party-providers). Mostra il tuo account connesso, il tuo piano e le barre di utilizzo per i limiti del tuo piano, come la sessione corrente e la settimana. Ogni barra mostra quanto tempo rimane prima che il suo limite si ripristini.201Esegui `/usage` per aprire la finestra di dialogo Account & usage. La finestra di dialogo richiede un accesso a claude.ai, quindi non è offerta su un [provider di terze parti](#use-third-party-providers). Mostra il tuo account connesso, il tuo piano e le barre di utilizzo per i limiti del tuo piano, come la sessione corrente e la settimana. Ogni barra mostra quanto tempo rimane prima che il suo limite si ripristini.

195 202 

196La finestra di dialogo suddivide anche ciò che contribuisce ai limiti del tuo piano. Contrassegna i comportamenti che rappresentano il 10% o più dell'utilizzo recente, come mancate cache, contesto lungo e sessioni pesanti di subagent o altamente parallele, ognuna con un suggerimento per ridurlo. Le tabelle di attribuzione mostrano quanto utilizzo è provenuto da ogni skill, subagent, plugin e server MCP. Richiede Claude Code v2.1.174 o successivo.203La finestra di dialogo suddivide anche ciò che contribuisce ai limiti del tuo piano. Contrassegna i comportamenti che rappresentano il 10% o più dell'utilizzo recente, come mancate cache, contesto lungo e sessioni pesanti di subagent o altamente parallele, ognuna con un suggerimento per ridurlo. Le tabelle di attribuzione mostrano quanto utilizzo è provenuto da ogni skill, subagent, plugin e server MCP.

197 204 

198Usa l'interruttore Day e Week per passare tra le ultime 24 ore e gli ultimi 7 giorni. Le cifre sono approssimative e calcolate dalle sessioni locali su questa macchina, quindi l'utilizzo da altri dispositivi o da claude.ai non è incluso. Per ulteriori informazioni sul tracciamento e la riduzione dell'utilizzo, consulta [Track your costs](/docs/it/costs#track-your-costs).205Usa l'interruttore Day e Week per passare tra le ultime 24 ore e gli ultimi 7 giorni. Le cifre sono approssimative e calcolate dalle sessioni locali su questa macchina, quindi l'utilizzo da altri dispositivi o da claude.ai non è incluso. Per ulteriori informazioni sul tracciamento e la riduzione dell'utilizzo, consulta [Track your costs](/docs/it/costs#track-your-costs).

199 206 


238 245 

239* **Raggruppa o separa una sessione**: fai clic con il pulsante destro del mouse su una sessione per creare un gruppo da essa, spostarla in un gruppo esistente o rimuoverla dal suo gruppo. Ogni sessione appartiene a un gruppo alla volta, quindi spostarla in un altro gruppo la rimuove dal primo.246* **Raggruppa o separa una sessione**: fai clic con il pulsante destro del mouse su una sessione per creare un gruppo da essa, spostarla in un gruppo esistente o rimuoverla dal suo gruppo. Ogni sessione appartiene a un gruppo alla volta, quindi spostarla in un altro gruppo la rimuove dal primo.

240* **Sposta più sessioni contemporaneamente**: `Cmd`-click (Mac) / `Ctrl`-click (Windows/Linux) su ogni sessione, o `Shift`-click per selezionare un intervallo, quindi fai clic con il pulsante destro del mouse sulla selezione.247* **Sposta più sessioni contemporaneamente**: `Cmd`-click (Mac) / `Ctrl`-click (Windows/Linux) su ogni sessione, o `Shift`-click per selezionare un intervallo, quindi fai clic con il pulsante destro del mouse sulla selezione.

241* **Raggruppa una sessione dalla sua scheda**: esegui **Claude Code: Add Session Tab to Group** dalla Command Palette, o fai clic con il pulsante destro del mouse sulla scheda dell'editor della sessione, quindi scegli o crea un gruppo. Richiede Claude Code v2.1.257 o successivo.248* **Raggruppa una sessione dalla sua scheda**: esegui **Claude Code: Add Session Tab to Group** dalla Command Palette, quindi scegli o crea un gruppo. Richiede Claude Code v2.1.257 o successivo.

242* **Rinomina o elimina un gruppo**: fai clic con il pulsante destro del mouse su un'intestazione di gruppo. L'eliminazione di un gruppo rimuove solo il gruppo e le sue sessioni tornano all'elenco non raggruppato.249* **Rinomina o elimina un gruppo**: fai clic con il pulsante destro del mouse su un'intestazione di gruppo. L'eliminazione di un gruppo rimuove solo il gruppo e le sue sessioni tornano all'elenco non raggruppato.

243 250 

244L'estensione salva i gruppi per cartella di workspace, quindi sopravvivono ai ricaricamenti della finestra e appaiono in ogni finestra in cui apri la stessa cartella. Quando cerchi nell'elenco, l'estensione mostra i risultati in un elenco piatto su tutti i gruppi.251L'estensione salva i gruppi per cartella di workspace, quindi sopravvivono ai ricaricamenti della finestra e appaiono in ogni finestra in cui apri la stessa cartella. Quando cerchi nell'elenco, l'estensione mostra i risultati in un elenco piatto su tutti i gruppi.


349</Note>356</Note>

350 357 

351| Comando | Scorciatoia | Descrizione |358| Comando | Scorciatoia | Descrizione |

352| -------------------------- | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |359| -------------------------- | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

353| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Alterna lo stato attivo tra editor e Claude |360| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Alterna lo stato attivo tra editor e Claude |

354| Open in Side Bar | - | Apri Claude nella barra laterale |361| Open in Side Bar | - | Apri Claude nella barra laterale |

355| Open in Terminal | - | Apri Claude in modalità terminale |362| Open in Terminal | - | Apri Claude in modalità terminale |


359| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | Riapri la scheda sessione Claude chiusa più di recente. Ricade al normale riapertura-editor-chiuso di VS Code quando l'ultima scheda chiusa non era una sessione Claude. Disabilita con `enableReopenClosedSessionShortcut` |366| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | Riapri la scheda sessione Claude chiusa più di recente. Ricade al normale riapertura-editor-chiuso di VS Code quando l'ultima scheda chiusa non era una sessione Claude. Disabilita con `enableReopenClosedSessionShortcut` |

360| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Inserisci un riferimento al file corrente e alla selezione (richiede che l'editor sia attivo) |367| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Inserisci un riferimento al file corrente e alla selezione (richiede che l'editor sia attivo) |

361| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Nascondi o mostra l'attività dello strumento nella conversazione. Funziona mentre un pannello Claude o la barra laterale è visibile. Richiede Claude Code v2.1.221 o successivo |368| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Nascondi o mostra l'attività dello strumento nella conversazione. Funziona mentre un pannello Claude o la barra laterale è visibile. Richiede Claude Code v2.1.221 o successivo |

362| Rename Session Tab | - | Rinomina la sessione nella scheda Claude attiva. Il comando appare anche nel menu di scelta rapida della scheda. Richiede Claude Code v2.1.257 o successivo |369| Rename Session Tab | - | Rinomina la sessione nella scheda Claude attiva. Richiede Claude Code v2.1.257 o successivo |

363| Add Session Tab to Group | - | Aggiungi la sessione nella scheda Claude attiva a un [gruppo di sessioni](#organize-sessions-into-groups) che scegli o crei. Il comando appare anche nel menu di scelta rapida della scheda. Richiede Claude Code v2.1.257 o successivo |370| Add Session Tab to Group | - | Aggiungi la sessione nella scheda Claude attiva a un [gruppo di sessioni](#organize-sessions-into-groups) che scegli o crei. Richiede Claude Code v2.1.257 o successivo |

364| Mark Session as Unread | - | Contrassegna la sessione nella scheda Claude attiva come non letta nell'elenco delle sessioni. Il comando appare anche nel menu di scelta rapida della scheda. Richiede Claude Code v2.1.257 o successivo |371| Mark Session as Unread | - | Contrassegna la sessione nella scheda Claude attiva come non letta nell'elenco delle sessioni. Richiede Claude Code v2.1.257 o successivo |

365| Show Logs | - | Visualizza i log di debug dell'estensione |372| Show Logs | - | Visualizza i log di debug dell'estensione |

366| Logout | - | Esci dal tuo account Anthropic |373| Logout | - | Esci dal tuo account Anthropic |

367 374 


424 431 

425L'estensione ha due tipi di impostazioni:432L'estensione ha due tipi di impostazioni:

426 433 

427* **Impostazioni dell'estensione** in VS Code: controllano il comportamento dell'estensione all'interno di VS Code. Aprire con `Cmd+,` (Mac) o `Ctrl+,` (Windows/Linux), quindi andare a Estensioni → Claude Code. È anche possibile digitare `/` e selezionare **General Config** per aprire le impostazioni.434* **Impostazioni dell'estensione** in VS Code: controllano il comportamento dell'estensione all'interno di VS Code. Aprire con `Cmd+,` (Mac) o `Ctrl+,` (Windows/Linux), quindi andare a Estensioni → Claude Code. È anche possibile digitare `/` e selezionare **General config…** per aprire le impostazioni.

428* **Impostazioni di Claude Code** in `~/.claude/settings.json`: condivise tra l'estensione e CLI. Utilizzarle per i comandi consentiti, le variabili di ambiente, gli hooks e i server MCP. Nei piani Pro, Max e Team, è anche uno degli input della modalità di autorizzazione con cui iniziano le conversazioni. [Switch permission modes](/docs/it/permission-modes#switch-permission-modes) elenca l'ordine. Vedere [Settings](/docs/it/settings) per i dettagli.435* **Impostazioni di Claude Code** in `~/.claude/settings.json`: condivise tra l'estensione e CLI. Utilizzarle per i comandi consentiti, le variabili di ambiente, gli hooks e i server MCP. Nei piani Pro, Max e Team, è anche uno degli input della modalità di autorizzazione con cui iniziano le conversazioni. [Switch permission modes](/docs/it/permission-modes#switch-permission-modes) elenca l'ordine. Vedere [Settings](/docs/it/settings) per i dettagli.

429 436 

430<Tip>437<Tip>


6594. **Disabilita le estensioni in conflitto**: Disabilita temporaneamente altre estensioni AI (Cline, Continue, ecc.)6664. **Disabilita le estensioni in conflitto**: Disabilita temporaneamente altre estensioni AI (Cline, Continue, ecc.)

6605. **Controlla la fiducia dell'area di lavoro**: L'estensione non funziona in Restricted Mode6675. **Controlla la fiducia dell'area di lavoro**: L'estensione non funziona in Restricted Mode

661 668 

662In alternativa, se hai impostato [`preferredLocation`](#extension-settings) su `sidebar`, o hai aperto Claude con **Claude Code: Open in Side Bar**, fai clic su "✱ Claude Code" nella **Status Bar** (angolo in basso a destra). Questo funziona anche senza un file aperto. Puoi anche usare la **Command Palette** (`Cmd+Shift+P` / `Ctrl+Shift+P`) e digitare "Claude Code".669In alternativa, se hai impostato [`preferredLocation`](#extension-settings) su `sidebar`, o hai aperto Claude con **Claude Code: Open in Side Bar**, fai clic su "✻ Claude Code" nella **Status Bar** (angolo in basso a destra). Questo funziona anche senza un file aperto. Puoi anche usare la **Command Palette** (`Cmd+Shift+P` / `Ctrl+Shift+P`) e digitare "Claude Code".

663 670 

664<h3 id="cmd-esc-does-nothing-on-macos">671<h3 id="cmd-esc-does-nothing-on-macos">

665 Cmd+Esc non fa nulla su macOS672 Cmd+Esc non fa nulla su macOS

Details

93 Connetti dal tuo terminale93 Connetti dal tuo terminale

94</h3>94</h3>

95 95 

96Se usi già la GitHub CLI (`gh`), puoi configurare Claude Code sul web senza aprire un browser. Questo richiede la [Claude Code CLI](/docs/it/quickstart). Nei piani Team ed Enterprise, `/web-setup` è disponibile solo dopo che un Owner attiva [Quick web setup](/docs/it/claude-code-on-the-web#github-authentication-options).96Se usi già la GitHub CLI (`gh`), puoi configurare Claude Code sul web dal tuo terminale. Questo richiede la [Claude Code CLI](/docs/it/quickstart). Nei piani Team ed Enterprise, `/web-setup` è disponibile solo dopo che un Owner attiva [Quick web setup](/docs/it/claude-code-on-the-web#github-authentication-options).

97 97 

98Quando esegui `/web-setup`, Claude Code legge il token che `gh auth token` stampa, ti chiede di confermare e invia il token ad Anthropic. Anthropic lo archivia crittografato con il tuo account claude.ai e le tue sessioni cloud lo utilizzano per l'accesso a GitHub fino a quando non lo [rimuovi](#remove-the-web-setup-token). Una sessione cloud può quindi accedere a qualsiasi repository a cui quel token può accedere, senza alcuna installazione dell'App Claude GitHub.98Quando esegui `/web-setup`, Claude Code legge il token che `gh auth token` stampa, ti chiede di confermare e invia il token ad Anthropic. Anthropic lo archivia crittografato con il tuo account claude.ai e le tue sessioni cloud lo utilizzano per l'accesso a GitHub fino a quando non lo [rimuovi](#remove-the-web-setup-token). Una sessione cloud può quindi accedere a qualsiasi repository a cui quel token può accedere, senza alcuna installazione dell'App Claude GitHub.

99 99 

worktrees.md +1 −1

Details

9Un [git worktree](https://git-scm.com/docs/git-worktree) è una directory di lavoro separata con i propri file e branch, che condivide la stessa cronologia del repository e il remote come il vostro checkout principale. Eseguire ogni sessione di Claude Code nel proprio worktree significa che le modifiche in una sessione non toccheranno mai i file in un'altra, quindi una sessione può costruire una funzionalità mentre una seconda corregge un bug.9Un [git worktree](https://git-scm.com/docs/git-worktree) è una directory di lavoro separata con i propri file e branch, che condivide la stessa cronologia del repository e il remote come il vostro checkout principale. Eseguire ogni sessione di Claude Code nel proprio worktree significa che le modifiche in una sessione non toccheranno mai i file in un'altra, quindi una sessione può costruire una funzionalità mentre una seconda corregge un bug.

10 10 

11<Note>11<Note>

12 I worktree richiedono un repository git; per altri sistemi di controllo versione, [configurate gli hook per sostituire la logica git](#non-git-version-control). Nell'[app desktop](/docs/it/desktop#work-in-parallel-with-sessions), ogni nuova sessione ottiene automaticamente il proprio worktree.12 I worktree richiedono un repository git; per altri sistemi di controllo versione, [configurate gli hook per sostituire la logica git](#non-git-version-control). Nell'[app desktop](/docs/it/desktop#work-in-parallel-with-sessions), selezionate l'opzione **worktree** quando avviate una sessione per darle il proprio worktree.

13</Note>13</Note>

14 14 

15I worktree sono uno dei diversi modi per eseguire Claude in parallelo. Isolano le modifiche ai file. I [subagent](/docs/it/sub-agents) dividono il lavoro all'interno di una sessione, e la [messaggistica tra sessioni](/docs/it/cross-session-messaging) consente a Claude di passare i risultati tra le sessioni nei vostri worktree. Vedere [Eseguire agenti in parallelo](/docs/it/agents) per confrontare gli approcci, o saltare direttamente a [Isolare i subagent con worktrees](#isolate-subagents-with-worktrees) per utilizzare worktree e subagent insieme.15I worktree sono uno dei diversi modi per eseguire Claude in parallelo. Isolano le modifiche ai file. I [subagent](/docs/it/sub-agents) dividono il lavoro all'interno di una sessione, e la [messaggistica tra sessioni](/docs/it/cross-session-messaging) consente a Claude di passare i risultati tra le sessioni nei vostri worktree. Vedere [Eseguire agenti in parallelo](/docs/it/agents) per confrontare gli approcci, o saltare direttamente a [Isolare i subagent con worktrees](#isolate-subagents-with-worktrees) per utilizzare worktree e subagent insieme.