Accueil / Une installation structurée
Hooks et battement de coeur
Les événements du cycle de vie déclenchent des hooks selon trois cadences distinctes, SessionStart et SessionEnd forment la paire naturelle pour automatiser le protocole mémoire, et la consolidation nocturne reste une tâche planifiée du système d'exploitation à construire soi même, pas un mécanisme Claude Code documenté sous ce nom.
Un hook est une action automatique déclenchée par le harnais sur un événement précis du cycle de vie, jamais une préférence que le modèle choisit de suivre ou non. Le tableau des événements disponibles s'est étoffé depuis la mi-2026, la figure qui accompagne cette leçon en chiffre le compte exact et sa date de mesure plutôt que de le répéter ici.
Trois cadences, une paire naturelle pour la mémoire
Les événements de hook ne se déclenchent pas tous au même rythme. Certains tournent une seule fois par session, SessionStart et SessionEnd. D'autres tournent une fois par tour, comme UserPromptSubmit ou Stop. D'autres encore tournent à chaque appel d'outil à l'intérieur de la boucle d'agent, PreToolUse et PostToolUse. Pour le protocole mémoire décrit dans brancher la mémoire de fichiers sur git, SessionStart et SessionEnd forment exactement la paire recherchée : un hook SessionStart déclenche le pull avant la première lecture, un hook SessionEnd déclenche le commit et le push après la dernière réponse. Les hooks SessionEnd partagent un budget de 1,5 seconde à eux tous, un push vers un remote distant n'y tient pas : il faut un timeout explicite dans le hook, ce qui relève le budget partagé jusqu'à soixante secondes, et un fichier témoin écrit à la fin pour que la session suivante vérifie que le push a réussi plutôt que de le supposer.
{
"hooks": {
"SessionStart": [
{ "hooks": [{ "type": "command", "command": "cd ~/memoire && git pull", "timeout": 30 }] }
],
"SessionEnd": [
{ "hooks": [{ "type": "command", "command": "cd ~/memoire && git add notes-du-jour.md && git commit -m sync && git push && date > .dernier-sync-reussi", "timeout": 55 }] }
]
}
}
Deux détails de cet exemple comptent autant que le timeout. D'abord, l'ajout git cite les fichiers voulus plutôt qu'un git add -A qui engloberait tout le dossier sans filtre, ce qui respecterait la règle posée par la leçon précédente de grep un secret avant tout push. Ensuite, la sortie standard d'un hook SessionStart, comme celle de ce git pull, entre dans le contexte que Claude peut lire, contrairement à la plupart des autres événements : un dossier partagé mérite donc d'être surveillé avant de brancher ce genre de hook. La ligne de statut suit la même logique de déclenchement automatique : elle peut se rafraîchir seule à un intervalle réglé en secondes, et non en millisecondes comme un réglage plus ancien pourrait le laisser croire.
La consolidation nocturne reste hors du produit documenté
Une tâche planifiée du système d'exploitation, qui relance Claude en mode non interactif au milieu de la nuit pour consolider les notes de la journée, n'a pas d'équivalent documenté par Anthropic sous ce nom précis : ce que la documentation nomme des tâches planifiées tourne dans l'application de bureau, pas via une tâche Windows ou un cron pilotant l'outil en ligne de commande. Le geste reste donc à construire soi même, exactement comme le protocole de la leçon précédente, avec un garde fou anti boucle explicite : la tâche ne relance jamais une nouvelle session tant que la précédente n'a pas écrit son témoin de fin.
Ce qui a mesurablement changé depuis la mi-2026
Une journée avec le protocole mémoire branché sur les hooks
Un administrateur ajoute un hook SessionEnd qui exécute git push sur le dossier mémoire, relance Claude Code, travaille pendant une heure, puis ferme la session avec la commande de sortie normale. Le journal du hook indique une exécution réussie.
Écrivez en une phrase ce que cette situation établit, et en une phrase ce qu'elle n'établit pas.
Ce que cela établit : Ce résultat établit que le hook SessionEnd s'est déclenché et a exécuté la commande de push à la fermeture de cette session précise.
Ce que cela n’établit pas : Il n'établit pas que le même hook se déclenchera de la même façon sur une fermeture anormale de session, comme un plantage ou une coupure réseau en cours de push.
Les trois calibrages faux les plus courants
- Trop large Ce hook SessionEnd garantit désormais que chaque session, quelle que soit sa manière de se terminer, pousse ses notes vers le remote.
- Trop étroit Ce résultat ne prouve rien sur le hook, puisqu'un seul journal d'exécution réussie ne démontre jamais qu'un mécanisme automatique fonctionne.
- À côté Ce résultat montre que l'administrateur a travaillé sur le dossier mémoire pendant une heure avant de fermer sa session.
- Un hook est une action exécutée par le harnais sur un événement précis, jamais une préférence que le modèle décide de suivre ou non.
- Les événements de hook se répartissent en trois cadences, une fois par session, une fois par tour, et une fois par appel d'outil, et SessionStart avec SessionEnd forment la paire naturelle pour un protocole de mémoire.
- Le budget partagé de 1,5 seconde des hooks SessionEnd ne suffit pas à un git push distant : sans timeout explicite dans le hook et sans témoin de fin, le push peut être coupé sans que rien ne le signale.
- Le nombre d'événements de hook disponibles a grandi depuis la mi-2026, la liste précise se vérifie dans la documentation en vigueur, et l'intervalle de rafraîchissement automatique de la ligne de statut se règle en secondes, pas en millisecondes.
- Une consolidation nocturne relancée par une tâche planifiée du système d'exploitation reste une technique à construire soi même, elle n'a pas d'équivalent documenté par Anthropic sous ce nom.
Écrivez dans votre settings.json un hook SessionStart qui exécute un pull sur votre dossier mémoire, un hook SessionEnd qui commite et pousse, puis ouvrez et fermez une session de test pour confirmer que les deux commandes se sont bien exécutées.
Chaque affirmation datable de cette leçon renvoie ici au texte public qui la porte. Une source qui ne s’ouvre pas ne prouve rien.
- Anthropic, événements du cycle de vie et cadences des hooks consultée le 2026-09-02
- Anthropic, ligne de statut, intervalle de rafraîchissement automatique consultée le 2026-09-02
- Anthropic, compétences et tâches planifiées de l'application de bureau consultée le 2026-09-02