Claude Code Stop Hook: Tests vor „fertig“ prüfen

Ein kurzer Stop Hook prüft Tests oder Dateien, bevor Claude Code den Zug beendet.

Eine Antwort mit „fertig“ beweist nicht, dass Tests liefen oder das Build-Artefakt existiert. Ein Stop Hook kann vor dem Ende eine kurze lokale Prüfung ausführen. Er ersetzt weder CI noch eine vollständige Teststrategie.

Minimaler Hook

Legen Sie in .claude/settings.json ein Stop-Ereignis an, das ./scripts/check-before-stop.sh mit einem kurzen Timeout ausführt. Das Skript startet den fokussierten Test und prüft zum Beispiel dist/app.js.

Bei Erfolg beendet sich das Skript mit 0. Bei einem Fehler schreibt es genau eine konkrete Ursache nach stderr und endet mit 2. In Claude Code blockiert nur Exit-Code 2 den Stop und gibt den Grund an Claude zurück; 1 ist normalerweise nur ein nicht blockierender Hook-Fehler.

{ "hooks": { "Stop": [{ "hooks": [{ "type": "command", "command": "./scripts/check-before-stop.sh", "timeout": 30 }] }] } }
chmod +x scripts/check-before-stop.sh

Ein Stop Hook führt die kurze Prüfung am Turn-Ende aus. CLAUDE.md beschreibt Regeln, führt aber keine Kommandos aus. CI läuft unabhängig und bleibt die letzte Schranke.

npm test -- --runInBand >/dev/null 2>&1 || { echo "Stop blockiert: npm test" >&2; exit 2; } test -s dist/app.js || { echo "Stop blockiert: dist/app.js fehlt" >&2; exit 2; } exit 0

Vollständige Prüfung

  1. Verwenden Sie absichtlich einen falschen Dateipfad und prüfen Sie manuell Exit-Code 2.
  2. Starten Sie Claude Code mit einer kleinen Aufgabe. Der Hook muss den Stop blockieren und die kurze Ursache anzeigen.
  3. Korrigieren Sie Test oder Pfad und wiederholen Sie die Aufgabe. Exit-Code 0 muss den Stop erlauben.
  4. Wenn stop_hook_active bereits wahr ist, fügen Sie keinen blinden Retry hinzu. Beheben Sie die genannte Prüfung oder stoppen Sie die Sitzung und reparieren Sie den Hook.

Geben Sie keine API Keys, .env-Inhalte oder vollständige Testlogs aus. Für einen separaten API-Ablauf nutzen Sie die BetterToken-Anleitung für Claude Code.

Bereit, Ihren LLM-Workflow zu optimieren?

Verbinden Sie Modelle über eine API, verwalten Sie Schlüssel und behalten Sie KI-Kosten im Blick.