Zum Hauptinhalt springen
Code Mode ändert, wie Claude seine Tools verwendet. Ohne Code Mode fordert Claude Tool-Aufrufe wie Bash, Read oder Edit direkt an und liest jedes Ergebnis, bevor es entscheidet, was als Nächstes zu tun ist. Mit Code Mode schreibt Claude ein Stück JavaScript, das die Tool-Aufrufe ausführt, und Claude Code führt diesen Code in Ihrer Sitzung aus.
Code Mode ist experimentell und standardmäßig ausgeschaltet. Die Funktion kann sich in jeder Version ändern oder entfernt werden. Um Feedback zu geben, führen Sie /feedback aus.

So funktioniert Code Mode

In einer Code-Mode-Sitzung beschreiben Sie Ihre Aufgabe weiterhin in einem Prompt, und Claude schreibt JavaScript, um sie auszuführen. Ein Stück Code kann Befehle parallel ausführen, ein Ergebnis im nächsten Aufruf verwenden und den Teil der Ausgabe zurückgeben, den Claude lesen muss. Wenn Sie Claude beispielsweise bitten, ein Limit für Wiederholungsversuche zu erhöhen, schreibt Claude möglicherweise diesen Code, um die Datei zu finden, sie zu bearbeiten und die Tests auszuführen. Die letzte Zeile gibt den Pfad der Datei und die Testausgabe an Claude zurück:
In der Konversation sehen Sie die Tool-Aufrufe, etwa den Diff der Bearbeitung, aber nicht den Code. Um den Code zu lesen, drücken Sie Ctrl+O, um den Transkript-Viewer zu öffnen. Jedes Stück Code erscheint dort als eingeklappte Code-Zeile mit einem Hinweis, wie Sie sie ausklappen.

Wann Sie Code Mode verwenden sollten

Probieren Sie Code Mode bei Aufgaben aus, die viele zusammenhängende Tool-Aufrufe erfordern, etwa:
  • Eine Änderung, die sich über viele Dateien wiederholt
  • Eine Suche, deren Ergebnisse gefiltert werden müssen, bevor Claude sie liest
  • Mehrere unabhängige Befehle, die gleichzeitig laufen können

Einschränkungen von Code Mode

Bevor Sie Code Mode einschalten, prüfen Sie, ob Sie diese Einschränkungen akzeptieren können:

Voraussetzungen

  • Version: Claude Code v2.1.323 oder neuer, auf einem der beiden Release-Kanäle. Eine ältere Version startet ohne Code Mode, mit oder ohne den Grund it isn't open to your account yet
  • Konto: ein Claude-Abonnement oder ein Console-Konto. Sie können Code Mode nicht über ein Gateway, Amazon Bedrock, Claude Platform on AWS, Google Clouds Agent Platform oder Microsoft Foundry verwenden
  • Organisation: Ihre Organisation verwendet weder die HIPAA-Konfiguration noch Zero Data Retention
  • Modell: Claude Opus 5.5, Sonnet 5.5, Haiku 5.5 oder Fable 5.2
  • Oberfläche: eine interaktive claude-Sitzung in einem Terminal. Code Mode funktioniert nicht mit -p, dem Agent SDK, dem VS Code-Panel, der Desktop-App oder Cloud-Sitzungen
  • Installation: der native Build von Claude Code
  • Windows: Git for Windows ist installiert
Sie können Code Mode außerdem nicht starten, wenn bestimmte Einstellungen aktiv sind, etwa ein API-Key-Helper, Agent-Teams, OpenTelemetry-Export oder DISABLE_TELEMETRY. Die jeweilige Lösung finden Sie unter Code Mode startet nicht.

Code Mode ausprobieren

Schalten Sie Code Mode ein, geben Sie Claude eine Aufgabe und sehen Sie sich den Code an, den Claude geschrieben hat.
1

Version prüfen

Führen Sie claude --version aus. Wenn die Version älter als v2.1.323 ist, führen Sie claude update aus. Wenn Sie auf dem Kanal stable sind und das Update v2.1.323 nicht erreicht, warten Sie, bis stable aufholt, oder wechseln Sie zu latest.
2

Claude Code mit eingeschaltetem Code Mode starten

Setzen Sie die Umgebungsvariable CLAUDE_CODE_EXPERIMENTAL_CODE_MODE auf 1. Um Code Mode auszuprobieren, setzen Sie sie in Ihrer Shell. Um Code Mode für jede neue Sitzung einzuschalten, setzen Sie sie in Ihren Benutzereinstellungen.
3

Bestätigen, dass Sie Code Mode verwenden möchten

