0 XP
0
G

Bereit, das wirklich zu üben?

Die komplette Lektion zum Lesen findest du unten, kostenlos für alle. Sieh sie als Landkarte. Ein kostenloses Konto bringt dich auf den geführten Weg: praktische Übungen, gespeicherter Fortschritt, und jede Lektion knüpft an die letzte an. Keine Kreditkarte nötig.

Als Nächstes: Hooks und Automatisierung

Mit E-Mail registrieren

Du hast bereits ein Konto? Anmelden

Hooks und Automatisierung

Verbinde SessionStart-Hooks, um Kontext automatisch zu laden. Verwende PreToolUse, um gefährliche Befehle zu blockieren. Führe Claude mit Cron und Genehmigungsschranken aus.

Hooks sind Befehle, die Claude Code bei bestimmten Lebenszyklusereignissen ausführt. Einmal in ~/.claude/settings.json konfigurieren; sie werden automatisch ausgelöst. Hooks erzwingen eine Disziplin, die du sonst vergessen würdest: STATE.md in jeder Sitzung laden, nach gestagten .env-Dateien vor dem Commit suchen. Die Einrichtung kostet 10 Minuten. Der Nutzen ist dauerhaft.

SessionStart wird ausgelöst, sobald eine Sitzung geöffnet wird; was immer es ausgibt, wird zum Kontext vor deiner ersten Nachricht:

{

"hooks": {

"SessionStart": [

{

"command": "cat ~/notes/STATE.md ~/notes/MEMORY.md 2>/dev/null || true"

}

]

}

}Das || true ist wichtig: Session-Start nicht unterbrechen, wenn Dateien fehlen. Halte Hooks unter 50 ms und führe beim Sitzungsstart keine Netzwerkaufrufe durch. Brauchst du frische API-Daten? Führe einen Cron aus, der eine lokale Datei schreibt; lade die Datei im Hook.

Vier weitere Hook-Ereignisse:

Stop: wird ausgelöst, wenn eine Sitzung endet. Verwende es für Erinnerungen: „Bevor du schließt: aktualisiere STATE.md.“

PreToolUse: wird ausgelöst, bevor Claude ein Tool aufruft. Deine Sicherheitsdurchsetzungsebene: blockiere gefährliche Befehle, protokolliere Aufrufe für Audit-Trails. Exit 0 erlaubt den Aufruf; Exit 2 blockiert ihn.

PostToolUse: wird ausgelöst, nachdem ein Tool zurückkehrt. Führe einen Linter nach einem Dateischreibvorgang aus, prüfe auf RLS-Richtlinien nach einer SQL-Migration.

UserPromptSubmit: wird ausgelöst, wenn du Enter drückst. Füge Kontext ein oder wende Prompt-Injection-Verteidigungen für externe Inhalte an.

Ein PreToolUse-Hook, der jeden Bash-Aufruf blockiert, der rm -rf enthält:

{

"hooks": {

"PreToolUse": [

{

"matcher": "Bash",

"command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -q 'rm -rf'; then echo 'BLOCKIERT: rm -rf nicht erlaubt' >&2; exit 2; fi"

}

]

}

}Das Feld matcher zielt auf ein bestimmtes Tool ab. Ohne es wird der Hook bei jedem Tool-Aufruf ausgelöst. Verwende Matcher, um Hooks schnell und zielgerichtet zu halten.

Wenn ein Hook nicht ausgelöst wird, überprüfe der Reihe nach:

Syntax: Gültiges JSON? Führe cat ~/.claude/settings.json | python3 -m json.tool aus.

Dateipfad: Teste den Hook-Befehl manuell in deinem Terminal.

Exit-Code: Fehlt || true?

Geschwindigkeit: Über 3 Sekunden? Verschiebe den langsamen Teil in einen Cron.

Zwei Stolperfallen in der Produktion. Setze ein explizites timeout-Feld für jeden Hook, damit das Verhalten vorhersehbar bleibt. Und Hooks laufen in einer abgespeckten Umgebung, nicht in deiner vollständigen Shell: Wenn ein Hook eine Umgebungsvariable benötigt (wie ein Slack-Token), quelle deine .env explizit im Hook-Befehl. Dies ist die häufigste Ursache für Hooks, die in deinem Terminal funktionieren, aber in Claude Code stillschweigend fehlschlagen.

Cron-gesteuerter Claude Code. Derselbe Agent kann über claude --headless nach einem Zeitplan ausgeführt werden: ein Morgenbriefing um 7 Uhr an Slack gepostet, Social-Media-Monitoring alle 4 Stunden, eine Bereitstellungs-Gesundheitsprüfung alle 30 Minuten.

Das kritische Muster: Genehmigungsschranken. Der Cron entwirft, du überprüfst, das System sendet. Ein autonomer Agent, der ausgehende Nachrichten ohne Überprüfung sendet, wird irgendwann etwas Falsches senden: falsche Vorlage, falsches Publikum, falscher Zeitpunkt. Die Architektur: Agent entdeckt und entwirft, Mensch überprüft und veröffentlicht. Implementierung: Der Agent schreibt Entwürfe in einen Slack-Kanal; nichts geht nach außen, bis ein Mensch es genehmigt. Dies skaliert auf Dutzende von Agenten, ohne dass einer von ihnen außer Kontrolle gerät.

Baue das Hook-System in Phasen auf:

Phase 1 (Woche 1-2), Lade-Hooks: SessionStart lädt STATE.md und MEMORY.md; Stop erinnert dich an das Update.

Phase 2 (Woche 3-4), Schutz-Hooks: PreToolUse blockiert unwiderrufliche Befehle (force-push auf main, DROP TABLE, rm -rf).

Phase 3 (Monat 2+), Audit-Hooks: PostToolUse prüft, was tatsächlich geschrieben wurde: SQL-Migrationen ohne RLS-Richtlinien, neue API-Routen ohne Ratenbegrenzung, Geheimnisse in geschriebenen Dateien.

PostToolUse ist für Audits stärker als PreToolUse, da es den tatsächlich geschriebenen Dateiinhalt, die Grundwahrheit, liest und nicht nur das, was Claude beabsichtigt hat. Baue Hooks um deine tatsächlichen Fehlerursachen herum: zwei Hooks, die echte Probleme lösen, sind besser als zehn theoretische.

SessionStart lädt Kontext, Stop erinnert, PreToolUse blockiert gefährliche Befehle (Exit 2), PostToolUse prüft, was geschrieben wurde, und Cron plus Genehmigungsschranken verwandeln Claude in ein geplantes System mit einem Menschen am Sendeknopf. Beginne mit einem Hook: cat ~/notes/STATE.md 2>/dev/null || true in SessionStart. Füge jeden Monat die nächste Phase hinzu.

Nightschool AI ist eine unabhängige Lernplattform und steht in keiner Verbindung zu Anthropic; sie wird von Anthropic weder unterstützt noch gesponsert. Claude ist eine Marke von Anthropic, PBC. Sie suchen die offizielle Claude Academy von Anthropic? Sie finden sie unter academy.claude.com.

Hooks und Automatisierung: Die Practitioner-Einrichtung | Nightschool AI