Erste Schritte mit Claude Code Hooks
Lernen Sie, wie Sie das Verhalten von Claude Code durch die Registrierung von Shell-Befehlen anpassen und erweitern können
Claude Code Hooks sind benutzerdefinierte Shell-Befehle, die zu verschiedenen Zeitpunkten im Lebenszyklus von Claude Code ausgeführt werden. Hooks bieten deterministische Kontrolle über das Verhalten von Claude Code und stellen sicher, dass bestimmte Aktionen immer ausgeführt werden, anstatt sich darauf zu verlassen, dass das LLM sie ausführt.
Für Referenzdokumentation zu Hooks siehe Hooks-Referenz.
Beispiel-Anwendungsfälle für Hooks umfassen:
- Benachrichtigungen: Passen Sie an, wie Sie benachrichtigt werden, wenn Claude Code auf Ihre Eingabe oder Berechtigung wartet, etwas auszuführen.
- Automatische Formatierung: Führen Sie
prettier
auf .ts-Dateien,gofmt
auf .go-Dateien usw. nach jeder Dateibearbeitung aus. - Protokollierung: Verfolgen und zählen Sie alle ausgeführten Befehle für Compliance oder Debugging.
- Feedback: Bieten Sie automatisiertes Feedback, wenn Claude Code Code produziert, der nicht Ihren Codebase-Konventionen folgt.
- Benutzerdefinierte Berechtigungen: Blockieren Sie Änderungen an Produktionsdateien oder sensiblen Verzeichnissen.
Indem Sie diese Regeln als Hooks anstatt als Prompt-Anweisungen kodieren, verwandeln Sie Vorschläge in App-Level-Code, der jedes Mal ausgeführt wird, wenn erwartet wird, dass er läuft.
Sie müssen die Sicherheitsimplikationen von Hooks berücksichtigen, wenn Sie sie hinzufügen, da Hooks automatisch während der Agent-Schleife mit den Anmeldedaten Ihrer aktuellen Umgebung ausgeführt werden. Zum Beispiel kann bösartiger Hook-Code Ihre Daten exfiltrieren. Überprüfen Sie immer Ihre Hook-Implementierung, bevor Sie sie registrieren.
Für vollständige Sicherheits-Best-Practices siehe Sicherheitsüberlegungen in der Hooks-Referenzdokumentation.
Hook-Events-Übersicht
Claude Code bietet mehrere Hook-Events, die zu verschiedenen Zeitpunkten im Workflow ausgeführt werden:
- PreToolUse: Läuft vor Tool-Aufrufen (kann sie blockieren)
- PostToolUse: Läuft nach Abschluss der Tool-Aufrufe
- Notification: Läuft, wenn Claude Code Benachrichtigungen sendet
- Stop: Läuft, wenn Claude Code die Antwort beendet
- SubagentStop: Läuft, wenn Subagent-Aufgaben abgeschlossen sind
Jedes Event erhält unterschiedliche Daten und kann Claudes Verhalten auf verschiedene Weise steuern.
Schnellstart
In diesem Schnellstart fügen Sie einen Hook hinzu, der die Shell-Befehle protokolliert, die Claude Code ausführt.
Voraussetzungen
Installieren Sie jq
für JSON-Verarbeitung in der Befehlszeile.
Schritt 1: Hooks-Konfiguration öffnen
Führen Sie den /hooks
Slash-Befehl aus und wählen Sie
das PreToolUse
Hook-Event.
PreToolUse
Hooks laufen vor Tool-Aufrufen und können sie blockieren, während sie
Claude Feedback darüber geben, was anders zu tun ist.
Schritt 2: Einen Matcher hinzufügen
Wählen Sie + Add new matcher…
, um Ihren Hook nur bei Bash-Tool-Aufrufen auszuführen.
Geben Sie Bash
für den Matcher ein.
Verwenden Sie einen leeren String ""
, um alle Tools zu matchen. Das *
-Zeichen ist kein gültiger Matcher allein.
Schritt 3: Den Hook hinzufügen
Wählen Sie + Add new hook…
und geben Sie diesen Befehl ein:
Schritt 4: Ihre Konfiguration speichern
Für den Speicherort wählen Sie User settings
, da Sie in Ihr Home-
Verzeichnis protokollieren. Dieser Hook wird dann auf alle Projekte angewendet, nicht nur auf Ihr aktuelles
Projekt.
Drücken Sie dann Esc, bis Sie zur REPL zurückkehren. Ihr Hook ist jetzt registriert!
Schritt 5: Ihren Hook überprüfen
Führen Sie /hooks
erneut aus oder überprüfen Sie ~/.claude/settings.json
, um Ihre Konfiguration zu sehen:
Schritt 6: Ihren Hook testen
Bitten Sie Claude, einen einfachen Befehl wie ls
auszuführen und überprüfen Sie Ihre Log-Datei:
Sie sollten Einträge wie diese sehen:
Weitere Beispiele
Für eine vollständige Beispielimplementierung siehe das bash command validator example in unserer öffentlichen Codebasis.
Code-Formatierungs-Hook
Automatische Formatierung von TypeScript-Dateien nach der Bearbeitung:
Benutzerdefinierter Benachrichtigungs-Hook
Desktop-Benachrichtigungen erhalten, wenn Claude Eingaben benötigt:
Dateischutz-Hook
Bearbeitungen sensibler Dateien blockieren:
Mehr erfahren
- Für Referenzdokumentation zu Hooks siehe Hooks-Referenz.
- Für umfassende Sicherheits-Best-Practices und Sicherheitsrichtlinien siehe Sicherheitsüberlegungen in der Hooks-Referenzdokumentation.
- Für Fehlerbehebungsschritte und Debugging-Techniken siehe Debugging in der Hooks-Referenzdokumentation.