Claude Code Glossar

Hooks

Hooks sind benutzerdefinierte Befehle oder Endpunkte, die automatisch an bestimmten Punkten im Lebenszyklus von Claude Code ausgeführt werden.

Auch genannt: claude code hooks, PreToolUse, PostToolUse, hook events

Hooks sind benutzerdefinierte Shell-Befehle, HTTP-Endpunkte oder LLM-Prompts, die automatisch an bestimmten Punkten im Lebenszyklus von Claude Code ausgeführt werden. Der Hauptunterschied besteht darin, dass CLAUDE.md-Anweisungen kontextbezogen sind und ignoriert werden können, während Hooks Code sind, der unabhängig von Claudes Entscheidungen ausgeführt wird. Wenn eine Aktion zu einem festen Zeitpunkt erfolgen muss – vor jedem Commit, nach jeder Dateibearbeitung –, sollte sie als Hook implementiert werden.

Verifizierte Ereignisnamen sind: SessionStart, SessionEnd, Setup, UserPromptSubmit, UserPromptExpansion, Stop, StopFailure, PreToolUse, PostToolUse, PostToolUseFailure, PostToolBatch, PermissionRequest, PermissionDenied, PreCompact, PostCompact, Notification, SubagentStart, SubagentStop, InstructionsLoaded und FileChanged.

Die Konfiguration folgt einer dreistufigen Struktur: Wählen Sie ein Hook-Ereignis, fügen Sie eine matcher-Gruppe hinzu, um zu filtern, wann es ausgelöst wird (z. B. 'Bash'), und definieren Sie handlers. Handler können vom Typ command, http, mcp_tool, prompt oder agent sein. Verifizierte Konfigurationsspeicherorte sind ~/.claude/settings.json (global), .claude/settings.json (projektspezifisch), .claude/settings.local.json (projektspezifisch und gitignored), die hooks/hooks.json eines Plugins und die Frontmatter von Skills oder Agenten (begrenzt auf die aktive Dauer der Komponente).

Die Semantik des Exit-Codes ist entscheidend: Ein Exit-Code von 0 bedeutet Erfolg, wodurch Claude Code JSON-Ausgaben für nachfolgende Entscheidungen parsen kann. Ein Exit-Code von 2 zeigt einen blockierenden Fehler an, der den Tool-Aufruf verhindert und stderr an Claude anzeigt. Andere nicht-null Exit-Codes werden als nicht-blockierende Fehler behandelt.

Entscheidend ist, dass ein PreToolUse-Hook eine permissionDecision von deny zurückgeben kann, um die Ausführung eines Tool-Aufrufs zu verhindern. Dies bietet einen leistungsstarken Mechanismus zur Durchsetzung von Einschränkungen oder zur Validierung von Bedingungen, bevor Aktionen ausgeführt werden. Zur Verwaltung von Hooks kann der Skill Hooks Management natürliche Sprache in validierte Konfigurationen übersetzen, und der Skill Debug Hooks bietet einen Workflow zur Fehlerbehebung bei Problemen.

← Alle Glossarbegriffe