SpyBara
Go Premium

Documentation 2026-05-11 23:00 UTC to 2026-05-12 22:57 UTC

31 files changed +985 −365. View all changes and history on the product overview
2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

agent-sdk/hooks.md +11 −11

Details

20 20 

21<Steps>21<Steps>

22 <Step title="Un evento si attiva">22 <Step title="Un evento si attiva">

23 Qualcosa accade durante l'esecuzione dell'agente e l'SDK attiva un evento: un strumento sta per essere chiamato (`PreToolUse`), uno strumento ha restituito un risultato (`PostToolUse`), un subagente è stato avviato o interrotto, l'agente è inattivo o l'esecuzione è terminata. Consultate l'[elenco completo degli eventi](#available-hooks).23 Qualcosa accade durante l'esecuzione dell'agente e l'SDK attiva un evento: uno strumento sta per essere chiamato (`PreToolUse`), uno strumento ha restituito un risultato (`PostToolUse`), un subagente è stato avviato o interrotto, l'agente è inattivo o l'esecuzione è terminata. Consultate l'[elenco completo degli eventi](#available-hooks).

24 </Step>24 </Step>

25 25 

26 <Step title="L'SDK raccoglie gli hooks registrati">26 <Step title="L'SDK raccoglie gli hooks registrati">

27 L'SDK verifica la presenza di hooks registrati per quel tipo di evento. Questo include gli hooks di callback che passate in `options.hooks` e gli hooks dei comandi shell dai file di impostazioni quando la voce [`settingSources`](/it/agent-sdk/typescript#setting-source) o [`setting_sources`](/it/agent-sdk/python#setting-source) corrispondente è abilitata, come avviene per le opzioni predefinite di `query()`.27 L'SDK verifica la presenza di hooks registrati per quel tipo di evento. Questo include gli hooks di callback che passate in `options.hooks` e gli hooks dei comandi shell dai file di impostazioni quando la voce [`settingSources`](/it/agent-sdk/typescript#settingsource) o [`setting_sources`](/it/agent-sdk/python#settingsource) corrispondente è abilitata, come avviene per le opzioni predefinite di `query()`.

28 </Step>28 </Step>

29 29 

30 <Step title="I matcher filtrano quali hooks vengono eseguiti">30 <Step title="I matcher filtrano quali hooks vengono eseguiti">


225 225 

226Ogni callback hook riceve tre argomenti:226Ogni callback hook riceve tre argomenti:

227 227 

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

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

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

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


236Il vostro callback restituisce un oggetto con due categorie di campi:236Il vostro callback restituisce un oggetto con due categorie di campi:

237 237 

238* **Campi di livello superiore** controllano la conversazione: `systemMessage` inietta un messaggio nella conversazione visibile al modello e `continue` (`continue_` in Python) determina se l'agente continua a funzionare dopo questo hook.238* **Campi di livello superiore** controllano la conversazione: `systemMessage` inietta un messaggio nella conversazione visibile al modello e `continue` (`continue_` in Python) determina se l'agente continua a funzionare dopo questo hook.

239* **`hookSpecificOutput`** controlla l'operazione corrente. I campi all'interno dipendono dal tipo di evento hook. Per gli hook `PreToolUse`, è qui che impostate `permissionDecision` (`"allow"`, `"deny"` o `"ask"`), `permissionDecisionReason` e `updatedInput`. Nell'SDK TypeScript, `permissionDecision` accetta anche `"defer"` per terminare la query e [riprendere in seguito](/it/hooks#defer-a-tool-call-for-later); questo valore non è disponibile nell'SDK Python. Per gli hook `PostToolUse`, potete impostare `additionalContext` per aggiungere informazioni al risultato dello strumento, o `updatedToolOutput` per sostituire completamente l'output dello strumento prima che Claude lo veda.239* **`hookSpecificOutput`** controlla l'operazione corrente. I campi all'interno dipendono dal tipo di evento hook. Per gli hook `PreToolUse`, è qui che impostate `permissionDecision` (`"allow"`, `"deny"`, `"ask"` o `"defer"`), `permissionDecisionReason` e `updatedInput`. Restituire `"defer"` termina la query in modo da poter [riprendere in seguito](/it/hooks#defer-a-tool-call-for-later). Per gli hook `PostToolUse`, potete impostare `additionalContext` per aggiungere informazioni al risultato dello strumento, o `updatedToolOutput` per sostituire completamente l'output dello strumento prima che Claude lo veda.

240 240 

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

242 242 

243<Note>243<Note>

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


326</CodeGroup>326</CodeGroup>

327 327 

328<Note>328<Note>

329 Quando utilizzate `updatedInput`, dovete anche includere `permissionDecision: 'allow'`. Restituite sempre un nuovo oggetto piuttosto che mutare l'originale `tool_input`.329 Quando utilizzate `updatedInput`, dovete anche includere `permissionDecision: 'allow'` per approvare automaticamente l'input modificato o `permissionDecision: 'ask'` per mostrarlo all'utente. Con `'defer'`, `updatedInput` viene ignorato. Restituite sempre un nuovo oggetto piuttosto che mutare l'originale `tool_input`.

330</Note>330</Note>

331 331 

332### Aggiungere contesto e bloccare uno strumento332### Aggiungere contesto e bloccare uno strumento


489 489 

490### Tracciare l'attività dei subagenti490### Tracciare l'attività dei subagenti

491 491 

492Utilizzate gli hook `SubagentStop` per monitorare quando i subagenti completano il loro lavoro. Consultate il tipo di input completo nei riferimenti SDK [TypeScript](/it/agent-sdk/typescript#hook-input) e [Python](/it/agent-sdk/python#hook-input). Questo esempio registra un riepilogo ogni volta che un subagente si completa:492Utilizzate gli hook `SubagentStop` per monitorare quando i subagenti completano il loro lavoro. Consultate il tipo di input completo nei riferimenti SDK [TypeScript](/it/agent-sdk/typescript#hookinput) e [Python](/it/agent-sdk/python#hookinput). Questo esempio registra un riepilogo ogni volta che un subagente si completa:

493 493 

494<CodeGroup>494<CodeGroup>

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


621 621 

622### Inoltrare le notifiche a Slack622### Inoltrare le notifiche a Slack

623 623 

624Utilizzate gli hook `Notification` per ricevere notifiche di sistema dall'agente e inoltrarle a servizi esterni. Le notifiche si attivano per tipi di evento specifici: `permission_prompt` (Claude ha bisogno di autorizzazione), `idle_prompt` (Claude è in attesa di input), `auth_success` (autenticazione completata) e `elicitation_dialog` (Claude sta richiedendo all'utente). Ogni notifica include un campo `message` con una descrizione leggibile dall'uomo e facoltativamente un `title`.624Utilizzate gli hook `Notification` per ricevere notifiche di sistema dall'agente e inoltrarle a servizi esterni. Le notifiche si attivano per tipi di evento specifici: `permission_prompt` (Claude ha bisogno di autorizzazione), `idle_prompt` (Claude è in attesa di input), `auth_success` (autenticazione completata), `elicitation_dialog` (Claude sta richiedendo all'utente), `elicitation_response` (l'utente ha risposto a un'elicitazione) e `elicitation_complete` (un'elicitazione è stata chiusa). Ogni notifica include un campo `message` con una descrizione leggibile dall'uomo e facoltativamente un `title`.

625 625 

626Questo esempio inoltra ogni notifica a un canale Slack. Richiede un [URL webhook in arrivo di Slack](https://api.slack.com/messaging/webhooks), che create aggiungendo un'app al vostro spazio di lavoro Slack e abilitando i webhook in arrivo:626Questo esempio inoltra ogni notifica a un canale Slack. Richiede un [URL webhook in arrivo di Slack](https://api.slack.com/messaging/webhooks), che create aggiungendo un'app al vostro spazio di lavoro Slack e abilitando i webhook in arrivo:

627 627 


727* Controllate che il vostro modello di matcher corrisponda esattamente al nome dello strumento727* Controllate che il vostro modello di matcher corrisponda esattamente al nome dello strumento

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

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

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

731 731 

732### Matcher non filtra come previsto732### Matcher non filtra come previsto

733 733 


769 };769 };

770 ```770 ```

771 771 

772* Dovete anche restituire `permissionDecision: 'allow'` affinché la modifica dell'input abbia effetto772* Dovete anche restituire `permissionDecision: 'allow'` o `'ask'` affinché la modifica dell'input abbia effetto

773 773 

774* Includete `hookEventName` in `hookSpecificOutput` per identificare quale tipo di hook è l'output774* Includete `hookEventName` in `hookSpecificOutput` per identificare quale tipo di hook è l'output

775 775 

776### Hook di sessione non disponibili in Python776### Hook di sessione non disponibili in Python

777 777 

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

779 779 

780<CodeGroup>780<CodeGroup>

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

Details

1> ## Documentation Index

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

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

4 

5# Modifica dei system prompt

6 

7> Scegli tra il preset `claude_code` e un system prompt personalizzato, e personalizza il comportamento con CLAUDE.md, stili di output, append, o un prompt completamente personalizzato.

8 

9I system prompt definiscono il comportamento, le capacità e lo stile di risposta di Claude. Inizia dal preset `claude_code` per strumenti di codifica simili a CLI o IDE dove un utente osserva e guida il lavoro. Scrivi il tuo prompt per agenti con una superficie, identità o modello di autorizzazione diverso.

10 

11Questa pagina copre:

12 

13* [Come funzionano i system prompt](#how-system-prompts-work), con una tabella decisionale per scegliere tra il preset, il preset con `append`, e un prompt personalizzato

14* [Personalizza il comportamento dell'agente](#customize-agent-behavior) con file CLAUDE.md, stili di output, `append`, o una stringa personalizzata

15* [Confronta i quattro approcci](#compare-the-four-approaches) per persistenza, ambito, e cosa preservano

16* [Combina gli approcci](#combine-approaches) per stratificare i metodi di personalizzazione insieme

17 

18## Come funzionano i system prompt

19 

20Un system prompt è l'insieme iniziale di istruzioni che modella il comportamento di Claude durante una conversazione. Agent SDK ha tre punti di partenza per esso:

21 

22* **Default minimalista**: quando non impostate `systemPrompt` in TypeScript o `system_prompt` in Python, l'SDK utilizza un prompt minimalista che copre la chiamata degli strumenti ma omette le linee guida di codifica di Claude Code, lo stile di risposta e il contesto del progetto. Questo differisce da `claude -p`, che utilizza il prompt completo di Claude Code per impostazione predefinita. Se state migrando dalla CLI e desiderate un comportamento corrispondente, impostate il preset `claude_code`.

23* **Preset `claude_code`**: il system prompt completo che utilizza la CLI di Claude Code, con istruzioni di utilizzo degli strumenti, linee guida di stile e formattazione del codice, regole di tono e verbosità della risposta, istruzioni di sicurezza e protezione, e contesto sulla directory di lavoro e sull'ambiente. Impostate `systemPrompt: { type: "preset", preset: "claude_code" }` in TypeScript o `system_prompt={"type": "preset", "preset": "claude_code"}` in Python, facoltativamente con `append` per aggiungere le vostre istruzioni alla fine.

24* **Stringa personalizzata**: un prompt che scrivete voi stessi. L'SDK invia solo ciò che fornite.

25 

26### Decidere un punto di partenza

27 

28Il fattore decisivo è quanto strettamente il vostro agente assomiglia a Claude Code: un agente di codifica che opera in un repository, con un umano che osserva l'output in streaming e guida il lavoro. Più il vostro prodotto si allontana da questo, più vorrete scrivere il vostro prompt.

29 

30| State costruendo | Utilizzate | Cosa ottenete |

31| :--------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

32| Uno strumento di codifica simile a CLI o IDE dove un umano osserva e guida, e i default di Claude Code sono quello che desiderate | Preset `claude_code` | Il prompt completo di Claude Code: guida degli strumenti, regole di sicurezza, risposte compatibili con il terminale, consapevolezza delle convenzioni del repository |

33| Lo stesso tipo di strumento, più regole specifiche del prodotto come standard di codifica, formato di output o contesto di dominio | Preset `claude_code` con `append` | Tutto quanto sopra, con le vostre istruzioni aggiunte dopo il preset. Nulla viene rimosso, quindi questa è la personalizzazione a rischio più basso |

34| Un agente con una superficie diversa, un'identità diversa o un modello di permessi diverso, o un agente non di codifica | Stringa di prompt personalizzata | Solo quello che scrivete. Siete responsabili della sostituzione della guida degli strumenti e delle istruzioni di sicurezza di cui il vostro agente ha ancora bisogno |

35| Un ciclo di chiamata degli strumenti sottile senza persona dell'agente, dove fornite tutto il comportamento nel prompt dell'utente | Nessuna opzione `systemPrompt` | Il default minimalista: supporto per la chiamata degli strumenti e nient'altro |

36 

37"Diverso da Claude Code" di solito significa uno dei seguenti:

38 

39* **Superficie diversa**: l'output non viene letto in un terminale dalla persona che lo ha attivato. Le interfacce chat, i consumatori di output strutturato e l'automazione non di codifica hanno ciascuno bisogno di un prompt che corrisponda a come il loro output viene renderizzato e revisionato. L'automazione di codifica incustodita, come un lavoro CI che corregge gli errori di lint o esamina i diff, si adatta comunque al preset perché il lavoro stesso è quello per cui il preset è scritto.

40* **Identità diversa**: l'agente non dovrebbe presentarsi come Claude Code. Un bot di supporto, un assistente di analisi dei dati, o qualsiasi agente specifico del dominio ha bisogno del suo proprio nome, ambito e persona.

41* **Modello di permessi diverso**: l'agente viene eseguito autonomamente senza che un umano approvi ogni passaggio, o opera su un insieme ristretto di risorse. Il prompt di Claude Code presuppone che un umano sia nel ciclo con accesso a un set di strumenti completo.

42* **Attività non di codifica**: la maggior parte del prompt di Claude Code è guida di codifica. Per agenti di ricerca, contenuto o operazioni, quella guida compete con le istruzioni di cui avete effettivamente bisogno.

43 

44La [tabella di confronto](#compare-the-four-approaches) mostra cosa preserva ogni metodo di personalizzazione.

45 

46## Personalizzare il comportamento dell'agente

47 

48Gli stili di output, `append`, e una stringa di prompt personalizzata modificano direttamente il system prompt. CLAUDE.md segue un percorso diverso: l'SDK lo legge e inietta il suo contenuto nella conversazione come contesto del progetto, non nel system prompt, quindi modella il comportamento insieme a qualsiasi system prompt tu scelga. [Skills](/it/agent-sdk/skills), [hooks](/it/agent-sdk/hooks), e [permissions](/it/agent-sdk/permissions) modellano anche il comportamento al di fuori del system prompt e sono trattati in pagine separate.

49 

50### File CLAUDE.md per istruzioni a livello di progetto

51 

52I file CLAUDE.md forniscono a Claude contesto e istruzioni persistenti a livello di progetto. L'SDK inietta il loro contenuto nella conversazione, non nel system prompt, quindi funzionano con qualsiasi configurazione di system prompt. Per sapere cosa mettere in CLAUDE.md, dove posizionarlo e come scrivere istruzioni efficaci, vedi [Come Claude ricorda il tuo progetto](/it/memory). Questa sezione copre ciò che è specifico dell'SDK: come CLAUDE.md si carica.

53 

54L'SDK legge CLAUDE.md quando la corrispondente fonte di impostazione è abilitata: `'project'` carica `CLAUDE.md` o `.claude/CLAUDE.md` dalla directory di lavoro, e `'user'` carica `~/.claude/CLAUDE.md`. Le opzioni predefinite di `query()` abilitano entrambe le fonti, quindi CLAUDE.md si carica automaticamente. Se imposti `settingSources` in TypeScript o `setting_sources` in Python esplicitamente, includi le fonti di cui hai bisogno. Il caricamento di CLAUDE.md è controllato dalle fonti di impostazione, non dal preset `claude_code`.

55 

56#### Caricare CLAUDE.md con l'SDK

57 

58Per caricare CLAUDE.md, imposta `settingSources` per includere il livello in cui vive il tuo CLAUDE.md. L'esempio seguente carica un CLAUDE.md a livello di progetto insieme al preset `claude_code`, quindi Claude ha sia il prompt completo dell'agente di codifica che le convenzioni del tuo progetto:

59 

60<CodeGroup>

61 ```typescript TypeScript theme={null}

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

63 

64 const messages = [];

65 

66 for await (const message of query({

67 prompt: "Add a new React component for user profiles",

68 options: {

69 systemPrompt: {

70 type: "preset",

71 preset: "claude_code" // Use Claude Code's system prompt

72 },

73 settingSources: ["project"] // Loads CLAUDE.md from project

74 }

75 })) {

76 messages.push(message);

77 }

78 

79 // Now Claude has access to your project guidelines from CLAUDE.md

80 ```

81 

82 ```python Python theme={null}

83 from claude_agent_sdk import query, ClaudeAgentOptions

84 

85 messages = []

86 

87 async for message in query(

88 prompt="Add a new React component for user profiles",

89 options=ClaudeAgentOptions(

90 system_prompt={

91 "type": "preset",

92 "preset": "claude_code", # Use Claude Code's system prompt

93 },

94 setting_sources=["project"], # Loads CLAUDE.md from project

95 ),

96 ):

97 messages.append(message)

98 

99 # Now Claude has access to your project guidelines from CLAUDE.md

100 ```

101</CodeGroup>

102 

103CLAUDE.md è persistente in tutte le sessioni di un progetto, condiviso con il tuo team tramite git, e scoperto automaticamente senza modifiche al codice. Non viene caricato se passi un array `settingSources` vuoto.

104 

105### Stili di output per configurazioni persistenti

106 

107Gli stili di output sono configurazioni salvate che modificano il system prompt di Claude. Vengono archiviati come file markdown e possono essere riutilizzati in sessioni e progetti diversi.

108 

109#### Creare uno stile di output

110 

111Uno stile di output è un file markdown con un `name` e una `description` nel suo frontmatter, seguito dal contenuto del prompt. Salvalo in `~/.claude/output-styles/` per uno stile a livello di utente disponibile in ogni progetto, o `.claude/output-styles/` nel tuo repository per uno stile a livello di progetto che puoi committare e condividere con il tuo team.

112 

113L'esempio seguente definisce una persona di revisione del codice. Salvalo come `~/.claude/output-styles/code-reviewer.md` per renderlo disponibile in tutti i progetti:

114 

115```markdown ~/.claude/output-styles/code-reviewer.md theme={null}

116---

117name: Code Reviewer

118description: Thorough code review assistant

119---

120 

121You are an expert code reviewer.

122 

123For every code submission:

1241. Check for bugs and security issues

1252. Evaluate performance

1263. Suggest improvements

1274. Rate code quality (1-10)

128```

129 

130#### Attivare uno stile di output

131 

132Una volta creato, attiva gli stili di output tramite:

133 

134* **CLI**: esegui `/config` e seleziona uno stile di output

135* **Impostazioni**: imposta `outputStyle` in `.claude/settings.local.json`

136* **TypeScript SDK**: imposta `options.outputStyle` al nome dello stile

137 

138L'SDK Python non ha un'opzione per selezionare uno stile di output a livello di programmazione. Per distribuzioni solo codice dove non puoi scrivere in `.claude/settings.local.json`, usa `append` o una stringa di prompt personalizzata invece.

139 

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

141 

142### Aggiungere al preset `claude_code`

143 

144Puoi usare il preset Claude Code con una proprietà `append` per aggiungere le tue istruzioni personalizzate preservando tutte le funzionalità integrate.

145 

146<CodeGroup>

147 ```typescript TypeScript theme={null}

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

149 

150 const messages = [];

151 

152 for await (const message of query({

153 prompt: "Help me write a Python function to calculate fibonacci numbers",

154 options: {

155 systemPrompt: {

156 type: "preset",

157 preset: "claude_code",

158 append: "Always include detailed docstrings and type hints in Python code."

159 }

160 }

161 })) {

162 messages.push(message);

163 if (message.type === "assistant") {

164 console.log(message.message.content);

165 }

166 }

167 ```

168 

169 ```python Python theme={null}

170 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage

171 

172 messages = []

173 

174 async for message in query(

175 prompt="Help me write a Python function to calculate fibonacci numbers",

176 options=ClaudeAgentOptions(

177 system_prompt={

178 "type": "preset",

179 "preset": "claude_code",

180 "append": "Always include detailed docstrings and type hints in Python code.",

181 }

182 ),

183 ):

184 messages.append(message)

185 if isinstance(message, AssistantMessage):

186 print(message.content)

187 ```

188</CodeGroup>

189 

190#### Migliorare il prompt caching tra utenti e macchine

191 

192Per impostazione predefinita, due sessioni che utilizzano lo stesso preset `claude_code` e lo stesso testo `append` non possono comunque condividere una voce della cache del prompt se vengono eseguite da directory di lavoro diverse. Questo perché il preset incorpora il contesto per sessione nel system prompt prima del tuo testo `append`: la directory di lavoro, se è un repository git, la piattaforma, la shell attiva, la versione del sistema operativo, e i percorsi della memoria automatica. Qualsiasi differenza in quel contesto produce un system prompt diverso e un cache miss. Il contenuto di CLAUDE.md non influisce sulla cache del system prompt perché l'SDK lo inietta nella conversazione, non nel system prompt.

193 

194Per rendere il system prompt identico tra le sessioni, imposta `excludeDynamicSections: true` in TypeScript o `"exclude_dynamic_sections": True` in Python. Il contesto per sessione si sposta nel primo messaggio dell'utente, lasciando solo il preset statico e il tuo testo `append` nel system prompt in modo che le configurazioni identiche condividano una voce della cache tra utenti e macchine.

195 

196<Note>

197 `excludeDynamicSections` richiede `@anthropic-ai/claude-agent-sdk` v0.2.98 o successivo, o `claude-agent-sdk` v0.1.58 o successivo per Python. Si applica solo alla forma dell'oggetto preset e non ha effetto quando `systemPrompt` è una stringa.

198</Note>

199 

200L'esempio seguente abbina un blocco `append` condiviso con `excludeDynamicSections` in modo che una flotta di agenti in esecuzione da directory diverse possa riutilizzare lo stesso system prompt memorizzato nella cache:

201 

202<CodeGroup>

203 ```typescript TypeScript theme={null}

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

205 

206 for await (const message of query({

207 prompt: "Triage the open issues in this repo",

208 options: {

209 systemPrompt: {

210 type: "preset",

211 preset: "claude_code",

212 append: "You operate Acme's internal triage workflow. Label issues by component and severity.",

213 excludeDynamicSections: true

214 }

215 }

216 })) {

217 // ...

218 }

219 ```

220 

221 ```python Python theme={null}

222 from claude_agent_sdk import query, ClaudeAgentOptions

223 

224 async for message in query(

225 prompt="Triage the open issues in this repo",

226 options=ClaudeAgentOptions(

227 system_prompt={

228 "type": "preset",

229 "preset": "claude_code",

230 "append": "You operate Acme's internal triage workflow. Label issues by component and severity.",

231 "exclude_dynamic_sections": True,

232 },

233 ),

234 ):

235 ...

236 ```

237</CodeGroup>

238 

239**Compromessi:** la directory di lavoro, il flag del repository git, la piattaforma, la shell attiva, la versione del sistema operativo, e i percorsi della memoria automatica raggiungono comunque Claude, ma come parte del primo messaggio dell'utente piuttosto che del system prompt. Le istruzioni nel messaggio dell'utente hanno un peso leggermente inferiore rispetto allo stesso testo nel system prompt, quindi Claude potrebbe fare affidamento su di esse meno fortemente quando ragiona sulla directory corrente o sui percorsi della memoria automatica. Abilita questa opzione quando il riutilizzo della cache tra sessioni è più importante che il contesto dell'ambiente massimamente autorevole.

240 

241Per il flag equivalente in modalità CLI non interattiva, vedi [`--exclude-dynamic-system-prompt-sections`](/it/cli-reference).

242 

243### System prompt personalizzati

244 

245Puoi fornire una stringa personalizzata come `systemPrompt` per sostituire completamente il valore predefinito con le tue istruzioni.

246 

247<CodeGroup>

248 ```typescript TypeScript theme={null}

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

250 

251 const customPrompt = `You are a Python coding specialist.

252 Follow these guidelines:

253 - Write clean, well-documented code

254 - Use type hints for all functions

255 - Include comprehensive docstrings

256 - Prefer functional programming patterns when appropriate

257 - Always explain your code choices`;

258 

259 const messages = [];

260 

261 for await (const message of query({

262 prompt: "Create a data processing pipeline",

263 options: {

264 systemPrompt: customPrompt

265 }

266 })) {

267 messages.push(message);

268 if (message.type === "assistant") {

269 console.log(message.message.content);

270 }

271 }

272 ```

273 

274 ```python Python theme={null}

275 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage

276 

277 custom_prompt = """You are a Python coding specialist.

278 Follow these guidelines:

279 - Write clean, well-documented code

280 - Use type hints for all functions

281 - Include comprehensive docstrings

282 - Prefer functional programming patterns when appropriate

283 - Always explain your code choices"""

284 

285 messages = []

286 

287 async for message in query(

288 prompt="Create a data processing pipeline",

289 options=ClaudeAgentOptions(system_prompt=custom_prompt),

290 ):

291 messages.append(message)

292 if isinstance(message, AssistantMessage):

293 print(message.content)

294 ```

295</CodeGroup>

296 

297## Confronto dei quattro approcci

298 

299I quattro metodi di personalizzazione differiscono per dove risiedono, come vengono condivisi e cosa preservano dal preset `claude_code`.

300 

301| Funzionalità | CLAUDE.md | Stili di output | `systemPrompt` con append | `systemPrompt` personalizzato |

302| -------------------------------- | ---------------------- | ----------------------- | ------------------------- | ------------------------------ |

303| **Persistenza** | File per progetto | Salvati come file | Solo sessione | Solo sessione |

304| **Riutilizzabilità** | Per progetto | Tra progetti | Duplicazione del codice | Duplicazione del codice |

305| **Gestione** | Nel filesystem | CLI + file | Nel codice | Nel codice |

306| **Strumenti predefiniti** | Preservati | Preservati | Preservati | Persi (a meno che non inclusi) |

307| **Sicurezza integrata** | Mantenuta | Mantenuta | Mantenuta | Deve essere aggiunta |

308| **Contesto dell'ambiente** | Automatico | Automatico | Automatico | Deve essere fornito |

309| **Livello di personalizzazione** | Solo aggiunte | Sostituisci predefinito | Solo aggiunte | Controllo completo |

310| **Controllo versione** | Con progetto | Sì | Con codice | Con codice |

311| **Ambito** | Specifico del progetto | Utente o progetto | Sessione di codice | Sessione di codice |

312 

313"Con append" significa utilizzare `systemPrompt: { type: "preset", preset: "claude_code", append: "..." }` in TypeScript o `system_prompt={"type": "preset", "preset": "claude_code", "append": "..."}` in Python. CLAUDE.md non modifica il prompt di sistema stesso: l'SDK ne inietta il contenuto nella conversazione come contesto del progetto.

314 

315## Casi d'uso e best practice

316 

317### Quando utilizzare CLAUDE.md

318 

319Utilizzare CLAUDE.md per le istruzioni che dovrebbero applicarsi a ogni sessione in un progetto, indipendentemente dal prompt di sistema utilizzato dalla sessione: standard di codifica, comandi comuni, contesto dell'architettura e convenzioni del team. CLAUDE.md è sottoposto a commit nel vostro repository, quindi rimane sincronizzato con il codice che descrive. Consultare [When to add to CLAUDE.md](/it/memory#when-to-add-to-claude-md) per una guida completa.

320 

321I file CLAUDE.md vengono caricati quando la fonte di impostazione `project` è abilitata, il che avviene per le opzioni predefinite di `query()`. Se impostate esplicitamente `settingSources` in TypeScript o `setting_sources` in Python, includete `'project'` per continuare a caricare CLAUDE.md a livello di progetto.

322 

323### Quando utilizzare gli stili di output

324 

325Gli stili di output sono per le persone che desiderate riutilizzare tra la CLI e l'SDK senza modificare il codice dell'applicazione. Poiché risiedono come file in `.claude/output-styles`, la stessa persona è disponibile da `/config` nella CLI e da qualsiasi sessione SDK che carica la fonte di impostazione corrispondente.

326 

327**Ideale per:**

328 

329* Modifiche di comportamento persistenti tra sessioni

330* Configurazioni condivise dal team

331* Assistenti specializzati come un revisore del codice, un data scientist o un assistente DevOps

332* Modifiche di prompt complesse che necessitano di versionamento

333 

334**Esempi:**

335 

336* Creazione di un assistente dedicato per l'ottimizzazione SQL

337* Creazione di un revisore del codice incentrato sulla sicurezza

338* Sviluppo di un assistente didattico con una pedagogia specifica

339 

340### Quando utilizzare `systemPrompt` con append

341 

342Utilizzare `append` quando il preset `claude_code` si adatta già al vostro prodotto e avete solo bisogno di aggiungere istruzioni extra. Mantenete la guida degli strumenti del preset, le regole di sicurezza e le convenzioni di codifica senza reimplementarle.

343 

344**Ideale per:**

345 

346* Aggiunta di standard di codifica o preferenze specifiche

347* Personalizzazione della formattazione dell'output

348* Aggiunta di conoscenze specifiche del dominio

349* Modifica della verbosità della risposta

350* Miglioramento del comportamento predefinito di Claude Code senza perdere le istruzioni degli strumenti

351 

352### Quando utilizzare `systemPrompt` personalizzato

353 

354Utilizzare un prompt personalizzato quando la superficie, l'identità o il modello di autorizzazione dell'agente differisce da quello di Claude Code, come descritto in [Decide on a starting point](#decide-on-a-starting-point). Definite l'intero set di istruzioni, inclusa qualsiasi guida degli strumenti e regole di sicurezza di cui l'agente ha bisogno.

355 

356**Ideale per:**

357 

358* Controllo completo sul comportamento di Claude

359* Attività specializzate a sessione singola

360* Test di nuove strategie di prompt

361* Situazioni in cui gli strumenti predefiniti non sono necessari

362* Creazione di agenti specializzati con comportamento unico

363 

364## Combinazione di approcci

365 

366Questi metodi si compongono insieme. Uno stile di output persistente o CLAUDE.md imposta il comportamento a lungo termine, e `append` sovrappone le istruzioni specifiche della sessione senza toccare la configurazione salvata.

367 

368### Combinare uno stile di output con aggiunte specifiche della sessione

369 

370L'esempio seguente presuppone che uno stile di output Code Reviewer sia già attivo. Il blocco `append` sovrappone le aree di focus specifiche della sessione sulla persona, in modo che una singola sessione di revisione possa dare priorità a OAuth e all'archiviazione dei token senza modificare lo stile di output salvato:

371 

372<CodeGroup>

373 ```typescript TypeScript theme={null}

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

375 

376 // Assuming "Code Reviewer" output style is active (via /config or settings)

377 // Add session-specific focus areas

378 const messages = [];

379 

380 for await (const message of query({

381 prompt: "Review this authentication module",

382 options: {

383 systemPrompt: {

384 type: "preset",

385 preset: "claude_code",

386 append: `

387 For this review, prioritize:

388 - OAuth 2.0 compliance

389 - Token storage security

390 - Session management

391 `

392 }

393 }

394 })) {

395 messages.push(message);

396 }

397 ```

398 

399 ```python Python theme={null}

400 from claude_agent_sdk import query, ClaudeAgentOptions

401 

402 # Assuming "Code Reviewer" output style is active (via /config or settings)

403 # Add session-specific focus areas

404 messages = []

405 

406 async for message in query(

407 prompt="Review this authentication module",

408 options=ClaudeAgentOptions(

409 system_prompt={

410 "type": "preset",

411 "preset": "claude_code",

412 "append": """

413 For this review, prioritize:

414 - OAuth 2.0 compliance

415 - Token storage security

416 - Session management

417 """,

418 }

419 ),

420 ):

421 messages.append(message)

422 ```

423</CodeGroup>

424 

425## Vedi anche

426 

427* [Stili di output](/it/output-styles): crea, gestisci e condividi stili di output per la CLI, inclusi il formato del file e i percorsi di archiviazione

428* [Come Claude ricorda il tuo progetto](/it/memory): cosa inserire in CLAUDE.md, dove posizionarlo e come scrivere istruzioni di progetto efficaci

429* [Riferimento TypeScript SDK](/it/agent-sdk/typescript): il tipo `Options` completo, inclusi `systemPrompt`, `settingSources` e `outputStyle`

430* [Riferimento Python SDK](/it/agent-sdk/python): il tipo `ClaudeAgentOptions` completo, inclusi `system_prompt` e `setting_sources`

431* [Impostazioni](/it/settings): il riferimento `settings.json`, incluso dove sono archiviati gli stili di output e altre configurazioni

Details

396| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Configurazioni del server MCP |396| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Configurazioni del server MCP |

397| `model` | `string` | Predefinito da CLI | Modello Claude da usare |397| `model` | `string` | Predefinito da CLI | Modello Claude da usare |

398| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Definisci il formato di output per i risultati dell'agente. Vedi [Output strutturati](/it/agent-sdk/structured-outputs) per i dettagli |398| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Definisci il formato di output per i risultati dell'agente. Vedi [Output strutturati](/it/agent-sdk/structured-outputs) per i dettagli |

399| `outputStyle` | `string` | `undefined` | Nome di uno [stile di output](/it/output-styles) da attivare per la sessione. Lo stile deve esistere in una posizione `settingSources` caricata, come `.claude/output-styles/`. Vedi [Attiva uno stile di output](/it/agent-sdk/modifying-system-prompts#activate-an-output-style) |

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

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

401| `permissionPromptToolName` | `string` | `undefined` | Nome del tool MCP per i prompt di permesso |402| `permissionPromptToolName` | `string` | `undefined` | Nome del tool MCP per i prompt di permesso |

Details

12 12 

13Per le domande di chiarimento, Claude genera le domande e le opzioni. Il tuo ruolo è presentarle agli utenti e restituire le loro selezioni. Non puoi aggiungere le tue domande a questo flusso; se hai bisogno di chiedere qualcosa agli utenti tu stesso, fallo separatamente nella logica dell'applicazione.13Per le domande di chiarimento, Claude genera le domande e le opzioni. Il tuo ruolo è presentarle agli utenti e restituire le loro selezioni. Non puoi aggiungere le tue domande a questo flusso; se hai bisogno di chiedere qualcosa agli utenti tu stesso, fallo separatamente nella logica dell'applicazione.

14 14 

15Il callback può rimanere in sospeso indefinitamente. L'esecuzione rimane in pausa fino a quando il callback non restituisce, e l'SDK annulla l'attesa solo quando la query stessa viene annullata. Se un utente potrebbe impiegare più tempo per rispondere di quanto il tuo processo possa ragionevolmente rimanere in esecuzione, l'SDK TypeScript supporta il [hook `defer` decision](/it/hooks#defer-a-tool-call-for-later), che consente al processo di uscire e riprendere in seguito dalla sessione persistente; questa opzione non è disponibile nell'SDK Python.15Il callback può rimanere in sospeso indefinitamente. L'esecuzione rimane in pausa fino a quando il callback non restituisce, e l'SDK annulla l'attesa solo quando la query stessa viene annullata. Se un utente potrebbe impiegare più tempo per rispondere di quanto il tuo processo possa ragionevolmente rimanere in esecuzione, restituisci la decisione [`defer` hook](/it/hooks#defer-a-tool-call-for-later), che consente al processo di uscire e riprendere in seguito dalla sessione persistente.

16 16 

17Questa guida ti mostra come rilevare ogni tipo di richiesta e rispondere in modo appropriato.17Questa guida ti mostra come rilevare ogni tipo di richiesta e rispondere in modo appropriato.

18 18 


232 232 

233* **Approva**: consenti l'esecuzione dello strumento come richiesto da Claude233* **Approva**: consenti l'esecuzione dello strumento come richiesto da Claude

234* **Approva con modifiche**: modifica l'input prima dell'esecuzione (ad es. sanitizza i percorsi, aggiungi vincoli)234* **Approva con modifiche**: modifica l'input prima dell'esecuzione (ad es. sanitizza i percorsi, aggiungi vincoli)

235* **Approva e ricorda**: ripeti una regola di autorizzazione suggerita in modo che le chiamate corrispondenti saltino il prompt la prossima volta

235* **Rifiuta**: blocca lo strumento e spiega a Claude il motivo236* **Rifiuta**: blocca lo strumento e spiega a Claude il motivo

236* **Suggerisci alternativa**: blocca ma guida Claude verso ciò che l'utente vuole invece237* **Suggerisci alternativa**: blocca ma guida Claude verso ciò che l'utente vuole invece

237* **Reindirizza completamente**: utilizza [input streaming](/it/agent-sdk/streaming-vs-single-mode) per inviare a Claude un'istruzione completamente nuova238* **Reindirizza completamente**: utilizza [input streaming](/it/agent-sdk/streaming-vs-single-mode) per inviare a Claude un'istruzione completamente nuova


297 </CodeGroup>298 </CodeGroup>

298 </Tab>299 </Tab>

299 300 

301 <Tab title="Approva e ricorda">

302 L'utente approva e non vuole essere chiesto di nuovo per questo tipo di chiamata. Il terzo argomento del callback contiene `suggestions`, un array di voci [`PermissionUpdate`](/it/agent-sdk/typescript#permissionupdate) già pronte. Ripeti una di queste in `updatedPermissions` per applicarla. Un suggerimento con la destinazione `localSettings` scrive la regola in `.claude/settings.local.json` in modo che le sessioni future saltino il prompt per le chiamate corrispondenti.

303 

304 L'esempio Python richiede `claude-agent-sdk` 0.1.80 o successivo.

305 

306 <CodeGroup>

307 ```python Python theme={null}

308 async def can_use_tool(tool_name, input_data, context):

309 choice = await ask_user(f"Allow {tool_name}?", ["once", "always", "no"])

310 

311 if choice == "always":

312 persist = [

313 s for s in context.suggestions if s.destination == "localSettings"

314 ]

315 return PermissionResultAllow(

316 updated_input=input_data, updated_permissions=persist

317 )

318 if choice == "once":

319 return PermissionResultAllow(updated_input=input_data)

320 return PermissionResultDeny(message="User declined")

321 ```

322 

323 ```typescript TypeScript theme={null}

324 canUseTool: async (toolName, input, { suggestions = [] }) => {

325 const choice = await askUser(`Allow ${toolName}?`, ["once", "always", "no"]);

326 

327 if (choice === "always") {

328 const persist = suggestions.filter(

329 (s) => s.destination === "localSettings"

330 );

331 return {

332 behavior: "allow",

333 updatedInput: input,

334 updatedPermissions: persist

335 };

336 }

337 if (choice === "once") {

338 return { behavior: "allow", updatedInput: input };

339 }

340 return { behavior: "deny", message: "User declined" };

341 };

342 ```

343 </CodeGroup>

344 </Tab>

345 

300 <Tab title="Rifiuta">346 <Tab title="Rifiuta">

301 L'utente non vuole che questa azione accada. Blocca lo strumento e fornisci un messaggio che spiega il motivo. Claude vede questo messaggio e potrebbe provare un approccio diverso.347 L'utente non vuole che questa azione accada. Blocca lo strumento e fornisci un messaggio che spiega il motivo. Claude vede questo messaggio e potrebbe provare un approccio diverso.

302 348 

agent-teams.md +2 −0

Details

129Usa Sonnet per ogni compagno di team.129Usa Sonnet per ogni compagno di team.

130```130```

131 131 

132I compagni di team non ereditano la selezione `/model` del lead per impostazione predefinita. Per modificare il modello utilizzato quando il prompt non ne specifica uno, impostate **Default teammate model** in `/config`. Scegliete **Default (leader's model)** per fare in modo che i compagni di team seguano il modello attuale del lead.

133 

132### Richiedere l'approvazione del piano per i compagni di team134### Richiedere l'approvazione del piano per i compagni di team

133 135 

134Per compiti complessi o rischiosi, potete richiedere ai compagni di team di pianificare prima di implementare. Il compagno di team lavora in modalità piano di sola lettura fino a quando il lead approva il loro approccio:136Per compiti complessi o rischiosi, potete richiedere ai compagni di team di pianificare prima di implementare. Il compagno di team lavora in modalità piano di sola lettura fino a quando il lead approva il loro approccio:

agent-view.md +51 −32

Details

24* [Manage sessions from the shell](#manage-sessions-from-the-shell)24* [Manage sessions from the shell](#manage-sessions-from-the-shell)

25* [How background sessions are hosted](#how-background-sessions-are-hosted) dal processo supervisor25* [How background sessions are hosted](#how-background-sessions-are-hosted) dal processo supervisor

26 26 

27## Quick start27## Avvio rapido

28 28 

29Questa procedura apre agent view, invia una sessione, risponde dal pannello peek e si collega per la conversazione completa.29Questa procedura apre agent view, invia una sessione, risponde dal pannello peek e si collega per la conversazione completa.

30 30 


40 </Step>40 </Step>

41 41 

42 <Step title="Dispatch a session">42 <Step title="Dispatch a session">

43 Digita un prompt nell'input e premi `Enter`. Una nuova sessione inizia e appare come una riga che mostra se sta lavorando, aspettando te, o è fatta. Ripeti per eseguire quante sessioni in parallelo vuoi.43 Digita un prompt nell'input e premi `Enter`. Una nuova sessione inizia e appare come una riga che mostra se sta lavorando, aspettando te, o è completata. Ripeti per eseguire più sessioni in parallelo. Ognuna utilizza la tua quota di abbonamento indipendentemente, quindi consulta [Limitazioni](#limitations) prima di inviare molte sessioni contemporaneamente.

44 </Step>44 </Step>

45 45 

46 <Step title="Peek and reply">46 <Step title="Peek and reply">


56 56 

57Puoi usare `claude agents` come tuo punto di ingresso principale invece di `claude`: invia ogni compito da agent view, collegati quando vuoi la conversazione completa, e premi `←` per tornare alla tabella.57Puoi usare `claude agents` come tuo punto di ingresso principale invece di `claude`: invia ogni compito da agent view, collegati quando vuoi la conversazione completa, e premi `←` per tornare alla tabella.

58 58 

59## Monitor sessions with agent view59## Monitorare le sessioni con agent view

60 60 

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

62 62 

63L'elenco è globale per la tua macchina e include ogni sessione in background indipendentemente da quale progetto o worktree su cui sta lavorando. Le sessioni interattive che hai aperto in altri terminali non appaiono finché non le [metti in background](#from-inside-a-session), e i [subagents](/it/sub-agents) in esecuzione dentro una sessione non sono elencati come righe separate.63L'elenco copre ogni sessione in background nella tua [directory di configurazione](#how-background-sessions-are-hosted), indipendentemente da quale progetto o worktree su cui sta lavorando, quindi una sessione avviata in un repository e un'altra avviata in un worktree diverso appaiono insieme. Le sessioni interattive che hai aperto in altri terminali non appaiono finché non le [metti in background](#from-inside-a-session), e i [subagents](/it/sub-agents) in esecuzione dentro una sessione non sono elencati come righe separate.

64 64 

65```text theme={null}65```text theme={null}

66Pinned66Pinned

67 ✽ clawd walk cycle Write assets/sprites/clawd-walk.png 3m67 ✽ clawd walk cycle Write assets/sprites/clawd-walk.png 3m

68 68 

69Ready for review69Ready for review

70 ∙ jump physics github.com/anthropics/example/pull/2048 2h70 ∙ jump physics github.com/anthropics/example/pull/20482h

71 71 

72Needs input72Needs input

73 ✻ power-up design needs input: double jump or wall climb? 1m73 ✻ power-up design needs input: double jump or wall climb? 1m


82 … 6 more82 … 6 more

83```83```

84 84 

85L'icona ti dice lo stato della sessione:85L'icona di ogni riga trasmette due segnali. L'indicatore ti dice lo stato della sessione, e la forma dell'icona ti dice se il processo sottostante è ancora in esecuzione. Gli stati sono:

86 86 

87| Icon | State | What it means |87| Indicatore | Stato | Cosa significa |

88| :------- | :---------- | :--------------------------------------------------------------------------------------- |88| :--------- | :---------- | :--------------------------------------------------------------------------------------- |

89| Animated | Working | Claude sta attivamente eseguendo strumenti o generando una risposta |89| Animato | Working | Claude sta attivamente eseguendo strumenti o generando una risposta |

90| Yellow | Needs input | Claude sta aspettando il tuo input, solitamente una decisione di permesso o una risposta |90| Giallo | Needs input | Claude sta aspettando il tuo input, solitamente una decisione di permesso o una risposta |

91| Dimmed | Idle | La sessione sta aspettando input ma non è bloccata su una domanda specifica |91| Attenuato | Idle | La sessione sta aspettando input ma non è bloccata su una domanda specifica |

92| Green | Completed | Il compito è terminato con successo |92| Verde | Completed | Il compito è terminato con successo |

93| Red | Failed | Il compito è terminato con un errore |93| Rosso | Failed | Il compito è terminato con un errore |

94| Grey | Stopped | La sessione è stata fermata con `Ctrl+X` o `claude stop` |94| Grigio | Stopped | La sessione è stata fermata con `Ctrl+X` o `claude stop` |

95 95 

96La forma dell'icona ti dice se il processo sottostante è ancora in esecuzione. Un `✻`, o un `✽` animato mentre Claude sta lavorando, significa che la sessione è viva e puoi rispondere immediatamente. Un `∙` significa che il processo è uscito, ma puoi ancora fare peek, rispondere o collegarti: Claude riavvia la sessione da dove l'ha lasciata. Un `✢` è una sessione [`/loop`](/it/commands) che dorme tra le iterazioni, con la riga che mostra il conteggio delle esecuzioni e un conto alla rovescia per la prossima iterazione.96La forma dell'icona ti dice se il processo sottostante è ancora in esecuzione. Un `✻`, o un animato `✽` mentre Claude sta lavorando, significa che la sessione è viva e puoi rispondere immediatamente. Un `∙` significa che il processo è uscito, ma puoi ancora fare peek, rispondere o collegarti: Claude riavvia la sessione da dove l'ha lasciata. Un `✢` è una sessione [`/loop`](/it/commands) che dorme tra le iterazioni, con la riga che mostra il conteggio delle esecuzioni e un conto alla rovescia per la prossima iterazione.

97 97 

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

99 99 

100Le sessioni persistono su disco: chiudere il tuo terminale o un auto-update non le perde, e riaprire `claude agents` le mostra tutte. Se la tua macchina dorme o si spegne, le sessioni in esecuzione si fermano; riavviale con `claude respawn --all`.100Le sessioni persistono su disco: chiudere il tuo terminale o un auto-update non le perde, e riaprire `claude agents` le mostra tutte. Se la tua macchina dorme o si spegne, le sessioni in esecuzione si fermano; riavviale con `claude respawn --all`.

101 101 

102Il riassunto di una riga è generato dal tuo [modello di classe Haiku](/it/model-config) configurato in modo che la riga possa dirti cosa sta facendo la sessione, cosa ha bisogno, o cosa ha prodotto senza aprire il transcript. Ogni riassunto è una breve richiesta di classe Haiku attraverso il tuo provider normale, fatturato e gestito secondo gli stessi [termini di utilizzo dei dati](/it/data-usage) della sessione stessa.102Il riassunto di una riga è generato dal tuo [modello di classe Haiku](/it/model-config) configurato in modo che la riga possa dirti cosa sta facendo la sessione, cosa ha bisogno, o cosa ha prodotto senza aprire il transcript. Mentre una sessione sta attivamente lavorando, il riassunto si aggiorna al massimo una volta ogni 15 secondi, più una volta quando ogni turno termina. Ogni aggiornamento è una breve richiesta di classe Haiku attraverso il tuo provider normale, fatturato e gestito secondo gli stessi [termini di utilizzo dei dati](/it/data-usage) della sessione stessa.

103 103 

104Quando una sessione apre una pull request, la riga mostra il link PR e un indicatore di stato per i suoi controlli CI. Per la maggior parte dei compiti questa riga è come raccogli il lavoro: rivedi e unisci la pull request quando i suoi controlli passano.104Quando una sessione apre una pull request, un punto di stato appare al bordo destro della riga, collegato alla pull request nei terminali che supportano i hyperlink. Quando la sessione ha aperto più di una pull request, il conteggio appare prima del punto e il colore riflette quale ha più bisogno di attenzione.

105 

106| Colore del punto | Stato della pull request |

107| :--------------- | :------------------------------------------------------ |

108| Giallo | In attesa di controlli o revisione, o controlli falliti |

109| Verde | Controlli superati e nessuna revisione sta bloccando |

110| Viola | Unito |

111| Grigio | Bozza o chiuso |

112 

113Per la maggior parte dei compiti questa riga è dove raccogli il risultato: rivedi e unisci la pull request quando il punto diventa verde.

105 114 

106### Peek and reply115### Peek and reply

107 116 


121 130 

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

123 132 

124Una volta che hai usato agent view, premere `←` su un prompt vuoto funziona da qualsiasi sessione di Claude Code, non solo quelle a cui ti sei collegato. Apre agent view con la tua sessione corrente pre-selezionata, quindi puoi cambiare sessioni senza lasciare il terminale.133Dopo che hai inviato o messo in background una sessione, premere `←` su un prompt vuoto funziona da qualsiasi sessione di Claude Code, non solo quelle a cui ti sei collegato da agent view. Mette in background la sessione corrente e apre agent view con quella sessione pre-selezionata, quindi puoi cambiare sessioni senza lasciare il terminale. Puoi disattivare questa scorciatoia in `/config`.

125 134 

126### Organize the list135### Organize the list

127 136 


133 142 

134Digita nell'input di dispatch per filtrare invece di inviare:143Digita nell'input di dispatch per filtrare invece di inviare:

135 144 

136| Filter | Shows |145| Filtro | Mostra |

137| :---------------------- | :------------------------------------------------------------------------------- |146| :---------------------- | :------------------------------------------------------------------------------- |

138| `a:<name>` | Sessioni che eseguono l'agente denominato |147| `a:<name>` | Sessioni che eseguono l'agente denominato |

139| `s:<state>` | Sessioni nello stato dato, come `s:blocked` per sessioni che hanno bisogno di te |148| `s:<state>` | Sessioni nello stato dato, come `s:blocked` per sessioni che hanno bisogno di te |


143 152 

144Premi `?` in agent view per vedere ogni scorciatoia. Le più comuni:153Premi `?` in agent view per vedere ogni scorciatoia. Le più comuni:

145 154 

146| Shortcut | Action |155| Scorciatoia | Azione |

147| :-------------------- | :------------------------------------------------------------------- |156| :-------------------- | :------------------------------------------------------------------- |

148| `↑` / `↓` | Muoviti tra le righe |157| `↑` / `↓` | Muoviti tra le righe |

149| `Enter` | Collegati alla sessione selezionata, o invia se c'è testo nell'input |158| `Enter` | Collegati alla sessione selezionata, o invia se c'è testo nell'input |


162| `Ctrl+C` | Cancella l'input; premi due volte per uscire |171| `Ctrl+C` | Cancella l'input; premi due volte per uscire |

163| `?` | Mostra tutte le scorciatoie |172| `?` | Mostra tutte le scorciatoie |

164 173 

165## Dispatch new agents174## Invia nuovi agenti

166 175 

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

168 177 


183 192 

184Digita `/` per inviare una [skill](/it/skills). Confezionare un compito ricorrente come una skill ti permette di avviare lo stesso workflow molte volte da agent view senza riscrivere il prompt. Premi `Tab` su un input vuoto per sfogliare ogni subagent inviabile, o per applicare il suggerimento evidenziato quando i suggerimenti sono mostrati.193Digita `/` per inviare una [skill](/it/skills). Confezionare un compito ricorrente come una skill ti permette di avviare lo stesso workflow molte volte da agent view senza riscrivere il prompt. Premi `Tab` su un input vuoto per sfogliare ogni subagent inviabile, o per applicare il suggerimento evidenziato quando i suggerimenti sono mostrati.

185 194 

186#### Dispatch to a specific directory195Quando lo stesso `@name` corrisponde sia a un subagent che a un repository fratello, il subagent ha la precedenza. La forma della prima parola senza `@` si applica anche a qualsiasi nome di subagent, quindi un prompt che inizia con una parola che corrisponde a uno dei tuoi nomi di subagent invia quel subagent. Usa la forma `@` quando vuoi essere esplicito.

196 

197#### Invia a una directory specifica

187 198 

188Una nuova sessione viene eseguita nella directory da cui hai aperto agent view. Per indirizzare una directory diversa:199Una nuova sessione viene eseguita nella directory da cui hai aperto agent view. Per indirizzare una directory diversa:

189 200 


193 204 

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

195 206 

196#### Isolate file edits in a worktree

197 

198Le sessioni inviate da agent view condividono la tua directory di lavoro per impostazione predefinita, quindi due agenti che modificano gli stessi file possono entrare in conflitto. Per prevenire questo, Claude Code blocca una sessione inviata da agent view dalla scrittura di file finché non si sposta in un [git worktree](/it/worktrees) isolato. Claude gestisce questo automaticamente quando ha bisogno di modificare file. Il worktree è creato sotto `.claude/worktrees/` dentro la directory del progetto e rimosso quando elimini la sessione. Eliminare una sessione elimina anche il suo worktree, quindi unisci o spingi i cambiamenti che vuoi mantenere prima di eliminare.

199 

200Per fare in modo che un subagent venga sempre eseguito nel suo proprio worktree indipendentemente da come è stato avviato, imposta [`isolation: worktree`](/it/sub-agents#supported-frontmatter-fields) nel suo frontmatter.

201 

202### From inside a session207### From inside a session

203 208 

204Esegui `/background` o il suo alias `/bg` per scollegar la conversazione corrente e mantenerla in esecuzione. Passa un prompt come `/bg run the test suite and fix any failures` per inviare un'istruzione in più prima di scollegar.209Esegui `/background` o il suo alias `/bg` per scollegar la conversazione corrente e mantenerla in esecuzione. Passa un prompt come `/bg run the test suite and fix any failures` per inviare un'istruzione in più prima di scollegar.


227 claude stop 7c5dcf5d stop this session232 claude stop 7c5dcf5d stop this session

228```233```

229 234 

235### Come gli edit dei file sono isolati

236 

237Ogni sessione in background, che sia avviata da agent view, `/bg`, o `claude --bg`, inizia nella tua directory di lavoro ma è bloccata dalla scrittura di file lì. Quando la sessione ha bisogno di modificare file, Claude la sposta automaticamente in un [git worktree](/it/worktrees) isolato sotto `.claude/worktrees/`, quindi le sessioni parallele possono leggere lo stesso checkout ma ognuna scrive nel suo. Il blocco non si applica quando la sessione è già dentro un worktree, quando la directory di lavoro non è un repository git, o alle scritture al di fuori della directory di lavoro.

238 

239Il worktree viene rimosso quando elimini la sessione, quindi unisci o spingi i cambiamenti che vuoi mantenere prima di eliminare. Per trovare il percorso del worktree di una sessione, visualizza l'anteprima della sessione o collegati e controlla la sua directory di lavoro.

240 

241Per fare in modo che un subagent venga sempre eseguito nel suo proprio worktree indipendentemente da come è stato avviato, imposta [`isolation: worktree`](/it/sub-agents#supported-frontmatter-fields) nel suo frontmatter.

242 

243### Permission mode e settings

244 

245Una sessione inviata legge i suoi [settings](/it/settings) e [permission mode](/it/permissions) dalla directory in cui viene eseguita, come se avessi avviato `claude` lì. L'invio da agent view input non passa un permission mode, quindi la sessione utilizza il `defaultMode` dai settings di quella directory o il `permissionMode` dal frontmatter del [subagent inviato](/it/sub-agents#supported-frontmatter-fields).

246 

247Per impostare il mode dalla shell, passa `--permission-mode` con `claude --bg`. L'uso di `bypassPermissions` o `auto` in questo modo è rifiutato finché non hai accettato quel mode eseguendo `claude` con esso una volta in modo interattivo, poiché questi mode permettono a una sessione che non stai guardando di agire senza approvazione.

248 

230## Manage sessions from the shell249## Manage sessions from the shell

231 250 

232Ogni sessione in background ha un ID breve che puoi usare dalla shell. Questi comandi sono utili per lo scripting o quando non vuoi aprire agent view.251Ogni sessione in background ha un ID breve che puoi usare dalla shell. Questi comandi sono utili per lo scripting o quando non vuoi aprire agent view.


277 296 

278I worktrees sono rimossi quando elimini la sessione che li ha creati. Se una sessione è terminata senza pulire, elenca le voci rimaste con `git worktree list` nella directory del progetto e rimuovi ognuna con `git worktree remove <path>`. Vedi [Clean up worktrees](/it/worktrees#clean-up-worktrees).297I worktrees sono rimossi quando elimini la sessione che li ha creati. Se una sessione è terminata senza pulire, elenca le voci rimaste con `git worktree list` nella directory del progetto e rimuovi ognuna con `git worktree remove <path>`. Vedi [Clean up worktrees](/it/worktrees#clean-up-worktrees).

279 298 

280## Limitations299## Limitazioni

281 300 

282Agent view è un'anteprima di ricerca. Le limitazioni attuali di cui essere consapevoli:301Agent view è un'anteprima di ricerca. Le limitazioni attuali di cui essere consapevoli:

283 302 

284* **I limiti di velocità si applicano**: le sessioni in background consumano il tuo utilizzo di abbonamento come le sessioni interattive, quindi eseguire dieci agenti in parallelo usa la quota dieci volte più velocemente.303* **I limiti di velocità si applicano**: le sessioni in background consumano l'utilizzo dell'abbonamento allo stesso modo delle sessioni interattive, quindi eseguire dieci agenti in parallelo utilizza la quota approssimativamente dieci volte più velocemente rispetto all'esecuzione di uno.

285* **Le sessioni sono locali**: le sessioni in background vengono eseguite sulla tua macchina e si fermano se dorme o si spegne.304* **Le sessioni sono locali**: le sessioni in background vengono eseguite sulla vostra macchina e si fermano se entra in modalità sospensione o si spegne.

286* **I worktrees vengono eliminati con la sessione**: unisci o spingi i cambiamenti prima di eliminare una sessione che ha modificato file nel suo proprio worktree.305* **I worktrees vengono eliminati con la sessione**: unite o inviate i cambiamenti prima di eliminare una sessione che ha modificato file nel suo proprio worktree.

287 306 

288## Passaggi successivi307## Passaggi successivi

289 308 

Details

1465Fai clic su un nome di file per aprire quel nodo nell'explorer sopra.1465Fai clic su un nome di file per aprire quel nodo nell'explorer sopra.

1466 1466 

1467| File | Ambito | Commit | Cosa fa | Riferimento |1467| File | Ambito | Commit | Cosa fa | Riferimento |

1468| --------------------------------------------------- | ------------------ | ------ | ----------------------------------------------------------------------------- | -------------------------------------------------------------------- |1468| --------------------------------------------------- | ------------------ | ------ | ----------------------------------------------------------------------------- | --------------------------------------------------------------- |

1469| [`CLAUDE.md`](#ce-claude-md) | Progetto e globale | ✓ | Istruzioni caricate ogni sessione | [Memory](/it/memory) |1469| [`CLAUDE.md`](#ce-claude-md) | Progetto e globale | ✓ | Istruzioni caricate ogni sessione | [Memory](/it/memory) |

1470| [`rules/*.md`](#ce-rules) | Progetto e globale | ✓ | Istruzioni con ambito di argomento, facoltativamente controllate dal percorso | [Rules](/it/memory#organize-rules-with-claude/rules/) |1470| [`rules/*.md`](#ce-rules) | Progetto e globale | ✓ | Istruzioni con ambito di argomento, facoltativamente controllate dal percorso | [Rules](/it/memory#organize-rules-with-claude/rules/) |

1471| [`settings.json`](#ce-settings-json) | Progetto e globale | ✓ | Permessi, hooks, variabili di ambiente, impostazioni predefinite del modello | [Settings](/it/settings) |1471| [`settings.json`](#ce-settings-json) | Progetto e globale | ✓ | Permessi, hooks, variabili di ambiente, impostazioni predefinite del modello | [Settings](/it/settings) |

1472| [`settings.local.json`](#ce-settings-local-json) | Solo progetto | | I tuoi override personali, auto-gitignored | [Settings scopes](/it/settings#settings-files) |1472| [`settings.local.json`](#ce-settings-local-json) | Solo progetto | | I tuoi override personali, auto-gitignored | [Settings scopes](/it/settings#settings-files) |

1473| [`.mcp.json`](#ce-mcp-json) | Solo progetto | ✓ | Server MCP condivisi dal team | [MCP scopes](/it/mcp#mcp-installation-scopes) |1473| [`.mcp.json`](#ce-mcp-json) | Solo progetto | ✓ | Server MCP condivisi dal team | [MCP scopes](/it/mcp#mcp-installation-scopes) |

1474| [`.worktreeinclude`](#ce-worktreeinclude) | Solo progetto | ✓ | File ignorati da git da copiare nei nuovi worktrees | [Worktrees](/it/common-workflows#copy-gitignored-files-to-worktrees) |1474| [`.worktreeinclude`](#ce-worktreeinclude) | Solo progetto | ✓ | File ignorati da git da copiare nei nuovi worktrees | [Worktrees](/it/worktrees#copy-gitignored-files-into-worktrees) |

1475| [`skills/<name>/SKILL.md`](#ce-skills) | Progetto e globale | ✓ | Prompt riutilizzabili invocati con `/name` o auto-invocati | [Skills](/it/skills) |1475| [`skills/<name>/SKILL.md`](#ce-skills) | Progetto e globale | ✓ | Prompt riutilizzabili invocati con `/name` o auto-invocati | [Skills](/it/skills) |

1476| [`commands/*.md`](#ce-commands) | Progetto e globale | ✓ | Prompt a file singolo; stesso meccanismo delle skills | [Skills](/it/skills) |1476| [`commands/*.md`](#ce-commands) | Progetto e globale | ✓ | Prompt a file singolo; stesso meccanismo delle skills | [Skills](/it/skills) |

1477| [`output-styles/*.md`](#ce-output-styles) | Progetto e globale | ✓ | Sezioni di prompt di sistema personalizzate | [Output styles](/it/output-styles) |1477| [`output-styles/*.md`](#ce-output-styles) | Progetto e globale | ✓ | Sezioni di prompt di sistema personalizzate | [Output styles](/it/output-styles) |


1497| Percorso sotto `~/.claude/` | Contenuti |1497| Percorso sotto `~/.claude/` | Contenuti |

1498| -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |1498| -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |

1499| `projects/<project>/<session>.jsonl` | Trascrizione della conversazione completa: ogni messaggio, chiamata di strumento e risultato dello strumento |1499| `projects/<project>/<session>.jsonl` | Trascrizione della conversazione completa: ogni messaggio, chiamata di strumento e risultato dello strumento |

1500| `projects/<project>/<session>/subagents/` | Trascrizioni di conversazione [Subagent](/it/sub-agents), rimosse con la trascrizione della sessione padre quando scade |

1500| `projects/<project>/<session>/tool-results/` | Output di strumenti di grandi dimensioni versati in file separati |1501| `projects/<project>/<session>/tool-results/` | Output di strumenti di grandi dimensioni versati in file separati |

1501| `file-history/<session>/` | Snapshot pre-modifica dei file che Claude ha modificato, utilizzati per il [ripristino del checkpoint](/it/checkpointing) |1502| `file-history/<session>/` | Snapshot pre-modifica dei file che Claude ha modificato, utilizzati per il [ripristino del checkpoint](/it/checkpointing) |

1502| `plans/` | File di piano scritti durante la [plan mode](/it/permission-modes#analyze-before-you-edit-with-plan-mode) |1503| `plans/` | File di piano scritti durante la [Plan Mode](/it/permission-modes#analyze-before-you-edit-with-plan-mode) |

1503| `debug/` | Log di debug per sessione, scritti solo quando inizi con `--debug` o esegui `/debug` |1504| `debug/` | Log di debug per sessione, scritti solo quando inizi con `--debug` o esegui `/debug` |

1504| `paste-cache/`, `image-cache/` | Contenuti di incollamenti di grandi dimensioni e immagini allegate |1505| `paste-cache/`, `image-cache/` | Contenuti di incollamenti di grandi dimensioni e immagini allegate |

1505| `session-env/` | Metadati di ambiente per sessione |1506| `session-env/` | Metadati di ambiente per sessione |


1512I seguenti percorsi non sono coperti dalla pulizia automatica e persistono indefinitamente.1513I seguenti percorsi non sono coperti dalla pulizia automatica e persistono indefinitamente.

1513 1514 

1514| Percorso sotto `~/.claude/` | Contenuti |1515| Percorso sotto `~/.claude/` | Contenuti |

1515| --------------------------- | --------------------------------------------------------------------------------------------------------------- |1516| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1516| `history.jsonl` | Ogni prompt che hai digitato, con timestamp e percorso del progetto. Utilizzato per il richiamo con freccia su. |1517| `history.jsonl` | Ogni prompt che hai digitato, con timestamp e percorso del progetto. Utilizzato per il richiamo con freccia su. |

1517| `stats-cache.json` | Conteggi aggregati di token e costi mostrati da `/cost` |1518| `stats-cache.json` | Conteggi aggregati di token e costi mostrati da `/usage` |

1519| `remote-settings.json` | Copia memorizzata nella cache delle [impostazioni gestite dal server](/it/server-managed-settings) per la tua organizzazione. Presente solo quando la tua organizzazione le ha configurate. Aggiornato ad ogni avvio. |

1518| `todos/` | Elenchi di attività legacy per sessione. Non più scritti dalle versioni correnti; sicuro da eliminare. |1520| `todos/` | Elenchi di attività legacy per sessione. Non più scritti dalle versioni correnti; sicuro da eliminare. |

1519 1521 

1520Altri piccoli file di cache e lock appaiono a seconda delle funzioni che utilizzi e sono sicuri da eliminare.1522Altri piccoli file di cache e lock appaiono a seconda delle funzioni che utilizzi e sono sicuri da eliminare.


1569| `~/.claude/projects/` | Ripresa, continuazione e rewind per le sessioni passate |1571| `~/.claude/projects/` | Ripresa, continuazione e rewind per le sessioni passate |

1570| `~/.claude/history.jsonl` | Richiamo del prompt con freccia su |1572| `~/.claude/history.jsonl` | Richiamo del prompt con freccia su |

1571| `~/.claude/file-history/` | Ripristino del checkpoint per le sessioni passate |1573| `~/.claude/file-history/` | Ripristino del checkpoint per le sessioni passate |

1572| `~/.claude/stats-cache.json` | Totali storici mostrati da `/cost` |1574| `~/.claude/stats-cache.json` | Totali storici mostrati da `/usage` |

1575| `~/.claude/remote-settings.json` | Nulla. Recuperato di nuovo al prossimo avvio. |

1573| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/paste-cache/`, `~/.claude/image-cache/`, `~/.claude/session-env/`, `~/.claude/tasks/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Nulla di visibile all'utente |1576| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/paste-cache/`, `~/.claude/image-cache/`, `~/.claude/session-env/`, `~/.claude/tasks/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Nulla di visibile all'utente |

1574| `~/.claude/todos/` | Nulla. Directory legacy non scritta dalle versioni correnti. |1577| `~/.claude/todos/` | Nulla. Directory legacy non scritta dalle versioni correnti. |

1575 1578 

Details

124 124 

125`--system-prompt` e `--system-prompt-file` si escludono a vicenda. I flag di aggiunta possono essere combinati con uno qualsiasi dei flag di sostituzione.125`--system-prompt` e `--system-prompt-file` si escludono a vicenda. I flag di aggiunta possono essere combinati con uno qualsiasi dei flag di sostituzione.

126 126 

127Per la maggior parte dei casi d'uso, usa un flag di aggiunta. L'aggiunta preserva le capacità integrate di Claude Code mentre aggiunge i tuoi requisiti. Usa un flag di sostituzione solo quando hai bisogno del controllo completo sul prompt di sistema.127Scegli in base al fatto che l'identità predefinita di Claude Code si adatti ancora al tuo compito. Usa un flag di aggiunta quando Claude dovrebbe rimanere un assistente di codifica che segue anche le tue regole aggiuntive: istruzioni per invocazione, formattazione dell'output o contesto di dominio per uno script `-p`. L'aggiunta preserva la guida predefinita degli strumenti, le istruzioni di sicurezza e le convenzioni di codifica, quindi fornisci solo ciò che differisce. Usa un flag di sostituzione quando la superficie, l'identità o il modello di autorizzazione differisce da quello di Claude Code, come un agent non di codifica in una pipeline che nessun umano osserva. La sostituzione elimina l'intero prompt predefinito, inclusa la guida degli strumenti e le istruzioni di sicurezza, quindi assumi la responsabilità di qualunque cosa il tuo compito abbia ancora bisogno.

128 

129Questi flag si applicano solo all'invocazione corrente. Per persone persistenti che puoi alternare e condividere in un progetto, usa [output styles](/it/output-styles). Per convenzioni di progetto che Claude dovrebbe sempre seguire, usa [CLAUDE.md](/it/memory). La [guida Agent SDK sui prompt di sistema](/it/agent-sdk/modifying-system-prompts#decide-on-a-starting-point) copre la stessa decisione in maggiore profondità.

128 130 

129## Vedi anche131## Vedi anche

130 132 

commands.md +1 −0

Details

104| `/rewind` | Riavvolgi la conversazione e/o il codice a un punto precedente, o riassumi da un messaggio selezionato. Vedi [checkpointing](/it/checkpointing). Alias: `/checkpoint`, `/undo` |104| `/rewind` | Riavvolgi la conversazione e/o il codice a un punto precedente, o riassumi da un messaggio selezionato. Vedi [checkpointing](/it/checkpointing). Alias: `/checkpoint`, `/undo` |

105| `/sandbox` | Attiva/disattiva la [modalità sandbox](/it/sandboxing). Disponibile solo su piattaforme supportate |105| `/sandbox` | Attiva/disattiva la [modalità sandbox](/it/sandboxing). Disponibile solo su piattaforme supportate |

106| `/schedule [description]` | Crea, aggiorna, elenca o esegui [routine](/it/routines), che si eseguono sull'infrastruttura cloud gestita da Anthropic. Claude ti guida attraverso la configurazione in modo conversazionale. Alias: `/routines` |106| `/schedule [description]` | Crea, aggiorna, elenca o esegui [routine](/it/routines), che si eseguono sull'infrastruttura cloud gestita da Anthropic. Claude ti guida attraverso la configurazione in modo conversazionale. Alias: `/routines` |

107| `/scroll-speed` | Regola la [velocità di scorrimento](/it/fullscreen#mouse-wheel-scrolling) del mouse in modo interattivo, con un righello che puoi scorrere mentre la finestra di dialogo è aperta per visualizzare l'anteprima della modifica. Disponibile solo nel [rendering a schermo intero](/it/fullscreen) e non nel terminale dell'IDE JetBrains |

107| `/security-review` | Analizza le modifiche in sospeso sul ramo corrente per le vulnerabilità di sicurezza. Esamina il diff git e identifica i rischi come iniezione, problemi di autenticazione ed esposizione dei dati |108| `/security-review` | Analizza le modifiche in sospeso sul ramo corrente per le vulnerabilità di sicurezza. Esamina il diff git e identifica i rischi come iniezione, problemi di autenticazione ed esposizione dei dati |

108| `/setup-bedrock` | Configura l'autenticazione [Amazon Bedrock](/it/amazon-bedrock), la regione e i pin del modello attraverso una procedura guidata interattiva. Visibile solo quando `CLAUDE_CODE_USE_BEDROCK=1` è impostato. Gli utenti di Bedrock per la prima volta possono anche accedere a questa procedura guidata dalla schermata di accesso |109| `/setup-bedrock` | Configura l'autenticazione [Amazon Bedrock](/it/amazon-bedrock), la regione e i pin del modello attraverso una procedura guidata interattiva. Visibile solo quando `CLAUDE_CODE_USE_BEDROCK=1` è impostato. Gli utenti di Bedrock per la prima volta possono anche accedere a questa procedura guidata dalla schermata di accesso |

109| `/setup-vertex` | Configura l'autenticazione [Google Vertex AI](/it/google-vertex-ai), il progetto, la regione e i pin del modello attraverso una procedura guidata interattiva. Visibile solo quando `CLAUDE_CODE_USE_VERTEX=1` è impostato. Gli utenti di Vertex AI per la prima volta possono anche accedere a questa procedura guidata dalla schermata di accesso |110| `/setup-vertex` | Configura l'autenticazione [Google Vertex AI](/it/google-vertex-ai), il progetto, la regione e i pin del modello attraverso una procedura guidata interattiva. Visibile solo quando `CLAUDE_CODE_USE_VERTEX=1` è impostato. Gli utenti di Vertex AI per la prima volta possono anche accedere a questa procedura guidata dalla schermata di accesso |

data-usage.md +4 −4

Details

13**Utenti consumer (piani Free, Pro e Max)**:13**Utenti consumer (piani Free, Pro e Max)**:

14Vi diamo la possibilità di consentire l'utilizzo dei vostri dati per migliorare i futuri modelli Claude. Addestreremo nuovi modelli utilizzando i dati degli account Free, Pro e Max quando questa impostazione è attiva (incluso quando utilizzate Claude Code da questi account).14Vi diamo la possibilità di consentire l'utilizzo dei vostri dati per migliorare i futuri modelli Claude. Addestreremo nuovi modelli utilizzando i dati degli account Free, Pro e Max quando questa impostazione è attiva (incluso quando utilizzate Claude Code da questi account).

15 15 

16**Utenti commerciali**: (piani Team ed Enterprise, API, piattaforme di terze parti e Claude Gov) mantengono le politiche esistenti: Anthropic non addestra modelli generativi utilizzando codice o prompt inviati a Claude Code secondo i termini commerciali, a meno che il cliente non abbia scelto di fornirci i propri dati per il miglioramento del modello (ad esempio, il [Development Partner Program](https://support.claude.com/en/articles/11174108-about-the-development-partner-program)).16**Utenti commerciali**: (piani Team ed Enterprise, API, piattaforme di terze parti e Claude Gov) mantengono le politiche esistenti: Anthropic non addestra modelli generativi utilizzando codice o prompt inviati a Claude Code secondo i termini commerciali, a meno che il cliente non abbia scelto di fornirci i propri dati per il miglioramento del modello (ad esempio, il [Development Partner Program](https://support.claude.com/it/articles/11174108-about-the-development-partner-program)).

17 17 

18### Development Partner Program18### Development Partner Program

19 19 

20Se vi iscrivete esplicitamente a metodi per fornirci materiali su cui addestrare, come tramite il [Development Partner Program](https://support.claude.com/en/articles/11174108-about-the-development-partner-program), potremmo utilizzare tali materiali forniti per addestrare i nostri modelli. Un amministratore dell'organizzazione può iscriversi esplicitamente al Development Partner Program per la propria organizzazione. Si noti che questo programma è disponibile solo per l'API di Anthropic di prima parte e non per gli utenti di Bedrock o Vertex.20Se vi iscrivete esplicitamente a metodi per fornirci materiali su cui addestrare, come tramite il [Development Partner Program](https://support.claude.com/it/articles/11174108-about-the-development-partner-program), potremmo utilizzare tali materiali forniti per addestrare i nostri modelli. Un amministratore dell'organizzazione può iscriversi esplicitamente al Development Partner Program per la propria organizzazione. Si noti che questo programma è disponibile solo per l'API di Anthropic di prima parte e non per gli utenti di Bedrock o Vertex.

21 21 

22### Feedback utilizzando il comando `/feedback`22### Feedback utilizzando il comando `/feedback`

23 23 


33* **No**: rifiuta senza inviare nulla33* **No**: rifiuta senza inviare nulla

34* **Non chiedere più**: rifiuta e impedisce che questo follow-up appaia nelle sessioni future34* **Non chiedere più**: rifiuta e impedisce che questo follow-up appaia nelle sessioni future

35 35 

36Nulla viene caricato a meno che non selezioniate esplicitamente **Sì**. Le organizzazioni con [zero data retention](/it/zero-data-retention), o dove il feedback sui prodotti è disabilitato dalla politica dell'organizzazione, non vedono mai questo follow-up. Le vostre risposte a questo sondaggio, inclusi i transcript delle sessioni inviati dopo il prompt di valutazione, non influiscono sulle vostre preferenze di addestramento dei dati e non possono essere utilizzate per addestrare i nostri modelli di IA.36Nulla viene caricato a meno che non selezioniate esplicitamente **Sì**. Le organizzazioni con [zero data retention](/it/zero-data-retention), o dove il feedback sui prodotti è disabilitato dalla politica dell'organizzazione, o dove `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostato, non vedono mai questo follow-up. Le vostre risposte a questo sondaggio, inclusi i transcript delle sessioni inviati dopo il prompt di valutazione, non influiscono sulle vostre preferenze di addestramento dei dati e non possono essere utilizzate per addestrare i nostri modelli di IA.

37 37 

38Per disabilitare questi sondaggi, impostate `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1`. Il sondaggio viene anche disabilitato quando `DISABLE_TELEMETRY` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostato. Per controllare la frequenza invece di disabilitare, impostate [`feedbackSurveyRate`](/it/settings#available-settings) nel vostro file di impostazioni su una probabilità tra `0` e `1`.38Per disabilitare questi sondaggi, impostate `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1`. Il sondaggio viene anche disabilitato quando `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostato. Le organizzazioni che bloccano il traffico non essenziale ma acquisiscono le risposte ai sondaggi tramite il loro [OpenTelemetry collector](/it/monitoring-usage) possono ripristinare il sondaggio impostando `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1`. Il sondaggio registra quindi le valutazioni solo al collector configurato. Il follow-up di condivisione dei transcript e tutto il resto del traffico di feedback legato ad Anthropic rimangono disabilitati. Per controllare la frequenza invece di disabilitare, impostate [`feedbackSurveyRate`](/it/settings#available-settings) nel vostro file di impostazioni su una probabilità tra `0` e `1`.

39 39 

40### Conservazione dei dati40### Conservazione dei dati

41 41 

env-vars.md +5 −2

Details

81| `CLAUDE_CODE_DISABLE_CRON` | Imposta su `1` per disabilitare le [attività pianificate](/it/scheduled-tasks). La skill `/loop` e gli strumenti cron diventano non disponibili e tutte le attività già pianificate smettono di attivarsi, incluse le attività già in esecuzione a metà sessione |81| `CLAUDE_CODE_DISABLE_CRON` | Imposta su `1` per disabilitare le [attività pianificate](/it/scheduled-tasks). La skill `/loop` e gli strumenti cron diventano non disponibili e tutte le attività già pianificate smettono di attivarsi, incluse le attività già in esecuzione a metà sessione |

82| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Imposta su `1` per rimuovere le intestazioni di richiesta `anthropic-beta` specifiche di Anthropic e i campi dello schema degli strumenti beta (come `defer_loading` e `eager_input_streaming`) dalle richieste API. Utilizza questo quando un gateway proxy rifiuta le richieste con errori come "Unexpected value(s) for the `anthropic-beta` header" o "Extra inputs are not permitted". I campi standard (`name`, `description`, `input_schema`, `cache_control`) vengono preservati. |82| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Imposta su `1` per rimuovere le intestazioni di richiesta `anthropic-beta` specifiche di Anthropic e i campi dello schema degli strumenti beta (come `defer_loading` e `eager_input_streaming`) dalle richieste API. Utilizza questo quando un gateway proxy rifiuta le richieste con errori come "Unexpected value(s) for the `anthropic-beta` header" o "Extra inputs are not permitted". I campi standard (`name`, `description`, `input_schema`, `cache_control`) vengono preservati. |

83| `CLAUDE_CODE_DISABLE_FAST_MODE` | Imposta su `1` per disabilitare la [modalità veloce](/it/fast-mode) |83| `CLAUDE_CODE_DISABLE_FAST_MODE` | Imposta su `1` per disabilitare la [modalità veloce](/it/fast-mode) |

84| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Imposta su `1` per disabilitare i sondaggi sulla qualità della sessione "Come sta andando Claude?". I sondaggi sono anche disabilitati quando `DISABLE_TELEMETRY` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostato. Per impostare una frequenza di campionamento invece di disabilitare completamente, utilizza l'impostazione [`feedbackSurveyRate`](/it/settings#available-settings). Vedi [Sondaggi sulla qualità della sessione](/it/data-usage#session-quality-surveys) |84| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Imposta su `1` per disabilitare i sondaggi sulla qualità della sessione "Come sta andando Claude?". I sondaggi sono anche disabilitati quando `DISABLE_TELEMETRY`, `DO_NOT_TRACK` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` è impostato, a meno che `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` non opti di nuovo. Per impostare una frequenza di campionamento invece di disabilitare completamente, utilizza l'impostazione [`feedbackSurveyRate`](/it/settings#available-settings). Vedi [Sondaggi sulla qualità della sessione](/it/data-usage#session-quality-surveys) |

85| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Imposta su `1` per disabilitare il [checkpointing](/it/checkpointing) dei file. Il comando `/rewind` non sarà in grado di ripristinare le modifiche al codice |85| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Imposta su `1` per disabilitare il [checkpointing](/it/checkpointing) dei file. Il comando `/rewind` non sarà in grado di ripristinare le modifiche al codice |

86| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Imposta su `1` per rimuovere le istruzioni di workflow commit e PR integrate e lo snapshot dello stato git dal prompt di sistema di Claude. Utile quando si utilizzano le proprie skill di workflow git. Ha la precedenza sull'impostazione [`includeGitInstructions`](/it/settings#available-settings) se impostato |86| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Imposta su `1` per rimuovere le istruzioni di workflow commit e PR integrate e lo snapshot dello stato git dal prompt di sistema di Claude. Utile quando si utilizzano le proprie skill di workflow git. Ha la precedenza sull'impostazione [`includeGitInstructions`](/it/settings#available-settings) se impostato |

87| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Imposta su `1` per impedire il remapping automatico di Opus 4.0 e 4.1 alla versione Opus corrente sull'API Anthropic. Utilizza quando desideri intenzionalmente fissare un modello più vecchio. Il remapping non viene eseguito su Bedrock, Vertex o Foundry |87| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Imposta su `1` per impedire il remapping automatico di Opus 4.0 e 4.1 alla versione Opus corrente sull'API Anthropic. Utilizza quando desideri intenzionalmente fissare un modello più vecchio. Il remapping non viene eseguito su Bedrock, Vertex o Foundry |


96| `CLAUDE_CODE_EFFORT_LEVEL` | Imposta il livello di sforzo per i modelli supportati. Valori: `low`, `medium`, `high`, `xhigh`, `max` o `auto` per usare il valore predefinito del modello. I livelli disponibili dipendono dal modello. Ha la precedenza su `/effort` e sull'impostazione `effortLevel`. Vedi [Regola il livello di sforzo](/it/model-config#adjust-effort-level) |96| `CLAUDE_CODE_EFFORT_LEVEL` | Imposta il livello di sforzo per i modelli supportati. Valori: `low`, `medium`, `high`, `xhigh`, `max` o `auto` per usare il valore predefinito del modello. I livelli disponibili dipendono dal modello. Ha la precedenza su `/effort` e sull'impostazione `effortLevel`. Vedi [Regola il livello di sforzo](/it/model-config#adjust-effort-level) |

97| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sovrascrivi la disponibilità del [riepilogo della sessione](/it/interactive-mode#session-recap). Imposta su `0` per forzare i riepiloghi disattivati indipendentemente dall'interruttore `/config`. Imposta su `1` per forzare i riepiloghi attivati quando [`awaySummaryEnabled`](/it/settings#available-settings) è `false`. Ha la precedenza sull'impostazione e sull'interruttore `/config` |97| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sovrascrivi la disponibilità del [riepilogo della sessione](/it/interactive-mode#session-recap). Imposta su `0` per forzare i riepiloghi disattivati indipendentemente dall'interruttore `/config`. Imposta su `1` per forzare i riepiloghi attivati quando [`awaySummaryEnabled`](/it/settings#available-settings) è `false`. Ha la precedenza sull'impostazione e sull'interruttore `/config` |

98| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Imposta su `1` per aggiornare lo stato del plugin ai confini dei turni in [modalità non interattiva](/it/headless) dopo il completamento di un'installazione in background. Disattivato per impostazione predefinita perché l'aggiornamento cambia il prompt di sistema a metà sessione, il che invalida il [caching dei prompt](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) per quel turno |98| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Imposta su `1` per aggiornare lo stato del plugin ai confini dei turni in [modalità non interattiva](/it/headless) dopo il completamento di un'installazione in background. Disattivato per impostazione predefinita perché l'aggiornamento cambia il prompt di sistema a metà sessione, il che invalida il [caching dei prompt](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) per quel turno |

99| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Imposta su `1` per instradare il sondaggio sulla qualità della sessione "Come sta andando Claude?" al tuo [collettore OpenTelemetry](/it/monitoring-usage) quando il traffico non essenziale legato ad Anthropic è bloccato. I rating del sondaggio vengono emessi solo come eventi OTEL al tuo collettore configurato. Nessun dato del sondaggio viene inviato ad Anthropic in questa modalità. Si applica quando `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` o `DO_NOT_TRACK` è impostato, e non ha effetto altrimenti. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` e la politica di feedback del prodotto dell'organizzazione hanno la precedenza |

99| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controlla se gli input delle chiamate di strumento vengono trasmessi dall'API mentre Claude li genera. Con questo disattivato, un input di strumento grande come una lunga scrittura di file arriva solo dopo che Claude finisce di generarlo, il che può sembrare che sia bloccato. Abilitato per impostazione predefinita sull'API Anthropic. Su Bedrock e Vertex, abilitato per modello dove il container distribuito lo supporta. Imposta su `0` per rinunciare. Imposta su `1` per forzare l'abilitazione quando instrada attraverso un proxy tramite `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` o `ANTHROPIC_BEDROCK_BASE_URL`. Disattivato per impostazione predefinita su Foundry e connessioni [gateway](/it/llm-gateway) |100| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controlla se gli input delle chiamate di strumento vengono trasmessi dall'API mentre Claude li genera. Con questo disattivato, un input di strumento grande come una lunga scrittura di file arriva solo dopo che Claude finisce di generarlo, il che può sembrare che sia bloccato. Abilitato per impostazione predefinita sull'API Anthropic. Su Bedrock e Vertex, abilitato per modello dove il container distribuito lo supporta. Imposta su `0` per rinunciare. Imposta su `1` per forzare l'abilitazione quando instrada attraverso un proxy tramite `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` o `ANTHROPIC_BEDROCK_BASE_URL`. Disattivato per impostazione predefinita su Foundry e connessioni [gateway](/it/llm-gateway) |

100| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Imposta su `1` per popolare il selettore `/model` dall'endpoint `/v1/models` del tuo gateway quando `ANTHROPIC_BASE_URL` punta a un gateway compatibile con Anthropic come LiteLLM, Kong o un proxy interno. Disattivato per impostazione predefinita perché i gateway supportati da una chiave API condivisa mostrerebbero altrimenti a ogni utente ogni modello a cui la chiave può accedere. I modelli scoperti vengono comunque filtrati dall'allowlist [`availableModels`](/it/settings#available-settings) |101| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Imposta su `1` per popolare il selettore `/model` dall'endpoint `/v1/models` del tuo gateway quando `ANTHROPIC_BASE_URL` punta a un gateway compatibile con Anthropic come LiteLLM, Kong o un proxy interno. Disattivato per impostazione predefinita perché i gateway supportati da una chiave API condivisa mostrerebbero altrimenti a ogni utente ogni modello a cui la chiave può accedere. I modelli scoperti vengono comunque filtrati dall'allowlist [`availableModels`](/it/settings#available-settings) |

102| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Imposta su `1` per eseguire la [modalità veloce](/it/fast-mode) su Claude Opus 4.7 invece di Opus 4.6. Con la variabile impostata, `/fast` passa a Opus 4.7; senza di essa, `/fast` continua a usare Opus 4.6 |

101| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Imposta su `false` per disabilitare i suggerimenti di prompt (l'interruttore "Prompt suggestions" in `/config`). Questi sono i suggerimenti predetti in grigio che appaiono nel tuo input di prompt dopo che Claude risponde. Vedi [Suggerimenti di prompt](/it/interactive-mode#prompt-suggestions) |103| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Imposta su `false` per disabilitare i suggerimenti di prompt (l'interruttore "Prompt suggestions" in `/config`). Questi sono i suggerimenti predetti in grigio che appaiono nel tuo input di prompt dopo che Claude risponde. Vedi [Suggerimenti di prompt](/it/interactive-mode#prompt-suggestions) |

102| `CLAUDE_CODE_ENABLE_TASKS` | Imposta su `1` per abilitare il sistema di tracciamento delle attività in modalità non interattiva (il flag `-p`). Le attività sono abilitate per impostazione predefinita in modalità interattiva. Vedi [Elenco attività](/it/interactive-mode#task-list) |104| `CLAUDE_CODE_ENABLE_TASKS` | Imposta su `1` per abilitare il sistema di tracciamento delle attività in modalità non interattiva (il flag `-p`). Le attività sono abilitate per impostazione predefinita in modalità interattiva. Vedi [Elenco attività](/it/interactive-mode#task-list) |

103| `CLAUDE_CODE_ENABLE_TELEMETRY` | Imposta su `1` per abilitare la raccolta di dati OpenTelemetry per metriche e logging. Obbligatorio prima di configurare gli esportatori OTel. Vedi [Monitoraggio](/it/monitoring-usage) |105| `CLAUDE_CODE_ENABLE_TELEMETRY` | Imposta su `1` per abilitare la raccolta di dati OpenTelemetry per metriche e logging. Obbligatorio prima di configurare gli esportatori OTel. Vedi [Monitoraggio](/it/monitoring-usage) |


119| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Imposta il numero massimo di token di output per la maggior parte delle richieste. I valori predefiniti e massimi variano in base al modello; vedi [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). L'aumento di questo valore riduce la finestra del contesto effettiva disponibile prima che venga attivata la [compattazione automatica](/it/costs#reduce-token-usage). |121| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Imposta il numero massimo di token di output per la maggior parte delle richieste. I valori predefiniti e massimi variano in base al modello; vedi [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). L'aumento di questo valore riduce la finestra del contesto effettiva disponibile prima che venga attivata la [compattazione automatica](/it/costs#reduce-token-usage). |

120| `CLAUDE_CODE_MAX_RETRIES` | Sovrascrivi il numero di volte per riprovare le richieste API non riuscite (predefinito: 10) |122| `CLAUDE_CODE_MAX_RETRIES` | Sovrascrivi il numero di volte per riprovare le richieste API non riuscite (predefinito: 10) |

121| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Numero massimo di strumenti di sola lettura e subagent che possono essere eseguiti in parallelo (predefinito: 10). Valori più alti aumentano il parallelismo ma consumano più risorse |123| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Numero massimo di strumenti di sola lettura e subagent che possono essere eseguiti in parallelo (predefinito: 10). Valori più alti aumentano il parallelismo ma consumano più risorse |

124| `CLAUDE_CODE_MAX_TURNS` | Limita il numero di turni agentici quando non viene passato un limite esplicito. Equivalente a passare [`--max-turns`](/it/cli-reference#cli-flags), che ha la precedenza quando entrambi sono impostati. Un valore che non è un intero positivo viene rifiutato all'avvio con un errore piuttosto che trattato come nessun limite |

122| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Imposta su `1` per generare server MCP stdio con solo un ambiente di base sicuro più il `env` configurato del server, invece di ereditare l'ambiente della tua shell |125| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Imposta su `1` per generare server MCP stdio con solo un ambiente di base sicuro più il `env` configurato del server, invece di ereditare l'ambiente della tua shell |

123| `CLAUDE_CODE_NATIVE_CURSOR` | Imposta su `1` per mostrare il cursore proprio del terminale al cursore di input invece di un blocco disegnato. Il cursore rispetta le impostazioni di lampeggio, forma e focus del terminale |126| `CLAUDE_CODE_NATIVE_CURSOR` | Imposta su `1` per mostrare il cursore proprio del terminale al cursore di input invece di un blocco disegnato. Il cursore rispetta le impostazioni di lampeggio, forma e focus del terminale |

124| `CLAUDE_CODE_NEW_INIT` | Imposta su `1` per fare in modo che `/init` esegua un flusso di configurazione interattivo. Il flusso chiede quali file generare, inclusi CLAUDE.md, skill e hook, prima di esplorare la base di codice e scriverli. Senza questa variabile, `/init` genera un CLAUDE.md automaticamente senza chiedere. |127| `CLAUDE_CODE_NEW_INIT` | Imposta su `1` per fare in modo che `/init` esegua un flusso di configurazione interattivo. Il flusso chiede quali file generare, inclusi CLAUDE.md, skill e hook, prima di esplorare la base di codice e scriverli. Senza questa variabile, `/init` genera un CLAUDE.md automaticamente senza chiedere. |


202| `ENABLE_CLAUDEAI_MCP_SERVERS` | Imposta su `false` per disabilitare i [server MCP claude.ai](/it/mcp#use-mcp-servers-from-claude-ai) in Claude Code. Abilitato per impostazione predefinita per gli utenti connessi |205| `ENABLE_CLAUDEAI_MCP_SERVERS` | Imposta su `false` per disabilitare i [server MCP claude.ai](/it/mcp#use-mcp-servers-from-claude-ai) in Claude Code. Abilitato per impostazione predefinita per gli utenti connessi |

203| `ENABLE_PROMPT_CACHING_1H` | Imposta su `1` per richiedere un TTL della cache dei prompt di 1 ora invece dei 5 minuti predefiniti. Destinato agli utenti di chiave API, [Bedrock](/it/amazon-bedrock), [Vertex](/it/google-vertex-ai), [Foundry](/it/microsoft-foundry) e [Claude Platform on AWS](/it/claude-platform-on-aws). Gli utenti di abbonamento ricevono automaticamente il TTL di 1 ora. Le scritture della cache di 1 ora vengono fatturate a una tariffa più elevata |206| `ENABLE_PROMPT_CACHING_1H` | Imposta su `1` per richiedere un TTL della cache dei prompt di 1 ora invece dei 5 minuti predefiniti. Destinato agli utenti di chiave API, [Bedrock](/it/amazon-bedrock), [Vertex](/it/google-vertex-ai), [Foundry](/it/microsoft-foundry) e [Claude Platform on AWS](/it/claude-platform-on-aws). Gli utenti di abbonamento ricevono automaticamente il TTL di 1 ora. Le scritture della cache di 1 ora vengono fatturate a una tariffa più elevata |

204| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecato. Utilizza `ENABLE_PROMPT_CACHING_1H` invece |207| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecato. Utilizza `ENABLE_PROMPT_CACHING_1H` invece |

205| `ENABLE_TOOL_SEARCH` | Controlla la [ricerca degli strumenti MCP](/it/mcp#scale-with-mcp-tool-search). Non impostato: tutti gli strumenti MCP differiti per impostazione predefinita, ma caricati in primo piano su Vertex AI o quando `ANTHROPIC_BASE_URL` punta a un host non di prima parte. Valori: `true` (sempre differire inclusi i proxy e Vertex AI), `auto` (modalità soglia: carica in primo piano se gli strumenti si adattano entro il 10% del contesto), `auto:N` (soglia personalizzata, ad es. `auto:5` per il 5%), `false` (carica tutto in primo piano) |208| `ENABLE_TOOL_SEARCH` | Controlla la [ricerca degli strumenti MCP](/it/mcp#scale-with-mcp-tool-search). Non impostato: tutti gli strumenti MCP differiti per impostazione predefinita, ma caricati in primo piano su Vertex AI o quando `ANTHROPIC_BASE_URL` punta a un host non di prima parte. Valori: `true` (sempre differire e inviare l'intestazione beta, le richieste falliscono su Vertex AI o proxy che non supportano `tool_reference`), `auto` (modalità soglia: carica in primo piano se gli strumenti si adattano entro il 10% del contesto), `auto:N` (soglia personalizzata, ad es. `auto:5` per il 5%), `false` (carica tutto in primo piano) |

206| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Imposta su qualsiasi valore non vuoto per attivare il fallback a [`--fallback-model`](/it/cli-reference#cli-flags) dopo errori di sovraccarico ripetuti su qualsiasi modello primario. Per impostazione predefinita, solo i modelli Opus attivano il fallback |209| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Imposta su qualsiasi valore non vuoto per attivare il fallback a [`--fallback-model`](/it/cli-reference#cli-flags) dopo errori di sovraccarico ripetuti su qualsiasi modello primario. Per impostazione predefinita, solo i modelli Opus attivano il fallback |

207| `FORCE_AUTOUPDATE_PLUGINS` | Imposta su `1` per forzare gli aggiornamenti automatici dei plugin anche quando l'auto-updater principale è disabilitato tramite `DISABLE_AUTOUPDATER` |210| `FORCE_AUTOUPDATE_PLUGINS` | Imposta su `1` per forzare gli aggiornamenti automatici dei plugin anche quando l'auto-updater principale è disabilitato tramite `DISABLE_AUTOUPDATER` |

208| `FORCE_PROMPT_CACHING_5M` | Imposta su `1` per forzare il TTL della cache dei prompt di 5 minuti anche quando il TTL di 1 ora si applicherebbe altrimenti. Sostituisce `ENABLE_PROMPT_CACHING_1H` |211| `FORCE_PROMPT_CACHING_5M` | Imposta su `1` per forzare il TTL della cache dei prompt di 5 minuti anche quando il TTL di 1 ora si applicherebbe altrimenti. Sostituisce `ENABLE_PROMPT_CACHING_1H` |

fast-mode.md +51 −18

Details

4 4 

5# Accelera le risposte con la modalità veloce5# Accelera le risposte con la modalità veloce

6 6 

7> Ottieni risposte più veloci di Opus 4.6 in Claude Code attivando la modalità veloce.7> Ottieni risposte più veloci di Opus in Claude Code attivando la modalità veloce.

8 8 

9<Note>9<Note>

10 La modalità veloce è in [anteprima di ricerca](#research-preview). La funzione, i prezzi e la disponibilità potrebbero cambiare in base al feedback.10 La modalità veloce è in [anteprima di ricerca](#research-preview). La funzione, i prezzi e la disponibilità potrebbero cambiare in base al feedback.

11</Note>11</Note>

12 12 

13La modalità veloce è una configurazione ad alta velocità per Claude Opus 4.6, che rende il modello 2,5 volte più veloce a un costo per token più elevato. Attivala con `/fast` quando hai bisogno di velocità per il lavoro interattivo come l'iterazione rapida o il debug in tempo reale, e disattivala quando il costo è più importante della latenza.13La modalità veloce è una configurazione ad alta velocità per Claude Opus, che rende il modello 2,5 volte più veloce a un costo per token più elevato. Attivala con `/fast` quando hai bisogno di velocità per il lavoro interattivo come l'iterazione rapida o il debug in tempo reale, e disattivala quando il costo è più importante della latenza.

14 14 

15La modalità veloce non è un modello diverso. Utilizza lo stesso Opus 4.6 con una configurazione API diversa che dà priorità alla velocità rispetto all'efficienza dei costi. Ottieni la stessa qualità e capacità, solo risposte più veloci.15La modalità veloce non è un modello diverso. Utilizza Claude Opus con una configurazione API diversa che dà priorità alla velocità rispetto all'efficienza dei costi. Ottieni la stessa qualità e capacità, solo risposte più veloci. La modalità veloce è supportata su Opus 4.6 e Opus 4.7. Non è disponibile su Sonnet, Haiku o altri modelli.

16 16 

17<Note>17<Note>

18 La modalità veloce richiede Claude Code v2.1.36 o successivo. Controlla la tua versione con `claude --version`.18 La modalità veloce richiede Claude Code v2.1.36 o successivo. Controlla la tua versione con `claude --version`.


21Cosa sapere:21Cosa sapere:

22 22 

23* Usa `/fast` per attivare/disattivare la modalità veloce in Claude Code CLI. Disponibile anche tramite `/fast` nell'estensione Claude Code VS Code.23* Usa `/fast` per attivare/disattivare la modalità veloce in Claude Code CLI. Disponibile anche tramite `/fast` nell'estensione Claude Code VS Code.

24* I prezzi della modalità veloce per Opus 4.6 iniziano da \$30/150 MTok. La modalità veloce è disponibile con uno sconto del 50% per tutti i piani fino alle 23:59 PT del 16 febbraio.24* Per impostazione predefinita, `/fast` viene eseguito su Opus 4.6. Per eseguire la modalità veloce su Opus 4.7, imposta la variabile di ambiente [`CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE`](#use-fast-mode-on-opus-4-7).

25* I prezzi della modalità veloce sono \$30/150 MTok sia su Opus 4.6 che su Opus 4.7.

25* Disponibile per tutti gli utenti di Claude Code sui piani di abbonamento (Pro/Max/Team/Enterprise) e Claude Console.26* Disponibile per tutti gli utenti di Claude Code sui piani di abbonamento (Pro/Max/Team/Enterprise) e Claude Console.

26* Per gli utenti di Claude Code sui piani di abbonamento (Pro/Max/Team/Enterprise), la modalità veloce è disponibile solo tramite utilizzo aggiuntivo e non è inclusa nei limiti di velocità dell'abbonamento.27* Per gli utenti di Claude Code sui piani di abbonamento (Pro/Max/Team/Enterprise), la modalità veloce è disponibile solo tramite utilizzo aggiuntivo e non è inclusa nei limiti di velocità dell'abbonamento.

27 28 

28Questa pagina copre come [attivare/disattivare la modalità veloce](#toggle-fast-mode), il suo [compromesso di costo](#understand-the-cost-tradeoff), [quando usarla](#decide-when-to-use-fast-mode), [requisiti](#requirements), [opt-in per sessione](#require-per-session-opt-in), e [comportamento dei limiti di velocità](#handle-rate-limits).29Questa pagina copre come [attivare/disattivare la modalità veloce](#toggle-fast-mode), [usare la modalità veloce su Opus 4.7](#use-fast-mode-on-opus-4-7), il [compromesso di costo](#understand-the-cost-tradeoff), [quando usarla](#decide-when-to-use-fast-mode), [requisiti](#requirements), [opt-in per sessione](#require-per-session-opt-in), e [comportamento dei limiti di velocità](#handle-rate-limits).

29 30 

30## Attiva/disattiva la modalità veloce31## Attiva/disattiva la modalità veloce

31 32 


40 41 

41Quando abiliti la modalità veloce:42Quando abiliti la modalità veloce:

42 43 

43* Se sei su un modello diverso, Claude Code passa automaticamente a Opus 4.644* Se sei su un modello diverso, Claude Code passa automaticamente al modello della modalità veloce: Opus 4.6 per impostazione predefinita, oppure Opus 4.7 quando [`CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE`](#use-fast-mode-on-opus-4-7) è impostato.

44* Vedrai un messaggio di conferma: "Fast mode ON"45* Vedrai un messaggio di conferma: "Fast mode ON"

45* Un piccolo icona `↯` appare accanto al prompt mentre la modalità veloce è attiva46* Un piccolo icona `↯` appare accanto al prompt mentre la modalità veloce è attiva

46* Esegui `/fast` di nuovo in qualsiasi momento per verificare se la modalità veloce è attiva o disattiva47* Esegui `/fast` di nuovo in qualsiasi momento per verificare se la modalità veloce è attiva o disattiva

47 48 

48Quando disabiliti la modalità veloce con `/fast` di nuovo, rimani su Opus 4.6. Il modello non torna al tuo modello precedente. Per passare a un modello diverso, usa `/model`.49Quando disabiliti la modalità veloce con `/fast` di nuovo, rimani sulla stessa versione di Opus su cui era in esecuzione la modalità veloce. Il modello non torna al tuo modello precedente. Per passare a un modello diverso, usa `/model`.

50 

51## Usa la modalità veloce su Opus 4.7

52 

53<Note>

54 La modalità veloce su Opus 4.7 richiede Claude Code v2.1.139 o successivo.

55</Note>

56 

57La modalità veloce per Claude Opus 4.7 è in anteprima di ricerca. Viene eseguita alla stessa velocità 2,5x e allo stesso prezzo della modalità veloce per Opus 4.6, senza altri cambiamenti di comportamento.

58 

59<Note>

60 Il 14 maggio 2026, Opus 4.7 diventa il modello predefinito della modalità veloce. Fino ad allora, accedi impostando `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE=1`.

61</Note>

62 

63Per accedere, imposta `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE=1` prima di avviare Claude Code. Con la variabile impostata, `/fast` viene eseguito su Opus 4.7. Senza di essa, `/fast` continua a essere eseguito su Opus 4.6.

64 

65Puoi impostare la variabile come esportazione shell:

66 

67```bash theme={null}

68export CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE=1

69```

70 

71Oppure in qualsiasi [file di impostazioni](/it/settings#settings-files) di Claude Code, incluse le impostazioni utente, progetto e gestite, per limitare l'accesso:

72 

73```json theme={null}

74{

75 "env": {

76 "CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE": "1"

77 }

78}

79```

80 

81La modalità veloce per Opus 4.6 rimane disponibile insieme a Opus 4.7. I due condividono lo stesso pool di limiti di velocità della modalità veloce: l'utilizzo su entrambi i modelli attinge dagli stessi limiti.

49 82 

50## Comprendi il compromesso di costo83## Comprendi il compromesso di costo

51 84 

52La modalità veloce ha un prezzo per token più elevato rispetto a Opus 4.6 standard:85La modalità veloce ha un prezzo per token più elevato rispetto a Opus standard:

53 86 

54| Modalità | Input (MTok) | Output (MTok) |87| Modalità | Input (MTok) | Output (MTok) |

55| ------------------------------------ | ------------ | ------------- |88| --------------------------- | ------------ | ------------- |

56| Modalità veloce su Opus 4.6 (\<200K) | \$30 | \$150 |89| Modalità veloce su Opus 4.6 | \$30 | \$150 |

57| Modalità veloce su Opus 4.6 (>200K) | \$60 | \$225 |90| Modalità veloce su Opus 4.7 | \$30 | \$150 |

58 91 

59La modalità veloce è compatibile con la finestra di contesto estesa di 1M token.92I prezzi della modalità veloce sono fissi su tutta la finestra di contesto di 1M token.

60 93 

61Quando passi alla modalità veloce a metà conversazione, paghi il prezzo completo del token di input non memorizzato nella cache della modalità veloce per l'intero contesto della conversazione. Questo costa più di quanto avresti pagato se avessi abilitato la modalità veloce dall'inizio.94Quando passi alla modalità veloce a metà conversazione, paghi il prezzo completo del token di input non memorizzato nella cache della modalità veloce per l'intero contesto della conversazione. Questo costa più di quanto avresti pagato se avessi abilitato la modalità veloce dall'inizio.

62 95 


90La modalità veloce richiede tutti i seguenti elementi:123La modalità veloce richiede tutti i seguenti elementi:

91 124 

92* **Non disponibile su provider cloud di terze parti**: la modalità veloce non è disponibile su Amazon Bedrock, Google Vertex AI o Microsoft Azure Foundry. La modalità veloce è disponibile tramite l'API Anthropic Console e per i piani di abbonamento Claude utilizzando l'utilizzo aggiuntivo.125* **Non disponibile su provider cloud di terze parti**: la modalità veloce non è disponibile su Amazon Bedrock, Google Vertex AI o Microsoft Azure Foundry. La modalità veloce è disponibile tramite l'API Anthropic Console e per i piani di abbonamento Claude utilizzando l'utilizzo aggiuntivo.

93* **Utilizzo aggiuntivo abilitato**: il tuo account deve avere l'utilizzo aggiuntivo abilitato, che consente la fatturazione oltre l'utilizzo incluso nel tuo piano. Per gli account individuali, abilita questo nelle tue [impostazioni di fatturazione della Console](https://platform.claude.com/settings/organization/billing). Per Teams e Enterprise, un amministratore deve abilitare l'utilizzo aggiuntivo per l'organizzazione.126* **Utilizzo aggiuntivo abilitato**: il tuo account deve avere l'utilizzo aggiuntivo abilitato, che consente la fatturazione oltre l'utilizzo incluso nel tuo piano. Per gli account individuali, abilita questo nelle tue [impostazioni di fatturazione della Console](https://platform.claude.com/settings/organization/billing). Per Team e Enterprise, un amministratore deve abilitare l'utilizzo aggiuntivo per l'organizzazione.

94 127 

95<Note>128<Note>

96 L'utilizzo della modalità veloce viene fatturato direttamente all'utilizzo aggiuntivo, anche se hai un utilizzo rimanente nel tuo piano. Ciò significa che i token della modalità veloce non contano rispetto all'utilizzo incluso nel tuo piano e vengono addebitati alla tariffa della modalità veloce dal primo token.129 L'utilizzo della modalità veloce viene fatturato direttamente all'utilizzo aggiuntivo, anche se hai un utilizzo rimanente nel tuo piano. Ciò significa che i token della modalità veloce non contano rispetto all'utilizzo incluso nel tuo piano e vengono addebitati alla tariffa della modalità veloce dal primo token.

97</Note>130</Note>

98 131 

99* **Abilitazione dell'amministratore per Teams e Enterprise**: la modalità veloce è disabilitata per impostazione predefinita per le organizzazioni Teams e Enterprise. Un amministratore deve esplicitamente [abilitare la modalità veloce](#enable-fast-mode-for-your-organization) prima che gli utenti possano accedervi.132* **Abilitazione dell'amministratore per Team e Enterprise**: la modalità veloce è disabilitata per impostazione predefinita per le organizzazioni Team e Enterprise. Un amministratore deve esplicitamente [abilitare la modalità veloce](#enable-fast-mode-for-your-organization) prima che gli utenti possano accedervi.

100 133 

101<Note>134<Note>

102 Se il tuo amministratore non ha abilitato la modalità veloce per la tua organizzazione, il comando `/fast` mostrerà "Fast mode has been disabled by your organization."135 Se il tuo amministratore non ha abilitato la modalità veloce per la tua organizzazione, il comando `/fast` mostrerà "Fast mode has been disabled by your organization."


107Gli amministratori possono abilitare la modalità veloce in:140Gli amministratori possono abilitare la modalità veloce in:

108 141 

109* **Console** (clienti API): [Preferenze Claude Code](https://platform.claude.com/claude-code/preferences)142* **Console** (clienti API): [Preferenze Claude Code](https://platform.claude.com/claude-code/preferences)

110* **Claude AI** (Teams e Enterprise): [Admin Settings > Claude Code](https://claude.ai/admin-settings/claude-code)143* **Claude AI** (Team e Enterprise): [Admin Settings > Claude Code](https://claude.ai/admin-settings/claude-code)

111 144 

112Un'altra opzione per disabilitare completamente la modalità veloce è impostare `CLAUDE_CODE_DISABLE_FAST_MODE=1`. Vedi [Variabili di ambiente](/it/env-vars).145Un'altra opzione per disabilitare completamente la modalità veloce è impostare `CLAUDE_CODE_DISABLE_FAST_MODE=1`. Vedi [Variabili di ambiente](/it/env-vars).

113 146 

114### Richiedi opt-in per sessione147### Richiedi opt-in per sessione

115 148 

116Per impostazione predefinita, la modalità veloce persiste tra le sessioni: se un utente abilita la modalità veloce, rimane attiva nelle sessioni future. Gli amministratori sui piani [Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) o [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) possono prevenire questo impostando `fastModePerSessionOptIn` a `true` nelle [impostazioni gestite](/it/settings#settings-files) o [impostazioni gestite dal server](/it/server-managed-settings). Questo fa sì che ogni sessione inizi con la modalità veloce disattivata, richiedendo agli utenti di abilitarla esplicitamente con `/fast`.149Per impostazione predefinita, la modalità veloce persiste tra le sessioni: se un utente abilita la modalità veloce, rimane attiva nelle sessioni future. Gli amministratori sui piani [Team](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) o [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) possono prevenire questo impostando `fastModePerSessionOptIn` a `true` nelle [impostazioni gestite](/it/settings#settings-files) o [impostazioni gestite dal server](/it/server-managed-settings). Questo fa sì che ogni sessione inizi con la modalità veloce disattivata, richiedendo agli utenti di abilitarla esplicitamente con `/fast`.

117 150 

118```json theme={null}151```json theme={null}

119{152{


125 158 

126## Gestisci i limiti di velocità159## Gestisci i limiti di velocità

127 160 

128La modalità veloce ha limiti di velocità separati da Opus 4.6 standard. Quando raggiungi il limite di velocità della modalità veloce o esaurisci i crediti di utilizzo aggiuntivo:161La modalità veloce ha limiti di velocità separati da Opus standard. La modalità veloce per Opus 4.6 e Opus 4.7 condividono lo stesso pool di limiti di velocità: l'utilizzo su entrambi i modelli attinge dagli stessi limiti. Quando raggiungi il limite di velocità della modalità veloce o esaurisci l'utilizzo aggiuntivo:

129 162 

1301. La modalità veloce torna automaticamente a Opus 4.6 standard1631. La modalità veloce torna automaticamente alla velocità standard sulla stessa versione di Opus

1312. L'icona `↯` diventa grigia per indicare il raffreddamento1642. L'icona `↯` diventa grigia per indicare il raffreddamento

1323. Continui a lavorare a velocità e prezzi standard1653. Continui a lavorare a velocità e prezzi standard

1334. Quando il raffreddamento scade, la modalità veloce si riabilita automaticamente1664. Quando il raffreddamento scade, la modalità veloce si riabilita automaticamente

fullscreen.md +2 −0

Details

93 93 

94Un valore di `3` corrisponde al valore predefinito in `vim` e applicazioni simili. L'impostazione accetta valori da 1 a 20.94Un valore di `3` corrisponde al valore predefinito in `vim` e applicazioni simili. L'impostazione accetta valori da 1 a 20.

95 95 

96Per regolare la velocità di scorrimento in modo interattivo, esegui `/scroll-speed`. La finestra di dialogo mostra un righello che puoi scorrere mentre è aperta in modo da poter sentire il cambiamento immediatamente. Premi `←` e `→` per regolare, `r` per ripristinare il valore predefinito rilevato automaticamente e `Invio` per salvare. Il comando scrive lo stesso valore che la variabile di ambiente `CLAUDE_CODE_SCROLL_SPEED` imposta, persistito in `~/.claude/settings.json`. Il comando non è disponibile nel terminale dell'IDE JetBrains.

97 

96### Scorrimento nel terminale dell'IDE JetBrains98### Scorrimento nel terminale dell'IDE JetBrains

97 99 

98Nel terminale dell'IDE JetBrains, Claude Code applica la propria gestione dello scorrimento e ignora `CLAUDE_CODE_SCROLL_SPEED`. Il terminale invia eventi di scorrimento a una velocità molto più elevata rispetto ad altri emulatori, quindi un moltiplicatore sintonizzato altrove va oltre qui.100Nel terminale dell'IDE JetBrains, Claude Code applica la propria gestione dello scorrimento e ignora `CLAUDE_CODE_SCROLL_SPEED`. Il terminale invia eventi di scorrimento a una velocità molto più elevata rispetto ad altri emulatori, quindi un moltiplicatore sintonizzato altrove va oltre qui.

glossary.md +1 −1

Details

174 174 

175### Output style175### Output style

176 176 

177Una configurazione che modifica il prompt di sistema di Claude per cambiare il comportamento della risposta, il tono o il formato. Gli output styles disattivano le parti specifiche dell'ingegneria del software del prompt di sistema predefinito, a differenza di [CLAUDE.md](#claude-md) che viene consegnato come messaggio utente seguendo il prompt di sistema. Gli stili built-in includono Default, Explanatory e Learning.177Una configurazione che modifica il prompt di sistema di Claude per cambiare il comportamento della risposta, il tono o il formato. Gli output styles disattivano le parti specifiche dell'ingegneria del software del prompt di sistema predefinito, a differenza di [CLAUDE.md](#claude-md) che viene consegnato come messaggio utente seguendo il prompt di sistema. Gli stili built-in includono Default, Proactive, Explanatory e Learning.

178 178 

179Scopri di più: [Output styles](/it/output-styles)179Scopri di più: [Output styles](/it/output-styles)

180 180 

hooks.md +85 −22

Details

70 {70 {

71 "type": "command",71 "type": "command",

72 "if": "Bash(rm *)",72 "if": "Bash(rm *)",

73 "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/block-rm.sh"73 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh",

74 "args": []

74 }75 }

75 ]76 ]

76 }77 }


307Oltre ai [campi comuni](#common-fields), i command hook accettano questi campi:308Oltre ai [campi comuni](#common-fields), i command hook accettano questi campi:

308 309 

309| Campo | Obbligatorio | Descrizione |310| Campo | Obbligatorio | Descrizione |

310| :------------ | :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |311| :------------ | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

311| `command` | sì | Comando shell da eseguire |312| `command` | sì | Comando shell da eseguire. Con `args`, l'eseguibile da generare direttamente. Consultare [Exec form and shell form](#exec-form-and-shell-form) |

313| `args` | no | Elenco di argomenti. Quando presente, `command` viene risolto come eseguibile e generato direttamente con `args` come vettore di argomenti, senza shell. Consultare [Exec form and shell form](#exec-form-and-shell-form) |

312| `async` | no | Se `true`, viene eseguito in background senza bloccare. Consultare [Run hooks in the background](#run-hooks-in-the-background) |314| `async` | no | Se `true`, viene eseguito in background senza bloccare. Consultare [Run hooks in the background](#run-hooks-in-the-background) |

313| `asyncRewake` | no | Se `true`, viene eseguito in background e riattiva Claude su codice di uscita 2. Implica `async`. Lo stderr del hook, o stdout se stderr è vuoto, viene mostrato a Claude come promemoria di sistema in modo che possa reagire a un guasto in background a lunga esecuzione |315| `asyncRewake` | no | Se `true`, viene eseguito in background e riattiva Claude su codice di uscita 2. Implica `async`. Lo stderr del hook, o stdout se stderr è vuoto, viene mostrato a Claude come promemoria di sistema in modo che possa reagire a un guasto in background a lunga esecuzione |

314| `shell` | no | Shell da utilizzare per questo hook. Accetta `"bash"` (predefinito) o `"powershell"`. L'impostazione `"powershell"` esegue il comando tramite PowerShell su Windows. Non richiede `CLAUDE_CODE_USE_POWERSHELL_TOOL` poiché gli hook generano PowerShell direttamente |316| `shell` | no | Shell da utilizzare per questo hook. Accetta `"bash"` (predefinito) o `"powershell"`. L'impostazione `"powershell"` esegue il comando tramite PowerShell su Windows. Non richiede `CLAUDE_CODE_USE_POWERSHELL_TOOL` poiché gli hook generano PowerShell direttamente. Ignorato quando `args` è impostato |

317 

318<a id="exec-form-and-shell-form" />

319 

320##### Exec form e shell form

321 

322Un command hook viene eseguito come exec form quando `args` è impostato, e come shell form quando `args` è omesso. Impostare `args` ogni volta che l'hook fa riferimento a un [segnaposto di percorso](#reference-scripts-by-path), poiché ogni elemento viene passato come un argomento senza virgolette. Omettere `args` quando è necessario utilizzare funzionalità shell come pipe o `&&`, o quando nessuno dei due problemi si applica.

323 

324**Exec form** viene eseguito quando `args` è presente. Claude Code risolve `command` come eseguibile su `PATH` e lo genera direttamente con `args` come vettore di argomenti. Non c'è shell, quindi ogni elemento `args` è un argomento esattamente come scritto, e i segnaposti di percorso come `${CLAUDE_PLUGIN_ROOT}` vengono sostituiti in `command` e in ogni elemento `args` come stringhe semplici. I caratteri speciali come apostrofi, `$` e backtick passano attraverso verbatim perché non c'è shell per interpretarli. Non avviene alcuna tokenizzazione shell su nessuna piattaforma.

325 

326**Shell form** viene eseguito quando `args` è assente. La stringa `command` viene passata a una shell: `sh -c` su macOS e Linux, Git Bash su Windows, o PowerShell quando Git Bash non è installato. Impostare il campo `shell` per scegliere esplicitamente. La shell tokenizza la stringa, espande le variabili e interpreta pipe, `&&`, reindirizzamenti e glob.

327 

328<Note>

329 Su Windows, exec form richiede che `command` si risolva in un vero eseguibile come `.exe`. Gli shim `.cmd` e `.bat` che npm, npx, eslint e altri strumenti installano in `node_modules/.bin` non sono eseguibili e non possono essere generati senza una shell. Per eseguirli in exec form, invocare lo script sottostante con `node` direttamente, ad esempio `"command": "node", "args": ["${CLAUDE_PLUGIN_ROOT}/node_modules/eslint/bin/eslint.js"]`. Il modello `node` più percorso-script funziona su ogni piattaforma perché `node.exe` è un vero binario. Per eseguire uno shim `.cmd` o `.bat` per nome, utilizzare shell form.

330</Note>

331 

332Questo esempio esegue uno script Node fornito con un plugin. Exec form passa il percorso dello script risolto come un argomento senza virgolette:

333 

334```json theme={null}

335{

336 "type": "command",

337 "command": "node",

338 "args": ["${CLAUDE_PLUGIN_ROOT}/scripts/format.js", "--fix"]

339}

340```

341 

342La shell form equivalente ha bisogno di virgolette per gestire i percorsi con spazi o caratteri speciali:

343 

344```json theme={null}

345{

346 "type": "command",

347 "command": "node \"${CLAUDE_PLUGIN_ROOT}\"/scripts/format.js --fix"

348}

349```

350 

351Entrambe le forme supportano gli stessi [segnaposti di percorso](#reference-scripts-by-path), ed entrambi li esportano come variabili di ambiente `CLAUDE_PROJECT_DIR`, `CLAUDE_PLUGIN_ROOT` e `CLAUDE_PLUGIN_DATA` sul processo generato, quindi uno script può leggere `process.env.CLAUDE_PLUGIN_ROOT` indipendentemente da come è stato lanciato. Gli hook del plugin inoltre sostituiscono i valori `${user_config.*}`; consultare [User configuration](/it/plugins-reference#user-configuration).

352 

353<Note>

354 In exec form, `command` è solo il nome o il percorso dell'eseguibile. Se `command` è un nome semplice senza separatore di percorso e contiene spazi bianchi insieme a `args`, Claude Code registra un avviso perché la generazione avrà esito negativo: non esiste un eseguibile denominato `node script.js`. Spostare i token extra in `args`. I percorsi assoluti con spazi, come `C:\Program Files\nodejs\node.exe`, sono un singolo eseguibile valido e non attivano l'avviso.

355</Note>

315 356 

316#### Campi del HTTP hook357#### Campi del HTTP hook

317 358 


397| `prompt` | sì | Testo del prompt da inviare al modello. Utilizzare `$ARGUMENTS` come segnaposto per l'input JSON del hook |438| `prompt` | sì | Testo del prompt da inviare al modello. Utilizzare `$ARGUMENTS` come segnaposto per l'input JSON del hook |

398| `model` | no | Modello da utilizzare per la valutazione. Impostazione predefinita: un modello veloce |439| `model` | no | Modello da utilizzare per la valutazione. Impostazione predefinita: un modello veloce |

399 440 

400Tutti gli hook corrispondenti vengono eseguiti in parallelo e i gestori identici vengono automaticamente deduplicati. I command hook vengono deduplicati per stringa di comando e gli HTTP hook vengono deduplicati per URL. I gestori vengono eseguiti nella directory corrente con l'ambiente di Claude Code. La variabile di ambiente `$CLAUDE_CODE_REMOTE` è impostata su `"true"` negli ambienti web remoti e non è impostata nella CLI locale.441Tutti gli hook corrispondenti vengono eseguiti in parallelo e i gestori identici vengono automaticamente deduplicati. I command hook vengono deduplicati per stringa di comando e `args`, e gli HTTP hook vengono deduplicati per URL. I gestori vengono eseguiti nella directory corrente con l'ambiente di Claude Code. La variabile di ambiente `$CLAUDE_CODE_REMOTE` è impostata su `"true"` negli ambienti web remoti e non è impostata nella CLI locale.

401 442 

402### Fare riferimento agli script per percorso443### Fare riferimento agli script per percorso

403 444 

404Utilizzare le variabili di ambiente per fare riferimento agli script del hook relativi alla radice del progetto o del plugin, indipendentemente dalla directory di lavoro quando l'hook viene eseguito:445Utilizzare questi segnaposti per fare riferimento agli script del hook relativi alla radice del progetto o del plugin, indipendentemente dalla directory di lavoro quando l'hook viene eseguito:

405 446 

406* `$CLAUDE_PROJECT_DIR`: la radice del progetto. Racchiudere tra virgolette per gestire i percorsi con spazi.447* `${CLAUDE_PROJECT_DIR}`: la radice del progetto.

407* `${CLAUDE_PLUGIN_ROOT}`: la directory radice del plugin, per gli script forniti con un [plugin](/it/plugins). Cambia ad ogni aggiornamento del plugin.448* `${CLAUDE_PLUGIN_ROOT}`: la directory di installazione del plugin, per gli script forniti con un [plugin](/it/plugins). Cambia ad ogni aggiornamento del plugin.

408* `${CLAUDE_PLUGIN_DATA}`: la [directory di dati persistenti](/it/plugins-reference#persistent-data-directory) del plugin, per le dipendenze e lo stato che dovrebbero sopravvivere agli aggiornamenti del plugin.449* `${CLAUDE_PLUGIN_DATA}`: la [directory di dati persistenti](/it/plugins-reference#persistent-data-directory) del plugin, per le dipendenze e lo stato che dovrebbero sopravvivere agli aggiornamenti del plugin.

409 450 

451Preferire [exec form](#exec-form-and-shell-form) per qualsiasi hook che faccia riferimento a un segnaposto di percorso. Exec form passa ogni elemento `args` come un argomento senza tokenizzazione shell, quindi i percorsi con spazi o caratteri speciali non hanno bisogno di virgolette. In shell form, racchiudere ogni segnaposto tra virgolette doppie.

452 

410<Tabs>453<Tabs>

411 <Tab title="Script del progetto">454 <Tab title="Script del progetto">

412 Questo esempio utilizza `$CLAUDE_PROJECT_DIR` per eseguire un controllo dello stile dalla directory `.claude/hooks/` del progetto dopo qualsiasi chiamata dello strumento `Write` o `Edit`:455 Questo esempio utilizza `${CLAUDE_PROJECT_DIR}` per eseguire un controllo dello stile dalla directory `.claude/hooks/` del progetto dopo qualsiasi chiamata dello strumento `Write` o `Edit`:

413 456 

414 ```json theme={null}457 ```json theme={null}

415 {458 {


420 "hooks": [463 "hooks": [

421 {464 {

422 "type": "command",465 "type": "command",

423 "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/check-style.sh"466 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh",

467 "args": []

424 }468 }

425 ]469 ]

426 }470 }


446 {490 {

447 "type": "command",491 "type": "command",

448 "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format.sh",492 "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format.sh",

493 "args": [],

449 "timeout": 30494 "timeout": 30

450 }495 }

451 ]496 ]


529Quando si esegue con `--agent` o all'interno di un subagent, vengono inclusi due campi aggiuntivi:574Quando si esegue con `--agent` o all'interno di un subagent, vengono inclusi due campi aggiuntivi:

530 575 

531| Campo | Descrizione |576| Campo | Descrizione |

532| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |577| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

533| `agent_id` | Identificatore univoco per il subagent. Presente solo quando l'hook si attiva all'interno di una chiamata di subagent. Utilizzare questo per distinguere le chiamate del hook del subagent dalle chiamate del thread principale. |578| `agent_id` | Identificatore univoco per il subagent. Presente solo quando l'hook si attiva all'interno di una chiamata di subagent. Utilizzare questo per distinguere le chiamate del hook del subagent dalle chiamate del thread principale. |

534| `agent_type` | Nome dell'agente (ad esempio, `"Explore"` o `"security-reviewer"`). Presente quando la sessione utilizza `--agent` o l'hook si attiva all'interno di un subagent. Per i subagent, il tipo del subagent ha la precedenza sul valore `--agent` della sessione. |579| `agent_type` | Nome dell'agente (ad esempio, `"Explore"` o `"security-reviewer"`). Presente quando la sessione utilizza `--agent` o l'hook si attiva all'interno di un subagent. Per i subagent, il tipo del subagent ha la precedenza sul valore `--agent` della sessione. Per i [subagent personalizzati](/it/sub-agents), questo è il campo `name` dal frontmatter dell'agente, non il nome del file. |

580 

581Solo gli hook [`SessionStart`](#sessionstart) ricevono un campo `model`. Non esiste una variabile di ambiente `$CLAUDE_MODEL`. Un processo hook eredita l'ambiente padre, quindi può leggere `$ANTHROPIC_MODEL` se lo imposti nella tua shell, ma quel valore non cambia quando cambi modelli con `/model` durante una sessione.

535 582 

536Ad esempio, un hook `PreToolUse` per un comando Bash riceve questo su stdin:583Ad esempio, un hook `PreToolUse` per un comando Bash riceve questo su stdin:

537 584 


1153| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Domande da presentare, ciascuna con una stringa `question`, un `header` breve, un array `options` e un flag `multiSelect` facoltativo |1200| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Domande da presentare, ciascuna con una stringa `question`, un `header` breve, un array `options` e un flag `multiSelect` facoltativo |

1154| `answers` | object | `{"Which framework?": "React"}` | Facoltativo. Mappa il testo della domanda all'etichetta dell'opzione selezionata. Le risposte multi-select uniscono le etichette con virgole. Claude non imposta questo campo; fornirlo tramite `updatedInput` per rispondere a livello di programmazione |1201| `answers` | object | `{"Which framework?": "React"}` | Facoltativo. Mappa il testo della domanda all'etichetta dell'opzione selezionata. Le risposte multi-select uniscono le etichette con virgole. Claude non imposta questo campo; fornirlo tramite `updatedInput` per rispondere a livello di programmazione |

1155 1202 

1203##### ExitPlanMode

1204 

1205Presenta un piano e chiede all'utente di approvarlo prima che Claude lasci la [modalità piano](/it/permission-modes#analyze-before-you-edit-with-plan-mode). Claude scrive il piano in un file su disco prima di chiamare lo strumento, quindi l'`tool_input` letterale dal modello porta solo `allowedPrompts`. Claude Code inietta il contenuto del piano e il percorso del file prima di passare l'input agli hook.

1206 

1207| Campo | Tipo | Esempio | Descrizione |

1208| :--------------- | :----- | :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1209| `plan` | string | `"## Refactor auth\n1. Extract..."` | Contenuto del piano in Markdown. Iniettato dal file del piano su disco |

1210| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Percorso al file del piano. Iniettato |

1211| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Facoltativo. Autorizzazioni basate su prompt che Claude sta richiedendo per implementare il piano, ciascuna con un nome `tool` e un `prompt` che descrive la categoria di azione |

1212 

1213In `PostToolUse`, `tool_response` è un oggetto con i campi `plan` e `filePath` che contengono il piano approvato, più flag di stato interni. Leggere `tool_response.plan` per il contenuto del piano piuttosto che rileggere il file da disco.

1214 

1156#### PreToolUse decision control1215#### PreToolUse decision control

1157 1216 

1158Gli hook `PreToolUse` possono controllare se una chiamata dello strumento procede. A differenza di altri hook che utilizzano un campo `decision` di livello superiore, PreToolUse restituisce la sua decisione all'interno di un oggetto `hookSpecificOutput`. Ciò gli dà un controllo più ricco: quattro risultati (consentire, negare, chiedere o rinviare) più la capacità di modificare l'input dello strumento prima dell'esecuzione.1217Gli hook `PreToolUse` possono controllare se una chiamata dello strumento procede. A differenza di altri hook che utilizzano un campo `decision` di livello superiore, PreToolUse restituisce la sua decisione all'interno di un oggetto `hookSpecificOutput`. Ciò gli dà un controllo più ricco: quattro risultati (consentire, negare, chiedere o rinviare) più la capacità di modificare l'input dello strumento prima dell'esecuzione.


1596 1655 

1597### SubagentStart1656### SubagentStart

1598 1657 

1599Viene eseguito quando un subagent di Claude Code viene generato tramite lo strumento Agent. Supporta i matcher per filtrare per nome del tipo di agente (agenti incorporati come `general-purpose`, `Explore`, `Plan` o nomi di agenti personalizzati da `.claude/agents/`).1658Viene eseguito quando un subagent di Claude Code viene generato tramite lo strumento Agent. Supporta i matcher per filtrare per nome del tipo di agente. Per gli agenti incorporati, questo è il nome dell'agente come `general-purpose`, `Explore` o `Plan`. Per i [subagent personalizzati](/it/sub-agents), questo è il campo `name` dal frontmatter dell'agente, non il nome del file.

1600 1659 

1601#### Input di SubagentStart1660#### Input di SubagentStart

1602 1661 


1651}1710}

1652```1711```

1653 1712 

1654Gli hook SubagentStop utilizzano lo stesso formato di controllo della decisione degli [hook Stop](#stop-decision-control).1713Gli hook SubagentStop utilizzano lo stesso formato di controllo della decisione degli [hook Stop](#stop-decision-control). Non supportano `additionalContext`. Restituire `decision: "block"` con un `reason` mantiene il subagent in esecuzione e consegna `reason` al subagent come sua prossima istruzione. Per iniettare contesto nella sessione padre dopo il ritorno di un subagent, utilizzare un hook [`PostToolUse`](#posttooluse) sullo strumento `Agent` invece.

1655 1714 

1656### TaskCreated1715### TaskCreated

1657 1716 


1905 "hooks": [1964 "hooks": [

1906 {1965 {

1907 "type": "command",1966 "type": "command",

1908 "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/audit-config-change.sh"1967 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/audit-config-change.sh",

1968 "args": []

1909 }1969 }

1910 ]1970 ]

1911 }1971 }


2394```2454```

2395 2455 

2396| Campo | Obbligatorio | Descrizione |2456| Campo | Obbligatorio | Descrizione |

2397| :-------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2457| :---------------- | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2398| `type` | sì | Deve essere `"prompt"` |2458| `type` | sì | Deve essere `"prompt"` |

2399| `prompt` | sì | Il testo del prompt da inviare all'LLM. Utilizzare `$ARGUMENTS` come segnaposto per l'input JSON del hook. Se `$ARGUMENTS` non è presente, l'input JSON viene aggiunto al prompt |2459| `prompt` | sì | Il testo del prompt da inviare all'LLM. Utilizzare `$ARGUMENTS` come segnaposto per l'input JSON del hook. Se `$ARGUMENTS` non è presente, l'input JSON viene aggiunto al prompt |

2400| `model` | no | Modello da utilizzare per la valutazione. Impostazione predefinita: un modello veloce |2460| `model` | no | Modello da utilizzare per la valutazione. Impostazione predefinita: un modello veloce |

2401| `timeout` | no | Timeout in secondi. Impostazione predefinita: 30 |2461| `timeout` | no | Timeout in secondi. Impostazione predefinita: 30 |

2462| `continueOnBlock` | no | Quando il prompt restituisce `ok: false`, reinvia il motivo a Claude e continua il turno invece di fermarsi. Impostazione predefinita: `false`. Implementato come `continue: true` sulla `decision: "block"` risultante. Vedere [Schema di risposta](#response-schema) per il comportamento per evento |

2402 2463 

2403### Schema di risposta2464### Schema di risposta

2404 2465 


2412```2473```

2413 2474 

2414| Campo | Descrizione |2475| Campo | Descrizione |

2415| :------- | :-------------------------------------------------------------------------------------------- |2476| :------- | :------------------------------------------------------------------------------------------------------------ |

2416| `ok` | `true` consente l'azione, `false` la impedisce. Vedere il comportamento per evento di seguito |2477| `ok` | `true` per consentire. `false` produce una `decision: "block"`. Vedere il comportamento per evento di seguito |

2417| `reason` | Obbligatorio quando `ok` è `false`. Spiegazione per la decisione |2478| `reason` | Obbligatorio quando `ok` è `false`. Utilizzato come motivo del blocco |

2418 2479 

2419Ciò che accade con `ok: false` dipende dall'evento:2480Ciò che accade con `ok: false` dipende dall'evento:

2420 2481 

2421* `Stop` e `SubagentStop`: il motivo viene reinviato a Claude come sua prossima istruzione e il turno continua2482* `Stop` e `SubagentStop`: il motivo viene reinviato a Claude come sua prossima istruzione e il turno continua

2422* `PreToolUse`: la chiamata dello strumento viene negata e il motivo viene restituito a Claude come errore dello strumento, equivalente a un hook di comando con `permissionDecision: "deny"`2483* `PreToolUse`: la chiamata dello strumento viene negata e il motivo viene restituito a Claude come errore dello strumento, equivalente a un hook di comando con `permissionDecision: "deny"`

2423* `PostToolUse`, `PostToolBatch`, `UserPromptSubmit` e `UserPromptExpansion`: il turno termina e il motivo appare nella chat come una riga di avviso, equivalente a restituire `"continue": false` da un hook di comando2484* `PostToolUse`: per impostazione predefinita il turno termina e il motivo appare nella chat come una riga di avviso. Impostare `continueOnBlock: true` per reinviare il motivo a Claude e continuare il turno invece

2485* `PostToolBatch`, `UserPromptSubmit` e `UserPromptExpansion`: il turno termina e il motivo appare come una riga di avviso. Questi eventi terminano il turno su `decision: "block"` indipendentemente da `continue`

2424* `PostToolUseFailure`, `TaskCreated` e `TaskCompleted`: il motivo viene restituito a Claude come errore dello strumento, simile a `PreToolUse`2486* `PostToolUseFailure`, `TaskCreated` e `TaskCompleted`: il motivo viene restituito a Claude come errore dello strumento, simile a `PreToolUse`

2425* `PermissionRequest`: `ok: false` non ha effetto. Per negare un'approvazione da un hook, utilizzare un [hook di comando](#command-hook-fields) che restituisce `hookSpecificOutput.decision.behavior: "deny"`2487* `PermissionRequest`: `ok: false` non ha effetto. Per negare un'approvazione da un hook, utilizzare un [hook di comando](#command-hook-fields) che restituisce `hookSpecificOutput.decision.behavior: "deny"`

2426 2488 


2579 "hooks": [2641 "hooks": [

2580 {2642 {

2581 "type": "command",2643 "type": "command",

2582 "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/run-tests-async.sh",2644 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/run-tests-async.sh",

2645 "args": [],

2583 "async": true,2646 "async": true,

2584 "timeout": 3002647 "timeout": 300

2585 }2648 }


2616* **Convalidare e disinfettare gli input**: non fidarsi mai ciecamente dei dati di input2679* **Convalidare e disinfettare gli input**: non fidarsi mai ciecamente dei dati di input

2617* **Citare sempre le variabili shell**: utilizzare `"$VAR"` non `$VAR`2680* **Citare sempre le variabili shell**: utilizzare `"$VAR"` non `$VAR`

2618* **Bloccare l'attraversamento del percorso**: controllare `..` nei percorsi dei file2681* **Bloccare l'attraversamento del percorso**: controllare `..` nei percorsi dei file

2619* **Utilizzare percorsi assoluti**: specificare percorsi completi per gli script, utilizzando `"$CLAUDE_PROJECT_DIR"` per la radice del progetto2682* **Utilizzare percorsi assoluti**: specificare percorsi completi per gli script. Nel modulo exec, utilizzare `${CLAUDE_PROJECT_DIR}` e il percorso non necessita di virgolette. Nel modulo shell, racchiuderlo tra virgolette doppie

2620* **Saltare i file sensibili**: evitare `.env`, `.git/`, chiavi, ecc.2683* **Saltare i file sensibili**: evitare `.env`, `.git/`, chiavi, ecc.

2621 2684 

2622## Strumento Windows PowerShell2685## Strumento Windows PowerShell

hooks-guide.md +2 −2

Details

895 echo '{"tool_name":"Bash","tool_input":{"command":"ls"}}' | ./my-hook.sh895 echo '{"tool_name":"Bash","tool_input":{"command":"ls"}}' | ./my-hook.sh

896 echo $? # Check the exit code896 echo $? # Check the exit code

897 ```897 ```

898* Se vedete "command not found", utilizzate percorsi assoluti o `$CLAUDE_PROJECT_DIR` per fare riferimento agli script898* Se vedete "command not found", utilizzate percorsi assoluti o `${CLAUDE_PROJECT_DIR}` per fare riferimento agli script. Per evitare completamente le virgolette della shell, aggiungete `"args": []` per passare alla [forma exec](/it/hooks#exec-form-and-shell-form), che genera lo script direttamente senza una shell

899* Se vedete "jq: command not found", installate `jq` o utilizzate Python/Node.js per l'analisi JSON899* Se vedete "jq: command not found", installate `jq` o utilizzate Python/Node.js per l'analisi JSON

900* Se lo script non si esegue affatto, rendetelo eseguibile: `chmod +x ./my-hook.sh`900* Se lo script non si esegue affatto, rendetelo eseguibile: `chmod +x ./my-hook.sh`

901 901 


926 926 

927Claude Code mostra un errore di analisi JSON anche se il vostro script di hook produce JSON valido.927Claude Code mostra un errore di analisi JSON anche se il vostro script di hook produce JSON valido.

928 928 

929Quando Claude Code esegue un hook, genera una shell che fornisce il vostro profilo (`~/.zshrc` o `~/.bashrc`). Se il vostro profilo contiene istruzioni `echo` incondizionate, quell'output viene anteposto al vostro JSON dell'hook:929Quando Claude Code esegue un hook di comando in forma shell (uno senza `args`), genera `sh -c` su macOS e Linux o Git Bash su Windows per impostazione predefinita. Questa shell è non interattiva, ma Git Bash e alcune configurazioni (come `BASH_ENV` che punta a `~/.bashrc`) comunque forniscono il vostro profilo. Se quel profilo contiene istruzioni `echo` incondizionate, l'output viene anteposto al vostro JSON dell'hook:

930 930 

931```text theme={null}931```text theme={null}

932Shell ready on arm64932Shell ready on arm64

Details

9## Scorciatoie da tastiera9## Scorciatoie da tastiera

10 10 

11<Note>11<Note>

12 Le scorciatoie da tastiera possono variare a seconda della piattaforma e del terminale. Premere `?` per visualizzare le scorciatoie disponibili per il vostro ambiente.12 Le scorciatoie da tastiera possono variare a seconda della piattaforma e del terminale. Nel [rendering a schermo intero](/it/fullscreen), premere `?` nel visualizzatore di trascrizione per visualizzare le scorciatoie disponibili .

13 13 

14 **Utenti macOS**: Le scorciatoie con il tasto Option/Alt (`Alt+B`, `Alt+F`, `Alt+Y`, `Alt+M`, `Alt+P`) richiedono la configurazione di Option come Meta nel vostro terminale:14 **Utenti macOS**: Le scorciatoie con il tasto Option/Alt (`Alt+B`, `Alt+F`, `Alt+Y`, `Alt+M`, `Alt+P`) richiedono la configurazione di Option come Meta nel vostro terminale:

15 15 


36| `Ctrl+T` | Attiva/disattiva l'elenco delle attività | Mostra o nascondi l'[elenco delle attività](#task-list) nell'area di stato del terminale |36| `Ctrl+T` | Attiva/disattiva l'elenco delle attività | Mostra o nascondi l'[elenco delle attività](#task-list) nell'area di stato del terminale |

37| `Frecce sinistra/destra` | Cicla attraverso le schede della finestra di dialogo | Naviga tra le schede nelle finestre di dialogo dei permessi e nei menu |37| `Frecce sinistra/destra` | Cicla attraverso le schede della finestra di dialogo | Naviga tra le schede nelle finestre di dialogo dei permessi e nei menu |

38| `Frecce su/giù` o `Ctrl+P`/`Ctrl+N` | Sposta il cursore o naviga nella cronologia dei comandi | Nell'input multilinea, prima sposta il cursore all'interno del prompt. Una volta che il cursore è già sul bordo superiore o inferiore, premere di nuovo naviga nella cronologia dei comandi |38| `Frecce su/giù` o `Ctrl+P`/`Ctrl+N` | Sposta il cursore o naviga nella cronologia dei comandi | Nell'input multilinea, prima sposta il cursore all'interno del prompt. Una volta che il cursore è già sul bordo superiore o inferiore, premere di nuovo naviga nella cronologia dei comandi |

39| `Esc` | Interrompi Claude | Arresta la risposta corrente o la chiamata dello strumento a metà turno in modo da poter reindirizzare. Claude mantiene il lavoro svolto finora |

39| `Esc` + `Esc` | Riavvolgi o riassumi | Ripristina il codice e/o la conversazione a un punto precedente, o riassumi da un messaggio selezionato |40| `Esc` + `Esc` | Riavvolgi o riassumi | Ripristina il codice e/o la conversazione a un punto precedente, o riassumi da un messaggio selezionato |

40| `Shift+Tab` o `Alt+M` (alcune configurazioni) | Cicla le modalità di permesso | Cicla attraverso `default`, `acceptEdits`, `plan` e qualsiasi modalità abilitata, come `auto` o `bypassPermissions`. Vedere [modalità di permesso](/it/permission-modes). |41| `Shift+Tab` o `Alt+M` (alcune configurazioni) | Cicla le modalità di permesso | Cicla attraverso `default`, `acceptEdits`, `plan` e qualsiasi modalità abilitata, come `auto` o `bypassPermissions`. Vedere [modalità di permesso](/it/permission-modes). |

41| `Option+P` (macOS) o `Alt+P` (Windows/Linux) | Cambia modello | Cambia modelli senza cancellare il vostro prompt |42| `Option+P` (macOS) o `Alt+P` (Windows/Linux) | Cambia modello | Cambia modelli senza cancellare il vostro prompt |


86 87 

87### Visualizzatore di trascrizione88### Visualizzatore di trascrizione

88 89 

89Quando il visualizzatore di trascrizione è aperto (attivato con `Ctrl+O`), queste scorciatoie sono disponibili. `Ctrl+E` può essere riassegnato tramite [`transcript:toggleShowAll`](/it/keybindings).90Quando il visualizzatore di trascrizione è aperto (attivato con `Ctrl+O`), queste scorciatoie sono disponibili. Nel [rendering a schermo intero](/it/fullscreen), premere `?` per visualizzare il pannello di riferimento completo delle scorciatoie all'interno del visualizzatore. `Ctrl+E` può essere riassegnato tramite [`transcript:toggleShowAll`](/it/keybindings).

90 91 

91| Scorciatoia | Descrizione |92| Scorciatoia | Descrizione |

92| :------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |93| :------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

94| `?` | Attiva/disattiva il pannello di aiuto delle scorciatoie da tastiera. Richiede il [rendering a schermo intero](/it/fullscreen) |

95| `{` / `}` | Salta al prompt utente precedente o successivo, come il movimento di paragrafo vim. Richiede il [rendering a schermo intero](/it/fullscreen) |

93| `Ctrl+E` | Attiva/disattiva mostra tutto il contenuto |96| `Ctrl+E` | Attiva/disattiva mostra tutto il contenuto |

94| `[` | Scrivi la conversazione completa nel scrollback nativo del vostro terminale in modo che `Cmd+F`, la modalità copia di tmux e altri strumenti nativi possano cercarla. Richiede il [rendering a schermo intero](/it/fullscreen#search-and-review-the-conversation) |97| `[` | Scrivi la conversazione completa nel scrollback nativo del vostro terminale in modo che `Cmd+F`, la modalità copia di tmux e altri strumenti nativi possano cercarla. Richiede il [rendering a schermo intero](/it/fullscreen#search-and-review-the-conversation) |

95| `v` | Scrivi la conversazione in un file temporaneo e aprilo in `$VISUAL` o `$EDITOR`. Richiede il [rendering a schermo intero](/it/fullscreen) |98| `v` | Scrivi la conversazione in un file temporaneo e aprilo in `$VISUAL` o `$EDITOR`. Richiede il [rendering a schermo intero](/it/fullscreen) |

llm-gateway.md +6 −2

Details

42Claude Code include le seguenti intestazioni su ogni richiesta API:42Claude Code include le seguenti intestazioni su ogni richiesta API:

43 43 

44| Intestazione | Descrizione |44| Intestazione | Descrizione |

45| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |45| :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

46| `X-Claude-Code-Session-Id` | Un identificatore univoco per la sessione Claude Code corrente. I proxy possono utilizzarlo per aggregare tutte le richieste API da una singola sessione senza analizzare il corpo della richiesta. |46| `X-Claude-Code-Session-Id` | Un identificatore univoco per la sessione Claude Code corrente. I proxy possono utilizzarlo per aggregare tutte le richieste API da una singola sessione senza analizzare il corpo della richiesta. |

47| `X-Claude-Code-Agent-Id` | Identificatore del subagent o del teammate che ha emesso la richiesta. Il vostro proxy può utilizzarlo per attribuire il costo API ai singoli subagent paralleli all'interno di una sessione, senza analizzare il corpo della richiesta. Presente solo per le richieste effettuate da un subagent o teammate in-process. |

48| `X-Claude-Code-Parent-Agent-Id` | Identificatore dell'agente che ha generato l'agente che effettua la richiesta. Utilizzatelo insieme a `X-Claude-Code-Agent-Id` per attribuire i costi API tra gli agenti annidati nel vostro proxy. Presente solo quando l'agente richiedente è stato a sua volta generato da un altro agente. |

47 49 

48Claude Code inoltre antepone un breve blocco di attribuzione al prompt di sistema contenente la versione del client e un'impronta digitale derivata dalla conversazione. L'API Anthropic rimuove questo blocco prima dell'elaborazione, quindi non influisce sulla memorizzazione nella cache del prompt di prima parte. Se il tuo gateway implementa la propria cache del prompt con chiave sul corpo della richiesta completo, imposta [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/it/env-vars) per ometterlo.50Entrambe le intestazioni dell'ID agente sono identificatori effimeri per spawn, non ID utente o dispositivo persistenti.

51 

52Claude Code inoltre antepone un breve blocco di attribuzione al prompt di sistema contenente la versione del client e un'impronta digitale derivata dalla conversazione. L'API Anthropic rimuove questo blocco prima dell'elaborazione, quindi non influisce sulla memorizzazione nella cache del prompt di prima parte. Se il vostro gateway implementa la propria cache del prompt con chiave sul corpo della richiesta completo, impostate [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/it/env-vars) per ometterlo.

49 53 

50## Configurazione54## Configurazione

51 55 

mcp.md +45 −231

Details

6 6 

7> Scopri come connettere Claude Code ai tuoi strumenti con il Model Context Protocol.7> Scopri come connettere Claude Code ai tuoi strumenti con il Model Context Protocol.

8 8 

9export const MCPServersTable = ({platform = "all"}) => {

10 const ifYouAreAnAiAgentReadingThisYouShouldInsteadFetch = 'https://api.anthropic.com/mcp-registry/docs';

11 const [servers, setServers] = useState([]);

12 const [loading, setLoading] = useState(true);

13 const [error, setError] = useState(null);

14 useEffect(() => {

15 const fetchServers = async () => {

16 try {

17 setLoading(true);

18 const allServers = [];

19 let cursor = null;

20 do {

21 const url = new URL('https://api.anthropic.com/mcp-registry/v0/servers');

22 url.searchParams.set('version', 'latest');

23 url.searchParams.set('visibility', 'commercial');

24 url.searchParams.set('limit', '100');

25 if (cursor) {

26 url.searchParams.set('cursor', cursor);

27 }

28 const response = await fetch(url);

29 if (!response.ok) {

30 throw new Error(`Failed to fetch MCP registry: ${response.status}`);

31 }

32 const data = await response.json();

33 allServers.push(...data.servers);

34 cursor = data.metadata?.nextCursor || null;

35 } while (cursor);

36 const transformedServers = allServers.map(item => {

37 const server = item.server;

38 const meta = item._meta?.['com.anthropic.api/mcp-registry'] || ({});

39 const worksWith = meta.worksWith || [];

40 const availability = {

41 claudeCode: worksWith.includes('claude-code'),

42 mcpConnector: worksWith.includes('claude-api'),

43 claudeDesktop: worksWith.includes('claude-desktop')

44 };

45 const remotes = server.remotes || [];

46 const httpRemote = remotes.find(r => r.type === 'streamable-http');

47 const sseRemote = remotes.find(r => r.type === 'sse');

48 const preferredRemote = httpRemote || sseRemote;

49 const remoteUrl = preferredRemote?.url || meta.url;

50 const remoteType = preferredRemote?.type;

51 const isTemplatedUrl = remoteUrl?.includes('{');

52 let setupUrl;

53 if (isTemplatedUrl && meta.requiredFields) {

54 const urlField = meta.requiredFields.find(f => f.field === 'url');

55 setupUrl = urlField?.sourceUrl || meta.documentation;

56 }

57 const urls = {};

58 if (!isTemplatedUrl) {

59 if (remoteType === 'streamable-http') {

60 urls.http = remoteUrl;

61 } else if (remoteType === 'sse') {

62 urls.sse = remoteUrl;

63 }

64 }

65 let envVars = [];

66 if (server.packages && server.packages.length > 0) {

67 const npmPackage = server.packages.find(p => p.registryType === 'npm');

68 if (npmPackage) {

69 urls.stdio = `npx -y ${npmPackage.identifier}`;

70 if (npmPackage.environmentVariables) {

71 envVars = npmPackage.environmentVariables;

72 }

73 }

74 }

75 return {

76 name: meta.displayName || server.title || server.name,

77 description: meta.oneLiner || server.description,

78 documentation: meta.documentation,

79 urls: urls,

80 envVars: envVars,

81 availability: availability,

82 customCommands: meta.claudeCodeCopyText ? {

83 claudeCode: meta.claudeCodeCopyText

84 } : undefined,

85 setupUrl: setupUrl

86 };

87 });

88 setServers(transformedServers);

89 setError(null);

90 } catch (err) {

91 setError(err.message);

92 console.error('Error fetching MCP registry:', err);

93 } finally {

94 setLoading(false);

95 }

96 };

97 fetchServers();

98 }, []);

99 const generateClaudeCodeCommand = server => {

100 if (server.customCommands && server.customCommands.claudeCode) {

101 return server.customCommands.claudeCode.replace('--transport streamable-http', '--transport http');

102 }

103 const serverSlug = server.name.toLowerCase().replace(/[^a-z0-9]/g, '-');

104 if (server.urls.http) {

105 return `claude mcp add ${serverSlug} --transport http ${server.urls.http}`;

106 }

107 if (server.urls.sse) {

108 return `claude mcp add ${serverSlug} --transport sse ${server.urls.sse}`;

109 }

110 if (server.urls.stdio) {

111 const envFlags = server.envVars && server.envVars.length > 0 ? server.envVars.map(v => `--env ${v.name}=YOUR_${v.name}`).join(' ') : '';

112 const baseCommand = `claude mcp add ${serverSlug} --transport stdio`;

113 return envFlags ? `${baseCommand} ${envFlags} -- ${server.urls.stdio}` : `${baseCommand} -- ${server.urls.stdio}`;

114 }

115 return null;

116 };

117 if (loading) {

118 return <div>Loading MCP servers...</div>;

119 }

120 if (error) {

121 return <div>Error loading MCP servers: {error}</div>;

122 }

123 const filteredServers = servers.filter(server => {

124 if (platform === "claudeCode") {

125 return server.availability.claudeCode;

126 } else if (platform === "mcpConnector") {

127 return server.availability.mcpConnector;

128 } else if (platform === "claudeDesktop") {

129 return server.availability.claudeDesktop;

130 } else if (platform === "all") {

131 return true;

132 } else {

133 throw new Error(`Unknown platform: ${platform}`);

134 }

135 });

136 return <>

137 <style jsx>{`

138 .cards-container {

139 display: grid;

140 gap: 1rem;

141 margin-bottom: 2rem;

142 }

143 .server-card {

144 border: 1px solid var(--border-color, #e5e7eb);

145 border-radius: 6px;

146 padding: 1rem;

147 }

148 .command-row {

149 display: flex;

150 align-items: center;

151 gap: 0.25rem;

152 }

153 .command-row code {

154 font-size: 0.75rem;

155 overflow-x: auto;

156 }

157 `}</style>

158 

159 <div className="cards-container">

160 {filteredServers.map(server => {

161 const claudeCodeCommand = generateClaudeCodeCommand(server);

162 const mcpUrl = server.urls.http || server.urls.sse;

163 const commandToShow = platform === "claudeCode" ? claudeCodeCommand : mcpUrl;

164 return <div key={server.name} className="server-card">

165 <div>

166 {server.documentation ? <a href={server.documentation}>

167 <strong>{server.name}</strong>

168 </a> : <strong>{server.name}</strong>}

169 </div>

170 

171 <p style={{

172 margin: '0.5rem 0',

173 fontSize: '0.9rem'

174 }}>

175 {server.description}

176 </p>

177 

178 {server.setupUrl && <p style={{

179 margin: '0.25rem 0',

180 fontSize: '0.8rem',

181 fontStyle: 'italic',

182 opacity: 0.7

183 }}>

184 Requires user-specific URL.{' '}

185 <a href={server.setupUrl} style={{

186 textDecoration: 'underline'

187 }}>

188 Get your URL here

189 </a>.

190 </p>}

191 

192 {commandToShow && !server.setupUrl && <>

193 <p style={{

194 display: 'block',

195 fontSize: '0.75rem',

196 fontWeight: 500,

197 minWidth: 'fit-content',

198 marginTop: '0.5rem',

199 marginBottom: 0

200 }}>

201 {platform === "claudeCode" ? "Command" : "URL"}

202 </p>

203 <div className="command-row">

204 <code>

205 {commandToShow}

206 </code>

207 </div>

208 </>}

209 </div>;

210 })}

211 </div>

212 </>;

213};

214 

215Claude Code può connettersi a centinaia di strumenti e fonti di dati esterni attraverso il [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction), uno standard open source per le integrazioni AI-tool. I server MCP danno a Claude Code accesso ai tuoi strumenti, database e API.9Claude Code può connettersi a centinaia di strumenti e fonti di dati esterni attraverso il [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction), uno standard open source per le integrazioni AI-tool. I server MCP danno a Claude Code accesso ai tuoi strumenti, database e API.

216 10 

217Connetti un server quando ti trovi a copiare dati in chat da un altro strumento, come un issue tracker o un dashboard di monitoraggio. Una volta connesso, Claude può leggere e agire su quel sistema direttamente invece di lavorare da quello che incolla.11Connetti un server quando ti trovi a copiare dati in chat da un altro strumento, come un issue tracker o un dashboard di monitoraggio. Una volta connesso, Claude può leggere e agire su quel sistema direttamente invece di lavorare da quello che incolla.


227* **Automatizzare flussi di lavoro**: "Crea bozze Gmail invitando questi 10 utenti a una sessione di feedback sulla nuova funzionalità."21* **Automatizzare flussi di lavoro**: "Crea bozze Gmail invitando questi 10 utenti a una sessione di feedback sulla nuova funzionalità."

228* **Reagire a eventi esterni**: Un server MCP può anche agire come un [canale](/it/channels) che invia messaggi nella tua sessione, in modo che Claude reagisca ai messaggi Telegram, chat Discord o eventi webhook mentre sei assente.22* **Reagire a eventi esterni**: Un server MCP può anche agire come un [canale](/it/channels) che invia messaggi nella tua sessione, in modo che Claude reagisca ai messaggi Telegram, chat Discord o eventi webhook mentre sei assente.

229 23 

230## Server MCP popolari24## Trovare e costruire server MCP

231 25 

232Ecco alcuni server MCP comunemente utilizzati che puoi connettere a Claude Code:26Sfoglia i connettori verificati nella [Anthropic Directory](https://claude.ai/directory). I connettori della Directory utilizzano la stessa infrastruttura MCP di Claude Code, quindi puoi aggiungere qualsiasi server remoto elencato lì con `claude mcp add`.

233 27 

234<Warning>28<Warning>

235 Utilizza server MCP di terze parti a tuo rischio - Anthropic non ha verificato29 Verifica di fidarti di ogni server prima di collegarlo. I server che recuperano contenuti esterni possono esporti al rischio di [prompt injection](/it/security#protect-against-prompt-injection).

236 la correttezza o la sicurezza di tutti questi server.

237 Assicurati di fidarti dei server MCP che stai installando.

238 Fai particolare attenzione quando utilizzi server MCP che potrebbero recuperare

239 contenuti non attendibili, poiché questi possono esporti al rischio di prompt injection.

240</Warning>30</Warning>

241 31 

242<MCPServersTable platform="claudeCode" />32Per costruire il tuo server, consulta la [guida al server MCP](https://modelcontextprotocol.io/docs/develop/build-server) per i fondamenti del protocollo e la [documentazione sulla creazione di connettori Claude](https://claude.com/docs/connectors/building) per l'autenticazione, i test e l'invio alla Directory.

243 33 

244<Note>34Puoi anche far scaffoldare un server da Claude con il plugin ufficiale [`mcp-server-dev`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/mcp-server-dev).

245 **Hai bisogno di un'integrazione specifica?** [Trova centinaia di altri server MCP su GitHub](https://github.com/modelcontextprotocol/servers), oppure crea il tuo utilizzando l'[MCP SDK](https://modelcontextprotocol.io/quickstart/server).35 

246</Note>36<Steps>

37 <Step title="Installa il plugin">

38 In una sessione Claude Code, esegui:

39 

40 ```

41 /plugin install mcp-server-dev@claude-plugins-official

42 ```

43 

44 Quindi esegui `/reload-plugins` per attivarlo nella sessione corrente.

45 </Step>

46 

47 <Step title="Esegui lo skill di compilazione">

48 ```

49 /mcp-server-dev:build-mcp-server

50 ```

51 

52 Claude ti chiede informazioni sul tuo caso d'uso e scaffolda un server HTTP remoto o un server stdio locale.

53 </Step>

54</Steps>

247 55 

248## Installazione dei server MCP56## Installazione dei server MCP

249 57 

250I server MCP possono essere configurati in tre modi diversi a seconda delle tue esigenze:58I server MCP possono essere configurati in tre modi diversi a seconda delle vostre esigenze:

251 59 

252### Opzione 1: Aggiungi un server HTTP remoto60### Opzione 1: Aggiungi un server HTTP remoto

253 61 


287 95 

288### Opzione 3: Aggiungi un server stdio locale96### Opzione 3: Aggiungi un server stdio locale

289 97 

290I server stdio vengono eseguiti come processi locali sulla tua macchina. Sono ideali per strumenti che necessitano di accesso diretto al sistema o script personalizzati.98I server stdio vengono eseguiti come processi locali sulla vostra macchina. Sono ideali per strumenti che necessitano di accesso diretto al sistema o script personalizzati.

99 

100Claude Code imposta `CLAUDE_PROJECT_DIR` nell'ambiente del server generato alla radice del progetto, in modo che il vostro server possa risolvere i percorsi relativi al progetto senza dipendere dalla directory di lavoro. Questa è la stessa directory che gli hook ricevono nella loro variabile `CLAUDE_PROJECT_DIR`. Leggetela dall'interno del vostro processo server, ad esempio `process.env.CLAUDE_PROJECT_DIR` in Node o `os.environ["CLAUDE_PROJECT_DIR"]` in Python. Il vostro server può anche chiamare la richiesta MCP `roots/list`, che restituisce la directory da cui Claude Code è stato avviato.

101 

102Questa variabile è impostata nell'ambiente del server, non nell'ambiente di Claude Code stesso, quindi farvi riferimento tramite l'espansione `${VAR}` in un `.mcp.json` con ambito progetto o utente `command` o `args` richiede un valore predefinito come `${CLAUDE_PROJECT_DIR:-.}`. Le configurazioni MCP fornite da plugin sostituiscono `${CLAUDE_PROJECT_DIR}` direttamente e non hanno bisogno del valore predefinito.

291 103 

292```bash theme={null}104```bash theme={null}

293# Sintassi di base105# Sintassi di base


311 Questo previene conflitti tra i flag di Claude e i flag del server.123 Questo previene conflitti tra i flag di Claude e i flag del server.

312</Note>124</Note>

313 125 

314### Gestione dei tuoi server126### Gestione dei vostri server

315 127 

316Una volta configurati, puoi gestire i tuoi server MCP con questi comandi:128Una volta configurati, potete gestire i vostri server MCP con questi comandi:

317 129 

318```bash theme={null}130```bash theme={null}

319# Elenca tutti i server configurati131# Elenca tutti i server configurati


331 143 

332Il pannello `/mcp` mostra il conteggio degli strumenti accanto a ogni server connesso e contrassegna i server che pubblicizzano la capacità degli strumenti ma non espongono alcuno strumento.144Il pannello `/mcp` mostra il conteggio degli strumenti accanto a ogni server connesso e contrassegna i server che pubblicizzano la capacità degli strumenti ma non espongono alcuno strumento.

333 145 

334Il nome del server `workspace` è riservato per uso interno. Se la tua configurazione definisce un server con quel nome, Claude Code lo salta al momento del caricamento e mostra un avviso chiedendoti di rinominarlo.146Il nome del server `workspace` è riservato per uso interno. Se la vostra configurazione definisce un server con quel nome, Claude Code lo salta al momento del caricamento e mostra un avviso chiedendovi di rinominarlo.

335 147 

336### Aggiornamenti dinamici degli strumenti148### Aggiornamenti dinamici degli strumenti

337 149 


339 151 

340### Riconnessione automatica152### Riconnessione automatica

341 153 

342Se un server HTTP o SSE si disconnette durante una sessione, Claude Code si riconnette automaticamente con backoff esponenziale: fino a cinque tentativi, a partire da un ritardo di un secondo e raddoppiando ogni volta. Il server appare come in sospeso in `/mcp` mentre la riconnessione è in corso. Dopo cinque tentativi falliti il server è contrassegnato come non riuscito e puoi riprovare manualmente da `/mcp`. I server stdio sono processi locali e non vengono riconnessi automaticamente.154Se un server HTTP o SSE si disconnette durante una sessione, Claude Code si riconnette automaticamente con backoff esponenziale: fino a cinque tentativi, a partire da un ritardo di un secondo e raddoppiando ogni volta. Il server appare come in sospeso in `/mcp` mentre la riconnessione è in corso. Dopo cinque tentativi falliti il server è contrassegnato come non riuscito e potete riprovare manualmente da `/mcp`. I server stdio sono processi locali e non vengono riconnessi automaticamente.

343 155 

344Lo stesso backoff si applica quando un server HTTP o SSE non riesce la sua connessione iniziale all'avvio. A partire dalla v2.1.121, Claude Code ritenta la connessione iniziale fino a tre volte su errori transitori come una risposta 5xx, una connessione rifiutata o un timeout, quindi contrassegna il server come non riuscito se ancora non riesce a connettersi. Gli errori di autenticazione e di non trovato non vengono ritentati perché richiedono una modifica della configurazione per essere risolti.156Lo stesso backoff si applica quando un server HTTP o SSE non riesce la sua connessione iniziale all'avvio. A partire dalla v2.1.121, Claude Code ritenta la connessione iniziale fino a tre volte su errori transitori come una risposta 5xx, una connessione rifiutata o un timeout, quindi contrassegna il server come non riuscito se ancora non riesce a connettersi. Gli errori di autenticazione e di non trovato non vengono ritentati perché richiedono una modifica della configurazione per essere risolti.

345 157 

346### Invia messaggi con canali158### Invia messaggi con canali

347 159 

348Un server MCP può anche inviare messaggi direttamente nella tua sessione in modo che Claude possa reagire a eventi esterni come risultati CI, avvisi di monitoraggio o messaggi di chat. Per abilitare questa funzionalità, il tuo server dichiara la capacità `claude/channel` e tu la abiliti con il flag `--channels` all'avvio. Vedi [Canali](/it/channels) per utilizzare un canale ufficialmente supportato, oppure [Riferimento canali](/it/channels-reference) per costruire il tuo.160Un server MCP può anche inviare messaggi direttamente nella vostra sessione in modo che Claude possa reagire a eventi esterni come risultati CI, avvisi di monitoraggio o messaggi di chat. Per abilitare questa funzionalità, il vostro server dichiara la capacità `claude/channel` e voi la abilitate con il flag `--channels` all'avvio. Vedi [Canali](/it/channels) per utilizzare un canale ufficialmente supportato, oppure [Riferimento canali](/it/channels-reference) per costruire il vostro.

349 161 

350<Tip>162<Tip>

351 Suggerimenti:163 Suggerimenti:

352 164 

353 * Utilizza il flag `--scope` per specificare dove viene archiviata la configurazione:165 * Utilizza il flag `--scope` per specificare dove viene archiviata la configurazione:

354 * `local` (predefinito): Disponibile solo per te nel progetto corrente (era chiamato `project` nelle versioni precedenti)166 * `local` (predefinito): Disponibile solo per voi nel progetto corrente (era chiamato `project` nelle versioni precedenti)

355 * `project`: Condiviso con tutti nel progetto tramite il file `.mcp.json`167 * `project`: Condiviso con tutti nel progetto tramite il file `.mcp.json`

356 * `user`: Disponibile per te in tutti i progetti (era chiamato `global` nelle versioni precedenti)168 * `user`: Disponibile per voi in tutti i progetti (era chiamato `global` nelle versioni precedenti)

357 * Imposta le variabili di ambiente con i flag `--env` (per esempio, `--env KEY=value`)169 * Imposta le variabili di ambiente con i flag `--env` (per esempio, `--env KEY=value`)

358 * Configura il timeout di avvio del server MCP utilizzando la variabile di ambiente MCP\_TIMEOUT (per esempio, `MCP_TIMEOUT=10000 claude` imposta un timeout di 10 secondi)170 * Configura il timeout di avvio del server MCP utilizzando la variabile di ambiente MCP\_TIMEOUT (per esempio, `MCP_TIMEOUT=10000 claude` imposta un timeout di 10 secondi)

359 * Claude Code visualizzerà un avviso quando l'output dello strumento MCP supera 10.000 token. Per aumentare questo limite, imposta la variabile di ambiente `MAX_MCP_OUTPUT_TOKENS` (per esempio, `MAX_MCP_OUTPUT_TOKENS=50000`)171 * Claude Code visualizzerà un avviso quando l'output dello strumento MCP supera 10.000 token. Per aumentare questo limite, imposta la variabile di ambiente `MAX_MCP_OUTPUT_TOKENS` (per esempio, `MAX_MCP_OUTPUT_TOKENS=50000`)


405 217 

406**Funzionalità MCP del plugin**:218**Funzionalità MCP del plugin**:

407 219 

408* **Ciclo di vita automatico**: All'avvio della sessione, i server per i plugin abilitati si connettono automaticamente. Se abiliti o disabiliti un plugin durante una sessione, esegui `/reload-plugins` per connettere o disconnettere i suoi server MCP220* **Ciclo di vita automatico**: All'avvio della sessione, i server per i plugin abilitati si connettono automaticamente. Se abilitate o disabilitate un plugin durante una sessione, eseguite `/reload-plugins` per connettere o disconnettere i suoi server MCP

409* **Variabili di ambiente**: Utilizza `${CLAUDE_PLUGIN_ROOT}` per i file del plugin raggruppati e `${CLAUDE_PLUGIN_DATA}` per lo [stato persistente](/it/plugins-reference#persistent-data-directory) che sopravvive agli aggiornamenti del plugin221* **Variabili di ambiente**: Utilizza `${CLAUDE_PLUGIN_ROOT}` per i file del plugin raggruppati, `${CLAUDE_PLUGIN_DATA}` per lo [stato persistente](/it/plugins-reference#persistent-data-directory) che sopravvive agli aggiornamenti del plugin, e `${CLAUDE_PROJECT_DIR}` per la radice stabile del progetto

410* **Accesso alle variabili di ambiente dell'utente**: Accesso alle stesse variabili di ambiente dei server configurati manualmente222* **Accesso alle variabili di ambiente dell'utente**: Accesso alle stesse variabili di ambiente dei server configurati manualmente

411* **Tipi di trasporto multipli**: Supporto per trasporti stdio, SSE e HTTP (il supporto del trasporto può variare a seconda del server)223* **Tipi di trasporto multipli**: Supporto per trasporti stdio, SSE e HTTP (il supporto del trasporto può variare a seconda del server)

412 224 


646 458 

647Molti server MCP basati su cloud richiedono l'autenticazione. Claude Code supporta OAuth 2.0 per connessioni sicure.459Molti server MCP basati su cloud richiedono l'autenticazione. Claude Code supporta OAuth 2.0 per connessioni sicure.

648 460 

461Claude Code contrassegna un server remoto come richiedente autenticazione quando il server risponde con `401 Unauthorized` e un'intestazione `WWW-Authenticate` che punta al suo server di autorizzazione. Qualsiasi server personalizzato che restituisce quella risposta ottiene lo stesso flusso di autenticazione `/mcp` di qualsiasi altro server remoto.

462 

649<Steps>463<Steps>

650 <Step title="Aggiungi il server che richiede l'autenticazione">464 <Step title="Aggiungi il server che richiede l'autenticazione">

651 Per esempio:465 Per esempio:


1139 953 

1140### Configura tool search954### Configura tool search

1141 955 

1142Tool search è abilitato per impostazione predefinita: gli strumenti MCP vengono rimandati e scoperti su richiesta. È disabilitato per impostazione predefinita su Vertex AI, che non accetta l'intestazione beta tool search, e quando `ANTHROPIC_BASE_URL` punta a un host non di prima parte, poiché la maggior parte dei proxy non inoltrano blocchi `tool_reference`. Imposta `ENABLE_TOOL_SEARCH` esplicitamente per opt-in. Questa funzionalità richiede modelli che supportano blocchi `tool_reference`: Sonnet 4 e successivi, oppure Opus 4 e successivi. I modelli Haiku non supportano tool search.956Tool search è abilitato per impostazione predefinita: gli strumenti MCP vengono rimandati e scoperti su richiesta. È disabilitato per impostazione predefinita su Vertex AI, che non accetta l'intestazione beta tool search, e quando `ANTHROPIC_BASE_URL` punta a un host non di prima parte, poiché la maggior parte dei proxy non inoltrano blocchi `tool_reference`. Se il tuo proxy inoltra blocchi `tool_reference`, imposta `ENABLE_TOOL_SEARCH` esplicitamente per ignorare il fallback. Questa funzionalità richiede modelli che supportano blocchi `tool_reference`: Sonnet 4 e successivi, oppure Opus 4 e successivi. I modelli Haiku non supportano tool search.

1143 957 

1144Controlla il comportamento di tool search con la variabile di ambiente `ENABLE_TOOL_SEARCH`:958Controlla il comportamento di tool search con la variabile di ambiente `ENABLE_TOOL_SEARCH`:

1145 959 

1146| Valore | Comportamento |960| Valore | Comportamento |

1147| :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- |961| :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1148| (non impostato) | Tutti gli strumenti MCP rimandati e caricati su richiesta. Ricade al caricamento in anticipo su Vertex AI o quando `ANTHROPIC_BASE_URL` è un host non di prima parte |962| (non impostato) | Tutti gli strumenti MCP rimandati e caricati su richiesta. Ricade al caricamento in anticipo su Vertex AI o quando `ANTHROPIC_BASE_URL` è un host non di prima parte |

1149| `true` | Tutti gli strumenti MCP rimandati, incluso su Vertex AI e per `ANTHROPIC_BASE_URL` non di prima parte |963| `true` | Tutti gli strumenti MCP rimandati. Claude Code invia l'intestazione beta anche su Vertex AI e attraverso i proxy. Le richieste non riescono se il backend non supporta blocchi `tool_reference` |

1150| `auto` | Modalità soglia: gli strumenti vengono caricati in anticipo se si adattano entro il 10% della finestra di contesto, rimandati altrimenti |964| `auto` | Modalità soglia: gli strumenti vengono caricati in anticipo se si adattano entro il 10% della finestra di contesto, rimandati altrimenti |

1151| `auto:<N>` | Modalità soglia con una percentuale personalizzata, dove `<N>` è 0-100 (ad es. `auto:5` per il 5%) |965| `auto:<N>` | Modalità soglia con una percentuale personalizzata, dove `<N>` è 0-100 (ad es. `auto:5` per il 5%) |

1152| `false` | Tutti gli strumenti MCP caricati in anticipo, nessun rinvio |966| `false` | Tutti gli strumenti MCP caricati in anticipo, nessun rinvio |

memory.md +17 −1

Details

26| :---------------- | :---------------------------------------------------------------- | :------------------------------------------------------------------------------- |26| :---------------- | :---------------------------------------------------------------- | :------------------------------------------------------------------------------- |

27| **Chi lo scrive** | Tu | Claude |27| **Chi lo scrive** | Tu | Claude |

28| **Cosa contiene** | Istruzioni e regole | Apprendimenti e modelli |28| **Cosa contiene** | Istruzioni e regole | Apprendimenti e modelli |

29| **Ambito** | Progetto, utente o organizzazione | Per worktree |29| **Ambito** | Progetto, utente o organizzazione | Per repository, condiviso tra worktrees |

30| **Caricato in** | Ogni sessione | Ogni sessione (prime 200 righe o 25KB) |30| **Caricato in** | Ogni sessione | Ogni sessione (prime 200 righe o 25KB) |

31| **Usare per** | Standard di codifica, flussi di lavoro, architettura del progetto | Comandi di compilazione, approfondimenti sul debug, preferenze che Claude scopre |31| **Usare per** | Standard di codifica, flussi di lavoro, architettura del progetto | Comandi di compilazione, approfondimenti sul debug, preferenze che Claude scopre |

32 32 


272 </Step>272 </Step>

273</Steps>273</Steps>

274 274 

275La chiave `claudeMd` ti consente di mettere il contenuto CLAUDE.md gestito direttamente dentro `managed-settings.json` invece di distribuire un file separato.

276 

277**Ambito**: ogni sessione di Claude Code sulla macchina, in ogni repository. Per una guida specifica del repository, esegui il commit di un CLAUDE.md di progetto invece.

278 

279**Precedenza**: uguale a un file CLAUDE.md gestito. Si carica prima di CLAUDE.md utente e di progetto.

280 

281**Dove viene rispettato**: solo impostazioni gestite e di politica. Impostare `claudeMd` in impostazioni utente, progetto o locali non ha effetto.

282 

283L'esempio seguente aggiunge istruzioni comportamentali direttamente in un file di impostazioni gestite:

284 

285```json theme={null}

286{

287 "claudeMd": "Esegui sempre `make lint` prima di eseguire il commit.\nNon eseguire mai il push direttamente a main."

288}

289```

290 

275Un CLAUDE.md gestito e [impostazioni gestite](/it/settings#settings-files) servono a scopi diversi. Usa le impostazioni per l'applicazione tecnica e CLAUDE.md per la guida comportamentale:291Un CLAUDE.md gestito e [impostazioni gestite](/it/settings#settings-files) servono a scopi diversi. Usa le impostazioni per l'applicazione tecnica e CLAUDE.md per la guida comportamentale:

276 292 

277| Preoccupazione | Configura in |293| Preoccupazione | Configura in |

Details

166**`claude_code.llm_request`**166**`claude_code.llm_request`**

167 167 

168| Attributo | Descrizione | Controllato da |168| Attributo | Descrizione | Controllato da |

169| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -------------- |169| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------- |

170| `model` | Identificatore del modello | |170| `model` | Identificatore del modello | |

171| `gen_ai.system` | Sempre `anthropic`. Convenzione semantica OpenTelemetry GenAI | |171| `gen_ai.system` | Sempre `anthropic`. Convenzione semantica OpenTelemetry GenAI | |

172| `gen_ai.request.model` | Stesso valore di `model`. Convenzione semantica OpenTelemetry GenAI | |172| `gen_ai.request.model` | Stesso valore di `model`. Convenzione semantica OpenTelemetry GenAI | |

173| `query_source` | Sottosistema che ha emesso la richiesta, come `repl_main_thread` o un nome di subagent | |173| `query_source` | Sottosistema che ha emesso la richiesta, come `repl_main_thread` o un nome di subagent | |

174| `agent_id` | Identificatore del subagent o del collega che ha emesso la richiesta. Assente nella sessione principale | |

175| `parent_agent_id` | Identificatore dell'agente che ha generato questo. Assente per la sessione principale e per gli agenti generati direttamente da essa | |

174| `speed` | `fast` o `normal` | |176| `speed` | `fast` o `normal` | |

175| `llm_request.context` | `interaction`, `tool`, o `standalone` a seconda dello span genitore | |177| `llm_request.context` | `interaction`, `tool`, o `standalone` a seconda dello span genitore | |

176| `duration_ms` | Durata wall-clock inclusi i tentativi | |178| `duration_ms` | Durata wall-clock inclusi i tentativi | |


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

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

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

451* `agent.name`: Tipo di subagent che ha emesso la richiesta. I nomi degli agenti incorporati e i nomi degli agenti dai plugin del marketplace ufficiale vengono visualizzati così come sono. Gli altri nomi degli agenti definiti dall'utente vengono sostituiti con `"custom"`. Assente quando la richiesta non è stata emessa da un tipo di subagent denominato.

452* `skill.name`: Skill attiva per la richiesta, impostata dallo strumento Skill, da un comando `/`, o ereditata da un subagent generato. I nomi delle skill incorporate, in bundle, definite dall'utente e dei plugin del marketplace ufficiale vengono visualizzati così come sono. I nomi delle skill dei plugin di terze parti vengono sostituiti con `"third-party"`. Assente quando nessuna skill è attiva.

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

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

449 455 

450#### Contatore di token456#### Contatore di token

451 457 


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

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

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

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

462 469 

463#### Contatore di decisione dello strumento di modifica del codice470#### Contatore di decisione dello strumento di modifica del codice

464 471 


647* `tool_use_id`: Identificatore univoco per questa invocazione dello strumento. Corrisponde al `tool_use_id` passato agli hooks, consentendo la correlazione tra gli eventi OTel e i dati acquisiti dagli hooks.654* `tool_use_id`: Identificatore univoco per questa invocazione dello strumento. Corrisponde al `tool_use_id` passato agli hooks, consentendo la correlazione tra gli eventi OTel e i dati acquisiti dagli hooks.

648* `decision`: `"accept"` o `"reject"`655* `decision`: `"accept"` o `"reject"`

649* `source`: Fonte della decisione:656* `source`: Fonte della decisione:

650 * `"config"`: Deciso automaticamente senza richiedere, in base alle impostazioni del progetto, alla politica gestita dall'azienda, ai flag `--allowedTools` o `--disallowedTools`, alla modalità di autorizzazione attiva, o perché lo strumento è intrinsecamente sicuro.657 * `"config"`: Deciso automaticamente senza richiedere, in base alle impostazioni del progetto, alle regole di autorizzazione nelle impostazioni personali dell'utente, alla politica gestita dall'azienda, ai flag `--allowedTools` o `--disallowedTools`, alla modalità di autorizzazione attiva, a una concessione con ambito di sessione da un prompt precedente nella stessa sessione CLI interattiva, o perché lo strumento è intrinsecamente sicuro. L'evento non indica quale di queste fonti corrisponde.

651 * `"hook"`: Un hook `PreToolUse` o `PermissionRequest` ha restituito la decisione.658 * `"hook"`: Un hook `PreToolUse` o `PermissionRequest` ha restituito la decisione.

652 * `"user_permanent"`: Emesso quando l'utente ha scelto "Consenti sempre" quando richiesto, salvando una regola alle sue impostazioni personali. Emesso anche per le chiamate successive che corrispondono a quella regola salvata. Trattato come un'accettazione.659 * `"user_permanent"`: Emesso quando l'utente ha scelto "Sì, e non chiedere di nuovo per ..." in un prompt di autorizzazione, il che salva una regola di autorizzazione alle sue impostazioni personali. Nella CLI interattiva questo viene emesso solo per quella scelta stessa; le chiamate successive che corrispondono alla regola salvata emettono `"config"` invece. Nelle sessioni Agent SDK o non interattive `-p`, sia la scelta iniziale che le corrispondenze di regole successive emettono `"user_permanent"`. Trattato come un'accettazione.

653 * `"user_temporary"`: Emesso quando l'utente ha scelto "Sì" o "Sì, per questa sessione" quando richiesto, senza salvare una regola. Emesso anche per le chiamate successive nella stessa sessione che corrispondono a quel permesso con ambito di sessione. Trattato come un'accettazione.660 * `"user_temporary"`: Emesso quando l'utente ha scelto "Sì" in un prompt di autorizzazione per un'approvazione una tantum, o ha scelto una delle opzioni "... durante questa sessione" in un prompt di modifica o lettura di file. Nella CLI interattiva questo viene emesso solo per la scelta stessa; le chiamate successive consentite da quella concessione con ambito di sessione emettono `"config"` invece. Nelle sessioni Agent SDK o non interattive `-p`, sia la scelta che le corrispondenze successive emettono `"user_temporary"`. Trattato come un'accettazione.

654 * `"user_abort"`: Emesso quando l'utente ha chiuso il prompt di autorizzazione senza rispondere. Trattato come un rifiuto.661 * `"user_abort"`: Emesso quando l'utente ha chiuso il prompt di autorizzazione senza rispondere. Trattato come un rifiuto.

655 * `"user_reject"`: Emesso quando l'utente ha scelto "No" quando richiesto, o una chiamata ha corrisposto a una regola di negazione nelle sue impostazioni personali. Trattato come un rifiuto.662 * `"user_reject"`: Emesso quando l'utente ha scelto "No" quando richiesto, o una chiamata ha corrisposto a una regola di negazione nelle sue impostazioni personali. Trattato come un rifiuto.

656 663 

657#### Evento di cambio della modalità di autorizzazione664#### Evento di cambio della modalità di autorizzazione

658 665 

659Registrato quando la modalità di autorizzazione cambia, ad esempio da ciclo Shift+Tab, uscita dalla modalità piano, o un controllo del gate della modalità automatica.666Registrato quando la modalità di autorizzazione cambia, ad esempio da ciclo Shift+Tab, uscita dalla Plan Mode, o un controllo del gate della modalità automatica.

660 667 

661**Nome evento**: `claude_code.permission_mode_changed`668**Nome evento**: `claude_code.permission_mode_changed`

662 669 


741* `plugin.version`: Versione del plugin quando dichiarata nella voce del marketplace. Per i marketplace di terze parti questo è incluso solo quando `OTEL_LOG_TOOL_DETAILS=1`748* `plugin.version`: Versione del plugin quando dichiarata nella voce del marketplace. Per i marketplace di terze parti questo è incluso solo quando `OTEL_LOG_TOOL_DETAILS=1`

742* `marketplace.name`: Marketplace da cui è stato installato il plugin. Per i marketplace di terze parti questo è incluso solo quando `OTEL_LOG_TOOL_DETAILS=1`749* `marketplace.name`: Marketplace da cui è stato installato il plugin. Per i marketplace di terze parti questo è incluso solo quando `OTEL_LOG_TOOL_DETAILS=1`

743 750 

751#### Evento di plugin caricato

752 

753Registrato una volta per ogni plugin abilitato all'avvio della sessione. Usa questo evento per inventariare quali plugin sono attivi nella tua flotta, come complemento a `plugin_installed` che registra l'azione di installazione stessa.

754 

755**Nome evento**: `claude_code.plugin_loaded`

756 

757**Attributi**:

758 

759* Tutti gli [attributi standard](#standard-attributes)

760* `event.name`: `"plugin_loaded"`

761* `event.timestamp`: Timestamp ISO 8601

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

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

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

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

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

767* `enabled_via`: Come il plugin è stato abilitato: `"default-enable"`, `"org-policy"`, `"seed-mount"`, o `"user-install"`

768* `plugin_id_hash`: Hash deterministico del nome del plugin e del marketplace, inviato solo al tuo esportatore configurato. Ti consente di contare quanti plugin di terze parti distinti sono caricati nella tua flotta senza registrare i loro nomi

769* `has_hooks`: Se il plugin contribuisce hooks

770* `has_mcp`: Se il plugin contribuisce server MCP

771* `skill_path_count`: Numero di directory di skill che il plugin dichiara

772* `command_path_count`: Numero di directory di comandi che il plugin dichiara

773* `agent_path_count`: Numero di directory di agenti che il plugin dichiara

774 

744#### Evento di skill attivata775#### Evento di skill attivata

745 776 

746Registrato quando una skill viene invocata, sia che Claude la chiami tramite lo strumento Skill sia che tu la esegua come comando `/`.777Registrato quando una skill viene invocata, sia che Claude la chiami tramite lo strumento Skill sia che tu la esegua come comando `/`.


793* `total_retry_duration_ms`: Tempo wall-clock totale tra tutti i tentativi824* `total_retry_duration_ms`: Tempo wall-clock totale tra tutti i tentativi

794* `speed`: `"fast"` o `"normal"`825* `speed`: `"fast"` o `"normal"`

795 826 

827#### Evento di hook registrato

828 

829Registrato una volta per ogni hook configurato all'avvio della sessione. Usa questo evento per inventariare quali hook sono attivi nella tua flotta, come complemento agli eventi per esecuzione `hook_execution_start` e `hook_execution_complete`.

830 

831**Nome evento**: `claude_code.hook_registered`

832 

833**Attributi**:

834 

835* Tutti gli [attributi standard](#standard-attributes)

836* `event.name`: `"hook_registered"`

837* `event.timestamp`: Timestamp ISO 8601

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

839* `hook_event`: Tipo di evento hook, come `"PreToolUse"` o `"PostToolUse"`

840* `hook_type`: Tipo di implementazione dell'hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, o `"agent"`

841* `hook_source`: Dove è definito l'hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, o `"pluginHook"`

842* `hook_matcher` (quando `OTEL_LOG_TOOL_DETAILS=1`): La stringa matcher dalla configurazione dell'hook, quando è impostata

843* `plugin.name` (quando `hook_source` è `"pluginHook"`): Nome del plugin che contribuisce. 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`

844* `plugin_id_hash` (quando `hook_source` è `"pluginHook"`): Hash deterministico del nome del plugin e del marketplace, inviato solo al tuo esportatore configurato. Ti consente di contare i plugin che contribuiscono distinti senza registrare i loro nomi

845 

796#### Evento di inizio esecuzione dell'hook846#### Evento di inizio esecuzione dell'hook

797 847 

798Registrato quando uno o più hook iniziano a eseguirsi per un evento hook.848Registrato quando uno o più hook iniziano a eseguirsi per un evento hook.


855* `post_tokens`: Conteggio approssimativo dei token dopo la compattazione905* `post_tokens`: Conteggio approssimativo dei token dopo la compattazione

856* `error`: Messaggio di errore quando la compattazione non è riuscita906* `error`: Messaggio di errore quando la compattazione non è riuscita

857 907 

908#### Evento di sondaggio di feedback

909 

910Registrato quando viene mostrato o risposto a un sondaggio sulla qualità della sessione. Vedi [Sondaggi sulla qualità della sessione](/it/data-usage#session-quality-surveys) per sapere cosa raccolgono i sondaggi e come controllarli.

911 

912**Nome evento**: `claude_code.feedback_survey`

913 

914**Attributi**:

915 

916* Tutti gli [attributi standard](#standard-attributes)

917* `event.name`: `"feedback_survey"`

918* `event.timestamp`: Timestamp ISO 8601

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

920* `event_type`: Evento del ciclo di vita del sondaggio, ad esempio `"appeared"`, `"responded"`, o `"transcript_prompt_appeared"`

921* `appearance_id`: ID univoco che collega gli eventi emessi per un'istanza di sondaggio

922* `survey_type`: Quale sondaggio ha prodotto l'evento. `"session"` è il prompt di valutazione "Come sta andando Claude?"

923* `response`: La selezione dell'utente su eventi `responded`

924* `enabled_via_override`: `true` quando [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/it/env-vars) è impostato. Emesso come booleano, non come stringa. Presente su eventi di sondaggio `session`. Filtra su questo attributo per confermare che l'override è applicato in tutta la flotta

925 

858## Interpretazione dei dati di metriche e eventi926## Interpretazione dei dati di metriche e eventi

859 927 

860Le metriche e gli eventi esportati supportano una gamma di analisi:928Le metriche e gli eventi esportati supportano una gamma di analisi:


862### Monitoraggio dell'utilizzo930### Monitoraggio dell'utilizzo

863 931 

864| Metrica | Opportunità di analisi |932| Metrica | Opportunità di analisi |

865| ------------------------------------------------------------- | ----------------------------------------------------------------- |933| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |

866| `claude_code.token.usage` | Suddividi per `type` (input/output), utente, team o modello |934| `claude_code.token.usage` | Suddividi per `type` (input/output), utente, team, modello, `skill.name`, `plugin.name`, o `agent.name` |

867| `claude_code.session.count` | Traccia l'adozione e l'engagement nel tempo |935| `claude_code.session.count` | Traccia l'adozione e l'engagement nel tempo |

868| `claude_code.lines_of_code.count` | Misura la produttività tracciando le aggiunte/rimozioni di codice |936| `claude_code.lines_of_code.count` | Misura la produttività tracciando le aggiunte/rimozioni di codice |

869| `claude_code.commit.count` & `claude_code.pull_request.count` | Comprendi l'impatto sui flussi di lavoro di sviluppo |937| `claude_code.commit.count` & `claude_code.pull_request.count` | Comprendi l'impatto sui flussi di lavoro di sviluppo |


874 942 

875* Tracciare i trend di utilizzo tra team o individui943* Tracciare i trend di utilizzo tra team o individui

876* Identificare sessioni ad alto utilizzo per l'ottimizzazione944* Identificare sessioni ad alto utilizzo per l'ottimizzazione

945* Attribuire la spesa a skill, plugin, o tipi di subagent specifici tramite gli attributi `skill.name`, `plugin.name`, e `agent.name`

877 946 

878<Note>947<Note>

879 Le metriche di costo sono approssimazioni. Per i dati di fatturazione ufficiali, consulta il tuo provider API (Claude Console, Amazon Bedrock, o Google Cloud Vertex).948 Le metriche di costo sono approssimazioni. Per i dati di fatturazione ufficiali, consulta il tuo provider API (Claude Console, Amazon Bedrock, o Google Cloud Vertex).

Details

14 14 

15Lo **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.15Lo **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.

16 16 

17Ci sono due output styles integrati aggiuntivi focalizzati sull'insegnamento del codebase e su come Claude opera:17Ci sono tre output styles integrati aggiuntivi:

18 

19* **Proactive**: Claude esegue immediatamente, fa ipotesi ragionevoli invece di fermarsi per decisioni di routine, e preferisce l'azione alla pianificazione. Questo applica la stessa guida della [modalità auto](/it/permission-modes#eliminate-prompts-with-auto-mode) senza cambiare la vostra modalità di permesso, quindi vedete comunque i prompt di permesso prima che gli strumenti vengano eseguiti.

18 20 

19* **Explanatory**: Fornisce "Insights" educativi tra l'aiuto nel completamento dei compiti di ingegneria del software. Aiuta a comprendere le scelte di implementazione e i pattern del codebase.21* **Explanatory**: Fornisce "Insights" educativi tra l'aiuto nel completamento dei compiti di ingegneria del software. Aiuta a comprendere le scelte di implementazione e i pattern del codebase.

20 22 


88 90 

89### Output Styles vs. CLAUDE.md vs. --append-system-prompt91### Output Styles vs. CLAUDE.md vs. --append-system-prompt

90 92 

91Gli output styles "disattivano" completamente le parti del prompt di sistema predefinito di Claude Code specifiche per l'ingegneria del software. CLAUDE.md `--append-system-prompt` modificano il prompt di sistema predefinito di Claude Code. CLAUDE.md aggiunge i contenuti come messaggio utente *seguendo* il prompt di sistema predefinito di Claude Code. `--append-system-prompt` aggiunge il contenuto al prompt di sistema.93Scegliete in base al fatto che Claude debba smettere di agire come assistente di codifica o mantenere il suo ruolo predefinito e imparare di più. Gli output styles sostituiscono le parti di ingegneria del software del prompt di sistema di Claude Code con il vostro ruolo e voce personali, quindi utilizzateli quando Claude dovrebbe adottare un'identità diversa, come un editor di testi o un assistente di analisi dei dati. CLAUDE.md e `--append-system-prompt` mantengono entrambi l'identità predefinita di Claude Code e vi aggiungono contenuti, quindi utilizzateli quando Claude dovrebbe rimanere un assistente di codifica che segue anche le convenzioni del vostro progetto o istruzioni aggiuntive.

94 

95I meccanismi differiscono inoltre. Gli output styles modificano il prompt di sistema direttamente. CLAUDE.md aggiunge i suoi contenuti come messaggio utente dopo il prompt di sistema. `--append-system-prompt` aggiunge contenuti alla fine del prompt di sistema senza rimuovere nulla.

92 96 

93### Output Styles vs. [Agents](/it/sub-agents)97### Output Styles vs. [Agents](/it/sub-agents)

94 98 

95Gli output styles influenzano direttamente il loop dell'agente principale e influenzano solo il prompt di sistema. Gli agenti vengono invocati per gestire compiti specifici e possono includere impostazioni aggiuntive come il modello da utilizzare, gli strumenti disponibili e un contesto su quando utilizzare l'agente.99Utilizzate uno output style per cambiare il modo in cui la conversazione principale risponde in ogni sessione. Utilizzate un [subagent](/it/sub-agents) quando desiderate un helper con ambito separato a cui la conversazione principale delega. Gli output styles influenzano solo il prompt di sistema del loop dell'agente principale. Gli agenti gestiscono compiti specifici e possono avere il loro modello, strumenti e contesto su quando invocarli.

96 100 

97### Output Styles vs. [Skills](/it/skills)101### Output Styles vs. [Skills](/it/skills)

98 102 

Details

128 128 

129Premi `Shift+Tab` di nuovo per uscire da plan mode senza approvare un piano.129Premi `Shift+Tab` di nuovo per uscire da plan mode senza approvare un piano.

130 130 

131### Rivedi e approva un piano

132 

131Quando il piano è pronto, Claude lo presenta e ti chiede come procedere. Da quel prompt puoi:133Quando il piano è pronto, Claude lo presenta e ti chiede come procedere. Da quel prompt puoi:

132 134 

133* Approvare e avviare in modalità auto135* Approvare e avviare in modalità auto


136* Continuare a pianificare con feedback138* Continuare a pianificare con feedback

137* Perfezionare con [Ultraplan](/it/ultraplan) per la revisione basata su browser139* Perfezionare con [Ultraplan](/it/ultraplan) per la revisione basata su browser

138 140 

139Ogni opzione di approvazione offre anche di cancellare il contesto di pianificazione per primo.141Approvare un piano esce da plan mode e cambia la sessione alla modalità di autorizzazione che ogni opzione di approvazione descrive, quindi Claude inizia a modificare. Per pianificare di nuovo, torna a plan mode con `Shift+Tab`, o prefissa il tuo prossimo prompt con `/plan`.

142 

143Premi `Ctrl+G` per aprire il piano proposto nel tuo editor di testo predefinito e modificarlo direttamente prima che Claude proceda. Quando [`showClearContextOnPlanAccept`](/it/settings#available-settings) è abilitato, ogni opzione di approvazione offre anche di cancellare il contesto di pianificazione per primo.

144 

145Accettare un piano nomina anche la sessione automaticamente dal contenuto del piano, a meno che tu non abbia già impostato un nome con `--name` o `/rename`.

146 

147### Imposta plan mode come predefinito

148 

149Per rendere plan mode il predefinito per un progetto, imposta `defaultMode` in `.claude/settings.json`:

150 

151```json theme={null}

152{

153 "permissions": {

154 "defaultMode": "plan"

155 }

156}

157```

140 158 

141## Elimina i prompt con auto mode159## Elimina i prompt con auto mode

142 160 


146 164 

147Auto mode consente a Claude di eseguire senza prompt di autorizzazione. Un modello classificatore separato esamina le azioni prima che vengano eseguite, bloccando qualsiasi cosa che si escalation oltre la tua richiesta, mira a infrastruttura non riconosciuta o sembra guidata da contenuto ostile che Claude ha letto.165Auto mode consente a Claude di eseguire senza prompt di autorizzazione. Un modello classificatore separato esamina le azioni prima che vengano eseguite, bloccando qualsiasi cosa che si escalation oltre la tua richiesta, mira a infrastruttura non riconosciuta o sembra guidata da contenuto ostile che Claude ha letto.

148 166 

167Auto mode inoltre istruisce Claude a eseguire immediatamente e minimizzare le domande di chiarimento. Per ottenere quel comportamento mantenendo i prompt di autorizzazione, imposta lo [stile di output proattivo](/it/output-styles) invece.

168 

149<Warning>169<Warning>

150 Auto mode è un'anteprima di ricerca. Riduce i prompt ma non garantisce la sicurezza. Usalo per compiti in cui ti fidi della direzione generale, non come sostituto della revisione su operazioni sensibili.170 Auto mode è un'anteprima di ricerca. Riduce i prompt ma non garantisce la sicurezza. Usalo per compiti in cui ti fidi della direzione generale, non come sostituto della revisione su operazioni sensibili.

151</Warning>171</Warning>


182* Richieste HTTP di sola lettura202* Richieste HTTP di sola lettura

183* Push al ramo su cui hai iniziato o uno che Claude ha creato203* Push al ramo su cui hai iniziato o uno che Claude ha creato

184 204 

185Le richieste di accesso alla rete sandbox vengono instradate attraverso il classificatore piuttosto che essere consentite per impostazione predefinita. Esegui `claude auto-mode defaults` per vedere gli elenchi di regole completi. Se le azioni di routine vengono bloccate, un amministratore può aggiungere repo attendibili, bucket e servizi tramite l'impostazione `autoMode.environment`: vedi [Configure auto mode](/it/auto-mode-config).205Le richieste di accesso alla rete sandbox vengono instradate attraverso il classificatore piuttosto che essere consentite per impostazione predefinita. Esegui `claude auto-mode defaults` per vedere gli elenchi di regole completi. Se le azioni di routine vengono bloccate, un amministratore può aggiungere repo attendibili, bucket e servizi tramite l'impostazione `autoMode.environment`: vedi [Configura auto mode](/it/auto-mode-config).

186 206 

187### Confini che dichiari nella conversazione207### Confini che dichiari nella conversazione

188 208 


246 266 

247## Salta tutti i controlli con la modalità bypassPermissions267## Salta tutti i controlli con la modalità bypassPermissions

248 268 

249La modalità `bypassPermissions` disabilita i prompt di autorizzazione e i controlli di sicurezza in modo che le chiamate di strumenti vengono eseguite immediatamente. A partire dalla v2.1.126 questo include le scritture su [percorsi protetti](#protected-paths), che le versioni precedenti ancora richiedevano. Le rimozioni che interessano la radice del filesystem o la directory home, come `rm -rf /` e `rm -rf ~`, ancora richiedono un prompt come protezione contro gli errori del modello. Utilizza questa modalità solo in ambienti isolati come container, VM o devcontainer senza accesso a Internet, dove Claude Code non può danneggiare il tuo sistema host.269La modalità `bypassPermissions` disabilita i prompt di autorizzazione e i controlli di sicurezza in modo che le chiamate di strumenti vengono eseguite immediatamente. A partire dalla v2.1.126 questo include le scritture su [percorsi protetti](#protected-paths), che le versioni precedenti ancora richiedevano. Le rimozioni che interessano la radice del filesystem o la directory home, come `rm -rf /` e `rm -rf ~`, ancora richiedono un prompt come protezione contro gli errori del modello. Utilizza questa modalità solo in ambienti isolati come container, VM o dev container senza accesso a Internet, dove Claude Code non può danneggiare il tuo sistema host.

250 270 

251Non puoi entrare in `bypassPermissions` da una sessione che è stata avviata senza uno dei flag di abilitazione; riavvia con uno per abilitarlo:271Non puoi entrare in `bypassPermissions` da una sessione che è stata avviata senza uno dei flag di abilitazione; riavvia con uno per abilitarlo:

252 272 


256 276 

257Il flag `--dangerously-skip-permissions` è equivalente.277Il flag `--dangerously-skip-permissions` è equivalente.

258 278 

279Su Linux e macOS, Claude Code rifiuta di avviarsi in questa modalità quando viene eseguito come root o sotto `sudo`:

280 

281```text theme={null}

282--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

283```

284 

285Il controllo viene saltato automaticamente all'interno di una sandbox riconosciuta. Per eseguire autonomamente in un container, utilizza la configurazione [dev container](/it/devcontainer), che esegue Claude Code come utente non root.

286 

259<Warning>287<Warning>

260 `bypassPermissions` non offre protezione contro l'iniezione di prompt o azioni indesiderate. Per i controlli di sicurezza in background senza prompt, utilizza [auto mode](#eliminate-prompts-with-auto-mode) invece. Gli amministratori possono bloccare questa modalità impostando `permissions.disableBypassPermissionsMode` su `"disable"` nelle [impostazioni gestite](/it/permissions#managed-settings).288 `bypassPermissions` non offre protezione contro l'iniezione di prompt o azioni indesiderate. Per i controlli di sicurezza in background senza prompt, utilizza [auto mode](#eliminate-prompts-with-auto-mode) invece. Gli amministratori possono bloccare questa modalità impostando `permissions.disableBypassPermissionsMode` su `"disable"` nelle [impostazioni gestite](/it/permissions#managed-settings).

261</Warning>289</Warning>

permissions.md +5 −1

Details

28 28 

29Le regole vengono valutate in ordine: **deny -> ask -> allow**. La prima regola corrispondente vince, quindi le regole deny hanno sempre la precedenza.29Le regole vengono valutate in ordine: **deny -> ask -> allow**. La prima regola corrispondente vince, quindi le regole deny hanno sempre la precedenza.

30 30 

31<Note>

32 Le regole di autorizzazione sono applicate da Claude Code, non dal modello. Le istruzioni nel vostro prompt o in `CLAUDE.md` determinano ciò che Claude tenta di fare, ma non cambiano ciò che Claude Code consente. Per concedere o revocare l'accesso, utilizzate `/permissions`, le regole descritte qui, una [modalità di autorizzazione](/it/permission-modes), o un [hook PreToolUse](#extend-permissions-with-hooks).

33</Note>

34 

31## Modalità di autorizzazione35## Modalità di autorizzazione

32 36 

33Claude Code supporta diverse modalità di autorizzazione che controllano come gli strumenti vengono approvati. Vedi [Permission modes](/it/permission-modes) per quando utilizzare ciascuna. Impostate `defaultMode` nei vostri [file di impostazioni](/it/settings#settings-files):37Claude Code supporta diverse modalità di autorizzazione che controllano come gli strumenti vengono approvati. Vedi [Permission modes](/it/permission-modes) per quando utilizzare ciascuna. Impostate `defaultMode` nei vostri [file di impostazioni](/it/settings#settings-files):


153 157 

154 * **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 consentiti158 * **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

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

156 * Istruire Claude Code sui vostri modelli curl consentiti tramite CLAUDE.md160 * **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

157 161 

158 Nota che l'utilizzo di WebFetch da solo non impedisce l'accesso alla rete. Se Bash è consentito, Claude può comunque utilizzare `curl`, `wget` o altri strumenti per raggiungere qualsiasi URL.162 Nota che l'utilizzo di WebFetch da solo non impedisce l'accesso alla rete. Se Bash è consentito, Claude può comunque utilizzare `curl`, `wget` o altri strumenti per raggiungere qualsiasi URL.

159</Warning>163</Warning>

plugins.md +6 −0

Details

299claude --plugin-dir ./my-plugin299claude --plugin-dir ./my-plugin

300```300```

301 301 

302Il flag accetta anche un archivio `.zip` della directory del plugin, che richiede Claude Code v2.1.128 o successivo.

303 

304```bash theme={null}

305claude --plugin-dir ./my-plugin.zip

306```

307 

302Quando un plugin `--plugin-dir` ha lo stesso nome di un plugin marketplace installato, la copia locale ha la precedenza per quella sessione. Questo ti consente di testare le modifiche a un plugin che hai già installato senza disinstallarlo prima. I plugin marketplace forzatamente abilitati dalle impostazioni gestite sono l'unica eccezione e non possono essere sovrascritti.308Quando un plugin `--plugin-dir` ha lo stesso nome di un plugin marketplace installato, la copia locale ha la precedenza per quella sessione. Questo ti consente di testare le modifiche a un plugin che hai già installato senza disinstallarlo prima. I plugin marketplace forzatamente abilitati dalle impostazioni gestite sono l'unica eccezione e non possono essere sovrascritti.

303 309 

304Man mano che apporti modifiche al tuo plugin, esegui `/reload-plugins` per raccogliere gli aggiornamenti senza riavviare. Questo ricarica plugin, skills, agents, hooks, MCP servers del plugin e LSP servers del plugin. Testa i componenti del tuo plugin:310Man mano che apporti modifiche al tuo plugin, esegui `/reload-plugins` per raccogliere gli aggiornamenti senza riavviare. Questo ricarica plugin, skills, agents, hooks, MCP servers del plugin e LSP servers del plugin. Testa i componenti del tuo plugin:

Details

97 "hooks": [97 "hooks": [

98 {98 {

99 "type": "command",99 "type": "command",

100 "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format-code.sh"100 "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/format-code.sh"

101 }101 }

102 ]102 ]

103 }103 }


289[289[

290 {290 {

291 "name": "deploy-status",291 "name": "deploy-status",

292 "command": "${CLAUDE_PLUGIN_ROOT}/scripts/poll-deploy.sh ${user_config.api_endpoint}",292 "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/poll-deploy.sh ${user_config.api_endpoint}",

293 "description": "Deployment status changes"293 "description": "Deployment status changes"

294 },294 },

295 {295 {


317| :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |317| :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

318| `when` | Controlla quando il monitor si avvia. `"always"` lo avvia all'avvio della sessione e al ricaricamento del plugin, ed è il predefinito. `"on-skill-invoke:<skill-name>"` lo avvia la prima volta che la skill denominata in questo plugin viene inviata |318| `when` | Controlla quando il monitor si avvia. `"always"` lo avvia all'avvio della sessione e al ricaricamento del plugin, ed è il predefinito. `"on-skill-invoke:<skill-name>"` lo avvia la prima volta che la skill denominata in questo plugin viene inviata |

319 319 

320Il valore `command` supporta le stesse [sostituzioni di variabili](#environment-variables) delle configurazioni dei server MCP e LSP: `${CLAUDE_PLUGIN_ROOT}`, `${CLAUDE_PLUGIN_DATA}`, `${user_config.*}` e qualsiasi `${ENV_VAR}` dall'ambiente. Prefissa il comando con `cd "${CLAUDE_PLUGIN_ROOT}" && ` se lo script ha bisogno di essere eseguito dalla directory del plugin stesso.320Il valore `command` supporta le stesse [sostituzioni di variabili](#environment-variables) delle configurazioni dei server MCP e LSP: `${CLAUDE_PLUGIN_ROOT}`, `${CLAUDE_PLUGIN_DATA}`, `${CLAUDE_PROJECT_DIR}`, `${user_config.*}` e qualsiasi `${ENV_VAR}` dall'ambiente. Prefissa il comando con `cd "${CLAUDE_PLUGIN_ROOT}" && ` se lo script ha bisogno di essere eseguito dalla directory del plugin stesso.

321 321 

322La disabilitazione di un plugin a metà sessione non interrompe i monitor già in esecuzione. Si interrompono quando la sessione termina.322La disabilitazione di un plugin a metà sessione non interrompe i monitor già in esecuzione. Si interrompono quando la sessione termina.

323 323 


540 540 

541### Variabili di ambiente541### Variabili di ambiente

542 542 

543Claude Code fornisce due variabili per fare riferimento ai percorsi del plugin. Entrambe vengono sostituite inline ovunque appaiano nel contenuto delle skills, nel contenuto degli agents, nei comandi degli hooks, nei comandi dei monitor e nelle configurazioni dei server MCP o LSP. Entrambe vengono anche esportate come variabili di ambiente ai processi degli hooks e ai sottoprocessi dei server MCP o LSP.543Claude Code fornisce tre variabili per fare riferimento ai percorsi. Tutte vengono sostituite inline ovunque appaiano nel contenuto delle skills, nel contenuto degli agents, nei comandi degli hooks, nei comandi dei monitor e nelle configurazioni dei server MCP o LSP. Tutte vengono anche esportate come variabili di ambiente ai processi degli hooks e ai sottoprocessi dei server MCP o LSP.

544 544 

545**`${CLAUDE_PLUGIN_ROOT}`**: il percorso assoluto della directory di installazione del tuo plugin. Usalo per fare riferimento a script, binari e file di configurazione forniti con il plugin. Questo percorso cambia quando il plugin viene aggiornato. La directory della versione precedente rimane su disco per circa sette giorni dopo un aggiornamento prima della pulizia, ma trattala come effimera e non scrivere stato qui.545**`${CLAUDE_PLUGIN_ROOT}`**: il percorso assoluto della directory di installazione del tuo plugin. Usalo per fare riferimento a script, binari e file di configurazione forniti con il plugin. Nei comandi degli hooks, usa la [forma exec](/it/hooks#exec-form-and-shell-form) con `args` in modo che il percorso venga passato come un singolo argomento senza virgolette. Nei comandi degli hooks in forma shell e nei comandi dei monitor, racchiudilo tra virgolette doppie, come in `"${CLAUDE_PLUGIN_ROOT}"`. Questo percorso cambia quando il plugin viene aggiornato. La directory della versione precedente rimane su disco per circa sette giorni dopo un aggiornamento prima della pulizia, ma trattala come effimera e non scrivere stato qui.

546 546 

547Quando un plugin viene aggiornato a metà sessione, i comandi degli hooks, i monitor, i server MCP e i server LSP continuano a utilizzare il percorso della versione precedente. Esegui `/reload-plugins` per passare gli hooks, i server MCP e i server LSP al nuovo percorso; i monitor richiedono un riavvio della sessione.547Quando un plugin viene aggiornato a metà sessione, i comandi degli hooks, i monitor, i server MCP e i server LSP continuano a utilizzare il percorso della versione precedente. Esegui `/reload-plugins` per passare gli hooks, i server MCP e i server LSP al nuovo percorso; i monitor richiedono un riavvio della sessione.

548 548 

549**`${CLAUDE_PLUGIN_DATA}`**: una directory persistente per lo stato del plugin che sopravvive agli aggiornamenti. Usalo per le dipendenze installate come `node_modules` o ambienti virtuali Python, codice generato, cache e qualsiasi altro file che dovrebbe persistere tra le versioni del plugin. La directory viene creata automaticamente la prima volta che questa variabile viene referenziata.549**`${CLAUDE_PLUGIN_DATA}`**: una directory persistente per lo stato del plugin che sopravvive agli aggiornamenti. Usalo per le dipendenze installate come `node_modules` o ambienti virtuali Python, codice generato, cache e qualsiasi altro file che dovrebbe persistere tra le versioni del plugin. La directory viene creata automaticamente la prima volta che questa variabile viene referenziata.

550 550 

551**`${CLAUDE_PROJECT_DIR}`**: la radice del progetto. Questa è la stessa directory che gli hooks ricevono nella loro variabile `CLAUDE_PROJECT_DIR`. Usala per fare riferimento a script locali del progetto o file di configurazione. Racchiudila tra virgolette per gestire i percorsi con spazi, ad esempio `"${CLAUDE_PROJECT_DIR}/scripts/server.sh"`. I server MCP possono anche chiamare la richiesta MCP `roots/list`, che restituisce la directory da cui Claude Code è stato avviato.

552 

551```json theme={null}553```json theme={null}

552{554{

553 "hooks": {555 "hooks": {


556 "hooks": [558 "hooks": [

557 {559 {

558 "type": "command",560 "type": "command",

559 "command": "${CLAUDE_PLUGIN_ROOT}/scripts/process.sh"561 "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/process.sh"

560 }562 }

561 ]563 ]

562 }564 }


629 631 

630I plugin installati non possono fare riferimento a file al di fuori della loro directory. I percorsi che attraversano al di fuori della radice del plugin (come `../shared-utils`) non funzioneranno dopo l'installazione perché questi file esterni non vengono copiati nella cache.632I plugin installati non possono fare riferimento a file al di fuori della loro directory. I percorsi che attraversano al di fuori della radice del plugin (come `../shared-utils`) non funzioneranno dopo l'installazione perché questi file esterni non vengono copiati nella cache.

631 633 

632### Lavorare con dipendenze esterne634### Condividere file all'interno di un marketplace con symlink

635 

636Se il tuo plugin ha bisogno di condividere file con altre parti dello stesso marketplace, puoi creare link simbolici all'interno della directory del tuo plugin. Il modo in cui un symlink viene gestito quando il plugin viene copiato nella cache dipende da dove si risolve il suo target:

637 

638* **All'interno della directory del plugin stesso:** il symlink viene preservato come symlink relativo nella cache, quindi continua a risolversi al target copiato in fase di esecuzione.

639* **Altrove all'interno dello stesso marketplace:** il symlink viene dereferenziato. Il contenuto del target viene copiato nella cache al suo posto. Questo consente a un meta-plugin di collegare la sua directory `skills/` alle skill definite da altri plugin nel marketplace.

640* **Al di fuori del marketplace:** il symlink viene saltato per motivi di sicurezza. Questo impedisce ai plugin di estrarre file arbitrari dell'host come percorsi di sistema nella cache.

633 641 

634Se il tuo plugin ha bisogno di accedere a file al di fuori della sua directory, puoi creare link simbolici a file esterni all'interno della directory del tuo plugin. I symlink vengono preservati nella cache piuttosto che dereferenziati e si risolvono al loro target in fase di esecuzione. Il seguente comando crea un link dall'interno della directory del tuo plugin a una posizione di utilità condivise:642Per i plugin installati con `--plugin-dir` o da un percorso locale, solo i symlink che si risolvono all'interno della directory del plugin stesso vengono preservati. Tutti gli altri vengono saltati.

643 

644Il seguente comando crea un link dall'interno di un plugin del marketplace a una skill condivisa definita da un plugin sibling. Su Windows, usa `mklink /D` da un Command Prompt elevato o abilita Developer Mode:

635 645 

636```bash theme={null}646```bash theme={null}

637ln -s /path/to/shared-utils ./shared-utils647ln -s ../../shared-plugin/skills/foo ./skills/foo

638```648```

639 649 

640Questo fornisce flessibilità mantenendo i vantaggi di sicurezza del sistema di caching.650Questo fornisce flessibilità mantenendo i vantaggi di sicurezza del sistema di caching.


875| `--available` | Includi plugin disponibili dai marketplace. Richiede `--json` | |885| `--available` | Includi plugin disponibili dai marketplace. Richiede `--json` | |

876| `-h, --help` | Visualizza la guida per il comando | |886| `-h, --help` | Visualizza la guida per il comando | |

877 887 

888### plugin details

889 

890Mostra l'inventario dei componenti di un plugin e il costo dei token previsto. L'output elenca tutti i componenti che il plugin contribuisce, raggruppati come Skills (skills e comandi), Agents, Hooks e server MCP, insieme a una stima di quanti token aggiunge a ogni sessione.

891 

892```bash theme={null}

893claude plugin details <name>

894```

895 

896**Argomenti:**

897 

898* `<name>`: Nome del plugin o `plugin-name@marketplace-name`

899 

900**Opzioni:**

901 

902| Opzione | Descrizione | Predefinito |

903| :----------- | :--------------------------------- | :---------- |

904| `-h, --help` | Visualizza la guida per il comando | |

905 

906L'output mostra due cifre di costo per ogni componente:

907 

908* **Always-on:** token aggiunti a ogni sessione dal testo dell'elenco del plugin, come descrizioni di skill, descrizioni di agent e nomi di comandi, indipendentemente dal fatto che un componente si attivi.

909* **On-invoke:** token che un componente costa quando si attiva. Mostrato per componente, non come totale del plugin, perché una sessione tipica invoca solo un sottoinsieme di componenti.

910 

911Questo esempio mostra come appare l'output per un plugin con due skill:

912 

913```

914security-guidance 1.2.0

915 Real-time security analysis for Claude Code sessions

916 Source: security-guidance@claude-code-marketplace

917 

918Component inventory

919 Skills (2) scan-dependencies, review-changes

920 Agents (0)

921 Hooks (1) (harness-only — no model context cost)

922 MCP servers (0)

923 

924Projected token cost

925 Always-on: ~180 tok added to every session

926 

927Per-component (rounded)

928 component always-on on-invoke

929 scan-dependencies ~100 ~2400

930 review-changes ~80 ~1800

931 

932 On-invoke cost is paid each time a skill or agent fires.

933 Token counts are estimates and may differ from actual usage.

934```

935 

936Il totale always-on viene calcolato tramite l'API `count_tokens` per il tuo modello attivo. I numeri per componente sono proporzionalmente scalati da quel totale. Se l'API non è raggiungibile, il comando ricade su una stima basata sui caratteri.

937 

878### plugin tag938### plugin tag

879 939 

880Crea un tag git di rilascio per il plugin nella directory corrente. Esegui dall'interno della cartella del plugin. Vedi [Tag plugin releases](/it/plugin-dependencies#tag-plugin-releases-for-version-resolution).940Crea un tag git di rilascio per il plugin nella directory corrente. Esegui dall'interno della cartella del plugin. Vedi [Tag plugin releases](/it/plugin-dependencies#tag-plugin-releases-for-version-resolution).

quickstart.md +2 −2

Details

307 </Accordion>307 </Accordion>

308 308 

309 <Accordion title="Risparmia tempo con le scorciatoie">309 <Accordion title="Risparmia tempo con le scorciatoie">

310 * Premi `?` per vedere tutte le scorciatoie da tastiera disponibili310 * Digita `/` per vedere tutti i comandi e le skills

311 * Usa Tab per il completamento dei comandi311 * Usa Tab per il completamento dei comandi

312 * Premi ↑ per la cronologia dei comandi312 * Premi ↑ per la cronologia dei comandi

313 * Digita `/` per vedere tutti i comandi e le skill313 * Premi `Shift+Tab` per ciclo tra le modalità di autorizzazione

314 </Accordion>314 </Accordion>

315</AccordionGroup>315</AccordionGroup>

316 316 

routines.md +2 −0

Details

318 318 

319Le routine possono utilizzare i tuoi MCP connector connessi per leggere e scrivere nei servizi esterni durante ogni esecuzione. Ad esempio, una routine che triage le richieste di supporto potrebbe leggere da un canale Slack e creare problemi in Linear.319Le routine possono utilizzare i tuoi MCP connector connessi per leggere e scrivere nei servizi esterni durante ogni esecuzione. Ad esempio, una routine che triage le richieste di supporto potrebbe leggere da un canale Slack e creare problemi in Linear.

320 320 

321I connector sono le [integrazioni claude.ai](/it/mcp#use-mcp-servers-from-claude-ai) sul tuo account. I server MCP che hai aggiunto localmente nella CLI con `claude mcp add` sono archiviati sulla tua macchina piuttosto che sul tuo account claude.ai, quindi non compaiono nell'elenco dei connector. Per utilizzare uno di questi server in una routine, aggiungilo come connector su [claude.ai/customize/connectors](https://claude.ai/customize/connectors), oppure dichiaralo in un [`.mcp.json`](/it/mcp#project-scope) committato in modo che faccia parte del repository clonato.

322 

321Quando crei una routine, tutti i tuoi connector attualmente connessi sono inclusi per impostazione predefinita. Rimuovi quelli non necessari per limitare a quali strumenti Claude ha accesso durante l'esecuzione. Puoi anche aggiungere connector direttamente dal modulo della routine.323Quando crei una routine, tutti i tuoi connector attualmente connessi sono inclusi per impostazione predefinita. Rimuovi quelli non necessari per limitare a quali strumenti Claude ha accesso durante l'esecuzione. Puoi anche aggiungere connector direttamente dal modulo della routine.

322 324 

323Per gestire o aggiungere connector al di fuori del modulo della routine, visita **Settings > Connectors** su claude.ai o usa `/schedule update` nella CLI.325Per gestire o aggiungere connector al di fuori del modulo della routine, visita **Settings > Connectors** su claude.ai o usa `/schedule update` nella CLI.

security.md +1 −1

Details

87 87 

88Claude Code consente agli utenti di configurare server Model Context Protocol (MCP). L'elenco dei server MCP consentiti è configurato nel vostro codice sorgente, come parte delle impostazioni di Claude Code che gli ingegneri controllano nel controllo del codice sorgente.88Claude Code consente agli utenti di configurare server Model Context Protocol (MCP). L'elenco dei server MCP consentiti è configurato nel vostro codice sorgente, come parte delle impostazioni di Claude Code che gli ingegneri controllano nel controllo del codice sorgente.

89 89 

90Incoraggiamo sia la scrittura dei vostri server MCP che l'utilizzo di server MCP da provider di cui vi fidate. Siete in grado di configurare i permessi di Claude Code per i server MCP. Anthropic non gestiscecontrolla alcun server MCP.90Incoraggiamo sia la scrittura dei vostri server MCP che l'utilizzo di server MCP da provider di cui vi fidate. Siete in grado di configurare i permessi di Claude Code per i server MCP. Anthropic esamina i connettori rispetto ai suoi [criteri di valutazione](https://claude.com/docs/connectors/building/review-criteria) prima di aggiungerli alla [Directory Anthropic](https://claude.ai/directory), ma non esegue audit di sicurezza gestisce alcun server MCP.

91 91 

92## Sicurezza dell'IDE92## Sicurezza dell'IDE

93 93 

settings.md +3 −1

Details

178| `awsCredentialExport` | Script personalizzato che restituisce JSON con le credenziali AWS (vedi [configurazione avanzata delle credenziali](/it/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |178| `awsCredentialExport` | Script personalizzato che restituisce JSON con le credenziali AWS (vedi [configurazione avanzata delle credenziali](/it/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |

179| `blockedMarketplaces` | (Solo impostazioni gestite) Elenco di negazione delle fonti del marketplace. Applicato all'aggiunta del marketplace e all'installazione, aggiornamento, aggiornamento e auto-aggiornamento del plugin, quindi un marketplace aggiunto prima che la politica fosse impostata non può essere utilizzato per recuperare i plugin. Le fonti bloccate vengono controllate prima del download, quindi non toccano mai il filesystem. Vedi [Restrizioni del marketplace gestito](/it/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |179| `blockedMarketplaces` | (Solo impostazioni gestite) Elenco di negazione delle fonti del marketplace. Applicato all'aggiunta del marketplace e all'installazione, aggiornamento, aggiornamento e auto-aggiornamento del plugin, quindi un marketplace aggiunto prima che la politica fosse impostata non può essere utilizzato per recuperare i plugin. Le fonti bloccate vengono controllate prima del download, quindi non toccano mai il filesystem. Vedi [Restrizioni del marketplace gestito](/it/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |

180| `channelsEnabled` | (Solo impostazioni gestite) Consenti [channels](/it/channels) per l'organizzazione. Nei piani Team e Enterprise di claude.ai, i canali vengono bloccati quando questo non è impostato o è `false`. Per gli account [Anthropic Console](/it/authentication#claude-console-authentication) che utilizzano l'autenticazione con chiave API, i canali sono consentiti per impostazione predefinita a meno che la tua organizzazione non distribuisca impostazioni gestite, nel qual caso questa chiave deve essere impostata a `true` | `true` |180| `channelsEnabled` | (Solo impostazioni gestite) Consenti [channels](/it/channels) per l'organizzazione. Nei piani Team e Enterprise di claude.ai, i canali vengono bloccati quando questo non è impostato o è `false`. Per gli account [Anthropic Console](/it/authentication#claude-console-authentication) che utilizzano l'autenticazione con chiave API, i canali sono consentiti per impostazione predefinita a meno che la tua organizzazione non distribuisca impostazioni gestite, nel qual caso questa chiave deve essere impostata a `true` | `true` |

181| `claudeMd` | (Solo impostazioni gestite) Istruzioni in stile CLAUDE.md iniettate come memoria gestita dall'organizzazione. Onorato solo quando impostato nelle impostazioni gestite o di politica e ignorato nelle impostazioni utente, progetto e locale. Vedi [CLAUDE.md a livello organizzativo](/it/memory#deploy-organization-wide-claude-md) | `"Always run make lint before committing."` |

181| `claudeMdExcludes` | Modelli Glob o percorsi assoluti dei file `CLAUDE.md` da saltare durante il caricamento della [memoria](/it/memory). I modelli corrispondono ai percorsi assoluti dei file. Si applica solo alla memoria utente, progetto e locale; i file di politica gestiti non possono essere esclusi | `["**/vendor/**/CLAUDE.md"]` |182| `claudeMdExcludes` | Modelli Glob o percorsi assoluti dei file `CLAUDE.md` da saltare durante il caricamento della [memoria](/it/memory). I modelli corrispondono ai percorsi assoluti dei file. Si applica solo alla memoria utente, progetto e locale; i file di politica gestiti non possono essere esclusi | `["**/vendor/**/CLAUDE.md"]` |

182| `cleanupPeriodDays` | I file di sessione più vecchi di questo periodo vengono eliminati all'avvio (predefinito: 30 giorni, minimo 1). L'impostazione a `0` viene rifiutata con un errore di convalida. Controlla anche il limite di età per la rimozione automatica dei [worktrees subagent orfani](/it/worktrees#clean-up-worktrees) all'avvio. Per disabilitare completamente le scritture di trascritti, imposta la variabile di ambiente [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/it/env-vars), o in modalità non interattiva (`-p`) usa il flag `--no-session-persistence` o l'opzione SDK `persistSession: false`. | `20` |183| `cleanupPeriodDays` | I file di sessione più vecchi di questo periodo vengono eliminati all'avvio (predefinito: 30 giorni, minimo 1). L'impostazione a `0` viene rifiutata con un errore di convalida. Controlla anche il limite di età per la rimozione automatica dei [worktrees subagent orfani](/it/worktrees#clean-up-worktrees) all'avvio. Per disabilitare completamente le scritture di trascritti, imposta la variabile di ambiente [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/it/env-vars), o in modalità non interattiva (`-p`) usa il flag `--no-session-persistence` o l'opzione SDK `persistSession: false`. | `20` |

183| `companyAnnouncements` | Annuncio da visualizzare agli utenti all'avvio. Se vengono forniti più annunci, verranno alternati casualmente. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |184| `companyAnnouncements` | Annuncio da visualizzare agli utenti all'avvio. Se vengono forniti più annunci, verranno alternati casualmente. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |


253</Note>254</Note>

254 255 

255| Chiave | Descrizione | Esempio |256| Chiave | Descrizione | Esempio |

256| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------ |257| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------- |

257| `autoConnectIde` | Connettiti automaticamente a un IDE in esecuzione quando Claude Code si avvia da un terminale esterno. Predefinito: `false`. Appare in `/config` come **Auto-connect to IDE (external terminal)** quando eseguito al di fuori di un terminale VS Code o JetBrains. La variabile di ambiente [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/it/env-vars) ignora questo quando impostata | `true` |258| `autoConnectIde` | Connettiti automaticamente a un IDE in esecuzione quando Claude Code si avvia da un terminale esterno. Predefinito: `false`. Appare in `/config` come **Auto-connect to IDE (external terminal)** quando eseguito al di fuori di un terminale VS Code o JetBrains. La variabile di ambiente [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/it/env-vars) ignora questo quando impostata | `true` |

258| `autoInstallIdeExtension` | Installa automaticamente l'estensione IDE di Claude Code quando eseguito da un terminale VS Code. Predefinito: `true`. Appare in `/config` come **Auto-install IDE extension** quando eseguito all'interno di un terminale VS Code o JetBrains. Puoi anche impostare la variabile di ambiente [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/it/env-vars) | `false` |259| `autoInstallIdeExtension` | Installa automaticamente l'estensione IDE di Claude Code quando eseguito da un terminale VS Code. Predefinito: `true`. Appare in `/config` come **Auto-install IDE extension** quando eseguito all'interno di un terminale VS Code o JetBrains. Puoi anche impostare la variabile di ambiente [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/it/env-vars) | `false` |

259| `externalEditorContext` | Prependi la risposta precedente di Claude come contesto commentato con `#` quando apri l'editor esterno con `Ctrl+G`. Predefinito: `false`. Appare in `/config` come **Show last response in external editor** | `true` |260| `externalEditorContext` | Prependi la risposta precedente di Claude come contesto commentato con `#` quando apri l'editor esterno con `Ctrl+G`. Predefinito: `false`. Appare in `/config` come **Show last response in external editor** | `true` |

261| `teammateDefaultModel` | Modello predefinito per i compagni di squadra del [team di agenti](/it/agent-teams) quando il prompt di spawn non ne specifica uno. Imposta a un alias di modello come `"sonnet"`, o `null` per ereditare la selezione `/model` corrente del lead. Appare in `/config` come **Default teammate model** | `"sonnet"` |

260 262 

261### Impostazioni worktree263### Impostazioni worktree

262 264 

vs-code.md +4 −2

Details

233</Note>233</Note>

234 234 

235| Comando | Scorciatoia | Descrizione |235| Comando | Scorciatoia | Descrizione |

236| -------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |236| -------------------------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

237| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Alterna lo stato attivo tra editor e Claude |237| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Alterna lo stato attivo tra editor e Claude |

238| Open in Side Bar | - | Apri Claude nella barra laterale sinistra |238| Open in Side Bar | - | Apri Claude nella barra laterale sinistra |

239| Open in Terminal | - | Apri Claude in modalità terminale |239| Open in Terminal | - | Apri Claude in modalità terminale |

240| Open in New Tab | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | Apri una nuova conversazione come scheda dell'editor |240| Open in New Tab | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | Apri una nuova conversazione come scheda dell'editor |

241| Open in New Window | - | Apri una nuova conversazione in una finestra separata |241| Open in New Window | - | Apri una nuova conversazione in una finestra separata |

242| New Conversation | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | Avvia una nuova conversazione. Richiede che Claude sia focalizzato e `enableNewConversationShortcut` impostato su `true` |242| New Conversation | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | Avvia una nuova conversazione. Richiede che Claude sia focalizzato e `enableNewConversationShortcut` impostato su `true` |

243| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | Riapri la scheda della sessione Claude chiusa più di recente. Ricade al normale riapertura dell'editor chiuso di VS Code quando l'ultima scheda chiusa non era una sessione Claude. Disabilita con `enableReopenClosedSessionShortcut` |

243| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Inserisci un riferimento al file corrente e alla selezione (richiede che l'editor sia focalizzato) |244| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Inserisci un riferimento al file corrente e alla selezione (richiede che l'editor sia focalizzato) |

244| Show Logs | - | Visualizza i log di debug dell'estensione |245| Show Logs | - | Visualizza i log di debug dell'estensione |

245| Logout | - | Esci dal tuo account Anthropic |246| Logout | - | Esci dal tuo account Anthropic |


307### Impostazioni dell'estensione308### Impostazioni dell'estensione

308 309 

309| Impostazione | Predefinito | Descrizione |310| Impostazione | Predefinito | Descrizione |

310| --------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |311| ----------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

311| `useTerminal` | `false` | Avvia Claude in modalità terminale invece di pannello grafico |312| `useTerminal` | `false` | Avvia Claude in modalità terminale invece di pannello grafico |

312| `initialPermissionMode` | `default` | Controlla i prompt di approvazione per le nuove conversazioni: `default`, `plan`, `acceptEdits`, o `bypassPermissions`. Consulta [modalità di permesso](/it/permission-modes). |313| `initialPermissionMode` | `default` | Controlla i prompt di approvazione per le nuove conversazioni: `default`, `plan`, `acceptEdits`, o `bypassPermissions`. Consulta [modalità di permesso](/it/permission-modes). |

313| `preferredLocation` | `panel` | Dove Claude si apre: `sidebar` (destra) o `panel` (nuova scheda) |314| `preferredLocation` | `panel` | Dove Claude si apre: `sidebar` (destra) o `panel` (nuova scheda) |

314| `autosave` | `true` | Salva automaticamente i file prima che Claude li legga o scriva |315| `autosave` | `true` | Salva automaticamente i file prima che Claude li legga o scriva |

315| `useCtrlEnterToSend` | `false` | Usa Ctrl/Cmd+Enter invece di Enter per inviare i prompt |316| `useCtrlEnterToSend` | `false` | Usa Ctrl/Cmd+Enter invece di Enter per inviare i prompt |

316| `enableNewConversationShortcut` | `false` | Abilita Cmd/Ctrl+N per avviare una nuova conversazione |317| `enableNewConversationShortcut` | `false` | Abilita Cmd/Ctrl+N per avviare una nuova conversazione |

318| `enableReopenClosedSessionShortcut` | `true` | Usa Cmd/Ctrl+Shift+T per riaprire la scheda della sessione Claude chiusa più di recente. Quando l'ultima scheda chiusa non era una sessione Claude, la scorciatoia esegue il comando di riapertura dell'editor chiuso normale di VS Code. |

317| `hideOnboarding` | `false` | Nascondi la checklist di onboarding (icona del berretto di laurea) |319| `hideOnboarding` | `false` | Nascondi la checklist di onboarding (icona del berretto di laurea) |

318| `respectGitIgnore` | `true` | Escludi i modelli .gitignore dalle ricerche di file |320| `respectGitIgnore` | `true` | Escludi i modelli .gitignore dalle ricerche di file |

319| `usePythonEnvironment` | `true` | Attiva l'ambiente Python dell'area di lavoro quando esegui Claude. Richiede l'estensione Python. |321| `usePythonEnvironment` | `true` | Attiva l'ambiente Python dell'area di lavoro quando esegui Claude. Richiede l'estensione Python. |