Panoramica dei mod
Aggiungi riquadri, comandi e regole di chiamata di strumenti a Claude Code con un mod. Scopri cosa può fare un mod, come crearne o installarne uno e dove vengono eseguiti i mod.
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
/commandche 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:
- Usarne uno che hai già: alcune funzioni di Claude Code sono mod, come
/diff. Vedi Mod integrati in Claude Code. - Crearne uno: descrivi quello che vuoi in una sessione di Claude Code e Claude scrive il mod. Vedi Chiedere a Claude un mod. Per imparare come funziona il codice di un mod, scrivi uno tu stesso.
- Installarne uno: vedi Installare o aggiornare un mod
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:
claude plugin validate ./some-mod
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": truein~/.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:
first-mod/
├── .claude-plugin/
│ └── plugin.json
└── hooks/
├── hooks.json
└── register.js
plugin.json: il manifest del pluginhooks.json: punta al tuo file di codiceregister.js: il tuo codice, chiamato il modulo hooks. Dice a Claude Code su quali eventi eseguire le tue funzioni.
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….
// The count, shared by the two hooks below
let calls = 0
// Claude Code calls this once when the mod loads
export function register(on) {
// Runs each time Claude is about to use a tool
on('tool.call', async ($, e, next) => {
calls += 1
// Ask Claude Code to draw the interface again, so the new count shows
$.ui.invalidate('ui.render')
// Let the tool run as usual
return next(e)
})
// Runs each time Claude Code draws the spinner
on('ui.render', { component: 'Spinner' }, async ($, e, next) => {
// Keep Claude Code's spinner, with the count added after its word
return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })
})
}
Il file registra due hook e entrambi usano la variabile calls in alto:
- L'hook
tool.callviene eseguito ogni volta che Claude sta per usare uno strumento. Aggiunge uno acalls, chiede a Claude Code di disegnare di nuovo l'interfaccia e lascia che lo strumento funzioni come al solito. - L'hook
ui.renderviene 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.callnell'esempio - Riscrivere: cambiare l'evento prima che continui, come fa l'hook
ui.renderquando 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:
| Dove esegui Claude Code | Gli hook vengono eseguiti | Quello che il mod disegna appare |
|---|---|---|
claude in un terminale, incluso il terminale integrato di un editor e il plugin JetBrains |
Sì | Sì |
| La scheda Code dell'app Desktop, tranne in una sessione WSL | Sì | Sì, tranne gli elementi che la tabella degli elementi contrassegna come solo terminale |
| Una sessione WSL nell'app Desktop | No, perché i plugin non sono disponibili nelle sessioni WSL | No |
| Il pannello chat dell'estensione VS Code | Sì | No |
claude -p e l'Agent SDK |
Sì | No |
| Remote Control da claude.ai o dall'app mobile | Sì, nella sessione sulla tua macchina | Nel terminale sulla tua macchina |
| Una sessione cloud | Sì, per un plugin che raggiunge la sessione cloud | No |
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.
| Mod | Settings hook | Skill | Server MCP | |
|---|---|---|---|---|
| Cosa è | Funzioni in un plugin che Claude Code chiama nel suo processo | Un comando shell, una richiesta HTTP o un prompt che Claude Code esegue su un evento del ciclo di vita | Un file SKILL.md di istruzioni che Claude legge |
Un processo esterno o un servizio che fornisce strumenti a Claude |
| Cosa può cambiare | Chiamate di strumento, prompt, comandi, turni e quello che l'interfaccia disegna | Se una chiamata di strumento o un prompt procede, gli argomenti e il risultato di una chiamata di strumento e il contesto aggiunto per Claude | Quello che Claude sa e fa | Quali strumenti ha Claude |
| Può disegnare nell'interfaccia | Sì | No | No | No |
| Cosa scrivi | JavaScript o TypeScript | Uno script e una voce settings.json |
Markdown | Un server in qualsiasi linguaggio |
| Sceglilo quando | Vuoi un riquadro, una banda 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 ha bisogno di raggiungere un sistema esterno |
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:
Nome in /plugin |
Cosa fa | Dove è attivo | Come disattivarlo |
|---|---|---|---|
cc-plugin-agents-md |
Carica AGENTS.md come istruzioni di progetto |
Ogni sessione, a parte quelle che non possono leggere AGENTS.md |
Disabilitalo in /plugin, o scegli quali file di istruzioni caricare |
cc-plugin-diff |
Assume il controllo di /diff e disegna il suo riquadro |
Sessioni di terminale interattive | Disabilitalo in /plugin. /diff rimane e la versione integrata di Claude Code del comando risponde. |
cc-plugin-plugin-authoring |
Dà a Claude la skill plugin-authoring per scrivere mod. Contiene una skill e nessun codice mod. |
A meno che Anthropic non abbia disattivato i mod installati da remoto | Disabilitalo in /plugin |
cc-plugin-sec-default |
Protegge quello che la tua organizzazione gestisce dai mod che un utente installa | Dove il guard si carica | Non puoi. Un amministratore imposta l'ordine nelle impostazioni gestite |
cc-plugin-telemetry |
Invia i record di analitiche che Claude Code e i suoi mod integrati registrano | Ovunque le proprie analitiche di Claude Code siano attive | Disabilitalo in /plugin, o disattiva le analitiche, ad esempio con DISABLE_TELEMETRY |
cc-plugin-you-should-know |
Esegue un agente laterale che ti protegge mentre Claude lavora su attività più lunghe. Quando trova qualcosa che vale la pena sapere che potresti perdere, ti mostra una nota sopra il prompt. | Disabilitato per impostazione predefinita. Elencato in /plugin -> Installed -> Show disabled se disponibile per la tua organizzazione. Abilita con /plugin enable cc-plugin-you-should-know@builtin. |
Disabilitalo in /plugin |
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:
diff: il riquadro/diff, con pulsanti associati ad azioni da tastiera e scorrimento che il mod gestisce da soloagents-md: caricaAGENTS.mdcome istruzioni di progetto, con un'opzioneuserConfigsec-default: il guard descritto in Sapere cosa accade per impostazione predefinita, un modello per un mod che applica la politicatelemetry: aggiunge metodi che altri mod possono chiamare e spedisce i loro tipi
Passaggi successivi
- Creare un mod: costruisci uno che conta le chiamate di strumento, mostra il conteggio accanto allo spinner e aggiunge un comando, e impara il ciclo di modifica e ricaricamento
- Disegnare nell'interfaccia: riquadri, la banda sopra il prompt, pulsanti, campi di testo e stato
- Reagire agli eventi: chiamate di strumento, prompt, turni e l'ordine in cui i mod vengono eseguiti
- Usare l'API dei mod: comandi, strumenti, chiamate di modello, timer e file
- Testare un mod: test automatizzati che vengono eseguiti senza una sessione
- Risolvere i problemi di un mod: i motivi per cui un mod non fa nulla e il log di debug
- Gestire i mod per la tua organizzazione: impostazioni predefinite, impostazioni gestite, revisione di un mod e mod di politica
- Riferimento dei mod: ogni evento, metodo, elemento e limite