Skip to main content
Un mod è un plugin 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 di strumento, un prompt inviato o una parte dell’interfaccia disegnata, e il gestore può osservare l’evento, modificarlo o assumersi il controllo. Usa un mod per aggiungere una funzione personalizzata a Claude Code, come un riquadro che rappresenta graficamente quanto pieno è il tuo contesto dopo ogni richiesta. Per i file in un mod e un esempio completo, vedi Come funziona un mod.
I hooks esistenti di Claude Code vengono eseguiti anche su eventi, come comando shell, richiesta HTTP o prompt che configuri in un file di impostazioni. I gestori di un mod sono funzioni che vengono eseguite all’interno di Claude Code. Claude Code chiama entrambi i tipi di hook: su queste pagine, “hook” significa il gestore di un mod, e il tipo di file di impostazioni è un “settings hook”.

Cosa può fare un mod

Gli settings hook, le skills, le righe di stato e i server MCP funzionano dall’esterno di Claude Code: ognuno esegue uno script o fornisce a Claude testo o strumenti. Un mod viene eseguito all’interno di Claude Code, quindi può fare cose che gli altri non possono:
  • Disegnare un’interfaccia che puoi usare: un riquadro accanto alla trascrizione o una banda sopra il prompt, con schede, pulsanti e campi di testo. Vedi Disegnare nell’interfaccia.
  • Ridisegnare l’interfaccia di Claude Code: sostituire o modificare lo stile di parti che Claude Code disegna stesso, come la riga di una chiamata di strumento, lo spinner o la finestra di dialogo in cui Claude pone domande. Vedi Cambiare quello che Claude Code disegna già.
  • Intervenire in una chiamata di strumento o una richiesta: ad esempio, trattenere una chiamata di strumento mentre chiedi all’utente una domanda, rispondere senza eseguire lo strumento o inviare una richiesta a un modello diverso. Vedi Proteggere o modificare una chiamata di strumento e Seguire un turno.
  • Eseguire il tuo codice su un comando: un /command che esegue la tua funzione immediatamente, senza un turno di Claude, anche mentre Claude sta lavorando. Vedi Aggiungere un comando o uno strumento.
  • Condividere dati tra hook: gli hook di un mod condividono le variabili nel suo file, quindi quello che un hook registra, un altro può mostrare. Ad esempio, un hook può contare le chiamate di strumento 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 graficamente in un riquadro. Vedi Reagire agli eventi.
I mod funzionano nella CLI di Claude Code e nella scheda Code dell’app Claude Desktop. Vedi Dove vengono eseguiti i mod per capire come si comportano altrove, come nell’estensione VS Code, claude -p e le sessioni cloud. Se un settings hook, una skill o un server MCP fa già quello che ti serve, confrontali prima di scrivere un mod. Per gestire i mod per un’organizzazione, vedi Gestire i mod per la tua organizzazione.

Ottenere un mod

Puoi iniziare con un mod in uno di tre modi:

Installare o aggiornare un mod

Un mod è codice che viene eseguito con le tue autorizzazioni. Può leggere e scrivere i tuoi file, avviare processi e fare richieste di rete. Installa i mod solo da autori e marketplace di cui ti fidi. Vedi Decidere se fidarsi di un mod.
Un mod si installa come plugin, da un marketplace. Fornisci il nome del plugin, un @ e il nome del marketplace. Questi esempi installano un plugin denominato token-chart da un marketplace denominato your-org:
  • In una sessione di Claude Code, esegui /plugin install token-chart@your-org.
  • Nella tua shell, esegui claude plugin install token-chart@your-org.
Installare plugin copre i marketplace, gli ambiti, l’estensione VS Code e l’app Desktop, e mantenere i plugin aggiornati, che si applicano a un plugin che contiene un mod senza modifiche. Se installi o aggiorni un mod dalla tua shell mentre una sessione è aperta, esegui /reload-plugins in quella sessione per caricarlo. Altrimenti si carica la prossima volta che avvii Claude Code.

