Skip to main content
Un mod est un plugin qui change l’apparence et le comportement de Claude Code. Il est composé de gestionnaires d’événements JavaScript ou TypeScript : Claude Code en appelle un quand un événement se produit, comme un appel d’outil, une invite soumise, ou une partie de l’interface en cours de dessin, et le gestionnaire peut observer l’événement, le modifier, ou le reprendre. Utilisez un mod pour ajouter votre propre fonctionnalité à Claude Code, comme un volet qui affiche le graphique de la saturation de votre contexte après chaque requête. Pour les fichiers d’un mod et un exemple complet, voir Comment fonctionne un mod.
Les hooks existants de Claude Code s’exécutent également sur des événements, en tant que commande shell, requête HTTP ou invite que vous configurez dans un fichier de paramètres. Les gestionnaires d’un mod sont des fonctions qui s’exécutent à l’intérieur de Claude Code à la place. Claude Code appelle les deux types de hooks : sur ces pages, « hook » signifie le gestionnaire d’un mod, et le type de fichier de paramètres est un « settings hook ».

Ce qu’un mod peut faire

Les settings hooks, les skills, les lignes d’état et les serveurs MCP fonctionnent en dehors de Claude Code : chacun exécute un script, ou donne à Claude du texte ou des outils. Un mod s’exécute à l’intérieur de Claude Code, il peut donc faire des choses qu’ils ne peuvent pas :
  • Dessiner une interface que vous pouvez utiliser : un volet à côté de la transcription ou une bande au-dessus de l’invite, avec des onglets, des boutons et des champs de texte. Voir Dessiner dans l’interface.
  • Redessiner la propre interface de Claude Code : remplacer ou remodeler les parties que Claude Code dessine lui-même, comme la ligne d’un appel d’outil, le spinner, ou la boîte de dialogue dans laquelle Claude pose des questions. Voir Modifier ce que Claude Code dessine déjà.
  • Intervenir dans un appel d’outil ou une requête : par exemple, maintenir un appel d’outil pendant que vous posez une question à l’utilisateur, y répondre sans exécuter l’outil, ou envoyer une requête à un modèle différent. Voir Garder ou modifier un appel d’outil et Suivre un tour.
  • Exécuter votre propre code sur une commande : une /command qui exécute votre fonction immédiatement, sans tour Claude, même pendant que Claude travaille. Voir Ajouter une commande ou un outil.
  • Partager des données entre les hooks : les hooks d’un mod partagent les variables de son fichier, donc ce qu’un hook enregistre, un autre peut l’afficher. Par exemple, un hook peut compter les appels d’outils tandis qu’un autre affiche le compte à côté du spinner, ou l’un peut lire l’utilisation des tokens de chaque requête tandis qu’un autre la représente graphiquement dans un volet. Voir Réagir aux événements.
Les mods fonctionnent dans le CLI Claude Code et dans l’onglet Code de l’application Claude Desktop. Voir Où les mods s’exécutent pour comprendre comment ils se comportent ailleurs, comme dans l’extension VS Code, claude -p, et les sessions cloud. Si un settings hook, une skill, ou un serveur MCP fait déjà ce dont vous avez besoin, comparez-les avant d’écrire un mod. Pour gérer les mods d’une organisation, voir Gérer les mods de votre organisation.

Obtenir un mod

Vous pouvez commencer avec un mod de trois façons :

Installer ou mettre à jour un mod

Un mod est du code qui s’exécute avec vos permissions. Il peut lire et écrire vos fichiers, démarrer des processus et faire des requêtes réseau. Installez les mods uniquement à partir d’auteurs et de marketplaces en qui vous avez confiance. Voir Décider si vous faites confiance à un mod.
Un mod s’installe en tant que plugin, à partir d’une marketplace. Donnez le nom du plugin, un @, et le nom de la marketplace. Ces exemples installent un plugin nommé token-chart à partir d’une marketplace nommée your-org :
  • Dans une session Claude Code, exécutez /plugin install token-chart@your-org.
  • Dans votre shell, exécutez claude plugin install token-chart@your-org.
Installer les plugins couvre les marketplaces, les scopes, l’extension VS Code et l’application Desktop, et garder les plugins à jour, qui s’appliquent tous à un plugin contenant un mod sans modifications. Si vous installez ou mettez à jour un mod à partir de votre shell pendant qu’une session est ouverte, exécutez /reload-plugins dans cette session pour le charger. Sinon, il se charge la prochaine fois que vous démarrez Claude Code.

