Garantien statt Hoffnung
Wissen
CLAUDE.md ist eine Bitte -- Hooks sind ein Versprechen
In den letzten Modulen hast du gelernt, wie du Claude Code mit CLAUDE.md und Skills steuerst. Aber hier liegt ein fundamentales Problem: CLAUDE.md ist eine Bitte, kein Befehl.
Claude liest deine CLAUDE.md und versucht, sich daran zu halten. Meistens klappt das gut. Aber wenn der Context voll wird, wenn die Aufgabe komplex ist oder wenn ein Subagent mit eigenem Kontext arbeitet -- dann kann Claude Regeln vergessen oder ignorieren. Das ist kein Bug, sondern ein Grundproblem von LLMs: Sie arbeiten probabilistisch, nicht deterministisch.
Hooks sind das Gegenteil. Ein Hook ist ein Shell-Script, ein HTTP-Call oder ein LLM-Prompt, der an einem bestimmten Punkt im Workflow garantiert ausgeführt wird -- unabhängig davon, was Claude gerade "denkt" oder wie voll der Context ist.
!Der entscheidende Unterschied
CLAUDE.md: "Bitte formatiere Code mit Prettier." -- Claude kann es vergessen.
Hook: PostToolUse auf Write/Edit führt prettier --write aus. -- Läuft IMMER.
Die Analogie: Verkehrsschild vs. Straßensperre
Stell dir eine Einbahnstraße vor:
- CLAUDE.md ist das Verkehrsschild "Einfahrt verboten". Die meisten Fahrer halten sich daran. Aber jemand, der abgelenkt ist oder das Schild nicht sieht, fährt trotzdem rein.
- Ein Hook ist die physische Straßensperre. Egal wie abgelenkt du bist -- du kommst nicht durch.
Beide haben ihren Platz: Verkehrsschilder reichen für 95% der Fälle. Aber wenn ein Fehler katastrophale Folgen hätte -- zum Beispiel ein git push --force auf main -- dann brauchst du eine Sperre.
Was Hooks können
Hooks greifen an 24 verschiedenen Events im Claude-Code-Lifecycle ein. Von der Session-Erstellung über jeden Tool-Aufruf bis zur Context-Komprimierung -- überall kannst du deterministisches Verhalten erzwingen.
Es gibt 4 Handler-Typen, die bestimmen, wie ein Hook reagiert:
| Handler | Beschreibung | Typischer Einsatz |
|---|---|---|
command | Shell-Script ausführen | Linting, Tests, Formatierung |
http | HTTP POST an einen Endpoint | Logging, Webhooks, CI/CD |
prompt | Einzel-Turn LLM-Evaluation | Code-Review, Validierung |
agent | Multi-Turn LLM mit Tools | Komplexe Prüfungen |
*Wann CLAUDE.md, wann Hook?
CLAUDE.md für Stil-Richtlinien, Konventionen, Wissen -- alles, wo "meistens richtig" reicht. Hooks für harte Regeln: Code-Qualität, Sicherheit, Tests -- alles, wo "immer" nötig ist.
Verstehen
Die Kombination aus CLAUDE.md und Hooks ist mächtig: CLAUDE.md gibt Claude die Intention und den Kontext, Hooks setzen die nicht-verhandelbaren Regeln durch. Zusammen entsteht ein System, in dem Claude kreativ arbeiten kann, aber innerhalb fester Leitplanken.
Das ist wie ein Fußballspiel: Die Taktik-Anweisungen des Trainers (CLAUDE.md) geben die Richtung vor, aber die Seitenlinien (Hooks) sorgen dafür, dass der Ball im Spiel bleibt -- ohne dass der Schiedsrichter jedes Mal eingreifen muss.
Anwenden
In den nächsten Abschnitten lernst du die einzelnen Hook-Events kennen, verstehst die vier Handler-Typen im Detail und bekommst fertige Praxis-Rezepte, die du direkt in deine Projekte übernehmen kannst.
Frage dich schon jetzt: Welche Regeln in deinem Projekt sind so wichtig, dass "meistens" nicht reicht?