Claude Code bittet Sie vor Ihrer ersten Code-Mode-Sitzung um Bestätigung. Wählen Sie Yes, turn on Code Mode. Claude Code startet neu und zeigt diese Zeile im oberen Bereich der Sitzung an:
Wenn Sie eine andere Zeile oder gar keine sehen, lesen Sie Code Mode startet nicht.
4

Claude eine Aufgabe mit vielen Tool-Aufrufen geben

Senden Sie in einem Projekt, das Sie kennen, einen Prompt wie diesen:
5

Den von Claude geschriebenen Code lesen

Drücken Sie Ctrl+O und klappen Sie eine Code-Zeile aus, um das JavaScript hinter den Tool-Aufrufen zu sehen. Drücken Sie erneut Ctrl+O, um zur Konversation zurückzukehren.
Um eine Code-Mode-Sitzung später fortzusetzen, lassen Sie CLAUDE_CODE_EXPERIMENTAL_CODE_MODE auf 1 gesetzt, wenn Sie claude --continue oder claude --resume ausführen. Bei ausgeschaltetem Code Mode verweigert Claude Code das Fortsetzen der Sitzung. Sitzungen, die Sie ohne Code Mode gestartet haben, werden ohne Code Mode fortgesetzt, auch wenn die Variable gesetzt ist.

Code Mode ausschalten

Entfernen Sie CLAUDE_CODE_EXPERIMENTAL_CODE_MODE aus Ihrer Shell und aus ~/.claude/settings.json und starten Sie dann eine neue Sitzung. Sie können die Variable auch beibehalten und ihren Wert an einer der beiden Stellen auf 0 ändern. Mit einer 0 an einer Stelle bleibt Code Mode ausgeschaltet, auch wenn Sie an der anderen 1 setzen.

Code Mode für Ihre Organisation blockieren

Fügen Sie CLAUDE_CODE_EXPERIMENTAL_CODE_MODE mit dem Wert 0 zu Ihren verwalteten Einstellungen hinzu, damit niemand in Ihrer Organisation Code Mode verwenden kann:
Benutzer, die sich in einer Code-Mode-Sitzung befinden, bleiben darin, bis sie Claude Code beenden oder neu starten. Danach starten Ihre Benutzer ohne Code Mode und können ihre Code-Mode-Sitzungen nicht fortsetzen, solange die 0 gesetzt ist. Sie können Code Mode für Ihre Benutzer nicht über verwaltete Einstellungen einschalten.

Berechtigungen und lang laufender Code

Ihr Berechtigungsmodus bestimmt, wie Claudes Code geprüft wird und ob Sie mit Claude sprechen können, während der Code läuft.

Berechtigungsprüfungen

Jeder Tool-Aufruf, den Claudes Code ausführt, durchläuft Ihre deny- und ask-Berechtigungsregeln sowie Ihre PreToolUse-Hooks. Sie müssen keine Regel und keinen Matcher für ein Tool wie Bash ändern. Über Regeln und Hooks hinaus prüft im Auto-Modus ein Klassifikator den Code, und in den Modi, die nachfragen, beantworten Sie Berechtigungsabfragen:
  • Auto-Modus: Der Klassifikator prüft jedes Stück Code, bevor es ausgeführt wird, nicht jeden einzelnen Tool-Aufruf. Er sieht keine zur Laufzeit berechneten Werte, etwa einen Pfad aus einer Suchausgabe. Behalten Sie daher Regeln oder Hooks für Aufrufe bei, die Sie kontrollieren müssen. Sie können weiterhin Abfragen erhalten, wenn neuer Code startet, während früherer Code läuft
  • Andere Berechtigungsmodi: Der Code startet ohne Prüfung, und Sie werden bei jedem Tool-Aufruf gefragt, bei dem Sie in diesem Modus gefragt würden
Um den Code selbst zu prüfen, schreiben Sie einen PreToolUse-Hook, der auf REPL passt, das Tool, das Claudes Code ausführt, und lesen Sie das JavaScript aus tool_input.code.
Bash-Regeln gleichen Befehlstext ab, sodass Claude einen abgelehnten Befehl in einer Form ausführen kann, auf die die Regel nicht passt, mit oder ohne Code Mode. Für Einschränkungen, die nicht vom Befehlstext abhängen, siehe Sandboxing.

Lang laufender Code

Während Code einen langen Build oder Test ausführt, wartet Claude entweder darauf oder lässt ihn im Hintergrund weiterlaufen:
  • Warten: Claude antwortet, nachdem der Code fertig ist, und der Code wird nach zehn Minuten beendet, einschließlich der Zeit, die Sie bei Berechtigungsabfragen verbringen
  • Hintergrund: Sie können weiter mit Claude sprechen, und der Code kann bis zu zwei Stunden laufen
