Berechtigungskonfiguration
Konfigurieren Sie die Berechtigungsmodi von Claude Code, um zu steuern, welche Operationen eine manuelle Bestätigung erfordern
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 SieCLAUDE_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+Tabzweimal 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.jsonoder den verwalteten Einstellungen Ihrer Organisation. In der.claude/settings.jsondes Projekts oder in.claude/settings.local.jsonwird er ignoriert, und die Sitzung nutzt den eingebauten Standard (nicht Ihre benutzerbezogene Einstellung).bypassPermissionswirkt aus den Projekteinstellungen ebenfalls nicht. Das Flag--permission-modehat 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 BefehlsBash(prefix:*)— stimmt mit Befehlen überein, die mit dem angegebenen Präfix beginnenRead(file path)— Lesen einer bestimmten Datei erlaubenWrite(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.jsoneinfügen und in Git committen - Persönliche Einstellungen in
.claude/settings.local.jsonablegen und in.gitignoreaufnehmen
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