Claude Code Auto-Modus: der Klassifikator, die Tiers und jeder Schalter
Wie Claude Codes Auto-Berechtigungsmodus entscheidet: der shift+tab-Wechsel, der clientseitige und serverseitige Klassifikator mit seinem Sonnet-5-Standard, CLAUDE_CODE_AUTO_MODE_MODEL ab 2.1.302, die Tier-Reihenfolge, permissions-Regeln, verwaltete autoMode.environment-Listen und die 3-Block- und 20-Block-Circuit-Breaker — an Frames aus dem offiziellen Walkthrough.
Auto-Modus auf einen Blick
- Auto-Modus ist ein Berechtigungsmodus: Claude läuft ohne Routine-Prompts, und bevor Aktionen wie Shell-Befehle oder Netzwerk-Requests laufen, prüft ein Hintergrund-Klassifikator, ob sie zu deiner Anfrage passen.
- Wechseln mit shift+tab (auto steht am Ende des default → acceptEdits → plan-Zyklus), claude --permission-mode auto starten oder auf einem Bash-Prompt „Yes, and switch to auto mode“ antworten (2.1.247+). Seit 2.1.283 starten neue interaktive Sessions auf allen Plänen im Auto-Modus.
- Die Entscheidungen laufen der Reihe nach: zuerst deine allow/ask/deny-Regeln, dann werden Read-only-Aktionen und Arbeitsverzeichnis-Änderungen automatisch freigegeben, und alles Übrige geht an den Klassifikator — ein zweites Modell, standardmäßig Claude Sonnet 5.
- Klassifikator pinnen mit CLAUDE_CODE_AUTO_MODE_MODEL (2.1.302+) oder serverseitige gegen clientseitige Prüfung wählen mit CLAUDE_CODE_AUTO_MODE_SERVER; ein nicht verfügbarer Klassifikator-Modellname lässt Prüfungen scheitern, und Aktionen werden abgelehnt.
- Leitplanken: 3 aufeinanderfolgende oder 20 Klassifikator-Blockierungen insgesamt pausieren den Auto-Modus und reaktivieren die Prompts, deny-Regeln gelten weiter im Auto-Modus, und permissions.disableAutoMode entfernt den Modus ganz.
How auto mode works with Claude Code
KanalClaude5:42
Permission modes — Claude Code documentation
Dokucode.claude.com
Die Frames stammen aus Anthropics eigenem Auto-Mode-Walkthrough — nur Vollbild-Animierte-Karten; jedes Talking-Head-Segment wurde übersprungen. Fakten sind gegen die offizielle permission-modes-, permissions- und auto-mode-config-Doku abgeglichen, dazu den 2.1.302er-Changelog-Eintrag, der CLAUDE_CODE_AUTO_MODE_MODEL eingeführt hat.
Die Rechte an den Videoframes bleiben bei ihren Urhebern; sie sind hier als Schritt-für-Schritt-Dokumentation mit Quellenangabe und Deep-Links eingebettet.
Auto-Modus Schritt für Schritt aktivieren und konfigurieren
Schritt 1 — Auto-Modus einschalten
- 1
Sehen, was der Auto-Modus ersetzt
Im default-Modus heißt Routinearbeit Prompt um Prompt: ein npm run build fragt nach Bash-Freigabe, ein Docs-Fetch nach Netzwerk-Freigabe. Der Auto-Modus ersetzt diese Routine-Prompts durch einen Hintergrund-Klassifikator — bevor Aktionen wie Shell-Befehle und Netzwerk-Requests laufen, prüft ein zweites Modell, ob sie zu deiner Anfrage passen. Ask- und deny-Regeln gelten weiter; verschwindet nur der alltägliche Ja/Nein-Verkehr.

