SpyBara
Go Premium

plugins/mods/overview.md 2026-09-30 23:00 UTC to 2026-10-01 21:02 UTC

This page contains 269 additions and 0 deletions.

2026
Thu 1 21:02

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.

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 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": 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.

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

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.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….