Decidere se fidarsi di un mod

Un mod è codice che viene eseguito con le tue autorizzazioni, all’interno di Claude Code. Installa i mod solo da autori e marketplace di cui ti fidi.

Cosa può raggiungere un mod

Un mod viene eseguito con le tue autorizzazioni, quindi prima di installarne uno, sappi a cosa ha accesso. Una volta caricato, un mod può:
  • Agire sulla tua macchina come te: leggere e scrivere file ovunque il tuo account utente possa, avviare programmi e fare richieste di rete
  • Leggere i tuoi segreti: variabili di ambiente e file di impostazioni, inclusa una chiave API che mantieni in uno di essi
  • Vedere la tua sessione: ogni prompt che invii e ogni chiamata di strumento che Claude fa
  • Modificare la tua sessione: riscrivere un prompt o una chiamata di strumento, inviare un prompt come se l’avessi digitato, o inviare un messaggio a un’altra delle tue sessioni
  • Agire senza chiederti: approvare una chiamata di strumento prima che ti venga chiesto
  • Spendere il tuo utilizzo: chiamare un modello sul tuo piano o sulla tua chiave API
Un mod che approva le chiamate di strumento può approvare una che una regola ask richiederebbe, o che uno dei tuoi hook PreToolUse ha bloccato. Estendere le autorizzazioni con hook elenca cosa un tale mod può approvare, incluso quando può approvare una chiamata che una regola deny rifiuta. Un mod può modificare lo stile di gran parte dell’interfaccia di Claude Code, ma non il prompt di autorizzazione. Non può cambiare quello che un prompt ti mostra.

Elencare cosa fa un mod prima di installarlo

Prima di installare un mod, puoi elencare quali eventi aggancia e cosa chiede a Claude Code di fare, come leggere un file o fare una richiesta di rete, senza eseguirlo. Ottieni prima i file del plugin, ad esempio clonando il suo repository. Quindi, nella tua shell, esegui claude plugin validate sulla directory del plugin:
Le righe hooks: e calls: nell’output elencano gli eventi che il mod gestisce e cosa chiede a Claude Code di fare. Rivedere cosa può fare un mod mostra l’output e quali chiamate cercare.

Attivare o disattivare i mod

I mod richiedono Claude Code v2.1.287 o successivo e sono attivati per impostazione predefinita. Nella tua shell, esegui claude --version per verificare e aggiorna Claude Code se il tuo è più vecchio. Per disattivare i mod, scegli quanti fermarne e per quanto tempo. Per riattivarli, annulla la stessa modifica:
  • Un mod: disabilita o disinstalla il suo plugin dalla scheda Installed in /plugin
  • Ogni mod installato, per una sessione: avvia Claude Code con --safe-mode, che lascia fuori anche le tue altre personalizzazioni
  • Ogni mod che hai installato, in ogni sessione: imposta "disableAllHooks": true in ~/.claude/settings.json. I tuoi settings hook e la riga di stato personalizzata si fermano anche. Quello che la tua organizzazione gestisce continua a funzionare.
Se usi Claude Code attraverso un’organizzazione, un amministratore può anche limitare quali mod si caricano. Gli amministratori iniziano da Impedire ai mod installati dall’utente di caricarsi. Per scoprire se i mod possono caricarsi per te, vedi Verificare se i mod possono caricarsi.
Se hai impostato CLAUDE_CODE_ENABLE_FUNCTION_HOOKS durante l’accesso anticipato, rimuovilo. Claude Code v2.1.287 e successivo lo ignora, quindi impostarlo a 0 non mantiene i mod disattivati.

Vedere quali mod una sessione ha caricato

Per vedere quali mod una sessione di terminale ha caricato, esegui /plugin al prompt di Claude Code. Una riga attenuata sotto le schede fornisce il conteggio e i nomi, come 1 mod active · first-mod. Se un mod che hai installato non è nominato lì, vedi Scoprire perché un mod non fa nulla.

