SpyBara
Go Premium

Documentation 2026-11-03 23:58 UTC to 2026-11-04 23:59 UTC

33 files changed +512 −154. View all changes and history on the product overview
2026
Thu 12 21:00 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57
Details

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

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

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

234| `"acceptEdits"` | Approva automaticamente le modifiche ai file e i comandi comuni del filesystem (`mkdir`, `touch`, `mv`, `cp`, ecc.); altri comandi Bash seguono le regole predefinite | Fidate delle modifiche di Claude e volete un'iterazione più veloce, ad esempio durante la prototipazione o quando lavorate in una directory isolata |234| `"acceptEdits"` | Approva automaticamente le modifiche ai file e i comandi comuni del filesystem (`mkdir`, `touch`, `mv`, `cp`, ecc.) all'interno delle tue [directory di lavoro](https://code.claude.com/docs/it/permissions.md#working-directories); gli altri comandi Bash seguono le regole predefinite | Ti fidi delle modifiche di Claude e vuoi un'iterazione più veloce, ad esempio durante la prototipazione o quando lavori in una directory isolata |

235| `"plan"` | Claude esplora e pianifica senza modificare i vostri file sorgente; le modifiche ai file non vengono mai approvate automaticamente e vengono richieste tramite il vostro callback `canUseTool` | Volete che Claude proponga modifiche senza eseguirle, ad esempio durante la revisione del codice o quando dovete approvare le modifiche prima che vengano apportate |235| `"plan"` | Claude esplora e pianifica. Le modifiche apportate con gli strumenti per i file di Claude vanno al tuo callback `canUseTool` anche quando una regola di consentimento corrisponde | Vuoi che Claude produca prima un piano, ad esempio durante la code review o prima di una modifica di grandi dimensioni |

236| `"dontAsk"` | Non chiede mai. Gli strumenti pre-approvati da [regole di permesso](https://code.claude.com/docs/it/settings-reference.md#permission-settings) vengono eseguiti, e così anche le chiamate che non richiedono approvazione in modalità `default`, come le letture di file all'interno delle tue directory di lavoro. Ogni chiamata che altrimenti richiederebbe conferma viene negata, anche se un [mod](https://code.claude.com/docs/it/plugins/mods/overview.md) che hai installato può comunque approvare [alcune di queste chiamate](https://code.claude.com/docs/it/permissions.md#precedence-among-rules-hooks-and-mods). Alcune chiamate, come le [letture da percorsi di rete](https://code.claude.com/docs/it/permissions.md#network-paths), vengono negate anche se le hai consentite. Per l'elenco, consulta [Modalità Don't ask](https://code.claude.com/docs/it/agent-sdk/permissions.md#don’t-ask-mode-dontask) | Agenti headless senza nessuno che approvi le chiamate |236| `"dontAsk"` | Non chiede mai. Gli strumenti pre-approvati da [regole di permesso](https://code.claude.com/docs/it/settings-reference.md#permission-settings) vengono eseguiti, e così anche le chiamate che non richiedono approvazione in modalità `default`, come le letture di file all'interno delle tue directory di lavoro. Ogni chiamata che altrimenti richiederebbe conferma viene negata, anche se un [mod](https://code.claude.com/docs/it/plugins/mods/overview.md) che hai installato può comunque approvare [alcune di queste chiamate](https://code.claude.com/docs/it/permissions.md#precedence-among-rules-hooks-and-mods). Alcune chiamate, come le [letture da percorsi di rete](https://code.claude.com/docs/it/permissions.md#network-paths), vengono negate anche se le hai consentite. Per l'elenco, consulta [Modalità Don't ask](https://code.claude.com/docs/it/agent-sdk/permissions.md#don’t-ask-mode-dontask) | Agenti headless senza nessuno che approvi le chiamate |

237| `"auto"` | Utilizza un classificatore di modello per esaminare azioni come comandi shell e richieste di rete, consentendo o bloccando ognuna che esamina. Vedere [Modalità Auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode) per disponibilità e ordine di decisione | Agenti autonomi che desiderano ancora protezioni di sicurezza sull'utilizzo degli strumenti |237| `"auto"` | Utilizza un classificatore di modello per esaminare azioni come comandi shell e richieste di rete, consentendo o bloccando ognuna che esamina. Vedere [Modalità Auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode) per disponibilità e ordine di decisione | Agenti autonomi che desiderano ancora protezioni di sicurezza sull'utilizzo degli strumenti |

238| `"bypassPermissions"` | Esegue le chiamate agli strumenti senza chiedere approvazione, incluse le chiamate a strumenti che non hai elencato in `allowedTools`. Alcune chiamate vanno comunque al tuo callback `canUseTool`, elencate in [Modalità bypass permissions](https://code.claude.com/docs/it/agent-sdk/permissions.md#bypass-permissions-mode-bypasspermissions). Nel TypeScript SDK, richiede anche `allowDangerouslySkipPermissions: true` in `options`. Non può essere utilizzata quando si esegue come root su Unix. Utilizzala solo in ambienti isolati dove le azioni dell'agente non possono influenzare i sistemi che ti interessano | CI, container o altri ambienti isolati |238| `"bypassPermissions"` | Esegue le chiamate agli strumenti senza chiedere approvazione, incluse le chiamate a strumenti che non hai elencato in `allowedTools`. Alcune chiamate vanno comunque al tuo callback `canUseTool`, elencate in [Modalità bypass permissions](https://code.claude.com/docs/it/agent-sdk/permissions.md#bypass-permissions-mode-bypasspermissions). Nel TypeScript SDK, richiede anche `allowDangerouslySkipPermissions: true` in `options`. Non può essere utilizzata quando si esegue come root su Unix. Utilizzala solo in ambienti isolati dove le azioni dell'agente non possono influenzare i sistemi che ti interessano | CI, container o altri ambienti isolati |

239 239 

240Per le applicazioni interattive, utilizzate `"default"` con un callback di approvazione dello strumento per visualizzare i prompt di approvazione. Per gli agenti autonomi su una macchina di sviluppo, `"acceptEdits"` approva automaticamente le modifiche ai file e i comandi comuni del filesystem (`mkdir`, `touch`, `mv`, `cp`, ecc.) mentre ancora limita altri comandi `Bash` dietro le regole di consentimento. Riservate `"bypassPermissions"` per CI, container o altri ambienti isolati. Vedere [Autorizzazioni](https://code.claude.com/docs/it/agent-sdk/permissions.md) per i dettagli completi.240Per le applicazioni interattive, usa `"default"` con un callback di approvazione degli strumenti per mostrare le richieste di approvazione. Per gli agenti che modificano file su una macchina di sviluppo, usa `"acceptEdits"`. Riserva `"bypassPermissions"` a CI, container o altri ambienti isolati. Consulta [Permessi](https://code.claude.com/docs/it/agent-sdk/permissions.md) per tutti i dettagli.

241 241 

242### Modello242### Modello

243 243 

Details

14>14>

15> Se carichi un plugin che contiene un [mod](https://code.claude.com/docs/it/plugins/mods/overview.md), consulta [dove si collocano le decisioni di un mod tra regole e hook](https://code.claude.com/docs/it/permissions.md#precedence-among-rules-hooks-and-mods).15> Se carichi un plugin che contiene un [mod](https://code.claude.com/docs/it/plugins/mods/overview.md), consulta [dove si collocano le decisioni di un mod tra regole e hook](https://code.claude.com/docs/it/permissions.md#precedence-among-rules-hooks-and-mods).

16 16 

17Quando Claude richiede uno strumento, l'SDK controlla le autorizzazioni in questo ordine:17Quando Claude richiede uno strumento, Claude Code controlla la chiamata in questi passaggi. Ogni passaggio può decidere la chiamata, inviarla al tuo callback `canUseTool` o lasciarla passare:

18 18 

19**1. Hook**19**1. Hook**

20 20 

21Eseguire prima gli [hook](https://code.claude.com/docs/it/agent-sdk/hooks.md). Un hook può negare la chiamata completamente o lasciarla passare. Un hook che restituisce `allow` non salta le regole deny e ask riportate di seguito; quelle vengono valutate indipendentemente dal risultato dell'hook.21Esegue gli [hook](https://code.claude.com/docs/it/agent-sdk/hooks.md). Un hook può negare la chiamata completamente o lasciarla passare. Un hook che restituisce `allow` non salta le regole deny e ask riportate di seguito; quelle vengono valutate indipendentemente dal risultato dell'hook.

22 22 

23Un hook `PreToolUse` che restituisce `allow` inoltre non può approvare un comando `rm` o `rmdir` la cui destinazione Claude Code riconosce come un [percorso critico](https://code.claude.com/docs/it/permission-modes.md#critical-paths), come `rm -rf ~`. Per sapere cosa fa quell'`allow` nel plan mode, consulta [Approvazioni degli hook nel plan mode](https://code.claude.com/docs/it/permissions.md#hook-approvals-in-plan-mode).23Un hook `PreToolUse` che restituisce `allow` inoltre non può approvare un comando `rm` o `rmdir` la cui destinazione Claude Code riconosce come un [percorso critico](https://code.claude.com/docs/it/permission-modes.md#critical-paths), come `rm -rf ~`. Per sapere cosa fa quell'`allow` nel plan mode, consulta [Approvazioni degli hook nel plan mode](https://code.claude.com/docs/it/permissions.md#hook-approvals-in-plan-mode).

24 24 

25**2. Regole deny**25**2. Regole deny**

26 26 

27Se una regola deny da `disallowed_tools` o da [settings.json](https://code.claude.com/docs/it/settings-reference.md#permission-settings) corrisponde, la chiamata viene negata e [`canUseTool`](https://code.claude.com/docs/it/agent-sdk/user-input) non viene chiamato, anche in modalità [`bypassPermissions`](#bypass-permissions-mode-bypasspermissions) e anche quando un hook ha restituito `allow`.27Se una regola deny da `disallowed_tools` o da un [file di impostazioni caricato dall'SDK](#rules-in-settings-files) corrisponde, la chiamata viene negata e [`canUseTool`](https://code.claude.com/docs/it/agent-sdk/user-input) non viene chiamato. La chiamata viene negata in questo modo anche in modalità [`bypassPermissions`](#bypass-permissions-mode-bypasspermissions) e anche quando un hook ha restituito `allow`.

28 28 

29Nell'SDK TypeScript, se imposti la `permission_policy` di uno [strumento personalizzato](https://code.claude.com/docs/it/agent-sdk/custom-tools.md#require-approval-for-specific-tools) su [`always_deny`](https://code.claude.com/docs/it/agent-sdk/typescript#mcpservertoolpolicy), una chiamata a quello strumento viene negata in questo passaggio.29Nell'SDK TypeScript, se imposti la `permission_policy` di uno [strumento personalizzato](https://code.claude.com/docs/it/agent-sdk/custom-tools.md#require-approval-for-specific-tools) su [`always_deny`](https://code.claude.com/docs/it/agent-sdk/typescript#mcpservertoolpolicy), una chiamata a quello strumento viene negata in questo passaggio.

30 30 


32 32 

33Controllare le regole `ask` da [settings.json](https://code.claude.com/docs/it/settings-reference.md#permission-settings). Se una regola ask corrisponde, la chiamata passa al tuo [callback `canUseTool`](https://code.claude.com/docs/it/agent-sdk/user-input) per la conferma, anche in modalità `bypassPermissions`.33Controllare le regole `ask` da [settings.json](https://code.claude.com/docs/it/settings-reference.md#permission-settings). Se una regola ask corrisponde, la chiamata passa al tuo [callback `canUseTool`](https://code.claude.com/docs/it/agent-sdk/user-input) per la conferma, anche in modalità `bypassPermissions`.

34 34 

35Gli strumenti che richiedono l'interazione dell'utente si comportano allo stesso modo: `AskUserQuestion` e gli strumenti MCP il cui server imposta [`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/docs/it/mcp#require-approval-for-a-specific-tool) passano sempre al callback, anche quando una regola allow 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.35Gli strumenti che richiedono l'interazione dell'utente si comportano allo stesso modo. `AskUserQuestion` e gli strumenti MCP il cui server imposta [`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/docs/it/mcp#require-approval-for-a-specific-tool) passano al callback, anche quando una regola allow corrisponde. In modalità `dontAsk` entrambi i casi vengono invece negati, perché quella modalità trasforma ogni richiesta di conferma in un rifiuto. L'annotazione MCP richiede Claude Code v2.1.199 o successivo.

36 36 

37Anche gli strumenti dei [connettori claude.ai](https://code.claude.com/docs/it/mcp.md#organization-controls-on-connector-tools) che la tua organizzazione ha impostato su `ask` lasciano il flusso in questo passaggio. Ogni chiamata passa al callback, anche in modalità `bypassPermissions` e anche quando una regola allow corrisponde. Il callback riceve il motivo `Your organization requires approval for this tool`. In modalità `dontAsk` la chiamata viene invece negata, perché quella modalità non chiede mai conferma.37Anche gli strumenti dei [connettori claude.ai](https://code.claude.com/docs/it/mcp.md#organization-controls-on-connector-tools) che la tua organizzazione ha impostato su `ask` lasciano il flusso in questo passaggio. Ogni chiamata passa al callback, anche in modalità `bypassPermissions` e anche quando una regola allow corrisponde. Il callback riceve il motivo `Your organization requires approval for this tool`. In modalità `dontAsk` la chiamata viene invece negata, perché quella modalità non chiede mai conferma.

38 38 


42 42 

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

44 44 

45* In modalità `bypassPermissions`, Claude Code approva tutto ciò che raggiunge questo passaggio tranne le [rimozioni di percorsi critici](https://code.claude.com/docs/it/permission-modes.md#critical-paths) riconosciute e i comandi Bash segnalati con [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/it/permission-modes#dangerous-rm-operation-not-ruled-out), che passano invece oltre.45* In modalità `bypassPermissions`, Claude Code approva ogni chiamata che raggiunge questo passaggio, a meno che non sia una delle [azioni che nessuna modalità approva automaticamente](https://code.claude.com/docs/it/permission-modes.md#actions-no-mode-auto-approves). Per sapere quali di queste azioni arrivano al tuo callback `canUseTool`, consulta [Modalità bypass dei permessi](#bypass-permissions-mode-bypasspermissions).

46 * Per eseguire queste rimozioni senza alcuna richiesta di conferma, consulta [Disattivare la richiesta di conferma per la rimozione di percorsi critici](https://code.claude.com/docs/it/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode).

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

48* In modalità `plan`, Claude Code invia gli strumenti di modifica file al tuo callback `canUseTool` indipendentemente dalle regole allow.47* In modalità `plan`, alcune chiamate raggiungono il tuo callback e, quando la modalità auto è disponibile, altre vanno invece al suo classificatore. Per maggiori informazioni, consulta [Plan mode](#plan-mode-plan).

49* In altre modalità, la richiesta passa oltre.48* In modalità `default` e `dontAsk`, la chiamata passa alle regole allow.

49* Per la modalità `auto`, consulta [Modalità auto](#auto-mode-auto).

50 50 

51**5. Regole allow**51**5. Regole allow**

52 52 

53Controllare le regole `allow` (da `allowed_tools` e settings.json). Se una regola corrisponde, lo strumento viene approvato. Anche 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 tue directory di lavoro o un [comando Bash di sola lettura](https://code.claude.com/docs/it/permissions.md#read-only-commands).53Controlla le regole `allow` (da `allowed_tools` e settings.json). Se una regola corrisponde, lo strumento viene approvato. Anche 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 tue directory di lavoro o un [comando Bash di sola lettura](https://code.claude.com/docs/it/permissions.md#read-only-commands).

54 54 

55Le [rimozioni di percorsi critici](https://code.claude.com/docs/it/permission-modes.md#critical-paths) riconosciute non vengono approvate da una regola allow, e i comandi segnalati con `Dangerous rm operation not ruled out` non vengono approvati da una regola `Bash` o `Bash(*)`. Se poi raggiungano il tuo callback dipende dalla modalità di permesso: in una sessione Agent SDK in modalità `auto`, ad esempio, Claude Code li nega per impostazione predefinita senza chiamarlo. La [tabella delle modalità per i percorsi critici](https://code.claude.com/docs/it/permission-modes.md#critical-path-removals-in-each-permission-mode) elenca cosa fa ogni modalità con essi.55Le [rimozioni di percorsi critici](https://code.claude.com/docs/it/permission-modes.md#critical-paths) riconosciute non vengono approvate da una regola allow, e i comandi segnalati con `Dangerous rm operation not ruled out` non vengono approvati da una regola `Bash` o `Bash(*)`. Se poi raggiungano il tuo callback dipende dalla modalità di permesso: in una sessione Agent SDK in modalità `auto`, ad esempio, Claude Code li nega per impostazione predefinita senza chiamarlo. La [tabella delle modalità per i percorsi critici](https://code.claude.com/docs/it/permission-modes.md#critical-path-removals-in-each-permission-mode) elenca cosa fa ogni modalità con essi.

56 56 


91 91 

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

93 93 

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

95 

96Utilizzate `//path` per un percorso del filesystem assoluto: una regola deny `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](https://code.claude.com/docs/it/permissions.md#read-and-edit) per i quattro moduli di ancoraggio e come le regole dai file di impostazioni si risolvono.

97 

98> [!WARNING]94> [!WARNING]

99>95>

100> **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 allow, salta il callback `canUseTool`, quindi i controlli di autorizzazione che inserite lì vengono silenziosamente ignorati per quello strumento.96> **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 allow, salta il callback `canUseTool`, quindi i controlli di autorizzazione che inserite lì vengono silenziosamente ignorati per quello strumento.


105>101>

106> * Strumenti personalizzati che la tua applicazione contrassegna come [`always_ask`](https://code.claude.com/docs/it/agent-sdk/custom-tools#require-approval-for-specific-tools): decidi la chiamata nel callback. Per evitare che queste chiamate arrivino, [modifica la policy durante la sessione](https://code.claude.com/docs/it/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance). In modalità `auto`, `plan` e `bypassPermissions` la chiamata può invece essere approvata prima del callback, nei casi elencati in [Modalità di permesso che possono approvare una chiamata `always_ask`](https://code.claude.com/docs/it/agent-sdk/typescript#permission-modes-that-can-approve-an-always_ask-call)102> * Strumenti personalizzati che la tua applicazione contrassegna come [`always_ask`](https://code.claude.com/docs/it/agent-sdk/custom-tools#require-approval-for-specific-tools): decidi la chiamata nel callback. Per evitare che queste chiamate arrivino, [modifica la policy durante la sessione](https://code.claude.com/docs/it/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance). In modalità `auto`, `plan` e `bypassPermissions` la chiamata può invece essere approvata prima del callback, nei casi elencati in [Modalità di permesso che possono approvare una chiamata `always_ask`](https://code.claude.com/docs/it/agent-sdk/typescript#permission-modes-that-can-approve-an-always_ask-call)

107>103>

108> * [Rimozioni di percorsi critici](https://code.claude.com/docs/it/permission-modes.md#critical-paths) riconosciute con `rm` e `rmdir`: in modalità `default`, `acceptEdits` e `bypassPermissions`, consenti o nega la rimozione nel callback, dove [`decisionReason`](https://code.claude.com/docs/it/agent-sdk/typescript#canusetool) inizia con `Dangerous rm`. Per le modalità `auto` e `plan`, consulta [Rimozioni di percorsi critici in ciascuna modalità di permesso](https://code.claude.com/docs/it/permission-modes.md#critical-path-removals-in-each-permission-mode). Il controllo che riconosce queste rimozioni [può non rilevare alcuni comandi](https://code.claude.com/docs/it/permission-modes.md#critical-paths)104> * [Rimozioni di percorsi critici](https://code.claude.com/docs/it/permission-modes.md#critical-paths) riconosciute con `rm` e `rmdir`: in modalità `default`, `acceptEdits` e `bypassPermissions`, consenti o nega la rimozione nel callback, dove [`decisionReason`](https://code.claude.com/docs/it/agent-sdk/typescript#canusetool) inizia con `Dangerous rm`. Per le modalità `auto` e `plan`, consulta [Rimozioni di percorsi critici in ciascuna modalità di permesso](https://code.claude.com/docs/it/permission-modes.md#critical-path-removals-in-each-permission-mode)

109>105>

110> * **Nome semplice**: una voce come `Read` o `mcp__github__get_issue` approva automaticamente ogni chiamata a quello strumento a parte le [azioni che nessuna modalità approva automaticamente](https://code.claude.com/docs/it/permission-modes.md#actions-no-mode-auto-approves) e le [letture da percorsi di rete](https://code.claude.com/docs/it/permissions.md#network-paths).106> * **Nome semplice**: una voce come `Read` o `mcp__github__get_issue` approva automaticamente ogni chiamata a quello strumento a parte le [azioni che nessuna modalità approva automaticamente](https://code.claude.com/docs/it/permission-modes.md#actions-no-mode-auto-approves) e le [letture da percorsi di rete](https://code.claude.com/docs/it/permissions.md#network-paths).

111>107>

112> * **Regola limitata**: una voce come `Bash(npm test *)` approva automaticamente solo le chiamate corrispondenti, e le altre chiamate `Bash` che necessitano di approvazione passano comunque al callback.108> * **Regola limitata**: una voce come `Bash(npm test *)` approva automaticamente le chiamate corrispondenti, e le altre chiamate `Bash` che necessitano di approvazione passano alla modalità di permesso.

113>109>

114> Per i controlli che devono essere eseguiti su ogni chiamata a uno strumento, usa un [hook `PreToolUse`](https://code.claude.com/docs/it/agent-sdk/hooks): gli hook vengono eseguiti prima di ogni altro passaggio, e una negazione da parte di un hook si applica anche in modalità `bypassPermissions`.110> Per controllare le chiamate che una regola allow, `acceptEdits` o `bypassPermissions` approva, usa un [hook `PreToolUse`](https://code.claude.com/docs/it/agent-sdk/hooks), che viene eseguito anche per quelle chiamate. Una negazione da parte di un hook si applica anche in modalità `bypassPermissions`.

115 111 

116Per un agente bloccato, abbinate `allowedTools` con `permissionMode: "dontAsk"`:112Per un agente bloccato, abbinate `allowedTools` con `permissionMode: "dontAsk"`:

117 113 


128 124 

129> [!WARNING]125> [!WARNING]

130>126>

131> **`allowed_tools` non vincola `bypassPermissions`.** `allowed_tools` pre-approva gli strumenti che elencate. Gli altri strumenti non elencati non vengono abbinati da alcuna regola allow 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`.127> **`allowed_tools` non vincola `bypassPermissions`.** `allowed_tools` pre-approva gli strumenti che elenchi. In modalità `bypassPermissions`, Claude Code approva una chiamata a uno strumento non elencato a meno che non rientri tra le [azioni che nessuna modalità approva automaticamente](https://code.claude.com/docs/it/permission-modes.md#actions-no-mode-auto-approves).

128>

129> Se imposti `allowed_tools=["Read"]` con `permission_mode="bypassPermissions"`, Claude Code approva comunque le chiamate a strumenti come `Bash`, `Write` e `Edit`. Se hai bisogno di `bypassPermissions` ma vuoi che strumenti specifici siano bloccati, usa `disallowed_tools`. Per le chiamate che raggiungono comunque il tuo callback `canUseTool` in questa modalità, consulta [Modalità bypass permissions](#bypass-permissions-mode-bypasspermissions).

132 130 

133Potete anche configurare le regole allow, deny e ask 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](https://code.claude.com/docs/it/settings-reference.md#permission-settings) per la sintassi delle regole.131Potete anche configurare le regole allow, deny e ask 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](https://code.claude.com/docs/it/settings-reference.md#permission-settings) per la sintassi delle regole.

134 132 

133Per sapere quando si applicano le regole allow nel file `.claude/settings.json` di un progetto, consulta [Regole allow di progetto e attendibilità del workspace](https://code.claude.com/docs/it/permissions.md#project-allow-rules-and-workspace-trust).

134 

135### Modelli di percorso nelle regole

136 

137Le 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`, quindi scrivi una regola di percorso per ciascuno di essi come `Edit(path)`. Se scrivi una regola di percorso come `Write(path)` o `NotebookEdit(path)`, [non corrisponde ad alcuna chiamata](https://code.claude.com/docs/it/permissions.md#path-rules-that-never-match) e non ha alcun effetto.

138 

139In `allowed_tools` e `disallowed_tools`, inizia un modello di percorso con `//` per un percorso assoluto, oppure con una singola `/` per un percorso all'interno della directory di lavoro della sessione:

140 

141* **`//path`**: con una regola deny `Edit(//secrets/**)`, Claude Code blocca le scritture sotto `/secrets` su disco da parte degli strumenti per i file di Claude e dei [comandi Bash come `tee` e il reindirizzamento `> file`](https://code.claude.com/docs/it/permissions#what-read-and-edit-rules-cover). Uno script che Claude esegue e che apre i file autonomamente può comunque scrivere sotto `/secrets`. Per un'applicazione a livello di sistema operativo, consulta [Configurare lo strumento Bash in sandbox](https://code.claude.com/docs/it/sandboxing.md).

142* **`/path`**: `Edit(/secrets/**)` corrisponde alla directory `secrets` all'interno della directory di lavoro.

143 

144Per altri modi di iniziare un modello di percorso, consulta [Regole Read e Edit](https://code.claude.com/docs/it/permissions.md#read-and-edit).

145 

135## Modalità di autorizzazione146## Modalità di autorizzazione

136 147 

137Le 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.148Le 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.


146| :- | :- | :- |157| :- | :- | :- |

147| `default` | Comportamento di autorizzazione standard | Nessuna approvazione automatica basata sulla modalità; le chiamate che richiedono approvazione e non corrispondono a nessuna regola allow attivano il callback `canUseTool` |158| `default` | Comportamento di autorizzazione standard | Nessuna approvazione automatica basata sulla modalità; le chiamate che richiedono approvazione e non corrispondono a nessuna regola allow attivano il callback `canUseTool` |

148| `dontAsk` | Nega invece di chiedere | Qualsiasi chiamata che altrimenti genererebbe una richiesta di conferma viene negata senza chiamare `canUseTool`, anche se un [mod](https://code.claude.com/docs/it/plugins/mods/overview.md) che hai installato può comunque approvare [alcune di queste chiamate](https://code.claude.com/docs/it/permissions.md#precedence-among-rules-hooks-and-mods). Le chiamate approvate da `allowed_tools` o da regole allow in `settings.json` vengono eseguite, così come le chiamate che non richiedono approvazione in modalità `default`. Alcune chiamate, come le [letture da percorsi di rete](https://code.claude.com/docs/it/permissions.md#network-paths), vengono negate anche quando `allowed_tools` o una regola allow corrisponde. Per l'elenco, consulta [Modalità non chiedere](#don’t-ask-mode-dontask) |159| `dontAsk` | Nega invece di chiedere | Qualsiasi chiamata che altrimenti genererebbe una richiesta di conferma viene negata senza chiamare `canUseTool`, anche se un [mod](https://code.claude.com/docs/it/plugins/mods/overview.md) che hai installato può comunque approvare [alcune di queste chiamate](https://code.claude.com/docs/it/permissions.md#precedence-among-rules-hooks-and-mods). Le chiamate approvate da `allowed_tools` o da regole allow in `settings.json` vengono eseguite, così come le chiamate che non richiedono approvazione in modalità `default`. Alcune chiamate, come le [letture da percorsi di rete](https://code.claude.com/docs/it/permissions.md#network-paths), vengono negate anche quando `allowed_tools` o una regola allow corrisponde. Per l'elenco, consulta [Modalità non chiedere](#don’t-ask-mode-dontask) |

149| `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 |160| `acceptEdits` | Accetta automaticamente le modifiche ai file | Le modifiche ai file e le [operazioni del filesystem](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv`, ecc.) all'interno delle tue [directory di lavoro](https://code.claude.com/docs/it/permissions.md#working-directories) vengono approvate automaticamente |

150| `bypassPermissions` | Ignora i controlli di autorizzazione | Gli strumenti vengono eseguiti senza richieste di autorizzazione, ad eccezione delle [azioni che nessuna modalità approva automaticamente](https://code.claude.com/docs/it/permission-modes.md#actions-no-mode-auto-approves) e, al di fuori di una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md), degli strumenti personalizzati che la tua applicazione [contrassegna come `always_ask`](https://code.claude.com/docs/it/agent-sdk/custom-tools#require-approval-for-specific-tools). Utilizzare con cautela |161| `bypassPermissions` | Ignora i controlli di autorizzazione | Gli strumenti vengono eseguiti senza richieste di autorizzazione, ad eccezione delle [azioni che nessuna modalità approva automaticamente](https://code.claude.com/docs/it/permission-modes.md#actions-no-mode-auto-approves) e, al di fuori di una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md), degli strumenti personalizzati che la tua applicazione [contrassegna come `always_ask`](https://code.claude.com/docs/it/agent-sdk/custom-tools#require-approval-for-specific-tools). Utilizzare con cautela |

151| `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` |162| `plan` | Modalità di pianificazione | Claude esplora e pianifica. Le modifiche apportate con gli strumenti per i file di Claude passano al tuo callback `canUseTool` anche quando una regola allow corrisponde |

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

153 164 

154> [!WARNING]165> [!WARNING]


267 278 

268**Operazioni approvate automaticamente:**279**Operazioni approvate automaticamente:**

269 280 

270* Modifiche ai file (strumenti Edit, Write)281* Modifiche ai file con gli strumenti Edit, Write e NotebookEdit

271* Comandi del filesystem: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, `sed`282* Comandi del filesystem: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, `sed`

272 283 

273Entrambi 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:284Entrambi si applicano ai percorsi all'interno della directory di lavoro o di una directory che aggiungi. In Python ne aggiungi una con `add_dirs`, e in TypeScript con `additionalDirectories`. In modalità `acceptEdits`, Claude Code non approva automaticamente la richiesta quando Claude:

274 285 

275* Lavora su un percorso al di fuori di tale ambito286* Lavora su un percorso al di fuori di tale ambito

276* Scrive in un percorso protetto287* Scrive in un [percorso protetto](https://code.claude.com/docs/it/permission-modes.md#protected-paths)

277* Rimuove con `rm` o `rmdir` un percorso che Claude Code riconosce come [percorso critico](https://code.claude.com/docs/it/permission-modes.md#critical-paths)288* Rimuove con `rm` o `rmdir` un percorso che Claude Code riconosce come [percorso critico](https://code.claude.com/docs/it/permission-modes.md#critical-paths)

278* Esegue [`touch`](https://code.claude.com/docs/it/permission-modes#auto-approve-file-edits-with-acceptedits-mode) con, ad esempio, un'opzione, un glob o un prefisso `timeout 5` o `LANG=C`289* Esegue [`touch`](https://code.claude.com/docs/it/permission-modes#auto-approve-file-edits-with-acceptedits-mode) con, ad esempio, un'opzione, un glob o un prefisso `timeout 5` o `LANG=C`

279 290 


293 304 

294Se il tuo hook `PreToolUse` restituisce `allow` per una rimozione riconosciuta di un percorso critico, una lettura da un percorso di rete o una chiamata a uno strumento contrassegnato come `always_ask`, la chiamata viene comunque negata. Il controllo che riconosce queste rimozioni [può non individuare alcuni comandi](https://code.claude.com/docs/it/permission-modes.md#critical-paths).305Se il tuo hook `PreToolUse` restituisce `allow` per una rimozione riconosciuta di un percorso critico, una lettura da un percorso di rete o una chiamata a uno strumento contrassegnato come `always_ask`, la chiamata viene comunque negata. Il controllo che riconosce queste rimozioni [può non individuare alcuni comandi](https://code.claude.com/docs/it/permission-modes.md#critical-paths).

295 306 

296**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`.307**Utilizzare quando:** esegui un agente headless e vuoi un rifiuto netto per ogni chiamata che altrimenti genererebbe una richiesta di conferma.

297 308 

298#### Modalità ignora autorizzazioni (`bypassPermissions`)309#### Modalità ignora autorizzazioni (`bypassPermissions`)

299 310 


303>314>

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

305>316>

306> `allowed_tools` non vincola questa modalità. Ogni strumento è approvato, non solo quelli che avete elencato. Questi controlli si applicano comunque:317> `allowed_tools` non vincola questa modalità, e vengono approvate anche le chiamate agli strumenti che non hai elencato. Questi controlli si applicano comunque:

307>318>

308> * Le regole deny, le regole esplicite `ask` e gli hook vengono valutati prima del controllo della modalità e possono comunque bloccare uno strumento.319> * Le regole deny, le regole esplicite `ask` e gli hook vengono valutati prima del controllo della modalità e possono comunque bloccare uno strumento.

309> * Gli strumenti connettore [che la tua organizzazione ha impostato su `ask`](https://code.claude.com/docs/it/mcp#organization-controls-on-connector-tools), gli strumenti che richiedono interazione dell'utente e le [rimozioni di percorsi critici](https://code.claude.com/docs/it/permission-modes.md#critical-paths) riconosciute continuano a passare al tuo callback `canUseTool`. Il controllo che riconosce queste rimozioni [può non individuare alcuni comandi](https://code.claude.com/docs/it/permission-modes.md#critical-paths), e puoi [disattivare la richiesta di conferma per la rimozione di percorsi critici](https://code.claude.com/docs/it/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode). Al di fuori di una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md), passano al callback anche le chiamate agli strumenti personalizzati che la tua applicazione [contrassegna come `always_ask`](https://code.claude.com/docs/it/agent-sdk/custom-tools#require-approval-for-specific-tools).320> * Gli strumenti connettore [che la tua organizzazione ha impostato su `ask`](https://code.claude.com/docs/it/mcp#organization-controls-on-connector-tools), gli strumenti che richiedono interazione dell'utente, le [rimozioni di percorsi critici](https://code.claude.com/docs/it/permission-modes.md#critical-paths) riconosciute e i comandi Bash segnalati con [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/it/permission-modes#dangerous-rm-operation-not-ruled-out) continuano a passare al tuo callback `canUseTool`. Il controllo che riconosce le rimozioni di percorsi critici [può non individuare alcuni comandi](https://code.claude.com/docs/it/permission-modes.md#critical-paths), e puoi [disattivare la richiesta di conferma per la rimozione di percorsi critici](https://code.claude.com/docs/it/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode). Al di fuori di una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md), passano al callback anche le chiamate agli strumenti personalizzati che la tua applicazione [contrassegna come `always_ask`](https://code.claude.com/docs/it/agent-sdk/custom-tools#require-approval-for-specific-tools).

310> * Le [protezioni della messaggistica tra sessioni](https://code.claude.com/docs/it/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) si applicano comunque.321> * Le [protezioni della messaggistica tra sessioni](https://code.claude.com/docs/it/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) si applicano comunque.

311 322 

312#### Modalità pianificazione (`plan`)323#### Modalità pianificazione (`plan`)

313 324 

314Claude esplora il codebase e produce un piano senza modificare i tuoi file sorgente. Le modifiche ai file non vengono mai approvate automaticamente nel plan mode, anche quando una regola allow corrisponde o un hook `PreToolUse` restituisce `allow`. Passano invece per il tuo callback `canUseTool`.325Claude esplora il codebase e produce un piano. Durante la pianificazione, le modifiche apportate con gli strumenti per i file di Claude al di fuori dei [percorsi protetti](https://code.claude.com/docs/it/permission-modes.md#protected-paths) raggiungono il tuo callback `canUseTool`, anche quando una regola allow corrisponde o un hook `PreToolUse` restituisce `allow`. Anche le chiamate a [`AskUserQuestion`](https://code.claude.com/docs/it/agent-sdk/user-input#handle-clarifying-questions) raggiungono il tuo callback, anche quando una regola allow indica lo strumento.

326 

327Quando la [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode) è disponibile, Claude Code invia queste chiamate effettuate durante la pianificazione al [classificatore della modalità auto](https://code.claude.com/docs/it/permission-modes.md#analyze-before-you-edit-with-plan-mode) per la revisione anziché al tuo callback, quando nessuna regola allow le approva:

328 

329* Comandi shell

330* Recuperi web

331* Ricerche web

332* Chiamate agli strumenti MCP che il loro server contrassegna come di sola lettura

333 

334Questa revisione è attiva per impostazione predefinita. Per disattivarla, imposta [`useAutoModeDuringPlan`](https://code.claude.com/docs/it/settings-reference#useautomodeduringplan) su `false` nell'opzione `settings` che passi a `query()`, oppure nelle tue impostazioni utente. Mentre la revisione è disattivata, le ricerche web e le chiamate agli strumenti MCP contrassegnati come di sola lettura raggiungono il tuo callback.

315 335 

316Quando la modalità auto è disponibile per la sessione, per impostazione predefinita i comandi che Claude esegue durante la pianificazione non raggiungono il tuo callback, perché li [esamina invece](https://code.claude.com/docs/it/permission-modes.md#analyze-before-you-edit-with-plan-mode) il modello classificatore usato dalla [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode). Con questa revisione attiva, il classificatore può anche approvare chiamate di sola lettura che altrimenti raggiungerebbero il tuo callback, come una chiamata `WebFetch` senza alcuna regola allow.336Per i comandi shell e i recuperi web, la tabella mostra se ciascuna chiamata raggiunge il tuo callback:

337 

338| Chiamata durante la pianificazione | Revisione attiva | Revisione disattivata o modalità auto non disponibile |

339| :- | :- | :- |

340| Un comando shell di [sola lettura](https://code.claude.com/docs/it/permissions.md#read-only-commands), come `ls` | Viene eseguito senza raggiungere il tuo callback | Viene eseguito senza raggiungere il tuo callback |

341| Qualsiasi altro comando shell che nessuna regola allow approva, eccetto una [rimozione di un percorso critico](https://code.claude.com/docs/it/permission-modes.md#critical-paths) | Passa al classificatore, che lo approva o lo rifiuta senza il tuo callback | Raggiunge il tuo callback |

342| Una chiamata `WebFetch` a un [dominio di documentazione preapprovato](https://code.claude.com/docs/it/tools-reference.md#webfetch-tool-behavior) | Viene eseguita senza raggiungere il tuo callback | Viene eseguita senza raggiungere il tuo callback |

343| Qualsiasi altra chiamata `WebFetch` che nessuna regola allow approva | Passa al classificatore, che la approva o la rifiuta senza il tuo callback | Raggiunge il tuo callback |

344 

345Per sapere cosa succede dopo che il classificatore rifiuta diverse chiamate di seguito, consulta [Soglie di blocchi ripetuti](https://code.claude.com/docs/it/permission-modes.md#repeated-block-thresholds).

317 346 

318> [!NOTE]347> [!NOTE]

319>348>

320> Nell'SDK TypeScript, se imposti `allowDangerouslySkipPermissions: true` insieme a `permissionMode: 'plan'`, le modifiche ai file raggiungono comunque il tuo callback `canUseTool`. Per passare in seguito a `bypassPermissions` con `setPermissionMode()` una sessione che inizia in plan mode, devi impostare `allowDangerouslySkipPermissions` fin dall'inizio.349> Nell'SDK TypeScript, se imposti `allowDangerouslySkipPermissions: true` insieme a `permissionMode: 'plan'`, le modifiche ai file raggiungono comunque il tuo callback `canUseTool`. Per passare in seguito a `bypassPermissions` con `setPermissionMode()` una sessione che inizia in plan mode, devi impostare `allowDangerouslySkipPermissions` fin dall'inizio.

321 350 

322Claude può utilizzare `AskUserQuestion` per chiarire i requisiti prima di finalizzare il piano. Vedere [Gestire approvazioni e input dell'utente](https://code.claude.com/docs/it/agent-sdk/user-input.md#handle-clarifying-questions) per la gestione di queste richieste.351**Utilizzare quando:** vuoi che Claude produca prima un piano, ad esempio durante la code review o prima di una modifica di grandi dimensioni.

323 

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

325 352 

326#### Modalità auto (`auto`)353#### Modalità auto (`auto`)

327 354 

Details

1175PermissionMode = Literal[1175PermissionMode = Literal[

1176 "default", # Standard permission behavior1176 "default", # Standard permission behavior

1177 "acceptEdits", # Auto-accept file edits1177 "acceptEdits", # Auto-accept file edits

1178 "plan", # Planning mode - explore without editing1178 "plan", # Planning mode - Claude explores and plans

1179 "dontAsk", # Deny anything not pre-approved instead of prompting1179 "dontAsk", # Deny anything not pre-approved instead of prompting

1180 "bypassPermissions", # Bypass permission checks; explicit ask rules still prompt (use with caution)1180 "bypassPermissions", # Bypass permission checks; explicit ask rules still prompt (use with caution)

1181 "auto", # A model classifier reviews actions such as shell commands and network requests1181 "auto", # A model classifier reviews actions such as shell commands and network requests


1214 1214 

1215Restituisce un `PermissionResult` (`PermissionResultAllow` oppure `PermissionResultDeny`).1215Restituisce un `PermissionResult` (`PermissionResultAllow` oppure `PermissionResultDeny`).

1216 1216 

1217Il callback è il sostituto SDK della richiesta di permesso interattiva: viene invocato solo quando il [flusso di valutazione dei permessi](https://code.claude.com/docs/it/agent-sdk/permissions.md#how-permissions-are-evaluated) si risolve in una richiesta di permesso. Le chiamate agli strumenti già approvate da una voce `allowed_tools`, da una regola di consenso nelle impostazioni, o dalla modalità di permesso, come `acceptEdits` o `bypassPermissions`, non lo invocano mai. Per controllare ogni chiamata a uno strumento, usa invece un [hook `PreToolUse`](https://code.claude.com/docs/it/agent-sdk/hooks).1217Il callback sostituisce la richiesta di permesso interattiva. L'SDK chiama `can_use_tool` quando il [flusso di valutazione dei permessi](https://code.claude.com/docs/it/agent-sdk/permissions.md#how-permissions-are-evaluated) si risolve in una richiesta di permesso. Le chiamate approvate in uno di questi modi vengono eseguite senza chiamare `can_use_tool`:

1218 

1219* Una chiamata approvata da una voce `allowed_tools` o da una regola di consenso nelle impostazioni

1220* Una chiamata approvata dalla modalità di permesso, come la modifica di un file in modalità `acceptEdits`

1221 

1222Per controllare quelle chiamate, usa un [hook `PreToolUse`](https://code.claude.com/docs/it/agent-sdk/hooks), che viene eseguito anche per esse.

1218 1223 

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

1220 1225 


3659 3664 

3660> [!NOTE]3665> [!NOTE]

3661>3666>

3662> Il proxy sandbox integrato applica l'allowlist di rete in base al nome host richiesto e non termina o ispeziona il traffico TLS, quindi tecniche come il [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) possono potenzialmente bypassarlo. Vedi [Limitazioni di sicurezza del sandboxing](https://code.claude.com/docs/it/sandboxing.md#security-limitations) per i dettagli e [Distribuzione sicura](https://code.claude.com/docs/it/agent-sdk/secure-deployment.md#traffic-forwarding) per configurare un proxy che termina TLS.3667> Il proxy sandbox integrato applica l'allowlist di rete in base al nome host richiesto. Per impostazione predefinita, il proxy non termina né ispeziona il traffico TLS, quindi tecniche come il [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) possono potenzialmente bypassare l'allowlist. Vedi [Limitazioni di sicurezza del sandboxing](https://code.claude.com/docs/it/sandboxing.md#security-limitations) per i dettagli e [Distribuzione sicura](https://code.claude.com/docs/it/agent-sdk/secure-deployment.md#traffic-forwarding) per configurare un proxy che termina TLS.

3663 3668 

3664### `SandboxIgnoreViolations`3669### `SandboxIgnoreViolations`

3665 3670 

Details

22 22 

23Claude Code include diverse funzionalità di sicurezza che affrontano le preoccupazioni comuni. Consultate la [documentazione sulla sicurezza](https://code.claude.com/docs/it/security.md) per i dettagli completi.23Claude Code include diverse funzionalità di sicurezza che affrontano le preoccupazioni comuni. Consultate la [documentazione sulla sicurezza](https://code.claude.com/docs/it/security.md) per i dettagli completi.

24 24 

25* **Sistema di autorizzazioni**: Ogni strumento e comando bash può essere configurato per consentire, bloccare o richiedere l'approvazione dell'utente. Utilizzate i pattern glob per creare regole come "consenti tutti i comandi npm" o "blocca qualsiasi comando con sudo". Le organizzazioni possono impostare politiche che si applicano a tutti gli utenti. Consultate [autorizzazioni](https://code.claude.com/docs/it/permissions.md).25* **Sistema di permessi**: Le regole di permesso decidono se una chiamata a uno strumento viene eseguita, bloccata o richiede prima un'approvazione. Per le forme che una regola Bash non intercetta e per come le regole si combinano con le modalità di permesso, consulta [Cosa non corrisponde a una regola Bash](https://code.claude.com/docs/it/permissions.md#bash-rule-limits) e [Configurare i permessi](https://code.claude.com/docs/it/agent-sdk/permissions.md). Gli amministratori possono anche impostare regole nelle [impostazioni gestite](https://code.claude.com/docs/it/permissions.md#managed-settings).

26* **Analisi dei comandi per le autorizzazioni**: Prima di eseguire i comandi bash, Claude Code li analizza in un AST e confronta il risultato con le vostre regole di autorizzazione. I comandi che non possono essere analizzati correttamente, o che non corrispondono a una regola di consentimento, richiedono approvazione esplicita. Un piccolo insieme di costrutti come `eval` richiedono sempre approvazione indipendentemente dalle regole di consentimento. Questo è un gate di autorizzazione, non una sandbox; a parte i controlli di sicurezza integrati come il [controllo del percorso critico](https://code.claude.com/docs/it/permission-modes.md#critical-paths) su `rm` e `rmdir` e l'elenco dei [percorsi protetti](https://code.claude.com/docs/it/permission-modes.md#protected-paths), non deduce se un comando è pericoloso dal suo percorso di destinazione o effetti.26* **Rimozioni di percorsi critici**: Con la modalità di permesso impostata su `default`, un comando `rm` o `rmdir` riconosciuto come rimozione della tua directory di lavoro o di un altro [percorso critico](https://code.claude.com/docs/it/permission-modes.md#critical-paths) richiede approvazione. Una regola di consenso corrispondente non permette di saltare tale approvazione. Questo è un gate di permesso, non una sandbox. Per controllare cosa può scrivere l'agente, usa i [controlli del filesystem](#filesystem-configuration).

27* **Riepilogo della ricerca web**: I risultati della ricerca vengono riepilogati piuttosto che passare il contenuto grezzo direttamente nel contesto, riducendo il rischio di prompt injection da contenuto web dannoso.27* **Riepilogo della ricerca web**: I risultati della ricerca vengono riepilogati piuttosto che passare il contenuto grezzo direttamente nel contesto, riducendo il rischio di prompt injection da contenuto web dannoso.

28* **Modalità sandbox**: I comandi Bash possono essere eseguiti in un ambiente sandbox che limita l'accesso al filesystem e alla rete. Consultate la [documentazione del sandboxing](https://code.claude.com/docs/it/sandboxing.md) per i dettagli.28* **Modalità sandbox**: I comandi Bash possono essere eseguiti in un ambiente sandbox che limita l'accesso al filesystem e alla rete. Consultate la [documentazione del sandboxing](https://code.claude.com/docs/it/sandboxing.md) per i dettagli.

29 29 


83**Come funziona:**83**Come funziona:**

84 84 

85* **Filesystem**: Utilizza primitive del sistema operativo (`bubblewrap` su Linux, `sandbox-exec` su macOS) per limitare l'accesso in lettura/scrittura ai percorsi configurati85* **Filesystem**: Utilizza primitive del sistema operativo (`bubblewrap` su Linux, `sandbox-exec` su macOS) per limitare l'accesso in lettura/scrittura ai percorsi configurati

86* **Rete**: Rimuove lo spazio dei nomi di rete (Linux) o utilizza i profili Seatbelt (macOS) per instradare il traffico di rete attraverso un proxy integrato86* **Rete**: Esegue i comandi nel proprio namespace di rete (Linux) o con un profilo Seatbelt (macOS) e instrada il loro traffico attraverso un proxy integrato che consente i domini configurati. Una connessione verso un host esterno che aggira il proxy non riesce.

87* **Configurazione**: Allowlist basate su JSON per domini e percorsi del filesystem87* **Configurazione**: Allowlist basate su JSON per domini e percorsi del filesystem

88 88 

89**Configurazione:**89**Configurazione:**

90 90 

91```bash theme={null}91Per i passaggi di installazione, configurazione e avvio, consulta [Configurare e avviare il runtime](https://code.claude.com/docs/it/sandbox-environments.md#set-up-and-launch-the-runtime).

92npm install @anthropic-ai/sandbox-runtime

93```

94 

95Quindi create un file di configurazione che specifica i percorsi e i domini consentiti.

96 92 

97**Considerazioni sulla sicurezza:**93**Considerazioni sulla sicurezza:**

98 94 

991. **Kernel dello stesso host**: A differenza delle VM, i processi in sandbox condividono il kernel dell'host. Una vulnerabilità del kernel potrebbe teoricamente abilitare un'evasione. Per alcuni modelli di minaccia questo è accettabile, ma se avete bisogno di isolamento a livello di kernel, utilizzate gVisor o una VM separata.951. **Kernel dello stesso host**: A differenza delle VM, i processi in sandbox condividono il kernel dell'host. Una vulnerabilità del kernel potrebbe teoricamente abilitare un'evasione. Per alcuni modelli di minaccia questo è accettabile, ma se avete bisogno di isolamento a livello di kernel, utilizzate gVisor o una VM separata.

100 96 

1012. **Nessuna ispezione TLS**: Il proxy consente i domini in base al nome host fornito dal client e non termina o ispeziona il traffico crittografato. Il codice in esecuzione all'interno della sandbox può potenzialmente utilizzare [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) o tecniche simili per raggiungere host al di fuori dell'allowlist. Se il vostro modello di minaccia richiede garanzie più forti, configurate un [proxy che termina TLS](#traffic-forwarding). Consultate le [limitazioni di sicurezza del sandboxing](https://code.claude.com/docs/it/sandboxing.md#security-limitations) per ulteriori dettagli. Separatamente, se l'agente ha credenziali permissive per un dominio consentito, assicuratevi che non possa utilizzare quel dominio per attivare altre richieste di rete o per estrarre dati.972. **Nessuna ispezione TLS**: Per impostazione predefinita, il proxy consente i domini in base al nome host fornito dal client e non termina né ispeziona il traffico crittografato. Il codice in esecuzione all'interno della sandbox può potenzialmente utilizzare il [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) o tecniche simili per raggiungere host al di fuori dell'allowlist. Se il tuo modello di minaccia richiede garanzie più forti, utilizza un proxy che termina TLS e ispeziona il traffico, come descritto in [Inoltro del traffico](#traffic-forwarding). Per ulteriori informazioni, consulta le [limitazioni di sicurezza del sandboxing](https://code.claude.com/docs/it/sandboxing.md#security-limitations).

98 

993. **Credenziali per i domini consentiti**: Se l'agente ha credenziali permissive per un dominio consentito, assicurati che non possa utilizzare quel dominio per attivare altre richieste di rete o per estrarre dati.

102 100 

103Per molti casi di uso a sviluppatore singolo e CI/CD, sandbox-runtime aumenta significativamente la barra con una configurazione minima. Le sezioni seguenti coprono container e VM per le distribuzioni che richiedono un isolamento più forte.101Per molti casi di uso a sviluppatore singolo e CI/CD, sandbox-runtime aumenta significativamente la barra con una configurazione minima. Le sezioni seguenti coprono container e VM per le distribuzioni che richiedono un isolamento più forte.

104 102 


135| `--security-opt seccomp=...` | Limita le syscall disponibili; il valore predefinito di Docker blocca \~44, i profili personalizzati possono bloccare di più |133| `--security-opt seccomp=...` | Limita le syscall disponibili; il valore predefinito di Docker blocca \~44, i profili personalizzati possono bloccare di più |

136| `--read-only` | Rende il filesystem root del container immutabile, impedendo all'agente di persistere i cambiamenti |134| `--read-only` | Rende il filesystem root del container immutabile, impedendo all'agente di persistere i cambiamenti |

137| `--tmpfs /tmp:...` | Fornisce una directory temporanea scrivibile che viene cancellata quando il container si ferma |135| `--tmpfs /tmp:...` | Fornisce una directory temporanea scrivibile che viene cancellata quando il container si ferma |

138| `--network none` | Rimuove tutte le interfacce di rete; l'agente comunica attraverso il socket Unix montato di seguito |136| `--network none` | Isola il container dalle reti esterne |

139| `--memory 2g` | Limita l'utilizzo della memoria per prevenire l'esaurimento delle risorse |137| `--memory 2g` | Limita l'utilizzo della memoria per prevenire l'esaurimento delle risorse |

140| `--pids-limit 100` | Limita il conteggio dei processi per prevenire fork bomb |138| `--pids-limit 100` | Limita il conteggio dei processi per prevenire fork bomb |

141| `--user 1000:1000` | Viene eseguito come utente non root |139| `--user 1000:1000` | Viene eseguito come utente non root |


144 142 

145**Architettura del socket Unix:**143**Architettura del socket Unix:**

146 144 

147Con `--network none`, il container non ha alcuna interfaccia di rete. L'unico modo per l'agente di raggiungere il mondo esterno è attraverso il socket Unix montato, che si connette a un proxy in esecuzione sull'host. Questo proxy può applicare allowlist di domini, iniettare credenziali e registrare tutto il traffico.145Con `--network none`, una ricerca DNS o una connessione diretta a un altro host non riesce all'interno del container. Per consentire al codice nel container di raggiungere altri host, esegui un proxy sull'host e monta il suo socket Unix nel container. Se punti `ANTHROPIC_BASE_URL` o `HTTP_PROXY` a una porta su `localhost`, come mostrato in [Configurare Claude Code per utilizzare un proxy](#configuring-claude-code-to-use-a-proxy), inoltra quella porta all'interno del container verso il socket.

148 146 

149Questa è la stessa architettura utilizzata da [sandbox-runtime](https://github.com/anthropics/sandbox-runtime). Anche se l'agente è compromesso tramite prompt injection, non può estrarre dati verso server arbitrari. Può solo comunicare attraverso il proxy, che controlla quali domini sono raggiungibili. Per ulteriori dettagli, consulta il [post del blog sul sandboxing di Claude Code](https://www.anthropic.com/engineering/claude-code-sandboxing).147Puoi configurare questo proxy per applicare allowlist di domini, iniettare credenziali e registrare tutto il traffico.

148 

149> [!WARNING]

150>

151> All'interno dell'allowlist del tuo proxy, l'agente può inviare dati a qualsiasi dominio consentito. Consenti solo i domini di cui l'agente ha bisogno.

150 152 

151**Opzioni di hardening aggiuntive:**153**Opzioni di hardening aggiuntive:**

152 154 

Details

1340 | "default" // Standard permission behavior1340 | "default" // Standard permission behavior

1341 | "acceptEdits" // Auto-accept file edits1341 | "acceptEdits" // Auto-accept file edits

1342 | "bypassPermissions" // Bypass permission checks; explicit ask rules still prompt1342 | "bypassPermissions" // Bypass permission checks; explicit ask rules still prompt

1343 | "plan" // Planning mode - explore without editing1343 | "plan" // Planning mode - Claude explores and plans

1344 | "dontAsk" // Don't prompt for permissions, deny if not pre-approved1344 | "dontAsk" // Don't prompt for permissions, deny if not pre-approved

1345 | "auto"; // A model classifier reviews actions such as shell commands and network requests1345 | "auto"; // A model classifier reviews actions such as shell commands and network requests

1346```1346```


1349 1349 

1350Tipo di funzione di permesso personalizzata per controllare l'uso degli strumenti.1350Tipo di funzione di permesso personalizzata per controllare l'uso degli strumenti.

1351 1351 

1352La funzione è il sostituto nell'SDK della richiesta di permesso interattiva: viene invocata solo quando il [flusso di valutazione dei permessi](https://code.claude.com/docs/it/agent-sdk/permissions.md#how-permissions-are-evaluated) si risolve in una richiesta. Le chiamate agli strumenti già approvate da una voce di `allowedTools`, da una regola di autorizzazione nelle impostazioni o dalla modalità di permesso, come `acceptEdits` o `bypassPermissions`, non la invocano mai. Per controllare ogni chiamata a uno strumento, usa invece un [hook `PreToolUse`](https://code.claude.com/docs/it/agent-sdk/hooks).1352La funzione sostituisce la richiesta di permesso interattiva. L'SDK chiama `canUseTool` quando il [flusso di valutazione dei permessi](https://code.claude.com/docs/it/agent-sdk/permissions.md#how-permissions-are-evaluated) si risolve in una richiesta di permesso. Le chiamate approvate in uno di questi modi vengono eseguite senza chiamare `canUseTool`:

1353 

1354* Una chiamata approvata da una voce di `allowedTools` o da una regola allow nelle impostazioni

1355* Una chiamata approvata dalla modalità di permesso, come una modifica a un file in modalità `acceptEdits`

1356 

1357Per controllare queste chiamate, usa un [hook `PreToolUse`](https://code.claude.com/docs/it/agent-sdk/hooks), che viene eseguito anche per esse.

1353 1358 

1354Una regola di autorizzazione non pre-approva le [azioni che nessuna modalità approva automaticamente](https://code.claude.com/docs/it/permission-modes.md#actions-no-mode-auto-approves); consulta [Come vengono valutati i permessi](https://code.claude.com/docs/it/agent-sdk/permissions.md#how-permissions-are-evaluated) per sapere quali di esse raggiungono la callback e cosa succede in modalità `dontAsk` e `auto`.1359Una regola di autorizzazione non pre-approva le [azioni che nessuna modalità approva automaticamente](https://code.claude.com/docs/it/permission-modes.md#actions-no-mode-auto-approves); consulta [Come vengono valutati i permessi](https://code.claude.com/docs/it/agent-sdk/permissions.md#how-permissions-are-evaluated) per sapere quali di esse raggiungono la callback e cosa succede in modalità `dontAsk` e `auto`.

1355 1360 


2006* Una ripresa che Claude Code interrompe perché [non riesce a riportare la sessione nel suo worktree](https://code.claude.com/docs/it/worktrees.md#the-session-resumes-outside-its-worktree), con `worktree_unverified` o `worktree_resume_refused`. Quella sezione indica quale errore contiene quale valore.2011* Una ripresa che Claude Code interrompe perché [non riesce a riportare la sessione nel suo worktree](https://code.claude.com/docs/it/worktrees.md#the-session-resumes-outside-its-worktree), con `worktree_unverified` o `worktree_resume_refused`. Quella sezione indica quale errore contiene quale valore.

2007* Un [`continue`](#options) rifiutato di una conversazione trattenuta da una sessione in background, con `session_held_by_background`. Per un [`resume`](#options) rifiutato di una conversazione di questo tipo, Claude Code scrive il risultato solo quando la variabile è impostata.2012* Un [`continue`](#options) rifiutato di una conversazione trattenuta da una sessione in background, con `session_held_by_background`. Per un [`resume`](#options) rifiutato di una conversazione di questo tipo, Claude Code scrive il risultato solo quando la variabile è impostata.

2008* Un avvio che Claude Code rifiuta perché [`failIfUnavailable`](#sandboxsettings) è attivo e la sandbox non può avviarsi, con `sandbox_required_unavailable`.2013* Un avvio che Claude Code rifiuta perché [`failIfUnavailable`](#sandboxsettings) è attivo e la sandbox non può avviarsi, con `sandbox_required_unavailable`.

2014* Un avvio che Claude Code rifiuta perché `~/.claude.json` non è un JSON valido, con `config_file_invalid`.

2009 2015 

2010Il tipo `SDKStartupFailureReason` elenca i valori che `startup_failure_reason` può assumere:2016Il tipo `SDKStartupFailureReason` elenca i valori che `startup_failure_reason` può assumere:

2011 2017 


2030 | "bypass_root"2036 | "bypass_root"

2031 | "org_config_required_unavailable"2037 | "org_config_required_unavailable"

2032 | "org_config_refused"2038 | "org_config_refused"

2033 | "sandbox_required_unavailable";2039 | "sandbox_required_unavailable"

2040 | "config_file_invalid";

2034```2041```

2035 2042 

2036Ogni valore indica un rifiuto:2043Ogni valore indica un rifiuto:


2057| `org_config_required_unavailable` | La sessione ha bisogno dei criteri e delle impostazioni gestite dell'organizzazione prima di potersi avviare, e non è stato possibile caricarli, ad esempio a causa di un errore di rete o di un errore del server di Anthropic. Richiede Agent SDK v0.3.293 o successivo |2064| `org_config_required_unavailable` | La sessione ha bisogno dei criteri e delle impostazioni gestite dell'organizzazione prima di potersi avviare, e non è stato possibile caricarli, ad esempio a causa di un errore di rete o di un errore del server di Anthropic. Richiede Agent SDK v0.3.293 o successivo |

2058| `org_config_refused` | Anthropic ha rifiutato di fornire i criteri e le impostazioni gestite dell'organizzazione per questo accesso, ad esempio perché l'accesso è scaduto o è stato revocato, o perché l'organizzazione non consente Claude Code per questo account. Richiede Agent SDK v0.3.293 o successivo |2065| `org_config_refused` | Anthropic ha rifiutato di fornire i criteri e le impostazioni gestite dell'organizzazione per questo accesso, ad esempio perché l'accesso è scaduto o è stato revocato, o perché l'organizzazione non consente Claude Code per questo account. Richiede Agent SDK v0.3.293 o successivo |

2059| `sandbox_required_unavailable` | [`failIfUnavailable`](#sandboxsettings) è attivo e la sandbox non può avviarsi. Il testo in `errors` termina con `Set sandbox.failIfUnavailable=false to allow unsandboxed execution.` Richiede Agent SDK v0.3.314 o successiva |2066| `sandbox_required_unavailable` | [`failIfUnavailable`](#sandboxsettings) è attivo e la sandbox non può avviarsi. Il testo in `errors` termina con `Set sandbox.failIfUnavailable=false to allow unsandboxed execution.` Richiede Agent SDK v0.3.314 o successiva |

2067| `config_file_invalid` | `~/.claude.json` non è un JSON valido. Claude Code lascia il file invariato, quindi un nuovo tentativo fallisce allo stesso modo finché qualcuno non lo ripara. `errors` indica il file e spiega come ripristinarlo o ripararlo. Consulta [Configuration error in \~/.claude.json](https://code.claude.com/docs/it/errors.md#configuration-error-in-claude-json). Richiede TypeScript Agent SDK v0.3.318 o successiva e Claude Code v2.1.318 o successiva |

2060 2068 

2061### `SDKSystemMessage`2069### `SDKSystemMessage`

2062 2070 


6108 6116 

6109> [!NOTE]6117> [!NOTE]

6110>6118>

6111> Il proxy sandbox integrato applica `allowedDomains` in base al nome host richiesto e non termina o ispeziona il traffico TLS, quindi tecniche come il [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) possono potenzialmente bypassarlo. Vedi [Limitazioni di sicurezza del sandboxing](https://code.claude.com/docs/it/sandboxing.md#security-limitations) per i dettagli e [Distribuzione sicura](https://code.claude.com/docs/it/agent-sdk/secure-deployment.md#traffic-forwarding) per configurare un proxy che termina TLS.6119> Il proxy sandbox integrato applica `allowedDomains` in base al nome host richiesto. Per impostazione predefinita, il proxy non termina né ispeziona il traffico TLS, quindi tecniche come il [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) possono potenzialmente bypassare `allowedDomains`. Vedi [Limitazioni di sicurezza del sandboxing](https://code.claude.com/docs/it/sandboxing.md#security-limitations) per i dettagli e [Deploy sicuro](https://code.claude.com/docs/it/agent-sdk/secure-deployment.md#traffic-forwarding) per configurare un proxy che termina TLS.

6112 6120 

6113### `SandboxFilesystemConfig`6121### `SandboxFilesystemConfig`

6114 6122 

Details

47Il callback si attiva in due casi:47Il callback si attiva in due casi:

48 48 

491. **Lo strumento ha bisogno di approvazione**: Claude vuole utilizzare uno strumento che non è approvato automaticamente da una [regola di autorizzazione](https://code.claude.com/docs/it/agent-sdk/permissions.md) o da una modalità di autorizzazione. Controlla `tool_name` per lo strumento (ad es. `"Bash"`, `"Write"`).491. **Lo strumento ha bisogno di approvazione**: Claude vuole utilizzare uno strumento che non è approvato automaticamente da una [regola di autorizzazione](https://code.claude.com/docs/it/agent-sdk/permissions.md) o da una modalità di autorizzazione. Controlla `tool_name` per lo strumento (ad es. `"Bash"`, `"Write"`).

502. **Claude pone una domanda**: Claude chiama lo strumento `AskUserQuestion`. Controlla se `tool_name == "AskUserQuestion"` per gestirlo diversamente. Se specifichi un array `tools`, includi `AskUserQuestion` affinché funzioni. Vedi [Gestire domande di chiarimento](#handle-clarifying-questions) per i dettagli.502. **Claude pone una domanda**: Claude chiama lo strumento `AskUserQuestion`. Verifica se `tool_name == "AskUserQuestion"` per gestirlo in modo diverso. Se specifichi un array `tools`, includi `AskUserQuestion` affinché funzioni. Per ulteriori informazioni, consulta [Gestire le domande di chiarimento](#handle-clarifying-questions).

51 51 

52> [!WARNING]52> [!WARNING]

53>53>

54> **Il callback non si attiva mai per gli strumenti approvati automaticamente.** Qualsiasi approvazione precedente nel [flusso di valutazione delle autorizzazioni](https://code.claude.com/docs/it/agent-sdk/permissions.md#how-permissions-are-evaluated), una regola di consentimento o una modalità come `acceptEdits` o `bypassPermissions`, risolve la chiamata prima che `canUseTool` sia consultato. Se elenchi uno strumento direttamente in `allowed_tools`, un controllo `canUseTool` per quello strumento viene eseguito solo quando il [flusso di valutazione](https://code.claude.com/docs/it/agent-sdk/permissions.md#how-permissions-are-evaluated) reindirizzi la chiamata a un prompt, come una regola di richiesta o la modalità `plan`. Per la logica che deve applicarsi a ogni chiamata di strumento, utilizza un [hook `PreToolUse`](https://code.claude.com/docs/it/agent-sdk/hooks), che viene eseguito prima del resto del flusso e può consentire, negare o modificare le richieste.54> **Un passaggio precedente può consentire o negare una chiamata prima che `canUseTool` venga eseguito.** Il [flusso di valutazione dei permessi](https://code.claude.com/docs/it/agent-sdk/permissions.md#how-permissions-are-evaluated) controlla le regole di negazione, la modalità di permesso e le regole di consenso prima del tuo callback.

55>55>

56> Una regola di consentimento non pre-approva le [azioni che nessuna modalità approva automaticamente](https://code.claude.com/docs/it/permission-modes.md#actions-no-mode-auto-approves); vedi [Come vengono valutate le autorizzazioni](https://code.claude.com/docs/it/agent-sdk/permissions.md#how-permissions-are-evaluated) per sapere quali di esse raggiungono il callback e cosa accade in modalità `dontAsk` e `auto`.56> Per eseguire i tuoi controlli sulle chiamate che una regola o la modalità di permesso ha già consentito, utilizza un [hook `PreToolUse`](https://code.claude.com/docs/it/agent-sdk/hooks), che viene eseguito per quelle chiamate e può consentirle, negarle o modificarle.

57 57 

58Puoi anche utilizzare l'[hook `PermissionRequest`](https://code.claude.com/docs/it/agent-sdk/hooks#available-hooks) per inviare notifiche esterne (Slack, email, push) quando Claude è in attesa di approvazione.58Puoi anche utilizzare l'[hook `PermissionRequest`](https://code.claude.com/docs/it/agent-sdk/hooks#available-hooks) per inviare notifiche esterne (Slack, email, push) quando Claude è in attesa di approvazione.

59 59 

agent-view.md +2 −2

Details

1020 1020 

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

1022 1022 

1023Con il programma di installazione nativo, la voce appare come Claude Code e l'autorizzazione persiste tra gli aggiornamenti. Con altri metodi di installazione come Homebrew o npm, la voce mostra il percorso del binario e potrebbe essere necessario concedere di nuovo l'accesso dopo l'aggiornamento.1023In entrambi gli elenchi, cerca una voce denominata Claude Code, oppure una denominata con il percorso o il nome file del binario `claude`. Quel nome file può essere un numero di versione come `2.1.316`. Se `Operation not permitted` si ripresenta dopo un aggiornamento di Claude Code, cerca una nuova voce, ad esempio una denominata con la nuova versione. Se è presente, concedile l'accesso.

1024 1024 

1025### Le sessioni in background non riescono a raggiungere host della rete locale su macOS1025### Le sessioni in background non riescono a raggiungere host della rete locale su macOS

1026 1026 


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

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

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

1070| v2.1.295 | Su macOS con l'installer nativo, le sessioni in background che si riavviano insieme dopo un aggiornamento vengono eseguite sotto la stessa voce di Claude Code che detiene l'[accesso alle cartelle protette](#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos) che hai concesso. Prima di questa versione, quelle sessioni potevano invece essere eseguite sotto il percorso del binario stesso. macOS elenca quel percorso come voce separata, quindi le richieste di accesso alle cartelle potevano ripresentarsi dopo un aggiornamento. |1070| v2.1.295 | Su macOS con l'installer nativo, le sessioni in background che si riavviano insieme dopo un aggiornamento eseguono i loro processi host dalla stessa cartella `~/.local/share/claude/ClaudeCode.app`. Prima di questa versione, quei processi potevano invece essere eseguiti dal percorso del binario stesso. macOS può elencare quel percorso come voce separata, quindi le [richieste di accesso alle cartelle](#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos) potevano ripresentarsi dopo un aggiornamento. |

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

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

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

Details

459export ANTHROPIC_BEDROCK_SERVICE_TIER=priority459export ANTHROPIC_BEDROCK_SERVICE_TIER=priority

460```460```

461 461 

462Claude Code invia questo come intestazione `X-Amzn-Bedrock-Service-Tier` su ogni richiesta. La disponibilità del livello varia in base al modello e alla regione. La capacità riservata utilizza un [ARN di throughput fornito](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) come ID del modello invece di questa impostazione.462Claude Code invia questo valore come intestazione `X-Amzn-Bedrock-Service-Tier` su ogni richiesta all'[Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) proveniente da una sessione in cui la variabile è impostata, ad eccezione dei suoi [controlli di accesso ai modelli](#startup-model-checks). L'impostazione non ha alcun effetto sulle richieste all'[endpoint Mantle](#use-the-mantle-endpoint) o tramite un [gateway delle app Claude](https://code.claude.com/docs/it/claude-apps-gateway). La disponibilità del livello varia in base al modello e alla regione. La capacità riservata utilizza un [ARN di throughput fornito](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) come ID del modello invece di questa impostazione.

463 

464Per includere le [sessioni in background](https://code.claude.com/docs/it/agent-view.md#settings-and-provider) che avvii da un terminale, imposta `ANTHROPIC_BEDROCK_SERVICE_TIER` nel blocco [`env`](https://code.claude.com/docs/it/settings-reference#env) delle tue impostazioni. Queste sessioni ricevono il valore che esporti solo quando è stata la shell che ha avviato il [supervisore](https://code.claude.com/docs/it/agent-view.md#the-supervisor-process) a esportarlo.

463 465 

464## AWS Guardrails466## AWS Guardrails

465 467 


487 489 

488### Abilita Mantle490### Abilita Mantle

489 491 

490Con le credenziali AWS già configurate, imposta `CLAUDE_CODE_USE_MANTLE` per instradare le richieste all'endpoint Mantle:492Con le credenziali AWS già configurate, imposta `CLAUDE_CODE_USE_MANTLE` e la tua regione AWS:

491 493 

492```bash theme={null}494```bash theme={null}

493export CLAUDE_CODE_USE_MANTLE=1495export CLAUDE_CODE_USE_MANTLE=1


587 589 

588* Specifica il modello come ID di [profilo di inferenza](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html)590* Specifica il modello come ID di [profilo di inferenza](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html)

589 591 

590Claude Code utilizza l'API Amazon Bedrock [Invoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) e non supporta l'API Converse.

591 

592### Errori di streaming dietro un gateway o proxy592### Errori di streaming dietro un gateway o proxy

593 593 

594Amazon Bedrock trasmette le risposte `InvokeModelWithResponseStream` in un formato binario event-stream con l'intestazione `Content-Type: application/vnd.amazon.eventstream`. Un gateway o proxy tra Claude Code e Amazon Bedrock deve inoltrare il corpo della risposta e le sue intestazioni, incluso `Content-Type`, così come Amazon Bedrock le ha inviate.594Amazon Bedrock trasmette le risposte `InvokeModelWithResponseStream` in un formato binario event-stream con l'intestazione `Content-Type: application/vnd.amazon.eventstream`. Un gateway o proxy tra Claude Code e Amazon Bedrock deve inoltrare il corpo della risposta e le sue intestazioni, incluso `Content-Type`, così come Amazon Bedrock le ha inviate.


618* Se l'errore nomina un'azione `bedrock-mantle:`, concedi alla tua identità IAM quell'azione.618* Se l'errore nomina un'azione `bedrock-mantle:`, concedi alla tua identità IAM quell'azione.

619* Se l'errore non nomina alcuna azione e le tue credenziali sono valide, il tuo account AWS non ha ricevuto l'accesso al modello che hai richiesto. Contatta il tuo team di account AWS per richiedere l'accesso.619* Se l'errore non nomina alcuna azione e le tue credenziali sono valide, il tuo account AWS non ha ricevuto l'accesso al modello che hai richiesto. Contatta il tuo team di account AWS per richiedere l'accesso.

620 620 

621Un `400` che nomina l'ID del modello significa che quel modello non è servito su Mantle. Mantle ha il suo proprio lineup di modelli separato dal catalogo Amazon Bedrock standard, quindi gli ID del profilo di inferenza come `us.anthropic.claude-sonnet-4-6` non funzioneranno. Utilizza un ID nel formato Mantle, o abilita [entrambi gli endpoint](#run-mantle-alongside-the-invoke-api) in modo che Claude Code instrada ogni richiesta all'endpoint in cui il modello è disponibile.621Un `400` che nomina l'ID del modello significa che quel modello non è servito su Mantle. Mantle ha il suo proprio lineup di modelli separato dal catalogo Amazon Bedrock standard, quindi gli ID del profilo di inferenza come `us.anthropic.claude-sonnet-4-6` non funzionano. Utilizza un ID nel formato Mantle, o abilita [entrambi gli endpoint](#run-mantle-alongside-the-invoke-api) in modo che Claude Code invii gli ID del profilo di inferenza all'API Invoke.

622 622 

623## Risorse aggiuntive623## Risorse aggiuntive

624 624 

Details

155- Integration tests need DATABASE_URL set, see .env.example155- Integration tests need DATABASE_URL set, see .env.example

156```156```

157 157 

158In una sessione, esegui `/context` per confermare che Claude ha caricato il file.158In una sessione, esegui [`/context all`](https://code.claude.com/docs/it/commands#all-commands) per confermare che Claude ha caricato il file.

159 159 

160Nota che la riga del controllo dei tipi contiene solo il comando. Claude deve conoscere il comando per poter verificare il proprio lavoro man mano. Se vuoi anche che Claude Code *imponga* il superamento del controllo dei tipi prima che Claude finisca, quello è un compito per un [hook `Stop`](#enforce-the-check-with-a-stop-hook). Una riga come `Always typecheck before you finish` in questo file funziona la maggior parte delle volte, non sempre.160Nota che la riga del controllo dei tipi contiene solo il comando. Claude deve conoscere il comando per poter verificare il proprio lavoro man mano. Se vuoi anche che Claude Code *imponga* il superamento del controllo dei tipi prima che Claude finisca, quello è un compito per un [hook `Stop`](#enforce-the-check-with-a-stop-hook). Una riga come `Always typecheck before you finish` in questo file funziona la maggior parte delle volte, non sempre.

161 161 


544In uno script vorrai quasi sempre qualche flag in più:544In uno script vorrai quasi sempre qualche flag in più:

545 545 

546* [`--bare`](https://code.claude.com/docs/it/headless#start-faster-with-bare-mode) salta hook, skill, plugin, server MCP e file `CLAUDE.md`, sia quelli del repository sia quelli della macchina, in modo che l'esecuzione faccia la stessa cosa ovunque venga eseguita. Inoltre non tocca mai il tuo accesso a claude.ai: l'autenticazione proviene da `ANTHROPIC_API_KEY`, da un `apiKeyHelper` nel file che passi con `--settings` o dalle credenziali del tuo cloud provider.546* [`--bare`](https://code.claude.com/docs/it/headless#start-faster-with-bare-mode) salta hook, skill, plugin, server MCP e file `CLAUDE.md`, sia quelli del repository sia quelli della macchina, in modo che l'esecuzione faccia la stessa cosa ovunque venga eseguita. Inoltre non tocca mai il tuo accesso a claude.ai: l'autenticazione proviene da `ANTHROPIC_API_KEY`, da un `apiKeyHelper` nel file che passi con `--settings` o dalle credenziali del tuo cloud provider.

547* `--append-system-prompt`, `--mcp-config` e `--settings` passano esplicitamente ciò di cui l'esecuzione *ha* bisogno.547* `--append-system-prompt`, `--mcp-config` e `--settings` passano esplicitamente ciò di cui l'esecuzione *ha* bisogno. Gli hook che passi con `--settings` [non vengono eseguiti con `--bare`](https://code.claude.com/docs/it/headless#start-faster-with-bare-mode), quindi non usare `--bare` per un'esecuzione che ne ha bisogno.

548* `--allowedTools` pre-approva i suoi strumenti, e [`--permission-mode dontAsk`](https://code.claude.com/docs/it/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) rifiuta qualsiasi altra cosa che avrebbe richiesto conferma.548* `--allowedTools` pre-approva i suoi strumenti, e [`--permission-mode dontAsk`](https://code.claude.com/docs/it/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) rifiuta qualsiasi altra cosa che avrebbe richiesto conferma.

549* `--output-format json` ti fornisce un singolo oggetto risultato da analizzare, e `stream-json` con `--verbose` trasmette gli eventi man mano che accadono.549* `--output-format json` ti fornisce un singolo oggetto risultato da analizzare, e `stream-json` con `--verbose` trasmette gli eventi man mano che accadono.

550 550 

Details

494 494 

495* Se STS rifiuta o non è raggiungibile, il gateway non invia la richiesta con le credenziali proprie dell'upstream. Registra l'errore STS con ciò che occorre verificare, quindi prova l'upstream successivo che hai elencato. [Messaggi di errore dell'upstream](#upstream-error-messages) descrive ciò che riceve il client quando nessun upstream ha successo. Un upstream successivo senza `assume_role` servirebbe la richiesta con le proprie credenziali, quindi elencane uno solo se è ciò che desideri.495* Se STS rifiuta o non è raggiungibile, il gateway non invia la richiesta con le credenziali proprie dell'upstream. Registra l'errore STS con ciò che occorre verificare, quindi prova l'upstream successivo che hai elencato. [Messaggi di errore dell'upstream](#upstream-error-messages) descrive ciò che riceve il client quando nessun upstream ha successo. Un upstream successivo senza `assume_role` servirebbe la richiesta con le proprie credenziali, quindi elencane uno solo se è ciò che desideri.

496* Il gateway chiama l'endpoint STS regionale `sts.<region>.amazonaws.com`, che la sua rete deve poter raggiungere. Per l'endpoint FIPS, imposta `AWS_USE_FIPS_ENDPOINT=true` nell'ambiente del gateway anziché `use_fips_endpoint` in un file di configurazione AWS.496* Il gateway chiama l'endpoint STS regionale `sts.<region>.amazonaws.com`, che la sua rete deve poter raggiungere. Per l'endpoint FIPS, imposta `AWS_USE_FIPS_ENDPOINT=true` nell'ambiente del gateway anziché `use_fips_endpoint` in un file di configurazione AWS.

497* `assume_role` si applica solo a `provider: bedrock` e richiede credenziali di origine SigV4: il gateway si rifiuta di avviarsi quando è impostato insieme a `aws_bearer_token`.497* `assume_role` richiede credenziali di origine SigV4: il gateway si rifiuta di avviarsi quando è impostato accanto a `aws_bearer_token`.

498* Senza un [elenco `groups`](#send-each-team-to-its-own-upstream), ogni sviluppatore ammesso dal gateway può usare questo upstream. Per limitare i modelli che uno sviluppatore può usare, imposta `availableModels` in una policy [`managed`](#managed).498* Senza un [elenco `groups`](#send-each-team-to-its-own-upstream), ogni sviluppatore ammesso dal gateway può usare questo upstream. Per limitare i modelli che uno sviluppatore può usare, imposta `availableModels` in una policy [`managed`](#managed).

499* Per evitare che un modello servito tramite il ruolo venga servito anche da un altro account, assegnagli un id personalizzato la cui mappa `upstream_model` contenga solo il nome di questo upstream. Per un id di questo tipo il gateway salta ogni altro upstream, quindi né la richiesta né il conteggio dei token per una richiesta interrotta possono eseguire il failover su un altro account.499* Per evitare che un modello servito tramite il ruolo venga servito anche da un altro account, assegnagli un id personalizzato la cui mappa `upstream_model` contenga solo il nome di questo upstream. Per un id di questo tipo il gateway salta ogni altro upstream, quindi né la richiesta né il conteggio dei token per una richiesta interrotta possono eseguire il failover su un altro account.

500* Una richiesta per un nome di modello integrato può comunque [raggiungere questo upstream](#multiple-upstreams), e il gateway la firma con lo stesso ruolo. Elenca questo upstream per ultimo a meno che il suo account non debba servire anche quei modelli.500* Una richiesta per un nome di modello integrato può comunque [raggiungere questo upstream](#multiple-upstreams), e il gateway la firma con lo stesso ruolo. Elenca questo upstream per ultimo a meno che il suo account non debba servire anche quei modelli.


556| `region` | Sì | Regione AWS. Il gateway ne deriva l'endpoint come `https://bedrock-mantle.<region>.api.aws/anthropic`. |556| `region` | Sì | Regione AWS. Il gateway ne deriva l'endpoint come `https://bedrock-mantle.<region>.api.aws/anthropic`. |

557| `models` | Sì | I modelli a cui il tuo account AWS ha accesso su Mantle, indicati come li inviano i client, ad esempio `claude-haiku-4-5`. Solo questi vanno a questo upstream, e ogni altro modello passa all'upstream successivo. |557| `models` | Sì | I modelli a cui il tuo account AWS ha accesso su Mantle, indicati come li inviano i client, ad esempio `claude-haiku-4-5`. Solo questi vanno a questo upstream, e ogni altro modello passa all'upstream successivo. |

558| `auth` | No | Accetta le stesse chiavi del blocco `auth` dell'upstream [Amazon Bedrock](#amazon-bedrock), con le stesse regole. |558| `auth` | No | Accetta le stesse chiavi del blocco `auth` dell'upstream [Amazon Bedrock](#amazon-bedrock), con le stesse regole. |

559| `assume_role` | No | Il ruolo attraverso cui passano le richieste di questo upstream, con le stesse chiavi [di un upstream `bedrock`](#bedrock-in-another-aws-account), incluso `session_name` per l'[attribuzione per sviluppatore](#per-developer-aws-cost-attribution). Assegna al ruolo le azioni IAM di Mantle. Richiede un gateway che esegue Claude Code v2.1.318 o successiva. Un gateway precedente termina all'avvio con `Unrecognized key(s) in object: 'assume_role'`. |

559| `base_url` | No | Override dell'endpoint derivato. Mantieni il percorso `/anthropic` alla fine. |560| `base_url` | No | Override dell'endpoint derivato. Mantieni il percorso `/anthropic` alla fine. |

560 561 

561Concedi all'identità AWS dell'upstream le azioni IAM proprie di Mantle per l'inferenza e il conteggio dei token, elencate in [Usare l'endpoint Mantle](https://code.claude.com/docs/it/amazon-bedrock.md#use-the-mantle-endpoint).562Concedi all'identità AWS dell'upstream le azioni IAM proprie di Mantle per l'inferenza e il conteggio dei token, elencate in [Usare l'endpoint Mantle](https://code.claude.com/docs/it/amazon-bedrock.md#use-the-mantle-endpoint).


565Le impostazioni `guardrail` e `assume_role` di un upstream `bedrock` non si estendono alle richieste servite da Mantle:566Le impostazioni `guardrail` e `assume_role` di un upstream `bedrock` non si estendono alle richieste servite da Mantle:

566 567 

567* **`guardrail`**: il gateway non applica alcun [guardrail Bedrock](#apply-an-amazon-bedrock-guardrail) alle richieste che invia a Mantle, quindi si rifiuta di avviarsi quando è elencato un upstream `mantle` mentre un qualsiasi upstream `bedrock` imposta `guardrail`.568* **`guardrail`**: il gateway non applica alcun [guardrail Bedrock](#apply-an-amazon-bedrock-guardrail) alle richieste che invia a Mantle, quindi si rifiuta di avviarsi quando è elencato un upstream `mantle` mentre un qualsiasi upstream `bedrock` imposta `guardrail`.

568* **`assume_role`**: un upstream `mantle` non accetta [`assume_role`](#bedrock-in-another-aws-account). Le richieste servite da Mantle vengono inviate con le credenziali `auth` proprie dell'upstream `mantle` e non vengono [attribuite per sviluppatore](#per-developer-aws-cost-attribution).569* **`assume_role`**: impostalo sull'upstream `mantle` stesso. Senza di esso, le richieste servite da Mantle vengono inviate con le credenziali `auth` proprie dell'upstream `mantle`.

569 570 

570Per il significato delle risposte di errore proprie di Mantle, consulta [Errori dell'endpoint Mantle](https://code.claude.com/docs/it/amazon-bedrock.md#mantle-endpoint-errors).571Per il significato delle risposte di errore proprie di Mantle, consulta [Errori dell'endpoint Mantle](https://code.claude.com/docs/it/amazon-bedrock.md#mantle-endpoint-errors).

571 572 

Details

424| Log: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, e gli sviluppatori vedono `Cloud gateway session expired` ogni `session.ttl_hours` | L'IdP ha accettato il token di aggiornamento ma non ha restituito alcun id\_token con esso, quindi il gateway ha chiesto all'endpoint userinfo dell'IdP le attestazioni dell'utente. L'IdP ha rifiutato il token di accesso aggiornato lì. Il gateway risponde `temporarily_unavailable`, quindi Claude Code mantiene il token di aggiornamento ma non può rinnovare la sessione. Le versioni del gateway precedenti a v2.1.260 registrano la stessa riga senza il dettaglio `(at …)`. | Imposta [`oidc.scope_on_refresh: true`](https://code.claude.com/docs/it/claude-apps-gateway-config#oidc), disponibile nel gateway v2.1.260 o successivo, in modo che la richiesta di aggiornamento chieda di nuovo `openid`. Alcuni IdP, come Okta, restituiscono un id\_token all'aggiornamento solo quando richiesto. Su PingFederate, abilita **Return ID Token On Refresh Grant** in **Applications > OAuth > OpenID Connect Policy Management** invece. La chiave non cambia il comportamento di PingFederate. Per altri IdP che ancora lo omettono, controlla se l'endpoint userinfo accetta token di accesso emessi da un aggiornamento. Come misura temporanea, aumenta [`session.ttl_hours`](https://code.claude.com/docs/it/claude-apps-gateway-config#session). Vedi [Identity provider setup](#identity-provider-setup) per il compromesso di deprovisioning. |424| Log: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, e gli sviluppatori vedono `Cloud gateway session expired` ogni `session.ttl_hours` | L'IdP ha accettato il token di aggiornamento ma non ha restituito alcun id\_token con esso, quindi il gateway ha chiesto all'endpoint userinfo dell'IdP le attestazioni dell'utente. L'IdP ha rifiutato il token di accesso aggiornato lì. Il gateway risponde `temporarily_unavailable`, quindi Claude Code mantiene il token di aggiornamento ma non può rinnovare la sessione. Le versioni del gateway precedenti a v2.1.260 registrano la stessa riga senza il dettaglio `(at …)`. | Imposta [`oidc.scope_on_refresh: true`](https://code.claude.com/docs/it/claude-apps-gateway-config#oidc), disponibile nel gateway v2.1.260 o successivo, in modo che la richiesta di aggiornamento chieda di nuovo `openid`. Alcuni IdP, come Okta, restituiscono un id\_token all'aggiornamento solo quando richiesto. Su PingFederate, abilita **Return ID Token On Refresh Grant** in **Applications > OAuth > OpenID Connect Policy Management** invece. La chiave non cambia il comportamento di PingFederate. Per altri IdP che ancora lo omettono, controlla se l'endpoint userinfo accetta token di accesso emessi da un aggiornamento. Come misura temporanea, aumenta [`session.ttl_hours`](https://code.claude.com/docs/it/claude-apps-gateway-config#session). Vedi [Identity provider setup](#identity-provider-setup) per il compromesso di deprovisioning. |

425| Uno sviluppatore accede, poi ogni richiesta di quella sessione fallisce con un errore `431` | Il token di sessione nell'intestazione `Authorization` di ogni richiesta elenca i gruppi IdP dello sviluppatore, quindi per uno sviluppatore in molti gruppi le intestazioni possono superare in totale quanto il gateway accetta | Vedi [Intestazioni della richiesta troppo grandi dopo l'accesso](#request-headers-too-large-after-sign-in) per sapere quale limite si applica e cosa cambiare |425| Uno sviluppatore accede, poi ogni richiesta di quella sessione fallisce con un errore `431` | Il token di sessione nell'intestazione `Authorization` di ogni richiesta elenca i gruppi IdP dello sviluppatore, quindi per uno sviluppatore in molti gruppi le intestazioni possono superare in totale quanto il gateway accetta | Vedi [Intestazioni della richiesta troppo grandi dopo l'accesso](#request-headers-too-large-after-sign-in) per sapere quale limite si applica e cosa cambiare |

426| Ogni richiesta Amazon Bedrock restituisce 502; il log mostra `Could not load credentials from any providers` | Su EC2, il limite di hop predefinito di IMDSv2 di 1 blocca la richiesta di metadati dell'istanza dall'interno del container. L'avvio e `/readyz` passano comunque perché l'AWS SDK risolve le credenziali dell'istanza sulla prima richiesta, non alla costruzione del client | Aumenta il limite di hop con `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, oppure impostalo nel modello di lancio. La modifica si applica a ogni container sull'istanza. Preferisci i ruoli delle attività ECS dove disponibili, che leggono le credenziali dall'endpoint delle credenziali del container ECS ed evitano completamente la modifica, oppure applica la modifica su un'istanza del gateway dedicata per limitare l'esposizione. |426| Ogni richiesta Amazon Bedrock restituisce 502; il log mostra `Could not load credentials from any providers` | Su EC2, il limite di hop predefinito di IMDSv2 di 1 blocca la richiesta di metadati dell'istanza dall'interno del container. L'avvio e `/readyz` passano comunque perché l'AWS SDK risolve le credenziali dell'istanza sulla prima richiesta, non alla costruzione del client | Aumenta il limite di hop con `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, oppure impostalo nel modello di lancio. La modifica si applica a ogni container sull'istanza. Preferisci i ruoli delle attività ECS dove disponibili, che leggono le credenziali dall'endpoint delle credenziali del container ECS ed evitano completamente la modifica, oppure applica la modifica su un'istanza del gateway dedicata per limitare l'esposizione. |

427| Log: un avviso che contiene `upstream <name>: Google issued an access token that expires in <N>s`, su un upstream il cui file di credenziali Google ha tipo `external_account` | Le richieste riescono finché quel token di accesso non scade, poi falliscono a meno che il token a cui punta `credential_source` non sia stato rinnovato prima. | Se un processo scrive quel token in un file, fai in modo che ne scriva uno nuovo più di cinque minuti prima che il vecchio scada |

427| Al carico di picco, le risposte sono lente a iniziare o sembrano bloccarsi, oppure falliscono con un 502 `all upstreams failed` mentre l'upstream è integro | Una replica ha più richieste aperte di quante ne invia upstream contemporaneamente, quindi le richieste extra attendono all'interno del gateway. Su un upstream `provider: anthropic`, una richiesta che attende più a lungo di `timeouts.upstream_ttfb_ms` rinuncia a quell'upstream, il che produce il 502 quando nessun upstream successivo la serve. Il log mostra un avviso che contiene `client requests are open`. | Aggiungi repliche, oppure aumenta il limite su ogni replica. Vedi [Concurrent upstream requests](#concurrent-upstream-requests). |428| Al carico di picco, le risposte sono lente a iniziare o sembrano bloccarsi, oppure falliscono con un 502 `all upstreams failed` mentre l'upstream è integro | Una replica ha più richieste aperte di quante ne invia upstream contemporaneamente, quindi le richieste extra attendono all'interno del gateway. Su un upstream `provider: anthropic`, una richiesta che attende più a lungo di `timeouts.upstream_ttfb_ms` rinuncia a quell'upstream, il che produce il 502 quando nessun upstream successivo la serve. Il log mostra un avviso che contiene `client requests are open`. | Aggiungi repliche, oppure aumenta il limite su ogni replica. Vedi [Concurrent upstream requests](#concurrent-upstream-requests). |

428| Su un upstream diverso da `provider: anthropic`, un turno con una lunga pausa di ragionamento fallisce. Il proxy davanti al gateway registra una richiesta che rimane aperta per circa 12,5 minuti, poi una serie di errori `504` | Claude Code ha terminato uno stream che aveva consegnato il suo primo evento di risposta e poi trasportava solo ping keepalive. Ha inviato di nuovo la richiesta senza streaming, e ogni risposta richiede più tempo del timeout del proxy. | Aumenta `CLAUDE_STREAM_IDLE_TIMEOUT_MS` per i tuoi sviluppatori. Vedi [Il ragionamento lungo termina con timeout del proxy](#long-thinking-ends-in-proxy-timeouts). |429| Su un upstream diverso da `provider: anthropic`, un turno con una lunga pausa di ragionamento fallisce. Il proxy davanti al gateway registra una richiesta che rimane aperta per circa 12,5 minuti, poi una serie di errori `504` | Claude Code ha terminato uno stream che aveva consegnato il suo primo evento di risposta e poi trasportava solo ping keepalive. Ha inviato di nuovo la richiesta senza streaming, e ogni risposta richiede più tempo del timeout del proxy. | Aumenta `CLAUDE_STREAM_IDLE_TIMEOUT_MS` per i tuoi sviluppatori. Vedi [Il ragionamento lungo termina con timeout del proxy](#long-thinking-ends-in-proxy-timeouts). |

429| Su `provider: anthropic`, un turno con una lunga pausa di ragionamento fallisce. Il proxy registra una richiesta aperta per circa 20 minuti, poi errori `502` o `504` | Claude Code ha terminato uno stream che aveva consegnato il suo primo evento di risposta e poi trasportava solo ping keepalive. Ha inviato di nuovo la richiesta senza streaming, e ogni risposta richiede più tempo dell'attesa del gateway sull'upstream, `timeouts.upstream_ttfb_ms`, o del timeout del proxy. | Aumenta `CLAUDE_STREAM_IDLE_TIMEOUT_MS` per i tuoi sviluppatori. Vedi [Ragionamento lungo su un upstream Anthropic API](#long-thinking-on-an-anthropic-api-upstream). |430| Su `provider: anthropic`, un turno con una lunga pausa di ragionamento fallisce. Il proxy registra una richiesta aperta per circa 20 minuti, poi errori `502` o `504` | Claude Code ha terminato uno stream che aveva consegnato il suo primo evento di risposta e poi trasportava solo ping keepalive. Ha inviato di nuovo la richiesta senza streaming, e ogni risposta richiede più tempo dell'attesa del gateway sull'upstream, `timeouts.upstream_ttfb_ms`, o del timeout del proxy. | Aumenta `CLAUDE_STREAM_IDLE_TIMEOUT_MS` per i tuoi sviluppatori. Vedi [Ragionamento lungo su un upstream Anthropic API](#long-thinking-on-an-anthropic-api-upstream). |

Details

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

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

133| `shell-snapshots/` | Alias, funzioni e opzioni della shell acquisiti all'avvio e applicati dallo [strumento Bash](https://code.claude.com/docs/it/tools-reference.md#bash-tool-behavior) a ogni comando. Rimossi all'uscita pulita. La pulizia automatica elimina quelli rimasti dopo un arresto anomalo. |133| `shell-snapshots/` | Alias, funzioni e opzioni della shell acquisiti all'avvio e applicati dallo [strumento Bash](https://code.claude.com/docs/it/tools-reference.md#bash-tool-behavior) a ogni comando. Rimossi all'uscita pulita. La pulizia automatica elimina quelli rimasti dopo un arresto anomalo. |

134| `backups/` | Versioni precedenti di `~/.claude.json`, copiate quando Claude Code riscrive il file. Claude Code conserva le cinque più recenti, più una copia di qualsiasi versione che non è riuscito ad analizzare. |134| `backups/` | Versioni precedenti di `~/.claude.json`, copiate quando Claude Code riscrive il file. Claude Code conserva le cinque più recenti, più una copia di qualsiasi versione che non è riuscito ad analizzare. Superata la soglia di età, viene eliminata anche l'ultima copia che contiene la tua configurazione. Se il file corrente viene analizzato correttamente, contiene la tua configurazione ed è inferiore a 8 MiB, te ne rimane una nuova copia. |

135| `feedback-bundles/` | Archivi di trascrizioni oscurate scritti da `/feedback` con provider di terze parti o quando non sono configurate credenziali Anthropic, da inviare al team del tuo account Anthropic |135| `feedback-bundles/` | Archivi di trascrizioni oscurate scritti da `/feedback` con provider di terze parti o quando non sono configurate credenziali Anthropic, da inviare al team del tuo account Anthropic |

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

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


288| `~/.claude/tasks/` | I tuoi [elenchi di attività](https://code.claude.com/docs/it/interactive-mode.md#task-list), compresi quelli ancora in uso |288| `~/.claude/tasks/` | I tuoi [elenchi di attività](https://code.claude.com/docs/it/interactive-mode.md#task-list), compresi quelli ancora in uso |

289| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | La possibilità di recuperare le [skill sincronizzate](https://code.claude.com/docs/it/skills.md#how-synced-skills-behave) e i [plugin sincronizzati](https://code.claude.com/docs/it/plugins/loading.md#synced-plugins) che Claude Code ha rimosso |289| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | La possibilità di recuperare le [skill sincronizzate](https://code.claude.com/docs/it/skills.md#how-synced-skills-behave) e i [plugin sincronizzati](https://code.claude.com/docs/it/plugins/loading.md#synced-plugins) che Claude Code ha rimosso |

290| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Le copie dei record di installazione dei plugin che Claude Code ha scartato o non è riuscito a leggere. Nulla le rilegge |290| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Le copie dei record di installazione dei plugin che Claude Code ha scartato o non è riuscito a leggere. Nulla le rilegge |

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

292| `~/.claude/backups/` | Le copie precedenti da cui puoi [ripristinare `~/.claude.json`](https://code.claude.com/docs/it/errors#configuration-error-in-claude-json) |

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

293 294 

294Non eliminare `~/.claude.json`, `~/.claude/settings.json` o `~/.claude/plugins/`: contengono i dettagli del tuo account, le tue preferenze e i plugin installati.295Non eliminare `~/.claude.json`, `~/.claude/settings.json` o `~/.claude/plugins/`: contengono i dettagli del tuo account, le tue preferenze e i plugin installati.

Details

480* **"Unable to access your repository"**, segnalato da un thread quando il suo clone fallisce: GitHub ha rifiutato il clone, il repository non è stato trovato sotto il nome che il project ha, o il branch da cui al thread è stato chiesto di iniziare non esiste.480* **"Unable to access your repository"**, segnalato da un thread quando il suo clone fallisce: GitHub ha rifiutato il clone, il repository non è stato trovato sotto il nome che il project ha, o il branch da cui al thread è stato chiesto di iniziare non esiste.

481* **"Claude can't access"** un repository, mostrato quando salvi i repository nella finestra di dialogo **New project** o **Project settings**. Il messaggio continua con un link di installazione e un link di riconnessione. Usa il link di installazione se l'app Claude GitHub non è su quel repository, e il link di riconnessione se lo è, poiché l'app GitHub può essere installata su GitHub senza essere collegata all'account che hai connesso a Claude. Se il messaggio dice che l'app GitHub è sospesa o non include questo repository, segui il suo link a GitHub per correggere.481* **"Claude can't access"** un repository, mostrato quando salvi i repository nella finestra di dialogo **New project** o **Project settings**. Il messaggio continua con un link di installazione e un link di riconnessione. Usa il link di installazione se l'app Claude GitHub non è su quel repository, e il link di riconnessione se lo è, poiché l'app GitHub può essere installata su GitHub senza essere collegata all'account che hai connesso a Claude. Se il messaggio dice che l'app GitHub è sospesa o non include questo repository, segui il suo link a GitHub per correggere.

482 482 

483Per correggere uno qualsiasi di essi, fai clic sul pulsante che il messaggio offre, come **Install GitHub App** o **Select repositories on GitHub**, quindi **Check again**. Quando il blocco è dal lato dell'organizzazione GitHub, come un proprietario che non ha approvato l'app o un elenco di indirizzi IP che esclude Claude, il messaggio mostra un link **See how to fix** invece. Se non c'è un pulsante, segui [Configura l'accesso a GitHub](#set-up-github-access), quindi invia un altro messaggio per riprovare.483Per correggere l'accesso a GitHub per "Couldn't start the session" o "Unable to access your repository", fai clic sul pulsante che il messaggio offre, come **Install on GitHub** o **Select repositories**. Se non c'è un pulsante, segui [Configura l'accesso a GitHub](#set-up-github-access). Dopo la correzione, chiedi a Claude nella conversazione del project di avviare un nuovo thread per lo stesso lavoro.

484 484 

485### Un thread ha raggiunto il limite di utilizzo485### Un thread ha raggiunto il limite di utilizzo

486 486 


505 505 

506| Messaggio | Cosa fare |506| Messaggio | Cosa fare |

507| :- | :- |507| :- | :- |

508| "Unable to connect to repository" con "Claude couldn't reach GitHub to fetch your repository" | Aspetta un momento, quindi invia un altro messaggio per riprovare |508| "Unable to connect to repository" con "Claude couldn't reach GitHub to fetch your repository" | Aspetta un momento, quindi chiedi a Claude nella conversazione del project di avviare un nuovo thread per lo stesso lavoro |

509| "Unable to connect to repository" con "Claude couldn't access your repository or environment" | Il tuo account GitHub ha bisogno di accesso push al repository, e l'ambiente deve ancora esistere. Controlla entrambi in **Project settings > Environment**, quindi riprova |509| "Unable to connect to repository" con "Claude couldn't access your repository or environment" | Il tuo account GitHub ha bisogno di accesso push al repository, e l'ambiente deve ancora esistere. Controlla entrambi in **Project settings > Environment**, quindi riprova |

510| "Couldn't show the setup proposal" | L'app che hai aperto è più vecchia delle **Setup recommendations** che Claude ha inviato. Aggiorna la pagina o riavvia l'app desktop, o chiedi a Claude di proporre di nuovo la configurazione |510| "Couldn't show the setup proposal" | L'app che hai aperto è più vecchia delle **Setup recommendations** che Claude ha inviato. Aggiorna la pagina o riavvia l'app desktop, o chiedi a Claude di proporre di nuovo la configurazione |

511| "The project's environment was removed" | Scegli un ambiente diverso in **Project settings > Environment**; il cambiamento si applica ai nuovi thread |511| "The project's environment was removed" | Scegli un ambiente diverso in **Project settings > Environment**; il cambiamento si applica ai nuovi thread |

Details

12 12 

13## Vedi cosa è stato caricato nel contesto13## Vedi cosa è stato caricato nel contesto

14 14 

15Il comando `/context` mostra tutto ciò che occupa la finestra di contesto per la sessione corrente, suddiviso per categoria: prompt di sistema, strumenti di sistema, strumenti MCP, subagenti personalizzati con la fonte da cui ciascuno è stato caricato, file di memoria, skills e messaggi di conversazione. Eseguilo per primo per confermare se i tuoi `CLAUDE.md`, regole o descrizioni di skill sono presenti. La sezione skills in `/context` include anche [skills raggruppate](https://code.claude.com/docs/it/skills.md#bundled-skills), che `/skills` non elenca.15Il comando `/context` mostra tutto ciò che occupa la finestra di contesto per la sessione corrente, suddiviso per categoria: prompt di sistema, strumenti di sistema, strumenti MCP, subagent personalizzati con la fonte da cui ciascuno è stato caricato, file di memoria, skill e messaggi di conversazione. Eseguilo per primo per confermare se i tuoi `CLAUDE.md`, regole o descrizioni di skill sono presenti. La sezione skill in `/context` include anche le [skill incluse](https://code.claude.com/docs/it/skills.md#bundled-skills), che `/skills` non elenca.

16 

17Nella [modalità a schermo intero](https://code.claude.com/docs/it/fullscreen.md), `/context` comprime la suddivisione per elemento, quindi esegui `/context all` per espanderla.

16 18 

17Per dettagli su una categoria specifica, segui con il comando dedicato:19Per dettagli su una categoria specifica, segui con il comando dedicato:

18 20 

desktop.md +71 −14

Details

84 84 

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

86 86 

87Per impostare una modalità predefinita per le nuove sessioni locali, aggiungi `permissions.defaultMode` al tuo [file di impostazioni](https://code.claude.com/docs/it/settings.md#where-settings-live). L'app desktop legge gli stessi file di impostazioni della CLI. Una modalità scelta nel selettore viene ricordata per cartella e ha la precedenza su `defaultMode` per quella cartella, tranne Plan, che si applica solo alla sessione corrente.87Per impostare una modalità di permesso predefinita per le nuove sessioni locali, aggiungi `permissions.defaultMode` al tuo [file di impostazioni](https://code.claude.com/docs/it/settings.md#where-settings-live). Una modalità scelta in una sessione locale viene ricordata per cartella e ha la precedenza su un `defaultMode` nelle impostazioni `.claude/` del progetto. Una nuova sessione locale può comunque avviarsi in un `defaultMode` proveniente da `~/.claude/settings.json` o dalle impostazioni gestite, quindi controlla il selettore prima del tuo primo messaggio. Se scegli Plan, si applica solo a questa sessione.

88 88 

89| Modalità | Chiave di impostazione | Comportamento |89| Modalità | Chiave di impostazione | Comportamento |

90| - | - | - |90| - | - | - |


1289 1289 

1290> [!WARNING]1290> [!WARNING]

1291>1291>

1292> Se accedi a Desktop con un account Claude, non contare sul fatto che un'attività venga eseguita per tutta la notte. Desktop rinnova quell'accesso per l'attività solo mentre Desktop è in esecuzione e connesso, quindi l'accesso dell'attività può scadere dopo la disconnessione, e l'attività si interrompe. Il tempo rimanente al momento della disconnessione varia e può essere di pochi minuti soltanto.1292> Se accedi a Desktop con un account Claude, non fare affidamento sul fatto che un'attività venga eseguita durante la notte. Desktop rinnova l'accesso per l'attività solo mentre Desktop è in esecuzione, connesso e con l'accesso effettuato, quindi l'accesso dell'attività può scadere dopo la disconnessione, e l'attività allora si interrompe. Il tempo rimanente al momento della disconnessione varia e può essere di pochi minuti.

1293>1293>

1294> Il lavoro svolto fino a quel momento rimane sulla macchina remota e puoi continuare con un messaggio quando torni.1294> Il lavoro svolto fino a quel momento rimane sulla macchina remota e puoi continuare con un messaggio quando torni.

1295>1295>

1296> Se l'attività deve essere eseguita per tutta la notte:1296> Se l'attività deve essere eseguita per tutta la notte:

1297>1297>

1298> * [Mantieni il computer attivo](https://code.claude.com/docs/it/desktop-scheduled-tasks.md#how-scheduled-tasks-run) e online, con il coperchio aperto e Desktop in esecuzione1298> * [Mantieni il computer attivo](https://code.claude.com/docs/it/desktop-scheduled-tasks.md#how-scheduled-tasks-run) e online, con il coperchio aperto e Desktop in esecuzione e con l'accesso effettuato

1299> * Usa un accesso che funzioni senza prompt, come una chiave conservata dal tuo agente SSH, per la macchina remota e per ogni jump host lungo il percorso. Desktop può quindi riconnettersi da solo dopo un'interruzione.1299> * Usa un accesso che funzioni senza prompt, come una chiave conservata dal tuo agente SSH, per la macchina remota e per ogni jump host lungo il percorso. Desktop può quindi riconnettersi da solo dopo un'interruzione.

1300>1300>

1301> Per un'attività che deve essere eseguita mentre il computer è in sospensione o spento, avvia invece una [sessione cloud](#run-long-running-tasks-in-the-cloud).1301> Per un'attività che deve essere eseguita mentre il computer è in sospensione o spento, avvia invece una [sessione cloud](#run-long-running-tasks-in-the-cloud).


1303* **Dopo una sospensione o una perdita di rete**: recuperi l'attività in esecuzione se il processo [è ancora in esecuzione](#limits-while-desktop-is-disconnected) e Desktop può accedere senza prompt. Se non può, [invia un messaggio](#reconnect-after-sleep-or-a-network-loss).1303* **Dopo una sospensione o una perdita di rete**: recuperi l'attività in esecuzione se il processo [è ancora in esecuzione](#limits-while-desktop-is-disconnected) e Desktop può accedere senza prompt. Se non può, [invia un messaggio](#reconnect-after-sleep-or-a-network-loss).

1304* **Dopo una chiusura**: l'attività continua a essere eseguita, ma la perdi quando la sessione si riapre, a meno che Desktop non possa ricollegarsi al suo processo. Verifica [quando Desktop può ricollegarsi](#reopen-a-session-after-you-quit-desktop) prima di chiudere. Se hai perso l'attività, invia un messaggio per continuare.1304* **Dopo una chiusura**: l'attività continua a essere eseguita, ma la perdi quando la sessione si riapre, a meno che Desktop non possa ricollegarsi al suo processo. Verifica [quando Desktop può ricollegarsi](#reopen-a-session-after-you-quit-desktop) prima di chiudere. Se hai perso l'attività, invia un messaggio per continuare.

1305 1305 

1306Quando torni e l'attività non è terminata, controlla se ci sono avvisi che Desktop non riesce a riconnettersi, un errore di autenticazione o una richiesta in attesa:1306Quando torni e l'attività non è terminata, controlla se c'è la pagina di accesso di Desktop, un avviso che Desktop non riesce a riconnettersi, un errore di autenticazione o una richiesta in attesa:

1307 1307 

1308* **Pagina di accesso**: effettua l'accesso. Se l'attività si è interrotta, invia un messaggio per continuare. Con un piano Enterprise, la tua organizzazione può [disconnetterti dopo un numero prestabilito di giorni dall'accesso](https://support.claude.com/en/articles/13163631-configuring-session-security-settings), indipendentemente da quanto sei attivo. Con un account Claude, Desktop non rinnova l'accesso dell'attività mentre sei disconnesso dall'account, quindi l'attività può interrompersi.

1308* **Desktop non riesce a riconnettersi**: la sessione indica il motivo, e può farlo anche una notifica. Desktop potrebbe [aver bisogno che tu effettui l'accesso](#reconnect-after-sleep-or-a-network-loss).1309* **Desktop non riesce a riconnettersi**: la sessione indica il motivo, e può farlo anche una notifica. Desktop potrebbe [aver bisogno che tu effettui l'accesso](#reconnect-after-sleep-or-a-network-loss).

1309* **Errore di autenticazione**: il [token di accesso o la credenziale](#limits-while-desktop-is-disconnected) potrebbe essere scaduto. Con un account Claude, invia un messaggio per continuare. Con un provider di terze parti, consulta [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).1310* **Errore di autenticazione**: il [token di accesso o la credenziale](#limits-while-desktop-is-disconnected) potrebbe essere scaduto. Con un account Claude, invia un messaggio per continuare. Con un provider di terze parti, consulta [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

1310* **Richiesta in attesa**: [rispondi](#handle-requests-that-arrive-while-you-are-away)1311* **Richiesta in attesa**: [rispondi](#handle-requests-that-arrive-while-you-are-away)


1602 1603 

1603> [!NOTE]1604> [!NOTE]

1604>1605>

1605> Le connessioni da un comando richiedono Claude Desktop v3.6556.0 o successivo su macOS o Linux, con accesso effettuato con un account Claude. Gli amministratori possono [distribuire i comandi a un team](#distribute-commands-to-your-team).1606> Le connessioni da un comando richiedono Claude Desktop v3.6556.0 o versioni successive su macOS o Linux, oppure v4.16336.0 o versioni successive su Windows, con l'accesso effettuato tramite un account Claude. Su Windows, Desktop deve anche [connettersi tramite il client OpenSSH](#use-your-ssh-configuration). Gli amministratori possono [distribuire i comandi a un team](#distribute-commands-to-your-team).

1606 1607 

1607Desktop esegue il comando solo quando crei la connessione o [crei un'altra macchina](#create-another-machine), non ogni volta che ti connetti. Ogni voce è una connessione, che punta all'host che Desktop ha salvato per ultimo dal comando della voce.1608Desktop esegue il comando solo quando crei la connessione o [crei un'altra macchina](#create-another-machine), non ogni volta che ti connetti. Ogni voce è una connessione, che punta all'host che Desktop ha salvato per ultimo dal comando della voce.

1608 1609 


1632}1633}

1633```1634```

1634 1635 

1636Su Windows, un nome semplice come `acme-dev` non funziona, quindi [fai iniziare il comando con il percorso completo del programma](#write-the-command-on-windows).

1637 

1635Ogni voce accetta questi campi, e `id`, `name` e `command` sono obbligatori:1638Ogni voce accetta questi campi, e `id`, `name` e `command` sono obbligatori:

1636 1639 

1637| Campo | Valore |1640| Campo | Valore |


1646 1649 

1647##### Scrivere il comando1650##### Scrivere il comando

1648 1651 

1649Desktop avvia il programma direttamente, senza shell e senza terminale:1652Su Windows, inizia da [Scrivere il comando su Windows](#write-the-command-on-windows), che indica quali di queste regole si applicano lì.

1653 

1654Su macOS e Linux, Desktop avvia il programma direttamente, senza shell e senza terminale:

1650 1655 

1651* **Programma**: scrivi il suo nome, o il suo percorso completo a partire da `/`, senza spazi. Desktop cerca un nome semplice nel `PATH` che la tua shell di login esporta. I percorsi relativi come `./acme-dev`, i percorsi che iniziano con `~` e gli alias e le funzioni della shell non funzionano.1656* **Programma**: scrivi il suo nome, o il suo percorso completo a partire da `/`. Desktop cerca un nome semplice nel `PATH` esportato dalla tua shell di login. I percorsi relativi come `./acme-dev`, i percorsi che iniziano con `~` e gli alias e le funzioni della shell non funzionano.

1652* **Argomenti**: separa gli argomenti semplici con spazi. Il comando può contenere solo spazi, lettere ASCII, cifre e i caratteri `+,-./:=@_~`, e nessuna parola può iniziare con `~`.1657* **Spazi nel percorso**: racchiudi il percorso completo del programma tra virgolette singole, ad esempio `'/Users/you/My Tools/make-devbox' create`. Le virgolette, singole o doppie, richiedono Claude Desktop v4.16336.0 o versioni successive, e funzionano solo attorno al percorso del programma.

1653* **Script**: se il comando richiede qualcos'altro, come virgolette, pipe, variabili o un URL con `?` o `&`, inseriscilo in uno script. Rendi lo script eseguibile, fallo iniziare con una riga `#!` e imposta `command` sul suo percorso completo, come `/Users/you/bin/make-devbox`. Su macOS, tieni lo script fuori dalle cartelle Documenti, Scrivania e Download, dove macOS può bloccarlo.1658* **Argomenti**: separa gli argomenti con spazi. Al di fuori delle virgolette, il comando può contenere solo spazi, lettere ASCII, cifre e i caratteri `+,-./:=@_~`, e nessuna parola può iniziare con `~`. Un percorso tra virgolette può contenere anche alcuni altri caratteri, come `(`, `)` e `&`.

1659* **Script**: se il comando richiede qualcos'altro, come argomenti tra virgolette, pipe, variabili o un URL con `?` o `&`, inseriscilo in uno script. Rendi lo script eseguibile, fallo iniziare con una riga `#!` e imposta `command` sul suo percorso completo, ad esempio `/Users/you/bin/make-devbox`. Su macOS, tieni lo script fuori dalle cartelle Documenti, Scrivania e Download, dove macOS può bloccarlo.

1654* **Input**: il programma non riceve alcun input né alcun terminale, quindi non può chiederti nulla lì. Se il tuo strumento ti fa accedere tramite un browser o una richiesta, accedi prima da un terminale, e di nuovo ogni volta che quell'accesso scade.1660* **Input**: il programma non riceve alcun input né alcun terminale, quindi non può chiederti nulla lì. Se il tuo strumento ti fa accedere tramite un browser o una richiesta, accedi prima da un terminale, e di nuovo ogni volta che quell'accesso scade.

1655* **Ambiente**: il programma viene eseguito nella tua directory home con le variabili che la tua shell di login esporta. Desktop le legge all'avvio, come fa per [un `ProxyCommand`](#use-variables-from-your-shell-in-a-proxycommand), quindi chiudi e riapri Desktop dopo averle modificate.1661* **Ambiente**: il programma viene eseguito nella tua directory home con le variabili che la tua shell di login esporta. Desktop le legge all'avvio, come fa per [un `ProxyCommand`](#use-variables-from-your-shell-in-a-proxycommand), quindi chiudi e riapri Desktop dopo averle modificate.

1656* **Tempo limite**: Desktop arresta un programma che è ancora in esecuzione dopo 10 minuti. Il messaggio di avanzamento di Desktop non mostra l'output del programma. Per arrestare il programma prima, seleziona **Cancel** accanto a quel messaggio.1662* **Tempo limite**: Desktop arresta un programma che è ancora in esecuzione dopo 10 minuti. Il messaggio di avanzamento di Desktop non mostra l'output del programma. Per arrestare il programma prima, seleziona **Cancel** accanto a quel messaggio.


1680 1686 

1681Se il comando non riesce, **View details** nel messaggio di Desktop mostra l'ultima riga che il comando ha scritto sullo standard error, se presente.1687Se il comando non riesce, **View details** nel messaggio di Desktop mostra l'ultima riga che il comando ha scritto sullo standard error, se presente.

1682 1688 

1689##### Scrivere il comando su Windows

1690 

1691Su Windows, fai iniziare `command` con il percorso completo di un file `.exe`, `.cmd` o `.bat`, a partire dalla lettera dell'unità. Desktop non cerca un nome semplice nel tuo `PATH`, quindi una voce il cui `command` è `acme-dev create` è [grigia](#if-a-command-is-missing-or-gray).

1692 

1693La voce seguente in `%USERPROFILE%\.claude\settings.json` esegue `C:\Program Files\Acme\acme-dev.exe` con l'argomento `create`. In JSON, scrivi ogni barra rovesciata due volte, oppure scrivi `/` al suo posto. Le virgolette singole ci sono perché il percorso contiene uno spazio:

1694 

1695```json settings.json theme={null}

1696{

1697 "sshHostCommands": [

1698 {

1699 "id": "devbox",

1700 "name": "Dev box",

1701 "command": "'C:\\Program Files\\Acme\\acme-dev.exe' create"

1702 }

1703 ]

1704}

1705```

1706 

1707Segui le regole di [Scrivere il comando](#write-the-command) su spazi nel percorso, input, limite di tempo e ciò che il programma stampa. Al posto delle sue altre regole, segui queste:

1708 

1709* **Programma**: non usare un percorso di rete come `\\server\share`, una variabile come `%USERPROFILE%` o una lettera non ASCII. Con uno qualsiasi di questi elementi nel percorso, la voce è grigia. Se il nome della tua cartella utente contiene una lettera del genere, tieni il programma fuori da quella cartella.

1710* **Argomenti**: segui la regola Argomenti di Scrivere il comando. Il comando può contenere anche `\`, ma nessuna parola può terminare con esso.

1711* **Script**: usa un file `.cmd` o `.bat`, che Desktop esegue tramite `cmd.exe`. Anche tra virgolette, il percorso del file non può contenere `&`, `^` o `;`. In un file che scrivi tu, leggi gli argomenti con `%*`, perché da `%1` a `%9` dividono un argomento in corrispondenza di `,` e `=`.

1712* **Ambiente**: il programma riceve le variabili d'ambiente dell'app Desktop, non quelle di un profilo della shell. Dopo aver modificato una variabile, chiudi e riapri Desktop.

1713* **Test**: per vedere l'output che Desktop legge, esegui il comando nel Prompt dei comandi. Racchiudi tra virgolette doppie un percorso che contiene uno spazio e usa `NUL` per nessun input, come in `"C:\Program Files\Acme\acme-dev.exe" create < NUL > host.txt`. Il file deve contenere solo l'host. Il test crea anche una macchina, quindi eliminala in seguito con il tuo strumento.

1714 

1715##### Racchiudere uno strumento Windows che stampa altre righe

1716 

1717Se il tuo strumento stampa altre righe prima dell'host, come messaggi di avanzamento, racchiudilo in un file batch che stampa solo l'host. Il file seguente stampa l'ultima riga dell'output del tuo strumento, e termina con il codice del tuo strumento se questo non riesce:

1718 

1719```batch make-devbox.cmd theme={null}

1720@echo off

1721setlocal

1722set "host="

1723set "out=%TEMP%\acme-dev-%RANDOM%.txt"

1724call "C:\Program Files\Acme\acme-dev.exe" create > "%out%"

1725set "code=%ERRORLEVEL%"

1726for /f "usebackq delims=" %%L in ("%out%") do set "host=%%L"

1727del "%out%"

1728if not "%code%"=="0" exit /b %code%

1729setlocal EnableDelayedExpansion

1730echo(!host!

1731```

1732 

1733Imposta `command` sul percorso completo del file, ad esempio `C:\\tools\\make-devbox.cmd` in JSON. Lascia le sue ultime due righe così come sono, perché stampano l'host senza eseguirlo come comando.

1734 

1683##### Connettersi a un nuovo host1735##### Connettersi a un nuovo host

1684 1736 

1685Rispondi a due domande la prima volta che ti connetti a ogni nuovo host:1737Rispondi a due domande la prima volta che ti connetti a ogni nuovo host:

1686 1738 

1687* **Chiave dell'host**: con il controllo predefinito delle chiavi dell'host di OpenSSH, controlla l'impronta digitale della chiave, poi scegli se connetterti. Per saltare la domanda, fai in modo che il tuo comando aggiunga la chiave a `~/.ssh/known_hosts` prima di stampare l'host, usando una chiave che il tuo strumento ha appreso quando ha creato la macchina. Per una porta diversa dalla 22, quella riga inizia con `[host]:port`. Se il tuo strumento riutilizza i nomi host, rimuovi anche la riga della vecchia chiave.1739* **Chiave host**: con il controllo predefinito delle chiavi host di OpenSSH, verifica l'impronta digitale della chiave, poi scegli se connetterti. Per saltare la domanda, fai in modo che il tuo comando aggiunga la chiave a `~/.ssh/known_hosts`, oppure a `%USERPROFILE%\.ssh\known_hosts` su Windows, prima di stampare l'host:

1740 * Usa una chiave che il tuo strumento ha appreso quando ha creato la macchina

1741 * Per una porta diversa dalla 22, fai iniziare la riga con `[host]:port`

1742 * Se il tuo strumento riutilizza i nomi host, rimuovi anche la riga della vecchia chiave

1688* **Cartella**: scegli se ritieni attendibile la cartella che apri lì1743* **Cartella**: scegli se ritieni attendibile la cartella che apri lì

1689 1744 

1690Mantieni attivo il controllo delle chiavi dell'host per questi host e mantieni un file `known_hosts` per essi. Se `StrictHostKeyChecking` è `no` o `accept-new` e anche `UserKnownHostsFile` è `/dev/null` o `none`, nulla registra la chiave. Quando poi il tuo strumento riutilizza un nome, puoi connetterti a una macchina diversa senza alcun avviso.1745Mantieni attivo il controllo delle chiavi dell'host per questi host e mantieni un file `known_hosts` per essi. Se `StrictHostKeyChecking` è `no` o `accept-new` e anche `UserKnownHostsFile` è `/dev/null` o `none`, nulla registra la chiave. Quando poi il tuo strumento riutilizza un nome, puoi connetterti a una macchina diversa senza alcun avviso.


1746 1801 

1747* **Dove inserire la chiave**: se la tua policy MDM per Claude Code imposta già una [chiave di policy](https://code.claude.com/docs/it/managed-settings.md#how-claude-code-combines-managed-sources), inseriscila lì. Altrimenti, inseriscila nel file delle impostazioni gestite. Per impostazione predefinita, una policy di questo tipo ha la precedenza sul file, e Desktop ignora quindi le voci nel file. Impostala sul computer anche dove si applicano le [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md): Desktop ignora la chiave lì, e nelle impostazioni di progetto e locali.1802* **Dove inserire la chiave**: se la tua policy MDM per Claude Code imposta già una [chiave di policy](https://code.claude.com/docs/it/managed-settings.md#how-claude-code-combines-managed-sources), inseriscila lì. Altrimenti, inseriscila nel file delle impostazioni gestite. Per impostazione predefinita, una policy di questo tipo ha la precedenza sul file, e Desktop ignora quindi le voci nel file. Impostala sul computer anche dove si applicano le [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md): Desktop ignora la chiave lì, e nelle impostazioni di progetto e locali.

1748* **L'`id`**: se la voce `sshHostCommands` di un utente ha il tuo `id`, funziona solo la tua. Se qualsiasi altra connessione SSH lo ha, come una nelle `sshConfigs` di un utente, la tua voce è grigia. Scegli un `id` che difficilmente gli utenti sceglierebbero.1803* **L'`id`**: se la voce `sshHostCommands` di un utente ha il tuo `id`, funziona solo la tua. Se qualsiasi altra connessione SSH lo ha, come una nelle `sshConfigs` di un utente, la tua voce è grigia. Scegli un `id` che difficilmente gli utenti sceglierebbero.

1749* **Il programma**: indica il suo percorso completo, perché Desktop cerca un nome semplice nel `PATH` di ciascun utente. Il programma viene eseguito come l'utente, con le variabili che la sua shell di login esporta.1804* **Il programma**: indica il suo percorso completo, perché su macOS e Linux Desktop cerca un nome semplice nel `PATH` di ogni utente, e su Windows una voce con un nome semplice è grigia. Il programma viene eseguito come l'utente, con [le variabili di quell'utente](#write-the-command).

1805* **Ogni piattaforma**: distribuisci una voce ai computer Windows e un'altra ai computer macOS e Linux. Una voce con un [percorso Windows](#write-the-command-on-windows) è grigia su macOS e Linux, e una con un percorso macOS o Linux è grigia su Windows.

1750* **Le voci degli utenti**: Desktop tratta la voce di un utente come un [hook](https://code.claude.com/docs/it/hooks.md), perché entrambi eseguono un programma sul computer. Per consentire solo le tue voci, imposta [`strictPluginOnlyCustomization`](https://code.claude.com/docs/it/settings-reference#strictpluginonlycustomization) su `["hooks"]`, oppure aggiungi `"hooks"` al suo elenco. In questo modo blocchi anche gli hook di Claude Code dalle impostazioni utente, di progetto e locali, senza modo di mantenerli. Se invece imposti quella chiave o [`allowManagedHooksOnly`](https://code.claude.com/docs/it/settings-reference#allowmanagedhooksonly) su `true`, blocchi di più, come elenca la voce di ciascuna chiave.1806* **Le voci degli utenti**: Desktop tratta la voce di un utente come un [hook](https://code.claude.com/docs/it/hooks.md), perché entrambi eseguono un programma sul computer. Per consentire solo le tue voci, imposta [`strictPluginOnlyCustomization`](https://code.claude.com/docs/it/settings-reference#strictpluginonlycustomization) su `["hooks"]`, oppure aggiungi `"hooks"` al suo elenco. In questo modo blocchi anche gli hook di Claude Code dalle impostazioni utente, di progetto e locali, senza modo di mantenerli. Se invece imposti quella chiave o [`allowManagedHooksOnly`](https://code.claude.com/docs/it/settings-reference#allowmanagedhooksonly) su `true`, blocchi di più, come elenca la voce di ciascuna chiave.

1751* **Ogni voce**: per disattivare anche le tue voci, imposta [`disableAllHooks`](https://code.claude.com/docs/it/settings-reference#disableallhooks) nelle impostazioni gestite. Se imposti [`disableDesktopLocalSessions`](https://code.claude.com/docs/it/settings-reference#disabledesktoplocalsessions), o un'`sshHostAllowlist` che non consente alcun host, il selettore non elenca alcuna voce **Create** o **Create another**.1807* **Ogni voce**: per disattivare anche le tue voci, imposta [`disableAllHooks`](https://code.claude.com/docs/it/settings-reference#disableallhooks) nelle impostazioni gestite. Se imposti [`disableDesktopLocalSessions`](https://code.claude.com/docs/it/settings-reference#disabledesktoplocalsessions), o un'`sshHostAllowlist` che non consente alcun host, il selettore non elenca alcuna voce **Create** o **Create another**.

1752* **Dove contano i blocchi**: per queste voci, Desktop legge `allowManagedHooksOnly`, `strictPluginOnlyCustomization` e `disableAllHooks` dalle impostazioni gestite dal server e dal file o dalla policy del computer stesso, e applica il risultato più restrittivo. Ogni voce rimane grigia finché Desktop non ha verificato le impostazioni gestite dal server su claude.ai, anche se la tua organizzazione non ne ha.1808* **Dove contano i blocchi**: per queste voci, Desktop legge `allowManagedHooksOnly`, `strictPluginOnlyCustomization` e `disableAllHooks` dalle impostazioni gestite dal server e dal file o dalla policy del computer stesso, e applica il risultato più restrittivo. Ogni voce rimane grigia finché Desktop non ha verificato le impostazioni gestite dal server su claude.ai, anche se la tua organizzazione non ne ha.


1759Il selettore dell'ambiente non elenca alcuna voce **Create** o **Create another** in questi casi:1815Il selettore dell'ambiente non elenca alcuna voce **Create** o **Create another** in questi casi:

1760 1816 

1761* **Il file**: `~/.claude/settings.json` contiene [JSON non valido o un valore che lo schema rifiuta](https://code.claude.com/docs/it/settings.md#fix-a-broken-settings-file), hai scritto male la chiave oppure l'hai inserita nelle impostazioni di un progetto. Correggi il file.1817* **Il file**: `~/.claude/settings.json` contiene [JSON non valido o un valore che lo schema rifiuta](https://code.claude.com/docs/it/settings.md#fix-a-broken-settings-file), hai scritto male la chiave oppure l'hai inserita nelle impostazioni di un progetto. Correggi il file.

1762* **Piattaforma e account**: usi Windows, oppure un [provider di terze parti](https://code.claude.com/docs/it/third-party-integrations.md) invece di un account Claude. Aggiungi tu stesso ogni host come [connessione SSH](#ssh-sessions).1818* **Account**: usi un [provider di terze parti](https://code.claude.com/docs/it/third-party-integrations.md) invece di un account Claude. Aggiungi tu stesso ogni host come [connessione SSH](#ssh-sessions).

1819* **Windows**: Desktop è precedente alla v4.16336.0, oppure non si connette tramite il client OpenSSH. Aggiorna Desktop e soddisfa [i requisiti per il client OpenSSH](#use-your-ssh-configuration), poi chiudi e riapri Desktop.

1763* **Le impostazioni della tua organizzazione**: il tuo amministratore ha disattivato le sessioni locali o le sessioni SSH. Chiedigli se puoi usare i comandi.1820* **Le impostazioni della tua organizzazione**: il tuo amministratore ha disattivato le sessioni locali o le sessioni SSH. Chiedigli se puoi usare i comandi.

1764* **Nessun programma `ssh`**: Desktop non è riuscito ad avviare il client OpenSSH sul tuo computer. Installalo, oppure chiedi al tuo amministratore di consentirlo, poi riavvia Desktop.1821* **Nessun programma `ssh`**: Desktop non è riuscito ad avviare il client OpenSSH sul tuo computer. Installalo, oppure chiedi al tuo amministratore di consentirlo, poi riavvia Desktop.

1765 1822 

1766Una voce che non puoi selezionare è grigia. Passaci sopra il puntatore per vedere il motivo:1823Una voce che non puoi selezionare è grigia. Passaci sopra il puntatore per vedere il motivo:

1767 1824 

1768* **Un errore nella voce**: correggi il campo o il comando indicato dal messaggio. Se l'`id` è già in uso, assegna alla voce un altro `id`.1825* **Un errore nella voce**: correggi il campo o il comando indicato dal messaggio. Se l'`id` è già in uso, assegnane un altro alla voce. Su Windows, il comando deve [iniziare con il percorso completo del programma](#write-the-command-on-windows).

1769* **Un file delle impostazioni danneggiato**: mentre il tuo file delle impostazioni è danneggiato, le voci del tuo amministratore possono essere grigie, con un messaggio che indica il file. [Correggi il file](https://code.claude.com/docs/it/settings.md#fix-a-broken-settings-file).1826* **Un file delle impostazioni danneggiato**: mentre il tuo file delle impostazioni è danneggiato, le voci del tuo amministratore possono essere grigie, con un messaggio che indica il file. [Correggi il file](https://code.claude.com/docs/it/settings.md#fix-a-broken-settings-file).

1770* **Un nuovo host**: [**Create another**](#create-another-machine) è grigio per un minuto dopo che Desktop salva un host. Selezionalo dopo quel minuto. Prima di Claude Desktop v4.4212.0, **Replace Dev box's host** è grigio per 10 minuti.1827* **Un nuovo host**: [**Create another**](#create-another-machine) è grigio per un minuto dopo che Desktop salva un host. Selezionalo dopo quel minuto. Prima di Claude Desktop v4.4212.0, **Replace Dev box's host** è grigio per 10 minuti.

1771* **Gli hook sono disattivati o limitati**: le tue voci funzionano solo dove i tuoi hook possono essere eseguiti. Rimuovi `disableAllHooks` dalle tue impostazioni, oppure chiedi al tuo amministratore.1828* **Gli hook sono disattivati o limitati**: le tue voci funzionano solo dove i tuoi hook possono essere eseguiti. Rimuovi `disableAllHooks` dalle tue impostazioni, oppure chiedi al tuo amministratore.


1940| `disableMobileSimulatorTools` | imposta su `true` per bloccare gli strumenti di Claude per il controllo e l'acquisizione dei dispositivi nel [riquadro iOS Simulator](https://code.claude.com/docs/it/desktop-ios-simulator.md#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. |1997| `disableMobileSimulatorTools` | imposta su `true` per bloccare gli strumenti di Claude per il controllo e l'acquisizione dei dispositivi nel [riquadro iOS Simulator](https://code.claude.com/docs/it/desktop-ios-simulator.md#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. |

1941| `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. |1998| `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. |

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

1943| `sshHostCommands` | fornisci agli utenti [connessioni SSH il cui host proviene da un comando](#distribute-commands-to-your-team), insieme alle loro. Desktop la legge dal file di impostazioni gestite o dal criterio MDM sul computer e la ignora nelle [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md). Richiede Claude Desktop v3.6556.0 o successivo su macOS o Linux, con accesso tramite un account Claude. |2000| `sshHostCommands` | fornisci agli utenti [connessioni SSH il cui host proviene da un comando](#distribute-commands-to-your-team), insieme alle loro. Desktop la legge dal file di impostazioni gestite o dal criterio MDM sul computer e la ignora nelle [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md). Richiede Claude Desktop v3.6556.0 o successivo su macOS o Linux, oppure v4.16336.0 o successivo su Windows, con accesso tramite un account Claude. Su Windows, Desktop deve anche [connettersi tramite il client OpenSSH](#use-your-ssh-configuration). |

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

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

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

env-vars.md +3 −2

Details

139| `ANTHROPIC_BEDROCK_BASE_URL` | Sovrascrive l'URL dell'endpoint di Amazon Bedrock. Usala per endpoint Amazon Bedrock personalizzati o quando instradi le richieste attraverso un [gateway LLM](https://code.claude.com/docs/it/llm-gateway). Consulta [Amazon Bedrock](https://code.claude.com/docs/it/amazon-bedrock.md) |139| `ANTHROPIC_BEDROCK_BASE_URL` | Sovrascrive l'URL dell'endpoint di Amazon Bedrock. Usala per endpoint Amazon Bedrock personalizzati o quando instradi le richieste attraverso un [gateway LLM](https://code.claude.com/docs/it/llm-gateway). Consulta [Amazon Bedrock](https://code.claude.com/docs/it/amazon-bedrock.md) |

140| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sovrascrive l'URL dell'endpoint Amazon Bedrock Mantle. Consulta [Endpoint Mantle](https://code.claude.com/docs/it/amazon-bedrock.md#use-the-mantle-endpoint) |140| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sovrascrive l'URL dell'endpoint Amazon Bedrock Mantle. Consulta [Endpoint Mantle](https://code.claude.com/docs/it/amazon-bedrock.md#use-the-mantle-endpoint) |

141| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Prefisso del profilo di inferenza tra regioni (`us`, `eu`, `apac`, `jp`, `au` o `global`) che Claude Code prova per primo invece di quello derivato dalla regione AWS. Ignorata nelle regioni AWS GovCloud. Richiede Claude Code v2.1.224 o versioni successive. Consulta [Amazon Bedrock](https://code.claude.com/docs/it/amazon-bedrock.md#cross-region-inference-profile-prefixes) |141| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Prefisso del profilo di inferenza tra regioni (`us`, `eu`, `apac`, `jp`, `au` o `global`) che Claude Code prova per primo invece di quello derivato dalla regione AWS. Ignorata nelle regioni AWS GovCloud. Richiede Claude Code v2.1.224 o versioni successive. Consulta [Amazon Bedrock](https://code.claude.com/docs/it/amazon-bedrock.md#cross-region-inference-profile-prefixes) |

142| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Livello di servizio](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) di Amazon Bedrock (`default`, `flex` o `priority`). Inviato come header `X-Amzn-Bedrock-Service-Tier`. Consulta [Amazon Bedrock](https://code.claude.com/docs/it/amazon-bedrock.md#service-tiers) |142| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Livello di servizio](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) di Amazon Bedrock (`default`, `flex` o `priority`). Consulta [Amazon Bedrock](https://code.claude.com/docs/it/amazon-bedrock.md#service-tiers) |

143| `ANTHROPIC_BETAS` | Elenco separato da virgole di valori aggiuntivi dell'header `anthropic-beta` da includere nelle richieste API. Claude Code invia già gli header beta di cui ha bisogno; usala per aderire a una [beta dell'API Anthropic](https://platform.claude.com/docs/en/api/beta-headers) prima che Claude Code aggiunga il supporto nativo. A differenza del [flag `--betas`](https://code.claude.com/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 |143| `ANTHROPIC_BETAS` | Elenco separato da virgole di valori aggiuntivi dell'header `anthropic-beta` da includere nelle richieste API. Claude Code invia già gli header beta di cui ha bisogno; usala per aderire a una [beta dell'API Anthropic](https://platform.claude.com/docs/en/api/beta-headers) prima che Claude Code aggiunga il supporto nativo. A differenza del [flag `--betas`](https://code.claude.com/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 |

144| `ANTHROPIC_CUSTOM_HEADERS` | Header personalizzati da aggiungere alle richieste (formato `Name: Value`, separati da un a capo per più header). Se un nome o un valore contiene un carattere che un header HTTP non può trasportare, come una virgoletta curva o uno spazio a larghezza zero, la richiesta non riesce con un errore che identifica la coppia in base alla posizione. Richiede Claude Code v2.1.227 o versioni successive. [Invalid request header value](https://code.claude.com/docs/it/errors.md#invalid-request-header-value) elenca l'esatto set di caratteri e dove viene eseguito il controllo. Un valore che imposta un header di credenziali, organizzazione o tenant, instradamento o comportamento dell'API, come `Authorization` o `Host`, conta come [impostazione che richiede approvazione](https://code.claude.com/docs/it/server-managed-settings.md#environment-variables-and-the-approval-dialog) quando viene fornito dalle impostazioni gestite dal server. Dalle impostazioni di progetto o locali, tale valore segue le [regole su quando si applicano i valori `env`](https://code.claude.com/docs/it/settings-reference#when-claude-code-applies-env-values) |144| `ANTHROPIC_CUSTOM_HEADERS` | Header personalizzati da aggiungere alle richieste (formato `Name: Value`, separati da un a capo per più header). Se un nome o un valore contiene un carattere che un header HTTP non può trasportare, come una virgoletta curva o uno spazio a larghezza zero, la richiesta non riesce con un errore che identifica la coppia in base alla posizione. Richiede Claude Code v2.1.227 o versioni successive. [Invalid request header value](https://code.claude.com/docs/it/errors.md#invalid-request-header-value) elenca l'esatto set di caratteri e dove viene eseguito il controllo. Un valore che imposta un header di credenziali, organizzazione o tenant, instradamento o comportamento dell'API, come `Authorization` o `Host`, conta come [impostazione che richiede approvazione](https://code.claude.com/docs/it/server-managed-settings.md#environment-variables-and-the-approval-dialog) quando viene fornito dalle impostazioni gestite dal server. Dalle impostazioni di progetto o locali, tale valore segue le [regole su quando si applicano i valori `env`](https://code.claude.com/docs/it/settings-reference#when-claude-code-applies-env-values) |

145| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID del modello da aggiungere come voce personalizzata nel selettore `/model`. Usala per rendere selezionabile un modello non standard o specifico di un gateway senza sostituire gli alias integrati. Consulta [Configurazione del modello](https://code.claude.com/docs/it/model-config.md#add-a-custom-model-option) |145| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID del modello da aggiungere come voce personalizzata nel selettore `/model`. Usala per rendere selezionabile un modello non standard o specifico di un gateway senza sostituire gli alias integrati. Consulta [Configurazione del modello](https://code.claude.com/docs/it/model-config.md#add-a-custom-model-option) |


238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Imposta su `1` per saltare il controllo che verifica che una risposta in streaming di [Amazon Bedrock](https://code.claude.com/docs/it/amazon-bedrock.md) abbia il content-type `application/vnd.amazon.eventstream`. Senza questa variabile, quando una risposta ha un content-type diverso, Claude Code fa fallire la richiesta con un errore che indica quel tipo, il che significa che un [gateway o un proxy sta trasformando la risposta](https://code.claude.com/docs/it/amazon-bedrock.md#streaming-errors-behind-a-gateway-or-proxy). Configura il gateway in modo che inoltri l'header `Content-Type` e il corpo senza modifiche invece di impostare questa variabile. Richiede Claude Code v2.1.208 o versioni successive |238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Imposta su `1` per saltare il controllo che verifica che una risposta in streaming di [Amazon Bedrock](https://code.claude.com/docs/it/amazon-bedrock.md) abbia il content-type `application/vnd.amazon.eventstream`. Senza questa variabile, quando una risposta ha un content-type diverso, Claude Code fa fallire la richiesta con un errore che indica quel tipo, il che significa che un [gateway o un proxy sta trasformando la risposta](https://code.claude.com/docs/it/amazon-bedrock.md#streaming-errors-behind-a-gateway-or-proxy). Configura il gateway in modo che inoltri l'header `Content-Type` e il corpo senza modifiche invece di impostare questa variabile. Richiede Claude Code v2.1.208 o versioni successive |

239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Imposta `1` per interrompere il lavoro in corso di una [sessione in background](https://code.claude.com/docs/it/agent-view.md) quando il [supervisore](https://code.claude.com/docs/it/agent-view.md#the-supervisor-process) arresta, riavvia o aggiorna il processo di quella sessione, invece di passarlo al processo successivo della sessione. Quel lavoro comprende i comandi shell in background in esecuzione della sessione, più i subagent in background a partire dalla v2.1.198. Influisce solo su quel passaggio: spostare una sessione in background con `←` o [`/background`](https://code.claude.com/docs/it/agent-view#from-inside-a-session) trasferisce comunque il lavoro in background in corso. Richiede Claude Code v2.1.196 o successivo |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Imposta `1` per interrompere il lavoro in corso di una [sessione in background](https://code.claude.com/docs/it/agent-view.md) quando il [supervisore](https://code.claude.com/docs/it/agent-view.md#the-supervisor-process) arresta, riavvia o aggiorna il processo di quella sessione, invece di passarlo al processo successivo della sessione. Quel lavoro comprende i comandi shell in background in esecuzione della sessione, più i subagent in background a partire dalla v2.1.198. Influisce solo su quel passaggio: spostare una sessione in background con `←` o [`/background`](https://code.claude.com/docs/it/agent-view#from-inside-a-session) trasferisce comunque il lavoro in background in corso. Richiede Claude Code v2.1.196 o successivo |

240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Imposta su `1` per impedire a Claude Code di terminare i [comandi shell in background](https://code.claude.com/docs/it/interactive-mode.md#background-bash-commands) in caso di pressione sulla memoria. Per impostazione predefinita, su macOS e Linux, Claude Code termina le shell in background quando il sistema operativo segnala una pressione critica sulla memoria e la sessione è rimasta inattiva per 30 minuti senza turni o subagent in esecuzione. Windows non ha un segnale di pressione sulla memoria, quindi lì questa variabile non ha effetto. Richiede Claude Code v2.1.193 o versioni successive |240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Imposta su `1` per impedire a Claude Code di terminare i [comandi shell in background](https://code.claude.com/docs/it/interactive-mode.md#background-bash-commands) in caso di pressione sulla memoria. Per impostazione predefinita, su macOS e Linux, Claude Code termina le shell in background quando il sistema operativo segnala una pressione critica sulla memoria e la sessione è rimasta inattiva per 30 minuti senza turni o subagent in esecuzione. Windows non ha un segnale di pressione sulla memoria, quindi lì questa variabile non ha effetto. Richiede Claude Code v2.1.193 o versioni successive |

241| `CLAUDE_CODE_DISABLE_BG_STABLE_PATH` | Su macOS con l'installer nativo, imposta su `1` per eseguire il processo host di ogni [sessione in background](https://code.claude.com/docs/it/agent-view.md) dal binario installato, non da `~/.local/share/claude/ClaudeCode.app`. macOS potrebbe allora chiedere di nuovo permessi come l'[accesso alle cartelle](https://code.claude.com/docs/it/agent-view.md#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos), anche dopo ogni aggiornamento. Impostala nel [blocco `env`](#in-settings-files) delle impostazioni utente, in un file di impostazioni gestite o in un criterio MDM, non nella tua shell. Per rimuovere `ClaudeCode.app`, eliminalo tu stesso. Richiede Claude Code v2.1.295 o successiva |

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

242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Per gli host che incorporano Claude Code e forniscono le proprie indicazioni per il browser. Imposta `1` per mantenere disponibili gli strumenti del browser di [Claude in Chrome](https://code.claude.com/docs/it/chrome.md) omettendo la sezione Chrome del prompt di sistema e la [skill inclusa](https://code.claude.com/docs/it/skills.md#bundled-skills) `/claude-in-chrome`. In VS Code, l'estensione alla v2.1.314 o successiva esclude anche le istruzioni di Claude in Chrome dai messaggi di una sessione. Richiede Claude Code v2.1.257 o successivo |243| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Per gli host che incorporano Claude Code e forniscono le proprie indicazioni per il browser. Imposta `1` per mantenere disponibili gli strumenti del browser di [Claude in Chrome](https://code.claude.com/docs/it/chrome.md) omettendo la sezione Chrome del prompt di sistema e la [skill inclusa](https://code.claude.com/docs/it/skills.md#bundled-skills) `/claude-in-chrome`. In VS Code, l'estensione alla v2.1.314 o successiva esclude anche le istruzioni di Claude in Chrome dai messaggi di una sessione. Richiede Claude Code v2.1.257 o successivo |

243| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Imposta su `1` per impedire il caricamento nel contesto di qualsiasi file di memoria CLAUDE.md, inclusi i file di memoria utente, di progetto e automatica |244| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Imposta su `1` per impedire il caricamento nel contesto di qualsiasi file di memoria CLAUDE.md, inclusi i file di memoria utente, di progetto e automatica |


312| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Imposta su `0` per disattivare la compressione gzip dei corpi delle richieste dell'API Claude, della telemetria e di pubblicazione degli [artefatti](https://code.claude.com/docs/it/artifacts.md) inviati a `api.anthropic.com`. Per impostazione predefinita, Claude Code comprime i corpi delle richieste di grandi dimensioni sulle connessioni dirette e salta la compressione quando invii le richieste tramite un proxy, configuri un certificato client o imposti `NODE_EXTRA_CA_CERTS`. Usa `0` se un [proxy con ispezione TLS](https://code.claude.com/docs/it/network-config.md#ca-certificate-store) che Claude Code non riesce a rilevare gestisce male le richieste compresse |313| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Imposta su `0` per disattivare la compressione gzip dei corpi delle richieste dell'API Claude, della telemetria e di pubblicazione degli [artefatti](https://code.claude.com/docs/it/artifacts.md) inviati a `api.anthropic.com`. Per impostazione predefinita, Claude Code comprime i corpi delle richieste di grandi dimensioni sulle connessioni dirette e salta la compressione quando invii le richieste tramite un proxy, configuri un certificato client o imposti `NODE_EXTRA_CA_CERTS`. Usa `0` se un [proxy con ispezione TLS](https://code.claude.com/docs/it/network-config.md#ca-certificate-store) che Claude Code non riesce a rilevare gestisce male le richieste compresse |

313| `CLAUDE_CODE_HIDE_CWD` | Imposta su `1` per nascondere la directory di lavoro nel logo di avvio. Utile per condivisioni dello schermo o registrazioni in cui il percorso espone il nome utente del sistema operativo |314| `CLAUDE_CODE_HIDE_CWD` | Imposta su `1` per nascondere la directory di lavoro nel logo di avvio. Utile per condivisioni dello schermo o registrazioni in cui il percorso espone il nome utente del sistema operativo |

314| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sovrascrive l'indirizzo host usato per connettersi all'estensione dell'IDE. Per impostazione predefinita Claude Code rileva automaticamente l'indirizzo corretto, incluso l'instradamento da WSL a Windows |315| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sovrascrive l'indirizzo host usato per connettersi all'estensione dell'IDE. Per impostazione predefinita Claude Code rileva automaticamente l'indirizzo corretto, incluso l'instradamento da WSL a Windows |

315| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Imposta su `1` per saltare l'installazione automatica delle estensioni IDE. Equivale a impostare [`autoInstallIdeExtension`](https://code.claude.com/docs/it/settings-reference#autoinstallideextension) su `false` |316| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Imposta a `1` per impedire a `/ide` di installare l'estensione IDE. Equivale a impostare [`autoInstallIdeExtension`](https://code.claude.com/docs/it/settings-reference#autoinstallideextension) su `false` |

316| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Imposta su `1` per saltare la convalida delle voci del lockfile dell'IDE durante la connessione. Usala quando la connessione automatica non trova il tuo IDE nonostante sia in esecuzione |317| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Imposta su `1` per saltare la convalida delle voci del lockfile dell'IDE durante la connessione. Usala quando la connessione automatica non trova il tuo IDE nonostante sia in esecuzione |

317| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | Dimensione del contesto, in token, a partire dalla quale la [compattazione in inattività](https://code.claude.com/docs/it/settings-reference.md#idlecompaction) si applica a una conversazione (predefinito: `200000`). Accetta un numero intero positivo; qualsiasi altro valore viene ignorato. I valori inferiori a `100000` vengono portati a `100000`, la soglia minima. La compattazione in inattività è attiva per impostazione predefinita per le conversazioni che ne soddisfano le condizioni. Per disattivarla, imposta `idleCompaction` su `false`. Richiede Claude Code v2.1.290 o successiva |318| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | Dimensione del contesto, in token, a partire dalla quale la [compattazione in inattività](https://code.claude.com/docs/it/settings-reference.md#idlecompaction) si applica a una conversazione (predefinito: `200000`). Accetta un numero intero positivo; qualsiasi altro valore viene ignorato. I valori inferiori a `100000` vengono portati a `100000`, la soglia minima. La compattazione in inattività è attiva per impostazione predefinita per le conversazioni che ne soddisfano le condizioni. Per disattivarla, imposta `idleCompaction` su `false`. Richiede Claude Code v2.1.290 o successiva |

318| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quanti [subagent](https://code.claude.com/docs/it/sub-agents.md#concurrent-subagent-limit) possono essere in esecuzione in una sessione prima che lo strumento Agent si rifiuti di generarne un altro (predefinito: 20). Accetta un numero intero positivo in cifre semplici; qualsiasi altro valore viene ignorato, quindi la variabile può regolare il limite ma non disabilitarlo. Richiede Claude Code v2.1.217 o successiva |319| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Quanti [subagent](https://code.claude.com/docs/it/sub-agents.md#concurrent-subagent-limit) possono essere in esecuzione in una sessione prima che lo strumento Agent si rifiuti di generarne un altro (predefinito: 20). Accetta un numero intero positivo in cifre semplici; qualsiasi altro valore viene ignorato, quindi la variabile può regolare il limite ma non disabilitarlo. Richiede Claude Code v2.1.217 o successiva |

errors.md +144 −4

Details

55| `spend limit reached` / `spend limit unavailable` | [Limiti di utilizzo](#spend-limit-reached) |55| `spend limit reached` / `spend limit unavailable` | [Limiti di utilizzo](#spend-limit-reached) |

56| `Not logged in · Please run /login` | [Autenticazione](#not-logged-in) |56| `Not logged in · Please run /login` | [Autenticazione](#not-logged-in) |

57| `Couldn't save your login` | [Autenticazione](#couldnt-save-your-login) |57| `Couldn't save your login` | [Autenticazione](#couldnt-save-your-login) |

58| `Sign in again to take your previous account or API key off the config file.` | [Autenticazione](#sign-in-again-to-take-your-previous-account-or-api-key-off-the-config-file) |

59| `Your account or API key may still be in the config file. Run claude auth logout.` | [Autenticazione](#your-account-or-api-key-may-still-be-in-the-config-file) |

58| `Authentication required · Sign in again to continue` | [Autenticazione](#not-logged-in) |60| `Authentication required · Sign in again to continue` | [Autenticazione](#not-logged-in) |

59| `Could not resolve authentication method` | [Autenticazione](#could-not-resolve-authentication-method) |61| `Could not resolve authentication method` | [Autenticazione](#could-not-resolve-authentication-method) |

60| `Invalid API key` | [Autenticazione](#invalid-api-key) |62| `Invalid API key` | [Autenticazione](#invalid-api-key) |


82| `Couldn't verify your organization's policy for remote control` | [Risoluzione dei problemi di Remote Control](https://code.claude.com/docs/it/remote-control.md#couldnt-verify-your-organizations-policy-for-remote-control) |84| `Couldn't verify your organization's policy for remote control` | [Risoluzione dei problemi di Remote Control](https://code.claude.com/docs/it/remote-control.md#couldnt-verify-your-organizations-policy-for-remote-control) |

83| `Remote Control is disabled by your organization's policy` | [Risoluzione dei problemi di Remote Control](https://code.claude.com/docs/it/remote-control.md#remote-control-is-disabled-by-your-organizations-policy) |85| `Remote Control is disabled by your organization's policy` | [Risoluzione dei problemi di Remote Control](https://code.claude.com/docs/it/remote-control.md#remote-control-is-disabled-by-your-organizations-policy) |

84| `Remote Control was turned off by your organization's policy` | [Risoluzione dei problemi di Remote Control](https://code.claude.com/docs/it/remote-control.md#remote-control-was-turned-off-by-your-organizations-policy) |86| `Remote Control was turned off by your organization's policy` | [Risoluzione dei problemi di Remote Control](https://code.claude.com/docs/it/remote-control.md#remote-control-was-turned-off-by-your-organizations-policy) |

87| `Session failed: working folder not found:` | [Risoluzione dei problemi di Remote Control](https://code.claude.com/docs/it/remote-control.md#working-folder-not-found) |

88| `The program file this Remote Control started from is gone` | [Risoluzione dei problemi di Remote Control](https://code.claude.com/docs/it/remote-control.md#program-file-is-gone) |

89| `Session failed: spawn error:` seguito da un messaggio `ENOENT` | [Risoluzione dei problemi di Remote Control](https://code.claude.com/docs/it/remote-control.md#program-file-is-gone) |

85| `OAuth token revoked` / `OAuth token has expired` | [Autenticazione](#oauth-token-revoked-or-expired) |90| `OAuth token revoked` / `OAuth token has expired` | [Autenticazione](#oauth-token-revoked-or-expired) |

86| `Failed to authenticate: OAuth token revoked` | [Autenticazione](#oauth-token-revoked-or-expired) |91| `Failed to authenticate: OAuth token revoked` | [Autenticazione](#oauth-token-revoked-or-expired) |

87| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Autenticazione](#oauth-token-revoked-or-expired) |92| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Autenticazione](#oauth-token-revoked-or-expired) |


165| `Request too large for the API's 32MB request limit` | [Errori di richiesta](#request-too-large) |170| `Request too large for the API's 32MB request limit` | [Errori di richiesta](#request-too-large) |

166| `Image was too large` | [Errori di richiesta](#image-was-too-large) |171| `Image was too large` | [Errori di richiesta](#image-was-too-large) |

167| `API Error: an image in the conversation could not be processed and was removed` | [Errori di richiesta](#image-was-too-large) |172| `API Error: an image in the conversation could not be processed and was removed` | [Errori di richiesta](#image-was-too-large) |

173| `An image in the conversation exceeds the dimension limit for many-image requests` | [Errori di richiesta](#image-was-too-large) |

168| `Unable to resize image` | [Errori di richiesta](#unable-to-resize-image) |174| `Unable to resize image` | [Errori di richiesta](#unable-to-resize-image) |

169| `Request rejected as unprocessable by the model` | [Errori di richiesta](#request-rejected-as-unprocessable-by-the-model) |175| `Request rejected as unprocessable by the model` | [Errori di richiesta](#request-rejected-as-unprocessable-by-the-model) |

170| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Errori di richiesta](#pdf-errors) |176| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Errori di richiesta](#pdf-errors) |


229| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Errori della riga di comando](#invalid-agents-configuration) |235| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Errori della riga di comando](#invalid-agents-configuration) |

230| `Error: --agents file not found` | [Errori della riga di comando](#invalid-agents-configuration) |236| `Error: --agents file not found` | [Errori della riga di comando](#invalid-agents-configuration) |

231| `Error: Settings file exceeds the 2MiB limit` | [Errori della riga di comando](#settings-file-exceeds-the-2mib-limit) |237| `Error: Settings file exceeds the 2MiB limit` | [Errori della riga di comando](#settings-file-exceeds-the-2mib-limit) |

238| `Configuration error in` | [Errori della riga di comando](#configuration-error-in-claude-json) |

239| `Claude configuration file at <path> was empty and no backup holds anything: starting with defaults.` | [Errori della riga di comando](#claude-configuration-file-was-empty) |

232| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Errori della riga di comando](#the-current-directory-no-longer-exists) |240| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Errori della riga di comando](#the-current-directory-no-longer-exists) |

233| `Temp directory <dir> ... Refusing to use it` / `Claude Code's temporary directory <dir> could not be created` | [Errori della riga di comando](#temp-directory-refused-or-cannot-be-created) |241| `Temp directory <dir> ... Refusing to use it` / `Claude Code's temporary directory <dir> could not be created` | [Errori della riga di comando](#temp-directory-refused-or-cannot-be-created) |

234| `ENOSPC: no space left on device, mkdir '<dir>'` | [Errori della riga di comando](#temp-directory-refused-or-cannot-be-created) |242| `ENOSPC: no space left on device, mkdir '<dir>'` | [Errori della riga di comando](#temp-directory-refused-or-cannot-be-created) |


334| `cannot contain null bytes (\0)` | [Errori degli strumenti](#path-cannot-contain-null-bytes) |342| `cannot contain null bytes (\0)` | [Errori degli strumenti](#path-cannot-contain-null-bytes) |

335| `Path contains null bytes` | [Errori degli strumenti](#path-cannot-contain-null-bytes) |343| `Path contains null bytes` | [Errori degli strumenti](#path-cannot-contain-null-bytes) |

336| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [Errori degli strumenti](#command-contains-an-invisible-character) |344| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [Errori degli strumenti](#command-contains-an-invisible-character) |

345| `This call was not run. The command was approved before Claude Code restarted` | [Errori degli strumenti](#command-approved-before-a-restart-was-not-run) |

337| `File is too large to read as an image (the limit is 128MB)` | [Errori degli strumenti](#file-is-too-large-to-read-as-an-image) |346| `File is too large to read as an image (the limit is 128MB)` | [Errori degli strumenti](#file-is-too-large-to-read-as-an-image) |

338| `Cannot read this as an image: <path> is a pipe or a device` | [Errori degli strumenti](#file-is-too-large-to-read-as-an-image) |347| `Cannot read this as an image: <path> is a pipe or a device` | [Errori degli strumenti](#file-is-too-large-to-read-as-an-image) |

339| `subagent_type is required: the general-purpose agent is not available in this session` | [Errori degli strumenti](#subagent-type-is-required) |348| `subagent_type is required: the general-purpose agent is not available in this session` | [Errori degli strumenti](#subagent-type-is-required) |


420| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Avvisi di configurazione](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |429| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Avvisi di configurazione](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |

421| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [Avvisi di configurazione](#skill-or-command-name-refused) |430| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [Avvisi di configurazione](#skill-or-command-name-refused) |

422| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Avvisi di configurazione](#workspace-has-not-been-trusted) |431| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Avvisi di configurazione](#workspace-has-not-been-trusted) |

432| `Make this change again later: <path> could not be updated, so it applies to this session only` | [Avvisi di configurazione](#make-this-change-again-later) |

423| `is a network path, which cannot be added as a working directory` | [Avvisi di configurazione](#working-directory-is-a-network-path) |433| `is a network path, which cannot be added as a working directory` | [Avvisi di configurazione](#working-directory-is-a-network-path) |

424| `Remote managed settings failed to load (<cause>)` | [Avvisi di configurazione](#remote-managed-settings-failed-to-load) |434| `Remote managed settings failed to load (<cause>)` | [Avvisi di configurazione](#remote-managed-settings-failed-to-load) |

435| `Your organization requires remote managed settings to load, but they could not be loaded` | [Imporre l'avvio fail-closed](https://code.claude.com/docs/it/server-managed-settings.md#enforce-fail-closed-startup) |

436| `Remote managed settings are still loading` | [Avvisi di configurazione](#remote-managed-settings-failed-to-load) |

437| `Remote managed settings did not load` | [Avvisi di configurazione](#remote-managed-settings-failed-to-load) |

438| `Claude Code couldn't load your organization's settings` / `Claude Code couldn't reach Anthropic to load your organization's settings` / `requires them before a session can start` | [Avvisi di configurazione](#couldnt-load-your-organizations-settings) |

439| `Claude Code can't start this session yet` | [Avvisi di configurazione](#couldnt-load-your-organizations-settings) |

440| `Your Claude session has expired. Sign in again to continue (claude auth login).` | [Avvisi di configurazione](#couldnt-load-your-organizations-settings) |

425| `Managed settings were not approved; exiting without applying them.` | [Avvisi di configurazione](#managed-settings-were-not-approved) |441| `Managed settings were not approved; exiting without applying them.` | [Avvisi di configurazione](#managed-settings-were-not-approved) |

426| `Your organization's managed settings need your approval, which couldn't be asked for here.` | [Avvisi di configurazione](#managed-settings-need-your-approval) |442| `Your organization's managed settings need your approval, which couldn't be asked for here.` | [Avvisi di configurazione](#managed-settings-need-your-approval) |

427| `Claude Code can't start: your organization's managed settings block the default model` / `Claude Code can't start: your organization allows only the models listed in "availableModels"` | [Avvisi di configurazione](#managed-settings-block-the-default-model) |443| `Claude Code can't start: your organization's managed settings block the default model` / `Claude Code can't start: your organization allows only the models listed in "availableModels"` | [Avvisi di configurazione](#managed-settings-block-the-default-model) |


454| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [Avvisi di configurazione](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |470| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [Avvisi di configurazione](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |

455| `Sandbox mask files left behind at write-deny paths` | [Avvisi di configurazione](#stale-sandbox-mask-files-left-by-a-killed-session) |471| `Sandbox mask files left behind at write-deny paths` | [Avvisi di configurazione](#stale-sandbox-mask-files-left-by-a-killed-session) |

456| `Stale sandbox mask files left by a killed session` | [Avvisi di configurazione](#stale-sandbox-mask-files-left-by-a-killed-session) |472| `Stale sandbox mask files left by a killed session` | [Avvisi di configurazione](#stale-sandbox-mask-files-left-by-a-killed-session) |

473| `Ubuntu's AppArmor restriction on user namespaces stops bubblewrap here` | [Risoluzione dei problemi del sandboxing](https://code.claude.com/docs/it/sandboxing.md#apparmor-restriction-stops-bubblewrap) |

474| `bwrap: setting up uid map: Permission denied` / `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` | [Risoluzione dei problemi del sandboxing](https://code.claude.com/docs/it/sandboxing.md#bwrap-uid-map-permission-denied) |

457| Le risposte sembrano di qualità inferiore al solito | [Qualità della risposta](#responses-seem-lower-quality-than-usual) |475| Le risposte sembrano di qualità inferiore al solito | [Qualità della risposta](#responses-seem-lower-quality-than-usual) |

458 476 

459## Tentativi automatici477## Tentativi automatici


1031* Esegui `/login` per autenticarti con il tuo abbonamento Claude o con il tuo account Console1049* Esegui `/login` per autenticarti con il tuo abbonamento Claude o con il tuo account Console

1032* Se ti aspettavi che una variabile d'ambiente ti autenticasse, verifica che `ANTHROPIC_API_KEY` sia impostata ed esportata nella shell da cui hai avviato `claude`1050* Se ti aspettavi che una variabile d'ambiente ti autenticasse, verifica che `ANTHROPIC_API_KEY` sia impostata ed esportata nella shell da cui hai avviato `claude`

1033* Per CI o automazioni in cui l'accesso interattivo non è possibile, configura uno script [`apiKeyHelper`](https://code.claude.com/docs/it/settings-reference#apikeyhelper) che recuperi una chiave all'avvio1051* Per CI o automazioni in cui l'accesso interattivo non è possibile, configura uno script [`apiKeyHelper`](https://code.claude.com/docs/it/settings-reference#apikeyhelper) che recuperi una chiave all'avvio

1052* Se i job `claude -p` terminano con questo messaggio quando qualcuno accede di nuovo allo stesso account e organizzazione claude.ai, aggiorna Claude Code dove viene eseguito quell'accesso. Prima della v2.1.318, Claude Code rimuoveva l'accesso salvato durante quell'accesso, prima di salvare quello nuovo.

1034* Consulta [Precedenza dell'autenticazione](https://code.claude.com/docs/it/authentication.md#authentication-precedence) per capire quale credenziale usa Claude Code quando ne sono presenti diverse1053* Consulta [Precedenza dell'autenticazione](https://code.claude.com/docs/it/authentication.md#authentication-precedence) per capire quale credenziale usa Claude Code quando ne sono presenti diverse

1035 1054 

1036Se ti viene chiesto ripetutamente di accedere, consulta [Not logged in or token expired](https://code.claude.com/docs/it/troubleshoot-install.md#not-logged-in-or-token-expired) per i controlli dell'orologio di sistema e i passaggi di ripristino dell'archiviazione delle credenziali su macOS.1055Se ti viene chiesto ripetutamente di accedere, consulta [Not logged in or token expired](https://code.claude.com/docs/it/troubleshoot-install.md#not-logged-in-or-token-expired) per i controlli dell'orologio di sistema e i passaggi di ripristino dell'archiviazione delle credenziali su macOS.


1441* Sulle altre piattaforme, esegui di nuovo `/login`1460* Sulle altre piattaforme, esegui di nuovo `/login`

1442* Se l'accesso continua a non essere salvato, consulta [Not logged in or token expired](https://code.claude.com/docs/it/troubleshoot-install.md#not-logged-in-or-token-expired) per il comando di sblocco del portachiavi e gli altri passaggi di ripristino dell'archiviazione delle credenziali1461* Se l'accesso continua a non essere salvato, consulta [Not logged in or token expired](https://code.claude.com/docs/it/troubleshoot-install.md#not-logged-in-or-token-expired) per il comando di sblocco del portachiavi e gli altri passaggi di ripristino dell'archiviazione delle credenziali

1443 1462 

1463### Sign in again to take your previous account or API key off the config file

1464 

1465Questo avviso dopo l'accesso significa che qualsiasi account con cui avevi effettuato l'accesso in precedenza potrebbe essere ancora memorizzato in [`~/.claude.json`](https://code.claude.com/docs/it/claude-directory#ce-claude-json):

1466 

1467```text theme={null}

1468Sign in again to take your previous account or API key off the config file.

1469```

1470 

1471Anche una chiave API potrebbe trovarsi ancora in `~/.claude.json`, se un accesso alla Console ne ha creata una su Linux o Windows.

1472 

1473**Cosa fare:**

1474 

1475* Esegui `claude auth login` nella tua shell per accedere di nuovo. Claude Code riprova quindi il salvataggio che rimuove dal file l'account o la chiave API sostituiti.

1476 

1477### Your account or API key may still be in the config file

1478 

1479Hai eseguito `/logout` o `claude auth logout`, e Claude Code ha disconnesso questo processo ma non è riuscito a confermare che [`~/.claude.json`](https://code.claude.com/docs/it/claude-directory#ce-claude-json) non contenga più il tuo account. Il salvataggio non è andato a buon fine, oppure non è stato possibile rileggere il file per verificarlo.

1480 

1481```text theme={null}

1482Your account or API key may still be in the config file. Run claude auth logout.

1483```

1484 

1485Anche una chiave API potrebbe trovarsi ancora in `~/.claude.json`, se un accesso alla Console ne ha creata una su Linux o Windows.

1486 

1487**Cosa fare:**

1488 

1489* Esegui `claude auth logout` nella tua shell per riprovare il salvataggio. Quando il salvataggio va a buon fine, il comando stampa `Successfully logged out from your Anthropic account.`

1490 

1444### Couldn't start the local listener that receives the browser sign-in1491### Couldn't start the local listener that receives the browser sign-in

1445 1492 

1446Ciascuno di questi messaggi di `/login`, `claude auth login` o `claude setup-token` significa che Claude Code non è riuscito ad aprire la porta su `127.0.0.1` a cui il tuo browser restituisce il risultato dell'accesso.1493Ciascuno di questi messaggi di `/login`, `claude auth login` o `claude setup-token` significa che Claude Code non è riuscito ad aprire la porta su `127.0.0.1` a cui il tuo browser restituisce il risultato dell'accesso.


2420Image was too large. Double press esc to go back and try again with a smaller image.2467Image was too large. Double press esc to go back and try again with a smaller image.

2421API Error: 400 ... image dimensions exceed max allowed size2468API Error: 400 ... image dimensions exceed max allowed size

2422API Error: an image in the conversation could not be processed and was removed.2469API Error: an image in the conversation could not be processed and was removed.

2470An image in the conversation exceeds the dimension limit for many-image requests (3000px). Run /compact to remove old images from context, or start a new session.

2423```2471```

2424 2472 

2425La riga `could not be processed and was removed` significa che l'API ha rifiutato un'immagine nella conversazione, ad esempio una che supera i limiti di dimensione o di risoluzione.2473La riga `could not be processed and was removed` significa che l'API ha rifiutato un'immagine nella conversazione, ad esempio una che supera i limiti di dimensione o di risoluzione.


2434 2482 

2435* Ridimensiona l'immagine prima di incollarla. L'API accetta immagini fino a 8000 pixel sul lato più lungo per una singola immagine, o 3000 pixel quando nel contesto ci sono più di 20 immagini.2483* Ridimensiona l'immagine prima di incollarla. L'API accetta immagini fino a 8000 pixel sul lato più lungo per una singola immagine, o 3000 pixel quando nel contesto ci sono più di 20 immagini.

2436* Fai uno screenshot più stretto della regione rilevante invece dello schermo intero2484* Fai uno screenshot più stretto della regione rilevante invece dello schermo intero

2485* Per il messaggio `dimension limit for many-image requests`, esegui `/compact` nel prompt di Claude Code se il messaggio lo nomina, oppure avvia una nuova sessione con meno immagini

2486 

2487Il messaggio `dimension limit for many-image requests` mostra il limite in pixel indicato nell'errore dell'API.

2437 2488 

2438### Unable to resize image2489### Unable to resize image

2439 2490 


3223 3274 

3224* Fai puntare `--settings` a un normale file di impostazioni JSON inferiore a 2 MiB. Consulta [Impostazioni](https://code.claude.com/docs/it/settings.md) per il formato.3275* Fai puntare `--settings` a un normale file di impostazioni JSON inferiore a 2 MiB. Consulta [Impostazioni](https://code.claude.com/docs/it/settings.md) per il formato.

3225 3276 

3277### Configuration error in \~/.claude.json

3278 

3279Claude Code non è riuscito ad analizzare `~/.claude.json`, il file che contiene i dettagli del tuo account, i server MCP e lo stato per progetto. Il tuo file non è stato modificato. Un avvio [non interattivo](https://code.claude.com/docs/it/headless.md) come `claude -p` termina ogni volta con codice di uscita 1 finché non ripari il file.

3280 

3281Quando Claude Code trova un [backup](https://code.claude.com/docs/it/claude-directory.md#cleaned-up-automatically), l'output lo indica e stampa una riga `cp` che lo ricopia al suo posto:

3282 

3283```text wrap theme={null}

3284Claude configuration file at /home/user/.claude.json is corrupted: <JSON parser's message>

3285The corrupted file has been backed up to: /home/user/.claude/backups/.claude.json.corrupted.1793664000000

3286A backup file exists at: /home/user/.claude/backups/.claude.json.backup.1793660400000

3287You can manually restore it by running: cp -f "/home/user/.claude/backups/.claude.json.backup.1793660400000" "/home/user/.claude.json"

3288 

3289Configuration error in /home/user/.claude.json: <JSON parser's message>

3290```

3291 

3292**Cosa fare:**

3293 

3294* **L'output contiene una riga `cp`**: esegui quella riga nel terminale. Su Windows, eseguila in PowerShell. Sostituisce il file danneggiato con il backup, una versione precedente di `~/.claude.json`.

3295* **L'output non contiene una riga `cp`, oppure l'errore si ripresenta dopo averla eseguita**: correggi il JSON in `~/.claude.json`, copia sopra di esso un altro file `.claude.json.backup.<timestamp>` da [`~/.claude/backups/`](https://code.claude.com/docs/it/claude-directory#cleaned-up-automatically) se ce n'è uno, oppure rinominalo. Senza un file in `~/.claude.json`, Claude Code si avvia con le impostazioni predefinite e senza nulla di ciò che il file conteneva.

3296 

3297Prima della v2.1.318, dopo che un avvio non interattivo stampava questo errore ti ritrovavi con i valori predefiniti in `~/.claude.json`, quindi l'avvio successivo veniva eseguito senza la tua configurazione.

3298 

3299### Claude configuration file was empty and no backup holds anything

3300 

3301Questo messaggio all'avvio indica che il file che nomina era vuoto e che nessuna delle [copie `.backup`](https://code.claude.com/docs/it/claude-directory#cleaned-up-automatically) del file contiene qualcosa. Claude Code si è avviato con i valori predefiniti per ciò che quel file contiene. I tuoi file `settings.json` e `.mcp.json` sono file separati.

3302 

3303```text wrap theme={null}

3304Claude configuration file at /home/user/.claude.json was empty and no backup holds anything: starting with defaults.

3305```

3306 

3307**Cosa fare:**

3308 

3309* Configura di nuovo ciò che avevi impostato in quel file. Ad esempio, aggiungi i tuoi [server MCP](https://code.claude.com/docs/it/mcp.md#mcp-installation-scopes) con ambito `user` e `local` usando `claude mcp add` dal terminale.

3310* Accedi di nuovo se Claude Code te lo chiede

3311 

3312Prima della v2.1.318, Claude Code segnalava un file vuoto senza backup come [danneggiato](#configuration-error-in-claude-json).

3313 

3226### The current directory no longer exists3314### The current directory no longer exists

3227 3315 

3228Hai avviato `claude` da una directory che è stata eliminata o spostata dopo che la tua shell vi è entrata, ad esempio un worktree o una directory temporanea rimossa da un'altra shell. Claude Code non riesce a leggere la sua directory di lavoro, quindi esce con codice 1 prima di avviare la sessione, sia in modalità interattiva sia in [modalità non interattiva](https://code.claude.com/docs/it/headless.md). Prima della v2.1.239, Claude Code andava in crash mostrando su stderr il codice sorgente minificato del bundle e uno stack `ENOENT ... uv_cwd` grezzo invece di questo messaggio.3316Hai avviato `claude` da una directory che è stata eliminata o spostata dopo che la tua shell vi è entrata, ad esempio un worktree o una directory temporanea rimossa da un'altra shell. Claude Code non riesce a leggere la sua directory di lavoro, quindi esce con codice 1 prima di avviare la sessione, sia in modalità interattiva sia in [modalità non interattiva](https://code.claude.com/docs/it/headless.md). Prima della v2.1.239, Claude Code andava in crash mostrando su stderr il codice sorgente minificato del bundle e uno stack `ENOENT ... uv_cwd` grezzo invece di questo messaggio.


3334* **`Error: Workspace not trusted. <folder> is your home directory`**: poiché la fiducia per la tua directory home non viene mai salvata, eseguire prima `claude` lì non può aiutare. Esegui invece `claude ultrareview` da una directory di progetto, dopo aver eseguito `claude` lì una volta per accettare la finestra di dialogo di fiducia, oppure aggiungi `--trust-workspace`.3422* **`Error: Workspace not trusted. <folder> is your home directory`**: poiché la fiducia per la tua directory home non viene mai salvata, eseguire prima `claude` lì non può aiutare. Esegui invece `claude ultrareview` da una directory di progetto, dopo aver eseguito `claude` lì una volta per accettare la finestra di dialogo di fiducia, oppure aggiungi `--trust-workspace`.

3335* **`No answer in time.` seguito da `Error: Workspace not trusted`**: la domanda `Trust <folder>? [y/N]` è rimasta senza risposta per 5 minuti. Esegui di nuovo `claude ultrareview` e rispondi.3423* **`No answer in time.` seguito da `Error: Workspace not trusted`**: la domanda `Trust <folder>? [y/N]` è rimasta senza risposta per 5 minuti. Esegui di nuovo `claude ultrareview` e rispondi.

3336* **`Ultrareview did not start: <folder> is not trusted`**: hai rifiutato alla domanda `Trust <folder>? [y/N]`, ad esempio rispondendo `n` o premendo Enter. Per avviare la revisione, esegui di nuovo `claude ultrareview` e rispondi `y`.3424* **`Ultrareview did not start: <folder> is not trusted`**: hai rifiutato alla domanda `Trust <folder>? [y/N]`, ad esempio rispondendo `n` o premendo Enter. Per avviare la revisione, esegui di nuovo `claude ultrareview` e rispondi `y`.

3337* **``Ultrareview did not start: `--trust-workspace` takes no value``**: dopo `--trust-workspace` segue qualcosa che non è un flag, come un numero di PR o `false`. Se non consideri attendibile la cartella, ometti il flag. Per renderla attendibile per questa esecuzione, metti il numero di PR o il branch di base prima del flag: `claude ultrareview 1234 --trust-workspace`.3425* **``Ultrareview did not start: `--trust-workspace` takes no value``**: dopo `--trust-workspace` segue qualcosa che non è un flag, come un numero di PR o `false`. Se non ti fidi della cartella, ometti il flag. Per considerarla attendibile per questa esecuzione, metti il numero di PR o il branch di base prima del flag: `claude ultrareview 1234 --trust-workspace`.

3338 3426 

3339Prima della v2.1.309, `claude ultrareview` non accettava `--trust-workspace`.3427Prima della v2.1.309, `claude ultrareview` non accettava `--trust-workspace`.

3340 3428 


3626 3714 

3627Stringhe analoghe compaiono prima ancora che il comando venga eseguito:3715Stringhe analoghe compaiono prima ancora che il comando venga eseguito:

3628 3716 

3629* `Shell command permission check failed for pattern "..."`: il controllo dei permessi del comando non lo ha consentito. [Controlli dei permessi sui comandi inseriti](https://code.claude.com/docs/it/skills.md#permission-checks-on-injected-commands) spiega quali risultati causano l'interruzione in ciascuna modalità di permesso e come pre-approvare un comando con `allowed-tools`3717* `Shell command permission check failed for pattern "..."`: il controllo dei permessi del comando non lo ha consentito. [Controlli dei permessi sui comandi inseriti](https://code.claude.com/docs/it/skills.md#permission-checks-on-injected-commands) spiega quali risultati causano l'interruzione in ogni modalità di permesso e come pre-approvare un comando con `allowed-tools`

3630* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: il frontmatter della skill richiede bash su una macchina che non ce l'ha. Installa Git for Windows o modifica il frontmatter in `shell: powershell`. Consulta [Come vengono eseguiti i comandi inseriti](https://code.claude.com/docs/it/skills.md#how-injected-commands-run)3718* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: il frontmatter della skill richiede bash su una macchina che non lo ha. Installa Git for Windows o modifica il frontmatter in `shell: powershell`. Consulta [Come vengono eseguiti i comandi inseriti](https://code.claude.com/docs/it/skills.md#how-injected-commands-run)

3631 3719 

3632**Cosa fare:**3720**Cosa fare:**

3633 3721 


4666* **Per un comando scritto da Claude**: non hai nulla da correggere. Il messaggio spiega a Claude come riscrivere il comando.4754* **Per un comando scritto da Claude**: non hai nulla da correggere. Il messaggio spiega a Claude come riscrivere il comando.

4667* **Per un file di skill o di comando**: il messaggio segue `No shell command in <name> was run`. Consulta [dove trovare il carattere e rimuoverlo](#no-shell-command-was-run).4755* **Per un file di skill o di comando**: il messaggio segue `No shell command in <name> was run`. Consulta [dove trovare il carattere e rimuoverlo](#no-shell-command-was-run).

4668 4756 

4757### Command approved before Claude Code restarted was not run

4758 

4759Un comando shell che hai approvato non è stato eseguito, e Claude riceve questo messaggio come risultato del comando:

4760 

4761```text wrap theme={null}

4762This call was not run. The command was approved before Claude Code restarted, and Claude Code could not confirm that the shell is back in the directory where it was approved. That directory may be gone or replaced, lie outside the directory where the session started, or be one that Claude Code needs approval to enter or is not allowed to examine. The shell's directory is <directory>. If the command still makes sense, cd to the directory it was meant for and make the call again; it may need approval again.

4763```

4764 

4765La terza frase del messaggio può invece riportare `It does not keep track of that directory across a restart in a session that has been in a worktree.`

4766 

4767**Cosa fare:**

4768 

4769* Lascia che Claude prosegua, e rispondi alla richiesta di conferma se ti viene chiesto di approvare di nuovo il comando.

4770 

4669### File is too large to read as an image4771### File is too large to read as an image

4670 4772 

4671Claude ha tentato di leggere un file come immagine con lo [strumento Read](https://code.claude.com/docs/it/tools-reference.md#read-tool-behavior), e il file supera i 128 MB, il massimo che Read carica da un file immagine. Non è stato letto nulla, e Claude riceve questo errore come risultato dello strumento:4773Claude ha tentato di leggere un file come immagine con lo [strumento Read](https://code.claude.com/docs/it/tools-reference.md#read-tool-behavior), e il file supera i 128 MB, il massimo che Read carica da un file immagine. Non è stato letto nulla, e Claude riceve questo errore come risultato dello strumento:


5818 5920 

5819### Le impostazioni gestite da remoto non hanno potuto essere caricate5921### Le impostazioni gestite da remoto non hanno potuto essere caricate

5820 5922 

5821La vostra sessione è idonea per [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md), ma Claude Code non ha potuto recuperarle o non ha potuto applicare quello che il server ha restituito, quindi mostra questo avviso nelle sessioni interattive.5923La tua sessione è idonea per le [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md), ma Claude Code non è riuscito a recuperarle o non è riuscito ad applicare ciò che il server ha restituito, quindi mostra questo avviso nelle sessioni interattive e nella scheda Code di Claude Desktop.

5822 5924 

5823La causa tra parentesi nomina cosa è fallito, come `network error`, `request timed out`, o `authentication rejected (401)`. La causa `no setting in the server response could be applied as written` significa che il server ha risposto ma nessuna delle impostazioni che ha restituito ha superato la [validazione](https://code.claude.com/docs/it/server-managed-settings.md#invalid-entries-in-delivered-settings). Prima della v2.1.282, questa causa leggeva `server returned invalid settings`.5925La causa tra parentesi nomina cosa è fallito, come `network error`, `request timed out`, o `authentication rejected (401)`. La causa `no setting in the server response could be applied as written` significa che il server ha risposto ma nessuna delle impostazioni che ha restituito ha superato la [validazione](https://code.claude.com/docs/it/server-managed-settings.md#invalid-entries-in-delivered-settings). Prima della v2.1.282, questa causa leggeva `server returned invalid settings`.

5824 5926 


5827* **Impostazioni memorizzate nella cache da un recupero precedente riuscito**: Claude Code esegue la sessione su quella politica memorizzata nella cache, ad eccezione delle [variabili di ambiente trattenute](https://code.claude.com/docs/it/server-managed-settings.md#fetch-and-caching-behavior), e la riga legge `using cached policy`.5929* **Impostazioni memorizzate nella cache da un recupero precedente riuscito**: Claude Code esegue la sessione su quella politica memorizzata nella cache, ad eccezione delle [variabili di ambiente trattenute](https://code.claude.com/docs/it/server-managed-settings.md#fetch-and-caching-behavior), e la riga legge `using cached policy`.

5828* **Nessuna cache**: Claude Code esegue la sessione senza impostazioni gestite dal server, e la riga legge `no remote policy applied`.5930* **Nessuna cache**: Claude Code esegue la sessione senza impostazioni gestite dal server, e la riga legge `no remote policy applied`.

5829 5931 

5932Nella scheda Code, l'avviso appare come una riga nella conversazione quando invii un messaggio, e una nuova riga appare quando cambia lo stato del recupero. Altri tre messaggi correlati appaiono allo stesso modo:

5933 

5934* `Remote managed settings are still loading`: il recupero era ancora in corso quando la sessione è andata avanti

5935* `Remote managed settings did not load`: il recupero è terminato senza una risposta

5936* `Remote managed settings have now loaded`: le impostazioni sono state caricate dopo uno di questi avvisi, e il resto della riga indica se si applica una policy remota

5937 

5830**Cosa fare:**5938**Cosa fare:**

5831 5939 

5832* Agire sulla causa che il messaggio nomina: per una causa di rete, verificare che questa macchina possa raggiungere `api.anthropic.com`; per una causa di autenticazione, controllare il vostro accesso con `/status`5940* Agire sulla causa che il messaggio nomina: per una causa di rete, verificare che questa macchina possa raggiungere `api.anthropic.com`; per una causa di autenticazione, controllare il vostro accesso con `/status`


5835 5943 

5836Prima della v2.1.248, Claude Code segnalava un recupero di impostazioni fallito solo nel log di debug.5944Prima della v2.1.248, Claude Code segnalava un recupero di impostazioni fallito solo nel log di debug.

5837 5945 

5946### Claude Code non è riuscito a caricare le impostazioni della tua organizzazione

5947 

5948La tua sessione non è stata avviata perché le impostazioni della tua organizzazione, incluse le sue [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md), devono essere caricate prima e Claude Code non è riuscito a caricarle. Ad esempio:

5949 

5950```text theme={null}

5951Claude Code couldn't reach Anthropic to load your organization's settings (could not connect). <Organization name> requires them before a session can start.

5952```

5953 

5954Se il messaggio si trova in una finestra di dialogo intitolata `Claude Code can't start this session yet`, la finestra si chiude e la sessione si avvia non appena le impostazioni vengono caricate.

5955 

5956In [modalità non interattiva](https://code.claude.com/docs/it/headless.md) e nelle [sessioni in background](https://code.claude.com/docs/it/agent-view.md), Claude Code invece stampa il messaggio ed esce con stato 1.

5957 

5958**Cosa fare:**

5959 

5960* **`could not connect`, oppure `the reply came from a network proxy, not Anthropic`**: controlla la tua connessione di rete e, su una rete aziendale, chiedi al reparto IT di consentire HTTPS verso `api.anthropic.com/api/claude_code/policy_limits` e `api.anthropic.com/api/claude_code/settings`. Poi seleziona **Retry now**, oppure esegui di nuovo il tuo comando.

5961* **`timed out`, `Anthropic returned an error` oppure `Anthropic asked it to retry shortly`**: lascia che la finestra di dialogo riprovi, oppure esegui di nuovo il tuo comando più tardi. Se continua a succedere, controlla [status.anthropic.com](https://status.anthropic.com).

5962* **`still loading`, oppure `couldn't verify your sign-in with Anthropic yet`**: lascia che la finestra di dialogo riprovi, oppure esegui di nuovo il tuo comando. Se il messaggio sull'accesso continua a ripresentarsi, accedi di nuovo eseguendo `claude auth login` nella tua shell.

5963* **`Your Claude session has expired`**: l'accesso memorizzato su questa macchina non è più valido, quindi riprovare non serve. Nella finestra di dialogo, seleziona **Sign in again** per chiudere Claude Code; poi, nella tua shell, esegui `claude auth login`, che funziona anche quando le sessioni non possono avviarsi.

5964* **`none of the settings the server returned could be applied as written`**: chiedi al tuo amministratore di correggere le [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md#invalid-entries-in-delivered-settings) dell'organizzazione, poi riprova.

5965 

5838### Le impostazioni gestite non sono state approvate5966### Le impostazioni gestite non sono state approvate

5839 5967 

5840Le [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md) della vostra organizzazione includono impostazioni che necessitano della vostra approvazione, e avete rifiutato la [finestra di dialogo di approvazione della sicurezza](https://code.claude.com/docs/it/server-managed-settings.md#security-approval-dialogs), quindi Claude Code esce senza applicarle:5968Le [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md) della vostra organizzazione includono impostazioni che necessitano della vostra approvazione, e avete rifiutato la [finestra di dialogo di approvazione della sicurezza](https://code.claude.com/docs/it/server-managed-settings.md#security-approval-dialogs), quindi Claude Code esce senza applicarle:


6294 6422 

6295Prima della v2.1.257, `claude doctor` non contrassegnava questi file; le versioni precedenti lasciano gli stessi segnaposti dietro quando una sessione viene uccisa.6423Prima della v2.1.257, `claude doctor` non contrassegnava questi file; le versioni precedenti lasciano gli stessi segnaposti dietro quando una sessione viene uccisa.

6296 6424 

6425### Make this change again later: \~/.claude.json could not be updated

6426 

6427Questo avviso su stderr significa che una modifica a [`~/.claude.json`](https://code.claude.com/docs/it/claude-directory#ce-claude-json), come un accesso o una risposta a una richiesta di fiducia, non è stata salvata nel file:

6428 

6429```text theme={null}

6430Make this change again later: /home/user/.claude.json could not be updated, so it applies to this session only.

6431```

6432 

6433**Cosa fare:**

6434 

6435* Ripeti la modifica in una sessione successiva. Ad esempio, esegui di nuovo `/login` o rispondi di nuovo alla richiesta di fiducia.

6436 

6297## Le risposte sembrano di qualità inferiore al solito6437## Le risposte sembrano di qualità inferiore al solito

6298 6438 

6299Se le risposte di Claude sembrano meno capaci di quanto ti aspetti ma non viene mostrato alcun errore, la causa è solitamente lo stato della conversazione piuttosto che il modello stesso. Claude Code non cambia silenziosamente le versioni del modello. Può passare a un modello di fallback in questi casi:6439Se le risposte di Claude sembrano meno capaci di quanto ti aspetti ma non viene mostrato alcun errore, la causa è solitamente lo stato della conversazione piuttosto che il modello stesso. Claude Code non cambia silenziosamente le versioni del modello. Può passare a un modello di fallback in questi casi:

headless.md +3 −1

Details

48 48 

49In modalità bare, Claude Code non legge mai le credenziali OAuth o il keychain di sistema. Per l'API Anthropic, imposta `ANTHROPIC_API_KEY` nell'ambiente, con una chiave creata nella [Claude Console](https://platform.claude.com), oppure fornisci un `apiKeyHelper` nel JSON `--settings`. Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry continuano a leggere le loro credenziali provider come al solito.49In modalità bare, Claude Code non legge mai le credenziali OAuth o il keychain di sistema. Per l'API Anthropic, imposta `ANTHROPIC_API_KEY` nell'ambiente, con una chiave creata nella [Claude Console](https://platform.claude.com), oppure fornisci un `apiKeyHelper` nel JSON `--settings`. Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry continuano a leggere le loro credenziali provider come al solito.

50 50 

51In modalità bare Claude ha accesso agli strumenti Bash, lettura file e modifica file. Passa qualsiasi contesto di cui hai bisogno con un flag:51In modalità bare Claude ha accesso agli strumenti Bash, lettura file e modifica file. Passa il contesto di cui hai bisogno con un flag:

52 52 

53| Per caricare | Utilizza |53| Per caricare | Utilizza |

54| - | - |54| - | - |


58| [Agenti personalizzati](https://code.claude.com/docs/it/sub-agents.md#choose-the-subagent-scope) | `--agents <file-or-json>` |58| [Agenti personalizzati](https://code.claude.com/docs/it/sub-agents.md#choose-the-subagent-scope) | `--agents <file-or-json>` |

59| Un plugin | `--plugin-dir <path>`, `--plugin-url <url>` |59| Un plugin | `--plugin-dir <path>`, `--plugin-url <url>` |

60 60 

61Gli hook continuano a non essere eseguiti in modalità bare quando li passi con `--settings`, oppure nel [`hooks/hooks.json`](https://code.claude.com/docs/it/plugins/components#hooks) o nella [chiave `hooks` del manifest](https://code.claude.com/docs/it/plugins/manifest-reference#hooks) di un plugin che carichi con un flag. Non usare la modalità bare per un'esecuzione che ne ha bisogno.

62 

61La modalità bare limita anche ciò che accade durante l'esecuzione della sessione:63La modalità bare limita anche ciò che accade durante l'esecuzione della sessione:

62 64 

63* **Server MCP**: si connettono solo i server forniti dalla riga di comando, ad esempio con `--mcp-config`. In una sessione interattiva, Claude Code salta anche la connessione automatica all'IDE a meno che tu non passi `--ide`.65* **Server MCP**: si connettono solo i server forniti dalla riga di comando, ad esempio con `--mcp-config`. In una sessione interattiva, Claude Code salta anche la connessione automatica all'IDE a meno che tu non passi `--ide`.

Details

96Non modificare mai una migrazione dopo che ne è stato fatto il merge. Aggiungi una nuova migrazione invece.96Non modificare mai una migrazione dopo che ne è stato fatto il merge. Aggiungi una nuova migrazione invece.

97```97```

98 98 

99Quando avvii Claude da `packages/api/`, carica sia `packages/api/CLAUDE.md` che il root `CLAUDE.md`. Claude vede le istruzioni locali insieme alle regole a livello di repository, senza istruzioni da `packages/web/` nel contesto. Lo stesso vale per qualsiasi sottodirectory in un albero non-monorepo. Per confermare quali file sono stati caricati, esegui `/context` e controlla l'elenco sotto **Memory files**.99Quando avvii Claude da `packages/api/`, carica sia `packages/api/CLAUDE.md` che il root `CLAUDE.md`. Claude vede le istruzioni locali insieme alle regole a livello di repository, senza istruzioni da `packages/web/` nel contesto. Lo stesso vale per qualsiasi sottodirectory in un albero non-monorepo. Per confermare quali file sono stati caricati, esegui [`/context all`](https://code.claude.com/docs/it/commands#all-commands) e controlla l'elenco sotto **Memory files**.

100 100 

101Alcuni modi per mantenere i file attuali man mano che il codebase e i modelli cambiano:101Alcuni modi per mantenere i file attuali man mano che il codebase e i modelli cambiano:

102 102 

memory.md +6 −4

Details

67 67 

68### Configura un CLAUDE.md di progetto68### Configura un CLAUDE.md di progetto

69 69 

70Un CLAUDE.md di progetto può essere archiviato in `./CLAUDE.md` o `./.claude/CLAUDE.md`. Crea questo file e aggiungi istruzioni che si applicano a chiunque lavori sul progetto: comandi di build e test, standard di codifica, decisioni architetturali, convenzioni di denominazione e workflow comuni. Queste istruzioni sono condivise con il tuo team tramite controllo di versione, quindi concentrati su standard a livello di progetto piuttosto che su preferenze personali. Per confermare che il file è stato caricato, esegui `/context` in una sessione e controlla l'elenco sotto **Memory files**.70Un CLAUDE.md di progetto può essere archiviato in `./CLAUDE.md` o `./.claude/CLAUDE.md`. Crea questo file e aggiungi istruzioni che si applicano a chiunque lavori sul progetto: comandi di build e test, standard di codifica, decisioni architetturali, convenzioni di denominazione e workflow comuni. Queste istruzioni sono condivise con il tuo team tramite controllo di versione, quindi concentrati su standard a livello di progetto piuttosto che su preferenze personali.

71 

72Per confermare che il file è stato caricato, esegui [`/context all`](https://code.claude.com/docs/it/commands#all-commands) in una sessione e controlla l'elenco sotto **Memory files**. In [modalità a schermo intero](https://code.claude.com/docs/it/fullscreen.md), `/context` da solo comprime quell'elenco.

71 73 

72> [!TIP]74> [!TIP]

73>75>


461* **Modifica**: Claude legge `CLAUDE.md` attraverso il link, ma gli strumenti Edit e Write [rifiutano di scrivere attraverso un symlink](https://code.claude.com/docs/it/errors.md#refusing-after-a-symlink-changed), e il rifiuto dirige Claude a modificare il target del link, `AGENTS.md`, invece463* **Modifica**: Claude legge `CLAUDE.md` attraverso il link, ma gli strumenti Edit e Write [rifiutano di scrivere attraverso un symlink](https://code.claude.com/docs/it/errors.md#refusing-after-a-symlink-changed), e il rifiuto dirige Claude a modificare il target del link, `AGENTS.md`, invece

462* **Windows**: se voi o chiunque cloni il repository lavorate su Windows, usate l'import `@AGENTS.md` invece. Creare un symlink lì richiede privilegi di amministratore o modalità sviluppatore, e Git controlla un symlink committato come un file di testo semplice a meno che `core.symlinks` non sia abilitato, il che lascia quel clone con un `CLAUDE.md` di una riga al posto delle vostre istruzioni464* **Windows**: se voi o chiunque cloni il repository lavorate su Windows, usate l'import `@AGENTS.md` invece. Creare un symlink lì richiede privilegi di amministratore o modalità sviluppatore, e Git controlla un symlink committato come un file di testo semplice a meno che `core.symlinks` non sia abilitato, il che lascia quel clone con un `CLAUDE.md` di una riga al posto delle vostre istruzioni

463 465 

464Con entrambi gli approcci, eseguite `/context` nella vostra prossima sessione e confermate che `CLAUDE.md` appare sotto **Memory files**.466Con entrambi gli approcci, esegui `/context all` nella tua prossima sessione e verifica che `CLAUDE.md` appaia sotto **Memory files**.

465 467 

466### Migrate instructions from other tools468### Migrate instructions from other tools

467 469 


567 569 

568## Visualizza e modifica con `/memory`570## Visualizza e modifica con `/memory`

569 571 

570Il comando `/memory` elenca i tuoi file CLAUDE.md, CLAUDE.local.md e altri file di memoria in tutti gli ambiti utente e progetto, incluse le voci CLAUDE.md utente e progetto per i file che non esistono ancora. Ti consente inoltre di attivare o disattivare la memoria automatica e fornisce un'opzione per aprire la cartella di memoria automatica. Seleziona qualsiasi file per aprirlo nel tuo editor; selezionando uno che non esiste ancora lo crea prima. Per verificare quali file `CLAUDE.md` e file di regole sono stati caricati all'avvio, esegui `/context`.572Il comando `/memory` elenca i tuoi file CLAUDE.md, CLAUDE.local.md e le posizioni degli altri file di memoria negli ambiti utente e progetto. L'elenco include le voci CLAUDE.md utente e progetto per i file che non esistono ancora. Il comando ti consente inoltre di attivare o disattivare la memoria automatica e fornisce un'opzione per aprire la cartella della memoria automatica. Seleziona qualsiasi file per aprirlo nel tuo editor; se ne selezioni uno che non esiste ancora, viene prima creato.

571 573 

572Gli editor GUI come VS Code aprono il file in una finestra separata e puoi continuare a utilizzare la sessione mentre è aperta. Gli editor terminali come Vim prendono il controllo del terminale fino a quando non esci.574Gli editor GUI come VS Code aprono il file in una finestra separata e puoi continuare a utilizzare la sessione mentre è aperta. Gli editor terminali come Vim prendono il controllo del terminale fino a quando non esci.

573 575 


583 585 

584Per eseguire il debug:586Per eseguire il debug:

585 587 

586* Esegui `/context` e controlla l'elenco sotto **Memory files** per verificare i file CLAUDE.md e CLAUDE.local.md che dovrebbero essere caricati all'avvio. Se uno non è presente lì, Claude non può vederlo. Usa `/memory` per aprire e modificare i file.588* Esegui `/context all` e controlla l'elenco sotto **Memory files** per verificare i file CLAUDE.md e CLAUDE.local.md che dovrebbero essere caricati all'avvio. Se uno non è presente lì, Claude non può vederlo. Usa `/memory` per aprire e modificare i file.

587* Se compare un avviso `Instruction file not loaded`, vedi [cosa significa e cosa fare al riguardo](https://code.claude.com/docs/it/errors.md#instruction-file-not-loaded).589* Se compare un avviso `Instruction file not loaded`, vedi [cosa significa e cosa fare al riguardo](https://code.claude.com/docs/it/errors.md#instruction-file-not-loaded).

588* Un `CLAUDE.md` in una sottodirectory della tua directory di lavoro non compare sotto **Memory files**, perché viene caricato su richiesta anziché all'avvio. Quando viene caricato, nel terminale compare una riga `Loaded` con il suo percorso. Per testarne uno nuovo, crealo dalla shell anziché chiedere a Claude di scriverlo, poi chiedi a Claude di leggere un file in quella sottodirectory.590* Un `CLAUDE.md` in una sottodirectory della tua directory di lavoro non compare sotto **Memory files**, perché viene caricato su richiesta anziché all'avvio. Quando viene caricato, nel terminale compare una riga `Loaded` con il suo percorso. Per testarne uno nuovo, crealo dalla shell anziché chiedere a Claude di scriverlo, poi chiedi a Claude di leggere un file in quella sottodirectory.

589* Verifica che il CLAUDE.md rilevante si trovi in una posizione che viene caricata per la tua sessione (vedi [Scegli dove mettere i file CLAUDE.md](#choose-where-to-put-claude-md-files)).591* Verifica che il CLAUDE.md rilevante si trovi in una posizione che viene caricata per la tua sessione (vedi [Scegli dove mettere i file CLAUDE.md](#choose-where-to-put-claude-md-files)).

Details

245>245>

246> **Come predefinito**: imposta `defaultMode` in [impostazioni](https://code.claude.com/docs/it/settings.md#where-settings-live). L'app desktop legge gli stessi file di impostazioni della CLI e applica la modalità di autorizzazione alle nuove sessioni locali.246> **Come predefinito**: imposta `defaultMode` in [impostazioni](https://code.claude.com/docs/it/settings.md#where-settings-live). L'app desktop legge gli stessi file di impostazioni della CLI e applica la modalità di autorizzazione alle nuove sessioni locali.

247>247>

248> Una modalità che scegli nel selettore di modalità viene ricordata per cartella e ha la precedenza su `defaultMode` per quella cartella. Plan è l'eccezione: selezionarla si applica solo alla sessione corrente.248> Una modalità che scegli nel selettore di modalità in una sessione locale viene ricordata per cartella e ha la precedenza su un `defaultMode` nelle impostazioni `.claude/` del progetto. Una nuova sessione locale può comunque iniziare in un `defaultMode` da `~/.claude/settings.json` o dalle impostazioni gestite, quindi controlla il selettore prima del tuo primo messaggio. Se scegli Plan, si applica solo a questa sessione.

249>249>

250> Per sapere dove va `defaultMode` in un file di impostazioni, consulta l'esempio in [Inizia in una modalità di permesso diversa](#start-in-a-different-mode).250> Per sapere dove va `defaultMode` in un file di impostazioni, consulta l'esempio in [Inizia in una modalità di permesso diversa](#start-in-a-different-mode).

251 251 


372 372 

373* **Una connessione diretta all'API Anthropic**: nelle sessioni di terminale interattivo e nelle sessioni `-p`, Agent SDK, [estensione VS Code](https://code.claude.com/docs/it/vs-code.md) e [app desktop](https://code.claude.com/docs/it/desktop.md), indipendentemente dal tuo piano o tipo di account, man mano che Anthropic lo distribuisce. Verifica il tuo tipo di sessione rispetto a queste versioni minime di Claude Code:373* **Una connessione diretta all'API Anthropic**: nelle sessioni di terminale interattivo e nelle sessioni `-p`, Agent SDK, [estensione VS Code](https://code.claude.com/docs/it/vs-code.md) e [app desktop](https://code.claude.com/docs/it/desktop.md), indipendentemente dal tuo piano o tipo di account, man mano che Anthropic lo distribuisce. Verifica il tuo tipo di sessione rispetto a queste versioni minime di Claude Code:

374 * Nelle sessioni di terminale interattivo, chiedere al server richiede Claude Code v2.1.271 o successivo sui piani Pro, Max, Ultra e Team. Sui piani Enterprise e sugli account Claude API, quelle sessioni richiedono v2.1.278 o successivo.374 * Nelle sessioni di terminale interattivo, chiedere al server richiede Claude Code v2.1.271 o successivo sui piani Pro, Max, Ultra e Team. Sui piani Enterprise e sugli account Claude API, quelle sessioni richiedono v2.1.278 o successivo.

375 * Nelle sessioni `-p`, Agent SDK, estensione VS Code e app desktop, chiedere al server richiede Claude Code v2.1.281 o successivo375 * Nelle sessioni `-p` ed estensione VS Code, chiedere al server richiede Claude Code v2.1.278 o successivo

376 * Nelle sessioni Agent SDK e app desktop, chiedere al server richiede Claude Code v2.1.281 o successivo

376 * Dalla v2.1.282, una sessione che [non recupera i feature flag](https://code.claude.com/docs/it/env-vars.md#features-that-need-feature-flag-fetching), ad esempio perché hai disattivato la telemetria, chiede al server per impostazione predefinita in qualsiasi tipo di sessione377 * Dalla v2.1.282, una sessione che [non recupera i feature flag](https://code.claude.com/docs/it/env-vars.md#features-that-need-feature-flag-fetching), ad esempio perché hai disattivato la telemetria, chiede al server per impostazione predefinita in qualsiasi tipo di sessione

377* **Un provider cloud, o un gateway LLM o proxy**: su [Claude Platform su AWS](https://code.claude.com/docs/it/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, e ogni volta che punti `ANTHROPIC_BASE_URL` a un [gateway LLM o proxy](https://code.claude.com/docs/it/llm-gateway), indipendentemente dal tuo piano. Chiedere per impostazione predefinita richiede Claude Code v2.1.278 o successivo.378* **Un provider cloud, o un gateway LLM o proxy**: su [Claude Platform su AWS](https://code.claude.com/docs/it/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry, e ogni volta che punti `ANTHROPIC_BASE_URL` a un [gateway LLM o proxy](https://code.claude.com/docs/it/llm-gateway), indipendentemente dal tuo piano. Chiedere per impostazione predefinita richiede Claude Code v2.1.278 o successivo.

378* **Una sessione [gateway di app Claude](https://code.claude.com/docs/it/claude-apps-gateway) con accesso**: richiede Claude Code v2.1.280 o successivo379* **Una sessione [gateway di app Claude](https://code.claude.com/docs/it/claude-apps-gateway) con accesso**: richiede Claude Code v2.1.280 o successivo

permissions.md +1 −1

Details

69 69 

70## Modalità di autorizzazione70## Modalità di autorizzazione

71 71 

72Claude Code supporta diverse modalità di autorizzazione che controllano come approva le chiamate di strumenti. Vedi [Modalità di autorizzazione](https://code.claude.com/docs/it/permission-modes.md) per quando utilizzare ciascuna. Per modificare la modalità in cui iniziano le sessioni, imposta `defaultMode` nei tuoi [file di impostazioni](https://code.claude.com/docs/it/settings.md#where-settings-live). [In quale modalità inizia una sessione](https://code.claude.com/docs/it/permission-modes.md#which-mode-a-session-starts-in) copre il valore predefinito integrato per ogni piano e cosa legge l'estensione VS Code.72Claude Code supporta diverse modalità di permesso che controllano come approva le chiamate agli strumenti. Vedi [Modalità di permesso](https://code.claude.com/docs/it/permission-modes.md) per quando utilizzare ciascuna. Per modificare la modalità di permesso predefinita per le nuove sessioni, imposta `defaultMode` nei tuoi [file di impostazioni](https://code.claude.com/docs/it/settings.md#where-settings-live). [In quale modalità inizia una sessione](https://code.claude.com/docs/it/permission-modes.md#which-mode-a-session-starts-in) copre il valore predefinito integrato per ogni piano e cosa legge l'estensione VS Code.

73 73 

74| Modalità | Descrizione |74| Modalità | Descrizione |

75| :- | :- |75| :- | :- |

Details

571| :- | :- | :- |571| :- | :- | :- |

572| Hook commands | Ovunque in `command` e `args` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` e `CLAUDE_PLUGIN_OPTION_<KEY>` |572| Hook commands | Ovunque in `command` e `args` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` e `CLAUDE_PLUGIN_OPTION_<KEY>` |

573| Monitor commands | Ovunque in `command` | Non esportato |573| Monitor commands | Ovunque in `command` | Non esportato |

574| MCP `stdio` servers | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA` |574| Server MCP `stdio` | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |

575| MCP `http`, `sse`, `ws` servers | `url`, `headers`, `headersHelper` | Non applicabile |575| MCP `http`, `sse`, `ws` servers | `url`, `headers`, `headersHelper` | Non applicabile |

576| LSP servers | `command`, `args`, `env`, `workspaceFolder` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |576| LSP servers | `command`, `args`, `env`, `workspaceFolder` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |

577| Skill, command, and agent content | Ovunque nel corpo Markdown | Non applicabile |577| Skill, command, and agent content | Ovunque nel corpo Markdown | Non applicabile |

Details

154| Evento | Si attiva quando | Un hook può restituire |154| Evento | Si attiva quando | Un hook può restituire |

155| :- | :- | :- |155| :- | :- | :- |

156| `agent.offer` | Un tipo di subagent viene offerto a Claude | `{ isOffered: false }` per non renderlo disponibile |156| `agent.offer` | Un tipo di subagent viene offerto a Claude | `{ isOffered: false }` per non renderlo disponibile |

157| `agent.spawn` | Un subagent o un membro di un [team di agenti](https://code.claude.com/docs/it/agent-teams.md) sta per avviarsi. Per un membro del team, `e.isTeammate` è `true`. | `next({ ...e, model })` per sceglierne il modello, oppure `{ deny: reason }` |157| `agent.spawn` | Un subagent o un membro di un [team di agenti](https://code.claude.com/docs/it/agent-teams.md) sta per avviarsi, oppure un subagent che ha terminato o è stato interrotto sta per essere eseguito di nuovo. Per un membro del team, `e.isTeammate` è `true`. Per un'esecuzione ripresa, `e.resume` è impostato. | `next({ ...e, model })` per scegliere il modello di uno che si sta avviando, oppure `{ deny: reason }` |

158 158 

159Quando Claude riprende un subagent con lo strumento [`SendMessage`](https://code.claude.com/docs/it/sub-agents#resume-subagents), il tuo hook `agent.spawn` non viene eseguito di nuovo. Per rifiutare le chiamate a `SendMessage` che riprendono un subagent, individua quello strumento in un hook [`tool.call`](https://code.claude.com/docs/it/plugins/mods/events#guard-or-change-a-tool-call).159Il tuo hook `agent.spawn` viene eseguito anche quando un subagent che ha terminato o è stato interrotto sta per essere eseguito di nuovo, ad esempio quando Claude gli invia un messaggio con lo strumento [`SendMessage`](https://code.claude.com/docs/it/sub-agents#resume-subagents). In quell'evento, `e.resume` è `{ agentId }`. Se il tuo hook conta i subagent, salta gli eventi in cui `e.resume` è impostato, in modo che un subagent ripreso non venga conteggiato di nuovo.

160 

161Restituisci `{ deny: reason }` per rifiutare un'esecuzione ripresa. L'esecuzione non si avvia e il subagent rimane com'era. Quando l'esecuzione è stata richiesta da una chiamata a `SendMessage`, Claude legge `a plugin declined the resume:` seguito dal tuo motivo come risultato di quella chiamata. Se passi un evento modificato a `next` per un'esecuzione ripresa, ad esempio un `model` diverso, Claude Code ignora la modifica.

162 

163> [!NOTE]

164>

165> L'evento per un'esecuzione ripresa richiede Claude Code v2.1.299 o versioni successive. Prima della v2.1.299, il tuo hook `agent.spawn` non veniva eseguito quando un subagent veniva ripreso. In quelle versioni, per rifiutare le chiamate a `SendMessage` che riprendono un subagent, individua quello strumento in un hook [`tool.call`](https://code.claude.com/docs/it/plugins/mods/events#guard-or-change-a-tool-call).

160 166 

161### Interfaccia167### Interfaccia

162 168 

Details

502* Problema di rete o proxy: un firewall o proxy potrebbe bloccare la richiesta HTTPS in uscita. Remote Control richiede l'accesso all'API Anthropic sulla porta 443.502* Problema di rete o proxy: un firewall o proxy potrebbe bloccare la richiesta HTTPS in uscita. Remote Control richiede l'accesso all'API Anthropic sulla porta 443.

503* Creazione della sessione non riuscita: se vedi anche `Session creation failed — see debug log`, l'errore è accaduto prima nella configurazione. Verifica che il tuo abbonamento sia attivo.503* Creazione della sessione non riuscita: se vedi anche `Session creation failed — see debug log`, l'errore è accaduto prima nella configurazione. Verifica che il tuo abbonamento sia attivo.

504 504 

505### "working folder not found"

506 

507Nel terminale che esegue [`claude remote-control`](#start-a-remote-control-session), `Session failed: working folder not found:` seguito da un percorso tra virgolette significa che non è stato possibile avviare una sessione perché in quel percorso non esiste alcuna cartella.

508 

509* **Il server è ancora in esecuzione**: ripristina la cartella e avvia di nuovo la sessione, oppure arresta il server

510* **Il server è terminato**: esegui di nuovo `claude remote-control` da una cartella esistente

511 

512Prima della v2.1.318, una sessione che falliva in questo modo mostrava `Session failed: spawn error:` e un messaggio `ENOENT` che nominava un file di programma invece della cartella mancante.

513 

514### "The program file this Remote Control started from is gone"

515 

516Questo avviso nel terminale che esegue [`claude remote-control`](#start-a-remote-control-session) significa che il file di programma da cui è stato avviato il server è mancante, e le nuove sessioni eseguono la versione più recente che lo ha sostituito. Per spostare anche il server su quella versione, arrestalo ed esegui di nuovo `claude remote-control`. Se Claude Code è installato su uno storage di rete, riavvia subito il server e segui [Installare su storage di rete](https://code.claude.com/docs/it/setup.md#install-on-network-storage). Altrimenti, le nuove sessioni si avviano senza bisogno di riavvio.

517 

518Quando il file di programma non c'è più e Claude Code non trova alcuna versione più recente da eseguire, le nuove sessioni falliscono. Il terminale mostra un errore come `Session failed: spawn error:` seguito da un messaggio `ENOENT`. Arresta il server, [installa di nuovo Claude Code](https://code.claude.com/docs/it/setup.md#install-claude-code) se `claude` non viene eseguito nella tua shell, ed esegui di nuovo `claude remote-control`. Prima della v2.1.318, le nuove sessioni fallivano in questo modo anche con una versione più recente installata.

519 

505### "Couldn't reconnect to your Remote Control session"520### "Couldn't reconnect to your Remote Control session"

506 521 

507Quando riprendi una conversazione con `claude --resume` o `claude --continue`, Claude Code si riconnette alla sessione Remote Control registrata in quella conversazione. Questo messaggio significa che la riconnessione non è riuscita per un motivo che potrebbe essere temporaneo, come un'interruzione di rete o un errore del server, quindi Claude Code non può confermare se la sessione remota esiste ancora.522Quando riprendi una conversazione con `claude --resume` o `claude --continue`, Claude Code si riconnette alla sessione Remote Control registrata in quella conversazione. Questo messaggio significa che la riconnessione non è riuscita per un motivo che potrebbe essere temporaneo, come un'interruzione di rete o un errore del server, quindi Claude Code non può confermare se la sessione remota esiste ancora.

sandboxing.md +59 −27

Details

71* **Overrides**: scegli se i comandi che falliscono nella sandbox possono ripiegare sull'esecuzione fuori dalla sandbox. Questa è l'impostazione [`allowUnsandboxedCommands`](https://code.claude.com/docs/it/settings-reference#sandbox-allowunsandboxedcommands)71* **Overrides**: scegli se i comandi che falliscono nella sandbox possono ripiegare sull'esecuzione fuori dalla sandbox. Questa è l'impostazione [`allowUnsandboxedCommands`](https://code.claude.com/docs/it/settings-reference#sandbox-allowunsandboxedcommands)

72* **Config**: visualizza le impostazioni della sandbox risolte72* **Config**: visualizza le impostazioni della sandbox risolte

73 73 

74Se il pannello mostra solo una scheda Dependencies, manca un pacchetto richiesto. Installalo come descritto in [Configurare Linux e WSL2](#set-up-linux-and-wsl2), riavvia Claude Code ed esegui di nuovo `/sandbox`.74Se il pannello mostra solo una scheda Dependencies, la sandbox non può ancora avviarsi. Risolvi ciò che la scheda segnala come descritto in [Configurare Linux e WSL2](#set-up-linux-and-wsl2), riavvia Claude Code ed esegui di nuovo `/sandbox`.

75 75 

76**2. Scegli una modalità**76**2. Scegli una modalità**

77 77 


97 97 

98> [!WARNING]98> [!WARNING]

99>99>

100> Per impostazione predefinita, se la sandbox non può avviarsi perché manca una dipendenza o la piattaforma non è supportata, Claude Code esegue i comandi senza sandboxing. Per far sì che Claude Code termini invece all'avvio, imposta [`sandbox.failIfUnavailable`](https://code.claude.com/docs/it/settings-reference#sandbox-failifunavailable) su `true`. Le distribuzioni gestite che richiedono il sandboxing come barriera di sicurezza possono usare questa impostazione.100> Per impostazione predefinita, quando la piattaforma non supporta la sandbox o il controllo delle dipendenze all'avvio fallisce, Claude Code esegue i comandi senza sandboxing. Per far sì che Claude Code termini invece all'avvio, imposta [`sandbox.failIfUnavailable`](https://code.claude.com/docs/it/settings-reference#sandbox-failifunavailable) su `true`. Le distribuzioni gestite che richiedono il sandboxing come barriera di sicurezza possono usare questa impostazione.

101 101 

102### Verificare che i comandi vengano eseguiti nella sandbox102### Verificare che i comandi vengano eseguiti nella sandbox

103 103 


135 135 

136Ripgrep è incluso nel binario nativo di Claude Code. Il filtro seccomp è opzionale e aggiunge il blocco dei socket di dominio Unix. Se manca, installalo con `npm install -g @anthropic-ai/sandbox-runtime`.136Ripgrep è incluso nel binario nativo di Claude Code. Il filtro seccomp è opzionale e aggiunge il blocco dei socket di dominio Unix. Se manca, installalo con `npm install -g @anthropic-ai/sandbox-runtime`.

137 137 

138Quando manca una dipendenza richiesta, la scheda Dependencies è l'unica mostrata finché non la installi. Quando manca solo il filtro seccomp opzionale, la scheda Dependencies appare insieme alle altre schede. Il controllo delle dipendenze viene eseguito all'avvio, quindi riavvia Claude Code dopo aver installato i pacchetti affinché `/sandbox` li rilevi.138* **Dependencies è l'unica scheda**: la sandbox non può avviarsi. Installa ciò che la scheda indica come mancante oppure, se segnala la restrizione AppArmor di Ubuntu, [aggiungi un profilo AppArmor per bubblewrap](#add-an-apparmor-profile-for-bubblewrap)

139* **Dependencies appare accanto alle altre schede**: la scheda elenca un elemento opzionale mancante, come il filtro seccomp. La sandbox può avviarsi senza di esso, quindi installalo solo se vuoi ciò che aggiunge

139 140 

140> [accordion] Ubuntu 24.04 e successivi: consentire a bubblewrap di creare user namespace141Il controllo delle dipendenze viene eseguito all'avvio, quindi riavvia Claude Code dopo aver installato i pacchetti affinché `/sandbox` li rilevi.

141>

142> Su Ubuntu 24.04 e successivi, la policy AppArmor predefinita impedisce a bubblewrap di creare gli user namespace di cui ha bisogno per l'isolamento.

143>

144> Per verificare se il tuo ambiente applica questa restrizione, anche all'interno di WSL2, esegui `sysctl kernel.apparmor_restrict_unprivileged_userns`. Se il comando restituisce `0`, salta questo passaggio. Se stampa un errore `No such file or directory`, la chiave non esiste e puoi saltare questo passaggio. Se restituisce `1`, aggiungi un profilo AppArmor che conceda a `bwrap` questa capacità:

145>

146> ```bash theme={null}

147> sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'

148> abi <abi/4.0>,

149> include <tunables/global>

150>

151> profile bwrap /usr/bin/bwrap flags=(unconfined) {

152> userns,

153> include if exists <local/bwrap>

154> }

155> EOF

156> ```

157>

158> Il profilo si applica solo a `bwrap` stesso, non ai comandi che esegue all'interno della sandbox. Ricarica AppArmor per applicarlo:

159>

160> ```bash theme={null}

161> sudo systemctl reload apparmor

162> ```

163 142 

164> [accordion] Note su WSL2143> [accordion] Note su WSL2

165>144>


167>146>

168> Su WSL2, WSL passa l'avvio di un binario Windows come `cmd.exe`, `powershell.exe` o qualsiasi cosa in `/mnt/c/` all'host Windows tramite un socket Unix, quindi la possibilità che un comando in sandbox ne avvii uno dipende dalle [impostazioni dei socket Unix](https://code.claude.com/docs/it/settings-reference.md#sandbox-network-allowunixsockets) della sandbox: il filtro seccomp opzionale deve essere installato perché il socket venga bloccato. Per consentire questi avvii, imposta `allowAllUnixSockets`, che apre ogni socket Unix ai comandi in sandbox.147> Su WSL2, WSL passa l'avvio di un binario Windows come `cmd.exe`, `powershell.exe` o qualsiasi cosa in `/mnt/c/` all'host Windows tramite un socket Unix, quindi la possibilità che un comando in sandbox ne avvii uno dipende dalle [impostazioni dei socket Unix](https://code.claude.com/docs/it/settings-reference.md#sandbox-network-allowunixsockets) della sandbox: il filtro seccomp opzionale deve essere installato perché il socket venga bloccato. Per consentire questi avvii, imposta `allowAllUnixSockets`, che apre ogni socket Unix ai comandi in sandbox.

169 148 

149#### Aggiungere un profilo AppArmor per bubblewrap

150 

151Aggiungi il profilo se Claude Code esegue `/usr/bin/bwrap` e si verifica una di queste situazioni:

152 

153* Claude Code [segnala la restrizione AppArmor di Ubuntu sugli user namespace](#apparmor-restriction-stops-bubblewrap)

154* I comandi in sandbox falliscono con `bwrap: setting up uid map: Permission denied` o `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` mentre [quella restrizione è attiva](#bwrap-uid-map-permission-denied)

155 

156Claude Code esegue il primo `bwrap` nel `PATH`, a meno che le impostazioni gestite non ne indichino uno in [`sandbox.bwrapPath`](https://code.claude.com/docs/it/settings-reference#sandbox-bwrappath). Per vedere quale `bwrap` viene per primo, esegui `which bwrap` nella shell da cui avvii Claude Code. Se Claude Code esegue un percorso diverso da `/usr/bin/bwrap`, [rimuovi invece la restrizione con `sysctl`](#apparmor-restriction-stops-bubblewrap).

157 

158Per aggiungere il profilo per `/usr/bin/bwrap`, esegui questo comando:

159 

160```bash theme={null}

161sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'

162abi <abi/4.0>,

163include <tunables/global>

164 

165profile bwrap /usr/bin/bwrap flags=(unconfined) {

166 userns,

167 include if exists <local/bwrap>

168}

169EOF

170```

171 

172Ricarica AppArmor per applicarlo:

173 

174```bash theme={null}

175sudo systemctl reload apparmor

176```

177 

178Poi riavvia Claude Code e [verifica che la sandbox funzioni](#confirm-commands-run-inside-the-sandbox).

179 

170### Modalità della sandbox180### Modalità della sandbox

171 181 

172Claude Code offre due modalità della sandbox. In entrambe, la sandbox applica le stesse restrizioni su filesystem e rete; la differenza sta solo nel fatto che i comandi in sandbox vengano approvati automaticamente o richiedano un permesso esplicito.182Claude Code offre due modalità della sandbox. In entrambe, la sandbox applica le stesse restrizioni su filesystem e rete; la differenza sta solo nel fatto che i comandi in sandbox vengano approvati automaticamente o richiedano un permesso esplicito.


716 726 

717Le due chiavi oltre `enabled` controllano cosa succede quando la sandbox non può eseguire un comando:727Le due chiavi oltre `enabled` controllano cosa succede quando la sandbox non può eseguire un comando:

718 728 

719* **`failIfUnavailable`**: una dipendenza mancante come bubblewrap su Linux blocca l'avvio di Claude Code piuttosto che ricadere nell'esecuzione non sandboxata729* **`failIfUnavailable`**: quando la piattaforma non supporta la sandbox o il controllo delle dipendenze all'avvio fallisce, Claude Code rifiuta di avviarsi piuttosto che ricadere nell'esecuzione non sandboxata

720* **`allowUnsandboxedCommands: false`**: Claude Code ignora l'escape hatch `dangerouslyDisableSandbox`, quindi quando un comando fallisce sotto la sandbox, Claude non può riprovarlo senza sandbox730* **`allowUnsandboxedCommands: false`**: Claude Code ignora l'escape hatch `dangerouslyDisableSandbox`, quindi quando un comando fallisce sotto la sandbox, Claude non può riprovarlo senza sandbox

721 731 

722Valuta queste aggiunte insieme a loro:732Valuta queste aggiunte insieme a loro:


902 912 

903In un container senza privilegi, [bubblewrap](#os-level-enforcement) non può montare un nuovo filesystem `/proc`, quindi i comandi sandboxati falliscono con un errore `bwrap` come `Can't mount proc on /newroot/proc: Operation not permitted`. Imposta [`enableWeakerNestedSandbox`](https://code.claude.com/docs/it/settings-reference#sandbox-enableweakernestedsandbox) su `true` in modo che la sandbox esegua invece il bind-mount del `/proc` esistente del container. Utilizza questa impostazione solo quando il container esterno fornisce già il confine di isolamento di cui hai bisogno, poiché l'impostazione espone ai comandi sandboxati informazioni sui processi che un nuovo mount di `/proc` nasconderebbe.913In un container senza privilegi, [bubblewrap](#os-level-enforcement) non può montare un nuovo filesystem `/proc`, quindi i comandi sandboxati falliscono con un errore `bwrap` come `Can't mount proc on /newroot/proc: Operation not permitted`. Imposta [`enableWeakerNestedSandbox`](https://code.claude.com/docs/it/settings-reference#sandbox-enableweakernestedsandbox) su `true` in modo che la sandbox esegua invece il bind-mount del `/proc` esistente del container. Utilizza questa impostazione solo quando il container esterno fornisce già il confine di isolamento di cui hai bisogno, poiché l'impostazione espone ai comandi sandboxati informazioni sui processi che un nuovo mount di `/proc` nasconderebbe.

904 914 

915### La restrizione AppArmor di Ubuntu blocca bubblewrap

916 

917Su Linux e WSL2, il messaggio `Ubuntu's AppArmor restriction on user namespaces stops bubblewrap here` indica che la restrizione AppArmor di Ubuntu impedisce l'avvio della sandbox.

918 

919Per far avviare la sandbox, rimuovi la restrizione in uno di questi due modi:

920 

921* [Aggiungi un profilo AppArmor per bubblewrap](#add-an-apparmor-profile-for-bubblewrap) se Claude Code esegue `/usr/bin/bwrap`

922* Nella tua shell, esegui `sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0`, che rimuove la restrizione per ogni programma sulla macchina e dura fino al riavvio

923 

924Quindi riavvia Claude Code e [verifica che la sandbox funzioni](#confirm-commands-run-inside-the-sandbox).

925 

926Finché non rimuovi la restrizione, i comandi vengono eseguiti senza la sandbox secondo il normale flusso dei permessi, oppure Claude Code si rifiuta di avviarsi se [`sandbox.failIfUnavailable`](https://code.claude.com/docs/it/settings-reference#sandbox-failifunavailable) è `true`.

927 

928### I comandi sandboxati falliscono con `bwrap: setting up uid map: Permission denied`

929 

930Su Linux e WSL2, questo errore o `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` può indicare che la restrizione AppArmor di Ubuntu sugli user namespace sta bloccando bubblewrap. Per verificarlo, esegui `sysctl kernel.apparmor_restrict_unprivileged_userns` nella tua shell:

931 

932* `kernel.apparmor_restrict_unprivileged_userns = 1`: la restrizione è attiva. [Aggiungi un profilo AppArmor](#add-an-apparmor-profile-for-bubblewrap) se Claude Code esegue `/usr/bin/bwrap`, oppure esegui `sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0`, che la rimuove per ogni programma fino al riavvio. Quindi riavvia Claude Code e [verifica che la sandbox funzioni](#confirm-commands-run-inside-the-sandbox)

933* Qualsiasi altro output: la causa non è la restrizione. Per segnalare il fallimento, esegui [`/feedback`](https://code.claude.com/docs/it/commands#all-commands) al prompt di Claude Code

934 

935Prima della v2.1.310, Claude Code non verificava questa restrizione all'avvio, quindi `/sandbox` non la segnalava.

936 

905### Compaiono file di sola lettura da 0 byte nei percorsi delle impostazioni `.claude`, e "Sì, e non chiedere più" non salva937### Compaiono file di sola lettura da 0 byte nei percorsi delle impostazioni `.claude`, e "Sì, e non chiedere più" non salva

906 938 

907Su Linux e WSL2, la sandbox mantiene un divieto di scrittura su un file che non esiste ancora creando in quel punto un placeholder di sola lettura da 0 byte mentre viene eseguito un comando sandboxato. La sandbox rimuove il placeholder in seguito.939Su Linux e WSL2, la sandbox mantiene un divieto di scrittura su un file che non esiste ancora creando in quel punto un placeholder di sola lettura da 0 byte mentre viene eseguito un comando sandboxato. La sandbox rimuove il placeholder in seguito.

Details

472 472 

473Per verificare che il trap funzioni, aggiungi subito sotto la riga `trap` una riga che chiama un comando inesistente, come `no-such-command`. Esegui il file dell'hook dalla tua shell e verifica che `echo $?` stampi `1`, quindi rimuovi la riga.473Per verificare che il trap funzioni, aggiungi subito sotto la riga `trap` una riga che chiama un comando inesistente, come `no-such-command`. Esegui il file dell'hook dalla tua shell e verifica che `echo $?` stampi `1`, quindi rimuovi la riga.

474 474 

475#### Scopri perché è stata inviata una richiesta di spawn

476 

477Il tuo hook riceve il motivo di ogni richiesta di spawn in `CLAUDE_RUNNER_SPAWN_REASON`, così puoi registrare nei log perché l'hook è stato eseguito, insieme a `CLAUDE_RUNNER_SESSION_UUID`. Richiede Claude Code v2.1.318 o successiva sull'orchestratore. Leggila come `"${CLAUDE_RUNNER_SPAWN_REASON:-}"`, perché può non essere impostata, e avvia il runner qualunque sia il valore. Se il tuo hook si dirama in base a essa, mantieni un ramo predefinito, perché Anthropic può aggiungere valori.

478 

479Per trovare il motivo delle richieste precedenti, cerca nel log di ogni replica dell'orchestratore `session=` seguito dal `CLAUDE_RUNNER_SESSION_UUID` della sessione, non dal suo ID `session_...`. Le righe `ok session=` e `nack session=` mostrano il valore di `CLAUDE_RUNNER_SPAWN_REASON` dopo `reason=`, oppure `reason=-` se non era impostata:

480 

481* **`[runner:orchestrator] ok session=`**: l'hook è uscito con 0

482* **`[runner:orchestrator] nack session=`**: l'orchestratore sta segnalando ad Anthropic una richiesta di spawn non riuscita

483 

484Ogni valore indica solo l'ultima causa che Anthropic ha registrato per la sessione, non la sua cronologia:

485 

486| Valore | Cosa è successo | Cosa controllare |

487| :- | :- | :- |

488| `session_created` | Questa è la prima richiesta di spawn per una nuova sessione | Nulla. Non farci affidamento per individuare la prima richiesta di una sessione, perché la prima richiesta che il tuo hook vede può riportare `runner_lost` dopo che un runner di una flotta fissa o in standby ha tenuto la sessione. |

489| `no_runner_registered` | Nessun runner si è registrato per la richiesta precedente entro `--expected-spawn-seconds`, e Anthropic non ha registrato alcuna segnalazione di errore per essa | `stop: no nack for session=` o `nack failed session=` tra le righe precedenti della sessione indicano che non è stata registrata alcuna segnalazione di errore. Leggi l'eventuale errore dell'hook che le precede e, se l'orchestratore si stava arrestando, consulta [Arresta o riavvia l'orchestratore](#stop-or-restart-the-orchestrator). Dopo una riga `ok session=`, verifica che il suo runner si sia avviato e registrato entro `--expected-spawn-seconds`. Se nessuna replica ha registrato la richiesta, controlla i tuoi orchestratori per riavvii e righe `poll failed`. |

490| `hook_failed` | Il tuo orchestratore ha segnalato che la richiesta precedente non è riuscita e può essere riprovata, ad esempio perché il tuo hook è uscito con 1 o era ancora in esecuzione allo scadere di `--hook-timeout`. Il valore è lo stesso quando il tuo orchestratore restituisce una richiesta ad Anthropic senza eseguire l'hook, ad esempio mentre l'orchestratore si sta arrestando. | Trova l'ultima riga `[runner:orchestrator] nack session=` o `stop: handing back session=` della sessione prima di questa richiesta. L'errore di spawn inviato dall'orchestratore segue il valore di `reason=` e può proseguire nelle righe successive. Una riga `handing back session=` indica che l'orchestratore si stava arrestando e non ha eseguito l'hook, quindi nell'hook non c'è nulla da correggere. |

491| `runner_lost` | Il runner che teneva la sessione ha smesso di comunicare con Anthropic, ha annullato la registrazione o è stato eliminato | Scopri cosa ha arrestato il runner o lo ha isolato da Anthropic, come un'espulsione del nodo, un'interruzione per memoria esaurita, il recupero di un'istanza spot o un tuo rollout o ridimensionamento |

492| `runner_reported_failure` | Il runner precedente ha segnalato che la sessione non è riuscita su di esso, ad esempio durante il checkout | Leggi il log del runner precedente. Se molte sessioni ricevono questo valore, controlla l'immagine e la configurazione del repository. |

493| `resumed` | La sessione era in pausa e ora ha di nuovo bisogno di un runner. Ad esempio, il suo runner l'ha rilasciata in base a [`--release-idle-session-min`](#make-on-demand-runners-exit-when-idle), e in seguito ha ricevuto un nuovo messaggio. | Nulla |

494| `requeued` | La sessione è stata rimessa in coda, ad esempio quando un Owner ha selezionato **Retry** o una sessione bloccata ha ricevuto un nuovo messaggio | Se la stessa sessione continua a ricevere questo valore, leggi l'errore nelle sue righe `nack session=`. Se il suo hook è uscito con 0, leggi il log del runner. |

495| `server_retry` | Anthropic ha rinunciato alla richiesta precedente o all'avvio della sessione sul suo runner, e sta riprovando. Il tuo hook non ha fallito. | Nulla per una singola richiesta. Se il valore continua a comparire, su una sessione o su molte, segnalalo al [tuo team dell'account Anthropic](https://code.claude.com/docs/it/self-hosted-environments-deploy.md#report-an-issue). |

496| `prewarm` | Questa è una richiesta di pre-riscaldamento, ancora senza sessione | Nulla |

497 

475### Arresta o riavvia l'orchestratore498### Arresta o riavvia l'orchestratore

476 499 

477Per arrestare o riavviare l'orchestratore senza interrompere gli hook `spawn-runner` in esecuzione, avvialo con [`--shutdown-drain-sec`](https://code.claude.com/docs/it/self-hosted-environments-reference#orchestrator-cli-flags). Alla ricezione di `SIGTERM`, concede quindi agli hook in esecuzione fino al numero di secondi che hai impostato per terminare. Per scegliere il valore e configurare di conseguenza il tuo supervisore di processi, consulta [Dimensiona `--shutdown-drain-sec` e il timeout di arresto dell'orchestratore](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator).500Per arrestare o riavviare l'orchestratore senza interrompere gli hook `spawn-runner` in esecuzione, avvialo con [`--shutdown-drain-sec`](https://code.claude.com/docs/it/self-hosted-environments-reference#orchestrator-cli-flags). Alla ricezione di `SIGTERM`, concede quindi agli hook in esecuzione fino al numero di secondi che hai impostato per terminare. Per scegliere il valore e configurare di conseguenza il tuo supervisore di processi, consulta [Dimensiona `--shutdown-drain-sec` e il timeout di arresto dell'orchestratore](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator).

Details

172 172 

173Un client che ha effettuato l'accesso tramite un [gateway delle app Claude](#platform-availability) recupera le impostazioni dal gateway e attende quel recupero prima che la sessione inizi, quindi il recupero descritto negli elenchi seguenti non si applica a esso. [Imporre un avvio fail-closed](#enforce-fail-closed-startup) descrive cosa succede quando quel recupero non riesce.173Un client che ha effettuato l'accesso tramite un [gateway delle app Claude](#platform-availability) recupera le impostazioni dal gateway e attende quel recupero prima che la sessione inizi, quindi il recupero descritto negli elenchi seguenti non si applica a esso. [Imporre un avvio fail-closed](#enforce-fail-closed-startup) descrive cosa succede quando quel recupero non riesce.

174 174 

175> [!NOTE]

176>

177> Con un accesso a claude.ai Team o Enterprise memorizzato sulla macchina, Anthropic può richiedere le impostazioni della tua organizzazione prima che una sessione inizi. Quando lo fa, indipendentemente da quanto indicato negli elenchi seguenti, uno sviluppatore [non può avviare una sessione](https://code.claude.com/docs/it/errors.md#couldnt-load-your-organizations-settings) in casi come questi:

178>

179> * Il suo accesso è scaduto, finché non esegue `claude auth login`

180> * Claude Code non dispone né delle impostazioni né di una copia recente nella cache. Verifica che la macchina possa raggiungere `api.anthropic.com`

181>

182> Un messaggio all'avvio con `before a session can start` o `Your Claude session has expired` indica che il requisito si applica.

183 

175**Primo avvio senza impostazioni nella cache:**184**Primo avvio senza impostazioni nella cache:**

176 185 

177* Quando uno sviluppatore accede all'avvio, ad esempio alla prima esecuzione o dopo `/logout`, Claude Code attende fino a cinque secondi il recupero prima di aprire la sessione. Quando la policy arriva in tempo, Claude Code la applica dalla prima schermata e vi mostra i tuoi [`companyAnnouncements`](https://code.claude.com/docs/it/settings-reference#companyannouncements). Quando il payload richiede l'[approvazione di sicurezza](#security-approval-dialogs), Claude Code termina l'attesa e applica il payload una volta che lo sviluppatore lo approva186* Quando uno sviluppatore accede all'avvio, ad esempio alla prima esecuzione o dopo `/logout`, Claude Code attende fino a cinque secondi il recupero prima di aprire la sessione. Quando la policy arriva in tempo, Claude Code la applica dalla prima schermata e vi mostra i tuoi [`companyAnnouncements`](https://code.claude.com/docs/it/settings-reference#companyannouncements). Quando il payload richiede l'[approvazione di sicurezza](#security-approval-dialogs), Claude Code termina l'attesa e applica il payload una volta che lo sviluppatore lo approva

178* In qualsiasi altro avvio, e quando quell'attesa di cinque secondi si esaurisce, Claude Code apre la sessione mentre il recupero continua, quindi trascorre un breve intervallo prima che le impostazioni vengano caricate e le restrizioni entrino in vigore187* In qualsiasi altro avvio, e quando quell'attesa di cinque secondi si esaurisce, Claude Code apre la sessione mentre il recupero continua, quindi trascorre un breve intervallo prima che le impostazioni vengano caricate e le restrizioni entrino in vigore

179* Se il recupero non riesce, Claude Code continua senza impostazioni gestite dal server e, nelle sessioni interattive, avvisa che non si applica alcuna policy remota; le impostazioni gestite dall'endpoint si applicano comunque. Se un'origine gestita imposta [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup), Claude Code esce invece di continuare188* Se il recupero non riesce, Claude Code continua senza impostazioni gestite dal server e, nelle sessioni interattive e nella [scheda Code di Claude Desktop](https://code.claude.com/docs/it/desktop.md), avvisa che non si applica alcuna policy remota; le impostazioni gestite dall'endpoint si applicano comunque. Se un'origine gestita imposta [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup), Claude Code esce invece di continuare

180 189 

181**Avvii successivi con impostazioni nella cache:**190**Avvii successivi con impostazioni nella cache:**

182 191 


186* Un valore [`prependPlugins`](https://code.claude.com/docs/it/settings-reference#prependplugins), [`appendPlugins`](https://code.claude.com/docs/it/settings-reference#appendplugins) o [`enabledPlugins`](https://code.claude.com/docs/it/settings-reference#enabledplugins) nella cache non può rimuovere la protezione integrata, cambiarne la posizione o disattivarla finché il recupero della sessione non conferma il payload195* Un valore [`prependPlugins`](https://code.claude.com/docs/it/settings-reference#prependplugins), [`appendPlugins`](https://code.claude.com/docs/it/settings-reference#appendplugins) o [`enabledPlugins`](https://code.claude.com/docs/it/settings-reference#enabledplugins) nella cache non può rimuovere la protezione integrata, cambiarne la posizione o disattivarla finché il recupero della sessione non conferma il payload

187* Su una macchina in cui un'[origine gestita dall'endpoint](https://code.claude.com/docs/it/managed-settings.md#choose-a-delivery-mechanism) elenca o abilita plugin propri, un plugin abilitato solo da un elenco nella cache conta come [plugin dell'utente](https://code.claude.com/docs/it/plugins/mods/admin.md#install-your-organizations-mods), non della tua organizzazione, finché il recupero non conferma il payload196* Su una macchina in cui un'[origine gestita dall'endpoint](https://code.claude.com/docs/it/managed-settings.md#choose-a-delivery-mechanism) elenca o abilita plugin propri, un plugin abilitato solo da un elenco nella cache conta come [plugin dell'utente](https://code.claude.com/docs/it/plugins/mods/admin.md#install-your-organizations-mods), non della tua organizzazione, finché il recupero non conferma il payload

188* Claude Code recupera le impostazioni aggiornate in background197* Claude Code recupera le impostazioni aggiornate in background

189* Le impostazioni nella cache persistono in caso di errori di rete. Se il recupero all'avvio non riesce, Claude Code avvisa nelle sessioni interattive che è in vigore la policy nella cache198* Le impostazioni nella cache persistono in caso di errori di rete. Se il recupero all'avvio non riesce, Claude Code avvisa nelle sessioni interattive e nella scheda Code che è in vigore la policy nella cache

190* I valori trattenuti all'avvio restano trattenuti fino al primo recupero riuscito199* I valori trattenuti all'avvio restano trattenuti fino al primo recupero riuscito

191 200 

192Claude Code trattiene diverse categorie di variabili nel blocco `env` nella cache fino alla conferma del payload da parte del server per la sessione. In questo modo un valore di proxy, autorità di certificazione, endpoint o credenziali nella cache non può reindirizzare, intercettare o riautenticare il recupero delle impostazioni che conferma il payload. Questa protezione si applica solo alla cache delle impostazioni recuperate dal server: le [impostazioni gestite dall'endpoint](https://code.claude.com/docs/it/managed-settings.md#delivery-mechanisms) distribuite tramite MDM o `managed-settings.json` non sono interessate. Le categorie trattenute includono:201Claude Code trattiene diverse categorie di variabili nel blocco `env` nella cache fino alla conferma del payload da parte del server per la sessione. In questo modo un valore di proxy, autorità di certificazione, endpoint o credenziali nella cache non può reindirizzare, intercettare o riautenticare il recupero delle impostazioni che conferma il payload. Questa protezione si applica solo alla cache delle impostazioni recuperate dal server: le [impostazioni gestite dall'endpoint](https://code.claude.com/docs/it/managed-settings.md#delivery-mechanisms) distribuite tramite MDM o `managed-settings.json` non sono interessate. Le categorie trattenute includono:


221 * Nessuna di esse ripiega su un valore più restrittivo.230 * Nessuna di esse ripiega su un valore più restrittivo.

222 * Il payload contiene una chiave diversa da quelle due chiavi di conservazione.231 * Il payload contiene una chiave diversa da quelle due chiavi di conservazione.

223 232 

224 L'avviso all'avvio, `/status` e `claude doctor` segnalano allora il [caricamento non riuscito](https://code.claude.com/docs/it/errors.md#remote-managed-settings-failed-to-load) con la causa `no setting in the server response could be applied as written`, e quella voce indica su quale policy viene eseguita la sessione. I client che [impongono un avvio fail-closed](#enforce-fail-closed-startup) escono invece all'avvio.233 L'avviso all'avvio, `/status` e `claude doctor` segnalano allora il [caricamento non riuscito](https://code.claude.com/docs/it/errors.md#remote-managed-settings-failed-to-load) con la causa `no setting in the server response could be applied as written`, e quella voce indica su quale policy viene eseguita la sessione. I client che [impongono un avvio fail-closed](#enforce-fail-closed-startup) escono invece all'avvio. Se l'avvio si interrompe con un messaggio secondo cui la tua organizzazione richiede le sue impostazioni `before a session can start`, consulta [Claude Code non è riuscito a caricare le impostazioni della tua organizzazione](https://code.claude.com/docs/it/errors.md#couldnt-load-your-organizations-settings).

225* La [finestra di dialogo di approvazione di sicurezza](#security-approval-dialogs) valuta il payload recuperato dopo la rimozione delle voci non valide, quindi una voce non valida rimossa non viene mai presentata per l'approvazione e non viene mai eseguita.234* La [finestra di dialogo di approvazione di sicurezza](#security-approval-dialogs) valuta il payload recuperato dopo la rimozione delle voci non valide, quindi una voce non valida rimossa non viene mai presentata per l'approvazione e non viene mai eseguita.

226 235 

227Per eseguire il debug dei problemi di distribuzione, esegui `claude --debug-file <path>` e cerca `Remote settings` nel log. Convalida una modifica del payload con `claude doctor` su una macchina di test prima di distribuirla all'organizzazione.236Per eseguire il debug dei problemi di distribuzione, esegui `claude --debug-file <path>` e cerca `Remote settings` nel log. Convalida una modifica del payload con `claude doctor` su una macchina di test prima di distribuirla all'organizzazione.

228 237 

229### Imporre un avvio fail-closed238### Imporre un avvio fail-closed

230 239 

231Per impostazione predefinita, se il recupero delle impostazioni remote non riesce all'avvio, la CLI continua con le impostazioni memorizzate nella cache dall'ultimo recupero riuscito, a eccezione dei [valori che Claude Code trattiene](#fetch-and-caching-behavior) fino al primo recupero riuscito. Su una macchina che non le ha mai recuperate, la CLI continua senza impostazioni gestite dal server e applica comunque eventuali [impostazioni gestite dall'endpoint](https://code.claude.com/docs/it/managed-settings.md#delivery-mechanisms) presenti sul dispositivo.240Per impostazione predefinita, se il recupero delle impostazioni remote non riesce all'avvio, la CLI continua con le impostazioni memorizzate nella cache dall'ultimo recupero riuscito. I [valori che Claude Code trattiene](#fetch-and-caching-behavior) restano trattenuti fino al primo recupero riuscito. Su una macchina che non le ha mai recuperate, la CLI continua senza impostazioni gestite dal server e applica comunque eventuali [impostazioni gestite dall'endpoint](https://code.claude.com/docs/it/managed-settings.md#delivery-mechanisms) presenti sul dispositivo. In alternativa, [Anthropic può richiedere le impostazioni](#fetch-and-caching-behavior).

232 241 

233Per impedire ai client di avviarsi con impostazioni gestite dal server nella cache o assenti, imposta `forceRemoteSettingsRefresh: true` nelle impostazioni gestite.242Per impedire ai client di avviarsi con impostazioni gestite dal server nella cache o assenti, imposta `forceRemoteSettingsRefresh: true` nelle impostazioni gestite.

234 243 


370| L'utente elimina il file di impostazioni memorizzato nella cache | Si verifica il comportamento del [primo avvio](#fetch-and-caching-behavior) |379| L'utente elimina il file di impostazioni memorizzato nella cache | Si verifica il comportamento del [primo avvio](#fetch-and-caching-behavior) |

371| L'utente esegue un binario Claude Code modificato | Un utente che può eseguire un client modificato può aggirare qualsiasi controllo lato client |380| L'utente esegue un binario Claude Code modificato | Un utente che può eseguire un client modificato può aggirare qualsiasi controllo lato client |

372| L'utente esegue una versione precedente di Claude Code | Le versioni precedenti alle impostazioni gestite dal server non le recuperano o non le applicano |381| L'utente esegue una versione precedente di Claude Code | Le versioni precedenti alle impostazioni gestite dal server non le recuperano o non le applicano |

373| L'API non è disponibile | Le impostazioni memorizzate nella cache si applicano se disponibili, ad eccezione dei [valori che Claude Code trattiene](#fetch-and-caching-behavior) fino a quando un recupero ha successo. Senza una cache, Claude Code non applica alcuna impostazione gestita dal server fino al prossimo recupero riuscito e applica comunque qualsiasi [impostazione gestita dall'endpoint](https://code.claude.com/docs/it/managed-settings.md#delivery-mechanisms) sul dispositivo. Con `forceRemoteSettingsRefresh: true`, la CLI esce invece di continuare, ad eccezione dei [`claude auth` subcomandi](#enforce-fail-closed-startup). I client che hanno effettuato l'accesso tramite un [gateway di app Claude](#platform-availability) escono all'avvio senza questa impostazione, con la stessa eccezione `claude auth` |382| L'API non è disponibile | Le impostazioni memorizzate nella cache si applicano se disponibili. Senza una cache, Claude Code non applica alcuna impostazione gestita dal server fino al prossimo recupero riuscito. [Comportamento di recupero e memorizzazione nella cache](#fetch-and-caching-behavior) elenca le eccezioni, incluso il caso in cui Anthropic richiede le impostazioni. Con `forceRemoteSettingsRefresh: true`, la CLI esce invece di continuare, ad eccezione dei [sottocomandi `claude auth`](#enforce-fail-closed-startup). I client che hanno effettuato l'accesso tramite un [gateway di app Claude](#platform-availability) escono all'avvio senza questa impostazione, con la stessa eccezione `claude auth` |

374| L'utente si autentica con un'organizzazione diversa | Le impostazioni non vengono consegnate per gli account al di fuori dell'organizzazione gestita, inclusa una sessione che si autentica con una [chiave API della Console](#platform-availability) |383| L'utente si autentica con un'organizzazione diversa | Le impostazioni non vengono consegnate per gli account al di fuori dell'organizzazione gestita, inclusa una sessione che si autentica con una [chiave API della Console](#platform-availability) |

375| L'utente configura un [provider di modelli di terze parti](#platform-availability) | Le impostazioni gestite dal server vengono ignorate. Questo include l'impostazione di `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS`, o un `ANTHROPIC_BASE_URL` non predefinito |384| L'utente configura un [provider di modelli di terze parti](#platform-availability) | Le impostazioni gestite dal server vengono ignorate. Questo include l'impostazione di `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS`, o un `ANTHROPIC_BASE_URL` non predefinito |

376| Il traffico di rete viene intercettato o reindirizzato | La convalida TLS disabilitata o il traffico intercettato può alterare le impostazioni che il client riceve |385| Il traffico di rete viene intercettato o reindirizzato | La convalida TLS disabilitata o il traffico intercettato può alterare le impostazioni che il client riceve |

settings.md +2 −2

Details

199* **Errore di impostazioni**: un file utente, progetto o locale ha JSON non valido o un valore che lo schema rifiuta. All'inizio di una sessione interattiva Claude Code mostra un dialogo che vi permette di riparare il file con l'aiuto di Claude, uscire, o continuare senza le impostazioni rotte.199* **Errore di impostazioni**: un file utente, progetto o locale ha JSON non valido o un valore che lo schema rifiuta. All'inizio di una sessione interattiva Claude Code mostra un dialogo che vi permette di riparare il file con l'aiuto di Claude, uscire, o continuare senza le impostazioni rotte.

200* **Avviso di impostazioni**: solo le voci individuali falliscono, come una regola di permesso malformata o un nome di evento hook sconosciuto. Claude Code salta quei valori e mantiene il resto del file in vigore.200* **Avviso di impostazioni**: solo le voci individuali falliscono, come una regola di permesso malformata o un nome di evento hook sconosciuto. Claude Code salta quei valori e mantiene il resto del file in vigore.

201* **Impostazioni gestite**: Claude Code continua a applicare il resto del file. [Voci non valide nelle impostazioni gestite](https://code.claude.com/docs/it/managed-settings.md#invalid-entries-in-managed-settings) dice cosa scarta e quali chiavi ricadono a un valore più rigoroso fino a quando non le riparate. Per un documento di impostazioni gestite che non è JSON valido, vedere [Il documento delle impostazioni gestite non potrebbe essere analizzato](https://code.claude.com/docs/it/errors.md#managed-settings-document-could-not-be-parsed).201* **Impostazioni gestite**: Claude Code continua a applicare il resto del file. [Voci non valide nelle impostazioni gestite](https://code.claude.com/docs/it/managed-settings.md#invalid-entries-in-managed-settings) dice cosa scarta e quali chiavi ricadono a un valore più rigoroso fino a quando non le riparate. Per un documento di impostazioni gestite che non è JSON valido, vedere [Il documento delle impostazioni gestite non potrebbe essere analizzato](https://code.claude.com/docs/it/errors.md#managed-settings-document-could-not-be-parsed).

202* **Errore di configurazione**: `~/.claude.json` non può essere analizzato. Claude Code copia il file rotto a `~/.claude/backups/.claude.json.corrupted.<timestamp>` e chiede se uscire e ripararlo manualmente o ripristinare la configurazione predefinita; un'esecuzione `-p` stampa l'errore e esce. Per recuperare il vostro stato precedente, copiate indietro uno dei cinque file `.claude.json.backup.<timestamp>` più recenti in `~/.claude/backups/`, che Claude Code salva prima di scrivere il file.202* **Configuration error**: [`~/.claude.json`](https://code.claude.com/docs/it/claude-directory#ce-claude-json) non può essere analizzato. Un'esecuzione `claude -p` termina e il tuo file resta invariato. Consulta [Configuration error in \~/.claude.json](https://code.claude.com/docs/it/errors.md#configuration-error-in-claude-json) per ripristinare una copia precedente. Claude Code copia il file rotto in `~/.claude/backups/.claude.json.corrupted.<timestamp>` e, in una sessione interattiva, chiede se uscire e ripararlo o ripristinare la configurazione predefinita. Quando il file è vuoto e non c'è alcun backup da ripristinare, Claude Code si avvia con le impostazioni predefinite.

203 203 

204Dopo aver continuato, eseguite `/status` per vedere i file interessati e `claude doctor` per i dettagli di ogni errore.204Dopo aver continuato, eseguite `/status` per vedere i file interessati e `claude doctor` per i dettagli di ogni errore.

205 205 

206Un'esecuzione `-p` non mostra dialogo. Tranne quando [un documento di impostazioni gestite non può essere analizzato](https://code.claude.com/docs/it/errors.md#managed-settings-document-could-not-be-parsed), Claude Code salta il file rotto o i valori e continua con il resto, quindi dopo un'esecuzione `-p` che ignora un'impostazione, eseguite `claude doctor` per vedere cosa ha scartato.206Un'esecuzione `-p` non mostra alcun dialogo. Tranne quando [un documento di impostazioni gestite non può essere analizzato](https://code.claude.com/docs/it/errors.md#managed-settings-document-could-not-be-parsed), Claude Code salta un file utente, di progetto o locale rotto o i suoi valori rotti e continua con il resto. Dopo un'esecuzione `-p` che ignora un'impostazione, esegui `claude doctor` dal tuo terminale per vedere cosa ha scartato.

207 207 

208## Precedenza delle impostazioni208## Precedenza delle impostazioni

209 209 

Details

40| [`autoCompactWindow`](#autocompactwindow) | Imposta quanto deve riempirsi il contesto prima che Claude Code esegua la [compattazione](https://code.claude.com/docs/it/context-window.md) | Memoria e contesto | Any file |40| [`autoCompactWindow`](#autocompactwindow) | Imposta quanto deve riempirsi il contesto prima che Claude Code esegua la [compattazione](https://code.claude.com/docs/it/context-window.md) | Memoria e contesto | Any file |

41| [`autoConnectIde`](#autoconnectide) | Connettiti automaticamente a un IDE [VS Code](https://code.claude.com/docs/it/vs-code.md) o [JetBrains](https://code.claude.com/docs/it/jetbrains.md#from-external-terminals) in esecuzione da un terminale esterno | Impostazioni di configurazione globale | Global config |41| [`autoConnectIde`](#autoconnectide) | Connettiti automaticamente a un IDE [VS Code](https://code.claude.com/docs/it/vs-code.md) o [JetBrains](https://code.claude.com/docs/it/jetbrains.md#from-external-terminals) in esecuzione da un terminale esterno | Impostazioni di configurazione globale | Global config |

42| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Attendi nella sessione aperta e [continua l'attività automaticamente](https://code.claude.com/docs/it/interactive-mode.md#wait-for-a-usage-limit-to-reset) dopo il ripristino di un limite di utilizzo di claude.ai | Interfaccia e terminale | User or managed |42| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Attendi nella sessione aperta e [continua l'attività automaticamente](https://code.claude.com/docs/it/interactive-mode.md#wait-for-a-usage-limit-to-reset) dopo il ripristino di un limite di utilizzo di claude.ai | Interfaccia e terminale | User or managed |

43| [`autoInstallIdeExtension`](#autoinstallideextension) | Disattiva l'installazione automatica dell'[estensione IDE](https://code.claude.com/docs/it/vs-code.md#install-the-extension) da un terminale VS Code | Impostazioni di configurazione globale | Global config |43| [`autoInstallIdeExtension`](#autoinstallideextension) | Consenti a `/ide` di installare l'[estensione IDE](https://code.claude.com/docs/it/vs-code.md#install-the-extension) da un terminale esterno | Impostazioni di configurazione globale | Global config |

44| [`autoMemoryDirectory`](#automemorydirectory) | Archivia la [memoria automatica](https://code.claude.com/docs/it/memory.md#auto-memory) in una directory a tua scelta | Memoria e contesto | Any file |44| [`autoMemoryDirectory`](#automemorydirectory) | Archivia la [memoria automatica](https://code.claude.com/docs/it/memory.md#auto-memory) in una directory a tua scelta | Memoria e contesto | Any file |

45| [`autoMemoryEnabled`](#automemoryenabled) | Disattiva o attiva la [memoria automatica](https://code.claude.com/docs/it/memory.md#auto-memory) | Memoria e contesto | Any file |45| [`autoMemoryEnabled`](#automemoryenabled) | Disattiva o attiva la [memoria automatica](https://code.claude.com/docs/it/memory.md#auto-memory) | Memoria e contesto | Any file |

46| [`autoMode`](#automode) | Aggiungi le tue regole allow e deny al classificatore della [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode) | Impostazioni dei permessi | User or managed |46| [`autoMode`](#automode) | Aggiungi le tue regole allow e deny al classificatore della [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode) | Impostazioni dei permessi | User or managed |


139| [`outputStyle`](#outputstyle) | Cambia il ruolo, il tono e il formato di output di Claude con uno [stile di output](https://code.claude.com/docs/it/output-styles.md) | Modello e risposte | Any file |139| [`outputStyle`](#outputstyle) | Cambia il ruolo, il tono e il formato di output di Claude con uno [stile di output](https://code.claude.com/docs/it/output-styles.md) | Modello e risposte | Any file |

140| [`parentSettingsBehavior`](#parentsettingsbehavior) | Applica o ignora le restrizioni che un [host SDK o IDE](https://code.claude.com/docs/it/managed-settings.md#let-an-embedding-host-add-policy) passa quando distribuisci [impostazioni gestite](https://code.claude.com/docs/it/managed-settings.md) | Impostazioni aziendali e gestite | Managed |140| [`parentSettingsBehavior`](#parentsettingsbehavior) | Applica o ignora le restrizioni che un [host SDK o IDE](https://code.claude.com/docs/it/managed-settings.md#let-an-embedding-host-add-policy) passa quando distribuisci [impostazioni gestite](https://code.claude.com/docs/it/managed-settings.md) | Impostazioni aziendali e gestite | Managed |

141| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Rimosso nella v2.1.257, insieme alla spiegazione dei comandi con `Ctrl+E` nelle richieste di permesso della shell | Impostazioni di configurazione globale | Global config |141| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Rimosso nella v2.1.257, insieme alla spiegazione dei comandi con `Ctrl+E` nelle richieste di permesso della shell | Impostazioni di configurazione globale | Global config |

142| [`permissions`](#permissions) | Imposta le regole allow, ask e deny e la [modalità di permesso](https://code.claude.com/docs/it/permission-modes.md) iniziale | Impostazioni dei permessi | Any file |142| [`permissions`](#permissions) | Imposta le regole allow, ask e deny e la [modalità di permesso](https://code.claude.com/docs/it/permission-modes.md) predefinita | Impostazioni dei permessi | Qualsiasi file |

143| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Concedi a Claude l'accesso ai file nelle [directory esterne a quella corrente](https://code.claude.com/docs/it/permissions.md#working-directories) | Impostazioni dei permessi | Any file |143| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Concedi a Claude l'accesso ai file nelle [directory esterne a quella corrente](https://code.claude.com/docs/it/permissions.md#working-directories) | Impostazioni dei permessi | Any file |

144| [`permissions.allow`](#permissions-allow) | Approva gli [usi degli strumenti](https://code.claude.com/docs/it/permissions.md#permission-rule-syntax) elencati senza richiesta di conferma | Impostazioni dei permessi | Any file |144| [`permissions.allow`](#permissions-allow) | Approva gli [usi degli strumenti](https://code.claude.com/docs/it/permissions.md#permission-rule-syntax) elencati senza richiesta di conferma | Impostazioni dei permessi | Any file |

145| [`permissions.ask`](#permissions-ask) | Chiedi sempre conferma prima degli [usi degli strumenti](https://code.claude.com/docs/it/permissions.md#permission-rule-syntax) elencati | Impostazioni dei permessi | Any file |145| [`permissions.ask`](#permissions-ask) | Chiedi sempre conferma prima degli [usi degli strumenti](https://code.claude.com/docs/it/permissions.md#permission-rule-syntax) elencati | Impostazioni dei permessi | Any file |

146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Fai in modo che gli strumenti per i file rifiutino le letture al di fuori delle [directory di lavoro](https://code.claude.com/docs/it/permissions.md#working-directories) in ogni modalità di permesso | Impostazioni dei permessi | Any file |146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Fai in modo che gli strumenti per i file rifiutino le letture al di fuori delle [directory di lavoro](https://code.claude.com/docs/it/permissions.md#working-directories) in ogni modalità di permesso | Impostazioni dei permessi | Any file |

147| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | Fai in modo che gli strumenti `Write`, `Edit` e `NotebookEdit` rifiutino i percorsi al di fuori delle [directory di lavoro](https://code.claude.com/docs/it/permissions.md#working-directories) in ogni modalità di permesso, tranne [alcuni file di Claude Code stesso](#what-the-write-block-refuses-and-what-stays-writable) | Impostazioni dei permessi | Any file |147| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | Fai in modo che gli strumenti `Write`, `Edit` e `NotebookEdit` rifiutino i percorsi al di fuori delle [directory di lavoro](https://code.claude.com/docs/it/permissions.md#working-directories) in ogni modalità di permesso, tranne [alcuni file di Claude Code stesso](#what-the-write-block-refuses-and-what-stays-writable) | Impostazioni dei permessi | Any file |

148| [`permissions.defaultMode`](#permissions-defaultmode) | Imposta la [modalità di permesso](https://code.claude.com/docs/it/permission-modes.md#which-mode-a-session-starts-in) con cui iniziano le nuove sessioni | Impostazioni dei permessi | Any file |148| [`permissions.defaultMode`](#permissions-defaultmode) | Imposta la [modalità di permesso](https://code.claude.com/docs/it/permission-modes.md#which-mode-a-session-starts-in) predefinita per le nuove sessioni | Impostazioni dei permessi | Qualsiasi file |

149| [`permissions.deny`](#permissions-deny) | Blocca gli [usi degli strumenti](https://code.claude.com/docs/it/permissions.md#permission-rule-syntax) elencati, incluse le letture di file che contengono segreti | Impostazioni dei permessi | Any file |149| [`permissions.deny`](#permissions-deny) | Blocca gli [usi degli strumenti](https://code.claude.com/docs/it/permissions.md#permission-rule-syntax) elencati, incluse le letture di file che contengono segreti | Impostazioni dei permessi | Any file |

150| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Impedisci a chiunque di entrare nella [modalità bypassPermissions](https://code.claude.com/docs/it/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | Impostazioni dei permessi | Any file |150| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Impedisci a chiunque di entrare nella [modalità bypassPermissions](https://code.claude.com/docs/it/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | Impostazioni dei permessi | Any file |

151| [`plansDirectory`](#plansdirectory) | Scegli dove il [plan mode](https://code.claude.com/docs/it/permission-modes.md#analyze-before-you-edit-with-plan-mode) scrive i file dei piani | Memoria e contesto | Any file |151| [`plansDirectory`](#plansdirectory) | Scegli dove il [plan mode](https://code.claude.com/docs/it/permission-modes.md#analyze-before-you-edit-with-plan-mode) scrive i file dei piani | Memoria e contesto | Any file |


804 804 

805## Impostazioni dei permessi805## Impostazioni dei permessi

806 806 

807Decidi cosa Claude può fare senza chiedere, in quale modalità di permesso inizia una sessione e cosa consente il classificatore della modalità auto. Per la sintassi delle regole e il modello dei permessi, consulta [Configurare i permessi](https://code.claude.com/docs/it/permissions.md).807Decidi cosa Claude può fare senza chiedere, la modalità di permesso predefinita per le nuove sessioni e cosa consente il classificatore della modalità auto. Per la sintassi delle regole e il modello dei permessi, consulta [Configurare i permessi](https://code.claude.com/docs/it/permissions.md).

808 808 

809### `allowManagedPermissionRulesOnly`809### `allowManagedPermissionRulesOnly`

810 810 


899 899 

900### `permissions`900### `permissions`

901 901 

902Controlla quali strumenti Claude può utilizzare senza chiedere, per quali chiede sempre conferma e quali sono bloccati, e imposta la [modalità di permesso](https://code.claude.com/docs/it/permission-modes.md) in cui inizia una sessione. Ogni chiave `permissions.*` di seguito si annida sotto questo oggetto.902Controlla quali strumenti Claude può utilizzare senza chiedere, per quali chiede conferma e quali sono bloccati. Imposta anche la [modalità di permesso](https://code.claude.com/docs/it/permission-modes.md) predefinita per le nuove sessioni. Ogni chiave `permissions.*` di seguito si annida sotto questo oggetto.

903 903 

904* **Ambito**: [`Any file`](#scopes)904* **Ambito**: [`Any file`](#scopes)

905* **Tipo**: oggetto con `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `blockWritesOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode` e `disableAutoMode`905* **Tipo**: oggetto con `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `blockWritesOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode` e `disableAutoMode`


1137 1137 

1138### `permissions.defaultMode`1138### `permissions.defaultMode`

1139 1139 

1140Imposta la [modalità di permesso](https://code.claude.com/docs/it/permission-modes.md) in cui iniziano le nuove sessioni. Quando la lasci non impostata, le sessioni iniziano nel [predefinito integrato](https://code.claude.com/docs/it/permission-modes.md#which-mode-a-session-starts-in) per la tua superficie.1140Imposta la [modalità di permesso](https://code.claude.com/docs/it/permission-modes.md) predefinita per le nuove sessioni. Quando la lasci non impostata, si applica il [predefinito integrato](https://code.claude.com/docs/it/permission-modes.md#which-mode-a-session-starts-in) per la tua superficie.

1141 1141 

1142* **Ambito**: [`Any file`](#scopes). `auto` e `bypassPermissions` non hanno effetto dalle impostazioni di progetto o locali, quindi impostali invece in `~/.claude/settings.json`. Prima della v2.1.257, `bypassPermissions` aveva effetto da qualsiasi file. Per le conversazioni avviate dall'estensione VS Code, Claude Code legge solo i valori utente, gestiti e `--settings`.1142* **Ambito**: [`Any file`](#scopes). `auto` e `bypassPermissions` non hanno effetto dalle impostazioni di progetto o locali, quindi impostali invece in `~/.claude/settings.json`. Prima della v2.1.257, `bypassPermissions` aveva effetto da qualsiasi file. Per le conversazioni avviate dall'estensione VS Code, Claude Code legge solo i valori utente, gestiti e `--settings`.

1143* **Tipo**: stringa, uno di:1143* **Tipo**: stringa, uno di:


1267 1267 

1268### `sandbox.failIfUnavailable`1268### `sandbox.failIfUnavailable`

1269 1269 

1270Fai uscire Claude Code con un errore all'avvio quando `sandbox.enabled` è `true` ma la sandbox non può avviarsi, perché una dipendenza è mancante o la piattaforma non è supportata. Senza questa chiave, Claude Code esegue i comandi senza sandbox. Le distribuzioni gestite che richiedono il sandboxing come controllo di sicurezza possono usare questa impostazione.1270Fa terminare Claude Code con un errore all'avvio quando `sandbox.enabled` è `true` ma la sandbox non può avviarsi perché la piattaforma non la supporta o il controllo delle dipendenze fallisce. Senza questa chiave, Claude Code esegue i comandi senza sandbox. Le distribuzioni gestite che richiedono il sandboxing come barriera di sicurezza possono usare questa impostazione.

1271 1271 

1272Su una piattaforma che la sandbox non supporta, Claude Code non si avvia con questa chiave attiva. Vedi [Enforce sandboxing with managed settings](https://code.claude.com/docs/it/sandboxing.md#enforce-sandboxing-with-managed-settings).1272Su una piattaforma che la sandbox non supporta, Claude Code non si avvia con questa chiave attiva. Vedi [Enforce sandboxing with managed settings](https://code.claude.com/docs/it/sandboxing.md#enforce-sandboxing-with-managed-settings).

1273 1273 


5087 5087 

5088### `sshHostCommands`5088### `sshHostCommands`

5089 5089 

5090Aggiungi al selettore dell'ambiente di [Desktop](https://code.claude.com/docs/it/desktop.md#create-an-ssh-connection-from-a-command) connessioni SSH il cui host proviene da un comando. Quando crei una connessione o ne sostituisci l'host, Desktop esegue il comando della voce sul tuo computer e si connette all'host che il comando stampa. Richiede Claude Desktop v3.6556.0 o successivo su macOS o Linux, con accesso effettuato con un account Claude.5090Aggiungi al selettore dell'ambiente di [Desktop](https://code.claude.com/docs/it/desktop.md#create-an-ssh-connection-from-a-command) connessioni SSH il cui host proviene da un comando. Quando crei una connessione o crei un'altra macchina per essa, Desktop esegue il comando della voce sul tuo computer e si connette all'host che il comando stampa.

5091 

5092Richiede Claude Desktop v3.6556.0 o successivo su macOS o Linux, oppure v4.16336.0 o successivo su Windows, con accesso effettuato con un account Claude. Su Windows, Desktop deve anche [connettersi tramite il client OpenSSH](https://code.claude.com/docs/it/desktop.md#use-your-ssh-configuration).

5091 5093 

5092* **Scope**: [`User or managed`](#scopes). Solo l'app desktop legge questa chiave. Legge le voci gestite da [un solo file di impostazioni gestite o policy MDM](https://code.claude.com/docs/it/desktop.md#distribute-commands-to-your-team) sul computer e ignora la chiave nelle [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md).5094* **Scope**: [`User or managed`](#scopes). Solo l'app desktop legge questa chiave. Legge le voci gestite da [un solo file di impostazioni gestite o policy MDM](https://code.claude.com/docs/it/desktop.md#distribute-commands-to-your-team) sul computer e ignora la chiave nelle [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md).

5093* **Type**: array di oggetti, ognuno con `id`, `name` e `command` obbligatori e `sshIdentityFile` e `startDirectory` opzionali. Desktop avvia `command` senza una shell, quindi [scrivilo come programma e argomenti semplici](https://code.claude.com/docs/it/desktop.md#write-the-command).5095* **Type**: array di oggetti, ognuno con `id`, `name` e `command` obbligatori e `sshIdentityFile` e `startDirectory` opzionali. Desktop non interpreta `command` come sintassi della shell, quindi pipe e variabili non funzionano: [scrivilo come un programma e i suoi argomenti](https://code.claude.com/docs/it/desktop.md#write-the-command).

5094* **Default**: non impostato5096* **Default**: non impostato

5095 5097 

5096Questo esempio aggiunge una connessione denominata `Dev box`, dove `acme-dev create` rappresenta il tuo strumento:5098Questo esempio aggiunge una connessione denominata `Dev box`, dove `acme-dev create` rappresenta il tuo strumento:


5107}5109}

5108```5110```

5109 5111 

5112Su Windows, un nome semplice come `acme-dev` non funziona, quindi [inizia il comando con il percorso completo del programma](https://code.claude.com/docs/it/desktop.md#write-the-command-on-windows).

5113 

5110Prima di Claude Code v2.1.307, lo strumento Edit rifiutava una modifica che aggiungeva questa chiave a un file di impostazioni valido, con l'errore `Unrecognized field: sshHostCommands`. In quelle versioni, aggiungi invece la chiave con un editor di testo; Claude Code carica un file che contiene la chiave. In Desktop, la versione che conta è la [versione di Claude Code della scheda Code](https://code.claude.com/docs/it/desktop.md#claude-code-version-in-the-code-tab), non quella del tuo terminale.5114Prima di Claude Code v2.1.307, lo strumento Edit rifiutava una modifica che aggiungeva questa chiave a un file di impostazioni valido, con l'errore `Unrecognized field: sshHostCommands`. In quelle versioni, aggiungi invece la chiave con un editor di testo; Claude Code carica un file che contiene la chiave. In Desktop, la versione che conta è la [versione di Claude Code della scheda Code](https://code.claude.com/docs/it/desktop.md#claude-code-version-in-the-code-tab), non quella del tuo terminale.

5111 5115 

5112## Autenticazione e provider5116## Autenticazione e provider


5583 5587 

5584Blocca l'avvio della CLI fino a quando Claude Code non ha recuperato di recente le [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md). Se il recupero fallisce, Claude Code esce invece di continuare con le impostazioni memorizzate nella cache o nessuna impostazione. Impostalo quando il tuo ambiente non può accettare nemmeno una breve finestra in cui una sessione viene eseguita senza la sua politica gestita.5588Blocca l'avvio della CLI fino a quando Claude Code non ha recuperato di recente le [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md). Se il recupero fallisce, Claude Code esce invece di continuare con le impostazioni memorizzate nella cache o nessuna impostazione. Impostalo quando il tuo ambiente non può accettare nemmeno una breve finestra in cui una sessione viene eseguita senza la sua politica gestita.

5585 5589 

5586Quando la chiave non è impostata, Claude Code non blocca l'avvio sul recupero, anche se quando lo sviluppatore accede all'avvio attende fino a cinque secondi per il recupero. Una sessione del gateway Cloud attende sempre ed esce se il gateway non può essere raggiunto.5590Quando la chiave non è impostata, Claude Code non blocca l'avvio sul recupero, anche se quando lo sviluppatore accede all'avvio attende fino a cinque secondi per il recupero. [Anthropic può richiedere le impostazioni](https://code.claude.com/docs/it/server-managed-settings.md#fetch-and-caching-behavior), e in quel caso un avvio senza di esse viene bloccato. Una sessione Cloud gateway attende ed esce se il gateway non può essere raggiunto.

5587 5591 

5588* **Scope**: [`Managed`](#scopes). Claude Code onora un `true` da qualsiasi fonte gestita controllata dall'amministratore, anche una che non è la fonte con la priorità più alta.5592* **Scope**: [`Managed`](#scopes). Claude Code onora un `true` da qualsiasi fonte gestita controllata dall'amministratore, anche una che non è la fonte con la priorità più alta.

5589* **Type**: Boolean5593* **Type**: Boolean

5590 * `true`: Claude Code blocca l'avvio fino a quando non ha recuperato di recente le impostazioni gestite dal server ed esce se il recupero fallisce5594 * `true`: Claude Code blocca l'avvio fino a quando non ha recuperato di recente le impostazioni gestite dal server ed esce se il recupero fallisce

5591 * `false`: Claude Code non blocca l'avvio sul recupero, anche se all'avvio di un accesso attende fino a cinque secondi per il recupero5595 * `false`: a meno che Anthropic non richieda le impostazioni, Claude Code non blocca l'avvio sul recupero, anche se all'avvio di un accesso attende fino a cinque secondi per il recupero

5592* **Default**: `false`5596* **Default**: `false`

5593 5597 

5594```json managed-settings.json theme={null}5598```json managed-settings.json theme={null}


5823 5827 

5824### `autoInstallIdeExtension`5828### `autoInstallIdeExtension`

5825 5829 

5826Installa l'estensione IDE di Claude Code automaticamente quando esegui Claude Code da un terminale VS Code. Appare in `/config` come **Auto-install IDE extension** quando esegui Claude Code all'interno di un terminale VS Code o JetBrains.5830Consenti a [`/ide`](https://code.claude.com/docs/it/commands) di installare l'estensione IDE di Claude Code in un VS Code, Cursor o Devin Desktop in esecuzione quando esegui il comando da un terminale esterno. Claude Code non installa l'estensione all'avvio. Appare in `/config` come **Auto-install IDE extension** quando esegui Claude Code all'interno di un terminale VS Code o JetBrains.

5827 5831 

5828* **Scope**: [`Global config`](#scopes)5832* **Scope**: [`Global config`](#scopes)

5829* **Type**: Boolean5833* **Type**: Boolean

5830 * `true`: Claude Code installa l'estensione IDE automaticamente quando lo esegui da un terminale VS Code5834 * `true`: `/ide` installa l'estensione

5831 * `false`: Claude Code non installa l'estensione automaticamente5835 * `false`: `/ide` non installa l'estensione

5832* **Default**: `true`5836* **Default**: `true`

5833* **Per-session overrides**: [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/it/env-vars) impostato su `1` salta l'installazione per una sessione anche quando questa chiave è `true`5837* **Per-session overrides**: [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/it/env-vars) impostato su `1` salta l'installazione per una sessione anche quando questa chiave è `true`

5834 5838 

skills.md +1 −1

Details

404| `allowed-tools` | No | Strumenti che Claude può usare senza chiedere il permesso durante il turno che invoca questa skill. La concessione decade quando invii il messaggio successivo. Accetta una stringa separata da spazi o virgole, oppure un elenco YAML. Vedi [Pre-approvare gli strumenti per una skill](#pre-approve-tools-for-a-skill). |404| `allowed-tools` | No | Strumenti che Claude può usare senza chiedere il permesso durante il turno che invoca questa skill. La concessione decade quando invii il messaggio successivo. Accetta una stringa separata da spazi o virgole, oppure un elenco YAML. Vedi [Pre-approvare gli strumenti per una skill](#pre-approve-tools-for-a-skill). |

405| `disallowed-tools` | No | Strumenti rimossi dall'insieme di strumenti disponibili per Claude mentre questa skill è attiva. Usalo per le skill autonome che non dovrebbero mai chiamare determinati strumenti, come `AskUserQuestion` per un ciclo in background. Accetta una stringa separata da spazi o virgole, oppure un elenco YAML. La restrizione decade quando invii il messaggio successivo. Come le regole di negazione, il campo non può rimuovere [`EndConversation`](https://code.claude.com/docs/it/tools-reference#endconversation-tool-behavior) finché rimane qualsiasi altro strumento. |405| `disallowed-tools` | No | Strumenti rimossi dall'insieme di strumenti disponibili per Claude mentre questa skill è attiva. Usalo per le skill autonome che non dovrebbero mai chiamare determinati strumenti, come `AskUserQuestion` per un ciclo in background. Accetta una stringa separata da spazi o virgole, oppure un elenco YAML. La restrizione decade quando invii il messaggio successivo. Come le regole di negazione, il campo non può rimuovere [`EndConversation`](https://code.claude.com/docs/it/tools-reference#endconversation-tool-behavior) finché rimane qualsiasi altro strumento. |

406| `model` | No | Modello da usare quando questa skill è attiva. L'override si applica per il resto del turno corrente e non viene salvato nelle impostazioni. Il modello della sessione riprende quando invii il prompt successivo. Accetta gli stessi valori di [`/model`](https://code.claude.com/docs/it/model-config), oppure `inherit` per mantenere il modello attivo. Un valore escluso dall'allowlist [`availableModels`](https://code.claude.com/docs/it/model-config#restrict-model-selection) della tua organizzazione non viene usato e la sessione mantiene il modello corrente. In [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode), e nel [plan mode mentre il classificatore esamina i comandi](https://code.claude.com/docs/it/permission-modes.md#analyze-before-you-edit-with-plan-mode), anche un modello non supportato dalla modalità auto non viene usato e la sessione mantiene il modello corrente. Con `context: fork`, il valore imposta invece il [modello del subagent forkato](#run-skills-in-a-subagent), e un valore escluso segue le [stesse regole di un override del modello di un subagent](https://code.claude.com/docs/it/model-config.md#restrict-model-selection). |406| `model` | No | Modello da usare quando questa skill è attiva. L'override si applica per il resto del turno corrente e non viene salvato nelle impostazioni. Il modello della sessione riprende quando invii il prompt successivo. Accetta gli stessi valori di [`/model`](https://code.claude.com/docs/it/model-config), oppure `inherit` per mantenere il modello attivo. Un valore escluso dall'allowlist [`availableModels`](https://code.claude.com/docs/it/model-config#restrict-model-selection) della tua organizzazione non viene usato e la sessione mantiene il modello corrente. In [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode), e nel [plan mode mentre il classificatore esamina i comandi](https://code.claude.com/docs/it/permission-modes.md#analyze-before-you-edit-with-plan-mode), anche un modello non supportato dalla modalità auto non viene usato e la sessione mantiene il modello corrente. Con `context: fork`, il valore imposta invece il [modello del subagent forkato](#run-skills-in-a-subagent), e un valore escluso segue le [stesse regole di un override del modello di un subagent](https://code.claude.com/docs/it/model-config.md#restrict-model-selection). |

407| `effort` | No | [Livello di sforzo](https://code.claude.com/docs/it/model-config.md#adjust-effort-level) per il resto del turno corrente. Sovrascrive il livello di sforzo della sessione, ma non la variabile d'ambiente [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/it/env-vars#variables). Con `context: fork`, il valore imposta invece il livello di sforzo del subagent forkato. Quando lo ometti, il livello deriva dall'[ordine di risoluzione dello sforzo](https://code.claude.com/docs/it/model-config.md#adjust-effort-level). Opzioni: `low`, `medium`, `high`, `xhigh`, `max`; i livelli disponibili dipendono dal modello. |407| `effort` | No | [Livello di sforzo](https://code.claude.com/docs/it/model-config.md#adjust-effort-level) per il resto del turno corrente. Sovrascrive il livello di sforzo della sessione, ma non la variabile d'ambiente [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/it/env-vars#variables). Con `context: fork`, il valore imposta invece il livello di sforzo del subagent forkato. Quando lo ometti, il livello deriva dall'[ordine di risoluzione dello sforzo](https://code.claude.com/docs/it/model-config.md#adjust-effort-level). Per un fork su un altro modello, vedi [Livello di sforzo dei subagent e dei teammate](https://code.claude.com/docs/it/model-config.md#effort-level-of-subagents-and-teammates). Opzioni: `low`, `medium`, `high`, `xhigh`, `max`; i livelli disponibili dipendono dal modello. |

408| `context` | No | Imposta su `fork` per eseguire in un contesto di subagent forkato. Vedi [Eseguire le skill in un subagent](#run-skills-in-a-subagent). |408| `context` | No | Imposta su `fork` per eseguire in un contesto di subagent forkato. Vedi [Eseguire le skill in un subagent](#run-skills-in-a-subagent). |

409| `agent` | No | Quale tipo di subagent usare quando è impostato `context: fork`. |409| `agent` | No | Quale tipo di subagent usare quando è impostato `context: fork`. |

410| `background` | No | Si applica solo con `context: fork`. Imposta su `false` per attendere il risultato del subagent forkato nel turno che ha invocato la skill, invece di [eseguirlo in background](#run-skills-in-a-subagent). Predefinito: `true`. |410| `background` | No | Si applica solo con `context: fork`. Imposta su `false` per attendere il risultato del subagent forkato nel turno che ha invocato la skill, invece di [eseguirlo in background](#run-skills-in-a-subagent). Predefinito: `true`. |

Details

1264 1264 

1265Una volta che il Keychain è di nuovo scrivibile, Claude Code vi riporta le credenziali la prossima volta che scrive una credenziale. Per forzarlo subito, esegui `/logout` e poi `/login`. L'uscita rimuove tutte le credenziali memorizzate, inclusi il contenuto del file in chiaro, gli accessi salvati ai server MCP e i valori sensibili dei plugin, quindi dovrai autorizzare di nuovo i server MCP e reinserire i segreti dei plugin. Accedendo di nuovo, il tuo accesso viene memorizzato nel Keychain.1265Una volta che il Keychain è di nuovo scrivibile, Claude Code vi riporta le credenziali la prossima volta che scrive una credenziale. Per forzarlo subito, esegui `/logout` e poi `/login`. L'uscita rimuove tutte le credenziali memorizzate, inclusi il contenuto del file in chiaro, gli accessi salvati ai server MCP e i valori sensibili dei plugin, quindi dovrai autorizzare di nuovo i server MCP e reinserire i segreti dei plugin. Accedendo di nuovo, il tuo accesso viene memorizzato nel Keychain.

1266 1266 

1267#### L'accesso non riesce su una directory home di rete

1268 

1269Quando una richiesta non riesce con `API Error: 401` e la tua [directory di configurazione](https://code.claude.com/docs/it/claude-directory.md) si trova su un filesystem di rete, verifica se quel filesystem o la tua quota su di esso è pieno. Senza spazio disponibile, Claude Code non può salvare un accesso nuovo o rinnovato nel [file `.credentials.json`](https://code.claude.com/docs/it/authentication#credential-management) in chiaro, e `claude auth login` può comunque stampare `Login successful.`

1270 

1271**1. Libera spazio sul filesystem**

1272 

1273Elimina i file che non ti servono più sul filesystem che contiene `~/.claude`, o la directory che hai impostato in [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/it/env-vars).

1274 

1275**2. Accedi di nuovo**

1276 

1277Esegui `/login` al prompt di Claude Code oppure `claude auth login` nella tua shell.

1278 

1279Prima della v2.1.318, quando Claude Code salvava il file di accesso su un filesystem di rete pieno, poteva sostituire un accesso memorizzato ancora valido con un file vuoto. I comandi successivi segnalavano quindi `Not logged in`.

1280 

1267### Le credenziali di Bedrock, Agent Platform o Foundry non vengono caricate1281### Le credenziali di Bedrock, Agent Platform o Foundry non vengono caricate

1268 1282 

1269Se hai configurato Claude Code per usare un provider cloud e vedi `Could not load credentials from any providers` su Amazon Bedrock, `Could not load the default credentials` su Agent Platform di Google Cloud, oppure `ChainedTokenCredential authentication failed` su Microsoft Foundry, probabilmente la CLI del tuo provider cloud non è autenticata nella shell corrente.1283Se hai configurato Claude Code per usare un provider cloud e vedi `Could not load credentials from any providers` su Amazon Bedrock, `Could not load the default credentials` su Agent Platform di Google Cloud, oppure `ChainedTokenCredential authentication failed` su Microsoft Foundry, probabilmente la CLI del tuo provider cloud non è autenticata nella shell corrente.

vs-code.md +7 −2

Details

818 818 

819### Eseguire la CLI in VS Code819### Eseguire la CLI in VS Code

820 820 

821Per usare la CLI senza uscire da VS Code, premi `` Ctrl+` `` su Windows/Linux o `` Cmd+` `` su Mac per aprire il terminale integrato, quindi esegui `claude`. La CLI si integra automaticamente con il tuo IDE per funzionalità come la visualizzazione dei diff e la condivisione della diagnostica. Se usi un terminale esterno, esegui `/ide` all'interno di Claude Code per collegarlo a VS Code.821Per usare la CLI senza uscire da VS Code, premi `` Ctrl+` `` su Windows/Linux o `` Cmd+` `` su Mac per aprire il terminale integrato, quindi esegui `claude`. L'avvio di `claude` non installa l'estensione. Senza di essa, `/ide` nel terminale integrato segnala "No available IDEs detected" e `/status` mostra l'IDE come "Not connected".

822 

823Per ottenere funzionalità come la visualizzazione dei diff e la condivisione della diagnostica, collega la CLI all'estensione dal terminale integrato o da un terminale esterno:

824 

825* **Terminale integrato**: [installa l'estensione](#install-the-extension), quindi avvia `claude`. La CLI si collega automaticamente.

826* **Terminale esterno**: esegui `/ide` all'interno di Claude Code per collegarti a VS Code. Se VS Code è in esecuzione senza l'estensione, `/ide` la installa, a meno che tu non abbia disattivato [`autoInstallIdeExtension`](https://code.claude.com/docs/it/settings-reference#autoinstallideextension).

822 827 

823L'installazione dell'estensione non aggiunge `claude` al PATH della tua shell. L'estensione include una copia privata della CLI per il suo pannello della chat, ma per digitare `claude` in un terminale è necessaria l'[installazione standalone della CLI](https://code.claude.com/docs/it/setup.md). Esegui l'installazione una volta e i comandi di questa pagina, inclusi `claude mcp add` e `claude --resume`, funzioneranno in qualsiasi terminale. Se `claude` continua a non essere trovato dopo l'installazione, [verifica il tuo PATH](https://code.claude.com/docs/it/troubleshoot-install.md#verify-your-path).828L'installazione dell'estensione non aggiunge `claude` al PATH della tua shell. L'estensione include una copia privata della CLI per il suo pannello della chat, ma per digitare `claude` in un terminale è necessaria l'[installazione standalone della CLI](https://code.claude.com/docs/it/setup.md). Esegui l'installazione una volta e i comandi di questa pagina, inclusi `claude mcp add` e `claude --resume`, funzioneranno in qualsiasi terminale. Se `claude` continua a non essere trovato dopo l'installazione, [verifica il tuo PATH](https://code.claude.com/docs/it/troubleshoot-install.md#verify-your-path).

824 829 


10862. Cerca "Claude Code"10912. Cerca "Claude Code"

10873. Fai clic su **Disinstalla**10923. Fai clic su **Disinstalla**

1088 1093 

1089Se esegui `claude` in un terminale integrato di VS Code, Claude Code reinstalla automaticamente l'estensione. Per mantenerla disinstallata, disattiva **Auto-install IDE extension** in `/config`, oppure imposta [`autoInstallIdeExtension`](https://code.claude.com/docs/it/settings-reference#autoinstallideextension) su `false`. Puoi anche impostare la variabile d'ambiente [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/it/env-vars) su `1`.1094L'estensione resta disinstallata quando avvii `claude`. Se esegui `/ide` da un terminale esterno mentre VS Code è in esecuzione, Claude Code la reinstalla. Per evitarlo, imposta [`autoInstallIdeExtension`](https://code.claude.com/docs/it/settings-reference#autoinstallideextension) su `false` in `~/.claude.json`, oppure disattiva **Auto-install IDE extension** in `/config` dal terminale integrato. Puoi anche impostare la variabile d'ambiente [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/it/env-vars) su `1`.

1090 1095 

1091Per rimuovere anche i dati dell'estensione e reimpostare tutte le impostazioni, elimina la directory di archiviazione dell'estensione per la tua piattaforma.1096Per rimuovere anche i dati dell'estensione e reimpostare tutte le impostazioni, elimina la directory di archiviazione dell'estensione per la tua piattaforma.

1092 1097