bypassPermissions ist der Berechtigungsmodus von Claude Code, bei dem der Agent nie anhält, um nachzufragen: Bearbeitungen, Befehle, Netzwerkaufrufe und alles andere werden ausgeführt, sobald das Modell entscheidet, sie auszuführen. Die Empfehlung von Anthropic lautet, ihn nur in isolierten Wegwerfumgebungen zu verwenden. Diese Empfehlung bezieht sich darauf, was der Agent erreichen kann. Es gibt eine zweite Frage, die sie nicht abdeckt: wer ihm sagt, was er tun soll.
Für deinen eigenen Agenten in deiner eigenen Sandbox ist bypass eine Tempo-Einstellung. Für einen Agenten, an den andere Personen Anfragen senden können, ist bypass die Entscheidung, diesen Personen deine vollen lokalen Berechtigungen zu übertragen – ohne einen Menschen dazwischen. In diesem Beitrag geht es um diesen Unterschied.
Warum bypass verlockend ist
Prompts erzeugen Reibung. Bei einem langen Refactoring trainieren dich hundert „allow this edit?“-Fragen darauf, ungelesen auf Ja zu drücken. Schaltet man sie ab, fühlt sich der Agent wie ein Kollege statt wie ein Formular an. Viele nutzen bypass auf Repositories unter Versionskontrolle und argumentieren zu Recht, dass eine fehlerhafte Bearbeitung nur ein git checkout entfernt ist.
Diese Argumentation stimmt, solange drei Dinge zutreffen: Du hast die Anfrage verfasst, du schaust zu und nichts Unumkehrbares ist in Reichweite.
Was sich ändert, wenn jemand anderes anfragt
Die Anfrage stammt nicht von dir. Das „Räum mal die alten Branches auf“ eines Teamkollegen hat für ihn eine bestimmte Bedeutung. Für den Agenten bedeutet es git branch -D. Mit bypass hält dazwischen nichts inne.
Die Eingabe ist nicht vertrauenswürdig. Anfragen treffen mit Anhängen ein: einem Screenshot, einer Log-Datei, einem eingefügten Issue. Jeder davon kann Text enthalten, der sich wie eine Anweisung liest. Prompt-Injection über geteilte Eingaben ist ein realer Angriffsvektor, und bypass entfernt den einzigen Kontrollpunkt, der sie abfangen würde.
Du schaust nicht zu. Teilen gibt es genau deshalb, damit der Agent arbeitet, wenn du nicht da bist. Ein Prompt, den du in einer Sekunde beantwortet hättest, wird zu einer Aktion, die niemand gesehen hat.
Unumkehrbares ist in Reichweite. Das Pushen auf main, Löschen, Geld ausgeben, ein Credential auslesen. Auf deiner eigenen Maschine sind diese Dinge in einer normalen Sitzung selten, weshalb sich bypass sicher anfühlt. Doch es sind genau die Aktionen, die jemand anderes am ehesten versehentlich auslöst.
Die Grenze
Nutze bypass für Agenten, mit denen nur du sprichst, in Verzeichnissen, in denen nichts Unumkehrbares liegt. In dem Moment, in dem sich ein Agent mit einer zweiten Person in einem Raum befindet, lautet die Frage nicht mehr „Wie sehr vertraue ich dem Modell?“, sondern „Wie sehr vertraue ich jeder Person und jedem Anhang, der es erreichen kann?“.
Das Tempo beibehalten, ohne die Grenze zu überschreiten
Ein Raum ermöglicht es dir, den Großteil des Tempos beizubehalten – mit zwei Ergänzungen zusätzlich zum Modus.
Berechtigungen pro Person. Eine dauerhafte Freigabe ermöglicht es einer vertrauenswürdigen Person, Aktionen ohne Genehmigung pro Anfrage auszuführen. Der eigene Modus des Agenten kann für alltägliche Aufrufe permissiv bleiben. Siehe Berechtigungsmodi erklärt.
Vier Aktionen, die immer pausieren. Das Pushen auf einen geteilten Branch, Löschen, Geldausgeben und das Anfassen von Credentials stoppen für den Besitzer – selbst in bypass –, wenn die Anfrage von jemand anderem kam. Einhundert normale Bearbeitungen laufen ohne Prompt durch; das eine git push origin main wartet auf dich. Die Begründung findest du in vier Aktionen, bei denen ein Agent immer nachfragen sollte.
Eine praktische Empfehlung
- Agenten, die du teilst:
acceptEditsfür Repositories,planfür alles Explorative. Erteile den Personen Freigaben, denen du vertraust. - Agenten, die nur du in Wegwerf-Sandboxes nutzt: bypass ist völlig in Ordnung.
- Alles mit Produktions-Credentials im Arbeitsverzeichnis:
default, und ein separater Agent für die Teile, die sie nicht benötigen. - Teile niemals einen Agenten, dessen Arbeitsverzeichnis eine Schlüsseldatei enthält. Verschiebe den Schlüssel, nicht den Modus.
Häufig gestellte Fragen
Ändert ein Raum, was bypass innerhalb eines Laufs bedeutet? Nein. Innerhalb eines Laufs bedeutet bypass nach wie vor: keine runtime-Prompts. Der Raum regelt zusätzlich, wer einen Lauf starten darf und welche vier Aktionen unabhängig davon pausieren.
Wie sieht es mit den entsprechenden Einstellungen von Codex aus? Gleiches Muster, gleicher Ratschlag: permissiv für dich selbst in einer Sandbox, nicht für einen geteilten Agenten.
Ist ein Prompt bei jedem Push nicht nervig? Pushes auf geteilte Branches sind in einer normalen Sitzung selten. Wenn sie es nicht sind, ist das Arbeitsverzeichnis des Agenten wahrscheinlich zu weit gefasst.
Schnell für dich, vorsichtig für alle anderen. Genau dafür ist ein Raum da. Gib deinem Agenten einen.
Veröffentlicht am