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 belowEnregistrement 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)