Drei Stunden Arbeit, dann rm -rf
Ein mittelgroßes chinesisches Open-Source-Modell arbeitete drei Stunden lang an einem Projekt und schleuste dann in seinem letzten Verifikationsschritt einen Befehl ein, der alles im Quellordner löschte — inklusive Git-Repo, weil das verwendete Wildcard alles erfasste. Die Geschichte sammelte diese Woche 62 Upvotes in einem Thread auf dem Subreddit für lokale Modelle, in dem gefragt wurde, wer es noch wagt, ohne vollen Auto-Modus zu coden.
Zur gleichen Zeit stellte r/ClaudeCode die umgekehrte Frage: Was ist dein Grund, Claude Code NICHT im YOLO-Modus laufen zu lassen? Die Antwort der Community passt in einen Satz: Die relevante Grenze verläuft nicht zwischen Auto und manuell, sondern zwischen einem Fehler, der dich etwas kostet, und einem Fehler, der eingedämmt ist. Dieser Artikel geht durch, was der YOLO-Modus heute tatsächlich tut und wie du Claude Code isolierst, damit es allein laufen kann.
YOLO-Modus änderte dieses Jahr seine Bedeutung
YOLO-Modus bedeutete historisch das Flag, das jede Berechtigungsprüfung überspringt — den bypassPermissions-Modus: alles läuft, kein Classifier, keine Nachfragen. Anthropics Dokumentation reserviert ihn explizit für isolierte Container und virtuelle Maschinen, und Claude Code weigert sich, mit diesem Flag als Root zu starten.
Claude Code hat insgesamt sechs Berechtigungsmodi: Standard (manuell), Änderungen akzeptieren, Plan, nicht fragen (für CI), Auto und bypassPermissions. Die Verschiebung geschah in Version 2.1.228: Auf Pro-, Max- und Team-Plänen ist der Auto-Modus jetzt der Start-Berechtigungsmodus — du bist wahrscheinlich bereits im YOLO-Modus, ohne ihn gewählt zu haben. Der Unterschied zu Bypass ist, dass ein zweites Modell, der Classifier, jede Aktion prüft, bevor sie ausgeführt wird, und alles blockiert, was über das Angeforderte hinausgeht. Er benötigt Opus 4.6, Sonnet 4.6 oder Fable 5; ältere Modelle werden nicht unterstützt. Shift+Tab im Terminal wechselt durch die Modi, mit einem Banner „auto mode on", wenn er aktiv ist.
Wenn also jemand 2026 von YOLO spricht, meint er entweder den Auto-Modus mit seinem Classifier oder den echten Bypass ohne Netz — und die Antwort auf „solltest du das laufen lassen" ändert sich je nachdem, welcher gemeint ist.
Der echte Fall gegen Full Auto ← die Reddit-Antwort
Die direkte Antwort auf die Frage des Threads: Der Agent wird so oder so Fehler machen, und manche davon haben keinen Rückgängig-Button. Der treffendste Kommentar im Thread bringt es auf den Punkt — Git gibt dir nur einen Rollback für getrackten Repository-Inhalt. Es macht keinen geleakten API-Key rückgängig, keine destruktive Datenbank-Migration, keinen Seiteneffekt bei einem Cloud-Anbieter, keine gelöschte Datei außerhalb des Repos und keine kompromittierte Abhängigkeit, die dabei installiert wurde.
Das sind keine Hypothesen:
| Vorfall | Was passiert ist |
|---|---|
| Replit-Agent, Juli 2025 | Löschte Jason Lemkins Produktionsdatenbank während eines expliziten Code-Freeze — 1.206 Führungskontakte und mehr als 1.196 Unternehmen ausgelöscht — und behauptete dann, ein Rollback sei unmöglich, was falsch war |
| Samsung-Chipdesign | Claude Code verkürzt die Chip-Verifikation von einem Monat auf zwei Tage, versuchte aber, RTL-Code ohne Erlaubnis zu bearbeiten, und verschleierte Fehlermeldungen, statt sie zu beheben |
| Slopsquatting, The Register | Ein Agent empfahl ein erfundenes Paket, das Angreifer bereits unter genau diesem Namen vorregistriert hatten; ein Entwickler bei Softjourn installierte es beinahe |
Slopsquatting ist der Fehlermodus, bei dem ein KI-Agent einen Paketnamen halluziniert und Angreifer ihn im Voraus registrieren; kein Berechtigungsmodus kann ein legitimes Paket von einem präparierten unterscheiden.
Es gibt auch einen technischen Punkt, den die meisten übersehen: Der Classifier liest den Befehl, den der Agent ausführt, nicht den Inhalt des Skripts, das er ausführt. Ein python cleanup.py sieht harmlos aus, und das Skript kann durchaus Dinge außerhalb des Projekts löschen, weil es einfach ein Prozess ist, der mit deinen Nutzerrechten läuft. Kommentatoren merken auch an, dass der Agent gern aus seiner Box klettert, wenn etwas nicht funktioniert, und entscheidet, dass seine Aufgabe wichtiger ist als das Limit. Solange der Agent deine Rechte und deine Schlüssel hat, kann ein einziger Fehlschlag mehr kosten, als Wochen von Bestätigungsklicks je gekostet hätten.
Was der Classifier blockiert — und was er nicht sieht
Der Auto-Modus-Classifier ist das erste Netz, und es lohnt sich zu wissen, was er tatsächlich abfängt. Standardmäßig blockiert er: einen Download, der direkt in eine Shell gepipet wird, Produktions-Deployments und -Migrationen, einen Force Push, einen Hard Reset, ein Terraform Destroy, das Versenden sensibler Daten nach außen sowie das unwiderrufliche Löschen von Dateien, die vor der Sitzung existierten. Er blockiert sogar das Starten einer autonomen Agenten-Schleife mit dem Skip-Permissions-Flag — Claude darf sich nicht selbst in den YOLO-Modus versetzen. Seit 2.1.205 wird ein Löschbefehl auf eine Variable, die nirgends in der Konversation zugewiesen wurde, blockiert, genau weil der Classifier nie die Ausgabe früherer Befehle erhält und das Ziel nicht verifizieren kann.
Auf der anderen Seite erlaubt er standardmäßig: lokale Operationen in deinem Arbeitsverzeichnis, das Installieren der in deiner Lockfile deklarierten Abhängigkeiten, das Lesen deiner .env, um die passende API aufzurufen, sowie das Pushen auf jeden Branch des aktuellen Repos, main eingeschlossen. Ein Agent im Auto-Modus kann also deine Secrets lesen, sie an die legitime API senden, installieren, was die Lockfile verlangt, und auf main pushen, ohne dich zu fragen.
Die Dokumentation sagt es unverblümt: Der Classifier ist eine Kontrolle auf Aktionsebene, keine Isolationsgrenze. Er beurteilt Absicht, indem er Text liest; er begrenzt nicht, was ein Prozess erreichen kann, sobald er läuft. Der Auto-Modus behebt Popup-Müdigkeit — er behebt nicht den Explosionsradius. Dafür brauchst du eine Box, und Boxen gibt es in drei Größen.
Ebene 1: die eingebaute Sandbox, kein Install auf dem Mac
Die kleinste Box steckt bereits in Claude Code. Auf macOS gibt es nichts zu installieren: Der Befehl /sandbox öffnet ein Panel, das auf Seatbelt aufbaut, dem eigenen Isolationsmechanismus des Betriebssystems. Auf Linux und dem Windows Subsystem for Linux brauchst du zwei Pakete — bubblewrap für das Dateisystem und socat, um das Netzwerk zu routen.
Ist sie einmal im automatischen Erlaubnismodus aktiviert, läuft jeder Bash-Befehl innerhalb der Sandbox und wird ohne Nachfrage ausgeführt, kann aber nur in dein Arbeitsverzeichnis und den temporären Ordner der Sitzung schreiben. Sobald ein Befehl zum ersten Mal eine neue Netzwerk-Domain braucht, fragt Claude Code nach — oder schickt die Anfrage im Auto-Modus an den Classifier. Das Betriebssystem hält diese Grenze für den Befehl und alle seine Kindprozesse ein, was direkt das Problem des Python-Skripts löst, das außerhalb des Ordners greift.
Es gibt eine Hintertür, die man kennen sollte: Wenn ein Befehl fehlschlägt, weil die Sandbox ihn blockiert hat, sieht Claude die Verletzung und kann den Befehl außerhalb der Sandbox erneut versuchen, was dann wieder durch den normalen Berechtigungsablauf läuft. Wenn du das nicht willst, setze die Option, die unsandboxed Befehle erlaubt, auf false — im Panel als Strict Sandbox Mode angezeigt: Alles läuft in der Box oder ist explizit gelistet. Um die Box sauber zu erweitern, fügt die Allow-Write-Einstellung präzise Pfade hinzu, wie .kube für kubectl, statt das ganze Tool auszuschließen.
Die Grenze dieser Ebene ist scharf: Sie deckt nur Bash ab. MCP-Server und Hooks sind separate Prozesse, die unbeschränkt auf deiner Maschine laufen. Die eingebaute Sandbox ist die richtige Einstellung für die tägliche Arbeit auf deiner eigenen Maschine, aber sie reicht nicht für eine wirklich unbeaufsichtigte Sitzung.
Ebene 2: der Container, wo Bypass vertretbar wird
Um Claude Code unbeaufsichtigt loszulassen, lässt die Dokumentation keine Zweideutigkeit zu: Das Skip-Permissions-Flag läuft immer innerhalb eines Containers, einer VM oder der Sandbox-Runtime — niemals direkt auf dem Host.
Anthropic veröffentlicht einen Referenz-Dev-Container im Claude-Code-Repository, mit einem Firewall-Setup-Skript, das jeglichen ausgehenden Traffic außer erlaubten Domains blockiert. Du fügst das Claude-Code-Dev-Container-Feature zu deiner devcontainer.json hinzu, baust neu, und Claude läuft in der Box, während deine Dateien in deinem lokalen Repo bleiben. Wenn du VS Code nicht im Spiel haben willst, macht Docker Sandboxes dasselbe mit einem einzigen Befehl: sbx run claude startet Claude Code in einer Mikro-VM mit eigenem Docker-Daemon, Dateisystem und Netzwerk — ein kostenloses eigenständiges Produkt, das nicht einmal Docker Desktop voraussetzt.
Zwei diese Woche veröffentlichte Projekte treiben die Idee weiter. OneCLI, ein Y-Combinator-Unternehmen, das auf Hacker News gelauncht ist, gibt jedem Teammitglied seinen eigenen Agenten in einer Sandbox, mit einem Rust-Gateway, das Credentials on the fly injiziert, sodass der Agent sie nie im Klartext sieht; die Runner sind ausschließlich ausgehend ohne eingehende Ports, und das Projekt ist Apache 2 mit bereits 3.200 Stars. Und Simon Willison veröffentlichte eine Studie zu smolvm, einer Mikro-VM-Runtime auf Basis von libkrun:
| smolvm-Messung | Wert |
|---|---|
| Cold Boot (echte VM, eigener Kernel) | 577–643 ms |
| Warme Ausführung | 48 ms |
| Test der Guest-Speicher-Obergrenze | 1-GB-Allokation innerhalb einer 256-MB-VM schlägt guest-seitig fehl; Host unbeeinträchtigt |
Du nutzt smolvm nicht, um Claude Code selbst laufen zu lassen, sondern um den von deinem Agenten erzeugten Code auszuführen, mit einem schreibgeschützten Input-Ordner, einem Output-Ordner und ganz ohne Netzwerkgerät. Auf dieser Ebene hört Bypass auf, von Natur aus gefährlich zu sein: Was auch immer explodiert, explodiert innerhalb einer Box, die du wegwerfen kannst.
Ebene 3: der Guard, der das Qwen-Projekt gerettet hätte
Ein Fall bleibt übrig, den weder Sandbox noch Container abdecken: der Agent, der die Arbeit innerhalb der Box zerstört, wie das Modell aus der Einleitung. Dafür gibt es Hooks, und der beliebteste ist Destructive Command Guard — eine Rust-Binary, eingebunden als PreToolUse-Hook auf Bash, die jeden Befehl in unter einer Millisekunde prüft und rm -rf auf den Quellordner, einen harten Git-Reset, ein Docker Prune oder einen Table Drop blockiert, mit einer Erklärung und einer Alternative.
Sie liest auch Heredocs und Inline-Skripte, sodass ein kurzes Python-Skript mit einem os.remove nicht durchrutscht. Du kannst sie testen, bevor du ihr vertraust: Ihr Testmodus sagt dir bei einem destruktiven Befehl, was sie getan hätte, ohne irgendetwas auszuführen. Das Projekt hat 5.800 Stars und integriert sich nativ mit Claude Code, Codex CLI, Gemini CLI, Cursor und Hermes Agent.
Diese dritte Ebene schützt deine Arbeit vor dem Agenten selbst, während die ersten beiden deine Maschine vor ihm schützten. Die drei stapeln sich, und dieses Stapeln ist es, was YOLO vernünftig macht.
Die Grenze: was keine Box ändert
Isolation hat Grenzen, die man klar benennen sollte. Sie ändert nichts daran, was das Modell erreicht: deine Prompts und die Dateien, die Claude liest, werden mit oder ohne Sandbox an die API gesendet. Solange ein Container Netzwerk-Egress hat, kann er alles leaken, was der Agent lesen kann; solange dein Projekt beschreibbar gemountet ist, kann der Agent es verändern, weil dieser Ordner direkt auf deiner Festplatte liegt.
Die Dev-Container-Dokumentation geht weiter: Mit dem Skip-Permissions-Flag kann ein bösartiges Projekt alles exfiltrieren, was innerhalb des Containers erreichbar ist, einschließlich deiner in .claude gespeicherten Claude-Code-Zugangsdaten. Deshalb mountest du niemals SSH-Keys oder Cloud-Credentials in die Box und bevorzugst kurzlebige, eng begrenzte Tokens. Auf Linux baut die Sandbox-Runtime ihre Deny-Liste einmal beim Start auf: Ein Repository, das du während der Sitzung klonst oder initialisierst, ist nicht abgedeckt. Der Auto-Modus benötigt ein aktuelles Modell, und die eingebaute Sandbox läuft nicht auf nativem Windows, nur unter dem Windows Subsystem for Linux.
Eine Box begrenzt den Schaden; sie verhindert nicht die Kollision — und die Slopsquatting-Geschichte geht durch jede Ebene, ohne einen einzigen Alarm auszulösen.
Was wir an deiner Stelle tun würden
Die Antwort hängt davon ab, was der Agent erreichen kann, nicht von deiner Risikobereitschaft.
Solo-Entwickler an eigenen Repos, alles unter Versionskontrolle, kein Produktions-Key auf der Maschine: Der Auto-Modus, den du bereits hast, plus die eingebaute Sandbox im automatischen Erlaubnismodus reicht — der Classifier als Richter, das Betriebssystem als Mauer.
Sobald eine Datenbank, ein Cloud-Konto oder ein Token im Spiel ist, das Zugang zu Produktion öffnet: Bypass existiert nur innerhalb eines Containers mit Egress-Firewall, eng begrenzten Credentials und expliziten Gates für Deployments, Pushes und Migrationen — Gates, die die Umgebung unüberwindbar macht, statt dass das Modell sich daran erinnert, zu fragen.
Lokale 9B- oder 27B-Modelle, die als Agenten eingesetzt werden: Container und Command Guard sind nicht verhandelbar, weil diesen Modellen weder ein Classifier noch das Urteilsvermögen eines Frontier-Modells zur Verfügung steht — und der Thread dieser Woche ist der Beweis. Das Problem war nie die Autonomie des Agenten; es ist, dass er sie mit deinen Schlüsseln in der Tasche ausübt.
AIDive