claude plugin depuis votre shell ou un script, soit en tant que /plugin et /reload-plugins dans une session Claude Code. Cette référence donne les drapeaux, les valeurs par défaut, la sortie et les codes de sortie de chaque commande, ainsi que les deux drapeaux qui chargent un plugin pour une seule session.
Exécutez claude plugin --help sur votre build pour confirmer quels sous-commandes votre version possède.
Ces cas sont couverts sur d’autres pages :
- Installer et gérer les étapes, et où
/plugins’exécute : voir Installer et gérer les plugins - Ce qu’une commande change sur le disque et quelle portée prend la priorité : voir Référence du chargement des plugins
- Ce qu’un message d’erreur signifie : voir Dépanner les plugins
Commandes claude plugin
Exécutezclaude plugin <subcommand> depuis votre shell ou un script, en dehors d’une session Claude Code. Ces sous-commandes installent et gèrent les plugins sans ouvrir le panneau /plugin.
claude plugins est un alias pour claude plugin.
Chaque sous-commande partage ces codes de sortie, arguments de plugin et valeurs de portée :
- Codes de sortie :
0en cas de succès et1en cas d’échec.validateajoute la sortie2pour une erreur inattendue, etevalajoute les codes listés dans sa section. - Arguments de plugin : un argument
<plugin>est unnamede plugin ouname@marketplace. Quand deux marketplaces offrent le même nom, utilisez la forme qualifiée. - Portées :
--scopeprenduser,project, oulocal, et nomme le fichier de paramètres que la commande écrit.updateprend aussimanaged.
plugin init
Créez un nouveau plugin à~/.claude/skills/<name>/. Il se charge dans votre prochaine session en tant que <name>@skills-dir sans étape d’installation.
new est un alias pour init.
Pour le flux de travail créer, tester et éditer qui commence par cette commande, voir Créer un plugin.
<name> devient le nom du répertoire sous ~/.claude/skills/ et le name du plugin dans son manifeste.
La commande n’a pas de drapeau pour un autre emplacement. Pour créer un scaffold dans un projet à la place, voir Créer un plugin.
Créez un plugin avec des fichiers de skill et hook de démarrage :
Created plugin "my-helper" at ~/.claude/skills/my-helper, suivi de l’id qu’il charge et de la commande claude plugin disable qui l’éteint.
Claude Code quitte avec 1 sans écrire quand il ne peut pas créer le scaffold en toute sécurité, et le message nomme la raison. Voici les raisons courantes :
- Une valeur
--withinconnue - Un scaffold existant à la cible sans
--force - Un paramètre géré qui bloque les plugins du répertoire de skills
plugin install
Installez un plugin depuis une marketplace que vous avez ajoutée.i est un alias pour install.
headersHelper pour son téléchargement, Claude Code affiche d’abord la commande et demande Run this command now? [y/N].
Passez
-y depuis votre propre terminal pour accepter la commande affichée sans l’invite. Voici ce qui se passe sans TTY et quand Claude exécute la commande :
- stdin ou stdout n’est pas un TTY, et vous ne passez ni
-yni--accept-command: l’installation est refusée. La sortie dit que la commande a été seulement affichée, et le code de sortie est1 - Claude exécute la commande via son outil Bash :
-yest ignoré. Exécutez la commande depuis votre propre terminal à la place
Successfully installed plugin: formatter@my-marketplace (scope: project). Quand rien de nouveau n’est installé, la sortie dit pourquoi :
- Déjà installé à cette portée : la sortie est
Plugin "formatter@my-marketplace" is already installed (scope: project)et le code de sortie est0 - Vous refusez une invite de source de commande : la sortie est
Aborted.et le code de sortie est1 - Vous refusez une invite
headersHelper, ou elle ne peut pas être confirmée sans TTY : la sortie estAborted — the command was not run.et le code de sortie est1
Format de résultat JSON
Quand vous passez--json à plugin install, la dernière ligne de stdout est un objet JSON. Analysez seulement cette ligne, car Claude Code affiche toute commande que la marketplace déclare avant elle.
Trois champs sont toujours présents :
command: la sous-commande qui a été exécutée, commeinstalloutcome:okoufailedmessage: une description lisible par l’homme du résultat
pluginId, scope, et failureCode, apparaissent seulement quand ils s’appliquent.
L’option --json sur plugin uninstall, plugin update, plugin enable, et plugin disable affiche le même objet avec les champs propres à cette sous-commande.
Une erreur d’utilisation, comme un --scope invalide, n’affiche aucune ligne de résultat et quitte 1 avec la raison sur stderr.
Accepter une commande d’installation affichée
Quand une exécution--json affiche une commande déclarée par la marketplace et ne l’exécute pas, le résultat failed porte aussi un objet shownCommand. Ses champs incluent la commande telle qu’affichée, le plugin auquel elle appartient, et le sha256 de la commande.
Pour accepter exactement cette commande, réexécutez avec ce sha256 en tant que --accept-command depuis votre propre terminal, car le drapeau n’a aucun effet dans une session Claude Code. Nécessite Claude Code v2.1.271 ou ultérieur.
Le sha256 compte comme acceptation pour exactement cette commande, ce plugin, et ce catalogue de marketplace. Si l’un d’eux a changé depuis que la commande a été affichée, Claude Code n’accepte pas le sha256 et affiche la commande à nouveau. Un changement que l’actualisation de la marketplace de la propre exécution récupère compte aussi comme tel changement.
Si shownCommand.acceptCommandMatched est false, le sha256 que vous avez passé ne correspond pas à la commande maintenant affichée. Examinez cette commande avant de réexécuter avec son sha256.
plugin uninstall
Supprimez un plugin installé d’une portée.remove et rm sont des alias pour uninstall.
Désinstallez un plugin de la portée du projet :
Successfully uninstalled plugin: formatter (scope: project). Quand le plugin n’est pas installé à cette portée, la commande affiche une ligne qui commence par Failed to uninstall plugin "formatter@my-marketplace": et quitte 1.
plugin enable
Activez un plugin désactivé. Pour un plugin synchronisé depuis claude.ai, passez<name>@synced en tant que plugin.
Sans
--scope, la commande vérifie vos fichiers de paramètres dans l’ordre local, projet, utilisateur, et utilise la première portée qui mentionne le plugin.
Si vous passez un --scope où le plugin n’est pas déclaré, la commande écrit soit une substitution soit échoue :
- Une portée qui prend la priorité sur celle qui le déclare : Claude Code écrit une substitution à la portée que vous avez passée. Par exemple,
claude plugin disable formatter --scope localéteint un plugin activé au niveau du projet pour vous seul - Toute autre portée : la commande échoue avec
Plugin "formatter" is installed at project scope, not user. Use --scope project or omit --scope to auto-detect.
Plugin "formatter" is already enabled et quitte 1. Avec --json, le résultat a "failureCode": "already_in_goal_state" et "alreadyInGoalState": true, donc un script peut traiter ce cas comme un succès.
Quand le plugin déclare des dépendances, Claude Code les active aussi. La commande échoue dans ces cas :
- Une dépendance n’est pas installée : l’activation échoue et affiche la commande
claude plugin installpour chaque dépendance manquante - Une dépendance est bloquée par la politique de plugin de votre organisation : l’activation échoue et nomme la dépendance bloquée
- Une dépendance est définie à
falseà une portée avec une priorité plus élevée que la portée cible : l’activation échoue. Activez la dépendance à cette portée, ou passez--scopepour écrire là
Successfully enabled plugin: formatter (scope: project), nommant la portée qu’il a détectée.
plugin disable
Désactivez un plugin sans le désinstaller. Pour un plugin synchronisé depuis claude.ai, passez<name>@synced en tant que plugin.
Sans
--scope, la portée est auto-détectée dans le même ordre local, projet, utilisateur que plugin enable.
Si vous ne passez ni un nom de plugin ni --all, Claude Code affiche Please specify a plugin name or use --all to disable all plugins et quitte 1. Désactiver un plugin qui est déjà désactivé affiche Plugin "formatter" is already disabled et quitte 1, comme plugin enable le fait pour un plugin déjà activé.
La commande échoue pour un plugin qui est toujours requis :
- Un autre plugin activé en dépend : la commande échoue et nomme les dépendants à désactiver d’abord
- Votre organisation l’exige en tant que plugin synchronisé : la commande échoue et ne sauvegarde rien
Successfully disabled plugin: formatter (scope: project).
plugin update
Mettez à jour un plugin à la dernière version que sa marketplace offre. La nouvelle version se charge dans votre prochaine session, ou après que vous exécutiez/reload-plugins dans une session en cours.
managed est la seule portée que vous pouvez mettre à jour mais pas installer. Pour les plugins installés par l’administrateur, voir Gérer les plugins pour votre organisation.
Mettez à jour un plugin :
Checking for updates for plugin "formatter@my-marketplace"…, puis le résultat. Quand rien n’est plus récent, il affiche formatter is already at the latest version (1.0.0). et quitte 0.
Vous pouvez passer un nom de plugin nu, que la commande correspond à vos plugins installés. Quand les plugins installés de différentes marketplaces partagent le nom, la commande refuse la mise à jour et liste les commandes plugin-name@marketplace-name qualifiées à exécuter à la place. La mise à jour par nom nu nécessite Claude Code v2.1.246 ou ultérieur.
plugin list
Listez les plugins installés avec leur version, portée et statut.
Claude Code groupe la sortie lisible par l’homme par comment chaque plugin se charge :
Installed plugins:: plugins que vous avez installés depuis une marketplaceSession-only plugins (--plugin-dir / --plugin-url):: plugins chargés par ces drapeaux dans la même commande, comme dansclaude --plugin-dir ./my-plugin plugin listSkills-directory plugins (.claude/skills/*):: plugins que Claude Code a trouvés dans un répertoire de skillsSynced from claude.ai: plugins synchronisés depuis votre compte claude.ai
No plugins installed. Use `claude plugin install` to install a plugin.
Sortie JSON
Avec--json, Claude Code affiche un tableau avec un objet par installation. Chaque objet porte les champs ci-dessous. id, version, scope, enabled, et installPath sont toujours présents, et les autres apparaissent seulement quand ils s’appliquent.
Avec
--json --available, Claude Code affiche un objet au lieu d’un tableau. Son champ installed contient le tableau d’objets de plugin installé, et son champ available contient un objet par plugin de marketplace non installé avec les champs ci-dessous.
plugin details
Montrez l’inventaire des composants d’un plugin et son coût de token projeté. Le plugin doit être chargé : installé, trouvé dans un répertoire de skills, ou passé avec--plugin-dir ou --plugin-url dans la même commande. Le <name> est un name de plugin ou name@marketplace.
--help.
Montrez ce qu’un plugin installé contribue :
Component inventory: les skills, agents, hooks, serveurs MCP et serveurs LSP du pluginProjected token cost: les tokens toujours actifs que le plugin ajoute à chaque sessionPer-component (rounded): estimations toujours actives et à l’invocation pour chaque skill, agent et commande. Omis quand le plugin n’en a aucun
Plugin "formatter" not found. Run `claude plugin list` to see installed plugins, or pass --plugin-dir <path> to load one from disk. et quitte 1.
plugin prune
Supprimez les dépendances auto-installées que nul plugin installé n’a plus besoin. La commande ne supprime jamais un plugin que vous avez installé vous-même.autoremove est un alias pour prune.
Prévisualisez ce qu’un élagage supprimerait :
(dry run — nothing removed). Sans rien à élaguer, il affiche une ligne qui commence par Nothing to prune.
Sans --dry-run, la commande supprime les dépendances orphelines seulement après que vous confirmiez à l’invite ou passiez -y.
Le code de sortie est 0 quelle que soit votre réponse à l’invite.
Ce que prune fait dépend de si un terminal est attaché et si vous passez -y:
plugin eval
Exécutez les cas d’évaluation d’un plugin et rapportez les résultats notés. Nécessite Claude Code v2.1.269 ou ultérieur. Chaque cas est une invite plus des évaluateurs. Claude Code l’exécute plusieurs fois dans une session isolée avec seulement le plugin cible chargé, et par défaut aussi sans le plugin pour que le rapport montre la différence. Voir Tester les plugins avec des évaluations pour le format des cas, les évaluateurs, les résultats et l’utilisation CI.target optionnelle par défaut au répertoire courant et prend n’importe laquelle de ces formes :
- Un répertoire de plugin
- Un seul fichier
prompt.mdoucase.yaml - Un plugin installé en tant que
nameouname@marketplace name@skills-dir
--tag, --allow-tools, et --json. Chacune de ces options prend les mots qui la suivent comme sa valeur, donc une cible écrite après l’une d’elles est lue comme une balise, un nom d’outil, ou le chemin de sortie JSON au lieu de la cible.
Ce tableau liste les options que la plupart des exécutions utilisent. Exécutez claude plugin eval --help pour l’ensemble complet, incluant --case, --tag, --output-dir, --report, --allow-real-servers, --keep-temp, et --verbose.
Le code de sortie rapporte comment l’exécution s’est terminée. Pour agir dessus dans un pipeline, voir Exécuter les évaluations en CI.
plugin eval init
Créez une suite d’évaluation pour le plugin dans le répertoire courant. Nécessite Claude Code v2.1.269 ou ultérieur. Voir Créer votre première suite d’évaluation.- Lit le plugin
- Vous demande ce qu’il devrait bien faire
- Propose des cas et des évaluateurs
- Écrit les fichiers de cas
- Exécute les cas et examine les notes avec vous pour vérifier que les évaluateurs notent comme vous le feriez
--bare, ou sans terminal, la commande écrit un modèle de cas unique vierge à la place. Quand Claude exécute la commande depuis l’intérieur d’une session Claude Code, la commande affiche les instructions d’interview pour que cette session suive plutôt que d’écrire un modèle.
Le name optionnel est un nom de cas. Il est requis avec --bare ou sans terminal, car la commande écrit le modèle vierge pour ce cas. L’interview n’en a pas besoin.
La commande accepte ces options :
plugin tag
Créez une balise git annotée nommée<name>--v<version> pour une version de plugin. Avant de baliser, la commande vérifie que le plugin.json du plugin et toute entrée de marketplace qui le liste s’accordent sur la version.
Pour quand baliser une version, voir Publier un plugin.
[path] est le répertoire du plugin, par défaut le répertoire courant. La commande trouve l’entrée de marketplace en remontant de ce répertoire à un .claude-plugin/marketplace.json qui liste le plugin.
Prévisualisez la balise pour un plugin dans un checkout de marketplace :
- Le nom du plugin
- La version et quel fichier elle provient
- L’entrée de marketplace correspondante, quand il y en a une
- Le nom de la balise
- Les commandes
git tagetgit pushqu’il exécuterait
--dry-run, Claude Code affiche Created tag formatter--v1.0.0 et soit Pushed to origin soit la commande push à exécuter vous-même. Si la poussée échoue, la balise est toujours créée localement et la commande quitte avec une erreur.
La commande quitte 1 et affiche la raison quand elle ne peut pas baliser en toute sécurité. Les raisons courantes sont :
- Pas de
versiondansplugin.jsonou l’entrée de marketplace - La balise existe déjà
- L’arbre de travail est sale
plugin validate
Validez un manifeste de plugin, un manifeste de marketplace, ou les skills, agents et commandes dans un répertoire, et quittez avec un code qu’un travail CI peut utiliser. Pour le flux de travail créer, tester et éditer, voir Créer un plugin. Pour ce que le validateur vérifie dans chaque manifeste, voir la référence du manifeste de plugin et la référence de marketplace.
Validez un plugin avant de le valider :
Validez un répertoire
Le<path> est un fichier manifeste ou un répertoire. Donné un répertoire, Claude Code choisit ce qu’il faut valider par ce qu’il y trouve :
.claude-plugin/marketplace.json, quand il existe- Sinon
.claude-plugin/plugin.json - Sinon les fichiers de composant, choisis par le nom du répertoire. Valider les fichiers de composant sans manifeste nécessite Claude Code v2.1.233 ou ultérieur :
- Un répertoire nommé
skills,agents, oucommands: les fichiers à l’intérieur - Un répertoire nommé
.claude: les répertoiresskills,agents, etcommandsà l’intérieur - N’importe quel autre répertoire : ces trois répertoires sous son
.claude
- Un répertoire nommé
- Un répertoire
skills,agents, oucommandslié sous la racine du plugin ou.claude: Claude Code avertit que rien dedans n’a été lu. - Une entrée liée à l’intérieur d’un répertoire
skills,agents, oucommands: Claude Code la saute et avertit, par répertoire, combien d’entrées il a sautées qu’une session chargerait. - Le répertoire
skills,agents, oucommandsque vous nommez est lui-même un lien symbolique, ou son répertoire parent.claudeest : Claude Code rapporte une erreur et ne vérifie rien dedans. Nommez le répertoire réel à la place.
- Un
SKILL.mdà la racine du plugin : quand vous exécutezclaude plugin validatecontre un répertoire de plugin, Claude Code ne vérifie pas unSKILL.mdà la racine du plugin - Un
CLAUDE.mdà la racine du plugin : dans une exécution de plugin, Claude Code avertit aussi d’unCLAUDE.mdà la racine du plugin - Fichiers de plugin dans une exécution de marketplace : depuis un répertoire de marketplace, Claude Code n’ouvre pas les fichiers de skill, agent, commande ou hook des plugins. Pour trouver des erreurs dans ces fichiers, validez chaque répertoire de plugin
Sortie et codes de sortie
Claude Code affiche le fichier qu’il a validé, toute erreur et avertissement avec leurs chemins, et une ligne de verdict. Le code de sortie suit le verdict :
Avec
--json, Claude Code écrit le rapport sur stdout en tant qu’un objet JSON avec ces champs de niveau supérieur :
success: le même verdict que le code de sortie donnestrict: si l’exécution a traité les avertissements comme des erreurstarget: le chemin résolu que Claude Code a validémanifest: le résultat du manifeste lui-même, ounullpour une exécution sans manifestecontents: résultats par fichier, chacun nommant sonfileet portant des tableauxerrors,warnings, etnotes
2, la commande n’écrit rien sur stdout. Le message d’erreur va sur stderr.
Commandes claude plugin marketplace
Exécutezclaude plugin marketplace <subcommand> depuis votre shell pour ajouter, lister, actualiser et supprimer les marketplaces d’où vous installez les plugins.
- Codes de sortie : ces sous-commandes suivent la convention de code de sortie des commandes de plugin
- Portées : leur drapeau
--scopen’a pas de forme courte-s
plugin marketplace add
Ajoutez une marketplace depuis un référentiel GitHub, une URL git, unemarketplace.json hébergée, ou un chemin local, et déclarez-la dans un fichier de paramètres.
Après l’avoir ajoutée, Claude Code installe toute dépendance que vos plugins installés manquaient.
<source> prend n’importe laquelle des formes du tableau ci-dessous, et sa forme décide du type de source et comment Claude Code récupère la marketplace. Pour l’objet source résultant, voir la référence de marketplace.
Pour un hôte dont les URLs de clone ne portent pas le suffixe
.git, comme AWS CodeCommit, ajoutez la marketplace en tant qu’entrée git dans extraKnownMarketplaces à la place. Claude Code clone une entrée git qu’elle se termine ou non par .git.
Claude Code clone aussi une URL gitlab.com avec des sous-groupes imbriqués, comme https://gitlab.com/group/subgroup/project.
Ajoutez une marketplace et partagez-la avec le projet :
Successfully added marketplace: your-marketplace (declared in project settings), utilisant le name du manifeste de la marketplace lui-même. Un ajout répété ou une source invalide affiche l’un de ces résultats à la place :
- Marketplace déjà sur le disque : la sortie est
Marketplace 'your-marketplace' already on disk — declared in project settingset le code de sortie est0 - Source non reconnue : la sortie est
Invalid marketplace source format. Try: owner/repo, https://..., or ./pathet le code de sortie est1 - Hôte nu comme
gitlab.example.com/team/plugins: l’ajout échoue en tant que raccourciowner/repoinvalide, et le message vous dit d’ajouterhttps://ou d’utiliser un chemin local
From claude.ai: de claude plugin marketplace list:
--claudeai, la commande refuse --scope et --sparse. La marketplace est hébergée pour votre compte, pas déclarée dans un fichier de paramètres, donc vous ne pouvez pas la partager via le .claude/settings.json d’un projet.
plugin marketplace list
Listez chaque marketplace que vous avez ajoutée, avec sa source.
Claude Code affiche
Configured marketplaces: et une ligne Source: par marketplace, ou No marketplaces configured.
Avec --json, Claude Code affiche un tableau avec un objet par marketplace, portant les champs ci-dessous. Chaque champ est une string.
Une marketplace claude.ai ajoutée n’a pas de clone local, donc son entrée porte ses identifiants claude.ai,
marketplaceId et organizationUuid, à la place de installLocation. Elle porte aussi scope quand un est enregistré, et status.
Si vos sessions de terminal synchronisent les plugins depuis votre compte claude.ai, la liste de texte se termine par une section From claude.ai:. Cette section nomme les marketplaces que claude.ai liste pour votre compte que vous n’avez pas ajoutées, à la fois basées sur git et hébergées. Elle nécessite Claude Code v2.1.273 ou ultérieur.
Pour ajouter une marketplace de cette section, voir Ajouter une marketplace depuis claude.ai.
La sortie --json couvre seulement les marketplaces configurées et laisse la section dehors.
plugin marketplace remove
Supprimez la déclaration d’une marketplace de vos paramètres.rm est un alias pour remove.
<name> est le nom de la marketplace que plugin marketplace list affiche, pas la source que vous avez passée à add.
Supprimez une marketplace de chaque portée :
Successfully removed marketplace: your-marketplace, ajoutant (from project settings) quand vous l’avez scoped. Si vous scoped à un fichier de paramètres qui ne déclare pas la marketplace, la commande échoue avec Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.
plugin marketplace update
Actualisez une marketplace, ou chaque marketplace, depuis sa source pour récupérer les nouveaux plugins et versions. Une marketplace ajoutée avec une branche ou une baliseref s’actualise au dernier commit de cette ref, pas la branche par défaut du référentiel.
--help.
Actualisez une marketplace :
Successfully updated marketplace: your-marketplace. Quand vous omettez le nom, il affiche un compte comme Successfully updated 2 marketplaces. Sans marketplaces ajoutées, il affiche No marketplaces configured et quitte 0.
/plugin dans une session
À l’intérieur d’une session interactive,/plugin ouvre le panneau de plugin. Chaque sous-commande ouvre le panneau sur un onglet, exécute une action là, ou affiche un résultat en ligne. /plugins et /marketplace sont des alias pour /plugin.
Vous pouvez exécuter ces commandes seulement dans une session de terminal interactive. Dans une exécution non-interactive comme claude -p, Claude Code répond que /plugin n’est pas disponible dans cet environnement.
Pour quelles surfaces ont /plugin, comment installer sans elle, et ce que chaque onglet du panneau affiche, voir Installer et gérer les plugins.
Un <plugin> est un name de plugin ou name@marketplace.
Le tableau ci-dessous liste chaque forme de session. Les sous-commandes shell init, update, details, prune, eval, et eval init n’ont pas de forme de session.
Si vous nommez un plugin qui n’est pas installé dans le projet courant dans
/plugin enable, disable, uninstall, ou configure, Claude Code affiche Plugin "<plugin>" is not installed in this project au lieu d’agir.
/reload-plugins
Appliquez les modifications de plugins en attente à la session en cours sans la redémarrer. Les modifications en attente sont les plugins que vous avez installés, mis à jour, activés, désactivés ou modifiés sur le disque depuis le démarrage de la session. Lorsque vous fermez le panneau/plugin avec des modifications en attente que vous y avez apportées, Claude Code exécute /reload-plugins pour vous. Exécutez-le vous-même après les modifications de plugins qui se produisent en dehors du panneau, comme une commande claude plugin que vous avez exécutée dans un autre terminal.
Résumé du rechargement
Claude Code recharge chaque plugin actif et affiche une ligne de résumé,Reloaded: N plugins · N skills · N agents · N hooks · N plugin MCP servers · N plugin LSP servers, en omettant le nombre de serveurs MCP de plugins dans une session sans terminal interactif. Lorsqu’un plugin a échoué, le résumé ajoute N errors during load. Run /plugin for details.
Le nombre de skills couvre chaque skill qu’un plugin fournit, à la fois ses entrées commands/ et ses skills SKILL.md. Le nombre d’agents est le nombre d’agents chargés dans la session, y compris ceux qui ne proviennent pas de plugins.
Lorsque les dépendances d’un plugin rechargé sont manquantes, Claude Code les installe, recharge à nouveau, et ajoute (+ N dependencies: <names>) resolved au résumé.
Rechargements qui modifient les outils MCP
Lorsque le rechargement ajouterait ou supprimerait un serveur MCP de plugin ou l’outilLSP, et que ce changement invaliderait le cache de prompt, Claude Code n’applique pas le rechargement. Il affiche une ligne telle que 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. Passez --force pour l’appliquer quand même.
Sessions sans terminal interactif
/reload-plugins s’exécute également dans les sessions sans terminal interactif, comme l’application de bureau, le SDK Agent, et le mode non-interactif avec -p. Nécessite Claude Code v2.1.260 ou ultérieur.
Dans ces sessions, la commande s’exécute uniquement lorsque vous la tapez vous-même dans la session, comme dans le prompt -p ou la boîte de prompt de l’application de bureau. Lorsqu’elle arrive d’une autre manière, comme via Remote Control ou un message relayé depuis Slack, la commande répond /reload-plugins isn't available over a remote connection in this session. et ne recharge rien.
Le rechargement dans ces sessions ne connecte ni ne déconnecte les serveurs MCP de plugins. Ces modifications prennent effet dans votre prochaine session.
Drapeaux qui chargent un plugin pour une seule session
Deux drapeauxclaude chargent un plugin pour une seule session seulement, sans l’installer. Les deux sont répétables.
Les auteurs de plugin les utilisent pour tester un plugin avant de le publier. Pour le flux de travail charger-éditer-recharger, voir Développer sans marketplace.
Un plugin que l’un ou l’autre drapeau charge est un plugin de session seulement.
claude plugin list l’affiche en tant que <name>@inline avec portée session, mais seulement quand le même drapeau précède la sous-commande. Par exemple, exécutez claude --plugin-dir ./my-plugin plugin list.
Quand un plugin de session seulement partage un nom avec un plugin installé, Claude Code charge la copie de session seulement pour cette session et saute celle installée. La copie installée se charge à la place si vous avez désactivé la copie de session seulement avec claude plugin disable <name>@inline, ou si les paramètres gérés verrouillent ce nom de plugin. Pour la priorité, voir Référence du chargement des plugins.
Un administrateur peut rejeter les deux drapeaux, et les dossiers nommés dans la variable CLAUDE_CODE_PLUGIN_DIRS, avec le paramètre géré disableSideloadFlags. Claude Code affiche alors que le drapeau est désactivé par les paramètres gérés de votre organisation et quitte 1 sans démarrer.
Depuis le SDK Agent, l’option plugins est l’équivalent de --plugin-dir.
Prochaines étapes
- Installer et gérer les plugins : les mêmes opérations que les étapes, avec ce que vous voyez à chacune
- Référence du chargement des plugins : ce que chaque commande change sur le disque et quelle portée prend effet
- Dépanner les plugins : installer, marketplace, charger, et valider les messages d’erreur avec leurs corrections
- Référence du manifeste de plugin : les champs que
claude plugin validatevérifie