SpyBara
Go Premium

Documentation 2026-11-05 23:03 UTC to 2026-11-06 23:01 UTC

47 files changed +338 −179. 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

167 167 

168### Autorizzazioni degli strumenti168### Autorizzazioni degli strumenti

169 169 

170Claude determina quali strumenti chiamare in base all'attività, ma voi controllate se quelle chiamate sono autorizzate a essere eseguite. Potete approvare automaticamente strumenti specifici, bloccare altri completamente, o richiedere l'approvazione per tutto. Tre opzioni lavorano insieme per determinare cosa viene eseguito:170Claude determina quali strumenti chiamare in base all'attività, ma sei tu a controllare se quelle chiamate possono essere eseguite. Usa queste opzioni per approvare automaticamente gli strumenti, bloccarli e impostare la modalità di permesso:

171 171 

172* **`allowed_tools` / `allowedTools`** approva automaticamente gli strumenti elencati. Un agente di sola lettura con `["Read", "Glob", "Grep"]` nel suo elenco di strumenti consentiti esegue quegli strumenti senza chiedere, tranne per le letture da [percorsi di rete](https://code.claude.com/docs/it/permissions.md#network-paths). Gli strumenti non elencati sono ancora disponibili, e le chiamate a essi che necessitano di approvazione ricadono nella modalità di permesso e in `canUseTool`.172* **`allowed_tools` / `allowedTools`** approva automaticamente gli strumenti elencati. Un agente di sola lettura con `["Read", "Glob", "Grep"]` nel suo elenco di strumenti consentiti esegue quegli strumenti senza chiedere, tranne per le letture da [percorsi di rete](https://code.claude.com/docs/it/permissions.md#network-paths). Gli strumenti non elencati sono ancora disponibili, e le chiamate a essi che necessitano di approvazione ricadono nella modalità di permesso e in `canUseTool`.

173* **`disallowed_tools` / `disallowedTools`** blocca gli strumenti elencati, indipendentemente da altre impostazioni. Vedere [Autorizzazioni](https://code.claude.com/docs/it/agent-sdk/permissions.md) per l'ordine in cui le regole vengono controllate prima che uno strumento venga eseguito.173* **`disallowed_tools` / `disallowedTools`** blocca gli strumenti elencati, indipendentemente da altre impostazioni. Vedere [Autorizzazioni](https://code.claude.com/docs/it/agent-sdk/permissions.md) per l'ordine in cui le regole vengono controllate prima che uno strumento venga eseguito.

Details

303 303 

304L'API segnala il conteggio di output reale alla fine della risposta, e Claude Code lo aggiunge al messaggio di risultato. Leggere i token di output dal `usage` del risultato, o da `modelUsage` per una suddivisione per modello.304L'API segnala il conteggio di output reale alla fine della risposta, e Claude Code lo aggiunge al messaggio di risultato. Leggere i token di output dal `usage` del risultato, o da `modelUsage` per una suddivisione per modello.

305 305 

306Per osservare il conteggio di output di una risposta crescere mentre viene trasmesso in streaming, impostare `includePartialMessages`, o `include_partial_messages` in Python, e leggere `usage` da ogni evento di flusso `message_delta`, tipizzato come [`SDKPartialAssistantMessage`](https://code.claude.com/docs/it/agent-sdk/typescript#sdkpartialassistantmessage) in TypeScript e [`StreamEvent`](https://code.claude.com/docs/it/agent-sdk/python#streamevent) in Python.

307 

308### Tracciare i costi su conversazioni non riuscite306### Tracciare i costi su conversazioni non riuscite

309 307 

310Sia i messaggi di risultato di successo che di errore includono `usage` e `total_cost_usd`; in Python entrambi i campi sono tipizzati come opzionali, quindi verificare che non siano `None` prima di leggerli.308Sia i messaggi di risultato di successo che di errore includono `usage` e `total_cost_usd`; in Python entrambi i campi sono tipizzati come opzionali, quindi verificare che non siano `None` prima di leggerli.

Details

226| `timeout` | `number` | `undefined` | Timeout in secondi. Quando omesso, Claude Code applica il [timeout predefinito dell'evento](#hook-timeout). I tuoi callback SDK seguono i valori predefiniti dell'hook `command` |226| `timeout` | `number` | `undefined` | Timeout in secondi. Quando omesso, Claude Code applica il [timeout predefinito dell'evento](#hook-timeout). I tuoi callback SDK seguono i valori predefiniti dell'hook `command` |

227| `onFailure` | `"continue" \| "block"` | `undefined` | Cosa fa un callback non riuscito. Imposta `"block"` per [bloccare l'azione quando un callback non riesce](#block-the-action-when-a-callback-fails). In Python, utilizza `on_failure` |227| `onFailure` | `"continue" \| "block"` | `undefined` | Cosa fa un callback non riuscito. Imposta `"block"` per [bloccare l'azione quando un callback non riesce](#block-the-action-when-a-callback-fails). In Python, utilizza `on_failure` |

228 228 

229Utilizza il modello `matcher` per indirizzare strumenti specifici quando possibile. Un matcher con `'Bash'` viene eseguito solo per i comandi Bash, mentre omettere il modello esegue i tuoi callback per ogni occorrenza dell'evento.229Utilizza il modello `matcher` per indirizzare strumenti specifici quando possibile. Con un matcher `'Bash'`, i tuoi callback vengono eseguiti per i comandi Bash. Su Claude Code v2.1.314 o successivo, vengono eseguiti anche su `PreToolUse` e `PermissionRequest` per i comandi Monitor, che [possono negare ma non approvare](https://code.claude.com/docs/it/hooks.md#match-monitor-commands). Senza matcher, vengono eseguiti per ogni occorrenza dell'evento.

230 230 

231### Funzioni di callback231### Funzioni di callback

232 232 

Details

70>70>

71> Il percorso deve puntare alla directory radice del plugin: la directory padre di `skills/`, `agents/`, `hooks/`, `commands/`, o `.claude-plugin/`.71> Il percorso deve puntare alla directory radice del plugin: la directory padre di `skills/`, `agents/`, `hooks/`, `commands/`, o `.claude-plugin/`.

72 72 

73### Ricaricare i plugin in una sessione in esecuzione

74 

75Per applicare una modifica alle skill, ai comandi, agli agenti o agli hook di un plugin senza avviare una nuova sessione, chiama [`reloadPlugins()`](https://code.claude.com/docs/it/agent-sdk/typescript#query-object) sull'oggetto `Query` dell'SDK TypeScript. L'SDK Python non espone un metodo equivalente; invia invece [`/reload-plugins`](https://code.claude.com/docs/it/plugins/cli-reference#reload-plugins) come prompt nella sessione.

76 

73### Aggiungere plugin a una sessione in esecuzione77### Aggiungere plugin a una sessione in esecuzione

74 78 

75Nell'SDK TypeScript, chiama [`reloadPlugins()`](https://code.claude.com/docs/it/agent-sdk/typescript#load-more-plugin-folders-with-addplugins) sull'oggetto `Query` restituito da `query()` ed elenca la directory del plugin nell'opzione `addPlugins` di quella chiamata. Ogni voce di `addPlugins` è un oggetto `{ type: "local", path }` con un `path` assoluto. Richiede l'Agent SDK TypeScript v0.3.301 o successivo.79Nell'SDK TypeScript, chiama [`reloadPlugins()`](https://code.claude.com/docs/it/agent-sdk/typescript#load-more-plugin-folders-with-addplugins) sull'oggetto `Query` restituito da `query()` ed elenca la directory del plugin nell'opzione `addPlugins` di quella chiamata. Ogni voce di `addPlugins` è un oggetto `{ type: "local", path }` con un `path` assoluto. Richiede l'Agent SDK TypeScript v0.3.301 o successivo.

Details

1385| `enabled` | `type`, `budget_tokens`, `display` | Abilita il ragionamento con un budget di token specifico |1385| `enabled` | `type`, `budget_tokens`, `display` | Abilita il ragionamento con un budget di token specifico |

1386| `disabled` | `type` | Disabilita il ragionamento |1386| `disabled` | `type` | Disabilita il ragionamento |

1387 1387 

1388Il campo opzionale `display` controlla se il testo del ragionamento viene restituito `"summarized"` o `"omitted"`. Su Claude Opus 4.7 e versioni successive, l'impostazione predefinita dell'API è `"omitted"`, quindi imposta `"summarized"` per ricevere il contenuto del ragionamento negli output [`ThinkingBlock`](#thinkingblock). Claude Code non passa il tuo valore `display` ad alcuni provider, come Amazon Bedrock e l'Agent Platform di Google Cloud. Su quei provider, Opus 4.7 e versioni successive restituiscono output `ThinkingBlock` vuoti anche quando imposti `display` a `"summarized"`.1388Il campo opzionale `display` controlla se il testo del ragionamento viene restituito `"summarized"` o `"omitted"`. Su Claude Opus 4.7 e versioni successive, l'impostazione predefinita dell'API è `"omitted"`, quindi imposta `"summarized"` per ricevere il contenuto del ragionamento negli output [`ThinkingBlock`](#thinkingblock). Su provider come Amazon Bedrock e l'Agent Platform di Google Cloud, Claude Code non passa `display` per i modelli precedenti che riconosce. Si tratta di Opus 4.6, Sonnet 4.6, Haiku 4.5 e dei modelli precedenti, che usano il loro valore predefinito.

1389 1389 

1390Poiché queste sono classi `TypedDict`, sono dict semplici in fase di esecuzione. Costruiscile come letterali dict o chiama la classe come un costruttore; entrambi producono un `dict`. Accedi ai campi con `config["budget_tokens"]`, non `config.budget_tokens`:1390Poiché queste sono classi `TypedDict`, sono dict semplici in fase di esecuzione. Costruiscile come letterali dict o chiama la classe come un costruttore; entrambi producono un `dict`. Accedi ai campi con `config["budget_tokens"]`, non `config.budget_tokens`:

1391 1391 


2517 2517 

2518### Esempio di utilizzo di Hook2518### Esempio di utilizzo di Hook

2519 2519 

2520Questo esempio registra due hook: uno che blocca i comandi Bash pericolosi come `rm -rf /`, e un altro che registra nei log tutto l'utilizzo degli strumenti per il controllo. L'hook di sicurezza viene eseguito solo sui comandi Bash (tramite il `matcher`), mentre l'hook di logging viene eseguito su tutti gli strumenti.2520Questo esempio registra due hook: uno che blocca i comandi Bash pericolosi come `rm -rf /`, e un altro che registra nei log tutto l'utilizzo degli strumenti per il controllo. Grazie al suo [matcher `Bash`](https://code.claude.com/docs/it/agent-sdk/hooks#matchers), l'hook di sicurezza viene eseguito sulle chiamate allo strumento Bash. L'hook di logging non ha un matcher, quindi viene eseguito su ogni chiamata a uno strumento.

2521 2521 

2522```python theme={null}2522```python theme={null}

2523import asyncio2523import asyncio


3668 3668 

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

3670 3670 

3671Configurazione per ignorare violazioni specifiche della sandbox.3671Violazioni da escludere dal report delle violazioni della sandbox. Ogni chiave corrisponde a una parte di un comando, oppure `*` per ogni comando, e ogni valore elenca il testo da cercare in una riga di violazione: `{"*": ["/etc/hosts"]}` nasconde le violazioni che menzionano `/etc/hosts`. Un accesso corrispondente viene comunque bloccato. Vedi [`sandbox.ignoreViolations`](https://code.claude.com/docs/it/settings-reference#sandbox-ignoreviolations).

3672 3672 

3673```python theme={null}3673```python theme={null}

3674class SandboxIgnoreViolations(TypedDict, total=False):3674SandboxIgnoreViolations = dict[str, list[str]]

3675 file: list[str]

3676 network: list[str]

3677```3675```

3678 3676 

3679| Proprietà | Tipo | Predefinito | Descrizione |

3680| :- | :- | :- | :- |

3681| `file` | `list[str]` | `[]` | Modelli di percorso file per cui ignorare le violazioni |

3682| `network` | `list[str]` | `[]` | Modelli di rete per cui ignorare le violazioni |

3683 

3684### Fallback delle autorizzazioni per i comandi senza sandbox3677### Fallback delle autorizzazioni per i comandi senza sandbox

3685 3678 

3686Quando `allowUnsandboxedCommands` è abilitato, il modello può richiedere di eseguire comandi al di fuori della sandbox impostando `dangerouslyDisableSandbox: True` nell'input dello strumento. Queste richieste ricadono nel sistema di autorizzazioni esistente, il che significa che il tuo handler `can_use_tool` verrà invocato, permettendoti di implementare una logica di autorizzazione personalizzata.3679Quando `allowUnsandboxedCommands` è abilitato, il modello può richiedere di eseguire comandi al di fuori della sandbox impostando `dangerouslyDisableSandbox: True` nell'input dello strumento. Queste richieste ricadono nel sistema di autorizzazioni esistente, il che significa che il tuo handler `can_use_tool` verrà invocato, permettendoti di implementare una logica di autorizzazione personalizzata.

Details

1931 1931 

1932La stessa coppia di campi compare su [`SDKSystemMessage`](#sdksystemmessage) e su [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse), quindi puoi leggere lo stato della modalità veloce prima del primo turno.1932La stessa coppia di campi compare su [`SDKSystemMessage`](#sdksystemmessage) e su [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse), quindi puoi leggere lo stato della modalità veloce prima del primo turno.

1933 1933 

1934Il campo `origin` inoltra l'[`SDKMessageOrigin`](#sdkmessageorigin) del messaggio utente che ha generato questo risultato. I risultati che riportano `origin: { kind: "task-notification" }` includono:1934Il campo `origin` contiene l'[`SDKMessageOrigin`](#sdkmessageorigin) che Claude Code ha assegnato al messaggio dell'utente che ha attivato questo risultato, non una copia dell'`origin` che hai inviato. I risultati che contengono `origin: { kind: "task-notification" }` includono:

1935 1935 

1936* **Turni di follow-up sintetici**: quando l'SDK inserisce un turno di follow-up sintetico, ad esempio per un'attività in background completata, il `SDKResultMessage` risultante riporta questo tipo1936* **Turni di follow-up sintetici**: quando l'SDK inserisce un turno di follow-up sintetico, ad esempio per un'attività in background completata, il `SDKResultMessage` risultante riporta questo tipo

1937* **Attività pianificate eseguite e messaggi da altre sessioni**: anche le attività pianificate cloud il cui trigger è scattato e i messaggi verificati dal server provenienti dalle tue altre sessioni arrivano con questo tipo, ciascuno con il `subkind` descritto in [Sottotipi di task-notification](#task-notification-subkinds)1937* **Attività pianificate eseguite e messaggi da altre sessioni**: anche le attività pianificate cloud il cui trigger è scattato e i messaggi verificati dal server provenienti dalle tue altre sessioni arrivano con questo tipo, ciascuno con il `subkind` descritto in [Sottotipi di task-notification](#task-notification-subkinds)


1940 1940 

1941Quando più completamenti di attività in background sono in coda insieme, Claude Code può rispondere a tutti in un unico turno anziché con un turno ciascuno. Ogni completamento produce comunque il proprio risultato con questa origine. Tutti i completamenti a cui Claude Code risponde insieme tranne l'ultimo producono risultati vuoti con `num_turns: 0`, in ordine, e il risultato dell'ultimo contiene il turno che risponde a tutti.1941Quando più completamenti di attività in background sono in coda insieme, Claude Code può rispondere a tutti in un unico turno anziché con un turno ciascuno. Ogni completamento produce comunque il proprio risultato con questa origine. Tutti i completamenti a cui Claude Code risponde insieme tranne l'ultimo producono risultati vuoti con `num_turns: 0`, in ordine, e il risultato dell'ultimo contiene il turno che risponde a tutti.

1942 1942 

1943Il campo è assente per i risultati emessi prima di qualsiasi turno utente, come gli errori di avvio.1943`origin` è assente quando Claude Code non ne ha assegnato alcuna, ad esempio:

1944 

1945* In un turno che avvii con un messaggio che non ha né `origin` né [`isSynthetic`](#sdkusermessage)

1946* Nei risultati emessi prima di qualsiasi turno dell'utente, come gli errori di avvio

1944 1947 

1945Quando un hook `PreToolUse` restituisce `permissionDecision: "defer"`, il risultato ha `stop_reason: "tool_deferred"` e `deferred_tool_use` contiene l'`id`, il `name` e l'`input` dello strumento in sospeso. Leggi questo campo per mostrare la richiesta nella tua interfaccia, quindi riprendi con lo stesso `session_id` per continuare. Consulta [Rinviare una chiamata a uno strumento](https://code.claude.com/docs/it/hooks.md#defer-a-tool-call-for-later) per il percorso completo.1948Quando un hook `PreToolUse` restituisce `permissionDecision: "defer"`, il risultato ha `stop_reason: "tool_deferred"` e `deferred_tool_use` contiene l'`id`, il `name` e l'`input` dello strumento in sospeso. Leggi questo campo per mostrare la richiesta nella tua interfaccia, quindi riprendi con lo stesso `session_id` per continuare. Consulta [Rinviare una chiamata a uno strumento](https://code.claude.com/docs/it/hooks.md#defer-a-tool-call-for-later) per il percorso completo.

1946 1949 


2435 2438 

2436### `SDKMessageOrigin`2439### `SDKMessageOrigin`

2437 2440 

2438Provenienza di un messaggio con ruolo utente. Compare come `origin` su [`SDKUserMessage`](#sdkusermessage) e viene inoltrato al corrispondente [`SDKResultMessage`](#sdkresultmessage), in modo che tu possa sapere cosa ha attivato un determinato turno.2441Provenienza di un messaggio con ruolo utente. Appare come `origin` su [`SDKUserMessage`](#sdkusermessage). L'[`SDKResultMessage`](#sdkresultmessage) di un turno riporta l'`origin` che Claude Code ha assegnato, così puoi capire cosa ha attivato quel turno.

2439 2442 

2440```typescript theme={null}2443```typescript theme={null}

2441type SDKMessageOrigin =2444type SDKMessageOrigin =


2462 | { kind: "unclassified" };2465 | { kind: "unclassified" };

2463```2466```

2464 2467 

2468La tua applicazione può impostare questi tipi di `origin` su un messaggio che invia:

2469 

2470* `{ kind: "human" }`: ciò che l'utente ha digitato

2471* `{ kind: "task-notification", subkind: "scheduled-trigger" }`: un'[esecuzione pianificata che dichiari](#declare-a-scheduled-run)

2472 

2473Lascia gli altri tipi a Claude Code e ai server di Anthropic. Se imposti uno di quei tipi, Claude legge il messaggio come se fosse dell'utente per impostazione predefinita.

2474 

2475Per inviare testo che l'utente non ha scritto, come una pagina recuperata o l'output di un altro agente, invialo come messaggio a sé con [`isSynthetic`](#sdkusermessage) impostato su `true` e `origin` non impostato. Imposta anche [`client_composed`](#sdkusermessage) su `true`, in modo che il testo che inizia con `/` non venga eseguito come comando.

2476 

2465| `kind` | Significato |2477| `kind` | Significato |

2466| - | - |2478| - | - |

2467| `human` | Input diretto dell'utente finale. Se la tua applicazione inoltra ciò che l'utente ha digitato come messaggio utente, imposta esplicitamente il suo `origin` a `{ kind: "human" }`: Claude Code tratta un messaggio utente senza `origin` come non attribuito, e i controlli che richiedono un prompt digitato da una persona, come la [parola chiave del workflow `ultracode`](https://code.claude.com/docs/it/workflows#ask-for-a-workflow-in-your-prompt), non lo accettano. Prima della v2.1.210, Claude Code trattava un `origin` assente su un messaggio utente come input umano. |2479| `human` | Input diretto dall'utente finale. Se la tua applicazione inoltra ciò che l'utente ha digitato come messaggio utente, imposta il suo `origin` su `{ kind: "human" }`. Senza quell'`origin`, Claude legge comunque il messaggio come se fosse dell'utente, ma i controlli che richiedono un prompt digitato da una persona, come la [parola chiave del workflow `ultracode`](https://code.claude.com/docs/it/workflows#ask-for-a-workflow-in-your-prompt), non accettano il messaggio. |

2468| `channel` | Messaggio in arrivo su un [canale](https://code.claude.com/docs/it/channels.md). `server` è il nome del server MCP di origine. |2480| `channel` | Messaggio in arrivo su un [canale](https://code.claude.com/docs/it/channels.md). `server` è il nome del server MCP di origine. |

2469| `peer` | Messaggio da un altro agente: un [collega](https://code.claude.com/docs/it/agent-teams.md) in-process o un [peer tra sessioni](https://code.claude.com/docs/it/cross-session-messaging.md), cioè un'altra delle tue sessioni Claude Code. Consulta [Campi di origine peer](#peer-origin-fields) per la semantica di ogni campo e il modello di fiducia. |2481| `peer` | Messaggio da un altro agente Claude Code: un [compagno di team](https://code.claude.com/docs/it/agent-teams.md) in-process o un [peer cross-session](https://code.claude.com/docs/it/cross-session-messaging.md), un'altra delle tue sessioni Claude Code. L'[app desktop](https://code.claude.com/docs/it/desktop.md#work-across-sessions), che inoltra tali messaggi tra le tue sessioni, dichiara questo tipo con [`fromMode`](#peer-origin-fields). Per inoltrare l'output di un altro agente dalla tua applicazione, imposta invece `isSynthetic` e `client_composed`. Consulta [Campi dell'origine peer](#peer-origin-fields) per la semantica di ciascun campo e il modello di fiducia. |

2470| `task-notification` | Turno sintetico iniettato per una consegna che arriva senza un nuovo prompt dell'utente, come un'attività in background terminata; consulta [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) per quel ramo. Anche un prompt che la tua applicazione [dichiara come esecuzione pianificata](#declare-a-scheduled-run) ha questo kind. Il `subkind` facoltativo indica cosa ha generato la notifica. Consulta [Subkind delle notifiche di attività](#task-notification-subkinds). |2482| `task-notification` | Turno sintetico iniettato per una consegna che arriva senza un nuovo prompt dell'utente, come un'attività in background terminata; consulta [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) per quel ramo. Anche un prompt che la tua applicazione [dichiara come esecuzione pianificata](#declare-a-scheduled-run) ha questo kind. Il `subkind` facoltativo indica cosa ha generato la notifica. Consulta [Subkind delle notifiche di attività](#task-notification-subkinds). |

2471| `coordinator` | Messaggio da un coordinatore del team in un [team di agenti](https://code.claude.com/docs/it/agent-teams.md). |2483| `coordinator` | Messaggio da un coordinatore del team in un [team di agenti](https://code.claude.com/docs/it/agent-teams.md). |

2472| `auto-continuation` | Turno sintetico iniettato quando la sessione prosegue senza nuovo input dell'utente, come il risultato di un comando che attiva un prompt di follow-up. |2484| `auto-continuation` | Turno sintetico iniettato quando la sessione prosegue senza nuovo input dell'utente, come il risultato di un comando che attiva un prompt di follow-up. |

2473| `unclassified` | Turno iniettato di cui non è stato possibile determinare l'origine. Richiede Claude Code v2.1.223 o successivo. Quando Claude Code riceve un [`SDKUserMessage`](#sdkusermessage) con `isSynthetic: true` e non riesce a classificarlo come nessun altro `kind`, imposta questo kind all'arrivo del messaggio e presenta il turno al modello come proveniente da una fonte diversa dall'utente, invece di trattarlo come input umano. La tua applicazione non dovrebbe impostare questo valore. |2485| `unclassified` | Messaggio contrassegnato come non proveniente dall'utente, come un [`SDKUserMessage`](#sdkusermessage) che invii con `isSynthetic: true`. Richiede Claude Code v2.1.223 o versioni successive. |

2474 2486 

2475### Subkind delle notifiche di attività2487### Subkind delle notifiche di attività

2476 2488 


2494Un'origine `peer` identifica quale agente ha inviato il messaggio: un [teammate](https://code.claude.com/docs/it/agent-teams.md) in-process che invia a `main` con `SendMessage`, oppure un [peer cross-session](https://code.claude.com/docs/it/cross-session-messaging.md), un'altra delle tue sessioni di Claude Code. I peer cross-session richiedono Claude Code v2.1.224 o versioni successive su macOS e Linux; consulta la [disponibilità della messaggistica cross-session](https://code.claude.com/docs/it/cross-session-messaging.md#availability) per il requisito su Windows nativo. Un peer cross-session può essere eseguito sulla stessa macchina, oppure su [un'altra delle tue macchine](https://code.claude.com/docs/it/cross-session-messaging.md#message-sessions-on-other-machines) quando il suo messaggio arriva tramite [Remote Control](https://code.claude.com/docs/it/remote-control.md).2506Un'origine `peer` identifica quale agente ha inviato il messaggio: un [teammate](https://code.claude.com/docs/it/agent-teams.md) in-process che invia a `main` con `SendMessage`, oppure un [peer cross-session](https://code.claude.com/docs/it/cross-session-messaging.md), un'altra delle tue sessioni di Claude Code. I peer cross-session richiedono Claude Code v2.1.224 o versioni successive su macOS e Linux; consulta la [disponibilità della messaggistica cross-session](https://code.claude.com/docs/it/cross-session-messaging.md#availability) per il requisito su Windows nativo. Un peer cross-session può essere eseguito sulla stessa macchina, oppure su [un'altra delle tue macchine](https://code.claude.com/docs/it/cross-session-messaging.md#message-sessions-on-other-machines) quando il suo messaggio arriva tramite [Remote Control](https://code.claude.com/docs/it/remote-control.md).

2495 2507 

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

2497* `fromMode`: la classe di permesso della sessione mittente, `bypass` o `prompting`, dichiarata da un host che inoltra un messaggio peer tra le tue sessioni, come l'[app desktop](https://code.claude.com/docs/it/desktop.md#work-across-sessions). Claude Code lo legge nella sessione ricevente quando applica i [controlli in entrata](https://code.claude.com/docs/it/cross-session-messaging.md#control-inbound-messages). Richiede Agent SDK v0.3.234 o successivo.2509* `fromMode`: la classe di permessi della sessione mittente, `bypass` o `prompting`. Claude Code la legge nella sessione ricevente quando applica i [controlli sui messaggi in arrivo](https://code.claude.com/docs/it/cross-session-messaging.md#control-inbound-messages). Richiede Agent SDK v0.3.234 o versioni successive.

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

2499* `name`: il nome visualizzato del mittente, normalizzato da Claude Code: rimuove i code point Unicode di controllo, di formato, surrogati e separatori di riga o paragrafo, quindi elimina gli spazi iniziali e finali e lo tronca a 64 code point con un'ellissi. Richiede Claude Code v2.1.205 o successivo.2511* `name`: il nome visualizzato del mittente, normalizzato da Claude Code: rimuove i code point Unicode di controllo, di formato, surrogati e separatori di riga o paragrafo, quindi elimina gli spazi iniziali e finali e lo tronca a 64 code point con un'ellissi. Richiede Claude Code v2.1.205 o successivo.

2500* `body`: il corpo del messaggio decodificato, privato dell'involucro peer, identico byte per byte a ciò che vede il modello. Presente per un singolo messaggio di un teammate, assente quando più messaggi vengono uniti; per un peer cross-session, presente solo quando il turno è esattamente un involucro peer formato da Claude Code. Visualizza `name` e `body` invece di analizzare di nuovo il testo del messaggio. Prima della v2.1.299, i messaggi uniti mantenevano il `body` del primo messaggio. Richiede Claude Code v2.1.205 o successiva.2512* `body`: il corpo del messaggio decodificato, privato dell'involucro peer, identico byte per byte a ciò che vede il modello. Presente per un singolo messaggio di un teammate, assente quando più messaggi vengono uniti; per un peer cross-session, presente solo quando il turno è esattamente un involucro peer formato da Claude Code. Visualizza `name` e `body` invece di analizzare di nuovo il testo del messaggio. Prima della v2.1.299, i messaggi uniti mantenevano il `body` del primo messaggio. Richiede Claude Code v2.1.205 o successiva.


5421 | { type: "disabled" }; // No extended thinking5433 | { type: "disabled" }; // No extended thinking

5422```5434```

5423 5435 

5424Il campo facoltativo `display` controlla se il testo di ragionamento viene restituito `"summarized"` o `"omitted"`. Su Claude Opus 4.7 e versioni successive, il valore predefinito dell'API è `"omitted"`, quindi imposta `"summarized"` per ricevere il contenuto del ragionamento nei blocchi `thinking`. Claude Code non passa il tuo valore di `display` ad alcuni provider, come Amazon Bedrock e Agent Platform di Google Cloud. Su questi provider, Opus 4.7 e versioni successive restituiscono blocchi `thinking` vuoti anche quando imposti `display` su `"summarized"`.5436Il campo facoltativo `display` controlla se il testo di ragionamento viene restituito `"summarized"` o `"omitted"`. Su Claude Opus 4.7 e versioni successive, il valore predefinito dell'API è `"omitted"`, quindi imposta `"summarized"` per ricevere il contenuto del ragionamento nei blocchi `thinking`. Su provider come Amazon Bedrock e Agent Platform di Google Cloud, Claude Code non passa `display` per i modelli precedenti che riconosce. Si tratta di Opus 4.6, Sonnet 4.6, Haiku 4.5 e dei modelli precedenti, che usano il proprio valore predefinito.

5425 5437 

5426### `SpawnedProcess`5438### `SpawnedProcess`

5427 5439 


6042| `allowUnsandboxedCommands` | `boolean` | `true` | Consenti al modello di richiedere l'esecuzione di comandi al di fuori della sandbox. Quando `true`, il modello può impostare `dangerouslyDisableSandbox` nell'input del tool, che ricade nel [sistema di permessi](#permissions-fallback-for-unsandboxed-commands) |6054| `allowUnsandboxedCommands` | `boolean` | `true` | Consenti al modello di richiedere l'esecuzione di comandi al di fuori della sandbox. Quando `true`, il modello può impostare `dangerouslyDisableSandbox` nell'input del tool, che ricade nel [sistema di permessi](#permissions-fallback-for-unsandboxed-commands) |

6043| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `undefined` | Configurazione della sandbox specifica della rete |6055| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `undefined` | Configurazione della sandbox specifica della rete |

6044| `filesystem` | [`SandboxFilesystemConfig`](#sandboxfilesystemconfig) | `undefined` | Configurazione della sandbox specifica del filesystem per le restrizioni di lettura/scrittura |6056| `filesystem` | [`SandboxFilesystemConfig`](#sandboxfilesystemconfig) | `undefined` | Configurazione della sandbox specifica del filesystem per le restrizioni di lettura/scrittura |

6045| `ignoreViolations` | `Record<string, string[]>` | `undefined` | Mappa delle sottostringhe di comando, o `*` per ogni comando, alle sottostringhe del testo di violazione da ignorare, come `{ "*": ['/etc/hosts'] }`; vedi [`sandbox.ignoreViolations`](https://code.claude.com/docs/it/settings-reference#sandbox-ignoreviolations) |6057| `ignoreViolations` | `Record<string, string[]>` | `undefined` | Violazioni da escludere dal report delle violazioni della sandbox. Ogni chiave corrisponde a una parte di un comando, o `*` per ogni comando, e ogni valore elenca il testo da cercare in una riga di violazione: `{ "*": ['/etc/hosts'] }` nasconde le violazioni che menzionano `/etc/hosts`. Vedi [`sandbox.ignoreViolations`](https://code.claude.com/docs/it/settings-reference#sandbox-ignoreviolations) |

6046| `enableWeakerNestedSandbox` | `boolean` | `false` | Abilita una sandbox nidificata più debole per la compatibilità |6058| `enableWeakerNestedSandbox` | `boolean` | `false` | Abilita una sandbox nidificata più debole per la compatibilità |

6047| `allowNestedUserNamespaces` | `boolean` | `false` | Consenti ai comandi in sandbox su Linux e WSL2 di creare user namespace. Prima di impostarlo su `true`, leggi [`sandbox.allowNestedUserNamespaces`](https://code.claude.com/docs/it/settings-reference#sandbox-allownestedusernamespaces), che descrive gli strumenti che ne hanno bisogno e il confine di sicurezza che disattivi. Richiede Claude Code v2.1.305 o successivo |6059| `allowNestedUserNamespaces` | `boolean` | `false` | Consenti ai comandi in sandbox su Linux e WSL2 di creare user namespace. Prima di impostarlo su `true`, leggi [`sandbox.allowNestedUserNamespaces`](https://code.claude.com/docs/it/settings-reference#sandbox-allownestedusernamespaces), che descrive gli strumenti che ne hanno bisogno e il confine di sicurezza che disattivi. Richiede Claude Code v2.1.305 o successivo |

6048| `ripgrep` | `{ command: string; args?: string[] }` | `undefined` | Configurazione del binario ripgrep personalizzato per gli ambienti sandbox |6060| `ripgrep` | `{ command: string; args?: string[] }` | `undefined` | Configurazione del binario ripgrep personalizzato per gli ambienti sandbox |

agent-teams.md +1 −1

Details

296>296>

297> Per fare in modo che chieda conferma prima di modificare, premi Enter sulla riga `main` nel pannello degli agenti e passa anche il lead alla modalità Manual. A quel punto anche il lead chiede conferma, così come qualsiasi altro compagno di squadra in modalità Manual.297> Per fare in modo che chieda conferma prima di modificare, premi Enter sulla riga `main` nel pannello degli agenti e passa anche il lead alla modalità Manual. A quel punto anche il lead chiede conferma, così come qualsiasi altro compagno di squadra in modalità Manual.

298 298 

299Non puoi impostare modalità di permesso specifiche per ciascun compagno di squadra al momento della creazione. Un nuovo compagno di squadra parte con la modalità del lead, inclusa la modalità `bypassPermissions`, che viene attivata da `--dangerously-skip-permissions`. Se il lead è in [modalità `dontAsk`](https://code.claude.com/docs/it/permission-modes#allow-only-pre-approved-tools-with-dontask-mode), il compagno di squadra parte invece in [modalità Manual](https://code.claude.com/docs/it/permission-modes.md#available-modes).299Non puoi impostare modalità di permesso specifiche per ciascun compagno di squadra al momento della creazione. Un nuovo compagno di squadra parte con la modalità del lead, inclusa la modalità `bypassPermissions`, che viene attivata da `--dangerously-skip-permissions`. Se il lead è in [modalità `dontAsk`](https://code.claude.com/docs/it/permission-modes#allow-only-pre-approved-tools-with-dontask-mode), il compagno di squadra parte invece in [modalità Manual](https://code.claude.com/docs/it/permission-modes.md#available-modes). Per un compagno di squadra a pannelli divisi di un lead in modalità Manual o `dontAsk`, questo richiede Claude Code v2.1.317 o versioni successive.

300 300 

301Un compagno di squadra [in-process](#choose-a-display-mode) viene eseguito con le regole allow e deny attive del lead, quindi [`--disallowedTools`](https://code.claude.com/docs/it/cli-reference#cli-flags), `--tools` e `--allowedTools` si applicano tutti a esso. Per un compagno di squadra a pannelli divisi, verifica ciascun flag:301Un compagno di squadra [in-process](#choose-a-display-mode) viene eseguito con le regole allow e deny attive del lead, quindi [`--disallowedTools`](https://code.claude.com/docs/it/cli-reference#cli-flags), `--tools` e `--allowedTools` si applicano tutti a esso. Per un compagno di squadra a pannelli divisi, verifica ciascun flag:

302 302 

artifacts.md +1 −1

Details

141 141 

142* **Sessione cloud senza accesso alla rete**: per un [ambiente cloud](https://code.claude.com/docs/it/cloud-environments.md#access-levels), corrisponde al livello **None**. In [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode), può invece approvare il classificatore; in una sessione [Cowork](https://claude.com/product/cowork), l'approvazione spetta solo a te.142* **Sessione cloud senza accesso alla rete**: per un [ambiente cloud](https://code.claude.com/docs/it/cloud-environments.md#access-levels), corrisponde al livello **None**. In [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode), può invece approvare il classificatore; in una sessione [Cowork](https://claude.com/product/cowork), l'approvazione spetta solo a te.

143* **Artefatto pubblico di un'altra organizzazione**: Claude Code te lo chiede prima, anche in modalità auto. Dove Claude Code non può chiedertelo, ad esempio in modalità `bypassPermissions`, Claude non può leggere l'artefatto. Claude può leggere questi artefatti solo mentre il [recupero dei feature flag](https://code.claude.com/docs/it/env-vars.md#features-that-need-feature-flag-fetching) è attivo.143* **Artefatto pubblico di un'altra organizzazione**: Claude Code te lo chiede prima, anche in modalità auto. Dove Claude Code non può chiedertelo, ad esempio in modalità `bypassPermissions`, Claude non può leggere l'artefatto. Claude può leggere questi artefatti solo mentre il [recupero dei feature flag](https://code.claude.com/docs/it/env-vars.md#features-that-need-feature-flag-fetching) è attivo.

144* **Proprietario o impostazione di rete non confermati**: quando Claude Code non riesce a confermare chi ha creato l'artefatto, o non riesce a confermare l'impostazione di rete di una sessione cloud, te lo chiede, e la tua approvazione copre solo quella singola richiesta.144* **Proprietario o impostazione di rete non confermati**: quando Claude Code non riesce a confermare chi ha creato l'artefatto, o non riesce a confermare l'impostazione di rete di una sessione cloud, te lo chiede, e la tua approvazione copre solo quella singola richiesta. In [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode), il classificatore può approvare o bloccare la lettura invece di chiederlo a te.

145* **Plan mode**: nel [plan mode](https://code.claude.com/docs/it/permission-modes.md#analyze-before-you-edit-with-plan-mode), Claude Code chiede conferma prima che lo strumento Artifact legga un artefatto creato da qualcun altro nella tua organizzazione.145* **Plan mode**: nel [plan mode](https://code.claude.com/docs/it/permission-modes.md#analyze-before-you-edit-with-plan-mode), Claude Code chiede conferma prima che lo strumento Artifact legga un artefatto creato da qualcun altro nella tua organizzazione.

146 146 

147Quando Claude legge l'artefatto con WebFetch, continuano ad applicarsi le [regole sulle richieste di conferma](https://code.claude.com/docs/it/tools-reference.md#webfetch-tool-behavior) proprie di WebFetch.147Quando Claude legge l'artefatto con WebFetch, continuano ad applicarsi le [regole sulle richieste di conferma](https://code.claude.com/docs/it/tools-reference.md#webfetch-tool-behavior) proprie di WebFetch.

Details

29 29 

30## Rendere la sessione idonea30## Rendere la sessione idonea

31 31 

32Se un gateway è la causa, chiedi all'amministratore della tua azienda o al tuo provider di gateway di far passare le richieste e le risposte senza modifiche. Ciò significa inoltrare le intestazioni delle richieste e i campi del corpo così come sono, inclusi quelli che il gateway non riconosce come il campo di richiesta `safeguards`, e restituire risposte ed eventi di streaming senza eliminare chiavi come il campo `safeguard_results` o riscrivere gli ID di tool-use, come descrive la [guida di compatibilità del gateway](https://code.claude.com/docs/it/llm-gateway-protocol.md#feature-pass-through). Un gateway che fa passare il traffico in questo modo continua a funzionare con questa funzionalità e con quelle future. Le nuove sessioni utilizzano di nuovo i controlli del server.32Se un gateway impedisce ai controlli lato server della modalità auto di raggiungere le tue sessioni e non sei tu a gestirlo, invia i requisiti riportati di seguito all'amministratore della tua azienda o al tuo provider di gateway. Dove [l'upstream accetta il formato che il gateway riceve](https://code.claude.com/docs/it/llm-gateway-protocol.md#format-mismatch-with-the-upstream), Claude Code si aspetta che il gateway faccia passare le richieste e le risposte senza modifiche, come descrive la [guida di compatibilità del gateway](https://code.claude.com/docs/it/llm-gateway-protocol.md#feature-pass-through):

33 

34* **Richieste**: per far passare i controlli, il gateway inoltra senza modifiche sia l'intestazione `anthropic-beta` sia il campo del corpo `safeguards`, perché [i due viaggiano in coppia](https://code.claude.com/docs/it/llm-gateway-protocol.md#beta-header-and-body-field-pairs). Nel [formato InvokeModel di Amazon Bedrock](https://code.claude.com/docs/it/llm-gateway-protocol.md#api-formats), inoltra il campo del corpo `anthropic_beta` al posto dell'intestazione.

35* **Risposte**: il gateway restituisce risposte ed eventi di streaming senza eliminare campi o riscrivere gli ID di tool-use. Per far passare i risultati dei controlli, mantiene il campo `safeguard_results`.

36 

37Un gateway che fa passare il traffico in questo modo continua a funzionare con questa funzionalità e con quelle future. Le nuove sessioni utilizzano quindi di nuovo i controlli del server.

33 38 

34Se sai già che il tuo gateway non può fornire i controlli del server, comunica a Claude Code di non chiederli lì impostando `CLAUDE_CODE_AUTO_MODE_SERVER` a `0` prima di avviare la sessione, nella tua shell o nella [chiave di impostazioni `env`](https://code.claude.com/docs/it/settings-reference#env):39Se sai già che il tuo gateway non può fornire i controlli del server, comunica a Claude Code di non chiederli lì impostando `CLAUDE_CODE_AUTO_MODE_SERVER` a `0` prima di avviare la sessione, nella tua shell o nella [chiave di impostazioni `env`](https://code.claude.com/docs/it/settings-reference#env):

35 40 

channels.md +1 −1

Details

354| Funzione | Cosa fa | Buono per |354| Funzione | Cosa fa | Buono per |

355| - | - | - |355| - | - | - |

356| [Sessioni cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md) | Esegue attività in una nuova sandbox cloud, clonata da GitHub | Delegare lavoro asincrono autonomo su cui torni in seguito |356| [Sessioni cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md) | Esegue attività in una nuova sandbox cloud, clonata da GitHub | Delegare lavoro asincrono autonomo su cui torni in seguito |

357| [Claude in Slack](https://code.claude.com/docs/it/slack.md) | Avvia una sessione cloud da una menzione `@Claude` in un canale o thread | Avviare attività direttamente dal contesto della conversazione del team |357| [Claude in Slack](https://code.claude.com/docs/it/slack.md) | Avvia una sessione cloud da una menzione `@Claude` in un canale o thread | Avviare attività direttamente da una conversazione del team |

358| Server [MCP](https://code.claude.com/docs/it/mcp.md) standard | Claude lo interroga durante un'attività; nulla viene inviato alla sessione | Dare a Claude accesso on-demand per leggere o interrogare un sistema |358| Server [MCP](https://code.claude.com/docs/it/mcp.md) standard | Claude lo interroga durante un'attività; nulla viene inviato alla sessione | Dare a Claude accesso on-demand per leggere o interrogare un sistema |

359| [Remote Control](https://code.claude.com/docs/it/remote-control.md) | Guidi la tua sessione locale da claude.ai o dall'app mobile Claude | Guidare una sessione in corso mentre sei lontano dalla tua scrivania |359| [Remote Control](https://code.claude.com/docs/it/remote-control.md) | Guidi la tua sessione locale da claude.ai o dall'app mobile Claude | Guidare una sessione in corso mentre sei lontano dalla tua scrivania |

360 360 

Details

350 350 

351### Fornire la policy alle sessioni di Claude Desktop351### Fornire la policy alle sessioni di Claude Desktop

352 352 

353Claude Desktop esegue le schede Cowork e Code, oltre a Chat quando la abiliti, su sessioni Claude Code incorporate e invia le loro richieste al modello tramite il gateway. Passa una policy a ciascuna di queste sessioni, costruita a partire dalla configurazione che il gateway gli fornisce su `/user/bootstrap`: l'allowlist dei modelli, gli strumenti disabilitati e l'allowlist del traffico in uscita derivati dal blocco `cli` o `code` della policy corrispondente, più l'[overlay `desktop`](https://code.claude.com/docs/it/claude-apps-gateway-config#claude-desktop-overlay).353Claude Desktop esegue le sue schede su sessioni Claude Code incorporate e invia le loro richieste al modello tramite il gateway. Passa una policy a ciascuna di queste sessioni, costruita a partire dalla configurazione che il gateway gli fornisce su `/user/bootstrap`. Questa configurazione contiene l'allowlist dei modelli, gli strumenti disabilitati e l'allowlist del traffico in uscita derivati dal blocco `cli` o `code` della policy corrispondente, più l'[overlay `desktop`](https://code.claude.com/docs/it/claude-apps-gateway-config#claude-desktop-overlay).

354 354 

355Le altre chiavi del blocco, come gli hook, `env` e le regole di permesso con ambito come `Bash(npm *)`, raggiungono i client che accedono tramite `/login`. Sotto `code`, raggiungono anche la sessione della scheda Code quando sono soddisfatte le [condizioni per la scheda Code](https://code.claude.com/docs/it/claude-apps-gateway-config.md#apply-code-settings-in-the-code-tab). Non raggiungono le sessioni Cowork o Chat. Claude Desktop legge l'URL del gateway dalla propria configurazione gestita e accede con il proprio flusso, separato dalle chiavi `forceLoginMethod` e `forceLoginGatewayUrl` descritte in [Impostare l'URL del gateway](#set-the-gateway-url).355Le altre chiavi del blocco, come gli hook, `env` e le regole di permesso con ambito come `Bash(npm *)`, raggiungono i client che accedono tramite `/login`. Sotto `code`, raggiungono anche la sessione della scheda Code quando sono soddisfatte le [condizioni per la scheda Code](https://code.claude.com/docs/it/claude-apps-gateway-config.md#apply-code-settings-in-the-code-tab). Non raggiungono le sessioni Cowork o Chat. Claude Desktop legge l'URL del gateway dalla propria configurazione gestita e accede con il proprio flusso, separato dalle chiavi `forceLoginMethod` e `forceLoginGatewayUrl` descritte in [Impostare l'URL del gateway](#set-the-gateway-url).

356 356 


476 476 

477### Connettere Claude Desktop477### Connettere Claude Desktop

478 478 

479[Claude Desktop](https://code.claude.com/docs/it/desktop.md) si connette allo stesso gateway tramite una chiave MDM diversa: imposta `bootstrapUrl` nella [configurazione gestita](https://claude.com/docs/third-party/claude-desktop/configuration) di Claude Desktop su `<listen.public_url>/user/bootstrap`, e abilita la policy dell'utente con una chiave `desktop`. [Overlay di Claude Desktop](https://code.claude.com/docs/it/claude-apps-gateway-config.md#claude-desktop-overlay) tratta entrambe le parti. Richiede Claude Code v2.1.203 o successivo sul server gateway.479[Claude Desktop](https://code.claude.com/docs/it/desktop.md) si connette allo stesso gateway tramite una chiave MDM diversa: imposta `bootstrapUrl` nella [configurazione gestita](https://claude.com/docs/third-party/claude-desktop/configuration) di Claude Desktop su `<listen.public_url>/user/bootstrap`, e abilita la policy dell'utente con una chiave `desktop`. [Overlay di Claude Desktop](https://code.claude.com/docs/it/claude-apps-gateway-config.md#claude-desktop-overlay) tratta entrambe le parti. Richiede Claude Code v2.1.203 o successivo sul server gateway. Una volta connesso, Claude Desktop invia le richieste al modello da ogni scheda abilitata attraverso il gateway.

480 480 

481Claude Desktop fa accedere lo sviluppatore tramite l'identity provider del gateway con lo stesso passaggio di SSO nel browser, quindi recupera la propria configurazione dal gateway anziché da Anthropic. L'accesso ai modelli e la policy seguono le stesse regole per gruppo della CLI. Uno sviluppatore che usa sia la CLI sia Claude Desktop accede a ciascuno separatamente; la sessione del gateway non è condivisa tra i due.481Claude Desktop fa accedere lo sviluppatore tramite l'identity provider del gateway con lo stesso passaggio di SSO nel browser, quindi recupera la propria configurazione dal gateway anziché da Anthropic. L'accesso ai modelli e la policy seguono le stesse regole per gruppo della CLI. Uno sviluppatore che usa sia la CLI sia Claude Desktop accede a ciascuno separatamente; la sessione del gateway non è condivisa tra i due.

482 482 

483Una volta connesso, Claude Desktop invia le richieste al modello da ogni scheda abilitata attraverso il gateway. Mostra le schede Cowork e Code per impostazione predefinita. Per rendere disponibile anche la scheda Chat, imposta `chatTabEnabled` su `true` nel [blocco `desktop`](https://code.claude.com/docs/it/claude-apps-gateway-config#claude-desktop-overlay) della policy su un gateway che esegue Claude Code v2.1.227 o successivo. Con Cowork attivo, Claude Desktop mostra quindi Chat e Cowork insieme in un'unica scheda.

484 

485### Pipeline CI e macchine remote483### Pipeline CI e macchine remote

486 484 

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


523| Inoltro di inferenza (Amazon Bedrock, Claude Platform su AWS, Agent Platform di Google Cloud, Microsoft Foundry, Anthropic) | Disponibile | Con traduzione del modello per upstream e failover. L'upstream Amazon Bedrock utilizza l'endpoint `bedrock-runtime` e la catena di credenziali predefinita AWS. L'[upstream Amazon Bedrock Mantle](https://code.claude.com/docs/it/claude-apps-gateway-config.md#amazon-bedrock-mantle-endpoint) richiede Claude Code v2.1.283 o successivo sul server gateway, e l'[upstream Claude Platform su AWS](https://code.claude.com/docs/it/claude-apps-gateway-config.md#claude-platform-on-aws) richiede v2.1.198 o successivo. |521| Inoltro di inferenza (Amazon Bedrock, Claude Platform su AWS, Agent Platform di Google Cloud, Microsoft Foundry, Anthropic) | Disponibile | Con traduzione del modello per upstream e failover. L'upstream Amazon Bedrock utilizza l'endpoint `bedrock-runtime` e la catena di credenziali predefinita AWS. L'[upstream Amazon Bedrock Mantle](https://code.claude.com/docs/it/claude-apps-gateway-config.md#amazon-bedrock-mantle-endpoint) richiede Claude Code v2.1.283 o successivo sul server gateway, e l'[upstream Claude Platform su AWS](https://code.claude.com/docs/it/claude-apps-gateway-config.md#claude-platform-on-aws) richiede v2.1.198 o successivo. |

524| Finestra di contesto da 1M token | Disponibile | I modelli Fable, Sonnet 5 e successivi, e Opus 4.7 e successivi funzionano con la finestra da 1M per impostazione predefinita; vedi [Contesto esteso](https://code.claude.com/docs/it/model-config.md#extended-context). L'impostazione predefinita da 1M per i modelli Fable e Opus richiede Claude Code v2.1.287 o successivo sulla macchina dello sviluppatore |522| Finestra di contesto da 1M token | Disponibile | I modelli Fable, Sonnet 5 e successivi, e Opus 4.7 e successivi funzionano con la finestra da 1M per impostazione predefinita; vedi [Contesto esteso](https://code.claude.com/docs/it/model-config.md#extended-context). L'impostazione predefinita da 1M per i modelli Fable e Opus richiede Claude Code v2.1.287 o successivo sulla macchina dello sviluppatore |

525| Accesso ai modelli e impostazioni gestite per gruppo IdP | Disponibile | L'accesso ai modelli viene applicato lato server; le impostazioni gestite vengono consegnate per gruppo IdP e applicate dal CLI al [livello di impostazioni gestite](https://code.claude.com/docs/it/settings.md#settings-precedence) |523| Accesso ai modelli e impostazioni gestite per gruppo IdP | Disponibile | L'accesso ai modelli viene applicato lato server; le impostazioni gestite vengono consegnate per gruppo IdP e applicate dal CLI al [livello di impostazioni gestite](https://code.claude.com/docs/it/settings.md#settings-precedence) |

526| Claude Desktop | Disponibile con consenso esplicito | Il gateway fornisce la configurazione di Claude Desktop su `/user/bootstrap` una volta che una politica [acconsente con una chiave `desktop`](https://code.claude.com/docs/it/claude-apps-gateway-config#claude-desktop-overlay), e Claude Desktop invia le sue richieste di modello attraverso il gateway. Per attivare Chat, vedi [Connetti Claude Desktop](#connect-claude-desktop). Richiede Claude Code v2.1.203 o successivo sul server gateway. |524| Claude Desktop | Disponibile con consenso esplicito | Attiva il consenso in una politica con una [chiave `desktop`](https://code.claude.com/docs/it/claude-apps-gateway-config#claude-desktop-overlay). Richiede Claude Code v2.1.203 o successivo sul server gateway. |

527| Fan-out di telemetria (OTLP/HTTP) | Disponibile | Identità-timbrato per esportazione; entrambe le codifiche protobuf e JSON |525| Fan-out di telemetria (OTLP/HTTP) | Disponibile | Identità-timbrato per esportazione; entrambe le codifiche protobuf e JSON |

528| Provider di identità OIDC | Disponibile | Qualsiasi IdP conforme a OIDC; il gateway esegue il discovery OIDC standard e il flusso del codice di autorizzazione. Vedi [Configurazione del provider di identità](https://code.claude.com/docs/it/claude-apps-gateway-deploy.md#identity-provider-setup) per la configurazione per IdP |526| Provider di identità OIDC | Disponibile | Qualsiasi IdP conforme a OIDC; il gateway esegue il discovery OIDC standard e il flusso del codice di autorizzazione. Vedi [Configurazione del provider di identità](https://code.claude.com/docs/it/claude-apps-gateway-deploy.md#identity-provider-setup) per la configurazione per IdP |

529| Limiti di spesa per utente e per gruppo | Disponibile | Vedi [Limiti di spesa](https://code.claude.com/docs/it/claude-apps-gateway-spend-limits.md) |527| Limiti di spesa per utente e per gruppo | Disponibile | Vedi [Limiti di spesa](https://code.claude.com/docs/it/claude-apps-gateway-spend-limits.md) |


540| Multi-tenant (più emittenti OIDC) | Non supportato | Un emittente per gateway. Esegui istanze separate |538| Multi-tenant (più emittenti OIDC) | Non supportato | Un emittente per gateway. Esegui istanze separate |

541| Server Windows | Non supportato | Distribuisci su Linux. macOS solo per lo sviluppo locale |539| Server Windows | Non supportato | Distribuisci su Linux. macOS solo per lo sviluppo locale |

542| Helm chart | Non disponibile | Il gateway viene eseguito come una Deployment stateless standard; vedi la [guida di distribuzione](https://code.claude.com/docs/it/claude-apps-gateway-deploy.md#kubernetes) |540| Helm chart | Non disponibile | Il gateway viene eseguito come una Deployment stateless standard; vedi la [guida di distribuzione](https://code.claude.com/docs/it/claude-apps-gateway-deploy.md#kubernetes) |

543| Interfaccia utente amministratore | Non disponibile | La configurazione è il file YAML; ridistribuisci per cambiarla |541| Interfaccia utente di amministrazione | Solo limiti di spesa | In Claude Desktop 4.23118.0 o successivo [connesso al gateway](#connect-claude-desktop), i membri di [`admin.admin_groups`](https://code.claude.com/docs/it/claude-apps-gateway-config#admin) possono gestire i limiti di spesa. Il resto della configurazione è il file YAML; ridistribuisci per cambiarla |

544 542 

545## Passaggi successivi543## Passaggi successivi

546 544 

Details

1651| `reply_tokens` | No | Predefinito `750`. Circa quanti token di testo contiene ogni risposta preconfezionata, un numero intero da 1 a 100000. |1651| `reply_tokens` | No | Predefinito `750`. Circa quanti token di testo contiene ogni risposta preconfezionata, un numero intero da 1 a 100000. |

1652| `reply_seconds` | No | Predefinito `9.5`. Quanto dura una risposta in streaming, da 0 a 600. `0` invia l'intera risposta in una volta. La risposta a una richiesta non in streaming torna sempre in una volta. |1652| `reply_seconds` | No | Predefinito `9.5`. Quanto dura una risposta in streaming, da 0 a 600. `0` invia l'intera risposta in una volta. La risposta a una richiesta non in streaming torna sempre in una volta. |

1653 1653 

1654Un test di carico in questa modalità copre il gateway, il tuo Postgres e tutto ciò che si trova davanti al gateway. Non copre i limiti, la velocità o il percorso di rete del provider.1654Un test di carico in questa modalità copre il gateway, il tuo Postgres e tutto ciò che si trova davanti al gateway. Non copre i limiti, la velocità e il percorso di rete del provider, né l'attesa dovuta al [limite di richieste upstream simultanee](https://code.claude.com/docs/it/claude-apps-gateway-deploy.md#concurrent-upstream-requests) di ciascuna replica. Una replica registra comunque l'avviso `client requests are open` quando ci sono più richieste aperte di quel limite, il punto in cui le richieste in produzione iniziano ad attendere.

1655 1655 

1656Nessuna richiesta di modello viene inviata al provider, quindi la CPU per richiesta di una replica è una stima e risulta inferiore a quella di produzione, dove la replica cifra anche il traffico verso il provider. Conferma il numero di repliche con un piccolo pilota sul provider reale. Prima di v2.1.283, la stima risulta molto più bassa.1656Nessuna richiesta di modello viene inviata al provider, quindi la CPU per richiesta di una replica è una stima e risulta inferiore a quella di produzione, dove la replica cifra anche il traffico verso il provider. Conferma il numero di repliche con un piccolo pilota sul provider reale. Prima di v2.1.283, la stima risulta molto più bassa.

1657 1657 

Details

202>202>

203> Ogni richiesta aperta contiene memoria nel processo del gateway mentre esegue lo streaming e mentre attende uno slot. Se mantieni il limite a 256, la memoria su una replica sovraccarica continua a crescere, perché le richieste in attesa mantengono i loro corpi di richiesta. Dimensiona la memoria del contenitore per il numero di richieste aperte al picco e osserva la memoria quando cambi il limite. Una replica che esaurisce la memoria viene uccisa e interrompe ogni stream che contiene.203> Ogni richiesta aperta contiene memoria nel processo del gateway mentre esegue lo streaming e mentre attende uno slot. Se mantieni il limite a 256, la memoria su una replica sovraccarica continua a crescere, perché le richieste in attesa mantengono i loro corpi di richiesta. Dimensiona la memoria del contenitore per il numero di richieste aperte al picco e osserva la memoria quando cambi il limite. Una replica che esaurisce la memoria viene uccisa e interrompe ogni stream che contiene.

204 204 

205In un test di carico con [`load_test_mode`](https://code.claude.com/docs/it/claude-apps-gateway-config#load_test_mode), le richieste non attendono a questo limite, ma una replica registra comunque l'avvertimento `client requests are open`.

206 

205### Mantieni `API_TIMEOUT_MS` al di sopra del tempo al primo byte del gateway207### Mantieni `API_TIMEOUT_MS` al di sopra del tempo al primo byte del gateway

206 208 

207Se abbassi [`API_TIMEOUT_MS`](https://code.claude.com/docs/it/network-config#streaming-idle-watchdogs) per riprovare prima una richiesta senza risposta, mantienilo al di sopra del tempo che il gateway impiega per inviare i primi byte di una risposta in streaming. Una richiesta che attende più a lungo va in timeout, e lo stesso accade a ogni nuovo tentativo che attende altrettanto, finché il turno non termina con `Request timed out`, a meno che non lo termini la [scadenza del primo byte](#retry-an-unanswered-request-sooner-with-the-first-byte-deadline).209Se abbassi [`API_TIMEOUT_MS`](https://code.claude.com/docs/it/network-config#streaming-idle-watchdogs) per riprovare prima una richiesta senza risposta, mantienilo al di sopra del tempo che il gateway impiega per inviare i primi byte di una risposta in streaming. Una richiesta che attende più a lungo va in timeout, e lo stesso accade a ogni nuovo tentativo che attende altrettanto, finché il turno non termina con `Request timed out`, a meno che non lo termini la [scadenza del primo byte](#retry-an-unanswered-request-sooner-with-the-first-byte-deadline).

Details

628 628 

629* [Riferimento di configurazione](https://code.claude.com/docs/it/claude-apps-gateway-config.md): ogni opzione `gateway.yaml`, inclusi `managed.policies` e `telemetry`629* [Riferimento di configurazione](https://code.claude.com/docs/it/claude-apps-gateway-config.md): ogni opzione `gateway.yaml`, inclusi `managed.policies` e `telemetry`

630* [Distribuzione e operazioni](https://code.claude.com/docs/it/claude-apps-gateway-deploy.md): configurazione IdP, controlli di stato, rotazione della chiave segreta JWT, aggiornamenti e il modello di sicurezza630* [Distribuzione e operazioni](https://code.claude.com/docs/it/claude-apps-gateway-deploy.md): configurazione IdP, controlli di stato, rotazione della chiave segreta JWT, aggiornamenti e il modello di sicurezza

631* [Modalità load-test](https://code.claude.com/docs/it/claude-apps-gateway-config.md#load_test_mode): test di carico di un gateway senza chiamare un provider di modelli

631* [Panoramica del gateway delle app Claude](https://code.claude.com/docs/it/claude-apps-gateway): quickstart e connessione degli sviluppatori632* [Panoramica del gateway delle app Claude](https://code.claude.com/docs/it/claude-apps-gateway): quickstart e connessione degli sviluppatori

632* [Esempi AWS per il gateway delle app Claude](https://github.com/aws-samples/anthropic-on-aws/tree/main/claude-apps-gateway): esempi di distribuzione mantenuti da AWS che coprono una gamma di ambienti dei clienti633* [Esempi AWS per il gateway delle app Claude](https://github.com/aws-samples/anthropic-on-aws/tree/main/claude-apps-gateway): esempi di distribuzione mantenuti da AWS che coprono una gamma di ambienti dei clienti

Details

316 316 

317* [Riferimento di configurazione](https://code.claude.com/docs/it/claude-apps-gateway-config.md): ogni opzione di `gateway.yaml`, incluse `managed.policies` e `telemetry`317* [Riferimento di configurazione](https://code.claude.com/docs/it/claude-apps-gateway-config.md): ogni opzione di `gateway.yaml`, incluse `managed.policies` e `telemetry`

318* [Distribuzione e operazioni](https://code.claude.com/docs/it/claude-apps-gateway-deploy.md): configurazione IdP, controlli di integrità, rotazione della chiave segreta JWT, aggiornamenti e il modello di sicurezza318* [Distribuzione e operazioni](https://code.claude.com/docs/it/claude-apps-gateway-deploy.md): configurazione IdP, controlli di integrità, rotazione della chiave segreta JWT, aggiornamenti e il modello di sicurezza

319* [Modalità di test di carico](https://code.claude.com/docs/it/claude-apps-gateway-config.md#load_test_mode): test di carico di un gateway senza chiamare un provider di modelli

319* [Panoramica del gateway delle app Claude](https://code.claude.com/docs/it/claude-apps-gateway): guida rapida e connessione degli sviluppatori320* [Panoramica del gateway delle app Claude](https://code.claude.com/docs/it/claude-apps-gateway): guida rapida e connessione degli sviluppatori

Details

95Limita il project a un flusso di lavoro che continuerai ad aggiungere, come tutto quello che serve per mantenere un'API sotto il suo obiettivo di latenza. [Quando usare un project](#when-to-use-a-project) ha più esempi. Quindi compila i campi della finestra di dialogo:95Limita il project a un flusso di lavoro che continuerai ad aggiungere, come tutto quello che serve per mantenere un'API sotto il suo obiettivo di latenza. [Quando usare un project](#when-to-use-a-project) ha più esempi. Quindi compila i campi della finestra di dialogo:

96 96 

97* **Name**: come il project appare nell'elenco **Projects**.97* **Name**: come il project appare nell'elenco **Projects**.

98* **Goal** (facoltativo): una riga di quello che stai cercando di realizzare, come "Mantieni la latenza API p95 sotto 200 ms". Claude nella conversazione lavora verso di esso. Senza un obiettivo, Claude lavora dai compiti che invii, e puoi aggiungere un obiettivo in seguito in **Project settings > General**.98* **What do you want to work on?** (facoltativo): una riga che diventa l'obiettivo del project, come "Mantieni la latenza API p95 sotto 200 ms". Claude nella conversazione lavora verso di esso. Senza un obiettivo, Claude lavora dai compiti che invii, e puoi aggiungere un obiettivo in seguito in **Project settings > General**.

99* **Context** (facoltativo): i repository GitHub su cui questo project lavora, più eventuali file, cartelle o cartelle Google Drive che i thread dovrebbero leggere. Fai clic su **Add** per ognuno. Aggiungi i repository di cui la maggior parte dei compiti ha bisogno piuttosto che ogni uno che il lavoro potrebbe toccare; [Decidi quali repository aggiungere](#decide-which-repositories-to-add) copre la scelta, e puoi aggiungerne altri in seguito in **Project settings > Environment**.99* **Context** (facoltativo): i repository GitHub su cui questo project lavora, più eventuali file, cartelle o cartelle Google Drive che i thread dovrebbero leggere. Fai clic su **Add** per ognuno. Aggiungi i repository di cui la maggior parte dei compiti ha bisogno piuttosto che ogni uno che il lavoro potrebbe toccare; [Decidi quali repository aggiungere](#decide-which-repositories-to-add) copre la scelta, e puoi aggiungerne altri in seguito in **Project settings > Environment**.

100 100 

101Le regole permanenti su come i thread dovrebbero funzionare vanno in [project instructions](#give-a-project-standing-context), che imposti dopo che il project esiste.101Le regole permanenti su come i thread dovrebbero funzionare vanno in [project instructions](#give-a-project-standing-context), che imposti dopo che il project esiste.


388| Plugins | Plugins | I plugin che si caricano in ogni nuovo thread |388| Plugins | Plugins | I plugin che si caricano in ogni nuovo thread |

389| Usage | Usage | [Utilizzo di token](#usage-and-cost) per thread e per modello |389| Usage | Usage | [Utilizzo di token](#usage-and-cost) per thread e per modello |

390| Memory | Memory | I file di [memory](#give-a-project-standing-context) del project |390| Memory | Memory | I file di [memory](#give-a-project-standing-context) del project |

391| Auto-continue when usage limits reset | General | Se un thread o la conversazione del project che [si ferma a un limite di utilizzo](#usage-limit-reached) continua da solo quando il limite si reimposta. Attivo per impostazione predefinita. |

391| Restart Claude | General | Riavvia la conversazione del project quando [Claude smette di rispondere lì](#claude-hasnt-responded) |392| Restart Claude | General | Riavvia la conversazione del project quando [Claude smette di rispondere lì](#claude-hasnt-responded) |

392| Pause, Archive, Delete | General | Ferma, nascondi o rimuovi il project; vedi [Pausa, archivia o elimina un project](#pause-archive-or-delete-a-project) |393| Pause, Archive, Delete | General | Ferma, nascondi o rimuovi il project; vedi [Pausa, archivia o elimina un project](#pause-archive-or-delete-a-project) |

393 394 


403 404 

404L'utilizzo del project conta rispetto agli stessi [limiti di piano](https://code.claude.com/docs/it/errors.md#youve-hit-your-session-limit) delle tue altre sessioni Claude Code, e un project non può spendere oltre quei limiti da solo.405L'utilizzo del project conta rispetto agli stessi [limiti di piano](https://code.claude.com/docs/it/errors.md#youve-hit-your-session-limit) delle tue altre sessioni Claude Code, e un project non può spendere oltre quei limiti da solo.

405 406 

406Un thread che raggiunge il limite del tuo piano aspetta e continua da solo quando il limite si ripristina, quindi il lavoro che hai lasciato in esecuzione inizia a usare la tua prossima finestra di utilizzo senza un messaggio da te. [Un thread ha raggiunto il limite di utilizzo](#usage-limit-reached) copre quello che vedi, come fermarlo e l'unico caso che non aspetta.407Un thread che si ferma al limite del tuo piano aspetta e, per impostazione predefinita, continua da solo quando il limite si ripristina. Il suo lavoro conta quindi rispetto alla tua prossima finestra di utilizzo. Per impedire ai thread di continuare, consulta [Un thread ha raggiunto il limite di utilizzo](#usage-limit-reached).

407 408 

408Il lavoro va oltre i limiti del tuo piano solo se hai attivato [crediti di utilizzo](https://code.claude.com/docs/it/costs.md#add-usage-credits-to-your-subscription) per il tuo account. Un thread non può attivarli per te.409Il lavoro va oltre i limiti del tuo piano solo se hai attivato [crediti di utilizzo](https://code.claude.com/docs/it/costs.md#add-usage-credits-to-your-subscription) per il tuo account. Un thread non può attivarli per te.

409 410 


484 485 

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

486 487 

487Quando un thread o la conversazione del project raggiunge il limite di cinque ore o settimanale del tuo piano, continua a riprovare da solo e continua quando il limite si ripristina. Un thread che un'attività pianificata ha avviato non aspetta: il suo turno si ferma con un errore di limite, e gli invii un messaggio dopo che il limite si ripristina.488Quando un thread o la conversazione del project si ferma al limite di cinque ore o settimanale del tuo piano, aspetta e per impostazione predefinita continua da solo quando il limite si ripristina.

488 489 

489Mentre un thread aspetta, mostra **Service is busy** con "Claude is still retrying and will continue automatically." Non devi fare nulla perché il lavoro continui. Se preferisci che non usi la tua prossima finestra di utilizzo, fai clic su **Stop** nel thread, o [metti in pausa il project](#pause-archive-or-delete-a-project) per sospendere tutti i thread. [Errori di limite di utilizzo](https://code.claude.com/docs/it/errors.md#youve-hit-your-session-limit) spiegano i limiti e quando si ripristinano.490Per impedire che un thread o una conversazione continui all'orario di ripristino indicato nel suo messaggio, disattiva **Auto-continue when usage limits reset** in [**Project settings > General**](#project-settings-reference) prima di allora. L'impostazione vale per l'intero project, non solo per il thread che stai guardando. Per continuare con l'impostazione disattivata, invia un messaggio al thread o alla conversazione dopo il ripristino. [Errori di limite di utilizzo](https://code.claude.com/docs/it/errors.md#youve-hit-your-session-limit) spiegano i limiti e quando si ripristinano.

490 491 

491### Sono richiesti crediti di utilizzo aggiuntivi492### Sono richiesti crediti di utilizzo aggiuntivi

492 493 


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

512| "Setup script failed" | Fai clic su **Edit setup script** sull'errore, correggi lo script nell'ambiente, quindi invia un altro messaggio. [Setup script failed](https://code.claude.com/docs/it/web-quickstart.md#setup-script-failed) elenca le cause comuni |513| "Setup script failed" | [Setup script failed](https://code.claude.com/docs/it/web-quickstart.md#setup-script-failed) elenca le cause comuni. Correggi lo script nell'ambiente, quindi chiedi a Claude nella conversazione del project di eseguire l'attività in un nuovo thread, così che lo script venga eseguito di nuovo |

513| "Claude ran out of context on this turn" | Il thread ha riempito la sua finestra di contesto. Se il messaggio dice che il thread continua in una sessione fresca, continua da solo; altrimenti chiedi a Claude nella conversazione del project di avviare un nuovo thread per il lavoro rimanente |514| "Claude ran out of context on this turn" | Il thread ha riempito la sua finestra di contesto. Se il messaggio dice che il thread continua in una sessione fresca, continua da solo; altrimenti chiedi a Claude nella conversazione del project di avviare un nuovo thread per il lavoro rimanente |

514| "Couldn't start in" seguito dal nome della tua cartella | Hai permesso a un thread di eseguirsi sul tuo computer, ma la sessione non poteva iniziare lì. Quando una riga sotto il messaggio fornisce il motivo, correggilo, quindi chiedi a Claude di eseguire di nuovo l'attività |515| "Couldn't start in" seguito dal nome della tua cartella | Hai permesso a un thread di eseguirsi sul tuo computer, ma la sessione non poteva iniziare lì. Quando una riga sotto il messaggio fornisce il motivo, correggilo, quindi chiedi a Claude di eseguire di nuovo l'attività |

515| "Claude is out of date on your device" | Il computer che hai scelto per eseguire un thread ha una versione di Claude Code più vecchia di v2.1.280. Aggiorna Claude Code lì, o aggiorna l'app desktop se è quello che connette la cartella, quindi chiedi a Claude di eseguire di nuovo l'attività |516| "Claude is out of date on your device" | Il computer che hai scelto per eseguire un thread ha una versione di Claude Code più vecchia di v2.1.280. Aggiorna Claude Code lì, o aggiorna l'app desktop se è quello che connette la cartella, quindi chiedi a Claude di eseguire di nuovo l'attività |

Details

120 120 

121Seleziona **Add secret**, chiamato **Add** nelle impostazioni di amministrazione, e compila il modulo. Mantieni il **Secret type** predefinito, **Bearer**, per una chiave API che viaggia in un'intestazione della richiesta, e compila questi campi:121Seleziona **Add secret**, chiamato **Add** nelle impostazioni di amministrazione, e compila il modulo. Mantieni il **Secret type** predefinito, **Bearer**, per una chiave API che viaggia in un'intestazione della richiesta, e compila questi campi:

122 122 

123* **Name**: un'etichetta per il segreto, come `Internal billing API`

124* **Allowed websites**: gli host dell'API, come `api.example.com`. Un `*.` iniziale corrisponde a ogni sottodominio123* **Allowed websites**: gli host dell'API, come `api.example.com`. Un `*.` iniziale corrisponde a ogni sottodominio

125* **Custom headers**: una riga per l'intestazione che trasporta la chiave. La riga inizia con `Authorization` come **Name** dell'intestazione e `Bearer` come suo **Prefix**; incolla la chiave stessa come **Value**. Per un'intestazione come `X-Api-Key` che accetta il valore nudo, cambia il nome e cancella il prefisso124* **Custom headers**: una riga per l'intestazione che trasporta la chiave. La riga ha già `Authorization` come **Header name** e `Bearer` come **Prefix**; incolla la chiave stessa come **Value**. Per un'intestazione come `X-Api-Key` che accetta il valore nudo, cambia il nome e cancella il prefisso

126 125 

127Per un'API che si autentica in un altro modo, scegli un **Secret type** diverso. L'elenco è lo stesso che [Claude Tag](https://claude.com/docs/claude-tag/overview), l'integrazione Slack per i piani Team ed Enterprise, offre per le [connessioni](https://claude.com/docs/claude-tag/admins/add-connections).126Per un'API che si autentica in un altro modo, scegli un **Secret type** diverso. L'elenco è lo stesso che [Claude Tag](https://claude.com/docs/claude-tag/overview), l'integrazione Slack per i piani Team ed Enterprise, offre per le [connessioni](https://claude.com/docs/claude-tag/admins/add-connections).

128 127 


137Se sei su un piano Team o Enterprise e non detieni un [ruolo di amministratore dell'organizzazione](#requirements), il modulo **Add secret** accetta un segreto per un solo host. Seleziona la [riga **Network secrets**](#add-a-credential) del tuo ambiente e poi **Add secret**. Compila questi campi e seleziona il pulsante **Add secret** del modulo:136Se sei su un piano Team o Enterprise e non detieni un [ruolo di amministratore dell'organizzazione](#requirements), il modulo **Add secret** accetta un segreto per un solo host. Seleziona la [riga **Network secrets**](#add-a-credential) del tuo ambiente e poi **Add secret**. Compila questi campi e seleziona il pulsante **Add secret** del modulo:

138 137 

139* **Host**: l'unico host che riceve il segreto, come `api.example.com`. Il modulo non accetta un carattere jolly `*.`138* **Host**: l'unico host che riceve il segreto, come `api.example.com`. Il modulo non accetta un carattere jolly `*.`

140* **Name**: un'etichetta facoltativa per il segreto139* **Secret type**: **Token** per una chiave che viaggia in un'intestazione della richiesta, oppure **Username and password**. Per un token, incolla la chiave nel campo **Token**. Per un'intestazione diversa da `Authorization`, come `X-Api-Key`, cambia **Header** nel suo nome

141* **Secret type**: **Token** per una chiave che viaggia in un'intestazione della richiesta, oppure **Username and password**. Per un token, incolla la chiave come **Value**

142 140 

143#### Quali richieste ricevono il segreto141#### Quali richieste ricevono il segreto

144 142 


445 443 

446Uno script di configurazione ha quattro vincoli da considerare:444Uno script di configurazione ha quattro vincoli da considerare:

447 445 

448* **Exit zero**: se lo script esce con un codice diverso da zero, la sessione non si avvia. Aggiungere `|| true` ai comandi non critici in modo che un errore di installazione intermittente non blocchi la sessione.446* **Exit zero**: se lo script esce con un codice diverso da zero, la sessione [non si avvia](https://code.claude.com/docs/it/web-quickstart.md#setup-script-failed) oppure si avvia senza ciò che lo script non è riuscito a installare. Aggiungere `|| true` ai comandi non critici in modo che un errore di installazione intermittente non faccia fallire lo script.

449* **Completamento entro cinque minuti**: mantenere il tempo di esecuzione totale dello script sotto circa cinque minuti in modo che la [cache dell'ambiente](#environment-caching) possa essere costruita. Quando la configurazione richiede più tempo di quello, l'ambiente non viene memorizzato nella cache. Eseguire le installazioni indipendenti in parallelo con `&` e `wait`, e spostare qualsiasi singolo download che non rientra in un [hook SessionStart](#setup-scripts-vs-sessionstart-hooks) che lo avvia in background. Se le nuove sessioni si bloccano o si interrompono durante la configurazione, vedere [Le nuove sessioni si bloccano o scadono durante la configurazione](https://code.claude.com/docs/it/web-quickstart.md#new-sessions-hang-or-time-out-during-setup).447* **Completamento entro cinque minuti**: mantenere il tempo di esecuzione totale dello script sotto circa cinque minuti in modo che la [cache dell'ambiente](#environment-caching) possa essere costruita. Quando la configurazione richiede più tempo di quello, l'ambiente non viene memorizzato nella cache. Eseguire le installazioni indipendenti in parallelo con `&` e `wait`, e spostare qualsiasi singolo download che non rientra in un [hook SessionStart](#setup-scripts-vs-sessionstart-hooks) che lo avvia in background. Se le nuove sessioni si bloccano o si interrompono durante la configurazione, vedere [Le nuove sessioni si bloccano o scadono durante la configurazione](https://code.claude.com/docs/it/web-quickstart.md#new-sessions-hang-or-time-out-during-setup).

450* **Accesso di rete per le installazioni**: le installazioni di pacchetti devono raggiungere i registri. Il livello **Trusted** predefinito copre i [domini consentiti comuni](#default-allowed-domains) inclusi npm, PyPI, RubyGems e crates.io; con accesso di rete **None**, le installazioni non riescono.448* **Accesso di rete per le installazioni**: le installazioni di pacchetti devono raggiungere i registri. Il livello **Trusted** predefinito copre i [domini consentiti comuni](#default-allowed-domains) inclusi npm, PyPI, RubyGems e crates.io; con accesso di rete **None**, le installazioni non riescono.

451* **Le variabili dell'ambiente non sono ancora impostate**: lo script viene eseguito prima che la sessione imposti le [variabili d'ambiente](#set-environment-variables) dell'ambiente. Imposta nello script stesso qualsiasi valore di cui lo script ha bisogno.449* **Le variabili dell'ambiente non sono ancora impostate**: lo script viene eseguito prima che la sessione imposti le [variabili d'ambiente](#set-environment-variables) dell'ambiente. Imposta nello script stesso qualsiasi valore di cui lo script ha bisogno.

Details

25 25 

26## Usa REVIEW\.md per le regole specifiche della revisione26## Usa REVIEW\.md per le regole specifiche della revisione

27 27 

28`REVIEW.md` è un file nella root del tuo repository che adatta Code Review al tuo repository. Puoi anche aggiungere un `REVIEW.md` in una sottodirectory per aggiungere controlli sulle modifiche in quel percorso, in aggiunta al file root.28`REVIEW.md` è un file nella root del tuo repository che adatta Code Review al tuo repository. Su un [branch protetto](#what-a-review-reads-for-each-branch-setup), puoi anche aggiungere un `REVIEW.md` nella [maggior parte delle sottodirectory](#when-a-subdirectory-review-md-doesnt-apply) per aggiungere controlli sulle modifiche in quella sottodirectory, in aggiunta al file root.

29 29 

30Gli agenti che individuano i problemi e gli agenti che li verificano ricevono il suo contenuto come istruzioni di revisione del tuo repository, insieme alle indicazioni di revisione predefinite di Code Review. Il passaggio che scrive la revisione finale lo consulta prima di stabilire la gravità e scrivere il riepilogo.30Gli agenti che individuano i problemi e gli agenti che li verificano ricevono il suo contenuto come istruzioni di revisione del tuo repository, insieme alle indicazioni di revisione predefinite di Code Review. Il passaggio che scrive la revisione finale lo consulta prima di stabilire la gravità e scrivere il riepilogo.

31 31 


46>46>

47> Il servizio Code Review e il [comando `/code-review`](https://code.claude.com/docs/it/code-review-local) locale sono due strumenti separati e leggono file diversi. Il servizio legge sia `CLAUDE.md` sia `REVIEW.md`. Il comando `/code-review`, che esegui all'interno di una sessione di Claude Code sulla tua macchina, legge i tuoi file `CLAUDE.md` e non `REVIEW.md`. Inserisci in `CLAUDE.md` le indicazioni che vuoi applicare in entrambi i contesti e riserva `REVIEW.md` alle regole specifiche della revisione delle pull request.47> Il servizio Code Review e il [comando `/code-review`](https://code.claude.com/docs/it/code-review-local) locale sono due strumenti separati e leggono file diversi. Il servizio legge sia `CLAUDE.md` sia `REVIEW.md`. Il comando `/code-review`, che esegui all'interno di una sessione di Claude Code sulla tua macchina, legge i tuoi file `CLAUDE.md` e non `REVIEW.md`. Inserisci in `CLAUDE.md` le indicazioni che vuoi applicare in entrambi i contesti e riserva `REVIEW.md` alle regole specifiche della revisione delle pull request.

48 48 

49### Quando un REVIEW\.md in una sottodirectory non si applica

50 

51Code Review non applica un `REVIEW.md` all'interno o al di sotto di una sottodirectory con uno di questi nomi, qualunque sia il contenuto della sottodirectory. Il nome di una sottodirectory corrisponde solo se è identico per intero, con qualsiasi combinazione di maiuscole e minuscole e a qualsiasi profondità, quindi `Tests` corrisponde e `integration-tests` no:

52 

53* **Test**: `test`, `tests`, `__tests__`, `testdata`, `fixtures`, `__fixtures__`, `golden`, `corpus`, `snapshots`, `__snapshots__`

54* **Esempi**: `example`, `examples`, `sample`, `samples`, `demo`, `demos`

55* **Codice generato**: `generated`

56* **Codice di terze parti**: `vendor`, `third_party`, `third-party`, `thirdparty`, `node_modules`, `bower_components`, `external`, `extern`, `deps`, `godeps`, `pods`, `carthage`, `site-packages`, `contrib`

57 

58Inserisci i controlli per queste sottodirectory nel `REVIEW.md` root, oppure nel `REVIEW.md` di una sottodirectory padre quando né quella sottodirectory padre né nessuna directory al di sopra di essa compare nell'elenco.

59 

60I restanti file `REVIEW.md` delle sottodirectory nei percorsi modificati da una pull request condividono un limite di 150.000 byte, senza contare il file root. Se il [check run](https://code.claude.com/docs/it/code-review-pull-requests.md#check-run-output) segnala che alcuni di essi non sono rientrati, accorcia i file per rispettare quel limite.

61 

49### Esempio di REVIEW\.md62### Esempio di REVIEW\.md

50 63 

51Questo `REVIEW.md` ricalibra la gravità per un servizio backend, limita i nit, salta i file generati e aggiunge controlli specifici del repository.64Questo `REVIEW.md` ricalibra la gravità per un servizio backend, limita i nit, salta i file generati e aggiunge controlli specifici del repository.


217 230 

218| Protezione del branch | Copia letta | File letti |231| Protezione del branch | Copia letta | File letti |

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

220| Il branch predefinito è protetto e la pull request punta a esso o a un branch non protetto da alcun ruleset | Branch predefinito | File root, i file che include e i file delle sottodirectory |233| Il branch predefinito è protetto e la pull request punta a esso o a un branch non protetto da alcun ruleset | Branch predefinito | File root, i file che include e la [maggior parte dei file delle sottodirectory](#when-a-subdirectory-review-md-doesnt-apply) |

221| La pull request punta a un altro branch protetto da un ruleset | Quel branch di base | File root, i file che include e i file delle sottodirectory |234| La pull request punta a un altro branch protetto da un ruleset | Quel branch di base | File root, i file che include e la [maggior parte dei file delle sottodirectory](#when-a-subdirectory-review-md-doesnt-apply) |

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

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

224 237 

Details

4 4 

5# Testare app iOS nel simulatore5# Testare app iOS nel simulatore

6 6 

7> Claude Code Desktop apre la tua app nel riquadro iOS Simulator quando Claude la compila, esegue o la verifica, con un simulatore separato per ogni sessione.7> Claude Code Desktop apre la tua app nel riquadro iOS Simulator quando Claude la compila, esegue o la verifica.

8 8 

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

10>10>


63 63 

64Quando l'app viene avviata in un simulatore, il riquadro iOS Simulator si apre accanto alla conversazione. La prima volta che Claude utilizza un dispositivo, l'app desktop ti chiede di consentirlo; vedi [Concedi a Claude l'accesso a un dispositivo](#grant-claude-access-to-a-device). Claude installa l'app, la naviga, e legge lo schermo per verificare i propri cambiamenti mentre tu osservi.64Quando l'app viene avviata in un simulatore, il riquadro iOS Simulator si apre accanto alla conversazione. La prima volta che Claude utilizza un dispositivo, l'app desktop ti chiede di consentirlo; vedi [Concedi a Claude l'accesso a un dispositivo](#grant-claude-access-to-a-device). Claude installa l'app, la naviga, e legge lo schermo per verificare i propri cambiamenti mentre tu osservi.

65 65 

66Il riquadro del simulatore si apre ogni volta che Claude avvia l'app in un simulatore, in qualsiasi momento della sessione. Quando la tua richiesta riguarda la visualizzazione dell'app, ad esempio "il nuovo schermo sembra giusto?", Claude avvia un simulatore prima di iniziare il lavoro. Dopo che Claude corregge un bug o cambia uno schermo, chiedigli di verificare il cambiamento: riavviare l'app riaprirà il riquadro se non è aperto.66Quando la tua richiesta riguarda la visualizzazione dell'app, ad esempio "il nuovo schermo sembra giusto?", Claude avvia un simulatore prima di iniziare il lavoro. Dopo che Claude corregge un bug o cambia uno schermo, chiedigli di verificare il cambiamento.

67 67 

68Il riquadro del simulatore mostra il dispositivo in cui l'app è effettivamente stata avviata. Per testare su un dispositivo specifico, nominalo nella tua richiesta, ad esempio "eseguilo sul simulatore iPhone SE", e Claude indirizza quel dispositivo quando compila e avvia.68Il riquadro del simulatore mostra il dispositivo in cui l'app è effettivamente stata avviata. Per testare su un dispositivo specifico, nominalo nella tua richiesta, ad esempio "eseguilo sul simulatore iPhone SE", e Claude indirizza quel dispositivo quando compila e avvia.

69 69 


86 86 

87Tu e Claude controllate lo stesso dispositivo, quindi i tuoi tocchi cambiano lo stato dell'app che Claude vede. Per fare in modo che Claude verifichi uno schermo specifico, navigaci toccando, quindi chiedi. Mentre Claude controlla il dispositivo, il riquadro mostra un badge **Claude is using this device** sopra lo schermo; aspetta che il badge scompaia prima di toccare, in modo che il risultato rifletta l'app piuttosto che il tuo input.87Tu e Claude controllate lo stesso dispositivo, quindi i tuoi tocchi cambiano lo stato dell'app che Claude vede. Per fare in modo che Claude verifichi uno schermo specifico, navigaci toccando, quindi chiedi. Mentre Claude controlla il dispositivo, il riquadro mostra un badge **Claude is using this device** sopra lo schermo; aspetta che il badge scompaia prima di toccare, in modo che il risultato rifletta l'app piuttosto che il tuo input.

88 88 

89### Riduci a icona o chiudi il riquadro del simulatore

90 

91Puoi ridurre a icona o chiudere il riquadro del simulatore, e Claude può comunque usare il dispositivo in entrambi i casi.

92 

93* Se riduci a icona il riquadro, il dispositivo rimane visibile in dimensioni ridotte. Per ridurre a icona il riquadro o espanderlo di nuovo, consulta [Ridurre a icona un riquadro](https://code.claude.com/docs/it/desktop.md#minimize-a-pane).

94* Se chiudi il riquadro a dimensione piena o ridotto a icona, il dispositivo rimane collegato e in esecuzione. Per mostrare di nuovo il dispositivo, fai clic su **iOS Simulator** nella barra del titolo della sessione.

95 

89## Come le sessioni gestiscono i dispositivi96## Come le sessioni gestiscono i dispositivi

90 97 

91Ogni dispositivo appartiene alla sessione che lo ha avviato, quindi le [sessioni parallele](https://code.claude.com/docs/it/desktop.md#work-in-parallel-with-sessions) non condividono un dispositivo: quello che vedi nel riquadro di una sessione riflette il lavoro di quella sessione, non di un'altra. Cambiare sessioni nella barra laterale cambia la visualizzazione del simulatore insieme alla conversazione, e tornare indietro riprende lo stesso dispositivo da dove era rimasto. Se Claude lavora con più di un dispositivo, ognuno apre il proprio riquadro, fino a 4 per sessione.98Se il tuo prompt non indica un simulatore, Claude ne usa uno già in esecuzione, anche se lo ha aperto un'altra [sessione parallela](https://code.claude.com/docs/it/desktop.md#work-in-parallel-with-sessions). Per assegnare a ogni sessione il proprio simulatore, indicane uno diverso nel prompt di ciascuna sessione.

92 99 

93Claude Code Desktop spegne i simulatori che ha avviato una volta che non sono più in uso: quando esci dall'app, quando archivi la sessione, o 10 minuti dopo aver scollegato un dispositivo dal suo riquadro. I dispositivi che avvii al di fuori di Claude Code Desktop, come nell'app Simulator di Apple o in Device Hub, non vengono mai spenti automaticamente. Per spegnere il dispositivo collegato subito, usa il pulsante di spegnimento nel riquadro.100Claude Code Desktop spegne i simulatori che ha avviato una volta che non sono più in uso: quando esci dall'app, quando archivi la sessione, o 10 minuti dopo aver scollegato un dispositivo dal suo riquadro. I dispositivi che avvii al di fuori di Claude Code Desktop, come nell'app Simulator di Apple o in Device Hub, non vengono mai spenti automaticamente. Per spegnere il dispositivo collegato subito, usa il pulsante di spegnimento nel riquadro.

94 101 


102 109 

103Dopo aver consentito un dispositivo, le azioni di Claude su di esso, come toccare, digitare e acquisire screenshot, vengono eseguite senza richieste di conferma, ma approvi l'avvio dell'app come richiesto dalla tua [modalità di permesso](#actions-that-follow-your-permission-mode). Hanno la stessa fiducia di quando fai clic nel riquadro, e toccano solo il dispositivo simulato, quindi il riquadro non ha bisogno dei permessi macOS Accessibility e Screen Recording che il computer use richiede.110Dopo aver consentito un dispositivo, le azioni di Claude su di esso, come toccare, digitare e acquisire screenshot, vengono eseguite senza richieste di conferma, ma approvi l'avvio dell'app come richiesto dalla tua [modalità di permesso](#actions-that-follow-your-permission-mode). Hanno la stessa fiducia di quando fai clic nel riquadro, e toccano solo il dispositivo simulato, quindi il riquadro non ha bisogno dei permessi macOS Accessibility e Screen Recording che il computer use richiede.

104 111 

105Se rifiuti, il dispositivo viene comunque avviato e il riquadro funziona ancora per i tuoi tocchi; solo l'accesso di Claude rimane disattivato. Per cambiare idea in seguito, fai clic su **Let Claude use it** nel riquadro.112Se rifiuti la richiesta di Claude, il dispositivo non viene collegato e Desktop non lo avvia. Per usare il dispositivo tu stesso:

113 

1141. Fai clic su **Attach simulator** nel riquadro.

1152. Fai clic su **Continue** nella schermata dei permessi.

1163. Fai clic su **Cancel** nella finestra di dialogo successiva.

117 

118Il dispositivo viene collegato e funziona per i tuoi tocchi, mentre l'accesso di Claude rimane disattivato. Successivamente, per concedere l'accesso a Claude, fai clic su **Let Claude use it** nel riquadro.

106 119 

107### Azioni che seguono la tua modalità di autorizzazione120### Azioni che seguono la tua modalità di autorizzazione

108 121 


110 123 

111* Aprire un URL sul dispositivo, ad esempio per testare un deep link o caricare una pagina nel Safari del dispositivo, perché un URL può portare dati fuori dal dispositivo.124* Aprire un URL sul dispositivo, ad esempio per testare un deep link o caricare una pagina nel Safari del dispositivo, perché un URL può portare dati fuori dal dispositivo.

112* Compilare l'app, perché `xcodebuild` esegue gli script di compilazione del tuo progetto sul tuo Mac. Controllare una compilazione già in corso non genera un prompt.125* Compilare l'app, perché `xcodebuild` esegue gli script di compilazione del tuo progetto sul tuo Mac. Controllare una compilazione già in corso non genera un prompt.

113* Installare e avviare l'app, perché Claude può eseguire qualsiasi app indichi, non solo quella che stai sviluppando.126* Installare e avviare l'app, perché Claude può eseguire qualsiasi app a sua scelta, non solo quella che stai sviluppando.

114 127 

115### Disattiva l'accesso al simulatore128### Disattiva l'accesso al simulatore

116 129 

Details

53gpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.asc53gpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.asc

54```54```

55 55 

56L'impronta digitale che gpg stampa dovrebbe essere `31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE`. Se gpg segnala che il file non può essere aperto o non contiene dati OpenPGP validi, il download non è riuscito o ha restituito il contenuto sbagliato: conferma che la tua rete possa raggiungere `downloads.claude.ai`, quindi esegui di nuovo il comando di download.56L'unica impronta digitale che gpg stampa dovrebbe essere `31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE`. Se gpg segnala che il file non può essere aperto o non contiene dati OpenPGP validi, il download non è riuscito o ha restituito il contenuto sbagliato. Conferma che la tua rete possa raggiungere `downloads.claude.ai`, quindi esegui di nuovo il comando di download.

57 57 

58Registra il repository:58Registra il repository:

59 59 

Details

160 160 

161## Autorizzazioni per le attività pianificate161## Autorizzazioni per le attività pianificate

162 162 

163Ogni attività ha la sua propria modalità di permesso, che imposti quando crei o modifichi l'attività. Le regole allow da `~/.claude/settings.json` si applicano anche alle sessioni di attività pianificate. Se un'attività viene eseguita in [modalità manuale](https://code.claude.com/docs/it/desktop.md#choose-a-permission-mode) e ha bisogno di eseguire uno strumento per il quale non ha il permesso, l'esecuzione si blocca fino a quando non la approvi. Per approvarla, [trova la sessione dell'esecuzione](#find-a-runs-session) e rispondi lì alla richiesta di permesso.163Ogni attività ha la sua propria [modalità di permesso](https://code.claude.com/docs/it/desktop.md#choose-a-permission-mode), che imposti quando crei o modifichi l'attività. Le regole allow da `~/.claude/settings.json` si applicano anche alle sessioni di attività pianificate. Quando un'esecuzione è bloccata su una richiesta di permesso, [trova la sessione dell'esecuzione](#find-a-runs-session) e rispondi lì alla richiesta.

164 164 

165Per evitare blocchi, fai clic su **Run now** dopo aver creato un'attività, guarda i prompt di autorizzazione e seleziona "always allow" per ognuno. Le esecuzioni future di quell'attività approvano automaticamente gli stessi strumenti senza chiedere. Puoi rivedere e revocare queste approvazioni dalla pagina dei dettagli dell'attività.165Per evitare blocchi, fai clic su **Run now** dopo aver creato un'attività, fai attenzione alle richieste di permesso e seleziona "always allow" per ognuna. Le esecuzioni future saltano la maggior parte di queste richieste. Puoi rivedere e revocare queste approvazioni dalla pagina dei dettagli dell'attività. Se selezioni "always allow" per una modifica di file nella cartella dell'attività, solo quella sessione passa a **Accept edits**, quindi imposta la modalità di permesso dell'attività su **Accept edits**.

166 166 

167Gli strumenti MCP contrassegnati [`requiresUserInteraction`](https://code.claude.com/docs/it/mcp#require-approval-for-a-specific-tool) richiedono un prompt ad ogni chiamata e non offrono un'opzione "always allow". Le esecuzioni che chiamano questi strumenti si bloccano ogni volta.167Gli strumenti MCP contrassegnati [`requiresUserInteraction`](https://code.claude.com/docs/it/mcp#require-approval-for-a-specific-tool) richiedono un prompt ad ogni chiamata e non offrono un'opzione "always allow". Le esecuzioni che chiamano questi strumenti si bloccano ogni volta.

168 168 


179 179 

180Puoi anche elencare, creare, modificare e mettere in pausa le attività chiedendo a Claude in qualsiasi sessione Desktop. Ad esempio, "pausa la mia attività dependency-audit" o "mostrami le mie attività pianificate." Per eliminare un'attività, usa il pulsante **Delete** sulla sua pagina di dettaglio.180Puoi anche elencare, creare, modificare e mettere in pausa le attività chiedendo a Claude in qualsiasi sessione Desktop. Ad esempio, "pausa la mia attività dependency-audit" o "mostrami le mie attività pianificate." Per eliminare un'attività, usa il pulsante **Delete** sulla sua pagina di dettaglio.

181 181 

182Un'attività pianificata può anche modificare la sua propria pianificazione o prompt da una sessione in esecuzione utilizzando lo strumento MCP `update_scheduled_task`. Questo consente a un'attività di ripianificarsi in base a ciò che trova, ad esempio, ripianificando una revisione del codice per essere eseguita prima quando rileva che è stato creato un ramo di rilascio.182Per consentire a un'attività di modificare la propria pianificazione o il proprio prompt con lo strumento MCP `update_scheduled_task`, fai clic su **Run now** e approva la chiamata ogni volta.

183 183 

184Per modificare il prompt di un'attività su disco, apri `~/.claude/scheduled-tasks/<task-name>/SKILL.md` (o sotto [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/it/env-vars) se impostato). Il file utilizza frontmatter YAML per `name` e `description`, con il prompt come corpo. Le modifiche hanno effetto alla prossima esecuzione. La pianificazione, la cartella, il modello e lo stato abilitato non sono in questo file: modificali tramite il modulo Edit o chiedi a Claude.184Per modificare il prompt di un'attività su disco, apri `~/.claude/scheduled-tasks/<task-name>/SKILL.md` (o sotto [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/it/env-vars) se impostato). Il file utilizza frontmatter YAML per `name` e `description`, con il prompt come corpo. Le modifiche hanno effetto alla prossima esecuzione. La pianificazione, la cartella, il modello e lo stato abilitato non sono in questo file: modificali tramite il modulo Edit o chiedi a Claude.

185 185 

env-vars.md +5 −3

Details

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

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

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

224| `CLAUDE_CODE_CONFIG_LOCK_WAIT_MS` | Millisecondi durante i quali un comando che aggiunge o rimuove un server MCP con ambito `user` o `local`, come `claude mcp add`, continua a tentare di ottenere il lock su `~/.claude.json` prima di [fallire](https://code.claude.com/docs/it/errors.md#mcp-server-was-not-saved-or-removed). Se non è impostata, il comando attende da circa 10 a 20 secondi, e un valore più breve non cambia nulla. Richiede Claude Code v2.1.318 o successivo |

224| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Rimossa nella v2.1.186 e ora non ha alcun effetto. In precedenza impostava un timeout separato per la fase di connessione, TLS e header della risposta di una richiesta API in streaming. Usa invece `API_TIMEOUT_MS`. Per la fase degli header della risposta di una richiesta in streaming, consulta `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |225| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Rimossa nella v2.1.186 e ora non ha alcun effetto. In precedenza impostava un timeout separato per la fase di connessione, TLS e header della risposta di una richiesta API in streaming. Usa invece `API_TIMEOUT_MS`. Per la fase degli header della risposta di una richiesta in streaming, consulta `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

225| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Sovrascrive il percorso del file di log di debug. Nonostante il nome, si tratta di un percorso di file, non di una directory. Richiede che la modalità debug sia attivata separatamente tramite `--debug`, `/debug` o la variabile d'ambiente `DEBUG`: impostare solo questa variabile non attiva il logging. Il flag [`--debug-file`](https://code.claude.com/docs/it/cli-reference#cli-flags) fa entrambe le cose insieme. Il valore predefinito è `~/.claude/debug/<session-id>.txt` |226| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Sovrascrive il percorso del file di log di debug. Nonostante il nome, si tratta di un percorso di file, non di una directory. Richiede che la modalità debug sia attivata separatamente tramite `--debug`, `/debug` o la variabile d'ambiente `DEBUG`: impostare solo questa variabile non attiva il logging. Il flag [`--debug-file`](https://code.claude.com/docs/it/cli-reference#cli-flags) fa entrambe le cose insieme. Il valore predefinito è `~/.claude/debug/<session-id>.txt` |

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


277| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Imposta su `1` per disattivare lo strumento [WebFetch](https://code.claude.com/docs/it/tools-reference.md#webfetch-tool-behavior). Lo strumento [WebSearch](https://code.claude.com/docs/it/tools-reference.md#websearch-tool-behavior) resta disponibile. Richiede Claude Code v2.1.285 o versioni successive |278| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Imposta su `1` per disattivare lo strumento [WebFetch](https://code.claude.com/docs/it/tools-reference.md#webfetch-tool-behavior). Lo strumento [WebSearch](https://code.claude.com/docs/it/tools-reference.md#websearch-tool-behavior) resta disponibile. Richiede Claude Code v2.1.285 o versioni successive |

278| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Imposta su `1` per avviare i comandi dello [strumento PowerShell](https://code.claude.com/docs/it/tools-reference.md#powershell-tool) su Windows direttamente invece che tramite il launcher `cmd.exe`. Per impostazione predefinita, il launcher consente a un comando PowerShell [in esecuzione in background](https://code.claude.com/docs/it/tools-reference.md#background-commands) di [passare al processo successivo della sessione](https://code.claude.com/docs/it/agent-view.md#the-supervisor-process), ad esempio quando [sposti la sessione in background](https://code.claude.com/docs/it/agent-view.md#from-inside-a-session). Se imposti la variabile, un comando PowerShell in background si arresta quando il processo della sessione termina. I comandi Bash non sono interessati. Richiede Claude Code v2.1.269 o versioni successive |279| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Imposta su `1` per avviare i comandi dello [strumento PowerShell](https://code.claude.com/docs/it/tools-reference.md#powershell-tool) su Windows direttamente invece che tramite il launcher `cmd.exe`. Per impostazione predefinita, il launcher consente a un comando PowerShell [in esecuzione in background](https://code.claude.com/docs/it/tools-reference.md#background-commands) di [passare al processo successivo della sessione](https://code.claude.com/docs/it/agent-view.md#the-supervisor-process), ad esempio quando [sposti la sessione in background](https://code.claude.com/docs/it/agent-view.md#from-inside-a-session). Se imposti la variabile, un comando PowerShell in background si arresta quando il processo della sessione termina. I comandi Bash non sono interessati. Richiede Claude Code v2.1.269 o versioni successive |

279| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Imposta su `1` per disattivare i [workflow](https://code.claude.com/docs/it/workflows.md#turn-workflows-off). Equivale all'impostazione [`disableWorkflows`](https://code.claude.com/docs/it/settings-reference#disableworkflows) |280| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Imposta su `1` per disattivare i [workflow](https://code.claude.com/docs/it/workflows.md#turn-workflows-off). Equivale all'impostazione [`disableWorkflows`](https://code.claude.com/docs/it/settings-reference#disableworkflows) |

281| `CLAUDE_CODE_DROP_UNAVAILABLE_DEFERRED_TOOL` | Imposta su `1` per scartare una [chiamata a uno strumento differita](https://code.claude.com/docs/it/hooks.md#resume-when-a-deferred-tool-is-unavailable) il cui strumento non è disponibile quando riprendi con `-p`. Senza questa variabile, la chiamata resta in sospeso e un prompt che invii non raggiunge Claude. Richiede Claude Code v2.1.319 o successivo |

280| `CLAUDE_CODE_EFFORT_LEVEL` | Imposta il livello di sforzo per i modelli supportati. Valori: `low`, `medium`, `high`, `xhigh` o `max`. I livelli disponibili dipendono dal modello. Ha la precedenza su `--effort`, `/effort` e sulle impostazioni `modelSettings` ed `effortLevel`. Un limite [`maxEffortLevel`](https://code.claude.com/docs/it/settings-reference#maxeffortlevel) si applica comunque. Impostala su `auto` o `unset` per fare in modo che Claude Code [non invii alcun livello di sforzo](https://code.claude.com/docs/it/model-config.md#send-no-effort-level), così che l'API applichi il proprio valore predefinito per il modello. Consulta [Regolare il livello di sforzo](https://code.claude.com/docs/it/model-config.md#adjust-effort-level) |282| `CLAUDE_CODE_EFFORT_LEVEL` | Imposta il livello di sforzo per i modelli supportati. Valori: `low`, `medium`, `high`, `xhigh` o `max`. I livelli disponibili dipendono dal modello. Ha la precedenza su `--effort`, `/effort` e sulle impostazioni `modelSettings` ed `effortLevel`. Un limite [`maxEffortLevel`](https://code.claude.com/docs/it/settings-reference#maxeffortlevel) si applica comunque. Impostala su `auto` o `unset` per fare in modo che Claude Code [non invii alcun livello di sforzo](https://code.claude.com/docs/it/model-config.md#send-no-effort-level), così che l'API applichi il proprio valore predefinito per il modello. Consulta [Regolare il livello di sforzo](https://code.claude.com/docs/it/model-config.md#adjust-effort-level) |

281| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Imposta su `1` per aggiungere al flusso di messaggi i messaggi [`session_state_changed`](https://code.claude.com/docs/it/agent-sdk/typescript#sdksessionstatechangedmessage), che riportano lo stato della sessione. Richiede l'[Agent SDK](https://code.claude.com/docs/it/agent-sdk/overview.md) oppure `--print`, `--output-format stream-json` e `--verbose` |283| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Imposta su `1` per aggiungere al flusso di messaggi i messaggi [`session_state_changed`](https://code.claude.com/docs/it/agent-sdk/typescript#sdksessionstatechangedmessage), che riportano lo stato della sessione. Richiede l'[Agent SDK](https://code.claude.com/docs/it/agent-sdk/overview.md) oppure `--print`, `--output-format stream-json` e `--verbose` |

282| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Accettata per compatibilità con le versioni precedenti e non ha alcun effetto. La modalità auto è disponibile per impostazione predefinita su ogni provider, inclusi Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e le sessioni [Claude apps gateway](https://code.claude.com/docs/it/claude-apps-gateway) con accesso effettuato. Dalla v2.1.158 alla v2.1.206, impostarla su `1` era necessario per rendere disponibile la [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode) su quei provider |284| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Accettata per compatibilità con le versioni precedenti e non ha alcun effetto. La modalità auto è disponibile per impostazione predefinita su ogni provider, inclusi Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry e le sessioni [Claude apps gateway](https://code.claude.com/docs/it/claude-apps-gateway) con accesso effettuato. Dalla v2.1.158 alla v2.1.206, impostarla su `1` era necessario per rendere disponibile la [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode) su quei provider |


295| `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` | Imposta su `1` per [eseguire comandi `rm` pericolosi senza alcuna richiesta di conferma](https://code.claude.com/docs/it/permission-modes#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode) in modalità `bypassPermissions`, il che rimuove una richiesta di conferma di sicurezza per le eliminazioni distruttive. La sezione collegata elenca i casi in cui non ha effetto. [Impostala nell'ambiente che avvia Claude Code](#set-variables-in-your-shell), perché Claude Code [la ignora in un blocco `env` delle impostazioni](https://code.claude.com/docs/it/settings-reference#variables-claude-code-ignores-in-env). Richiede Claude Code v2.1.311 o successivo |297| `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` | Imposta su `1` per [eseguire comandi `rm` pericolosi senza alcuna richiesta di conferma](https://code.claude.com/docs/it/permission-modes#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode) in modalità `bypassPermissions`, il che rimuove una richiesta di conferma di sicurezza per le eliminazioni distruttive. La sezione collegata elenca i casi in cui non ha effetto. [Impostala nell'ambiente che avvia Claude Code](#set-variables-in-your-shell), perché Claude Code [la ignora in un blocco `env` delle impostazioni](https://code.claude.com/docs/it/settings-reference#variables-claude-code-ignores-in-env). Richiede Claude Code v2.1.311 o successivo |

296| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo in millisecondi da attendere, dopo che il ciclo di query diventa inattivo, prima di uscire automaticamente. Utile per workflow automatizzati e script che usano la modalità SDK |298| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Tempo in millisecondi da attendere, dopo che il ciclo di query diventa inattivo, prima di uscire automaticamente. Utile per workflow automatizzati e script che usano la modalità SDK |

297| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Imposta su `1` per abilitare i [team di agenti](https://code.claude.com/docs/it/agent-teams.md). I team di agenti sono sperimentali e disabilitati per impostazione predefinita |299| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Imposta su `1` per abilitare i [team di agenti](https://code.claude.com/docs/it/agent-teams.md). I team di agenti sono sperimentali e disabilitati per impostazione predefinita |

298| `CLAUDE_CODE_EXTRA_BODY` | Oggetto JSON di cui fare il merge nel livello superiore del corpo di ogni richiesta API. Utile per passare parametri specifici del provider che Claude Code non espone direttamente. Un valore esportato nella tua shell si applica anche alle [sessioni in background](https://code.claude.com/docs/it/agent-view.md) che avvii con `claude agents` o `--bg`. Prima della v2.1.206, le sessioni in background ignoravano un valore esportato dalla shell e usavano la copia ereditata dal processo supervisore in background |300| `CLAUDE_CODE_EXTRA_BODY` | Oggetto JSON da unire al livello superiore dei body delle richieste al modello, tranne che in alcune richieste esterne alla conversazione, come i controlli di `/model`. Utile per passare parametri specifici del provider che Claude Code non espone direttamente. Un valore esportato nella tua shell si applica anche alle [sessioni in background](https://code.claude.com/docs/it/agent-view.md) che avvii con `claude agents` o `--bg`. Prima della v2.1.206, le sessioni in background ignoravano un valore esportato nella shell e usavano la copia ereditata dal processo supervisore in background |

299| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sovrascrive il limite predefinito di token per le [letture di file](https://code.claude.com/docs/it/tools-reference.md#large-files), pari a 25.000 token. Utile quando devi leggere per intero file più grandi. Una lettura che Claude effettua con il parametro `allow_large` può superare questo limite quando la finestra di contesto ha spazio |301| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sovrascrive il limite predefinito di token per le [letture di file](https://code.claude.com/docs/it/tools-reference.md#large-files), pari a 25.000 token. Utile quando devi leggere per intero file più grandi. Una lettura che Claude effettua con il parametro `allow_large` può superare questo limite quando la finestra di contesto ha spazio |

300| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Imposta su `1` per forzare la persistenza delle trascrizioni, la cronologia dei prompt e la registrazione in `claude agents` anche quando questo `claude` è stato avviato dall'interno di un'altra sessione di Claude Code. Usala quando un valore ereditato di `CLAUDE_CODE_CHILD_SESSION`, ad esempio da una sessione `screen` o da un launcher in background avviato per la prima volta dallo strumento Bash di Claude Code, fa sì che una vera sessione di primo livello venga erroneamente classificata come annidata. A partire dalla v2.1.178, Claude Code rileva automaticamente il caso di tmux e ignora il marcatore ereditato, quindi tmux non ha più bisogno di questa variabile. Rispettata anche nella v2.1.169 e precedenti; non ha effetto nella v2.1.170 e nella v2.1.171, in cui il rilevamento delle sessioni annidate che sovrascrive era stato rimosso |302| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Imposta su `1` per forzare la persistenza delle trascrizioni, la cronologia dei prompt e la registrazione in `claude agents` anche quando questo `claude` è stato avviato dall'interno di un'altra sessione di Claude Code. Usala quando un valore ereditato di `CLAUDE_CODE_CHILD_SESSION`, ad esempio da una sessione `screen` o da un launcher in background avviato per la prima volta dallo strumento Bash di Claude Code, fa sì che una vera sessione di primo livello venga erroneamente classificata come annidata. A partire dalla v2.1.178, Claude Code rileva automaticamente il caso di tmux e ignora il marcatore ereditato, quindi tmux non ha più bisogno di questa variabile. Rispettata anche nella v2.1.169 e precedenti; non ha effetto nella v2.1.170 e nella v2.1.171, in cui il rilevamento delle sessioni annidate che sovrascrive era stato rimosso |

301| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Imposta su `1` per forzare il rendering barrato di `~~text~~` nelle risposte di Claude quando il tuo terminale lo supporta ma non viene rilevato automaticamente, ad esempio tramite SSH senza inoltrare `TERM_PROGRAM`. Senza questa variabile, i terminali non rilevati mostrano i marcatori `~~` letterali invece di visualizzare il testo barrato. Richiede Claude Code v2.1.186 o successiva |303| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Imposta su `1` per forzare il rendering barrato di `~~text~~` nelle risposte di Claude quando il tuo terminale lo supporta ma non viene rilevato automaticamente, ad esempio tramite SSH senza inoltrare `TERM_PROGRAM`. Senza questa variabile, i terminali non rilevati mostrano i marcatori `~~` letterali invece di visualizzare il testo barrato. Richiede Claude Code v2.1.186 o successiva |


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

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

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

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` |318| `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`. Le versioni di Claude Code precedenti alla v2.1.318 installano o aggiornano l'estensione anche quando avvii `claude` in un terminale di VS Code, Cursor o Devin Desktop. Questa variabile impedisce anche questo |

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

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

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


486| `MCP_DISCOVERY_CACHE_STRIKES` | A un avvio in cui una voce della [cache di individuazione](https://code.claude.com/docs/it/mcp.md#server-status-detail) è più vecchia di `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code la aggiorna in background. Questa variabile imposta quanti aggiornamenti consecutivi possono fallire prima che Claude Code scarti la voce e connetta invece il server all'avvio successivo (predefinito: 1). Aumentala se la tua connessione di rete cade occasionalmente, in modo che un singolo aggiornamento fallito non scarti la voce. Richiede Claude Code v2.1.238 o successive |488| `MCP_DISCOVERY_CACHE_STRIKES` | A un avvio in cui una voce della [cache di individuazione](https://code.claude.com/docs/it/mcp.md#server-status-detail) è più vecchia di `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code la aggiorna in background. Questa variabile imposta quanti aggiornamenti consecutivi possono fallire prima che Claude Code scarti la voce e connetta invece il server all'avvio successivo (predefinito: 1). Aumentala se la tua connessione di rete cade occasionalmente, in modo che un singolo aggiornamento fallito non scarti la voce. Richiede Claude Code v2.1.238 o successive |

487| `MCP_DISCOVERY_CACHE_TTL_S` | Secondi per cui Claude Code usa una voce della [cache di individuazione](https://code.claude.com/docs/it/mcp.md#server-status-detail) senza aggiornarla (predefinito: 900). A un avvio in cui la voce è più vecchia di così, Claude Code la usa comunque ma la aggiorna in background. Quando la voce è più vecchia di `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code invece la scarta. Claude Code limita il valore a `MCP_DISCOVERY_CACHE_MAX_STALE_S`, che per impostazione predefinita è 4 ore. Prima della v2.1.238, Claude Code non limitava il valore |489| `MCP_DISCOVERY_CACHE_TTL_S` | Secondi per cui Claude Code usa una voce della [cache di individuazione](https://code.claude.com/docs/it/mcp.md#server-status-detail) senza aggiornarla (predefinito: 900). A un avvio in cui la voce è più vecchia di così, Claude Code la usa comunque ma la aggiorna in background. Quando la voce è più vecchia di `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code invece la scarta. Claude Code limita il valore a `MCP_DISCOVERY_CACHE_MAX_STALE_S`, che per impostazione predefinita è 4 ore. Prima della v2.1.238, Claude Code non limitava il valore |

488| `MCP_OAUTH_CALLBACK_PORT` | Porta fissa per il callback di reindirizzamento OAuth, in alternativa a `--callback-port` quando si aggiunge un server MCP con [credenziali preconfigurate](https://code.claude.com/docs/it/mcp.md#use-pre-configured-oauth-credentials) |490| `MCP_OAUTH_CALLBACK_PORT` | Porta fissa per il callback di reindirizzamento OAuth, in alternativa a `--callback-port` quando si aggiunge un server MCP con [credenziali preconfigurate](https://code.claude.com/docs/it/mcp.md#use-pre-configured-oauth-credentials) |

489| `MCP_PROTOCOL_NEGOTIATION` | Solo sul [runtime client MCP v2](https://code.claude.com/docs/it/mcp.md#mcp-client-runtimes), controlla se Claude Code sonda i server per la revisione del protocollo MCP 2026-07-28. Imposta `legacy` per saltare la verifica, in modo che ogni server si connetta con l'handshake precedente a quella revisione. Imposta `auto` per sondare i tipi di server che supportano la verifica: server HTTP e stdio, connettori claude.ai e i connettori delle sessioni cloud e Remote Control. Con la variabile non impostata, Claude Code sonda quegli stessi tipi per impostazione predefinita; consulta [Runtime client MCP](https://code.claude.com/docs/it/mcp.md#mcp-client-runtimes). Qualsiasi altro valore viene ignorato con un avviso nel log di debug. Richiede Claude Code v2.1.221 o successiva |491| `MCP_PROTOCOL_NEGOTIATION` | Solo sul [runtime client MCP v2](https://code.claude.com/docs/it/mcp.md#mcp-client-runtimes), controlla se Claude Code sonda i server per la revisione 2026-07-28 del protocollo MCP. Imposta `legacy` per mantenere ogni server sull'handshake precedente, oppure `auto` per sondare i tipi di server che la supportano. Se non è impostata, Claude Code li sonda ma può [saltare alcuni server](https://code.claude.com/docs/it/mcp.md#mcp-client-runtimes). Qualsiasi altro valore viene ignorato con un avviso nel log di debug. Richiede Claude Code v2.1.221 o successivo |

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

491| `MCP_SDK_GENERATION` | Fissa il [runtime client MCP](https://code.claude.com/docs/it/mcp.md#mcp-client-runtimes) con cui questo processo si connette ai server MCP: `v1`, basato su MCP TypeScript SDK 1.x, oppure `v2`, basato su [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Senza la variabile, Claude Code usa v2, a partire dalle versioni elencate in quella sezione. Su Claude Code v2.1.221 o successive, il runtime v2 verifica l'issuer che un server OAuth MCP restituisce nella sua risposta di autorizzazione e, quando non corrisponde, fa fallire l'accesso con un errore che inizia con `Issuer mismatch in authorization response`. Il runtime v1 non esegue questo controllo. Se imposti un valore non riconosciuto, Claude Code lo ignora e scrive un avviso nel log di debug. Claude Code legge il valore una volta per processo. Richiede Claude Code v2.1.218 o successive |493| `MCP_SDK_GENERATION` | Fissa il [runtime client MCP](https://code.claude.com/docs/it/mcp.md#mcp-client-runtimes) con cui questo processo si connette ai server MCP: `v1`, basato su MCP TypeScript SDK 1.x, oppure `v2`, basato su [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Senza la variabile, Claude Code usa v2, a partire dalle versioni elencate in quella sezione. Su Claude Code v2.1.221 o successive, il runtime v2 verifica l'issuer che un server OAuth MCP restituisce nella sua risposta di autorizzazione e, quando non corrisponde, fa fallire l'accesso con un errore che inizia con `Issuer mismatch in authorization response`. Il runtime v1 non esegue questo controllo. Se imposti un valore non riconosciuto, Claude Code lo ignora e scrive un avviso nel log di debug. Claude Code legge il valore una volta per processo. Richiede Claude Code v2.1.218 o successive |

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

errors.md +26 −16

Details

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

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

63| `Your apiKeyHelper script is failing` | [Autenticazione](#your-apikeyhelper-script-is-failing) |63| `Your apiKeyHelper script is failing` | [Autenticazione](#your-apikeyhelper-script-is-failing) |

64| `Claude Code didn't send your claude.ai login, because the API key helper your administrator set isn't in effect` | [Autenticazione](#claude-code-didnt-send-your-claude-ai-login) |64| `Your organization's settings need an update` | [Autenticazione](#claude-code-didnt-send-your-claude-ai-login) |

65| `Couldn't load your organization's settings. Check your connection` | [Autenticazione](#claude-code-didnt-send-your-claude-ai-login) |

66| `Restart Claude Code to finish signing in` | [Autenticazione](#claude-code-didnt-send-your-claude-ai-login) |

65| `Invalid auth token · Fix external auth token` | [Autenticazione](#invalid-request-header-value) |67| `Invalid auth token · Fix external auth token` | [Autenticazione](#invalid-request-header-value) |

66| `Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable` | [Autenticazione](#invalid-request-header-value) |68| `Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable` | [Autenticazione](#invalid-request-header-value) |

67| `Invalid request header from the environment · Fix the environment variable` | [Autenticazione](#invalid-request-header-value) |69| `Invalid request header from the environment · Fix the environment variable` | [Autenticazione](#invalid-request-header-value) |


1117 1119 

1118### Claude Code didn't send your claude.ai login1120### Claude Code didn't send your claude.ai login

1119 1121 

1120Invia questo messaggio completo al tuo amministratore. Elenca le modifiche che può apportare. Il messaggio significa che Claude Code ha rifiutato il tuo prompt. Finché usi il tuo accesso claude.ai, Claude Code continua a rifiutare i prompt, anche dopo un riavvio:1122Questi messaggi indicano che Claude Code ha rifiutato la tua richiesta e non ha inviato il tuo accesso claude.ai:

1121 1123 

1122```text theme={null}1124```text theme={null}

1123Claude Code didn't send your claude.ai login, because the API key helper your administrator set isn't in effect. Your organization's managed settings may be overriding it. Ask your administrator to keep the key helper and its API address in effect, to name Anthropic's API address in those managed settings, or to remove the key helper. Run /status to see your setting sources.1125Your organization's settings need an update. Ask your administrator to fix the API key helper configuration.

1126Couldn't load your organization's settings. Check your connection, then restart Claude Code.

1127Restart Claude Code to finish signing in.

1124```1128```

1125 1129 

1126**Cosa fare:**1130**Cosa fare:**

1127 1131 

1128* Per comunicare al tuo amministratore quali fonti gestite ha la tua macchina, esegui `/status` al prompt di Claude Code e copia la [riga `Setting sources`](https://code.claude.com/docs/it/managed-settings#read-the-source-in-/status). Se compare una riga `Skipped sources`, copia anche quella1132* `Your organization's settings need an update`: chiedi al tuo amministratore di correggere la configurazione dell'helper della chiave API

1129* Se sei tu ad amministrare le impostazioni, consulta [perché il key helper della macchina non è in vigore](https://code.claude.com/docs/it/server-managed-settings.md#machine-apikeyhelper-not-in-effect)1133 * Per comunicare al tuo amministratore quali fonti gestite sono presenti sulla tua macchina, esegui `/status` al prompt di Claude Code e copia la [riga `Setting sources`](https://code.claude.com/docs/it/managed-settings#read-the-source-in-/status). Se compare una riga `Skipped sources`, copia anche quella

1134 * Se amministri le impostazioni e l'helper si trova nel file di impostazioni gestite o nel criterio MDM di una macchina, consulta [Quando l'`apiKeyHelper` di una macchina non è in vigore](https://code.claude.com/docs/it/server-managed-settings#machine-apikeyhelper-not-in-effect)

1135* `Couldn't load your organization's settings`: controlla la connessione, quindi riavvia Claude Code. Se il messaggio ricompare dopo un riavvio, informa il tuo amministratore

1136* `Restart Claude Code to finish signing in`: riavvia Claude Code

1137 

1138Prima della v2.1.315, un prompt o un caricamento di file rifiutato stampava un unico messaggio che iniziava con `Claude Code didn't send your claude.ai login`.

1130 1139 

1131### Invalid request header value1140### Invalid request header value

1132 1141 


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

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

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

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`.3434* **``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 considerarla attendibile per questa esecuzione, metti il numero di PR o il branch di base prima del flag: `claude ultrareview 1234 --trust-workspace`.

3426 3435 

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

3428 3437 


3554 3563 

3555### MCP server was not saved or removed3564### MCP server was not saved or removed

3556 3565 

3557Hai eseguito `claude mcp add`, `claude mcp add-json` o `claude mcp remove` per un server nell'[ambito](https://code.claude.com/docs/it/mcp.md#mcp-installation-scopes) `user` o `local`. Entrambi gli ambiti sono memorizzati in `~/.claude.json`, e la modifica non è presente in quel file quando Claude Code lo rilegge dopo la scrittura. Il comando esce con questo errore invece della sua riga di successo.3566Questo errore significa che un comando come `claude mcp add` o `claude mcp remove` non è riuscito a scrivere la tua modifica in `~/.claude.json`. Altri processi di Claude Code potrebbero aver mantenuto il file bloccato, oppure il file potrebbe essere di sola lettura o protetto da una sandbox.

3558 3567 

3559```text theme={null}3568```text theme={null}

3560MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.3569MCP server "example" was not saved to /home/user/.claude.json. If other Claude Code processes use that file, they may have kept it locked: add the server again, with CLAUDE_CODE_CONFIG_LOCK_WAIT_MS=60000 set to wait up to a minute. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox first.

3561```3570```

3562 3571 

3563Dopo una rimozione, il messaggio recita `was not removed from` e termina con `then remove the server again`. Per un server con ambito `local`, il percorso è seguito dalla directory del progetto a cui appartiene la voce, nella forma `(local scope for /path/to/project)`.3572Dopo una rimozione, il messaggio riporta `was not removed from` al posto di `was not saved to`, e `remove the server again` al posto di `add the server again`. Per un server di ambito `local`, il percorso è seguito dalla directory di progetto a cui appartiene la voce, come `(local scope for /path/to/project)`.

3564 

3565Prima della v2.1.283, `claude mcp add`, `claude mcp add-json` e `claude mcp remove` segnalavano il successo anche quando la modifica non raggiungeva il file.

3566 3573 

3567**Cosa fare:**3574**Cosa fare:**

3568 3575 

3569* Rendi scrivibile il file indicato dal messaggio, oppure esegui il comando al di fuori della sandbox, quindi esegui di nuovo lo stesso comando di aggiunta o rimozione.3576* **Sono in esecuzione altri processi di Claude Code**: il comando attende circa 10-20 secondi il blocco sul file, poi rinuncia senza scrivere. Esegui di nuovo lo stesso comando con [`CLAUDE_CODE_CONFIG_LOCK_WAIT_MS`](https://code.claude.com/docs/it/env-vars#variables) impostata su un'attesa più lunga in millisecondi, ad esempio `60000`.

3577* **Il file è di sola lettura o protetto da sandbox**: rendi scrivibile il file indicato dal messaggio ed esegui di nuovo lo stesso comando di aggiunta o rimozione, oppure esegui quel comando al di fuori della sandbox.

3578 

3579Prima della v2.1.283, `claude mcp add`, `claude mcp add-json` e `claude mcp remove` segnalavano il successo anche quando la modifica non raggiungeva il file. Prima della v2.1.318, il messaggio non menzionava il blocco e Claude Code non leggeva [`CLAUDE_CODE_CONFIG_LOCK_WAIT_MS`](https://code.claude.com/docs/it/env-vars#variables).

3570 3580 

3571### MCP server may not have been saved or removed3581### MCP server may not have been saved or removed

3572 3582 

3573Hai eseguito `claude mcp add`, `claude mcp add-json` o `claude mcp remove` per un server nell'[ambito](https://code.claude.com/docs/it/mcp.md#mcp-installation-scopes) `user` o `local`, e Claude Code non è riuscito a rileggere `~/.claude.json` per confermare la modifica. La modifica potrebbe essere o non essere su disco. Il testo tra parentesi è l'errore di quella lettura.3583Hai eseguito `claude mcp add`, `claude mcp add-json` o `claude mcp remove` per un server nell'[ambito](https://code.claude.com/docs/it/mcp.md#mcp-installation-scopes) `user` o `local`, e Claude Code non è riuscito a rileggere `~/.claude.json` per confermare la modifica. La modifica potrebbe essere o non essere su disco. Le parentesi dopo `to confirm the change` indicano il motivo.

3574 3584 

3575```text theme={null}3585```text theme={null}

3576MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.3586MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.

3577```3587```

3578 3588 

3579Dopo una rimozione, il messaggio recita `may not have been removed` e termina con `then remove the server again if it is still listed`.3589Dopo una rimozione, il messaggio riporta `may not have been removed` e termina con `then remove the server again if it is still listed`. Se il motivo è `the file was not found`, il server potrebbe essere ancora configurato.

3580 3590 

3581Prima della v2.1.283, i comandi segnalavano il successo anche quando la modifica non poteva essere confermata.3591Prima della v2.1.283, i comandi segnalavano il successo anche quando la modifica non poteva essere confermata.

3582 3592 


3714 3724 

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

3716 3726 

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`3727* `Shell command permission check failed for pattern "..."`: il controllo dei permessi del comando non lo ha consentito. [Controlli dei permessi sui comandi iniettati](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`

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)3728* ``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)

3719 3729 

3720**Cosa fare:**3730**Cosa fare:**


3868 3878 

3869* **Non hai passato un branch di base**: Claude Code ha effettuato il confronto con il branch predefinito del repository e suggerisce di passare esplicitamente il tuo branch di base, come nell'esempio sopra3879* **Non hai passato un branch di base**: Claude Code ha effettuato il confronto con il branch predefinito del repository e suggerisce di passare esplicitamente il tuo branch di base, come nell'esempio sopra

3870* **Hai passato un branch di base già presente nel tuo clone**: il suggerimento è ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3880* **Hai passato un branch di base già presente nel tuo clone**: il suggerimento è ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3871* **Hai passato un branch di base che non era nel tuo clone**: Claude Code lo ha recuperato da origin prima del confronto. Il suggerimento è ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; quando Claude Code non riesce a stabilire se il tuo clone è shallow, suggerisce invece `git fetch --unshallow origin`. Prima della v2.1.221, il suggerimento proponeva `git fetch --unshallow origin` per ogni branch di base recuperato, e su un clone completo quel comando fallisce con `fatal: --unshallow on a complete repository does not make sense`.3881* **Hai passato un branch di base non presente nel tuo clone**: Claude Code lo ha recuperato da origin prima del confronto. Il suggerimento recita ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; quando Claude Code non riesce a determinare se il tuo clone è shallow, suggerisce invece `git fetch --unshallow origin`. Prima della v2.1.221, il suggerimento proponeva `git fetch --unshallow origin` per ogni branch di base recuperato, e su un clone completo quel comando fallisce con `fatal: --unshallow on a complete repository does not make sense`.

3872 3882 

3873**Cosa fare:**3883**Cosa fare:**

3874 3884 

fast-mode.md +5 −5

Details

35Nella CLI, attiva o disattiva la modalità veloce in uno di questi modi:35Nella CLI, attiva o disattiva la modalità veloce in uno di questi modi:

36 36 

37* Esegui `/fast`, premi Space per attivarla o disattivarla, quindi premi Enter per confermare37* Esegui `/fast`, premi Space per attivarla o disattivarla, quindi premi Enter per confermare

38* Imposta `"fastMode": true` nel tuo [file di impostazioni utente](https://code.claude.com/docs/it/settings.md)38* Su un modello che supporta la modalità veloce, imposta `"fastMode": true` nel tuo [file di impostazioni utente](https://code.claude.com/docs/it/settings.md). Se la imposti su qualsiasi altro modello, rimani su quel modello con la modalità veloce disattivata.

39 39 

40Per impostazione predefinita, la modalità veloce che attivi in una sessione interattiva persiste tra le sessioni. Puoi configurare la modalità veloce in modo che si reimposti a ogni sessione. Consulta [richiedere l'attivazione per sessione](#require-per-session-opt-in) per i dettagli.40Per impostazione predefinita, la modalità veloce che attivi in una sessione interattiva persiste tra le sessioni su un modello supportato. Puoi configurare la modalità veloce in modo che si reimposti a ogni sessione. Consulta [richiedere l'attivazione per sessione](#require-per-session-opt-in) per i dettagli.

41 41 

42Al di fuori di una [sessione cloud](#use-fast-mode-in-cloud-sessions), in [modalità non interattiva](https://code.claude.com/docs/it/headless.md) con il flag `-p`, `/fast` funziona solo in una sessione avviata con la modalità veloce nel valore di [`--settings`](https://code.claude.com/docs/it/cli-reference#cli-flags), ad esempio `claude -p --settings '{"fastMode": true}'`; l'attivazione o disattivazione si applica quindi solo a quella sessione e non viene salvata come impostazione predefinita. La forma con `-p` richiede Claude Code v2.1.205 o successiva. Altrove in modalità non interattiva, il comando segnala che la modalità veloce non è disponibile.42Al di fuori di una [sessione cloud](#use-fast-mode-in-cloud-sessions), in [modalità non interattiva](https://code.claude.com/docs/it/headless.md) con il flag `-p`, `/fast` funziona solo in una sessione avviata con la modalità veloce nel valore di [`--settings`](https://code.claude.com/docs/it/cli-reference#cli-flags), ad esempio `claude -p --settings '{"fastMode": true}'`; l'attivazione o disattivazione si applica quindi solo a quella sessione e non viene salvata come impostazione predefinita. La forma con `-p` richiede Claude Code v2.1.205 o successiva. Altrove in modalità non interattiva, il comando segnala che la modalità veloce non è disponibile.

43 43 


45 45 

46Per la migliore efficienza dei costi, attiva la modalità veloce all'inizio di una sessione anziché cambiarla a metà conversazione. Consulta [comprendere il compromesso sui costi](#understand-the-cost-tradeoff) per i dettagli.46Per la migliore efficienza dei costi, attiva la modalità veloce all'inizio di una sessione anziché cambiarla a metà conversazione. Consulta [comprendere il compromesso sui costi](#understand-the-cost-tradeoff) per i dettagli.

47 47 

48Quando attivi la modalità veloce:48Quando attivi la modalità veloce con `/fast`:

49 49 

50* Se il tuo modello attuale non supporta la modalità veloce, Claude Code passa a Opus50* Se il tuo modello attuale non supporta la modalità veloce, Claude Code passa a Opus

51* Vedrai un messaggio di conferma: "Fast mode ON"51* Vedrai un messaggio di conferma: "Fast mode ON"


196 196 

197### Richiedi opt-in per sessione197### Richiedi opt-in per sessione

198 198 

199Per impostazione predefinita, la modalità veloce che un utente abilita in una sessione interattiva persiste tra le sessioni. Per modificare questo, imposta `fastModePerSessionOptIn` a `true` in qualsiasi [file di impostazioni](https://code.claude.com/docs/it/settings.md#where-settings-live), il che fa sì che ogni sessione inizi con la modalità veloce disattivata e richiede agli utenti di abilitarla esplicitamente con `/fast`. I proprietari sui piani [Team](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) o [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) possono distribuirlo a livello organizzativo tramite [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md).199Per impostazione predefinita, la modalità veloce che un utente attiva in una sessione interattiva persiste tra le sessioni su un modello supportato. Per modificare questo, imposta `fastModePerSessionOptIn` a `true` in qualsiasi [file di impostazioni](https://code.claude.com/docs/it/settings.md#where-settings-live), il che fa sì che ogni sessione inizi con la modalità veloce disattivata e richiede agli utenti di abilitarla esplicitamente con `/fast`. Gli Owner sui piani [Team](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) o [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) possono distribuirlo a livello organizzativo tramite [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md).

200 200 

201```json theme={null}201```json theme={null}

202{202{


221 221 

222Se esaurisci i crediti di utilizzo durante una sessione, Claude Code ritenta ogni richiesta della modalità veloce rifiutata a velocità e prezzi standard, quindi continui a lavorare e non c'è raffreddamento. Il modo in cui vedi il rifiuto dipende dal tipo di sessione:222Se esaurisci i crediti di utilizzo durante una sessione, Claude Code ritenta ogni richiesta della modalità veloce rifiutata a velocità e prezzi standard, quindi continui a lavorare e non c'è raffreddamento. Il modo in cui vedi il rifiuto dipende dal tipo di sessione:

223 223 

224* In una sessione interattiva, Claude Code mostra una notifica "Fast mode disabled · usage credits exhausted" e disattiva la modalità veloce per il resto della sessione. La tua preferenza di modalità veloce salvata non cambia; esegui `/fast` per riattivare la modalità veloce.224* In una sessione interattiva, Claude Code mostra una notifica "Fast mode disabled · Out of usage credits" e disattiva la modalità veloce. La tua preferenza di modalità veloce salvata non cambia; esegui `/fast` per riattivare la modalità veloce.

225* In [modalità non interattiva](https://code.claude.com/docs/it/headless.md) con `--output-format stream-json` e tramite l'Agent SDK, Claude Code emette lo stesso testo sul flusso di messaggi come messaggio `system` con sottotipo `notification`, una volta per turno mentre sei senza crediti di utilizzo. La modalità veloce rimane attiva. Richiede Claude Code v2.1.221 o successivo.225* In [modalità non interattiva](https://code.claude.com/docs/it/headless.md) con `--output-format stream-json` e tramite l'Agent SDK, Claude Code emette lo stesso testo sul flusso di messaggi come messaggio `system` con sottotipo `notification`, una volta per turno mentre sei senza crediti di utilizzo. La modalità veloce rimane attiva. Richiede Claude Code v2.1.221 o successivo.

226 226 

227## Anteprima di ricerca227## Anteprima di ricerca

hooks.md +66 −24

Details

70 70 

71> [tab] macOS/Linux71> [tab] macOS/Linux

72>72>

73> Il `matcher` si restringe alle chiamate dello strumento Bash e la condizione `if` si restringe ulteriormente ai sottocomandi Bash che corrispondono a `rm *`, quindi `block-rm.sh` viene eseguito solo quando entrambi i filtri corrispondono:73> Il `matcher` si restringe alle chiamate allo strumento Bash e ai [comandi Monitor](#match-monitor-commands), e la condizione `if` si restringe ulteriormente ai sottocomandi Bash che corrispondono a `rm *`, quindi `block-rm.sh` viene avviato solo quando entrambi i filtri corrispondono:

74>74>

75> ```json theme={null}75> ```json theme={null}

76> {76> {


108> }108> }

109> }'109> }'

110> else110> else

111> exit 0 # nessuna decisione; il flusso di autorizzazione normale si applica111> exit 0 # nessuna decisione; si applica il normale flusso dei permessi

112> fi112> fi

113> ```113> ```

114>114>

115> Questo script, come gli altri esempi Bash su questa pagina che analizzano l'input JSON, utilizza `jq`, quindi installare `jq` e assicurarsi che sia nel `PATH` prima di provarli.115> Questo script, come gli altri esempi Bash su questa pagina che analizzano l'input JSON, utilizza `jq`, quindi installa `jq` e assicurati che sia nel tuo `PATH` prima di provarli.

116 116 

117> [tab] Windows (PowerShell)117> [tab] Windows (PowerShell)

118>118>

119> Il matcher `Bash|PowerShell` copre lo [strumento PowerShell](#powershell) così come Bash. Una singola regola `if` corrisponde solo alle chiamate di uno strumento, quindi ogni strumento ottiene il suo gestore: il primo si restringe ai sottocomandi Bash che corrispondono a `rm *`, il secondo ai comandi PowerShell che corrispondono a `Remove-Item *`. Entrambi eseguono lo stesso script tramite `powershell.exe`:119> Il matcher `Bash|PowerShell` copre lo [strumento PowerShell](#powershell) così come Bash. Una singola regola `if` indica un solo strumento, quindi ogni strumento ottiene il proprio gestore: il primo si restringe ai sottocomandi Bash che corrispondono a `rm *`, il secondo ai comandi PowerShell che corrispondono a `Remove-Item *`. Entrambi eseguono lo stesso script tramite `powershell.exe`:

120>120>

121> ```json theme={null}121> ```json theme={null}

122> {122> {


174> }174> }

175> } | ConvertTo-Json175> } | ConvertTo-Json

176> } else {176> } else {

177> exit 0 # nessuna decisione; il flusso di autorizzazione normale si applica177> exit 0 # nessuna decisione; si applica il normale flusso dei permessi

178> }178> }

179> ```179> ```

180 180 


225Gli hook sono definiti in file di impostazioni JSON. La configurazione ha tre livelli di annidamento:225Gli hook sono definiti in file di impostazioni JSON. La configurazione ha tre livelli di annidamento:

226 226 

2271. Scegli un [evento hook](#hook-events) a cui rispondere, come `PreToolUse` o `Stop`2271. Scegli un [evento hook](#hook-events) a cui rispondere, come `PreToolUse` o `Stop`

2282. Aggiungi un [gruppo matcher](#matcher-patterns) per filtrare quando si attiva, come "solo per lo strumento Bash"2282. Aggiungi un [gruppo matcher](#matcher-patterns) per filtrare quando si attiva, ad esempio "per lo strumento Bash"

2293. Definisci uno o più [handler hook](#hook-handler-fields) da eseguire quando corrisponde2293. Definisci uno o più [handler hook](#hook-handler-fields) da eseguire quando corrisponde

230 230 

231Vedi [Come si risolve un hook](#how-a-hook-resolves) sopra per una procedura dettagliata completa con un esempio annotato.231Vedi [Come si risolve un hook](#how-a-hook-resolves) sopra per una procedura dettagliata completa con un esempio annotato.


277| Valore matcher | Valutato come | Esempio |277| Valore matcher | Valutato come | Esempio |

278| :- | :- | :- |278| :- | :- | :- |

279| `"*"`, `""`, o omesso | Corrisponde a tutto | si attiva ad ogni occorrenza dell'evento |279| `"*"`, `""`, o omesso | Corrisponde a tutto | si attiva ad ogni occorrenza dell'evento |

280| Solo lettere, cifre, `_`, `-`, spazi, `,`, e `\|` | Stringa esatta, o lista di stringhe esatte separate da `\|` o `,` con spazi bianchi opzionali circostanti | `Bash` corrisponde solo allo strumento Bash; `Edit\|Write` e `Edit, Write` corrispondono ciascuno a uno dei due strumenti esattamente; `code-reviewer` corrisponde solo a quel tipo di agente |280| Solo lettere, cifre, `_`, `-`, spazi, `,`, e `\|` | Stringa esatta, o lista di stringhe esatte separate da `\|` o `,` con spazi bianchi opzionali circostanti | `Bash` corrisponde allo strumento Bash e, su `PreToolUse` e `PermissionRequest`, anche ai [comandi Monitor](#match-monitor-commands); `Edit\|Write` e `Edit, Write` corrispondono ciascuno a uno dei due strumenti esattamente; `code-reviewer` corrisponde solo a quel tipo di agente |

281| Contiene qualsiasi altro carattere | Espressione regolare JavaScript, non ancorata | `^Notebook` corrisponde a qualsiasi strumento il cui nome inizia con `Notebook`; `mcp__memory__.*` corrisponde a ogni strumento dal server `memory` |281| Contiene qualsiasi altro carattere | Espressione regolare JavaScript, non ancorata | `^Notebook` corrisponde a qualsiasi strumento il cui nome inizia con `Notebook`; `mcp__memory__.*` corrisponde a ogni strumento dal server `memory` |

282 282 

283Un matcher sul percorso dell'espressione regolare viene testato con `RegExp.prototype.test` di JavaScript, che ha successo su una corrispondenza in qualsiasi punto del valore. `Edit.*` corrisponde sia a `Edit` che a `NotebookEdit`; racchiudi il pattern in `^` e `$`, come in `^Edit$`, quando hai bisogno di una corrispondenza di intera stringa.283Un matcher sul percorso dell'espressione regolare viene testato con `RegExp.prototype.test` di JavaScript, che ha successo su una corrispondenza in qualsiasi punto del valore. `Edit.*` corrisponde sia a `Edit` che a `NotebookEdit`; racchiudi il pattern in `^` e `$`, come in `^Edit$`, quando hai bisogno di una corrispondenza di intera stringa.


294| `SessionStart` | come è iniziata la sessione | `startup`, `resume`, `clear`, `compact`, `fork` |294| `SessionStart` | come è iniziata la sessione | `startup`, `resume`, `clear`, `compact`, `fork` |

295| `Setup` | quale flag CLI ha attivato il setup | `init`, `maintenance` |295| `Setup` | quale flag CLI ha attivato il setup | `init`, `maintenance` |

296| `SessionEnd` | perché è terminata la sessione | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |296| `SessionEnd` | perché è terminata la sessione | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |

297| `Notification` | tipo di notifica | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled`, `plugin_notification` |297| `Notification` | tipo di notifica | `permission_prompt`, `idle_prompt`, `auth_success`, `auth_storage_failure`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled`, `plugin_notification` |

298| `SubagentStart` | tipo di agente | `general-purpose`, `Explore`, `Plan`, nomi di agenti personalizzati, o nomi con scope plugin come `^my-plugin:reviewer$` |298| `SubagentStart` | tipo di agente | `general-purpose`, `Explore`, `Plan`, nomi di agenti personalizzati, o nomi con scope plugin come `^my-plugin:reviewer$` |

299| `PreCompact`, `PostCompact` | cosa ha attivato la compattazione | `manual`, `auto` |299| `PreCompact`, `PostCompact` | cosa ha attivato la compattazione | `manual`, `auto` |

300| `PreModelSwitch`, `PostModelSwitch` | nome canonico del modello a cui la sessione passa, come descritto sotto [PreModelSwitch](#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |300| `PreModelSwitch`, `PostModelSwitch` | nome canonico del modello a cui la sessione passa, come descritto sotto [PreModelSwitch](#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |


385}385}

386```386```

387 387 

388#### Corrispondere ai comandi Monitor

389 

390Un hook [`PreToolUse`](#pretooluse) o [`PermissionRequest`](#permissionrequest) con un matcher `Bash` viene eseguito anche sui comandi shell che Claude avvia con lo [strumento Monitor](https://code.claude.com/docs/it/tools-reference.md#monitor-tool), ma i suoi `allow` e [`updatedInput`](#pretooluse-decision-control) non hanno effetto su di essi. Richiede Claude Code v2.1.314 o successivo. Anche matcher come `Bash|PowerShell`, `^Bash$` e `Bash.*` sono matcher `Bash`. Un hook con un matcher `Bash` non viene eseguito per un [watch WebSocket](https://code.claude.com/docs/it/tools-reference.md#websocket-source), e un hook `PostToolUse` con un tale matcher non viene eseguito per Monitor.

391 

392Un hook che viene eseguito per un comando Monitor può negarlo o fare in modo che Claude Code te lo chieda. Per consentire o riscrivere il comando, passa da un matcher `Bash` a uno che include Monitor:

393 

394* **Matcher che include Monitor**: con un matcher come `Bash|Monitor` o `.*`, o senza matcher, l'hook riceve l'input della chiamata Monitor stessa, e `allow` e `updatedInput` si applicano. In [`if`](#common-fields), indica Monitor, come in `Monitor(tail *)`, che corrisponde secondo [le regole seguite da `Bash(tail *)`](#bash-if-matching). Se il suo `if` indica Bash, l'hook riceve comunque l'input della chiamata Monitor, ma `allow` e `updatedInput` non hanno effetto

395* **Matcher `Bash`**: l'hook riceve una chiamata Bash. In `if`, indica Bash, come in `Bash(tail *)`. L'hook non viene eseguito se il suo `if` indica Monitor

396 

388### Campi handler hook397### Campi handler hook

389 398 

390Ogni oggetto nell'array `hooks` interno è un handler hook: il comando shell, endpoint HTTP, tool MCP, prompt LLM, o agente che viene eseguito quando il matcher corrisponde. Ci sono cinque tipi:399Ogni oggetto nell'array `hooks` interno è un handler hook: il comando shell, endpoint HTTP, tool MCP, prompt LLM, o agente che viene eseguito quando il matcher corrisponde. Ci sono cinque tipi:


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

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

813 822 

814Per la maggior parte degli eventi, Claude Code scrive stdout nel log di debug e non lo mostra nella trascrizione. Le eccezioni sono `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` e `PostModelSwitch`, dove Claude Code aggiunge lo stdout in testo semplice come contesto che Claude può vedere e su cui può agire. Su quegli eventi, Claude Code non aggiunge lo stdout che non è riuscito ad analizzare.823Per la maggior parte degli eventi, Claude Code scrive stdout nel log di debug e non lo mostra nella trascrizione. Su questi eventi, il tuo stdout raggiunge Claude o il riepilogo della compattazione:

824 

825* **`UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` e `PostModelSwitch`**: Claude Code aggiunge lo stdout in testo semplice come contesto che Claude può vedere e su cui può agire. Non aggiunge lo stdout che non è riuscito ad analizzare.

826* **`PreCompact`**: il tuo stdout diventa [istruzioni per il riepilogo della compattazione](#precompact-output)

815 827 

816Claude non vede mai lo stderr di un hook che esce con 0. Per leggerlo tu stesso su eventi come `PreToolUse`, abilita il [debug logging](#debug-hooks). Per mostrare un avviso a Claude da un hook `PostToolUse` o `PostToolUseFailure`, esci invece con 2 in modo che [Claude veda lo stderr](#exit-code-2-behavior-per-event) anche se lo strumento è già stato eseguito.828Claude non vede mai lo stderr di un hook che esce con 0. Per leggerlo tu stesso su eventi come `PreToolUse`, abilita il [debug logging](#debug-hooks). Per mostrare un avviso a Claude da un hook `PostToolUse` o `PostToolUseFailure`, esci invece con 2 in modo che [Claude veda lo stderr](#exit-code-2-behavior-per-event) anche se lo strumento è già stato eseguito.

817 829 


1050Le stringhe `additionalContext`, `systemMessage` e `initialUserMessage` di un hook, e il suo stdout semplice, sono limitate a 10.000 caratteri:1062Le stringhe `additionalContext`, `systemMessage` e `initialUserMessage` di un hook, e il suo stdout semplice, sono limitate a 10.000 caratteri:

1051 1063 

1052* **Ambito**: Claude Code misura ogni stringa singolarmente, anche quando più hook vengono eseguiti per lo stesso evento. Per l'output JSON, ogni campo viene misurato separatamente; lo stdout semplice viene misurato nel complesso.1064* **Ambito**: Claude Code misura ogni stringa singolarmente, anche quando più hook vengono eseguiti per lo stesso evento. Per l'output JSON, ogni campo viene misurato separatamente; lo stdout semplice viene misurato nel complesso.

1053* **Oltre il limite**: Claude Code salva l'output in un file nella directory della sessione e lo sostituisce con il percorso del file e un'anteprima fino ai primi 2.000 caratteri. Un risultato Bash valido di grandi dimensioni viene gestito nello stesso modo, descritto in [Output limits](https://code.claude.com/docs/it/tools-reference.md#output-limits). A differenza di quel limite Bash, questo limite non ha un'impostazione o una variabile d'ambiente per aumentarlo.1065* **Oltre il limite**: tranne che per lo [stdout di PreCompact](#precompact-output), Claude Code salva l'output in un file nella directory della sessione. Sostituisce l'output con il percorso del file e un'anteprima fino ai primi 2.000 caratteri. Un risultato Bash valido di grandi dimensioni viene gestito nello stesso modo, descritto in [Output limits](https://code.claude.com/docs/it/tools-reference.md#output-limits). A differenza di quel limite Bash, questo limite non ha un'impostazione o una variabile d'ambiente per aumentarlo.

1054* **Lettura del file**: Claude Code non chiede a Claude di leggere il file, quindi mantieni entro il limite tutto ciò che Claude deve sempre vedere.1066* **Lettura del file**: Claude Code non chiede a Claude di leggere il file, quindi mantieni entro il limite tutto ciò che Claude deve sempre vedere.

1055 1067 

1056L'oggetto JSON supporta tre tipi di campi:1068L'oggetto JSON supporta tre tipi di campi:


1954 1966 

1955#### Controllo delle decisioni di PreToolUse1967#### Controllo delle decisioni di PreToolUse

1956 1968 

1957Gli hook `PreToolUse` possono controllare se una chiamata a uno strumento procede. A differenza di altri hook che usano un campo `decision` di primo livello, PreToolUse restituisce la sua decisione all'interno di un oggetto `hookSpecificOutput`. Questo gli conferisce un controllo più ricco: quattro esiti (consentire, negare, chiedere conferma o differire) più la possibilità di modificare l'input dello strumento prima dell'esecuzione.1969Gli hook `PreToolUse` possono controllare se una chiamata a uno strumento procede. A differenza di altri hook che usano un campo `decision` di primo livello, PreToolUse restituisce la sua decisione all'interno di un oggetto `hookSpecificOutput`. Questo gli offre un controllo più ricco: quattro esiti (consentire, negare, chiedere conferma o differire) più la possibilità di modificare l'input dello strumento prima dell'esecuzione. Per consentire o riscrivere un comando Monitor, consulta [Confrontare i comandi Monitor](#match-monitor-commands).

1958 1970 

1959| Campo | Descrizione |1971| Campo | Descrizione |

1960| :- | :- |1972| :- | :- |


2051 2063 

2052#### Differire una chiamata a uno strumento2064#### Differire una chiamata a uno strumento

2053 2065 

2054`"defer"` è pensato per le integrazioni che eseguono `claude -p` come sottoprocesso e ne leggono l'output JSON, come un'app Agent SDK o un'interfaccia utente personalizzata costruita su Claude Code. Consente a quel processo chiamante di mettere in pausa Claude a una chiamata a uno strumento, raccogliere input tramite la propria interfaccia e riprendere da dove si era interrotto. Claude Code rispetta questo valore solo in [modalità non interattiva](https://code.claude.com/docs/it/headless.md) con il flag `-p`. Nelle sessioni interattive registra un avviso e ignora il risultato dell'hook.2066`"defer"` è pensato per le integrazioni che eseguono `claude -p` come sottoprocesso e ne leggono l'output JSON, come un'app Agent SDK o un'interfaccia personalizzata costruita su Claude Code. Consente a quel processo chiamante di mettere in pausa Claude in corrispondenza di una chiamata a uno strumento, raccogliere input tramite la propria interfaccia e riprendere da dove si era interrotto.

2067 

2068Claude Code rispetta `"defer"` solo in [modalità non interattiva](https://code.claude.com/docs/it/headless.md) con il flag `-p`, e solo quando Claude effettua una singola chiamata a uno strumento nel turno:

2069 

2070* **Nelle sessioni interattive**: registra un avviso e ignora il risultato dell'hook

2071* **Più chiamate agli strumenti contemporaneamente**: `"defer"` viene ignorato con un avviso e lo strumento procede attraverso il normale flusso dei permessi

2055 2072 

2056Lo strumento `AskUserQuestion` è il caso tipico: Claude vuole chiedere qualcosa all'utente, ma non c'è un terminale in cui rispondere. Un'esecuzione `-p` offre `AskUserQuestion` solo quando ha un [host dei permessi](https://code.claude.com/docs/it/headless.md#turn-off-permission-prompts-in-unattended-runs), come uno strumento MCP che passi con `--permission-prompt-tool`, quindi avvia l'esecuzione con uno di essi. Il ciclo completo funziona così:2073Lo strumento `AskUserQuestion` è il caso tipico: Claude vuole chiedere qualcosa all'utente, ma non c'è un terminale in cui rispondere. Un'esecuzione `-p` offre `AskUserQuestion` solo quando ha un [host dei permessi](https://code.claude.com/docs/it/headless.md#turn-off-permission-prompts-in-unattended-runs), come uno strumento MCP che passi con `--permission-prompt-tool`, quindi avvia l'esecuzione con uno di essi. Il ciclo completo funziona così:

2057 2074 


20614. Il processo chiamante esegue `claude -p --resume <session-id>` con lo stesso host dei permessi. La stessa chiamata allo strumento attiva di nuovo `PreToolUse`.20784. Il processo chiamante esegue `claude -p --resume <session-id>` con lo stesso host dei permessi. La stessa chiamata allo strumento attiva di nuovo `PreToolUse`.

20625. L'hook restituisce `permissionDecision: "allow"` con la risposta in `updatedInput`. Lo strumento viene eseguito e Claude continua.20795. L'hook restituisce `permissionDecision: "allow"` con la risposta in `updatedInput`. Lo strumento viene eseguito e Claude continua.

2063 2080 

2064Il campo `deferred_tool_use` contiene `id`, `name` e `input` dello strumento. L'`input` sono i parametri che Claude ha generato per la chiamata allo strumento, catturati prima dell'esecuzione:2081Il campo `deferred_tool_use` contiene `id`, `name` e `input` dello strumento:

2065 2082 

2066```json theme={null}2083```json theme={null}

2067{2084{


2077}2094}

2078```2095```

2079 2096 

2080Non esiste alcun timeout né limite di nuovi tentativi. La sessione rimane su disco finché non la riprendi, fatta salva la pulizia periodica prevista da [`cleanupPeriodDays`](https://code.claude.com/docs/it/settings-reference#cleanupperioddays), che per impostazione predefinita elimina i file di sessione dopo 30 giorni, secondo le [regole di pulizia periodica](https://code.claude.com/docs/it/claude-directory.md#cleaned-up-automatically).2097Non esiste un timeout né un limite di nuovi tentativi. La sessione rimane su disco finché la [pulizia periodica](https://code.claude.com/docs/it/claude-directory.md#cleaned-up-automatically) di [`cleanupPeriodDays`](https://code.claude.com/docs/it/settings-reference#cleanupperioddays) non la elimina, dopo 30 giorni per impostazione predefinita.

2081 

2082Se lo strumento differito non è più disponibile quando riprendi, il primo risultato della ripresa ha `stop_reason: "tool_deferred_unavailable"` e `is_error: true`, e l'hook non si attiva. Questo accade quando un server MCP che forniva lo strumento non è connesso per la sessione ripresa. Il payload `deferred_tool_use` viene comunque incluso, così puoi identificare quale strumento è venuto a mancare.

2083 

2084* **Se non hai inviato alcun prompt, né con la ripresa né dopo**, la chiamata è ancora in sospeso. Riprendi di nuovo con lo strumento disponibile e verrà eseguita per prima.

2085* **Se hai inviato un prompt, con la ripresa o dopo**, Claude Code risponde senza il risultato dello strumento ed elimina la chiamata differita. Invia un nuovo prompt quando lo strumento è disponibile, se hai ancora bisogno che venga chiamato.

2086 2098 

2087Se la risposta che stai aspettando non è pronta quando riprendi senza un prompt, l'hook può restituire di nuovo `"defer"`. Se hai inviato un prompt e l'hook differisce di nuovo, Claude Code tratta il prompt allo stesso modo: risponde senza il risultato dello strumento ed elimina la chiamata. Riprendi senza prompt finché l'hook non restituisce `"allow"` o `"deny"`, che è il modo in cui il processo chiamante interrompe il ciclo.2099Se la risposta non è pronta quando riprendi, l'hook può restituire di nuovo `"defer"`. Se hai inviato un prompt con quella ripresa, Claude risponde senza il risultato dello strumento e non esegue la chiamata. Riprendi senza un prompt finché l'hook non restituisce `"allow"` o `"deny"`.

2088 

2089`"defer"` funziona solo quando Claude effettua una singola chiamata a uno strumento nel turno. Se Claude effettua più chiamate agli strumenti contemporaneamente, `"defer"` viene ignorato con un avviso e lo strumento procede attraverso il normale flusso dei permessi. Il vincolo esiste perché la ripresa può rieseguire un solo strumento: non c'è modo di differire una chiamata di un gruppo senza lasciare le altre irrisolte.

2090 2100 

2091> [!NOTE]2101> [!NOTE]

2092>2102>

2093> Per riprendere una sessione differita in plan mode, passa [`--permission-prompt-tool`](https://code.claude.com/docs/it/cli-reference#cli-flags) insieme a `--resume` in modo che Claude Code possa presentare il piano per l'approvazione. Per le altre condizioni, consulta [Riprendere in plan mode con `-p`](https://code.claude.com/docs/it/sessions#resume-in-plan-mode-with-p). Richiede Claude Code v2.1.246 o successivo.2103> Per riprendere una sessione differita in plan mode, passa [`--permission-prompt-tool`](https://code.claude.com/docs/it/cli-reference#cli-flags) insieme a `--resume` in modo che Claude Code possa presentare il piano per l'approvazione. Per le altre condizioni, consulta [Riprendere in plan mode con `-p`](https://code.claude.com/docs/it/sessions#resume-in-plan-mode-with-p). Richiede Claude Code v2.1.246 o successivo.

2094>2104>

2095> Quando riprendi con `-p`, Claude Code non ripristina nessun'altra modalità di permesso memorizzata. Avvia l'esecuzione nella modalità di permesso in cui partirebbe una nuova esecuzione `claude -p`, quindi passa di nuovo `--permission-mode` o `--dangerously-skip-permissions` se la sessione differita ne usava uno. Quando riprendi con `claude --resume <session-id>` senza `-p`, Claude Code ripristina la modalità di permesso memorizzata, con le eccezioni elencate in [modalità di permesso alla ripresa](https://code.claude.com/docs/it/sessions.md#permission-mode-on-resume).2105> Quando riprendi con `-p`, Claude Code non ripristina nessun'altra modalità di permesso memorizzata. Avvia l'esecuzione nella modalità di permesso in cui partirebbe una nuova esecuzione `claude -p`, quindi passa di nuovo `--permission-mode` o `--dangerously-skip-permissions` se la sessione rinviata ne usava uno.

2106 

2107##### Riprendere quando uno strumento rinviato non è disponibile

2108 

2109Un risultato con `stop_reason: "tool_deferred_unavailable"` indica che lo strumento di una chiamata rinviata non è disponibile nella sessione ripresa, ad esempio perché il suo server MCP non è connesso. Il tuo hook `PreToolUse` non si attiva, e il campo `deferred_tool_use` del risultato indica lo strumento.

2110 

2111Finché la chiamata è in sospeso, qualsiasi prompt che invii non raggiunge Claude e l'esecuzione termina con codice 1. Il campo `result` inizia con `<tool> isn't available, so its deferred call didn't run.` Esegui la chiamata, oppure scartala in modo che non venga eseguita:

2112 

2113* **Per eseguire la chiamata**: rendi disponibile lo strumento e riprendi di nuovo.

2114* **Per scartare la chiamata**: riprendi con un prompt e con [`CLAUDE_CODE_DROP_UNAVAILABLE_DEFERRED_TOOL`](https://code.claude.com/docs/it/env-vars#variables) impostata su `1`. Claude riceve un errore come risultato della chiamata e risponde al tuo prompt. Quando riprendi in seguito, nessuna chiamata è in sospeso.

2115 

2116Quando scarti la chiamata, l'esecuzione scrive il risultato `tool_deferred_unavailable` con un campo `result` vuoto, poi la risposta di Claude in un secondo risultato. Termina con codice 0 a meno che quella risposta non sia un errore. Se imposti la variabile e non invii alcun prompt, l'esecuzione scarta comunque la chiamata e termina con codice 1.

2117 

2118Prima della v2.1.319, Claude Code rispondeva a un prompt senza il risultato dello strumento e scartava la chiamata. Su quelle versioni, invia un nuovo prompt una volta che lo strumento è disponibile.

2096 2119 

2097### PermissionRequest2120### PermissionRequest

2098 2121 


2148| `message` | Solo per `"deny"`: indica a Claude perché il permesso è stato negato |2171| `message` | Solo per `"deny"`: indica a Claude perché il permesso è stato negato |

2149| `interrupt` | Solo per `"deny"`: se `true`, arresta Claude |2172| `interrupt` | Solo per `"deny"`: se `true`, arresta Claude |

2150 2173 

2174Per consentire o riscrivere un comando Monitor, consulta [Corrispondenza dei comandi Monitor](#match-monitor-commands).

2175 

2151Un hook che termina con codice 2 senza un oggetto `decision` lascia invariato il flusso dei permessi, e il suo stderr viene scartato. Per concedere o negare la richiesta, restituisci l'oggetto `decision`.2176Un hook che termina con codice 2 senza un oggetto `decision` lascia invariato il flusso dei permessi, e il suo stderr viene scartato. Per concedere o negare la richiesta, restituisci l'oggetto `decision`.

2152 2177 

2153```json theme={null}2178```json theme={null}


2205* Per eseguire un hook dopo che qualsiasi strumento è stato completato con successo, ometti il `matcher` o impostalo su `"*"`. Il tuo hook può quindi scoprire da solo cosa è cambiato, ad esempio eseguendo `git status --porcelain`, che elenca anche i file non tracciati che `git diff` non rileva. Per le chiamate agli strumenti che falliscono, aggiungi lo stesso hook sotto [PostToolUseFailure](#posttoolusefailure).2230* Per eseguire un hook dopo che qualsiasi strumento è stato completato con successo, ometti il `matcher` o impostalo su `"*"`. Il tuo hook può quindi scoprire da solo cosa è cambiato, ad esempio eseguendo `git status --porcelain`, che elenca anche i file non tracciati che `git diff` non rileva. Per le chiamate agli strumenti che falliscono, aggiungi lo stesso hook sotto [PostToolUseFailure](#posttoolusefailure).

2206* Per eseguire un hook quando un file specifico cambia su disco, indipendentemente da chi l'ha scritto, usa [FileChanged](#filechanged). Claude Code non esegue un hook `PostToolUse` che corrisponde a `Edit|Write` quando un comando `Bash` o un processo esterno a Claude Code riscrive lo stesso file.2231* Per eseguire un hook quando un file specifico cambia su disco, indipendentemente da chi l'ha scritto, usa [FileChanged](#filechanged). Claude Code non esegue un hook `PostToolUse` che corrisponde a `Edit|Write` quando un comando `Bash` o un processo esterno a Claude Code riscrive lo stesso file.

2207 2232 

2233#### PostToolUse dopo un'interruzione

2234 

2235Se un hook `PostToolUse` si arresta in anticipo dopo che invii un messaggio o interrompi durante una chiamata a uno strumento, verifica se hai premuto `Ctrl+Enter`, `Enter` o `Esc`:

2236 

2237* **`Ctrl+Enter`**: se premerlo [termina il turno](https://code.claude.com/docs/it/interactive-mode.md#when-claude-code-sends-what-you-queued) mentre uno strumento è in esecuzione e lo strumento termina, i tuoi hook `PostToolUse` vengono eseguiti sul suo risultato e hanno 10 secondi per terminare. Il tasto agisce come `Esc` se hai messo in coda un comando `!` prima dei tuoi messaggi o se le attività in background sono disabilitate, ad esempio con [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/it/env-vars#variables).

2238* **`Enter`**: un messaggio che metti in coda con `Enter` non interrompe il turno, quindi gli hook mantengono il loro `timeout` abituale.

2239* **`Esc`**: annulli immediatamente gli hook, quindi invia il messaggio con `Enter` o `Ctrl+Enter` quando gli hook devono essere eseguiti.

2240 

2241Allo scadere dei 10 secondi, Claude Code termina un hook di tipo command ancora in esecuzione, qualunque sia il suo [`timeout`](#common-fields). Per consentire a un hook di tipo command più lungo di terminare, eseguilo con [`async: true`](#run-hooks-in-the-background), il che significa che l'hook non può bloccare o riscrivere il risultato.

2242 

2243Prima della v2.1.319, gli hook non si avviavano dopo che avevi interrotto il turno con un messaggio, e un hook in esecuzione veniva arrestato.

2244 

2208#### Input di PostToolUse2245#### Input di PostToolUse

2209 2246 

2210Gli hook `PostToolUse` si attivano dopo che uno strumento è già stato eseguito con successo. L'input include sia `tool_input`, gli argomenti inviati allo strumento, sia `tool_response`, il risultato restituito. Lo schema esatto di entrambi dipende dallo strumento. I percorsi in `tool_input` degli strumenti per i file arrivano nello stesso formato di [PreToolUse](#pretooluse-input): sempre assoluti, con i separatori nativi della piattaforma, quindi barre rovesciate su Windows. Per uno strumento MCP, l'input contiene anche l'oggetto [`mcp_server`](#pretooluse-input).2247Gli hook `PostToolUse` si attivano dopo che uno strumento è già stato eseguito con successo. L'input include sia `tool_input`, gli argomenti inviati allo strumento, sia `tool_response`, il risultato restituito. Lo schema esatto di entrambi dipende dallo strumento. I percorsi in `tool_input` degli strumenti per i file arrivano nello stesso formato di [PreToolUse](#pretooluse-input): sempre assoluti, con i separatori nativi della piattaforma, quindi barre rovesciate su Windows. Per uno strumento MCP, l'input contiene anche l'oggetto [`mcp_server`](#pretooluse-input).


2479| `permission_prompt` | Claude ha bisogno che tu approvi l'uso di uno strumento o la [richiesta di rete](https://code.claude.com/docs/it/sandboxing.md#network-isolation) di un comando in sandbox, e la richiesta è in attesa da circa sei secondi |2516| `permission_prompt` | Claude ha bisogno che tu approvi l'uso di uno strumento o la [richiesta di rete](https://code.claude.com/docs/it/sandboxing.md#network-isolation) di un comando in sandbox, e la richiesta è in attesa da circa sei secondi |

2480| `idle_prompt` | Claude ha finito di rispondere circa 60 secondi fa e da allora non hai digitato nulla |2517| `idle_prompt` | Claude ha finito di rispondere circa 60 secondi fa e da allora non hai digitato nulla |

2481| `auth_success` | L'autenticazione viene completata |2518| `auth_success` | L'autenticazione viene completata |

2519| `auth_storage_failure` | Il tuo accesso viene completato, ma Claude Code non riesce a salvare le nuove credenziali nel proprio [archivio delle credenziali](https://code.claude.com/docs/it/authentication.md#credential-management). Si attiva al posto di `auth_success` |

2482| `elicitation_dialog` | Un server MCP apre un modulo di elicitation e non digiti da circa sei secondi |2520| `elicitation_dialog` | Un server MCP apre un modulo di elicitation e non digiti da circa sei secondi |

2483| `elicitation_url_dialog` | Un server MCP ti chiede di aprire un URL nel browser e non digiti da circa sei secondi |2521| `elicitation_url_dialog` | Un server MCP ti chiede di aprire un URL nel browser e non digiti da circa sei secondi |

2484| `elicitation_complete` | Un server MCP segnala che un'[elicitation in modalità URL](#elicitation-input) è completata |2522| `elicitation_complete` | Un server MCP segnala che un'[elicitation in modalità URL](#elicitation-input) è completata |


2490| `quota_auto_resume_disabled` | Claude Code termina l'attesa per un limite di utilizzo di claude.ai senza proseguire il tuo task: [`autoContinueAtUsageLimit`](https://code.claude.com/docs/it/settings-reference#autocontinueatusagelimit) è stato disattivato o il ripristino si è spostato di oltre 24 ore durante un'attesa avviata autonomamente da Claude Code, il task proseguito ha continuato a raggiungere il limite, oppure la prosecuzione è stata bloccata prima di raggiungere il modello. Non si attiva quando premi `Esc` o `Ctrl+C`, o scegli **Don't continue automatically** |2528| `quota_auto_resume_disabled` | Claude Code termina l'attesa per un limite di utilizzo di claude.ai senza proseguire il tuo task: [`autoContinueAtUsageLimit`](https://code.claude.com/docs/it/settings-reference#autocontinueatusagelimit) è stato disattivato o il ripristino si è spostato di oltre 24 ore durante un'attesa avviata autonomamente da Claude Code, il task proseguito ha continuato a raggiungere il limite, oppure la prosecuzione è stata bloccata prima di raggiungere il modello. Non si attiva quando premi `Esc` o `Ctrl+C`, o scegli **Don't continue automatically** |

2491| `plugin_notification` | Un [mod](https://code.claude.com/docs/it/plugins/mods/api.md#show-something-without-starting-a-turn) genera una notifica con `$.ui.notify`. Il `title` dell'hook è il nome del mod, a meno che il mod non ne abbia impostato uno |2529| `plugin_notification` | Un [mod](https://code.claude.com/docs/it/plugins/mods/api.md#show-something-without-starting-a-turn) genera una notifica con `$.ui.notify`. Il `title` dell'hook è il nome del mod, a meno che il mod non ne abbia impostato uno |

2492 2530 

2493I tipi `quota_auto_resume_fired`, `quota_auto_resume_stale` e `quota_auto_resume_disabled` richiedono Claude Code v2.1.234 o successivo.2531I tipi `quota_auto_resume_fired`, `quota_auto_resume_stale` e `quota_auto_resume_disabled` richiedono Claude Code v2.1.234 o successiva. Il tipo `auth_storage_failure` richiede v2.1.288 o successiva.

2494 2532 

2495Nelle sessioni del terminale, `permission_prompt` per la richiesta di rete di un comando in sandbox richiede Claude Code v2.1.246 o successivo.2533Nelle sessioni del terminale, `permission_prompt` per la richiesta di rete di un comando in sandbox richiede Claude Code v2.1.246 o successivo.

2496 2534 


3326}3364}

3327```3365```

3328 3366 

3367#### Output di PreCompact

3368 

3369Quando un hook PreCompact esce con 0 e non blocca, Claude Code usa il suo stdout come istruzioni per il riepilogo della compattazione. Mantieni quello stdout sotto i 10.000 caratteri per hook. Claude Code tronca l'output più lungo al limite e aggiunge un indicatore.

3370 

3329### PostCompact3371### PostCompact

3330 3372 

3331Viene eseguito dopo che Claude Code completa un'operazione di compattazione. Usa questo evento per reagire al nuovo stato compattato, ad esempio per registrare il riepilogo generato o aggiornare uno stato esterno. Claude Code scarta i campi `systemMessage` e `continue` di un hook PostCompact.3373Viene eseguito dopo che Claude Code completa un'operazione di compattazione. Usa questo evento per reagire al nuovo stato compattato, ad esempio per registrare il riepilogo generato o aggiornare uno stato esterno. Claude Code scarta i campi `systemMessage` e `continue` di un hook PostCompact.

hooks-guide.md +4 −3

Details

177> >177> >

178> > Se esegui Claude Code all'interno di WSL, `powershell.exe` deve essere disponibile nel tuo `PATH` tramite l'interoperabilità di Windows.178> > Se esegui Claude Code all'interno di WSL, `powershell.exe` deve essere disponibile nel tuo `PATH` tramite l'interoperabilità di Windows.

179 179 

180Il `matcher` vuoto si attiva su tutti i tipi di notifica. Per attivarlo solo su eventi specifici, impostalo su uno di questi valori:180Il `matcher` vuoto si attiva su tutti i tipi di notifica. Per attivarlo solo su eventi specifici, impostalo su un tipo di notifica, come uno di questi:

181 181 

182| Matcher | Si attiva quando |182| Matcher | Si attiva quando |

183| :- | :- |183| :- | :- |

184| `permission_prompt` | Claude ha bisogno che approviate un uso dello strumento o una [richiesta di rete](https://code.claude.com/docs/it/sandboxing.md#network-isolation) di un comando sandboxed, e il prompt ha aspettato circa sei secondi |184| `permission_prompt` | Claude ha bisogno che approviate un uso dello strumento o una [richiesta di rete](https://code.claude.com/docs/it/sandboxing.md#network-isolation) di un comando sandboxed, e il prompt ha aspettato circa sei secondi |

185| `idle_prompt` | Claude ha finito di rispondere circa 60 secondi fa e voi non avete digitato da allora |185| `idle_prompt` | Claude ha finito di rispondere circa 60 secondi fa e voi non avete digitato da allora |

186| `auth_success` | L'autenticazione si completa |186| `auth_success` | L'autenticazione si completa |

187| `auth_storage_failure` | L'accesso si completa, ma Claude Code non riesce a salvare le nuove credenziali nel suo [archivio delle credenziali](https://code.claude.com/docs/it/authentication.md#credential-management). Si attiva al posto di `auth_success` |

187| `elicitation_dialog` | Un server MCP apre un modulo di elicitazione e voi non avete digitato per circa sei secondi |188| `elicitation_dialog` | Un server MCP apre un modulo di elicitazione e voi non avete digitato per circa sei secondi |

188| `elicitation_url_dialog` | Un server MCP vi chiede di aprire un URL del browser e voi non avete digitato per circa sei secondi |189| `elicitation_url_dialog` | Un server MCP vi chiede di aprire un URL del browser e voi non avete digitato per circa sei secondi |

189| `elicitation_complete` | Un server MCP segnala che un'[elicitazione in modalità URL](https://code.claude.com/docs/it/hooks.md#elicitation-input) è completa |190| `elicitation_complete` | Un server MCP segnala che un'[elicitazione in modalità URL](https://code.claude.com/docs/it/hooks.md#elicitation-input) è completa |


197 198 

198Claude Code cronometra `permission_prompt` diversamente in un terminale e in Claude Desktop, l'estensione VS Code e altri host che rispondono alle richieste di autorizzazione attraverso l'Agent SDK. Consultate [quando ogni tipo di notifica si attiva](https://code.claude.com/docs/it/hooks.md#notification) per entrambi i timing.199Claude Code cronometra `permission_prompt` diversamente in un terminale e in Claude Desktop, l'estensione VS Code e altri host che rispondono alle richieste di autorizzazione attraverso l'Agent SDK. Consultate [quando ogni tipo di notifica si attiva](https://code.claude.com/docs/it/hooks.md#notification) per entrambi i timing.

199 200 

200I matcher `quota_auto_resume_fired`, `quota_auto_resume_stale` e `quota_auto_resume_disabled` richiedono Claude Code v2.1.234 o successivo.201I matcher `quota_auto_resume_fired`, `quota_auto_resume_stale` e `quota_auto_resume_disabled` richiedono Claude Code v2.1.234 o successivo. Il matcher `auth_storage_failure` richiede v2.1.288 o successivo.

201 202 

202Nelle sessioni di terminale, `permission_prompt` per una richiesta di rete di un comando sandboxed richiede Claude Code v2.1.246 o successivo.203Nelle sessioni di terminale, `permission_prompt` per una richiesta di rete di un comando sandboxed richiede Claude Code v2.1.246 o successivo.

203 204 


688| `SessionStart` | come è iniziata la sessione | `startup`, `resume`, `clear`, `compact`, `fork` |689| `SessionStart` | come è iniziata la sessione | `startup`, `resume`, `clear`, `compact`, `fork` |

689| `Setup` | quale flag CLI ha attivato il setup | `init`, `maintenance` |690| `Setup` | quale flag CLI ha attivato il setup | `init`, `maintenance` |

690| `SessionEnd` | perché è terminata la sessione | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |691| `SessionEnd` | perché è terminata la sessione | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |

691| `Notification` | tipo di notifica | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled`, `plugin_notification` |692| `Notification` | tipo di notifica | `permission_prompt`, `idle_prompt`, `auth_success`, `auth_storage_failure`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled`, `plugin_notification` |

692| `SubagentStart` | tipo di agente | `general-purpose`, `Explore`, `Plan`, o nomi di agenti personalizzati |693| `SubagentStart` | tipo di agente | `general-purpose`, `Explore`, `Plan`, o nomi di agenti personalizzati |

693| `PreCompact`, `PostCompact` | cosa ha attivato la compattazione | `manual`, `auto` |694| `PreCompact`, `PostCompact` | cosa ha attivato la compattazione | `manual`, `auto` |

694| `PreModelSwitch`, `PostModelSwitch` | nome canonico del modello a cui la sessione passa, come descritto sotto [PreModelSwitch](https://code.claude.com/docs/it/hooks.md#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |695| `PreModelSwitch`, `PostModelSwitch` | nome canonico del modello a cui la sessione passa, come descritto sotto [PreModelSwitch](https://code.claude.com/docs/it/hooks.md#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |

mcp.md +12 −2

Details

306 306 

307Il pannello `/mcp` mostra il numero di strumenti accanto a ogni server connesso e segnala i server che dichiarano la capacità tools ma non espongono alcuno strumento.307Il pannello `/mcp` mostra il numero di strumenti accanto a ogni server connesso e segnala i server che dichiarano la capacità tools ma non espongono alcuno strumento.

308 308 

309##### Numero di strumenti in una sessione cloud

310 

311In una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md), un conteggio come `3 of 13 tools available` significa che Claude non può usare gli altri 10. Verifica queste cause, tra le altre:

312 

313* **Una regola di negazione nel file `.claude/settings.json` del tuo repository indica lo strumento o il suo intero server**: rimuovi la [regola](https://code.claude.com/docs/it/permissions.md#mcp), se [la tua sessione legge quel file](https://code.claude.com/docs/it/settings.md#settings-in-cloud-sessions)

314* **Il nome completo dello strumento supera i 128 caratteri**: segui [i passaggi per un nome troppo lungo](https://code.claude.com/docs/it/errors.md#mcp-tool-name-over-128-characters)

315* **Il server elenca lo strumento per la propria interfaccia e non per Claude**: se gestisci il server, aggiungi `model` a `_meta.ui.visibility` dello strumento per renderlo disponibile a Claude. Altrimenti, non c'è nulla da correggere.

316 

317##### Strumenti di un server ancora in fase di connessione

318 

309Se la tua richiesta necessita di strumenti di un server che si sta ancora connettendo in background, Claude attende quel server prima di continuare. Il modo in cui avviene l'attesa dipende dalla tua configurazione:319Se la tua richiesta necessita di strumenti di un server che si sta ancora connettendo in background, Claude attende quel server prima di continuare. Il modo in cui avviene l'attesa dipende dalla tua configurazione:

310 320 

311* **Con la [ricerca degli strumenti](#scale-with-mcp-tool-search), il comportamento predefinito**: l'attesa avviene all'interno della chiamata `ToolSearch`.321* **Con la [ricerca degli strumenti](#scale-with-mcp-tool-search), il comportamento predefinito**: l'attesa avviene all'interno della chiamata `ToolSearch`.


349* Fa fallire un [accesso OAuth MCP](#authenticate-with-remote-mcp-servers) la cui risposta di autorizzazione indica un emittente inatteso.359* Fa fallire un [accesso OAuth MCP](#authenticate-with-remote-mcp-servers) la cui risposta di autorizzazione indica un emittente inatteso.

350* Invia le credenziali [OAuth MCP](#authenticate-with-remote-mcp-servers) solo a un endpoint dei token servito tramite HTTPS o su `localhost`, `127.0.0.1` o `::1`. L'accesso fallisce per un server il cui endpoint dei token è `http://` semplice in qualsiasi altra posizione, come un dispositivo sulla tua rete locale. Consulta [Refusing to send credentials to non-https token endpoint](https://code.claude.com/docs/it/errors.md#refusing-to-send-credentials-to-non-https-token-endpoint).360* Invia le credenziali [OAuth MCP](#authenticate-with-remote-mcp-servers) solo a un endpoint dei token servito tramite HTTPS o su `localhost`, `127.0.0.1` o `::1`. L'accesso fallisce per un server il cui endpoint dei token è `http://` semplice in qualsiasi altra posizione, come un dispositivo sulla tua rete locale. Consulta [Refusing to send credentials to non-https token endpoint](https://code.claude.com/docs/it/errors.md#refusing-to-send-credentials-to-non-https-token-endpoint).

351 361 

352Anthropic può mantenere un server specifico sul protocollo precedente, o fuori da quello stream, con un feature flag che Claude Code recupera.362Anthropic può mantenere un server specifico sul protocollo precedente, o fuori da quello stream, con un feature flag recuperato da Claude Code. Per scegliere tu il runtime, imposta [`MCP_SDK_GENERATION`](https://code.claude.com/docs/it/env-vars) su `v1` o `v2`.

353 363 

354Per scegliere tu stesso il runtime, imposta [`MCP_SDK_GENERATION`](https://code.claude.com/docs/it/env-vars) su `v1` o `v2`. Per decidere se Claude Code pone la domanda, imposta [`MCP_PROTOCOL_NEGOTIATION`](https://code.claude.com/docs/it/env-vars) su `auto` o `legacy`.364Per decidere se Claude Code chiede ai server della revisione più recente, imposta [`MCP_PROTOCOL_NEGOTIATION`](https://code.claude.com/docs/it/env-vars) su `auto` o `legacy`. Con quella variabile non impostata, Claude Code può evitare di chiedere a un server stdio per 7 giorni, per esempio dopo che il server termina quando interrogato. Per fare in modo che un server aggiornato venga interrogato prima, imposta `auto`.

355 365 

356### Aggiornamenti dinamici degli strumenti366### Aggiornamenti dinamici degli strumenti

357 367 

mobile.md +1 −1

Details

66 66 

67### Ricevi notifiche push67### Ricevi notifiche push

68 68 

69Quando Remote Control è attivo, Claude può inviare notifiche push al tuo telefono, tipicamente quando un task a lunga esecuzione finisce o quando ha bisogno di una decisione da te. Puoi anche chiederne una nel tuo prompt, come `notificami quando i test finiscono`. Vedi [notifiche push mobile](https://code.claude.com/docs/it/remote-control.md#mobile-push-notifications) per i due toggle `/config` e la risoluzione dei problemi di consegna.69Quando Remote Control è attivo, Claude può inviare notifiche push al tuo telefono quando un task a lunga esecuzione finisce o quando ha bisogno di una decisione da te. Puoi anche chiederne una nel tuo prompt, come `notify me when the tests finish`. Vedi [notifiche push mobile](https://code.claude.com/docs/it/remote-control.md#mobile-push-notifications) per i due toggle `/config` e la risoluzione dei problemi di consegna.

70 70 

71Dispatch invia la sua propria notifica quando una sessione Code che ha generato finisce o ha bisogno della tua approvazione, descritta in [sessioni da Dispatch](https://code.claude.com/docs/it/desktop.md#sessions-from-dispatch).71Dispatch invia la sua propria notifica quando una sessione Code che ha generato finisce o ha bisogno della tua approvazione, descritta in [sessioni da Dispatch](https://code.claude.com/docs/it/desktop.md#sessions-from-dispatch).

72 72 

model-config.md +10 −1

Details

566* Se entrambi i modelli segnalano la stessa richiesta, puoi modificare il prompt e riprovare, o avviare una nuova sessione.566* Se entrambi i modelli segnalano la stessa richiesta, puoi modificare il prompt e riprovare, o avviare una nuova sessione.

567* Nelle [sessioni cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md) sull'app mobile, la modifica e il nuovo tentativo non sono supportati. Cambia modello, oppure continua la sessione da un browser desktop o dall'app desktop.567* Nelle [sessioni cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md) sull'app mobile, la modifica e il nuovo tentativo non sono supportati. Cambia modello, oppure continua la sessione da un browser desktop o dall'app desktop.

568* In [modalità non interattiva](https://code.claude.com/docs/it/cli-reference.md#cli-flags) e nelle integrazioni SDK che non possono mostrare la richiesta di conferma, una richiesta segnalata termina invece il turno con un rifiuto.568* In [modalità non interattiva](https://code.claude.com/docs/it/cli-reference.md#cli-flags) e nelle integrazioni SDK che non possono mostrare la richiesta di conferma, una richiesta segnalata termina invece il turno con un rifiuto.

569* In un [subagent](https://code.claude.com/docs/it/sub-agents.md), Claude Code non mostra la richiesta di conferma, e una richiesta segnalata che cambierebbe modello viene rieseguita sul modello di fallback.569* In un subagent che Claude avvia con lo [strumento Agent](https://code.claude.com/docs/it/tools-reference.md#agent-tool-behavior), Claude Code non si ferma per chiedere, e il subagent fallisce invece di cambiare modello. Consulta [I subagent cambiano modello o falliscono senza chiedere](#subagents-switch-or-fail-without-asking).

570* Quando il target di fallback è bloccato da [`availableModels`](#restrict-model-selection), Claude Code non mostra la richiesta di conferma. La richiesta segnalata termina con il rifiuto, come il fallback automatico quando il target è bloccato.570* Quando il target di fallback è bloccato da [`availableModels`](#restrict-model-selection), Claude Code non mostra la richiesta di conferma. La richiesta segnalata termina con il rifiuto, come il fallback automatico quando il target è bloccato.

571 571 

572#### I subagent cambiano modello o falliscono senza chiedere

573 

574In un [subagent](https://code.claude.com/docs/it/sub-agents.md) integrato o personalizzato che Claude avvia con lo [strumento Agent](https://code.claude.com/docs/it/tools-reference.md#agent-tool-behavior), Claude Code non [si ferma per chiedere](#ask-before-switching) a una richiesta segnalata. Se è disponibile un modello di fallback, la richiesta viene rieseguita su di esso oppure il subagent fallisce, in base alla tua scelta per **Cambia modelli quando un messaggio viene segnalato** in `/config`:

575 

576* **Cambia automaticamente**, o nessuna scelta ancora effettuata: la richiesta viene rieseguita sul modello di fallback, e il modello della tua sessione rimane invariato

577* **Chiedi ogni volta**: il subagent fallisce con [`Agent terminated early due to an API error`](https://code.claude.com/docs/it/errors#agent-terminated-early-due-to-an-api-error) e il messaggio di rifiuto. Claude riceve quell'errore e decide cosa fare dell'attività non completata. Per consentire ai subagent di cambiare modello, scegli **Cambia automaticamente**. In tal caso anche la tua conversazione principale cambia modello senza chiedere.

578 

579Quando non è disponibile alcun modello di fallback, il subagent fallisce allo stesso modo con entrambe le scelte. Prima della v2.1.318, la richiesta segnalata di un subagent veniva rieseguita su un modello di fallback disponibile, qualunque fosse la tua scelta.

580 

572#### Abilitare il fallback su Bedrock, Agent Platform e Foundry581#### Abilitare il fallback su Bedrock, Agent Platform e Foundry

573 582 

574Su [Amazon Bedrock](https://code.claude.com/docs/it/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/it/google-vertex-ai.md) e [Microsoft Foundry](https://code.claude.com/docs/it/microsoft-foundry.md), gli ID modello sono specifici del provider, quindi il fallback automatico funziona solo quando Claude Code può identificare ciascun modello coinvolto:583Su [Amazon Bedrock](https://code.claude.com/docs/it/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/it/google-vertex-ai.md) e [Microsoft Foundry](https://code.claude.com/docs/it/microsoft-foundry.md), gli ID modello sono specifici del provider, quindi il fallback automatico funziona solo quando Claude Code può identificare ciascun modello coinvolto:

Details

89export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem89export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem

90```90```

91 91 

92Se vedi uno di questi avvisi, Claude Code non è riuscito a caricare il file `NODE_EXTRA_CA_CERTS` nella sua interezza, e le connessioni che richiedono un certificato che ha ignorato possono non riuscire:

93 

94* `Claude Code used only the certificates that it could read in full from the NODE_EXTRA_CA_CERTS file`

95* `Claude Code ignored all of the NODE_EXTRA_CA_CERTS file: it holds no certificate that Claude Code can read`

96 

97Il testo completo di ciascun avviso spiega come correggere il file. Un certificato ignorato che si trova anche nell'[archivio dei certificati CA](#ca-certificate-store) continua a funzionare.

98 

92## Autenticazione mTLS99## Autenticazione mTLS

93 100 

94Per gli ambienti aziendali che richiedono l'autenticazione tramite certificato client:101Per gli ambienti aziendali che richiedono l'autenticazione tramite certificato client:

Details

154 154 

155### Modalità di permesso con la configurazione HIPAA155### Modalità di permesso con la configurazione HIPAA

156 156 

157In un'organizzazione in cui è applicata la [configurazione HIPAA](https://code.claude.com/docs/it/hipaa-setup.md), l'impostazione predefinita integrata `auto` non si applica. Una sessione di terminale o di VS Code inizia in modalità Manual quando nient'altro sceglie la sua modalità di permesso iniziale. Una sessione di terminale mostra anche `Auto mode isn't the default for your organization · Shift+Tab to switch`, mentre l'estensione VS Code non mostra alcun avviso. [Verifica come gli sviluppatori accedono e si connettono](https://code.claude.com/docs/it/hipaa-setup.md#check-how-developers-sign-in-and-connect) elenca le sessioni a cui si applica.157In un'organizzazione in cui è applicata la [configurazione HIPAA](https://code.claude.com/docs/it/hipaa-setup.md), l'[impostazione predefinita integrata `auto`](#which-mode-a-session-starts-in) non si applica. Una sessione di terminale o di VS Code inizia in modalità Manual quando nient'altro sceglie la sua modalità di permesso iniziale. Una sessione di terminale mostra anche `Auto mode isn't the default for your organization · Shift+Tab to switch`, mentre l'estensione VS Code non mostra alcun avviso. [Verifica come gli sviluppatori accedono e si connettono](https://code.claude.com/docs/it/hipaa-setup.md#check-how-developers-sign-in-and-connect) elenca le sessioni a cui si applica.

158 158 

159La modalità auto e `bypassPermissions` rimangono disponibili:159La modalità auto e `bypassPermissions` rimangono disponibili:

160 160 


163* **Rimuovi la modalità auto**: imposta [`permissions.disableAutoMode`](https://code.claude.com/docs/it/settings-reference#disableautomode) su `"disable"` nelle impostazioni gestite163* **Rimuovi la modalità auto**: imposta [`permissions.disableAutoMode`](https://code.claude.com/docs/it/settings-reference#disableautomode) su `"disable"` nelle impostazioni gestite

164* **Blocca `bypassPermissions`**: imposta [`permissions.disableBypassPermissionsMode`](https://code.claude.com/docs/it/settings-reference#permissions-disablebypasspermissionsmode) su `"disable"` nelle impostazioni gestite164* **Blocca `bypassPermissions`**: imposta [`permissions.disableBypassPermissionsMode`](https://code.claude.com/docs/it/settings-reference#permissions-disablebypasspermissionsmode) su `"disable"` nelle impostazioni gestite

165 165 

166Richiede Claude Code v2.1.285 o successivo, la [versione minima per la configurazione HIPAA](https://code.claude.com/docs/it/hipaa-setup.md#update-claude-code-and-claude-desktop).

167 

168## Cambiare le modalità di autorizzazione166## Cambiare le modalità di autorizzazione

169 167 

170Ogni interfaccia ha il proprio controllo per cambiare le modalità di autorizzazione durante una sessione e il proprio modo di scegliere la modalità di autorizzazione con cui iniziano le nuove sessioni. Seleziona la tua interfaccia per vedere i suoi controlli.168Ogni interfaccia ha il proprio controllo per cambiare le modalità di autorizzazione durante una sessione e il proprio modo di scegliere la modalità di autorizzazione con cui iniziano le nuove sessioni. Seleziona la tua interfaccia per vedere i suoi controlli.


253>251>

254> Su [claude.ai/code](https://claude.ai/code), utilizza il menu a discesa della modalità nella riga sotto la casella del prompt. Nell'app mobile, tocca il pulsante **+** nella casella del prompt, poi **Permission**. Le sessioni cloud e le sessioni Remote Control offrono modalità di permesso diverse:252> Su [claude.ai/code](https://claude.ai/code), utilizza il menu a discesa della modalità nella riga sotto la casella del prompt. Nell'app mobile, tocca il pulsante **+** nella casella del prompt, poi **Permission**. Le sessioni cloud e le sessioni Remote Control offrono modalità di permesso diverse:

255>253>

256> * **[Sessioni cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md)**: Accept edits, Plan e Auto. Accept edits corrisponde alla modalità `default`: le sessioni cloud pre-approvano le modifiche ai file indipendentemente dalla modalità, quindi il menu a discesa mostra Accept edits invece di Manual. Le sessioni cloud rispettano comunque `defaultMode: "acceptEdits"` dalle impostazioni. La modalità auto appare solo quando la tua organizzazione la consente e il modello selezionato la supporta. Bypass permissions non è disponibile.254> * **[Sessioni cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md)**: Accept edits, Plan e Auto. Accept edits corrisponde alla modalità `default`: le sessioni cloud pre-approvano le modifiche ai file indipendentemente dalla modalità, quindi il menu a discesa mostra Accept edits invece di Manual. Le sessioni cloud rispettano comunque `defaultMode: "acceptEdits"` dalle impostazioni. La modalità auto appare a meno che la tua organizzazione non la disattivi, e su claude.ai/code è disattivata in grigio se il modello selezionato non la [supporta](#eliminate-prompts-with-auto-mode). Bypass permissions non è disponibile.

257> * **[Sessioni Remote Control](https://code.claude.com/docs/it/remote-control.md)** sulla tua macchina locale: Manual, Accept edits, Plan e Auto per una sessione che hai avviato tu stesso, e non puoi selezionare Bypass permissions dall'app. Per usare Auto, la sessione deve soddisfare i [requisiti di disponibilità](#eliminate-prompts-with-auto-mode) della modalità auto. Per un thread di progetto in esecuzione sul tuo computer, consulta [Esegui un thread sul tuo computer](https://code.claude.com/docs/it/claude-projects.md#run-a-thread-on-your-own-computer).255> * **[Sessioni Remote Control](https://code.claude.com/docs/it/remote-control.md)** sulla tua macchina locale: Manual, Accept edits, Plan e Auto per una sessione che hai avviato tu stesso, e non puoi selezionare Bypass permissions dall'app. Per usare Auto, la sessione deve soddisfare i [requisiti di disponibilità](#eliminate-prompts-with-auto-mode) della modalità auto. Per un thread di progetto in esecuzione sul tuo computer, consulta [Esegui un thread sul tuo computer](https://code.claude.com/docs/it/claude-projects.md#run-a-thread-on-your-own-computer).

258> * Ad eccezione di Bypass permissions, il menu a discesa mostra la modalità di permesso in cui si trova la sessione locale, inclusa una impostata dal terminale. Si aggiorna quando la modalità di permesso cambia nell'app o nel terminale.256> * Ad eccezione di Bypass permissions, il menu a discesa mostra la modalità di permesso in cui si trova la sessione locale, inclusa una impostata dal terminale. Si aggiorna quando la modalità di permesso cambia nell'app o nel terminale.

259> * Le sessioni ospitate dall'[app desktop](https://code.claude.com/docs/it/desktop.md) o dall'[estensione VS Code](https://code.claude.com/docs/it/vs-code.md) segnalano i cambiamenti della modalità di permesso a claude.ai man mano che avvengono, come le sessioni ospitate in un terminale.257> * Le sessioni ospitate dall'[app desktop](https://code.claude.com/docs/it/desktop.md) o dall'[estensione VS Code](https://code.claude.com/docs/it/vs-code.md) segnalano i cambiamenti della modalità di permesso a claude.ai man mano che avvengono, come le sessioni ospitate in un terminale.


433claude --permission-mode auto --debug-file classifier-debug.log431claude --permission-mode auto --debug-file classifier-debug.log

434```432```

435 433 

436Fai eseguire a Claude un comando della shell che non sia di sola lettura, poi cerca nel log `classifier_request_started`:434Per dare al classificatore un comando da esaminare, fai eseguire a Claude `curl https://example.com`, poi cerca nel log `classifier_request_started`:

437 435 

438* **Il tuo modello dopo `model=`**: la variabile ha avuto effetto436* **Il tuo modello dopo `model=`**: la variabile ha avuto effetto

439* **Un modello diverso dopo `model=`**: cerca nel log `ignoring CLAUDE_CODE_AUTO_MODE_MODEL`, che indica il motivo e l'eventuale passaggio da eseguire437* **Un modello diverso dopo `model=`**: cerca nel log `ignoring CLAUDE_CODE_AUTO_MODE_MODEL`, che indica il motivo e l'eventuale passaggio da eseguire

440* **Nessuna riga del genere**: leggi `Auto mode server` in `/status` al prompt di Claude Code:438* **Nessuna riga del genere**: leggi `Auto mode server` in `/status` al prompt di Claude Code:

441 * **`Enabled`**: il [server](#server-side-classifier-review) è impostato per esaminare le chiamate di questa sessione.439 * **`Enabled`**: il [server](#server-side-classifier-review) è impostato per esaminare le chiamate di questa sessione.

442 * **`Disabled`**: assicurati che la [modalità di permesso](#switch-permission-modes) sia auto, poi fai eseguire a Claude un altro comando che non sia di sola lettura.440 * **`Disabled`**: questo controllo non ha ancora testato il tuo modello. Assicurati che la [modalità di permesso](#switch-permission-modes) sia auto e che nessuna [regola di permesso](https://code.claude.com/docs/it/permissions.md#manage-permissions) corrisponda a `curl`, poi esegui di nuovo il controllo con la [sandbox](https://code.claude.com/docs/it/sandboxing.md) disattivata.

443 441 

444### Cosa blocca il classificatore per impostazione predefinita442### Cosa blocca il classificatore per impostazione predefinita

445 443 

permissions.md +7 −4

Details

338 338 

339#### Cosa coprono le regole `Read` e `Edit`339#### Cosa coprono le regole `Read` e `Edit`

340 340 

341Le regole `Edit` si applicano a tutti gli strumenti integrati che modificano i file. Claude fa il possibile per applicare le regole `Read` a tutti gli strumenti integrati che leggono file, come Grep e Glob, alle menzioni `@file` nei tuoi prompt e alla selezione e al contesto dei file aperti che un [IDE](https://code.claude.com/docs/it/vs-code.md#the-built-in-ide-mcp-server) connesso condivide con Claude.341Le regole `Edit` si applicano a tutti gli strumenti integrati che modificano i file. Claude fa il possibile per applicare le regole deny `Read(path)` a tutti gli strumenti integrati che leggono file, come Grep e Glob. Fa lo stesso tentativo di applicare le regole deny `Read(path)` alle menzioni `@file` nei tuoi prompt e alla selezione e al contesto dei file aperti che un [IDE](https://code.claude.com/docs/it/vs-code.md#the-built-in-ide-mcp-server) connesso condivide con Claude.

342 342 

343Una regola deny `Read(path)` si applica anche ai percorsi di immagini che incolli in un prompt e alle directory che menzioni con @:343Una regola deny `Read(path)` si applica anche ai percorsi di immagini che incolli in un prompt e alle directory che menzioni con @:

344 344 


353>353>

354> Le regole deny Read e Edit si applicano agli strumenti integrati per i file di Claude, ai comandi sui file che Claude Code riconosce in Bash, come `cat`, `head`, `tail`, `sed` e `tee`, e alle destinazioni dei [reindirizzamenti](#redirections) Bash come `> file` e `< file`. Non si applicano a un comando che legge file senza nominarli, come `grep -r pattern .` eseguito dalla directory che contiene il file, né a sottoprocessi arbitrari che leggono o scrivono file indirettamente, come uno script Python o Node che apre i file autonomamente. Per un'applicazione a livello di sistema operativo che impedisca a tutti i processi di accedere a un percorso, [abilita la sandbox](https://code.claude.com/docs/it/sandboxing.md).354> Le regole deny Read e Edit si applicano agli strumenti integrati per i file di Claude, ai comandi sui file che Claude Code riconosce in Bash, come `cat`, `head`, `tail`, `sed` e `tee`, e alle destinazioni dei [reindirizzamenti](#redirections) Bash come `> file` e `< file`. Non si applicano a un comando che legge file senza nominarli, come `grep -r pattern .` eseguito dalla directory che contiene il file, né a sottoprocessi arbitrari che leggono o scrivono file indirettamente, come uno script Python o Node che apre i file autonomamente. Per un'applicazione a livello di sistema operativo che impedisca a tutti i processi di accedere a un percorso, [abilita la sandbox](https://code.claude.com/docs/it/sandboxing.md).

355 355 

356#### Le regole `Write(path)`, `NotebookEdit(path)` e `Glob(path)` non corrispondono mai356#### Le regole `Write(path)`, `Glob(path)` e `Grep(path)` non corrispondono

357 357 

358Claude Code controlla i permessi sui file solo rispetto alle regole `Edit(path)` e `Read(path)`. Se scrivi una regola di percorso per `Write`, `NotebookEdit`, `Glob` o lo strumento legacy `MultiEdit`, Claude Code accetta la regola ma non la confronta mai con una lettura o una modifica.358Claude Code controlla i permessi sui file rispetto alle regole `Edit(path)` e `Read(path)`. Accetta una regola con un percorso diverso da `*` per uno degli strumenti seguenti, ma non confronta con essa una lettura, una ricerca o una modifica. Una regola deny `Grep(docs/**)` non impedisce a Grep di cercare in `docs`. Scrivi al suo posto la regola `Edit` o `Read`:

359 359 

360Usa `Edit(docs/**)` al posto di `Write(docs/**)`, `NotebookEdit(docs/**)` o `MultiEdit(docs/**)`, e `Read(docs/**)` al posto di `Glob(docs/**)`. Per corrispondere a ogni uso dello strumento Write, NotebookEdit o Glob indipendentemente dal percorso, scrivi solo il nome dello strumento.360* **`Write`, `NotebookEdit` o il legacy `MultiEdit`**: usa `Edit(docs/**)` al posto di `Write(docs/**)`.

361* **`Glob` o `Grep`**: usa `Read(docs/**)` al posto di `Grep(docs/**)`. Come regola ask, `Read(docs/**)` chiede conferma quando Claude chiama Grep o Glob su un percorso corrispondente, ma non quando una ricerca in una directory di lavoro al di sopra di esso restituisce file corrispondenti.

362 

363Per corrispondere a ogni uso di uno di questi strumenti indipendentemente dal percorso, [scrivi solo il nome dello strumento](#match-all-uses-of-a-tool).

361 364 

362#### Come corrispondono i pattern di percorso365#### Come corrispondono i pattern di percorso

363 366 

Details

608 608 

609#### Convalida una directory609#### Convalida una directory

610 610 

611Il `<path>` è un file manifest o una directory. Data una directory, Claude Code sceglie cosa convalidare da quello che trova lì:611Il `<path>` è un [file manifest](#validate-a-manifest-file) o una directory. Data una directory, Claude Code sceglie cosa convalidare da quello che trova lì:

612 612 

613* `.claude-plugin/marketplace.json`, quando esiste613* `.claude-plugin/marketplace.json`, quando esiste

614* Altrimenti `.claude-plugin/plugin.json`614* Altrimenti `.claude-plugin/plugin.json`


631* **Un `CLAUDE.md` alla root del plugin**: in un'esecuzione plugin, Claude Code avverte anche di un `CLAUDE.md` alla root del plugin631* **Un `CLAUDE.md` alla root del plugin**: in un'esecuzione plugin, Claude Code avverte anche di un `CLAUDE.md` alla root del plugin

632* **File plugin in un'esecuzione marketplace**: da una directory marketplace, Claude Code non apre i file skill, agente, comando o hook dei plugin che il marketplace elenca in altre directory, né i file dei server MCP che includono. Per trovare errori in quei file, convalida ogni directory plugin632* **File plugin in un'esecuzione marketplace**: da una directory marketplace, Claude Code non apre i file skill, agente, comando o hook dei plugin che il marketplace elenca in altre directory, né i file dei server MCP che includono. Per trovare errori in quei file, convalida ogni directory plugin

633 633 

634#### Convalida un file manifest

635 

636Quando il file non si chiama `plugin.json` o `marketplace.json` e non si trova in una directory `.claude-plugin`, Claude Code decide cosa sia in base ai suoi campi. Convalida il file come marketplace in questi casi, e altrimenti come manifest plugin:

637 

638* `plugins` è un array

639* `plugins` e `owner` sono entrambi presenti

640* Il file ha un campo che solo `marketplace.json` definisce, come `owner`, e nessuno che solo `plugin.json` definisce, come `author`

641 

642Per scegliere tu stesso i controlli, chiama il file `plugin.json` o `marketplace.json`. Claude Code convalida qualsiasi altro file in una directory `.claude-plugin` come manifest plugin.

643 

634#### Output e codici di uscita644#### Output e codici di uscita

635 645 

636Claude Code stampa il file che ha convalidato, eventuali errori e avvertimenti con i loro percorsi, e una riga di verdetto. Il codice di uscita segue il verdetto:646Claude Code stampa il file che ha convalidato, eventuali errori e avvertimenti con i loro percorsi, e una riga di verdetto. Il codice di uscita segue il verdetto:

Details

455 455 

456## Validation messages456## Validation messages

457 457 

458`claude plugin validate <path>` accetta la radice del marketplace o il file marketplace stesso. Stampa errori e avvisi. Per i codici di uscita e `--strict`, vedere [plugin validate](https://code.claude.com/docs/it/plugins/cli-reference.md#plugin-validate).458`claude plugin validate <path>` accetta la radice del marketplace o il file marketplace stesso. Affinché quel file venga [convalidato come marketplace](https://code.claude.com/docs/it/plugins/cli-reference.md#validate-a-manifest-file) anziché come manifest di plugin, chiamalo `marketplace.json`. Per i codici di uscita e `--strict`, consulta [plugin validate](https://code.claude.com/docs/it/plugins/cli-reference.md#plugin-validate).

459 459 

460Un messaggio nomina una voce di plugin per il suo indice, scritto come `plugins.1.source` o `plugins[1].source`.460Un messaggio nomina una voce di plugin per il suo indice, scritto come `plugins.1.source` o `plugins[1].source`.

461 461 

Details

103La [modalità veloce](https://code.claude.com/docs/it/fast-mode.md) e la velocità standard mantengono cache separate, quindi dopo che attivi o disattivi la modalità veloce, la richiesta successiva non può usare ciò che l'altra velocità ha memorizzato nella cache. La prima volta che attivi la modalità veloce in una conversazione, la richiesta successiva legge l'intera conversazione fino a quel punto senza cache alle [tariffe della modalità veloce](https://code.claude.com/docs/it/fast-mode.md#understand-the-cost-tradeoff). Per mantenere basso quel costo, attivala all'inizio di una sessione.103La [modalità veloce](https://code.claude.com/docs/it/fast-mode.md) e la velocità standard mantengono cache separate, quindi dopo che attivi o disattivi la modalità veloce, la richiesta successiva non può usare ciò che l'altra velocità ha memorizzato nella cache. La prima volta che attivi la modalità veloce in una conversazione, la richiesta successiva legge l'intera conversazione fino a quel punto senza cache alle [tariffe della modalità veloce](https://code.claude.com/docs/it/fast-mode.md#understand-the-cost-tradeoff). Per mantenere basso quel costo, attivala all'inizio di una sessione.

104 104 

105* Se la attivi mentre Claude sta lavorando, quel turno termina alla velocità standard, e paghi l'eventuale lettura non memorizzata nella cache sulla prima richiesta del tuo turno successivo.105* Se la attivi mentre Claude sta lavorando, quel turno termina alla velocità standard, e paghi l'eventuale lettura non memorizzata nella cache sulla prima richiesta del tuo turno successivo.

106* Se il tuo modello attuale non supporta la modalità veloce, l'abilitazione della modalità veloce [ti fa passare anche a Opus](https://code.claude.com/docs/it/fast-mode.md#toggle-fast-mode). Quel [cambio di modello](#switching-models) avvia di per sé una cache nuova dalla richiesta successiva nel turno in esecuzione.106* Se il tuo modello attuale non supporta la modalità veloce, l'esecuzione di `/fast` [ti fa passare anche a Opus](https://code.claude.com/docs/it/fast-mode.md#toggle-fast-mode). Quel [cambio di modello](#switching-models) avvia di per sé una cache nuova dalla richiesta successiva nel turno in esecuzione.

107 107 

108Ogni attivazione/disattivazione successiva legge senza cache tutto ciò che la velocità a cui passi non ha memorizzato nella cache. Anche i cambi di velocità che Claude Code effettua da solo, come il [fallback alla velocità standard](https://code.claude.com/docs/it/fast-mode.md#handle-rate-limits) dopo un rate limit e il successivo ritorno alla modalità veloce, contano come attivazioni/disattivazioni.108Ogni attivazione/disattivazione successiva legge senza cache tutto ciò che la velocità a cui passi non ha memorizzato nella cache. Anche i cambi di velocità che Claude Code effettua da solo, come il [fallback alla velocità standard](https://code.claude.com/docs/it/fast-mode.md#handle-rate-limits) dopo un rate limit e il successivo ritorno alla modalità veloce, contano come attivazioni/disattivazioni.

109 109 

Details

147* **This session was ended or archived from another device or app**: eseguire `/remote-control` solo se si vuole la sessione indietro. Claude Code riapre una sessione archiviata.147* **This session was ended or archived from another device or app**: eseguire `/remote-control` solo se si vuole la sessione indietro. Claude Code riapre una sessione archiviata.

148* **The server no longer reports this session**: potrebbe essere stato eliminato da un altro dispositivo o app.148* **The server no longer reports this session**: potrebbe essere stato eliminato da un altro dispositivo o app.

149 149 

150Se `/remote-control` apre una finestra di dialogo che dice `Remote Control isn't connected.`, segui il passaggio indicato dalla finestra, ad esempio eseguire `/login` oppure selezionare **Continue** e riprovare.

151 

150### Connettersi da un altro dispositivo152### Connettersi da un altro dispositivo

151 153 

152Una volta che una sessione Remote Control è attiva, hai alcuni modi per connetterti da un altro dispositivo:154Una volta che una sessione Remote Control è attiva, hai alcuni modi per connetterti da un altro dispositivo:


318 320 

319Quando Remote Control è attivo, Claude può inviare notifiche push al tuo telefono.321Quando Remote Control è attivo, Claude può inviare notifiche push al tuo telefono.

320 322 

321Claude decide quando inviare una notifica. Tipicamente ne invia una quando un'attività a lunga esecuzione termina o quando ha bisogno di una decisione da parte tua per continuare. Puoi anche richiedere una notifica nel tuo prompt, ad esempio `notify me when the tests finish`. Oltre ai due interruttori on/off di seguito, non c'è alcuna configurazione per evento.323Una notifica push può arrivare quando un'attività a lunga esecuzione termina o quando Claude ha bisogno di una decisione da parte tua. Puoi anche richiedere una notifica push nel tuo prompt, ad esempio `notify me when the tests finish`. Oltre ai due interruttori on/off di seguito, non c'è alcuna configurazione per evento.

322 324 

323Per configurare le notifiche push mobili:325Per configurare le notifiche push mobili:

324 326 

Details

25| [Dev container](#dev-containers) | Ambiente di sviluppo completo | Sì | Medio |25| [Dev container](#dev-containers) | Ambiente di sviluppo completo | Sì | Medio |

26| [Custom container](#custom-container) | Ambiente di sviluppo completo | Sì | Medio-alto |26| [Custom container](#custom-container) | Ambiente di sviluppo completo | Sì | Medio-alto |

27| [Virtual machine](#virtual-machine) | Sistema operativo completo | No | Alto |27| [Virtual machine](#virtual-machine) | Sistema operativo completo | No | Alto |

28| [Cloud sessions](#cloud-sessions) | Sistema operativo completo, ospitato da Anthropic | No | Nessuno; richiede un abbonamento Claude e un account GitHub connesso a meno che non avvii con `claude --cloud` |28| [Cloud sessions](#cloud-sessions) | Sistema operativo completo, ospitato da Anthropic | No | Nessuno; richiede un abbonamento Claude e un account GitHub connesso per clonare un repository GitHub |

29 29 

30Lo [sandboxed Bash tool](https://code.claude.com/docs/it/sandboxing.md) è integrato in Claude Code e limita i comandi Bash. I file tools integrati, i server MCP e gli hooks vengono comunque eseguiti direttamente sul tuo host. Ogni altro approccio nella tabella posiziona l'intero processo Claude Code all'interno del confine di isolamento, quindi i file tools, i server MCP e gli hooks sono anch'essi limitati.30Lo [sandboxed Bash tool](https://code.claude.com/docs/it/sandboxing.md) è integrato in Claude Code e limita i comandi Bash. I file tools integrati, i server MCP e gli hooks vengono comunque eseguiti direttamente sul tuo host. Ogni altro approccio nella tabella posiziona l'intero processo Claude Code all'interno del confine di isolamento, quindi i file tools, i server MCP e gli hooks sono anch'essi limitati.

31 31 


46| Isolare i server MCP e gli hooks così come Bash, senza Docker | Il sandbox runtime |46| Isolare i server MCP e gli hooks così come Bash, senza Docker | Il sandbox runtime |

47| Lavorare su un repository non attendibile | Una macchina virtuale dedicata, o una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md) se hai un abbonamento Claude; GitHub non è richiesto quando avvii con `claude --cloud` |47| Lavorare su un repository non attendibile | Una macchina virtuale dedicata, o una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md) se hai un abbonamento Claude; GitHub non è richiesto quando avvii con `claude --cloud` |

48| Standardizzare un ambiente sandboxed in un team | Il [dev container](https://code.claude.com/docs/it/devcontainer.md) preconfigurato, copiato nel tuo repository |48| Standardizzare un ambiente sandboxed in un team | Il [dev container](https://code.claude.com/docs/it/devcontainer.md) preconfigurato, copiato nel tuo repository |

49| Usare Claude Code da un dispositivo senza setup locale | Una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md), che richiede un abbonamento Claude e un account GitHub connesso |49| Usare Claude Code da un dispositivo senza setup locale | Una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md), che richiede un abbonamento Claude, e un account GitHub connesso per clonare un repository GitHub |

50| Richiedere l'isolamento per ogni sviluppatore nella tua organizzazione | [Applicare l'isolamento in un'organizzazione](#enforce-isolation-across-an-organization) |50| Richiedere l'isolamento per ogni sviluppatore nella tua organizzazione | [Applicare l'isolamento in un'organizzazione](#enforce-isolation-across-an-organization) |

51| Lavorare su un host Windows nativo | Un container o VM, o eseguire la sandbox Bash all'interno di WSL2 |51| Lavorare su un host Windows nativo | Un container o VM, o eseguire la sandbox Bash all'interno di WSL2 |

52 52 


165 165 

166Una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md) viene eseguita in una macchina virtuale isolata gestita da Anthropic. Un proxy di rete applica una whitelist predefinita, e un proxy separato tiene il vostro token GitHub al di fuori della sandbox mentre emette credenziali scoped per l'accesso al repository all'interno di essa. Le sessioni che la vostra organizzazione instrada a un [ambiente self-hosted](https://code.claude.com/docs/it/self-hosted-environments) vengono eseguite su infrastruttura che voi stessi provisionate, dove l'isolamento, il controllo dell'egress e le credenziali git sono responsabilità della vostra distribuzione.166Una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md) viene eseguita in una macchina virtuale isolata gestita da Anthropic. Un proxy di rete applica una whitelist predefinita, e un proxy separato tiene il vostro token GitHub al di fuori della sandbox mentre emette credenziali scoped per l'accesso al repository all'interno di essa. Le sessioni che la vostra organizzazione instrada a un [ambiente self-hosted](https://code.claude.com/docs/it/self-hosted-environments) vengono eseguite su infrastruttura che voi stessi provisionate, dove l'isolamento, il controllo dell'egress e le credenziali git sono responsabilità della vostra distribuzione.

167 167 

168Utilizzate questo approccio quando desiderate l'isolamento completo della VM senza provisioning dell'infrastruttura da soli, o quando state delegando attività da un dispositivo che non dispone di un ambiente di sviluppo locale. Richiede un abbonamento Claude. A meno che non avviate dalla CLI, avete anche bisogno di un account GitHub connesso affinché la sandbox possa clonare il vostro repository. Quando avviate dalla CLI con `--cloud`, Claude Code può [raggruppare e caricare il vostro repository locale](https://code.claude.com/docs/it/claude-code-on-the-web.md#send-local-repositories-without-github) invece. Consultate [Utilizzare Claude Code nel cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md) per la disponibilità del piano e le opzioni di autenticazione GitHub.168Usa questo approccio quando desideri l'isolamento completo della VM senza dover eseguire tu stesso il provisioning dell'infrastruttura, o quando deleghi attività da un dispositivo che non dispone di un ambiente di sviluppo locale. Richiede:

169 

170* **Abbonamento**: un abbonamento Claude

171* **GitHub**: un account GitHub connesso per lavorare in un repository GitHub. Quando avvii dalla CLI con `--cloud`, non ti serve se Claude Code [raggruppa e carica il tuo repository locale](https://code.claude.com/docs/it/claude-code-on-the-web.md#send-local-repositories-without-github)

172 

173Consulta [Usare Claude Code nel cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md) per la disponibilità dei piani e le opzioni di autenticazione GitHub.

169 174 

170## Applicare l'isolamento in un'organizzazione175## Applicare l'isolamento in un'organizzazione

171 176 

Details

46| `CLAUDE_CODE_REMOTE_SLACK_CHANNEL_ID` | Per una sessione Claude Tag, l'ID del canale Slack o del messaggio diretto che la sessione serve o in cui si trova il suo thread, come `C0123ABCDE`. Un timestamp Slack identifica un messaggio all'interno di un solo canale, quindi registra questo ID insieme a `CLAUDE_CODE_REMOTE_SLACK_THREAD_TS`. Non impostata per le altre sessioni, e può non essere impostata anche per una sessione Claude Tag. |46| `CLAUDE_CODE_REMOTE_SLACK_CHANNEL_ID` | Per una sessione Claude Tag, l'ID del canale Slack o del messaggio diretto che la sessione serve o in cui si trova il suo thread, come `C0123ABCDE`. Un timestamp Slack identifica un messaggio all'interno di un solo canale, quindi registra questo ID insieme a `CLAUDE_CODE_REMOTE_SLACK_THREAD_TS`. Non impostata per le altre sessioni, e può non essere impostata anche per una sessione Claude Tag. |

47| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | Percorso assoluto a un file per sessione che contiene il JWT della sessione corrente, mantenuto aggiornato negli aggiornamenti dei token. I sottoprocessi della shell lo leggono per il loro header `Authorization` quando scaricano gli allegati che l'utente ha aggiunto alla sessione. `exec` preserva la variabile automaticamente; un wrapper che ricostruisce l'ambiente del figlio deve riportare la variabile, altrimenti i download degli allegati smettono di funzionare silenziosamente. |47| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | Percorso assoluto a un file per sessione che contiene il JWT della sessione corrente, mantenuto aggiornato negli aggiornamenti dei token. I sottoprocessi della shell lo leggono per il loro header `Authorization` quando scaricano gli allegati che l'utente ha aggiunto alla sessione. `exec` preserva la variabile automaticamente; un wrapper che ricostruisce l'ambiente del figlio deve riportare la variabile, altrimenti i download degli allegati smettono di funzionare silenziosamente. |

48| `CLAUDE_CONFIG_DIR` | Directory di configurazione Claude per sessione, scritta all'inizio della sessione dallo snapshot della configurazione dell'host del runner che il runner acquisisce all'avvio; consulta [Permissions and tool approval](#permissions-and-tool-approval). Le scritture qui sono isolate a questa sessione. La directory rimane sotto `<base-dir>/_sessions/` dopo la fine della sessione a meno che tu non avvii il runner con [`--remove-session-state`](https://code.claude.com/docs/it/self-hosted-environments-reference#runner-cli-flags); consulta [Reuse a pre-warmed checkout](https://code.claude.com/docs/it/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout). |48| `CLAUDE_CONFIG_DIR` | Directory di configurazione Claude per sessione, scritta all'inizio della sessione dallo snapshot della configurazione dell'host del runner che il runner acquisisce all'avvio; consulta [Permissions and tool approval](#permissions-and-tool-approval). Le scritture qui sono isolate a questa sessione. La directory rimane sotto `<base-dir>/_sessions/` dopo la fine della sessione a meno che tu non avvii il runner con [`--remove-session-state`](https://code.claude.com/docs/it/self-hosted-environments-reference#runner-cli-flags); consulta [Reuse a pre-warmed checkout](https://code.claude.com/docs/it/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout). |

49| `CLAUDE_CODE_REMOTE_MCP_CONFIG` | Percorso a un file in `CLAUDE_CONFIG_DIR` che contiene le definizioni dei server MCP che il piano di controllo di Anthropic ha fornito per questa sessione. Se il tuo wrapper ricostruisce l'ambiente del figlio, riporta questa variabile. Senza di essa, quando il piano di controllo aggiorna i server forniti, il figlio arresta qualsiasi server stdio, HTTP o SSE che il tuo wrapper aggiunge con [`--mcp-config`](https://code.claude.com/docs/it/cli-reference#cli-flags) e che non è presente nell'aggiornamento. Richiede Claude Code v2.1.299 o successivo. |49| `CLAUDE_CODE_REMOTE_MCP_CONFIG` | Percorso a un file in `CLAUDE_CONFIG_DIR` che contiene i server MCP forniti dal piano di controllo. Se il tuo wrapper ricostruisce l'ambiente del figlio, riporta invariate questa variabile, [`CLAUDE_CODE_REMOTE`](https://code.claude.com/docs/it/env-vars#variables) e `CLAUDE_CODE_ENVIRONMENT_KIND`; il runner le imposta tutte e tre. Se `CLAUDE_CODE_REMOTE` arriva ma questa variabile o `CLAUDE_CODE_ENVIRONMENT_KIND` no, il figlio arresta i server stdio, HTTP e SSE che il tuo wrapper aggiunge con [`--mcp-config`](https://code.claude.com/docs/it/cli-reference#cli-flags) e che un aggiornamento dei server forniti omette. Richiede Claude Code v2.1.299 o successivo. |

50| `ANTHROPIC_BASE_URL` | L'URL di base dell'API che il figlio utilizzerà, fornito dal piano di controllo per sessione e normalmente `https://api.anthropic.com`. Non sovrascriverlo: la credenziale di inferenza della sessione è un token OAuth emesso da Anthropic che altri provider non accettano. |50| `ANTHROPIC_BASE_URL` | L'URL di base dell'API che il figlio utilizzerà, fornito dal piano di controllo per sessione e normalmente `https://api.anthropic.com`. Non sovrascriverlo: la credenziale di inferenza della sessione è un token OAuth emesso da Anthropic che altri provider non accettano. |

51| `CLAUDE_CODE_OAUTH_TOKEN` | Il token di accesso OAuth di breve durata che il figlio utilizza per l'inferenza del modello, con una durata di circa 30 minuti. Il runner lo riemette prima della scadenza e fornisce la rotazione sullo stdin del figlio, quindi un wrapper che non [mantiene stdin collegato](#keep-stdin-and-file-descriptor-3-attached) vede solo il valore iniziale. Non fare affidamento sull'allowlist IP della tua organizzazione per limitare l'uso di questo token: trattalo come una credenziale bearer che rimane utilizzabile per circa 30 minuti se trapela, e non registrarlo nei log, non scriverlo su disco né inoltrarlo al di fuori del container della sessione. |51| `CLAUDE_CODE_OAUTH_TOKEN` | Il token di accesso OAuth di breve durata che il figlio utilizza per l'inferenza del modello, con una durata di circa 30 minuti. Il runner lo riemette prima della scadenza e fornisce la rotazione sullo stdin del figlio, quindi un wrapper che non [mantiene stdin collegato](#keep-stdin-and-file-descriptor-3-attached) vede solo il valore iniziale. Non fare affidamento sull'allowlist IP della tua organizzazione per limitare l'uso di questo token: trattalo come una credenziale bearer che rimane utilizzabile per circa 30 minuti se trapela, e non registrarlo nei log, non scriverlo su disco né inoltrarlo al di fuori del container della sessione. |

52| `CLAUDE_RUNNER_ALIVE_EVERY_MS` | Il runner imposta la frequenza, in millisecondi, con cui il figlio segnala di essere attivo quando un [turno inizia prima che il figlio si inizializzi](https://code.claude.com/docs/it/self-hosted-environments-reference.md#session-startup-timeout). Se il tuo wrapper ricostruisce l'ambiente del figlio, riporta questa variabile, altrimenti il runner può rilasciare la sessione durante quel turno e registrare nel log `no child output for <n> — releasing`. Richiede v2.1.309 o successivo sul runner e sul figlio. |52| `CLAUDE_RUNNER_ALIVE_EVERY_MS` | Il runner imposta la frequenza, in millisecondi, con cui il figlio segnala di essere attivo quando un [turno inizia prima che il figlio si inizializzi](https://code.claude.com/docs/it/self-hosted-environments-reference.md#session-startup-timeout). Se il tuo wrapper ricostruisce l'ambiente del figlio, riporta questa variabile, altrimenti il runner può rilasciare la sessione durante quel turno e registrare nel log `no child output for <n> — releasing`. Richiede v2.1.309 o successivo sul runner e sul figlio. |


329| `CLAUDE_RUNNER_REPO_SOURCES` | Array JSON di `{url, revision}` per tutte le sorgenti git della sessione, per gli hook che instradano in base a un repository secondario. Vuota quando non ci sono sorgenti. |329| `CLAUDE_RUNNER_REPO_SOURCES` | Array JSON di `{url, revision}` per tutte le sorgenti git della sessione, per gli hook che instradano in base a un repository secondario. Vuota quando non ci sono sorgenti. |

330| `CLAUDE_RUNNER_CORRELATION_ID` | L'ID di correlazione fornito alla creazione della sessione, restituito in modo che l'hook possa associare questo ordine di lavoro alla richiesta che ha creato la sessione. Vuota quando la sessione non ne ha uno. |330| `CLAUDE_RUNNER_CORRELATION_ID` | L'ID di correlazione fornito alla creazione della sessione, restituito in modo che l'hook possa associare questo ordine di lavoro alla richiesta che ha creato la sessione. Vuota quando la sessione non ne ha uno. |

331| `CLAUDE_RUNNER_CLIENT_PLATFORM` | La superficie client che ha creato la sessione, come `web_claude_ai`, `desktop_app`, `ios` o `scheduled_trigger`, per le analisi di adozione. Non impostata quando la sessione non ha una superficie registrata o riconosciuta, e per le richieste di pre-riscaldamento; verificala con `[ -n "${CLAUDE_RUNNER_CLIENT_PLATFORM:-}" ]`, che resta sicuro con `set -u`. |331| `CLAUDE_RUNNER_CLIENT_PLATFORM` | La superficie client che ha creato la sessione, come `web_claude_ai`, `desktop_app`, `ios` o `scheduled_trigger`, per le analisi di adozione. Non impostata quando la sessione non ha una superficie registrata o riconosciuta, e per le richieste di pre-riscaldamento; verificala con `[ -n "${CLAUDE_RUNNER_CLIENT_PLATFORM:-}" ]`, che resta sicuro con `set -u`. |

332| `CLAUDE_RUNNER_SPAWN_REASON` | [Il motivo per cui Anthropic ha inviato questa richiesta di spawn](#find-out-why-a-spawn-request-was-sent), come `runner_lost` o `resumed`. Non impostata quando la richiesta non riporta un motivo ben formato, quindi leggila come `"${CLAUDE_RUNNER_SPAWN_REASON:-}"`. Richiede Claude Code v2.1.318 o successiva sull'orchestratore |

332 333 

333Il runner avviato si registra con l'ordine di lavoro al posto del segreto dell'ambiente:334Il runner avviato si registra con l'ordine di lavoro al posto del segreto dell'ambiente:

334 335 


829 830 

830Una sessione self-hosted non ha un terminale collegato, quindi una richiesta di permesso senza risposta blocca il turno finché l'utente non risponde nell'interfaccia. Il control plane di Anthropic invia l'elenco degli strumenti e le regole di permesso di ogni sessione insieme al payload di lavoro; la configurazione predefinita pre-approva le chiamate agli strumenti di routine, incluso `Bash`, e le sessioni cloud [pre-approvano le modifiche ai file indipendentemente dalla modalità](https://code.claude.com/docs/it/permission-modes.md#switch-permission-modes). Una chiamata che nulla pre-approva genera una richiesta di permesso tramite l'interfaccia della sessione.831Una sessione self-hosted non ha un terminale collegato, quindi una richiesta di permesso senza risposta blocca il turno finché l'utente non risponde nell'interfaccia. Il control plane di Anthropic invia l'elenco degli strumenti e le regole di permesso di ogni sessione insieme al payload di lavoro; la configurazione predefinita pre-approva le chiamate agli strumenti di routine, incluso `Bash`, e le sessioni cloud [pre-approvano le modifiche ai file indipendentemente dalla modalità](https://code.claude.com/docs/it/permission-modes.md#switch-permission-modes). Una chiamata che nulla pre-approva genera una richiesta di permesso tramite l'interfaccia della sessione.

831 832 

833### Impostare in modo fisso una modalità di permesso dal wrapper

834 

832> [!NOTE]835> [!NOTE]

833>836>

834> Imposta in modo fisso la modalità auto solo su un ambiente i cui container di sessione funzionano con [traffico di rete in uscita negato per impostazione predefinita](https://code.claude.com/docs/it/self-hosted-environments-deploy.md#default-deny-egress) e con il resto della [sezione sul rafforzamento della sicurezza](https://code.claude.com/docs/it/self-hosted-environments-deploy.md#harden-your-deployment) applicato. Le chiamate agli strumenti di routine, incluse le richieste di rete di `Bash`, vengono eseguite senza un intervento umano sia con il set predefinito di strumenti pre-approvati sia in modalità auto, quindi è il confine di rete a limitare dove queste chiamate possono arrivare.837> Imposta in modo fisso la modalità auto solo su un ambiente i cui container di sessione funzionano con [traffico di rete in uscita negato per impostazione predefinita](https://code.claude.com/docs/it/self-hosted-environments-deploy.md#default-deny-egress) e con il resto della [sezione sul rafforzamento della sicurezza](https://code.claude.com/docs/it/self-hosted-environments-deploy.md#harden-your-deployment) applicato. Le chiamate agli strumenti di routine, incluse le richieste di rete di `Bash`, vengono eseguite senza un intervento umano sia con il set predefinito di strumenti pre-approvati sia in modalità auto, quindi è il confine di rete a limitare dove queste chiamate possono arrivare.

835 838 

836Per ridurre al minimo le richieste di permesso indipendentemente da ciò che invia il control plane, imposta in modo fisso la [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode) dal tuo script wrapper o dall'[hook `command`](#command). La modalità auto consente alle sessioni di essere eseguite senza richieste di permesso di routine: un modello classificatore separato esamina le azioni prima che vengano eseguite e blocca quelle che rifiuta, mentre le regole ask esplicite forzano comunque una richiesta; la pagina sulle modalità di permesso spiega cosa controlla il classificatore. Il runner aggiunge i flag calcolati dal server prima di invocare il wrapper e, per i flag a valore singolo come `--permission-mode`, il parser considera l'ultima occorrenza, quindi un flag che aggiungi dopo `"$@"` sovrascrive il valore inviato dal server:839Per avviare le sessioni in [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode) finché claude.ai/code o un altro client non imposta una modalità di permesso per esse, impostala in modo fisso dal tuo script wrapper o dall'[hook `command`](#command). Il runner invoca il wrapper passando i propri flag come argomenti e Claude Code applica l'ultimo `--permission-mode` presente nella riga di comando, quindi aggiungi il tuo dopo `"$@"`:

837 840 

838```bash theme={null}841```bash theme={null}

839#!/bin/bash842#!/bin/bash

840exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@" --permission-mode auto843exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@" --permission-mode auto

841```844```

842 845 

843Per pre-approvare invece strumenti specifici, aggiungi `--allowed-tools` con le tue regole, ad esempio `--allowed-tools "Bash(bazel *) Bash(yarn *) mcp__internal__*"`. I flag di tipo elenco come `--allowed-tools` e `--disallowed-tools` si accumulano tra le occorrenze invece di sovrascriversi, quindi le tue regole si applicano in aggiunta a quelle inviate dal control plane. Per restringere, aggiungi `--disallowed-tools`, che nega gli strumenti anche se un'altra regola li consente.846Una volta che un client imposta una modalità, la modalità che hai aggiunto non si applica più, anche dopo il riavvio della sessione sul runner. claude.ai/code, ad esempio, ne imposta una con il primo messaggio della sessione quando il suo menu a discesa della modalità mostra Auto, oppure quando qualcuno vi ha scelto una modalità.

847 

848In modalità auto, un modello classificatore separato esamina le azioni prima che vengano eseguite e blocca quelle che rifiuta. Una regola ask esplicita forza comunque una richiesta. Una chiamata bloccata da una [regola deny](https://code.claude.com/docs/it/permissions.md#manage-permissions) resta bloccata in ogni modalità.

849 

850### Pre-approvare strumenti specifici

851 

852Per pre-approvare strumenti specifici, aggiungi `--allowed-tools` con le tue regole dopo `"$@"` nel tuo script wrapper, ad esempio `--allowed-tools "Bash(bazel *) Bash(yarn *) mcp__internal__*"`. I flag di tipo elenco come `--allowed-tools` e `--disallowed-tools` si accumulano tra le occorrenze invece di sovrascriversi, quindi le tue regole si applicano in aggiunta a quelle inviate dal control plane. Per restringere, aggiungi `--disallowed-tools`, che nega gli strumenti anche se un'altra regola li consente.

844 853 

845### Come viene assemblata la configurazione di ogni sessione854### Come viene assemblata la configurazione di ogni sessione

846 855 

Details

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

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

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

198* Se il provider di una sessione non è nell'elenco [`allowedProviders`](https://code.claude.com/docs/it/settings-reference#allowedproviders) nella cache, Claude Code può attendere quel recupero e ricontrollare prima di rifiutare la sessione. Se il recupero non riesce, la sessione viene rifiutata

198* 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 cache199* 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

199* I valori trattenuti all'avvio restano trattenuti fino al primo recupero riuscito200* I valori trattenuti all'avvio restano trattenuti fino al primo recupero riuscito

200 201 

Details

111| [`footerLinksRegexes`](#footerlinksregexes) | Trasforma gli ID di issue o di revisione nell'output in [link cliccabili](https://code.claude.com/docs/it/statusline.md#clickable-links) sotto la casella di input | Interfaccia e terminale | User or managed |111| [`footerLinksRegexes`](#footerlinksregexes) | Trasforma gli ID di issue o di revisione nell'output in [link cliccabili](https://code.claude.com/docs/it/statusline.md#clickable-links) sotto la casella di input | Interfaccia e terminale | User or managed |

112| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | Imposta l'[URL del gateway](https://code.claude.com/docs/it/claude-apps-gateway#set-the-gateway-url) a cui si connette la schermata di accesso | Autenticazione e provider | User or managed |112| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | Imposta l'[URL del gateway](https://code.claude.com/docs/it/claude-apps-gateway#set-the-gateway-url) a cui si connette la schermata di accesso | Autenticazione e provider | User or managed |

113| [`forceLoginMethod`](#forceloginmethod) | [Limita l'accesso](https://code.claude.com/docs/it/authentication.md#restrict-login-to-your-organization) a claude.ai, Claude Console o un [gateway cloud](https://code.claude.com/docs/it/claude-apps-gateway) | Autenticazione e provider | Any file |113| [`forceLoginMethod`](#forceloginmethod) | [Limita l'accesso](https://code.claude.com/docs/it/authentication.md#restrict-login-to-your-organization) a claude.ai, Claude Console o un [gateway cloud](https://code.claude.com/docs/it/claude-apps-gateway) | Autenticazione e provider | Any file |

114| [`forceLoginOrgUUID`](#forceloginorguuid) | [Vincola gli accessi a claude.ai alla tua organizzazione](https://code.claude.com/docs/it/authentication.md#restrict-login-to-your-organization); solo una fonte gestita lo applica | Autenticazione e provider | Any file |114| [`forceLoginOrgUUID`](#forceloginorguuid) | [Vincola gli accessi a claude.ai alla tua organizzazione](https://code.claude.com/docs/it/authentication.md#restrict-login-to-your-organization); solo le impostazioni gestite lo applicano | Autenticazione e provider | Any file |

115| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Blocca l'avvio finché le [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md) non vengono recuperate di nuovo | Impostazioni aziendali e gestite | Managed |115| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Blocca l'avvio finché le [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md) non vengono recuperate di nuovo | Impostazioni aziendali e gestite | Managed |

116| [`gatewayInternalNetworks`](#gatewayinternalnetworks) | Consenti a `/login` di raggiungere un [gateway cloud](https://code.claude.com/docs/it/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) su uno spazio IPv4 pubblico che la tua organizzazione usa internamente | Autenticazione e provider | Managed |116| [`gatewayInternalNetworks`](#gatewayinternalnetworks) | Consenti a `/login` di raggiungere un [gateway cloud](https://code.claude.com/docs/it/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) su uno spazio IPv4 pubblico che la tua organizzazione usa internamente | Autenticazione e provider | Managed |

117| [`gcpAuthRefresh`](#gcpauthrefresh) | Aggiorna le [credenziali Google Cloud](https://code.claude.com/docs/it/google-vertex-ai.md#advanced-credential-configuration) con un tuo comando | Autenticazione e provider | Any file |117| [`gcpAuthRefresh`](#gcpauthrefresh) | Aggiorna le [credenziali Google Cloud](https://code.claude.com/docs/it/google-vertex-ai.md#advanced-credential-configuration) con un tuo comando | Autenticazione e provider | Any file |


446 446 

447### `fastMode`447### `fastMode`

448 448 

449Attiva la [modalità veloce](https://code.claude.com/docs/it/fast-mode.md) per le sessioni in cui è disponibile, per il lavoro interattivo come l'iterazione rapida o il debug dal vivo in cui vuoi velocità a un costo per token più alto. Di solito non modifichi questa chiave a mano: eseguire `/fast` scrive `fastMode: true` in `~/.claude/settings.json`, ed eseguirlo di nuovo per disattivare la modalità veloce rimuove la chiave. La modalità veloce funziona solo su Opus 5.5, Opus 5 e Opus 4.8: attivarla da un altro modello ti fa passare a Opus, e passare a un modello non supportato la disattiva. Consulta [Cambiare modello con la modalità veloce attiva](https://code.claude.com/docs/it/fast-mode.md#switch-models-while-fast-mode-is-on).449Attiva la [modalità veloce](https://code.claude.com/docs/it/fast-mode.md) per le sessioni in cui è disponibile, per il lavoro interattivo come l'iterazione rapida o il debug dal vivo in cui vuoi velocità a un costo per token più alto. Di solito non modifichi questa chiave a mano. Eseguire `/fast` scrive `fastMode: true` in `~/.claude/settings.json`, ed eseguirlo di nuovo per disattivare la modalità veloce rimuove la chiave.

450 

451Solo Opus 5.5, Opus 5 e Opus 4.8 supportano la modalità veloce. Eseguire `/fast` da un altro modello ti fa passare a Opus, e passare a un modello non supportato disattiva la modalità veloce. Consulta [Cambiare modello con la modalità veloce attiva](https://code.claude.com/docs/it/fast-mode.md#switch-models-while-fast-mode-is-on).

450 452 

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

452* **Tipo**: Boolean454* **Tipo**: Boolean


463 465 

464### `fastModePerSessionOptIn`466### `fastModePerSessionOptIn`

465 467 

466Normalmente, eseguire `/fast` salva [`fastMode`](#fastmode) nelle impostazioni utente di una persona, quindi la modalità veloce è attiva all'inizio di ogni sessione successiva. Imposta questa chiave su `true` per impedirlo: un `fastMode: true` salvato non attiva più la modalità veloce all'avvio della sessione, e ogni persona deve eseguire `/fast` in ogni sessione in cui la vuole. Claude Code lascia la chiave `fastMode` nel loro file, quindi disattivare questa chiave ripristina il comportamento precedente.468Normalmente, eseguire `/fast` salva [`fastMode`](#fastmode) nelle impostazioni utente di una persona, quindi le nuove sessioni su un modello supportato si avviano con la modalità veloce attiva. Imposta questa chiave su `true` per impedirlo: un `fastMode: true` salvato non attiva più la modalità veloce all'avvio della sessione, e ogni persona deve eseguire `/fast` in ogni sessione in cui la vuole. Claude Code lascia la chiave `fastMode` nel loro file, quindi disattivare questa chiave ripristina il comportamento precedente.

467 469 

468Gli Owner dei piani Team o Enterprise possono distribuirla in tutta l'organizzazione tramite le [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md). Quando le impostazioni gestite impostano la chiave, `/fast on` viene rifiutato al di fuori delle sessioni interattive nel terminale e segnala che la tua organizzazione ha disabilitato la modalità veloce. Questo riguarda la [modalità non interattiva](https://code.claude.com/docs/it/headless.md), l'[estensione VS Code](https://code.claude.com/docs/it/vs-code.md) e le [sessioni cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md).470Gli Owner dei piani Team o Enterprise possono distribuirla in tutta l'organizzazione tramite le [impostazioni gestite dal server](https://code.claude.com/docs/it/server-managed-settings.md). Quando le impostazioni gestite impostano la chiave, `/fast on` viene rifiutato al di fuori delle sessioni interattive nel terminale e segnala che la tua organizzazione ha disabilitato la modalità veloce. Questo riguarda la [modalità non interattiva](https://code.claude.com/docs/it/headless.md), l'[estensione VS Code](https://code.claude.com/docs/it/vs-code.md) e le [sessioni cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md).

469 471 

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

471* **Tipo**: Boolean473* **Tipo**: Boolean

472 * `true`: un `fastMode: true` salvato non attiva più la modalità veloce all'avvio della sessione, quindi ogni persona esegue `/fast` in ogni sessione in cui la vuole; un `fastMode: true` passato con `--settings` vale comunque per quella sessione, a meno che le impostazioni gestite non impostino questa chiave474 * `true`: un `fastMode: true` salvato non attiva più la modalità veloce all'avvio della sessione, quindi ogni persona esegue `/fast` in ogni sessione in cui la vuole; un `fastMode: true` passato con `--settings` vale comunque per quella sessione, a meno che le impostazioni gestite non impostino questa chiave

473 * `false`: un `fastMode: true` salvato attiva la modalità veloce all'inizio di ogni sessione successiva475 * `false`: un `fastMode: true` salvato attiva la modalità veloce all'inizio di ogni nuova sessione su un modello supportato

474* **Predefinito**: `false`476* **Predefinito**: `false`

475 477 

476```json settings.json theme={null}478```json settings.json theme={null}


4827 4829 

4828### `agentPushNotifEnabled`4830### `agentPushNotifEnabled`

4829 4831 

4830Consenti a Claude di inviare una notifica push al tuo telefono quando decide che ne vale la pena, ad esempio quando un'attività lunga si conclude. Claude può inviarne una mentre [Remote Control](https://code.claude.com/docs/it/remote-control.md) è connesso. Appare in `/config` come **Push quando Claude decide**. Quando lo modifichi lì, Claude Code salva anche il valore nel tuo account.4832Consenti a Claude di inviare una notifica push al tuo telefono quando decide che ne vale la pena, ad esempio quando un'attività lunga si conclude. In una sessione locale, Claude può inviarne una mentre [Remote Control](https://code.claude.com/docs/it/remote-control.md) è connesso. Appare in `/config` come **Push quando Claude decide**. Quando lo modifichi lì, Claude Code salva anche il valore nel tuo account.

4831 4833 

4832* **Scope**: [`Any file`](#scopes). Claude Code legge anche un valore lasciato in `~/.claude.json` da versioni precedenti.4834* **Scope**: [`Any file`](#scopes). Claude Code legge anche un valore lasciato in `~/.claude.json` da versioni precedenti.

4833* **Type**: Boolean4835* **Type**: Boolean


4964 4966 

4965### `inputNeededNotifEnabled`4967### `inputNeededNotifEnabled`

4966 4968 

4967Ricevi una notifica push sul tuo telefono quando un prompt di autorizzazione o una domanda è in attesa del tuo input. Claude Code invia questi solo mentre il [Controllo remoto](https://code.claude.com/docs/it/remote-control.md) è connesso. Appare in `/config` come **Push quando azioni richieste**.4969Ricevi una notifica push sul tuo telefono quando una richiesta di permesso o una domanda è in attesa del tuo input. In una sessione locale, Claude Code le invia solo mentre [Remote Control](https://code.claude.com/docs/it/remote-control.md) è connesso. Appare in `/config` come **Push quando azioni richieste**.

4968 4970 

4969* **Scope**: [`Any file`](#scopes). Claude Code legge anche un valore lasciato in `~/.claude.json` da versioni precedenti.4971* **Scope**: [`Any file`](#scopes). Claude Code legge anche un valore lasciato in `~/.claude.json` da versioni precedenti.

4970* **Type**: Boolean4972* **Type**: Boolean

4971 * `true`: ricevi una notifica push sul tuo telefono quando un prompt di autorizzazione o una domanda è in attesa, mentre il Controllo remoto è connesso

4972 * `false`: Claude Code non invia tali notifiche

4973* **Default**: `false`4973* **Default**: `false`

4974 4974 

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


4986 4986 

4987* **Scope**: [`Any file`](#scopes). Claude Code legge anche un valore lasciato in `~/.claude.json` da versioni precedenti.4987* **Scope**: [`Any file`](#scopes). Claude Code legge anche un valore lasciato in `~/.claude.json` da versioni precedenti.

4988* **Type**: stringa, una di:4988* **Type**: stringa, una di:

4989 * `"auto"`: Claude Code invia una notifica desktop in iTerm2, Ghostty e Kitty, suona il campanello in Terminal.app solo quando il suo campanello udibile è disattivato e non fa nulla altrove4989 * `"auto"`: Claude Code invia una notifica desktop quando rileva iTerm2, Ghostty o Kitty, suona il campanello in Terminal.app solo quando il suo campanello udibile è disattivato e non fa nulla altrove

4990 * `"terminal_bell"`: Claude Code suona il carattere campanello in qualsiasi terminale4990 * `"terminal_bell"`: Claude Code suona il carattere campanello in qualsiasi terminale

4991 * `"iterm2"`: Claude Code invia una notifica desktop iTerm24991 * `"iterm2"`: Claude Code invia una notifica desktop iTerm2

4992 * `"iterm2_with_bell"`: Claude Code invia una notifica desktop iTerm2 e suona il campanello4992 * `"iterm2_with_bell"`: Claude Code invia una notifica desktop iTerm2 e suona il campanello


5001}5001}

5002```5002```

5003 5003 

5004Con `"auto"`, Claude Code invia una notifica desktop in iTerm2, Ghostty e Kitty. In Terminal.app suona il carattere campanello solo quando hai disattivato il campanello udibile di Terminal e in altri terminali non fa nulla. Imposta `"terminal_bell"` per suonare il carattere campanello in qualsiasi terminale. Vedi [Ottieni un campanello terminale o una notifica](https://code.claude.com/docs/it/terminal-config.md#get-a-terminal-bell-or-notification).5004Con `"auto"`, Claude Code invia una notifica desktop quando rileva iTerm2, Ghostty o Kitty. In Terminal.app suona il carattere campanello solo quando hai disattivato il campanello udibile di Terminal e in altri terminali non fa nulla. Imposta `"terminal_bell"` per suonare il carattere campanello in qualsiasi terminale. Vedi [Ottieni un campanello terminale o una notifica](https://code.claude.com/docs/it/terminal-config.md#get-a-terminal-bell-or-notification).

5005 5005 

5006### `remote.defaultEnvironmentId`5006### `remote.defaultEnvironmentId`

5007 5007 


5176 5176 

5177* Dopo la durata della cache, cinque minuti per impostazione predefinita o l'intervallo che imposti con [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](https://code.claude.com/docs/it/env-vars).5177* Dopo la durata della cache, cinque minuti per impostazione predefinita o l'intervallo che imposti con [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](https://code.claude.com/docs/it/env-vars).

5178* Quando una richiesta all'API Anthropic, direttamente o tramite un [LLM gateway](https://code.claude.com/docs/it/llm-gateway), fallisce con `401` o `403`.5178* Quando una richiesta all'API Anthropic, direttamente o tramite un [LLM gateway](https://code.claude.com/docs/it/llm-gateway), fallisce con `401` o `403`.

5179* Quando una richiesta tramite un LLM gateway fallisce con `401`, ma non con `403`, e hai impostato [`CLAUDE_CODE_SKIP_VERTEX_AUTH`](https://code.claude.com/docs/it/env-vars) per Agent Platform di Google Cloud, `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` per Claude Platform on AWS o `CLAUDE_CODE_SKIP_MANTLE_AUTH` per Amazon Bedrock Mantle. Richiede Claude Code v2.1.318 o successivo.

5179* Prima di inviare una richiesta all'API Anthropic, direttamente o tramite un LLM gateway, quando l'output nella cache è un JWT scaduto dopo che l'helper lo ha prodotto. Richiede Claude Code v2.1.246 o successivo.5180* Prima di inviare una richiesta all'API Anthropic, direttamente o tramite un LLM gateway, quando l'output nella cache è un JWT scaduto dopo che l'helper lo ha prodotto. Richiede Claude Code v2.1.246 o successivo.

5180 5181 

5181Gli ultimi due casi si applicano solo quando l'output dell'helper è la credenziale che Claude Code invia e `ANTHROPIC_AUTH_TOKEN` non è impostata.5182Gli ultimi tre casi si applicano solo quando l'output dell'helper è la credenziale che Claude Code invia e `ANTHROPIC_AUTH_TOKEN` non è impostata.

5182 5183 

5183Nelle sessioni interattive, quando il comando proviene dalle impostazioni di progetto o locali, Claude Code non lo esegue finché non accetti la richiesta di attendibilità del workspace. Consulta [Gestione delle credenziali](https://code.claude.com/docs/it/authentication.md#credential-management).5184Nelle sessioni interattive, quando il comando proviene dalle impostazioni di progetto o locali, Claude Code non lo esegue finché non accetti la richiesta di attendibilità del workspace. Consulta [Gestione delle credenziali](https://code.claude.com/docs/it/authentication.md#credential-management).

5184 5185 


5261 5262 

5262Da una fonte gestita, richiede che gli accessi con account claude.ai appartengano a un'unica organizzazione Anthropic, indicata come singolo UUID, o a una qualsiasi tra più organizzazioni, indicate come array. Da qualsiasi file di impostazioni, Claude Code usa inoltre un singolo UUID per preselezionare quell'organizzazione durante un accesso claude.ai o Claude Console, e non preseleziona nulla per un array. Se imposti la chiave in qualsiasi file di impostazioni, Claude Code smette anche di offrire l'[accesso Console senza chiave](https://code.claude.com/docs/it/authentication.md#sign-in-without-an-api-key) nelle sessioni a cui quel file si applica e crea invece una chiave API.5263Da una fonte gestita, richiede che gli accessi con account claude.ai appartengano a un'unica organizzazione Anthropic, indicata come singolo UUID, o a una qualsiasi tra più organizzazioni, indicate come array. Da qualsiasi file di impostazioni, Claude Code usa inoltre un singolo UUID per preselezionare quell'organizzazione durante un accesso claude.ai o Claude Console, e non preseleziona nulla per un array. Se imposti la chiave in qualsiasi file di impostazioni, Claude Code smette anche di offrire l'[accesso Console senza chiave](https://code.claude.com/docs/it/authentication.md#sign-in-without-an-api-key) nelle sessioni a cui quel file si applica e crea invece una chiave API.

5263 5264 

5264* **Ambito**: [`Any file`](#scopes). Solo una fonte gestita impone la restrizione; un singolo UUID in qualsiasi altro file di impostazioni preseleziona l'organizzazione durante l'accesso senza limitarla.5265* **Ambito**: [`Any file`](#scopes). In un file di impostazioni che non è una fonte gestita, Claude Code non verifica a quale organizzazione appartiene un accesso, e un singolo UUID preseleziona l'organizzazione durante l'accesso.

5265* **Tipo**: stringa, un UUID, oppure array di stringhe, più UUID5266* **Tipo**: stringa, un UUID, oppure array di stringhe, più UUID

5266* **Predefinito**: non impostato, quindi qualsiasi organizzazione può accedere5267* **Predefinito**: non impostato, quindi qualsiasi organizzazione può accedere

5267 5268 


5827 5828 

5828### `autoInstallIdeExtension`5829### `autoInstallIdeExtension`

5829 5830 

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.5831Consenti 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 né aggiorna l'estensione quando avvii `claude`. Prima della v2.1.318, Claude Code installa o aggiorna l'estensione quando avvii `claude` nel terminale di uno di questi editor, a meno che questa chiave non sia `false`.

5832 

5833Appare in `/config` come **Auto-install IDE extension** quando esegui Claude Code all'interno di un terminale VS Code o JetBrains.

5831 5834 

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

5833* **Type**: Boolean5836* **Type**: Boolean

setup.md +9 −9

Details

40>40>

41> **macOS, Linux, WSL:**41> **macOS, Linux, WSL:**

42>42>

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

44> curl -fsSL https://claude.ai/install.sh | bash44> curl -fsSL https://claude.ai/install.sh | bash

45> ```45> ```

46>46>


48>48>

49> **Windows PowerShell:**49> **Windows PowerShell:**

50>50>

51> ```powershell theme={null}51> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

52> irm https://claude.ai/install.ps1 | iex52> irm https://claude.ai/install.ps1 | iex

53> ```53> ```

54>54>

55> **Windows CMD:**55> **Windows CMD:**

56>56>

57> ```batch theme={null}57> ```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

59> ```59> ```

60>60>


72 72 

73> [tab] Homebrew73> [tab] Homebrew

74>74>

75> ```bash theme={null}75> ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

76> brew install --cask claude-code76> brew install --cask claude-code

77> ```77> ```

78>78>


84 84 

85> [tab] WinGet85> [tab] WinGet

86>86>

87> ```powershell theme={null}87> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

88> winget install Anthropic.ClaudeCode88> winget install Anthropic.ClaudeCode

89> ```89> ```

90>90>


389> gpg --show-keys /etc/apt/keyrings/claude-code.asc389> gpg --show-keys /etc/apt/keyrings/claude-code.asc

390> ```390> ```

391>391>

392> L'impronta digitale che gpg stampa dovrebbe essere `31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE`. Se gpg riporta che il file non può essere aperto o non contiene dati OpenPGP validi, il download è fallito o ha restituito il contenuto sbagliato: confermate che la vostra rete possa raggiungere `downloads.claude.ai`, quindi rieseguite il comando di download.392> L'unica impronta digitale che gpg stampa dovrebbe essere `31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE`. Se gpg riporta che il file non può essere aperto o non contiene dati OpenPGP validi, il download è fallito o ha restituito il contenuto sbagliato. Conferma che la tua rete possa raggiungere `downloads.claude.ai`, quindi riesegui il comando di download.

393>393>

394> Registrate il repository sul canale `stable` e installate:394> Registrate il repository sul canale `stable` e installate:

395>395>


536Verificate la firma staccata rispetto al manifest.536Verificate la firma staccata rispetto al manifest.

537 537 

538```bash theme={null}538```bash theme={null}

539gpg --verify manifest.json.sig manifest.json539gpg --with-fingerprint --verify manifest.json.sig manifest.json

540```540```

541 541 

542Un risultato valido riporta `Good signature from "Anthropic Claude Code Release Signing <security@anthropic.com>"`.542Un risultato valido riporta `Good signature from "Anthropic Claude Code Release Signing <security@anthropic.com>"`. Con le impostazioni predefinite, `gpg` stampa anche `WARNING: This key is not certified with a trusted signature!` per una chiave appena importata. Questo è previsto. La riga `Good signature` conferma che il controllo crittografico è passato.

543 543 

544`gpg` stampa anche `WARNING: This key is not certified with a trusted signature!` per qualsiasi chiave appena importata. Questo è previsto. La riga `Good signature` conferma che il controllo crittografico è passato. Il confronto dell'impronta digitale nel Passaggio 1 conferma che la chiave stessa è autentica.544Per verificare che sia stata la chiave di Anthropic a firmare il manifest, confronta la riga `Primary key fingerprint` alla fine dell'output con l'impronta digitale che questa pagina elenca nel Passaggio 1. Se corrispondono e l'output non mostra `BAD signature`, prosegui con il Passaggio 4. Altrimenti, non utilizzare questo manifest.

545 545 

546**4. Controllare il binario rispetto al manifest**546**4. Controllare il binario rispetto al manifest**

547 547 

slack.md +7 −10

Details

20 20 

21## Casi d'uso21## Casi d'uso

22 22 

23* **Investigazione e correzione di bug**: Chiedi a Claude di investigare e correggere i bug non appena vengono segnalati nei canali Slack.23* **Investigazione e correzione di bug**: Descrivi un bug e chiedi a Claude di investigarlo e correggerlo.

24* **Revisioni del codice rapide e modifiche**: Fai in modo che Claude implementi piccole funzionalità o effettui il refactoring del codice in base al feedback del team.24* **Revisioni del codice rapide e modifiche**: Fai in modo che Claude implementi piccole funzionalità o effettui il refactoring del codice.

25* **Debug collaborativo**: Quando le discussioni del team forniscono contesto cruciale (ad esempio, riproduzioni di errori o segnalazioni di utenti), Claude può utilizzare queste informazioni per informare il suo approccio al debug.

26* **Esecuzione di attività parallele**: Avvia compiti di codifica in Slack mentre continui altri lavori, ricevendo notifiche al completamento.25* **Esecuzione di attività parallele**: Avvia compiti di codifica in Slack mentre continui altri lavori, ricevendo notifiche al completamento.

27 26 

28## Prerequisiti27## Prerequisiti


91 90 

92### Raccolta del contesto91### Raccolta del contesto

93 92 

94**Da thread**: Quando @menzioni Claude in un thread, raccoglie il contesto da tutti i messaggi in quel thread per comprendere la conversazione completa.93* **Da thread**: quando @menzioni Claude per la prima volta in un thread, raccoglie il contesto dai tuoi messaggi e dai propri in quel thread.

94* **Da canali**: quando @menzioni Claude direttamente in un canale, guarda i tuoi messaggi recenti e i propri in quel canale, oltre al nome, all'argomento e alla descrizione del canale.

95 95 

96**Da canali**: Quando menzionato direttamente in un canale, Claude guarda i messaggi recenti del canale per il contesto rilevante.96Questo contesto aiuta Claude a comprendere il problema, selezionare il repository appropriato e informare il suo approccio al compito. Per fornire a Claude qualcosa scritto da un collega, come una segnalazione di errore, incollane il testo nel messaggio in cui @menzioni Claude.

97 

98Questo contesto aiuta Claude a comprendere il problema, selezionare il repository appropriato e informare il suo approccio al compito.

99 97 

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

101>99>


160### Scrivere richieste efficaci158### Scrivere richieste efficaci

161 159 

162* **Sii specifico**: Includi nomi di file, nomi di funzioni o messaggi di errore quando rilevante.160* **Sii specifico**: Includi nomi di file, nomi di funzioni o messaggi di errore quando rilevante.

163* **Fornisci contesto**: Menziona il repository o il progetto se non è chiaro dalla conversazione.161* **Fornisci contesto**: Menziona il repository o il progetto.

164* **Definisci il successo**: Spiega come dovrebbe apparire "fatto"—Claude dovrebbe scrivere test? Aggiornare la documentazione? Creare una PR?162* **Definisci il successo**: Spiega come dovrebbe apparire "fatto"—Claude dovrebbe scrivere test? Aggiornare la documentazione? Creare una PR?

165* **Usa thread**: Rispondi nei thread quando discuti di bug o funzionalità in modo che Claude possa raccogliere il contesto completo.

166 163 

167### Quando utilizzare Slack rispetto al web164### Quando utilizzare Slack rispetto al web

168 165 

169**Usa Slack quando**: Il contesto esiste già in una discussione Slack, desideri avviare un compito in modo asincrono, o stai collaborando con compagni di team che hanno bisogno di visibilità.166**Usa Slack quando**: Desideri avviare un compito in modo asincrono, o stai collaborando con compagni di team che hanno bisogno di visibilità.

170 167 

171**Usa il web direttamente quando**: Hai bisogno di caricare file, desideri un'interazione in tempo reale durante lo sviluppo, o stai lavorando su compiti più lunghi e complessi.168**Usa il web direttamente quando**: Hai bisogno di caricare file, desideri un'interazione in tempo reale durante lo sviluppo, o stai lavorando su compiti più lunghi e complessi.

172 169 

Details

74 74 

75Per impostazione predefinita, Claude Code invia una notifica desktop in alcuni terminali, e un carattere campanello o niente in altri:75Per impostazione predefinita, Claude Code invia una notifica desktop in alcuni terminali, e un carattere campanello o niente in altri:

76 76 

77* **Ghostty, Kitty e iTerm2**: una notifica desktop, che iTerm2 mostra solo dopo che hai attivato le sue impostazioni di avviso.77* **Ghostty, Kitty e iTerm2, quando Claude Code li rileva**: una notifica desktop, che iTerm2 mostra solo dopo che hai attivato le sue impostazioni di avviso.

78* **Apple Terminal**: nessun suono; un carattere campanello silenzioso quando Claude Code rileva che "Audible bell" è disattivato nel profilo della finestra di Terminal in primo piano, altrimenti niente. Quel carattere campanello appare come un lampeggio della finestra, o come un rimbalzo nel Dock mentre Terminal è in background, se l'opzione "Visual bell" o quella di rimbalzo nel Dock di quel profilo è attiva.78* **Apple Terminal**: nessun suono; un carattere campanello silenzioso quando Claude Code rileva che "Audible bell" è disattivato nel profilo della finestra di Terminal in primo piano, altrimenti niente. Quel carattere campanello appare come un lampeggio della finestra, o come un rimbalzo nel Dock mentre Terminal è in background, se l'opzione "Visual bell" o quella di rimbalzo nel Dock di quel profilo è attiva.

79* **Altri terminali**: niente.79* **Altri terminali**: niente.

80 80 


86}86}

87```87```

88 88 

89La notifica desktop raggiunge la tua macchina locale tramite SSH, quindi una sessione remota può comunque avvisarti. Ghostty e Kitty la inoltrano al centro notifiche del tuo sistema operativo senza ulteriore configurazione. iTerm2 richiede di abilitare l'inoltro:89Tramite SSH da un terminale eseguito al di fuori di tmux, imposta [`preferredNotifChannel`](https://code.claude.com/docs/it/settings-reference#preferrednotifchannel) sul valore del tuo terminale locale, `"iterm2"`, `"kitty"` o `"ghostty"`, sulla macchina che esegue Claude Code. La notifica desktop raggiunge quindi la tua macchina locale. Ghostty e Kitty la inoltrano al centro notifiche del tuo sistema operativo senza ulteriore configurazione. iTerm2 richiede di abilitare l'inoltro:

90 90 

91**1. Apri le impostazioni di notifica di iTerm2**91**1. Apri le impostazioni di notifica di iTerm2**

92 92 


131 131 

132## Configura tmux132## Configura tmux

133 133 

134Quando Claude Code viene eseguito all'interno di tmux, per impostazione predefinita Shift+Enter invia il messaggio invece di inserire una nuova riga, e le notifiche desktop e la [barra di avanzamento](https://code.claude.com/docs/it/settings-reference.md#terminalprogressbarenabled) non raggiungono mai il terminale esterno. Aggiungi queste righe a `~/.tmux.conf`, quindi esegui `tmux source-file ~/.tmux.conf` per applicarle al server in esecuzione:134Quando Claude Code viene eseguito all'interno di tmux, per impostazione predefinita Shift+Enter invia il messaggio invece di inserire una nuova riga, e le notifiche desktop non raggiungono il terminale esterno. Aggiungi queste righe a `~/.tmux.conf`, quindi esegui `tmux source-file ~/.tmux.conf` per applicarle al server in esecuzione:

135 135 

136```bash ~/.tmux.conf theme={null}136```bash ~/.tmux.conf theme={null}

137set -g allow-passthrough on137set -g allow-passthrough on


140set -as terminal-features 'xterm*:extkeys'140set -as terminal-features 'xterm*:extkeys'

141```141```

142 142 

143La riga `allow-passthrough` consente alle notifiche e agli aggiornamenti di avanzamento di raggiungere il terminale esterno invece di essere intercettati da tmux. Le righe `extended-keys` consentono a tmux di distinguere Shift+Enter da un semplice Enter, in modo che la scorciatoia per la nuova riga funzioni.143Per inviare notifiche da un riquadro visibile al terminale esterno, mantieni la riga `allow-passthrough` e imposta [`preferredNotifChannel`](https://code.claude.com/docs/it/settings-reference#preferrednotifchannel) su `"iterm2"`, `"kitty"` o `"ghostty"`. Con questo esempio, un riquadro in una finestra che non stai visualizzando non ne invia nessuna. Le righe `extended-keys` consentono a tmux di distinguere Shift+Enter da un semplice Enter, in modo che la scorciatoia per la nuova riga funzioni.

144 144 

145Un [`Image` di un mod](https://code.claude.com/docs/it/plugins/mods/reference#elements) richiede le righe `allow-passthrough` e `focus-events`, insieme agli altri [requisiti per disegnare all'interno di tmux](https://code.claude.com/docs/it/plugins/mods/gallery.md#draw-an-image-inside-tmux). Dopo aver aggiunto le righe, scollegati anche da tmux, ricollegati e riavvia Claude Code.145Un [`Image` di un mod](https://code.claude.com/docs/it/plugins/mods/reference#elements) richiede le righe `allow-passthrough` e `focus-events`, insieme agli altri [requisiti per disegnare all'interno di tmux](https://code.claude.com/docs/it/plugins/mods/gallery.md#draw-an-image-inside-tmux). Dopo aver aggiunto le righe, scollegati anche da tmux, ricollegati e riavvia Claude Code.

146 146 

Details

39| `Monitor` | Esegue un comando in background e restituisce ogni riga di output a Claude, in modo che possa reagire alle voci di log, ai cambiamenti di file o allo stato sottoposto a polling a metà conversazione. Può anche aprire un WebSocket e trattare ogni messaggio in arrivo come un evento. Vedi [Strumento Monitor](#monitor-tool) | Yes |39| `Monitor` | Esegue un comando in background e restituisce ogni riga di output a Claude, in modo che possa reagire alle voci di log, ai cambiamenti di file o allo stato sottoposto a polling a metà conversazione. Può anche aprire un WebSocket e trattare ogni messaggio in arrivo come un evento. Vedi [Strumento Monitor](#monitor-tool) | Yes |

40| `NotebookEdit` | Modifica le celle del notebook Jupyter. Vedi [Comportamento dello strumento NotebookEdit](#notebookedit-tool-behavior) | Yes |40| `NotebookEdit` | Modifica le celle del notebook Jupyter. Vedi [Comportamento dello strumento NotebookEdit](#notebookedit-tool-behavior) | Yes |

41| `PowerShell` | Esegue comandi PowerShell in modo nativo. Vedi [Strumento PowerShell](#powershell-tool) per la disponibilità | Yes |41| `PowerShell` | Esegue comandi PowerShell in modo nativo. Vedi [Strumento PowerShell](#powershell-tool) per la disponibilità | Yes |

42| `PushNotification` | Invia una notifica desktop e, quando [Remote Control](https://code.claude.com/docs/it/remote-control.md) è connesso, una notifica push sul telefono, in modo che un'attività a lunga esecuzione o un'[attività pianificata con ambito di sessione](https://code.claude.com/docs/it/scheduled-tasks.md) possa raggiungerti quando ti allontani. La consegna push avviene tramite l'infrastruttura ospitata da Anthropic, che non è accessibile da Amazon Bedrock, Claude Platform su AWS, Google Cloud's Agent Platform o Microsoft Foundry | No |42| `PushNotification` | Invia una notifica desktop da una sessione locale e una notifica push sul telefono con [Remote Control](https://code.claude.com/docs/it/remote-control.md) o in una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md). La consegna push avviene tramite l'infrastruttura ospitata da Anthropic, che non è accessibile da Amazon Bedrock, Claude Platform su AWS, Google Cloud's Agent Platform o Microsoft Foundry | No |

43| `Read` | Legge il contenuto dei file. Vedi [Comportamento dello strumento Read](#read-tool-behavior) | No |43| `Read` | Legge il contenuto dei file. Vedi [Comportamento dello strumento Read](#read-tool-behavior) | No |

44| `ReadMcpResourceTool` | Legge una risorsa MCP specifica per URI | No |44| `ReadMcpResourceTool` | Legge una risorsa MCP specifica per URI | No |

45| `RemoteTrigger` | Crea, aggiorna, esegue ed elenca le [attività pianificate cloud](https://code.claude.com/docs/it/routines.md), in precedenza routine, su claude.ai. Supporta il comando `/schedule`. Il [riferimento di input di `RemoteTrigger`](https://code.claude.com/docs/it/agent-sdk/typescript#remotetrigger) documenta ogni azione e le policy dell'organizzazione che rimuovono lo strumento. Le attività pianificate cloud risiedono su claude.ai e richiedono un piano Pro, Max, Ultra, Team o Enterprise. Questo strumento quindi non è accessibile da Amazon Bedrock, Claude Platform su AWS, Google Cloud's Agent Platform o Microsoft Foundry | No |45| `RemoteTrigger` | Crea, aggiorna, esegue ed elenca le [attività pianificate cloud](https://code.claude.com/docs/it/routines.md), in precedenza routine, su claude.ai. Supporta il comando `/schedule`. Il [riferimento di input di `RemoteTrigger`](https://code.claude.com/docs/it/agent-sdk/typescript#remotetrigger) documenta ogni azione e le policy dell'organizzazione che rimuovono lo strumento. Le attività pianificate cloud risiedono su claude.ai e richiedono un piano Pro, Max, Ultra, Team o Enterprise. Questo strumento quindi non è accessibile da Amazon Bedrock, Claude Platform su AWS, Google Cloud's Agent Platform o Microsoft Foundry | No |

vs-code.md +12 −3

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

822 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: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 824 

825* **Terminale integrato**: [installa l'estensione](#install-the-extension), quindi avvia `claude`. La CLI si collega automaticamente.825* **Terminale integrato**: [installa l'estensione](#install-the-extension), quindi avvia `claude`. La CLI si collega automaticamente. Claude Code v2.1.318 o versioni successive non installa l'estensione al posto tuo, quindi finché non la installi, `/ide` segnala "No available IDEs detected" e `/status` mostra l'IDE come "Not connected".

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

827 827 

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


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

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

1093 1093 

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`.1094Se fai una di queste cose dopo la disinstallazione, l'estensione ritorna:

1095 

1096* Esegui `/ide` da un terminale esterno mentre VS Code è in esecuzione

1097* Avvii `claude` nel terminale integrato con una versione di Claude Code precedente alla v2.1.318

1098 

1099Per evitare che l'estensione ritorni, esegui una di queste operazioni, poi disinstallala di nuovo se è già ritornata:

1100 

1101* Imposta [`autoInstallIdeExtension`](https://code.claude.com/docs/it/settings-reference#autoinstallideextension) su `false` in `~/.claude.json`

1102* Imposta [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/it/env-vars#variables) su `1` sotto `env` in un [file di impostazioni](https://code.claude.com/docs/it/env-vars.md#in-settings-files)

1103* Nel terminale integrato, disattiva **Auto-install IDE extension** in `/config`

1095 1104 

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

1097 1106 

Details

12 12 

13Una sessione cloud esegue Claude Code su un'infrastruttura cloud invece che sulla tua macchina, gestita da Anthropic per impostazione predefinita. Questo quickstart ne avvia una da [claude.ai/code](https://claude.ai/code) nel tuo browser. Puoi anche avviarne una dall'app mobile Claude, dall'app Desktop o dal tuo terminale con `claude --cloud`.13Una sessione cloud esegue Claude Code su un'infrastruttura cloud invece che sulla tua macchina, gestita da Anthropic per impostazione predefinita. Questo quickstart ne avvia una da [claude.ai/code](https://claude.ai/code) nel tuo browser. Puoi anche avviarne una dall'app mobile Claude, dall'app Desktop o dal tuo terminale con `claude --cloud`.

14 14 

15Avrai bisogno di un repository GitHub per [iniziare](#connect-github). Claude lo clona in una macchina virtuale isolata, apporta modifiche ed esegue il push di un branch che potrai rivedere. Le sessioni persistono tra i dispositivi, quindi un'attività che inizi sul tuo laptop è pronta per essere rivista dal tuo telefono in seguito. Ogni sessione viene conteggiata nei limiti di utilizzo del tuo piano insieme al resto del tuo utilizzo di Claude e Claude Code, e non è previsto alcun costo separato per la VM cloud.15Claude clona il [repository GitHub](#connect-github) che selezioni in una macchina virtuale isolata, apporta modifiche ed esegue il push di un branch che potrai rivedere. Le sessioni persistono tra i dispositivi, quindi un'attività che inizi sul tuo laptop è pronta per essere rivista dal tuo telefono in seguito. Ogni sessione viene conteggiata nei limiti di utilizzo del tuo piano insieme al resto del tuo utilizzo di Claude e Claude Code, e non è previsto alcun costo separato per la VM cloud.

16 16 

17Le sessioni cloud funzionano bene per:17Le sessioni cloud funzionano bene per:

18 18 


44| **La avvii da** | claude.ai/code, l'app mobile Claude, l'app Desktop con **Cloud** selezionato, o `claude --cloud` | Il tuo terminale, il tuo IDE, o l'app Desktop con **Local** selezionato | Il tuo terminale, l'estensione VS Code, o l'app Desktop |44| **La avvii da** | claude.ai/code, l'app mobile Claude, l'app Desktop con **Cloud** selezionato, o `claude --cloud` | Il tuo terminale, il tuo IDE, o l'app Desktop con **Local** selezionato | Il tuo terminale, l'estensione VS Code, o l'app Desktop |

45| **Chatti da** | claude.ai, l'app mobile, o l'app Desktop | Dove l'hai avviata | claude.ai o l'app mobile, così come dove l'hai avviata |45| **Chatti da** | claude.ai, l'app mobile, o l'app Desktop | Dove l'hai avviata | claude.ai o l'app mobile, così come dove l'hai avviata |

46| **Utilizza la tua configurazione locale** | No, solo repository | Sì | Sì |46| **Utilizza la tua configurazione locale** | No, solo repository | Sì | Sì |

47| **Richiede GitHub** | Sì, o [raggruppa un repository locale](https://code.claude.com/docs/it/claude-code-on-the-web.md#send-local-repositories-without-github) tramite `--cloud` | No | No |47| **Richiede GitHub** | Sì per un repository GitHub, a meno che `--cloud` non [raggruppi il tuo repository locale](https://code.claude.com/docs/it/claude-code-on-the-web.md#send-local-repositories-without-github) | No | No |

48| **Continua a funzionare se ti disconnetti** | Sì | No | Mentre la sessione rimane aperta sulla tua macchina |48| **Continua a funzionare se ti disconnetti** | Sì | No | Mentre la sessione rimane aperta sulla tua macchina |

49| **[Modalità di permesso](https://code.claude.com/docs/it/permission-modes.md)** | Accetta modifiche, Plan, Auto | Tutte le modalità nel terminale; consulta [Cambia modalità di permesso](https://code.claude.com/docs/it/permission-modes.md#switch-permission-modes) per l'IDE e l'app Desktop | Manuale, Accetta modifiche, Plan o Auto da claude.ai e l'app mobile |49| **[Modalità di permesso](https://code.claude.com/docs/it/permission-modes.md)** | Accetta modifiche, Plan, Auto | Tutte le modalità nel terminale; consulta [Cambia modalità di permesso](https://code.claude.com/docs/it/permission-modes.md#switch-permission-modes) per l'IDE e l'app Desktop | Manuale, Accetta modifiche, Plan o Auto da claude.ai e l'app mobile |

50| **Accesso alla rete** | Configurabile per ambiente | La rete della tua macchina | La rete della tua macchina |50| **Accesso alla rete** | Configurabile per ambiente | La rete della tua macchina | La rete della tua macchina |


138 138 

139Il [controllo della modalità di permesso](https://code.claude.com/docs/it/permission-modes.md#switch-permission-modes) mostra la modalità di permesso in cui verrà eseguita la sessione:139Il [controllo della modalità di permesso](https://code.claude.com/docs/it/permission-modes.md#switch-permission-modes) mostra la modalità di permesso in cui verrà eseguita la sessione:

140 140 

141* **Auto**: un classificatore esamina le azioni di Claude invece di chiedertelo. Compare quando la tua organizzazione consente la modalità auto e il modello selezionato la supporta141* **Auto**: un classificatore esamina le azioni di Claude invece di chiedertelo. Compare a meno che la tua organizzazione non disattivi la [modalità auto](https://code.claude.com/docs/it/permission-modes.md#eliminate-prompts-with-auto-mode). Su claude.ai/code, se è disattivata in grigio, seleziona un modello che supporta la modalità auto

142* **Accept edits**: Claude apporta modifiche ed esegue il push di un branch senza fermarsi per l'approvazione142* **Accept edits**: Claude apporta modifiche ed esegue il push di un branch senza fermarsi per l'approvazione

143* **Plan**: Claude propone un approccio e attende che tu lo approvi prima di modificare i file143* **Plan**: Claude propone un approccio e attende che tu lo approvi prima di modificare i file

144 144 


209 209 

210### La pagina mostra solo un pulsante di accesso a GitHub210### La pagina mostra solo un pulsante di accesso a GitHub

211 211 

212Le sessioni cloud richiedono un account GitHub connesso. Connettiti tramite il flusso del browser sopra, o esegui `/web-setup` dal tuo terminale se usi la GitHub CLI. Se preferisci non connettere GitHub affatto, consulta [Remote Control](https://code.claude.com/docs/it/remote-control.md) per eseguire Claude Code sulla tua macchina e monitorarlo dal browser o dal telefono.212Per lavorare in un repository GitHub in una sessione cloud, [connetti il tuo account GitHub](#connect-github), oppure esegui `/web-setup` dal tuo terminale se usi la GitHub CLI. Se preferisci non connettere GitHub affatto, consulta [Remote Control](https://code.claude.com/docs/it/remote-control.md) per eseguire Claude Code sulla tua macchina e monitorarlo dal browser o dal telefono.

213 213 

214### "Claude Code non è disponibile sul tuo account"214### "Claude Code non è disponibile sul tuo account"

215 215 


242 242 

243### Lo script di configurazione non è riuscito243### Lo script di configurazione non è riuscito

244 244 

245Lo script di configurazione è uscito con uno stato diverso da zero, il che blocca l'avvio della sessione. Le cause comuni sono:245Lo [script di configurazione](https://code.claude.com/docs/it/cloud-environments.md#setup-scripts) è uscito con uno stato diverso da zero, quindi la sessione non si è avviata oppure si è avviata senza ciò che lo script non è riuscito a installare. Se la sessione si è avviata, puoi continuare a lavorarci.

246 

247Cause comuni:

246 248 

247* Un'installazione di pacchetto non è riuscita perché il registro non è nel tuo [livello di accesso alla rete](https://code.claude.com/docs/it/cloud-environments.md#access-levels). `Trusted` copre la maggior parte dei gestori di pacchetti; `None` li blocca tutti.249* Un'installazione di pacchetto non è riuscita perché il registro non è nel tuo [livello di accesso alla rete](https://code.claude.com/docs/it/cloud-environments.md#access-levels). `Trusted` copre la maggior parte dei gestori di pacchetti; `None` li blocca tutti.

248* Lo script fa riferimento a un file o un percorso che non esiste in un clone fresco.250* Lo script fa riferimento a un file o un percorso che non esiste in un clone fresco.

249* Un comando che funziona localmente ha bisogno di una diversa invocazione su Ubuntu.251* Un comando che funziona localmente ha bisogno di una diversa invocazione su Ubuntu.

250 252 

251Per eseguire il debug, aggiungi `set -x` nella parte superiore dello script per vedere quale comando non è riuscito. Per i comandi non critici, aggiungi `|| true` in modo che non blocchino l'avvio della sessione.253Per eseguire il debug, aggiungi `set -x` nella parte superiore dello script per vedere quale comando non è riuscito. Per i comandi non critici, aggiungi `|| true` in modo che non facciano fallire lo script. Dopo aver corretto la causa, avvia una nuova sessione in modo che lo script venga eseguito di nuovo. Se ciò che non è riuscito ad avviarsi era un'esecuzione di un'[attività pianificata cloud](https://code.claude.com/docs/it/routines.md), fai clic su **Run now** nella pagina dei dettagli dell'attività invece di avviare una nuova sessione.

252 254 

253### Nuove sessioni si bloccano o scadono durante la configurazione255### Nuove sessioni si bloccano o scadono durante la configurazione

254 256