Die Prompt-Karten, die der Auto-Modus ersetzt: eine npm-run-build-Bash-Freigabe und eine Fetch-Freigabe, jeweils wartend auf eine Ja/Nein-Antwort. - 2
Modi mit shift+tab wechseln
shift+tab zirkuliert die Berechtigungsmodi während einer Session: von auto aus landet ein Druck auf default, und der Zyklus läuft default → acceptEdits → plan, mit optionalen Modi nach plan eingeschoben — bypassPermissions zuerst, auto zuletzt. Die Fußzeile nennt immer den aktiven Modus. Drei weitere Wege existieren: die Option „Yes, and switch to auto mode“ am Bash-Prompt (2.1.247+), das Flag claude --permission-mode auto (funktioniert mit -p) und permissions.defaultMode — das bei "auto" nur aus der nutzerbezogenen ~/.claude/settings.json, einer --settings-Datei oder verwalteten Einstellungen wirksam wird, nie aus der Projekt-.claude/settings.json.

Die Eingabe-Fußzeile mit dem aktiven Modus und dem shift+tab-Zyklus-Hinweis — auto steht am Ende des Zyklus. - 3
Den Standard kennen: Sessions starten im Auto-Modus
Seit Claude Code v2.1.283 starten neue interaktive Sessions auf allen Plänen im Auto-Modus (frühere Buildstufen gewährten ihn nur Pro/Max/Team; HIPAA-Konfigurationen fallen ab 2.1.285+ auf Manual zurück). Eine Auto-Session zeigt den Modus in ihrer Fußzeile und arbeitet — hier eine „Tidy up local branches“-Aufgabe auf Fable 5 — während der Klassifikator jede Aktion im Hintergrund prüft. /status listet einen Auto-mode-server-Eintrag, wenn die serverseitige Prüfung aktiv ist.

Eine Claude-Code-v2.1-Session im Auto-Modus: die Tidy-up-local-branches-Aufgabe auf Fable 5 mit der auto-mode-on-Fußzeile.
Schritt 2 — Wie der Klassifikator entscheidet
- 4
Die Entscheidungsreihenfolge lernen: Regeln, Tiers, Klassifikator
Jede Aktion geht denselben Weg. Deine Regeln antworten zuerst: deny blockiert, ask fragt, allow lässt durch. Read-only-Aktionen und Arbeitsverzeichnis-Änderungen werden ohne den Klassifikator automatisch freigegeben. Alles Übrige landet in der Tier-Aufteilung — read-only, In-Projekt-Schreibvorgänge, alles Übrige — wo Routineaktionen den Klassifikator überspringen und der Rest zum Klassifikator-Diamanten gelangt, der in Approve oder Deny endet.

Das Entscheidungsdiagramm: Deine deny/ask/allow-Regeln leiten Agent-Aktionen über Tier 1 read-only und Tier 2 In-Projekt-Schreibvorgänge, Tier 3 führt in Skip Classifier oder den Klassifikator-Diamanten. - 5
Sehen, was der Klassifikator wirklich liest
Der Klassifikator bekommt dein Transkript nicht. Requests werden um Tool-Ergebnisse beschnitten, sodass feindlicher Datei- oder Seiteninhalt ihn nicht direkt manipulieren kann — ankommen tun deine Anfrage plus die zu beurteilende Aktion. Im aufgezeichneten Beispiel kollabiert eine Rate-Limit-Frage auf zwei Zeilen: WebSearch("acme API rate limits") und WebFetch(docs.acme.com). Das ist die gesamte Oberfläche, die der Klassifikator bewertet.

Der Klassifikator-Sichtbarkeitsstreifen: die ganze Konversation reduziert auf die WebSearch- und WebFetch-Aufrufe, die der Klassifikator bewertet. - 6
Warum fast gleiche Befehle unterschiedliche Urteile bekommen
Der Klassifikator beurteilt die Aktion, nicht die Vibe. Im zweiten Streifen löscht git branch -d old-login einen lokalen Branch — Routine. Sein Zwilling, git push origin --delete old-login, löscht einen Branch auf dem Remote — genau die Art Aktion, die die Tier-Aufteilung dem Klassifikator überreicht, statt sie durchzuwinken. Rechne mit Klassifizierung bei allem, was die Maschine verlässt oder geteilten Zustand anfasst — auch wenn es nach derselben Aufräumarbeit klingt.

