Guide · Tokens & Kosten
Claude Code Hooks: die Bremse für dein Wochenlimit
Zwei fertige Hooks, die Unteragenten sperren und Schleifen stoppen
- 36 %
- vom Wochenlimit in 32 Minuten weg, laut einem Nutzer auf Reddit
- 2 ×
- hat er den Stopp in Großbuchstaben geschrieben, beide Male ignoriert
- 1 Datei
- reicht für die Bremse: deine settings.json
Eine Regel ist eine Bitte, ein Hook ist ein Gesetz. Was in deiner CLAUDE.md steht, liest Claude als Hinweis. Steckt er mitten in einer Aufgabe, zählt die Aufgabe mehr. Ein Hook ist dagegen ein kleines Programm, das Claude Code vor jedem Werkzeugaufruf selbst startet. Sagt der Hook nein, wird das Werkzeug gar nicht erst aufgerufen, egal wie überzeugt Claude gerade ist.
REGEL GEGEN HOOK
Warum die CLAUDE.md nicht bremst
Zwei Stellen, an denen du Claude etwas vorgeben kannst
Regel in der CLAUDE.md
- Was ist es?: Text, den Claude liest
- Wann wirkt es?: wenn Claude sich daran erinnert
- Unter Zeitdruck?: verliert gegen die laufende Aufgabe
- Wer entscheidet?: Claude
Hook in der settings.json
- Was ist es?: Programm, das Claude Code ausführt
- Wann wirkt es?: vor jedem passenden Werkzeugaufruf
- Unter Zeitdruck?: greift genauso wie vorher
- Wer entscheidet?: dein Skript
PreToolUse ist der Moment vor dem Aufruf. Claude Code schickt deinem Skript den Namen des Werkzeugs und die geplante Eingabe. Gibt das Skript deny zurück, blockiert Claude Code den Aufruf und zeigt Claude den Grund. Gibt es nichts zurück, läuft alles normal weiter.
Für alle Projekte
~/.claude/settings.json gilt überall auf deinem Rechner. Dort gehören Bremsen hin, die du immer willst.
Für ein einzelnes Projekt
.claude/settings.json im Projektordner gilt nur dort und lässt sich mit dem Team teilen. .claude/settings.local.json bleibt nur bei dir.
BREMSE 1
Unteragenten sperren
Für Tage, an denen dein Limit knapp ist
Jeder Unteragent arbeitet in einem eigenen Kontext und liest dafür vieles neu ein. Wenn Claude für jede Kleinigkeit einen losschickt, läuft das Limit am schnellsten leer. Diese Bremse blockt das Werkzeug Agent komplett.
~/.claude/hooks/bremse.sh
#!/bin/bash
# Bremse 1: sperrt jeden Unteragenten, bevor er startet.
cat > /dev/null
cat <<'JSON'
{
"hookSpecificOutput": {
"hookEventName": "PreToolUse",
"permissionDecision": "deny",
"permissionDecisionReason": "Unteragenten sind gesperrt."
}
}
JSONWas Claude dann sieht
Statt den Unteragenten zu starten, bekommt er die Antwort „Unteragenten sind gesperrt." und macht die Aufgabe im Hauptgespräch selbst.
Wieder freigeben
Den Eintrag mit „matcher": „Agent" aus der settings.json löschen. Die Skriptdatei darf liegen bleiben.
BREMSE 2
Die Notbremse nach 150 Aufrufen
Gegen Schleifen, die weiterlaufen, während du weg bist
Das Skript zählt jeden Werkzeugaufruf pro Sitzung mit. Ab dem 151. sagt es nein, und Claude muss anhalten und zusammenfassen. Eine neue Sitzung fängt wieder bei null an.
~/.claude/hooks/notbremse.sh
#!/bin/bash
# Notbremse: stoppt eine Sitzung nach 150 Werkzeugaufrufen.
GRENZE=150
EIN=$(cat)
SID=$(echo "$EIN" | grep -o '"session_id"[^,}]*' \
| cut -d'"' -f4)
DATEI="${TMPDIR:-/tmp}/claude-bremse-${SID:-x}"
N=$(( $(cat "$DATEI" 2>/dev/null || echo 0) + 1 ))
echo "$N" > "$DATEI"
if [ "$N" -gt "$GRENZE" ]; then
cat <<JSON
{
"hookSpecificOutput": {
"hookEventName": "PreToolUse",
"permissionDecision": "deny",
"permissionDecisionReason": "Notbremse: $GRENZE Aufrufe erreicht."
}
}
JSON
fi
exit 0Die Grenze anpassen
Ändere die Zahl hinter GRENZE. 150 ist ein Startwert für normale Arbeit, keine Empfehlung von Anthropic. Wenn du öfter lange Umbauten machst, setz sie höher.
NÄCHSTER SCHRITT
Direkt umsetzen
Fünf Minuten, dann hat dein Limit eine Bremse
Skripte anlegen
Leg den Ordner ~/.claude/hooks an, speicher die beiden Skripte von Seite 3 und 4 darin und mach sie ausführbar mit: chmod +x ~/.claude/hooks/*.sh
In die settings.json eintragen
Füg diesen Block in ~/.claude/settings.json ein. Steht dort schon ein Abschnitt „hooks", häng die beiden Einträge unter PreToolUse an.
{
"hooks": {
"PreToolUse": [
{ "matcher": "Agent",
"hooks": [{ "type": "command", "command": "~/.claude/hooks/bremse.sh" }] },
{ "matcher": "*",
"hooks": [{ "type": "command", "command": "~/.claude/hooks/notbremse.sh" }] }
]
}
}Prüfen
Tipp in Claude Code /hooks. Dort siehst du unter PreToolUse beide Einträge. Oder lass dir das Ganze einrichten: Schick Claude Code dieses PDF und schreib „Richte mir diese zwei Hooks ein."
Die Skripte wurden mit Beispieleingaben getestet. Formate nach der Hooks-Referenz von Claude Code (code.claude.com/docs/en/hooks), abgerufen am 25. September 2026. Die 36 Prozent in 32 Minuten sind die Angabe eines Nutzers in r/ClaudeAI, keine eigene Messung.