Installer et gerer des plugins
Les commandes exactes pour ajouter une marketplace, installer un plugin, le mettre a jour, le retirer, et verifier qu'il merite ta confiance avant de l'installer.
Temps de lecture : 12 min | Niveau : Intermediaire
Ce que tu sauras faire apres
- Installer un plugin depuis la marketplace officielle d'Anthropic en une commande.
- Ajouter une marketplace tierce, depuis GitHub, une URL ou un dossier local.
- Choisir le bon scope d'installation entre user, project et local.
- Mettre a jour, desactiver et desinstaller proprement.
- Inspecter un plugin tiers avant de l'installer, sans l'installer.
1. Le vocabulaire des commandes
Deux familles de commandes, a ne pas melanger.
| Famille | Ou on la tape | Exemple |
|---|---|---|
claude plugin ... | Dans ton shell, hors session | claude plugin list |
/plugin ... | Dans une session Claude Code interactive | /plugin install |
Les deux ecrivent dans les memes fichiers de reglages. Le shell est scriptable ; la session ouvre un panneau interactif avec les onglets Discover, Marketplaces, Installed et Errors.
claude pluginsest un alias declaude plugin. Dans une session,/pluginset/marketplacesont des alias de/plugin.
Note importante : dans une session, /plugin install n'installe pas directement. Il ouvre le panneau sur les details du plugin pour que tu les lises et choisisses un scope avant de valider.
2. Installer ton premier plugin
Claude Code enregistre la marketplace officielle d'Anthropic, claude-plugins-official, la premiere fois que tu demarres une session interactive dans un terminal. Tu n'as donc rien a ajouter pour commencer.
Depuis une session
/plugin install commit-commands@claude-plugins-officialLe panneau s'ouvre sur les details. Tu y vois Will install, la liste des commandes, agents, skills, hooks et serveurs MCP et LSP que le plugin ajoute.
Pour un plugin de la marketplace officielle, tu vois aussi Context cost : Every turn est ce que le plugin ajoute a chaque message, When invoked ce que ses skills et agents ajoutent une fois charges. Ces deux chiffres n'apparaissent que si tu as ouvert le plugin en nommant sa marketplace, comme la commande ci-dessus, ou depuis l'onglet Marketplaces. Ouvert depuis la liste Discover, le panneau ne les montre pas.
Puis tu choisis un scope, et la derniere phrase du resume d'installation te dit si le plugin est utilisable tout de suite :
| Message | Ce que ca veut dire |
|---|---|
Plugin is now active. | Rien a faire |
Run /reload-plugins to activate. | Le panneau se ferme et Claude Code lance le rechargement pour toi |
The plugin couldn't be loaded | Ouvre l'onglet Errors de /plugin pour la raison |
Depuis ton shell
claude plugin install commit-commands@claude-plugins-officialLa commande affiche Successfully installed plugin: commit-commands@claude-plugins-official (scope: user). Les plugins installes ainsi se chargent au prochain demarrage, ou apres /reload-plugins dans une session deja ouverte.
Pour verifier : dans la session, tape / et cherche /commit-commands:commit.
3. Choisir le scope 🎯
Le scope decide pour qui le plugin est actif et dans quel fichier de reglages l'entree est ecrite.
| Scope | Portee | Fichier ecrit |
|---|---|---|
user | Toi, dans tous les projets de la machine | ~/.claude/settings.json |
project | Tout le monde sur ce depot | .claude/settings.json, que tu commites |
local | Toi, sur ce depot seulement | .claude/settings.local.json |
La cle ecrite s'appelle enabledPlugins. Elle ressemble a ca :
{
"enabledPlugins": {
"boite-a-outils-data@marketplace-equipe": true
}
}Quand le meme plugin est regle a plusieurs scopes, local l'emporte sur project, et project l'emporte sur user. Les reglages managed poses par une organisation l'emportent sur tout le reste.
Le piege du scope project
Commiter enabledPlugins dans .claude/settings.json active le plugin pour tes collegues, mais ne le telecharge pas sur leur machine.
Chaque collegue doit donc lancer une fois :
claude plugin install <nom>@<marketplace> --scope projectSinon ils voient dans l'onglet Errors : Plugin "<name>" is enabled in project settings but isn't installed here.
Exception : si l'entree du plugin dans la marketplace utilise une source en chemin relatif, le plugin se charge directement depuis la marketplace, sans enregistrement d'installation.
Par defaut, claude plugin install utilise le scope user. Passe --scope project ou --scope local pour changer.
4. Ajouter une marketplace
Tu en as besoin des que le plugin voulu n'est pas dans la marketplace officielle.
Les formes de source acceptees
| Source | Ce que tu tapes | Exemple |
|---|---|---|
| Depot GitHub | owner/repo, avec #ref pour epingler une branche ou un tag | /plugin marketplace add mon-org/plugins#v1.2.0 |
| Depot Git ailleurs | L'URL de clone complete | /plugin marketplace add https://gitlab.example.com/data/plugins.git |
| Dossier local | Chemin relatif commencant par ./ ou ../, ou chemin absolu. Le chemin pointe vers le dossier qui contient .claude-plugin/marketplace.json, ou directement vers ce fichier JSON | /plugin marketplace add ./ma-marketplace |
marketplace.json heberge | Son URL en https:// | /plugin marketplace add https://example.com/marketplace.json |
Depuis le shell, claude plugin marketplace add accepte exactement les memes sources. /plugin market est une forme courte de /plugin marketplace.
Deux pieges reels :
- Le chemin relatif. Commence-le toujours par
./ou../. Claude Code lit unnom/nomnu comme un depot GitHub. - L'URL sans prefixe. Mets toujours
https://devant. Si tu tapesgitlab.example.com/equipe/plugins.gittel quel, Claude Code le lit comme un raccourci GitHubowner/repoet le rejette. Pour du SSH, utilise la formegit@hote:chemin.git.
Ajouter et installer en une commande
Depuis une session, a partir de Claude Code v2.1.275 :
/plugin install deploy-helper --marketplace mon-org/pluginsTu donnes le nom du plugin seul, sans suffixe @marketplace. Claude Code te montre la source resolue et te demande de confirmer avant de l'ajouter.
Depots prives
Meme commande que pour une marketplace publique. Claude Code lance git sur ta machine avec les invites coupees. Il utilise donc les identifiants deja presents et ne te demande jamais rien :
- HTTPS : un identifiant deja stocke par ton credential helper fonctionne. Sur GitHub,
gh auth loginpuisgh auth setup-git. Un hote jamais authentifie echoue au lieu de demander un mot de passe. - SSH : l'hote doit deja etre dans
known_hosts, et la cle doit fonctionner sans demande de passphrase. - Raccourci GitHub
owner/repo: Claude Code teste d'abord ta cle SSH, puis clone en SSH si elle marche, en HTTPS sinon.CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1force le HTTPS.
5. Gerer ce qui est installe
Le tableau des commandes
| Action | Dans ton shell | Dans une session |
|---|---|---|
| Lister les plugins | claude plugin list | /plugin list |
| Voir le detail d'un plugin | claude plugin details <nom> | (pas d'equivalent) |
| Activer | claude plugin enable <plugin> | /plugin enable <plugin> |
| Desactiver | claude plugin disable <plugin> | /plugin disable <plugin> |
| Mettre a jour | claude plugin update <plugin>@<marketplace> | (via l'onglet Installed) |
| Desinstaller | claude plugin uninstall <plugin> | /plugin uninstall <plugin> |
| Lister les marketplaces | claude plugin marketplace list | /plugin marketplace list |
| Rafraichir une marketplace | claude plugin marketplace update <nom> | /plugin marketplace update <nom> |
| Retirer une marketplace | claude plugin marketplace remove <nom> | /plugin marketplace remove <nom> |
Exemple enchaine dans un shell :
claude plugin disable boite-a-outils-data@marketplace-equipe
claude plugin enable boite-a-outils-data@marketplace-equipe
claude plugin uninstall boite-a-outils-data@marketplace-equipe --scope projectSans --scope, enable et disable agissent sur le scope le plus specifique qui liste deja le plugin ; install et uninstall utilisent le scope user.
Les drapeaux utiles :
| Drapeau | Sur quelle commande | Ce qu'il fait |
|---|---|---|
--json | La plupart des sous-commandes | Sort un objet JSON pour tes scripts |
--available | list | Ajoute les plugins offerts par tes marketplaces et non installes. Sans effet si tu n'ajoutes pas aussi --json |
--keep-data | uninstall | Conserve le dossier de donnees persistantes |
--prune | uninstall | Retire au passage les dependances auto-installees devenues inutiles. La sous-commande claude plugin prune fait la meme chose toute seule |
-y, --yes | install, update, uninstall --prune, prune | Accepte sans invite la commande ou la confirmation affichee. Indispensable dans un script, ou quand le terminal n'est pas interactif |
Avertissement sur
claude plugin marketplace remove. Sans--scope, la commande retire la declaration de tous les scopes. Et quand tu retires une marketplace du dernier scope qui la declare, Claude Code supprime son cache et desinstalle tous les plugins que tu en avais installes. Pour seulement rafraichir, utilisemarketplace update.
Recharger sans redemarrer
/reload-pluginsLa commande affiche Reloaded: N plugins · N skills · N agents · N hooks · N plugin MCP servers · N plugin LSP servers.
Si le rechargement ajouterait ou retirerait un serveur MCP et invaliderait le cache de prompt, Claude Code ne l'applique pas et te le dit. Force avec /reload-plugins --force, au prix d'une requete non mise en cache.
6. Les mises a jour
Point a connaitre absolument : l'auto-update n'est pas active par defaut pour une marketplace tierce.
| Type de marketplace | Auto-update |
|---|---|
Marketplaces officielles d'Anthropic (sauf knowledge-work-plugins et first-party-plugins) | Active par defaut |
| Marketplaces ajoutees depuis claude.ai | Active par defaut |
| Marketplace communautaire, marketplaces tierces, marketplaces locales de developpement | Desactivee par defaut |
Donc la marketplace de ton equipe ne se met pas a jour toute seule tant que personne ne l'a demande.
Pour l'activer, dans une session : /plugin, onglet Marketplaces, selectionne la marketplace, puis Enable auto-update.
Sans auto-update, tes collegues recoivent tes changements uniquement quand ils lancent :
claude plugin marketplace update marketplace-equipe
claude plugin update boite-a-outils-data@marketplace-equipeQuand l'auto-update est active, le declenchement se fait dans une session interactive apres ton premier message, avec un delai aleatoire pouvant aller jusqu'a dix minutes. La session en cours garde les versions deja chargees et affiche Plugin updated: <name> · Run /reload-plugins to apply.
Quand une mise a jour ne change rien
Si l'auteur a pousse des commits et que claude plugin update affiche <name> is already at the latest version (<version>)., c'est que la version calculee n'a pas bouge.
Claude Code calcule la version dans cet ordre :
- Le champ
versiondu manifesteplugin.json. - Le champ
versionde l'entree de la marketplace. - A defaut, selon le type de source : pour
github,urletgit-subdir, le SHA du commit raccourci a 12 caracteres.
Consequence pratique pour toi en tant qu'auteur : si tu figes "version": "1.0.0" et que tu pousses dix commits sans changer la chaine, personne ne recoit rien.
7. Evaluer la confiance avant d'installer 🔒
C'est la partie la plus importante de ce fichier.
Un plugin Claude Code que tu installes peut executer du code arbitraire sur ta machine avec tes privileges d'utilisateur.
Le nom d'une marketplace te dit qui publie le catalogue, pas ce que fait chaque plugin dedans. Une marketplace publiee par ton collegue ou ton entreprise est une marketplace tierce.
Ce qu'un plugin peut faire
| Composant | Ce qu'il peut faire |
|---|---|
| Hooks | Des commandes shell, avec tes droits complets, a des moments du cycle de vie |
| Serveurs MCP et LSP | Des processus que Claude Code demarre sur ta machine |
Dossier bin/ | Ses executables sont sur le PATH du shell de l'outil Bash |
| Skills, commandes, agents | Entrent dans le contexte de Claude comme des instructions, donc influencent ce que Claude fait avec les outils qu'il a deja |
| Mises a jour | Avec l'auto-update, les fichiers que tu as relus peuvent changer sur le disque |
Un point souvent mal compris : les regles de permission et le sandbox de Claude Code couvrent les appels d'outils faits par Claude, pas le code qu'un plugin execute de lui-meme. Les hooks et les serveurs MCP tournent hors du sandbox.
La procedure de revue en 4 etapes
- Verifier la source de la marketplace :
claude plugin marketplace listdonne la source de chacune, depot GitHub, URL ou dossier. - Lire le panneau de details : dans une session,
/plugin, selectionne le plugin, lis la section Will install. - Lire le code source. La section Will install montre qu'un hook existe, mais pas ce qu'il execute. Ouvre le depot et lis
hooks/hooks.json(la commande de chaque hook),.mcp.json(la commande ou l'URL de chaque serveur) et tous les fichiers debin/. - Inventorier sans installer. Clone le depot, puis lance dans ton shell :
claude --plugin-dir ./le-plugin plugin details le-pluginCette commande lit les fichiers du plugin sans demarrer de session et affiche un Component inventory : skills, commandes, agents, hooks avec leur evenement, serveurs MCP et LSP.
Reconnaitre les marketplaces d'Anthropic
Claude Code n'accepte les noms officiels et communautaires que pour des marketplaces dont la source est un depot github.com/anthropics/. Une marketplace tierce ne peut donc pas se faire passer pour une marketplace Anthropic.
| Niveau | Quels noms |
|---|---|
| Officiel | Une liste fermee, dont claude-plugins-official, claude-code-plugins, agent-skills, first-party-plugins |
| Communautaire | claude-community, claude-plugins-community, healthcare |
| Tiers | Tout le reste |
Retirer un plugin en qui tu n'as plus confiance
claude plugin uninstall <plugin> --scope userLes fichiers restent ensuite sous ~/.claude/plugins/cache/ pendant 14 jours avant qu'un nettoyage de fond les retire. Ce nettoyage ne tourne que tant qu'il te reste au moins un plugin installe : apres ta derniere desinstallation, les dossiers orphelins restent en place. Pour les supprimer tout de suite, efface toi-meme ~/.claude/plugins/cache/<marketplace>/<plugin>/.
Si tu ne fais pas confiance au proprietaire de la marketplace non plus, retire la marketplace : ca desinstalle tous les plugins qui en venaient.
8. Template a copier-coller 📋
Prompt de revue de plugin tiers, a coller dans une session Claude Code apres avoir clone le depot.
Contexte : je suis [DEV / DATA ENGINEER / DATA ANALYST] et j'envisage d'installer le plugin Claude Code
[NOM_DU_PLUGIN] provenant de la marketplace [NOM_OU_URL_DE_LA_MARKETPLACE].
J'ai clone le depot dans [CHEMIN_LOCAL_DU_DEPOT].
Fais une revue de securite en lisant reellement les fichiers, dans cet ordre :
1. .claude-plugin/plugin.json ou .claude-plugin/marketplace.json : nom, version, auteur, champs de composants declares.
2. hooks/hooks.json : pour CHAQUE hook, donne l'evenement, le matcher et la commande exacte executee.
3. .mcp.json : pour CHAQUE serveur, donne la commande ou l'URL, et dis s'il sort vers Internet.
4. bin/ : liste tous les fichiers et resume ce que fait chaque script.
5. skills/ et agents/ : signale toute instruction qui demanderait d'exfiltrer des donnees,
de desactiver des controles, ou de lire des fichiers hors du projet.
Rends un tableau a trois colonnes : Element | Ce qu'il fait | Risque (faible / moyen / eleve).
Termine par une recommandation en une phrase : j'installe, j'installe avec reserves, je n'installe pas.
Reponds en francais.A retenir
- Deux familles de commandes :
claude plugin ...dans le shell,/plugin ...dans une session. Elles ecrivent dans les memes reglages. - Le scope decide qui recoit le plugin :
user,projectoulocal. Local l'emporte sur project, qui l'emporte sur user. - Commiter
enabledPluginsen scope project active le plugin chez tes collegues mais ne le telecharge pas : chacun lanceclaude plugin install <nom>@<marketplace> --scope projectune fois. - L'auto-update est desactive par defaut pour toute marketplace tierce, y compris celle de ton equipe.
- Retirer une marketplace desinstalle tous les plugins qui en venaient. Pour seulement rafraichir, utilise
marketplace update. - Avant d'installer un plugin tiers, lis
hooks/hooks.json,.mcp.jsonetbin/, puis lanceclaude --plugin-dir <dossier> plugin details <nom>pour l'inventaire complet sans l'installer.