Die git-Zwillinge: Die lokale Branch-Löschung bleibt Routine, während git push origin --delete dem Klassifikator vorgelegt wird.
Schritt 3 — Regeln und das Klassifikator-Modell
- 7
Serverseitige oder clientseitige Prüfung wählen
Der Klassifikator läuft an einem von zwei Orten. Serverseitig: Claude Code bittet den Modellserver der Session, die Aktion als Teil seiner Anfrage zu prüfen — /status zeigt den Auto-mode-server-Eintrag. Clientseitig: Claude Code schickt eigene Klassifikator-Requests, genutzt wenn der Server kein Urteil gibt oder ein Proxy Review-Ergebnisse verwirft. Steuern mit CLAUDE_CODE_AUTO_MODE_SERVER=1 (Server) oder =0 (immer clientseitig); gibt der Server kein Urteil, lehnt Claude Code die Aktion ab, statt sie ungeprüft auszuführen.
- 8
Das Klassifikator-Modell pinnen (2.1.302+)
Der Klassifikator nutzt standardmäßig Claude Sonnet 5; eine Session, die bereits auf Sonnet 4.6 läuft, nimmt 4.6, und ANTHROPIC_DEFAULT_SONNET_MODEL wird respektiert. Ab 2.1.302 erzwingt CLAUDE_CODE_AUTO_MODE_MODEL einen bestimmten Klassifikator — zum Beispiel "env": undefined in ~/.claude/settings.json. Zwei Fehlermodi kennen: Ein nicht verfügbarer Modellname lässt Prüfungen scheitern und Aktionen werden abgelehnt, und ausgeschlossene oder nicht unterstützte Modelle (Opus 5, Sonnet 5.5, Opus 5.5) fallen still auf den Standard zurück. Debuggen mit claude --permission-mode auto --debug-file classifier-debug.log und Suche nach classifier_request_started.
- 9
Die Regeln schreiben, denen der Klassifikator folgt
Regeln antworten, bevor der Klassifikator überhaupt läuft — daher gehören harte Grenzen dorthin. Die aufgezeichnete managed-settings.json zeigt die Form: deny: ["Bash(curl *)", "Read(./.env")], ask: ["Bash(git push *)"], allow: ["Bash(python:*)"] — im Video kommentiert als übermäßig breit. Eine ask-Regel wie Bash(git clean *) fragt auch im Auto-Modus nach, und Read-only-Bash-Befehle können auf die Klassifikator-Prüfung warten, statt zu fragen. Ziehe allow-Regeln an; der Klassifikator ist ein Auffangnetz, keine Entschuldigung für Bash(*).

Der permissions-Block: curl- und .env-Lesevorgänge deny, git push ask, python allow — mit dem zu breiten allow als Warnmarke.
Schritt 4 — Verwaltete Konfiguration und Leitplanken
- 10
autoMode.environment für Teams konfigurieren
In verwalteten Einstellungen sagt autoMode.environment dem Klassifikator, was als vertrauter Kontext zählt: Die aufgezeichnete Karte listet "Source control: github.com/acme and all repos under it", "Trusted cloud buckets: s3://acme-builds" und "CI server: ci.acme.internal". Mit $defaults daneben erweitern deine Einträge die eingebaute Liste, statt sie zu ersetzen. Das ist die Admin-Antwort auf Klassifikator-Prompts, die auf deiner eigenen Infrastruktur zünden — benenne die Repos, Buckets und Dienste, die dein Team tatsächlich nutzt.

