Claude Code --dangerously-skip-permissions sicher nutzen

Was das Flag --dangerously-skip-permissions von Claude Code überspringt, was weiter stoppt, welche Risiken es gibt und wie du Rückfragen sicherer reduzierst.

Solviera Teknoloji 10 Min. Lesezeit

--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. rm oder rmdir auf 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: true in ~/.claude/settings.json geschrieben.
  • 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-permissions nimmt 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

ModusLäuft ohne RückfrageGut für
default (Manual)Nur LesezugriffeUnbekannter Code, sensible Repos
acceptEditsLesen, Dateibearbeitungen, gängige Dateibefehle wie mkdir, mv, cpAlltägliches Coden, bei dem du den Diff prüfst
planNur Lesezugriffe, keine Quellcode-ÄnderungenErkunden und Planen vor einer Änderung
autoAlles, wobei ein Klassifikator jede Aktion vorher prüftLange Aufgaben, bei denen du der Richtung vertraust
dontAskNur vorab freigegebene Tools; alles andere wird abgelehntCI und Skripte
bypassPermissionsAlles außer den oben genannten FällenNur 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

SituationWas du nutzt
Du bestätigst ständig dieselben Test- und Lint-BefehleAllow-Regeln
Du willst weniger Rückfragen, aber weiter eine SicherheitsprüfungAuto-Modus
CI-Job oder Skript mit bekanntem Satz an ToolsdontAsk plus --allowedTools
Shell-Befehle sollen weder das Netzwerk noch deinen Home-Ordner berührenBash-Sandbox
Langer unbeaufsichtigter Lauf auf Wegwerf-CodeBypass in einem Container, als Nicht-root
Produktions-Zugangsdaten auf dem RechnerNie 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 push und 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:

Um AgentVera auszuprobieren, beginne auf der Startseite.

Häufige Fragen

Was macht --dangerously-skip-permissions in Claude Code?

Es startet die Session im Modus bypassPermissions, genau wie --permission-mode bypassPermissions. Tool-Aufrufe laufen ohne Rückfrage, außer bei expliziten Ask-Regeln, Deny-Regeln, Fragen, die Claude dir stellt, und dem Entfernen kritischer Pfade wie deines Home-Ordners.

Ist --dangerously-skip-permissions sicher?

Nur in einer isolierten Umgebung. Die Anthropic-Dokumentation sagt, du sollst es in Containern, VMs oder Dev-Containern ohne Internetzugang nutzen, und hält fest, dass es keinen Schutz vor Prompt Injection oder unbeabsichtigten Aktionen bietet.

Warum weigert sich Claude Code, Berechtigungen als root zu überspringen?

Unter Linux und macOS verweigert das Flag aus Sicherheitsgründen den Start mit root- oder sudo-Rechten. Innerhalb einer erkannten Sandbox entfällt die Prüfung. Führe Claude Code als normaler Benutzer aus oder als Nicht-root-Benutzer in einem Container.

Was ist eine sicherere Alternative zum Überspringen der Berechtigungen?

Allow-Regeln in settings.json für Befehle, denen du vertraust, Deny-Regeln für alle, die du nie willst, der Auto-Modus mit seinem Sicherheits-Klassifikator und die Bash-Sandbox. Zusammen beseitigen sie die meisten Rückfragen, ohne die Kontrolle abzugeben.

Wie geht AgentVera mit Berechtigungen für Claude Code um?

Jeder Agent hat die Einstellung Permissions: Ask, Auto oder Full access. Mit Pro und Team beantwortet „Auto-approve safe requests“ schreibgeschützte und Test-Befehle für dich. Agenten können auch in einem Docker-Container laufen, und jeder Turn bekommt einen Checkpoint, den du rückgängig machen kannst.

Hol deine Agenten an einen Tisch.

Lade AgentVera kostenlos herunter; deine installierten CLIs sind sofort startklar.

Weitere Beiträge