Skip to content
Apothem
Exemples

Hook minimal

Exemple de hook Apothem minimal — déclencher une vérification à chaque écriture de fichier.

Cet exemple montre le plus petit hook Apothem possible : un hook PreToolUse qui se déclenche avant chaque appel de l'outil Write et journalise le chemin cible.

Script du hook

# src/apothem/hooks/log_writes.py
import json, sys

data = json.load(sys.stdin)
path = data.get("tool_input", {}).get("file_path", "unknown")
print(f"[apothem] Writing to: {path}", file=sys.stderr)
sys.exit(0)  # always exit 0; block with the deny envelope below

Enregistrement dans settings.json

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Write",
        "hooks": [
          {
            "type": "command",
            "command": "python src/apothem/hooks/log_writes.py"
          }
        ]
      }
    ]
  }
}

Tester le hook

Effectuez n'importe quelle écriture de fichier dans Claude Code et observez la sortie stderr dans le panneau de trace du hook.

Bloquer les écritures

Pour bloquer une écriture, imprimez l'enveloppe de refus sur stdout et terminez quand même avec le code 0, comme le font les hooks d'Apothem :

print(json.dumps({"hookSpecificOutput": {"hookEventName": "PreToolUse", "permissionDecision": "deny", "permissionDecisionReason": "blocked by log_writes"}}))
sys.exit(0)

On this page