Die autoMode.environment-Karte: vertrautes Source Control auf github.com/acme, die s3://acme-builds-Buckets und der ci.acme.internal-CI-Server. - 11
allow, soft_deny und hard_deny schichten
Neben environment trägt die verwaltete Konfiguration drei Regellisten: "allow" ([$defaults, "Deploying to staging is allowed"]), "soft_deny" ([$defaults, "Running database migrations"]) und "hard_deny" ([$defaults, "Never touch production custo..."]). Allow-Muster stoppen die Freigaben Aktion für Aktion; soft denies routen mit ablehnender Tendenz in den Klassifikator; hard denies beenden die Frage. Die kompletten eingebauten Listen prüfst du jederzeit mit claude auto-mode defaults, das sie als JSON ausgibt.

Die geschichteten Listen: allow für Staging-Deploys, soft_deny für Datenbank-Migrationen, hard_deny für Produktionsdaten. - 12
Die Circuit-Breaker kennen
Der Auto-Modus pausiert sich selbst: 3 aufeinanderfolgende Klassifikator-Blockierungen oder 20 insgesamt kehren zum normalen Prompten zurück, und keine der beiden Zahlen ist konfigurierbar. Auch Worte wirken als Signale — „don't push“-artige Aussagen werden zu Blocksignalen, und ausgesprochene Freigaben können eine Blockierung aufheben, wenn sie die Aktion und ihre Einzelheiten benennen. Um den Modus ganz zu entfernen, setze permissions.disableAutoMode in den verwalteten Einstellungen auf "disable"; eine laufende Session verlässt den Auto-Modus und sagt es auch. Und denk dran: deny-Regeln gewinnen weiterhin im Auto-Modus.
Das Klassifikator-Modell im Detail
Der Klassifikator ist das am häufigsten falsch konfigurierte Teil, weil seine Defaults unsichtbar bleiben, bis etwas abgelehnt wird. Das folgende Verhalten ist über die permission-modes- und auto-mode-config-Seiten und das 2.1.302er-Changelog dokumentiert:
- 1Standardmodell: Claude Sonnet 5. Eine Session, die bereits auf Sonnet 4.6 läuft, nutzt stattdessen Sonnet 4.6, und ANTHROPIC_DEFAULT_SONNET_MODEL wird respektiert.
- 2Gepinnter Override: CLAUDE_CODE_AUTO_MODE_MODEL (2.1.302+) fährt den Klassifikator auf einer vollständigen Modell-ID — ein nicht verfügbarer Modellname lässt Prüfungen scheitern und Aktionen werden abgelehnt, setze also ein Modell, das dein Plan tatsächlich liefert.
- 3Stiller Fallback: Ausgeschlossene oder nicht unterstützte Klassifikator-Modelle (Opus 5, Sonnet 5.5, Opus 5.5) werfen keinen Fehler — stattdessen wird das Standard-Klassifikator-Modell genutzt.
- 4Zwei Laufzeitumgebungen: Serverseitige Prüfung fährt auf den Modell-Requests der Session mit (CLAUDE_CODE_AUTO_MODE_SERVER=1); clientseitige Requests sind der Fallback (=0), genutzt wenn der Server kein Urteil gibt oder ein Proxy Review-Ergebnisse verwirft.
- 5Keine ungeprüften Läufe: Liefert keiner der Wege ein Urteil, lehnt Claude Code die Aktion ab — der Auto-Modus führt niemals eine prüfpflichtige Aktion ohne Prüfung aus.
- 6Verifikation: claude --permission-mode auto --debug-file classifier-debug.log zeichnet classifier_request_started-Einträge auf, und /status zeigt, ob der Auto mode server aktiv ist.
Von hier kommen auch die „auto mode not available for this model“-Meldungen: Die Verfügbarkeit hängt von Plan, Organisation, Modell und Provider ab, und ein gepinnter Klassifikator-Modellname, den dein Provider nicht liefert, verwandelt jede Prüfung in eine Ablehnung. Korrigiere oder entferne die Variable — das Session-Modell selbst muss nicht wechseln.
