6 6
7> Aggiungi pannelli, comandi e regole per le chiamate agli strumenti a Claude Code con un mod. Scopri cosa può fare un mod, come crearne o installarne uno e dove vengono eseguiti i mod.7> Aggiungi pannelli, comandi e regole per le chiamate agli strumenti a Claude Code con un mod. Scopri cosa può fare un mod, come crearne o installarne uno e dove vengono eseguiti i mod.
8 8
9Un mod è un [plugin](/docs/it/plugins/overview.md) che cambia l'aspetto e il comportamento di Claude Code. È composto da gestori di eventi JavaScript o TypeScript: Claude Code ne chiama uno quando si verifica un evento, come una chiamata a uno strumento, un prompt inviato o il disegno di una parte dell'interfaccia, e il gestore può osservare l'evento, modificarlo o prenderne il controllo. Usa un mod per aggiungere a Claude Code una funzionalità tutta tua, come un pannello che mostra in un grafico quanto è pieno il tuo contesto dopo ogni richiesta. Per i file di un mod e un esempio completo, consulta [Come funziona un mod](#how-a-mod-works).9Un mod è un [plugin](https://code.claude.com/docs/it/plugins/overview.md) che cambia l'aspetto e il comportamento di Claude Code. È composto da gestori di eventi JavaScript o TypeScript: Claude Code ne chiama uno quando si verifica un evento, come una chiamata a uno strumento, un prompt inviato o il disegno di una parte dell'interfaccia, e il gestore può osservare l'evento, modificarlo o prenderne il controllo. Usa un mod per aggiungere a Claude Code una funzionalità tutta tua, come un pannello che mostra in un grafico quanto è pieno il tuo contesto dopo ogni richiesta. Per i file di un mod e un esempio completo, consulta [Come funziona un mod](#how-a-mod-works).
10 10
11> [!NOTE]11> [!NOTE]
12>12>
13> Anche gli [hook](/docs/it/hooks.md) esistenti di Claude Code vengono eseguiti in risposta a eventi, come comando della shell, richiesta HTTP o prompt che configuri in un file di impostazioni. I gestori di un mod, invece, sono funzioni che vengono eseguite all'interno di Claude Code. Claude Code chiama hook entrambi i tipi: in queste pagine, "hook" indica un gestore di un mod, mentre il tipo definito nel file di impostazioni è un "hook delle impostazioni".13> Anche gli [hook](https://code.claude.com/docs/it/hooks.md) esistenti di Claude Code vengono eseguiti in risposta a eventi, come comando della shell, richiesta HTTP o prompt che configuri in un file di impostazioni. I gestori di un mod, invece, sono funzioni che vengono eseguite all'interno di Claude Code. Claude Code chiama hook entrambi i tipi: in queste pagine, "hook" indica un gestore di un mod, mentre il tipo definito nel file di impostazioni è un "hook delle impostazioni".
14 14
15## Cosa può fare un mod15## Cosa può fare un mod
16 16
17Gli hook delle impostazioni, le skill, le righe di stato e i server MCP funzionano dall'esterno di Claude Code: ciascuno esegue uno script, oppure fornisce a Claude testo o strumenti. Un mod viene eseguito all'interno di Claude Code, quindi può fare cose che loro non possono fare:17Gli hook delle impostazioni, le skill, le righe di stato e i server MCP funzionano dall'esterno di Claude Code: ciascuno esegue uno script, oppure fornisce a Claude testo o strumenti. Un mod viene eseguito all'interno di Claude Code, quindi può fare cose che loro non possono fare:
18 18
19* **Disegnare un'interfaccia che puoi usare**: un pannello accanto alla trascrizione o una fascia sopra il prompt, con schede, pulsanti e campi di testo. Consulta [Disegnare nell'interfaccia](/docs/it/plugins/mods/interface.md).19* **Disegnare un'interfaccia che puoi usare**: un pannello accanto alla trascrizione o una fascia sopra il prompt, con schede, pulsanti e campi di testo. Consulta [Disegnare nell'interfaccia](https://code.claude.com/docs/it/plugins/mods/interface.md).
20* **Ridisegnare l'interfaccia di Claude Code stessa**: sostituire o modificare lo stile di parti che Claude Code disegna da sé, come la riga di una chiamata a uno strumento, lo spinner o la finestra di dialogo in cui Claude pone domande. Consulta [Modificare ciò che Claude Code disegna già](/docs/it/plugins/mods/interface.md#change-what-claude-code-already-draws).20* **Ridisegnare l'interfaccia di Claude Code stessa**: sostituire o modificare lo stile di parti che Claude Code disegna da sé, come la riga di una chiamata a uno strumento, lo spinner o la finestra di dialogo in cui Claude pone domande. Consulta [Modificare ciò che Claude Code disegna già](https://code.claude.com/docs/it/plugins/mods/interface.md#change-what-claude-code-already-draws).
21* **Intervenire in una chiamata a uno strumento o in una richiesta**: ad esempio, sospendere una chiamata a uno strumento mentre fai una domanda all'utente, rispondere senza eseguire lo strumento, oppure inviare una richiesta a un modello diverso. Consulta [Controllare o modificare una chiamata a uno strumento](/docs/it/plugins/mods/events.md#guard-or-change-a-tool-call) e [Seguire un turno](/docs/it/plugins/mods/events.md#follow-a-turn).21* **Intervenire in una chiamata a uno strumento o in una richiesta**: ad esempio, sospendere una chiamata a uno strumento mentre fai una domanda all'utente, rispondere senza eseguire lo strumento, oppure inviare una richiesta a un modello diverso. Consulta [Controllare o modificare una chiamata a uno strumento](https://code.claude.com/docs/it/plugins/mods/events.md#guard-or-change-a-tool-call) e [Seguire un turno](https://code.claude.com/docs/it/plugins/mods/events.md#follow-a-turn).
22* **Eseguire il tuo codice con un comando**: un `/command` che esegue subito la tua funzione, senza alcun turno di Claude, anche mentre Claude sta lavorando. Consulta [Aggiungere un comando o uno strumento](/docs/it/plugins/mods/api.md#add-a-command-or-a-tool).22* **Eseguire il tuo codice con un comando**: un `/command` che esegue subito la tua funzione, senza alcun turno di Claude, anche mentre Claude sta lavorando. Consulta [Aggiungere un comando o uno strumento](https://code.claude.com/docs/it/plugins/mods/api.md#add-a-command-or-a-tool).
23* **Condividere dati tra gli hook**: gli hook di un mod condividono le variabili del suo file, quindi ciò che un hook registra, un altro può mostrarlo. Ad esempio, un hook può contare le chiamate agli strumenti mentre un altro mostra il conteggio accanto allo spinner, oppure uno può leggere l'utilizzo dei token di ogni richiesta mentre un altro lo rappresenta in un grafico in un pannello. Consulta [Reagire agli eventi](/docs/it/plugins/mods/events.md).23* **Condividere dati tra gli hook**: gli hook di un mod condividono le variabili del suo file, quindi ciò che un hook registra, un altro può mostrarlo. Ad esempio, un hook può contare le chiamate agli strumenti mentre un altro mostra il conteggio accanto allo spinner, oppure uno può leggere l'utilizzo dei token di ogni richiesta mentre un altro lo rappresenta in un grafico in un pannello. Consulta [Reagire agli eventi](https://code.claude.com/docs/it/plugins/mods/events.md).
24 24
25I mod funzionano nella CLI di Claude Code, nella scheda Code dell'app Claude Desktop e nell'estensione VS Code. Consulta [Dove vengono eseguiti i mod](#where-mods-run) per capire come si comportano altrove, ad esempio in `claude -p` e nelle sessioni cloud. Se un hook delle impostazioni, una skill o un server MCP fa già ciò di cui hai bisogno, [confrontali](#compare-mods-settings-hooks-skills-and-mcp-servers) prima di scrivere un mod. Per gestire i mod per un'organizzazione, consulta [Gestire i mod per la tua organizzazione](/docs/it/plugins/mods/admin.md).25I mod funzionano nella CLI di Claude Code, nella scheda Code dell'app Claude Desktop e nell'estensione VS Code. Consulta [Dove vengono eseguiti i mod](#where-mods-run) per capire come si comportano altrove, ad esempio in `claude -p` e nelle sessioni cloud. Se un hook delle impostazioni, una skill o un server MCP fa già ciò di cui hai bisogno, [confrontali](#compare-mods-settings-hooks-skills-and-mcp-servers) prima di scrivere un mod. Per gestire i mod per un'organizzazione, consulta [Gestire i mod per la tua organizzazione](https://code.claude.com/docs/it/plugins/mods/admin.md).
26 26
27## Ottieni un mod27## Ottieni un mod
28 28
29Per iniziare con un mod:29Per iniziare con un mod:
30 30
31* **Usane uno che hai già**: alcune funzionalità di Claude Code sono esse stesse dei mod, come `/diff`. Consulta [Mod integrati in Claude Code](#mods-built-into-claude-code).31* **Usane uno che hai già**: alcune funzionalità di Claude Code sono esse stesse dei mod, come `/diff`. Consulta [Mod integrati in Claude Code](#mods-built-into-claude-code).
32* **Creane uno**: descrivi ciò che vuoi in una sessione di Claude Code e Claude scriverà il mod. Consulta [Chiedi a Claude un mod](/docs/it/plugins/mods/create.md#ask-claude-for-a-mod). Per capire come funziona il codice di un mod, [scrivine uno tu stesso](/docs/it/plugins/mods/create.md#write-a-mod-yourself).32* **Creane uno**: descrivi ciò che vuoi in una sessione di Claude Code e Claude scriverà il mod. Consulta [Chiedi a Claude un mod](https://code.claude.com/docs/it/plugins/mods/create.md#ask-claude-for-a-mod). Per capire come funziona il codice di un mod, [scrivine uno tu stesso](https://code.claude.com/docs/it/plugins/mods/create.md#write-a-mod-yourself).
33* **Installane uno**: consulta [Installa o aggiorna un mod](#install-or-update-a-mod), oppure [prova un mod di esempio](#try-a-sample-mod)33* **Installane uno**: consulta [Installa o aggiorna un mod](#install-or-update-a-mod), oppure [prova un mod di esempio](#try-a-sample-mod)
34 34
35### Installa o aggiorna un mod35### Installa o aggiorna un mod
43* In una sessione di Claude Code, esegui `/plugin install token-chart@your-org`.43* In una sessione di Claude Code, esegui `/plugin install token-chart@your-org`.
44* Nella tua shell, esegui `claude plugin install token-chart@your-org`.44* Nella tua shell, esegui `claude plugin install token-chart@your-org`.
45 45
46[Installa plugin](/docs/it/plugins/install.md) tratta i marketplace, gli ambiti, l'estensione VS Code e l'app Desktop, e [come mantenere aggiornati i plugin](/docs/it/plugins/install.md#keep-plugins-updated): tutto ciò si applica senza modifiche a un plugin che contiene un mod.46[Installa plugin](https://code.claude.com/docs/it/plugins/install.md) tratta i marketplace, gli ambiti, l'estensione VS Code e l'app Desktop, e [come mantenere aggiornati i plugin](https://code.claude.com/docs/it/plugins/install.md#keep-plugins-updated): tutto ciò si applica senza modifiche a un plugin che contiene un mod.
47 47
48Se installi o aggiorni un mod dalla tua shell mentre una sessione è aperta, esegui `/reload-plugins` in quella sessione per caricarlo. Altrimenti verrà caricato al prossimo avvio di Claude Code.48Se installi o aggiorni un mod dalla tua shell mentre una sessione è aperta, esegui `/reload-plugins` in quella sessione per caricarlo. Altrimenti verrà caricato al prossimo avvio di Claude Code.
49 49
57 57
58Un mod di esempio viene eseguito con i tuoi permessi. Per vedere cosa fa prima di caricarlo, [elenca i suoi hook e le sue chiamate](#list-what-a-mod-does-before-you-install-one).58Un mod di esempio viene eseguito con i tuoi permessi. Per vedere cosa fa prima di caricarlo, [elenca i suoi hook e le sue chiamate](#list-what-a-mod-does-before-you-install-one).
59 59
60Per provarne uno, clona il repository e [carica la directory del mod per una sessione](/docs/it/plugins/create.md#load-a-directory-or-archive-for-one-session) con `--plugin-dir`. Per verificare che il mod sia stato caricato, [controlla quali mod ha caricato la sessione](#see-which-mods-a-session-loaded).60Per provarne uno, clona il repository e [carica la directory del mod per una sessione](https://code.claude.com/docs/it/plugins/create.md#load-a-directory-or-archive-for-one-session) con `--plugin-dir`. Per verificare che il mod sia stato caricato, [controlla quali mod ha caricato la sessione](#see-which-mods-a-session-loaded).
61 61
62Per mantenerne uno, [aggiungi la directory `claude-code/mods` del clone come marketplace](/docs/it/plugins/install#add-a-marketplace), quindi installa il mod da `claude-code-playground-mods`. Il marketplace punta al tuo clone, quindi il mod smette di caricarsi se lo sposti o lo elimini.62Per mantenerne uno, [aggiungi la directory `claude-code/mods` del clone come marketplace](https://code.claude.com/docs/it/plugins/install#add-a-marketplace), quindi installa il mod da `claude-code-playground-mods`. Il marketplace punta al tuo clone, quindi il mod smette di caricarsi se lo sposti o lo elimini.
63 63
64## Decidere se fidarsi di un mod64## Decidere se fidarsi di un mod
65 65
66Un mod è codice che viene eseguito con i tuoi permessi, all'interno di Claude Code. Installa i mod solo da autori e [marketplace di cui ti fidi](/docs/it/plugins/security.md).66Un mod è codice che viene eseguito con i tuoi permessi, all'interno di Claude Code. Installa i mod solo da autori e [marketplace di cui ti fidi](https://code.claude.com/docs/it/plugins/security.md).
67 67
68### A cosa può accedere un mod68### A cosa può accedere un mod
69 69
76* **Agire senza chiederti nulla**: approvare una chiamata a uno strumento prima che ti venga chiesto76* **Agire senza chiederti nulla**: approvare una chiamata a uno strumento prima che ti venga chiesto
77* **Consumare il tuo utilizzo**: chiamare un modello sul tuo piano o sulla tua chiave API77* **Consumare il tuo utilizzo**: chiamare un modello sul tuo piano o sulla tua chiave API
78 78
79I mod non sono eseguiti in una sandbox. Se attivi il [sandboxing](/docs/it/sandboxing.md), la sandbox isola i comandi Bash che Claude esegue, mentre un processo avviato da un mod viene eseguito al di fuori di essa.79I mod non sono eseguiti in una sandbox. Se attivi il [sandboxing](https://code.claude.com/docs/it/sandboxing.md), la sandbox isola i comandi Bash che Claude esegue, mentre un processo avviato da un mod viene eseguito al di fuori di essa.
80 80
81Con le [impostazioni gestite](/docs/it/settings.md#check-what-your-organization-enforces) o con un [`/login`](/docs/it/authentication#authentication-precedence) Team o Enterprise come credenziale della sessione, per impostazione predefinita l'approvazione di un mod non consente a una chiamata di superare le tue regole `ask` o i tuoi hook `PreToolUse`. In assenza di entrambi, un mod può approvare una chiamata per cui una regola `ask` chiederebbe conferma, o che il tuo hook `PreToolUse` ha bloccato. Per verificare quando un mod può approvare anche una chiamata che una regola `deny` rifiuta, consulta [Estendere i permessi con gli hook](/docs/it/permissions.md#precedence-among-rules-hooks-and-mods).81Con le [impostazioni gestite](https://code.claude.com/docs/it/settings.md#check-what-your-organization-enforces) o con un [`/login`](https://code.claude.com/docs/it/authentication#authentication-precedence) Team o Enterprise come credenziale della sessione, per impostazione predefinita l'approvazione di un mod non consente a una chiamata di superare le tue regole `ask` o i tuoi hook `PreToolUse`. In assenza di entrambi, un mod può approvare una chiamata per cui una regola `ask` chiederebbe conferma, o che il tuo hook `PreToolUse` ha bloccato. Per verificare quando un mod può approvare anche una chiamata che una regola `deny` rifiuta, consulta [Estendere i permessi con gli hook](https://code.claude.com/docs/it/permissions.md#precedence-among-rules-hooks-and-mods).
82 82
83Un mod può modificare lo stile di gran parte dell'interfaccia di Claude Code, ma non della richiesta di permesso. Non può cambiare ciò che la richiesta ti mostra.83Un mod può modificare lo stile di gran parte dell'interfaccia di Claude Code, ma non della richiesta di permesso. Non può cambiare ciò che la richiesta ti mostra.
84 84
90claude plugin validate ./some-mod90claude plugin validate ./some-mod
91```91```
92 92
93Le righe `hooks:` e `calls:` nell'output elencano gli eventi che il mod gestisce e cosa chiede a Claude Code di fare. [Esaminare cosa può fare un mod](/docs/it/plugins/mods/admin.md#review-what-a-mod-can-do) mostra l'output e quali chiamate cercare.93Le righe `hooks:` e `calls:` nell'output elencano gli eventi che il mod gestisce e cosa chiede a Claude Code di fare. [Esaminare cosa può fare un mod](https://code.claude.com/docs/it/plugins/mods/admin.md#review-what-a-mod-can-do) mostra l'output e quali chiamate cercare.
94 94
95## Attivare o disattivare i mod95## Attivare o disattivare i mod
96 96
97I mod sono attivi per impostazione predefinita. Nel terminale, usa Claude Code v2.1.287 o versioni successive. L'app Desktop include una propria copia di Claude Code e i mod funzionano lì a partire dalla v2.1.286. Controlla la versione nel punto in cui usi i mod:97I mod sono attivi per impostazione predefinita. Nel terminale, usa Claude Code v2.1.287 o versioni successive. L'app Desktop include una propria copia di Claude Code e i mod funzionano lì a partire dalla v2.1.286. Controlla la versione nel punto in cui usi i mod:
98 98
99* **Terminale**: nella tua shell, esegui `claude --version`. Se la tua versione è precedente, [aggiorna Claude Code](/docs/it/setup.md#update-claude-code).99* **Terminale**: nella tua shell, esegui `claude --version`. Se la tua versione è precedente, [aggiorna Claude Code](https://code.claude.com/docs/it/setup.md#update-claude-code).
100* **App Desktop**: in una sessione locale nella scheda Code, inserisci `/status` e leggi la riga **Claude Code**, che mostra una versione come `2.1.286`. Se la tua versione è precedente, [aggiorna l'app Desktop](/docs/it/desktop.md#claude-code-version-in-the-code-tab).100* **App Desktop**: in una sessione locale nella scheda Code, inserisci `/status` e leggi la riga **Claude Code**, che mostra una versione come `2.1.286`. Se la tua versione è precedente, [aggiorna l'app Desktop](https://code.claude.com/docs/it/desktop.md#claude-code-version-in-the-code-tab).
101 101
102Per disattivare i mod, scegli quanti fermarne e per quanto tempo. Per riattivarli, annulla la stessa modifica:102Per disattivare i mod, scegli quanti fermarne e per quanto tempo. Per riattivarli, annulla la stessa modifica:
103 103
104* **Un mod**: disabilita o disinstalla il suo plugin dalla [scheda **Installed** in `/plugin`](/docs/it/plugins/install#manage-installed-plugins)104* **Un mod**: disabilita o disinstalla il suo plugin dalla [scheda **Installed** in `/plugin`](https://code.claude.com/docs/it/plugins/install#manage-installed-plugins)
105* **Tutti i mod installati, per una sessione**: avvia Claude Code con [`--safe-mode`](/docs/it/cli-reference#cli-flags), che disabilita anche le tue altre personalizzazioni105* **Tutti i mod installati, per una sessione**: avvia Claude Code con [`--safe-mode`](https://code.claude.com/docs/it/cli-reference#cli-flags), che disabilita anche le tue altre personalizzazioni
106* **Tutti i mod che hai installato, in ogni sessione**: imposta [`"disableAllHooks": true`](/docs/it/settings-reference#disableallhooks) in `~/.claude/settings.json`. Si fermano anche i tuoi hook delle impostazioni e la tua riga di stato personalizzata. Ciò che è gestito dalla tua organizzazione continua a funzionare.106* **Tutti i mod che hai installato, in ogni sessione**: imposta [`"disableAllHooks": true`](https://code.claude.com/docs/it/settings-reference#disableallhooks) in `~/.claude/settings.json`. Si fermano anche i tuoi hook delle impostazioni e la tua riga di stato personalizzata. Ciò che è gestito dalla tua organizzazione continua a funzionare.
107 107
108Se usi Claude Code tramite un'organizzazione, anche un amministratore può limitare quali mod vengono caricati. Gli amministratori possono iniziare da [Impedire il caricamento dei mod installati dagli utenti](/docs/it/plugins/mods/admin.md#stop-user-installed-mods-from-loading).108Se usi Claude Code tramite un'organizzazione, anche un amministratore può limitare quali mod vengono caricati. Gli amministratori possono iniziare da [Impedire il caricamento dei mod installati dagli utenti](https://code.claude.com/docs/it/plugins/mods/admin.md#stop-user-installed-mods-from-loading).
109 109
110`disableAllHooks` e l'impostazione `allowManagedModsOnly` della tua organizzazione fermano un mod e lasciano intatto il resto del suo plugin: il plugin resta installato e le sue skill, i suoi comandi, i suoi agenti e i suoi server MCP vengono caricati. Altre impostazioni e altri flag hanno un effetto più ampio. [`disableAllHooks`](/docs/it/settings-reference#disableallhooks) e [Cosa viene eseguito con `allowManagedHooksOnly`](/docs/it/settings-reference#what-runs-under-allowmanagedhooksonly) elencano l'effetto di ciascuno su un plugin e sui suoi hook delle impostazioni.110`disableAllHooks` e l'impostazione `allowManagedModsOnly` della tua organizzazione fermano un mod e lasciano intatto il resto del suo plugin: il plugin resta installato e le sue skill, i suoi comandi, i suoi agenti e i suoi server MCP vengono caricati. Altre impostazioni e altri flag hanno un effetto più ampio. [`disableAllHooks`](https://code.claude.com/docs/it/settings-reference#disableallhooks) e [Cosa viene eseguito con `allowManagedHooksOnly`](https://code.claude.com/docs/it/settings-reference#what-runs-under-allowmanagedhooksonly) elencano l'effetto di ciascuno su un plugin e sui suoi hook delle impostazioni.
111 111
112Per scoprire se i mod possono essere caricati nel tuo caso, consulta [Verificare se i mod possono essere caricati](/docs/it/plugins/mods/troubleshoot.md#check-whether-mods-can-load).112Per scoprire se i mod possono essere caricati nel tuo caso, consulta [Verificare se i mod possono essere caricati](https://code.claude.com/docs/it/plugins/mods/troubleshoot.md#check-whether-mods-can-load).
113 113
114> [!NOTE]114> [!NOTE]
115>115>
117 117
118### Vedere quali mod ha caricato una sessione118### Vedere quali mod ha caricato una sessione
119 119
120Per vedere quali mod ha caricato una sessione del terminale, esegui `/plugin` nel prompt di Claude Code. Una riga attenuata sotto le schede indica il numero e i nomi, ad esempio `1 mod active · first-mod`. Se un mod che hai installato non è indicato lì, consulta [Scoprire perché un mod non fa nulla](/docs/it/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing).120Per vedere quali mod ha caricato una sessione del terminale, esegui `/plugin` nel prompt di Claude Code. Una riga attenuata sotto le schede indica il numero e i nomi, ad esempio `1 mod active · first-mod`. Se un mod che hai installato non è indicato lì, consulta [Scoprire perché un mod non fa nulla](https://code.claude.com/docs/it/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing).
121 121
122## Come funziona un mod122## Come funziona un mod
123 123
124Un mod è un [plugin](/docs/it/plugins/overview.md) il cui codice registra dei gestori di eventi, chiamati hook. Claude Code esegue un hook quando si verifica il suo evento, ad esempio quando Claude chiama uno strumento o quando viene disegnato lo spinner. Un mod piccolo ha tre file:124Un mod è un [plugin](https://code.claude.com/docs/it/plugins/overview.md) il cui codice registra dei gestori di eventi, chiamati hook. Claude Code esegue un hook quando si verifica il suo evento, ad esempio quando Claude chiama uno strumento o quando viene disegnato lo spinner. Un mod piccolo ha tre file:
125 125
126```text theme={null}126```text theme={null}
127first-mod/127first-mod/
132 └── register.js132 └── register.js
133```133```
134 134
135* **`plugin.json`**: il [manifest](/docs/it/plugins/manifest-reference.md) del plugin135* **`plugin.json`**: il [manifest](https://code.claude.com/docs/it/plugins/manifest-reference.md) del plugin
136* **`hooks.json`**: [punta al tuo file di codice](/docs/it/plugins/mods/reference.md#files)136* **`hooks.json`**: [punta al tuo file di codice](https://code.claude.com/docs/it/plugins/mods/reference.md#files)
137* **`register.js`**: [il tuo codice](/docs/it/plugins/mods/create.md#write-a-mod-yourself), chiamato modulo degli hook. Indica a Claude Code su quali eventi eseguire le tue funzioni.137* **`register.js`**: [il tuo codice](https://code.claude.com/docs/it/plugins/mods/create.md#write-a-mod-yourself), chiamato modulo degli hook. Indica a Claude Code su quali eventi eseguire le tue funzioni.
138 138
139Questo è un `register.js` completo. Conta le chiamate agli strumenti che Claude effettua e mostra il conteggio accanto allo spinner mentre Claude lavora, come in `Thinking · tool calls: 3…`.139Questo è un `register.js` completo. Conta le chiamate agli strumenti che Claude effettua e mostra il conteggio accanto allo spinner mentre Claude lavora, come in `Thinking · tool calls: 3…`.
140 140
163 163
164Il file registra due hook, ed entrambi usano la variabile `calls` in cima:164Il file registra due hook, ed entrambi usano la variabile `calls` in cima:
165 165
166* **L'hook [`tool.call`](/docs/it/plugins/mods/reference#tools)** viene eseguito ogni volta che Claude sta per usare uno strumento. Aggiunge uno a `calls`, chiede a Claude Code di disegnare di nuovo l'interfaccia e lascia che lo strumento venga eseguito come di consueto.166* **L'hook [`tool.call`](https://code.claude.com/docs/it/plugins/mods/reference#tools)** viene eseguito ogni volta che Claude sta per usare uno strumento. Aggiunge uno a `calls`, chiede a Claude Code di disegnare di nuovo l'interfaccia e lascia che lo strumento venga eseguito come di consueto.
167* **L'hook [`ui.render`](/docs/it/plugins/mods/reference#interface)** viene eseguito ogni volta che Claude Code disegna lo spinner. Mantiene lo spinner di Claude Code e aggiunge il conteggio dopo la parola.167* **L'hook [`ui.render`](https://code.claude.com/docs/it/plugins/mods/reference#interface)** viene eseguito ogni volta che Claude Code disegna lo spinner. Mantiene lo spinner di Claude Code e aggiunge il conteggio dopo la parola.
168 168
169Questa registrazione mostra il mod in azione. Osserva la riga dello spinner sopra la casella del prompt: mentre Claude elenca una directory e legge due file, mostra `Thinking · tool calls: 1…`, poi `2…`, poi `3…`.169Questa registrazione mostra il mod in azione. Osserva la riga dello spinner sopra la casella del prompt: mentre Claude elenca una directory e legge due file, mostra `Thinking · tool calls: 1…`, poi `2…`, poi `3…`.
170 170
180 180
181Per fare qualsiasi cosa al di fuori del proprio codice, come disegnare, aggiungere un comando, chiamare un modello, leggere un file, avviare un processo o effettuare una richiesta di rete, un hook chiama l'API dei mod. Un hook non ha altro modo per fare queste cose, ed è per questo che Claude Code può [elencare cosa fa un mod](#list-what-a-mod-does-before-you-install-one) prima che tu lo installi.181Per fare qualsiasi cosa al di fuori del proprio codice, come disegnare, aggiungere un comando, chiamare un modello, leggere un file, avviare un processo o effettuare una richiesta di rete, un hook chiama l'API dei mod. Un hook non ha altro modo per fare queste cose, ed è per questo che Claude Code può [elencare cosa fa un mod](#list-what-a-mod-does-before-you-install-one) prima che tu lo installi.
182 182
183Per il codice alla base di ciascuna scelta, consulta [Reagire agli eventi](/docs/it/plugins/mods/events.md#how-a-hook-handles-an-event). Per ciò che un hook può chiamare, consulta [Usare l'API dei mod](/docs/it/plugins/mods/api.md).183Per il codice alla base di ciascuna scelta, consulta [Reagire agli eventi](https://code.claude.com/docs/it/plugins/mods/events.md#how-a-hook-handles-an-event). Per ciò che un hook può chiamare, consulta [Usare l'API dei mod](https://code.claude.com/docs/it/plugins/mods/api.md).
184 184
185### Dove vengono eseguiti i mod185### Dove vengono eseguiti i mod
186 186
189| Dove esegui Claude Code | Gli hook vengono eseguiti | Ciò che il mod disegna appare |189| Dove esegui Claude Code | Gli hook vengono eseguiti | Ciò che il mod disegna appare |
190| :- | :- | :- |190| :- | :- | :- |
191| `claude` in un terminale, incluso il terminale integrato di un editor e il plugin JetBrains | Sì | Sì |191| `claude` in un terminale, incluso il terminale integrato di un editor e il plugin JetBrains | Sì | Sì |
192| La scheda Code dell'app Desktop, tranne in una sessione WSL | Sì | Sì, tranne gli elementi che la [tabella degli elementi](/docs/it/plugins/mods/reference.md#elements) indica come solo per il terminale |192| La scheda Code dell'app Desktop, tranne in una sessione WSL | Sì | Sì, tranne gli elementi che la [tabella degli elementi](https://code.claude.com/docs/it/plugins/mods/reference.md#elements) indica come solo per il terminale |
193| Una [sessione WSL](/docs/it/desktop-wsl.md) nell'app Desktop | No, perché i plugin non sono disponibili nelle sessioni WSL | No |193| Una [sessione WSL](https://code.claude.com/docs/it/desktop-wsl.md) nell'app Desktop | No, perché i plugin non sono disponibili nelle sessioni WSL | No |
194| Il pannello di chat dell'estensione VS Code | Sì | Sì, con l'estensione alla versione 2.1.299 o successiva. Una sessione che [non recupera i feature flag](/docs/it/env-vars.md#features-that-need-feature-flag-fetching), ad esempio una su Amazon Bedrock, richiede la versione 2.1.304 o successiva. Le tabelle dei [punti di rendering](/docs/it/plugins/mods/reference.md#render-sites) e degli [elementi](/docs/it/plugins/mods/reference.md#elements) indicano cosa disegna il pannello. |194| Il pannello di chat dell'estensione VS Code | Sì | Sì, con l'estensione alla versione 2.1.299 o successiva. Una sessione che [non recupera i feature flag](https://code.claude.com/docs/it/env-vars.md#features-that-need-feature-flag-fetching), ad esempio una su Amazon Bedrock, richiede la versione 2.1.304 o successiva. Le tabelle dei [punti di rendering](https://code.claude.com/docs/it/plugins/mods/reference.md#render-sites) e degli [elementi](https://code.claude.com/docs/it/plugins/mods/reference.md#elements) indicano cosa disegna il pannello. |
195| `claude -p` e l'[Agent SDK](/docs/it/agent-sdk/overview.md) | Sì | No |195| `claude -p` e l'[Agent SDK](https://code.claude.com/docs/it/agent-sdk/overview.md) | Sì | No |
196| [Remote Control](/docs/it/remote-control.md) da claude.ai o dall'app mobile | Sì, nella sessione sulla tua macchina | Nel terminale sulla tua macchina |196| [Remote Control](https://code.claude.com/docs/it/remote-control.md) da claude.ai o dall'app mobile | Sì, nella sessione sulla tua macchina | Nel terminale sulla tua macchina |
197| Una [sessione cloud](/docs/it/claude-code-on-the-web.md) | Sì, per un plugin che [raggiunge la sessione cloud](/docs/it/cloud-environments.md#what-carries-over-from-your-setup) | No |197| Una [sessione cloud](https://code.claude.com/docs/it/claude-code-on-the-web.md) | Sì, per un plugin che [raggiunge la sessione cloud](https://code.claude.com/docs/it/cloud-environments.md#what-carries-over-from-your-setup) | No |
198 198
199Un mod che disegna può verificare in quale app è in esecuzione e ripiegare su una riga nella trascrizione o sulla risposta testuale di un comando dove nulla viene disegnato.199Un mod che disegna può verificare in quale app è in esecuzione e ripiegare su una riga nella trascrizione o sulla risposta testuale di un comando dove nulla viene disegnato.
200 200
201## Controllare i mod per la tua organizzazione201## Controllare i mod per la tua organizzazione
202 202
203Gli amministratori decidono se i mod vengono eseguiti e quali, tramite le [impostazioni gestite](/docs/it/managed-settings.md). [Gestire i mod per la tua organizzazione](/docs/it/plugins/mods/admin.md) spiega cosa succede per impostazione predefinita, come esaminare un mod e come applicare una policy con un mod tuo.203Gli amministratori decidono se i mod vengono eseguiti e quali, tramite le [impostazioni gestite](https://code.claude.com/docs/it/managed-settings.md). [Gestire i mod per la tua organizzazione](https://code.claude.com/docs/it/plugins/mods/admin.md) spiega cosa succede per impostazione predefinita, come esaminare un mod e come applicare una policy con un mod tuo.
204 204
205## Confrontare mod, hook delle impostazioni, skill e server MCP205## Confrontare mod, hook delle impostazioni, skill e server MCP
206 206
214| Cosa scrivi | JavaScript o TypeScript | Uno script e una voce in `settings.json` | Markdown | Un server in qualsiasi linguaggio |214| Cosa scrivi | JavaScript o TypeScript | Uno script e una voce in `settings.json` | Markdown | Un server in qualsiasi linguaggio |
215| Sceglilo quando | Vuoi un riquadro, una fascia sopra il prompt, un comando personalizzato o riscrivere un evento | Vuoi bloccare, consentire o registrare un evento con uno script che hai già | Continui a incollare le stesse istruzioni nella chat | Claude deve raggiungere un sistema esterno |215| Sceglilo quando | Vuoi un riquadro, una fascia sopra il prompt, un comando personalizzato o riscrivere un evento | Vuoi bloccare, consentire o registrare un evento con uno script che hai già | Continui a incollare le stesse istruzioni nella chat | Claude deve raggiungere un sistema esterno |
216 216
217Ciascuno degli altri ha una propria pagina: [Hook](/docs/it/hooks.md), [Skill](/docs/it/skills.md) e [MCP](/docs/it/mcp.md). Un plugin può contenerli tutti, quindi un mod può essere distribuito nello stesso plugin di una skill e di un server MCP.217Ciascuno degli altri ha una propria pagina: [Hook](https://code.claude.com/docs/it/hooks.md), [Skill](https://code.claude.com/docs/it/skills.md) e [MCP](https://code.claude.com/docs/it/mcp.md). Un plugin può contenerli tutti, quindi un mod può essere distribuito nello stesso plugin di una skill e di un server MCP.
218 218
219## Mod integrati in Claude Code219## Mod integrati in Claude Code
220 220
224 224
225| Nome in `/plugin` | Cosa fa | Dove è attivo | Come disattivarlo |225| Nome in `/plugin` | Cosa fa | Dove è attivo | Come disattivarlo |
226| :- | :- | :- | :- |226| :- | :- | :- | :- |
227| `cc-plugin-agents-md` | Carica `AGENTS.md` come istruzioni del progetto | In ogni sessione, tranne [quelle che non possono leggere `AGENTS.md`](/docs/it/memory#when-agents-md-support-is-unavailable) | Disabilitalo in `/plugin`, oppure [scegli quali file di istruzioni caricare](/docs/it/memory.md#choose-which-instruction-files-load) |227| `cc-plugin-agents-md` | Carica `AGENTS.md` come istruzioni del progetto | In ogni sessione, tranne [quelle che non possono leggere `AGENTS.md`](https://code.claude.com/docs/it/memory#when-agents-md-support-is-unavailable) | Disabilitalo in `/plugin`, oppure [scegli quali file di istruzioni caricare](https://code.claude.com/docs/it/memory.md#choose-which-instruction-files-load) |
228| `cc-plugin-diff` | Prende il controllo di [`/diff`](/docs/it/interactive-mode#review-changes-with-%2Fdiff) e disegna il suo pannello | Sessioni interattive nel terminale | Disabilitalo in `/plugin`. `/diff` rimane disponibile e risponde la versione integrata del comando di Claude Code. |228| `cc-plugin-diff` | Prende il controllo di [`/diff`](https://code.claude.com/docs/it/interactive-mode#review-changes-with-%2Fdiff) e disegna il suo pannello | Sessioni interattive nel terminale | Disabilitalo in `/plugin`. `/diff` rimane disponibile e risponde la versione integrata del comando di Claude Code. |
229| `cc-plugin-plugin-authoring` | Fornisce a Claude la [skill `plugin-authoring`](/docs/it/plugins/mods/create#ask-claude-for-a-mod) per scrivere mod. Contiene una skill e nessun codice di mod. | A meno che Anthropic non abbia disattivato da remoto i mod installati | Disabilitalo in `/plugin` |229| `cc-plugin-plugin-authoring` | Fornisce a Claude la [skill `plugin-authoring`](https://code.claude.com/docs/it/plugins/mods/create#ask-claude-for-a-mod) per scrivere mod. Contiene una skill e nessun codice di mod. | A meno che Anthropic non abbia disattivato da remoto i mod installati | Disabilitalo in `/plugin` |
230| `cc-plugin-sec-default` | Protegge ciò che la tua organizzazione gestisce dai mod installati da un utente | [Dove viene caricata la protezione](/docs/it/plugins/mods/admin.md#know-what-happens-by-default) | Non puoi. Un amministratore [imposta l'ordine](/docs/it/plugins/mods/admin.md#install-your-organizations-mods) nelle impostazioni gestite |230| `cc-plugin-sec-default` | Protegge ciò che la tua organizzazione gestisce dai mod installati da un utente | [Dove viene caricata la protezione](https://code.claude.com/docs/it/plugins/mods/admin.md#know-what-happens-by-default) | Non puoi. Un amministratore [imposta l'ordine](https://code.claude.com/docs/it/plugins/mods/admin.md#install-your-organizations-mods) nelle impostazioni gestite |
231| `cc-plugin-telemetry` | Invia i record di analisi registrati da Claude Code e dai suoi mod integrati | Ovunque siano attive le analisi di Claude Code | Disabilitalo in `/plugin`, oppure disattiva le analisi, ad esempio con [`DISABLE_TELEMETRY`](/docs/it/env-vars) |231| `cc-plugin-telemetry` | Invia i record di analisi registrati da Claude Code e dai suoi mod integrati | Ovunque siano attive le analisi di Claude Code | Disabilitalo in `/plugin`, oppure disattiva le analisi, ad esempio con [`DISABLE_TELEMETRY`](https://code.claude.com/docs/it/env-vars) |
232| `cc-plugin-you-should-know` | [You should know](/docs/it/interactive-mode.md#you-should-know-suggestions): un agente secondario mostra una nota sopra il prompt quando trova qualcosa che potresti esserti perso | Disattivato finché non lo [attivi](/docs/it/interactive-mode.md#you-should-know-suggestions) | Disabilitalo in `/plugin` |232| `cc-plugin-you-should-know` | [You should know](https://code.claude.com/docs/it/interactive-mode.md#you-should-know-suggestions): un agente secondario mostra una nota sopra il prompt quando trova qualcosa che potresti esserti perso | Disattivato finché non lo [attivi](https://code.claude.com/docs/it/interactive-mode.md#you-should-know-suggestions) | Disabilitalo in `/plugin` |
233 233
234Le impostazioni e i flag che bloccano i mod installati, come `disableAllHooks`, `--bare` e `--safe-mode`, non bloccano i mod integrati.234Le impostazioni e i flag che bloccano i mod installati, come `disableAllHooks`, `--bare` e `--safe-mode`, non bloccano i mod integrati.
235 235
238Il sorgente di alcuni di questi mod è pubblico nella [directory `mods` del repository di Claude Code](https://github.com/anthropics/claude-code/tree/main/mods). Ciascuno è un plugin completo con il suo modulo degli hook e i relativi test:238Il sorgente di alcuni di questi mod è pubblico nella [directory `mods` del repository di Claude Code](https://github.com/anthropics/claude-code/tree/main/mods). Ciascuno è un plugin completo con il suo modulo degli hook e i relativi test:
239 239
240* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff): il pannello di `/diff`, con pulsanti associati ad azioni da tastiera e uno scorrimento gestito dal mod stesso240* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff): il pannello di `/diff`, con pulsanti associati ad azioni da tastiera e uno scorrimento gestito dal mod stesso
241* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md): carica `AGENTS.md` come istruzioni del progetto, con un'opzione [`userConfig`](/docs/it/plugins/components#user-configuration)241* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md): carica `AGENTS.md` come istruzioni del progetto, con un'opzione [`userConfig`](https://code.claude.com/docs/it/plugins/components#user-configuration)
242* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default): la protezione descritta in [Sapere cosa succede per impostazione predefinita](/docs/it/plugins/mods/admin.md#know-what-happens-by-default), un modello per un mod che applica delle policy242* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default): la protezione descritta in [Sapere cosa succede per impostazione predefinita](https://code.claude.com/docs/it/plugins/mods/admin.md#know-what-happens-by-default), un modello per un mod che applica delle policy
243* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry): aggiunge metodi che altri mod possono chiamare e ne distribuisce i tipi243* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry): aggiunge metodi che altri mod possono chiamare e ne distribuisce i tipi
244 244
245## Passaggi successivi245## Passaggi successivi
246 246
247* [Crea un mod](/docs/it/plugins/mods/create.md): creane uno che conta le chiamate agli strumenti, mostra il conteggio accanto allo spinner e aggiunge un comando, e impara il ciclo di modifica e ricaricamento247* [Crea un mod](https://code.claude.com/docs/it/plugins/mods/create.md): creane uno che conta le chiamate agli strumenti, mostra il conteggio accanto allo spinner e aggiunge un comando, e impara il ciclo di modifica e ricaricamento
248* [Disegna nell'interfaccia](/docs/it/plugins/mods/interface.md): riquadri, la fascia sopra il prompt, pulsanti, campi di testo e stato248* [Disegna nell'interfaccia](https://code.claude.com/docs/it/plugins/mods/interface.md): riquadri, la fascia sopra il prompt, pulsanti, campi di testo e stato
249* [Reagisci agli eventi](/docs/it/plugins/mods/events.md): chiamate agli strumenti, prompt, turni e l'ordine in cui vengono eseguiti i mod249* [Reagisci agli eventi](https://code.claude.com/docs/it/plugins/mods/events.md): chiamate agli strumenti, prompt, turni e l'ordine in cui vengono eseguiti i mod
250* [Usa l'API dei mod](/docs/it/plugins/mods/api.md): comandi, strumenti, chiamate al modello, timer e file250* [Usa l'API dei mod](https://code.claude.com/docs/it/plugins/mods/api.md): comandi, strumenti, chiamate al modello, timer e file
251* [Testa un mod](/docs/it/plugins/mods/test.md): test automatizzati che vengono eseguiti senza una sessione251* [Testa un mod](https://code.claude.com/docs/it/plugins/mods/test.md): test automatizzati che vengono eseguiti senza una sessione
252* [Risolvi i problemi di un mod](/docs/it/plugins/mods/troubleshoot.md): i motivi per cui un mod non fa nulla e il log di debug252* [Risolvi i problemi di un mod](https://code.claude.com/docs/it/plugins/mods/troubleshoot.md): i motivi per cui un mod non fa nulla e il log di debug
253* [Gestisci i mod per la tua organizzazione](/docs/it/plugins/mods/admin.md): impostazioni predefinite, impostazioni gestite, revisione di un mod e mod di criteri253* [Gestisci i mod per la tua organizzazione](https://code.claude.com/docs/it/plugins/mods/admin.md): impostazioni predefinite, impostazioni gestite, revisione di un mod e mod di criteri
254* [Riferimento dei mod](/docs/it/plugins/mods/reference.md): eventi, metodi, elementi e limiti254* [Riferimento dei mod](https://code.claude.com/docs/it/plugins/mods/reference.md): eventi, metodi, elementi e limiti