Für Code im Hintergrund starten Sie Ihre Sitzung im Auto-Modus oder im bypassPermissions-Modus. Wenn Claude trotzdem wartet, prüfen Sie Ihren aktuellen Modus und wie Sie die Sitzung gestartet haben:
  • Sie haben in einen anderen Modus gewechselt: Drücken Sie Shift+Tab, bis Sie wieder in dem Modus sind, in dem Sie gestartet haben
  • Sie haben in einem anderen Modus gestartet oder die Sitzung aus der Liste von claude --resume ausgewählt: Wenn der Auto-Modus für Sie verfügbar ist, beenden Sie die Sitzung und führen Sie dann claude --continue --permission-mode auto mit eingeschaltetem Code Mode aus
  • Sie haben Tool-Namen an --tools übergeben: Starten Sie erneut im Auto-Modus ohne dieses Flag

Fehlerbehebung

Code Mode startet nicht

Code Mode (experimental) isn't available im oberen Bereich der Sitzung bedeutet, dass Claude Code ohne Code Mode gestartet ist. Der Grund folgt in derselben Zeile, und /status zeigt ihn ebenfalls an. Suchen Sie den Grund in dieser Tabelle, nehmen Sie die Änderung vor und starten Sie eine neue Sitzung. Bei einem Grund, der nicht aufgeführt ist, prüfen Sie die Voraussetzungen. Wenn Sie keine Zeile zu Code Mode sehen, führen Sie claude --version aus. Wenn Ihre Version älter als v2.1.323 ist, aktualisieren Sie. Prüfen Sie dann, ob CLAUDE_CODE_EXPERIMENTAL_CODE_MODE in Ihrer Shell oder Ihren Benutzereinstellungen auf 1 gesetzt ist, und entfernen Sie jede 0 daraus sowie aus jeder --settings-Datei.

Berechtigungsabfrage mit Countdown

Wenn Claude im Auto-Modus weiteren Code startet, während früherer Code noch läuft, verliert der frühere Code seine Prüfung durch den Klassifikator. Claude Code fragt Sie dann nach den verbleibenden Aufrufen des früheren Codes, die eine Prüfung benötigen würden. Wenn keine IDE verbunden ist, zeigt die Abfrage einen Countdown an:
Antworten Sie, bevor der Countdown abläuft. Andernfalls wird dieser Aufruf abgelehnt, und spätere Aufrufe, die einen Countdown anzeigen würden, werden ohne Abfrage abgelehnt. Um die Abfragen wieder zu sehen, senden Sie Claude eine Nachricht.

Tool-Aufruf durch einen Hook abgelehnt

Wenn Claude einen abgelehnten Tool-Aufruf meldet, fragen Sie nach dem Fehlertext. Diese Fehler bedeuten, dass ein PreToolUse-Hook keine Entscheidung geliefert hat, wodurch der Aufruf abgelehnt wird, auch wenn onFailure nicht gesetzt ist:
  • the hook failed: Bei einem Aufruf aus Claudes Code konnte Ihr Hook nicht starten, wurde beendet, endete mit 126, 127 oder einem Code über 128 oder gab einen HTTP-Fehler oder eine ungültige Ausgabe zurück. Beheben Sie den Fehler im Hook
  • the hook did not finish: Ihr Hook ist bei einem Aufruf aus Claudes Code in einen Timeout gelaufen, oder bei einem beliebigen anderen Tool-Aufruf, nachdem Claude in der Sitzung Code ausgeführt hat. Erhöhen Sie den timeout des Hooks
Damit Aufrufe ausgeführt werden, wenn ein command- oder http-Hook fehlschlägt oder in einen Timeout läuft, setzen Sie "onFailure": "continue" für diesen Hook. Wenn ein command-Hook mit einem gewöhnlichen Code wie 1 endet, wird der Aufruf ausgeführt, außer Sie setzen "onFailure": "block".

Code-Ausgabe durch einen Hook zurückgehalten

Wenn Claude den Blockierungsgrund eines Hooks meldet, wo Sie eine Ausgabe von Claudes Code erwartet haben, prüfen Sie Ihre UserPromptSubmit-Hooks. Wenn Code im Hintergrund laufen kann, werden command-, http- und mcp_tool-Hooks für dieses Ereignis auch bei Code-Ausgaben ausgeführt. Um die Ausgabe durchzulassen, ändern Sie den Hook so, dass er nicht blockiert, wenn source in seiner Eingabe poll_event ist.