Un hook est un petit script que Claude Code lance tout seul à un moment précis : avant une commande, après l'écriture d'un fichier, à la fin d'une réponse ou au démarrage d'une session. Il peut bloquer l'action et dire à l'agent pourquoi, et l'agent corrige. Une consigne écrite dans un prompt est suivie la plupart du temps ; un hook s'exécute à chaque fois. En marketing, il sert d'abord à faire respecter votre charte avant votre relecture.

Pourquoi une consigne ne suffit pas

Le 27 octobre, j'ai demandé à Claude l'infographie de l'article sur les 5 composantes d'un agent IA. Ma signature y figure toujours sous la même forme : un J et un M dessinés à la main, chacun avec son point doré. La règle était écrite dans mes notes de travail depuis septembre.

Claude a tapé « Jessy Martin » dans la bonne police. Le rendu imitait mon logo, sans les deux points dorés. Je l'ai repéré à l'œil, et dans l'heure, un hook vérifiait chaque infographie.

Une consigne en langage naturel reste une probabilité. Le modèle la suit souvent, d'autant mieux qu'elle est courte et proche de la tâche. Sur une longue session, avec des dizaines de fichiers ouverts, elle finit par passer au second plan. La documentation de Claude Code résume ce que les hooks apportent.

Un contrôle déterministe : certaines actions ont toujours lieu, sans dépendre du choix du modèle.

Claude Code, Automate actions with hooks (traduction)

Ce qu'est un hook dans Claude Code

Un hook est une commande, le plus souvent un petit script, que vous inscrivez dans un fichier de réglages de Claude Code. À chaque événement choisi, Claude Code la lance et lui transmet la description de l'action en cours : l'outil utilisé et le fichier ou la commande concernés.

Le script décide. S'il sort avec le code 2, l'action est bloquée et son message revient à Claude, qui en tient compte pour corriger. S'il ne signale rien, tout continue normalement.

Moment Événement Exemple en marketing
Avant une actionPreToolUseRefuser une commande qui efface du travail non sauvegardé
Après l'écriture d'un fichierPostToolUseVérifier les couleurs et les mots interdits d'un post ou d'un visuel
À la fin d'une réponseStopVérifier qu'un article a son illustration et sa place dans le sitemap
Au démarrage d'une sessionSessionStartRappeler le travail laissé en plan la veille
À l'envoi d'une demandeUserPromptSubmitAjouter au contexte la campagne en cours

Voici à quoi ressemble l'inscription d'un hook qui lance un contrôle de marque après chaque écriture de fichier.

JSON
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          { "type": "command", "command": "python3 outils/controle-marque.py" }
        ]
      }
    ]
  }
}

Pour les décisions qui demandent du jugement, Claude Code propose aussi des hooks qui confient la vérification à un modèle. Je les garde pour des cas rares : un contrôle écrit en code donne la même réponse à chaque passage.

4 hooks Claude Code qui tournent chez moi

1. La signature des infographies

Après chaque écriture d'une infographie, et avant chaque capture en image, il compare les tracés et les marges de ma signature à ceux du pied de page de mon site. Au moindre écart, Claude reçoit le constat et la capture est refusée. Le pied de page fait référence : si mon logo change, le contrôle suit sans retouche.

2. Le garde-fou des commandes destructrices

Le 12 octobre, une commande lancée par Claude a écrasé 80 fichiers que je n'avais pas encore enregistrés dans mon historique. Depuis, avant chaque commande, un hook refuse celles qui effacent du travail dans mes dossiers principaux. Elles restent possibles dans une copie de travail jetable, après une sauvegarde automatique.

3. La checklist de publication du blog

À la fin de chaque réponse, si un article a été touché, un hook vérifie que rien ne manque à sa publication : date de mise à jour, illustration, podcast, carte dans l'index du blog, sitemap et page d'accueil. S'il manque une pièce, Claude ne peut pas clore sa réponse et reçoit la liste de ce qui reste à faire.

4. Le travail laissé en plan