Come funziona un mod

Un mod è un plugin il cui codice registra gestori di eventi, chiamati hooks. Claude Code esegue un hook quando si verifica il suo evento, come quando Claude chiama uno strumento o quando lo spinner viene disegnato. Un piccolo mod ha tre file:
Questo è un register.js completo. Conta le chiamate di strumento che Claude fa e mostra il conteggio accanto allo spinner mentre Claude lavora, come in Thinking · tool calls: 3….
hooks/register.js
Il file registra due hook e entrambi usano la variabile calls in alto:
  • L’hook tool.call 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 funzioni come al solito.
  • L’hook ui.render viene eseguito ogni volta che Claude Code disegna lo spinner. Mantiene lo spinner di Claude Code e aggiunge il conteggio dopo la parola.
Questa registrazione mostra il mod al lavoro. Guarda la riga dello spinner sopra la casella del prompt: mentre Claude elenca una directory e legge due file, legge Thinking · tool calls: 1…, poi 2…, poi 3….

Cosa può fare un hook con un evento

Claude Code esegue il tuo hook prima di agire sull’evento, quindi il hook decide cosa succede dopo. Ha tre scelte:
  • Osservare: notare cosa sta succedendo e lasciarlo continuare invariato, come fa l’hook tool.call nell’esempio
  • Riscrivere: cambiare l’evento prima che continui, come fa l’hook ui.render quando aggiunge il conteggio allo spinner
  • Rispondere: gestire l’evento stesso, quindi il comportamento usuale non viene eseguito, come rifiutare un comando
Per fare qualsiasi cosa al di fuori del suo codice, come disegnare, aggiungere un comando, chiamare un modello, leggere un file, avviare un processo o fare 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 prima di installarlo. Per il codice dietro ogni scelta, vedi Reagire agli eventi. Per quello che un hook può chiamare, vedi Usare l’API dei mod.

Dove vengono eseguiti i mod

Gli hook di un mod vengono eseguiti in ogni tipo di sessione che carica il plugin. Il disegno è più ristretto: solo il terminale e l’app Desktop mostrano i riquadri, le bande e le righe sostituite di un mod. Questa tabella elenca ogni posto in cui potresti eseguire Claude Code: Un mod che disegna può verificare in quale app è in esecuzione e tornare a una riga nella trascrizione o a una risposta di testo del comando dove nulla viene disegnato.

Controllare i mod per la tua organizzazione

Gli amministratori decidono se i mod vengono eseguiti e quali, attraverso impostazioni gestite. Gestire i mod per la tua organizzazione copre quello che accade per impostazione predefinita, come rivedere un mod e come applicare una politica con un mod proprio.

Confrontare mod, settings hook, skills e server MCP

I mod, gli settings hook, le skills e i server MCP si sovrappongono. Questa tabella mostra cosa è ognuno e quando sceglierlo. Ognuno degli altri ha la sua pagina: Hooks, Skills e MCP. Un plugin può contenere tutti e quattro, quindi un mod può essere spedito nello stesso plugin di una skill e di un server MCP.

Mod integrati in Claude Code

Alcune funzioni di Claude Code sono mod. Per vedere quelli che la tua sessione ha, esegui /plugin al prompt di Claude Code e vai alla scheda Installed, che li elenca sotto Built-in. Non puoi aggiornare o disinstallare un mod integrato e l’ultima colonna della tabella dice come disattivare ognuno. La riga mods active esclude i mod integrati. Questa tabella elenca ogni voce per il nome che /plugin mostra: Le impostazioni e i flag che fermano i mod installati, come disableAllHooks, --bare e --safe-mode, non fermano i mod integrati.

Leggere il codice sorgente dei mod integrati

Il codice sorgente di quattro di questi mod è pubblico nella directory mods del repository Claude Code. Ognuno è un plugin completo con il suo modulo hooks e test:

Passaggi successivi