SpyBara
Go Premium

Documentation 2026-09-09 22:58 UTC to 2026-09-10 23:00 UTC

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

248La telemetria è strutturale per impostazione predefinita. Durate, nomi dei modelli e nomi degli strumenti vengono registrati su ogni span; i conteggi dei token vengono registrati quando la richiesta API sottostante restituisce dati di utilizzo, quindi gli span per richieste non riuscite o interrotte possono ometterli. Il contenuto che il tuo agente legge e scrive non viene registrato per impostazione predefinita. Queste variabili opt-in aggiungono contenuto ai dati esportati:248La telemetria è strutturale per impostazione predefinita. Durate, nomi dei modelli e nomi degli strumenti vengono registrati su ogni span; i conteggi dei token vengono registrati quando la richiesta API sottostante restituisce dati di utilizzo, quindi gli span per richieste non riuscite o interrotte possono ometterli. Il contenuto che il tuo agente legge e scrive non viene registrato per impostazione predefinita. Queste variabili opt-in aggiungono contenuto ai dati esportati:

249 249 

250| Variabile | Aggiunge |250| Variabile | Aggiunge |

251| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |251| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

252| `OTEL_LOG_USER_PROMPTS=1` | Testo del prompt su eventi `claude_code.user_prompt` e sullo span `claude_code.interaction` |252| `OTEL_LOG_USER_PROMPTS=1` | Testo del prompt su eventi `claude_code.user_prompt` e sullo span `claude_code.interaction` |

253| `OTEL_LOG_TOOL_DETAILS=1` | Argomenti di input dello strumento (percorsi di file, comandi shell, pattern di ricerca) su eventi `claude_code.tool_result` |253| `OTEL_LOG_TOOL_DETAILS=1` | Argomenti di input dello strumento (percorsi di file, comandi shell, pattern di ricerca) su eventi `claude_code.tool_result` |

