Qu'est-ce qu'un mod ?
Un mod est un plugin qui modifie l’apparence et le comportement de Claude Code. Il se compose de fonctions JavaScript ou TypeScript (les hooks) que Claude Code appelle à chaque événement : appel d’outil, envoi d’un prompt, dessin de l’écran, début et fin d’un tour, début et fin d’une session.
Ce qu’un hook fait d’un événement
Section intitulée « Ce qu’un hook fait d’un événement »Un hook reçoit l’événement et fait l’une de ces trois choses.
- Observer : il regarde l’événement et le laisse passer tel quel. Par exemple, il compte les appels d’outils.
- Réécrire : il modifie le contenu avant de le transmettre. Par exemple, il ajoute un nombre à côté du spinner.
- Répondre à la place : il traite l’événement lui-même et empêche le comportement d’origine. Par exemple, il refuse une commande dangereuse.
Un hook n’a qu’un seul moyen d’atteindre le monde extérieur : l’API des mods ($). Lecture de fichiers, exécution de processus, réseau et appels au modèle passent tous par $. C’est pourquoi claude plugin validate peut, avant l’installation, dresser la liste de ce que fait un mod.
Le plus petit mod possible
Section intitulée « Le plus petit mod possible »Trois fichiers suffisent.
first-mod/├── .claude-plugin/plugin.json ← manifeste└── hooks/ ├── hooks.json ← emplacement du module de hooks └── register.js ← code des hooks (.ts et .tsx fonctionnent aussi)let calls = 0
export function register(on) { // Juste avant chaque utilisation d'un outil par Claude on('tool.call', async ($, e, next) => { calls += 1 $.ui.invalidate('ui.render') return next(e) }) // À chaque dessin du spinner : on ajoute seulement le nombre au spinner d'origine on('ui.render', { component: 'Spinner' }, async ($, e, next) => { return next({ ...e, props: { ...e.props, suffix: ` · tool calls: ${calls}…` } }) })}En quoi est-ce différent des autres extensions ?
Section intitulée « En quoi est-ce différent des autres extensions ? »La différence essentielle tient au lieu d’exécution. Les hooks de configuration, les skills, MCP et la barre d’état réagissent à l’extérieur de Claude Code, tandis qu’un mod intervient à l’intérieur.
| mod | Hook de configuration | Skill | Serveur MCP | |
|---|---|---|---|---|
| Nature | Fonction dans le processus Claude Code | Commande shell, requête HTTP ou prompt exécuté lors d’un événement | Instructions SKILL.md lues par Claude |
Processus ou service externe qui fournit des outils |
| Ce qu’il peut modifier | Appels d’outils, prompts, commandes, tours, écran | Autoriser ou non la suite, arguments et résultats d’outils, contexte supplémentaire | Ce que Claude sait et sa façon de faire | Les outils que Claude peut utiliser |
| Dessin à l’écran | Oui | Non | Non | Non |
| Langage | JavaScript/TypeScript | Script + settings.json |
Markdown | N’importe lequel |
| Quand le choisir | Il vous faut un volet, un bandeau ou une commande dédiée, ou vous devez modifier des événements | Vous voulez seulement bloquer, autoriser ou journaliser avec un script existant | Vous collez sans cesse les mêmes consignes | Claude doit atteindre un système externe |
Un même plugin peut contenir les quatre. Si un hook de configuration ou un skill suffit, mieux vaut ne pas utiliser de mod, car c’est lui qui dispose des droits les plus étendus.
Où s’exécute-t-il ?
Section intitulée « Où s’exécute-t-il ? »Les mods sont activés par défaut dans le terminal à partir de la version 2.1.287 et dans l’application de bureau à partir de la version 2.1.286.
| Lieu d’exécution | Exécution des hooks | Affichage |
|---|---|---|
claude dans le terminal (y compris les terminaux intégrés aux éditeurs et JetBrains) |
Oui | Oui |
| Onglet Code de l’application de bureau | Oui | Oui (hors éléments propres au terminal) |
| Session WSL de l’application de bureau | Non | Non |
| Panneau de chat de l’extension VS Code | Oui | Non |
claude -p, Agent SDK |
Oui | Non |
| Remote Control (claude.ai, mobile) | Oui (dans la session de votre ordinateur) | Uniquement dans le terminal de votre ordinateur |
| Sessions cloud | Seulement si le plugin suit | Non |
Les mods déjà intégrés
Section intitulée « Les mods déjà intégrés »Certaines fonctions de Claude Code sont elles-mêmes des mods. Vous les trouverez sous Built-in dans l’onglet Installed de /plugin.
cc-plugin-diff: le volet/diffcc-plugin-agents-md: chargeAGENTS.mdcomme instructions du projetcc-plugin-sec-default: une protection qui empêche les mods utilisateur de toucher aux paramètres gérés par l’organisationcc-plugin-telemetry: envoi des données d’analysecc-plugin-plugin-authoring: le skill de création de mods (sans code)
Le code source de certains d’entre eux est public dans le dossier mods de anthropics/claude-code et constitue un bon modèle pour créer vos propres mods.
Guide communautaire non officiel, sans lien avec Anthropic ni approuvé par Anthropic. Claude et Claude Code sont des marques d’Anthropic.