À la fin de chaque réponse, un dernier hook regarde si du travail attend depuis plus de 2 heures sans être enregistré, ou s'il n'a jamais été envoyé en ligne. Il m'avertit, et une notification s'affiche sur mon Mac si je ferme la session en laissant quelque chose derrière.

Ces hooks rendent certaines erreurs impossibles, quelle que soit la longueur de la session.

Le hook de contrôle de marque

En marketing, le premier hook à écrire vérifie votre charte. Dans le kit de l'atelier Le cerveau de marque, un script relance le contrôle à chaque écriture de fichier. Il repère les couleurs hors de votre palette et les mots de votre liste noire, jusqu'au champ de modèle resté vide, puis renvoie ses constats à Claude.

Contrôle de marque
controle-marque.py post.html
ligne 3 · couleur #1E5AA8 hors palette
ligne 5 · mot refusé « révolutionner »
ligne 6 · champ non rempli {{prenom}}
3 écarts. À corriger avant livraison.

Claude corrige, le script repasse, et la boucle tourne jusqu'à zéro écart. Vous ne relisez que des versions conformes, et votre relecture porte enfin sur le ton et le fond. La façon de ranger la charte elle-même est détaillée dans Charte de marque IA.

Infographie : la boucle de contrôle. 1, Claude écrit le post, la slide, la page ou le visuel. 2, le hook vérifie les couleurs hors palette, les mots refusés et les champs oubliés. En cas d'écart, le message revient à Claude, qui corrige. 3, si c'est conforme, vous relisez le ton et le fond.
La boucle de contrôle : ce qui se mesure est vérifié par le code avant votre relecture.

Un contrôle de marque à chaque écriture

L'atelier Le cerveau de marque : votre charte rangée en fichiers que Claude relit avant chaque production, et le hook qui vérifie chaque contenu avant vous.

Découvrir l'atelier

Des boucles qui tournent sans vous

Le hook de marque crée une première boucle, à l'échelle d'une tâche : écrire, vérifier, corriger, puis recommencer. Un hook de fin de réponse peut faire de même à l'échelle d'une réponse entière, en demandant à Claude de poursuivre tant qu'une condition n'est pas remplie. Claude Code plafonne ce mécanisme : après 8 blocages d'affilée sans nouvelle action, il reprend la main.

La deuxième boucle se joue dans le temps. Une tâche planifiée relance un agent à heure fixe, sans que vous ouvriez quoi que ce soit. C'est ainsi que tourne mon tri du courrier, 2 fois par jour ouvré : la routine est détaillée dans Une routine Claude trie ma boîte mail 2 fois par jour.

Écrire votre premier hook

  1. Choisissez une règle qui se mesure et qui ne doit jamais être enfreinte : une couleur, un mot interdit, un champ vide, un dossier à protéger.
  2. Décrivez-la à Claude Code en une phrase. Il écrit le script et l'inscrit dans les réglages, au niveau de votre compte ou d'un seul projet.
  3. Testez-le sur des fichiers volontairement fautifs. Pour la signature, j'ai fabriqué 3 copies, dont 2 fausses, avant de faire confiance au contrôle.
  4. Gardez pour votre relecture ce qui demande du jugement : le ton et l'angle d'un texte.

Un hook mal écrit peut aussi bloquer un travail légitime. Le test sur des copies fautives et conformes sert à vérifier qu'il arrête l'erreur et laisse passer le reste.

Questions fréquentes

Non. Décrivez la règle à Claude Code : il écrit le script et l'inscrit dans les réglages. Votre travail est de tester le hook sur des fichiers fautifs et conformes avant de lui faire confiance.
Une skill est une procédure que l'agent charge quand la tâche s'y prête. Un hook se déclenche tout seul, à un moment fixé, et peut bloquer l'action en cours.
Un hook écrit en script vérifie ce qui se mesure. Claude Code propose aussi des hooks qui confient la vérification à un modèle, pour les décisions de jugement. Pour le ton, je garde une relecture humaine, aidée par une skill de relecture.
Dans un fichier de réglages de Claude Code : celui de votre compte pour qu'ils s'appliquent à tous vos projets, ou celui d'un projet pour qu'ils ne valent que dans ce dossier.