Table of Contents
Claude Code, l’assistant IA d’Anthropic, a récemment intégré le support des hooks, permettant ainsi un contrôle plus déterministe de son comportement lors de certaines actions. Cette innovation vise à garantir que des actions spécifiques se produisent toujours, au lieu de dépendre uniquement du modèle de langage pour choisir de les exécuter. Il est important de noter qu’Anthropic indique que l’exécution des hooks implique l’exécution de commandes shell avec les autorisations d’utilisateur complètes, sans confirmation préalable. L’utilisateur est donc responsable de la sécurité de ses hooks.
Présentation de Claude Code
Claude Code est un assistant de programmation développé par Anthropic, accessible via un terminal. Selon les informations fournies par Anthropic, cet assistant comprend votre base de code et facilite le processus de codage grâce à des commandes en langage naturel. L’outil s’intègre directement dans votre environnement de développement, améliorant ainsi le flux de travail sans nécessiter de serveurs supplémentaires ou de configurations complexes.
Fonctionnalités des Hooks
Récemment, Anthropic a annoncé que Claude Code prend désormais en charge les hooks. Ces derniers permettent de personnaliser et d’étendre le comportement de Claude Code en enregistrant des commandes shell, offrant ainsi un contrôle déterministe sur son fonctionnement. Les hooks sont des commandes définies par l’utilisateur qui s’exécutent à différents moments du cycle de vie de Claude Code.
Voici quelques exemples d’utilisation des hooks :
- Notifications : Personnalisez la manière dont vous êtes notifié lorsque Claude Code attend votre intervention.
- Formatage automatique : Appliquez des outils de formatage comme prettier ou gofmt après chaque modification de fichier.
- Journalisation : Suivez toutes les commandes exécutées pour des besoins de conformité ou de débogage.
- Retour d’information : Fournissez des retours automatisés lorsque le code produit par Claude ne respecte pas les conventions établies.
- Permissions personnalisées : Restreignez les modifications sur des fichiers sensibles ou en production.
Démarrage rapide avec les Hooks
Pour commencer rapidement, vous pouvez ajouter un hook qui enregistre les commandes shell exécutées par Claude Code. Voici les étapes à suivre :
Étape 1 : Ouvrir la configuration des hooks
Exécutez la commande slash /hooks
et sélectionnez l’événement hook PreToolUse. Ces hooks s’exécutent avant les appels d’outils, ce qui permet de les bloquer ou de fournir des retours.
Étape 2 : Ajouter un matcher
Sélectionnez + Add new matcher...
pour exécuter votre hook uniquement sur les appels à l’outil Bash. Tapez Bash
pour le matcher.
Étape 3 : Ajouter le hook
Ajoutez un nouveau hook en entrant la commande suivante :
jq -r '"\\(.tool_input.command) - \\(.tool_input.description // "No description")"' >> ~/.claude/bash-command-log.txt
Étape 4 : Sauvegarder votre configuration
Sélectionnez User settings
pour stocker le hook dans votre répertoire personnel. Cela permettra à ce hook de s’appliquer à tous vos projets.
Étape 5 : Vérifier votre hook
Récupérez la configuration avec /hooks
ou vérifiez le fichier ~/.claude/settings.json
.
Configuration des Hooks
Les hooks de Claude Code sont organisés et configurés dans plusieurs fichiers :
~/.claude/settings.json
– Paramètres de l’utilisateur.claude/settings.json
– Paramètres du projet.claude/settings.local.json
– Paramètres du projet local (non validés)- Paramètres de la politique gérée par l’entreprise
La structure des hooks se compose de matchers, chaque matcher pouvant avoir plusieurs hooks associés.