Skip to content

Hooks ​

Sur cette page ​

Fichiers lus ​

Au démarrage, Marexcode lit dans cet ordre :

  1. <workspace>/.marex/hooks.json
  2. <workspace>/.claude/hooks.json

Les deux fichiers sont lus s'ils existent ; seul le type preToolUse est interprété. Les clés postToolUse et sessionStart sont ignorées.

Format ​

json
{
  "preToolUse": [
    "Bash:./scripts/check-command.sh",
    "Write:./scripts/check-write.sh"
  ]
}

Chaque entrée est Outil:commande. La commande est exécutée dans le workspace, avec un timeout de 5 secondes.

Exécution ​

Le script tourne juste avant l'outil visé, avec le répertoire du projet comme cwd. Sa sortie standard est capturée ; un échec est journalisé en avertissement mais n'interrompt pas le tour.

Limites actuelles ​

  • Les hooks sont informatifs : en l'état, un hook utilisateur ne peut pas bloquer un appel (seul un champ denied renvoyé en interne bloque, et le format hooks.json ne le produit pas).
  • Aucun hook de plugin n'est chargé — voir Plugins.
  • Les scripts sont exécutés avec vos droits : ne référencez que des scripts de confiance, versionnés dans le projet.

Voir Permissions pour les gardes réellement appliquées.