Décider si vous faites confiance à un mod

Un mod est du code qui s’exécute avec vos permissions, à l’intérieur de Claude Code. Installez les mods uniquement à partir d’auteurs et de marketplaces en qui vous avez confiance.

Ce qu’un mod peut atteindre

Un mod s’exécute avec vos permissions, donc avant d’en installer un, sachez ce à quoi il a accès. Une fois qu’il se charge, un mod peut :
  • Agir sur votre machine en tant que vous : lire et écrire des fichiers n’importe où où votre compte utilisateur peut, démarrer des programmes et faire des requêtes réseau
  • Lire vos secrets : les variables d’environnement et les fichiers de paramètres, y compris une clé API que vous gardez dans l’un ou l’autre
  • Voir votre session : chaque invite que vous envoyez et chaque appel d’outil que Claude fait
  • Modifier votre session : réécrire une invite ou un appel d’outil, soumettre une invite comme si vous l’aviez tapée, ou envoyer un message à une autre de vos sessions
  • Agir sans vous demander : approuver un appel d’outil avant que vous ne soyez invité
  • Dépenser votre utilisation : appeler un modèle sur votre plan ou clé API
Un mod qui approuve les appels d’outils peut approuver un appel qu’une règle ask demanderait, ou qu’un de vos propres hooks PreToolUse a bloqué. Étendre les permissions avec les hooks énumère ce qu’un tel mod peut approuver, y compris quand il peut approuver un appel qu’une règle deny refuse. Un mod peut remodeler une grande partie de l’interface de Claude Code, mais pas l’invite de permission. Il ne peut pas modifier ce qu’une invite vous montre.

Énumérer ce qu’un mod fait avant de l’installer

Avant d’installer un mod, vous pouvez énumérer les événements sur lesquels il se branche et ce qu’il demande à Claude Code de faire, comme lire un fichier ou faire une requête réseau, sans l’exécuter. Obtenez d’abord les fichiers du plugin, par exemple en clonant son référentiel. Ensuite, dans votre shell, exécutez claude plugin validate sur le répertoire du plugin :
Les lignes hooks: et calls: dans la sortie énumèrent les événements que le mod gère et ce qu’il demande à Claude Code de faire. Examiner ce qu’un mod peut faire montre la sortie et les appels à rechercher.

Activer ou désactiver les mods

Les mods nécessitent Claude Code v2.1.287 ou version ultérieure, et ils sont activés par défaut. Dans votre shell, exécutez claude --version pour vérifier, et mettez à jour Claude Code si le vôtre est plus ancien. Pour désactiver les mods, choisissez combien en arrêter et pour combien de temps. Pour les réactiver, annulez le même changement :
  • Un mod : désactivez ou désinstallez son plugin à partir de l’onglet Installé dans /plugin
  • Chaque mod installé, pour une session : démarrez Claude Code avec --safe-mode, qui laisse également de côté vos autres personnalisations
  • Chaque mod que vous avez installé, dans chaque session : définissez "disableAllHooks": true dans ~/.claude/settings.json. Vos settings hooks et votre ligne d’état personnalisée s’arrêtent aussi. Ce que votre organisation gère continue de fonctionner.
Si vous utilisez Claude Code via une organisation, un administrateur peut également limiter les mods qui se chargent. Les administrateurs commencent à Empêcher les mods installés par l’utilisateur de se charger. Pour savoir si les mods peuvent se charger pour vous, voir Vérifier si les mods peuvent se charger.
Si vous avez défini CLAUDE_CODE_ENABLE_FUNCTION_HOOKS lors de l’accès anticipé, supprimez-le. Claude Code v2.1.287 et versions ultérieures l’ignorent, donc le définir à 0 ne garde pas les mods désactivés.

Voir quels mods une session a chargés

Pour voir quels mods une session de terminal a chargés, exécutez /plugin à l’invite Claude Code. Une ligne atténuée sous les onglets donne le compte et les noms, comme 1 mod active · first-mod. Si un mod que vous avez installé n’est pas nommé là, voir Découvrir pourquoi un mod ne fait rien.

Comment fonctionne un mod