254| `OTEL_LOG_TOOL_CONTENT=1` | Corpi di input e output completi dello strumento come eventi span su `claude_code.tool`, troncati a 60 KB per impostazione predefinita, configurabili tramite `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, che richiede Claude Code v2.1.214 o successivo. Richiede che il [tracing](#read-agent-traces) sia abilitato |254| `OTEL_LOG_TOOL_CONTENT=1` | Corpi di input e output completi dello strumento come eventi span su `claude_code.tool`, troncati a 60 KB per impostazione predefinita, configurabili tramite `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, che richiede Claude Code v2.1.214 o successivo. Richiede che il [tracing](#read-agent-traces) sia abilitato |

255| `OTEL_LOG_RAW_API_BODIES` | Richiesta e risposta JSON complete dell'API Anthropic Messages come eventi di log `claude_code.api_request_body` e `claude_code.api_response_body`. Imposta su `1` per corpi inline troncati a 60 KB per impostazione predefinita, o `file:<dir>` per corpi non troncati su disco con un percorso `body_ref` nell'evento. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura il limite di troncamento inline, e richiede Claude Code v2.1.214 o successivo. I corpi includono l'intera cronologia della conversazione e hanno il contenuto del pensiero esteso redatto. L'abilitazione di questo implica il consenso a tutto ciò che le tre variabili sopra rivelerebbero |255| `OTEL_LOG_RAW_API_BODIES` | Richiesta e risposta JSON complete dell'API Anthropic Messages come eventi di log `claude_code.api_request_body` e `claude_code.api_response_body`. Imposta su `1` per corpi inline troncati a 60 KB per impostazione predefinita, o `file:<dir>` per corpi non troncati su disco con un percorso `body_ref` nell'evento. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configura il limite di troncamento inline, e richiede Claude Code v2.1.214 o successivo. I corpi includono l'intera cronologia della conversazione e hanno il contenuto del pensiero esteso oscurato. L'abilitazione di questo implica il consenso a tutto ciò che le tre variabili sopra rivelerebbero |

256 256 

257Lascia questi non impostati a meno che la tua pipeline di osservabilità non sia approvata per archiviare i dati che il tuo agente gestisce. Vedi [Security and privacy](/docs/it/monitoring-usage#security-and-privacy) nel riferimento Monitoring per l'elenco completo degli attributi e il comportamento di redazione.257Lascia questi non impostati a meno che la tua pipeline di osservabilità non sia approvata per archiviare i dati che il tuo agente gestisce. Vedi [Security and privacy](/docs/it/monitoring-usage#security-and-privacy) nel riferimento Monitoring per l'elenco completo degli attributi e il comportamento di oscuramento.

258 258 

259<h2 id="related-documentation">259<h2 id="related-documentation">

260 Documentazione correlata260 Documentazione correlata

Details

3166<Note>3166<Note>

3167 Su Python Agent SDK 0.2.139 e successivi, si applica la seguente restrizione.3167 Su Python Agent SDK 0.2.139 e successivi, si applica la seguente restrizione.

3168 3168 

3169 The following tools aren't available on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, or later versions of those families unless you opt in:3169 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:

3170 3170 

3171 * `TodoWrite`3171 * `TodoWrite`

3172 * `TaskCreate`3172 * `TaskCreate`


3174 * `TaskUpdate`3174 * `TaskUpdate`

3175 * `TaskList`3175 * `TaskList`

3176 3176 

3177 On other models, Claude Code provides the Task tools by default and `TodoWrite` only when you set `CLAUDE_CODE_ENABLE_TASKS=0`.3177 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.

3178 

3179 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.

3178 3180 

3179 Vedi [Disponibilità del modello](/docs/it/agent-sdk/todo-tracking#model-availability) per aderire.3181 Vedi [Disponibilità del modello](/docs/it/agent-sdk/todo-tracking#model-availability) per aderire.

3180</Note>3182</Note>

Details

17<Note>17<Note>

18 Su TypeScript Agent SDK 0.3.233 e successivi, o Python Agent SDK 0.2.139 e successivi, si applica la seguente restrizione.18 Su TypeScript Agent SDK 0.3.233 e successivi, o Python Agent SDK 0.2.139 e successivi, si applica la seguente restrizione.

19 19 

20 The following tools aren't available on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, or later versions of those families unless you opt in:20 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:

21 21 

22 * `TodoWrite`22 * `TodoWrite`

23 * `TaskCreate`23 * `TaskCreate`


25 * `TaskUpdate`25 * `TaskUpdate`

26 * `TaskList`26 * `TaskList`

27 27 

28 On other models, Claude Code provides the Task tools by default and `TodoWrite` only when you set `CLAUDE_CODE_ENABLE_TASKS=0`.28 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.

29 

30 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.

29</Note>31</Note>

30 32 

31Sui modelli elencati, a meno che non abiliti una sessione, non vedi blocchi `tool_use` per gli strumenti nel flusso dei messaggi. L'Agent SDK applica questi valori predefiniti attraverso il binario Claude Code che raggruppa. Se punti `pathToClaudeCodeExecutable` (TypeScript) o `cli_path` (Python) alla tua installazione di Claude Code, ottieni gli strumenti che quella installazione fornisce, secondo i suoi valori predefiniti. Per vedere l'insieme esatto in una sessione in esecuzione, [controlla quali strumenti sono disponibili](/docs/it/tools-reference#check-which-tools-are-available). Per abilitare una sessione, fai uno dei seguenti:33Sui modelli elencati, a meno che non abiliti una sessione, non vedi blocchi `tool_use` per gli strumenti nel flusso dei messaggi. L'Agent SDK applica questi valori predefiniti attraverso il binario Claude Code che raggruppa. Se punti `pathToClaudeCodeExecutable` (TypeScript) o `cli_path` (Python) alla tua installazione di Claude Code, ottieni gli strumenti che quella installazione fornisce, secondo i suoi valori predefiniti. Per vedere l'insieme esatto in una sessione in esecuzione, [controlla quali strumenti sono disponibili](/docs/it/tools-reference#check-which-tools-are-available). Per abilitare una sessione, fai uno dei seguenti:

Details

103 103 

104Se apt segnala `E: Unsupported file ./claude-desktop_*.deb given on commandline`, il pattern non ha corrisposto a un file `.deb` nella directory corrente. Conferma che il download sia completato, quindi esegui di nuovo il comando dalla directory che contiene il file.104Se apt segnala `E: Unsupported file ./claude-desktop_*.deb given on commandline`, il pattern non ha corrisposto a un file `.deb` nella directory corrente. Conferma che il download sia completato, quindi esegui di nuovo il comando dalla directory che contiene il file.

105 105 

106L'installazione del `.deb` registra anche il repository apt di Anthropic in `/etc/apt/sources.list.d/claude-desktop.list`, quindi gli aggiornamenti futuri arrivano con gli [aggiornamenti regolari dei pacchetti](#install) del tuo sistema.106L'installazione del `.deb` registra anche il repository apt di Anthropic in `/etc/apt/sources.list.d/claude-desktop.list`, quindi gli aggiornamenti futuri arrivano con gli [aggiornamenti regolari dei pacchetti](#update) del tuo sistema.

107 107 

108<h2 id="update">108<h2 id="update">

109 Aggiorna109 Aggiorna

Details

17Claude Code offers three ways to schedule recurring or one-off work:17Claude Code offers three ways to schedule recurring or one-off work:

18 18 

19| | [Cloud](/docs/en/routines) | [Desktop](/docs/en/desktop-scheduled-tasks) | [`/loop`](/docs/en/scheduled-tasks) |19| | [Cloud](/docs/en/routines) | [Desktop](/docs/en/desktop-scheduled-tasks) | [`/loop`](/docs/en/scheduled-tasks) |

20| :------------------------- | :---------------------------------- | :------------------------------------- | :---------------------------------- |20| :------------------------- | :---------------------------------- | :------------------------------------- | :------------------------------------------------------------------------- |

21| Runs on | Cloud, Anthropic-managed by default | Your machine | Your machine |21| Runs on | Cloud, Anthropic-managed by default | Your machine | Your machine |

22| Requires machine on | No | Yes | Yes |22| Requires machine on | No | Yes | Yes |

23| Requires open session | No | No | Yes |23| Requires open session | No | No | Yes |

24| Persistent across restarts | Yes | Yes | Restored on `--resume` if unexpired |24| Persistent across restarts | Yes | Yes | Restored on `--resume`, with [exceptions](/docs/en/scheduled-tasks#limitations) |

25| Access to local files | No (fresh clone) | Yes | Yes |25| Access to local files | No (fresh clone) | Yes | Yes |

26| MCP servers | Connectors configured per task | [Config files](/docs/en/mcp) and connectors | Inherits from session |26| MCP servers | Connectors configured per task | [Config files](/docs/en/mcp) and connectors | Inherits from session |

27| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |27| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |

Details

120| `OTEL_METRIC_EXPORT_INTERVAL` | Intervallo di esportazione in millisecondi (predefinito: 60000) | `5000`, `60000` |120| `OTEL_METRIC_EXPORT_INTERVAL` | Intervallo di esportazione in millisecondi (predefinito: 60000) | `5000`, `60000` |

121| `OTEL_LOGS_EXPORT_INTERVAL` | Intervallo di esportazione dei log in millisecondi (predefinito: 5000) | `1000`, `10000` |121| `OTEL_LOGS_EXPORT_INTERVAL` | Intervallo di esportazione dei log in millisecondi (predefinito: 5000) | `1000`, `10000` |

122| `OTEL_LOG_USER_PROMPTS` | Abilita la registrazione del contenuto del prompt dell'utente (predefinito: disabilitato) | `1` per abilitare |122| `OTEL_LOG_USER_PROMPTS` | Abilita la registrazione del contenuto del prompt dell'utente (predefinito: disabilitato) | `1` per abilitare |

123| `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`. Richiede Claude Code v2.1.193 o successivo | `1` per abilitare, `0` per mantenere redatto |123| `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`. Richiede Claude Code v2.1.193 o successivo | `1` per abilitare, `0` per mantenerlo oscurato |

124| `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). Per i server integrati di Claude Desktop, nelle sessioni di proprietà di Claude Desktop, `mcp_server_name`/`mcp_tool_name` vengono emessi su `tool_decision`/`tool_result` anche con il flag disattivato. L'eccezione richiede Claude Code v2.1.214 o successivo | `1` per abilitare |124| `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 e degli strumenti MCP, nomi delle skill, nomi dei workflow creati dall'utente e input degli strumenti. Abilita anche i nomi dei comandi personalizzati, plugin e MCP negli eventi `user_prompt` (predefinito: disabilitato). Per i server integrati di Claude Desktop, nelle sessioni di proprietà di Claude Desktop, `mcp_server_name`/`mcp_tool_name` vengono emessi su `tool_decision`/`tool_result` anche con il flag disattivato. L'eccezione richiede Claude Code v2.1.214 o successivo | `1` per abilitare |

125| `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 al limite di contenuto (60 KB per impostazione predefinita) | `1` per abilitare |125| `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 al limite di contenuto (60 KB per impostazione predefinita) | `1` per abilitare |

126| `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 al limite di contenuto (60 KB per impostazione predefinita), o `file:<dir>` per corpi non troncati su disco con un puntatore `body_ref` nell'evento |126| `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 al limite di contenuto (60 KB per impostazione predefinita), o `file:<dir>` per corpi non troncati su disco con un puntatore `body_ref` nell'evento |

127| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Limite di contenuto: la lunghezza massima degli attributi che portano contenuto come risposte del modello, contenuto dello strumento, prompt di sistema e corpi API grezzi, marcatore di troncamento incluso, in unità di codice UTF-16 (predefinito: 61440, cioè 60 KB). Il predefinito è dimensionato per backend che limitano i valori degli attributi a 64 KB; aumentalo solo se il tuo backend accetta valori più grandi, o riducilo per tagliare il volume della telemetria. Quando un limite di attributo dell'SDK OpenTelemetry, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` o uno dei suoi varianti logrecord e span, è impostato più basso, Claude Code tronca a quel valore più piccolo in modo che il marcatore `[TRUNCATED ...]` rimanga entro il limite dell'SDK. Richiede Claude Code v2.1.214 o successivo | `262144` |127| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Limite di contenuto: la lunghezza massima degli attributi che portano contenuto come risposte del modello, contenuto dello strumento, prompt di sistema e corpi API grezzi, marcatore di troncamento incluso, in unità di codice UTF-16 (predefinito: 61440, cioè 60 KB). Il predefinito è dimensionato per backend che limitano i valori degli attributi a 64 KB; aumentalo solo se il tuo backend accetta valori più grandi, o riducilo per tagliare il volume della telemetria. Quando un limite di attributo dell'SDK OpenTelemetry, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` o uno dei suoi varianti logrecord e span, è impostato più basso, Claude Code tronca a quel valore più piccolo in modo che il marcatore `[TRUNCATED ...]` rimanga entro il limite dell'SDK. Richiede Claude Code v2.1.214 o successivo | `262144` |


176| `OTEL_EXPORTER_OTLP_TRACES_HEADERS` | Intestazioni di autenticazione per le tracce, unite con `OTEL_EXPORTER_OTLP_HEADERS` | `Authorization=Bearer token` |176| `OTEL_EXPORTER_OTLP_TRACES_HEADERS` | Intestazioni di autenticazione per le tracce, unite con `OTEL_EXPORTER_OTLP_HEADERS` | `Authorization=Bearer token` |

177| `OTEL_TRACES_EXPORT_INTERVAL` | Intervallo di esportazione batch degli span in millisecondi (predefinito: 5000) | `1000`, `10000` |177| `OTEL_TRACES_EXPORT_INTERVAL` | Intervallo di esportazione batch degli span in millisecondi (predefinito: 5000) | `1000`, `10000` |

178 178 

179Gli span redattano il testo del prompt dell'utente, i dettagli di input dello strumento e il contenuto dello strumento per impostazione predefinita. Imposta `OTEL_LOG_USER_PROMPTS=1`, `OTEL_LOG_TOOL_DETAILS=1`, e `OTEL_LOG_TOOL_CONTENT=1` per includerli.179Gli span oscurano il testo del prompt dell'utente, i dettagli di input dello strumento e il contenuto dello strumento per impostazione predefinita. Imposta `OTEL_LOG_USER_PROMPTS=1`, `OTEL_LOG_TOOL_DETAILS=1`, e `OTEL_LOG_TOOL_CONTENT=1` per includerli.

180 180 

181Quando la traccia è attiva, i sottoprocessi Bash e PowerShell ereditano automaticamente una variabile di ambiente `TRACEPARENT` contenente il contesto di traccia W3C dello span di esecuzione dello strumento attivo. Ciò consente a qualsiasi sottoprocesso che legge `TRACEPARENT` di far diventare i propri span figli della stessa traccia, abilitando la traccia distribuita end-to-end attraverso script e comandi che Claude esegue.181Quando la traccia è attiva, i sottoprocessi Bash e PowerShell ereditano automaticamente una variabile di ambiente `TRACEPARENT` contenente il contesto di traccia W3C dello span di esecuzione dello strumento attivo. Ciò consente a qualsiasi sottoprocesso che legge `TRACEPARENT` di far diventare i propri span figli della stessa traccia, abilitando la traccia distribuita end-to-end attraverso script e comandi che Claude esegue.

182 182 


598* `plugin.name`: Plugin proprietario quando la skill attiva o il subagent è fornito da un plugin. I nomi dei plugin del marketplace ufficiale vengono visualizzati così come sono. I nomi dei plugin di terze parti vengono sostituiti con `"third-party"`. Assente quando né la skill né il subagent hanno un plugin proprietario.598* `plugin.name`: Plugin proprietario quando la skill attiva o il subagent è fornito da un plugin. I nomi dei plugin del marketplace ufficiale vengono visualizzati così come sono. I nomi dei plugin di terze parti vengono sostituiti con `"third-party"`. Assente quando né la skill né il subagent hanno un plugin proprietario.

599* `marketplace.name`: Marketplace da cui è stato installato il plugin proprietario. Emesso solo per i plugin del marketplace ufficiale. Assente altrimenti.599* `marketplace.name`: Marketplace da cui è stato installato il plugin proprietario. Emesso solo per i plugin del marketplace ufficiale. Assente altrimenti.

600* `mcp_server.name`: Server MCP il cui risultato dello strumento questa richiesta ha consumato. I nomi dei server incorporati, proxy di claude.ai, e del registro ufficiale vengono visualizzati così come sono. I nomi dei server configurati dall'utente vengono sostituiti con `"custom"`. Assente quando la richiesta non ha consumato alcun risultato dello strumento MCP. Prima della v2.1.222, Claude Code impostava questo attributo su ogni richiesta dopo una chiamata dello strumento MCP, non solo su richieste che hanno consumato un risultato dello strumento, quindi i dashboard che lo aggregano mostrano un calo dopo l'aggiornamento.600* `mcp_server.name`: Server MCP il cui risultato dello strumento questa richiesta ha consumato. I nomi dei server incorporati, proxy di claude.ai, e del registro ufficiale vengono visualizzati così come sono. I nomi dei server configurati dall'utente vengono sostituiti con `"custom"`. Assente quando la richiesta non ha consumato alcun risultato dello strumento MCP. Prima della v2.1.222, Claude Code impostava questo attributo su ogni richiesta dopo una chiamata dello strumento MCP, non solo su richieste che hanno consumato un risultato dello strumento, quindi i dashboard che lo aggregano mostrano un calo dopo l'aggiornamento.

601* `mcp_tool.name`: Strumento MCP il cui risultato questa richiesta ha consumato, con la stessa redazione e comportamento della versione di `mcp_server.name`. Assente quando la richiesta non ha consumato alcun risultato dello strumento MCP.601* `mcp_tool.name`: Strumento MCP il cui risultato questa richiesta ha consumato, con lo stesso comportamento di oscuramento e di versione di `mcp_server.name`. Assente quando la richiesta non ha consumato alcun risultato dello strumento MCP.

602 602 

603<h4 id="token-counter">603<h4 id="token-counter">

604 Contatore di token604 Contatore di token


614* `query_source`: Categoria del sottosistema che ha emesso la richiesta. Uno di `"main"`, `"subagent"`, o `"auxiliary"`614* `query_source`: Categoria del sottosistema che ha emesso la richiesta. Uno di `"main"`, `"subagent"`, o `"auxiliary"`

615* `speed`: `"fast"` quando la richiesta ha utilizzato la modalità veloce. Assente altrimenti615* `speed`: `"fast"` quando la richiesta ha utilizzato la modalità veloce. Assente altrimenti

616* `effort`: [Livello di sforzo](/docs/it/model-config#adjust-effort-level) applicato alla richiesta. Vedi [Contatore di costo](#cost-counter) per i dettagli.616* `effort`: [Livello di sforzo](/docs/it/model-config#adjust-effort-level) applicato alla richiesta. Vedi [Contatore di costo](#cost-counter) per i dettagli.

617* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Attribuzione di skill, plugin, agente e MCP per la richiesta. Vedi [Contatore di costo](#cost-counter) per le definizioni e il comportamento di redazione.617* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Attribuzione di skill, plugin, agente e MCP per la richiesta. Vedi [Contatore di costo](#cost-counter) per le definizioni e il comportamento di oscuramento.

618 618 

619<h4 id="code-edit-tool-decision-counter">619<h4 id="code-edit-tool-decision-counter">

620 Contatore di decisione dello strumento di modifica del codice620 Contatore di decisione dello strumento di modifica del codice


682* `event.timestamp`: Timestamp ISO 8601682* `event.timestamp`: Timestamp ISO 8601

683* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione683* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione

684* `prompt_length`: Lunghezza del prompt684* `prompt_length`: Lunghezza del prompt

685* `prompt`: Contenuto del prompt. Redatto per impostazione predefinita. Imposta `OTEL_LOG_USER_PROMPTS=1` per includerlo685* `prompt`: Contenuto del prompt. Oscurato per impostazione predefinita. Imposta `OTEL_LOG_USER_PROMPTS=1` per includerlo

686* `message.uuid`: UUID del messaggio utente risultante, corrispondente alla voce della trascrizione persistente. Assente nei dispatching dei comandi, che possono produrre zero o molti messaggi. Richiede Claude Code v2.1.214 o successivo686* `message.uuid`: UUID del messaggio utente risultante, corrispondente alla voce della trascrizione persistente. Assente nei dispatching dei comandi, che possono produrre zero o molti messaggi. Richiede Claude Code v2.1.214 o successivo

687* `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 impostato687* `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

688* `command_source`: Origine del comando quando presente: `builtin`, `custom`, o `mcp`. I comandi forniti dai plugin vengono segnalati come `custom`688* `command_source`: Origine del comando quando presente: `builtin`, `custom`, o `mcp`. I comandi forniti dai plugin vengono segnalati come `custom`


702* `event.timestamp`: Timestamp ISO 8601702* `event.timestamp`: Timestamp ISO 8601

703* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione703* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione

704* `response_length`: Lunghezza del testo della risposta in caratteri704* `response_length`: Lunghezza del testo della risposta in caratteri

705* `response`: Testo della risposta, troncato al limite di contenuto (60 KB per impostazione predefinita). 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 è attiva705* `response`: Testo della risposta, troncato al limite di contenuto (60 KB per impostazione predefinita). Sostituito con `<REDACTED>` per impostazione predefinita. Imposta `OTEL_LOG_ASSISTANT_RESPONSES=1` per includerlo. Quando `OTEL_LOG_ASSISTANT_RESPONSES` non è impostato, `OTEL_LOG_USER_PROMPTS` lo controlla invece, quindi imposta `OTEL_LOG_ASSISTANT_RESPONSES=0` per mantenere le risposte oscurate mentre la registrazione dei prompt è attiva

706* `model`: Identificatore del modello (ad esempio, "claude-sonnet-5")706* `model`: Identificatore del modello (ad esempio, "claude-sonnet-5")

707* `request_id`: ID della richiesta API Anthropic dall'intestazione `request-id` della risposta. Presente solo quando l'API ne restituisce uno707* `request_id`: ID della richiesta API Anthropic dall'intestazione `request-id` della risposta. Presente solo quando l'API ne restituisce uno

708* `message.uuid`: UUID della voce della trascrizione finale della risposta. Una risposta API viene persistita come una voce della trascrizione per blocco di contenuto; questa è l'ultima, da cui la `parentUuid` del turno successivo si collega. Richiede Claude Code v2.1.214 o successivo708* `message.uuid`: UUID della voce della trascrizione finale della risposta. Una risposta API viene persistita come una voce della trascrizione per blocco di contenuto; questa è l'ultima, da cui la `parentUuid` del turno successivo si collega. Richiede Claude Code v2.1.214 o successivo


767* `speed`: `"fast"` o `"normal"`, indicando se la modalità veloce era attiva767* `speed`: `"fast"` o `"normal"`, indicando se la modalità veloce era attiva

768* `query_source`: Sottosistema che ha emesso la richiesta, come `"repl_main_thread"`, `"compact"`, o un nome di subagent768* `query_source`: Sottosistema che ha emesso la richiesta, come `"repl_main_thread"`, `"compact"`, o un nome di subagent

769* `effort`: [Livello di sforzo](/docs/it/model-config#adjust-effort-level) applicato alla richiesta: `"low"`, `"medium"`, `"high"`, `"xhigh"`, o `"max"`. Assente quando il modello non supporta lo sforzo.769* `effort`: [Livello di sforzo](/docs/it/model-config#adjust-effort-level) applicato alla richiesta: `"low"`, `"medium"`, `"high"`, `"xhigh"`, o `"max"`. Assente quando il modello non supporta lo sforzo.

770* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Attribuzione di skill, plugin, agente e MCP per la richiesta. Vedi [Contatore di costo](#cost-counter) per le definizioni e il comportamento di redazione.770* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Attribuzione di skill, plugin, agente e MCP per la richiesta. Vedi [Contatore di costo](#cost-counter) per le definizioni e il comportamento di oscuramento.

771 771 

772<h4 id="api-error-event">772<h4 id="api-error-event">

773 Evento di errore API773 Evento di errore API


793* `speed`: `"fast"` o `"normal"`, indicando se la modalità veloce era attiva793* `speed`: `"fast"` o `"normal"`, indicando se la modalità veloce era attiva

794* `query_source`: Sottosistema che ha emesso la richiesta, come `"repl_main_thread"`, `"compact"`, o un nome di subagent794* `query_source`: Sottosistema che ha emesso la richiesta, come `"repl_main_thread"`, `"compact"`, o un nome di subagent

795* `effort`: [Livello di sforzo](/docs/it/model-config#adjust-effort-level) applicato alla richiesta. Assente quando il modello non supporta lo sforzo.795* `effort`: [Livello di sforzo](/docs/it/model-config#adjust-effort-level) applicato alla richiesta. Assente quando il modello non supporta lo sforzo.

796* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Attribuzione di skill, plugin, agente e MCP per la richiesta. Vedi [Contatore di costo](#cost-counter) per le definizioni e il comportamento di redazione.796* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Attribuzione di skill, plugin, agente e MCP per la richiesta. Vedi [Contatore di costo](#cost-counter) per le definizioni e il comportamento di oscuramento.

797 797 

798<h4 id="api-refusal-event">798<h4 id="api-refusal-event">

799 Evento di rifiuto API799 Evento di rifiuto API


819* `has_category`: `true` quando la risposta API ha portato una `stop_details.category` di `"cyber"`, `"bio"`, `"frontier_llm"`, o `"reasoning_extraction"`. `false` quando la risposta non ha portato alcuna categoria o un valore al di fuori di quel set. Assente quando `server_fallback_hop` è `true`, perché i blocchi hop non portano `stop_details`.819* `has_category`: `true` quando la risposta API ha portato una `stop_details.category` di `"cyber"`, `"bio"`, `"frontier_llm"`, o `"reasoning_extraction"`. `false` quando la risposta non ha portato alcuna categoria o un valore al di fuori di quel set. Assente quando `server_fallback_hop` è `true`, perché i blocchi hop non portano `stop_details`.

820* `has_explanation`: `true` quando la risposta API ha portato una `stop_details.explanation`, altrimenti `false`. Assente quando `server_fallback_hop` è `true`.820* `has_explanation`: `true` quando la risposta API ha portato una `stop_details.explanation`, altrimenti `false`. Assente quando `server_fallback_hop` è `true`.

821* `category`: Il valore `stop_details.category` dalla risposta API. Uno di `"cyber"`, `"bio"`, `"frontier_llm"`, o `"reasoning_extraction"`. Presente solo quando `OTEL_LOG_TOOL_DETAILS=1` è impostato e `has_category` è `true`.821* `category`: Il valore `stop_details.category` dalla risposta API. Uno di `"cyber"`, `"bio"`, `"frontier_llm"`, o `"reasoning_extraction"`. Presente solo quando `OTEL_LOG_TOOL_DETAILS=1` è impostato e `has_category` è `true`.

822* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Attribuzione di skill, plugin, agente e MCP per la richiesta. Vedi [Contatore di costo](#cost-counter) per le definizioni e il comportamento di redazione.822* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Attribuzione di skill, plugin, agente e MCP per la richiesta. Vedi [Contatore di costo](#cost-counter) per le definizioni e il comportamento di oscuramento.

823 823 

824<h4 id="api-request-body-event">824<h4 id="api-request-body-event">

825 Evento di corpo della richiesta API825 Evento di corpo della richiesta API


835* `event.name`: `"api_request_body"`835* `event.name`: `"api_request_body"`

836* `event.timestamp`: Timestamp ISO 8601836* `event.timestamp`: Timestamp ISO 8601

837* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione837* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione

838* `body`: Parametri della richiesta dell'API Messages serializzati in JSON, come il prompt di sistema, i messaggi e gli strumenti, troncati al limite di contenuto (60 KB per impostazione predefinita). Il contenuto del pensiero esteso nei turni dell'assistente precedenti viene redatto. Emesso solo in modalità inline (`OTEL_LOG_RAW_API_BODIES=1`).838* `body`: Parametri della richiesta dell'API Messages serializzati in JSON, come il prompt di sistema, i messaggi e gli strumenti, troncati al limite di contenuto (60 KB per impostazione predefinita). Il contenuto del pensiero esteso nei turni precedenti dell'assistente viene oscurato. Emesso solo in modalità inline (`OTEL_LOG_RAW_API_BODIES=1`).

839* `body_ref`: Percorso assoluto a un file `<dir>/<uuid>.request.json` contenente il corpo non troncato. Emesso solo in modalità file (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).839* `body_ref`: Percorso assoluto a un file `<dir>/<uuid>.request.json` contenente il corpo non troncato. Emesso solo in modalità file (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).

840* `body_length`: Lunghezza del corpo non troncato. Byte UTF-8 quando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unità di codice UTF-16 quando `=1`840* `body_length`: Lunghezza del corpo non troncato. Byte UTF-8 quando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unità di codice UTF-16 quando `=1`

841* `body_truncated`: `"true"` quando si è verificato il troncamento inline. Assente in modalità file e quando non si è verificato alcun troncamento.841* `body_truncated`: `"true"` quando si è verificato il troncamento inline. Assente in modalità file e quando non si è verificato alcun troncamento.


856* `event.name`: `"api_response_body"`856* `event.name`: `"api_response_body"`

857* `event.timestamp`: Timestamp ISO 8601857* `event.timestamp`: Timestamp ISO 8601

858* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione858* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione

859* `body`: Risposta dell'API Messages serializzata in JSON, inclusi l'id, i blocchi di contenuto, l'utilizzo e il motivo di arresto, troncata al limite di contenuto (60 KB per impostazione predefinita). Il contenuto del pensiero esteso viene redatto. Emesso solo in modalità inline (`OTEL_LOG_RAW_API_BODIES=1`).859* `body`: Risposta dell'API Messages serializzata in JSON, inclusi l'id, i blocchi di contenuto, l'utilizzo e il motivo di arresto, troncata al limite di contenuto (60 KB per impostazione predefinita). Il contenuto del pensiero esteso viene oscurato. Emesso solo in modalità inline (`OTEL_LOG_RAW_API_BODIES=1`).

860* `body_ref`: Percorso assoluto a un file `<dir>/<request_id>.response.json` contenente il corpo non troncato. Emesso solo in modalità file (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).860* `body_ref`: Percorso assoluto a un file `<dir>/<request_id>.response.json` contenente il corpo non troncato. Emesso solo in modalità file (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).

861* `body_length`: Lunghezza del corpo non troncato. Byte UTF-8 quando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unità di codice UTF-16 quando `=1`861* `body_length`: Lunghezza del corpo non troncato. Byte UTF-8 quando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unità di codice UTF-16 quando `=1`

862* `body_truncated`: `"true"` quando si è verificato il troncamento inline. Assente in modalità file e quando non si è verificato alcun troncamento.862* `body_truncated`: `"true"` quando si è verificato il troncamento inline. Assente in modalità file e quando non si è verificato alcun troncamento.


1014* `event.timestamp`: Timestamp ISO 86011014* `event.timestamp`: Timestamp ISO 8601

1015* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione1015* `event.sequence`: Contatore monotonicamente crescente per ordinare gli eventi all'interno di una sessione

1016* `plugin.name`: Nome del plugin. Per i plugin al di fuori del marketplace ufficiale e del bundle incorporato il valore è `"third-party"` a meno che `OTEL_LOG_TOOL_DETAILS=1`1016* `plugin.name`: Nome del plugin. Per i plugin al di fuori del marketplace ufficiale e del bundle incorporato il valore è `"third-party"` a meno che `OTEL_LOG_TOOL_DETAILS=1`

1017* `marketplace.name`: Marketplace da cui è stato installato il plugin, quando noto. Redatto a `"third-party"` nella stessa condizione di `plugin.name`1017* `marketplace.name`: Marketplace da cui è stato installato il plugin, quando noto. Sostituito con `"third-party"` nella stessa condizione di `plugin.name`

1018* `plugin.version`: Versione dal manifesto del plugin. Incluso solo quando il nome non è redatto e il manifesto dichiara una versione1018* `plugin.version`: Versione dal manifesto del plugin. Incluso solo quando il nome non è oscurato e il manifesto dichiara una versione

1019* `plugin.scope`: Categoria di provenienza per il plugin: `"official"`, `"community"`, `"org"`, `"user-local"`, o `"default-bundle"`1019* `plugin.scope`: Categoria di provenienza per il plugin: `"official"`, `"community"`, `"org"`, `"user-local"`, o `"default-bundle"`

1020* `enabled_via`: Come il plugin è stato abilitato: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"`, o `"user-install"`. Il valore `"admin-install"` significa che il plugin è impostato come obbligatorio o auto-installazione per la tua organizzazione in [**Impostazioni organizzazione > Plugin**](https://claude.ai/admin-settings/plugins). Prima della v2.1.246, Claude Code segnalava questi plugin come `"user-install"` o `"seed-mount"`1020* `enabled_via`: Come il plugin è stato abilitato: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"`, o `"user-install"`. Il valore `"admin-install"` significa che il plugin è impostato come obbligatorio o auto-installazione per la tua organizzazione in [**Impostazioni organizzazione > Plugin**](https://claude.ai/admin-settings/plugins). Prima della v2.1.246, Claude Code segnalava questi plugin come `"user-install"` o `"seed-mount"`

1021* `plugin_id_hash`: Hash deterministico del nome del plugin e del marketplace, inviato solo al tuo esportatore configurato. Ti consente di contare i plugin di terze parti distinti caricati nella tua flotta senza registrare i loro nomi. Per i [plugin sincronizzati da claude.ai](/docs/it/plugins-reference#synced-plugins), Claude Code esegue l'hash del nome del plugin con il nome del marketplace che claude.ai segnala per il plugin, o con `synced` altrimenti. Prima della v2.1.246, Claude Code non utilizzava il nome del marketplace che claude.ai segnala nell'hash1021* `plugin_id_hash`: Hash deterministico del nome del plugin e del marketplace, inviato solo al tuo esportatore configurato. Ti consente di contare i plugin di terze parti distinti caricati nella tua flotta senza registrare i loro nomi. Per i [plugin sincronizzati da claude.ai](/docs/it/plugins-reference#synced-plugins), Claude Code esegue l'hash del nome del plugin con il nome del marketplace che claude.ai segnala per il plugin, o con `synced` altrimenti. Prima della v2.1.246, Claude Code non utilizzava il nome del marketplace che claude.ai segnala nell'hash


1321 1321 

1322Tutte le metriche possono essere segmentate dagli [attributi standard](#standard-attributes). L'attributo `model` è disponibile su `claude_code.token.usage`, `claude_code.cost.usage`, e da v2.1.172, `claude_code.lines_of_code.count`.1322Tutte le metriche possono essere segmentate dagli [attributi standard](#standard-attributes). L'attributo `model` è disponibile su `claude_code.token.usage`, `claude_code.cost.usage`, e da v2.1.172, `claude_code.lines_of_code.count`.

1323 1323 

1324Per-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.1324Le suddivisioni per modello dei commit possono essere solo approssimate tramite un join con le metriche di token o di costo su `session.id`, poiché una sessione può estendersi su più modelli. Filtra il lato token o costo sulle righe in cui `query_source` è `"main"`, in modo che le richieste ausiliarie e dei subagent non attribuiscano i commit della sessione a un modello che non li ha effettuati.

1325 1325 

1326<h3 id="detect-retry-exhaustion">1326<h3 id="detect-retry-exhaustion">

1327 Rilevare l'esaurimento dei tentativi1327 Rilevare l'esaurimento dei tentativi


1382 1382 

1383Senza `OTEL_LOG_TOOL_DETAILS`, questi eventi riducono il dettaglio identificativo:1383Senza `OTEL_LOG_TOOL_DETAILS`, questi eventi riducono il dettaglio identificativo:

1384 1384 

1385* `tool_result`: mantiene `mcp_server_scope` e un `tool_name` redatto al letterale `"mcp_tool"` per i server configurati dall'utente, omette il contenuto degli argomenti. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, mantiene anche la coppia `mcp_server_name`/`mcp_tool_name` all'interno di `tool_parameters`, la stessa eccezione creata dall'host come `tool_decision`, richiedendo Claude Code v2.1.214 o successivo1385* `tool_result`: mantiene `mcp_server_scope` e un `tool_name` sostituito con il letterale `"mcp_tool"` per i server configurati dall'utente, omette il contenuto degli argomenti. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, mantiene anche la coppia `mcp_server_name`/`mcp_tool_name` all'interno di `tool_parameters`, la stessa eccezione creata dall'host come `tool_decision`, richiedendo Claude Code v2.1.214 o successivo

1386* `tool_decision`: mantiene `tool_source` e un `tool_name` redatto al letterale `"mcp_tool"` per i server configurati dall'utente, omette il contenuto degli argomenti. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, mantiene anche la coppia `mcp_server_name`/`mcp_tool_name` all'interno di `tool_parameters`; `tool_source` e la coppia di nomi richiedono entrambi Claude Code v2.1.214 o successivo1386* `tool_decision`: mantiene `tool_source` e un `tool_name` sostituito con il letterale `"mcp_tool"` per i server configurati dall'utente, omette il contenuto degli argomenti. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, mantiene anche la coppia `mcp_server_name`/`mcp_tool_name` all'interno di `tool_parameters`; `tool_source` e la coppia di nomi richiedono entrambi Claude Code v2.1.214 o successivo

1387* `mcp_server_connection`: omette `server_name` e il messaggio di errore, ma mantiene `is_plugin`, `plugin_id_hash`, e `plugin.name`, con i nomi dei plugin non Anthropic redatti al letterale `"third-party"`, in modo che i server forniti dai plugin rimangono distinguibili senza registrazione dettagliata1387* `mcp_server_connection`: omette `server_name` e il messaggio di errore, ma mantiene `is_plugin`, `plugin_id_hash`, e `plugin.name`, con i nomi dei plugin non Anthropic sostituiti con il letterale `"third-party"`, in modo che i server forniti dai plugin rimangano distinguibili senza registrazione dettagliata

1388 1388 

1389<h3 id="map-security-questions-to-events">1389<h3 id="map-security-questions-to-events">

1390 Mappa le domande di sicurezza agli eventi1390 Mappa le domande di sicurezza agli eventi


1486 1486 

1487* L'esportazione OpenTelemetry al tuo backend è opt-in e richiede una configurazione esplicita. Per la telemetria operazionale separata di Anthropic e come disabilitarla, vedi [Data usage](/docs/it/data-usage#telemetry-services)1487* L'esportazione OpenTelemetry al tuo backend è opt-in e richiede una configurazione esplicita. Per la telemetria operazionale separata di Anthropic e come disabilitarla, vedi [Data usage](/docs/it/data-usage#telemetry-services)

1488* 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 seguito1488* 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

1489* 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 campo1489* 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 oscurare questo campo

1490* 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`1490* 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`

1491* 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 risposta1491* 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

1492* Gli argomenti di input dello strumento e i parametri non vengono registrati per impostazione predefinita. Per includerli, imposta `OTEL_LOG_TOOL_DETAILS=1`. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, `tool_decision` e `tool_result` portano la coppia `mcp_server_name`/`mcp_tool_name`, nomi creati dall'host piuttosto che contenuto degli argomenti, anche con il flag disattivato. L'eccezione richiede Claude Code v2.1.214 o successivo. 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:1492* Gli argomenti di input dello strumento e i parametri non vengono registrati per impostazione predefinita. Per includerli, imposta `OTEL_LOG_TOOL_DETAILS=1`. Per i server integrati di Claude Desktop, nelle sessioni di cui Claude Desktop è proprietario, `tool_decision` e `tool_result` portano la coppia `mcp_server_name`/`mcp_tool_name`, nomi creati dall'host piuttosto che contenuto degli argomenti, anche con il flag disattivato. L'eccezione richiede Claude Code v2.1.214 o successivo. 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 oscurare questi attributi secondo necessità. Quando abilitato:

1493 * 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 troncati1493 * 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

1494 * 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 caratteri1494 * 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

1495 * Gli eventi `user_prompt` includono il `command_name` verbatim per i comandi personalizzati, plugin e MCP1495 * Gli eventi `user_prompt` includono il `command_name` verbatim per i comandi personalizzati, plugin e MCP

1496 * Gli span di traccia includono lo stesso attributo `tool_input` e attributi derivati dall'input come `file_path`, con lo stesso troncamento di `tool_input`1496 * Gli span di traccia includono lo stesso attributo `tool_input` e attributi derivati dall'input come `file_path`, con lo stesso troncamento di `tool_input`

1497* Il contenuto di input e output dello strumento non viene registrato negli span di traccia per impostazione predefinita. Per includerlo, imposta `OTEL_LOG_TOOL_CONTENT=1`. Quando abilitato, gli eventi di span includono il contenuto completo di input e output dello strumento troncato al limite di contenuto (60 KB per impostazione predefinita) per attributo. Questo può includere contenuti di file grezzi dai risultati dello strumento Read e output dei comandi Bash. Configura il tuo backend di telemetria per filtrare o redarre questi attributi secondo necessità1497* Il contenuto di input e output dello strumento non viene registrato negli span di traccia per impostazione predefinita. Per includerlo, imposta `OTEL_LOG_TOOL_CONTENT=1`. Quando abilitato, gli eventi di span includono il contenuto completo di input e output dello strumento troncato al limite di contenuto (60 KB per impostazione predefinita) per attributo. Questo può includere contenuti di file grezzi dai risultati dello strumento Read e output dei comandi Bash. Configura il tuo backend di telemetria per filtrare o oscurare questi attributi secondo necessità

1498* I corpi grezzi della richiesta e della risposta dell'API Anthropic Messages non vengono registrati per impostazione predefinita. Per includerli, imposta `OTEL_LOG_RAW_API_BODIES` nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Viene ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). I corpi contengono l'intera cronologia della conversazione, incluso il prompt di sistema, ogni turno precedente dell'utente e dell'assistente, e risultati degli strumenti, quindi l'abilitazione di questa opzione implica il consenso a tutto ciò che gli altri flag di contenuto `OTEL_LOG_*` rivelerebbero. Claude Code redige sempre il contenuto del pensiero esteso di Claude da questi corpi, indipendentemente da altre impostazioni. Il valore che imposti determina come Claude Code fornisce i corpi:1498* I corpi grezzi della richiesta e della risposta dell'API Anthropic Messages non vengono registrati per impostazione predefinita. Per includerli, imposta `OTEL_LOG_RAW_API_BODIES` nella tua shell, nelle impostazioni utente o nelle impostazioni gestite. Viene ignorato nelle [impostazioni di progetto e locali](/docs/it/settings-reference#variables-claude-code-ignores-in-env). I corpi contengono l'intera cronologia della conversazione, incluso il prompt di sistema, ogni turno precedente dell'utente e dell'assistente, e risultati degli strumenti, quindi l'abilitazione di questa opzione implica il consenso a tutto ciò che gli altri flag di contenuto `OTEL_LOG_*` rivelerebbero. Claude Code oscura sempre il contenuto del pensiero esteso di Claude in questi corpi, indipendentemente da altre impostazioni. Il valore che imposti determina come Claude Code fornisce i corpi:

1499 * Con `=1`, Claude Code emette eventi di log `api_request_body` e `api_response_body` per ogni chiamata API. L'attributo `body` degli eventi porta il payload serializzato in JSON, troncato al limite di contenuto (60 KB per impostazione predefinita)1499 * Con `=1`, Claude Code emette eventi di log `api_request_body` e `api_response_body` per ogni chiamata API. L'attributo `body` degli eventi porta il payload serializzato in JSON, troncato al limite di contenuto (60 KB per impostazione predefinita)

1500 * Con `=file:<dir>`, Claude Code scrive i corpi non troncati nei file `.request.json` e `.response.json` in quella directory, e gli eventi portano un percorso `body_ref` invece del corpo inline. Spedisci la directory con un log collector o sidecar piuttosto che attraverso il flusso di telemetria1500 * Con `=file:<dir>`, Claude Code scrive i corpi non troncati nei file `.request.json` e `.response.json` in quella directory, e gli eventi portano un percorso `body_ref` invece del corpo inline. Spedisci la directory con un log collector o sidecar piuttosto che attraverso il flusso di telemetria

1501 1501 

output-styles.md +19 −15

Details

6 6 

7> Adattare Claude Code per usi oltre l'ingegneria del software7> Adattare Claude Code per usi oltre l'ingegneria del software

8 8 

9Output styles cambiano il modo in cui Claude risponde, non quello che Claude sa. Modificano il prompt di sistema per impostare il ruolo, il tono e il formato di output. Utilizzatene uno quando continuate a ripetere la stessa voce o formato ad ogni turno, oppure quando desiderate che Claude agisca come qualcosa di diverso da un ingegnere del software.9Output styles cambiano il modo in cui Claude risponde, non quello che Claude sa. Impostano il ruolo, il tono e il formato di output di Claude per ogni risposta. Utilizzatene uno quando continuate a ripetere la stessa voce o formato ad ogni turno, oppure quando desiderate che Claude agisca come qualcosa di diverso da un ingegnere del software.

10 10 

11Uno stile di output personalizzato aggiunge le vostre istruzioni al prompt di sistema e vi permette di scegliere se mantenere le istruzioni integrate di ingegneria del software di Claude Code. Mantenetele quando state cambiando il modo in cui Claude comunica ma state ancora codificando, come rispondere sempre con un diagramma. Omettele quando Claude non sta facendo ingegneria del software affatto, come un assistente di scrittura o un analista di dati.11Uno stile di output personalizzato fornisce a Claude le vostre istruzioni e vi permette di scegliere se mantenere le istruzioni integrate di ingegneria del software di Claude Code. Mantenetele quando state cambiando il modo in cui Claude comunica ma state ancora codificando, come rispondere sempre con un diagramma. Omettele quando Claude non sta facendo ingegneria del software affatto, come un assistente di scrittura o un analista di dati.

12 12 

13Per le istruzioni relative al vostro progetto, alle convenzioni o al codebase, utilizzate [CLAUDE.md](/docs/it/memory) invece.13Per le istruzioni relative al vostro progetto, alle convenzioni o al codebase, utilizzate [CLAUDE.md](/docs/it/memory) invece.

14 14 


16 Output styles integrati16 Output styles integrati

17</h2>17</h2>

18 18 

19Lo **Default** output style di Claude Code è il prompt di sistema esistente, progettato per aiutarvi a completare i compiti di ingegneria del software in modo efficiente.19Lo **Default** output style di Claude Code è il suo set standard di istruzioni, progettato per aiutarvi a completare i compiti di ingegneria del software in modo efficiente.

20 20 

21Ci sono quattro output styles integrati aggiuntivi:21Ci sono quattro output styles integrati aggiuntivi:

22 22 

23* **Proactive**: Claude esegue immediatamente, fa ipotesi ragionevoli invece di fermarsi per decisioni di routine, e preferisce l'azione alla pianificazione. Questo è una guida di esecuzione autonoma più forte di quella che [auto mode](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) applica, e funziona senza cambiare la vostra modalità di permesso, quindi la vostra modalità di permesso decide comunque cosa viene eseguito senza chiedere.23* **Proactive**: Claude esegue immediatamente, fa ipotesi ragionevoli invece di fermarsi per decisioni di routine, e preferisce l'azione alla pianificazione. Questa è una guida di esecuzione autonoma più forte di quella che [auto mode](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) applica, e funziona senza cambiare la vostra modalità di permesso, quindi la vostra modalità di permesso decide comunque cosa viene eseguito senza chiedere.

24 24 

25* **Concise**: Claude inizia con il risultato, salta il preambolo e la narrazione, e mantiene le risposte brevi per impostazione predefinita, mentre svolge il lavoro di ingegneria in modo altrettanto approfondito dello stile Default. Quando chiedete una spiegazione o più dettagli, Claude risponde completamente. Claude mantiene sempre il contenuto completo dei rapporti di errore, degli avvisi di sicurezza e delle conferme per le azioni distruttive. Richiede Claude Code v2.1.237 o successivo.25* **Concise**: Claude inizia con il risultato, salta il preambolo e la narrazione, e mantiene le risposte brevi per impostazione predefinita, mentre svolge il lavoro di ingegneria in modo altrettanto approfondito dello stile Default. Quando chiedete una spiegazione o più dettagli, Claude risponde completamente. Claude mantiene sempre il contenuto completo dei rapporti di errore, degli avvisi di sicurezza e delle conferme per le azioni distruttive. Richiede Claude Code v2.1.237 o successivo.

26 26 


36 36 

37* **Terminal**: eseguite `/config` e selezionate **Output style** per scegliere uno stile da un menu. Claude Code salva la vostra selezione in `.claude/settings.local.json` al [livello del progetto locale](/docs/it/settings).37* **Terminal**: eseguite `/config` e selezionate **Output style** per scegliere uno stile da un menu. Claude Code salva la vostra selezione in `.claude/settings.local.json` al [livello del progetto locale](/docs/it/settings).

38* **VS Code extension**: aprite il [menu dei comandi](/docs/it/vs-code#use-the-prompt-box) con `/` e selezionate **Output styles** per scegliere uno stile, inclusi i vostri stili personalizzati. Claude Code salva la vostra selezione in `.claude/settings.local.json`, lo stesso file che scrive il menu del terminal. Richiede Claude Code v2.1.257 o successivo.38* **VS Code extension**: aprite il [menu dei comandi](/docs/it/vs-code#use-the-prompt-box) con `/` e selezionate **Output styles** per scegliere uno stile, inclusi i vostri stili personalizzati. Claude Code salva la vostra selezione in `.claude/settings.local.json`, lo stesso file che scrive il menu del terminal. Richiede Claude Code v2.1.257 o successivo.

39* **Desktop app**: impostate il campo `outputStyle` in un file di impostazioni, ad esempio `.claude/settings.local.json`, il file che scrive il menu del terminal. Quando eseguite `/config` lì, Claude Code [apre **Settings > Claude Code**](/docs/it/desktop#what's-not-available-in-desktop) piuttosto che un menu.39* **Desktop app**: impostate il campo `outputStyle` in un file di impostazioni, ad esempio `.claude/settings.local.json`, il file che scrive il menu del terminal. Quando eseguite `/config` lì, Claude Code [apre **Settings > Claude Code**](/docs/it/desktop#what%E2%80%99s-not-available-in-desktop) piuttosto che un menu.

40 40 

41<Note>Il comando standalone `/output-style` è stato deprecato nella v2.1.73 e rimosso nella v2.1.91. Utilizzate `/config` o modificate direttamente l'impostazione `outputStyle`.</Note>41<Note>Il comando standalone `/output-style` è stato deprecato nella v2.1.73 e rimosso nella v2.1.91. Utilizzate `/config` o modificate direttamente l'impostazione `outputStyle`.</Note>

42 42 


48}48}

49```49```

50 50 

51Quando cambiate stile a metà sessione, Claude utilizza il nuovo stile a partire dal vostro messaggio successivo. Lo stile fa parte del prompt di sistema, quindi quel primo messaggio ricostruisce la [prompt cache](/docs/it/prompt-caching#changing-output-style) una volta. Prima della v2.1.251, il nuovo stile si applicava solo dopo aver eseguito `/clear` o avviato una nuova sessione.51Quando cambiate stile a metà sessione, Claude utilizza il nuovo stile a partire dal vostro messaggio successivo. Per il costo di quel primo messaggio in prompt caching, consultate [Changing output style](/docs/it/prompt-caching#changing-output-style). Prima della v2.1.251, il nuovo stile si applicava solo dopo aver eseguito `/clear` o avviato una nuova sessione.

52 52 

53<h2 id="create-a-custom-output-style">53<h2 id="create-a-custom-output-style">

54 Creare uno stile di output personalizzato54 Creare uno stile di output personalizzato

55</h2>55</h2>

56 56 

57Uno stile di output personalizzato è un file Markdown: frontmatter per i metadati, quindi le istruzioni da aggiungere al prompt di sistema. Nell'estensione VS Code, potete anche creare il file dal [menu **Output styles**](/docs/it/vs-code#use-the-prompt-box) piuttosto che scriverlo manualmente. Questo richiede Claude Code v2.1.261 o successivo.57Uno stile di output personalizzato è un file Markdown: frontmatter per i metadati, quindi le istruzioni per Claude.

58 

59Nell'estensione VS Code, potete anche creare il file dal [menu **Output styles**](/docs/it/vs-code#use-the-prompt-box) piuttosto che scriverlo manualmente. Questo richiede Claude Code v2.1.261 o successivo.

58 60 

59<Steps>61<Steps>

60 <Step title="Creare un file Markdown">62 <Step title="Creare un file Markdown">


111 Come funzionano gli output styles113 Come funzionano gli output styles

112</h2>114</h2>

113 115 

114Gli output styles modificano direttamente il prompt di sistema di Claude Code.116Uno output style modifica le istruzioni che Claude Code fornisce a Claude.

115 117 

116* Claude Code aggiunge le istruzioni personalizzate dello output style al prompt di sistema.118* Claude Code invia le istruzioni dello stile attivo con ogni richiesta.

117* Quando [selezionate uno stile diverso da Default](#change-your-output-style), Claude Code ricorda anche a Claude lo stile durante la conversazione.119* Quando [selezionate uno stile diverso da Default](#change-your-output-style), Claude Code ricorda anche a Claude lo stile durante la conversazione.

118* Gli output styles personalizzati omettono le istruzioni integrate di ingegneria del software di Claude Code, come come definire l'ambito dei cambiamenti, scrivere commenti e verificare il lavoro, a meno che `keep-coding-instructions` non sia impostato a `true`.120* Gli output styles personalizzati omettono le istruzioni integrate di ingegneria del software di Claude Code, come come definire l'ambito dei cambiamenti, scrivere commenti e verificare il lavoro, a meno che `keep-coding-instructions` non sia impostato a `true`.

119 121 

120Gli output styles si applicano solo alla conversazione principale: un [subagent esegue il proprio prompt di sistema](/docs/it/sub-agents#what-loads-at-startup), quindi gli stili non cambiano il modo in cui i subagent rispondono. Un [fork](/docs/it/sub-agents#fork-the-current-conversation) è l'eccezione, perché eredita il prompt di sistema completo del genitore.122Gli output styles si applicano alla conversazione principale e a un [fork](/docs/it/sub-agents#fork-the-current-conversation), che eredita la conversazione completa e il prompt di sistema del genitore. Altri [subagent eseguono il proprio prompt di sistema](/docs/it/sub-agents#what-loads-at-startup), quindi gli stili non cambiano il modo in cui rispondono.

123 

124L'utilizzo dei token dipende dallo stile. Le istruzioni di uno stile aggiungono token di input, anche se il prompt caching riduce questo costo dopo la prima richiesta in una sessione.

121 125 

122L'utilizzo dei token dipende dallo stile. L'aggiunta di istruzioni al prompt di sistema aumenta i token di input, anche se il prompt caching riduce questo costo dopo la prima richiesta in una sessione. Gli output styles integrati Explanatory e Learning producono risposte più lunghe rispetto a Default per progettazione, il che aumenta i token di output, e lo stile Concise fa il contrario istruendo Claude a mantenere le risposte brevi per impostazione predefinita. Per gli stili personalizzati, l'utilizzo dei token di output dipende da ciò che le vostre istruzioni dicono a Claude di produrre.126Gli output styles integrati Explanatory e Learning producono risposte più lunghe rispetto a Default per progettazione, il che aumenta i token di output. Lo stile Concise fa il contrario istruendo Claude a mantenere le risposte brevi per impostazione predefinita. Per gli stili personalizzati, l'utilizzo dei token di output dipende da ciò che le vostre istruzioni dicono a Claude di produrre.

123 127 

124<h2 id="comparisons-to-related-features">128<h2 id="comparisons-to-related-features">

125 Confronti con funzionalità correlate129 Confronti con funzionalità correlate

126</h2>130</h2>

127 131 

128Diverse funzionalità personalizzano il comportamento di Claude Code. Gli output styles modificano il prompt di sistema direttamente e si applicano a ogni risposta. Gli altri aggiungono istruzioni senza cambiare il prompt di sistema predefinito, o le limitano a un compito specifico.132Diverse funzionalità personalizzano il comportamento di Claude Code. Gli output styles modificano le istruzioni predefinite di Claude Code e si applicano a ogni risposta. Le altre aggiungono istruzioni senza cambiare quelle predefinite, o le limitano a un compito specifico.

129 133 

130| Funzionalità | Come funziona | Utilizzatela quando |134| Funzionalità | Come funziona | Utilizzatela quando |

131| :----------------------- | :------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------- |135| :----------------------- | :------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------- |

132| Output styles | Modifica il prompt di sistema | Desiderate un ruolo, tono o formato di risposta predefinito diverso ad ogni turno |136| Output styles | Modifica le istruzioni predefinite di Claude Code | Desiderate un ruolo, tono o formato di risposta predefinito diverso ad ogni turno |

133| [CLAUDE.md](/docs/it/memory) | Aggiunge un messaggio utente dopo il prompt di sistema | Claude dovrebbe sempre conoscere le convenzioni del vostro progetto e il contesto del codebase |137| [CLAUDE.md](/docs/it/memory) | Aggiunge un messaggio utente dopo il prompt di sistema | Claude dovrebbe sempre conoscere le convenzioni del vostro progetto e il contesto del codebase |

134| `--append-system-prompt` | Aggiunge al prompt di sistema senza rimuovere nulla | Desiderate un'aggiunta una tantum per una singola invocazione |138| `--append-system-prompt` | Aggiunge al prompt di sistema senza rimuovere nulla | Desiderate un'aggiunta una tantum passata come [flag CLI](/docs/it/cli-reference#system-prompt-flags) al lancio |

135| [Agents](/docs/it/sub-agents) | Esegue un subagent con il suo prompt di sistema, modello e strumenti | Desiderate un helper con ambito separato per un compito focalizzato |139| [Agents](/docs/it/sub-agents) | Esegue un subagent con il suo prompt di sistema, modello e strumenti | Desiderate un helper con ambito separato per un compito focalizzato |

136| [Skills](/docs/it/skills) | Carica istruzioni specifiche per compiti quando invocate o rilevanti | Avete un flusso di lavoro riutilizzabile |140| [Skills](/docs/it/skills) | Carica istruzioni specifiche per compiti quando invocate o rilevanti | Avete un flusso di lavoro riutilizzabile |

137 141 

overview.md +5 −5

Details

24 <Tab title="Native Install (Recommended)">24 <Tab title="Native Install (Recommended)">

25 **macOS, Linux, WSL:**25 **macOS, Linux, WSL:**

26 26 

27 ```bash theme={null} theme={null} theme={null} theme={null}27 ```bash theme={null}

28 curl -fsSL https://claude.ai/install.sh | bash28 curl -fsSL https://claude.ai/install.sh | bash

29 ```29 ```

30 30 

31 **Windows PowerShell:**31 **Windows PowerShell:**

32 32 

33 ```powershell theme={null} theme={null} theme={null} theme={null}33 ```powershell theme={null}

34 irm https://claude.ai/install.ps1 | iex34 irm https://claude.ai/install.ps1 | iex

35 ```35 ```

36 36 

37 **Windows CMD:**37 **Windows CMD:**

38 38 

39 ```batch theme={null} theme={null} theme={null} theme={null}39 ```batch theme={null}

40 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd40 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

41 ```41 ```

42 42 


52 </Tab>52 </Tab>

53 53 

54 <Tab title="Homebrew">54 <Tab title="Homebrew">

55 ```bash theme={null} theme={null} theme={null} theme={null}55 ```bash theme={null}

56 brew install --cask claude-code56 brew install --cask claude-code

57 ```57 ```

58 58 


64 </Tab>64 </Tab>

65 65 

66 <Tab title="WinGet">66 <Tab title="WinGet">

67 ```powershell theme={null} theme={null} theme={null} theme={null}67 ```powershell theme={null}

68 winget install Anthropic.ClaudeCode68 winget install Anthropic.ClaudeCode

69 ```69 ```

70 70 

permissions.md +29 −19

Details

165 Mettete il `*` dopo il sottocomando. In `git log --oneline main`, `git` è il programma e `log` è il sottocomando, la parola che determina cosa fa il programma. Claude Code corrisponde a tutto ciò che precede il primo `*` come scritto, quindi quelle parole sono ciò che limita la regola: `Bash(git log *)` consente solo comandi `git log`, e `Bash(git *)` consente ogni comando git. Claude Code [avvisa all'avvio](/docs/it/errors#has-a-wildcard-before-the-rest-of-the-command) di una regola di autorizzazione con un `*` prima del sottocomando, come `Bash(git * main)`.165 Mettete il `*` dopo il sottocomando. In `git log --oneline main`, `git` è il programma e `log` è il sottocomando, la parola che determina cosa fa il programma. Claude Code corrisponde a tutto ciò che precede il primo `*` come scritto, quindi quelle parole sono ciò che limita la regola: `Bash(git log *)` consente solo comandi `git log`, e `Bash(git *)` consente ogni comando git. Claude Code [avvisa all'avvio](/docs/it/errors#has-a-wildcard-before-the-rest-of-the-command) di una regola di autorizzazione con un `*` prima del sottocomando, come `Bash(git * main)`.

166</Warning>166</Warning>

167 167 

168Scrivete il comando che volete che Claude esegua senza chiedere, e sostituite le parti che variano con `*`. Con questa configurazione, Claude Code esegue script npm e commit git senza chiedere e rifiuta git push:168Scrivete il comando che volete che Claude esegua senza chiedere, e sostituite le parti che variano con `*`. Con questa configurazione, Claude Code esegue script npm e commit git senza chiedere e rifiuta comandi che iniziano con `git push`. Un push scritto in un altro modo, come `git -C . push`, non corrisponde alla regola; consultate [a cosa non corrisponde una regola Bash](#bash-rule-limits).

169 169 

170```json theme={null}170```json theme={null}

171{171{


224 224 

225Una regola di negazione o richiesta il cui nome dello strumento non corrisponde a nessuno strumento noto produce un avviso all'avvio per catturare gli errori di digitazione. I nomi degli strumenti contenenti `_` o `*` sono esenti dal controllo.225Una regola di negazione o richiesta il cui nome dello strumento non corrisponde a nessuno strumento noto produce un avviso all'avvio per catturare gli errori di digitazione. I nomi degli strumenti contenenti `_` o `*` sono esenti dal controllo.

226 226 

227L'etichetta mostrata per uno strumento nella trascrizione e nella finestra di dialogo di autorizzazione può differire dal suo nome canonico. Ad esempio, lo strumento etichettato `Stop Task` nella trascrizione ha il nome canonico `TaskStop`. Le regole di autorizzazione e i [matcher di hook](/docs/it/hooks) corrispondono solo al nome canonico, quindi una regola scritta come `Stop Task` non corrisponde. Per le regole di negazione e richiesta, l'avviso all'avvio di cui sopra cattura la mancata corrispondenza. Utilizzate i nomi canonici elencati nel [riferimento degli strumenti](/docs/it/tools-reference).227L'etichetta mostrata per uno strumento nella trascrizione e nella finestra di dialogo di autorizzazione può differire dal suo nome canonico. Ad esempio, lo strumento etichettato `Stop Task` nella trascrizione ha il nome canonico `TaskStop`. Le regole di autorizzazione e i [matcher di hook](/docs/it/hooks) non corrispondono all'etichetta, quindi una regola scritta come `Stop Task` non corrisponde. Per le regole di negazione e richiesta, l'avviso all'avvio di cui sopra cattura la mancata corrispondenza. Utilizzate i nomi canonici elencati nel [riferimento degli strumenti](/docs/it/tools-reference).

228 228 

229<h2 id="tool-specific-permission-rules">229<h2 id="tool-specific-permission-rules">

230 Regole di autorizzazione specifiche dello strumento230 Regole di autorizzazione specifiche dello strumento


234 Bash234 Bash

235</h3>235</h3>

236 236 

237Le regole Bash corrispondono all'intero testo del comando, con `*` che rappresenta qualsiasi testo. [Wildcard patterns](#wildcard-patterns) mostra quali comandi ogni forma di regola corrisponde e dove mettere `*`. Il resto di questa sezione copre come Claude Code corrisponde ai comandi composti, ai wrapper, ai comandi di sola lettura e ai reindirizzamenti.237Le regole Bash corrispondono all'intero testo del comando, con `*` che rappresenta qualsiasi testo. [Modelli con caratteri jolly](#wildcard-patterns) mostra a quali comandi corrisponde ogni forma di regola e dove mettere il `*`. Il resto di questa sezione copre come Claude Code gestisce la corrispondenza per i comandi composti e i wrapper, a cosa non corrisponde una regola, i comandi di sola lettura e i reindirizzamenti.

238 238 

239<h4 id="compound-commands">239<h4 id="compound-commands">

240 Comandi composti240 Comandi composti


264 264 

265I wrapper exec come `watch`, `setsid`, `ionice` e `flock` non possono essere auto-approvati da una regola di prefisso come `Bash(watch *)`, quindi in modalità Manual richiedono sempre un prompt. Lo stesso vale per `find` con `-exec` o `-delete`: una regola `Bash(find *)` non copre queste forme. Per approvare un'invocazione specifica, scrivete una regola di corrispondenza esatta per la stringa di comando completa.265I wrapper exec come `watch`, `setsid`, `ionice` e `flock` non possono essere auto-approvati da una regola di prefisso come `Bash(watch *)`, quindi in modalità Manual richiedono sempre un prompt. Lo stesso vale per `find` con `-exec` o `-delete`: una regola `Bash(find *)` non copre queste forme. Per approvare un'invocazione specifica, scrivete una regola di corrispondenza esatta per la stringa di comando completa.

266 266 

267<h4 id="bash-rule-limits">

268 A cosa non corrisponde una regola Bash

269</h4>

270 

271Una regola Bash corrisponde al testo del comando che Claude scrive, dopo che Claude Code divide i [comandi composti](#compound-commands) e rimuove i [wrapper](#process-wrappers). Non corrisponde allo stesso programma invocato in una forma diversa, quindi una regola deny o ask copre l'invocazione che Claude di solito produce e non è un confine di sicurezza intorno al programma. Queste regole in `deny` o `ask` fermano la prima forma e non le altre:

272 

273| Regola | Ferma | Non ferma |

274| :----------------- | :------------------------- | :---------------------------------------------------------------------------------------------------- |

275| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |

276| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |

277| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main`, `git 'push' origin main` |

278 

279Le vostre altre regole e la modalità di autorizzazione decidono i comandi nell'ultima colonna.

280 

281Per l'applicazione del filesystem e della rete che non dipende dal testo del comando, utilizzate il [sandboxing](/docs/it/sandboxing). Per ispezionare il testo del comando completo con la vostra logica prima che venga eseguito, utilizzate un hook [PreToolUse](#extend-permissions-with-hooks).

282 

267<h4 id="read-only-commands">283<h4 id="read-only-commands">

268 Comandi di sola lettura284 Comandi di sola lettura

269</h4>285</h4>


294 * Protocollo diverso: `curl https://github.com/...`310 * Protocollo diverso: `curl https://github.com/...`

295 * Reindirizzamenti: `curl -L http://short.example.com/xyz`, che reindirizza a GitHub311 * Reindirizzamenti: `curl -L http://short.example.com/xyz`, che reindirizza a GitHub

296 * Variabili: `URL=http://github.com && curl $URL`312 * Variabili: `URL=http://github.com && curl $URL`

297 * Spazi extra: `curl http://github.com`

298 313 

299 Per un filtraggio URL più affidabile, considerate:314 Per un filtraggio URL più affidabile, considerate:

300 315 

301 * **Limitare gli strumenti di rete Bash**: utilizzate regole deny per bloccare `curl`, `wget` e comandi simili, quindi utilizzate lo strumento WebFetch con l'autorizzazione `WebFetch(domain:github.com)` per i domini consentiti316 * **Limitare gli strumenti di rete Bash**: utilizzate regole deny per bloccare `curl`, `wget` e comandi simili, quindi utilizzate lo strumento WebFetch con l'autorizzazione `WebFetch(domain:github.com)` per i domini consentiti. Una regola deny non corrisponde allo stesso programma per percorso o all'interno di `sh -c`, quindi abbinate con l'[elenco di consentiti della rete sandbox](/docs/it/sandboxing#network-isolation) quando la restrizione deve valere; vedere [a cosa non corrisponde una regola Bash](#bash-rule-limits)

302 * **Utilizzare hook PreToolUse**: implementate un hook che convalida gli URL nei comandi Bash e blocca i domini non consentiti317 * **Utilizzare hook PreToolUse**: implementate un hook che convalida gli URL nei comandi Bash e blocca i domini non consentiti

303 * **Aggiungere guida CLAUDE.md**: descrivete i vostri modelli curl consentiti in `CLAUDE.md`. Questo modella quello che Claude prova ma non applica un confine, quindi abbinate con una delle opzioni sopra318 * **Aggiungere guida CLAUDE.md**: descrivete i vostri modelli curl consentiti in `CLAUDE.md`. Questo modella quello che Claude prova ma non applica un confine, quindi abbinate con una delle opzioni sopra

304 319 


353Claude Code controlla le autorizzazioni di file rispetto alle regole `Edit(path)` e `Read(path)` solo. Se scrivete una regola di percorso per `Write`, `NotebookEdit`, `Glob` o lo strumento legacy `MultiEdit` invece, Claude Code accetta la regola ma non la consulta mai, e [avvisa all'avvio](/docs/it/errors#is-not-matched-by-file-permission-checks), tranne per una regola `Glob` passata in `--allowedTools`. Utilizzate `Edit(docs/**)` al posto di `Write(docs/**)`, `NotebookEdit(docs/**)` o `MultiEdit(docs/**)`, e `Read(docs/**)` al posto di `Glob(docs/**)`. Claude Code non avvisa di una regola di nome strumento senza percorso, come una regola deny per `Write`; corrisponde a quella regola a livello di strumento ovunque. Richiede Claude Code v2.1.210 o successivo.368Claude Code controlla le autorizzazioni di file rispetto alle regole `Edit(path)` e `Read(path)` solo. Se scrivete una regola di percorso per `Write`, `NotebookEdit`, `Glob` o lo strumento legacy `MultiEdit` invece, Claude Code accetta la regola ma non la consulta mai, e [avvisa all'avvio](/docs/it/errors#is-not-matched-by-file-permission-checks), tranne per una regola `Glob` passata in `--allowedTools`. Utilizzate `Edit(docs/**)` al posto di `Write(docs/**)`, `NotebookEdit(docs/**)` o `MultiEdit(docs/**)`, e `Read(docs/**)` al posto di `Glob(docs/**)`. Claude Code non avvisa di una regola di nome strumento senza percorso, come una regola deny per `Write`; corrisponde a quella regola a livello di strumento ovunque. Richiede Claude Code v2.1.210 o successivo.

354 369 

355<Warning>370<Warning>

356 Le regole deny di Read e Edit si applicano agli strumenti di file integrati di Claude, ai comandi di file che Claude Code riconosce in Bash, come `cat`, `head`, `tail` e `sed`, e ai target dei [reindirizzamenti](#redirections) Bash come `> file` e `< file`. Non si applicano a sottoprocessi arbitrari che leggono o scrivono file indirettamente, come uno script Python o Node che apre i file da solo. Per l'applicazione a livello del sistema operativo che blocca tutti i processi dall'accesso a un percorso, [abilitate la sandbox](/docs/it/sandboxing).371 Le regole deny di Read e Edit si applicano agli strumenti di file integrati di Claude, ai comandi di file che Claude Code riconosce in Bash, come `cat`, `head`, `tail` e `sed`, e ai target dei [reindirizzamenti](#redirections) Bash come `> file` e `< file`. Non si applicano a un comando che legge file senza nominarli, come `grep -r pattern .` eseguito dalla directory che contiene il file, o a sottoprocessi arbitrari che leggono o scrivono file indirettamente, come uno script Python o Node che apre i file da solo. Per l'applicazione a livello del sistema operativo che blocca tutti i processi dall'accesso a un percorso, [abilitate la sandbox](/docs/it/sandboxing).

357</Warning>372</Warning>

358 373 

359Le regole Read e Edit seguono entrambe la sintassi del modello [gitignore](https://git-scm.com/docs/gitignore) con quattro tipi di modello distinti; per i modelli di directory a segmento singolo, la profondità di corrispondenza dipende anche dal tipo di regola, descritto più avanti in questa sezione:374Le regole Read e Edit seguono entrambe la sintassi del modello [gitignore](https://git-scm.com/docs/gitignore) con quattro tipi di modello distinti; per i modelli di directory a segmento singolo, la profondità di corrispondenza dipende anche dal tipo di regola, descritto più avanti in questa sezione:


534I modelli di percorso condividono gli ancoraggi `//`, `~/` e `/` dalle [regole Read e Edit](#read-and-edit), ma la corrispondenza è ancorata al percorso della directory intera piuttosto che nello stile gitignore. `*` corrisponde esattamente a un segmento di percorso e `**` corrisponde tra segmenti. Un `/**` finale corrisponde anche alla sua radice denominata.549I modelli di percorso condividono gli ancoraggi `//`, `~/` e `/` dalle [regole Read e Edit](#read-and-edit), ma la corrispondenza è ancorata al percorso della directory intera piuttosto che nello stile gitignore. `*` corrisponde esattamente a un segmento di percorso e `**` corrisponde tra segmenti. Un `/**` finale corrisponde anche alla sua radice denominata.

535 550 

536| Regola | Corrisponde | Non corrisponde |551| Regola | Corrisponde | Non corrisponde |

537| --------------------- | --------------------------------------------------------- | --------------------------------- |552| --------------------- | ------------------------------------------------------------------------------------- | --------------------------------- |

538| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`, `~/code` |553| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`, `~/code` |

539| `Cd(~/code/**)` | `~/code` e qualsiasi directory sotto di esso | directory al di fuori di `~/code` |554| `Cd(~/code/**)` | `~/code` e qualsiasi directory sotto di esso | directory al di fuori di `~/code` |

540| `Cd(**/node_modules)` | qualsiasi directory `node_modules` a qualsiasi profondità | `node_modules/pkg` |555| `Cd(**/node_modules)` | qualsiasi directory `node_modules` a qualsiasi profondità sotto la directory corrente | `node_modules/pkg` |

541 556 

542<h2 id="extend-permissions-with-hooks">557<h2 id="extend-permissions-with-hooks">

543 Estendere le autorizzazioni con hook558 Estendere le autorizzazioni con hook


567 582 

568Impostate [`permissions.blockReadsOutsideWorkingDirectories`](/docs/it/settings-reference#permissions-blockreadsoutsideworkingdirectories) per fare in modo che gli strumenti di file rifiutino i percorsi che racchiude in ogni modalità di autorizzazione. In modalità auto, Claude Code offre di attivarlo la prima volta che Claude [legge al di fuori delle directory di lavoro](/docs/it/permission-modes#first-read-outside-the-working-directories).583Impostate [`permissions.blockReadsOutsideWorkingDirectories`](/docs/it/settings-reference#permissions-blockreadsoutsideworkingdirectories) per fare in modo che gli strumenti di file rifiutino i percorsi che racchiude in ogni modalità di autorizzazione. In modalità auto, Claude Code offre di attivarlo la prima volta che Claude [legge al di fuori delle directory di lavoro](/docs/it/permission-modes#first-read-outside-the-working-directories).

569 584 

570Nelle sessioni in background su macOS, l'host della sessione richiede l'accesso a cartelle protette come `~/Desktop`, `~/Documents` e `~/Downloads` separatamente dal vostro terminale quando Claude ha bisogno di leggere o scrivere file lì; se le letture lì falliscono con `Operation not permitted`, consultate [come concedere l'accesso alle cartelle alle sessioni in background](/docs/it/agent-view#background-sessions-can't-read-desktop-documents-or-downloads-on-macos).585Nelle sessioni in background su macOS, l'host della sessione richiede l'accesso a cartelle protette come `~/Desktop`, `~/Documents` e `~/Downloads` separatamente dal vostro terminale quando Claude ha bisogno di leggere o scrivere file lì; se le letture lì falliscono con `Operation not permitted`, consultate [come concedere l'accesso alle cartelle alle sessioni in background](/docs/it/agent-view#background-sessions-can%E2%80%99t-read-desktop-documents-or-downloads-on-macos).

571 586 

572<h3 id="move-the-session-to-another-directory">587<h3 id="move-the-session-to-another-directory">

573 Spostare la sessione in un'altra directory588 Spostare la sessione in un'altra directory


627* **Autorizzazioni** controllano quali strumenti Claude Code può utilizzare e quali file o domini può accedere. Si applicano a Bash, Read, Edit, WebFetch, MCP e ogni altro strumento, tranne per il fatto che una regola deny o ask non può bloccare [`EndConversation`](/docs/it/tools-reference#endconversation-tool-behavior) mentre rimane qualsiasi altro strumento.642* **Autorizzazioni** controllano quali strumenti Claude Code può utilizzare e quali file o domini può accedere. Si applicano a Bash, Read, Edit, WebFetch, MCP e ogni altro strumento, tranne per il fatto che una regola deny o ask non può bloccare [`EndConversation`](/docs/it/tools-reference#endconversation-tool-behavior) mentre rimane qualsiasi altro strumento.

628* **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.643* **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.

629 644 

630Utilizzate entrambi per la difesa in profondità:645Utilizzate entrambi per la difesa in profondità, poiché le restrizioni sandbox si applicano comunque anche se un'iniezione di prompt bypassa il processo decisionale di Claude. I percorsi e i domini dalle impostazioni sandbox e dalle regole di autorizzazione sono [uniti nella configurazione sandbox finale](/docs/it/sandboxing#permission-rules).

631 

632* Le regole deny di autorizzazione impediscono a Claude di tentare anche di accedere alle risorse limitate

633* Le restrizioni sandbox impediscono ai comandi Bash di raggiungere risorse al di fuori dei confini definiti, anche se un'iniezione di prompt bypassa il processo decisionale di Claude

634* Le restrizioni del filesystem nella sandbox combinano le impostazioni [`sandbox.filesystem`](/docs/it/sandboxing) con le regole deny di Read e Edit; entrambe vengono unite nel confine sandbox finale

635* Le restrizioni di rete combinano le regole di autorizzazione `WebFetch(domain:...)` con gli elenchi `allowedDomains` e `deniedDomains` della sandbox

636 646 

637Quando il sandboxing è abilitato e lasciate `autoAllowBashIfSandboxed` al suo valore predefinito di `true`, 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.647Quando il sandboxing è abilitato e lasciate `autoAllowBashIfSandboxed` al suo valore predefinito di `true`, 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.

638 648 


688 Quando il vostro file di impostazioni locali ha bisogno di trust698 Quando il vostro file di impostazioni locali ha bisogno di trust

689</h3>699</h3>

690 700 

691`.claude/settings.local.json` è normalmente il vostro file personale, quindi Claude Code applica le sue regole di autorizzazione e directory aggiuntive senza il passaggio di trust. Quando il file è tracciato in git, o `.claude` è un symlink, Claude Code lo tratta come fornito dal repository e mantiene le sue regole fino a quando non fidate la cartella.701`.claude/settings.local.json` è normalmente il vostro file personale, quindi Claude Code applica le sue regole di autorizzazione e directory aggiuntive senza il passaggio di trust. Quando il file è tracciato in git, o `.claude` è un symlink, Claude Code lo tratta invece come fornito dal repository e tiene in sospeso le sue regole finché non vi fidate della cartella.

692 702 

693Claude Code esegue git per distinguere i due casi, ed esegue git solo dopo che avete fidata la cartella: avete accettato la finestra di dialogo di trust per essa o per una directory genitore il cui trust si estende ad essa, o siete in una sessione `-p` o SDK, che conta come accettata. Fino ad allora, il luogo da cui avete avviato Claude Code decide cosa succede alle regole del file:703Claude Code esegue git per distinguere i due casi, ed esegue git solo dopo che avete fidata la cartella: avete accettato la finestra di dialogo di trust per essa o per una directory genitore il cui trust si estende ad essa, o siete in una sessione `-p` o SDK, che conta come accettata. Fino ad allora, il luogo da cui avete avviato Claude Code decide cosa succede alle regole del file:

694 704 

695* **Nella vostra directory di configurazione personale:** Claude Code applica il `.claude/settings.local.json` di quella cartella subito senza eseguire git. La vostra directory di configurazione personale è la vostra directory home, o una directory il cui subdirectory `.claude` avete impostato come [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars#variables). Se quella directory `CLAUDE_CONFIG_DIR` si trova all'interno di un repository git e Claude Code [mantiene le vostre impostazioni locali alla radice del repository](/docs/it/settings#where-claude-code-looks-for-each-file) invece, mantiene le regole come ovunque.705* **Nella vostra directory di configurazione personale:** Claude Code applica il `.claude/settings.local.json` di quella cartella subito senza eseguire git. La vostra directory di configurazione personale è la vostra directory home, o una directory il cui subdirectory `.claude` avete impostato come [`CLAUDE_CONFIG_DIR`](/docs/it/env-vars#variables). Se quella directory `CLAUDE_CONFIG_DIR` si trova all'interno di un repository git e Claude Code [mantiene le vostre impostazioni locali alla radice del repository](/docs/it/settings#where-claude-code-looks-for-each-file) invece, tiene in sospeso le regole come in qualsiasi altra posizione.

696* **Ovunque:** Claude Code mantiene le regole del file come impostazioni del progetto. Una volta che il controllo è stato eseguito, Claude Code applica le regole di un file non tracciato, o di un file in una directory al di fuori di qualsiasi repository git, anche se non avete fidata quella cartella esatta.706* **In qualsiasi altra posizione:** Claude Code tiene in sospeso le regole del file come fa per le impostazioni del progetto. Una volta che il controllo è stato eseguito, Claude Code applica le regole di un file non tracciato, o di un file in una directory al di fuori di qualsiasi repository git, anche se non avete fidata quella cartella esatta.

697 707 

698<Note>708<Note>

699 L'eccezione della directory di configurazione salta solo il passaggio di trust. `~/.claude/settings.local.json` è ancora [ambito locale](/docs/it/settings#compare-the-scope-of-each-settings-file), quindi Claude Code lo legge solo in sessioni che avviate nella vostra directory home stessa, non in ogni progetto. Per applicare regole di autorizzazione su tutti i vostri progetti, aggiungetele alle vostre impostazioni utente invece: `~/.claude/settings.json`, o `$CLAUDE_CONFIG_DIR/settings.json` quando `CLAUDE_CONFIG_DIR` è impostato.709 L'eccezione della directory di configurazione salta solo il passaggio di trust. `~/.claude/settings.local.json` è ancora [ambito locale](/docs/it/settings#compare-the-scope-of-each-settings-file), quindi Claude Code lo legge solo in sessioni che avviate nella vostra directory home stessa, non in ogni progetto. Per applicare regole di autorizzazione su tutti i vostri progetti, aggiungetele alle vostre impostazioni utente invece: `~/.claude/settings.json`, o `$CLAUDE_CONFIG_DIR/settings.json` quando `CLAUDE_CONFIG_DIR` è impostato.

700</Note>710</Note>

701 711 

702Nelle versioni 2.1.196 fino a 2.1.199, Claude Code manteneva le regole del file nella vostra directory di configurazione personale e al di fuori dei repository git anche, e stampava l'avviso [`this workspace has not been trusted`](/docs/it/errors#workspace-has-not-been-trusted) lì. Prima della v2.1.207, Claude Code applicava le regole di un file non tracciato prima che accettaste la finestra di dialogo.712Nelle versioni 2.1.196 fino a 2.1.199, Claude Code teneva in sospeso le regole del file anche nella vostra directory di configurazione personale e al di fuori dei repository git, e stampava l'avviso [`this workspace has not been trusted`](/docs/it/errors#workspace-has-not-been-trusted) lì. Prima della v2.1.207, Claude Code applicava le regole di un file non tracciato prima che accettaste la finestra di dialogo.

703 713 

704<h3 id="what-runs-before-you-trust-a-folder">714<h3 id="what-runs-before-you-trust-a-folder">

705 Cosa viene eseguito prima di fidarsi di una cartella715 Cosa viene eseguito prima di fidarsi di una cartella

Details

165* `prompt`: valutare un prompt con un LLM (utilizza il placeholder `$ARGUMENTS` per il contesto)165* `prompt`: valutare un prompt con un LLM (utilizza il placeholder `$ARGUMENTS` per il contesto)

166* `agent`: eseguire un verificatore agentico con strumenti per compiti di verifica complessi166* `agent`: eseguire un verificatore agentico con strumenti per compiti di verifica complessi

167 167 

168Gli hook che puntano al [server MCP bundled](/docs/it/mcp#plugin-provided-mcp-servers) del plugin devono utilizzare i suoi nomi con scope. I matcher di strumenti e i campi `if` prendono il nome dello strumento con scope `mcp__plugin_<plugin-name>_<server-name>__<tool>`, e il campo `server` di un hook `mcp_tool` prende `plugin:<plugin-name>:<server-name>`. Un matcher scritto contro la chiave del server nuda non si attiva mai. Vedere [Match MCP tools](/docs/it/hooks#match-mcp-tools) e [Plugin-provided MCP servers](/docs/it/mcp#plugin-provided-mcp-servers).168Gli hook che puntano al [server MCP bundled](#mcp-servers) del plugin devono utilizzare i suoi nomi con scope. I matcher di strumenti e i campi `if` prendono il nome dello strumento con scope `mcp__plugin_<plugin-name>_<server-name>__<tool>`, e il campo `server` di un hook `mcp_tool` prende `plugin:<plugin-name>:<server-name>`. Un matcher scritto contro la chiave del server nuda non si attiva mai. Vedere [Match MCP tools](/docs/it/hooks#match-mcp-tools) e [Plugin-provided MCP servers](/docs/it/mcp#plugin-provided-mcp-servers).

169 169 

170<h3 id="mcp-servers">170<h3 id="mcp-servers">

171 MCP servers171 MCP servers


533</h3>533</h3>

534 534 

535| Campo | Tipo | Descrizione | Esempio |535| Campo | Tipo | Descrizione | Esempio |

536| :--------------- | :------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |536| :--------------- | :------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |

537| `$schema` | string | URL dello schema JSON per l'autocompletamento e la convalida dell'editor. Claude Code ignora questo campo al momento del caricamento. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |537| `$schema` | string | URL dello schema JSON per l'autocompletamento e la convalida dell'editor. Claude Code ignora questo campo al momento del caricamento. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |

538| `displayName` | string | Nome leggibile mostrato nel selettore `/plugin` e in altre superfici dell'interfaccia utente. Ritorna a `name` quando omesso. A differenza di `name`, può contenere spazi e qualsiasi maiuscola/minuscola. Non utilizzato per lo spazio dei nomi o la ricerca. | `"Deployment Tools"` |538| `displayName` | string | Nome leggibile mostrato nel selettore `/plugin` e in altre superfici dell'interfaccia utente. Per un plugin installato dal marketplace, un `displayName` sulla [voce del marketplace](/docs/it/plugin-marketplaces#optional-plugin-fields) ha la precedenza su questo valore. Quando nessun nome di visualizzazione è impostato in nessuno dei due posti, gli utenti vedono `name`. A differenza di `name`, può contenere spazi e qualsiasi maiuscola/minuscola. Non utilizzato per lo spazio dei nomi o la ricerca. | `"Deployment Tools"` |

539| `version` | string | Facoltativo. Versione semantica. L'impostazione di questa opzione fissa il plugin a quella stringa di versione, quindi gli utenti ricevono aggiornamenti solo quando la si incrementa, ad eccezione di una [`command` source](/docs/it/plugin-marketplaces#command-sources); vedere [Gestione delle versioni](#version-management). Se impostato anche nella voce del marketplace, `plugin.json` vince. Se omesso, la versione proviene dalla prossima fonte in [Gestione delle versioni](#version-management). | `"2.1.0"` |539| `version` | string | Facoltativo. Versione semantica. L'impostazione di questa opzione fissa il plugin a quella stringa di versione, quindi gli utenti ricevono aggiornamenti solo quando la si incrementa, ad eccezione di una [`command` source](/docs/it/plugin-marketplaces#command-sources); vedere [Gestione delle versioni](#version-management). Se impostato anche nella voce del marketplace, `plugin.json` vince. Se omesso, la versione proviene dalla prossima fonte in [Gestione delle versioni](#version-management). | `"2.1.0"` |

540| `description` | string | Breve spiegazione dello scopo del plugin | `"Deployment automation tools"` |540| `description` | string | Breve spiegazione dello scopo del plugin | `"Deployment automation tools"` |

541| `author` | object | Informazioni sull'autore | `{"name": "Dev Team", "email": "dev@company.com"}` |541| `author` | object | Informazioni sull'autore | `{"name": "Dev Team", "email": "dev@company.com"}` |


774 774 

775La directory `${CLAUDE_PLUGIN_DATA}` si risolve in `~/.claude/plugins/data/{id}/`, dove `{id}` è l'identificatore del plugin con caratteri al di fuori di `a-z`, `A-Z`, `0-9`, `_`, e `-` sostituiti da `-`. Per un plugin installato come `formatter@my-marketplace`, la directory è `~/.claude/plugins/data/formatter-my-marketplace/`.775La directory `${CLAUDE_PLUGIN_DATA}` si risolve in `~/.claude/plugins/data/{id}/`, dove `{id}` è l'identificatore del plugin con caratteri al di fuori di `a-z`, `A-Z`, `0-9`, `_`, e `-` sostituiti da `-`. Per un plugin installato come `formatter@my-marketplace`, la directory è `~/.claude/plugins/data/formatter-my-marketplace/`.

776 776 

777Un uso comune è installare le dipendenze del linguaggio una volta e riutilizzarle tra sessioni e aggiornamenti del plugin. Utilizzarla per le dipendenze Python, le dipendenze bloccate con Yarn o pnpm, e i pacchetti i cui script del ciclo di vita devono essere eseguiti. Per un plugin installato dal marketplace, potrebbe non essere necessario affatto: Claude Code installa automaticamente le [dipendenze del pacchetto Node.js](/docs/it/plugin-dependencies#node-js-package-dependencies) idonee quando memorizza il plugin nella cache.777Un uso comune è installare le dipendenze del linguaggio una volta e riutilizzarle tra sessioni e aggiornamenti del plugin. Utilizzarla per le dipendenze Python, le dipendenze bloccate con Yarn o pnpm, e i pacchetti i cui script del ciclo di vita devono essere eseguiti. Per un plugin installato dal marketplace, potrebbe non essere necessario affatto: Claude Code installa automaticamente le [dipendenze del pacchetto Node.js](#node-js-package-dependencies) idonee quando memorizza il plugin nella cache.

778 778 

779Poiché la directory di dati sopravvive a qualsiasi singola versione del plugin, un controllo per l'esistenza della directory da solo non può rilevare quando un aggiornamento cambia il manifest delle dipendenze del plugin. Il modello consigliato confronta il manifest fornito con una copia nella directory di dati e reinstalla quando differiscono.779Poiché la directory di dati sopravvive a qualsiasi singola versione del plugin, un controllo per l'esistenza della directory da solo non può rilevare quando un aggiornamento cambia il manifest delle dipendenze del plugin. Il modello consigliato confronta il manifest fornito con una copia nella directory di dati e reinstalla quando differiscono.

780 780 


875 875 

876Claude Code non consente a un plugin di fare riferimento a file al di fuori della sua stessa directory. Rifiuta un percorso di componente che si risolve al di fuori della root del plugin, indipendentemente dal fatto che il percorso sia dichiarato in `plugin.json` o in una [voce del marketplace](/docs/it/plugin-marketplaces#plugin-entries). Ciò copre un percorso che punta al di fuori del plugin come scritto, come `../shared-utils`, e un symlink che porta al di fuori del plugin, ad eccezione dei [link all'interno di un marketplace](#share-files-within-a-marketplace-with-symlinks).876Claude Code non consente a un plugin di fare riferimento a file al di fuori della sua stessa directory. Rifiuta un percorso di componente che si risolve al di fuori della root del plugin, indipendentemente dal fatto che il percorso sia dichiarato in `plugin.json` o in una [voce del marketplace](/docs/it/plugin-marketplaces#plugin-entries). Ciò copre un percorso che punta al di fuori del plugin come scritto, come `../shared-utils`, e un symlink che porta al di fuori del plugin, ad eccezione dei [link all'interno di un marketplace](#share-files-within-a-marketplace-with-symlinks).

877 877 

878Su macOS e Linux, Claude Code rifiuta anche un percorso di componente che contiene una barra rovesciata in qualsiasi punto, anche quando il percorso rimane all'interno del plugin. I componenti dichiarati con percorsi con barra rovesciata quindi si caricano solo su Windows. Scrivete i percorsi dei componenti con barre oblique, come `./commands/deploy.md`.

879 

878Quando Claude Code rifiuta un percorso, segnala un errore [`path escapes plugin directory`](/docs/it/errors#path-escapes-plugin-directory) e carica il plugin senza quel componente.880Quando Claude Code rifiuta un percorso, segnala un errore [`path escapes plugin directory`](/docs/it/errors#path-escapes-plugin-directory) e carica il plugin senza quel componente.

879 881 

880Claude Code inoltre non copia i file al di fuori della directory del plugin nella cache quando installa il plugin, quindi quando uno script all'interno di un plugin copiato legge un percorso sopra la root del plugin, non trova nemmeno quei file.882Claude Code inoltre non copia i file al di fuori della directory del plugin nella cache quando installa il plugin, quindi quando uno script all'interno di un plugin copiato legge un percorso sopra la root del plugin, non trova nemmeno quei file.

quickstart.md +5 −5

Details

33 <Tab title="Native Install (Recommended)">33 <Tab title="Native Install (Recommended)">

34 **macOS, Linux, WSL:**34 **macOS, Linux, WSL:**

35 35 

36 ```bash theme={null} theme={null} theme={null} theme={null}36 ```bash theme={null}

37 curl -fsSL https://claude.ai/install.sh | bash37 curl -fsSL https://claude.ai/install.sh | bash

38 ```38 ```

39 39 

40 **Windows PowerShell:**40 **Windows PowerShell:**

41 41 

42 ```powershell theme={null} theme={null} theme={null} theme={null}42 ```powershell theme={null}

43 irm https://claude.ai/install.ps1 | iex43 irm https://claude.ai/install.ps1 | iex

44 ```44 ```

45 45 

46 **Windows CMD:**46 **Windows CMD:**

47 47 

48 ```batch theme={null} theme={null} theme={null} theme={null}48 ```batch theme={null}

49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

50 ```50 ```

51 51 


61 </Tab>61 </Tab>

62 62 

63 <Tab title="Homebrew">63 <Tab title="Homebrew">

64 ```bash theme={null} theme={null} theme={null} theme={null}64 ```bash theme={null}

65 brew install --cask claude-code65 brew install --cask claude-code

66 ```66 ```

67 67 


73 </Tab>73 </Tab>

74 74 

75 <Tab title="WinGet">75 <Tab title="WinGet">

76 ```powershell theme={null} theme={null} theme={null} theme={null}76 ```powershell theme={null}

77 winget install Anthropic.ClaudeCode77 winget install Anthropic.ClaudeCode

78 ```78 ```

79 79 

Details

17Claude Code offers three ways to schedule recurring or one-off work:17Claude Code offers three ways to schedule recurring or one-off work:

18 18 

19| | [Cloud](/docs/en/routines) | [Desktop](/docs/en/desktop-scheduled-tasks) | [`/loop`](/docs/en/scheduled-tasks) |19| | [Cloud](/docs/en/routines) | [Desktop](/docs/en/desktop-scheduled-tasks) | [`/loop`](/docs/en/scheduled-tasks) |

20| :------------------------- | :---------------------------------- | :------------------------------------- | :---------------------------------- |20| :------------------------- | :---------------------------------- | :------------------------------------- | :------------------------------------------------------------------------- |

21| Runs on | Cloud, Anthropic-managed by default | Your machine | Your machine |21| Runs on | Cloud, Anthropic-managed by default | Your machine | Your machine |

22| Requires machine on | No | Yes | Yes |22| Requires machine on | No | Yes | Yes |

23| Requires open session | No | No | Yes |23| Requires open session | No | No | Yes |

24| Persistent across restarts | Yes | Yes | Restored on `--resume` if unexpired |24| Persistent across restarts | Yes | Yes | Restored on `--resume`, with [exceptions](/docs/en/scheduled-tasks#limitations) |

25| Access to local files | No (fresh clone) | Yes | Yes |25| Access to local files | No (fresh clone) | Yes | Yes |

26| MCP servers | Connectors configured per task | [Config files](/docs/en/mcp) and connectors | Inherits from session |26| MCP servers | Connectors configured per task | [Config files](/docs/en/mcp) and connectors | Inherits from session |

27| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |27| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |


48 48 

49* comandi integrati come `/permissions`, `/model`, o `/clear`49* comandi integrati come `/permissions`, `/model`, o `/clear`

50* skill contrassegnati [`disable-model-invocation: true`](/docs/it/skills#frontmatter-reference), incluso lo skill bundled `/verify`50* skill contrassegnati [`disable-model-invocation: true`](/docs/it/skills#frontmatter-reference), incluso lo skill bundled `/verify`

51* skill trattenuti da Claude da un'impostazione [`skillOverrides`](/docs/it/skills#override-skill-visibility-from-settings) o da una regola di [negazione](/docs/it/skills#restrict-claude's-skill-access) `Skill`51* skill trattenuti da Claude da un'impostazione [`skillOverrides`](/docs/it/skills#override-skill-visibility-from-settings) o da una regola di [negazione](/docs/it/skills#restrict-claude%E2%80%99s-skill-access) `Skill`

52* [prompt MCP](/docs/it/mcp#use-mcp-prompts-as-commands) come `/mcp__github__list_prs`52* [prompt MCP](/docs/it/mcp#use-mcp-prompts-as-commands) come `/mcp__github__list_prs`

53 53 

54<h3 id="run-on-a-fixed-interval">54<h3 id="run-on-a-fixed-interval">

Details

49 <Step title="Definire le impostazioni">49 <Step title="Definire le impostazioni">

50 Aggiungere la configurazione come JSON. Tutte le [impostazioni disponibili in `settings.json`](/docs/it/settings-reference#all-settings) sono supportate eccetto quelle limitate alla distribuzione delle politiche a livello del sistema operativo; vedere [Limitazioni attuali](#current-limitations) per questo breve elenco. Questo include [hooks](/docs/it/hooks), [variabili di ambiente](/docs/it/env-vars), e [impostazioni solo gestite](/docs/it/managed-settings#managed-only-settings) come `allowManagedPermissionRulesOnly`.50 Aggiungere la configurazione come JSON. Tutte le [impostazioni disponibili in `settings.json`](/docs/it/settings-reference#all-settings) sono supportate eccetto quelle limitate alla distribuzione delle politiche a livello del sistema operativo; vedere [Limitazioni attuali](#current-limitations) per questo breve elenco. Questo include [hooks](/docs/it/hooks), [variabili di ambiente](/docs/it/env-vars), e [impostazioni solo gestite](/docs/it/managed-settings#managed-only-settings) come `allowManagedPermissionRulesOnly`.

51 51 

52 Questo esempio applica un elenco di negazione delle autorizzazioni, impedisce agli utenti di ignorare le autorizzazioni e limita le regole di autorizzazione a quelle definite nelle impostazioni gestite:52 Questo esempio applica un elenco di negazione delle autorizzazioni, impedisce agli utenti di ignorare le autorizzazioni e limita le regole di autorizzazione a quelle definite nelle impostazioni gestite. La regola `Bash(curl *)` corrisponde a `curl` [come Claude lo scrive](/docs/it/permissions#bash-rule-limits), non a `/usr/bin/curl` o `sh -c 'curl …'`; per l'applicazione della rete che non dipende dal testo del comando, aggiungere un [blocco `sandbox` con `allowManagedDomainsOnly`](/docs/it/sandboxing#configure-the-sandbox-for-your-organization).

53 53 

54 ```json theme={null}54 ```json theme={null}

55 {55 {


203 203 

204Claude Code legge le variabili di Workload Identity Federation e i selettori `ANTHROPIC_PROFILE` e `ANTHROPIC_CONFIG_DIR` solo all'avvio, quindi un valore consegnato dal server per essi non cambia la fonte di credenziale della sessione nemmeno dopo che il recupero riesce. Per fornire quei selettori su Claude Code v2.1.223 o successivo, utilizzate [impostazioni gestite dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) come MDM o `managed-settings.json`. Per `CLAUDE_CONFIG_DIR` e le variabili della directory del sistema operativo, il trattenimento stesso è la protezione: il valore memorizzato nella cache rimane fuori dall'ambiente fino a quando il server non conferma il payload.204Claude Code legge le variabili di Workload Identity Federation e i selettori `ANTHROPIC_PROFILE` e `ANTHROPIC_CONFIG_DIR` solo all'avvio, quindi un valore consegnato dal server per essi non cambia la fonte di credenziale della sessione nemmeno dopo che il recupero riesce. Per fornire quei selettori su Claude Code v2.1.223 o successivo, utilizzate [impostazioni gestite dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) come MDM o `managed-settings.json`. Per `CLAUDE_CONFIG_DIR` e le variabili della directory del sistema operativo, il trattenimento stesso è la protezione: il valore memorizzato nella cache rimane fuori dall'ambiente fino a quando il server non conferma il payload.

205 205 

206Ogni altra chiave nel blocco `env` memorizzato nella cache si applica all'avvio. Una volta che il server conferma il payload, e voi lo approvate se necessita di [approvazione della sicurezza](#security-approval-dialogs), le variabili trattenute si applicano per il resto della sessione; i selettori solo all'avvio coperti sopra raggiungono l'ambiente ma non cambiano la fonte di credenziale della sessione in esecuzione.206Ogni altra chiave nel blocco `env` memorizzato nella cache si applica all'avvio. Una volta che il server conferma il payload, e voi lo approvate se necessita di [approvazione della sicurezza](#security-approval-dialogs), le variabili trattenute si applicano per il resto della sessione.

207 207 

208Se la vostra organizzazione ha bisogno di un proxy per raggiungere `api.anthropic.com`, il trattenimento influisce solo sul blocco `env` consegnato dal server stesso: un proxy impostato in un blocco `env` [gestito dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) tramite MDM o `managed-settings.json`, nell'ambiente della shell, o nelle [impostazioni utente](/docs/it/settings#where-settings-live) raggiunge il recupero delle impostazioni. La fonte gestita dall'endpoint richiede Claude Code v2.1.223 o successivo: il valore proxy gestito dal server memorizzato nella cache è trattenuto fino a quando il recupero non lo conferma, quindi il valore gestito dall'endpoint si riempie per chiave e raggiunge il recupero stesso. Prima della v2.1.223, utilizzate l'ambiente della shell o le impostazioni utente in modo che il proxy si applichi insieme a un payload server memorizzato nella cache. Il primo avvio non ha cache, quindi una fonte gestita dall'endpoint, l'ambiente della shell o le impostazioni utente è ancora necessario per il recupero iniziale.208Se la vostra organizzazione ha bisogno di un proxy per raggiungere `api.anthropic.com`, il trattenimento influisce solo sul blocco `env` consegnato dal server stesso: un proxy impostato in un blocco `env` [gestito dall'endpoint](/docs/it/managed-settings#delivery-mechanisms) tramite MDM o `managed-settings.json`, nell'ambiente della shell, o nelle [impostazioni utente](/docs/it/settings#where-settings-live) raggiunge il recupero delle impostazioni. La fonte gestita dall'endpoint richiede Claude Code v2.1.223 o successivo: il valore proxy gestito dal server memorizzato nella cache è trattenuto fino a quando il recupero non lo conferma, quindi il valore gestito dall'endpoint si riempie per chiave e raggiunge il recupero stesso. Prima della v2.1.223, utilizzate l'ambiente della shell o le impostazioni utente in modo che il proxy si applichi insieme a un payload server memorizzato nella cache. Il primo avvio non ha cache, quindi una fonte gestita dall'endpoint, l'ambiente della shell o le impostazioni utente è ancora necessario per il recupero iniziale.

209 209 


231 231 

232Per impedire ai client di avviarsi su impostazioni gestite dal server memorizzate nella cache o assenti, impostare `forceRemoteSettingsRefresh: true` nelle impostazioni gestite.232Per impedire ai client di avviarsi su impostazioni gestite dal server memorizzate nella cache o assenti, impostare `forceRemoteSettingsRefresh: true` nelle impostazioni gestite.

233 233 

234I client che hanno effettuato l'accesso tramite un [gateway di app Claude](#platform-availability) attendono il recupero all'avvio indipendentemente dal fatto che impostiate questo. Se il gateway risponde a un avvio interattivo frequentato con un `401` e questa impostazione è disattivata, il gateway ha terminato quell'accesso, quindi Claude Code stampa [`Cloud gateway session expired — run /login to reconnect.`](/docs/it/errors#cloud-gateway-session-expired) e apre la sessione disconnessa dal gateway fino a quando l'utente non esegue `/login`. Quando il recupero non riesce in qualsiasi altro modo, o in qualsiasi altro tipo di avvio ad eccezione di un sottocomando `claude auth`, il client esce con un errore.234I client che hanno effettuato l'accesso tramite un [gateway di app Claude](#platform-availability) attendono il recupero all'avvio indipendentemente dal fatto che impostiate questo, e gestiscono un recupero non riuscito come segue:

235 

236* Se il gateway risponde a un avvio interattivo presidiato con un `401` e questa impostazione è disattivata, il gateway ha terminato quell'accesso. Claude Code stampa [`Cloud gateway session expired — run /login to reconnect.`](/docs/it/errors#cloud-gateway-session-expired) e apre la sessione disconnessa dal gateway fino a quando l'utente non esegue `/login`.

237* Quando il recupero non riesce in qualsiasi altro modo, o in qualsiasi altro tipo di avvio ad eccezione di un sottocomando `claude auth`, il client esce con un errore.

235 238 

236Quando questa impostazione è attiva in una sessione che recupera impostazioni gestite dal server, la CLI si blocca all'avvio fino a quando le impostazioni remote non vengono recuperate di recente. Se il recupero non riesce, la CLI esce piuttosto che procedere senza la politica. Questa impostazione si auto-perpetua: una volta consegnata dal server, viene anche memorizzata nella cache localmente in modo che gli avvii successivi applichino lo stesso comportamento anche prima del primo recupero riuscito di una nuova sessione. Una sessione che [non recupera impostazioni gestite dal server](#platform-availability) inizia senza attendere.239Quando questa impostazione è attiva in una sessione che recupera impostazioni gestite dal server, la CLI si blocca all'avvio fino a quando le impostazioni remote non vengono recuperate di recente. Se il recupero non riesce, la CLI esce piuttosto che procedere senza la politica. Questa impostazione si auto-perpetua: una volta consegnata dal server, viene anche memorizzata nella cache localmente in modo che gli avvii successivi applichino lo stesso comportamento anche prima del primo recupero riuscito di una nuova sessione. Una sessione che [non recupera impostazioni gestite dal server](#platform-availability) inizia senza attendere.

237 240 


311 314 

312Claude Code decide se quattro interruttori di privacy necessitano di approvazione dal valore consegnato piuttosto che dal nome della variabile: `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_ERROR_REPORTING`, `DISABLE_TELEMETRY` e `DO_NOT_TRACK`. Un valore veritiero come `1` o `true` spegne solo il tracciamento, la segnalazione o altro traffico non essenziale, quindi Claude Code lo applica senza chiedere all'utente. Per qualsiasi altro valore non vuoto, Claude Code mostra la finestra di dialogo. Prima della v2.1.218, tutti tranne `DO_NOT_TRACK` si applicavano senza approvazione a qualsiasi valore, e `DO_NOT_TRACK` attivava la finestra di dialogo a qualsiasi valore non vuoto.315Claude Code decide se quattro interruttori di privacy necessitano di approvazione dal valore consegnato piuttosto che dal nome della variabile: `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_ERROR_REPORTING`, `DISABLE_TELEMETRY` e `DO_NOT_TRACK`. Un valore veritiero come `1` o `true` spegne solo il tracciamento, la segnalazione o altro traffico non essenziale, quindi Claude Code lo applica senza chiedere all'utente. Per qualsiasi altro valore non vuoto, Claude Code mostra la finestra di dialogo. Prima della v2.1.218, tutti tranne `DO_NOT_TRACK` si applicavano senza approvazione a qualsiasi valore, e `DO_NOT_TRACK` attivava la finestra di dialogo a qualsiasi valore non vuoto.

313 316 

314Claude Code decide anche se [`API_FORCE_IDLE_TIMEOUT`](/docs/it/env-vars) necessita di approvazione dal valore consegnato: un valore veritiero spegne solo il [timeout di inattività del corpo](/docs/it/network-config#streaming-idle-watchdogs), quindi Claude Code lo applica senza chiedere all'utente. Per qualsiasi altro valore non vuoto, Claude Code mostra la finestra di dialogo. Prima della v2.1.248, qualsiasi valore non vuoto attivava la finestra di dialogo.317Claude Code decide anche se [`API_FORCE_IDLE_TIMEOUT`](/docs/it/env-vars) necessita di approvazione dal valore consegnato: un valore veritiero attiva solo il [timeout di inattività del corpo](/docs/it/network-config#streaming-idle-watchdogs), quindi Claude Code lo applica senza chiedere all'utente. Per qualsiasi altro valore non vuoto, Claude Code mostra la finestra di dialogo. Prima della v2.1.248, qualsiasi valore non vuoto attivava la finestra di dialogo.

315 318 

316Se [`ANTHROPIC_CUSTOM_HEADERS`](/docs/it/env-vars#variables) necessita di approvazione dipende anche dal valore consegnato. Le intestazioni che solo taggano le richieste, come `Accept-Language`, si applicano senza la finestra di dialogo. Una riga che nomina una credenziale, un selettore di org o tenant, un override di routing o host, o un'intestazione di comportamento API, come `Authorization`, `X-Api-Key`, `Host`, `anthropic-beta` o le intestazioni `X-Amzn-Bedrock-*`, richiede approvazione. Lo fa anche una riga il cui nome non è un token di intestazione HTTP valido, o il cui valore contiene un carattere che un'intestazione HTTP non può portare. Il controllo corrisponde alle parole all'interno del nome dell'intestazione, quindi `X-Client-Version`, che contiene `client` e `version`, richiede approvazione anche. Prima della v2.1.251, qualsiasi valore `ANTHROPIC_CUSTOM_HEADERS` si applicava senza di essa.319Se [`ANTHROPIC_CUSTOM_HEADERS`](/docs/it/env-vars#variables) necessita di approvazione dipende anche dal valore consegnato. Le intestazioni che solo taggano le richieste, come `Accept-Language`, si applicano senza la finestra di dialogo. Una riga che nomina una credenziale, un selettore di org o tenant, un override di routing o host, o un'intestazione di comportamento API, come `Authorization`, `X-Api-Key`, `Host`, `anthropic-beta` o le intestazioni `X-Amzn-Bedrock-*`, richiede approvazione. Lo fa anche una riga il cui nome non è un token di intestazione HTTP valido, o il cui valore contiene un carattere che un'intestazione HTTP non può portare. Il controllo corrisponde alle parole all'interno del nome dell'intestazione, quindi `X-Client-Version`, che contiene `client` e `version`, richiede approvazione anche. Prima della v2.1.251, qualsiasi valore `ANTHROPIC_CUSTOM_HEADERS` si applicava senza di essa.

317 320 


326* Un accesso OAuth di Team o Enterprise329* Un accesso OAuth di Team o Enterprise

327* Un token OAuth fornito tramite `CLAUDE_CODE_OAUTH_TOKEN`330* Un token OAuth fornito tramite `CLAUDE_CODE_OAUTH_TOKEN`

328* Una chiave API configurata direttamente331* Una chiave API configurata direttamente

329* Un [profilo Anthropic](/docs/it/authentication#anthropic-profiles-and-federation-credentials) `user_oauth`, che l'[accesso alla Console senza chiave](/docs/it/authentication#sign-in-without-an-api-key) o il comando `ant auth login` della CLI di Claude Platform scrivono, a meno che il profilo non imposti un `base_url` diverso dall'API Anthropic. Richiede Claude Code v2.1.257 o successivo.332* Un [profilo Anthropic](/docs/it/authentication#anthropic-profiles-and-federation-credentials) `user_oauth`, a meno che il profilo non imposti un `base_url` diverso dall'API Anthropic. Richiede Claude Code v2.1.257 o successivo.

330 333 

331Né le chiavi restituite da uno script [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) né le credenziali di [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) attivano il recupero delle impostazioni.334Né le chiavi restituite da uno script [`apiKeyHelper`](/docs/it/settings-reference#apikeyhelper) né le credenziali di [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) attivano il recupero delle impostazioni.

332 335 

setup.md +5 −5

Details

47 <Tab title="Native Install (Recommended)">47 <Tab title="Native Install (Recommended)">

48 **macOS, Linux, WSL:**48 **macOS, Linux, WSL:**

49 49 

50 ```bash theme={null} theme={null} theme={null} theme={null}50 ```bash theme={null}

51 curl -fsSL https://claude.ai/install.sh | bash51 curl -fsSL https://claude.ai/install.sh | bash

52 ```52 ```

53 53 

54 **Windows PowerShell:**54 **Windows PowerShell:**

55 55 

56 ```powershell theme={null} theme={null} theme={null} theme={null}56 ```powershell theme={null}

57 irm https://claude.ai/install.ps1 | iex57 irm https://claude.ai/install.ps1 | iex

58 ```58 ```

59 59 

60 **Windows CMD:**60 **Windows CMD:**

61 61 

62 ```batch theme={null} theme={null} theme={null} theme={null}62 ```batch theme={null}

63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

64 ```64 ```

65 65 


75 </Tab>75 </Tab>

76 76 

77 <Tab title="Homebrew">77 <Tab title="Homebrew">

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

79 brew install --cask claude-code79 brew install --cask claude-code

80 ```80 ```

81 81 


87 </Tab>87 </Tab>

88 88 

89 <Tab title="WinGet">89 <Tab title="WinGet">

90 ```powershell theme={null} theme={null} theme={null} theme={null}90 ```powershell theme={null}

91 winget install Anthropic.ClaudeCode91 winget install Anthropic.ClaudeCode

92 ```92 ```

93 93 

Details

80Tutti questi accettano lo stesso formato di regola, `ToolName(specifier)`. Lo specifier dipende dallo strumento, e diversi strumenti condividono un formato:80Tutti questi accettano lo stesso formato di regola, `ToolName(specifier)`. Lo specifier dipende dallo strumento, e diversi strumenti condividono un formato:

81 81 

82| Formato della regola | Si applica a | Dettagli |82| Formato della regola | Si applica a | Dettagli |

83| :----------------------------- | :------------------------ | :------------------------------------------------------------------------------- |83| :----------------------------- | :------------------------ | :--------------------------------------------------------------------------------------- |

84| `Bash(npm run *)` | Bash, Monitor | [Corrispondenza del pattern di comando](/docs/it/permissions#bash) |84| `Bash(npm run *)` | Bash, Monitor | [Corrispondenza del pattern di comando](/docs/it/permissions#bash) |

85| `PowerShell(Get-ChildItem *)` | PowerShell | [Corrispondenza del pattern di comando](/docs/it/permissions#powershell) |85| `PowerShell(Get-ChildItem *)` | PowerShell | [Corrispondenza del pattern di comando](/docs/it/permissions#powershell) |

86| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Corrispondenza del pattern di percorso](/docs/it/permissions#read-and-edit) |86| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Corrispondenza del pattern di percorso](/docs/it/permissions#read-and-edit) |

87| `Edit(/src/**)` | Edit, Write, NotebookEdit | [Corrispondenza del pattern di percorso](/docs/it/permissions#read-and-edit) |87| `Edit(/src/**)` | Edit, Write, NotebookEdit | [Corrispondenza del pattern di percorso](/docs/it/permissions#read-and-edit) |

88| `Skill(deploy *)` | Skill | [Corrispondenza del nome della skill](/docs/it/skills#restrict-claude's-skill-access) |88| `Skill(deploy *)` | Skill | [Corrispondenza del nome della skill](/docs/it/skills#restrict-claude%E2%80%99s-skill-access) |

89| `Agent(Explore)` | Agent | [Corrispondenza del tipo di subagent](/docs/it/permissions#agent-subagents) |89| `Agent(Explore)` | Agent | [Corrispondenza del tipo di subagent](/docs/it/permissions#agent-subagents) |

90| `WebFetch(domain:example.com)` | WebFetch | [Corrispondenza del dominio](/docs/it/permissions#webfetch) |90| `WebFetch(domain:example.com)` | WebFetch | [Corrispondenza del dominio](/docs/it/permissions#webfetch) |

91| `WebSearch` | WebSearch | Nessuno specifier; consenti o nega lo strumento nel suo insieme |91| `WebSearch` | WebSearch | Nessuno specifier; consenti o nega lo strumento nel suo insieme |