Berechtigungskonfiguration

Konfigurieren Sie die Berechtigungsmodi von Claude Code, um zu steuern, welche Operationen eine manuelle Bestätigung erfordern

Aktualisiert 2026-10-08

Brauchen Sie einen API-Key? Registrieren →Endpunkte & Base-URLs →

Auf dieser Seite

Claude Code nutzt ein Berechtigungssystem, um zu steuern, welche Operationen eine Benutzerbestätigung erfordern. Eine sachgerechte Berechtigungskonfiguration gewährleistet sowohl Sicherheit als auch Entwicklungseffizienz.

Berechtigungsmodi

Modus Beschreibung Anwendungsfall
default Fordert bei der ersten Verwendung eines Tools um Berechtigung (manueller Modus) Tägliche Entwicklung, Balance zwischen Sicherheit und Effizienz
acceptEdits Genehmigt Dateibearbeitungen automatisch; andere Operationen erfordern weiterhin eine Bestätigung Aufgaben mit häufigen Dateiänderungen
plan Nur Analyse, keine Ausführung (Plan-Modus); wenn der Auto-Modus verfügbar ist, werden Shell-Befehle während der Planung vom Classifier geprüft Code erkunden und überprüfen, ohne dass Claude Änderungen vornimmt
auto Ein Classifier prüft die Aktionen, die eine Genehmigung erfordern; eindeutig unzulässige Aktionen werden blockiert, der Rest läuft ohne Rückfrage Tägliche Entwicklung mit weniger Unterbrechungen (Standard für interaktive Sitzungen seit Claude Code 2.1.283)
dontAsk Führt nur die Aktionen aus, die keine Genehmigung erfordern (wie das Lesen von Dateien im Arbeitsverzeichnis und nur lesende Befehle), und die von Allow-Regeln im Voraus genehmigten Aktionen; alles andere wird ohne Rückfrage verweigert CI/CD und andere unbeaufsichtigte Läufe
bypassPermissions Überspringt alle Berechtigungsabfragen Vollständig isolierte, vertrauenswürdige Umgebungen

Auto-Modus und QCode: auto funktioniert über QCode. Die Classifier-Anfragen werden von Claude Code selbst gesendet (Standardmodell claude-sonnet-5) und zählen zu Ihrem Verbrauch. Falls Sie einen englischen Hinweis sehen, der „your requests go through … which isn't compatible“ lautet, hält eine interaktive Sitzung die erste Aktion, die geprüft werden muss, zurück, bis Sie Enter drücken; setzen Sie CLAUDE_CODE_AUTO_MODE_SERVER=0, um ihn zu entfernen. Siehe Verfügbarkeit von Claude-Code-Funktionen.

Wechseln der Berechtigungsmodi

  • Drücken Sie Shift+Tab, um die Berechtigungsmodi durchzuschalten; von auto aus lautet die Reihenfolge auto → default → acceptEdits → plan
  • Um den Plan-Modus zu aktivieren, drücken Sie Shift+Tab zweimal vom manuellen Modus (default) aus, oder dreimal von auto
  • Wählen Sie beim Start einen aus: claude --permission-mode acceptEdits
  • Wählen Sie einen Modus direkt im Dialog aus

Standard-Berechtigungsmodus konfigurieren

Konfigurieren Sie dies in .claude/settings.json (Projekt) oder ~/.claude/settings.json (Benutzer):

{
  "permissions": {
    "defaultMode": "acceptEdits"
  }
}

Hinweis: "defaultMode": "auto" wirkt nur aus der benutzerbezogenen ~/.claude/settings.json oder den verwalteten Einstellungen Ihrer Organisation. In der .claude/settings.json des Projekts oder in .claude/settings.local.json wird er ignoriert, und die Sitzung nutzt den eingebauten Standard (nicht Ihre benutzerbezogene Einstellung). bypassPermissions wirkt aus den Projekteinstellungen ebenfalls nicht. Das Flag --permission-mode hat Vorrang vor den Einstellungsdateien.

Allow-Regeln: Befehle im Voraus genehmigen

Genehmigen Sie bestimmte Befehle im Voraus, um bei jeder Ausführung nicht erneut gefragt zu werden:

