Hooks in Claude Code
Hooks lassen dich eigene Befehle automatisch an bestimmten Punkten im Claude-Code-Workflow ausführen – z. B. vor jedem Tool-Aufruf.
Was ein Hook ist
Ein Hook ist ein von dir definierter Shell-Befehl, den Claude Code automatisch an einem bestimmten Punkt im Ablauf ausführt – nicht optional vom Modell entschieden, sondern deterministisch vom System ausgelöst. Damit lassen sich Regeln durchsetzen, die nicht von der "Willkür" eines Modells abhängen sollen.
Wichtige Hook-Ereignisse
- PreToolUse: läuft, bevor ein Tool ausgeführt wird – kann die Ausführung sogar blockieren
- PostToolUse: läuft, nachdem ein Tool ausgeführt wurde
- UserPromptSubmit: läuft, wenn du eine Nachricht abschickst
- SessionStart / Stop: läuft beim Start bzw. Ende einer Session
Wofür man Hooks nutzt
- Guardrails: gefährliche Befehle (z. B.
rm -rf) vor der Ausführung automatisch blockieren - Automatisches Formatieren oder Linten nach jeder Datei-Änderung
- Logging und Benachrichtigungen bei bestimmten Aktionen
- Eigene Validierung, bevor ein Agent weitermachen darf
Konfiguration
Hooks werden in der settings.json von Claude Code konfiguriert – pro Projekt oder global – und sind damit unabhängig vom jeweiligen Prompt reproduzierbar, weil sie außerhalb des Modells laufen.
BEISPIEL
Ein PreToolUse-Hook prüft jeden Bash-Befehl auf das Muster 'rm -rf' und bricht die Ausführung mit einer Fehlermeldung ab, bevor der Befehl überhaupt läuft.
KURZ-QUIZ
Was unterscheidet einen Hook von einer normalen Anweisung im Prompt?
QUELLEN
- Claude Code Doku: Hooks (Referenz) ↗ code.claude.com
- Claude Code Doku: Get Started with Hooks ↗ code.claude.com