Hooks: Deterministische Automatisierung
Hooks sind Shell-Befehle, die Claude Code automatisch ausführt an definierten Punkten seines Lebenszyklus. Wo Berechtigungen entscheiden, ob eine Aktion erlaubt ist, lassen Hooks dich deterministische Logik darum herum ausführen — Formatierung, Validierung, Logging, Gates. So machst du Verhalten garantiert statt "bitte denk daran".
Wann du zu einem Hook greifst
- Auto-Formatierung / Linting nach jeder Dateibearbeitung (
PostToolUse). - Eine Aktion, die eine Regel verletzt, blockieren, bevor sie läuft (
PreToolUse). - Benachrichtigen oder loggen, wenn eine Session endet oder eine Aufgabe abgeschlossen wird (
Stop). - Kontext einschleusen beim Session-Start.
Wie sie funktionieren
Du registrierst Hooks in settings.json und ordnest ein Ereignis (und oft einen Tool-Matcher) zu. Wenn das Ereignis ausgelöst wird, führt Claude deinen Befehl aus und liest sein Ergebnis — ein Exit-Code ungleich null oder eine bestimmte Ausgabe kann die Aktion blockieren und eine Nachricht an Claude zurückspielen.
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": "npx prettier --write \"$CLAUDE_FILE_PATH\"" }
]
}
]
}
}
Der Hook erhält Kontext (z. B. den Dateipfad, den Tool-Namen) über Umgebung/stdin — die genaue Nutzlast, die je nach Ereignis variiert, findest du in der Dokumentation.
Das mentale Modell
Gute Praktiken
- Halte Hooks schnell und idempotent — sie laufen oft.
- Schlage bei echten Problemen laut Alarm, aber blockiere nicht bei kosmetischen Mängeln.
- Behandle die Hook-Ausgabe als Feedback an Claude — eine klare Nachricht hilft ihm, sich selbst zu korrigieren.
- Hooks laufen mit den Rechten deiner Shell — prüfe jeden Hook, den du nicht selbst geschrieben hast (Code von Dritten prüfen).
Zum Kopieren-und-Einfügen bereite Starter findest du in den Hooks- & settings.json-Rezepten.
Weiter
- settings.json · Berechtigungen
- Skills — Expertise vs. Automatisierung
- Autonome Läufe absichern