{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Bash(git status)",
      "Bash(git add:*)",
      "Bash(git diff:*)"
    ]
  }
}

Syntax der Allow-Regeln:

  • Bash(command) — exakte Übereinstimmung des Befehls
  • Bash(prefix:*) — stimmt mit Befehlen überein, die mit dem angegebenen Präfix beginnen
  • Read(file path) — Lesen einer bestimmten Datei erlauben
  • Write(file path) — Schreiben in eine bestimmte Datei erlauben

Deny-Regeln: Schutz vertraulicher Dateien

Verhindern Sie, dass Claude auf vertrauliche Dateien zugreift oder diese ändert:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Write(./.git/**)",
      "Bash(rm -rf:*)"
    ]
  }
}

Syntax der Deny-Regeln:

  • Pfadmuster unterstützen die Platzhalter * (eine Ebene) und ** (mehrere Ebenen)
  • Deny-Regeln haben eine höhere Priorität als Allow-Regeln

Allow und Deny gemeinsam verwenden

{
  "permissions": {
    "defaultMode": "acceptEdits",
    "allow": [
      "Bash(npm run *)",
      "Bash(git status)",
      "Bash(git diff)"
    ],
    "deny": [
      "Bash(git push:*)",
      "Bash(rm -rf:*)",
      "Read(./.env*)"
    ]
  }
}

Hierarchie der Konfigurationsdateien

Claude Code fasst Berechtigungskonfigurationen in der folgenden Prioritätsreihenfolge zusammen:

Priorität Speicherort Gültigkeitsbereich
Höchste .claude/settings.local.json (nicht in Git committet) Persönliche lokale Überschreibungen
Mittlere .claude/settings.json (in Git committet) Gemeinsame Team-Konfiguration
Niedrigste ~/.claude/settings.json Globale Benutzerkonfiguration

Tipps zur Team-Zusammenarbeit:

  • Teamweite Allow-/Deny-Regeln in .claude/settings.json einfügen und in Git committen
  • Persönliche Einstellungen in .claude/settings.local.json ablegen und in .gitignore aufnehmen

Bewährte Vorgehensweisen

1. Vertrauliche Zugangsdaten schützen

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./credentials/**)",
      "Read(./.ssh/**)"
    ]
  }
}

2. Konfiguration für Frontend-Projekte

{
  "permissions": {
    "defaultMode": "acceptEdits",
    "allow": [
      "Bash(npm run dev)",
      "Bash(npm run build)",
      "Bash(npm run test:*)",
      "Bash(npm run lint:*)"
    ]
  }
}

3. CI/CD-Automatisierung

Seit Claude Code 2.1.285 starten claude -p und das Agent SDK in Sitzungen, die keine Feature-Flags abrufen können, im Modus auto, wenn kein Berechtigungsmodus gesetzt ist. Wenn Sie sich mit ANTHROPIC_AUTH_TOKEN mit QCode verbinden, hat Claude Code kein Credential, um sie abzurufen (dasselbe gilt für CI-Container, die bei jedem Lauf neu starten), daher ist das der Standardfall für Ihre CI. Legen Sie den Modus in CI explizit fest. Wir empfehlen dontAsk mit einer Allow-Liste: Nur die Aktionen, die keine Genehmigung erfordern, und die gelisteten Tools werden ausgeführt, alles andere wird verweigert.

claude -p "Run the tests and fix failures" \
  --permission-mode dontAsk \
  --allowedTools "Read,Edit,Bash(npm test)"

Oder in den Projekteinstellungen:

{
  "permissions": {
    "defaultMode": "dontAsk",
    "allow": ["Read", "Edit", "Bash(npm test)"]
  }
}

⚠️ Warnung: Der bypassPermissions-Modus überspringt alle Sicherheitsprüfungen. Verwenden Sie ihn nur in vollständig isolierten, vertrauenswürdigen Umgebungen (etwa einem Wegwerf-Container).

Mit QCode starten

Ein API-Key für Claude Code, Codex und mehr – Abrechnung pro Token, Preise je Modell auf qcode.cc/models

Enterprise →