--dangerously-skip-permissions startet Claude Code im Modus bypassPermissions, sodass Tool-Aufrufe laufen, ohne dich vorher zu fragen. Es ist der schnellste Weg, die Rückfragen loszuwerden, und zugleich der riskanteste. Die Dokumentation von Anthropic selbst sagt, du sollst es nur in isolierten Umgebungen wie Containern oder VMs nutzen. Meist brauchst du es nicht. Ein paar Allow-Regeln, der Auto-Modus oder eine Sandbox beseitigen die meisten Rückfragen und behalten die Leitplanken.
Dieser Beitrag erklärt, was das Flag überspringt, was nicht, wo es schiefgeht und welche sichereren Optionen es gibt. Am Ende zeigt er, wie AgentVera dasselbe Problem löst, wenn mehrere Agenten gleichzeitig laufen.
Was das Flag tatsächlich tut
Claude Code hat Berechtigungsmodi. Das Flag ist eine Abkürzung für einen davon:
claude --dangerously-skip-permissions
# same as
claude --permission-mode bypassPermissions
In diesem Modus bearbeitet Claude Dateien, führt Shell-Befehle aus und ruft Tools auf, ohne anzuhalten. Laut den Docs zu den Berechtigungsmodi stoppen es dennoch ein paar Dinge:
- Deny-Regeln. Eine Deny-Regel in deinen Einstellungen blockiert ein Tool in jedem Modus, auch im Bypass.
- Explizite Ask-Regeln. Hast du eine
ask-Regel geschrieben, fragt es weiterhin. - Fragen, die Claude dir stellt. Claude kann weiterhin pausieren, um dir eine Frage zu stellen.
- Das Entfernen kritischer Pfade.
rmoderrmdirauf dem Wurzelverzeichnis, Ordnern der obersten Ebene, deinem Home-Ordner oder dem Arbeitsverzeichnis und seinen Eltern fragt weiterhin nach.
Allow-Regeln haben im Bypass-Modus keine Wirkung, weil ohnehin alles erlaubt ist. Auch Schreibzugriffe auf geschützte Pfade wie .git und .claude sind erlaubt.
Ein paar weitere Details zählen in der Praxis:
- Bei der ersten interaktiven Nutzung zeigt Claude Code einen Warndialog. Wenn du ihn bestätigst, wird
skipDangerousModePermissionPrompt: truein~/.claude/settings.jsongeschrieben. - Bei einem nicht interaktiven Lauf (
claude -p) gibt es keinen Dialog. - Unter Linux und macOS verweigert das Flag den Start als root oder mit sudo. Innerhalb einer erkannten Sandbox entfällt die Prüfung.
- Aus einer Session, die nicht damit gestartet wurde, kannst du nicht in den Bypass wechseln.
--allow-dangerously-skip-permissionsnimmt den Modus in den Shift+Tab-Zyklus auf, ohne ihn einzuschalten. - Admins können den Modus für alle abschalten, mit
permissions.disableBypassPermissionsMode: "disable"in den verwalteten Einstellungen.
Die Risiken
Die Docs sagen es klar: Der Bypass-Modus „bietet keinen Schutz vor Prompt Injection oder unbeabsichtigten Aktionen“. Was das im Alltag heißt:
Prompt Injection
Claude liest Dateien, Webseiten, Issue-Texte und Tool-Ausgaben. Enthält etwas davon Anweisungen, könnte das Modell ihnen folgen. Bei aktiven Rückfragen siehst du das merkwürdige curl an einen unbekannten Host, bevor es läuft. Im Bypass-Modus erfährst du es hinterher.
Destruktive Befehle, die nicht auf der Liste kritischer Pfade stehen
Die Prüfung kritischer Pfade deckt rm auf deinem Home-Ordner oder dem Projektstamm ab. Sie deckt nicht git reset --hard, git clean -fd, eine gelöschte Datenbanktabelle, einen Force-Push oder eine Migration gegen die falsche Umgebung ab. All das läuft ohne Rückfrage.
Secrets und der Rest deines Rechners
Auf deinem Laptop läuft Claude als du. Es kann deine SSH-Schlüssel, Cloud-Zugangsdaten und .env-Dateien lesen und das Netzwerk erreichen. Ein Fehler oder eine eingeschleuste Anweisung hat dein ganzes Konto zur Verfügung.
Checkpoints decken nicht alles ab
Claude Code legt vor jedem Prompt einen Checkpoint an, und /rewind (oder zweimal Esc) stellt Code, Konversation oder beides wieder her. Aber die Checkpoint-Docs sagen, dass Änderungen durch Bash-Befehle wie rm, mv und cp nicht erfasst werden, ebenso wenig Änderungen außerhalb der Session. Rewind ersetzt Git nicht.
Sicherere Wege, Berechtigungsabfragen zu reduzieren
Die meisten greifen zum Flag, weil die Rückfragen sie ausbremsen. Diese Optionen lösen das Problem der Rückfragen und behalten die Leitplanken.
1. Den passenden Berechtigungsmodus wählen
| Modus | Läuft ohne Rückfrage | Gut für |
|---|---|---|
default (Manual) | Nur Lesezugriffe | Unbekannter Code, sensible Repos |
acceptEdits | Lesen, Dateibearbeitungen, gängige Dateibefehle wie mkdir, mv, cp | Alltägliches Coden, bei dem du den Diff prüfst |
plan | Nur Lesezugriffe, keine Quellcode-Änderungen | Erkunden und Planen vor einer Änderung |
auto | Alles, wobei ein Klassifikator jede Aktion vorher prüft | Lange Aufgaben, bei denen du der Richtung vertraust |
dontAsk | Nur vorab freigegebene Tools; alles andere wird abgelehnt | CI und Skripte |
bypassPermissions | Alles außer den oben genannten Fällen | Nur isolierte Container und VMs |
Shift+Tab wechselt in einer Session durch die Modi. --permission-mode wählt einen beim Start, und permissions.defaultMode in den Einstellungen legt deinen Standard fest.
Der Auto-Modus ist der Mittelweg, den die meisten wollen. Ein Klassifikator-Modell prüft jede Aktion, bevor sie läuft. Es blockiert Aktionen, die über deine Anfrage hinausgehen, Infrastruktur ansteuern, die es nicht kennt, oder von feindlichen Inhalten getrieben wirken. Blockiert es dreimal hintereinander oder insgesamt 20-mal, pausiert der Auto-Modus und die normalen Rückfragen kehren zurück. Zwei Einschränkungen gelten: Er braucht ein unterstütztes Modell, und die Docs sagen, er „reduziert Rückfragen, garantiert aber keine Sicherheit“. Neuere Claude-Code-Versionen starten interaktive Sessions standardmäßig im Auto-Modus. Mit /permissions siehst du, in welchem Modus du bist.
2. Allow- und Deny-Regeln schreiben
Berechtigungsregeln liegen in settings.json und werden von Claude Code durchgesetzt, nicht vom Modell. Sie werden der Reihe nach geprüft: erst deny, dann ask, dann allow. Der erste Treffer gewinnt, also kann eine Allow-Regel nie eine Deny-Regel aushebeln.
{
"permissions": {
"allow": ["Bash(npm run test *)", "Bash(npm run lint)", "Bash(git diff *)"],
"ask": ["Bash(git commit *)"],
"deny": ["Bash(git push *)", "Read(./.env)"]
}
}
Mit /permissions siehst und bearbeitest du Regeln in einer Session. Erlaube die Befehle, die du fünfzigmal am Tag ausführst, etwa Tests, Lint und schreibgeschütztes Git. Verbiete die, die ein Agent nie ausführen soll. CLAUDE.md ist Orientierung für das Modell. Es ändert keine Berechtigungen.
Für Skripte ist dontAsk mit einer kurzen Allow-Liste strenger als der Bypass:
claude -p "run the test suite and fix failures" \
--permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" "Edit"
3. Die Bash-Sandbox einschalten
Die Sandbox-Docs beschreiben eine Sandbox auf Betriebssystemebene, die einschränkt, welche Dateien und Netzwerk-Domains Shell-Befehle erreichen. Schalte sie mit /sandbox oder sandbox.enabled: true ein. Sie läuft unter macOS, Linux und WSL2. Sie gilt nur für Shell-Befehle. Datei-Tools, MCP-Server und Hooks laufen außerhalb.
4. Wenn du Berechtigungen überspringst, isoliere zuerst
Manchmal ist der Bypass die richtige Wahl, etwa bei einem langen unbeaufsichtigten Lauf auf Wegwerf-Code. Dann folge dem Aufbau aus den Docs: ein Container, eine VM oder ein Dev-Container, ein Nicht-root-Benutzer, keine gemounteten Secrets und idealerweise kein Internetzugang. Die übliche unbeaufsichtigte Form ist:
claude -p "<task>" --dangerously-skip-permissions
Führe es im Container aus, nicht auf deinem Laptop.
5. In einem Worktree arbeiten und oft committen
Ein Git-Worktree gibt dem Agenten einen eigenen Ordner und Branch. Ruiniert er den Branch, löschst du den Worktree, und main hat nichts davon mitbekommen. Häufige Commits geben dir Wiederherstellungspunkte, die auch abdecken, was Bash verändert hat, was Checkpoints nicht können.
Eine kurze Entscheidungstabelle
| Situation | Was du nutzt |
|---|---|
| Du bestätigst ständig dieselben Test- und Lint-Befehle | Allow-Regeln |
| Du willst weniger Rückfragen, aber weiter eine Sicherheitsprüfung | Auto-Modus |
| CI-Job oder Skript mit bekanntem Satz an Tools | dontAsk plus --allowedTools |
| Shell-Befehle sollen weder das Netzwerk noch deinen Home-Ordner berühren | Bash-Sandbox |
| Langer unbeaufsichtigter Lauf auf Wegwerf-Code | Bypass in einem Container, als Nicht-root |
| Produktions-Zugangsdaten auf dem Rechner | Nie Bypass |
So geht AgentVera damit um
Wenn du mehrere Agenten laufen lässt, vervielfachen sich die Rückfragen. Fünf Agenten bedeuten fünf Stellen, die auf ein Ja warten können. AgentVera gibt dir dieselben Optionen pro Agent, dazu Wege, Rückfragen von überall zu beantworten.
Eine Berechtigungsstufe für jeden Agenten
Im Agent-Dialog und in der Modellauswahl gibt es ein Feld Permissions mit drei Optionen:
- Ask: Die CLI fragt wie gewohnt.
- Auto: der eigene Auto-Modus der CLI. Bearbeitungen und sichere Befehle laufen durch, riskante stoppen weiterhin. Bei Claude Code startet das den Agenten mit
--permission-mode auto. - Full access: fragt nie. Bei Claude Code ist das
--dangerously-skip-permissions. Der Hinweis der App sagt es deutlich: „Best in a worktree or container“.
Der Agent-Header zeigt ein Badge wie „Permissions: Auto“. Codex und andere CLIs bekommen ihre eigenen Entsprechungen. Das Ändern der Stufe startet den Agenten neu, und die Konversation geht weiter. Begrenzt eine Team-Richtlinie die Freigaben, fragen Agenten weiterhin.
Auto-approve safe requests (Pro und Team)
Die Auto-Freigabe ist ein Mittelweg für Claude Code Agenten. Ist Auto-approve safe requests an, beantwortet AgentVera nur die Anfragen, die Claude ohnehin gestellt hätte, und nur sichere:
- Lese-Tools wie Read, Glob, Grep und LS,
- schreibgeschützte Shell- und Git-Befehle,
- Test-, Lint-, Typecheck- und Build-Befehle für npm, pnpm, yarn, bun, pytest, cargo, go und mehr.
Befehle mit >, $() oder Backticks werden nie automatisch freigegeben. Deine eigenen Claude Allow- und Deny-Regeln gelten weiterhin. Also approve file edits inside the project ist standardmäßig aus. Eingeschaltet deckt es Bearbeitungen innerhalb des Projekts oder Worktrees ab und berührt nie .git oder .env. Die Liste Never auto-approve beginnt mit git push, npm publish, rm, git reset --hard und git clean, und du kannst eigene Einträge ergänzen. Recent auto-approvals zeigt, was in der aktuellen Session durchgelaufen ist.
Der Schalter ist standardmäßig an, wirkt aber nur mit Pro und Team. Im kostenlosen Plan kommen Anfragen weiter zu dir.
Rückfragen vom Schreibtisch, Handy oder Telegram beantworten
Die verbleibenden Rückfragen erreichen dich, wo immer du bist. Auf dem Desktop gibt es eine Freigabe-Warteschlange in der Statusleiste, ⇧⌘A springt zum Agenten, der am längsten wartet, und das Dock zeigt ein Badge. Lässt du eine Freigabe liegen, kommt nach fünf Minuten eine Erinnerung. Siehe Benachrichtigungen und Freigaben.
Abseits des Schreibtischs:
- Telegram sendet Freigabe-Anfragen mit den Buttons Approve und Deny.
- Die Handy-Ansicht unter app.agentvera.dev zeigt Freigaben mit Approve und Reject.
- Die Mobile App schickt dafür Push-Benachrichtigungen.
Da das Beantworten einer Rückfrage nur Sekunden dauert, hast du weniger Grund, zu Full access zu greifen.
Docker-Agenten für echte Isolation
Für Läufe, bei denen du Full access willst, starte den Agenten mit Run in a Docker container. Das funktioniert für lokale Claude Code und Codex Agenten und gilt in jedem Plan. Siehe Agenten in Docker.
- Der Container sieht nur den Projektordner, nicht deine SSH-Schlüssel oder den Rest deines Computers.
- Stoppt der Agent, wird der Container entfernt. Es bleiben nur Änderungen im Projektordner.
- Du kannst CPU- und Speicherlimits setzen.
- Hooks und MCP funktionieren weiter.
Er braucht Docker Desktop, Colima oder OrbStack. Das ist die isolierte Umgebung, die die Claude-Code-Docs verlangen, ohne dass du selbst ein Dockerfile schreibst.
Checkpoints für jeden Turn
Die Checkpoints von AgentVera sichern den Arbeitsordner zu Beginn jedes Turns in einer versteckten Git-Referenz und behalten die letzten 60 Turns pro Agent. Da sie den Ordner selbst sichern, erfassen sie auch Dateien, die ein Shell-Befehl verändert hat. Du siehst, welche Dateien ein Turn berührt hat, machst den Turn rückgängig und kannst das Rückgängigmachen wieder rückgängig machen. Deine Branches, der Index und der Stash bleiben unberührt.
Checkliste, bevor du Berechtigungen überspringst
- Könnten Allow-Regeln oder der Auto-Modus die Rückfragen stattdessen beseitigen?
- Läuft der Agent in einem Container oder einer VM, nicht auf deinem Hauptrechner?
- Läuft er als Nicht-root-Benutzer?
- Sind Secrets, SSH-Schlüssel und Produktions-Zugangsdaten außer Reichweite?
- Ist der Netzwerkzugang begrenzt oder aus?
- Liegt die Arbeit auf einem eigenen Branch oder Worktree, mit einem frischen Commit zum Zurückgehen?
- Decken Deny-Regeln
git pushund alles andere ab, was du nie willst?
Fazit
--dangerously-skip-permissions ist ein echtes Werkzeug mit engem Einsatzgebiet: Wegwerf-Umgebungen, die isoliert sind. Für die tägliche Arbeit beseitigen Allow- und Deny-Regeln, der Auto-Modus und die Sandbox die meisten Rückfragen und lassen dir die Kontrolle. Wenn du viele Agenten laufen lässt, gib jedem die Stufe, die er braucht. Lass sichere Anfragen von selbst durchlaufen, beantworte den Rest vom Handy und setze die Agenten, die Full access brauchen, in einen Container.
Mehr dazu:
- Auto-Freigabe
- Agenten in Docker
- Checkpoints und Replay
- Mehrere Claude Code Agenten ausführen
- Claude Code Agent
Um AgentVera auszuprobieren, beginne auf der Startseite.