SpyBara
Go Premium

Documentation 2026-06-29 23:02 UTC to 2026-06-30 23:02 UTC

79 files changed +3,170 −702. View all changes and history on the product overview
2026
Tue 30 23:02 Mon 29 23:02 Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

admin-setup.md +12 −10

Details

46 Decidi come le impostazioni raggiungono i dispositivi46 Decidi come le impostazioni raggiungono i dispositivi

47</h2>47</h2>

48 48 

49Le impostazioni gestite definiscono una policy che ha la precedenza sulla configurazione locale dello sviluppatore. Claude Code controlla le quattro fonti sottostanti in ordine di priorità e applica la prima che restituisce una configurazione non vuota.49Le impostazioni gestite definiscono una policy che ha la precedenza sulla configurazione locale dello sviluppatore. Claude Code controlla le quattro fonti sottostanti in ordine di priorità e applica la prima che restituisce una configurazione non vuota, con un'eccezione: un piccolo insieme di [chiavi di blocco tra fonti](/it/settings#settings-precedence), come i blocchi della lista di autorizzazione della sandbox, viene rispettato quando qualsiasi fonte controllata dall'amministratore li imposta.

50 50 

51| Meccanismo | Consegna | Priorità | Piattaforme |51| Meccanismo | Consegna | Priorità | Piattaforme |

52| :---------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- | :------------- |52| :---------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- | :------------- |

53| Server-managed | Console di amministrazione Claude.ai | Massima | Tutte |53| Server-managed | Console di amministrazione claude.ai, o un [gateway di app Claude](/it/claude-apps-gateway) self-hosted per accessi tramite gateway | Massima | Tutte |

54| plist / registry policy | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | Alta | macOS, Windows |54| plist / registry policy | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | Alta | macOS, Windows |

55| File-based managed | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux e WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | Media | Tutte |55| File-based managed | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux e WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | Media | Tutte |

56| Windows user registry | `HKCU\SOFTWARE\Policies\ClaudeCode` | Minima | Solo Windows |56| Windows user registry | `HKCU\SOFTWARE\Policies\ClaudeCode` | Minima | Solo Windows |

57 57 

58Le impostazioni gestite dal server raggiungono i dispositivi al momento dell'autenticazione e si aggiornano ogni ora durante le sessioni attive, senza infrastruttura di endpoint. Richiedono un piano Claude for Teams o Enterprise, quindi le distribuzioni su altri provider hanno bisogno di uno dei meccanismi basati su file o a livello di sistema operativo.58Un [`policyHelper`](/it/settings#compute-managed-settings-with-a-policy-helper) configurato ha la precedenza su tutte e quattro le fonti: il suo output diventa l'unica configurazione gestita per l'esecuzione. Vedi [Settings precedence](/it/settings#settings-precedence).

59 59 

60Se la tua organizzazione mescola provider, configura le [impostazioni gestite dal server](/it/server-managed-settings) per gli utenti di Claude.ai più un [fallback basato su file o plist/registry](/it/settings#settings-files) in modo che gli altri utenti ricevano comunque la policy gestita.60Le impostazioni gestite dal server raggiungono i dispositivi al momento dell'autenticazione e si aggiornano ogni ora durante le sessioni attive, senza infrastruttura di endpoint. La consegna attraverso la console di amministrazione claude.ai richiede un piano Claude for Teams o Enterprise. Le distribuzioni su Bedrock, Vertex AI o Foundry possono ottenere la stessa consegna remota eseguendo un [gateway di app Claude](/it/claude-apps-gateway), oppure utilizzare uno dei meccanismi basati su file o a livello di sistema operativo.

61 

62Se la tua organizzazione mescola provider, configura le [impostazioni gestite dal server](/it/server-managed-settings) per gli utenti di claude.ai più un [fallback basato su file o plist/registry](/it/settings#settings-files) in modo che gli altri utenti ricevano comunque la policy gestita.

61 63 

62Le posizioni del registro plist e HKLM funzionano con qualsiasi provider e resistono alle manomissioni perché richiedono privilegi di amministratore per la scrittura. Il registro utente di Windows in HKCU è scrivibile senza elevazione, quindi trattalo come un default di convenienza piuttosto che come un canale di applicazione.64Le posizioni del registro plist e HKLM funzionano con qualsiasi provider e resistono alle manomissioni perché richiedono privilegi di amministratore per la scrittura. Il registro utente di Windows in HKCU è scrivibile senza elevazione, quindi trattalo come un default di convenienza piuttosto che come un canale di applicazione.

63 65 

64Per impostazione predefinita WSL legge solo il percorso del file Linux in `/etc/claude-code`. Per estendere la tua policy del registro Windows e `C:\Program Files\ClaudeCode` a WSL sulla stessa macchina, imposta [`wslInheritsWindowsSettings: true`](/it/settings#available-settings) in una di quelle fonti solo amministratore di Windows.66Per impostazione predefinita, WSL legge solo il percorso del file Linux in `/etc/claude-code`. Per estendere la tua policy del registro Windows e `C:\Program Files\ClaudeCode` a WSL sulla stessa macchina, imposta [`wslInheritsWindowsSettings: true`](/it/settings#available-settings) in una di quelle fonti solo amministratore di Windows.

65 67 

66Qualunque meccanismo tu scelga, i valori gestiti hanno la precedenza sulle impostazioni dell'utente e del progetto. Le impostazioni di array come `permissions.allow` e `permissions.deny` uniscono le voci da tutte le fonti, quindi gli sviluppatori possono estendere gli elenchi gestiti ma non rimuovere da essi, con [due eccezioni](/it/settings#settings-precedence) dove il valore gestito sostituisce i livelli inferiori piuttosto che unirsi: `fallbackModel` e `availableModels`.68Qualunque meccanismo tu scelga, i valori gestiti hanno la precedenza sulle impostazioni dell'utente e del progetto. Le impostazioni di array come `permissions.allow` e `permissions.deny` uniscono le voci da tutte le fonti, quindi gli sviluppatori possono estendere gli elenchi gestiti ma non rimuovere da essi. Per [due eccezioni](/it/settings#settings-precedence), `fallbackModel` e `availableModels`, il valore gestito sostituisce i livelli inferiori piuttosto che unirsi.

67 69 

68Consulta [Server-managed settings](/it/server-managed-settings) e [Settings files and precedence](/it/settings#settings-files).70Consulta [Server-managed settings](/it/server-managed-settings) e [Settings files and precedence](/it/settings#settings-files).

69 71 


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

81| [Managed policy CLAUDE.md](/it/memory#deploy-organization-wide-claude-md) | Istruzioni a livello di organizzazione caricate in ogni sessione, non possono essere escluse | File nel percorso della policy gestita |83| [Managed policy CLAUDE.md](/it/memory#deploy-organization-wide-claude-md) | Istruzioni a livello di organizzazione caricate in ogni sessione, non possono essere escluse | File nel percorso della policy gestita |

82| [MCP server control](/it/managed-mcp) | Limitare quali server MCP gli utenti possono aggiungere o connettere, o distribuire un set fisso | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, o un file `managed-mcp.json` distribuito |84| [MCP server control](/it/managed-mcp) | Limitare quali server MCP gli utenti possono aggiungere o connettere, o distribuire un set fisso | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, o un file `managed-mcp.json` distribuito |

83| [Plugin marketplace control](/it/plugin-marketplaces#managed-marketplace-restrictions) | Limitare quali fonti di marketplace gli utenti possono aggiungere e installare | `strictKnownMarketplaces`, `blockedMarketplaces` |85| [Plugin marketplace control](/it/plugin-marketplaces#managed-marketplace-restrictions) | Limitare quali fonti di marketplace gli utenti possono aggiungere e installare, e rifiutare i flag CLI che caricano plugin, agent e server MCP per una singola esecuzione | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags` |

84| [Customization lockdown](/it/settings#strictpluginonlycustomization) | Bloccare skills, agents, hooks e server MCP da fonti utente e progetto, in modo che possano provenire solo da plugin o impostazioni gestite | `strictPluginOnlyCustomization` |86| [Customization lockdown](/it/settings#strictpluginonlycustomization) | Bloccare skills, agents, hooks e server MCP da fonti utente e progetto, in modo che possano provenire solo da plugin o impostazioni gestite | `strictPluginOnlyCustomization` |

85| [Hook restrictions](/it/settings#hook-configuration) | Solo gli hook gestiti vengono caricati; limitare gli URL degli hook HTTP | `allowManagedHooksOnly`, `allowedHttpHookUrls` |87| [Hook restrictions](/it/settings#hook-configuration) | Solo gli hook gestiti vengono caricati; limitare gli URL degli hook HTTP | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

86| [Disable agent view](/it/agent-view#how-background-sessions-are-hosted) | Disattivare `claude agents`, `--bg`, `/background` e il supervisore on-demand | `disableAgentView` |88| [Disable agent view](/it/agent-view#how-background-sessions-are-hosted) | Disattivare `claude agents`, `--bg`, `/background` e il supervisore on-demand | `disableAgentView` |


99Scegli il monitoraggio in base a ciò che devi segnalare.101Scegli il monitoraggio in base a ciò che devi segnalare.

100 102 

101| Capacità | Cosa ottieni | Disponibilità | Da dove iniziare |103| Capacità | Cosa ottieni | Disponibilità | Da dove iniziare |

102| :------------------ | :--------------------------------------------------------------- | :--------------- | :--------------------------------------- |104| :------------------ | :--------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------- |

103| Usage monitoring | Esportazione OpenTelemetry di sessioni, strumenti e token | Tutti i provider | [Monitoring usage](/it/monitoring-usage) |105| Usage monitoring | Esportazione OpenTelemetry di sessioni, strumenti e token | Tutti i provider | [Monitoring usage](/it/monitoring-usage) |

104| Analytics dashboard | Metriche per utente, tracciamento dei contributi, leaderboard | Solo Anthropic | [Analytics](/it/analytics) |106| Analytics dashboard | Metriche per utente, tracciamento dei contributi, leaderboard | Solo Anthropic | [Analytics](/it/analytics) |

105| Cost tracking | Limiti di spesa, limiti di velocità e attribuzione dell'utilizzo | Solo Anthropic | [Costs](/it/costs) |107| Cost tracking | Limiti di spesa, limiti di velocità e attribuzione dell'utilizzo | Solo Anthropic; sui cloud di terze parti, un [Claude apps gateway](/it/claude-apps-gateway) fornisce attribuzione per utente e [limiti di spesa](/it/claude-apps-gateway-spend-limits) | [Costs](/it/costs) |

106 108 

107I provider cloud espongono la spesa attraverso AWS Cost Explorer, GCP Billing o Azure Cost Management. I piani Claude for Teams e Enterprise includono una dashboard di utilizzo su [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code).109I provider cloud espongono la spesa attraverso AWS Cost Explorer, GCP Billing o Azure Cost Management. I piani Claude for Teams e Enterprise includono una dashboard di utilizzo su [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code).

108 110 


118| Zero Data Retention (ZDR) | Nulla archiviato dopo il completamento della richiesta. Disponibile su Claude for Enterprise | [Zero data retention](/it/zero-data-retention) |120| Zero Data Retention (ZDR) | Nulla archiviato dopo il completamento della richiesta. Disponibile su Claude for Enterprise | [Zero data retention](/it/zero-data-retention) |

119| Security architecture | Modello di rete, crittografia, autenticazione, audit trail | [Security](/it/security) |121| Security architecture | Modello di rete, crittografia, autenticazione, audit trail | [Security](/it/security) |

120 122 

121Se hai bisogno di logging di audit a livello di richiesta o di instradare il traffico in base alla sensibilità dei dati, posiziona un [LLM gateway](/it/llm-gateway) tra gli sviluppatori e il tuo provider. Per i requisiti normativi e le certificazioni, consulta [Legal and compliance](/it/legal-and-compliance).123Se hai bisogno di logging di audit a livello di richiesta o di instradare il traffico in base alla sensibilità dei dati, posiziona un gateway tra gli sviluppatori e il tuo provider: un [Claude apps gateway](/it/claude-apps-gateway) auto-ospitato registra un log di audit per richiesta con identità IdP, oppure utilizza un altro [LLM gateway](/it/llm-gateway). Per i requisiti normativi e le certificazioni, consulta [Legal and compliance](/it/legal-and-compliance).

122 124 

123<h2 id="verify-and-onboard">125<h2 id="verify-and-onboard">

124 Verifica e onboard126 Verifica e onboard

advisor.md +2 −1

Details

88| ----------------------------------------------- | ------------------------------------------------------------ | -------------------------------------------------------------- |88| ----------------------------------------------- | ------------------------------------------------------------ | -------------------------------------------------------------- |

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

90| Sonnet 4.6 | Fable, Opus, Sonnet | |90| Sonnet 4.6 | Fable, Opus, Sonnet | |

91| Sonnet 5 | Fable, Opus, Sonnet 5 | Un advisor Sonnet 4.6 viene rifiutato |

91| Opus 4.6 o successivo | Fable, Opus alla versione del modello principale o superiore | Un Opus 4.7 principale con un advisor Opus 4.6 viene rifiutato |92| Opus 4.6 o successivo | Fable, Opus alla versione del modello principale o superiore | Un Opus 4.7 principale con un advisor Opus 4.6 viene rifiutato |

92| Fable 5 ({/* min-version: 2.1.170 */}v2.1.170+) | Fable | Un advisor Opus o Sonnet viene rifiutato |93| Fable 5 ({/* min-version: 2.1.170 */}v2.1.170+) | Fable | Un advisor Opus o Sonnet viene rifiutato |

93 94 


161 162 

162* **Claude Code v2.1.98 o successivo**: esegui `claude update` per aggiornare.163* **Claude Code v2.1.98 o successivo**: esegui `claude update` per aggiornare.

163* **Solo API Anthropic**: l'advisor è uno strumento eseguito dal server. Non è disponibile su Amazon Bedrock, Google Vertex AI o Microsoft Foundry. Attraverso un [gateway LLM](/it/llm-gateway) configurato con `ANTHROPIC_BASE_URL`, la disponibilità dipende dal fatto che il gateway inoltri la richiesta intatta all'API Anthropic.164* **Solo API Anthropic**: l'advisor è uno strumento eseguito dal server. Non è disponibile su Amazon Bedrock, Google Vertex AI o Microsoft Foundry. Attraverso un [gateway LLM](/it/llm-gateway) configurato con `ANTHROPIC_BASE_URL`, la disponibilità dipende dal fatto che il gateway inoltri la richiesta intatta all'API Anthropic.

164* **Modello principale supportato**: Opus 4.6 o successivo, Sonnet 4.6, o Haiku 4.5. {/* min-version: 2.1.170 */}Fable 5 si qualifica anche su Claude Code v2.1.170 o successivo.165* **Modello principale supportato**: Opus 4.6 o successivo, Sonnet 4.6 o successivo, o Haiku 4.5. {/* min-version: 2.1.170 */}Fable 5 si qualifica anche su Claude Code v2.1.170 o successivo.

165 166 

166<h2 id="turn-the-advisor-off">167<h2 id="turn-the-advisor-off">

167 Disattiva l'advisor168 Disattiva l'advisor

Details

226 Modello226 Modello

227</h3>227</h3>

228 228 

229Se non impostate `model`, l'SDK utilizza il predefinito di Claude Code, che dipende dal vostro metodo di autenticazione e dall'abbonamento. Impostatelo esplicitamente (ad esempio, `model="claude-sonnet-4-6"`) per fissare un modello specifico o per utilizzare un modello più piccolo per agenti più veloci e economici. Vedere [models](https://platform.claude.com/docs/en/about-claude/models) per gli ID disponibili.229Se non impostate `model`, l'SDK utilizza il predefinito di Claude Code, che dipende dal vostro metodo di autenticazione e dall'abbonamento. Impostatelo esplicitamente (ad esempio, `model="claude-sonnet-5"`) per fissare un modello specifico o per utilizzare un modello più piccolo per agenti più veloci e economici. Vedere [models](https://platform.claude.com/docs/en/about-claude/models) per gli ID disponibili.

230 230 

231<h2 id="the-context-window">231<h2 id="the-context-window">

232 La finestra di contesto232 La finestra di contesto

agent-sdk/hooks.md +22 −14

Details

203 ```203 ```

204</CodeGroup>204</CodeGroup>

205 205 

206L'opzione `hooks` è un dizionario (Python) o un oggetto (TypeScript) dove:206L'opzione `hooks` è un dizionario in Python o un oggetto in TypeScript, dove:

207 207 

208* **Le chiavi** sono [nomi degli eventi hook](#available-hooks) (ad es. `'PreToolUse'`, `'PostToolUse'`, `'Stop'`)208* **Le chiavi**: [nomi degli eventi hook](#available-hooks) come `'PreToolUse'`, `'PostToolUse'` e `'Stop'`

209* **I valori** sono array di [matcher](#matchers), ognuno contenente un modello di filtro opzionale e le vostre [funzioni di callback](#callback-functions)209* **I valori**: array di [matcher](#matchers), ognuno contenente un modello di filtro opzionale e le vostre [funzioni di callback](#callback-functions)

210 210 

211<h3 id="matchers">211<h3 id="matchers">

212 Matcher212 Matchers

213</h3>213</h3>

214 214 

215Utilizzate i matcher per filtrare quando i vostri callback si attivano. Il campo `matcher` corrisponde a un valore diverso a seconda del tipo di evento hook. Ad esempio, gli hook basati su strumenti corrispondono al nome dello strumento, mentre gli hook `Notification` corrispondono al tipo di notifica. Consultate il [riferimento degli hooks di Claude Code](/it/hooks#matcher-patterns) per l'elenco completo dei valori di matcher per ogni tipo di evento.215Utilizzate i matcher per filtrare quando i vostri callback si attivano. Il campo `matcher` corrisponde a un valore diverso a seconda del tipo di evento hook. Ad esempio, gli hook basati su strumenti corrispondono al nome dello strumento, mentre gli hook `Notification` corrispondono al tipo di notifica. Consultate il [riferimento degli hooks di Claude Code](/it/hooks#matcher-patterns) per l'elenco completo dei valori di matcher per ogni tipo di evento.

216 216 

217I matcher SDK seguono le stesse regole dei [matcher nei file di impostazioni](/it/hooks#matcher-patterns): un matcher contenente solo lettere, cifre, `_`, spazi, `,` e `|` viene confrontato come una stringa esatta, con alternative separate da `|` o `,` e spazi bianchi opzionali circostanti, quindi `Write|Edit` e `Write, Edit` corrispondono esattamente a questi due strumenti. Un matcher di `*`, una stringa vuota, o l'omissione del matcher interamente corrisponde a ogni occorrenza dell'evento; un matcher contenente qualsiasi altro carattere viene valutato come un'espressione regolare, quindi `^mcp__` corrisponde a ogni strumento MCP. Un matcher come `mcp__memory` contiene solo lettere e sottolineature, quindi viene confrontato come una stringa esatta e non corrisponde a nessuno strumento; utilizzate `mcp__memory__.*` per corrispondere a ogni strumento da quel server.217I matcher SDK seguono le stesse regole dei [matcher nei file di impostazioni](/it/hooks#matcher-patterns). Un matcher contenente solo lettere, cifre, `_`, `-`, spazi, `,` e `|` viene confrontato come una stringa esatta, con alternative separate da `|` o `,` e spazi bianchi opzionali circostanti, quindi `Write|Edit` e `Write, Edit` corrispondono esattamente a questi due strumenti e `code-reviewer` corrisponde solo a quel tipo di agente. Un matcher di `*`, una stringa vuota, o l'omissione del matcher interamente corrisponde a ogni occorrenza dell'evento.

218 

219Un matcher contenente qualsiasi altro carattere viene valutato come un'espressione regolare non ancorata, quindi `^mcp__` corrisponde a ogni strumento MCP e `Edit.*` corrisponde sia a `Edit` che a `NotebookEdit`. Avvolgete un'espressione regolare in `^` e `$` quando avete bisogno di una corrispondenza di intera stringa.

220 

221Un matcher come `mcp__memory` o `mcp__brave-search` contiene solo caratteri di corrispondenza esatta, quindi viene confrontato come una stringa esatta e non corrisponde a nessuno strumento; utilizzate `mcp__memory__.*` per corrispondere a ogni strumento da quel server.

222 

223I trattini nel set di corrispondenza esatta richiedono un runtime di Claude Code v2.1.195 o successivo. Nelle versioni precedenti, un nome con trattino come `code-reviewer` viene valutato come un'espressione regolare non ancorata e deve essere ancorato come `^code-reviewer$` per corrispondere esattamente.

218 224 

219| Opzione | Tipo | Predefinito | Descrizione |225| Opzione | Tipo | Predefinito | Descrizione |

220| --------- | ---------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |226| --------- | ---------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


222| `hooks` | `HookCallback[]` | - | Obbligatorio. Array di funzioni di callback da eseguire quando il modello corrisponde |228| `hooks` | `HookCallback[]` | - | Obbligatorio. Array di funzioni di callback da eseguire quando il modello corrisponde |

223| `timeout` | `number` | `60` | Timeout in secondi |229| `timeout` | `number` | `60` | Timeout in secondi |

224 230 

225Utilizzate 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 vostri callback per ogni occorrenza dell'evento. Notate che per gli hook basati su strumenti, i matcher filtrano solo per **nome dello strumento**, non per percorsi di file o altri argomenti. Per filtrare per percorso di file, controllate `tool_input.file_path` all'interno del vostro callback.231Utilizzate 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 vostri callback per ogni occorrenza dell'evento.

232 

233Per gli hook basati su strumenti, i matcher filtrano solo per nome dello strumento, non per percorsi di file o altri argomenti. Per filtrare per percorso di file, controllate `tool_input.file_path` all'interno del vostro callback.

226 234 

227<Tip>235<Tip>

228 **Scoprire i nomi degli strumenti:** Consultate [Tipi di input degli strumenti](/it/agent-sdk/typescript#tool-input-types) per l'elenco completo dei nomi degli strumenti incorporati, oppure aggiungete un hook senza un matcher per registrare tutte le chiamate agli strumenti che la vostra sessione effettua.236 **Scoprire i nomi degli strumenti:** Consultate [Tipi di input degli strumenti](/it/agent-sdk/typescript#tool-input-types) per l'elenco completo dei nomi degli strumenti incorporati, oppure aggiungete un hook senza un matcher per registrare tutte le chiamate agli strumenti che la vostra sessione effettua.

229 237 

230 **Denominazione degli strumenti MCP:** Gli strumenti MCP iniziano sempre con `mcp__` seguito dal nome del server e dall'azione: `mcp__<server>__<action>`. Ad esempio, se configurate un server denominato `playwright`, i suoi strumenti saranno denominati `mcp__playwright__browser_screenshot`, `mcp__playwright__browser_click`, ecc. Il nome del server proviene dalla chiave che utilizzate nella configurazione `mcpServers`.238 **Denominazione degli strumenti MCP:** Gli strumenti MCP iniziano sempre con `mcp__` seguito dal nome del server e dall'azione: `mcp__<server>__<action>`. Ad esempio, se configurate un server denominato `playwright`, i suoi strumenti saranno denominati `mcp__playwright__browser_screenshot`, `mcp__playwright__browser_click` e così via. Il nome del server proviene dalla chiave che utilizzate nella configurazione `mcpServers`.

231</Tip>239</Tip>

232 240 

233<h3 id="callback-functions">241<h3 id="callback-functions">


240 248 

241Ogni callback hook riceve tre argomenti:249Ogni callback hook riceve tre argomenti:

242 250 

243* **Dati di input:** un oggetto tipizzato contenente i dettagli dell'evento. Ogni tipo di hook ha la sua forma di input (ad esempio, `PreToolUseHookInput` include `tool_name` e `tool_input`, mentre `NotificationHookInput` include `message`). Consultate le definizioni di tipo complete nei riferimenti SDK [TypeScript](/it/agent-sdk/typescript#hookinput) e [Python](/it/agent-sdk/python#hookinput).251* **Dati di input:** un oggetto tipizzato contenente i dettagli dell'evento. Ogni tipo di hook ha la sua forma di input. Ad esempio, `PreToolUseHookInput` include `tool_name` e `tool_input`, mentre `NotificationHookInput` include `message`. Consultate le definizioni di tipo complete nei riferimenti SDK [TypeScript](/it/agent-sdk/typescript#hookinput) e [Python](/it/agent-sdk/python#hookinput).

244 * Tutti gli input hook condividono `session_id`, `cwd` e `hook_event_name`.252 * Tutti gli input hook condividono `session_id`, `cwd` e `hook_event_name`.

245 * `agent_id` e `agent_type` vengono popolati quando l'hook si attiva all'interno di un subagente. In TypeScript, questi si trovano sull'input hook di base e sono disponibili per tutti i tipi di hook. In Python, si trovano solo su `PreToolUse`, `PostToolUse` e `PostToolUseFailure`.253 * `agent_id` e `agent_type` vengono popolati quando l'hook si attiva all'interno di un subagente. In TypeScript, questi si trovano sull'input hook di base e sono disponibili per tutti i tipi di hook. In Python, si trovano solo su `PreToolUse`, `PostToolUse` e `PostToolUseFailure`.

246* **ID di utilizzo dello strumento** (`str | None` / `string | undefined`): correla gli eventi `PreToolUse` e `PostToolUse` per la stessa chiamata a uno strumento.254* **ID di utilizzo dello strumento** (`str | None` / `string | undefined`): correla gli eventi `PreToolUse` e `PostToolUse` per la stessa chiamata a uno strumento.


258Restituite `{}` per consentire l'operazione senza modifiche. Gli hook di callback SDK utilizzano lo stesso formato di output JSON degli [hook dei comandi shell di Claude Code](/it/hooks#json-output), che documenta ogni campo e opzione specifica dell'evento. Per le definizioni di tipo SDK, consultate i riferimenti SDK [TypeScript](/it/agent-sdk/typescript#synchookjsonoutput) e [Python](/it/agent-sdk/python#synchookjsonoutput).266Restituite `{}` per consentire l'operazione senza modifiche. Gli hook di callback SDK utilizzano lo stesso formato di output JSON degli [hook dei comandi shell di Claude Code](/it/hooks#json-output), che documenta ogni campo e opzione specifica dell'evento. Per le definizioni di tipo SDK, consultate i riferimenti SDK [TypeScript](/it/agent-sdk/typescript#synchookjsonoutput) e [Python](/it/agent-sdk/python#synchookjsonoutput).

259 267 

260<Note>268<Note>

261 Quando si applicano più hook o regole di autorizzazione, **deny** ha priorità su **defer**, che ha priorità su **ask**, che ha priorità su **allow**. Se un hook restituisce `deny`, l'operazione viene bloccata indipendentemente dagli altri hook.269 Quando si applicano più hook o regole di autorizzazione, `deny` ha priorità su `defer`, che ha priorità su `ask`, che ha priorità su `allow`. Se un hook restituisce `deny`, l'operazione viene bloccata indipendentemente dagli altri hook.

262</Note>270</Note>

263 271 

264<h4 id="asynchronous-output">272<h4 id="asynchronous-output">

265 Output asincrono273 Output asincrono

266</h4>274</h4>

267 275 

268Per impostazione predefinita, l'agente attende che il vostro hook restituisca prima di procedere. Se il vostro hook esegue un effetto collaterale (registrazione, invio di un webhook) e non ha bisogno di influenzare il comportamento dell'agente, potete restituire un output asincrono. Questo dice all'agente di continuare immediatamente senza attendere il completamento dell'hook:276Per impostazione predefinita, l'agente attende che il vostro hook restituisca prima di procedere. Se il vostro hook esegue un effetto collaterale, come la registrazione o l'invio di un webhook, e non ha bisogno di influenzare il comportamento dell'agente, potete restituire un output asincrono. Questo dice all'agente di continuare immediatamente senza attendere il completamento dell'hook:

269 277 

270<CodeGroup>278<CodeGroup>

271 ```python Python theme={null}279 ```python Python theme={null}


782* Verificate che il nome dell'evento hook sia corretto e sensibile alle maiuscole (`PreToolUse`, non `preToolUse`)790* Verificate che il nome dell'evento hook sia corretto e sensibile alle maiuscole (`PreToolUse`, non `preToolUse`)

783* Controllate che il vostro modello di matcher corrisponda esattamente al nome dello strumento791* Controllate che il vostro modello di matcher corrisponda esattamente al nome dello strumento

784* Assicuratevi che l'hook sia sotto il tipo di evento corretto in `options.hooks`792* Assicuratevi che l'hook sia sotto il tipo di evento corretto in `options.hooks`

785* Per gli hook non basati su strumenti come `Stop` e `SubagentStop`, i matcher corrispondono a campi diversi (consultate [modelli di matcher](/it/hooks#matcher-patterns))793* Per gli hook non basati su strumenti che supportano matcher, come `Notification` e `SubagentStop`, i matcher corrispondono a campi diversi, e `Stop` ignora completamente i matcher (consultate [modelli di matcher](/it/hooks#matcher-patterns))

786* Gli hooks potrebbero non attivarsi quando l'agente raggiunge il limite [`max_turns`](/it/agent-sdk/python#claudeagentoptions) perché la sessione termina prima che gli hooks possano essere eseguiti794* Gli hooks potrebbero non attivarsi quando l'agente raggiunge il limite [`max_turns`](/it/agent-sdk/python#claudeagentoptions) perché la sessione termina prima che gli hooks possano essere eseguiti

787 795 

788<h3 id="matcher-not-filtering-as-expected">796<h3 id="matcher-not-filtering-as-expected">

789 Matcher non filtra come previsto797 Matcher non filtra come previsto

790</h3>798</h3>

791 799 

792I matcher corrispondono solo ai **nomi degli strumenti**, non ai percorsi dei file o ad altri argomenti. Per filtrare per percorso di file, controllate `tool_input.file_path` all'interno del vostro hook:800I matcher corrispondono solo ai nomi degli strumenti, non ai percorsi dei file o ad altri argomenti. Per filtrare per percorso di file, controllate `tool_input.file_path` all'interno del vostro hook:

793 801 

794```typescript theme={null}802```typescript theme={null}

795const myHook: HookCallback = async (input, toolUseID, { signal }) => {803const myHook: HookCallback = async (input, toolUseID, { signal }) => {


815 823 

816* Controllate tutti gli hook `PreToolUse` per i ritorni `permissionDecision: 'deny'`824* Controllate tutti gli hook `PreToolUse` per i ritorni `permissionDecision: 'deny'`

817* Aggiungete la registrazione ai vostri hook per vedere quale `permissionDecisionReason` stanno restituendo825* Aggiungete la registrazione ai vostri hook per vedere quale `permissionDecisionReason` stanno restituendo

818* Verificate che i modelli di matcher non siano troppo ampi (un matcher vuoto corrisponde a tutti gli strumenti)826* Verificate che i modelli di matcher non siano troppo ampi: un matcher vuoto corrisponde a tutti gli strumenti

819 827 

820<h3 id="modified-input-not-applied">828<h3 id="modified-input-not-applied">

821 Input modificato non applicato829 Input modificato non applicato


841 Hook di sessione non disponibili in Python849 Hook di sessione non disponibili in Python

842</h3>850</h3>

843 851 

844`SessionStart` e `SessionEnd` possono essere registrati come hook di callback SDK in TypeScript, ma non sono disponibili nell'SDK Python (`HookEvent` li omette). In Python, sono disponibili solo come [hook dei comandi shell](/it/hooks#hook-events) definiti nei file di impostazioni (ad esempio, `.claude/settings.json`). Per caricare gli hook dei comandi shell dalla vostra applicazione SDK, includete la fonte di impostazione appropriata con [`setting_sources`](/it/agent-sdk/python#settingsource) o [`settingSources`](/it/agent-sdk/typescript#settingsource):852`SessionStart` e `SessionEnd` possono essere registrati come hook di callback SDK in TypeScript, ma non sono disponibili nell'SDK Python perché il suo tipo `HookEvent` li omette. In Python, sono disponibili solo come [hook dei comandi shell](/it/hooks#hook-events) definiti nei file di impostazioni come `.claude/settings.json`. Per caricare gli hook dei comandi shell dalla vostra applicazione SDK, includete la fonte di impostazione appropriata con [`setting_sources`](/it/agent-sdk/python#settingsource) o [`settingSources`](/it/agent-sdk/typescript#settingsource):

845 853 

846<CodeGroup>854<CodeGroup>

847 ```python Python theme={null}855 ```python Python theme={null}

Details

209 209 

210* **Solo trascrizioni**: `SessionStore` esegue il mirroring delle trascrizioni, non dei file di memoria `CLAUDE.md` o di altri artefatti della directory di lavoro. Montate un volume condiviso o sincronizzate quelli separatamente.210* **Solo trascrizioni**: `SessionStore` esegue il mirroring delle trascrizioni, non dei file di memoria `CLAUDE.md` o di altri artefatti della directory di lavoro. Montate un volume condiviso o sincronizzate quelli separatamente.

211* **Mirroring, non sostituzione**: il sottoprocesso scrive su disco locale per primo, e l'archivio riceve una copia di ogni batch. Le scritture locali rimangono autorevoli.211* **Mirroring, non sostituzione**: il sottoprocesso scrive su disco locale per primo, e l'archivio riceve una copia di ogni batch. Le scritture locali rimangono autorevoli.

212* **Messaggi `mirror_error`**: se l'archivio rifiuta o scade, l'SDK emette un messaggio `{ type: "system", subtype: "mirror_error" }` e continua la query senza riprovare. Avvertite su questi se la durabilità dell'archivio è importante.212* **Messaggi `mirror_error`**: un batch che l'archivio rifiuta viene inviato fino a tre volte in totale, con un breve backoff prima di ogni nuovo tentativo; una chiamata scaduta non viene ritentata. Se il batch continua a fallire, l'SDK lo scarta, emette un messaggio `{ type: "system", subtype: "mirror_error" }` e continua la query. Avvertite su questi se la durabilità dell'archivio è importante.

213 213 

214<h3 id="observability">214<h3 id="observability">

215 Osservabilità215 Osservabilità

Details

44 </Step>44 </Step>

45</Steps>45</Steps>

46 46 

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

48 48 

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

50 50 

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

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

53 53 

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

55 Regole di consentimento e negazione55 Regole di consentimento e negazione


66 66 

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

68 68 

69<Warning>

70 **Gli strumenti approvati automaticamente non raggiungono mai `canUseTool`.** Una chiamata a uno strumento approvata in qualsiasi fase precedente, da `acceptEdits` o `bypassPermissions`, o da una regola di consentimento, salta il tuo callback `canUseTool`, quindi i controlli di permesso che inserisci lì vengono silenziosamente ignorati per quello strumento. La copertura dipende dalla forma della voce: un nome semplice come `Read` o `mcp__github__get_issue` approva automaticamente ogni chiamata a quello strumento, mentre una regola limitata come `Bash(ls *)` approva automaticamente solo le chiamate corrispondenti e altre chiamate `Bash` passano comunque al callback. Per i controlli che devono essere eseguiti su ogni chiamata a uno strumento, utilizza un hook [`PreToolUse`](/it/agent-sdk/hooks): gli hook vengono eseguiti prima di ogni altro passaggio e un hook di negazione si applica anche in modalità `bypassPermissions`.

71</Warning>

72 

69Per un agente bloccato, abbina `allowedTools` con `permissionMode: "dontAsk"`. Gli strumenti elencati vengono approvati; tutto il resto viene negato completamente invece di richiedere:73Per un agente bloccato, abbina `allowedTools` con `permissionMode: "dontAsk"`. Gli strumenti elencati vengono approvati; tutto il resto viene negato completamente invece di richiedere:

70 74 

71```typescript theme={null}75```typescript theme={null}

Details

750 750 

751 751 

752async def main():752async def main():

753 options = ClaudeAgentOptions(753 # Non elencare anche gli strumenti gated in allowed_tools: le regole di autorizzazione approvano le chiamate prima che can_use_tool venga eseguito

754 can_use_tool=custom_permission_handler, allowed_tools=["Read", "Write", "Edit"]754 options = ClaudeAgentOptions(can_use_tool=custom_permission_handler)

755 )

756 755 

757 async with ClaudeSDKClient(options=options) as client:756 async with ClaudeSDKClient(options=options) as client:

758 await client.query("Update the system config file")757 await client.query("Update the system config file")


886 fork_session: bool = False885 fork_session: bool = False

887 agents: dict[str, AgentDefinition] | None = None886 agents: dict[str, AgentDefinition] | None = None

888 setting_sources: list[SettingSource] | None = None887 setting_sources: list[SettingSource] | None = None

888 skills: list[str] | Literal["all"] | None = None

889 sandbox: SandboxSettings | None = None889 sandbox: SandboxSettings | None = None

890 plugins: list[SdkPluginConfig] = field(default_factory=list)890 plugins: list[SdkPluginConfig] = field(default_factory=list)

891 max_thinking_tokens: int | None = None # Deprecated: use thinking instead891 max_thinking_tokens: int | None = None # Deprecated: use thinking instead


924| `max_buffer_size` | `int \| None` | `None` | Byte massimi durante il buffering dell'stdout della CLI |924| `max_buffer_size` | `int \| None` | `None` | Byte massimi durante il buffering dell'stdout della CLI |

925| `debug_stderr` | `Any` | `sys.stderr` | *Deprecato* - Oggetto simile a un file per l'output di debug. Usa il callback `stderr` invece |925| `debug_stderr` | `Any` | `sys.stderr` | *Deprecato* - Oggetto simile a un file per l'output di debug. Usa il callback `stderr` invece |

926| `stderr` | `Callable[[str], None] \| None` | `None` | Funzione di callback per l'output stderr dalla CLI |926| `stderr` | `Callable[[str], None] \| None` | `None` | Funzione di callback per l'output stderr dalla CLI |

927| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Funzione di callback per l'autorizzazione dello strumento. Vedi [Tipi di autorizzazione](#canusetool) per i dettagli |927| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Funzione di callback per l'autorizzazione dello strumento, invocata solo quando il [flusso di autorizzazione](/it/agent-sdk/permissions#how-permissions-are-evaluated) ricade in un prompt. Non invocata per le chiamate auto-approvate da `allowed_tools`, regole di autorizzazione, o `permission_mode`. Vedi [`CanUseTool`](#canusetool) per i dettagli |

928| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Configurazioni hook per intercettare gli eventi |928| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Configurazioni hook per intercettare gli eventi |

929| `user` | `str \| None` | `None` | Identificatore utente |929| `user` | `str \| None` | `None` | Identificatore utente |

930| `include_partial_messages` | `bool` | `False` | Includi eventi di streaming di messaggi parziali. Se abilitato, i messaggi [`StreamEvent`](#streamevent) vengono prodotti |930| `include_partial_messages` | `bool` | `False` | Includi eventi di streaming di messaggi parziali. Se abilitato, i messaggi [`StreamEvent`](#streamevent) vengono prodotti |


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

961* `CLAUDE_CODE_MAX_RETRIES`: numero massimo di tentativi API. Predefinito `10`, limitato a `15`. Ogni tentativo ottiene la propria finestra `API_TIMEOUT_MS`, quindi il tempo di parete nel caso peggiore è approssimativamente `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` più backoff. Per esecuzioni incustodite che devono attendere interruzioni più lunghe, imposta `CLAUDE_CODE_RETRY_WATCHDOG=1` per ritentare gli errori di capacità indefinitamente.961* `CLAUDE_CODE_MAX_RETRIES`: numero massimo di tentativi API. Predefinito `10`, limitato a `15`. Ogni tentativo ottiene la propria finestra `API_TIMEOUT_MS`, quindi il tempo di parete nel caso peggiore è approssimativamente `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` più backoff. Per esecuzioni incustodite che devono attendere interruzioni più lunghe, imposta `CLAUDE_CODE_RETRY_WATCHDOG=1` per ritentare gli errori di capacità indefinitamente.

962* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog di blocco per i subagenti lanciati con `run_in_background`. Predefinito `600000`. Si ripristina su ogni evento di flusso; in caso di blocco interrompe il subagente, contrassegna l'attività come non riuscita e presenta l'errore al genitore con qualsiasi risultato parziale. Non si applica ai subagenti sincroni.962* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog di blocco per i subagenti lanciati con `run_in_background`. Predefinito `600000`. Si ripristina su ogni evento di flusso; in caso di blocco interrompe il subagente, contrassegna l'attività come non riuscita e presenta l'errore al genitore con qualsiasi risultato parziale. Non si applica ai subagenti sincroni.

963* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: interrompe la richiesta quando le intestazioni sono arrivate ma il corpo della risposta smette di trasmettere. Quando `CLAUDE_ENABLE_STREAM_WATCHDOG` non è impostato, l'impostazione predefinita è controllata dal server sull'API Anthropic diretta e disattivata su altri provider. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` predefinito a `300000` e viene bloccato a quel minimo. La richiesta interrotta passa attraverso il percorso di ripetizione normale.963* `CLAUDE_ENABLE_STREAM_WATCHDOG` con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: interrompe la richiesta quando le intestazioni sono arrivate ma il corpo della risposta smette di trasmettere. Il watchdog è attivo per impostazione predefinita per tutti i provider; imposta `CLAUDE_ENABLE_STREAM_WATCHDOG=0` per disabilitarlo. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` predefinito a `300000` e viene bloccato a quel minimo. La richiesta interrotta passa attraverso il percorso di ripetizione normale.

964 964 

965<h3 id="outputformat">965<h3 id="outputformat">

966 `OutputFormat`966 `OutputFormat`


1206 "low", # Minimal thinking, fastest responses1206 "low", # Minimal thinking, fastest responses

1207 "medium", # Moderate thinking1207 "medium", # Moderate thinking

1208 "high", # Deep reasoning1208 "high", # Deep reasoning

1209 "xhigh", # Extended reasoning (Opus 4.8 and Opus 4.7; falls back to "high" on other models)1209 "xhigh", # Extended reasoning; falls back to "high" on models that don't support it

1210 "max", # Maximum effort1210 "max", # Maximum effort

1211]1211]

1212```1212```


1231 1231 

1232Restituisce un `PermissionResult` (sia `PermissionResultAllow` che `PermissionResultDeny`).1232Restituisce un `PermissionResult` (sia `PermissionResultAllow` che `PermissionResultDeny`).

1233 1233 

1234Il callback è il sostituto SDK per il prompt di autorizzazione interattivo: viene invocato solo quando il [flusso di valutazione delle autorizzazioni](/it/agent-sdk/permissions#how-permissions-are-evaluated) si risolve in un prompt. Le chiamate dello strumento già approvate da una voce `allowed_tools`, una regola di autorizzazione nelle impostazioni, o la modalità di autorizzazione, come `acceptEdits` o `bypassPermissions`, non lo invocano mai. Per controllare ogni chiamata dello strumento, usa un [hook `PreToolUse`](/it/agent-sdk/hooks) invece.

1235 

1234<h3 id="toolpermissioncontext">1236<h3 id="toolpermissioncontext">

1235 `ToolPermissionContext`1237 `ToolPermissionContext`

1236</h3>1238</h3>


1432Usa con il campo `betas` in `ClaudeAgentOptions` per abilitare le funzionalità beta.1434Usa con il campo `betas` in `ClaudeAgentOptions` per abilitare le funzionalità beta.

1433 1435 

1434<Warning>1436<Warning>

1435 La beta `context-1m-2025-08-07` è ritirata a partire dal 30 aprile 2026. Passare questo header con Claude Sonnet 4.5 o Sonnet 4 non ha effetto, e le richieste che superano la finestra di contesto standard di 200k token restituiscono un errore. Per utilizzare una finestra di contesto di 1M token, esegui la migrazione a [Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, o Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), che includono 1M di contesto a prezzi standard senza header beta richiesto.1437 La beta `context-1m-2025-08-07` è ritirata a partire dal 30 aprile 2026. Passare questo header con Claude Sonnet 4.5 o Sonnet 4 non ha effetto, e le richieste che superano la finestra di contesto standard di 200k token restituiscono un errore. Per utilizzare una finestra di contesto di 1M token, esegui la migrazione a [Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, o Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), che includono 1M di contesto a prezzi standard senza header beta richiesto.

1436</Warning>1438</Warning>

1437 1439 

1438<h3 id="mcpsdkserverconfig">1440<h3 id="mcpsdkserverconfig">


2681 2683 

2682**Nome dello strumento:** `Monitor`2684**Nome dello strumento:** `Monitor`

2683 2685 

2684Esegue uno script in background e fornisce ogni riga stdout a Claude come evento in modo che possa reagire senza polling. Monitor segue le stesse regole di autorizzazione di Bash. Vedi il [riferimento dello strumento Monitor](/it/tools-reference#monitor-tool) per il comportamento e la disponibilità del provider.2686Esegue uno script in background e fornisce ogni evento a Claude in modo che possa reagire senza polling: `command` esegue uno script e emette un evento per riga stdout, e `ws` apre un WebSocket ed emette un evento per frame di testo. Fornire esattamente uno tra `command` o `ws`.

2687 

2688Quando Monitor esegue un comando, segue le stesse regole di autorizzazione di Bash; un monitoraggio WebSocket richiede l'approvazione separatamente. {/* min-version: 2.1.195 */}L'origine `ws` richiede Claude Code v2.1.195 o successivo. Vedi il [riferimento dello strumento Monitor](/it/tools-reference#monitor-tool) per il comportamento e la disponibilità del provider.

2685 2689 

2686**Input:**2690**Input:**

2687 2691 

2688```python theme={null}2692```python theme={null}

2689{2693{

2690 "command": str, # Script shell; ogni riga stdout è un evento, exit termina il monitoraggio2694 "command": str | None, # Script shell; ogni riga stdout è un evento, exit termina il monitoraggio

2695 "ws": dict | None, # Origine WebSocket: {"url": str, "protocols": list[str] | None}; ogni frame di testo è un evento

2691 "description": str, # Breve descrizione mostrata nelle notifiche2696 "description": str, # Breve descrizione mostrata nelle notifiche

2692 "timeout_ms": int | None, # Termina dopo questa scadenza (default 300000, max 3600000)2697 "timeout_ms": int | None, # Termina dopo questa scadenza (default 300000, max 3600000)

2693 "persistent": bool | None, # Esegui per la durata della sessione; ferma con TaskStop2698 "persistent": bool | None, # Esegui per la durata della sessione; ferma con TaskStop

Details

41 Installa il pacchetto Agent SDK per il tuo linguaggio:41 Installa il pacchetto Agent SDK per il tuo linguaggio:

42 42 

43 <Tabs>43 <Tabs>

44 <Tab title="TypeScript">44 <Tab title="TypeScript (nuovo progetto)">

45 ```bash theme={null}45 ```bash theme={null}

46 npm init -y

47 npm pkg set type=module

46 npm install @anthropic-ai/claude-agent-sdk48 npm install @anthropic-ai/claude-agent-sdk

49 npm install --save-dev tsx

47 ```50 ```

51 

52 Impostare `"type": "module"` in `package.json` consente al tuo script agente di utilizzare `await` di livello superiore, e [tsx](https://tsx.is) esegue i file TypeScript direttamente.

53 </Tab>

54 

55 <Tab title="TypeScript (progetto esistente)">

56 ```bash theme={null}

57 npm install @anthropic-ai/claude-agent-sdk

58 npm install --save-dev tsx

59 ```

60 

61 [tsx](https://tsx.is) esegue i file TypeScript direttamente. Se il tuo progetto utilizza CommonJS, nomina il tuo script agente `agent.mts` invece di `agent.ts`. L'estensione `.mts` fa sì che tsx tratti il file come un modulo ES, quindi `await` di livello superiore funziona senza convertire l'intero progetto a moduli ES. Utilizza `agent.mts` al posto di `agent.ts` nei passaggi di creazione ed esecuzione successivi in questa guida rapida.

48 </Tab>62 </Tab>

49 63 

50 <Tab title="Python (uv)">64 <Tab title="Python (uv)">


85 </Step>99 </Step>

86 100 

87 <Step title="Imposta la tua chiave API">101 <Step title="Imposta la tua chiave API">

88 Ottieni una chiave API dalla [Claude Console](https://platform.claude.com/), quindi crea un file `.env` nella directory del tuo progetto:102 Ottieni una chiave API dalla [Claude Console](https://platform.claude.com/), quindi impostala come variabile di ambiente nella shell in cui eseguirai il tuo agente:

89 103 

104 <Tabs>

105 <Tab title="macOS / Linux">

90 ```bash theme={null}106 ```bash theme={null}

91 ANTHROPIC_API_KEY=your-api-key107 export ANTHROPIC_API_KEY=your-api-key

92 ```108 ```

109 </Tab>

110 

111 <Tab title="Windows (PowerShell)">

112 ```powershell theme={null}

113 $env:ANTHROPIC_API_KEY = "your-api-key"

114 ```

115 </Tab>

116 </Tabs>

117 

118 L'SDK legge la chiave dall'ambiente del processo che esegue il tuo agente; non carica automaticamente i file `.env`. Se mantieni la chiave in un file `.env`, caricala tu stesso, ad esempio con il pacchetto `dotenv`, prima di chiamare l'SDK.

93 119 

94 L'SDK supporta anche l'autenticazione tramite provider API di terze parti:120 L'SDK supporta anche l'autenticazione tramite provider API di terze parti:

95 121 


133 Costruisci un agente che trova e corregge i bug159 Costruisci un agente che trova e corregge i bug

134</h2>160</h2>

135 161 

136Crea `agent.py` se stai utilizzando l'SDK Python, o `agent.ts` per TypeScript:162Crea `agent.py` se stai utilizzando l'SDK Python, o `agent.ts` per TypeScript. Utilizza `agent.mts` invece se il tuo progetto esistente utilizza CommonJS:

137 163 

138<CodeGroup>164<CodeGroup>

139 ```python Python theme={null}165 ```python Python theme={null}


218 ```bash theme={null}244 ```bash theme={null}

219 npx tsx agent.ts245 npx tsx agent.ts

220 ```246 ```

247 

248 Se hai nominato il tuo script `agent.mts`, esegui `npx tsx agent.mts` invece.

221 </Tab>249 </Tab>

222 250 

223 <Tab title="Python (uv)">251 <Tab title="Python (uv)">


235 </Tab>263 </Tab>

236</Tabs>264</Tabs>

237 265 

238Dopo l'esecuzione, controlla `utils.py`. Vedrai codice difensivo che gestisce elenchi vuoti e utenti nulli. Il tuo agente autonomamente:266Mentre lavora, l'agente stampa il suo ragionamento e ogni strumento che chiama, terminando con `Done: success`. Dopo l'esecuzione, controlla `utils.py`. Vedrai codice difensivo che gestisce elenchi vuoti e utenti nulli. Il tuo agente autonomamente:

239 267 

2401. **Ha letto** `utils.py` per comprendere il codice2681. **Ha letto** `utils.py` per comprendere il codice

2412. **Ha analizzato** la logica e identificato i casi limite che causerebbero arresti anomali2692. **Ha analizzato** la logica e identificato i casi limite che causerebbero arresti anomali


244Questo è ciò che rende diverso l'Agent SDK: Claude esegue gli strumenti direttamente invece di chiederti di implementarli.272Questo è ciò che rende diverso l'Agent SDK: Claude esegue gli strumenti direttamente invece di chiederti di implementarli.

245 273 

246<Note>274<Note>

247 Se vedi "API key not found", assicurati di aver impostato la variabile di ambiente `ANTHROPIC_API_KEY` nel tuo file `.env` o nell'ambiente della shell. Vedi la [guida completa alla risoluzione dei problemi](/it/troubleshooting) per ulteriore aiuto.275 Se vedi "API key not found", assicurati di aver impostato la variabile di ambiente `ANTHROPIC_API_KEY` nella shell in cui esegui il tuo agente. L'SDK non carica automaticamente i file `.env`. Vedi la [guida completa alla risoluzione dei problemi](/it/troubleshooting) per ulteriore aiuto.

248</Note>276</Note>

249 277 

250<h3 id="try-other-prompts">278<h3 id="try-other-prompts">


340**Permission modes** controllano quanto controllo umano desideri:368**Permission modes** controllano quanto controllo umano desideri:

341 369 

342| Mode | Comportamento | Caso d'uso |370| Mode | Comportamento | Caso d'uso |

343| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |371| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |

344| `acceptEdits` | Auto-approva le modifiche ai file e i comandi comuni del file system, chiede per altre azioni | Flussi di lavoro di sviluppo affidabili |372| `acceptEdits` | Auto-approva le modifiche ai file e i comandi comuni del file system, chiede per altre azioni | Flussi di lavoro di sviluppo affidabili |

373| `plan` | Esegue strumenti di sola lettura; le modifiche ai file non vengono mai auto-approvate e raggiungono il tuo callback `canUseTool` | Definizione dell'ambito di un compito prima di approvare l'esecuzione |

345| `dontAsk` | Nega tutto ciò che non è in `allowedTools` | Agenti headless bloccati |374| `dontAsk` | Nega tutto ciò che non è in `allowedTools` | Agenti headless bloccati |

346| `auto` (solo TypeScript) | Un classificatore di modelli approva o nega ogni chiamata di strumento | Agenti autonomi con protezioni di sicurezza |375| `auto` (solo TypeScript) | Un classificatore di modelli approva o nega ogni chiamata di strumento | Agenti autonomi con protezioni di sicurezza |

347| `bypassPermissions` | Esegue ogni strumento senza prompt, a meno che una regola [`ask`](/it/agent-sdk/permissions#how-permissions-are-evaluated) esplicita non corrisponda | CI sandbox, ambienti completamente affidabili |376| `bypassPermissions` | Esegue ogni strumento senza prompt, a meno che una regola [`ask`](/it/agent-sdk/permissions#how-permissions-are-evaluated) esplicita non corrisponda | CI sandbox, ambienti completamente affidabili |


349 378 

350L'esempio sopra utilizza la modalità `acceptEdits`, che auto-approva le operazioni sui file in modo che l'agente possa funzionare senza prompt interattivi. Se desideri richiedere agli utenti l'approvazione, utilizza la modalità `default` e fornisci un callback [`canUseTool`](/it/agent-sdk/user-input) che raccoglie l'input dell'utente. Per un maggiore controllo, vedi [Permissions](/it/agent-sdk/permissions).379L'esempio sopra utilizza la modalità `acceptEdits`, che auto-approva le operazioni sui file in modo che l'agente possa funzionare senza prompt interattivi. Se desideri richiedere agli utenti l'approvazione, utilizza la modalità `default` e fornisci un callback [`canUseTool`](/it/agent-sdk/user-input) che raccoglie l'input dell'utente. Per un maggiore controllo, vedi [Permissions](/it/agent-sdk/permissions).

351 380 

352<h2 id="troubleshooting">

353 Risoluzione dei problemi

354</h2>

355 

356<h3 id="api-error-thinking-type-enabled-is-not-supported-for-this-model">

357 Errore API `thinking.type.enabled` non è supportato per questo modello

358</h3>

359 

360Claude Opus 4.7 sostituisce `thinking.type.enabled` con `thinking.type.adaptive`. Le versioni precedenti di Agent SDK falliscono con il seguente errore API quando selezioni `claude-opus-4-7`:

361 

362```text theme={null}

363API Error: 400 {"type":"invalid_request_error","message":"\"thinking.type.enabled\" is not supported for this model. Use \"thinking.type.adaptive\" and \"output_config.effort\" to control thinking behavior."}

364```

365 

366Aggiorna a Agent SDK v0.2.111 o successivo per utilizzare Opus 4.7.

367 

368<h2 id="next-steps">381<h2 id="next-steps">

369 Passaggi successivi382 Passaggi successivi

370</h2>383</h2>

Details

235 Le scritture mirror sono best-effort235 Le scritture mirror sono best-effort

236</h3>236</h3>

237 237 

238Se `append()` rifiuta o scade, l'errore viene registrato, un messaggio `{ type: "system", subtype: "mirror_error" }` viene emesso nell'iteratore e la query continua. Il trascritto locale è già durevole su disco, quindi un'interruzione dello store non interrompe l'agente o perde dati localmente. I batch che non riescono non vengono ritentati, quindi monitorate `mirror_error` se dovete rilevare la perdita di dati dello store.238Se `append()` rifiuta, l'SDK ritenta il batch fino a due volte in più con un breve backoff, per un massimo di tre tentativi in totale. Una chiamata che scade non viene ritentata, poiché la chiamata originale potrebbe comunque arrivare. Se il batch continua a fallire, l'errore viene registrato, un messaggio `{ type: "system", subtype: "mirror_error" }` viene emesso nell'iteratore, il batch viene scartato e la query continua. Il trascritto locale è già durevole su disco, quindi un'interruzione dello store non interrompe l'agente o perde dati localmente. Monitorate `mirror_error` se dovete rilevare la perdita di dati dello store. Poiché un batch ritentato può ri-consegnare voci che hanno già raggiunto la destinazione, deduplicare per `entry.uuid` nella vostra implementazione di `append()`.

239 239 

240<h3 id="getsessionmessages-returns-the-post-compaction-chain">240<h3 id="getsessionmessages-returns-the-post-compaction-chain">

241 `getSessionMessages` restituisce la catena post-compattazione241 `getSessionMessages` restituisce la catena post-compattazione

Details

24 })) {24 })) {

25 if (message.type === "system" && message.subtype === "init") {25 if (message.type === "system" && message.subtype === "init") {

26 console.log("Available slash commands:", message.slash_commands);26 console.log("Available slash commands:", message.slash_commands);

27 // Example output: ["clear", "compact", "context", "usage"]27 // Include i comandi integrati più le skill raggruppate, ad esempio:

28 // ["clear", "compact", "context", "usage", "code-review", "verify", ...]

28 }29 }

29 }30 }

30 ```31 ```


38 async for message in query(prompt="Hello Claude", options=ClaudeAgentOptions(max_turns=1)):39 async for message in query(prompt="Hello Claude", options=ClaudeAgentOptions(max_turns=1)):

39 if isinstance(message, SystemMessage) and message.subtype == "init":40 if isinstance(message, SystemMessage) and message.subtype == "init":

40 print("Available slash commands:", message.data["slash_commands"])41 print("Available slash commands:", message.data["slash_commands"])

41 # Example output: ["clear", "compact", "context", "usage"]42 # Include i comandi integrati più le skill raggruppate, ad esempio:

43 # ["clear", "compact", "context", "usage", "code-review", "verify", ...]

42 44 

43 45 

44 asyncio.run(main())46 asyncio.run(main())


49 Invio di Slash Commands51 Invio di Slash Commands

50</h2>52</h2>

51 53 

52Inviate slash commands includendoli nella vostra stringa di prompt, proprio come testo normale:54Inviate slash commands includendoli nella vostra stringa di prompt, proprio come testo normale. I comandi che agiscono sulla cronologia della conversazione, come `/compact`, necessitano di messaggi precedenti per funzionare, quindi gli esempi seguenti pongono prima una domanda e poi inviano il comando come follow-up alla stessa conversazione:

53 55 

54<CodeGroup>56<CodeGroup>

55 ```typescript TypeScript theme={null}57 ```typescript TypeScript theme={null}

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

57 59 

58 // Send a slash command60 // Build up conversation history first

61 try {

59 for await (const message of query({62 for await (const message of query({

60 prompt: "/compact",63 prompt: "What does the README in this directory cover?",

61 options: { maxTurns: 1 }64 options: { maxTurns: 2 }

62 })) {65 })) {

63 if (message.type === "result" && message.subtype === "success") {66 if (message.type === "result" && message.subtype === "success") {

64 console.log("Command executed:", message.result);67 console.log(message.result);

68 }

69 }

70 } catch (error) {

71 // A single-shot query() throws after yielding an error result,

72 // so the follow-up query below still runs.

73 console.error(`Session ended with an error: ${error}`);

74 }

75 

76 // Send a slash command as a follow-up to the same conversation

77 for await (const message of query({

78 prompt: "/compact",

79 options: { continue: true, maxTurns: 1 }

80 })) {

81 if (message.type === "result") {

82 console.log("Command executed, result subtype:", message.subtype);

83 // Example output: Command executed, result subtype: success

65 }84 }

66 }85 }

67 ```86 ```


72 91 

73 92 

74 async def main():93 async def main():

75 # Send a slash command94 # Build up conversation history first

76 async for message in query(prompt="/compact", options=ClaudeAgentOptions(max_turns=1)):95 try:

96 async for message in query(

97 prompt="What does the README in this directory cover?",

98 options=ClaudeAgentOptions(max_turns=2),

99 ):

100 if isinstance(message, ResultMessage) and message.subtype == "success":

101 print(message.result)

102 except Exception as error:

103 # A single-shot query() raises after yielding an error result,

104 # so the follow-up query below still runs.

105 print(f"Session ended with an error: {error}")

106 

107 # Send a slash command as a follow-up to the same conversation

108 async for message in query(

109 prompt="/compact",

110 options=ClaudeAgentOptions(continue_conversation=True, max_turns=1),

111 ):

77 if isinstance(message, ResultMessage):112 if isinstance(message, ResultMessage):

78 print("Command executed:", message.result)113 print("Command executed, result subtype:", message.subtype)

114 # Example output: Command executed, result subtype: success

79 115 

80 116 

81 asyncio.run(main())117 asyncio.run(main())

82 ```118 ```

83</CodeGroup>119</CodeGroup>

84 120 

121<Note>

122 Una query può terminare con un risultato di errore, ad esempio quando il limite `maxTurns` / `max_turns` viene raggiunto prima che il lavoro si completi. Il messaggio di risultato finale ha quindi `is_error: true` e un sottotipo di errore come `error_max_turns` invece di `success`.

123 

124 Dopo aver restituito quel messaggio di risultato finale, l'SDK genera un errore, perché il processo CLI esce con un codice non zero.

125 

126 Avvolgete il ciclo in un `try`/`catch` in TypeScript o `try`/`except` in Python se il vostro comando potrebbe raggiungere il limite, come mostrato in [Single Message Input](/it/agent-sdk/streaming-vs-single-mode#single-message-input), oppure impostate `maxTurns` abbastanza alto affinché il lavoro si completi. In Python, catturate `Exception`: l'SDK presenta i risultati di errore come una semplice `Exception`.

127</Note>

128 

85<h2 id="common-slash-commands">129<h2 id="common-slash-commands">

86 Slash Commands Comuni130 Slash Commands Comuni

87</h2>131</h2>


90 `/compact` - Compatta la Cronologia della Conversazione134 `/compact` - Compatta la Cronologia della Conversazione

91</h3>135</h3>

92 136 

93Il comando `/compact` riduce la dimensione della vostra cronologia di conversazione riassumendo i messaggi più vecchi preservando il contesto importante:137Il comando `/compact` riduce la dimensione della vostra cronologia di conversazione riassumendo i messaggi più vecchi preservando il contesto importante. La compattazione richiede una conversazione esistente con almeno due scambi precedenti da riassumere. Questo esempio ha una conversazione prima, poi la compatta e legge il messaggio di sistema `compact_boundary` che riporta il risultato:

94 138 

95<CodeGroup>139<CodeGroup>

96 ```typescript TypeScript theme={null}140 ```typescript TypeScript theme={null}

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

98 142 

143 // Compaction needs existing history, so have a conversation first

144 try {

145 for await (const message of query({

146 prompt: "Explain what this project does",

147 options: { maxTurns: 2 }

148 })) {

149 if (message.type === "result" && message.subtype === "success") {

150 console.log(message.result);

151 }

152 }

153 } catch (error) {

154 // A single-shot query() throws after yielding an error result,

155 // so the follow-up query below still runs.

156 console.error(`Session ended with an error: ${error}`);

157 }

158 

159 // Compact the same conversation

99 for await (const message of query({160 for await (const message of query({

100 prompt: "/compact",161 prompt: "/compact",

101 options: { maxTurns: 1 }162 options: { continue: true, maxTurns: 1 }

102 })) {163 })) {

103 if (message.type === "system" && message.subtype === "compact_boundary") {164 if (message.type === "system" && message.subtype === "compact_boundary") {

104 console.log("Compaction completed");165 console.log("Compaction completed");

105 console.log("Pre-compaction tokens:", message.compact_metadata.pre_tokens);166 console.log("Pre-compaction tokens:", message.compact_metadata.pre_tokens);

106 console.log("Trigger:", message.compact_metadata.trigger);167 console.log("Trigger:", message.compact_metadata.trigger);

168 // Example output:

169 // Compaction completed

170 // Pre-compaction tokens: 1842

171 // Trigger: manual

107 }172 }

108 }173 }

109 ```174 ```

110 175 

111 ```python Python theme={null}176 ```python Python theme={null}

112 import asyncio177 import asyncio

113 from claude_agent_sdk import query, ClaudeAgentOptions, SystemMessage178 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage, SystemMessage

114 179 

115 180 

116 async def main():181 async def main():

117 async for message in query(prompt="/compact", options=ClaudeAgentOptions(max_turns=1)):182 # Compaction needs existing history, so have a conversation first

183 try:

184 async for message in query(

185 prompt="Explain what this project does",

186 options=ClaudeAgentOptions(max_turns=2),

187 ):

188 if isinstance(message, ResultMessage) and message.subtype == "success":

189 print(message.result)

190 except Exception as error:

191 # A single-shot query() raises after yielding an error result,

192 # so the follow-up query below still runs.

193 print(f"Session ended with an error: {error}")

194 

195 # Compact the same conversation

196 async for message in query(

197 prompt="/compact",

198 options=ClaudeAgentOptions(continue_conversation=True, max_turns=1),

199 ):

118 if isinstance(message, SystemMessage) and message.subtype == "compact_boundary":200 if isinstance(message, SystemMessage) and message.subtype == "compact_boundary":

119 print("Compaction completed")201 print("Compaction completed")

120 print("Pre-compaction tokens:", message.data["compact_metadata"]["pre_tokens"])202 print("Pre-compaction tokens:", message.data["compact_metadata"]["pre_tokens"])

121 print("Trigger:", message.data["compact_metadata"]["trigger"])203 print("Trigger:", message.data["compact_metadata"]["trigger"])

204 # Example output:

205 # Compaction completed

206 # Pre-compaction tokens: 1842

207 # Trigger: manual

122 208 

123 209 

124 asyncio.run(main())210 asyncio.run(main())

125 ```211 ```

126</CodeGroup>212</CodeGroup>

127 213 

214<Note>

215 Un messaggio `compact_boundary` arriva solo quando la compattazione è stata eseguita. Se non c'è nulla da riassumere, `/compact` riporta il motivo invece di generare un errore: l'esecuzione termina comunque con un risultato `success`, nessun messaggio `compact_boundary` viene emesso, e il testo del risultato contiene il messaggio, ad esempio `Not enough messages to compact.` dopo un singolo breve scambio. Una nuova chiamata `query()` una tantum inizia con un contesto vuoto, quindi utilizzate questo modello in una sessione con turni precedenti, ad esempio nella [modalità di input in streaming](/it/agent-sdk/streaming-vs-single-mode) o quando riprendete una sessione.

216</Note>

217 

128<h3 id="/clear-reset-conversation-context">218<h3 id="/clear-reset-conversation-context">

129 `/clear` - Ripristina il Contesto della Conversazione219 `/clear` - Ripristina il Contesto della Conversazione

130</h3>220</h3>


170 Esempio di Base260 Esempio di Base

171</h4>261</h4>

172 262 

173Create `.claude/commands/refactor.md`:263Create la directory `.claude/commands` nel vostro progetto se non esiste, quindi create `.claude/commands/refactor.md`:

174 264 

175```markdown theme={null}265```markdown theme={null}

176Refactor the selected code to improve readability and maintainability.266Refactor the selected code to improve readability and maintainability.


189---279---

190allowed-tools: Read, Grep, Glob280allowed-tools: Read, Grep, Glob

191description: Run security vulnerability scan281description: Run security vulnerability scan

192model: claude-opus-4-7282model: claude-opus-4-8

193---283---

194 284 

195Analyze the codebase for security vulnerabilities including:285Analyze the codebase for security vulnerabilities including:


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

211 301 

212 // Use a custom command302 // Use a custom command

303 try {

213 for await (const message of query({304 for await (const message of query({

214 prompt: "/refactor src/auth/login.ts",305 prompt: "/refactor src/auth/login.ts",

215 options: { maxTurns: 3 }306 options: { maxTurns: 3 }


218 console.log("Refactoring suggestions:", message.message);309 console.log("Refactoring suggestions:", message.message);

219 }310 }

220 }311 }

312 } catch (error) {

313 // A single-shot query() throws after yielding an error result,

314 // so the second query below still runs.

315 console.error(`Session ended with an error: ${error}`);

316 }

221 317 

222 // Custom commands appear in the slash_commands list318 // Custom commands appear in the slash_commands list

223 for await (const message of query({319 for await (const message of query({


225 options: { maxTurns: 1 }321 options: { maxTurns: 1 }

226 })) {322 })) {

227 if (message.type === "system" && message.subtype === "init") {323 if (message.type === "system" && message.subtype === "init") {

228 // Will include both built-in and custom commands

229 console.log("Available commands:", message.slash_commands);324 console.log("Available commands:", message.slash_commands);

230 // Example: ["clear", "compact", "context", "usage", "refactor", "security-check"]325 // Includes built-in commands plus bundled skills and your custom commands, for example:

326 // ["clear", "compact", "context", "usage", "code-review", "verify", "refactor", "security-check", ...]

231 }327 }

232 }328 }

233 ```329 ```


239 335 

240 async def main():336 async def main():

241 # Use a custom command337 # Use a custom command

338 try:

242 async for message in query(339 async for message in query(

243 prompt="/refactor src/auth/login.py", options=ClaudeAgentOptions(max_turns=3)340 prompt="/refactor src/auth/login.py", options=ClaudeAgentOptions(max_turns=3)

244 ):341 ):


246 for block in message.content:343 for block in message.content:

247 if hasattr(block, "text"):344 if hasattr(block, "text"):

248 print("Refactoring suggestions:", block.text)345 print("Refactoring suggestions:", block.text)

346 except Exception as error:

347 # A single-shot query() raises after yielding an error result,

348 # so the second query below still runs.

349 print(f"Session ended with an error: {error}")

249 350 

250 # Custom commands appear in the slash_commands list351 # Custom commands appear in the slash_commands list

251 async for message in query(prompt="Hello", options=ClaudeAgentOptions(max_turns=1)):352 async for message in query(prompt="Hello", options=ClaudeAgentOptions(max_turns=1)):

252 if isinstance(message, SystemMessage) and message.subtype == "init":353 if isinstance(message, SystemMessage) and message.subtype == "init":

253 # Will include both built-in and custom commands

254 print("Available commands:", message.data["slash_commands"])354 print("Available commands:", message.data["slash_commands"])

255 # Example: ["clear", "compact", "context", "usage", "refactor", "security-check"]355 # Includes built-in commands plus bundled skills and your custom commands, for example:

356 # ["clear", "compact", "context", "usage", "code-review", "verify", "refactor", "security-check", ...]

256 357 

257 358 

258 asyncio.run(main())359 asyncio.run(main())


384 Esempi Pratici485 Esempi Pratici

385</h3>486</h3>

386 487 

387<h4 id="code-review-command">488<h4 id="pull-request-review-command">

388 Comando di Revisione del Codice489 Comando di Revisione del Pull Request

389</h4>490</h4>

390 491 

391Create `.claude/commands/code-review.md`:492Create `.claude/commands/review-pr.md`:

392 493 

393```markdown theme={null}494```markdown theme={null}

394---495---


414Provide specific, actionable feedback organized by priority.515Provide specific, actionable feedback organized by priority.

415```516```

416 517 

518<Note>

519 Claude Code include skills bundled `code-review` e `verify`. Se nominate un comando personalizzato dopo uno di essi, ad esempio `.claude/commands/code-review.md`, il vostro comando oscura lo skill bundled e `slash_commands` elenca il nome una sola volta.

520</Note>

521 

417<h4 id="test-runner-command">522<h4 id="test-runner-command">

418 Comando Test Runner523 Comando Test Runner

419</h4>524</h4>


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

443 548 

444 // Run code review549 // Run code review

550 try {

445 for await (const message of query({551 for await (const message of query({

446 prompt: "/code-review",552 prompt: "/review-pr",

447 options: { maxTurns: 3 }553 options: { maxTurns: 3 }

448 })) {554 })) {

449 // Process review feedback555 // Process review feedback

450 }556 }

557 } catch (error) {

558 // A single-shot query() throws after yielding an error result,

559 // so the second query below still runs.

560 console.error(`Session ended with an error: ${error}`);

561 }

451 562 

452 // Run specific tests563 // Run specific tests

453 for await (const message of query({564 for await (const message of query({


465 576 

466 async def main():577 async def main():

467 # Run code review578 # Run code review

468 async for message in query(prompt="/code-review", options=ClaudeAgentOptions(max_turns=3)):579 try:

580 async for message in query(prompt="/review-pr", options=ClaudeAgentOptions(max_turns=3)):

469 # Process review feedback581 # Process review feedback

470 pass582 pass

583 except Exception as error:

584 # A single-shot query() raises after yielding an error result,

585 # so the second query below still runs.

586 print(f"Session ended with an error: {error}")

471 587 

472 # Run specific tests588 # Run specific tests

473 async for message in query(prompt="/test auth", options=ClaudeAgentOptions(max_turns=5)):589 async for message in query(prompt="/test auth", options=ClaudeAgentOptions(max_turns=5)):

Details

71 71 

72Definisci i subagenti direttamente nel tuo codice utilizzando il parametro `agents`. Questo esempio crea due subagenti: un revisore di codice con accesso in sola lettura e un esecutore di test che può eseguire comandi. Claude richiama i subagenti tramite lo strumento `Agent`, quindi includi `Agent` in `allowedTools` per approvare automaticamente le invocazioni dei subagenti senza una richiesta di autorizzazione.72Definisci i subagenti direttamente nel tuo codice utilizzando il parametro `agents`. Questo esempio crea due subagenti: un revisore di codice con accesso in sola lettura e un esecutore di test che può eseguire comandi. Claude richiama i subagenti tramite lo strumento `Agent`, quindi includi `Agent` in `allowedTools` per approvare automaticamente le invocazioni dei subagenti senza una richiesta di autorizzazione.

73 73 

74La maggior parte degli esempi in questa pagina stampa solo il risultato finale. Per confermare che Claude ha delegato a un subagente piuttosto che rispondere direttamente, vedi [Rilevamento dell'invocazione del subagente](#detecting-subagent-invocation).

75 

74<CodeGroup>76<CodeGroup>

75 ```python Python theme={null}77 ```python Python theme={null}

76 import asyncio78 import asyncio


193| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | No | Livello di sforzo di ragionamento per questo agente |195| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | No | Livello di sforzo di ragionamento per questo agente |

194| `permissionMode` | `PermissionMode` | No | Modalità di autorizzazione per l'esecuzione dello strumento all'interno di questo agente |196| `permissionMode` | `PermissionMode` | No | Modalità di autorizzazione per l'esecuzione dello strumento all'interno di questo agente |

195 197 

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

197 199 

198<Note>200<Note>

199 {/* min-version: 2.1.172 */}A partire da Claude Code v2.1.172, i subagenti possono generare i propri subagenti. Un subagente cinque livelli al di sotto dell'agente principale non può generare ulteriori subagenti, indipendentemente dal fatto che venga eseguito in primo piano o in background. Per impedire a un subagente di generare altri, ometti `Agent` dal suo array `tools` o aggiungilo a `disallowedTools`. Vedi [subagenti annidati](/it/sub-agents#spawn-nested-subagents) per le regole di profondità complete.201 {/* min-version: 2.1.172 */}A partire da Claude Code v2.1.172, i subagenti possono generare i propri subagenti. Un subagente cinque livelli al di sotto dell'agente principale non può generare ulteriori subagenti, indipendentemente dal fatto che venga eseguito in primo piano o in background. Per impedire a un subagente di generare altri, ometti `Agent` dal suo array `tools` o aggiungilo a `disallowedTools`. Vedi [subagenti annidati](/it/sub-agents#spawn-nested-subagents) per le regole di profondità complete.


469 session_id = None471 session_id = None

470 472 

471 # First invocation - run the endpoint-finder subagent473 # First invocation - run the endpoint-finder subagent

474 try:

472 async for message in query(475 async for message in query(

473 prompt="Use the endpoint-finder agent to find all API endpoints in this codebase",476 prompt="Use the endpoint-finder agent to find all API endpoints in this codebase",

474 options=ClaudeAgentOptions(allowed_tools=["Read", "Grep", "Glob", "Agent"], agents=AGENTS),477 options=ClaudeAgentOptions(allowed_tools=["Read", "Grep", "Glob", "Agent"], agents=AGENTS),


483 # Print the final result486 # Print the final result

484 if hasattr(message, "result"):487 if hasattr(message, "result"):

485 print(message.result)488 print(message.result)

489 except Exception as error:

490 # A single-shot query() raises after yielding an error result,

491 # so session_id and agent_id have already been captured by the loop above.

492 print(f"Session ended with an error: {error}")

486 493 

487 # Second invocation - resume and ask follow-up494 # Second invocation - resume and ask follow-up

488 if agent_id and session_id:495 if agent_id and session_id:


494 ):501 ):

495 if hasattr(message, "result"):502 if hasattr(message, "result"):

496 print(message.result)503 print(message.result)

504 else:

505 print("No agentId found in the first query, so there is no subagent to resume.")

497 506 

498 507 

499 asyncio.run(main())508 asyncio.run(main())


522 let sessionId: string | undefined;531 let sessionId: string | undefined;

523 532 

524 // First invocation - run the endpoint-finder subagent533 // First invocation - run the endpoint-finder subagent

534 try {

525 for await (const message of query({535 for await (const message of query({

526 prompt: "Use the endpoint-finder agent to find all API endpoints in this codebase",536 prompt: "Use the endpoint-finder agent to find all API endpoints in this codebase",

527 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], agents }537 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], agents }


534 // Print the final result544 // Print the final result

535 if ("result" in message) console.log(message.result);545 if ("result" in message) console.log(message.result);

536 }546 }

547 } catch (error) {

548 // A single-shot query() throws after yielding an error result,

549 // so sessionId and agentId have already been captured by the loop above.

550 console.error(`Session ended with an error: ${error}`);

551 }

537 552 

538 // Second invocation - resume and ask follow-up553 // Second invocation - resume and ask follow-up

539 if (agentId && sessionId) {554 if (agentId && sessionId) {


543 })) {558 })) {

544 if ("result" in message) console.log(message.result);559 if ("result" in message) console.log(message.result);

545 }560 }

561 } else {

562 console.log("No agentId found in the first query, so there is no subagent to resume.");

546 }563 }

547 ```564 ```

548</CodeGroup>565</CodeGroup>

Details

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

476| `allowedTools` | `string[]` | `[]` | Tool da approvare automaticamente senza richiedere. Questo non limita Claude a solo questi tool; i tool non elencati ricadono in `permissionMode` e `canUseTool`. Usa `disallowedTools` per bloccare i tool. Vedi [Permessi](/it/agent-sdk/permissions#allow-and-deny-rules) |476| `allowedTools` | `string[]` | `[]` | Tool da approvare automaticamente senza richiedere. Questo non limita Claude a solo questi tool; i tool non elencati ricadono in `permissionMode` e `canUseTool`. Usa `disallowedTools` per bloccare i tool. Vedi [Permessi](/it/agent-sdk/permissions#allow-and-deny-rules) |

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

478| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Funzione di permesso personalizzata per l'uso dei tool |478| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Funzione di permesso personalizzata, invocata solo quando il [flusso di permesso](/it/agent-sdk/permissions#how-permissions-are-evaluated) ricade in un prompt. Non invocata per le chiamate pre-approvate da `allowedTools`, regole di autorizzazione, o `permissionMode`. Vedi [`CanUseTool`](#canusetool) per i dettagli |

479| `continue` | `boolean` | `false` | Continua la conversazione più recente |479| `continue` | `boolean` | `false` | Continua la conversazione più recente |

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

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


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

554* `CLAUDE_CODE_MAX_RETRIES`: numero massimo di tentativi API. Predefinito `10`, limitato a `15`. Ogni tentativo ottiene la propria finestra `API_TIMEOUT_MS`, quindi il tempo wall case peggiore è approssimativamente `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` più backoff. Per esecuzioni incustodite che devono attendere attraverso interruzioni più lunghe, imposta `CLAUDE_CODE_RETRY_WATCHDOG=1` per ritentare gli errori di capacità indefinitamente.554* `CLAUDE_CODE_MAX_RETRIES`: numero massimo di tentativi API. Predefinito `10`, limitato a `15`. Ogni tentativo ottiene la propria finestra `API_TIMEOUT_MS`, quindi il tempo wall case peggiore è approssimativamente `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` più backoff. Per esecuzioni incustodite che devono attendere attraverso interruzioni più lunghe, imposta `CLAUDE_CODE_RETRY_WATCHDOG=1` per ritentare gli errori di capacità indefinitamente.

555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog di blocco per i subagenti lanciati con `run_in_background`. Predefinito `600000`. Si ripristina su ogni evento di stream; al blocco interrompe il subagente, contrassegna l'attività come fallita e presenta l'errore al genitore con qualsiasi risultato parziale. Non si applica ai subagenti sincroni.555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog di blocco per i subagenti lanciati con `run_in_background`. Predefinito `600000`. Si ripristina su ogni evento di stream; al blocco interrompe il subagente, contrassegna l'attività come fallita e presenta l'errore al genitore con qualsiasi risultato parziale. Non si applica ai subagenti sincroni.

556* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: interrompe la richiesta quando le intestazioni sono arrivate ma il corpo della risposta smette di trasmettere. Quando `CLAUDE_ENABLE_STREAM_WATCHDOG` non è impostato, il predefinito è controllato dal server sull'API Anthropic diretto e disattivato su altri provider. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` predefinito a `300000` ed è limitato a quel minimo. La richiesta interrotta passa attraverso il percorso di tentativo normale.556* `CLAUDE_ENABLE_STREAM_WATCHDOG` con `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: interrompe la richiesta quando le intestazioni sono arrivate ma il corpo della risposta smette di trasmettere. Il watchdog è attivo per impostazione predefinita per tutti i provider; imposta `CLAUDE_ENABLE_STREAM_WATCHDOG=0` per disabilitarlo. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` predefinito a `300000` ed è limitato a quel minimo. La richiesta interrotta passa attraverso il percorso di tentativo normale.

557 557 

558<h3 id="query-object">558<h3 id="query-object">

559 Oggetto `Query`559 Oggetto `Query`


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

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

575 initializationResult(): Promise<SDKControlInitializeResponse>;575 initializationResult(): Promise<SDKControlInitializeResponse>;

576 reinitialize(): Promise<SDKControlInitializeResponse>;

576 supportedCommands(): Promise<SlashCommand[]>;577 supportedCommands(): Promise<SlashCommand[]>;

577 supportedModels(): Promise<ModelInfo[]>;578 supportedModels(): Promise<ModelInfo[]>;

578 supportedAgents(): Promise<AgentInfo[]>;579 supportedAgents(): Promise<AgentInfo[]>;


592</h4>593</h4>

593 594 

594| Metodo | Descrizione |595| Metodo | Descrizione |

595| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |596| :------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

596| `interrupt()` | Interrompe la query (disponibile solo in modalità input streaming) |597| `interrupt()` | Interrompe la query (disponibile solo in modalità input streaming) |

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

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


600| `setMaxThinkingTokens()` | *Deprecato:* Usa l'opzione `thinking` invece. Cambia i token di pensiero massimi |601| `setMaxThinkingTokens()` | *Deprecato:* Usa l'opzione `thinking` invece. Cambia i token di pensiero massimi |

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

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

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

603| `supportedCommands()` | Restituisce i comandi slash disponibili |605| `supportedCommands()` | Restituisce i comandi slash disponibili |

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

605| `supportedAgents()` | Restituisce i subagenti disponibili come [`AgentInfo`](#agentinfo)`[]` |607| `supportedAgents()` | Restituisce i subagenti disponibili come [`AgentInfo`](#agentinfo)`[]` |


689 691 

690Quando un client invia `initialize` a una sessione che è già in esecuzione, il wrapper di risposta di controllo porta anche un array `pending_permission_requests` opzionale. Il campo si trova sul wrapper di risposta stesso, non nel payload `SDKControlInitializeResponse` sopra. Ogni voce è un messaggio `control_request` completo con la stessa forma `{ type: "control_request", request_id, request }` che la sessione trasmette per le richieste di permesso durante l'esecuzione.692Quando un client invia `initialize` a una sessione che è già in esecuzione, il wrapper di risposta di controllo porta anche un array `pending_permission_requests` opzionale. Il campo si trova sul wrapper di risposta stesso, non nel payload `SDKControlInitializeResponse` sopra. Ogni voce è un messaggio `control_request` completo con la stessa forma `{ type: "control_request", request_id, request }` che la sessione trasmette per le richieste di permesso durante l'esecuzione.

691 693 

692Queste sono richieste che sono state emesse prima che il client si connettesse e sono ancora in attesa di una risposta, quindi leggi questo array per visualizzare immediatamente i prompt di permesso in volo; non verranno reinviati.694Queste sono richieste che sono state emesse prima che il client si connettesse e sono ancora in attesa di una risposta. L'SDK legge l'array per te e invia ogni voce al tuo callback [`canUseTool`](#canusetool), lo stesso reinvio che [`reinitialize()`](#query-object) attiva dopo un gap di trasporto. Gestisci gli ID di richiesta ripetuti in modo idempotente, perché una voce può ripetere una richiesta che il callback ha già ricevuto prima che la connessione si interrompesse.

693 695 

694<h3 id="agentdefinition">696<h3 id="agentdefinition">

695 `AgentDefinition`697 `AgentDefinition`


886 888 

887Tipo di funzione di permesso personalizzato per controllare l'uso dei tool.889Tipo di funzione di permesso personalizzato per controllare l'uso dei tool.

888 890 

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

892 

889```typescript theme={null}893```typescript theme={null}

890type CanUseTool = (894type CanUseTool = (

891 toolName: string,895 toolName: string,


1531 session_id: string;1535 session_id: string;

1532 transcript_path: string;1536 transcript_path: string;

1533 cwd: string;1537 cwd: string;

1538 prompt_id?: string;

1534 permission_mode?: string;1539 permission_mode?: string;

1535 effort?: { level: string };1540 effort?: { level: string };

1536 agent_id?: string;1541 agent_id?: string;


1538};1543};

1539```1544```

1540 1545 

1546Il campo `prompt_id` è un UUID che identifica il prompt dell'utente attualmente in elaborazione. Corrisponde all'[attributo `prompt.id` sugli eventi OpenTelemetry](/it/monitoring-usage#event-correlation-attributes) ed è assente fino al primo input dell'utente. Richiede Claude Code v2.1.196 o successivo.

1547 

1541<h4 id="pretoolusehookinput">1548<h4 id="pretoolusehookinput">

1542 `PreToolUseHookInput`1549 `PreToolUseHookInput`

1543</h4>1550</h4>


2037 2044 

2038```typescript theme={null}2045```typescript theme={null}

2039type MonitorInput = {2046type MonitorInput = {

2040 command: string;2047 command?: string;

2048 ws?: {

2049 url: string;

2050 protocols?: string[];

2051 };

2041 description: string;2052 description: string;

2042 timeout_ms?: number;2053 timeout_ms?: number;

2043 persistent?: boolean;2054 persistent?: boolean;

2044};2055};

2045```2056```

2046 2057 

2047Esegue uno script di background e consegna ogni riga stdout a Claude come evento in modo che possa reagire senza polling. Imposta `persistent: true` per i watch di lunghezza della sessione come code tail. Monitor segue le stesse regole di permesso di Bash. Vedi il [riferimento del tool Monitor](/it/tools-reference#monitor-tool) per il comportamento e la disponibilità del provider.2058Esegue una fonte di background e consegna ogni evento a Claude in modo che possa reagire senza polling: `command` esegue uno script e emette un evento per riga stdout, e `ws` apre un WebSocket e emette un evento per frame di testo. Fornisci esattamente uno tra `command` o `ws`. {/* min-version: 2.1.195 */}La fonte `ws` richiede Claude Code v2.1.195 o successivo.

2059 

2060Imposta `persistent: true` per i watch di lunghezza della sessione come code tail. Quando Monitor esegue un comando, segue le stesse regole di permesso di Bash; un watch WebSocket richiede l'approvazione separatamente. Vedi il [riferimento del tool Monitor](/it/tools-reference#monitor-tool) per il comportamento e la disponibilità del provider.

2048 2061 

2049<h3 id="taskoutput">2062<h3 id="taskoutput">

2050 TaskOutput2063 TaskOutput


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

2237 2250 

2238| Campo | Tipo | Descrizione |2251| Campo | Tipo | Descrizione |

2239| ----------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2252| ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

2241| `name` | `string` | Nome di un workflow incorporato o uno salvato in `.claude/workflows/`. Risolto in uno script |2254| `name` | `string` | Nome di un workflow incorporato o uno salvato in `.claude/workflows/`. Risolto in uno script |

2242| `scriptPath` | `string` | Percorso a un file di script di workflow su disco. Ha la precedenza su `script` e `name`. Ogni invocazione persiste il suo script e restituisce il percorso nel risultato, quindi puoi modificare quel file e reinvocare con lo stesso `scriptPath` per iterare |2255| `scriptPath` | `string` | Percorso a un file di script di workflow su disco. Ha la precedenza su `script` e `name`. Ogni invocazione persiste il suo script e restituisce il percorso nel risultato, quindi puoi modificare quel file e reinvocare con lo stesso `scriptPath` per iterare |

2243| `args` | `unknown` | Valore di input esposto allo script come `args` globale, per workflow denominati parametrizzati come una domanda di ricerca o un elenco di percorsi di file. Passa array e oggetti come valori JSON effettivi, non come stringa codificata in JSON |2256| `args` | `unknown` | Valore di input esposto allo script come `args` globale, per workflow denominati parametrizzati come una domanda di ricerca o un elenco di percorsi di file. Passa array e oggetti come valori JSON effettivi, non come stringa codificata in JSON |


3098```3111```

3099 3112 

3100<Warning>3113<Warning>

3101 La beta `context-1m-2025-08-07` è ritirata a partire dal 30 aprile 2026. Passare questo valore con Claude Sonnet 4.5 o Sonnet 4 non ha effetto, e le richieste che superano la finestra di contesto standard di 200k token restituiscono un errore. Per usare una finestra di contesto di 1M token, esegui la migrazione a [Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, o Claude Opus 4.8](https://platform.claude.com/docs/it/about-claude/models/overview), che includono 1M di contesto ai prezzi standard senza intestazione beta richiesta.3114 La beta `context-1m-2025-08-07` è ritirata a partire dal 30 aprile 2026. Passare questo valore con Claude Sonnet 4.5 o Sonnet 4 non ha effetto, e le richieste che superano la finestra di contesto standard di 200k token restituiscono un errore. Per usare una finestra di contesto di 1M token, esegui la migrazione a [Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, o Claude Opus 4.8](https://platform.claude.com/docs/it/about-claude/models/overview), che includono 1M di contesto ai prezzi standard senza intestazione beta richiesta.

3102</Warning>3115</Warning>

3103 3116 

3104<h3 id="slashcommand">3117<h3 id="slashcommand">

Details

44 44 

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

46 46 

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

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

49 49 

50<Note>50<Warning>

51 Per consentire o negare automaticamente gli strumenti senza chiedere agli utenti, utilizza invece gli [hook](/it/agent-sdk/hooks). Gli hook vengono eseguiti prima di `canUseTool` e possono consentire, negare o modificare le richieste in base alla tua logica. Puoi anche utilizzare l'[hook `PermissionRequest`](/it/agent-sdk/hooks#available-hooks) per inviare notifiche esterne (Slack, email, push) quando Claude è in attesa di approvazione.51 **Il callback non si attiva mai per gli strumenti approvati automaticamente.** Qualsiasi approvazione precedente nel [flusso di valutazione delle autorizzazioni](/it/agent-sdk/permissions#how-permissions-are-evaluated), una regola di consentimento o una modalità come `acceptEdits` o `bypassPermissions`, risolve la chiamata prima che `canUseTool` sia consultato. Se elenchi uno strumento direttamente in `allowed_tools`, un controllo `canUseTool` per quello strumento non viene mai eseguito a meno che una regola di richiesta o la modalità `plan` non reindirizzi la chiamata a un prompt. Per la logica che deve applicarsi a ogni chiamata di strumento, utilizza un [hook `PreToolUse`](/it/agent-sdk/hooks), che viene eseguito prima del resto del flusso e può consentire, negare o modificare le richieste.

52</Note>52</Warning>

53 

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

53 55 

54<h2 id="handle-tool-approval-requests">56<h2 id="handle-tool-approval-requests">

55 Gestire le richieste di approvazione dello strumento57 Gestire le richieste di approvazione dello strumento

56</h2>58</h2>

57 59 

58Una volta passato un callback `canUseTool` nelle opzioni della query, si attiva quando Claude vuole utilizzare uno strumento che non è approvato automaticamente. Il tuo callback riceve tre argomenti:60Una volta passato un callback `canUseTool` nelle opzioni della query, si attiva quando Claude vuole utilizzare uno strumento che nulla prima nel flusso di autorizzazione ha approvato. Il tuo callback riceve tre argomenti:

59 61 

60| Argomento | Descrizione |62| Argomento | Descrizione |

61| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |63| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

agent-teams.md +1 −1

Details

112 `tmux` ha limitazioni note su certi sistemi operativi e tradizionalmente funziona meglio su macOS. Utilizzare `tmux -CC` in iTerm2 è il punto di ingresso suggerito in `tmux`.112 `tmux` ha limitazioni note su certi sistemi operativi e tradizionalmente funziona meglio su macOS. Utilizzare `tmux -CC` in iTerm2 è il punto di ingresso suggerito in `tmux`.

113</Note>113</Note>

114 114 

115L'impostazione predefinita è `"in-process"`. Prima della versione 2.1.179 l'impostazione predefinita era `"auto"`, quindi le sessioni aggiornate che in precedenza aprivano split panes ora rimangono in un terminale a meno che non impostiate esplicitamente la modalità. Impostate `"auto"` per abilitare split panes quando state già eseguendo all'interno di una sessione tmux o il vostro terminale è iTerm2, altrimenti ricadete in in-process. L'impostazione `"tmux"` abilita la modalità split-pane e rileva automaticamente se utilizzare tmux o iTerm2 in base al vostro terminale.115L'impostazione predefinita è `"in-process"`. Prima della versione 2.1.179 l'impostazione predefinita era `"auto"`, quindi le sessioni aggiornate che in precedenza aprivano split panes ora rimangono in un terminale a meno che non impostiate esplicitamente la modalità. Impostate `"auto"` per abilitare split panes quando state già eseguendo all'interno di una sessione tmux o il vostro terminale è iTerm2 con la CLI `it2` installata, altrimenti ricadete in in-process. L'impostazione `"tmux"` abilita la modalità split-pane e rileva automaticamente se utilizzare tmux o iTerm2 in base al vostro terminale.

116 116 

117{/* min-version: 2.1.186 */}A partire dalla versione 2.1.186, impostate `"iterm2"` per utilizzare esplicitamente i split panes nativi di iTerm2. Questa modalità richiede la [CLI `it2`](https://github.com/mkusaka/it2) e mostra un errore con il comando di installazione se `it2` è mancante. Il prompt di configurazione che offre di installare `it2` o passare a tmux appare sotto `"auto"` o `"tmux"` quando il vostro terminale è iTerm2 e tmux è disponibile come fallback.117{/* min-version: 2.1.186 */}A partire dalla versione 2.1.186, impostate `"iterm2"` per utilizzare esplicitamente i split panes nativi di iTerm2. Questa modalità richiede la [CLI `it2`](https://github.com/mkusaka/it2) e mostra un errore con il comando di installazione se `it2` è mancante. Il prompt di configurazione che offre di installare `it2` o passare a tmux appare sotto `"auto"` o `"tmux"` quando il vostro terminale è iTerm2 e tmux è disponibile come fallback.

118 118 

agent-view.md +89 −65

Details

16 16 

17Quando vuoi lavorare più direttamente nella sessione di qualsiasi agente, collegati alla riga per entrare nella conversazione completa.17Quando vuoi lavorare più direttamente nella sessione di qualsiasi agente, collegati alla riga per entrare nella conversazione completa.

18 18 

19Per confrontare agent view con subagenti, team di agenti e worktrees, vedi [Run agents in parallel](/it/agents).19Per confrontare agent view con subagenti, team di agenti e worktrees, vedi [Esegui agenti in parallelo](/it/agents).

20 20 

21<Note>21<Note>

22 Agent view è in anteprima di ricerca e richiede Claude Code v2.1.139 o successivo. Controlla la tua versione con `claude --version`. L'interfaccia e le scorciatoie da tastiera potrebbero cambiare mentre la funzione si evolve.22 Agent view è in anteprima di ricerca e richiede Claude Code v2.1.139 o successivo. Controlla la tua versione con `claude --version`. L'interfaccia e le scorciatoie da tastiera potrebbero cambiare mentre la funzione si evolve.


24 24 

25Questa pagina copre:25Questa pagina copre:

26 26 

27* [Quick start](#quick-start): dai a Claude un compito su cui lavorare in background, controlla come sta andando e intervieni quando necessario27* [Avvio rapido](#quick-start): dai a Claude un compito su cui lavorare in background, controlla come sta andando e intervieni quando necessario

28* [Monitor sessions with agent view](#monitor-sessions-with-agent-view), inclusi icone di stato, peek e reply, collegamento, organizzazione e scorciatoie da tastiera28* [Monitorare le sessioni con agent view](#monitor-sessions-with-agent-view), inclusi icone di stato, peek e reply, collegamento, organizzazione e scorciatoie da tastiera

29* [Dispatch new agents](#dispatch-new-agents) da agent view, da dentro una sessione, o dalla tua shell29* [Invia nuovi agenti](#dispatch-new-agents) da agent view, da dentro una sessione, o dalla tua shell

30* [Manage sessions from the shell](#manage-sessions-from-the-shell)30* [Gestire le sessioni dalla shell](#manage-sessions-from-the-shell)

31* [How background sessions are hosted](#how-background-sessions-are-hosted) dal processo supervisor31* [Come sono ospitate le sessioni in background](#how-background-sessions-are-hosted) dal processo supervisor

32 32 

33<h2 id="quick-start">33<h2 id="quick-start">

34 Avvio rapido34 Avvio rapido


37Questa procedura illustra il ciclo principale della vista agente: invia un'attività, osserva l'aggiornamento della sua riga mentre Claude lavora, controlla per verificare lo stato e rispondi, e collegati per la conversazione completa. La sessione che invii continua a funzionare dopo che chiudi la vista agente, quindi puoi andare via e tornare ad essa.37Questa procedura illustra il ciclo principale della vista agente: invia un'attività, osserva l'aggiornamento della sua riga mentre Claude lavora, controlla per verificare lo stato e rispondi, e collegati per la conversazione completa. La sessione che invii continua a funzionare dopo che chiudi la vista agente, quindi puoi andare via e tornare ad essa.

38 38 

39<Steps>39<Steps>

40 <Step title="Open agent view">40 <Step title="Apri agent view">

41 Dalla tua shell, esegui:41 Dalla tua shell, esegui:

42 42 

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


47 Agent view si apre con un input in basso e una tabella che si riempie quando le sessioni iniziano. Premi `Esc` in qualsiasi momento per tornare alla tua shell. Le tue sessioni continuano a funzionare mentre sei via e riappaiono la prossima volta che apri agent view.47 Agent view si apre con un input in basso e una tabella che si riempie quando le sessioni iniziano. Premi `Esc` in qualsiasi momento per tornare alla tua shell. Le tue sessioni continuano a funzionare mentre sei via e riappaiono la prossima volta che apri agent view.

48 </Step>48 </Step>

49 49 

50 <Step title="Dispatch a session">50 <Step title="Invia una sessione">

51 Digita un prompt che descrive un'attività e premi `Enter`. Una nuova sessione in background inizia su quell'attività e appare come una riga che mostra se sta lavorando, aspettando te, o è completata. La nuova sessione utilizza il modello mostrato nell'intestazione di agent view e la stessa [modalità di autorizzazione](#permission-mode-model-and-effort) che otterresti eseguendo `claude` in quella directory.51 Digita un prompt che descrive un'attività e premi `Enter`. Una nuova sessione in background inizia su quell'attività e appare come una riga che mostra se sta lavorando, aspettando te, o è completata. La nuova sessione utilizza il modello mostrato nell'intestazione di agent view e la stessa [modalità di autorizzazione](#permission-mode-model-and-effort) che otterresti eseguendo `claude` in quella directory.

52 52 

53 Ogni prompt che inserisci qui avvia la sua propria nuova sessione. Digitando un altro prompt e premendo `Enter` avvia una seconda sessione accanto alla prima piuttosto che inviare un follow-up ad essa. Puoi eseguire diversi in parallelo in questo modo.53 Ogni prompt che inserisci qui avvia la sua propria nuova sessione. Digitando un altro prompt e premendo `Enter` avvia una seconda sessione accanto alla prima piuttosto che inviare un follow-up ad essa. Puoi eseguire diversi in parallelo in questo modo.


55 Ogni sessione utilizza la tua quota di abbonamento indipendentemente, quindi consulta [Limitazioni](#limitations) prima di inviare molte sessioni contemporaneamente.55 Ogni sessione utilizza la tua quota di abbonamento indipendentemente, quindi consulta [Limitazioni](#limitations) prima di inviare molte sessioni contemporaneamente.

56 </Step>56 </Step>

57 57 

58 <Step title="Peek and reply">58 <Step title="Peek e rispondi">

59 Seleziona una riga con i tasti freccia e premi `Space` per aprire il pannello peek. Mostra l'output più recente della sessione, o la domanda su cui sta aspettando, piuttosto che la trascrizione completa. Digita una risposta e premi `Enter` per inviarla senza lasciare agent view.59 Seleziona una riga con i tasti freccia e premi `Space` per aprire il pannello peek. Mostra l'output più recente della sessione, o la domanda su cui sta aspettando, piuttosto che la trascrizione completa. Digita una risposta e premi `Enter` per inviarla senza lasciare agent view.

60 </Step>60 </Step>

61 61 

62 <Step title="Attach and detach">62 <Step title="Collegati e scollega">

63 Premi `Enter` o `→` su una riga per collegarti quando vuoi la conversazione completa. La sessione prende il controllo del terminale come una sessione Claude Code interattiva completa. Premi `←` su un prompt vuoto per scollegar e tornare alla tabella.63 Premi `Enter` o `→` su una riga per collegarti quando vuoi la conversazione completa. La sessione prende il controllo del terminale come una sessione Claude Code interattiva completa. Premi `←` su un prompt vuoto per scollegar e tornare alla tabella.

64 </Step>64 </Step>

65 65 

66 <Step title="Bring an existing session in">66 <Step title="Porta una sessione esistente dentro">

67 Per spostare una sessione che hai già aperta in agent view, esegui `/bg` dentro di essa, o premi `←` su un prompt vuoto per metterla in background e aprire agent view in un unico passaggio. La sessione continua a funzionare e appare come una riga accanto a quelle che hai inviato.67 Per spostare una sessione che hai già aperta in agent view, esegui `/bg` dentro di essa, o premi `←` su un prompt vuoto per metterla in background e aprire agent view in un unico passaggio. La sessione continua a funzionare e appare come una riga accanto a quelle che hai inviato.

68 </Step>68 </Step>

69</Steps>69</Steps>


76 76 

77Esegui `claude agents` per aprire agent view. Prende il controllo del terminale completo ed elenca ogni sessione raggruppata per stato, con sessioni fissate e quelle che hanno bisogno di te in cima. Ogni riga mostra il nome della sessione, l'attività corrente e quanto tempo fa è cambiata l'ultima volta.77Esegui `claude agents` per aprire agent view. Prende il controllo del terminale completo ed elenca ogni sessione raggruppata per stato, con sessioni fissate e quelle che hanno bisogno di te in cima. Ogni riga mostra il nome della sessione, l'attività corrente e quanto tempo fa è cambiata l'ultima volta.

78 78 

79Per impostazione predefinita, l'elenco mostra ogni sessione in background che hai avviato, in tutti i tuoi progetti. Una sessione che lavora in un repository e un'altra in un worktree diverso appaiono entrambe qui, indipendentemente da quale directory hai aperto agent view. Per limitare l'elenco a un progetto, passa `--cwd` (richiede Claude Code v2.1.141 o successivo):79Per impostazione predefinita, l'elenco mostra ogni sessione in background che hai avviato, in tutti i tuoi progetti. Una sessione che lavora in un repository e un'altra in un worktree diverso appaiono entrambe qui, indipendentemente da quale directory hai aperto agent view. Per limitare l'elenco a un progetto, passa `--cwd`:

80 80 

81```bash theme={null}81```bash theme={null}

82claude agents --cwd ~/projects/my-app82claude agents --cwd ~/projects/my-app


135 135 

136Le sessioni in background non hanno bisogno di alcun terminale aperto per continuare a lavorare. Un [processo supervisor](#the-supervisor-process) separato le esegue, quindi puoi chiudere agent view, chiudere la tua shell, o avviare una nuova sessione interattiva e il tuo lavoro inviato continua.136Le sessioni in background non hanno bisogno di alcun terminale aperto per continuare a lavorare. Un [processo supervisor](#the-supervisor-process) separato le esegue, quindi puoi chiudere agent view, chiudere la tua shell, o avviare una nuova sessione interattiva e il tuo lavoro inviato continua.

137 137 

138Lo stato della sessione persiste su disco attraverso gli auto-update e i riavvii del supervisor. Le sessioni sono anche preservate quando la tua macchina dorme. I loro processi riprendono al risveglio e il supervisor si ricollega a loro invece di trattare il gap di tempo come inattività. Lo spegnimento ferma comunque le sessioni in esecuzione; vedi [Sessions show as failed after shutdown](#sessions-show-as-failed-after-shutdown) per come recuperarle.138Lo stato della sessione persiste su disco attraverso gli auto-update e i riavvii del supervisor. Le sessioni sono anche preservate quando la tua macchina dorme. I loro processi riprendono al risveglio e il supervisor si ricollega a loro invece di trattare il gap di tempo come inattività. Lo spegnimento ferma comunque le sessioni in esecuzione; vedi [Le sessioni mostrano come non riuscite dopo lo spegnimento](#sessions-show-as-failed-after-shutdown) per come recuperarle.

139 139 

140<h3 id="row-summaries">140<h3 id="row-summaries">

141 Riassunti delle righe141 Riassunti delle righe


143 143 

144Il riassunto su una riga è generato da un [modello di classe Haiku](/it/model-config) in modo che la riga possa dirti cosa sta facendo la sessione, cosa ha bisogno, o cosa ha prodotto senza aprire il transcript. Mentre una sessione sta attivamente lavorando, il riassunto si aggiorna al massimo una volta ogni 15 secondi, più una volta quando ogni turno termina.144Il riassunto su una riga è generato da un [modello di classe Haiku](/it/model-config) in modo che la riga possa dirti cosa sta facendo la sessione, cosa ha bisogno, o cosa ha prodotto senza aprire il transcript. Mentre una sessione sta attivamente lavorando, il riassunto si aggiorna al massimo una volta ogni 15 secondi, più una volta quando ogni turno termina.

145 145 

146Da v2.1.161, quando la sessione sta eseguendo due o più elementi di lavoro paralleli, come subagents, comandi shell in background, o monitor, un conteggio `done/total` come `2/5` appare prima del testo del riassunto.146Quando la sessione sta eseguendo due o più elementi di lavoro paralleli, come subagents, comandi shell in background, o monitor, un conteggio `done/total` come `2/5` appare prima del testo del riassunto.

147 147 

148Ogni aggiornamento è una breve richiesta di classe Haiku attraverso il tuo provider normale, fatturato e gestito secondo gli stessi [termini di utilizzo dei dati](/it/data-usage) della sessione stessa. Su provider di terze parti come Bedrock, Vertex AI, Microsoft Foundry e gateway personalizzati, la richiesta ritorna al modello principale della sessione quando nessun modello Haiku è configurato. Imposta [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/it/model-config#environment-variables) per scegliere il modello per questi riassunti su quei provider.148Ogni aggiornamento è una breve richiesta di classe Haiku attraverso il tuo provider normale, fatturato e gestito secondo gli stessi [termini di utilizzo dei dati](/it/data-usage) della sessione stessa. Su provider di terze parti come Bedrock, Vertex AI, Microsoft Foundry e gateway personalizzati, la richiesta ritorna al modello principale della sessione quando nessun modello Haiku è configurato. Imposta [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/it/model-config#environment-variables) per scegliere il modello per questi riassunti su quei provider.

149 149 


167Per la maggior parte dei compiti questa colonna è dove raccogli il risultato: rivedi e unisci la pull request quando il suo numero diventa verde.167Per la maggior parte dei compiti questa colonna è dove raccogli il risultato: rivedi e unisci la pull request quando il suo numero diventa verde.

168 168 

169<h3 id="peek-and-reply">169<h3 id="peek-and-reply">

170 Peek and reply170 Peek e rispondi

171</h3>171</h3>

172 172 

173Premi `Space` su una riga selezionata per aprire il pannello peek. Mostra cosa la sessione ha bisogno da te, il suo output più recente, e qualsiasi pull request che ha aperto. La maggior parte delle volte questo è sufficiente, e non hai mai bisogno di aprire il transcript completo.173Premi `Space` su una riga selezionata per aprire il pannello peek. Mostra cosa la sessione ha bisogno da te, il suo output più recente, e qualsiasi pull request che ha aperto. La maggior parte delle volte questo è sufficiente, e non hai mai bisogno di aprire il transcript completo.

174 174 

175Da v2.1.161, quando la sessione sta eseguendo elementi di lavoro paralleli, il pannello nomina anche quello che sta girando più a lungo e da quanto tempo sta andando, così puoi vedere cosa la sessione sta aspettando senza collegarti.175Quando la sessione sta eseguendo elementi di lavoro paralleli, il pannello nomina anche quello che sta girando più a lungo e da quanto tempo sta andando, così puoi vedere cosa la sessione sta aspettando senza collegarti.

176 176 

177Digita una risposta nel pannello peek e premi `Enter` per inviarla a quella sessione. Quando la sessione sta facendo una domanda a scelta multipla, il pannello peek mostra le opzioni e puoi premere un tasto numero per sceglierne uno. Per altre sessioni bloccate, premi `Tab` per riempire l'input con una risposta suggerita che puoi modificare prima di inviare. Prefissa una risposta con `!` per inviare un comando Bash invece.177Digita una risposta nel pannello peek e premi `Enter` per inviarla a quella sessione. Quando la sessione sta facendo una domanda a scelta multipla, il pannello peek mostra le opzioni e puoi premere un tasto numero per sceglierne uno. Per altre sessioni bloccate, premi `Tab` per riempire l'input con una risposta suggerita che puoi modificare prima di inviare. Prefissa una risposta con `!` per inviare un comando Bash invece.

178 178 

179Da v2.1.145, con la [dettatura vocale](/it/voice-dictation) abilitata, tieni premuto o tocca il tuo tasto push-to-talk mentre l'input di risposta è focalizzato per dettare una risposta invece di digitarla. Lo stesso funziona nell'input di dispatch in fondo a agent view.179Con la [dettatura vocale](/it/voice-dictation) abilitata, tieni premuto o tocca il tuo tasto push-to-talk mentre l'input di risposta è focalizzato per dettare una risposta invece di digitarla. Lo stesso funziona nell'input di dispatch in fondo a agent view.

180 180 

181Usa `↑` e `↓` per fare peek alle sessioni adiacenti senza chiudere il pannello, o `→` per collegarti.181Usa `↑` e `↓` per fare peek alle sessioni adiacenti senza chiudere il pannello, o `→` per collegarti.

182 182 


196 196 

197Scollegar non ferma mai una sessione in background: `←`, `Ctrl+Z`, `/exit`, e doppio `Ctrl+C` o doppio `Ctrl+D` la lasciano tutte in esecuzione. Per terminare una sessione da dentro di essa, esegui `/stop`.197Scollegar non ferma mai una sessione in background: `←`, `Ctrl+Z`, `/exit`, e doppio `Ctrl+C` o doppio `Ctrl+D` la lasciano tutte in esecuzione. Per terminare una sessione da dentro di essa, esegui `/stop`.

198 198 

199Premere `←` su un prompt vuoto funziona da qualsiasi sessione di Claude Code, non solo quelle a cui ti sei collegato da agent view. Mette in background la sessione corrente e apre agent view con quella riga selezionata, quindi puoi cambiare sessioni senza lasciare il terminale. La riga viene creata anche da una sessione nuova senza cronologia di conversazione, quindi `→` vi ritorna. Quando quella riga è l'unica, agent view mostra un suggerimento di onboarding sotto di essa. Puoi disattivare questa scorciatoia in `/config` (l'impostazione `leftArrowOpensAgents`).199In una sessione in esecuzione in primo piano, una che hai avviato nel terminale piuttosto che collegato da agent view, premere `←` su un prompt vuoto la mette in background e apre agent view con quella riga selezionata, quindi puoi cambiare sessioni senza lasciare il terminale. Lo stesso singolo press scollega una sessione collegata.

200 

201Se uno strumento è in esecuzione quando premi `←`, Claude Code aspetta fino a circa dieci secondi che finisca prima di metterla in background, e la risposta continua nella sessione in background. Premi `←` di nuovo per metterla in background immediatamente invece di aspettare. Quando il lavoro in corso non può trasferirsi alla sessione in background, appare prima la finestra di dialogo `Background this session?`, come con [`/background`](#from-inside-a-session).

202 

203La riga viene creata anche da una sessione nuova senza cronologia di conversazione, quindi `→` vi ritorna. Quando quella riga è l'unica, agent view mostra un suggerimento di onboarding sotto di essa.

204 

205Puoi disattivare questa scorciatoia con l'impostazione `leftArrowOpensAgents` in `/config`.

200 206 

201<h3 id="organize-the-list">207<h3 id="organize-the-list">

202 Organizzare l'elenco208 Organizzare l'elenco

203</h3>209</h3>

204 210 

205Agent view raggruppa le sessioni in modo che quelle che hanno bisogno di input siano in cima, con `Ready for review` e `Needs input` sopra `Working` e `Completed`. Questi nomi di gruppo non corrispondono uno a uno agli [stati](#read-session-state) sopra: una sessione si sposta a `Ready for review` quando ha una pull request aperta, e `Completed` raccoglie insieme sessioni finite, fallite e fermate. Premi `Ctrl+S` per raggruppare per directory invece. La tua scelta persiste tra le esecuzioni.211Agent view raggruppa le sessioni in modo che quelle che hanno bisogno di input siano in cima, con `Ready for review` e `Needs input` sopra `Working` e `Completed`. Questi nomi di gruppo non corrispondono uno a uno agli [stati](#read-session-state) sopra: una sessione si sposta a `Ready for review` quando ha una pull request aperta, e `Completed` raccoglie insieme sessioni finite, fallite e fermate.

212 

213Premi `Ctrl+S` per raggruppare per directory invece. La tua scelta persiste tra le esecuzioni.

206 214 

207All'interno di un gruppo:215All'interno di un gruppo:

208 216 


215 223 

216L'eliminazione rimuove la sessione da agent view. Se Claude ha [creato un worktree](#how-file-edits-are-isolated) per la sessione, l'eliminazione rimuove anche quel worktree, inclusi eventuali cambiamenti non committati in esso, quindi esegui il push o il commit del lavoro che vuoi mantenere prima. Un worktree che hai creato tu stesso e in cui hai avviato la sessione viene lasciato in posto. Il transcript della conversazione rimane sulla tua macchina locale e rimane disponibile attraverso `claude --resume`.224L'eliminazione rimuove la sessione da agent view. Se Claude ha [creato un worktree](#how-file-edits-are-isolated) per la sessione, l'eliminazione rimuove anche quel worktree, inclusi eventuali cambiamenti non committati in esso, quindi esegui il push o il commit del lavoro che vuoi mantenere prima. Un worktree che hai creato tu stesso e in cui hai avviato la sessione viene lasciato in posto. Il transcript della conversazione rimane sulla tua macchina locale e rimane disponibile attraverso `claude --resume`.

217 225 

218Le sessioni completate più vecchie si ripiegano in una riga `… N more` per mantenere l'elenco breve. I fallimenti e le sessioni con una pull request aperta rimangono sempre visibili.226Le sessioni completate che non si adattano allo schermo si ripiegano in una riga `… N more`. I fallimenti e le sessioni con una pull request aperta rimangono sempre visibili. Il gruppo `Completed` riempie lo spazio verticale rimasto dopo i gruppi live, e su un terminale corto l'intestazione si compatta in una singola riga di riepilogo in modo che le sessioni che stanno lavorando o hanno bisogno di input rimangono visibili.

219 227 

220<h3 id="filter-sessions">228<h3 id="filter-sessions">

221 Filtrare le sessioni229 Filtrare le sessioni


262Puoi inviare nuove sessioni in background da agent view, inviare una sessione interattiva esistente in background, o avviarne una direttamente dalla shell.270Puoi inviare nuove sessioni in background da agent view, inviare una sessione interattiva esistente in background, o avviarne una direttamente dalla shell.

263 271 

264<h3 id="from-agent-view">272<h3 id="from-agent-view">

265 From agent view273 Da agent view

266</h3>274</h3>

267 275 

268Digita un prompt nell'input in basso di agent view e premi `Enter` per avviare una nuova sessione in background. La sessione è denominata automaticamente dal prompt; rinominala in seguito con `Ctrl+R`.276Digita un prompt nell'input in basso di agent view e premi `Enter` per avviare una nuova sessione in background. La sessione è denominata automaticamente dal prompt; rinominala in seguito con `Ctrl+R`.


271 279 

272Prefissa o menziona parti del prompt per controllare come la sessione inizia:280Prefissa o menziona parti del prompt per controllare come la sessione inizia:

273 281 

274| Input | Effect |282| Input | Effetto |

275| :----------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |283| :----------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

276| `<agent-name> <prompt>` | Se la prima parola corrisponde a un nome di [subagent](/it/sub-agents) personalizzato, quel subagent viene eseguito come agente principale della sessione con la configurazione dal suo frontmatter |284| `<agent-name> <prompt>` | Se la prima parola corrisponde a un nome di [subagent](/it/sub-agents) personalizzato, quel subagent viene eseguito come agente principale della sessione con la configurazione dal suo frontmatter |

277| `@<agent-name>` | Menziona un subagent personalizzato in qualsiasi punto del prompt per eseguirlo come agente principale |285| `@<agent-name>` | Menziona un subagent personalizzato in qualsiasi punto del prompt per eseguirlo come agente principale |


300Quando agent view è raggruppato per directory, la directory della riga evidenziata diventa il target di dispatch, quindi puoi scorrere a un gruppo e inviare in esso senza riscrivere il percorso.308Quando agent view è raggruppato per directory, la directory della riga evidenziata diventa il target di dispatch, quindi puoi scorrere a un gruppo e inviare in esso senza riscrivere il percorso.

301 309 

302<h3 id="from-inside-a-session">310<h3 id="from-inside-a-session">

303 From inside a session311 Da dentro una sessione

304</h3>312</h3>

305 313 

306Esegui `/background` o il suo alias `/bg` per spostare la conversazione corrente in una sessione in background. Passa un prompt come `/bg run the test suite and fix any failures` per inviare un'istruzione in più prima. Se Claude sta rispondendo quando esegui `/bg`, la risposta continua nella sessione in background.314Esegui `/background` o il suo alias `/bg` per spostare la conversazione corrente in una sessione in background. Passa un prompt come `/bg run the test suite and fix any failures` per inviare un'istruzione in più prima. Se Claude sta rispondendo quando esegui `/bg`, la risposta continua nella sessione in background.

307 315 

308Lo spostamento in background da una sessione interattiva avvia un nuovo processo che riprende dalla conversazione salvata, quindi l'esecuzione di subagent, [monitor](/it/tools-reference#monitor-tool), e comandi in background non si trasferiscono ad esso. Claude ti chiede di confermare prima di spostare in background quando uno qualsiasi di essi è in esecuzione. Una volta in background, la sessione può avviare nuovi subagent, monitor, e comandi in background, e questi continuano a essere eseguiti durante successivi distacchi e ricollegamenti.316Lo spostamento in background da una sessione interattiva avvia un nuovo processo che riprende dalla conversazione salvata, e il lavoro in corso si trasferisce ad esso: comandi shell in background in esecuzione, subagents in background, workflow dinamici, e compiti programmati che hai creato con [`/loop`](/it/scheduled-tasks) si trasferiscono alla sessione in background e continuano a girare . Un subagent si sposta insieme a tutto ciò che ha avviato, quindi si trasferisce solo quando tutto quel lavoro può trasferirsi anche, incluso su Windows. Per fermare il lavoro in corso invece di trasferirlo, imposta la variabile di ambiente [`CLAUDE_DISABLE_ADOPT=1`](/it/env-vars#variables); Claude Code ti chiede di confermare prima di metterla in background.

317 

318Il lavoro che non può trasferirsi, come un [monitor](/it/tools-reference#monitor-tool) in esecuzione, viene fermato. Un subagent messo in background che possiede un monitor viene fermato insieme ad esso. Quando uno qualsiasi di essi è in esecuzione, Claude Code mostra una finestra di dialogo `Background this session?` in modo che tu possa confermare prima che sia fermato.

319 

320Una volta in background, la sessione può avviare nuovi subagents, monitor, e comandi in background, e questi continuano a essere eseguiti durante successivi distacchi e ricollegamenti.

309 321 

310I flag di configurazione dal lancio originale si trasferiscono alla sessione messa in background, quindi i suoi server MCP, le impostazioni e il modello di fallback rimangono in vigore:322I flag di configurazione dal lancio originale si trasferiscono alla sessione messa in background, quindi i suoi server MCP, le impostazioni e il modello di fallback rimangono in vigore:

311 323 


321Il trasferimento di `--allow-dangerously-skip-permissions` mantiene `bypassPermissions` raggiungibile nella sessione messa in background, ma non concede nulla di nuovo. La modalità richiede comunque la stessa accettazione interattiva una tantum descritta in [Permission mode, model, and effort](#permission-mode-model-and-effort) prima che qualsiasi sessione possa utilizzarla.333Il trasferimento di `--allow-dangerously-skip-permissions` mantiene `bypassPermissions` raggiungibile nella sessione messa in background, ma non concede nulla di nuovo. La modalità richiede comunque la stessa accettazione interattiva una tantum descritta in [Permission mode, model, and effort](#permission-mode-model-and-effort) prima che qualsiasi sessione possa utilizzarla.

322 334 

323<h3 id="from-your-shell">335<h3 id="from-your-shell">

324 From your shell336 Dalla tua shell

325</h3>337</h3>

326 338 

327Passa `--bg` o la sua forma lunga `--background` per avviare una sessione che va direttamente in background:339Passa `--bg` o la sua forma lunga `--background` per avviare una sessione che va direttamente in background:


373Per vedere l'output, collegati alla riga, premi `Space` per visualizzare l'anteprima senza collegarti, o esegui `claude logs <id>` dalla tua shell. L'output acquisito rimane in memoria e non viene scritto su disco. La riga e il suo output si puliscono automaticamente circa cinque minuti dopo l'uscita del comando, quindi leggi prima se hai bisogno del risultato.385Per vedere l'output, collegati alla riga, premi `Space` per visualizzare l'anteprima senza collegarti, o esegui `claude logs <id>` dalla tua shell. L'output acquisito rimane in memoria e non viene scritto su disco. La riga e il suo output si puliscono automaticamente circa cinque minuti dopo l'uscita del comando, quindi leggi prima se hai bisogno del risultato.

374 386 

375<h3 id="how-file-edits-are-isolated">387<h3 id="how-file-edits-are-isolated">

376 How file edits are isolated388 Come sono isolate le modifiche ai file

377</h3>389</h3>

378 390 

379Ogni sessione in background, che sia avviata da agent view, `/bg`, o `claude --bg`, inizia nella tua directory di lavoro. Prima di modificare i file, Claude sposta la sessione in un [git worktree](/it/worktrees) isolato sotto `.claude/worktrees/`, quindi le sessioni parallele possono leggere lo stesso checkout ma ognuna scrive nel suo.391Ogni sessione in background, che sia avviata da agent view, `/bg`, o `claude --bg`, inizia nella tua directory di lavoro. Prima di modificare i file, Claude sposta la sessione in un [git worktree](/it/worktrees) isolato sotto `.claude/worktrees/`, quindi le sessioni parallele possono leggere lo stesso checkout ma ognuna scrive nel suo.


394}406}

395```407```

396 408 

397<Note>

398 L'impostazione `worktree.bgIsolation` richiede Claude Code v2.1.143 o successivo.

399</Note>

400 

401Al di fuori di un repository git, le sessioni scrivono direttamente nella directory di lavoro e non sono isolate l'una dall'altra, quindi evita di inviare sessioni parallele che modificano gli stessi file. Se utilizzi un sistema di controllo versione diverso, configura un [`WorktreeCreate` hook](/it/worktrees#non-git-version-control) e Claude isola le modifiche nello stesso modo in cui lo fa per git.409Al di fuori di un repository git, le sessioni scrivono direttamente nella directory di lavoro e non sono isolate l'una dall'altra, quindi evita di inviare sessioni parallele che modificano gli stessi file. Se utilizzi un sistema di controllo versione diverso, configura un [`WorktreeCreate` hook](/it/worktrees#non-git-version-control) e Claude isola le modifiche nello stesso modo in cui lo fa per git.

402 410 

403L'eliminazione di una sessione in agent view (`Ctrl+X` due volte) rimuove un worktree che Claude ha creato per essa, inclusi eventuali cambiamenti non committati, quindi unisci o spingi i cambiamenti che vuoi mantenere prima. L'eliminazione dalla shell con [`claude rm`](#manage-sessions-from-the-shell) mantiene un worktree che ha cambiamenti non committati e stampa il suo percorso in modo che tu possa pulirlo da solo. Un worktree che hai creato tu stesso e in cui hai avviato la sessione viene lasciato in posizione in entrambi i casi.411L'eliminazione di una sessione in agent view con `Ctrl+X` due volte rimuove un worktree che Claude ha creato per essa, inclusi eventuali cambiamenti non committati, quindi unisci o spingi i cambiamenti che vuoi mantenere prima. L'eliminazione dalla shell con [`claude rm`](#manage-sessions-from-the-shell) mantiene un worktree che ha cambiamenti non committati e stampa il suo percorso in modo che tu possa pulirlo da solo. Un worktree che hai creato tu stesso e in cui hai avviato la sessione viene lasciato in posizione in entrambi i casi.

404 412 

405Per trovare il percorso del worktree di una sessione, visualizza l'anteprima della sessione o collegati e controlla la sua directory di lavoro.413Per trovare il percorso del worktree di una sessione, visualizza l'anteprima della sessione o collegati e controlla la sua directory di lavoro.

406 414 

407Un [subagent](/it/sub-agents) che la sessione in background genera eredita la directory di lavoro della sessione, quindi le sue modifiche ai file finiscono nel worktree della sessione piuttosto che nella tua copia di lavoro. Per dare a un subagent il suo proprio worktree separato, imposta [`isolation: worktree`](/it/sub-agents#supported-frontmatter-fields) nel suo frontmatter o passa `isolation: "worktree"` quando lo generi.415Un [subagent](/it/sub-agents) che la sessione in background genera eredita la directory di lavoro della sessione, quindi le sue modifiche ai file finiscono nel worktree della sessione piuttosto che nella tua copia di lavoro. Per dare a un subagent il suo proprio worktree separato, imposta [`isolation: worktree`](/it/sub-agents#supported-frontmatter-fields) nel suo frontmatter o passa `isolation: "worktree"` quando lo generi.

408 416 

409<h3 id="set-the-model">417<h3 id="set-the-model">

410 Set the model418 Imposta il modello

411</h3>419</h3>

412 420 

413Il nome del modello mostrato nell'intestazione di agent view è il default di dispatch. Le nuove sessioni che avvii dall'input utilizzano questo modello, che proviene dall'impostazione [`model`](/it/settings#available-settings) nei tuoi settings utente. Impostalo selezionando un modello nel picker [`/model`](/it/model-config), o modifica l'impostazione direttamente. Per sovrascriverlo per l'intera sessione di agent view, passa `--model` quando apri agent view. Vedi [Permission mode, model, and effort](#permission-mode-model-and-effort).421Il nome del modello mostrato nell'intestazione di agent view è il default di dispatch. Le nuove sessioni che avvii dall'input utilizzano questo modello, che proviene dall'impostazione [`model`](/it/settings#available-settings) nei tuoi settings utente. Impostalo selezionando un modello nel picker [`/model`](/it/model-config), o modifica l'impostazione direttamente.

414 422 

415Per cambiare il default di dispatch da dentro agent view, digita `/model` seguito da un nome di modello nell'input di dispatch e premi `Enter`. L'intestazione si aggiorna per mostrare quel modello con un marcatore `(session)`, e le sessioni che invii successivamente lo utilizzano. Digita `/model default` per cancellare l'override e tornare al default di dispatch. Questo override dura per il resto della corrente esecuzione di `claude agents`, non scrive nel tuo file di settings, e richiede Claude Code v2.1.172 o successivo. {/* min-version: 2.1.172 */} L'esempio seguente invia una sessione su Opus e la successiva su Sonnet:423Per sovrascrivere il default di dispatch per l'intera sessione di agent view, passa `--model` quando apri agent view. Vedi [Permission mode, model, and effort](#permission-mode-model-and-effort).

424 

425Per cambiare il default di dispatch da dentro agent view, digita `/model` seguito da un nome di modello nell'input di dispatch e premi `Enter`. L'intestazione si aggiorna per mostrare quel modello con un marcatore `(session)`, e le sessioni che invii successivamente lo utilizzano. Digita `/model default` per cancellare l'override e tornare al default di dispatch. Questo override dura per il resto della corrente esecuzione di `claude agents` e non scrive nel tuo file di settings. L'esempio seguente invia una sessione su Opus e la successiva su Sonnet:

416 426 

417```text theme={null}427```text theme={null}

418/model opus428/model opus


449 459 

450`claude agents` accetta anche `--dangerously-skip-permissions` come abbreviazione per `--permission-mode bypassPermissions`, e `--allow-dangerously-skip-permissions` per rendere `bypassPermissions` disponibile nel ciclo `Shift+Tab` di ogni sessione inviata senza avviare in quella modalità. Entrambi corrispondono ai [flag CLI di livello superiore](/it/cli-reference).460`claude agents` accetta anche `--dangerously-skip-permissions` come abbreviazione per `--permission-mode bypassPermissions`, e `--allow-dangerously-skip-permissions` per rendere `bypassPermissions` disponibile nel ciclo `Shift+Tab` di ogni sessione inviata senza avviare in quella modalità. Entrambi corrispondono ai [flag CLI di livello superiore](/it/cli-reference).

451 461 

452Questi flag sono stati aggiunti in diverse versioni. Le versioni precedenti li rifiutano con un errore di opzione sconosciuta.

453 

454| Flag o impostazione | Versione minima |

455| :--------------------------------------------------------------------------- | :------------------------------------ |

456| `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions` | v2.1.142 {/* min-version: 2.1.142 */} |

457| `--allow-dangerously-skip-permissions` | v2.1.143 {/* min-version: 2.1.143 */} |

458| `--agent`, e rispetto dell'impostazione `agent` per le sessioni inviate | v2.1.157 {/* min-version: 2.1.157 */} |

459 

460Prima di v2.1.157, agent view ignora l'impostazione `agent` e invia l'agente integrato `claude`.

461 

462I default attivi appaiono nel footer sotto l'input di dispatch.462I default attivi appaiono nel footer sotto l'input di dispatch.

463 463 

464Senza questi flag, la sessione utilizza il `defaultMode` dai settings di quella directory o il `permissionMode` dal frontmatter del [subagent inviato](/it/sub-agents#supported-frontmatter-fields), e il modello mostrato nell'intestazione di agent view.464Senza questi flag, la sessione utilizza il `defaultMode` dai settings di quella directory o il `permissionMode` dal frontmatter del [subagent inviato](/it/sub-agents#supported-frontmatter-fields), e il modello mostrato nell'intestazione di agent view.

465 465 

466L'uso di `bypassPermissions` o `auto` è rifiutato finché non hai accettato quella modalità eseguendo `claude` con essa una volta in modo interattivo, poiché queste modalità permettono a una sessione che non stai guardando di agire senza approvazione. Lo stesso si applica sia che tu passi la modalità a `claude agents` che a `claude --bg --permission-mode`.466L'uso di `bypassPermissions` con `claude --bg --permission-mode` è rifiutato finché non hai accettato il disclaimer di bypass eseguendo `claude --dangerously-skip-permissions` una volta in modo interattivo, poiché quella modalità permette a una sessione che non stai guardando di agire senza approvazione. Passare `--dangerously-skip-permissions` o `--permission-mode bypassPermissions` a `claude agents` mostra lo stesso disclaimer quando non l'hai accettato prima, e accettare applica `bypassPermissions` alle sessioni che avvii dalla vista. Passare `--allow-dangerously-skip-permissions` mostra lo stesso disclaimer anche, e accettare rende `bypassPermissions` disponibile nel ciclo `Shift+Tab` di quelle sessioni senza avviarle in esso.

467 467 

468<h3 id="settings-plugins-and-mcp-servers">468<h3 id="settings-plugins-and-mcp-servers">

469 Settings, plugins, and MCP servers469 Settings, plugins, and MCP servers

470</h3>470</h3>

471 471 

472Agent view accetta gli stessi flag di configurazione di `claude` per caricare settings, plugins, server MCP, e directory aggiuntive. Questi flag richiedono Claude Code v2.1.142 o successivo. Ogni flag si applica a agent view stesso e viene passato a ogni sessione che invii da esso, quindi un plugin o server MCP che carichi in questo modo è disponibile anche in quelle sessioni.472Agent view accetta gli stessi flag di configurazione di `claude` per caricare settings, plugins, server MCP, e directory aggiuntive. Ogni flag si applica a agent view stesso e viene passato a ogni sessione che invii da esso, quindi un plugin o server MCP che carichi in questo modo è disponibile anche in quelle sessioni.

473 473 

474| Flag | Effect |474| Flag | Effetto |

475| :----------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------- |475| :----------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------- |

476| [`--settings <file-or-json>`](/it/settings) | Sovrascrivi settings per agent view e sessioni inviate |476| [`--settings <file-or-json>`](/it/settings) | Sovrascrivi settings per agent view e sessioni inviate |

477| [`--add-dir <path>`](/it/permissions#additional-directories-grant-file-access-not-configuration) | Concedi accesso ai file a una directory aggiuntiva |477| [`--add-dir <path>`](/it/permissions#additional-directories-grant-file-access-not-configuration) | Concedi accesso ai file a una directory aggiuntiva |


493 493 

494Ogni sessione in background ha un ID breve che puoi usare dalla shell. L'ID viene stampato quando avvii una sessione con `claude --bg`, e l'ID di ogni sessione è il nome della sua directory sotto `~/.claude/jobs/`. Questi comandi sono utili per lo scripting o quando non vuoi aprire agent view.494Ogni sessione in background ha un ID breve che puoi usare dalla shell. L'ID viene stampato quando avvii una sessione con `claude --bg`, e l'ID di ogni sessione è il nome della sua directory sotto `~/.claude/jobs/`. Questi comandi sono utili per lo scripting o quando non vuoi aprire agent view.

495 495 

496| Command | Purpose |496| Comando | Scopo |

497| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |497| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

498| `claude agents` | Apri agent view |498| `claude agents` | Apri agent view |

499| `claude agents --cwd <path>` | Apri agent view limitato alle sessioni avviate sotto `<path>` |499| `claude agents --cwd <path>` | Apri agent view limitato alle sessioni avviate sotto `<path>` |

500| `claude agents --json` | Stampa le sessioni attive come un array JSON e esci: ogni sessione live, più sessioni in background che stanno ancora lavorando o sono bloccate anche quando il loro processo è uscito. Aggiungi `--all` per includere anche le sessioni in background completate. Ogni voce ha `cwd`, `kind`, e `startedAt`. Le voci in background hanno anche `id`, utilizzabile con `claude attach`/`logs`/`stop`, e `state`: uno di `working`, `blocked`, `done`, `failed`, o `stopped`. `pid` e `status` sono presenti solo mentre il processo è attivo, più `waitingFor` quando status è `waiting`, che dice su cosa è bloccata la sessione, come `permission prompt` o `input needed`; `sessionId` e `name` appaiono quando impostati. Combina con `--cwd <path>` per filtrare |500| `claude agents --json` | Stampa le sessioni attive come un array JSON e esci: ogni sessione live, più sessioni in background che stanno ancora lavorando o sono bloccate anche quando il loro processo è uscito. Aggiungi `--all` per includere anche le sessioni in background completate. Ogni voce ha `cwd`, `kind`, e `startedAt`. Le voci in background hanno anche `id`, utilizzabile con `claude attach`/`logs`/`stop`, e `state`: uno di `working`, `blocked`, `done`, `failed`, o `stopped`. `pid` e `status` sono presenti solo mentre il processo è attivo, più `waitingFor` quando status è `waiting`, che dice su cosa è bloccata la sessione, come `permission prompt` o `input needed`; `sessionId` e `name` appaiono quando impostati. Una voce interattiva che non hai mai nominato porta un nome predefinito costruito dal nome della directory di lavoro più un suffisso di due caratteri, come `my-app-3f`. Combina con `--cwd <path>` per filtrare |

501| `claude attach <id>` | Collegati a una sessione in questo terminale |501| `claude attach <id>` | Collegati a una sessione in questo terminale |

502| `claude logs <id>` | Stampa l'output recente della sessione |502| `claude logs <id>` | Stampa l'output recente della sessione |

503| `claude stop <id>` | Ferma una sessione. Accetta anche `claude kill` |503| `claude stop <id>` | Ferma una sessione. Accetta anche `claude kill` |


523 523 

524Il supervisor e le sue sessioni si autenticano con le stesse credenziali archiviate delle tue sessioni interattive e non fanno connessioni di rete aggiuntive oltre l'API del modello. Le variabili di selezione del provider come `CLAUDE_CODE_USE_BEDROCK` e gli alias `ANTHROPIC_DEFAULT_*_MODEL` vengono letti dalla shell che ha eseguito il dispatch di ogni sessione e vengono applicati al suo worker.524Il supervisor e le sue sessioni si autenticano con le stesse credenziali archiviate delle tue sessioni interattive e non fanno connessioni di rete aggiuntive oltre l'API del modello. Le variabili di selezione del provider come `CLAUDE_CODE_USE_BEDROCK` e gli alias `ANTHROPIC_DEFAULT_*_MODEL` vengono letti dalla shell che ha eseguito il dispatch di ogni sessione e vengono applicati al suo worker.

525 525 

526{/* min-version: 2.1.174 */}Una sessione in background non eredita variabili di endpoint gateway come `ANTHROPIC_BASE_URL`, le variabili di URL base equivalenti di Bedrock, Vertex e Foundry, o un `ANTHROPIC_AUTH_TOKEN` accoppiato dalla shell che ha avviato il supervisor o dalla shell di dispatch. La sessione utilizza le tue credenziali archiviate e qualsiasi valore `env` nella directory del progetto [settings](/it/settings). Per puntare le sessioni in background in un progetto a un [gateway LLM](/it/llm-gateway), imposta `ANTHROPIC_BASE_URL` nel blocco `env` del file `.claude/settings.json` di quel progetto piuttosto che esportarlo nella tua shell. Prima della v2.1.174, una sessione in background ereditava queste variabili dalla shell di avvio del supervisor, quindi poteva utilizzare il gateway che avevi configurato in quella shell invece di quello configurato per la directory del progetto.526Una sessione in background non eredita variabili di endpoint gateway come `ANTHROPIC_BASE_URL`, le variabili di URL base equivalenti di Bedrock, Vertex e Foundry, o un `ANTHROPIC_AUTH_TOKEN` accoppiato dalla shell che ha avviato il supervisor o dalla shell di dispatch. La sessione utilizza le tue credenziali archiviate e qualsiasi valore `env` nella directory del progetto [settings](/it/settings) invece. Per puntare le sessioni in background in un progetto a un [gateway LLM](/it/llm-gateway), imposta `ANTHROPIC_BASE_URL` nel blocco `env` del file `.claude/settings.json` di quel progetto piuttosto che esportarlo nella tua shell.

527 527 

528Ogni sessione in background è il suo proprio processo Claude Code, gestito dal supervisor piuttosto che legato al tuo terminale. Una sessione che sta attivamente lavorando, aspettando il tuo input, o ha un terminale collegato mantiene il suo processo in esecuzione. Un comando shell in background in esecuzione, un subagente, un workflow dinamico, o un monitor conta come lavoro attivo, quindi un processo a lunga esecuzione come un server di sviluppo mantiene la sessione attiva.528Ogni sessione in background è il suo proprio processo Claude Code, gestito dal supervisor piuttosto che legato al tuo terminale. Una sessione che sta attivamente lavorando, aspettando il tuo input, o ha un terminale collegato mantiene il suo processo in esecuzione. Un comando shell in background in esecuzione, un subagente, un workflow dinamico, o un monitor conta come lavoro attivo, quindi un processo a lunga esecuzione come un server di sviluppo mantiene la sessione attiva.

529 529 

530Una volta che una sessione finisce e rimane scollega per circa un'ora, il supervisor ferma il suo processo per liberare risorse. Una sessione che hai [bloccato](#organize-the-list) con `Ctrl+T` è esente e mantiene il suo processo in esecuzione mentre inattivo. Il transcript e lo stato rimangono su disco comunque, e la prossima volta che ti colleghi, fai peek, o rispondi a una sessione fermata, il supervisor avvia un processo fresco da dove l'ha lasciato. Quando ogni sessione è finita e nessun terminale è collegato, il supervisor stesso esce e si avvia di nuovo la prossima volta che ne hai bisogno.530Una volta che una sessione finisce e rimane scollega per circa un'ora, il supervisor ferma il suo processo per liberare risorse. Una sessione che hai [fissato](#organize-the-list) con `Ctrl+T` è esente e mantiene il suo processo in esecuzione mentre inattivo. Il transcript e lo stato rimangono su disco comunque, e la prossima volta che ti colleghi, fai peek, o rispondi a una sessione fermata, il supervisor avvia un processo fresco da dove l'ha lasciato. Quando ogni sessione è finita e nessun terminale è collegato, il supervisor stesso esce e si avvia di nuovo la prossima volta che ne hai bisogno.

531 

532I comandi shell in background e i workflow dinamici che la sessione ha avviato continuano a girare quando il suo processo è fermato, riavviato, o aggiornato, incluso su Windows. Il prossimo processo avviato per quella sessione li riprende, un comando shell che è finito nel frattempo viene segnalato come completato con il suo output, e un workflow riprende da dove l'ha lasciato. I comandi shell avviati da un subagent e i [monitor](/it/tools-reference#monitor-tool) in esecuzione si fermano comunque con il processo, e eliminare la sessione ferma tutto ciò che ha consegnato. Per fermare i comandi shell in background e i workflow con il processo anche, imposta la variabile di ambiente [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/it/env-vars#variables) su `1`.

533 

534Se una sessione riavviata torna mostrando solo il suo prompt originale perché Claude Code ha frainteso il suo transcript come vuoto, il transcript della conversazione viene rinominato con un suffisso `.orphaned-` invece di essere eliminato, quindi rimane sulla tua macchina.

531 535 

532Una riga vuota rimasta dalla pressione di `←` che non è mai stata data un prompt viene rimossa completamente dopo circa cinque minuti in modo che l'elenco si cancelli da solo. Le sessioni avviate con `claude --bg` e le sessioni in attesa di un prompt di configurazione come una finestra di dialogo di fiducia non vengono rimosse in questo modo.536Una riga vuota rimasta dalla pressione di `←` che non è mai stata data un prompt viene rimossa completamente dopo circa cinque minuti in modo che l'elenco si cancelli da solo. Le sessioni avviate con `claude --bg` e le sessioni in attesa di un prompt di configurazione come una finestra di dialogo di fiducia non vengono rimosse in questo modo.

533 537 

534Quando l'host ha poca memoria, il supervisor ferma prima le sessioni inattive non bloccate e ferma quelle bloccate inattive solo se ciò non ha liberato nulla.538Quando l'host ha poca memoria, il supervisor ferma prima le sessioni inattive non fissate e ferma quelle fissate inattive solo se ciò non ha liberato nulla.

535 539 

536Il supervisor osserva il binario Claude Code installato su disco e si riavvia nella nuova versione dopo che l'[auto-updater](/it/setup#auto-updates) regolare lo sostituisce. Questo è un watch di file locale, non un controllo di rete. Le sessioni in background sono processi scollegati, quindi continuano a girare attraverso il riavvio e il nuovo supervisor si ricollega a loro. Una sessione bloccata inattiva viene anche riavviata in posizione sulla nuova versione in modo che raccolga l'aggiornamento senza che tu ti ricollega.540Il supervisor osserva il binario Claude Code installato su disco e si riavvia nella nuova versione dopo che l'[auto-updater](/it/setup#auto-updates) regolare lo sostituisce. Questo è un watch di file locale, non un controllo di rete. Le sessioni in background sono processi scollegati, quindi continuano a girare attraverso il riavvio e il nuovo supervisor si ricollega a loro. Una sessione fissata inattiva viene anche riavviata in posizione sulla nuova versione in modo che raccolga l'aggiornamento senza che tu ti ricollega.

537 541 

538<h3 id="where-state-is-stored">542<h3 id="where-state-is-stored">

539 Dove lo stato è archiviato543 Dove lo stato è archiviato


541 545 

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

543 547 

544| Path | Contents |548| Percorso | Contenuti |

545| :------------------------------- | :------------------------------------------------------------------------------------------------------------------------- |549| :------------------------------- | :------------------------------------------------------------------------------------------------------------------------- |

546| `~/.claude/daemon.log` | Log del supervisor |550| `~/.claude/daemon.log` | Log del supervisor |

547| `~/.claude/daemon/roster.json` | Elenco delle sessioni in background in esecuzione, usato per ricollegarsi dopo un riavvio |551| `~/.claude/daemon/roster.json` | Elenco delle sessioni in background in esecuzione, usato per ricollegarsi dopo un riavvio |


567</h2>571</h2>

568 572 

569<h3 id="claude-agents-lists-subagents-instead-of-opening-agent-view">573<h3 id="claude-agents-lists-subagents-instead-of-opening-agent-view">

570 `claude agents` elenca subagenti invece di aprire la visualizzazione agente574 `claude agents` elenca subagenti invece di aprire agent view

571</h3>575</h3>

572 576 

573Se `claude agents` stampa un conteggio seguito dai tuoi subagenti configurati e poi esce, la visualizzazione agente non è disponibile nel tuo ambiente. Le versioni precedenti non aprivano la visualizzazione agente in ogni ambiente, incluso quando connesso tramite Bedrock, Vertex AI o Foundry. Esegui `claude update` per installare la versione più recente.577Se `claude agents` stampa un conteggio seguito dai tuoi subagenti configurati e poi esce, agent view non è disponibile nel tuo ambiente. Esegui `claude update` per installare la versione più recente.

574 578 

575Se la visualizzazione agente ancora non si apre dopo l'aggiornamento, verifica se è stata [disattivata](#turn-off-agent-view) da un'impostazione o da una variabile di ambiente.579Se agent view ancora non si apre dopo l'aggiornamento, verifica se è stata [disattivata](#turn-off-agent-view) da un'impostazione o da una variabile di ambiente.

576 580 

577<h3 id="agent-view-opens-with-no-sessions">581<h3 id="agent-view-opens-with-no-sessions">

578 Agent view si apre senza sessioni582 Agent view si apre senza sessioni


580 584 

581Prima di inviare la tua prima sessione, agent view mostra un breve suggerimento di onboarding con prompt di esempio al posto dell'elenco delle sessioni. Digita un prompt nell'input in basso e premi `Enter` per inviare la tua prima sessione.585Prima di inviare la tua prima sessione, agent view mostra un breve suggerimento di onboarding con prompt di esempio al posto dell'elenco delle sessioni. Digita un prompt nell'input in basso e premi `Enter` per inviare la tua prima sessione.

582 586 

583<h3 id="cannot-open-agents-because-work-is-running-in-the-background">587<h3 id="backgrounding-shows-a-background-this-session-dialog">

584 Impossibile aprire agenti perché sono in esecuzione attività in background588 Lo spostamento in background mostra una finestra di dialogo `Background this session?`

585</h3>589</h3>

586 590 

587Se premere `←` per mettere in background la sessione corrente mostra `Cannot open agents — N still running in the background`, la sessione ha lavoro in corso come un subagente, un workflow dinamico, o un comando shell in background, e la scorciatoia non lo abbandonerà silenziosamente. Esegui `/tasks` per vedere cosa è in esecuzione, quindi `/bg` per confermare l'abbandono. Vedi [From inside a session](#from-inside-a-session) per sapere cosa viene e cosa non viene trasferito quando metti in background.591Se premere `←` per mettere in background la sessione corrente mostra una finestra di dialogo `Background this session?`, la sessione ha lavoro in corso che non può trasferirsi alla sessione in background, come un [monitor](/it/tools-reference#monitor-tool) in esecuzione, e Claude Code non lo fermerà silenziosamente. La finestra di dialogo nomina il lavoro che verrà fermato e, separatamente, conta i compiti che si trasferiscono. Esegui `/tasks` per vedere tutto ciò che è in esecuzione, quindi conferma per metterla in background comunque o scegli `Stay` per lasciare che il lavoro finisca prima. Vedi [Da dentro una sessione](#from-inside-a-session) per sapere quali tipi di compiti si trasferiscono e quali vengono fermati.

588 592 

589<h3 id="prompt-rejected-as-too-short">593<h3 id="prompt-rejected-as-too-short">

590 Prompt rifiutato come troppo breve594 Prompt rifiutato come troppo breve


618 Dispatch non riesce con `Could not resolve authentication method`622 Dispatch non riesce con `Could not resolve authentication method`

619</h3>623</h3>

620 624 

621{/* min-version: 2.1.174 */}Se un dispatch in background non riesce con `Could not resolve authentication method` mentre le sessioni interattive si autenticano normalmente, il worker che ha ricevuto il dispatch non ha raccolto le credenziali. Nella versione 2.1.174 e successive il supervisor fornisce uno snapshot di credenziali fresco quando assegna un [worker pre-riscaldato](#the-supervisor-process), quindi questo errore significa che nessuna credenziale memorizzata era disponibile per il processo supervisor stesso. Conferma di aver eseguito `/login` o di aver configurato una chiave API, quindi ferma il supervisor:625Se un dispatch in background non riesce con `Could not resolve authentication method` mentre le sessioni interattive si autenticano normalmente, il worker che ha ricevuto il dispatch non ha raccolto le credenziali. Il supervisor fornisce uno snapshot di credenziali fresco quando assegna un [worker pre-riscaldato](#the-supervisor-process), quindi questo errore significa che nessuna credenziale memorizzata era disponibile per il processo supervisor stesso. Conferma di aver eseguito `/login` o di aver configurato una chiave API, quindi ferma il supervisor:

622 626 

623```bash theme={null}627```bash theme={null}

624claude daemon stop --any --keep-workers628claude daemon stop --any --keep-workers


626 630 

627Il prossimo `claude agents` o `claude --bg` avvia un supervisor fresco che legge le tue credenziali memorizzate. Se ti autentichi con una variabile di ambiente come `ANTHROPIC_API_KEY` piuttosto che con `/login`, esegui quel comando successivo da una shell dove la variabile è impostata.631Il prossimo `claude agents` o `claude --bg` avvia un supervisor fresco che legge le tue credenziali memorizzate. Se ti autentichi con una variabile di ambiente come `ANTHROPIC_API_KEY` piuttosto che con `/login`, esegui quel comando successivo da una shell dove la variabile è impostata.

628 632 

629Vedi il [riferimento degli errori](/it/errors#could-not-resolve-authentication-method) per l'elenco completo delle cause e delle correzioni. Prima della versione 2.1.174, un worker pre-riscaldato che rimane inattivo potrebbe far emergere questo errore quando veniva assegnato a un dispatch anche quando le tue credenziali erano valide. Esegui l'aggiornamento per recuperare.633Vedi il [riferimento degli errori](/it/errors#could-not-resolve-authentication-method) per l'elenco completo delle cause e delle correzioni.

630 634 

631<h3 id="background-sessions-cannot-read-desktop-documents-or-downloads-on-macos">635<h3 id="background-sessions-cannot-read-desktop-documents-or-downloads-on-macos">

632 Le sessioni in background non riescono a leggere Desktop, Documents o Downloads su macOS636 Le sessioni in background non riescono a leggere Desktop, Documents o Downloads su macOS


640 Una sessione è lenta a rispondere dopo il collegamento644 Una sessione è lenta a rispondere dopo il collegamento

641</h3>645</h3>

642 646 

643Una volta che una sessione è finita e rimane scollegata per circa un'ora, il supervisor ferma il suo processo per liberare risorse. Il collegamento avvia un processo fresco da dove l'ha lasciato, il che richiede un momento. Le sessioni che stanno lavorando, aspettando te, o [fissate](#organize-the-list) non sono fermate in questo modo, quindi fissa una sessione con `Ctrl+T` per mantenerla reattiva.647Una volta che una sessione è finita e rimane scollega per circa un'ora, il supervisor ferma il suo processo per liberare risorse. Il collegamento avvia un processo fresco da dove l'ha lasciato e passa alla sessione immediatamente mentre il processo si riavvia. Le sessioni che stanno lavorando, aspettando te, o [fissate](#organize-the-list) non sono fermate in questo modo, quindi fissa una sessione con `Ctrl+T` per mantenerla reattiva.

644 648 

645<h3 id="claude/worktrees/-is-filling-up">649<h3 id="claude/worktrees/-is-filling-up">

646 `.claude/worktrees/` si sta riempiendo650 `.claude/worktrees/` si sta riempiendo

647</h3>651</h3>

648 652 

649Eliminare una sessione in agent view rimuove il worktree che Claude ha creato per essa. `claude rm` mantiene un worktree che ha modifiche non committate e stampa il suo percorso. Elenca le voci rimaste con `git worktree list` nella directory del progetto e rimuovi ognuna con `git worktree remove <path>`. Vedi [Clean up worktrees](/it/worktrees#clean-up-worktrees).653L'eliminazione di una sessione in agent view rimuove il worktree che Claude ha creato per essa. `claude rm` mantiene un worktree che ha modifiche non committate e stampa il suo percorso. Elenca le voci rimaste con `git worktree list` nella directory del progetto e rimuovi ognuna con `git worktree remove <path>`. Vedi [Pulisci i worktrees](/it/worktrees#clean-up-worktrees).

650 654 

651<h2 id="limitations">655<h2 id="limitations">

652 Limitazioni656 Limitazioni


667* [Esegui agenti in parallelo](/it/agents): confronta agent view con subagenti, team di agenti e worktrees671* [Esegui agenti in parallelo](/it/agents): confronta agent view con subagenti, team di agenti e worktrees

668* [Team di agenti](/it/agent-teams): coordina più sessioni che si messaggiano l'una con l'altra672* [Team di agenti](/it/agent-teams): coordina più sessioni che si messaggiano l'una con l'altra

669* [Claude Code on the web](/it/claude-code-on-the-web): esegui sessioni in un ambiente cloud gestito invece che localmente673* [Claude Code on the web](/it/claude-code-on-the-web): esegui sessioni in un ambiente cloud gestito invece che localmente

674 

675<h2 id="version-history">

676 Cronologia delle versioni

677</h2>

678 

679Agent view si è evoluto rapidamente durante l'anteprima di ricerca. Se sei su una versione più vecchia di Claude Code, alcuni comportamenti su questa pagina potrebbero differire; in particolare, `claude agents` rifiuta i flag che non supporta ancora con un errore di opzione sconosciuta. La tabella sottostante elenca quando ogni flag e comportamento è stato aggiunto.

680 

681| Versione | Cambiamento |

682| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

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

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

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

686| v2.1.172 | {/* min-version: 2.1.172 */}`/model` nell'input di dispatch imposta un override del modello di dispatch con ambito di sessione. |

687| v2.1.161 | {/* min-version: 2.1.161 */}I riassunti delle righe mostrano un conteggio `done/total` per elementi di lavoro paralleli; il pannello peek nomina l'elemento di lavoro parallelo che sta girando più a lungo. |

688| v2.1.157 | {/* min-version: 2.1.157 */}`claude agents` accetta `--agent`; le sessioni inviate rispettano l'impostazione `agent`. |

689| v2.1.145 | {/* min-version: 2.1.145 */}Dettatura vocale supportata nell'input di risposta del pannello peek e nell'input di dispatch. |

690| v2.1.143 | {/* min-version: 2.1.143 */}Impostazione `worktree.bgIsolation` aggiunta; `claude agents` accetta `--allow-dangerously-skip-permissions`. |

691| v2.1.142 | {/* min-version: 2.1.142 */}`claude agents` accetta `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions`, `--settings`, `--add-dir`, `--plugin-dir`, `--mcp-config`, e `--strict-mcp-config`. |

692| v2.1.141 | {/* min-version: 2.1.141 */}`claude agents` accetta `--cwd` per limitare l'elenco a un progetto. |

693| v2.1.139 | {/* min-version: 2.1.139 */}Agent view introdotto come anteprima di ricerca. |

Details

397 Finestra di contesto da 1M token397 Finestra di contesto da 1M token

398</h2>398</h2>

399 399 

400Claude Opus 4.6 e versioni successive, e Sonnet 4.6, supportano la [finestra di contesto da 1M token](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) su Amazon Bedrock. Claude Code abilita automaticamente la finestra di contesto estesa quando selezioni una variante di modello da 1M.400Claude Sonnet 5, Opus 4.6 e versioni successive, e Sonnet 4.6 supportano la [finestra di contesto da 1M token](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) su Amazon Bedrock. Sonnet 5 è servito attraverso l'[endpoint Mantle](#use-the-mantle-endpoint) e funziona sempre con la finestra da 1M, senza alcuna variante `[1m]` da selezionare. Per gli altri modelli, Claude Code abilita automaticamente la finestra di contesto estesa quando selezioni una variante di modello da 1M.

401 401 

402La [procedura guidata di configurazione](#sign-in-with-bedrock) offre un'opzione di contesto da 1M quando fissa i modelli. Per abilitarla per un modello fissato manualmente, aggiungi `[1m]` all'ID del modello. Vedi [Fissa i modelli per distribuzioni di terze parti](/it/model-config#pin-models-for-third-party-deployments) per i dettagli.402La [procedura guidata di configurazione](#sign-in-with-bedrock) offre un'opzione di contesto da 1M quando fissa i modelli. Per abilitarla per un modello fissato manualmente, aggiungi `[1m]` all'ID del modello. Vedi [Fissa i modelli per distribuzioni di terze parti](/it/model-config#pin-models-for-third-party-deployments) per i dettagli.

403 403 


458 Seleziona un modello Mantle458 Seleziona un modello Mantle

459</h3>459</h3>

460 460 

461Mantle utilizza ID di modello con prefisso `anthropic.` e senza suffisso di versione, ad esempio `anthropic.claude-haiku-4-5`. I modelli disponibili per il tuo account dipendono da ciò che la tua organizzazione ha ricevuto; gli ID di modello aggiuntivi sono elencati nei tuoi materiali di onboarding da AWS. Contatta il tuo team di account AWS per richiedere l'accesso ai modelli consentiti.461Mantle utilizza ID di modello con prefisso `anthropic.` e senza suffisso di versione, ad esempio `anthropic.claude-sonnet-5` o `anthropic.claude-haiku-4-5`. I modelli disponibili per il tuo account dipendono da ciò che la tua organizzazione ha ricevuto; gli ID di modello aggiuntivi sono elencati nei tuoi materiali di onboarding da AWS. Contatta il tuo team di account AWS per richiedere l'accesso ai modelli consentiti.

462 462 

463Imposta il modello con il flag `--model` o con `/model` all'interno di Claude Code:463Imposta il modello con il flag `--model` o con `/model` all'interno di Claude Code:

464 464 


542 542 

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

544 544 

545<h3 id="zero-token-counts-in-/context">

546 Conteggi di token zero in /context

547</h3>

548 

549Il comando `/context` conta i token per ogni gruppo di strumenti inviando gli schemi degli strumenti all'API count-tokens di Bedrock. {/* min-version: 2.1.196 */}Nelle versioni di Claude Code precedenti a v2.1.196, Bedrock ha rifiutato quella richiesta perché gli schemi contenevano campi che la sua API count-tokens non accetta, quindi ogni gruppo di strumenti mostrava 0 token. Altre righe nella suddivisione, come i messaggi e i file di memoria, non sono interessati.

550 

551Aggiorna a v2.1.196 o versione successiva.

552 

545<h3 id="mantle-endpoint-errors">553<h3 id="mantle-endpoint-errors">

546 Errori dell'endpoint Mantle554 Errori dell'endpoint Mantle

547</h3>555</h3>

Details

24* **Claude for Teams o Enterprise**: accedete con l'account Claude.ai che l'amministratore del vostro team vi ha invitato a utilizzare.24* **Claude for Teams o Enterprise**: accedete con l'account Claude.ai che l'amministratore del vostro team vi ha invitato a utilizzare.

25* **Claude Console**: accedete con le vostre credenziali Console. L'amministratore deve avervi [invitato](#claude-console-authentication) prima.25* **Claude Console**: accedete con le vostre credenziali Console. L'amministratore deve avervi [invitato](#claude-console-authentication) prima.

26* **Provider cloud**: se la vostra organizzazione utilizza [Amazon Bedrock](/it/amazon-bedrock), [Google Vertex AI](/it/google-vertex-ai), o [Microsoft Foundry](/it/microsoft-foundry), impostate le variabili di ambiente richieste prima di eseguire `claude`. Non è necessario alcun accesso tramite browser.26* **Provider cloud**: se la vostra organizzazione utilizza [Amazon Bedrock](/it/amazon-bedrock), [Google Vertex AI](/it/google-vertex-ai), o [Microsoft Foundry](/it/microsoft-foundry), impostate le variabili di ambiente richieste prima di eseguire `claude`. Non è necessario alcun accesso tramite browser.

27* **Cloud gateway**: se la vostra organizzazione esegue un [gateway di app Claude](/it/claude-apps-gateway) auto-ospitato, accedete con SSO aziendale tramite `/login`. Il token emesso dal gateway è l'unica credenziale della sessione.

27 28 

28Per disconnettervi e autenticarvi di nuovo, digitate `/logout` al prompt di Claude Code.29Per disconnettervi e autenticarvi di nuovo, digitate `/logout` al prompt di Claude Code.

29 30 


37 38 

38* [Claude for Teams o Enterprise](#claude-for-teams-or-enterprise), consigliato per la maggior parte dei team39* [Claude for Teams o Enterprise](#claude-for-teams-or-enterprise), consigliato per la maggior parte dei team

39* [Claude Console](#claude-console-authentication)40* [Claude Console](#claude-console-authentication)

41* [Claude apps gateway](/it/claude-apps-gateway), un gateway auto-ospitato che consente ai sviluppatori di accedere con il vostro IdP e instrada l'inferenza al provider cloud che configurate

40* [Amazon Bedrock](/it/amazon-bedrock)42* [Amazon Bedrock](/it/amazon-bedrock)

41* [Google Vertex AI](/it/google-vertex-ai)43* [Google Vertex AI](/it/google-vertex-ai)

42* [Microsoft Foundry](/it/microsoft-foundry)44* [Microsoft Foundry](/it/microsoft-foundry)


131 * Su Windows, le credenziali sono archiviate in `%USERPROFILE%\.claude\.credentials.json` e ereditano i controlli di accesso della directory del profilo utente, che limita il file al Vostro account utente per impostazione predefinita.133 * Su Windows, le credenziali sono archiviate in `%USERPROFILE%\.claude\.credentials.json` e ereditano i controlli di accesso della directory del profilo utente, che limita il file al Vostro account utente per impostazione predefinita.

132 * Se avete impostato la variabile di ambiente `CLAUDE_CONFIG_DIR` su Linux o Windows, il file `.credentials.json` si trova in quella directory.134 * Se avete impostato la variabile di ambiente `CLAUDE_CONFIG_DIR` su Linux o Windows, il file `.credentials.json` si trova in quella directory.

133 * Claude Code gestisce `.credentials.json` attraverso `/login` e `/logout`. Per instradare le richieste attraverso un endpoint API personalizzato, impostate invece la variabile di ambiente [`ANTHROPIC_BASE_URL`](/it/env-vars).135 * Claude Code gestisce `.credentials.json` attraverso `/login` e `/logout`. Per instradare le richieste attraverso un endpoint API personalizzato, impostate invece la variabile di ambiente [`ANTHROPIC_BASE_URL`](/it/env-vars).

134* **Tipi di autenticazione supportati**: credenziali Claude.ai, credenziali API Claude, Azure Auth, Bedrock Auth, e Vertex Auth.136* **Tipi di autenticazione supportati**: credenziali Claude.ai, credenziali API Claude, Azure Auth, Bedrock Auth, Vertex Auth, e token di sessione del [gateway delle app Claude](/it/claude-apps-gateway).

135* **Script di credenziali personalizzati**: l'impostazione [`apiKeyHelper`](/it/settings#available-settings) può essere configurata per eseguire uno script shell che restituisce una chiave API.137* **Script di credenziali personalizzati**: l'impostazione [`apiKeyHelper`](/it/settings#available-settings) può essere configurata per eseguire uno script shell che restituisce una chiave API.

136* **Intervalli di aggiornamento**: per impostazione predefinita, `apiKeyHelper` viene chiamato dopo 5 minuti o in risposta a HTTP 401. Impostate la variabile di ambiente `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` per intervalli di aggiornamento personalizzati.138* **Intervalli di aggiornamento**: per impostazione predefinita, `apiKeyHelper` viene chiamato dopo 5 minuti o in risposta a HTTP 401. Impostate la variabile di ambiente `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` per intervalli di aggiornamento personalizzati.

137* **Avviso di helper lento**: se `apiKeyHelper` impiega più di 10 secondi per restituire una chiave, Claude Code visualizza un avviso nella barra del prompt mostrando il tempo trascorso. Se vedete questo avviso regolarmente, verificate se lo script di credenziali può essere ottimizzato.139* **Avviso di helper lento**: se `apiKeyHelper` impiega più di 10 secondi per restituire una chiave, Claude Code visualizza un avviso nella barra del prompt mostrando il tempo trascorso. Se vedete questo avviso regolarmente, verificate se lo script di credenziali può essere ottimizzato.


1515. Variabile di ambiente `CLAUDE_CODE_OAUTH_TOKEN`. Un token OAuth di lunga durata generato da [`claude setup-token`](#generate-a-long-lived-token). Utilizzatelo per pipeline CI e script dove l'accesso tramite browser non è disponibile.1535. Variabile di ambiente `CLAUDE_CODE_OAUTH_TOKEN`. Un token OAuth di lunga durata generato da [`claude setup-token`](#generate-a-long-lived-token). Utilizzatelo per pipeline CI e script dove l'accesso tramite browser non è disponibile.

1526. Credenziali OAuth di sottoscrizione da `/login`. Questo è il valore predefinito per gli utenti Claude Pro, Max, Team, ed Enterprise.1546. Credenziali OAuth di sottoscrizione da `/login`. Questo è il valore predefinito per gli utenti Claude Pro, Max, Team, ed Enterprise.

153 155 

156Una sessione del [gateway delle app Claude](/it/claude-apps-gateway) autenticata si trova al di fuori di questo elenco: è una selezione di provider come Bedrock o Vertex, e ha la precedenza su di essi. Quando esiste una sessione gateway, la CLI si autentica con il token gateway anche se `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, o `CLAUDE_CODE_USE_FOUNDRY` è impostato, e le voci bearer token, chiave API e `apiKeyHelper` sopra non vengono utilizzate.

157 

154Se avete una sottoscrizione Claude attiva ma avete anche `ANTHROPIC_API_KEY` impostato nel Vostro ambiente, la chiave API ha la precedenza una volta approvata. Questo può causare errori di autenticazione se la chiave appartiene a un'organizzazione disabilitata o scaduta. Eseguite `unset ANTHROPIC_API_KEY` per tornare alla Vostra sottoscrizione, e controllate `/status` per confermare quale metodo è attivo.158Se avete una sottoscrizione Claude attiva ma avete anche `ANTHROPIC_API_KEY` impostato nel Vostro ambiente, la chiave API ha la precedenza una volta approvata. Questo può causare errori di autenticazione se la chiave appartiene a un'organizzazione disabilitata o scaduta. Eseguite `unset ANTHROPIC_API_KEY` per tornare alla Vostra sottoscrizione, e controllate `/status` per confermare quale metodo è attivo.

155 159 

156[Claude Code sul Web](/it/claude-code-on-the-web) utilizza sempre le Vostre credenziali di sottoscrizione. `ANTHROPIC_API_KEY` e `ANTHROPIC_AUTH_TOKEN` nell'ambiente sandbox non le sovrascrivono.160[Claude Code sul Web](/it/claude-code-on-the-web) utilizza sempre le Vostre credenziali di sottoscrizione. `ANTHROPIC_API_KEY` e `ANTHROPIC_AUTH_TOKEN` nell'ambiente sandbox non le sovrascrivono.

Details

9[Auto mode](/it/permission-modes#eliminate-prompts-with-auto-mode) consente a Claude Code di funzionare senza prompt di autorizzazione instradando ogni chiamata di strumento attraverso un classificatore che blocca qualsiasi cosa irreversibile, distruttiva o rivolta al di fuori del tuo ambiente. Le regole di negazione e richiesta esplicita vengono valutate prima del classificatore e continuano comunque a bloccare o richiedere. Utilizza il blocco di impostazioni `autoMode` per comunicare al classificatore quali repository, bucket e domini la tua organizzazione ritiene affidabili, in modo che smetta di bloccare le operazioni interne di routine.9[Auto mode](/it/permission-modes#eliminate-prompts-with-auto-mode) consente a Claude Code di funzionare senza prompt di autorizzazione instradando ogni chiamata di strumento attraverso un classificatore che blocca qualsiasi cosa irreversibile, distruttiva o rivolta al di fuori del tuo ambiente. Le regole di negazione e richiesta esplicita vengono valutate prima del classificatore e continuano comunque a bloccare o richiedere. Utilizza il blocco di impostazioni `autoMode` per comunicare al classificatore quali repository, bucket e domini la tua organizzazione ritiene affidabili, in modo che smetta di bloccare le operazioni interne di routine.

10 10 

11<Note>11<Note>

12 Auto mode è disponibile a tutti gli utenti dell'API Anthropic. Su Amazon Bedrock, Google Cloud Vertex AI e Microsoft Foundry, devi prima [impostare `CLAUDE_CODE_ENABLE_AUTO_MODE`](/it/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry). Se Claude Code segnala che la modalità auto non è disponibile per il tuo account, controlla i [requisiti completi](/it/permission-modes#eliminate-prompts-with-auto-mode), che coprono anche i modelli supportati e l'abilitazione dell'amministratore sui piani Team ed Enterprise.12 Auto mode è disponibile a tutti gli utenti dell'API Anthropic. Su Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry e sessioni [gateway di app Claude](/it/claude-apps-gateway) con accesso, devi prima [impostare `CLAUDE_CODE_ENABLE_AUTO_MODE`](/it/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry). Se Claude Code segnala che la modalità auto non è disponibile per il tuo account, controlla i [requisiti completi](/it/permission-modes#eliminate-prompts-with-auto-mode), che coprono anche i modelli supportati e l'abilitazione del proprietario sui piani Team ed Enterprise.

13</Note>13</Note>

14 14 

15Immediatamente disponibile, il classificatore si fida solo della directory di lavoro e dei remote configurati del repository corrente. Azioni come il push verso l'organizzazione di controllo del codice sorgente della tua azienda o la scrittura in un bucket cloud del team vengono bloccate finché non le aggiungi a `autoMode.environment`.15Per impostazione predefinita, il classificatore si fida solo della directory di lavoro e dei remote configurati del repository corrente. Azioni come il push verso l'organizzazione di controllo del codice sorgente della tua azienda o la scrittura in un bucket cloud del team vengono bloccate finché non le aggiungi a `autoMode.environment`.

16 16 

17Per informazioni su come abilitare la modalità auto e cosa blocca per impostazione predefinita, consulta [Permission modes](/it/permission-modes#eliminate-prompts-with-auto-mode). Questa pagina è il riferimento di configurazione.17Per informazioni su come abilitare la modalità auto e cosa blocca per impostazione predefinita, consulta [Permission modes](/it/permission-modes#eliminate-prompts-with-auto-mode). Questa pagina è il riferimento di configurazione.

18 18 


21* [Scegliere dove impostare le regole](#where-the-classifier-reads-configuration) in CLAUDE.md, impostazioni utente e impostazioni gestite21* [Scegliere dove impostare le regole](#where-the-classifier-reads-configuration) in CLAUDE.md, impostazioni utente e impostazioni gestite

22* [Definire l'infrastruttura affidabile](#define-trusted-infrastructure) con `autoMode.environment`22* [Definire l'infrastruttura affidabile](#define-trusted-infrastructure) con `autoMode.environment`

23* [Sostituire le regole di blocco e autorizzazione](#override-the-block-and-allow-rules) quando i valori predefiniti non si adattano alla tua pipeline23* [Sostituire le regole di blocco e autorizzazione](#override-the-block-and-allow-rules) quando i valori predefiniti non si adattano alla tua pipeline

24* [Instradare tutti i comandi shell attraverso il classificatore](#route-all-shell-commands-through-the-classifier) con `autoMode.classifyAllShell`

24* [Ispezionare la tua configurazione effettiva](#inspect-the-defaults-and-your-effective-config) con i sottocomandi `claude auto-mode`25* [Ispezionare la tua configurazione effettiva](#inspect-the-defaults-and-your-effective-config) con i sottocomandi `claude auto-mode`

25* [Esaminare i rifiuti](#review-denials) in modo da sapere cosa aggiungere successivamente26* [Esaminare i rifiuti](#review-denials) in modo da sapere cosa aggiungere successivamente

26 27 


53 54 

54Per la maggior parte delle organizzazioni, `autoMode.environment` è l'unico campo che devi impostare. Comunica al classificatore quali repository, bucket e domini sono affidabili: il classificatore lo utilizza per decidere cosa significa "esterno", quindi qualsiasi destinazione non elencata è un potenziale bersaglio di esfiltrazione.55Per la maggior parte delle organizzazioni, `autoMode.environment` è l'unico campo che devi impostare. Comunica al classificatore quali repository, bucket e domini sono affidabili: il classificatore lo utilizza per decidere cosa significa "esterno", quindi qualsiasi destinazione non elencata è un potenziale bersaglio di esfiltrazione.

55 56 

56L'elenco di ambiente predefinito si fida del repository di lavoro e dei suoi remote configurati. Per aggiungere le tue voci insieme a quel valore predefinito, includi la stringa letterale `"$defaults"` nell'array. Le voci predefinite vengono inserite in quella posizione, quindi le tue voci personalizzate possono andare prima o dopo di esse.57A partire da Claude Code v2.1.195, `claude auto-mode defaults` stampa due tipi di voce di ambiente.

58 

59* **Trust slots**: denominano ciò che il classificatore tratta come interno al tuo confine. Gli slot sono Repository affidabile, Controllo del codice sorgente, Domini interni affidabili, Bucket cloud affidabili, Servizi interni chiave e Registro di pacchetti interno. Le voci di repository e controllo del codice sorgente predefinite sono il repository di lavoro e i suoi remote configurati. Ogni altro slot di fiducia predefinito è `None configured`, quindi nient'altro è affidabile finché non lo aggiungi.

60* **Sensitivity slots**: denominano ciò che le regole protettive trattano come ad alto rischio. Gli slot sono Posizioni PII / dati regolamentati, Bersagli remoti sensibili e Ambiti IaC protetti. Ognuno predefinito è un'euristica ampia, come trattare qualsiasi host o namespace il cui nome contiene `prod` o `production` come bersaglio remoto sensibile, quindi le regole protettive sono attive prima di configurare qualsiasi cosa. Denominare bersagli concreti in uno slot di sensibilità fa sì che quelle regole si applichino ai bersagli denominati invece dell'euristica.

61 

62Le versioni precedenti a v2.1.195 stampano solo i primi cinque slot di fiducia.

63 

64Per aggiungere le tue voci insieme ai valori predefiniti, includi la stringa letterale `"$defaults"` nell'array. Le voci predefinite vengono inserite in quella posizione, quindi le tue voci personalizzate possono andare prima o dopo di esse.

65 

66L'esempio seguente mantiene le voci predefinite e aggiunge i repository, i bucket, i domini e i servizi di un'organizzazione.

57 67 

58```json theme={null}68```json theme={null}

59{69{


76* **Provider cloud e bucket affidabili**: nomi di bucket o prefissi che Claude dovrebbe essere in grado di leggere e scrivere86* **Provider cloud e bucket affidabili**: nomi di bucket o prefissi che Claude dovrebbe essere in grado di leggere e scrivere

77* **Domini interni affidabili**: nomi host per API, dashboard e servizi all'interno della tua rete, come `*.internal.example.com`87* **Domini interni affidabili**: nomi host per API, dashboard e servizi all'interno della tua rete, come `*.internal.example.com`

78* **Servizi interni chiave**: CI, registri di artefatti, indici di pacchetti interni, strumenti di gestione degli incidenti88* **Servizi interni chiave**: CI, registri di artefatti, indici di pacchetti interni, strumenti di gestione degli incidenti

89* **Registro di pacchetti interno**: il registro npm, PyPI o altro privato attraverso il quale gli install dovrebbero instradare, in modo che gli install che lo bypassano per un registro pubblico vengano bloccati

90* **Posizioni PII / dati regolamentati**: i bucket, i database o i percorsi che contengono dati personali o regolamentati, in modo che il classificatore protegga quelle posizioni invece di indovinare dal contenuto

91* **Bersagli remoti sensibili**: gli spazi dei nomi, gli host o i container che contano come produzione, in modo che i shell remoti e i port-forward in essi richiedano la tua approvazione esplicita

92* **Ambiti IaC protetti**: le risorse di infrastruttura il cui apply o destroy dovrebbe sempre richiedere di denominare il cambiamento

79* **Contesto aggiuntivo**: vincoli del settore regolamentato, infrastruttura multi-tenant o requisiti di conformità che influiscono su ciò che il classificatore dovrebbe trattare come rischioso93* **Contesto aggiuntivo**: vincoli del settore regolamentato, infrastruttura multi-tenant o requisiti di conformità che influiscono su ciò che il classificatore dovrebbe trattare come rischioso

80 94 

95Le voci Registro di pacchetti interno, Posizioni PII / dati regolamentati, Bersagli remoti sensibili e Ambiti IaC protetti richiedono Claude Code v2.1.195 o successivo. Le versioni precedenti le leggono ancora come contesto semplice ma non hanno le regole incorporate che le prendono di mira.

96 

81Un modello di partenza utile: compila i campi tra parentesi e rimuovi le righe che non si applicano.97Un modello di partenza utile: compila i campi tra parentesi e rimuovi le righe che non si applicano.

82 98 

83```json theme={null}99```json theme={null}


102Non è necessario compilare tutto in una volta. Un rollout ragionevole: inizia con i valori predefiniti e aggiungi l'organizzazione di controllo del codice sorgente e i servizi interni chiave, che risolvono i falsi positivi più comuni come il push verso i tuoi repository. Aggiungi successivamente i domini affidabili e i bucket cloud. Compila il resto man mano che emergono i blocchi.118Non è necessario compilare tutto in una volta. Un rollout ragionevole: inizia con i valori predefiniti e aggiungi l'organizzazione di controllo del codice sorgente e i servizi interni chiave, che risolvono i falsi positivi più comuni come il push verso i tuoi repository. Aggiungi successivamente i domini affidabili e i bucket cloud. Compila il resto man mano che emergono i blocchi.

103 119 

104<h2 id="override-the-block-and-allow-rules">120<h2 id="override-the-block-and-allow-rules">

105 Sostituisci le regole di blocco e autorizzazione121 Sostituire le regole di blocco e autorizzazione

106</h2>122</h2>

107 123 

108Tre campi aggiuntivi ti permettono di sostituire gli elenchi di regole incorporati del classificatore: `autoMode.hard_deny` per i confini di sicurezza incondizionati, `autoMode.soft_deny` per le azioni distruttive che l'intento dell'utente può annullare, e `autoMode.allow` per le eccezioni. Ognuno è un array di descrizioni in prosa, lette come regole in linguaggio naturale. Per i blocchi duri basati su pattern di strumenti che vengono eseguiti prima del classificatore, utilizza [`permissions.deny`](/it/permissions).124Tre campi aggiuntivi ti permettono di sostituire gli elenchi di regole incorporate del classificatore:

125 

126* `autoMode.hard_deny`: confini di sicurezza incondizionati

127* `autoMode.soft_deny`: azioni distruttive che l'intento dell'utente può annullare

128* `autoMode.allow`: eccezioni alle regole di blocco soft

129 

130Ognuno è un array di descrizioni in prosa, lette come regole in linguaggio naturale. Per i blocchi duri basati su pattern di strumenti che vengono eseguiti prima del classificatore, utilizza [`permissions.deny`](/it/permissions).

109 131 

110All'interno del classificatore, la precedenza funziona in quattro livelli:132All'interno del classificatore, la precedenza funziona in quattro livelli:

111 133 


120 142 

121Per mantenere le regole incorporate mentre aggiungi le tue, includi la stringa letterale `"$defaults"` nell'array. Le regole predefinite vengono inserite in quella posizione, quindi le tue regole personalizzate possono andare prima o dopo di esse, e continui a ereditare gli aggiornamenti mentre l'elenco incorporato cambia tra le versioni.143Per mantenere le regole incorporate mentre aggiungi le tue, includi la stringa letterale `"$defaults"` nell'array. Le regole predefinite vengono inserite in quella posizione, quindi le tue regole personalizzate possono andare prima o dopo di esse, e continui a ereditare gli aggiornamenti mentre l'elenco incorporato cambia tra le versioni.

122 144 

145L'esempio seguente mantiene i valori predefiniti in tutti e quattro gli elenchi e aggiunge regole specifiche dell'organizzazione a ognuno.

146 

123```json theme={null}147```json theme={null}

124{148{

125 "autoMode": {149 "autoMode": {


146```170```

147 171 

148<Danger>172<Danger>

149 L'impostazione di uno qualsiasi di `environment`, `allow`, `soft_deny` o `hard_deny` senza `"$defaults"` sostituisce l'intero elenco predefinito per quella sezione. Un array `soft_deny` senza `"$defaults"` scarta ogni regola di blocco soft incorporata, inclusi force push, `curl | bash` e distribuzioni di produzione. Un array `hard_deny` senza `"$defaults"` scarta le regole incorporate di esfiltrazione dei dati e di bypass dei controlli di sicurezza.173 L'impostazione di uno qualsiasi di `environment`, `allow`, `soft_deny` o `hard_deny` senza `"$defaults"` sostituisce l'intero elenco predefinito per quella sezione. Un array `soft_deny` senza `"$defaults"` scarta ogni regola di blocco soft incorporata, inclusi force push, `curl | bash` e distribuzioni di produzione. Un array `hard_deny` senza `"$defaults"` scarta le regole incorporate di esfiltrazione dei dati e di bypass della modalità auto.

150</Danger>174</Danger>

151 175 

152Ogni sezione viene valutata indipendentemente, quindi l'impostazione di `environment` da sola lascia intatti gli elenchi predefiniti `allow`, `soft_deny` e `hard_deny`. Ometti `"$defaults"` solo quando intendi assumere la piena proprietà dell'elenco. Per farlo in modo sicuro, esegui `claude auto-mode defaults` per stampare le regole incorporate, copiale nel tuo file di impostazioni, quindi esamina ogni regola rispetto alla tua pipeline e tolleranza al rischio.176Ogni sezione viene valutata indipendentemente, quindi l'impostazione di `environment` da sola lascia intatti gli elenchi predefiniti `allow`, `soft_deny` e `hard_deny`. Ometti `"$defaults"` solo quando intendi assumere la piena proprietà dell'elenco. Per farlo in modo sicuro, esegui `claude auto-mode defaults` per stampare le regole incorporate, copiale nel tuo file di impostazioni, quindi esamina ogni regola rispetto alla tua pipeline e tolleranza al rischio.

153 177 

178<h2 id="route-all-shell-commands-through-the-classifier">

179 Instradare tutti i comandi shell attraverso il classificatore

180</h2>

181 

182Per impostazione predefinita, le regole di autorizzazione Bash e PowerShell strette come `Bash(npm test)` si trasportano nella modalità auto e si risolvono prima dell'esecuzione del classificatore. La modalità auto sospende solo le regole ampie che concedono l'esecuzione di codice arbitrario, come `Bash(*)` o interpreti con caratteri jolly. Ciò significa che una regola stretta può comunque far passare un argomento distruttivo senza che il classificatore lo veda, ad esempio un percorso di script o un flag che il prefisso della regola non ha anticipato.

183 

184Imposta `autoMode.classifyAllShell` su `true` per sospendere ogni regola di autorizzazione Bash e PowerShell mentre la modalità auto è attiva, in modo che il classificatore valuti ogni comando shell indipendentemente dal tuo elenco di autorizzazioni.

185 

186```json theme={null}

187{

188 "autoMode": {

189 "classifyAllShell": true

190 }

191}

192```

193 

194Questo scambia la latenza per la copertura: un comando che una regola di autorizzazione avrebbe approvato istantaneamente ora attende una decisione del classificatore, e ogni comando shell conta come una chiamata del classificatore.

195 

196L'impostazione si applica solo mentre la modalità auto è attiva, e le tue regole di autorizzazione si comportano normalmente in altre modalità di autorizzazione.

197 

198<Note>

199 `autoMode.classifyAllShell` richiede Claude Code v2.1.193 o successivo. Le versioni precedenti ignorano la chiave e continuano a trasportare le regole di autorizzazione shell strette nella modalità auto.

200</Note>

201 

154<h2 id="inspect-the-defaults-and-your-effective-config">202<h2 id="inspect-the-defaults-and-your-effective-config">

155 Ispeziona i valori predefiniti e la tua configurazione effettiva203 Ispezionare i valori predefiniti e la tua configurazione effettiva

156</h2>204</h2>

157 205 

158Tre sottocomandi CLI ti aiutano a ispezionare e convalidare la tua configurazione.206Tre sottocomandi CLI ti aiutano a ispezionare e convalidare la tua configurazione.


175claude auto-mode critique223claude auto-mode critique

176```224```

177 225 

178Esegui `claude auto-mode config` dopo aver salvato le tue impostazioni per confermare che le regole effettive sono quelle che ti aspetti, con `"$defaults"` espanso al suo posto. Se hai scritto regole personalizzate, `claude auto-mode critique` le esamina e contrassegna le voci che sono ambigue, ridondanti o probabilmente causeranno falsi positivi. Se hai bisogno di rimuovere o riscrivere una regola incorporata piuttosto che aggiungerne una accanto ad essa, salva l'output di `claude auto-mode defaults` in un file, modifica gli elenchi e incolla il risultato nel tuo file di impostazioni al posto di `"$defaults"`.226Esegui `claude auto-mode config` dopo aver salvato le tue impostazioni per confermare che le regole effettive sono quelle che ti aspetti, con `"$defaults"` espanso al suo posto. Se hai scritto regole personalizzate, `claude auto-mode critique` le esamina e contrassegna le voci che sono ambigue, ridondanti o probabilmente causeranno falsi positivi.

227 

228Se hai bisogno di rimuovere o riscrivere una regola incorporata piuttosto che aggiungerne una accanto ad essa, salva l'output di `claude auto-mode defaults` in un file, modifica gli elenchi e incolla il risultato nel tuo file di impostazioni al posto di `"$defaults"`.

179 229 

180<h2 id="review-denials">230<h2 id="review-denials">

181 Review denials231 Esaminare i rifiuti

182</h2>232</h2>

183 233 

184Quando la modalità auto nega una chiamata di strumento, il rifiuto viene registrato in `/permissions` nella scheda Recently denied. Premi `r` su un'azione negata per contrassegnarla per il retry: quando esci dalla finestra di dialogo, Claude Code invia un messaggio al modello dicendogli che può riprovare quella chiamata di strumento e riprende la conversazione.234Quando la modalità auto nega una chiamata di strumento, il rifiuto viene registrato in `/permissions` nella scheda Recently denied. Premi `r` su un'azione negata per contrassegnarla per il retry: quando esci dalla finestra di dialogo, Claude Code invia un messaggio al modello dicendogli che può riprovare quella chiamata di strumento e riprende la conversazione.

185 235 

236In Claude Code v2.1.193 e successivo, il motivo del classificatore per ogni rifiuto appare accanto alla chiamata di strumento bloccata nella trascrizione, nella notifica di rifiuto e sotto ogni voce nella scheda Recently denied. Utilizza il motivo per decidere se la correzione è una voce `environment`, un'eccezione `allow` o un retry con intento esplicito nel tuo prossimo messaggio.

237 

186I rifiuti ripetuti per la stessa destinazione di solito significano che il classificatore manca di contesto. Aggiungi quella destinazione a `autoMode.environment`, quindi esegui `claude auto-mode config` per confermare che ha avuto effetto.238I rifiuti ripetuti per la stessa destinazione di solito significano che il classificatore manca di contesto. Aggiungi quella destinazione a `autoMode.environment`, quindi esegui `claude auto-mode config` per confermare che ha avuto effetto.

187 239 

188Per reagire ai rifiuti a livello di programmazione, utilizza l'[hook `PermissionDenied`](/it/hooks#permissiondenied).240Per reagire ai rifiuti a livello di programmazione, utilizza l'[hook `PermissionDenied`](/it/hooks#permissiondenied).

claude-apps-gateway-config.md +749 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Configurazione del gateway delle app Claude

6 

7> Riferimento per ogni opzione di gateway.yaml: listener e TLS, OIDC, sessione, archivio Postgres, upstream Bedrock/Agent Platform/Foundry, routing dei modelli, criteri gestiti e telemetria.

8 

9Una distribuzione del gateway delle app Claude è configurata da un file YAML, convenzionalmente `gateway.yaml`. Il file definisce tutto ciò che il gateway fa: dove ascolta, come gli sviluppatori accedono, dove va l'inferenza e quali criteri e telemetria si applicano. Questa pagina è il riferimento per ogni opzione in quel file. Per scrivere il vostro primo file, iniziate dalla [guida rapida](/it/claude-apps-gateway#quickstart), che crea una configurazione minima funzionante e la esegue; una volta che avete una configurazione con cui siete soddisfatti, la [guida alla distribuzione](/it/claude-apps-gateway-deploy) copre la containerizzazione e l'hosting su Kubernetes, Cloud Run o la vostra piattaforma.

10 

11Il gateway legge il file una volta, all'avvio, con `claude gateway --config /path/to/gateway.yaml`. Ogni opzione è convalidata rispetto a uno schema all'avvio, quindi una configurazione malformata non riesce all'inizio con un errore a livello di campo piuttosto che al primo utilizzo.

12 

13L'[esempio completo](#complete-example) alla fine di questa pagina esercita ogni sezione.

14 

15<h2 id="file-structure">

16 Struttura del file

17</h2>

18 

19Cinque sezioni sono [obbligatorie](#required-sections). Ogni altra sezione è [facoltativa](#optional-sections) e una sezione omessa assume i suoi valori predefiniti. Le chiavi sconosciute causano un errore all'avvio, quindi un errore di battitura emerge come errore denominato piuttosto che come impostazione ignorata silenziosamente.

20 

21**Sezioni obbligatorie:**

22 

23* [`listen`](#listen): indirizzo di binding, URL pubblico, terminazione TLS

24* [`oidc`](#oidc): il vostro provider di identità (IdP), inclusi emittente, client, mappatura dei claim e chi può accedere

25* [`session`](#session): i token bearer che il gateway conia, con segreto e durata

26* [`store`](#store): PostgreSQL, per le concessioni dei dispositivi e i contatori dei limiti di velocità

27* [`upstreams`](#upstreams): dove va l'inferenza, sia Anthropic, Bedrock, Agent Platform o Foundry

28 

29**Sezioni facoltative:**

30 

31* [`admin`](#admin): autenticazione dell'API Admin e conservazione dei limiti di spesa

32* [`enforcement`](#enforcement): comportamento fail-open o fail-closed dei limiti di spesa

33* [`models`](#models) e `auto_include_builtin_models`: elenco di modelli curato dall'amministratore e ID per upstream

34* [`managed`](#managed): politiche di impostazioni gestite per gruppo IdP

35* [`telemetry`](#telemetry): inoltro OTLP al vostro stack di osservabilità

36* [`access_control`, `limits`, `timeouts`, `rate_limits`](#http-tuning): IP allow/deny, limiti di dimensione delle richieste, time-to-first-byte upstream e limiti di accesso per IP

37 

38<h2 id="secret-expansion">

39 Espansione dei segreti

40</h2>

41 

42Non scrivete segreti come `client_secret`, `jwt_secret` o `postgres_url` direttamente in `gateway.yaml`. Fate riferimento ad essi con uno dei moduli sottostanti e il gateway risolve il valore all'avvio da una variabile di ambiente o da un file:

43 

44| Modulo | Si risolve in | Usare per |

45| --------------- | ----------------------------------------------------------------- | -------------------------------------------------------------------------------- |

46| `${VAR}` | La variabile di ambiente `VAR`. L'avvio fallisce se non definita. | Variabili di ambiente del contenitore, AWS Secrets Manager tramite iniezione env |

47| `${file:/path}` | Contenuti del file, ritagliati | Montaggi di volumi Kubernetes Secret, Vault Agent, SOPS |

48 

49<h2 id="required-sections">

50 Sezioni obbligatorie

51</h2>

52 

53<h3 id="listen">

54 `listen`

55</h3>

56 

57Il blocco `listen` controlla dove il gateway serve: l'indirizzo di binding e la porta, l'origine visibile esternamente e la terminazione TLS facoltativa.

58 

59| Campo | Obbligatorio | Descrizione |

60| ---------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

61| `host` | No | Indirizzo di binding. Predefinito `0.0.0.0`. |

62| `port` | No | Porta di binding. Predefinito `8080`. |

63| `public_url` | Dietro un proxy | L'origine `https://` visibile esternamente, utilizzata per costruire il `redirect_uri` dell'IdP e i metadati di scoperta. Obbligatorio dietro qualsiasi proxy che termina TLS come un ALB, Ingress o Cloud Run, perché il gateway non si fida degli header `X-Forwarded-*` quando costruisce la sua stessa origine; sono falsificabili dal client. `trusted_proxies` di seguito governa solo la risoluzione dell'IP del client. Obbligatorio anche per abilitare la [telemetria](#telemetry), perché il gateway costruisce l'endpoint OTLP che spinge ai client da questo URL. |

64| `tls.cert` / `tls.key` | No | Percorsi PEM se il gateway termina TLS stesso |

65| `trusted_proxies` | No | CIDR o IP dei load balancer davanti al gateway. Quando impostato, il gateway si fida di `X-Forwarded-For` solo da questi peer e registra l'IP client reale per il rate limiting per IP e l'audit. Equivalente a nginx `set_real_ip_from`. |

66 

67<h3 id="oidc">

68 `oidc`

69</h3>

70 

71OpenID Connect (OIDC) è il protocollo SSO che il gateway utilizza con il vostro provider di identità; vedere [Configurazione del provider di identità](/it/claude-apps-gateway-deploy#identity-provider-setup) per ciò che registrare sul lato IdP. Il blocco `oidc` connette il gateway al vostro provider di identità e decide chi può accedere. Nomina l'emittente e il client OAuth, mappa i claim che portano email e gruppi e limita l'accesso per dominio email o gruppo.

72 

73| Campo | Obbligatorio | Descrizione |

74| ------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

75| `issuer` | Sì | Base di scoperta OIDC. Deve servire la scoperta su `/.well-known/openid-configuration`. Usate HTTPS in produzione; il gateway accetta un emittente `http://`. Un emittente loopback come `http://localhost:8081` è rifiutato dalla [guardia SSRF](/it/claude-apps-gateway-deploy#threat-model-summary) a meno che `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` non sia impostato nell'ambiente del gateway. |

76| `client_id` / `client_secret` | Sì | Dalla vostra registrazione del client OAuth |

77| `allowed_email_domains` | No | Rifiutate i token id i cui claim `email` non sono in uno di questi domini, case-insensitive. Difesa in profondità contro la misconfiguration dell'IdP multi-tenant. Indipendentemente da questa impostazione, un id\_token il cui claim `email_verified` è esplicitamente `false` è sempre rifiutato. |

78| `allowed_groups` | No | Limitate l'accesso ai membri di questi gruppi IdP, abbinati rispetto a `groups_claim`. Un utente in un dominio email consentito ma in nessuno di questi gruppi è rifiutato. Richiede che l'IdP emetta il claim dei gruppi. |

79| `groups_claim` | No | Quale claim id\_token porta l'appartenenza al gruppo. Predefinito `groups`. Microsoft Entra emette i ruoli dell'app sotto `roles`. Accetta una chiave flat o un JSON Pointer RFC 6901 come `/resource_access/gateway/roles` per i claim annidati. |

80| `google_groups` | No | Cercate i gruppi dell'utente che ha effettuato l'accesso tramite l'API Google Workspace Admin SDK Directory, perché il token id di Google non porta alcun claim di gruppi. Impostate `service_account_json_path` su un file di chiave dell'account di servizio con delega a livello di dominio sull'ambito `https://www.googleapis.com/auth/admin.directory.group.readonly` e `admin_email` su un amministratore di Workspace che l'account di servizio rappresenta; l'API Directory richiede un soggetto amministratore reale. Gli indirizzi email dei gruppi di ogni utente diventano il loro claim di gruppi, quindi `allowed_groups` e `managed.policies.match.groups` corrispondono agli indirizzi email dei gruppi. |

81| `email_claim` | No | Quale claim id\_token porta l'email dell'utente. Predefinito `email`. Alcuni IdP, come ADFS ed Entra B2C, emettono `upn` o `preferred_username` invece. Accetta una chiave flat, un JSON Pointer o un elenco di chiavi di fallback dove viene utilizzata la prima chiave presente. |

82| `scopes` | No | Override completo degli ambiti OIDC che il gateway richiede. Predefinito `[openid, profile, email, offline_access]`. Impostate quando il vostro IdP rifiuta gli ambiti che non riconosce o richiede un ambito personalizzato per emettere gruppi o email. Deve includere `openid`. Eliminare `offline_access` disabilita i token di aggiornamento, quindi gli sviluppatori rieseguono l'accesso al browser ogni `session.ttl_hours`. Vedere [Configurazione del provider di identità](/it/claude-apps-gateway-deploy#identity-provider-setup) per ricette di ambito per IdP come il flusso di token di aggiornamento di Google. |

83| `extra_auth_params` | No | Parametri di query extra aggiunti alla richiesta di autorizzazione dell'IdP, verbatim. Questo è il meccanismo di override per il comportamento specifico dell'IdP, come `access_type: offline` per i token di aggiornamento di Google, `domain_hint` per alcuni tenant Entra o `acr_values` per i flussi step-up. Non può sovrascrivere i parametri del protocollo gestiti dal gateway: `state`, `nonce`, `redirect_uri`, PKCE, `scope`, `response_type`, `response_mode` e `client_id`. |

84| `userinfo_fallback` | No | Quando l'id\_token omette email o gruppi, recuperateli da `/userinfo`. Necessario per i token di accesso leggeri di Keycloak, il server org di Okta e i token minimi di ADFS. L'id\_token rimane autorevole; userinfo riempie solo i vuoti. Predefinito `false`. |

85| `use_pkce` | No | Inviate una sfida PKCE (S256) sulla richiesta di autorizzazione. Predefinito `true`. Impostate `false` solo se il vostro IdP rifiuta PKCE per questo client confidenziale. |

86| `clock_skew_seconds` | No | Tollerare la deriva dell'orologio quando si convalidano i claim temporali dell'id\_token. Predefinito `0`, che è rigoroso. Aumentate se vedete errori "token scaduto / non ancora valido" subito dopo l'accesso a causa della deriva dell'orologio host/IdP. |

87| `token_endpoint_auth_method` | No | Override del metodo di autenticazione dell'endpoint del token. Accetta `client_secret_basic` o `client_secret_post`. Negoziato automaticamente per impostazione predefinita. |

88| `id_token_signed_response_alg` | No | Algoritmo di firma id\_token previsto. Predefinito `RS256`. Impostate per gli IdP che firmano con ES256, PS256 o EdDSA. |

89| `additional_authorized_parties` | No | Valori `azp` extra da accettare oltre a `client_id`, per i flussi di broker e scambio di token di Keycloak |

90| `discovery_url` | No | Recuperate il documento di scoperta da questo URL invece di derivarlo da `issuer`, per gli IdP dietro un proxy che riscrive l'host dell'emittente. Il percorso deve contenere `/.well-known/`. |

91| `form_action_origins` | No | Origini aggiuntive per la direttiva `Content-Security-Policy: form-action` della pagina `/device`. Il gateway consente già `'self'` e l'origine dell'`authorization_endpoint` scoperta, ma Chrome applica `form-action` all'intera catena di reindirizzamento. Se il vostro IdP reindirizza attraverso un secondo host, come Azure AD federato ad ADFS, Okta hub-spoke o un intercettore SSO aziendale, elencate ogni origine attraverso cui la richiesta di autorizzazione può reindirizzare. |

92| `ca_cert_pem` | No | Certificato CA PEM che sostituisce l'archivio di fiducia del sistema solo per le richieste IdP. Usate per Keycloak o Dex dietro PKI aziendale. |

93 

94<h3 id="session">

95 `session`

96</h3>

97 

98Il blocco `session` modella i token bearer che il gateway conia dopo l'accesso: il segreto che li firma e quanto a lungo vivono.

99 

100| Campo | Obbligatorio | Descrizione |

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

102| `jwt_secret` | Sì | Almeno 32 byte di entropia, ad esempio da `openssl rand -base64 32`. Firma i token bearer HS256 del gateway. Accetta una singola stringa o un array per la rotazione: l'indice 0 firma e tutte le voci verificano. Per ruotare, antepone un nuovo segreto, attendi `ttl_hours`, quindi elimina quello vecchio. |

103| `ttl_hours` | No | Durata del token bearer del gateway. Predefinito `1`. La CLI aggiorna silenziosamente prima della scadenza quando l'IdP emette token di aggiornamento. Una durata più breve deprovvede più velocemente; una più lunga fa meno round-trip IdP. Se il vostro IdP non può emettere token di aggiornamento perché `offline_access` non è disponibile, non c'è aggiornamento silenzioso, quindi aumentate a `8` o `12` per evitare di rimandare gli sviluppatori all'accesso al browser ogni ora. |

104 

105<h3 id="store">

106 `store`

107</h3>

108 

109Il blocco `store` punta il gateway al suo database PostgreSQL, che contiene le concessioni dei dispositivi e i contatori dei limiti di velocità.

110 

111| Campo | Obbligatorio | Descrizione |

112| ----------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

113| `postgres_url` | Sì | URL `postgres://` o `postgresql://`. Obbligatorio: il rendezvous della concessione del dispositivo, dove il callback del browser scrive e la CLI di polling legge, ha bisogno di uno stato cross-replica. Il gateway esegue le sue migrazioni dello schema all'avvio, quindi il ruolo ha bisogno di `CREATE TABLE` sullo schema di destinazione. Se la vostra politica di sicurezza proibisce DDL dal ruolo dell'applicazione, eseguite le migrazioni con un ruolo admin, inizialmente e di nuovo ogni volta che una nuova versione spedisce migrazioni, e concedete al ruolo dell'app `SELECT, INSERT, UPDATE, DELETE` sulle tabelle del gateway. Vedere [Aggiornamenti](/it/claude-apps-gateway-deploy#upgrades) e [Postgres](/it/claude-apps-gateway-deploy#postgres). |

114| `username` | No | Sovrascrive l'utente in `postgres_url` |

115| `password` | No | Credenziale del database. Impostatela qui piuttosto che in `postgres_url` in modo che la credenziale rimanga fuori dall'URL. Accetta qualsiasi carattere e ha la precedenza sulle credenziali dell'URL. |

116| `max_connections` | No | Dimensione del pool di connessioni Postgres per replica. Predefinito `5`, che è conservativo e amichevole ai database condivisi. Con i [limiti di spesa](#admin) abilitati, il percorso caldo esegue alcune operazioni per richiesta di inferenza, quindi aumentatelo per un database dedicato sotto carico e mantenete repliche × questo sotto il `max_connections` del database. |

117 

118Per lo sviluppo locale, puntate `postgres_url` a un contenitore Postgres usa e getta, ad esempio `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.

119 

120<h3 id="upstreams">

121 `upstreams`

122</h3>

123 

124`upstreams` è un elenco ordinato. Il gateway inoltra l'inferenza al primo upstream che risolve il modello richiesto. Su `5xx`, `429` o timeout esegue il failover al successivo; altri `4xx` no, perché questi errori sono attribuibili alla richiesta piuttosto che all'upstream. Più upstream dello stesso provider devono impostare un `name:` distinto.

125 

126I client Bedrock, Agent Platform e Foundry sono costruiti una volta all'avvio e i loro SDK aggiornano le credenziali internamente, quindi la rotazione delle credenziali cloud non richiede un riavvio. Le chiavi API Anthropic statiche e i bearer sono letti all'avvio; vedere [API Anthropic](#anthropic-api).

127 

128<h4 id="anthropic-api">

129 API Anthropic

130</h4>

131 

132L'upstream Anthropic minimo è una chiave API dalla [Console Claude](https://platform.claude.com):

133 

134```yaml theme={null}

135upstreams:

136 - provider: anthropic

137 auth:

138 api_key: ${ANTHROPIC_API_KEY}

139 # OR an OAuth bearer (e.g. a Workload-Identity-Federation-exchanged token):

140 # oauth_token: ${file:/var/run/secrets/anthropic-oauth-token}

141 # base_url: https://api.anthropic.com # default; override for a forward proxy

142```

143 

144Le due forme di credenziale differiscono nell'header che inviano:

145 

146* **`api_key`**: invia `x-api-key`. Ruotatela nella Console Claude e aggiornate la variabile env.

147* **`oauth_token`**: invia `Authorization: Bearer`. Usate la forma bearer quando la vostra organizzazione emette token a breve durata invece di chiavi API a lunga durata. Il bearer è letto una volta all'avvio, quindi aggiornate rimontando il segreto e riavviando.

148 

149Invece di una chiave statica o un bearer, potete usare Workload Identity Federation. Create una regola di federazione seguendo la [guida Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation), quindi montate il JWT OIDC del vostro carico di lavoro come file, come un token dell'account di servizio proiettato di Kubernetes o un id-token della piattaforma CI. Il gateway scambia il JWT per un bearer a breve durata e lo aggiorna automaticamente. Il file del token viene riletto ad ogni scambio, quindi i token proiettati ruotati vengono ripresi senza un riavvio.

150 

151```yaml theme={null}

152upstreams:

153 - provider: anthropic

154 auth:

155 federation_rule_id: ${ANTHROPIC_FEDERATION_RULE_ID}

156 organization_id: ${ANTHROPIC_ORGANIZATION_ID}

157 identity_token_file: /var/run/secrets/anthropic/id-token

158 # workspace_id: wrkspc_... # required if the rule covers >1 workspace

159 # service_account_id: svac_... # optional expected-target check

160```

161 

162<h4 id="amazon-bedrock">

163 Amazon Bedrock

164</h4>

165 

166Per la distribuzione Bedrock lato client che il gateway sostituisce o fronteggia, vedere [Claude Code su Amazon Bedrock](/it/amazon-bedrock). L'upstream lato gateway:

167 

168```yaml theme={null}

169upstreams:

170 - provider: bedrock

171 region: us-east-1

172 auth: {} # preferred: AWS default credential chain

173 # OR explicit credentials:

174 # auth:

175 # aws_access_key_id: ${AWS_AKID}

176 # aws_secret_access_key: ${AWS_SK}

177 # aws_session_token: ${AWS_ST}

178 # OR a Bedrock API bearer token:

179 # auth:

180 # aws_bearer_token: ${AWS_BEARER_TOKEN}

181 # Override the bedrock-runtime endpoint for FIPS or VPC-endpoint deployments:

182 # base_url: https://bedrock-runtime-fips.us-east-1.amazonaws.com

183```

184 

185Un blocco `auth` vuoto usa la catena di credenziali predefinita dell'AWS SDK: variabili env, `~/.aws/credentials`, ruolo di attività ECS, metadati dell'istanza EC2 o IRSA su EKS. In produzione, date al pod del gateway un ruolo IAM invece di incorporare chiavi statiche in un'immagine del contenitore.

186 

187| Configurazione | Come |

188| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

189| Autorizzazioni IAM | Concedete al principale del gateway `bedrock:InvokeModel` e `bedrock:InvokeModelWithResponseStream` sia sugli ARN del profilo di inferenza che sugli ARN del modello di fondazione sottostante. Per il catalogo integrato nelle regioni US: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` e `arn:aws:bedrock:*::foundation-model/anthropic.*`. |

190| Accesso al modello | Nella console Bedrock, per regione, richiedete e abilitate l'accesso al modello per i modelli Claude che desiderate. I profili di inferenza cross-region (`us.anthropic.*`) richiedono l'accesso al modello in ogni regione che il profilo copre. |

191| EKS (IRSA) | Create un ruolo IAM con la politica sopra e una politica di fiducia per il provider OIDC del vostro cluster limitato all'account di servizio del gateway. Annotate l'account di servizio con `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`. `auth: {}` lo raccoglie. |

192| ECS / EC2 | Allegate il ruolo IAM alla definizione dell'attività o al profilo dell'istanza. `auth: {}` lo raccoglie. |

193| Altrove | Passate le credenziali tramite le variabili env `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` e `AWS_SESSION_TOKEN`, o impostatele esplicitamente in `auth:` con l'espansione `${VAR}` |

194| Regione | `region:` è la regione dell'endpoint API. I profili di inferenza cross-region instradano attraverso la geo (US, EU, APAC) indipendentemente da quale scegliete. Per le regioni non-US o gli ARN di throughput provisioned, aggiungete un blocco [`models:`](#models) con gli ID per upstream corretti. |

195 

196<h4 id="google-cloud-agent-platform">

197 Google Cloud Agent Platform

198</h4>

199 

200Per la configurazione equivalente lato client, vedere [Claude Code su Google Cloud](/it/google-vertex-ai). L'upstream lato gateway:

201 

202```yaml theme={null}

203upstreams:

204 - provider: vertex

205 region: us-east5

206 project_id: example-prod

207 auth: {} # preferred: Application Default Credentials

208 # OR a service account key file:

209 # auth: { service_account_json: /secrets/sa.json }

210 # Override the aiplatform endpoint for Private Service Connect:

211 # base_url: https://us-east5-aiplatform.p.googleapis.com

212```

213 

214Un blocco `auth` vuoto usa Application Default Credentials: `GOOGLE_APPLICATION_CREDENTIALS`, metadati GCE o GKE Workload Identity. I file di chiave JSON dell'account di servizio sono supportati ma sconsigliati; usate Workload Identity o allegate un account di servizio all'istanza GCE o Cloud Run.

215 

216Impostate `region: global` per usare l'[endpoint globale di Agent Platform](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) invece di uno regionale. Google quindi instrada ogni richiesta a una regione disponibile, quindi non tracciate la disponibilità del modello per regione. L'impostazione di una regione specifica fissa ogni richiesta ad essa.

217 

218| Configurazione | Come |

219| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

220| Autorizzazioni IAM | Concedete all'account di servizio del gateway `roles/aiplatform.user` sul progetto, o un ruolo personalizzato con `aiplatform.endpoints.predict`. Abilitate l'API Agent Platform (`aiplatform.googleapis.com`). |

221| Accesso al modello | In Model Garden, abilitate i modelli Claude per il vostro progetto. Pubblicano in regioni specifiche; controllate la scheda del modello per le regioni supportate. |

222| GKE (Workload Identity) | Legate un account di servizio GCP all'account di servizio Kubernetes del gateway e annotate il KSA con `iam.gke.io/gcp-service-account: claude-gateway@<proj>.iam.gserviceaccount.com`. `auth: {}` lo raccoglie. |

223| Cloud Run / GCE | Impostate l'account di servizio del servizio su uno con `roles/aiplatform.user`. `auth: {}` lo raccoglie. |

224| Altrove | `auth: { service_account_json: /secrets/sa.json }`, il percorso a un file di chiave JSON montato come segreto. Il campo accetta un percorso di file, non i contenuti della chiave, quindi non è coinvolta alcuna espansione `${file:…}`. |

225 

226<h4 id="microsoft-foundry">

227 Microsoft Foundry

228</h4>

229 

230Per la distribuzione Foundry lato client, vedere [Claude Code su Microsoft Foundry](/it/microsoft-foundry). L'upstream lato gateway:

231 

232```yaml theme={null}

233upstreams:

234 - provider: foundry

235 resource: example-foundry # https://example-foundry.services.ai.azure.com

236 auth: { use_azure_ad: true } # preferred: DefaultAzureCredential / Managed Identity

237 # OR an API key:

238 # auth:

239 # api_key: ${FOUNDRY_API_KEY}

240```

241 

242`use_azure_ad: true` si risolve tramite `DefaultAzureCredential`: Managed Identity su AKS, ACI o App Service; l'Azure CLI o le credenziali di ambiente. Le chiavi API funzionano ma sono a livello di progetto e non ruotano automaticamente. L'endpoint di Foundry è derivato da `resource:`; impostate l'`base_url` facoltativo per sovrascriverlo per cloud sovrani come Azure Government.

243 

244| Configurazione | Come |

245| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

246| RBAC | Concedete all'identità del gateway `Azure AI User` o `Cognitive Services User` sulla risorsa Foundry |

247| Distribuzioni | Foundry usa nomi di distribuzione scelti dall'amministratore, non ID di modello canonici. Aggiungete un blocco [`models:`](#models) che mappa ogni ID canonico al vostro nome di distribuzione. |

248| AKS (workload identity) | Federate un'Identità Gestita Assegnata dall'Utente con l'emittente OIDC del cluster e legatela all'account di servizio del gateway. `use_azure_ad: true` lo raccoglie tramite `WorkloadIdentityCredential`. |

249| ACI / App Service | Abilitate l'identità gestita assegnata dal sistema o assegnata dall'utente sulla risorsa. `use_azure_ad: true` lo raccoglie. |

250| Altrove | `auth: { api_key: "${FOUNDRY_API_KEY}" }`. Quotate `${…}` dentro `{ }`. |

251 

252<h4 id="multiple-upstreams">

253 Più upstream

254</h4>

255 

256Lo stesso provider può apparire più di una volta con un `name:` distinto. Questo copre regioni diverse, account diversi tramite catene di credenziali diverse, throughput provisioned rispetto a on-demand e failover cross-provider.

257 

258Il gateway prova gli upstream in ordine. `5xx`, `429`, timeout e endpoint mancante (`501`) eseguono il failover; altri `4xx` no. `429` è capacità per upstream, quindi l'esaurimento del throughput provisioned (PT) esegue il failover a on-demand. Un upstream che non può risolvere il modello richiesto viene saltato senza un round-trip di rete.

259 

260Questo esempio instrada un'allocazione Bedrock di throughput provisioned per primo, trabocca a on-demand e un secondo account e ricade all'API Anthropic per ultimo:

261 

262```yaml theme={null}

263upstreams:

264 # Primary: provisioned throughput in your home region.

265 - name: bedrock-pt

266 provider: bedrock

267 region: us-east-1

268 auth: {}

269 # Overflow: on-demand cross-region.

270 - name: bedrock-od

271 provider: bedrock

272 region: us-west-2

273 auth: {}

274 # Different account: a separate Bedrock allotment via assumed-role creds.

275 - name: bedrock-acct2

276 provider: bedrock

277 region: us-east-1

278 auth:

279 aws_access_key_id: ${ACCT2_AKID}

280 aws_secret_access_key: ${ACCT2_SK}

281 # Last resort: direct Anthropic API.

282 - name: anthropic-fallback

283 provider: anthropic

284 auth:

285 api_key: ${ANTHROPIC_API_KEY}

286 

287# Per-upstream model IDs are keyed on the upstream's `name:`; an upstream

288# without a `name:` defaults to its provider string (e.g. `bedrock`). Any

289# upstream not listed for a model is skipped, which is how you route a model

290# to provisioned throughput while everything else stays on-demand.

291models:

292 - id: claude-opus-4-8

293 label: Claude Opus 4.8

294 upstream_model:

295 bedrock-pt: arn:aws:bedrock:us-east-1:111111111111:provisioned-model/abcdef

296 bedrock-od: us.anthropic.claude-opus-4-8

297 bedrock-acct2: us.anthropic.claude-opus-4-8

298 anthropic-fallback: claude-opus-4-8

299```

300 

301| Leva | Come |

302| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

303| Regioni diverse | Un upstream Bedrock per regione, ciascuno con la sua `region:`. Con [`auto_include_builtin_models: true`](#models) i profili di inferenza cross-region instradano automaticamente; per distribuzioni fissate per regione usate un blocco `models:`. |

304| Account diversi | Un upstream Bedrock per account, ciascuno con le sue credenziali in `auth:`. La catena predefinita (`auth: {}`) usa l'identità del pod; per un secondo account, impostate credenziali esplicite o un token bearer. |

305| Throughput provisioned | Mappate il modello all'ARN di throughput provisioned in `models:` per il nome di quell'upstream. Gli altri upstream mantengono l'ID on-demand, quindi la capacità PT è esaurita prima del failover. |

306| Endpoint VPC / FIPS | Impostate `base_url:` sull'upstream al vostro URL di endpoint VPC o FIPS |

307| Instradamento scoped al modello | Omettete un upstream dalla mappa `upstream_model:` di un modello e quell'upstream viene saltato per quel modello. Ad esempio, instradare Opus al throughput provisioned e Sonnet e Haiku a on-demand. |

308 

309Il failover tra provider cloud o all'API Anthropic diretto cambia quale accordo, geografia e altri termini governano la richiesta.

310 

311La CLI applica lo stesso feature gating ai gateway indipendentemente da quale upstream serve una data richiesta, quindi il failover non invia un campo del corpo che un upstream rifiuterebbe.

312 

313<h2 id="optional-sections">

314 Sezioni facoltative

315</h2>

316 

317<h3 id="admin">

318 `admin`

319</h3>

320 

321Facoltativo. Abilita `/v1/organizations/spend_limits`, che rispecchia l'API Admin pubblica di Anthropic, e l'applicazione della spesa per sviluppatore su `/v1/messages`. Vedere [Limiti di spesa](/it/claude-apps-gateway-spend-limits) per come i cap sono impostati e applicati; questa sezione copre le chiavi `gateway.yaml` che attivano la funzione e la sintonizzano.

322 

323```yaml theme={null}

324admin:

325 # Named static API keys for the admin endpoints, sent as x-api-key.

326 # The id appears in the audit log as admin-key:<id> so each key is

327 # attributable. Array for rotation: add the new key, roll clients,

328 # remove the old.

329 write_keys:

330 - { id: terraform, key: "${GATEWAY_ADMIN_WRITE_KEY_TF}" }

331 - { id: ci, key: "${GATEWAY_ADMIN_WRITE_KEY_CI}" }

332 read_keys:

333 - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }

334 # IdP groups granted full admin via the normal gateway JWT (no API key).

335 admin_groups: [platform-finops]

336 blocked_message: request an increase at https://go.example.com/claude-limits

337```

338 

339| Campo | Obbligatorio | Descrizione |

340| ------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

341| `write_keys` | No | Array di `{id, key}`. Un `x-api-key` che corrisponde a uno di questi può elencare, impostare ed eliminare i limiti di spesa. I valori delle chiavi devono essere almeno 32 caratteri; gli `id` devono essere univoci tra `read_keys` e `write_keys`. |

342| `read_keys` | No | Array di `{id, key}`. Sola lettura: ogni endpoint `GET`, incluso l'elenco dei cap, il recupero di uno per ID e la lettura di [`/effective`](/it/claude-apps-gateway-spend-limits#%2Feffective) e [`/audit`](/it/claude-apps-gateway-spend-limits#%2Faudit). |

343| `admin_groups` | No | Nomi di gruppi IdP. Un gateway JWT il cui claim `groups` include uno di questi ha accesso admin completo, lettura e scrittura, e audit come `oidc:<sub>`. Usate questo per gli amministratori umani; usate le chiavi API per le macchine. |

344| `blocked_message` | No | Aggiunto verbatim al `429 billing_error` che uno sviluppatore bloccato vede. Scrivete l'intera istruzione, come un URL o un canale Slack. Non impostato, l'errore è `spend limit reached`. |

345| `audit_retention_days` | No | Predefinito `365`. Le righe `admin_audit` più vecchie vengono spazzate. |

346| `spend_retention_months` | No | Predefinito `13`. Le righe del contatore `spend` più vecchie di questo vengono spazzate. Il predefinito mantiene un anno completo più il mese parziale corrente per il reporting anno su anno. |

347| `identity_retention_days` | No | Predefinito `90`. TTL last-seen per le righe `principal_emails`, che contengono l'email, il nome visualizzato e i gruppi di ogni sviluppatore (PII). Deliberatamente più breve della conservazione della spesa in modo che un'identità deprovisioned invecchi mentre i suoi contatori di spesa anonimi rimangono. |

348| `group_limit_mode` | No | `min` (predefinito) o `max`. Quando uno sviluppatore è in più gruppi con cap, `min` applica il più restrittivo e `max` il meno. Usato sia dall'applicazione che da `/effective`. |

349 

350<h3 id="enforcement">

351 `enforcement`

352</h3>

353 

354Il blocco `enforcement` controlla come i controlli dei limiti di spesa si comportano quando l'archivio non è disponibile.

355 

356| Campo | Obbligatorio | Descrizione |

357| ---------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

358| `fail_closed_on_error` | No | Predefinito `false`. L'applicazione della spesa fallisce aperta su un'interruzione di Postgres, quindi l'inferenza rimane attiva. Impostate `true` per fallire chiuso: gli sviluppatori over-cap sono bloccati, ma lo è anche chiunque altro se l'archivio non è raggiungibile. Non ha effetto senza un blocco [`admin:`](#admin). |

359 

360<h3 id="models">

361 `models`

362</h3>

363 

364Il blocco `models` è un elenco di modelli curato dall'amministratore facoltativo, servito su `/v1/models` e utilizzato per tradurre gli ID dei modelli per upstream. È obbligatorio per le regioni Bedrock non-US, gli ARN di throughput provisioned di Bedrock e i nomi di distribuzione di Foundry.

365 

366```yaml theme={null}

367auto_include_builtin_models: true # false: expose only the list below

368models:

369 - id: claude-opus-4-8

370 label: Claude Opus 4.8

371 # description: optional text shown in clients that surface it

372 upstream_model:

373 anthropic: claude-opus-4-8

374 bedrock: us.anthropic.claude-opus-4-8 # or an inference-profile ARN

375 foundry: your-opus-deployment-name

376```

377 

378<h3 id="managed">

379 `managed`

380</h3>

381 

382Il blocco `managed` definisce le politiche di accesso basate sui ruoli chiave sui gruppi IdP o sul dominio email. Le politiche vengono valutate in ordine; la prima corrispondenza viene selezionata, quindi unita alla base catch-all `match: {}` descritta di seguito. Vengono servite per utente su `GET /managed/settings` con caching ETag/304.

383 

384```yaml theme={null}

385managed:

386 policies:

387 # Specific groups first.

388 - match: { groups: [eng-contractors] }

389 cli:

390 availableModels: [claude-sonnet-4-6]

391 permissions: { deny: ["WebFetch", "WebSearch"] }

392 # Default catch-all last: matches everyone who authenticated.

393 - match: {}

394 cli:

395 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

396```

397 

398Un catch-all `match: {}`, convenzionalmente elencato per ultimo, è trattato come uno strato di base. Ogni altra politica eredita qualsiasi chiave che non imposta dal catch-all, quindi le voci per ruolo hanno solo bisogno di elencare ciò che differisce dall'impostazione predefinita dell'organizzazione. Le regole di unione dipendono dal tipo di chiave:

399 

400* **Allow-list**: `availableModels` e `permissions.allow`. L'elenco di una politica specifica sostituisce completamente quello della base.

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

402* **Chiavi di tipo record**: `env`, `modelOverrides` e `skillOverrides`. Questi shallow-merge, quindi un blocco `env` per ruolo sovrascrive le chiavi che imposta e eredita il resto dalla base.

403 

404`availableModels` è anche applicato lato server su `/v1/messages`, quindi un modello negato restituisce `400` indipendentemente da ciò che il client invia.

405 

406| Matcher | Comportamento |

407| --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |

408| `match: {}` | Corrisponde a ogni utente autenticato. Iniziate con uno di questi e aggiungete politiche scoped al gruppo sopra di esso in seguito. |

409| `match: { groups: [a, b] }` | Corrisponde se il claim `groups` del JWT contiene uno dei gruppi elencati. Case-sensitive: i gruppi devono corrispondere al casing esatto dell'IdP. |

410| `match: { email_domain: example.com }` | Corrisponde alla parte dopo l'ultimo `@` nel claim `email` del JWT, case-insensitive. Accetta un dominio per politica. |

411| `match: { groups: [a], email_domain: example.com }` | Entrambe le condizioni devono corrispondere |

412 

413Un utente autenticato che non corrisponde a nessuna politica ottiene i valori predefiniti del gateway, il che significa ogni modello nel catalogo e nessuna impostazione gestita. Aggiungete un catch-all `match: {}` per ultimo se desiderate una politica predefinita garantita.

414 

415<Note>

416 Il gateway non mantiene alcuna directory utente propria. Autorizza ogni richiesta dal token IdP dell'utente, leggendo l'appartenenza al gruppo dal claim `groups` del token e valutando le politiche rispetto ad esso. Non c'è roster da enumerare e nessun account da pre-creare, e quindi nessun endpoint SCIM, perché non c'è nulla per SCIM da sincronizzare.

417 

418 Eseguite la gestione del ciclo di vita dell'utente e del gruppo alla fonte della verità, che è il provisioning SCIM nativo del vostro IdP o una piattaforma di governance dell'identità dedicata. L'appartenenza e il deprovisioning governati lì fluiscono nel gateway automaticamente attraverso il token. Se desiderate il provisioning SCIM degli account Claude stessi, questa è una capacità di [Claude for Enterprise](/it/admin-setup).

419 

420 Due orologi di propagazione si applicano:

421 

422 * **Contenuti della politica**: modificare una politica e ridistribuire raggiunge i client connessi al loro prossimo sondaggio di impostazioni gestite, entro un'ora

423 * **Appartenenza al gruppo**: cambiare l'appartenenza al gruppo di un utente cambia quale politica li corrisponde. Questo ha effetto al prossimo re-mint della sessione, il che significa il prossimo aggiornamento silenzioso, limitato da `session.ttl_hours`.

424</Note>

425 

426<h4 id="what-goes-in-cli">

427 Cosa va in `cli`

428</h4>

429 

430Ogni valore `cli` è un documento `managed-settings.json` completo di Claude Code, lo stesso schema che distribuireste tramite MDM o `/etc/claude-code/managed-settings.json`, espresso qui come YAML. La CLI applica il documento consegnato al livello gestito, sopra le impostazioni dell'utente e del progetto.

431 

432Il gateway convalida ogni documento rispetto allo schema delle impostazioni della CLI all'avvio, quindi una chiave di primo livello non riconosciuta o una chiave riconosciuta con un valore malformato fallisce l'avvio con un errore che nomina ogni chiave offensiva. Le parti deliberatamente aperte dello schema accettano ancora valori arbitrari, perché i client più recenti possono riconoscere voci che lo schema del gateway non riconosce. Queste chiavi aperte sono `env`, `pluginConfigs` e chiavi annidate sotto `permissions`.

433 

434Poiché la convalida utilizza lo schema fornito con la versione installata del gateway, mettere una chiave di impostazioni di primo livello introdotta da una versione più recente di Claude Code nella configurazione gestita richiede l'aggiornamento del gateway per primo. Smoke-test una nuova politica su un client prima di distribuirla.

435 

436Il riferimento completo della chiave è in [Impostazioni di Claude Code](/it/settings#available-settings). Le chiavi che gli operatori raggiungono per primi:

437 

438```yaml theme={null}

439managed:

440 policies:

441 - match: {}

442 cli:

443 # Model access (also enforced server-side at /v1/messages)

444 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

445 

446 # Permission policy

447 permissions:

448 deny:

449 - "WebFetch"

450 - "Read(./.env)"

451 - "Read(./secrets/**)"

452 disableBypassPermissionsMode: disable # blocks --dangerously-skip-permissions

453 allowManagedPermissionRulesOnly: true # ignore user/project permission rules

454 

455 # Environment pushed into the CLI process. DISABLE_UPDATES blocks

456 # background and manual updates; DISABLE_AUTOUPDATER stops only

457 # background updates.

458 env:

459 DISABLE_UPDATES: "1" # pin versions via your own distribution

460 

461 # Org-wide hooks. Hook commands run on developer machines, not the

462 # gateway, so the path must exist on every client OS in the policy.

463 hooks:

464 PostToolUse:

465 - matcher: "Edit|Write"

466 hooks:

467 - { type: command, command: /usr/local/bin/audit-edit.sh }

468```

469 

470| Chiave | Applicata da | Effetto |

471| ------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

472| `availableModels` | Gateway + CLI | Allowlist di modelli. Anche controllato su `/v1/messages`, quindi un client patchato non può bypassarlo. |

473| `permissions.allow` / `.deny` | CLI | Regole di strumenti e comandi. Vedere [Autorizzazioni](/it/permissions). |

474| `permissions.disableBypassPermissionsMode` | CLI | Impostate su `disable` per bloccare [`bypassPermissions`](/it/permission-modes#skip-all-checks-with-bypasspermissions-mode), la modalità che auto-approva ogni chiamata di strumento, e il flag `--dangerously-skip-permissions` |

475| `allowManagedPermissionRulesOnly` | CLI | Quando `true`, le regole di autorizzazione dell'utente e del progetto vengono ignorate; si applicano solo le regole da questo documento |

476| `env` | CLI | Variabili di ambiente unite nel processo CLI. Usate per telemetria, auto-update e override dei nomi dei modelli. |

477| `hooks` | CLI | [Hook](/it/hooks) a livello di organizzazione |

478 

479Poiché queste impostazioni arrivano sulla rete, la CLI mostra a ogni sviluppatore una finestra di dialogo di approvazione della sicurezza una tantum prima di applicare qualsiasi cosa che possa eseguire un comando shell o alterare dove va il traffico. La finestra di dialogo copre:

480 

481* `hooks`

482* Variabili `env` che non sono nell'elenco sicuro integrato della CLI

483* Impostazioni di esecuzione shell come `apiKeyHelper` e `statusLine`

484* Contenuto CLAUDE.md gestito

485 

486L'elenco sicuro determina quali variabili `env` si applicano senza approvazione:

487 

488* **Nell'elenco sicuro**: variabili di auto-update e nome del modello

489* **Non nell'elenco sicuro**: variabili proxy, variabili base-URL e `OTEL_EXPORTER_OTLP_ENDPOINT`

490 

491La configurazione della [telemetria](#telemetry) del gateway spinge `OTEL_EXPORTER_OTLP_ENDPOINT`, quindi l'impostazione di `telemetry.forward_to` attiva la finestra di dialogo su ogni client interattivo. Le esecuzioni non interattive con il flag `-p` saltano la finestra di dialogo e applicano le impostazioni senza approvazione. La finestra di dialogo protegge la macchina dello sviluppatore da un gateway compromesso o ostile, non l'organizzazione dallo sviluppatore, quindi il salto `-p` è intenzionale piuttosto che un gap.

492 

493Se uno sviluppatore rifiuta, Claude Code esce piuttosto che applicare la politica. Spingere un nuovo hook o una variabile env non sicura a una politica ampia significa quindi un prompt di approvazione all'avvio successivo di ogni sviluppatore corrispondente.

494 

495La chiave `cli` era denominata `settings` nelle versioni precedenti. Questo spelling è ancora accettato come alias, ma le nuove distribuzioni dovrebbero usare `cli`.

496 

497<h4 id="precedence-with-other-managed-sources">

498 Precedenza con altre fonti gestite

499</h4>

500 

501Se un dispositivo ha anche un `managed-settings.json` locale o una politica consegnata da MDM, le fonti gestite non si uniscono. La fonte con priorità più alta fornisce tutte le impostazioni della politica, classificate in questo ordine con priorità più alta per primo:

502 

5031. L'[helper della politica](/it/settings#compute-managed-settings-with-a-policy-helper)

5042. Impostazioni consegnate dal gateway

5053. MDM, tramite il registro HKLM su Windows o un plist su macOS

5064. Il file `managed-settings.json`

5075. Il registro HKCU, solo su Windows

508 

509Gli host di incorporamento possono fornire politica tramite l'opzione SDK `managedSettings`. Viene ignorata per impostazione predefinita e si applica solo quando una fonte gestita acconsente con [`parentSettingsBehavior: "merge"`](/it/settings#available-settings), filtrata in modo che possa stringere la politica ma non allentarla.

510 

511L'eccezione è un piccolo insieme di chiavi cross-source, onorate quando qualsiasi fonte admin le imposta; il livello HKCU scrivibile dall'utente è escluso:

512 

513* `sandbox.network.allowManagedDomainsOnly` e `sandbox.filesystem.allowManagedReadPathsOnly`: quando bloccate, gli allowlist corrispondenti vengono uniti tra le fonti

514* [`allowAllClaudeAiMcps`](/it/settings#available-settings): override di allow-only per l'allowlist del server MCP claude.ai

515* `sandbox.bwrapPath` e `sandbox.socatPath`: percorsi del file system ai binari helper [sandbox](/it/sandboxing)

516 

517Ogni altra chiave, inclusi `allowManagedPermissionRulesOnly` e `disableBypassPermissionsMode`, proviene solo dalla fonte con priorità più alta. Vedere [Precedenza delle impostazioni](/it/settings#settings-precedence) per la stessa regola nella pagina delle impostazioni.

518 

519Le politiche del gateway si applicano a ogni invocazione di Claude Code sulla macchina, incluse le esecuzioni non interattive `claude -p` e le sessioni generate dall'Agent SDK. Se il gateway non è raggiungibile all'avvio, le sessioni firmate escono con un errore piuttosto che eseguire senza la loro politica.

520 

521<Warning>

522 `mcpServers` dentro il blocco `cli` di una politica è rifiutato all'avvio del gateway. La distribuzione MCP per gruppo non è disponibile; distribuire i server MCP tramite il `managed-mcp.json` basato su file su ogni dispositivo o lasciare che gli sviluppatori li aggiungano localmente.

523</Warning>

524 

525<h3 id="telemetry">

526 `telemetry`

527</h3>

528 

529La CLI invia OpenTelemetry Protocol (OTLP) su metriche, log e, quando abilitato, tracce HTTP al gateway, che le inoltra verbatim a ogni destinazione configurata. Vedere [Monitoraggio dell'utilizzo](/it/monitoring-usage) per le metriche e gli eventi che la CLI emette.

530 

531La CLI timbra ogni esportazione con l'identità dell'utente autenticato, letta dal JWT emesso dal gateway: gli attributi `user.id`, `user.email` e `user.groups`. L'attribuzione del costo e dell'utilizzo per sviluppatore funziona quindi senza alcuna configurazione lato sviluppatore.

532 

533```yaml theme={null}

534telemetry:

535 forward_to:

536 - url: https://otel-collector.internal.example.com

537 headers:

538 Authorization: ${OTLP_TOKEN}

539 # Per-signal opt-in. Default: metrics only.

540 metrics: true

541 logs: false

542 traces: false

543 - url: https://api.datadoghq.com/api/v2/otlp

544 headers:

545 DD-API-KEY: ${DD_API_KEY}

546```

547 

548<Warning>

549 Ogni destinazione acconsente a `metrics`, `logs` e `traces` indipendentemente e il predefinito è solo metriche. I segnali differiscono in sensibilità:

550 

551 * **Metriche**: contatori aggregati come conteggi di token, conteggi di richieste e latenza

552 * **Log e tracce**: possono portare comandi bash completi, input di strumenti e percorsi di file, coprendo qualsiasi cosa Claude Code fa sulla macchina di uno sviluppatore

553 

554 Abilitate log e tracce solo su destinazioni con i controlli di accesso e la politica di conservazione che i dati garantiscono.

555</Warning>

556 

557La telemetria è disattivata nella CLI per impostazione predefinita. La configurazione di `telemetry.forward_to` insieme a `listen.public_url` la attiva. Il gateway spinge cinque variabili env a ogni client connesso tramite `/managed/settings`:

558 

559* `CLAUDE_CODE_ENABLE_TELEMETRY=1`

560* `OTEL_METRICS_EXPORTER=otlp`

561* `OTEL_LOGS_EXPORTER=otlp`

562* `OTEL_TRACES_EXPORTER=otlp`

563* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`

564 

565L'endpoint spinto è costruito dall'URL pubblico, quindi le metriche e i log non hanno bisogno di alcuna configurazione OTEL da sviluppatori o politiche. La configurazione spinta viene applicata al livello gestito, sovrascrivendo le variabili `OTEL_*` che uno sviluppatore imposta localmente.

566 

567Le [tracce](/it/monitoring-usage#traces-beta) richiedono inoltre `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` su ogni client. Il gateway non spinge quella variabile, quindi impostatela tramite il blocco `env` di una politica gestita. Non è nell'elenco sicuro della CLI, quindi consegnarla tramite una politica è coperto dalla stessa [finestra di dialogo di approvazione della sicurezza](#managed) che l'endpoint OTLP spinto già attiva.

568 

569Sia le codifiche OTLP protobuf che JSON vengono inoltrate e qualsiasi backend compatibile con OpenTelemetry funziona come destinazione.

570 

571<h3 id="http-tuning">

572 Sintonizzazione HTTP

573</h3>

574 

575Quattro blocchi facoltativi di primo livello, `access_control`, `limits`, `timeouts` e `rate_limits`, sintonizzano la superficie HTTP. I valori predefiniti si adattano alla maggior parte delle distribuzioni.

576 

577| Blocco | Chiave | Predefinito | Descrizione |

578| ---------------- | ---------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

579| `access_control` | `allow_cidrs` / `deny_cidrs` | vuoto | Inbound IP allow/deny per indirizzo client, dopo la risoluzione di `trusted_proxies`. `deny_cidrs` viene controllato per primo; un client che corrisponde è rifiutato anche se `allow_cidrs` corrisponde anche. Se `allow_cidrs` è non vuoto il gateway è default-deny. `/healthz` e `/readyz` sono esenti da `allow_cidrs`. |

580| `limits` | `max_request_bytes` | 32 MiB | Corpo della richiesta in entrata massimo; le richieste di dimensioni eccessive ottengono `413` prima che il corpo sia bufferizzato. Aumentate per richieste di file o immagini di grandi dimensioni. |

581| `limits` | `max_request_header_bytes` | non impostato | Quando impostato, gli header di dimensioni eccessive restituiscono `431` |

582| `limits` | `max_url_length` | non impostato | Quando impostato, un URL troppo lungo restituisce `414` |

583| `timeouts` | `upstream_ttfb_ms` | 120000 | Attesa massima per gli header di risposta dell'upstream (time to first byte). Il corpo della risposta quindi scorre senza un cap di wall-clock. Si applica al percorso upstream Anthropic diretto; Bedrock, Agent Platform e Foundry sono limitati dal timeout proprio dell'SDK del provider. |

584| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Limite di velocità per IP sull'endpoint di autorizzazione del dispositivo non autenticato. Aumentate per una grande organizzazione dietro un IP di uscita condiviso o NAT. Questi limiti si applicano solo al flusso di accesso della concessione del dispositivo, non all'inferenza `/v1/messages`. Vedere [Resistenza al brute-force del codice utente](/it/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

585| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Limite di velocità per IP sui invii di `user_code` su `/device` |

586 

587<h2 id="complete-example">

588 Esempio completo

589</h2>

590 

591Questo config di riferimento completo esercita ogni sezione principale; i blocchi di [sintonizzazione HTTP](#http-tuning) mantengono i loro valori predefiniti. Copiatelo, eliminate ciò che non vi serve e riempite i vostri valori. La configurazione nella [Guida rapida](/it/claude-apps-gateway#quickstart) è una versione minima di questa.

592 

593```yaml gateway.yaml theme={null}

594# Run with:

595# claude gateway --config gateway.yaml

596#

597# Operational log verbosity is controlled by the CLAUDE_GATEWAY_LOG_LEVEL

598# environment variable (info | warn | error; default info). It does not

599# affect audit events, which are always emitted.

600 

601listen:

602 host: 0.0.0.0

603 port: 8080

604 public_url: https://claude-gateway.internal.example.com

605 # Omit the tls block when running behind a TLS-terminating ingress.

606 # tls:

607 # cert: /certs/gateway.crt

608 # key: /certs/gateway.key

609 # trusted_proxies:

610 # - 10.0.0.0/8

611 

612oidc:

613 issuer: https://example.okta.com

614 client_id: 0oa1example2

615 client_secret: ${OIDC_CLIENT_SECRET}

616 allowed_email_domains:

617 - example.com

618 # Required when the issuer is the Okta org server, whose id_tokens

619 # can omit email and groups; the gateway fills them from /userinfo.

620 userinfo_fallback: true

621 # allowed_groups: [claude-code-users]

622 # Okta emits groups only when the `groups` scope is requested and the

623 # app's groups claim filter allows them. The contractors policy below

624 # matches on groups, so the scope is requested here.

625 scopes: [openid, profile, email, offline_access, groups]

626 # extra_auth_params: { access_type: offline, prompt: consent } # Google

627 # groups_claim: groups # Entra app roles: use `roles`

628 # email_claim: email

629 

630session:

631 jwt_secret: ${GATEWAY_JWT_SECRET} # openssl rand -base64 32

632 # ttl_hours: 1

633 

634store:

635 postgres_url: ${GATEWAY_POSTGRES_URL}

636 # max_connections: 5

637 

638# Enables /v1/organizations/spend_limits (mirrors the Anthropic Admin API)

639# and per-developer spend enforcement on /v1/messages. Omit to disable.

640# Caps themselves are set via the admin API, not here.

641# admin:

642# write_keys:

643# - { id: terraform, key: "${GATEWAY_ADMIN_WRITE_KEY_TF}" }

644# read_keys:

645# - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }

646# admin_groups: [platform-finops]

647# blocked_message: request an increase at https://go.example.com/claude-limits

648# # audit_retention_days: 365

649# # spend_retention_months: 13

650# # identity_retention_days: 90

651# # group_limit_mode: min

652 

653# enforcement:

654# fail_closed_on_error: false

655 

656upstreams:

657 - provider: anthropic

658 auth:

659 api_key: ${ANTHROPIC_API_KEY}

660 

661 # - provider: bedrock

662 # region: us-east-1

663 # auth: {}

664 

665 # - provider: vertex

666 # region: us-east5

667 # project_id: example-prod

668 # auth: {}

669 

670 # - provider: foundry

671 # resource: example-foundry

672 # auth: { use_azure_ad: true }

673 

674auto_include_builtin_models: true

675models:

676 - id: claude-opus-4-8

677 label: Claude Opus 4.8

678 upstream_model:

679 anthropic: claude-opus-4-8

680 # bedrock: us.anthropic.claude-opus-4-8

681 # vertex: claude-opus-4-8

682 # foundry: <your-opus-deployment-name>

683 - id: claude-sonnet-4-6

684 label: Claude Sonnet 4.6

685 upstream_model:

686 anthropic: claude-sonnet-4-6

687 - id: claude-haiku-4-5

688 label: Claude Haiku 4.5

689 upstream_model:

690 anthropic: claude-haiku-4-5

691 

692managed:

693 policies:

694 - match: { groups: [contractors] }

695 cli:

696 availableModels: [claude-haiku-4-5]

697 # Constrain the Default picker option to availableModels instead of

698 # the tier default, so contractors don't get a 400 on the default.

699 enforceAvailableModels: true

700 # allow auto-approves these tools; it does not block the rest.

701 # Add deny rules to restrict tools.

702 permissions: { allow: [Read, Grep] }

703 - match: {}

704 cli:

705 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

706 permissions:

707 allow: [Read, Grep, Bash, Edit]

708 deny: ["WebFetch"]

709 env: { HTTP_PROXY: http://proxy.example.com:8080 }

710 

711telemetry:

712 forward_to:

713 - url: https://otel.internal.example.com:4318

714 headers:

715 Authorization: Bearer ${OTEL_TOKEN}

716```

717 

718<h2 id="client-side-managed-settings">

719 Impostazioni gestite lato client

720</h2>

721 

722Tutto quanto sopra configura il server del gateway. Puntare le macchine degli sviluppatori ad esso è configurato separatamente, su ogni dispositivo, tramite le [impostazioni gestite](/it/settings#settings-files) di Claude Code. Il gateway non può spingere queste chiavi stesso, perché sono ciò che dice al client dove si trova il gateway.

723 

724Per la CLI, impostate entrambe le chiavi nel `managed-settings.json` per OS:

725 

726```json theme={null}

727{

728 "forceLoginMethod": "gateway",

729 "forceLoginGatewayUrl": "https://claude-gateway.internal.example.com"

730}

731```

732 

733Distribuire quel file a ogni dispositivo, tipicamente tramite la vostra piattaforma MDM. Il percorso del file differisce per piattaforma:

734 

735| Piattaforma | Percorso |

736| ----------- | --------------------------------------------------------------------------------------------------------------------------------- |

737| macOS | `/Library/Application Support/ClaudeCode/managed-settings.json`, o il dominio delle preferenze gestite `com.anthropic.claudecode` |

738| Linux e WSL | `/etc/claude-code/managed-settings.json` |

739| Windows | `C:\Program Files\ClaudeCode\managed-settings.json`, o Group Policy tramite il registro HKLM |

740 

741`forceLoginGatewayUrl` e il valore `"gateway"` di `forceLoginMethod` sono onorati solo dal livello gestito controllato dall'amministratore. Uno sviluppatore che li imposta nel suo `~/.claude/settings.json` non ha effetto.

742 

743<h2 id="related">

744 Correlati

745</h2>

746 

747* [Panoramica del gateway delle app Claude](/it/claude-apps-gateway): guida rapida e connessione dello sviluppatore

748* [Guida alla distribuzione](/it/claude-apps-gateway-deploy): configurazione IdP, immagine del contenitore, Kubernetes e Cloud Run e operazioni

749* [Limiti di spesa](/it/claude-apps-gateway-spend-limits): cap per sviluppatore e API Admin

claude-apps-gateway-deploy.md +301 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Distribuzione e operazioni del gateway delle app Claude

6 

7> Registrare il gateway con il vostro IdP, costruire il container, distribuire su Kubernetes o Cloud Run, e gestirlo: controlli di integrità, rotazione dei segreti, aggiornamenti e sicurezza.

8 

9Questa pagina copre il lato operativo dell'esecuzione del [gateway delle app Claude](/it/claude-apps-gateway): registrazione di un client OAuth nel vostro provider di identità (IdP), distribuzione del gateway come container, e gestione quotidiana. Per ogni opzione nel file `gateway.yaml` che il gateway legge all'avvio, consultare il [Riferimento di configurazione](/it/claude-apps-gateway-config).

10 

11Una distribuzione in produzione segue quattro passaggi in ordine, e le sezioni sottostanti li corrispondono. I primi due sono dove fate scelte; i secondi due sono materiale di riferimento da consultare una volta che è in esecuzione.

12 

131. [Configurare il vostro provider di identità](#identity-provider-setup): registrare il client OAuth e controllare le note specifiche per IdP per Okta, Entra e Google

142. [Distribuire il gateway](#deployment): costruire un'immagine container con versione fissa ed eseguirla su Kubernetes, Cloud Run, o la vostra piattaforma. Questa sezione copre anche decisioni relative a costi, bypass, gateway multipli e serverless

153. [Configurare le operazioni](#operations): log, sonde di integrità, comportamento in caso di interruzione, rotazione dei segreti e aggiornamenti. Riferimento per quando state collegando il monitoraggio e i runbook

164. [Esaminare la postura di sicurezza](#security): dove fluiscono i dati, il modello di minaccia e le risposte sulla conformità. Riferimento per una revisione della sicurezza

17 

18Se un accesso o un avvio fallisce lungo il percorso, andare direttamente a [Troubleshooting](#troubleshooting), che è indicizzato in base all'errore che vedete.

19 

20<Note>

21 **Distribuire sulla vostra rete privata.** Claude Code si connette solo a un gateway il cui indirizzo è privato. Questo è un meccanismo di sicurezza, perché un gateway affidabile può inviare impostazioni che eseguono comandi sulle macchine degli sviluppatori. Mettere il gateway dietro un load balancer interno o una VPN e dargli un nome host che si risolve solo in indirizzi IP privati.

22</Note>

23 

24<h2 id="identity-provider-setup">

25 Configurazione del provider di identità

26</h2>

27 

28Registra un'applicazione web OAuth/OpenID Connect (OIDC) confidenziale con un singolo URI di reindirizzamento, `https://<gateway>/oauth/callback`, e assegnala agli utenti o ai gruppi che dovrebbero avere accesso al gateway.

29 

30Qualsiasi IdP conforme a OIDC funziona: Okta, Microsoft Entra ID, Google Workspace, Keycloak, Dex, PingFederate e altri. L'IdP deve soddisfare tre requisiti:

31 

32* Serve `/.well-known/openid-configuration`, su HTTPS in produzione; il gateway accetta un [`http://` issuer](/it/claude-apps-gateway-config#oidc), e un issuer loopback richiede inoltre `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1`

33* Supporta il flusso authorization-code. PKCE (Proof Key for Code Exchange) è attivo per impostazione predefinita; disabilitalo con `oidc.use_pkce: false` per IdP che non lo supportano

34* Restituisce `email` e facoltativamente `groups` nell'id\_token, o li serve dall'endpoint userinfo con `oidc.userinfo_fallback: true`

35 

36Per PKI privata, imposta `oidc.ca_cert_pem`.

37 

38Alcuni provider gestiscono i claim di email e gruppo diversamente:

39 

40* **Okta**: il server di autorizzazione dell'organizzazione in `https://example.okta.com` restituisce un id\_token sottile che omette `email` e `groups`, quindi imposta `oidc.userinfo_fallback: true` ogni volta che lo usi come `issuer`. Un server di autorizzazione personalizzato come `https://example.okta.com/oauth2/default` che include `email` e facoltativamente `groups` nell'id\_token li emette direttamente e non ha bisogno di fallback. Okta emette `groups` solo quando lo scope `groups` è richiesto in `oidc.scopes` e il filtro dei claim dei gruppi dell'app lo consente; `userinfo_fallback` non può riempire un claim per il quale l'IdP non è stato interrogato.

41* **Microsoft Entra ID**: `issuer` = `https://login.microsoftonline.com/<tenant-id>/v2.0`. Entra emette Object ID dei gruppi piuttosto che nomi, quindi usa i GUID in `managed.policies.match.groups`, o usa App Roles per nomi leggibili. Se il tuo tenant emette ruoli sotto `roles` invece di `groups`, imposta `oidc.groups_claim: roles`.

42* **Google Workspace**: `issuer` = `https://accounts.google.com`. L'id\_token di Google non contiene gruppi. Per usare `allowed_groups` basato su gruppi o `managed.policies` con Google come IdP, configura [`oidc.google_groups`](/it/claude-apps-gateway-config#oidc), che cerca i gruppi di ogni utente tramite l'API Admin SDK Directory usando un account di servizio con delega a livello di dominio. Senza di esso, usa `oidc.allowed_email_domains` per il gating dell'appartenenza e `managed.policies.match.email_domain` per l'assegnazione della policy. Google ignora anche lo scope standard `offline_access`. Per i token di aggiornamento, imposta `oidc.scopes: [openid, profile, email]` e `oidc.extra_auth_params: { access_type: offline, prompt: consent }`.

43 

44Per supporto con un provider di identità non trattato sopra, vedi [Troubleshooting](#troubleshooting).

45 

46<Warning>

47 I token di aggiornamento consentono al gateway di rinnovare silenziosamente la sessione di uno sviluppatore, senza inviare lo sviluppatore al browser. Guidano anche il deprovisioning, perché quando l'IdP disabilita un utente, il prossimo aggiornamento fallisce e la sessione termina entro `ttl_hours`. Il gateway richiede `offline_access` per impostazione predefinita per ottenere un token di aggiornamento. Se il tuo IdP richiede il consenso esplicito per l'accesso offline, configura il client OAuth per consentirlo.

48 

49 Se il tuo IdP non può emettere token di aggiornamento affatto, il gateway funziona comunque, ma non c'è rinnovamento silenzioso, quindi gli sviluppatori rieseguono l'accesso al browser quando la loro sessione scade. Per evitare che ciò accada ogni ora, aumenta [`session.ttl_hours`](/it/claude-apps-gateway-config#session) a `8` o `12`. Il compromesso è la latenza di deprovisioning, perché senza token di aggiornamento un utente disabilitato mantiene l'accesso fino a quando il TTL più lungo non scade.

50</Warning>

51 

52<h2 id="deployment">

53 Distribuzione

54</h2>

55 

56Il gateway è un singolo binario Linux. Si scala orizzontalmente perché le repliche sono senza stato e Postgres è il livello di coordinamento condiviso. Eseguilo come esegui i servizi senza stato nel tuo ambiente. Il resto di questa sezione afferma cosa l'immagine ha bisogno, con brevi note per Kubernetes e Cloud Run.

57 

58Il gateway è progettato per funzionare all'interno della tua rete, perché contiene le tue credenziali upstream e agisce come l'unico punto di uscita per l'inferenza. Può funzionare ovunque i tuoi sviluppatori e il tuo IdP possono raggiungere su HTTPS; trattalo come qualsiasi altro servizio che contiene una credenziale di produzione.

59 

60Alcune decisioni modellano la distribuzione oltre a dove viene eseguita:

61 

62* **Costo**: non c'è una licenza separata o una tassa per posto per il gateway; fa parte del binario `claude`. Paghi per l'inferenza attraverso il tuo impegno cloud o Anthropic esistente, più il calcolo per il container e il tuo collettore di telemetria.

63* **Bypass**: il gateway non applica che l'unica rotta a un modello passi attraverso di esso. Uno sviluppatore con la propria credenziale può comunque chiamare il provider direttamente, quindi chiudere quel percorso è una decisione di policy di rete, ad esempio bloccando l'uscita verso `api.anthropic.com` tranne dal gateway. Bloccare anche quell'uscita interrompe il [controllo di sicurezza del dominio WebFetch](/it/data-usage#webfetch-domain-safety-check), che chiama `api.anthropic.com` da ogni macchina dello sviluppatore; imposta `skipWebFetchPreflight: true` nella policy gestita per disabilitarlo.

64* **Gateway multipli**: ogni gateway è una distribuzione separata con la sua configurazione. Il CLI memorizza la sua impronta digitale di fiducia e le credenziali per nome host del gateway, quindi diversi team possono connettersi a gateway diversi senza conflitto. Per servire più emittenti OIDC, esegui istanze separate.

65* **Serverless**: Cloud Run funziona; imposta `min-instances: 1` per evitare il cold start della scoperta OIDC. Lambda e Cloud Functions no, perché il gateway è un server HTTP a lunga durata.

66 

67Ogni topologia di produzione qui mette un proxy L7, come un Ingress, il front-end di Cloud Run, o un ALB, davanti alle repliche HTTP semplici. Imposta [`listen.trusted_proxies`](/it/claude-apps-gateway-config#listen) agli intervalli di origine del proxy in modo che il gateway legga gli IP client da `X-Forwarded-For`. Il gateway onora l'intestazione solo quando il peer TCP è affidabile; l'[esempio elaborato di Google Cloud](/it/claude-apps-gateway-on-gcp) ha valori concreti per topologia. Senza proxy affidabili, ogni richiesta sembra provenire dall'IP del proxy, il che comprime i limiti di velocità per IP in un bucket condiviso e registra l'IP del proxy negli eventi di audit.

68 

69<h3 id="container-image">

70 Immagine del container

71</h3>

72 

73Costruisci la tua immagine attorno al binario `claude` nativo dalla versione standard di Claude Code:

74 

751. Scarica la build Linux per l'architettura della tua immagine da una versione fissa; consulta [Installa una versione specifica](/it/setup#install-a-specific-version) per l'URL di download.

762. Verificalo rispetto al `manifest.json` firmato con GPG della versione come descritto in [Integrità binaria e firma del codice](/it/setup#binary-integrity-and-code-signing).

773. Copialo nel contesto di build.

78 

79Specchia la versione nel tuo registro interno se le tue build non possono raggiungere l'host della versione, e fissa la versione che la tua flotta esegue.

80 

81Oltre al binario, l'immagine ha bisogno di:

82 

83* **Un'immagine basata su glibc**: la build glibc ha solo dipendenze dinamiche dalle librerie glibc. Le immagini basate su Musl hanno bisogno della build `linux-x64-musl` o `linux-arm64-musl` più pacchetti aggiuntivi; consulta [Configurazione di Alpine Linux](/it/setup#alpine-linux-and-musl-based-distributions).

84* **Una directory di stato scrivibile**: il gateway funziona come qualsiasi utente, ma le immagini minime non hanno home scrivibile. Imposta `CLAUDE_CONFIG_DIR` a un percorso scrivibile come `/tmp/.claude`.

85* **Il comando del container**: `claude gateway --config /etc/claude/gateway.yaml`, con il file di configurazione montato in sola lettura e i segreti forniti come variabili di ambiente; il gateway ascolta su `listen.port`, predefinito `8080`.

86 

87<h3 id="kubernetes">

88 Kubernetes

89</h3>

90 

91Esegui il gateway come Deployment, come qualsiasi servizio senza stato:

92 

93* Monta la configurazione da una ConfigMap e i segreti da un Secret; fai riferimento ai segreti nel YAML tramite `${file:/path/to/secret}` o come variabili di ambiente

94* Termina TLS all'Ingress e imposta `listen.public_url` al nome host dell'Ingress

95* Punta la sonda di readiness a `GET /readyz` e la sonda di liveness a `GET /healthz`

96 

97<Note>

98 **Workload identity**

99 

100 Preferisci l'identità del workload della piattaforma rispetto alle chiavi statiche: IRSA su EKS per Bedrock, Workload Identity su GKE per Agent Platform, e workload identity su AKS per Foundry. Imposta `auth: {}` nel blocco upstream, o `use_azure_ad: true` per Foundry, e il gateway raccoglie l'identità del pod attraverso la catena di credenziali predefinita di quel provider. Per un accoppiamento cross-cloud, come un upstream Bedrock su GKE, imposta credenziali esplicite nel blocco `auth` dell'upstream. Il [riferimento `upstreams`](/it/claude-apps-gateway-config#upstreams) ha dettagli di configurazione per piattaforma.

101</Note>

102 

103<h3 id="cloud-run">

104 Cloud Run

105</h3>

106 

107Configura il servizio come segue:

108 

109* Lascia `listen.port` al suo predefinito di `8080`, che corrisponde al `PORT` predefinito di Cloud Run, o imposta `port: ${PORT}`

110* Imposta `public_url` all'origine esternamente raggiungibile. Per la produzione questo è normalmente il nome host di un load balancer interno, perché `/login` [rifiuta gli indirizzi pubblici](/it/claude-apps-gateway#prerequisites) e l'URL `*.run.app` si risolve in uno, quindi l'URL di Cloud Run da solo funziona solo per un test di fumo `curl` o browser. L'eccezione è una rete dove `*.run.app` si risolve privatamente tramite Private Service Connect e una zona privata di Cloud DNS; in quella topologia l'URL di Cloud Run è un `public_url` valido. L'[esempio elaborato di Google Cloud](/it/claude-apps-gateway-on-gcp#deploy-the-gateway) copre entrambi.

111* Monta la configurazione come volume segreto

112* Imposta `min-instances: 1` per evitare il cold start della scoperta OIDC alla prima richiesta

113 

114<Note>

115 Per un esempio elaborato completo su Google Cloud, che copre Cloud Run o GKE, Cloud SQL e Secret Manager, consulta [Distribuisci su Google Cloud](/it/claude-apps-gateway-on-gcp).

116</Note>

117 

118<h3 id="push-the-gateway-url-to-developer-machines">

119 Invia l'URL del gateway alle macchine degli sviluppatori

120</h3>

121 

122Una volta che il gateway è in servizio, invia `forceLoginMethod` e `forceLoginGatewayUrl` a ogni macchina dello sviluppatore tramite impostazioni gestite, tramite MDM o scrivendo direttamente il `managed-settings.json` per OS. Senza questo, `/login` mostra il selettore di account standard senza opzione gateway. Consulta [Impostazioni gestite lato client](/it/claude-apps-gateway-config#client-side-managed-settings) per i percorsi dei file.

123 

124<h2 id="operations">

125 Operazioni

126</h2>

127 

128Una volta che il gateway sta servendo il traffico, l'operazione quotidiana consiste nel leggere i suoi log, sondare la sua salute e ruotare i suoi segreti secondo il tuo programma. Le sottosezioni coprono ciascuno, più quello che Postgres contiene e come gli aggiornamenti e i rollback si comportano.

129 

130<h3 id="logs">

131 Log

132</h3>

133 

134Il gateway scrive due flussi su stderr, entrambi JSON-friendly:

135 

136* **Eventi di audit**: JSON a riga singola per evento rilevante per la sicurezza. Invia stderr al tuo aggregatore di log. Gli eventi emessi includono `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `auth.denied`, `access.denied`, `inference`, `managed.serve`, `spend.blocked`, e `admin.denied`. I campi variano per evento:

137 * Gli eventi di mint e refresh riusciti portano `sub`, `email`, `client_ip`, e il risultato

138 * Gli eventi di negazione portano il motivo, il percorso e l'IP client, poiché nessuna identità esiste al momento della negazione

139 * `inference` registra quale upstream ha servito la richiesta e lo stato della risposta

140 * `admin.denied` registra un tentativo di autenticazione dell'API admin rifiutato con il motivo (`invalid_key` o `no_credentials`), IP client, metodo e percorso, senza il materiale della chiave presentato

141* **Log operazionali**: righe leggibili con prefisso `[gateway]` per avvio, avvertimenti e errori upstream. La variabile di ambiente `CLAUDE_GATEWAY_LOG_LEVEL` controlla la verbosità e accetta `info`, `warn`, o `error`, con `info` come predefinito. Non influisce sugli eventi di audit, che sono sempre emessi.

142 

143<h3 id="health">

144 Salute

145</h3>

146 

147Il gateway serve `GET /healthz` come sonda di liveness e `GET /readyz` come sonda di readiness; `/readyz` verifica che lo store sia raggiungibile. Entrambi sono esenti da `access_control.allow_cidrs`, quindi le sonde continuano a funzionare su un listener bloccato.

148 

149Il documento di scoperta OAuth in `/.well-known/oauth-authorization-server` restituisce anche `200` solo dopo il caricamento della configurazione, la scoperta OIDC, la costruzione del client upstream e la migrazione di Postgres, quindi funge anche da controllo di avvio end-to-end.

150 

151Un gateway in esecuzione serve anche una descrizione dei percorsi e delle forme di richiesta che accetta in `<public_url>/protocol`, abbinata alla versione che stai eseguendo. I contenuti non sono stabili tra le versioni.

152 

153<h3 id="outage-behavior">

154 Comportamento in caso di interruzione

155</h3>

156 

157Se Postgres si arresta, il gateway stesso continua a servire gli sviluppatori che hanno effettuato l'accesso e i nuovi accessi falliscono. Se gli sviluppatori effettivamente continuano a lavorare dipende da come il tuo orchestrator gestisce la readiness:

158 

159* **Sessioni esistenti**: i bearer token si convalidano localmente con il segreto JWT, gli aggiornamenti della sessione non toccano lo store, e il processo del gateway può comunque servire l'inferenza

160* **Nuovi accessi**: falliscono fino al recupero di Postgres, perché il flusso del dispositivo e i suoi contatori di limite di velocità vivono in Postgres

161* **[Applicazione del limite di spesa](/it/claude-apps-gateway-spend-limits#postgres-availability)**: fallisce aperto per impostazione predefinita durante l'interruzione, quindi l'inferenza continua a fluire; capovolgilo per fallire chiuso se preferisci bloccare piuttosto che eseguire senza misurazione

162* **Readiness**: `/readyz` segnala non-ready durante l'interruzione, quindi gli orchestrator che controllano il traffico sulla readiness rimuovono ogni replica dalla rotazione contemporaneamente. In quella topologia tutto il traffico, inclusa l'inferenza che il gateway potrebbe comunque servire, fallisce al load balancer fino al recupero di Postgres. La sonda di liveness su `/healthz` continua a passare, quindi le repliche non vengono riavviate. Punta la sonda di readiness a `/healthz` invece se preferisci che gli sviluppatori che hanno effettuato l'accesso continuino a lavorare attraverso un'interruzione dello store; il costo è che i nuovi accessi falliscono contro una replica che ancora segnala ready.

163 

164Se il tuo IdP si arresta, le sessioni esistenti funzionano fino a `ttl_hours`, e i nuovi accessi e aggiornamenti falliscono. Imposta un `ttl_hours` più lungo se il tuo IdP ha frequenti finestre di manutenzione.

165 

166<h3 id="jwt-secret-rotation">

167 Rotazione del segreto JWT

168</h3>

169 

170Ruota il segreto di firma in tre passaggi in modo che le sessioni esistenti rimangono valide:

171 

1721. Genera un nuovo segreto. Anteponi l'array `session.jwt_secret`.

1732. Esegui il rollout della distribuzione. I nuovi token firmano con il nuovo segreto; i vecchi token si convalidano comunque.

1743. Dopo `ttl_hours` più un margine, rimuovi il vecchio segreto ed esegui di nuovo il rollout.

175 

176La rotazione è anche l'unico modo per forzare le sessioni prima che scadano: i bearer token si convalidano localmente rispetto al segreto JWT, quindi non c'è revoca per sessione. Sostituire il segreto completamente, senza mantenere il vecchio nell'array, invalida ogni sessione in sospeso contemporaneamente. Per l'offboarding individuale, esegui il deprovisioning dell'utente nel tuo IdP; la loro sessione termina entro `ttl_hours`.

177 

178<h3 id="postgres">

179 Postgres

180</h3>

181 

182Il gateway contiene cinque tabelle, tutte create dalle sue migrazioni al momento dell'avvio:

183 

184| Tabella | Contenuti | Conservazione |

185| ------------------ | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |

186| `kv` | Concessioni di dispositivi (TTL di 10 minuti) e contatori di limite di velocità | TTL per riga |

187| `spend` | Contatori di spesa da inizio periodo per principale, in centesimi | `admin.spend_retention_months`, predefinito 13 |

188| `spend_limits` | Limiti di spesa configurati | Fino all'eliminazione tramite l'API |

189| `admin_audit` | Traccia di mutazione dell'API admin | `admin.audit_retention_days`, predefinito 365 |

190| `principal_emails` | Email dell'ultimo accesso di ogni principale, nome visualizzato e gruppi IdP. Contiene PII. | `admin.identity_retention_days` dall'ultima attività, predefinito 90 |

191 

192Un ciclo di 30 secondi scade le righe `kv` oltre il loro TTL, e una pulizia oraria applica le finestre di conservazione sulle tabelle di spesa, quindi nulla cresce senza limiti. Senza [limiti di spesa](/it/claude-apps-gateway-spend-limits) configurati, solo `kv` viene scritto. Se la tua policy di sicurezza proibisce DDL dal ruolo dell'applicazione, pre-crea queste tabelle e `_migrations` con un ruolo admin e concedi al ruolo dell'app `SELECT, INSERT, UPDATE, DELETE` su ciascuno.

193 

194Con limiti di spesa in uso, un database perso significa perdita di tracciamento della spesa e limiti, non solo re-accessi degli sviluppatori, quindi esegui backup regolari. Per cancellare immediatamente uno sviluppatore partito piuttosto che aspettare la conservazione, esegui `DELETE FROM principal_emails WHERE principal = '<sub>'` direttamente; questo rimuove l'unica tabella che contiene la loro email, nome e gruppi. Le righe `spend` e `admin_audit` fanno riferimento solo allo pseudonimo OIDC `sub`.

195 

196<h3 id="upgrades">

197 Aggiornamenti

198</h3>

199 

200Le repliche sono senza stato, quindi un riavvio rolling è sicuro in qualsiasi momento. Il gateway esegue migrazioni dello schema all'avvio, il che significa che distribuire il nuovo binario auto-migra il database. Se il ruolo del database non può eseguire DDL, pre-crea lo schema, inclusa la tabella `_migrations` seminata alla versione corrente; altrimenti l'avvio fallisce tentando `CREATE TABLE`.

201 

202Le migrazioni sono append-only, quindi il rollback a un binario precedente che conosce meno migrazioni è sicuro; ignora le righe extra. Il rollback ri-convalida anche il YAML rispetto allo schema del binario più vecchio, quindi una configurazione che ha adottato una chiave introdotta dalla versione più recente fallisce l'avvio su quella più vecchia. Rimuovi la nuova chiave prima di eseguire il rollback.

203 

204Poiché fissi la versione del gateway nella tua immagine, le correzioni nelle nuove versioni di Claude Code, incluse le correzioni di sicurezza, raggiungono la tua distribuzione solo quando aggiorni il pin e ridistribuisci. Includi il gateway nello stesso ciclo di patching che usi per altri servizi che contengono credenziali di produzione.

205 

206<h2 id="security">

207 Sicurezza

208</h2>

209 

210Questa sezione risponde alle domande che una revisione di sicurezza pone: quali dati fluiscono attraverso il gateway e dove vanno, quali attacchi il design difende, e quali risposte appartengono a un questionario di conformità.

211 

212<h3 id="data-flow">

213 Flusso di dati

214</h3>

215 

216| Dati | Percorso | Inviato ad Anthropic dal gateway |

217| ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------- |

218| Inferenza (prompt, completamenti) | CLI → gateway → il tuo upstream | Solo se l'API Anthropic è un upstream configurato |

219| Telemetria (metriche OTLP, più [log e tracce opt-in](/it/claude-apps-gateway-config#telemetry)) | CLI → gateway → il tuo collettore | Mai |

220| Identità (email, gruppi, sub) | IdP → gateway → JWT → CLI; il CLI lo marca sulle esportazioni OTLP | Mai |

221| Impostazioni gestite | Il tuo gateway YAML → CLI | Mai |

222| Log di audit | Gateway stderr → il tuo aggregatore | Mai |

223 

224<h3 id="threat-model-summary">

225 Riepilogo del modello di minaccia

226</h3>

227 

228Il gateway si trova all'interno del perimetro della tua rete, ma i singoli laptop degli sviluppatori non sono considerati affidabili. Il design tiene conto di questo in tre modi:

229 

230* Gli sviluppatori detengono JWT di breve durata invece di chiavi upstream grezze. La gamba CLI-to-gateway utilizza la concessione del dispositivo RFC 8628, e lo scambio di autorizzazione del gateway con l'IdP esegue PKCE nella configurazione predefinita, quindi un codice di autorizzazione IdP intercettato è inutile.

231* La pagina di verifica del dispositivo applica POST della stessa origine e un limite di velocità per IP per RFC 8628 §5.1. Consulta [Resistenza al brute-force del codice utente](#user-code-brute-force-resistance).

232* Le richieste in uscita passano attraverso una guardia SSRF (Server-Side Request Forgery) che risolve DNS, blocca gli indirizzi link-local e cloud-metadata più loopback per impostazione predefinita, e fissa la connessione all'IP risolto, quindi gli URL influenzati dall'operatore come l'IdP e le destinazioni OTLP non possono essere reindirizzati agli endpoint dei metadati cloud. Gli intervalli privati RFC 1918 sono deliberatamente consentiti, perché gli IdP e i collettori OTLP comunemente vivono su IP privati. Per lo sviluppo locale rispetto a un IdP loopback o collettore, imposta `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` nell'ambiente del gateway; lascialo non impostato in produzione.

233 

234Se aggiungi i tuoi controlli di uscita, il gateway deve raggiungere il server dei metadati ogni volta che utilizza credenziali di metadati dell'istanza come workload identity.

235 

236Due minacce sono fuori ambito perché sono la tua infrastruttura da proteggere:

237 

238* **Un host gateway compromesso**: l'host sia contiene la credenziale upstream che distribuisce [impostazioni gestite](/it/claude-apps-gateway-config#managed) a ogni sviluppatore connesso, quindi il controllo sulla configurazione del gateway è paragonabile al controllo sul tuo MDM. La finestra di dialogo di approvazione una tantum del CLI per le impostazioni in grado di shell limita i cambiamenti silenziosi ma non sostituisce la sicurezza dell'host.

239* **Un provider OIDC malintenzionato**: il provider firma gli id\_token che il gateway si fida, quindi può asserire qualsiasi identità. Il vetting e la protezione del tuo IdP è tua responsabilità.

240 

241<h3 id="user-code-brute-force-resistance">

242 Resistenza al brute-force del codice utente

243</h3>

244 

245Il `user_code` che uno sviluppatore digita nella pagina di verifica `/device` è di 8 caratteri tratti da un alfabeto di 20 caratteri, che produce 20⁸ o circa 2,56×10¹⁰ combinazioni, e scade dopo 10 minuti.

246 

247Il gateway applica limiti di velocità per IP sugli endpoint di concessione del dispositivo, configurabili tramite [`rate_limits`](/it/claude-apps-gateway-config#http-tuning). Aumenta i limiti se molti sviluppatori accedono da un singolo indirizzo NAT aziendale condiviso. I limiti si applicano solo al flusso di accesso, non all'inferenza.

248 

249<h3 id="compliance-posture">

250 Postura di conformità

251</h3>

252 

253* **Residenza dei dati**: il piano dati del gateway stesso non invia nulla ad Anthropic a meno che l'API Anthropic non sia un upstream configurato; quando lo è, il tuo accordo di gestione dei dati esistente si applica al percorso di inferenza. Telemetria, audit, identità e impostazioni vanno solo alle destinazioni che configuri.

254* **Traffico del processo host**: il processo host è il CLI di Claude Code, che può inviare analitiche di avvio e controlli di aggiornamento ad Anthropic. Per distribuzioni con uscita ristretta, imposta `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` nell'ambiente del container del gateway.

255* **Analitiche client**: il CLI disabilita la sua stessa analittica di utilizzo mentre è connesso a un gateway, e la segnalazione degli errori è disattivata per impostazione predefinita su superfici API di terze parti.

256* **Macchine client**: i CLI degli sviluppatori inviano comunque controlli del nome host WebFetch e controlli della versione ad Anthropic a meno che `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` e `skipWebFetchPreflight: true` non siano impostati. Consulta [utilizzo dei dati](/it/data-usage).

257* **Valutazioni del sondaggio**: la credenziale del gateway disabilita il sink di valutazione legato ad Anthropic, quindi le valutazioni non vengono inviate ad Anthropic.

258* **Condivisione della trascrizione**: scegliere Sì su un prompt di condivisione della trascrizione di un sondaggio scrive un file locale sotto `~/.claude/feedback-bundles/` invece di caricare su Anthropic.

259* **Aggiornamenti client**: i controlli di aggiornamento sono separati dal traffico del gateway. Fissa le versioni attraverso la tua distribuzione e imposta `DISABLE_UPDATES` se i laptop non devono recuperare le versioni. `DISABLE_AUTOUPDATER` interrompe solo gli aggiornamenti in background mentre `claude update` funziona ancora.

260* **TLS**: servi `public_url` su HTTPS in produzione, sia dal listener proprio del gateway tramite `listen.tls` che da un ingress che termina TLS davanti alle repliche HTTP semplici con `listen.public_url` impostato. Il gateway non rifiuta HTTP semplice. L'IdP deve servire HTTPS in produzione, e Postgres supporta `?sslmode=require`. Imposta `Strict-Transport-Security` al tuo ingress.

261* **Divulgazione di vulnerabilità**: segui [Segnalazione di problemi di sicurezza](/it/security#reporting-security-issues)

262 

263<h2 id="troubleshooting">

264 Risoluzione dei problemi

265</h2>

266 

267Per domande e feedback, usa [Supporto di Claude Code](https://support.claude.com/en/collections/14445694-claude-code), o apri un problema nel [repository GitHub di Claude Code](https://github.com/anthropics/claude-code/issues). Quando segnali un problema, includi:

268 

269* **Problema del gateway**: lo stderr del gateway per la finestra rilevante, il tuo `gateway.yaml` con i segreti redatti, la versione del gateway, mostrata nella pagina di destinazione in `/` e nell'intestazione della risposta `x-cc-gateway-version` su `/managed/settings`, e cosa è cambiato di recente

270* **Problema di accesso**: lo sviluppatore esegue `claude --debug-file ./claude-debug.txt`, riproduce, e invia quel file più il log di audit del gateway per la stessa finestra

271* **Problema di inferenza**: il modello richiesto, gli upstream configurati, e il log di audit del gateway per la richiesta, che registra quale upstream l'ha servita e lo stato della risposta

272 

273| Sintomo | Causa | Correzione |

274| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

275| Lo `/login` di uno sviluppatore mostra il selettore di account standard invece della schermata **Cloud gateway** | `forceLoginMethod` o `forceLoginGatewayUrl` non è impostato nelle impostazioni gestite su quella macchina | Distribuisci il [file di impostazioni gestite](/it/claude-apps-gateway#set-the-gateway-url) al dispositivo; `/login` legge l'URL del gateway da lì |

276| L'avvio mostra `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | La build di Claude Code installata precede il supporto del gateway | Fai aggiornare lo sviluppatore a Claude Code a una versione che include il supporto del gateway cloud |

277| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Il nome host del gateway si risolve in almeno un indirizzo IP pubblico. Claude Code controlla ogni indirizzo risolto e richiede che ogni uno sia privato. Una causa comune è un nome dual-stack dove una famiglia si risolve in un indirizzo pubblico, inclusi i load balancer dual-stack interni AWS, che restituiscono indirizzi AAAA di intervallo pubblico | Fai risolvere il nome del gateway solo in indirizzi privati sulle macchine degli sviluppatori. Per un nome dual-stack, elimina il record di intervallo pubblico o servi un nome DNS solo interno separato. Consulta il [prerequisito di rete privata](/it/claude-apps-gateway#prerequisites). |

278| CLI `/login`: `Gateway login requires a direct connection and does not support connecting through an HTTP proxy` | Un `HTTPS_PROXY` o `HTTP_PROXY` si applica all'host del gateway e il nome host del proxy si risolve in un indirizzo pubblico. Un proxy il cui host si risolve solo in indirizzi privati è consentito e non attiva questo errore | Aggiungi l'host del gateway a `NO_PROXY` sulla macchina dello sviluppatore in modo che la connessione sia diretta, o usa un proxy il cui nome host si risolve in indirizzi privati |

279| CLI `/login`: `Could not resolve gateway host <host>` | La macchina non può risolvere il nome DNS interno del gateway, tipicamente perché non è sulla rete aziendale | Fai connettere lo sviluppatore alla tua rete o VPN, quindi riprova `/login` |

280| L'avvio esce con un errore di convalida della configurazione che nomina `store.postgres_url` | Nessun Postgres configurato; il gateway richiede Postgres | Imposta `store.postgres_url`. Per lo sviluppo locale, usa un container usa e getta: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |

281| L'avvio esce: `requires the native binary` | Esecuzione sotto Node invece del binario nativo | Installa Claude Code con uno dei [metodi di installazione standalone](/it/setup) |

282| L'avvio esce con un errore di scoperta OIDC dopo `config.load` | `oidc.issuer` non raggiungibile, o catena TLS non affidabile | Controlla che l'emittente sia raggiungibile dal pod e serva `/.well-known/openid-configuration`. Imposta `ca_cert_pem` per PKI privata. |

283| L'avvio esce con un errore di permesso di Postgres | Il ruolo dell'app manca `CREATE TABLE` | Pre-crea lo schema con un ruolo admin e concedi DML al ruolo dell'app, o concedi DDL temporaneamente per gli avvii che applicano nuove migrazioni |

284| `/oauth/callback` mostra "Sign-in could not be completed" | Dominio email rifiutato, convalida id\_token fallita, o `email_verified` è esplicitamente `false`, che il gateway rifiuta sempre senza override | Controlla `allowed_email_domains` e che l'IdP restituisca un claim `email` verificato. Per `email_verified: false`, correggi la verifica lato IdP. Se il tuo IdP emette email sotto un nome di claim diverso, imposta `oidc.email_claim`. |

285| Log: `token exchange failed: id_token missing email claim` | L'IdP non include `email` nell'id\_token per impostazione predefinita. Questo rifiuto si attiva solo quando `allowed_email_domains` è impostato; senza di esso, un'email mancante conia una sessione senza email | Configura l'IdP per emettere `email` nell'id\_token. Okta: aggiungi `email` ai claim id\_token di un server di autorizzazione personalizzato. Entra: aggiungi `email` come claim facoltativo sulla registrazione dell'app. PingFederate: abilita una Policy OpenID Connect che emette `email`. Se l'IdP serve `email` dall'endpoint userinfo ma non lo includerà nell'id\_token, come il server di autorizzazione dell'organizzazione Okta, imposta `oidc.userinfo_fallback: true`. |

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

287| Errore IdP: unknown or unsupported scope | L'IdP rifiuta gli scope che non riconosce | Imposta `oidc.scopes` esattamente all'elenco che il tuo IdP accetta; deve includere `openid`. Il predefinito è `openid profile email offline_access`. |

288| Le sessioni non si rinnovano silenziosamente dopo aver impostato `oidc.scopes` | `offline_access` è stato eliminato dall'override | Aggiungi `offline_access` di nuovo se il tuo IdP lo supporta. Senza un token di aggiornamento, gli sviluppatori rieseguono l'accesso al browser ogni `session.ttl_hours`. |

289| Il browser mostra "This request came from another site and was blocked" | POST del modulo cross-site, bloccato come protezione CSRF. Previsto per pagine incorporate o proxy | Apri il collegamento di verifica direttamente |

290| Chrome blocca il pulsante Approve con "Refused to send form data … violates … Content Security Policy directive: form-action", ma la stessa pagina funziona in Safari o Firefox | Chrome applica `form-action` all'intera catena di reindirizzamento. Il tuo IdP reindirizza ulteriormente a un secondo host che non è nella whitelist. | Aggiungi ogni origine aggiuntiva nella catena di reindirizzamento a `oidc.form_action_origins`. Apri Chrome DevTools → Console sulla pagina Approve per vedere quale origine è stata bloccata. |

291| L'accesso si completa all'IdP ma il callback fallisce, con un errore CSP in Chrome o "this sign-in link has expired" in Safari | L'IdP ha restituito il codice tramite `response_mode=form_post`, che lo auto-invia cross-origin tramite POST a `/oauth/callback`. Chrome blocca quello sotto una CSP ristretta; Safari consente l'invio ma il callback legge solo la stringa di query. | Assicurati che il tuo IdP onori `response_mode=query`, che il gateway richiede esplicitamente in modo che il callback sia un reindirizzamento semplice |

292| L'accesso funziona localmente ma fallisce dietro un ALB | `public_url` non impostato, quindi l'IdP ottiene l'origine interna `http://` come `redirect_uri` | Imposta `listen.public_url` all'origine esterna `https://` |

293| Lo sviluppatore vede il prompt di fiducia ripetutamente | Il certificato TLS ruota per replica o per richiesta | Usa un certificato stabile all'ingress, o termina TLS una volta ed esegui le repliche su HTTP semplice internamente |

294| CLI `/login`: "Could not verify the gateway's TLS certificate" o `SELF_SIGNED_CERT_IN_CHAIN` | La catena TLS del gateway è firmata da una CA privata non nell'archivio di fiducia dell'host CLI | Claude Code legge l'archivio di fiducia del sistema operativo per impostazione predefinita sul binario nativo e su Node 22.15 o successivo; [`CLAUDE_CODE_CERT_STORE`](/it/network-config#ca-certificate-store) controlla questo comportamento. Se la CA è installata nell'archivio di fiducia del sistema operativo, assicurati che gli sviluppatori siano su un runtime corrente. Altrimenti imposta `NODE_EXTRA_CA_CERTS` al certificato CA PEM prima di lanciare. Il prompt dell'impronta digitale della prima connessione si applica comunque. |

295 

296<h2 id="related">

297 Correlati

298</h2>

299 

300* [Panoramica del gateway delle app Claude](/it/claude-apps-gateway): quickstart e connessione dello sviluppatore

301* [Riferimento di configurazione](/it/claude-apps-gateway-config): ogni opzione di `gateway.yaml`

claude-apps-gateway-on-gcp.md +330 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Distribuire il gateway delle app Claude su Google Cloud

6 

7> Un esempio pratico di esecuzione del gateway delle app Claude su Google Cloud: Cloud Run o GKE, Cloud SQL per PostgreSQL, Secret Manager e autenticazione tramite account di servizio verso Agent Platform.

8 

9<Note>

10 Questa pagina illustra un modo per eseguire il gateway delle app Claude su Google Cloud. La configurazione è un esempio funzionante per l'infrastruttura gestita dal cliente piuttosto che una distribuzione di produzione supportata; utilizzatela per vedere come i componenti si incastrano insieme prima di adattarla al vostro ambiente. Per i requisiti indipendenti dalla piattaforma, consultate la [guida alla distribuzione](/it/claude-apps-gateway-deploy).

11</Note>

12 

13Questo esempio esegue il provisioning del gateway delle app Claude su Google Cloud con Agent Platform di Google Cloud come upstream del modello, utilizzando Cloud Run o GKE per il calcolo. Google Workspace è l'esempio di provider di identità (IdP), ma funziona qualsiasi provider conforme a OpenID Connect (OIDC); solo il blocco `oidc` cambia. Consultate [Configurazione del provider di identità](/it/claude-apps-gateway-deploy#identity-provider-setup) per i dettagli specifici per ogni IdP.

14 

15<h2 id="what-you’ll-build">

16 Cosa costruirete

17</h2>

18 

19<Frame>

20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Diagramma del gateway delle app Claude su Google Cloud: i client Claude Code si connettono tramite HTTPS al gateway (Cloud Run o GKE), che viene eseguito all'interno di un VPC insieme a un database Cloud SQL con IP privato per lo stato della sessione. Il gateway accede agli utenti tramite OIDC rispetto a Google Workspace, legge la configurazione e i segreti da Secret Manager, inoltra le richieste del modello ad Agent Platform e estrae la sua immagine da Artifact Registry al momento della distribuzione." width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />

21</Frame>

22 

23La configurazione di riferimento esegue il provisioning di:

24 

25* Servizio **Cloud Run** o Deployment **GKE** che esegue il contenitore del gateway

26* Repository **Artifact Registry** per l'immagine del gateway

27* Istanza **Cloud SQL per PostgreSQL**, solo IP privato, per lo [store](/it/claude-apps-gateway-config#store) del gateway

28* Segreti **Secret Manager** per `gateway.yaml`, la chiave di firma JWT, il segreto client OIDC e l'URL Postgres

29* **Account di servizio** con `roles/aiplatform.user`, allegato direttamente su Cloud Run o associato tramite Workload Identity su GKE

30* **Internal Application Load Balancer** su Cloud Run, o un **GKE Ingress** interno di classe `gce-internal` su GKE, per HTTPS

31 

32<h2 id="prerequisites">

33 Prerequisiti

34</h2>

35 

36* Un progetto GCP con fatturazione abilitata e autorizzazione per creare le risorse di cui sopra

37* La CLI `gcloud`, autenticata con `gcloud auth login`, e Docker installato localmente

38* Per il percorso GKE: `kubectl` e un cluster GKE sul VPC creato nella procedura dettagliata di seguito

39* Accesso ai modelli Claude di cui avete bisogno in Model Garden, in una regione che li pubblica

40* Un client applicazione web OAuth 2.0 di Google Workspace con URI di reindirizzamento `https://<gateway-host>/oauth/callback`; consultate [Configurazione del provider di identità](/it/claude-apps-gateway-deploy#identity-provider-setup)

41* Un nome host TLS per il gateway, in genere un nome DNS interno che punta al load balancer

42 

43Impostate il progetto e la regione una volta:

44 

45```bash theme={null}

46export PROJECT_ID=<your-project>

47export REGION=us-east5 # a region where the Claude models you need are published in Model Garden

48gcloud config set project "$PROJECT_ID"

49```

50 

51<h2 id="deploy-the-gateway">

52 Distribuire il gateway

53</h2>

54 

55I passaggi seguenti eseguono il provisioning della distribuzione completa con comandi `gcloud`.

56 

57<Steps>

58 <Step title="Abilitare le API">

59 Abilitate le API di servizio utilizzate dalla procedura dettagliata:

60 

61 ```bash theme={null}

62 gcloud services enable \

63 aiplatform.googleapis.com \

64 artifactregistry.googleapis.com \

65 sqladmin.googleapis.com \

66 secretmanager.googleapis.com \

67 iamcredentials.googleapis.com \

68 iam.googleapis.com \

69 compute.googleapis.com \

70 servicenetworking.googleapis.com \

71 run.googleapis.com \

72 container.googleapis.com

73 ```

74 

75 Le API di cui avete bisogno dipendono dal percorso di distribuzione:

76 

77 * `compute` e `servicenetworking`: necessarie per il percorso Cloud SQL con IP privato

78 * `run`: solo Cloud Run

79 * `container`: solo GKE

80 </Step>

81 

82 <Step title="Creare l'account di servizio e concedere IAM">

83 Il gateway viene eseguito come account di servizio dedicato con autorizzazione per chiamare Agent Platform. Raggiunge Cloud SQL sul VPC con un utente con password, quindi non è richiesto alcun ruolo IAM di Cloud SQL:

84 

85 ```bash theme={null}

86 gcloud iam service-accounts create claude-gateway --display-name="Claude apps gateway"

87 SA="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

88 

89 gcloud projects add-iam-policy-binding "$PROJECT_ID" \

90 --member="serviceAccount:${SA}" --role="roles/aiplatform.user" --condition=None

91 ```

92 

93 Quindi abilitate i modelli Claude per il progetto in Model Garden; i modelli vengono pubblicati in regioni specifiche, quindi controllate ogni scheda del modello.

94 </Step>

95 

96 <Step title="Compilare e inviare l'immagine ad Artifact Registry">

97 Compilate l'immagine secondo i [requisiti dell'immagine del contenitore](/it/claude-apps-gateway-deploy#container-image), utilizzando il binario glibc `linux-x64`, e inviatela:

98 

99 ```bash theme={null}

100 gcloud artifacts repositories create claude-gateway \

101 --repository-format=docker --location="$REGION"

102 gcloud auth configure-docker "${REGION}-docker.pkg.dev" --quiet

103 

104 # Cloud Run requires linux/amd64. --provenance=false avoids a buildx OCI

105 # image index that Cloud Run rejects.

106 docker build --platform=linux/amd64 --provenance=false \

107 -t "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" .

108 docker push "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>"

109 ```

110 </Step>

111 

112 <Step title="Eseguire il provisioning di Cloud SQL per PostgreSQL">

113 Create l'istanza su un VPC tramite Private Services Access in modo che non abbia IP pubblico; questo soddisfa anche i progetti in cui `constraints/sql.restrictPublicIp` è applicato:

114 

115 ```bash theme={null}

116 VPC=cc-gateway-vpc

117 gcloud compute networks create "$VPC" --subnet-mode=custom

118 gcloud compute networks subnets create cc-gateway-subnet \

119 --network="$VPC" --region="$REGION" --range=10.0.0.0/24

120 

121 # Private Services Access: one-time per VPC

122 gcloud compute addresses create "google-managed-services-${VPC}" \

123 --global --purpose=VPC_PEERING --prefix-length=16 --network="$VPC"

124 gcloud services vpc-peerings connect \

125 --service=servicenetworking.googleapis.com \

126 --ranges="google-managed-services-${VPC}" --network="$VPC"

127 

128 gcloud sql instances create claude-gateway-db \

129 --database-version=POSTGRES_16 --tier=db-g1-small --region="$REGION" \

130 --network="projects/${PROJECT_ID}/global/networks/${VPC}" --no-assign-ip

131 gcloud sql databases create claude_gateway --instance=claude-gateway-db

132 PGPASS="$(openssl rand -hex 24)"

133 gcloud sql users create gateway --instance=claude-gateway-db --password="$PGPASS"

134 

135 PRIVATE_IP="$(gcloud sql instances describe claude-gateway-db \

136 --format='value(ipAddresses[0].ipAddress)')"

137 GATEWAY_POSTGRES_URL="postgres://gateway:${PGPASS}@${PRIVATE_IP}:5432/claude_gateway?sslmode=require"

138 ```

139 

140 Il runtime Cloud Run o GKE deve essere su, o instradato in, questo VPC.

141 </Step>

142 

143 <Step title="Scrivere gateway.yaml">

144 Il blocco `upstreams` punta ad Agent Platform con `auth: {}`, quindi il gateway si autentica tramite Application Default Credentials dall'account di servizio del runtime. Consultate il [riferimento di configurazione](/it/claude-apps-gateway-config) per ogni campo.

145 

146 Due campi `listen` dipendono da cosa si trova davanti al gateway:

147 

148 * `public_url`: richiesto dietro Cloud Run o un GKE Ingress. Il gateway costruisce l'`redirect_uri` dell'IdP e il suo documento di discovery solo da questo valore, mai da intestazioni `X-Forwarded-*`.

149 * `trusted_proxies`: gli intervalli di origine del front end. Il gateway onora `X-Forwarded-For` solo quando il peer TCP è in questo elenco, quindi percorre la catena oltre i hop affidabili, in modo che i limiti di velocità di accesso per IP e gli eventi di audit registrino gli IP degli sviluppatori invece di quello del load balancer.

150 

151 Impostate `trusted_proxies` in modo che corrisponda al vostro front end. Un GKE Ingress esterno di classe `gce` non è elencato: esegue il provisioning di un indirizzo di regola di inoltro pubblico, che il controllo [rete privata](/it/claude-apps-gateway#prerequisites) di `/login` rifiuta.

152 

153 | Front end | `trusted_proxies` |

154 | ------------------------------------------------------ | ---------------------------------------------------- |

155 | Cloud Run raggiunto direttamente, nessun load balancer | `[169.254.0.0/16]` |

156 | Internal Application Load Balancer davanti a Cloud Run | `169.254.0.0/16` più il CIDR della subnet solo proxy |

157 | GKE internal Ingress, classe `gce-internal` | Il CIDR della subnet solo proxy |

158 

159 L'esempio seguente utilizza i valori del load balancer interno davanti a Cloud Run.

160 

161 ```yaml gateway.yaml theme={null}

162 listen:

163 host: 0.0.0.0

164 port: 8080

165 public_url: https://claude-gateway.internal.example.com

166 trusted_proxies: [169.254.0.0/16, <your-proxy-only-subnet-cidr>]

167 

168 oidc:

169 issuer: https://accounts.google.com

170 client_id: <your-oauth-client-id>

171 client_secret: ${OIDC_CLIENT_SECRET} # GKE: ${file:/secrets/oidc-client-secret}

172 allowed_email_domains: [example.com]

173 # Google ignores offline_access; these yield refresh tokens:

174 scopes: [openid, profile, email]

175 extra_auth_params: { access_type: offline, prompt: consent }

176 

177 session:

178 jwt_secret: ${GATEWAY_JWT_SECRET} # GKE: ${file:/secrets/jwt-secret}

179 

180 store:

181 postgres_url: ${GATEWAY_POSTGRES_URL} # GKE: ${file:/secrets/postgres-url}

182 

183 upstreams:

184 - provider: vertex

185 region: <your-region> # must match $REGION

186 project_id: <your-project>

187 auth: {} # ADC via the runtime service account

188 ```

189 

190 <Note>

191 I token id di Google non contengono alcuna rivendicazione `groups`. Per utilizzare le politiche basate su gruppi in [`managed.policies`](/it/claude-apps-gateway-config#managed) con Google Workspace come IdP, configurate [`oidc.google_groups`](/it/claude-apps-gateway-config#oidc), che cerca i gruppi di ogni utente tramite l'API Admin SDK Directory utilizzando un account di servizio con delega a livello di dominio. Senza di essa, abbinate invece su `email_domain`.

192 </Note>

193 </Step>

194 

195 <Step title="Archiviare i segreti in Secret Manager">

196 Create quattro segreti e concedete `roles/secretmanager.secretAccessor` all'account di servizio `claude-gateway`:

197 

198 | Segreto | Fonte |

199 | ---------------------------- | --------------------------------------------------- |

200 | `gateway-jwt-secret` | `openssl rand -base64 32` |

201 | `gateway-oidc-client-secret` | Google Cloud Console → Client OAuth |

202 | `gateway-postgres-url` | `$GATEWAY_POSTGRES_URL` dal passaggio Cloud SQL |

203 | `gateway-config` | Il completo `gateway.yaml` dal passaggio precedente |

204 

205 Il modo in cui i segreti raggiungono il contenitore differisce per traccia:

206 

207 * Su GKE vengono montati come file tramite il driver CSI di Secret Manager e `gateway.yaml` fa riferimento a `${file:/secrets/...}`.

208 * Su Cloud Run, che non può montare più segreti in una directory, `gateway.yaml` viene montato come file e gli altri tre si iniettano come variabili di ambiente, quindi `gateway.yaml` fa riferimento a `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}` e `${GATEWAY_POSTGRES_URL}` invece.

209 </Step>

210 

211 <Step title="Distribuire">

212 <Tabs>

213 <Tab title="Cloud Run">

214 Il comando seguente distribuisce per la produzione dietro un load balancer interno.

215 

216 ```bash theme={null}

217 gcloud run deploy claude-gateway \

218 --image="${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" \

219 --region="$REGION" \

220 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

221 --min-instances=1 \

222 --timeout=3600 \

223 --ingress=internal-and-cloud-load-balancing \

224 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

225 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

226 --no-invoker-iam-check

227 ```

228 

229 L'uscita VPC diretta, tramite `--network`, `--subnet` e `--vpc-egress=private-ranges-only`, consente al servizio di raggiungere direttamente l'IP privato di Cloud SQL. L'uscita pubblica verso gli endpoint di Agent Platform e `accounts.google.com` va direttamente a Internet piuttosto che attraverso il VPC, quindi non è necessario Cloud NAT.

230 

231 Il controllo IAM dell'invoker deve essere aperto o disabilitato. Il gateway esegue il proprio OIDC e i suoi client non portano alcun token GCP, quindi il controllo dell'invoker di Cloud Run deve ammettere richieste non autenticate. Il gateway autentica la richiesta una volta che raggiunge il contenitore con OIDC, con `allowed_email_domains` che controlla quali domini possono accedere.

232 

233 Due flag ammettono richieste non autenticate:

234 

235 * `--no-invoker-iam-check`: disabilita il controllo senza alcun binding `allUsers` da gestire e funziona con Domain Restricted Sharing

236 * `--allow-unauthenticated`: concede al ruolo `run.invoker` `allUsers`; utilizzatelo se la vostra organizzazione non consente `--no-invoker-iam-check`

237 

238 La restrizione dell'ingresso tramite `--ingress` è un livello separato e indipendente dal controllo dell'invoker; mantenetelo impostato per limitare il servizio alla vostra rete aziendale.

239 

240 Per impostazione predefinita, l'URL `*.run.app` di Cloud Run si risolve in un indirizzo pubblico, che il controllo [rete privata](/it/claude-apps-gateway#prerequisites) di `/login` rifiuta. Due topologie forniscono agli sviluppatori un nome host risolvibile privatamente e Cloud Run non ne esegue il provisioning per voi:

241 

242 * **Internal Application Load Balancer**, la topologia che il comando di distribuzione sopra presuppone: distribuire con `--ingress=internal-and-cloud-load-balancing`, eseguire il provisioning di un Internal Application Load Balancer davanti al servizio con un nome DNS interno e un certificato, e impostare `listen.public_url` su quel nome host.

243 * **Ingresso solo interno senza load balancer**: distribuire con `--ingress=internal` e lasciare `listen.public_url` come URL `*.run.app`, l'impostazione predefinita negli [asset di riferimento](#terraform-reference) di seguito. Affinché `*.run.app` si risolva privatamente, il vostro team di rete deve già operare un endpoint Private Service Connect per le API di Google, una zona privata Cloud DNS che risolve `*.run.app` ad esso e il routing on-premises a quell'endpoint.

244 

245 La [guida alla rete privata di Google per Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) copre l'infrastruttura di cui entrambe le opzioni hanno bisogno. Verificate l'accesso una volta che il gateway è in servizio su un nome host privato; fino ad allora, confermate che il contenitore si è avviato dai suoi log in Cloud Run.

246 

247 Aggiornate l'URI di reindirizzamento autorizzato del client OAuth a `<public_url>/oauth/callback` prima del primo accesso. Ridistribuite dopo aver modificato `public_url`, perché il gateway costruisce la sua origine pubblica solo da quell'impostazione e ignora `X-Forwarded-Host` e `X-Forwarded-Proto`. `X-Forwarded-For` viene onorato per gli IP client solo quando `listen.trusted_proxies` è impostato.

248 </Tab>

249 

250 <Tab title="GKE">

251 Il cluster deve essere sul `$VPC` creato nel passaggio Cloud SQL in modo che i pod possano raggiungere l'IP privato del database; il peering VPC da solo non funziona, perché l'IP privato di Cloud SQL è esso stesso una rete peered e il peering non è transitivo. Per creare un nuovo cluster su quel VPC, passate `--network="$VPC" --subnetwork=cc-gateway-subnet` a `gcloud container clusters create`.

252 

253 Abilitate Workload Identity sul cluster e sui suoi pool di nodi, quindi associate l'account di servizio Google all'account di servizio Kubernetes in modo che i pod ereditino le sue credenziali:

254 

255 ```bash theme={null}

256 gcloud container clusters update <cluster> --region="$REGION" \

257 --workload-pool="${PROJECT_ID}.svc.id.goog"

258 # On a Standard cluster, existing node pools also need GKE_METADATA;

259 # Autopilot enables this by default.

260 gcloud container node-pools update <pool> --cluster=<cluster> \

261 --region="$REGION" --workload-metadata=GKE_METADATA

262 

263 kubectl create namespace claude-gateway

264 kubectl create serviceaccount gateway -n claude-gateway

265 

266 gcloud iam service-accounts add-iam-policy-binding \

267 "claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

268 --role roles/iam.workloadIdentityUser \

269 --member "serviceAccount:${PROJECT_ID}.svc.id.goog[claude-gateway/gateway]"

270 

271 kubectl annotate serviceaccount gateway -n claude-gateway \

272 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

273 ```

274 

275 Distribuite il gateway come Deployment standard più un Service e un Ingress interno, classe `gce-internal`, come descritto in [Distribuzione Kubernetes](/it/claude-apps-gateway-deploy#kubernetes), con:

276 

277 * `serviceAccountName: gateway`

278 * il driver CSI di Secret Manager che monta i segreti in `/secrets`

279 * il probe di prontezza puntato a `GET /readyz`

280 

281 Allegate un BackendConfig con un `timeoutSec` elevato al Service del gateway: il servizio backend del load balancer dietro GKE Ingress ha un timeout predefinito di 30 secondi, che interrompe le risposte di streaming lunghe.

282 

283 Non applicate una NetworkPolicy di uscita che blocca `169.254.169.254` su un cluster Workload Identity; il pod deve raggiungere il server di metadati per le credenziali. La [guardia SSRF](/it/claude-apps-gateway-deploy#threat-model-summary) integrata del gateway è la difesa lì.

284 

285 Il gateway registra un avviso di avvio che l'endpoint dei metadati è raggiungibile e suggerisce di applicare una NetworkPolicy di uscita. Con Workload Identity quell'avviso è previsto, perché il pod ha bisogno dell'endpoint.

286 </Tab>

287 </Tabs>

288 </Step>

289 

290 <Step title="Inviare l'URL del gateway alle macchine degli sviluppatori">

291 Il gateway è ora in esecuzione, ma gli sviluppatori non possono raggiungerlo da `/login` fino a quando l'URL del gateway non è sulle loro macchine. Impostate `forceLoginMethod` e `forceLoginGatewayUrl` nel [file di impostazioni gestite](/it/claude-apps-gateway#set-the-gateway-url) che distribuite a ogni dispositivo tramite MDM. Non c'è alcuna opzione di gateway nel selettore di accesso per uno sviluppatore da selezionare manualmente.

292 </Step>

293</Steps>

294 

295<h2 id="terraform-reference">

296 Riferimento Terraform

297</h2>

298 

299Gli [asset di distribuzione di riferimento](https://github.com/anthropics/claude-code/tree/main/examples/gateway/gcp) automatizzano il percorso Cloud Run su questa pagina; gli asset di configurazione e immagine si applicano a entrambi i percorsi:

300 

301* `setup.sh`: un provisioner `gcloud` idempotente che percorre il percorso completo di Cloud Run, dall'abilitazione delle API alla prima distribuzione

302* `terraform/`: la stessa distribuzione come infrastruttura come codice, per una distribuzione greenfield: un apply mirato per creare il repository Artifact Registry, quindi compilare e inviare l'immagine, quindi un apply completo

303* `gateway.yaml.example` e un `Dockerfile` per l'immagine di runtime distroless

304 

305Gli artefatti impostano per impostazione predefinita l'ingresso di Cloud Run su `internal`, quindi non è richiesto alcun load balancer. Per corrispondere alla distribuzione di produzione dietro un ALB di questa pagina, eseguite `setup.sh` con `INGRESS=internal-and-cloud-load-balancing`, o impostate la variabile Terraform `ingress` su `INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER`. Gli artefatti impostano anche per impostazione predefinita il livello dell'invoker su una concessione `run.invoker` `allUsers` piuttosto che `--no-invoker-iam-check`, l'inverso della procedura dettagliata di questa pagina; entrambi funzionano e la scelta dipende dai vincoli di policy della vostra organizzazione.

306 

307Gli asset sono forniti come esempi funzionanti, non come artefatto di produzione supportato; esaminate e adattate al vostro ambiente.

308 

309<h2 id="troubleshooting">

310 Risoluzione dei problemi

311</h2>

312 

313Per gli errori di avvio del gateway e di accesso, consultate la tabella [risoluzione dei problemi](/it/claude-apps-gateway-deploy#troubleshooting) indipendente dalla piattaforma. Le voci seguenti sono specifiche per Google Cloud.

314 

315| Sintomo | Causa | Soluzione |

316| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

317| Cloud Run restituisce `403 Forbidden` prima di raggiungere il contenitore | Il controllo IAM dell'invoker è ancora abilitato | Distribuite con `--no-invoker-iam-check`, o concedete a `allUsers` il ruolo `run.invoker` con `--allow-unauthenticated` |

318| `--no-invoker-iam-check` rifiutato con `invoker_iam_disabled is not currently available` | Bloccato da `constraints/run.managed.requireInvokerIam` | Utilizzate `--allow-unauthenticated`. Se Domain Restricted Sharing tramite `constraints/iam.allowedPolicyMemberDomains` blocca anche quello, utilizzate il percorso GKE, che espone il gateway a livello di rete senza alcun binding `allUsers`. |

319| `Container manifest type … must support amd64/linux` al momento della distribuzione | L'immagine è stata compilata su un host non amd64, o buildx ha emesso un indice di immagine OCI | Compilate con `--platform=linux/amd64 --provenance=false` |

320| L'avvio del gateway esce con un errore di timeout della connessione Postgres su Cloud Run | Il servizio non è allegato al VPC, o Cloud SQL non ha IP privato su quel VPC; lo store smette di aspettare dopo 5 secondi | Distribuite con `--network` e `--subnet` per l'uscita VPC diretta e create l'istanza Cloud SQL con `--no-assign-ip` e `--network` che punta allo stesso VPC |

321| Le richieste di Agent Platform restituiscono `403 PERMISSION_DENIED` | Il runtime non utilizza l'account di servizio `claude-gateway`, o il modello non è abilitato in Model Garden per il progetto | Impostate `--service-account` su Cloud Run o associate Workload Identity su GKE e abilitate ogni modello Claude in Model Garden per la regione di destinazione |

322| Le risposte di streaming si interrompono dopo una durata fissa | Timeout della richiesta del front end: il servizio backend del load balancer dietro GKE Ingress ha un timeout predefinito di 30 secondi e Cloud Run di 300 secondi | Allegate un BackendConfig con un `timeoutSec` elevato su GKE, o distribuite con `--timeout=3600` su Cloud Run |

323 

324<h2 id="next-steps">

325 Passaggi successivi

326</h2>

327 

328* [Riferimento di configurazione](/it/claude-apps-gateway-config): ogni opzione di `gateway.yaml`, incluse `managed.policies` e `telemetry`

329* [Distribuzione e operazioni](/it/claude-apps-gateway-deploy): configurazione IdP, controlli di integrità, rotazione della chiave segreta JWT, aggiornamenti e il modello di sicurezza

330* [Panoramica del gateway delle app Claude](/it/claude-apps-gateway): guida rapida e connessione degli sviluppatori

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Limiti di spesa del gateway delle app Claude

6 

7> Limita la spesa di ogni sviluppatore attraverso il gateway delle app Claude per giorno, settimana o mese. Imposta i limiti con un'API Admin e il gateway li applica in tempo reale su ogni richiesta.

8 

9I limiti di spesa limitano quanto ogni sviluppatore può spendere attraverso il tuo [gateway delle app Claude](/it/claude-apps-gateway) in un determinato giorno, settimana o mese. Quando uno sviluppatore supera il suo limite, il gateway restituisce `429` alla sua prossima richiesta e lo blocca fino al ripristino del periodo o fino a quando un amministratore non aumenta il limite. Utilizza i limiti di spesa per dare a ogni sviluppatore, gruppo o all'intera organizzazione un tetto massimo su una credenziale che tutti condividono.

10 

11Un gateway delle app Claude inoltra tutta l'inferenza attraverso una credenziale upstream condivisa, quindi la fattura del tuo provider attribuisce tutto a quella credenziale, non ai singoli sviluppatori. Senza limiti per sviluppatore, una flotta di agenti incontrollata può spendere l'intero impegno dell'organizzazione. I limiti di spesa sono la vista per sviluppatore del gateway e il circuito di protezione su quella fattura condivisa.

12 

13<h2 id="set-a-cap">

14 Imposta un limite

15</h2>

16 

17Con il blocco [`admin:`](/it/claude-apps-gateway-config#admin) configurato in `gateway.yaml`, il gateway serve un Admin API su `/v1/organizations/spend_limits` e applica i limiti in tempo reale su ogni richiesta di inferenza. I limiti stessi vengono impostati attraverso quell'API, non in `gateway.yaml`; ogni richiesta `POST /v1/organizations/spend_limits` crea o sostituisce un limite da `{scope, amount, period}`. L'API rispecchia le forme dei dati degli endpoint dei limiti di spesa dell'[Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api) pubblico di Anthropic, quindi un client HTTP scritto per quel contratto può indirizzarsi al gateway modificando il suo URL di base.

18 

19Questa richiesta imposta un valore predefinito a livello di organizzazione di \$500 al mese per ogni sviluppatore:

20 

21```bash theme={null}

22curl -sS https://claude-gateway.internal.example.com/v1/organizations/spend_limits \

23 -H "x-api-key: $GATEWAY_ADMIN_WRITE_KEY" \

24 -H "Content-Type: application/json" \

25 -d '{"scope": {"type": "organization"}, "amount": "50000", "period": "monthly"}'

26```

27 

28Questa richiesta aggiunge un limite più restrittivo di \$100 al giorno per ogni membro del gruppo `contractors`:

29 

30```bash theme={null}

31curl -sS https://claude-gateway.internal.example.com/v1/organizations/spend_limits \

32 -H "x-api-key: $GATEWAY_ADMIN_WRITE_KEY" \

33 -H "Content-Type: application/json" \

34 -d '{"scope": {"type": "rbac_group", "rbac_group_id": "contractors"}, "amount": "10000", "period": "daily"}'

35```

36 

37| Campo | Valori | Descrizione |

38| ------------ | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

39| `scope.type` | `user`, `rbac_group`, `organization` | `user` indirizza uno sviluppatore tramite il suo OpenID Connect (OIDC) `sub`, l'ID utente stabile assegnato dal tuo provider di identità; passalo come `scope.user_id`. `rbac_group` indirizza un [gruppo IdP](/it/claude-apps-gateway-config#managed) per nome; passalo come `scope.rbac_group_id`. `organization` è il valore predefinito a livello di organizzazione. Il gateway accetta tutti e tre; l'`POST` pubblico di Anthropic è solo per utenti oggi. |

40| `amount` | Stringa di numero intero di centesimi USD, o `null` | `null` è illimitato. `"0"` è un limite zero, che blocca ogni richiesta. |

41| `period` | `daily`, `weekly`, `monthly` | Un ambito può contenere un limite per periodo, e ognuno si applica indipendentemente: uno sviluppatore è bloccato se supera uno qualsiasi di essi. |

42 

43Un limite di gruppo o organizzazione è un valore predefinito per posto che ogni membro eredita, non un pool condiviso. Per periodo, il limite effettivo di uno sviluppatore si risolve in questo ordine: un override per utente, quindi il più restrittivo dei suoi limiti di gruppo, quindi il valore predefinito dell'organizzazione, quindi illimitato. [`admin.group_limit_mode: max`](/it/claude-apps-gateway-config#admin) capovolge il tie-break multi-gruppo al meno restrittivo invece.

44 

45<h3 id="authenticate-to-the-admin-api">

46 Autentica all'Admin API

47</h3>

48 

49Invia uno dei seguenti:

50 

51* Un header `x-api-key` che corrisponde a una chiave in [`admin.write_keys`](/it/claude-apps-gateway-config#admin) per accesso completo, o `admin.read_keys` per accesso di sola lettura con `GET`. Ogni chiave porta un `id` che appare nel registro di audit come `admin-key:<id>`, quindi assegna a Terraform, CI e a ogni automazione la propria.

52* Un token bearer del gateway il cui claim `groups` include uno dei [`admin.admin_groups`](/it/claude-apps-gateway-config#admin). Questo è accesso completo e viene registrato come `oidc:<sub>`, quindi preferiscilo per gli amministratori umani.

53 

54<h2 id="how-enforcement-works">

55 Come funziona l'applicazione

56</h2>

57 

58Su ogni richiesta `/v1/messages`, il gateway risolve i limiti dello sviluppatore e la spesa da inizio periodo in una query Postgres. Se superano uno qualsiasi dei limiti, la richiesta restituisce `429` con `error.type: billing_error` e l'header `x-should-retry: false`. Il messaggio è `spend limit reached`, seguito dal tuo [`admin.blocked_message`](/it/claude-apps-gateway-config#admin) se impostato.

59 

60`/v1/messages/count_tokens` è esente. Il conteggio dei token è gratuito, quindi viene eseguito indipendentemente dallo stato del limite.

61 

62Dopo ogni risposta, un misuratore di utilizzo legge i conteggi dei token dalla risposta mentre viene trasmessa al client, li prezza al prezzo di listino USD e incrementa i contatori Postgres per tutti e tre i bucket di periodo. Il misuratore è un singolo lettore sul flusso, quindi i byte del client rimangono intatti e un errore di misurazione non interrompe la risposta.

63 

64I limiti di spesa stimano la spesa dai conteggi dei token al prezzo di listino USD; sono un circuito di protezione, non una fattura. Per la fatturazione autorevole, riconcilia con il rapporto di utilizzo del tuo provider, come l'Admin API di Utilizzo e Costi di Anthropic, i log di invocazione su Bedrock, o Cloud Monitoring su Google Cloud.

65 

66I prezzi utilizzano la stessa tabella che Claude Code CLI utilizza per il proprio display dei costi, con la stessa canonicalizzazione dell'ID modello tra Anthropic, Bedrock (`us.anthropic.…-v1:0`), Agent Platform (`claude-…@date`), e forme di Foundry ID. Un ID modello che la tabella non riesce a posizionare, come un nome di distribuzione Foundry o un ARN del profilo di inferenza, viene prezzato al livello predefinito del modello sconosciuto di \$5/\$25 per milione di token di input/output piuttosto che zero, quindi un ID non riconosciuto non può aggirare un limite andando non misurato. Il gateway avvisa all'avvio e una volta per ID al runtime quando un modello viene prezzato attraverso il fallback.

67 

68Gli abort dei client vengono fatturati anche. L'upstream segnala i token di output solo nel frame terminale del flusso, quindi un flusso interrotto non li contiene. Il misuratore mantiene una stima conservativa del pavimento dal contenuto trasmesso, circa quattro caratteri per token, e la fattura quando e solo quando il frame di utilizzo terminale è mancante. Un flusso completo fattura sempre il conteggio segnalato dall'upstream. Senza questo, uno sviluppatore limitato potrebbe trasmettere l'output e interrompere ogni richiesta immediatamente prima della fine, spendendo senza mai essere conteggiato.

69 

70<h3 id="postgres-availability">

71 Disponibilità di Postgres

72</h3>

73 

74La pre-verifica interroga Postgres con un timeout di due secondi. Se l'archivio è irraggiungibile o scade, l'applicazione fallisce aperta per impostazione predefinita: la richiesta procede e il gateway registra un avviso. Imposta [`enforcement.fail_closed_on_error: true`](/it/claude-apps-gateway-config#enforcement) per fallire chiuso invece, che restituisce lo stesso `429 billing_error` con il messaggio `spend limit unavailable`. Fail-open impedisce a un'interruzione dell'archivio di diventare un'interruzione dell'inferenza; fail-closed garantisce nessuna spesa non misurata.

75 

76<h2 id="admin-api-reference">

77 Riferimento Admin API

78</h2>

79 

80Gli endpoint di seguito vengono serviti sotto `/v1/organizations/spend_limits`.

81 

82| Metodo e percorso | Descrizione |

83| ---------------------------------------------- | ----------------------------------------------------------------------------- |

84| `GET /v1/organizations/spend_limits` | Elenca i limiti configurati. Query: `?limit=&after_id=&before_id=`. |

85| `POST /v1/organizations/spend_limits` | Crea o sostituisce un limite per `{scope, period}`. |

86| `GET /v1/organizations/spend_limits/{id}` | Recupera un limite per il suo ID con prefisso `spl_`. |

87| `DELETE /v1/organizations/spend_limits/{id}` | Elimina un limite. Restituisce `{type: "spend_limit_deleted", id}`. |

88| `GET /v1/organizations/spend_limits/effective` | Limite risolto e spesa da inizio periodo per principale per periodo. |

89| `GET /v1/organizations/spend_limits/audit` | Traccia di mutazione amministrativa, più recente per primo. Query: `?limit=`. |

90 

91Le convenzioni rispecchiano l'Admin API di Anthropic:

92 

93* Un `type` su ogni oggetto

94* ID con prefisso `spl_`

95* Importi come stringhe di numero intero di centesimi USD; `POST` rifiuta qualsiasi altra `currency` con `400`

96* L'envelope di errore `{type: "error", error: {type, message}, request_id}`

97* Un header di risposta `request-id` su ogni risposta amministrativa, successo o errore, che corrisponde al `request_id` del corpo

98 

99Ogni mutazione scrive una riga prima/dopo a `admin_audit` nella stessa transazione, attribuita a `admin-key:<id>` o `oidc:<sub>`.

100 

101Il gateway serve gli endpoint dei limiti di spesa solo. Altre superfici Admin API, come la coda `spend_limit_increase_requests`, non fanno parte dell'Admin API del gateway.

102 

103<h3 id="/effective">

104 `/effective`

105</h3>

106 

107`GET /v1/organizations/spend_limits/effective` restituisce lo schema `SpendSummary` di Anthropic: ogni riga è un principale per un periodo, con il limite risolto, la spesa da inizio periodo e un oggetto `actor`. Differenze specifiche del gateway:

108 

109* `user_id` è l'OIDC `sub`.

110* `actor.name` e `actor.email_address` sono `null` fino alla prima richiesta di inferenza del principale attraverso il gateway. Il gateway non ha una directory utenti; registra i valori ultimi visti dal JWT di sessione di ogni utente.

111* Ogni riga contiene anche un array `groups`, gli ultimi gruppi IdP visti dal principale. Questa è un'estensione del gateway in modo che un'interfaccia utente amministrativa possa mostrare ogni livello di limite che si applica; i client a forma di Anthropic lo ignorano.

112* Senza un filtro `user_ids[]`, elenca i principali con spesa registrata, perché il gateway non può enumerare tutti i membri dell'organizzazione.

113 

114I limiti di origine del gruppo si risolvono rispetto a quei gruppi ultimi visti con lo stesso tie-break `group_limit_mode` che l'applicazione utilizza, quindi il visualizzatore mostra il limite che effettivamente si applica.

115 

116| Parametro di query | Descrizione |

117| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |

118| `user_ids[]` | Ripetibile. Filtra a principali specifici per OIDC `sub`. |

119| `period[]` | Ripetibile. Filtra a righe `daily`, `weekly`, o `monthly`. |

120| `sort` | `spend_desc` elenca i maggiori spenditori per primi. Richiede esattamente uno `period[]`. |

121| `q` | Filtro di sottostringa senza distinzione tra maiuscole e minuscole sull'OIDC `sub`, email ultimi visti e nome visualizzato ultimi visti. |

122| `limit` / `page` | Dimensione della pagina (1–1000, predefinito 20) e il cursore opaco dalla risposta precedente `next_page`. |

123 

124<Warning>

125 `q=` e `user_ids[]=` vanno nelle stringhe di query GET, quindi qualsiasi proxy di fronting o load balancer li cattura nei suoi log di accesso. Se la tua politica di log PII è ristretta, pulisci questi parametri lì.

126</Warning>

127 

128<h3 id="/audit">

129 `/audit`

130</h3>

131 

132Restituisce la traccia di mutazione del limite di spesa: chi ha modificato quale limite, snapshot prima/dopo e il motivo facoltativo, più recente per primo. `has_more` è esatto. Questo endpoint segue le convenzioni dell'Admin API locale piuttosto che una forma di dati di prima parte.

133 

134<h3 id="pagination">

135 Paginazione

136</h3>

137 

138L'elenco grezzo pagina per `after_id` e `before_id`, che sono ID `spl_…` mutuamente esclusivi; i risultati sono ordinati per creazione e `has_more` riflette la direzione di attraversamento. `/effective` pagina per il token opaco `next_page` passato indietro come `?page=`, con principali ordinati in modo ascendente in modo che le pagine rimangono stabili mentre la spesa viene registrata. `limit` è 1–1000, predefinito 20, su entrambi.

139 

140<h2 id="data-lifecycle">

141 Ciclo di vita dei dati

142</h2>

143 

144Il gateway contiene quattro tabelle relative alla spesa; una pulizia oraria applica le finestre di conservazione:

145 

146| Tabella | Contenuti | Conservazione |

147| ------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |

148| `spend` | Contatori da inizio periodo per principale in centesimi | [`admin.spend_retention_months`](/it/claude-apps-gateway-config#admin), predefinito 13 |

149| `spend_limits` | I limiti configurati | Fino all'eliminazione tramite l'API |

150| `admin_audit` | La traccia di mutazione | [`admin.audit_retention_days`](/it/claude-apps-gateway-config#admin), predefinito 365 |

151| `principal_emails` | Email ultimi visti di ogni principale, nome visualizzato e gruppi IdP. Contiene PII. | [`admin.identity_retention_days`](/it/claude-apps-gateway-config#admin) dall'ultima attività, predefinito 90 |

152 

153`identity_retention_days` è deliberatamente più breve di `spend_retention_months`: un'identità deprovisioning smette di aggiornarsi e invecchia, mentre i suoi contatori di spesa anonimi rimangono per il rapporto anno su anno.

154 

155Quando uno sviluppatore se ne va, elimina qualsiasi limite per utente tramite `DELETE /v1/organizations/spend_limits/{id}`; la loro spesa e le righe di identità invecchiano sulle finestre di conservazione di cui sopra. Per cancellare una persona immediatamente, per offboarding o una richiesta di accesso ai dati del soggetto (DSAR), esegui `DELETE FROM principal_emails WHERE principal = '<sub>'` direttamente contro il database del gateway. Questo rimuove l'unica tabella che contiene la loro email, nome e gruppi. Le righe `spend` e `admin_audit` fanno riferimento solo all'OIDC `sub` pseudonimo e invecchiano sulle loro finestre.

156 

157<h2 id="related">

158 Correlati

159</h2>

160 

161* [Configurazione `admin` e `enforcement`](/it/claude-apps-gateway-config#admin): abilitazione dell'Admin API e ottimizzazione della conservazione

162* [Guida di distribuzione](/it/claude-apps-gateway-deploy#postgres): schema Postgres e guida al backup

Details

186| Archivia un ambiente | Apri l'ambiente per la modifica e seleziona **Archivia**. Gli ambienti archiviati sono nascosti dal selettore ma le sessioni esistenti continuano a essere eseguite. |186| Archivia un ambiente | Apri l'ambiente per la modifica e seleziona **Archivia**. Gli ambienti archiviati sono nascosti dal selettore ma le sessioni esistenti continuano a essere eseguite. |

187| Imposta il predefinito per `--remote` | Esegui `/remote-env` nel tuo terminale. Se hai un singolo ambiente, questo comando mostra la tua configurazione attuale. `/remote-env` seleziona solo il predefinito; aggiungi, modifica e archivia gli ambienti dall'interfaccia web. |187| Imposta il predefinito per `--remote` | Esegui `/remote-env` nel tuo terminale. Se hai un singolo ambiente, questo comando mostra la tua configurazione attuale. `/remote-env` seleziona solo il predefinito; aggiungi, modifica e archivia gli ambienti dall'interfaccia web. |

188 188 

189Le variabili di ambiente usano il formato `.env` con una coppia `KEY=value` per riga. Non racchiudere i valori tra virgolette, poiché le virgolette vengono archiviate come parte del valore.189Le variabili di ambiente usano il formato `.env` con una coppia `KEY=value` per riga. Non racchiudere i valori tra virgolette, poiché le virgolette vengono archiviate come parte del valore. Questo esempio definisce tre variabili:

190 190 

191```text theme={null}191```text theme={null}

192NODE_ENV=development192NODE_ENV=development


593 * \*.sentry.io593 * \*.sentry.io

594 * downloads.sentry-cdn.com594 * downloads.sentry-cdn.com

595 * http-intake.logs.datadoghq.com595 * http-intake.logs.datadoghq.com

596 * browser-intake-us5-datadoghq.com

596 * \*.datadoghq.com597 * \*.datadoghq.com

597 * \*.datadoghq.eu598 * \*.datadoghq.eu

598 * api.honeycomb.io599 * api.honeycomb.io


623 Sposta attività tra web e terminale624 Sposta attività tra web e terminale

624</h2>625</h2>

625 626 

626Questi flussi di lavoro richiedono la [CLI Claude Code](/it/quickstart) connessa allo stesso account claude.ai. Puoi avviare nuove sessioni cloud dal tuo terminale o estrarre sessioni cloud nel tuo terminale per continuare localmente. Le sessioni cloud persistono anche se chiudi il tuo laptop e puoi monitorarle da qualsiasi luogo inclusa l'app mobile Claude.627Questi flussi di lavoro richiedono la [Claude Code CLI](/it/quickstart) connessa allo stesso account claude.ai. Puoi avviare nuove sessioni cloud dal tuo terminale o estrarre sessioni cloud nel tuo terminale per continuare localmente. Le sessioni cloud persistono anche se chiudi il tuo laptop e puoi monitorarle da qualsiasi luogo inclusa l'app mobile Claude.

627 628 

628<Note>629<Note>

629 Dalla CLI, l'handoff della sessione è unidirezionale: puoi estrarre sessioni cloud nel tuo terminale con `--teleport`, ma non puoi inviare una sessione terminale esistente al web. Il flag `--remote` crea una nuova sessione cloud per il tuo repository attuale. L'[app Desktop](/it/desktop#continue-in-another-surface) fornisce un menu Continua in che può inviare una sessione locale al web.630 Dalla CLI, l'handoff della sessione è unidirezionale: puoi estrarre sessioni cloud nel tuo terminale con `--teleport`, ma non puoi inviare una sessione terminale esistente al web. Il flag `--remote` crea una nuova sessione cloud per il tuo repository attuale. L'[app Desktop](/it/desktop#continue-in-another-surface) fornisce un menu Continua in che può inviare una sessione locale al web.


641 642 

642Questo crea una nuova sessione cloud su claude.ai. La sessione clona il remoto GitHub della tua directory attuale al tuo ramo attuale, quindi esegui il push prima se hai commit locali, poiché la VM clona da GitHub piuttosto che dalla tua macchina. `--remote` funziona con un singolo repository alla volta. L'attività viene eseguita nel cloud mentre continui a lavorare localmente.643Questo crea una nuova sessione cloud su claude.ai. La sessione clona il remoto GitHub della tua directory attuale al tuo ramo attuale, quindi esegui il push prima se hai commit locali, poiché la VM clona da GitHub piuttosto che dalla tua macchina. `--remote` funziona con un singolo repository alla volta. L'attività viene eseguita nel cloud mentre continui a lavorare localmente.

643 644 

645{/* min-version: 2.1.195 */}A partire dalla v2.1.195, la CLI mostra un elenco di controllo in tempo reale dei passaggi di configurazione, come la clonazione del repository e l'esecuzione dello [script di configurazione](#setup-scripts), mentre il contenitore cloud si avvia. I messaggi che digiti mentre il contenitore è in fase di provisioning vengono messi in coda e inviati una volta che la sessione è pronta.

646 

644<Note>647<Note>

645 `--remote` crea sessioni cloud. `--remote-control` non è correlato: espone una sessione CLI locale per il monitoraggio dal web. Vedi [Remote Control](/it/remote-control).648 `--remote` crea sessioni cloud. `--remote-control` non è correlato: espone una sessione CLI locale per il monitoraggio dal web. Vedi [Remote Control](/it/remote-control).

646</Note>649</Note>


703Estrai una sessione cloud nel tuo terminale usando uno di questi:706Estrai una sessione cloud nel tuo terminale usando uno di questi:

704 707 

705* **Usando `--teleport`**: dalla riga di comando, esegui `claude --teleport` per un selettore di sessione interattivo, o `claude --teleport <session-id>` per riprendere una sessione specifica direttamente. Se hai modifiche non sottoposte a commit, ti verrà chiesto di archiviarle prima.708* **Usando `--teleport`**: dalla riga di comando, esegui `claude --teleport` per un selettore di sessione interattivo, o `claude --teleport <session-id>` per riprendere una sessione specifica direttamente. Se hai modifiche non sottoposte a commit, ti verrà chiesto di archiviarle prima.

706* **Usando `/teleport`**: all'interno di una sessione CLI esistente, esegui `/teleport` (o `/tp`) per aprire lo stesso selettore di sessione senza riavviare Claude Code.709* **Usando `/teleport`**: all'interno di una sessione CLI esistente, esegui `/teleport` o `/tp` per aprire lo stesso selettore di sessione senza riavviare Claude Code.

707* **Da `/tasks`**: esegui `/tasks` per vedere le tue sessioni in background, quindi premi `t` per teletrasportarti in una710* **Da `/tasks`**: esegui `/tasks` per vedere le tue sessioni in background, quindi premi `t` per teletrasportarti in una.

708* **Dall'interfaccia web**: seleziona **Open in CLI** per copiare un comando che puoi incollare nel tuo terminale711* **Dall'interfaccia web**: seleziona **Open in CLI** per copiare un comando che puoi incollare nel tuo terminale.

709 712 

710Quando teletrasporti una sessione, Claude verifica che sei nel repository corretto, recupera e controlla il ramo dalla sessione cloud e carica la cronologia completa della conversazione nel tuo terminale.713Quando teletrasporti una sessione, Claude verifica che sei nel repository corretto, recupera e controlla il ramo dalla sessione cloud e carica la cronologia completa della conversazione nel tuo terminale.

711 714 


752 755 

753L'auto-compattazione viene eseguita automaticamente quando la finestra di contesto si avvicina alla capacità. Per attivarla prima, imposta [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/it/env-vars) nelle tue [variabili di ambiente](#configure-your-environment). Ad esempio, `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` compatta al 70% della capacità invece di attendere fino a quando la finestra non è quasi piena. Per modificare la dimensione della finestra effettiva per i calcoli di compattazione, usa [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/it/env-vars).756L'auto-compattazione viene eseguita automaticamente quando la finestra di contesto si avvicina alla capacità. Per attivarla prima, imposta [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/it/env-vars) nelle tue [variabili di ambiente](#configure-your-environment). Ad esempio, `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` compatta al 70% della capacità invece di attendere fino a quando la finestra non è quasi piena. Per modificare la dimensione della finestra effettiva per i calcoli di compattazione, usa [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/it/env-vars).

754 757 

755I [subagent](/it/sub-agents) funzionano allo stesso modo che fanno localmente. Claude può generarli con lo strumento Task per scaricare la ricerca o il lavoro parallelo in una finestra di contesto separata, mantenendo la conversazione principale più leggera. I subagent definiti in `.claude/agents/` del tuo repository vengono raccolti automaticamente. I [team di agenti](/it/agent-teams) sono disabilitati per impostazione predefinita ma possono essere abilitati aggiungendo `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` alle tue [variabili di ambiente](#configure-your-environment).758I [subagent](/it/sub-agents) funzionano allo stesso modo che fanno localmente. Claude può generarli con lo strumento Task per scaricare la ricerca o il lavoro parallelo in una finestra di contesto separata, mantenendo la conversazione principale più leggera. I subagent definiti in `.claude/agents/` del tuo repository vengono raccolti automaticamente.

759 

760I [team di agenti](/it/agent-teams) sono disabilitati per impostazione predefinita ma possono essere abilitati aggiungendo `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` alle tue [variabili di ambiente](#configure-your-environment).

756 761 

757<h3 id="review-changes">762<h3 id="review-changes">

758 Rivedi le modifiche763 Rivedi le modifiche


770 Condividi da un account Enterprise o Team775 Condividi da un account Enterprise o Team

771</h4>776</h4>

772 777 

773Per gli account Enterprise e Team, le due opzioni di visibilità sono **Private** e **Team**. La visibilità Team rende la sessione visibile agli altri membri della tua organizzazione claude.ai. La verifica dell'accesso al repository è abilitata per impostazione predefinita, in base all'account GitHub connesso all'account del destinatario. Il nome visualizzato del tuo account è visibile a tutti i destinatari con accesso. Le sessioni [Claude in Slack](/it/slack) vengono condivise automaticamente con visibilità Team.778Per gli account Enterprise e Team, le due opzioni di visibilità sono **Private** e **Team**. La visibilità Team rende la sessione visibile agli altri membri della tua organizzazione claude.ai. Le sessioni [Claude in Slack](/it/slack) vengono condivise automaticamente con visibilità Team.

779 

780La verifica dell'accesso al repository è abilitata per impostazione predefinita, in base all'account GitHub connesso all'account del destinatario. Il nome visualizzato del tuo account è visibile a tutti i destinatari con accesso.

774 781 

775<h4 id="share-from-a-max-or-pro-account">782<h4 id="share-from-a-max-or-pro-account">

776 Condividi da un account Max o Pro783 Condividi da un account Max o Pro


863 870 

864* Controlla [status.claude.com](https://status.claude.com) per gli incidenti delle sessioni cloud871* Controlla [status.claude.com](https://status.claude.com) per gli incidenti delle sessioni cloud

865* Riprova dopo un minuto, poiché la capacità viene fornita su richiesta872* Riprova dopo un minuto, poiché la capacità viene fornita su richiesta

866* Conferma che il tuo repository sia raggiungibile. L'account GitHub che si connette deve avere accesso al repository su GitHub, tramite l'autorizzazione dell'app GitHub di Claude o un token `gh` sincronizzato tramite `/web-setup` l'installazione dell'app sul repository non è richiesta. Vedi [Opzioni di autenticazione GitHub](#github-authentication-options).873* Conferma che il tuo repository sia raggiungibile. L'account GitHub che si connette deve avere accesso al repository su GitHub, tramite l'autorizzazione dell'app GitHub di Claude o un token `gh` sincronizzato tramite `/web-setup`. L'installazione dell'app sul repository non è richiesta. Vedi [Opzioni di autenticazione GitHub](#github-authentication-options).

867 874 

868<h3 id="remote-control-session-expired-or-access-denied">875<h3 id="remote-control-session-expired-or-access-denied">

869 Sessione Remote Control scaduta o accesso negato876 Sessione Remote Control scaduta o accesso negato

Details

283```bash theme={null}283```bash theme={null}

284export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5284export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5

285export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7285export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7

286export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6286export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5

287export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5287export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

288```288```

289 289 

Details

22| `claude -c -p "query"` | Continua tramite SDK | `claude -c -p "Check for type errors"` |22| `claude -c -p "query"` | Continua tramite SDK | `claude -c -p "Check for type errors"` |

23| `claude -r "<session>" "query"` | Riprendi sessione per ID o nome | `claude -r "auth-refactor" "Finish this PR"` |23| `claude -r "<session>" "query"` | Riprendi sessione per ID o nome | `claude -r "auth-refactor" "Finish this PR"` |

24| `claude update` | Aggiorna alla versione più recente | `claude update` |24| `claude update` | Aggiorna alla versione più recente | `claude update` |

25| `claude gateway` | Avvia il server [gateway di app Claude](/it/claude-apps-gateway) auto-ospitato, per gli amministratori che distribuiscono SSO e policy davanti a Claude Code su Bedrock, Vertex AI o Foundry. Richiede `--config` che punta a un [`gateway.yaml`](/it/claude-apps-gateway-config). Disponibile in Claude Code v2.1.195 e successivo. | `claude gateway --config gateway.yaml` |

25| `claude install [version]` | Installa o reinstalla il binario nativo. Accetta una versione come `2.1.118`, oppure `stable` o `latest`. Vedi [Installa una versione specifica](/it/setup#install-a-specific-version) | `claude install stable` |26| `claude install [version]` | Installa o reinstalla il binario nativo. Accetta una versione come `2.1.118`, oppure `stable` o `latest`. Vedi [Installa una versione specifica](/it/setup#install-a-specific-version) | `claude install stable` |

26| `claude auth login` | Accedi al tuo account Anthropic. Usa `--email` per pre-compilare il tuo indirizzo email, `--sso` per forzare l'autenticazione SSO e `--console` per accedere con Anthropic Console per la fatturazione dell'utilizzo dell'API invece di un abbonamento Claude | `claude auth login --console` |27| `claude auth login` | Accedi al tuo account Anthropic. Usa `--email` per pre-compilare il tuo indirizzo email, `--sso` per forzare l'autenticazione SSO e `--console` per accedere con Anthropic Console per la fatturazione dell'utilizzo dell'API invece di un abbonamento Claude | `claude auth login --console` |

27| `claude auth logout` | Esci dal tuo account Anthropic | `claude auth logout` |28| `claude auth logout` | Esci dal tuo account Anthropic | `claude auth logout` |


93| `--max-budget-usd` | Importo massimo in dollari da spendere nelle chiamate API prima di fermarsi (solo modalità print) | `claude -p --max-budget-usd 5.00 "query"` |94| `--max-budget-usd` | Importo massimo in dollari da spendere nelle chiamate API prima di fermarsi (solo modalità print) | `claude -p --max-budget-usd 5.00 "query"` |

94| `--max-turns` | Limita il numero di turni agentici (solo modalità print). Esce con un errore quando il limite viene raggiunto. Nessun limite per impostazione predefinita | `claude -p --max-turns 3 "query"` |95| `--max-turns` | Limita il numero di turni agentici (solo modalità print). Esce con un errore quando il limite viene raggiunto. Nessun limite per impostazione predefinita | `claude -p --max-turns 3 "query"` |

95| `--mcp-config` | Carica server MCP da file JSON o stringhe (separati da spazi) | `claude --mcp-config ./mcp.json` |96| `--mcp-config` | Carica server MCP da file JSON o stringhe (separati da spazi) | `claude --mcp-config ./mcp.json` |

96| `--model` | Imposta il modello per la sessione corrente con un alias per il modello più recente (`sonnet`, `opus`, `haiku` o `fable`) o il nome completo di un modello. Sostituisce l'impostazione [`model`](/it/settings#available-settings) e [`ANTHROPIC_MODEL`](/it/model-config#environment-variables) | `claude --model claude-sonnet-4-6` |97| `--model` | Imposta il modello per la sessione corrente con un alias per il modello più recente (`sonnet`, `opus`, `haiku` o `fable`) o il nome completo di un modello. Sostituisce l'impostazione [`model`](/it/settings#available-settings) e [`ANTHROPIC_MODEL`](/it/model-config#environment-variables) | `claude --model claude-sonnet-5` |

97| `--name`, `-n` | Imposta un nome visualizzato per la sessione, mostrato in `/resume` e nel titolo del terminale. Puoi riprendere una sessione denominata con `claude --resume <name>`. <br /><br />[`/rename`](/it/commands) cambia il nome durante la sessione e lo mostra anche nella barra del prompt | `claude -n "my-feature-work"` |98| `--name`, `-n` | Imposta un nome visualizzato per la sessione, mostrato in `/resume` e nel titolo del terminale. Puoi riprendere una sessione denominata con `claude --resume <name>`. <br /><br />[`/rename`](/it/commands) cambia il nome durante la sessione e lo mostra anche nella barra del prompt | `claude -n "my-feature-work"` |

98| `--no-chrome` | Disabilita [integrazione browser Chrome](/it/chrome) per questa sessione | `claude --no-chrome` |99| `--no-chrome` | Disabilita [integrazione browser Chrome](/it/chrome) per questa sessione | `claude --no-chrome` |

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

commands.md +2 −0

Details

70| `/cost` | Alias per `/usage` |70| `/cost` | Alias per `/usage` |

71| `/debug [description]` | **[Skill](/it/skills#bundled-skills).** Abilita la registrazione del debug per la sessione corrente e risolvi i problemi leggendo il log di debug della sessione. La registrazione del debug è disattivata per impostazione predefinita a meno che tu non abbia avviato con `claude --debug`, quindi eseguire `/debug` a metà sessione inizia a catturare i log da quel momento in poi. Facoltativamente descrivi il problema per focalizzare l'analisi |71| `/debug [description]` | **[Skill](/it/skills#bundled-skills).** Abilita la registrazione del debug per la sessione corrente e risolvi i problemi leggendo il log di debug della sessione. La registrazione del debug è disattivata per impostazione predefinita a meno che tu non abbia avviato con `claude --debug`, quindi eseguire `/debug` a metà sessione inizia a catturare i log da quel momento in poi. Facoltativamente descrivi il problema per focalizzare l'analisi |

72| `/deep-research <question>` | **[Workflow](/it/workflows#bundled-workflows).** Espandi le ricerche web su una domanda, recupera e verifica incrociata le fonti e sintetizza un rapporto citato |72| `/deep-research <question>` | **[Workflow](/it/workflows#bundled-workflows).** Espandi le ricerche web su una domanda, recupera e verifica incrociata le fonti e sintetizza un rapporto citato |

73| `/design-login` | Autorizza l'accesso al sistema di design per `/design-sync` con il tuo account claude.ai |

74| `/design-sync [hint]` | **[Skill](/it/skills#bundled-skills).** Converti il sistema di design React del tuo repository e caricalo su [Claude Design](https://claude.ai/design), in modo che i design che produce utilizzino i tuoi componenti reali. Facoltativamente nomina il sistema di design, ad esempio `/design-sync Acme DS`. Una prima sincronizzazione verifica ogni componente e può richiedere alcune ore su un repository di grandi dimensioni. Disponibile sull'API Anthropic; su Amazon Bedrock, sulla piattaforma agenti di Google Cloud e su Microsoft Foundry lo strumento sottostante non può raggiungere claude.ai, quindi il comando non è disponibile |

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

74| `/diff` | Apri un visualizzatore diff interattivo che mostra le modifiche non sottoposte a commit e i diff per turno. Usa le frecce sinistra/destra per passare tra il diff git corrente e i singoli turni di Claude, e su/giù per sfogliare i file |76| `/diff` | Apri un visualizzatore diff interattivo che mostra le modifiche non sottoposte a commit e i diff per turno. Usa le frecce sinistra/destra per passare tra il diff git corrente e i singoli turni di Claude, e su/giù per sfogliare i file |

75| `/doctor` | Diagnostica e verifica l'installazione e le impostazioni di Claude Code. I risultati vengono visualizzati con icone di stato. Premi `f` per fare in modo che Claude corregga eventuali problemi segnalati |77| `/doctor` | Diagnostica e verifica l'installazione e le impostazioni di Claude Code. I risultati vengono visualizzati con icone di stato. Premi `f` per fare in modo che Claude corregga eventuali problemi segnalati |

computer-use.md +3 −3

Details

112 Una sessione alla volta112 Una sessione alla volta

113</h3>113</h3>

114 114 

115Computer use mantiene un blocco a livello di macchina mentre è attivo. Se un'altra sessione di Claude Code sta già usando il tuo computer, i nuovi tentativi falliscono con un messaggio che ti dice quale sessione tiene il blocco. Termina o esci da quella sessione per primo.115Computer use mantiene un blocco a livello di macchina dalla prima azione di computer use fino a quando la sessione che lo ha acquisito esce. {/* min-version: 2.1.195 */}A partire da v2.1.195, completare l'attività non rilascia il blocco; solo l'uscita dalla sessione lo fa. Se un'altra sessione di Claude Code sta già usando il tuo computer, i nuovi tentativi falliscono con un messaggio che ti dice quale sessione tiene il blocco. Esci da quella sessione per primo.

116 116 

117<h3 id="apps-are-hidden-while-claude-works">117<h3 id="apps-are-hidden-while-claude-works">

118 Le app sono nascoste mentre Claude lavora118 Le app sono nascoste mentre Claude lavora


134 Ferma in qualsiasi momento134 Ferma in qualsiasi momento

135</h3>135</h3>

136 136 

137Quando Claude acquisisce il blocco, appare una notifica di macOS: "Claude is using your computer · press Esc to stop." Premi `Esc` ovunque per interrompere immediatamente l'azione corrente, oppure premi `Ctrl+C` nel terminale. In entrambi i casi, Claude rilascia il blocco, mostra di nuovo le tue app e ti restituisce il controllo.137Quando Claude acquisisce il blocco, appare una notifica di macOS: "Claude is using your computer · press Esc to stop." Premi `Esc` ovunque per interrompere immediatamente l'azione corrente, oppure premi `Ctrl+C` nel terminale. In entrambi i casi, Claude si ferma, mostra di nuovo le tue app e ti restituisce il controllo. La sessione mantiene il [blocco di computer use](#one-session-at-a-time) fino a quando non esce.

138 138 

139Una seconda notifica appare quando Claude ha finito.139Una seconda notifica appare quando Claude ha finito.

140 140 


223 "Computer use is in use by another Claude session"223 "Computer use is in use by another Claude session"

224</h3>224</h3>

225 225 

226Un'altra sessione di Claude Code tiene il blocco. Termina l'attività in quella sessione o esci da essa. Se l'altra sessione si è bloccata, il blocco viene rilasciato automaticamente quando Claude rileva che il processo non è più in esecuzione.226Un'altra sessione di Claude Code tiene il blocco, che mantiene fino a quando non esce. Esci da quella sessione. Se l'altra sessione si è bloccata, il blocco viene rilasciato automaticamente quando Claude rileva che il processo non è più in esecuzione.

227 227 

228<h3 id="macos-permissions-prompt-keeps-reappearing">228<h3 id="macos-permissions-prompt-keeps-reappearing">

229 macOS permissions prompt keeps reappearing229 macOS permissions prompt keeps reappearing

Details

1615* **Cancella tra i compiti**: esegui `/clear` quando passi a un lavoro non correlato. La vecchia conversazione esclude i file di cui hai bisogno dopo e costa token su ogni messaggio.1615* **Cancella tra i compiti**: esegui `/clear` quando passi a un lavoro non correlato. La vecchia conversazione esclude i file di cui hai bisogno dopo e costa token su ogni messaggio.

1616* **Delega letture di grandi dimensioni**: invia la ricerca a un [subagent](/it/sub-agents) in modo che i contenuti del file rimangono nella sua finestra di contesto, non nella tua.1616* **Delega letture di grandi dimensioni**: invia la ricerca a un [subagent](/it/sub-agents) in modo che i contenuti del file rimangono nella sua finestra di contesto, non nella tua.

1617 1617 

1618Se hai bisogno di una finestra più grande piuttosto che di una conversazione più piccola, Fable 5, Opus 4.6 e versioni successive, e Sonnet 4.6 supportano una finestra di contesto di 1 milione di token. Vedi [Contesto esteso](/it/model-config#extended-context) per la disponibilità per piano e come selezionare una variante di modello `[1m]`. La compattazione funziona allo stesso modo al limite più grande.1618Se hai bisogno di una finestra più grande piuttosto che di una conversazione più piccola, Fable 5, Sonnet 5, Opus 4.6 e versioni successive, e Sonnet 4.6 supportano una finestra di contesto di 1 milione di token. Vedi [Contesto esteso](/it/model-config#extended-context) per la disponibilità per piano e come selezionare una variante di modello `[1m]`. Sonnet 5 funziona a 1M senza alcuna variante `[1m]` da selezionare; vedi [Finestra di contesto di Sonnet 5](/it/model-config#sonnet-5-context-window) per le sue soglie di auto-compattazione e l'eccezione del gateway LLM. La compattazione funziona allo stesso modo al limite più grande.

1619 1619 

1620<h2 id="check-your-own-session">1620<h2 id="check-your-own-session">

1621 Controlla la tua sessione1621 Controlla la tua sessione

costs.md +1 −1

Details

51 Per le organizzazioni con limiti di velocità personalizzati, il traffico di Claude Code in questa area di lavoro conta verso i limiti di velocità API complessivi della tua organizzazione. Puoi impostare un [limite di velocità dell'area di lavoro](https://platform.claude.com/docs/it/api/rate-limits#setting-lower-limits-for-workspaces) sulla pagina Limits di questa area di lavoro nella Claude Console per limitare la quota di Claude Code e proteggere altri carichi di lavoro di produzione.51 Per le organizzazioni con limiti di velocità personalizzati, il traffico di Claude Code in questa area di lavoro conta verso i limiti di velocità API complessivi della tua organizzazione. Puoi impostare un [limite di velocità dell'area di lavoro](https://platform.claude.com/docs/it/api/rate-limits#setting-lower-limits-for-workspaces) sulla pagina Limits di questa area di lavoro nella Claude Console per limitare la quota di Claude Code e proteggere altri carichi di lavoro di produzione.

52</Note>52</Note>

53 53 

54Su Bedrock, Vertex e Foundry, Claude Code non invia metriche dal tuo cloud. Le organizzazioni che già instradano Claude Code attraverso un [gateway LLM](/it/llm-gateway) possono tracciare la spesa , poiché il gateway vede ogni richiesta.54Su Bedrock, Vertex e Foundry, Claude Code non invia metriche dal tuo cloud. Un [gateway di app Claude](/it/claude-apps-gateway) self-hosted fornisce l'attribuzione dell'utilizzo per utente, metriche OTLP con conteggi dei token e [limiti di spesa per utente](/it/claude-apps-gateway-spend-limits) su questi provider. Le organizzazioni che instradano Claude Code attraverso un diverso [gateway LLM](/it/llm-gateway) possono tracciare la spesa al gateway, poiché vede ogni richiesta.

55 55 

56<h3 id="rate-limit-recommendations">56<h3 id="rate-limit-recommendations">

57 Raccomandazioni sui limiti di velocità57 Raccomandazioni sui limiti di velocità

data-usage.md +2 −2

Details

39 39 

40Dopo il prompt di valutazione, potete vedere una domanda di follow-up separata che chiede "Anthropic può guardare il transcript della vostra sessione per aiutarci a migliorare Claude Code?". Questo è un secondo passaggio facoltativo distinto dalla valutazione:40Dopo il prompt di valutazione, potete vedere una domanda di follow-up separata che chiede "Anthropic può guardare il transcript della vostra sessione per aiutarci a migliorare Claude Code?". Questo è un secondo passaggio facoltativo distinto dalla valutazione:

41 41 

42* **Sì**: carica il transcript della vostra conversazione, i transcript di qualsiasi subagent e il file di log della sessione non elaborato dal disco su Anthropic. I modelli di chiave API e token noti vengono oscurati prima del caricamento. Il codice sorgente, i contenuti dei file e altri contenuti della conversazione vengono caricati così come sono. I transcript condivisi vengono conservati fino a 6 mesi.42* **Sì**: carica il transcript della vostra conversazione, i transcript di qualsiasi subagent e il file di log della sessione non elaborato dal disco su Anthropic. I modelli di chiave API e token noti vengono oscurati prima del caricamento. Il codice sorgente, i contenuti dei file e altri contenuti della conversazione vengono caricati così come sono. I transcript condivisi vengono conservati fino a 6 mesi. Su Bedrock, Vertex AI, Foundry e sessioni del [gateway app Claude](/it/claude-apps-gateway) con accesso effettuato, Sì scrive lo stesso payload in un archivio locale sotto `~/.claude/feedback-bundles/` invece di caricare; nulla lascia la vostra macchina finché non inoltrate quel file.

43* **No**: rifiuta senza inviare nulla43* **No**: rifiuta senza inviare nulla

44* **Non chiedere più**: rifiuta e impedisce che questo follow-up appaia nelle sessioni future44* **Non chiedere più**: rifiuta e impedisce che questo follow-up appaia nelle sessioni future

45 45 


127 Comportamenti predefiniti per provider API127 Comportamenti predefiniti per provider API

128</h2>128</h2>

129 129 

130Per impostazione predefinita, la segnalazione degli errori, la telemetria e la segnalazione dei bug sono disabilitati quando si utilizza Bedrock, Vertex, Foundry o Claude Platform su AWS. I sondaggi sulla qualità della sessione e il controllo di sicurezza del dominio WebFetch sono eccezioni e vengono eseguiti indipendentemente dal provider. Potete rinunciare a tutto il traffico non essenziale, inclusi i sondaggi, contemporaneamente impostando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Questa variabile non influisce sul controllo WebFetch, che ha il suo proprio opt-out. Ecco i comportamenti predefiniti completi:130Per impostazione predefinita, la segnalazione degli errori, la telemetria e la segnalazione dei bug sono disabilitati quando si utilizza Bedrock, Vertex, Foundry o Claude Platform su AWS. I sondaggi sulla qualità della sessione e il controllo di sicurezza del dominio WebFetch sono eccezioni e vengono eseguiti indipendentemente dal provider. Su una sessione [gateway app Claude](/it/claude-apps-gateway) con accesso effettuato, l'analisi dell'utilizzo, la segnalazione degli errori e i rating dei sondaggi ad Anthropic sono disabilitati dalle credenziali del gateway stesso, senza alcuna impostazione per riattivarli. Potete rinunciare a tutto il traffico non essenziale, inclusi i sondaggi, contemporaneamente impostando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Questa variabile non influisce sul controllo WebFetch, che ha il suo proprio opt-out. Ecco i comportamenti predefiniti completi:

131 131 

132| Servizio | Claude API | Vertex API | Bedrock API | Foundry API | Claude Platform su AWS |132| Servizio | Claude API | Vertex API | Bedrock API | Foundry API | Claude Platform su AWS |

133| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |133| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |

Details

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

20 20 

21| Comando | Mostra |21| Comando | Mostra |

22| :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- |22| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

23| `/memory` | Quali file `CLAUDE.md` e rules sono stati caricati, più voci di memoria automatica |23| `/memory` | Quali file `CLAUDE.md` e rules sono stati caricati, più voci di memoria automatica |

24| `/skills` | Skills disponibili da fonti di progetto, utente e plugin |24| `/skills` | Skills disponibili da fonti di progetto, utente e plugin |

25| `/agents` | Subagenti configurati e le loro impostazioni |25| `/agents` | Subagenti configurati e le loro impostazioni |

26| `/hooks` | Configurazioni di hook attive |26| `/hooks` | Configurazioni di hook attive |

27| `/mcp` | Server MCP connessi e il loro stato |27| `/mcp` | Server MCP connessi e il loro stato |

28| `/permissions` | Regole di consentimento e negazione risolte attualmente in vigore |28| `/permissions` | Regole di consentimento e negazione risolte attualmente in vigore |

29| `/doctor` | Diagnostica della configurazione: chiavi non valide, errori di schema, salute dell'installazione |29| `/doctor` | Diagnostica della configurazione: chiavi non valide, errori di schema, salute dell'installazione. {/* min-version: 2.1.196 */}A partire da v2.1.196, segnala anche nomi di [subagent](/it/sub-agents) duplicati definiti nello stesso ambito e contrassegna quale è attivo |

30| `/debug [issue]` | Abilita la registrazione del debug per la sessione e richiede a Claude di diagnosticare utilizzando l'output del log e i percorsi delle impostazioni |30| `/debug [issue]` | Abilita la registrazione del debug per la sessione e richiede a Claude di diagnosticare utilizzando l'output del log e i percorsi delle impostazioni |

31| `/status` | Fonti di impostazioni attive, incluso se le impostazioni gestite sono in vigore |31| `/status` | Fonti di impostazioni attive, incluso se le impostazioni gestite sono in vigore |

32 32 

desktop.md +10 −6

Details

8 8 

9L'app Claude Desktop ha tre schede: **Chat** per le conversazioni, **Cowork** per [Dispatch e lavoro agentico più lungo](https://claude.com/product/cowork), e **Code** per lo sviluppo software. Questa pagina è il riferimento per la scheda Code.9L'app Claude Desktop ha tre schede: **Chat** per le conversazioni, **Cowork** per [Dispatch e lavoro agentico più lungo](https://claude.com/product/cowork), e **Code** per lo sviluppo software. Questa pagina è il riferimento per la scheda Code.

10 10 

11<CardGroup cols={2}>11<CardGroup cols={3}>

12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">

13 Universal build for Intel and Apple Silicon13 Universal build for Intel and Apple Silicon

14 </Card>14 </Card>


16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">

17 For x64 processors17 For x64 processors

18 </Card>18 </Card>

19 

20 <Card title="Get Claude for Linux (beta)" icon="linux" href="/en/desktop-linux">

21 apt or .deb for Ubuntu and Debian

22 </Card>

19</CardGroup>23</CardGroup>

20 24 

21For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). The desktop app is not available on Linux; use the [CLI](/en/quickstart) instead.25For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). On Linux, install with apt; see [Claude Desktop on Linux](/en/desktop-linux).

22 26 

23Dopo l'installazione, avvia Claude, accedi e fai clic sulla scheda **Code**. La prima volta che lo apri su Windows, hai bisogno di [Git for Windows](https://git-scm.com/downloads/win) installato; riavvia l'app dopo averlo installato. Per una procedura dettagliata della tua prima sessione, consulta la [guida introduttiva](/it/desktop-quickstart).27Dopo l'installazione, avvia Claude, accedi e fai clic sulla scheda **Code**. La prima volta che lo apri su Windows, hai bisogno di [Git for Windows](https://git-scm.com/downloads/win) installato; riavvia l'app dopo averlo installato. Per una procedura dettagliata della tua prima sessione, consulta la [guida introduttiva](/it/desktop-quickstart).

24 28 


88 92 

89<span id="auto-mode-availability" />93<span id="auto-mode-availability" />

90 94 

91Auto mode è un'anteprima di ricerca disponibile a tutti gli utenti sull'API Anthropic e richiede Claude Opus 4.6 o successivo, o Sonnet 4.6. Nelle distribuzioni Enterprise che instradano Desktop a Google Cloud Vertex AI, auto mode è disattivato finché non [imposti `CLAUDE_CODE_ENABLE_AUTO_MODE`](/it/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry), e solo Claude Opus 4.7 e Opus 4.8 sono supportati lì.95Auto mode è un'anteprima di ricerca disponibile a tutti gli utenti sull'API Anthropic e richiede Claude Opus 4.6 o successivo, o Sonnet 4.6 o successivo. Nelle distribuzioni Enterprise che instradano Desktop a Google Cloud Vertex AI, auto mode è disattivato finché non [imposti `CLAUDE_CODE_ENABLE_AUTO_MODE`](/it/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry), e solo Claude Sonnet 5, Opus 4.7 e Opus 4.8 sono supportati lì.

92 96 

93<Tip title="Best practice">97<Tip title="Best practice">

94 Inizia compiti complessi in Plan mode in modo che Claude mappi un approccio prima di apportare modifiche. Una volta approvato il piano, passa a Accetta automaticamente modifiche o Chiedi autorizzazioni per eseguirlo. Vedi [esplora prima, poi pianifica, poi codifica](/it/best-practices#explore-first-then-plan-then-code) per ulteriori informazioni su questo flusso di lavoro.98 Inizia compiti complessi in Plan mode in modo che Claude mappi un approccio prima di apportare modifiche. Una volta approvato il piano, passa a Accetta automaticamente modifiche o Chiedi autorizzazioni per eseguirlo. Vedi [esplora prima, poi pianifica, poi codifica](/it/best-practices#explore-first-then-plan-then-code) per ulteriori informazioni su questo flusso di lavoro.


600 604 

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

602 606 

603[Extended thinking](/it/model-config#extended-thinking) è abilitato per impostazione predefinita, il che migliora le prestazioni su compiti di ragionamento complesso ma utilizza token aggiuntivi. Per disabilitare il thinking, imposta `MAX_THINKING_TOKENS` a `0` nell'editor di ambiente locale; questo non ha effetto su Fable 5, che utilizza sempre extended thinking. Su [provider di terze parti](/it/third-party-integrations), `0` omette il parametro `thinking` invece, e i modelli di adaptive-reasoning potrebbero comunque pensare. Su modelli con [adaptive reasoning](/it/model-config#adjust-effort-level), qualsiasi altro valore `MAX_THINKING_TOKENS` viene ignorato perché il adaptive reasoning controlla la profondità del thinking. Su Opus 4.6 e Sonnet 4.6, imposta `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` a `1` per usare un budget di thinking fisso; Opus 4.7 e versioni successive usano sempre il adaptive reasoning e non hanno una modalità di budget fisso.607[Extended thinking](/it/model-config#extended-thinking) è abilitato per impostazione predefinita, il che migliora le prestazioni su compiti di ragionamento complesso ma utilizza token aggiuntivi. Per disabilitare il thinking, imposta `MAX_THINKING_TOKENS` a `0` nell'editor di ambiente locale; questo non ha effetto su Fable 5, che utilizza sempre extended thinking. Su [provider di terze parti](/it/third-party-integrations), `0` omette il parametro `thinking` invece, e i modelli di adaptive-reasoning potrebbero comunque pensare. Su modelli con [adaptive reasoning](/it/model-config#adjust-effort-level), qualsiasi altro valore `MAX_THINKING_TOKENS` viene ignorato perché il adaptive reasoning controlla la profondità del thinking. Su Opus 4.6 e Sonnet 4.6, imposta `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` a `1` per usare un budget di thinking fisso; Fable 5, Sonnet 5, e Opus 4.7 e versioni successive usano sempre il adaptive reasoning e non hanno una modalità di budget fisso.

604 608 

605<h3 id="cloud-sessions">609<h3 id="cloud-sessions">

606 Cloud sessions610 Cloud sessions


822Le seguenti funzionalità sono disponibili solo nella CLI o nell'estensione VS Code, tranne dove diversamente indicato:826Le seguenti funzionalità sono disponibili solo nella CLI o nell'estensione VS Code, tranne dove diversamente indicato:

823 827 

824* **Provider di terze parti**: Desktop si connette all'API di Anthropic per impostazione predefinita. Le distribuzioni aziendali possono configurare Vertex AI e provider gateway tramite [impostazioni gestite](https://support.claude.com/en/articles/12622667-enterprise-configuration). Per Bedrock o Foundry nella CLI, vedi la [guida rapida](/it/quickstart). Come eccezione alla sezione precedente, [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/overview) esegue la scheda Code su Bedrock, Vertex AI, Foundry o un gateway LLM self-hosted.828* **Provider di terze parti**: Desktop si connette all'API di Anthropic per impostazione predefinita. Le distribuzioni aziendali possono configurare Vertex AI e provider gateway tramite [impostazioni gestite](https://support.claude.com/en/articles/12622667-enterprise-configuration). Per Bedrock o Foundry nella CLI, vedi la [guida rapida](/it/quickstart). Come eccezione alla sezione precedente, [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/overview) esegue la scheda Code su Bedrock, Vertex AI, Foundry o un gateway LLM self-hosted.

825* **Linux**: l'app desktop è disponibile solo su macOS e Windows. Su Linux, usa la [CLI](/it/quickstart).829* **Linux (beta)**: Computer Use non è ancora disponibile nell'app desktop Linux. Vedi [Claude Desktop su Linux](/it/desktop-linux).

826* **Suggerimenti di codice inline**: Desktop non fornisce suggerimenti in stile autocomplete. Funziona tramite prompt conversazionali e modifiche di codice esplicite.830* **Suggerimenti di codice inline**: Desktop non fornisce suggerimenti in stile autocomplete. Funziona tramite prompt conversazionali e modifiche di codice esplicite.

827* **Team di agent**: le sessioni parallele di Claude Code che si messaggiano tra loro sono disponibili nella [CLI](/it/agent-teams), non in Desktop. Per il lavoro multi-agent all'interno di una sessione, usa i [flussi di lavoro dinamici](/it/workflows), che vengono eseguiti in Desktop.831* **Team di agent**: le sessioni parallele di Claude Code che si messaggiano tra loro sono disponibili nella [CLI](/it/agent-teams), non in Desktop. Per il lavoro multi-agent all'interno di una sessione, usa i [flussi di lavoro dinamici](/it/workflows), che vengono eseguiti in Desktop.

828* **Comandi terminal-dialog**: i comandi integrati che aprono un pannello interattivo nel terminale, come `/permissions`, `/config`, `/agents` e `/doctor`, non sono disponibili nella scheda Code e rispondono con `isn't available in this environment`. Modifica direttamente i [file di impostazioni](/it/settings) per gestire le regole di autorizzazione e la configurazione, oppure esegui il comando dalla CLI standalone.832* **Comandi terminal-dialog**: i comandi integrati che aprono un pannello interattivo nel terminale, come `/permissions`, `/config`, `/agents` e `/doctor`, non sono disponibili nella scheda Code e rispondono con `isn't available in this environment`. Modifica direttamente i [file di impostazioni](/it/settings) per gestire le regole di autorizzazione e la configurazione, oppure esegui il comando dalla CLI standalone.


862Se l'app si apre ma mostra una schermata vuota o non reattiva:866Se l'app si apre ma mostra una schermata vuota o non reattiva:

863 867 

8641. Riavvia l'app.8681. Riavvia l'app.

8652. Controlla gli aggiornamenti in sospeso. L'app si aggiorna automaticamente al lancio.8692. Controlla gli aggiornamenti in sospeso. Su macOS e Windows l'app si aggiorna automaticamente al lancio; su Linux, aggiorna tramite apt come descritto in [Claude Desktop on Linux](/it/desktop-linux).

8663. Su Windows, controlla Event Viewer per i log di crash sotto **Windows Logs → Application**.8703. Su Windows, controlla Event Viewer per i log di crash sotto **Windows Logs → Application**.

867 871 

868<h3 id="failed-to-load-session">872<h3 id="failed-to-load-session">

desktop-linux.md +113 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Claude Desktop su Linux (beta)

6 

7> Installa e aggiorna l'app desktop di Claude su Ubuntu e Debian

8 

9<Note>

10 Il supporto di Linux per l'app desktop di Claude è in beta. Le schede Chat, Cowork e Code sono tutte disponibili.

11</Note>

12 

13L'app desktop su Linux ti offre la stessa esperienza di Chat, Cowork e Claude Code di macOS e Windows: sessioni parallele, revisione visiva delle differenze, un terminale e un editor integrati e anteprima live dell'app. Consulta [Usa Claude Code Desktop](/it/desktop) per il riferimento completo delle funzionalità.

14 

15<h2 id="requirements">

16 Requisiti

17</h2>

18 

19* Ubuntu 22.04 o versioni successive, oppure Debian 12 o versioni successive

20* x86\_64 o arm64

21 

22Altre distribuzioni basate su Debian che soddisfano questi requisiti potrebbero funzionare ma non sono ufficialmente testate.

23 

24<h2 id="install">

25 Installa

26</h2>

27 

28Installa dal repository apt di Anthropic in modo che gli aggiornamenti arrivino attraverso gli aggiornamenti regolari dei pacchetti del tuo sistema.

29 

30<Steps>

31 <Step title="Aggiungi il repository apt di Anthropic">

32 Scarica la chiave di firma di Anthropic:

33 

34 ```bash theme={null}

35 sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.asc

36 ```

37 

38 Registra il repository:

39 

40 ```bash theme={null}

41 echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list

42 ```

43 </Step>

44 

45 <Step title="Installa il pacchetto">

46 ```bash theme={null}

47 sudo apt update && sudo apt install claude-desktop

48 ```

49 </Step>

50 

51 <Step title="Avvia e accedi">

52 Avvia **Claude** dal tuo launcher di applicazioni, oppure esegui `claude-desktop` da un terminale, e accedi con il tuo account Anthropic.

53 </Step>

54</Steps>

55 

56<Accordion title="Verifica la chiave di firma">

57 Puoi confermare che la chiave di firma scaricata appartiene ad Anthropic:

58 

59 ```bash theme={null}

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

61 ```

62 

63 L'impronta digitale dovrebbe essere `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE`.

64</Accordion>

65 

66<h3 id="install-from-a-downloaded-file">

67 Installa da un file scaricato

68</h3>

69 

70Se non puoi utilizzare il repository apt, scarica il pacchetto `.deb` per la tua architettura (x64 o arm64) da [claude.com/download](https://claude.com/download), quindi aprilo con il tuo programma di installazione del software oppure esegui dalla tua directory di download:

71 

72```bash theme={null}

73sudo apt install ./claude-desktop_*.deb

74```

75 

76Un `.deb` installato in questo modo non riceve aggiornamenti. Per ricevere gli aggiornamenti tramite apt, aggiungi il repository come mostrato sopra, oppure rimuovi il commento dalla riga `deb` nella voce segnaposto che il pacchetto scrive in `/etc/apt/sources.list.d/claude-desktop.list`.

77 

78<h2 id="update">

79 Aggiorna

80</h2>

81 

82L'app desktop non si aggiorna da sola su Linux. Gli aggiornamenti arrivano con gli aggiornamenti regolari dei pacchetti del tuo sistema:

83 

84```bash theme={null}

85sudo apt update && sudo apt upgrade

86```

87 

88Lo strumento di aggiornamento software grafico della tua distribuzione raccoglierà anche le nuove versioni.

89 

90<h2 id="uninstall">

91 Disinstalla

92</h2>

93 

94```bash theme={null}

95sudo apt remove claude-desktop

96```

97 

98Questo rimuove la chiave di firma insieme all'app, quindi se hai aggiunto la voce del repository durante l'installazione, rimuovila anche:

99 

100```bash theme={null}

101sudo rm /etc/apt/sources.list.d/claude-desktop.list

102```

103 

104<h2 id="what’s-not-in-the-linux-beta-yet">

105 Cosa non è ancora nella beta di Linux

106</h2>

107 

108* **Computer Use**: il [controllo dell'app e dello schermo](/it/desktop#let-claude-use-your-computer) non è disponibile su Linux.

109* **Dictation**: l'input vocale non è disponibile nell'app desktop di Linux. Utilizza invece la [dettatura vocale](/it/voice-dictation) nella CLI.

110* **Quick Entry global hotkey**: funziona su X11. Su Wayland nativo richiede il portale GlobalShortcuts del tuo ambiente desktop.

111* **Fedora e RHEL**: sono supportate solo le distribuzioni basate su Debian oggi. Il supporto per distribuzioni aggiuntive arriverà in futuro.

112 

113Per qualsiasi cosa non ancora disponibile nell'app desktop, la [CLI](/it/quickstart) esegue lo stesso motore Claude Code e supporta una gamma più ampia di distribuzioni Linux; consulta i [requisiti di sistema](/it/setup#system-requirements).

Details

8 8 

9L'app desktop ti offre Claude Code con un'interfaccia grafica costruita per eseguire più sessioni affiancate: una barra laterale per gestire il lavoro parallelo, un layout con trascinamento della selezione con terminale integrato e editor di file, revisione visiva dei diff, anteprima live dell'app, monitoraggio dei PR di GitHub con merge automatico e attività pianificate. Non è richiesto alcun terminale.9L'app desktop ti offre Claude Code con un'interfaccia grafica costruita per eseguire più sessioni affiancate: una barra laterale per gestire il lavoro parallelo, un layout con trascinamento della selezione con terminale integrato e editor di file, revisione visiva dei diff, anteprima live dell'app, monitoraggio dei PR di GitHub con merge automatico e attività pianificate. Non è richiesto alcun terminale.

10 10 

11<CardGroup cols={2}>11<CardGroup cols={3}>

12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">

13 Universal build for Intel and Apple Silicon13 Universal build for Intel and Apple Silicon

14 </Card>14 </Card>


16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">

17 For x64 processors17 For x64 processors

18 </Card>18 </Card>

19 

20 <Card title="Get Claude for Linux (beta)" icon="linux" href="/en/desktop-linux">

21 apt or .deb for Ubuntu and Debian

22 </Card>

19</CardGroup>23</CardGroup>

20 24 

21For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). The desktop app is not available on Linux; use the [CLI](/en/quickstart) instead.25For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). On Linux, install with apt; see [Claude Desktop on Linux](/en/desktop-linux).

22 26 

23<Note>27<Note>

24 Claude Code richiede un [abbonamento Pro, Max, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).28 Claude Code richiede un [abbonamento Pro, Max, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).


40 44 

41<Steps>45<Steps>

42 <Step title="Installa e accedi">46 <Step title="Installa e accedi">

43 Scarica il programma di installazione per la tua piattaforma dai link sopra ed eseguilo. Avvia Claude dalla cartella Applicazioni su macOS o dal menu Start su Windows, quindi accedi con il tuo account Anthropic.47 Su macOS e Windows, scarica il programma di installazione dai link sopra ed eseguilo. Su Linux, segui i passaggi di installazione in [Claude Desktop su Linux](/it/desktop-linux). Avvia Claude dalla cartella Applicazioni su macOS, dal menu Start su Windows, o dal tuo launcher di applicazioni su Linux, quindi accedi con il tuo account Anthropic.

44 </Step>48 </Step>

45 49 

46 <Step title="Apri la scheda Code">50 <Step title="Apri la scheda Code">

Details

162 </Step>162 </Step>

163 163 

164 <Step title="Sfogliare i plugin disponibili">164 <Step title="Sfogliare i plugin disponibili">

165 Eseguite `/plugin` per aprire il gestore dei plugin. Questo apre un'interfaccia a schede con quattro schede che potete scorrere utilizzando **Tab** (o **Shift+Tab** per andare indietro):165 Eseguite `/plugin` per aprire il gestore dei plugin. Questo apre un'interfaccia a schede con quattro schede che potete scorrere utilizzando **Tab**, o **Shift+Tab** per andare indietro:

166 166 

167 * **Discover**: sfogliate i plugin disponibili da tutti i vostri marketplace167 * **Discover**: sfogliate i plugin disponibili da tutti i vostri marketplace

168 * **Installed**: visualizzate e gestite i vostri plugin installati168 * **Installed**: visualizzate e gestite i vostri plugin installati


185 * **Project scope**: installate per tutti i collaboratori su questo repository185 * **Project scope**: installate per tutti i collaboratori su questo repository

186 * **Local scope**: installate per voi stessi solo in questo repository186 * **Local scope**: installate per voi stessi solo in questo repository

187 187 

188 Ad esempio, selezionate **commit-commands** (un plugin che aggiunge skills di flusso di lavoro git) e installatelo nel vostro ambito utente.188 Ad esempio, selezionate **commit-commands**, un plugin che aggiunge skills di flusso di lavoro git, e installatelo nel vostro ambito utente.

189 189 

190 Potete anche installare direttamente dalla riga di comando:190 Potete anche installare direttamente dalla riga di comando:

191 191 


223 **Scorciatoie**: Potete utilizzare `/plugin market` invece di `/plugin marketplace` e `rm` invece di `remove`.223 **Scorciatoie**: Potete utilizzare `/plugin market` invece di `/plugin marketplace` e `rm` invece di `remove`.

224</Tip>224</Tip>

225 225 

226* **Repository GitHub**: formato `owner/repo` (ad esempio, `anthropics/claude-code`)226* **Repository GitHub**: formato `owner/repo`, ad esempio `anthropics/claude-code`

227* **URL Git**: qualsiasi URL di repository git (GitLab, Bitbucket, self-hosted)227* **URL Git**: qualsiasi URL di repository git, inclusi GitLab, Bitbucket e server self-hosted

228* **Percorsi locali**: directory o percorsi diretti ai file `marketplace.json`228* **Percorsi locali**: directory o percorsi diretti ai file `marketplace.json`

229* **URL remoti**: URL diretti ai file `marketplace.json` ospitati229* **URL remoti**: URL diretti ai file `marketplace.json` ospitati

230 230 


232 Aggiungere da GitHub232 Aggiungere da GitHub

233</h3>233</h3>

234 234 

235Aggiungete un repository GitHub che contiene un file `.claude-plugin/marketplace.json` utilizzando il formato `owner/repo`dove `owner` è il nome utente GitHub o l'organizzazione e `repo` è il nome del repository.235Aggiungete un repository GitHub che contiene un file `.claude-plugin/marketplace.json` utilizzando il formato `owner/repo`, dove `owner` è il nome utente GitHub o l'organizzazione e `repo` è il nome del repository.

236 236 

237Ad esempio, `anthropics/claude-code` si riferisce al repository `claude-code` di proprietà di `anthropics`:237Ad esempio, `anthropics/claude-code` si riferisce al repository `claude-code` di proprietà di `anthropics`:

238 238 


246 246 

247Aggiungete qualsiasi repository git fornendo l'URL completo. Questo funziona con qualsiasi host Git, inclusi GitLab, Bitbucket e server self-hosted. Includete il suffisso `.git` in modo che Claude Code cloni il repository piuttosto che trattare l'URL come un collegamento diretto a un file `marketplace.json` ospitato.247Aggiungete qualsiasi repository git fornendo l'URL completo. Questo funziona con qualsiasi host Git, inclusi GitLab, Bitbucket e server self-hosted. Includete il suffisso `.git` in modo che Claude Code cloni il repository piuttosto che trattare l'URL come un collegamento diretto a un file `marketplace.json` ospitato.

248 248 

249Includete il prefisso `https://` anche. Claude Code v2.1.196 e versioni successive rifiutano un host digitato senza di esso, come `gitlab.com/company/plugins.git`, come una scorciatoia GitHub `owner/repo` non valida, e l'errore vi dice di aggiungere il prefisso. Le versioni precedenti lo leggono male come un percorso di repository GitHub e falliscono al momento del clone.

250 

249Utilizzando HTTPS:251Utilizzando HTTPS:

250 252 

251```shell theme={null}253```shell theme={null}


298 Installare plugin300 Installare plugin

299</h2>301</h2>

300 302 

301Una volta aggiunti i marketplace, potete installare plugin direttamente (installa nell'ambito utente per impostazione predefinita):303Una volta aggiunti i marketplace, potete installare plugin direttamente:

302 304 

303```shell theme={null}305```shell theme={null}

304/plugin install plugin-name@marketplace-name306/plugin install plugin-name@marketplace-name

305```307```

306 308 

307Per scegliere un [ambito di installazione](/it/settings#configuration-scopes) diverso, utilizzate l'interfaccia interattiva: eseguite `/plugin`, andate alla scheda **Discover** e premete **Enter** su un plugin. Vedrete opzioni per:309Il comando apre i dettagli di quel plugin, dove scegliete un [ambito di installazione](/it/settings#configuration-scopes). Vedrete le stesse scelte quando eseguite `/plugin`, andate alla scheda **Discover** e premete **Enter** su un plugin:

308 310 

309* **User scope** (predefinito): installate per voi stessi in tutti i progetti311* **User scope** (predefinito): installate per voi stessi in tutti i progetti

310* **Project scope**: installate per tutti i collaboratori su questo repository (aggiunge a `.claude/settings.json`)312* **Project scope**: installate per tutti i collaboratori su questo repository, che aggiunge il plugin a `.claude/settings.json`

311* **Local scope**: installate per voi stessi solo in questo repository (non condiviso con i collaboratori)313* **Local scope**: installate per voi stessi solo in questo repository, non condiviso con i collaboratori

314 

315Per installare senza un passaggio interattivo, utilizzate il comando shell [`claude plugin install`](/it/plugins-reference#plugin-install), che installa nell'ambito utente a meno che non passiate `--scope`.

312 316 

313Potete anche vedere plugin con ambito **managed**—questi sono installati dagli amministratori tramite [impostazioni gestite](/it/settings#settings-files) e non possono essere modificati.317Potete anche vedere plugin con ambito **managed**. Questi sono installati dagli amministratori tramite [impostazioni gestite](/it/settings#settings-files) e non possono essere modificati.

314 318 

315<Warning>319<Warning>

316 Assicuratevi di fidarvi di un plugin prima di installarlo. Anthropic non controlla quali MCP server, file o altro software sono inclusi nei plugin e non può verificare che funzionino come previsto. Controllate la homepage di ogni plugin per ulteriori informazioni.320 Assicuratevi di fidarvi di un plugin prima di installarlo. Anthropic non controlla quali MCP server, file o altro software sono inclusi nei plugin e non può verificare che funzionino come previsto. Controllate la homepage di ogni plugin per ulteriori informazioni.


358/plugin enable plugin-name@marketplace-name362/plugin enable plugin-name@marketplace-name

359```363```

360 364 

365In questi identificatori, `plugin-name` è il `name` del plugin nella [voce del marketplace](/it/plugin-marketplaces#plugin-entries), che può differire dal `name` nel `plugin.json` del plugin stesso.

366 

367A partire da Claude Code v2.1.195, **Enable** e **Disable** nell'interfaccia `/plugin` funzionano per i plugin i cui due nomi differiscono, e `/plugin enable` e `/plugin disable` accettano entrambi i nomi. Quando disabilitate un tale plugin in una versione precedente, Claude Code segnala `already disabled` e lo lascia abilitato.

368 

361Rimuovete completamente un plugin:369Rimuovete completamente un plugin:

362 370 

363```shell theme={null}371```shell theme={null}


464 472 

465Gli amministratori del team possono configurare l'installazione automatica del marketplace per i progetti aggiungendo la configurazione del marketplace a `.claude/settings.json`. Quando i membri del team si fidano della cartella del repository, Claude Code li invita a installare questi marketplace e plugin.473Gli amministratori del team possono configurare l'installazione automatica del marketplace per i progetti aggiungendo la configurazione del marketplace a `.claude/settings.json`. Quando i membri del team si fidano della cartella del repository, Claude Code li invita a installare questi marketplace e plugin.

466 474 

475A partire da Claude Code v2.1.195, questo passaggio di installazione si applica su ogni percorso che carica i plugin. Un plugin che solo il file `.claude/settings.json` del progetto abilita, e che proviene da una fonte esterna come un repository GitHub o un pacchetto npm, non si carica fino a quando il membro del team non lo installa. Fino ad allora, Claude Code segnala il plugin come non installato e mostra il comando `claude plugin install` da eseguire.

476 

467Aggiungete `extraKnownMarketplaces` al file `.claude/settings.json` del vostro progetto:477Aggiungete `extraKnownMarketplaces` al file `.claude/settings.json` del vostro progetto:

468 478 

469```json theme={null}479```json theme={null}


499 509 

5001. **Controllate la vostra versione**: Eseguite `claude --version` per vedere cosa è installato.5101. **Controllate la vostra versione**: Eseguite `claude --version` per vedere cosa è installato.

5012. **Aggiornate Claude Code**:5112. **Aggiornate Claude Code**:

502 * **Homebrew**: `brew upgrade claude-code` (o `brew upgrade claude-code@latest` se avete installato quel cask)512 * **Homebrew**: `brew upgrade claude-code`, oppure `brew upgrade claude-code@latest` se avete installato quel cask

503 * **npm**: `npm install -g @anthropic-ai/claude-code@latest`513 * **npm**: `npm install -g @anthropic-ai/claude-code@latest`

504 * **Programma di installazione nativo**: Rieseguite il comando di installazione da [Setup](/it/setup)514 * **Programma di installazione nativo**: Rieseguite il comando di installazione da [Setup](/it/setup)

5053. **Riavviate Claude Code**: Dopo l'aggiornamento, riavviate il vostro terminale ed eseguite `claude` di nuovo.5153. **Riavviate Claude Code**: dopo l'aggiornamento, riavviate il vostro terminale ed eseguite `claude` di nuovo.

506 516 

507<h3 id="common-issues">517<h3 id="common-issues">

508 Problemi comuni518 Problemi comuni

509</h3>519</h3>

510 520 

511* **Marketplace non caricato**: Verificate che l'URL sia accessibile e che `.claude-plugin/marketplace.json` esista nel percorso521* **Marketplace non caricato**: verificate che l'URL sia accessibile e che `.claude-plugin/marketplace.json` esista nel percorso

512* **Errori di installazione dei plugin**: Controllate che gli URL di origine dei plugin siano accessibili e che i repository siano pubblici (o che abbiate accesso)522* **Errori di installazione dei plugin**: controllate che gli URL di origine dei plugin siano accessibili e che i repository siano pubblici, oppure che abbiate accesso a essi

513* **File non trovati dopo l'installazione**: I plugin vengono copiati in una cache, quindi i percorsi che fanno riferimento a file al di fuori della directory del plugin non funzioneranno523* **File non trovati dopo l'installazione**: i plugin vengono copiati in una cache, quindi i percorsi che fanno riferimento a file al di fuori della directory del plugin non funzioneranno

514* **Le skill dei plugin non appaiono**: Cancellate la cache con `rm -rf ~/.claude/plugins/cache`, riavviate Claude Code e reinstallate il plugin.524* **Le skill dei plugin non appaiono**: cancellate la cache con `rm -rf ~/.claude/plugins/cache`, riavviate Claude Code e reinstallate il plugin.

515 525 

516Per la risoluzione dettagliata dei problemi con soluzioni, consultate [Risoluzione dei problemi](/it/plugin-marketplaces#troubleshooting) nella guida del marketplace. Per gli strumenti di debug, consultate [Strumenti di debug e sviluppo](/it/plugins-reference#debugging-and-development-tools).526Per la risoluzione dettagliata dei problemi con soluzioni, consultate [Risoluzione dei problemi](/it/plugin-marketplaces#troubleshooting) nella guida del marketplace. Per gli strumenti di debug, consultate [Strumenti di debug e sviluppo](/it/plugins-reference#debugging-and-development-tools).

517 527 

env-vars.md +24 −18

Details

96</h2>96</h2>

97 97 

98| Variabile | Scopo |98| Variabile | Scopo |

99| :------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |99| :------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

100| `ANTHROPIC_API_KEY` | Chiave API inviata come intestazione `X-Api-Key`. Quando impostata, questa chiave viene utilizzata al posto del vostro abbonamento Claude Pro, Max, Team o Enterprise anche se siete connessi. In modalità non interattiva (`-p`), la chiave viene sempre utilizzata quando presente. In modalità interattiva, vi viene chiesto di approvare la chiave una volta prima che sostituisca il vostro abbonamento. Per utilizzare il vostro abbonamento, eseguite `unset ANTHROPIC_API_KEY` |100| `ANTHROPIC_API_KEY` | Chiave API inviata come intestazione `X-Api-Key`. Quando impostata, questa chiave viene utilizzata al posto del vostro abbonamento Claude Pro, Max, Team o Enterprise anche se siete connessi. In modalità non interattiva (`-p`), la chiave viene sempre utilizzata quando presente. In modalità interattiva, vi viene chiesto di approvare la chiave una volta prima che sostituisca il vostro abbonamento. Per utilizzare il vostro abbonamento, eseguite `unset ANTHROPIC_API_KEY` |

101| `ANTHROPIC_AUTH_TOKEN` | Valore personalizzato per l'intestazione `Authorization` (il valore che impostate qui sarà preceduto da `Bearer `) |101| `ANTHROPIC_AUTH_TOKEN` | Valore personalizzato per l'intestazione `Authorization` (il valore che impostate qui sarà preceduto da `Bearer `) |

102| `ANTHROPIC_AWS_API_KEY` | Chiave API dell'area di lavoro per [Claude Platform on AWS](/it/claude-platform-on-aws), generata nella Console AWS. Inviata come `x-api-key` e ha la precedenza su AWS SigV4 |102| `ANTHROPIC_AWS_API_KEY` | Chiave API dell'area di lavoro per [Claude Platform on AWS](/it/claude-platform-on-aws), generata nella Console AWS. Inviata come `x-api-key` e ha la precedenza su AWS SigV4 |

103| `ANTHROPIC_AWS_BASE_URL` | Sovrascrivi l'URL dell'endpoint [Claude Platform on AWS](/it/claude-platform-on-aws). Utilizza per regioni personalizzate o quando instrada attraverso un [gateway LLM](/it/llm-gateway). Per impostazione predefinita `https://aws-external-anthropic.{AWS_REGION}.api.aws` |103| `ANTHROPIC_AWS_BASE_URL` | Sovrascrivi l'URL dell'endpoint [Claude Platform on AWS](/it/claude-platform-on-aws). Utilizza per regioni personalizzate o quando instrada attraverso un [gateway LLM](/it/llm-gateway). Per impostazione predefinita `https://aws-external-anthropic.{AWS_REGION}.api.aws` |

104| `ANTHROPIC_AWS_WORKSPACE_ID` | Obbligatorio per [Claude Platform on AWS](/it/claude-platform-on-aws). Inviato su ogni richiesta come intestazione `anthropic-workspace-id` |104| `ANTHROPIC_AWS_WORKSPACE_ID` | Obbligatorio per [Claude Platform on AWS](/it/claude-platform-on-aws). Inviato su ogni richiesta come intestazione `anthropic-workspace-id` |

105| `ANTHROPIC_BASE_URL` | Sovrascrivi l'endpoint API per instradare le richieste attraverso un proxy o gateway. Quando impostato su un host non di prima parte, la [ricerca degli strumenti MCP](/it/mcp#scale-with-mcp-tool-search) è disabilitata per impostazione predefinita. Imposta `ENABLE_TOOL_SEARCH=true` se il vostro proxy inoltra i blocchi `tool_reference` |105| `ANTHROPIC_BASE_URL` | Sovrascrivi l'endpoint API per instradare le richieste attraverso un proxy o gateway. Quando impostato su un host non di prima parte, la [ricerca degli strumenti MCP](/it/mcp#scale-with-mcp-tool-search) è disabilitata per impostazione predefinita. Imposta `ENABLE_TOOL_SEARCH=true` se il vostro proxy inoltra i blocchi `tool_reference`. {/* min-version: 2.1.196 */}A partire da v2.1.196, il [Remote Control](/it/remote-control#requirements) è disabilitato quando questo punta a un host diverso da `api.anthropic.com`, corrispondendo al suo comportamento su Bedrock, Vertex AI e Foundry |

106| `ANTHROPIC_BEDROCK_BASE_URL` | Sovrascrivi l'URL dell'endpoint Bedrock. Utilizza per endpoint Bedrock personalizzati o quando instrada attraverso un [gateway LLM](/it/llm-gateway). Vedi [Amazon Bedrock](/it/amazon-bedrock) |106| `ANTHROPIC_BEDROCK_BASE_URL` | Sovrascrivi l'URL dell'endpoint Bedrock. Utilizza per endpoint Bedrock personalizzati o quando instrada attraverso un [gateway LLM](/it/llm-gateway). Vedi [Amazon Bedrock](/it/amazon-bedrock) |

107| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sovrascrivi l'URL dell'endpoint Bedrock Mantle. Vedi [Endpoint Mantle](/it/amazon-bedrock#use-the-mantle-endpoint) |107| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Sovrascrivi l'URL dell'endpoint Bedrock Mantle. Vedi [Endpoint Mantle](/it/amazon-bedrock#use-the-mantle-endpoint) |

108| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Bedrock [service tier](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex` o `priority`). Inviato come intestazione `X-Amzn-Bedrock-Service-Tier`. Vedi [Amazon Bedrock](/it/amazon-bedrock#service-tiers) |108| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Bedrock [service tier](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex` o `priority`). Inviato come intestazione `X-Amzn-Bedrock-Service-Tier`. Vedi [Amazon Bedrock](/it/amazon-bedrock#service-tiers) |


144| `BASH_MAX_OUTPUT_LENGTH` | Numero massimo di caratteri negli output bash prima che l'output completo venga salvato in un file e Claude riceva il percorso più un'anteprima breve. Vedi [Comportamento dello strumento Bash](/it/tools-reference#bash-tool-behavior) |144| `BASH_MAX_OUTPUT_LENGTH` | Numero massimo di caratteri negli output bash prima che l'output completo venga salvato in un file e Claude riceva il percorso più un'anteprima breve. Vedi [Comportamento dello strumento Bash](/it/tools-reference#bash-tool-behavior) |

145| `BASH_MAX_TIMEOUT_MS` | Timeout massimo che il modello può impostare per i comandi bash a lunga esecuzione (predefinito: 600000, o 10 minuti) |145| `BASH_MAX_TIMEOUT_MS` | Timeout massimo che il modello può impostare per i comandi bash a lunga esecuzione (predefinito: 600000, o 10 minuti) |

146| `CCR_FORCE_BUNDLE` | Imposta su `1` per forzare [`claude --remote`](/it/claude-code-on-the-web#send-local-repositories-without-github) a raggruppare e caricare il vostro repository locale anche quando l'accesso a GitHub è disponibile |146| `CCR_FORCE_BUNDLE` | Imposta su `1` per forzare [`claude --remote`](/it/claude-code-on-the-web#send-local-repositories-without-github) a raggruppare e caricare il vostro repository locale anche quando l'accesso a GitHub è disponibile |

147| `CLAUDECODE` | Imposta su `1` negli ambienti shell che Claude Code genera (strumento Bash, sessioni tmux, comandi [hook](/it/hooks), comandi della [linea di stato](/it/statusline), sottoprocessi del server MCP [stdio](/it/mcp)). Utilizza per rilevare quando uno script è in esecuzione all'interno di un sottoprocesso generato da Claude Code. Per verificare se il processo corrente è stato generato direttamente da una chiamata di strumento o hook, piuttosto che all'interno di un server MCP stdio che Claude Code ha avviato, utilizzate `CLAUDE_CODE_CHILD_SESSION` |147| `CLAUDECODE` | Imposta su `1` nei sottoprocessi che Claude Code genera (strumento Bash, sessioni tmux, comandi [hook](/it/hooks), comandi della [linea di stato](/it/statusline), sottoprocessi del server MCP [stdio](/it/mcp)). Le estensioni IDE impostano anche questo nei loro terminali integrati. Utilizza per rilevare quando uno script è in esecuzione all'interno di un sottoprocesso generato da Claude Code. Per verificare se il processo corrente è stato generato direttamente da una chiamata di strumento o hook, piuttosto che all'interno di un server MCP stdio che Claude Code ha avviato, utilizzate `CLAUDE_CODE_CHILD_SESSION` |

148| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Imposta su `1` per disabilitare tutti i tipi di [subagent](/it/sub-agents) integrati come Explore e Plan. Si applica solo in modalità non interattiva (il flag `-p`). Utile per gli utenti SDK che desiderano una lavagna pulita |148| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Imposta su `1` per disabilitare tutti i tipi di [subagent](/it/sub-agents) integrati come Explore e Plan. Si applica solo in modalità non interattiva (il flag `-p`). Utile per gli utenti SDK che desiderano una lavagna pulita |

149| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Imposta su `1` per saltare il prefisso `mcp__<server>__` sui nomi degli strumenti dai server MCP creati da SDK. Gli strumenti utilizzano i loro nomi originali. Solo utilizzo SDK |149| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Imposta su `1` per saltare il prefisso `mcp__<server>__` sui nomi degli strumenti dai server MCP creati da SDK. Gli strumenti utilizzano i loro nomi originali. Solo utilizzo SDK |

150| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout di stallo in millisecondi per i subagent in background. Predefinito `600000` (10 minuti). Il timer si ripristina su ogni evento di progresso dello streaming; se nessun progresso arriva entro la finestra, il subagent viene interrotto e l'attività viene contrassegnata come non riuscita, mostrando qualsiasi risultato parziale al genitore |150| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Timeout di stallo in millisecondi per i subagent in background. Predefinito `600000` (10 minuti). Il timer si ripristina su ogni evento di progresso dello streaming; se nessun progresso arriva entro la finestra, il subagent viene interrotto e l'attività viene contrassegnata come non riuscita, mostrando qualsiasi risultato parziale al genitore |

151| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Imposta la percentuale (1-100) della finestra di compattazione automatica a cui viene attivata la compattazione automatica. Utilizzate valori inferiori come `50` per compattare prima. Questa variabile causa solo una compattazione più precoce quando Claude Code compatta in modo proattivo: quando `CLAUDE_CODE_AUTO_COMPACT_WINDOW` è impostato, nelle [sessioni cloud](/it/claude-code-on-the-web) e su Sonnet 4.6 e Opus 4.6 senza [contesto esteso](/it/model-config#extended-context), che compattano al limite di 200K per impostazione predefinita. In altri casi, come una sessione locale su Opus 4.8 o qualsiasi modello con contesto esteso, la compattazione automatica si attiva quando la conversazione raggiunge il limite del contesto del modello. L'override può solo abbassare la soglia, quindi i valori superiori al valore predefinito non hanno effetto. Si applica sia alle conversazioni principali che ai subagent |151| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Imposta la percentuale (1-100) della finestra di compattazione automatica a cui viene attivata la compattazione automatica. Utilizzate valori inferiori come `50` per compattare prima. Questa variabile causa solo una compattazione più precoce quando Claude Code compatta in modo proattivo: quando `CLAUDE_CODE_AUTO_COMPACT_WINDOW` è impostato, nelle [sessioni cloud](/it/claude-code-on-the-web) e su Sonnet 4.6 e Opus 4.6 senza [contesto esteso](/it/model-config#extended-context), che compattano al limite di 200K per impostazione predefinita. Su Sonnet 5, la compattazione proattiva si applica alla [soglia predefinita](/it/model-config#sonnet-5-context-window) del modello. In altri casi, come una sessione locale su Opus 4.8, la compattazione automatica si attiva quando la conversazione raggiunge il limite del contesto del modello. L'override può solo abbassare la soglia, quindi i valori superiori al valore predefinito non hanno effetto. Si applica sia alle conversazioni principali che ai subagent |

152| `CLAUDE_AUTO_BACKGROUND_TASKS` | Imposta su `1` per forzare l'abilitazione dello sfondo automatico delle attività di agenti a lunga esecuzione. Quando abilitato, i subagent vengono spostati in background dopo l'esecuzione per circa due minuti |152| `CLAUDE_AUTO_BACKGROUND_TASKS` | Imposta su `1` per forzare l'abilitazione dello sfondo automatico delle attività di agenti a lunga esecuzione. Quando abilitato, i subagent vengono spostati in background dopo l'esecuzione per circa due minuti |

153| `CLAUDE_AX_SCREEN_READER` | {/* min-version: 2.1.181 */}Imposta su `1` per renderizzare l'output adatto ai lettori di schermo: testo piatto senza bordi decorativi o animazioni. Imposta su `0` per forzare la disabilitazione della modalità lettore di schermo anche quando [`axScreenReader`](/it/settings#available-settings) è `true`. Il flag [`--ax-screen-reader`](/it/cli-reference#cli-flags) ha la precedenza. Richiede Claude Code v2.1.181 o successivo |153| `CLAUDE_AX_SCREEN_READER` | {/* min-version: 2.1.181 */}Imposta su `1` per renderizzare l'output adatto ai lettori di schermo: testo piatto senza bordi decorativi o animazioni. Imposta su `0` per forzare la disabilitazione della modalità lettore di schermo anche quando [`axScreenReader`](/it/settings#available-settings) è `true`. Il flag [`--ax-screen-reader`](/it/cli-reference#cli-flags) ha la precedenza. Richiede Claude Code v2.1.181 o successivo |

154| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Ritorna alla directory di lavoro originale dopo ogni comando Bash o PowerShell nella sessione principale |154| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Ritorna alla directory di lavoro originale dopo ogni comando Bash o PowerShell nella sessione principale |


160| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervallo in millisecondi a cui le credenziali devono essere aggiornate (quando si utilizza [`apiKeyHelper`](/it/settings#available-settings)) |160| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervallo in millisecondi a cui le credenziali devono essere aggiornate (quando si utilizza [`apiKeyHelper`](/it/settings#available-settings)) |

161| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Imposta su `0` per impedire a Claude Code di aprire il browser automaticamente quando viene pubblicato un nuovo [artifact](/it/artifacts). La ripubblicazione di un artifact esistente non apre il browser indipendentemente da questa impostazione |161| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Imposta su `0` per impedire a Claude Code di aprire il browser automaticamente quando viene pubblicato un nuovo [artifact](/it/artifacts). La ripubblicazione di un artifact esistente non apre il browser indipendentemente da questa impostazione |

162| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Imposta su `0` per omettere il blocco di attribuzione (versione client e impronta digitale del prompt) dall'inizio del prompt di sistema. Disabilitarlo migliora i tassi di hit della cache dei prompt quando si instrada attraverso un [gateway LLM](/it/llm-gateway). Il caching dell'API Anthropic non è interessato |162| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Imposta su `0` per omettere il blocco di attribuzione (versione client e impronta digitale del prompt) dall'inizio del prompt di sistema. Disabilitarlo migliora i tassi di hit della cache dei prompt quando si instrada attraverso un [gateway LLM](/it/llm-gateway). Il caching dell'API Anthropic non è interessato |

163| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Imposta la capacità del contesto in token utilizzata per i calcoli di compattazione automatica. Per impostazione predefinita, la finestra del contesto del modello: 200K per i modelli standard o 1M per i modelli con [contesto esteso](/it/model-config#extended-context). Utilizzate un valore inferiore come `500000` su un modello 1M per trattare la finestra come 500K ai fini della compattazione. Il valore è limitato alla finestra del contesto effettiva del modello. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` viene applicato come percentuale di questo valore. L'impostazione di questa variabile disaccoppia la soglia di compattazione dalla `used_percentage` della linea di stato, che utilizza sempre la finestra del contesto completa del modello |163| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Imposta la capacità del contesto in token utilizzata per i calcoli di compattazione automatica. Per impostazione predefinita, la finestra del contesto del modello: 200K per i modelli standard o 1M per i modelli con [contesto esteso](/it/model-config#extended-context), tranne su Sonnet 5, che ha la sua propria [soglia predefinita](/it/model-config#sonnet-5-context-window). Utilizzate un valore inferiore come `500000` su un modello 1M per trattare la finestra come 500K ai fini della compattazione. Il valore è limitato alla finestra del contesto effettiva del modello. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` viene applicato come percentuale di questo valore. L'impostazione di questa variabile disaccoppia la soglia di compattazione dalla `used_percentage` della linea di stato, che utilizza sempre la finestra del contesto completa del modello |

164| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sovrascrivi la [connessione IDE](/it/vs-code) automatica. Per impostazione predefinita, Claude Code si connette automaticamente quando avviato all'interno del terminale integrato di un IDE supportato. Imposta su `false` per impedire questo. Imposta su `true` per forzare un tentativo di connessione quando l'auto-rilevamento fallisce, ad esempio quando tmux oscura il terminale padre. Ha la precedenza sull'impostazione globale [`autoConnectIde`](/it/settings#global-config-settings) |164| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sovrascrivi la [connessione IDE](/it/vs-code) automatica. Per impostazione predefinita, Claude Code si connette automaticamente quando avviato all'interno del terminale integrato di un IDE supportato. Imposta su `false` per impedire questo. Imposta su `true` per forzare un tentativo di connessione quando l'auto-rilevamento fallisce, ad esempio quando tmux oscura il terminale padre. Ha la precedenza sull'impostazione globale [`autoConnectIde`](/it/settings#global-config-settings) |

165| `CLAUDE_CODE_CERT_STORE` | Elenco separato da virgole di fonti di certificati CA per le connessioni TLS. `bundled` è il set Mozilla CA fornito con Claude Code. `system` è l'archivio di fiducia del sistema operativo. Per impostazione predefinita è `bundled,system` |165| `CLAUDE_CODE_CERT_STORE` | Elenco separato da virgole di fonti di certificati CA per le connessioni TLS. `bundled` è il set Mozilla CA fornito con Claude Code. `system` è l'archivio di fiducia del sistema operativo, di sola lettura su runtime con `tls.getCACertificates`: il binario nativo, o Node 22.15 o successivo per installazioni npm. Vedi [Archivio certificati CA](/it/network-config#ca-certificate-store). Per impostazione predefinita è `bundled,system` |

166| `CLAUDE_CODE_CHILD_SESSION` | {/* min-version: 2.1.172 */}Imposta su `1` nei sottoprocessi che Claude Code genera tramite gli strumenti Bash, PowerShell e Monitor, i comandi [hook](/it/hooks) e i comandi della [linea di stato](/it/statusline). Non impostato per i sottoprocessi del server MCP [stdio](/it/mcp), che sono di lunga durata e sopravvivono alla sessione che li ha generati. A differenza di `CLAUDECODE`, questo viene impostato solo da Claude Code stesso quando avvia un sottoprocesso e non dalle estensioni IDE, quindi distingue in modo affidabile una sessione annidata da un `claude` di livello superiore avviato in un terminale integrato IDE. Una TUI `claude` interattiva annidata avviata in questo modo viene automaticamente esclusa da `--resume`, `--continue`, dalla cronologia della freccia su e dall'elenco `claude agents`. Le sessioni non interattive `claude -p` persistono comunque. Impostare `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` per sostituire questa esclusione. Richiede Claude Code v2.1.172 o successivo |166| `CLAUDE_CODE_CHILD_SESSION` | {/* min-version: 2.1.172 */}Imposta su `1` nei sottoprocessi che Claude Code genera tramite gli strumenti Bash, PowerShell e Monitor, i comandi [hook](/it/hooks) e i comandi della [linea di stato](/it/statusline). Non impostato per i sottoprocessi del server MCP [stdio](/it/mcp), che sono di lunga durata e sopravvivono alla sessione che li ha generati. A differenza di `CLAUDECODE`, questo viene impostato solo da Claude Code stesso quando avvia un sottoprocesso e non dalle estensioni IDE, quindi distingue in modo affidabile una sessione annidata da un `claude` di livello superiore avviato in un terminale integrato IDE. Una TUI `claude` interattiva annidata avviata in questo modo viene automaticamente esclusa da `--resume`, `--continue`, dalla cronologia della freccia su e dall'elenco `claude agents`. Le sessioni non interattive `claude -p` persistono comunque. Impostare `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` per sostituire questa esclusione. Richiede Claude Code v2.1.172 o successivo |

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

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


170| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | {/* max-version: 2.1.185 */}Rimosso in v2.1.186 e ora un no-op. In precedenza impostava un timeout separato per la fase di connessione, TLS e intestazione di risposta di una richiesta API di streaming. Utilizza `API_TIMEOUT_MS` per il timeout per richiesta |170| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | {/* max-version: 2.1.185 */}Rimosso in v2.1.186 e ora un no-op. In precedenza impostava un timeout separato per la fase di connessione, TLS e intestazione di risposta di una richiesta API di streaming. Utilizza `API_TIMEOUT_MS` per il timeout per richiesta |

171| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Sovrascrivi il percorso del file di log di debug. Nonostante il nome, questo è un percorso di file, non una directory. Richiede che la modalità debug sia abilitata separatamente tramite `--debug`, `/debug` o la variabile d'ambiente `DEBUG`: l'impostazione di questa variabile da sola non abilita la registrazione. Il flag [`--debug-file`](/it/cli-reference#cli-flags) fa entrambi contemporaneamente. Per impostazione predefinita `~/.claude/debug/<session-id>.txt` |171| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Sovrascrivi il percorso del file di log di debug. Nonostante il nome, questo è un percorso di file, non una directory. Richiede che la modalità debug sia abilitata separatamente tramite `--debug`, `/debug` o la variabile d'ambiente `DEBUG`: l'impostazione di questa variabile da sola non abilita la registrazione. Il flag [`--debug-file`](/it/cli-reference#cli-flags) fa entrambi contemporaneamente. Per impostazione predefinita `~/.claude/debug/<session-id>.txt` |

172| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Livello di log minimo scritto nel file di log di debug. Valori: `verbose`, `debug` (predefinito), `info`, `warn`, `error`. Imposta su `verbose` per includere diagnostica ad alto volume come l'output completo del comando della linea di stato, o aumenta a `error` per ridurre il rumore |172| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Livello di log minimo scritto nel file di log di debug. Valori: `verbose`, `debug` (predefinito), `info`, `warn`, `error`. Imposta su `verbose` per includere diagnostica ad alto volume come l'output completo del comando della linea di stato, o aumenta a `error` per ridurre il rumore |

173| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Imposta su `1` per disabilitare il supporto della [finestra del contesto 1M](/it/model-config#extended-context). Se impostato, le varianti del modello 1M non sono disponibili nel selettore di modelli. Utile per ambienti aziendali con requisiti di conformità |173| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Imposta su `1` per disabilitare il supporto della [finestra del contesto 1M](/it/model-config#extended-context). Se impostato, le varianti del modello 1M non sono disponibili nel selettore di modelli, e le sessioni [Sonnet 5](/it/model-config#sonnet-5-context-window) vengono trattate come aventi una finestra di 200K. Utile per ambienti aziendali con requisiti di conformità |

174| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Imposta su `1` per disabilitare il [ragionamento adattivo](/it/model-config#adjust-effort-level) su Opus 4.6 e Sonnet 4.6 e tornare al budget di thinking fisso controllato da `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Da v2.1.111, non ha effetto su Fable 5, o su Opus 4.7 e versioni successive, che utilizzano sempre il ragionamento adattivo |174| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Imposta su `1` per disabilitare il [ragionamento adattivo](/it/model-config#adjust-effort-level) su Opus 4.6 e Sonnet 4.6 e tornare al budget di thinking fisso controllato da `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Da v2.1.111, non ha effetto su Fable 5, Sonnet 5 o Opus 4.7 e versioni successive, che utilizzano sempre il ragionamento adattivo |

175| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | {/* min-version: 2.1.98 */}Imposta su `1` per disabilitare lo [strumento advisor](/it/advisor). Il comando `/advisor` e il flag `--advisor` diventano non disponibili e qualsiasi `advisorModel` configurato viene ignorato. Richiede Claude Code v2.1.98 o successivo |175| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | {/* min-version: 2.1.98 */}Imposta su `1` per disabilitare lo [strumento advisor](/it/advisor). Il comando `/advisor` e il flag `--advisor` diventano non disponibili e qualsiasi `advisorModel` configurato viene ignorato. Richiede Claude Code v2.1.98 o successivo |

176| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Imposta su `1` per disattivare gli [agenti in background e la visualizzazione degli agenti](/it/agent-view): `claude agents`, `--bg`, `/background` e il supervisore su richiesta. Equivalente all'impostazione [`disableAgentView`](/it/settings#available-settings) |176| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Imposta su `1` per disattivare gli [agenti in background e la visualizzazione degli agenti](/it/agent-view): `claude agents`, `--bg`, `/background` e il supervisore su richiesta. Equivalente all'impostazione [`disableAgentView`](/it/settings#available-settings) |

177| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Imposta su `1` per disabilitare il [rendering a schermo intero](/it/fullscreen) e utilizzare il renderer della schermata principale classica. La conversazione rimane nello scrollback nativo del vostro terminale in modo che `Cmd+f` e la modalità di copia di tmux funzionino come al solito. Ha la precedenza su `CLAUDE_CODE_NO_FLICKER` e sull'impostazione [`tui`](/it/settings#available-settings). Potete anche passare con `/tui default`. Non si applica alle sessioni in background aperte dalla [visualizzazione degli agenti](/it/agent-view), che utilizzano sempre il rendering a schermo intero |177| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Imposta su `1` per disabilitare il [rendering a schermo intero](/it/fullscreen) e utilizzare il renderer della schermata principale classica. La conversazione rimane nello scrollback nativo del vostro terminale in modo che `Cmd+f` e la modalità di copia di tmux funzionino come al solito. Ha la precedenza su `CLAUDE_CODE_NO_FLICKER` e sull'impostazione [`tui`](/it/settings#available-settings). Potete anche passare con `/tui default`. Non si applica alle sessioni in background aperte dalla [visualizzazione degli agenti](/it/agent-view), che utilizzano sempre il rendering a schermo intero |


179| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Imposta su `1` per disabilitare l'elaborazione degli allegati. Le menzioni di file con la sintassi `@` vengono inviate come testo semplice invece di essere espanse nel contenuto del file |179| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Imposta su `1` per disabilitare l'elaborazione degli allegati. Le menzioni di file con la sintassi `@` vengono inviate come testo semplice invece di essere espanse nel contenuto del file |

180| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Imposta su `1` per disabilitare la [memoria automatica](/it/memory#auto-memory). Imposta su `0` per forzare la memoria automatica anche quando la modalità `--bare` o [`autoMemoryEnabled: false`](/it/settings#available-settings) altrimenti la disabiliterebbe. Quando disabilitato, Claude non crea o carica i file di memoria automatica |180| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Imposta su `1` per disabilitare la [memoria automatica](/it/memory#auto-memory). Imposta su `0` per forzare la memoria automatica anche quando la modalità `--bare` o [`autoMemoryEnabled: false`](/it/settings#available-settings) altrimenti la disabiliterebbe. Quando disabilitato, Claude non crea o carica i file di memoria automatica |

181| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Imposta su `1` per disabilitare tutta la funzionalità di attività in background, incluso il parametro `run_in_background` su strumenti Bash e subagent, auto-backgrounding e la scorciatoia Ctrl+B |181| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Imposta su `1` per disabilitare tutta la funzionalità di attività in background, incluso il parametro `run_in_background` su strumenti Bash e subagent, auto-backgrounding e la scorciatoia Ctrl+B |

182| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | {/* min-version: 2.1.196 */}Imposta su `1` per interrompere i comandi shell in background in esecuzione e i workflow dinamici di una [sessione in background](/it/agent-view) quando il [supervisore](/it/agent-view#the-supervisor-process) si ferma, si riavvia o aggiorna il processo di quella sessione, invece di trasferirli al processo successivo della sessione. Influisce solo su quel trasferimento: mettere una sessione in background con `←` o [`/background`](/it/agent-view#from-inside-a-session) continua a portare il lavoro in volo, e `CLAUDE_DISABLE_ADOPT` disattiva entrambi. Richiede Claude Code v2.1.196 o successivo |

183| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | {/* min-version: 2.1.193 */}Imposta su `1` per impedire a Claude Code di terminare i [comandi shell in background](/it/interactive-mode#background-bash-commands) quando il sistema operativo segnala pressione di memoria. Per impostazione predefinita, su macOS e Linux, Claude Code termina un shell in background avviato nella sessione principale su un segnale di pressione di memoria una volta che la sessione è stata inattiva per 30 minuti e nessun turno o subagent è in esecuzione. Windows non ha un segnale di pressione di memoria, quindi questa variabile non ha effetto lì. Richiede Claude Code v2.1.193 o successivo |

182| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Imposta su `1` per disabilitare le [skill](/it/skills) e i workflow che vengono forniti con Claude Code: le skill raggruppate e i workflow vengono rimossi completamente, mentre i comandi slash integrati come `/init` rimangono digitabili ma sono nascosti dal modello. Le skill dai plugin, `.claude/skills/` e `.claude/commands/` non sono interessate. Equivalente all'impostazione [`disableBundledSkills`](/it/settings#available-settings); `0` non la sostituisce |184| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Imposta su `1` per disabilitare le [skill](/it/skills) e i workflow che vengono forniti con Claude Code: le skill raggruppate e i workflow vengono rimossi completamente, mentre i comandi slash integrati come `/init` rimangono digitabili ma sono nascosti dal modello. Le skill dai plugin, `.claude/skills/` e `.claude/commands/` non sono interessate. Equivalente all'impostazione [`disableBundledSkills`](/it/settings#available-settings); `0` non la sostituisce |

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

184| `CLAUDE_CODE_DISABLE_CRON` | Imposta su `1` per disabilitare le [attività pianificate](/it/scheduled-tasks). La skill `/loop` e gli strumenti cron diventano non disponibili e tutte le attività già pianificate smettono di attivarsi, incluse le attività già in esecuzione a metà sessione |186| `CLAUDE_CODE_DISABLE_CRON` | Imposta su `1` per disabilitare le [attività pianificate](/it/scheduled-tasks). La skill `/loop` e gli strumenti cron diventano non disponibili e tutte le attività già pianificate smettono di attivarsi, incluse le attività già in esecuzione a metà sessione |

185| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Imposta su `1` per rimuovere le intestazioni di richiesta `anthropic-beta` specifiche di Anthropic e i campi dello schema degli strumenti beta (come `defer_loading` e `eager_input_streaming`) dalle richieste API. Utilizza questo quando un gateway proxy rifiuta le richieste con errori come "Unexpected value(s) for the `anthropic-beta` header" o "Extra inputs are not permitted". I campi standard (`name`, `description`, `input_schema`, `cache_control`) vengono preservati. |187| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Imposta su `1` per rimuovere le intestazioni di richiesta `anthropic-beta` specifiche di Anthropic e i campi dello schema degli strumenti beta (come `defer_loading` e `eager_input_streaming`) dalle richieste API. Utilizza questo quando un gateway proxy rifiuta le richieste con errori come "Unexpected value(s) for the `anthropic-beta` header" o "Extra inputs are not permitted". I campi standard (`name`, `description`, `input_schema`, `cache_control`) vengono preservati |

186| `CLAUDE_CODE_DISABLE_FAST_MODE` | Imposta su `1` per disabilitare la [modalità veloce](/it/fast-mode) |188| `CLAUDE_CODE_DISABLE_FAST_MODE` | Imposta su `1` per disabilitare la [modalità veloce](/it/fast-mode) |

187| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Imposta su `1` per disabilitare i sondaggi sulla qualità della sessione "Come sta andando Claude?". I sondaggi sono anche disabilitati quando `DISABLE_TELEMETRY`, `DO_NOT_TRACK` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostato, a meno che `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` non opti di nuovo. Per impostare una frequenza di campionamento invece di disabilitare completamente, utilizzate l'impostazione [`feedbackSurveyRate`](/it/settings#available-settings). Vedi [Sondaggi sulla qualità della sessione](/it/data-usage#session-quality-surveys) |189| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Imposta su `1` per disabilitare i sondaggi sulla qualità della sessione "Come sta andando Claude?". I sondaggi sono anche disabilitati quando `DISABLE_TELEMETRY`, `DO_NOT_TRACK` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostato, a meno che `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` non opti di nuovo. Per impostare una frequenza di campionamento invece di disabilitare completamente, utilizzate l'impostazione [`feedbackSurveyRate`](/it/settings#available-settings). Vedi [Sondaggi sulla qualità della sessione](/it/data-usage#session-quality-surveys) |

188| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Imposta su `1` per disabilitare il [checkpointing](/it/checkpointing) dei file. Il comando `/rewind` non sarà in grado di ripristinare le modifiche al codice |190| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Imposta su `1` per disabilitare il [checkpointing](/it/checkpointing) dei file. Il comando `/rewind` non sarà in grado di ripristinare le modifiche al codice |

189| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Imposta su `1` per rimuovere le istruzioni di workflow commit e PR integrate e lo snapshot dello stato git dal prompt di sistema di Claude. Utile quando si utilizzano le proprie skill di workflow git. Ha la precedenza sull'impostazione [`includeGitInstructions`](/it/settings#available-settings) se impostato |191| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Imposta su `1` per rimuovere le istruzioni di workflow commit e PR integrate e lo snapshot dello stato git dal prompt di sistema di Claude. Utile quando si utilizzano le proprie skill di workflow git. Ha la precedenza sull'impostazione [`includeGitInstructions`](/it/settings#available-settings) se impostato |

190| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Imposta su `1` per impedire il remapping automatico di Opus 4.0 e 4.1 alla versione Opus corrente sull'API Anthropic. Utilizza quando desiderate intenzionalmente fissare un modello più vecchio. Il remapping non viene eseguito su Bedrock, Vertex o Foundry |192| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Imposta su `1` per impedire il remapping automatico di Opus 4.0 e 4.1 alla versione Opus corrente sull'API Anthropic. Utilizza quando desiderate intenzionalmente fissare un modello più vecchio. Il remapping non viene eseguito su Bedrock, Vertex o Foundry |

191| `CLAUDE_CODE_DISABLE_MOUSE` | Imposta su `1` per disabilitare il tracciamento del mouse nel [rendering a schermo intero](/it/fullscreen). Lo scorrimento da tastiera con `PgUp` e `PgDn` funziona ancora. Utilizza questo per mantenere il comportamento nativo di copia al passaggio del mouse del vostro terminale |193| `CLAUDE_CODE_DISABLE_MOUSE` | Imposta su `1` per disabilitare il tracciamento del mouse nel [rendering a schermo intero](/it/fullscreen). Lo scorrimento da tastiera con `PgUp` e `PgDn` funziona ancora. Utilizza questo per mantenere il comportamento nativo di copia al passaggio del mouse del vostro terminale |

194| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | {/* min-version: 2.1.195 */}Imposta su `1` per disabilitare il clic, il trascinamento e il passaggio del mouse nel [rendering a schermo intero](/it/fullscreen) mantenendo lo scorrimento della rotella del mouse. Utilizza questo quando desiderate che lo scorrimento della rotella funzioni all'interno di Claude Code ma non desiderate che i clic posizionino il cursore, espandano l'output dello strumento o aprano i link. `CLAUDE_CODE_DISABLE_MOUSE` ha la precedenza quando entrambi sono impostati. Richiede Claude Code v2.1.195 o successivo |

192| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Equivalente all'impostazione di `DISABLE_AUTOUPDATER`, `DISABLE_FEEDBACK_COMMAND`, `DISABLE_ERROR_REPORTING` e `DISABLE_TELEMETRY` |195| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Equivalente all'impostazione di `DISABLE_AUTOUPDATER`, `DISABLE_FEEDBACK_COMMAND`, `DISABLE_ERROR_REPORTING` e `DISABLE_TELEMETRY` |

193| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Imposta su `1` per disabilitare il fallback non-streaming quando una richiesta di streaming fallisce a metà stream. Gli errori di streaming si propagano al livello di retry. Utile quando un proxy o gateway causa il fallback per produrre l'esecuzione duplicata dello strumento |196| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Imposta su `1` per disabilitare il fallback non-streaming quando una richiesta di streaming fallisce a metà stream. Gli errori di streaming si propagano al livello di retry. Utile quando un proxy o gateway causa il fallback per produrre l'esecuzione duplicata dello strumento |

197| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | {/* min-version: 2.1.193 */}Imposta su `1` per inviare la notifica desktop dello strumento `PushNotification` anche mentre state digitando o siete focalizzati sul terminale. Per impostazione predefinita lo strumento salta sia la notifica desktop che il [push mobile](/it/remote-control#mobile-push-notifications) quando rileva attività recente della tastiera o focus del terminale. Questa variabile disabilita solo quel controllo locale, quindi il server può comunque sopprimere il push mobile quando rileva che siete attivi. Richiede Claude Code v2.1.193 o successivo |

194| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Imposta su `1` per saltare l'aggiunta automatica del marketplace ufficiale dei plugin al primo avvio |198| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Imposta su `1` per saltare l'aggiunta automatica del marketplace ufficiale dei plugin al primo avvio |

195| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Imposta su `1` per saltare il caricamento delle skill dalla directory delle skill gestite a livello di sistema. Utile per sessioni container o CI che non dovrebbero caricare skill fornite dall'operatore |199| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Imposta su `1` per saltare il caricamento delle skill dalla directory delle skill gestite a livello di sistema. Utile per sessioni container o CI che non dovrebbero caricare skill fornite dall'operatore |

196| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Imposta su `1` per disabilitare gli aggiornamenti automatici del titolo del terminale in base al contesto della conversazione. In sessioni Agent SDK e `claude -p`, questo salta anche la richiesta di Haiku in background che genera il titolo della sessione |200| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Imposta su `1` per disabilitare gli aggiornamenti automatici del titolo del terminale in base al contesto della conversazione. In sessioni Agent SDK e `claude -p`, questo salta anche la richiesta di Haiku in background che genera il titolo della sessione |


198| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Imposta su `1` per disabilitare lo scorrimento virtuale nel [rendering a schermo intero](/it/fullscreen) e renderizzare ogni messaggio nella trascrizione. Utilizza questo se lo scorrimento in modalità a schermo intero mostra regioni vuote dove dovrebbero apparire i messaggi |202| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Imposta su `1` per disabilitare lo scorrimento virtuale nel [rendering a schermo intero](/it/fullscreen) e renderizzare ogni messaggio nella trascrizione. Utilizza questo se lo scorrimento in modalità a schermo intero mostra regioni vuote dove dovrebbero apparire i messaggi |

199| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Imposta su `1` per disabilitare i [workflow](/it/workflows#turn-workflows-off). Equivalente all'impostazione [`disableWorkflows`](/it/settings#available-settings) |203| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Imposta su `1` per disabilitare i [workflow](/it/workflows#turn-workflows-off). Equivalente all'impostazione [`disableWorkflows`](/it/settings#available-settings) |

200| `CLAUDE_CODE_EFFORT_LEVEL` | Imposta il livello di sforzo per i modelli supportati. Valori: `low`, `medium`, `high`, `xhigh`, `max` o `auto` per usare il valore predefinito del modello. I livelli disponibili dipendono dal modello. Ha la precedenza su `/effort` e sull'impostazione `effortLevel`. Vedi [Regola il livello di sforzo](/it/model-config#adjust-effort-level) |204| `CLAUDE_CODE_EFFORT_LEVEL` | Imposta il livello di sforzo per i modelli supportati. Valori: `low`, `medium`, `high`, `xhigh`, `max` o `auto` per usare il valore predefinito del modello. I livelli disponibili dipendono dal modello. Ha la precedenza su `/effort` e sull'impostazione `effortLevel`. Vedi [Regola il livello di sforzo](/it/model-config#adjust-effort-level) |

201| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {/* min-version: 2.1.158 */}Imposta su `1` per rendere la [modalità auto](/it/permission-modes#eliminate-prompts-with-auto-mode) disponibile su Amazon Bedrock, Google Cloud Vertex AI e Microsoft Foundry. Richiede Claude Code v2.1.158 o successivo. Non ha effetto sull'API Anthropic, dove la modalità auto è disponibile per impostazione predefinita. Vedi [Abilita la modalità auto su Bedrock, Vertex AI o Foundry](/it/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) |205| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {/* min-version: 2.1.158 */}Imposta su `1` per rendere la [modalità auto](/it/permission-modes#eliminate-prompts-with-auto-mode) disponibile su Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry e sessioni [gateway app Claude](/it/claude-apps-gateway) con accesso. Richiede Claude Code v2.1.158 o successivo. Non ha effetto sull'API Anthropic, dove la modalità auto è disponibile per impostazione predefinita. Vedi [Abilita la modalità auto su Bedrock, Vertex AI o Foundry](/it/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) |

202| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sovrascrivi la disponibilità del [riepilogo della sessione](/it/interactive-mode#session-recap). Imposta su `0` per forzare i riepiloghi disattivati indipendentemente dall'interruttore `/config`. Imposta su `1` per forzare i riepiloghi attivati quando [`awaySummaryEnabled`](/it/settings#available-settings) è `false`. Ha la precedenza sull'impostazione e sull'interruttore `/config` |206| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sovrascrivi la disponibilità del [riepilogo della sessione](/it/interactive-mode#session-recap). Imposta su `0` per forzare i riepiloghi disattivati indipendentemente dall'interruttore `/config`. Imposta su `1` per forzare i riepiloghi attivati quando [`awaySummaryEnabled`](/it/settings#available-settings) è `false`. Ha la precedenza sull'impostazione e sull'interruttore `/config` |

203| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Imposta su `1` per aggiornare lo stato del plugin ai confini dei turni in [modalità non interattiva](/it/headless) dopo il completamento di un'installazione in background. Disattivato per impostazione predefinita perché l'aggiornamento cambia il prompt di sistema a metà sessione, il che invalida il [caching dei prompt](/it/prompt-caching) per quel turno |207| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Imposta su `1` per aggiornare lo stato del plugin ai confini dei turni in [modalità non interattiva](/it/headless) dopo il completamento di un'installazione in background. Disattivato per impostazione predefinita perché l'aggiornamento cambia il prompt di sistema a metà sessione, il che invalida il [caching dei prompt](/it/prompt-caching) per quel turno |

204| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Imposta su `1` per instradare il sondaggio sulla qualità della sessione "Come sta andando Claude?" al vostro [collettore OpenTelemetry](/it/monitoring-usage) quando il traffico non essenziale legato ad Anthropic è bloccato. I rating del sondaggio vengono emessi solo come eventi OTEL al vostro collettore configurato. Nessun dato del sondaggio viene inviato ad Anthropic in questa modalità. Si applica quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` o `DO_NOT_TRACK` è impostato, e non ha effetto altrimenti. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e la politica di feedback del prodotto dell'organizzazione hanno la precedenza |208| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Imposta su `1` per instradare il sondaggio sulla qualità della sessione "Come sta andando Claude?" al vostro [collettore OpenTelemetry](/it/monitoring-usage) quando il traffico non essenziale legato ad Anthropic è bloccato. I rating del sondaggio vengono emessi solo come eventi OTEL al vostro collettore configurato. Nessun dato del sondaggio viene inviato ad Anthropic in questa modalità. Si applica quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` o `DO_NOT_TRACK` è impostato, e non ha effetto altrimenti. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e la politica di feedback del prodotto dell'organizzazione hanno la precedenza |


212| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Imposta su `1` per abilitare i [team di agenti](/it/agent-teams). I team di agenti sono sperimentali e disabilitati per impostazione predefinita |216| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Imposta su `1` per abilitare i [team di agenti](/it/agent-teams). I team di agenti sono sperimentali e disabilitati per impostazione predefinita |

213| `CLAUDE_CODE_EXTRA_BODY` | Oggetto JSON da unire al livello superiore di ogni corpo di richiesta API. Utile per passare parametri specifici del provider che Claude Code non espone direttamente |217| `CLAUDE_CODE_EXTRA_BODY` | Oggetto JSON da unire al livello superiore di ogni corpo di richiesta API. Utile per passare parametri specifici del provider che Claude Code non espone direttamente |

214| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sovrascrivi il limite di token predefinito per le letture di file. Utile quando è necessario leggere file più grandi per intero |218| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Sovrascrivi il limite di token predefinito per le letture di file. Utile quando è necessario leggere file più grandi per intero |

215| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | {/* min-version: 2.1.172 */}Imposta su `1` per forzare la persistenza della trascrizione, la cronologia dei prompt e la registrazione di `claude agents` anche quando questo `claude` è stato avviato dall'interno di un'altra sessione Claude Code. Utilizza quando un valore `CLAUDE_CODE_CHILD_SESSION` ereditato, ad esempio da un server tmux avviato per la prima volta dallo strumento Bash di Claude Code, causa una sessione di livello superiore genuina a essere classificata erroneamente come annidata. {/* min-version: 2.1.178 */}A partire da v2.1.178, Claude Code rileva automaticamente il caso tmux e ignora il marcatore ereditato, quindi tmux non ha più bisogno di questa variabile. Anche onorato su v2.1.169 e versioni precedenti; non ha effetto su v2.1.170 e v2.1.171, dove il rilevamento della sessione annidata che sostituisce è stato rimosso |219| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | {/* min-version: 2.1.172 */}Imposta su `1` per forzare la persistenza della trascrizione, la cronologia dei prompt e la registrazione di `claude agents` anche quando questo `claude` è stato avviato dall'interno di un'altra sessione Claude Code. Utilizza quando un valore `CLAUDE_CODE_CHILD_SESSION` ereditato, ad esempio da una sessione tmux o un launcher in background avviato per la prima volta dallo strumento Bash di Claude Code, causa una sessione di livello superiore genuina a essere classificata erroneamente come annidata. {/* min-version: 2.1.178 */}A partire da v2.1.178, Claude Code rileva automaticamente il caso tmux e ignora il marcatore ereditato, quindi tmux non ha più bisogno di questa variabile. Anche onorato su v2.1.169 e versioni precedenti; non ha effetto su v2.1.170 e v2.1.171, dove il rilevamento della sessione annidata che sostituisce è stato rimosso |

216| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | {/* min-version: 2.1.186 */}Imposta su `1` per forzare il rendering del barrato per `~~text~~` nelle risposte di Claude quando il vostro terminale lo supporta ma non viene rilevato automaticamente, ad esempio su SSH senza `TERM_PROGRAM` inoltrato. Senza questo, i terminali non rilevati mostrano i marcatori letterali `~~` invece di renderizzare il testo come barrato. Richiede Claude Code v2.1.186 o successivo |220| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | {/* min-version: 2.1.186 */}Imposta su `1` per forzare il rendering del barrato per `~~text~~` nelle risposte di Claude quando il vostro terminale lo supporta ma non viene rilevato automaticamente, ad esempio su SSH senza `TERM_PROGRAM` inoltrato. Senza questo, i terminali non rilevati mostrano i marcatori letterali `~~` invece di renderizzare il testo come barrato. Richiede Claude Code v2.1.186 o successivo |

217| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Imposta su `1` per forzare l'abilitazione della modalità privata DEC 2026 [synchronized output](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) quando il vostro terminale la supporta ma non viene rilevato automaticamente. Utile per emulatori come Emacs `eat` che implementano BSU/ESU ma non rispondono al probe di capacità. Non ha effetto sotto tmux |221| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Imposta su `1` per forzare l'abilitazione della modalità privata DEC 2026 [synchronized output](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) quando il vostro terminale la supporta ma non viene rilevato automaticamente. Utile per emulatori come Emacs `eat` che implementano BSU/ESU ma non rispondono al probe di capacità. Non ha effetto sotto tmux |

218| `CLAUDE_CODE_FORK_SUBAGENT` | Imposta su `1` per consentire a Claude di generare [subagent biforcati](/it/sub-agents#fork-the-current-conversation), o `0` per disabilitarli, sostituendo qualsiasi rollout lato server. Quando abilitato, Claude può richiedere il tipo di subagent `fork` per generare un fork, un subagent che eredita il contesto della conversazione completa invece di iniziare da zero. Gli spawn senza un tipo di subagent utilizzano comunque il subagent di uso generale, e tutti gli spawn di subagent vengono eseguiti in background. Il comando esplicito [`/fork`](/it/commands) funziona senza questa variabile. Funziona in modalità interattiva e tramite SDK o `claude -p` |222| `CLAUDE_CODE_FORK_SUBAGENT` | Imposta su `1` per consentire a Claude di generare [subagent biforcati](/it/sub-agents#fork-the-current-conversation), o `0` per disabilitarli, sostituendo qualsiasi rollout lato server. Quando abilitato, Claude può richiedere il tipo di subagent `fork` per generare un fork, un subagent che eredita il contesto della conversazione completa invece di iniziare da zero. Gli spawn senza un tipo di subagent utilizzano comunque il subagent di uso generale, e tutti gli spawn di subagent vengono eseguiti in background. Il comando esplicito [`/fork`](/it/commands) funziona senza questa variabile. Funziona in modalità interattiva e tramite SDK o `claude -p` |


224| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sovrascrivi l'indirizzo host utilizzato per connettersi all'estensione IDE. Per impostazione predefinita Claude Code rileva automaticamente l'indirizzo corretto, incluso il routing WSL-to-Windows |228| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Sovrascrivi l'indirizzo host utilizzato per connettersi all'estensione IDE. Per impostazione predefinita Claude Code rileva automaticamente l'indirizzo corretto, incluso il routing WSL-to-Windows |

225| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Salta l'installazione automatica delle estensioni IDE. Equivalente all'impostazione di [`autoInstallIdeExtension`](/it/settings#global-config-settings) su `false` |229| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Salta l'installazione automatica delle estensioni IDE. Equivalente all'impostazione di [`autoInstallIdeExtension`](/it/settings#global-config-settings) su `false` |

226| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Imposta su `1` per saltare la convalida delle voci del file di blocco IDE durante la connessione. Utilizza quando l'auto-connessione non riesce a trovare il vostro IDE nonostante sia in esecuzione |230| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Imposta su `1` per saltare la convalida delle voci del file di blocco IDE durante la connessione. Utilizza quando l'auto-connessione non riesce a trovare il vostro IDE nonostante sia in esecuzione |

227| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sovrascrivi la dimensione della finestra del contesto che Claude Code assume per il modello attivo. Ha effetto solo quando `DISABLE_COMPACT` è anche impostato. Utilizza questo quando instrada a un modello attraverso `ANTHROPIC_BASE_URL` la cui finestra del contesto non corrisponde alla dimensione integrata per il suo nome |231| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Sovrascrivi la dimensione della finestra del contesto che Claude Code assume per il modello attivo. {/* min-version: 2.1.193 */}A partire da v2.1.193, applicato direttamente per i nomi di modelli che Claude Code non riconosce come modello Claude; per i modelli Claude riconosciuti ha effetto solo quando `DISABLE_COMPACT` è anche impostato. Utilizza questo quando instrada a un modello attraverso `ANTHROPIC_BASE_URL` la cui finestra del contesto non corrisponde alla dimensione integrata per il suo nome |

228| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Imposta il numero massimo di token di output per la maggior parte delle richieste. I valori predefiniti e massimi variano in base al modello; vedi [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). L'aumento di questo valore riduce la finestra del contesto effettiva disponibile prima che venga attivata la [compattazione automatica](/it/costs#reduce-token-usage). |232| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Imposta il numero massimo di token di output per la maggior parte delle richieste. I valori predefiniti e massimi variano in base al modello; vedi [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). L'aumento di questo valore riduce la finestra del contesto effettiva disponibile prima che venga attivata la [compattazione automatica](/it/costs#reduce-token-usage) |

229| `CLAUDE_CODE_MAX_RETRIES` | Sovrascrivi il numero di volte per riprovare le richieste API non riuscite (predefinito: 10). {/* min-version: 2.1.186 */}Limitato a 15 a partire da v2.1.186. Per sessioni non presidiate che devono attendere attraverso interruzioni più lunghe, imposta `CLAUDE_CODE_RETRY_WATCHDOG` |233| `CLAUDE_CODE_MAX_RETRIES` | Sovrascrivi il numero di volte per riprovare le richieste API non riuscite (predefinito: 10). {/* min-version: 2.1.186 */}Limitato a 15 a partire da v2.1.186. Per sessioni non presidiate che devono attendere attraverso interruzioni più lunghe, imposta `CLAUDE_CODE_RETRY_WATCHDOG` |

230| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Numero massimo di strumenti di sola lettura e subagent che possono essere eseguiti in parallelo (predefinito: 10). Valori più alti aumentano il parallelismo ma consumano più risorse |234| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Numero massimo di strumenti di sola lettura e subagent che possono essere eseguiti in parallelo (predefinito: 10). Valori più alti aumentano il parallelismo ma consumano più risorse |

231| `CLAUDE_CODE_MAX_TURNS` | Limita il numero di turni agentici quando non viene passato un limite esplicito. Equivalente a passare [`--max-turns`](/it/cli-reference#cli-flags), che ha la precedenza quando entrambi sono impostati. Un valore che non è un intero positivo viene rifiutato all'avvio con un errore piuttosto che trattato come nessun limite |235| `CLAUDE_CODE_MAX_TURNS` | Limita il numero di turni agentici quando non viene passato un limite esplicito. Equivalente a passare [`--max-turns`](/it/cli-reference#cli-flags), che ha la precedenza quando entrambi sono impostati. Un valore che non è un intero positivo viene rifiutato all'avvio con un errore piuttosto che trattato come nessun limite |

232| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Imposta su `1` per generare server MCP stdio con solo un ambiente di base sicuro più il `env` configurato del server, invece di ereditare l'ambiente della vostra shell |236| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Imposta su `1` per generare server MCP stdio con solo un ambiente di base sicuro più il `env` configurato del server, invece di ereditare l'ambiente della vostra shell |

233| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | {/* min-version: 2.1.187 */}Timeout di inattività in millisecondi per le chiamate di strumento MCP remoto (predefinito: 300000, o 5 minuti). Quando un server MCP HTTP, SSE, WebSocket o [connettore claude.ai](/it/mcp#use-mcp-servers-from-claude-ai) non invia risposta e nessuna notifica di progresso per questo tempo, la chiamata dello strumento si interrompe con un errore invece di attendere il `MCP_TOOL_TIMEOUT` del wall-clock. Imposta su `0` per disabilitare il controllo di inattività. I valori inferiori a 1000 vengono aumentati a un secondo, e il valore è limitato al `MCP_TOOL_TIMEOUT` effettivo. Non si applica ai server stdio o IDE. Richiede Claude Code v2.1.187 o successivo |237| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | {/* min-version: 2.1.187 */}Timeout di inattività in millisecondi per le chiamate di strumento MCP remoto (predefinito: 300000, o 5 minuti). Quando un server MCP HTTP, SSE, WebSocket o [connettore claude.ai](/it/mcp#use-mcp-servers-from-claude-ai) non invia risposta e nessuna notifica di progresso per questo tempo, la chiamata dello strumento si interrompe con un errore invece di attendere il `MCP_TOOL_TIMEOUT` del wall-clock. Imposta su `0` per disabilitare il controllo di inattività. I valori inferiori a 1000 vengono aumentati a un secondo, e il valore è limitato al `MCP_TOOL_TIMEOUT` effettivo. Non si applica ai server stdio o IDE. Richiede Claude Code v2.1.187 o successivo |

234| `CLAUDE_CODE_NATIVE_CURSOR` | Imposta su `1` per mostrare il cursore proprio del terminale al cursore di input invece di un blocco disegnato. Il cursore rispetta le impostazioni di lampeggio, forma e focus del terminale |238| `CLAUDE_CODE_NATIVE_CURSOR` | Imposta su `1` per mostrare il cursore proprio del terminale al cursore di input invece di un blocco disegnato. Il cursore rispetta le impostazioni di lampeggio, forma e focus del terminale |

235| `CLAUDE_CODE_NEW_INIT` | Imposta su `1` per fare in modo che `/init` esegua un flusso di configurazione interattivo. Il flusso chiede quali file generare, inclusi CLAUDE.md, skill e hook, prima di esplorare la base di codice e scriverli. Senza questa variabile, `/init` genera un CLAUDE.md automaticamente senza chiedere. |239| `CLAUDE_CODE_NEW_INIT` | Imposta su `1` per fare in modo che `/init` esegua un flusso di configurazione interattivo. Il flusso chiede quali file generare, inclusi CLAUDE.md, skill e hook, prima di esplorare la base di codice e scriverli. Senza questa variabile, `/init` genera un CLAUDE.md automaticamente senza chiedere |

236| `CLAUDE_CODE_NO_FLICKER` | Imposta su `1` per abilitare il [rendering a schermo intero](/it/fullscreen), un'anteprima di ricerca che riduce lo sfarfallio e mantiene la memoria piatta nelle conversazioni lunghe. Equivalente all'impostazione [`tui`](/it/settings#available-settings); potete anche passare con `/tui fullscreen` |240| `CLAUDE_CODE_NO_FLICKER` | Imposta su `1` per abilitare il [rendering a schermo intero](/it/fullscreen), un'anteprima di ricerca che riduce lo sfarfallio e mantiene la memoria piatta nelle conversazioni lunghe. Equivalente all'impostazione [`tui`](/it/settings#available-settings); potete anche passare con `/tui fullscreen` |

237| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token di aggiornamento OAuth per l'autenticazione Claude.ai. Se impostato, `claude auth login` scambia questo token direttamente invece di aprire un browser. Richiede `CLAUDE_CODE_OAUTH_SCOPES`. Utile per il provisioning dell'autenticazione in ambienti automatizzati |241| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token di aggiornamento OAuth per l'autenticazione Claude.ai. Se impostato, `claude auth login` scambia questo token direttamente invece di aprire un browser. Richiede `CLAUDE_CODE_OAUTH_SCOPES`. Utile per il provisioning dell'autenticazione in ambienti automatizzati |

238| `CLAUDE_CODE_OAUTH_SCOPES` | Ambiti OAuth separati da spazi con cui è stato emesso il token di aggiornamento, come `"user:profile user:inference user:sessions:claude_code"`. Obbligatorio quando `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` è impostato |242| `CLAUDE_CODE_OAUTH_SCOPES` | Ambiti OAuth separati da spazi con cui è stato emesso il token di aggiornamento, come `"user:profile user:inference user:sessions:claude_code"`. Obbligatorio quando `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` è impostato |

239| `CLAUDE_CODE_OAUTH_TOKEN` | Token di accesso OAuth per l'autenticazione Claude.ai. Alternativa a `/login` per SDK e ambienti automatizzati. Ha la precedenza sulle credenziali archiviate nel portachiavi. Generatene uno con [`claude setup-token`](/it/authentication#generate-a-long-lived-token) |243| `CLAUDE_CODE_OAUTH_TOKEN` | Token di accesso OAuth per l'autenticazione Claude.ai. Alternativa a `/login` per SDK e ambienti automatizzati. Ha la precedenza sulle credenziali archiviate nel portachiavi. Generatene uno con [`claude setup-token`](/it/authentication#generate-a-long-lived-token) |

240| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | {/* max-version: 2.1.159 */}Rimosso in v2.1.160 e ora un no-op. In precedenza fissava la [modalità veloce](/it/fast-mode) a Claude Opus 4.6 invece del valore predefinito corrente |244| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | {/* max-version: 2.1.159 */}Rimosso in v2.1.160 e ora un no-op. In precedenza fissava la [modalità veloce](/it/fast-mode) a Claude Opus 4.6 invece del valore predefinito corrente. Opus 4.6 non supporta più la modalità veloce |

241| `CLAUDE_CODE_OTEL_DIAG_STDERR` | {/* min-version: 2.1.179 */}Imposta su `1` per scrivere gli errori diagnostici dell'esportatore OpenTelemetry su stderr. Per impostazione predefinita questi errori appaiono solo con `--debug`, quindi un esportatore non configurato correttamente come una collisione di porta Prometheus altrimenti fallisce silenziosamente. Richiede Claude Code v2.1.179 o successivo. Vedi [Monitoraggio](/it/monitoring-usage) |245| `CLAUDE_CODE_OTEL_DIAG_STDERR` | {/* min-version: 2.1.179 */}Imposta su `1` per scrivere gli errori diagnostici dell'esportatore OpenTelemetry su stderr. Per impostazione predefinita questi errori appaiono solo con `--debug`, quindi un esportatore non configurato correttamente come una collisione di porta Prometheus altrimenti fallisce silenziosamente. Richiede Claude Code v2.1.179 o successivo. Vedi [Monitoraggio](/it/monitoring-usage) |

242| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in millisecondi per lo scaricamento dei span OpenTelemetry in sospeso (predefinito: 5000). Vedi [Monitoraggio](/it/monitoring-usage) |246| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in millisecondi per lo scaricamento dei span OpenTelemetry in sospeso (predefinito: 5000). Vedi [Monitoraggio](/it/monitoring-usage) |

243| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervallo per l'aggiornamento delle intestazioni OpenTelemetry dinamiche in millisecondi (predefinito: 1740000 / 29 minuti). Vedi [Intestazioni dinamiche](/it/monitoring-usage#dynamic-headers) |247| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervallo per l'aggiornamento delle intestazioni OpenTelemetry dinamiche in millisecondi (predefinito: 1740000 / 29 minuti). Vedi [Intestazioni dinamiche](/it/monitoring-usage#dynamic-headers) |


275| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Imposta su `1` per saltare la scrittura della cronologia dei prompt e delle trascrizioni della sessione su disco. Le sessioni avviate con questa variabile impostata non appaiono in `--resume`, `--continue` o nella cronologia della freccia su. Utile per sessioni di script effimere |279| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Imposta su `1` per saltare la scrittura della cronologia dei prompt e delle trascrizioni della sessione su disco. Le sessioni avviate con questa variabile impostata non appaiono in `--resume`, `--continue` o nella cronologia della freccia su. Utile per sessioni di script effimere |

276| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Salta l'autenticazione Google per Vertex (ad esempio, quando si utilizza un gateway LLM) |280| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Salta l'autenticazione Google per Vertex (ad esempio, quando si utilizza un gateway LLM) |

277| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Numero massimo di volte consecutive che un hook [Stop](/it/hooks#stop) o [SubagentStop](/it/hooks#subagentstop) può bloccare il turno dal terminare prima che Claude Code lo sostituisca e termini il turno comunque (predefinito: 8). Imposta su `0` per disabilitare il limite. Aumentate questo se il vostro hook ha legittimamente bisogno di più iterazioni per risolvere |281| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Numero massimo di volte consecutive che un hook [Stop](/it/hooks#stop) o [SubagentStop](/it/hooks#subagentstop) può bloccare il turno dal terminare prima che Claude Code lo sostituisca e termini il turno comunque (predefinito: 8). Imposta su `0` per disabilitare il limite. Aumentate questo se il vostro hook ha legittimamente bisogno di più iterazioni per risolvere |

278| `CLAUDE_CODE_SUBAGENT_MODEL` | Vedi [Configurazione del modello](/it/model-config) |282| `CLAUDE_CODE_SUBAGENT_MODEL` | Vedi [Configurazione del modello](/it/model-config). {/* min-version: 2.1.196 */}A partire da v2.1.196, l'impostazione su `inherit` è la stessa di lasciarla non impostata; le versioni precedenti trattavano `inherit` come un override che forzava ogni subagent sul modello della conversazione principale |

279| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Imposta su `1` per rimuovere le credenziali Anthropic e del provider cloud dagli ambienti dei sottoprocessi (strumento Bash, hook, server MCP stdio). Il processo Claude padre mantiene queste credenziali per le chiamate API, ma i processi figlio non possono leggerle, riducendo l'esposizione agli attacchi di prompt injection che tentano di esfiltare i segreti tramite l'espansione della shell. Su Linux, questo esegue anche i sottoprocessi Bash in uno spazio dei nomi PID isolato in modo che non possano leggere gli ambienti dei processi host tramite `/proc`; come effetto collaterale, `ps`, `pgrep` e `kill` non possono vedere o segnalare i processi host. `claude-code-action` imposta questo automaticamente quando `allowed_non_write_users` è configurato |283| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Imposta su `1` per rimuovere le credenziali Anthropic e del provider cloud dagli ambienti dei sottoprocessi (strumento Bash, hook, server MCP stdio). Il processo Claude padre mantiene queste credenziali per le chiamate API, ma i processi figlio non possono leggerle, riducendo l'esposizione agli attacchi di prompt injection che tentano di esfiltare i segreti tramite l'espansione della shell. Su Linux, questo esegue anche i sottoprocessi Bash in uno spazio dei nomi PID isolato in modo che non possano leggere gli ambienti dei processi host tramite `/proc`; come effetto collaterale, `ps`, `pgrep` e `kill` non possono vedere o segnalare i processi host. `claude-code-action` imposta questo automaticamente quando `allowed_non_write_users` è configurato |

280| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Imposta su `1` in modalità non interattiva (il flag `-p`) per attendere il completamento dell'installazione del plugin prima della prima query. Senza questo, i plugin si installano in background e potrebbero non essere disponibili al primo turno. Combina con `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` per limitare l'attesa |284| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Imposta su `1` in modalità non interattiva (il flag `-p`) per attendere il completamento dell'installazione del plugin prima della prima query. Senza questo, i plugin si installano in background e potrebbero non essere disponibili al primo turno. Combina con `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` per limitare l'attesa |

281| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per l'installazione sincrona del plugin. Se superato, Claude Code procede senza plugin e registra un errore. Nessun predefinito: senza questa variabile, l'installazione sincrona attende fino al completamento |285| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in millisecondi per l'installazione sincrona del plugin. Se superato, Claude Code procede senza plugin e registra un errore. Nessun predefinito: senza questa variabile, l'installazione sincrona attende fino al completamento |


295| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Controlla lo strumento PowerShell. Su Windows senza Git Bash, lo strumento è abilitato automaticamente; imposta su `0` per disabilitarlo. Su Windows con Git Bash installato, lo strumento è in rollout progressivo: imposta su `1` per aderire o `0` per rinunciare. Su Linux, macOS e WSL, imposta su `1` per abilitarlo, che richiede `pwsh` nel vostro `PATH`. Se abilitato su Windows, Claude può eseguire i comandi PowerShell nativamente invece di instradare attraverso Git Bash. Vedi [Strumento PowerShell](/it/tools-reference#powershell-tool) |299| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Controlla lo strumento PowerShell. Su Windows senza Git Bash, lo strumento è abilitato automaticamente; imposta su `0` per disabilitarlo. Su Windows con Git Bash installato, lo strumento è in rollout progressivo: imposta su `1` per aderire o `0` per rinunciare. Su Linux, macOS e WSL, imposta su `1` per abilitarlo, che richiede `pwsh` nel vostro `PATH`. Se abilitato su Windows, Claude può eseguire i comandi PowerShell nativamente invece di instradare attraverso Git Bash. Vedi [Strumento PowerShell](/it/tools-reference#powershell-tool) |

296| `CLAUDE_CODE_USE_VERTEX` | Utilizza [Vertex](/it/google-vertex-ai) |300| `CLAUDE_CODE_USE_VERTEX` | Utilizza [Vertex](/it/google-vertex-ai) |

297| `CLAUDE_CONFIG_DIR` | Sovrascrivi la directory di configurazione (predefinito: `~/.claude`). Tutte le impostazioni, le credenziali, la cronologia della sessione e i plugin sono archiviati sotto questo percorso. Utile per eseguire più account affiancati: ad esempio, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |301| `CLAUDE_CONFIG_DIR` | Sovrascrivi la directory di configurazione (predefinito: `~/.claude`). Tutte le impostazioni, le credenziali, la cronologia della sessione e i plugin sono archiviati sotto questo percorso. Utile per eseguire più account affiancati: ad esempio, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |

302| `CLAUDE_DISABLE_ADOPT` | {/* min-version: 2.1.195 */}Imposta su `1` per interrompere il lavoro in volo in background invece di portarlo quando mettete una sessione in background premendo `←` o con [`/background`](/it/agent-view#from-inside-a-session). Claude Code vi chiede di confermare prima di mettere in background, quindi interrompe le attività che altrimenti verrebbero portate. Richiede Claude Code v2.1.195 o successivo |

298| `CLAUDE_EFFORT` | Impostato automaticamente nei sottoprocessi dello strumento Bash e nei comandi hook al [livello di sforzo](/it/model-config#adjust-effort-level) attivo per il turno: `low`, `medium`, `high`, `xhigh` o `max`. Ultracode non è un livello distinto e riporta come `xhigh`. Corrisponde al campo `effort.level` passato agli [hook](/it/hooks). Impostato solo quando il modello corrente supporta il parametro effort |303| `CLAUDE_EFFORT` | Impostato automaticamente nei sottoprocessi dello strumento Bash e nei comandi hook al [livello di sforzo](/it/model-config#adjust-effort-level) attivo per il turno: `low`, `medium`, `high`, `xhigh` o `max`. Ultracode non è un livello distinto e riporta come `xhigh`. Corrisponde al campo `effort.level` passato agli [hook](/it/hooks). Impostato solo quando il modello corrente supporta il parametro effort |

299| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Imposta su `1` per forzare l'abilitazione del watchdog di inattività a livello di byte, o imposta su `0` per forzare la disabilitazione. Se non impostato, il watchdog è abilitato per impostazione predefinita per le connessioni API Anthropic dirette e [Claude Platform on AWS](/it/claude-platform-on-aws). Il byte watchdog interrompe una connessione quando nessun byte arriva sul filo per 180 secondi per impostazione predefinita su connessioni API Anthropic dirette, 300 secondi su Claude Platform on AWS e quando abilitato su Bedrock, o per il valore di `CLAUDE_STREAM_IDLE_TIMEOUT_MS` quando è impostato, che è limitato a un minimo di 5 minuti, indipendente dal watchdog a livello di evento |304| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Imposta su `1` per forzare l'abilitazione del watchdog di inattività a livello di byte, o imposta su `0` per forzare la disabilitazione. Se non impostato, il watchdog è abilitato per impostazione predefinita per le connessioni API Anthropic dirette e [Claude Platform on AWS](/it/claude-platform-on-aws). Il byte watchdog interrompe una connessione quando nessun byte arriva sul filo per 180 secondi per impostazione predefinita su connessioni API Anthropic dirette, 300 secondi su Claude Platform on AWS e quando abilitato su Bedrock, o per il valore di `CLAUDE_STREAM_IDLE_TIMEOUT_MS` quando è impostato, che è limitato a un minimo di 5 minuti, indipendente dal watchdog a livello di evento |

300| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Imposta su `1` per abilitare il watchdog di inattività a livello di byte su risposte Amazon Bedrock `vnd.amazon.eventstream`. Disattivato per impostazione predefinita. Configurate il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |305| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Imposta su `1` per abilitare il watchdog di inattività a livello di byte su risposte Amazon Bedrock `vnd.amazon.eventstream`. Disattivato per impostazione predefinita. Configurate il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

301| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Imposta su `1` per forzare l'abilitazione del watchdog di inattività dello streaming a livello di evento, o imposta su `0` per forzare la disabilitazione. Se non impostato, il valore predefinito è controllato dal server sull'API Anthropic diretta e disattivato su altri provider. {/* min-version: 2.1.169 */}A partire da v2.1.169, i provider diversi dall'API Anthropic diretta e da Claude Platform on AWS hanno anche un timeout di inattività del corpo di 5 minuti predefinito indipendente da questa variabile; vedi `API_FORCE_IDLE_TIMEOUT`. Su Bedrock, potete anche abilitare il watchdog indipendente a livello di byte con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`; i due vengono eseguiti insieme quando entrambi sono impostati. Configurate il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |306| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Imposta su `0` per forzare la disabilitazione del watchdog di inattività dello streaming a livello di evento, o imposta su `1` per forzare l'abilitazione. {/* min-version: 2.1.196 */}Se non impostato, il watchdog è attivo per impostazione predefinita per tutti i provider. Prima di v2.1.196, il valore predefinito non impostato era controllato dal server sull'API Anthropic diretta e disattivato su altri provider. {/* min-version: 2.1.169 */}A partire da v2.1.169, i provider diversi dall'API Anthropic diretta e da Claude Platform on AWS hanno anche un timeout di inattività del corpo di 5 minuti predefinito indipendente da questa variabile; vedi `API_FORCE_IDLE_TIMEOUT`. Su Bedrock, potete anche abilitare il watchdog indipendente a livello di byte con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`; i due vengono eseguiti insieme quando entrambi sono impostati. Configurate il timeout con `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

302| `CLAUDE_ENV_FILE` | Percorso di uno script di shell i cui contenuti Claude Code esegue prima di ogni comando Bash nello stesso processo di shell, in modo che gli export nel file siano visibili al comando. Utilizza per persistere l'attivazione di virtualenv o conda tra i comandi. Anche popolato dinamicamente dagli hook [SessionStart](/it/hooks#persist-environment-variables), [Setup](/it/hooks#setup), [CwdChanged](/it/hooks#cwdchanged) e [FileChanged](/it/hooks#filechanged) |307| `CLAUDE_ENV_FILE` | Percorso di uno script di shell i cui contenuti Claude Code esegue prima di ogni comando Bash nello stesso processo di shell, in modo che gli export nel file siano visibili al comando. Utilizza per persistere l'attivazione di virtualenv o conda tra i comandi. Anche popolato dinamicamente dagli hook [SessionStart](/it/hooks#persist-environment-variables), [Setup](/it/hooks#setup), [CwdChanged](/it/hooks#cwdchanged) e [FileChanged](/it/hooks#filechanged) |

303| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefisso per i nomi delle sessioni [Remote Control](/it/remote-control) generati automaticamente quando non viene fornito un nome esplicito. Per impostazione predefinita il nome host della vostra macchina, producendo nomi come `myhost-graceful-unicorn`. Il flag CLI `--remote-control-session-name-prefix` imposta lo stesso valore per una singola invocazione |308| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefisso per i nomi delle sessioni [Remote Control](/it/remote-control) generati automaticamente quando non viene fornito un nome esplicito. Per impostazione predefinita il nome host della vostra macchina, producendo nomi come `myhost-graceful-unicorn`. Il flag CLI `--remote-control-session-name-prefix` imposta lo stesso valore per una singola invocazione |

304| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in millisecondi prima che il watchdog di inattività dello streaming chiuda una connessione bloccata. Quando impostate questa variabile esplicitamente, il minimo è `300000` (5 minuti); i valori inferiori vengono silenziosamente limitati per assorbire le pause di thinking esteso e il buffering del proxy. Se non impostato, il watchdog a livello di evento per impostazione predefinita è 300 secondi e il watchdog a livello di byte per impostazione predefinita è 180 secondi su connessioni API Anthropic dirette (300 secondi su Claude Platform on AWS e altri provider). Il valore predefinito di 180 secondi del byte-watchdog non impostato è un valore separato e non è soggetto al limite di 5 minuti. Per il watchdog a livello di evento su provider di terze parti, richiede `CLAUDE_ENABLE_STREAM_WATCHDOG=1`; il timeout di inattività del corpo descritto in `API_FORCE_IDLE_TIMEOUT` si applica indipendentemente. Su Bedrock, si applica anche quando `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |309| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in millisecondi prima che il watchdog di inattività dello streaming chiuda una connessione bloccata. Quando impostate questa variabile esplicitamente, il minimo è `300000` (5 minuti); i valori inferiori vengono silenziosamente limitati per assorbire le pause di thinking esteso e il buffering del proxy. Se non impostato, il watchdog a livello di evento per impostazione predefinita è 300 secondi e il watchdog a livello di byte per impostazione predefinita è 180 secondi su connessioni API Anthropic dirette (300 secondi su Claude Platform on AWS e altri provider). Il valore predefinito di 180 secondi del byte-watchdog non impostato è un valore separato e non è soggetto al limite di 5 minuti. Il timeout di inattività del corpo descritto in `API_FORCE_IDLE_TIMEOUT` si applica indipendentemente. Su Bedrock, si applica anche quando `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |

305| `DEBUG` | Imposta su `1` per abilitare la modalità debug, equivalente al lancio con [`--debug`](/it/cli-reference#cli-flags). I log di debug vengono scritti in `~/.claude/debug/<session-id>.txt`, o nel percorso impostato da `CLAUDE_CODE_DEBUG_LOGS_DIR`. Solo i valori truthy `1`, `true`, `yes` e `on` abilitano la modalità debug, quindi i modelli di namespace come `DEBUG=express:*` impostati per altri strumenti non lo attivano |310| `DEBUG` | Imposta su `1` per abilitare la modalità debug, equivalente al lancio con [`--debug`](/it/cli-reference#cli-flags). I log di debug vengono scritti in `~/.claude/debug/<session-id>.txt`, o nel percorso impostato da `CLAUDE_CODE_DEBUG_LOGS_DIR`. Solo i valori truthy `1`, `true`, `yes` e `on` abilitano la modalità debug, quindi i modelli di namespace come `DEBUG=express:*` impostati per altri strumenti non lo attivano |

306| `DISABLE_AUTOUPDATER` | Imposta su `1` per disabilitare gli aggiornamenti automatici in background. Il manuale `claude update` funziona ancora. Utilizza `DISABLE_UPDATES` per bloccare entrambi |311| `DISABLE_AUTOUPDATER` | Imposta su `1` per disabilitare gli aggiornamenti automatici in background. Il manuale `claude update` funziona ancora. Utilizza `DISABLE_UPDATES` per bloccare entrambi |

307| `DISABLE_AUTO_COMPACT` | Imposta su `1` per disabilitare la compattazione automatica quando ci si avvicina al limite del contesto. Il comando manuale `/compact` rimane disponibile. Utilizza quando desiderate un controllo esplicito su quando si verifica la compattazione |312| `DISABLE_AUTO_COMPACT` | Imposta su `1` per disabilitare la compattazione automatica quando ci si avvicina al limite del contesto. Il comando manuale `/compact` rimane disponibile. Utilizza quando desiderate un controllo esplicito su quando si verifica la compattazione |


348| `MCP_TIMEOUT` | Timeout in millisecondi per l'avvio del server MCP (predefinito: 30000, o 30 secondi) |353| `MCP_TIMEOUT` | Timeout in millisecondi per l'avvio del server MCP (predefinito: 30000, o 30 secondi) |

349| `MCP_TOOL_TIMEOUT` | Timeout in millisecondi per l'esecuzione dello strumento MCP (predefinito: 100000000, circa 28 ore). Un campo `timeout` per server in `.mcp.json` sostituisce questo per quel server. Per la variabile env, i valori inferiori a 1000 vengono arrotondati a un secondo; per il campo per server, i valori inferiori a 1000 vengono ignorati |354| `MCP_TOOL_TIMEOUT` | Timeout in millisecondi per l'esecuzione dello strumento MCP (predefinito: 100000000, circa 28 ore). Un campo `timeout` per server in `.mcp.json` sostituisce questo per quel server. Per la variabile env, i valori inferiori a 1000 vengono arrotondati a un secondo; per il campo per server, i valori inferiori a 1000 vengono ignorati |

350| `NO_PROXY` | Elenco di domini e IP a cui le richieste verranno emesse direttamente, bypassando il proxy |355| `NO_PROXY` | Elenco di domini e IP a cui le richieste verranno emesse direttamente, bypassando il proxy |

356| `OTEL_LOG_ASSISTANT_RESPONSES` | {/* min-version: 2.1.193 */}Imposta su `1` per includere il testo della risposta del modello su eventi di log OpenTelemetry `assistant_response`. Se non impostato, viene utilizzato il valore di `OTEL_LOG_USER_PROMPTS`. Imposta su `0` per mantenere le risposte redatte anche quando `OTEL_LOG_USER_PROMPTS` è impostato. Richiede Claude Code v2.1.193 o successivo. Vedi [Monitoraggio](/it/monitoring-usage#assistant-response-event) |

351| `OTEL_LOG_RAW_API_BODIES` | Emetti il JSON della richiesta e della risposta dell'API Anthropic Messages come eventi di log `api_request_body` / `api_response_body`. Imposta su `1` per i corpi inline troncati a 60 KB, o `file:<dir>` per scrivere i corpi non troncati su disco ed emettere un percorso `body_ref` invece. Disabilitato per impostazione predefinita; i corpi includono l'intera cronologia della conversazione. Vedi [Monitoraggio](/it/monitoring-usage#api-request-body-event) |357| `OTEL_LOG_RAW_API_BODIES` | Emetti il JSON della richiesta e della risposta dell'API Anthropic Messages come eventi di log `api_request_body` / `api_response_body`. Imposta su `1` per i corpi inline troncati a 60 KB, o `file:<dir>` per scrivere i corpi non troncati su disco ed emettere un percorso `body_ref` invece. Disabilitato per impostazione predefinita; i corpi includono l'intera cronologia della conversazione. Vedi [Monitoraggio](/it/monitoring-usage#api-request-body-event) |

352| `OTEL_LOG_TOOL_CONTENT` | Imposta su `1` per includere il contenuto di input e output dello strumento negli eventi span OpenTelemetry. Disabilitato per impostazione predefinita per proteggere i dati sensibili. Vedi [Monitoraggio](/it/monitoring-usage) |358| `OTEL_LOG_TOOL_CONTENT` | Imposta su `1` per includere il contenuto di input e output dello strumento negli eventi span OpenTelemetry. Disabilitato per impostazione predefinita per proteggere i dati sensibili. Vedi [Monitoraggio](/it/monitoring-usage) |

353| `OTEL_LOG_TOOL_DETAILS` | Imposta su `1` per includere gli argomenti di input dello strumento, i nomi dei server MCP, le stringhe di errore non elaborate sui fallimenti degli strumenti, la categoria di rifiuto su eventi `api_refusal` e altri dettagli degli strumenti nelle tracce e nei log OpenTelemetry. Disabilitato per impostazione predefinita per proteggere le informazioni personali. Vedi [Monitoraggio](/it/monitoring-usage) |359| `OTEL_LOG_TOOL_DETAILS` | Imposta su `1` per includere gli argomenti di input dello strumento, i nomi dei server MCP, le stringhe di errore non elaborate sui fallimenti degli strumenti, la categoria di rifiuto su eventi `api_refusal` e altri dettagli degli strumenti nelle tracce e nei log OpenTelemetry. Disabilitato per impostazione predefinita per proteggere le informazioni personali. Vedi [Monitoraggio](/it/monitoring-usage) |

errors.md +22 −4

Details

40| `Your organization has disabled API key authentication` | [Autenticazione](#your-organization-has-disabled-api-key-authentication) |40| `Your organization has disabled API key authentication` | [Autenticazione](#your-organization-has-disabled-api-key-authentication) |

41| `Your organization has disabled Claude subscription access` | [Autenticazione](#your-organization-has-disabled-claude-subscription-access) |41| `Your organization has disabled Claude subscription access` | [Autenticazione](#your-organization-has-disabled-claude-subscription-access) |

42| `Routines are disabled by your organization's policy` | [Autenticazione](#routines-are-disabled-by-your-organization%E2%80%99s-policy) |42| `Routines are disabled by your organization's policy` | [Autenticazione](#routines-are-disabled-by-your-organization%E2%80%99s-policy) |

43| `Remote Control is only available when using Claude via api.anthropic.com` | [Autenticazione](#remote-control-requires-the-anthropic-api) |

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

44| `does not meet scope requirement user:profile` | [Autenticazione](#oauth-scope-requirement) |45| `does not meet scope requirement user:profile` | [Autenticazione](#oauth-scope-requirement) |

45| `Unable to connect to API` | [Rete](#unable-to-connect-to-api) |46| `Unable to connect to API` | [Rete](#unable-to-connect-to-api) |


438* Chiedi al tuo amministratore di abilitare l'interruttore **Routines** su [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)439* Chiedi al tuo amministratore di abilitare l'interruttore **Routines** su [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

439* Per lavori programmati una tantum che non richiedono routine a livello organizzativo, vedi [scheduled tasks](/it/scheduled-tasks)440* Per lavori programmati una tantum che non richiedono routine a livello organizzativo, vedi [scheduled tasks](/it/scheduled-tasks)

440 441 

442<h3 id="remote-control-requires-the-anthropic-api">

443 Remote Control requires the Anthropic API

444</h3>

445 

446La sessione non sta parlando direttamente con l'API Anthropic, quindi non c'è un backend claude.ai per [Remote Control](/it/remote-control) da associare.

447 

448```text theme={null}

449Remote Control is only available when using Claude via api.anthropic.com.

450```

451 

452Questo appare su Amazon Bedrock, Google Vertex AI e Microsoft Foundry. {/* min-version: 2.1.196 */}A partire dalla v2.1.196 appare anche quando [`ANTHROPIC_BASE_URL`](/it/env-vars) punta a un host diverso da `api.anthropic.com`, come un [LLM gateway](/it/llm-gateway) o proxy, anche quando accedi con claude.ai.

453 

454**Cosa fare:**

455 

456* Annulla l'impostazione di `ANTHROPIC_BASE_URL` e riavvia la sessione, oppure avvia Remote Control da una sessione che parla direttamente con l'API Anthropic

457* Per questo e gli altri messaggi di avvio di Remote Control, vedi [Troubleshoot Remote Control](/it/remote-control#troubleshooting)

458 

441<h3 id="oauth-token-revoked-or-expired">459<h3 id="oauth-token-revoked-or-expired">

442 OAuth token revoked or expired460 OAuth token revoked or expired

443</h3>461</h3>


739 thinking.type.enabled is not supported for this model757 thinking.type.enabled is not supported for this model

740</h3>758</h3>

741 759 

742La tua versione di Claude Code è più vecchia del minimo per Opus 4.7 o Opus 4.8. La CLI ha inviato una configurazione di thinking che il modello non accetta più.760La tua versione di Claude Code è più vecchia del minimo per Sonnet 5, Opus 4.8, o Opus 4.7. La CLI ha inviato una configurazione di thinking che il modello non accetta più.

743 761 

744```text theme={null}762```text theme={null}

745API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.763API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.


747 765 

748**Cosa fare:**766**Cosa fare:**

749 767 

750* Esegui `claude update` e riavvia Claude Code. Opus 4.7 ha bisogno di v2.1.111 o successivo. Opus 4.8 ha bisogno di v2.1.154 o successivo768* Esegui `claude update` e riavvia Claude Code. Opus 4.7 ha bisogno di v2.1.111 o successivo. Opus 4.8 ha bisogno di v2.1.154 o successivo. Sonnet 5 ha bisogno di v2.1.197 o successivo

751* Se non puoi aggiornare, esegui `/model` e seleziona Opus 4.6 o Sonnet769* Se non puoi aggiornare, esegui `/model` e seleziona Opus 4.6 o Sonnet 4.6 invece

752* Se colpisci questo nell'Agent SDK, vedi [Risoluzione dei problemi dell'SDK](/it/agent-sdk/quickstart#troubleshooting)770* {/* min-version: agent-sdk@0.3.197 */}Se colpisci questo nell'[Agent SDK](/it/agent-sdk/overview), aggiorna il pacchetto SDK invece. Opus 4.8 ha bisogno di TypeScript SDK v0.3.154 o successivo e Python SDK v0.2.88 o successivo. Sonnet 5 ha bisogno di TypeScript SDK v0.3.197 o successivo

753 771 

754<h3 id="thinking-budget-exceeds-output-limit">772<h3 id="thinking-budget-exceeds-output-limit">

755 Thinking budget exceeds output limit773 Thinking budget exceeds output limit

fullscreen.md +13 −3

Details

62* **Fai clic e trascinamento** per selezionare il testo in qualsiasi punto della conversazione. Il doppio clic seleziona una parola, corrispondendo ai confini delle parole di iTerm2 in modo che un percorso di file si selezioni come un'unità. Il triplo clic seleziona la riga.62* **Fai clic e trascinamento** per selezionare il testo in qualsiasi punto della conversazione. Il doppio clic seleziona una parola, corrispondendo ai confini delle parole di iTerm2 in modo che un percorso di file si selezioni come un'unità. Il triplo clic seleziona la riga.

63* **Scorri con la rotella del mouse** per muoverti attraverso la conversazione.63* **Scorri con la rotella del mouse** per muoverti attraverso la conversazione.

64 64 

65Il testo selezionato viene copiato negli appunti automaticamente al rilascio del mouse. Per disattivarlo, attiva/disattiva Copia alla selezione in `/config`. Con questa opzione disattivata, premi `Ctrl+Shift+c` per copiare manualmente. Sui terminali che supportano il protocollo della tastiera kitty, come kitty, WezTerm, Ghostty e iTerm2, funziona anche `Cmd+c`. Se hai una selezione attiva, `Ctrl+c` copia invece di annullare.65Il testo selezionato viene copiato negli appunti automaticamente al rilascio del mouse. Per disattivarlo, attiva/disattiva Copia alla selezione in `/config`.

66 

67Con Copia alla selezione disattivato, premi `Ctrl+Shift+c` per copiare manualmente. Sui terminali che supportano il protocollo della tastiera kitty, come kitty, WezTerm, Ghostty e iTerm2, funziona anche `Cmd+c`. Se hai una selezione attiva, `Ctrl+c` copia invece di annullare.

66 68 

67Con una selezione attiva, tieni premuto `Shift` e premi i tasti freccia per estenderla dalla tastiera. `Shift+↑` e `Shift+↓` scorrono il viewport quando la selezione raggiunge il bordo superiore o inferiore. `Shift+Home` e `Shift+End` estendono all'inizio o alla fine della riga corrente.69Con una selezione attiva, tieni premuto `Shift` e premi i tasti freccia per estenderla dalla tastiera. `Shift+↑` e `Shift+↓` scorrono il viewport quando la selezione raggiunge il bordo superiore o inferiore. `Shift+Home` e `Shift+End` estendono all'inizio o alla fine della riga corrente.

68 70 


107 109 

108Un valore di `3` corrisponde al valore predefinito in `vim` e applicazioni simili. L'impostazione accetta valori da 1 a 20 e valori frazionari inferiori a 1 come `0.5` per rallentare lo scorrimento accelerato del trackpad e della rotella del mouse nei terminali che già amplificano gli eventi della rotella.110Un valore di `3` corrisponde al valore predefinito in `vim` e applicazioni simili. L'impostazione accetta valori da 1 a 20 e valori frazionari inferiori a 1 come `0.5` per rallentare lo scorrimento accelerato del trackpad e della rotella del mouse nei terminali che già amplificano gli eventi della rotella.

109 111 

110Per regolare la velocità di scorrimento in modo interattivo, esegui `/scroll-speed`. La finestra di dialogo mostra un righello che puoi scorrere mentre è aperta in modo da poter sentire il cambiamento immediatamente. Premi `←` e `→` per regolare, `r` per ripristinare il valore predefinito rilevato automaticamente e `Invio` per salvare. Il comando scrive lo stesso valore che la variabile di ambiente `CLAUDE_CODE_SCROLL_SPEED` imposta, persistito in `~/.claude/settings.json`. Il comando non è disponibile nel terminale dell'IDE JetBrains.112Per regolare la velocità di scorrimento in modo interattivo, esegui `/scroll-speed`. La finestra di dialogo mostra un righello che puoi scorrere mentre è aperta in modo da poter sentire il cambiamento immediatamente. Premi `←` e `→` per regolare, `r` per ripristinare il valore predefinito rilevato automaticamente e `Invio` per salvare.

113 

114Il comando scrive lo stesso valore che la variabile di ambiente `CLAUDE_CODE_SCROLL_SPEED` imposta, persistito in `~/.claude/settings.json`. Il comando non è disponibile nel terminale dell'IDE JetBrains.

111 115 

112Separatamente dalla velocità di base, Claude Code accelera la velocità di scorrimento quando fai girare la rotella rapidamente, quindi una rotazione veloce copre più distanza rispetto allo stesso numero di tacche lente. Per disattivare l'accelerazione e mantenere una velocità costante per tacca, imposta `wheelScrollAccelerationEnabled` su `false` in [`settings.json`](/it/settings#available-settings). Questa impostazione richiede Claude Code v2.1.174 o versioni successive.116Separatamente dalla velocità di base, Claude Code accelera la velocità di scorrimento quando fai girare la rotella rapidamente, quindi una rotazione veloce copre più distanza rispetto allo stesso numero di tacche lente. Per disattivare l'accelerazione e mantenere una velocità costante per tacca, imposta `wheelScrollAccelerationEnabled` su `false` in [`settings.json`](/it/settings#available-settings). Questa impostazione richiede Claude Code v2.1.174 o versioni successive.

113 117 


123 Cerca e rivedi la conversazione127 Cerca e rivedi la conversazione

124</h2>128</h2>

125 129 

126`Ctrl+o` attiva/disattiva tra il prompt normale e la modalità trascrizione. Per una vista più silenziosa che mostra solo l'ultimo prompt, un riassunto di una riga delle chiamate dello strumento con diffstat di modifica e la risposta finale, esegui `/focus`. L'impostazione persiste tra le sessioni. Esegui `/focus` di nuovo per disattivarla.130`Ctrl+o` attiva/disattiva tra il prompt normale e la modalità trascrizione.

131 

132Per una vista più silenziosa che mostra solo l'ultimo prompt, un riassunto di una riga delle chiamate dello strumento con diffstat di modifica e la risposta finale, esegui `/focus`. L'impostazione persiste tra le sessioni. Esegui `/focus` di nuovo per disattivarla.

127 133 

128La modalità trascrizione guadagna navigazione e ricerca in stile `less`:134La modalità trascrizione guadagna navigazione e ricerca in stile `less`:

129 135 


203 209 

204Con l'acquisizione del mouse disabilitata, lo scorrimento da tastiera con `PgUp`, `PgDn`, `Ctrl+Home` e `Ctrl+End` funziona ancora, e il terminale gestisce la selezione in modo nativo. Perdi il clic per posizionare il cursore, il clic per espandere l'output dello strumento, il clic su URL e lo scorrimento della rotella all'interno di Claude Code.210Con l'acquisizione del mouse disabilitata, lo scorrimento da tastiera con `PgUp`, `PgDn`, `Ctrl+Home` e `Ctrl+End` funziona ancora, e il terminale gestisce la selezione in modo nativo. Perdi il clic per posizionare il cursore, il clic per espandere l'output dello strumento, il clic su URL e lo scorrimento della rotella all'interno di Claude Code.

205 211 

212Per mantenere lo scorrimento della rotella ma disattivare il clic, il trascinamento e la gestione del passaggio del mouse, imposta invece `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1`. Richiede Claude Code v2.1.195 o successivo. `CLAUDE_CODE_DISABLE_MOUSE` ha la precedenza quando entrambe le variabili sono impostate.

213 

214Con i clic disabilitati, Claude Code continua a catturare il mouse, quindi la rotella e il touchpad scorrono la conversazione ma i clic sinistri non fanno nulla all'interno di Claude Code. Devi comunque tenere premuto il tasto del terminale per la selezione nativa con clic e trascinamento. Il clic destro e il clic centrale per incollare continuano a funzionare sui terminali che li supportano.

215 

206<h2 id="research-preview">216<h2 id="research-preview">

207 Anteprima di ricerca217 Anteprima di ricerca

208</h2>218</h2>

gateways.md +87 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Eseguire Claude Code attraverso un gateway

6 

7> Instrada Claude Code attraverso un gateway auto-ospitato per credenziali centralizzate, tracciamento dell'utilizzo e controlli dei costi. Copre l'architettura, il gateway delle app Claude di Anthropic e l'utilizzo di altri prodotti gateway.

8 

9Un gateway è un proxy che la tua organizzazione esegue tra Claude Code e un provider di modelli. Claude Code invia il traffico API al gateway invece di inviarlo direttamente al provider, e il gateway lo inoltra utilizzando una credenziale che la tua organizzazione possiede. Gli sviluppatori si autenticano al gateway piuttosto che detenere credenziali del provider, quindi l'autenticazione, il tracciamento dell'utilizzo, i budget e la registrazione di audit avvengono in un unico posto che controlli.

10 

11Claude Code include un gateway auto-ospitato, [Claude apps gateway](/it/claude-apps-gateway), nel binario `claude`, quindi non devi adottare un prodotto gateway separato per eseguirne uno. Se la tua organizzazione esegue già un [gateway LLM](/it/llm-gateway), Claude Code funziona anche con quello.

12 

13Questa pagina copre:

14 

15* [Come un gateway si posiziona tra Claude Code e il tuo provider](#how-a-gateway-works)

16* [Scelta tra Claude apps gateway e un gateway che già esegui](#choose-a-gateway)

17* [Come i gateway interagiscono con gli abbonamenti claude.ai](#subscriptions-and-gateways)

18* [Cosa viene configurato separatamente dal gateway](#configure-separately-from-the-gateway)

19 

20<h2 id="how-a-gateway-works">

21 Come funziona un gateway

22</h2>

23 

24Ogni Claude Code dello sviluppatore è indirizzato all'indirizzo del gateway e si autentica con una credenziale emessa dal gateway.

25 

26Il gateway autentica lo sviluppatore, applica qualsiasi regola di accesso e budget che configuri, e inoltra la richiesta al tuo provider con la credenziale dell'organizzazione. Il provider può essere l'API di Anthropic o un [provider cloud](/it/third-party-integrations) come Amazon Bedrock, Agent Platform di Google Cloud o Microsoft Foundry; la configurazione del gateway decide. Con Claude apps gateway, o un altro gateway che espone un singolo endpoint in formato Anthropic, il cambio del provider non richiede di toccare le macchine degli sviluppatori.

27 

28<Frame>

29 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/llm-gateway-flow.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=1c1a8dcc0cfcc3a58652cc8e28cd3e20" alt="Diagramma che mostra Claude Code instradato attraverso un gateway. In una zona di macchine sviluppatore, la CLI di Claude Code e l'estensione VS Code inviano richieste all'indirizzo del gateway con una credenziale per sviluppatore. In una zona etichettata come tua infrastruttura, il gateway gestisce l'autenticazione, il tracciamento dell'utilizzo, i budget e l'instradamento, e inoltra le richieste con la credenziale della tua organizzazione. In una zona di provider di modelli, una freccia solida porta al provider che configuri, mostrato come l'API Anthropic, e frecce tratteggiate portano ad altre opzioni di provider, illustrate con Amazon Bedrock, Google Cloud e Microsoft Foundry come esempi." width="780" height="322" data-path="images/llm-gateway-flow.svg" />

30</Frame>

31 

32Due tipi di credenziale sono coinvolti:

33 

34* **Credenziale dello sviluppatore**: ogni sviluppatore ne possiede una propria, emessa dal gateway. Li autentica al gateway e li identifica nel tracciamento dell'utilizzo

35* **Credenziale del provider**: il gateway possiede una credenziale per il tuo account provider, condivisa da tutto il traffico inoltrato

36 

37<h2 id="choose-a-gateway">

38 Scegli un gateway

39</h2>

40 

41Claude Code funziona con il gateway di Anthropic o con un gateway che la tua organizzazione già esegue.

42 

43<h3 id="claude-apps-gateway">

44 Claude apps gateway

45</h3>

46 

47Claude apps gateway è il gateway auto-ospitato di Anthropic, incluso nel binario `claude`. Instrada ad Amazon Bedrock, Google Cloud, Microsoft Foundry o l'API Anthropic come upstream. Gli sviluppatori accedono con il tuo provider di identità aziendale attraverso `/login`, il gateway applica l'accesso ai modelli e le [impostazioni gestite](/it/permissions#managed-settings) per gruppo IdP, e emette metriche di utilizzo [OpenTelemetry Protocol (OTLP)](/it/monitoring-usage) al tuo stack di osservabilità.

48 

49Poiché è costruito e testato insieme a ogni rilascio di Claude Code, inoltra le intestazioni e i campi di richiesta che Claude Code invia. Un gateway mantenuto separatamente ha bisogno che le sue [regole di inoltro vengano aggiornate](/it/llm-gateway-protocol#forward-as-open-lists) mentre quelle intestazioni e campi cambiano con ogni rilascio; Claude apps gateway viene rilasciato con la CLI, quindi non c'è alcun elenco da mantenere aggiornato. Vedi [Disponibilità e limitazioni](/it/claude-apps-gateway#availability-and-limitations) per il piccolo insieme di funzionalità che si comportano diversamente in una sessione gateway.

50 

51L'accesso al gateway è un passaggio SSO del browser, e non c'è alcun flusso di token di servizio, quindi una pipeline CI senza uno sviluppatore per approvare l'accesso non può autenticarsi attraverso di essa; configura quelli direttamente contro il tuo provider. Le sessioni Agent SDK e le esecuzioni `claude -p` su una macchina dove uno sviluppatore ha effettuato l'accesso utilizzano la sessione gateway di quella macchina e sono governate dalle sue politiche. Vedi [Pipeline CI e macchine remote](/it/claude-apps-gateway#ci-pipelines-and-remote-machines).

52 

53Vedi [Claude apps gateway](/it/claude-apps-gateway) per distribuirlo.

54 

55<h3 id="other-gateways">

56 Altri gateway

57</h3>

58 

59Se la tua organizzazione esegue già un gateway LLM o un gateway API, puoi usarlo invece. Anthropic non approva, mantiene o controlla altri prodotti gateway, e non supporta l'instradamento di Claude Code a modelli non-Claude attraverso alcun gateway. Vedi [Altri gateway LLM](/it/llm-gateway) per la lista di controllo del rollout amministrativo, cosa deve implementare un gateway e come puntare Claude Code ad esso.

60 

61<h2 id="subscriptions-and-gateways">

62 Abbonamenti e gateway

63</h2>

64 

65Quando gli sviluppatori si connettono attraverso un gateway con una credenziale gateway, l'utilizzo viene fatturato all'account provider della tua organizzazione alle tariffe API, e i loro abbonamenti claude.ai non vengono utilizzati o addebitati. Impostare [`ANTHROPIC_AUTH_TOKEN`](/it/env-vars) per un gateway che esegui, o accedere a un Claude apps gateway con `/login`, disattiva l'accesso all'abbonamento per quella sessione. Ogni richiesta inoltrata sotto quella credenziale viene addebitata all'account dietro la credenziale del provider del gateway.

66 

67L'eccezione è impostare solo `ANTHROPIC_BASE_URL`, senza credenziale gateway. Le richieste vengono comunque instradate attraverso il gateway, ma un accesso claude.ai salvato rimane la credenziale attiva, quindi i limiti di utilizzo e la fatturazione dell'abbonamento si applicano. [Altri gateway LLM](/it/llm-gateway#subscriptions-and-gateways) copre quella configurazione e cosa il gateway deve inoltrare affinché funzioni.

68 

69<h2 id="configure-separately-from-the-gateway">

70 Configura separatamente dal gateway

71</h2>

72 

73Un gateway instrada le richieste API del modello. Poche cose che potresti aspettarti che gestisca sono configurate altrove:

74 

75* **Quale modello risponde**: scegli il modello con il comando `/model` o le [variabili di ambiente del modello](/it/model-config#setting-your-model). Il gateway decide dove vanno le richieste, non quale modello seleziona lo sviluppatore. Claude apps gateway può limitare la scelta con una lista di autorizzazione `availableModels` per gruppo, ma lo sviluppatore sceglie comunque all'interno di essa.

76* **Altro traffico di rete**: Claude Code stesso invia controlli di versione e download direttamente ad Anthropic, separato dal percorso del gateway. Se il flusso di telemetria del client opzionale è anche attivo dipende dal tuo provider; la [tabella dei valori predefiniti di telemetria](/it/data-usage#telemetry-services) copre ogni caso. In una sessione Claude apps gateway con accesso effettuato, la credenziale gateway disabilita l'analittica legata ad Anthropic e, quando l'[inoltro di telemetria](/it/claude-apps-gateway-config#telemetry) è configurato, fissa l'esportazione OTLP al gateway. La tua rete ha ancora bisogno di uscita verso i [domini richiesti](/it/network-config), o imposta [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/it/env-vars) per disattivare i flussi opzionali.

77* **Proxy HTTP aziendali**: un `HTTPS_PROXY` si posiziona tra Claude Code e ogni server con cui comunica, incluso il gateway. Se la tua rete ne richiede uno, [configura il proxy](/it/network-config) in aggiunta al gateway. Per Claude apps gateway specificamente, [l'accesso verifica che l'host proxy sia anche su una rete privata](/it/claude-apps-gateway#prerequisites); se non lo è, aggiungi l'host gateway a `NO_PROXY` in modo che la CLI si connetta ad esso direttamente.

78 

79<h2 id="next-steps">

80 Passaggi successivi

81</h2>

82 

83La pagina successiva dipende da chi esegue il gateway. Il gateway di Anthropic viene eseguito dal binario `claude` e ha la sua propria guida di configurazione; un gateway che la tua organizzazione già esegue ha un protocollo da implementare e una lista di controllo del rollout amministrativo.

84 

85* [Claude apps gateway](/it/claude-apps-gateway) per distribuire il gateway auto-ospitato di Anthropic con accesso SSO e telemetria OTLP

86* [Altri gateway LLM](/it/llm-gateway) per cosa deve implementare un gateway che la tua organizzazione già esegue, e come puntare Claude Code ad esso

87* [Configura Claude Code per la tua organizzazione](/it/admin-setup) per le decisioni di rollout più ampie di cui un gateway è una parte

Details

127 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}127 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

128 custom_instructions: "Follow our coding standards"128 custom_instructions: "Follow our coding standards"

129 max_turns: "10"129 max_turns: "10"

130 model: "claude-sonnet-4-6"130 model: "claude-sonnet-5"

131```131```

132 132 

133**Versione GA (v1.0):**133**Versione GA (v1.0):**


140 claude_args: |140 claude_args: |

141 --append-system-prompt "Follow our coding standards"141 --append-system-prompt "Follow our coding standards"

142 --max-turns 10142 --max-turns 10

143 --model claude-sonnet-4-6143 --model claude-sonnet-5

144```144```

145 145 

146<Tip>146<Tip>


228 228 

229Nei commenti di issue o PR:229Nei commenti di issue o PR:

230 230 

231```text theme={null}231```text wrap theme={null}

232@claude implement this feature based on the issue description232@claude implement this feature based on the issue description

233@claude how should I implement user authentication for this endpoint?233@claude how should I implement user authentication for this endpoint?

234@claude fix the TypeError in the user dashboard component234@claude fix the TypeError in the user dashboard component


709Il parametro `claude_args` accetta qualsiasi argomento CLI di Claude Code:709Il parametro `claude_args` accetta qualsiasi argomento CLI di Claude Code:

710 710 

711```yaml theme={null}711```yaml theme={null}

712claude_args: "--max-turns 5 --model claude-sonnet-4-6 --mcp-config /path/to/config.json"712claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"

713```713```

714 714 

715Argomenti comuni:715Argomenti comuni:

716 716 

717* `--max-turns`: Numero massimo di turni di conversazione (predefinito: 10)717* `--max-turns`: Numero massimo di turni di conversazione (predefinito: 10)

718* `--model`: Modello da utilizzare (ad es. `claude-sonnet-4-6`)718* `--model`: Modello da utilizzare (ad es. `claude-sonnet-5`)

719* `--mcp-config`: Percorso della configurazione MCP719* `--mcp-config`: Percorso della configurazione MCP

720* `--allowedTools`: Elenco separato da virgole degli strumenti consentiti. L'alias `--allowed-tools` funziona anche.720* `--allowedTools`: Elenco separato da virgole degli strumenti consentiti. L'alias `--allowed-tools` funziona anche.

721* `--debug`: Abilita l'output di debug721* `--debug`: Abilita l'output di debug

glossary.md +1 −1

Details

170 Effort level170 Effort level

171</h3>171</h3>

172 172 

173Un'impostazione che controlla quanto del budget di thinking con ragionamento adattivo Claude utilizza ad ogni turno. Uno sforzo più elevato significa più token di thinking e ragionamento più profondo; uno sforzo inferiore è più veloce ed economico. Effort è supportato su Fable 5, su Opus 4.6 e versioni successive, e su Sonnet 4.6.173Un'impostazione che controlla quanto del budget di thinking con ragionamento adattivo Claude utilizza ad ogni turno. Uno sforzo più elevato significa più token di thinking e ragionamento più profondo; uno sforzo inferiore è più veloce ed economico. Effort è supportato su Fable 5, su Opus 4.6 e versioni successive, e su Sonnet 4.6 e versioni successive.

174 174 

175Scopri di più: [Adjust effort level](/it/model-config#adjust-effort-level)175Scopri di più: [Adjust effort level](/it/model-config#adjust-effort-level)

176 176 

Details

236 236 

237```bash theme={null}237```bash theme={null}

238export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'238export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'

239export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'239export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-5'

240export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'240export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'

241```241```

242 242 


290 Finestra di contesto da 1M token290 Finestra di contesto da 1M token

291</h2>291</h2>

292 292 

293Claude Opus 4.6 e versioni successive, e Sonnet 4.6, supportano la [finestra di contesto da 1M token](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) su Vertex AI. Claude Code abilita automaticamente la finestra di contesto estesa quando selezioni una variante di modello 1M.293Claude Sonnet 5, Opus 4.6 e versioni successive, e Sonnet 4.6 supportano la [finestra di contesto da 1M token](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) su Vertex AI. Sonnet 5 funziona sempre con la finestra da 1M, senza alcuna variante `[1m]` da selezionare. Per gli altri modelli, Claude Code abilita automaticamente la finestra di contesto estesa quando selezioni una variante di modello 1M.

294 294 

295La [procedura guidata di configurazione](#sign-in-with-vertex-ai) offre un'opzione di contesto 1M quando fissa i modelli. Per abilitarla per un modello fissato manualmente, aggiungi `[1m]` all'ID del modello. Consulta [Fissa i modelli per le distribuzioni di terze parti](/it/model-config#pin-models-for-third-party-deployments) per i dettagli.295La [procedura guidata di configurazione](#sign-in-with-vertex-ai) offre un'opzione di contesto 1M quando fissa i modelli. Per abilitarla per un modello fissato manualmente, aggiungi `[1m]` all'ID del modello. Consulta [Fissa i modelli per le distribuzioni di terze parti](/it/model-config#pin-models-for-third-party-deployments) per i dettagli.

296 296 

hooks.md +53 −20

Details

191Il campo `matcher` filtra quando gli hook si attivano. Come viene valutato un matcher dipende dai caratteri che contiene:191Il campo `matcher` filtra quando gli hook si attivano. Come viene valutato un matcher dipende dai caratteri che contiene:

192 192 

193| Valore del matcher | Valutato come | Esempio |193| Valore del matcher | Valutato come | Esempio |

194| :------------------------------------------ | :--------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |194| :----------------------------------------------- | :--------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

196| Solo lettere, cifre, `_`, spazi, `,` e `\|` | Stringa esatta, o elenco 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 entrambi gli strumenti esattamente |196| Solo lettere, cifre, `_`, `-`, spazi, `,` e `\|` | Stringa esatta, o elenco 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 entrambi gli strumenti esattamente; `code-reviewer` corrisponde solo a quel tipo di agente |

197| Contiene qualsiasi altro carattere | Espressione regolare JavaScript | `^Notebook` corrisponde a qualsiasi strumento che inizia con Notebook; `mcp__memory__.*` corrisponde a ogni strumento dal server `memory` |197| 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` |

198 198 

199I separatori di virgola e la tolleranza dello spazio bianco circostante richiedono Claude Code v2.1.191 o successivo. Gli eventi `FileChanged` e `StopFailure` accettano solo `|` come separatore di elenco e trattano `,` come carattere letterale; tutti gli altri eventi elencati nella tabella seguente accettano `|` o `,`.199Un 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`; racchiudere il modello in `^` e `$`, come in `^Edit$`, quando è necessaria una corrispondenza di intera stringa.

200 

201I separatori di virgola e la tolleranza dello spazio bianco circostante richiedono Claude Code v2.1.191 o successivo.

202 

203I trattini nel set di corrispondenza esatta richiedono Claude Code v2.1.195 o successivo. Nelle versioni precedenti un nome con trattino come `code-reviewer` viene valutato come un'espressione regolare non ancorata, quindi si attiva anche per `senior-code-reviewer`; ancorarlo come `^code-reviewer$` su quelle versioni per corrispondere solo a quel nome.

204 

205`FileChanged` e `StopFailure` utilizzano un set di corrispondenza esatta più ristretto di sole lettere, cifre, `_` e `|`. Un trattino, uno spazio o una virgola in un matcher per questi due eventi lo mantiene sul percorso dell'espressione regolare, e solo `|` separa le alternative. Ogni altro evento con supporto matcher nella tabella che segue accetta `|` o `,`.

200 206 

201L'evento `FileChanged` non segue queste regole quando costruisce il suo elenco di osservazione. Consultare [FileChanged](#filechanged).207L'evento `FileChanged` non segue queste regole quando costruisce il suo elenco di osservazione. Consultare [FileChanged](#filechanged).

202 208 


209| `Setup` | quale flag CLI ha attivato la configurazione | `init`, `maintenance` |215| `Setup` | quale flag CLI ha attivato la configurazione | `init`, `maintenance` |

210| `SessionEnd` | perché è terminata la sessione | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |216| `SessionEnd` | perché è terminata la sessione | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |

211| `Notification` | tipo di notifica | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response` |217| `Notification` | tipo di notifica | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response` |

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

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

214| `SubagentStop` | tipo di agente | stessi valori di `SubagentStart` |220| `SubagentStop` | tipo di agente | stessi valori di `SubagentStart` |

215| `ConfigChange` | fonte di configurazione | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |221| `ConfigChange` | fonte di configurazione | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |


244}250}

245```251```

246 252 

247`UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove` e `CwdChanged` non supportano i matcher e si attivano sempre ad ogni occorrenza. Se si aggiunge un campo `matcher` a questi eventi, viene silenziosamente ignorato.253`UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` e `CwdChanged` non supportano i matcher e si attivano sempre ad ogni occorrenza. Se si aggiunge un campo `matcher` a questi eventi, viene silenziosamente ignorato.

248 254 

249Per gli eventi degli strumenti, è possibile filtrare più strettamente impostando il campo [`if`](#common-fields) sui singoli gestori del hook. `if` utilizza la [sintassi delle regole di autorizzazione](/it/permissions) per corrispondere al nome dello strumento e agli argomenti insieme, quindi `"Bash(git *)"` viene eseguito quando qualsiasi sottocomando dell'input Bash corrisponde a `git *` e `"Edit(*.ts)"` viene eseguito solo per i file TypeScript.255Per gli eventi degli strumenti, è possibile filtrare più strettamente impostando il campo [`if`](#common-fields) sui singoli gestori del hook. `if` utilizza la [sintassi delle regole di autorizzazione](/it/permissions) per corrispondere al nome dello strumento e agli argomenti insieme, quindi `"Bash(git *)"` viene eseguito quando qualsiasi sottocomando dell'input Bash corrisponde a `git *` e `"Edit(*.ts)"` viene eseguito solo per i file TypeScript.

250 256 


260* `mcp__filesystem__read_file`: strumento read file del server Filesystem266* `mcp__filesystem__read_file`: strumento read file del server Filesystem

261* `mcp__github__search_repositories`: strumento search del server GitHub267* `mcp__github__search_repositories`: strumento search del server GitHub

262 268 

263Per corrispondere a ogni strumento da un server, aggiungere `.*` al prefisso del server. `.*` è obbligatorio: un matcher come `mcp__memory` contiene solo lettere e sottolineature, quindi viene confrontato come stringa esatta e non corrisponde a nessuno strumento.269Per corrispondere a ogni strumento da un server, aggiungere `.*` al prefisso del server. `.*` è obbligatorio: un matcher come `mcp__memory` o `mcp__brave-search` contiene solo caratteri di corrispondenza esatta, quindi viene confrontato come stringa esatta e non corrisponde a nessuno strumento.

264 270 

265* `mcp__memory__.*` corrisponde a tutti gli strumenti dal server `memory`271* `mcp__memory__.*` corrisponde a tutti gli strumenti dal server `memory`

272* `mcp__brave-search__.*` corrisponde a tutti gli strumenti da un server il cui nome contiene un trattino

266* `mcp__.*__write.*` corrisponde a qualsiasi strumento il cui nome inizia con `write` da qualsiasi server273* `mcp__.*__write.*` corrisponde a qualsiasi strumento il cui nome inizia con `write` da qualsiasi server

267 274 

275I trattini nel set di corrispondenza esatta richiedono Claude Code v2.1.195 o successivo. Nelle versioni precedenti un prefisso semplice con trattino come `mcp__brave-search` viene valutato come un'espressione regolare non ancorata e corrisponde a ogni strumento da quel server. La forma `mcp__brave-search__.*` funziona su ogni versione.

276 

268Questo esempio registra tutte le operazioni del server memory e convalida le operazioni di scrittura da qualsiasi server MCP:277Questo esempio registra tutte le operazioni del server memory e convalida le operazioni di scrittura da qualsiasi server MCP:

269 278 

270```json theme={null}279```json theme={null}


306* **[Prompt hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): inviano un prompt a un modello Claude per la valutazione a turno singolo. Il modello restituisce una decisione sì/no come JSON. Consultare [Prompt-based hooks](#prompt-based-hooks).315* **[Prompt hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): inviano un prompt a un modello Claude per la valutazione a turno singolo. Il modello restituisce una decisione sì/no come JSON. Consultare [Prompt-based hooks](#prompt-based-hooks).

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

308 317 

318Tutti gli hook corrispondenti vengono eseguiti in parallelo e i gestori identici vengono automaticamente deduplicati. I command hook vengono deduplicati per stringa di comando e `args`, e gli HTTP hook vengono deduplicati per URL.

319 

320I gestori vengono eseguiti nella directory corrente con l'ambiente di Claude Code. La variabile di ambiente `$CLAUDE_CODE_REMOTE` è impostata su `"true"` negli ambienti web remoti e non è impostata nella CLI locale.

321 

309<h4 id="common-fields">322<h4 id="common-fields">

310 Campi comuni323 Campi comuni

311</h4>324</h4>


341Oltre ai [campi comuni](#common-fields), i command hook accettano questi campi:354Oltre ai [campi comuni](#common-fields), i command hook accettano questi campi:

342 355 

343| Campo | Obbligatorio | Descrizione |356| Campo | Obbligatorio | Descrizione |

344| :------------ | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |357| :------------ | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

345| `command` | sì | Comando shell da eseguire. Con `args`, l'eseguibile da generare direttamente. Consultare [Exec form e shell form](#exec-form-and-shell-form) |358| `command` | sì | Comando shell da eseguire. Con `args`, l'eseguibile da generare direttamente. Consultare [Exec form e shell form](#exec-form-and-shell-form) |

346| `args` | no | Elenco di argomenti. Quando presente, `command` viene risolto come eseguibile e generato direttamente con `args` come vettore di argomenti, senza shell. Consultare [Exec form e shell form](#exec-form-and-shell-form) |359| `args` | no | Elenco di argomenti. Quando presente, `command` viene risolto come eseguibile e generato direttamente con `args` come vettore di argomenti, senza shell. Consultare [Exec form e shell form](#exec-form-and-shell-form) |

347| `async` | no | Se `true`, viene eseguito in background senza bloccare. Consultare [Run hooks in the background](#run-hooks-in-the-background) |360| `async` | no | Se `true`, viene eseguito in background senza bloccare. Consultare [Run hooks in the background](#run-hooks-in-the-background) |

348| `asyncRewake` | no | Se `true`, viene eseguito in background e riattiva Claude su codice di uscita 2. Implica `async`. Lo stderr del hook, o stdout se stderr è vuoto, viene mostrato a Claude come promemoria di sistema in modo che possa reagire a un guasto in background a lunga esecuzione |361| `asyncRewake` | no | Se `true`, viene eseguito in background e riattiva Claude su codice di uscita 2. Implica `async`. Lo stderr del hook, o stdout se stderr è vuoto, viene mostrato a Claude come promemoria di sistema in modo che possa reagire a un guasto in background a lunga esecuzione |

349| `shell` | no | Shell da utilizzare per questo hook. Accetta `"bash"` (predefinito) o `"powershell"`. L'impostazione `"powershell"` esegue il comando tramite PowerShell su Windows. Non richiede `CLAUDE_CODE_USE_POWERSHELL_TOOL` poiché gli hook generano PowerShell direttamente. Ignorato quando `args` è impostato |362| `shell` | no | Shell da utilizzare per questo hook. Accetta `"bash"` o `"powershell"`. Impostazione predefinita: `"bash"`, o `"powershell"` su Windows quando Git Bash non è installato. L'impostazione `"powershell"` esegue il comando tramite PowerShell su Windows. Non richiede `CLAUDE_CODE_USE_POWERSHELL_TOOL` poiché gli hook generano PowerShell direttamente. Ignorato quando `args` è impostato |

350 363 

351<a id="exec-form-and-shell-form" />364<a id="exec-form-and-shell-form" />

352 365 


479| `prompt` | sì | Testo del prompt da inviare al modello. Utilizzare `$ARGUMENTS` come segnaposto per l'input JSON del hook. Sfuggire con una barra rovesciata per includere testo letterale: `\$1.00` viene visualizzato come `$1.00` |492| `prompt` | sì | Testo del prompt da inviare al modello. Utilizzare `$ARGUMENTS` come segnaposto per l'input JSON del hook. Sfuggire con una barra rovesciata per includere testo letterale: `\$1.00` viene visualizzato come `$1.00` |

480| `model` | no | Modello da utilizzare per la valutazione. Impostazione predefinita: un modello veloce |493| `model` | no | Modello da utilizzare per la valutazione. Impostazione predefinita: un modello veloce |

481 494 

482Tutti gli hook corrispondenti vengono eseguiti in parallelo e i gestori identici vengono automaticamente deduplicati. I command hook vengono deduplicati per stringa di comando e `args`, e gli HTTP hook vengono deduplicati per URL. I gestori vengono eseguiti nella directory corrente con l'ambiente di Claude Code. La variabile di ambiente `$CLAUDE_CODE_REMOTE` è impostata su `"true"` negli ambienti web remoti e non è impostata nella CLI locale.

483 

484<h3 id="reference-scripts-by-path">495<h3 id="reference-scripts-by-path">

485 Fare riferimento agli script per percorso496 Fare riferimento agli script per percorso

486</h3>497</h3>


620| Campo | Descrizione |631| Campo | Descrizione |

621| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |632| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

622| `session_id` | Identificatore della sessione corrente |633| `session_id` | Identificatore della sessione corrente |

634| `prompt_id` | UUID che identifica il prompt dell'utente attualmente in elaborazione. Corrisponde all'attributo [`prompt.id` sugli eventi OpenTelemetry](/it/monitoring-usage#event-correlation-attributes), quindi è possibile correlare l'output del hook con la telemetria per un singolo prompt. Assente fino al primo input dell'utente. {/* min-version: 2.1.196 */}Richiede Claude Code v2.1.196 o successivo |

623| `transcript_path` | Percorso al JSON della conversazione |635| `transcript_path` | Percorso al JSON della conversazione |

624| `cwd` | Directory di lavoro corrente quando l'hook viene invocato |636| `cwd` | Directory di lavoro corrente quando l'hook viene invocato |

625| `permission_mode` | [Modalità di autorizzazione](/it/permissions#permission-modes) corrente: `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` o `"bypassPermissions"`. Non tutti gli eventi ricevono questo campo: consultare ogni esempio JSON dell'evento di seguito per controllare |637| `permission_mode` | [Modalità di autorizzazione](/it/permissions#permission-modes) corrente: `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` o `"bypassPermissions"`. Non tutti gli eventi ricevono questo campo: consultare ogni esempio JSON dell'evento di seguito per controllare |


629Quando si esegue con `--agent` o all'interno di un subagent, vengono inclusi due campi aggiuntivi:641Quando si esegue con `--agent` o all'interno di un subagent, vengono inclusi due campi aggiuntivi:

630 642 

631| Campo | Descrizione |643| Campo | Descrizione |

632| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |644| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

633| `agent_id` | Identificatore univoco per il subagent. Presente solo quando l'hook si attiva all'interno di una chiamata di subagent. Utilizzare questo per distinguere le chiamate del hook del subagent dalle chiamate del thread principale. |645| `agent_id` | Identificatore univoco per il subagent. Presente solo quando l'hook si attiva all'interno di una chiamata di subagent. Utilizzare questo per distinguere le chiamate del hook del subagent dalle chiamate del thread principale. |

634| `agent_type` | Nome dell'agente (ad esempio, `"Explore"` o `"security-reviewer"`). Presente quando la sessione utilizza `--agent` o l'hook si attiva all'interno di un subagent. Per i subagent, il tipo del subagent ha la precedenza sul valore `--agent` della sessione. Per i [subagent personalizzati](/it/sub-agents), questo è il campo `name` dal frontmatter dell'agente, non il nome del file. |646| `agent_type` | Nome dell'agente (ad esempio, `"Explore"` o `"security-reviewer"`). Presente quando la sessione utilizza `--agent` o l'hook si attiva all'interno di un subagent. Per i subagent, il tipo del subagent ha la precedenza sul valore `--agent` della sessione. Per i [subagent personalizzati](/it/sub-agents), questo è il campo `name` dal frontmatter dell'agente, non il nome del file. Per i subagent forniti da un [plugin](/it/plugins), questo è l'identificatore con ambito plugin come `my-plugin:reviewer`, non il nome del frontmatter semplice. Consultare [SubagentStart](#subagentstart) per come scrivere un matcher rispetto a un nome con ambito plugin. |

635 647 

636Solo gli hook [`SessionStart`](#sessionstart) possono ricevere un campo `model`, e non è garantito che sia presente. Non esiste una variabile di ambiente `$CLAUDE_MODEL`. Un processo hook eredita l'ambiente padre, quindi può leggere `$ANTHROPIC_MODEL` se lo imposti nella tua shell, ma quel valore non cambia quando cambi modelli con `/model` durante una sessione.648Solo gli hook [`SessionStart`](#sessionstart) possono ricevere un campo `model`, e non è garantito che sia presente. Non esiste una variabile di ambiente `$CLAUDE_MODEL`. Un processo hook eredita l'ambiente padre, quindi può leggere `$ANTHROPIC_MODEL` se lo imposti nella tua shell, ma quel valore non cambia quando cambi modelli con `/model` durante una sessione.

637 649 


640```json theme={null}652```json theme={null}

641{653{

642 "session_id": "abc123",654 "session_id": "abc123",

655 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

643 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",656 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",

644 "cwd": "/home/user/my-project",657 "cwd": "/home/user/my-project",

645 "permission_mode": "default",658 "permission_mode": "default",


796# Hook di notifica: avvisa il desktop quando Claude Code ha bisogno di attenzione.809# Hook di notifica: avvisa il desktop quando Claude Code ha bisogno di attenzione.

797input=$(cat)810input=$(cat)

798title="Claude Code'811title="Claude Code'

799body=$(jq -r '.message // 'Needs your attention'' <<<'$input")812body=$(jq -r '.message // 'Needs your attention"' <<<"$input")

800seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")813seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")

801jq -nc --arg seq "$seq" '{terminalSequence: $seq}'814jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

802```815```


867 880 

868Alcuni eventi possono anche riscrivere il contenuto piuttosto che solo consentire o bloccare:881Alcuni eventi possono anche riscrivere il contenuto piuttosto che solo consentire o bloccare:

869 882 

870* `PreToolUse` `updatedInput` direttamente sotto `hookSpecificOutput` sostituisce gli argomenti di uno strumento prima che venga eseguito ([dettagli](#pretooluse-decision-control))883* `PreToolUse`: `updatedInput` direttamente sotto `hookSpecificOutput` sostituisce gli argomenti di uno strumento prima che venga eseguito. Consultare [PreToolUse decision control](#pretooluse-decision-control) per l'insieme completo di opzioni.

871* `PermissionRequest` `updatedInput` all'interno dell'oggetto `decision` ([dettagli](#permissionrequest-decision-control))884* `PermissionRequest`: `updatedInput` all'interno dell'oggetto `decision`. Consultare [PermissionRequest decision control](#permissionrequest-decision-control) per l'insieme completo di opzioni.

872* `PostToolUse` `updatedToolOutput` sostituisce il risultato dello strumento ([dettagli](#posttooluse-decision-control))885* `PostToolUse`: `updatedToolOutput` sostituisce il risultato dello strumento. Consultare [PostToolUse decision control](#posttooluse-decision-control) per l'insieme completo di opzioni.

873* `UserPromptSubmit` non può sostituire il prompt; solo inietta `additionalContext` insieme ad esso886* `UserPromptSubmit`: non può sostituire il prompt; solo inietta `additionalContext` insieme ad esso

874 887 

875Per i casi di uso di redazione o trasformazione, intercettare a `PreToolUse` per gli input dello strumento in uscita e `PostToolUse` per i risultati dello strumento in entrata.888Per i casi di uso di redazione o trasformazione, intercettare a `PreToolUse` per gli input dello strumento in uscita e `PostToolUse` per i risultati dello strumento in entrata.

876 889 


959 "cwd": "/Users/...",972 "cwd": "/Users/...",

960 "hook_event_name": "SessionStart",973 "hook_event_name": "SessionStart",

961 "source": "startup",974 "source": "startup",

962 "model": "claude-sonnet-4-6"975 "model": "claude-sonnet-5"

963}976}

964```977```

965 978 


1148 1161 

1149Gli hook `UserPromptSubmit` hanno un timeout predefinito di 30 secondi per i tipi `command`, `http` e `mcp_tool`, più breve del default di 600 secondi per questi tipi su altri eventi. Poiché questo hook viene eseguito prima di ogni prompt e blocca l'elaborazione del modello fino al completamento, un hook bloccato blocca la sessione. Se l'hook ha bisogno di più tempo, impostare il campo `timeout` nella voce dell'hook.1162Gli hook `UserPromptSubmit` hanno un timeout predefinito di 30 secondi per i tipi `command`, `http` e `mcp_tool`, più breve del default di 600 secondi per questi tipi su altri eventi. Poiché questo hook viene eseguito prima di ogni prompt e blocca l'elaborazione del modello fino al completamento, un hook bloccato blocca la sessione. Se l'hook ha bisogno di più tempo, impostare il campo `timeout` nella voce dell'hook.

1150 1163 

1164Un hook `UserPromptSubmit` che raggiunge il suo timeout viene annullato e il suo output, incluso qualsiasi `additionalContext`, viene scartato. Il prompt raggiunge comunque Claude senza quel contesto. A partire da v2.1.196, la trascrizione mostra un avviso che nomina l'hook, il timeout che si è attivato e che l'output è stato scartato. Le versioni precedenti annullano l'hook senza avviso.

1165 

1151<h4 id="userpromptsubmit-input">1166<h4 id="userpromptsubmit-input">

1152 Input di UserPromptSubmit1167 Input di UserPromptSubmit

1153</h4>1168</h4>


1404 1419 

1405Viene eseguito dopo che Claude crea i parametri dello strumento e prima dell'elaborazione della chiamata dello strumento. Corrisponde al nome dello strumento: `Bash`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `WebFetch`, `WebSearch`, `AskUserQuestion`, `ExitPlanMode` e qualsiasi [nome di strumento MCP](#match-mcp-tools).1420Viene eseguito dopo che Claude crea i parametri dello strumento e prima dell'elaborazione della chiamata dello strumento. Corrisponde al nome dello strumento: `Bash`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `WebFetch`, `WebSearch`, `AskUserQuestion`, `ExitPlanMode` e qualsiasi [nome di strumento MCP](#match-mcp-tools).

1406 1421 

1422<Warning>

1423 PreToolUse viene eseguito solo quando Claude chiama uno strumento. I file che [fate riferimento con `@` nel vostro prompt](/it/common-workflows#reference-files-and-directories) vengono aggiunti senza alcuna chiamata dello strumento: Claude Code inserisce i loro contenuti mentre costruisce il prompt, quindi nessun hook PreToolUse si attiva per loro, inclusi gli hook che corrispondono a `Read`. Per bloccare percorsi specifici dai riferimenti `@`, utilizzare una [regola di negazione `Read`](/it/permissions#read-and-edit) invece.

1424</Warning>

1425 

1407Utilizzare il [PreToolUse decision control](#pretooluse-decision-control) per consentire, negare, chiedere o rinviare il permesso di utilizzare lo strumento.1426Utilizzare il [PreToolUse decision control](#pretooluse-decision-control) per consentire, negare, chiedere o rinviare il permesso di utilizzare lo strumento.

1408 1427 

1409<h4 id="pretooluse-input">1428<h4 id="pretooluse-input">


2054 2073 

2055Viene eseguito quando un subagent di Claude Code viene generato tramite lo strumento Agent. Supporta i matcher per filtrare per nome del tipo di agente. Per gli agenti incorporati, questo è il nome dell'agente come `general-purpose`, `Explore` o `Plan`. Per i [subagent personalizzati](/it/sub-agents), questo è il campo `name` dal frontmatter dell'agente, non il nome del file.2074Viene eseguito quando un subagent di Claude Code viene generato tramite lo strumento Agent. Supporta i matcher per filtrare per nome del tipo di agente. Per gli agenti incorporati, questo è il nome dell'agente come `general-purpose`, `Explore` o `Plan`. Per i [subagent personalizzati](/it/sub-agents), questo è il campo `name` dal frontmatter dell'agente, non il nome del file.

2056 2075 

2076Per i subagent forniti da un [plugin](/it/plugins), il tipo di agente è l'identificatore con ambito plugin come `my-plugin:reviewer`, non il nome del frontmatter nudo. I due punti posizionano un nome con ambito plugin sul percorso dell'espressione regolare, quindi ancorare il matcher con `^` e `$` per una corrispondenza esatta: `^my-plugin:reviewer$`.

2077 

2057<h4 id="subagentstart-input">2078<h4 id="subagentstart-input">

2058 Input di SubagentStart2079 Input di SubagentStart

2059</h4>2080</h4>


3037* `PostToolUseFailure`, `TaskCreated` e `TaskCompleted`: il motivo viene restituito a Claude come errore dello strumento, simile a `PreToolUse`3058* `PostToolUseFailure`, `TaskCreated` e `TaskCompleted`: il motivo viene restituito a Claude come errore dello strumento, simile a `PreToolUse`

3038* `TeammateIdle`: per impostazione predefinita il compagno di squadra si ferma e il motivo appare come una riga di avviso. Impostare `continueOnBlock: true` per reinviare il motivo al compagno di squadra e mantenerlo al lavoro invece3059* `TeammateIdle`: per impostazione predefinita il compagno di squadra si ferma e il motivo appare come una riga di avviso. Impostare `continueOnBlock: true` per reinviare il motivo al compagno di squadra e mantenerlo al lavoro invece

3039* `PermissionRequest`: `ok: false` non ha effetto. Per negare un'approvazione da un hook, utilizzare un [hook di comando](#command-hook-fields) che restituisce `hookSpecificOutput.decision.behavior: "deny"`3060* `PermissionRequest`: `ok: false` non ha effetto. Per negare un'approvazione da un hook, utilizzare un [hook di comando](#command-hook-fields) che restituisce `hookSpecificOutput.decision.behavior: "deny"`

3040* `PermissionDenied`: `ok: false` non ha effetto perché il rifiuto è già avvenuto. L'unico output che questo evento legge è `hookSpecificOutput.retry`, che gli hook di prompt e agenti non possono impostare vengono eseguiti su questo evento, ma il loro output viene scartato. Utilizzare un [hook di comando](#command-hook-fields) per restituire `retry`3061* `PermissionDenied`: `ok: false` non ha effetto perché il rifiuto è già avvenuto. L'unico output che questo evento legge è `hookSpecificOutput.retry`, che gli hook di prompt e agenti non possono impostare. Vengono eseguiti su questo evento, ma il loro output viene scartato. Utilizzare un [hook di comando](#command-hook-fields) per restituire `retry`

3041 3062 

3042Se hai bisogno di un controllo più fine su qualsiasi evento, utilizza un [hook di comando](#command-hook-fields) con i campi per evento descritti in [Controllo delle decisioni](#decision-control).3063Se hai bisogno di un controllo più fine su qualsiasi evento, utilizza un [hook di comando](#command-hook-fields) con i campi per evento descritti in [Controllo delle decisioni](#decision-control).

3043 3064 


3285}3306}

3286```3307```

3287 3308 

3309Per fare riferimento alla directory radice del progetto da un comando in forma shell di PowerShell, leggerla come variabile di ambiente con `$env:CLAUDE_PROJECT_DIR`. PowerShell tratta la forma nuda `${CLAUDE_PROJECT_DIR}` come una variabile locale, non come una ricerca di ambiente, e Claude Code sostituisce quel segnaposto in forma shell solo per [hook di plugin](#reference-scripts-by-path). Per un hook definito in `settings.json`, utilizzare la forma `$env:` oppure passare a [forma exec](#exec-form-and-shell-form), dove `${CLAUDE_PROJECT_DIR}` viene sostituito in ogni elemento `args` indipendentemente da dove l'hook è definito.

3310 

3311L'esempio seguente mostra un hook `settings.json` che esegue uno script di progetto con la forma `$env:`:

3312 

3313```json theme={null}

3314{

3315 "type": "command",

3316 "shell": "powershell",

3317 "command": "& \"$env:CLAUDE_PROJECT_DIR\\.claude\\hooks\\check.ps1\""

3318}

3319```

3320 

3288<h2 id="debug-hooks">3321<h2 id="debug-hooks">

3289 Debug dei hook3322 Debug dei hook

3290</h2>3323</h2>

Details

249* La cronologia dell'input si ripristina quando eseguite `/clear` per avviare una nuova sessione. La conversazione della sessione precedente viene preservata e può essere ripresa.249* La cronologia dell'input si ripristina quando eseguite `/clear` per avviare una nuova sessione. La conversazione della sessione precedente viene preservata e può essere ripresa.

250* Inviare lo stesso prompt due volte di seguito registra una voce di cronologia, quindi premere Su passa al prompt distinto precedente250* Inviare lo stesso prompt due volte di seguito registra una voce di cronologia, quindi premere Su passa al prompt distinto precedente

251* Utilizzate i tasti freccia su/giù per navigare (vedere le scorciatoie da tastiera sopra)251* Utilizzate i tasti freccia su/giù per navigare (vedere le scorciatoie da tastiera sopra)

252* **Nota**: l'espansione della cronologia (`!`) è disabilitata per impostazione predefinita252* L'espansione della cronologia con `!` è disabilitata per impostazione predefinita

253 253 

254<h3 id="reverse-search-with-ctrl-r">254<h3 id="reverse-search-with-ctrl-r">

255 Ricerca inversa con Ctrl+R255 Ricerca inversa con Ctrl+R


285Per eseguire i comandi in background, potete:285Per eseguire i comandi in background, potete:

286 286 

287* Chiedere a Claude Code di eseguire un comando in background287* Chiedere a Claude Code di eseguire un comando in background

288* Premere Ctrl+B per spostare una normale invocazione dello strumento Bash in background. (Gli utenti Tmux devono premere Ctrl+B due volte a causa del tasto di prefisso di tmux.)288* Premere `Ctrl+B` per spostare una normale invocazione dello strumento Bash in background. Gli utenti Tmux devono premere `Ctrl+B` due volte a causa del tasto di prefisso di tmux.

289 289 

290**Caratteristiche principali:**290**Caratteristiche principali:**

291 291 

292* L'output viene scritto in un file e Claude può recuperarlo utilizzando lo strumento Read292* L'output viene scritto in un file e Claude può recuperarlo utilizzando lo strumento Read

293* Le attività in background hanno ID univoci per il tracciamento e il recupero dell'output293* Le attività in background hanno ID univoci per il tracciamento e il recupero dell'output

294* Le attività in background vengono pulite automaticamente quando Claude Code esce294* Le attività in background vengono pulite automaticamente quando Claude Code esce. L'esecuzione in background della sessione invece di uscire le affida alla sessione in background, dove continuano a essere eseguite. Vedere [esecuzione in background di una sessione in esecuzione](/it/agent-view#from-inside-a-session)

295* Le attività in background vengono terminate automaticamente se l'output supera 5GB, con una nota in stderr che spiega il motivo295* Le attività in background vengono terminate automaticamente se l'output supera 5GB, con una nota in stderr che spiega il motivo

296* A partire dalla v2.1.193, su macOS e Linux, le attività in background in esecuzione vengono terminate quando il sistema operativo segnala pressione della memoria, a condizione che la sessione sia rimasta inattiva per almeno 30 minuti senza alcun turno o subagent in esecuzione. Impostare [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/it/env-vars) su `1` per disattivare questa funzione

296 297 

297Per disabilitare tutta la funzionalità di attività in background, impostare la variabile di ambiente `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` su `1`. Vedere [Variabili di ambiente](/it/env-vars) per i dettagli.298Per disabilitare tutta la funzionalità di attività in background, impostare la variabile di ambiente `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` su `1`. Vedere [Variabili di ambiente](/it/env-vars) per i dettagli.

298 299 


322* Mostra l'avanzamento e l'output in tempo reale323* Mostra l'avanzamento e l'output in tempo reale

323* Supporta lo stesso backgrounding `Ctrl+B` per i comandi a lunga esecuzione324* Supporta lo stesso backgrounding `Ctrl+B` per i comandi a lunga esecuzione

324* Non richiede a Claude di interpretare o approvare il comando325* Non richiede a Claude di interpretare o approvare il comando

325* Supporta l'autocompletamento basato sulla cronologia: digitate un comando parziale e premete **Tab** per completare dai comandi `!` precedenti nel progetto corrente326* Supporta l'autocompletamento basato sulla cronologia: digitate un comando parziale e premete `Tab` per completare dai comandi `!` precedenti nel progetto corrente

327* A partire dalla v2.1.193, supporta l'autocompletamento del percorso file in tempo reale su tutte le piattaforme: digitate un token contenente una barra in avanti, come `./src/` o `~/`, per visualizzare un elenco a discesa dei file e delle directory corrispondenti, quindi premete `Tab` per accettare. Utilizzate barre in avanti anche su Windows; l'elenco a discesa viene attivato da `/`, non da `\`

326* Esci con `Escape`, `Backspace` o `Ctrl+U` su un prompt vuoto328* Esci con `Escape`, `Backspace` o `Ctrl+U` su un prompt vuoto

327* Incollare il testo che inizia con `!` in un prompt vuoto entra automaticamente in modalità shell, corrispondendo al comportamento digitato `!`329* Incollare il testo che inizia con `!` in un prompt vuoto entra automaticamente in modalità shell, corrispondendo al comportamento digitato `!`

328 330 


338 340 

339Dopo che Claude risponde, i suggerimenti continuano ad apparire in base alla vostra cronologia di conversazione, come un passaggio di follow-up da una richiesta in più parti o una continuazione naturale del vostro flusso di lavoro.341Dopo che Claude risponde, i suggerimenti continuano ad apparire in base alla vostra cronologia di conversazione, come un passaggio di follow-up da una richiesta in più parti o una continuazione naturale del vostro flusso di lavoro.

340 342 

341* Premete **Tab** o **Freccia destra** per inserire il suggerimento nell'input del prompt, quindi **Invio** per inviare343* Premete `Tab` o `Freccia destra` per inserire il suggerimento nell'input del prompt, quindi `Invio` per inviare

342* Iniziate a digitare per dismissarlo344* Iniziate a digitare per dismissarlo

343 345 

344Il suggerimento viene eseguito come una richiesta in background che riutilizza la cache del prompt della conversazione padre, quindi il costo aggiuntivo è minimo. Claude Code salta la generazione di suggerimenti quando la cache è fredda per evitare costi inutili.346Il suggerimento viene eseguito come una richiesta in background che riutilizza la cache del prompt della conversazione padre, quindi il costo aggiuntivo è minimo. Claude Code salta la generazione di suggerimenti quando la cache è fredda per evitare costi inutili.


368* **Risposta singola**: non ci sono turni di follow-up nell'overlay. Per continuare il thread, trasformatelo in una propria sessione con `f`.370* **Risposta singola**: non ci sono turni di follow-up nell'overlay. Per continuare il thread, trasformatelo in una propria sessione con `f`.

369* **Costo basso**: la domanda laterale riutilizza la cache del prompt della conversazione padre, quindi il costo aggiuntivo è minimo.371* **Costo basso**: la domanda laterale riutilizza la cache del prompt della conversazione padre, quindi il costo aggiuntivo è minimo.

370 372 

371Una volta che la risposta appare, l'overlay accetta questi tasti. Le domande laterali precedenti della stessa sessione appaiono come un elenco attenuato sopra la risposta corrente; rimangono fuori dalla cronologia della conversazione ma restano visibili nell'overlay finché non le cancellate.373Le domande laterali precedenti della stessa sessione appaiono come un elenco attenuato sopra la risposta corrente. Rimangono fuori dalla cronologia della conversazione ma restano visibili nell'overlay finché non le cancellate.

374 

375Una volta che la risposta appare, l'overlay accetta questi tasti.

372 376 

373| Tasto | Azione |377| Tasto | Azione |

374| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |378| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


406 Stato della revisione PR410 Stato della revisione PR

407</h2>411</h2>

408 412 

409Quando lavorate su un ramo con una pull request aperta, Claude Code visualizza un collegamento PR cliccabile nel footer (ad esempio, "PR #446"). Il collegamento ha una sottolineatura colorata che indica lo stato della revisione:413Quando lavorate su un ramo con una pull request aperta, Claude Code visualizza un collegamento PR cliccabile nel footer, ad esempio "PR #446". Il collegamento ha una sottolineatura colorata che indica lo stato della revisione:

410 414 

411* Verde: approvato415* Verde: approvato

412* Giallo: revisione in sospeso416* Giallo: revisione in sospeso

413* Rosso: modifiche richieste417* Rosso: modifiche richieste

414* Grigio: bozza418* Grigio: bozza

415 419 

416Il badge scompare una volta che la pull request viene unita o chiusa. `Cmd+click` (Mac) o `Ctrl+click` (Windows/Linux) sul collegamento per aprire la pull request nel vostro browser. Lo stato si aggiorna ogni 60 secondi e immediatamente dopo l'esecuzione di un comando `gh pr` o `git push` nella sessione.420Il badge scompare una volta che la pull request viene unita o chiusa. `Cmd+click` (macOS) o `Ctrl+click` (Windows/Linux) sul collegamento per aprire la pull request nel vostro browser. Lo stato si aggiorna ogni 60 secondi e immediatamente dopo l'esecuzione di un comando `gh pr` o `git push` nella sessione.

417 421 

418<Note>422<Note>

419 Lo stato PR richiede che la CLI `gh` sia installata e autenticata (`gh auth login`).423 Lo stato PR richiede che la CLI `gh` sia installata e autenticata (`gh auth login`).

jetbrains.md +1 −1

Details

233 Considerazioni sulla sicurezza233 Considerazioni sulla sicurezza

234</h2>234</h2>

235 235 

236Quando Claude Code viene eseguito in un JetBrains IDE con le autorizzazioni di modifica automatica abilitate, potrebbe essere in grado di modificare i file di configurazione dell'IDE che possono essere eseguiti automaticamente dal tuo IDE. Questo potrebbe aumentare il rischio di eseguire Claude Code in modalità di modifica automatica e consentire di aggirare i prompt di autorizzazione di Claude Code per l'esecuzione bash.236Quando Claude Code viene eseguito in un JetBrains IDE in modalità di autorizzazione [`acceptEdits`](/it/permission-modes#auto-approve-file-edits-with-acceptedits-mode), potrebbe essere in grado di modificare i file di configurazione dell'IDE che possono essere eseguiti automaticamente dal vostro IDE. Questo potrebbe aumentare il rischio di eseguire Claude Code in modalità `acceptEdits` e consentire di aggirare i prompt di autorizzazione di Claude Code per l'esecuzione bash.

237 237 

238Quando si esegue in JetBrains IDEs, considera:238Quando si esegue in JetBrains IDEs, considera:

239 239 

llm-gateway.md +0 −96 deleted

File Deleted View Diff

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Gateway LLM

6 

7> Instrada Claude Code attraverso un gateway LLM per l'autenticazione centralizzata, il tracciamento dell'utilizzo e i controlli dei costi. Copre il collegamento di Claude Code a un gateway, il rollout per la tua organizzazione, cosa Claude Code invia a un gateway e come i gateway interagiscono con gli abbonamenti a claude.ai.

8 

9Un gateway LLM è un proxy che la tua organizzazione esegue tra Claude Code e un provider di modelli. Claude Code invia il traffico API al gateway, e il gateway lo inoltra al provider utilizzando una credenziale che la tua organizzazione controlla.

10 

11<Note>

12 * Se sei uno sviluppatore che si connette a un gateway esistente: [collega Claude Code al tuo gateway](/it/llm-gateway-connect)

13 * Se sei un amministratore che esegue il rollout di un gateway per la tua organizzazione: [distribuisci e distribuisci un gateway](/it/llm-gateway-rollout)

14 * Se stai configurando un prodotto gateway: il [riferimento del protocollo gateway](/it/llm-gateway-protocol)

15</Note>

16 

17<h2 id="what-a-gateway-provides">

18 Cosa fornisce un gateway

19</h2>

20 

21Un gateway offre alla tua organizzazione un unico posto per gestire:

22 

23* **Credenziali**: la chiave del provider rimane lato server; gli sviluppatori mantengono invece le credenziali del gateway

24* **Tracciamento dell'utilizzo**: attribuisci l'utilizzo per sviluppatore o team, indipendentemente da quale provider serve la richiesta

25* **Controlli dei costi**: applica budget e limiti di velocità in un unico posto

26* **Registrazione di audit**: registra ogni richiesta di modello per la conformità

27* **Cambio di provider**: cambia il provider nella configurazione del gateway, senza toccare le macchine degli sviluppatori

28 

29Tutti questi, tranne il cambio di provider, si applicano sia che l'upstream sia l'API di Anthropic che un [provider cloud](/it/third-party-integrations).

30 

31Il compromesso è che il gateway diventa un'infrastruttura che la tua organizzazione gestisce. Claude Code aggiunge funzionalità con ogni rilascio, e un gateway che non le inoltra interrompe le funzionalità corrispondenti, quindi il prodotto gateway deve essere mantenuto aggiornato man mano che Claude Code evolve. Il [riferimento del protocollo gateway](/it/llm-gateway-protocol) copre cosa inoltrare.

32 

33<h2 id="how-a-gateway-works">

34 Come funziona un gateway

35</h2>

36 

37Per impostazione predefinita, Claude Code invia richieste direttamente all'API di Anthropic su `api.anthropic.com`. Per instradare attraverso un gateway, imposta `ANTHROPIC_BASE_URL` all'indirizzo del gateway; Claude Code invia le stesse richieste lì invece. Il gateway autentica lo sviluppatore, allega la credenziale del provider della tua organizzazione e inoltra ogni richiesta a qualunque provider sia configurato.

38 

39`ANTHROPIC_BASE_URL` è la variabile di indirizzo per la maggior parte dei gateway. Un gateway che fronteggia un provider cloud specifico, come Bedrock, Vertex, Foundry o la Claude Platform su AWS, utilizza invece la variabile di URL di base di quel provider; [Formati API](/it/llm-gateway-protocol#api-formats) elenca quale variabile va con ogni configurazione.

40 

41<Frame>

42 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/llm-gateway-flow.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=1c1a8dcc0cfcc3a58652cc8e28cd3e20" alt="Diagramma che mostra Claude Code instradato attraverso un gateway LLM. In una zona di macchine sviluppatore, la CLI di Claude Code, l'estensione VS Code e i client SDK CI o Agent inviano richieste al gateway, con la variabile di URL di base per il formato API del gateway che punta ad esso e ogni sviluppatore che tiene una credenziale per sviluppatore, e l'app desktop raggiunge lo stesso gateway attraverso la configurazione distribuita dall'organizzazione. In una zona etichettata la tua infrastruttura, il gateway LLM gestisce l'autenticazione, il tracciamento dell'utilizzo, i budget e l'instradamento, e inoltra le richieste con la credenziale della tua organizzazione. In una zona di provider di modelli, una freccia solida porta al provider che configuri, mostrato come l'API di Anthropic, e frecce tratteggiate portano ad altre opzioni di provider, illustrate con Amazon Bedrock, Google Vertex AI e Microsoft Foundry come esempi." width="780" height="322" data-path="images/llm-gateway-flow.svg" />

43</Frame>

44 

45Due tipi di credenziale sono coinvolti:

46 

47* **Credenziali sviluppatore**: ogni sviluppatore ne tiene una propria, emessa dal gateway. Autentica lo sviluppatore al gateway e lo identifica nel tracciamento dell'utilizzo

48* **Credenziale provider**: il gateway ne tiene una per il tuo account provider, condivisa da tutto il traffico inoltrato. Non esegui il provisioning delle chiavi del provider per sviluppatore

49 

50Il gateway inoltra ogni richiesta al provider che configuri, come l'API di Anthropic, [Amazon Bedrock](/it/amazon-bedrock), [Google Vertex AI](/it/google-vertex-ai), [Microsoft Foundry](/it/microsoft-foundry), o la [Claude Platform su AWS](/it/claude-platform-on-aws). Poiché Claude Code parla solo al gateway, la scelta del provider è la configurazione del gateway, non quella del client.

51 

52<h2 id="roll-out-a-gateway">

53 Esegui il rollout di un gateway

54</h2>

55 

56Quando sei pronto a eseguire il rollout di un gateway LLM alla tua organizzazione, la sequenza è la stessa indipendentemente dal prodotto gateway che scegli:

57 

581. Distribuisci il gateway e dagli la tua credenziale del provider, in modo che possa autenticare le richieste che inoltra.

592. Emetti a ogni sviluppatore una credenziale del gateway, in modo che l'utilizzo sia attribuito allo sviluppatore e l'offboarding revoca una credenziale.

603. Distribuisci la configurazione attraverso un [file di impostazioni gestite](/it/settings#settings-files) e il tuo strumento di segreti, in modo che ogni macchina riceva l'URL di base e una credenziale. Quando entrambi sono distribuiti, gli sviluppatori non configurano nulla. Se non hai la distribuzione delle impostazioni in atto, gli sviluppatori seguono la [pagina di connessione](/it/llm-gateway-connect) per impostare le variabili stessi.

614. Fai in modo che ogni sviluppatore [verifichi la configurazione in Claude Code](/it/llm-gateway-connect#check-for-an-existing-configuration), in modo che i problemi di distribuzione emergano prima che dipendano dal gateway.

62 

63[Esegui il rollout di un gateway LLM per la tua organizzazione](/it/llm-gateway-rollout) esamina ogni passaggio e mostra i file di configurazione da distribuire a ogni passaggio. Il gateway è una parte della configurazione dell'organizzazione; per l'applicazione delle politiche, la visibilità dell'utilizzo e le decisioni sulla gestione dei dati, vedi [Configura Claude Code per la tua organizzazione](/it/admin-setup).

64 

65<h2 id="third-party-gateways">

66 Gateway di terze parti

67</h2>

68 

69Qualsiasi gateway che espone un [formato API supportato](/it/llm-gateway-protocol#api-formats) funziona. Anthropic non approva, mantiene o controlla i prodotti gateway di terze parti. Distribuiscili seguendo la loro documentazione, quindi completa il lato Claude Code del rollout con i [passaggi di rollout](/it/llm-gateway-rollout).

70 

71<h2 id="subscriptions-and-gateways">

72 Abbonamenti e gateway

73</h2>

74 

75Mentre una [variabile di credenziale del gateway](/it/llm-gateway-connect#set-the-credential-variable) o `apiKeyHelper` è attiva, l'abbonamento a claude.ai di uno sviluppatore non viene utilizzato: la credenziale sostituisce l'accesso all'abbonamento per quella sessione, e i limiti di utilizzo dell'abbonamento non si applicano. Quel traffico viene fatturato per token a chiunque possieda la credenziale che il gateway inoltra, come l'account Anthropic Console della tua organizzazione, o il tuo account Bedrock, Vertex o Foundry quando il gateway instrada lì.

76 

77Impostare solo `ANTHROPIC_BASE_URL`, senza una credenziale del gateway, non sostituisce l'abbonamento. Le richieste vengono comunque instradate attraverso il gateway, ma un accesso a claude.ai salvato rimane la credenziale attiva, quindi i suoi limiti di utilizzo e la fatturazione si applicano. I gateway che passano questo traffico ad Anthropic devono inoltrare la capacità OAuth in `anthropic-beta`; vedi il [riferimento delle intestazioni della richiesta](/it/llm-gateway-protocol#request-headers).

78 

79<h2 id="configure-separately-from-the-gateway">

80 Configura separatamente dal gateway

81</h2>

82 

83Un gateway determina dove vengono inviate le richieste API del modello. La selezione del modello, il resto del traffico di rete di Claude Code e i proxy aziendali sono configurati separatamente:

84 

85* **Selezione del modello**: l'URL di base decide dove vanno le richieste, non quale modello le risponde. Scegli il modello con il comando `/model` o le variabili di ambiente del modello; vedi [come impostare il tuo modello](/it/model-config#setting-your-model)

86* **Traffico lato client**: i controlli della versione e la telemetria facoltativa del client, entrambi disabilitati con [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/it/env-vars), e il traffico di accesso quando è in uso un accesso a claude.ai o Console, vanno agli endpoint di aggiornamento e autenticazione di Anthropic piuttosto che al gateway. Vedi [requisiti di accesso alla rete](/it/network-config#network-access-requirements) per i domini

87* **Proxy aziendali**: un proxy impostato con `HTTPS_PROXY` si trova tra Claude Code e ogni server con cui parla, incluso il gateway. Se la tua rete richiede un proxy, configura entrambi; vedi [configurazione del proxy](/it/network-config#proxy-configuration)

88 

89<h2 id="related-pages">

90 Pagine correlate

91</h2>

92 

93* [Collega Claude Code a un gateway LLM](/it/llm-gateway-connect): imposta l'URL di base e la credenziale sulla tua macchina, con configurazione per superficie e una tabella di risoluzione dei problemi

94* [Esegui il rollout di un gateway LLM per la tua organizzazione](/it/llm-gateway-rollout): la checklist dell'amministratore per distribuire un gateway, emettere credenziali sviluppatore e distribuire impostazioni gestite

95* [Riferimento del protocollo gateway](/it/llm-gateway-protocol): cosa Claude Code invia a un gateway, per gli operatori che ne configurano uno, coprendo endpoint, intestazioni da inoltrare e pass-through delle funzionalità

96* [Configura Claude Code per la tua organizzazione](/it/admin-setup): le decisioni di rollout più ampie di cui un gateway è una parte, inclusa l'applicazione delle politiche e la visibilità dell'utilizzo

Details

231 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}231 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

232```232```

233 233 

234Per un gateway bearer-token, passa lo stesso segreto sia come input `anthropic_api_key` che come `ANTHROPIC_AUTH_TOKEN` nel blocco `env` del workflow. L'azione richiede `anthropic_api_key`, `CLAUDE_CODE_OAUTH_TOKEN`, o federazione dell'identità del carico di lavoro prima di avviare Claude Code, e non legge `ANTHROPIC_AUTH_TOKEN`, quindi l'input soddisfa quel controllo di avvio mentre la variabile env mette la chiave nell'intestazione `Authorization` che il gateway legge. La copia in `x-api-key` viene ignorata:234Per un gateway bearer-token, passa lo stesso segreto sia come input `anthropic_api_key` che come `ANTHROPIC_AUTH_TOKEN` nel blocco `env` del workflow. L'azione richiede `anthropic_api_key`, `CLAUDE_CODE_OAUTH_TOKEN`, o federazione dell'identità del carico di lavoro prima di avviare Claude Code, e non legge `ANTHROPIC_AUTH_TOKEN`, quindi l'input è lì solo per soddisfare quel controllo di avvio. La variabile env è ciò che mette la chiave nell'intestazione `Authorization` che il gateway legge; la copia in `x-api-key` viene ignorata:

235 235 

236```yaml theme={null}236```yaml theme={null}

237env:237env:


285 285 

286[Claude Code in Slack](/it/slack) e [Claude Code sul web](/it/claude-code-on-the-web) sono prodotti ospitati da Anthropic che usano sempre l'API di Anthropic; non fanno parte di una distribuzione del gateway. Le variabili del gateway impostate nella configurazione dell'ambiente di una sessione cloud non vengono applicate. Se il tuo traffico deve rimanere sul gateway, non abilitare queste superfici per quegli utenti.286[Claude Code in Slack](/it/slack) e [Claude Code sul web](/it/claude-code-on-the-web) sono prodotti ospitati da Anthropic che usano sempre l'API di Anthropic; non fanno parte di una distribuzione del gateway. Le variabili del gateway impostate nella configurazione dell'ambiente di una sessione cloud non vengono applicate. Se il tuo traffico deve rimanere sul gateway, non abilitare queste superfici per quegli utenti.

287 287 

288[Remote Control](/it/remote-control) e [dettatura vocale](/it/voice-dictation) si basano entrambi su un'identità claude.ai: Remote Control per accoppiare una sessione live con il tuo account, e dettatura vocale per raggiungere l'endpoint di trascrizione claude.ai. Non sono disponibili mentre `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, o un `apiKeyHelper` è attivo. Per usare uno di essi, annulla l'impostazione della credenziale del gateway e accedi con claude.ai invece; `/doctor` nomina la variabile da annullare.288[Remote Control](/it/remote-control) e [dettatura vocale](/it/voice-dictation) si basano entrambi su un'identità claude.ai: Remote Control per accoppiare una sessione live con il tuo account, e dettatura vocale per raggiungere l'endpoint di trascrizione claude.ai. Non sono disponibili mentre `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, o un `apiKeyHelper` è attivo. {/* min-version: 2.1.196 */}A partire da v2.1.196, Remote Control è anche disabilitato mentre `ANTHROPIC_BASE_URL` punta a un host non-Anthropic, quindi accedere con claude.ai non è sufficiente da solo.

289 

290Per ripristinare una delle due funzioni, accedi con claude.ai e annulla l'impostazione delle variabili del gateway che controlla. `/doctor` nomina la variabile di credenziale da annullare.

291 

292* Dettatura vocale: annulla l'impostazione della credenziale del gateway

293* Remote Control: annulla l'impostazione della credenziale del gateway e `ANTHROPIC_BASE_URL`

289 294 

290<h2 id="additional-configuration">295<h2 id="additional-configuration">

291 Configurazione aggiuntiva296 Configurazione aggiuntiva


318```json theme={null}323```json theme={null}

319{324{

320 "env": {325 "env": {

321 "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: acme"326 "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: example"

322 }327 }

323}328}

324```329```


388 Instrada a un provider cloud attraverso un gateway393 Instrada a un provider cloud attraverso un gateway

389</h3>394</h3>

390 395 

391Queste configurazioni indirizzano Claude Code a un gateway attraverso una variabile di URL di base specifica del provider al posto di `ANTHROPIC_BASE_URL`. I gateway Bedrock e Vertex accettano i formati di richiesta nativi di quei provider; i gateway Foundry e Claude Platform su AWS accettano il formato Anthropic Messages e differiscono solo in quale variabile di URL di base li raggiunge.396Queste configurazioni indirizzano Claude Code a un gateway attraverso una variabile di URL di base specifica del provider al posto di `ANTHROPIC_BASE_URL`. I gateway Bedrock e Agent Platform accettano i formati di richiesta nativi di quei provider; i gateway Foundry e Claude Platform su AWS accettano il formato Anthropic Messages e differiscono solo in quale variabile di URL di base li raggiunge.

392 397 

393Usane una solo se il tuo team del gateway ha specificamente nominato Bedrock, Vertex, Foundry, o Claude Platform su AWS. Se la [richiesta di verifica](#verify-the-connection) di cui sopra ha restituito JSON, puoi saltare questa sezione.398Usane una solo se il tuo team del gateway ha specificamente nominato Bedrock, Agent Platform, Foundry, o Claude Platform su AWS. Se la [richiesta di verifica](#verify-the-connection) di cui sopra ha restituito JSON, puoi saltare questa sezione.

394 399 

395Imposta il blocco per il provider che il tuo team del gateway ha nominato. Le variabili skip-auth dicono a Claude Code di non firmare le richieste con le credenziali del provider, poiché il gateway le detiene. Se il gateway ha bisogno del suo proprio token, aggiungi `ANTHROPIC_AUTH_TOKEN` dopo il blocco, tranne per Foundry, che usa `ANTHROPIC_FOUNDRY_API_KEY` come mostrato.400Imposta il blocco per il provider che il tuo team del gateway ha nominato. Le variabili skip-auth dicono a Claude Code di non firmare le richieste con le credenziali del provider, poiché il gateway le detiene. Se il gateway ha bisogno del suo proprio token, aggiungi `ANTHROPIC_AUTH_TOKEN` dopo il blocco, tranne per Foundry, che usa `ANTHROPIC_FOUNDRY_API_KEY` come mostrato.

396 401 


416 </Tab>421 </Tab>

417</Tabs>422</Tabs>

418 423 

419<h4 id="google-vertex-ai">424<h4 id="google-cloud’s-agent-platform">

420 Google Vertex AI425 Google Cloud's Agent Platform

421</h4>426</h4>

422 427 

423<Tabs>428<Tabs>

Details

8 8 

9Questa pagina documenta le richieste che Claude Code invia a un gateway, inclusi gli endpoint che chiama, le intestazioni e i campi del corpo che il gateway deve inoltrare, e quali funzionalità smettono di funzionare quando non lo fa. È scritta per gli operatori che configurano un prodotto gateway per funzionare con Claude Code.9Questa pagina documenta le richieste che Claude Code invia a un gateway, inclusi gli endpoint che chiama, le intestazioni e i campi del corpo che il gateway deve inoltrare, e quali funzionalità smettono di funzionare quando non lo fa. È scritta per gli operatori che configurano un prodotto gateway per funzionare con Claude Code.

10 10 

11Un [gateway delle app Claude](/it/claude-apps-gateway) in esecuzione serve una versione leggibile da macchina di questo contratto su `GET /protocol`, coprendo gli stessi requisiti di inoltro più gli endpoint specifici del gateway delle app Claude per l'accesso SSO, la consegna delle impostazioni gestite e la telemetria. Il gateway delle app Claude viene eseguito dallo stesso binario `claude` della CLI, quindi la [guida rapida del gateway delle app Claude](/it/claude-apps-gateway#quickstart) è il percorso più breve verso un'istanza in esecuzione da cui è possibile recuperare la specifica.

12 

11<Note>13<Note>

12 * Per distribuire un gateway esistente o di terze parti per la vostra organizzazione, vedere [Distribuire un gateway LLM](/it/llm-gateway-rollout)14 * Per distribuire un gateway esistente o di terze parti per la vostra organizzazione, vedere [Distribuire un gateway LLM](/it/llm-gateway-rollout)

13 * Se siete uno sviluppatore individuale che autentica Claude Code a un gateway con una credenziale che vi è stata fornita, vedere [Connettere Claude Code a un gateway LLM](/it/llm-gateway-connect)15 * Se siete uno sviluppatore individuale che autentica Claude Code a un gateway con una credenziale che vi è stata fornita, vedere [Connettere Claude Code a un gateway LLM](/it/llm-gateway-connect)


32 Formati API34 Formati API

33</h2>35</h2>

34 36 

35Un gateway deve esporre almeno uno dei seguenti formati API ai client Claude Code. Quale formato Claude Code parla è determinato dalla configurazione del client: la variabile nella colonna Selezionato da della tabella sottostante punta Claude Code al vostro gateway in quel formato.37Un gateway deve esporre almeno uno dei seguenti formati API ai client Claude Code. Quale formato Claude Code parla è determinato dalla configurazione del client: la variabile nella colonna Selezionato da della tabella sottostante punta Claude Code al vostro gateway in quel formato. Agent Platform è l'endpoint Claude di Google Cloud, precedentemente Vertex AI; i nomi delle sue variabili mantengono l'ortografia `VERTEX`.

36 38 

37| Formato | Selezionato da | Endpoint | Inoltrare invariato |39| Formato | Selezionato da | Endpoint | Inoltrare invariato |

38| :------------------ | :----------------------------------------------------------- | :------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------- |40| :------------------------ | :----------------------------------------------------------- | :------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------- |

39| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (opzionale) | intestazioni di richiesta `anthropic-beta` e `anthropic-version` |41| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (opzionale) | intestazioni di richiesta `anthropic-beta` e `anthropic-version` |

40| Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` con `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream` | campi del corpo della richiesta `anthropic_beta` e `anthropic_version` |42| Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` con `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream` | campi del corpo della richiesta `anthropic_beta` e `anthropic_version` |

41| Vertex rawPredict | `ANTHROPIC_VERTEX_BASE_URL` con `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (opzionale) | intestazioni di richiesta `anthropic-beta` e `anthropic-version`, e il campo del corpo della richiesta `anthropic_version` |43| Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL` con `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (opzionale) | intestazioni di richiesta `anthropic-beta` e `anthropic-version`, e il campo del corpo della richiesta `anthropic_version` |

42 44 

43<h3 id="foundry-and-claude-platform-on-aws">45<h3 id="foundry-and-claude-platform-on-aws">

44 Foundry e Claude Platform on AWS46 Foundry e Claude Platform on AWS


50 Endpoint opzionali e traffico di avvio52 Endpoint opzionali e traffico di avvio

51</h3>53</h3>

52 54 

53Gli endpoint di conteggio dei token sono gli unici opzionali: quando sono assenti, Claude Code stima l'utilizzo del contesto localmente. Le richieste di inferenza vengono inviate a `/v1/messages?beta=true`, quindi abbinate sul percorso, non sull'URL completo. Il metodo Vertex allega i suffissi al percorso del modello dell'editore, come in `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`.55Gli endpoint di conteggio dei token sono gli unici opzionali: quando sono assenti, Claude Code stima l'utilizzo del contesto localmente. Le richieste di inferenza vengono inviate a `/v1/messages?beta=true`, quindi abbinate sul percorso, non sull'URL completo. Il metodo Agent Platform allega i suffissi al percorso del modello dell'editore, come in `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`.

54 56 

55Un gateway vede anche il traffico di avvio best-effort che può rifiutare senza rompere nulla: una sonda di connettività `HEAD /`, e su gateway in formato Bedrock una richiesta `GET /inference-profiles?type=SYSTEM_DEFINED`.57Un gateway vede anche il traffico di avvio best-effort che può rifiutare senza rompere nulla: una sonda di connettività `HEAD /`, e su gateway in formato Bedrock una richiesta `GET /inference-profiles?type=SYSTEM_DEFINED`.

56 58 


66 68 

67Quale formato il client parla determina cosa riceve il vostro gateway. La modalità di errore comune è una mancata corrispondenza tra il formato che il client invia al vostro gateway e il formato che il provider upstream dietro di esso accetta.69Quale formato il client parla determina cosa riceve il vostro gateway. La modalità di errore comune è una mancata corrispondenza tra il formato che il client invia al vostro gateway e il formato che il provider upstream dietro di esso accetta.

68 70 

69* Quando il client parla il formato Bedrock o Vertex, Claude Code invia solo il sottoinsieme del suo set di capacità completo che quei provider accettano71* Quando il client parla il formato Bedrock o Agent Platform, Claude Code invia solo il sottoinsieme del suo set di capacità completo che quei provider accettano

70* Quando il client parla il formato Anthropic Messages, Claude Code invia il set completo, anche se il vostro gateway inoltra a un upstream Bedrock o Vertex72* Quando il client parla il formato Anthropic Messages, Claude Code invia il set completo, anche se il vostro gateway inoltra a un upstream Bedrock o Agent Platform

71 73 

72Colmare quella differenza è il compito del vostro gateway. [Passaggio delle funzionalità](#feature-pass-through) descrive cosa si interrompe quando non lo fa.74Colmare quella differenza è il compito del vostro gateway. [Passaggio delle funzionalità](#feature-pass-through) descrive cosa si interrompe quando non lo fa.

73 75 


80| Intestazione | Descrizione |82| Intestazione | Descrizione |

81| :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |83| :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

82| `Authorization`, `x-api-key` | La credenziale del gateway dello sviluppatore, in una o entrambe le intestazioni a seconda di quale [variabile di credenziale](/it/llm-gateway-connect#set-the-credential-variable) impostano |84| `Authorization`, `x-api-key` | La credenziale del gateway dello sviluppatore, in una o entrambe le intestazioni a seconda di quale [variabile di credenziale](/it/llm-gateway-connect#set-the-credential-variable) impostano |

83| `anthropic-version` | Versione API, attualmente `2023-06-01`. Le richieste in formato Bedrock e Vertex portano anche il campo del corpo `anthropic_version`, il cui valore è la stringa del dialetto del provider, non il valore di questa intestazione |85| `anthropic-version` | Versione API, attualmente `2023-06-01`. Le richieste in formato Bedrock e Agent Platform portano anche il campo del corpo `anthropic_version`, il cui valore è la stringa del dialetto del provider, non il valore di questa intestazione |

84| `anthropic-beta` | Valori di capacità separati da virgole per la richiesta. Inoltrare l'intestazione verbatim; non creare un elenco di consentiti dei singoli valori, perché l'insieme cambia con i rilasci di Claude Code. Quando lo sviluppatore si autentica con un accesso claude.ai, che è possibile quando `ANTHROPIC_BASE_URL` è impostato senza una variabile di credenziale del gateway, questa intestazione porta anche una capacità OAuth che l'upstream richiede, e rimuoverla fa fallire quelle richieste con `401` |86| `anthropic-beta` | Valori di capacità separati da virgole per la richiesta. Inoltrare l'intestazione verbatim; non creare un elenco di consentiti dei singoli valori, perché l'insieme cambia con i rilasci di Claude Code. Quando lo sviluppatore si autentica con un accesso claude.ai, che è possibile quando `ANTHROPIC_BASE_URL` è impostato senza una variabile di credenziale del gateway, questa intestazione porta anche una capacità OAuth che l'upstream richiede, e rimuoverla fa fallire quelle richieste con `401` |

85| `x-claude-code-session-id` | Un identificatore univoco per la sessione Claude Code corrente. Usarlo per aggregare tutte le richieste da una sessione senza analizzare i corpi delle richieste |87| `x-claude-code-session-id` | Un identificatore univoco per la sessione Claude Code corrente. Usarlo per aggregare tutte le richieste da una sessione senza analizzare i corpi delle richieste |

86| `x-claude-code-agent-id` | Identificatore del [subagent](/it/sub-agents) che ha emesso la richiesta, presente solo sulle richieste da un agente che Claude Code ha generato all'interno della sessione. Usarlo con l'ID della sessione per attribuire il costo agli agenti paralleli |88| `x-claude-code-agent-id` | Identificatore del [subagent](/it/sub-agents) che ha emesso la richiesta, presente solo sulle richieste da un agente che Claude Code ha generato all'interno della sessione. Usarlo con l'ID della sessione per attribuire il costo agli agenti paralleli |


98 100 

99Quando inoltrate a un upstream in formato Anthropic, passate le intestazioni di richiesta `anthropic-*` e i campi del corpo della richiesta invariati piuttosto che creare un elenco di consentiti di quelli che vedete oggi. Un gateway bloccato a un elenco osservato rimuove l'intestazione o il campo della prossima capacità e lo interrompe nel rilascio che lo introduce.101Quando inoltrate a un upstream in formato Anthropic, passate le intestazioni di richiesta `anthropic-*` e i campi del corpo della richiesta invariati piuttosto che creare un elenco di consentiti di quelli che vedete oggi. Un gateway bloccato a un elenco osservato rimuove l'intestazione o il campo della prossima capacità e lo interrompe nel rilascio che lo introduce.

100 102 

101L'eccezione è un upstream non-Anthropic come Bedrock o Vertex, dove colmare la differenza dello schema è il compito del gateway; vedere [passaggio delle funzionalità](#feature-pass-through).103L'eccezione è un upstream non-Anthropic come Bedrock o Agent Platform, dove colmare la differenza dello schema è il compito del gateway; vedere [passaggio delle funzionalità](#feature-pass-through).

102 104 

103<h2 id="system-prompt-attribution-block">105<h2 id="system-prompt-attribution-block">

104 Blocco di attribuzione del prompt di sistema106 Blocco di attribuzione del prompt di sistema


112 Passaggio delle funzionalità114 Passaggio delle funzionalità

113</h2>115</h2>

114 116 

115Claude Code tratta un gateway `ANTHROPIC_BASE_URL` come un endpoint in formato Anthropic e gli invia le intestazioni beta e i campi del corpo della richiesta che invia a `api.anthropic.com`, tranne un piccolo insieme di diagnostica e impostazioni predefinite riservate alle connessioni dirette.117Claude Code tratta un gateway `ANTHROPIC_BASE_URL` come un endpoint in formato Anthropic e gli invia le intestazioni beta e i campi del corpo della richiesta che invia a `api.anthropic.com`, tranne un piccolo insieme di diagnostica e impostazioni predefinite riservate alle connessioni dirette, come l'impostazione predefinita di streaming fine degli strumenti coperta di seguito. Questo insieme varia per rilascio, quindi non dipendete dal suo contenuto.

116 118 

117Le capacità che aggiungono campi del corpo li associano a un'intestazione beta, e la coppia viaggia insieme. Un gateway che rimuove l'intestazione mentre passa il corpo, o inoltra un corpo in formato Anthropic a un upstream con uno schema diverso, produce errori `400` difficili; solo quando entrambe le metà sono assenti insieme la funzionalità si disattiva silenziosamente. Un gateway che riscrive o redige i corpi delle richieste per l'ispezione del contenuto interrompe l'associazione allo stesso modo della rimozione, quindi ispezionare senza modificare. La tabella nota dove una funzionalità si discosta dall'associazione.119Le capacità che aggiungono campi del corpo li associano a un'intestazione beta, e la coppia viaggia insieme. Un gateway che rimuove l'intestazione mentre passa il corpo, o inoltra un corpo in formato Anthropic a un upstream con uno schema diverso, produce errori `400` difficili; solo quando entrambe le metà sono assenti insieme la funzionalità si disattiva silenziosamente. Un gateway che riscrive o redige i corpi delle richieste per l'ispezione del contenuto interrompe l'associazione allo stesso modo della rimozione, quindi ispezionare senza modificare. La tabella nota dove una funzionalità si discosta dall'associazione.

118 120 


123| [Ragionamento adattivo](/it/model-config#adjust-effort-level) | Nessuna intestazione beta. Claude Code invia `thinking: {"type": "adaptive"}` per Claude 4.6 e successivi, e tratta i nomi dei modelli che non riconosce, come gli alias del gateway, come modelli attuali che ricevono il campo | `400` che nomina il campo `thinking` o il tag `adaptive` quando la build del modello upstream non lo accetta | Aggiornare l'upstream. Su Opus 4.6 e Sonnet 4.6, gli sviluppatori possono invece impostare `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` |125| [Ragionamento adattivo](/it/model-config#adjust-effort-level) | Nessuna intestazione beta. Claude Code invia `thinking: {"type": "adaptive"}` per Claude 4.6 e successivi, e tratta i nomi dei modelli che non riconosce, come gli alias del gateway, come modelli attuali che ricevono il campo | `400` che nomina il campo `thinking` o il tag `adaptive` quando la build del modello upstream non lo accetta | Aggiornare l'upstream. Su Opus 4.6 e Sonnet 4.6, gli sviluppatori possono invece impostare `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` |

124| [Gestione del contesto](https://platform.claude.com/docs/en/build-with-claude/context-management) | L'intestazione beta di gestione del contesto si associa al campo del corpo `context_management` | `400` con `Extra inputs are not permitted`. Comune quando un gateway accetta richieste in formato Anthropic ma le inoltra a Bedrock | Inoltrare entrambi, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/it/env-vars) |126| [Gestione del contesto](https://platform.claude.com/docs/en/build-with-claude/context-management) | L'intestazione beta di gestione del contesto si associa al campo del corpo `context_management` | `400` con `Extra inputs are not permitted`. Comune quando un gateway accetta richieste in formato Anthropic ma le inoltra a Bedrock | Inoltrare entrambi, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/it/env-vars) |

125| [Contesto esteso](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) e [pensiero interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Solo intestazioni beta, nessun campo del corpo | Silenziosamente non disponibile quando l'intestazione viene rimossa; l'upstream non vede mai la richiesta di capacità | Inoltrare `anthropic-beta` verbatim |127| [Contesto esteso](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) e [pensiero interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Solo intestazioni beta, nessun campo del corpo | Silenziosamente non disponibile quando l'intestazione viene rimossa; l'upstream non vede mai la richiesta di capacità | Inoltrare `anthropic-beta` verbatim |

126| Campi dello strumento beta [tool fields](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Le intestazioni beta relative agli strumenti si associano ai campi dello schema dello strumento come `strict` e `defer_loading` | `400` che nomina il campo dello schema dello strumento non riconosciuto quando il corpo passa attraverso senza la sua intestazione | Inoltrare entrambi, o `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |128| Beta [tool fields](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Le intestazioni beta relative agli strumenti si associano ai campi dello schema dello strumento come `strict` e `defer_loading` | `400` che nomina il campo dello schema dello strumento non riconosciuto quando il corpo passa attraverso senza la sua intestazione | Inoltrare entrambi, o `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |

127| [Sforzo](https://platform.claude.com/docs/en/build-with-claude/effort) e [output strutturati](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Il campo del corpo `output_config` contiene impostazioni di sforzo, formato di output strutturato e budget dei compiti; ciascuno si associa con la sua intestazione beta | `400` che nomina `output_config`, spesso `Extra inputs are not permitted`, su upstream Bedrock e Vertex | Inoltrare il campo e le sue intestazioni insieme |129| [Sforzo](https://platform.claude.com/docs/en/build-with-claude/effort) e [output strutturati](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Il campo del corpo `output_config` contiene impostazioni di sforzo, formato di output strutturato e budget dei compiti; ciascuno si associa con la sua intestazione beta | `400` che nomina `output_config`, spesso `Extra inputs are not permitted`, su upstream Bedrock e Agent Platform | Inoltrare il campo e le sue intestazioni insieme |

128| [Conteggio dei token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Nessun accoppiamento beta; utilizza l'endpoint `count_tokens` | Claude Code ricade alla stima dell'utilizzo del contesto localmente | Esporre l'endpoint se desiderate conteggi esatti |130| [Conteggio dei token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Nessun accoppiamento beta; utilizza l'endpoint `count_tokens` | Claude Code ricade alla stima dell'utilizzo del contesto localmente | Esporre l'endpoint se desiderate conteggi esatti |

129 131 

130Le variabili `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` [variables](/it/model-config) dichiarano le capacità del modello solo nelle configurazioni del provider: `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, e [`CLAUDE_CODE_USE_MANTLE`](/it/amazon-bedrock#use-the-mantle-endpoint). Non hanno effetto dietro un gateway `ANTHROPIC_BASE_URL`.132Le variabili `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` [variables](/it/model-config) dichiarano le capacità del modello solo nelle configurazioni del provider: `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, e [`CLAUDE_CODE_USE_MANTLE`](/it/amazon-bedrock#use-the-mantle-endpoint). Non hanno effetto dietro un gateway `ANTHROPIC_BASE_URL`.


133 Ritentativo automatico e inoltro degli errori135 Ritentativo automatico e inoltro degli errori

134</h3>136</h3>

135 137 

136Claude Code ritenta automaticamente dopo alcuni rifiuti upstream e disabilita la capacità rifiutata per il resto della conversazione. I rifiuti del campo `thinking`, dei [thinking signatures](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), e dei messaggi di sistema a metà conversazione si riprendono in questo modo. I rifiuti di gestione del contesto e di campi dello schema dello strumento non ritentano; quegli errori `400` raggiungono lo sviluppatore.138Claude Code ritenta automaticamente dopo alcuni rifiuti upstream e disabilita la capacità rifiutata per il resto della conversazione. I rifiuti del campo `thinking`, delle [thinking signatures](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), e dei messaggi di sistema a metà conversazione si riprendono in questo modo. I rifiuti di gestione del contesto e di campi dello schema dello strumento non ritentano; quegli errori `400` raggiungono lo sviluppatore.

137 139 

138La logica di ritentativo corrisponde alla formulazione dell'errore dell'upstream, quindi inoltrare i corpi della risposta di errore invariati. Un gateway che avvolge gli errori upstream nel suo involucro interrompe il percorso di recupero anche quando preserva il codice di stato.140La logica di ritentativo corrisponde alla formulazione dell'errore dell'upstream, quindi inoltrare i corpi della risposta di errore invariati. Un gateway che avvolge gli errori upstream nel suo involucro interrompe il percorso di recupero anche quando preserva il codice di stato.

139 141 


182{184{

183 "data": [185 "data": [

184 { "id": "claude-sonnet-4-6", "display_name": "Claude Sonnet 4.6" },186 { "id": "claude-sonnet-4-6", "display_name": "Claude Sonnet 4.6" },

185 { "id": "claude-opus-4-7" }187 { "id": "claude-opus-4-8" }

186 ]188 ]

187}189}

188```190```


191 Voci del selettore e caching193 Voci del selettore e caching

192</h3>194</h3>

193 195 

194Il selettore è l'elenco interattivo dei modelli che si apre quando uno sviluppatore esegue `/model` in Claude Code. Ogni voce scoperta è etichettata "From gateway" e utilizza `display_name` quando fornito. Un ID scoperto viene saltato solo quando corrisponde esattamente a una riga già nel selettore, o quando sia l'ID scoperto che quello esistente si risolvono in [Fable](/it/model-config#work-with-fable-5). Le righe integrate sono codificate su alias come `sonnet`, quindi un ID scoperto come `claude-sonnet-4-6` aggiunge la sua propria riga "From gateway" accanto alla voce integrata. L'[impostazione gestita `availableModels`](/it/settings#available-settings) limita quello che la scoperta può aggiungere.196Il selettore è l'elenco interattivo dei modelli che si apre quando uno sviluppatore esegue `/model` in Claude Code. Ogni voce scoperta è etichettata "From gateway" e utilizza `display_name` quando fornito. L'[impostazione gestita `availableModels`](/it/settings#available-settings) limita quello che la scoperta può aggiungere.

197 

198Un ID scoperto viene saltato solo quando corrisponde esattamente a una riga già nel selettore, o quando sia l'ID scoperto che quello esistente si risolvono in [Fable](/it/model-config#work-with-fable-5). Le righe integrate sono codificate su alias come `sonnet`, quindi un ID scoperto come `claude-sonnet-4-6` aggiunge la sua propria riga "From gateway" accanto alla voce integrata piuttosto che sostituirla.

195 199 

196I risultati vengono memorizzati nella cache in `~/.claude/cache/gateway-models.json`, o `%USERPROFILE%\.claude\cache\gateway-models.json` su Windows, e aggiornati ad ogni avvio. Se la richiesta fallisce o il gateway non implementa `/v1/models`, il selettore ricade all'elenco memorizzato nella cache dall'avvio precedente o all'elenco dei modelli integrati. Se il vostro gateway serve modelli Claude con alias che non corrispondono al filtro di scoperta, gli sviluppatori possono aggiungere quegli alias manualmente con le [variabili di configurazione del modello](/it/model-config).200I risultati vengono memorizzati nella cache in `~/.claude/cache/gateway-models.json`, o `%USERPROFILE%\.claude\cache\gateway-models.json` su Windows, e aggiornati ad ogni avvio. Se la richiesta fallisce o il gateway non implementa `/v1/models`, il selettore ricade all'elenco memorizzato nella cache dall'avvio precedente o all'elenco dei modelli integrati. Se il vostro gateway serve modelli Claude con alias che non corrispondono al filtro di scoperta, gli sviluppatori possono aggiungere quegli alias manualmente con le [variabili di configurazione del modello](/it/model-config).

197 201 


201 205 

202Per il resto della serie di documentazione del gateway e i riferimenti API sottostanti:206Per il resto della serie di documentazione del gateway e i riferimenti API sottostanti:

203 207 

204* [Panoramica dei gateway LLM](/it/llm-gateway): cos'è un gateway e come interagisce con le sottoscrizioni claude.ai208* [Panoramica dei gateway](/it/gateways): cos'è un gateway e come scegliere tra l'app gateway Claude e un altro prodotto

209* [Altri gateway LLM](/it/llm-gateway): come implementare un gateway che la vostra organizzazione gestisce e come interagisce con le sottoscrizioni claude.ai

205* [Distribuire un gateway LLM per la vostra organizzazione](/it/llm-gateway-rollout): la checklist dell'amministratore che utilizza questo contratto210* [Distribuire un gateway LLM per la vostra organizzazione](/it/llm-gateway-rollout): la checklist dell'amministratore che utilizza questo contratto

206* [Connettere Claude Code a un gateway LLM](/it/llm-gateway-connect): configurazione per sviluppatore e la tabella di risoluzione dei problemi211* [Connettere Claude Code a un gateway LLM](/it/llm-gateway-connect): configurazione per sviluppatore e la tabella di risoluzione dei problemi

207* [Riferimento delle intestazioni beta](https://platform.claude.com/docs/en/api/beta-headers): l'insieme attuale dei valori `anthropic-beta`212* [Riferimento delle intestazioni beta](https://platform.claude.com/docs/en/api/beta-headers): l'insieme attuale dei valori `anthropic-beta`

Details

22* Un gateway distribuito sulla vostra infrastruttura, che serve HTTPS all'indirizzo esatto che distribuirete agli sviluppatori, non a un indirizzo che vi reindirizza, e configurato per instradare i nomi dei modelli Claude al vostro provider22* Un gateway distribuito sulla vostra infrastruttura, che serve HTTPS all'indirizzo esatto che distribuirete agli sviluppatori, non a un indirizzo che vi reindirizza, e configurato per instradare i nomi dei modelli Claude al vostro provider

23* Una credenziale del provider per il gateway da inoltrare con:23* Una credenziale del provider per il gateway da inoltrare con:

24 * Per l'API Anthropic: una chiave API dalla [Claude Console](https://platform.claude.com/settings/keys)24 * Per l'API Anthropic: una chiave API dalla [Claude Console](https://platform.claude.com/settings/keys)

25 * Per un provider cloud: credenziali cloud con accesso ai modelli. Vedere i prerequisiti nella pagina [Amazon Bedrock](/it/amazon-bedrock#prerequisites), [Google Vertex AI](/it/google-vertex-ai#prerequisites) o [Microsoft Foundry](/it/microsoft-foundry#prerequisites)25 * Per un provider cloud: credenziali cloud con accesso ai modelli. Vedere i prerequisiti nella pagina [Amazon Bedrock](/it/amazon-bedrock#prerequisites), [Google Cloud's Agent Platform](/it/google-vertex-ai#prerequisites) o [Microsoft Foundry](/it/microsoft-foundry#prerequisites)

26* Un modo per consegnare file di impostazioni alle macchine degli sviluppatori, come MDM o gestione della configurazione26* Un modo per consegnare file di impostazioni alle macchine degli sviluppatori, come MDM o gestione della configurazione

27 * Se non ne avete ancora uno, [come le impostazioni raggiungono i dispositivi](/it/admin-setup#decide-how-settings-reach-devices) confronta le opzioni27 * Se non ne avete ancora uno, [come le impostazioni raggiungono i dispositivi](/it/admin-setup#decide-how-settings-reach-devices) confronta le opzioni

28 28 


180Lo stesso insieme di variabili si applica qualunque percorso scegliate. La maggior parte delle distribuzioni ha bisogno solo di `ANTHROPIC_BASE_URL` e di una credenziale; includete le righe condizionali quando la vostra configurazione del gateway lo richiede.180Lo stesso insieme di variabili si applica qualunque percorso scegliate. La maggior parte delle distribuzioni ha bisogno solo di `ANTHROPIC_BASE_URL` e di una credenziale; includete le righe condizionali quando la vostra configurazione del gateway lo richiede.

181 181 

182| Variabile o impostazione | Cosa fa | Includere quando |182| Variabile o impostazione | Cosa fa | Includere quando |

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

184| `ANTHROPIC_BASE_URL` | Invia le richieste API di Claude Code al gateway invece di `api.anthropic.com` | Sempre |184| `ANTHROPIC_BASE_URL` | Invia le richieste API di Claude Code al gateway invece di `api.anthropic.com` | Sempre |

185| `apiKeyHelper`, o una credenziale in `ANTHROPIC_AUTH_TOKEN` o `ANTHROPIC_API_KEY` | Autentica ogni richiesta al gateway. L'helper esegue un comando per recuperare la chiave; le variabili contengono una chiave statica, inviata come `Authorization: Bearer` e `x-api-key` rispettivamente | Sempre; uno dei tre |185| `apiKeyHelper`, o una credenziale in `ANTHROPIC_AUTH_TOKEN` o `ANTHROPIC_API_KEY` | Autentica ogni richiesta al gateway. L'helper esegue un comando per recuperare la chiave; le variabili contengono una chiave statica, inviata come `Authorization: Bearer` e `x-api-key` rispettivamente | Sempre; uno dei tre |

186| `ANTHROPIC_CUSTOM_HEADERS` | Aggiunge intestazioni HTTP extra a ogni richiesta API | Il vostro gateway richiede un'intestazione tenant o di instradamento su ogni richiesta |186| `ANTHROPIC_CUSTOM_HEADERS` | Aggiunge intestazioni HTTP extra a ogni richiesta API | Il vostro gateway richiede un'intestazione tenant o di instradamento su ogni richiesta |

187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Interroga il `/v1/models` del gateway all'avvio e aggiunge i nomi restituiti al selettore `/model` | Il vostro gateway serve `/v1/models` e volete che i selettori degli sviluppatori siano popolati da esso |187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Interroga il `/v1/models` del gateway all'avvio e aggiunge i nomi restituiti al selettore `/model` | Il vostro gateway serve `/v1/models` e volete che i selettori degli sviluppatori siano popolati da esso |

188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Impedisce a Claude Code di inviare intestazioni di capacità pre-release e campi del corpo | Il vostro gateway inoltra a un upstream Bedrock o Vertex che rifiuta i campi beta; vedere [Requisiti del gateway](#gateway-requirements) |188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Impedisce a Claude Code di inviare intestazioni di capacità pre-release e campi del corpo | Il vostro gateway inoltra a un upstream Bedrock o Vertex che rifiuta i campi beta; vedere [Requisiti del gateway](#gateway-requirements) |

189| `ANTHROPIC_MODEL` o [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/it/model-config) | Impostare quale nome di modello Claude Code richiede per la sessione principale e per il traffico di background | Il vostro gateway instrada nomi di modelli che non corrispondono ai valori predefiniti di Claude Code, o instradare [funzionalità di background](/it/costs#background-token-usage) a un modello diverso. Instradare sia i nomi di override che i nomi predefiniti di Claude Code al gateway, poiché alcune sub-call possono richiedere il nome predefinito indipendentemente dall'override |189| `ANTHROPIC_MODEL` o [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/it/model-config) | Impostare quale nome di modello Claude Code richiede per la sessione principale e per il traffico di background | Il vostro gateway instrada nomi di modelli che non corrispondono ai valori predefiniti di Claude Code, o instradare [funzionalità di background](/it/costs#background-token-usage) a un modello diverso. Instradare sia i nomi di override che i nomi predefiniti di Claude Code al gateway, poiché alcune sub-call possono richiedere il nome predefinito indipendentemente dall'override; la [configurazione del modello](/it/model-config) copre quale modello ogni parte di una sessione usa |

190| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, o `ANTHROPIC_AWS_BASE_URL` con le [variabili per quel provider](/it/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Puntare Claude Code al gateway attraverso un URL di base specifico del provider. Bedrock e Vertex passano anche al formato di richiesta nativo di quei provider | Il vostro gateway fronteggia Bedrock, Vertex, Foundry o la Claude Platform su AWS; vedere [Formati API](/it/llm-gateway-protocol#api-formats) |190| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, o `ANTHROPIC_AWS_BASE_URL` con le [variabili per quel provider](/it/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Puntare Claude Code al gateway attraverso un URL di base specifico del provider. Bedrock e Agent Platform passano anche al formato di richiesta nativo di quei provider | Il vostro gateway fronteggia Bedrock, Agent Platform, Foundry o la Claude Platform su AWS; vedere [Formati API](/it/llm-gateway-protocol#api-formats) |

191 191 

192<h4 id="distribute-through-managed-settings">192<h4 id="distribute-through-managed-settings">

193 Distribuire tramite impostazioni gestite193 Distribuire tramite impostazioni gestite


206 206 

207Aggiungete le variabili condizionali dalla tabella allo stesso blocco `env`. Un `ANTHROPIC_BASE_URL` gestito è applicato e non può essere sovrascritto da un'esportazione di shell di uno sviluppatore, poiché Claude Code lo applica sopra l'ambiente del processo e le impostazioni di priorità inferiore.207Aggiungete le variabili condizionali dalla tabella allo stesso blocco `env`. Un `ANTHROPIC_BASE_URL` gestito è applicato e non può essere sovrascritto da un'esportazione di shell di uno sviluppatore, poiché Claude Code lo applica sopra l'ambiente del processo e le impostazioni di priorità inferiore.

208 208 

209Non includete `forceLoginMethod` o `forceLoginOrgUUID` nelle impostazioni gestite insieme a una credenziale gateway. Su Claude Code v2.1.146 e successivi, una delle due chiavi blocca `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` e `apiKeyHelper` all'avvio, in modo che gli sviluppatori vedano `This machine's managed settings require a first-party login` e non possano procedere. {/* min-version: 2.1.146 */}209Non includete `forceLoginMethod` o `forceLoginOrgUUID` nelle impostazioni gestite insieme a una credenziale gateway. Su Claude Code v2.1.146 e successivi, una delle due chiavi, con qualsiasi valore, blocca `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` e `apiKeyHelper` all'avvio, in modo che gli sviluppatori vedano `This machine's managed settings require a first-party login` e non possano procedere. {/* min-version: 2.1.146 */}

210 210 

211La consegna di [impostazioni gestite dal server](/it/server-managed-settings#platform-availability) richiede una connessione diretta a `api.anthropic.com`, quindi non raggiunge le sessioni instradate dal gateway. Le distribuzioni gateway utilizzano questo percorso di impostazioni gestite basato su file, che applica le stesse chiavi.211La consegna di [impostazioni gestite dal server](/it/server-managed-settings#platform-availability) richiede una connessione diretta a `api.anthropic.com`, quindi non raggiunge le sessioni instradate dal gateway. Le distribuzioni gateway utilizzano questo percorso di impostazioni gestite basato su file, che applica le stesse chiavi.

212 212 

mcp.md +66 −34

Details

111 111 

112I server stdio vengono eseguiti come processi locali sulla vostra macchina. Sono ideali per strumenti che necessitano di accesso diretto al sistema o script personalizzati.112I server stdio vengono eseguiti come processi locali sulla vostra macchina. Sono ideali per strumenti che necessitano di accesso diretto al sistema o script personalizzati.

113 113 

114Claude Code imposta `CLAUDE_PROJECT_DIR` nell'ambiente del server generato alla radice del progetto, in modo che il vostro server possa risolvere i percorsi relativi al progetto senza dipendere dalla directory di lavoro. Questa è la stessa directory che gli hook ricevono nella loro variabile `CLAUDE_PROJECT_DIR`. Leggetela dall'interno del vostro processo server, ad esempio `process.env.CLAUDE_PROJECT_DIR` in Node o `os.environ["CLAUDE_PROJECT_DIR"]` in Python. Il vostro server può anche chiamare la richiesta MCP `roots/list`, che restituisce la directory da cui Claude Code è stato avviato.114Claude Code imposta `CLAUDE_PROJECT_DIR` nell'ambiente del server generato alla radice del progetto, in modo che il vostro server possa risolvere i percorsi relativi al progetto senza dipendere dalla directory di lavoro. Questa è la stessa directory che gli hook ricevono nella loro variabile `CLAUDE_PROJECT_DIR`. Leggetela dall'interno del vostro processo server, ad esempio `process.env.CLAUDE_PROJECT_DIR` in Node o `os.environ["CLAUDE_PROJECT_DIR"]` in Python.

115 

116Il vostro server può anche chiamare la richiesta MCP `roots/list`, che restituisce la directory da cui Claude Code è stato avviato.

115 117 

116Questa variabile è impostata nell'ambiente del server, non nell'ambiente di Claude Code stesso, quindi farvi riferimento tramite l'espansione `${VAR}` in un `.mcp.json` con ambito progetto o utente `command` o `args` richiede un valore predefinito come `${CLAUDE_PROJECT_DIR:-.}`. Le configurazioni MCP fornite da plugin sostituiscono `${CLAUDE_PROJECT_DIR}` direttamente e non hanno bisogno del valore predefinito.118Questa variabile è impostata nell'ambiente del server, non nell'ambiente di Claude Code stesso, quindi farvi riferimento tramite l'espansione `${VAR}` in un `.mcp.json` con ambito progetto o utente `command` o `args` richiede un valore predefinito come `${CLAUDE_PROJECT_DIR:-.}`. Le configurazioni MCP fornite da plugin sostituiscono `${CLAUDE_PROJECT_DIR}` direttamente e non hanno bisogno del valore predefinito.

117 119 


176 178 

177I server con ambito progetto da `.mcp.json` che sono in attesa della vostra approvazione appaiono in `claude mcp list` come `⏸ Pending approval`. Esegui `claude` in modo interattivo per esaminarli e approvarli. `claude mcp get <name>` mostra i server in sospeso come `⏸ Pending approval` e i server rifiutati come `✗ Rejected`.179I server con ambito progetto da `.mcp.json` che sono in attesa della vostra approvazione appaiono in `claude mcp list` come `⏸ Pending approval`. Esegui `claude` in modo interattivo per esaminarli e approvarli. `claude mcp get <name>` mostra i server in sospeso come `⏸ Pending approval` e i server rifiutati come `✗ Rejected`.

178 180 

181A partire dalla v2.1.196, `claude mcp list` e `claude mcp get` leggono le approvazioni `.mcp.json` solo dai file di impostazioni che non sono archiviati nel repository finché non fidate dell'area di lavoro eseguendo `claude` in essa e accettando la finestra di dialogo di trust dell'area di lavoro. Un repository clonato non può approvare i propri server: [`enableAllProjectMcpServers` o `enabledMcpjsonServers`](/it/settings#available-settings) committati nel `.claude/settings.json` del progetto vengono ignorati in una cartella non attendibile, e il server rimane a `⏸ Pending approval` invece di essere connesso e sottoposto a health-check.

182 

183Le approvazioni da queste fonti si applicano ancora in una cartella non attendibile:

184 

185* il vostro `~/.claude/settings.json` utente

186* impostazioni gestite

187* impostazioni passate con `--settings`

188* `.claude/settings.local.json`, purché git non lo traccia

189 

190Una voce `disabledMcpjsonServers` in qualsiasi file di impostazioni rifiuta comunque il server.

191 

179Il pannello `/mcp` mostra il conteggio degli strumenti accanto a ogni server connesso e contrassegna i server che pubblicizzano la capacità degli strumenti ma non espongono alcuno strumento.192Il pannello `/mcp` mostra il conteggio degli strumenti accanto a ogni server connesso e contrassegna i server che pubblicizzano la capacità degli strumenti ma non espongono alcuno strumento.

180 193 

181Se la vostra richiesta ha bisogno di strumenti da un server che è ancora in fase di connessione in background, Claude attende quel server prima di continuare. Con la [ricerca degli strumenti](#scale-with-mcp-tool-search) abilitata, che è l'impostazione predefinita, l'attesa avviene all'interno della chiamata `ToolSearch`. Nelle configurazioni senza ricerca degli strumenti, come Vertex AI, un `ANTHROPIC_BASE_URL` personalizzato, o `ENABLE_TOOL_SEARCH=false`, Claude utilizza lo strumento `WaitForMcpServers` invece.194Se la vostra richiesta ha bisogno di strumenti da un server che è ancora in fase di connessione in background, Claude attende quel server prima di continuare. Con la [ricerca degli strumenti](#scale-with-mcp-tool-search) abilitata, che è l'impostazione predefinita, l'attesa avviene all'interno della chiamata `ToolSearch`. Nelle configurazioni senza ricerca degli strumenti, come Vertex AI, un `ANTHROPIC_BASE_URL` personalizzato, o `ENABLE_TOOL_SEARCH=false`, Claude utilizza lo strumento `WaitForMcpServers` invece.


208 Suggerimenti:221 Suggerimenti:

209 222 

210 * Utilizza il flag `--scope` per specificare dove viene archiviata la configurazione:223 * Utilizza il flag `--scope` per specificare dove viene archiviata la configurazione:

211 * `local` (predefinito): Disponibile solo per voi nel progetto corrente (era chiamato `project` nelle versioni precedenti)224 * `local` (predefinito): disponibile solo per voi nel progetto corrente. Le versioni precedenti chiamavano questo ambito `project`

212 * `project`: Condiviso con tutti nel progetto tramite il file `.mcp.json`225 * `project`: condiviso con tutti nel progetto tramite il file `.mcp.json`

213 * `user`: Disponibile per voi in tutti i progetti (era chiamato `global` nelle versioni precedenti)226 * `user`: disponibile per voi in tutti i progetti. Le versioni precedenti chiamavano questo ambito `global`

214 * Imposta le variabili di ambiente con i flag `--env` (per esempio, `--env KEY=value`)227 * Imposta le variabili di ambiente con i flag `--env` (per esempio, `--env KEY=value`)

215 * Configura il timeout di avvio del server MCP utilizzando la variabile di ambiente MCP\_TIMEOUT (per esempio, `MCP_TIMEOUT=10000 claude` imposta un timeout di 10 secondi)228 * Configura il timeout di avvio del server MCP utilizzando la variabile di ambiente `MCP_TIMEOUT` (per esempio, `MCP_TIMEOUT=10000 claude` imposta un timeout di 10 secondi)

216 * Imposta un timeout di esecuzione dello strumento per server aggiungendo un campo `timeout` in millisecondi alla voce `.mcp.json` di quel server, per esempio `"timeout": 600000` per dieci minuti. Questo sostituisce la variabile di ambiente `MCP_TOOL_TIMEOUT` solo per quel server229 * Imposta un timeout di esecuzione dello strumento per server aggiungendo un campo `timeout` in millisecondi alla voce `.mcp.json` di quel server, per esempio `"timeout": 600000` per dieci minuti. Questo sostituisce la variabile di ambiente `MCP_TOOL_TIMEOUT` solo per quel server

217 * Claude Code visualizzerà un avviso quando l'output dello strumento MCP supera 10.000 token. Per aumentare questo limite, imposta la variabile di ambiente `MAX_MCP_OUTPUT_TOKENS` (per esempio, `MAX_MCP_OUTPUT_TOKENS=50000`)230 * Claude Code visualizza un avviso quando l'output dello strumento MCP supera 10.000 token. Per aumentare questo limite, imposta la variabile di ambiente `MAX_MCP_OUTPUT_TOKENS` (per esempio, `MAX_MCP_OUTPUT_TOKENS=50000`)

218 * Utilizza `/mcp` per autenticarti con server remoti che richiedono l'autenticazione OAuth 2.0231 * Utilizza `/mcp` per autenticarti con server remoti che richiedono l'autenticazione OAuth 2.0

219</Tip>232</Tip>

220 233 

221Il timeout per server è un limite rigido di wall-clock per chiamata dello strumento, e le notifiche di progresso dal server non lo estendono. I valori inferiori a 1000 sono ignorati e ricadono in `MCP_TOOL_TIMEOUT`, o nel suo valore predefinito di circa 28 ore quando quella variabile non è impostata. {/* min-version: 2.1.162 */}Prima della v2.1.162, i valori inferiori a 1000 erano arrotondati a un secondo. Per i server HTTP e SSE, il budget del primo byte per richiesta fetch ha un minimo di 60 secondi.234Il timeout per server è un limite rigido di wall-clock per chiamata dello strumento, e le notifiche di progresso dal server non lo estendono. I valori inferiori a 1000 sono ignorati e ricadono in `MCP_TOOL_TIMEOUT`, o nel suo valore predefinito di circa 28 ore quando quella variabile non è impostata. {/* min-version: 2.1.162 */}Prima della v2.1.162, i valori inferiori a 1000 erano arrotondati a un secondo.

235 

236Per i server HTTP e SSE, il budget del primo byte per richiesta fetch ha un minimo di 60 secondi.

222 237 

223A partire dalla v2.1.187, una chiamata dello strumento a un server HTTP remoto, SSE, WebSocket, o [connettore claude.ai](#use-mcp-servers-from-claude-ai) che non invia alcuna risposta e nessuna notifica di progresso per 5 minuti si interrompe con un errore invece di attendere il limite di wall-clock. Imposta la variabile di ambiente [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/it/env-vars) in millisecondi per modificare la finestra di inattività, o impostala su `0` per disabilitare il controllo. I server stdio sono processi locali e non sono soggetti al timeout di inattività.238A partire dalla v2.1.187, una chiamata dello strumento a un server HTTP remoto, SSE, WebSocket, o [connettore claude.ai](#use-mcp-servers-from-claude-ai) che non invia alcuna risposta e nessuna notifica di progresso per 5 minuti si interrompe con un errore invece di attendere il limite di wall-clock. Imposta la variabile di ambiente [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/it/env-vars) in millisecondi per modificare la finestra di inattività, o impostala su `0` per disabilitare il controllo. I server stdio sono processi locali e non sono soggetti al timeout di inattività.

224 239 


233* I plugin definiscono i server MCP in `.mcp.json` nella radice del plugin o inline in `plugin.json`248* I plugin definiscono i server MCP in `.mcp.json` nella radice del plugin o inline in `plugin.json`

234* Quando un plugin è abilitato, i suoi server MCP si avviano automaticamente249* Quando un plugin è abilitato, i suoi server MCP si avviano automaticamente

235* Gli strumenti MCP del plugin appaiono insieme agli strumenti MCP configurati manualmente250* Gli strumenti MCP del plugin appaiono insieme agli strumenti MCP configurati manualmente

236* I server dei plugin vengono gestiti tramite l'installazione del plugin (non tramite comandi `/mcp`)251* I server dei plugin vengono gestiti tramite l'installazione del plugin, non tramite comandi `/mcp`

237 252 

238**Esempio di configurazione MCP del plugin**:253**Esempio di configurazione MCP del plugin**:

239 254 


269 284 

270**Funzionalità MCP del plugin**:285**Funzionalità MCP del plugin**:

271 286 

272* **Ciclo di vita automatico**: All'avvio della sessione, i server per i plugin abilitati si connettono automaticamente. Se abilitate o disabilitate un plugin durante una sessione, eseguite `/reload-plugins` per connettere o disconnettere i suoi server MCP287* **Ciclo di vita automatico**: all'avvio della sessione, i server per i plugin abilitati si connettono automaticamente. Se abilitate o disabilitate un plugin durante una sessione, eseguite `/reload-plugins` per connettere o disconnettere i suoi server MCP

273* **Variabili di ambiente**: Utilizza `${CLAUDE_PLUGIN_ROOT}` per i file del plugin raggruppati, `${CLAUDE_PLUGIN_DATA}` per lo [stato persistente](/it/plugins-reference#persistent-data-directory) che sopravvive agli aggiornamenti del plugin, e `${CLAUDE_PROJECT_DIR}` per la radice stabile del progetto288* **Variabili di ambiente**: Utilizza `${CLAUDE_PLUGIN_ROOT}` per i file del plugin raggruppati, `${CLAUDE_PLUGIN_DATA}` per lo [stato persistente](/it/plugins-reference#persistent-data-directory) che sopravvive agli aggiornamenti del plugin, e `${CLAUDE_PROJECT_DIR}` per la radice stabile del progetto

274* **Accesso alle variabili di ambiente dell'utente**: Accesso alle stesse variabili di ambiente dei server configurati manualmente289* **Accesso alle variabili di ambiente dell'utente**: accesso alle stesse variabili di ambiente dei server configurati manualmente

275* **Tipi di trasporto multipli**: Supporto per trasporti stdio, SSE, HTTP e WebSocket (il supporto del trasporto può variare a seconda del server)290* **Tipi di trasporto multipli**: supporto per trasporti stdio, SSE, HTTP e WebSocket, anche se il supporto del trasporto può variare a seconda del server

276 291 

277**Visualizzazione dei server MCP del plugin**:292**Visualizzazione dei server MCP del plugin**:

278 293 


295 310 

296**Vantaggi dei server MCP dei plugin**:311**Vantaggi dei server MCP dei plugin**:

297 312 

298* **Distribuzione raggruppata**: Strumenti e server confezionati insieme313* **Distribuzione raggruppata**: strumenti e server confezionati insieme

299* **Configurazione automatica**: Nessuna configurazione MCP manuale necessaria314* **Configurazione automatica**: nessuna configurazione MCP manuale necessaria

300* **Coerenza del team**: Tutti ottengono gli stessi strumenti quando il plugin è installato315* **Coerenza del team**: tutti ottengono gli stessi strumenti quando il plugin è installato

301 316 

302Vedi il [riferimento dei componenti del plugin](/it/plugins-reference#mcp-servers) per i dettagli su come raggruppare i server MCP con i plugin.317Vedi il [riferimento dei componenti del plugin](/it/plugins-reference#mcp-servers) per i dettagli su come raggruppare i server MCP con i plugin.

303 318 


408 423 

409**Sintassi supportata:**424**Sintassi supportata:**

410 425 

411* `${VAR}` - Si espande al valore della variabile di ambiente `VAR`426* `${VAR}`: si espande al valore della variabile di ambiente `VAR`

412* `${VAR:-default}` - Si espande a `VAR` se impostato, altrimenti utilizza `default`427* `${VAR:-default}`: si espande a `VAR` se impostato, altrimenti utilizza `default`

413 428 

414**Posizioni di espansione:**429**Posizioni di espansione:**

415Le variabili di ambiente possono essere espanse in:430Le variabili di ambiente possono essere espanse in:

416 431 

417* `command` - Il percorso dell'eseguibile del server432* `command`: il percorso dell'eseguibile del server

418* `args` - Argomenti della riga di comando433* `args`: argomenti della riga di comando

419* `env` - Variabili di ambiente passate al server434* `env`: variabili di ambiente passate al server

420* `url` - Per i tipi di server HTTP435* `url`: per i tipi di server HTTP

421* `headers` - Per l'autenticazione del server HTTP436* `headers`: per l'autenticazione del server HTTP

422 437 

423**Esempio con espansione di variabili:**438**Esempio con espansione di variabili:**

424 439 


524 539 

525Molti server MCP basati su cloud richiedono l'autenticazione. Claude Code supporta OAuth 2.0 per connessioni sicure.540Molti server MCP basati su cloud richiedono l'autenticazione. Claude Code supporta OAuth 2.0 per connessioni sicure.

526 541 

527Claude Code contrassegna un server remoto come richiedente autenticazione quando il server risponde con `401 Unauthorized` o `403 Forbidden`. Uno di questi codici di stato contrassegna il server in `/mcp` in modo che tu possa completare il flusso OAuth. Un server personalizzato che restituisce un'intestazione `WWW-Authenticate` che punta al suo server di autorizzazione ottiene la stessa scoperta automatica di qualsiasi altro server remoto.542Claude Code contrassegna un server remoto come richiedente autenticazione quando il server risponde con `401 Unauthorized` o `403 Forbidden`. Uno di questi codici di stato contrassegna il server in `/mcp` in modo che tu possa completare il flusso OAuth.

543 

544A partire da v2.1.195, quando un aggiornamento del token non riesce perché il server rifiuta il token di aggiornamento archiviato, Claude Code mostra immediatamente un avviso che punta a `/mcp`. Il menu del server connesso lì offre Re-authenticate, in modo che tu possa accedere di nuovo prima che la prossima chiamata dello strumento non riesca.

545 

546Un server personalizzato che restituisce un'intestazione `WWW-Authenticate` che punta al suo server di autorizzazione ottiene la stessa scoperta automatica di qualsiasi altro server remoto.

547 

548A partire da v2.1.193, Claude Code mostra anche un avviso di avvio quando uno o più server configurati richiedono l'autenticazione, quindi non è necessario aprire `/mcp` per scoprire quali server richiedono l'accesso.

549 

550In modalità non interattiva non c'è un pannello `/mcp`, quindi Claude Code non può eseguire il flusso OAuth per te. A partire da v2.1.196, quando un server configurato richiede l'autenticazione durante un'esecuzione `claude -p` o Agent SDK con [ricerca degli strumenti](#scale-with-mcp-tool-search) abilitata, che è l'impostazione predefinita, Claude Code comunica a Claude che gli strumenti del server non sono disponibili fino a quando non lo autorizzi. Claude può quindi nominare il server che richiede l'accesso invece di rispondere come se il server non fosse configurato. Completa l'accesso da una sessione interattiva con `/mcp` o `claude mcp login <name>`.

528 551 

529Se hai configurato `headers.Authorization` per il server e il server rifiuta quell'intestazione, Claude Code segnala la connessione come non riuscita invece di ricorrere a OAuth. Verifica che il token sia valido per l'endpoint MCP, oppure rimuovi l'intestazione per utilizzare il flusso OAuth.552Se hai configurato `headers.Authorization` per il server e il server rifiuta quell'intestazione, Claude Code segnala la connessione come non riuscita invece di ricorrere a OAuth. Verifica che il token sia valido per l'endpoint MCP, oppure rimuovi l'intestazione per utilizzare il flusso OAuth.

530 553 


710 733 

711`oauth.scopes` ha la precedenza sia su `authServerMetadataUrl` che sugli ambiti che il server scopre su `/.well-known`. Lascialo non impostato per consentire al server MCP di determinare l'insieme di ambiti richiesti.734`oauth.scopes` ha la precedenza sia su `authServerMetadataUrl` che sugli ambiti che il server scopre su `/.well-known`. Lascialo non impostato per consentire al server MCP di determinare l'insieme di ambiti richiesti.

712 735 

736A partire da v2.1.196, quando `oauth.scopes` non è impostato, Claude Code richiede l'ambito fornito dall'intestazione `WWW-Authenticate` del server o dai suoi metadati della risorsa protetta, e non invia alcun parametro `scope` quando nessuno dei due lo fornisce. Non richiede più il catalogo completo di `scopes_supported` dai metadati del server di autorizzazione scoperto automaticamente. La richiesta di quel catalogo ha fatto sì che i provider di identità che pubblicizzano ambiti solo amministratore o modello rifiutassero la richiesta di autorizzazione con un errore `invalid_scope`. I metadati recuperati da un `authServerMetadataUrl` configurato forniscono comunque il loro `scopes_supported` come ambiti richiesti.

737 

713Se il server di autorizzazione pubblicizza `offline_access` in `scopes_supported`, Claude Code lo aggiunge agli ambiti fissati in modo che il token di accesso possa essere aggiornato senza un nuovo accesso al browser.738Se il server di autorizzazione pubblicizza `offline_access` in `scopes_supported`, Claude Code lo aggiunge agli ambiti fissati in modo che il token di accesso possa essere aggiornato senza un nuovo accesso al browser.

714 739 

715Se il server successivamente restituisce un 403 `insufficient_scope` per una chiamata di strumento, Claude Code si autentica di nuovo con gli stessi ambiti fissati. Amplia `oauth.scopes` quando uno strumento di cui hai bisogno richiede un ambito al di fuori del pin.740Se il server successivamente restituisce un 403 `insufficient_scope` per una chiamata di strumento, Claude Code si autentica di nuovo con gli stessi ambiti fissati. Amplia `oauth.scopes` quando uno strumento di cui hai bisogno richiede un ambito al di fuori del pin.


718 Utilizza intestazioni dinamiche per l'autenticazione personalizzata743 Utilizza intestazioni dinamiche per l'autenticazione personalizzata

719</h3>744</h3>

720 745 

721Se il tuo server MCP utilizza uno schema di autenticazione diverso da OAuth (come Kerberos, token di breve durata o un SSO interno), utilizza `headersHelper` per generare intestazioni di richiesta al momento della connessione. Claude Code esegue il comando e unisce il suo output alle intestazioni di connessione.746Se il tuo server MCP utilizza uno schema di autenticazione diverso da OAuth, come Kerberos, token di breve durata o un SSO interno, utilizza `headersHelper` per generare intestazioni di richiesta al momento della connessione. Claude Code esegue il comando e unisce il suo output alle intestazioni di connessione.

722 747 

723```json theme={null}748```json theme={null}

724{749{


752* Il comando viene eseguito in una shell con un timeout di 10 secondi777* Il comando viene eseguito in una shell con un timeout di 10 secondi

753* Le intestazioni dinamiche sovrascrivono qualsiasi `headers` statico con lo stesso nome778* Le intestazioni dinamiche sovrascrivono qualsiasi `headers` statico con lo stesso nome

754 779 

755L'helper viene eseguito di nuovo ad ogni connessione (all'avvio della sessione e alla riconnessione). Non c'è caching, quindi il tuo script è responsabile di qualsiasi riutilizzo di token.780L'helper viene eseguito di nuovo ad ogni connessione, all'avvio della sessione e alla riconnessione. Non c'è caching, quindi il tuo script è responsabile di qualsiasi riutilizzo di token.

781 

782A partire da v2.1.193, se una chiamata di strumento restituisce `401 Unauthorized` o `403 Forbidden`, Claude Code esegue automaticamente di nuovo l'helper, si riconnette con le intestazioni aggiornate e ritenta la chiamata una volta. Claude Code contrassegna il server come richiedente autenticazione in `/mcp` solo se anche quel tentativo non riesce.

756 783 

757Claude Code imposta queste variabili di ambiente quando esegue l'helper:784Claude Code imposta queste variabili di ambiente quando esegue l'helper:

758 785 

759| Variabile | Valore |786| Variabile | Valore |

760| :---------------------------- | :--------------------- |787| :---------------------------- | :---------------------------------------------------------------------------------------------------------------------- |

761| `CLAUDE_CODE_MCP_SERVER_NAME` | il nome del server MCP |788| `CLAUDE_CODE_MCP_SERVER_NAME` | il nome del server MCP |

762| `CLAUDE_CODE_MCP_SERVER_URL` | l'URL del server MCP |789| `CLAUDE_CODE_MCP_SERVER_URL` | l'URL del server MCP |

790| `CLAUDE_PLUGIN_ROOT` | la directory radice del plugin. Impostato solo quando un [plugin](/it/plugins-reference#mcp-servers) fornisce il server |

763 791 

764Utilizza questi per scrivere un singolo script helper che serve più server MCP.792Utilizza questi per scrivere un singolo script helper che serve più server MCP.

765 793 

794Per un server fornito da un plugin, l'helper viene eseguito anche con la sua directory di lavoro impostata sulla radice del plugin, quindi un percorso `headersHelper` relativo si risolve all'interno della directory del plugin piuttosto che rispetto alla directory di lavoro della sessione. Richiede Claude Code v2.1.195 o successiva.

795 

766<Note>796<Note>

767 `headersHelper` esegue comandi shell arbitrari. Quando definito a livello di progetto o locale, viene eseguito solo dopo che accetti la finestra di dialogo di fiducia dell'area di lavoro.797 `headersHelper` esegue comandi shell arbitrari. Quando definito a livello di progetto o locale, viene eseguito solo dopo che accetti la finestra di dialogo di fiducia dell'area di lavoro.

768</Note>798</Note>


841</Tip>871</Tip>

842 872 

843<h2 id="use-mcp-servers-from-claude-ai">873<h2 id="use-mcp-servers-from-claude-ai">

844 Utilizza server MCP da Claude.ai874 Utilizza server MCP da claude.ai

845</h2>875</h2>

846 876 

847Se hai effettuato l'accesso a Claude Code con un account [Claude.ai](https://claude.ai), i server MCP che hai aggiunto in Claude.ai sono automaticamente disponibili in Claude Code:877Se hai effettuato l'accesso a Claude Code con un account [claude.ai](https://claude.ai), i server MCP che hai aggiunto in claude.ai sono automaticamente disponibili in Claude Code:

848 878 

849<Steps>879<Steps>

850 <Step title="Configura server MCP in Claude.ai">880 <Step title="Configura server MCP in claude.ai">

851 Aggiungi server su [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Nei piani Team ed Enterprise, solo gli amministratori possono aggiungere server.881 Aggiungi server su [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Nei piani Team ed Enterprise, solo gli amministratori possono aggiungere server.

852 </Step>882 </Step>

853 883 

854 <Step title="Autentica il server MCP">884 <Step title="Autentica il server MCP">

855 Completa eventuali passaggi di autenticazione richiesti in Claude.ai.885 Completa eventuali passaggi di autenticazione richiesti in claude.ai.

856 </Step>886 </Step>

857 887 

858 <Step title="Visualizza e gestisci i server in Claude Code">888 <Step title="Visualizza e gestisci i server in Claude Code">


862 /mcp892 /mcp

863 ```893 ```

864 894 

865 I server Claude.ai appaiono nell'elenco con indicatori che mostrano che provengono da Claude.ai.895 I server da claude.ai appaiono nell'elenco con indicatori che mostrano che provengono da claude.ai.

866 </Step>896 </Step>

867</Steps>897</Steps>

868 898 

869A partire dalla v2.1.161, i connettori a cui non hai mai effettuato l'accesso sono compressi dietro una riga `Show unused connectors` alla fine della sezione claude.ai, in modo che un elenco fornito dall'organizzazione non riempia il pannello. Seleziona la riga per espanderli. Un connettore a cui hai effettuato l'accesso in precedenza rimane visibile anche quando attualmente necessita di una nuova autenticazione.899A partire dalla v2.1.161, i connettori a cui non hai mai effettuato l'accesso sono compressi dietro una riga `Show unused connectors` alla fine della sezione claude.ai, in modo che un elenco fornito dall'organizzazione non riempia il pannello. Seleziona la riga per espanderli. Un connettore a cui hai effettuato l'accesso in precedenza rimane visibile anche quando attualmente necessita di una nuova autenticazione.

870 900 

871I connettori Claude.ai vengono recuperati solo quando il tuo [metodo di autenticazione](/it/authentication#authentication-precedence) attivo è il tuo abbonamento Claude.ai. Non vengono caricati quando `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, `apiKeyHelper`, o un provider di terze parti come Bedrock o Vertex è attivo, anche se in precedenza hai eseguito `/login`. Se `/mcp` non elenca un connettore che hai aggiunto, esegui `/status` per confermare quale metodo di autenticazione è attivo, annulla l'impostazione di quella variabile di ambiente o rimuovi l'impostazione `apiKeyHelper`, quindi esegui `/login` per selezionare il tuo account Claude.ai.901I connettori da claude.ai vengono recuperati solo quando il tuo [metodo di autenticazione](/it/authentication#authentication-precedence) attivo è il tuo abbonamento claude.ai. Non vengono caricati quando `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, `apiKeyHelper`, o un provider di terze parti come Bedrock o Vertex è attivo, anche se in precedenza hai eseguito `/login`.

902 

903Se `/mcp` non elenca un connettore che hai aggiunto, esegui `/status` per confermare quale metodo di autenticazione è attivo, annulla l'impostazione di quella variabile di ambiente o rimuovi l'impostazione `apiKeyHelper`, quindi esegui `/login` per selezionare il tuo account claude.ai.

872 904 

873Un server che hai aggiunto in Claude Code ha [precedenza](#scope-hierarchy-and-precedence) rispetto a un connettore claude.ai che punta allo stesso URL. Quando ciò accade, `/mcp` elenca il connettore come nascosto e mostra come rimuovere il duplicato se preferisci utilizzare il connettore.905Un server che hai aggiunto in Claude Code ha [precedenza](#scope-hierarchy-and-precedence) rispetto a un connettore claude.ai che punta allo stesso URL. Quando ciò accade, `/mcp` elenca il connettore come nascosto e mostra come rimuovere il duplicato se preferisci utilizzare il connettore.

874 906 


958 990 

959 * Il server fornisce accesso agli strumenti di Claude come View, Edit, LS, ecc.991 * Il server fornisce accesso agli strumenti di Claude come View, Edit, LS, ecc.

960 * In Claude Desktop, prova a chiedere a Claude di leggere file in una directory, fare modifiche e altro ancora.992 * In Claude Desktop, prova a chiedere a Claude di leggere file in una directory, fare modifiche e altro ancora.

961 * Nota che questo server MCP sta solo esponendo gli strumenti di Claude Code al tuo client MCP, quindi il tuo client è responsabile dell'implementazione della conferma dell'utente per le singole chiamate di strumenti.993 * Questo server MCP espone solo gli strumenti di Claude Code al tuo client MCP, quindi il tuo client è responsabile dell'implementazione della conferma dell'utente per le singole chiamate di strumenti.

962</Tip>994</Tip>

963 995 

964<h2 id="mcp-output-limits-and-warnings">996<h2 id="mcp-output-limits-and-warnings">


1087 Per gli autori di server MCP1119 Per gli autori di server MCP

1088</h3>1120</h3>

1089 1121 

1090Se stai costruendo un server MCP, il campo delle istruzioni del server diventa più utile con Tool Search abilitato. Le istruzioni del server aiutano Claude a capire quando cercare i tuoi strumenti, simile a come funzionano le [skills](/it/skills).1122Se stai costruendo un server MCP, il campo delle istruzioni del server diventa più utile con tool search abilitato. Le istruzioni del server aiutano Claude a capire quando cercare i tuoi strumenti, simile a come funzionano le [skills](/it/skills).

1091 1123 

1092Aggiungi istruzioni del server chiare e descrittive che spieghino:1124Aggiungi istruzioni del server chiare e descrittive che spieghino:

1093 1125 


1199 * I prompt MCP vengono scoperti dinamicamente dai server connessi1231 * I prompt MCP vengono scoperti dinamicamente dai server connessi

1200 * Gli argomenti vengono analizzati in base ai parametri definiti del prompt1232 * Gli argomenti vengono analizzati in base ai parametri definiti del prompt

1201 * I risultati del prompt vengono iniettati direttamente nella conversazione1233 * I risultati del prompt vengono iniettati direttamente nella conversazione

1202 * I nomi del server e del prompt vengono normalizzati (gli spazi diventano trattini bassi)1234 * I nomi del server e del prompt vengono normalizzati, con gli spazi convertiti in trattini bassi

1203</Tip>1235</Tip>

1204 1236 

1205<h2 id="managed-mcp-configuration">1237<h2 id="managed-mcp-configuration">

Details

171 171 

172```bash theme={null}172```bash theme={null}

173export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'173export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'

174export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'174export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-5'

175export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'175export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'

176```176```

177 177 

model-config.md +44 −31

Details

30Gli alias dei modelli forniscono un modo conveniente per selezionare le impostazioni del modello senza dover ricordare i numeri di versione esatti:30Gli alias dei modelli forniscono un modo conveniente per selezionare le impostazioni del modello senza dover ricordare i numeri di versione esatti:

31 31 

32| Alias del modello | Comportamento |32| Alias del modello | Comportamento |

33| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |33| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

34| **`default`** | Valore speciale che cancella qualsiasi override del modello e ripristina il modello consigliato per il tipo di account. Non è di per sé un alias del modello |34| **`default`** | Valore speciale che cancella qualsiasi override del modello e ripristina il modello consigliato per il tipo di account. Non è di per sé un alias del modello |

35| **`best`** | Utilizza Fable 5 dove la vostra organizzazione ha accesso, altrimenti il modello Opus più recente |35| **`best`** | Utilizza Fable 5 dove la vostra organizzazione ha accesso, altrimenti il modello Opus più recente |

36| **`fable`** | Utilizza Claude Fable 5 per i vostri compiti più difficili e di lunga durata |36| **`fable`** | Utilizza Claude Fable 5 per i vostri compiti più difficili e di lunga durata |

37| **`sonnet`** | Utilizza il modello Sonnet più recente per le attività di codifica quotidiane |37| **`sonnet`** | Utilizza il modello Sonnet più recente per le attività di codifica quotidiane |

38| **`opus`** | Utilizza il modello Opus più recente per attività di ragionamento complesso |38| **`opus`** | Utilizza il modello Opus più recente per attività di ragionamento complesso |

39| **`haiku`** | Utilizza il modello Haiku veloce ed efficiente per attività semplici |39| **`haiku`** | Utilizza il modello Haiku veloce ed efficiente per attività semplici |

40| **`sonnet[1m]`** | Utilizza Sonnet con una [finestra di contesto di 1 milione di token](https://platform.claude.com/docs/it/build-with-claude/context-windows#1m-token-context-window) per sessioni lunghe |40| **`sonnet[1m]`** | Utilizza Sonnet con una [finestra di contesto di 1 milione di token](https://platform.claude.com/docs/it/build-with-claude/context-windows#1m-token-context-window) per sessioni lunghe. Nessun effetto quando `sonnet` si risolve già in Sonnet 5 con la sua finestra 1M nativa; dietro un [gateway LLM](/it/llm-gateway), seleziona la finestra 1M per Sonnet 5 |

41| **`opus[1m]`** | Utilizza Opus con una [finestra di contesto di 1 milione di token](https://platform.claude.com/docs/it/build-with-claude/context-windows#1m-token-context-window) per sessioni lunghe |41| **`opus[1m]`** | Utilizza Opus con una [finestra di contesto di 1 milione di token](https://platform.claude.com/docs/it/build-with-claude/context-windows#1m-token-context-window) per sessioni lunghe |

42| **`opusplan`** | Modalità speciale che utilizza `opus` durante Plan Mode, quindi passa a `sonnet` per l'esecuzione |42| **`opusplan`** | Modalità speciale che utilizza `opus` durante Plan Mode, quindi passa a `sonnet` per l'esecuzione |

43 43 

44Su API Anthropic, `opus` si risolve in Opus 4.8 e `sonnet` si risolve in Sonnet 4.6. Su [Claude Platform on AWS](/it/claude-platform-on-aws), `opus` si risolve in Opus 4.7 e `sonnet` si risolve in Sonnet 4.6. Su Bedrock, Vertex e Foundry, `opus` si risolve in Opus 4.6 e `sonnet` si risolve in Sonnet 4.5; modelli più recenti sono disponibili su questi provider selezionando il nome del modello completo esplicitamente o impostando `ANTHROPIC_DEFAULT_OPUS_MODEL` o `ANTHROPIC_DEFAULT_SONNET_MODEL`.44Su API Anthropic, `opus` si risolve in Opus 4.8 e `sonnet` si risolve in Sonnet 5. Su [Claude Platform on AWS](/it/claude-platform-on-aws), `opus` si risolve in Opus 4.7 e `sonnet` si risolve in Sonnet 4.6. Su Bedrock, Vertex e Foundry, `opus` si risolve in Opus 4.6 e `sonnet` si risolve in Sonnet 4.5; modelli più recenti sono disponibili su questi provider selezionando il nome del modello completo esplicitamente o impostando `ANTHROPIC_DEFAULT_OPUS_MODEL` o `ANTHROPIC_DEFAULT_SONNET_MODEL`.

45 45 

46Gli alias puntano alla versione consigliata per il provider e si aggiornano nel tempo. Per fissare una versione specifica, utilizzare il nome del modello completo (ad esempio, `claude-opus-4-8`) o impostare la variabile di ambiente corrispondente come `ANTHROPIC_DEFAULT_OPUS_MODEL`.46Gli alias puntano alla versione consigliata per il provider e si aggiornano nel tempo. Per fissare una versione specifica, utilizzare il nome del modello completo, ad esempio `claude-opus-4-8`, o impostare la variabile di ambiente corrispondente come `ANTHROPIC_DEFAULT_OPUS_MODEL`.

47 47 

48<Note>48<Note>

49 Opus 4.8 richiede Claude Code v2.1.154 o successivo. Eseguire `claude update` per aggiornare.49 Sonnet 5 richiede Claude Code v2.1.197 o successivo. Opus 4.8 richiede v2.1.154 o successivo. Eseguire `claude update` per aggiornare.

50</Note>50</Note>

51 51 

52<h3 id="work-with-fable-5">52<h3 id="work-with-fable-5">


74 74 

75È possibile configurare il modello in diversi modi, elencati in ordine di priorità:75È possibile configurare il modello in diversi modi, elencati in ordine di priorità:

76 76 

771. **Durante la sessione** - Utilizzare `/model <alias|name>` per cambiare immediatamente, oppure eseguire `/model` senza argomenti per aprire il selettore. Il selettore chiede conferma quando la conversazione ha output precedente, poiché la risposta successiva rilegge la cronologia completa senza contesto memorizzato nella cache771. **Durante la sessione**: utilizzare `/model <alias|name>` per cambiare immediatamente, oppure eseguire `/model` senza argomenti per aprire il selettore. Il selettore chiede conferma quando la conversazione ha output precedente, poiché la risposta successiva rilegge la cronologia completa senza contesto memorizzato nella cache

782. **All'avvio** - Avviare con `claude --model <alias|name>`782. **All'avvio**: avviare con `claude --model <alias|name>`

793. **Variabile di ambiente** - Impostare `ANTHROPIC_MODEL=<alias|name>`793. **Variabile di ambiente**: impostare `ANTHROPIC_MODEL=<alias|name>`

804. **Impostazioni** - Configurare in modo permanente nel file delle impostazioni utilizzando il campo `model`.804. **Impostazioni**: configurare in modo permanente nel file delle impostazioni utilizzando il campo `model`

81 81 

82A partire dalla v2.1.153, `/model` salva la scelta come predefinita per le nuove sessioni scrivendo il campo `model` nelle impostazioni utente. Nel selettore:82A partire dalla v2.1.153, `/model` salva la scelta come predefinita per le nuove sessioni scrivendo il campo `model` nelle impostazioni utente. Nel selettore:

83 83 


92 92 

93Le sessioni riprese avviate con `claude --resume`, `--continue`, o il selettore `/resume` mantengono il modello che stavano utilizzando quando la trascrizione è stata salvata, indipendentemente dall'impostazione `model` corrente. Se quel modello è stato ritirato o è escluso da [`availableModels`](#restrict-model-selection), la sessione ricade nell'ordine di precedenza normale. Questo impedisce che la scelta `/model` di un'altra sessione cambi il modello al ripristino.93Le sessioni riprese avviate con `claude --resume`, `--continue`, o il selettore `/resume` mantengono il modello che stavano utilizzando quando la trascrizione è stata salvata, indipendentemente dall'impostazione `model` corrente. Se quel modello è stato ritirato o è escluso da [`availableModels`](#restrict-model-selection), la sessione ricade nell'ordine di precedenza normale. Questo impedisce che la scelta `/model` di un'altra sessione cambi il modello al ripristino.

94 94 

95Un modello che scegliete per il nuovo avvio con `--model` o `ANTHROPIC_MODEL` ha ancora la precedenza sul modello ripristinato. {/* min-version: 2.1.195 */}A partire dalla v2.1.195, così come una variabile della famiglia [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables).

96 

95Quando il modello attivo all'avvio proviene dalle impostazioni del progetto o gestite piuttosto che dalla propria selezione, l'intestazione di avvio mostra quale file di impostazioni lo ha impostato. Eseguire `/model` per eseguire l'override; l'impostazione del progetto o gestita si riapplica al prossimo avvio.97Quando il modello attivo all'avvio proviene dalle impostazioni del progetto o gestite piuttosto che dalla propria selezione, l'intestazione di avvio mostra quale file di impostazioni lo ha impostato. Eseguire `/model` per eseguire l'override; l'impostazione del progetto o gestita si riapplica al prossimo avvio.

96 98 

97Quando il modello richiesto ha una data di ritiro programmata o viene automaticamente rimappato a una versione più recente, Claude Code mostra un avviso che nomina il modello richiesto. Le sessioni interattive lo mostrano come un avviso di avvio. A partire dalla v2.1.182, lo stesso avviso viene scritto su stderr in [modalità non interattiva](/it/headless) quando si utilizza il formato di output di testo predefinito. Il controllo copre anche un `model` impostato nel [frontmatter del subagent](/it/sub-agents). L'avviso su stderr è soppresso per `--output-format json` e `stream-json`; leggere il modello effettivo dal campo `modelUsage` del [messaggio di risultato](/it/headless#get-structured-output) invece.99Quando il modello richiesto ha una data di ritiro programmata o viene automaticamente rimappato a una versione più recente, Claude Code mostra un avviso che nomina il modello richiesto. Le sessioni interattive lo mostrano come un avviso di avvio. A partire dalla v2.1.182, lo stesso avviso viene scritto su stderr in [modalità non interattiva](/it/headless) quando si utilizza il formato di output di testo predefinito. Il controllo copre anche un `model` impostato nel [frontmatter del subagent](/it/sub-agents). L'avviso su stderr è soppresso per `--output-format json` e `stream-json`; leggere il modello effettivo dal campo `modelUsage` del [messaggio di risultato](/it/headless#get-structured-output) invece.


192 Controllare il modello su cui gli utenti eseguono194 Controllare il modello su cui gli utenti eseguono

193</h3>195</h3>

194 196 

195L'impostazione `model` è una selezione iniziale, non un'applicazione. Imposta quale modello è attivo quando una sessione inizia, ma gli utenti possono comunque aprire `/model` e scegliere Predefinito, che si risolve al valore predefinito del sistema per il loro livello indipendentemente da ciò che `model` è impostato, a meno che [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) non lo reindizzi.197L'impostazione `model` è una selezione iniziale, non un'applicazione. Imposta quale modello è attivo quando una sessione inizia, ma gli utenti possono comunque aprire `/model` e scegliere Predefinito, che si risolve al valore predefinito di runtime del sistema [in base al livello di sottoscrizione dell'utente](#default-model-setting) indipendentemente da ciò che `model` è impostato, a meno che [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) non lo reindizzi.

196 198 

197Per controllare completamente l'esperienza del modello, combinare queste impostazioni:199Per controllare completamente l'esperienza del modello, combinare queste impostazioni:

198 200 


234 Restrizioni del modello dell'organizzazione236 Restrizioni del modello dell'organizzazione

235</h3>237</h3>

236 238 

237Utilizzare l'interruttore della Console invece di `availableModels` quando i vostri membri si autenticano tramite l'API Anthropic e desiderate un interruttore a livello di organizzazione senza distribuire file di impostazioni. Gli amministratori dell'organizzazione limitano quali modelli i membri possono eseguire disabilitando i singoli modelli nella Claude Console. Questa restrizione viene consegnata con i diritti dell'account quando Claude Code si autentica, separata da qualsiasi elenco `availableModels` nelle impostazioni, e il server applica la stessa restrizione indipendentemente quando una sessione viene creata. Richiede Claude Code v2.1.187 o successivo.239Gli amministratori dell'organizzazione limitano quali modelli i membri possono eseguire disabilitando i singoli modelli nella Claude Console. Utilizzare l'interruttore della Console invece di `availableModels` quando i vostri membri si autenticano tramite l'API Anthropic e desiderate un interruttore a livello di organizzazione senza distribuire file di impostazioni. Questa restrizione viene consegnata con i diritti dell'account quando Claude Code si autentica, separata da qualsiasi elenco `availableModels` nelle impostazioni, e il server applica la stessa restrizione indipendentemente quando una sessione viene creata. Richiede Claude Code v2.1.187 o successivo.

238 240 

239Un modello limitato è nascosto dal selettore `/model`. Selezionarlo per nome con `--model`, la variabile di ambiente `ANTHROPIC_MODEL` o l'impostazione `model` mostra l'avviso `Model "<name>" is restricted by your organization's settings. Using <model> instead.` e la sessione inizia su un modello consentito. Digitare `/model <name>` per un modello limitato viene rifiutato con `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` e la sessione mantiene il suo modello attuale.241Un modello limitato è nascosto dal selettore `/model`. Selezionarlo per nome con `--model`, la variabile di ambiente `ANTHROPIC_MODEL` o l'impostazione `model` mostra l'avviso `Model "<name>" is restricted by your organization's settings. Using <model> instead.` e la sessione inizia su un modello consentito. Digitare `/model <name>` per un modello limitato viene rifiutato con `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` e la sessione mantiene il suo modello attuale.

240 242 


252 254 

253* **Max, Team Premium, Enterprise pay-as-you-go e API Anthropic**: per impostazione predefinita Opus 4.8255* **Max, Team Premium, Enterprise pay-as-you-go e API Anthropic**: per impostazione predefinita Opus 4.8

254* **Claude Platform su AWS**: per impostazione predefinita Opus 4.7256* **Claude Platform su AWS**: per impostazione predefinita Opus 4.7

255* **Pro, Team Standard e posti di abbonamento Enterprise**: per impostazione predefinita Sonnet 4.6257* **Pro, Team Standard e posti di abbonamento Enterprise**: per impostazione predefinita Sonnet 5

256* **Bedrock, Vertex e Foundry**: per impostazione predefinita Sonnet 4.5258* **Bedrock, Vertex e Foundry**: per impostazione predefinita Sonnet 4.5

257 259 

258Enterprise pay-as-you-go significa un'organizzazione Enterprise fatturata per utilizzo piuttosto che per posto di abbonamento.260Enterprise pay-as-you-go significa un'organizzazione Enterprise fatturata per utilizzo piuttosto che per posto di abbonamento.


267 269 

268L'alias del modello `opusplan` fornisce un approccio ibrido automatizzato:270L'alias del modello `opusplan` fornisce un approccio ibrido automatizzato:

269 271 

270* **In Plan Mode** - Utilizza `opus` per il ragionamento complesso e le decisioni architettoniche272* **In Plan Mode**: utilizza `opus` per il ragionamento complesso e le decisioni architettoniche

271* **In modalità esecuzione** - Passa automaticamente a `sonnet` per la generazione di codice e l'implementazione273* **In modalità esecuzione**: passa automaticamente a `sonnet` per la generazione di codice e l'implementazione

272 274 

273Questo vi dà il meglio di entrambi i mondi: il ragionamento superiore di Opus per la pianificazione e l'efficienza di Sonnet per l'esecuzione.275Questo abbina il ragionamento di Opus per la pianificazione con l'efficienza di Sonnet per l'esecuzione.

274 276 

275La fase Opus in Plan Mode utilizza la stessa finestra di contesto dell'impostazione del modello `opus`. Sui livelli di abbonamento in cui Opus viene [automaticamente aggiornato a contesto 1M](#extended-context), `opusplan` riceve l'aggiornamento anche in Plan Mode. Per forzare il contesto 1M per entrambe le fasi quando non siete su un livello di aggiornamento automatico, impostare il modello su `opusplan[1m]`.277La fase Opus in Plan Mode utilizza la stessa finestra di contesto dell'impostazione del modello `opus`. Sui livelli di abbonamento in cui Opus viene [automaticamente aggiornato a contesto 1M](#extended-context), `opusplan` riceve l'aggiornamento anche in Plan Mode. Per forzare il contesto 1M per entrambe le fasi quando non siete su un livello di aggiornamento automatico, impostare il modello su `opusplan[1m]`.

276 278 


296 298 

297```json theme={null}299```json theme={null}

298{300{

299 "fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]301 "fallbackModel": ["claude-sonnet-5", "claude-haiku-4-5"]

300}302}

301```303```

302 304 


368I livelli di sforzo disponibili dipendono dal modello. I modelli non elencati qui non supportano lo sforzo:370I livelli di sforzo disponibili dipendono dal modello. I modelli non elencati qui non supportano lo sforzo:

369 371 

370| Modello | Livelli |372| Modello | Livelli |

371| :-------------------- | :-------------------------------------- |373| :---------------------------- | :-------------------------------------- |

372| Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |374| Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

373| Opus 4.8 e Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |375| Sonnet 5, Opus 4.8 e Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

374| Opus 4.6 e Sonnet 4.6 | `low`, `medium`, `high`, `max` |376| Opus 4.6 e Sonnet 4.6 | `low`, `medium`, `high`, `max` |

375 377 

376Se impostate un livello che il modello attivo non supporta, Claude Code ricade al livello supportato più alto pari o inferiore a quello impostato. Ad esempio, `xhigh` viene eseguito come `high` su Opus 4.6.378Se impostate un livello che il modello attivo non supporta, Claude Code ricade al livello supportato più alto pari o inferiore a quello impostato. Ad esempio, `xhigh` viene eseguito come `high` su Opus 4.6.

377 379 

378Lo sforzo predefinito è `high` su Fable 5, Opus 4.8, Opus 4.6 e Sonnet 4.6, e `xhigh` su Opus 4.7.380Lo sforzo predefinito è `high` su Fable 5, Sonnet 5, Opus 4.8, Opus 4.6 e Sonnet 4.6, e `xhigh` su Opus 4.7.

379 381 

380Quando eseguite Fable 5, Opus 4.8 o Opus 4.7 per la prima volta, Claude Code applica lo sforzo predefinito di quel modello anche se avete precedentemente impostato un livello diverso per un altro modello: `high` su Fable 5 e Opus 4.8, e `xhigh` su Opus 4.7. Eseguite `/effort` di nuovo per scegliere un livello diverso dopo il passaggio.382Quando eseguite Fable 5, Opus 4.8 o Opus 4.7 per la prima volta, Claude Code applica lo sforzo predefinito di quel modello anche se avete precedentemente impostato un livello diverso per un altro modello: `high` su Fable 5 e Opus 4.8, e `xhigh` su Opus 4.7. Eseguite `/effort` di nuovo per scegliere un livello diverso dopo il passaggio.

381 383 


393| :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |395| :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

394| `low` | Riservare per attività brevi, limitate e sensibili alla latenza che non sono sensibili all'intelligenza |396| `low` | Riservare per attività brevi, limitate e sensibili alla latenza che non sono sensibili all'intelligenza |

395| `medium` | Riduce l'utilizzo di token per il lavoro sensibile ai costi che può scambiare un po' di intelligenza |397| `medium` | Riduce l'utilizzo di token per il lavoro sensibile ai costi che può scambiare un po' di intelligenza |

396| `high` | Bilancia l'utilizzo di token e l'intelligenza. Valore predefinito su Fable 5, Opus 4.8, Opus 4.6 e Sonnet 4.6 |398| `high` | Bilancia l'utilizzo di token e l'intelligenza. Valore predefinito su Fable 5, Sonnet 5, Opus 4.8, Opus 4.6 e Sonnet 4.6 |

397| `xhigh` | Ragionamento più profondo con spesa di token più elevata. Valore predefinito su Opus 4.7 |399| `xhigh` | Ragionamento più profondo con spesa di token più elevata. Valore predefinito su Opus 4.7 |

398| `max` | Può migliorare le prestazioni su attività impegnative ma potrebbe mostrare rendimenti decrescenti ed è soggetto a pensiero eccessivo. Testare prima di adottare ampiamente |400| `max` | Può migliorare le prestazioni su attività impegnative ma potrebbe mostrare rendimenti decrescenti ed è soggetto a pensiero eccessivo. Testare prima di adottare ampiamente |

399| `ultracode` | Un'impostazione di Claude Code che pianifica un [flusso di lavoro dinamico](/it/workflows) per ogni attività sostanziale con ragionamento `xhigh` per messaggio. Solo sessione |401| `ultracode` | Un'impostazione di Claude Code che pianifica un [flusso di lavoro dinamico](/it/workflows) per ogni attività sostanziale con ragionamento `xhigh` per messaggio. Solo sessione |


429 431 

430Il ragionamento adattivo rende il pensiero facoltativo ad ogni passo, quindi Claude può rispondere più velocemente ai prompt di routine e riservare un pensiero più profondo per i passi che ne traggono vantaggio. Se desiderate che Claude pensi più o meno spesso di quanto il livello corrente produce, potete dirlo direttamente nel prompt o in `CLAUDE.md`; il modello risponde a quella guida entro l'impostazione dello sforzo.432Il ragionamento adattivo rende il pensiero facoltativo ad ogni passo, quindi Claude può rispondere più velocemente ai prompt di routine e riservare un pensiero più profondo per i passi che ne traggono vantaggio. Se desiderate che Claude pensi più o meno spesso di quanto il livello corrente produce, potete dirlo direttamente nel prompt o in `CLAUDE.md`; il modello risponde a quella guida entro l'impostazione dello sforzo.

431 433 

432Opus 4.7 e versioni successive utilizzano sempre il ragionamento adattivo, così come Fable 5. La modalità budget di pensiero fisso e `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` non si applicano ad essi.434Fable 5, Sonnet 5 e Opus 4.7 e versioni successive utilizzano sempre il ragionamento adattivo. La modalità budget di pensiero fisso e `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` non si applicano ad essi.

433 435 

434Su Opus 4.6 e Sonnet 4.6, potete impostare `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` per ripristinare il budget di pensiero fisso precedente controllato da `MAX_THINKING_TOKENS`. Vedere [variabili di ambiente](/it/env-vars).436Su Opus 4.6 e Sonnet 4.6, potete impostare `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` per ripristinare il budget di pensiero fisso precedente controllato da `MAX_THINKING_TOKENS`. Vedere [variabili di ambiente](/it/env-vars).

435 437 


453 Contesto esteso455 Contesto esteso

454</h3>456</h3>

455 457 

456Fable 5, Opus 4.6 e versioni successive, e Sonnet 4.6 supportano una [finestra di contesto di 1 milione di token](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) per sessioni lunghe con basi di codice di grandi dimensioni.458Fable 5, Sonnet 5, Opus 4.6 e versioni successive, e Sonnet 4.6 supportano una [finestra di contesto di 1 milione di token](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) per sessioni lunghe con basi di codice di grandi dimensioni.

457 459 

458La disponibilità varia in base al modello e al piano. Nei piani Max, Team ed Enterprise, Opus viene automaticamente aggiornato al contesto 1M senza configurazione aggiuntiva. Questo si applica sia ai posti Team Standard che Team Premium. Su API Anthropic, Fable 5, Opus 4.8 e Opus 4.7 vengono sempre eseguiti con la finestra 1M. Sonnet con contesto 1M non fa parte dell'aggiornamento automatico e richiede [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) su ogni piano di abbonamento, incluso Max.460La disponibilità varia in base al modello e al piano. Su API Anthropic, Fable 5, Sonnet 5, Opus 4.8 e Opus 4.7 vengono sempre eseguiti con la finestra 1M. Nei piani Max, Team ed Enterprise, Opus viene automaticamente aggiornato al contesto 1M senza configurazione aggiuntiva. Questo si applica sia ai posti Team Standard che Team Premium. Sonnet 4.6 con contesto 1M non fa parte dell'aggiornamento automatico e richiede [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) su ogni piano di abbonamento, incluso Max.

459 461 

460| Piano | Opus con contesto 1M | Sonnet con contesto 1M |462| Piano | Opus con contesto 1M | Sonnet 4.6 con contesto 1M |

461| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |463| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |

462| Max, Team ed Enterprise | Incluso nell'abbonamento | Richiede [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |464| Max, Team ed Enterprise | Incluso nell'abbonamento | Richiede [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

463| Pro | Richiede [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Richiede [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |465| Pro | Richiede [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Richiede [crediti di utilizzo](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |


480/model claude-opus-4-8[1m]482/model claude-opus-4-8[1m]

481```483```

482 484 

485<h4 id="sonnet-5-context-window">

486 Finestra di contesto di Sonnet 5

487</h4>

488 

489Su API Anthropic, Sonnet 5 viene sempre eseguito con la finestra di contesto 1M. Non esiste una variante 200K, nessun suffisso `[1m]` da selezionare e nessun credito di utilizzo richiesto su alcun piano. Le sessioni si auto-compattano prima che la finestra si riempia, a circa 967K token per impostazione predefinita; impostare [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/it/env-vars) per scegliere una soglia diversa.

490 

491Due configurazioni limitano invece la finestra a 200K e si auto-compattano a quel limite:

492 

493* **Gateway LLM**: quando `ANTHROPIC_BASE_URL` punta a un [gateway](/it/llm-gateway), Claude Code non può verificare il supporto 1M. Per utilizzare la finestra completa, selezionare Sonnet 5 (1M context) nel selettore di modelli, che corrisponde a `sonnet[1m]`.

494* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: tratta le sessioni Sonnet 5 come aventi una finestra 200K, per le distribuzioni che devono limitare il contesto.

495 

483<h2 id="checking-your-current-model">496<h2 id="checking-your-current-model">

484 Verifica del modello corrente497 Verifica del modello corrente

485</h2>498</h2>

486 499 

487È possibile vedere quale modello stai utilizzando attualmente in diversi modi:500È possibile vedere quale modello stai utilizzando attualmente in due posizioni:

488 501 

4891. Nella [riga di stato](/it/statusline) (se configurata)502* Nella [riga di stato](/it/statusline), se ne hai una configurata

4902. In `/status`, che visualizza anche le informazioni dell'account.503* In `/status`, che visualizza anche le informazioni del tuo account

491 504 

492<h2 id="add-a-custom-model-option">505<h2 id="add-a-custom-model-option">

493 Aggiungere un'opzione di modello personalizzato506 Aggiungere un'opzione di modello personalizzato


498Questo esempio imposta tutte e tre le variabili per rendere selezionabile una distribuzione Opus instradata tramite gateway:511Questo esempio imposta tutte e tre le variabili per rendere selezionabile una distribuzione Opus instradata tramite gateway:

499 512 

500```bash theme={null}513```bash theme={null}

501export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-4-7"514export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-4-8"

502export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"515export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"

503export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"516export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"

504```517```

505 518 

506La voce personalizzata appare in fondo al selettore `/model`. `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` e `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` sono facoltativi. Se omessi, l'ID del modello viene utilizzato come nome e la descrizione per impostazione predefinita è `Custom model (<model-id>)`.519La voce personalizzata appare in fondo al selettore `/model`. `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` e `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` sono facoltativi. Se omessi, l'ID del modello viene utilizzato come nome e la descrizione per impostazione predefinita è `Custom model (<model-id>)`.

507 520 

508Claude Code salta la convalida per l'ID del modello impostato in `ANTHROPIC_CUSTOM_MODEL_OPTION`, quindi è possibile utilizzare qualsiasi stringa che l'endpoint API accetta. Quando [`availableModels`](#restrict-model-selection) è impostato, includere l'ID del modello personalizzato anche nell'elenco di autorizzazione: la voce personalizzata viene filtrata dal selettore e una selezione `--model` di essa viene rifiutata come qualsiasi altro modello escluso. Un ID personalizzato che incorpora un nome di famiglia, come `my-gateway/claude-opus-4-7`, conta come una voce specifica per quella famiglia e disabilita il suo wildcard, quindi elencare anche le versioni che intendete mantenere selezionabili. Vedere [Merge behavior](#merge-behavior).521Claude Code salta la convalida per l'ID del modello impostato in `ANTHROPIC_CUSTOM_MODEL_OPTION`, quindi è possibile utilizzare qualsiasi stringa che l'endpoint API accetta. Quando [`availableModels`](#restrict-model-selection) è impostato, includere l'ID del modello personalizzato anche nell'elenco di autorizzazione: la voce personalizzata viene filtrata dal selettore e una selezione `--model` di essa viene rifiutata come qualsiasi altro modello escluso. Un ID personalizzato che incorpora un nome di famiglia, come `my-gateway/claude-opus-4-8`, conta come una voce specifica per quella famiglia e disabilita il suo wildcard, quindi elencare anche le versioni che intendete mantenere selezionabili. Vedere [Merge behavior](#merge-behavior).

509 522 

510<h2 id="environment-variables">523<h2 id="environment-variables">

511 Variabili di ambiente524 Variabili di ambiente

512</h2>525</h2>

513 526 

514È possibile utilizzare le seguenti variabili di ambiente, che devono essere **nomi di modelli** completi (o equivalenti per il provider API), per controllare i nomi dei modelli a cui gli alias si mappano.527È possibile utilizzare le seguenti variabili di ambiente per controllare i nomi dei modelli a cui gli alias si mappano. Ogni valore deve essere un nome di modello completo, o l'identificatore equivalente per il provider API.

515 528 

516| Variabile di ambiente | Descrizione |529| Variabile di ambiente | Descrizione |

517| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |530| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


555 568 

556* Claude Code rimuove il suffisso prima di inviare l'ID del modello al provider.569* Claude Code rimuove il suffisso prima di inviare l'ID del modello al provider.

557* Aggiungere `[1m]` solo quando il modello sottostante [supporta il contesto 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window).570* Aggiungere `[1m]` solo quando il modello sottostante [supporta il contesto 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window).

558* Il suffisso viene letto per variabile, non per modello. Su Bedrock, Vertex e Foundry, un ID di modello senza `[1m]` in una variabile utilizza il contesto 200K anche se un'altra variabile imposta lo stesso modello con il suffisso.571* Il suffisso viene letto per variabile, non per modello. Su Bedrock, Vertex e Foundry, un ID di modello senza `[1m]` in una variabile utilizza il contesto 200K anche se un'altra variabile imposta lo stesso modello con il suffisso. Sonnet 5 viene sempre eseguito con la finestra 1M su questi provider e non ha mai bisogno del suffisso.

559 572 

560<Note>573<Note>

561 Un elenco di autorizzazione `availableModels` fornito tramite [MDM o un file di impostazioni gestite](/it/settings#settings-files) si applica comunque quando si utilizzano provider di terze parti; [le impostazioni gestite dal server non vengono fornite lì](/it/server-managed-settings#platform-availability). Il filtraggio corrisponde a un alias di modello come `opus`, a un prefisso di versione come `claude-opus-4-8`, o all'ID di modello completo in forma di provider. I prefissi specifici del provider come `us.anthropic.` non vengono rimossi, quindi per consentire un modello specifico, elencare lo stesso ID in forma di provider che il selettore mostra, o mapparlo tramite [`modelOverrides`](#override-model-ids-per-version). Qualsiasi suffisso `[1m]` viene rimosso sia dalla voce dell'elenco di autorizzazione che dal modello richiesto prima della corrispondenza.574 Un elenco di autorizzazione `availableModels` fornito tramite [MDM o un file di impostazioni gestite](/it/settings#settings-files) si applica comunque quando si utilizzano provider di terze parti; [le impostazioni gestite dal server non vengono fornite lì](/it/server-managed-settings#platform-availability). Il filtraggio corrisponde a un alias di modello come `opus`, a un prefisso di versione come `claude-opus-4-8`, o all'ID di modello completo in forma di provider. I prefissi specifici del provider come `us.anthropic.` non vengono rimossi, quindi per consentire un modello specifico, elencare lo stesso ID in forma di provider che il selettore mostra, o mapparlo tramite [`modelOverrides`](#override-model-ids-per-version). Qualsiasi suffisso `[1m]` viene rimosso sia dalla voce dell'elenco di autorizzazione che dal modello richiesto prima della corrispondenza.

Details

93| `OTEL_METRIC_EXPORT_INTERVAL` | Intervallo di esportazione in millisecondi (predefinito: 60000) | `5000`, `60000` |93| `OTEL_METRIC_EXPORT_INTERVAL` | Intervallo di esportazione in millisecondi (predefinito: 60000) | `5000`, `60000` |

94| `OTEL_LOGS_EXPORT_INTERVAL` | Intervallo di esportazione dei log in millisecondi (predefinito: 5000) | `1000`, `10000` |94| `OTEL_LOGS_EXPORT_INTERVAL` | Intervallo di esportazione dei log in millisecondi (predefinito: 5000) | `1000`, `10000` |

95| `OTEL_LOG_USER_PROMPTS` | Abilita la registrazione del contenuto del prompt dell'utente (predefinito: disabilitato) | `1` per abilitare |95| `OTEL_LOG_USER_PROMPTS` | Abilita la registrazione del contenuto del prompt dell'utente (predefinito: disabilitato) | `1` per abilitare |

96| `OTEL_LOG_ASSISTANT_RESPONSES` | Abilita la registrazione del testo della risposta dell'assistente negli eventi `assistant_response` (predefinito: disabilitato). Se non impostato, ricade al valore di `OTEL_LOG_USER_PROMPTS`. {/* min-version: 2.1.193 */}Richiede Claude Code v2.1.193 o successivo | `1` per abilitare, `0` per mantenere redatto |

96| `OTEL_LOG_TOOL_DETAILS` | Abilita la registrazione dei parametri dello strumento e degli argomenti di input negli eventi dello strumento e negli attributi di span di traccia: comandi Bash, nomi dei server MCP e dello strumento, nomi delle skill e input dello strumento. Abilita anche i nomi dei comandi personalizzati, plugin e MCP negli eventi `user_prompt` (predefinito: disabilitato) | `1` per abilitare |97| `OTEL_LOG_TOOL_DETAILS` | Abilita la registrazione dei parametri dello strumento e degli argomenti di input negli eventi dello strumento e negli attributi di span di traccia: comandi Bash, nomi dei server MCP e dello strumento, nomi delle skill e input dello strumento. Abilita anche i nomi dei comandi personalizzati, plugin e MCP negli eventi `user_prompt` (predefinito: disabilitato) | `1` per abilitare |

97| `OTEL_LOG_TOOL_CONTENT` | Abilita la registrazione del contenuto di input e output dello strumento negli eventi di span (predefinito: disabilitato). Richiede [tracce](#traces-beta). Il contenuto viene troncato a 60 KB | `1` per abilitare |98| `OTEL_LOG_TOOL_CONTENT` | Abilita la registrazione del contenuto di input e output dello strumento negli eventi di span (predefinito: disabilitato). Richiede [tracce](#traces-beta). Il contenuto viene troncato a 60 KB | `1` per abilitare |

98| `OTEL_LOG_RAW_API_BODIES` | Emetti il corpo completo della richiesta e della risposta JSON dell'API Anthropic Messages come eventi di log `api_request_body` / `api_response_body` (predefinito: disabilitato). I corpi includono l'intera cronologia della conversazione. L'abilitazione di questa opzione implica il consenso a tutto ciò che `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS`, e `OTEL_LOG_TOOL_CONTENT` rivelerebbero | `1` per corpi inline troncati a 60 KB, o `file:<dir>` per corpi non troncati su disco con un puntatore `body_ref` nell'evento |99| `OTEL_LOG_RAW_API_BODIES` | Emetti il corpo completo della richiesta e della risposta JSON dell'API Anthropic Messages come eventi di log `api_request_body` / `api_response_body` (predefinito: disabilitato). I corpi includono l'intera cronologia della conversazione. L'abilitazione di questa opzione implica il consenso a tutto ciò che `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS`, e `OTEL_LOG_TOOL_CONTENT` rivelerebbero | `1` per corpi inline troncati a 60 KB, o `file:<dir>` per corpi non troncati su disco con un puntatore `body_ref` nell'evento |


341Ogni chiave personalizzata diventa un'etichetta su ogni serie di metriche, quindi i valori ad alta cardinalità aumentano il costo di archiviazione nel tuo backend di metriche. Per inviare attributi personalizzati solo nel blocco di risorse e ometterli dalle etichette dei punti dati, imposta `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Vedi [Controllo della cardinalità delle metriche](#metrics-cardinality-control).342Ogni chiave personalizzata diventa un'etichetta su ogni serie di metriche, quindi i valori ad alta cardinalità aumentano il costo di archiviazione nel tuo backend di metriche. Per inviare attributi personalizzati solo nel blocco di risorse e ometterli dalle etichette dei punti dati, imposta `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Vedi [Controllo della cardinalità delle metriche](#metrics-cardinality-control).

342 343 

343<Warning>344<Warning>

344 **Requisiti di formattazione importanti per OTEL\_RESOURCE\_ATTRIBUTES:**

345 

346 La variabile di ambiente `OTEL_RESOURCE_ATTRIBUTES` utilizza coppie chiave=valore separate da virgola con requisiti di formattazione rigorosi:345 La variabile di ambiente `OTEL_RESOURCE_ATTRIBUTES` utilizza coppie chiave=valore separate da virgola con requisiti di formattazione rigorosi:

347 346 

348 * **Nessuno spazio consentito**: I valori non possono contenere spazi. Ad esempio, `user.organizationName=My Company` non è valido347 * **Nessuno spazio consentito**: i valori non possono contenere spazi. Ad esempio, `user.organizationName=My Company` non è valido

349 * **Formato**: Deve essere coppie chiave=valore separate da virgola: `key1=value1,key2=value2`348 * **Formato**: deve essere coppie chiave=valore separate da virgola: `key1=value1,key2=value2`

350 * **Caratteri consentiti**: Solo caratteri US-ASCII escludendo caratteri di controllo, spazi bianchi, virgolette doppie, virgole, punti e virgola e barre rovesciate349 * **Caratteri consentiti**: solo caratteri US-ASCII escludendo caratteri di controllo, spazi bianchi, virgolette doppie, virgole, punti e virgola e barre rovesciate

351 * **Caratteri speciali**: I caratteri al di fuori dell'intervallo consentito devono essere codificati in percentuale350 * **Caratteri speciali**: i caratteri al di fuori dell'intervallo consentito devono essere codificati in percentuale

352 351 

353 **Esempi:**352 Per un valore che avrebbe bisogno di uno spazio, usa sottolineature o camelCase invece. I seguenti esempi impostano `org.name` con ogni forma:

354 353 

355 ```bash theme={null}354 ```bash theme={null}

356 # ❌ Non valido - contiene spazi

357 export OTEL_RESOURCE_ATTRIBUTES="org.name=John's Organization"

358 

359 # ✅ Valido - usa sottolineature o camelCase invece

360 export OTEL_RESOURCE_ATTRIBUTES="org.name=Johns_Organization"355 export OTEL_RESOURCE_ATTRIBUTES="org.name=Johns_Organization"

361 export OTEL_RESOURCE_ATTRIBUTES="org.name=JohnsOrganization"356 export OTEL_RESOURCE_ATTRIBUTES="org.name=JohnsOrganization"

357 ```

362 358 

363 # Valido - codifica in percentuale i caratteri speciali se necessario359 Puoi codificare in percentuale qualsiasi carattere, non solo quelli esclusi. Questo esempio codifica sia lo spazio che l'apostrofo:

360 

361 ```bash theme={null}

364 export OTEL_RESOURCE_ATTRIBUTES="org.name=John%27s%20Organization"362 export OTEL_RESOURCE_ATTRIBUTES="org.name=John%27s%20Organization"

365 ```363 ```

366 364 

367 Nota: racchiudere i valori tra virgolette non sfugge agli spazi. Ad esempio, `org.name="My Company"` risulta nel valore letterale `"My Company"` (con virgolette incluse), non `My Company`.365 Racchiudere i valori tra virgolette non sfugge agli spazi. Ad esempio, `org.name="My Company"` risulta nel valore letterale `"My Company"` con le virgolette incluse, non `My Company`.

368</Warning>366</Warning>

369 367 

370<h3 id="example-configurations">368<h3 id="example-configurations">


439| `terminal.type` | Tipo di terminale, come `iTerm.app`, `vscode`, `cursor`, o `tmux` | Sempre incluso quando rilevato |437| `terminal.type` | Tipo di terminale, come `iTerm.app`, `vscode`, `cursor`, o `tmux` | Sempre incluso quando rilevato |

440| Chiavi da `OTEL_RESOURCE_ATTRIBUTES` | Attributi personalizzati che imposti, come `department` o `team.id`. Vedi [Supporto per organizzazioni multi-team](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (predefinito: true) |438| Chiavi da `OTEL_RESOURCE_ATTRIBUTES` | Attributi personalizzati che imposti, come `department` o `team.id`. Vedi [Supporto per organizzazioni multi-team](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (predefinito: true) |

441 439 

440Quando Claude Code è connesso a un [gateway di app Claude](/it/claude-apps-gateway), la CLI contrassegna le esportazioni con l'identità autenticata dalla sessione del gateway: `user.id` è il soggetto IdP piuttosto che un identificatore di installazione anonimo, `user.email` è l'email connessa, e `user.groups` contiene l'appartenenza al gruppo IdP come stringa separata da virgole. Ogni esportazione contiene anche `identity.source: gateway-oidc`. L'identità del gateway viene applicata per ultima, quindi le chiavi `user.*` e `identity.*` impostate tramite `OTEL_RESOURCE_ATTRIBUTES` vengono ignorate nelle sessioni del gateway.

441 

442Gli eventi includono inoltre i seguenti attributi. Questi non vengono mai allegati alle metriche perché causerebbero cardinalità illimitata:442Gli eventi includono inoltre i seguenti attributi. Questi non vengono mai allegati alle metriche perché causerebbero cardinalità illimitata:

443 443 

444* `prompt.id`: UUID che correla un prompt dell'utente con tutti gli eventi successivi fino al prompt successivo. Vedi [Attributi di correlazione degli eventi](#event-correlation-attributes).444* `prompt.id`: UUID che correla un prompt dell'utente con tutti gli eventi successivi fino al prompt successivo. Vedi [Attributi di correlazione degli eventi](#event-correlation-attributes).


488 488 

489* Tutti gli [attributi standard](#standard-attributes)489* Tutti gli [attributi standard](#standard-attributes)

490* `type`: (`"added"`, `"removed"`)490* `type`: (`"added"`, `"removed"`)

491* `model`: Identificatore del modello per il modello che ha effettuato la modifica (ad esempio, "claude-sonnet-4-6"). {/* min-version: 2.1.172 */}Richiede Claude Code v2.1.172 o successivo491* `model`: Identificatore del modello per il modello che ha effettuato la modifica (ad esempio, "claude-sonnet-5")

492 492 

493<h4 id="pull-request-counter">493<h4 id="pull-request-counter">

494 Contatore di pull request494 Contatore di pull request


519**Attributi**:519**Attributi**:

520 520 

521* Tutti gli [attributi standard](#standard-attributes)521* Tutti gli [attributi standard](#standard-attributes)

522* `model`: Identificatore del modello (ad esempio, "claude-sonnet-4-6")522* `model`: Identificatore del modello (ad esempio, "claude-sonnet-5")

523* `query_source`: Categoria del sottosistema che ha emesso la richiesta. Uno di `"main"`, `"subagent"`, o `"auxiliary"`523* `query_source`: Categoria del sottosistema che ha emesso la richiesta. Uno di `"main"`, `"subagent"`, o `"auxiliary"`

524* `speed`: `"fast"` quando la richiesta ha utilizzato la modalità veloce. Assente altrimenti524* `speed`: `"fast"` quando la richiesta ha utilizzato la modalità veloce. Assente altrimenti

525* `effort`: [Livello di sforzo](/it/model-config#adjust-effort-level) applicato alla richiesta: `"low"`, `"medium"`, `"high"`, `"xhigh"`, o `"max"`. Assente quando il modello non supporta lo sforzo.525* `effort`: [Livello di sforzo](/it/model-config#adjust-effort-level) applicato alla richiesta: `"low"`, `"medium"`, `"high"`, `"xhigh"`, o `"max"`. Assente quando il modello non supporta lo sforzo.


540 540 

541* Tutti gli [attributi standard](#standard-attributes)541* Tutti gli [attributi standard](#standard-attributes)

542* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)542* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)

543* `model`: Identificatore del modello (ad esempio, "claude-sonnet-4-6")543* `model`: Identificatore del modello (ad esempio, "claude-sonnet-5")

544* `query_source`: Categoria del sottosistema che ha emesso la richiesta. Uno di `"main"`, `"subagent"`, o `"auxiliary"`544* `query_source`: Categoria del sottosistema che ha emesso la richiesta. Uno di `"main"`, `"subagent"`, o `"auxiliary"`

545* `speed`: `"fast"` quando la richiesta ha utilizzato la modalità veloce. Assente altrimenti545* `speed`: `"fast"` quando la richiesta ha utilizzato la modalità veloce. Assente altrimenti

546* `effort`: [Livello di sforzo](/it/model-config#adjust-effort-level) applicato alla richiesta. Vedi [Contatore di costo](#cost-counter) per i dettagli.546* `effort`: [Livello di sforzo](/it/model-config#adjust-effort-level) applicato alla richiesta. Vedi [Contatore di costo](#cost-counter) per i dettagli.


564 Contatore di tempo attivo564 Contatore di tempo attivo

565</h4>565</h4>

566 566 

567Traccia il tempo effettivo trascorso utilizzando attivamente Claude Code, escludendo il tempo di inattività. Questa metrica viene incrementata durante le interazioni dell'utente (digitazione, lettura delle risposte) e durante l'elaborazione CLI (esecuzione degli strumenti, generazione della risposta AI).567Traccia il tempo effettivo trascorso utilizzando attivamente Claude Code, escludendo il tempo di inattività. Questa metrica viene incrementata durante le interazioni dell'utente, come la digitazione e la lettura delle risposte, e durante l'elaborazione CLI, come l'esecuzione degli strumenti e la generazione della risposta AI.

568 568 

569**Attributi**:569**Attributi**:

570 570 


608* `event.timestamp`: Timestamp ISO 8601608* `event.timestamp`: Timestamp ISO 8601

609* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione609* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione

610* `prompt_length`: Lunghezza del prompt610* `prompt_length`: Lunghezza del prompt

611* `prompt`: Contenuto del prompt (redatto per impostazione predefinita, abilita con `OTEL_LOG_USER_PROMPTS=1`)611* `prompt`: Contenuto del prompt. Redatto per impostazione predefinita. Imposta `OTEL_LOG_USER_PROMPTS=1` per includerlo

612* `command_name`: Nome del comando quando il prompt ne invoca uno. I nomi dei comandi incorporati e in bundle come `compact` o `debug` vengono emessi così come sono; gli alias come `reset` vengono emessi come digitati piuttosto che il nome canonico. I nomi dei comandi personalizzati, plugin e MCP si riducono a `custom` o `mcp` a meno che `OTEL_LOG_TOOL_DETAILS=1` non sia impostato612* `command_name`: Nome del comando quando il prompt ne invoca uno. I nomi dei comandi incorporati e in bundle come `compact` o `debug` vengono emessi così come sono; gli alias come `reset` vengono emessi come digitati piuttosto che il nome canonico. I nomi dei comandi personalizzati, plugin e MCP si riducono a `custom` o `mcp` a meno che `OTEL_LOG_TOOL_DETAILS=1` non sia impostato

613* `command_source`: Origine del comando quando presente: `builtin`, `custom`, o `mcp`. I comandi forniti dai plugin vengono segnalati come `custom`613* `command_source`: Origine del comando quando presente: `builtin`, `custom`, o `mcp`. I comandi forniti dai plugin vengono segnalati come `custom`

614 614 

615<h4 id="assistant-response-event">

616 Evento di risposta dell'assistente

617</h4>

618 

619Registrato dopo ogni richiesta API che restituisce contenuto di testo dal modello. Solo i blocchi di testo della risposta sono inclusi; i blocchi di pensiero e i blocchi di utilizzo dello strumento sono esclusi. {/* min-version: 2.1.193 */}Richiede Claude Code v2.1.193 o successivo.

620 

621**Nome evento**: `claude_code.assistant_response`

622 

623**Attributi**:

624 

625* Tutti gli [attributi standard](#standard-attributes)

626* `event.name`: `"assistant_response"`

627* `event.timestamp`: Timestamp ISO 8601

628* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione

629* `response_length`: Lunghezza del testo della risposta in caratteri

630* `response`: Testo della risposta, troncato a 60 KB. Redatto a `<REDACTED>` per impostazione predefinita. Imposta `OTEL_LOG_ASSISTANT_RESPONSES=1` per includerlo. Quando `OTEL_LOG_ASSISTANT_RESPONSES` non è impostato, `OTEL_LOG_USER_PROMPTS` lo controlla invece, quindi imposta `OTEL_LOG_ASSISTANT_RESPONSES=0` per mantenere le risposte redatte mentre la registrazione dei prompt è attiva

631* `model`: Identificatore del modello (ad esempio, "claude-sonnet-4-6")

632* `request_id`: ID della richiesta API Anthropic dall'intestazione `request-id` della risposta. Presente solo quando l'API ne restituisce uno

633* `query_source`: Sottosistema che ha emesso la richiesta, come `"repl_main_thread"`, `"compact"`, o un nome di subagent

634 

615<h4 id="tool-result-event">635<h4 id="tool-result-event">

616 Evento di risultato dello strumento636 Evento di risultato dello strumento

617</h4>637</h4>


632* `duration_ms`: Tempo di esecuzione in millisecondi652* `duration_ms`: Tempo di esecuzione in millisecondi

633* `error_type`: Stringa di categoria di errore quando lo strumento non è riuscito, come `"Error:ENOENT"` o `"ShellError"`653* `error_type`: Stringa di categoria di errore quando lo strumento non è riuscito, come `"Error:ENOENT"` o `"ShellError"`

634* `error` (quando `OTEL_LOG_TOOL_DETAILS=1`): Messaggio di errore completo quando lo strumento non è riuscito654* `error` (quando `OTEL_LOG_TOOL_DETAILS=1`): Messaggio di errore completo quando lo strumento non è riuscito

635* `decision_type`: Sempre `"accept"`, poiché questo evento viene emesso solo dopo l'esecuzione dello strumento (le chiamate rifiutate non producono un risultato dello strumento)655* `decision_type`: Sempre `"accept"`, poiché questo evento viene emesso solo dopo l'esecuzione dello strumento. Le chiamate rifiutate non producono un risultato dello strumento

636* `decision_source`: Fonte della decisione di autorizzazione. Uno di `"config"`, `"hook"`, `"user_permanent"`, o `"user_temporary"`. Vedi l'[Evento di decisione dello strumento](#tool-decision-event) per il significato di ogni valore. Le fonti solo per il rifiuto `"user_abort"` e `"user_reject"` non compaiono mai su questo evento.656* `decision_source`: Fonte della decisione di autorizzazione. Uno di `"config"`, `"hook"`, `"user_permanent"`, o `"user_temporary"`. Vedi l'[Evento di decisione dello strumento](#tool-decision-event) per il significato di ogni valore. Le fonti solo per il rifiuto `"user_abort"` e `"user_reject"` non compaiono mai su questo evento.

637* `tool_input_size_bytes`: Dimensione dell'input dello strumento serializzato in JSON in byte657* `tool_input_size_bytes`: Dimensione dell'input dello strumento serializzato in JSON in byte

638* `tool_result_size_bytes`: Dimensione del risultato dello strumento in byte658* `tool_result_size_bytes`: Dimensione del risultato dello strumento in byte


659* `event.name`: `"api_request"`679* `event.name`: `"api_request"`

660* `event.timestamp`: Timestamp ISO 8601680* `event.timestamp`: Timestamp ISO 8601

661* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione681* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione

662* `model`: Modello utilizzato (ad esempio, "claude-sonnet-4-6")682* `model`: Modello utilizzato (ad esempio, "claude-sonnet-5")

663* `cost_usd`: Costo stimato in USD683* `cost_usd`: Costo stimato in USD

664* `duration_ms`: Durata della richiesta in millisecondi684* `duration_ms`: Durata della richiesta in millisecondi

665* `input_tokens`: Numero di token di input685* `input_tokens`: Numero di token di input


686* `event.name`: `"api_error"`706* `event.name`: `"api_error"`

687* `event.timestamp`: Timestamp ISO 8601707* `event.timestamp`: Timestamp ISO 8601

688* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione708* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione

689* `model`: Modello utilizzato (ad esempio, "claude-sonnet-4-6")709* `model`: Modello utilizzato (ad esempio, "claude-sonnet-5")

690* `error`: Messaggio di errore710* `error`: Messaggio di errore

691* `status_code`: Codice di stato HTTP come numero. Assente per errori non-HTTP come i guasti di connessione.711* `status_code`: Codice di stato HTTP come numero. Assente per errori non-HTTP come i guasti di connessione.

692* `duration_ms`: Durata della richiesta in millisecondi712* `duration_ms`: Durata della richiesta in millisecondi


1156* Consumo di token inusuale1176* Consumo di token inusuale

1157* Alto volume di sessioni da utenti specifici1177* Alto volume di sessioni da utenti specifici

1158 1178 

1159Tutte le metriche possono essere segmentate dagli [attributi standard](#standard-attributes). L'attributo `model` è disponibile su `claude_code.token.usage`, `claude_code.cost.usage`, e {/* min-version: 2.1.172 */}da v2.1.172, `claude_code.lines_of_code.count`. Le suddivisioni per modello dei commit possono essere approssimate solo unendo i dati rispetto alle metriche di token o costo su `session.id`, poiché una sessione può estendersi su più modelli. Filtra il lato token o costo per righe dove `query_source` è `"main"` in modo che le richieste ausiliarie e subagent non attribuiscano i commit della sessione a un modello che non li ha generati.1179Tutte le metriche possono essere segmentate dagli [attributi standard](#standard-attributes). L'attributo `model` è disponibile su `claude_code.token.usage`, `claude_code.cost.usage`, e {/* min-version: 2.1.172 */}da v2.1.172, `claude_code.lines_of_code.count`.

1180 

1181Per-model breakdowns of commits can only be approximated by joining against the token or cost metrics on `session.id`, since one session can span multiple models. Filter the token or cost side to rows where `query_source` is `"main"` so auxiliary and subagent requests don't attribute the session's commits to a model that didn't make them.

1160 1182 

1161<h3 id="detect-retry-exhaustion">1183<h3 id="detect-retry-exhaustion">

1162 Rilevare l'esaurimento dei tentativi1184 Rilevare l'esaurimento dei tentativi


1187 Audit degli eventi di sicurezza1209 Audit degli eventi di sicurezza

1188</h2>1210</h2>

1189 1211 

1190Gli eventi OpenTelemetry sono la fonte di dati di audit per l'attività di Claude Code. Ogni evento porta attributi di identità che collegano le chiamate agli strumenti, l'attività MCP e le decisioni di autorizzazione all'utente che le ha attivate, e l'esportatore di log OTLP può fornire questi eventi a qualsiasi piattaforma SIEM (Security Information and Event Management) con un ricevitore OTLP o a un OpenTelemetry Collector che inoltra al vostro SIEM.1212Gli eventi OpenTelemetry sono la fonte di dati di audit per l'attività di Claude Code. Ogni evento porta attributi di identità che collegano le chiamate agli strumenti, l'attività MCP e le decisioni di autorizzazione all'utente che le ha attivate. L'esportatore di log OTLP può fornire questi eventi a qualsiasi piattaforma SIEM (Security Information and Event Management) con un ricevitore OTLP, o a un OpenTelemetry Collector che inoltra al vostro SIEM.

1191 1213 

1192<h3 id="attribute-actions-to-users">1214<h3 id="attribute-actions-to-users">

1193 Attribuisci le azioni agli utenti1215 Attribuisci le azioni agli utenti

1194</h3>1216</h3>

1195 1217 

1196Gli [attributi standard](#standard-attributes) su ogni evento includono l'identità dell'utente autenticato: `user.email`, `user.account_uuid`, `user.account_id`, e `organization.id` quando accedete con un account Claude, più l'`user.id` con ambito di installazione e il `session.id` per sessione.1218Gli [attributi standard](#standard-attributes) su ogni evento includono l'identità dell'utente autenticato: `user.email`, `user.account_uuid`, `user.account_id`, e `organization.id` quando accedete con un account Claude, più `user.id` e il `session.id` per sessione. `user.id` è un identificatore con ambito di installazione, tranne nelle sessioni [Claude apps gateway](/it/claude-apps-gateway), dove è il soggetto IdP dal token emesso dal gateway.

1197 1219 

1198Le chiamate agli strumenti MCP, i comandi Bash e le modifiche ai file sono quindi attribuite allo sviluppatore che ha avviato la sessione. Claude Code non agisce con un account di servizio separato; l'identità registrata su ogni evento è l'account Claude dello sviluppatore.1220Le chiamate agli strumenti MCP, i comandi Bash e le modifiche ai file sono quindi attribuite allo sviluppatore che ha avviato la sessione. Claude Code non agisce con un account di servizio separato; l'identità registrata su ogni evento è l'account Claude dello sviluppatore, o l'identità IdP dello sviluppatore in una sessione [Claude apps gateway](/it/claude-apps-gateway).

1199 1221 

1200Quando Claude Code si autentica con una chiave API diretta, o contro Bedrock, Vertex AI, o Microsoft Foundry, non c'è un account Claude nella sessione e solo `user.id` e `session.id` vengono popolati. In questi deployment, allegate l'identità dell'utente voi stessi con `OTEL_RESOURCE_ATTRIBUTES`, impostato per utente tramite il file [impostazioni gestite](#administrator-configuration) o un wrapper di avvio:1222Quando Claude Code si autentica con una chiave API diretta, o contro Bedrock, Vertex AI, o Microsoft Foundry, non c'è un account Claude nella sessione e solo `user.id` e `session.id` vengono popolati. In questi deployment, allegate l'identità dell'utente voi stessi con `OTEL_RESOURCE_ATTRIBUTES`, impostato per utente tramite il file [impostazioni gestite](#administrator-configuration) o un wrapper di avvio. Le sessioni Claude apps gateway non hanno bisogno di nulla di tutto questo: la CLI applica l'identità IdP automaticamente, come descritto in [Attributi standard](#standard-attributes).

1201 1223 

1202```bash theme={null}1224```bash theme={null}

1203export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."1225export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."


1319* I contenuti dei file grezzi e i frammenti di codice non sono inclusi nelle metriche o negli eventi. I percorsi di traccia degli span sono un percorso dati separato: vedi il punto `OTEL_LOG_TOOL_CONTENT` di seguito1341* I contenuti dei file grezzi e i frammenti di codice non sono inclusi nelle metriche o negli eventi. I percorsi di traccia degli span sono un percorso dati separato: vedi il punto `OTEL_LOG_TOOL_CONTENT` di seguito

1320* Quando autenticato tramite OAuth, `user.email` è incluso negli attributi di telemetria. Se questo è una preoccupazione per la tua organizzazione, lavora con il tuo backend di telemetria per filtrare o redarre questo campo1342* Quando autenticato tramite OAuth, `user.email` è incluso negli attributi di telemetria. Se questo è una preoccupazione per la tua organizzazione, lavora con il tuo backend di telemetria per filtrare o redarre questo campo

1321* Il contenuto del prompt dell'utente non viene raccolto per impostazione predefinita. Viene registrata solo la lunghezza del prompt. Per includere il contenuto del prompt, imposta `OTEL_LOG_USER_PROMPTS=1`1343* Il contenuto del prompt dell'utente non viene raccolto per impostazione predefinita. Viene registrata solo la lunghezza del prompt. Per includere il contenuto del prompt, imposta `OTEL_LOG_USER_PROMPTS=1`

1344* Il testo della risposta dell'assistente non viene raccolto per impostazione predefinita. Viene registrata solo la lunghezza della risposta. Per includere il testo della risposta, imposta `OTEL_LOG_ASSISTANT_RESPONSES=1`. Come tutti i dati OpenTelemetry da Claude Code, il testo della risposta viene inviato solo all'endpoint OTel che configuri, mai ad Anthropic. Quando questa variabile non è impostata, `OTEL_LOG_USER_PROMPTS` viene utilizzato come fallback, quindi imposta `OTEL_LOG_ASSISTANT_RESPONSES=0` se desideri il contenuto del prompt senza il contenuto della risposta

1322* Gli argomenti di input dello strumento e i parametri non vengono registrati per impostazione predefinita. Per includerli, imposta `OTEL_LOG_TOOL_DETAILS=1`. Questi dati vengono inviati solo all'endpoint OTEL che configuri, mai ad Anthropic. Gli argomenti potrebbero comunque contenere valori sensibili, quindi configura il tuo backend di telemetria per filtrare o redarre questi attributi secondo necessità. Quando abilitato:1345* Gli argomenti di input dello strumento e i parametri non vengono registrati per impostazione predefinita. Per includerli, imposta `OTEL_LOG_TOOL_DETAILS=1`. Questi dati vengono inviati solo all'endpoint OTEL che configuri, mai ad Anthropic. Gli argomenti potrebbero comunque contenere valori sensibili, quindi configura il tuo backend di telemetria per filtrare o redarre questi attributi secondo necessità. Quando abilitato:

1323 * Gli eventi `tool_result` e `tool_decision` includono un attributo `tool_parameters` con comandi Bash, nomi dei server MCP e dello strumento, e nomi delle skill. I campi come `full_command` vengono emessi non troncati1346 * Gli eventi `tool_result` e `tool_decision` includono un attributo `tool_parameters` con comandi Bash, nomi dei server MCP e dello strumento, e nomi delle skill. I campi come `full_command` vengono emessi non troncati

1324 * Gli eventi `tool_result` includono inoltre un attributo `tool_input` con percorsi di file, URL, modelli di ricerca e altri argomenti. I singoli valori superiori a 512 caratteri vengono troncati e il totale è limitato a circa 4 K caratteri1347 * Gli eventi `tool_result` includono inoltre un attributo `tool_input` con percorsi di file, URL, modelli di ricerca e altri argomenti. I singoli valori superiori a 512 caratteri vengono troncati e il totale è limitato a circa 4 K caratteri

Details

63 Archivio certificati CA63 Archivio certificati CA

64</h2>64</h2>

65 65 

66Per impostazione predefinita, Claude Code si fida sia dei certificati CA Mozilla in bundle che dell'archivio certificati del sistema operativo. I proxy di ispezione TLS aziendali come CrowdStrike Falcon e Zscaler funzionano senza configurazione aggiuntiva quando il loro certificato radice è installato nell'archivio di fiducia del sistema operativo.66Per impostazione predefinita, Claude Code si fida sia dei certificati CA Mozilla in bundle che dell'archivio certificati del sistema operativo. La lettura dell'archivio del sistema operativo richiede un runtime con `tls.getCACertificates`: il programma di installazione nativo lo ha sempre, e gli install npm necessitano di Node 22.15 o versioni successive. Su versioni di Node più vecchie, si applicano solo il set in bundle e `NODE_EXTRA_CA_CERTS`. I proxy di ispezione TLS aziendali come CrowdStrike Falcon e Zscaler funzionano senza configurazione aggiuntiva quando il loro certificato radice è installato nell'archivio di fiducia del sistema operativo e il runtime può leggerlo.

67 67 

68`CLAUDE_CODE_CERT_STORE` accetta un elenco separato da virgole di fonti. I valori riconosciuti sono `bundled` per il set CA Mozilla fornito con Claude Code e `system` per l'archivio di fiducia del sistema operativo. L'impostazione predefinita è `bundled,system`.68`CLAUDE_CODE_CERT_STORE` accetta un elenco separato da virgole di fonti. I valori riconosciuti sono `bundled` per il set CA Mozilla fornito con Claude Code e `system` per l'archivio di fiducia del sistema operativo. L'impostazione predefinita è `bundled,system`.

69 69 


131 131 

132Claude Code invia anche telemetria operativa facoltativa per impostazione predefinita, che è possibile disabilitare con variabili di ambiente. Consultare [Servizi di telemetria](/it/data-usage#telemetry-services) per informazioni su come disabilitarla prima di finalizzare la whitelist.132Claude Code invia anche telemetria operativa facoltativa per impostazione predefinita, che è possibile disabilitare con variabili di ambiente. Consultare [Servizi di telemetria](/it/data-usage#telemetry-services) per informazioni su come disabilitarla prima di finalizzare la whitelist.

133 133 

134Quando si utilizza [Amazon Bedrock](/it/amazon-bedrock), [Google Vertex AI](/it/google-vertex-ai) o [Microsoft Foundry](/it/microsoft-foundry), il traffico del modello e l'autenticazione vanno al provider invece di `api.anthropic.com`, `claude.ai` o `platform.claude.com`. Lo strumento WebFetch chiama comunque `api.anthropic.com` per il suo [controllo di sicurezza del dominio](/it/data-usage#webfetch-domain-safety-check) a meno che non si imposti `skipWebFetchPreflight: true` nelle [impostazioni](/it/settings).134Quando si utilizza [Amazon Bedrock](/it/amazon-bedrock), [Google Vertex AI](/it/google-vertex-ai), [Microsoft Foundry](/it/microsoft-foundry) o una sessione [gateway app Claude](/it/claude-apps-gateway) con accesso effettuato, il traffico del modello e l'autenticazione vanno al provider o al gateway invece di `api.anthropic.com`, `claude.ai` o `platform.claude.com`. Lo strumento WebFetch chiama comunque `api.anthropic.com` per il suo [controllo di sicurezza del dominio](/it/data-usage#webfetch-domain-safety-check) a meno che non si imposti `skipWebFetchPreflight: true` nelle [impostazioni](/it/settings).

135 135 

136[Claude Code sul web](/it/claude-code-on-the-web) e [Code Review](/it/code-review) si connettono ai repository dall'infrastruttura gestita da Anthropic. Se l'organizzazione GitHub Enterprise Cloud limita l'accesso per indirizzo IP, abilitare [l'ereditarietà della lista di indirizzi IP consentiti per le app GitHub installate](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps). L'app GitHub di Claude registra i suoi intervalli di indirizzi IP, quindi l'abilitazione di questa impostazione consente l'accesso senza configurazione manuale. Per [aggiungere gli intervalli alla lista di indirizzi consentiti manualmente](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) invece, o per configurare altri firewall, consultare gli [indirizzi IP dell'API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses).136[Claude Code sul web](/it/claude-code-on-the-web) e [Code Review](/it/code-review) si connettono ai repository dall'infrastruttura gestita da Anthropic. Se l'organizzazione GitHub Enterprise Cloud limita l'accesso per indirizzo IP, abilitare [l'ereditarietà della lista di indirizzi IP consentiti per le app GitHub installate](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps). L'app GitHub di Claude registra i suoi intervalli di indirizzi IP, quindi l'abilitazione di questa impostazione consente l'accesso senza configurazione manuale. Per [aggiungere gli intervalli alla lista di indirizzi consentiti manualmente](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) invece, o per configurare altri firewall, consultare gli [indirizzi IP dell'API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses).

137 137 

Details

37 <Tab title="CLI">37 <Tab title="CLI">

38 **Durante una sessione**: premi `Shift+Tab` per cicla `default` → `acceptEdits` → `plan`. La modalità corrente appare nella barra di stato. Non ogni modalità è nel ciclo predefinito:38 **Durante una sessione**: premi `Shift+Tab` per cicla `default` → `acceptEdits` → `plan`. La modalità corrente appare nella barra di stato. Non ogni modalità è nel ciclo predefinito:

39 39 

40 * `auto`: appare quando il tuo account soddisfa i [requisiti della modalità auto](#eliminate-prompts-with-auto-mode); il ciclo verso auto mostra un prompt di consenso fino a quando non lo accetti, o seleziona **No, non chiedere di nuovo** per rimuovere auto dal ciclo40 * `auto`: appare quando il tuo account soddisfa i [requisiti della modalità auto](#eliminate-prompts-with-auto-mode); il ciclo verso auto commuta le modalità senza un prompt di conferma

41 * `bypassPermissions`: appare dopo che hai avviato con `--permission-mode bypassPermissions`, `--dangerously-skip-permissions`, o `--allow-dangerously-skip-permissions`; la variante `--allow-` aggiunge la modalità al ciclo senza attivarla41 * `bypassPermissions`: appare dopo che hai avviato con `--permission-mode bypassPermissions`, `--dangerously-skip-permissions`, o `--allow-dangerously-skip-permissions`; la variante `--allow-` aggiunge la modalità al ciclo senza attivarla

42 * `dontAsk`: non appare mai nel ciclo; impostala con `--permission-mode dontAsk`42 * `dontAsk`: non appare mai nel ciclo; impostala con `--permission-mode dontAsk`

43 43 


77 | Auto mode | `auto` |77 | Auto mode | `auto` |

78 | Bypass permissions | `bypassPermissions` |78 | Bypass permissions | `bypassPermissions` |

79 79 

80 Auto mode appare nell'indicatore di modalità quando il tuo account soddisfa ogni requisito elencato nella [sezione della modalità auto](#eliminate-prompts-with-auto-mode). L'impostazione `claudeCode.initialPermissionMode` non accetta `auto`. Per avviare in modalità auto per impostazione predefinita, imposta `defaultMode` nelle tue [impostazioni utente](/it/settings#settings-files). Claude Code ignora `defaultMode: "auto"` nelle impostazioni di progetto e locali.80 Auto mode appare nell'indicatore di modalità quando il tuo account soddisfa ogni requisito elencato nella [sezione della modalità auto](#eliminate-prompts-with-auto-mode). L'impostazione `claudeCode.initialPermissionMode` non accetta `auto`. Per avviare in modalità auto per impostazione predefinita, imposta `defaultMode` nelle tue [impostazioni utente](/it/settings#settings-files) invece. Claude Code ignora `defaultMode: "auto"` nelle impostazioni di progetto e locali.

81 81 

82 Bypass permissions richiede l'interruttore **Allow dangerously skip permissions** nelle impostazioni dell'estensione prima che appaia nell'indicatore di modalità.82 Bypass permissions richiede l'interruttore **Allow dangerously skip permissions** nelle impostazioni dell'estensione prima che appaia nell'indicatore di modalità.

83 83 


169```169```

170 170 

171<h2 id="eliminate-prompts-with-auto-mode">171<h2 id="eliminate-prompts-with-auto-mode">

172 Elimina i prompt con auto mode172 Elimina i prompt di autorizzazione con auto mode

173</h2>173</h2>

174 174 

175<Note>175<Note>

176 Auto mode richiede Claude Code v2.1.83 o successivo.176 Auto mode richiede Claude Code v2.1.83 o successivo.

177</Note>177</Note>

178 178 

179Auto mode consente a Claude di eseguire senza prompt di autorizzazione routine. Un modello classificatore separato esamina le azioni prima che vengano eseguite, bloccando qualsiasi cosa che si escalation oltre la tua richiesta, mira a infrastruttura non riconosciuta o sembra guidata da contenuto ostile che Claude ha letto. Le [regole di richiesta](/it/permissions#manage-permissions) esplicite forzano comunque un prompt.179Auto mode consente a Claude di eseguire senza prompt di autorizzazione di routine. Un modello classificatore separato esamina le azioni prima che vengano eseguite, bloccando qualsiasi cosa che si escalation oltre la tua richiesta, mira a infrastruttura non riconosciuta o sembra guidata da contenuto ostile che Claude ha letto. Le [regole di richiesta](/it/permissions#manage-permissions) esplicite forzano comunque un prompt.

180 180 

181Auto mode inoltre istruisce Claude a continuare a lavorare senza fermarsi per domande di chiarimento, anche se Claude chiede ancora quando il tuo prompt o una skill si affida esplicitamente a questo. Per un comportamento autonomo più forte mantenendo i prompt di autorizzazione, imposta lo [stile di output proattivo](/it/output-styles) invece.181Auto mode inoltre istruisce Claude a continuare a lavorare senza fermarsi per domande di chiarimento, anche se Claude chiede ancora quando il tuo prompt o una skill si affida esplicitamente a questo. Per un comportamento autonomo più forte mantenendo i prompt di autorizzazione, imposta lo [stile di output proattivo](/it/output-styles) invece.

182 182 

183<Warning>183<Warning>

184 Auto mode è un'anteprima di ricerca. Riduce i prompt ma non garantisce la sicurezza. Usalo per compiti in cui ti fidi della direzione generale, non come sostituto della revisione su operazioni sensibili.184 Auto mode è un'anteprima di ricerca. Riduce i prompt di autorizzazione ma non garantisce la sicurezza. Usalo per compiti in cui ti fidi della direzione generale, non come sostituto della revisione su operazioni sensibili.

185</Warning>185</Warning>

186 186 

187Auto mode è disponibile solo quando il tuo account soddisfa tutti questi requisiti:187Auto mode è disponibile solo quando il tuo account soddisfa tutti questi requisiti:

188 188 

189* **Piano**: Tutti i piani.189* **Piano**: Tutti i piani.

190* **Owner**: su Team ed Enterprise, un Owner deve abilitarlo nelle [impostazioni di amministrazione di Claude Code](https://claude.ai/admin-settings/claude-code) prima che gli utenti possano attivarlo. Gli amministratori possono anche bloccarlo impostando `permissions.disableAutoMode` su `"disable"` nelle [impostazioni gestite](/it/permissions#managed-settings).190* **Owner**: su Team ed Enterprise, un Owner deve abilitarlo nelle [impostazioni di amministrazione di Claude Code](https://claude.ai/admin-settings/claude-code) prima che gli utenti possano attivarlo. Gli amministratori possono anche bloccarlo impostando `permissions.disableAutoMode` su `"disable"` nelle [impostazioni gestite](/it/permissions#managed-settings).

191* **Modello**: sull'API Anthropic, Claude Opus 4.6 o successivo, o Sonnet 4.6. Su Amazon Bedrock, Google Cloud Vertex AI e Microsoft Foundry, solo Claude Opus 4.7 e Opus 4.8. I modelli più vecchi, inclusi Sonnet 4.5, Opus 4.5, Haiku e modelli claude-3, non sono supportati su nessun provider.191* **Modello**: sull'API Anthropic, Claude Opus 4.6 o successivo, o Sonnet 4.6 o successivo. Su Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry e sessioni [gateway app Claude](/it/claude-apps-gateway) con accesso, solo Claude Sonnet 5, Opus 4.7 e Opus 4.8. I modelli più vecchi, inclusi Sonnet 4.5, Opus 4.5, Haiku e modelli claude-3, non sono supportati su nessun provider.

192* **Provider**: disponibile per impostazione predefinita sull'API Anthropic. Su Amazon Bedrock, Google Cloud Vertex AI e Microsoft Foundry, auto mode è disattivato fino a quando non [imposti `CLAUDE_CODE_ENABLE_AUTO_MODE`](#enable-auto-mode-on-bedrock-vertex-ai-or-foundry).192* **Provider**: disponibile per impostazione predefinita sull'API Anthropic. Su Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry e sessioni gateway app Claude con accesso, auto mode è disattivato fino a quando non [imposti `CLAUDE_CODE_ENABLE_AUTO_MODE`](#enable-auto-mode-on-bedrock-vertex-ai-or-foundry).

193 193 

194Se Claude Code segnala auto mode come non disponibile, uno di questi requisiti non è soddisfatto; questo non è un'interruzione transitoria. Un messaggio separato che nomina un modello e dice che auto mode "non può determinare la sicurezza" di un'azione è un'interruzione transitoria del classificatore; vedi il [riferimento degli errori](/it/errors#auto-mode-cannot-determine-the-safety-of-an-action).194Se Claude Code segnala auto mode come non disponibile, uno di questi requisiti non è soddisfatto; questo non è un'interruzione transitoria. Un messaggio separato che nomina un modello e dice che auto mode "non può determinare la sicurezza" di un'azione è un'interruzione transitoria del classificatore; vedi il [riferimento degli errori](/it/errors#auto-mode-cannot-determine-the-safety-of-an-action).

195 195 


199 Abilita auto mode su Bedrock, Vertex AI o Foundry199 Abilita auto mode su Bedrock, Vertex AI o Foundry

200</h3>200</h3>

201 201 

202Su [Amazon Bedrock](/it/amazon-bedrock), [Google Cloud Vertex AI](/it/google-vertex-ai) e [Microsoft Foundry](/it/microsoft-foundry), auto mode non appare nel ciclo `Shift+Tab` fino a quando `CLAUDE_CODE_ENABLE_AUTO_MODE` non è impostato su `1`. La variabile funziona in Claude Code v2.1.158 e successivo. Solo Claude Opus 4.7 e Opus 4.8 sono supportati su questi provider.202Su [Amazon Bedrock](/it/amazon-bedrock), [Google Cloud Vertex AI](/it/google-vertex-ai), [Microsoft Foundry](/it/microsoft-foundry) e sessioni [gateway app Claude](/it/claude-apps-gateway) con accesso, auto mode non appare nel ciclo `Shift+Tab` fino a quando `CLAUDE_CODE_ENABLE_AUTO_MODE` non è impostato su `1`. La variabile funziona in Claude Code v2.1.158 e successivo. Solo Claude Sonnet 5, Opus 4.7 e Opus 4.8 sono supportati su questi provider.

203 203 

204Per abilitarlo per uno sviluppatore, aggiungi la variabile al blocco `env` in `~/.claude/settings.json`:204Per abilitarlo per uno sviluppatore, aggiungi la variabile al blocco `env` in `~/.claude/settings.json`:

205 205 


217 217 

218Per impedire agli sviluppatori di abilitare auto mode, imposta `disableAutoMode` su `"disable"` nelle impostazioni gestite. Questo sostituisce la variabile di abilitazione.218Per impedire agli sviluppatori di abilitare auto mode, imposta `disableAutoMode` su `"disable"` nelle impostazioni gestite. Questo sostituisce la variabile di abilitazione.

219 219 

220Se ti connetti attraverso un [gateway LLM](/it/llm-gateway) configurato con `ANTHROPIC_BASE_URL`, auto mode potrebbe essere già raggiungibile senza la variabile di abilitazione, perché il gateway instrada le richieste attraverso l'API Anthropic. L'impostazione `disableAutoMode` si applica allo stesso modo in quella configurazione.220Se ti connetti attraverso un [gateway LLM](/it/llm-gateway) configurato con `ANTHROPIC_BASE_URL`, auto mode potrebbe essere già raggiungibile senza la variabile di abilitazione, perché il gateway instrada le richieste attraverso l'API Anthropic. Questo non si applica a una sessione [gateway app Claude](/it/claude-apps-gateway) con accesso, che è la sua stessa classe di provider e richiede la variabile di abilitazione. L'impostazione `disableAutoMode` si applica allo stesso modo in entrambe le configurazioni.

221 221 

222<h3 id="what-the-classifier-blocks-by-default">222<h3 id="what-the-classifier-blocks-by-default">

223 Cosa blocca il classificatore per impostazione predefinita223 Cosa blocca il classificatore per impostazione predefinita


239* `git commit --amend` quando il commit in HEAD non è stato creato in questa sessione239* `git commit --amend` quando il commit in HEAD non è stato creato in questa sessione

240* `terraform destroy`, `pulumi destroy`, `cdk destroy`, o `terragrunt destroy`, e applicare un piano che distrugge risorse240* `terraform destroy`, `pulumi destroy`, `cdk destroy`, o `terragrunt destroy`, e applicare un piano che distrugge risorse

241 241 

242Claude Code v2.1.195 e successivo bloccano più categorie per impostazione predefinita. Diversi dipendono da voci di [ambiente](/it/auto-mode-config#define-trusted-infrastructure), come target remoti sensibili e ambiti IaC protetti, che puoi restringere a nomi concreti.

243 

244* Scrittura in un gestore di segreti, o modifica di record DNS o certificati TLS

245* Unione di una pull request che nessun umano ha approvato, approvazione della propria pull request di Claude, o disabilitazione dei controlli CI

246* Pubblicazione di un commento che è esso stesso un comando per l'automazione, come `atlantis apply` o il `/deploy` o `/merge` di un bot

247* Attivazione, ramping o eliminazione di un feature flag di produzione

248* Applicazione di modifiche all'infrastruttura a un ambito IaC protetto, o drenaggio e rimozione di nodi del cluster

249* Scritture in un cluster di calcolo condiviso che vanno oltre la risorsa che hai nominato, come un selettore di etichette o `--all` che cattura i lavori di altri utenti

250* Creazione di risorse Kubernetes che vengono eseguite su ogni nodo o intercettano il traffico del cluster, come DaemonSets e webhook di ammissione

251* Shell interattive o port-forward in un target remoto sensibile

252* Apertura di un tunnel o reverse shell che rende un servizio locale raggiungibile da internet pubblico

253* Stampa di una credenziale o token live nella trascrizione o in un file

254* Accesso a una posizione PII o dati regolamentati, o copia di dati da una

255* Instradamento di un'installazione di pacchetto intorno al tuo registro di pacchetti interno a un registro pubblico

256* Esecuzione di un comando con un flag che disarma una guardia di sicurezza, come `--insecure`

257* Azioni del browser [Claude in Chrome](/it/chrome) che potrebbero inviare contenuto della pagina, cookie o credenziali off-origin

258 

242**Consentito per impostazione predefinita**:259**Consentito per impostazione predefinita**:

243 260 

244* Operazioni su file locali nella tua directory di lavoro261* Operazioni su file locali nella tua directory di lavoro


247* Richieste HTTP di sola lettura264* Richieste HTTP di sola lettura

248* Push al ramo su cui hai iniziato o uno che Claude ha creato265* Push al ramo su cui hai iniziato o uno che Claude ha creato

249 266 

267Claude Code v2.1.195 e successivo consentono anche questi per impostazione predefinita:

268 

269* Eliminazione dei lavori esatti che Claude ha creato in precedenza nella stessa sessione

270* Lettura, revisione o scrittura di codice, configurazioni e modelli di minaccia relativi alla sicurezza come parte del tuo compito

271* Messaggi tra agenti che lavorano insieme nella stessa sessione multi-agente

272* Invio di dati ai domini attendibili, bucket e servizi che elenchi in [`environment`](/it/auto-mode-config#define-trusted-infrastructure). Questo copre solo il flusso di dati, non operazioni distruttive o di credenziali sulla stessa infrastruttura

273* Navigazione [Claude in Chrome](/it/chrome) a un dominio interno attendibile, localhost, o un URL che hai nominato

274 

250Le richieste di accesso alla rete sandbox vengono instradate attraverso il classificatore piuttosto che essere consentite per impostazione predefinita. Esegui `claude auto-mode defaults` per vedere gli elenchi di regole completi. Se le azioni di routine vengono bloccate, un amministratore può aggiungere repo attendibili, bucket e servizi tramite l'impostazione `autoMode.environment`: vedi [Configura auto mode](/it/auto-mode-config).275Le richieste di accesso alla rete sandbox vengono instradate attraverso il classificatore piuttosto che essere consentite per impostazione predefinita. Esegui `claude auto-mode defaults` per vedere gli elenchi di regole completi. Se le azioni di routine vengono bloccate, un amministratore può aggiungere repo attendibili, bucket e servizi tramite l'impostazione `autoMode.environment`: vedi [Configura auto mode](/it/auto-mode-config).

251 276 

252<h3 id="boundaries-you-state-in-conversation">277<h3 id="boundaries-you-state-in-conversation">

permissions.md +37 −26

Details

24 Gestire le autorizzazioni24 Gestire le autorizzazioni

25</h2>25</h2>

26 26 

27Potete visualizzare e gestire le autorizzazioni degli strumenti di Claude Code con `/permissions`. Questa interfaccia utente elenca tutte le regole di autorizzazione e il file settings.json da cui provengono.27Potete visualizzare e gestire le autorizzazioni degli strumenti di Claude Code con `/permissions`. Questa interfaccia utente elenca tutte le regole di autorizzazione e il file `settings.json` da cui provengono.

28 28 

29* Le regole **Allow** consentono a Claude Code di utilizzare lo strumento specificato senza approvazione manuale.29* Le regole **Allow** consentono a Claude Code di utilizzare lo strumento specificato senza approvazione manuale.

30* Le regole **Ask** richiedono una conferma ogni volta che Claude Code tenta di utilizzare lo strumento specificato.30* Le regole **Ask** richiedono una conferma ogni volta che Claude Code tenta di utilizzare lo strumento specificato.

31* Le regole **Deny** impediscono a Claude Code di utilizzare lo strumento specificato.31* Le regole **Deny** impediscono a Claude Code di utilizzare lo strumento specificato.

32 32 

33Le regole vengono valutate in ordine: deny, quindi ask, quindi allow. La prima corrispondenza in quell'ordine determina il risultato, e la specificità della regola non cambia l'ordine. Una regola deny ampia come `Bash(aws *)` blocca ogni chiamata corrispondente, incluse le chiamate che corrispondono anche a una regola allow più ristretta come `Bash(aws s3 ls)`, quindi una regola deny non può contenere eccezioni di allowlist. La stessa precedenza si applica tra ask e allow: una regola ask corrispondente richiede una conferma anche quando una regola allow più specifica corrisponde anche alla stessa chiamata.33Le regole vengono valutate in ordine: deny, quindi ask, quindi allow. La prima corrispondenza in quell'ordine determina il risultato, e la specificità della regola non cambia l'ordine.

34 

35Una regola deny ampia come `Bash(aws *)` blocca ogni chiamata corrispondente, incluse le chiamate che corrispondono anche a una regola allow più ristretta come `Bash(aws s3 ls)`, quindi una regola deny non può contenere eccezioni di allowlist. La stessa precedenza si applica tra ask e allow: una regola ask corrispondente richiede una conferma anche quando una regola allow più specifica corrisponde anche alla stessa chiamata.

34 36 

35Le regole deny si comportano diversamente a seconda che denominino uno strumento o che limitino un modello all'interno di uno. Un nome di strumento semplice come `Bash` rimuove lo strumento dal contesto di Claude interamente, quindi Claude non lo vede mai. Una regola limitata come `Bash(rm *)` lascia lo strumento disponibile e blocca le chiamate corrispondenti quando Claude tenta di utilizzarle.37Le regole deny si comportano diversamente a seconda che denominino uno strumento o che limitino un modello all'interno di uno. Un nome di strumento semplice come `Bash` rimuove lo strumento dal contesto di Claude interamente, quindi Claude non lo vede mai. Una regola limitata come `Bash(rm *)` lascia lo strumento disponibile e blocca le chiamate corrispondenti quando Claude tenta di utilizzarle.

36 38 


42 Modalità di autorizzazione44 Modalità di autorizzazione

43</h2>45</h2>

44 46 

45Claude Code supporta diverse modalità di autorizzazione che controllano come gli strumenti vengono approvati. Vedi [Permission modes](/it/permission-modes) per quando utilizzare ciascuna. Impostate `defaultMode` nei vostri [file di impostazioni](/it/settings#settings-files):47Claude Code supporta diverse modalità di autorizzazione che controllano come approva le chiamate di strumenti. Vedi [Permission modes](/it/permission-modes) per quando utilizzare ciascuna. Imposta `defaultMode` nei tuoi [file di impostazioni](/it/settings#settings-files):

46 48 

47| Modalità | Descrizione |49| Modalità | Descrizione |

48| :------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |50| :------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

49| `default` | Comportamento standard: richiede l'autorizzazione al primo utilizzo di ogni strumento |51| `default` | Comportamento standard: richiede l'autorizzazione al primo utilizzo di ogni strumento |

50| `acceptEdits` | Accetta automaticamente le modifiche ai file e i comandi comuni del filesystem (`mkdir`, `touch`, `mv`, `cp`, ecc.) per i percorsi nella directory di lavoro o `additionalDirectories` |52| `acceptEdits` | Accetta automaticamente le modifiche ai file e i comandi comuni del filesystem come `mkdir`, `touch`, `mv` e `cp` per i percorsi nella directory di lavoro o `additionalDirectories` |

51| `plan` | Plan Mode: Claude legge i file ed esegue comandi shell di sola lettura per esplorare ma non modifica i vostri file sorgente |53| `plan` | Plan Mode: Claude legge i file ed esegue comandi shell di sola lettura per esplorare ma non modifica i tuoi file sorgente |

52| `auto` | Auto-approva le chiamate di strumento con controlli di sicurezza in background che verificano che le azioni si allineino con la Sua richiesta. Attualmente un'anteprima di ricerca |54| `auto` | Auto-approva le chiamate di strumento con controlli di sicurezza in background che verificano che le azioni si allineino con la tua richiesta. Attualmente un'anteprima di ricerca |

53| `dontAsk` | Nega automaticamente gli strumenti a meno che non siano pre-approvati tramite `/permissions` o regole `permissions.allow` |55| `dontAsk` | Nega automaticamente gli strumenti a meno che non siano pre-approvati tramite `/permissions` o regole `permissions.allow` |

54| `bypassPermissions` | Salta i prompt di autorizzazione, ad eccezione di quelli forzati da regole `ask` esplicite. Le rimozioni che hanno come destinazione la radice del filesystem o la directory home, come `rm -rf /` e `rm -rf ~`, richiedono comunque un prompt come interruttore di protezione contro gli errori del modello |56| `bypassPermissions` | Salta i prompt di autorizzazione, ad eccezione di quelli forzati da regole `ask` esplicite. Le rimozioni che hanno come destinazione la radice del filesystem o la directory home, come `rm -rf /` e `rm -rf ~`, richiedono comunque un prompt come interruttore di protezione contro gli errori del modello |

55 57 

56<Warning>58<Warning>

57 La modalità `bypassPermissions` salta i prompt di autorizzazione, incluse le scritture in `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` e `.mvn`. Le regole `ask` esplicite forzano comunque un prompt, e le rimozioni che hanno come destinazione la radice del filesystem o la directory home, come `rm -rf /` e `rm -rf ~`, richiedono comunque un prompt come interruttore di protezione contro gli errori del modello. Utilizzate questa modalità solo in ambienti isolati come contenitori o macchine virtuali dove Claude Code non può causare danni. Gli amministratori possono impedire questa modalità impostando `permissions.disableBypassPermissionsMode` su `"disable"` nelle [impostazioni gestite](#managed-settings).59 La modalità `bypassPermissions` salta i prompt di autorizzazione, incluse le scritture in `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` e `.mvn`. Le regole `ask` esplicite forzano comunque un prompt, e le rimozioni che hanno come destinazione la radice del filesystem o la directory home, come `rm -rf /` e `rm -rf ~`, richiedono comunque un prompt come interruttore di protezione contro gli errori del modello. Utilizza questa modalità solo in ambienti isolati come contenitori o macchine virtuali dove Claude Code non può causare danni.

58</Warning>60</Warning>

59 61 

60Per prevenire che la modalità `bypassPermissions` o `auto` venga utilizzata, impostate `permissions.disableBypassPermissionsMode` o `permissions.disableAutoMode` su `"disable"` in qualsiasi [file di impostazioni](/it/settings#settings-files). Questi sono più utili nelle [impostazioni gestite](#managed-settings) dove non possono essere ignorati.62Per prevenire che la modalità `bypassPermissions` o `auto` venga utilizzata, imposta `permissions.disableBypassPermissionsMode` o `permissions.disableAutoMode` su `"disable"` in qualsiasi [file di impostazioni](/it/settings#settings-files). Questi sono più utili nelle [impostazioni gestite](#managed-settings) dove non possono essere ignorati.

61 63 

62<h2 id="permission-rule-syntax">64<h2 id="permission-rule-syntax">

63 Sintassi delle regole di autorizzazione65 Sintassi delle regole di autorizzazione


95 Corrispondere per parametro di input97 Corrispondere per parametro di input

96</h3>98</h3>

97 99 

98Le regole di negazione e richiesta possono corrispondere a un parametro di input di primo livello su qualsiasi strumento con `Tool(param:value)`. La regola corrisponde quando Claude chiama lo strumento con quel parametro impostato su quel valore esatto. Questa sintassi è per le regole di negazione e richiesta; una regola di autorizzazione per un valore di parametro non stabilirerebbe che la chiamata è sicura nel complesso, quindi le regole di autorizzazione continuano a utilizzare la sintassi dello specificatore di ogni strumento. Questo funziona per qualsiasi parametro scalare che lo strumento accetta:100Le regole di negazione e richiesta possono corrispondere a un parametro di input di primo livello su qualsiasi strumento con `Tool(param:value)`. La regola corrisponde quando Claude chiama lo strumento con quel parametro impostato su quel valore esatto. Una regola di autorizzazione per un valore di parametro non stabilirerebbe che la chiamata è sicura nel complesso, quindi le regole di autorizzazione continuano a utilizzare la sintassi dello specificatore di ogni strumento. Questo funziona per qualsiasi parametro scalare che lo strumento accetta:

99 101 

100| Regola | Corrisponde |102| Regola | Corrisponde |

101| :----------------------------- | :------------------------------------------------------- |103| :----------------------------- | :------------------------------------------------------- |


220 222 

221 * Opzioni prima dell'URL: `curl -X GET http://github.com/...`223 * Opzioni prima dell'URL: `curl -X GET http://github.com/...`

222 * Protocollo diverso: `curl https://github.com/...`224 * Protocollo diverso: `curl https://github.com/...`

223 * Reindirizzamenti: `curl -L http://bit.ly/xyz` (reindirizza a github)225 * Reindirizzamenti: `curl -L http://bit.ly/xyz`, che reindirizza a GitHub

224 * Variabili: `URL=http://github.com && curl $URL`226 * Variabili: `URL=http://github.com && curl $URL`

225 * Spazi extra: `curl http://github.com`227 * Spazi extra: `curl http://github.com`

226 228 


270Le regole Read e Edit seguono entrambe la specifica [gitignore](https://git-scm.com/docs/gitignore) con quattro tipi di modello distinti:272Le regole Read e Edit seguono entrambe la specifica [gitignore](https://git-scm.com/docs/gitignore) con quattro tipi di modello distinti:

271 273 

272| Modello | Significato | Esempio | Corrisponde |274| Modello | Significato | Esempio | Corrisponde |

273| ----------------- | ------------------------------------------------- | -------------------------------- | ------------------------------ |275| ----------------- | --------------------------------------------- | -------------------------------- | ------------------------------ |

274| `//path` | Percorso **assoluto** dalla radice del filesystem | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |276| `//path` | Percorso assoluto dalla radice del filesystem | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |

275| `~/path` | Percorso dalla directory **home** | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |277| `~/path` | Percorso dalla directory home | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |

276| `/path` | Percorso **relativo alla radice del progetto** | `Edit(/src/**/*.ts)` | `<project root>/src/**/*.ts` |278| `/path` | Percorso relativo alla radice del progetto | `Edit(/src/**/*.ts)` | `<project root>/src/**/*.ts` |

277| `path` o `./path` | Percorso **relativo alla directory corrente** | `Read(*.env)` | `<cwd>/*.env` |279| `path` o `./path` | Percorso relativo alla directory corrente | `Read(*.env)` | `<cwd>/*.env` |

278 280 

279<Warning>281<Warning>

280 Un modello come `/Users/alice/file` NON è un percorso assoluto. È relativo alla radice del progetto. Utilizzate `//Users/alice/file` per i percorsi assoluti.282 Un modello come `/Users/alice/file` non è un percorso assoluto. È relativo alla radice del progetto. Utilizzate `//Users/alice/file` per i percorsi assoluti.

281</Warning>283</Warning>

282 284 

283Su Windows, i percorsi vengono normalizzati in forma POSIX prima della corrispondenza. `C:\Users\alice` diventa `/c/Users/alice`, quindi utilizzate `//c/**/.env` per corrispondere ai file `.env` in qualsiasi punto su quel drive. Per corrispondere su tutti i drive, utilizzate `//**/.env`.285Su Windows, i percorsi vengono normalizzati in forma POSIX prima della corrispondenza. `C:\Users\alice` diventa `/c/Users/alice`, quindi utilizzate `//c/**/.env` per corrispondere ai file `.env` in qualsiasi punto su quel drive. Per corrispondere su tutti i drive, utilizzate `//**/.env`.

284 286 

285Esempi:287Esempi:

286 288 

287* `Edit(/docs/**)`: modifica in `<project>/docs/` (NON `/docs/` e NON `<project>/.claude/docs/`)289* `Edit(/docs/**)`: modifica in `<project>/docs/`, non `/docs/` o `<project>/.claude/docs/`

288* `Read(~/.zshrc)`: legge il `.zshrc` della vostra directory home290* `Read(~/.zshrc)`: legge il `.zshrc` della vostra directory home

289* `Edit(//tmp/scratch.txt)`: modifica il percorso assoluto `/tmp/scratch.txt`291* `Edit(//tmp/scratch.txt)`: modifica il percorso assoluto `/tmp/scratch.txt`

290* `Read(src/**)`: legge da `<current-directory>/src/`292* `Read(src/**)`: legge da `<current-directory>/src/`


323 MCP325 MCP

324</h3>326</h3>

325 327 

326* `mcp__puppeteer` corrisponde a qualsiasi strumento fornito dal server `puppeteer` (nome configurato in Claude Code)328Le regole MCP utilizzano il nome del server come configurato in Claude Code, facoltativamente seguito dal nome di uno strumento da quel server.

327* `mcp__puppeteer__*` sintassi con caratteri jolly che corrisponde anche a tutti gli strumenti dal server `puppeteer`329 

330* `mcp__puppeteer` corrisponde a qualsiasi strumento fornito dal server `puppeteer`

331* `mcp__puppeteer__*` utilizza la sintassi con caratteri jolly e corrisponde anche a tutti gli strumenti dal server `puppeteer`

328* `mcp__puppeteer__puppeteer_navigate` corrisponde allo strumento `puppeteer_navigate` fornito dal server `puppeteer`332* `mcp__puppeteer__puppeteer_navigate` corrisponde allo strumento `puppeteer_navigate` fornito dal server `puppeteer`

329 333 

330<h3 id="agent-subagents">334<h3 id="agent-subagents">


418 422 

419Le autorizzazioni e il [sandboxing](/it/sandboxing) sono livelli di sicurezza complementari:423Le autorizzazioni e il [sandboxing](/it/sandboxing) sono livelli di sicurezza complementari:

420 424 

421* **Autorizzazioni** controllano quali strumenti Claude Code può utilizzare e quali file o domini può accedere. Si applicano a tutti gli strumenti (Bash, Read, Edit, WebFetch, MCP e altri).425* **Autorizzazioni** controllano quali strumenti Claude Code può utilizzare e quali file o domini può accedere. Si applicano a tutti gli strumenti, inclusi Bash, Read, Edit, WebFetch e MCP.

422* **Sandboxing** fornisce l'applicazione a livello del sistema operativo che limita l'accesso al filesystem e alla rete dello strumento Bash. Si applica solo ai comandi Bash e ai loro processi figlio.426* **Sandboxing** fornisce l'applicazione a livello del sistema operativo che limita l'accesso al filesystem e alla rete dello strumento Bash. Si applica solo ai comandi Bash e ai loro processi figlio.

423 427 

424Utilizzate entrambi per la difesa in profondità:428Utilizzate entrambi per la difesa in profondità:


428* Le restrizioni del filesystem nella sandbox combinano le impostazioni [`sandbox.filesystem`](/it/sandboxing) con le regole deny di Read e Edit; entrambe vengono unite nel confine sandbox finale432* Le restrizioni del filesystem nella sandbox combinano le impostazioni [`sandbox.filesystem`](/it/sandboxing) con le regole deny di Read e Edit; entrambe vengono unite nel confine sandbox finale

429* Le restrizioni di rete combinano le regole di autorizzazione WebFetch con gli elenchi `allowedDomains` e `deniedDomains` della sandbox433* Le restrizioni di rete combinano le regole di autorizzazione WebFetch con gli elenchi `allowedDomains` e `deniedDomains` della sandbox

430 434 

431Quando il sandboxing è abilitato con `autoAllowBashIfSandboxed: true`, che è l'impostazione predefinita, i comandi Bash in sandbox vengono eseguiti senza richiedere un prompt anche se le vostre autorizzazioni includono una regola ask bare `Bash`, o la [forma equivalente `Bash(*)` ](#match-all-uses-of-a-tool): il confine della sandbox sostituisce il prompt per l'intero strumento. Le regole ask con ambito di contenuto come `Bash(git push *)` forzano comunque un prompt, le regole deny esplicite si applicano ancora, e i comandi `rm` o `rmdir` che hanno come destinazione `/`, la vostra directory home o altri percorsi critici del sistema attivano comunque un prompt. I comandi che non verranno eseguiti in sandbox, come i comandi esclusi, rispettano la regola ask bare `Bash` come al solito. Consultate [modalità sandbox](/it/sandboxing#sandbox-modes) per modificare questo comportamento.435Quando il sandboxing è abilitato con `autoAllowBashIfSandboxed: true`, che è l'impostazione predefinita, i comandi Bash in sandbox vengono eseguiti senza richiedere un prompt anche se le vostre autorizzazioni includono una regola ask bare `Bash`, o la [forma equivalente `Bash(*)` ](#match-all-uses-of-a-tool): il confine della sandbox sostituisce il prompt per l'intero strumento. Questi controlli si applicano ancora:

436 

437* Le regole ask con ambito di contenuto come `Bash(git push *)` forzano comunque un prompt

438* Le regole deny esplicite si applicano ancora

439* I comandi `rm` o `rmdir` che hanno come destinazione `/`, la vostra directory home o altri percorsi critici del sistema attivano comunque un prompt

440 

441I comandi che non verranno eseguiti in sandbox, come i comandi esclusi, rispettano la regola ask bare `Bash` come al solito. Consultate [modalità sandbox](/it/sandboxing#sandbox-modes) per modificare questo comportamento.

432 442 

433<h2 id="managed-settings">443<h2 id="managed-settings">

434 Impostazioni gestite444 Impostazioni gestite

435</h2>445</h2>

436 446 

437Per le organizzazioni che necessitano di un controllo centralizzato sulla configurazione di Claude Code, gli amministratori possono distribuire impostazioni gestite che non possono essere ignorate dalle impostazioni utente o di progetto. Queste impostazioni di criteri seguono lo stesso formato dei file di impostazioni regolari e possono essere fornite tramite criteri MDM/a livello del sistema operativo, file di impostazioni gestite o [impostazioni gestite dal server](/it/server-managed-settings). Vedi [file di impostazioni](/it/settings#settings-files) per i meccanismi di consegna e i percorsi dei file.447Per le organizzazioni che necessitano di un controllo centralizzato sulla configurazione di Claude Code, gli amministratori possono distribuire impostazioni gestite che non possono essere ignorate dalle impostazioni utente o di progetto. Queste impostazioni di criteri seguono lo stesso formato dei file di impostazioni regolari e possono essere fornite tramite criteri MDM/a livello del sistema operativo, file di impostazioni gestite, [impostazioni gestite dal server](/it/server-managed-settings), o un [gateway di app Claude](/it/claude-apps-gateway) auto-ospitato. Vedi [file di impostazioni](/it/settings#settings-files) per i meccanismi di consegna e i percorsi dei file.

438 448 

439<h3 id="managed-only-settings">449<h3 id="managed-only-settings">

440 Impostazioni solo gestite450 Impostazioni solo gestite


443Le seguenti impostazioni sono efficaci solo nelle impostazioni gestite. Posizionarle nei file di impostazioni utente o di progetto non ha alcun effetto.453Le seguenti impostazioni sono efficaci solo nelle impostazioni gestite. Posizionarle nei file di impostazioni utente o di progetto non ha alcun effetto.

444 454 

445| Impostazione | Descrizione |455| Impostazione | Descrizione |

446| :--------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |456| :--------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

447| `allowAllClaudeAiMcps` | Quando `true`, i connettori claude.ai si caricano insieme a un `managed-mcp.json` distribuito invece di essere soppressi dal suo controllo esclusivo. Vedi [Configurazione MCP gestita](/it/managed-mcp) |457| `allowAllClaudeAiMcps` | Quando `true`, i connettori claude.ai si caricano insieme a un `managed-mcp.json` distribuito invece di essere soppressi dal suo controllo esclusivo. Vedi [Configurazione MCP gestita](/it/managed-mcp) |

448| `allowedChannelPlugins` | Elenco di autorizzazione dei plugin di canale che possono inviare messaggi. Sostituisce l'elenco di autorizzazione Anthropic predefinito quando impostato. Richiede `channelsEnabled: true`. Vedi [Limitare quali plugin di canale possono essere eseguiti](/it/channels#restrict-which-channel-plugins-can-run) |458| `allowedChannelPlugins` | Elenco di autorizzazione dei plugin di canale che possono inviare messaggi. Sostituisce l'elenco di autorizzazione Anthropic predefinito quando impostato. Richiede `channelsEnabled: true`. Vedi [Limitare quali plugin di canale possono essere eseguiti](/it/channels#restrict-which-channel-plugins-can-run) |

449| `allowManagedHooksOnly` | Quando `true`, solo gli hook gestiti, gli hook SDK e gli hook dai plugin force-enabled nelle impostazioni gestite `enabledPlugins` vengono caricati. Gli hook utente, progetto e tutti gli altri plugin vengono bloccati |459| `allowManagedHooksOnly` | Quando `true`, solo gli hook gestiti, gli hook SDK e gli hook dai plugin force-enabled nelle impostazioni gestite `enabledPlugins` vengono caricati. Gli hook utente, progetto e tutti gli altri plugin vengono bloccati |


451| `allowManagedPermissionRulesOnly` | Quando `true`, impedisce alle impostazioni utente e di progetto di definire regole di autorizzazione `allow`, `ask` o `deny`. Si applicano solo le regole nelle impostazioni gestite. Non influisce sull'elenco di autorizzazione del server MCP; per questo, impostare `allowManagedMcpServersOnly` |461| `allowManagedPermissionRulesOnly` | Quando `true`, impedisce alle impostazioni utente e di progetto di definire regole di autorizzazione `allow`, `ask` o `deny`. Si applicano solo le regole nelle impostazioni gestite. Non influisce sull'elenco di autorizzazione del server MCP; per questo, impostare `allowManagedMcpServersOnly` |

452| `blockedMarketplaces` | Elenco di blocco delle fonti del marketplace. Le fonti bloccate vengono controllate prima del download, quindi non toccano mai il filesystem. Vedi [restrizioni marketplace gestite](/it/plugin-marketplaces#managed-marketplace-restrictions) |462| `blockedMarketplaces` | Elenco di blocco delle fonti del marketplace. Le fonti bloccate vengono controllate prima del download, quindi non toccano mai il filesystem. Vedi [restrizioni marketplace gestite](/it/plugin-marketplaces#managed-marketplace-restrictions) |

453| `channelsEnabled` | Consenti [channels](/it/channels) per l'organizzazione. Vedi [controlli aziendali](/it/channels#enterprise-controls) per l'impostazione predefinita su ogni piano |463| `channelsEnabled` | Consenti [channels](/it/channels) per l'organizzazione. Vedi [controlli aziendali](/it/channels#enterprise-controls) per l'impostazione predefinita su ogni piano |

464| `disableSideloadFlags` | {/* min-version: 2.1.193 */}Rifiuta i flag CLI `--plugin-dir`, `--plugin-url`, `--agents` e `--mcp-config` all'avvio. Senza questo, gli utenti possono aggirare `strictKnownMarketplaces` per una singola esecuzione passando questi flag. Vedi [`disableSideloadFlags`](/it/settings#available-settings). Richiede Claude Code v2.1.193 o successivo |

454| `forceRemoteSettingsRefresh` | Quando `true`, blocca l'avvio della CLI fino a quando le impostazioni gestite remote non vengono recuperate di recente ed esce se il recupero non riesce. Vedi [applicazione fail-closed](/it/server-managed-settings#enforce-fail-closed-startup) |465| `forceRemoteSettingsRefresh` | Quando `true`, blocca l'avvio della CLI fino a quando le impostazioni gestite remote non vengono recuperate di recente ed esce se il recupero non riesce. Vedi [applicazione fail-closed](/it/server-managed-settings#enforce-fail-closed-startup) |

455| `pluginTrustMessage` | Messaggio personalizzato aggiunto all'avviso di fiducia del plugin mostrato prima dell'installazione |466| `pluginTrustMessage` | Messaggio personalizzato aggiunto all'avviso di fiducia del plugin mostrato prima dell'installazione |

456| `sandbox.filesystem.allowManagedReadPathsOnly` | Quando `true`, solo i percorsi `filesystem.allowRead` dalle impostazioni gestite sono rispettati. `denyRead` si unisce comunque da tutte le fonti |467| `sandbox.filesystem.allowManagedReadPathsOnly` | Quando `true`, solo i percorsi `filesystem.allowRead` dalle impostazioni gestite sono rispettati. `denyRead` si unisce comunque da tutte le fonti |


462`disableBypassPermissionsMode` è tipicamente posizionato nelle impostazioni gestite per applicare la politica organizzativa, ma funziona da qualsiasi ambito. Un utente può impostarlo nelle proprie impostazioni per bloccarsi dalla modalità bypass.473`disableBypassPermissionsMode` è tipicamente posizionato nelle impostazioni gestite per applicare la politica organizzativa, ma funziona da qualsiasi ambito. Un utente può impostarlo nelle proprie impostazioni per bloccarsi dalla modalità bypass.

463 474 

464<Note>475<Note>

465 Su piani Team e Enterprise, un amministratore abilita o disabilita [Remote Control](/it/remote-control) e [sessioni web](/it/claude-code-on-the-web) a livello organizzativo nelle [impostazioni di amministrazione di Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control può inoltre essere disabilitato per dispositivo con l'impostazione gestita [`disableRemoteControl`](/it/settings#available-settings). Le sessioni web non hanno chiavi di impostazioni gestite per dispositivo.476 Su piani Team e Enterprise, un Owner abilita o disabilita [Remote Control](/it/remote-control) e [sessioni web](/it/claude-code-on-the-web) a livello organizzativo nelle [impostazioni di amministrazione di Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control può inoltre essere disabilitato per dispositivo con l'impostazione [`disableRemoteControl`](/it/settings#available-settings). Le sessioni web non hanno chiavi di impostazioni gestite per dispositivo.

466</Note>477</Note>

467 478 

468<h2 id="settings-precedence">479<h2 id="settings-precedence">


479 490 

480Se uno strumento viene negato a qualsiasi livello, nessun altro livello può consentirlo. Ad esempio, un deny delle impostazioni gestite non può essere ignorato da `--allowedTools` e `--disallowedTools` può aggiungere restrizioni oltre a quelle definite dalle impostazioni gestite.491Se uno strumento viene negato a qualsiasi livello, nessun altro livello può consentirlo. Ad esempio, un deny delle impostazioni gestite non può essere ignorato da `--allowedTools` e `--disallowedTools` può aggiungere restrizioni oltre a quelle definite dalle impostazioni gestite.

481 492 

482Gli host di embedding possono fornire ulteriori criteri gestiti tramite l'opzione SDK `managedSettings` quando [`parentSettingsBehavior`](/it/settings#settings-precedence) è impostato su `"merge"`; i valori dell'embedder possono irrigidire la politica ma non allentarla.493Lo stesso vale tra gli ambiti delle impostazioni: se le impostazioni utente consentono un'autorizzazione e le impostazioni di progetto la negano, la regola di negazione la blocca. Il contrario è vero anche: un deny a livello utente blocca un allow a livello di progetto, perché le regole di negazione da qualsiasi ambito vengono valutate prima delle regole di consentimento.

483 494 

484Ad esempio, se le impostazioni utente consentono un'autorizzazione e le impostazioni di progetto la negano, la regola di negazione la blocca. Il contrario è vero anche: un deny a livello utente blocca un allow a livello di progetto, perché le regole di negazione da qualsiasi ambito vengono valutate prima delle regole di consentimento.495Gli host di embedding possono fornire ulteriori criteri gestiti tramite l'opzione SDK `managedSettings` quando [`parentSettingsBehavior`](/it/settings#settings-precedence) è impostato su `"merge"`; i valori dell'embedder possono irrigidire la politica ma non allentarla.

485 496 

486<h2 id="example-configurations">497<h2 id="example-configurations">

487 Configurazioni di esempio498 Configurazioni di esempio

Details

102 102 

103Quando installi un plugin che dichiara `{ "name": "secrets-vault", "version": "~2.1.0" }`, Claude Code elenca i tag del marketplace, filtra quelli che iniziano con `secrets-vault--v` e recupera la versione più alta che soddisfa `~2.1.0`. Se non esiste un tag corrispondente, il plugin dipendente viene disabilitato con un errore che elenca le versioni disponibili.103Quando installi un plugin che dichiara `{ "name": "secrets-vault", "version": "~2.1.0" }`, Claude Code elenca i tag del marketplace, filtra quelli che iniziano con `secrets-vault--v` e recupera la versione più alta che soddisfa `~2.1.0`. Se non esiste un tag corrispondente, il plugin dipendente viene disabilitato con un errore che elenca le versioni disponibili.

104 104 

105Un marketplace aggiunto come percorso di cartella locale risolve i tag nello stesso modo quando la cartella è un repository git. Questo richiede Claude Code v2.1.196 o successivo. In due casi Claude Code installa la dipendenza dal contenuto attuale della cartella:

106 

107* Le versioni precedenti non leggono i tag da un marketplace di cartella locale, quindi una dipendenza vincolata si carica solo se quella copia soddisfa l'intervallo.

108* Una cartella locale che non è un repository git non ha tag, indipendentemente dalla versione.

109 

105Il semver del tag risolto viene registrato separatamente dalla `version` di `plugin.json`, quindi i controlli dei vincoli utilizzano il tag che è stato effettivamente recuperato anche se `plugin.json` in quel commit ha un valore obsoleto. Il nome della directory della cache per un'installazione risolta da tag include un suffisso SHA del commit di 12 caratteri, quindi se un manutentore sposta forzatamente un tag a un commit diverso, l'installazione successiva ottiene una directory della cache nuova invece di riutilizzare contenuti obsoleti.110Il semver del tag risolto viene registrato separatamente dalla `version` di `plugin.json`, quindi i controlli dei vincoli utilizzano il tag che è stato effettivamente recuperato anche se `plugin.json` in quel commit ha un valore obsoleto. Il nome della directory della cache per un'installazione risolta da tag include un suffisso SHA del commit di 12 caratteri, quindi se un manutentore sposta forzatamente un tag a un commit diverso, l'installazione successiva ottiene una directory della cache nuova invece di riutilizzare contenuti obsoleti.

106 111 

107<Note>112<Note>

Details

6 6 

7> Crea e ospita marketplace di plugin per distribuire estensioni Claude Code tra team e comunità.7> Crea e ospita marketplace di plugin per distribuire estensioni Claude Code tra team e comunità.

8 8 

9Un **plugin marketplace** è un catalogo che ti consente di distribuire plugin ad altri. I marketplace forniscono scoperta centralizzata, tracciamento delle versioni, aggiornamenti automatici e supporto per più tipi di fonte (repository git, percorsi locali e altro). Questa guida ti mostra come creare il tuo marketplace per condividere plugin con il tuo team o comunità.9Un **plugin marketplace** è un catalogo che ti consente di distribuire plugin ad altri. I marketplace forniscono scoperta centralizzata, tracciamento delle versioni, aggiornamenti automatici e supporto per più tipi di fonte, inclusi repository git e percorsi locali. Questa guida ti mostra come creare il tuo marketplace per condividere plugin con il tuo team o comunità.

10 10 

11Stai cercando di installare plugin da un marketplace esistente? Vedi [Scopri e installa plugin precostruiti](/it/discover-plugins).11Stai cercando di installare plugin da un marketplace esistente? Vedi [Scopri e installa plugin precostruiti](/it/discover-plugins).

12 12 


17La creazione e la distribuzione di un marketplace comporta:17La creazione e la distribuzione di un marketplace comporta:

18 18 

191. **Creazione di plugin**: crea uno o più plugin con skills, agenti, hooks, server MCP o server LSP. Questa guida presuppone che tu abbia già plugin da distribuire; vedi [Crea plugin](/it/plugins) per i dettagli su come crearli.191. **Creazione di plugin**: crea uno o più plugin con skills, agenti, hooks, server MCP o server LSP. Questa guida presuppone che tu abbia già plugin da distribuire; vedi [Crea plugin](/it/plugins) per i dettagli su come crearli.

202. **Creazione di un file marketplace**: definisci un `marketplace.json` che elenca i tuoi plugin e dove trovarli (vedi [Crea il file marketplace](#create-the-marketplace-file)).202. **Creazione di un file marketplace**: definisci un `marketplace.json` che elenca i tuoi plugin e dove trovarli. Vedi [Crea il file marketplace](#create-the-marketplace-file).

213. **Ospita il marketplace**: esegui il push su GitHub, GitLab o un altro host git (vedi [Ospita e distribuisci marketplace](#host-and-distribute-marketplaces)).213. **Ospita il marketplace**: esegui il push su GitHub, GitLab o un altro host git. Vedi [Ospita e distribuisci marketplace](#host-and-distribute-marketplaces).

224. **Condividi con gli utenti**: gli utenti aggiungono il tuo marketplace con `/plugin marketplace add` e installano singoli plugin (vedi [Scopri e installa plugin](/it/discover-plugins)).224. **Condividi con gli utenti**: gli utenti aggiungono il tuo marketplace con `/plugin marketplace add` e installano singoli plugin. Vedi [Scopri e installa plugin](/it/discover-plugins).

23 23 

24Una volta che il tuo marketplace è attivo, puoi aggiornarlo eseguendo il push delle modifiche al tuo repository. Gli utenti aggiornano la loro copia locale con `/plugin marketplace update`.24Una volta che il tuo marketplace è attivo, puoi aggiornarlo eseguendo il push delle modifiche al tuo repository. Gli utenti aggiornano la loro copia locale con `/plugin marketplace update`.

25 25 


44 ```markdown my-marketplace/plugins/quality-review-plugin/skills/quality-review/SKILL.md theme={null}44 ```markdown my-marketplace/plugins/quality-review-plugin/skills/quality-review/SKILL.md theme={null}

45 ---45 ---

46 description: Rivedi il codice per bug, sicurezza e prestazioni46 description: Rivedi il codice per bug, sicurezza e prestazioni

47 disable-model-invocation: true

48 ---47 ---

49 48 

50 Rivedi il codice che ho selezionato o i cambiamenti recenti per:49 Rivedi il codice che ho selezionato o i cambiamenti recenti per:


125 124 

126Crea `.claude-plugin/marketplace.json` nella radice del tuo repository. Questo file definisce il nome del tuo marketplace, le informazioni del proprietario e un elenco di plugin con le loro fonti.125Crea `.claude-plugin/marketplace.json` nella radice del tuo repository. Questo file definisce il nome del tuo marketplace, le informazioni del proprietario e un elenco di plugin con le loro fonti.

127 126 

128Ogni voce di plugin ha bisogno almeno di un `name` e di una `source` (da dove recuperarla). Vedi lo [schema completo](#marketplace-schema) di seguito per tutti i campi disponibili.127Ogni voce di plugin ha bisogno almeno di un `name` e di una `source` che dice a Claude Code da dove recuperarla. Vedi lo [schema completo](#marketplace-schema) di seguito per tutti i campi disponibili.

129 128 

130```json theme={null}129```json theme={null}

131{130{


188</h3>187</h3>

189 188 

190| Campo | Tipo | Descrizione |189| Campo | Tipo | Descrizione |

191| :------------------------------------ | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |190| :------------------------------------ | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

192| `$schema` | string | URL dello schema JSON per l'autocompletamento dell'editor e la convalida. Claude Code ignora questo campo al momento del caricamento. |191| `$schema` | string | URL dello schema JSON per l'autocompletamento dell'editor e la convalida. Claude Code ignora questo campo al momento del caricamento. |

193| `description` | string | Breve descrizione del marketplace |192| `description` | string | Breve descrizione del marketplace |

194| `version` | string | Versione del manifest del marketplace |193| `version` | string | Versione del manifest del marketplace |

195| `metadata.pluginRoot` | string | Directory di base anteposta ai percorsi di fonte del plugin relativo (ad esempio, `"./plugins"` ti consente di scrivere `"source": "formatter"` invece di `"source": "./plugins/formatter"`) |194| `metadata.pluginRoot` | string | Directory di base anteposta ai percorsi di fonte del plugin relativo (ad esempio, `"./plugins"` ti consente di scrivere `"source": "formatter"` invece di `"source": "./plugins/formatter"`) |

196| `allowCrossMarketplaceDependenciesOn` | array | Altri marketplace su cui i plugin in questo marketplace possono dipendere. Le dipendenze da un marketplace non elencato qui sono bloccate all'installazione. Vedi [Dipendi da un plugin di un altro marketplace](/it/plugin-dependencies#depend-on-a-plugin-from-another-marketplace). |195| `allowCrossMarketplaceDependenciesOn` | array | Altri marketplace su cui i plugin in questo marketplace possono dipendere. Le dipendenze da un marketplace non elencato qui sono bloccate all'installazione. Vedi [Dipendi da un plugin di un altro marketplace](/it/plugin-dependencies#depend-on-a-plugin-from-another-marketplace). |

196| `renames` | object | {/* min-version: 2.1.193 */}Mappa da un precedente `name` del plugin al suo nome attuale, o a `null` se il plugin è stato rimosso. Consente agli utenti esistenti di migrare automaticamente quando rinomini o rimuovi una voce in `plugins`. Vedi [Rinominare o rimuovere un plugin](#rename-or-remove-a-plugin). Richiede Claude Code v2.1.193 o successivo. |

197 197 

198`description` e `version` sono accettati anche sotto `metadata` per compatibilità con le versioni precedenti.198`description` e `version` sono accettati anche sotto `metadata` per compatibilità con le versioni precedenti.

199 199 


201 Voci di plugin201 Voci di plugin

202</h2>202</h2>

203 203 

204Ogni voce di plugin nell'array `plugins` descrive un plugin e dove trovarlo. Puoi includere qualsiasi campo dallo [schema del manifest del plugin](/it/plugins-reference#plugin-manifest-schema) (come `description`, `version`, `author`, `commands`, `hooks`, ecc.), più questi campi specifici del marketplace: `source`, `category`, `tags`, `strict` e `relevance`.204Ogni voce di plugin nell'array `plugins` descrive un plugin e dove trovarlo. Puoi includere qualsiasi campo dallo [schema del manifest del plugin](/it/plugins-reference#plugin-manifest-schema), come `description`, `version`, `author`, `commands` e `hooks`, più questi campi specifici del marketplace: `source`, `category`, `tags`, `strict` e `relevance`.

205 205 

206<h3 id="required-fields-1">206<h3 id="required-fields-1">

207 Campi obbligatori207 Campi obbligatori


251 251 

252Le plugin sources indicano a Claude Code dove recuperare ogni singolo plugin elencato nel tuo marketplace. Questi sono impostati nel campo `source` di ogni voce di plugin in `marketplace.json`.252Le plugin sources indicano a Claude Code dove recuperare ogni singolo plugin elencato nel tuo marketplace. Questi sono impostati nel campo `source` di ogni voce di plugin in `marketplace.json`.

253 253 

254Una volta che un plugin viene clonato o copiato nella macchina locale, viene copiato nella cache del plugin locale con versione in `~/.claude/plugins/cache`.254Dopo che Claude Code clona o scarica un plugin sulla macchina locale, lo copia nella cache del plugin locale con versione in `~/.claude/plugins/cache`.

255 255 

256| Source | Tipo | Campi | Note |256| Source | Tipo | Campi | Note |

257| ----------------- | --------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |257| ----------------- | --------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


264<Note>264<Note>

265 **Marketplace sources vs plugin sources**: Questi sono concetti diversi che controllano cose diverse.265 **Marketplace sources vs plugin sources**: Questi sono concetti diversi che controllano cose diverse.

266 266 

267 * **Marketplace source** dove recuperare il catalogo `marketplace.json` stesso. Impostato quando gli utenti eseguono `/plugin marketplace add` o nelle impostazioni `extraKnownMarketplaces`. Supporta `ref` (branch/tag) ma non `sha`.267 * **Marketplace source**: dove recuperare il catalogo `marketplace.json` stesso. Impostato quando gli utenti eseguono `/plugin marketplace add` o nelle impostazioni `extraKnownMarketplaces`. Supporta `ref` (branch/tag) ma non `sha`.

268 * **Plugin source** dove recuperare un singolo plugin elencato nel marketplace. Impostato nel campo `source` di ogni voce di plugin all'interno di `marketplace.json`. Supporta sia `ref` (branch/tag) che `sha` (commit esatto).268 * **Plugin source**: dove recuperare un singolo plugin elencato nel marketplace. Impostato nel campo `source` di ogni voce di plugin all'interno di `marketplace.json`. Supporta sia `ref` (branch/tag) che `sha` (commit esatto).

269 269 

270 Ad esempio, un marketplace ospitato in `acme-corp/plugin-catalog` (marketplace source) può elencare un plugin recuperato da `acme-corp/code-formatter` (plugin source). La marketplace source e la plugin source puntano a repository diversi e sono fissate indipendentemente.270 Ad esempio, un marketplace ospitato in `acme-corp/plugin-catalog` (marketplace source) può elencare un plugin recuperato da `acme-corp/code-formatter` (plugin source). La marketplace source e la plugin source puntano a repository diversi e sono fissate indipendentemente.

271</Note>271</Note>

272 272 

273I tipi di source basati su git di seguito sono `github`, `url` e `git-subdir`. Quando sia `ref` che `sha` sono impostati su uno qualsiasi di essi, `sha` è il pin effettivo. Claude Code recupera e controlla il commit fissato direttamente. Su la maggior parte degli host git, inclusi GitHub, GitLab e Bitbucket, questo significa che l'installazione ha successo anche se il branch o il tag denominato da `ref` è stato eliminato a monte, purché il commit sia ancora raggiungibile dal repository. Alcuni server, come AWS CodeCommit, non supportano il recupero dei commit per SHA. Su quei server il `ref` deve ancora esistere e il commit fissato deve essere raggiungibile da esso.273I tipi di source basati su git di seguito sono `github`, `url` e `git-subdir`. Quando sia `ref` che `sha` sono impostati su uno qualsiasi di essi, `sha` è il pin effettivo. Claude Code recupera e controlla il commit fissato direttamente.

274 

275Su la maggior parte degli host git, inclusi GitHub, GitLab e Bitbucket, questo significa che l'installazione ha successo anche se il branch o il tag denominato da `ref` è stato eliminato a monte, purché il commit sia ancora raggiungibile dal repository. Alcuni server, come AWS CodeCommit, non supportano il recupero dei commit per SHA. Su quei server il `ref` deve ancora esistere e il commit fissato deve essere raggiungibile da esso.

274 276 

275<h3 id="relative-paths">277<h3 id="relative-paths">

276 Percorsi relativi278 Percorsi relativi


288I percorsi si risolvono relativamente alla radice del marketplace, che è la directory contenente `.claude-plugin/`. Nell'esempio sopra, `./plugins/my-plugin` punta a `<repo>/plugins/my-plugin`, anche se `marketplace.json` si trova in `<repo>/.claude-plugin/marketplace.json`. Non usare `../` per fare riferimento a percorsi al di fuori della radice del marketplace.290I percorsi si risolvono relativamente alla radice del marketplace, che è la directory contenente `.claude-plugin/`. Nell'esempio sopra, `./plugins/my-plugin` punta a `<repo>/plugins/my-plugin`, anche se `marketplace.json` si trova in `<repo>/.claude-plugin/marketplace.json`. Non usare `../` per fare riferimento a percorsi al di fuori della radice del marketplace.

289 291 

290<Note>292<Note>

291 I percorsi relativi funzionano solo quando gli utenti aggiungono il tuo marketplace tramite Git (GitHub, GitLab o URL git). Se gli utenti aggiungono il tuo marketplace tramite un URL diretto al file `marketplace.json`, i percorsi relativi non si risolveranno correttamente. Per la distribuzione basata su URL, usa invece GitHub, npm o fonti URL git. Vedi [Troubleshooting](#plugins-with-relative-paths-fail-in-url-based-marketplaces) per i dettagli.293 I percorsi relativi si risolvono rispetto a una copia locale del marketplace, quindi funzionano quando gli utenti aggiungono il tuo marketplace da una fonte git o da una directory locale. Se gli utenti aggiungono il tuo marketplace tramite un URL diretto al file `marketplace.json`, i percorsi relativi non si risolveranno, perché viene scaricato solo quel file. Per la distribuzione basata su URL, usa invece GitHub, npm o fonti URL git. Vedi [Troubleshooting](#plugins-with-relative-paths-fail-in-url-based-marketplaces) per i dettagli.

292</Note>294</Note>

293 295 

294<h3 id="github-repositories">296<h3 id="github-repositories">


504 506 

505Cose importanti da notare:507Cose importanti da notare:

506 508 

507* **`commands` e `agents`**: Puoi specificare più directory o singoli file. I percorsi sono relativi alla radice del plugin.509* **`commands` e `agents`**: puoi specificare più directory o singoli file. I percorsi sono relativi alla radice del plugin.

508* **`${CLAUDE_PLUGIN_ROOT}`**: Usa questa variabile nelle configurazioni degli hook e del server MCP per fare riferimento ai file all'interno della directory di installazione del plugin. Questo è necessario perché i plugin vengono copiati in una posizione cache quando installati. Per le dipendenze o lo stato che dovrebbe sopravvivere agli aggiornamenti dei plugin, usa [`${CLAUDE_PLUGIN_DATA}`](/it/plugins-reference#persistent-data-directory) invece.510* **`${CLAUDE_PLUGIN_ROOT}`**: Usa questa variabile nelle configurazioni degli hook e del server MCP per fare riferimento ai file all'interno della directory di installazione del plugin. Questo è necessario perché i plugin vengono copiati in una posizione cache quando installati. Per le dipendenze o lo stato che dovrebbe sopravvivere agli aggiornamenti dei plugin, usa [`${CLAUDE_PLUGIN_DATA}`](/it/plugins-reference#persistent-data-directory) invece.

509* **`strict: false`**: Poiché è impostato su false, il plugin non ha bisogno del suo `plugin.json`. La voce del marketplace definisce tutto. Vedi [Strict mode](#strict-mode) di seguito.511* **`strict: false`**: poiché è impostato su false, il plugin non ha bisogno del suo `plugin.json`. La voce del marketplace definisce tutto. Vedi [Strict mode](#strict-mode) di seguito.

510 512 

511Per impostazione predefinita, le skills di un plugin vengono caricate dalla directory `skills/` sotto la sua `source`. I percorsi elencati nel campo `skills` si aggiungono a quella scansione:513Per impostazione predefinita, le skills di un plugin vengono caricate dalla directory `skills/` sotto la sua `source`. I percorsi elencati nel campo `skills` si aggiungono a quella scansione:

512 514 


547 Ospita su GitHub (consigliato)549 Ospita su GitHub (consigliato)

548</h3>550</h3>

549 551 

550GitHub fornisce il metodo di distribuzione più semplice:552GitHub è il metodo consigliato per ospitare e distribuire un marketplace:

551 553 

5521. **Crea un repository**: Configura un nuovo repository per il tuo marketplace5541. **Crea un repository**: configura un nuovo repository per il tuo marketplace

5532. **Aggiungi il file marketplace**: Crea `.claude-plugin/marketplace.json` con le tue definizioni di plugin5552. **Aggiungi il file marketplace**: crea `.claude-plugin/marketplace.json` con le tue definizioni di plugin

5543. **Condividi con i team**: Gli utenti aggiungono il tuo marketplace con `/plugin marketplace add owner/repo`5563. **Condividi con i team**: gli utenti aggiungono il tuo marketplace con `/plugin marketplace add owner/repo`

555 557 

556**Vantaggi**: Controllo della versione integrato, tracciamento dei problemi e funzionalità di collaborazione del team.558**Vantaggi**: controllo della versione integrato, tracciamento dei problemi e funzionalità di collaborazione del team.

557 559 

558<h3 id="host-on-other-git-services">560<h3 id="host-on-other-git-services">

559 Ospita su altri servizi git561 Ospita su altri servizi git


596Testa il tuo marketplace localmente prima di condividerlo:598Testa il tuo marketplace localmente prima di condividerlo:

597 599 

598```shell theme={null}600```shell theme={null}

599/plugin marketplace add ./my-local-marketplace601/plugin marketplace add ./my-marketplace

600/plugin install test-plugin@my-local-marketplace602/plugin install quality-review-plugin@my-plugins

601```603```

602 604 

603Per l'intera gamma di comandi add (GitHub, URL Git, percorsi locali, URL remoti), vedi [Aggiungi marketplace](/it/discover-plugins#add-marketplaces).605Per l'intera gamma di comandi add (GitHub, URL Git, percorsi locali, URL remoti), vedi [Aggiungi marketplace](/it/discover-plugins#add-marketplaces).


644 646 

645Per le immagini container e gli ambienti CI, puoi pre-popolare una directory di plugin al momento della compilazione in modo che Claude Code si avvii con marketplace e plugin già disponibili, senza clonare nulla al runtime. Imposta la variabile di ambiente `CLAUDE_CODE_PLUGIN_SEED_DIR` per puntare a questa directory.647Per le immagini container e gli ambienti CI, puoi pre-popolare una directory di plugin al momento della compilazione in modo che Claude Code si avvii con marketplace e plugin già disponibili, senza clonare nulla al runtime. Imposta la variabile di ambiente `CLAUDE_CODE_PLUGIN_SEED_DIR` per puntare a questa directory.

646 648 

647Per stratificare più directory seed, separa i percorsi con `:` su Unix o `;` su Windows. Claude Code cerca ogni directory in ordine e il primo seed che contiene un determinato marketplace o cache di plugin vince.649Per stratificare più directory seed, separa i percorsi con `:` su Unix o `;` su Windows. Claude Code cerca ogni directory in ordine e utilizza il primo seed che contiene un determinato marketplace o cache di plugin.

648 650 

649La directory seed rispecchia la struttura di `~/.claude/plugins`:651La directory seed rispecchia la struttura di `~/.claude/plugins`:

650 652 


680 Restrizioni del marketplace gestito682 Restrizioni del marketplace gestito

681</h3>683</h3>

682 684 

683Per le organizzazioni che richiedono un controllo rigoroso sulle fonti dei plugin, gli amministratori possono limitare quali marketplace di plugin gli utenti possono aggiungere utilizzando l'impostazione [`strictKnownMarketplaces`](/it/settings#strictknownmarketplaces) nelle impostazioni gestite.685Per le organizzazioni che richiedono un controllo rigoroso sulle fonti dei plugin, gli amministratori possono limitare quali marketplace di plugin gli utenti possono aggiungere utilizzando l'impostazione [`strictKnownMarketplaces`](/it/settings#strictknownmarketplaces) nelle impostazioni gestite. Per anche rifiutare i flag CLI che caricano plugin, agenti e server MCP per una singola esecuzione, abbinalo a [`disableSideloadFlags`](/it/settings#available-settings).

684 686 

685Quando `strictKnownMarketplaces` è configurato nelle impostazioni gestite, il comportamento della restrizione dipende dal valore:687Quando `strictKnownMarketplaces` è configurato nelle impostazioni gestite, il comportamento della restrizione dipende dal valore:

686 688 


881 883 

882Un plugin può vincolare le sue dipendenze a un intervallo semver in modo che gli aggiornamenti a una dipendenza non interrompano il plugin dipendente. Vedi [Vincola le versioni delle dipendenze dei plugin](/it/plugin-dependencies) per la convenzione del tag git `{plugin-name}--v{version}`, la sintassi dell'intervallo e come più vincoli sulla stessa dipendenza vengono combinati.884Un plugin può vincolare le sue dipendenze a un intervallo semver in modo che gli aggiornamenti a una dipendenza non interrompano il plugin dipendente. Vedi [Vincola le versioni delle dipendenze dei plugin](/it/plugin-dependencies) per la convenzione del tag git `{plugin-name}--v{version}`, la sintassi dell'intervallo e come più vincoli sulla stessa dipendenza vengono combinati.

883 885 

886<h3 id="rename-or-remove-a-plugin">

887 Rinomina o rimuovi un plugin

888</h3>

889 

890Il `name` di un plugin è il suo identificatore stabile. Gli utenti lo referenziano in `enabledPlugins`, `pluginConfigs` e comandi `/plugin install`, quindi cambiarlo interrompe ogni installazione esistente. Per cambiare l'etichetta mostrata nell'interfaccia utente senza interrompere le installazioni, imposta [`displayName`](#optional-plugin-fields) e mantieni `name` invariato.

891 

892Se devi cambiare il `name` di un plugin, o rimuovi un plugin dall'array `plugins`, aggiungi una voce `renames` di livello superiore in modo che gli utenti esistenti migrino invece di vedere un errore `plugin-not-found`. La migrazione automatica richiede Claude Code v2.1.193 o successivo. Mappa ogni nome precedente al suo nome attuale, o a `null` se il plugin non esiste più. L'esempio seguente rinomina `formatter` a `code-formatter` e registra che `legacy-linter` è stato rimosso:

893 

894```json theme={null}

895{

896 "name": "acme-tools",

897 "owner": { "name": "Acme" },

898 "plugins": [

899 { "name": "code-formatter", "source": "./plugins/code-formatter" }

900 ],

901 "renames": {

902 "formatter": "code-formatter",

903 "legacy-linter": null

904 }

905}

906```

907 

908Quando un utente avvia Claude Code con il vecchio nome ancora nelle sue impostazioni, Claude Code segue la mappa `renames`:

909 

910* Se la voce punta a un nuovo nome, Claude Code carica il plugin con il suo nuovo nome e mostra un avviso di una riga come `Renamed to "code-formatter" in the "acme-tools" marketplace`. Quindi riscrive la vecchia chiave alla nuova chiave negli ambiti di impostazioni utente, progetto e locale sia per `enabledPlugins` che per `pluginConfigs`, in modo che l'avviso appaia una volta.

911* Per una voce `null`, Claude Code elimina la vecchia chiave e l'avviso segnala che il plugin è stato rimosso dal marketplace.

912* Se il plugin rinominato utilizza una fonte remota come `github` o `npm`, Claude Code segnala `plugin-cache-miss` dopo il rinomina e l'utente deve eseguire `/plugin install` una volta per recuperarlo con il nuovo nome.

913 

914Tratta `renames` come una cronologia di sola aggiunta: mantieni le vecchie voci al loro posto anche dopo che ti aspetti che ogni utente abbia migrato. Claude Code segue le catene, quindi se in seguito rinomini `code-formatter` a `formatter-pro`, aggiungi una seconda voce piuttosto che modificare la prima. Un utente che ha ancora l'originale `formatter` abilitato si risolve quindi attraverso entrambe le voci a `formatter-pro`.

915 

916Esegui `claude plugin validate .` dopo aver modificato la mappa; rifiuta qualsiasi voce la cui catena forma un ciclo o non termina a `null` o a un nome elencato in `plugins`.

917 

918<Note>

919 Le impostazioni gestite e di policy sono di sola lettura per Claude Code, quindi i plugin abilitati lì non possono essere riscritti automaticamente. Il plugin rinominato si carica ancora ogni sessione, ma l'avviso di rinomina ricorre fino a quando un amministratore non aggiorna `enabledPlugins` nel file di impostazioni gestite per usare il nuovo nome. Lo stesso vale per i plugin abilitati attraverso altre fonti di sola lettura come `--add-dir`.

920</Note>

921 

922Le versioni precedenti di Claude Code ignorano il campo `renames` e segnalano `plugin-not-found` per il vecchio nome.

923 

884<h2 id="validation-and-testing">924<h2 id="validation-and-testing">

885 Validazione e test925 Validazione e test

886</h2>926</h2>


933 973 

934* `<source>`: Scorciatoia GitHub `owner/repo`, URL git, URL remoto a un file `marketplace.json` o percorso di directory locale. Per fissare a un branch o tag, aggiungi `@ref` alla scorciatoia GitHub o `#ref` a un URL git974* `<source>`: Scorciatoia GitHub `owner/repo`, URL git, URL remoto a un file `marketplace.json` o percorso di directory locale. Per fissare a un branch o tag, aggiungi `@ref` alla scorciatoia GitHub o `#ref` a un URL git

935 975 

976Un URL deve includere il suo schema. A partire da Claude Code v2.1.196, un host digitato senza uno, come `gitlab.example.com/team/plugins`, viene rifiutato come una scorciatoia `owner/repo` non valida e l'errore ti dice di aggiungere `https://` o usare `./` per un percorso locale. Le versioni precedenti lo leggevano male come un percorso di repository GitHub e falliscono al momento del clone con un errore di GitHub non trovato.

977 

936**Opzioni:**978**Opzioni:**

937 979 

938| Opzione | Descrizione | Predefinito |980| Opzione | Descrizione | Predefinito |


1061 Errori di validazione del marketplace1103 Errori di validazione del marketplace

1062</h3>1104</h3>

1063 1105 

1064Esegui `claude plugin validate .` o `/plugin validate .` dalla directory del tuo marketplace per verificare i problemi. Quando puntato a una directory del marketplace, il validatore controlla solo `marketplace.json`: schema, nomi di plugin duplicati, traversal del percorso di origine e mancate corrispondenze di versione rispetto a ogni `plugin.json` referenziato.1106Esegui `claude plugin validate .` o `/plugin validate .` dalla directory del tuo marketplace per verificare i problemi. Quando puntato a una directory del marketplace, il validatore controlla `marketplace.json` per errori di schema, nomi di plugin duplicati e traversal del percorso di origine. Per ogni voce il cui `source` è un percorso locale, valida anche il `plugin.json` di quel plugin e avvisa quando la `version` della voce non corrisponde a quella in `plugin.json`. I problemi trovati nel `plugin.json` di un plugin sono preceduti dall'indice della voce, nella forma `plugins[2] plugin.json →`.

1107 

1108A partire da Claude Code v2.1.196, il pass per voce include anche:

1109 

1110* plugin il cui `source` è `.`

1111* esecuzione quando `marketplace.json` è al di fuori di una directory `.claude-plugin`, risolvendo le origini rispetto alla directory del file stesso

1112* segnalazione dei problemi di ogni voce anche quando un'altra parte del file ha errori di schema

1113 

1114Le versioni precedenti saltano i plugin alla radice del marketplace e scendono solo da un `.claude-plugin/marketplace.json`.

1065 1115 

1066Per validare il `plugin.json` di un singolo plugin e i suoi file di skill, agente, comando e hook, esegui il comando sulla directory del plugin stesso, ad esempio `claude plugin validate ./plugins/my-plugin`. Errori comuni:1116Per validare il `plugin.json` di un singolo plugin e i suoi file di skill, agente, comando e hook, esegui il comando sulla directory del plugin stesso, ad esempio `claude plugin validate ./plugins/my-plugin`. Errori comuni:

1067 1117 

Details

477Se includi un manifest, `name` è l'unico campo obbligatorio.477Se includi un manifest, `name` è l'unico campo obbligatorio.

478 478 

479| Campo | Tipo | Descrizione | Esempio |479| Campo | Tipo | Descrizione | Esempio |

480| :----- | :----- | :----------------------------------------------- | :------------------- |480| :----- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |

481| `name` | string | Identificatore univoco (kebab-case, senza spazi) | `"deployment-tools"` |481| `name` | string | Identificatore univoco (kebab-case, senza spazi). Quando una [voce del marketplace](/it/plugin-marketplaces#plugin-entries) elenca il plugin con un nome diverso, il nome della voce del marketplace è quello che `enabledPlugins` e `/plugin` utilizzano | `"deployment-tools"` |

482 482 

483Questo nome viene utilizzato per lo spazio dei nomi dei componenti. Ad esempio, nell'interfaccia utente, l'agent `agent-creator` per il plugin con nome `plugin-dev` apparirà come `plugin-dev:agent-creator`.483Questo nome viene utilizzato per lo spazio dei nomi dei componenti. Ad esempio, nell'interfaccia utente, l'agent `agent-creator` per il plugin con nome `plugin-dev` apparirà come `plugin-dev:agent-creator`.

484 484 

quickstart.md +1 −0

Details

106* [Claude Pro, Max, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (consigliato)106* [Claude Pro, Max, Team o Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (consigliato)

107* [Claude Console](https://console.anthropic.com/) (accesso API con crediti prepagati). Al primo accesso, uno spazio di lavoro "Claude Code" viene creato automaticamente nella Console per il tracciamento centralizzato dei costi.107* [Claude Console](https://console.anthropic.com/) (accesso API con crediti prepagati). Al primo accesso, uno spazio di lavoro "Claude Code" viene creato automaticamente nella Console per il tracciamento centralizzato dei costi.

108* [Amazon Bedrock, Google Vertex AI o Microsoft Foundry](/it/third-party-integrations) (provider cloud aziendali)108* [Amazon Bedrock, Google Vertex AI o Microsoft Foundry](/it/third-party-integrations) (provider cloud aziendali)

109* Un [gateway di app Claude](/it/claude-apps-gateway) auto-ospitato, se la tua organizzazione ne esegue uno: il tuo amministratore pre-configura l'URL del gateway, e `/login` si apre direttamente sulla schermata **Cloud gateway** per consentire l'accesso con SSO aziendale

109 110 

110Una volta effettuato l'accesso, le tue credenziali vengono archiviate e non dovrai accedere di nuovo.111Una volta effettuato l'accesso, le tue credenziali vengono archiviate e non dovrai accedere di nuovo.

111 112 

Details

34 34 

35* **Abbonamento**: disponibile su piani Pro, Max, Team e Enterprise. Le chiavi API non sono supportate. Su Team e Enterprise, un amministratore deve prima abilitare l'interruttore Remote Control nelle [impostazioni di amministrazione di Claude Code](https://claude.ai/admin-settings/claude-code).35* **Abbonamento**: disponibile su piani Pro, Max, Team e Enterprise. Le chiavi API non sono supportate. Su Team e Enterprise, un amministratore deve prima abilitare l'interruttore Remote Control nelle [impostazioni di amministrazione di Claude Code](https://claude.ai/admin-settings/claude-code).

36* **Autenticazione**: esegui `claude` e utilizza `/login` per accedere tramite claude.ai se non l'hai già fatto.36* **Autenticazione**: esegui `claude` e utilizza `/login` per accedere tramite claude.ai se non l'hai già fatto.

37* **Endpoint API**: non disponibile su Amazon Bedrock, Google Vertex AI o Microsoft Foundry. {/* min-version: 2.1.196 */}A partire dalla v2.1.196, Remote Control è anche disabilitato quando [`ANTHROPIC_BASE_URL`](/it/env-vars) punta a un host diverso da `api.anthropic.com`, come un [gateway LLM](/it/llm-gateway) o proxy. Annulla l'impostazione della variabile per utilizzare Remote Control.

37* **Fiducia dell'area di lavoro**: esegui `claude` nella directory del tuo progetto almeno una volta per accettare la finestra di dialogo di fiducia dell'area di lavoro.38* **Fiducia dell'area di lavoro**: esegui `claude` nella directory del tuo progetto almeno una volta per accettare la finestra di dialogo di fiducia dell'area di lavoro.

38 39 

39<h2 id="start-a-remote-control-session">40<h2 id="start-a-remote-control-session">


148 Abilita Remote Control per tutte le sessioni149 Abilita Remote Control per tutte le sessioni

149</h3>150</h3>

150 151 

151Per impostazione predefinita, Remote Control si attiva solo quando esegui esplicitamente `claude remote-control`, `claude --remote-control`, o `/remote-control`. Per abilitarlo automaticamente per ogni sessione interattiva, esegui `/config` all'interno di Claude Code e imposta **Enable Remote Control for all sessions** su `true`. Impostalo di nuovo su `false` per disabilitarlo. Nell'app Desktop, puoi anche attivare/disattivare questa opzione da **Settings → Claude Code → Enable remote control by default**.152Remote Control si attiva solo quando esegui esplicitamente `claude remote-control`, `claude --remote-control`, o `/remote-control`, a meno che l'auto-connessione non sia attivata. Per abilitarlo automaticamente per ogni sessione interattiva, esegui `/config` all'interno di Claude Code e imposta **Enable Remote Control for all sessions** su `true`. Impostalo su `false` per non auto-connetterti mai, oppure lascialo non impostato per seguire il valore predefinito della tua organizzazione. Nell'app Desktop, puoi anche attivare/disattivare questa opzione da **Settings → Claude Code → Enable remote control by default**.

152 153 

153Con questa impostazione attiva, ogni processo Claude Code interattivo registra una sessione remota. Se esegui più istanze, ognuna ottiene il proprio ambiente e sessione. Per eseguire più sessioni simultanee da un singolo processo, utilizza invece la [modalità server](#start-a-remote-control-session).154Con questa impostazione attiva, ogni processo Claude Code interattivo registra una sessione remota. Se esegui più istanze, ognuna ottiene il proprio ambiente e sessione. Per eseguire più sessioni simultanee da un singolo processo, utilizza invece la [modalità server](#start-a-remote-control-session).

154 155 


318 319 

319Claude Code non ha potuto raggiungere il servizio di feature-flag per verificare se Remote Control è abilitato per il tuo account, in genere perché sei offline o un proxy sta bloccando la richiesta. Riprova una volta che hai accesso alla rete, oppure esegui `claude doctor` per i dettagli. Il messaggio correlato "Couldn't verify your organization's Remote Control policy" ha la stessa causa e la stessa soluzione. Entrambi i messaggi sono stati aggiunti nella v2.1.178.320Claude Code non ha potuto raggiungere il servizio di feature-flag per verificare se Remote Control è abilitato per il tuo account, in genere perché sei offline o un proxy sta bloccando la richiesta. Riprova una volta che hai accesso alla rete, oppure esegui `claude doctor` per i dettagli. Il messaggio correlato "Couldn't verify your organization's Remote Control policy" ha la stessa causa e la stessa soluzione. Entrambi i messaggi sono stati aggiunti nella v2.1.178.

320 321 

322<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">

323 "Remote Control is only available when using Claude via api.anthropic.com"

324</h3>

325 

326La sessione non sta comunicando direttamente con l'API Anthropic, quindi non c'è alcun backend claude.ai con cui associarsi. Questo accade su Amazon Bedrock, Google Vertex AI e Microsoft Foundry. {/* min-version: 2.1.196 */}A partire dalla v2.1.196 accade anche quando [`ANTHROPIC_BASE_URL`](/it/env-vars) punta a un host diverso da `api.anthropic.com`, come un [gateway LLM](/it/llm-gateway) o proxy, anche se accedi con claude.ai. Annulla l'impostazione di `ANTHROPIC_BASE_URL` e riavvia la sessione per utilizzare Remote Control.

327 

321<h3 id="remote-control-is-disabled-by-your-organization’s-policy">328<h3 id="remote-control-is-disabled-by-your-organization’s-policy">

322 "Remote Control is disabled by your organization's policy"329 "Remote Control is disabled by your organization's policy"

323</h3>330</h3>

Details

48| Solo prompt | `/loop check the deploy` | Il vostro prompt viene eseguito a un [intervallo scelto da Claude](#let-claude-choose-the-interval) ad ogni iterazione |48| Solo prompt | `/loop check the deploy` | Il vostro prompt viene eseguito a un [intervallo scelto da Claude](#let-claude-choose-the-interval) ad ogni iterazione |

49| Solo intervallo, o nulla | `/loop` | Il [prompt di manutenzione integrato](#run-the-built-in-maintenance-prompt) viene eseguito, oppure il vostro `loop.md` se esiste |49| Solo intervallo, o nulla | `/loop` | Il [prompt di manutenzione integrato](#run-the-built-in-maintenance-prompt) viene eseguito, oppure il vostro `loop.md` se esiste |

50 50 

51Potete anche passare un altro comando come prompt, ad esempio `/loop 20m /review-pr 1234`, per rieseguire un flusso di lavoro confezionato ad ogni iterazione.51Potete anche passare uno skill come prompt, ad esempio `/loop 20m /review-pr 1234`, per rieseguire quello skill ad ogni iterazione. {/* min-version: 2.1.196 */}A partire dalla v2.1.196, un'esecuzione pianificata esegue solo gli skill che Claude è [autorizzato a invocare autonomamente](/it/skills#control-who-invokes-a-skill). I seguenti raggiungono Claude come testo semplice invece di essere eseguiti:

52 

53* comandi integrati come `/permissions`, `/model`, o `/clear`

54* skill contrassegnati [`disable-model-invocation: true`](/it/skills#frontmatter-reference)

55* skill trattenuti da Claude da un'impostazione [`skillOverrides`](/it/skills#override-skill-visibility-from-settings) o da una regola di [negazione](/it/skills#restrict-claude’s-skill-access) `Skill`

56* [prompt MCP](/it/mcp#use-mcp-prompts-as-commands) come `/mcp__github__list_prs`; gli skill che un server MCP espone vengono comunque eseguiti

52 57 

53<h3 id="run-on-a-fixed-interval">58<h3 id="run-on-a-fixed-interval">

54 Eseguire su un intervallo fisso59 Eseguire su un intervallo fisso


238 243 

239La pianificazione con ambito di sessione ha vincoli intrinseci:244La pianificazione con ambito di sessione ha vincoli intrinseci:

240 245 

241* Le attività si attivano solo mentre Claude Code è in esecuzione e inattivo. La chiusura del terminale o l'uscita dalla sessione le interrompe.246* Le attività si attivano solo mentre Claude Code è in esecuzione e inattivo. La chiusura del terminale o l'uscita dalla sessione le interrompe. [Mettere in background la sessione](/it/agent-view#from-inside-a-session) trasporta le attività `/loop` a una sessione in background, che continua a funzionare senza un terminale.

242* Nessun recupero per attivazioni perse. Se l'ora pianificata di un'attività passa mentre Claude è occupato in una richiesta a lunga esecuzione, si attiva una sola volta quando Claude diventa inattivo, non una volta per ogni intervallo perso.247* Nessun recupero per attivazioni perse. Se l'ora pianificata di un'attività passa mentre Claude è occupato in una richiesta a lunga esecuzione, si attiva una sola volta quando Claude diventa inattivo, non una volta per ogni intervallo perso.

243* L'avvio di una nuova conversazione cancella tutte le attività con ambito di sessione. La ripresa con `claude --resume` o `claude --continue` ripristina le attività che non sono scadute: attività ricorrenti entro sette giorni dalla creazione, e attività una tantum la cui ora pianificata non è ancora passata. Le attività Bash in background e monitor non vengono mai ripristinate al riavvio.248* L'avvio di una nuova conversazione cancella tutte le attività con ambito di sessione. La ripresa con `claude --resume` o `claude --continue` ripristina le attività che non sono scadute: attività ricorrenti entro sette giorni dalla creazione, e attività una tantum la cui ora pianificata non è ancora passata. Le attività Bash in background e monitor non vengono mai ripristinate al riavvio.

244 249 

Details

153 153 

154Le impostazioni gestite dal server e le [impostazioni gestite dall'endpoint](/it/settings#settings-files) occupano entrambe il livello più alto nella [gerarchia delle impostazioni](/it/settings#settings-precedence) di Claude Code. Nessun altro livello di impostazioni può sostituirle, inclusi gli argomenti della riga di comando.154Le impostazioni gestite dal server e le [impostazioni gestite dall'endpoint](/it/settings#settings-files) occupano entrambe il livello più alto nella [gerarchia delle impostazioni](/it/settings#settings-precedence) di Claude Code. Nessun altro livello di impostazioni può sostituirle, inclusi gli argomenti della riga di comando.

155 155 

156All'interno del livello gestito, la prima fonte che fornisce una configurazione non vuota vince. Le impostazioni gestite dal server vengono controllate per prime, quindi le impostazioni gestite dall'endpoint. Le fonti non si uniscono: se le impostazioni gestite dal server forniscono qualsiasi chiave, le impostazioni gestite dall'endpoint vengono ignorate completamente. Se le impostazioni gestite dal server non forniscono nulla, le impostazioni gestite dall'endpoint si applicano.156All'interno del livello gestito, un [`policyHelper`](/it/settings#compute-managed-settings-with-a-policy-helper) configurato ha la precedenza su ogni altra fonte gestita, incluse le impostazioni gestite dal server: il suo output diventa l'unica configurazione gestita per l'esecuzione. Altrimenti, la prima fonte che fornisce una configurazione non vuota vince. Le impostazioni gestite dal server vengono controllate per prime, quindi le impostazioni gestite dall'endpoint. Le fonti non si uniscono: se le impostazioni gestite dal server forniscono qualsiasi chiave, le impostazioni gestite dall'endpoint vengono ignorate completamente. Si applica un'eccezione: un piccolo insieme di [chiavi di blocco tra fonti](/it/settings#settings-precedence), come i blocchi della lista di autorizzazione della sandbox, viene rispettato quando qualsiasi fonte gestita controllata dall'amministratore li imposta; il livello del registro HKCU scrivibile dall'utente è escluso. Se le impostazioni gestite dal server non forniscono nulla, le impostazioni gestite dall'endpoint si applicano.

157 157 

158Se cancellate la configurazione gestita dal server nella console di amministrazione con l'intenzione di tornare a una plist gestita dall'endpoint o a una politica del registro, tenete presente che le [impostazioni memorizzate nella cache](#fetch-and-caching-behavior) persistono sulle macchine client fino al prossimo recupero riuscito. Eseguite `/status` per vedere quale fonte gestita è attiva.158Se cancellate la configurazione gestita dal server nella console di amministrazione con l'intenzione di tornare a una plist gestita dall'endpoint o a una politica del registro, tenete presente che le [impostazioni memorizzate nella cache](#fetch-and-caching-behavior) persistono sulle macchine client fino al prossimo recupero riuscito. Eseguite `/status` per vedere quale fonte gestita è attiva.

159 159 


222* **Impostazioni dei comandi shell**: impostazioni che eseguono comandi shell222* **Impostazioni dei comandi shell**: impostazioni che eseguono comandi shell

223* **Variabili di ambiente personalizzate**: variabili non nell'elenco di sicurezza noto223* **Variabili di ambiente personalizzate**: variabili non nell'elenco di sicurezza noto

224* **Configurazioni di hook**: qualsiasi definizione di hook224* **Configurazioni di hook**: qualsiasi definizione di hook

225* **Contenuto CLAUDE.md gestito**: un valore `claudeMd` consegnato attraverso impostazioni gestite

225 226 

226Quando queste impostazioni sono presenti, gli utenti vedono una finestra di dialogo di sicurezza che spiega cosa viene configurato. Gli utenti devono approvare per procedere. Se un utente rifiuta le impostazioni, Claude Code esce.227Quando queste impostazioni sono presenti, gli utenti vedono una finestra di dialogo di sicurezza che spiega cosa viene configurato. Gli utenti devono approvare per procedere. Se un utente rifiuta le impostazioni, Claude Code esce.

227 228 


239* Google Vertex AI240* Google Vertex AI

240* Microsoft Foundry241* Microsoft Foundry

241* [Claude Platform on AWS](/it/claude-platform-on-aws)242* [Claude Platform on AWS](/it/claude-platform-on-aws)

242* Endpoint API personalizzati tramite `ANTHROPIC_BASE_URL` o [gateway LLM](/it/llm-gateway)243* Endpoint API personalizzati tramite `ANTHROPIC_BASE_URL` o gateway [LLM](/it/llm-gateway) di terze parti

244 

245Per le distribuzioni Bedrock, Vertex AI e Foundry, un [gateway di app Claude](/it/claude-apps-gateway) auto-ospitato fornisce la consegna equivalente di impostazioni gestite da remoto: i client firmati dal gateway recuperano le impostazioni gestite dal gateway invece che da `api.anthropic.com`. La semantica degli errori differisce all'avvio: un client gateway che non riesce a raggiungere il gateway esce con un errore invece di ricadere sulle impostazioni memorizzate nella cache, mentre l'aggiornamento in background orario è fail-open su entrambi i canali.

243 246 

244<h2 id="audit-logging">247<h2 id="audit-logging">

245 Registrazione di audit248 Registrazione di audit


253 Considerazioni sulla sicurezza256 Considerazioni sulla sicurezza

254</h2>257</h2>

255 258 

256Le impostazioni gestite dal server forniscono l'applicazione centralizzata dei criteri, ma operano come un controllo lato client. Su dispositivi non gestiti, gli utenti con accesso amministratore o sudo possono modificare il binario di Claude Code, il filesystem, o la configurazione di rete.259Le impostazioni gestite dal server forniscono l'applicazione centralizzata dei criteri, ma operano come un controllo lato client, non come un limite di sicurezza. Su dispositivi non gestiti, un utente non ha bisogno dell'accesso amministratore o sudo per aggirarli.

257 260 

258| Scenario | Comportamento |261| Scenario | Comportamento |

259| :--------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |262| :--------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

260| L'utente modifica il file di impostazioni memorizzato nella cache | Il file manomesso si applica all'avvio, ma le impostazioni corrette si ripristinano al prossimo recupero dal server |263| L'utente modifica il file di impostazioni memorizzato nella cache | Il file manomesso si applica all'avvio, ma le impostazioni corrette si ripristinano al prossimo recupero dal server |

261| L'utente elimina il file di impostazioni memorizzato nella cache | Si verifica il comportamento del primo avvio: le impostazioni vengono recuperate in modo asincrono con una breve finestra non applicata |264| L'utente elimina il file di impostazioni memorizzato nella cache | Si verifica il comportamento del primo avvio: le impostazioni vengono recuperate in modo asincrono con una breve finestra non applicata |

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

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

262| L'API non è disponibile | Le impostazioni memorizzate nella cache si applicano se disponibili, altrimenti le impostazioni gestite non vengono applicate fino al prossimo recupero riuscito. Con `forceRemoteSettingsRefresh: true`, la CLI esce invece di continuare, ad eccezione dei [`claude auth` subcomandi](#enforce-fail-closed-startup) |267| L'API non è disponibile | Le impostazioni memorizzate nella cache si applicano se disponibili, altrimenti le impostazioni gestite non vengono applicate fino al prossimo recupero riuscito. Con `forceRemoteSettingsRefresh: true`, la CLI esce invece di continuare, ad eccezione dei [`claude auth` subcomandi](#enforce-fail-closed-startup) |

263| L'utente si autentica con un'organizzazione diversa | Le impostazioni non vengono consegnate per gli account al di fuori dell'organizzazione gestita |268| L'utente si autentica con un'organizzazione diversa | Le impostazioni non vengono consegnate per gli account al di fuori dell'organizzazione gestita |

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

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

265 271 

266Per rilevare le modifiche della configurazione in fase di esecuzione, utilizzare gli [hook `ConfigChange`](/it/hooks#configchange) per registrare le modifiche o bloccare le modifiche non autorizzate prima che abbiano effetto.272Per rilevare le modifiche della configurazione in fase di esecuzione, utilizzare gli [hook `ConfigChange`](/it/hooks#configchange) per registrare le modifiche o bloccare le modifiche non autorizzate prima che abbiano effetto.

267 273 

268Per garanzie di applicazione più forti, utilizzare le [impostazioni gestite dall'endpoint](/it/settings#settings-files) su dispositivi registrati in una soluzione MDM.274Per limitare quali organizzazioni i vostri utenti possono accedere con le credenziali fornite dal client, consultare [Enforce network-level access control with Tenant Restrictions](https://support.claude.com/en/articles/13198485-enforce-network-level-access-control-with-tenant-restrictions) nel Centro assistenza Claude. Per garanzie di applicazione più forti, utilizzare le [impostazioni gestite dall'endpoint](/it/settings#settings-files) su dispositivi registrati in una soluzione MDM.

269 275 

270<h2 id="see-also">276<h2 id="see-also">

271 Vedere anche277 Vedere anche

sessions.md +8 −2

Details

30 Dove il selezionatore di sessioni cerca30 Dove il selezionatore di sessioni cerca

31</h3>31</h3>

32 32 

33Le sessioni vengono archiviate per directory di progetto. Per impostazione predefinita, il selezionatore di sessioni mostra le sessioni interattive dal worktree corrente, più le sessioni avviate altrove che hanno aggiunto la directory corrente con `/add-dir`. {/* min-version: 2.1.169 */}A partire dalla v2.1.169, lo spostamento di una sessione con [`/cd`](/it/commands) la trasferisce nell'archivio del progetto della nuova directory, quindi appare nel selezionatore di quella directory in seguito. Usa `Ctrl+W` per ampliare a tutti i worktree del repository o `Ctrl+A` per ampliare a ogni progetto su questa macchina.33Le sessioni vengono archiviate per directory di progetto. Per impostazione predefinita, il selezionatore di sessioni mostra le sessioni interattive dal worktree corrente, più le sessioni avviate altrove che hanno aggiunto la directory corrente con `/add-dir`. Usa `Ctrl+W` per ampliare a tutti i worktree del repository o `Ctrl+A` per ampliare a ogni progetto su questa macchina.

34 

35{/* min-version: 2.1.169 */}A partire dalla v2.1.169, lo spostamento di una sessione con [`/cd`](/it/commands) la trasferisce nell'archivio del progetto della nuova directory, quindi appare nel selezionatore di quella directory in seguito. {/* min-version: 2.1.196 */}A partire dalla v2.1.196, una sessione spostata rimane fuori dal selezionatore della directory precedente anche dopo un arresto anomalo o un'uscita forzata. Nelle versioni precedenti, potrebbe anche riapparire nell'elenco della directory precedente dopo un'uscita non pulita quando il percorso precedente conteneva caratteri speciali come trattini bassi.

34 36 

35Selezionare una sessione da un altro worktree dello stesso repository la riprende sul posto. Selezionare una sessione da un progetto non correlato copia un comando `cd` e resume negli appunti.37Selezionare una sessione da un altro worktree dello stesso repository la riprende sul posto. Selezionare una sessione da un progetto non correlato copia un comando `cd` e resume negli appunti.

36 38 


56 58 

57Una volta che una sessione è denominata, torna a essa con `claude --resume <name>` o `/resume <name>`. Vedi [Riprendere una sessione](#resume-a-session) per come il comportamento della risoluzione dei nomi funziona nei worktree.59Una volta che una sessione è denominata, torna a essa con `claude --resume <name>` o `/resume <name>`. Vedi [Riprendere una sessione](#resume-a-session) per come il comportamento della risoluzione dei nomi funziona nei worktree.

58 60 

61{/* min-version: 2.1.196 */}Le sessioni interattive che non nomini mai ricevono comunque un nome di visualizzazione predefinito quando si avviano. Richiede Claude Code v2.1.196 o versione successiva. Il valore predefinito combina il nome della directory di lavoro con un suffisso di due caratteri, ad esempio `my-app-3f`, e identifica la sessione negli elenchi delle sessioni in esecuzione, come la [agent view](/it/agent-view) e l'output di `claude agents --json`.

62 

63Il valore predefinito non è un handle di ripresa: `claude --resume <name>`, `/resume <name>` e il selezionatore di sessioni corrispondono solo ai nomi che hai impostato. Denominare la sessione sostituisce il valore predefinito.

64 

59<h2 id="use-the-session-picker">65<h2 id="use-the-session-picker">

60 Usare il selezionatore di sessioni66 Usare il selezionatore di sessioni

61</h2>67</h2>


117 Esportare e individuare i dati della sessione123 Esportare e individuare i dati della sessione

118</h2>124</h2>

119 125 

120Esegui `/export` per copiare la conversazione corrente negli appunti o salvarla come file di testo semplice, con messaggi e output degli strumenti renderizzati come testo leggibile. Passa un nome file per scrivere direttamente in quel file.126Esegui `/export` per aprire un menu che ti consente di copiare la conversazione corrente negli appunti o salvarla come file di testo semplice, con messaggi e output degli strumenti renderizzati come testo leggibile. Passa un nome file per saltare il menu e scrivere direttamente in quel file.

121 127 

122<h3 id="access-conversations-from-scripts">128<h3 id="access-conversations-from-scripts">

123 Accedere alle conversazioni da script129 Accedere alle conversazioni da script

settings.md +91 −78

Details

12 Ambiti di configurazione12 Ambiti di configurazione

13</h2>13</h2>

14 14 

15Claude Code utilizza un **sistema di ambiti** per determinare dove si applicano le configurazioni e con chi vengono condivise. Comprendere gli ambiti ti aiuta a decidere come configurare Claude Code per uso personale, collaborazione di team o distribuzione aziendale.15Claude Code utilizza un sistema di ambiti per determinare dove si applicano le configurazioni e con chi vengono condivise. Comprendere gli ambiti ti aiuta a decidere come configurare Claude Code per uso personale, collaborazione di team o distribuzione aziendale.

16 16 

17<h3 id="available-scopes">17<h3 id="available-scopes">

18 Ambiti disponibili18 Ambiti disponibili

19</h3>19</h3>

20 20 

21| Ambito | Posizione | Chi è interessato | Condiviso con il team? |21| Ambito | Posizione | Chi è interessato | Condiviso con il team? |

22| :---------- | :------------------------------------------------------------------------------------------------ | :----------------------------------------- | :----------------------------------------- |22| :---------- | :------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------- |

23| **Managed** | Impostazioni gestite dal server, plist / registro, o `managed-settings.json` a livello di sistema | Tutti gli utenti sulla macchina | Sì (distribuito da IT) |23| **Managed** | Impostazioni gestite dal server, plist / registro, o `managed-settings.json` a livello di sistema | Tutti i membri dell'organizzazione per la distribuzione gestita dal server; tutti gli utenti sulla macchina per plist, registro HKLM e distribuzione di file; l'utente corrente per la distribuzione del registro HKCU | Sì (distribuito da IT) |

24| **User** | Directory `~/.claude/` | Tu, in tutti i progetti | No |24| **User** | Directory `~/.claude/` | Tu, in tutti i progetti | No |

25| **Project** | `.claude/` nel repository | Tutti i collaboratori su questo repository | Sì (committato in git) |25| **Project** | `.claude/` nel repository | Tutti i collaboratori su questo repository | Sì (committato in git) |

26| **Local** | `.claude/settings.local.json` | Tu, solo in questo repository | No (gitignored quando Claude Code lo crea) |26| **Local** | `.claude/settings.local.json` | Tu, solo in questo repository | No (gitignored quando Claude Code lo crea) |


59 59 

60Quando la stessa impostazione è configurata in più ambiti, Claude Code le applica in ordine di priorità:60Quando la stessa impostazione è configurata in più ambiti, Claude Code le applica in ordine di priorità:

61 61 

621. **Managed** (più alta) - non può essere ignorata da nulla621. **Managed** (più alta): non può essere ignorata da nulla

632. **Argomenti della riga di comando** - override temporanei della sessione632. **Argomenti della riga di comando**: override temporanei della sessione

643. **Local** - ignora le impostazioni di progetto e utente643. **Local**: ignora le impostazioni di progetto e utente

654. **Project** - ignora le impostazioni utente654. **Project**: ignora le impostazioni utente

665. **User** (più bassa) - si applica quando nient'altro specifica l'impostazione665. **User** (più bassa): si applica quando nient'altro specifica l'impostazione

67 67 

68Ad esempio, se le impostazioni utente impostano `spinnerTipsEnabled` su `true` e le impostazioni di progetto lo impostano su `false`, si applica il valore del progetto. Le regole di permesso si comportano diversamente perché si uniscono tra gli ambiti piuttosto che ignorarsi. Vedi [Precedenza delle impostazioni](#settings-precedence).68Ad esempio, se le impostazioni utente impostano `spinnerTipsEnabled` su `true` e le impostazioni di progetto lo impostano su `false`, si applica il valore del progetto. Le regole di permesso si comportano diversamente perché si uniscono tra gli ambiti piuttosto che ignorarsi. Vedi [Precedenza delle impostazioni](#settings-precedence).

69 69 


97 * `.claude/settings.local.json` per le impostazioni che non vengono controllate, utili per preferenze personali e sperimentazione. Quando Claude Code crea `.claude/settings.local.json`, configura git per ignorare il file. Se crei il file tu stesso, aggiungilo al tuo gitignore manualmente.97 * `.claude/settings.local.json` per le impostazioni che non vengono controllate, utili per preferenze personali e sperimentazione. Quando Claude Code crea `.claude/settings.local.json`, configura git per ignorare il file. Se crei il file tu stesso, aggiungilo al tuo gitignore manualmente.

98* **Impostazioni gestite**: Per le organizzazioni che necessitano di controllo centralizzato, Claude Code supporta più meccanismi di distribuzione per le impostazioni gestite. Tutti utilizzano lo stesso formato JSON e non possono essere ignorati dalle impostazioni utente o di progetto:98* **Impostazioni gestite**: Per le organizzazioni che necessitano di controllo centralizzato, Claude Code supporta più meccanismi di distribuzione per le impostazioni gestite. Tutti utilizzano lo stesso formato JSON e non possono essere ignorati dalle impostazioni utente o di progetto:

99 99 

100 * **Impostazioni gestite dal server**: consegnate dai server di Anthropic tramite la console di amministrazione Claude.ai. Vedi [impostazioni gestite dal server](/it/server-managed-settings).100 * **Impostazioni gestite dal server**: consegnate da remoto al momento dell'accesso, sia dai server di Anthropic tramite la console di amministrazione claude.ai che da un [gateway di app Claude](/it/claude-apps-gateway) auto-ospitato. Vedi [impostazioni gestite dal server](/it/server-managed-settings).

101 * **Politiche MDM/a livello di sistema operativo**: consegnate tramite la gestione nativa dei dispositivi su macOS e Windows:101 * **Politiche MDM/a livello di sistema operativo**: consegnate tramite la gestione nativa dei dispositivi su macOS e Windows:

102 * macOS: dominio delle preferenze gestite `com.anthropic.claudecode`. Le chiavi di primo livello del plist rispecchiano `managed-settings.json`, con impostazioni annidate come dizionari e array come array plist. Distribuisci tramite profili di configurazione in Jamf, Iru (Kandji) o strumenti MDM simili.102 * macOS: dominio delle preferenze gestite `com.anthropic.claudecode`. Le chiavi di primo livello del plist rispecchiano `managed-settings.json`, con impostazioni annidate come dizionari e array come array plist. Distribuisci tramite profili di configurazione in Jamf, Iru (Kandji) o strumenti MDM simili.

103 * Windows: chiave di registro `HKLM\SOFTWARE\Policies\ClaudeCode` con un valore `Settings` (REG\_SZ o REG\_EXPAND\_SZ) contenente JSON (distribuito tramite Criteri di gruppo o Intune)103 * Windows: chiave di registro `HKLM\SOFTWARE\Policies\ClaudeCode` con un valore `Settings` (REG\_SZ o REG\_EXPAND\_SZ) contenente JSON (distribuito tramite Criteri di gruppo o Intune)


183I campi di applicazione della sicurezza vengono gestiti per campo invece di essere rimossi all'ingrosso quando sono presenti ma non validi:183I campi di applicazione della sicurezza vengono gestiti per campo invece di essere rimossi all'ingrosso quando sono presenti ma non validi:

184 184 

185| Campo | Comportamento quando presente ma non valido |185| Campo | Comportamento quando presente ma non valido |

186| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |186| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

187| `allowedMcpServers` | Applicato come una lista di autorizzazione vuota, quindi nessun MCP server viene ammesso fino a quando il valore non viene corretto. Una singola voce non valida viene rimossa e il sottoinsieme valido viene applicato. |187| `allowedMcpServers` | Applicato come una lista di autorizzazione vuota, quindi nessun MCP server viene ammesso fino a quando il valore non viene corretto. Una singola voce non valida viene rimossa e il sottoinsieme valido viene applicato. |

188| `allowManagedMcpServersOnly` | Trattato come `true`. |188| `allowManagedMcpServersOnly` | Trattato come `true`. |

189| `availableModels` | {/* min-version: 2.1.175 */}Applicato come una lista di autorizzazione vuota, quindi solo il modello Predefinito è disponibile fino a quando il valore non viene corretto. Una singola voce non stringa viene rimossa e il sottoinsieme valido viene applicato. Si applica in v2.1.175 e successivo. |189| `availableModels` | {/* min-version: 2.1.175 */}Applicato come una lista di autorizzazione vuota, quindi solo il modello Predefinito è disponibile fino a quando il valore non viene corretto. Una singola voce non stringa viene rimossa e il sottoinsieme valido viene applicato. Si applica in v2.1.175 e successivo. |

190| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Trattato come `true`. Si applica in v2.1.175 e successivo. |190| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Trattato come `true`. Si applica in v2.1.175 e successivo. |

191| `forceLoginOrgUUID` | Nessuna organizzazione è autorizzata ad accedere fino a quando il valore non viene corretto. |191| `forceLoginOrgUUID` | Nessuna organizzazione è autorizzata ad accedere fino a quando il valore non viene corretto. |

192| `deniedMcpServers` | Una singola voce non valida viene rimossa e il sottoinsieme valido viene applicato. Un valore completamente non valido viene eliminato con un avviso, poiché negare ogni server bloccherebbe i server che la politica non ha mai nominato. |192| `deniedMcpServers` | Una singola voce non valida viene rimossa e il sottoinsieme valido viene applicato. Un valore completamente non valido viene eliminato con un avviso, poiché negare ogni server bloccherebbe i server che la politica non ha mai nominato. |

193| `sandbox.credentials` | {/* min-version: 2.1.191 */}Una singola voce non valida in `files` o `envVars` viene rimossa con un avviso e il sottoinsieme valido viene applicato. Un valore `credentials` completamente non valido viene eliminato con un avviso mentre il resto di `sandbox` continua ad applicarsi. Si applica in v2.1.191 e successivo. |

193 194 

194`requiredMinimumVersion` e `requiredMaximumVersion` falliscono in modo aperto per progettazione: un valore non valido viene rimosso piuttosto che applicato, quindi una politica errata non può impedire l'avvio di Claude Code.195`requiredMinimumVersion` e `requiredMaximumVersion` falliscono in modo aperto per progettazione: un valore non valido viene rimosso piuttosto che applicato, quindi una politica errata non può impedire l'avvio di Claude Code.

195 196 


213| :-------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |214| :-------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |

214| `advisorModel` | {/* min-version: 2.1.98 */}Modello per lo [strumento advisor](/it/advisor) lato server. Accetta un alias di modello come `"opus"`, `"sonnet"`, o `"fable"` ({/* min-version: 2.1.170 */}v2.1.170+), o un ID modello completo. Scritto automaticamente quando esegui `/advisor`. Non impostato per disabilitare l'advisor. Richiede Claude Code v2.1.98 o successivo | `"opus"` |215| `advisorModel` | {/* min-version: 2.1.98 */}Modello per lo [strumento advisor](/it/advisor) lato server. Accetta un alias di modello come `"opus"`, `"sonnet"`, o `"fable"` ({/* min-version: 2.1.170 */}v2.1.170+), o un ID modello completo. Scritto automaticamente quando esegui `/advisor`. Non impostato per disabilitare l'advisor. Richiede Claude Code v2.1.98 o successivo | `"opus"` |

215| `agent` | Esegui il thread principale come un subagent denominato e imposta l'agente predefinito per le sessioni inviate da `claude agents`. Applica il prompt di sistema, le restrizioni degli strumenti e il modello di quel subagent. Vedi [Invoca i subagent esplicitamente](/it/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |216| `agent` | Esegui il thread principale come un subagent denominato e imposta l'agente predefinito per le sessioni inviate da `claude agents`. Applica il prompt di sistema, le restrizioni degli strumenti e il modello di quel subagent. Vedi [Invoca i subagent esplicitamente](/it/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |

216| `agentPushNotifEnabled` | {/* min-version: 2.1.119 */}Quando il [Controllo remoto](/it/remote-control) è connesso, consenti a Claude di inviare notifiche push proattive al tuo telefono, ad esempio quando un'attività lunga finisce. Predefinito: `false`. Appare in `/config` come **Push when Claude decides**. Vedi [Notifiche push mobile](/it/remote-control#mobile-push-notifications). Richiede Claude Code v2.1.119 o successivo | `true` |217| `agentPushNotifEnabled` | {/* min-version: 2.1.119 */}**Predefinito**: `false`. Quando il [Controllo remoto](/it/remote-control) è connesso, consenti a Claude di inviare notifiche push proattive al tuo telefono, ad esempio quando un'attività lunga finisce. Appare in `/config` come **Push when Claude decides**. Vedi [Notifiche push mobile](/it/remote-control#mobile-push-notifications). Richiede Claude Code v2.1.119 o successivo | `true` |

217| `allowAllClaudeAiMcps` | (Solo impostazioni gestite) Carica i connettori claude.ai insieme a un `managed-mcp.json` distribuito, che altrimenti assume il controllo esclusivo e li sopprime. Vedi [Configurazione MCP gestita](/it/managed-mcp) | `true` |218| `allowAllClaudeAiMcps` | (Solo impostazioni gestite) Carica i connettori claude.ai insieme a un `managed-mcp.json` distribuito, che altrimenti assume il controllo esclusivo e li sopprime. Vedi [Configurazione MCP gestita](/it/managed-mcp) | `true` |

218| `allowedChannelPlugins` | (Solo impostazioni gestite) Elenco di autorizzazione dei plugin di canale che possono inviare messaggi. Sostituisce l'elenco di autorizzazione predefinito di Anthropic quando impostato. Non definito = ricaduta al predefinito, array vuoto = blocca tutti i plugin di canale. Richiede `channelsEnabled: true`. Vedi [Limita quali plugin di canale possono essere eseguiti](/it/channels#restrict-which-channel-plugins-can-run) | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |219| `allowedChannelPlugins` | (Solo impostazioni gestite) Elenco di autorizzazione dei plugin di canale che possono inviare messaggi. Sostituisce l'elenco di autorizzazione predefinito di Anthropic quando impostato. Non definito = ricaduta al predefinito, array vuoto = blocca tutti i plugin di canale. Richiede `channelsEnabled: true`. Vedi [Limita quali plugin di canale possono essere eseguiti](/it/channels#restrict-which-channel-plugins-can-run) | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |

219| `allowedHttpHookUrls` | Elenco di autorizzazione dei modelli di URL che gli hook HTTP possono indirizzare. Supporta `*` come carattere jolly. Quando impostato, gli hook con URL non corrispondenti vengono bloccati. Non definito = nessuna restrizione, array vuoto = blocca tutti gli hook HTTP. Gli array si uniscono tra le fonti di impostazioni. Vedi [Configurazione hook](#hook-configuration) | `["https://hooks.example.com/*"]` |220| `allowedHttpHookUrls` | Elenco di autorizzazione dei modelli di URL che gli hook HTTP possono indirizzare. Supporta `*` come carattere jolly. Quando impostato, gli hook con URL non corrispondenti vengono bloccati. Non definito = nessuna restrizione, array vuoto = blocca tutti gli hook HTTP. Gli array si uniscono tra le fonti di impostazioni. Vedi [Configurazione hook](#hook-configuration) | `["https://hooks.example.com/*"]` |


222| `allowManagedMcpServersOnly` | (Solo impostazioni gestite) Solo `allowedMcpServers` dalle impostazioni gestite sono rispettati. `deniedMcpServers` si unisce comunque da tutte le fonti. Gli utenti possono ancora aggiungere MCP server, ma si applica solo l'elenco di autorizzazione definito dall'amministratore. Vedi [Configurazione MCP gestita](/it/managed-mcp) | `true` |223| `allowManagedMcpServersOnly` | (Solo impostazioni gestite) Solo `allowedMcpServers` dalle impostazioni gestite sono rispettati. `deniedMcpServers` si unisce comunque da tutte le fonti. Gli utenti possono ancora aggiungere MCP server, ma si applica solo l'elenco di autorizzazione definito dall'amministratore. Vedi [Configurazione MCP gestita](/it/managed-mcp) | `true` |

223| `allowManagedPermissionRulesOnly` | (Solo impostazioni gestite) Previeni che le impostazioni utente e di progetto definiscano regole di permesso `allow`, `ask` o `deny`. Si applicano solo le regole nelle impostazioni gestite. Vedi [Impostazioni solo gestite](/it/permissions#managed-only-settings) | `true` |224| `allowManagedPermissionRulesOnly` | (Solo impostazioni gestite) Previeni che le impostazioni utente e di progetto definiscano regole di permesso `allow`, `ask` o `deny`. Si applicano solo le regole nelle impostazioni gestite. Vedi [Impostazioni solo gestite](/it/permissions#managed-only-settings) | `true` |

224| `alwaysThinkingEnabled` | Abilita il [pensiero esteso](/it/model-config#extended-thinking) per impostazione predefinita per tutte le sessioni. Tipicamente configurato tramite il comando `/config` piuttosto che modificato direttamente. Per forzare il pensiero disattivato indipendentemente da questa impostazione, imposta [`MAX_THINKING_TOKENS=0`](/it/env-vars) in `env`, che disabilita il pensiero sull'API Anthropic tranne su Fable 5, che non può avere il pensiero disattivato. Su [provider di terze parti](/it/third-party-integrations) questo omette il parametro `thinking` invece, e i modelli di ragionamento adattivo potrebbero comunque pensare | `true` |225| `alwaysThinkingEnabled` | Abilita il [pensiero esteso](/it/model-config#extended-thinking) per impostazione predefinita per tutte le sessioni. Tipicamente configurato tramite il comando `/config` piuttosto che modificato direttamente. Per forzare il pensiero disattivato indipendentemente da questa impostazione, imposta [`MAX_THINKING_TOKENS=0`](/it/env-vars) in `env`, che disabilita il pensiero sull'API Anthropic tranne su Fable 5, che non può avere il pensiero disattivato. Su [provider di terze parti](/it/third-party-integrations) questo omette il parametro `thinking` invece, e i modelli di ragionamento adattivo potrebbero comunque pensare | `true` |

225| `apiKeyHelper` | Script personalizzato, da eseguire in `/bin/sh`, per generare un valore di autenticazione. Questo valore verrà inviato come intestazioni `X-Api-Key` e `Authorization: Bearer` per le richieste di modello. Imposta l'intervallo di aggiornamento con [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/it/env-vars) | `/bin/generate_temp_api_key.sh` |226| `apiKeyHelper` | Script personalizzato, da eseguire tramite la shell di sistema (`/bin/sh` su macOS e Linux, `cmd` su Windows), per generare un valore di autenticazione. Questo valore verrà inviato come intestazioni `X-Api-Key` e `Authorization: Bearer` per le richieste di modello. Imposta l'intervallo di aggiornamento con [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/it/env-vars) | `/bin/generate_temp_api_key.sh` |

226| `attribution` | Personalizza l'attribuzione per i commit git e le pull request. Vedi [Impostazioni di attribuzione](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |227| `attribution` | Personalizza l'attribuzione per i commit git e le pull request. Vedi [Impostazioni di attribuzione](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

227| `autoCompactEnabled` | {/* min-version: 2.1.119 */}Compatta automaticamente la conversazione quando il contesto si avvicina al limite. Predefinito: `true`. Appare in `/config` come **Auto-compact**. Per disabilitare tramite variabile di ambiente, imposta [`DISABLE_AUTO_COMPACT`](/it/env-vars) in `env` | `false` |228| `autoCompactEnabled` | {/* min-version: 2.1.119 */}**Predefinito**: `true`. Compatta automaticamente la conversazione quando il contesto si avvicina al limite. Appare in `/config` come **Auto-compact**. Per disabilitare tramite variabile di ambiente, imposta [`DISABLE_AUTO_COMPACT`](/it/env-vars) in `env` | `false` |

228| `autoMemoryDirectory` | Directory personalizzata per l'archiviazione della [memoria automatica](/it/memory#storage-location). Accetta un percorso assoluto o un percorso con prefisso `~/`. Dalle impostazioni di progetto o locale, questo viene onorato solo dopo che accetti la finestra di dialogo di fiducia dell'area di lavoro, poiché un repository clonato può fornire questo file | `"~/my-memory-dir"` |229| `autoMemoryDirectory` | Directory personalizzata per l'archiviazione della [memoria automatica](/it/memory#storage-location). Accetta un percorso assoluto o un percorso con prefisso `~/`. Dalle impostazioni di progetto o locale, questo viene onorato solo dopo che accetti la finestra di dialogo di fiducia dell'area di lavoro, poiché un repository clonato può fornire questo file | `"~/my-memory-dir"` |

229| `autoMemoryEnabled` | Abilita la [memoria automatica](/it/memory#enable-or-disable-auto-memory). Quando `false`, Claude non legge da o scrive nella directory di memoria automatica. Predefinito: `true`. Puoi anche attivare/disattivare questo con `/memory` durante una sessione. Per disabilitare tramite variabile di ambiente, imposta [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/it/env-vars) in `env` | `false` |230| `autoMemoryEnabled` | **Predefinito**: `true`. Abilita la [memoria automatica](/it/memory#enable-or-disable-auto-memory). Quando `false`, Claude non legge da o scrive nella directory di memoria automatica. Puoi anche attivare/disattivare questo con `/memory` durante una sessione. Per disabilitare tramite variabile di ambiente, imposta [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/it/env-vars) in `env` | `false` |

230| `autoMode` | Personalizza cosa il classificatore della [modalità auto](/it/permission-modes#eliminate-prompts-with-auto-mode) blocca e consente. Contiene array `environment`, `allow`, `soft_deny` e `hard_deny` di regole in prosa. Includi la stringa letterale `"$defaults"` in un array per ereditare le regole incorporate in quella posizione. Vedi [Configura la modalità auto](/it/auto-mode-config). Non letto dalle impostazioni di progetto condivise | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |231| `autoMode` | Personalizza cosa il classificatore della [modalità auto](/it/permission-modes#eliminate-prompts-with-auto-mode) blocca e consente. Contiene array `environment`, `allow`, `soft_deny` e `hard_deny` di regole in prosa. Includi la stringa letterale `"$defaults"` in un array per ereditare le regole incorporate in quella posizione. Vedi [Configura la modalità auto](/it/auto-mode-config). Non letto dalle impostazioni di progetto condivise | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

231| `autoScrollEnabled` | Nel [rendering fullscreen](/it/fullscreen), segui il nuovo output fino al fondo della conversazione. Predefinito: `true`. Appare in `/config` come **Auto-scroll**. I prompt di permesso scorrono comunque in vista quando questo è disattivato | `false` |232| `autoMode.classifyAllShell` | {/* min-version: 2.1.193 */}**Predefinito**: `false`. Quando `true`, sospende ogni regola allow di Bash e PowerShell mentre la modalità auto è attiva in modo che tutti i comandi shell vengono instradati attraverso il classificatore, non solo le regole che corrispondono ai modelli di esecuzione di codice arbitrario. Vedi [Instrada tutti i comandi shell attraverso il classificatore](/it/auto-mode-config#route-all-shell-commands-through-the-classifier). Richiede Claude Code v2.1.193 o successivo | `true` |

232| `autoUpdatesChannel` | Canale di rilascio da seguire per gli aggiornamenti. Usa `"stable"` per una versione che è tipicamente circa una settimana vecchia e salta le versioni con regressioni importanti, o `"latest"` (predefinito) per il rilascio più recente. Per disabilitare completamente gli auto-aggiornamenti, imposta [`DISABLE_AUTOUPDATER`](/it/setup#disable-auto-updates) in `env` | `"stable"` |233| `autoScrollEnabled` | **Predefinito**: `true`. Nel [rendering fullscreen](/it/fullscreen), segui il nuovo output fino al fondo della conversazione. Appare in `/config` come **Auto-scroll**. I prompt di permesso scorrono comunque in vista quando questo è disattivato | `false` |

233| `availableModels` | Limita quali modelli gli utenti possono selezionare per la sessione principale, i [subagent](/it/sub-agents), e l'[advisor](/it/advisor). Vedi [Limita la selezione del modello](/it/model-config#restrict-model-selection). Vedi `enforceAvailableModels` per vincolare anche il modello Predefinito | `["sonnet", "haiku"]` |234| `autoUpdatesChannel` | **Predefinito**: `"latest"`. Canale di rilascio da seguire per gli aggiornamenti. Usa `"stable"` per una versione che è tipicamente circa una settimana vecchia e salta le versioni con regressioni importanti, o `"latest"` per il rilascio più recente. Per disabilitare completamente gli auto-aggiornamenti, imposta [`DISABLE_AUTOUPDATER`](/it/setup#disable-auto-updates) in `env` | `"stable"` |

235| `availableModels` | Limita quali modelli gli utenti possono selezionare per la sessione principale, i [subagent](/it/sub-agents), i [skills](/it/skills) e l'[advisor](/it/advisor). Non influisce sull'opzione Predefinito a meno che `enforceAvailableModels` non sia anche impostato. Vedi [Limita la selezione del modello](/it/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |

234| `awaySummaryEnabled` | Mostra un riepilogo di una riga della sessione quando torni al terminale dopo alcuni minuti di assenza. Imposta a `false` o disattiva Riepilogo sessione in `/config` per disabilitare. Uguale a [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/it/env-vars) | `true` |236| `awaySummaryEnabled` | Mostra un riepilogo di una riga della sessione quando torni al terminale dopo alcuni minuti di assenza. Imposta a `false` o disattiva Riepilogo sessione in `/config` per disabilitare. Uguale a [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/it/env-vars) | `true` |

235| `awsAuthRefresh` | Script personalizzato che modifica la directory `.aws` (vedi [configurazione avanzata delle credenziali](/it/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |237| `awsAuthRefresh` | Script personalizzato che modifica la directory `.aws` (vedi [configurazione avanzata delle credenziali](/it/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |

236| `awsCredentialExport` | Script personalizzato che restituisce JSON con le credenziali AWS (vedi [configurazione avanzata delle credenziali](/it/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |238| `awsCredentialExport` | Script personalizzato che restituisce JSON con le credenziali AWS (vedi [configurazione avanzata delle credenziali](/it/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |


239| `channelsEnabled` | (Solo impostazioni gestite) Consenti [channels](/it/channels) per l'organizzazione. Nei piani Team e Enterprise di claude.ai, i canali vengono bloccati quando questo non è impostato o è `false`. Per gli account [Anthropic Console](/it/authentication#claude-console-authentication) che utilizzano l'autenticazione con chiave API, i canali sono consentiti per impostazione predefinita a meno che la tua organizzazione non distribuisca impostazioni gestite, nel qual caso questa chiave deve essere impostata a `true` | `true` |241| `channelsEnabled` | (Solo impostazioni gestite) Consenti [channels](/it/channels) per l'organizzazione. Nei piani Team e Enterprise di claude.ai, i canali vengono bloccati quando questo non è impostato o è `false`. Per gli account [Anthropic Console](/it/authentication#claude-console-authentication) che utilizzano l'autenticazione con chiave API, i canali sono consentiti per impostazione predefinita a meno che la tua organizzazione non distribuisca impostazioni gestite, nel qual caso questa chiave deve essere impostata a `true` | `true` |

240| `claudeMd` | (Solo impostazioni gestite) Istruzioni in stile CLAUDE.md iniettate come memoria gestita dall'organizzazione. Onorato solo quando impostato nelle impostazioni gestite o di politica e ignorato nelle impostazioni utente, progetto e locale. Vedi [CLAUDE.md a livello organizzativo](/it/memory#deploy-organization-wide-claude-md) | `"Always run make lint before committing."` |242| `claudeMd` | (Solo impostazioni gestite) Istruzioni in stile CLAUDE.md iniettate come memoria gestita dall'organizzazione. Onorato solo quando impostato nelle impostazioni gestite o di politica e ignorato nelle impostazioni utente, progetto e locale. Vedi [CLAUDE.md a livello organizzativo](/it/memory#deploy-organization-wide-claude-md) | `"Always run make lint before committing."` |

241| `claudeMdExcludes` | Modelli Glob o percorsi assoluti dei file `CLAUDE.md` da saltare durante il caricamento della [memoria](/it/memory). I modelli corrispondono ai percorsi assoluti dei file. Si applica solo alla memoria utente, progetto e locale; i file di politica gestiti non possono essere esclusi | `["**/vendor/**/CLAUDE.md"]` |243| `claudeMdExcludes` | Modelli Glob o percorsi assoluti dei file `CLAUDE.md` da saltare durante il caricamento della [memoria](/it/memory). I modelli corrispondono ai percorsi assoluti dei file. Si applica solo alla memoria utente, progetto e locale; i file di politica gestiti non possono essere esclusi | `["**/vendor/**/CLAUDE.md"]` |

242| `cleanupPeriodDays` | I file di sessione più vecchi di questo periodo vengono eliminati all'avvio (predefinito: 30 giorni, minimo 1). L'impostazione a `0` viene rifiutata con un errore di convalida. Controlla anche il limite di età per la rimozione automatica dei [worktrees subagent orfani](/it/worktrees#clean-up-worktrees) all'avvio. Per disabilitare completamente le scritture di trascritti, imposta la variabile di ambiente [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/it/env-vars), o in modalità non interattiva (`-p`) usa il flag `--no-session-persistence` o l'opzione SDK `persistSession: false`. | `20` |244| `cleanupPeriodDays` | **Predefinito**: `30` giorni, minimo `1`. I file di sessione più vecchi di questo periodo vengono eliminati all'avvio. L'impostazione a `0` viene rifiutata con un errore di convalida. Controlla anche il limite di età per la rimozione automatica dei [worktrees subagent orfani](/it/worktrees#clean-up-worktrees) all'avvio. Per disabilitare completamente le scritture di trascritti, imposta la variabile di ambiente [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/it/env-vars), o in modalità non interattiva (`-p`) usa il flag `--no-session-persistence` o l'opzione SDK `persistSession: false`. | `20` |

243| `companyAnnouncements` | Annuncio da visualizzare agli utenti all'avvio. Se vengono forniti più annunci, verranno alternati casualmente. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |245| `companyAnnouncements` | Annuncio da visualizzare agli utenti all'avvio. Se vengono forniti più annunci, verranno alternati casualmente. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |

244| `defaultShell` | Shell predefinita per i comandi `!` della casella di input. Accetta `"bash"` (predefinito) o `"powershell"`. L'impostazione a `"powershell"` instrada i comandi `!` interattivi tramite PowerShell su Windows. Richiede `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Vedi [Strumento PowerShell](/it/tools-reference#powershell-tool) | `"powershell"` |246| `defaultShell` | **Predefinito**: `"bash"`, o `"powershell"` su Windows quando Bash non è disponibile. Shell predefinita per i comandi `!` della casella di input. Accetta `"bash"` o `"powershell"`. L'impostazione a `"powershell"` instrada i comandi `!` interattivi tramite PowerShell su Windows. Richiede `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Vedi [Strumento PowerShell](/it/tools-reference#powershell-tool) | `"powershell"` |

245| `deniedMcpServers` | Quando impostato in managed-settings.json, elenco di negazione dei MCP server che sono esplicitamente bloccati. Si applica a tutti gli ambiti inclusi i server gestiti. L'elenco di negazione ha la precedenza sull'elenco di autorizzazione. Vedi [Configurazione MCP gestita](/it/managed-mcp) | `[{ "serverName": "filesystem" }]` |247| `deniedMcpServers` | Quando impostato in managed-settings.json, elenco di negazione dei MCP server che sono esplicitamente bloccati. Si applica a tutti gli ambiti inclusi i server gestiti. L'elenco di negazione ha la precedenza sull'elenco di autorizzazione. Vedi [Configurazione MCP gestita](/it/managed-mcp) | `[{ "serverName": "filesystem" }]` |

246| `disableAgentView` | Imposta a `true` per disattivare gli [agenti in background e la visualizzazione degli agenti](/it/agent-view): `claude agents`, `--bg`, `/background`, e il supervisore su richiesta. Tipicamente impostato nelle [impostazioni gestite](/it/permissions#managed-settings). Equivalente all'impostazione di `CLAUDE_CODE_DISABLE_AGENT_VIEW` a `1` | `true` |248| `disableAgentView` | Imposta a `true` per disattivare gli [agenti in background e la visualizzazione degli agenti](/it/agent-view): `claude agents`, `--bg`, `/background`, e il supervisore su richiesta. Tipicamente impostato nelle [impostazioni gestite](/it/permissions#managed-settings). Equivalente all'impostazione di `CLAUDE_CODE_DISABLE_AGENT_VIEW` a `1` | `true` |

247| `disableAllHooks` | Disabilita tutti gli [hooks](/it/hooks) e qualsiasi [status line](/it/statusline) personalizzato | `true` |249| `disableAllHooks` | Disabilita tutti gli [hooks](/it/hooks) e qualsiasi [status line](/it/statusline) personalizzato | `true` |


252| `disableDeepLinkRegistration` | Imposta a `"disable"` per prevenire che Claude Code registri il gestore del protocollo `claude-cli://` con il sistema operativo all'avvio. I [deep link](/it/deep-links) consentono agli strumenti esterni di aprire una sessione di Claude Code con un prompt pre-compilato. Utile negli ambienti in cui la registrazione del gestore del protocollo è limitata o gestita separatamente | `"disable"` |254| `disableDeepLinkRegistration` | Imposta a `"disable"` per prevenire che Claude Code registri il gestore del protocollo `claude-cli://` con il sistema operativo all'avvio. I [deep link](/it/deep-links) consentono agli strumenti esterni di aprire una sessione di Claude Code con un prompt pre-compilato. Utile negli ambienti in cui la registrazione del gestore del protocollo è limitata o gestita separatamente | `"disable"` |

253| `disabledMcpjsonServers` | Elenco di MCP server specifici dai file `.mcp.json` da rifiutare | `["filesystem"]` |255| `disabledMcpjsonServers` | Elenco di MCP server specifici dai file `.mcp.json` da rifiutare | `["filesystem"]` |

254| `disableRemoteControl` | {/* min-version: 2.1.128 */}Disabilita il [Controllo remoto](/it/remote-control): blocca `claude remote-control`, il flag `--remote-control`, l'avvio automatico e l'interruttore in-sessione. Tipicamente posizionato nelle [impostazioni gestite](/it/permissions#managed-settings) per l'applicazione MDM per dispositivo, ma funziona da qualsiasi ambito. Richiede Claude Code v2.1.128 o successivo | `true` |256| `disableRemoteControl` | {/* min-version: 2.1.128 */}Disabilita il [Controllo remoto](/it/remote-control): blocca `claude remote-control`, il flag `--remote-control`, l'avvio automatico e l'interruttore in-sessione. Tipicamente posizionato nelle [impostazioni gestite](/it/permissions#managed-settings) per l'applicazione MDM per dispositivo, ma funziona da qualsiasi ambito. Richiede Claude Code v2.1.128 o successivo | `true` |

257| `disableSideloadFlags` | {/* min-version: 2.1.193 */}(Solo impostazioni gestite) Rifiuta i flag CLI `--plugin-dir`, `--plugin-url`, `--agents`, e `--mcp-config` all'avvio, che gli utenti potrebbero altrimenti passare per ignorare [`strictKnownMarketplaces`](#strictknownmarketplaces) per una singola esecuzione. Rifiuta anche questi flag da qualsiasi superficie che genera la CLI con loro internamente, attualmente le sessioni locali di [Cowork](/it/desktop) nell'app desktop. Un `--mcp-config` i cui server sono tutti voci `type: "sdk"` in-process è comunque accettato, quindi l'Agent SDK e l'estensione VS Code continuano a funzionare. Non blocca `claude mcp add`, `.mcp.json`, o SDK `setMcpServers()`; abbina con [`allowedMcpServers`](/it/managed-mcp) per il controllo MCP per server. Richiede Claude Code v2.1.193 o successivo | `true` |

255| `disableSkillShellExecution` | Disabilita l'esecuzione inline della shell per i blocchi `` !`...` `` e ` ```! ` negli [skills](/it/skills) e nei comandi personalizzati da fonti utente, progetto, plugin o directory aggiuntive. I comandi vengono sostituiti con `[shell command execution disabled by policy]` invece di essere eseguiti. Gli skills bundled e gestiti non sono interessati. Molto utile nelle [impostazioni gestite](/it/permissions#managed-settings) dove gli utenti non possono ignorarla | `true` |258| `disableSkillShellExecution` | Disabilita l'esecuzione inline della shell per i blocchi `` !`...` `` e ` ```! ` negli [skills](/it/skills) e nei comandi personalizzati da fonti utente, progetto, plugin o directory aggiuntive. I comandi vengono sostituiti con `[shell command execution disabled by policy]` invece di essere eseguiti. Gli skills bundled e gestiti non sono interessati. Molto utile nelle [impostazioni gestite](/it/permissions#managed-settings) dove gli utenti non possono ignorarla | `true` |

256| `disableWorkflows` | Disabilita i [flussi di lavoro dinamici](/it/workflows#turn-workflows-off) e i comandi di flusso di lavoro bundled. Predefinito: `false`. Equivalente all'impostazione di `CLAUDE_CODE_DISABLE_WORKFLOWS` a `1` | `true` |259| `disableWorkflows` | **Predefinito**: `false`. Disabilita i [flussi di lavoro dinamici](/it/workflows#turn-workflows-off) e i comandi di flusso di lavoro bundled. Equivalente all'impostazione di `CLAUDE_CODE_DISABLE_WORKFLOWS` a `1` | `true` |

257| `editorMode` | Modalità di scorciatoie da tastiera per il prompt di input: `"normal"` o `"vim"`. Predefinito: `"normal"`. Appare in `/config` come **Editor mode** | `"vim"` |260| `editorMode` | **Predefinito**: `"normal"`. Modalità di scorciatoie da tastiera per il prompt di input: `"normal"` o `"vim"`. Appare in `/config` come **Editor mode** | `"vim"` |

258| `effortLevel` | Persisti il [livello di sforzo](/it/model-config#adjust-effort-level) tra le sessioni. Accetta `"low"`, `"medium"`, `"high"`, o `"xhigh"`. Scritto automaticamente quando esegui `/effort` con uno di questi valori. `--effort` e [`CLAUDE_CODE_EFFORT_LEVEL`](/it/env-vars) ignorano questo per una sessione. Vedi [Regola il livello di sforzo](/it/model-config#adjust-effort-level) per i modelli supportati | `"xhigh"` |261| `effortLevel` | Persisti il [livello di sforzo](/it/model-config#adjust-effort-level) tra le sessioni. Accetta `"low"`, `"medium"`, `"high"`, o `"xhigh"`. Scritto automaticamente quando esegui `/effort` con uno di questi valori. `--effort` e [`CLAUDE_CODE_EFFORT_LEVEL`](/it/env-vars) ignorano questo per una sessione. Vedi [Regola il livello di sforzo](/it/model-config#adjust-effort-level) per i modelli supportati | `"xhigh"` |

259| `enableAllProjectMcpServers` | Approva automaticamente tutti i MCP server definiti nei file `.mcp.json` del progetto | `true` |262| `enableAllProjectMcpServers` | Approva automaticamente tutti i MCP server definiti nei file `.mcp.json` del progetto. {/* min-version: 2.1.196 */}A partire da v2.1.196, `claude mcp list` e `claude mcp get` onorano questa chiave in una cartella non attendibile solo dai [file di impostazioni che non vengono controllati nel repository](/it/mcp#managing-your-servers) | `true` |

260| `enabledMcpjsonServers` | Elenco di MCP server specifici dai file `.mcp.json` da approvare | `["memory", "github"]` |263| `enableArtifact` | {/* min-version: 2.1.196 */}Abilita o disabilita lo strumento [Artifact](/it/artifacts) per questo utente. Quando non impostato, il predefinito segue la [disponibilità](/it/artifacts#availability) della funzione per il tuo account. La riga **Artifacts** in `/config` scrive questa chiave. Un `disableArtifact` gestito e l'[impostazione di amministrazione](/it/artifacts#manage-artifacts-for-your-organization) della tua organizzazione hanno la precedenza, e la chiave viene ignorata nelle impostazioni di progetto e locale (`.claude/settings.json`, `.claude/settings.local.json`), che un repository potrebbe altrimenti controllare. Richiede Claude Code v2.1.196 o successivo | `true` |

261| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Quando `true` e `availableModels` è una lista non vuota nelle impostazioni gestite o di politica, il modello Predefinito è anche vincolato all'elenco di autorizzazione. Vedi [Limita la selezione del modello](/it/model-config#restrict-model-selection) per i dettagli e il [comportamento di unione](/it/model-config#merge-behavior) quando `availableModels` è impostato a più livelli. Richiede Claude Code v2.1.175 o successivo | `true` |264| `enabledMcpjsonServers` | Elenco di MCP server specifici dai file `.mcp.json` da approvare. {/* min-version: 2.1.196 */}A partire da v2.1.196, `claude mcp list` e `claude mcp get` onorano questa chiave in una cartella non attendibile solo dai [file di impostazioni che non vengono controllati nel repository](/it/mcp#managing-your-servers) | `["memory", "github"]` |

262| `env` | Variabili di ambiente applicate a ogni sessione e ai sottoprocessi che Claude Code genera da essa. {/* min-version: 2.1.143 */}A partire da v2.1.143, `NO_COLOR` e `FORCE_COLOR` impostati qui vengono passati ai sottoprocessi ma non cambiano i colori dell'interfaccia di Claude Code stesso. Imposta quelli nella tua shell prima di lanciare `claude` per cambiare i colori dell'interfaccia | `{"FOO": "bar"}` |265| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Estendi l'elenco di autorizzazione `availableModels` al modello Predefinito. Quando `true` nelle impostazioni gestite e `availableModels` è un array non vuoto, l'opzione Predefinito ricade alla prima voce nella lista di autorizzazione che è disponibile, ma solo quando il modello predefinito per il tipo di account dell'utente non è nell'elenco di autorizzazione; un predefinito nella lista di autorizzazione viene mantenuto così com'è. Non ha effetto quando `availableModels` non è impostato o è vuoto. Vedi [Applica l'elenco di autorizzazione al modello Predefinito](/it/model-config#enforce-the-allowlist-for-the-default-model). Richiede Claude Code v2.1.175 o successivo | `true` |

263| `fallbackModel` | Modello/i di fallback da provare in ordine quando il modello primario è sovraccarico o non disponibile. Claude Code passa al modello disponibile successivo nella catena per il resto del turno e mostra un avviso. `"default"` si espande al modello predefinito. Le catene sono limitate a tre modelli; le voci extra vengono ignorate. A differenza della maggior parte delle impostazioni di array, questa chiave non si unisce tra i file di impostazioni: il file con la precedenza più alta che la definisce fornisce l'intera catena. Il flag [`--fallback-model`](/it/cli-reference#cli-flags) ignora questo per una sessione. Vedi [Catene di modelli di fallback](/it/model-config#fallback-model-chains) | `["claude-sonnet-4-6", "claude-haiku-4-5"]` |266| `env` | Variabili di ambiente applicate a ogni sessione e ai sottoprocessi che Claude Code genera da essa. {/* min-version: 2.1.143 */}A partire da v2.1.143, `NO_COLOR` e `FORCE_COLOR` impostati qui vengono passati ai sottoprocessi ma non cambiano i colori dell'interfaccia di Claude Code stesso. Imposta quelli nella tua shell prima di lanciare `claude` per cambiare i colori dell'interfaccia. {/* min-version: 2.1.195 */}A partire da v2.1.195, le variabili di identità che gli ambienti di hosting di Claude Code impostano, ad esempio `CLAUDE_CODE_REMOTE` e `CLAUDE_CODE_ACCOUNT_UUID`, vengono ignorate quando impostate qui | `{"FOO": "bar"}` |

267| `fallbackModel` | Modello/i di fallback da provare in ordine quando il modello primario è sovraccarico o non disponibile. Claude Code passa al modello disponibile successivo nella catena per il resto del turno e mostra un avviso. `"default"` si espande al modello predefinito. Le catene sono limitate a tre modelli; le voci extra vengono ignorate. A differenza della maggior parte delle impostazioni di array, questa chiave non si unisce tra i file di impostazioni: il file con la precedenza più alta che la definisce fornisce l'intera catena. Il flag [`--fallback-model`](/it/cli-reference#cli-flags) ignora questo per una sessione. Vedi [Catene di modelli di fallback](/it/model-config#fallback-model-chains) | `["claude-sonnet-5", "claude-haiku-4-5"]` |

264| `fastModePerSessionOptIn` | Quando `true`, la modalità veloce non persiste tra le sessioni. Ogni sessione inizia con la modalità veloce disattivata, richiedendo agli utenti di abilitarla con `/fast`. La preferenza della modalità veloce dell'utente viene comunque salvata. Vedi [Richiedi opt-in per sessione](/it/fast-mode#require-per-session-opt-in) | `true` |268| `fastModePerSessionOptIn` | Quando `true`, la modalità veloce non persiste tra le sessioni. Ogni sessione inizia con la modalità veloce disattivata, richiedendo agli utenti di abilitarla con `/fast`. La preferenza della modalità veloce dell'utente viene comunque salvata. Vedi [Richiedi opt-in per sessione](/it/fast-mode#require-per-session-opt-in) | `true` |

265| `feedbackSurveyRate` | Probabilità (0–1) che il [sondaggio sulla qualità della sessione](/it/data-usage#session-quality-surveys) appaia quando idoneo. Imposta a `0` per sopprimere completamente, o imposta [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/it/env-vars) in `env`. Utile quando si utilizza Bedrock, Vertex, o Foundry dove il tasso di campionamento predefinito non si applica | `0.05` |269| `feedbackSurveyRate` | Probabilità (0–1) che il [sondaggio sulla qualità della sessione](/it/data-usage#session-quality-surveys) appaia quando idoneo. Imposta a `0` per sopprimere completamente, o imposta [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/it/env-vars) in `env`. Utile quando si utilizza Bedrock, Vertex, o Foundry dove il tasso di campionamento predefinito non si applica | `0.05` |

266| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}Snapshot dei file prima di ogni edit in modo che [`/rewind`](/it/checkpointing) possa ripristinarli. Predefinito: `true`. Appare in `/config` come **Rewind code (checkpoints)**. Per disabilitare tramite variabile di ambiente, imposta [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/it/env-vars) in `env` | `false` |270| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}**Predefinito**: `true`. Snapshot dei file prima di ogni edit in modo che [`/rewind`](/it/checkpointing) possa ripristinarli. Appare in `/config` come **Rewind code (checkpoints)**. Per disabilitare tramite variabile di ambiente, imposta [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/it/env-vars) in `env` | `false` |

267| `fileSuggestion` | Configura uno script personalizzato per l'autocompletamento dei file `@`. Vedi [Impostazioni di suggerimento file](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |271| `fileSuggestion` | Configura uno script personalizzato per l'autocompletamento dei file `@`. Vedi [Impostazioni di suggerimento file](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |

268| `footerLinksRegexes` | {/* min-version: 2.1.176 */}Renderizza badge cliccabili extra nel footer quando un regex corrisponde all'output del turno. Ogni voce ha un `pattern`, un modello di URL `url` con placeholder `{name}` riempiti dai gruppi di cattura denominati, e un `label` opzionale. Letto dalle impostazioni utente, dal flag `--settings`, e dalle impostazioni gestite solo. Vedi [Badge di link nel footer](#footer-link-badges) per i vincoli dell'URL, l'elenco di schemi consentiti, e i limiti. Richiede Claude Code v2.1.176 o successivo | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]` |272| `footerLinksRegexes` | {/* min-version: 2.1.176 */}Renderizza badge cliccabili extra nel footer quando un regex corrisponde all'output del turno. Ogni voce ha un `pattern`, un modello di URL `url` con placeholder `{name}` riempiti dai gruppi di cattura denominati, e un `label` opzionale. Letto dalle impostazioni utente, dal flag `--settings`, e dalle impostazioni gestite solo. Vedi [Badge di link nel footer](#footer-link-badges) per i vincoli dell'URL, l'elenco di schemi consentiti, e i limiti. Richiede Claude Code v2.1.176 o successivo | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]` |

269| `forceLoginMethod` | Usa `claudeai` per limitare l'accesso agli account Claude.ai, `console` per limitare l'accesso agli account Claude Console. Quando impostato nelle impostazioni gestite, le sessioni autenticate tramite `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, o `apiKeyHelper` vengono bloccate all'avvio, poiché nessuno dei due valori può essere soddisfatto senza OAuth di prima parte. Le sessioni del provider di terze parti come Bedrock, Vertex e Foundry non vengono bloccate: si autenticano rispetto al tuo provider cloud piuttosto che ad Anthropic | `claudeai` |273| `forceLoginMethod` | Usa `claudeai` per limitare l'accesso agli account Claude.ai, `console` per limitare l'accesso agli account Claude Console, o `gateway` per limitare l'accesso a un gateway cloud; vedi [gateway di app Claude](/it/claude-apps-gateway). Quando impostato a qualsiasi valore nelle impostazioni gestite, le sessioni autenticate tramite `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, o `apiKeyHelper` vengono bloccate all'avvio, poiché nessuno di questi valori può soddisfare il metodo di accesso richiesto. Le sessioni del provider di terze parti come Bedrock, Vertex e Foundry non vengono bloccate: si autenticano rispetto al tuo provider cloud piuttosto che ad Anthropic | `claudeai` |

274| `forceLoginGatewayUrl` | Pre-compila e blocca l'URL del gateway nella schermata `/login` Cloud gateway. O questa chiave o `forceLoginMethod: "gateway"` visualizza quella schermata; imposta entrambi in modo che l'URL sia compilato. Onorato solo al livello di politica gestita; ignorato nelle impostazioni utente e di progetto. Vedi [gateway di app Claude](/it/claude-apps-gateway#set-the-gateway-url) | `"https://claude-gateway.example.com"` |

270| `forceLoginOrgUUID` | Richiedi che l'accesso appartenga a un'organizzazione specifica di Anthropic. Accetta una singola stringa UUID, che pre-seleziona anche quell'organizzazione durante l'accesso, o un array di UUID dove qualsiasi organizzazione elencata è accettata senza pre-selezione. Quando impostato nelle impostazioni gestite, l'accesso fallisce se l'account autenticato non appartiene a un'organizzazione elencata, e le sessioni autenticate tramite `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, o `apiKeyHelper` vengono bloccate all'avvio poiché l'appartenenza all'organizzazione non può essere verificata per loro. Le sessioni del provider di terze parti come Bedrock, Vertex e Foundry non vengono bloccate: usa il tuo IAM cloud per limitare quali account cloud possono essere utilizzati. Un array vuoto fallisce in modo chiuso e blocca l'accesso con un messaggio di errore di configurazione | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` o `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |275| `forceLoginOrgUUID` | Richiedi che l'accesso appartenga a un'organizzazione specifica di Anthropic. Accetta una singola stringa UUID, che pre-seleziona anche quell'organizzazione durante l'accesso, o un array di UUID dove qualsiasi organizzazione elencata è accettata senza pre-selezione. Quando impostato nelle impostazioni gestite, l'accesso fallisce se l'account autenticato non appartiene a un'organizzazione elencata, e le sessioni autenticate tramite `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, o `apiKeyHelper` vengono bloccate all'avvio poiché l'appartenenza all'organizzazione non può essere verificata per loro. Le sessioni del provider di terze parti come Bedrock, Vertex e Foundry non vengono bloccate: usa il tuo IAM cloud per limitare quali account cloud possono essere utilizzati. Un array vuoto fallisce in modo chiuso e blocca l'accesso con un messaggio di errore di configurazione | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` o `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |

271| `forceRemoteSettingsRefresh` | (Solo impostazioni gestite) Blocca l'avvio della CLI fino a quando le impostazioni gestite remote non vengono recuperate di recente dal server. Se il recupero fallisce, la CLI esce invece di continuare con le impostazioni memorizzate nella cache o senza impostazioni. Quando non impostato, l'avvio continua senza attendere le impostazioni remote. Vedi [applicazione fail-closed](/it/server-managed-settings#enforce-fail-closed-startup) | `true` |276| `forceRemoteSettingsRefresh` | (Solo impostazioni gestite) Blocca l'avvio della CLI fino a quando le impostazioni gestite remote non vengono recuperate di recente dal server. Se il recupero fallisce, la CLI esce invece di continuare con le impostazioni memorizzate nella cache o senza impostazioni. Quando non impostato, l'avvio continua senza attendere le impostazioni remote. Vedi [applicazione fail-closed](/it/server-managed-settings#enforce-fail-closed-startup) | `true` |

272| `gcpAuthRefresh` | Script personalizzato che aggiorna le credenziali predefinite dell'applicazione GCP quando scadono o non possono essere caricate. Vedi [configurazione avanzata delle credenziali](/it/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |277| `gcpAuthRefresh` | Script personalizzato che aggiorna le credenziali predefinite dell'applicazione GCP quando scadono o non possono essere caricate. Vedi [configurazione avanzata delle credenziali](/it/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |

273| `hooks` | Configura comandi personalizzati da eseguire agli eventi del ciclo di vita. Vedi [documentazione hooks](/it/hooks) per il formato | Vedi [hooks](/it/hooks) |278| `hooks` | Configura comandi personalizzati da eseguire agli eventi del ciclo di vita. Vedi [documentazione hooks](/it/hooks) per il formato | Vedi [hooks](/it/hooks) |

274| `httpHookAllowedEnvVars` | Elenco di autorizzazione dei nomi delle variabili di ambiente che gli hook HTTP possono interpolare nelle intestazioni. Quando impostato, l'`allowedEnvVars` effettivo di ogni hook è l'intersezione del suo elenco e di questa impostazione. Non definito = nessuna restrizione. Gli array si uniscono tra le fonti di impostazioni. Vedi [Configurazione hook](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |279| `httpHookAllowedEnvVars` | Elenco di autorizzazione dei nomi delle variabili di ambiente che gli hook HTTP possono interpolare nelle intestazioni. Quando impostato, l'`allowedEnvVars` effettivo di ogni hook è l'intersezione del suo elenco e di questa impostazione. Non definito = nessuna restrizione. Gli array si uniscono tra le fonti di impostazioni. Vedi [Configurazione hook](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |

275| `includeCoAuthoredBy` | **Deprecato**: Usa `attribution` invece. Se includere la riga `co-authored-by Claude` nei commit git e nelle pull request (predefinito: `true`) | `false` |280| `includeGitInstructions` | **Predefinito**: `true`. Includi le istruzioni integrate del flusso di lavoro di commit e PR e lo snapshot dello stato git nel prompt di sistema di Claude. Imposta a `false` per rimuovere entrambi, ad esempio quando utilizzi le tue skill di flusso di lavoro git. La variabile di ambiente `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` ha la precedenza su questa impostazione quando impostata | `false` |

276| `includeGitInstructions` | Includi le istruzioni integrate del flusso di lavoro di commit e PR e lo snapshot dello stato git nel prompt di sistema di Claude (predefinito: `true`). Imposta a `false` per rimuovere entrambi, ad esempio quando utilizzi le tue skill di flusso di lavoro git. La variabile di ambiente `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` ha la precedenza su questa impostazione quando impostata | `false` |281| `inputNeededNotifEnabled` | {/* min-version: 2.1.119 */}**Predefinito**: `false`. Quando il [Controllo remoto](/it/remote-control) è connesso, invia una notifica push al tuo telefono quando un prompt di permesso o una domanda è in attesa del tuo input. Appare in `/config` come **Push when actions required**. Vedi [Notifiche push mobile](/it/remote-control#mobile-push-notifications). Richiede Claude Code v2.1.119 o successivo | `true` |

277| `inputNeededNotifEnabled` | {/* min-version: 2.1.119 */}Quando il [Controllo remoto](/it/remote-control) è connesso, invia una notifica push al tuo telefono quando un prompt di permesso o una domanda è in attesa del tuo input. Predefinito: `false`. Appare in `/config` come **Push when actions required**. Vedi [Notifiche push mobile](/it/remote-control#mobile-push-notifications). Richiede Claude Code v2.1.119 o successivo | `true` |

278| `language` | Configura la lingua di risposta preferita di Claude (ad es., `"japanese"`, `"spanish"`, `"french"`). Claude risponderà in questa lingua per impostazione predefinita. Imposta anche la lingua della [dettatura vocale](/it/voice-dictation#change-the-dictation-language) e dei titoli di sessione generati automaticamente. {/* min-version: 2.1.176 */}A partire da v2.1.176, quando non impostato, i titoli delle sessioni corrispondono alla lingua della tua conversazione | `"japanese"` |282| `language` | Configura la lingua di risposta preferita di Claude (ad es., `"japanese"`, `"spanish"`, `"french"`). Claude risponderà in questa lingua per impostazione predefinita. Imposta anche la lingua della [dettatura vocale](/it/voice-dictation#change-the-dictation-language) e dei titoli di sessione generati automaticamente. {/* min-version: 2.1.176 */}A partire da v2.1.176, quando non impostato, i titoli delle sessioni corrispondono alla lingua della tua conversazione | `"japanese"` |

279| `maxSkillDescriptionChars` | {/* min-version: 2.1.105 */}Limite di caratteri per skill sul testo combinato `description` e `when_to_use` nell'[elenco di skills](/it/skills#skill-descriptions-are-cut-short) che Claude vede ogni turno (predefinito: `1536`). Il testo più lungo di questo viene troncato. Aumenta per mantenere le descrizioni lunghe intatte al costo di più contesto per turno; riduci per adattare più skills sotto [`skillListingBudgetFraction`](#available-settings). Richiede Claude Code v2.1.105 o successivo | `2048` |

280| `minimumVersion` | Floor che previene l'auto-aggiornamento in background e `claude update` dall'installazione di una versione al di sotto di questa. Passare dal canale `"latest"` a `"stable"` tramite `/config` ti chiede di rimanere sulla versione corrente o di consentire il downgrade. Scegliere di rimanere imposta questo valore. Utile anche nelle [impostazioni gestite](/it/permissions#managed-settings) per fissare un minimo a livello organizzativo. Per un floor rigido che blocca completamente l'avvio, vedi `requiredMinimumVersion` | `"2.1.100"` |283| `minimumVersion` | Floor che previene l'auto-aggiornamento in background e `claude update` dall'installazione di una versione al di sotto di questa. Passare dal canale `"latest"` a `"stable"` tramite `/config` ti chiede di rimanere sulla versione corrente o di consentire il downgrade. Scegliere di rimanere imposta questo valore. Utile anche nelle [impostazioni gestite](/it/permissions#managed-settings) per fissare un minimo a livello organizzativo. Per un floor rigido che blocca completamente l'avvio, vedi `requiredMinimumVersion` | `"2.1.100"` |

281| `model` | Ignora il modello predefinito da utilizzare per Claude Code. `--model` e [`ANTHROPIC_MODEL`](/it/model-config#environment-variables) ignorano questo per una sessione | `"claude-sonnet-4-6"` |284| `model` | Ignora il modello predefinito da utilizzare per Claude Code. `--model` e [`ANTHROPIC_MODEL`](/it/model-config#environment-variables) ignorano questo per una sessione | `"claude-sonnet-5"` |

282| `modelOverrides` | Mappa gli ID dei modelli Anthropic agli ID dei modelli specifici del provider come gli ARN del profilo di inferenza Bedrock. Ogni voce del selettore di modello utilizza il suo valore mappato quando chiama l'API del provider. Vedi [Ignora gli ID dei modelli per versione](/it/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |285| `modelOverrides` | Mappa gli ID dei modelli Anthropic agli ID dei modelli specifici del provider come gli ARN del profilo di inferenza Bedrock. Ogni voce del selettore di modello utilizza il suo valore mappato quando chiama l'API del provider. Vedi [Ignora gli ID dei modelli per versione](/it/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |

283| `otelHeadersHelper` | Script per generare intestazioni OpenTelemetry dinamiche. Viene eseguito all'avvio e periodicamente. Imposta l'intervallo di aggiornamento con [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/it/env-vars). Vedi [Intestazioni dinamiche](/it/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |286| `otelHeadersHelper` | Script per generare intestazioni OpenTelemetry dinamiche. Viene eseguito all'avvio e periodicamente. Imposta l'intervallo di aggiornamento con [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/it/env-vars). Vedi [Intestazioni dinamiche](/it/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |

284| `outputStyle` | Configura uno stile di output per regolare il prompt di sistema. Vedi [documentazione degli stili di output](/it/output-styles) | `"Explanatory"` |287| `outputStyle` | Configura uno stile di output per regolare il prompt di sistema. Vedi [documentazione degli stili di output](/it/output-styles) | `"Explanatory"` |

285| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Solo impostazioni gestite) Controlla se le impostazioni gestite fornite programmaticamente da un processo host di incorporamento, come l'Agent SDK o un'estensione IDE, si applicano quando è presente anche un livello gestito distribuito da un amministratore. `"first-wins"`: le impostazioni fornite dal parent vengono eliminate e si applica solo il livello amministrativo. `"merge"`: le impostazioni fornite dal parent si applicano sotto il livello amministrativo, filtrate in modo che possano stringere la politica ma non allentarla. Non ha effetto quando non è distribuito alcun livello amministrativo. Predefinito: `"first-wins"`. Richiede Claude Code v2.1.133 o successivo | `"merge"` |288| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Solo impostazioni gestite) **Predefinito**: `"first-wins"`. Controlla se le impostazioni gestite fornite programmaticamente da un processo host di incorporamento, come l'Agent SDK o un'estensione IDE, si applicano quando è presente anche un livello gestito distribuito da un amministratore. `"first-wins"`: le impostazioni fornite dal parent vengono eliminate e si applica solo il livello amministrativo. `"merge"`: le impostazioni fornite dal parent si applicano sotto il livello amministrativo, filtrate in modo che possano stringere la politica ma non allentarla. Non ha effetto quando non è distribuito alcun livello amministrativo. Richiede Claude Code v2.1.133 o successivo | `"merge"` |

286| `permissions` | Vedi la tabella sottostante per la struttura dei permessi. | |289| `permissions` | Vedi la tabella sottostante per la struttura dei permessi. | |

287| `plansDirectory` | Personalizza dove vengono archiviati i file di piano. Il percorso è relativo alla radice del progetto. Predefinito: `~/.claude/plans` | `"./plans"` |290| `plansDirectory` | **Predefinito**: `~/.claude/plans`. Personalizza dove vengono archiviati i file di piano. Il percorso è relativo alla radice del progetto. | `"./plans"` |

288| `pluginSuggestionMarketplaces` | (Solo impostazioni gestite) Nomi dei marketplace i cui plugin possono apparire come suggerimenti di installazione contestuali. Nessun suggerimento dichiarato dal marketplace viene visualizzato senza questo elenco di autorizzazione; il suggerimento incorporato di design frontend di prima parte non è interessato. I suggerimenti provengono dalla dichiarazione `relevance` di ogni plugin nella sua voce del marketplace. Un nome ha effetto solo quando il marketplace è registrato sulla macchina e la sua fonte registrata è anche dichiarata nelle impostazioni gestite, come voce `extraKnownMarketplaces` per quel nome o come voce di `strictKnownMarketplaces`. Un marketplace registrato da una fonte diversa con un nome nella lista di autorizzazione viene ignorato. Il marketplace ufficiale è esente dal requisito della fonte: autorizzare il suo nome da solo è sufficiente, poiché quel nome può registrarsi solo dalla fonte Anthropic ufficiale. | `["acme-corp-plugins"]` |291| `pluginSuggestionMarketplaces` | (Solo impostazioni gestite) Nomi dei marketplace i cui plugin possono apparire come suggerimenti di installazione contestuali. Nessun suggerimento dichiarato dal marketplace viene visualizzato senza questo elenco di autorizzazione; il suggerimento incorporato di design frontend di prima parte non è interessato. I suggerimenti provengono dalla dichiarazione `relevance` di ogni plugin nella sua voce del marketplace. Un nome ha effetto solo quando il marketplace è registrato sulla macchina e la sua fonte registrata è anche dichiarata nelle impostazioni gestite, come voce `extraKnownMarketplaces` per quel nome o come voce di `strictKnownMarketplaces`. Un marketplace registrato da una fonte diversa con un nome nella lista di autorizzazione viene ignorato. Il marketplace ufficiale è esente dal requisito della fonte: autorizzare il suo nome da solo è sufficiente, poiché quel nome può registrarsi solo dalla fonte Anthropic ufficiale. | `["acme-corp-plugins"]` |

289| `pluginTrustMessage` | (Solo impostazioni gestite) Messaggio personalizzato aggiunto all'avviso di fiducia del plugin mostrato prima dell'installazione. Usa questo per aggiungere contesto specifico dell'organizzazione, ad esempio per confermare che i plugin dal tuo marketplace interno sono controllati. | `"All plugins from our marketplace are approved by IT"` |292| `pluginTrustMessage` | (Solo impostazioni gestite) Messaggio personalizzato aggiunto all'avviso di fiducia del plugin mostrato prima dell'installazione. Usa questo per aggiungere contesto specifico dell'organizzazione, ad esempio per confermare che i plugin dal tuo marketplace interno sono controllati. | `"All plugins from our marketplace are approved by IT"` |

290| `policyHelper` | {/* min-version: 2.1.136 */}Eseguibile distribuito dall'amministratore che calcola le impostazioni gestite dinamicamente all'avvio. Onorato solo da MDM o da un file `managed-settings.json` di sistema. Vedi [Calcola le impostazioni gestite con un policy helper](#compute-managed-settings-with-a-policy-helper). Richiede Claude Code v2.1.136 o successivo | `{"path": "/usr/local/bin/claude-policy"}` |293| `policyHelper` | {/* min-version: 2.1.136 */}Eseguibile distribuito dall'amministratore che calcola le impostazioni gestite dinamicamente all'avvio. Onorato solo da MDM o da un file `managed-settings.json` di sistema. Vedi [Calcola le impostazioni gestite con un policy helper](#compute-managed-settings-with-a-policy-helper). Richiede Claude Code v2.1.136 o successivo | `{"path": "/usr/local/bin/claude-policy"}` |

291| `preferredNotifChannel` | Metodo per le notifiche di completamento attività e prompt di permesso: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"`, o `"notifications_disabled"`. Predefinito: `"auto"`, che invia una notifica desktop in iTerm2, Ghostty e Kitty e non fa nulla in altri terminali. Imposta `"terminal_bell"` per suonare il carattere di campanello in qualsiasi terminale. Appare in `/config` come **Notifications**. Vedi [Ottieni un campanello del terminale o una notifica](/it/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |294| `preferredNotifChannel` | **Predefinito**: `"auto"`. Metodo per le notifiche di completamento attività e prompt di permesso: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"`, o `"notifications_disabled"`. `"auto"` invia una notifica desktop in iTerm2, Ghostty e Kitty e non fa nulla in altri terminali. Imposta `"terminal_bell"` per suonare il carattere di campanello in qualsiasi terminale. Appare in `/config` come **Notifications**. Vedi [Ottieni un campanello del terminale o una notifica](/it/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |

292| `prefersReducedMotion` | Riduci o disabilita le animazioni dell'interfaccia utente (spinner, shimmer, effetti flash) per l'accessibilità | `true` |295| `prefersReducedMotion` | Riduci o disabilita le animazioni dell'interfaccia utente (spinner, shimmer, effetti flash) per l'accessibilità | `true` |

293| `prUrlTemplate` | Modello di URL per il badge PR mostrato nel footer e nei riassunti dei risultati degli strumenti. Sostituisce `{host}`, `{owner}`, `{repo}`, `{number}`, e `{url}` dall'URL PR segnalato da `gh`. Usa per puntare i link PR a uno strumento di revisione del codice interno invece di `github.com`. Non influisce sui link automatici `#123` nella prosa di Claude | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |296| `prUrlTemplate` | Modello di URL per il badge PR mostrato nel footer e nei riassunti dei risultati degli strumenti. Sostituisce `{host}`, `{owner}`, `{repo}`, `{number}`, e `{url}` dall'URL PR segnalato da `gh`. Usa per puntare i link PR a uno strumento di revisione del codice interno invece di `github.com`. Non influisce sui link automatici `#123` nella prosa di Claude | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |

294| `remoteControlAtStartup` | {/* min-version: 2.1.119 */}Connetti il [Controllo remoto](/it/remote-control) automaticamente quando ogni sessione interattiva si avvia, invece di attendere `/remote-control`. Imposta a `true` per connettersi sempre automaticamente, `false` per non connettersi mai automaticamente, o lascia non impostato per seguire il predefinito della tua organizzazione. Appare in `/config` come **Enable Remote Control for all sessions**. Vedi [Abilita il Controllo remoto per tutte le sessioni](/it/remote-control#enable-remote-control-for-all-sessions) | `false` |297| `remoteControlAtStartup` | {/* min-version: 2.1.119 */}Connetti il [Controllo remoto](/it/remote-control) automaticamente quando ogni sessione interattiva si avvia, invece di attendere `/remote-control`. Imposta a `true` per connettersi sempre automaticamente, `false` per non connettersi mai automaticamente, o lascia non impostato per seguire il predefinito della tua organizzazione. Appare in `/config` come **Enable Remote Control for all sessions**. Vedi [Abilita il Controllo remoto per tutte le sessioni](/it/remote-control#enable-remote-control-for-all-sessions) | `false` |

295| `requiredMaximumVersion` | Solo impostazioni gestite. Versione massima di Claude Code consentita per l'avvio. Se la versione in esecuzione è più recente, Claude Code esce all'avvio e istruisce l'utente a installare una versione approvata tramite il metodo approvato dell'organizzazione; `claude install <version>` potrebbe anche funzionare. L'auto-aggiornamento in background e `claude update` saltano le versioni sopra il limite, quindi un'installazione in intervallo rimane in intervallo. `claude update`, `claude install`, e `claude doctor` continuano a funzionare sopra il limite in modo che gli utenti possano recuperare. Le versioni che precedono questa impostazione la ignorano | `"2.1.150"` |298| `requiredMaximumVersion` | Solo impostazioni gestite. Versione massima di Claude Code consentita per l'avvio. Se la versione in esecuzione è più recente, Claude Code esce all'avvio e istruisce l'utente a installare una versione approvata tramite il metodo approvato dell'organizzazione; `claude install <version>` potrebbe anche funzionare. L'auto-aggiornamento in background e `claude update` saltano le versioni sopra il limite, quindi un'installazione in intervallo rimane in intervallo. `claude update`, `claude install`, e `claude doctor` continuano a funzionare sopra il limite in modo che gli utenti possano recuperare. Le versioni che precedono questa impostazione la ignorano | `"2.1.150"` |

296| `requiredMinimumVersion` | Solo impostazioni gestite. Versione minima di Claude Code richiesta per l'avvio. Se la versione in esecuzione è più vecchia, Claude Code esce all'avvio e istruisce l'utente ad aggiornare tramite il metodo approvato dell'organizzazione. `claude update`, `claude install`, e `claude doctor` continuano a funzionare sotto il limite in modo che gli utenti possano recuperare. Differisce da `minimumVersion`, che previene i downgrade ma non blocca mai l'avvio. Le versioni che precedono questa impostazione la ignorano | `"2.1.150"` |299| `requiredMinimumVersion` | Solo impostazioni gestite. Versione minima di Claude Code richiesta per l'avvio. Se la versione in esecuzione è più vecchia, Claude Code esce all'avvio e istruisce l'utente ad aggiornare tramite il metodo approvato dell'organizzazione. `claude update`, `claude install`, e `claude doctor` continuano a funzionare sotto il limite in modo che gli utenti possano recuperare. Differisce da `minimumVersion`, che previene i downgrade ma non blocca mai l'avvio. Le versioni che precedono questa impostazione la ignorano | `"2.1.150"` |

297| `respondToBashCommands` | {/* min-version: 2.1.186 */}Se Claude risponde dopo l'esecuzione di un comando shell `!` della casella di input. Imposta a `false` per aggiungere l'output del comando al contesto senza una risposta. Predefinito: `true`. Vedi [Modalità shell con prefisso `!`](/it/interactive-mode#shell-mode-with-prefix). Richiede Claude Code v2.1.186 o successivo | `false` |300| `respectGitignore` | **Predefinito**: `true`. Controlla se il selettore di file `@` rispetta i modelli `.gitignore`. Quando `true`, i file che corrispondono ai modelli `.gitignore` sono esclusi dai suggerimenti | `false` |

298| `respectGitignore` | Controlla se il selettore di file `@` rispetta i modelli `.gitignore`. Quando `true` (predefinito), i file che corrispondono ai modelli `.gitignore` sono esclusi dai suggerimenti | `false` |301| `respondToBashCommands` | {/* min-version: 2.1.186 */}**Predefinito**: `true`. Se Claude risponde dopo l'esecuzione di un comando shell `!` della casella di input. Imposta a `false` per aggiungere l'output del comando al contesto senza una risposta. Vedi [Modalità shell con prefisso `!`](/it/interactive-mode#shell-mode-with-prefix). Richiede Claude Code v2.1.186 o successivo | `false` |

299| `showClearContextOnPlanAccept` | Mostra l'opzione "cancella contesto" nella schermata di accettazione del piano. Predefinito: `false`. Imposta a `true` per ripristinare l'opzione | `true` |302| `showClearContextOnPlanAccept` | **Predefinito**: `false`. Mostra l'opzione "cancella contesto" nella schermata di accettazione del piano. Imposta a `true` per ripristinare l'opzione | `true` |

300| `showThinkingSummaries` | Mostra i riassunti del [pensiero esteso](/it/model-config#extended-thinking) nelle sessioni interattive. Quando non impostato o `false` (predefinito in modalità interattiva), i blocchi di pensiero vengono redatti dall'API e mostrati come uno stub compresso. La redazione cambia solo quello che vedi, non quello che il modello genera: per ridurre la spesa di pensiero, [abbassa il budget o disabilita il pensiero](/it/model-config#extended-thinking) invece. Questa impostazione non ha effetto in modalità non interattiva (`-p`), l'Agent SDK, o le estensioni IDE come VS Code | `true` |303| `showThinkingSummaries` | **Predefinito**: `false`. Mostra i riassunti del [pensiero esteso](/it/model-config#extended-thinking) nelle sessioni interattive. Quando non impostato o `false`, i blocchi di pensiero vengono redatti dall'API e mostrati come uno stub compresso. La redazione cambia solo quello che vedi, non quello che il modello genera: per ridurre la spesa di pensiero, [abbassa il budget o disabilita il pensiero](/it/model-config#extended-thinking) invece. Questa impostazione non ha effetto in modalità non interattiva (`-p`), l'Agent SDK, o le estensioni IDE come VS Code | `true` |

301| `showTurnDuration` | Mostra i messaggi di durata del turno dopo le risposte, ad es. "Cooked for 1m 6s". Predefinito: `true`. Appare in `/config` come **Show turn duration** | `false` |304| `showTurnDuration` | **Predefinito**: `true`. Mostra i messaggi di durata del turno dopo le risposte, ad es. "Cooked for 1m 6s". Appare in `/config` come **Show turn duration** | `false` |

302| `skillListingBudgetFraction` | {/* min-version: 2.1.105 */}Frazione della finestra di contesto del modello riservata all'[elenco di skills](/it/skills#skill-descriptions-are-cut-short) che Claude vede ogni turno (predefinito: `0.01` = 1%). Quando l'elenco supera il budget, le descrizioni per gli skills meno utilizzati vengono compresse a soli nomi in modo che Claude possa comunque invocarli ma non vedrà il motivo. Aumenta per mantenere più descrizioni visibili al costo di più contesto per turno. `/doctor` mostra il conteggio di troncamento corrente e quali skills sono interessati. Richiede Claude Code v2.1.105 o successivo | `0.02` |305| `skillListingBudgetFraction` | {/* min-version: 2.1.105 */}**Predefinito**: `0.01` (1%). Frazione della finestra di contesto del modello riservata all'[elenco di skills](/it/skills#skill-descriptions-are-cut-short) che Claude vede ogni turno. Quando l'elenco supera il budget, le descrizioni per gli skills meno utilizzati vengono compresse a soli nomi in modo che Claude possa comunque invocarli ma non vedrà il motivo. Aumenta per mantenere più descrizioni visibili al costo di più contesto per turno. `/doctor` mostra il conteggio di troncamento corrente e quali skills sono interessati. Richiede Claude Code v2.1.105 o successivo | `0.02` |

306| `skillListingMaxDescChars` | {/* min-version: 2.1.105 */}**Predefinito**: `1536`. Limite di caratteri per skill sul testo combinato `description` e `when_to_use` nell'[elenco di skills](/it/skills#skill-descriptions-are-cut-short) che Claude vede ogni turno. Il testo più lungo di questo viene troncato. Aumenta per mantenere le descrizioni lunghe intatte al costo di più contesto per turno; riduci per adattare più skills sotto [`skillListingBudgetFraction`](#available-settings). Richiede Claude Code v2.1.105 o successivo | `2048` |

303| `skillOverrides` | {/* min-version: 2.1.129 */}Override di visibilità per skill, con chiave il nome dello skill. Il valore è `"on"`, `"name-only"`, `"user-invocable-only"`, o `"off"`. Ti consente di nascondere o comprimere uno skill senza modificare il suo SKILL.md. Non si applica ai plugin skills, che vengono gestiti tramite `/plugin`. Il menu `/skills` scrive questi in `.claude/settings.local.json`. Vedi [Override della visibilità dello skill dalle impostazioni](/it/skills#override-skill-visibility-from-settings). Richiede Claude Code v2.1.129 o successivo | `{"legacy-context": "name-only", "deploy": "off"}` |307| `skillOverrides` | {/* min-version: 2.1.129 */}Override di visibilità per skill, con chiave il nome dello skill. Il valore è `"on"`, `"name-only"`, `"user-invocable-only"`, o `"off"`. Ti consente di nascondere o comprimere uno skill senza modificare il suo SKILL.md. Non si applica ai plugin skills, che vengono gestiti tramite `/plugin`. Il menu `/skills` scrive questi in `.claude/settings.local.json`. Vedi [Override della visibilità dello skill dalle impostazioni](/it/skills#override-skill-visibility-from-settings). Richiede Claude Code v2.1.129 o successivo | `{"legacy-context": "name-only", "deploy": "off"}` |

304| `skipWebFetchPreflight` | Salta il [controllo di sicurezza del dominio WebFetch](/it/data-usage#webfetch-domain-safety-check) che invia ogni hostname richiesto a `api.anthropic.com` prima del recupero. Imposta a `true` negli ambienti che bloccano il traffico verso Anthropic, come le distribuzioni Bedrock, Vertex AI, o Foundry con egress restrittivo. Quando saltato, WebFetch tenta qualsiasi URL senza consultare l'elenco di blocco | `true` |308| `skipWebFetchPreflight` | Salta il [controllo di sicurezza del dominio WebFetch](/it/data-usage#webfetch-domain-safety-check) che invia ogni hostname richiesto a `api.anthropic.com` prima del recupero. Imposta a `true` negli ambienti che bloccano il traffico verso Anthropic, come le distribuzioni Bedrock, Vertex AI, o Foundry con egress restrittivo. Quando saltato, WebFetch tenta qualsiasi URL senza consultare l'elenco di blocco | `true` |

305| `spinnerTipsEnabled` | Mostra suggerimenti nello spinner mentre Claude sta lavorando. Imposta a `false` per disabilitare i suggerimenti (predefinito: `true`) | `false` |309| `spinnerTipsEnabled` | **Predefinito**: `true`. Mostra suggerimenti nello spinner mentre Claude sta lavorando. Imposta a `false` per disabilitare i suggerimenti | `false` |

306| `spinnerTipsOverride` | Ignora i suggerimenti dello spinner con stringhe personalizzate. `tips`: array di stringhe di suggerimento. `excludeDefault`: se `true`, mostra solo suggerimenti personalizzati; se `false` o assente, i suggerimenti personalizzati vengono uniti ai suggerimenti incorporati | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |310| `spinnerTipsOverride` | Ignora i suggerimenti dello spinner con stringhe personalizzate. `tips`: array di stringhe di suggerimento. `excludeDefault`: se `true`, mostra solo suggerimenti personalizzati; se `false` o assente, i suggerimenti personalizzati vengono uniti ai suggerimenti incorporati | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |

307| `spinnerVerbs` | Personalizza i verbi di azione mostrati mentre un turno è in corso. Imposta `mode` a `"replace"` per utilizzare solo i tuoi verbi, o `"append"` per aggiungerli ai predefiniti | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}` |311| `spinnerVerbs` | Personalizza i verbi di azione mostrati mentre un turno è in corso. Imposta `mode` a `"replace"` per utilizzare solo i tuoi verbi, o `"append"` per aggiungerli ai predefiniti | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}` |

308| `sshConfigs` | Connessioni SSH da mostrare nel menu a discesa dell'ambiente [Desktop](/it/desktop#pre-configure-ssh-connections-for-your-team). Ogni voce richiede `id`, `name` e `sshHost`; `sshPort`, `sshIdentityFile` e `startDirectory` sono facoltativi. Quando impostato nelle impostazioni gestite, le connessioni sono di sola lettura per gli utenti. Letto solo dalle impostazioni gestite e utente | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |312| `sshConfigs` | Connessioni SSH da mostrare nel menu a discesa dell'ambiente [Desktop](/it/desktop#pre-configure-ssh-connections-for-your-team). Ogni voce richiede `id`, `name` e `sshHost`; `sshPort`, `sshIdentityFile` e `startDirectory` sono facoltativi. Quando impostato nelle impostazioni gestite, le connessioni sono di sola lettura per gli utenti. Letto solo dalle impostazioni gestite e utente | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |

309| `statusLine` | Configura una status line personalizzata per visualizzare il contesto. Vedi [documentazione `statusLine`](/it/statusline) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |313| `statusLine` | Configura una status line personalizzata per visualizzare il contesto. L'oggetto ha campi opzionali `padding`, `refreshInterval`, e `hideVimModeIndicator` che controllano la spaziatura, le ri-esecuzioni periodiche, e se l'indicatore della modalità vim incorporato sotto il prompt è nascosto. Vedi [documentazione `statusLine`](/it/statusline#manually-configure-a-status-line) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |

310| `strictKnownMarketplaces` | (Solo impostazioni gestite) Elenco di autorizzazione dei marketplace dei plugin. Non definito = nessuna restrizione, array vuoto = blocco. Applicato all'aggiunta del marketplace e all'installazione, aggiornamento, aggiornamento e auto-aggiornamento del plugin, quindi un marketplace aggiunto prima che la politica fosse impostata non può essere utilizzato per recuperare i plugin. Vedi [Restrizioni del marketplace gestito](/it/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |314| `strictKnownMarketplaces` | (Solo impostazioni gestite) Elenco di autorizzazione dei marketplace dei plugin. Non definito = nessuna restrizione, array vuoto = blocco. Applicato all'aggiunta del marketplace e all'installazione, aggiornamento, aggiornamento e auto-aggiornamento del plugin, quindi un marketplace aggiunto prima che la politica fosse impostata non può essere utilizzato per recuperare i plugin. Vedi [Restrizioni del marketplace gestito](/it/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |

311| `strictPluginOnlyCustomization` | (Solo impostazioni gestite) Blocca skills, agenti, hooks e MCP server dalle fonti utente e di progetto, in modo che possano provenire solo da plugin o impostazioni gestite. `true` blocca tutti e quattro; un array blocca solo quelli denominati. Vedi [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |315| `strictPluginOnlyCustomization` | (Solo impostazioni gestite) Blocca skills, agenti, hooks e MCP server dalle fonti utente e di progetto, in modo che possano provenire solo da plugin o impostazioni gestite. `true` blocca tutti e quattro; un array blocca solo quelli denominati. Vedi [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |

312| `syntaxHighlightingDisabled` | Disabilita l'evidenziazione della sintassi nei diff, nei blocchi di codice e nelle anteprime dei file | `true` |316| `syntaxHighlightingDisabled` | Disabilita l'evidenziazione della sintassi nei diff, nei blocchi di codice e nelle anteprime dei file | `true` |

313| `teammateMode` | Come i compagni di squadra del [team di agenti](/it/agent-teams) vengono visualizzati: `in-process` (predefinito), `auto` (sceglie riquadri divisi in tmux o iTerm2, in-process altrimenti), `tmux` (sceglie riquadri divisi usando tmux o iTerm2, rilevato dal tuo terminale), o {/* min-version: 2.1.186 */}`iterm2` (riquadri divisi nativi iTerm2 tramite la CLI `it2`, aggiunto in v2.1.186). Il predefinito è cambiato da `auto` in v2.1.179. `--teammate-mode` ignora questo per una sessione. Vedi [scegli una modalità di visualizzazione](/it/agent-teams#choose-a-display-mode) | `"auto"` |317| `teammateMode` | **Predefinito**: `in-process`. Come i compagni di squadra del [team di agenti](/it/agent-teams) vengono visualizzati: `in-process`, `auto` (sceglie riquadri divisi in tmux o iTerm2, in-process altrimenti), `tmux` (sceglie riquadri divisi usando tmux o iTerm2, rilevato dal tuo terminale), o {/* min-version: 2.1.186 */}`iterm2` (riquadri divisi nativi iTerm2 tramite la CLI `it2`, aggiunto in v2.1.186). Il predefinito è cambiato da `auto` in v2.1.179. `--teammate-mode` ignora questo per una sessione. Vedi [scegli una modalità di visualizzazione](/it/agent-teams#choose-a-display-mode) | `"auto"` |

314| `terminalProgressBarEnabled` | Mostra la barra di avanzamento del terminale nei terminali supportati: ConEmu, Ghostty 1.2.0+, e iTerm2 3.6.6+. Predefinito: `true`. Appare in `/config` come **Terminal progress bar** | `false` |318| `terminalProgressBarEnabled` | **Predefinito**: `true`. Mostra la barra di avanzamento del terminale nei terminali supportati: ConEmu, Ghostty 1.2.0+, e iTerm2 3.6.6+. Appare in `/config` come **Terminal progress bar** | `false` |

315| `theme` | {/* min-version: 2.1.119 */}Tema di colore per l'interfaccia: `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"`, o un riferimento a tema personalizzato come `"custom:<slug>"` o `"custom:<plugin-name>:<slug>"`. Predefinito: `"dark"`. Vedi [Crea un tema personalizzato](/it/terminal-config#create-a-custom-theme). Appare in `/config` come **Theme** | `"dark"` |319| `theme` | {/* min-version: 2.1.119 */}**Predefinito**: `"dark"`. Tema di colore per l'interfaccia: `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"`, o un riferimento a tema personalizzato come `"custom:<slug>"` o `"custom:<plugin-name>:<slug>"`. Vedi [Crea un tema personalizzato](/it/terminal-config#create-a-custom-theme). Appare in `/config` come **Theme** | `"dark"` |

316| `tui` | Renderer dell'interfaccia utente del terminale. Usa `"fullscreen"` per il renderer [alt-screen](/it/fullscreen) senza sfarfallio con scrollback virtualizzato. Usa `"default"` per il renderer classico della schermata principale. Imposta tramite `/tui`. Puoi anche impostare la variabile di ambiente [`CLAUDE_CODE_NO_FLICKER`](/it/env-vars) | `"fullscreen"` |320| `tui` | Renderer dell'interfaccia utente del terminale. Usa `"fullscreen"` per il renderer [alt-screen](/it/fullscreen) senza sfarfallio con scrollback virtualizzato. Usa `"default"` per il renderer classico della schermata principale. Imposta tramite `/tui`. Puoi anche impostare la variabile di ambiente [`CLAUDE_CODE_NO_FLICKER`](/it/env-vars) | `"fullscreen"` |

317| `ultracode` | Attiva [ultracode](/it/workflows#let-claude-decide-with-ultracode) per la sessione. Solo per sessione e non letto da `settings.json`. Imposta tramite `/effort ultracode`, `--settings`, o una richiesta di controllo dell'Agent SDK | `true` |321| `ultracode` | Attiva [ultracode](/it/workflows#let-claude-decide-with-ultracode) per la sessione. Solo per sessione e non letto da `settings.json`. Imposta tramite `/effort ultracode`, `--settings`, o una richiesta di controllo dell'Agent SDK | `true` |

318| `useAutoModeDuringPlan` | Se la modalità piano utilizza la semantica della modalità auto quando la modalità auto è disponibile. Predefinito: `true`. Non letto dalle impostazioni di progetto condivise. Appare in `/config` come "Use auto mode during plan" | `false` |322| `useAutoModeDuringPlan` | **Predefinito**: `true`. Se la modalità piano utilizza la semantica della modalità auto quando la modalità auto è disponibile. Non letto dalle impostazioni di progetto condivise. Appare in `/config` come "Use auto mode during plan" | `false` |

319| `verbose` | {/* min-version: 2.1.119 */}Mostra l'output completo dello strumento invece dei riassunti troncati. Predefinito: `false`. Appare in `/config` come **Verbose output**. Il flag `--verbose` ignora questo per una sessione | `true` |323| `verbose` | {/* min-version: 2.1.119 */}**Predefinito**: `false`. Mostra l'output completo dello strumento invece dei riassunti troncati. Appare in `/config` come **Verbose output**. Il flag `--verbose` ignora questo per una sessione | `true` |

320| `viewMode` | Modalità di visualizzazione della trascrizione predefinita all'avvio: `"default"`, `"verbose"`, o `"focus"`. Ignora la selezione sticky `/focus` quando impostato. Il flag `--verbose` ignora questo per una sessione | `"verbose"` |324| `viewMode` | Modalità di visualizzazione della trascrizione predefinita all'avvio: `"default"`, `"verbose"`, o `"focus"`. Ignora la selezione sticky `/focus` quando impostato. Il flag `--verbose` ignora questo per una sessione | `"verbose"` |

321| `voice` | Impostazioni della [dettatura vocale](/it/voice-dictation): `enabled` attiva la dettatura, `mode` seleziona `"hold"` o `"tap"`, e `autoSubmit` invia il prompt al rilascio del tasto in modalità hold. Scritto automaticamente quando esegui `/voice`. Richiede un account Claude.ai | `{ "enabled": true, "mode": "tap" }` |325| `voice` | Impostazioni della [dettatura vocale](/it/voice-dictation): `enabled` attiva la dettatura, `mode` seleziona `"hold"` o `"tap"`, e `autoSubmit` invia il prompt al rilascio del tasto in modalità hold. Scritto automaticamente quando esegui `/voice`. Richiede un account Claude.ai | `{ "enabled": true, "mode": "tap" }` |

322| `voiceEnabled` | Alias legacy per `voice.enabled`. Preferisci l'oggetto `voice` | `true` |326| `voiceEnabled` | Alias legacy per `voice.enabled`. Preferisci l'oggetto `voice` | `true` |

323| `wheelScrollAccelerationEnabled` | {/* min-version: 2.1.174 */}Nel [rendering fullscreen](/it/fullscreen#mouse-wheel-scrolling), accelera la velocità di scorrimento della rotella del mouse durante gli scorrimenti veloci. Predefinito: `true`. Imposta a `false` per una velocità di scorrimento costante per tacca della rotella. Richiede Claude Code v2.1.174 o successivo | `false` |327| `wheelScrollAccelerationEnabled` | {/* min-version: 2.1.174 */}**Predefinito**: `true`. Nel [rendering fullscreen](/it/fullscreen#mouse-wheel-scrolling), accelera la velocità di scorrimento della rotella del mouse durante gli scorrimenti veloci. Imposta a `false` per una velocità di scorrimento costante per tacca della rotella. Richiede Claude Code v2.1.174 o successivo | `false` |

324| `workflowKeywordTriggerEnabled` | {/* min-version: 2.1.157 */}Se la parola chiave `ultracode` in un prompt attiva un [flusso di lavoro dinamico](/it/workflows#ask-for-a-workflow-in-your-prompt). Imposta a `false` per digitare la parola senza attivarne uno. L'impostazione ultracode, `/workflows`, e i comandi di flusso di lavoro salvati non sono interessati. Predefinito: `true`. Appare in `/config` come **Ultracode keyword trigger**. Aggiunto in v2.1.157; prima di v2.1.160 la parola chiave di attivazione era `workflow` | `false` |328| `workflowKeywordTriggerEnabled` | {/* min-version: 2.1.157 */}**Predefinito**: `true`. Se la parola chiave `ultracode` in un prompt attiva un [flusso di lavoro dinamico](/it/workflows#ask-for-a-workflow-in-your-prompt). Imposta a `false` per digitare la parola senza attivarne uno. L'impostazione ultracode, `/workflows`, e i comandi di flusso di lavoro salvati non sono interessati. Appare in `/config` come **Ultracode keyword trigger**. Aggiunto in v2.1.157; prima di v2.1.160 la parola chiave di attivazione era `workflow` | `false` |

325| `wslInheritsWindowsSettings` | (Solo impostazioni gestite Windows) Quando `true`, Claude Code su WSL legge le impostazioni gestite dalla catena di politiche Windows in aggiunta a `/etc/claude-code`, con le fonti Windows che hanno priorità. Onorato solo quando impostato nella chiave di registro HKLM o in `C:\Program Files\ClaudeCode\managed-settings.json`, entrambi richiedono privilegi di amministratore Windows per scrivere. Affinché la politica HKCU si applichi anche su WSL, il flag deve essere impostato anche in HKCU stesso. Non ha effetto su Windows nativo | `true` |329| `wslInheritsWindowsSettings` | (Solo impostazioni gestite Windows) Quando `true`, Claude Code su WSL legge le impostazioni gestite dalla catena di politiche Windows in aggiunta a `/etc/claude-code`, con le fonti Windows che hanno priorità. Onorato solo quando impostato nella chiave di registro HKLM o in `C:\Program Files\ClaudeCode\managed-settings.json`, entrambi richiedono privilegi di amministratore Windows per scrivere. Affinché la politica HKCU si applichi anche su WSL, il flag deve essere impostato anche in HKCU stesso. Non ha effetto su Windows nativo | `true` |

326 330 

327<h3 id="global-config-settings">331<h3 id="global-config-settings">


335</Note>339</Note>

336 340 

337| Chiave | Descrizione | Esempio |341| Chiave | Descrizione | Esempio |

338| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------- |342| :------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |

339| `autoConnectIde` | Connettiti automaticamente a un IDE in esecuzione quando Claude Code si avvia da un terminale esterno. Predefinito: `false`. Appare in `/config` come **Auto-connect to IDE (external terminal)** quando eseguito al di fuori di un terminale VS Code o JetBrains. La variabile di ambiente [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/it/env-vars) ignora questo quando impostata | `true` |343| `autoConnectIde` | **Predefinito**: `false`. Connettiti automaticamente a un IDE in esecuzione quando Claude Code si avvia da un terminale esterno. Appare in `/config` come **Auto-connect to IDE (external terminal)** quando eseguito al di fuori di un terminale VS Code o JetBrains. La variabile di ambiente [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/it/env-vars) ignora questo quando impostata | `true` |

340| `autoInstallIdeExtension` | Installa automaticamente l'estensione IDE di Claude Code quando eseguito da un terminale VS Code. Predefinito: `true`. Appare in `/config` come **Auto-install IDE extension** quando eseguito all'interno di un terminale VS Code o JetBrains. Puoi anche impostare la variabile di ambiente [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/it/env-vars) | `false` |344| `autoInstallIdeExtension` | **Predefinito**: `true`. Installa automaticamente l'estensione IDE di Claude Code quando eseguito da un terminale VS Code. Appare in `/config` come **Auto-install IDE extension** quando eseguito all'interno di un terminale VS Code o JetBrains. Puoi anche impostare la variabile di ambiente [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/it/env-vars) | `false` |

341| `externalEditorContext` | Prependi la risposta precedente di Claude come contesto commentato con `#` quando apri l'editor esterno con `Ctrl+G`. Predefinito: `false`. Appare in `/config` come **Show last response in external editor** | `true` |345| `externalEditorContext` | **Predefinito**: `false`. Prependi la risposta precedente di Claude come contesto commentato con `#` quando apri l'editor esterno con `Ctrl+G`. Appare in `/config` come **Show last response in external editor** | `true` |

342| `teammateDefaultModel` | Modello predefinito per i compagni di squadra del [team di agenti](/it/agent-teams) quando il prompt di spawn non ne specifica uno. Imposta a un alias di modello come `"sonnet"`, o `null` per ereditare la selezione `/model` corrente del lead. Appare in `/config` come **Default teammate model** | `"sonnet"` |346| `teammateDefaultModel` | Modello predefinito per i compagni di squadra del [team di agenti](/it/agent-teams) quando il prompt di spawn non ne specifica uno. Imposta a un alias di modello come `"sonnet"`, o `null` per ereditare la selezione `/model` corrente del lead. Appare in `/config` come **Default teammate model** | `"sonnet"` |

343 347 

344<h3 id="worktree-settings">348<h3 id="worktree-settings">


394Configura il comportamento avanzato del sandboxing. Il sandboxing isola i comandi bash dal tuo filesystem e dalla rete. Vedi [Sandboxing](/it/sandboxing) per i dettagli.398Configura il comportamento avanzato del sandboxing. Il sandboxing isola i comandi bash dal tuo filesystem e dalla rete. Vedi [Sandboxing](/it/sandboxing) per i dettagli.

395 399 

396| Chiavi | Descrizione | Esempio |400| Chiavi | Descrizione | Esempio |

397| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------- |401| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------- |

398| `enabled` | Abilita il sandboxing bash (macOS, Linux e WSL2). Predefinito: false | `true` |402| `enabled` | Abilita il sandboxing bash (macOS, Linux e WSL2). Predefinito: false | `true` |

399| `failIfUnavailable` | Esci con un errore all'avvio se `sandbox.enabled` è true ma la sandbox non può avviarsi (dipendenze mancanti, piattaforma non supportata). Quando false (predefinito), viene mostrato un avviso e i comandi vengono eseguiti senza sandbox. Destinato alle distribuzioni di impostazioni gestite che richiedono il sandboxing come gate rigido | `true` |403| `failIfUnavailable` | Esci con un errore all'avvio se `sandbox.enabled` è true ma la sandbox non può avviarsi (dipendenze mancanti, piattaforma non supportata). Quando false (predefinito), viene mostrato un avviso e i comandi vengono eseguiti senza sandbox. Destinato alle distribuzioni di impostazioni gestite che richiedono il sandboxing come gate rigido | `true` |

400| `autoAllowBashIfSandboxed` | Approva automaticamente i comandi bash quando sandboxed. Predefinito: true | `true` |404| `autoAllowBashIfSandboxed` | Approva automaticamente i comandi bash quando sandboxed. Predefinito: true | `true` |


405| `filesystem.denyRead` | Percorsi dove i comandi sandboxed non possono leggere. Gli array vengono uniti in tutti gli ambiti di impostazioni. Anche uniti con i percorsi dalle regole di permesso `Read(...)` deny. | `["~/.aws/credentials"]` |409| `filesystem.denyRead` | Percorsi dove i comandi sandboxed non possono leggere. Gli array vengono uniti in tutti gli ambiti di impostazioni. Anche uniti con i percorsi dalle regole di permesso `Read(...)` deny. | `["~/.aws/credentials"]` |

406| `filesystem.allowRead` | Percorsi per consentire nuovamente la lettura all'interno delle regioni `denyRead`. Ha la precedenza su `denyRead`. Gli array vengono uniti in tutti gli ambiti di impostazioni. Usa questo per creare modelli di accesso in lettura solo per l'area di lavoro. | `["."]` |410| `filesystem.allowRead` | Percorsi per consentire nuovamente la lettura all'interno delle regioni `denyRead`. Ha la precedenza su `denyRead`. Gli array vengono uniti in tutti gli ambiti di impostazioni. Usa questo per creare modelli di accesso in lettura solo per l'area di lavoro. | `["."]` |

407| `filesystem.allowManagedReadPathsOnly` | (Solo impostazioni gestite) Solo i percorsi `filesystem.allowRead` dalle impostazioni gestite sono rispettati. `denyRead` si unisce comunque da tutte le fonti. Predefinito: false | `true` |411| `filesystem.allowManagedReadPathsOnly` | (Solo impostazioni gestite) Solo i percorsi `filesystem.allowRead` dalle impostazioni gestite sono rispettati. `denyRead` si unisce comunque da tutte le fonti. Predefinito: false | `true` |

412| `credentials.files` | File o directory di credenziali che i comandi sandboxed non possono leggere. Applica lo stesso blocco di lettura di `filesystem.denyRead`; la chiave separata mantiene i percorsi delle credenziali raggruppati con `credentials.envVars` e separati dalle regole generali del filesystem. Ogni voce è `{ "path": "...", "mode": "deny" }`. I percorsi utilizzano gli stessi [prefissi](#sandbox-path-prefixes) di `filesystem.*` impostazioni. Gli array vengono uniti in tutti gli ambiti di impostazioni. Solo `deny` è supportato. Richiede Claude Code v2.1.187 o successivo. | `[{ "path": "~/.aws/credentials", "mode": "deny" }]` |

413| `credentials.envVars` | Variabili di ambiente da annullare prima di eseguire i comandi sandboxed. Ogni voce è `{ "name": "...", "mode": "deny" }`. Gli array vengono uniti in tutti gli ambiti di impostazioni. Solo `deny` è supportato. Richiede Claude Code v2.1.187 o successivo. | `[{ "name": "GITHUB_TOKEN", "mode": "deny" }]` |

408| `network.allowUnixSockets` | (Solo macOS) Percorsi dei socket Unix accessibili nella sandbox. Ignorato su Linux e WSL2, dove il filtro seccomp non può ispezionare i percorsi dei socket; usa `allowAllUnixSockets` invece. | `["~/.ssh/agent-socket"]` |414| `network.allowUnixSockets` | (Solo macOS) Percorsi dei socket Unix accessibili nella sandbox. Ignorato su Linux e WSL2, dove il filtro seccomp non può ispezionare i percorsi dei socket; usa `allowAllUnixSockets` invece. | `["~/.ssh/agent-socket"]` |

409| `network.allowAllUnixSockets` | Consenti tutte le connessioni ai socket Unix nella sandbox. Su Linux e WSL2 questo è l'unico modo per consentire i socket Unix, poiché salta il filtro seccomp che altrimenti blocca le chiamate `socket(AF_UNIX, ...)`. Predefinito: false | `true` |415| `network.allowAllUnixSockets` | Consenti tutte le connessioni ai socket Unix nella sandbox. Su Linux e WSL2 questo è l'unico modo per consentire i socket Unix, poiché salta il filtro seccomp che altrimenti blocca le chiamate `socket(AF_UNIX, ...)`. Predefinito: false | `true` |

410| `network.allowLocalBinding` | Consenti il binding alle porte localhost (solo macOS). Predefinito: false | `true` |416| `network.allowLocalBinding` | Consenti il binding alle porte localhost (solo macOS). Predefinito: false | `true` |


424 Prefissi di percorso sandbox430 Prefissi di percorso sandbox

425</h4>431</h4>

426 432 

427I percorsi in `filesystem.allowWrite`, `filesystem.denyWrite`, `filesystem.denyRead` e `filesystem.allowRead` supportano questi prefissi:433I percorsi in `filesystem.allowWrite`, `filesystem.denyWrite`, `filesystem.denyRead`, `filesystem.allowRead`, e `credentials.files` supportano questi prefissi:

428 434 

429| Prefisso | Significato | Esempio |435| Prefisso | Significato | Esempio |

430| :--------------------- | :------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------- |436| :--------------------- | :------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------- |


481**Attribuzione predefinita del commit:**487**Attribuzione predefinita del commit:**

482 488 

483```text theme={null}489```text theme={null}

484Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>490Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

485```491```

486 492 

487Il nome del modello nel trailer riflette il modello attivo per la sessione.493Il nome del modello nel trailer riflette il modello attivo per la sessione.


621 Calcola le impostazioni gestite con un policy helper627 Calcola le impostazioni gestite con un policy helper

622</h3>628</h3>

623 629 

624L'impostazione `policyHelper` punta a un eseguibile che calcola le impostazioni gestite all'avvio, in modo che gli amministratori possano derivare la politica dalla postura del dispositivo, dall'identità o da un servizio remoto invece di un file statico. Configuralo da MDM o da un file `managed-settings.json` di sistema. Claude Code ignora `policyHelper` quando appare in qualsiasi altro ambito, incluse le impostazioni utente, le impostazioni di progetto, l'hive di registro HKCU e le [impostazioni gestite dal server](/it/server-managed-settings).630L'impostazione `policyHelper` punta a un eseguibile che calcola le impostazioni gestite all'avvio, in modo che gli amministratori possano derivare la politica dalla postura del dispositivo, dall'identità o da un servizio remoto invece di un file statico. Configuralo da MDM o da un file `managed-settings.json` di sistema. Claude Code ignora `policyHelper` quando appare in qualsiasi altro ambito, incluse le impostazioni utente, le impostazioni di progetto, l'hive di registro HKCU, e le [impostazioni gestite dal server](/it/server-managed-settings).

625 631 

626L'impostazione accetta queste chiavi:632L'impostazione accetta queste chiavi:

627 633 


643}649}

644```650```

645 651 

646Quando l'helper emette `managedSettings`, quell'oggetto sostituisce le impostazioni gestite basate su file per l'esecuzione. Quando l'helper esce con codice non zero all'avvio, Claude Code stampa l'errore e rifiuta di avviarsi, quindi un helper che ha bisogno di resilienza di interruzione dovrebbe servire dalla sua cache e uscire con `0`.652Quando l'helper emette `managedSettings`, quell'oggetto diventa l'unica fonte di impostazioni gestite per l'esecuzione, prendendo la precedenza su fonti remote, MDM e basate su file. Quando l'helper esce con codice non zero all'avvio, Claude Code stampa l'errore e rifiuta di avviarsi, quindi un helper che ha bisogno di resilienza di interruzione dovrebbe servire dalla sua cache e uscire con `0`.

647 653 

648<h3 id="settings-precedence">654<h3 id="settings-precedence">

649 Precedenza delle impostazioni655 Precedenza delle impostazioni


6541. **Impostazioni gestite** ([gestite dal server](/it/server-managed-settings), [politiche MDM/a livello di sistema operativo](#configuration-scopes), o [impostazioni gestite](/it/settings#settings-files))6601. **Impostazioni gestite** ([gestite dal server](/it/server-managed-settings), [politiche MDM/a livello di sistema operativo](#configuration-scopes), o [impostazioni gestite](/it/settings#settings-files))

655 * Politiche distribuite da IT tramite consegna dal server, profili di configurazione MDM, politiche di registro, o file di impostazioni gestite661 * Politiche distribuite da IT tramite consegna dal server, profili di configurazione MDM, politiche di registro, o file di impostazioni gestite

656 * Non possono essere ignorate da nessun altro livello, inclusi gli argomenti della riga di comando662 * Non possono essere ignorate da nessun altro livello, inclusi gli argomenti della riga di comando

657 * All'interno del livello gestito, la precedenza è: gestite dal server > politiche MDM/a livello di sistema operativo > file-based (`managed-settings.d/*.json` + `managed-settings.json`) > registro HKCU (solo Windows). Viene utilizzata una sola fonte gestita; le fonti non si uniscono tra i livelli. All'interno del livello file-based, i file drop-in e il file base vengono uniti insieme.663 * All'interno del livello gestito, la precedenza è: [`policyHelper`](#compute-managed-settings-with-a-policy-helper) output, che quando configurato è l'unica fonte gestita utilizzata > remoto (impostazioni gestite dal server di [claude.ai](/it/server-managed-settings) o [gateway di app Claude](/it/claude-apps-gateway)-consegnate) > politiche MDM/a livello di sistema operativo > basate su file (`managed-settings.d/*.json` + `managed-settings.json`) > registro HKCU (solo Windows). Viene utilizzata una sola fonte gestita; le fonti non si uniscono tra i livelli, con un'eccezione: le chiavi di blocco sandbox `sandbox.network.allowManagedDomainsOnly` e `sandbox.filesystem.allowManagedReadPathsOnly`, con i loro elenchi di autorizzazione associati, `allowAllClaudeAiMcps`, e i percorsi binari sandbox `sandbox.bwrapPath` e `sandbox.socatPath` vengono onorati quando qualsiasi fonte gestita controllata dall'amministratore li imposta; il livello HKCU scrivibile dall'utente è escluso. All'interno del livello basato su file, i file drop-in e il file base vengono uniti insieme.

658 * Gli host di incorporamento come Claude Desktop possono fornire politica tramite l'opzione SDK `managedSettings`. Per impostazione predefinita, questo viene ignorato quando è presente un livello gestito. Gli amministratori possono acconsentire impostando [`parentSettingsBehavior`](#available-settings) a `"merge"`. I valori dell'embedder vengono filtrati in modo che possano stringere la politica gestita ma non allentarla.664 * Gli host di incorporamento come Claude Desktop possono fornire politica tramite l'opzione SDK `managedSettings`. Per impostazione predefinita, questo viene ignorato quando è presente una fonte gestita distribuita da un amministratore: impostazioni gestite dal server, una politica MDM o a livello di sistema operativo, o un file di impostazioni gestite. Il fallback del registro HKCU scrivibile dall'utente non conta come una fonte gestita distribuita da un amministratore. Gli amministratori possono acconsentire impostando [`parentSettingsBehavior`](#available-settings) a `"merge"`. I valori dell'embedder vengono filtrati in modo che possano stringere la politica gestita ma non allentarla.

659 665 

6602. **Argomenti della riga di comando**6662. **Argomenti della riga di comando**

661 * Override temporanei per una sessione specifica. JSON passato tramite `--settings <file-or-json>` si unisce con le impostazioni basate su file utilizzando le stesse regole degli altri livelli: una chiave impostata qui ignora la stessa chiave nelle impostazioni locale, di progetto o utente, e omettere una chiave lascia il valore del livello inferiore in posizione667 * Override temporanei per una sessione specifica. JSON passato tramite `--settings <file-or-json>` si unisce con le impostazioni basate su file utilizzando le stesse regole degli altri livelli: una chiave impostata qui ignora la stessa chiave nelle impostazioni locale, di progetto o utente, e omettere una chiave lascia il valore del livello inferiore in posizione


674Ad esempio, se le tue impostazioni utente impostano `permissions.defaultMode` a `acceptEdits` e le impostazioni condivise di un progetto lo impostano a `default`, il valore del progetto si applica. L'esempio sottostante copre come le impostazioni con valore di array come le regole di permesso si combinano invece.680Ad esempio, se le tue impostazioni utente impostano `permissions.defaultMode` a `acceptEdits` e le impostazioni condivise di un progetto lo impostano a `default`, il valore del progetto si applica. L'esempio sottostante copre come le impostazioni con valore di array come le regole di permesso si combinano invece.

675 681 

676<Note>682<Note>

677 **Le impostazioni di array si uniscono tra gli ambiti.** Quando la stessa impostazione con valore di array (come `sandbox.filesystem.allowWrite` o `permissions.allow`) appare in più ambiti, gli array vengono **concatenati e deduplicati**, non sostituiti. Ciò significa che gli ambiti con priorità inferiore possono aggiungere voci senza ignorare quelle impostate da ambiti con priorità più alta, e viceversa. Ad esempio, se le impostazioni gestite impostano `allowWrite` a `["/opt/company-tools"]` e un utente aggiunge `["~/.kube"]`, entrambi i percorsi sono inclusi nella configurazione finale. Due eccezioni: [`fallbackModel`](#available-settings), una catena ordinata dove la posizione ha significato in modo che il file con la precedenza più alta che la definisce fornisce l'intero valore, e {/* min-version: 2.1.175 */}a partire da v2.1.175, [`availableModels`](#available-settings), dove un valore gestito o di politica sostituisce completamente le voci con precedenza inferiore. Vedi [Comportamento di unione](/it/model-config#merge-behavior).683 **Le impostazioni di array si uniscono tra gli ambiti.** Quando la stessa impostazione con valore di array (come `sandbox.filesystem.allowWrite` o `permissions.allow`) appare in più ambiti, gli array vengono **concatenati e deduplicati**, non sostituiti. Ciò significa che gli ambiti con priorità inferiore possono aggiungere voci senza ignorare quelle impostate da ambiti con priorità più alta, e viceversa. Ad esempio, se le impostazioni gestite impostano `allowWrite` a `["/opt/company-tools"]` e un utente aggiunge `["~/.kube"]`, entrambi i percorsi sono inclusi nella configurazione finale.

684 

685 Due impostazioni di array non si uniscono in questo modo:

686 

687 * [`fallbackModel`](#available-settings) è una catena ordinata dove la posizione ha significato: il file con la precedenza più alta che la definisce fornisce l'intero valore.

688 * [`availableModels`](#available-settings): {/* min-version: 2.1.175 */}quando la [fonte gestita con la precedenza più alta](/it/server-managed-settings#settings-precedence) la definisce, quella lista si applica così com'è e le voci utente, progetto e locale non possono estenderla. Tra gli ambiti non gestiti gli array si uniscono come al solito. Vedi [Comportamento di unione](/it/model-config#merge-behavior).

678</Note>689</Note>

679 690 

680<h3 id="verify-active-settings">691<h3 id="verify-active-settings">


696* **Skills**: Prompt personalizzati che possono essere invocati con `/skill-name` o caricati automaticamente da Claude707* **Skills**: Prompt personalizzati che possono essere invocati con `/skill-name` o caricati automaticamente da Claude

697* **MCP server**: Estendono Claude Code con strumenti e integrazioni aggiuntivi708* **MCP server**: Estendono Claude Code con strumenti e integrazioni aggiuntivi

698* **Precedenza**: Le configurazioni di livello superiore (Managed) ignorano quelle di livello inferiore (User/Project)709* **Precedenza**: Le configurazioni di livello superiore (Managed) ignorano quelle di livello inferiore (User/Project)

699* **Ereditarietà**: Le impostazioni vengono unite tra gli ambiti; i valori scalari da ambiti con priorità più alta ignorano, e gli array si concatenano. Eccezioni: `fallbackModel`, dove l'ambito con la precedenza più alta fornisce l'intera catena, e `availableModels`, dove un valore gestito o di politica sostituisce le voci con precedenza inferiore710* **Ereditarietà**: Le impostazioni vengono unite tra gli ambiti; i valori scalari da ambiti con priorità più alta ignorano, e gli array si concatenano, con due eccezioni descritte nella [Nota di unione di array](#settings-precedence)

700 711 

701<h3 id="system-prompt">712<h3 id="system-prompt">

702 Prompt di sistema713 Prompt di sistema


704 715 

705Il prompt di sistema interno di Claude Code non è pubblicato. Per aggiungere istruzioni personalizzate, usa i file `CLAUDE.md` o il flag `--append-system-prompt`.716Il prompt di sistema interno di Claude Code non è pubblicato. Per aggiungere istruzioni personalizzate, usa i file `CLAUDE.md` o il flag `--append-system-prompt`.

706 717 

707<h3 id="excluding-sensitive-files">718<h3 id="exclude-sensitive-files">

708 Esclusione di file sensibili719 Esclusione di file sensibili

709</h3>720</h3>

710 721 


732 743 

733Claude Code supporta subagent AI personalizzati che possono essere configurati sia a livello utente che di progetto. Questi subagent vengono archiviati come file Markdown con frontmatter YAML:744Claude Code supporta subagent AI personalizzati che possono essere configurati sia a livello utente che di progetto. Questi subagent vengono archiviati come file Markdown con frontmatter YAML:

734 745 

735* **Subagent utente**: `~/.claude/agents/` - Disponibili in tutti i tuoi progetti746* **Subagent utente**: `~/.claude/agents/`, disponibili in tutti i tuoi progetti

736* **Subagent di progetto**: `.claude/agents/` - Specifici del tuo progetto e possono essere condivisi con il tuo team747* **Subagent di progetto**: `.claude/agents/`, specifici del tuo progetto e condivisibili con il tuo team

737 748 

738I file subagent definiscono assistenti AI specializzati con prompt personalizzati e permessi degli strumenti. Scopri di più sulla creazione e l'utilizzo dei subagent nella [documentazione dei subagent](/it/sub-agents).749I file subagent definiscono assistenti AI specializzati con prompt personalizzati e permessi degli strumenti. Scopri di più sulla creazione e l'utilizzo dei subagent nella [documentazione dei subagent](/it/sub-agents).

739 750 


784 Le impostazioni di progetto hanno la precedenza sulle impostazioni utente, quindi impostare un plugin su `false` in `~/.claude/settings.json` non disabilita un plugin che le impostazioni `.claude/settings.json` del progetto abilitano. Per rinunciare a un plugin abilitato dal progetto sulla tua macchina, impostalo su `false` in `.claude/settings.local.json` invece.795 Le impostazioni di progetto hanno la precedenza sulle impostazioni utente, quindi impostare un plugin su `false` in `~/.claude/settings.json` non disabilita un plugin che le impostazioni `.claude/settings.json` del progetto abilitano. Per rinunciare a un plugin abilitato dal progetto sulla tua macchina, impostalo su `false` in `.claude/settings.local.json` invece.

785 796 

786 I plugin forzatamente abilitati dalle impostazioni gestite non possono essere disabilitati in questo modo, poiché le impostazioni gestite ignorano le impostazioni locali.797 I plugin forzatamente abilitati dalle impostazioni gestite non possono essere disabilitati in questo modo, poiché le impostazioni gestite ignorano le impostazioni locali.

798 

799 L'abilitazione di un plugin da una fonte esterna come un repository GitHub o un pacchetto npm nelle impostazioni `.claude/settings.json` di un progetto non lo installa per altre persone. A partire da Claude Code v2.1.195, ogni percorso che carica i plugin chiede a ogni utente di [installare e fidarsi del plugin](/it/discover-plugins#configure-team-marketplaces) prima che venga eseguito.

787</Note>800</Note>

788 801 

789**Esempio**:802**Esempio**:


886 899 

887* Disponibile solo nelle impostazioni gestite (`managed-settings.json`)900* Disponibile solo nelle impostazioni gestite (`managed-settings.json`)

888* Non può essere ignorato da impostazioni utente o di progetto (precedenza più alta)901* Non può essere ignorato da impostazioni utente o di progetto (precedenza più alta)

889* Applicato PRIMA delle operazioni di rete/filesystem (le fonti bloccate non vengono mai eseguite)902* Applicato prima delle operazioni di rete e filesystem, quindi le fonti bloccate non vengono mai eseguite

890* Utilizza la corrispondenza esatta per le specifiche della fonte (incluso `ref`, `path` per le fonti git), tranne `hostPattern` e `pathPattern`, che utilizzano la corrispondenza regex903* Utilizza la corrispondenza esatta per le specifiche della fonte (incluso `ref`, `path` per le fonti git), tranne `hostPattern` e `pathPattern`, che utilizzano la corrispondenza regex

891 904 

892**Comportamento dell'elenco di autorizzazione**:905**Comportamento dell'elenco di autorizzazione**:

893 906 

894* `undefined` (predefinito): Nessuna restrizione - gli utenti possono aggiungere qualsiasi marketplace907* `undefined` (predefinito): nessuna restrizione, quindi gli utenti possono aggiungere qualsiasi marketplace

895* Array vuoto `[]`: Blocco completo - gli utenti non possono aggiungere nuovi marketplace908* Array vuoto `[]`: blocco completo, quindi gli utenti non possono aggiungere nuovi marketplace

896* Elenco di fonti: Gli utenti possono aggiungere solo i marketplace che corrispondono esattamente909* Elenco di fonti: gli utenti possono aggiungere solo i marketplace che corrispondono esattamente

897 910 

898**Tutti i tipi di fonte supportati**:911**Tutti i tipi di fonte supportati**:

899 912 


907{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }920{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }

908```921```

909 922 

910Campi: `repo` (obbligatorio), `ref` (facoltativo: ramo/tag/SHA), `path` (facoltativo: sottodirectory)923Campi: `repo` (obbligatorio), `ref` (facoltativo: ramo o tag), `path` (facoltativo: sottodirectory)

911 924 

9122. **Repository Git**:9252. **Repository Git**:

913 926 


917{ "source": "git", "url": "ssh://git@git.example.com/plugins.git", "ref": "v3.1", "path": "approved" }930{ "source": "git", "url": "ssh://git@git.example.com/plugins.git", "ref": "v3.1", "path": "approved" }

918```931```

919 932 

920Campi: `url` (obbligatorio), `ref` (facoltativo: ramo/tag/SHA), `path` (facoltativo: sottodirectory)933Campi: `url` (obbligatorio), `ref` (facoltativo: ramo o tag), `path` (facoltativo: sottodirectory)

921 934 

9223. **Marketplace basati su URL**:9353. **Marketplace basati su URL**:

923 936 


1016}1029}

1017```1030```

1018 1031 

1019Esempio - Disabilita tutte le aggiunte del marketplace:1032Esempio: disabilita tutte le aggiunte del marketplace:

1020 1033 

1021```json theme={null}1034```json theme={null}

1022{1035{


1039 1052 

1040**Requisiti di corrispondenza esatta**:1053**Requisiti di corrispondenza esatta**:

1041 1054 

1042Le fonti del marketplace devono corrispondere **esattamente** affinché l'aggiunta di un utente sia consentita. Per le fonti basate su git (`github` e `git`), questo include tutti i campi facoltativi:1055Le fonti del marketplace devono corrispondere esattamente affinché l'aggiunta di un utente sia consentita. Per le fonti basate su git (`github` e `git`), questo include tutti i campi facoltativi:

1043 1056 

1044* Il `repo` o `url` deve corrispondere esattamente1057* Il `repo` o `url` deve corrispondere esattamente

1045* Il campo `ref` deve corrispondere esattamente (o entrambi non essere definiti)1058* Il campo `ref` deve corrispondere esattamente (o entrambi non essere definiti)

1046* Il campo `path` deve corrispondere esattamente (o entrambi non essere definiti)1059* Il campo `path` deve corrispondere esattamente (o entrambi non essere definiti)

1047 1060 

1048Esempi di fonti che **NON corrispondono**:1061Esempi di fonti che non corrispondono:

1049 1062 

1050```json theme={null}1063```json theme={null}

1051// Queste sono DIVERSE fonti:1064// Queste sono DIVERSE fonti:


1114 1127 

1115**Note importanti**:1128**Note importanti**:

1116 1129 

1117* Le restrizioni vengono controllate PRIMA di qualsiasi richiesta di rete o operazione del filesystem1130* Le restrizioni vengono controllate prima di qualsiasi richiesta di rete o operazione del filesystem

1118* Quando bloccato, gli utenti vedono messaggi di errore chiari che indicano che la fonte è bloccata dalla politica gestita1131* Quando bloccato, gli utenti vedono messaggi di errore chiari che indicano che la fonte è bloccata dalla politica gestita

1119* La restrizione si applica all'aggiunta del marketplace e all'installazione, aggiornamento, aggiornamento e auto-aggiornamento dei plugin. Un marketplace aggiunto prima che la politica fosse impostata non può essere utilizzato per installare o aggiornare plugin una volta che la sua fonte non corrisponde più all'elenco di autorizzazione1132* La restrizione si applica all'aggiunta del marketplace e all'installazione, aggiornamento, aggiornamento e auto-aggiornamento dei plugin. Un marketplace aggiunto prima che la politica fosse impostata non può essere utilizzato per installare o aggiornare plugin una volta che la sua fonte non corrisponde più all'elenco di autorizzazione

1120* Le impostazioni gestite hanno la precedenza più alta e non possono essere ignorate1133* Le impostazioni gestite hanno la precedenza più alta e non possono essere ignorate


1150 1163 

1151I nomi di superficie che una versione di Claude Code non riconosce vengono ignorati piuttosto che causare un errore nel file di impostazioni, quindi puoi aggiungere nuovi nomi di superficie prima che tutti i client si aggiornino.1164I nomi di superficie che una versione di Claude Code non riconosce vengono ignorati piuttosto che causare un errore nel file di impostazioni, quindi puoi aggiungere nuovi nomi di superficie prima che tutti i client si aggiornino.

1152 1165 

1153<h3 id="managing-plugins">1166<h3 id="manage-plugins">

1154 Gestione dei plugin1167 Gestione dei plugin

1155</h3>1168</h3>

1156 1169 

setup.md +1 −1

Details

36</h2>36</h2>

37 37 

38<Tip>38<Tip>

39 Preferite un'interfaccia grafica? L'[app Desktop](/it/desktop-quickstart) vi consente di utilizzare Claude Code senza il terminale. Scaricatela per [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) o [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs).39 Preferite un'interfaccia grafica? L'[app Desktop](/it/desktop-quickstart) vi consente di utilizzare Claude Code senza il terminale. Scaricatela per [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) o [Linux](https://claude.com/download?utm_source=claude_code\&utm_medium=docs).

40 40 

41 Siete nuovi al terminale? Consultate la [guida del terminale](/it/terminal-guide) per istruzioni passo dopo passo.41 Siete nuovi al terminale? Consultate la [guida del terminale](/it/terminal-guide) per istruzioni passo dopo passo.

42</Tip>42</Tip>

skills.md +8 −3

Details

251| `when_to_use` | No | Contesto aggiuntivo per quando Claude dovrebbe invocare la skill, come frasi trigger o richieste di esempio. Aggiunto a `description` nell'elenco delle skills e conta verso il limite di 1.536 caratteri. |251| `when_to_use` | No | Contesto aggiuntivo per quando Claude dovrebbe invocare la skill, come frasi trigger o richieste di esempio. Aggiunto a `description` nell'elenco delle skills e conta verso il limite di 1.536 caratteri. |

252| `argument-hint` | No | Suggerimento mostrato durante l'autocompletamento per indicare gli argomenti previsti. Esempio: `[issue-number]` o `[filename] [format]`. |252| `argument-hint` | No | Suggerimento mostrato durante l'autocompletamento per indicare gli argomenti previsti. Esempio: `[issue-number]` o `[filename] [format]`. |

253| `arguments` | No | Argomenti posizionali denominati per la [sostituzione di stringhe `$name`](#available-string-substitutions) nel contenuto della skill. Accetta una stringa separata da spazi o un elenco YAML. I nomi si mappano alle posizioni degli argomenti in ordine. |253| `arguments` | No | Argomenti posizionali denominati per la [sostituzione di stringhe `$name`](#available-string-substitutions) nel contenuto della skill. Accetta una stringa separata da spazi o un elenco YAML. I nomi si mappano alle posizioni degli argomenti in ordine. |

254| `disable-model-invocation` | No | Imposta su `true` per impedire a Claude di caricare automaticamente questa skill. Usa per i flussi di lavoro che vuoi attivare manualmente con `/name`. Impedisce anche alla skill di essere [precaricata nei subagents](/it/sub-agents#preload-skills-into-subagents). Predefinito: `false`. |254| `disable-model-invocation` | No | Imposta su `true` per impedire a Claude di caricare automaticamente questa skill. Usa per i flussi di lavoro che vuoi attivare manualmente con `/name`. Impedisce anche alla skill di essere [precaricata nei subagents](/it/sub-agents#preload-skills-into-subagents). A partire da v2.1.196, impedisce anche alla skill di essere eseguita quando un [task programmato](/it/scheduled-tasks) si attiva con la skill come suo prompt. Predefinito: `false`. |

255| `user-invocable` | No | Imposta su `false` per nascondere dal menu `/`. Usa per la conoscenza di background che gli utenti non dovrebbero invocare direttamente. Predefinito: `true`. |255| `user-invocable` | No | Imposta su `false` per nascondere dal menu `/`. Usa per la conoscenza di background che gli utenti non dovrebbero invocare direttamente. Predefinito: `true`. |

256| `allowed-tools` | No | Strumenti che Claude può usare senza chiedere il permesso quando questa skill è attiva. Accetta una stringa separata da spazi o virgole, o un elenco YAML. |256| `allowed-tools` | No | Strumenti che Claude può usare senza chiedere il permesso quando questa skill è attiva. Accetta una stringa separata da spazi o virgole, o un elenco YAML. |

257| `disallowed-tools` | No | Strumenti rimossi dal pool disponibile di Claude mentre questa skill è attiva. Usa per skills autonome che non dovrebbero mai chiamare certi strumenti, come `AskUserQuestion` per un loop di background. Accetta una stringa separata da spazi o virgole, o un elenco YAML. La restrizione si cancella quando invii il tuo prossimo messaggio. |257| `disallowed-tools` | No | Strumenti rimossi dal pool disponibile di Claude mentre questa skill è attiva. Usa per skills autonome che non dovrebbero mai chiamare certi strumenti, come `AskUserQuestion` per un loop di background. Accetta una stringa separata da spazi o virgole, o un elenco YAML. La restrizione si cancella quando invii il tuo prossimo messaggio. |


288Le skills supportano la sostituzione di stringhe per valori dinamici nel contenuto della skill:288Le skills supportano la sostituzione di stringhe per valori dinamici nel contenuto della skill:

289 289 

290| Variabile | Descrizione |290| Variabile | Descrizione |

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

292| `$ARGUMENTS` | Tutti gli argomenti passati quando si invoca la skill. Se `$ARGUMENTS` non è presente nel contenuto, gli argomenti vengono aggiunti come `ARGUMENTS: <value>`. |292| `$ARGUMENTS` | Tutti gli argomenti passati quando si invoca la skill. Se `$ARGUMENTS` non è presente nel contenuto, gli argomenti vengono aggiunti come `ARGUMENTS: <value>`. |

293| `$ARGUMENTS[N]` | Accedi a un argomento specifico per indice a base 0, come `$ARGUMENTS[0]` per il primo argomento. |293| `$ARGUMENTS[N]` | Accedi a un argomento specifico per indice a base 0, come `$ARGUMENTS[0]` per il primo argomento. |

294| `$N` | Abbreviazione per `$ARGUMENTS[N]`, come `$0` per il primo argomento o `$1` per il secondo. |294| `$N` | Abbreviazione per `$ARGUMENTS[N]`, come `$0` per il primo argomento o `$1` per il secondo. |


296| `${CLAUDE_SESSION_ID}` | L'ID della sessione attuale. Utile per il logging, la creazione di file specifici della sessione, o la correlazione dell'output della skill con le sessioni. |296| `${CLAUDE_SESSION_ID}` | L'ID della sessione attuale. Utile per il logging, la creazione di file specifici della sessione, o la correlazione dell'output della skill con le sessioni. |

297| `${CLAUDE_EFFORT}` | Il livello di sforzo attuale: `low`, `medium`, `high`, `xhigh`, o `max`. Ultracode non è un livello distinto e viene segnalato come `xhigh`. Usa questo per adattare le istruzioni della skill all'impostazione di sforzo attiva. |297| `${CLAUDE_EFFORT}` | Il livello di sforzo attuale: `low`, `medium`, `high`, `xhigh`, o `max`. Ultracode non è un livello distinto e viene segnalato come `xhigh`. Usa questo per adattare le istruzioni della skill all'impostazione di sforzo attiva. |

298| `${CLAUDE_SKILL_DIR}` | La directory contenente il file `SKILL.md` della skill. Per le skills dei plugin, questa è la sottodirectory della skill all'interno del plugin, non la radice del plugin. Usa questo nei comandi di iniezione bash per fare riferimento a script o file raggruppati con la skill, indipendentemente dalla directory di lavoro attuale. |298| `${CLAUDE_SKILL_DIR}` | La directory contenente il file `SKILL.md` della skill. Per le skills dei plugin, questa è la sottodirectory della skill all'interno del plugin, non la radice del plugin. Usa questo nei comandi di iniezione bash per fare riferimento a script o file raggruppati con la skill, indipendentemente dalla directory di lavoro attuale. |

299| `${CLAUDE_PROJECT_DIR}` | La directory radice del progetto. Questo è lo stesso percorso che [hooks](/it/hooks#reference-scripts-by-path) e i server MCP ricevono come `CLAUDE_PROJECT_DIR`. Usa questo per fare riferimento a script o file locali del progetto, come `${CLAUDE_PROJECT_DIR}/.claude/hooks/helper.sh`, indipendentemente da dove la skill è installata. |

300 

301La sostituzione `${CLAUDE_PROJECT_DIR}` richiede Claude Code v2.1.196 o successivo. Si applica sia al corpo della skill che al frontmatter [`allowed-tools`](#frontmatter-reference), quindi una regola di permesso come `Bash(${CLAUDE_PROJECT_DIR}/scripts/lint.sh *)` si risolve nello stesso percorso che il corpo della skill utilizza.

299 302 

300Gli argomenti indicizzati utilizzano le virgolette in stile shell, quindi racchiudi i valori multi-parola tra virgolette per passarli come un singolo argomento. Ad esempio, `/my-skill "hello world" second` fa sì che `$0` si espanda a `hello world` e `$1` a `second`. Il placeholder `$ARGUMENTS` si espande sempre alla stringa di argomenti completa come digitata.303Gli argomenti indicizzati utilizzano le virgolette in stile shell, quindi racchiudi i valori multi-parola tra virgolette per passarli come un singolo argomento. Ad esempio, `/my-skill "hello world" second` fa sì che `$0` si espanda a `hello world` e `$1` a `second`. Il placeholder `$ARGUMENTS` si espande sempre alla stringa di argomenti completa come digitata.

301 304 


899 902 

900Le descrizioni delle skills vengono caricate nel contesto in modo che Claude sappia cosa è disponibile. Tutti i nomi delle skills sono sempre inclusi, ma se hai molte skills, le descrizioni vengono accorciate per adattarsi al budget dei caratteri, il che può rimuovere le parole chiave di cui Claude ha bisogno per corrispondere alla tua richiesta. Il budget si ridimensiona all'1% della finestra di contesto del modello. Quando supera il limite, le descrizioni per le skills che invochi meno frequentemente vengono eliminate per prime, in modo che le skills che effettivamente usi mantengano il loro testo completo. Esegui `/doctor` per vedere quante descrizioni di skills vengono accorciate o eliminate e quali skills sono interessate.903Le descrizioni delle skills vengono caricate nel contesto in modo che Claude sappia cosa è disponibile. Tutti i nomi delle skills sono sempre inclusi, ma se hai molte skills, le descrizioni vengono accorciate per adattarsi al budget dei caratteri, il che può rimuovere le parole chiave di cui Claude ha bisogno per corrispondere alla tua richiesta. Il budget si ridimensiona all'1% della finestra di contesto del modello. Quando supera il limite, le descrizioni per le skills che invochi meno frequentemente vengono eliminate per prime, in modo che le skills che effettivamente usi mantengano il loro testo completo. Esegui `/doctor` per vedere quante descrizioni di skills vengono accorciate o eliminate e quali skills sono interessate.

901 904 

902Per aumentare il budget, imposta l'impostazione [`skillListingBudgetFraction`](/it/settings#available-settings) (ad esempio `0.02` = 2%) o la variabile di ambiente `SLASH_COMMAND_TOOL_CHAR_BUDGET` su un conteggio di caratteri fisso. Per liberare budget per altre skills, imposta le voci a bassa priorità su `"name-only"` in [`skillOverrides`](#override-skill-visibility-from-settings) in modo che si elenchino senza una descrizione. Puoi anche ridurre il testo di `description` e `when_to_use` alla fonte: metti in primo piano il caso d'uso chiave, poiché il testo combinato di ogni voce è limitato a 1.536 caratteri indipendentemente dal budget. Il limite è configurabile con [`maxSkillDescriptionChars`](/it/settings#available-settings).905A partire dalla v2.1.196, la riga Skills in `/context` riporta la dimensione dell'elenco dopo l'applicazione del budget, in modo che corrisponda a ciò che il modello riceve. Le versioni precedenti contavano il testo completo di ogni descrizione, quindi la riga potrebbe mostrare un valore diverse volte più grande del budget che `/doctor` riporta.

906 

907Per aumentare il budget, imposta l'impostazione [`skillListingBudgetFraction`](/it/settings#available-settings) (ad esempio `0.02` = 2%) o la variabile di ambiente `SLASH_COMMAND_TOOL_CHAR_BUDGET` su un conteggio di caratteri fisso. Per liberare budget per altre skills, imposta le voci a bassa priorità su `"name-only"` in [`skillOverrides`](#override-skill-visibility-from-settings) in modo che si elenchino senza una descrizione. Puoi anche ridurre il testo di `description` e `when_to_use` alla fonte: metti in primo piano il caso d'uso chiave, poiché il testo combinato di ogni voce è limitato a 1.536 caratteri indipendentemente dal budget. Il limite è configurabile con [`skillListingMaxDescChars`](/it/settings#available-settings).

903 908 

904<h2 id="related-resources">909<h2 id="related-resources">

905 Risorse correlate910 Risorse correlate

statusline.md +3 −0

Details

194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Secondi di epoca Unix quando la finestra del limite di velocità di 5 ore o 7 giorni si ripristina |194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Secondi di epoca Unix quando la finestra del limite di velocità di 5 ore o 7 giorni si ripristina |

195| `session_id` | Identificatore univoco della sessione |195| `session_id` | Identificatore univoco della sessione |

196| `session_name` | Nome della sessione personalizzato impostato con il flag `--name` o `/rename`. Assente se nessun nome personalizzato è stato impostato |196| `session_name` | Nome della sessione personalizzato impostato con il flag `--name` o `/rename`. Assente se nessun nome personalizzato è stato impostato |

197| `prompt_id` | UUID che identifica il prompt dell'utente attualmente in elaborazione. Corrisponde all'attributo [`prompt.id` sugli eventi OpenTelemetry](/it/monitoring-usage#event-correlation-attributes). Assente fino al primo input dell'utente. Richiede Claude Code v2.1.196 o successivo |

197| `transcript_path` | Percorso del file di trascrizione della conversazione |198| `transcript_path` | Percorso del file di trascrizione della conversazione |

198| `version` | Versione di Claude Code |199| `version` | Versione di Claude Code |

199| `output_style.name` | Nome dello stile di output corrente |200| `output_style.name` | Nome dello stile di output corrente |


215 "cwd": "/current/working/directory",216 "cwd": "/current/working/directory",

216 "session_id": "abc123...",217 "session_id": "abc123...",

217 "session_name": "my-session",218 "session_name": "my-session",

219 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

218 "transcript_path": "/path/to/transcript.jsonl",220 "transcript_path": "/path/to/transcript.jsonl",

219 "model": {221 "model": {

220 "id": "claude-opus-4-8",222 "id": "claude-opus-4-8",


296 **Campi che potrebbero essere assenti** (non presenti in JSON):298 **Campi che potrebbero essere assenti** (non presenti in JSON):

297 299 

298 * `session_name`: appare solo quando un nome personalizzato è stato impostato con `--name` o `/rename`300 * `session_name`: appare solo quando un nome personalizzato è stato impostato con `--name` o `/rename`

301 * `prompt_id`: appare solo dopo il primo input dell'utente

299 * `workspace.git_worktree`: appare solo quando la directory corrente si trova all'interno di un git worktree collegato302 * `workspace.git_worktree`: appare solo quando la directory corrente si trova all'interno di un git worktree collegato

300 * `workspace.repo`: appare solo all'interno di un repository git con un remote `origin` configurato303 * `workspace.repo`: appare solo all'interno di un repository git con un remote `origin` configurato

301 * `effort`: appare solo quando il modello corrente supporta il parametro di sforzo di ragionamento304 * `effort`: appare solo quando il modello corrente supporta il parametro di sforzo di ragionamento

sub-agents.md +50 −36

Details

38 <Tab title="Explore">38 <Tab title="Explore">

39 Un agente veloce e di sola lettura ottimizzato per la ricerca e l'analisi delle basi di codice.39 Un agente veloce e di sola lettura ottimizzato per la ricerca e l'analisi delle basi di codice.

40 40 

41 * **Model**: Haiku (veloce, bassa latenza)41 * **Model**: Haiku, che è veloce e a bassa latenza

42 * **Tools**: Strumenti di sola lettura (accesso negato agli strumenti Write e Edit)42 * **Tools**: strumenti di sola lettura; Write e Edit sono negati

43 * **Purpose**: Scoperta di file, ricerca di codice, esplorazione della base di codice43 * **Purpose**: scoperta di file, ricerca di codice, esplorazione della base di codice

44 44 

45 Claude delega a Explore quando ha bisogno di cercare o comprendere una base di codice senza apportare modifiche. Questo mantiene i risultati dell'esplorazione fuori dal contesto della sua conversazione principale.45 Claude delega a Explore quando ha bisogno di cercare o comprendere una base di codice senza apportare modifiche. Questo mantiene i risultati dell'esplorazione fuori dal contesto della sua conversazione principale.

46 46 


50 <Tab title="Plan">50 <Tab title="Plan">

51 Un agente di ricerca utilizzato durante la [Plan Mode](/it/permission-modes#analyze-before-you-edit-with-plan-mode) per raccogliere contesto prima di presentare un piano.51 Un agente di ricerca utilizzato durante la [Plan Mode](/it/permission-modes#analyze-before-you-edit-with-plan-mode) per raccogliere contesto prima di presentare un piano.

52 52 

53 * **Model**: Eredita dalla conversazione principale53 * **Model**: eredita dalla conversazione principale

54 * **Tools**: Strumenti di sola lettura (accesso negato agli strumenti Write e Edit)54 * **Tools**: strumenti di sola lettura; Write e Edit sono negati

55 * **Purpose**: Ricerca della base di codice per la pianificazione55 * **Purpose**: ricerca della base di codice per la pianificazione

56 56 

57 Quando è in Plan Mode e Claude ha bisogno di comprendere la sua base di codice, delega la ricerca al subagent Plan in modo che l'output dell'esplorazione rimanga in una finestra di contesto separata mentre la conversazione principale rimane di sola lettura.57 Quando è in Plan Mode e Claude ha bisogno di comprendere la sua base di codice, delega la ricerca al subagent Plan in modo che l'output dell'esplorazione rimanga in una finestra di contesto separata mentre la conversazione principale rimane di sola lettura.

58 </Tab>58 </Tab>


60 <Tab title="General-purpose">60 <Tab title="General-purpose">

61 Un agente capace per attività complesse e multi-step che richiedono sia esplorazione che azione.61 Un agente capace per attività complesse e multi-step che richiedono sia esplorazione che azione.

62 62 

63 * **Model**: Eredita dalla conversazione principale63 * **Model**: eredita dalla conversazione principale

64 * **Tools**: Tutti gli strumenti64 * **Tools**: tutti gli strumenti

65 * **Purpose**: Ricerca complessa, operazioni multi-step, modifiche del codice65 * **Purpose**: ricerca complessa, operazioni multi-step, modifiche del codice

66 66 

67 Claude delega a general-purpose quando l'attività richiede sia esplorazione che modifica, ragionamento complesso per interpretare i risultati, o più step dipendenti.67 Claude delega a general-purpose quando l'attività richiede sia esplorazione che modifica, ragionamento complesso per interpretare i risultati, o più step dipendenti.

68 </Tab>68 </Tab>


77 </Tab>77 </Tab>

78</Tabs>78</Tabs>

79 79 

80I subagent integrati sono sempre registrati nelle sessioni interattive. Per bloccare un tipo integrato specifico, aggiungetelo a `permissions.deny` come mostrato in [Disabilitare subagent specifici](#disable-specific-subagents). Per impedire a Claude di delegare a qualsiasi subagent, negate lo strumento `Agent` stesso con [`permissions.deny`](/it/permissions#tool-specific-permission-rules). In [modalità non interattiva](/it/headless) e in [Agent SDK](/it/agent-sdk/overview), impostate [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/it/env-vars) per rimuovere tutti i tipi integrati e fornire solo i vostri.80I subagent integrati sono sempre registrati nelle sessioni interattive. Per limitarli:

81 

82* Per bloccare un tipo integrato specifico, aggiungetelo a `permissions.deny` come mostrato in [Disabilitare subagent specifici](#disable-specific-subagents).

83* Per impedire a Claude di delegare a qualsiasi subagent, negate lo strumento `Agent` stesso con [`permissions.deny`](/it/permissions#tool-specific-permission-rules).

84* In [modalità non interattiva](/it/headless) e in [Agent SDK](/it/agent-sdk/overview), impostate [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/it/env-vars) per rimuovere tutti i tipi integrati e fornire solo i vostri.

81 85 

82Oltre a questi subagent integrati, potete creare i vostri con prompt personalizzati, restrizioni di strumenti, modalità di autorizzazione, hooks e skills. Le sezioni seguenti mostrano come iniziare e personalizzare i subagent.86Oltre a questi subagent integrati, potete creare i vostri con prompt personalizzati, restrizioni di strumenti, modalità di autorizzazione, hooks e skills. Le sezioni seguenti mostrano come iniziare e personalizzare i subagent.

83 87 


93 <Step title="Apra l'interfaccia dei subagent">97 <Step title="Apra l'interfaccia dei subagent">

94 In Claude Code, esegua:98 In Claude Code, esegua:

95 99 

96 ```text theme={null}100 ```text wrap theme={null}

97 /agents101 /agents

98 ```102 ```

99 </Step>103 </Step>


105 <Step title="Generi con Claude">109 <Step title="Generi con Claude">

106 Selezioni **Generate with Claude**. Quando richiesto, descriva il subagent:110 Selezioni **Generate with Claude**. Quando richiesto, descriva il subagent:

107 111 

108 ```text theme={null}112 ```text wrap theme={null}

109 A code improvement agent that scans files and suggests improvements113 A code improvement agent that scans files and suggests improvements

110 for readability, performance, and best practices. It should explain114 for readability, performance, and best practices. It should explain

111 each issue, show the current code, and provide an improved version.115 each issue, show the current code, and provide an improved version.


133 <Step title="Salvi e provi">137 <Step title="Salvi e provi">

134 Esamini il riepilogo della configurazione. Prema `s` o `Enter` per salvare, oppure prema `e` per salvare e modificare il file nel suo editor. Il subagent è disponibile immediatamente. Lo provi:138 Esamini il riepilogo della configurazione. Prema `s` o `Enter` per salvare, oppure prema `e` per salvare e modificare il file nel suo editor. Il subagent è disponibile immediatamente. Lo provi:

135 139 

136 ```text theme={null}140 ```text wrap theme={null}

137 Use the code-improver agent to suggest improvements in this project141 Use the code-improver agent to suggest improvements in this project

138 ```142 ```

139 143 


167 Scelga l'ambito del subagent171 Scelga l'ambito del subagent

168</h3>172</h3>

169 173 

170I subagent sono file Markdown con frontmatter YAML. Li archivi in posizioni diverse a seconda dell'ambito. Quando più subagent condividono lo stesso nome, la posizione con priorità più alta vince.174I subagent sono file Markdown con frontmatter YAML. Li archivi in posizioni diverse a seconda dell'ambito. Quando più subagent condividono lo stesso nome, Claude Code utilizza quello dalla posizione con priorità più alta.

171 175 

172| Location | Scope | Priority | Come creare |176| Location | Scope | Priority | Come creare |

173| :----------------------------- | :------------------------- | :---------- | :--------------------------------------------------- |177| :----------------------------- | :------------------------- | :---------- | :--------------------------------------------------- |


185 189 

186I **subagent utente** (`~/.claude/agents/`) sono subagent personali disponibili in tutti i suoi progetti.190I **subagent utente** (`~/.claude/agents/`) sono subagent personali disponibili in tutti i suoi progetti.

187 191 

188Claude Code scansiona `.claude/agents/` e `~/.claude/agents/` ricorsivamente, quindi può organizzare le definizioni in sottocartelle come `agents/review/` o `agents/research/`. Il percorso della sottodirectory non influisce su come un subagent viene identificato o invocato, perché l'identità proviene solo dal campo frontmatter `name`. Mantenga i valori `name` univoci in tutto l'albero: se due file all'interno di un ambito dichiarano lo stesso nome, Claude Code ne mantiene uno e scarta l'altro senza avviso.192Claude Code scansiona `.claude/agents/` e `~/.claude/agents/` ricorsivamente, quindi può organizzare le definizioni in sottocartelle come `agents/review/` o `agents/research/`. Il percorso della sottodirectory non influisce su come un subagent viene identificato o invocato, perché l'identità proviene solo dal campo frontmatter `name`.

193 

194Mantenga i valori `name` univoci in tutto l'albero: se due file all'interno di un ambito dichiarano lo stesso nome, Claude Code carica solo uno di essi. {/* min-version: 2.1.196 */}A partire da v2.1.196, l'esecuzione di `/doctor` segnala i nomi di agenti duplicati nello stesso ambito e mostra quale definizione è attiva.

189 195 

190Le directory `agents/` del plugin vengono scansionate anche ricorsivamente. A differenza degli ambiti di progetto e utente, una sottocartella all'interno della directory `agents/` di un plugin diventa parte dell'[identificatore con ambito](#invoke-subagents-explicitly): un file in `agents/review/security.md` nel plugin `my-plugin` si registra come `my-plugin:review:security`.196Le directory `agents/` del plugin vengono scansionate anche ricorsivamente. A differenza degli ambiti di progetto e utente, una sottocartella all'interno della directory `agents/` di un plugin diventa parte dell'[identificatore con ambito](#invoke-subagents-explicitly): un file in `agents/review/security.md` nel plugin `my-plugin` si registra come `my-plugin:review:security`.

191 197 


263specific, actionable feedback on quality, security, and best practices.269specific, actionable feedback on quality, security, and best practices.

264```270```

265 271 

266Il frontmatter definisce i metadati e la configurazione del subagent. Il corpo diventa il prompt di sistema che guida il comportamento del subagent. I subagent ricevono solo questo prompt di sistema (più dettagli di base sull'ambiente come la directory di lavoro), non il prompt di sistema completo di Claude Code.272Il frontmatter definisce i metadati e la configurazione del subagent. Il corpo diventa il prompt di sistema che guida il comportamento del subagent. I subagent ricevono solo questo prompt di sistema più dettagli di base sull'ambiente come la directory di lavoro, non il prompt di sistema completo di Claude Code.

267 273 

268Un subagent inizia nella directory di lavoro corrente della conversazione principale. All'interno di un subagent, i comandi `cd` non persistono tra le chiamate dello strumento Bash o PowerShell e non influenzano la directory di lavoro della conversazione principale. Per dare al subagent una copia isolata del repository, imposti [`isolation: worktree`](#supported-frontmatter-fields).274Un subagent inizia nella directory di lavoro corrente della conversazione principale. All'interno di un subagent, i comandi `cd` non persistono tra le chiamate dello strumento Bash o PowerShell e non influenzano la directory di lavoro della conversazione principale. Per dare al subagent una copia isolata del repository, imposti [`isolation: worktree`](#supported-frontmatter-fields).

269 275 


299Il campo `model` controlla quale [modello AI](/it/model-config) utilizza il subagent:305Il campo `model` controlla quale [modello AI](/it/model-config) utilizza il subagent:

300 306 

301* **Alias modello**: Usi uno degli alias disponibili: `sonnet`, `opus`, `haiku`, o `fable`307* **Alias modello**: Usi uno degli alias disponibili: `sonnet`, `opus`, `haiku`, o `fable`

302* **ID modello completo**: Usi un ID modello completo come `claude-opus-4-8` o `claude-sonnet-4-6`. Accetta gli stessi valori del flag `--model`308* **ID modello completo**: Usi un ID modello completo come `claude-opus-4-8` o `claude-sonnet-5`. Accetta gli stessi valori del flag `--model`

303* **inherit**: Usi lo stesso modello della conversazione principale309* **inherit**: Usi lo stesso modello della conversazione principale

304* **Omesso**: Se non specificato, predefinito a `inherit` (usa lo stesso modello della conversazione principale)310* **Omesso**: Se non specificato, predefinito a `inherit` (usa lo stesso modello della conversazione principale)

305 311 

306Quando Claude invoca un subagent, può anche passare un parametro `model` per quella specifica invocazione. Claude Code risolve il modello del subagent in questo ordine:312Quando Claude invoca un subagent, può anche passare un parametro `model` per quella specifica invocazione. Claude Code risolve il modello del subagent in questo ordine:

307 313 

3081. La variabile di ambiente [`CLAUDE_CODE_SUBAGENT_MODEL`](/it/model-config#environment-variables), se impostata3141. La variabile di ambiente [`CLAUDE_CODE_SUBAGENT_MODEL`](/it/model-config#environment-variables), quando impostata a un alias modello o ID modello

3092. Il parametro `model` per invocazione3152. Il parametro `model` per invocazione

3103. Il frontmatter `model` della definizione del subagent3163. Il frontmatter `model` della definizione del subagent

3114. Il modello della conversazione principale3174. Il modello della conversazione principale

312 318 

319{/* min-version: 2.1.196 */}A partire da v2.1.196, impostare `CLAUDE_CODE_SUBAGENT_MODEL` su `inherit` è lo stesso che lasciarla non impostata: la risoluzione continua con il parametro `model` per invocazione, quindi il frontmatter. Nelle versioni precedenti, `inherit` forzava i subagent sul modello della conversazione principale e ignorava entrambe quelle fonti.

320 

313La variabile di ambiente, il parametro per invocazione e i valori frontmatter vengono controllati rispetto alla lista di consentimento [`availableModels`](/it/model-config#restrict-model-selection) della sua organizzazione. Un valore che si risolve in un modello escluso non viene utilizzato e il subagent viene eseguito sul modello ereditato.321La variabile di ambiente, il parametro per invocazione e i valori frontmatter vengono controllati rispetto alla lista di consentimento [`availableModels`](/it/model-config#restrict-model-selection) della sua organizzazione. Un valore che si risolve in un modello escluso non viene utilizzato e il subagent viene eseguito sul modello ereditato.

314 322 

315<h3 id="control-subagent-capabilities">323<h3 id="control-subagent-capabilities">


602 610 

603I subagent possono definire [hook](/it/hooks) che vengono eseguiti durante il ciclo di vita del subagent. Ci sono due modi per configurare gli hook:611I subagent possono definire [hook](/it/hooks) che vengono eseguiti durante il ciclo di vita del subagent. Ci sono due modi per configurare gli hook:

604 612 

6051. **Nel frontmatter del subagent**: Definisca hook che vengono eseguiti solo mentre quel subagent è attivo613* **Nel frontmatter del subagent**: Definisca hook che vengono eseguiti solo mentre quel subagent è attivo

6062. **In `settings.json`**: Definisca hook che vengono eseguiti nella sessione principale quando i subagent iniziano o si fermano614* **In `settings.json`**: Definisca hook che vengono eseguiti nella sessione principale quando i subagent iniziano o si fermano

607 615 

608<h4 id="hooks-in-subagent-frontmatter">616<h4 id="hooks-in-subagent-frontmatter">

609 Hook nel frontmatter del subagent617 Hook nel frontmatter del subagent


656| `SubagentStart` | Nome del tipo di agente | Quando un subagent inizia l'esecuzione |664| `SubagentStart` | Nome del tipo di agente | Quando un subagent inizia l'esecuzione |

657| `SubagentStop` | Nome del tipo di agente | Quando un subagent completa |665| `SubagentStop` | Nome del tipo di agente | Quando un subagent completa |

658 666 

659Entrambi gli eventi supportano matcher per indirizzare tipi di agenti specifici per nome. Questo esempio esegue uno script di configurazione solo quando il subagent `db-agent` inizia e uno script di pulizia quando qualsiasi subagent si ferma:667Entrambi gli eventi supportano matcher per indirizzare tipi di agenti specifici per nome. Il valore del matcher è il `name` del frontmatter dell'agente per i subagent a livello di progetto e utente, o l'identificatore con ambito del plugin come `my-plugin:db-agent` per [subagent plugin](/it/plugins). Un nome con ambito contiene un due punti, quindi viene valutato come un'[espressione regolare non ancorata](/it/hooks#matcher-patterns); ancoratelo con `^` e `$`, come in `^my-plugin:db-agent$`, per corrispondere solo a quell'agente.

668 

669Questo esempio esegue uno script di configurazione solo quando il subagent `db-agent` inizia e uno script di pulizia quando qualsiasi subagent si ferma:

660 670 

661```json theme={null}671```json theme={null}

662{672{


680}690}

681```691```

682 692 

693Un matcher con trattini come `db-agent` corrisponde esattamente su Claude Code v2.1.195 o successivo. Nelle versioni precedenti viene valutato come un'espressione regolare non ancorata e si attiva anche per qualsiasi tipo di agente che lo contiene, come `prod-db-agent`; ancoratelo come `^db-agent$` su quelle versioni.

694 

683Consulti [Hooks](/it/hooks) per il formato di configurazione dell'hook completo.695Consulti [Hooks](/it/hooks) per il formato di configurazione dell'hook completo.

684 696 

685<h2 id="work-with-subagents">697<h2 id="work-with-subagents">


704 716 

705Per il linguaggio naturale, non c'è sintassi speciale. Nomini il subagent e Claude generalmente delega:717Per il linguaggio naturale, non c'è sintassi speciale. Nomini il subagent e Claude generalmente delega:

706 718 

707```text theme={null}719```text wrap theme={null}

708Use the test-runner subagent to fix failing tests720Use the test-runner subagent to fix failing tests

709Have the code-reviewer subagent look at my recent changes721Have the code-reviewer subagent look at my recent changes

710```722```

711 723 

712**@-mention il subagent.** Digiti `@` e scelga il subagent dal typeahead, nello stesso modo in cui @-mention i file. Questo assicura che quel subagent specifico viene eseguito piuttosto che lasciare la scelta a Claude:724**@-mention il subagent.** Digiti `@` e scelga il subagent dal typeahead, nello stesso modo in cui @-mention i file. Questo assicura che quel subagent specifico viene eseguito piuttosto che lasciare la scelta a Claude:

713 725 

714```text theme={null}726```text wrap theme={null}

715@"code-reviewer (agent)" look at the auth changes727@"code-reviewer (agent)" look at the auth changes

716```728```

717 729 

718Il suo messaggio completo va ancora a Claude, che scrive il prompt dell'attività del subagent in base a quello che ha chiesto. L'@-mention controlla quale subagent Claude invoca, non quale prompt riceve.730Il suo messaggio completo va ancora a Claude, che scrive il prompt dell'attività del subagent in base a quello che ha chiesto. L'@-mention controlla quale subagent Claude invoca, non quale prompt riceve.

719 731 

720I subagent forniti da un [plugin](/it/plugins) abilitato appaiono nel typeahead con il loro nome con ambito, come `my-plugin:code-reviewer` o `my-plugin:review:security` quando il plugin [organizza gli agenti in sottocartelle](#choose-the-subagent-scope). I subagent in background denominati attualmente in esecuzione nella sessione appaiono anche nel typeahead, mostrando il loro stato accanto al nome. Può anche digitare la mention manualmente senza usare il picker: `@agent-<name>` per i subagent locali, o `@agent-` seguito dal nome con ambito per i subagent plugin, ad esempio `@agent-my-plugin:code-reviewer`.732I subagent forniti da un [plugin](/it/plugins) abilitato appaiono nel typeahead con il loro nome con ambito, come `my-plugin:code-reviewer` o `my-plugin:review:security` quando il plugin [organizza gli agenti in sottocartelle](#choose-the-subagent-scope). I subagent in background denominati attualmente in esecuzione nella sessione appaiono anche nel typeahead, mostrando il loro stato accanto al nome.

733 

734Può anche digitare la mention manualmente senza usare il picker: `@agent-<name>` per i subagent locali, o `@agent-` seguito dal nome con ambito per i subagent plugin, ad esempio `@agent-my-plugin:code-reviewer`.

721 735 

722**Esegua l'intera sessione come un subagent.** Passi [`--agent <name>`](/it/cli-reference) per avviare una sessione in cui il thread principale stesso assume il prompt di sistema, le restrizioni di strumenti e il modello di quel subagent:736**Esegua l'intera sessione come un subagent.** Passi [`--agent <name>`](/it/cli-reference) per avviare una sessione in cui il thread principale stesso assume il prompt di sistema, le restrizioni di strumenti e il modello di quel subagent:

723 737 


741claude --agent my-plugin:security-reviewer755claude --agent my-plugin:security-reviewer

742```756```

743 757 

744Se il plugin posiziona l'agente in una sottocartella della sua directory `agents/`, includa la sottocartella nel nome con ambito, ad esempio `claude --agent my-plugin:review:security`.758Se il plugin posiziona l'agente in una sottocartella della sua directory `agents/`, includa la sottocartella nel nome con ambio, ad esempio `claude --agent my-plugin:review:security`.

745 759 

746Per renderlo il predefinito per ogni sessione in un progetto, imposti `agent` in `.claude/settings.json`:760Per renderlo il predefinito per ogni sessione in un progetto, imposti `agent` in `.claude/settings.json`:

747 761 


757 Esegua i subagent in primo piano o in background771 Esegua i subagent in primo piano o in background

758</h3>772</h3>

759 773 

760I subagent possono essere eseguiti in primo piano (bloccante) o in background (concorrente):774I subagent possono essere eseguiti in primo piano o in background:

761 775 

762* **Subagent in primo piano** bloccano la conversazione principale fino al completamento. I prompt di autorizzazione vengono passati a lei mentre si presentano.776* **Subagent in primo piano** bloccano la conversazione principale fino al completamento. I prompt di autorizzazione vengono passati a lei mentre si presentano.

763* **Subagent in background** vengono eseguiti contemporaneamente mentre continua a lavorare. {/* min-version: 2.1.186 */}A partire da v2.1.186, quando un subagent in background raggiunge una chiamata di strumento che necessita di autorizzazione, il prompt emerge nella sua sessione principale e nomina il subagent che sta chiedendo. Approvi per consentire al subagent di continuare, o premi Esc per negare quella singola chiamata di strumento senza fermare il subagent. Prima di v2.1.186, i subagent in background auto-negavano qualsiasi chiamata di strumento che avrebbe richiesto un prompt.777* **Subagent in background** vengono eseguiti contemporaneamente mentre continua a lavorare. {/* min-version: 2.1.186 */}A partire da v2.1.186, quando un subagent in background raggiunge una chiamata di strumento che necessita di autorizzazione, il prompt emerge nella sua sessione principale e nomina il subagent che sta chiedendo. Approvi per consentire al subagent di continuare, o premi Esc per negare quella singola chiamata di strumento senza fermare il subagent. Prima di v2.1.186, i subagent in background auto-negavano qualsiasi chiamata di strumento che avrebbe richiesto un prompt.


781 795 

782Uno degli usi più efficaci per i subagent è isolare le operazioni che producono grandi quantità di output. L'esecuzione di test, il recupero della documentazione o l'elaborazione di file di log possono consumare contesto significativo. Delegando questi a un subagent, l'output dettagliato rimane nel contesto del subagent mentre solo il riassunto rilevante ritorna alla sua conversazione principale.796Uno degli usi più efficaci per i subagent è isolare le operazioni che producono grandi quantità di output. L'esecuzione di test, il recupero della documentazione o l'elaborazione di file di log possono consumare contesto significativo. Delegando questi a un subagent, l'output dettagliato rimane nel contesto del subagent mentre solo il riassunto rilevante ritorna alla sua conversazione principale.

783 797 

784```text theme={null}798```text wrap theme={null}

785Use a subagent to run the test suite and report only the failing tests with their error messages799Use a subagent to run the test suite and report only the failing tests with their error messages

786```800```

787 801 


791 805 

792Per indagini indipendenti, generi più subagent per lavorare simultaneamente:806Per indagini indipendenti, generi più subagent per lavorare simultaneamente:

793 807 

794```text theme={null}808```text wrap theme={null}

795Research the authentication, database, and API modules in parallel using separate subagents809Research the authentication, database, and API modules in parallel using separate subagents

796```810```

797 811 


809 823 

810Per flussi di lavoro multi-step, chieda a Claude di utilizzare i subagent in sequenza. Ogni subagent completa la sua attività e restituisce i risultati a Claude, che poi passa il contesto rilevante al subagent successivo.824Per flussi di lavoro multi-step, chieda a Claude di utilizzare i subagent in sequenza. Ogni subagent completa la sua attività e restituisce i risultati a Claude, che poi passa il contesto rilevante al subagent successivo.

811 825 

812```text theme={null}826```text wrap theme={null}

813Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them827Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them

814```828```

815 829 


820Usi la **conversazione principale** quando:834Usi la **conversazione principale** quando:

821 835 

822* L'attività necessita di frequenti scambi o raffinamento iterativo836* L'attività necessita di frequenti scambi o raffinamento iterativo

823* Più fasi condividono contesto significativo (pianificazione implementazione test)837* Più fasi condividono contesto significativo, come pianificazione, implementazione e test

824* Sta facendo un cambio rapido e mirato838* Sta facendo un cambio rapido e mirato

825* La latenza è importante. I subagent iniziano da zero e potrebbero aver bisogno di tempo per raccogliere contesto839* La latenza è importante. I subagent iniziano da zero e potrebbero aver bisogno di tempo per raccogliere contesto

826 840 


840 854 

841{/* min-version: 2.1.172 */}A partire da Claude Code v2.1.172, un subagent può generare i suoi propri subagent. Usi questo quando un'attività delegata si divide in sottoattività parallele, come un subagent revisore che invia un verificatore per ogni risultato, in modo che l'output intermedio non raggiunga mai la sua conversazione principale. Solo il riassunto del subagent di livello superiore ritorna a lei.855{/* min-version: 2.1.172 */}A partire da Claude Code v2.1.172, un subagent può generare i suoi propri subagent. Usi questo quando un'attività delegata si divide in sottoattività parallele, come un subagent revisore che invia un verificatore per ogni risultato, in modo che l'output intermedio non raggiunga mai la sua conversazione principale. Solo il riassunto del subagent di livello superiore ritorna a lei.

842 856 

843Un subagent annidato è configurato nello stesso modo di uno di livello superiore e si risolve dagli stessi [ambiti](#choose-the-subagent-scope). Il pannello dei subagent sotto l'input del prompt mostra l'albero completo: ogni riga visualizza un conteggio `(+N)` di discendenti, e aprire una riga mostra i figli diretti di quel subagent con un percorso di ritorno a `main`. La scheda Running in [`/agents`](#use-the-%2Fagents-command) elenca i subagent in esecuzione come un elenco piatto.857Un subagent annidato è configurato nello stesso modo di uno di livello superiore e si risolve dagli stessi [ambiti](#choose-the-subagent-scope). Il pannello dei subagent sotto l'input del prompt mostra l'albero completo: ogni riga visualizza un conteggio `(+N)` di discendenti, e {/* min-version: 2.1.193 */}a partire da v2.1.193, aprire una riga mostra i fratelli e i figli diretti di quel subagent con un percorso di ritorno a `main`. La scheda Running in [`/agents`](#use-the-%2Fagents-command) elenca i subagent in esecuzione come un elenco piatto.

844 858 

845La profondità viene conteggiata come il numero di livelli di subagent sotto la conversazione principale, indipendentemente dal fatto che ogni livello venga eseguito in [primo piano o in background](#run-subagents-in-foreground-or-background). Un subagent a profondità cinque non riceve lo strumento Agent e non può generare ulteriormente. Il limite è fisso e non configurabile.859La profondità viene conteggiata come il numero di livelli di subagent sotto la conversazione principale, indipendentemente dal fatto che ogni livello venga eseguito in [primo piano o in background](#run-subagents-in-foreground-or-background). Un subagent a profondità cinque non riceve lo strumento Agent e non può generare ulteriormente. Il limite è fisso e non configurabile.

846 860 


884 898 

885Per riprendere un subagent, chieda a Claude di continuare il lavoro precedente:899Per riprendere un subagent, chieda a Claude di continuare il lavoro precedente:

886 900 

887```text theme={null}901```text wrap theme={null}

888Use the code-reviewer subagent to review the authentication module902Use the code-reviewer subagent to review the authentication module

889[Agent completes]903[Agent completes]

890 904 


898 912 

899Le trascrizioni dei subagent persistono indipendentemente dalla conversazione principale:913Le trascrizioni dei subagent persistono indipendentemente dalla conversazione principale:

900 914 

901* **Compattazione della conversazione principale**: Quando la conversazione principale si compatta, le trascrizioni dei subagent non sono interessate. Sono archiviate in file separati.915* **Compattazione della conversazione principale**: quando la conversazione principale si compatta, le trascrizioni dei subagent non sono interessate. Sono archiviate in file separati.

902* **Persistenza della sessione**: Le trascrizioni dei subagent persistono all'interno della loro sessione. Può [riprendere un subagent](#resume-subagents) dopo aver riavviato Claude Code riprendendo la stessa sessione.916* **Persistenza della sessione**: le trascrizioni dei subagent persistono all'interno della loro sessione. Può [riprendere un subagent](#resume-subagents) dopo aver riavviato Claude Code riprendendo la stessa sessione.

903* **Pulizia automatica**: Le trascrizioni vengono pulite in base all'impostazione `cleanupPeriodDays` (predefinito: 30 giorni).917* **Pulizia automatica**: le trascrizioni vengono pulite in base all'impostazione `cleanupPeriodDays`, che per impostazione predefinita è 30 giorni.

904 918 

905<h4 id="auto-compaction">919<h4 id="auto-compaction">

906 Auto-compattazione920 Auto-compattazione


942 956 

943Può avviare un fork lei stesso con `/fork` seguito da una direttiva, con o senza la variabile impostata. Claude Code nomina il fork dalle prime parole della direttiva. L'esempio seguente esegue il fork della conversazione per redigere casi di test mentre continua con l'implementazione nella sessione principale:957Può avviare un fork lei stesso con `/fork` seguito da una direttiva, con o senza la variabile impostata. Claude Code nomina il fork dalle prime parole della direttiva. L'esempio seguente esegue il fork della conversazione per redigere casi di test mentre continua con l'implementazione nella sessione principale:

944 958 

945```text theme={null}959```text wrap theme={null}

946/fork draft unit tests for the parser changes so far960/fork draft unit tests for the parser changes so far

947```961```

948 962 

Details

196 196 

197* [Claude for Teams o Enterprise](/it/authentication#claude-for-teams-or-enterprise)197* [Claude for Teams o Enterprise](/it/authentication#claude-for-teams-or-enterprise)

198* [Anthropic Console](/it/authentication#claude-console-authentication)198* [Anthropic Console](/it/authentication#claude-console-authentication)

199* [Claude apps gateway](/it/claude-apps-gateway), un gateway self-hosted che aggiunge l'accesso IdP davanti ad Amazon Bedrock, Google Vertex AI, Microsoft Foundry o l'API Anthropic

199* [Amazon Bedrock](/it/amazon-bedrock)200* [Amazon Bedrock](/it/amazon-bedrock)

200* [Claude Platform on AWS](/it/claude-platform-on-aws)201* [Claude Platform on AWS](/it/claude-platform-on-aws)

201* [Google Vertex AI](/it/google-vertex-ai)202* [Google Vertex AI](/it/google-vertex-ai)

Details

11Per aggiungere strumenti personalizzati, connetti un [server MCP](/it/mcp). Per estendere Claude con flussi di lavoro basati su prompt riutilizzabili, scrivi una [skill](/it/skills), che viene eseguita attraverso lo strumento `Skill` esistente piuttosto che aggiungere una nuova voce di strumento.11Per aggiungere strumenti personalizzati, connetti un [server MCP](/it/mcp). Per estendere Claude con flussi di lavoro basati su prompt riutilizzabili, scrivi una [skill](/it/skills), che viene eseguita attraverso lo strumento `Skill` esistente piuttosto che aggiungere una nuova voce di strumento.

12 12 

13| Strumento | Descrizione | Autorizzazione Richiesta |13| Strumento | Descrizione | Autorizzazione Richiesta |

14| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------- |14| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------- |

15| `Agent` | Genera un [subagent](/it/sub-agents) con la propria finestra di contesto per gestire un'attività. Vedi [comportamento dello strumento Agent](#agent-tool-behavior) | No |15| `Agent` | Genera un [subagent](/it/sub-agents) con la propria finestra di contesto per gestire un'attività. Vedi [comportamento dello strumento Agent](#agent-tool-behavior) | No |

16| `Artifact` | Pubblica un file HTML o Markdown come [artifact](/it/artifacts): una pagina privata e interattiva su claude.ai che puoi condividere all'interno della tua organizzazione. {/* plan-availability: feature=artifacts plans=team,enterprise providers=anthropic */}Richiede un piano Team o Enterprise e autenticazione `/login`; vedi [Disponibilità](/it/artifacts#availability) | Sì |16| `Artifact` | Pubblica un file HTML o Markdown come [artifact](/it/artifacts): una pagina privata e interattiva su claude.ai che puoi condividere all'interno della tua organizzazione. {/* plan-availability: feature=artifacts plans=team,enterprise providers=anthropic */}Richiede un piano Team o Enterprise e autenticazione `/login`; vedi [Disponibilità](/it/artifacts#availability) | Sì |

17| `AskUserQuestion` | Pone domande a scelta multipla per raccogliere requisiti o chiarire ambiguità | No |17| `AskUserQuestion` | Pone domande a scelta multipla per raccogliere requisiti o chiarire ambiguità | No |


28| `Grep` | Cerca pattern nei contenuti dei file. Vedi [comportamento dello strumento Grep](#grep-tool-behavior) | No |28| `Grep` | Cerca pattern nei contenuti dei file. Vedi [comportamento dello strumento Grep](#grep-tool-behavior) | No |

29| `ListMcpResourcesTool` | Elenca le risorse esposte dai [server MCP](/it/mcp) connessi | No |29| `ListMcpResourcesTool` | Elenca le risorse esposte dai [server MCP](/it/mcp) connessi | No |

30| `LSP` | Intelligenza del codice tramite language server: salta alle definizioni, trova riferimenti, segnala errori di tipo e avvisi. Vedi [comportamento dello strumento LSP](#lsp-tool-behavior) | No |30| `LSP` | Intelligenza del codice tramite language server: salta alle definizioni, trova riferimenti, segnala errori di tipo e avvisi. Vedi [comportamento dello strumento LSP](#lsp-tool-behavior) | No |

31| `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 durante la conversazione. Vedi [strumento Monitor](#monitor-tool) | Sì |31| `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 durante la conversazione. Può anche aprire un WebSocket e trattare ogni messaggio in arrivo come un evento. Vedi [strumento Monitor](#monitor-tool) | Sì |

32| `NotebookEdit` | Modifica le celle del notebook Jupyter. Vedi [comportamento dello strumento NotebookEdit](#notebookedit-tool-behavior) | Sì |32| `NotebookEdit` | Modifica le celle del notebook Jupyter. Vedi [comportamento dello strumento NotebookEdit](#notebookedit-tool-behavior) | Sì |

33| `PowerShell` | Esegue comandi PowerShell nativamente. Vedi [strumento PowerShell](#powershell-tool) per la disponibilità | Sì |33| `PowerShell` | Esegue comandi PowerShell nativamente. Vedi [strumento PowerShell](#powershell-tool) per la disponibilità | Sì |

34| `PushNotification` | Invia una notifica desktop e una push su telefono quando [Remote Control](/it/remote-control) è connesso, in modo che un'attività di lunga durata o un'[attività pianificata](/it/scheduled-tasks) possa raggiungerti quando ti allontani. {/* plan-availability: feature=push-notifications providers=anthropic */}La consegna push viene eseguita attraverso l'infrastruttura ospitata da Anthropic, che non è accessibile da Amazon Bedrock, Google Vertex AI, o Microsoft Foundry | No |34| `PushNotification` | Invia una notifica desktop e una push su telefono quando [Remote Control](/it/remote-control) è connesso, in modo che un'attività di lunga durata o un'[attività pianificata](/it/scheduled-tasks) possa raggiungerti quando ti allontani. {/* plan-availability: feature=push-notifications providers=anthropic */}La consegna push viene eseguita attraverso l'infrastruttura ospitata da Anthropic, che non è accessibile da Amazon Bedrock, Google Vertex AI, o Microsoft Foundry | No |

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

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

37| `RemoteTrigger` | Crea, aggiorna, esegue ed elenca [Routine](/it/routines) su claude.ai. Supporta il comando `/schedule`. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Le Routine vivono su claude.ai e richiedono un piano Pro, Max, Team, o Enterprise, quindi questo strumento non è accessibile da Amazon Bedrock, Google Vertex AI, o Microsoft Foundry | No |37| `RemoteTrigger` | Crea, aggiorna, esegue ed elenca [Routine](/it/routines) su claude.ai. Supporta il comando `/schedule`. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Le Routine vivono su claude.ai e richiedono un piano Pro, Max, Team, o Enterprise, quindi questo strumento non è accessibile da Amazon Bedrock, Google Vertex AI, o Microsoft Foundry | No |

38| `ReportFindings` | Segnala i risultati della revisione del codice come un elenco strutturato, con un file, un riepilogo e uno scenario di errore per ogni risultato, in modo che Claude Code possa renderli invece di stamparli come testo. Claude lo chiama quando le istruzioni di revisione del codice attive lo dicono. {/* min-version: 2.1.196 */}Richiede Claude Code v2.1.196 o successivo | No |

38| `ScheduleWakeup` | Riprogramma l'iterazione successiva di un [`/loop` auto-paced](/it/scheduled-tasks#let-claude-choose-the-interval). Claude lo chiama alla fine di ogni iterazione per scegliere quando viene eseguita la successiva, tra un minuto e un'ora; non lo chiami direttamente. Il wakeup in sospeso appare in `session_crons` in [Stop hook input](/it/hooks#stop-input). {/* plan-availability: feature=loop-dynamic providers=anthropic */}Non disponibile su Amazon Bedrock, Google Vertex AI, o Microsoft Foundry, dove un prompt `/loop` senza intervallo viene eseguito secondo una pianificazione fissa | No |39| `ScheduleWakeup` | Riprogramma l'iterazione successiva di un [`/loop` auto-paced](/it/scheduled-tasks#let-claude-choose-the-interval). Claude lo chiama alla fine di ogni iterazione per scegliere quando viene eseguita la successiva, tra un minuto e un'ora; non lo chiami direttamente. Il wakeup in sospeso appare in `session_crons` in [Stop hook input](/it/hooks#stop-input). {/* plan-availability: feature=loop-dynamic providers=anthropic */}Non disponibile su Amazon Bedrock, Google Vertex AI, o Microsoft Foundry, dove un prompt `/loop` senza intervallo viene eseguito secondo una pianificazione fissa | No |

39| `SendMessage` | Invia un messaggio a un [team di agenti](/it/agent-teams) compagno, o [riprende un subagent](/it/sub-agents#resume-subagents) per il suo ID agente. I subagent interrotti si riprendono automaticamente in background. I messaggi del protocollo team strutturato richiedono team di agenti | No |40| `SendMessage` | Invia un messaggio a un [team di agenti](/it/agent-teams) compagno, o [riprende un subagent](/it/sub-agents#resume-subagents) per il suo ID agente. I subagent interrotti si riprendono automaticamente in background. I messaggi del protocollo team strutturato richiedono team di agenti | No |

41| `SendUserFile` | Invia file dalla sessione a te con una didascalia opzionale, in modo che un report generato, un diagramma, uno screenshot, o un artefatto costruito raggiunga il tuo dispositivo invece di essere solo menzionato nella trascrizione. {/* min-version: 2.1.196 */}A partire da v2.1.196, l'input opzionale `display` controlla la presentazione: `render` apre il file inline nel client, `attach` mostra solo una scheda di download, e quando non impostato il client decide in base al tipo di file. Disponibile quando un client [Remote Control](/it/remote-control) è connesso o la sessione viene eseguita in un ambiente cloud gestito come [Claude Code sul web](/it/claude-code-on-the-web). La consegna viene eseguita attraverso l'infrastruttura ospitata da Anthropic, quindi lo strumento non è disponibile su Amazon Bedrock, Google Vertex AI, o Microsoft Foundry | No |

40| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Carica `ONBOARDING.md` e restituisce un link di condivisione che i compagni di team possono aprire in Claude Code. Chiamato da `/team-onboarding` dopo che la guida è stata scritta. Disponibile per gli abbonati di claude.ai su piani Pro, Max, Team, ed Enterprise | Sì |42| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Carica `ONBOARDING.md` e restituisce un link di condivisione che i compagni di team possono aprire in Claude Code. Chiamato da `/team-onboarding` dopo che la guida è stata scritta. Disponibile per gli abbonati di claude.ai su piani Pro, Max, Team, ed Enterprise | Sì |

41| `Skill` | Esegue una [skill](/it/skills#control-who-invokes-a-skill) all'interno della conversazione principale | Sì |43| `Skill` | Esegue una [skill](/it/skills#control-who-invokes-a-skill) all'interno della conversazione principale | Sì |

42| `TaskCreate` | Crea una nuova attività nell'elenco delle attività | No |44| `TaskCreate` | Crea una nuova attività nell'elenco delle attività | No |


206* Eseguire il polling di una PR o di un lavoro CI e segnalare quando il suo stato cambia208* Eseguire il polling di una PR o di un lavoro CI e segnalare quando il suo stato cambia

207* Osservare una directory per i cambiamenti di file209* Osservare una directory per i cambiamenti di file

208* Tracciare l'output da qualsiasi script di lunga durata che gli indichi210* Tracciare l'output da qualsiasi script di lunga durata che gli indichi

211* Connettersi a un feed WebSocket e segnalare ogni messaggio man mano che arriva

209 212 

210Claude scrive un piccolo script per l'osservazione, lo esegue in background e riceve ogni riga di output man mano che arriva. Continui a lavorare nella stessa sessione e Claude interviene quando un evento si verifica. Interrompi un monitor chiedendo a Claude di annullarlo o terminando la sessione.213Per la maggior parte dei monitoraggi, Claude scrive un piccolo script, lo esegue in background e riceve ogni riga di output man mano che arriva. Per un server che già invia eventi, Claude può aprire una [fonte WebSocket](#websocket-source) invece di eseguire uno script.

211 214 

212Monitor utilizza le stesse [regole di autorizzazione di Bash](/it/permissions#tool-specific-permission-rules), quindi i pattern `allow` e `deny` che hai impostato per Bash si applicano anche qui. Non è disponibile su Amazon Bedrock, Google Vertex AI, o Microsoft Foundry. Non è disponibile nemmeno quando `DISABLE_TELEMETRY` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostato.215Continui a lavorare nella stessa sessione e Claude interviene quando un evento si verifica. Interrompi un monitor chiedendo a Claude di annullarlo o terminando la sessione.

216 

217Quando Monitor esegue un comando, utilizza le stesse [regole di autorizzazione di Bash](/it/permissions#tool-specific-permission-rules), quindi i pattern `allow` e `deny` che hai impostato per Bash si applicano anche qui. La [fonte WebSocket](#websocket-source) ha il suo proprio prompt di approvazione.

218 

219Lo strumento non è disponibile su Amazon Bedrock, Google Vertex AI, o Microsoft Foundry. Non è disponibile nemmeno quando `DISABLE_TELEMETRY` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostato.

213 220 

214I plugin possono dichiarare monitor che si avviano automaticamente quando il plugin è attivo, invece di chiedere a Claude di avviarli. Vedi [plugin monitors](/it/plugins-reference#monitors).221I plugin possono dichiarare monitor che si avviano automaticamente quando il plugin è attivo, invece di chiedere a Claude di avviarli. Vedi [plugin monitors](/it/plugins-reference#monitors).

215 222 

223<h3 id="websocket-source">

224 Fonte WebSocket

225</h3>

226 

227<Note>

228 La fonte WebSocket richiede Claude Code v2.1.195 o successivo.

229</Note>

230 

231Quando un server già invia eventi su un WebSocket, Claude può connettersi direttamente ad esso invece di scrivere uno script di polling. Ogni tipo di attività del socket diventa un evento o termina il monitoraggio:

232 

233* **Messaggi di testo**: ognuno diventa un evento, anche quando il messaggio si estende su più righe.

234* **Messaggi binari**: non vengono passati. Claude riceve una riga segnaposto come `[binary frame, 512 bytes]` invece.

235* **Messaggi più grandi di 1 MiB**: il monitoraggio termina, quindi sottoscrivi un feed filtrato dove esiste.

236* **Chiusura del socket**: il monitoraggio termina e Claude riceve il codice di chiusura.

237 

238Un monitoraggio WebSocket accetta un input `ws` al posto di `command`, e una singola chiamata Monitor non può combinare i due. L'input `ws` ha due campi:

239 

240| Campo | Obbligatorio | Descrizione |

241| :---------- | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |

242| `url` | Sì | L'endpoint a cui connettersi. Deve essere un URL `ws://` o `wss://` senza credenziali incorporate o spazi, utilizzando solo caratteri ASCII |

243| `protocols` | No | Nomi di sottoprotocollo WebSocket da offrire durante l'handshake. Ogni voce deve essere un token di sottoprotocollo valido e l'elenco non può contenere duplicati |

244 

245Gli input `timeout_ms` e `persistent` si comportano allo stesso modo di come si comportano per un comando: il monitoraggio termina alla scadenza a meno che `persistent` non sia impostato, e `TaskStop` lo annulla anticipatamente.

246 

247L'apertura di un WebSocket richiede l'approvazione e il prompt non offre un'opzione per saltare i prompt futuri per lo stesso host.

248 

249Claude Code nega gli URL che puntano a un indirizzo privato, link-local o cloud-metadata, inclusi i nomi host che si risolvono in uno. Nega anche gli host in `sandbox.network.deniedDomains` e quando [`allowManagedDomainsOnly`](/it/settings#sandbox-settings) è impostato nelle impostazioni gestite, qualsiasi host al di fuori dell'elenco di autorizzazione gestito.

250 

216<h2 id="notebookedit-tool-behavior">251<h2 id="notebookedit-tool-behavior">

217 Comportamento dello strumento NotebookEdit252 Comportamento dello strumento NotebookEdit

218</h2>253</h2>


265 300 

266Lo stesso comportamento di ripristino della directory di lavoro della sessione principale descritto nella sezione dello strumento Bash si applica ai comandi PowerShell, inclusa la variabile di ambiente `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR`.301Lo stesso comportamento di ripristino della directory di lavoro della sessione principale descritto nella sezione dello strumento Bash si applica ai comandi PowerShell, inclusa la variabile di ambiente `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR`.

267 302 

303{/* min-version: 2.1.196 */}A partire dalla v2.1.196, lo strumento PowerShell corrisponde alla gestione dei codici di uscita di ricerca e diff dello strumento Bash. Il codice di uscita 1 da `grep`, `egrep`, `fgrep` e `git grep` significa nessuna corrispondenza, e il codice di uscita 1 da `git diff` significa che esistono differenze, quindi questi risultati non vengono segnalati a Claude come errori di comando.

304 

268<h3 id="preview-limitations">305<h3 id="preview-limitations">

269 Limitazioni dell'anteprima306 Limitazioni dell'anteprima

270</h3>307</h3>


284 321 

285Read gestisce diversi tipi di file oltre al testo semplice:322Read gestisce diversi tipi di file oltre al testo semplice:

286 323 

287* **Immagini**: PNG, JPG e altri formati di immagine vengono restituiti come contenuto visivo che Claude può vedere, non come byte grezzi. Claude Code ridimensiona e ricomprime le immagini grandi per adattarsi ai limiti di dimensione dell'immagine del modello prima di inviarle, quindi Claude potrebbe vedere una versione ridotta di uno screenshot grande. Se Claude perde dettagli a livello di pixel fine in un'immagine grande, chiedigli di ritagliare prima la regione di interesse, ad esempio con ImageMagick tramite Bash.324* **Immagini**: PNG, JPG e altri formati di immagine vengono restituiti come contenuto visivo che Claude può vedere, non come byte grezzi. Claude Code ridimensiona e ricomprime le immagini grandi per adattarsi ai limiti di dimensione dell'immagine del modello prima di inviarle, quindi Claude potrebbe vedere una versione ridotta di uno screenshot grande. {/* min-version: 2.1.196 */}A partire dalla v2.1.196, un'immagine che è ancora più grande di 500KB dopo quel ridimensionamento viene ricodificata come JPEG a qualità ridotta con le sue dimensioni in pixel invariate. Se Claude perde dettagli a livello di pixel fine in un'immagine grande, chiedigli di ritagliare prima la regione di interesse, ad esempio con ImageMagick tramite Bash.

288* **PDF**: Claude legge file `.pdf` brevi nel loro insieme. Per i PDF più lunghi di 10 pagine, legge in intervalli con un parametro `pages`, come `"1-5"`, fino a 20 pagine alla volta.325* **PDF**: Claude legge file `.pdf` brevi nel loro insieme. Per i PDF più lunghi di 10 pagine, legge in intervalli con un parametro `pages`, come `"1-5"`, fino a 20 pagine alla volta.

289* **Notebook Jupyter**: i file `.ipynb` restituiscono tutte le celle con i loro output, inclusi codice, markdown e visualizzazioni.326* **Notebook Jupyter**: i file `.ipynb` restituiscono tutte le celle con i loro output, inclusi codice, markdown e visualizzazioni.

290 327 

Details

45Se il tuo problema non è elencato, esegui i controlli diagnostici di seguito per restringere la causa.45Se il tuo problema non è elencato, esegui i controlli diagnostici di seguito per restringere la causa.

46 46 

47<Tip>47<Tip>

48 Se preferisci saltare completamente il terminale, l'[app Claude Code Desktop](/it/desktop-quickstart) ti consente di installare e utilizzare Claude Code tramite un'interfaccia grafica. Scaricala per [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) o [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) e inizia a codificare senza alcuna configurazione da riga di comando.48 Se preferisci saltare completamente il terminale, l'[app Claude Code Desktop](/it/desktop-quickstart) ti consente di installare e utilizzare Claude Code tramite un'interfaccia grafica. Scaricala per [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs), o [Linux](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) e inizia a codificare senza alcuna configurazione da riga di comando.

49</Tip>49</Tip>

50 50 

51<h2 id="run-diagnostic-checks">51<h2 id="run-diagnostic-checks">

Details

18 Requisiti18 Requisiti

19</h2>19</h2>

20 20 

21La dettatura vocale trasmette l'audio registrato ai server di Anthropic per la trascrizione. L'audio non viene elaborato localmente. Il servizio di sintesi vocale è disponibile solo quando vi autenticate con un account Claude.ai e non è disponibile quando Claude Code è configurato per utilizzare direttamente una chiave API di Anthropic, Amazon Bedrock, Google Vertex AI o Microsoft Foundry. La dettatura vocale non è disponibile nemmeno quando la vostra organizzazione ha la conformità HIPAA abilitata. La trascrizione non consuma messaggi Claude o token e non conta verso i limiti mostrati in `/usage`. Consultate [data usage](/it/data-usage) per scoprire come Anthropic gestisce i vostri dati.21La dettatura vocale trasmette l'audio registrato ai server di Anthropic per la trascrizione. L'audio non viene elaborato localmente. È necessario disporre di tutti i seguenti elementi:

22 22 

23La dettatura vocale richiede anche l'accesso locale al microfono, quindi non funziona in ambienti remoti come [Claude Code sul web](/it/claude-code-on-the-web) o sessioni SSH. In WSL, la dettatura vocale richiede WSLg per l'accesso audio. WSLg è incluso con WSL2 quando installato da Microsoft Store su Windows 10 o 11. Se WSLg non è disponibile, ad esempio su WSL1, eseguite Claude Code in Windows nativo.23* **Un account Claude.ai**: il servizio di sintesi vocale è disponibile solo quando vi autenticate con uno, e non è disponibile quando Claude Code è configurato per utilizzare direttamente una chiave API di Anthropic, Amazon Bedrock, Google Vertex AI o Microsoft Foundry.

24* **Un'organizzazione senza conformità HIPAA abilitata**: `/voice` mostra `Voice mode is disabled by your organization's policy` quando questa restrizione si applica.

25* **Un microfono locale**: la dettatura vocale non funziona in ambienti remoti come [Claude Code sul web](/it/claude-code-on-the-web) o sessioni SSH.

26* **WSLg, se eseguite Claude Code in WSL**: WSLg è incluso con WSL2 quando installato da Microsoft Store su Windows 10 o 11. Se WSLg non è disponibile, ad esempio su WSL1, eseguite Claude Code in Windows nativo.

27 

28La trascrizione non consuma messaggi Claude o token e non conta verso i limiti mostrati in `/usage`. Consultate [data usage](/it/data-usage) per scoprire come Anthropic gestisce i vostri dati.

24 29 

25La registrazione audio utilizza un modulo nativo integrato su macOS, Linux e Windows. Su Linux, se il modulo nativo non riesce a caricarsi, Claude Code ricade su `arecord` da ALSA utils o `rec` da SoX. Se nessuno dei due è disponibile, `/voice` stampa un comando di installazione per il vostro gestore di pacchetti.30La registrazione audio utilizza un modulo nativo integrato su macOS, Linux e Windows. Su Linux, se il modulo nativo non riesce a caricarsi, Claude Code ricade su `arecord` da ALSA utils o `rec` da SoX. Se nessuno dei due è disponibile, `/voice` stampa un comando di installazione per il vostro gestore di pacchetti.

26 31 


91 96 

92La modalità tocco attiva/disattiva la registrazione con una singola pressione di tasto: tocca una volta per iniziare, parla, quindi tocca di nuovo per inviare il prompt. Non c'è riscaldamento e non è necessario mantenere il tasto premuto.97La modalità tocco attiva/disattiva la registrazione con una singola pressione di tasto: tocca una volta per iniziare, parla, quindi tocca di nuovo per inviare il prompt. Non c'è riscaldamento e non è necessario mantenere il tasto premuto.

93 98 

94Abilita la modalità tocco con `/voice tap`. Con l'input del prompt vuoto, tocca `Space` per iniziare la registrazione. Il footer mostra una forma d'onda dal vivo durante la registrazione. Tocca `Space` di nuovo per interrompere. Claude Code inserisce la trascrizione e invia il prompt automaticamente quando la trascrizione è lunga almeno tre parole. Le trascrizioni più brevi vengono inserite ma non inviate, quindi un tocco accidentale non invia una parola casuale.99Abilita la modalità tocco con `/voice tap`. Con l'input del prompt vuoto, tocca `Space` per iniziare la registrazione. Il footer mostra una forma d'onda dal vivo durante la registrazione. Tocca `Space` di nuovo per interrompere.

100 

101Claude Code inserisce la trascrizione e invia il prompt automaticamente quando la trascrizione è lunga almeno tre parole. Le trascrizioni più brevi vengono inserite ma non inviate, quindi un tocco accidentale non invia una parola casuale.

102 

103La soglia di tre parole conta le parole per le lingue scritte senza spazi. A partire dalla v2.1.195, le trascrizioni in giapponese, cinese e tailandese contano le parole individuali, quindi si inviano automaticamente in modalità tocco e in modalità di mantenimento con `autoSubmit`. Le versioni precedenti contavano una trascrizione senza spazi come una parola e non l'inviavano mai automaticamente.

95 104 

96Il primo tocco avvia la registrazione solo quando l'input del prompt è vuoto, quindi puoi comunque digitare spazi normalmente mentre componi un messaggio. Il secondo tocco interrompe la registrazione indipendentemente dal contenuto dell'input. La registrazione si interrompe anche automaticamente dopo 15 secondi di silenzio o due minuti totali.105Il primo tocco avvia la registrazione solo quando l'input del prompt è vuoto, quindi puoi comunque digitare spazi normalmente mentre componi un messaggio. Il secondo tocco interrompe la registrazione indipendentemente dal contenuto dell'input. La registrazione si interrompe anche automaticamente dopo 15 secondi di silenzio o due minuti totali.

97 106 


169Problemi comuni quando la dettatura vocale non si attiva o non registra:178Problemi comuni quando la dettatura vocale non si attiva o non registra:

170 179 

171* **`Voice mode requires a Claude.ai account`**: sei autenticato con una chiave API o un provider di terze parti. Esegui `/login` per accedere con un account Claude.ai.180* **`Voice mode requires a Claude.ai account`**: sei autenticato con una chiave API o un provider di terze parti. Esegui `/login` per accedere con un account Claude.ai.

181* **`Voice mode is disabled by your organization's policy`**: la configurazione di conformità della tua organizzazione disabilita la dettatura vocale, come descritto in [Requisiti](#requirements). Contatta l'amministratore della tua organizzazione per confermare se la dettatura vocale è disponibile per la tua organizzazione.

172* **`Microphone access is denied`**: concedi l'autorizzazione del microfono al tuo terminale nelle impostazioni di sistema. Su macOS, vai a Impostazioni di sistema → Privacy e sicurezza → Microfono e abilita la tua app terminale, quindi esegui `/voice` di nuovo. Su Windows, vai a Impostazioni → Privacy e sicurezza → Microfono e attiva l'accesso al microfono per le app desktop, quindi esegui `/voice` di nuovo. Se il tuo terminale non è elencato nelle impostazioni macOS, consulta [Terminale non elencato nelle impostazioni del microfono di macOS](#terminal-not-listed-in-macos-microphone-settings).182* **`Microphone access is denied`**: concedi l'autorizzazione del microfono al tuo terminale nelle impostazioni di sistema. Su macOS, vai a Impostazioni di sistema → Privacy e sicurezza → Microfono e abilita la tua app terminale, quindi esegui `/voice` di nuovo. Su Windows, vai a Impostazioni → Privacy e sicurezza → Microfono e attiva l'accesso al microfono per le app desktop, quindi esegui `/voice` di nuovo. Se il tuo terminale non è elencato nelle impostazioni macOS, consulta [Terminale non elencato nelle impostazioni del microfono di macOS](#terminal-not-listed-in-macos-microphone-settings).

173* **`No audio recording tool found` su Linux**: il modulo audio nativo non ha potuto caricarsi e nessun fallback è installato. Installa SoX con il comando mostrato nel messaggio di errore, ad esempio `sudo apt-get install sox`.183* **`No audio recording tool found` su Linux**: il modulo audio nativo non ha potuto caricarsi e nessun fallback è installato. Installa SoX con il comando mostrato nel messaggio di errore, ad esempio `sudo apt-get install sox`.

184* **`Voice mode requires a microphone, but SoX could not open an audio capture device`**: SoX è installato, ma l'host non ha alcun dispositivo di cattura audio, ad esempio un server headless o un container. Esegui Claude Code su una macchina con un microfono. {/* min-version: 2.1.195 */}A partire dalla v2.1.195, Claude Code su Linux segnala questo messaggio in quella situazione; le versioni precedenti ti chiedevano di installare SoX anche quando era già installato.

174* **`Voice mode could not find a working audio recorder in WSL`**: WSLg instrada l'audio attraverso PulseAudio piuttosto che un dispositivo ALSA, quindi SoX ha bisogno che il suo backend PulseAudio sia installato esplicitamente. Esegui `sudo apt install sox libsox-fmt-pulse`. L'installazione di `sox` da sola estrae il backend ALSA, che non può registrare su WSL perché non c'è alcun dispositivo `/dev/snd`.185* **`Voice mode could not find a working audio recorder in WSL`**: WSLg instrada l'audio attraverso PulseAudio piuttosto che un dispositivo ALSA, quindi SoX ha bisogno che il suo backend PulseAudio sia installato esplicitamente. Esegui `sudo apt install sox libsox-fmt-pulse`. L'installazione di `sox` da sola estrae il backend ALSA, che non può registrare su WSL perché non c'è alcun dispositivo `/dev/snd`.

175* **`Voice input is failing repeatedly and has been paused`**: la dettatura vocale ha riscontrato diversi errori di avvio di seguito e ha smesso di tentare nuove sessioni fino a quando una non avrà successo. Questo di solito significa che il microfono o lo stack audio su questo host non può catturare l'audio, ad esempio un server headless, una shell remota senza passthrough audio, o un'autorizzazione del microfono negata. Conferma un dispositivo di input funzionante, correggi la causa sottostante dalle voci precedenti, quindi attiva di nuovo la voce.186* **`Voice input is failing repeatedly and has been paused`**: la dettatura vocale ha riscontrato diversi errori di avvio di seguito e ha smesso di tentare nuove sessioni fino a quando una non avrà successo. Questo di solito significa che il microfono o lo stack audio su questo host non può catturare l'audio, ad esempio un server headless, una shell remota senza passthrough audio, o un'autorizzazione del microfono negata. Conferma un dispositivo di input funzionante, correggi la causa sottostante dalle voci precedenti, quindi attiva di nuovo la voce.

176* **Nulla accade quando tieni premuto `Space` in modalità pressione prolungata**: osserva l'input del prompt mentre tieni premuto. Se gli spazi continuano ad accumularsi, la dettatura vocale è probabilmente disattivata; esegui `/voice hold` per abilitarla. Se appare solo uno o due spazi e poi nulla, la dettatura vocale è attiva ma il rilevamento della pressione prolungata non si attiva. Il rilevamento della pressione prolungata richiede che il tuo terminale invii eventi di ripetizione dei tasti, quindi non può rilevare un tasto premuto se la ripetizione dei tasti è disabilitata a livello del sistema operativo. Passa a modalità tocco con `/voice tap` per evitare il requisito di ripetizione dei tasti.187* **Nulla accade quando tieni premuto `Space` in modalità pressione prolungata**: osserva l'input del prompt mentre tieni premuto. Se gli spazi continuano ad accumularsi, la dettatura vocale è probabilmente disattivata; esegui `/voice hold` per abilitarla. Se appare solo uno o due spazi e poi nulla, la dettatura vocale è attiva ma il rilevamento della pressione prolungata non si attiva. Il rilevamento della pressione prolungata richiede che il tuo terminale invii eventi di ripetizione dei tasti, quindi non può rilevare un tasto premuto se la ripetizione dei tasti è disabilitata a livello del sistema operativo. Passa a modalità tocco con `/voice tap` per evitare il requisito di ripetizione dei tasti.

whats-new.md +16 −0

Details

8 8 

9Il digest settimanale per sviluppatori evidenzia le funzionalità più probabili a cambiare il modo in cui lavorate. Ogni voce include codice eseguibile, una breve demo e un collegamento alla documentazione completa. Per ogni correzione di bug e miglioramento minore, consultate il [changelog](/it/changelog).9Il digest settimanale per sviluppatori evidenzia le funzionalità più probabili a cambiare il modo in cui lavorate. Ogni voce include codice eseguibile, una breve demo e un collegamento alla documentazione completa. Per ogni correzione di bug e miglioramento minore, consultate il [changelog](/it/changelog).

10 10 

11<Update label="Week 26" description="June 22–26, 2026" tags={["v2.1.185–v2.1.193"]}>

12 **`claude mcp login`**: autenticate un server MCP configurato dalla vostra shell invece del menu interattivo `/mcp`, e cancellate le sue credenziali archiviate in seguito con `claude mcp logout`.

13 

14 Anche questa settimana: **shell mode risponde all'output dei comandi** (`! npm test` riceve una spiegazione senza un secondo prompt); **`/rewind`** può riprendere una conversazione da prima che `/clear` fosse eseguito; e **background subagents** ora mostrano i prompt di autorizzazione nella sessione principale invece di negarli automaticamente.

15 

16 [Leggi il digest della Week 26 →](/it/whats-new/2026-w26)

17</Update>

18 

19<Update label="Week 25" description="June 15–19, 2026" tags={["v2.1.178–v2.1.183"]}>

20 **Artifacts**: trasformate l'output di una sessione in una pagina live e condivisibile su claude.ai che si aggiorna sul posto mentre la sessione lavora, ora in beta su piani Team e Enterprise.

21 

22 Anche questa settimana: **regole di deny e ask corrispondono ai parametri dello strumento** con `Tool(param:value)`, ad esempio `Agent(model:opus)`; **`/config key=value`** imposta qualsiasi impostazione dal prompt, in modalità `-p`, e da Remote Control; e **auto mode blocca i comandi git distruttivi** quando non avete chiesto di scartare il lavoro locale.

23 

24 [Leggi il digest della Week 25 →](/it/whats-new/2026-w25)

25</Update>

26 

11<Update label="Week 24" description="June 8–12, 2026" tags={["v2.1.166–v2.1.176"]}>27<Update label="Week 24" description="June 8–12, 2026" tags={["v2.1.166–v2.1.176"]}>

12 **`/cd`**: sposta la sessione corrente in una nuova directory di lavoro a metà conversazione senza ricostruire la cache del prompt.28 **`/cd`**: sposta la sessione corrente in una nuova directory di lavoro a metà conversazione senza ricostruire la cache del prompt.

13 29 

Details

73 <p className="digest-feature-try">Aggiungi un limite minimo alle tue impostazioni gestite in modo che i client più vecchi rifiutino di avviarsi:</p>73 <p className="digest-feature-try">Aggiungi un limite minimo alle tue impostazioni gestite in modo che i client più vecchi rifiutino di avviarsi:</p>

74 74 

75 ```json managed-settings.json theme={null}75 ```json managed-settings.json theme={null}

76 {

76 "requiredMinimumVersion": "2.1.163"77 "requiredMinimumVersion": "2.1.163"

78 }

77 ```79 ```

78 80 

79 <a className="digest-feature-link" href="/docs/it/admin-setup#decide-what-to-enforce">Decidi cosa applicare</a>81 <a className="digest-feature-link" href="/docs/it/admin-setup#decide-what-to-enforce">Decidi cosa applicare</a>

whats-new/2026-w25.md +90 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Settimana 25 · 15–19 giugno 2026

6 

7> Pubblica una pagina live e condivisibile dalla tua sessione con Artifacts, abbina i parametri degli strumenti nelle regole di negazione e richiesta, e imposta qualsiasi impostazione dal prompt con /config.

8 

9<div className="digest-meta">

10 <span>Rilasci <a href="/docs/it/changelog#2-1-178">v2.1.178 → v2.1.183</a></span>

11 <span>3 funzionalità · 15–19 giugno</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Artifacts</span>

17 </div>

18 

19 <p className="digest-feature-lede">Un artifact è una pagina live e interattiva che Claude Code pubblica dalla tua sessione a un URL privato su claude.ai, e si aggiorna sul posto mentre la sessione continua a lavorare. Richiedine uno quando il testo del terminale non è il mezzo giusto, come una procedura dettagliata di PR con il diff annotato inline o una dashboard costruita dai dati della sessione. Gli Artifacts sono in beta sui piani Team e Enterprise.</p>

20 

21 <Frame>

22 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/1ylKDoQynT1UgfEK/images/whats-new/artifacts.mp4?fit=max&auto=format&n=1ylKDoQynT1UgfEK&q=85&s=7f5391559d2bc69989621b36322fcff1" data-path="images/whats-new/artifacts.mp4" />

23 </Frame>

24 

25 <p className="digest-feature-try">Chiedi a Claude una pagina, quindi approva il prompt di pubblicazione:</p>

26 

27 ```text Claude Code theme={null}

28 > Make an artifact that walks through this PR with the diff annotated inline.

29 ```

30 

31 <a className="digest-feature-link" href="/docs/it/artifacts#create-an-artifact">Crea un artifact</a>

32</div>

33 

34<div className="digest-feature">

35 <div className="digest-feature-header">

36 <span className="digest-feature-title">Abbina per parametro di input</span>

37 <span className="digest-feature-pill">v2.1.178</span>

38 </div>

39 

40 <p className="digest-feature-lede">Le regole di negazione e richiesta di autorizzazione possono ora abbinare i parametri di input di uno strumento con la sintassi <code>Tool(param:value)</code>. Ad esempio, <code>Agent(model:opus)</code> abbina i spawn di subagent che richiedono il livello di modello Opus. Il valore accetta `*` come wildcard, quindi `Agent(isolation:*)` abbina qualsiasi valore di isolamento esplicito.</p>

41 

42 <p className="digest-feature-try">Aggiungi una regola di parametro all'elenco di negazione in <code>settings.json</code>:</p>

43 

44 ```json .claude/settings.json {3} theme={null}

45 {

46 "permissions": {

47 "deny": ["Agent(model:opus)"]

48 }

49 }

50 ```

51 

52 <a className="digest-feature-link" href="/docs/it/permissions#match-by-input-parameter">Abbina per parametro di input</a>

53</div>

54 

55<div className="digest-feature">

56 <div className="digest-feature-header">

57 <span className="digest-feature-title">Imposta qualsiasi impostazione dal prompt</span>

58 <span className="digest-feature-pill">v2.1.181</span>

59 </div>

60 

61 <p className="digest-feature-lede">Passa <code>key=value</code> a <code>/config</code> per modificare un'impostazione direttamente senza aprire l'interfaccia Impostazioni. La sintassi funziona anche in modalità non interattiva con il flag <code>-p</code> e da Remote Control.</p>

62 

63 <p className="digest-feature-try">Imposta l'impostazione <code>thinking</code> dal prompt:</p>

64 

65 ```text Claude Code theme={null}

66 > /config thinking=false

67 ```

68 

69 <a className="digest-feature-link" href="/docs/it/commands#all-commands">Riferimento dei comandi</a>

70</div>

71 

72<div className="digest-wins">

73 <p className="digest-wins-title">Altri vantaggi</p>

74 

75 <div className="digest-wins-grid">

76 <div>La modalità Auto ora blocca i comandi git distruttivi (`git reset --hard`, `git clean -fd`, `git stash drop`) quando non hai chiesto di scartare il lavoro locale, e blocca <code>terraform destroy</code> a meno che tu non abbia chiesto lo stack specifico</div>

77 <div>Imposta la nuova impostazione <code>attribution.sessionUrl</code> su <code>false</code> per omettere il collegamento della sessione claude.ai dai commit e dalle PR nelle sessioni web e Remote Control</div>

78 <div>Nell'interfaccia <code>/config</code>, Invio e Spazio cambiano entrambi l'impostazione selezionata, e Esc ora salva e chiude invece di ripristinare</div>

79 <div>La nuova impostazione opt-in <code>sandbox.allowAppleEvents</code> consente ai comandi in sandbox di inviare Apple Events su macOS</div>

80 <div>Punta <code>CLAUDE\_CLIENT\_PRESENCE\_FILE</code> a un file marcatore per sopprimere le notifiche push mobile mentre sei alla macchina</div>

81 <div>I paragrafi lunghi ora vengono trasmessi riga per riga invece di aspettare la prima interruzione di riga</div>

82 <div>I cali di connessione API durante il thinking ora si riprovano automaticamente invece di mostrare "Connection closed while thinking"</div>

83 <div>Con <code>CLAUDE\_CODE\_EXPERIMENTAL\_AGENT\_TEAMS=1</code> impostato, ogni sessione ha un team implicito, quindi generi i compagni di squadra direttamente con il parametro <code>name</code> dello strumento Agent</div>

84 <div>Le skills nelle directory <code>.claude/skills</code> annidate si caricano quando si lavora su file lì; in caso di conflitto di nome la skill annidata appare come `<dir>:<name>` quindi entrambe rimangono disponibili</div>

85 <div>Corretto il prompt caching che non leggeva su un <code>ANTHROPIC\_BASE\_URL</code> personalizzato e su Foundry</div>

86 <div>Corretto Write e Edit che producevano file a zero byte o troncati su unità di rete e cartelle sincronizzate nel cloud</div>

87 </div>

88</div>

89 

90[Changelog completo per v2.1.178–v2.1.183 →](/it/changelog#2-1-178)

whats-new/2026-w26.md +66 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Settimana 26 · 22–26 giugno 2026

6 

7> Autenticate i server MCP dalla shell con claude mcp login, ottenete una risposta all'output del comando della modalità shell con il prefisso !, e riprendete una conversazione da prima di /clear con /rewind.

8 

9<div className="digest-meta">

10 <span>Rilasci <a href="/it/docs/changelog#2-1-185">v2.1.185 → v2.1.193</a></span>

11 <span>2 funzionalità · 22–26 giugno</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Autenticate i server MCP dalla CLI</span>

17 <span className="digest-feature-pill">v2.1.186</span>

18 </div>

19 

20 <p className="digest-feature-lede">I nuovi comandi `claude mcp login <name>` e `claude mcp logout <name>` autenticano un server MCP configurato dalla vostra shell invece dal menu interattivo <code>/mcp</code>. `claude mcp login` esegue il flusso OAuth del server direttamente, e `claude mcp logout` cancella le credenziali archiviate.</p>

21 

22 <p className="digest-feature-try">Eseguite il flusso OAuth per un server configurato senza aprire una sessione:</p>

23 

24 ```bash terminal theme={null}

25 claude mcp login sentry

26 ```

27 

28 <a className="digest-feature-link" href="/it/docs/mcp#authenticate-from-the-command-line">Autenticate dalla riga di comando</a>

29</div>

30 

31<div className="digest-feature">

32 <div className="digest-feature-header">

33 <span className="digest-feature-title">La modalità shell risponde all'output del comando</span>

34 <span className="digest-feature-pill">v2.1.186</span>

35 </div>

36 

37 <p className="digest-feature-lede">I comandi che eseguite con il prefisso <code>!</code> ora ricevono una risposta da Claude una volta che l'output arriva nella trascrizione, quindi potete eseguire <code>! npm test</code> e ottenere una spiegazione dei fallimenti senza un secondo prompt. La risposta costa lo stesso dell'invio di un prompt normale. Per mantenere il comportamento precedente, dove l'output viene aggiunto al contesto senza una risposta, impostate <code>respondToBashCommands</code> a <code>false</code> in <code>settings.json</code>.</p>

38 

39 <p className="digest-feature-try">Eseguite un comando e ottenete una risposta al suo output:</p>

40 

41 ```text Claude Code theme={null}

42 > ! npm test

43 ```

44 

45 <a className="digest-feature-link" href="/it/docs/interactive-mode#shell-mode-with-prefix">Modalità shell con il prefisso !</a>

46</div>

47 

48<div className="digest-wins">

49 <p className="digest-wins-title">Altri vantaggi</p>

50 

51 <div className="digest-wins-grid">

52 <div><code>/rewind</code> può ora riprendere una conversazione da prima che <code>/clear</code> fosse eseguito</div>

53 <div>La nuova impostazione <code>sandbox.credentials</code> impedisce ai comandi in sandbox di leggere i file di credenziali e le variabili di ambiente segrete</div>

54 <div>Le restrizioni del modello configurate dall'organizzazione ora si applicano al selettore di modelli, `--model`, <code>/model</code>, e <code>ANTHROPIC\_MODEL</code>, con un messaggio "limitato dalle impostazioni della vostra organizzazione" quando viene selezionato un modello limitato</div>

55 <div>La nuova impostazione <code>autoMode.classifyAllShell</code> instrada tutti i comandi Bash e PowerShell attraverso il classificatore della modalità automatica, e i motivi del rifiuto ora vengono visualizzati nella trascrizione, nel toast di rifiuto, e in <code>/permissions</code></div>

56 <div>Il nuovo evento di log OpenTelemetry <code>claude\_code.assistant\_response</code> contiene il testo della risposta del modello; i deployment che già registrano il contenuto del prompt iniziano a riceverlo all'aggiornamento, quindi impostate <code>OTEL\_LOG\_ASSISTANT\_RESPONSES=0</code> per mantenere solo i prompt</div>

57 <div>I subagentti in background ora visualizzano i prompt di autorizzazione nella sessione principale invece di negarli automaticamente; la finestra di dialogo mostra quale agente sta chiedendo, e Esc nega solo quello strumento</div>

58 <div><code>/install-github-app</code> può ora installare solo l'App GitHub e saltare i passaggi del flusso di lavoro Actions e dei segreti</div>

59 <div>Gli host che consentite nella finestra di dialogo di autorizzazione della rete sandbox vengono ricordati per il resto della sessione invece di ripetere il prompt ad ogni connessione</div>

60 <div>Le risposte in streaming utilizzano circa il 37% di CPU in meno, e la crescita della memoria della sessione lunga dalla cache dell'output del terminale è ridotta</div>

61 <div>`/review <pr>` ora utilizza lo stesso motore di revisione di <code>/code-review medium</code></div>

62 <div>I comandi <code>!</code> della modalità Bash ottengono l'autocompletamento del percorso file in tempo reale</div>

63 </div>

64</div>

65 

66[Changelog completo per v2.1.185–v2.1.193 →](/it/changelog#2-1-185)

workflows.md +2 −0

Details

68 68 

69 <Step title="Leggere il rapporto">69 <Step title="Leggere il rapporto">

70 Quando l'esecuzione finisce, il rapporto arriva nella tua sessione. Cita le fonti da cui proviene ogni affermazione, con affermazioni che non hanno superato la verifica incrociata già filtrate.70 Quando l'esecuzione finisce, il rapporto arriva nella tua sessione. Cita le fonti da cui proviene ogni affermazione, con affermazioni che non hanno superato la verifica incrociata già filtrate.

71 

72 {/* min-version: 2.1.196 */}A partire da v2.1.196, quando gli agenti verificatori non riescono a controllare un'affermazione, ad esempio dopo un limite di velocità o un errore API, il rapporto elenca tale affermazione come non verificata invece di contarla come confutata.

71 </Step>73 </Step>

72</Steps>74</Steps>

73 75