Plugin Claude Code: cosa sono e quanto costano
Scopri cosa contiene un plugin Claude Code, dove si trova e come installarlo. Il meccanismo non costa nulla, ma componenti e file caricati consumano token.
Che cos’è un plugin di Claude Code
Un plugin di Claude Code è una directory che contiene componenti caricati e gestiti da Claude Code come un’unica unità. I componenti possono essere skill, agenti, hook, server MCP, server LSP e monitor in background. L’installazione di un plugin aggiunge tutti i relativi componenti in un’unica operazione e con un unico nome; la sua disattivazione li rimuove nello stesso modo.
Un plugin non fornisce all’agente capacità che non possedeva già. Ogni componente incluso in un plugin può essere scritto manualmente in una directory .claude/. Il plugin è il livello di pacchettizzazione: consente di versionare questi componenti, distribuirli a quindici persone e aggiornarli in seguito senza chiedere a ciascuno di copiare i file. Questo è tutto. La maggior parte della confusione sui plugin nasce dall’aspettativa che introducano un nuovo tipo di funzionalità.
Il manifest facoltativo in .claude-plugin/plugin.json assegna un nome al plugin e tale nome diventa uno spazio dei nomi. Una skill inclusa in un plugin chiamato commit-commands viene richiamata come /commit-commands:commit, quindi due plugin possono distribuire entrambi una skill chiamata commit senza che una sovrascriva l’altra. Gli agenti dei plugin seguono la stessa regola nell’elenco delle menzioni con @, come plugin-name:agent-name.
Plugin, skill, server MCP o file di regole
Questi quattro termini vengono usati come se fossero alternative. Non lo sono, ed è utile chiarire una volta per tutte il confine tra loro.
- Una skill è un'unità di istruzioni che Claude carica quando l'attività lo richiede. Vedere che cos'è realmente un'Agent Skill.
- Un server MCP è un processo separato che espone strumenti all'agente tramite un protocollo, spesso come servizio di rete gestito dall'utente.
- Un file di regole come
CLAUDE.mdcontiene il contesto del progetto. Viene letto all'avvio della sessione e si applica a tutto. - Un plugin è un contenitore che può includere skill, agenti, hook e definizioni di server MCP, oltre a un numero di versione e a un canale di distribuzione.
Quindi la domanda a cui risponde un plugin non è "che cosa può fare l'agente". È "come distribuisco questo contenuto al mio team e come lo aggiorno il mese prossimo". Se devi scegliere tra i primi tre elementi, il confronto tra skill, server MCP e file di regole analizza la decisione in dettaglio. Se ti interessa soprattutto la parte MCP, eseguire i propri server MCP su un VPS descrive gli aspetti relativi all'hosting.
Dove si trovano i plugin e cosa contiene un plugin
Un plugin installato da un marketplace viene copiato nella cache locale in ~/.claude/plugins/cache, invece di essere eseguito dalla posizione in cui è stato clonato. Ogni versione installata ha una propria directory. Quando aggiorni o disinstalli un plugin, la directory della versione precedente viene contrassegnata come orfana e viene eliminata circa due settimane dopo. In questo modo una sessione che ha già caricato la versione precedente continua a funzionare senza interrompersi durante l'attività.
Poiché il percorso cambia a ogni aggiornamento, un plugin non deve mai codificare il proprio percorso. Gli hook e le configurazioni MCP all'interno di un plugin usano ${CLAUDE_PLUGIN_ROOT}, che risolve nella directory di installazione attuale. Lo stato che deve sopravvivere a un aggiornamento va inserito in ${CLAUDE_PLUGIN_DATA}, che risolve in una directory stabile sotto ~/.claude/plugins/data/.
Nella cache viene copiata soltanto la directory del plugin. Questo comporta una conseguenza che spesso emerge solo in un secondo momento. Un percorso che punta fuori dalla radice del plugin, come ../shared-utils, funziona durante lo sviluppo con un percorso locale, ma si interrompe dopo l'installazione perché quei file non sono mai stati copiati.
La struttura è la seguente.
my-plugin/
├── .claude-plugin/
│ └── plugin.json
├── skills/
│ └── code-review/
│ └── SKILL.md
├── agents/
├── hooks/
│ └── hooks.json
├── .mcp.json
└── bin/Solo plugin.json si trova all'interno di .claude-plugin/. Tutto il resto si trova nella radice del plugin. Inserire skills/ o hooks/ all'interno di .claude-plugin/ è il motivo più comune per cui un plugin viene installato correttamente, ma poi non esegue alcuna operazione: Claude Code cerca quelle directory nella radice, non ne trova nessuna e carica un plugin privo di componenti.
Il manifest è molto semplice.
{
"name": "my-first-plugin",
"description": "A greeting plugin to learn the basics",
"version": "1.0.0"
}Come installare un plugin di Claude Code
L'installazione richiede due passaggi e il primo non installa nulla. Si aggiunge un marketplace, cioè un catalogo di plugin, quindi si installano i singoli plugin dal catalogo. Il marketplace ufficiale di Anthropic, claude-plugins-official, viene registrato automaticamente al primo avvio interattivo di Claude Code. Gli altri marketplace devono essere aggiunti manualmente.
/plugin marketplace add anthropics/claude-code
/plugin install commit-commands@claude-code-pluginsIl repository è anthropics/claude-code, mentre il marketplace si chiama claude-code-plugins. Il nome proviene dal file di catalogo presente nel repository, non dal percorso del repository. Prima di digitare un comando di installazione, leggere quindi il nome del marketplace nella scheda Marketplaces di /plugin.
Dopo l'installazione, leggere la riga di riepilogo. Plugin is now active. indica che i componenti sono stati caricati nella sessione corrente. Run /reload-plugins to activate. indica che non sono stati caricati e che è necessario eseguire quel comando. Se /reload-plugins avvisa che la conversazione verrebbe riletta, eseguire nuovamente il comando come /reload-plugins --force. Verificare quindi che il plugin sia effettivamente presente: /plugin lo mostra nella scheda Installed, /help elenca le relative competenze nella scheda Custom commands e gli elementi il cui caricamento non è riuscito compaiono nella scheda Errors con il relativo motivo.
L'installazione richiede un ambito e l'ambito stabilisce chi può usare il plugin. L'ambito User riguarda l'utente corrente in ogni progetto. L'ambito Project scrive il plugin nel repository, nella directory .claude/settings.json, sotto enabledPlugins, rendendolo disponibile a tutti gli utenti che clonano il repository. L'ambito Local riguarda l'utente corrente, ma solo in questo repository.
Per uno script, un Dockerfile o qualsiasi sessione in cui non sia disponibile un pannello interattivo, usare invece la sintassi della shell. Per impostazione predefinita, il plugin viene installato nell'ambito User, salvo specificare --scope.
claude plugin install commit-commands@claude-code-plugins --scope project
claude plugin listclaude plugin install viene eseguito al di fuori di una sessione. Una sessione già aperta non vedrà quindi il nuovo plugin finché non si esegue /reload-plugins o non si avvia una nuova sessione.
La gestione dei plugin installati segue lo stesso schema in entrambi i contesti. /plugin list stampa l'elenco dei plugin installati e accetta --enabled o --disabled. /plugin disable name@marketplace disattiva un plugin senza rimuoverlo, /plugin enable lo riattiva e /plugin uninstall lo rimuove. Le forme con comando slash aprono il pannello dei plugin per applicare la modifica. Per questo, negli script vanno usati gli equivalenti della shell claude plugin ....
Per rendere disponibile un marketplace a un intero team, inserirlo nel file .claude/settings.json del progetto. Ai membri viene richiesto di installarlo dopo aver considerato attendibile la directory del repository.
{
"extraKnownMarketplaces": {
"my-team-tools": {
"source": {
"source": "github",
"repo": "your-org/claude-plugins"
}
}
}
}Durante lo sviluppo di un plugin personalizzato, evitare completamente il marketplace. claude --plugin-dir ./my-plugin carica una directory per la sessione corrente, /reload-plugins rileva le modifiche senza riavviare la sessione e claude plugin validate ./my-plugin verifica il manifest, i frontmatter di skill e agent e hooks/hooks.json prima che il plugin venga utilizzato da altri.
Quanto costa un plugin di Claude Code?
Il meccanismo è gratuito. Ad agosto 2026 non è previsto alcun costo per aggiungere un marketplace, installare un plugin o mantenerlo abilitato. I marketplace ufficiali e quelli della community sono repository Git pubblici e un plugin è una directory di file di testo.
Il costo di un plugin si misura in token, cioè nell'unità che determina l'utilizzo dell'abbonamento o l'importo della fattura API. Il modo in cui il plugin incide su uno di questi due costi dipende dal modello di pagamento scelto per lo strumento; quanto costa Claude Code per ogni piano presenta i livelli degli abbonamenti insieme ai prezzi API per token. Il costo si manifesta in tre modi diversi, che funzionano in modo differente.
Costo del contesto persistente. Ciò che un plugin aggiunge resta nel contesto e viene riletto a ogni turno della sessione. Prima dell'installazione, la vista dei dettagli /plugin mostra una stima Context cost in token e una sezione Will install con l'elenco dei comandi, delle skill, degli agenti, degli hook e dei server MCP e LSP che stai per aggiungere. Leggi entrambe. I plugin provenienti da marketplace locali o personalizzati potrebbero non fornire questi dati; in tal caso devi fare una stima manuale. Un plugin che include un server MCP è in genere quello che pesa di più, perché le definizioni degli strumenti sono estese. Nei modelli che supportano la ricerca degli strumenti MCP, tuttavia, tali definizioni vengono caricate solo quando serve uno strumento.
Costo dell'invocazione. L'esecuzione della skill di un plugin aggiunge le relative istruzioni alla conversazione, quindi il corpo della skill viene conteggiato solo quando la skill viene utilizzata. Il corpo è però la parte meno costosa. Le attività che la skill assegna all'agente possono avere un costo maggiore: il metodo Depth Tree della skill unlazy impiega quasi tutti i suoi token nei passaggi aggiuntivi che impone prima di consentire all'agente di considerare completata un'attività, non nel file installato. Un agente funziona in modo diverso. Un subagent esegue una propria conversazione con un proprio prompt di sistema e una propria cache, iniziando senza cache hit. Di conseguenza, un plugin il cui workflow avvia agenti può costare molto più di quanto lasci pensare la stima del contesto.
Costo della cache. Abilitare o disabilitare un plugin durante una sessione può costringere la richiesta successiva a rielaborare l'intera conversazione. Skill, comandi, agenti, hook, server LSP, monitor e temi non lo fanno mai: il contenuto che aggiungono viene accodato dopo la cronologia esistente, quindi la richiesta successiva paga il nuovo contenuto e continua a leggere dalla cache tutto ciò che lo precede. L'eccezione è un plugin che fornisce un server MCP. Se i suoi strumenti vengono differiti dalla ricerca degli strumenti, la cache resta valida. Se invece vengono caricati nel prefisso del prompt, la richiesta successiva rilegge l'intera conversazione come input non presente nella cache. Per questo /reload-plugins mostra un avviso e rifiuta l'operazione in quel caso, finché non passi --force.
Puoi monitorare questi dati invece di fare supposizioni. Ogni risposta API riporta cache_read_input_tokens e cache_creation_input_tokens, mentre una statusline personalizzata con l'utilizzo dei token in tempo reale li mostra direttamente. In una sessione normale, i token letti sono molti più di quelli generati. Se la generazione resta elevata a ogni turno, significa che qualcosa nel prefisso cambia a ogni turno. Per una panoramica più ampia di ciò che occupa la finestra di contesto, consulta come gestire la finestra di contesto di Claude Code e che cosa indicano realmente quei conteggi di token.
Un'attività di manutenzione ripaga rapidamente il tempo impiegato. La scheda Installed raggruppa sotto l'intestazione Not used recently i plugin che non hai utilizzato da almeno due settimane e mostra una riga Last used nella vista dei dettagli. Questi plugin continuano a consumare tempo di avvio e contesto in ogni sessione. Disabilitali o disinstallali.
Un plugin viene eseguito con i tuoi permessi
La documentazione ufficiale di Anthropic è chiara: plugin e marketplace sono componenti altamente attendibili che possono eseguire codice arbitrario sul computer con i privilegi dell'utente. Non è un'ipotesi teorica. Gli hook di un plugin eseguono comandi shell durante gli eventi della sessione, inclusi quelli precedenti e successivi alle chiamate agli strumenti. La directory bin/ del plugin viene aggiunta a PATH dello strumento Bash mentre il plugin è abilitato. I server MCP sono processi avviati dal plugin. Nulla di tutto questo è isolato dall'account utente tramite una sandbox.
Su un laptop, il rischio è limitato alle risorse raggiungibili dall'utente del desktop. Su un server, di norma non è così. L'account che esegue l'agente dispone spesso di chiavi SSH, token di deploy, una sessione della CLI cloud e accesso al socket Docker. Di conseguenza, "codice arbitrario eseguito come tuo utente" significa, di fatto, accesso alla macchina. Se Claude Code viene eseguito su un VPS, leggi come eseguire Claude Code in sicurezza su un VPS prima di installare qualsiasi componente. Leggi anche come impedire a un agente di raggiungere le credenziali prima di installare un plugin che comunica con un servizio esterno. Altri harness incontrano lo stesso limite sullo stesso server noleggiato. Per questo i plugin di DeepSeek Harness che vale la pena installare sono soprattutto limiti di spesa, regole per i permessi degli strumenti e scansione delle injection, non nuove funzionalità.
Esistono alcune misure di protezione, ed è utile sapere quali siano. Un plugin con ambito di progetto proviene dal repository e non dall'utente, quindi viene caricato soltanto dopo aver considerato attendibile il workspace. I relativi server MCP richiedono comunque un'approvazione per server. I server LSP attendono la stessa autorizzazione, mentre i monitor in background non vengono caricati. Agli agenti distribuiti con i plugin non è consentito dichiarare hook, server MCP o una modalità di autorizzazione. I plugin del marketplace vengono copiati nella cache, ignorando i symlink che puntano al di fuori del marketplace. Un plugin non può quindi includere file arbitrari dell'host.
Niente di tutto questo sostituisce la lettura di ciò che installi. Controlla l'elenco Will install, preferisci plugin il cui codice sorgente puoi aprire e leggere, conserva i plugin del tuo team in un repository marketplace sotto il tuo controllo ed esegui claude plugin validate su tutto ciò che scrivi personalmente.
FAQ
I plugin di Claude Code hanno un costo aggiuntivo?
No. Il sistema di plugin, l'aggiunta di un marketplace e l'installazione di un plugin sono gratuiti. Il costo dipende dall'uso dei token, addebitato al piano o alla spesa API come per qualsiasi altro contesto. Un plugin aggiunge contesto persistente a ogni turno e ne aggiunge altro quando viene richiamata una delle sue skill o dei suoi agenti. Può inoltre forzare un turno costoso non memorizzato nella cache se fornisce un server MCP i cui strumenti vengono caricati nel prefisso del prompt. La vista dettagliata /plugin mostra una stima Context cost prima dell'installazione.
Qual è la differenza tra un plugin e una skill?
Una skill è una singola unità di istruzioni. Un plugin è un pacchetto che può contenere skill, agenti, hook, server MCP, server LSP e monitor, oltre a un nome, una versione e un marketplace da cui installarlo. Scrivi una skill autonoma in .claude/ quando serve a te e a questo progetto. Una skill con uno scopo specifico, come Ponytail, che orienta l'agente verso la modifica minima funzionante, ne è l'esempio più chiaro: un file con una sola regola, almeno finché il team non ne ha bisogno. Trasformala in un plugin quando deve essere usata da altre persone e aggiornata nel tempo. Le skill dei plugin usano uno spazio dei nomi. Una skill contenuta in un plugin viene quindi richiamata come /plugin-name:skill-name anziché come /skill-name.
Ho installato il plugin, ma le sue skill non compaiono. Qual è il problema?
Controlla innanzitutto il riepilogo dell'installazione. Se contiene Run /reload-plugins to activate., i componenti non sono ancora caricati. Se il ricaricamento avvisa che rileggerà la conversazione, eseguilo nuovamente come /reload-plugins --force. Se il plugin è stato caricato ma non mostra nulla, apri /plugin e leggi la scheda Errors. L'errore strutturale più comune consiste nell'inserire skills/, agents/ o hooks/ all'interno di .claude-plugin/, dove Claude Code non li cerca. Ricorda che le skill dei plugin usano uno spazio dei nomi. Devi quindi cercare /plugin-name:skill-name nella scheda Custom commands di /help. Come ultima possibilità, esegui rm -rf ~/.claude/plugins/cache, riavvia e reinstalla.
Posso installare plugin senza il pannello interattivo?
Sì. Usa il comando shell claude plugin install name@marketplace, che installa nell'ambito utente se non passi --scope project o --scope local. Funziona negli script, nelle immagini e negli ambienti non interattivi in cui il pannello /plugin non è disponibile. Poiché viene eseguito al di fuori di una sessione, una sessione già aperta richiede /reload-plugins prima che il plugin diventi effettivo.
È sicuro installare un plugin da un marketplace trovato su GitHub?
Consideralo come l'esecuzione, con il tuo account utente, dello script di installazione di quel repository, perché il comportamento è molto simile. Un plugin può eseguire comandi shell tramite gli hook, aggiungere eseguibili al PATH dello strumento Bash e avviare server MCP, il tutto con i privilegi dell'utente. Anthropic non controlla né verifica i contenuti dei plugin di terze parti. Installa da sorgenti che puoi leggere, esamina l'elenco Will install prima di confermare e applica criteri più rigorosi su un server che su un laptop, perché l'account del server contiene generalmente chiavi e token che potrebbero essere sottratti.