Un mod est un plugin dont le code enregistre les gestionnaires d’événements, appelés hooks. Claude Code exécute un hook quand son événement se produit, comme quand Claude appelle un outil ou quand le spinner est dessiné. Un petit mod a trois fichiers :
Ceci est un register.js complet. Il compte les appels d’outils que Claude fait et affiche le compte à côté du spinner pendant que Claude travaille, comme dans Thinking · tool calls: 3….
hooks/register.js
Le fichier enregistre deux hooks, et les deux utilisent la variable calls en haut :
  • Le hook tool.call s’exécute chaque fois que Claude est sur le point d’utiliser un outil. Il ajoute un à calls, demande à Claude Code de redessiner l’interface, et laisse l’outil s’exécuter comme d’habitude.
  • Le hook ui.render s’exécute chaque fois que Claude Code dessine le spinner. Il garde le propre spinner de Claude Code et ajoute le compte après le mot.
Cet enregistrement montre le mod en action. Regardez la ligne du spinner au-dessus de la boîte d’invite : pendant que Claude énumère un répertoire et lit deux fichiers, il lit Thinking · tool calls: 1…, puis 2…, puis 3….

Ce qu’un hook peut faire avec un événement

Claude Code exécute votre hook avant d’agir sur l’événement, donc le hook décide ce qui se passe ensuite. Il a trois choix :
  • Observer : noter ce qui se passe et le laisser continuer inchangé, comme le fait le hook tool.call dans l’exemple
  • Réécrire : modifier l’événement avant qu’il ne continue, comme le fait le hook ui.render quand il ajoute le compte au spinner
  • Répondre : gérer l’événement lui-même, pour que le comportement habituel ne s’exécute pas, comme refuser une commande
Pour faire quoi que ce soit en dehors de son propre code, comme dessiner, ajouter une commande, appeler un modèle, lire un fichier, démarrer un processus ou faire une requête réseau, un hook appelle l’API des mods. Un hook n’a pas d’autre moyen de faire ces choses, c’est pourquoi Claude Code peut énumérer ce qu’un mod fait avant de l’installer. Pour le code derrière chaque choix, voir Réagir aux événements. Pour ce qu’un hook peut appeler, voir Utiliser l’API des mods.

Où les mods s’exécutent

Les hooks d’un mod s’exécutent dans chaque type de session qui charge le plugin. Le dessin est plus étroit : seul le terminal et l’application Desktop affichent les volets, les bandes et les lignes remplacées d’un mod. Ce tableau énumère chaque endroit où vous pourriez exécuter Claude Code : Un mod qui dessine peut vérifier dans quelle application il s’exécute et revenir à une ligne dans la transcription ou à la réponse textuelle d’une commande où rien ne dessine.

Contrôler les mods de votre organisation

Les administrateurs décident si les mods s’exécutent et lesquels, via les paramètres gérés. Gérer les mods de votre organisation couvre ce qui se passe par défaut, comment examiner un mod et comment appliquer une politique avec un mod de votre propre.

Comparer les mods, les settings hooks, les skills et les serveurs MCP

Les mods, les settings hooks, les skills et les serveurs MCP se chevauchent. Ce tableau montre ce que chacun est et quand le choisir. Chacun des autres a sa propre page : Hooks, Skills et MCP. Un plugin peut contenir les quatre, donc un mod peut être livré dans le même plugin qu’une skill et un serveur MCP.

Mods intégrés à Claude Code

Certaines fonctionnalités propres à Claude Code sont des mods. Pour voir ceux que votre session possède, exécutez /plugin à l’invite Claude Code et allez à l’onglet Installed, qui les répertorie sous Built-in. Vous ne pouvez pas mettre à jour ou désinstaller un mod intégré, et la dernière colonne du tableau indique comment désactiver chacun d’eux. La ligne mods active exclut les mods intégrés. Ce tableau répertorie chaque entrée par le nom que /plugin affiche : Les paramètres et les drapeaux qui arrêtent les mods installés, tels que disableAllHooks, --bare et --safe-mode, n’arrêtent pas les mods intégrés.

Lire le code source des mods intégrés

Le code source de quatre de ces mods est public dans le répertoire mods du référentiel Claude Code. Chacun est un plugin complet avec son module hooks et ses tests :
  • diff : le volet /diff, avec des boutons liés à des actions clavier et le défilement que le mod gère lui-même
  • agents-md : charge AGENTS.md comme instructions de projet, avec une option userConfig
  • sec-default : la protection décrite dans Know what happens by default, un modèle pour un mod qui applique la politique
  • telemetry : ajoute des méthodes que d’autres mods peuvent appeler, et expédie leurs types

Étapes suivantes