Zum Inhalt springen
Kostenlos registrieren
Claude Code

Berechtigungen und Hooks in Claude Code konfigurieren

Verwende /permissions und settings.json, um Regeln für allow, ask und deny zu konfigurieren, und füge dann Claude-Code-Hooks hinzu, prüfe sie und behebe Fehler.

Direkte Antwort

Führe /permissions in Claude Code aus, um Berechtigungsregeln anzuzeigen und zu verwalten. Um sie dauerhaft zu speichern, füge allow, ask und deny in settings.json ein. Hooks verwenden dieselben Einstellungsdateien und führen Formatierung, Tests oder Sicherheitsprüfungen rund um Tool-Aufrufe aus. Die Berechtigungsreihenfolge lautet deny → ask → allow; eine Allow-Regel kann daher keine Deny-Regel überschreiben.

Diese Einstellungen steuern lokale Tools auf deinem Computer. BetterToken ändert nur Modell-API-Base-URL, API Key und Routing; es umgeht keine lokalen Berechtigungen und führt keine Hooks für dich aus.

Berechtigungen oder Hooks wählen

AnforderungVerwenden
Bestimmten Befehl ohne Nachfrage ausführenpermissions.allow
Vor jeder Operation nachfragenpermissions.ask
Sensible Dateizugriffe oder gefährliche Befehle blockierenpermissions.deny
Nach einer Dateiänderung formatieren oder testenPostToolUse-Hook
Aktion vor ihrer Ausführung prüfen oder blockierenPreToolUse-Hook
Dem Modell Team-Konventionen erklärenCLAUDE.md, keine Berechtigungsregel

Den richtigen Geltungsbereich wählen

DateiGeltungsbereichIns Repository einchecken?
~/.claude/settings.jsonAlle Projekte des aktuellen NutzersNein
.claude/settings.jsonAktuelles Projekt und TeamJa
.claude/settings.local.jsonAktuelles Projekt auf diesem RechnerNein

Minimale Berechtigungsregeln konfigurieren

Vorhandene Regeln mit /permissions prüfen

Führe in Claude Code Folgendes aus:

/permissions

Die UI zeigt Allow-, Ask- und Deny-Regeln mit ihren Quelldateien. Prüfe vorhandene Team- oder verwaltete Regeln, bevor du eine Nutzer- oder Projekteinstellung wählst.

Eng gefasste Regeln hinzufügen

Dieses Beispiel auf Projektebene erlaubt gängige Tests und Linting, fragt vor jedem git push nach und blockiert das Lesen von .env:

{
"permissions": {
"allow": [
"Bash(npm run lint *)",
"Bash(npm test *)"
],
"ask": [
"Bash(git push *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)"
]
}
}

Ersetze die Befehle durch Skripte, die in deinem Projekt existieren. Aktiviere bypassPermissions nicht nur, um Nachfragen zu entfernen; die offizielle Dokumentation beschränkt diesen Modus auf isolierte Container oder VMs.

In /permissions prüfen

Speichere die Datei und führe /permissions erneut aus. Bestätige, dass jede Regel unter der erwarteten Quelle erscheint, und löse dann je einen Allow-, Ask- und Deny-Fall aus, um das Verhalten zu prüfen.

Kopierbaren Formatierungs-Hook hinzufügen

Dieses Beispiel führt den Projekt-Formatter aus, nachdem Claude Code Edit oder Write verwendet:

{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npm run format"
}
]
}
]
}
}

Wenn die Datei bereits permissions enthält, führe hooks im selben JSON-Objekt der obersten Ebene zusammen. Erstelle keine eigenständige .claude/hooks.json. Führe zuerst npm run format manuell aus, um den Erfolg zu bestätigen.

Hook überprüfen

  1. Führe /hooks in Claude Code aus.
  2. Öffne PostToolUse und bestätige, dass Edit|Write und npm run format aufgeführt sind.
  3. Bitte Claude, eine Testdatei zu bearbeiten.
  4. Prüfe die Hook-Ausgabe und das Dateiformat und bestätige, dass der Hook einmal fehlerfrei ausgeführt wurde.

Claude Code lädt Einstellungsänderungen normalerweise automatisch neu. Falls nicht, beende die Sitzung und starte Claude Code neu.

Häufige Fehler

SymptomUrsacheLösung
Berechtigungsregeln greifen nieSie liegen in ~/.claude.json oder im falschen VerzeichnisVerschiebe sie nach ~/.claude/settings.json, .claude/settings.json oder .claude/settings.local.json
Eine erlaubte Aktion wird weiterhin blockiertSie entspricht einer Deny- oder verwalteten RegelPrüfe die Quellen in /permissions; Deny hat Vorrang vor Ask und Allow
Ein Hook wird nie ausgeführtEreignis oder Matcher passt nicht zum ToolPrüfe /hooks; PreToolUse läuft vor der Ausführung, PostToolUse nach Erfolg, und Matcher unterscheiden Groß- und Kleinschreibung
Der Hook läuft, aber der Befehl schlägt fehlFalsches Skript, Arbeitsverzeichnis oder AbhängigkeitFühre denselben Befehl zuerst manuell aus dem Projektverzeichnis aus
Nach Verbindung mit BetterToken bleiben NachfragenAPI-Provider und lokale Berechtigungen sind getrenntBehalte die BetterToken Base URL bei und konfiguriere enge Claude-Code-Berechtigungen separat
Du musst alle Hooks vorübergehend deaktivierenEin Hook kann die Fehleranalyse störenFüge "disableAllHooks": true hinzu und entferne es nach der Fehleranalyse oder setze es auf false

BetterToken-Grenzen

BetterToken übernimmt Modell-API-Zugriff, Modellrouting, Guthaben und Nutzung für Claude Code. Claude Code steuert weiterhin:

  • Lese- und Schreibzugriff auf Dateien
  • Bestätigungsverhalten für Bash
  • Wann Hooks laufen und welche Skripte sie ausführen
  • Sandbox, MCP und Projektregeln

Bei 401-, Base-URL- oder Modellzuordnungsfehlern lies die Claude-Code-Einrichtungsanleitung. Für Befehlsnachfragen und Automatisierung prüfe hier Berechtigungen und Hooks.

Verwandte Dokumentation

Referenzen