claude plugin dalla tua shell o da uno script, oppure come /plugin e /reload-plugins all’interno di una sessione Claude Code. Questo riferimento fornisce i flag, i valori predefiniti, l’output e i codici di uscita di ogni comando, insieme ai due flag che caricano un plugin per una sola sessione.
Le tabelle seguenti elencano le opzioni di uso comune di ogni sottocomando, non tutte le opzioni. Esegui claude plugin --help nella tua shell per vedere quali sottocomandi ha la tua versione, e claude plugin <subcommand> --help per l’elenco completo delle opzioni di un sottocomando.
Questi casi sono trattati su altre pagine:
- Installa e gestisci i passaggi, e dove
/pluginviene eseguito: vedi Installa e gestisci i plugin - Cosa un comando cambia su disco e quale ambito ha la precedenza: vedi Riferimento caricamento plugin
- Cosa significa un messaggio di errore: vedi Risolvi i problemi dei plugin
Comandi claude plugin
Eseguiclaude plugin <subcommand> dalla tua shell o da uno script, al di fuori di una sessione Claude Code. Questi sottocomandi installano e gestiscono i plugin senza aprire il pannello /plugin.
claude plugins è un alias per claude plugin.
Ogni sottocomando condivide questi codici di uscita, argomenti plugin e valori di ambito:
- Codici di uscita:
0in caso di successo e1in caso di errore.validateaggiunge l’uscita2per un errore inaspettato, eevalaggiunge i codici elencati nella sua sezione. - Argomenti plugin: un argomento
<plugin>è un pluginnameoname@marketplace. Quando due marketplace offrono lo stesso nome, usa la forma qualificata.configureaccetta solo la forma qualificata. - Ambiti:
--scopeaccettauser,projectolocal, e nomina il file di impostazioni in cui il comando scrive.updateaccetta anchemanaged.
plugin init
Crea lo scaffolding di un nuovo plugin in~/.claude/skills/<name>/. Si carica nella tua prossima sessione come <name>@skills-dir senza alcun passaggio di installazione.
new è un alias per init.
Per il workflow di creazione, test e modifica che inizia con questo comando, vedi Crea un plugin.
<name> diventa il nome della directory sotto ~/.claude/skills/ e il name del plugin nel suo manifest.
Il comando non ha un flag per un’altra posizione. Per creare lo scaffolding all’interno di un progetto, vedi Crea un plugin.
Crea lo scaffolding di un plugin con file skill e hook starter:
Created plugin "my-helper" at ~/.claude/skills/my-helper, seguito dall’id con cui si carica e dal comando claude plugin disable che lo disattiva.
Claude Code esce con 1 senza scrivere quando non può creare lo scaffolding in sicurezza, e il messaggio nomina il motivo. Questi sono motivi comuni:
- Un valore
--withsconosciuto - Uno scaffolding esistente al target senza
--force - Un’impostazione gestita che blocca i plugin della directory skills
plugin install
Installa un plugin da uno dei tuoi marketplace.i è un alias per install.
headersHelper per il suo download, Claude Code prima stampa il comando e chiede Run this command now? [y/N].
Esegui
claude plugin install --help nella tua shell per vedere ogni opzione che la tua versione supporta.
Passa -y dal tuo terminale per accettare il comando visualizzato senza il prompt. Ecco cosa succede senza un TTY e quando Claude esegue il comando:
- stdin o stdout non è un TTY, e non passi né
-yné--accept-command: l’installazione viene rifiutata. L’output dice che il comando è stato solo visualizzato, e il codice di uscita è1 - Claude esegue il comando attraverso il suo strumento Bash:
-yviene ignorato. Esegui il comando dal tuo terminale invece
Successfully installed plugin: formatter@my-marketplace (scope: project). Quando nulla di nuovo viene installato, l’output dice perché:
- Già installato a quell’ambito: l’output è
Plugin "formatter@my-marketplace" is already installed (scope: project)e il codice di uscita è0 - Rifiuti un prompt di origine comando: l’output è
Aborted.e il codice di uscita è1 - Rifiuti un prompt
headersHelper, o non può essere confermato senza un TTY: l’output èAborted — the command was not run.e il codice di uscita è1
Formato risultato JSON
Quando passi--json a plugin install, l’ultima riga di stdout è un oggetto JSON. Analizza solo quella riga, perché Claude Code stampa qualsiasi comando che il marketplace dichiara prima di essa.
Tre campi sono sempre presenti:
command: il sottocomando che è stato eseguito, ad esempioinstalloutcome:okofailedmessage: una descrizione leggibile del risultato
pluginId, scope e failureCode, appaiono solo quando si applicano.
L’opzione --json su plugin uninstall, plugin update, plugin enable e plugin disable stampa lo stesso oggetto con i campi propri di quel sottocomando.
Un errore di utilizzo, come uno --scope non valido, non stampa alcuna riga di risultato ed esce con 1 con il motivo su stderr.
Risultato JSON per i comandi marketplace
Suplugin marketplace add, plugin marketplace remove e plugin marketplace update, --json stampa un oggetto JSON sull’ultima riga di stdout con i campi command, outcome e message. Quanto segue è il risultato di claude plugin marketplace remove your-marketplace --json:
command è marketplace-add, marketplace-remove o marketplace-update. I campi seguenti appaiono solo quando si applicano:
marketplace: il nome del marketplace su cui il comando ha agitofailureCode: un codice che indica perché il comando è fallito, comeinvalid_source
plugin marketplace add e plugin marketplace remove possono non stampare alcuna riga di risultato quando l’argomento è il nome riservato anthropic-plugin-directory, quindi controlla il codice di uscita per quel nome.
Accetta un comando di installazione visualizzato
Quando un’esecuzione--json visualizza un comando dichiarato dal marketplace e non lo esegue, il risultato failed porta anche un oggetto shownCommand. I suoi campi includono il comando come visualizzato, il plugin a cui appartiene, e lo sha256 del comando.
Per accettare esattamente quel comando, esegui di nuovo con quello sha256 come --accept-command dal tuo terminale, perché il flag non ha effetto all’interno di una sessione Claude Code. Richiede Claude Code v2.1.271 o successivo.
Lo sha256 conta come accettazione per esattamente quel comando, plugin e catalogo marketplace. Se uno di essi è cambiato dal momento in cui il comando è stato visualizzato, Claude Code non accetta lo sha256 e mostra di nuovo il comando. Un cambiamento che l’aggiornamento del marketplace della stessa esecuzione recupera conta anche come tale cambiamento.
Se shownCommand.acceptCommandMatched è false, lo sha256 che hai passato non corrisponde al comando ora visualizzato. Rivedi quel comando prima di eseguire di nuovo con il suo sha256.
plugin uninstall
Rimuovi un plugin installato da un ambito.remove e rm sono alias per uninstall.
Disinstalla un plugin dall’ambito del progetto:
Successfully uninstalled plugin: formatter (scope: project). Quando il plugin non è installato a quell’ambito, il comando stampa una riga che inizia con Failed to uninstall plugin "formatter@my-marketplace": ed esce con 1.
Se la riga di errore continua con "formatter" was not uninstalled: e nomina un file di impostazioni, Claude Code non ha potuto confermare che le impostazioni dell’ambito non attivano più il plugin, quindi il plugin rimane installato con tutto ciò che ha salvato. Con --json, il risultato porta failureCode: "settings_still_on". Questo controllo delle impostazioni richiede Claude Code v2.1.282 o successivo.
Cosa una disinstallazione elimina e conserva
Quando disinstalli un plugin dall’ultimo ambito in cui è installato, Claude Code elimina anche le opzioni e i segreti memorizzati del plugin e la sua directory di dati,~/.claude/plugins/data/<id>/. Ci sono tre eccezioni:
- Con
--keep-data, la directory di dati rimane - Quando un altro plugin installato usa la stessa cartella, come uno il cui ID differisce da questo solo per maiuscole/minuscole, la directory di dati rimane
- Quando Claude Code non può leggere l’elenco dei plugin installati dopo che rimuove il plugin da quell’ambito, le opzioni, i segreti e la directory di dati rimangono tutti, perché il plugin potrebbe essere ancora installato a un altro ambito. La disinstallazione ha comunque successo. Il messaggio elenca cosa è rimasto e come eliminarlo, e con
--jsonil risultato portasavedKept: "install_records_unreadable"
--json, keptData riporta se la directory è rimasta, e /plugin mostra · data preserved quando lo ha fatto. Per una directory che rimane senza --keep-data, questo rapporto richiede Claude Code v2.1.281 o successivo. Il campo savedKept richiede Claude Code v2.1.282 o successivo.
plugin enable
Abilita un plugin disabilitato. Per un plugin sincronizzato da claude.ai, passa<name>@synced come plugin.
Senza
--scope, il comando controlla i tuoi file di impostazioni nell’ordine local, project, user, e usa il primo ambito che menziona il plugin.
Se passi uno --scope dove il plugin non è dichiarato, il comando scrive un override o fallisce:
- Un ambito che ha precedenza su quello dichiarante: Claude Code scrive un override all’ambito che hai passato. Ad esempio,
claude plugin disable formatter --scope localdisattiva un plugin abilitato a livello di progetto solo per te - Qualsiasi altro ambito: il comando fallisce con
Plugin "formatter" is installed at project scope, not user. Use --scope project or omit --scope to auto-detect.
Plugin "formatter" is already enabled ed esce con 1. Con --json, il risultato ha "failureCode": "already_in_goal_state" e "alreadyInGoalState": true, quindi uno script può trattare quel caso come successo.
Quando il plugin dichiara dipendenze, Claude Code le abilita anche. Il comando fallisce in questi casi:
- Una dipendenza non è installata: enable fallisce e stampa il comando
claude plugin installper ogni dipendenza mancante - Una dipendenza è bloccata dalla politica dei plugin della tua organizzazione: enable fallisce e nomina la dipendenza bloccata
- Una dipendenza è impostata a
falsea un ambito con precedenza più alta dell’ambito target: enable fallisce. Abilita la dipendenza a quell’ambito, o passa--scopeper scrivere lì
Successfully enabled plugin: formatter (scope: project), nominando l’ambito che ha rilevato.
plugin disable
Disabilita un plugin senza disinstallarlo. Per un plugin sincronizzato da claude.ai, passa<name>@synced come plugin.
Senza
--scope, l’ambito è auto-rilevato nello stesso ordine local, project, user di plugin enable.
Se non passi né un nome di plugin né --all, Claude Code stampa Please specify a plugin name or use --all to disable all plugins ed esce con 1. Disabilitare un plugin che è già disabilitato stampa Plugin "formatter" is already disabled ed esce con 1, come plugin enable fa per un plugin già abilitato.
Il comando fallisce per un plugin che è ancora richiesto:
- Un altro plugin abilitato dipende da esso: il comando fallisce e nomina i dipendenti da disabilitare prima
- La tua organizzazione lo richiede come plugin sincronizzato: il comando fallisce e non salva nulla
Successfully disabled plugin: formatter (scope: project).
plugin update
Aggiorna un plugin all’ultima versione che il suo marketplace offre. La nuova versione si carica nella tua prossima sessione, o dopo che esegui/reload-plugins in una sessione in esecuzione.
Aggiorna un plugin:
Checking for updates for plugin "formatter@my-marketplace"…, poi il risultato. Quando nulla è più recente, stampa formatter is already at the latest version (1.0.0). ed esce con 0, a meno che non riprovi l’installazione delle dipendenze del plugin e quell’installazione fallisca.
Quale ambito aggiorna il comando
Se ometti--scope, il comando aggiorna il plugin all’ambito più specifico in cui è installato per il tuo progetto corrente, controllando local, project, user, quindi managed.
Prima della v2.1.281, il comando usava user quando omettevi --scope, quindi aggiornare un plugin installato solo all’ambito project o local falliva con Plugin "<name>" is not installed at scope user. Su quelle versioni, passa --scope.
managed è l’unico ambito che puoi aggiornare ma non installare. Per i plugin installati dall’amministratore, vedi Gestisci i plugin per la tua organizzazione.
Aggiorna per nome semplice
Puoi passare un nome di plugin semplice, che il comando abbina ai tuoi plugin installati. Quando i plugin installati da diversi marketplace condividono il nome, il comando rifiuta l’aggiornamento ed elenca i comandiplugin-name@marketplace-name qualificati da eseguire invece. L’aggiornamento per nome semplice richiede Claude Code v2.1.246 o successivo.
Riprova un’installazione delle dipendenze non completata
Quando il plugin è già alla sua ultima versione, il comando può anche riprovare un’installazione delle dipendenze non completata nella sua copia in cache. Per i casi in cui quel nuovo tentativo viene eseguito o saltato, vedi I pacchetti che elenca non sono installati. Se il nuovo tentativo fallisce, l’output èFailed to update plugin "formatter@my-marketplace" con il motivo e il codice di uscita è 1. Prima della v2.1.287, il comando riportava il plugin alla sua ultima versione senza riprovare l’installazione.
plugin list
Elenca i plugin installati con la loro versione, ambito e stato.
Claude Code raggruppa l’output leggibile per come ogni plugin si carica:
Installed plugins:: plugin che hai installato da un marketplaceSession-only plugins (--plugin-dir / --plugin-url):: plugin caricati da quei flag nello stesso comando, come inclaude --plugin-dir ./my-plugin plugin listSkills-directory plugins (.claude/skills/*):: plugin che Claude Code ha trovato in una directory skillsSynced from claude.ai: plugin sincronizzati dal tuo account claude.ai
No plugins installed. Use `claude plugin install` to install a plugin.
Output JSON
Con--json, Claude Code stampa un array con un oggetto per installazione. Ogni oggetto porta i campi sottostanti. id, version, scope, enabled e installPath sono sempre presenti, e gli altri appaiono solo quando si applicano.
Con
--json --available, Claude Code stampa un oggetto invece di un array. Il suo campo installed contiene l’array di oggetti plugin installati, e il suo campo available contiene un oggetto per plugin marketplace non installato con i campi sottostanti.
plugin details
Mostra l’inventario dei componenti di un plugin e il suo costo token previsto. Il plugin deve essere caricato: installato, trovato in una directory skills, o passato con--plugin-dir o --plugin-url nello stesso comando. Il <name> è un plugin name o name@marketplace.
--help.
Mostra cosa contribuisce un plugin installato:
Component inventory: le skill, gli agenti, gli hook, i server MCP e i server LSP del pluginProjected token cost: i token sempre attivi che il plugin aggiunge a ogni sessionePer-component (rounded): stime sempre attive e on-invoke per ogni skill, agente e comando. Omesso quando il plugin non ne ha
Plugin "formatter" not found. Run `claude plugin list` to see installed plugins, or pass --plugin-dir <path> to load one from disk. ed esce con 1.
plugin configure
Mostra le opzioniuserConfig di un plugin installato e quali sono impostate, o salva i valori inviati su stdin. Richiede Claude Code v2.1.285 o successivo.
Senza flag, il comando elenca ogni opzione con fino a tre etichette:
required o optional, poi sensitive per un’opzione che il manifest dichiara sensibile, poi set o not set. Non stampa valori salvati. Con --json, l’output include i valori salvati delle opzioni che non sono sensibili, e mai il testo di una sensibile.
Per salvare i valori, scrivili in un file come un oggetto JSON che mappa le chiavi delle opzioni ai valori stringa, poi passa il file su stdin. Sostituisci formatter@my-marketplace con l’id del tuo plugin come claude plugin list lo mostra. Questo esempio imposta un’opzione denominata api_url da un file values.json che contiene {"api_url": "https://example.com"}:
Configuration saved. Restart Claude Code to apply it. Se passi una chiave che il manifest non dichiara, o un valore che fallisce la convalida, il comando non salva nulla, stampa Failed to save configuration: con il motivo, ed esce con 1. Con --json, un valore rifiutato stampa anche un oggetto su stdout il cui campo refused porta il message e, quando un’opzione è responsabile, la sua chiave option.
Passa l’id completo name@marketplace del plugin, come claude plugin list lo mostra. configure non accetta un name semplice. Quando nessun plugin caricato ha quell’id, il comando stampa No installed plugin has the id "<plugin>". ed esce con 1.
Per le impostazioni di un server MCP in bundle, vedi plugin install --config o l’elemento Configure in /plugin.
plugin prune
Rimuovi le dipendenze auto-installate che nessun plugin installato necessita più. Il comando non rimuove mai un plugin che hai installato tu stesso.autoremove è un alias per prune.
Anteprima cosa un prune rimuoverebbe:
(dry run — nothing removed). Con nulla da rimuovere, stampa una riga che inizia con Nothing to prune.
Senza --dry-run, il comando rimuove le dipendenze orfane solo dopo che confermi al prompt o passi -y.
Il codice di uscita è 0 qualunque sia la tua risposta al prompt.
Cosa fa prune dipende dal fatto che un terminale sia collegato e se passi -y:
plugin eval
Esegui i casi eval di un plugin e riporta i risultati valutati. Richiede Claude Code v2.1.269 o successivo. Ogni caso è un prompt più grader. Claude Code lo esegue più volte in una sessione isolata con solo il plugin target caricato, e per impostazione predefinita anche senza il plugin in modo che il rapporto mostri la differenza. Vedi Testa i plugin con evals per il formato del caso, i grader, i risultati e l’utilizzo in CI.target opzionale predefinito è la directory corrente e accetta uno di questi moduli:
- Una directory plugin
- Un singolo file
prompt.mdocase.yaml - Un plugin installato come
nameoname@marketplace name@skills-dir
--tag, --allow-tools e --json. Ognuna di queste opzioni prende le parole che la seguono come suo valore, quindi un target scritto dopo una di esse viene letto come un tag, un nome di strumento o il percorso di output JSON invece che come target.
Questa tabella elenca le opzioni che la maggior parte delle esecuzioni usa. Esegui claude plugin eval --help per l’insieme completo, inclusi --case, --tag, --output-dir, --report, --allow-real-servers, --keep-temp e --verbose.
Il codice di uscita riporta come è terminata l’esecuzione. Per agire su di esso in una pipeline, vedi Esegui evals in CI.
plugin eval init
Crea una suite eval per il plugin nella directory corrente. Richiede Claude Code v2.1.269 o successivo. Vedi Crea la tua prima suite eval..claude-plugin/plugin.json o il SKILL.md della skill. Per creare lo scaffolding della suite in un’altra directory di proposito, passa --eval-dir.
In un terminale, il comando apre una sessione Claude Code interattiva per un’intervista di authoring. Nell’intervista, Claude fa quanto segue:
- Legge il plugin
- Ti chiede cosa dovrebbe fare bene
- Propone casi e grader
- Scrive i file dei casi
- Esegue i casi e rivede i voti con te per verificare che i grader puntino come faresti tu
--bare, o senza un terminale, il comando scrive un template di caso singolo vuoto. Quando Claude esegue il comando dall’interno di una sessione Claude Code, il comando stampa le istruzioni dell’intervista per quella sessione da seguire piuttosto che scrivere un template.
Il name opzionale è un nome di caso. È richiesto con --bare o senza un terminale, perché il comando scrive il template vuoto per quel caso. Un nome di caso inizia con una lettera o una cifra e contiene solo lettere, cifre, ., _ e -. Su ogni piattaforma, il comando rifiuta anche nomi che Windows non può memorizzare, come con o un nome che termina con ..
Il comando accetta queste opzioni:
plugin tag
Crea un tag git annotato denominato<name>--v<version> per un rilascio di plugin. Prima di taggare, il comando controlla che il plugin.json del plugin e qualsiasi entry del marketplace che lo elenca siano d’accordo sulla versione.
Per quando taggare un rilascio, vedi Pubblica un plugin.
[path] è la directory del plugin, predefinito alla directory corrente. Il comando trova l’entry del marketplace camminando su da quella directory a un .claude-plugin/marketplace.json che elenca il plugin.
Anteprima il tag per un plugin in un checkout marketplace:
- Il nome del plugin
- La versione e da quale file proviene
- L’entry del marketplace corrispondente, quando ce n’è uno
- Il nome del tag
- I comandi
git tagegit pushche eseguirebbe
--dry-run, Claude Code stampa Created tag formatter--v1.0.0 e sia Pushed to origin o il comando push da eseguire tu stesso. Se il push fallisce, il tag è ancora creato localmente e il comando esce con un errore.
Il comando esce con 1 e stampa il motivo quando non può taggare in sicurezza. I motivi comuni sono:
- Nessun
versioninplugin.jsono nell’entry del marketplace - Il tag esiste già
- L’albero di lavoro è sporco
plugin test
Esegui i test per un mod, un plugin il cui codice registra gestori di eventi. Il comando non richiede alcuna sessione, accesso o rete. Per come scrivere un test, vedi Testa un mod.[directory] è la directory del mod, predefinita alla directory corrente. Il comando esegue ogni file al suo interno il cui nome termina con .test.ts o .test.tsx, ed esce con stato 1 quando un test fallisce.
Esegui i test per un mod in ./first-mod:
plugin validate
Convalida un manifest plugin, un manifest marketplace, o le skill, gli agenti e i comandi in una directory, ed esci con un codice su cui un lavoro CI può agire. Per il workflow di creazione, test e modifica, vedi Crea un plugin. Per cosa il validatore controlla in ogni manifest, vedi il riferimento manifest plugin e il riferimento marketplace.
Convalida un plugin prima di eseguirne il commit:
Convalida una directory
Il<path> è un file manifest o una directory. Data una directory, Claude Code sceglie cosa convalidare da quello che trova lì:
.claude-plugin/marketplace.json, quando esiste- Altrimenti
.claude-plugin/plugin.json - Altrimenti i file dei componenti, scelti dal nome della directory. La convalida dei file dei componenti senza un manifest richiede Claude Code v2.1.233 o successivo:
- Una directory denominata
skills,agentsocommands: i file al suo interno - Una directory denominata
.claude: le directoryskills,agentsecommandsal suo interno - Qualsiasi altra directory: quelle tre directory sotto il suo
.claude
- Una directory denominata
.claude-plugin/marketplace.json sia un .claude-plugin/plugin.json, Claude Code convalida il marketplace e anche il manifest e i file dei componenti del plugin. Questo richiede Claude Code v2.1.289 o successivo.
Claude Code non segue i collegamenti simbolici all’interno della directory che nomini. Cosa fa dipende da dove si trova il collegamento:
- Una directory
skills,agentsocommandscollegata sotto la root del plugin o.claude: Claude Code avverte che nulla in essa è stato letto. - Un’entry collegata all’interno di una directory
skills,agentsocommands: Claude Code la salta e avverte, per directory, quante entry ha saltato che una sessione caricherebbe. - La directory
skills,agentsocommandsche nomini è essa stessa un collegamento simbolico, o lo è la sua directory padre.claude: Claude Code riporta un errore e non controlla nulla in essa. Nomina la directory reale invece.
- Un
SKILL.mdalla root del plugin: quando eseguiclaude plugin validatesu una directory plugin, Claude Code non controlla unSKILL.mdalla root del plugin - Un
CLAUDE.mdalla root del plugin: in un’esecuzione plugin, Claude Code avverte anche di unCLAUDE.mdalla root del plugin - File plugin in un’esecuzione marketplace: da una directory marketplace, Claude Code non apre i file skill, agente, comando o hook dei plugin che il marketplace elenca in altre directory, né i file dei server MCP che includono. Per trovare errori in quei file, convalida ogni directory plugin
Output e codici di uscita
Claude Code stampa il file che ha convalidato, eventuali errori e avvertimenti con i loro percorsi, e una riga di verdetto. Il codice di uscita segue il verdetto:
Con
--json, Claude Code scrive il rapporto su stdout come un oggetto JSON con questi campi di livello superiore:
success: lo stesso verdetto che il codice di uscita forniscestrict: se l’esecuzione ha trattato gli avvertimenti come erroritarget: il percorso risolto che Claude Code ha convalidatomanifest: il risultato del manifest stesso, onullper un’esecuzione senza manifestcontents: risultati per file, ognuno nominando il suofilee portando arrayerrors,warningsenotesgatingHooks: se ogni hook del mod che può rifiutare un’azione, come un hooktool.call, ha un gestore.catch. Ogni elemento forniscemodule,pattern,hookehasCatch. Richiede Claude Code v2.1.290 o successivo
2, il comando non scrive nulla su stdout. Il messaggio di errore va su stderr.
Comandi claude plugin marketplace
Eseguiclaude plugin marketplace <subcommand> dalla tua shell per aggiungere, elencare, aggiornare e rimuovere i marketplace da cui installi i plugin.
- Codici di uscita: questi sottocomandi seguono la convenzione del codice di uscita dei comandi plugin
- Ambiti: il loro flag
--scopenon ha una forma breve-s
plugin marketplace add
Aggiungi un marketplace da un repository GitHub, un URL git, unmarketplace.json ospitato o un percorso locale, e dichiaralo in un file di impostazioni.
Dopo averlo aggiunto, Claude Code installa qualsiasi dipendenza che mancava ai tuoi plugin installati.
<source> accetta uno qualsiasi dei moduli nella tabella sottostante, e il suo modulo decide il tipo di fonte e come Claude Code recupera il marketplace. Per l’oggetto source risultante, vedi il riferimento marketplace.
Per un host i cui URL di clone non portano il suffisso
.git, come AWS CodeCommit, aggiungi il marketplace come entry git in extraKnownMarketplaces. Claude Code clona un’entry git indipendentemente dal fatto che il suo URL termini in .git.
Claude Code clona anche un URL gitlab.com con sottogruppi annidati, come https://gitlab.com/group/subgroup/project.
Aggiungi un marketplace e condividilo con il progetto:
Successfully added marketplace: your-marketplace (declared in project settings), usando il name dal manifest del marketplace stesso. Un’aggiunta ripetuta o una fonte non valida stampa uno di questi risultati:
- Marketplace già su disco: l’output è
Marketplace 'your-marketplace' already on disk — declared in project settingse il codice di uscita è0 - Fonte non riconosciuta: l’output è
Invalid marketplace source format. Try: owner/repo, https://..., or ./pathe il codice di uscita è1 - Host semplice come
gitlab.example.com/team/plugins: l’aggiunta fallisce come una scorciatoiaowner/reponon valida, e il messaggio ti dice di aggiungerehttps://o usare un percorso locale
From claude.ai: di claude plugin marketplace list:
--claudeai, il comando rifiuta --scope e --sparse. Il marketplace è ospitato per il tuo account, non dichiarato in un file di impostazioni, quindi non puoi condividerlo attraverso il .claude/settings.json di un progetto.
plugin marketplace list
Elenca ogni marketplace che hai aggiunto, con la sua fonte.
Claude Code stampa
Configured marketplaces: e una riga Source: per marketplace, o No marketplaces configured.
Con --json, Claude Code stampa un array con un oggetto per marketplace, portando i campi sottostanti. Ogni campo è una stringa.
Un marketplace claude.ai aggiunto non ha un clone locale, quindi la sua entry porta i suoi identificatori claude.ai,
marketplaceId e organizationUuid, al posto di installLocation. Porta anche scope quando uno è registrato, e status.
Se le tue sessioni di terminale sincronizzano i plugin dal tuo account claude.ai, l’elenco di testo termina con una sezione From claude.ai:. Quella sezione nomina i marketplace che claude.ai elenca per il tuo account che non hai aggiunto, sia basati su git che ospitati. Richiede Claude Code v2.1.273 o successivo.
Per aggiungere un marketplace da quella sezione, vedi Aggiungi un marketplace da claude.ai.
L’output --json copre solo i marketplace configurati e lascia la sezione fuori.
plugin marketplace remove
Rimuovi la dichiarazione di un marketplace dalle tue impostazioni.rm è un alias per remove.
<name> è il nome del marketplace che plugin marketplace list mostra, non la fonte che hai passato a add.
Rimuovi un marketplace da ogni ambito:
Successfully removed marketplace: your-marketplace. Quando il comando disinstalla i plugin, l’output li elenca sotto una riga come Also uninstalled 2 plugins from this marketplace:. Per usarne uno di nuovo, aggiungi il marketplace di nuovo e reinstalla il plugin.
Se limiti il comando a un file di impostazioni che non dichiara il marketplace, il comando fallisce con Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.
plugin marketplace update
Aggiorna un marketplace, o ogni marketplace, dalla sua fonte per recuperare nuovi plugin e versioni. Un marketplace aggiunto con un branch o tagref si aggiorna al commit più recente di quel ref, non al branch predefinito del repository.
Aggiorna un marketplace:
Successfully updated marketplace: your-marketplace. Quando ometti il nome, stampa un conteggio come Successfully updated 2 marketplaces.
/plugin in una sessione
All’interno di una sessione interattiva,/plugin apre il pannello plugin. Ogni sottocomando apre il pannello su una scheda, esegue un’azione lì, o stampa un risultato inline. /plugins e /marketplace sono alias per /plugin.
Puoi eseguire questi comandi solo in una sessione di terminale interattiva. In un’esecuzione non interattiva come claude -p, Claude Code risponde che /plugin non è disponibile in questo ambiente.
Per quali superfici hanno /plugin, come installare senza di esso, e cosa mostra ogni scheda del pannello, vedi Installa e gestisci i plugin.
Un <plugin> è un plugin name o name@marketplace.
La tabella sottostante elenca ogni forma di sessione. I sottocomandi shell init, update, details, prune, eval, eval init e test non hanno una forma di sessione.
Se nomini un plugin che non è installato nel progetto corrente in
/plugin enable, disable, uninstall o configure, Claude Code stampa Plugin "<plugin>" is not installed in this project invece di agire.
/reload-plugins
Applica le modifiche ai plugin in sospeso alla sessione in esecuzione senza riavviarla. Le modifiche in sospeso sono plugin che hai installato, aggiornato, abilitato, disabilitato o modificato su disco da quando la sessione è iniziata. Quando chiudi il pannello/plugin con modifiche in sospeso che hai fatto in esso, Claude Code esegue /reload-plugins per te. Eseguilo tu stesso dopo le modifiche ai plugin che accadono al di fuori del pannello, come un comando claude plugin che hai eseguito in un altro terminale.
Riepilogo ricaricamento
Claude Code ricarica ogni plugin attivo e stampa una riga di riepilogo,Reloaded: N plugins · N skills · N agents · N hooks · N plugin MCP servers · N plugin LSP servers, omettendo il conteggio del server MCP del plugin in una sessione senza un terminale interattivo. Quando un plugin qualsiasi ha fallito, il riepilogo aggiunge N errors during load. Run /plugin for details.
Il conteggio delle skills copre ogni skill che un plugin fornisce, sia le sue entry commands/ che le skills SKILL.md. Il conteggio degli agents è il numero di agent caricati nella sessione, inclusi quelli che non provengono da plugin.
Quando le dipendenze di un plugin ricaricato sono mancanti, Claude Code le installa, ricarica di nuovo, e aggiunge (+ N dependencies: <names>) resolved al riepilogo.
Ricaricamenti che cambiano gli strumenti MCP
Quando il ricaricamento aggiungerebbe o rimuoverebbe un server MCP del plugin o lo strumentoLSP, e quel cambiamento invaliderebbe la cache del prompt, Claude Code non applica il ricaricamento. Stampa una riga come This reload changes MCP tools (<server>) — your next message will re-read the whole conversation instead of using the cache. Run /reload-plugins --force to apply. Passa --force per applicarlo comunque.
Sessioni senza un terminale interattivo
/reload-plugins viene eseguito anche in sessioni senza un terminale interattivo, come l’app desktop, l’Agent SDK e la modalità non interattiva con -p. Richiede Claude Code v2.1.260 o successivo.
In quelle sessioni, il comando viene eseguito solo quando lo digiti nella sessione tu stesso, come nel prompt -p o nella casella del prompt dell’app desktop. Quando arriva in un altro modo, come attraverso Remote Control o un messaggio inoltrato da Slack, il comando risponde /reload-plugins isn't available over a remote connection in this session. e non ricarica nulla.
Il ricaricamento in quelle sessioni non connette o disconnette i server MCP del plugin. Quei cambiamenti hanno effetto nella tua prossima sessione.
Flag che caricano un plugin per una sola sessione
Due flagclaude caricano un plugin per una sola sessione, senza installarlo. Entrambi sono ripetibili.
Gli autori di plugin li usano per testare un plugin prima di pubblicarlo. Per il flusso di lavoro carica-modifica-ricarica, vedi Sviluppa senza un marketplace.
Un plugin che uno di questi flag carica è un plugin solo sessione.
claude plugin list lo mostra solo quando lo stesso flag precede il sottocomando, come in claude --plugin-dir ./my-plugin plugin list. Il plugin appare come <name>@inline sotto un’intestazione che inizia con Session-only plugins, e --json riporta il suo scope come session.
Quando un plugin solo sessione condivide un nome con un plugin installato, Claude Code carica la copia solo sessione per quella sessione e salta quella installata. La copia installata si carica invece se hai disabilitato la copia solo sessione con claude plugin disable <name>@inline, o se le impostazioni gestite bloccano quel nome di plugin. Per la precedenza, vedi Riferimento caricamento plugin.
Un amministratore può rifiutare entrambi i flag, e le cartelle nominate nella variabile CLAUDE_CODE_PLUGIN_DIRS, con l’impostazione gestita disableSideloadFlags. Claude Code stampa che il flag è disabilitato dalle impostazioni gestite della tua organizzazione ed esce con 1 senza avviare.
Dall’Agent SDK, l’opzione plugins è l’equivalente di --plugin-dir.
Passaggi successivi
- Installa e gestisci i plugin: le stesse operazioni dei passaggi, con quello che vedi in ognuno
- Riferimento caricamento plugin: cosa ogni comando cambia su disco e quale ambito ha effetto
- Risolvi i problemi dei plugin: messaggi di errore di installazione, marketplace, caricamento e convalida con le loro correzioni
- Riferimento manifest plugin: i campi che
claude plugin validatecontrolla