SpyBara
Go Premium

Documentation 2026-10-26 22:57 UTC to 2026-10-27 22:59 UTC

69 files changed +968 −634. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

79| `Permission Required:` | Eine Berechtigungsabfrage, die auf Ihre Antwort wartet |79| `Permission Required:` | Eine Berechtigungsabfrage, die auf Ihre Antwort wartet |

80| `Cost:` | Die Sitzungskostenzusammenfassung, wenn Claude Code beendet wird, wenn Ihr Konto [Kosten anzeigt](https://code.claude.com/docs/de/costs.md) |80| `Cost:` | Die Sitzungskostenzusammenfassung, wenn Claude Code beendet wird, wenn Ihr Konto [Kosten anzeigt](https://code.claude.com/docs/de/costs.md) |

81 81 

82Claude Code behält den Terminal-Cursor auf der Eingabemarke, sodass der Befehl zum Lesen der aktuellen Zeile Ihres Bildschirmlesers die Eingabe liest, die Sie bearbeiten.82Claude Code behält den Terminal-Cursor auf der Eingabemarke, sodass der Befehl zum Lesen der aktuellen Zeile Ihres Bildschirmlesers die Eingabe liest, die Sie bearbeiten. Während Sie am Ende der Eingabezeile eingeben oder dort `Backspace` drücken, schreibt Claude Code nur die Zeichen, die sich ändern. Ihr Bildschirmleser gibt nur diese Zeichen aus.

83 

84Während Sie am Ende der Eingabezeile eingeben, oder dort `Backspace` drücken, schreibt Claude Code nur die Zeichen, die sich ändern. Ihr Bildschirmleser gibt nur diese Zeichen aus.

85 83 

86Wenn Sie ein Wort oder eine Zeile mit einem der [Textbearbeitungs-Shortcuts](https://code.claude.com/docs/de/interactive-mode.md#text-editing) löschen, kündigt Claude Code den gelöschten Text an:84Wenn Sie ein Wort oder eine Zeile mit einem der [Textbearbeitungs-Shortcuts](https://code.claude.com/docs/de/interactive-mode.md#text-editing) löschen, kündigt Claude Code den gelöschten Text an:

87 85 

admin-setup.md +1 −0

Details

191* [Server-verwaltete Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md): Liefern Sie verwaltete Richtlinien über die Claude-Administratorkonsole191* [Server-verwaltete Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md): Liefern Sie verwaltete Richtlinien über die Claude-Administratorkonsole

192* [Alle Einstellungen](https://code.claude.com/docs/de/settings-reference.md): Jeder Einstellungsschlüssel, mit Angabe des Speicherorts und eines Beispiels192* [Alle Einstellungen](https://code.claude.com/docs/de/settings-reference.md): Jeder Einstellungsschlüssel, mit Angabe des Speicherorts und eines Beispiels

193* [Welcher Wert Claude Code verwendet](https://code.claude.com/docs/de/settings.md#which-value-claude-code-uses): Die Prioritätsregeln über verwaltete, Projekt-, lokale und Benutzereinstellungen193* [Welcher Wert Claude Code verwendet](https://code.claude.com/docs/de/settings.md#which-value-claude-code-uses): Die Prioritätsregeln über verwaltete, Projekt-, lokale und Benutzereinstellungen

194* [Plugins für Ihre Organisation verwalten](https://code.claude.com/docs/de/plugins/org.md): Installieren Sie gemeinsam genutzte Plugins über verwaltete Einstellungen auf jedem Rechner

194* [Monorepos und große Repositorys](https://code.claude.com/docs/de/large-codebases.md): Pro-Verzeichnis-Konfigurationsmuster für Organisationen, die in einem Monorepo bereitstellen195* [Monorepos und große Repositorys](https://code.claude.com/docs/de/large-codebases.md): Pro-Verzeichnis-Konfigurationsmuster für Organisationen, die in einem Monorepo bereitstellen

195* [Amazon Bedrock](https://code.claude.com/docs/de/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/de/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/de/microsoft-foundry.md): Anbieter-spezifische Bereitstellung196* [Amazon Bedrock](https://code.claude.com/docs/de/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/de/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/de/microsoft-foundry.md): Anbieter-spezifische Bereitstellung

196* [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide): SSO, SCIM, Sitzplatzverwaltung und Rollout-Playbook197* [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide): SSO, SCIM, Sitzplatzverwaltung und Rollout-Playbook

Details

41 41 

42Das waren vier Runden: drei mit Werkzeugaufrufen, eine endgültige nur-Text-Antwort.42Das waren vier Runden: drei mit Werkzeugaufrufen, eine endgültige nur-Text-Antwort.

43 43 

44Sie können die Schleife mit `max_turns` / `maxTurns` begrenzen, die nur Werkzeug-Nutzungsrunden zählt. Zum Beispiel würde `max_turns=2` in der obigen Schleife vor dem Bearbeitungsschritt gestoppt haben. Sie können auch `max_budget_usd` / `maxBudgetUsd` verwenden, um Runden basierend auf einem Ausgabenschwellenwert zu begrenzen.44Sie können die Schleife mit `max_turns` / `maxTurns` begrenzen. Zählen Sie jeden Turn mit Tool-Aufrufen sowie einen zusätzlichen für die endgültige reine Textantwort. Ohne diesen zusätzlichen Turn endet der Lauf mit einer `ResultMessage` vom Subtyp `error_max_turns` und ohne endgültige Antwort. Zum Beispiel hätte `max_turns=2` in der obigen Schleife vor dem Bearbeitungsschritt gestoppt. Sie können auch `max_budget_usd` / `maxBudgetUsd` verwenden, um Turns basierend auf einem Ausgabenschwellenwert zu begrenzen.

45 45 

46Ohne Limits läuft die Schleife, bis Claude von selbst fertig ist, was für gut definierte Aufgaben in Ordnung ist, aber bei offenen Prompts lange laufen kann („verbessern Sie diese Codebasis“). Das Festlegen eines Budgets ist eine gute Standardeinstellung für Produktionsagenten. Siehe [Runden und Budget](#turns-and-budget) unten für die Optionsreferenz.46Ohne Limits läuft die Schleife, bis Claude von selbst fertig ist, was für gut definierte Aufgaben in Ordnung ist, aber bei offenen Prompts lange laufen kann („verbessern Sie diese Codebasis“). Das Festlegen eines Budgets ist eine gute Standardeinstellung für Produktionsagenten. Siehe [Runden und Budget](#turns-and-budget) unten für die Optionsreferenz.

47 47 


191 191 

192| Option | Was es steuert | Standard |192| Option | Was es steuert | Standard |

193| :- | :- | :- |193| :- | :- | :- |

194| Max. Durchläufe (`max_turns` / `maxTurns`) | Maximale Tool-Use-Rundgänge | Keine Begrenzung |194| Max. Turns (`max_turns` / `maxTurns`) | Maximale Anzahl von [Turns](#turns-and-messages) | Keine Begrenzung |

195| Max. Budget (`max_budget_usd` / `maxBudgetUsd`) | Geschätzte Kosten, bei denen die Schleife stoppt | Keine Begrenzung |195| Max. Budget (`max_budget_usd` / `maxBudgetUsd`) | Geschätzte Kosten, bei denen die Schleife stoppt | Keine Begrenzung |

196 196 

197Wenn eine dieser Grenzen erreicht wird, gibt das SDK eine `ResultMessage` mit einem entsprechenden Fehler-Subtyp (`error_max_turns` oder `error_max_budget_usd`) zurück. Siehe [Handle the result](#handle-the-result) für die Überprüfung dieser Subtypen und [`ClaudeAgentOptions`](https://code.claude.com/docs/de/agent-sdk/python#claudeagentoptions) / [`Options`](https://code.claude.com/docs/de/agent-sdk/typescript#options) für die Syntax.197Wenn eine dieser Grenzen erreicht wird, gibt das SDK eine `ResultMessage` mit einem entsprechenden Fehler-Subtyp (`error_max_turns` oder `error_max_budget_usd`) zurück. Siehe [Handle the result](#handle-the-result) für die Überprüfung dieser Subtypen und [`ClaudeAgentOptions`](https://code.claude.com/docs/de/agent-sdk/python#claudeagentoptions) / [`Options`](https://code.claude.com/docs/de/agent-sdk/typescript#options) für die Syntax.

Details

161 161 

162Beide Sprachen haben die gleichen Setter:162Beide Sprachen haben die gleichen Setter:

163 163 

164* **`setModel()` / `set_model()`**: wechselt das Modell. Rufen Sie es ohne Modell auf, um zu [Claude Code's default model](https://code.claude.com/docs/de/model-config.md#default-model-setting) zu wechseln, anstatt zum `model`, das Sie in Optionen übergeben haben.164* **`setModel()` / `set_model()`**: wechselt das Modell. Rufen Sie es ohne Modell auf, um zu [Claude Code's default model](https://code.claude.com/docs/de/model-config.md#default-model-setting) zu wechseln, anstatt zum `model`, das Sie in Optionen übergeben haben. Wenn sich die Sitzung im Auto-Modus befindet und Sie zu einem Modell wechseln, das der Auto-Modus nicht unterstützt, wechselt die Sitzung in den `default`-Modus. Informationen zur Rückkehr in den Auto-Modus finden Sie unter [Auto-Modus (`auto`)](https://code.claude.com/docs/de/agent-sdk/permissions#auto-mode-auto).

165* **`setPermissionMode()` / `set_permission_mode()`**: wechselt den Genehmigungsmodus165* **`setPermissionMode()` / `set_permission_mode()`**: wechselt den Genehmigungsmodus

166 166 

167TypeScript hat auch `applyFlagSettings()` und `updateSettings()`:167TypeScript hat auch `applyFlagSettings()` und `updateSettings()`:

Details

181Fragen, die Sie bei der Wahl eines Anbieters beantworten sollten:181Fragen, die Sie bei der Wahl eines Anbieters beantworten sollten:

182 182 

183* **Wer betreibt die Sandbox**: Ein Sandbox-as-a-Service-Anbieter betreibt die Infrastruktur für Sie, während Self-Hosted-Optionen Ihnen Software zum Ausführen auf Ihren eigenen Systemen bieten.183* **Wer betreibt die Sandbox**: Ein Sandbox-as-a-Service-Anbieter betreibt die Infrastruktur für Sie, während Self-Hosted-Optionen Ihnen Software zum Ausführen auf Ihren eigenen Systemen bieten.

184* **Cold-Start-Latenz**: wie lange es dauert, von „Sandbox erstellen" bis „bereit, die erste Anfrage zu akzeptieren". Kurzlebige Muster benötigen Sub-Sekunden-Starts. Langfristige Muster tolerieren mehr.184* **Cold-Start-Latenz**: wie lange es dauert, von „Sandbox erstellen“ bis „bereit, die erste Anfrage zu akzeptieren“. Kurzlebige Muster benötigen Sub-Sekunden-Starts. Langfristige Muster tolerieren mehr.

185* **Persistenter Speicher**: ob der Anbieter dauerhafte Volumes oder nur kurzlebige Festplatte anbietet. Das Hybrid-Muster benötigt irgendwo dauerhaften Speicher, entweder in der Sandbox oder daneben.185* **Persistenter Speicher**: ob der Anbieter dauerhafte Volumes oder nur kurzlebige Festplatte anbietet. Das Hybrid-Muster benötigt irgendwo dauerhaften Speicher, entweder in der Sandbox oder daneben.

186* **Preismodell**: Pro-Sekunde, Pro-Anfrage oder pauschale stündliche Abrechnung. Pro-Sekunde-Preisgestaltung eignet sich für bursty kurzlebige Workloads. Stündlich eignet sich für langfristige Sitzungen.186* **Preismodell**: Pro-Sekunde, Pro-Anfrage oder pauschale stündliche Abrechnung. Pro-Sekunde-Preisgestaltung eignet sich für bursty kurzlebige Workloads. Stündlich eignet sich für langfristige Sitzungen.

187* **Netzwerk**: Unterstützung für benutzerdefinierte Egress-Regeln, ausgehende Proxys und privates VPC-Peering für regulierte Umgebungen.187* **Netzwerk**: Unterstützung für benutzerdefinierte Egress-Regeln, ausgehende Proxys und privates VPC-Peering für regulierte Umgebungen.


192 192 

193Der Container benötigt die Sprachlaufzeit Ihres SDK:193Der Container benötigt die Sprachlaufzeit Ihres SDK:

194 194 

195* Python 3.10+ für das Python SDK oder Node.js 18+ für das TypeScript SDK195* Python 3.10+ für das Python SDK oder Node.js 18.14+ für das TypeScript SDK

196* Sowohl das TypeScript als auch das Python SDK bündeln eine native Claude Code-Binärdatei für die meisten Installationen, und die erzeugte CLI benötigt keine separate Node.js-Installation. Siehe die [Installationsnotiz des Schnellstarts](https://code.claude.com/docs/de/agent-sdk/quickstart.md) für die Installationen, die eine separate native Claude Code-Installation benötigen.196* Sowohl das TypeScript als auch das Python SDK bündeln eine native Claude Code-Binärdatei für die meisten Installationen, und die erzeugte CLI benötigt keine separate Node.js-Installation. Siehe die [Installationsnotiz des Schnellstarts](https://code.claude.com/docs/de/agent-sdk/quickstart.md) für die Installationen, die eine separate native Claude Code-Installation benötigen.

197 197 

198Die gebündelte Binärdatei ist an die SDK-Paketversion gebunden, daher ist das Aktualisieren des SDK die Möglichkeit, die CLI zu aktualisieren. Das SDK folgt semver: Nehmen Sie Patch-Releases kontinuierlich an und überprüfen Sie das [TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/blob/main/CHANGELOG.md)- oder [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/CHANGELOG.md)-Changelog, bevor Sie ein Minor-Release annehmen.198Die gebündelte Binärdatei ist an die SDK-Paketversion gebunden, daher ist das Aktualisieren des SDK die Möglichkeit, die CLI zu aktualisieren. Das SDK folgt semver: Nehmen Sie Patch-Releases kontinuierlich an und überprüfen Sie das [TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/blob/main/CHANGELOG.md)- oder [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/CHANGELOG.md)-Changelog, bevor Sie ein Minor-Release annehmen.


335 335 

336| Einschränkung | Maßnahme |336| Einschränkung | Maßnahme |

337| - | - |337| - | - |

338| Kein Sitzungs-Timeout auf oberster Ebene | Eine Sitzung läuft nicht automatisch ab. Setzen Sie `maxTurns` in TypeScript oder `max_turns` in Python, um zu begrenzen, wie viele Tool-Use-Rundläufe der Agent durchführt, bevor er stoppt. |338| Kein Sitzungs-Timeout auf oberster Ebene | Eine Sitzung läuft nicht automatisch ab. Setzen Sie `maxTurns` in TypeScript oder `max_turns` in Python, um zu begrenzen, wie viele [Turns](https://code.claude.com/docs/de/agent-sdk/agent-loop.md#turns-and-messages) der Agent durchführt, bevor er stoppt. |

339| Speicherwachstum über lange Sitzungen | Begrenzen Sie die Sitzungslänge oder recyceln Sie Subprozesse regelmäßig. Siehe [Skalierung und Parallelität](#scaling-and-concurrency). |339| Speicherwachstum über lange Sitzungen | Begrenzen Sie die Sitzungslänge oder recyceln Sie Subprozesse regelmäßig. Siehe [Skalierung und Parallelität](#scaling-and-concurrency). |

340| Große parallele Subagent-Fanouts können Ratenlimits treffen | Teilen Sie die Arbeit in kleinere Batches auf, anstatt eine breite Verteilung auszugeben. |340| Große parallele Subagent-Fanouts können Ratenlimits treffen | Teilen Sie die Arbeit in kleinere Batches auf, anstatt eine breite Verteilung auszugeben. |

341| Keine Wanduhr-Frist pro Subagent | Begrenzen Sie jeden [Subagent](https://code.claude.com/docs/de/agent-sdk/subagents.md) mit `maxTurns` in seiner `AgentDefinition`. `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` setzt einen Stall-Watchdog, der ausgelöst wird, wenn ein Subagent keine Ausgabe mehr produziert; es ist keine Gesamtlaufzeit-Frist. |341| Keine Wanduhr-Frist pro Subagent | Begrenzen Sie jeden [Subagent](https://code.claude.com/docs/de/agent-sdk/subagents.md) mit `maxTurns` in seiner `AgentDefinition`. `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` setzt einen Stall-Watchdog, der ausgelöst wird, wenn ein Subagent keine Ausgabe mehr produziert; es ist keine Gesamtlaufzeit-Frist. |

Details

425 425 

426Setzen Sie `includeGitInstructions` auf `false`, um die eingebauten Commit- und Pull-Request-Anweisungen auszuschließen, die Teil der Beschreibung des Bash-Tools sind und Claude auch mit einem benutzerdefinierten `systemPrompt` erreichen. Mit dem minimalen Standard, einem benutzerdefinierten `systemPrompt` oder einem benutzerdefinierten Hauptthread-Agenten mit eigenem Prompt startet die Sitzung jedoch ohne den Git-Status-Snapshot.426Setzen Sie `includeGitInstructions` auf `false`, um die eingebauten Commit- und Pull-Request-Anweisungen auszuschließen, die Teil der Beschreibung des Bash-Tools sind und Claude auch mit einem benutzerdefinierten `systemPrompt` erreichen. Mit dem minimalen Standard, einem benutzerdefinierten `systemPrompt` oder einem benutzerdefinierten Hauptthread-Agenten mit eigenem Prompt startet die Sitzung jedoch ohne den Git-Status-Snapshot.

427 427 

428Wenn Sie `CLAUDE_CODE_DISABLE_ATTACHMENTS` setzen, sendet Claude Code auch `@`-Dateierwähnungen als Klartext, statt sie in Dateiinhalte zu erweitern. Die Liste der verfügbaren Subagenten und Benachrichtigungen zu Hintergrundaufgaben treffen immer noch ein. Um nur zu verhindern, dass `@`-Dateierwähnungen erweitert werden, setzen Sie stattdessen [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](https://code.claude.com/docs/de/env-vars#variables), ab Claude Code v2.1.299. Claude erhält dann die erwähnten Pfade sowie einen Hinweis, sie mit seinen Datei-Tools zu lesen.428* Wenn Sie `CLAUDE_CODE_DISABLE_ATTACHMENTS` setzen, sendet Claude Code auch `@`-Dateierwähnungen als Klartext, statt sie in Dateiinhalte zu erweitern. Die Liste der verfügbaren Subagenten und Benachrichtigungen zu Hintergrundaufgaben treffen immer noch ein.

429* Um nur zu verhindern, dass `@`-Dateierwähnungen erweitert werden, setzen Sie stattdessen [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](https://code.claude.com/docs/de/env-vars#variables), ab Claude Code v2.1.299. Claude erhält dann die erwähnten Pfade sowie einen Hinweis, sie mit seinen Datei-Tools zu lesen, und Ihre `PreToolUse`-Hooks sehen jeden Lesevorgang einer Datei als Tool-Aufruf.

429 430 

430Das folgende Beispiel ist für einen Agenten, der seine eigenen Commit-Regeln in `append` trägt. Es setzt beide `attribution`-Schlüssel auf leere Strings, um den Trailer und die Fußzeile zu entfernen, und deaktiviert `includeGitInstructions`, damit Claude Codes eigene Commit-Workflow-Anweisungen nicht mit Ihren konkurrieren:431Das folgende Beispiel ist für einen Agenten, der seine eigenen Commit-Regeln in `append` trägt. Es setzt beide `attribution`-Schlüssel auf leere Strings, um den Trailer und die Fußzeile zu entfernen, und deaktiviert `includeGitInstructions`, damit Claude Codes eigene Commit-Workflow-Anweisungen nicht mit Ihren konkurrieren:

431 432 

Details

43Wenden Sie den aktiven [Berechtigungsmodus](#permission-modes) an:43Wenden Sie den aktiven [Berechtigungsmodus](#permission-modes) an:

44 44 

45* Im `bypassPermissions` Modus genehmigt Claude Code alles, das diesen Schritt erreicht, außer erkannten [Entfernungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths) und Bash-Befehlen, die mit [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/de/permission-modes#dangerous-rm-operation-not-ruled-out) markiert sind; diese werden stattdessen weitergeleitet.45* Im `bypassPermissions` Modus genehmigt Claude Code alles, das diesen Schritt erreicht, außer erkannten [Entfernungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths) und Bash-Befehlen, die mit [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/de/permission-modes#dangerous-rm-operation-not-ruled-out) markiert sind; diese werden stattdessen weitergeleitet.

46 * Um diese Entfernungen ohne Nachfrage auszuführen, siehe [Berechtigungsabfrage für Entfernungen kritischer Pfade ausschalten](https://code.claude.com/docs/de/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode).

46* Im `acceptEdits` Modus genehmigt Claude Code die unter [Accept edits mode](#accept-edits-mode-acceptedits) aufgelisteten Dateivorgänge.47* Im `acceptEdits` Modus genehmigt Claude Code die unter [Accept edits mode](#accept-edits-mode-acceptedits) aufgelisteten Dateivorgänge.

47* Im `plan` Modus sendet Claude Code Tools zur Dateibearbeitung unabhängig von Allow-Regeln an Ihren `canUseTool` Callback.48* Im `plan` Modus sendet Claude Code Tools zur Dateibearbeitung unabhängig von Allow-Regeln an Ihren `canUseTool` Callback.

48* In anderen Modi fällt die Anfrage durch.49* In anderen Modi fällt die Anfrage durch.


305> `allowed_tools` beschränkt diesen Modus nicht. Jedes Tool wird genehmigt, nicht nur die, die Sie aufgelistet haben. Diese Kontrollen gelten weiterhin:306> `allowed_tools` beschränkt diesen Modus nicht. Jedes Tool wird genehmigt, nicht nur die, die Sie aufgelistet haben. Diese Kontrollen gelten weiterhin:

306>307>

307> * Deny-Regeln, explizite `ask`-Regeln und Hooks werden vor der Modusüberprüfung ausgewertet und können ein Tool weiterhin blockieren.308> * Deny-Regeln, explizite `ask`-Regeln und Hooks werden vor der Modusüberprüfung ausgewertet und können ein Tool weiterhin blockieren.

308> * Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), Tools, die Benutzerinteraktion erfordern, und erkannte [Löschungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths) fallen weiterhin in Ihren `canUseTool`-Callback. Die Prüfung, die diese Löschungen erkennt, [kann einige Befehle übersehen](https://code.claude.com/docs/de/permission-modes.md#critical-paths). Außerhalb einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) fallen auch Aufrufe benutzerdefinierter Tools, die Ihre Anwendung [als `always_ask` kennzeichnet](https://code.claude.com/docs/de/agent-sdk/custom-tools#require-approval-for-specific-tools), in den Callback.309> * Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), Tools, die Benutzerinteraktion erfordern, und erkannte [Löschungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths) fallen weiterhin in Ihren `canUseTool`-Callback. Die Prüfung, die diese Löschungen erkennt, [kann einige Befehle übersehen](https://code.claude.com/docs/de/permission-modes.md#critical-paths), und Sie können [die Abfrage bei Löschungen kritischer Pfade ausschalten](https://code.claude.com/docs/de/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode). Außerhalb einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) fallen auch Aufrufe benutzerdefinierter Tools, die Ihre Anwendung [als `always_ask` kennzeichnet](https://code.claude.com/docs/de/agent-sdk/custom-tools#require-approval-for-specific-tools), in den Callback.

309> * Die [Sitzungsübergreifenden Messaging-Schutzmaßnahmen](https://code.claude.com/docs/de/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) gelten weiterhin.310> * Die [Sitzungsübergreifenden Messaging-Schutzmaßnahmen](https://code.claude.com/docs/de/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) gelten weiterhin.

310 311 

311#### Planungsmodus (`plan`)312#### Planungsmodus (`plan`)

Details

880| `continue_conversation` | `bool` | `False` | Setzen Sie die neueste Konversation fort |880| `continue_conversation` | `bool` | `False` | Setzen Sie die neueste Konversation fort |

881| `resume` | `str \| None` | `None` | Sitzungs-ID zum Fortsetzen |881| `resume` | `str \| None` | `None` | Sitzungs-ID zum Fortsetzen |

882| `session_id` | `str \| None` | `None` | Verwenden Sie eine bestimmte Sitzungs-ID statt einer automatisch generierten. Muss eine gültige UUID sein. Kann nicht mit `continue_conversation` oder `resume` kombiniert werden, es sei denn, `fork_session` ist auch gesetzt |882| `session_id` | `str \| None` | `None` | Verwenden Sie eine bestimmte Sitzungs-ID statt einer automatisch generierten. Muss eine gültige UUID sein. Kann nicht mit `continue_conversation` oder `resume` kombiniert werden, es sei denn, `fork_session` ist auch gesetzt |

883| `max_turns` | `int \| None` | `None` | Maximale Anzahl agentischer Turns (Tool-Use-Rundläufe) |883| `max_turns` | `int \| None` | `None` | Maximale Anzahl agentischer [Turns](https://code.claude.com/docs/de/agent-sdk/agent-loop.md#turns-and-messages) |

884| `max_budget_usd` | `float \| None` | `None` | Stoppen Sie die Abfrage, wenn die clientseitige Kostenschätzung diesen USD-Wert erreicht. Die Schätzung kann diesen Wert überschreiten, lassen Sie daher [Spielraum](https://code.claude.com/docs/de/agent-sdk/agent-loop.md#budget-headroom). Zählt nur die Ausgaben des Aufrufs selbst; aus einer fortgesetzten Sitzung wiederhergestellte Gesamtwerte zählen nicht. Für Einschränkungen zur Genauigkeit und zum Zurücksetzungsverhalten siehe [Kosten und Nutzung verfolgen](https://code.claude.com/docs/de/agent-sdk/cost-tracking.md) |884| `max_budget_usd` | `float \| None` | `None` | Stoppen Sie die Abfrage, wenn die clientseitige Kostenschätzung diesen USD-Wert erreicht. Die Schätzung kann diesen Wert überschreiten, lassen Sie daher [Spielraum](https://code.claude.com/docs/de/agent-sdk/agent-loop.md#budget-headroom). Zählt nur die Ausgaben des Aufrufs selbst; aus einer fortgesetzten Sitzung wiederhergestellte Gesamtwerte zählen nicht. Für Einschränkungen zur Genauigkeit und zum Zurücksetzungsverhalten siehe [Kosten und Nutzung verfolgen](https://code.claude.com/docs/de/agent-sdk/cost-tracking.md) |

885| `disallowed_tools` | `list[str]` | `[]` | Tools, die verweigert werden. Ein einfacher Name wie `"Bash"` entfernt das Tool aus Claudes Kontext. Eine eingeschränkte Regel wie `"Bash(rm *)"` lässt das Tool verfügbar und verweigert übereinstimmende Aufrufe in jedem Berechtigungsmodus, einschließlich `bypassPermissions`, für den Befehl [wie geschrieben](https://code.claude.com/docs/de/permissions.md#bash-rule-limits). Siehe [Berechtigungen](https://code.claude.com/docs/de/agent-sdk/permissions.md#allow-and-deny-rules) |885| `disallowed_tools` | `list[str]` | `[]` | Tools, die verweigert werden. Ein einfacher Name wie `"Bash"` entfernt das Tool aus Claudes Kontext. Eine eingeschränkte Regel wie `"Bash(rm *)"` lässt das Tool verfügbar und verweigert übereinstimmende Aufrufe in jedem Berechtigungsmodus, einschließlich `bypassPermissions`, für den Befehl [wie geschrieben](https://code.claude.com/docs/de/permissions.md#bash-rule-limits). Siehe [Berechtigungen](https://code.claude.com/docs/de/agent-sdk/permissions.md#allow-and-deny-rules) |

886| `enable_file_checkpointing` | `bool` | `False` | Aktivieren Sie die Dateiänderungsverfolgung zum Zurückspulen. Siehe [Datei-Checkpointing](https://code.claude.com/docs/de/agent-sdk/file-checkpointing.md) |886| `enable_file_checkpointing` | `bool` | `False` | Aktivieren Sie die Dateiänderungsverfolgung zum Zurückspulen. Siehe [Datei-Checkpointing](https://code.claude.com/docs/de/agent-sdk/file-checkpointing.md) |


2568 2568 

2569### Agent2569### Agent

2570 2570 

2571**Tool-Name:** `Agent`. Der vorherige Name `Task` wird weiterhin als Alias akzeptiert, und die `tools`-Liste in der Init-[`SystemMessage`](#systemmessage) meldet dieses Tool als `Task` für Rückwärtskompatibilität.2571**Tool-Name:** `Agent`. Der vorherige Name `Task` wird weiterhin als Alias akzeptiert, wenn dieses Tool für die Sitzung verfügbar ist.

2572 

2573Die `tools`-Liste in der Init-[`SystemMessage`](#systemmessage) meldet dieses Tool aus Gründen der Rückwärtskompatibilität als `Task`.

2572 2574 

2573**Eingabe:**2575**Eingabe:**

2574 2576 


3642| `deniedDomains` | `list[str]` | `[]` | Domänennamen, auf die Sandbox-Prozesse nicht zugreifen können. Hat Vorrang vor `allowedDomains` |3644| `deniedDomains` | `list[str]` | `[]` | Domänennamen, auf die Sandbox-Prozesse nicht zugreifen können. Hat Vorrang vor `allowedDomains` |

3643| `allowManagedDomainsOnly` | `bool` | `False` | Nur verwaltete Einstellungen: Wenn in verwalteten Einstellungen gesetzt, ignorieren Sie `allowedDomains` und `WebFetch(domain:...)`-Zulassungsregeln aus nicht verwalteten Einstellungsquellen. Hat keine Auswirkung, wenn über SDK-Optionen gesetzt |3645| `allowManagedDomainsOnly` | `bool` | `False` | Nur verwaltete Einstellungen: Wenn in verwalteten Einstellungen gesetzt, ignorieren Sie `allowedDomains` und `WebFetch(domain:...)`-Zulassungsregeln aus nicht verwalteten Einstellungsquellen. Hat keine Auswirkung, wenn über SDK-Optionen gesetzt |

3644| `allowUnixSockets` | `list[str]` | `[]` | Nur macOS: Unix-Socket-Pfade, auf die Prozesse zugreifen können, z. B. der Docker-Socket. Wird unter Linux ignoriert |3646| `allowUnixSockets` | `list[str]` | `[]` | Nur macOS: Unix-Socket-Pfade, auf die Prozesse zugreifen können, z. B. der Docker-Socket. Wird unter Linux ignoriert |

3645| `allowAllUnixSockets` | `bool` | `False` | Erlauben Sie Zugriff auf alle Unix-Sockets |3647| `allowAllUnixSockets` | `bool` | `False` | Erlauben Sie Zugriff auf alle Unix-Sockets und unter Linux auf VM-Sockets (`AF_VSOCK`) |

3646| `allowLocalBinding` | `bool` | `False` | Erlauben Sie Prozessen, sich an lokale Ports zu binden (z. B. für Dev-Server) |3648| `allowLocalBinding` | `bool` | `False` | Erlauben Sie Prozessen, sich an lokale Ports zu binden (z. B. für Dev-Server) |

3647| `allowMachLookup` | `list[str]` | `[]` | Nur macOS: XPC/Mach-Servicenamen zum Zulassen. Unterstützt ein nachfolgendes Platzhalterzeichen |3649| `allowMachLookup` | `list[str]` | `[]` | Nur macOS: XPC/Mach-Servicenamen zum Zulassen. Unterstützt ein nachfolgendes Platzhalterzeichen |

3648| `httpProxyPort` | `int` | `None` | HTTP-Proxy-Port für Netzwerkanfragen |3650| `httpProxyPort` | `int` | `None` | HTTP-Proxy-Port für Netzwerkanfragen |

Details

16 16 

17## Voraussetzungen17## Voraussetzungen

18 18 

19* **Node.js 18+** oder **Python 3.10+**19* **Node.js 18.14+** oder **Python 3.10+**

20* Ein **Anthropic-Konto**. Falls Sie noch kein Konto haben, [registrieren Sie sich hier](https://platform.claude.com/).20* Ein **Anthropic-Konto**. Falls Sie noch kein Konto haben, [registrieren Sie sich hier](https://platform.claude.com/).

21 21 

22## Einrichtung22## Einrichtung

Details

118 118 

119### Einen abgebrochenen Stream behandeln119### Einen abgebrochenen Stream behandeln

120 120 

121Wenn ein Stream mitten in einer Nachricht abbricht, etwa weil Sie den Turn unterbrechen oder die Verbindung abreißt, erhalten Sie vor dem Ende des Turns trotzdem das `message_stop` dieser Nachricht. Ein abgebrochener Text- oder Thinking-Block erhält außerdem sein `content_block_stop`. Ein abgebrochener Tool-Aufruf dagegen nicht. Wenn also `message_stop` eintrifft, während der Block eines Tool-Aufrufs noch offen ist, behandeln Sie die Eingabe dieses Aufrufs als unvollständig.121Wenn ein Stream mitten in einer Nachricht abbricht, erhalten Sie vor dem Ende des Turns trotzdem das `message_stop` dieser Nachricht. Ursachen für einen abgebrochenen Stream sind unter anderem ein unterbrochener Turn, eine abgerissene Verbindung und ein Fallback auf eine Anfrage ohne Streaming. `content_block_stop` und `message_delta` können vor diesem `message_stop` fehlen:

122 

123* **`content_block_stop`**: trifft für den Block ein, der offen war, es sei denn, dieser Block ist ein Tool-Aufruf. Wenn `message_stop` eintrifft, während der Block eines Tool-Aufrufs noch offen ist, behandeln Sie die Eingabe dieses Aufrufs als unvollständig.

124* **`message_delta`**: trifft ein, wenn Sie den Turn unterbrechen, und kann nach einer abgerissenen Verbindung oder einem Fallback auf eine Anfrage ohne Streaming fehlen. Warten Sie bei einer abgebrochenen Nachricht daher nicht darauf.

122 125 

123Vor Claude Code v2.1.290 konnte ein abgebrochener Stream den Turn ohne `message_stop` beenden, sodass eine Antwort, die Sie aus Stream-Ereignissen rendern, weiterhin als laufend angezeigt werden konnte. Das TypeScript Agent SDK enthält ab v0.3.290 Claude Code v2.1.290 oder neuer, das Python Agent SDK ab v0.2.164. Wenn eine Antwort nach dem Ende des Turns weiterhin als laufend angezeigt wird, aktualisieren Sie das SDK.126Vor Claude Code v2.1.290 konnte ein abgebrochener Stream den Turn ohne `message_stop` beenden, sodass eine Antwort, die Sie aus Stream-Ereignissen rendern, weiterhin als laufend angezeigt werden konnte. Das TypeScript Agent SDK enthält ab v0.3.290 Claude Code v2.1.290 oder neuer, das Python Agent SDK ab v0.2.164. Wenn eine Antwort nach dem Ende des Turns weiterhin als laufend angezeigt wird, aktualisieren Sie das SDK.

124 127 

Details

105 105 

106Gibt ein `Promise<`[`WarmQuery`](#warmquery)`>` zurück, das aufgelöst wird, sobald der Subprozess gespawnt wurde und seinen Initialize-Handshake abgeschlossen hat.106Gibt ein `Promise<`[`WarmQuery`](#warmquery)`>` zurück, das aufgelöst wird, sobald der Subprozess gespawnt wurde und seinen Initialize-Handshake abgeschlossen hat.

107 107 

108Von den [`hook_progress`](#sdkhookprogressmessage)-Nachrichten, die ein `SessionStart`- oder `Setup`-Hook vor Abschluss des Handshakes ausgibt, erhalten Sie nur die neueste, die die gesamte bisherige Ausgabe des Hooks enthält. `startup()` hält diese Nachricht, die [`hook_started`](#sdkhookstartedmessage)-Nachricht des Hooks und alles andere zurück, was der Subprozess vor Abschluss des Handshakes ausgibt. Die zurückgehaltenen Nachrichten erreichen Sie, sobald Sie `.query()` auf dem `WarmQuery` aufrufen und über das Ergebnis iterieren.

109 

108#### Beispiel110#### Beispiel

109 111 

110Rufen Sie `startup()` früh auf, beispielsweise beim Anwendungsstart, und rufen Sie dann `.query()` auf dem zurückgegebenen Handle auf, sobald ein Prompt bereit ist. Dies verlagert Subprozess-Spawn und Initialisierung aus dem kritischen Pfad.112Rufen Sie `startup()` früh auf, beispielsweise beim Anwendungsstart, und rufen Sie dann `.query()` auf dem zurückgegebenen Handle auf, sobald ein Prompt bereit ist. Dies verlagert Subprozess-Spawn und Initialisierung aus dem kritischen Pfad.


524| `managedSettings` | `Settings` | `undefined` | Einstellungen auf Richtlinienebene, die Ihr Host-Prozess der gestarteten Sitzung bereitstellt. Auf Rechnern mit von Admins bereitgestellten verwalteten Einstellungen ignoriert Claude Code diese, sofern nicht die verwaltete Quelle des Admins mit der höchsten Priorität `parentSettingsBehavior: 'merge'` setzt, und führt sie nie zusammen, solange ein [`policyHelper`](https://code.claude.com/docs/de/settings-reference#policyhelper) verwaltete Einstellungen bereitstellt. Zusammengeführte Werte durchlaufen einen Filter, der nur Einschränkungen zulässt; [Übergeordnete Einstellungen einschränken](https://code.claude.com/docs/de/claude-apps-gateway#restrict-parent-settings) beschreibt, was der Filter zulässt, sowie die `allowManaged*Only`-Sperren. Bei einem Host, der [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/de/env-vars) setzt, werden stattdessen drei Schlüssel direkt aus dieser Payload gelesen: seine [Modellkonfiguration](https://code.claude.com/docs/de/model-config.md#restrict-model-selection) ab Claude Code v2.1.222, [`modelPricing`](https://code.claude.com/docs/de/settings-reference#modelpricing), wenn keine verwaltete Quelle es setzt, ab v2.1.246, und sein `ENABLE_TOOL_SEARCH`-Umgebungseintrag ab v2.1.247 |526| `managedSettings` | `Settings` | `undefined` | Einstellungen auf Richtlinienebene, die Ihr Host-Prozess der gestarteten Sitzung bereitstellt. Auf Rechnern mit von Admins bereitgestellten verwalteten Einstellungen ignoriert Claude Code diese, sofern nicht die verwaltete Quelle des Admins mit der höchsten Priorität `parentSettingsBehavior: 'merge'` setzt, und führt sie nie zusammen, solange ein [`policyHelper`](https://code.claude.com/docs/de/settings-reference#policyhelper) verwaltete Einstellungen bereitstellt. Zusammengeführte Werte durchlaufen einen Filter, der nur Einschränkungen zulässt; [Übergeordnete Einstellungen einschränken](https://code.claude.com/docs/de/claude-apps-gateway#restrict-parent-settings) beschreibt, was der Filter zulässt, sowie die `allowManaged*Only`-Sperren. Bei einem Host, der [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/de/env-vars) setzt, werden stattdessen drei Schlüssel direkt aus dieser Payload gelesen: seine [Modellkonfiguration](https://code.claude.com/docs/de/model-config.md#restrict-model-selection) ab Claude Code v2.1.222, [`modelPricing`](https://code.claude.com/docs/de/settings-reference#modelpricing), wenn keine verwaltete Quelle es setzt, ab v2.1.246, und sein `ENABLE_TOOL_SEARCH`-Umgebungseintrag ab v2.1.247 |

525| `maxBudgetUsd` | `number` | `undefined` | Die Abfrage beenden, wenn die clientseitige Kostenschätzung diesen USD-Wert erreicht. Die Schätzung kann diesen Wert überschreiten, [lassen Sie also Spielraum](https://code.claude.com/docs/de/agent-sdk/agent-loop.md#budget-headroom). Zählt nur die eigenen Ausgaben des Aufrufs; aus einer fortgesetzten Sitzung wiederhergestellte Summen zählen nicht. Zu Einschränkungen der Genauigkeit und zum Zurücksetzverhalten siehe [Kosten und Nutzung verfolgen](https://code.claude.com/docs/de/agent-sdk/cost-tracking.md) |527| `maxBudgetUsd` | `number` | `undefined` | Die Abfrage beenden, wenn die clientseitige Kostenschätzung diesen USD-Wert erreicht. Die Schätzung kann diesen Wert überschreiten, [lassen Sie also Spielraum](https://code.claude.com/docs/de/agent-sdk/agent-loop.md#budget-headroom). Zählt nur die eigenen Ausgaben des Aufrufs; aus einer fortgesetzten Sitzung wiederhergestellte Summen zählen nicht. Zu Einschränkungen der Genauigkeit und zum Zurücksetzverhalten siehe [Kosten und Nutzung verfolgen](https://code.claude.com/docs/de/agent-sdk/cost-tracking.md) |

526| `maxThinkingTokens` | `number` | `undefined` | *Veraltet:* Verwenden Sie stattdessen `thinking`. Maximale Token für den Thinking-Prozess |528| `maxThinkingTokens` | `number` | `undefined` | *Veraltet:* Verwenden Sie stattdessen `thinking`. Maximale Token für den Thinking-Prozess |

527| `maxTurns` | `number` | `undefined` | Maximale Anzahl agentischer Turns (Tool-Use-Roundtrips) |529| `maxTurns` | `number` | `undefined` | Maximale Anzahl agentischer [Turns](https://code.claude.com/docs/de/agent-sdk/agent-loop.md#turns-and-messages) |

528| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP-Server-Konfigurationen |530| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP-Server-Konfigurationen |

529| `model` | `string` | Standard aus der CLI | Claude-Modellalias oder vollständiger Modellname. Siehe [akzeptierte Werte und anbieterspezifische IDs](https://code.claude.com/docs/de/model-config.md#available-models) |531| `model` | `string` | Standard aus der CLI | Claude-Modellalias oder vollständiger Modellname. Siehe [akzeptierte Werte und anbieterspezifische IDs](https://code.claude.com/docs/de/model-config.md#available-models) |

530| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Callback zur Behandlung von MCP-Elicitation-Anfragen. Wird aufgerufen, wenn ein MCP-Server Benutzereingaben anfordert und kein Hook die Anfrage zuerst behandelt. Wenn nicht angegeben, werden nicht behandelte Elicitation-Anfragen automatisch abgelehnt |532| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Callback zur Behandlung von MCP-Elicitation-Anfragen. Wird aufgerufen, wenn ein MCP-Server Benutzereingaben anfordert und kein Hook die Anfrage zuerst behandelt. Wenn nicht angegeben, werden nicht behandelte Elicitation-Anfragen automatisch abgelehnt |


1403 };1405 };

1404```1406```

1405 1407 

1408Wenn Sie `allow` mit mehr als 4.096 Elementen in `updatedPermissions` zurückgeben, behandelt Claude Code das Ergebnis als ungültig und lehnt den Tool-Aufruf ab. Jede Aktualisierung zählt als ein Element, ebenso jeder Eintrag in ihrer `rules`- oder `directories`-Liste. Die Ablehnungsmeldung endet mit `updatedPermissions may hold at most 4096 updates, rules and directories in all`. Damit der Aufruf erlaubt wird, geben Sie höchstens 4.096 Elemente zurück.

1409 

1406### `ToolConfig`1410### `ToolConfig`

1407 1411 

1408Konfiguration für das Verhalten integrierter Tools.1412Konfiguration für das Verhalten integrierter Tools.


1464 1468 

1465#### `McpSdkServerConfigWithInstance`1469#### `McpSdkServerConfigWithInstance`

1466 1470 

1467Die Konfiguration für einen In-Process-MCP-Server, also einen, den [`createSdkMcpServer()`](#createsdkmcpserver) erstellt und der innerhalb des Prozesses Ihrer Anwendung läuft. Sie ist das Objekt, das `createSdkMcpServer()` zurückgibt, plus eine optionale `tools`-Liste mit [`McpServerToolPolicy`](#mcpservertoolpolicy)-Einträgen, die Sie selbst hinzufügen. Um für Aufrufe eines der Tools des Servers eine Genehmigung zu verlangen oder sie zu verweigern, fügen Sie einen Eintrag hinzu, der das Tool benennt.1471Konfiguration für einen prozessinternen MCP-Server. Sie entspricht dem, was [`createSdkMcpServer()`](#createsdkmcpserver) zurückgibt, plus einer optionalen `tools`-Liste von [`McpServerToolPolicy`](#mcpservertoolpolicy)-Einträgen, die Sie hinzufügen.

1468 1472 

1469```typescript theme={null}1473```typescript theme={null}

1470type McpSdkServerConfigWithInstance = {1474type McpSdkServerConfigWithInstance = {


1476};1480};

1477```1481```

1478 1482 

1479Um eine Richtlinie festzulegen, übernehmen Sie das von `createSdkMcpServer()` zurückgegebene Objekt per Spread in ein neues Objekt in `mcpServers` und fügen diesem neuen Objekt die `tools`-Liste hinzu. Die Option `tools` von `createSdkMcpServer()` selbst ist eine andere Liste, die die Tool-Definitionen enthält und keine Richtlinieneinträge akzeptiert. Die Richtlinienliste erfordert Agent SDK v0.3.301 oder höher, und [`McpServerToolPolicy`](#mcpservertoolpolicy) beschreibt, was jeder `permission_policy`-Wert bewirkt.1483Um für Aufrufe eines der Tools des Servers eine Genehmigung zu verlangen oder sie abzulehnen, fügen Sie einen Richtlinieneintrag hinzu, der das Tool benennt. Verteilen Sie das, was `createSdkMcpServer()` zurückgibt, per Spread in ein Objekt unter `mcpServers` und legen Sie den Eintrag in einer `tools`-Liste auf diesem Objekt ab, denn die Option `tools` der Funktion akzeptiert Tool-Definitionen und keine Richtlinieneinträge. Die Richtlinienliste erfordert Agent SDK v0.3.301 oder neuer, und [`McpServerToolPolicy`](#mcpservertoolpolicy) beschreibt, was jeder `permission_policy`-Wert bewirkt.

1480 1484 

1481Dieses Beispiel genehmigt alle Tools auf dem Server `records` vorab mit einem `allowedTools`-Platzhalter und markiert dann `delete_record` als `always_ask`, sodass Aufrufe dieses Tools trotzdem an `canUseTool` gehen. Mit der Annotation `destructiveHint: true` erreicht der Aufruf den Callback auch dann, wenn die Sitzung im `auto`-Modus läuft, in dem der [Klassifikator](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) des Auto-Modus ihn andernfalls genehmigen könnte.1485In diesem Skript genehmigt ein `allowedTools`-Platzhalter jedes Tool auf dem Server `records` im Voraus, aber `delete_record` ist als `always_ask` markiert, sodass Aufrufe trotzdem an `canUseTool` gehen. Mit der Annotation `destructiveHint: true` erreicht der Aufruf den Callback auch dann, wenn die Sitzung im Modus `auto` läuft, in dem der [Klassifikator](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) des Auto-Modus ihn andernfalls genehmigen könnte.

1482 1486 

1483```typescript theme={null}1487```typescript theme={null}

1484import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";1488import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";


1517}1521}

1518```1522```

1519 1523 

1520Wenn Claude das Tool aufruft, gibt das Skript `Approval requested for mcp__records__delete_record` aus, bevor das Tool `delete_record` ausgeführt wird, obwohl der `allowedTools`-Eintrag den Aufruf andernfalls genehmigt hätte.1524Wenn Claude `delete_record` aufruft, gibt das Skript `Approval requested for mcp__records__delete_record` aus.

1521 1525 

1522Um die Richtlinie eines Tools während der laufenden Sitzung zu ändern oder aufzuheben, übergeben Sie die Konfiguration des Servers mit einem neuen `tools`-Wert an [`setMcpServers()`](#mcpsetserversresult). Der übergebene `tools`-Wert gilt ab Claudes nächstem Aufruf der Tools dieses Servers:1526Um die Richtlinie eines Tools während der laufenden Sitzung zu ändern oder aufzuheben, übergeben Sie die Konfiguration des Servers mit einem neuen `tools`-Wert an [`setMcpServers()`](#mcpsetserversresult). Der übergebene `tools`-Wert gilt ab Claudes nächstem Aufruf der Tools dieses Servers:

1523 1527 


1556 1560 

1557##### Berechtigungsmodi, die einen `always_ask`-Aufruf genehmigen können1561##### Berechtigungsmodi, die einen `always_ask`-Aufruf genehmigen können

1558 1562 

1559Im `auto`-, `plan`- und `bypassPermissions`-Modus kann ein Aufruf eines mit [`always_ask`](#permission-policy-values) markierten Tools genehmigt werden, bevor er Ihren `canUseTool`-Callback erreicht. Suchen Sie den Modus Ihrer Sitzung in dieser Liste, um zu sehen, wann diese Genehmigung erfolgt und was Sie festlegen müssen, damit der Aufruf Ihren Callback trotzdem erreicht:1563Im Modus `auto`, `plan` und `bypassPermissions` kann ein Aufruf eines als [`always_ask`](#permission-policy-values) markierten Tools genehmigt werden, bevor er Ihren `canUseTool`-Callback erreicht.

1560 1564 

1561* **`auto`**: Der [Klassifikator](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) des Auto-Modus prüft den Aufruf und kann ihn erlauben. Damit im `auto`-Modus jeder Aufruf Ihren Callback erreicht, setzen Sie `destructiveHint: true` in den [Annotationen](#toolannotations) des Tools1565* **`auto`**: Der [Klassifikator](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) des Auto-Modus prüft den Aufruf und kann ihn erlauben. Damit im `auto`-Modus jeder Aufruf Ihren Callback erreicht, setzen Sie `destructiveHint: true` in den [Annotationen](#toolannotations) des Tools

1562* **`plan`**: Solange der [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) für die Sitzung verfügbar ist, gehen Aufrufe eines `always_ask`-Tools mit der Annotation `readOnlyHint: true` an den Klassifikator des Auto-Modus, der sie erlauben kann. Aufrufe anderer `always_ask`-Tools erreichen Ihren Callback. Damit auch die Aufrufe eines nur lesenden Tools Ihren Callback erreichen, fügen Sie den Annotationen dieses Tools zusätzlich zu `readOnlyHint: true` auch `destructiveHint: true` hinzu. Alternativ setzen Sie [`useAutoModeDuringPlan`](https://code.claude.com/docs/de/settings-reference#useautomodeduringplan) auf `false`, wodurch der Klassifikator während der Planung ausgeschaltet wird1566* **`plan`**: Solange der [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) für die Sitzung verfügbar ist, gehen Aufrufe eines `always_ask`-Tools mit der Annotation `readOnlyHint: true` an den Klassifikator des Auto-Modus, der sie erlauben kann. Aufrufe anderer `always_ask`-Tools erreichen Ihren Callback. Damit auch die Aufrufe eines nur lesenden Tools Ihren Callback erreichen, fügen Sie den Annotationen dieses Tools zusätzlich zu `readOnlyHint: true` auch `destructiveHint: true` hinzu. Alternativ setzen Sie [`useAutoModeDuringPlan`](https://code.claude.com/docs/de/settings-reference#useautomodeduringplan) auf `false`, wodurch der Klassifikator während der Planung ausgeschaltet wird


1692 1696 

1693`aborted` ist `true`, wenn ein Interrupt oder Abbruch die Assistenten-Nachricht vor Abschluss des Streams abgeschnitten hat: Die Nachricht hat keinen `stop_reason` und der Inhalt kann mitten im Wort enden. Das Feld fehlt bei normal abgeschlossenen Nachrichten. Es erfordert Agent SDK v0.3.214 oder später.1697`aborted` ist `true`, wenn ein Interrupt oder Abbruch die Assistenten-Nachricht vor Abschluss des Streams abgeschnitten hat: Die Nachricht hat keinen `stop_reason` und der Inhalt kann mitten im Wort enden. Das Feld fehlt bei normal abgeschlossenen Nachrichten. Es erfordert Agent SDK v0.3.214 oder später.

1694 1698 

1695`agent_id` identifiziert den Subagenten, der die Nachricht erzeugt hat, und fehlt bei Nachrichten des Hauptthreads. Der Wert entspricht der `task_id` in den [`task_started`](#sdktaskstartedmessage)- und anderen Task-Ereignissen dieses Subagenten und bleibt unverändert, wenn der Subagent [fortgesetzt](https://code.claude.com/docs/de/agent-sdk/subagents.md#resume-subagents) wird. Das Feld erfordert Agent SDK v0.3.292 oder höher.1699`agent_id` identifiziert den Subagenten, der die Nachricht erzeugt hat, und fehlt bei Nachrichten des Haupt-Threads. Der Wert entspricht der `task_id` im [`task_started`](#sdktaskstartedmessage)-Ereignis und in den anderen Task-Ereignissen dieses Subagenten und bleibt unverändert, wenn der Subagent [fortgesetzt](https://code.claude.com/docs/de/agent-sdk/subagents.md#resume-subagents) wird. Bei Nachrichten eines [verschachtelten Subagenten](https://code.claude.com/docs/de/sub-agents.md#let-subagents-spawn-their-own-subagents) benennt es den verschachtelten Subagenten, nicht den Subagenten, der ihn gestartet hat. Das Feld erfordert Agent SDK v0.3.292 oder höher.

1696 1700 

1697Ordnen Sie die Nachrichten eines Subagenten seinen Task-Ereignissen über `agent_id` zu, statt die `parent_tool_use_id` einer Nachricht mit der `tool_use_id` eines Task-Ereignisses zu paaren. Wenn ein Tool-Aufruf den Subagenten fortsetzt, tragen die Task-Ereignisse die `tool_use_id` dieses Aufrufs, während die Nachrichten die `parent_tool_use_id` des Tool-Aufrufs behalten, der den Subagenten ursprünglich gestartet hat, sodass die beiden nicht mehr übereinstimmen.1701Ordnen Sie die Nachrichten eines Subagenten seinen Task-Ereignissen über `agent_id` zu, statt die `parent_tool_use_id` einer Nachricht mit der `tool_use_id` eines Task-Ereignisses zu paaren. Wenn ein Tool-Aufruf den Subagenten fortsetzt, tragen die Task-Ereignisse die `tool_use_id` dieses Aufrufs, während die Nachrichten die `parent_tool_use_id` des Tool-Aufrufs behalten, der den Subagenten ursprünglich gestartet hat, sodass die beiden nicht mehr übereinstimmen.

1698 1702 


3271 3275 

3272### Agent3276### Agent

3273 3277 

3274**Tool-Name:** `Agent`. Der frühere Name `Task` wird immer noch als Alias akzeptiert, und das `tools`-Array in der [`SDKSystemMessage`](#sdksystemmessage)-Initialisierungsnachricht listet dieses Tool derzeit aus Gründen der Rückwärtskompatibilität als `Task` auf.3278**Tool-Name:** `Agent`. Der frühere Name `Task` wird weiterhin als Alias akzeptiert, wenn dieses Tool in der Sitzung verfügbar ist.

3279 

3280Das `tools`-Array in der [`SDKSystemMessage`](#sdksystemmessage)-Initialisierungsnachricht listet dieses Tool aus Gründen der Rückwärtskompatibilität als `Task` auf.

3275 3281 

3276> [!NOTE]3282> [!NOTE]

3277>3283>


4008 4014 

4009### Agent4015### Agent

4010 4016 

4011**Tool-Name:** `Agent`. Der frühere Name `Task` wird immer noch als Alias akzeptiert, und das `tools`-Array in der [`SDKSystemMessage`](#sdksystemmessage)-Initialisierungsnachricht listet dieses Tool derzeit als `Task` für Rückwärtskompatibilität auf.4017**Tool-Name:** `Agent`. Der frühere Name `Task` wird weiterhin als Alias akzeptiert, wenn dieses Tool in der Sitzung verfügbar ist.

4012 4018 

4013```typescript theme={null}4019```typescript theme={null}

4014type AgentOutput =4020type AgentOutput =


5208 5214 

5209#### Wenn `_meta.ui` eines Tools nur `visibility` enthält5215#### Wenn `_meta.ui` eines Tools nur `visibility` enthält

5210 5216 

5211Wenn Ihr Server `ui.resourceUri` für ein Tool deklariert, das `_meta.ui`, das Ihre Anwendung empfängt, aber nur `visibility` enthält, hat das vom Server gesendete `ui`-Objekt eine der Prüfungen von Claude Code nicht bestanden. Claude Code prüft `ui` und `ui/resourceUri` getrennt, sodass ein Schlüssel Ihre Anwendung erreichen kann, wenn der andere die Prüfung nicht besteht. Vergleichen Sie das `_meta` in der `tools/list`-Antwort Ihres Servers mit den Prüfungen für jeden Schlüssel:5217Wenn Ihr Server `ui.resourceUri` für ein Tool deklariert, das `_meta.ui`, das Ihre Anwendung empfängt, aber nur `visibility` enthält, hat das vom Server gesendete `ui`-Objekt eine der Prüfungen von Claude Code nicht bestanden. Vergleichen Sie das `_meta` in der `tools/list`-Antwort Ihres Servers mit den Prüfungen für jeden Schlüssel:

5212 5218 

5213* **`ui`**: erreicht Ihre Anwendung unverändert, einschließlich aller Mitglieder außer `resourceUri` und `visibility`, wenn alle drei Prüfungen bestanden werden:5219* **`ui`**: erreicht Ihre Anwendung unverändert, einschließlich aller Mitglieder außer `resourceUri` und `visibility`, wenn alle drei Prüfungen bestanden werden:

5214 5220 


5551 5557 

5552Claude Code liefert diese Nachricht, [`SDKHookProgressMessage`](#sdkhookprogressmessage) und [`SDKHookResponseMessage`](#sdkhookresponsemessage) sofort an den Nachrichtenstrom, auch während ein `SessionStart`- oder `Setup`-Hook noch während des Sitzungsstarts läuft. Claude Code v2.1.169 bis v2.1.203 lieferte diese Nachrichten in einem Batch, nachdem ein `SessionStart`- oder `Setup`-Hook abgeschlossen war; v2.1.204 stellte die Live-Lieferung wieder her.5558Claude Code liefert diese Nachricht, [`SDKHookProgressMessage`](#sdkhookprogressmessage) und [`SDKHookResponseMessage`](#sdkhookresponsemessage) sofort an den Nachrichtenstrom, auch während ein `SessionStart`- oder `Setup`-Hook noch während des Sitzungsstarts läuft. Claude Code v2.1.169 bis v2.1.203 lieferte diese Nachrichten in einem Batch, nachdem ein `SessionStart`- oder `Setup`-Hook abgeschlossen war; v2.1.204 stellte die Live-Lieferung wieder her.

5553 5559 

5560Wenn Sie die Sitzung mit [`startup()`](#startup) starten, erreichen Sie diese Nachrichten, sobald Sie `.query()` aufrufen und über das Ergebnis iterieren.

5561 

5554```typescript theme={null}5562```typescript theme={null}

5555type SDKHookStartedMessage = {5563type SDKHookStartedMessage = {

5556 type: "system";5564 type: "system";


6070| `allowManagedDomainsOnly` | `boolean` | `false` | Nur verwaltete Einstellungen. Wenn in [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) gesetzt, werden nur `allowedDomains`-Einträge und `WebFetch(domain:...)`-Zulassungsregeln aus verwalteten Einstellungen berücksichtigt, und Zulassungseinträge aus Benutzer-, Projekt- oder lokalen Einstellungen werden ignoriert. Vom SDK aus übergeben Sie es über die [`managedSettings`](#options)-Option |6078| `allowManagedDomainsOnly` | `boolean` | `false` | Nur verwaltete Einstellungen. Wenn in [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) gesetzt, werden nur `allowedDomains`-Einträge und `WebFetch(domain:...)`-Zulassungsregeln aus verwalteten Einstellungen berücksichtigt, und Zulassungseinträge aus Benutzer-, Projekt- oder lokalen Einstellungen werden ignoriert. Vom SDK aus übergeben Sie es über die [`managedSettings`](#options)-Option |

6071| `allowLocalBinding` | `boolean` | `false` | Erlauben Sie Prozessen, sich an lokale Ports zu binden (z. B. für Dev-Server) |6079| `allowLocalBinding` | `boolean` | `false` | Erlauben Sie Prozessen, sich an lokale Ports zu binden (z. B. für Dev-Server) |

6072| `allowUnixSockets` | `string[]` | `[]` | Unix-Socket-Pfade, auf die Prozesse zugreifen können (z. B. Docker-Socket) |6080| `allowUnixSockets` | `string[]` | `[]` | Unix-Socket-Pfade, auf die Prozesse zugreifen können (z. B. Docker-Socket) |

6073| `allowAllUnixSockets` | `boolean` | `false` | Erlauben Sie Zugriff auf alle Unix-Sockets |6081| `allowAllUnixSockets` | `boolean` | `false` | Erlauben Sie Zugriff auf alle Unix-Sockets und unter Linux auf VM-Sockets (`AF_VSOCK`) |

6074| `httpProxyPort` | `number` | `undefined` | HTTP-Proxy-Port für Netzwerkanfragen |6082| `httpProxyPort` | `number` | `undefined` | HTTP-Proxy-Port für Netzwerkanfragen |

6075| `socksProxyPort` | `number` | `undefined` | SOCKS-Proxy-Port für Netzwerkanfragen |6083| `socksProxyPort` | `number` | `undefined` | SOCKS-Proxy-Port für Netzwerkanfragen |

6076 6084 

agent-view.md +8 −2

Details

320 320 

321#### Eine vergangene Sitzung zurückholen321#### Eine vergangene Sitzung zurückholen

322 322 

323Um eine Sitzung mit Claude Code v2.1.212 oder später zurückzuholen, geben Sie `/resume` in die [Versand-Eingabe](#dispatch-an-agent-from-agent-view) ein. Eine Auswahl öffnet sich mit vergangenen Sitzungen des Repositorys, aus dem Sie die Agent-Ansicht geöffnet haben, neueste zuerst, einschließlich Sitzungen, die Sie aus der Liste gelöscht haben. Sitzungen, die bereits eine Zeile haben, werden nicht aufgelistet. Drücken Sie `Enter`, um die ausgewählte Sitzung als Hintergrund-Sitzung fortzusetzen, damit sie als Zeile wieder in die Liste aufgenommen wird.323Um eine Sitzung zurückzuholen, geben Sie `/resume` in die [Versand-Eingabe](#dispatch-an-agent-from-agent-view) ein. Eine Auswahl öffnet sich mit vergangenen Sitzungen des Repositorys, aus dem Sie die Agent-Ansicht geöffnet haben, neueste zuerst, einschließlich Sitzungen, die Sie aus der Liste gelöscht haben. Sitzungen, die bereits eine Zeile haben, werden nicht aufgelistet. Drücken Sie `Enter`, um die ausgewählte Sitzung als Hintergrund-Sitzung fortzusetzen, damit sie als Zeile wieder in die Liste aufgenommen wird.

324 324 

325`/resume` schlägt mit `isn't available in agent view` fehl, wenn:325`/resume` schlägt mit `isn't available in agent view` fehl, wenn:

326 326 


410* `/logout` meldet Sie ab410* `/logout` meldet Sie ab

411* `/model`, `/effort` und `/fast` legen fest, [womit die Sitzungen starten, die Sie als Nächstes versenden](#set-the-model-effort-and-fast-mode). `/effort` und `/fast` erfordern Claude Code v2.1.299 oder später.411* `/model`, `/effort` und `/fast` legen fest, [womit die Sitzungen starten, die Sie als Nächstes versenden](#set-the-model-effort-and-fast-mode). `/effort` und `/fast` erfordern Claude Code v2.1.299 oder später.

412* `/login` öffnet den Anmeldedialog, damit Sie sich erneut anmelden können, ohne sich an eine Sitzung anzuhängen412* `/login` öffnet den Anmeldedialog, damit Sie sich erneut anmelden können, ohne sich an eine Sitzung anzuhängen

413* Ein einfaches `/resume` oder sein Alias `/continue` öffnet eine Auswahl der vergangenen Sitzungen des Repositorys, um [eine davon als Hintergrund-Sitzung zurückzuholen](#bring-back-a-past-session). Erfordert Claude Code v2.1.212 oder später413* Ein einfaches `/resume` oder sein Alias `/continue` öffnet eine Auswahl der vergangenen Sitzungen des Repositorys, um [eine davon als Hintergrund-Sitzung zurückzuholen](#bring-back-a-past-session)

414 414 

415Skills, Ihre eigenen Befehle und Prompt-erweiternde integrierte Befehle wie `/init` werden als erster Prompt an eine neue Hintergrund-Sitzung gesendet. Der Hinweis `isn't available in agent view` bedeutet, dass der eingegebene integrierte Befehl nicht ausgeführt wurde. Um ihn auszuführen, [hängen Sie sich an eine Sitzung an](#attach-to-a-session) und geben Sie ihn dort ein. Alles, was Sie eingegeben haben, bleibt neben dem Hinweis im Eingabefeld, damit Sie es bearbeiten können.415Skills, Ihre eigenen Befehle und Prompt-erweiternde integrierte Befehle wie `/init` werden als erster Prompt an eine neue Hintergrund-Sitzung gesendet. Der Hinweis `isn't available in agent view` bedeutet, dass der eingegebene integrierte Befehl nicht ausgeführt wurde. Um ihn auszuführen, [hängen Sie sich an eine Sitzung an](#attach-to-a-session) und geben Sie ihn dort ein. Alles, was Sie eingegeben haben, bleibt neben dem Hinweis im Eingabefeld, damit Sie es bearbeiten können.

416 416 


454 454 

455Wenn die [Agenten-Ansicht ausgeschaltet](#turn-off-agent-view) ist, startet `/fork` einen [geforkten Subagenten](https://code.claude.com/docs/de/sub-agents.md#fork-the-current-conversation), anstatt die Sitzung zu kopieren.455Wenn die [Agenten-Ansicht ausgeschaltet](#turn-off-agent-view) ist, startet `/fork` einen [geforkten Subagenten](https://code.claude.com/docs/de/sub-agents.md#fork-the-current-conversation), anstatt die Sitzung zu kopieren.

456 456 

457##### Der Kopie einen Prompt geben und ihre Sitzung öffnen

458 

457Übergeben Sie einen Prompt wie `/fork open a draft pull request with the work so far`, und die Kopie beginnt sofort mit der Arbeit daran. Ohne Prompt wartet die Kopie auf ihre erste Anweisung: Wählen Sie ihre Zeile in `claude agents` aus und drücken Sie `Space`, um eine zu senden, oder führen Sie `claude attach <id>` aus. Die ausgewählte Zeile zeigt `space to send it a prompt` an, während sie wartet.459Übergeben Sie einen Prompt wie `/fork open a draft pull request with the work so far`, und die Kopie beginnt sofort mit der Arbeit daran. Ohne Prompt wartet die Kopie auf ihre erste Anweisung: Wählen Sie ihre Zeile in `claude agents` aus und drücken Sie `Space`, um eine zu senden, oder führen Sie `claude attach <id>` aus. Die ausgewählte Zeile zeigt `space to send it a prompt` an, während sie wartet.

458 460 

459Die `/fork`-Bestätigung ist eine Zeile, die den Zustand der Kopie anzeigt, z. B. `session running`, den Namen ihrer Zeile in der Agenten-Ansicht und ihre Sitzungs-ID für `claude attach`. Klicken Sie auf den Namen, um in die Kopie zu wechseln: Diese Sitzung wird in den Hintergrund verschoben, genau wie beim Drücken von `←`, und die Agenten-Ansicht öffnet die Sitzung der Kopie.461Die `/fork`-Bestätigung ist eine Zeile, die den Zustand der Kopie anzeigt, z. B. `session running`, den Namen ihrer Zeile in der Agenten-Ansicht und ihre Sitzungs-ID für `claude attach`. Klicken Sie auf den Namen, um in die Kopie zu wechseln: Diese Sitzung wird in den Hintergrund verschoben, genau wie beim Drücken von `←`, und die Agenten-Ansicht öffnet die Sitzung der Kopie.

460 462 

463##### Wo die Kopie läuft

464 

461Außer wenn die Kopie [an Ort und Stelle bearbeitet](#how-file-edits-are-isolated), weist Claude Code sie an, einen eigenen Worktree zu erstellen, bevor sie Code-Änderungen vornimmt. Außerhalb eines Git-Repositorys erhält nur eine Kopie, die aus einem von einem Hook erstellten Worktree herausverschoben wurde, diese Anweisung; ohne [`WorktreeCreate`-Hook](https://code.claude.com/docs/de/hooks#worktreecreate) bearbeitet die Kopie an Ort und Stelle. Eine Kopie, die aus Ihrem Worktree herausverschoben wurde, wird außerdem angewiesen, diesen Worktree niemals zu bearbeiten, darin keine Befehle auszuführen und ihn nicht zu betreten, unabhängig von der Isolationseinstellung.465Außer wenn die Kopie [an Ort und Stelle bearbeitet](#how-file-edits-are-isolated), weist Claude Code sie an, einen eigenen Worktree zu erstellen, bevor sie Code-Änderungen vornimmt. Außerhalb eines Git-Repositorys erhält nur eine Kopie, die aus einem von einem Hook erstellten Worktree herausverschoben wurde, diese Anweisung; ohne [`WorktreeCreate`-Hook](https://code.claude.com/docs/de/hooks#worktreecreate) bearbeitet die Kopie an Ort und Stelle. Eine Kopie, die aus Ihrem Worktree herausverschoben wurde, wird außerdem angewiesen, diesen Worktree niemals zu bearbeiten, darin keine Befehle auszuführen und ihn nicht zu betreten, unabhängig von der Isolationseinstellung.

462 466 

463Wo die Kopie startet, hängt davon ab, wo die aktuelle Sitzung läuft:467Wo die Kopie startet, hängt davon ab, wo die aktuelle Sitzung läuft:


467* Wenn Sie die Sitzung in einem verknüpften Worktree eines Repositorys gestartet haben, das eine Haupt-Arbeitskopie hat, startet die Kopie in dieser Haupt-Arbeitskopie, mit derselben Regel zum eigenen Worktree, aber ohne Branch-Anweisung. Die Bestätigung endet auch hier mit `runs in the origin tree`.471* Wenn Sie die Sitzung in einem verknüpften Worktree eines Repositorys gestartet haben, das eine Haupt-Arbeitskopie hat, startet die Kopie in dieser Haupt-Arbeitskopie, mit derselben Regel zum eigenen Worktree, aber ohne Branch-Anweisung. Die Bestätigung endet auch hier mit `runs in the origin tree`.

468* Eine Sitzung, die in einem Worktree eines Bare-Repository-Layouts gestartet wurde, hat keine Haupt-Arbeitskopie, zu der sie zurückkehren kann, daher bleibt die Kopie, wo sie ist, und die Bestätigung endet mit `edits this checkout`. Derselbe Hinweis erscheint, wenn die Worktree-Isolation in einer Sitzung, die sich nicht in einem verknüpften Worktree befindet, [ausgeschaltet](#how-file-edits-are-isolated) ist, weil die Kopie dann die Dateien bearbeitet, die Sie geöffnet haben.472* Eine Sitzung, die in einem Worktree eines Bare-Repository-Layouts gestartet wurde, hat keine Haupt-Arbeitskopie, zu der sie zurückkehren kann, daher bleibt die Kopie, wo sie ist, und die Bestätigung endet mit `edits this checkout`. Derselbe Hinweis erscheint, wenn die Worktree-Isolation in einer Sitzung, die sich nicht in einem verknüpften Worktree befindet, [ausgeschaltet](#how-file-edits-are-isolated) ist, weil die Kopie dann die Dateien bearbeitet, die Sie geöffnet haben.

469 473 

474##### Sitzungen, die nicht geforkt werden können

475 

470Sitzungen, die mit Start-Flags gestartet wurden, die die Kopie nicht erben würde, etwa ein ersetzter System-Prompt oder eine `--tools`-Allowlist, können nicht geforkt werden; Claude Code weist darauf hin, anstatt eine unvollständige Kopie zu erstellen. Eine aus der Agenten-Ansicht versendete Sitzung lässt sich normal forken: Die Kopie wird mit derselben [Agenten-Definition](https://code.claude.com/docs/de/sub-agents.md) und denselben angehängten Anweisungen gestartet wie die Sitzung, aus der sie stammt.476Sitzungen, die mit Start-Flags gestartet wurden, die die Kopie nicht erben würde, etwa ein ersetzter System-Prompt oder eine `--tools`-Allowlist, können nicht geforkt werden; Claude Code weist darauf hin, anstatt eine unvollständige Kopie zu erstellen. Eine aus der Agenten-Ansicht versendete Sitzung lässt sich normal forken: Die Kopie wird mit derselben [Agenten-Definition](https://code.claude.com/docs/de/sub-agents.md) und denselben angehängten Anweisungen gestartet wie die Sitzung, aus der sie stammt.

471 477 

472#### Was beim Verschieben in den Hintergrund übernommen wird478#### Was beim Verschieben in den Hintergrund übernommen wird

agents.md +1 −1

Details

32 32 

33> [!NOTE]33> [!NOTE]

34>34>

35> Das gleichzeitige Ausführen mehrerer Sitzungen oder Subagenten vervielfacht die Token-Nutzung. Siehe [Kosten](https://code.claude.com/docs/de/costs.md) für Details zur Nutzung und Rate-Limit-Details.35> Wenn Sie mehrere Sitzungen oder Subagenten gleichzeitig ausführen, vervielfacht sich der Token-Verbrauch. Details zur Nutzung und zu Rate-Limits finden Sie unter [Kosten](https://code.claude.com/docs/de/costs.md).

36 36 

37## Wählen Sie einen Ansatz37## Wählen Sie einen Ansatz

38 38 

Details

251| Primäres Modell | Opus 5.5, beispielsweise `us.anthropic.claude-opus-5-5` in einer `us-*`-Region |251| Primäres Modell | Opus 5.5, beispielsweise `us.anthropic.claude-opus-5-5` in einer `us-*`-Region |

252| Kleines/schnelles Modell | Sonnet 4.5, beispielsweise `us.anthropic.claude-sonnet-4-5-20250929-v1:0` in einer `us-*`-Region |252| Kleines/schnelles Modell | Sonnet 4.5, beispielsweise `us.anthropic.claude-sonnet-4-5-20250929-v1:0` in einer `us-*`-Region |

253 253 

254Vor v2.1.280 war das primäre Modell auf Amazon Bedrock standardmäßig Opus 5 und der `opus`-Alias wurde ab v2.1.219 zu Opus 5 aufgelöst.

255 

254Hintergrundaufgaben wie die Generierung von Sitzungstiteln verwenden das kleine/schnelle Modell, normalerweise ein Haiku-Klasse-Modell. Auf Amazon Bedrock verwendet Claude Code das Standard-Sonnet-Modell für Hintergrundaufgaben, da Haiku möglicherweise nicht in jedem Konto oder jeder Region aktiviert ist. Zwei Auswahlen ändern, welches Modell sie trägt:256Hintergrundaufgaben wie die Generierung von Sitzungstiteln verwenden das kleine/schnelle Modell, normalerweise ein Haiku-Klasse-Modell. Auf Amazon Bedrock verwendet Claude Code das Standard-Sonnet-Modell für Hintergrundaufgaben, da Haiku möglicherweise nicht in jedem Konto oder jeder Region aktiviert ist. Zwei Auswahlen ändern, welches Modell sie trägt:

255 257 

256* Wenn Sie ein primäres Modell mit `--model`, `ANTHROPIC_MODEL` oder der `model`-Einstellung auswählen, verwenden Hintergrundaufgaben dieses Modell. Wenn Claude Code die Sitzung auf dem Modell startet, das Sie mit [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/de/model-config#set-a-default-model-for-new-sessions) gesetzt haben, verwenden Hintergrundaufgaben auch dieses Modell. Das Setzen von `ANTHROPIC_DEFAULT_OPUS_MODEL` ohne `ANTHROPIC_DEFAULT_SONNET_MODEL` zählt auch als Auswahl, da das integrierte Sonnet-Modell möglicherweise nicht in einem Konto aktiviert ist, das sein eigenes Opus steuert.258* Wenn Sie ein primäres Modell mit `--model`, `ANTHROPIC_MODEL` oder der `model`-Einstellung auswählen, verwenden Hintergrundaufgaben dieses Modell. Wenn Claude Code die Sitzung auf dem Modell startet, das Sie mit [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/de/model-config#set-a-default-model-for-new-sessions) gesetzt haben, verwenden Hintergrundaufgaben auch dieses Modell. Das Setzen von `ANTHROPIC_DEFAULT_OPUS_MODEL` ohne `ANTHROPIC_DEFAULT_SONNET_MODEL` zählt auch als Auswahl, da das integrierte Sonnet-Modell möglicherweise nicht in einem Konto aktiviert ist, das sein eigenes Opus steuert.


260>262>

261> Opus-Modelle haben einen höheren Pro-Token-Preis als Sonnet-Modelle. Wenn Sie kein primäres Modell anheften, wird Ihnen daher der Opus-Satz berechnet. Um Sonnet 4.5 als primäres Modell zu verwenden, setzen Sie `ANTHROPIC_MODEL` auf seine vollständige Modell-ID. Eine Bereitstellung, die den Standard mit `ANTHROPIC_DEFAULT_SONNET_MODEL` steuert und `ANTHROPIC_DEFAULT_OPUS_MODEL` nicht setzt, behält ihr gesteuertes Sonnet-Modell als Standard.263> Opus-Modelle haben einen höheren Pro-Token-Preis als Sonnet-Modelle. Wenn Sie kein primäres Modell anheften, wird Ihnen daher der Opus-Satz berechnet. Um Sonnet 4.5 als primäres Modell zu verwenden, setzen Sie `ANTHROPIC_MODEL` auf seine vollständige Modell-ID. Eine Bereitstellung, die den Standard mit `ANTHROPIC_DEFAULT_SONNET_MODEL` steuert und `ANTHROPIC_DEFAULT_OPUS_MODEL` nicht setzt, behält ihr gesteuertes Sonnet-Modell als Standard.

262 264 

263Vor v2.1.280 war das primäre Modell auf Amazon Bedrock standardmäßig Opus 5 und der `opus`-Alias wurde zu Opus 5 ab v2.1.219 aufgelöst. In v2.1.207 bis v2.1.218 war das primäre Modell auf Amazon Bedrock standardmäßig Opus 4.8 und der `opus`-Alias wurde zu Opus 4.8 aufgelöst.

264 

265Um Modelle weiter anzupassen, verwenden Sie eine dieser Methoden:265Um Modelle weiter anzupassen, verwenden Sie eine dieser Methoden:

266 266 

267```bash theme={null}267```bash theme={null}

artifacts.md +2 −2

Details

95 95 

96Wählen Sie ein Artefakt aus und drücken Sie dann eine dieser Tasten:96Wählen Sie ein Artefakt aus und drücken Sie dann eine dieser Tasten:

97 97 

98* **`Enter`**: öffnet es in Ihrem Browser, wenn es bereits an die aktuelle Sitzung angefügt ist, und fügt es an, wenn dies nicht der Fall ist. Vor v2.1.216 öffnete `Enter` es in Ihrem Browser98* **`Enter`**: öffnet es in Ihrem Browser, wenn es bereits an die aktuelle Sitzung angefügt ist, und fügt es an, wenn dies nicht der Fall ist

99* **`o`**: öffnet es in Ihrem Browser99* **`o`**: öffnet es in Ihrem Browser

100* **`c`**: kopiert seinen Link100* **`c`**: kopiert seinen Link

101* **`d`**: löscht außerhalb einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) ein Artefakt, das Sie besitzen, nach Ihrer Bestätigung dauerhaft. Sein Link funktioniert danach für niemanden mehr, auch nicht für Sie101* **`d`**: löscht außerhalb einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) ein Artefakt, das Sie besitzen, nach Ihrer Bestätigung dauerhaft. Sein Link funktioniert danach für niemanden mehr, auch nicht für Sie


225 225 

226Wenn eine Konnektor-gestützte Seite gerendert wird, aber ihre Live-Abschnitte für einen Betrachter in Ihrer Organisation leer bleiben, arbeiten Sie diese Ursachen durch:226Wenn eine Konnektor-gestützte Seite gerendert wird, aber ihre Live-Abschnitte für einen Betrachter in Ihrer Organisation leer bleiben, arbeiten Sie diese Ursachen durch:

227 227 

228* **Der Betrachter hat den Konnektor nicht verbunden**: Konnektoren sind pro Konto, daher benötigt jeder Betrachter seine eigene Verbindung zu jedem Konnektor, den die Seite aufruft. Sie können einen unter **Einstellungen > Konnektoren** auf claude.ai hinzufügen und dann die Seite neu laden.228* **Der Betrachter hat den Konnektor nicht verbunden**: Konnektoren sind pro Konto, daher benötigt jeder Betrachter seine eigene Verbindung zu jedem Konnektor, den die Seite aufruft. Er kann einen unter [**Customize > Connectors**](https://claude.ai/customize/connectors) auf claude.ai hinzufügen und dann die Seite neu laden.

229* **Der Betrachter hat die Genehmigungsanfrage abgelehnt**: Eine Ablehnung gilt für den Rest dieses Seitenladevorgangs. Das Neuladen der Seite bringt die Genehmigungsanfrage zurück.229* **Der Betrachter hat die Genehmigungsanfrage abgelehnt**: Eine Ablehnung gilt für den Rest dieses Seitenladevorgangs. Das Neuladen der Seite bringt die Genehmigungsanfrage zurück.

230* **Konnektoraufrufe sind für die Organisation deaktiviert**: Ein Besitzer steuert den [**Artefakt-Konnektoren aktivieren**-Schalter](#control-connector-calls-from-artifacts) in den Admin-Einstellungen.230* **Konnektoraufrufe sind für die Organisation deaktiviert**: Ein Besitzer steuert den [**Artefakt-Konnektoren aktivieren**-Schalter](#control-connector-calls-from-artifacts) in den Admin-Einstellungen.

231* **Die Seite ruft Tool-Namen auf, die der Konnektor nicht verfügbar macht**: Die betroffenen Abschnitte bleiben für alle leer, einschließlich Sie. Dies kann vorkommen, wenn eine Seite die einzelnen Tools hinter einem Gateway-ähnlichen Konnektor benennt, der nur wenige seiner eigenen Tools verfügbar macht. Bitten Sie Claude, die Tool-Namen zu korrigieren, die die Seite aufruft, und veröffentlichen Sie sie erneut.231* **Die Seite ruft Tool-Namen auf, die der Konnektor nicht verfügbar macht**: Die betroffenen Abschnitte bleiben für alle leer, einschließlich Sie. Dies kann vorkommen, wenn eine Seite die einzelnen Tools hinter einem Gateway-ähnlichen Konnektor benennt, der nur wenige seiner eigenen Tools verfügbar macht. Bitten Sie Claude, die Tool-Namen zu korrigieren, die die Seite aufruft, und veröffentlichen Sie sie erneut.

best-practices.md +416 −354

Details

4 4 

5# Best Practices für Claude Code5# Best Practices für Claude Code

6 6 

7> Tipps und Muster, um das Beste aus Claude Code herauszuholen – von der Konfiguration Ihrer Umgebung bis zur Skalierung über parallele Sessions.7> Holen Sie mehr aus Claude Code heraus: Sagen Sie Claude, was es nicht sehen kann, geben Sie ihm eine Prüfung zum Ausführen, und setzen Sie die Regeln durch, die keine Ausnahmen haben dürfen.

8 8 

9Claude Code ist eine agentengesteuerte Coding-Umgebung. Im Gegensatz zu einem Chatbot, der Fragen beantwortet und wartet, kann Claude Code Ihre Dateien lesen, Befehle ausführen, Änderungen vornehmen und autonom Probleme lösen, während Sie zuschauen, umleiten oder sich ganz zurückziehen.9Claude Code ist so aufgebaut, dass in den meisten Fällen bereits Ihr erster einfacher Prompt in einer neuen Sitzung das Richtige tut, ohne dass Sie etwas einrichten müssen.

10 10 

11Dies ändert Ihre Arbeitsweise. Anstatt Code selbst zu schreiben und Claude zur Überprüfung zu bitten, beschreiben Sie, was Sie möchten, und Claude findet heraus, wie es zu bauen ist. Claude erkundet, plant und implementiert.11Zum Beispiel:

12 12 

13Aber diese Autonomie bringt immer noch eine Lernkurve mit sich. Claude arbeitet innerhalb bestimmter Einschränkungen, die Sie verstehen müssen.13* Damit Befehle sicher ausgeführt werden, ohne dass Sie jeden einzeln genehmigen, starten neue Terminal- und VS Code-Sitzungen im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode), in dem ein Klassifikator alles Riskante prüft, bevor es ausgeführt wird.

14* Damit Ihre Hauptkonversation fokussiert bleibt, während unabhängige Arbeit parallel erledigt wird, delegiert Claude an Subagenten und meldet sich nur, wenn es nötig ist.

15* Damit eine lange Sitzung weiterläuft, ohne dass Sie sich darum kümmern müssen, wird Ihre Konversation automatisch komprimiert, bevor sich das Kontextfenster füllt.

14 16 

15Dieser Leitfaden behandelt Muster, die sich in den internen Teams von Anthropic und bei Ingenieuren, die Claude Code in verschiedenen Codebases, Sprachen und Umgebungen nutzen, als wirksam erwiesen haben. Informationen zur Funktionsweise der agentengesteuerten Schleife finden Sie unter [How Claude Code works](https://code.claude.com/docs/de/how-claude-code-works.md).17Diese Seite behandelt, was zu tun ist, wenn die Standardeinstellungen nicht ausreichen. Das passiert meist, wenn Ihr Projekt Wissen, Regeln oder Einschränkungen hat, die Claude allein aus dem Code nicht erkennen kann:

16 18 

17***19* Ein Deploy-Prozess, der nur im Kopf einer Person existiert

20* Eine Datei, die niemals gelesen werden darf

21* Eine Prüfung, die bestanden sein muss, bevor etwas als erledigt gilt

22* Ein Budget, das Sie einhalten müssen

18 23 

19Die meisten Best Practices basieren auf einer Einschränkung: Claudes Kontextfenster füllt sich schnell, und die Leistung verschlechtert sich, wenn es sich füllt.24Keine Standardeinstellung kann diese Dinge über Ihr Projekt wissen, daher lohnt sich hier ein wenig Einrichtung auf Ihrer Seite.

20 25 

21Claudes Kontextfenster enthält Ihre gesamte Konversation, einschließlich jeder Nachricht, jeder Datei, die Claude liest, und jeder Befehlsausgabe. Dies kann sich jedoch schnell füllen. Eine einzelne Debugging-Sitzung oder Codebase-Erkundung könnte Zehntausende von Tokens generieren und verbrauchen.26Wenn eine Sitzung nicht so verläuft, wie Sie es erwartet haben, liegt es fast immer an einem dieser Punkte:

22 27 

23Dies ist wichtig, da die LLM-Leistung abnimmt, wenn sich der Kontext füllt. Wenn das Kontextfenster voll wird, könnte Claude anfangen, frühere Anweisungen zu „vergessen“ oder mehr Fehler zu machen. Das Kontextfenster ist die wichtigste Ressource, die verwaltet werden muss. Um zu sehen, wie sich eine Session in der Praxis füllt, [schauen Sie sich eine interaktive Anleitung](https://code.claude.com/docs/de/context-window.md) an, was beim Start geladen wird und was jedes Datei-Lesen kostet. Verfolgen Sie die Kontextnutzung kontinuierlich mit einer [benutzerdefinierten Statuszeile](https://code.claude.com/docs/de/statusline.md), und siehe [Token-Nutzung reduzieren](https://code.claude.com/docs/de/costs.md#reduce-token-usage) für Strategien zur Reduzierung der Token-Nutzung.28* Claude hat etwas anderes gebaut, als Sie im Sinn hatten, oder muss zu Beginn jeder Sitzung dieselbe Tatsache neu herausfinden. Ihm fehlen Informationen, die es durch Lesen des Repos nicht bekommen kann. Siehe [Sagen Sie Claude, was es nicht sehen kann](#tell-claude-what-it-cant-see).

29* Claude sagte, es sei fertig, und das stimmte nicht ganz, meist weil es keine Möglichkeit hatte, die eigene Arbeit zu prüfen. Siehe [Geben Sie Claude eine Prüfung zum Ausführen](#give-claude-a-check-to-run).

30* Claude hat etwas getan, das in diesem Repo niemals passieren darf, oder einen Schritt übersprungen, der immer passieren muss. Ein Prompt allein kann keines von beidem garantieren. Siehe [Setzen Sie die Regeln durch, die keine Ausnahmen haben dürfen](#enforce-the-rules-that-cant-have-exceptions).

31* Claude hat es richtig gemacht, aber es hat mehr Zeit, Token oder Berechtigungsabfragen gekostet, als die Aufgabe wert war. Siehe [Ändern Sie eine Standardeinstellung](#change-a-default).

24 32 

25***33[Lassen Sie Claude ohne Sie arbeiten](#let-claude-run-without-you) wendet dieselben vier Punkte auf unbeaufsichtigte Läufe an, und [Was Sie nicht mehr tun müssen](#what-you-can-stop-doing) listet die Ratschläge auf, die aktuelle Modelle überflüssig gemacht haben.

26 34 

27## Geben Sie Claude eine Möglichkeit, seine Arbeit zu überprüfen35> [!NOTE]

28 

29> [!TIP]

30>36>

31> Geben Sie Claude eine Überprüfung, die er ausführen kann: Tests, einen Build, einen Screenshot zum Vergleichen. Das ist der Unterschied zwischen einer Sitzung, die Sie beobachten, und einer, bei der Sie sich entfernen können.37> Die Einrichtung für ein ganzes Team wird auf einer eigenen Seite behandelt: [Claude Code für Ihre Organisation einrichten](https://code.claude.com/docs/de/admin-setup.md).

32 38 

33Claude stoppt, wenn die Arbeit erledigt aussieht. Ohne eine Überprüfung, die er ausführen kann, ist „sieht erledigt aus“ das einzige verfügbare Signal, und Sie werden zur Überprüfungsschleife: jeder Fehler wartet darauf, dass Sie ihn bemerken. Geben Sie Claude etwas, das ein Bestanden oder Fehlgeschlagen erzeugt, und die Schleife schließt sich von selbst. Claude führt die Arbeit aus, führt die Überprüfung aus, liest das Ergebnis und iteriert, bis die Überprüfung bestanden ist.39## Deterministische und nicht deterministische Anweisungen

34 40 

35Die Überprüfung ist alles, das ein Signal zurückgibt, das Claude im Gespräch lesen kann: eine Test-Suite, ein Build-Exit-Code, ein Linter, ein Skript, das die Ausgabe mit einem Fixture vergleicht, oder ein [Browser-Screenshot](https://code.claude.com/docs/de/chrome.md), der mit einem Design verglichen wird. Führen Sie [`/verify`](https://code.claude.com/docs/de/skills#run-and-verify-your-app) selbst aus, nachdem Claudes Überprüfung bestanden ist, um die Änderung gegen die laufende App zu bestätigen.41Jede Anweisung, die Sie Claude Code geben, gehört zu einer dieser Arten:

36 42 

37| Strategie | Vorher | Nachher |431. Nicht deterministisch: Sie schreiben die Anweisung, und Claude (das Modell) liest sie. Das kann Ihr Prompt, `CLAUDE.md` oder ein Skill sein. Das Modell entscheidet dann, was es mit dieser Information macht. Es folgt Ihren Anweisungen in der Regel, und aktuelle Modelle verstehen Ihre Absicht auch ohne viel Kontext gut, aber es gibt keine *Garantie*, dass es Ihren Anweisungen folgt. Es kann trotzdem entscheiden, Dinge nicht zu tun oder andere Dinge zu tun.

38| - | - | - |442. Deterministisch: Sie konfigurieren die Anweisung, und Claude Code (der Harness) *muss* sie ausführen. Das kann ein Hook, eine deny-Regel oder eine verwaltete Einstellung sein. Claude Code wendet dies jedes Mal an, unabhängig davon, was das Modell entschieden hat.

39| **Überprüfungskriterien bereitstellen** | *„implementiere eine Funktion, die E-Mail-Adressen validiert“* | *„schreibe eine validateEmail-Funktion. Beispiel-Testfälle: [user@example.com](mailto:user@example.com) ist wahr, invalid ist falsch, [user@.com](mailto:user@.com) ist falsch. führe die Tests nach der Implementierung aus“* |

40| **UI-Änderungen visuell überprüfen** | *„mache das Dashboard besser aussehen“* | *„\[Screenshot einfügen] implementiere dieses Design. mache einen Screenshot des Ergebnisses und vergleiche ihn mit dem Original. liste Unterschiede auf und behebe sie“* |

41| **Grundursachen beheben, nicht Symptome** | *„der Build schlägt fehl“* | *„der Build schlägt mit diesem Fehler fehl: \[Fehler einfügen]. behebe ihn und überprüfe, dass der Build erfolgreich ist. behebe die Grundursache, unterdrücke den Fehler nicht“* |

42 45 

43Sobald die Überprüfung vorhanden ist, entscheiden Sie, wie streng sie den Stopp kontrolliert:46Die meisten Dinge in Claude Code gibt es in beiden Formen:

44 47 

45* **In einer Eingabeaufforderung**: Bitten Sie Claude, die Überprüfung auszuführen und in derselben Nachricht zu iterieren, wie in der Tabelle oben.48| | Nicht deterministisch (Claude entscheidet) | Deterministisch (Claude Code setzt durch) |

46* **Über eine Sitzung**: Legen Sie die Überprüfung als [`/goal`-Bedingung](https://code.claude.com/docs/de/goal) fest. Ein separater Evaluator überprüft sie nach jedem Zug erneut und Claude arbeitet weiter, bis die Bedingung erfüllt ist. Wenn Claude steckenbleibt, beendet Claude Code den Lauf schließlich mit der noch gesetzten Bedingung — siehe [wie /goal-Evaluierung funktioniert](https://code.claude.com/docs/de/goal.md#how-evaluation-works).49| :- | :- | :- |

47* **Als deterministisches Gate**: Ein [Stop-Hook](https://code.claude.com/docs/de/hooks.md#stop) führt Ihre Überprüfung als Skript aus und blockiert das Ende des Zugs, bis er bestanden ist. [Stop-Eingabe](https://code.claude.com/docs/de/hooks.md#stop-input) behandelt die Obergrenze für aufeinanderfolgende Blockierungen.50| Was zu tun ist | Ihr Prompt, `CLAUDE.md`, Skills, die Claude selbst aufgreift | Hooks und Skills, die nur Sie starten können |

48* **Durch eine zweite Meinung**: Ein [Überprüfungs-Subagent](https://code.claude.com/docs/de/sub-agents.md) oder ein [dynamischer Workflow](https://code.claude.com/docs/de/workflows.md), der seine eigenen Erkenntnisse überprüft, lässt ein frisches Modell versuchen, das Ergebnis zu widerlegen, sodass der Agent, der die Arbeit verrichtet, nicht derjenige ist, der sie bewertet.51| Worauf es zugreifen darf | Der Klassifikator des Auto-Modus | deny-Regeln, die Sandbox im [strikten Modus](https://code.claude.com/docs/de/sandboxing.md#turn-off-the-retry-with-strict-sandbox-mode), verwaltete Einstellungen |

52| Wann es fertig ist | Eine Bitte um Belege, `/goal`, `/code-review` | Tests, Typecheck, ein `Stop`-Hook, CI |

53| Wie viel es ausgibt | Effort-Stufe, Claudes eigenes Tempo | `--max-turns` oder [`--max-budget-usd`](https://code.claude.com/docs/de/cli-reference) mit `-p`, ein von Ihnen festgelegtes [Ausgabenlimit](https://code.claude.com/docs/de/costs.md) |

54| Wer das letzte Wort hat | Claudes Zusammenfassung dessen, was es getan hat | Branch-Schutz, eine Person, die den Merge genehmigt |

49 55 

50Jeder Schritt tauscht Setup gegen Aufmerksamkeit. Die Eingabeaufforderungsversion funktioniert heute bei jeder Aufgabe. Die `/goal`- und Stop-Hook-Versionen sind das, was einen unbeaufsichtigten Lauf ermöglicht, um korrekt zu beenden, ohne dass Sie eingreifen müssen.56Meistens möchten Sie, dass Claude entscheidet. Fast jede Richtlinie hat Ausnahmen, und aktuelle Modelle können den vorliegenden Code gut lesen und beurteilen, ob eine Richtlinie zur Situation passt. Mit dem tatsächlichen Code vor Augen ist Claude meist besser in der Lage, diese Entscheidung zu treffen, als eine Regel, die Sie im Voraus geschrieben haben.

51 57 

52Lassen Sie Claude Belege zeigen, anstatt Erfolg zu behaupten: die Testausgabe, der Befehl, den es ausgeführt hat, und was er zurückgegeben hat, oder ein Screenshot des Ergebnisses. Die Überprüfung von Belegen ist schneller als die erneute Ausführung der Überprüfung selbst, und es funktioniert für Sitzungen, die Sie nicht beobachtet haben.58Die deterministische Art ist für Fälle gedacht, in denen Sie sicherstellen möchten, dass bestimmte Dinge *immer* passieren (oder nie), unabhängig davon, was das Modell entscheidet. Das muss nichts Dramatisches sein. Der Auto-Modus [blockiert die dramatischen Dinge](https://code.claude.com/docs/de/permission-modes.md#what-the-classifier-blocks-by-default) bereits, etwa ein Production-Deployment oder einen Force-Push über die Arbeit anderer. Meist ist es etwas, das speziell *Ihr* Projekt betrifft, und es kann so speziell sein, wie Sie möchten:

53 59 

54***60* Den generierten Client in `src/gen/` nie bearbeiten

61* Nach dem Erstellen einer Datei immer das Lizenz-Header-Skript ausführen

55 62 

56## Erkunden Sie zuerst, dann planen Sie, dann codieren Sie63Sie hätten beides als Zeile in `CLAUDE.md` oder in Ihrem Prompt schreiben können, und Claude würde dem fast jedes Mal folgen. Aber egal wie nachdrücklich Sie es formulieren: Ob Claude dieser Zeile in einem bestimmten Turn folgt, bleibt Claudes Entscheidung.

57 64 

58> [!TIP]65> [!TIP]

59>66>

60> Trennen Sie Forschung und Planung von der Implementierung, um zu vermeiden, das falsche Problem zu lösen.67> Wenn Sie einer Zeile in `CLAUDE.md` immer mehr Nachdruck verleihen und Claude sie trotzdem übersieht, ist das ein Zeichen, dass die Zeile in einen Hook gehört. Umgekehrt gilt es ebenso: Wenn Sie Hooks für Dinge haben, die nur Vorlieben sind, löschen Sie sie und lassen Sie Claude entscheiden.

61 68 

62Wenn Claude direkt zum Codieren springt, kann dies zu Code führen, der das falsche Problem löst. Verwenden Sie [Plan Mode](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode), um Erkundung von Ausführung zu trennen.69## Sagen Sie Claude, was es nicht sehen kann

63 70 

64Der empfohlene Workflow hat vier Phasen:71> [!TIP]

72>

73> Schreiben Sie nur auf, was Claude beim Lesen des Repos nicht finden kann oder was es sonst in jeder Sitzung erneut herausfinden müsste.

65 74 

66**1. Erkunden**75Claude beginnt jede Aufgabe damit, Ihren Code zu lesen, und aktuelle Modelle sind darin *sehr* gut. Sie finden Ihre Dateistruktur, Ihre Konventionen, Ihr Test-Framework und wie bestehende Komponenten aufgebaut sind, meist schneller, als Sie es erklären könnten. Das heißt, Claude weiß bereits das meiste von dem, was Sie vielleicht für es aufschreiben wollten.

67 76 

68Geben Sie Plan Mode ein, indem Sie `Shift+Tab` drücken, bis die Statusleiste `⏸ plan mode on` anzeigt, oder starten Sie die Sitzung mit `claude --permission-mode plan`. Claude liest Dateien und beantwortet Fragen, ohne Änderungen vorzunehmen.77Was es nicht finden kann, sind Informationen, die nie im Repo standen:

69 78 

70```txt title="claude (plan mode)" wrap theme={null}79* Eine Entscheidung, die Ihr Team in einem Meeting getroffen hat

71read /src/auth and understand how we handle sessions and login.80* Ein Deploy-Prozess, der nur im Kopf einer Person existiert

72also look at how we manage environment variables for secrets.81* Die Umgebungsvariable, die Ihre Integrationstests benötigen

73```

74 82 

75**2. Planen**83Es gibt auch Informationen, die *zwar* im Repo stehen, deren Suche aber ein paar Minuten dauert, und Claude muss diese Suche zu Beginn jeder Sitzung wiederholen.

76 84 

77Bitten Sie Claude, einen detaillierten Implementierungsplan zu erstellen.85Ein guter Test, bevor Sie etwas für Claude aufschreiben:

78 86 

79```txt title="claude (plan mode)" wrap theme={null}871. Könnte es das durch Lesen des Codes finden?

80I want to add Google OAuth. What files need to change?882. Würde es tatsächlich nachsehen?

81What's the session flow? Create a plan.

82```

83 89 

84Drücken Sie `Ctrl+G`, um den Plan in Ihrem Texteditor zur direkten Bearbeitung zu öffnen, bevor Claude fortfährt.90Wenn beides zutrifft, lassen Sie es weg.

85 91 

86**3. Implementieren**92### Schreiben Sie einen spezifischen Prompt

87 93 

88Wechseln Sie aus Plan Mode, indem Sie den Plan genehmigen oder `Shift+Tab` drücken, und lassen Sie Claude dann codieren, wobei Sie gegen seinen Plan überprüfen.94Ein spezifischer Prompt hilft aus demselben Grund, denn er gibt Claude Informationen, die es noch nicht hat. Wenn Sie die Datei nennen, das Symptom beschreiben und von vornherein sagen, wie „behoben“ aussieht, ersparen Sie sich meist später eine Korrekturrunde.

89 95 

90```txt title="claude" wrap theme={null}96Dasselbe gilt für eine Vorliebe zwischen zwei vernünftigen Ansätzen: Claude kann sie nicht aus dem Code ablesen. Wenn es Ihnen also wichtig ist, welchen es wählt, sagen Sie es von vornherein.

91implement the OAuth flow from your plan. write tests for the

92callback handler, run the test suite and fix any failures.

93```

94 97 

95**4. Commit**98| Statt | Versuchen Sie |

99| :- | :- |

100| *„behebe den Login-Bug“* | *„Benutzer berichten, dass der Login nach einem Sitzungs-Timeout fehlschlägt. schau dir den Token-Refresh in src/auth/ an, schreibe einen fehlschlagenden Test, der das reproduziert, und behebe es dann“* |

101| *„füge ein Kalender-Widget hinzu“* | *„folge dem Muster in HotDogWidget.php und baue ein Kalender-Widget, mit dem man einen Monat auswählen und zwischen Jahren blättern kann. keine neuen Bibliotheken“* |

96 102 

97Bitten Sie Claude, mit einer aussagekräftigen Nachricht zu committen und einen PR zu erstellen.103Wenn Sie bereits haben, was Claude braucht, übergeben Sie es direkt, statt es zu beschreiben:

98 104 

99```txt title="claude" wrap theme={null}105* Eine Datei: Geben Sie `@` und den Pfad ein, um [den Dateiinhalt](https://code.claude.com/docs/de/common-workflows.md#reference-files-and-directories) in Ihre Nachricht aufzunehmen.

100commit with a descriptive message and open a PR106* Ein Bild: Fügen Sie den Screenshot des Designs oder des Fehlers in den Prompt ein.

101```107* Befehlsausgabe: Leiten Sie sie aus Ihrer Shell mit `cat error.log | claude -p "what's going on here"` weiter.

102 108 

103Plan Mode ist nützlich, bringt aber auch Overhead mit sich.109Formulierungen wie `think step by step` oder `be thorough` sind gewöhnlicher Prompt-Text und keine Schlüsselwörter. Die wichtigste Steuerung dafür, wie intensiv Claude nachdenkt, ist die [Effort-Stufe](https://code.claude.com/docs/de/model-config.md#adjust-effort-level), die unter [Ändern Sie Modell und Effort](#change-the-model-and-effort) behandelt wird. Solche Formulierungen können Claude innerhalb seiner Effort-Einstellung zwar noch etwas anstoßen, heben es aber nicht darüber hinaus.

104 110 

105Für Aufgaben, bei denen der Umfang klar ist und die Lösung klein ist (wie das Beheben eines Tippfehlers, das Hinzufügen einer Log-Zeile oder das Umbenennen einer Variablen), bitten Sie Claude, es direkt zu tun.111Eine Formulierung, die weiterhin hilft, ist `be ambitious`. Claude neigt dazu, eine Anfrage zurückhaltend zu lesen und das Kleinste zu bauen, das sie erfüllt, da es nicht sehen kann, wie viel Sie sich erhofft haben. Wenn Sie die umfassendere Version möchten, mit behandelten Edge Cases und dem naheliegenden nächsten Schritt, sagen Sie es:

106 112 

107Planung ist am nützlichsten, wenn Sie unsicher über den Ansatz sind, wenn die Änderung mehrere Dateien ändert, oder wenn Sie mit dem zu ändernden Code nicht vertraut sind. Wenn Sie den Diff in einem Satz beschreiben könnten, überspringen Sie den Plan.113```text theme={null}

114build the settings page from the mockup. be ambitious: empty and error states, the save flow wired up, keyboard navigation, not just the layout

115```

108 116 

109***117Damit teilen Sie Claude den Umfang mit, den nur Sie kennen, und nicht, wie intensiv es nachdenken soll.

110 118 

111## Geben Sie spezifischen Kontext in Ihren Prompts an119Und wenn Sie erkunden, statt etwas Bestimmtes zu beheben, ist ein vager Prompt wie `what would you improve in this file?` völlig in Ordnung. Sie korrigieren unterwegs etwas mehr, und das ist der Kompromiss.

112 120 

113> [!TIP]121### Brainstormen Sie zuerst mit Claude

114>

115> Je präziser Ihre Anweisungen sind, desto weniger Korrektionen benötigen Sie.

116 122 

117Claude kann Absichten ableiten, aber er kann nicht Ihre Gedanken lesen. Verweisen Sie auf spezifische Dateien, erwähnen Sie Einschränkungen und zeigen Sie auf Beispielmuster.123Wenn Sie noch nicht genau wissen, was Sie möchten, müssen Sie nicht alles ausarbeiten, bevor Sie einen Prompt schreiben. Bitten Sie Claude stattdessen, Sie zu interviewen:

118 124 

119| Strategie | Vorher | Nachher |125```text theme={null}

120| - | - | - |126I want to add rate limiting to the public API but haven't thought it through yet. Interview me until you could write the spec, then write it to SPEC.md.

121| **Begrenzen Sie die Aufgabe.** Geben Sie an, welche Datei, welches Szenario und Testpräferenzen. | *„füge Tests für foo.py hinzu“* | *„schreibe einen Test für foo.py, der den Edge Case abdeckt, in dem der Benutzer abgemeldet ist. vermeide Mocks.“* |127```

122| **Zeigen Sie auf Quellen.** Leiten Sie Claude zur Quelle, die eine Frage beantworten kann. | *„warum hat ExecutionFactory eine so seltsame API?“* | *„schaue dir die Git-Historie von ExecutionFactory an und fasse zusammen, wie seine API entstanden ist“* |

123| **Verweisen Sie auf vorhandene Muster.** Zeigen Sie Claude Muster in Ihrer Codebase. | *„füge ein Calendar-Widget hinzu“* | *„schaue dir an, wie vorhandene Widgets auf der Startseite implementiert sind, um die Muster zu verstehen. HotDogWidget.php ist ein gutes Beispiel. folge dem Muster, um ein neues Calendar-Widget zu implementieren, das dem Benutzer ermöglicht, einen Monat auszuwählen und vorwärts/rückwärts zu blättern, um ein Jahr auszuwählen. baue von Grund auf ohne Bibliotheken außer denen, die bereits in der Codebase verwendet werden.“* |

124| **Beschreiben Sie das Symptom.** Geben Sie das Symptom, den wahrscheinlichen Ort und an, wie „behoben“ aussieht. | *„behebe den Login-Bug“* | *„Benutzer berichten, dass Login nach Session-Timeout fehlschlägt. überprüfe den Auth-Flow in src/auth/, besonders Token-Refresh. schreibe einen fehlgeschlagenen Test, der das Problem reproduziert, dann behebe es“* |

125 128 

126Vage Prompts können nützlich sein, wenn Sie erkunden und Kurskorrektionen vornehmen können. Ein Prompt wie `„was würdest du in dieser Datei verbessern?"` kann Dinge an die Oberfläche bringen, an die Sie nicht gedacht hätten zu fragen.129Claude kommt mit Multiple-Choice-Fragen zu den Teilen zurück, die Sie noch nicht festgelegt haben: Limits pro Benutzer oder pro Schlüssel, was mit Anfragen über dem Limit passiert, was außerhalb des Umfangs liegt. Es fragt so lange weiter, bis sich aus den Antworten eine Spezifikation ergibt.

127 130 

128### Geben Sie umfangreiche Inhalte an131Sobald `SPEC.md` existiert, starten Sie eine neue Sitzung, um danach zu bauen, damit die Umsetzung mit einem sauberen Kontext und einer schriftlichen Definition von „fertig“ beginnt. Es ist auch die Datei, auf die Sie später den Reviewer verweisen, in [Geben Sie Claude eine Prüfung zum Ausführen](#give-claude-a-check-to-run).

129 132 

130> [!TIP]133### Halten Sie CLAUDE.md kurz

131>

132> Verwenden Sie `@`, um auf Dateien zu verweisen, fügen Sie Screenshots/Bilder ein oder leiten Sie Daten direkt weiter.

133 134 

134Sie können Claude auf mehrere Arten umfangreiche Daten bereitstellen:135Claude Code lädt [`CLAUDE.md`](https://code.claude.com/docs/de/memory) in jede Sitzung, das heißt, jede Zeile darin beansprucht bei *jeder* Aufgabe ein wenig von Claudes Aufmerksamkeit, ob sie relevant ist oder nicht. Deshalb funktioniert die Datei am besten, wenn sie nur enthält, was Claude nicht selbst aus dem Code erschließen könnte:

135 136 

136* **Verweisen Sie auf Dateien mit `@`** anstatt zu beschreiben, wo Code lebt. Claude liest die Datei, bevor er antwortet.137* Wie Arbeit in diesem Repo bestätigt wird: die genauen Test-, Typecheck- und Lint-Befehle und wie eine einzelne Testdatei ausgeführt wird

137* **Fügen Sie Bilder direkt ein**. Kopieren/fügen Sie Bilder ein oder ziehen Sie sie in den Prompt.138* Stellen, an denen der Code irreführend ist: ein altes Muster, das überall vorkommt, das neuer Code aber nicht kopieren darf, oder ein Verzeichnis, das ungenutzt aussieht, es aber nicht ist

138* **Geben Sie URLs** für Dokumentation und API-Referenzen an. Verwenden Sie `/permissions`, um häufig verwendete Domains auf die Allowlist zu setzen.139* Entscheidungen, die nicht im Repo stehen: auf welchen Fehler-Helper sich das Team geeinigt hat, wie Deploys funktionieren, was ein Migrations-Review braucht

139* **Leiten Sie Daten weiter**, indem Sie `cat error.log | claude -p "explain this error"` ausführen, um Dateiinhalte direkt zu senden.140* Alles, was Sie bereits zweimal korrigieren mussten

140* **Lassen Sie Claude abrufen, was es braucht**. Sagen Sie Claude, dass es Kontext selbst mit Bash-Befehlen, MCP-Tools oder durch Lesen von Dateien abrufen soll.

141 141 

142***142Eine `CLAUDE.md`, die diesen Test besteht, bleibt kurz:

143 143 

144## Konfigurieren Sie Ihre Umgebung144```markdown CLAUDE.md theme={null}

145# Commands

146- Install: pnpm install

147- Run one test file: pnpm vitest run path/to/file.test.ts

148- Typecheck: pnpm tsc --noEmit

145 149 

146Ein paar Einrichtungsschritte machen Claude Code über alle Ihre Sessions hinweg erheblich effektiver. Einen vollständigen Überblick über Erweiterungsfunktionen und wann Sie jede verwenden sollten, finden Sie unter [Extend Claude Code](https://code.claude.com/docs/de/features-overview.md).150# Conventions

151- Use the error helpers in src/lib/errors.ts, never throw raw strings

152- src/legacy/ is still live but don't copy its patterns into new code

147 153 

148### Schreiben Sie eine effektive CLAUDE.md154# Gotchas

155- Integration tests need DATABASE_URL set, see .env.example

156```

149 157 

150> [!TIP]158Führen Sie in einer Sitzung `/context` aus, um zu bestätigen, dass Claude die Datei geladen hat.

151>

152> Führen Sie `/init` aus, um eine Starter-CLAUDE.md-Datei basierend auf Ihrer aktuellen Projektstruktur zu generieren, und verfeinern Sie sie dann im Laufe der Zeit.

153 159 

154CLAUDE.md ist eine spezielle Datei, die Claude zu Beginn jeder Konversation liest. Fügen Sie Bash-Befehle, Code-Stil und Workflow-Regeln ein. Dies gibt Claude persistenten Kontext, den es nicht aus Code allein ableiten kann.160Beachten Sie, dass die Typecheck-Zeile nur den Befehl enthält. Claude muss den Befehl kennen, um die eigene Arbeit unterwegs prüfen zu können. Wenn Claude Code außerdem einen bestandenen Typecheck *erzwingen* soll, bevor Claude fertig ist, ist das eine Aufgabe für einen [`Stop`-Hook](#enforce-the-check-with-a-stop-hook). Eine Zeile wie `Always typecheck before you finish` in dieser Datei funktioniert meistens, aber nicht jedes Mal.

155 161 

156Es gibt kein erforderliches Format für CLAUDE.md-Dateien, aber halten Sie es kurz und für Menschen lesbar. Zum Beispiel:162Sie müssen die Datei nicht von Grund auf schreiben:

157 163 

158```markdown CLAUDE.md theme={null}164* `/init` erzeugt eine erste Version aus Ihrer Codebasis. Danach besteht die Arbeit meist im Entfernen von Zeilen. Der [Memory-Leitfaden](https://code.claude.com/docs/de/memory.md#write-effective-instructions) empfiehlt, unter 200 zu bleiben.

159# Code style165* `/doctor` schlägt Kürzungen für alles vor, was Claude [bereits aus dem Code erschließen kann](https://code.claude.com/docs/de/memory.md#my-claude-md-is-too-large).

160- Use ES modules (import/export) syntax, not CommonJS (require)166* `/doctor prompt-audit` kennzeichnet Anweisungen, die für ältere Modelle geschrieben wurden, auf nicht mehr vorhandene Dateien verweisen oder [einander widersprechen](https://code.claude.com/docs/de/memory.md#audit-your-instruction-files).

161- Destructure imports when possible (eg. import { foo } from 'bar')

162 167 

163# Workflow168Ihre persönlichen Vorlieben gehören in `CLAUDE.local.md` statt in `CLAUDE.md`, und Sie fügen diese Datei zu `.gitignore` hinzu, damit sie nicht ins Repo gelangt.

164- Be sure to typecheck when you're done making a series of code changes

165- Prefer running single tests, and not the whole test suite, for performance

166```

167 169 

168Führen Sie `/context` aus, um zu bestätigen, dass Claude die Datei geladen hat. CLAUDE.md wird jede Session geladen, also fügen Sie nur Dinge ein, die weit verbreitet gelten. Für Domänenwissen oder Workflows, die nur manchmal relevant sind, verwenden Sie stattdessen [skills](https://code.claude.com/docs/de/skills.md). Claude lädt sie bei Bedarf, ohne jede Konversation zu überlasten.170> [!NOTE]

171>

172> Wenn Claude eine Zeile, die *durchaus* in `CLAUDE.md` steht, immer wieder ignoriert, wird IMPORTANT das wahrscheinlich nicht beheben. Entweder ist die Datei so lang geworden, dass die Zeile untergeht, oder die Zeile ist eine Regel, die keine Ausnahmen haben darf; dann gehört sie in einen [Hook](#enforce-the-rules-that-cant-have-exceptions).

169 173 

170Halten Sie es prägnant. Fragen Sie sich für jede Zeile: *„Würde das Entfernen dieser Zeile dazu führen, dass Claude Fehler macht?“* Wenn nicht, streichen Sie es. Überladene CLAUDE.md-Dateien führen dazu, dass Claude Ihre tatsächlichen Anweisungen ignoriert!174### Beschränken Sie Regeln auf einen Teil der Codebasis

171 175 

172| ✅ Einschließen | ❌ Ausschließen |176Wenn eine Regel nur in einem Teil der Codebasis wichtig ist, legen Sie sie in [`.claude/rules/`](https://code.claude.com/docs/de/memory#path-specific-rules) mit einem `paths:`-Filter ab, damit sie nur geladen wird, wenn Claude tatsächlich dort arbeitet. Diese `.claude/rules/api.md` wird zum Beispiel für TypeScript-Dateien unter `src/api/` geladen:

173| - | - |

174| Bash-Befehle, die Claude nicht erraten kann | Alles, was Claude durch Lesen von Code herausfinden kann |

175| Code-Stil-Regeln, die von Standardwerten abweichen | Standard-Sprachkonventionen, die Claude bereits kennt |

176| Test-Anweisungen und bevorzugte Test-Runner | Detaillierte API-Dokumentation (verlinken Sie stattdessen auf Docs) |

177| Repository-Etikette (Branch-Naming, PR-Konventionen) | Informationen, die sich häufig ändern |

178| Architektonische Entscheidungen, die für Ihr Projekt spezifisch sind | Lange Erklärungen oder Tutorials |

179| Entwicklungsumgebungs-Eigenheiten (erforderliche Umgebungsvariablen) | Datei-für-Datei-Beschreibungen der Codebase |

180| Häufige Fallstricke oder nicht offensichtliche Verhaltensweisen | Selbstverständliche Praktiken wie „schreibe sauberen Code“ |

181 177 

182Wenn Claude etwas tut, das Sie nicht möchten, obwohl es eine Regel dagegen gibt, ist die Datei wahrscheinlich zu lang und die Regel geht verloren. Wenn Claude Fragen stellt, die in CLAUDE.md beantwortet werden, könnte die Formulierung mehrdeutig sein. Behandeln Sie CLAUDE.md wie Code: überprüfen Sie es, wenn etwas schiefgeht, bereinigen Sie es regelmäßig, und testen Sie Änderungen, indem Sie beobachten, ob sich Claudes Verhalten tatsächlich ändert. Für eine eingecheckte CLAUDE.md führen Sie [`/doctor`](https://code.claude.com/docs/de/commands#all-commands) aus und Claude schlägt Kürzungen für Inhalte vor, die es aus der Codebase ableiten kann.178```markdown .claude/rules/api.md theme={null}

179---

180paths:

181 - "src/api/**/*.ts"

182---

183- Validate request bodies with the zod schemas in src/api/schemas/, don't hand-roll checks

184- Every new endpoint needs an entry in openapi.yaml, CI fails without it

185```

183 186 

184Wenn Claude eine Anweisung immer wieder überspringt, fügen Sie Betonung wie „WICHTIG“ nur auf dieser Zeile hinzu. Wenn Sie viele Zeilen betonen, fällt keine davon auf. Checken Sie CLAUDE.md in Git ein, damit Ihr Team beitragen kann. Die Datei nimmt im Laufe der Zeit an Wert zu.187### Legen Sie Team-Abläufe in Skills ab

185 188 

186CLAUDE.md-Dateien können zusätzliche Dateien mit der `@path/to/import`-Syntax importieren. Für Importregeln und wo CLAUDE.md-Dateien sich befinden können, siehe [CLAUDE.md-Dateien](https://code.claude.com/docs/de/memory.md#claude-md-files).189Ein leistungsfähigeres Modell weiß mehr über Softwareentwicklung, aber nicht, wie *Ihr* Team ein Release durchführt, was in Ihrem Incident-Runbook steht oder wie Sie API-Dokumentation geschrieben haben möchten. Diese Art von Wissen gehört in einen [Skill](https://code.claude.com/docs/de/skills.md): einen Ablauf oder ein Stück Teamwissen, gespeichert unter `.claude/skills/<name>/SKILL.md`.

187 190 

188### Konfigurieren Sie Berechtigungen191Skills belasten den Kontext für diese Art von Inhalten auch weniger als `CLAUDE.md`. Bei einem Skill, den Claude selbst starten kann, sieht es in jeder Sitzung den Namen und die Beschreibung, [liest die vollständige Datei](https://code.claude.com/docs/de/skills.md#skill-content-lifecycle) aber nur, wenn die Aufgabe es erfordert. Ein langer Release-Ablauf in einem Skill belastet Ihre unabhängige Fehlerbehebung nicht so, wie er es in `CLAUDE.md` tun würde.

189 192 

190> [!TIP]193> [!NOTE]

191>194>

192> Um weniger Aufforderungen zu erhalten, ohne die Kontrolle aufzugeben, genehmigen Sie die Tools, denen Sie mit `/permissions` vertrauen, im Voraus und lassen Sie Sandbox-Befehle mit `/sandbox` ohne Nachfrage ausführen. Wechseln Sie zum Manual-Modus, wenn Sie Bearbeitungen und Befehle selbst genehmigen möchten.195> Die `CLAUDE.md`-Regel gilt auch für Skills: Schreiben Sie nur auf, was Claude nicht selbst finden kann.

193 196 

194Mit Claude Code v2.1.283 oder später ist der Auto-Modus der [integrierte Start-Berechtigungsmodus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) für interaktive Terminal- und VS Code-Sessions: ein separates Klassifikator-Modell überprüft die meisten Aktionen statt Ihnen und blockiert nur das, was riskant aussieht, wie Scope-Eskalation, unbekannte Infrastruktur oder feindselige-Inhalts-getriebene Aktionen. Bei früheren Versionen ist der Auto-Modus der integrierte Start-Berechtigungsmodus nur bei Pro-, Max- und Team-Plänen.197Für einen Workflow mit Nebenwirkungen, etwa das tatsächliche Erstellen dieses Releases, fügen Sie `disable-model-invocation: true` hinzu. Claude [kann den Skill dann nicht selbst starten](https://code.claude.com/docs/de/skills.md#control-who-invokes-a-skill), und er läuft nur, wenn Sie selbst `/release` eingeben. Gespeichert als `.claude/skills/release/SKILL.md` könnte er so aussehen:

195 198 

196Im Manual-Modus fragt Claude Code vor Aktionen, die Ihr System ändern könnten: Dateischreibvorgänge, Bash-Befehle, MCP-Tools. Das ist sicher, aber mühsam. Nach der zehnten Genehmigung überprüfen Sie nicht wirklich mehr, Sie klicken einfach durch. Zwei Tools reduzieren diese Unterbrechungen im Manual-Modus und gelten auch im Auto-Modus:199```markdown .claude/skills/release/SKILL.md theme={null}

200---

201name: release

202description: Cut a new release. Bumps the version, writes the changelog entry, tags it and pushes the tag so CI can publish.

203disable-model-invocation: true

204---

2051. Make sure you're on main with a clean tree. If not, stop and ask.

2062. Run `pnpm changeset version` and commit the result.

2073. Summarize the PRs merged since the last tag into CHANGELOG.md, one line each, user-facing changes only.

2084. Tag `v<new version>` and push the tag. CI publishes from there, never publish from your machine.

209```

197 210 

198* **Berechtigungs-Whitelists**: erlauben Sie spezifische Tools, die Sie kennen und die sicher sind, wie `npm run lint` oder `git commit`211### Verbinden Sie die Tools, die Claude braucht

199* **Sandboxing**: aktivieren Sie Isolation auf Betriebssystemebene, die Dateisystem- und Netzwerkzugriff einschränkt und Claude ermöglicht, freier innerhalb definierter Grenzen zu arbeiten

200 212 

201Lesen Sie mehr über [Berechtigungsmodi](https://code.claude.com/docs/de/permission-modes.md), [Berechtigungsregeln](https://code.claude.com/docs/de/permissions.md) und [Sandboxing](https://code.claude.com/docs/de/sandboxing.md).213Manches von dem, was Claude nicht sehen kann, liegt ganz in einem anderen System, etwa Ihrem Issue-Tracker oder Ihrem Fehler-Dashboard. Wenn dieses System eine CLI hat, ist das meist der einfachste Zugang. Wenn `gh` installiert und angemeldet ist, öffnet Claude zum Beispiel Pull Requests und liest Review-Kommentare, ohne dass Sie etwas erklären müssen. Bei einer CLI, die es noch nicht kennt, genügt ein Hinweis auf `--help`.

202 214 

203### Verwenden Sie CLI-Tools215Für Systeme ohne CLI gibt es [MCP](https://code.claude.com/docs/de/mcp.md). Sie fügen einen Server aus Ihrer Shell hinzu:

204 216 

205> [!TIP]217```bash theme={null}

206>218claude mcp add --transport http notion https://mcp.notion.com/mcp

207> Sagen Sie Claude Code, dass es CLI-Tools wie `gh`, `aws`, `gcloud` und `sentry-cli` bei der Interaktion mit externen Diensten verwenden soll.219```

220 

221Der Server erscheint dann in einer Sitzung unter `/mcp`. Verbundene Server fügen ihre Tool-Namen und Anweisungen dem Kontext hinzu, auch wenn Sie sie nicht verwenden. Es lohnt sich daher, dort [die nicht benötigten zu deaktivieren](https://code.claude.com/docs/de/mcp.md#disable-a-server-without-removing-it).

222 

223Und wenn Sie in einer typisierten Sprache arbeiten, lässt ein [Code-Intelligence-Plugin](https://code.claude.com/docs/de/plugins/code-intelligence.md) Claude direkt zu einer Definition springen, statt viele Dateien zu durchsuchen, um sie zu finden.

208 224 

209CLI-Tools sind die kontexteffizienteste Möglichkeit, mit externen Diensten zu interagieren. Wenn Sie GitHub verwenden, installieren Sie die `gh`-CLI. Claude weiß, wie man sie zum Erstellen von Issues, Öffnen von Pull Requests und Lesen von Kommentaren verwendet. Ohne `gh` kann Claude immer noch die GitHub-API verwenden, aber unauthentifizierte Anfragen treffen oft auf Rate Limits.225## Geben Sie Claude eine Prüfung zum Ausführen

210 226 

211Claude ist auch effektiv beim Erlernen von CLI-Tools, die er nicht bereits kennt. Versuchen Sie Prompts wie `Use 'foo-cli-tool --help' to learn about foo tool, then use it to solve A, B, C.`227Claude hört auf, wenn die Arbeit erledigt aussieht. Wenn es nichts ausführen kann, das ihm sagt, ob die Arbeit tatsächlich erledigt *ist*, bleibt ihm nur „sieht erledigt aus“. In der Praxis werden dadurch Sie zur Test-Suite, und jeder Fehler bleibt bestehen, bis Sie ihn zufällig bemerken.

212 228 

213### Verbinden Sie MCP-Server229Wenn Sie ihm etwas geben, das mit Bestanden oder Fehlgeschlagen zurückkommt, kann Claude diese Schleife selbst schließen. Es nimmt die Änderung vor, führt die Prüfung aus und liest bei einem Fehler die Ausgabe und behebt ihn, bevor es die Prüfung erneut ausführt.

214 230 

215> [!TIP]231> [!TIP]

216>232>

217> Führen Sie `claude mcp add` mit einem Servernamen und einer URL oder einem Befehl aus, um externe Tools wie Notion, Figma oder Ihre Datenbank zu verbinden. Zum Beispiel: `claude mcp add --transport http notion https://mcp.notion.com/mcp`.233> Geben Sie Claude etwas, das es ausführen kann und das mit Bestanden oder Fehlgeschlagen zurückkommt. Sobald es das hat, kann es selbstständig weiterarbeiten, und Sie müssen nicht zusehen.

218 234 

219Mit [MCP-Servern](https://code.claude.com/docs/de/mcp.md) können Sie Claude bitten, Funktionen von Issue-Trackern zu implementieren, Datenbanken abzufragen, Überwachungsdaten zu analysieren, Designs von Figma zu integrieren und Workflows zu automatisieren.235Die Prüfung kann fast alles sein, solange Claude das Ergebnis lesen kann:

220 236 

221### Richten Sie Hooks ein237* Eine Testdatei

238* Der Exit-Code eines Builds

239* Ein Linter

240* Ein Skript, das die Ausgabe per Diff mit einem Fixture vergleicht

241* Ein [Browser-Screenshot](https://code.claude.com/docs/de/chrome.md) neben dem Mockup

222 242 

223> [!TIP]243Wenn Ihr Repo bereits eines davon hat, ist die mit Abstand nützlichste Zeile in Ihrer `CLAUDE.md` der Befehl, der es ausführt.

224>

225> Verwenden Sie Hooks für Aktionen, die jedes Mal mit null Ausnahmen stattfinden müssen.

226 244 

227[Hooks](https://code.claude.com/docs/de/hooks-guide.md) führen Skripte automatisch an bestimmten Punkten in Claudes Workflow aus. Im Gegensatz zu CLAUDE.md-Anweisungen, die beratend sind, sind Hooks deterministisch und garantieren, dass die Aktion stattfindet.245Wie streng Sie die Prüfung gestalten, liegt bei Ihnen. Die Optionen reichen davon, dass Claude selbst entscheidet, bis dahin, dass Claude Code sie durchsetzt:

228 246 

229Claude kann Hooks für Sie schreiben. Versuchen Sie Prompts wie *„Schreibe einen Hook, der eslint nach jeder Dateibearbeitung ausführt“* oder *„Schreibe einen Hook, der Schreibvorgänge in den Migrations-Ordner blockiert.“* Bearbeiten Sie `.claude/settings.json` direkt, um Hooks von Hand zu konfigurieren, und führen Sie `/hooks` aus, um zu durchsuchen, was konfiguriert ist.247* Im Prompt: `run the auth tests after, and keep going until they pass`. Claude entscheidet selbst, wann es zufrieden ist. Das funktioniert heute für jede Aufgabe, ohne Einrichtung.

248* Als Ziel: [`/goal all tests in tests/auth pass and lint is clean`](https://code.claude.com/docs/de/goal) legt eine Bedingung fest, die ein separates Modell nach jedem Turn anhand der Konversation prüft, und Claude arbeitet weiter, bis sie erfüllt ist. In der Sitzung selbst brauchen Sie das selten. Wichtig ist es bei langen Hintergrundläufen, in denen Claude einen Turn manchmal mit einer Fortschrittszusammenfassung beendet, obwohl noch Punkte offen sind, und das Ziel es zurückschickt.

249* Als Stop-Hook: Ein [`Stop`-Hook](https://code.claude.com/docs/de/hooks#stop) führt Ihr Skript aus, wann immer Claude versucht, seinen Turn zu beenden, und schickt Claude zurück an die Arbeit, wenn das Skript mit Code 2 endet. Dies wird von Claude Code (dem Harness) durchgesetzt, sodass der Turn erst endet, wenn der Typecheck besteht oder das [Blockierungslimit](https://code.claude.com/docs/de/hooks.md#stop-input) erreicht ist. Es gibt ein [Beispiel weiter unten](#enforce-the-check-with-a-stop-hook).

250* Durch jemanden, der den Code nicht geschrieben hat: Im Terminal prüft [`/code-review`](https://code.claude.com/docs/de/code-review-local) den Diff in einem neuen Subagenten, der Ihre Konversation nie gesehen hat. Er lässt sich nicht von der Argumentation beeinflussen, die den Code hervorgebracht hat.

230 251 

231### Erstellen Sie Skills252Welche Option Sie auch verwenden, bitten Sie Claude um *Belege*: den ausgeführten Befehl und seine Ausgabe oder den Screenshot. „Alle Tests bestanden“ allein sagt Ihnen sehr wenig, und die Ausgabe zu lesen geht schneller, als die Prüfung selbst erneut auszuführen. Bei einer Sitzung, die Sie nicht beobachtet haben, ist es außerdem der einzige Beleg, den Sie haben.

232 253 

233> [!TIP]254> [!TIP]

234>255>

235> Erstellen Sie `SKILL.md`-Dateien in `.claude/skills/`, um Claude Domänenwissen und wiederverwendbare Workflows zu geben.256> Sobald Claude sagt, dass es fertig ist, können Sie in der Sitzung auch [`/verify`](https://code.claude.com/docs/de/skills#run-and-verify-your-app) ausführen. Damit baut und startet Claude die App und sieht sich das Ergebnis an. So werden Probleme erkannt, die Tests und Typechecks übersehen.

236 257 

237[Skills](https://code.claude.com/docs/de/skills.md) erweitern Claudes Wissen mit Informationen, die für Ihr Projekt, Team oder Ihre Domäne spezifisch sind. Claude wendet sie automatisch an, wenn relevant, oder Sie können sie direkt mit `/skill-name` aufrufen.258### Prüfen Sie anhand Ihrer Spezifikation

238 259 

239Erstellen Sie einen Skill, indem Sie ein Verzeichnis mit einer `SKILL.md` zu `.claude/skills/` hinzufügen:260Wenn das Review die Arbeit lieber anhand Ihres Plans prüfen soll, statt allgemein nach Fehlern zu suchen, schreiben Sie den Review-Prompt selbst:

240 261 

241```markdown .claude/skills/api-conventions/SKILL.md theme={null}262```text theme={null}

242name: api-conventions263use a subagent to review the rate limiter diff against SPEC.md, check every requirement is implemented and the listed edge cases have tests, report gaps that affect correctness and skip style

243description: REST API design conventions for our services

244# API Conventions

245- Use kebab-case for URL paths

246- Use camelCase for JSON properties

247- Always include pagination for list endpoints

248- Version APIs in the URL path (/v1/, /v2/)

249```264```

250 265 

251Skills können auch wiederverwendbare Workflows definieren, die Sie direkt aufrufen:266> [!NOTE]

252 267>

253```markdown .claude/skills/fix-issue/SKILL.md theme={null}268> Lassen Sie den Teil `skip style` in diesem Prompt nicht weg. Ein Reviewer, der Probleme finden soll, findet immer *etwas*. Wenn Sie jeden Befund beheben, landen Sie bei zusätzlichen Abstraktionsebenen und Tests für Fälle, die nicht eintreten können.

254name: fix-issue269 

255description: Fix a GitHub issue270### Setzen Sie die Prüfung mit einem Stop-Hook durch

256disable-model-invocation: true271 

257Analyze and fix the GitHub issue: $ARGUMENTS.272Die `Stop`-Hook-Version der Typecheck-Regel besteht aus ein paar Zeilen in `.claude/settings.json`. Exit-Code 2 blockiert das Beenden. Was der Befehl auf stderr ausgibt, geht als Grund, warum es noch nicht fertig sein kann, an Claude zurück. Deshalb wird die Compiler-Ausgabe dorthin umgeleitet:

258 273 

2591. Use `gh issue view` to get the issue details274```json .claude/settings.json theme={null}

2602. Understand the problem described in the issue275{

2613. Search the codebase for relevant files276 "hooks": {

2624. Implement the necessary changes to fix the issue277 "Stop": [

2635. Write and run tests to verify the fix278 {

2646. Ensure code passes linting and type checking279 "hooks": [

2657. Create a descriptive commit message280 { "type": "command", "command": "pnpm tsc --noEmit 1>&2 || exit 2" }

2668. Push and create a PR281 ]

282 }

283 ]

284 }

285}

267```286```

268 287 

269Führen Sie `/fix-issue 1234` aus, um es aufzurufen. Verwenden Sie `disable-model-invocation: true` für Workflows mit Nebenwirkungen, die Sie manuell auslösen möchten.288Um es in Aktion zu sehen, bitten Sie Claude um eine Änderung, die einen Typ bricht: Statt fertig zu werden, erhält es die Compiler-Fehler zurück und arbeitet weiter, bis `tsc` besteht. Wenn der Hook [acht Beendigungen hintereinander](https://code.claude.com/docs/de/hooks.md#stop-input) ohne Tool-Aufruf dazwischen blockiert, überschreibt Claude Code die nächste Blockierung und beendet den Turn. Um die Obergrenze anzuheben, setzen Sie [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](https://code.claude.com/docs/de/env-vars).

270 289 

271### Erstellen Sie benutzerdefinierte Subagents290## Setzen Sie die Regeln durch, die keine Ausnahmen haben dürfen

272 291 

273> [!TIP]292> [!TIP]

274>293>

275> Definieren Sie spezialisierte Assistenten in `.claude/agents/`, an die Claude für isolierte Aufgaben delegieren kann.294> Wenn etwas jedes Mal passieren muss, machen Sie daraus einen Hook, eine deny-Regel oder eine verwaltete Einstellung. `CLAUDE.md` ist für Richtlinien da, und Claude darf entscheiden, dass eine Richtlinie nicht zutrifft.

276 295 

277[Subagents](https://code.claude.com/docs/de/sub-agents.md) laufen in ihrem eigenen Kontext mit ihrem eigenen Satz erlaubter Tools. Sie sind nützlich für Aufgaben, die viele Dateien lesen oder spezialisierte Aufmerksamkeit benötigen, ohne Ihre Hauptkonversation zu überlasten.296Nehmen Sie drei Regeln, die Sie heute vielleicht in `CLAUDE.md` haben: `Never read .env`, `Always run the formatter after editing`, `Don't touch the migrations folder`. Claude befolgt diese fast jedes Mal. Für die wenigen, bei denen „fast“ nicht gut genug ist, verschieben Sie sie aus `CLAUDE.md` in eine Konfiguration, die Claude Code (der Harness) selbst anwendet. Ab dann hängt das Ergebnis nicht mehr davon ab, woran sich das Modell erinnert oder was es entscheidet.

278 297 

279```markdown .claude/agents/security-reviewer.md theme={null}298### Erzwingen Sie Schritte mit Hooks

280name: security-reviewer299 

281description: Reviews code for security vulnerabilities300[Hooks](https://code.claude.com/docs/de/hooks-guide.md) führen etwas von Ihnen an festen Punkten in Claudes Schleife aus: vor oder nach einem Tool-Aufruf, wenn Claude versucht aufzuhören, wenn eine Sitzung startet und so weiter. Dieses Etwas kann sein:

282tools: Read, Grep, Glob, Bash301 

283model: opus302* Ein Shell-Befehl (der übliche Fall)

284You are a senior security engineer. Review code for:303* Ein POST an einen HTTP-Endpunkt

285- Injection vulnerabilities (SQL, XSS, command injection)304* Ein Tool-Aufruf auf einem Ihrer MCP-Server

286- Authentication and authorization flaws305* Ein [`prompt`- oder `agent`-Hook](https://code.claude.com/docs/de/hooks#hook-handler-fields), bei dem ein Modell entscheidet

287- Secrets or credentials in code306 

288- Insecure data handling307Ein `prompt`- oder `agent`-Hook lässt *ein anderes Modell* entscheiden und ist daher ebenfalls nicht deterministisch. Für echte Durchsetzung verwenden Sie einen `command`- oder `http`-Hook und fügen [`onFailure: "block"`](https://code.claude.com/docs/de/hooks#block-the-action-when-a-hook-fails) hinzu, wenn die Aktion auch dann gestoppt werden soll, wenn der Hook selbst abstürzt oder in ein Timeout läuft. Bei einem Hook, der Commits etwa nach Secrets durchsucht, blockieren Sie den Commit lieber, als ihn ungeprüft durchzulassen, während der Scanner ausgefallen ist.

308 

309Hier ist die Formatter-Regel als `PostToolUse`-Hook. Er läuft nach jedem `Edit` oder `Write`, und ob Claude sich an die Regel erinnert, spielt keine Rolle mehr, weil nicht Claude sie ausführt:

289 310 

290Provide specific line references and suggested fixes.311```json .claude/settings.json theme={null}

312{

313 "hooks": {

314 "PostToolUse": [

315 {

316 "matcher": "Edit|Write",

317 "hooks": [

318 { "type": "command", "command": "npx prettier --write --ignore-unknown \"$(jq -r '.tool_input.file_path')\"" }

319 ]

320 }

321 ]

322 }

323}

291```324```

292 325 

293Sagen Sie Claude explizit, dass es Subagents verwenden soll: *„Verwende einen Subagent, um diesen Code auf Sicherheitsprobleme zu überprüfen.“*326Um den Hook zu testen, bitten Sie Claude, einer Datei, die Prettier formatiert, eine schlecht eingerückte Zeile hinzuzufügen. Die gespeicherte Datei kommt mit korrigierter Einrückung zurück.

294 327 

295### Installieren Sie Plugins328Die Migrations-Regel wird zu einem [`PreToolUse`-Hook](https://code.claude.com/docs/de/hooks-guide#block-edits-to-protected-files), der für jeden Pfad unter `migrations/` mit Code 2 endet. Sie müssen ihn nicht selbst schreiben: `write a hook that blocks edits to the migrations folder` funktioniert als Prompt, und `/hooks` zeigt das Ergebnis. Übertreiben Sie es aber nicht: Ein Hook ist für eine Regel mit *null* Ausnahmen gedacht, und `Prefer named exports` hat viele, also bleibt diese in `CLAUDE.md`.

296 329 

297> [!TIP]330### Beschränken Sie den Zugriff mit Berechtigungsregeln und der Sandbox

298>

299> Führen Sie `/plugin` aus, um den Marketplace zu durchsuchen. Plugins fügen Skills, Tools und Integrationen ohne Konfiguration hinzu.

300 331 

301[Plugins](https://code.claude.com/docs/de/plugins/overview.md) bündeln Skills, Hooks, Subagents und MCP-Server in eine einzelne installierbare Einheit aus der Community und von Anthropic. Wenn Sie mit einer typisierten Sprache arbeiten, installieren Sie ein [Code-Intelligence-Plugin](https://code.claude.com/docs/de/plugins/code-intelligence.md), um Claude präzise Symbol-Navigation und automatische Fehlererkennung nach Bearbeitungen zu geben.332[Berechtigungsregeln](https://code.claude.com/docs/de/permissions.md) legen fest, was Claude ausführen, lesen und abrufen darf. `deny`-Regeln gelten in jedem Berechtigungsmodus, einschließlich Auto und `bypassPermissions`, und genau deshalb gehört die `.env`-Regel dorthin:

302 333 

303Anleitungen zur Auswahl zwischen Skills, Subagents, Hooks und MCP finden Sie unter [Extend Claude Code](https://code.claude.com/docs/de/features-overview.md#match-features-to-your-goal).334```json .claude/settings.json theme={null}

335{

336 "permissions": {

337 "allow": ["Bash(pnpm tsc --noEmit)"],

338 "ask": ["Bash(git push *)"],

339 "deny": ["Read(./.env)", "Read(./.env.local)", "Read(./secrets/**)"]

340 }

341}

342```

304 343 

305***344Wenn dies gespeichert ist, schlägt die Frage an Claude, was in `.env` steht, fehl, sowohl über das `Read`-Tool als auch über `cat .env`.

306 345 

307## Kommunizieren Sie effektiv346Regeln erfassen Tool-Aufrufe, nicht Absichten. Es lohnt sich also zu wissen, wo die Grenzen liegen:

308 347 

309Stellen Sie Claude die Fragen, die Sie einem anderen Engineer stellen würden, und lassen Sie Claude Sie für größere Features interviewen und schreiben Sie eine Spezifikation, bevor Sie mit der Implementierung beginnen.348* Die `Read`-Regel erfasst `cat .env` *durchaus*, weil Claude Code die [gängigen Befehle zum Lesen von Dateien](https://code.claude.com/docs/de/permissions.md#read-and-edit) erkennt.

349* Sie erfasst kein Skript, das die Datei öffnet.

350* Eine `WebFetch`-deny-Regel für eine Domain bewirkt nichts gegen `curl` an dieselbe Domain, es sei denn, die Sandbox ist aktiv.

310 351 

311### Stellen Sie Codebase-Fragen352Für eine Begrenzung des Dateisystem- oder Netzwerkzugriffs auf Betriebssystemebene aktivieren Sie die [Sandbox](https://code.claude.com/docs/de/sandboxing.md) mit `/sandbox` in einer Sitzung. Sie schränkt Claudes Shell-Befehle unter macOS, Linux und WSL2 ein und [übernimmt auch Ihre `Read`-deny-Regeln und `WebFetch(domain:...)`-Regeln](https://code.claude.com/docs/de/sandboxing#permission-rules). Für alles Sicherheitsrelevante möchten Sie daher beides.

312 353 

313> [!TIP]354Standardmäßig kann Claude weiterhin darum bitten, einen blockierten Befehl außerhalb der Sandbox erneut zu versuchen, und diese Anfrage durchläuft den normalen Berechtigungsablauf. Der [strikte Sandbox-Modus](https://code.claude.com/docs/de/sandboxing.md#turn-off-the-retry-with-strict-sandbox-mode) im Tab **Overrides** von `/sandbox` schaltet diesen Wiederholungsversuch ab.

355 

356> [!WARNING]

314>357>

315> Stellen Sie Claude Fragen, die Sie einem Senior Engineer stellen würden.358> Der Auto-Modus ist ein Klassifikator-Modell, das jede Aktion beurteilt, keine feste Regel. Darin ist er gut, aber wie jede Ermessensentscheidung kann er danebenliegen. Sie können außerdem anpassen, was er als riskant einstuft, und Ihre Organisation kann ihn ganz abschalten. Ihre „Niemals“-Regeln gehören daher in deny-Regeln oder Hooks.

359 

360### Legen Sie fest, für wen eine Regel gilt

316 361 

317Wenn Sie sich in eine neue Codebase einarbeiten, verwenden Sie Claude Code zum Lernen und Erkunden. Sie können Claude die gleichen Fragen stellen, die Sie einem anderen Engineer stellen würden:362Wo eine Regel liegt, entscheidet, für wen sie gilt:

318 363 

319* Wie funktioniert Logging?364* `.claude/settings.local.json` und `~/.claude/settings.json` gehören nur Ihnen. Wenn Sie für einen Befehl **Yes, and don't ask again** auswählen, speichert Claude Code diese Regel in der lokalen Datei.

320* Wie erstelle ich einen neuen API-Endpunkt?365* `.claude/settings.json` und die Hooks darin gehören zum Repo. Sobald Sie sie committen, gelten sie für alle, die im Repo arbeiten. Die deny-Regeln darin gelten sofort. Die `allow`-Regeln greifen erst, wenn die jeweilige Person den [Vertrauensdialog](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) für diesen Ordner akzeptiert, und das [Workspace-Vertrauen](https://code.claude.com/docs/de/hooks.md#workspace-trust) entscheidet auch, wann die Hooks auf ihrem Rechner ausgeführt werden.

321* Was macht `async move { ... }` auf Zeile 134 von `foo.rs`?366* [Verwaltete Einstellungen](https://code.claude.com/docs/de/managed-settings.md) gehören der Organisation. Sie stammen aus der Admin-Konsole, aus MDM oder aus einer `managed-settings.json`-Datei, und keine persönliche Einstellungsdatei kann sie überschreiben. Damit sind sie der einzige Ort für die Richtlinien eines Sicherheitsteams. Wenn Sie diejenige Person sind, die sie festlegt, siehe [Claude Code für Ihre Organisation einrichten](https://code.claude.com/docs/de/admin-setup.md).

322* Welche Edge Cases behandelt `CustomerOnboardingFlowImpl`?

323* Warum ruft dieser Code `foo()` anstelle von `bar()` auf Zeile 333 auf?

324 367 

325Die Verwendung von Claude Code auf diese Weise ist ein effektiver Onboarding-Workflow, der die Einarbeitungszeit verbessert und die Belastung anderer Engineers reduziert. Keine spezielle Prompt-Formulierung erforderlich: stellen Sie Fragen direkt.368Unabhängig vom Geltungsbereich sollten Sie die durchgesetzten Regeln klein halten. Jeder Hook und jede deny-Regel wird gelegentlich auslösen, wenn es nicht sollte, und jemand muss sie alle pflegen. Wenn Sie irgendwann bei vierzig davon angekommen sind, sind die meisten wahrscheinlich Vorlieben, die Claude selbst hätte abwägen können.

326 369 

327### Lassen Sie Claude Sie interviewen370## Ändern Sie eine Standardeinstellung

328 371 

329> [!TIP]372> [!TIP]

330>373>

331> Für größere Features lassen Sie Claude Sie zuerst interviewen. Beginnen Sie mit einem minimalen Prompt und bitten Sie Claude, Sie mit dem `AskUserQuestion`-Tool zu interviewen.374> Die Standardeinstellungen sind gut genug, um sie unverändert zu lassen, bis eine Aufgabe mehr Zeit, Token oder Unterbrechungen kostet, als sie sollte. Führen Sie in diesem Fall `/usage` in der Sitzung aus, um zu sehen, wohin der Verbrauch gegangen ist.

332 375 

333Claude stellt Fragen zu Dingen, die Sie möglicherweise noch nicht berücksichtigt haben, einschließlich technischer Implementierung, UI/UX, Edge Cases und Tradeoffs. Ersetzen Sie `[brief description]` mit Ihrer Feature, bevor Sie den Prompt senden.376Eine neue Sitzung trifft bereits eine Handvoll Entscheidungen für Sie:

334 377 

335```text wrap theme={null}378* Interaktive Terminal- und VS Code-Sitzungen starten im Auto-Modus.

336I want to build [brief description]. Interview me in detail using the AskUserQuestion tool.379* Auf den meisten Plänen und bei den meisten Anbietern läuft [Claude Opus 5.5 mit mittlerem Effort](https://code.claude.com/docs/de/model-config.md#default-model-setting).

380* Claude delegiert Arbeit an Subagenten, wenn es einen Grund dafür sieht.

381* Die Konversation wird komprimiert, wenn sie wächst.

337 382 

338Ask about technical implementation, UI/UX, edge cases, concerns, and tradeoffs. Don't ask obvious questions, dig into the hard parts I might not have considered.383Meistens denken Sie nie darüber nach. Wenn eine Aufgabe doch mehr kostet, als sie sollte, ist meist einer dieser vier Punkte der Grund.

339 384 

340Keep interviewing until we've covered everything, then write a complete spec to SPEC.md.385### Ändern Sie den Berechtigungsmodus

341```

342 386 

343Sobald die Spezifikation fertig ist, starten Sie eine neue Session, um sie auszuführen. Die neue Session hat einen sauberen Kontext, der sich vollständig auf die Implementierung konzentriert, und Sie haben eine geschriebene Spezifikation zum Referenzieren.387Beide Enden des Berechtigungsspektrums haben ihren Preis:

344 388 

345Die nützlichsten Spezifikationen sind in sich geschlossen: Sie benennen die beteiligten Dateien und Schnittstellen, geben an, was außerhalb des Geltungsbereichs liegt, und enden mit einem End-to-End-Verifizierungsschritt, der beweist, dass die Funktion funktioniert. Die Zeit, die Sie für eine präzise Spezifikation aufwenden, zahlt sich mehr aus als die Zeit, die Sie damit verbringen, die Implementierung zu beobachten.389* **Manual-Modus**: Sie genehmigen jede Bearbeitung und jeden Befehl, der nicht nur lesend ist, selbst. Sicher, aber nach der zehnten Abfrage genehmigen Sie, ohne zu lesen, und nichts geht voran, während Sie nicht an der Tastatur sind.

390* **`bypassPermissions`**: genehmigt alles, was Ihre deny- und ask-Regeln nicht abdecken. Das ist nur in einem Wegwerf-Container sinnvoll.

346 391 

347***392Der [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) liegt zwischen beiden, und in ihm [starten](https://code.claude.com/docs/de/permission-modes.md#which-mode-a-session-starts-in) interaktive Terminal- und VS Code-Sitzungen. Claude arbeitet, ohne für alltägliche Genehmigungen anzuhalten, und ein separates Klassifikator-Modell prüft Aktionen in [einer festen Reihenfolge](https://code.claude.com/docs/de/permission-modes.md#how-the-classifier-evaluates-actions), bevor sie ausgeführt werden. Es konzentriert sich auf [die Dinge, bei denen Sie möchten, dass eine Person eingreift](https://code.claude.com/docs/de/permission-modes.md#what-the-classifier-blocks-by-default):

348 393 

349## Verwalten Sie Ihre Sitzung394* `curl | bash`

395* Production-Deployments und Migrationen

396* Force-Pushes über die Arbeit anderer

397* Sensible Daten, die an externe Endpunkte gesendet werden

398* Aktionen, die eher von Inhalten gesteuert wirken, die Claude gelesen hat, als von Ihnen

350 399 

351Konversationen sind persistent und reversibel. Nutzen Sie dies zu Ihrem Vorteil!400Wenn er etwas blockiert, erhalten Sie eine Benachrichtigung, und die Aktion erscheint unter **Recently denied** in `/permissions`, wo Sie sie mit einer manuellen Genehmigung erneut versuchen können. Nach [drei Blockierungen hintereinander](https://code.claude.com/docs/de/permission-modes.md#when-auto-mode-falls-back) (oder zwanzig insgesamt) pausiert der Auto-Modus und fragt wieder Sie.

352 401 

353### Korrigieren Sie früh und häufig402Nichts davon ersetzt Ihre deterministischen Kontrollen, weil es *nach* ihnen läuft. deny- und ask-Regeln sowie `PreToolUse`-Hooks greifen, bevor der Klassifikator etwas sieht. Eine deny-Regel blockiert im Auto-Modus also genauso wie überall sonst. Die Sandbox schränkt weiterhin die [Shell-Befehle ein, die sie umschließt](https://code.claude.com/docs/de/sandboxing.md#what-runs-outside-the-sandbox).

354 403 

355> [!TIP]404> [!NOTE]

356>405>

357> Korrigieren Sie Claude, sobald Sie bemerken, dass es vom Kurs abweicht.406> Sie können in der Konversation auch `don't push until I've reviewed` sagen, und der Klassifikator [wertet das als Blockierungssignal](https://code.claude.com/docs/de/permission-modes.md#boundaries-you-state-in-conversation). Es ist aber weiterhin ein Modell, das das Transkript liest, und der Satz kann bei der Komprimierung der Konversation verloren gehen. Alles, was wichtig ist, gehört daher in eine deny-Regel.

407 

408Das umgekehrte Problem ist, dass der Klassifikator wiederholt etwas stoppt, das in Ihrer Umgebung alltäglich ist. Statt es jedes Mal manuell zu genehmigen, fügen Sie es zu `autoMode.allow` hinzu oder beschreiben Ihre vertrauenswürdige Infrastruktur in der [Auto-Modus-Konfiguration](https://code.claude.com/docs/de/auto-mode-config.md). Diese wird in natürlicher Sprache statt in Mustern geschrieben, und [`/auto-mode-setup`](https://code.claude.com/docs/de/auto-mode-config#generate-environment-entries) kann den `environment`-Teil aus Ihrem Projekt und Ihren letzten Sitzungen für Sie entwerfen:

409 

410```json ~/.claude/settings.json theme={null}

411{

412 "autoMode": {

413 "environment": [

414 "$defaults",

415 "Source control: github.com/example-org and every repo under it",

416 "Trusted internal domains: *.internal.example.com"

417 ],

418 "allow": [

419 "$defaults",

420 "Deploying to the staging namespace is fine, it's isolated from production and resets nightly"

421 ]

422 }

423}

424```

358 425 

359Die besten Ergebnisse entstehen durch enge Feedback-Schleifen. Obwohl Claude Probleme gelegentlich beim ersten Versuch perfekt löst, führt eine schnelle Korrektur in der Regel zu besseren Lösungen in kürzerer Zeit.426> [!WARNING]

427>

428> Behalten Sie `"$defaults"` in jeder Liste bei, die Sie festlegen, denn ohne diesen Eintrag *ersetzen* Ihre Einträge die integrierten Regeln dieser Liste, statt sie zu ergänzen. Bei `environment` und `allow` würden Sie den integrierten Kontext und die Ausnahmen verlieren, und eine `soft_deny`-Liste ohne ihn verliert die integrierten Blockierungen für Force-Pushes und Production-Deployments.

429>

430> Der `autoMode`-Block muss außerdem in `~/.claude/settings.json` statt im Projekt liegen, weil der Klassifikator `autoMode` in Projekteinstellungen ignoriert.

360 431 

361* **`Esc`**: Stoppen Sie Claude mit der `Esc`-Taste mitten in einer Aktion. Der Kontext bleibt erhalten, sodass Sie umleiten können.432Wenn Sie jede Bearbeitung und jeden Befehl lieber sehen möchten, bevor sie ausgeführt werden, wechselt `Shift+Tab` in der Sitzung durch die Berechtigungsmodi, einschließlich Manual, oder Sie starten mit `claude --permission-mode manual` aus Ihrer Shell. Und wenn Manual dann zu oft nachfragt, durchsucht `/fewer-permission-prompts` Ihre letzten Transkripte nach häufigen, nur lesenden Bash- und MCP-Aufrufen und fügt sie einer Allowlist in `.claude/settings.json` hinzu.

362* **`Esc + Esc` oder `/rewind`**: Drücken Sie `Esc` zweimal oder führen Sie `/rewind` aus, um das Rewind-Menü zu öffnen und den vorherigen Konversations- und Code-Status wiederherzustellen, oder fassen Sie eine ausgewählte Nachricht zusammen.

363* **`"Undo that"`**: Lassen Sie Claude seine Änderungen rückgängig machen.

364* **`/clear`**: Setzen Sie den Kontext zwischen nicht zusammenhängenden Aufgaben zurück. Lange Sitzungen mit irrelevantem Kontext können die Leistung verringern.

365 433 

366Wenn Sie Claude in einer Sitzung mehr als zweimal zur gleichen Frage korrigiert haben, ist der Kontext mit fehlgeschlagenen Ansätzen überladen. Führen Sie `/clear` aus und beginnen Sie mit einer spezifischeren Eingabeaufforderung neu, die das Gelernte berücksichtigt. Eine saubere Sitzung mit einer besseren Eingabeaufforderung übertrifft fast immer eine lange Sitzung mit angesammelten Korrektionen.434### Ändern Sie Modell und Effort

367 435 

368### Verwalten Sie den Kontext aggressiv436[Effort](https://code.claude.com/docs/de/model-config.md#adjust-effort-level) ist die wichtigste Steuerung dafür, wie lange Claude nachdenkt, und ersetzt das meiste, was man früher mit Prompt-Formulierungen gemacht hat. Claude Opus 5.5, Sonnet 5.5 und Haiku 5.5 verwenden standardmäßig `medium`, was für alltägliche Feature-Arbeit mit klarem Umfang völlig ausreicht. Wann Sie es mit `/effort` in der Sitzung ändern sollten:

369 437 

370> [!TIP]438* Erhöhen Sie es mit `/effort high` oder `/effort xhigh`, wenn es darauf ankommt, Fälle zu erfassen, die leicht übersehen werden. Denken Sie an einen Fehler in Code, den Sie nicht geschrieben haben, einen instabilen Test oder eine Schemaänderung, bei der Claude jeden Leser der alten Struktur finden muss. Claude prüft dann mehr Edge Cases und verifiziert mehr von seiner Arbeit, bevor es antwortet. Dafür gehen die zusätzliche Zeit und die zusätzlichen Token drauf.

371>439* Senken Sie es mit `/effort low`, wenn Sie schnell hin und her arbeiten und ohnehin jedes Ergebnis prüfen: Brainstorming, ein erster Entwurf, eine Umbenennung über ein paar Dateien. Claude liefert Ihnen schneller einen Ausgangspunkt, und da Sie jeden Schritt steuern, hätte die zusätzliche Überlegung außer der Wartezeit kaum etwas geändert.

372> Führen Sie `/clear` zwischen nicht zusammenhängenden Aufgaben aus, um den Kontext zurückzusetzen.440* Heben Sie `max` für ein schwieriges Problem auf, das Claude ohne Sie durcharbeiten soll, etwa die Suche nach einer Sicherheitslücke. Bei gewöhnlichen Aufgaben neigt es dazu, zu viel nachzudenken, sodass Sie mehr für eine Antwort bezahlen, die womöglich nicht besser ist als mit `high`.

441* Wenn nur die nächste Nachricht es braucht, etwa eine knifflige Frage mitten in ansonsten alltäglicher Arbeit, schreiben Sie [`ultrathink`](https://code.claude.com/docs/de/model-config#use-ultrathink-for-one-off-deep-reasoning) in diesen Prompt, statt die Einstellung zu ändern.

373 442 

374Claude Code komprimiert automatisch die Konversationshistorie, wenn Sie sich den Kontextgrenzen nähern, wodurch wichtiger Code und Entscheidungen erhalten bleiben und Platz freigegeben wird.443Was das Modell selbst angeht, bewältigt das Standardmodell Opus 5.5 die meisten Programmieraufgaben gut, und Sonnet kostet bei alltäglicher Arbeit weniger. [Claude Fable 5.1](https://code.claude.com/docs/de/model-config.md#work-with-fable) steht zur Verfügung, wenn Sie es ausdrücklich mit `/model fable` auswählen, und Haiku eignet sich gut für Subagenten mit einfachen Aufgaben. Unter [Modellkonfiguration](https://code.claude.com/docs/de/model-config.md) finden Sie die vollständige Liste pro Plan und Anbieter.

375 444 

376Während langer Sitzungen kann sich das Kontextfenster von Claude mit irrelevanten Konversationen, Dateiinhalten und Befehlen füllen. Dies kann die Leistung verringern und Claude manchmal ablenken.445### Wissen Sie, was Subagenten kosten

377 446 

378* Verwenden Sie `/clear` häufig zwischen Aufgaben, um das Kontextfenster vollständig zurückzusetzen447Claude delegiert selbstständig an [Subagenten](https://code.claude.com/docs/de/sub-agents.md):

379* Wenn die automatische Komprimierung ausgelöst wird, fasst Claude zusammen, was am wichtigsten ist, einschließlich Code-Muster, Dateizustände und wichtiger Entscheidungen

380* Für mehr Kontrolle führen Sie `/compact <instructions>` aus, wie `/compact Focus on the API changes`

381* Um nur einen Teil der Konversation zu komprimieren, verwenden Sie `Esc + Esc` oder `/rewind`, wählen Sie einen Nachricht-Checkpoint aus und wählen Sie **Summarize from here** oder **Summarize up to here**. Das erste komprimiert Nachrichten von diesem Punkt an, während es den früheren Kontext intakt hält; das zweite komprimiert frühere Nachrichten, während es die neuesten vollständig behält. Siehe [die Zusammenfassungsoptionen des Rewind-Menüs](https://code.claude.com/docs/de/checkpointing.md#rewind-and-summarize).

382* Passen Sie das Komprimierungsverhalten in CLAUDE.md mit Anweisungen wie `"When compacting, always preserve the full list of modified files and any test commands"` an, um sicherzustellen, dass kritischer Kontext die Zusammenfassung übersteht

383* Für Fragen, die nicht im Kontext bleiben müssen, verwenden Sie [`/btw`](https://code.claude.com/docs/de/interactive-mode#side-questions-with-%2Fbtw). Die Antwort gelangt nie in die Konversationshistorie, sodass Sie ein Detail überprüfen können, ohne den Kontext zu vergrößern.

384 448 

385### Verwenden Sie Subagenten für Untersuchungen449* Breite Suchen in der Codebasis gehen an den integrierten Explore-Agenten.

450* Nebenaufgaben werden [geforkt](https://code.claude.com/docs/de/sub-agents.md#fork-the-current-conversation), solange der Fork-Modus aktiv ist (die Standardeinstellung).

451* Die Subagenten, die es startet, laufen standardmäßig im Hintergrund, sodass Ihre Hauptkonversation weiterläuft.

386 452 

387> [!TIP]453Sie müssen selten um etwas davon bitten, aber es hilft zu wissen, was Sie bekommen und was es kostet.

388>

389> Delegieren Sie Recherchen mit `"use subagents to investigate X"`. Sie erkunden in einem separaten Kontext und halten Ihre Hauptkonversation sauber für die Implementierung.

390 454 

391Da Kontext Ihre grundlegende Einschränkung ist, verwenden Sie Subagenten, um Recherchen aus ihm herauszuhalten. Wenn Claude eine Codebasis recherchiert, liest es viele Dateien, die alle Ihren Kontext verbrauchen. Subagenten laufen in separaten Kontextfenstern und berichten Zusammenfassungen zurück:455Subagenten lohnen sich in diesen Situationen:

392 456 

393```text wrap theme={null}457* Unabhängige Arbeitspakete gleichzeitig ausführen, damit die gesamte Aufgabe schneller fertig ist

394Use subagents to investigate how our authentication system handles token458* Lange Ausgaben, etwa einen vollständigen Testlauf oder eine breite Suche, aus Ihrer Hauptkonversation heraushalten, wo sie sonst für den Rest der Sitzung mitgeschleppt würden

395refresh, and whether we have any existing OAuth utilities I should reuse.459* Einen Reviewer bekommen, der nicht gesehen hat, wie der Code geschrieben wurde

396```460* Einer Aufgabe weniger Tools geben, als die Hauptsitzung hat, etwa einem Reviewer, der lesen, aber nicht bearbeiten kann

397 461 

398Sie können Subagenten auch zur Überprüfung verwenden, nachdem Claude etwas implementiert hat. Siehe [Fügen Sie einen adversarialen Überprüfungsschritt hinzu](#add-an-adversarial-review-step).462Was sie Sie kosten, sind vor allem Token, denn jeder Subagent sendet eigene Anfragen, und diese zählen zur selben Nutzung wie Ihre Hauptkonversation. Manchmal kostet es auch Zeit: Ein neuer Subagent muss zuerst Kontext sammeln, den Ihre Konversation bereits hatte, und kann daher am Ende *langsamer* sein, als die Aufgabe direkt dort zu erledigen, wo Sie sind.

399 463 

400### Rewind mit Checkpoints464Und standardmäßig ist es dasselbe Modell (oder ein kleineres) an derselben Aufgabe. Sie gewinnen dadurch Parallelität oder einen frischen Blick, aber keine klügere Antwort.

401 465 

402> [!TIP]466Um weniger für sie auszugeben:

403>

404> Jede Eingabeaufforderung, die Sie senden und die einen Turn startet, erstellt einen Checkpoint. Sie können Konversation, Code oder beides auf jeden vorherigen Checkpoint zurücksetzen.

405 467 

406Claude erstellt automatisch Snapshots von Dateien vor jeder Änderung, sodass ein Checkpoint sie wiederherstellen kann. Drücken Sie zweimal `Escape` oder führen Sie `/rewind` aus, um das Rewind-Menü zu öffnen. Sie können nur die Konversation wiederherstellen, nur den Code wiederherstellen, beides wiederherstellen oder eine ausgewählte Nachricht zusammenfassen. Siehe [Checkpointing](https://code.claude.com/docs/de/checkpointing.md) für Details.468* Setzen Sie [`model: haiku`](https://code.claude.com/docs/de/sub-agents#choose-a-model) in der Definition eines Subagenten, wenn seine Arbeit einfach ist, etwa die Dateien zu sammeln, die ein Modul importieren, oder Links in der Dokumentation zu prüfen. Eine solche Aufgabe braucht nicht das größere Modell, und Haiku kostet pro Anfrage deutlich weniger.

469* Bitten Sie um kurze Zusammenfassungen als Rückmeldung, damit zwanzig Ergebnisse Ihren Kontext nicht trotzdem füllen.

470* Prüfen Sie mit `/usage`, welchen Anteil Ihrer Nutzung jeder Subagententyp ausmacht, damit Sie erkennen, welche ihre Kosten wert sind.

471* Geben Sie einem benutzerdefinierten Subagenten in `.claude/agents/` nur `tools: Read, Grep, Glob`. Dann ist er ein Reviewer, der nichts bearbeiten kann, und diese Einschränkung wird von Claude Code durchgesetzt, statt in einem Prompt erbeten zu werden.

407 472 

408Anstatt jeden Schritt sorgfältig zu planen, können Sie Claude sagen, etwas Riskantes zu versuchen. Wenn es nicht funktioniert, rewind und versuchen Sie einen anderen Ansatz. Checkpoints werden mit der Konversation gespeichert, sodass Sie Ihr Terminal schließen, die Sitzung später fortsetzen und immer noch rewind können.473Dieser Reviewer ist eine kurze Datei, `.claude/agents/reviewer.md`:

409 474 

410> [!WARNING]475```markdown .claude/agents/reviewer.md theme={null}

411>476---

412> Checkpoints verfolgen nur Änderungen, die durch Claudes Datei-Bearbeitungswerkzeuge vorgenommen wurden. Änderungen, die durch Bash-Befehle oder externe Prozesse vorgenommen wurden, werden nicht erfasst. Dies ist kein Ersatz für git.477name: reviewer

478description: Reviews changed files against the spec they were built from. Use after implementing a feature, before opening the PR.

479tools: Read, Grep, Glob

480---

481You're reviewing code you didn't write. Compare the changed files against the spec you're given,

482check that every requirement is implemented and the listed edge cases have tests,

483and report only the gaps that affect correctness. Skip style.

484```

413 485 

414### Setzen Sie Konversationen fort486Bitten Sie Claude `have the reviewer compare the rate limiter against SPEC.md`, und die Lücken kommen in Ihre Sitzung zurück, wo Claude sie beheben kann.

415 487 

416> [!TIP]488### Halten Sie Kosten und Kontext gering

417>

418> Benennen Sie Sitzungen mit `/rename` und behandeln Sie sie wie Branches: Jeder Arbeitsstrom erhält seinen eigenen persistenten Kontext.

419 489 

420Claude Code speichert Konversationen lokal, sodass Sie den Kontext nicht erneut erklären müssen, wenn eine Aufgabe mehrere Sitzungen umfasst. Führen Sie [`claude --continue`](https://code.claude.com/docs/de/sessions#resume-a-session) aus, um dort weiterzumachen, wo Sie aufgehört haben, oder `claude --resume`, um aus einer Liste auszuwählen. Geben Sie Sitzungen aussagekräftige Namen wie `oauth-migration`, damit Sie sie später finden können. Siehe [Verwalten Sie Sitzungen](https://code.claude.com/docs/de/sessions.md) für den vollständigen Satz von Resume-, Branch- und Benennungskontrollen.490Mit einem Fenster von 1M Token bei den meisten aktuellen Modellen und einer Komprimierung nahe dessen Obergrenze geht Ihnen selten der Kontext aus. Sie können aber trotzdem für Kontext *bezahlen*, den Sie nicht brauchen. Jede Anfrage sendet die gesamte Konversation, sodass eine Sitzung, die drei unzusammenhängende Aufgaben angesammelt hat, bei jedem Turn der vierten alle drei erneut liest. Das ist [vergünstigt, solange der Cache warm ist](https://code.claude.com/docs/de/costs.md#why-usage-climbs-in-a-long-session), und kostet den vollen Preis, sobald er abläuft.

421 491 

422***492[`/usage`](https://code.claude.com/docs/de/costs) ist die erste Anlaufstelle. Bei Pro, Max, Team und Enterprise schlüsselt es Ihre Nutzung nach Skill, Subagent, Plugin und MCP-Server auf. Außerdem kennzeichnet es Muster wie langen Kontext oder häufige Cache-Misses, sobald eines davon 10 % Ihrer Nutzung überschreitet. Von dort aus die üblichen Lösungen:

423 493 

424## Automatisieren und skalieren Sie494* `/clear` zwischen unzusammenhängenden Aufgaben. Es kostet nichts und sorgt dafür, dass die nächste Aufgabe nicht weiter für den Verlauf der vorherigen bezahlt. `/clear oauth-migration` benennt die Sitzung, die Sie verlassen, damit Sie später zu ihr zurückkehren können.

495* `/compact` mit einem Fokus, etwa `/compact keep the API changes and the test commands`. In einer langen Sitzung ist `/compact` selbst eine große Anfrage, da es die gesamte Konversation liest, um sie zusammenzufassen, und das umso mehr, wenn der Cache abgelaufen ist.

496* Behalten Sie Hintergrundarbeit im Blick: Ein `/loop`, die Prüfung eines Ziels nach jedem Turn und Claudes eigene Subagenten senden alle weiterhin Anfragen, während Sie nicht tippen.

425 497 

426Sobald Sie mit einem Claude effektiv sind, multiplizieren Sie Ihre Ausgabe mit parallelen Sitzungen, nicht interaktivem Modus und Fan-Out-Mustern.498> [!NOTE]

499>

500> Der [Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md) hält bei einem Abonnement etwa eine Stunde und bei einem API-Schlüssel, einem Cloud-Anbieter oder Nutzungsguthaben fünf Minuten. Subagenten bekommen fünf Minuten, sofern Sie das nicht ändern.

501>

502> Beim einstündigen Cache wird eine inaktive Sitzung mit mehr als etwa 200K Token kurz vor Ablauf des Caches komprimiert, sodass Sie nach der Mittagspause mit einer Zusammenfassung weitermachen. Wenn Sie den Verlauf gar nicht brauchen, ist eine neue Sitzung trotzdem günstiger.

427 503 

428### Führen Sie den nicht interaktiven Modus aus504## Steuern Sie die Sitzung

429 505 

430> [!TIP]506> [!TIP]

431>507>

432> Verwenden Sie `claude -p "prompt"` in CI, Pre-Commit-Hooks oder Skripten. Fügen Sie `--output-format stream-json --verbose` für Streaming-JSON-Ausgabe hinzu.508> Beobachten Sie die erste Minute, drücken Sie `Esc`, sobald Claude abschweift, und führen Sie nach zwei fehlgeschlagenen Korrekturen `/clear` aus und schreiben einen besseren Prompt, statt eine dritte Korrektur zu versuchen.

433 509 

434Mit `claude -p "your prompt"` können Sie Claude nicht interaktiv ohne einen interaktiven Prompt ausführen. Der Lauf erstellt immer noch eine wiederaufnehmbare Sitzung, es sei denn, Sie übergeben `--no-session-persistence`. Mit dem [nicht interaktiven Modus](https://code.claude.com/docs/de/headless.md) integrieren Sie Claude in CI-Pipelines, Pre-Commit-Hooks oder jeden automatisierten Workflow. Die Ausgabeformate ermöglichen es Ihnen, Ergebnisse programmgesteuert zu analysieren: Klartext, JSON oder Streaming-JSON.510Keine Konfiguration ersetzt es, die erste Minute zu beobachten und einzugreifen, wenn Claude in eine Richtung geht, die Sie nicht beabsichtigt haben. Dafür gibt es nur wenige Steuerelemente, und es lohnt sich, sie auswendig zu kennen:

435 511 

436```bash theme={null}512* `Esc` stoppt Claude mitten in einer Aktion und behält alles bis zu diesem Punkt, sodass Sie umlenken können, ohne Arbeit zu verlieren.

437# One-off queries513* `/rewind` oder zweimal `Esc` bei leerem Prompt öffnet das [Rewind-Menü](https://code.claude.com/docs/de/checkpointing.md#rewind-and-summarize), in dem Sie den Code, die Konversation oder beides auf einen früheren Prompt zurücksetzen. Dadurch ist es risikoarm, zuerst den mutigeren Ansatz auszuprobieren und zurückzuspulen, wenn er nicht funktioniert. Dasselbe Menü kann auch einen Teil der Konversation zusammenfassen, wenn dieser veraltet ist.

438claude -p "Explain what this project does"514* `/clear` fängt neu an. Wenn Sie dasselbe zweimal korrigiert haben und es immer noch falsch ist, ergänzt eine dritte Korrektur vor allem eine Konversation, die bereits zwei fehlgeschlagene Versuche enthält, die Claude immer wieder liest. `/clear` plus ein neuer Prompt, der das Gelernte einbezieht, funktioniert fast jedes Mal besser.

439 

440# Structured output for scripts

441claude -p "List all API endpoints" --output-format json

442 515 

443# Streaming for real-time processing516> [!WARNING]

444claude -p "Analyze this log file" --output-format stream-json --verbose517>

445```518> Checkpoints umfassen die Dateien, die Claude in Ihrer Hauptkonversation mit seinen eigenen Datei-Tools bearbeitet hat. Eine Datei, die nur ein Bash-Befehl verändert hat, wird daher [nicht wiederhergestellt](https://code.claude.com/docs/de/checkpointing.md#bash-command-changes-not-tracked). Sie funktionieren zusammen mit Git, statt es zu ersetzen.

446 519 

447Der erste Befehl gibt Klartext aus. Das `json`-Format gibt ein einzelnes JSON-Objekt mit einem `result`-Feld zurück. Das `stream-json`-Format gibt ein JSON-Objekt pro Zeile aus, beginnend mit einem Init-Event.520Zwei kleinere: [`/btw`](https://code.claude.com/docs/de/interactive-mode#side-questions-with-%2Fbtw) beantwortet eine kurze Frage, ohne dem Verlauf etwas hinzuzufügen. Und für Arbeit, die sich über mehrere Tage erstreckt, benennt `/rename oauth-migration` die Sitzung, sodass [`claude --resume oauth-migration`](https://code.claude.com/docs/de/sessions#resume-by-session-id-or-name) aus Ihrer Shell sie später wieder aufnimmt, einschließlich Checkpoints. `claude --continue` setzt die letzte fort.

448 521 

449### Führen Sie mehrere Claude-Sitzungen aus522## Lassen Sie Claude ohne Sie arbeiten

450 523 

451> [!TIP]524> [!TIP]

452>525>

453> Führen Sie mehrere Claude-Sitzungen parallel aus, um die Entwicklung zu beschleunigen, isolierte Experimente auszuführen oder komplexe Workflows zu starten.526> Bevor ein Lauf unbeaufsichtigt bleibt, stellen Sie sicher, dass er weiß, wie „fertig“ aussieht, seine eigene Arbeit prüfen kann und nur anfassen kann, was er soll. Geben Sie ihm eine Obergrenze für Turns oder Ausgaben, und lassen Sie am Ende eine Person das Ergebnis genehmigen.

454 

455Wählen Sie den parallelen Ansatz, der zu dem Grad der Koordination passt, den Sie selbst durchführen möchten, und fügen Sie Messaging hinzu, wenn die Sitzungen Erkenntnisse untereinander weitergeben müssen:

456 527 

457* [Worktrees](https://code.claude.com/docs/de/worktrees.md): Führen Sie separate CLI-Sitzungen in isolierten Git-Checkouts aus, damit Änderungen nicht kollidieren528Alles auf dieser Seite wird etwas wichtiger, sobald Sie nicht da sind, um Fehler abzufangen. Solange Sie zusehen, ist es keine große Sache, wenn Claude ein Stück Kontext fehlt: Sie bemerken es innerhalb von ein oder zwei Nachrichten und sagen es ihm. Bei einem Lauf, den Sie vor dem Schlafengehen gestartet haben, sagt es ihm niemand, und am nächsten Morgen stellen Sie fest, dass es die ganze Nacht auf einer falschen Annahme aufgebaut hat.

458* [Cross-Session-Messaging](https://code.claude.com/docs/de/cross-session-messaging.md): Lassen Sie die Sitzungen, die Sie selbst ausführen, Erkenntnisse untereinander weitergeben

459* [Desktop-App](https://code.claude.com/docs/de/desktop.md#work-in-parallel-with-sessions): Verwalten Sie mehrere lokale Sitzungen visuell, optional jede in ihrem eigenen Worktree

460* [Claude Code in der Cloud verwenden](https://code.claude.com/docs/de/claude-code-on-the-web.md): Führen Sie Sitzungen standardmäßig auf von Anthropic verwalteter Infrastruktur aus

461* [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md): Research Preview. Führen Sie `claude agents` aus, um Sitzungen zu starten, die im Hintergrund weiterhin ausgeführt werden, und beobachten Sie sie von einem Bildschirm aus

462* [Agent-Teams](https://code.claude.com/docs/de/agent-teams.md): Experimentell und standardmäßig deaktiviert. Automatisierte Koordination mehrerer Sitzungen mit gemeinsamen Aufgaben, Messaging und einem Team Lead

463 529 

464Über die Parallelisierung von Arbeit hinaus ermöglichen mehrere Sitzungen qualitätsorientierte Workflows. Ein frischer Kontext verbessert das Code-Review, da Claude nicht durch Code, den es gerade geschrieben hat, voreingenommen ist.530Bevor Sie eine Aufgabe allein laufen lassen, lohnt es sich, diese fünf Fragen mit genau dieser Aufgabe im Kopf durchzugehen:

465 531 

466Verwenden Sie beispielsweise ein Writer/Reviewer-Muster:5321. Weiß es, wie „fertig“ aussieht? Eine Zielbedingung, eine Spezifikationsdatei oder ein fehlschlagender Test, den es grün machen muss.

5332. Kann es seine eigene Arbeit prüfen? Die Test-Suite, ein `Stop`-Hook, irgendein Review-Schritt.

5343. Was darf es anfassen? Berechtigungsregeln, `dontAsk`, die Sandbox, ein Worktree, der eine Branch, auf den es pushen darf.

5354. Was stoppt es? `--max-turns`, `--max-budget-usd`, ein Ausgabenlimit.

5365. Wohin geht das Ergebnis, und wer gibt es frei? Ein PR, ein Kommentar oder eine Zusammenfassung, und dann eine Person, die den Merge, das Deployment oder alles andere genehmigt, was sich nicht rückgängig machen lässt.

467 537 

468| Sitzung A (Writer) | Sitzung B (Reviewer) |538Sobald es läuft, bringt Claude eine lange Aufgabe selbstständig zu Ende. Bei Ihnen bleibt, sie zu starten, festzulegen, was „fertig“ diesmal bedeutet, und am Ende den Merge zu genehmigen.

469| - | - |

470| `Implement a rate limiter for our API endpoints` | |

471| | `Review the rate limiter implementation in @src/middleware/rateLimiter.ts. Look for edge cases, race conditions, and consistency with our existing middleware patterns.` |

472| `Here's the review feedback: [Session B output]. Address these issues.` | |

473 539 

474Sie können etwas Ähnliches mit Tests tun: Lassen Sie einen Claude Tests schreiben und dann einen anderen Code, der diese Tests besteht.540### Führen Sie Claude aus einem Skript aus

475 541 

476### Fan Out über Dateien542[`claude -p "prompt"`](https://code.claude.com/docs/de/headless) läuft einmal und beendet sich. So landet Claude Code in CI-Jobs, Git-Hooks und Shell-Schleifen.

477 

478> [!TIP]

479>

480> Durchlaufen Sie Aufgaben in einer Schleife und rufen Sie für jede `claude -p` auf. Verwenden Sie `--allowedTools`, um Tools für Batch-Operationen vorab zu genehmigen.

481 543 

482Für große Migrationen oder Analysen können Sie Arbeit über viele parallele Claude-Aufrufe verteilen. Führen Sie [`/batch <instruction>`](https://code.claude.com/docs/de/commands#all-commands) aus, damit Claude die Änderung auf 5 bis 30 Subagenten verteilt. Jeder Subagent arbeitet in seinem eigenen Worktree. Um den Fan-Out stattdessen von Ihrem eigenen Skript aus zu steuern, schleifen Sie über `claude -p`:544In einem Skript möchten Sie fast immer ein paar weitere Flags:

483 545 

484**1. Generieren Sie eine Aufgabenliste**546* [`--bare`](https://code.claude.com/docs/de/headless#start-faster-with-bare-mode) überspringt Hooks, Skills, Plugins, MCP-Server und `CLAUDE.md`-Dateien, sowohl die des Repos als auch die des Rechners, sodass der Lauf überall dasselbe tut. Außerdem wird Ihre claude.ai-Anmeldung nie verwendet: Die Authentifizierung kommt aus `ANTHROPIC_API_KEY`, einem `apiKeyHelper` in der Datei, die Sie mit `--settings` übergeben, oder den Anmeldedaten Ihres Cloud-Anbieters.

547* `--append-system-prompt`, `--mcp-config` und `--settings` übergeben explizit, was der Lauf *tatsächlich* braucht.

548* `--allowedTools` genehmigt seine Tools vorab, und [`--permission-mode dontAsk`](https://code.claude.com/docs/de/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) lehnt alles andere ab, das eine Abfrage ausgelöst hätte.

549* `--output-format json` liefert Ihnen ein einzelnes Ergebnisobjekt zum Parsen, und `stream-json` mit `--verbose` streamt Ereignisse, während sie auftreten.

485 550 

486Lassen Sie Claude die Liste der Dateien, die migriert werden müssen, in eine Datei schreiben, damit die Schleife im nächsten Schritt sie lesen kann, mit einem Prompt wie `list all 2,000 Python files that need migrating and save the list to files.txt`551Zusammengesetzt sieht das so aus:

487 

488**2. Schreiben Sie ein Skript, um die Liste zu durchlaufen**

489 552 

490```bash theme={null}553```bash theme={null}

491for file in $(cat files.txt); do554for file in $(cat files.txt); do

492 claude -p "Migrate $file from Python 2 to Python 3. Return OK or FAIL." \555 claude --bare -p "Migrate $file to the new logger API and commit. Reply OK or FAIL." \

493 --allowedTools "Edit,Bash(git commit *)" \556 --allowedTools "Read,Edit,Bash(git add *),Bash(git commit *)" \

494 --permission-mode dontAsk557 --permission-mode dontAsk \

558 --max-turns 20

495done559done

496```560```

497 561 

498**3. Testen Sie mit ein paar Dateien, dann führen Sie es für alle aus**562Wenn ein Lauf beendet ist, antwortet Claude mit `OK` oder `FAIL`, und ein Lauf, der das Turn-Limit erreicht, endet stattdessen mit einem Fehler. Probieren Sie es zuerst mit drei Dateien aus, sehen Sie, was schiefgeht, korrigieren Sie den Prompt und führen Sie dann den Rest aus.

499 

500Verfeinern Sie Ihren Prompt basierend auf dem, was bei den ersten 2-3 Dateien schiefgeht, dann führen Sie ihn für den vollständigen Satz aus. Das `--allowedTools`-Flag genehmigt die Tools, die die Migration benötigt, vorab. [`--permission-mode dontAsk`](https://code.claude.com/docs/de/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) lehnt alles andere ab, was eine Genehmigung erfordern würde. Das ist wichtig, wenn Sie unbeaufsichtigt laufen, allerdings kann ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) einige dieser Aufrufe dennoch genehmigen.

501 563 

502Sie können Claude auch in vorhandene Daten-/Verarbeitungs-Pipelines integrieren:564Der Auto-Modus funktioniert auch mit `-p`, wenn Sie `--permission-mode auto` übergeben. In einem nicht interaktiven Lauf verweigert eine Blockierung durch den Klassifikator nur diese eine Aktion, und Claude macht weiter. Wiederholte Blockierungen pausieren den Lauf nicht so, wie sie es im Terminal tun. Lesen Sie, [wie die Schwellenwerte dort gelten](https://code.claude.com/docs/de/permission-modes.md#repeated-block-thresholds), bevor Sie sich darauf verlassen.

503 565 

504```bash theme={null}566### Starten Sie Läufe nach Zeitplan oder bei einem Ereignis

505claude -p "<your prompt>" --output-format json | your_command

506```

507 567 

508### Führen Sie autonom mit dem Auto-Modus aus568Sobald ein Lauf begonnen hat, kann Claude den Rest selbst erledigen. Das Einzige, was es nicht kann, ist zu entscheiden, *anzufangen*. Also muss etwas anderes das tun: Sie, ein Timer oder ein Ereignis wie eine fehlgeschlagene CI-Prüfung oder ein neuer PR.

509 569 

510Für ununterbrochene Ausführung mit Sicherheitsprüfungen im Hintergrund verwenden Sie den [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode). Ein Klassifikator-Modell überprüft Befehle vor ihrer Ausführung und blockiert Rechteausweitungen über den Aufgabenumfang hinaus, unbekannte Infrastruktur und durch feindselige Inhalte gesteuerte Aktionen, während es alltägliche Arbeit ohne Berechtigungsabfragen durchlaufen lässt.570In einer offenen Sitzung ist das [`/loop`](https://code.claude.com/docs/de/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop), das einen Prompt in einem Intervall wiederholt:

511 571 

512```bash theme={null}572```text theme={null}

513claude --permission-mode auto -p "fix all lint errors"573/loop 15m check CI on this branch, and if it's red pull the failing job's log, fix it and push

514```574```

515 575 

516Wenn der Klassifikator bei einem nicht interaktiven Lauf mit dem `-p`-Flag Aktionen wiederholt blockiert, stoppt Claude Code den Lauf nicht. Siehe [wenn der Auto-Modus zurückfällt](https://code.claude.com/docs/de/permission-modes.md#when-auto-mode-falls-back) für das, was stattdessen passiert, und für die Schwellenwerte.576Jeder Lauf ist ein weiterer Turn in derselben Sitzung, lassen Sie also keinen in einer langen Konversation laufen. Für alles, was passieren soll, während Ihr Laptop zugeklappt ist, richtet [`/schedule`](https://code.claude.com/docs/de/routines#create-from-the-cli) eine [geplante Cloud-Aufgabe](https://code.claude.com/docs/de/routines.md) ein, die nach einem Timer läuft. Dafür ist eine claude.ai-Anmeldung statt eines API-Schlüssels erforderlich. Sie können einen GitHub-Ereignis-Trigger hinzufügen, indem Sie Claude darum bitten, oder einen API-Trigger unter [claude.ai/code/routines](https://claude.ai/code/routines).

517 

518### Fügen Sie einen kritischen Überprüfungsschritt hinzu

519 577 

520> [!TIP]578> [!WARNING]

521>579>

522> Bevor Sie eine Aufgabe als erledigt betrachten, lassen Sie einen Subagenten den Diff in einem frischen Kontext überprüfen und Lücken melden.580> Bevor Sie eine geplante Cloud-Aufgabe laufen lassen, schützen Sie `main` mit einer [GitHub-Branch-Regel, die die Aufgabe nicht umgehen kann](https://code.claude.com/docs/de/routines.md#repositories-and-branch-permissions). Und beobachten Sie die ersten paar Läufe von allem Neuen, bevor Sie ihm unbeaufsichtigt vertrauen.

523 

524Je länger Claude unbeaufsichtigt arbeitet, desto wichtiger wird eine unabhängige Überprüfung, bevor Sie die Arbeit als erledigt zählen. Ein Reviewer, der in einem frischen [Subagenten](https://code.claude.com/docs/de/sub-agents.md)-Kontext läuft, sieht nur den Diff und die Kriterien, die Sie ihm geben, nicht die Begründung, die die Änderung hervorgebracht hat, daher bewertet er das Ergebnis nach seinen eigenen Maßstäben.

525 581 

526Für eine Korrektheitsprüfung führen Sie den gebündelten [`/code-review`-Skill](https://code.claude.com/docs/de/commands) aus, der den aktuellen Diff in einem frischen Subagenten auf Fehler überprüft und Ergebnisse an die Sitzung zurückgibt. Um den Diff stattdessen gegen Ihren Plan zu überprüfen, schreiben Sie den Review-Prompt selbst. Nennen Sie die zu überprüfende Arbeit, den Plan, gegen den überprüft werden soll, und was als Ergebnis zählt:582### Führen Sie Sitzungen parallel aus

527 583 

528```text wrap theme={null}584Wenn mehrere separate Arbeiten gleichzeitig laufen, geben Sie jeder einen eigenen Checkout, damit die Bearbeitungen nicht kollidieren können. [`claude -w feature-auth`](https://code.claude.com/docs/de/worktrees#start-claude-in-a-worktree) startet eine Sitzung in einem neuen Worktree, die [Desktop-App](https://code.claude.com/docs/de/desktop.md#work-in-parallel-with-sessions) führt mehrere davon nebeneinander aus, und [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md) führen sie in der Cloud statt auf Ihrem Rechner aus.

529Use a subagent to review the rate limiter diff against PLAN.md. Check that

530every requirement is implemented, the listed edge cases have tests, and

531nothing outside the task's scope changed. Report gaps, not style preferences.

532```

533 585 

534Da der Reviewer als Subagent läuft, erhält die implementierende Sitzung die Lücken direkt und kann sie beheben und erneut überprüfen, ohne dass Sie Erkenntnisse zwischen Fenstern kopieren müssen.586Ein Worktree ist ein frischer Checkout, das heißt, von Git ignorierte Dateien wie `.env` sind nicht vorhanden und Abhängigkeiten sind nicht installiert. Für Ersteres listen Sie die benötigten ignorierten Dateien in einer [`.worktreeinclude`](https://code.claude.com/docs/de/worktrees#copy-gitignored-files-into-worktrees) im Repo-Stammverzeichnis auf (gleiche Syntax wie `.gitignore`), und Claude Code kopiert sie in jeden Worktree, den es erstellt:

535 587 

536Ein Reviewer, der Lücken finden soll, wird normalerweise einige melden, auch wenn die Arbeit solide ist, weil genau das seine Aufgabe ist. Das Verfolgen jedes Ergebnisses führt zu Überentwicklung: zusätzliche Abstraktionsebenen, defensiver Code und Tests für Fälle, die nicht vorkommen können. Sagen Sie dem Reviewer, dass er nur Lücken kennzeichnen soll, die die Korrektheit oder die angegebenen Anforderungen beeinflussen, und behandeln Sie den Rest als optional.588```text .worktreeinclude theme={null}

589.env

590.env.local

591config/dev-credentials.json

592```

537 593 

538***594Beschränken Sie sich auf kleine Dateien: Sie werden kopiert statt verlinkt, `node_modules` darin würde also eine vollständige Kopie pro Worktree bedeuten. Für große Verzeichnisse gibt es die Einstellung [`worktree.symlinkDirectories`](https://code.claude.com/docs/de/settings-reference#worktree-symlinkdirectories), oder Sie halten den Installationsbefehl in `CLAUDE.md` fest, damit Claude ihn ausführt, wann immer es in einem neuen Checkout startet.

539 595 

540## Vermeiden Sie häufige Fehlermuster596Aufräumen müssen Sie dabei selten selbst:

541 597 

542Dies sind häufige Fehler. Sie früh zu erkennen spart Zeit:598* Wenn Sie eine unbenannte Worktree-Sitzung beenden, [entfernt Claude Code den Worktree](https://code.claude.com/docs/de/worktrees.md#clean-up-worktrees), sofern nichts darin ist. Bei einer benannten Sitzung oder einer mit Änderungen fragt es, was zu tun ist.

599* Subagenten-Worktrees verschwinden, wenn der Subagent ohne Änderungen fertig wird.

600* Zurückgebliebene Worktrees von Subagenten und Hintergrundsitzungen werden entfernt, sobald sie älter als `cleanupPeriodDays` sind und keine Arbeit enthalten.

543 601 

544* **Die Kitchen-Sink-Session.** Sie beginnen mit einer Aufgabe, dann fragen Claude etwas Unverwandtes, dann gehen Sie zurück zur ersten Aufgabe. Der Kontext ist voll mit irrelevanten Informationen.602> [!NOTE]

545 > **Lösung**: `/clear` zwischen nicht verwandten Aufgaben.603>

546* **Immer wieder korrigieren.** Claude macht etwas falsch, Sie korrigieren es, es ist immer noch falsch, Sie korrigieren erneut. Der Kontext ist mit fehlgeschlagenen Ansätzen verschmutzt.604> Einen `claude -p --worktree`-Lauf räumen Sie selbst auf, da er sich ohne Nachfrage beendet. Entfernen Sie solche Worktrees mit `git worktree remove <path>`, und wenn Git sich weigert, weil der Worktree gesperrt ist, führen Sie zuerst `git worktree unlock <path>` aus.

547 > **Lösung**: Nach zwei fehlgeschlagenen Korrektionen `/clear` und schreiben Sie einen besseren anfänglichen Prompt, der das Gelernte einbezieht.

548* **Die über-spezifizierte CLAUDE.md.** Wenn Ihre CLAUDE.md zu lang ist, ignoriert Claude die Hälfte davon, weil wichtige Regeln in dem Lärm verloren gehen.

549 > **Lösung**: Rücksichtslos bereinigen. Wenn Claude etwas bereits ohne die Anweisung richtig macht, löschen Sie es oder konvertieren Sie es in einen Hook.

550* **Die Trust-then-Verify-Lücke.** Claude produziert eine plausibel aussehende Implementierung, die Edge Cases nicht behandelt.

551 > **Lösung**: Geben Sie immer Überprüfung an (Tests, Skripte, Screenshots). Wenn Sie es nicht überprüfen können, versenden Sie es nicht.

552* **Die unendliche Erkundung.** Sie bitten Claude, etwas zu „untersuchen“, ohne es zu begrenzen. Claude liest Hunderte von Dateien und füllt den Kontext.

553 > **Lösung**: Begrenzen Sie Untersuchungen eng oder verwenden Sie Subagents, damit die Erkundung Ihren Hauptkontext nicht verbraucht.

554 605 

555***606Für eine große mechanische Änderung über viele Dateien teilt [`/batch migrate every handler to the v2 response helpers`](https://code.claude.com/docs/de/commands) die Arbeit in 5 bis 30 Einheiten auf und zeigt Ihnen den Plan. Anschließend führt es jede Einheit in einem eigenen Worktree aus und öffnet dafür einen PR. Aus Ihrer Shell heraus bietet Ihnen [`claude agents`](https://code.claude.com/docs/de/agent-view) (noch eine Research Preview) einen Bildschirm für alles, was auf Ihrem Rechner im Hintergrund läuft.

556 607 

557## Entwickeln Sie Ihre Intuition608Eine zweite Sitzung ist auch der einfachste unabhängige Reviewer, den Sie bekommen können. Eine Sitzung schreibt den Rate Limiter, eine andere prüft `@src/middleware/rateLimiter.ts`, ohne beim Schreiben zugesehen zu haben, und Sie fügen die Befunde in die erste ein. Dieselbe Idee wie `/code-review`, nur dass Sie die Nachrichten überbringen.

558 609 

559Die Muster in diesem Leitfaden sind nicht in Stein gemeißelt. Sie sind Ausgangspunkte, die im Allgemeinen gut funktionieren, aber möglicherweise nicht optimal für jede Situation sind.610## Was Sie nicht mehr tun müssen

560 611 

561Manchmal *sollten* Sie den Kontext ansammeln lassen, weil Sie tief in einem komplexen Problem stecken und die Geschichte wertvoll ist. Manchmal sollten Sie die Planung überspringen und Claude es herausfinden lassen, weil die Aufgabe explorativ ist. Manchmal ist ein vager Prompt genau richtig, weil Sie sehen möchten, wie Claude das Problem interpretiert, bevor Sie es einschränken.612Jeder dieser Ratschläge war gut, als er geschrieben wurde. Die meisten waren Workarounds für etwas, das das Modell damals noch nicht zuverlässig konnte, und die Modelle haben inzwischen aufgeholt. Falls einige davon noch Gewohnheiten sind, erfahren Sie hier, warum Sie sie bedenkenlos ablegen können.

562 613 

563Achten Sie auf das, was funktioniert. Wenn Claude großartige Ausgabe produziert, bemerken Sie, was Sie getan haben: die Prompt-Struktur, den Kontext, den Sie bereitgestellt haben, den Modus, in dem Sie waren. Wenn Claude kämpft, fragen Sie warum. War der Kontext zu laut? Der Prompt zu vage? Die Aufgabe zu groß für einen Pass?614| Der alte Ratschlag | Warum er hinfällig ist |

615| :- | :- |

616| Das Kontextfenster ist Ihre wichtigste Einschränkung, verwalten Sie es konsequent | Die meisten aktuellen Modelle haben ein Fenster von 1M Token, und die Komprimierung erfolgt automatisch, daher geht der Kontext selten aus. `/clear` zwischen Aufgaben lohnt sich trotzdem, weil ein fokussierter Kontext bessere Antworten liefert und weniger kostet. |

617| Anweisungen, die Claude immer wieder übersieht, mit IMPORTANT oder GROSSBUCHSTABEN versehen | Ältere Modelle brauchten diesen Nachdruck manchmal. Aktuelle folgen einer schlicht formulierten Zeile, und gehäufter Nachdruck führt vor allem dazu, dass Claude die Regel übermäßig anwendet. Wenn es eine Regel ist, von der nicht abgewichen werden darf, machen Sie daraus einen Hook oder eine deny-Regel. Wenn die Zeile in einer langen Datei untergeht, muss die Datei kürzer werden. |

618| Subagenten verwenden, um Ihr Kontextfenster zu schützen | Dass der Kontext ausgeht, ist kaum noch ein Problem. Subagenten eignen sich weiterhin hervorragend für parallele Arbeit, um störende Ausgaben aus dem Weg zu halten, und für unabhängige Reviews, aber jede dieser Verwendungen kostet zusätzliche Token. |

619| Für eine bessere Antwort an einen Subagenten delegieren | Dieselbe Aufgabe an einen Subagenten zu übergeben, macht die Antwort nicht besser. Ein frischer Reviewer hilft zwar, weil er Ihre Argumentation nicht gesehen hat, aber das ist etwas anderes als Delegieren. |

620| `think hard`, `think harder`, `be thorough` im Prompt | Dafür ist Effort die Steuerung. Diese Formulierungen sind gewöhnlicher Prompt-Text, der Claude innerhalb seiner Effort-Einstellung anstößt, und keine Schlüsselwörter, die sie erhöhen. `ultrathink` funktioniert weiterhin: Es fordert für diesen einen Turn tieferes Nachdenken an, ohne Ihre Effort-Einstellung zu ändern. |

621| Claude sagen, es solle weitermachen, in einer Schleife bis zum Ende arbeiten, nicht faul sein | Aktuelle Modelle führen eine vereinbarte Aufgabe in der Regel ohne Aufforderung zu Ende, und solche Zeilen verursachen eher Mehrarbeit, als dass sie einen Stillstand beheben. Claude eine Prüfung zu geben, die bestanden werden muss, ist etwas anderes und lohnt sich weiterhin. Wenn ein Lauf doch zu früh aufhört, sagen Sie `continue`, und bei Läufen, die niemand beobachtet, setzen `/goal` oder ein `Stop`-Hook das durch. |

622| Ihre Architektur und Dateistruktur in `CLAUDE.md` beschreiben | Claude liest das Repo selbst. Schreiben Sie nur auf, was dort nicht steht. |

564 623 

565Im Laufe der Zeit werden Sie Intuition entwickeln, die kein Leitfaden erfassen kann. Sie werden wissen, wann Sie spezifisch und wann offen sein sollten, wann Sie planen und wann Sie erkunden sollten, wann Sie den Kontext löschen und wann Sie ihn ansammeln lassen sollten.624Wenn sich ein anderer Ratschlag auf dieser Seite irgendwann wie reine Beschäftigung anfühlt, ist das wahrscheinlich ein Zeichen, dass er ebenfalls in diese Tabelle gehört.

566 625 

567## Verwandte Ressourcen626## Verwandte Ressourcen

568 627 

569* [How Claude Code works](https://code.claude.com/docs/de/how-claude-code-works.md): die agentengesteuerte Schleife, Tools und Kontextverwaltung628* [Wie Claude Code funktioniert](https://code.claude.com/docs/de/how-claude-code-works.md): die Schleife, die Tools und was beim Start geladen wird

570* [Extend Claude Code](https://code.claude.com/docs/de/features-overview.md): Skills, Hooks, MCP, Subagents und Plugins629* [Das Kontextfenster erkunden](https://code.claude.com/docs/de/context-window.md): was in einer Sitzung Platz belegt und wann es geladen wird

571* [Common workflows](https://code.claude.com/docs/de/common-workflows.md): Schritt-für-Schritt-Rezepte zum Debuggen, Testen, PRs und mehr630* [Claude Code erweitern](https://code.claude.com/docs/de/features-overview.md): die Wahl zwischen Skills, Hooks, MCP, Subagenten und Plugins

572* [CLAUDE.md](https://code.claude.com/docs/de/memory.md): speichern Sie Projektkonventionen und persistenten Kontext631* [Einen Berechtigungsmodus wählen](https://code.claude.com/docs/de/permission-modes.md) und [Berechtigungen konfigurieren](https://code.claude.com/docs/de/permissions.md)

632* [Kosten effektiv verwalten](https://code.claude.com/docs/de/costs.md)

633* [Claude Code programmatisch ausführen](https://code.claude.com/docs/de/headless.md) und [Arbeit mit geplanten Cloud-Aufgaben automatisieren](https://code.claude.com/docs/de/routines.md)

634* Für Teamleads und Admins: [Claude Code für Ihre Organisation einrichten](https://code.claude.com/docs/de/admin-setup.md)

chrome.md +1 −1

Details

43 43 

44In Enterprise-Organisationen, in denen HIPAA aktiviert ist, ist Claude in Chrome standardmäßig ausgeschaltet, und ein [Owner](https://code.claude.com/docs/de/server-managed-settings.md#access-control) kann es unter [**Organisationseinstellungen > Claude in Chrome**](https://claude.ai/admin-settings/browser-extension) einschalten. Ihre Business Associate Agreement (BAA) mit Anthropic deckt keine Daten ab, die über Claude in Chrome an Websites von Drittanbietern gesendet werden. Eine Liste der Eligible Services finden Sie im [Implementation Guide](https://trust.anthropic.com/resources?s=l1wrssd9hsbi4gak0tp5a6\&name=%5Banthropic%5D-hipaa-ready-offering-implementation-guide).44In Enterprise-Organisationen, in denen HIPAA aktiviert ist, ist Claude in Chrome standardmäßig ausgeschaltet, und ein [Owner](https://code.claude.com/docs/de/server-managed-settings.md#access-control) kann es unter [**Organisationseinstellungen > Claude in Chrome**](https://claude.ai/admin-settings/browser-extension) einschalten. Ihre Business Associate Agreement (BAA) mit Anthropic deckt keine Daten ab, die über Claude in Chrome an Websites von Drittanbietern gesendet werden. Eine Liste der Eligible Services finden Sie im [Implementation Guide](https://trust.anthropic.com/resources?s=l1wrssd9hsbi4gak0tp5a6\&name=%5Banthropic%5D-hipaa-ready-offering-implementation-guide).

45 45 

46Die Chrome-Integration erfordert auch die Anmeldung mit `/login`. Wenn Sie sich mit einem API-Schlüssel oder einem langlebigen Token von [`claude setup-token`](https://code.claude.com/docs/de/authentication#generate-a-long-lived-token) authentifizieren, behält Claude Code die Chrome-Integration aus, auch wenn Sie `--chrome` übergeben, da die Browser-Erweiterung sich nicht mit diesen Anmeldedaten authentifizieren kann. Vor v2.1.216 konnten diese Sitzungen die Chrome-Integration aktivieren, aber jeder Versuch, sich mit der Browser-Erweiterung zu verbinden, schlug mit einem 403-Fehler fehl.46Die Chrome-Integration erfordert auch die Anmeldung mit `/login`. Wenn Sie sich mit einem API-Schlüssel oder einem langlebigen Token von [`claude setup-token`](https://code.claude.com/docs/de/authentication#generate-a-long-lived-token) authentifizieren, behält Claude Code die Chrome-Integration aus, auch wenn Sie `--chrome` übergeben. Die Browser-Erweiterung kann sich nicht mit diesen Anmeldedaten authentifizieren.

47 47 

48> [!NOTE]48> [!NOTE]

49>49>

Details

996 996 

997[Genehmigungsspeicher](https://code.claude.com/docs/de/server-managed-settings.md#approval-memory) behandelt, wie lange eine Genehmigung dauert und wann der Dialog erneut angezeigt wird.997[Genehmigungsspeicher](https://code.claude.com/docs/de/server-managed-settings.md#approval-memory) behandelt, wie lange eine Genehmigung dauert und wann der Dialog erneut angezeigt wird.

998 998 

999Claude Code wendet einige bereitgestellte `env`-Variablen an, ohne dem Entwickler den Genehmigungsdialog zu zeigen, wie Modellauswahleinstellungen und numerische Limits. Andere bereitgestellte Variablen können die Genehmigung des Entwicklers erfordern, bevor sie wirksam werden; ein nicht leerer Proxy-, Basis-URL- oder `OTEL_EXPORTER_OTLP_ENDPOINT`-Wert tut dies immer. Wenn eine bereitgestellte Variable Genehmigung benötigt, benennt der Dialog sie.999Claude Code wendet einige gelieferte `env`-Variablen an, ohne dem Entwickler den Genehmigungsdialog anzuzeigen, etwa Einstellungen zur Modellauswahl und numerische Limits. Andere gelieferte Variablen können die Genehmigung des Entwicklers erfordern; ein nicht leerer Proxy-, Basis-URL- oder `OTEL_EXPORTER_OTLP_ENDPOINT`-Wert erfordert sie immer. Wenn eine gelieferte Variable eine Genehmigung erfordert, nennt der Dialog sie. [Umgebungsvariablen und der Genehmigungsdialog](https://code.claude.com/docs/de/server-managed-settings.md#environment-variables-and-the-approval-dialog) enthält die Details, einschließlich vier Datenschutzschaltern, bei denen der gelieferte Wert entscheidet, ob sie eine Genehmigung erfordern.

1000 

1001[Umgebungsvariablen und der Genehmigungsdialog](https://code.claude.com/docs/de/server-managed-settings.md#environment-variables-and-the-approval-dialog) hat die Details, einschließlich vier Datenschutz-Umschalter, deren bereitgestellter Wert entscheidet, ob sie Genehmigung benötigen. Vor v2.1.218 wendete Claude Code weniger Variablen an, ohne den Entwickler zu fragen, sodass mehr bereitgestellte Variablen den Dialog auslösten.

1002 1000 

1003Die [Telemetrie](#telemetry)-Konfiguration des Gateways pusht `OTEL_EXPORTER_OTLP_ENDPOINT`, sodass das Setzen von `telemetry.forward_to` den Dialog auf jedem interaktiven Client auslöst. Der Dialog schützt die Maschine des Entwicklers vor einem kompromittierten oder feindseligen Gateway, nicht die Organisation vor dem Entwickler.1001Die [Telemetrie](#telemetry)-Konfiguration des Gateways pusht `OTEL_EXPORTER_OTLP_ENDPOINT`, sodass das Setzen von `telemetry.forward_to` den Dialog auf jedem interaktiven Client auslöst. Der Dialog schützt die Maschine des Entwicklers vor einem kompromittierten oder feindseligen Gateway, nicht die Organisation vor dem Entwickler.

1004 1002 

Details

264* **Die vollständige Anleitung, einschließlich PR-Erstellung**: siehe [Überprüfung und Iteration](https://code.claude.com/docs/de/web-quickstart.md#review-and-iterate)264* **Die vollständige Anleitung, einschließlich PR-Erstellung**: siehe [Überprüfung und Iteration](https://code.claude.com/docs/de/web-quickstart.md#review-and-iterate)

265* **Claude den PR automatisch auf CI-Fehler und Review-Kommentare überwachen lassen**: siehe [Auto-fix Pull Requests](#auto-fix-pull-requests)265* **Claude den PR automatisch auf CI-Fehler und Review-Kommentare überwachen lassen**: siehe [Auto-fix Pull Requests](#auto-fix-pull-requests)

266 266 

267#### Fehlerbehebung bei einer fehlenden Datei in der Diff-Ansicht

268 

269Eine erwartete Datei kann in der Dateiliste der Diff-Ansicht fehlen, wenn diese mit dem Basis-Branch vergleicht, unabhängig davon, ob die Sitzung Änderungen gepusht hat oder nicht:

270 

271* **Noch keine Änderungen gepusht**: Die Liste enthält Claudes eigene Bearbeitungen, aber keine Änderungen durch Befehle, die Claude ausgeführt hat, etwa einen Formatierer

272* **Änderungen gepusht**: Die Liste enthält gepushte Commits, aber keine Änderungen, die nach dem letzten Push vorgenommen wurden

273 

274Um eine fehlende Änderung zur Liste hinzuzufügen, bitten Sie Claude, sie zu committen und zu pushen.

275 

267### Kontext verwalten276### Kontext verwalten

268 277 

269Cloud-Sitzungen unterstützen [integrierte Befehle](https://code.claude.com/docs/de/commands.md), die Textausgabe erzeugen. Befehle, die nur in der Terminal-Schnittstelle ausgeführt werden, wie `/plugin` oder `/resume`, sind nicht verfügbar. Befehle, die eine Auswahl oder ein Panel in der Terminal-Schnittstelle öffnen, verhalten sich in Cloud-Sitzungen unterschiedlich:278Cloud-Sitzungen unterstützen [integrierte Befehle](https://code.claude.com/docs/de/commands.md), die Textausgabe erzeugen. Befehle, die nur in der Terminal-Schnittstelle ausgeführt werden, wie `/plugin` oder `/resume`, sind nicht verfügbar. Befehle, die eine Auswahl oder ein Panel in der Terminal-Schnittstelle öffnen, verhalten sich in Cloud-Sitzungen unterschiedlich:

270 279 

271* **`/model`, `/effort`, `/color` und `/rename`**: Übergeben Sie den Wert als Argument, zum Beispiel `/model sonnet`, anstatt die Terminal-Auswahl oder den Schieberegler zu öffnen. Die Argumentformen folgen den [Verfügbarkeitshinweisen](https://code.claude.com/docs/de/commands.md#all-commands) jedes Befehls.280* **`/model`, `/effort`, `/color` und `/rename`**: Übergeben Sie den Wert als Argument, zum Beispiel `/model sonnet`, anstatt die Terminal-Auswahl oder den Schieberegler zu öffnen. Die Argumentformen folgen den [Verfügbarkeitshinweisen](https://code.claude.com/docs/de/commands.md#all-commands) jedes Befehls.

272* **`/fast`**: schaltet den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-in-cloud-sessions) für die Sitzung um, wenn Fast-Modus [auf Ihrem Konto verfügbar ist](https://code.claude.com/docs/de/fast-mode.md#requirements). Erfordert Claude Code v2.1.271 oder später in der Umgebung der Sitzung.281* **`/fast`**: schaltet den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-in-cloud-sessions) für die Sitzung um, wenn Fast-Modus [auf Ihrem Konto verfügbar ist](https://code.claude.com/docs/de/fast-mode.md#requirements). Erfordert Claude Code v2.1.271 oder später in der Umgebung der Sitzung.

273* **`/config`**: In Ihrem Browser unter claude.ai/code öffnet dies den Claude Code-Bereich Ihrer Einstellungen, anstatt einen Wert zu setzen. Um eine Einstellung für eine Cloud-Sitzung zu ändern, setzen Sie eine [Umgebungsvariable](https://code.claude.com/docs/de/cloud-environments.md#set-environment-variables) in der Umgebung. In einer Sitzung mit einem Repository außerhalb der Threads eines [Projekts](https://code.claude.com/docs/de/claude-projects.md) committen Sie den Schlüssel stattdessen in die `.claude/settings.json` dieses Repositorys. [Einstellungen in Cloud-Sitzungen](https://code.claude.com/docs/de/settings.md#settings-in-cloud-sessions) listet auf, was jede Sitzung liest.282* **`/config`**: In Ihrem Browser unter claude.ai/code öffnet dies **Settings > Code** oder **Settings > Claude Code**, anstatt einen Wert zu setzen. Um eine Einstellung für eine Cloud-Sitzung zu ändern, setzen Sie eine [Umgebungsvariable](https://code.claude.com/docs/de/cloud-environments.md#set-environment-variables) in der Umgebung. In einer Sitzung mit einem Repository außerhalb der Threads eines [Projekts](https://code.claude.com/docs/de/claude-projects.md) committen Sie den Schlüssel stattdessen in die `.claude/settings.json` dieses Repositorys. [Einstellungen in Cloud-Sitzungen](https://code.claude.com/docs/de/settings.md#settings-in-cloud-sessions) listet auf, was jede Sitzung liest.

274 283 

275Für die Kontextverwaltung in einer Cloud-Sitzung außerhalb der [Threads eines Projekts](https://code.claude.com/docs/de/claude-projects.md#choose-models-and-let-claude-manage-context):284Für die Kontextverwaltung in einer Cloud-Sitzung außerhalb der [Threads eines Projekts](https://code.claude.com/docs/de/claude-projects.md#choose-models-and-let-claude-manage-context):

276 285 


337* **Repository-Zugriff**: Die Überprüfung ist standardmäßig nicht aktiviert346* **Repository-Zugriff**: Die Überprüfung ist standardmäßig nicht aktiviert

338* **Sensible Inhalte**: Überprüfen Sie Ihre Sitzung, bevor Sie sie teilen. Sitzungen können Code und Anmeldedaten aus privaten GitHub-Repositorys enthalten347* **Sensible Inhalte**: Überprüfen Sie Ihre Sitzung, bevor Sie sie teilen. Sitzungen können Code und Anmeldedaten aus privaten GitHub-Repositorys enthalten

339 348 

340Um zu verlangen, dass Empfänger Repository-Zugriff haben, oder um Ihren Namen aus gemeinsamen Sitzungen auszublenden, gehen Sie zu [**Einstellungen > Claude Code > Freigabeeinstellungen**](https://claude.ai/settings/claude-code).349Um zu verlangen, dass Empfänger Repository-Zugriff haben, oder um Ihren Namen aus geteilten Sitzungen auszublenden, öffnen Sie die Einstellungen auf claude.ai und gehen Sie dann wie folgt vor:

350 

351* **Wenn das Einstellungsmenü Code statt Claude Code anzeigt**: Gehen Sie zu [**Privacy**](https://claude.ai/settings/data-privacy-controls), wo sich diese Einstellungen befinden

352* **Andernfalls**: Gehen Sie zu [**Claude Code > Sharing settings**](https://claude.ai/settings/claude-code)

341 353 

342### Sitzungen archivieren354### Sitzungen archivieren

343 355 

Details

95 95 

96Claude Platform on AWS verwendet die gleichen Modell-IDs wie die direkte Claude API.96Claude Platform on AWS verwendet die gleichen Modell-IDs wie die direkte Claude API.

97 97 

98Die Standard-Aliase `fable`, `opus`, `sonnet` und `haiku` werden zu Claude Codes integrierten Standardwerten für Claude Platform on AWS aufgelöst, die hinter der neuesten Version zurückbleiben können. Ohne `ANTHROPIC_DEFAULT_OPUS_MODEL` wird der `opus`-Alias zu Opus 5.5 aufgelöst. Vor v2.1.280 wurde er zu Opus 5 ab v2.1.219 und zu Opus 4.8 ab v2.1.207 aufgelöst.98Die Standard-Aliase `fable`, `opus`, `sonnet` und `haiku` werden zu Claude Codes integrierten Standardwerten für Claude Platform on AWS aufgelöst, die hinter der neuesten Version zurückbleiben können. Ohne `ANTHROPIC_DEFAULT_OPUS_MODEL` wird der `opus`-Alias zu Opus 5.5 aufgelöst. Vor v2.1.280 wurde er ab v2.1.219 zu Opus 5 aufgelöst.

99 99 

100Wenn Sie Claude Code für ein Team bereitstellen, heften Sie die Modell-IDs explizit an, damit eine neue Version nicht alle auf einmal verschiebt:100Wenn Sie Claude Code für ein Team bereitstellen, heften Sie die Modell-IDs explizit an, damit eine neue Version nicht alle auf einmal verschiebt:

101 101 

Details

70Sie erstellen und verwenden Projekte unter [claude.ai/code](https://claude.ai/code), auf der Registerkarte „Code“ der Desktop-App oder in der Claude-Mobile-App für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) und [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Im Browser und in der Desktop-App gibt es zwei Möglichkeiten, ein Projekt zu starten:70Sie erstellen und verwenden Projekte unter [claude.ai/code](https://claude.ai/code), auf der Registerkarte „Code“ der Desktop-App oder in der Claude-Mobile-App für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) und [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Im Browser und in der Desktop-App gibt es zwei Möglichkeiten, ein Projekt zu starten:

71 71 

72* **Von Grund auf**, wenn Sie den Strom von Arbeiten kennen, die Claude ausführen soll: Öffnen Sie den Dialog **Neues Projekt** und benennen Sie ihn. [Starten Sie ein neues Projekt von Grund auf](#start-a-new-project-from-scratch) führt Sie durch den Dialog.72* **Von Grund auf**, wenn Sie den Strom von Arbeiten kennen, die Claude ausführen soll: Öffnen Sie den Dialog **Neues Projekt** und benennen Sie ihn. [Starten Sie ein neues Projekt von Grund auf](#start-a-new-project-from-scratch) führt Sie durch den Dialog.

73* **Aus einer Cloud-Sitzung, die bereits die Arbeit erledigt**: Wählen Sie im Seitenleistenmenü dieser Sitzung **In Projekt verschieben** und dann **Als neues Projekt fortfahren**. Claude schlägt die Projekteinrichtung auf Grundlage dessen vor, was die Sitzung getan hat. Siehe [Von einer vorhandenen Cloud-Sitzung starten](#start-from-an-existing-cloud-session).73* **Aus einer Cloud-Sitzung, die bereits die Arbeit erledigt**: Wählen Sie im Seitenleistenmenü dieser Sitzung **In Projekt fortsetzen** und dann **Als neues Projekt fortfahren**. Claude schlägt die Projekteinrichtung auf Grundlage dessen vor, was die Sitzung getan hat. Siehe [Von einer vorhandenen Cloud-Sitzung starten](#start-from-an-existing-cloud-session).

74 74 

75In jedem Fall [überprüfen Sie zuerst die Voraussetzungen](#check-the-prerequisites).75In jedem Fall [überprüfen Sie zuerst die Voraussetzungen](#check-the-prerequisites).

76 76 


113 113 

114### Von einer vorhandenen Sitzung starten114### Von einer vorhandenen Sitzung starten

115 115 

116Wenn eine Cloud-Sitzung, die Sie selbst gestartet haben, Arbeit erledigt, die in ein Projekt gehört, öffnen Sie ihr Menü in der Seitenleiste, wählen Sie **In Projekt verschieben** und treffen Sie dann im Untermenü eine Auswahl:116Wenn eine Cloud-Sitzung, die Sie selbst gestartet haben, Arbeit erledigt, die in ein Projekt gehört, öffnen Sie ihr Menü in der Seitenleiste, wählen Sie **In Projekt fortsetzen** und treffen Sie dann im Untermenü eine Auswahl:

117 117 

118* Wählen Sie **Als neues Projekt fortfahren**, um aus der Sitzung ein neues Projekt zu erstellen. Das Projekt öffnet sich, und Claude liest die Sitzung und veröffentlicht **Setup-Empfehlungen** im Projektgespräch zur Bestätigung. Die ursprüngliche Sitzung bleibt in Ihrer Sitzungsliste. Wenn sie sich mitten in einem Turn befand, läuft sie weiter; stoppen Sie sie also selbst, wenn Sie nicht möchten, dass beide gleichzeitig arbeiten.118* Wählen Sie **Als neues Projekt fortfahren**, um aus der Sitzung ein neues Projekt zu erstellen. Das Projekt öffnet sich, und Claude liest die Sitzung und veröffentlicht **Setup-Empfehlungen** im Projektgespräch zur Bestätigung. Die ursprüngliche Sitzung bleibt in Ihrer Sitzungsliste. Wenn sie sich mitten in einem Turn befand, läuft sie weiter; stoppen Sie sie also selbst, wenn Sie nicht möchten, dass beide gleichzeitig arbeiten.

119* Wählen Sie eines Ihrer vorhandenen Projekte, um die Arbeit der Sitzung in dieses Projekt zu übernehmen. Dieses Projekt öffnet sich, und eine in Ihrem Namen gesendete Nachricht bittet Claude, die Sitzung zu lesen und dort fortzufahren, wo sie aufgehört hat. Die ursprüngliche Sitzung bleibt in Ihrer Sitzungsliste, unverändert.119* Wählen Sie eines Ihrer vorhandenen Projekte, um die Arbeit der Sitzung in dieses Projekt zu übernehmen. Dieses Projekt öffnet sich, und eine in Ihrem Namen gesendete Nachricht bittet Claude, die Sitzung zu lesen und dort fortzufahren, wo sie aufgehört hat. Die ursprüngliche Sitzung bleibt in Ihrer Sitzungsliste, unverändert.


262 262 

263Machen Sie auf dem Computer, der den Ordner hat, den die Aufgabe benötigt, ihn auf eine von zwei Arten über Remote Control verfügbar. Beide benötigen Claude Code v2.1.280 oder später auf diesem Computer.263Machen Sie auf dem Computer, der den Ordner hat, den die Aufgabe benötigt, ihn auf eine von zwei Arten über Remote Control verfügbar. Beide benötigen Claude Code v2.1.280 oder später auf diesem Computer.

264 264 

265* **In der Claude Desktop-App**: öffnen Sie **Einstellungen > Claude Code**, aktivieren Sie **Diesen Computer von Ihrem Telefon und claude.ai aus verwenden**, und fügen Sie den Ordner zur Liste unter diesem Schalter hinzu. Threads können auf diesem Computer ausgeführt werden, während die App offen ist.265* **In der Claude Desktop-App**: Öffnen Sie **Einstellungen > Code** oder **Einstellungen > Claude Code** und aktivieren Sie **Diesen Computer von Ihrem Telefon und claude.ai aus verwenden**. Fügen Sie den Ordner zur Liste unter diesem Schalter hinzu. Threads können auf diesem Computer ausgeführt werden, während die App offen ist.

266* **In einem Terminal**: führen Sie `claude remote-control` im Ordner aus und lassen Sie es laufen. In einem Git-Repository fügen Sie `--spawn worktree` hinzu, um jedem Thread dort sein eigenes [Worktree](https://code.claude.com/docs/de/worktrees.md) statt des Ordners selbst zu geben.266* **In einem Terminal**: führen Sie `claude remote-control` im Ordner aus und lassen Sie es laufen. In einem Git-Repository fügen Sie `--spawn worktree` hinzu, um jedem Thread dort seinen eigenen [Worktree](https://code.claude.com/docs/de/worktrees.md) statt des Ordners selbst zu geben.

267 267 

268**2. Fragen Sie nach der Aufgabe mit Work locally**268**2. Fragen Sie nach der Aufgabe mit Work locally**

269 269 


271 271 

272**3. Erlauben Sie es auf der Karte**272**3. Erlauben Sie es auf der Karte**

273 273 

274Claude antwortet mit einer Karte **Allow Claude to work in a folder on your device**. Wählen Sie den Ordner, wenn Sie mehrere verbunden haben. Zwei Threads, die gleichzeitig in einem Ordner arbeiten, können die Änderungen des anderen überschreiben, daher können Sie, wenn der Ordner ein Git-Repository ist, **Worktree** in den Optionen des Ordners aktivieren, um diesem Thread sein eigenes Worktree statt des Ordners selbst zu geben. Klicken Sie dann auf **Allow once**.274Claude antwortet mit einer Karte **Allow Claude to work in a folder on your device**. Wählen Sie den Ordner, wenn Sie mehrere verbunden haben. Zwei Threads, die gleichzeitig in einem Ordner arbeiten, können die Änderungen des anderen überschreiben, daher können Sie, wenn der Ordner ein Git-Repository ist, **Worktree** in den Optionen des Ordners aktivieren, um diesem Thread stattdessen seinen eigenen Worktree zu geben. Klicken Sie dann auf **Allow once**.

275 275 

276Der Thread läuft im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode), sodass Claude Befehle ausführt und Dateien in diesem Ordner bearbeitet, ohne Sie jedes Mal zu fragen. Wenn Auto-Modus auf diesem Computer nicht verfügbar oder deaktiviert ist, läuft der Thread ohne ihn, und jede Berechtigungsaufforderung, die er auslöst, wartet auf Ihre Antwort im Thread, wie [Entsperren Sie einen Thread, der auf Genehmigung wartet](#unblock-a-thread-waiting-on-approval) beschreibt.276Der Thread läuft im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode), sodass Claude Befehle ausführt und Dateien in diesem Ordner bearbeitet, ohne Sie jedes Mal zu fragen. Wenn Auto-Modus auf diesem Computer nicht verfügbar oder deaktiviert ist, läuft der Thread ohne ihn, und jede Berechtigungsaufforderung, die er auslöst, wartet auf Ihre Antwort im Thread, wie [Entsperren Sie einen Thread, der auf Genehmigung wartet](#unblock-a-thread-waiting-on-approval) beschreibt.

277 277 

278Während der Thread läuft, zeigt ein Laptop-Symbol in seiner Kopfzeile, ob Ihr Computer verbunden ist. Klicken Sie darauf, um zu sehen, welchen Ordner der Thread verwendet, oder um die Verbindung auszuschalten. Der Thread wird unterbrochen, während dieser Computer schläft, und stoppt, wenn die Desktop-App oder `claude remote-control` beendet wird. [Lost contact with your folder](#lost-contact-with-your-folder) behandelt, wie man es wieder zum Laufen bringt. Aktivieren Sie in der Desktop-App **Keep this computer awake for Remote Control** unter **Einstellungen > Claude Code**, um zu verhindern, dass der Computer von selbst einschläft.278Während der Thread läuft, zeigt ein Laptop-Symbol in seiner Kopfzeile, ob Ihr Computer verbunden ist. Klicken Sie darauf, um zu sehen, welchen Ordner der Thread verwendet, oder um die Verbindung auszuschalten. Der Thread wird unterbrochen, während dieser Computer schläft, und stoppt, wenn die Desktop-App oder `claude remote-control` beendet wird.

279 

280* **Um den Thread wieder zum Laufen zu bringen**: siehe [Lost contact with your folder](#lost-contact-with-your-folder)

281* **Um zu verhindern, dass der Computer von selbst in den Ruhezustand wechselt**: Aktivieren Sie in der Desktop-App **Keep this computer awake for Remote Control** unter **Einstellungen > Code** oder **Einstellungen > Claude Code**

279 282 

280Ein Projekt kann keinen Thread auf Ihrem Computer ausführen, während [**Require trusted devices**](https://code.claude.com/docs/de/remote-control.md#trusted-devices) für Ihr Konto aktiviert ist.283Ein Projekt kann keinen Thread auf Ihrem Computer ausführen, während [**Require trusted devices**](https://code.claude.com/docs/de/remote-control.md#trusted-devices) für Ihr Konto aktiviert ist.

281 284 


427Mehrere Claude Code-Funktionen ermöglichen es, dass mehr als eine Sitzung gleichzeitig arbeitet, daher ist das parallele Ausführen von Arbeit nicht an sich, wofür ein Projekt ist. In einem Projekt startet und verfolgt Claude die Sitzungen statt Ihnen, und jede startet aus den gleichen Anweisungen. So verbindet sich jede benachbarte Funktion mit einem Projekt:430Mehrere Claude Code-Funktionen ermöglichen es, dass mehr als eine Sitzung gleichzeitig arbeitet, daher ist das parallele Ausführen von Arbeit nicht an sich, wofür ein Projekt ist. In einem Projekt startet und verfolgt Claude die Sitzungen statt Ihnen, und jede startet aus den gleichen Anweisungen. So verbindet sich jede benachbarte Funktion mit einem Projekt:

428 431 

429* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) ist Claude in den Slack-Kanälen Ihres Teams, auf Team- und Enterprise-Plänen. Jeder in einem Kanal kann ihm Arbeit geben, jeder im Kanal sieht und lenkt es, und es nutzt Verbindungen, die ein Admin für diesen Kanal eingerichtet hat. Ein Projekt ist nur Ihres: Sie sind der Einzige, der ihm Arbeit gibt oder seine Threads sieht, es nutzt Ihren eigenen GitHub-Zugriff und Connectors, und es ist auf Pro und Max. [Wie sich Claude Tag von Cowork und Claude Code unterscheidet](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) hat die Seite-an-Seite.432* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) ist Claude in den Slack-Kanälen Ihres Teams, auf Team- und Enterprise-Plänen. Jeder in einem Kanal kann ihm Arbeit geben, jeder im Kanal sieht und lenkt es, und es nutzt Verbindungen, die ein Admin für diesen Kanal eingerichtet hat. Ein Projekt ist nur Ihres: Sie sind der Einzige, der ihm Arbeit gibt oder seine Threads sieht, es nutzt Ihren eigenen GitHub-Zugriff und Connectors, und es ist auf Pro und Max. [Wie sich Claude Tag von Cowork und Claude Code unterscheidet](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) hat die Seite-an-Seite.

430* **Cloud-Sitzungen**: Jeder Thread ist eine [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md), es sei denn, Sie bitten Claude, ihn auf Ihrem Computer auszuführen. In beiden Fällen startet und verfolgt Claude ihn statt Ihnen. Sie können die Arbeit einer Cloud-Sitzung, die Sie selbst gestartet haben, auch in ein Projekt übernehmen: Wählen Sie [**In Projekt verschieben**](#start-from-an-existing-cloud-session) im Seitenleistenmenü dieser Sitzung.433* **Cloud-Sitzungen**: Jeder Thread ist eine [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md), es sei denn, Sie bitten Claude, ihn auf Ihrem Computer auszuführen. In beiden Fällen startet und verfolgt Claude ihn statt Ihnen. Sie können die Arbeit einer Cloud-Sitzung, die Sie selbst gestartet haben, auch in ein Projekt übernehmen: Wählen Sie [**Continue in project**](#start-from-an-existing-cloud-session) im Seitenleistenmenü dieser Sitzung.

431* **Geplante Aufgaben**: Wenn Sie geplante Arbeit in einem Projekt anfordern, erstellt Claude eine [geplante Cloud-Aufgabe](https://code.claude.com/docs/de/routines.md), die als Threads in diesem Projekt läuft und auf seiner Registerkarte **Geplante Aufgaben** angezeigt wird. Geplante Aufgaben, die Sie außerhalb eines Projekts erstellen, funktionieren weiterhin eigenständig.434* **Geplante Aufgaben**: Wenn Sie geplante Arbeit in einem Projekt anfordern, erstellt Claude eine [geplante Cloud-Aufgabe](https://code.claude.com/docs/de/routines.md), die als Threads in diesem Projekt läuft und auf seiner Registerkarte **Geplante Aufgaben** angezeigt wird. Geplante Aufgaben, die Sie außerhalb eines Projekts erstellen, funktionieren weiterhin eigenständig.

432* **Remote Control**: [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbindet claude.ai mit einer Claude Code-Sitzung, die auf Ihrem Computer läuft. Wenn Sie Claude in einem Projekt bitten, einen Thread auf Ihrem Computer auszuführen, nutzt das Projekt [Remote Control, um dies zu tun](#run-a-thread-on-your-own-computer).435* **Remote Control**: [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbindet claude.ai mit einer Claude Code-Sitzung, die auf Ihrem Computer läuft. Wenn Sie Claude in einem Projekt bitten, einen Thread auf Ihrem Computer auszuführen, nutzt das Projekt [Remote Control, um dies zu tun](#run-a-thread-on-your-own-computer).

433* **Lokale Sitzungen und Agent-Ansicht**: Eine Sitzung, die Sie selbst in Ihrem Terminal, Ihrer IDE oder der lokalen Umgebung der Desktop-App starten, bleibt außerhalb Ihrer Projekte, Sie können ihre Arbeit jedoch [in eines übernehmen](#start-from-an-existing-cloud-session). [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) ist ein Bildschirm zum Verfolgen mehrerer lokaler Sitzungen nebeneinander, und Sie starten immer noch jede selbst und geben ihr ihre Aufgabe selbst.436* **Lokale Sitzungen und Agent-Ansicht**: Eine Sitzung, die Sie selbst in Ihrem Terminal, Ihrer IDE oder der lokalen Umgebung der Desktop-App starten, bleibt außerhalb Ihrer Projekte, Sie können ihre Arbeit jedoch [in eines übernehmen](#start-from-an-existing-cloud-session). [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) ist ein Bildschirm zum Verfolgen mehrerer lokaler Sitzungen nebeneinander, und Sie starten immer noch jede selbst und geben ihr ihre Aufgabe selbst.


445* Sie können eine Sitzung, die Sie selbst auf Ihrem Computer gestartet haben, nicht zu einem Projekt hinzufügen, Sie können jedoch [ihre Arbeit in ein Projekt übernehmen](#start-from-an-existing-cloud-session). Ein Projekt erreicht Ihren Computer durch [Ausführung eines Threads dort über Remote Control](#run-a-thread-on-your-own-computer), und dieser Abschnitt listet auf, was dafür erforderlich ist.448* Sie können eine Sitzung, die Sie selbst auf Ihrem Computer gestartet haben, nicht zu einem Projekt hinzufügen, Sie können jedoch [ihre Arbeit in ein Projekt übernehmen](#start-from-an-existing-cloud-session). Ein Projekt erreicht Ihren Computer durch [Ausführung eines Threads dort über Remote Control](#run-a-thread-on-your-own-computer), und dieser Abschnitt listet auf, was dafür erforderlich ist.

446* Ein Cloud-Thread-Sandbox wird zwischen Turns unterbrochen und wird fortgesetzt, wenn der Thread weitergeht. Wenn die Sandbox nicht fortgesetzt werden kann, wird der Thread von einem frischen Klon aus fortgesetzt, sodass nicht committete Änderungen verloren gehen können. Bei langen Aufgaben bitten Sie Claude, Work in Progress zu committen und zu pushen.449* Ein Cloud-Thread-Sandbox wird zwischen Turns unterbrochen und wird fortgesetzt, wenn der Thread weitergeht. Wenn die Sandbox nicht fortgesetzt werden kann, wird der Thread von einem frischen Klon aus fortgesetzt, sodass nicht committete Änderungen verloren gehen können. Bei langen Aufgaben bitten Sie Claude, Work in Progress zu committen und zu pushen.

447* Ein Projekt gehört einem Benutzer. Sie können ein Projekt oder seine Threads nicht mit einem anderen Benutzer teilen, und Thread-Transkripte haben nicht die Share-Option, die andere Cloud-Sitzungen haben. Es gibt keine Kontrollen auf Organisationsebene für Projekte während der Beta.450* Ein Projekt gehört einem Benutzer. Sie können ein Projekt oder seine Threads nicht mit einem anderen Benutzer teilen, und Thread-Transkripte haben nicht die Share-Option, die andere Cloud-Sitzungen haben. Es gibt keine Kontrollen auf Organisationsebene für Projekte während der Beta.

448* Ein Thread gehört dem einen Projekt, das ihn gestartet hat. Sie können einen Thread nicht zu einem anderen Projekt verschieben oder kopieren, oder ihn als eigenständig verschieben. [**In Projekt verschieben**](#start-from-an-existing-cloud-session) funktioniert nur in die andere Richtung: Es bringt die Arbeit einer Cloud-Sitzung in ein Projekt. Sie können zwei Projekte nicht in eines zusammenführen.451* Ein Thread gehört zu dem Projekt, in dem er gestartet wurde. Sie können einen Thread weder in ein anderes Projekt verschieben oder kopieren noch aus dem Projekt herauslösen, sodass er eigenständig ist. [**Continue in project**](#start-from-an-existing-cloud-session) funktioniert nur in die andere Richtung: Damit übernehmen Sie die Arbeit einer Cloud-Sitzung in ein Projekt. Sie können zwei Projekte nicht zu einem zusammenführen.

449 452 

450## Fehlerbehebung453## Fehlerbehebung

451 454 


489 492 

490### Kontakt zu Ihrem Ordner verloren493### Kontakt zu Ihrem Ordner verloren

491 494 

492Ein Thread, der auf Ihrem Computer läuft, zeigt dies an, wenn die Claude Code-Sitzung dort nicht mehr reagiert, normalerweise weil der Computer in den Ruhezustand versetzt wurde oder die Desktop-App oder `claude remote-control` beendet wurde. Wecken Sie den Computer auf, und wenn die Desktop-App oder `claude remote-control` dort nicht mehr läuft, starten Sie sie erneut: Öffnen Sie die App erneut und bestätigen Sie, dass **Diesen Computer von Ihrem Telefon und claude.ai aus verwenden** unter **Einstellungen > Claude Code** immer noch aktiviert ist, oder führen Sie `claude remote-control` erneut im gleichen Ordner aus.495Ein Thread, der auf Ihrem Computer läuft, zeigt dies an, wenn die Claude Code-Sitzung dort nicht mehr reagiert, normalerweise weil der Computer in den Ruhezustand versetzt wurde oder die Desktop-App oder `claude remote-control` beendet wurde. Wecken Sie den Computer auf. Wenn die Desktop-App oder `claude remote-control` dort nicht mehr läuft, starten Sie sie erneut:

496 

497* **Desktop-App**: Öffnen Sie die App erneut und bestätigen Sie, dass **Diesen Computer von Ihrem Telefon und claude.ai aus verwenden** unter **Einstellungen > Code** oder **Einstellungen > Claude Code** immer noch aktiviert ist

498* **Terminal**: Führen Sie `claude remote-control` erneut im gleichen Ordner aus

493 499 

494### Andere Nachrichten500### Andere Nachrichten

495 501 

Details

71* In einer Terminal-Sitzung, in der `/code-review` das Review als [abgezweigten Subagenten](https://code.claude.com/docs/de/skills.md#run-skills-in-a-subagent) ausführt71* In einer Terminal-Sitzung, in der `/code-review` das Review als [abgezweigten Subagenten](https://code.claude.com/docs/de/skills.md#run-skills-in-a-subagent) ausführt

72* In einem `-p`-Lauf mit Text- oder JSON-Ausgabe72* In einem `-p`-Lauf mit Text- oder JSON-Ausgabe

73 73 

74In einer Host-Anwendung, die die Ergebnisliste anfordert, etwa der [Desktop-App](https://code.claude.com/docs/de/desktop.md#review-your-code), meldet Claude die Ergebnisse des Reviews stattdessen über das [`ReportFindings`-Tool](https://code.claude.com/docs/de/tools-reference). Der Bericht erscheint als Ergebnisliste, und jeder Eintrag zeigt den Speicherort in der Datei, eine Zusammenfassung in einem Satz und eine Kategorie-Kennzeichnung wie `correctness`, sofern das Ergebnis eine besitzt. Eine Anfrage des Hosts gilt auf jeder Effort-Stufe und erfordert Claude Code v2.1.218 oder höher.74In einer Host-Anwendung, die die Ergebnisliste anfordert, etwa der [Desktop-App](https://code.claude.com/docs/de/desktop.md#review-your-code), meldet Claude die Ergebnisse des Reviews stattdessen über das [`ReportFindings`-Tool](https://code.claude.com/docs/de/tools-reference). Der Bericht erscheint als Ergebnisliste, und jeder Eintrag zeigt den Speicherort in der Datei, eine Zusammenfassung in einem Satz und eine Kategorie-Kennzeichnung wie `correctness`, sofern das Ergebnis eine besitzt. Eine Anfrage des Hosts gilt auf jeder Effort-Stufe.

75 75 

76Wenn Claude gemeldete Ergebnisse später in der Sitzung behebt, meldet es sie erneut. Claude Code markiert dann jedes Ergebnis in der aktualisierten Ergebnisliste als behoben, übersprungen oder keine Änderung erforderlich.76Wenn Claude gemeldete Ergebnisse später in der Sitzung behebt, meldet es sie erneut. Claude Code markiert dann jedes Ergebnis in der aktualisierten Ergebnisliste als behoben, übersprungen oder keine Änderung erforderlich.

77 77 


104Nach der Effort-Stufe und den Flags liest Claude Code den Rest der Zeile als Review-Ziel. Das Argument `ultra` ändert diese Lesart:104Nach der Effort-Stufe und den Flags liest Claude Code den Rest der Zeile als Review-Ziel. Das Argument `ultra` ändert diese Lesart:

105 105 

106* **Mit `ultra`**: Claude Code liest ein einzelnes Wort als Basis-Branch oder PR-Nummer. Längerer Text, der keinen Branch und keinen PR benennt, wird zu [einer Notiz, die dem Review beigefügt wird](https://code.claude.com/docs/de/ultrareview.md#pass-a-request-in-plain-words). `/code-review ultra check my auth changes` prüft Ihren aktuellen Branch, und Claude bezieht die Ergebnisse auf Ihre Notiz.106* **Mit `ultra`**: Claude Code liest ein einzelnes Wort als Basis-Branch oder PR-Nummer. Längerer Text, der keinen Branch und keinen PR benennt, wird zu [einer Notiz, die dem Review beigefügt wird](https://code.claude.com/docs/de/ultrareview.md#pass-a-request-in-plain-words). `/code-review ultra check my auth changes` prüft Ihren aktuellen Branch, und Claude bezieht die Ergebnisse auf Ihre Notiz.

107* **Ohne `ultra`**: Alles Übrige ist das Review-Ziel, auch wenn es mit einem anderen Befehlsnamen beginnt. `/code-review /fix-issue 123` prüft mit `/fix-issue 123` als Zieltext, anstatt `/fix-issue` als zweiten [gestapelten Skill](https://code.claude.com/docs/de/skills.md#stack-several-skills-in-one-message) zu laden. Vor v2.1.218 wurde ein nach `/code-review` gestapelter Befehl als eigener Skill expandiert.107* **Ohne `ultra`**: Alles Übrige ist das Review-Ziel, auch wenn es mit einem anderen Befehlsnamen beginnt. `/code-review /fix-issue 123` prüft mit `/fix-issue 123` als Zieltext, anstatt `/fix-issue` als zweiten [gestapelten Skill](https://code.claude.com/docs/de/skills.md#stack-several-skills-in-one-message) zu laden.

108 108 

109## Im Vordergrund ausführen109## Im Vordergrund ausführen

110 110 


114* Setzen Sie [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/de/env-vars) auf `1`, was auch andere Funktionen für Hintergrundaufgaben deaktiviert114* Setzen Sie [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/de/env-vars) auf `1`, was auch andere Funktionen für Hintergrundaufgaben deaktiviert

115* Führen Sie `/code-review` erneut aus, während ein früheres Review noch läuft115* Führen Sie `/code-review` erneut aus, während ein früheres Review noch läuft

116 116 

117Vor v2.1.218 lief das Review innerhalb Ihrer Konversation.

118 

119## Claude das Review starten lassen117## Claude das Review starten lassen

120 118 

121Claude kann `/code-review` selbstständig starten, ohne dass Sie den Befehl eingeben:119Claude kann `/code-review` selbstständig starten, ohne dass Sie den Befehl eingeben:

commands.md +3 −3

Details

37* **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills)**: ein mitgelieferter Skill. Er funktioniert wie Skills, die Sie selbst schreiben: ein Prompt, der an Claude übergeben wird.37* **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills)**: ein mitgelieferter Skill. Er funktioniert wie Skills, die Sie selbst schreiben: ein Prompt, der an Claude übergeben wird.

38 * `/verify` wird nur ausgeführt, wenn Sie ihn aufrufen. Vor v2.1.215 konnte Claude `/verify` auch selbstständig ausführen.38 * `/verify` wird nur ausgeführt, wenn Sie ihn aufrufen. Vor v2.1.215 konnte Claude `/verify` auch selbstständig ausführen.

39* **[Workflow](https://code.claude.com/docs/de/workflows.md#bundled-workflows)**: ein mitgelieferter [dynamischer Workflow](https://code.claude.com/docs/de/workflows.md), der Arbeit auf viele Subagenten verteilt und im Hintergrund läuft.39* **[Workflow](https://code.claude.com/docs/de/workflows.md#bundled-workflows)**: ein mitgelieferter [dynamischer Workflow](https://code.claude.com/docs/de/workflows.md), der Arbeit auf viele Subagenten verteilt und im Hintergrund läuft.

40 * `/deep-research` wird nur ausgeführt, wenn Sie ihn aufrufen. Vor v2.1.218 konnte Claude ihn auch selbstständig starten.40 * `/deep-research` wird nur ausgeführt, wenn Sie ihn aufrufen.

41 41 

42Um eigene Befehle hinzuzufügen, siehe [Skills](https://code.claude.com/docs/de/skills.md).42Um eigene Befehle hinzuzufügen, siehe [Skills](https://code.claude.com/docs/de/skills.md).

43 43 


54| `/agents` | Gibt eine Erinnerung aus, Claude zu bitten, [Subagenten](https://code.claude.com/docs/de/sub-agents.md) zu erstellen oder zu verwalten, oder `.claude/agents/` bzw. `~/.claude/agents/` direkt zu bearbeiten. In v2.1.197 und früher wird eine interaktive Oberfläche zum Erstellen und Verwalten von Subagent-Konfigurationen geöffnet |54| `/agents` | Gibt eine Erinnerung aus, Claude zu bitten, [Subagenten](https://code.claude.com/docs/de/sub-agents.md) zu erstellen oder zu verwalten, oder `.claude/agents/` bzw. `~/.claude/agents/` direkt zu bearbeiten. In v2.1.197 und früher wird eine interaktive Oberfläche zum Erstellen und Verwalten von Subagent-Konfigurationen geöffnet |

55| `/artifact-capabilities` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Lädt die Referenz zu den Laufzeitfunktionen, die ein veröffentlichtes [Artefakt](https://code.claude.com/docs/de/artifacts.md) nutzen kann, etwa [Ihre Konnektoren aufrufen](https://code.claude.com/docs/de/artifacts.md#pull-live-data-with-mcp-connectors) oder [einen Datei-Download anbieten](https://code.claude.com/docs/de/artifacts.md#offer-a-file-download), einschließlich der Angabe, welche davon Ihr Konto hat. Claude lädt sie normalerweise selbstständig, bevor es eine Seite erstellt, die eine davon nutzt. Verfügbar, wo [Artefakte](https://code.claude.com/docs/de/artifacts.md#availability) verfügbar sind |55| `/artifact-capabilities` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Lädt die Referenz zu den Laufzeitfunktionen, die ein veröffentlichtes [Artefakt](https://code.claude.com/docs/de/artifacts.md) nutzen kann, etwa [Ihre Konnektoren aufrufen](https://code.claude.com/docs/de/artifacts.md#pull-live-data-with-mcp-connectors) oder [einen Datei-Download anbieten](https://code.claude.com/docs/de/artifacts.md#offer-a-file-download), einschließlich der Angabe, welche davon Ihr Konto hat. Claude lädt sie normalerweise selbstständig, bevor es eine Seite erstellt, die eine davon nutzt. Verfügbar, wo [Artefakte](https://code.claude.com/docs/de/artifacts.md#availability) verfügbar sind |

56| `/artifact-diagramming` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Lädt Leitlinien für Diagramme, denen Claude in [Artefakten](https://code.claude.com/docs/de/artifacts.md) folgt: wann ein Diagramm hilft, was gezeichnet werden soll und wie man Inline-SVG schreibt, das in hellen und dunklen Themes lesbar bleibt. Erfordert Claude Code v2.1.221 oder höher |56| `/artifact-diagramming` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Lädt Leitlinien für Diagramme, denen Claude in [Artefakten](https://code.claude.com/docs/de/artifacts.md) folgt: wann ein Diagramm hilft, was gezeichnet werden soll und wie man Inline-SVG schreibt, das in hellen und dunklen Themes lesbar bleibt. Erfordert Claude Code v2.1.221 oder höher |

57| `/artifacts` | Listet die [Artefakte](https://code.claude.com/docs/de/artifacts.md#find-an-artifact-again) auf, die Ihnen gehören oder mit Ihnen geteilt wurden; anschließend können Sie eines an die Sitzung anhängen, in Ihrem Browser öffnen oder seinen Link kopieren. Verfügbar, wo [Artefakte](https://code.claude.com/docs/de/artifacts.md#availability) verfügbar sind. Erfordert Claude Code v2.1.208 oder höher; das Anhängen mit `Enter` erfordert v2.1.216 |57| `/artifacts` | Listet die [Artefakte](https://code.claude.com/docs/de/artifacts.md#find-an-artifact-again) auf, die Ihnen gehören oder mit Ihnen geteilt wurden; anschließend können Sie eines an die Sitzung anhängen, in Ihrem Browser öffnen oder seinen Link kopieren. Verfügbar, wo [Artefakte](https://code.claude.com/docs/de/artifacts.md#availability) verfügbar sind |

58| `/auto-mode-setup` | [Entwirft `autoMode.environment`-Einträge](https://code.claude.com/docs/de/auto-mode-config#generate-environment-entries) aus Ihrem Projekt und den letzten Sitzungen; anschließend prüfen Sie den Entwurf und speichern ihn in Ihren Benutzereinstellungen. Bei einem Pro-, Max- oder Team-Plan ist Claude Code v2.1.228 oder höher erforderlich, unter nativem Windows v2.1.233 oder höher. Bei einem Enterprise-Plan oder mit einem API-Schlüssel der Claude Console ist v2.1.283 oder höher erforderlich. Wenn der Befehl fehlt, siehe [`/auto-mode-setup` gibt „Unknown command“ zurück](https://code.claude.com/docs/de/auto-mode-config#auto-mode-setup-returns-unknown-command) |58| `/auto-mode-setup` | [Entwirft `autoMode.environment`-Einträge](https://code.claude.com/docs/de/auto-mode-config#generate-environment-entries) aus Ihrem Projekt und den letzten Sitzungen; anschließend prüfen Sie den Entwurf und speichern ihn in Ihren Benutzereinstellungen. Bei einem Pro-, Max- oder Team-Plan ist Claude Code v2.1.228 oder höher erforderlich, unter nativem Windows v2.1.233 oder höher. Bei einem Enterprise-Plan oder mit einem API-Schlüssel der Claude Console ist v2.1.283 oder höher erforderlich. Wenn der Befehl fehlt, siehe [`/auto-mode-setup` gibt „Unknown command“ zurück](https://code.claude.com/docs/de/auto-mode-config#auto-mode-setup-returns-unknown-command) |

59| `/autocompact [auto\|<tokens>]` | Legt das Fenster für die automatische Komprimierung fest: wie voll das Kontextfenster wird, bevor Claude Code automatisch komprimiert. Übergeben Sie eine Größe wie `500k` oder `auto`, um zu dem für Ihr Modell abgestimmten Fenster zurückzukehren. Claude Code speichert den Wert in den Benutzereinstellungen und wendet ihn auf die aktuelle Sitzung an. Unter [Fenster für die automatische Komprimierung festlegen](https://code.claude.com/docs/de/model-config.md#set-the-auto-compact-window) finden Sie die akzeptierten Werte und was sie überschreibt. Ohne Argument wird ein Dialog geöffnet, der das aktuelle Fenster anzeigt. Erfordert Claude Code v2.1.221 oder höher |59| `/autocompact [auto\|<tokens>]` | Legt das Fenster für die automatische Komprimierung fest: wie voll das Kontextfenster wird, bevor Claude Code automatisch komprimiert. Übergeben Sie eine Größe wie `500k` oder `auto`, um zu dem für Ihr Modell abgestimmten Fenster zurückzukehren. Claude Code speichert den Wert in den Benutzereinstellungen und wendet ihn auf die aktuelle Sitzung an. Unter [Fenster für die automatische Komprimierung festlegen](https://code.claude.com/docs/de/model-config.md#set-the-auto-compact-window) finden Sie die akzeptierten Werte und was sie überschreibt. Ohne Argument wird ein Dialog geöffnet, der das aktuelle Fenster anzeigt. Erfordert Claude Code v2.1.221 oder höher |

60| `/autofix-pr [prompt]` | Startet eine [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md#auto-fix-pull-requests), die den PR des aktuellen Branches überwacht und Fixes pusht, wenn CI fehlschlägt oder Reviewer Kommentare hinterlassen. Erkennt den offenen PR Ihres ausgecheckten Branches mit `gh pr view`; um einen anderen PR zu überwachen, checken Sie zuerst dessen Branch aus. Standardmäßig wird die Cloud-Sitzung angewiesen, jeden CI-Fehler und jeden Review-Kommentar zu beheben; übergeben Sie einen Prompt, um ihr andere Anweisungen zu geben, zum Beispiel `/autofix-pr only fix lint and type errors`. Erfordert die `gh`-CLI und Zugriff auf [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md) |60| `/autofix-pr [prompt]` | Startet eine [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md#auto-fix-pull-requests), die den PR des aktuellen Branches überwacht und Fixes pusht, wenn CI fehlschlägt oder Reviewer Kommentare hinterlassen. Erkennt den offenen PR Ihres ausgecheckten Branches mit `gh pr view`; um einen anderen PR zu überwachen, checken Sie zuerst dessen Branch aus. Standardmäßig wird die Cloud-Sitzung angewiesen, jeden CI-Fehler und jeden Review-Kommentar zu beheben; übergeben Sie einen Prompt, um ihr andere Anweisungen zu geben, zum Beispiel `/autofix-pr only fix lint and type errors`. Erfordert die `gh`-CLI und Zugriff auf [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md) |


85| `/desktop` | Setzt die aktuelle Sitzung in der Claude Code Desktop-App fort. Erfordert macOS oder x64-Windows und ein Claude-Abonnement. Alias: `/app` |85| `/desktop` | Setzt die aktuelle Sitzung in der Claude Code Desktop-App fort. Erfordert macOS oder x64-Windows und ein Claude-Abonnement. Alias: `/app` |

86| `/diff` | Prüft die Änderungen in Ihrem Working Tree, einschließlich der Bearbeitungen, die Claude bisher vorgenommen hat. Siehe [Änderungen mit /diff prüfen](https://code.claude.com/docs/de/interactive-mode.md#review-changes-with-%2Fdiff) |86| `/diff` | Prüft die Änderungen in Ihrem Working Tree, einschließlich der Bearbeitungen, die Claude bisher vorgenommen hat. Siehe [Änderungen mit /diff prüfen](https://code.claude.com/docs/de/interactive-mode.md#review-changes-with-%2Fdiff) |

87| `/doctor [prompt-audit [path]]` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Führt einen Setup-Check durch, der Probleme mit Installation, Einstellungen, Erweiterungen und `CLAUDE.md` diagnostiziert und Korrekturen vorschlägt, die Claude nach Ihrer Bestätigung anwendet. Was der Check abdeckt oder wie Sie stattdessen mit `prompt-audit` Ihre Anweisungen prüfen, erfahren Sie unter [Setup mit `/doctor` prüfen](https://code.claude.com/docs/de/skills#check-your-setup-with-/doctor). Der Unterbefehl `prompt-audit` erfordert Claude Code v2.1.283 oder höher. Alias: `/checkup` |87| `/doctor [prompt-audit [path]]` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Führt einen Setup-Check durch, der Probleme mit Installation, Einstellungen, Erweiterungen und `CLAUDE.md` diagnostiziert und Korrekturen vorschlägt, die Claude nach Ihrer Bestätigung anwendet. Was der Check abdeckt oder wie Sie stattdessen mit `prompt-audit` Ihre Anweisungen prüfen, erfahren Sie unter [Setup mit `/doctor` prüfen](https://code.claude.com/docs/de/skills#check-your-setup-with-/doctor). Der Unterbefehl `prompt-audit` erfordert Claude Code v2.1.283 oder höher. Alias: `/checkup` |

88| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Legt die [Effort-Stufe](https://code.claude.com/docs/de/model-config.md#adjust-effort-level) fest: `low` bis `xhigh`, `max` oder `auto`; `status` gibt sie aus. `ultracode` oder `ultracode on` aktiviert [ultracode](https://code.claude.com/docs/de/workflows.md#let-claude-decide-with-ultracode) für die Sitzung auf der aktuellen Stufe, und `ultracode off` deaktiviert es; der Schlüssel [`ultracode`](https://code.claude.com/docs/de/settings-reference#ultracode) bleibt dauerhaft gespeichert. `max` gilt nur für die Sitzung. Die Argumente `on` und `off` sowie das Beibehalten der aktuellen Stufe erfordern Claude Code v2.1.284 oder höher. Vor v2.1.284 setzte `/effort ultracode` die Sitzung auf `xhigh`, und `/effort ultracode off` schlug mit `Invalid argument` fehl. Wenn Sie den Befehl ausführen, während Claude antwortet, wendet Claude Code die neue Stufe auf die nächste Anfrage in diesem Turn an, sobald Sie die [Cache-Warnung](https://code.claude.com/docs/de/prompt-caching.md#changing-effort-level) bestätigt haben, sofern Claude Code eine anzeigt. Vor v2.1.242 entschied Claude Code anhand eines von Anthropic abgerufenen Feature-Flags, ob der Befehl mitten im Turn ausgeführt oder bis zum Ende des Turns in die Warteschlange gestellt wurde, und stellte ihn in einer Sitzung, die [keine Feature-Flags abruft](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching), immer in die Warteschlange, etwa bei einem [Drittanbieter](https://code.claude.com/docs/de/third-party-integrations.md). Funktioniert mit `-p` |88| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Legt die [Effort-Stufe](https://code.claude.com/docs/de/model-config.md#adjust-effort-level) fest: `low` bis `xhigh`, `max` oder `auto`; `status` gibt sie aus. `ultracode` oder `ultracode on` aktiviert [ultracode](https://code.claude.com/docs/de/workflows.md#let-claude-decide-with-ultracode) für die Sitzung, und `ultracode off` deaktiviert es; der Schlüssel [`ultracode`](https://code.claude.com/docs/de/settings-reference#ultracode) bleibt dauerhaft gespeichert. `max` gilt nur für die Sitzung. Die Argumente `on` und `off` erfordern Claude Code v2.1.284 oder höher. Wenn Sie `/effort` ausführen, während Claude arbeitet, siehe [wann die neue Stufe wirksam wird](https://code.claude.com/docs/de/model-config.md#when-a-new-effort-level-starts). Funktioniert mit `-p` ab v2.1.205 |

89| `/exit` | Beendet die CLI. In einer angehängten [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md#attach-to-a-session) wird die Verbindung getrennt, und die Sitzung läuft weiter. Alias: `/quit` |89| `/exit` | Beendet die CLI. In einer angehängten [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md#attach-to-a-session) wird die Verbindung getrennt, und die Sitzung läuft weiter. Alias: `/quit` |

90| `/export [filename]` | Exportiert die aktuelle Konversation als reinen Text. Mit einem Dateinamen wird direkt in diese Datei geschrieben. Ohne Dateinamen wird ein Dialog geöffnet, um in die Zwischenablage zu kopieren oder in einer Datei zu speichern |90| `/export [filename]` | Exportiert die aktuelle Konversation als reinen Text. Mit einem Dateinamen wird direkt in diese Datei geschrieben. Ohne Dateinamen wird ein Dialog geöffnet, um in die Zwischenablage zu kopieren oder in einer Datei zu speichern |

91| `/fast [on\|off]` | Schaltet den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) ein oder aus. Wenn Sie den Befehl ausführen, während Claude antwortet, schaltet Claude Code den Fast-Modus um, ohne auf das Ende des Turns zu warten, wobei der laufende Turn in seiner ursprünglichen Geschwindigkeit beendet wird. Vor v2.1.242 entschied Claude Code anhand eines von Anthropic abgerufenen Feature-Flags, ob der Befehl mitten im Turn ausgeführt oder bis zum Ende des Turns in die Warteschlange gestellt wurde, und stellte ihn in einer Sitzung, die [keine Feature-Flags abruft](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching), immer in die Warteschlange. Die Verfügbarkeit im nicht interaktiven Modus mit `-p` ist eingeschränkt; siehe [Fast-Modus umschalten](https://code.claude.com/docs/de/fast-mode.md#toggle-fast-mode) |91| `/fast [on\|off]` | Schaltet den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) ein oder aus. Wenn Sie den Befehl ausführen, während Claude antwortet, schaltet Claude Code den Fast-Modus um, ohne auf das Ende des Turns zu warten, wobei der laufende Turn in seiner ursprünglichen Geschwindigkeit beendet wird. Vor v2.1.242 entschied Claude Code anhand eines von Anthropic abgerufenen Feature-Flags, ob der Befehl mitten im Turn ausgeführt oder bis zum Ende des Turns in die Warteschlange gestellt wurde, und stellte ihn in einer Sitzung, die [keine Feature-Flags abruft](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching), immer in die Warteschlange. Die Verfügbarkeit im nicht interaktiven Modus mit `-p` ist eingeschränkt; siehe [Fast-Modus umschalten](https://code.claude.com/docs/de/fast-mode.md#toggle-fast-mode) |

computer-use.md +5 −5

Details

19Die Computernutzung bewältigt Aufgaben, die eine GUI erfordern: alles, was Sie normalerweise das Terminal verlassen und von Hand tun müssten.19Die Computernutzung bewältigt Aufgaben, die eine GUI erfordern: alles, was Sie normalerweise das Terminal verlassen und von Hand tun müssten.

20 20 

21* **Native Apps erstellen und validieren**: Bitten Sie Claude, eine macOS-Menüleisten-App zu erstellen. Claude schreibt Swift, kompiliert es, startet die App und klickt jeden Control durch, um zu überprüfen, dass es funktioniert, bevor Sie es jemals öffnen.21* **Native Apps erstellen und validieren**: Bitten Sie Claude, eine macOS-Menüleisten-App zu erstellen. Claude schreibt Swift, kompiliert es, startet die App und klickt jeden Control durch, um zu überprüfen, dass es funktioniert, bevor Sie es jemals öffnen.

22* **End-to-End-UI-Tests**: Zeigen Sie Claude eine lokale Electron-App und sagen Sie „teste den Onboarding-Flow." Claude öffnet die App, klickt sich durch die Anmeldung und macht einen Screenshot von jedem Schritt. Keine Playwright-Konfiguration, kein Test-Harness.22* **End-to-End-UI-Tests**: Zeigen Sie Claude eine lokale Electron-App und sagen Sie „teste den Onboarding-Flow.“ Claude öffnet die App, klickt sich durch die Anmeldung und macht einen Screenshot von jedem Schritt. Keine Playwright-Konfiguration, kein Test-Harness.

23* **Visuelle und Layout-Probleme debuggen**: Sagen Sie Claude „das Modal wird bei kleinen Fenstern abgeschnitten." Claude ändert die Fenstergröße, reproduziert den Bug, macht einen Screenshot, patcht das CSS und überprüft die Korrektur. Claude sieht, was Sie sehen.23* **Visuelle und Layout-Probleme debuggen**: Sagen Sie Claude „das Modal wird bei kleinen Fenstern abgeschnitten.“ Claude ändert die Fenstergröße, reproduziert den Bug, macht einen Screenshot, patcht das CSS und überprüft die Korrektur. Claude sieht, was Sie sehen.

24* **GUI-only-Tools steuern**: Interagieren Sie mit Design-Tools, Hardware-Kontrollpanelen, dem iOS Simulator oder proprietären Apps, die keine CLI oder API haben.24* **GUI-only-Tools steuern**: Interagieren Sie mit Design-Tools, Hardware-Kontrollpanelen, dem iOS Simulator oder proprietären Apps, die keine CLI oder API haben.

25 25 

26## Wann die Computernutzung angewendet wird26## Wann die Computernutzung angewendet wird


114 114 

115### Jederzeit stoppen115### Jederzeit stoppen

116 116 

117Das erste Mal, wenn Claude Ihren Computer in jeder Runde nutzt, erscheint eine macOS-Benachrichtigung: „Claude nutzt Ihren Computer · drücken Sie Esc zum Stoppen." Drücken Sie `Esc` überall, um die aktuelle Aktion sofort abzubrechen, oder drücken Sie `Ctrl+C` im Terminal. In beiden Fällen stoppt Claude, blendet Ihre Apps wieder ein und gibt Ihnen die Kontrolle zurück. Die Sitzung behält die [Computernutzungssperre](#one-session-at-a-time) bis sie beendet wird.117Das erste Mal, wenn Claude Ihren Computer in jeder Runde nutzt, erscheint eine macOS-Benachrichtigung: „Claude nutzt Ihren Computer · drücken Sie Esc zum Stoppen.“ Drücken Sie `Esc` überall, um die aktuelle Aktion sofort abzubrechen, oder drücken Sie `Ctrl+C` im Terminal. In beiden Fällen stoppt Claude, blendet Ihre Apps wieder ein und gibt Ihnen die Kontrolle zurück. Die Sitzung behält die [Computernutzungssperre](#one-session-at-a-time) bis sie beendet wird.

118 118 

119Eine zweite Benachrichtigung erscheint, wenn Claude fertig ist.119Eine zweite Benachrichtigung erscheint, wenn Claude fertig ist.

120 120 


178| Funktion | Desktop | CLI |178| Funktion | Desktop | CLI |

179| :- | :- | :- |179| :- | :- | :- |

180| Plattformen | macOS und Windows | Nur macOS |180| Plattformen | macOS und Windows | Nur macOS |

181| Aktivieren | Umschalter in **Einstellungen > Dieser Computer > System** | Aktivieren Sie `computer-use` in `/mcp` |181| Aktivieren | Umschalter in [Einstellungen](https://code.claude.com/docs/de/desktop.md#enable-computer-use) | Aktivieren Sie `computer-use` in `/mcp` |

182| Liste abgelehnter Apps | Konfigurierbar in Einstellungen | Noch nicht verfügbar |182| Liste abgelehnter Apps | Konfigurierbar in Einstellungen | Noch nicht verfügbar |

183| Auto-Unhide-Umschalter | Optional | Immer aktiviert |183| Auto-Unhide-Umschalter | Optional | Immer aktiviert |

184| Dispatch-Integration | Von Dispatch gestartete Sitzungen können Computernutzung verwenden | Nicht anwendbar |184| Dispatch-Integration | Von Dispatch gestartete Sitzungen können Computernutzung verwenden | Nicht anwendbar |

185 185 

186## Fehlerbehebung186## Fehlerbehebung

187 187 

188### „Computernutzung wird von einer anderen Claude-Sitzung verwendet"188### „Computernutzung wird von einer anderen Claude-Sitzung verwendet“

189 189 

190Eine andere Claude Code-Sitzung hält die Sperre, die sie behält, bis sie beendet wird. Beenden Sie diese Sitzung. Wenn die andere Sitzung abgestürzt ist, wird die Sperre automatisch freigegeben, wenn Claude erkennt, dass der Prozess nicht mehr ausgeführt wird.190Eine andere Claude Code-Sitzung hält die Sperre, die sie behält, bis sie beendet wird. Beenden Sie diese Sitzung. Wenn die andere Sitzung abgestürzt ist, wird die Sperre automatisch freigegeben, wenn Claude erkennt, dass der Prozess nicht mehr ausgeführt wird.

191 191 

Details

70* [Claude Code erweitern](https://code.claude.com/docs/de/features-overview.md): wann CLAUDE.md vs Skills vs Regeln vs Hooks vs MCP verwendet werden70* [Claude Code erweitern](https://code.claude.com/docs/de/features-overview.md): wann CLAUDE.md vs Skills vs Regeln vs Hooks vs MCP verwendet werden

71* [Anweisungen und Erinnerungen speichern](https://code.claude.com/docs/de/memory.md): CLAUDE.md-Hierarchie und automatisches Gedächtnis71* [Anweisungen und Erinnerungen speichern](https://code.claude.com/docs/de/memory.md): CLAUDE.md-Hierarchie und automatisches Gedächtnis

72* [Subagents](https://code.claude.com/docs/de/sub-agents.md): Recherche an ein separates Kontextfenster delegieren72* [Subagents](https://code.claude.com/docs/de/sub-agents.md): Recherche an ein separates Kontextfenster delegieren

73* [Best Practices](https://code.claude.com/docs/de/best-practices.md): Verwaltung des Kontexts als Ihre primäre Einschränkung73* [Best Practices](https://code.claude.com/docs/de/best-practices.md#keep-cost-and-context-down): Sitzungen fokussiert und Kosten niedrig halten

74* [Prompt Caching](https://code.claude.com/docs/de/prompt-caching.md): welche Aktionen den zwischengespeicherten Präfix ungültig machen74* [Prompt Caching](https://code.claude.com/docs/de/prompt-caching.md): welche Aktionen den zwischengespeicherten Präfix ungültig machen

75* [Token-Nutzung reduzieren](https://code.claude.com/docs/de/costs.md#reduce-token-usage): Strategien zur Senkung der Kontextnutzung75* [Token-Nutzung reduzieren](https://code.claude.com/docs/de/costs.md#reduce-token-usage): Strategien zur Senkung der Kontextnutzung

Details

174Jede dieser Möglichkeiten zeigt Ihnen den vollständigen Text:174Jede dieser Möglichkeiten zeigt Ihnen den vollständigen Text:

175 175 

176* Drücken Sie `Ctrl+O`, um den [Transkript-Viewer](https://code.claude.com/docs/de/interactive-mode.md#transcript-viewer) zu öffnen und den vollständigen Text unter dem Namen der Sitzung des Absenders zu lesen.176* Drücken Sie `Ctrl+O`, um den [Transkript-Viewer](https://code.claude.com/docs/de/interactive-mode.md#transcript-viewer) zu öffnen und den vollständigen Text unter dem Namen der Sitzung des Absenders zu lesen.

177 

178 Wenn Claude beschäftigt ist und die Nachricht noch nicht erhalten hat, scrollen Sie zum Ende des Transkripts, wo die Nachricht unter `Waiting to be delivered` aufgeführt ist. Erfordert Claude Code v2.1.309 oder höher.

179 

177* Klicken Sie im [Vollbild-Rendering](https://code.claude.com/docs/de/fullscreen.md#use-the-mouse) auf eine Vorschauzeile, die einen Teil der Nachricht auslässt, um sie an Ort und Stelle zu erweitern.180* Klicken Sie im [Vollbild-Rendering](https://code.claude.com/docs/de/fullscreen.md#use-the-mouse) auf eine Vorschauzeile, die einen Teil der Nachricht auslässt, um sie an Ort und Stelle zu erweitern.

181 

178* In einer Sitzung, die mit [`--verbose`](https://code.claude.com/docs/de/cli-reference#cli-flags) gestartet wurde, zeigt Claude Code den vollständigen Text anstelle der Vorschau an.182* In einer Sitzung, die mit [`--verbose`](https://code.claude.com/docs/de/cli-reference#cli-flags) gestartet wurde, zeigt Claude Code den vollständigen Text anstelle der Vorschau an.

179 183 

180Die Vorschau verkürzt nur das, was Sie sehen. Ob Sie es erweitern oder nicht, Claude liest die vollständige Nachricht.184Die Vorschau verkürzt nur das, was Sie sehen. Ob Sie es erweitern oder nicht, Claude liest die vollständige Nachricht.

desktop.md +31 −22

Details

69* **Vorschlag verwenden**: Drücken Sie **Tab** oder **Pfeil nach rechts**, um ihn in das Eingabefeld zu übernehmen, bearbeiten Sie ihn bei Bedarf und drücken Sie dann **Eingabe**, um ihn zu senden. Wenn Sie **Eingabe** drücken, bevor Sie den Vorschlag übernehmen, wird er nicht gesendet.69* **Vorschlag verwenden**: Drücken Sie **Tab** oder **Pfeil nach rechts**, um ihn in das Eingabefeld zu übernehmen, bearbeiten Sie ihn bei Bedarf und drücken Sie dann **Eingabe**, um ihn zu senden. Wenn Sie **Eingabe** drücken, bevor Sie den Vorschlag übernehmen, wird er nicht gesendet.

70* **Eigenen Prompt schreiben**: Beginnen Sie mit der Eingabe. Der Vorschlag wird nur angezeigt, solange das Eingabefeld leer ist und keine angehängten Dateien enthält.70* **Eigenen Prompt schreiben**: Beginnen Sie mit der Eingabe. Der Vorschlag wird nur angezeigt, solange das Eingabefeld leer ist und keine angehängten Dateien enthält.

71 71 

72Öffnen Sie **Settings > Claude Code** und deaktivieren Sie **Prompt suggestions** unter **Sessions**, um Vorschläge in jeder Sitzung ab ihrem nächsten Start oder ihrer nächsten Fortsetzung zu beenden.72Deaktivieren Sie **Prompt suggestions** unter **Settings > Code** oder **Settings > Claude Code**, um Vorschläge zu beenden. Jede Sitzung zeigt sie ab ihrem nächsten Start oder ihrer nächsten Fortsetzung nicht mehr an.

73 73 

74### Fügen Sie Dateien und Kontext zu Eingaben hinzu74### Fügen Sie Dateien und Kontext zu Eingaben hinzu

75 75 


92| **Accept edits** | `acceptEdits` | Claude akzeptiert Dateibearbeitungen automatisch und häufige Dateisystem-Befehle wie `mkdir`, `touch` und `mv`, fragt aber immer noch vor dem Ausführen anderer Terminal-Befehle. Verwenden Sie dies, wenn Sie Dateiänderungen vertrauen und schnellere Iterationen wünschen. |92| **Accept edits** | `acceptEdits` | Claude akzeptiert Dateibearbeitungen automatisch und häufige Dateisystem-Befehle wie `mkdir`, `touch` und `mv`, fragt aber immer noch vor dem Ausführen anderer Terminal-Befehle. Verwenden Sie dies, wenn Sie Dateiänderungen vertrauen und schnellere Iterationen wünschen. |

93| **Plan** | `plan` | Claude liest Dateien und führt Befehle aus, um zu erkunden, schlägt dann einen Plan vor, ohne Ihren Quellcode zu bearbeiten. Gut für komplexe Aufgaben, bei denen Sie den Ansatz zuerst überprüfen möchten. |93| **Plan** | `plan` | Claude liest Dateien und führt Befehle aus, um zu erkunden, schlägt dann einen Plan vor, ohne Ihren Quellcode zu bearbeiten. Gut für komplexe Aufgaben, bei denen Sie den Ansatz zuerst überprüfen möchten. |

94| **Auto** | `auto` | Claude läuft ohne wiederkehrende Berechtigungsabfragen; vor Aktionen wie Shell-Befehlen und Netzwerkanfragen führt ein Hintergrund-Klassifikator eine Überprüfung durch, dass sie mit Ihrer Anfrage übereinstimmen. Wird angezeigt, wenn [Auto mode verfügbar ist](#auto-mode-availability); es gibt keinen separaten Settings-Umschalter dafür. |94| **Auto** | `auto` | Claude läuft ohne wiederkehrende Berechtigungsabfragen; vor Aktionen wie Shell-Befehlen und Netzwerkanfragen führt ein Hintergrund-Klassifikator eine Überprüfung durch, dass sie mit Ihrer Anfrage übereinstimmen. Wird angezeigt, wenn [Auto mode verfügbar ist](#auto-mode-availability); es gibt keinen separaten Settings-Umschalter dafür. |

95| **Bypass permissions** | `bypassPermissions` | Claude läuft ohne Berechtigungsabfragen, außer für die [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves), Sicherheitsklassifikatoren, wenn Claude [auf externen Websites agiert](#browse-external-sites), oder Desktop-Aktionen wie das Löschen einer Sitzung, jedoch nicht das [Archivieren einer Sitzung](#work-across-sessions). Äquivalent zu `--dangerously-skip-permissions` in der CLI. Aktivieren Sie dies auf Pro- und Max-Plänen in Ihren Einstellungen → Claude Code unter „Allow bypass permissions mode“; auf Team- und Enterprise-Plänen gibt es keinen Settings-Umschalter, und die Organisationsrichtlinie kontrolliert es stattdessen. Verwenden Sie dies nur in sandboxierten Containern oder VMs. |95| **Bypass permissions** | `bypassPermissions` | Claude läuft ohne Berechtigungsabfragen, außer für die [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves), Sicherheitsklassifikatoren, wenn Claude [auf externen Websites agiert](#browse-external-sites), oder Desktop-Aktionen wie das Löschen einer Sitzung, jedoch nicht das [Archivieren einer Sitzung](#work-across-sessions). Äquivalent zu `--dangerously-skip-permissions` in der CLI. Aktivieren Sie auf Pro- und Max-Plänen „Allow bypass permissions mode“ unter **Settings > Code** oder **Settings > Claude Code**. Auf Team- und Enterprise-Plänen gibt es keinen Settings-Umschalter, und die Organisationsrichtlinie kontrolliert es stattdessen. Verwenden Sie dies nur in sandboxierten Containern oder VMs. |

96 96 

97Frühere Versionen der Code-Registerkarte bezeichneten diese Modi als Ask permissions, Auto accept edits und Plan mode.97Frühere Versionen der Code-Registerkarte bezeichneten diese Modi als Ask permissions, Auto accept edits und Plan mode.

98 98 


100 100 

101> [!TIP]101> [!TIP]

102>102>

103> Beginnen Sie komplexe Aufgaben im Plan, damit Claude einen Ansatz abbildet, bevor Änderungen vorgenommen werden. Sobald Sie den Plan genehmigen, wechseln Sie zu Accept edits oder Manual, um ihn auszuführen. Siehe [explore first, then plan, then code](https://code.claude.com/docs/de/best-practices.md#explore-first-then-plan-then-code) für mehr zu diesem Workflow.103> Beginnen Sie komplexe Aufgaben im Plan, damit Claude einen Ansatz abbildet, bevor Änderungen vorgenommen werden. Sobald Sie den Plan genehmigen, wechseln Sie zu Accept edits oder Manual, um ihn auszuführen. Siehe [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode) für mehr zu diesem Workflow.

104 104 

105Cloud-Sitzungen unterstützen Accept edits, Plan und Auto. Accept edits entspricht dem `default`-Modus: Cloud-Sitzungen genehmigen Dateibearbeitungen vorab, daher zeigt der Wahlschalter Accept edits statt Manual an. Bypass permissions ist nicht verfügbar in Cloud-Sitzungen, einschließlich Sitzungen in einer [selbstgehosteten Umgebung](https://code.claude.com/docs/de/self-hosted-environments).105Cloud-Sitzungen unterstützen Accept edits, Plan und Auto. Accept edits entspricht dem `default`-Modus: Cloud-Sitzungen genehmigen Dateibearbeitungen vorab, daher zeigt der Wahlschalter Accept edits statt Manual an. Bypass permissions ist nicht verfügbar in Cloud-Sitzungen, einschließlich Sitzungen in einer [selbstgehosteten Umgebung](https://code.claude.com/docs/de/self-hosted-environments).

106 106 


133 133 

134Claude erstellt die anfängliche Server-Konfiguration basierend auf Ihrem Projekt. Wenn Ihre App einen benutzerdefinierten Dev-Befehl verwendet, bearbeiten Sie `.claude/launch.json`, um Ihr Setup zu entsprechen. Siehe [Configure preview servers](#configure-preview-servers) für die vollständige Referenz.134Claude erstellt die anfängliche Server-Konfiguration basierend auf Ihrem Projekt. Wenn Ihre App einen benutzerdefinierten Dev-Befehl verwendet, bearbeiten Sie `.claude/launch.json`, um Ihr Setup zu entsprechen. Siehe [Configure preview servers](#configure-preview-servers) für die vollständige Referenz.

135 135 

136Um die gespeicherten Daten des Browsers zu löschen, wählen Sie **Clear browsing data** im **⋮**-Menü des Browser-Panes. Um den Browser vollständig auszuschalten, deaktivieren Sie **Browser tools** unter **Settings > Claude Code**.136Um die gespeicherten Daten des Browsers zu löschen, wählen Sie **Clear browsing data** im **⋮**-Menü des Browser-Panes. Um den Browser vollständig auszuschalten, deaktivieren Sie **Browser tools** unter **Settings > Code** oder **Settings > Claude Code**.

137 137 

138### Externe Websites durchsuchen138### Externe Websites durchsuchen

139 139 


164 164 

165### Überprüfen Sie Änderungen mit der Diff-Ansicht165### Überprüfen Sie Änderungen mit der Diff-Ansicht

166 166 

167Nachdem Claude Änderungen an Ihrem Code vorgenommen hat, können Sie mit der Diff-Ansicht Änderungen dateiweise überprüfen, bevor Sie einen Pull Request erstellen. Um die Diff-Ansicht zu öffnen, klicken Sie auf die Zeilenzahlen, z. B. `+12 -1`, in der Karte **Changes** des [Sitzungsdetails-Bereichs](#see-session-details). Sie können auch in der Titelleiste der Sitzung auf **Changes** klicken.167Nachdem Claude Änderungen an Ihrem Code vorgenommen hat, können Sie mit der Diff-Ansicht Änderungen dateiweise überprüfen, bevor Sie einen Pull Request erstellen. Um die Diff-Ansicht zu öffnen, klicken Sie auf die Zeilenzahlen, z. B. `+12 -1`, in der Karte **Changes** des [Sitzungsdetails-Bereichs](#see-session-details). Sie können auch in der Titelleiste der Sitzung auf **Changes** klicken. Der Diff einer Cloud-Sitzung gegenüber dem Basis-Branch kann [Änderungen auslassen, die noch nicht gepusht wurden](https://code.claude.com/docs/de/claude-code-on-the-web.md#troubleshoot-a-missing-file-in-the-diff-view).

168 168 

169Um Kommentare zu bestimmten Zeilen hinzuzufügen, klicken Sie auf eine beliebige Zeile im Diff, um ein Kommentarfeld zu öffnen. Geben Sie Ihr Feedback ein und drücken Sie **Eingabe**, um den Kommentar hinzuzufügen. Nach dem Hinzufügen von Kommentaren zu mehreren Zeilen senden Sie alle Kommentare auf einmal:169Um Kommentare zu bestimmten Zeilen hinzuzufügen, bewegen Sie den Mauszeiger über eine Zeile und klicken Sie auf das **+**, das neben ihrer Zeilennummer erscheint, um ein Kommentarfeld zu öffnen. Geben Sie Ihr Feedback ein und drücken Sie **Eingabe**, um den Kommentar hinzuzufügen. Nach dem Hinzufügen von Kommentaren zu mehreren Zeilen senden Sie alle Kommentare auf einmal:

170 170 

171* **macOS**: drücken Sie **Cmd+Eingabe**171* **macOS**: drücken Sie **Cmd+Eingabe**

172* **Windows**: drücken Sie **Ctrl+Eingabe**172* **Windows**: drücken Sie **Ctrl+Eingabe**


194 * **Wenn das Repository kein Auto-Merge zulässt**: **Merge when ready** lässt sich nicht aktivieren, aktivieren Sie daher zuerst Auto-Merge in Ihren [GitHub-Repository-Einstellungen](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository)194 * **Wenn das Repository kein Auto-Merge zulässt**: **Merge when ready** lässt sich nicht aktivieren, aktivieren Sie daher zuerst Auto-Merge in Ihren [GitHub-Repository-Einstellungen](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository)

195* **[Früheres Layout](#check-which-layout-you-have)**: Sobald die Sitzung einen Pull Request hat, klicken Sie in ihrer Statusleiste auf **CI**.195* **[Früheres Layout](#check-which-layout-you-have)**: Sobald die Sitzung einen Pull Request hat, klicken Sie in ihrer Statusleiste auf **CI**.

196 196 

197Um die Sitzung automatisch zu archivieren, sobald der PR gemergt oder geschlossen wird, aktivieren Sie [auto-archive](#archive-a-session) unter **Settings > Claude Code**.197Um die Sitzung automatisch zu archivieren, sobald der PR gemergt oder geschlossen wird, aktivieren Sie [auto-archive](#archive-a-session) unter **Settings > Code** oder **Settings > Claude Code**.

198 198 

199> [!NOTE]199> [!NOTE]

200>200>


275* **Cmd+Ctrl**: Drücken Sie **Ctrl+Alt**275* **Cmd+Ctrl**: Drücken Sie **Ctrl+Alt**

276* **Cmd**: Drücken Sie **Ctrl**276* **Cmd**: Drücken Sie **Ctrl**

277 277 

278Sitzungs-Zyklisierung, Terminal-Umschalter und Ansichtsmodus-Umschalter verwenden **Ctrl** auf jeder Plattform.278Tastenkombinationen, die mit `Ctrl` beginnen, bleiben auf jeder Plattform gleich.

279 279 

280| Kürzel | Aktion |280| Kürzel | Aktion |

281| - | - |281| - | - |


284| `Cmd` `Option` `1`–`9` | Auf dem Bildschirm für neue Sitzungen im [aktuellen Layout](#check-which-layout-you-have) eine Umgebung auswählen |284| `Cmd` `Option` `1`–`9` | Auf dem Bildschirm für neue Sitzungen im [aktuellen Layout](#check-which-layout-you-have) eine Umgebung auswählen |

285| `Cmd` `Option` `0` | Auf dem Bildschirm für neue Sitzungen im aktuellen Layout den [Dialog **Neue Umgebung**](#create-a-saved-environment) öffnen |285| `Cmd` `Option` `0` | Auf dem Bildschirm für neue Sitzungen im aktuellen Layout den [Dialog **Neue Umgebung**](#create-a-saved-environment) öffnen |

286| `Cmd` `W` | Sitzung schließen |286| `Cmd` `W` | Sitzung schließen |

287| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Nächste oder vorherige Sitzung |287| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Zwischen Sitzungen wechseln |

288| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | Nächste oder vorherige Sitzung |288| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | Nächste oder vorherige Sitzung |

289| `Esc` | Claudes Antwort stoppen |289| `Esc` | Claudes Antwort stoppen |

290| `Tab` / `Pfeil nach rechts` | [Vorgeschlagenen Prompt übernehmen](#accept-a-suggested-prompt) in einem leeren Eingabefeld |290| `Tab` / `Pfeil nach rechts` | [Vorgeschlagenen Prompt übernehmen](#accept-a-suggested-prompt) in einem leeren Eingabefeld |


352 352 

353**2. Schalten Sie den Umschalter ein**353**2. Schalten Sie den Umschalter ein**

354 354 

355Gehen Sie in der Desktop-App zu **Einstellungen > Dieser Computer > System**. Schalten Sie unter **Computernutzung** die Option **Computernutzung aktivieren** ein. Unter Windows wird der Umschalter sofort wirksam und das Setup ist abgeschlossen. Auf macOS fahren Sie mit dem nächsten Schritt fort.355Öffnen Sie in der Desktop-App die **Einstellungen** und dann:

356 

357* **Wenn das Einstellungsmenü Dieser Computer auflistet**: Gehen Sie zu **Dieser Computer > System**

358* **Andernfalls**: Gehen Sie zu **Funktionen**

359 

360Schalten Sie unter **Computernutzung** die Option **Computernutzung aktivieren** ein:

361 

362* **Windows**: Der Umschalter wird sofort wirksam und das Setup ist abgeschlossen

363* **macOS**: Fahren Sie mit dem nächsten Schritt fort

356 364 

357Wenn Sie den Umschalter nicht sehen, bestätigen Sie, dass Sie macOS oder Windows mit einem Pro- oder Max-Plan verwenden, und aktualisieren und starten Sie die App neu.365Wenn Sie den Umschalter nicht sehen, bestätigen Sie, dass Sie macOS oder Windows mit einem Pro- oder Max-Plan verwenden, und aktualisieren und starten Sie die App neu.

358 366 


379 387 

380Apps mit großer Reichweite wie Terminals, Finder oder Datei-Explorer und Systemeinstellungen oder Einstellungen zeigen eine zusätzliche Warnung in der Eingabeaufforderung, damit Sie wissen, was das Genehmigen gewährt.388Apps mit großer Reichweite wie Terminals, Finder oder Datei-Explorer und Systemeinstellungen oder Einstellungen zeigen eine zusätzliche Warnung in der Eingabeaufforderung, damit Sie wissen, was das Genehmigen gewährt.

381 389 

382Der Abschnitt **Computernutzung** unter **Einstellungen > Dieser Computer > System** enthält diese Optionen:390Der Abschnitt **Computernutzung** in den Einstellungen, in dem Sie [die Computernutzung aktiviert haben](#enable-computer-use), enthält diese Optionen:

383 391 

384* **Abgelehnte Apps**: Fügen Sie Apps hier hinzu, um sie ohne Aufforderung abzulehnen. Claude kann eine abgelehnte App indirekt durch Aktionen in einer zulässigen App beeinflussen, kann aber nicht direkt mit der abgelehnen App interagieren.392* **Abgelehnte Apps**: Fügen Sie Apps hier hinzu, um sie ohne Aufforderung abzulehnen. Claude kann eine abgelehnte App indirekt durch Aktionen in einer zulässigen App beeinflussen, kann aber nicht direkt mit der abgelehnen App interagieren.

385* **Apps anzeigen, wenn Claude fertig ist**: Wenn Computernutzung nicht im Hintergrund ausgeführt wird, blendet Claude Ihre anderen Fenster aus, während es arbeitet, damit es nur mit der genehmigten App interagiert. Wenn Claude fertig ist, werden ausgeblendete Fenster wiederhergestellt, es sei denn, Sie deaktivieren diese Einstellung.393* **Apps anzeigen, wenn Claude fertig ist**: Wenn Computernutzung nicht im Hintergrund ausgeführt wird, blendet Claude Ihre anderen Fenster aus, während es arbeitet, damit es nur mit der genehmigten App interagiert. Wenn Claude fertig ist, werden ausgeblendete Fenster wiederhergestellt, es sei denn, Sie deaktivieren diese Einstellung.


390 398 

391### Mit Sitzungen parallel arbeiten399### Mit Sitzungen parallel arbeiten

392 400 

393Klicken Sie in der Seitenleiste auf **+ New** oder drücken Sie **Cmd+N** unter macOS bzw. **Ctrl+N** unter Windows, um parallel an mehreren Aufgaben zu arbeiten. Drücken Sie **Ctrl+Tab** und **Ctrl+Shift+Tab**, um durch die Sitzungen in der Seitenleiste zu wechseln.401Klicken Sie in der Seitenleiste auf **+ New** oder drücken Sie **Cmd+N** unter macOS bzw. **Ctrl+N** unter Windows, um parallel an mehreren Aufgaben zu arbeiten. Drücken Sie **Ctrl+Tab** und **Ctrl+Shift+Tab**, um zwischen Sitzungen zu wechseln.

394 402 

395Sie können außerdem eine zweite Sitzung neben der aktuellen Sitzung oder in einem eigenen Fenster öffnen:403Sie können außerdem eine zweite Sitzung neben der aktuellen Sitzung oder in einem eigenen Fenster öffnen:

396 404 


401 409 

402#### Eine Sitzung in einem eigenen Worktree ausführen410#### Eine Sitzung in einem eigenen Worktree ausführen

403 411 

404Aktivieren Sie in einem Projekt, das ein Git-Repository ist, vor dem Start einer Sitzung **Worktree**, um sie in einem eigenen [Git-Worktree](https://code.claude.com/docs/de/worktrees.md) auszuführen, einer isolierten Kopie des Projekts. Standardmäßig ist **Worktree** ausgeschaltet und Claude arbeitet direkt im Projektordner. Klicken Sie auf das Steuerelement für den Projektordner in der [Zeile unter dem Eingabefeld](#start-a-session) und aktivieren Sie **Worktree**.412Aktivieren Sie in einem Projekt, das ein Git-Repository ist, vor dem Start einer Sitzung **Worktree**, um sie in einem eigenen [Git-Worktree](https://code.claude.com/docs/de/worktrees.md) auszuführen, einer isolierten Kopie des Projekts. Standardmäßig ist **Worktree** ausgeschaltet und Claude arbeitet direkt im Projektordner. Aktivieren Sie im [aktuellen Layout](#check-which-layout-you-have) die Schaltfläche **Worktree** in der [Zeile unter dem Eingabefeld](#start-a-session).

405 413 

406* **Mit einer [gespeicherten Umgebung](#create-a-saved-environment)**: Legen Sie **Worktree** fest, wenn Sie die Umgebung erstellen oder bearbeiten414* **Mit einem [Drittanbieter](https://code.claude.com/docs/de/third-party-integrations.md)**: Wenn die Zeile unter dem Eingabefeld das Steuerelement für den Projektordner, aber keine Schaltfläche **Worktree** anzeigt, klicken Sie auf dieses Steuerelement und aktivieren Sie **Worktree**

415* **Als Standard für eine [gespeicherte lokale oder SSH-Umgebung](#create-a-saved-environment)**: Legen Sie **Worktree** fest, wenn Sie die Umgebung erstellen oder bearbeiten

407* **[Früheres Layout](#check-which-layout-you-have)**: Aktivieren Sie das Kontrollkästchen **worktree** neben dem Branch-Namen oberhalb des Eingabefelds416* **[Früheres Layout](#check-which-layout-you-have)**: Aktivieren Sie das Kontrollkästchen **worktree** neben dem Branch-Namen oberhalb des Eingabefelds

408 417 

409Worktrees werden standardmäßig in `<project-root>/.claude/worktrees/` gespeichert. So speichern Sie sie stattdessen in einem benutzerdefinierten Verzeichnis:418Worktrees werden standardmäßig in `<project-root>/.claude/worktrees/` gespeichert. So speichern Sie sie stattdessen in einem benutzerdefinierten Verzeichnis:

410 419 

411* **Lokale Sitzungen**: Legen Sie **Worktree location** unter **Settings > Claude Code** fest420* **Lokale Sitzungen**: Legen Sie **Worktree location** unter **Settings > Code** oder **Settings > Claude Code** fest

412* **SSH-Sitzungen**: Legen Sie **Worktree folder** in der [SSH-Verbindung](#choose-where-ssh-session-worktrees-go) fest421* **SSH-Sitzungen**: Legen Sie **Worktree folder** in der [SSH-Verbindung](#choose-where-ssh-session-worktrees-go) fest

413 422 

414Sie können außerdem unter **Settings > Claude Code** ein **Branch prefix** festlegen. Desktop stellt es jedem Worktree-Branch-Namen voran, was hilfreich ist, um von Claude erstellte Branches übersichtlich zu halten.423Sie können außerdem unter **Settings > Code** oder **Settings > Claude Code** ein **Branch prefix** festlegen. Desktop stellt es jedem Worktree-Branch-Namen voran, was hilfreich ist, um von Claude erstellte Branches übersichtlich zu halten.

415 424 

416Um von Git ignorierte Dateien wie `.env` in neue Worktrees aufzunehmen, erstellen Sie eine [`.worktreeinclude`-Datei](https://code.claude.com/docs/de/worktrees#copy-gitignored-files-into-worktrees) im Stammverzeichnis Ihres Projekts. Unter [Was Worktrees mit dem Haupt-Checkout teilen](https://code.claude.com/docs/de/worktrees.md#what-worktrees-share-with-the-main-checkout) erfahren Sie, woher eine Worktree-Sitzung Projekteinstellungen, Hooks und Skills liest.425Um von Git ignorierte Dateien wie `.env` in neue Worktrees aufzunehmen, erstellen Sie eine [`.worktreeinclude`-Datei](https://code.claude.com/docs/de/worktrees#copy-gitignored-files-into-worktrees) im Stammverzeichnis Ihres Projekts. Unter [Was Worktrees mit dem Haupt-Checkout teilen](https://code.claude.com/docs/de/worktrees.md#what-worktrees-share-with-the-main-checkout) erfahren Sie, woher eine Worktree-Sitzung Projekteinstellungen, Hooks und Skills liest.

417 426 


430 439 

431Bevor Sie eine Sitzung archivieren, deren Worktree nicht committete Änderungen enthält, lesen Sie [Nicht committete Änderungen beim Archivieren einer Sitzung behalten](#keep-uncommitted-changes-when-a-session-is-archived). Um eine Sitzung zu archivieren, bewegen Sie den Mauszeiger in der Seitenleiste darüber, öffnen Sie ihr Menü und wählen Sie **Archive**. Die Sitzung wird in Ihre [archivierten Sitzungen](#organize-and-find-sessions) verschoben.440Bevor Sie eine Sitzung archivieren, deren Worktree nicht committete Änderungen enthält, lesen Sie [Nicht committete Änderungen beim Archivieren einer Sitzung behalten](#keep-uncommitted-changes-when-a-session-is-archived). Um eine Sitzung zu archivieren, bewegen Sie den Mauszeiger in der Seitenleiste darüber, öffnen Sie ihr Menü und wählen Sie **Archive**. Die Sitzung wird in Ihre [archivierten Sitzungen](#organize-and-find-sessions) verschoben.

432 441 

433Damit sich Sitzungen selbst archivieren, wenn ihr Pull Request gemergt oder geschlossen wird, aktivieren Sie **Auto-archive after PR merge or close** unter **Settings > Claude Code**. Cloud-Sitzungen und Sitzungen, die noch laufen, archivieren sich nicht selbst.442Damit sich Sitzungen selbst archivieren, wenn ihr Pull Request gemergt oder geschlossen wird, aktivieren Sie **Auto-archive after PR merge or close** unter **Settings > Code** oder **Settings > Claude Code**. Cloud-Sitzungen und Sitzungen, die noch laufen, archivieren sich nicht selbst.

434 443 

435#### Nicht committete Änderungen beim Archivieren einer Sitzung behalten444#### Nicht committete Änderungen beim Archivieren einer Sitzung behalten

436 445 


527Eine lokale Sitzung wird verbunden, wenn Sie Remote Control für sie einschalten oder wenn sie sich beim Start automatisch verbindet:536Eine lokale Sitzung wird verbunden, wenn Sie Remote Control für sie einschalten oder wenn sie sich beim Start automatisch verbindet:

528 537 

529* **Sie schalten es für diese Sitzung ein**: mit dem Schalter **Remote Control** der Sitzung oder durch Eingabe von `/remote-control` in ihr Eingabefeld.538* **Sie schalten es für diese Sitzung ein**: mit dem Schalter **Remote Control** der Sitzung oder durch Eingabe von `/remote-control` in ihr Eingabefeld.

530* **Sie verbindet sich beim Start**: Neue Sitzungen verbinden sich automatisch, solange **Connect new sessions to Remote Control** unter **Settings > Claude Code** eingeschaltet ist. Wenn Sie diese Einstellung nie geändert haben, folgt Desktop [`remoteControlAtStartup`](https://code.claude.com/docs/de/settings-reference#remotecontrolatstartup) in Ihren Benutzer- oder verwalteten Einstellungen und danach der Standardeinstellung Ihrer Organisation.539* **Sie verbindet sich beim Start**: Neue Sitzungen verbinden sich automatisch, solange **Connect new sessions to Remote Control** unter **Settings > Code** oder **Settings > Claude Code** eingeschaltet ist. Wenn Sie diese Einstellung nie geändert haben, folgt Desktop [`remoteControlAtStartup`](https://code.claude.com/docs/de/settings-reference#remotecontrolatstartup) in Ihren Benutzer- oder verwalteten Einstellungen und danach der Standardeinstellung Ihrer Organisation.

531 540 

532Um zu sehen, ob eine Sitzung verbunden ist, prüfen Sie den Schalter **Remote Control** in der Karte **Environment** des [Sitzungsdetailbereichs](#see-session-details).541Um zu sehen, ob eine Sitzung verbunden ist, prüfen Sie den Schalter **Remote Control** in der Karte **Environment** des [Sitzungsdetailbereichs](#see-session-details).

533 542 

534Um Sitzungen von Ihren anderen Geräten fernzuhalten, schalten Sie Remote Control auf der gewünschten Ebene aus:543Um Sitzungen von Ihren anderen Geräten fernzuhalten, schalten Sie Remote Control auf der gewünschten Ebene aus:

535 544 

536* **Eine Sitzung**: Schalten Sie ihren Schalter **Remote Control** aus. In einer Sitzung, die sich beim Start verbunden hat, lässt die Eingabe von `/remote-control` Remote Control eingeschaltet und zeigt `Remote Control is already on. This session connected automatically when it started.` an. Klicken Sie in dieser Zeile auf **Turn off**, um die Verbindung zu trennen.545* **Eine Sitzung**: Schalten Sie ihren Schalter **Remote Control** aus. In einer Sitzung, die sich beim Start verbunden hat, lässt die Eingabe von `/remote-control` Remote Control eingeschaltet und zeigt `Remote Control is already on. This session connected automatically when it started.` an. Klicken Sie in dieser Zeile auf **Turn off**, um die Verbindung zu trennen.

537* **Neue Desktop-Sitzungen auf diesem Computer**: Schalten Sie **Connect new sessions to Remote Control** unter **Settings > Claude Code** aus. Wenn die Einstellung bereits als ausgeschaltet angezeigt wird, schalten Sie sie ein und wieder aus, damit Desktop Ihre Auswahl speichert. Nach dem Speichern hat sie Vorrang vor `remoteControlAtStartup` und den Standardwerten.546* **Neue Desktop-Sitzungen auf diesem Computer**: Schalten Sie **Connect new sessions to Remote Control** unter **Settings > Code** oder **Settings > Claude Code** aus. Wenn die Einstellung bereits als ausgeschaltet angezeigt wird, schalten Sie sie ein und wieder aus, damit Desktop Ihre Auswahl speichert. Nach dem Speichern hat sie Vorrang vor `remoteControlAtStartup` und den Standardwerten.

538* **Jede Sitzung auf diesem Computer, einschließlich der CLI**: Setzen Sie [`disableRemoteControl`](https://code.claude.com/docs/de/settings-reference#disableremotecontrol) in `~/.claude/settings.json` auf `true`, um zu verhindern, dass sich Sitzungen verbinden. Eine Sitzung, die beim Speichern der Datei bereits verbunden war, bleibt verbunden, bis Sie Remote Control für sie ausschalten.547* **Jede Sitzung auf diesem Computer, einschließlich der CLI**: Setzen Sie [`disableRemoteControl`](https://code.claude.com/docs/de/settings-reference#disableremotecontrol) in `~/.claude/settings.json` auf `true`, um zu verhindern, dass sich Sitzungen verbinden. Eine Sitzung, die beim Speichern der Datei bereits verbunden war, bleibt verbunden, bis Sie Remote Control für sie ausschalten.

539 548 

540Um eine Sitzung auszublenden, die bereits auf Ihren anderen Geräten angezeigt wird, archivieren Sie sie in Desktop. Desktop archiviert auch die Remote-Control-Kopie der Sitzung, sodass sie aus der Standard-Sitzungsliste auf diesen Geräten verschwindet. Informationen zum Anzeigen oder Löschen dort finden Sie unter [Sitzungen archivieren](https://code.claude.com/docs/de/claude-code-on-the-web.md#archive-sessions).549Um eine Sitzung auszublenden, die bereits auf Ihren anderen Geräten angezeigt wird, archivieren Sie sie in Desktop. Desktop archiviert auch die Remote-Control-Kopie der Sitzung, sodass sie aus der Standard-Sitzungsliste auf diesen Geräten verschwindet. Informationen zum Anzeigen oder Löschen dort finden Sie unter [Sitzungen archivieren](https://code.claude.com/docs/de/claude-code-on-the-web.md#archive-sessions).


576> * **Konnektoren ist in einer WSL-Sitzung ausgegraut**: siehe [Wenn das Terminal oder Konnektoren nicht verfügbar sind](https://code.claude.com/docs/de/desktop-wsl.md#check-for-the-terminal-and-connectors)585> * **Konnektoren ist in einer WSL-Sitzung ausgegraut**: siehe [Wenn das Terminal oder Konnektoren nicht verfügbar sind](https://code.claude.com/docs/de/desktop-wsl.md#check-for-the-terminal-and-connectors)

577> * **Cloud-Sitzungen**: siehe [Wie Konnektoren Claude Code erreichen](https://code.claude.com/docs/de/mcp.md#how-connectors-reach-claude-code)586> * **Cloud-Sitzungen**: siehe [Wie Konnektoren Claude Code erreichen](https://code.claude.com/docs/de/mcp.md#how-connectors-reach-claude-code)

578 587 

579Nach der Verbindung kann Claude Ihren Kalender lesen, Nachrichten senden, Issues erstellen und direkt mit Ihren Tools interagieren. Sie können Claude fragen, welche Konnektoren in Ihrer Sitzung konfiguriert sind. Um Konnektoren zu verwalten oder zu trennen, gehen Sie in der Desktop-App zu **Einstellungen > Konnektoren**.588Nach der Verbindung kann Claude Ihren Kalender lesen, Nachrichten senden, Issues erstellen und direkt mit Ihren Tools interagieren. Sie können Claude fragen, welche Konnektoren in Ihrer Sitzung konfiguriert sind. Um Konnektoren zu verwalten oder zu trennen, klicken Sie in der Seitenleiste auf **Anpassen** und öffnen Sie **Konnektoren**.

580 589 

581Für Integrationen, die nicht in Konnektoren aufgelistet sind, fügen Sie MCP-Server manuell über [Einstellungsdateien](https://code.claude.com/docs/de/mcp.md#installing-mcp-servers) hinzu. Sie können auch [benutzerdefinierte Konnektoren erstellen](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).590Für Integrationen, die nicht in Konnektoren aufgelistet sind, fügen Sie MCP-Server manuell über [Einstellungsdateien](https://code.claude.com/docs/de/mcp.md#installing-mcp-servers) hinzu. Sie können auch [benutzerdefinierte Konnektoren erstellen](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).

582 591 


2028| `--model sonnet` | Modellauswahl in der Zeile unter dem Eingabefeld |2037| `--model sonnet` | Modellauswahl in der Zeile unter dem Eingabefeld |

2029| `--resume`, `--continue` | Klicken Sie auf eine Sitzung in der Seitenleiste, oder geben Sie `/resume` in das Eingabefeld ein, um eine Sitzung aufzugreifen, die Sie von der CLI gestartet haben |2038| `--resume`, `--continue` | Klicken Sie auf eine Sitzung in der Seitenleiste, oder geben Sie `/resume` in das Eingabefeld ein, um eine Sitzung aufzugreifen, die Sie von der CLI gestartet haben |

2030| `--permission-mode` | Moduswahlschalter in der Zeile unter dem Eingabefeld |2039| `--permission-mode` | Moduswahlschalter in der Zeile unter dem Eingabefeld |

2031| `--dangerously-skip-permissions` | Bypass-Berechtigungsmodus. Aktivieren Sie auf Pro- und Max-Plänen in Einstellungen → Claude Code → „Bypass-Berechtigungsmodus zulassen“; auf Team- und Enterprise-Plänen wird es durch die Organisationsrichtlinie gesteuert |2040| `--dangerously-skip-permissions` | Bypass-Berechtigungsmodus. Aktivieren Sie auf Pro- und Max-Plänen „Bypass-Berechtigungsmodus zulassen“ in **Einstellungen > Code** oder **Einstellungen > Claude Code**; auf Team- und Enterprise-Plänen wird es durch die Organisationsrichtlinie gesteuert |

2032| `--add-dir` | [Ordner zu einer Sitzung hinzufügen](#add-folders-to-a-session) in lokalen und SSH-Sitzungen, oder wählen Sie in einer Cloud-Sitzung [mehrere Repositorys](#run-long-running-tasks-in-the-cloud) aus |2041| `--add-dir` | [Ordner zu einer Sitzung hinzufügen](#add-folders-to-a-session) in lokalen und SSH-Sitzungen, oder wählen Sie in einer Cloud-Sitzung [mehrere Repositorys](#run-long-running-tasks-in-the-cloud) aus |

2033| `--allowedTools`, `--disallowedTools` | Kein Pro-Sitzungs-Äquivalent. Berechtigungsregeln in [Einstellungsdateien](https://code.claude.com/docs/de/settings.md) gelten weiterhin. |2042| `--allowedTools`, `--disallowedTools` | Kein Pro-Sitzungs-Äquivalent. Berechtigungsregeln in [Einstellungsdateien](https://code.claude.com/docs/de/settings.md) gelten weiterhin. |

2034| `--verbose` | [Ausführlicher Ansichtsmodus](#switch-view-modes) |2043| `--verbose` | [Ausführlicher Ansichtsmodus](#switch-view-modes) |


2088* **Agent-Teams**: Koordinierte Teams, bei denen Claude als Teamleiter Aufgaben an Teamkollegen aus einer gemeinsamen Aufgabenliste zuweist, sind in der [CLI](https://code.claude.com/docs/de/agent-teams.md) verfügbar, nicht in Desktop. Für Multi-Agent-Arbeit innerhalb einer Sitzung verwenden Sie [dynamische Workflows](https://code.claude.com/docs/de/workflows.md), die in Desktop ausgeführt werden; Claude kann auch [Nachrichten senden und Ihre anderen Sitzungen verwalten](#work-across-sessions) direkt.2097* **Agent-Teams**: Koordinierte Teams, bei denen Claude als Teamleiter Aufgaben an Teamkollegen aus einer gemeinsamen Aufgabenliste zuweist, sind in der [CLI](https://code.claude.com/docs/de/agent-teams.md) verfügbar, nicht in Desktop. Für Multi-Agent-Arbeit innerhalb einer Sitzung verwenden Sie [dynamische Workflows](https://code.claude.com/docs/de/workflows.md), die in Desktop ausgeführt werden; Claude kann auch [Nachrichten senden und Ihre anderen Sitzungen verwalten](#work-across-sessions) direkt.

2089* **Terminal-Dialog-Befehle**: Integrierte Befehle, die ein interaktives Panel im Terminal öffnen, verhalten sich in der Code-Registerkarte anders. Bearbeiten Sie [Einstellungsdateien](https://code.claude.com/docs/de/settings.md) direkt, um Berechtigungsregeln und Konfiguration zu verwalten, oder führen Sie die Befehle aus der eigenständigen CLI aus.2098* **Terminal-Dialog-Befehle**: Integrierte Befehle, die ein interaktives Panel im Terminal öffnen, verhalten sich in der Code-Registerkarte anders. Bearbeiten Sie [Einstellungsdateien](https://code.claude.com/docs/de/settings.md) direkt, um Berechtigungsregeln und Konfiguration zu verwalten, oder führen Sie die Befehle aus der eigenständigen CLI aus.

2090 * Befehle ohne Argumentform, wie `/permissions`, antworten mit `isn't available in this environment`.2099 * Befehle ohne Argumentform, wie `/permissions`, antworten mit `isn't available in this environment`.

2091 * `/config` öffnet **Einstellungen > Claude Code**.2100 * `/config` öffnet **Einstellungen > Code** oder **Einstellungen > Claude Code**.

2092 2101 

2093## Fehlerbehebung2102## Fehlerbehebung

2094 2103 

Details

135 135 

136Lokale geplante Aufgaben werden auf Ihrem Computer ausgeführt. Desktop überprüft den Zeitplan jede Minute, während die App offen ist, und startet eine neue Sitzung, wenn eine Aufgabe fällig ist, unabhängig von manuellen Sitzungen, die Sie offen haben. Jede Aufgabe erhält eine kleine Verzögerung von einigen Minuten nach der geplanten Zeit, um den API-Verkehr zu staffeln. Die Verzögerung ist deterministisch: die gleiche Aufgabe startet immer mit dem gleichen Offset.136Lokale geplante Aufgaben werden auf Ihrem Computer ausgeführt. Desktop überprüft den Zeitplan jede Minute, während die App offen ist, und startet eine neue Sitzung, wenn eine Aufgabe fällig ist, unabhängig von manuellen Sitzungen, die Sie offen haben. Jede Aufgabe erhält eine kleine Verzögerung von einigen Minuten nach der geplanten Zeit, um den API-Verkehr zu staffeln. Die Verzögerung ist deterministisch: die gleiche Aufgabe startet immer mit dem gleichen Offset.

137 137 

138Aufgaben werden nur ausgeführt, während die Desktop-App ausgeführt wird und Ihr Computer aktiv ist. Wenn Ihr Computer durch eine geplante Zeit schläft, wird die Ausführung übersprungen. Um den Ruhezustand bei Inaktivität zu verhindern, aktivieren Sie **Computer aktiv halten** unter **Einstellungen > Dieser Computer > System**. Das Schließen des Laptop-Deckels versetzt ihn dennoch in den Ruhezustand.138Aufgaben werden nur ausgeführt, während die Desktop-App ausgeführt wird und Ihr Computer aktiv ist. Wenn Ihr Computer durch eine geplante Zeit schläft, wird die Ausführung übersprungen. Um den Ruhezustand bei Inaktivität zu verhindern, aktivieren Sie **Computer aktiv halten** unter **Einstellungen > Desktop-App** oder **Einstellungen > Dieser Computer > System**. Das Schließen des Laptop-Deckels versetzt ihn dennoch in den Ruhezustand.

139 139 

140> [!NOTE]140> [!NOTE]

141>141>

env-vars.md +2 −0

Details

291| `CLAUDE_CODE_ENABLE_TASKS` | Wählt aus, welche Tools zur Aufgabenverfolgung Claude Code in [Sitzungen bereitstellt, die sie haben](https://code.claude.com/docs/de/tools-reference.md#task-tool-availability). Standardmäßig stellt Claude Code die Task-Tools `TaskCreate`, `TaskUpdate`, `TaskGet` und `TaskList` bereit. Auf `0` setzen, um stattdessen das ältere `TodoWrite`-Tool zu erhalten. Siehe [Aufgabenliste](https://code.claude.com/docs/de/interactive-mode.md#task-list) |291| `CLAUDE_CODE_ENABLE_TASKS` | Wählt aus, welche Tools zur Aufgabenverfolgung Claude Code in [Sitzungen bereitstellt, die sie haben](https://code.claude.com/docs/de/tools-reference.md#task-tool-availability). Standardmäßig stellt Claude Code die Task-Tools `TaskCreate`, `TaskUpdate`, `TaskGet` und `TaskList` bereit. Auf `0` setzen, um stattdessen das ältere `TodoWrite`-Tool zu erhalten. Siehe [Aufgabenliste](https://code.claude.com/docs/de/interactive-mode.md#task-list) |

292| `CLAUDE_CODE_ENABLE_TELEMETRY` | Auf `1` setzen, um die OpenTelemetry-Datenerfassung für Metriken und Logging zu aktivieren. Erforderlich, bevor OTel-Exporter konfiguriert werden. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](https://code.claude.com/docs/de/settings-reference.md#variables-claude-code-ignores-in-env) ignoriert. Siehe [Überwachung](https://code.claude.com/docs/de/monitoring-usage.md) |292| `CLAUDE_CODE_ENABLE_TELEMETRY` | Auf `1` setzen, um die OpenTelemetry-Datenerfassung für Metriken und Logging zu aktivieren. Erforderlich, bevor OTel-Exporter konfiguriert werden. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](https://code.claude.com/docs/de/settings-reference.md#variables-claude-code-ignores-in-env) ignoriert. Siehe [Überwachung](https://code.claude.com/docs/de/monitoring-usage.md) |

293| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Auf `1` setzen, um die Tools zur Aufgabenverfolgung bei jedem Modell zu erhalten. Ohne diese Variable stellt Claude Code sie standardmäßig nur bei den Modellen bereit, die unter [Verfügbarkeit des Task-Tools](https://code.claude.com/docs/de/tools-reference.md#task-tool-availability) aufgeführt sind. `CLAUDE_CODE_ENABLE_TASKS` wählt weiterhin zwischen den Task-Tools und `TodoWrite`. Erfordert Claude Code v2.1.233 oder höher |293| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Auf `1` setzen, um die Tools zur Aufgabenverfolgung bei jedem Modell zu erhalten. Ohne diese Variable stellt Claude Code sie standardmäßig nur bei den Modellen bereit, die unter [Verfügbarkeit des Task-Tools](https://code.claude.com/docs/de/tools-reference.md#task-tool-availability) aufgeführt sind. `CLAUDE_CODE_ENABLE_TASKS` wählt weiterhin zwischen den Task-Tools und `TodoWrite`. Erfordert Claude Code v2.1.233 oder höher |

294| `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` | Auf `1` setzen, um [gefährliche `rm`-Befehle ohne Nachfrage auszuführen](https://code.claude.com/docs/de/permission-modes#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode), wenn der Modus `bypassPermissions` aktiv ist; dadurch entfällt eine Sicherheitsabfrage vor destruktiven Löschvorgängen. Im verlinkten Abschnitt ist aufgeführt, wo die Variable keine Wirkung hat. [Setzen Sie sie in der Umgebung, aus der Claude Code gestartet wird](#set-variables-in-your-shell), da Claude Code sie [in einem `env`-Block von Einstellungen ignoriert](https://code.claude.com/docs/de/settings-reference#variables-claude-code-ignores-in-env). Erfordert Claude Code v2.1.311 oder höher |

294| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Zeit in Millisekunden, die nach dem Übergang der Abfrageschleife in den Leerlauf gewartet wird, bevor automatisch beendet wird. Nützlich für automatisierte Workflows und Skripte, die den SDK-Modus verwenden |295| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Zeit in Millisekunden, die nach dem Übergang der Abfrageschleife in den Leerlauf gewartet wird, bevor automatisch beendet wird. Nützlich für automatisierte Workflows und Skripte, die den SDK-Modus verwenden |

295| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Auf `1` setzen, um [Agent Teams](https://code.claude.com/docs/de/agent-teams.md) zu aktivieren. Agent Teams sind experimentell und standardmäßig deaktiviert |296| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Auf `1` setzen, um [Agent Teams](https://code.claude.com/docs/de/agent-teams.md) zu aktivieren. Agent Teams sind experimentell und standardmäßig deaktiviert |

296| `CLAUDE_CODE_EXTRA_BODY` | JSON-Objekt, das in die oberste Ebene des Bodys jeder API-Anfrage zusammengeführt wird. Nützlich, um anbieterspezifische Parameter zu übergeben, die Claude Code nicht direkt bereitstellt. Ein in Ihrer Shell exportierter Wert gilt auch für die [Hintergrundsitzungen](https://code.claude.com/docs/de/agent-view.md), die Sie mit `claude agents` oder `--bg` starten. Vor v2.1.206 ignorierten Hintergrundsitzungen einen in der Shell exportierten Wert und verwendeten die Kopie, die der Hintergrund-Supervisor-Prozess geerbt hatte |297| `CLAUDE_CODE_EXTRA_BODY` | JSON-Objekt, das in die oberste Ebene des Bodys jeder API-Anfrage zusammengeführt wird. Nützlich, um anbieterspezifische Parameter zu übergeben, die Claude Code nicht direkt bereitstellt. Ein in Ihrer Shell exportierter Wert gilt auch für die [Hintergrundsitzungen](https://code.claude.com/docs/de/agent-view.md), die Sie mit `claude agents` oder `--bg` starten. Vor v2.1.206 ignorierten Hintergrundsitzungen einen in der Shell exportierten Wert und verwendeten die Kopie, die der Hintergrund-Supervisor-Prozess geerbt hatte |


368| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Auf `1` setzen, um automatisch fortzufahren, wenn die vorherige Sitzung mitten in einem Turn beendet wurde. Wird im SDK-Modus verwendet, damit das Modell fortfährt, ohne dass das SDK den Prompt erneut senden muss. Um dies auszuschalten, entfernen Sie die Variable oder setzen Sie sie auf `0`. Für das Chat-Panel in VS Code siehe [Konversationen nach einem Neuladen fortsetzen](https://code.claude.com/docs/de/vs-code.md#continue-conversations-after-a-reload) |369| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Auf `1` setzen, um automatisch fortzufahren, wenn die vorherige Sitzung mitten in einem Turn beendet wurde. Wird im SDK-Modus verwendet, damit das Modell fortfährt, ohne dass das SDK den Prompt erneut senden muss. Um dies auszuschalten, entfernen Sie die Variable oder setzen Sie sie auf `0`. Für das Chat-Panel in VS Code siehe [Konversationen nach einem Neuladen fortsetzen](https://code.claude.com/docs/de/vs-code.md#continue-conversations-after-a-reload) |

369| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Maximales Alter der letzten Transkriptnachricht in Millisekunden, bis zu dem eine Sitzung, die mitten in einem Turn endete, beim Fortsetzen automatisch weiterläuft. Ist die letzte Nachricht älter als diese Grenze, überspringt Claude Code die automatische Fortsetzung über `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` und deren Fortsetzungsnachricht `CLAUDE_CODE_RESUME_PROMPT`, und die Sitzung startet im Leerlauf, sodass Sie explizit fortfahren. Nicht gesetzt oder `0` legt keine Grenze fest, mit der Ausnahme, dass einige Turns nur innerhalb von sechs Stunden nach ihrer letzten Nachricht fortgesetzt werden, etwa einer, der mit einem API-Fehler endete. Ein positiver Wert begrenzt jeden Turn, einschließlich dieser; ein negativer oder nicht numerischer Wert wendet eine Grenze von einer Stunde an. Startskripte für lang laufende Agenten können dies setzen, damit ein Neustart mit einem alten Transkript keinen veralteten Prompt erneut ausführt. Claude Code setzt selbst eine Grenze von einer Stunde, wenn es eine abgestürzte Sitzung der [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) neu startet, die ihre Konversation von einer interaktiven Sitzung geerbt hat. Erfordert Claude Code v2.1.211 oder höher |370| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Maximales Alter der letzten Transkriptnachricht in Millisekunden, bis zu dem eine Sitzung, die mitten in einem Turn endete, beim Fortsetzen automatisch weiterläuft. Ist die letzte Nachricht älter als diese Grenze, überspringt Claude Code die automatische Fortsetzung über `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` und deren Fortsetzungsnachricht `CLAUDE_CODE_RESUME_PROMPT`, und die Sitzung startet im Leerlauf, sodass Sie explizit fortfahren. Nicht gesetzt oder `0` legt keine Grenze fest, mit der Ausnahme, dass einige Turns nur innerhalb von sechs Stunden nach ihrer letzten Nachricht fortgesetzt werden, etwa einer, der mit einem API-Fehler endete. Ein positiver Wert begrenzt jeden Turn, einschließlich dieser; ein negativer oder nicht numerischer Wert wendet eine Grenze von einer Stunde an. Startskripte für lang laufende Agenten können dies setzen, damit ein Neustart mit einem alten Transkript keinen veralteten Prompt erneut ausführt. Claude Code setzt selbst eine Grenze von einer Stunde, wenn es eine abgestürzte Sitzung der [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) neu startet, die ihre Konversation von einer interaktiven Sitzung geerbt hat. Erfordert Claude Code v2.1.211 oder höher |

370| `CLAUDE_CODE_RESUME_PROMPT` | Überschreibt die Fortsetzungsnachricht, die Claude Code an Claude sendet, wenn `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` einen unterbrochenen Turn fortsetzt, statt dessen Prompt erneut zu senden, oder wenn Sie einen [zurückgestellten Tool-Aufruf](https://code.claude.com/docs/de/hooks.md#defer-a-tool-call-for-later) mit `-p` fortsetzen. Standardmäßig `Continue from where you left off.`. Eine leere Zeichenfolge verwendet den Standard |371| `CLAUDE_CODE_RESUME_PROMPT` | Überschreibt die Fortsetzungsnachricht, die Claude Code an Claude sendet, wenn `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` einen unterbrochenen Turn fortsetzt, statt dessen Prompt erneut zu senden, oder wenn Sie einen [zurückgestellten Tool-Aufruf](https://code.claude.com/docs/de/hooks.md#defer-a-tool-call-for-later) mit `-p` fortsetzen. Standardmäßig `Continue from where you left off.`. Eine leere Zeichenfolge verwendet den Standard |

372| `CLAUDE_CODE_RESUME_SHOWS_CUT_OFF_CALLS` | Auf `1` setzen, um [unterbrochene Tool-Aufrufe](https://code.claude.com/docs/de/sessions.md#what-a-resumed-session-restores), als abgeschnitten markiert, in einem Turn beizubehalten, den `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` fortsetzt. Wenn nicht gesetzt, werden diese Aufrufe verworfen, bevor der Turn fortgesetzt wird. Einige Aufrufe bleiben verworfen, etwa Aufrufe an Subagenten, Skills, Workflows und Tools, die auf eine Person warten. Für das VS Code-Chatpanel siehe [Konversationen nach einem Neuladen fortsetzen](https://code.claude.com/docs/de/vs-code.md#continue-conversations-after-a-reload). Erfordert Claude Code v2.1.309 oder höher |

371| `CLAUDE_CODE_RETRY_WATCHDOG` | Für unbeaufsichtigte Sitzungen wie Eval-Harnesses, CI-Jobs oder Remote-Worker auf `1` setzen. Wiederholt Kapazitätsfehler `429` und `529` unbegrenzt, statt nach `CLAUDE_CODE_MAX_RETRIES` Versuchen fehlzuschlagen. Claude Code schlägt sofort fehl, wenn eine Anfrage mit Standardgeschwindigkeit einen `429` erhält, der ein Ausgabenlimit oder aufgebrauchtes Nutzungsguthaben meldet, selbst einen von einer [Gateway-Ausgabenobergrenze](https://code.claude.com/docs/de/errors.md#spend-limit-reached), die nach einem Zeitplan zurückgesetzt wird. Vor v2.1.239 wiederholte der Watchdog diese unbegrenzt. Für Anfragen im Fast-Modus siehe [Rate-Limits handhaben](https://code.claude.com/docs/de/fast-mode.md#handle-rate-limits). Der Watchdog wartet zwischen den Versuchen bis zu 5 Minuten oder bis das Limit zurückgesetzt wird, wenn die Antwort einen Rücksetzzeitpunkt für das Rate-Limit enthält, sodass eine Sitzung, die ein Nutzungslimit erreicht, das verbleibende Zeitfenster abwartet. Ab v2.1.199 erhöht er außerdem die standardmäßige Anzahl von Wiederholungsversuchen für andere vorübergehende Fehler wie Serverfehler, Timeouts und abgebrochene Verbindungen auf 300, was etwa drei Stunden Backoff entspricht, und hebt die Obergrenze von 15 für `CLAUDE_CODE_MAX_RETRIES` auf, falls Sie diese Variable explizit setzen. Erfordert Claude Code v2.1.186 oder höher |373| `CLAUDE_CODE_RETRY_WATCHDOG` | Für unbeaufsichtigte Sitzungen wie Eval-Harnesses, CI-Jobs oder Remote-Worker auf `1` setzen. Wiederholt Kapazitätsfehler `429` und `529` unbegrenzt, statt nach `CLAUDE_CODE_MAX_RETRIES` Versuchen fehlzuschlagen. Claude Code schlägt sofort fehl, wenn eine Anfrage mit Standardgeschwindigkeit einen `429` erhält, der ein Ausgabenlimit oder aufgebrauchtes Nutzungsguthaben meldet, selbst einen von einer [Gateway-Ausgabenobergrenze](https://code.claude.com/docs/de/errors.md#spend-limit-reached), die nach einem Zeitplan zurückgesetzt wird. Vor v2.1.239 wiederholte der Watchdog diese unbegrenzt. Für Anfragen im Fast-Modus siehe [Rate-Limits handhaben](https://code.claude.com/docs/de/fast-mode.md#handle-rate-limits). Der Watchdog wartet zwischen den Versuchen bis zu 5 Minuten oder bis das Limit zurückgesetzt wird, wenn die Antwort einen Rücksetzzeitpunkt für das Rate-Limit enthält, sodass eine Sitzung, die ein Nutzungslimit erreicht, das verbleibende Zeitfenster abwartet. Ab v2.1.199 erhöht er außerdem die standardmäßige Anzahl von Wiederholungsversuchen für andere vorübergehende Fehler wie Serverfehler, Timeouts und abgebrochene Verbindungen auf 300, was etwa drei Stunden Backoff entspricht, und hebt die Obergrenze von 15 für `CLAUDE_CODE_MAX_RETRIES` auf, falls Sie diese Variable explizit setzen. Erfordert Claude Code v2.1.186 oder höher |

372| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | Maximale Zeit in Millisekunden, die jede API-Anfrage mit dem Abwarten von `429`- und `529`-Fehlern verbringt, wenn `CLAUDE_CODE_RETRY_WATCHDOG` gesetzt ist. Ist diese Zeit verbraucht, beendet der nächste solche Fehler die Anfrage. Geben Sie eine positive ganze Zahl in reinen Ziffern an, etwa `1800000` für 30 Minuten. Wenn nicht gesetzt, ist die Wartezeit unbegrenzt. Erfordert Claude Code v2.1.295 oder höher |374| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | Maximale Zeit in Millisekunden, die jede API-Anfrage mit dem Abwarten von `429`- und `529`-Fehlern verbringt, wenn `CLAUDE_CODE_RETRY_WATCHDOG` gesetzt ist. Ist diese Zeit verbraucht, beendet der nächste solche Fehler die Anfrage. Geben Sie eine positive ganze Zahl in reinen Ziffern an, etwa `1800000` für 30 Minuten. Wenn nicht gesetzt, ist die Wartezeit unbegrenzt. Erfordert Claude Code v2.1.295 oder höher |

373| `CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS` | Mindestintervall in Millisekunden zwischen Prüfungen, ob ein [Nutzungslimit](https://code.claude.com/docs/de/errors.md#youve-hit-your-session-limit) bereits aufgehoben wurde, während eine Anfrage bei gesetztem `CLAUDE_CODE_RETRY_WATCHDOG` auf das Zurücksetzen dieses Limits wartet. Stellt eine Prüfung fest, dass das Limit aufgehoben ist, wird die Anfrage sofort gesendet. Geben Sie eine ganze Zahl in reinen Ziffern von `60000`, einer Minute, bis `10800000`, drei Stunden, an. Prüfungen erfolgen nur für das Sitzungs- oder Wochenlimit eines claude.ai-Abonnements, solange kein Nutzungsguthaben verwendet wird, und nicht, solange `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist. Wenn diese Variable nicht gesetzt ist oder ihr Wert außerhalb dieses Bereichs liegt, erfolgen keine Prüfungen. Erfordert Claude Code v2.1.305 oder höher |375| `CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS` | Mindestintervall in Millisekunden zwischen Prüfungen, ob ein [Nutzungslimit](https://code.claude.com/docs/de/errors.md#youve-hit-your-session-limit) bereits aufgehoben wurde, während eine Anfrage bei gesetztem `CLAUDE_CODE_RETRY_WATCHDOG` auf das Zurücksetzen dieses Limits wartet. Stellt eine Prüfung fest, dass das Limit aufgehoben ist, wird die Anfrage sofort gesendet. Geben Sie eine ganze Zahl in reinen Ziffern von `60000`, einer Minute, bis `10800000`, drei Stunden, an. Prüfungen erfolgen nur für das Sitzungs- oder Wochenlimit eines claude.ai-Abonnements, solange kein Nutzungsguthaben verwendet wird, und nicht, solange `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist. Wenn diese Variable nicht gesetzt ist oder ihr Wert außerhalb dieses Bereichs liegt, erfolgen keine Prüfungen. Erfordert Claude Code v2.1.305 oder höher |

errors.md +38 −11

Details

146| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Netzwerk](#sessions-ended-while-this-machine-was-offline) |146| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Netzwerk](#sessions-ended-while-this-machine-was-offline) |

147| `Couldn't share the transcript.` | [Netzwerk](#couldnt-share-the-transcript) |147| `Couldn't share the transcript.` | [Netzwerk](#couldnt-share-the-transcript) |

148| `Couldn't send feedback` | [Netzwerk](#couldnt-send-feedback) |148| `Couldn't send feedback` | [Netzwerk](#couldnt-send-feedback) |

149| `Feedback payload too large. Try again without the transcript, or shorten the details.` | [Netzwerk](#feedback-payload-too-large) |

149| `MCP server "<name>" connection timed out. Your computer went to sleep or its clock changed while connecting.` | [Netzwerk](#mcp-server-connection-timed-out-during-a-sleep-or-clock-change) |150| `MCP server "<name>" connection timed out. Your computer went to sleep or its clock changed while connecting.` | [Netzwerk](#mcp-server-connection-timed-out-during-a-sleep-or-clock-change) |

150| `Prompt is too long` / `Input is too long for requested model` | [Anfragefehler](#prompt-is-too-long) |151| `Prompt is too long` / `Input is too long for requested model` | [Anfragefehler](#prompt-is-too-long) |

151| `Prompt is too long · automatic compaction failed:` | [Anfragefehler](#prompt-is-too-long) |152| `Prompt is too long · automatic compaction failed:` | [Anfragefehler](#prompt-is-too-long) |


335| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Werkzeugfehler](#failed-to-write-to-a-teammate-inbox) |336| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Werkzeugfehler](#failed-to-write-to-a-teammate-inbox) |

336| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [Werkzeugfehler](#teammate-agent-definition-not-restored) |337| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [Werkzeugfehler](#teammate-agent-definition-not-restored) |

337| `Only a teammate can approve a shutdown request` | [Werkzeugfehler](#only-a-teammate-can-approve-a-shutdown-request) |338| `Only a teammate can approve a shutdown request` | [Werkzeugfehler](#only-a-teammate-can-approve-a-shutdown-request) |

339| `A command-line deny rule cannot be handed to a teammate intact` | [Tool-Fehler](#command-line-deny-rule-cannot-be-handed-to-a-teammate) |

338| `Message too large for cross-session delivery` | [Werkzeugfehler](#message-too-large-for-cross-session-delivery) |340| `Message too large for cross-session delivery` | [Werkzeugfehler](#message-too-large-for-cross-session-delivery) |

339| `Too many messages to this session just now` | [Werkzeugfehler](#too-many-messages-to-this-session-just-now) |341| `Too many messages to this session just now` | [Werkzeugfehler](#too-many-messages-to-this-session-just-now) |

340| `Cross-session message was dropped at the recipient session's inbox` | [Werkzeugfehler](#cross-session-message-dropped-at-the-inbox) |342| `Cross-session message was dropped at the recipient session's inbox` | [Werkzeugfehler](#cross-session-message-dropped-at-the-inbox) |


375| `This conversation is already open in another running Claude session` | [Fehler in Hintergrund-Sitzungen](#this-session-is-running-in-another-terminal) |377| `This conversation is already open in another running Claude session` | [Fehler in Hintergrund-Sitzungen](#this-session-is-running-in-another-terminal) |

376| `This session's saved conversation is no longer on disk` | [Fehler in Hintergrund-Sitzungen](#this-sessions-saved-conversation-is-no-longer-on-disk) |378| `This session's saved conversation is no longer on disk` | [Fehler in Hintergrund-Sitzungen](#this-sessions-saved-conversation-is-no-longer-on-disk) |

377| `Bypass permissions was requested at launch and ignored` | [Bypass permissions in einer Hintergrund-Sitzung ignoriert](https://code.claude.com/docs/de/permission-modes.md#bypass-permissions-ignored-in-a-background-session) |379| `Bypass permissions was requested at launch and ignored` | [Bypass permissions in einer Hintergrund-Sitzung ignoriert](https://code.claude.com/docs/de/permission-modes.md#bypass-permissions-ignored-in-a-background-session) |

378| `kept <id> — its worktree is still at <path>` | [Fehler in Hintergrund-Sitzungen](#worktree-has-commits-that-are-not-pushed-anywhere) |380| `kept <id> — its worktree is still at <path>` | [Fehler bei Hintergrundsitzungen](#worktree-has-commits-that-are-not-pushed-anywhere), wenn die nächste Zeile der Meldung nicht gepushte Commits erwähnt, andernfalls [Was beim Löschen einer Sitzung entfernt wird](https://code.claude.com/docs/de/agent-view.md#what-deleting-a-session-removes) |

379| `kept <id> — <n> unpushed commits on <branch>` | [Fehler in Hintergrund-Sitzungen](#worktree-has-commits-that-are-not-pushed-anywhere) |381| `kept <id> — <n> unpushed commits on <branch>` | [Fehler in Hintergrund-Sitzungen](#worktree-has-commits-that-are-not-pushed-anywhere) |

380| `kept <id> — worktree has commits that are not pushed anywhere` | [Fehler in Hintergrund-Sitzungen](#worktree-has-commits-that-are-not-pushed-anywhere) |382| `kept <id> — worktree has commits that are not pushed anywhere` | [Fehler in Hintergrund-Sitzungen](#worktree-has-commits-that-are-not-pushed-anywhere) |

381| `terminal host process died — press Enter to restart` / `This session's terminal host process died` | [Fehler in Hintergrund-Sitzungen](#terminal-host-process-died) |383| `terminal host process died — press Enter to restart` / `This session's terminal host process died` | [Fehler in Hintergrund-Sitzungen](#terminal-host-process-died) |


2188 2190 

2189### Couldn't send feedback2191### Couldn't send feedback

2190 2192 

2191Eine Meldung, die mit `Couldn't send feedback` beginnt, bedeutet, dass der Bericht, den Sie aus dem [`/feedback`-, `/bug`- oder `/share`-Dialog](https://code.claude.com/docs/de/commands#all-commands) abgeschickt haben, oder ein [Feedback-Entwurf](https://code.claude.com/docs/de/tools-reference.md#sendfeedback-tool-behavior) in der Warteschlange nicht gesendet wurde. Wenn auf den Doppelpunkt ein Satz über Ihre Organisation folgt, lehnt Ihre Organisation Feedback ab, und derselbe Bericht erhält dieselbe Antwort.2193Eine Meldung, die mit `Couldn't send feedback` beginnt, bedeutet, dass der Feedback-Dienst den Bericht, den Sie aus dem [`/feedback`-, `/bug`- oder `/share`-Dialog](https://code.claude.com/docs/de/commands#all-commands) abgeschickt haben, oder einen [Feedback-Entwurf](https://code.claude.com/docs/de/tools-reference.md#sendfeedback-tool-behavior) in der Warteschlange nicht bestätigt hat. Behandeln Sie ihn als nicht empfangen. Wenn auf den Doppelpunkt ein Satz über Ihre Organisation folgt, lehnt Ihre Organisation Feedback ab, und derselbe Bericht erhält dieselbe Antwort.

2192 2194 

2193Das erste dieser beiden Beispiele ist ein Netzwerkfehler, das zweite die Ablehnung durch eine Organisation:2195Das zweite dieser beiden Beispiele ist die Ablehnung durch eine Organisation:

2194 2196 

2195```text wrap theme={null}2197```text wrap theme={null}

2196Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.2198Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.


2203* **Nicht angemeldet**: Die Meldung wird mit `: not signed in. Run /login, then retry.` fortgesetzt. Führen Sie `/login` aus und senden Sie dann erneut2205* **Nicht angemeldet**: Die Meldung wird mit `: not signed in. Run /login, then retry.` fortgesetzt. Führen Sie `/login` aus und senden Sie dann erneut

2204* **Ablehnung durch Ihre Organisation**: zum Beispiel `: Feedback has not been enabled for your organization.` oder `: Feedback collection is not available for organizations with custom data retention policies.` Wenn die Meldung `To report a bug, open an issue` hinzufügt, tun Sie dies unter [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Ein Entwurf in der Warteschlange bleibt in der Warteschlange, und Sie können [ihn verwerfen](https://code.claude.com/docs/de/tools-reference.md#discard-or-keep-a-draft)2206* **Ablehnung durch Ihre Organisation**: zum Beispiel `: Feedback has not been enabled for your organization.` oder `: Feedback collection is not available for organizations with custom data retention policies.` Wenn die Meldung `To report a bug, open an issue` hinzufügt, tun Sie dies unter [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Ein Entwurf in der Warteschlange bleibt in der Warteschlange, und Sie können [ihn verwerfen](https://code.claude.com/docs/de/tools-reference.md#discard-or-keep-a-draft)

2205* **Abgelehnte Anmeldedaten**: Die Meldung wird mit `: the sign-in this session uses is not allowed to send feedback` oder `: the server did not accept the credentials this session uses` fortgesetzt. Führen Sie `/status` in der Claude-Code-Eingabe aus, um zu sehen, welche Anmeldung, welches Token oder welchen API-Schlüssel diese Sitzung sendet2207* **Abgelehnte Anmeldedaten**: Die Meldung wird mit `: the sign-in this session uses is not allowed to send feedback` oder `: the server did not accept the credentials this session uses` fortgesetzt. Führen Sie `/status` in der Claude-Code-Eingabe aus, um zu sehen, welche Anmeldung, welches Token oder welchen API-Schlüssel diese Sitzung sendet

2206* **`(request timed out)` oder `(couldn't reach the service)` direkt nach `Couldn't send feedback`**: Dies sind Netzwerkfehler. Senden Sie den Bericht oder den Entwurf in der Warteschlange erneut. Der Dialog behält Ihren Text, und die Meldung eines Entwurfs in der Warteschlange lautet `The draft is still queued.` Wenn auch andere Anfragen fehlschlagen, überprüfen Sie Ihre Netzwerkverbindung und siehe [Unable to connect to API](#unable-to-connect-to-api). Wenn es weiterhin fehlschlägt, reichen Sie den Bericht unter [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues) ein2208* **`(request timed out)` oder `(couldn't reach the service)` direkt nach `Couldn't send feedback`**: Senden Sie den Bericht oder den Entwurf in der Warteschlange erneut. Der Dialog behält Ihren Text, und die Meldung eines Entwurfs in der Warteschlange lautet `The draft is still queued.` Wenn auch andere Anfragen fehlschlagen, überprüfen Sie Ihre Netzwerkverbindung und siehe [Unable to connect to API](#unable-to-connect-to-api). Wenn es weiterhin fehlschlägt, reichen Sie den Bericht unter [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues) ein

2207* **`(server returned <status>)` oder kein Grund direkt nach `Couldn't send feedback`**: Der Status ist der Antwortcode des Dienstes. Die eigene Meldung des Dienstes folgt darauf, wenn eine gesendet wurde, wie in `(server returned 403: Access Forbidden)`. Wenn es weiterhin fehlschlägt, reichen Sie den Bericht unter [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues) ein2209* **`(server returned <status>)` oder kein Grund direkt nach `Couldn't send feedback`**: Der Status ist der Antwortcode des Dienstes. Die eigene Meldung des Dienstes folgt darauf, wenn eine gesendet wurde, wie in `(server returned 403: Access Forbidden)`. Wenn es weiterhin fehlschlägt, reichen Sie den Bericht unter [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues) ein

2208 2210 

2209Issues unter github.com/anthropics/claude-code sind öffentlich. Lassen Sie daher Code, Transkripte und alles andere Vertrauliche weg, wenn Sie ein Issue eröffnen.2211Issues unter github.com/anthropics/claude-code sind öffentlich. Lassen Sie daher Code, Transkripte und alles andere Vertrauliche weg, wenn Sie ein Issue eröffnen.

2210 2212 

2211Vor v2.1.281 schlug jeder Versand mit dieser Nachricht fehl, sobald ein Remote Control **Stop** oder eine dringende sitzungsübergreifende Nachricht angekommen war, während der Dialog offen war. Schließen Sie auf diesen Versionen den Dialog, öffnen Sie ihn erneut und senden Sie erneut.2213Vor v2.1.281 schlug jeder Versand mit dieser Nachricht fehl, sobald ein Remote Control **Stop** oder eine dringende sitzungsübergreifende Nachricht angekommen war, während der Dialog offen war. Schließen Sie auf diesen Versionen den Dialog, öffnen Sie ihn erneut und senden Sie erneut.

2212 2214 

2215### Feedback payload too large

2216 

2217Diese Meldung im [Prüfbildschirm](https://code.claude.com/docs/de/tools-reference.md#review-and-edit-a-draft) für einen [Feedback-Entwurf](https://code.claude.com/docs/de/tools-reference.md#sendfeedback-tool-behavior) bedeutet, dass Claude Code keine Bestätigung hat, dass der Dienst den Entwurf angenommen hat. Behandeln Sie ihn als nicht empfangen. Der Entwurf bleibt in Ihrer `/feedback`-Warteschlange, sodass Sie ihn erneut senden können.

2218 

2219```text wrap theme={null}

2220Feedback payload too large. Try again without the transcript, or shorten the details.

2221```

2222 

2223**Was zu tun ist:**

2224 

2225* Setzen Sie im Prüfbildschirm **Send transcript** auf `no` und senden Sie den Entwurf dann erneut. Durch Kürzen der Details werden höchstens 10 KB Text entfernt, denn mehr können die Details eines Entwurfs nicht enthalten.

2226 

2213### MCP server connection timed out during a sleep or clock change2227### MCP server connection timed out during a sleep or clock change

2214 2228 

2215Diese Meldung bedeutet, dass bei einer Verbindung zu einem [MCP-Server](https://code.claude.com/docs/de/mcp.md) eine Zeitüberschreitung aufgetreten ist und Claude Code festgestellt hat, dass Ihre Systemuhr während des Versuchs vorgesprungen ist:2229Diese Meldung bedeutet, dass bei einer Verbindung zu einem [MCP-Server](https://code.claude.com/docs/de/mcp.md) eine Zeitüberschreitung aufgetreten ist und Claude Code festgestellt hat, dass Ihre Systemuhr während des Versuchs vorgesprungen ist:


3476 3490 

3477### MCP server rejected the elicitation capability3491### MCP server rejected the elicitation capability

3478 3492 

3479Ein MCP-Server, der auf Java MCP SDK 0.11.0 bis 0.17.0 basiert, hat die Verbindung abgelehnt. Diese SDK-Versionen können die [Elicitation-Modi](https://code.claude.com/docs/de/mcp.md#elicitation-modes-claude-code-declares) `form` und `url`, die Claude Code in seinem Handshake deklariert, nicht parsen. `claude mcp list` zeigt den Server als fehlgeschlagen mit dieser Meldung anstelle des eigenen Fehlers des Servers an:3493Ein MCP-Server, der auf Java MCP SDK 0.11.0 bis 0.17.0 aufbaut, hat die Verbindung abgelehnt. Diese SDK-Versionen können die [Elicitation-Modi](https://code.claude.com/docs/de/mcp.md#elicitation-modes-claude-code-declares) `form` und `url` nicht parsen, die Claude Code in seinem Handshake deklariert. Die Meldung lautet:

3480 3494 

3481```text theme={null}3495```text theme={null}

3482This server (Java MCP SDK 0.17.0 or older) rejected Claude Code's elicitation capability. Set "bareElicitationCapability": true for it, or upgrade to Java MCP SDK 0.17.1+ (Spring AI 1.0.7+ or 1.1.6+).3496This server (Java MCP SDK 0.17.0 or older) rejected Claude Code's elicitation capability. Set "bareElicitationCapability": true for it, or upgrade to Java MCP SDK 0.17.1+ (Spring AI 1.0.7+ or 1.1.6+).


3574Verwandte Meldungen treten auf, bevor der Befehl überhaupt ausgeführt wird:3588Verwandte Meldungen treten auf, bevor der Befehl überhaupt ausgeführt wird:

3575 3589 

3576* `Shell command permission check failed for pattern "..."`: Die Berechtigungsprüfung des Befehls hat ihn nicht zugelassen. [Berechtigungsprüfungen für eingefügte Befehle](https://code.claude.com/docs/de/skills.md#permission-checks-on-injected-commands) beschreibt, welche Ergebnisse in jedem Berechtigungsmodus zum Abbruch führen und wie Sie einen Befehl mit `allowed-tools` vorab genehmigen3590* `Shell command permission check failed for pattern "..."`: Die Berechtigungsprüfung des Befehls hat ihn nicht zugelassen. [Berechtigungsprüfungen für eingefügte Befehle](https://code.claude.com/docs/de/skills.md#permission-checks-on-injected-commands) beschreibt, welche Ergebnisse in jedem Berechtigungsmodus zum Abbruch führen und wie Sie einen Befehl mit `allowed-tools` vorab genehmigen

3577* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: Das Frontmatter des Skills verlangt Bash auf einem Rechner ohne Bash. Installieren Sie Git for Windows oder ändern Sie das Frontmatter in `shell: powershell`. Siehe [Wie eingefügte Befehle ausgeführt werden](https://code.claude.com/docs/de/skills.md#how-injected-commands-run)3591* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: Das Frontmatter des Skills verlangt bash auf einem Rechner, auf dem es nicht vorhanden ist. Installieren Sie Git for Windows oder ändern Sie das Frontmatter in `shell: powershell`. Siehe [Wie eingefügte Befehle ausgeführt werden](https://code.claude.com/docs/de/skills.md#how-injected-commands-run)

3578* `No shell command in <name> was run`: Einer der `!`-Befehle der Datei enthält ein rohes Steuerzeichen außer Tab oder Zeilenumbruch, daher wird keiner davon ausgeführt. Siehe [wie Sie das Zeichen finden und entfernen](#no-shell-command-was-run)3592* `No shell command in <name> was run`: Einer der `!`-Befehle der Datei enthält ein rohes Steuerzeichen außer Tab oder Zeilenumbruch, daher wird keiner davon ausgeführt. Siehe [wie Sie das Zeichen finden und entfernen](#no-shell-command-was-run)

3579 3593 

3580**Vorgehensweise:**3594**Vorgehensweise:**


3725 3739 

3726* **Sie haben keinen Basis-Branch übergeben**: Claude Code hat mit dem Standard-Branch des Repositorys verglichen und schlägt vor, Ihre Basis explizit zu übergeben, wie im obigen Beispiel3740* **Sie haben keinen Basis-Branch übergeben**: Claude Code hat mit dem Standard-Branch des Repositorys verglichen und schlägt vor, Ihre Basis explizit zu übergeben, wie im obigen Beispiel

3727* **Sie haben einen Basis-Branch übergeben, der bereits in Ihrem Klon vorhanden war**: Der Hinweis lautet ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3741* **Sie haben einen Basis-Branch übergeben, der bereits in Ihrem Klon vorhanden war**: Der Hinweis lautet ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3728* **Sie haben einen Basis-Branch übergeben, der nicht in Ihrem Klon vorhanden war**: Claude Code hat ihn vor dem Vergleich von origin abgerufen. Der Hinweis lautet ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; wenn Claude Code nicht feststellen kann, ob Ihr Klon flach ist, schlägt es stattdessen `git fetch --unshallow origin` vor. Vor v2.1.221 schlug der Hinweis für jeden abgerufenen Basis-Branch `git fetch --unshallow origin` vor, und bei einem vollständigen Klon schlägt dieser Befehl mit `fatal: --unshallow on a complete repository does not make sense` fehl.3742* **Sie haben einen Basis-Branch übergeben, der nicht in Ihrem Klon vorhanden war**: Claude Code hat ihn vor dem Vergleich von origin abgerufen. Der Hinweis lautet ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; wenn Claude Code nicht feststellen kann, ob Ihr Klon shallow ist, schlägt es stattdessen `git fetch --unshallow origin` vor. Vor v2.1.221 schlug der Hinweis für jeden abgerufenen Basis-Branch `git fetch --unshallow origin` vor, und bei einem vollständigen Klon schlägt dieser Befehl mit `fatal: --unshallow on a complete repository does not make sense` fehl.

3729 3743 

3730**Vorgehensweise:**3744**Vorgehensweise:**

3731 3745 


4678* Wenn der Teamkollege noch läuft, bitten Sie den Lead in dessen Eingabefeld, den Teamkollegen herunterzufahren, zum Beispiel mit `Ask the researcher teammate to shut down`. Siehe [Teamkollegen herunterfahren](https://code.claude.com/docs/de/agent-teams.md#shut-down-teammates).4692* Wenn der Teamkollege noch läuft, bitten Sie den Lead in dessen Eingabefeld, den Teamkollegen herunterzufahren, zum Beispiel mit `Ask the researcher teammate to shut down`. Siehe [Teamkollegen herunterfahren](https://code.claude.com/docs/de/agent-teams.md#shut-down-teammates).

4679* Wenn ein ehemaliger Teamkollege, den Sie selbst mit `claude --resume` fortgesetzt haben, diese Weigerung erhalten hat, wurde nichts gesendet. Um diese Sitzung zu beenden, führen Sie `/exit` in deren Eingabefeld aus.4693* Wenn ein ehemaliger Teamkollege, den Sie selbst mit `claude --resume` fortgesetzt haben, diese Weigerung erhalten hat, wurde nichts gesendet. Um diese Sitzung zu beenden, führen Sie `/exit` in deren Eingabefeld aus.

4680 4694 

4695### A command-line deny rule cannot be handed to a teammate intact

4696 

4697Diese Nachricht bedeutet, dass Claude Code einen [Split-Pane](https://code.claude.com/docs/de/agent-teams.md#choose-a-display-mode)-Teamkollegen in Ihrem [Agent-Team](https://code.claude.com/docs/de/agent-teams.md) nicht gestartet hat. Claude Code übergibt die Befehlszeilen-Ablehnungsregeln des Leads über die eigene Befehlszeile des Teamkollegen an einen Split-Pane-Teamkollegen und bricht ab, wenn der Teamkollege eine davon anders lesen würde:

4698 

4699```text wrap theme={null}

4700A command-line deny rule cannot be handed to a teammate intact, so the teammate would not enforce it — spawn aborted

4701```

4702 

4703**Was zu tun ist:**

4704 

4705* Führen Sie `/config` in der Lead-Sitzung aus und setzen Sie **Teammate mode** auf `in-process`, und bitten Sie Claude dann, den Teamkollegen erneut zu starten. Sie müssen weder die Regel finden noch den Lead neu starten. Ein In-Process-Teamkollege [läuft unter den aktuellen Ablehnungsregeln des Leads](https://code.claude.com/docs/de/agent-teams.md#permissions).

4706* Spätere Sitzungen, die [`teammateMode`](https://code.claude.com/docs/de/settings-reference#teammatemode) aus Ihren Benutzereinstellungen übernehmen, starten Teamkollegen ebenfalls in-process, da `/config` die Auswahl dort speichert. Um in einer späteren Sitzung zu geteilten Bereichen zurückzukehren, setzen Sie **Teammate mode** auf `auto`, `tmux` oder `iterm2`, je nachdem, was Sie zuvor verwendet haben.

4707 

4681### Nachricht zu groß für sitzungsübergreifende Zustellung4708### Nachricht zu groß für sitzungsübergreifende Zustellung

4682 4709 

4683Claudes [sitzungsübergreifende Nachricht](https://code.claude.com/docs/de/cross-session-messaging.md) an eine andere Ihrer Sitzungen auf diesem Rechner war zu lang zum Senden. Claude Code lehnte sie ab, und die empfangende Sitzung erhielt nichts. Die Weigerung erscheint im Tool-Ergebnis der sendenden Sitzung, nicht als Banner in Ihrem Terminal. Sie nennt beide Größen und wie die Nachricht passend gemacht werden kann:4710Claudes [sitzungsübergreifende Nachricht](https://code.claude.com/docs/de/cross-session-messaging.md) an eine andere Ihrer Sitzungen auf diesem Rechner war zu lang zum Senden. Claude Code lehnte sie ab, und die empfangende Sitzung erhielt nichts. Die Weigerung erscheint im Tool-Ergebnis der sendenden Sitzung, nicht als Banner in Ihrem Terminal. Sie nennt beide Größen und wie die Nachricht passend gemacht werden kann:


5115**Was zu tun ist:**5142**Was zu tun ist:**

5116 5143 

5117* Um die Commits zu behalten, pushen Sie den Branch des Worktree, oder mergen Sie ihn in den Standard-Branch, der in Ihrem Haupt-Checkout ausgecheckt ist, dann löschen Sie die Sitzung erneut5144* Um die Commits zu behalten, pushen Sie den Branch des Worktree, oder mergen Sie ihn in den Standard-Branch, der in Ihrem Haupt-Checkout ausgecheckt ist, dann löschen Sie die Sitzung erneut

5118* Um die Commits zu verwerfen, führen Sie den `claude rm <id> --discard-unpushed`-Befehl aus, den die Meldung ausgegeben hat, oder drücken Sie `Ctrl+X` zweimal auf der Sitzungszeile in der Agent-Ansicht erneut. Dies entfernt die Sitzung und den Worktree zusammen mit seinem Branch, den nicht gepushten Commits und allen nicht committeten Änderungen. Wenn der Worktree seit der Ablehnung einen Commit hinzubekommen hat, behält Claude Code ihn erneut und zeigt den aktualisierten Status5145* Um die Commits zu verwerfen, führen Sie den `claude rm <id> --discard-unpushed`-Befehl aus, den die Meldung ausgegeben hat, oder drücken Sie `Ctrl+X` zweimal auf der Sitzungszeile in der Agent-Ansicht erneut. Dies entfernt die Sitzung und den Worktree zusammen mit seinem Branch, den nicht gepushten Commits und allen nicht committeten Änderungen. Wenn das Löschen erneut abgelehnt wird, folgen Sie der neuen Meldung.

5119* Wenn die Meldung sagt, dass der Worktree auch von einer anderen beendeten Sitzung aufgezeichnet wird, verwirft erneutes Löschen ihn nicht: Pushen Sie die Commits, dann löschen Sie die Sitzung erneut5146* Wenn die Meldung sagt, dass der Worktree auch von einer anderen beendeten Sitzung aufgezeichnet wird, verwirft erneutes Löschen ihn nicht: Pushen Sie die Commits, dann löschen Sie die Sitzung erneut

5120 5147 

5121Vor v2.1.268 setzte `claude rm` die Commit-Zusammenfassung auf die `kept`-Zeile selbst. Wenn `claude rm` die Commits nicht zusammenfassen konnte, lautete die `kept`-Zeile `worktree has commits that are not pushed anywhere` anstelle der Zusammenfassung.5148Vor v2.1.268 setzte `claude rm` die Commit-Zusammenfassung auf die `kept`-Zeile selbst. Wenn `claude rm` die Commits nicht zusammenfassen konnte, lautete die `kept`-Zeile `worktree has commits that are not pushed anywhere` anstelle der Zusammenfassung.

5122 5149 

5123Vor v2.1.260 nannte die Meldung nicht den Branch oder die Commits, und erneutes Löschen wurde auf die gleiche Weise abgelehnt: Das Löschen der Sitzung ohne Pushen bedeutete, den Worktree selbst mit `git worktree remove --force <path>` zu entfernen und dann `claude rm <id>` erneut auszuführen.5150Vor v2.1.260 nannte die Meldung nicht den Branch oder die Commits, und es gab keine Möglichkeit zum Verwerfen. Sie können die Sitzung trotzdem löschen, wobei nicht committete Änderungen verloren gehen, der Branch und die Commits aber erhalten bleiben. Führen Sie `git worktree remove --force --force <path>` mit dem Pfad aus, den die Ablehnung ausgegeben hat, dann `claude rm <id>`. Git benötigt `--force` zweimal für einen gesperrten Worktree.

5124 5151 

5125Vor v2.1.248 zählte der Standard-Branch, der in Ihrem Haupt-Checkout ausgecheckt ist, nicht: Ein Branch, den Sie bereits dort gemergt hatten, löste diese Ablehnung immer noch aus, bis seine Commits einen Remote erreichten.5152Vor v2.1.248 zählte der Standard-Branch, der in Ihrem Haupt-Checkout ausgecheckt ist, nicht: Ein Branch, den Sie bereits dort gemergt hatten, löste diese Ablehnung immer noch aus, bis seine Commits einen Remote erreichten.

5126 5153 


6133 6160 

6134Die Sandbox erstellt einen Platzhalter, während ein in der Sandbox ausgeführter Befehl läuft, und entfernt ihn, wenn der Befehl endet. In Fällen wie diesen bleibt einer zurück:6161Die Sandbox erstellt einen Platzhalter, während ein in der Sandbox ausgeführter Befehl läuft, und entfernt ihn, wenn der Befehl endet. In Fällen wie diesen bleibt einer zurück:

6135 6162 

6136* Die Sitzung wird beendet, bevor der Befehl endet, z. B. durch SIGKILL6163* Die Sitzung wird zwangsweise beendet, bevor der Befehl endet, z. B. durch SIGKILL

6137* Sie beenden die Sitzung, während ein in der Sandbox ausgeführter Befehl noch läuft, z. B. einer im Hintergrund6164* Sie beenden die Sitzung, während ein in der Sandbox ausgeführter Befehl noch läuft, z. B. einer im Hintergrund

6138 6165 

6139In `claude doctor` lautet die Warnung:6166In `claude doctor` lautet die Warnung:


6151 6178 

6152Vor v2.1.309 lautete die Warnung `Stale sandbox mask files left by a killed session`.6179Vor v2.1.309 lautete die Warnung `Stale sandbox mask files left by a killed session`.

6153 6180 

6154Vor v2.1.257 kennzeichnete `claude doctor` diese Dateien nicht; frühere Versionen hinterlassen die gleichen Platzhalter, wenn eine Sitzung beendet wird.6181Vor v2.1.257 kennzeichnete `claude doctor` diese Dateien nicht; frühere Versionen hinterlassen die gleichen Platzhalter, wenn eine Sitzung zwangsweise beendet wird.

6155 6182 

6156## Antworten scheinen von geringerer Qualität als üblich6183## Antworten scheinen von geringerer Qualität als üblich

6157 6184 

fast-mode.md +3 −3

Details

45* Ein kleines `↯`-Symbol wird neben der Eingabeaufforderung angezeigt, während der Schnellmodus aktiv ist45* Ein kleines `↯`-Symbol wird neben der Eingabeaufforderung angezeigt, während der Schnellmodus aktiv ist

46* Führen Sie `/fast` jederzeit erneut aus, um zu überprüfen, ob der Schnellmodus aktiviert oder deaktiviert ist46* Führen Sie `/fast` jederzeit erneut aus, um zu überprüfen, ob der Schnellmodus aktiviert oder deaktiviert ist

47 47 

48Opus 5.5 ist der Standard für den Fast-Modus in Claude Code v2.1.280 und später. Vor v2.1.280 war der Fast-Modus standardmäßig auf Opus 5 in v2.1.219 und später und auf Opus 4.8 in v2.1.154 bis v2.1.218 eingestellt.48Opus 5.5 ist der Standard für den Fast-Modus in Claude Code v2.1.280 und später. Vor v2.1.280 war der Fast-Modus ab v2.1.219 standardmäßig auf Opus 5 eingestellt.

49 49 

50Wenn Sie den Schnellmodus mit `/fast` erneut deaktivieren, bleiben Sie auf Opus. Um zu einem anderen Modell zu wechseln, verwenden Sie `/model`.50Wenn Sie den Schnellmodus mit `/fast` erneut deaktivieren, bleiben Sie auf Opus. Um zu einem anderen Modell zu wechseln, verwenden Sie `/model`.

51 51 


56* **Wechsel weg**: Wenn Sie zu einem Modell wechseln, das den Schnellmodus nicht unterstützt, schaltet Claude Code den Schnellmodus aus. Dies gilt auch für Opus 4.7; vor v2.1.221 blieb der Schnellmodus nach einem Wechsel zu Opus 4.7 aktiviert und die API lehnte die Anfragen ab.56* **Wechsel weg**: Wenn Sie zu einem Modell wechseln, das den Schnellmodus nicht unterstützt, schaltet Claude Code den Schnellmodus aus. Dies gilt auch für Opus 4.7; vor v2.1.221 blieb der Schnellmodus nach einem Wechsel zu Opus 4.7 aktiviert und die API lehnte die Anfragen ab.

57* **Zurückwechsel**: Das Zurückwechseln zu einem unterstützten Opus-Modell aktiviert den Schnellmodus erneut, wenn Ihre gespeicherte Schnellmodus-Einstellung aktiviert ist, die gleiche Einstellung, mit der eine neue Sitzung standardmäßig beginnt. Ein Modellwechsel aktiviert den Schnellmodus niemals für eine Sitzung, deren gespeicherte Einstellung deaktiviert ist, und mit [Opt-in pro Sitzung](#require-per-session-opt-in) konfiguriert, wird er beim Zurückwechseln auch nicht aktiviert; führen Sie `/fast` aus, um ihn erneut zu aktivieren.57* **Zurückwechsel**: Das Zurückwechseln zu einem unterstützten Opus-Modell aktiviert den Schnellmodus erneut, wenn Ihre gespeicherte Schnellmodus-Einstellung aktiviert ist, die gleiche Einstellung, mit der eine neue Sitzung standardmäßig beginnt. Ein Modellwechsel aktiviert den Schnellmodus niemals für eine Sitzung, deren gespeicherte Einstellung deaktiviert ist, und mit [Opt-in pro Sitzung](#require-per-session-opt-in) konfiguriert, wird er beim Zurückwechseln auch nicht aktiviert; führen Sie `/fast` aus, um ihn erneut zu aktivieren.

58 58 

59Immer wenn ein Modellwechsel den Schnellmodus ein- oder ausschaltet, zeigt Claude Code eine Bestätigung „Fast mode ON“ oder „Fast mode OFF“ an, und das `↯`-Symbol wird angezeigt, während der Schnellmodus aktiviert ist. Dies gilt, ob Sie mit `/model`, mit [`/config model=<model>`](https://code.claude.com/docs/de/settings) oder von einem Gerät aus wechseln, das über [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbunden ist.59Immer wenn ein Modellwechsel den Fast-Modus ein- oder ausschaltet, zeigt Claude Code eine Bestätigung `Fast mode ON` oder `Fast mode OFF` an, und das `↯`-Symbol wird angezeigt, während der Fast-Modus aktiviert ist. Dies gilt, ob Sie mit `/model`, mit [`/config model=<model>`](https://code.claude.com/docs/de/settings) oder von einem Gerät aus wechseln, das über [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbunden ist.

60 60 

61Claude Code sendet den Schnellmodus-Status der Sitzung nach einem Modellwechsel, einer Wiederverbindung oder einer fehlgeschlagenen [Verfügbarkeitsprüfung](#use-fast-mode-behind-proxies-and-llm-gateways) erneut an Geräte, die über Remote Control verbunden sind.61Claude Code sendet den Fast-Modus-Status der Sitzung nach einem Modellwechsel, einer Wiederverbindung oder einer fehlgeschlagenen [Verfügbarkeitsprüfung](#use-fast-mode-behind-proxies-and-llm-gateways) erneut an Geräte, die über Remote Control verbunden sind.

62 62 

63### Schnellmodus in Cloud-Sitzungen verwenden63### Schnellmodus in Cloud-Sitzungen verwenden

64 64 

glossary.md +1 −1

Details

373 373 

374Wie eine Sitzung weiß, dass die Arbeit tatsächlich erledigt ist, anstatt ein Ergebnis zu akzeptieren, das nur plausibel aussieht. Sie geben Claude eine Überprüfung, die er ausführen kann, wie eine Test-Suite, einen Build oder einen Screenshot-Vergleich, und Claude iteriert, bis die Überprüfung besteht, anstatt nach einem Versuch zu stoppen. Eine Verifizierungsschleife ist die Voraussetzung für [`/goal`](https://code.claude.com/docs/de/goal), unbeaufsichtigte Läufe und [dynamische Workflows](https://code.claude.com/docs/de/workflows.md): Ohne eine ist das Einzige, das entscheidet, dass der Agent fertig ist, der Agent selbst.374Wie eine Sitzung weiß, dass die Arbeit tatsächlich erledigt ist, anstatt ein Ergebnis zu akzeptieren, das nur plausibel aussieht. Sie geben Claude eine Überprüfung, die er ausführen kann, wie eine Test-Suite, einen Build oder einen Screenshot-Vergleich, und Claude iteriert, bis die Überprüfung besteht, anstatt nach einem Versuch zu stoppen. Eine Verifizierungsschleife ist die Voraussetzung für [`/goal`](https://code.claude.com/docs/de/goal), unbeaufsichtigte Läufe und [dynamische Workflows](https://code.claude.com/docs/de/workflows.md): Ohne eine ist das Einzige, das entscheidet, dass der Agent fertig ist, der Agent selbst.

375 375 

376Weitere Informationen: [Geben Sie Claude eine Möglichkeit, seine Arbeit zu überprüfen](https://code.claude.com/docs/de/best-practices.md#give-claude-a-way-to-verify-its-work)376Weitere Informationen: [Geben Sie Claude eine Überprüfung, die er ausführen kann](https://code.claude.com/docs/de/best-practices.md#give-claude-a-check-to-run)

377 377 

378## W378## W

379 379 

Details

166| Primäres Modell | `claude-opus-5-5` |166| Primäres Modell | `claude-opus-5-5` |

167| Kleines/schnelles Modell | `claude-sonnet-4-5@20250929` |167| Kleines/schnelles Modell | `claude-sonnet-4-5@20250929` |

168 168 

169Vor v2.1.280 war das primäre Modell auf Google Cloud's Agent Platform standardmäßig Opus 5 und der `opus`-Alias wurde ab v2.1.219 zu Opus 5 aufgelöst.

170 

169Hintergrundaufgaben wie die Generierung von Sitzungstiteln verwenden das kleine/schnelle Modell, normalerweise ein Haiku-Klasse-Modell. Auf Google Cloud's Agent Platform verwendet Claude Code das Standard-Sonnet-Modell für Hintergrundaufgaben, da Haiku möglicherweise nicht in jedem Projekt oder jeder Region aktiviert ist. Zwei Auswahlmöglichkeiten ändern, welches Modell sie trägt:171Hintergrundaufgaben wie die Generierung von Sitzungstiteln verwenden das kleine/schnelle Modell, normalerweise ein Haiku-Klasse-Modell. Auf Google Cloud's Agent Platform verwendet Claude Code das Standard-Sonnet-Modell für Hintergrundaufgaben, da Haiku möglicherweise nicht in jedem Projekt oder jeder Region aktiviert ist. Zwei Auswahlmöglichkeiten ändern, welches Modell sie trägt:

170 172 

171* Wenn Sie ein primäres Modell mit `--model`, `ANTHROPIC_MODEL` oder der Einstellung `model` auswählen, verwenden Hintergrundaufgaben dieses Modell. Wenn Claude Code die Sitzung auf dem Modell startet, das Sie mit [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/de/model-config#set-a-default-model-for-new-sessions) festlegen, verwenden Hintergrundaufgaben auch dieses Modell. Das Festlegen von `ANTHROPIC_DEFAULT_OPUS_MODEL` ohne `ANTHROPIC_DEFAULT_SONNET_MODEL` zählt auch als Auswahl, da das integrierte Sonnet-Modell möglicherweise nicht in einem Projekt aktiviert ist, das sein eigenes Opus steuert.173* Wenn Sie ein primäres Modell mit `--model`, `ANTHROPIC_MODEL` oder der Einstellung `model` auswählen, verwenden Hintergrundaufgaben dieses Modell. Wenn Claude Code die Sitzung auf dem Modell startet, das Sie mit [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/de/model-config#set-a-default-model-for-new-sessions) festlegen, verwenden Hintergrundaufgaben auch dieses Modell. Das Festlegen von `ANTHROPIC_DEFAULT_OPUS_MODEL` ohne `ANTHROPIC_DEFAULT_SONNET_MODEL` zählt auch als Auswahl, da das integrierte Sonnet-Modell möglicherweise nicht in einem Projekt aktiviert ist, das sein eigenes Opus steuert.


175>177>

176> Opus-Modelle haben einen höheren Pro-Token-Preis als Sonnet-Modelle. Wenn Sie also kein primäres Modell fixieren, wird Ihnen der Opus-Satz berechnet. Um Sonnet 4.5 als primäres Modell zu verwenden, legen Sie `ANTHROPIC_MODEL` auf seine vollständige Modell-ID fest. Eine Bereitstellung, die den Standard mit `ANTHROPIC_DEFAULT_SONNET_MODEL` steuert und `ANTHROPIC_DEFAULT_OPUS_MODEL` nicht setzt, behält ihr gesteuertes Sonnet-Modell als Standard.178> Opus-Modelle haben einen höheren Pro-Token-Preis als Sonnet-Modelle. Wenn Sie also kein primäres Modell fixieren, wird Ihnen der Opus-Satz berechnet. Um Sonnet 4.5 als primäres Modell zu verwenden, legen Sie `ANTHROPIC_MODEL` auf seine vollständige Modell-ID fest. Eine Bereitstellung, die den Standard mit `ANTHROPIC_DEFAULT_SONNET_MODEL` steuert und `ANTHROPIC_DEFAULT_OPUS_MODEL` nicht setzt, behält ihr gesteuertes Sonnet-Modell als Standard.

177 179 

178Vor v2.1.280 war das primäre Modell auf Google Cloud's Agent Platform standardmäßig Opus 5 und der `opus`-Alias wurde zu Opus 5 von v2.1.219 aufgelöst. Auf v2.1.207 bis v2.1.218 war das primäre Modell auf Google Cloud's Agent Platform standardmäßig Opus 4.8 und der `opus`-Alias wurde zu Opus 4.8 aufgelöst.

179 

180Um Modelle weiter anzupassen:180Um Modelle weiter anzupassen:

181 181 

182```bash theme={null}182```bash theme={null}

headless.md +4 −3

Details

236 236 

237Wenn einige dieser Nachrichten in Ihrem Stream fehlen, prüfen Sie Ihre Claude Code-Version anhand dieser Mindestversionen:237Wenn einige dieser Nachrichten in Ihrem Stream fehlen, prüfen Sie Ihre Claude Code-Version anhand dieser Mindestversionen:

238 238 

239* **Weiterleitung auf jeder Verschachtelungstiefe**: v2.1.219 oder später

240* **Ein geforkter Skill, den Claude mit dem Skill-Tool aus der Hauptkonversation startet**: v2.1.86 oder später für seine `tool_use`- und `tool_result`-Blöcke und v2.1.265 oder später für seine erste `user`-Nachricht sowie seine Text- und Thinking-Blöcke239* **Ein geforkter Skill, den Claude mit dem Skill-Tool aus der Hauptkonversation startet**: v2.1.86 oder später für seine `tool_use`- und `tool_result`-Blöcke und v2.1.265 oder später für seine erste `user`-Nachricht sowie seine Text- und Thinking-Blöcke

241* **Nachrichten von Subagenten, die ein geforkter Skill startet, und von geforkten Skills, die in einem Subagenten oder einem anderen geforkten Skill gestartet werden**: v2.1.275 oder später240* **Nachrichten von Subagenten, die ein geforkter Skill startet, und von geforkten Skills, die in einem Subagenten oder einem anderen geforkten Skill gestartet werden**: v2.1.275 oder später

242* **Nachrichten eines geforkten Skills, den Sie starten, indem Sie `/<skill-name>` als Prompt übergeben**: v2.1.287 oder später241* **Nachrichten eines geforkten Skills, den Sie starten, indem Sie `/<skill-name>` als Prompt übergeben**: v2.1.287 oder später


285| Feld | Typ | Beschreibung |284| Feld | Typ | Beschreibung |

286| - | - | - |285| - | - | - |

287| `mcp_servers` | Array | MCP-Server in der Sitzung, jeweils mit `name` und `status` |286| `mcp_servers` | Array | MCP-Server in der Sitzung, jeweils mit `name` und `status` |

288| `mcp_server_errors` | Array | `--mcp-config`-Einträge, die durch die Konfigurationsvalidierung übersprungen wurden, jeweils mit `name`, `type` und `message`. `type` ist eine Überspringungskategorie wie `unknown_type`, `url_missing_type`, `invalid_config` oder `reserved_name`; behandeln Sie Werte, die Sie nicht kennen, als generisches Überspringen. Betroffene Server fehlen in `mcp_servers`. Der Schlüssel wird weggelassen, wenn es keine Fehler gibt, sodass ein CI-Gate bei einem nicht leeren Array fehlschlagen kann. Erfordert Claude Code v2.1.219 oder später |287| `mcp_server_errors` | Array | `--mcp-config`-Einträge, die durch die Konfigurationsvalidierung übersprungen wurden, jeweils mit `name`, `type` und `message`. `type` ist eine Überspringungskategorie wie `unknown_type`, `url_missing_type`, `invalid_config` oder `reserved_name`; behandeln Sie Werte, die Sie nicht kennen, als generisches Überspringen. Betroffene Server fehlen in `mcp_servers`. Der Schlüssel wird weggelassen, wenn es keine Fehler gibt, sodass ein CI-Gate bei einem nicht leeren Array fehlschlagen kann |

289 288 

290Wenn Sie den Befehl von Hand in einem Terminal ausführen, gibt Claude Code außerdem eine Startwarnung auf stderr aus, wie `Warning: 1 MCP server skipped due to invalid config:`, gefolgt vom Grund für jeden übersprungenen Eintrag. Wenn Sie stderr umleiten oder wenn ein Programm wie ein CI-Runner oder ein SDK-Host es erfasst, gibt Claude Code keine Warnung aus und meldet die übersprungenen Einträge nur im Feld `mcp_server_errors`. Die Warnung erfordert Claude Code v2.1.219 oder später.289Wenn Sie den Befehl selbst in einem Terminal ausführen, gibt Claude Code außerdem eine Startwarnung auf stderr aus, wie `Warning: 1 MCP server skipped due to invalid config:`, gefolgt vom Grund für jeden übersprungenen Eintrag.

290 

291Wenn Sie stderr umleiten oder wenn ein Programm wie ein CI-Runner oder ein SDK-Host es erfasst, gibt Claude Code keine Warnung aus. Es meldet die übersprungenen Einträge nur im Feld `mcp_server_errors`.

291 292 

292#### Plugin-Installationen verfolgen293#### Plugin-Installationen verfolgen

293 294 

hooks.md +5 −9

Details

679 679 

680Frontmatter-Hooks in einem Projekt-Skill folgen der gleichen [Workspace-Trust-Regel wie Hooks in Einstellungsdateien](#workspace-trust). Claude Code registriert sie, wenn Sie oder Claude den Skill aufrufen, auch in einem `-p`-Run in einem Ordner, dem Sie nicht vertraut haben.680Frontmatter-Hooks in einem Projekt-Skill folgen der gleichen [Workspace-Trust-Regel wie Hooks in Einstellungsdateien](#workspace-trust). Claude Code registriert sie, wenn Sie oder Claude den Skill aufrufen, auch in einem `-p`-Run in einem Ordner, dem Sie nicht vertraut haben.

681 681 

682Frontmatter-Hooks in einem Projekt-Subagent werden nur ausgeführt, nachdem Sie den [Workspace-Trust-Dialog](https://code.claude.com/docs/de/permissions.md#project-allow-rules-and-workspace-trust) für den Ordner akzeptieren, aus dem die Agent-Datei stammt. Eine `-p`-Sitzung zählt nicht als Akzeptanz. [Was vor dem Vertrauen in einen Ordner ausgeführt wird](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) vergleicht dies mit der Einstellungsdatei-Regel, und die Subagents-Seite listet auf, [welche Bereiche ausgenommen sind](https://code.claude.com/docs/de/sub-agents.md#hooks-in-subagent-frontmatter). Vor v2.1.218 konnten diese Hooks aus Ordnern ausgeführt werden, denen Sie nicht vertraut haben.682Frontmatter-Hooks in einem Projekt-Subagent werden nur ausgeführt, nachdem Sie den [Workspace-Trust-Dialog](https://code.claude.com/docs/de/permissions.md#project-allow-rules-and-workspace-trust) für den Ordner akzeptieren, aus dem die Agent-Datei stammt. Eine `-p`-Sitzung zählt nicht als Akzeptanz. [Was vor dem Vertrauen in einen Ordner ausgeführt wird](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) vergleicht dies mit der Einstellungsdatei-Regel, und die Subagents-Seite listet auf, [welche Bereiche ausgenommen sind](https://code.claude.com/docs/de/sub-agents.md#hooks-in-subagent-frontmatter).

683 683 

684#### Limits für Skill-Hooks684#### Limits für Skill-Hooks

685 685 


3196* **Command-Hooks** (`type: "command"`): Geben Sie den Pfad als letzte nicht leere Zeile auf stdout aus. Claude Code entfernt ANSI-Escape-Codes, bevor es diese Zeile liest, sodass Shell-Startbanner, die vor Ihrem `echo` ausgegeben werden, ignoriert werden. Leiten Sie jede andere Hook-Ausgabe nach stderr um.3196* **Command-Hooks** (`type: "command"`): Geben Sie den Pfad als letzte nicht leere Zeile auf stdout aus. Claude Code entfernt ANSI-Escape-Codes, bevor es diese Zeile liest, sodass Shell-Startbanner, die vor Ihrem `echo` ausgegeben werden, ignoriert werden. Leiten Sie jede andere Hook-Ausgabe nach stderr um.

3197* **HTTP-Hooks** (`type: "http"`): Geben Sie `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` im Response-Body zurück.3197* **HTTP-Hooks** (`type: "http"`): Geben Sie `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` im Response-Body zurück.

3198 3198 

3199Wenn der Hook fehlschlägt oder keinen Pfad liefert, schlägt die Worktree-Erstellung mit einem Fehler fehl.3199Wenn der Hook fehlschlägt oder keinen Pfad liefert, schlägt die Worktree-Erstellung mit einem Fehler fehl. Claude Code löst einen relativen Pfad relativ zu dem Verzeichnis auf, in dem der Hook ausgeführt wurde, und fasst dabei alle `.`- oder `..`-Segmente zusammen. Wenn der resultierende Pfad kein Verzeichnis ist, das Claude Code betreten kann, gibt die Sitzung einen Fehler mit dem Pfad aus und beendet sich mit Code 1.

3200 3200 

3201Claude Code löst einen relativen Pfad relativ zu dem Verzeichnis auf, in dem der Hook ausgeführt wurde, und fasst dabei alle `.`- oder `..`-Segmente zusammen. Wenn der resultierende Pfad kein Verzeichnis ist, das Claude Code betreten kann, gibt die Sitzung einen Fehler mit dem Pfad aus und wird mit Code 1 beendet.3201Claude Code lehnt einen absoluten Pfad ab, der `.`- oder `..`-Segmente enthält, sowie jeden Pfad, der unterhalb des Repository-Stammverzeichnisses durch einen Symlink führt. Der Fehler nennt die abgelehnte Komponente. Ein im Repository committeter Symlink könnte den Worktree nach außerhalb umleiten. Geben Sie einen normalisierten Pfad zurück, der nicht durch einen Symlink innerhalb des Repositorys führt.

3202 

3203Claude Code lehnt einen absoluten Pfad ab, der `.`- oder `..`-Segmente enthält, sowie jeden Pfad, der unterhalb des Repository-Stammverzeichnisses durch einen Symlink führt, da ein in das Repository committeter Symlink den Worktree nach außerhalb umleiten könnte. Der Fehler nennt die abgelehnte Komponente. Geben Sie einen normalisierten Pfad zurück, der nicht durch einen Symlink innerhalb des Repositorys führt. Vor v2.1.216 folgte die Worktree-Erstellung dem Pfad des Hooks ohne diese Prüfung.

3204 3202 

3205### WorktreeRemove3203### WorktreeRemove

3206 3204 


3228* **Hook wird mit 0 beendet**: Der Worktree gilt als entfernt. Claude Code liest nichts weiter vom Hook, stellen Sie also sicher, dass Ihr Hook das Verzeichnis gelöscht hat.3226* **Hook wird mit 0 beendet**: Der Worktree gilt als entfernt. Claude Code liest nichts weiter vom Hook, stellen Sie also sicher, dass Ihr Hook das Verzeichnis gelöscht hat.

3229* **Hook wird mit einem Wert ungleich 0 beendet**: Das Entfernen schlägt fehl, wenn das Verzeichnis unter `worktree_path` danach noch existiert, und der Worktree bleibt ohne Git-Fallback auf dem Datenträger. Ein Hook, der das Verzeichnis gelöscht hat, bevor er mit einem Wert ungleich 0 beendet wurde, gilt als entfernt. Wie der Fehler gemeldet wird, lesen Sie unter [WorktreeRemove-Eingabe](#worktreeremove-input).3227* **Hook wird mit einem Wert ungleich 0 beendet**: Das Entfernen schlägt fehl, wenn das Verzeichnis unter `worktree_path` danach noch existiert, und der Worktree bleibt ohne Git-Fallback auf dem Datenträger. Ein Hook, der das Verzeichnis gelöscht hat, bevor er mit einem Wert ungleich 0 beendet wurde, gilt als entfernt. Wie der Fehler gemeldet wird, lesen Sie unter [WorktreeRemove-Eingabe](#worktreeremove-input).

3230 3228 

3231Claude Code löscht nie einen Branch, der zu einem per Hook erstellten Worktree gehört, weil es nur den Pfad kennt, den Ihr WorktreeCreate-Hook zurückgegeben hat. Wenn Ihr WorktreeCreate-Hook einen Branch erstellt, löschen Sie ihn in Ihrem WorktreeRemove-Hook.3229Claude Code löscht niemals einen Branch, der zu einem per Hook erstellten Worktree gehört, weil es nur den Pfad kennt, den Ihr WorktreeCreate-Hook zurückgegeben hat. Wenn Ihr WorktreeCreate-Hook einen Branch erstellt, löschen Sie ihn in Ihrem WorktreeRemove-Hook. Claude Code verwirft die [JSON-Ausgabefelder](#json-output) eines WorktreeRemove-Hooks, etwa `systemMessage` und `continue`.

3232 

3233Claude Code verwirft die [JSON-Ausgabefelder](#json-output) eines WorktreeRemove-Hooks, etwa `systemMessage` und `continue`.

3234 3230 

3235Beim Löschen einer Hintergrundsitzung überprüft Claude Code den gespeicherten Worktree-Pfad, bevor es den Hook ausführt, und lehnt einen Pfad ab, der ein Symlink ist oder unterhalb des Repository-Stammverzeichnisses durch einen führt. Auf diesem Weg wird der Hook für einen Worktree, der noch Dateien enthält, nur ausgeführt, wenn Sie das Löschen in der [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md#what-deleting-a-session-removes) bestätigen; für einen solchen Worktree behält [`claude rm`](https://code.claude.com/docs/de/agent-view#manage-sessions-from-the-shell) stattdessen Sitzung und Worktree. Vor v2.1.216 wurde der Hook ohne diese Prüfungen auf dem gespeicherten Pfad ausgeführt.3231Beim Löschen einer Hintergrundsitzung überprüft Claude Code den gespeicherten Worktree-Pfad, bevor der Hook ausgeführt wird, und lehnt einen Pfad ab, der ein Symlink ist oder unterhalb des Repository-Stammverzeichnisses durch einen führt. Auf diesem Weg wird der Hook für einen Worktree, der noch Dateien enthält, nur ausgeführt, wenn Sie das Löschen in der [Agentenansicht](https://code.claude.com/docs/de/agent-view.md#what-deleting-a-session-removes) bestätigen. Für einen solchen Worktree behält [`claude rm`](https://code.claude.com/docs/de/agent-view#manage-sessions-from-the-shell) stattdessen Sitzung und Worktree.

3236 3232 

3237Claude Code übergibt den von WorktreeCreate zurückgegebenen Pfad als `worktree_path` in der Hook-Eingabe. Dieses Beispiel liest diesen Pfad und entfernt das Verzeichnis:3233Claude Code übergibt den von WorktreeCreate zurückgegebenen Pfad als `worktree_path` in der Hook-Eingabe. Dieses Beispiel liest diesen Pfad und entfernt das Verzeichnis:

3238 3234 

Details

174 174 

175## Effektiv mit Claude Code arbeiten175## Effektiv mit Claude Code arbeiten

176 176 

177Diese Tipps helfen Ihnen, bessere Ergebnisse von Claude Code zu erhalten. Weitere Informationen zu spezifischen Eingabeaufforderungen, Überprüfung und Planung finden Sie unter [Best Practices](https://code.claude.com/docs/de/best-practices.md).177Diese Tipps helfen Ihnen, bessere Ergebnisse von Claude Code zu erhalten. Weitere Informationen zu spezifischen Prompts, Überprüfung und den Regeln, die es sich lohnt durchzusetzen, statt sie per Prompt anzufordern, finden Sie unter [Best Practices](https://code.claude.com/docs/de/best-practices.md).

178 178 

179### Fragen Sie Claude Code um Hilfe179### Fragen Sie Claude Code um Hilfe

180 180 


190Claude Code ist konversativ. Sie benötigen keine perfekten Eingabeaufforderungen. Beginnen Sie mit dem, was Sie möchten, und verfeinern Sie dann:190Claude Code ist konversativ. Sie benötigen keine perfekten Eingabeaufforderungen. Beginnen Sie mit dem, was Sie möchten, und verfeinern Sie dann:

191 191 

192```text theme={null}192```text theme={null}

193Beheben Sie den Login-Fehler193Fix the login bug

194```194```

195 195 

196\[Claude untersucht, versucht etwas]196\[Claude untersucht, versucht etwas]

197 197 

198```text theme={null}198```text theme={null}

199Das ist nicht ganz richtig. Das Problem liegt in der Sitzungsverwaltung.199That's not quite right. The issue is in the session handling.

200```200```

201 201 

202\[Claude passt seinen Ansatz an]202\[Claude passt seinen Ansatz an]


215Denken Sie daran, an einen fähigen Kollegen zu delegieren. Geben Sie Kontext und Richtung, dann vertrauen Sie Claude, die Details herauszufinden:215Denken Sie daran, an einen fähigen Kollegen zu delegieren. Geben Sie Kontext und Richtung, dann vertrauen Sie Claude, die Details herauszufinden:

216 216 

217```text theme={null}217```text theme={null}

218Der Checkout-Fluss ist für Benutzer mit abgelaufenen Karten unterbrochen.218The checkout flow is broken for users with expired cards.

219Der relevante Code ist in src/payments/. Können Sie ihn untersuchen und beheben?219The relevant code is in src/payments/. Can you investigate and fix it?

220```220```

221 221 

222Sie müssen nicht angeben, welche Dateien zu lesen sind oder welche Befehle auszuführen sind. Claude findet das heraus.222Sie müssen nicht angeben, welche Dateien zu lesen sind oder welche Befehle auszuführen sind. Claude findet das heraus.

Details

92| `/` am Anfang | Befehl oder Fähigkeit | Siehe [Befehle](#commands) und [Fähigkeiten](https://code.claude.com/docs/de/skills.md) |92| `/` am Anfang | Befehl oder Fähigkeit | Siehe [Befehle](#commands) und [Fähigkeiten](https://code.claude.com/docs/de/skills.md) |

93| `!` am Anfang | Shell-Modus | Führen Sie einen Befehl direkt aus, fügen Sie seine Ausgabe zur Sitzung hinzu und lassen Sie Claude darauf antworten |93| `!` am Anfang | Shell-Modus | Führen Sie einen Befehl direkt aus, fügen Sie seine Ausgabe zur Sitzung hinzu und lassen Sie Claude darauf antworten |

94| `@` | Dateipfad-Erwähnung | Trigger-Dateipfad-Autovervollständigung. In Sitzungen mit [sitzungsübergreifendem Messaging](https://code.claude.com/docs/de/cross-session-messaging.md#message-another-session) schlägt Claude Code auch Ihre anderen Live-Sitzungen auf diesem Computer vor, wenn Sie mindestens einen Buchstaben nach dem `@` eingeben, damit Sie Claude mitteilen können, die ausgewählte zu benachrichtigen. Erfordert Claude Code v2.1.232 oder später |94| `@` | Dateipfad-Erwähnung | Trigger-Dateipfad-Autovervollständigung. In Sitzungen mit [sitzungsübergreifendem Messaging](https://code.claude.com/docs/de/cross-session-messaging.md#message-another-session) schlägt Claude Code auch Ihre anderen Live-Sitzungen auf diesem Computer vor, wenn Sie mindestens einen Buchstaben nach dem `@` eingeben, damit Sie Claude mitteilen können, die ausgewählte zu benachrichtigen. Erfordert Claude Code v2.1.232 oder später |

95| `:` | Emoji-Shortcode | Geben Sie ein vollständiges `:name:` ein, um das Emoji einzufügen, oder zwei oder mehr Zeichen für Vorschläge. Siehe [Emoji-Shortcodes](#emoji-shortcodes). Erfordert Claude Code v2.1.217 oder später |95| `:` | Emoji-Shortcode | Geben Sie ein vollständiges `:name:` ein, um das Emoji einzufügen, oder zwei oder mehr Zeichen für Vorschläge. Siehe [Emoji-Shortcodes](#emoji-shortcodes) |

96| `?` bei leerer Eingabe | Hilfepanel für Kürzel umschalten | Wenn Sie `?` eingeben, während die Eingabe bereits Text enthält, wird das Zeichen eingefügt |96| `?` bei leerer Eingabe | Hilfepanel für Kürzel umschalten | Wenn Sie `?` eingeben, während die Eingabe bereits Text enthält, wird das Zeichen eingefügt |

97 97 

98### Transkript-Viewer98### Transkript-Viewer


197 197 

198> [!NOTE]198> [!NOTE]

199>199>

200> Im Vim-NORMAL-Modus, wenn sich der Cursor am Anfang oder Ende der Eingabe befindet und nicht weiter bewegt werden kann, navigieren `j`/`k` und `↑`/`↓` stattdessen durch den Befehlsverlauf. `←` auf einer leeren Eingabeaufforderung öffnet die [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) sowohl im NORMAL- als auch im INSERT-Modus; vor v2.1.219 tat `←` auf einer leeren Eingabeaufforderung nichts im NORMAL-Modus.200> Im Vim-NORMAL-Modus, wenn sich der Cursor am Anfang oder Ende der Eingabe befindet und nicht weiter bewegt werden kann, navigieren `j`/`k` und `↑`/`↓` stattdessen durch den Befehlsverlauf. `←` auf einer leeren Eingabeaufforderung öffnet die [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) sowohl im NORMAL- als auch im INSERT-Modus.

201 201 

202### Bearbeitung (NORMAL-Modus)202### Bearbeitung (NORMAL-Modus)

203 203 


396Claude Code führt einige Befehle sofort nach dem Senden aus, anstatt sie einzureihen, darunter `/model`, `/effort` und `/fast`. Jeder der drei ändert eine Einstellung: das Modell, die Effort-Stufe oder den Fast-Modus. Ob Claude Code die neue Einstellung auf den Turn anwendet, an dem Claude bereits arbeitet, oder erst ab dem nächsten Turn, unterscheidet sich je nach Befehl:396Claude Code führt einige Befehle sofort nach dem Senden aus, anstatt sie einzureihen, darunter `/model`, `/effort` und `/fast`. Jeder der drei ändert eine Einstellung: das Modell, die Effort-Stufe oder den Fast-Modus. Ob Claude Code die neue Einstellung auf den Turn anwendet, an dem Claude bereits arbeitet, oder erst ab dem nächsten Turn, unterscheidet sich je nach Befehl:

397 397 

398* [`/model`](https://code.claude.com/docs/de/model-config#setting-your-model): Nachdem Sie die [Cache-Warnung](https://code.claude.com/docs/de/prompt-caching.md#switching-models) bestätigt haben, falls Claude Code eine anzeigt, wendet Claude Code Ihre Änderung auf die nächste Anfrage an, die es in diesem Turn stellt398* [`/model`](https://code.claude.com/docs/de/model-config#setting-your-model): Nachdem Sie die [Cache-Warnung](https://code.claude.com/docs/de/prompt-caching.md#switching-models) bestätigt haben, falls Claude Code eine anzeigt, wendet Claude Code Ihre Änderung auf die nächste Anfrage an, die es in diesem Turn stellt

399* [`/effort`](https://code.claude.com/docs/de/model-config#adjust-effort-level): Nachdem Sie die [Cache-Warnung](https://code.claude.com/docs/de/prompt-caching.md#changing-effort-level) bestätigt haben, falls Claude Code eine anzeigt, wendet Claude Code Ihre Änderung auf die nächste Anfrage an, die es in diesem Turn stellt399* `/effort`: Die nächste Nachricht, die Sie senden, läuft mit der neuen Stufe. Um [sie in dem Turn zu starten, an dem Claude bereits arbeitet](https://code.claude.com/docs/de/model-config.md#when-a-new-effort-level-starts), reihen Sie eine Nachricht ein, während Claude Tool-Aufrufe ausführt

400* [`/fast`](https://code.claude.com/docs/de/fast-mode#toggle-fast-mode): Claude Code behält die Fast-Modus-Einstellung bei, die beim Start des Turns aktiv war, sodass Ihre Geschwindigkeitsänderung ab dem nächsten Turn gilt. Wenn Ihr aktuelles Modell den Fast-Modus nicht unterstützt, wird durch das Aktivieren auch [Ihr Modell gewechselt](https://code.claude.com/docs/de/prompt-caching.md#turning-on-fast-mode), und Claude Code verwendet das neue Modell ab seiner nächsten Anfrage in diesem Turn400* [`/fast`](https://code.claude.com/docs/de/fast-mode#toggle-fast-mode): Claude Code behält die Fast-Modus-Einstellung bei, die beim Start des Turns aktiv war, sodass Ihre Geschwindigkeitsänderung ab dem nächsten Turn gilt. Wenn Ihr aktuelles Modell den Fast-Modus nicht unterstützt, wird durch das Aktivieren auch [Ihr Modell gewechselt](https://code.claude.com/docs/de/prompt-caching.md#turning-on-fast-mode), und Claude Code verwendet das neue Modell ab seiner nächsten Anfrage in diesem Turn

401 401 

402### Eine Sitzung mit eingereihten Nachrichten in den Hintergrund verschieben402### Eine Sitzung mit eingereihten Nachrichten in den Hintergrund verschieben


513 513 

514## Emoji-Kurzcodes514## Emoji-Kurzcodes

515 515 

516Geben Sie einen `:` gefolgt von einem Emoji-Kurzcode in die Eingabeaufforderung ein, um das Emoji einzufügen. Erfordert Claude Code v2.1.217 oder später.516Geben Sie einen `:` gefolgt von einem Emoji-Kurzcode in das Prompt-Eingabefeld ein, um das Emoji einzufügen.

517 517 

518* Geben Sie einen vollständigen Kurzcode wie `:heart:` ein, und Claude Code ersetzt ihn mit ❤️ sobald Sie den schließenden `:` eingeben518* Geben Sie einen vollständigen Kurzcode wie `:heart:` ein, und Claude Code ersetzt ihn mit ❤️ sobald Sie den schließenden `:` eingeben

519* Geben Sie `:` plus mindestens zwei Zeichen eines Namens ein, z. B. `:hea`, um ein Vorschlagsfenster zu öffnen, und drücken Sie dann `Tab` oder `Enter`, um das hervorgehobene Emoji einzufügen519* Geben Sie `:` plus mindestens zwei Zeichen eines Namens ein, z. B. `:hea`, um ein Vorschlagsfenster zu öffnen, und drücken Sie dann `Tab` oder `Enter`, um das hervorgehobene Emoji einzufügen

Details

31 31 

32> [!TIP]32> [!TIP]

33>33>

34> Für Workflow-Techniken, die den Kontext in jedem Repository klein halten, wie z. B. [Exploration in einem Subagenten ausführen](https://code.claude.com/docs/de/best-practices.md#use-subagents-for-investigation), damit Dateileseoperationen aus der Hauptkonversation herausbleiben, siehe [Best Practices für Claude Code](https://code.claude.com/docs/de/best-practices.md). Um eine Baseline-Konfiguration für jeden Entwickler in Ihrer Organisation bereitzustellen, siehe [Claude Code für Ihre Organisation einrichten](https://code.claude.com/docs/de/admin-setup.md).34> Workflow-Techniken, die den Kontext in jedem Repository klein halten, finden Sie unter [Best Practices für Claude Code](https://code.claude.com/docs/de/best-practices.md). Ein Beispiel ist das [Ausführen der Exploration in einem Subagenten](https://code.claude.com/docs/de/best-practices.md#know-what-subagents-cost), damit Dateileseoperationen aus der Hauptkonversation herausbleiben. Um eine Baseline-Konfiguration für jeden Entwickler in Ihrer Organisation bereitzustellen, siehe [Claude Code für Ihre Organisation einrichten](https://code.claude.com/docs/de/admin-setup.md).

35 35 

36### Das Beispiel-Monorepo36### Das Beispiel-Monorepo

37 37 


158Die Deny-Regeln können alle im Repository arbeitenden Personen, nur Sie oder jede Sitzung auf dem Computer abdecken, je nachdem, in welche Einstellungsdatei Sie sie einfügen:158Die Deny-Regeln können alle im Repository arbeitenden Personen, nur Sie oder jede Sitzung auf dem Computer abdecken, je nachdem, in welche Einstellungsdatei Sie sie einfügen:

159 159 

160* **Alle, die im Repository arbeiten**: Committen Sie die Regeln zu `.claude/settings.json` im Repository-Root, wenn Sie Claude dort starten, oder in jedem Paket `.claude/`, wenn Sie von Unterverzeichnissen starten. Wie andere Projekteinstellungen auf dieser Seite wird diese Datei nicht von übergeordneten Verzeichnissen geerbt.160* **Alle, die im Repository arbeiten**: Committen Sie die Regeln zu `.claude/settings.json` im Repository-Root, wenn Sie Claude dort starten, oder in jedem Paket `.claude/`, wenn Sie von Unterverzeichnissen starten. Wie andere Projekteinstellungen auf dieser Seite wird diese Datei nicht von übergeordneten Verzeichnissen geerbt.

161* **Nur Sie selbst**: Verwenden Sie `.claude/settings.local.json` im Repository-Root, das in jeder CLI-Sitzung innerhalb des Repositorys geladen wird, unabhängig vom Startverzeichnis, außer in Fällen, in denen Claude Code [den Repository-Root nicht verwendet](https://code.claude.com/docs/de/settings.md#where-claude-code-looks-for-each-file), wie auf Windows. Relative Muster wie das Beispiel `Read(./**/vendor/**/*)` [verankern immer noch am aktuellen Arbeitsverzeichnis der Sitzung](https://code.claude.com/docs/de/permissions.md#read-and-edit) statt am Repository-Root. Wenn Sie Sitzungen von Unterverzeichnissen starten, schreiben Sie die Regeln in dieser Datei als `//`-absolute Pfade, wie `Read(//absolute/path/to/repo/**/vendor/**/*)`. Vor v2.1.211 wurde `.claude/settings.local.json` auch nur aus dem Startverzeichnis geladen.161* **Nur Sie selbst**: Verwenden Sie `.claude/settings.local.json` im Repository-Root. Diese Datei wird in jeder CLI-Sitzung innerhalb des Repositorys geladen, unabhängig vom Startverzeichnis, außer in Fällen, in denen Claude Code [den Repository-Root nicht verwendet](https://code.claude.com/docs/de/settings.md#where-claude-code-looks-for-each-file), wie auf Windows.

162 

163 Relative Muster wie das Beispiel `Read(./**/vendor/**/*)` [verankern immer noch am aktuellen Arbeitsverzeichnis der Sitzung](https://code.claude.com/docs/de/permissions.md#read-and-edit) statt am Repository-Root. Wenn Sie Sitzungen von Unterverzeichnissen starten, schreiben Sie die Regeln in dieser Datei als `//`-absolute Pfade, wie `Read(//absolute/path/to/repo/**/vendor/**/*)`.

162* **Alle, erzwungen in jeder Sitzung**: Setzen Sie die Regeln in [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md), die Benutzer- und Projekteinstellungen nicht überschreiben können.164* **Alle, erzwungen in jeder Sitzung**: Setzen Sie die Regeln in [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md), die Benutzer- und Projekteinstellungen nicht überschreiben können.

163 165 

164Das Beispiel unten blockiert Build-Artefakte und ein Vendor-SDK. Seine Verzeichnismuster enden mit `/**/*` statt `/**`, sodass jede Regel alles im Verzeichnis abdeckt, aber nicht das Verzeichnis selbst. Claude kann diese Verzeichnisse dann immer noch auflisten oder in sie wechseln, beispielsweise mit `ls dist` oder `cd build`.166Das Beispiel unten blockiert Build-Artefakte und ein Vendor-SDK. Seine Verzeichnismuster enden mit `/**/*` statt `/**`, sodass jede Regel alles im Verzeichnis abdeckt, aber nicht das Verzeichnis selbst. Claude kann diese Verzeichnisse dann immer noch auflisten oder in sie wechseln, beispielsweise mit `ls dist` oder `cd build`.


376Verschieben Sie Konventionen und Referenzmaterial aus immer geladenem CLAUDE.md in Mechanismen, die bei Bedarf geladen werden:378Verschieben Sie Konventionen und Referenzmaterial aus immer geladenem CLAUDE.md in Mechanismen, die bei Bedarf geladen werden:

377 379 

378* [Skills](https://code.claude.com/docs/de/skills.md): Referenzmaterial, das Claude nur lädt, wenn es für die Aufgabe relevant ist380* [Skills](https://code.claude.com/docs/de/skills.md): Referenzmaterial, das Claude nur lädt, wenn es für die Aufgabe relevant ist

379* [Plugins](https://code.claude.com/docs/de/plugins/overview.md): Versionierte Bundles von Skills, Hooks und Befehlen, die ein Platform-Team zentral besitzt381* [Plugins](https://code.claude.com/docs/de/plugins/overview.md): Versionierte Bundles von Skills, Hooks und Befehlen, die ein Platform-Team zentral besitzt und [über verwaltete Einstellungen für alle installieren kann](https://code.claude.com/docs/de/plugins/org.md#pre-install-and-require-plugins)

380* [MCP-Server](https://code.claude.com/docs/de/mcp.md): Wenn Ihre Organisation bereits eine Code-Suche oder RAG-Index über das Repository ausführt, stellen Sie es als MCP-Tool zur Verfügung, damit Claude es abfragt, anstatt Dateien direkt zu lesen382* [MCP-Server](https://code.claude.com/docs/de/mcp.md): Wenn Ihre Organisation bereits eine Code-Suche oder RAG-Index über das Repository ausführt, stellen Sie es als MCP-Tool zur Verfügung, damit Claude es abfragt, anstatt Dateien direkt zu lesen

381 383 

382Siehe [Server-verwaltete oder Endpoint-verwaltete Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md#choose-between-server-managed-and-endpoint-managed-settings) für wie Platform-Teams diese zentral durchsetzen können.384Siehe [Server-verwaltete oder Endpoint-verwaltete Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md#choose-between-server-managed-and-endpoint-managed-settings) für wie Platform-Teams diese zentral durchsetzen können.


465Zwei Techniken helfen, eine Paket-übergreifende Änderung konsistent zu halten:467Zwei Techniken helfen, eine Paket-übergreifende Änderung konsistent zu halten:

466 468 

467* **Geben Sie Claude die ganze Änderung in einer Sitzung**: Das Übergeben der gemeinsamen Bearbeitung und ihrer Call-Sites zusammen hält die Entscheidungen hinter jeder Bearbeitung konsistent, anstatt sie pro Paket neu abzuleiten469* **Geben Sie Claude die ganze Änderung in einer Sitzung**: Das Übergeben der gemeinsamen Bearbeitung und ihrer Call-Sites zusammen hält die Entscheidungen hinter jeder Bearbeitung konsistent, anstatt sie pro Paket neu abzuleiten

468* **Planen Sie zuerst, bevor Sie bearbeiten**: [Planen Sie zuerst](https://code.claude.com/docs/de/best-practices.md#explore-first-then-plan-then-code) im [Plan Mode](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode), und Claude schreibt den Plan in eine Datei. Eine lange Paket-übergreifende Sitzung [komprimiert ihren Kontext](https://code.claude.com/docs/de/context-window.md#what-survives-compaction) unterwegs. Claude Code injiziert die Plan-Datei nach jeder Komprimierung erneut ein, sodass der Plan überlebt, wo Konversationsverlauf möglicherweise nicht.470* **Planen Sie, bevor Sie bearbeiten**: Planen Sie zuerst im [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode), und Claude schreibt den Plan in eine Datei. Eine lange paketübergreifende Sitzung [komprimiert ihren Kontext](https://code.claude.com/docs/de/context-window.md#what-survives-compaction) im Verlauf. Claude Code fügt die Plan-Datei nach jeder Komprimierung erneut ein, sodass der Plan erhalten bleibt, wo der Konversationsverlauf dies möglicherweise nicht tut

469 471 

470## Nächste Schritte472## Nächste Schritte

471 473 

Details

361 361 

362Das Gateway trägt Modellanfragen, aber Claude Code sendet auch nicht wesentlichen Hintergrund-Datenverkehr außerhalb des Gateway-Pfads an Anthropic und an Drittanbieter-Services wie GitHub: Versionsüberprüfungen, Telemetrie, Versionshinweise und ähnliche Anfragen. In einem Netzwerk, das nur Egress zum Gateway zulässt, schlagen diese Anfragen fehl und können als blockierte Verbindungen in Ihrer Egress-Überwachung angezeigt werden.362Das Gateway trägt Modellanfragen, aber Claude Code sendet auch nicht wesentlichen Hintergrund-Datenverkehr außerhalb des Gateway-Pfads an Anthropic und an Drittanbieter-Services wie GitHub: Versionsüberprüfungen, Telemetrie, Versionshinweise und ähnliche Anfragen. In einem Netzwerk, das nur Egress zum Gateway zulässt, schlagen diese Anfragen fehl und können als blockierte Verbindungen in Ihrer Egress-Überwachung angezeigt werden.

363 363 

364Claude Code fügt eine Anmeldedaten an eine Telemetrie- oder Nutzungsmetriken-Anfrage nur an, wenn die Anfrage an den Host geht, zu dem die Anmeldedaten gehört. Während `ANTHROPIC_BASE_URL` auf das Gateway verweist, sendet Claude Code seine Telemetrie-Ereignisse an Anthropic ohne Ihre Gateway-Anmeldedaten. Mit einer [Anmeldedaten-Variable](#set-the-credential-variable) oder `apiKeyHelper` auch aktiv, meldet Claude Code Nutzungsmetriken nicht an das Console-[Analytics-Dashboard](https://code.claude.com/docs/de/analytics.md#access-analytics-for-api-customers). Vor v2.1.246 konnte Claude Code die Gateway-Anmeldedaten an Telemetrie- und Nutzungsmetriken-Anfragen anhängen, die an Anthropic-Hosts gebunden sind; Modellanfragen gingen immer an das Gateway mit den Anmeldedaten, die das Gateway erwartet.

365 

366Um diesen Datenverkehr auszuschalten, legen Sie `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` neben den Gateway-Variablen fest, im gleichen Shell-Export oder im `env`-Block der Einstellungsdatei:364Um diesen Datenverkehr auszuschalten, legen Sie `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` neben den Gateway-Variablen fest, im gleichen Shell-Export oder im `env`-Block der Einstellungsdatei:

367 365 

368**Bash oder Zsh**366**Bash oder Zsh**

mcp.md +9 −3

Details

84 84 

85Nur eine SDK-Host-Anwendung, wie eine [Agent SDK](https://code.claude.com/docs/de/agent-sdk/mcp.md)-Anwendung oder die [Desktop-App](https://code.claude.com/docs/de/desktop.md), kann einen In-Process-Server vom Typ `"type": "sdk"` registrieren. Claude Code überspringt einen `"type": "sdk"`-Eintrag in `.mcp.json`, `~/.claude.json` oder Einstellungen und meldet `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`.85Nur eine SDK-Host-Anwendung, wie eine [Agent SDK](https://code.claude.com/docs/de/agent-sdk/mcp.md)-Anwendung oder die [Desktop-App](https://code.claude.com/docs/de/desktop.md), kann einen In-Process-Server vom Typ `"type": "sdk"` registrieren. Claude Code überspringt einen `"type": "sdk"`-Eintrag in `.mcp.json`, `~/.claude.json` oder Einstellungen und meldet `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`.

86 86 

87Bei `--output-format stream-json`-Läufen meldet Claude Code auch einen übersprungenen `--mcp-config`-Eintrag im [`mcp_server_errors`-Feld](https://code.claude.com/docs/de/headless#stream-responses) des `system/init`-Events, sodass Skripte erkennen können, dass der Server nie geladen wurde. Dies erfordert Claude Code v2.1.219 oder später.87> [!NOTE]

88>

89> Bei Ausführungen mit `--output-format stream-json` meldet Claude Code einen übersprungenen `--mcp-config`-Eintrag zusätzlich im [Feld `mcp_server_errors`](https://code.claude.com/docs/de/headless#stream-responses) des `system/init`-Ereignisses, sodass Skripte erkennen können, dass der Server nie geladen wurde.

88 90 

89### Option 2: Einen Remote-SSE-Server hinzufügen91### Option 2: Einen Remote-SSE-Server hinzufügen

90 92 


250 252 

251Die Statuse in dieser Liste melden eine Konfigurationsentscheidung statt eines Verbindungsversuchs, daher gibt Claude Code sie aus, ohne sich mit dem Server zu verbinden:253Die Statuse in dieser Liste melden eine Konfigurationsentscheidung statt eines Verbindungsversuchs, daher gibt Claude Code sie aus, ohne sich mit dem Server zu verbinden:

252 254 

253* ``⏸ Pending approval (run `claude` to approve)``: ein projektbezogener Server aus `.mcp.json`, den Sie noch nicht genehmigt haben. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>` an. Führen Sie `claude` interaktiv aus, um ihn zu prüfen und zu genehmigen.255* ``⏸ Pending approval (run `claude` to approve)``: ein Server mit Projekt-Geltungsbereich aus `.mcp.json`, den Sie noch nicht genehmigt haben. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>` an. Führen Sie `claude` interaktiv aus, um ihn zu prüfen und zu genehmigen.

254* `✘ Rejected (see disabledMcpjsonServers in settings)`: ein `.mcp.json`-Server, den ein [`disabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#disabledmcpjsonservers)-Eintrag ablehnt. Claude Code zeigt ihn nur in `claude mcp get <name>`.256* `✘ Rejected (see disabledMcpjsonServers in settings)`: ein `.mcp.json`-Server, den ein [`disabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#disabledmcpjsonservers)-Eintrag ablehnt. Claude Code zeigt ihn nur in `claude mcp get <name>`.

255* `⊘ Disabled for this project (re-enable via /mcp)`: ein Server, den die [`disabledMcpServers`](#disable-a-server-without-removing-it)-Liste des Projekts nennt. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>`. Schalten Sie den Server über das `/mcp`-Panel wieder ein.257* `⊘ Disabled for this project (re-enable via /mcp)`: ein Server, den die [`disabledMcpServers`](#disable-a-server-without-removing-it)-Liste des Projekts nennt. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>`. Schalten Sie den Server über das `/mcp`-Panel wieder ein.

256 258 


276 278 

277Wenn Sie **Disable** oder **Clear authentication** aus dem Menü eines Servers in `/mcp` auswählen, verwirft Claude Code auch den Cache-Eintrag dieses Servers. **Reconnect** verwirft ihn auch auf einem verbundenen oder fehlgeschlagenen Server; auf einem `cached`-Server verbindet **Reconnect** den Server jetzt und behält den Eintrag. Das nächste Mal, wenn Claude Code sich mit dem Server verbindet, nachdem der Eintrag verworfen wurde, ruft es die Werkzeugliste vom Server ab, anstatt sie aus dem Cache zu holen.279Wenn Sie **Disable** oder **Clear authentication** aus dem Menü eines Servers in `/mcp` auswählen, verwirft Claude Code auch den Cache-Eintrag dieses Servers. **Reconnect** verwirft ihn auch auf einem verbundenen oder fehlgeschlagenen Server; auf einem `cached`-Server verbindet **Reconnect** den Server jetzt und behält den Eintrag. Das nächste Mal, wenn Claude Code sich mit dem Server verbindet, nachdem der Eintrag verworfen wurde, ruft es die Werkzeugliste vom Server ab, anstatt sie aus dem Cache zu holen.

278 280 

279Wenn der Status eines Servers `✘ Failed to connect` ist, hängt `claude mcp list` das Fehlerdetail an diese Statuszeile an, und `claude mcp get <name>` zeigt es auf einer `Issue:`-Zeile: der HTTP-Status oder Fehlercode, plus jeder Fehlertext, den der Server zurückgegeben hat. Die Detailansicht des Servers in `/mcp` enthält denselben vom Server gemeldeten Text in seiner `Issue:`-Zeile. Claude Code redigiert anmeldungsähnlichen Text aus diesem Detail und enthält niemals die erweiterte Server-URL, die Geheimnisse tragen kann. Claude Code hängt kein Detail an einen `✘ Connection error`-Status an, da der Ausnahmetext, den es dort ausgeben würde, diese URL einbetten kann. Vor v2.1.219 zeigten beide Befehle nur den bloßen Fehlerstatus ohne Statuscode oder Fehlertext des Servers.281##### Verbindungsfehler und nicht konfigurierte Server

282 

283Wenn der Status eines Servers `✘ Failed to connect` lautet, hängt `claude mcp list` die Fehlerdetails an diese Statuszeile an, und `claude mcp get <name>` zeigt sie in einer Zeile `Issue:` an. Die Details sind der HTTP-Status oder Fehlercode sowie jeglicher Fehlertext, den der Server zurückgegeben hat. Die Detailansicht des Servers in `/mcp` enthält denselben vom Server gemeldeten Text in ihrer Zeile `Issue:`.

284 

285Claude Code entfernt anmeldedatenähnlichen Text aus diesen Details und schließt nie die expandierte Server-URL ein, die Geheimnisse enthalten kann. An einen Status `✘ Connection error` hängt Claude Code keine Details an, da der Ausnahmetext, den es dort ausgeben würde, diese URL enthalten kann.

280 286 

281Wenn Sie die Authentifizierung von `/mcp` aus abschließen und die Verbindung immer noch mit einem HTTP-Status oder einem Transportfehlercode fehlschlägt, fügt Claude Code diesen Code und den Ursprung der Server-URL zur Meldung hinzu, die es nach dem Versuch ausgibt. Der Ursprung ist das Schema und der Host, plus der Port, wenn die URL einen nennt, wie `https://mcp.example.com`.287Wenn Sie die Authentifizierung von `/mcp` aus abschließen und die Verbindung immer noch mit einem HTTP-Status oder einem Transportfehlercode fehlschlägt, fügt Claude Code diesen Code und den Ursprung der Server-URL zur Meldung hinzu, die es nach dem Versuch ausgibt. Der Ursprung ist das Schema und der Host, plus der Port, wenn die URL einen nennt, wie `https://mcp.example.com`.

282 288 

memory.md +2 −2

Details

237 237 

238Jede Klammer-Gruppe multipliziert die Anzahl der erweiterten Muster: `src/*.{ts,tsx}` wird zu zwei Mustern erweitert, und `{a,b}/{c,d}/*.{ts,tsx}` zu acht. Um die Erweiterung begrenzt zu halten, teilt sich eine ganze `paths`-Liste einer Regel ein Budget von 1.000 erweiterten Mustern und 4 MiB, und Muster ohne Klammern zählen nicht dagegen.238Jede Klammer-Gruppe multipliziert die Anzahl der erweiterten Muster: `src/*.{ts,tsx}` wird zu zwei Mustern erweitert, und `{a,b}/{c,d}/*.{ts,tsx}` zu acht. Um die Erweiterung begrenzt zu halten, teilt sich eine ganze `paths`-Liste einer Regel ein Budget von 1.000 erweiterten Mustern und 4 MiB, und Muster ohne Klammern zählen nicht dagegen.

239 239 

240Claude Code verwendet jedes Muster, das das Budget unerweitert überschreiten würde, und seine literalen Klammern passen zu keinen Dateien. Vor v2.1.217 brachte ein `paths`-Wert mit vielen Klammer-Gruppen die CLI beim Start zum Stillstand oder zum Absturz.240Claude Code verwendet jedes Muster, das das Budget unerweitert überschreiten würde, und seine literalen Klammern passen zu keinen Dateien.

241 241 

242Die Glob-Syntax behandelt `[` als den Anfang eines Klammer-Ausdrucks wie `[abc]`. Ein Muster mit einem `[`, das nicht als Klammer-Ausdruck gelesen werden kann, wie `photos [2024/**`, ist ungültig: es passt zu nichts, und die anderen Muster der Regel funktionieren weiterhin. Um ein literales `[` in einem Dateinamen zu vergleichen, maskieren Sie es als `photos \[2024/**`.242Die Glob-Syntax behandelt `[` als den Anfang eines Klammer-Ausdrucks wie `[abc]`. Ein Muster mit einem `[`, das nicht als Klammer-Ausdruck gelesen werden kann, wie `photos [2024/**`, ist ungültig: es passt zu nichts, und die anderen Muster der Regel funktionieren weiterhin. Um ein literales `[` in einem Dateinamen zu vergleichen, maskieren Sie es als `photos \[2024/**`.

243 243 


568 568 

569Der Befehl `/memory` listet Ihre CLAUDE.md, CLAUDE.local.md und andere Speicherdateien an verschiedenen Orten im Benutzer- und Projektbereich auf, einschließlich Benutzer- und Projekt-CLAUDE.md-Einträge für Dateien, die noch nicht existieren. Er ermöglicht es Ihnen auch, Auto-Memory ein- oder auszuschalten, und bietet eine Option zum Öffnen des Auto-Memory-Ordners. Wählen Sie eine beliebige Datei aus, um sie in Ihrem Editor zu öffnen; wenn Sie eine Datei auswählen, die noch nicht existiert, wird sie zuerst erstellt. Um zu überprüfen, welche `CLAUDE.md`- und Regeldateien beim Start geladen wurden, führen Sie `/context` aus.569Der Befehl `/memory` listet Ihre CLAUDE.md, CLAUDE.local.md und andere Speicherdateien an verschiedenen Orten im Benutzer- und Projektbereich auf, einschließlich Benutzer- und Projekt-CLAUDE.md-Einträge für Dateien, die noch nicht existieren. Er ermöglicht es Ihnen auch, Auto-Memory ein- oder auszuschalten, und bietet eine Option zum Öffnen des Auto-Memory-Ordners. Wählen Sie eine beliebige Datei aus, um sie in Ihrem Editor zu öffnen; wenn Sie eine Datei auswählen, die noch nicht existiert, wird sie zuerst erstellt. Um zu überprüfen, welche `CLAUDE.md`- und Regeldateien beim Start geladen wurden, führen Sie `/context` aus.

570 570 

571GUI-Editoren wie VS Code öffnen die Datei in einem separaten Fenster, und Sie können die Sitzung weiterhin nutzen, während sie offen ist. Vor v2.1.216 wartete `/memory` darauf, dass Sie die Datei schließen, bevor es antwortete. Terminal-Editoren wie Vim übernehmen das Terminal, bis Sie es beenden.571GUI-Editoren wie VS Code öffnen die Datei in einem separaten Fenster, und Sie können die Sitzung weiterhin nutzen, während sie offen ist. Terminal-Editoren wie Vim übernehmen das Terminal, bis Sie es beenden.

572 572 

573Wenn Sie Claude bitten, sich etwas zu merken, wie „immer pnpm verwenden, nicht npm“ oder „denken Sie daran, dass die API-Tests eine lokale Redis-Instanz erfordern“, speichert Claude es in Auto-Memory. Um Anweisungen stattdessen zu CLAUDE.md hinzuzufügen, bitten Sie Claude direkt, wie „fügen Sie dies zu CLAUDE.md hinzu“, oder bearbeiten Sie die Datei selbst über `/memory`.573Wenn Sie Claude bitten, sich etwas zu merken, wie „immer pnpm verwenden, nicht npm“ oder „denken Sie daran, dass die API-Tests eine lokale Redis-Instanz erfordern“, speichert Claude es in Auto-Memory. Um Anweisungen stattdessen zu CLAUDE.md hinzuzufügen, bitten Sie Claude direkt, wie „fügen Sie dies zu CLAUDE.md hinzu“, oder bearbeiten Sie die Datei selbst über `/memory`.

574 574 

model-config.md +21 −4

Details

542In Fällen wie diesen gilt eine andere Stufe:542In Fällen wie diesen gilt eine andere Stufe:

543 543 

544* **Ihre eigene Änderung**: Sobald Sie eine Effort-Stufe wählen, ein Modell in `/model` auswählen oder die Sitzung später fortsetzen, wird die Stufe der gekennzeichneten Anfrage nicht mehr übernommen.544* **Ihre eigene Änderung**: Sobald Sie eine Effort-Stufe wählen, ein Modell in `/model` auswählen oder die Sitzung später fortsetzen, wird die Stufe der gekennzeichneten Anfrage nicht mehr übernommen.

545* **Skill-Effort**: Eine Stufe, die das `effort`-Frontmatter eines Skills für die gekennzeichnete Anfrage festgelegt hat, gilt für diesen Turn, und spätere Turns laufen mit der Stufe, die die [Effort-Auflösungsreihenfolge](#adjust-effort-level) für das Fallback-Modell ergibt.545* **Für einen Turn festgelegter Effort**: Wenn Sie den gekennzeichneten Turn mit `ultrathink` angehoben haben oder das `effort`-Frontmatter eines Skills seine Stufe festgelegt hat, gilt diese Stufe für diesen Turn. Spätere Turns laufen mit der Stufe, die die [Effort-Auflösungsreihenfolge](#adjust-effort-level) für das Fallback-Modell ergibt.

546 546 

547Führen Sie in der Sitzung `/effort status` aus, um die geltende Stufe zu sehen, oder `/effort`, um sie zu ändern.547Führen Sie in der Sitzung `/effort status` aus, um die geltende Stufe zu sehen, oder `/effort`, um sie zu ändern.

548 548 


674 674 

675#### Verwenden Sie Ultrathink für einmalige tiefe Überlegungen675#### Verwenden Sie Ultrathink für einmalige tiefe Überlegungen

676 676 

677Fügen Sie `ultrathink` an beliebiger Stelle in Ihren Prompt ein, um tiefere Überlegungen für diesen Turn anzufordern, ohne Ihre Effort-Einstellung für die Sitzung zu ändern. Claude Code erkennt das Schlüsselwort und fügt eine In-Context-Anweisung hinzu. Die an die API gesendete Effort-Stufe bleibt unverändert. Claude Code leitet andere Phrasen wie "think", "think hard" und "think more" als gewöhnlichen Prompt-Text weiter und erkennt sie nicht als Schlüsselwörter.677Fügen Sie `ultrathink` an beliebiger Stelle in Ihren Prompt ein, um tiefere Überlegungen für diesen Turn anzufordern, ohne Ihre Effort-Einstellung für die Sitzung zu ändern. Claude Code erkennt das Schlüsselwort und fügt eine In-Context-Anweisung hinzu. Claude Code leitet andere Phrasen wie "think", "think hard" und "think more" als gewöhnlichen Prompt-Text weiter und erkennt sie nicht als Schlüsselwörter.

678 

679Im Eingabefeld des Terminals eingegeben, kann das Wort diesen Turn außerdem auf `xhigh` Effort anheben. Wenn das möglich ist, wird das Wort in Regenbogenfarben angezeigt. Erfordert Claude Code v2.1.311 oder später. Wenn das Wort beim Start eines neuen Turns nicht in Regenbogenfarben erscheint, versuchen Sie eine der folgenden Möglichkeiten:

680 

681* Geben Sie es erneut außerhalb von Elementen wie Anführungszeichen, Klammern, einem Pfad oder einem Befehl ein, in einem Prompt, der nicht mit `/` beginnt

682* Entfernen Sie `CLAUDE_CODE_EFFORT_LEVEL`, wenn die Variable unter `xhigh` gesetzt ist, erhöhen Sie Ihr eigenes [`maxEffortLevel`](https://code.claude.com/docs/de/settings-reference#maxeffortlevel) auf `xhigh` oder höher, oder bitten Sie einen Admin Ihrer Organisation, das [Limit Ihrer Organisation](#organization-effort-limits) anzuheben

683* Führen Sie `/model` in Ihrer Sitzung aus, um zu einem Opus 5.5-, Sonnet 5.5-, Haiku 5.5- oder Fable 5.1-Modell zu wechseln. Wo das Wort einen Turn nicht anheben kann, etwa auf Amazon Bedrock, [stellen Sie stattdessen die Effort-Stufe ein](#set-the-effort-level)

678 684 

679#### Stellen Sie die Effort-Stufe ein685#### Stellen Sie die Effort-Stufe ein

680 686 

681Sie können den Effort auf eine der folgenden Arten ändern:687Sie können den Effort auf eine der folgenden Arten ändern:

682 688 

683* **`/effort`**: Führen Sie `/effort` ohne Argumente aus, um einen interaktiven Slider zu öffnen, `/effort` gefolgt von einem Stufennamen, um sie direkt einzustellen, oder `/effort auto`, um Ihre gespeicherte Stufe für das aktive Modell zu löschen. Sie können es ausführen, während Claude arbeitet, und sobald Sie die [Cache-Warnung](https://code.claude.com/docs/de/prompt-caching.md#changing-effort-level) bestätigen, falls Claude Code eine anzeigt, wendet Claude Code die neue Stufe auf die nächste Anfrage im Turn an689* **`/effort`**: Führen Sie `/effort` ohne Argumente aus, um einen interaktiven Slider zu öffnen, `/effort` gefolgt von einem Stufennamen, um sie direkt einzustellen, oder `/effort auto`, um Ihre gespeicherte Stufe für das aktive Modell zu löschen

684* **In `/model`**: Verwenden Sie die Pfeiltasten links/rechts, um den Effort-Slider anzupassen, wenn Sie ein Modell auswählen690* **In `/model`**: Verwenden Sie die Pfeiltasten links/rechts, um den Effort-Slider anzupassen, wenn Sie ein Modell auswählen

685* **`--effort` Flag**: Übergeben Sie einen Stufennamen, um ihn beim Start von Claude Code für eine einzelne Sitzung einzustellen691* **`--effort` Flag**: Übergeben Sie einen Stufennamen, um ihn beim Start von Claude Code für eine einzelne Sitzung einzustellen

686* **Umgebungsvariable**: Setzen Sie `CLAUDE_CODE_EFFORT_LEVEL` auf einen Stufennamen oder `auto`692* **Umgebungsvariable**: Setzen Sie `CLAUDE_CODE_EFFORT_LEVEL` auf einen Stufennamen oder `auto`


692 698 

693Wenn Sie `effortLevel` in [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) einstellen, wendet Claude Code es beim Einstellungsschritt der [Effort-Auflösungsreihenfolge](#adjust-effort-level) an, und Benutzer können die Stufe weiterhin mit `/effort` oder `--effort` ändern. Um Benutzer bei oder unter einer Stufe zu halten, stellen Sie [`maxEffortLevel`](https://code.claude.com/docs/de/settings-reference#maxeffortlevel) ein.699Wenn Sie `effortLevel` in [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) einstellen, wendet Claude Code es beim Einstellungsschritt der [Effort-Auflösungsreihenfolge](#adjust-effort-level) an, und Benutzer können die Stufe weiterhin mit `/effort` oder `--effort` ändern. Um Benutzer bei oder unter einer Stufe zu halten, stellen Sie [`maxEffortLevel`](https://code.claude.com/docs/de/settings-reference#maxeffortlevel) ein.

694 700 

695Der Effort-Slider erscheint in `/model`, wenn ein unterstütztes Modell ausgewählt ist. Die aktuelle Effort-Stufe wird auch in der Sitzungskopfzeile neben dem Modellnamen angezeigt, zum Beispiel "with low effort", sodass Sie bestätigen können, welche Einstellung aktiv ist, ohne `/model` zu öffnen. Die Fußzeile zeigt die Effort-Stufe außerdem kurz beim Start und bei jeder Änderung an.701#### Die eingestellte Effort-Stufe überprüfen

702 

703Der Effort-Slider erscheint in `/model`, wenn ein unterstütztes Modell ausgewählt ist. Eine Stufe in der Sitzungskopfzeile, zum Beispiel "with low effort", stammt aus Ihrer Effort-Einstellung, auch wenn Claude [noch auf der alten Stufe arbeitet](#when-a-new-effort-level-starts). Die Fußzeile zeigt die Effort-Stufe außerdem kurz beim Start und bei jeder Änderung an.

704 

705#### Wann eine neue Effort-Stufe beginnt

706 

707In einer Terminal-Sitzung läuft die nächste Nachricht, die Sie senden, auf der neuen Stufe, sobald `/effort` diese bestätigt. Sie können sie nach dem Ende des laufenden Turns senden oder [während Claude noch arbeitet](https://code.claude.com/docs/de/interactive-mode.md#queue-messages-while-claude-works):

708 

709* **Nach dem Ende des Turns**: Bis dahin müssen Sie nichts tun, und es ist zu erwarten, dass der Turn auf der alten Stufe endet

710* **Während Claude noch arbeitet**: Geben Sie eine Nachricht ein, etwa `keep going`, und drücken Sie `Enter`, um sie in die Warteschlange zu stellen, ohne den Turn zu unterbrechen. Claude erhält sie, wenn die aktuellen Tool-Aufrufe abgeschlossen sind, spätestens jedoch am Ende des Turns, und arbeitet ab dann auf der neuen Stufe.

711 

712Vor v2.1.242 konnte Claude Code `/effort` selbst bis zum Ende des Turns in die Warteschlange stellen und tat dies immer in einer Sitzung, die keine [Feature-Flags abruft](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching), etwa bei einem [Drittanbieter-Provider](https://code.claude.com/docs/de/third-party-integrations.md).

696 713 

697#### Adaptive Überlegungen und feste Thinking-Budgets714#### Adaptive Überlegungen und feste Thinking-Budgets

698 715 

Details

648| `claude_code.code_edit_tool.decision` | Anzahl der Berechtigungsentscheidungen für Code-Bearbeitungstools | keine |648| `claude_code.code_edit_tool.decision` | Anzahl der Berechtigungsentscheidungen für Code-Bearbeitungstools | keine |

649| `claude_code.active_time.total` | Gesamte aktive Zeit | s |649| `claude_code.active_time.total` | Gesamte aktive Zeit | s |

650 650 

651Wenn `prometheus` der einzige in `OTEL_METRICS_EXPORTER` aufgeführte Exporter ist, lässt Claude Code die Einheiten `USD`, `tokens` und `s` bei den exportierten Metriken weg, damit der Scrape gültiges Prometheus-Textformat bleibt. Die Metriknamen ändern sich nicht, und Konfigurationen, die Exporter kombinieren, etwa `otlp,prometheus`, behalten die Einheiten. Vor v2.1.216 enthielt der Prometheus-Scrape `# UNIT`-Zeilen, die nur in OpenMetrics gültig sind und von einigen Scrapern abgelehnt wurden.651Wenn `prometheus` der einzige in `OTEL_METRICS_EXPORTER` aufgeführte Exporter ist, lässt Claude Code die Einheiten `USD`, `tokens` und `s` aus den exportierten Metriken weg, damit der Scrape gültiges Prometheus-Textformat bleibt. Metriknamen ändern sich nicht, und Konfigurationen, die Exporter kombinieren, wie `otlp,prometheus`, behalten die Einheiten.

652 652 

653### Details zu den Metriken653### Details zu den Metriken

654 654 


995 995 

996 Der Wert von `source` gibt nicht an, welche dieser Quellen zugetroffen hat. Um herauszufinden, welche einen Aufruf abgelehnt hat, suchen Sie das [Sicherheitsereignis](#safety-event) mit derselben `tool_use_id` und lesen Sie dessen Attribute `category` und `rule_source`. Für einige abgelehnte Aufrufe [gibt es kein Sicherheitsereignis](#calls-without-a-safety-event).996 Der Wert von `source` gibt nicht an, welche dieser Quellen zugetroffen hat. Um herauszufinden, welche einen Aufruf abgelehnt hat, suchen Sie das [Sicherheitsereignis](#safety-event) mit derselben `tool_use_id` und lesen Sie dessen Attribute `category` und `rule_source`. Für einige abgelehnte Aufrufe [gibt es kein Sicherheitsereignis](#calls-without-a-safety-event).

997 997 

998 Claude Code meldet `"config"` auch dann, wenn die Anfrage für die Berechtigungsabfrage selbst fehlschlägt. Diese Anfrage schlägt zum Beispiel fehl, wenn der [`canUseTool`](https://code.claude.com/docs/de/agent-sdk/typescript#canusetool)-Callback des Agent SDK oder das Tool [`--permission-prompt-tool`](https://code.claude.com/docs/de/cli-reference#cli-flags) ein ungültiges Ergebnis zurückgibt oder wenn der Eingabestream geschlossen wird, während die Anfrage aussteht. Vor v2.1.216 meldete Claude Code diese Fehler als `"user_reject"`.998 Claude Code meldet `"config"` auch, wenn die Anfrage für die Berechtigungsabfrage selbst fehlschlägt. Diese Anfrage schlägt beispielsweise fehl, wenn der [`canUseTool`](https://code.claude.com/docs/de/agent-sdk/typescript#canusetool)-Callback des Agent SDK oder das Tool [`--permission-prompt-tool`](https://code.claude.com/docs/de/cli-reference#cli-flags) ein ungültiges Ergebnis zurückgibt oder wenn der Eingabestream geschlossen wird, während die Anfrage aussteht.

999 * `"hook"`: Ein `PreToolUse`- oder `PermissionRequest`-Hook hat die Entscheidung zurückgegeben.999 * `"hook"`: Ein `PreToolUse`- oder `PermissionRequest`-Hook hat die Entscheidung zurückgegeben.

1000 * `"user_permanent"`: Wird ausgegeben, wenn der Benutzer bei einer Berechtigungsabfrage „Yes, and don't ask again for ...“ gewählt hat, wodurch eine Allow-Regel in seinen persönlichen Einstellungen gespeichert wird. In der interaktiven CLI wird dies nur für diese Wahl selbst ausgegeben; spätere Aufrufe, die der gespeicherten Regel entsprechen, geben stattdessen `"config"` aus. In Agent SDK- oder nicht interaktiven `-p`-Sitzungen geben sowohl die ursprüngliche Wahl als auch spätere Regeltreffer `"user_permanent"` aus. Wird als Akzeptieren behandelt.1000 * `"user_permanent"`: Wird ausgegeben, wenn der Benutzer bei einer Berechtigungsabfrage „Yes, and don't ask again for ...“ gewählt hat, wodurch eine allow-Regel in seinen persönlichen Einstellungen gespeichert wird. In der interaktiven CLI wird dies nur für genau diese Wahl ausgegeben; spätere Aufrufe, die der gespeicherten Regel entsprechen, geben stattdessen `"config"` aus. In Agent SDK- oder nicht interaktiven `-p`-Sitzungen geben sowohl die ursprüngliche Wahl als auch spätere Regeltreffer `"user_permanent"` aus. Wird als Annahme behandelt.

1001 * `"user_temporary"`: Wird ausgegeben, wenn der Benutzer bei einer Berechtigungsabfrage „Yes“ für eine einmalige Genehmigung gewählt hat oder bei einer Abfrage zum Bearbeiten oder Lesen einer Datei eine Option gewählt hat, die Zugriff für den Rest der Sitzung gewährt. In der interaktiven CLI wird dies nur für die Wahl selbst ausgegeben; spätere Aufrufe, die durch diese sitzungsbezogene Freigabe erlaubt werden, geben stattdessen `"config"` aus. In Agent SDK- oder nicht interaktiven `-p`-Sitzungen geben sowohl die Wahl als auch spätere Treffer `"user_temporary"` aus. Wird als Akzeptieren behandelt.1001 * `"user_temporary"`: Wird ausgegeben, wenn der Benutzer bei einer Berechtigungsabfrage „Yes“ für eine einmalige Genehmigung gewählt hat oder bei einer Abfrage zum Bearbeiten oder Lesen einer Datei eine Option gewählt hat, die Zugriff für den Rest der Sitzung gewährt. In der interaktiven CLI wird dies nur für die Wahl selbst ausgegeben; spätere Aufrufe, die durch diese sitzungsbezogene Freigabe erlaubt werden, geben stattdessen `"config"` aus. In Agent SDK- oder nicht interaktiven `-p`-Sitzungen geben sowohl die Wahl als auch spätere Treffer `"user_temporary"` aus. Wird als Annahme behandelt.

1002 * `"user_abort"`: Wird ausgegeben, wenn der Benutzer die Berechtigungsabfrage geschlossen hat, ohne zu antworten. In Agent SDK- und nicht interaktiven `-p`-Sitzungen umfasst dies das Unterbrechen des Turns, während eine Berechtigungsanfrage von `canUseTool` oder `--permission-prompt-tool` aussteht; vor v2.1.216 meldete Claude Code diese Unterbrechung als `"user_reject"`. Wird als Ablehnen behandelt.1002 * `"user_abort"`: Wird ausgegeben, wenn der Benutzer die Berechtigungsabfrage geschlossen hat, ohne zu antworten. In Agent SDK- und nicht interaktiven `-p`-Sitzungen gehört dazu auch das Unterbrechen des Turns, während eine Berechtigungsanfrage über `canUseTool` oder `--permission-prompt-tool` aussteht. Wird als Ablehnung behandelt.

1003 * `"user_reject"`: Wird ausgegeben, wenn der Benutzer bei einer Nachfrage „No“ gewählt hat. In der interaktiven CLI wird dies nur für diese Wahl selbst ausgegeben; Aufrufe, die einer Deny-Regel in den persönlichen Einstellungen des Benutzers entsprechen, geben stattdessen `"config"` aus. In Agent SDK- oder nicht interaktiven `-p`-Sitzungen geben Aufrufe, die einer Deny-Regel in den persönlichen Einstellungen entsprechen, `"user_reject"` aus. Wird als Ablehnen behandelt.1003 * `"user_reject"`: Wird ausgegeben, wenn der Benutzer bei der Nachfrage „No“ gewählt hat. In der interaktiven CLI wird dies nur für genau diese Wahl ausgegeben; Aufrufe, die einer deny-Regel in den persönlichen Einstellungen des Benutzers entsprechen, geben stattdessen `"config"` aus. In Agent SDK- oder nicht interaktiven `-p`-Sitzungen geben Aufrufe, die einer deny-Regel in den persönlichen Einstellungen entsprechen, `"user_reject"` aus. Wird als Ablehnung behandelt.

1004* `classifier_verdict`: Das Urteil des [Klassifikators](https://code.claude.com/docs/de/permission-modes.md#how-the-classifier-evaluates-actions) des Auto-Modus für den Aufruf oder der Grund, warum Claude Code den Aufruf abgelehnt hat, wenn kein Urteil kam. Erfordert Claude Code v2.1.301 oder höher1004* `classifier_verdict`: Das Urteil des [Klassifikators](https://code.claude.com/docs/de/permission-modes.md#how-the-classifier-evaluates-actions) des Auto-Modus für den Aufruf oder der Grund, warum Claude Code den Aufruf abgelehnt hat, wenn kein Urteil kam. Erfordert Claude Code v2.1.301 oder höher

1005 1005 

1006 * `"allow"`: Der Klassifikator hat den Aufruf genehmigt1006 * `"allow"`: Der Klassifikator hat den Aufruf genehmigt

Details

97 Der Befehl funktioniert auch im [nicht-interaktiven Modus](https://code.claude.com/docs/de/headless.md) und Agent SDK-Sitzungen sowie über die mobile App oder das Web über [Remote Control](https://code.claude.com/docs/de/remote-control.md#limitations), wo Sie nur [integrierte Stile](#built-in-output-styles) auflisten und auswählen können. Erfordert Claude Code v2.1.269 oder später.97 Der Befehl funktioniert auch im [nicht-interaktiven Modus](https://code.claude.com/docs/de/headless.md) und Agent SDK-Sitzungen sowie über die mobile App oder das Web über [Remote Control](https://code.claude.com/docs/de/remote-control.md#limitations), wo Sie nur [integrierte Stile](#built-in-output-styles) auflisten und auswählen können. Erfordert Claude Code v2.1.269 oder später.

98* **Terminal-Menü**: Führen Sie `/config` aus und wählen Sie **Output style**, um einen Stil aus einem Menü auszuwählen.98* **Terminal-Menü**: Führen Sie `/config` aus und wählen Sie **Output style**, um einen Stil aus einem Menü auszuwählen.

99* **VS Code-Erweiterung**: Öffnen Sie das [Befehlsmenü](https://code.claude.com/docs/de/vs-code.md#use-the-prompt-box) mit `/` und wählen Sie **Output styles**, um einen Stil auszuwählen, einschließlich Ihrer benutzerdefinierten Stile. Erfordert Claude Code v2.1.257 oder später.99* **VS Code-Erweiterung**: Öffnen Sie das [Befehlsmenü](https://code.claude.com/docs/de/vs-code.md#use-the-prompt-box) mit `/` und wählen Sie **Output styles**, um einen Stil auszuwählen, einschließlich Ihrer benutzerdefinierten Stile. Erfordert Claude Code v2.1.257 oder später.

100* **Desktop-App**: Legen Sie das Feld `outputStyle` in einer Einstellungsdatei fest, beispielsweise `.claude/settings.local.json`, die Datei, in die das Terminal-Menü schreibt. Wenn Sie dort `/config` ausführen, öffnet Claude Code [**Einstellungen > Claude Code**](https://code.claude.com/docs/de/desktop.md#what%E2%80%99s-not-available-in-desktop) statt eines Menüs.100* **Desktop-App**: Legen Sie das Feld `outputStyle` in einer Einstellungsdatei fest, beispielsweise `.claude/settings.local.json`, die Datei, in die das Terminal-Menü schreibt. Wenn Sie dort `/config` ausführen, [öffnet Claude Code **Einstellungen > Code** oder **Einstellungen > Claude Code**](https://code.claude.com/docs/de/desktop.md#what’s-not-available-in-desktop) statt eines Menüs.

101 101 

102Um einen Stil ohne Menü festzulegen, bearbeiten Sie das Feld `outputStyle` direkt in einer Einstellungsdatei:102Um einen Stil ohne Menü festzulegen, bearbeiten Sie das Feld `outputStyle` direkt in einer Einstellungsdatei:

103 103 

Details

31 31 

32### Aktionen, die kein Modus automatisch genehmigt32### Aktionen, die kein Modus automatisch genehmigt

33 33 

34Claude Code genehmigt die folgenden in keinem Modus automatisch, einschließlich `bypassPermissions`. Jeder Punkt verlinkt auf den Abschnitt, der sagt, was stattdessen in jedem Modus passiert:34Claude Code genehmigt Folgendes in keinem Modus automatisch, einschließlich `bypassPermissions`, wobei Sie im `bypassPermissions`-Modus [die Abfrage für gefährliche `rm`-Befehle ausschalten](#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode) können. Jeder Punkt verlinkt auf den Abschnitt, der sagt, was stattdessen in jedem Modus passiert:

35 35 

36* Tools, die einer expliziten [Ask-Regel](https://code.claude.com/docs/de/permissions.md#manage-permissions) entsprechen36* Tools, die einer expliziten [Ask-Regel](https://code.claude.com/docs/de/permissions.md#manage-permissions) entsprechen

37* Connector-Tools, die Ihre Organisation [auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), in Sitzungen, in denen diese Einstellung Claude Code erreicht37* Connector-Tools, die Ihre Organisation [auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), in Sitzungen, in denen diese Einstellung Claude Code erreicht


504* Nur lesende HTTP-Anfragen504* Nur lesende HTTP-Anfragen

505* Pushen zu jedem Branch des Repositorys, in dem Sie arbeiten, einschließlich des Standard-Branchs. Ein anderer als der Standard-Branch, dessen Name ihn als Bereitstellungs- oder Veröffentlichungsziel kennzeichnet, wie `production` oder `gh-pages`, ist nicht abgedeckt: Der Klassifikator beurteilt einen Push dorthin für sich.505* Pushen zu jedem Branch des Repositorys, in dem Sie arbeiten, einschließlich des Standard-Branchs. Ein anderer als der Standard-Branch, dessen Name ihn als Bereitstellungs- oder Veröffentlichungsziel kennzeichnet, wie `production` oder `gh-pages`, ist nicht abgedeckt: Der Klassifikator beurteilt einen Push dorthin für sich.

506 506 

507 Der Inhalt eines Pushs wird weiterhin anhand der anderen Regeln des Klassifikators geprüft, und [`permissions.deny`-Regeln](https://code.claude.com/docs/de/permissions#manage-permissions) können Push-Befehle [wie geschrieben](https://code.claude.com/docs/de/permissions.md#bash-rule-limits) in jedem Modus weiterhin blockieren. Der eigene Branch-Schutz des Remotes gilt weiterhin. Von v2.1.203 bis v2.1.211 waren standardmäßig nur routinemäßige Pushes zum Standard-Branch sowie Pushes zu dem Branch, auf dem Sie begonnen haben, oder zu Branches, die Claude erstellt hat, erlaubt.507 Der Inhalt eines Pushs wird weiterhin anhand der anderen Regeln des Klassifikators geprüft, und [`permissions.deny`-Regeln](https://code.claude.com/docs/de/permissions#manage-permissions) können Push-Befehle [wie geschrieben](https://code.claude.com/docs/de/permissions.md#bash-rule-limits) in jedem Modus weiterhin blockieren. Der eigene Branch-Schutz des Remotes gilt weiterhin.

508* Löschen genau der Jobs, die Claude früher in derselben Sitzung erstellt hat508* Löschen genau der Jobs, die Claude früher in derselben Sitzung erstellt hat

509* Lesen, Überprüfen oder Schreiben von sicherheitsbezogenem Code, Konfigurationen und Bedrohungsmodellen als Teil Ihrer Aufgabe509* Lesen, Überprüfen oder Schreiben von sicherheitsbezogenem Code, Konfigurationen und Bedrohungsmodellen als Teil Ihrer Aufgabe

510* Nachrichten zwischen Agenten, die in derselben Multi-Agent-Sitzung zusammenarbeiten510* Nachrichten zwischen Agenten, die in derselben Multi-Agent-Sitzung zusammenarbeiten


649 649 

650Der Modus `bypassPermissions` deaktiviert Berechtigungsabfragen und Sicherheitsprüfungen, sodass Tool-Aufrufe sofort ausgeführt werden, einschließlich Schreibvorgängen in [geschützte Pfade](#protected-paths).650Der Modus `bypassPermissions` deaktiviert Berechtigungsabfragen und Sicherheitsprüfungen, sodass Tool-Aufrufe sofort ausgeführt werden, einschließlich Schreibvorgängen in [geschützte Pfade](#protected-paths).

651 651 

652Auch im Modus `bypassPermissions` wird bei jeder der [Aktionen, die kein Modus automatisch genehmigt](#actions-no-mode-auto-approves), nachgefragt oder die Aktion abgelehnt, statt dass sie eigenständig ausgeführt wird. Das Lesen eines [öffentlichen Artefakts einer anderen Organisation](https://code.claude.com/docs/de/artifacts.md#read-an-artifact-shared-with-you) erfordert Ihre Genehmigung, und dieser Modus fragt nicht danach, daher kann Claude ein solches Artefakt nicht lesen. Die Ablehnungen für [Remove-Item in PowerShell](#remove-item-in-powershell) gelten ebenfalls in diesem Modus.652Auch im Modus `bypassPermissions` wird bei jeder der [Aktionen, die kein Modus automatisch genehmigt](#actions-no-mode-auto-approves), nachgefragt oder die Aktion abgelehnt, wobei Sie jedoch [die Abfrage für gefährliche `rm`-Befehle ausschalten können](#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode). Das Lesen eines [öffentlichen Artefakts einer anderen Organisation](https://code.claude.com/docs/de/artifacts.md#read-an-artifact-shared-with-you) erfordert Ihre Genehmigung, und dieser Modus fragt nicht danach, daher kann Claude ein solches Artefakt nicht lesen. Die Ablehnungen für [Remove-Item in PowerShell](#remove-item-in-powershell) gelten ebenfalls in diesem Modus.

653 653 

654Zwei Schutzmaßnahmen für [sitzungsübergreifende Nachrichten](https://code.claude.com/docs/de/cross-session-messaging.md) gelten weiterhin in diesem Modus sowie in interaktiven Terminal-Sitzungen im Plan-Modus, in denen die Umgehung von Berechtigungen verfügbar ist:654Zwei Schutzmaßnahmen für [sitzungsübergreifende Nachrichten](https://code.claude.com/docs/de/cross-session-messaging.md) gelten weiterhin in diesem Modus sowie in interaktiven Terminal-Sitzungen im Plan-Modus, in denen die Umgehung von Berechtigungen verfügbar ist:

655 655 


861This command could not be checked for dangerous rm operations: the shell may read it differently than it was parsed.861This command could not be checked for dangerous rm operations: the shell may read it differently than it was parsed.

862```862```

863 863 

864Sie erhalten die Abfrage oder Ablehnung, die eine Entfernung eines kritischen Pfads [in Ihrem Berechtigungsmodus](#critical-path-removals-in-each-permission-mode) erhält, `bypassPermissions` eingeschlossen. Sie können den Befehl nicht mit einer `Bash`- oder `Bash(*)`-Allow-Regel, dem [Auto-Allow-Modus](https://code.claude.com/docs/de/sandboxing.md#auto-allow-mode) der Sandbox oder einem `PreToolUse`-Hook genehmigen, der `"allow"` zurückgibt. Lesen Sie den Befehl und genehmigen Sie dann die Abfrage oder führen Sie ihn nach einer Ablehnung in Ihrer Shell aus.864Sie erhalten die Abfrage oder Ablehnung, die eine Entfernung eines kritischen Pfads [in Ihrem Berechtigungsmodus](#critical-path-removals-in-each-permission-mode) erhält, `bypassPermissions` eingeschlossen, wobei Sie [diese Abfrage](#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode) im `bypassPermissions`-Modus ausschalten können. Sie können den Befehl nicht mit einer `Bash`- oder `Bash(*)`-Allow-Regel, dem [Auto-Allow-Modus](https://code.claude.com/docs/de/sandboxing.md#auto-allow-mode) der Sandbox oder einem `PreToolUse`-Hook genehmigen, der `"allow"` zurückgibt. Lesen Sie den Befehl und genehmigen Sie dann die Abfrage oder führen Sie ihn nach einer Ablehnung in Ihrer Shell aus.

865 865 

866### Die Abfrage für eingehängte Laufwerke866### Die Abfrage für eingehängte Laufwerke

867 867 


923 923 

924Wenn eine explizite [Ask-Regel](https://code.claude.com/docs/de/permissions.md#manage-permissions) dem Befehl entspricht, fordert Claude Code Sie stattdessen auf, auch im `auto`-Modus und ohne Zeitlimit. In Modi, die fragen, kann ein [`PermissionRequest`-Hook](https://code.claude.com/docs/de/hooks#permissionrequest) die Eingabeaufforderung beantworten.924Wenn eine explizite [Ask-Regel](https://code.claude.com/docs/de/permissions.md#manage-permissions) dem Befehl entspricht, fordert Claude Code Sie stattdessen auf, auch im `auto`-Modus und ohne Zeitlimit. In Modi, die fragen, kann ein [`PermissionRequest`-Hook](https://code.claude.com/docs/de/hooks#permissionrequest) die Eingabeaufforderung beantworten.

925 925 

926Um diese Entfernungen im `bypassPermissions`-Modus ohne Abfrage auszuführen, siehe [Die Abfrage für Entfernungen kritischer Pfade ausschalten](#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode).

927 

926### Zeitlimits und Ablehnungen in auto- und bypassPermissions-Modi928### Zeitlimits und Ablehnungen in auto- und bypassPermissions-Modi

927 929 

928In `auto`- und `bypassPermissions`-Modi zeigt die Terminal-Eingabeaufforderung für eine Entfernung eines kritischen Pfads einen Countdown von zwei Minuten:930In `auto`- und `bypassPermissions`-Modi zeigt die Terminal-Eingabeaufforderung für eine Entfernung eines kritischen Pfads einen Countdown von zwei Minuten:


939| :- | :- | :- |941| :- | :- | :- |

940| Chat-Panel der [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) | Lehnt es ab | Lehnt es ab, es sei denn, ein [`PermissionRequest`-Hook](https://code.claude.com/docs/de/hooks#permissionrequest) erlaubt es |942| Chat-Panel der [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) | Lehnt es ab | Lehnt es ab, es sei denn, ein [`PermissionRequest`-Hook](https://code.claude.com/docs/de/hooks#permissionrequest) erlaubt es |

941| [Desktop-App](https://code.claude.com/docs/de/desktop.md) | Lehnt es ab | Lehnt es ab, es sei denn, ein `PermissionRequest`-Hook erlaubt es |943| [Desktop-App](https://code.claude.com/docs/de/desktop.md) | Lehnt es ab | Lehnt es ab, es sei denn, ein `PermissionRequest`-Hook erlaubt es |

942| [`-p`-Ausführung](https://code.claude.com/docs/de/headless) oder [Agent SDK-Sitzung](https://code.claude.com/docs/de/agent-sdk/permissions.md) | Lehnt es ab | Ihr [`--permission-prompt-tool`](https://code.claude.com/docs/de/cli-reference#cli-flags) oder Ihr [`canUseTool`-Callback](https://code.claude.com/docs/de/agent-sdk/user-input#handle-tool-approval-requests) entscheidet. Ohne beides oder unter [`--permission-prompts none`](https://code.claude.com/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) lehnt es ab, es sei denn, ein `PermissionRequest`-Hook erlaubt es |944| [`-p`-Ausführung](https://code.claude.com/docs/de/headless) oder [Agent SDK-Sitzung](https://code.claude.com/docs/de/agent-sdk/permissions.md) | Lehnt es ab | Ihr [`--permission-prompt-tool`](https://code.claude.com/docs/de/cli-reference#cli-flags) oder Ihr [`canUseTool`-Callback](https://code.claude.com/docs/de/agent-sdk/user-input#handle-tool-approval-requests) entscheidet. Ohne beides oder unter [`--permission-prompts none`](https://code.claude.com/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) lehnt es ab, es sei denn, ein `PermissionRequest`-Hook erlaubt es. Um diese Entfernungen stattdessen ohne Abfrage auszuführen, siehe [Die Abfrage für Entfernungen kritischer Pfade ausschalten](#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode) |

943 945 

944Wo immer die Entfernung abgelehnt wird, können Sie den gesamten Befehl lesen und in Ihrer Shell ausführen.946Wo immer die Entfernung abgelehnt wird, können Sie den gesamten Befehl lesen und in Ihrer Shell ausführen.

945 947 


958}960}

959```961```

960 962 

963### Die Abfrage für Entfernungen kritischer Pfade im bypassPermissions-Modus ausschalten

964 

965Um Bash-Befehle `rm` und `rmdir`, die auf [kritische Pfade](#critical-paths) abzielen, im `bypassPermissions`-Modus ohne Abfrage auszuführen, starten Sie Claude Code mit [`CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1`](https://code.claude.com/docs/de/env-vars#variables) in seiner Umgebung. Dies erfordert Claude Code v2.1.311 oder später. Claude Code liest die Variable nur aus der Startumgebung und [ignoriert sie im `env`-Block einer Einstellungsdatei](https://code.claude.com/docs/de/settings-reference#variables-claude-code-ignores-in-env). Setzen Sie sie beispielsweise in [Ihrer Shell](https://code.claude.com/docs/de/env-vars.md#set-variables-in-your-shell) und starten Sie `claude` von dort aus:

966 

967**macOS, Linux, WSL**

968 

969```bash theme={null}

970export CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1

971claude --permission-mode bypassPermissions

972```

973 

974**Windows PowerShell**

975 

976```powershell theme={null}

977$env:CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS = "1"

978claude --permission-mode bypassPermissions

979```

980 

981**Windows CMD**

982 

983```batch theme={null}

984set CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1

985claude --permission-mode bypassPermissions

986```

987 

988> [!WARNING]

989>

990> Wenn diese Variable gesetzt ist, verlieren Sie eine Sicherheitsabfrage für destruktive Löschvorgänge: Ein Befehl wie `rm -rf ~` kann ausgeführt werden, ohne Sie zu fragen. Setzen Sie sie nur in einer [isolierten Umgebung](#skip-all-checks-with-bypasspermissions-mode), deren Inhalt Sie verlieren können.

991 

992Entfernungen werden nur im `bypassPermissions`-Modus selbst ohne Abfrage ausgeführt, nicht im Plan-Modus, und nur für das, was die Überprüfung kritischer Pfade in den Tools Bash und [Monitor](https://code.claude.com/docs/de/tools-reference.md#monitor-tool) kennzeichnet. Dazu gehören Befehle, die Claude Code nicht vollständig parsen kann und die ebenfalls ohne Abfrage ausgeführt werden.

993 

994#### Startmeldungen zur Abfrage für Entfernungen kritischer Pfade

995 

996Um zu prüfen, ob `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` wirkt, lesen Sie die Zeile, die Claude Code beim Start ausgibt. In einer `-p`-Ausführung steht sie auf stderr. In einer Agent SDK-App übergeben Sie die [`stderr`-Option](https://code.claude.com/docs/de/agent-sdk/typescript#options), um sie zu lesen. Die Zeile lautet eine der folgenden:

997 

998* **`is set, so dangerous rm commands can run without a prompt`**: Entfernungen können ohne Abfrage ausgeführt werden, sobald verwaltete Einstellungen und Plugin-Hooks geladen sind. Wenn Entfernungen weiterhin eine Abfrage oder Ablehnung erhalten, siehe [Warum die Abfrage für Entfernungen kritischer Pfade aktiv bleibt](#why-the-critical-path-removal-prompt-stays-on)

999* **`has no effect in this session`**: Entfernungen behalten ihre übliche Abfrage oder Ablehnung für die gesamte Sitzung. Um das zu ändern, suchen Sie Ihren Fall unter [Warum die Abfrage für Entfernungen kritischer Pfade aktiv bleibt](#why-the-critical-path-removal-prompt-stays-on)

1000* **`has no effect while the Windows registry cannot be read for managed settings`**: Entfernungen behalten ihre übliche Abfrage oder Ablehnung, und die Variable wird ohne Neustart wirksam, wenn ein späteres Lesen der Registry erfolgreich ist. Wenn Entfernungen weiterhin eine Abfrage oder Ablehnung erhalten, siehe [Warum die Abfrage für Entfernungen kritischer Pfade aktiv bleibt](#why-the-critical-path-removal-prompt-stays-on)

1001 

1002Eine fehlende Zeile bedeutet nicht, dass die Abfrage aktiv ist: Eine Agent SDK-App ohne `stderr`-Option sieht keine Zeile, und Entfernungen können trotzdem ohne Abfrage ausgeführt werden. Prüfen Sie andernfalls, ob Sie die Variable in der Startumgebung gesetzt haben, ob die Sitzung [in den `bypassPermissions`-Modus wechseln kann](#skip-all-checks-with-bypasspermissions-mode) und ob `claude` nicht innerhalb einer anderen Sitzung läuft. Einige Sitzungen [starten ohne die Variable](#why-the-critical-path-removal-prompt-stays-on).

1003 

1004Wenn Sie eine dieser Zeilen sehen und die Variable nicht gesetzt haben, finden Sie heraus, wo sie gesetzt wird, etwa in Ihrem Shell-Profil, und entfernen Sie sie.

1005 

1006#### Warum die Abfrage für Entfernungen kritischer Pfade aktiv bleibt

1007 

1008Wenn `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` keine Wirkung hat und Entfernungen ihre [übliche Abfrage oder Ablehnung](#critical-path-removals-in-each-permission-mode) behalten, prüfen Sie Ursachen wie diese:

1009 

1010* **Etwas anderes verarbeitet Berechtigungsabfragen**: ein [`--permission-prompt-tool`](https://code.claude.com/docs/de/cli-reference#cli-flags) oder ein Agent SDK-[`canUseTool`-Callback](https://code.claude.com/docs/de/agent-sdk/user-input) ohne [`--permission-prompts none`](https://code.claude.com/docs/de/headless#turn-off-permission-prompts-in-unattended-runs), ein [`PermissionRequest`-Hook](https://code.claude.com/docs/de/hooks#permissionrequest) mit beliebigem Matcher oder ein [Mod](https://code.claude.com/docs/de/plugins/mods/events.md#hook-the-settings-hook-events), der dieses Ereignis verarbeitet. Entfernen Sie den Hook, den Mod, das Tool oder den Callback und starten Sie `claude` neu

1011* **Das Chat-Panel der [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) oder die [Desktop-App](https://code.claude.com/docs/de/desktop.md) führt die Sitzung aus**: Starten Sie `claude` stattdessen in einem Terminal, etwa im integrierten Terminal einer IDE

1012* **Eine Regel betrifft Bash, Edit oder Read**: eine [Deny- oder Ask-Regel](https://code.claude.com/docs/de/permissions.md#manage-permissions), die auf eines dieser Tools abzielt, beim Start oder sobald Claude Code sie während der Sitzung liest, selbst wenn Sie sie später entfernen. Entfernen Sie die Regel und starten Sie `claude` neu. Um ein Tool auszuschließen, verwenden Sie [`--tools`](https://code.claude.com/docs/de/cli-reference#cli-flags) statt einer Deny-Regel

1013* **[`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) ist aktiviert**: Entfernen Sie die Einstellung aus jeder Einstellungsdatei, die sie auf `true` setzt, und starten Sie dann `claude` neu

1014* **`claude` läuft innerhalb einer anderen Sitzung**: ein `claude`, das aus dem Bash-Tool einer Sitzung oder aus einem Hook gestartet wurde, selbst mit der Variable in seiner Befehlszeile. Starten Sie `claude` aus Ihrer eigenen Shell. Verlassen Sie sich nicht auf diese Einschränkung für verschachtelte Sitzungen als Sicherheitsgrenze

1015* **Ein `PreToolUse`-Hook antwortet für eine Entfernung mit `ask`**: Ändern Sie, was der Hook zurückgibt

1016* **Claude Code startet die Sitzung für Sie**: [Hintergrundsitzungen](https://code.claude.com/docs/de/agent-view.md), Teammitglieder eines [Agent-Teams](https://code.claude.com/docs/de/agent-teams.md) in geteilten Bereichen und Sitzungen, die ein [Remote Control](https://code.claude.com/docs/de/remote-control.md)-Server erstellt, starten ohne die Variable. Starten Sie `claude` aus Ihrer eigenen Shell

1017* **Verwaltete Einstellungen können nicht gelesen werden**: Claude Code hat Ihre Quellen für [verwaltete Einstellungen](https://code.claude.com/docs/de/managed-settings.md) nicht erfolgreich gelesen. Wenn servergesteuerte Einstellungen weiterhin nicht geladen werden, siehe [Remote managed settings failed to load](https://code.claude.com/docs/de/errors.md#remote-managed-settings-failed-to-load). Bei jedem anderen Fehler, der keine Registry-Abfrage betrifft, bitten Sie die Person, die diese Quelle verwaltet, ihn zu beheben

1018* **Die Windows-Registry kann nicht abgefragt werden**: Unter Windows und in WSL benötigt die Variable eine Antwort aus der Registry, auch wenn [WSL sie nicht für Einstellungen verwendet](https://code.claude.com/docs/de/settings-reference.md#wslinheritswindowssettings). Die Abfrage kann die gesamte Sitzung lang fehlschlagen: auf einem nicht englischsprachigen Windows, in WSL mit deaktiviertem Interop oder in einem Container auf einem WSL2-Kernel. Wenn Interop deaktiviert ist, aktivieren Sie es. Andernfalls führen Sie diese Entfernungen selbst aus

1019 

961### Remove-Item in PowerShell1020### Remove-Item in PowerShell

962 1021 

963Wenn Sie das [PowerShell-Tool](https://code.claude.com/docs/de/tools-reference.md#powershell-tool) aktivieren, gibt Claude Code `Remove-Item` und den `cmd`-Built-ins `rd`, `rmdir`, `del` und `erase` ihre eigenen Überprüfungen, getrennt von der `rm`-Liste kritischer Pfade. Für `Remove-Item` hängt das Ergebnis vom Ziel ab, und der erste passende Fall gilt:1022Wenn Sie das [PowerShell-Tool](https://code.claude.com/docs/de/tools-reference.md#powershell-tool) aktivieren, gibt Claude Code `Remove-Item` und den `cmd`-Built-ins `rd`, `rmdir`, `del` und `erase` ihre eigenen Überprüfungen, getrennt von der `rm`-Liste kritischer Pfade. Für `Remove-Item` hängt das Ergebnis vom Ziel ab, und der erste passende Fall gilt:

permissions.md +23 −21

Details

28 28 

29Wenn Sie „Ja, nicht mehr fragen“ wählen und die Genehmigung dauerhaft gespeichert wird, z. B. für einen Bash-Befehl oder eine WebFetch-Domäne, speichert Claude Code die Regel in `.claude/settings.local.json` im Stammverzeichnis des Git-Repositorys, aufgelöst durch [Worktrees](https://code.claude.com/docs/de/worktrees.md) zum Haupt-Checkout. Die Regel gilt für zukünftige Sitzungen überall in diesem Projektverzeichnis, einschließlich Sitzungen, die in Unterverzeichnissen und in Worktrees gestartet werden. Eine Dateiänderungsgenehmigung wird nicht in der Datei gespeichert: wie die Tabelle zeigt, gilt sie bis zum Ende der Sitzung. In einigen Fällen, z. B. außerhalb eines Git-Repositorys oder unter Windows, verwendet Claude Code nicht das Projektverzeichnis-Stammverzeichnis; [Wo Claude Code nach jeder Datei sucht](https://code.claude.com/docs/de/settings.md#where-claude-code-looks-for-each-file) listet diese Fälle auf und wo es die Regel stattdessen speichert.29Wenn Sie „Ja, nicht mehr fragen“ wählen und die Genehmigung dauerhaft gespeichert wird, z. B. für einen Bash-Befehl oder eine WebFetch-Domäne, speichert Claude Code die Regel in `.claude/settings.local.json` im Stammverzeichnis des Git-Repositorys, aufgelöst durch [Worktrees](https://code.claude.com/docs/de/worktrees.md) zum Haupt-Checkout. Die Regel gilt für zukünftige Sitzungen überall in diesem Projektverzeichnis, einschließlich Sitzungen, die in Unterverzeichnissen und in Worktrees gestartet werden. Eine Dateiänderungsgenehmigung wird nicht in der Datei gespeichert: wie die Tabelle zeigt, gilt sie bis zum Ende der Sitzung. In einigen Fällen, z. B. außerhalb eines Git-Repositorys oder unter Windows, verwendet Claude Code nicht das Projektverzeichnis-Stammverzeichnis; [Wo Claude Code nach jeder Datei sucht](https://code.claude.com/docs/de/settings.md#where-claude-code-looks-for-each-file) listet diese Fälle auf und wo es die Regel stattdessen speichert.

30 30 

31Vor v2.1.211 speicherte Claude Code die Regel immer im Startverzeichnis, sodass eine in einem Worktree oder Unterverzeichnis gewährte Genehmigung nicht auf den Rest des Repositorys angewendet wurde. Regeln, die frühere Versionen in einem Unterverzeichnis oder Worktree gespeichert haben, gelten weiterhin für Sitzungen, die dort gestartet werden.

32 

33Manchmal bietet eine Berechtigungsabfrage nur eine einmalige Genehmigung an, ohne Option „nicht mehr fragen“ und ohne Option, die Aktion für den Rest der Sitzung zuzulassen. Claude Code bietet diese Optionen nur an, wenn die Abfrage Ihnen alles zeigen kann, was sie zulassen würden, sodass eine Regel, die Sie aus einer Abfrage speichern, nur das abdeckt, was ihre Option benannt hat. Wenn eine Abfrage nur die einmalige Genehmigung bietet, genehmigen Sie die Aktion einmal, oder fügen Sie die Regel selbst in [`/permissions`](#manage-permissions) hinzu. Um die Abfragen für einen Befehl zu beenden, der mit einem Exec-Wrapper wie `watch` beginnt, oder für einen `find`-Befehl mit einer Aktion wie `-delete`, lesen Sie [Exec-Wrapper und `find`-Aktionen](#exec-wrappers-and-find-actions).31Manchmal bietet eine Berechtigungsabfrage nur eine einmalige Genehmigung an, ohne Option „nicht mehr fragen“ und ohne Option, die Aktion für den Rest der Sitzung zuzulassen. Claude Code bietet diese Optionen nur an, wenn die Abfrage Ihnen alles zeigen kann, was sie zulassen würden, sodass eine Regel, die Sie aus einer Abfrage speichern, nur das abdeckt, was ihre Option benannt hat. Wenn eine Abfrage nur die einmalige Genehmigung bietet, genehmigen Sie die Aktion einmal, oder fügen Sie die Regel selbst in [`/permissions`](#manage-permissions) hinzu. Um die Abfragen für einen Befehl zu beenden, der mit einem Exec-Wrapper wie `watch` beginnt, oder für einen `find`-Befehl mit einer Aktion wie `-delete`, lesen Sie [Exec-Wrapper und `find`-Aktionen](#exec-wrappers-and-find-actions).

34 32 

35### Fügen Sie einen Kommentar hinzu, wenn Sie auf eine Berechtigungsaufforderung antworten33### Fügen Sie einen Kommentar hinzu, wenn Sie auf eine Berechtigungsaufforderung antworten


218 216 

219> [!TIP]217> [!TIP]

220>218>

221> Claude Code kennt Shell-Operatoren, daher gibt eine Regel wie `Bash(safe-cmd *)` Claude nicht die Berechtigung, den Befehl `safe-cmd && other-cmd` auszuführen. Die erkannten Befehlstrennzeichen sind `&&`, `||`, `;`, `|`, `|&`, `&` und Zeilenumbrüche. Eine Regel muss jeden Unterbefehl unabhängig abgleichen.219> Claude Code kennt Shell-Operatoren, daher gibt eine Regel wie `Bash(safe-cmd *)` Claude nicht die Berechtigung, den Befehl `safe-cmd && other-cmd` auszuführen. Die erkannten Befehlstrennzeichen sind `&&`, `||`, `;`, `|`, `|&`, `&` und Zeilenumbrüche. Jeder Unterbefehl muss zulässig sein, damit ein zusammengesetzter Befehl ohne Abfrage ausgeführt wird, zum Beispiel weil der Unterbefehl einer allow-Regel entspricht oder ein [nur lesender Befehl](#read-only-commands) ist.

222 220 

223deny- und ask-Regeln gelten, wenn ein beliebiger Unterbefehl sie abgleicht, einschließlich eines Befehls, der in einer Subshell, einer Befehlsersetzung oder einem Kontrollfluss-Body wie einer `for`-Schleife verschachtelt ist. Eine ask-Regel wie `Bash(git clean *)` fragt bei `cd /tmp && git clean -f` oder `echo "$(git clean -f)"` weiterhin bei Ihnen nach, auch im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode).221deny- und ask-Regeln gelten, wenn ein beliebiger Unterbefehl sie abgleicht, einschließlich eines Befehls, der in einer Subshell, einer Befehlsersetzung oder einem Kontrollfluss-Body wie einer `for`-Schleife verschachtelt ist. Eine ask-Regel wie `Bash(git clean *)` fragt bei `cd /tmp && git clean -f` oder `echo "$(git clean -f)"` weiterhin bei Ihnen nach, auch im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode).

224 222 


314 312 

315### PowerShell313### PowerShell

316 314 

317PowerShell-Berechtigungsregeln haben dieselbe Form wie Bash-Regeln. Wildcards mit `*` gleichen an jeder Position ab, das Suffix `:*` ist gleichwertig mit einem nachgestellten ` *`, und ein bloßes `PowerShell` oder `PowerShell(*)` gleicht jeden Befehl ab. Diese Konfiguration erlaubt `Get-ChildItem`- und `git commit`-Befehle und blockiert `Remove-Item`:315PowerShell-Berechtigungsregeln haben dieselbe Form wie [Bash-Regeln](#wildcard-patterns), und ein bloßes `PowerShell` oder `PowerShell(*)` gleicht jeden Befehl ab. Diese Konfiguration erlaubt `Get-ChildItem`- und `git commit`-Befehle und blockiert `Remove-Item`:

318 316 

319```json theme={null}317```json theme={null}

320{318{


330}328}

331```329```

332 330 

333Gängige Aliase werden vor dem Abgleich kanonisiert. Eine Regel, die für den Cmdlet-Namen geschrieben wurde, gleicht auch dessen Aliase ab, daher gleicht `PowerShell(Get-ChildItem *)` auch `gci`, `ls` und `dir` ab. Beim Abgleich wird die Groß-/Kleinschreibung nicht beachtet.331Gängige Aliase werden vor dem Abgleich kanonisiert. Eine Regel, die für den Cmdlet-Namen geschrieben wurde, gilt auch für diese Aliase, sodass `PowerShell(Get-ChildItem *)` auch auf `gci`, `ls` und `dir` zutrifft. Beim Abgleich wird die Groß- und Kleinschreibung nicht berücksichtigt.

334 332 

335Claude Code parst den PowerShell-AST und prüft jeden Befehl in einem zusammengesetzten Befehl unabhängig. Pipeline-Operatoren `|`, Anweisungstrennzeichen `;` und unter PowerShell 7+ die Verkettungsoperatoren `&&` und `||` teilen einen zusammengesetzten Befehl in Unterbefehle auf. Eine Regel muss jeden Unterbefehl abgleichen, damit der zusammengesetzte Befehl zulässig ist.333Claude Code parst den PowerShell-AST und prüft jeden Befehl in einem zusammengesetzten Befehl unabhängig. Pipeline-Operatoren `|`, Anweisungstrennzeichen `;` und unter PowerShell 7+ die Verkettungsoperatoren `&&` und `||` teilen einen zusammengesetzten Befehl in Unterbefehle auf. Jeder Unterbefehl muss zulässig sein, damit der zusammengesetzte Befehl ohne Abfrage ausgeführt wird, zum Beispiel indem er einer allow-Regel entspricht.

336 334 

337### Read und Edit335### Read und Edit

338 336 


390 388 

391Eine Regel, die Sie über `/permissions` hinzufügen, folgt der Zeile für die Einstellungsdatei, in der Sie sie speichern.389Eine Regel, die Sie über `/permissions` hinzufügen, folgt der Zeile für die Einstellungsdatei, in der Sie sie speichern.

392 390 

393Regeln in lokalen Einstellungen verankern ab v2.1.211 am [primären Arbeitsverzeichnis](#working-directories) der Sitzung, nicht am Repository-Root, wo Claude Code [die Datei speichert](#permission-system). In einer Sitzung, die im Repository-Root gestartet wurde, sind beide Verzeichnisse identisch; in einer [Worktree](https://code.claude.com/docs/de/worktrees.md)-Sitzung gleicht eine gemeinsam genutzte Regel wie `Edit(/src/**)` das eigene `src/`-Verzeichnis dieses Worktrees ab.391Regeln in lokalen Einstellungen verankern am [primären Arbeitsverzeichnis](#working-directories) der Sitzung, nicht am Repository-Root, wo Claude Code [die Datei speichert](#permission-system). In einer Sitzung, die im Repository-Root gestartet wurde, sind beide Verzeichnisse identisch; in einer [Worktree](https://code.claude.com/docs/de/worktrees.md)-Sitzung gleicht eine gemeinsam genutzte Regel wie `Edit(/src/**)` das eigene `src/`-Verzeichnis dieses Worktrees ab.

394 392 

395Eine deny-Regel wie `Read(/secrets/**)` in Benutzereinstellungen blockiert `~/.claude/secrets/**`, nicht ein `secrets`-Verzeichnis in Ihrem Projekt. Um in Benutzereinstellungen eine Regel zu schreiben, die in jedem Projekt gilt, verwenden Sie stattdessen einen absoluten `//`-Pfad oder einen `~/`-Pfad relativ zum Home-Verzeichnis.393Eine deny-Regel wie `Read(/secrets/**)` in Benutzereinstellungen blockiert `~/.claude/secrets/**`, nicht ein `secrets`-Verzeichnis in Ihrem Projekt. Um in Benutzereinstellungen eine Regel zu schreiben, die in jedem Projekt gilt, verwenden Sie stattdessen einen absoluten `//`-Pfad oder einen `~/`-Pfad relativ zum Home-Verzeichnis.

396 394 


524 522 

525Um Dateien auf einer Netzwerkfreigabe ohne diese Abfrage zu lesen, geben Sie der Freigabe zunächst einen lokalen Pfad:523Um Dateien auf einer Netzwerkfreigabe ohne diese Abfrage zu lesen, geben Sie der Freigabe zunächst einen lokalen Pfad:

526 524 

527* **Windows**: Ordnen Sie die Freigabe einem Laufwerksbuchstaben zu und übergeben Sie das Laufwerk beim Start von Claude Code mit `--add-dir`, wie unter [Arbeitsverzeichnisse](#working-directories) beschrieben. Bei Lesevorgängen unter einem Laufwerk, das Sie später mit `/add-dir` hinzufügen oder in einer Einstellungsdatei unter `additionalDirectories` aufführen, wird weiterhin nachgefragt. Um diese Abfragen für eine Freigabe zu beenden, die `Z:` zugeordnet ist, starten Sie in PowerShell eine neue Sitzung mit `claude --add-dir Z:\`.525* **Windows**: Ordnen Sie die Freigabe einem Laufwerksbuchstaben zu und übergeben Sie das Laufwerk beim Start von Claude Code mit `--add-dir`, wie unter [Arbeitsverzeichnisse](#working-directories) beschrieben. Für eine Freigabe, die `Z:` zugeordnet ist, führen Sie in PowerShell `claude --add-dir Z:\` aus.

528* **macOS und Linux**: Hängen Sie die Freigabe unter einem lokalen Pfad ein, etwa einem Verzeichnis unter `/mnt` oder `/Volumes`, und lesen Sie die Dateien von dort, wie unter [Arbeitsverzeichnis ist ein Netzwerkpfad](https://code.claude.com/docs/de/errors.md#working-directory-is-a-network-path) beschrieben526* **macOS und Linux**: Hängen Sie die Freigabe unter einem lokalen Pfad ein, etwa einem Verzeichnis unter `/mnt` oder `/Volumes`, und lesen Sie die Dateien von dort, wie unter [Arbeitsverzeichnis ist ein Netzwerkpfad](https://code.claude.com/docs/de/errors.md#working-directory-is-a-network-path) beschrieben

529 527 

530### WebFetch528### WebFetch


711 709 

712Um die Skills, Befehle und Subagents aus einem Unterverzeichnis Ihres [primären Arbeitsverzeichnisses](#working-directories) während der Sitzung zu laden, führen Sie `/add-dir` mit dem Pfad dieses Unterverzeichnisses aus. Claude Code lädt sie für den Rest der Sitzung, ohne Sie aufzufordern oder ein Arbeitsverzeichnis hinzuzufügen, da das Unterverzeichnis bereits lesbar ist. Dies erfordert Claude Code v2.1.257 oder später.710Um die Skills, Befehle und Subagents aus einem Unterverzeichnis Ihres [primären Arbeitsverzeichnisses](#working-directories) während der Sitzung zu laden, führen Sie `/add-dir` mit dem Pfad dieses Unterverzeichnisses aus. Claude Code lädt sie für den Rest der Sitzung, ohne Sie aufzufordern oder ein Arbeitsverzeichnis hinzuzufügen, da das Unterverzeichnis bereits lesbar ist. Dies erfordert Claude Code v2.1.257 oder später.

713 711 

714Claude Code erkennt Ausgabestile aus dem aktuellen Arbeitsverzeichnis und seinen übergeordneten Verzeichnissen, Ihrem Benutzerverzeichnis unter `~/.claude/` und verwalteten Einstellungen. Hooks und andere `.claude/settings.json`-Schlüssel werden aus dem `.claude/`-Ordner des aktuellen Arbeitsverzeichnisses ohne Fallback für übergeordnete Verzeichnisse geladen, zusammen mit Ihren Benutzer-`~/.claude/settings.json` und verwalteten Einstellungen. `.claude/settings.local.json` wird stattdessen aus dem Git-Repository-Root geladen, auch wenn Sie Claude Code in einem Unterverzeichnis starten, außer in den Fällen, in denen Claude Code [den Repository-Root nicht verwendet](https://code.claude.com/docs/de/settings.md#where-claude-code-looks-for-each-file), wie unter Windows; vor v2.1.211 wurde es auch nur aus dem aktuellen Arbeitsverzeichnis geladen. [Agent SDK](https://code.claude.com/docs/de/agent-sdk/claude-code-features.md#control-filesystem-settings-with-settingsources)-Sitzungen laden es in allen Versionen aus dem Arbeitsverzeichnis.712#### Woher Ausgabestile, Hooks und lokale Einstellungen geladen werden

713 

714Claude Code erkennt Ausgabestile aus dem aktuellen Arbeitsverzeichnis und seinen übergeordneten Verzeichnissen, Ihrem Benutzerverzeichnis unter `~/.claude/` und verwalteten Einstellungen. Hooks und andere `.claude/settings.json`-Schlüssel werden aus dem `.claude/`-Ordner des aktuellen Arbeitsverzeichnisses ohne Fallback für übergeordnete Verzeichnisse geladen, zusammen mit Ihren Benutzer-`~/.claude/settings.json` und verwalteten Einstellungen.

715 

716`.claude/settings.local.json` wird stattdessen aus dem Git-Repository-Root geladen, auch wenn Sie Claude Code in einem Unterverzeichnis starten, außer in den Fällen, in denen Claude Code [den Repository-Root nicht verwendet](https://code.claude.com/docs/de/settings.md#where-claude-code-looks-for-each-file), wie unter Windows.

715 717 

716Um diese Konfiguration über Projekte hinweg zu teilen, verwenden Sie einen dieser Ansätze:718Um diese Konfiguration über Projekte hinweg zu teilen, verwenden Sie einen dieser Ansätze:

717 719 


765 767 

766Claude Code speichert das Vertrauen, das Sie akzeptieren, je nachdem, wo Sie es starten:768Claude Code speichert das Vertrauen, das Sie akzeptieren, je nachdem, wo Sie es starten:

767 769 

768* In einem Repository speichert Claude Code das Vertrauen auf der Git-Repository-Root, sodass das Vertrauen das gesamte Repository abdeckt, mit Ausnahme von verschachtelten Git-Repositories darin, wie z. B. Submodule. In einem [Worktree](https://code.claude.com/docs/de/worktrees.md) verwendet es die Root des Haupt-Checkouts, wie es auch für [gespeicherte Regeln](#permission-system) der Fall ist.770* In einem Repository speichert Claude Code das Vertrauen auf der Git-Repository-Root, sodass das Vertrauen das gesamte Repository abdeckt, mit Ausnahme von verschachtelten Git-Repositorys darin, wie z. B. Submodule. In einem [Worktree](https://code.claude.com/docs/de/worktrees.md) verwendet es die Root des Haupt-Checkouts, wie es auch für [gespeicherte Regeln](#permission-system) der Fall ist.

769* Außerhalb eines Repositorys speichert Claude Code das Vertrauen auf dem Verzeichnis, von dem aus Sie es gestartet haben, und das Vertrauen deckt alle Unterverzeichnisse dieses Verzeichnisses ab, mit Ausnahme von verschachtelten Git-Repositories darin, wie z. B. Klone. Jedes abgedeckte Unterverzeichnis zählt dann als ein Ordner, dessen übergeordnetes Verzeichnis Sie vertraut haben.771* Außerhalb eines Repositorys speichert Claude Code das Vertrauen auf dem Verzeichnis, von dem aus Sie es gestartet haben, und das Vertrauen deckt alle Unterverzeichnisse dieses Verzeichnisses ab, mit Ausnahme von verschachtelten Git-Repositorys darin, wie z. B. Klone. Jedes abgedeckte Unterverzeichnis zählt dann als ein Ordner, dessen übergeordnetem Verzeichnis Sie vertraut haben.

770* Wenn Sie in Ihrem Home-Verzeichnis starten, speichert Claude Code das Vertrauen nur für die aktuelle Sitzung und schreibt es nicht auf die Festplatte; siehe die Notiz zu [zusätzlichen Schutzmaßnahmen](https://code.claude.com/docs/de/security.md#additional-safeguards).772* Wenn Sie in Ihrem Home-Verzeichnis starten, speichert Claude Code das Vertrauen nur für die aktuelle Sitzung und schreibt es nicht auf die Festplatte; siehe die Notiz zu [zusätzlichen Schutzmaßnahmen](https://code.claude.com/docs/de/security.md#additional-safeguards).

771 773 

772Claude Code zeigt den Vertrauensdialog nur in interaktiven Sitzungen an. Ein `claude -p`-Lauf oder eine SDK-Sitzung zeigt ihn nie an, und das Vertrauen in ein übergeordnetes Verzeichnis zählt nicht für diese Regeln, daher sagt [Was läuft ab, bevor Sie einem Ordner vertrauen](#what-runs-before-you-trust-a-folder), welche Repository-Inhalte Claude Code in jeder dieser beiden Situationen noch verwendet.774Claude Code zeigt den Vertrauensdialog nur in interaktiven Sitzungen an. Ein `claude -p`-Lauf oder eine SDK-Sitzung zeigt ihn nie an, und das Vertrauen in ein übergeordnetes Verzeichnis zählt nicht für diese Regeln, daher sagt [Was läuft ab, bevor Sie einem Ordner vertrauen](#what-runs-before-you-trust-a-folder), welche Repository-Inhalte Claude Code in jeder dieser beiden Situationen noch verwendet.


779 781 

780Claude Code führt Git aus, um die beiden zu unterscheiden, und führt Git nur aus, nachdem Sie dem Ordner vertraut haben: Sie haben den Vertrauensdialog dafür oder für ein übergeordnetes Verzeichnis, dessen Vertrauen sich darauf erstreckt, akzeptiert, oder Sie befinden sich in einer `-p`- oder SDK-Sitzung, die als akzeptiert zählt. Bis dahin entscheidet, wo Sie Claude Code gestartet haben, was mit den Regeln der Datei geschieht:782Claude Code führt Git aus, um die beiden zu unterscheiden, und führt Git nur aus, nachdem Sie dem Ordner vertraut haben: Sie haben den Vertrauensdialog dafür oder für ein übergeordnetes Verzeichnis, dessen Vertrauen sich darauf erstreckt, akzeptiert, oder Sie befinden sich in einer `-p`- oder SDK-Sitzung, die als akzeptiert zählt. Bis dahin entscheidet, wo Sie Claude Code gestartet haben, was mit den Regeln der Datei geschieht:

781 783 

782* **In Ihrem Konfigurationsheim:** Claude Code wendet die `.claude/settings.local.json` dieses Ordners sofort an, ohne Git auszuführen. Ihr Konfigurationsheim ist Ihr Home-Verzeichnis oder ein Verzeichnis, dessen `.claude`-Unterverzeichnis Sie als [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars#variables) festgelegt haben. Wenn dieses `CLAUDE_CONFIG_DIR`-Verzeichnis in einem Git-Repository sitzt und Claude Code [Ihre lokalen Einstellungen in der Repository-Root speichert](https://code.claude.com/docs/de/settings.md#where-claude-code-looks-for-each-file), hält es die Regeln wie überall sonst zurück.784* **In Ihrem Konfigurationsheim:** Claude Code wendet die `.claude/settings.local.json` dieses Ordners sofort an, ohne Git auszuführen. Ihr Konfigurationsheim ist Ihr Home-Verzeichnis oder ein Verzeichnis, dessen `.claude`-Unterverzeichnis Sie als [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars#variables) festgelegt haben. Wenn dieses `CLAUDE_CONFIG_DIR`-Verzeichnis in einem Git-Repository sitzt und Claude Code [Ihre lokalen Einstellungen stattdessen in der Repository-Root speichert](https://code.claude.com/docs/de/settings.md#where-claude-code-looks-for-each-file), hält es die Regeln wie überall sonst zurück.

783* **Überall sonst:** Claude Code hält die Regeln der Datei wie Projekteinstellungen zurück. Sobald die Überprüfung ausgeführt wurde, wendet Claude Code die Regeln einer nicht verfolgten Datei oder einer Datei in einem Verzeichnis außerhalb eines Git-Repositorys an, obwohl Sie diesem genauen Ordner nicht vertraut haben.785* **Überall sonst:** Claude Code hält die Regeln der Datei wie Projekteinstellungen zurück. Sobald die Überprüfung ausgeführt wurde, wendet Claude Code die Regeln einer nicht verfolgten Datei oder einer Datei in einem Verzeichnis außerhalb eines Git-Repositorys an, obwohl Sie diesem genauen Ordner nicht vertraut haben.

784 786 

785> [!NOTE]787> [!NOTE]

786>788>

787> Die Konfigurationsheim-Ausnahme überspringt nur den Vertrauensschritt. `~/.claude/settings.local.json` hat immer noch [lokalen Umfang](https://code.claude.com/docs/de/settings.md#compare-the-scope-of-each-settings-file), daher liest Claude Code sie nur in Sitzungen, die Sie in Ihrem Home-Verzeichnis selbst starten, nicht in jedem Projekt. Um Berechtigungsregeln auf alle Ihre Projekte anzuwenden, fügen Sie sie stattdessen zu Ihren Benutzereinstellungen hinzu: `~/.claude/settings.json` oder `$CLAUDE_CONFIG_DIR/settings.json`, wenn `CLAUDE_CONFIG_DIR` gesetzt ist.789> Die Konfigurationsheim-Ausnahme überspringt nur den Vertrauensschritt. `~/.claude/settings.local.json` hat immer noch [lokalen Geltungsbereich](https://code.claude.com/docs/de/settings.md#compare-the-scope-of-each-settings-file), daher liest Claude Code sie nur in Sitzungen, die Sie in Ihrem Home-Verzeichnis selbst starten, nicht in jedem Projekt. Um Berechtigungsregeln auf alle Ihre Projekte anzuwenden, fügen Sie sie stattdessen zu Ihren Benutzereinstellungen hinzu: `~/.claude/settings.json` oder `$CLAUDE_CONFIG_DIR/settings.json`, wenn `CLAUDE_CONFIG_DIR` gesetzt ist.

788 790 

789### Was läuft ab, bevor Sie einem Ordner vertrauen791### Was läuft ab, bevor Sie einem Ordner vertrauen

790 792 


792 794 

793| Was das Repository bereitstellt | Sie haben nur einem übergeordneten Ordner vertraut | `claude -p` oder das SDK, Ordner wurde nie vertraut |795| Was das Repository bereitstellt | Sie haben nur einem übergeordneten Ordner vertraut | `claude -p` oder das SDK, Ordner wurde nie vertraut |

794| :- | :- | :- |796| :- | :- | :- |

795| [Hooks](https://code.claude.com/docs/de/hooks.md) in Einstellungsdateien, der [`env`](https://code.claude.com/docs/de/settings-reference#env)-Block und Hilfsbefehle wie [`apiKeyHelper`](https://code.claude.com/docs/de/settings-reference#apikeyhelper), und die [Hooks](https://code.claude.com/docs/de/hooks.md#hooks-in-skills-and-agents) und [`allowed-tools`](https://code.claude.com/docs/de/skills#pre-approve-tools-for-a-skill) eines Projektskills | Verwendet | Verwendet. Workspace-Vertrauen gatet nie die `allowed-tools` eines Skills in einer Sitzung |797| [Hooks](https://code.claude.com/docs/de/hooks.md) in Einstellungsdateien, der [`env`](https://code.claude.com/docs/de/settings-reference#env)-Block und Hilfsbefehle wie [`apiKeyHelper`](https://code.claude.com/docs/de/settings-reference#apikeyhelper), und die [Hooks](https://code.claude.com/docs/de/hooks.md#hooks-in-skills-and-agents) und [`allowed-tools`](https://code.claude.com/docs/de/skills#pre-approve-tools-for-a-skill) eines Projektskills | Verwendet | Verwendet. Workspace-Vertrauen steuert in keiner Sitzung die `allowed-tools` eines Skills |

796| `permissions.allow`-Regeln und `additionalDirectories` in `.claude/settings.json` | Nicht verwendet, bis Sie den Vertrauensdialog akzeptieren, der sie erneut auflistet | Nicht verwendet. Claude Code gibt eine [`this workspace has not been trusted`](https://code.claude.com/docs/de/errors#workspace-has-not-been-trusted)-Warnung auf stderr aus |798| `permissions.allow`-Regeln und `additionalDirectories` in `.claude/settings.json` | Nicht verwendet, bis Sie den Vertrauensdialog akzeptieren, der sie erneut auflistet | Nicht verwendet. Claude Code gibt eine [`this workspace has not been trusted`](https://code.claude.com/docs/de/errors#workspace-has-not-been-trusted)-Warnung auf stderr aus |

797| Frontmatter-Hooks in einem Projekt-[Subagent](https://code.claude.com/docs/de/sub-agents.md#hooks-in-subagent-frontmatter), einem Projekt-[`@skills-dir`-Plugin](https://code.claude.com/docs/de/plugins/loading#plugins-shared-through-a-repository) und [`extraKnownMarketplaces`](https://code.claude.com/docs/de/settings-reference#extraknownmarketplaces)-Einträgen aus dem Repository oder einem `--add-dir`-Verzeichnis | Nicht verwendet, und es wird kein Dialog angeboten | Nicht verwendet |799| Frontmatter-Hooks in einem Projekt-[Subagenten](https://code.claude.com/docs/de/sub-agents.md#hooks-in-subagent-frontmatter), einem Projekt-[`@skills-dir`-Plugin](https://code.claude.com/docs/de/plugins/loading#plugins-shared-through-a-repository) und [`extraKnownMarketplaces`](https://code.claude.com/docs/de/settings-reference#extraknownmarketplaces)-Einträgen aus dem Repository oder einem `--add-dir`-Verzeichnis | Nicht verwendet, und es wird kein Dialog angeboten | Nicht verwendet |

798| Inline-[`mcpServers`](https://code.claude.com/docs/de/sub-agents#scope-mcp-servers-to-a-subagent) im Frontmatter eines Subagents aus dem Repository oder einem `--add-dir`-Verzeichnis | Nicht verwendet, und es wird kein Dialog angeboten | Nicht verwendet |800| Inline-[`mcpServers`](https://code.claude.com/docs/de/sub-agents#scope-mcp-servers-to-a-subagent) im Frontmatter eines Subagenten aus dem Repository oder einem `--add-dir`-Verzeichnis | Nicht verwendet, und es wird kein Dialog angeboten | Nicht verwendet |

799| Server in `.mcp.json`, einschließlich derjenigen, die das Repository [in seinen eigenen Einstellungen genehmigt](https://code.claude.com/docs/de/mcp.md#project-server-approvals-and-workspace-trust) | Claude Code fragt Sie, bevor er sich mit ihnen verbindet. Die eigenen Genehmigungen des Repositorys zählen nicht | Verbunden ohne zu fragen, genehmigt oder nicht. Das SDK lädt sie nur, wenn `settingSources` Projekteinstellungen enthält. `claude mcp list` im selben Ordner meldet einen solchen Server immer noch als ausstehend |801| Server in `.mcp.json`, einschließlich derjenigen, die das Repository [in seinen eigenen Einstellungen genehmigt](https://code.claude.com/docs/de/mcp.md#project-server-approvals-and-workspace-trust) | Claude Code fragt Sie, bevor es sich mit ihnen verbindet. Die eigenen Genehmigungen des Repositorys zählen nicht | Verbunden ohne zu fragen, genehmigt oder nicht. Das SDK lädt sie nur, wenn `settingSources` Projekteinstellungen enthält. `claude mcp list` im selben Ordner meldet einen solchen Server immer noch als ausstehend |

800| Ein [`headersHelper`](https://code.claude.com/docs/de/mcp#trust-a-folder-before-its-headershelper-runs) auf einem Server in `.mcp.json` | Nicht ausgeführt, bis Sie den Vertrauensdialog akzeptieren, der erneut anzeigt, wo der Helper deklariert ist. Claude Code verbindet den Server nur mit seinen statischen `headers`, bis dahin | Nicht ausgeführt. Claude Code verbindet den Server mit seinen statischen `headers` und gibt eine [`headersHelper not run`](https://code.claude.com/docs/de/errors#headershelper-not-run)-Zeile pro Server auf stderr aus |802| Ein [`headersHelper`](https://code.claude.com/docs/de/mcp#trust-a-folder-before-its-headershelper-runs) auf einem Server in `.mcp.json` | Nicht ausgeführt, bis Sie den Vertrauensdialog akzeptieren, der erneut anzeigt, wo der Helper deklariert ist. Claude Code verbindet den Server bis dahin nur mit seinen statischen `headers` | Nicht ausgeführt. Claude Code verbindet den Server nur mit seinen statischen `headers` und gibt eine [`headersHelper not run`](https://code.claude.com/docs/de/errors#headershelper-not-run)-Zeile pro Server auf stderr aus |

801 803 

802Für die Zeilen, die diesen genauen Ordner vertraut benötigen, vertrauen Sie ihm manuell: Setzen Sie `projects["<path>"].hasTrustDialogAccepted` auf `true` in `~/.claude.json`, wobei `<path>` die Repository-Root oder der Ordner selbst außerhalb eines Repositorys ist. Claude Code gibt den genauen Schlüssel in der Debug-Log-Zeile für einen übersprungenen Subagent-Hook oder Inline-MCP-Server, in der stderr-Warnung für übersprungene Allow-Regeln und in der `headersHelper not run`-Zeile für einen übersprungenen Helper aus.804Für die Zeilen, die diesen genauen Ordner vertraut benötigen, vertrauen Sie ihm manuell: Setzen Sie `projects["<path>"].hasTrustDialogAccepted` auf `true` in `~/.claude.json`, wobei `<path>` die Repository-Root oder der Ordner selbst außerhalb eines Repositorys ist. Claude Code gibt den genauen Schlüssel in der Debug-Log-Zeile für einen übersprungenen Subagent-Hook oder Inline-MCP-Server, in der stderr-Warnung für übersprungene Allow-Regeln und in der `headersHelper not run`-Zeile für einen übersprungenen Helper aus.

803 805 

804Bevor Sie `claude -p` in einem Repository ausführen, das Sie nicht geschrieben haben, entscheiden Sie, was es auf Ihrem Computer ausführen kann:806Bevor Sie `claude -p` in einem Repository ausführen, das Sie nicht geschrieben haben, entscheiden Sie, was es auf Ihrem Computer ausführen darf:

805 807 

806* Übergeben Sie `--setting-sources user` oder setzen Sie die `settingSources` des SDK ohne Projekteinstellungen, damit Claude Code weder die Einstellungsdateien des Projekts noch seine `.mcp.json` liest808* Übergeben Sie `--setting-sources user` oder setzen Sie die `settingSources` des SDK ohne Projekteinstellungen, damit Claude Code weder die Einstellungsdateien des Projekts noch seine `.mcp.json` liest

807* Starten Sie mit [`--bare`](https://code.claude.com/docs/de/headless#start-faster-with-bare-mode), damit Claude Code keine Hooks, Skills, benutzerdefinierten Befehle, Subagents, Plugins oder `.mcp.json`-Server aus dem Projekt liest. Der `env`-Block des Projekts und Helfer wie `awsAuthRefresh` in seinen Einstellungsdateien gelten immer noch, und Claude Code liest `apiKeyHelper` nur aus `--settings`809* Starten Sie mit [`--bare`](https://code.claude.com/docs/de/headless#start-faster-with-bare-mode), damit Claude Code keine Hooks, Skills, benutzerdefinierten Befehle, Subagenten, Plugins oder `.mcp.json`-Server aus dem Projekt liest. Der `env`-Block des Projekts und Helfer wie `awsAuthRefresh` in seinen Einstellungsdateien gelten immer noch, und Claude Code liest `apiKeyHelper` nur aus `--settings`

808* Übergeben Sie `--settings '{"disableAllHooks": true}'`, um [Hooks auszuschalten](https://code.claude.com/docs/de/hooks.md#disable-or-remove-hooks) für diesen Lauf. Es nur in Ihren Benutzereinstellungen zu setzen, reicht nicht aus, da die Projekteinstellungen des Repositorys Vorrang vor Ihren haben und es auf `false` zurücksetzen können810* Übergeben Sie `--settings '{"disableAllHooks": true}'`, um für diesen Lauf [Hooks auszuschalten](https://code.claude.com/docs/de/hooks.md#disable-or-remove-hooks). Es nur in Ihren Benutzereinstellungen zu setzen, reicht nicht aus, da die Projekteinstellungen des Repositorys Vorrang vor Ihren haben und es auf `false` zurücksetzen können

809* Fügen Sie einen [`disabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#disabledmcpjsonservers)-Eintrag hinzu, um einen `.mcp.json`-Server nach Name in jedem Sitzungstyp abzulehnen811* Fügen Sie einen [`disabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#disabledmcpjsonservers)-Eintrag hinzu, um einen `.mcp.json`-Server nach Name in jedem Sitzungstyp abzulehnen

810 812 

811## Beispielkonfigurationen813## Beispielkonfigurationen

Details

313 313 

314Um die Tool-Aufrufe zu sehen, die die API während der Anfrage selbst ausgeführt hat, etwa Aufrufe des [Advisor-Tools](https://code.claude.com/docs/de/advisor.md), lesen Sie `result.serverToolUses`. Claude Code führt diese Aufrufe nicht aus, daher wird für sie kein `tool.call`- oder `tool.check`-Hook ausgelöst. Das Feld fehlt, wenn die Antwort keine solchen Aufrufe enthält, und erfordert Claude Code v2.1.290 oder höher.314Um die Tool-Aufrufe zu sehen, die die API während der Anfrage selbst ausgeführt hat, etwa Aufrufe des [Advisor-Tools](https://code.claude.com/docs/de/advisor.md), lesen Sie `result.serverToolUses`. Claude Code führt diese Aufrufe nicht aus, daher wird für sie kein `tool.call`- oder `tool.check`-Hook ausgelöst. Das Feld fehlt, wenn die Antwort keine solchen Aufrufe enthält, und erfordert Claude Code v2.1.290 oder höher.

315 315 

316#### Eine Anfrage an ein anderes Modell senden

317 

318Wenn eine `turn.step`-Anfrage mit einem Modellfehler fehlschlägt, während `model` ein Alias wie `haiku` ist, aktualisieren Sie auf Claude Code v2.1.309 oder höher, oder verwenden Sie eine vollständige Modell-ID. Vor v2.1.309 wurde ein Alias unverändert gesendet.

319 

320Um eine Anfrage an ein anderes Modell zu senden, übergeben Sie `next` das Event mit geändertem `model`, wie in `yield* next({ ...e, model: 'haiku' })`.

321 

316### Einen Lesevorgang der Einstellungen ändern oder ablehnen322### Einen Lesevorgang der Einstellungen ändern oder ablehnen

317 323 

318Ein `settings.read`-Hook wird beim Lesevorgang eines Mods und beim eigenen Lesevorgang von Claude Code ausgeführt:324Verwenden Sie einen `settings.read`-Hook, um einen Lesevorgang der Einstellungen zu ändern oder abzulehnen, sei es den eines Mods oder den eigenen von Claude Code:

319 325 

320* **Lesevorgang eines Mods**: Ein Mod ruft [`$.settings.read`](https://code.claude.com/docs/de/plugins/mods/api#read-one-source-or-one-key) auf.326* **Lesevorgang eines Mods**: Ein Mod ruft [`$.settings.read`](https://code.claude.com/docs/de/plugins/mods/api#read-one-source-or-one-key) auf.

321* **Eigener Lesevorgang von Claude Code**: Claude Code erstellt die zusammengeführten Einstellungen der Sitzung. Dieser Lesevorgang wiederholt sich, wenn sich die Einstellungen oder die geladenen Plugins ändern.327* **Eigener Lesevorgang von Claude Code**: Ihr Hook wird zum ersten Mal ausgeführt, wenn Claude Code die Einstellungen der Sitzung zusammenführt, nachdem die Mods der Sitzung geladen wurden. Ihr Hook wird erneut ausgeführt, wenn sich die Einstellungen oder die geladenen Plugins ändern.

322 328 

323Bevor Sie sich auf einen der beiden Lesevorgänge verlassen, prüfen Sie den Wächter und Ihre Version:329Prüfen Sie, welche Mods dieses Event erhalten, und Ihre Version von Claude Code:

324 330 

325* **Der integrierte Wächter**: Mit verwalteten Einstellungen oder mit einem Team- oder Enterprise-[`/login`](https://code.claude.com/docs/de/authentication#authentication-precedence) als Anmeldedaten der Sitzung kann der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) diesen Hook in einem Mod überspringen, den Sie installieren oder mit `--plugin-dir` laden. Um dies zu prüfen, durchsuchen Sie das [Debug-Log](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#read-the-debug-log) nach `settings.read bypassed by cc-plugin-sec-default`. Wenn eine Zeile mit diesem Text Ihren Mod nennt, bitten Sie den Administrator Ihrer Organisation, [den Mod als einen der Mods der Organisation zu installieren](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods).331* **Der integrierte Wächter**: Mit verwalteten Einstellungen oder mit einem Team- oder Enterprise-[`/login`](https://code.claude.com/docs/de/authentication#authentication-precedence) als Anmeldedaten der Sitzung kann der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) diesen Hook in einem Mod überspringen, den Sie installieren oder mit `--plugin-dir` laden. Um dies zu prüfen, durchsuchen Sie das [Debug-Log](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#read-the-debug-log) nach `settings.read bypassed by cc-plugin-sec-default`. Wenn eine Zeile mit diesem Text Ihren Mod nennt, bitten Sie den Administrator Ihrer Organisation, [den Mod als einen der Mods der Organisation zu installieren](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods).

326* **Die Version**: Das Auslösen des Events beim eigenen Lesevorgang von Claude Code und das Feld `e.layers` erfordern Claude Code v2.1.304 oder höher.332* **Die Version**: Das Auslösen des Events beim eigenen Lesevorgang von Claude Code und das Feld `e.layers` erfordern Claude Code v2.1.304 oder höher.


336 342 

337#### Den eigenen Lesevorgang von Claude Code vom Lesevorgang eines Mods unterscheiden343#### Den eigenen Lesevorgang von Claude Code vom Lesevorgang eines Mods unterscheiden

338 344 

339Beim [eigenen Lesevorgang von Claude Code](#settings-read-hook) ist [`next.origin`](https://code.claude.com/docs/de/plugins/mods/reference#the-hook-function) gleich `{ plugin: 'engine', tier: 'core' }`, und beim Lesevorgang eines Mods ist `next.origin.plugin` der Name des aufrufenden Mods.345Prüfen Sie [`next.origin`](https://code.claude.com/docs/de/plugins/mods/reference#the-hook-function):

346 

347* **Eigener Lesevorgang von Claude Code**: `{ plugin: 'engine', tier: 'core' }`

348* **Lesevorgang eines Mods**: `plugin` ist der Name des aufrufenden Mods

340 349 

341#### Was ein `settings.read`-Hook zurückgeben kann350#### Was ein `settings.read`-Hook zurückgeben kann

342 351 

343Ihr Hook kann das Ergebnis von [`next(e)`](https://code.claude.com/docs/de/plugins/mods/reference#the-hook-function) unverändert, ein eigenes `{ value }` oder `{ deny: reason }` zurückgeben. Beim [eigenen Lesevorgang von Claude Code](#settings-read-hook) und beim Lesevorgang eines Mods ersetzt ein `{ value }` das, was der Lesevorgang liefert, und `{ deny: reason }` lehnt den Lesevorgang ab:352Geben Sie das Ergebnis von [`next(e)`](#settings-read-next) unverändert zurück, um den Lesevorgang so zu belassen, wie er ist, oder geben Sie eines der folgenden zurück:

344 353 

345| Rückgabe | Beim eigenen Lesevorgang von Claude Code | Beim Lesevorgang eines Mods |354| Rückgabe | Beim [eigenen Lesevorgang von Claude Code](#settings-read-hook) | Beim Lesevorgang eines Mods |

346| :- | :- | :- |355| :- | :- | :- |

347| `{ value }` | Für jeden Schlüssel, den Sie ändern, ersetzt Ihre Rückgabe den gesamten Wert dieses Schlüssels in den zusammengeführten Einstellungen der Sitzung, sofern sie [zum Schema des Schlüssels passt](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#settings-read-key-refused) | Der Aufruf dieses Mods wird mit Ihrem `value` aufgelöst oder mit dem angeforderten `key` aus Ihrem `value`, geben Sie also ein ganzes Objekt zurück und kein Array |356| `{ value }` | Für jeden Schlüssel, den Sie ändern, ersetzen Sie dessen gesamten Wert in den zusammengeführten Einstellungen der Sitzung, sofern Ihr Wert [zum Schema des Schlüssels passt](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#settings-read-key-refused) | Der Aufruf dieses Mods wird mit Ihrem `value` aufgelöst oder mit dem angeforderten `key` aus Ihrem `value`, geben Sie also ein ganzes Objekt zurück und kein Array |

348| `{ deny: reason }` | Die Sitzung behält die Einstellungen so, wie sie zusammengeführt wurden, bevor ein Hook geantwortet hat, und das [Debug-Log hält Ihren `reason` fest](https://code.claude.com/docs/de/plugins/mods/troubleshoot#settings-read-refused) | Der Aufruf dieses Mods wird mit `<calling mod>: $.settings.read: <reason>` abgelehnt |357| `{ deny: reason }` | Die Sitzung behält die Einstellungen so, wie sie zusammengeführt wurden, bevor ein Hook geantwortet hat, und das [Debug-Log hält Ihren `reason` fest](https://code.claude.com/docs/de/plugins/mods/troubleshoot#settings-read-refused) | Der Aufruf dieses Mods wird mit `<calling mod>: $.settings.read: <reason>` abgelehnt |

349 358 

350Bauen Sie Ihr `{ value }` beim eigenen Lesevorgang von Claude Code aus dem [`value` von `next(e)`](#settings-read-next) auf, da ein Schlüssel, den Sie weglassen, nicht gesetzt ist. Wo Claude Code einen Schlüssel wie `env` aus jeder Quelle separat liest, [hat eine Änderung in Ihrem `value` keine Wirkung](https://code.claude.com/docs/de/plugins/mods/troubleshoot#settings-read-key-no-effect).359Bauen Sie Ihr `{ value }` beim eigenen Lesevorgang von Claude Code aus dem [`value` von `next(e)`](#settings-read-next) auf, da ein Schlüssel, den Sie weglassen, nicht gesetzt ist. Wo Claude Code einen Schlüssel wie `env` aus jeder Quelle separat liest, [hat eine Änderung in Ihrem `value` keine Wirkung](https://code.claude.com/docs/de/plugins/mods/troubleshoot#settings-read-key-no-effect).


373})382})

374```383```

375 384 

376Wenn Ihr Hook beim eigenen Lesevorgang von Claude Code einen Wert außerhalb des Schemas des Schlüssels zurückgibt, etwa einen String, behält nur dieser Schlüssel den Wert, der zusammengeführt wurde, bevor ein Hook geantwortet hat. Das Debug-Log meldet dann [`the answer for <key> is no value the key can hold`](https://code.claude.com/docs/de/plugins/mods/troubleshoot#settings-read-key-refused). Wenn Ihr Wert passt und sich der Schlüssel trotzdem nicht ändert, lesen Sie, [warum ein zurückgegebener Schlüssel keine Wirkung hat](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#settings-read-key-no-effect).385Wenn Ihr Hook beim eigenen Lesevorgang von Claude Code einen Wert außerhalb des Schemas des Schlüssels zurückgibt, etwa einen String, behält nur dieser Schlüssel den Wert, der zusammengeführt wurde, bevor ein Hook geantwortet hat. Das Debug-Log meldet dann [`the answer for <key> is no value the key can hold`](https://code.claude.com/docs/de/plugins/mods/troubleshoot#settings-read-key-refused). Wenn Ihr Wert passt und sich der Schlüssel trotzdem nicht ändert, lesen Sie, [warum ein Schlüssel nicht wirksam wird](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#settings-read-key-no-effect).

377 386 

378### Die Events der Einstellungs-Hooks behandeln387### Die Events der Einstellungs-Hooks behandeln

379 388 

Details

421Note: Type a note and press Enter421Note: Type a note and press Enter

422```422```

423 423 

424Fügen Sie `rows` hinzu, damit das Feld mehrere Zeilen aufnehmen kann. Die Eingabetaste sendet weiterhin ab, und ein Backslash vor der Eingabetaste beginnt eine neue Zeile, ebenso wie Umschalt+Eingabetaste, sofern [das Terminal dies unterstützt](https://code.claude.com/docs/de/terminal-config.md#enter-multiline-prompts). Die Galerie zeigt [ein Feld mit `rows`](https://code.claude.com/docs/de/plugins/mods/gallery#input).424Setzen Sie `rows` auf 2 oder mehr, um [ein Feld zu erhalten, das mehrere Zeilen aufnimmt](https://code.claude.com/docs/de/plugins/mods/gallery.md#input).

425 425 

426Die [Oberflächengalerie](https://code.claude.com/docs/de/plugins/mods/gallery.md) enthält Beispiele und Screenshots der meisten Elemente. Diese Tabelle listet alle Elemente auf:426Die [Oberflächengalerie](https://code.claude.com/docs/de/plugins/mods/gallery.md) enthält Beispiele und Screenshots der meisten Elemente. Diese Tabelle listet alle Elemente auf:

427 427 


546| Taste | Was sie bewirkt |546| Taste | Was sie bewirkt |

547| :- | :- |547| :- | :- |

548| Tab | Wechselt zum nächsten Steuerelement |548| Tab | Wechselt zum nächsten Steuerelement |

549| Pfeil nach oben und unten | Wechseln zwischen Steuerelementen, solange Ihre Zeichnung hineinpasst. Wenn der Bereich oder das Band mehr Zeilen hat, als angezeigt werden können, scrollen sie ihn. In einem `Input` wechseln sie zuerst [zwischen den Zeilen des Felds](https://code.claude.com/docs/de/plugins/mods/gallery.md#input). |549| Pfeil nach oben und unten | Wechseln zwischen Steuerelementen, solange Ihre Zeichnung hineinpasst. Wenn der Bereich oder das Band mehr Zeilen hat, als angezeigt werden können, scrollen sie ihn. In einem `Input` im Terminal wechseln sie [zwischen den Zeilen des Felds](https://code.claude.com/docs/de/plugins/mods/gallery.md#input), und von seiner ersten oder letzten Zeile aus wechseln sie zum vorherigen bzw. nächsten Steuerelement. |

550| Enter | Drückt den fokussierten `Button`, sendet das fokussierte `Input` ab oder wählt in einem `Select` aus |550| Enter | Drückt den fokussierten `Button`, sendet das fokussierte `Input` ab oder wählt in einem `Select` aus |

551| Der Hotkey einer Schaltfläche | Drückt diese Schaltfläche. Solange ein `Input` den Fokus hat, geht jede druckbare Taste an das Feld. |551| Der Hotkey einer Schaltfläche | Drückt diese Schaltfläche. Solange ein `Input` den Fokus hat, geht jede druckbare Taste an das Feld. |

552| Page Up, Page Down, Home und End | Scrollen Ihren Bereich oder Ihr Band, wenn er bzw. es mehr Zeilen hat, als angezeigt werden können |552| Page Up, Page Down, Home und End | Scrollen Ihren Bereich oder Ihr Band, wenn er bzw. es mehr Zeilen hat, als angezeigt werden können |

Details

110 110 

111### Befehle und Konfiguration111### Befehle und Konfiguration

112 112 

113Befehls- und Konfigurations-Events werden ausgelöst, wenn ein Befehl ausgeführt oder aufgelistet wird, wenn eine `/config`-Zeile angezeigt oder geändert wird und wenn Einstellungen gelesen werden:

114 

115| Event | Wird ausgelöst, wenn | Ein Hook kann zurückgeben |113| Event | Wird ausgelöst, wenn | Ein Hook kann zurückgeben |

116| :- | :- | :- |114| :- | :- | :- |

117| [`command.run`](https://code.claude.com/docs/de/plugins/mods/api#add-a-command) | Ein Befehl gleich ausgeführt wird | `{ text }`, `{}` oder `next(e)` |115| [`command.run`](https://code.claude.com/docs/de/plugins/mods/api#add-a-command) | Ein Befehl gleich ausgeführt wird | `{ text }`, `{}` oder `next(e)` |

118| `command.describe` | Einmal für jeden Befehl, für die Befehlsliste | `{ description, argumentHint, isHidden }` |116| `command.describe` | Einmal für jeden Befehl, für die Befehlsliste | `{ description, argumentHint, isHidden }` |

119| `config.set` | Eine `/config`-Zeile sich gleich ändert | `next({ ...e, value })` oder `{ deny: reason }` |117| `config.set` | Eine `/config`-Zeile sich gleich ändert | `next({ ...e, value })` oder `{ deny: reason }` |

120| `config.describe` | Einmal für jede `/config`-Zeile | `{ label, description, isHidden }` |118| `config.describe` | Einmal für jede `/config`-Zeile | `{ label, description, isHidden }` |

121| [`settings.read`](https://code.claude.com/docs/de/plugins/mods/events#settings-read-hook) | Ein Mod [`$.settings.read`](https://code.claude.com/docs/de/plugins/mods/api#reach-files-processes-and-the-network) aufruft oder Claude Code die zusammengeführten Einstellungen der Sitzung erstellt | `next(e)`, `{ value }` oder `{ deny: reason }` |119| [`settings.read`](https://code.claude.com/docs/de/plugins/mods/events#settings-read-hook) | Ein Mod [`$.settings.read`](https://code.claude.com/docs/de/plugins/mods/api#reach-files-processes-and-the-network) aufruft oder Claude Code die zusammengeführten Einstellungen der Sitzung erstellt. Erfordert Claude Code v2.1.304 oder höher beim eigenen Lesevorgang von Claude Code und für `e.layers` | `next(e)`, `{ value }` oder `{ deny: reason }` |

122 120 

123#### `e.layers` und `e.source` in `settings.read`121#### `e.layers` und `e.source` in `settings.read`

124 122 

125* **`e.layers`**: ein `{ source, settings }`-Objekt für jede verwendete Quelle, die Einstellungen enthält, mit dem niedrigsten [Vorrang](https://code.claude.com/docs/de/settings.md#settings-precedence) zuerst. Siehe [Was ein `settings.read`-Hook erhält](https://code.claude.com/docs/de/plugins/mods/events#settings-read-receives).123* **`e.layers`**: ein `{ source, settings }`-Objekt für jede verwendete Quelle, die Einstellungen enthält, mit dem niedrigsten [Vorrang](https://code.claude.com/docs/de/settings.md#settings-precedence) zuerst. Siehe [Was ein `settings.read`-Hook erhält](https://code.claude.com/docs/de/plugins/mods/events#settings-read-receives).

126* **`e.source`**: die eine Quelle, die ein Mod angefordert hat, wie in `$.settings.read({ source: 'policy' })`. Nicht vorhanden beim eigenen Lesevorgang von Claude Code und bei jedem anderen Lesevorgang der zusammengeführten Einstellungen124* **`e.source`**: die eine Quelle, die ein Mod angefordert hat, wie in `$.settings.read({ source: 'policy' })`. Nicht vorhanden beim eigenen Lesevorgang von Claude Code und bei einem Lesevorgang der zusammengeführten Einstellungen

127 

128Bei `settings.read` erfordern das Auslösen des Events beim eigenen Lesevorgang von Claude Code und das Feld `e.layers` Claude Code v2.1.304 oder höher. Wann der Hook ausgeführt wird und was der Hook zurückgeben kann, mit einem Beispiel, finden Sie unter [Einen Lesevorgang von Einstellungen ändern oder ablehnen](https://code.claude.com/docs/de/plugins/mods/events.md#settings-read-hook).

129 125 

130### Turns126### Turns

131 127 


271| :- | :- | :-: | :-: | :-: |267| :- | :- | :-: | :-: | :-: |

272| [`Box`](https://code.claude.com/docs/de/plugins/mods/interface#build-a-tree-from-elements) | `key`, Flex-Layout, [`gap`, `padding`, `margin`](#box-spacing-steps), `width`, `height`, `minWidth`, `minHeight`, [`borderStyle`](#box-border-styles), `borderColor`, `borderDimColor`, `backgroundColor`, `position`, `top`, `left`, `right`, `bottom`, `overflow`, `display`, `hover` | ✓ | ✓ | ✓ |268| [`Box`](https://code.claude.com/docs/de/plugins/mods/interface#build-a-tree-from-elements) | `key`, Flex-Layout, [`gap`, `padding`, `margin`](#box-spacing-steps), `width`, `height`, `minWidth`, `minHeight`, [`borderStyle`](#box-border-styles), `borderColor`, `borderDimColor`, `backgroundColor`, `position`, `top`, `left`, `right`, `bottom`, `overflow`, `display`, `hover` | ✓ | ✓ | ✓ |

273| [`Text`](https://code.claude.com/docs/de/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, [`bold`](#text-bold), `italic`, `underline`, `strikethrough`, `dimColor`, `inverse`, `wrap`, [`size`, `weight`, `mono`, `tabular`](#text-typography), `hover` | ✓ | ✓ | ✓ |269| [`Text`](https://code.claude.com/docs/de/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, [`bold`](#text-bold), `italic`, `underline`, `strikethrough`, `dimColor`, `inverse`, `wrap`, [`size`, `weight`, `mono`, `tabular`](#text-typography), `hover` | ✓ | ✓ | ✓ |

274| [`Button`](https://code.claude.com/docs/de/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action`, `hover` | ✓ | ✓ | ✓ |270| [`Button`](https://code.claude.com/docs/de/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `children`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action`, `variant`, `role`, `hover` | ✓ | ✓ | ✓ |

275| [`Link`](https://code.claude.com/docs/de/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. Siehe [Grenzen](#limits). | ✓ | ✓ | ✓ |271| [`Link`](https://code.claude.com/docs/de/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. Siehe [Grenzen](#limits). | ✓ | ✓ | ✓ |

276| [`Code`](https://code.claude.com/docs/de/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | ✓ | ✓ | ✓ |272| [`Code`](https://code.claude.com/docs/de/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | ✓ | ✓ | ✓ |

277| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | ✓ | ✓ | ✓ |273| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | ✓ | ✓ | ✓ |


288* **Ziffern-Hotkeys im Band**: Ein Ziffern-`hotkey` auf einer Schaltfläche im Band wird auch ausgelöst, wenn der Benutzer nur diese Ziffer in einen leeren Prompt eingibt und innehält284* **Ziffern-Hotkeys im Band**: Ein Ziffern-`hotkey` auf einer Schaltfläche im Band wird auch ausgelöst, wenn der Benutzer nur diese Ziffer in einen leeren Prompt eingibt und innehält

289* **Ein eingeklapptes Band**: Solange das Band [eingeklappt](https://code.claude.com/docs/de/plugins/mods/interface.md#when-the-user-collapses-the-band) ist, drückt weder eine `action`-Tastenkombination noch ein Hotkey eine Schaltfläche darin285* **Ein eingeklapptes Band**: Solange das Band [eingeklappt](https://code.claude.com/docs/de/plugins/mods/interface.md#when-the-user-collapses-the-band) ist, drückt weder eine `action`-Tastenkombination noch ein Hotkey eine Schaltfläche darin

290* **Zwei Schaltflächen mit demselben Hotkey**: Wenn zwei Schaltflächen in einer Zeichnung denselben `hotkey` angeben, erhält ihn die spätere286* **Zwei Schaltflächen mit demselben Hotkey**: Wenn zwei Schaltflächen in einer Zeichnung denselben `hotkey` angeben, erhält ihn die spätere

287* **`variant`**: `primary` oder `secondary`; jeder andere Wert löst einen Fehler aus. Im Terminal wird eine `primary`-Schaltfläche in der Akzentfarbe gezeichnet, sofern sie nicht `plain` ist.

288* **`role`**: `dismiss` kennzeichnet eine Schließen-Schaltfläche; jeder andere Wert löst einen Fehler aus. Führen Sie das Schließen in Ihrem `onPress` aus. In einem Band mit Text und einer Reihe von Schaltflächen kann die Desktop-App die erste `dismiss`-Schaltfläche der Reihe als eigenes Schließen-Steuerelement zeichnen. Das Terminal zeichnet die Schaltfläche so, wie es sie ohne `role` zeichnen würde.

289 

290Ein `Button` kann anstelle eines `label` auch `children` enthalten:

291 

292* **Was Children sein können**: Strings und `Text`-Elemente, etwa ein Name gefolgt von einem abgeblendeten Detail oder ein farbiger Chip. Claude Code lehnt jedes andere Element innerhalb eines `Button` ab.

293* **Benennung der Schaltfläche**: Das `label` benennt die Schaltfläche und entspricht standardmäßig dem Text ihrer Children. Geben Sie einer Schaltfläche, deren Children nicht aus einem einzelnen String bestehen, einen `key` oder ein `label`.

294* **Im Terminal**: Die Children werden dort gezeichnet, wo das Label stehen würde, und ein Drücken an beliebiger Stelle darauf zählt als ein Drücken, sodass Sie jede Zeile einer Liste zu einer einzelnen Schaltfläche machen können

295* **In der Desktop-App und der VS Code-Erweiterung**: Die Schaltfläche zeichnet ihr `label`

296 

297> [!NOTE]

298>

299> Ein `Button` mit Children, die nicht aus einem einzelnen String bestehen, erfordert Claude Code v2.1.295 oder höher.

291 300 

292`autoFocus` akzeptiert bei jedem Steuerelement nur `true`; lassen Sie die Prop also weg, um es deaktiviert zu lassen.301`autoFocus` akzeptiert bei jedem Steuerelement nur `true`; lassen Sie die Prop also weg, um es deaktiviert zu lassen.

293 302 


295 304 

296* **`Box`**: `position` mit seinen `top`, `left`, `right` und `bottom`, `alignSelf`, `borderDimColor` und `hover`305* **`Box`**: `position` mit seinen `top`, `left`, `right` und `bottom`, `alignSelf`, `borderDimColor` und `hover`

297* **`Text`**: `size`, `mono`, `tabular` und `hover`306* **`Text`**: `size`, `mono`, `tabular` und `hover`

298* **`Button`**: `hotkey`, `plain`, `autoFocus`, `action` und `hover`, sodass der Benutzer eine Schaltfläche dort per Klick drückt oder mit der Eingabetaste, sobald sie den Fokus hat307* **`Button`**: `hotkey`, `plain`, `autoFocus`, `action` und `hover`, sodass der Benutzer eine Schaltfläche dort per Klick drückt oder mit der Eingabetaste, sobald sie den Fokus hat. Die Erweiterung ignoriert außerdem `variant` und `role`.

299* **`Code`**: `language`, `path`, `startLine`, `format` und `wrap`, sodass Code ohne Farben oder Zeilennummern gezeichnet wird und ein Block mit `format: 'diff'` den Rohtext des Diffs anzeigt308* **`Code`**: `language`, `path`, `startLine`, `format` und `wrap`, sodass Code ohne Farben oder Zeilennummern gezeichnet wird und ein Block mit `format: 'diff'` den Rohtext des Diffs anzeigt

300* **`Input` und `Select`**: `autoFocus`309* **`Input` und `Select`**: `autoFocus` sowie `rows` bei einem `Input`

301* **`Svg`**: `isInteractive`310* **`Svg`**: `isInteractive`

302 311 

303### Rahmenstile für `Box`312### Rahmenstile für `Box`


364| Ausführungszeit eines `.catch`-Handlers | 1 Sekunde |373| Ausführungszeit eines `.catch`-Handlers | 1 Sekunde |

365| Alle `session.end`-Hooks zusammen | So lange wie das [Zeitbudget des SessionEnd-Hooks](https://code.claude.com/docs/de/hooks.md#sessionend-input), 1,5 Sekunden, sofern Sie es nicht ändern, gemessen ab dem Zeitpunkt, an dem die `SessionEnd`-Hooks aus Ihren Einstellungen abgeschlossen sind |374| Alle `session.end`-Hooks zusammen | So lange wie das [Zeitbudget des SessionEnd-Hooks](https://code.claude.com/docs/de/hooks.md#sessionend-input), 1,5 Sekunden, sofern Sie es nicht ändern, gemessen ab dem Zeitpunkt, an dem die `SessionEnd`-Hooks aus Ihren Einstellungen abgeschlossen sind |

366| `$.process.run`-Timeout | Standardmäßig 30 Sekunden, höchstens 10 Minuten |375| `$.process.run`-Timeout | Standardmäßig 30 Sekunden, höchstens 10 Minuten |

376| `$.process.run` `stdout` und `stderr` | Jeweils 4 MiB. `isStdoutTruncated` bzw. `isStderrTruncated` ist `true`, wenn eine der Ausgaben abgeschnitten wurde. |

367| `$.model.complete` `maxTokens` | Standardmäßig 1024, bis zu 64.000 oder das Ausgabelimit des Modells |377| `$.model.complete` `maxTokens` | Standardmäßig 1024, bis zu 64.000 oder das Ausgabelimit des Modells |

368| `$.fs.read` und `$.fs.write` | 4 MiB für eine Datei |378| `$.fs.read` und `$.fs.write` | 4 MiB für eine Datei |

369| Request-Body eines `$.http.fetch`-Aufrufs | 4 MiB, gezählt in Zeichen. Ein Aufruf mit einem größeren Body wird abgelehnt. |379| Request-Body eines `$.http.fetch`-Aufrufs | 4 MiB, gezählt in Zeichen. Ein Aufruf mit einem größeren Body wird abgelehnt. |


381| `$.store` | Insgesamt 4 MiB JSON |391| `$.store` | Insgesamt 4 MiB JSON |

382| `$.session.messages()` | Die neuesten 4.096 Einträge |392| `$.session.messages()` | Die neuesten 4.096 Einträge |

383| Neuzeichnungen durch `$.ui.invalidate('ui.render')` | Gedrosselt auf 10 pro Sekunde bzw. 30 im Terminal für den sichtbaren Bereich, das erweiterte Band und die Hinweiszeile unter dem Eingabefeld. Früher eingehende Aufrufe werden zusammengefasst. |393| Neuzeichnungen durch `$.ui.invalidate('ui.render')` | Gedrosselt auf 10 pro Sekunde bzw. 30 im Terminal für den sichtbaren Bereich, das erweiterte Band und die Hinweiszeile unter dem Eingabefeld. Früher eingehende Aufrufe werden zusammengefasst. |

384| `$.ui.toast` | Wird 4 Sekunden lang angezeigt, sofern Sie nicht `{ timeoutMs }` übergeben |394| `$.ui.toast` | Wird 4 Sekunden lang angezeigt, sofern Sie nicht `{ timeoutMs }` übergeben. Im [klassischen Renderer](https://code.claude.com/docs/de/fullscreen.md#enable-fullscreen-rendering) kann ein neuerer Toast eines Mods [den Platz seines älteren Toasts einnehmen](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#a-toast-doesn’t-appear), der gerade angezeigt wird oder auf die Anzeige wartet. |

385| Ein Bereich, der ohne Anforderung durch den Benutzer geöffnet wird | Wird ab 144 Terminalspalten platziert, ab 110, nachdem der Benutzer ihn einmal geöffnet hat |395| Ein Bereich, der ohne Anforderung durch den Benutzer geöffnet wird | Wird ab 144 Terminalspalten platziert, ab 110, nachdem der Benutzer ihn einmal geöffnet hat |

396| Verschachtelungstiefe der Argumente eines Aufrufs der Mods-API | 28.000 Ebenen. Darüber hinaus wird der Aufruf mit einer Meldung abgelehnt, die auf `nesting deeper than 28000 levels is not supported` endet. Erfordert Claude Code v2.1.299 oder höher. |

397| Verschachtelungstiefe eines geänderten Ereignisses, das an `next` übergeben wird, außerhalb von [asynchronen Generator-Hooks](#events) wie einem Hook auf `turn.step` | 28.000 Ebenen. Darüber hinaus wird `next` mit einer Meldung abgelehnt, die auf `nesting deeper than 28000 levels is not supported` endet. Erfordert Claude Code v2.1.299 oder höher. |

398| Verschachtelungstiefe des Rückgabewerts eines Hooks, außerhalb von `ui.render`, `ui.resolve` und asynchronen Generator-Hooks | 28.000 Ebenen. Darüber hinaus wird das Ergebnis des Hooks zurückgewiesen, und [der Hinweis, der dies meldet](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing), enthält `nesting deeper than 28000 levels is not supported`. Erfordert Claude Code v2.1.299 oder höher. |

386| Geltungsbereiche wie Funktionen, Blöcke und Schleifen, die in einer Datei eines Hooks-Moduls ineinander verschachtelt sind | 2.000 |399| Geltungsbereiche wie Funktionen, Blöcke und Schleifen, die in einer Datei eines Hooks-Moduls ineinander verschachtelt sind | 2.000 |

387| Namen von Befehlen, Tools, Subagent-Typen und Bereichen | Buchstaben, Ziffern, `_` und `-`, bis zu 64 Zeichen |400| Namen von Befehlen, Tools, Subagent-Typen und Bereichen | Buchstaben, Ziffern, `_` und `-`, bis zu 64 Zeichen |

388| Ein Test von `claude plugin test` | 5 Sekunden, sofern der Test nicht `timeoutMs` festlegt |401| Ein Test von `claude plugin test` | 5 Sekunden, sofern der Test nicht `timeoutMs` festlegt |

Details

341 341 

342### Ein Schlüssel, den Ihr `settings.read`-Hook zurückgibt, wird nicht wirksam342### Ein Schlüssel, den Ihr `settings.read`-Hook zurückgibt, wird nicht wirksam

343 343 

344Zurückgegebene `env`-Einträge werden nicht zu Umgebungsvariablen. Zurückgegebene `allow`-, `ask`- und `deny`-Regeln werden bei Tool-Aufrufen nicht geprüft. Legen Sie diese in einer [Einstellungsdatei](https://code.claude.com/docs/de/settings.md) fest, oder rufen Sie für Umgebungsvariablen [`$.env.set`](https://code.claude.com/docs/de/plugins/mods/api#reach-files-processes-and-the-network) auf.344Wenn Sie beim [eigenen Lesevorgang von Claude Code](https://code.claude.com/docs/de/plugins/mods/events.md#settings-read-hook) Berechtigungsregeln oder `env` zurückgeben, werden die Regeln bei Tool-Aufrufen nicht geprüft, und die `env`-Einträge werden nicht zu Umgebungsvariablen. Verwenden Sie für beides eine [Einstellungsdatei](https://code.claude.com/docs/de/settings.md) oder für `env` [`$.env.set`](https://code.claude.com/docs/de/plugins/mods/api#reach-files-processes-and-the-network).

345 345 

346Prüfen Sie bei einem anderen Schlüssel, [welche Mods `settings.read` erhalten und ab welcher Version](https://code.claude.com/docs/de/plugins/mods/events#settings-read-hook), durchsuchen Sie dann das [Debug-Log](#read-the-debug-log) nach `settings.read` und suchen Sie nach einer dieser Zeilen:346Prüfen Sie bei einem anderen Schlüssel, [welche Mods `settings.read` erhalten und ab welcher Version](https://code.claude.com/docs/de/plugins/mods/events#settings-read-hook), durchsuchen Sie dann das [Debug-Log](#read-the-debug-log) nach `settings.read` und suchen Sie nach einer dieser Zeilen:

347 347 


349| :- | :- |349| :- | :- |

350| `settings.read hook skipped`, nach dem Namen Ihres Mods | Ihr Hook ist fehlgeschlagen. [Beheben Sie den Fehler, den die Zeile meldet](#hook-skipped). |350| `settings.read hook skipped`, nach dem Namen Ihres Mods | Ihr Hook ist fehlgeschlagen. [Beheben Sie den Fehler, den die Zeile meldet](#hook-skipped). |

351| `settings.read bypassed by cc-plugin-sec-default`, in einer Zeile, die Ihren Mod davor nennt | Der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) hat Ihren Hook übersprungen. Bitten Sie den Administrator Ihrer Organisation, [den Mod als einen der Mods der Organisation zu installieren](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods). |351| `settings.read bypassed by cc-plugin-sec-default`, in einer Zeile, die Ihren Mod davor nennt | Der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) hat Ihren Hook übersprungen. Bitten Sie den Administrator Ihrer Organisation, [den Mod als einen der Mods der Organisation zu installieren](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods). |

352| `settings.read: the answer for <key> is no value the key can hold` | Der zurückgegebene Wert passt nicht zum Schema des Schlüssels. [Geben Sie einen Wert zurück, den es zulässt](#settings-read-key-refused). |352| `settings.read: the answer for <key> is no value the key can hold` | Claude Code hat den Wert abgelehnt, den ein Hook für diesen Schlüssel zurückgegeben hat. Der Hook kann Ihrer oder der eines anderen Mods sein. Folgen Sie [dem Schritt für Ihren Fall](#settings-read-key-refused). |

353| `settings.read: the merge never settles for <key>` | Die Schlüssel, die die Zeile nennt, behalten die Werte der Einstellungsquellen. Legen Sie sie in einer Einstellungsdatei fest. |353| `settings.read: the merge never settles for <key>` | Die Schlüssel, die die Zeile nennt, behalten die Werte der Einstellungsquellen. Legen Sie sie in einer Einstellungsdatei fest. |

354| `answered settings.read without next()`, nach dem Namen eines Mods | Nur relevant, wenn dieser Mod [vor Ihrem ausgeführt wird](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in). Dann wurde Ihr Hook bei diesem Lesevorgang nicht ausgeführt. [Schalten Sie diesen Mod aus](https://code.claude.com/docs/de/plugins/mods/overview.md#turn-mods-on-or-off), oder bitten Sie, falls Ihre Organisation ihn bereitgestellt hat, deren Administrator darum. |354| `answered settings.read without next()`, nach dem Namen eines Mods | Ihr Hook ist betroffen, wenn der genannte Mod [vor Ihrem ausgeführt wird](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in). Dann wurde Ihr Hook bei diesem Lesevorgang nicht ausgeführt. [Schalten Sie diesen Mod aus](https://code.claude.com/docs/de/plugins/mods/overview.md#turn-mods-on-or-off), oder bitten Sie, falls Ihre Organisation ihn bereitgestellt hat, deren Administrator darum. |

355| `settings.read: refused to the engine` | Der Lesevorgang wurde abgelehnt, daher wurde kein `{ value }` eines Hooks angewendet. [Finden Sie heraus, was ihn abgelehnt hat](#settings-read-refused). |355| `settings.read: refused to the engine` | Ihr Wert wurde nicht angewendet, weil der eigene Lesevorgang von Claude Code abgelehnt wurde. [Finden Sie heraus, was ihn abgelehnt hat](#settings-read-refused). |

356 356 

357Wenn keine Zeile den Schlüssel erklärt, prüfen Sie die Mods, die vor Ihrem ausgeführt werden, auf einen `settings.read`-Hook, der [den Schlüssel ändert](https://code.claude.com/docs/de/plugins/mods/events.md#settings-read-example). Schalten Sie diesen Mod aus, oder bitten Sie den Administrator Ihrer Organisation darum. Wenn kein Hook dies tut, legen Sie den Schlüssel in einer Einstellungsdatei fest.357Wenn keine Zeile den Schlüssel erklärt, prüfen Sie die Mods, die vor Ihrem ausgeführt werden, auf einen `settings.read`-Hook, der [den Schlüssel ändert](https://code.claude.com/docs/de/plugins/mods/events.md#settings-read-example). Schalten Sie diesen Mod aus, oder bitten Sie den Administrator Ihrer Organisation darum. Wenn kein Hook dies tut, legen Sie den Schlüssel in einer Einstellungsdatei fest.

358 358 

359### `the answer for <key> is no value the key can hold`359### `the answer for <key> is no value the key can hold`

360 360 

361Diese Zeile im [Debug-Log](#read-the-debug-log) bedeutet, dass Claude Code den Wert abgelehnt hat, den Ihr [`settings.read`](https://code.claude.com/docs/de/plugins/mods/events#settings-read-hook)-Hook für den genannten Schlüssel zurückgegeben hat, und zwar nur für diesen Schlüssel:361Diese Zeile im [Debug-Log](#read-the-debug-log) bedeutet, dass Claude Code den Wert abgelehnt hat, den ein [`settings.read`](https://code.claude.com/docs/de/plugins/mods/events#settings-read-hook)-Hook für den genannten Schlüssel zurückgegeben hat, und zwar nur für diesen Schlüssel:

362 362 

363```text theme={null}363```text theme={null}

364settings.read: the answer for <key> is no value the key can hold; the settings' own value stands364settings.read: the answer for <key> is no value the key can hold; the settings' own value stands

365```365```

366 366 

367Der Wert, den Sie für den genannten Schlüssel zurückgegeben haben, passte nicht zum Schema dieses Schlüssels, zum Beispiel hinsichtlich Typ oder Wertebereich. Geben Sie einen Wert zurück, den der Eintrag des Schlüssels in der [Einstellungsreferenz](https://code.claude.com/docs/de/settings-reference.md) zulässt. Solange Ihr Wert nicht passt, behält der Schlüssel den Wert, der aus den Einstellungsquellen zusammengeführt wurde, bevor ein Hook geantwortet hat. Die Zeile nennt ihn den eigenen Wert der Einstellungen.367Der für den genannten Schlüssel zurückgegebene Wert passte nicht zum Schema dieses Schlüssels, zum Beispiel hinsichtlich Typ oder Wertebereich.

368 

369* **Ihr Wert passt nicht zum Schema des Schlüssels**: Geben Sie einen Wert zurück, den der Eintrag des Schlüssels in der [Einstellungsreferenz](https://code.claude.com/docs/de/settings-reference.md) zulässt.

370* **Ihr Wert passt**: Der nicht passende Wert stammt aus dem `settings.read`-Hook eines anderen Mods. Um diesen Mod zu finden, folgen Sie [den Schritten, um Mods nacheinander auszuschalten](#settings-read-refused). Durchsuchen Sie jedes neue Log nach dieser Zeile statt nach `refused to the engine`.

371 

372Solange der Wert nicht passt, behält der Schlüssel den Wert, der aus den Einstellungsquellen zusammengeführt wurde, bevor ein Hook geantwortet hat. Die Zeile nennt ihn den eigenen Wert der Einstellungen.

368 373 

369### `settings.read: refused to the engine`374### `settings.read: refused to the engine`

370 375 

371Diese Zeile im [Debug-Log](#read-the-debug-log) bedeutet, dass [der eigene Lesevorgang von Claude Code](https://code.claude.com/docs/de/plugins/mods/events.md#settings-read-hook) abgelehnt wurde, sodass kein `{ value }` eines Hooks angewendet wurde, auch Ihrer nicht. Wenn ein `settings.read`-Hook diesen Lesevorgang mit [`{ deny: reason }`](https://code.claude.com/docs/de/plugins/mods/events#settings-read-returns) ablehnt, enthält die Zeile die Begründung dieses Hooks:376Sie sehen diese Zeile im [Debug-Log](#read-the-debug-log), wenn [der eigene Lesevorgang von Claude Code](https://code.claude.com/docs/de/plugins/mods/events.md#settings-read-hook) abgelehnt wird, und Claude Code verwirft den Wert jedes Hooks. Wenn ein `settings.read`-Hook diesen Lesevorgang mit [`{ deny: reason }`](https://code.claude.com/docs/de/plugins/mods/events#settings-read-returns) ablehnt, enthält die Zeile die Begründung dieses Hooks:

372 377 

373```text theme={null}378```text theme={null}

374settings.read: refused to the engine (engine: $.settings.read: <reason>); the settings' own values stand379settings.read: refused to the engine (engine: $.settings.read: <reason>); the settings' own values stand

375```380```

376 381 

377Durchsuchen Sie den Code Ihres eigenen Hooks nach dem `<reason>`-Text:382Durchsuchen Sie Ihren Code nach der Begründung in den Klammern:

378 383 

379* **Ihr Code enthält ihn**: Ihr Hook hat den Lesevorgang abgelehnt. Sorgen Sie dafür, dass er `{ value }` zurückgibt, wenn [`next.origin`](https://code.claude.com/docs/de/plugins/mods/events#settings-read-origin) den eigenen Lesevorgang von Claude Code anzeigt.384* **Ihr Code enthält ihn**: Ihr Hook hat den Lesevorgang abgelehnt. Sorgen Sie dafür, dass er `{ value }` zurückgibt, wenn [`next.origin`](https://code.claude.com/docs/de/plugins/mods/events#settings-read-origin) den eigenen Lesevorgang von Claude Code anzeigt.

380* **Ihr Code enthält ihn nicht**: [Schalten Sie](https://code.claude.com/docs/de/plugins/mods/overview.md#turn-mods-on-or-off) Ihre anderen Mods nacheinander aus. Führen Sie nach jedem Mod den Befehl dieser Sitzung erneut aus Ihrer Shell aus, mit einem `--debug-file` auf einem neuen Pfad, und durchsuchen Sie diese Datei nach `refused to the engine`. Wenn die Zeile vorhanden ist, schalten Sie den nächsten Mod aus. Wenn nicht, hat der zuletzt ausgeschaltete Mod den Lesevorgang abgelehnt; lassen Sie ihn also ausgeschaltet.385* **Ihr Code enthält sie nicht**: [Schalten Sie](https://code.claude.com/docs/de/plugins/mods/overview.md#turn-mods-on-or-off) Ihre anderen Mods nacheinander aus. Wenn Ihre Organisation einen Mod bereitgestellt hat, bitten Sie deren Administrator, ihn auszuschalten. Nach jedem Mod:

386 1. Starten Sie die Sitzung aus Ihrer Shell mit `claude --debug-file ./settings-read-2.log`, gefolgt von den Flags, mit denen sie gestartet wurde. Verwenden Sie jedes Mal einen neuen Pfad.

387 2. Durchsuchen Sie diese Datei nach `refused to the engine`. Wenn die Zeile vorhanden ist, schalten Sie den nächsten Mod aus. Wenn nicht, hat der zuletzt ausgeschaltete Mod den Lesevorgang abgelehnt; lassen Sie ihn also ausgeschaltet.

381 388 

382Wenn kein anderer Mod mehr übrig ist, verwenden Sie eine [Einstellungsdatei](https://code.claude.com/docs/de/settings.md) für die Schlüssel, die Ihr Hook zurückgibt. Deren Werte gelten, während der Lesevorgang abgelehnt wird.389Wenn die Zeile bleibt und kein anderer Mod mehr übrig ist, legen Sie die Schlüssel, die Ihr Hook zurückgibt, in einer [Einstellungsdatei](https://code.claude.com/docs/de/settings.md) fest. Deren Werte gelten, während der Lesevorgang abgelehnt wird.

383 390 

384## Das Debug-Log lesen391## Das Debug-Log lesen

385 392 

Details

192Die VS Code-Erweiterung und die Desktop-App verfügen ebenfalls über einen Schalter für die automatische Verbindung:192Die VS Code-Erweiterung und die Desktop-App verfügen ebenfalls über einen Schalter für die automatische Verbindung:

193 193 

194* **VS Code-Erweiterung**: **Enable Remote Control for all sessions** im Abschnitt „Settings“ des [Befehlsmenüs](https://code.claude.com/docs/de/vs-code.md#use-the-prompt-box).194* **VS Code-Erweiterung**: **Enable Remote Control for all sessions** im Abschnitt „Settings“ des [Befehlsmenüs](https://code.claude.com/docs/de/vs-code.md#use-the-prompt-box).

195* **Desktop-App**: **Settings > Claude Code > Connect new sessions to Remote Control**. Siehe [Steuern, welche Sitzungen auf Ihren anderen Geräten angezeigt werden](https://code.claude.com/docs/de/desktop.md#control-which-sessions-appear-on-your-other-devices).195* **Desktop-App**: **Connect new sessions to Remote Control** unter **Settings > Code** oder **Settings > Claude Code**. Siehe [Steuern, welche Sitzungen auf Ihren anderen Geräten angezeigt werden](https://code.claude.com/docs/de/desktop.md#control-which-sessions-appear-on-your-other-devices).

196 196 

197Um die automatische Verbindung stattdessen über eine Einstellungsdatei einzuschalten, setzen Sie [`remoteControlAtStartup`](https://code.claude.com/docs/de/settings-reference#remotecontrolatstartup) in Ihrer Benutzerdatei `~/.claude/settings.json` oder in [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) auf `true`. In Projekt- oder lokalen Einstellungen (`.claude/settings.json`, `.claude/settings.local.json`) berücksichtigt Claude Code ein `false` und schaltet die automatische Verbindung für dieses Repository aus, ignoriert jedoch ein `true`, sodass eine eingecheckte Datei Remote Control nicht für alle aktivieren kann, die das Repository öffnen.197Um die automatische Verbindung stattdessen über eine Einstellungsdatei einzuschalten, setzen Sie [`remoteControlAtStartup`](https://code.claude.com/docs/de/settings-reference#remotecontrolatstartup) in Ihrer Benutzerdatei `~/.claude/settings.json` oder in [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) auf `true`. In Projekt- oder lokalen Einstellungen (`.claude/settings.json`, `.claude/settings.local.json`) berücksichtigt Claude Code ein `false` und schaltet die automatische Verbindung für dieses Repository aus, ignoriert jedoch ein `true`, sodass eine eingecheckte Datei Remote Control nicht für alle aktivieren kann, die das Repository öffnen.

198 198 


363 * Befehle mit Textausgabe: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` und `/reload-plugins`. `/usage-credits` gibt die Abrechnungs-URL aus, anstatt einen Browser zu öffnen. `/reload-plugins` funktioniert nur, wenn die Sitzung in einem interaktiven Terminal läuft; eine Sitzung ohne Terminal lehnt den Befehl ab.363 * Befehle mit Textausgabe: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` und `/reload-plugins`. `/usage-credits` gibt die Abrechnungs-URL aus, anstatt einen Browser zu öffnen. `/reload-plugins` funktioniert nur, wenn die Sitzung in einem interaktiven Terminal läuft; eine Sitzung ohne Terminal lehnt den Befehl ab.

364 * `/model`, `/effort`, `/fast`, `/color` und `/rename`: Übergeben Sie den Wert als Argument, zum Beispiel `/model sonnet` oder `/effort high`. Über Mobilgeräte und das Web nehmen `/model` und `/effort` das Argument anstelle der Auswahl oder des Schiebereglers im Terminal entgegen.364 * `/model`, `/effort`, `/fast`, `/color` und `/rename`: Übergeben Sie den Wert als Argument, zum Beispiel `/model sonnet` oder `/effort high`. Über Mobilgeräte und das Web nehmen `/model` und `/effort` das Argument anstelle der Auswahl oder des Schiebereglers im Terminal entgegen.

365 * `/mcp`: Gibt in der mobilen App eine Textzusammenfassung des Serverstatus zurück, anstatt die Auswahl zu öffnen. Im Web öffnet `/mcp` ohne Zusatz ein Verzeichnis der [claude.ai-Konnektoren](https://code.claude.com/docs/de/mcp.md#use-mcp-servers-from-claude-ai), anstatt die Zusammenfassung zurückzugeben. Die [Unterbefehle](https://code.claude.com/docs/de/commands.md#all-commands) `reconnect`, `enable` und `disable` funktionieren in beiden, wenn die Sitzung in einem interaktiven Terminal läuft. `/mcp reconnect` ohne Servernamen versucht es bei jedem Server erneut, der fehlgeschlagen ist oder eine Authentifizierung benötigt. Um einen claude.ai-Konnektor ohne die Auswahl zu autorisieren, siehe [Einen Konnektor erneut über Ihre Shell autorisieren](#authorize-a-connector-again-from-your-shell).365 * `/mcp`: Gibt in der mobilen App eine Textzusammenfassung des Serverstatus zurück, anstatt die Auswahl zu öffnen. Im Web öffnet `/mcp` ohne Zusatz ein Verzeichnis der [claude.ai-Konnektoren](https://code.claude.com/docs/de/mcp.md#use-mcp-servers-from-claude-ai), anstatt die Zusammenfassung zurückzugeben. Die [Unterbefehle](https://code.claude.com/docs/de/commands.md#all-commands) `reconnect`, `enable` und `disable` funktionieren in beiden, wenn die Sitzung in einem interaktiven Terminal läuft. `/mcp reconnect` ohne Servernamen versucht es bei jedem Server erneut, der fehlgeschlagen ist oder eine Authentifizierung benötigt. Um einen claude.ai-Konnektor ohne die Auswahl zu autorisieren, siehe [Einen Konnektor erneut über Ihre Shell autorisieren](#authorize-a-connector-again-from-your-shell).

366 * `/config`: Übergeben Sie in der mobilen App `key=value`, um eine Einstellung zu setzen, oder führen Sie den Befehl ohne Argument aus, um die Schlüssel aufzulisten, die Sie setzen können. Im Web öffnet `/config` stattdessen den Claude Code-Bereich Ihrer Einstellungen.366 * `/config`: Übergeben Sie in der mobilen App `key=value`, um eine Einstellung zu setzen, oder führen Sie den Befehl ohne Argument aus, um die Schlüssel aufzulisten, die Sie setzen können. Im Web öffnet `/config` stattdessen **Settings > Code** oder **Settings > Claude Code**.

367 * Bei Team und Enterprise sendet `/usage-credits` über Mobilgeräte oder das Web keine [Anfrage für Nutzungsguthaben an Ihren Admin](https://code.claude.com/docs/de/costs.md#add-usage-credits-to-your-subscription). Das Senden erfordert eine Bestätigung, die nur in der interaktiven CLI erscheint, daher weist der Befehl Sie an, ihn stattdessen dort auszuführen.367 * Bei Team und Enterprise sendet `/usage-credits` über Mobilgeräte oder das Web keine [Anfrage für Nutzungsguthaben an Ihren Admin](https://code.claude.com/docs/de/costs.md#add-usage-credits-to-your-subscription). Das Senden erfordert eine Bestätigung, die nur in der interaktiven CLI erscheint, daher weist der Befehl Sie an, ihn stattdessen dort auszuführen.

368 * `/autocompact`, ab v2.1.221: Übergeben Sie die Fenstergröße als Argument, zum Beispiel `/autocompact 500k`. Ohne Argument gibt der Befehl die aktuelle Fenstergröße als Text aus, anstatt den Dialog zu öffnen, den er in einer Terminal-Sitzung anzeigt.368 * `/autocompact`, ab v2.1.221: Übergeben Sie die Fenstergröße als Argument, zum Beispiel `/autocompact 500k`. Ohne Argument gibt der Befehl die aktuelle Fenstergröße als Text aus, anstatt den Dialog zu öffnen, den er in einer Terminal-Sitzung anzeigt.

369 * `/advisor`, ab v2.1.260: Übergeben Sie das Modell als Argument, zum Beispiel `/advisor opus`, oder übergeben Sie `off`, um den Advisor auszuschalten. Beide Formen gelten nur für die aktuelle Sitzung und lassen Ihren gespeicherten Standard unverändert. Ohne Argument gibt der Befehl den aktuellen Advisor als Text aus, anstatt die Auswahl zu öffnen.369 * `/advisor`, ab v2.1.260: Übergeben Sie das Modell als Argument, zum Beispiel `/advisor opus`, oder übergeben Sie `off`, um den Advisor auszuschalten. Beide Formen gelten nur für die aktuelle Sitzung und lassen Ihren gespeicherten Standard unverändert. Ohne Argument gibt der Befehl den aktuellen Advisor als Text aus, anstatt die Auswahl zu öffnen.

routines.md +9 −5

Details

77 77 

78**2. Benennen Sie die Aufgabe und schreiben Sie den Prompt**78**2. Benennen Sie die Aufgabe und schreiben Sie den Prompt**

79 79 

80Geben Sie der geplanten Aufgabe einen aussagekräftigen Namen und schreiben Sie den Prompt, den Claude jedes Mal ausführt. Der Prompt ist der wichtigste Teil: Die Aufgabe wird autonom ausgeführt, daher muss der Prompt in sich geschlossen und explizit darüber sein, was zu tun ist und wie Erfolg aussieht. Wählen Sie im Modell-Selector der Prompt-Eingabe ein Modell aus. Claude verwendet es bei jeder Ausführung.80Geben Sie der geplanten Aufgabe einen aussagekräftigen Namen und schreiben Sie den Prompt, den Claude jedes Mal ausführt. Der Prompt ist der wichtigste Teil: Die Aufgabe wird autonom ausgeführt, daher muss der Prompt in sich geschlossen und explizit darüber sein, was zu tun ist und wie Erfolg aussieht.

81 81 

82Wenn ein Trigger ausgelöst wird, erhält die Sitzung den gespeicherten Prompt als zugewiesene Aufgabe und führt ihn aus, anstatt ihn als nicht vertrauenswürdigen Inhalt zu behandeln, der mitten in einer Konversation angekommen ist. Der Trigger bestätigt nur, dass der Prompt vorher von einer autorisierten Sitzung in Ihrem Konto gespeichert wurde. Der ausgelöste Prompt ist daher keine Live-Benutzereingabe und kann nicht als Genehmigung oder Zustimmung für Aktionen während der Ausführung fungieren. Inhalte, die die Sitzung während der Ausführung abruft, behalten ihre normale Behandlung.82Wenn ein Trigger ausgelöst wird, erhält die Sitzung den gespeicherten Prompt als zugewiesene Aufgabe und führt ihn aus, anstatt ihn als nicht vertrauenswürdigen Inhalt zu behandeln, der mitten in einer Konversation angekommen ist. Der Trigger bestätigt nur, dass der Prompt vorher von einer autorisierten Sitzung in Ihrem Konto gespeichert wurde. Der ausgelöste Prompt ist daher keine Live-Benutzereingabe und kann nicht als Genehmigung oder Zustimmung für Aktionen während der Ausführung fungieren. Inhalte, die die Sitzung während der Ausführung abruft, behalten ihre normale Behandlung.

83 83 


115 115 

116Wenn Ihre Aufgabe Ihre eigenen Dienste direkt oder eine Domain außerhalb dieser Liste erreichen muss, bearbeiten Sie den [Netzwerkzugriff](https://code.claude.com/docs/de/cloud-environments.md#network-access) der Umgebung vor der Ausführung. Um eine separate Umgebung zu verwenden, [erstellen Sie zuerst eine](https://code.claude.com/docs/de/cloud-environments.md#configure-your-environment).116Wenn Ihre Aufgabe Ihre eigenen Dienste direkt oder eine Domain außerhalb dieser Liste erreichen muss, bearbeiten Sie den [Netzwerkzugriff](https://code.claude.com/docs/de/cloud-environments.md#network-access) der Umgebung vor der Ausführung. Um eine separate Umgebung zu verwenden, [erstellen Sie zuerst eine](https://code.claude.com/docs/de/cloud-environments.md#configure-your-environment).

117 117 

118**6. Überprüfen Sie die Konnektoren**118**6. Wählen Sie ein Modell und eine Effort-Stufe aus**

119 

120Wählen Sie im Modell-Selector der Prompt-Eingabe ein Modell aus, das Claude bei jeder Ausführung verwendet. Wenn das Modell bei einer Claude Code-Aufgabe [Effort-Stufen](https://code.claude.com/docs/de/model-config.md#adjust-effort-level) anbietet, zeigt **Effort** im selben Selector die aktuelle Stufe an. Um sie zu ändern, wählen Sie eine andere Stufe aus. Die Option **Standard** des Selectors bietet keine Stufen an.

121 

122**7. Überprüfen Sie die Konnektoren**

119 123 

120Wechseln Sie zur Registerkarte **Konnektoren** unter **Erweiterte Einstellungen**. Alle Ihre verbundenen [MCP-Konnektoren](https://code.claude.com/docs/de/mcp.md) sind standardmäßig enthalten. Entfernen Sie alle, die die Aufgabe nicht benötigt: Claude kann einen eingebundenen Konnektor während einer Ausführung verwenden, einschließlich Schreibvorgängen. Wann eine Ausführung anhält, um Sie zuerst zu fragen, erfahren Sie unter [Berechtigungsabfragen während einer Ausführung](#permission-prompts-during-a-run).124Wechseln Sie zur Registerkarte **Konnektoren** unter **Erweiterte Einstellungen**. Alle Ihre verbundenen [MCP-Konnektoren](https://code.claude.com/docs/de/mcp.md) sind standardmäßig enthalten. Entfernen Sie alle, die die Aufgabe nicht benötigt: Claude kann einen eingebundenen Konnektor während einer Ausführung verwenden, einschließlich Schreibvorgängen. Wann eine Ausführung anhält, um Sie zuerst zu fragen, erfahren Sie unter [Berechtigungsabfragen während einer Ausführung](#permission-prompts-during-a-run).

121 125 

122**7. Erstellen Sie die Aufgabe**126**8. Erstellen Sie die Aufgabe**

123 127 

124Klicken Sie auf **Erstellen**. Der Dialog wird geschlossen und die Detailseite der neuen Aufgabe öffnet sich. Die Aufgabe wird ausgeführt, sobald das nächste Mal einer ihrer Trigger passt. Um eine Ausführung sofort zu starten, klicken Sie auf der Detailseite auf **Jetzt ausführen**.128Klicken Sie auf **Erstellen**. Der Dialog wird geschlossen und die Detailseite der neuen Aufgabe öffnet sich. Die Aufgabe wird ausgeführt, sobald das nächste Mal einer ihrer Trigger passt. Um eine Ausführung sofort zu starten, klicken Sie auf der Detailseite auf **Jetzt ausführen**.

125 129 


136Wenn sich in der Desktop-App ein Menü mit **Lokal** und **Cloud** öffnet, wählen Sie **Cloud**. Eine Seite mit dem Titel **Neue Routine** oder **Neue geplante Aufgabe** öffnet sich. Füllen Sie ihre Felder aus:140Wenn sich in der Desktop-App ein Menü mit **Lokal** und **Cloud** öffnet, wählen Sie **Cloud**. Eine Seite mit dem Titel **Neue Routine** oder **Neue geplante Aufgabe** öffnet sich. Füllen Sie ihre Felder aus:

137 141 

138* **Name**: Geben Sie einen ein.142* **Name**: Geben Sie einen ein.

139* **Anweisungen**: Geben Sie den Prompt ein. Wählen Sie im selben Feld das Modell, die Repositorys und die Umgebung aus. Was jede dieser Optionen steuert, erfahren Sie in den Schritten unter [Im Web erstellen](#create-from-the-web).143* **Anweisungen**: Geben Sie den Prompt ein. Wählen Sie im selben Feld das Modell, die Effort-Stufe, sofern das Modell eine anbietet, die Repositorys und die Umgebung aus. Was jede dieser Optionen steuert, erfahren Sie in den Schritten unter [Im Web erstellen](#create-from-the-web).

140* **Trigger auswählen**: Wählen Sie **Zeitplan**, **GitHub-Ereignis** oder **API**. Für einen Zeitplan siehe [Zeitplan-Trigger hinzufügen](#add-a-schedule-trigger). Für ein [GitHub-Ereignis](#add-a-github-trigger) wählen Sie ein Repository aus. Für einen [API-Trigger](#add-an-api-trigger) kopieren Sie das Token aus dem Dialog **API-Token**, der sich öffnet, nachdem Sie auf **Erstellen** geklickt haben, da es nur einmal angezeigt wird. Um mehrere Trigger zu kombinieren, klicken Sie auf **Weiteren Trigger hinzufügen**.144* **Trigger auswählen**: Wählen Sie **Zeitplan**, **GitHub-Ereignis** oder **API**. Für einen Zeitplan siehe [Zeitplan-Trigger hinzufügen](#add-a-schedule-trigger). Für ein [GitHub-Ereignis](#add-a-github-trigger) wählen Sie ein Repository aus. Für einen [API-Trigger](#add-an-api-trigger) kopieren Sie das Token aus dem Dialog **API-Token**, der sich öffnet, nachdem Sie auf **Erstellen** geklickt haben, da es nur einmal angezeigt wird. Um mehrere Trigger zu kombinieren, klicken Sie auf **Weiteren Trigger hinzufügen**.

141* **Konnektoren**: Alle Ihre verbundenen Konnektoren sind standardmäßig enthalten. Entfernen Sie daher diejenigen, die die Aufgabe nicht benötigt.145* **Konnektoren**: Alle Ihre verbundenen Konnektoren sind standardmäßig enthalten. Entfernen Sie daher diejenigen, die die Aufgabe nicht benötigt.

142 146 


153* **API-Trigger**: Bearbeiten Sie die Aufgabe im Web unter [claude.ai/code/routines](https://claude.ai/code/routines)157* **API-Trigger**: Bearbeiten Sie die Aufgabe im Web unter [claude.ai/code/routines](https://claude.ai/code/routines)

154* **[GitHub-Trigger](#add-a-github-trigger)**: Bearbeiten Sie die Aufgabe im Web oder fragen Sie Claude in der CLI. Das Hinzufügen über die CLI erfordert Claude Code v2.1.225 oder höher158* **[GitHub-Trigger](#add-a-github-trigger)**: Bearbeiten Sie die Aufgabe im Web oder fragen Sie Claude in der CLI. Das Hinzufügen über die CLI erfordert Claude Code v2.1.225 oder höher

155 159 

156Eine geplante Aufgabe ohne Zeitplan-Trigger, etwa eine, die nur durch API-Aufrufe oder GitHub-Ereignisse gestartet wird, hat keine nächste Ausführungszeit. Die CLI zeigt keine an, wenn Claude sie speichert oder aktualisiert. Vor v2.1.211 meldete die CLI für diese Aufgaben eine nächste Ausführungszeit im Jahr 1.160Eine geplante Aufgabe ohne Zeitplan-Trigger, etwa eine, die nur durch API-Aufrufe oder GitHub-Ereignisse gestartet wird, hat keine nächste Ausführungszeit. Die CLI zeigt keine an, wenn Claude sie speichert oder aktualisiert.

157 161 

158## Trigger konfigurieren162## Trigger konfigurieren

159 163 

sandboxing.md +2 −1

Details

320* **Jeder Befehl im Aufruf muss passen**: `npm ci && docker compose build` bleibt in der Sandbox, sofern kein anderer Eintrag `npm ci` abdeckt320* **Jeder Befehl im Aufruf muss passen**: `npm ci && docker compose build` bleibt in der Sandbox, sofern kein anderer Eintrag `npm ci` abdeckt

321* **Claude Code gleicht den Text des Aufrufs ab**: Ein Skript oder `make`-Target, das intern `docker` aufruft, passt nicht, ebenso wenig `/usr/local/bin/docker`321* **Claude Code gleicht den Text des Aufrufs ab**: Ein Skript oder `make`-Target, das intern `docker` aufruft, passt nicht, ebenso wenig `/usr/local/bin/docker`

322* **Manche Aufrufe bleiben in der Sandbox**: Eine Umleitung in eine Datei, ein `cd` oder eine Befehlssubstitution wie `$(...)` hält den gesamten Aufruf in der Sandbox. Der [Referenzeintrag](https://code.claude.com/docs/de/settings-reference.md#sandbox-excludedcommands) listet weitere Aufrufe auf, die in der Sandbox bleiben322* **Manche Aufrufe bleiben in der Sandbox**: Eine Umleitung in eine Datei, ein `cd` oder eine Befehlssubstitution wie `$(...)` hält den gesamten Aufruf in der Sandbox. Der [Referenzeintrag](https://code.claude.com/docs/de/settings-reference.md#sandbox-excludedcommands) listet weitere Aufrufe auf, die in der Sandbox bleiben

323* **Ein `git clone` benötigt relative Pfade**: Ihr Eintrag deckt keinen Klon ab, der einen absoluten Pfad, einen mit `~` beginnenden Pfad oder einen Pfad mit einem `..`-Segment angibt. Wenn der Klon in Ihrem Arbeitsverzeichnis liegen kann, bitten Sie Claude, einen relativen Pfad ohne `..`-Segment zu verwenden, etwa `vendor/lib`

323* **Wo Sie den Eintrag speichern, kann eine Rolle spielen**: Solange die Sandbox [vom Administrator vorgeschrieben](#repository-settings-under-an-admin-required-sandbox) ist, ignoriert Claude Code Einträge in `.claude/settings.json` und `.claude/settings.local.json`324* **Wo Sie den Eintrag speichern, kann eine Rolle spielen**: Solange die Sandbox [vom Administrator vorgeschrieben](#repository-settings-under-an-admin-required-sandbox) ist, ignoriert Claude Code Einträge in `.claude/settings.json` und `.claude/settings.local.json`

324 325 

325Ein ausgenommener Befehl durchläuft den regulären Berechtigungsablauf:326Ein ausgenommener Befehl durchläuft den regulären Berechtigungsablauf:


354 355 

355Die Sandbox besteht aus zwei unabhängigen Ebenen: Die [Dateisystem-Isolation](#filesystem-isolation) steuert, welche Pfade Befehle in der Sandbox lesen und schreiben können, und die [Netzwerk-Isolation](#network-isolation) steuert, welche Domains sie erreichen können. Ist die Dateisystemebene ausgeschaltet, erhalten Befehle in der Sandbox uneingeschränkten Lese- und Schreibzugriff auf das Dateisystem des Hosts, während ihr ausgehender Netzwerkverkehr auf Ihre erlaubten Domains beschränkt bleibt. Schalten Sie die Ebene aus, wenn Sie die Sandbox verwenden, um zu steuern, wohin Befehle sich verbinden, und nicht, was sie schreiben.356Die Sandbox besteht aus zwei unabhängigen Ebenen: Die [Dateisystem-Isolation](#filesystem-isolation) steuert, welche Pfade Befehle in der Sandbox lesen und schreiben können, und die [Netzwerk-Isolation](#network-isolation) steuert, welche Domains sie erreichen können. Ist die Dateisystemebene ausgeschaltet, erhalten Befehle in der Sandbox uneingeschränkten Lese- und Schreibzugriff auf das Dateisystem des Hosts, während ihr ausgehender Netzwerkverkehr auf Ihre erlaubten Domains beschränkt bleibt. Schalten Sie die Ebene aus, wenn Sie die Sandbox verwenden, um zu steuern, wohin Befehle sich verbinden, und nicht, was sie schreiben.

356 357 

357`sandbox.filesystem.disabled` ist standardmäßig `false`. Erfordert Claude Code v2.1.216 oder höher.358`sandbox.filesystem.disabled` ist standardmäßig `false`.

358 359 

359> [!WARNING]360> [!WARNING]

360>361>

Details

381 381 

382| Flag, mit einem Beispielwert | Übergeben an | Funktion |382| Flag, mit einem Beispielwert | Übergeben an | Funktion |

383| :- | :- | :- |383| :- | :- | :- |

384| `--release-idle-session-min 30` | Jeden Runner, den Ihr Hook startet | Der Runner gibt seine Sitzung nach so vielen Leerlaufminuten frei und beendet sich dann mit 0. Die Sitzung wird fortgesetzt, wenn ihr Benutzer die nächste Nachricht sendet, aber [Arbeit, die noch nicht gepusht wurde, ist verloren](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#additional-limitations). |384| `--release-idle-session-min 30` | Jeden Runner, den Ihr Hook startet | Der Runner gibt seine Sitzung nach so vielen Leerlaufminuten frei und beendet sich dann mit 0. Die Sitzung wird fortgesetzt, wenn ihr Benutzer die nächste Nachricht sendet, aber [Arbeit, die noch nicht gepusht wurde, ist verloren](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#additional-limitations). [Halten Sie eine Sitzung](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#keep-an-idle-session-while-its-processes-run) für Prozesse, die sie weiterlaufen ließ. |

385| `--kill-session-after-min 480` | Jeden Runner, den Ihr Hook startet | Begrenzt jede Sitzung auf so viele Minuten, als Absicherung für [Sitzungen, die nicht als Leerlauf gelten](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle); setzen Sie den Wert daher höher als Ihre längste erwartete Sitzung |385| `--kill-session-after-min 480` | Jeden Runner, den Ihr Hook startet | Begrenzt jede Sitzung auf so viele Minuten, als Absicherung für [Sitzungen, die nicht als Leerlauf gelten](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle); setzen Sie den Wert daher höher als Ihre längste erwartete Sitzung |

386| `--exit-if-unused-min 60` | Standby-Runner, die Ihr Hook für Pre-Warming-Anfragen startet | Ein Standby-Runner, der nie eine Sitzung übernimmt, beendet sich nach so vielen Minuten. Wenn Sie [`--min-idle`](https://code.claude.com/docs/de/self-hosted-environments-reference#orchestrator-cli-flags) setzen, erhalten Sie einen Ersatz, sofern der Standby-Runner nicht überzählig war; verwenden Sie daher einen Wert deutlich über Ihrer Boot-Zeit. |386| `--exit-if-unused-min 60` | Standby-Runner, die Ihr Hook für Pre-Warming-Anfragen startet | Ein Standby-Runner, der nie eine Sitzung übernimmt, beendet sich nach so vielen Minuten. Wenn Sie [`--min-idle`](https://code.claude.com/docs/de/self-hosted-environments-reference#orchestrator-cli-flags) setzen, erhalten Sie einen Ersatz, sofern der Standby-Runner nicht überzählig war; verwenden Sie daher einen Wert deutlich über Ihrer Boot-Zeit. |

387 387 

Details

68| `code.claude.com` und `claude.com` | 443 | Dokumentations-Lookups durch den integrierten Claude-Code-Guide-Agent und vorab genehmigte WebFetch-Anfragen während Sitzungen. Das Blockieren dieser Hosts betrifft nur Dokumentations-Lookups. |68| `code.claude.com` und `claude.com` | 443 | Dokumentations-Lookups durch den integrierten Claude-Code-Guide-Agent und vorab genehmigte WebFetch-Anfragen während Sitzungen. Das Blockieren dieser Hosts betrifft nur Dokumentations-Lookups. |

69| `*.frame.claudeusercontent.com` | 443 | Nur wenn das [Artifact-Tool](https://code.claude.com/docs/de/artifacts.md#availability) für Sitzungen in Ihrer Organisation verfügbar ist; die Standardwerte variieren je nach Plan, gemäß der Verfügbarkeitstabelle dort. Setzen Sie `CLAUDE_CODE_DISABLE_ARTIFACT=1` auf dem Runner, um das Tool unabhängig von der Organisationseinstellung deaktiviert zu halten. |69| `*.frame.claudeusercontent.com` | 443 | Nur wenn das [Artifact-Tool](https://code.claude.com/docs/de/artifacts.md#availability) für Sitzungen in Ihrer Organisation verfügbar ist; die Standardwerte variieren je nach Plan, gemäß der Verfügbarkeitstabelle dort. Setzen Sie `CLAUDE_CODE_DISABLE_ARTIFACT=1` auf dem Runner, um das Tool unabhängig von der Organisationseinstellung deaktiviert zu halten. |

70| `registry.npmjs.org` | 443 | Wenn eine Sitzung ein Plugin installiert, sowohl zum Abrufen von npm-Quell-Plugin-Paketen als auch zum Installieren der Node.js-Abhängigkeiten eines Plugins, oder wenn ein `npx`-gestarteter MCP-Server läuft |70| `registry.npmjs.org` | 443 | Wenn eine Sitzung ein Plugin installiert, sowohl zum Abrufen von npm-Quell-Plugin-Paketen als auch zum Installieren der Node.js-Abhängigkeiten eines Plugins, oder wenn ein `npx`-gestarteter MCP-Server läuft |

71| Ein interner Mirror der Paket-Registrys, die Ihre Builds verwenden, oder die Registrys selbst | 443 oder der Port Ihres Mirrors | Wenn Sitzungen Abhängigkeiten installieren, um Ihre Repositorys zu bauen oder zu testen |

71| `http-intake.logs.us5.datadoghq.com` | 443 | Anthropic-Betriebsmetriken. Nur wenn `CLAUDE_CODE_BYOC_ENABLE_DATADOG=1` gesetzt ist; standardmäßig in selbstgehosteten Umgebungen deaktiviert. |72| `http-intake.logs.us5.datadoghq.com` | 443 | Anthropic-Betriebsmetriken. Nur wenn `CLAUDE_CODE_BYOC_ENABLE_DATADOG=1` gesetzt ist; standardmäßig in selbstgehosteten Umgebungen deaktiviert. |

72| `browser-intake-us5-datadoghq.com` | 443 | Anthropic-Fehlerberichts-Uploads, nur gesendet wenn [Fehlerberichterstattung](https://code.claude.com/docs/de/data-usage.md#telemetry-services) für das Konto der Sitzung aktiviert ist. Unterdrückt durch `DISABLE_ERROR_REPORTING=1` oder `DISABLE_TELEMETRY=1`. |73| `browser-intake-us5-datadoghq.com` | 443 | Anthropic-Fehlerberichts-Uploads, nur gesendet wenn [Fehlerberichterstattung](https://code.claude.com/docs/de/data-usage.md#telemetry-services) für das Konto der Sitzung aktiviert ist. Unterdrückt durch `DISABLE_ERROR_REPORTING=1` oder `DISABLE_TELEMETRY=1`. |

73| Die Endpunkte Ihres Cloud-Anbieters für Modellanfragen, Modell-Lookups und das Erneuern von Anmeldedaten, wie `bedrock-runtime.us-east-1.amazonaws.com` oder `aiplatform.googleapis.com` | 443 | Nur wenn der Runner [Modellanfragen an Amazon Bedrock oder die Agent Platform von Google Cloud sendet](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform) |74| Die Endpunkte Ihres Cloud-Anbieters für Modellanfragen, Modell-Lookups und das Erneuern von Anmeldedaten, wie `bedrock-runtime.us-east-1.amazonaws.com` oder `aiplatform.googleapis.com` | 443 | Nur wenn der Runner [Modellanfragen an Amazon Bedrock oder die Agent Platform von Google Cloud sendet](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform) |


631 632 

632In den ersten beiden Phasen nach dem Signal gibt der Runner Sitzungen frei, und eine freigegebene Sitzung wird auf einem neuen Runner fortgesetzt, wenn ihr Benutzer die nächste Nachricht sendet. Ab dem ersten Signal gerechnet durchläuft der Runner drei Phasen:633In den ersten beiden Phasen nach dem Signal gibt der Runner Sitzungen frei, und eine freigegebene Sitzung wird auf einem neuen Runner fortgesetzt, wenn ihr Benutzer die nächste Nachricht sendet. Ab dem ersten Signal gerechnet durchläuft der Runner drei Phasen:

633 634 

634* **Während der ersten `n` Minuten**: Der Runner bedient seine Sitzungen normal und setzt `--startup-timeout-min` und `--kill-session-after-min` weiterhin durch. Wenn Sie zusätzlich [`--release-idle-session-min`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags) setzen, gibt der Runner jede Sitzung frei, deren Benutzer so lange inaktiv war; ohne dieses Flag bleiben inaktive Sitzungen auf dem Runner.635* **Während der ersten `n` Minuten**: Der Runner bedient seine Sitzungen normal und setzt `--startup-timeout-min` und `--kill-session-after-min` weiterhin durch. Wenn Sie zusätzlich [`--release-idle-session-min`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags) setzen, gibt der Runner jede Sitzung frei, deren Benutzer so lange inaktiv war, sofern Sie [diese Sitzung nicht halten](#keep-an-idle-session-while-its-processes-run). Ohne dieses Flag bleiben inaktive Sitzungen auf dem Runner.

635* **Wenn die `n` Minuten abgelaufen sind**: Der Runner gibt jede Sitzung frei, die er noch hält, ob inaktiv oder nicht. Bei einer Sitzung mitten in einem Turn wartet der Runner, bis der Turn endet, und bis zu 60 weitere Sekunden auf die Hintergrundaufgaben des Turns, bevor er diese Sitzung freigibt.636* **Wenn die `n` Minuten abgelaufen sind**: Der Runner gibt jede Sitzung frei, die er noch hält, ob inaktiv oder nicht. Bei einer Sitzung mitten in einem Turn wartet der Runner, bis der Turn endet, und bis zu 60 weitere Sekunden auf die Hintergrundaufgaben des Turns, bevor er diese Sitzung freigibt.

636* **Wenn die Grace nach der Freigabe abgelaufen ist**: Der Runner leert alle Sitzungen, die er noch hält, und die Control Plane reiht jede geleerte Sitzung sofort bei einem anderen Runner neu ein. Die Grace nach der Freigabe beginnt, wenn die `n` Minuten abgelaufen sind, und beträgt mit Standardwerten 75 Sekunden. Wenn Sie `--drain-wait-sec` auf mehr als 60 Sekunden setzen, beträgt die Grace nach der Freigabe stattdessen `--drain-wait-sec` plus 15 Sekunden.637* **Wenn die Grace nach der Freigabe abgelaufen ist**: Der Runner leert alle Sitzungen, die er noch hält, und die Control Plane reiht jede geleerte Sitzung sofort bei einem anderen Runner neu ein. Die Grace nach der Freigabe beginnt, wenn die `n` Minuten abgelaufen sind, und beträgt mit Standardwerten 75 Sekunden. Wenn Sie `--drain-wait-sec` auf mehr als 60 Sekunden setzen, beträgt die Grace nach der Freigabe stattdessen `--drain-wait-sec` plus 15 Sekunden.

637 638 


716 717 

717### Inaktive Sitzungen in einer festen Flotte freigeben718### Inaktive Sitzungen in einer festen Flotte freigeben

718 719 

719Wenn Sitzungen in einer festen Flotte in der Warteschlange bleiben, obwohl alle Runner online sind, können inaktive Sitzungen die Ursache sein. Standardmäßig behält eine Sitzung ihren Slot, nachdem ihr Turn abgeschlossen ist, und ihr Runner bleibt an den [Owner](https://code.claude.com/docs/de/self-hosted-environments#key-concepts) dieser Sitzung gebunden. Wenn die [geplante Cloud-Aufgabe](https://code.claude.com/docs/de/routines.md) Ihres Teams bei jeder Ausführung eine neue Sitzung startet, können deren inaktive Sitzungen alle Slots belegen.720Wenn Sitzungen in einer festen Flotte in der Warteschlange bleiben, obwohl alle Runner online sind, können inaktive Sitzungen die Ursache sein. Standardmäßig behält eine Sitzung ihren Slot, nachdem ihr Turn abgeschlossen ist, und ihr Runner bleibt an den [Owner](https://code.claude.com/docs/de/self-hosted-environments#key-concepts) dieser Sitzung gebunden. Sitzungen anderer Owner können die freien Slots dieses Runners nicht nutzen. Wenn die [geplante Cloud-Aufgabe](https://code.claude.com/docs/de/routines.md) Ihres Teams bei jeder Ausführung eine neue Sitzung startet, können deren inaktive Sitzungen alle Slots belegen.

720 721 

721Lesen Sie zur Überprüfung `claude_code_self_hosted_runner_session_idle_seconds` in den [Prometheus-Metriken](https://code.claude.com/docs/de/self-hosted-environments-reference.md#prometheus-metrics) jedes Runners aus. Jede Sitzung, die ein Runner hält, hat ihre eigene Zeitreihe: `0`, solange die Sitzung beschäftigt ist, andernfalls die Sekunden seit Beginn der Inaktivität. Wählen Sie die Inaktivitätsdauer, die Sie zulassen möchten: länger als die Pausen, die Personen mitten in einer Aufgabe einlegen, und kurz genug, dass jede Ausführung freigegeben wird, bevor die nächste Ausführung der geplanten Aufgabe beginnt. Vergleichen Sie die Zeitreihen mit diesem Wert.722Lesen Sie zur Überprüfung `claude_code_self_hosted_runner_session_idle_seconds` in den [Prometheus-Metriken](https://code.claude.com/docs/de/self-hosted-environments-reference.md#prometheus-metrics) jedes Runners aus. Jede Sitzung, die ein Runner hält, hat ihre eigene Zeitreihe: `0`, solange die Sitzung beschäftigt ist, andernfalls die Sekunden seit Beginn der Inaktivität. Wählen Sie die Inaktivitätsdauer, die Sie zulassen möchten: länger als die Pausen, die Personen mitten in einer Aufgabe einlegen, und kurz genug, dass jede Ausführung freigegeben wird, bevor die nächste Ausführung der geplanten Aufgabe beginnt. Vergleichen Sie die Zeitreihen mit diesem Wert.

722 723 


725* **Ein Runner ohne Zeitreihe**: Keine Sitzung belegt ihn. Siehe **Sitzungen bleiben in der Warteschlange** unter [Fehlerbehebung](#troubleshooting).726* **Ein Runner ohne Zeitreihe**: Keine Sitzung belegt ihn. Siehe **Sitzungen bleiben in der Warteschlange** unter [Fehlerbehebung](#troubleshooting).

726* **Ein Runner, dessen Metriken nicht antworten**: Sein Prozess wurde möglicherweise beendet. Siehe **Eine Umgebung, die fehlerfrei aussieht** unter [Wenn der Runner beendet wird](#when-the-runner-exits).727* **Ein Runner, dessen Metriken nicht antworten**: Sein Prozess wurde möglicherweise beendet. Siehe **Eine Umgebung, die fehlerfrei aussieht** unter [Wenn der Runner beendet wird](#when-the-runner-exits).

727 728 

728Um inaktive Sitzungen freizugeben, starten Sie jeden Runner mit [`--release-idle-session-min`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags) und dieser Dauer in Minuten, etwa `--release-idle-session-min 30`. Der Runner gibt dann jede Sitzung frei, die so lange inaktiv bleibt, unabhängig davon, ob eine geplante Aufgabe oder eine Person sie gestartet hat.729Um inaktive Sitzungen freizugeben, starten Sie jeden Runner mit [`--release-idle-session-min`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags) und dieser Dauer in Minuten, etwa `--release-idle-session-min 30`. Der Runner gibt dann jede Sitzung frei, die so lange inaktiv bleibt, unabhängig davon, ob eine geplante Aufgabe oder eine Person sie gestartet hat, es sei denn, Sie [halten sie für Prozesse, die sie laufen gelassen hat](#keep-an-idle-session-while-its-processes-run).

729 730 

730* **Nicht gepushte Arbeit**: Eine freigegebene Sitzung wird bei ihrer nächsten Nachricht fortgesetzt, jedoch ohne die Arbeit, die sie nicht gepusht hatte. Wie Sie ihre Commits behalten, erfahren Sie unter [Fortgesetzte Sitzungen verlieren nicht gepushte Arbeit](#additional-limitations).731* **Nicht gepushte Arbeit**: Eine freigegebene Sitzung wird bei ihrer nächsten Nachricht fortgesetzt, jedoch ohne die Arbeit, die sie nicht gepusht hatte. Wie Sie ihre Commits behalten, erfahren Sie unter [Fortgesetzte Sitzungen verlieren nicht gepushte Arbeit](#additional-limitations).

731* **Runner wird beendet**: Ein Runner, der seine letzte Sitzung freigibt, leitet ein [normales Beenden](#when-the-runner-exits) ein. Lassen Sie ihn von Ihrem Supervisor auf einem frischen Dateisystem neu starten, wie unter [Härten Sie Ihr Deployment](#harden-your-deployment) beschrieben.732* **Runner wird beendet**: Ein Runner, der seine letzte Sitzung freigibt, leitet ein [normales Beenden](#when-the-runner-exits) ein. Lassen Sie ihn von Ihrem Supervisor auf einem frischen Dateisystem neu starten, wie unter [Härten Sie Ihr Deployment](#harden-your-deployment) beschrieben.

732* **Sitzungen, die nie inaktiv werden**: Setzen Sie zusätzlich [`--kill-session-after-min`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags), da [manche Sitzungen nicht als inaktiv gelten](#some-sessions-don’t-count-as-idle)733* **Sitzungen, die nie inaktiv werden**: Setzen Sie zusätzlich [`--kill-session-after-min`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags), da [manche Sitzungen nicht als inaktiv gelten](#some-sessions-don’t-count-as-idle)

733 734 

735### Eine inaktive Sitzung behalten, solange ihre Prozesse laufen

736 

737Um eine inaktive Sitzung zu behalten, bis Prozesse, die sie auf Ihrem Host laufen gelassen hat, beendet sind, etwa `nohup`-Jobs, starten Sie den Runner mit [`--hold-idle-file`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags) und aktualisieren Sie diese Datei fortlaufend vom Host aus per `touch`. Erfordert Claude Code v2.1.311 oder höher.

738 

739Diese Schritte setzen einen Runner ohne Root-Rechte auf einem Host voraus. Wenn Ihr Runner als `root` läuft, können seine Sitzungen die Datei selbst aktualisieren. Führen Sie ihn daher zuerst als dedizierten Benutzer aus.

740 

741**1. Einen Pfad für die Datei wählen**

742 

743Wählen Sie eine lokale reguläre Datei, etwa `/var/lib/claude-hold/hold-idle`, in einem Verzeichnis, in das Sitzungen nicht schreiben können, einschließlich der übergeordneten Verzeichnisse, sodass eine Sitzung nicht in die Datei schreiben kann. Der Runner und seine Sitzungen teilen sich einen Betriebssystembenutzer. Erstellen Sie dieses Verzeichnis daher zuerst mit einem anderen Benutzer als Eigentümer, etwa `root`, und mit dem Modus `755`.

744 

745**2. Den Runner starten**

746 

747Starten Sie den Runner aus Ihrer Shell mit `--hold-idle-file`, `--release-idle-session-min` und [`--max-hold-min`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags), der Obergrenze für das Halten, gezählt ab dem Zeitpunkt, an dem eine Sitzung inaktiv wird. Ohne diese Option beträgt die Obergrenze einen Tag. Setzen Sie den Wert höher als `--release-idle-session-min`, sonst wird nichts gehalten. Dieses Beispiel gibt inaktive Sitzungen nach 30 Minuten frei und gibt eine gehaltene Sitzung spätestens 4 Stunden nach Beginn ihrer Inaktivität frei:

748 

749```bash theme={null}

750claude self-hosted-runner \

751 --environment-secret-file /etc/claude/environment-secret \

752 --release-idle-session-min 30 \

753 --hold-idle-file /var/lib/claude-hold/hold-idle \

754 --max-hold-min 240

755```

756 

757**3. Die Datei aktualisieren, solange die Prozesse laufen**

758 

759Solange die Prozesse laufen, aktualisieren Sie die Datei per `touch` vom Host aus als Eigentümer des Verzeichnisses, häufiger als alle drei Minuten. Das erste `touch` erstellt die Datei. Fügen Sie beispielsweise diese Zeile zur Crontab von `root` hinzu:

760 

761```text theme={null}

762* * * * * pgrep -x nightly-build > /dev/null && touch /var/lib/claude-hold/hold-idle

763```

764 

765Die Zeile wird einmal pro Minute ausgeführt und aktualisiert die Datei, solange ein Prozess namens `nightly-build` läuft. Eine Sitzung, die einen solchen Prozess startet, bleibt somit bis zur Obergrenze gehalten. Ersetzen Sie die `pgrep`-Prüfung durch die Methode, mit der Ihr Host ermittelt, was Sitzungen laufen gelassen haben.

766 

767Die Prüfung muss aufhören zu treffen, wenn diese Prozesse beendet sind, sonst bleibt jede inaktive Sitzung auf diesem Runner bis zur Obergrenze gehalten.

768 

769**4. Das Halten bestätigen**

770 

771Prüfen Sie, solange die Prozesse laufen, dass die Änderungszeit der Datei stets weniger als drei Minuten zurückliegt. Wenn die Inaktivitätsdauer einer Sitzung abläuft, suchen Sie im Log des Runners nach `idle release held`. Erscheint keine solche Zeile, lesen Sie `leftover-hold=` in der Zeile `watchdog config`, die der Runner beim Start protokolliert. Sie zeigt die Datei und die Obergrenze oder den Grund, warum nichts gehalten wird.

772 

773Drei Minuten nach dem letzten `touch` endet das Halten. Innerhalb von etwa einer weiteren Minute zeigt das Log `idle release no longer held`, und der Runner gibt die Sitzung frei.

774 

775Auch wenn sich die Datei weiterhin ändert, kann das Halten enden, etwa in diesen Fällen:

776 

777* **Obergrenze überschritten**: `--max-hold-min` läuft ab. Um länger zu halten, erhöhen Sie den Wert

778* **Erzwungene Freigaben**: Sie haben [`--retire-at`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags), [`--defer-shutdown-max-min`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags) oder [`--kill-session-after-min`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags) gesetzt, und dieses Limit wird erreicht. Um länger zu halten, setzen Sie ein späteres Limit

779 

734## Bekannte Probleme und Einschränkungen780## Bekannte Probleme und Einschränkungen

735 781 

736Die folgenden sind die Einschränkungen in dieser Version, mit Umgehungen, wo eine existiert.782Die folgenden sind die Einschränkungen in dieser Version, mit Umgehungen, wo eine existiert.


828* **Claude Tag postet seine Antwort in Slack manchmal nicht**: Die Antwort-Erinnerung ist ein [Hook, den die Control Plane bereitstellt](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#how-each-session’s-config-is-assembled). Prüfen Sie mit `claude --version`, ob der Runner Claude Code v2.1.229 oder neuer ist, da ältere Runner bereitgestellte Hooks ignorieren; prüfen Sie, ob `python3 --version` im Runner-Image erfolgreich ausgeführt wird, da die Hooks `python3` ausführen; und prüfen Sie, dass keine Einstellungsdatei Hooks ausschaltet, sei es `disableAllHooks` in `managed-settings.json`, in der `~/.claude/settings.json` des Runner-Benutzers oder in der `.claude/settings.json` oder `.claude/settings.local.json` des Repositorys, oder `allowManagedHooksOnly` oder eine [`strictPluginOnlyCustomization`](https://code.claude.com/docs/de/settings-reference#strictpluginonlycustomization) in den verwalteten Einstellungen, die Hooks abdeckt.874* **Claude Tag postet seine Antwort in Slack manchmal nicht**: Die Antwort-Erinnerung ist ein [Hook, den die Control Plane bereitstellt](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#how-each-session’s-config-is-assembled). Prüfen Sie mit `claude --version`, ob der Runner Claude Code v2.1.229 oder neuer ist, da ältere Runner bereitgestellte Hooks ignorieren; prüfen Sie, ob `python3 --version` im Runner-Image erfolgreich ausgeführt wird, da die Hooks `python3` ausführen; und prüfen Sie, dass keine Einstellungsdatei Hooks ausschaltet, sei es `disableAllHooks` in `managed-settings.json`, in der `~/.claude/settings.json` des Runner-Benutzers oder in der `.claude/settings.json` oder `.claude/settings.local.json` des Repositorys, oder `allowManagedHooksOnly` oder eine [`strictPluginOnlyCustomization`](https://code.claude.com/docs/de/settings-reference#strictpluginonlycustomization) in den verwalteten Einstellungen, die Hooks abdeckt.

829* **Eine Sitzung startet ohne eines ihrer Repositories**: Auf einem Runner ohne [`checkout` Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#checkout) kann der Git-Host den Zugriffsprüfung des Runners für ein Repository, das die Sitzung nur liest, ablehnen. Der Runner überspringt dann dieses Repository, protokolliert eine `[runner:warn] could not access context source`-Zeile, die die Ablehnung benennt, und startet die Sitzung auf den verbleibenden.875* **Eine Sitzung startet ohne eines ihrer Repositories**: Auf einem Runner ohne [`checkout` Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#checkout) kann der Git-Host den Zugriffsprüfung des Runners für ein Repository, das die Sitzung nur liest, ablehnen. Der Runner überspringt dann dieses Repository, protokolliert eine `[runner:warn] could not access context source`-Zeile, die die Ablehnung benennt, und startet die Sitzung auf den verbleibenden.

830 876 

831 Der Runner überspringt nur eine klare Ablehnung: Der Host antwortet, dass das Repository nicht gefunden wurde, Git findet keine Anmeldedaten für den Host, oder die Authentifizierung schlägt fehl. Ein Netzwerkfehler, ein Timeout oder ein HTTP `403` schlägt immer noch den Sitzungsstart fehl, ebenso wie eine Ablehnung für ein Repository, zu dem die Sitzung Ergebnisse pusht. Der Runner schlägt immer noch eine Sitzung fehl, die das Überspringen ohne Repository überhaupt verlassen würde. Mit [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) überspringt der Runner nur ein Repository, das der Git-Proxy selbst ablehnt.877 Mit seinen eigenen Git-Anmeldedaten kann der Runner ein Repository überspringen, wenn der Host antwortet, dass das Repository nicht gefunden wurde, Git keine Anmeldedaten für den Host findet oder die Authentifizierung fehlschlägt.

878 

879 Mit [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) überspringt der Runner ein Repository, wenn der Git-Proxy es mit `access denied by the git proxy` ablehnt. Die Log-Zeile lautet dann `blocked by the git proxy`. Welche Ursachen Sie prüfen sollten, erfahren Sie im Fall `remote: access denied by the git proxy` unter [Wenn Sitzungen auf einem Runner mit dem Git-Proxy nicht starten](#when-anthropic-doesnt-serve-a-session).

880 

881 Ein Netzwerkfehler, ein Timeout oder ein anderer HTTP-`403` lässt den Sitzungsstart weiterhin fehlschlagen, ebenso wie eine Ablehnung für ein Repository, zu dem die Sitzung Ergebnisse pusht. Der Runner lässt eine Sitzung weiterhin fehlschlagen, wenn das Überspringen sie ohne jedes Repository zurücklassen würde.

832 882 

833 Die Zugriffsprüfung läuft jedes Mal erneut, wenn die Sitzung auf einem Runner startet, daher sobald die Git-Identität des Runners Lesezugriff hat, klont der nächste Start das Repository. Vor v2.1.274 schlugen jede dieser Ablehnungen den Sitzungsstart fehl.883 Die Zugriffsprüfung läuft jedes Mal erneut, wenn die Sitzung auf einem Runner startet, daher sobald die Git-Identität des Runners Lesezugriff hat, klont der nächste Start das Repository. Vor v2.1.274 schlugen jede dieser Ablehnungen den Sitzungsstart fehl.

884* **Das Log zeigt `could not read context source`**: Diese Zeile bedeutet, anders als `could not access context source`, dass der Git-Host wiederholt mit HTTP `429` antwortete oder ein Wrapper, den Sie als `git` installiert haben, wiederholt mit dem Exit-Code `75` endete. Der Runner hat dieses Repository übersprungen. Um es erneut zu versuchen, starten Sie eine neue Sitzung. Der Runner versucht das Repository außerdem jedes Mal erneut, wenn diese Sitzung auf einem Runner startet.

885 

886 Ohne `checkout`-Hook kann der Runner ein Repository, das die Sitzung nur liest, überspringen, es sei denn, es steht an erster Stelle unter den Repositorys der Sitzung. Vor v2.1.311 schlug der Sitzungsstart fehl.

834* **Eine Sitzung startet nicht mit `This runner couldn't read`**: Der Runner hat den Git-Host mit seinen [Git-Anmeldedaten](#configure-git) nach einem Repository gefragt und die Antwort erhalten, dass es nicht gefunden wurde. Das Repository existiert nicht, oder diese Anmeldedaten können das Repository nicht erreichen.887* **Eine Sitzung startet nicht mit `This runner couldn't read`**: Der Runner hat den Git-Host mit seinen [Git-Anmeldedaten](#configure-git) nach einem Repository gefragt und die Antwort erhalten, dass es nicht gefunden wurde. Das Repository existiert nicht, oder diese Anmeldedaten können das Repository nicht erreichen.

835 * **Wenn Sie den Runner administrieren**: Gewähren Sie seinen Git-Anmeldedaten Lesezugriff auf das Repository, und starten Sie dann eine neue Sitzung.888 * **Wenn Sie den Runner administrieren**: Gewähren Sie seinen Git-Anmeldedaten Lesezugriff auf das Repository, und starten Sie dann eine neue Sitzung.

836 * **Wenn Sie die Sitzung gestartet haben**: Wenn das Repository nicht existiert, starten Sie eine neue Sitzung mit dem richtigen Repository. Wenn der Runner das Repository nicht erreichen kann, bitten Sie den Administrator des Runners, Zugriff zu gewähren, und starten Sie dann eine neue Sitzung.889 * **Wenn Sie die Sitzung gestartet haben**: Wenn das Repository nicht existiert, starten Sie eine neue Sitzung mit dem richtigen Repository. Wenn der Runner das Repository nicht erreichen kann, bitten Sie den Administrator des Runners, Zugriff zu gewähren, und starten Sie dann eine neue Sitzung.

Details

89(umask 077 && cat > /etc/claude/environment-secret)89(umask 077 && cat > /etc/claude/environment-secret)

90```90```

91 91 

92Wählen Sie ein Basisverzeichnis und ersetzen Sie `<writable-dir>` im Runner-Befehl unten durch einen absoluten Pfad, in den der Runner schreiben oder erstellen kann. Der Runner erstellt das Verzeichnis beim Start, überprüft dann Repositories aus und erstellt Pro-Sitzungs-Verzeichnisse darunter. Ohne `--base-dir` verwendet er `/workspace`, was nur funktioniert, wenn dieses Verzeichnis bereits existiert und beschreibbar ist oder Sie den Runner als Root starten.92Wählen Sie ein Basisverzeichnis und ersetzen Sie `<writable-dir>` im Runner-Befehl unten durch einen absoluten Pfad, in den der Runner schreiben oder erstellen kann. Der Runner erstellt das Verzeichnis beim Start, checkt dann Repositories aus und erstellt Pro-Sitzungs-Verzeichnisse darunter. Ohne `--base-dir` verwendet er `/workspace`, was nur funktioniert, wenn dieses Verzeichnis bereits existiert und beschreibbar ist oder Sie den Runner als Root starten.

93 93 

94> [!WARNING]94> [!WARNING]

95>95>

Details

37| `--git-host-rewrite <from>=<to>` | keine | nicht gesetzt | Schreiben Sie `https://<from>/...` Quell-URLs zu `https://<to>/...` um, bevor Sie klonen, für Split-Horizon-DNS. Wiederholbar; nur Flag. |37| `--git-host-rewrite <from>=<to>` | keine | nicht gesetzt | Schreiben Sie `https://<from>/...` Quell-URLs zu `https://<to>/...` um, bevor Sie klonen, für Split-Horizon-DNS. Wiederholbar; nur Flag. |

38| `--git-ssh-rewrite <host>` | keine | nicht gesetzt | Schreiben Sie `https://<host>/...` Quell-URLs zu `git@<host>:...` um, bevor Sie klonen, für SSH-only Git-Hosts. Wiederholbar; nur Flag. |38| `--git-ssh-rewrite <host>` | keine | nicht gesetzt | Schreiben Sie `https://<host>/...` Quell-URLs zu `git@<host>:...` um, bevor Sie klonen, für SSH-only Git-Hosts. Wiederholbar; nur Flag. |

39| `--health-port <port>` | `SELF_HOSTED_RUNNER_HEALTH_PORT` | `8080` | Port für den `/healthz`- und `/metrics`-Listener. Setzen Sie `0`, um zu deaktivieren. |39| `--health-port <port>` | `SELF_HOSTED_RUNNER_HEALTH_PORT` | `8080` | Port für den `/healthz`- und `/metrics`-Listener. Setzen Sie `0`, um zu deaktivieren. |

40| `--hold-idle-file <path>` | `SELF_HOSTED_RUNNER_HOLD_IDLE_FILE` | nicht gesetzt | Datei, die Ihr Host fortlaufend ändert, um eine untätige Sitzung auf dem Runner zu halten. Siehe [Eine untätige Sitzung behalten, während ihre Prozesse laufen](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#keep-an-idle-session-while-its-processes-run). Erfordert Claude Code v2.1.311 oder später. |

40| `--hooks-dir <path>` | `SELF_HOSTED_RUNNER_HOOKS_DIR` | nicht gesetzt | Verzeichnis von Lifecycle-Hook-Skripten. Siehe [Lifecycle-Hooks](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#lifecycle-hooks). |41| `--hooks-dir <path>` | `SELF_HOSTED_RUNNER_HOOKS_DIR` | nicht gesetzt | Verzeichnis von Lifecycle-Hook-Skripten. Siehe [Lifecycle-Hooks](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#lifecycle-hooks). |

41| `--host-config-snapshot <mode>` | `SELF_HOSTED_RUNNER_HOST_CONFIG_SNAPSHOT` | `disk` | Wo der Runner den Startup-Snapshot des [Host-Konfigurationsverzeichnisses](#environment-variable-only-settings) aufbewahrt, das er jede Sitzung von dort aus startet. `disk` kopiert den Snapshot in ein vom Runner verwaltetes Verzeichnis unter `--base-dir` und überprüft bei jedem Sitzungsstart jede Datei gegen einen In-Memory-Digest. Wenn eine Datei in der Kopie geändert wurde, schlägt die Sitzung fehl und der Runner lehnt Sitzungen ab, bis Sie ihn neu starten. `memory` hält den gesamten Snapshot auf dem Heap, begrenzt auf 64 MiB; über der Grenze starten Sitzungen ohne Host-Konfiguration und zeigen einen entsprechenden Hinweis. Wenn der Runner den Disk-Snapshot nicht schreiben kann, protokolliert er den Fehler und verwendet `memory` für diesen Durchlauf. Erfordert Claude Code v2.1.271 oder später. |42| `--host-config-snapshot <mode>` | `SELF_HOSTED_RUNNER_HOST_CONFIG_SNAPSHOT` | `disk` | Wo der Runner den Startup-Snapshot des [Host-Konfigurationsverzeichnisses](#environment-variable-only-settings) aufbewahrt, das er jede Sitzung von dort aus startet. `disk` kopiert den Snapshot in ein vom Runner verwaltetes Verzeichnis unter `--base-dir` und überprüft bei jedem Sitzungsstart jede Datei gegen einen In-Memory-Digest. Wenn eine Datei in der Kopie geändert wurde, schlägt die Sitzung fehl und der Runner lehnt Sitzungen ab, bis Sie ihn neu starten. `memory` hält den gesamten Snapshot auf dem Heap, begrenzt auf 64 MiB; über der Grenze starten Sitzungen ohne Host-Konfiguration und zeigen einen entsprechenden Hinweis. Wenn der Runner den Disk-Snapshot nicht schreiben kann, protokolliert er den Fehler und verwendet `memory` für diesen Durchlauf. Erfordert Claude Code v2.1.271 oder später. |

42| `--kill-session-after-min <n>` | `SELF_HOSTED_RUNNER_MAX_LIFETIME_MS` | `0` | Begrenzen Sie eine Sitzung auf N Minuten Wanduhr, als Sicherheitslimit für steckengebliebene Sitzungen. In v2.1.260 oder später gibt der Runner eine Sitzung frei, die das Limit erreicht, damit sie in der nächsten Nachricht des Benutzers fortgesetzt werden kann, und beendet sie nur, wenn sie sich noch auf dem Runner befindet, wenn das Gnadenfenster [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings) endet. Vor v2.1.260 beendete der Runner die Sitzung beim Limit. Siehe [Einige Sitzungen zählen nicht als untätig](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#some-sessions-don%E2%80%99t-count-as-idle) für die Details und wie Sie einen Wert wählen. `0` deaktiviert. |43| `--kill-session-after-min <n>` | `SELF_HOSTED_RUNNER_MAX_LIFETIME_MS` | `0` | Begrenzen Sie eine Sitzung auf N Minuten Wanduhr, als Sicherheitslimit für steckengebliebene Sitzungen. In v2.1.260 oder später gibt der Runner eine Sitzung frei, die das Limit erreicht, damit sie in der nächsten Nachricht des Benutzers fortgesetzt werden kann, und beendet sie nur, wenn sie sich noch auf dem Runner befindet, wenn das Gnadenfenster [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings) endet. Vor v2.1.260 beendete der Runner die Sitzung beim Limit. Siehe [Einige Sitzungen zählen nicht als untätig](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#some-sessions-don%E2%80%99t-count-as-idle) für die Details und wie Sie einen Wert wählen. `0` deaktiviert. |

43| `--lock-to-account <id>` | `SELF_HOSTED_RUNNER_LOCK_TO_ACCOUNT` | nicht gesetzt | Sperren Sie den Runner beim Start vorab auf ein bestimmtes Konto, anstatt beim ersten Session zu sperren. Akzeptiert eine E-Mail-Adresse oder eine `user_...` ID in der Organisation der Umgebung. Ein vorgespannter Runner nimmt niemals Claude Tag-Kanal-Sitzungen auf, die kein Konto haben. |44| `--lock-to-account <id>` | `SELF_HOSTED_RUNNER_LOCK_TO_ACCOUNT` | nicht gesetzt | Sperren Sie den Runner beim Start vorab auf ein bestimmtes Konto, anstatt beim ersten Session zu sperren. Akzeptiert eine E-Mail-Adresse oder eine `user_...` ID in der Organisation der Umgebung. Ein vorgespannter Runner nimmt niemals Claude Tag-Kanal-Sitzungen auf, die kein Konto haben. |

44| `--log-file <path>` | `SELF_HOSTED_RUNNER_LOG_FILE` | nicht gesetzt | Spiegeln Sie Runner-Protokolle zusätzlich zu stdout und stderr in eine Datei, erstellt mit `0600`-Berechtigungen. Erforderlich für `self-hosted-runner doctor`, um Protokolle lokal zu verfolgen. |45| `--log-file <path>` | `SELF_HOSTED_RUNNER_LOG_FILE` | nicht gesetzt | Spiegeln Sie Runner-Protokolle zusätzlich zu stdout und stderr in eine Datei, erstellt mit `0600`-Berechtigungen. Erforderlich für `self-hosted-runner doctor`, um Protokolle lokal zu verfolgen. |

45| `--log-level <level>` | keine | `info` | `info` oder `debug` |46| `--log-level <level>` | keine | `info` | `info` oder `debug` |

47| `--max-hold-min <n>` | `SELF_HOSTED_RUNNER_MAX_HOLD_MS` | `1440` | Geben Sie mit `--hold-idle-file` eine gehaltene Sitzung N Minuten, nachdem sie untätig wurde, trotzdem frei. Ein Wert kleiner oder gleich `--release-idle-session-min` hält nichts. `0` schaltet das Halten aus. Erfordert Claude Code v2.1.311 oder später. |

46| `--post-session-hook-timeout-sec <n>` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | Budget für den [`post-session` Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#post-session) am Ende jeder Sitzung, einschließlich Runner-Shutdown |48| `--post-session-hook-timeout-sec <n>` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | Budget für den [`post-session` Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#post-session) am Ende jeder Sitzung, einschließlich Runner-Shutdown |

47| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | nicht gesetzt | Shell-Befehl, den der Runner für jede Verbindung zu Ihrem Egress-Proxy ausführt, wobei seine gekürzte Standardausgabe als Wert des Headers `Proxy-Authorization` verwendet wird. Erfordert `HTTPS_PROXY` oder `HTTP_PROXY`, und kann nicht mit `--proxy-authorization-file` kombiniert werden. Siehe [Authentifizieren Sie sich bei einem Egress-Proxy](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Erfordert Claude Code v2.1.238 oder später. |49| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | nicht gesetzt | Shell-Befehl, den der Runner für jede Verbindung zu Ihrem Egress-Proxy ausführt, wobei seine gekürzte Standardausgabe als Wert des Headers `Proxy-Authorization` verwendet wird. Erfordert `HTTPS_PROXY` oder `HTTP_PROXY`, und kann nicht mit `--proxy-authorization-file` kombiniert werden. Siehe [Authentifizieren Sie sich bei einem Egress-Proxy](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Erfordert Claude Code v2.1.238 oder später. |

48| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | nicht gesetzt | Datei, die der Runner für jede Verbindung zu Ihrem Egress-Proxy liest, wobei ihr gekürzter Inhalt als Wert des Headers `Proxy-Authorization` verwendet wird. Verwenden Sie dieses Flag für ein Token, das ein anderer Prozess an Ort und Stelle rotiert. Trägt dieselben Anforderungen wie `--proxy-authorization-command` und kann nicht damit kombiniert werden. Siehe [Authentifizieren Sie sich bei einem Egress-Proxy](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Erfordert Claude Code v2.1.238 oder später. |50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | nicht gesetzt | Datei, die der Runner für jede Verbindung zu Ihrem Egress-Proxy liest, wobei ihr gekürzter Inhalt als Wert des Headers `Proxy-Authorization` verwendet wird. Verwenden Sie dieses Flag für ein Token, das ein anderer Prozess an Ort und Stelle rotiert. Trägt dieselben Anforderungen wie `--proxy-authorization-command` und kann nicht damit kombiniert werden. Siehe [Authentifizieren Sie sich bei einem Egress-Proxy](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Erfordert Claude Code v2.1.238 oder später. |

49| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | aus | Bei einem Runner-initiierten Session-Ende, wie einer Entleerung oder Idle-Freigabe, pushen Sie verfolgte Outcome-Branches zu `origin`, bevor Sie den Arbeitsbereich löschen, sodass laufende Commits einen Neustart überstehen. Best-Effort; fügt 30 Sekunden zum Shutdown-Budget hinzu und erfordert Git 2.29 oder neuer, um vom gepushten Branch fortzufahren. Beschränken Sie den Push-Zugriff auf `claude/*` Refs, bevor Sie dies aktivieren; siehe [Fortgesetzte Sitzungen verlieren nicht gepushte Arbeit](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#additional-limitations). Repositories, die über einen `checkout` Lifecycle-Hook ausgecheckt werden, werden nicht gepusht; erstellen Sie stattdessen Snapshots von diesen vom [`post-session` Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#post-session). |51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | aus | Bei einem Runner-initiierten Session-Ende, wie einer Entleerung oder Idle-Freigabe, pushen Sie verfolgte Outcome-Branches zu `origin`, bevor Sie den Arbeitsbereich löschen, sodass laufende Commits einen Neustart überstehen. Best-Effort; fügt 30 Sekunden zum Shutdown-Budget hinzu und erfordert Git 2.29 oder neuer, um vom gepushten Branch fortzufahren. Beschränken Sie den Push-Zugriff auf `claude/*` Refs, bevor Sie dies aktivieren; siehe [Fortgesetzte Sitzungen verlieren nicht gepushte Arbeit](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#additional-limitations). Repositories, die über einen `checkout` Lifecycle-Hook ausgecheckt werden, werden nicht gepusht; erstellen Sie stattdessen Snapshots von diesen vom [`post-session` Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#post-session). |

50| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Geben Sie einen Session-Slot nach N Minuten Inaktivität frei, sobald ein Zug beendet ist oder die Sitzung auf die Aktion des Benutzers wartet. Eine Sitzung, die sich noch mitten in einem Zug befindet, einschließlich einer, die eine nie endende Hintergrundaufgabe hält oder eine Genehmigung anfordert, die von innerhalb eines laufenden Tool-Aufrufs angefordert wird, zählt nicht als untätig; koppeln Sie mit `--kill-session-after-min` als harter Backstop. Nach einer Sitzung, deren Hintergrundaufgabe beendet ist, betrachtet der Runner die Sitzung als beschäftigt, bis der Folgezug, der das Ergebnis liest, beginnt, für höchstens das Fenster [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Bis der Runner ein Shutdown-Signal empfängt oder seine Ruhestandszeit erreicht, startet eine Freigabe, die den Runner ohne aktive Sitzungen hinterlässt, denselben Ausstiegspfad wie eine normale Entleerung, gesteuert durch `--drain-grace-sec`. Nach einem ersten Signal, das Sie mit [`--defer-shutdown-max-min`](https://code.claude.com/docs/de/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal) verschoben haben, beendet sich der Runner, sobald eine Freigabe ihn ohne Sitzungen hinterlässt. `0` deaktiviert. |52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Geben Sie einen Sitzungs-Slot nach N Minuten Inaktivität frei, sobald ein Turn beendet ist oder die Sitzung auf die Aktion des Benutzers wartet. [Einige Sitzungen zählen nicht als untätig](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), koppeln Sie daher mit `--kill-session-after-min`. Eine beendete Hintergrundaufgabe hält die Sitzung höchstens für das Fenster [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings) beschäftigt. Um eine Freigabe zu verzögern, setzen Sie [`--hold-idle-file`](https://code.claude.com/docs/de/self-hosted-environments-deploy#keep-an-idle-session-while-its-processes-run). `0` deaktiviert. |

51| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | aus | Entfernen Sie die Pro-Sitzungs-Verzeichnisse einer Sitzung unter `<base-dir>/_sessions/`, wenn die Sitzung auf diesem Runner endet, unabhängig vom Ergebnis. [Verwenden Sie einen vorgefüllten Checkout erneut](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) beschreibt, was sie enthalten und wer sie lesen kann, wenn sie bleiben. Die Entfernung ist Best-Effort: Die Pro-Sitzungs-Verzeichnisse bleiben an Ort und Stelle, wenn der Runner beendet wird oder seine Drain-Frist erreicht, bevor die Bereinigung ausgeführt wird. Mit dem Flag an, wird das Debug-Protokoll einer fehlgeschlagenen oder unterbrochenen Sitzung nicht auf der Festplatte gespeichert. Erfordert Claude Code v2.1.268 oder später. |53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | aus | Entfernen Sie die Pro-Sitzungs-Verzeichnisse einer Sitzung unter `<base-dir>/_sessions/`, wenn die Sitzung auf diesem Runner endet, unabhängig vom Ergebnis. [Verwenden Sie einen vorgefüllten Checkout erneut](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) beschreibt, was sie enthalten und wer sie lesen kann, wenn sie bleiben. Die Entfernung ist Best-Effort: Die Pro-Sitzungs-Verzeichnisse bleiben an Ort und Stelle, wenn der Runner beendet wird oder seine Drain-Frist erreicht, bevor die Bereinigung ausgeführt wird. Mit dem Flag an, wird das Debug-Protokoll einer fehlgeschlagenen oder unterbrochenen Sitzung nicht auf der Festplatte gespeichert. Erfordert Claude Code v2.1.268 oder später. |

52| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | nicht gesetzt | Ruhestand des Runners bei einem absoluten Unix-Zeitstempel in Sekunden, für Infrastruktur, die den Runner zu einem bekannten Zeitpunkt beendet; [Runner-Lebenszyklus](https://code.claude.com/docs/de/self-hosted-environments#runner-lifecycle) beschreibt die Freigabesequenz und wie Sie die Marge dimensionieren. Werte vor 2001 oder nach dem Jahr 5138 werden vom Flag abgelehnt und von der Umgebungsvariable ignoriert. |54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | nicht gesetzt | Ruhestand des Runners bei einem absoluten Unix-Zeitstempel in Sekunden, für Infrastruktur, die den Runner zu einem bekannten Zeitpunkt beendet; [Runner-Lebenszyklus](https://code.claude.com/docs/de/self-hosted-environments#runner-lifecycle) beschreibt die Freigabesequenz und wie Sie die Marge dimensionieren. Werte vor 2001 oder nach dem Jahr 5138 werden vom Flag abgelehnt und von der Umgebungsvariable ignoriert. |

53| `--server-auto-mode-lists <mode>` | `SELF_HOSTED_RUNNER_SERVER_AUTO_MODE_LISTS` | `no-allow` | Welche der Regellisten des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode)-Klassifikators, die die Control Plane mit einer Sitzung sendet, diese Sitzung erreichen dürfen: `all`, `no-allow` oder `none`. Unter [Regellisten des Auto-Modus](#auto-mode-rule-lists) erfahren Sie, was jeder Wert anwendet. Ein ungültiger Wert stoppt den Runner beim Start. Erfordert Claude Code v2.1.295 oder später. |55| `--server-auto-mode-lists <mode>` | `SELF_HOSTED_RUNNER_SERVER_AUTO_MODE_LISTS` | `no-allow` | Welche der Regellisten des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode)-Klassifikators, die die Control Plane mit einer Sitzung sendet, diese Sitzung erreichen dürfen: `all`, `no-allow` oder `none`. Unter [Regellisten des Auto-Modus](#auto-mode-rule-lists) erfahren Sie, was jeder Wert anwendet. Ein ungültiger Wert stoppt den Runner beim Start. Erfordert Claude Code v2.1.295 oder später. |


314 316 

315### Bei verlorenen Runnern und wartenden Sitzungen alarmieren317### Bei verlorenen Runnern und wartenden Sitzungen alarmieren

316 318 

317Laden Sie bei einer [festen Flotte](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#scale-the-fleet) `ClaudeRunnersBelowFloor`. Laden Sie bei [On-Demand-Runnern](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#on-demand-runners) stattdessen `ClaudeOrchestratorSessionsWaiting` und `ClaudeOrchestratorQueueWaitHigh`.319Um benachrichtigt zu werden, wenn Runner verloren gehen, Sitzungen warten oder der Orchestrator ausgefallen ist, laden Sie diese Prometheus-Alarmregeln zusätzlich zu den [Beispiel-Alarmregeln](#sample-alert-rules):

320 

321* **[Feste Flotte](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#scale-the-fleet)**: `ClaudeRunnersBelowFloor`

322* **[On-Demand-Runner](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#on-demand-runners)**: `ClaudeOrchestratorSessionsWaiting`, `ClaudeOrchestratorQueueWaitHigh` und `ClaudeOrchestratorAbsent`

318 323 

319#### Alarmieren, wenn eine feste Flotte Runner verliert324#### Alarmieren, wenn eine feste Flotte Runner verliert

320 325 


372* **Schwellenwert**: Wenn ständig irgendeine Sitzung wartet, erhöhen Sie das `> 0` in `ClaudeOrchestratorSessionsWaiting` über die Anzahl, die Sie üblicherweise sehen377* **Schwellenwert**: Wenn ständig irgendeine Sitzung wartet, erhöhen Sie das `> 0` in `ClaudeOrchestratorSessionsWaiting` über die Anzahl, die Sie üblicherweise sehen

373* **`ClaudeOrchestratorDisconnected`**: Lassen Sie diesen Alarm aus den [Beispiel-Alarmregeln](#sample-alert-rules) geladen, da `ClaudeOrchestratorSessionsWaiting` etwa 2 Minuten, nachdem der letzte Orchestrator im Namespace die Verbindung verloren hat, nicht mehr ausgelöst wird378* **`ClaudeOrchestratorDisconnected`**: Lassen Sie diesen Alarm aus den [Beispiel-Alarmregeln](#sample-alert-rules) geladen, da `ClaudeOrchestratorSessionsWaiting` etwa 2 Minuten, nachdem der letzte Orchestrator im Namespace die Verbindung verloren hat, nicht mehr ausgelöst wird

374 379 

380#### Alarmieren, wenn der Orchestrator ausgefallen ist

381 

382Um zu erfahren, dass der [Orchestrator](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#on-demand-runners) selbst ausgefallen ist, laden Sie `ClaudeOrchestratorAbsent`. Der Alarm wird ausgelöst, wenn 5 Minuten lang kein Orchestrator im Namespace gescrapt wurde:

383 

384```yaml theme={null}

385groups:

386 # On-demand runners only. Replace claude-runners with the orchestrator's namespace.

387 - name: claude-code-self-hosted-on-demand-orchestrator

388 rules:

389 - alert: ClaudeOrchestratorAbsent

390 expr: absent(claude_code_self_hosted_orchestrator_connected{namespace="claude-runners"})

391 for: 5m

392 labels: {severity: critical}

393 annotations:

394 summary: "No orchestrator has been scraped for 5 minutes. If it's down, no on-demand runner starts, and sessions wait. Check the orchestrator workload first, then its scrape target if it's running."

395```

396 

397* **Namespace**: Ersetzen Sie `claude-runners` durch den Namespace des Orchestrators, und kopieren Sie den Alarm für jeden weiteren Namespace, in dem ein Orchestrator läuft. Wenn Ihre Ziele kein `namespace`-Label haben, entfernen Sie den Matcher, da der Alarm sonst nach 5 Minuten ausgelöst wird und aktiv bleibt.

398* **Prometheus-Server, die den Orchestrator nicht scrapen**: Lassen Sie den Alarm aus deren Regeldateien weg, da er auf einem solchen Server nach 5 Minuten ausgelöst wird und aktiv bleibt

399* **Verlassen Sie sich nicht auf die anderen Alarme des Orchestrators**: Sie lesen Metriken, die der Orchestrator selbst bereitstellt. `ClaudeOrchestratorSessionsWaiting`, `ClaudeOrchestratorQueueWaitHigh` und die [Beispiel-Alarmregeln](#sample-alert-rules) des Orchestrators werden alle innerhalb von etwa 10 Minuten nach dem Ausfall des Orchestrators nicht mehr ausgelöst.

400 

375### Metriken der Sitzungs-Kindprozesse durchreichen401### Metriken der Sitzungs-Kindprozesse durchreichen

376 402 

377Jede Sitzung läuft in ihrem eigenen Kindprozess mit eigenen OpenTelemetry-Metriken; bei einem `--capacity`-Wert über eins schreibt der Runner um, wie diese Metriken der Kindprozesse bereitgestellt werden. Wenn Sie `OTEL_METRICS_EXPORTER=prometheus` auf dem Runner-Host und `CLAUDE_CODE_ENABLE_TELEMETRY=1` in der Umgebung der Sitzung setzen, zum Beispiel über Ihr [Wrapper-Skript](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#wrapper-scripts) oder die eigene Umgebung des Runners, die Sitzungen erben, werden die Counter- und Gauge-Instrumente jedes Kindprozesses zusätzlich auf dem eigenen `/metrics`-Endpunkt des Runners neben den Serien des Runners bereitgestellt. Der Runner schreibt den Exporter des Kindprozesses so um, dass er per OTLP an einen nur über Loopback erreichbaren Empfänger auf dem Health-Port sendet, versieht jede Serie mit den Labels `session_id` und `client_platform` und entfernt die Serien einer Sitzung, wenn diese Sitzung endet. Histogramme werden nicht durchgereicht, und eine Metrik des Kindprozesses, deren Name mit dem eigenen Präfix des Runners kollidieren würde, wird verworfen.403Jede Sitzung läuft in ihrem eigenen Kindprozess mit eigenen OpenTelemetry-Metriken; bei einem `--capacity`-Wert über eins schreibt der Runner um, wie diese Metriken der Kindprozesse bereitgestellt werden. Wenn Sie `OTEL_METRICS_EXPORTER=prometheus` auf dem Runner-Host und `CLAUDE_CODE_ENABLE_TELEMETRY=1` in der Umgebung der Sitzung setzen, zum Beispiel über Ihr [Wrapper-Skript](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#wrapper-scripts) oder die eigene Umgebung des Runners, die Sitzungen erben, werden die Counter- und Gauge-Instrumente jedes Kindprozesses zusätzlich auf dem eigenen `/metrics`-Endpunkt des Runners neben den Serien des Runners bereitgestellt. Der Runner schreibt den Exporter des Kindprozesses so um, dass er per OTLP an einen nur über Loopback erreichbaren Empfänger auf dem Health-Port sendet, versieht jede Serie mit den Labels `session_id` und `client_platform` und entfernt die Serien einer Sitzung, wenn diese Sitzung endet. Histogramme werden nicht durchgereicht, und eine Metrik des Kindprozesses, deren Name mit dem eigenen Präfix des Runners kollidieren würde, wird verworfen.

Details

288 288 

289 Der Befehl kann nicht von der Tastatur lesen, wenn Sie seine Eingabe per Pipe übergeben oder umleiten und er unter macOS und Linux außerdem `/dev/tty` nicht öffnen kann. Wenn Sie auch seine Ausgabe per Pipe weiterleiten oder umleiten, ist der Lauf stattdessen nicht interaktiv, und die gelieferten Einstellungen gelten nur für diesen Lauf.289 Der Befehl kann nicht von der Tastatur lesen, wenn Sie seine Eingabe per Pipe übergeben oder umleiten und er unter macOS und Linux außerdem `/dev/tty` nicht öffnen kann. Wenn Sie auch seine Ausgabe per Pipe weiterleiten oder umleiten, ist der Lauf stattdessen nicht interaktiv, und die gelieferten Einstellungen gelten nur für diesen Lauf.

290* **Ein Fehler schließt den Dialog, bevor Sie antworten**: Claude Code wendet die gelieferten Einstellungen nicht an und behält die zuletzt genehmigten Einstellungen bei. Der Dialog wird in der nächsten Sitzung, die ihn anzeigen kann, erneut angezeigt.290* **Ein Fehler schließt den Dialog, bevor Sie antworten**: Claude Code wendet die gelieferten Einstellungen nicht an und behält die zuletzt genehmigten Einstellungen bei. Der Dialog wird in der nächsten Sitzung, die ihn anzeigen kann, erneut angezeigt.

291* **Ein nicht interaktiver Lauf**, etwa `claude -p`, eine Agent SDK-Sitzung oder eine Sitzung im Chat-Bereich der VS Code-Erweiterung oder im Code-Tab der Desktop-App: Claude Code kann den Dialog nicht anzeigen. Wenn die gelieferten Einstellungen eine Genehmigung erfordern würden, wendet es sie daher nur für diesen Lauf an. Es speichert sie weder als genehmigt noch schreibt es sie in den [lokalen Cache](#fetch-and-caching-behavior), und die nächste interaktive Sitzung zeigt den Dialog an. Bis ein Benutzer in einer interaktiven Sitzung zustimmt, ruft jeder nicht interaktive Lauf die Einstellungen beim Start erneut ab. Vor v2.1.207 speicherte ein nicht interaktiver Lauf die Einstellungen als genehmigt, sodass spätere interaktive Sitzungen den Dialog dafür nie anzeigten.291* **Ein nicht interaktiver Lauf**, etwa `claude -p`, eine Agent SDK-Sitzung oder eine Sitzung im Chat-Bereich der VS Code-Erweiterung oder im Code-Tab der Desktop-App: Claude Code kann den Dialog nicht anzeigen. Wenn die gelieferten Einstellungen eine Genehmigung erfordern würden, gelten sie nur für diesen Lauf.

292 

293 Claude Code speichert die Einstellungen weder als genehmigt noch schreibt es sie in den [lokalen Cache](#fetch-and-caching-behavior), und die nächste interaktive Sitzung zeigt den Dialog an. Bis ein Benutzer in einer interaktiven Sitzung zustimmt, ruft jeder nicht interaktive Lauf die Einstellungen beim Start erneut ab.

292 294 

293#### Umgebungsvariablen und der Genehmigungsdialog295#### Umgebungsvariablen und der Genehmigungsdialog

294 296 


306* `OTEL_EXPORTER_OTLP_ENDPOINT`308* `OTEL_EXPORTER_OTLP_ENDPOINT`

307* `CLAUDE_CODE_DISABLE_1M_CONTEXT`309* `CLAUDE_CODE_DISABLE_1M_CONTEXT`

308 310 

309Wenn eine gelieferte Variable eine Genehmigung benötigt, nennt der Dialog sie, sodass der Benutzer genau sieht, was die Richtlinie setzen möchte. Vor v2.1.218 wendete Claude Code weniger Variablen ohne Rückfrage beim Benutzer an, sodass Einstellungen wie `DISABLE_AUTO_COMPACT` bei jedem nicht leeren Wert den Dialog auslösten.311Wenn eine gelieferte Variable eine Genehmigung benötigt, nennt der Dialog sie, sodass der Benutzer genau sieht, was die Richtlinie setzen möchte.

310 312 

311Bei vier Datenschutzschaltern entscheidet Claude Code anhand des gelieferten Werts statt anhand des Variablennamens, ob eine Genehmigung nötig ist: `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_ERROR_REPORTING`, `DISABLE_TELEMETRY` und `DO_NOT_TRACK`. Ein als wahr ausgewerteter Wert (truthy) wie `1` oder `true` schaltet nur Tracking, Fehlerberichte oder anderen nicht wesentlichen Datenverkehr aus, daher wendet Claude Code ihn ohne Rückfrage beim Benutzer an. Bei jedem anderen nicht leeren Wert zeigt Claude Code den Dialog an. Vor v2.1.218 wurden alle außer `DO_NOT_TRACK` bei jedem Wert ohne Genehmigung angewendet, und `DO_NOT_TRACK` löste bei jedem nicht leeren Wert den Dialog aus.313Bei vier Datenschutzschaltern entscheidet Claude Code anhand des gelieferten Werts statt anhand des Variablennamens, ob eine Genehmigung nötig ist: `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_ERROR_REPORTING`, `DISABLE_TELEMETRY` und `DO_NOT_TRACK`. Ein als wahr ausgewerteter Wert (truthy) wie `1` oder `true` schaltet nur Tracking, Fehlerberichte oder anderen nicht wesentlichen Datenverkehr aus, daher wendet Claude Code ihn ohne Rückfrage beim Benutzer an. Bei jedem anderen nicht leeren Wert zeigt Claude Code den Dialog an.

312 314 

313Auch bei [`API_FORCE_IDLE_TIMEOUT`](https://code.claude.com/docs/de/env-vars) entscheidet Claude Code anhand des gelieferten Werts, ob eine Genehmigung nötig ist: Ein als wahr ausgewerteter Wert (truthy) schaltet nur den [Body-Idle-Timeout](https://code.claude.com/docs/de/network-config.md#streaming-idle-watchdogs) ein, daher wendet Claude Code ihn ohne Rückfrage beim Benutzer an. Bei jedem anderen nicht leeren Wert zeigt Claude Code den Dialog an. Vor v2.1.248 löste jeder nicht leere Wert den Dialog aus.315Auch bei [`API_FORCE_IDLE_TIMEOUT`](https://code.claude.com/docs/de/env-vars) entscheidet Claude Code anhand des gelieferten Werts, ob eine Genehmigung nötig ist: Ein als wahr ausgewerteter Wert (truthy) schaltet nur den [Body-Idle-Timeout](https://code.claude.com/docs/de/network-config.md#streaming-idle-watchdogs) ein, daher wendet Claude Code ihn ohne Rückfrage beim Benutzer an. Bei jedem anderen nicht leeren Wert zeigt Claude Code den Dialog an. Vor v2.1.248 löste jeder nicht leere Wert den Dialog aus.

314 316 

sessions.md +2 −2

Details

46Wenn Claude Code eine Konversation aus ihrem Transkript lädt, stellt die fortgesetzte Sitzung die Konversation zusammen mit dem darin gespeicherten Zustand wieder her:46Wenn Claude Code eine Konversation aus ihrem Transkript lädt, stellt die fortgesetzte Sitzung die Konversation zusammen mit dem darin gespeicherten Zustand wieder her:

47 47 

48* Konversationsverlauf: die Nachrichten, Tool-Aufrufe und Ergebnisse. Wenn die Sitzung [komprimiert](https://code.claude.com/docs/de/context-window.md#what-survives-compaction) wurde, öffnet sich die Konversation an einer Zeile `Conversation compacted`. Claude setzt mit der Zusammenfassung der letzten Komprimierung, den Nachrichten, die diese Komprimierung nicht zusammengefasst hat, und jeder Nachricht seitdem fort. Die Nachrichten, die die letzte Komprimierung zusammengefasst hat, werden nicht erneut geladen.48* Konversationsverlauf: die Nachrichten, Tool-Aufrufe und Ergebnisse. Wenn die Sitzung [komprimiert](https://code.claude.com/docs/de/context-window.md#what-survives-compaction) wurde, öffnet sich die Konversation an einer Zeile `Conversation compacted`. Claude setzt mit der Zusammenfassung der letzten Komprimierung, den Nachrichten, die diese Komprimierung nicht zusammengefasst hat, und jeder Nachricht seitdem fort. Die Nachrichten, die die letzte Komprimierung zusammengefasst hat, werden nicht erneut geladen.

49* Unterbrochene Tool-Aufrufe: Ein Tool, das noch lief, als der vorherige Prozess endete, beispielsweise bei einem Absturz, wird nicht beendet und läuft nicht erneut, wenn Sie fortsetzen. Claude sieht den Aufruf als abgebrochen markiert, bevor sein Ergebnis aufgezeichnet wurde, und wird angewiesen, zu überprüfen, ob er wirksam wurde, bevor er ihn erneut ausführt, es sei denn, [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](https://code.claude.com/docs/de/env-vars#variables) ist gesetzt.49* Unterbrochene Tool-Aufrufe: Ein Tool, das noch lief, als der vorherige Prozess endete, beispielsweise bei einem Absturz, wird beim Fortsetzen nicht erneut ausgeführt.

50* Modell: Die Sitzung wird mit dem Modell fortgesetzt, das sie verwendete, außer in den Fällen unter [Modell festlegen](https://code.claude.com/docs/de/model-config.md#setting-your-model).50* Modell: Die Sitzung wird mit dem Modell fortgesetzt, das sie verwendete, außer in den Fällen unter [Modell festlegen](https://code.claude.com/docs/de/model-config.md#setting-your-model).

51* Agent: Eine Sitzung, die mit [`--agent`](https://code.claude.com/docs/de/sub-agents#invoke-subagents-explicitly) oder der `agent`-Einstellung gestartet wurde, wird als dieser Agent fortgesetzt, wobei seine Tool-Beschränkungen und sein Modell beibehalten werden. Übergeben Sie `--agent` beim Fortsetzen, um einen anderen auszuwählen; für den System-Prompt in beiden Fällen siehe [System-Prompt-Flags in fortgesetzten Konversationen](https://code.claude.com/docs/de/cli-reference.md#system-prompt-flags-in-resumed-conversations). Claude Code sucht an zwei Stellen nach dem Agenten: im ursprünglichen Verzeichnis der Sitzung, vorausgesetzt, Sie haben [diesem Workspace vertraut](https://code.claude.com/docs/de/permissions.md#project-allow-rules-and-workspace-trust), und dann im Verzeichnis, von dem aus Sie fortsetzen, sodass ein projektbezogener Agent auch dann geladen wird, wenn Sie von einem anderen Verzeichnis aus fortsetzen. Wenn Claude Code den Agenten an keiner der beiden Stellen findet, wird die Sitzung mit den Standard-Tools fortgesetzt und zeigt eine [Warnung mit dem Namen des Agenten](https://code.claude.com/docs/de/errors.md#session-agent-no-longer-available).51* Agent: Eine Sitzung, die mit [`--agent`](https://code.claude.com/docs/de/sub-agents#invoke-subagents-explicitly) oder der `agent`-Einstellung gestartet wurde, wird als dieser Agent fortgesetzt, wobei seine Tool-Beschränkungen und sein Modell beibehalten werden. Übergeben Sie `--agent` beim Fortsetzen, um einen anderen auszuwählen; für den System-Prompt in beiden Fällen siehe [System-Prompt-Flags in fortgesetzten Konversationen](https://code.claude.com/docs/de/cli-reference.md#system-prompt-flags-in-resumed-conversations). Claude Code sucht an zwei Stellen nach dem Agenten: im ursprünglichen Verzeichnis der Sitzung, vorausgesetzt, Sie haben [diesem Workspace vertraut](https://code.claude.com/docs/de/permissions.md#project-allow-rules-and-workspace-trust), und dann im Verzeichnis, von dem aus Sie fortsetzen, sodass ein projektbezogener Agent auch dann geladen wird, wenn Sie von einem anderen Verzeichnis aus fortsetzen. Wenn Claude Code den Agenten an keiner der beiden Stellen findet, wird die Sitzung mit den Standard-Tools fortgesetzt und zeigt eine [Warnung mit dem Namen des Agenten](https://code.claude.com/docs/de/errors.md#session-agent-no-longer-available).

52* Berechtigungsmodus: Wenn Sie von einem Terminal aus mit `claude --continue`, `claude --resume <session-id>` oder `claude --resume <name>` fortsetzen, wenn der Name einer Sitzung entspricht, ohne `-p`, stellt Claude Code den Berechtigungsmodus wieder her, in dem sich die Sitzung befand, außer in den Fällen unter [Berechtigungsmodus beim Fortsetzen](#permission-mode-on-resume), wo auch die Sitzungsauswahl, `/resume` und das Fortsetzen mit `claude -p` behandelt werden. Übergeben Sie `--permission-mode` oder `--dangerously-skip-permissions`, um den wiederhergestellten Modus zu überschreiben.52* Berechtigungsmodus: Wenn Sie von einem Terminal aus mit `claude --continue`, `claude --resume <session-id>` oder `claude --resume <name>` fortsetzen, wenn der Name einer Sitzung entspricht, ohne `-p`, stellt Claude Code den Berechtigungsmodus wieder her, in dem sich die Sitzung befand, außer in den Fällen unter [Berechtigungsmodus beim Fortsetzen](#permission-mode-on-resume), wo auch die Sitzungsauswahl, `/resume` und das Fortsetzen mit `claude -p` behandelt werden. Übergeben Sie `--permission-mode` oder `--dangerously-skip-permissions`, um den wiederhergestellten Modus zu überschreiben.


224* **`/compact [instructions]`**: Ersetzen Sie den Verlauf durch eine Zusammenfassung, optional fokussiert auf das, was Sie angeben224* **`/compact [instructions]`**: Ersetzen Sie den Verlauf durch eine Zusammenfassung, optional fokussiert auf das, was Sie angeben

225* **`/context`**: Zeigen Sie an, was derzeit Kontext verbraucht225* **`/context`**: Zeigen Sie an, was derzeit Kontext verbraucht

226 226 

227Wie die Komprimierung mit CLAUDE.md, Skills und Regeln interagiert, finden Sie im [Kontextfenster-Leitfaden](https://code.claude.com/docs/de/context-window.md). Strategien, wann Sie löschen oder komprimieren sollten, finden Sie unter [Best Practices](https://code.claude.com/docs/de/best-practices.md#manage-your-session).227Wie die Komprimierung mit CLAUDE.md, Skills und Regeln interagiert, finden Sie im [Kontextfenster-Leitfaden](https://code.claude.com/docs/de/context-window.md). Strategien, wann Sie löschen oder komprimieren sollten, finden Sie unter [Best Practices](https://code.claude.com/docs/de/best-practices.md#keep-cost-and-context-down).

228 228 

229## Exportieren und lokalisieren Sie Sitzungsdaten229## Exportieren und lokalisieren Sie Sitzungsdaten

230 230 

settings.md +1 −1

Details

326* **Gemeinsame Projekt-Einstellungen mit mehreren Repositorys**: In einer von Anthropic gehosteten Umgebung startet eine Sitzung mit mehreren Repositorys über den Klonen und liest aus jeder `.claude/settings.json` des Repositorys nur die Schlüssel `enabledPlugins` und `extraKnownMarketplaces`, nicht Berechtigungsregeln, Hooks, `env` oder andere Schlüssel. Die Marketplaces und Plugins, die diese beiden Schlüssel deklarieren, [werden immer noch nicht in einer Cloud-Sitzung geladen](https://code.claude.com/docs/de/cloud-environments.md#what-carries-over-from-your-setup). Für eine selbstgehostete Umgebung siehe [welche Repository-Einstellungen gelten](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#repository-settings-in-sessions-with-several-repositories).326* **Gemeinsame Projekt-Einstellungen mit mehreren Repositorys**: In einer von Anthropic gehosteten Umgebung startet eine Sitzung mit mehreren Repositorys über den Klonen und liest aus jeder `.claude/settings.json` des Repositorys nur die Schlüssel `enabledPlugins` und `extraKnownMarketplaces`, nicht Berechtigungsregeln, Hooks, `env` oder andere Schlüssel. Die Marketplaces und Plugins, die diese beiden Schlüssel deklarieren, [werden immer noch nicht in einer Cloud-Sitzung geladen](https://code.claude.com/docs/de/cloud-environments.md#what-carries-over-from-your-setup). Für eine selbstgehostete Umgebung siehe [welche Repository-Einstellungen gelten](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#repository-settings-in-sessions-with-several-repositories).

327* **Benutzer- und Projekt-lokale Einstellungen** (`~/.claude/settings.json` und `.claude/settings.local.json`): nicht gelesen. Beide bleiben auf Ihrer Maschine, und die lokale Datei ist nicht im Klon.327* **Benutzer- und Projekt-lokale Einstellungen** (`~/.claude/settings.json` und `.claude/settings.local.json`): nicht gelesen. Beide bleiben auf Ihrer Maschine, und die lokale Datei ist nicht im Klon.

328* **Verwaltete Einstellungen**: eine `managed-settings.json` Datei oder MDM-Profil auf Ihrem Gerät erreicht eine Cloud-Sitzung nicht. Die [serververwalteten Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md) Ihrer Organisation erreichen sie; [Oberflächenabdeckung](https://code.claude.com/docs/de/model-config.md#surface-coverage) listet auf, welche Cloud-Sitzungen sie erhalten. Eine [selbstgehostete Umgebung](https://code.claude.com/docs/de/self-hosted-environments) liest auch die verwaltete Einstellungsdatei in ihrem Runner-Image. [Wie Claude Code verwaltete Quellen kombiniert](https://code.claude.com/docs/de/managed-settings.md#how-claude-code-combines-managed-sources) sagt, wann diese Datei angewendet wird.328* **Verwaltete Einstellungen**: eine `managed-settings.json` Datei oder MDM-Profil auf Ihrem Gerät erreicht eine Cloud-Sitzung nicht. Die [serververwalteten Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md) Ihrer Organisation erreichen sie; [Oberflächenabdeckung](https://code.claude.com/docs/de/model-config.md#surface-coverage) listet auf, welche Cloud-Sitzungen sie erhalten. Eine [selbstgehostete Umgebung](https://code.claude.com/docs/de/self-hosted-environments) liest auch die verwaltete Einstellungsdatei in ihrem Runner-Image. [Wie Claude Code verwaltete Quellen kombiniert](https://code.claude.com/docs/de/managed-settings.md#how-claude-code-combines-managed-sources) sagt, wann diese Datei angewendet wird.

329* **`/config`**: im Browser unter claude.ai/code öffnet die Claude Code-Sektion Ihrer claude.ai-Einstellungen statt einen Wert zu ändern. Um eine Einstellung für eine Cloud-Sitzung zu ändern, setzen Sie eine [Umgebungsvariable](https://code.claude.com/docs/de/cloud-environments.md#set-environment-variables) auf der Umgebung. In einer Sitzung mit einem Repository außerhalb der Threads eines Projekts können Sie stattdessen den Schlüssel in die `.claude/settings.json` dieses Repositorys committen.329* **`/config`**: öffnet im Browser unter claude.ai/code Ihre claude.ai-Einstellungsseite **Code** bzw. **Claude Code**, statt einen Wert zu ändern. Um eine Einstellung für eine Cloud-Sitzung zu ändern, setzen Sie eine [Umgebungsvariable](https://code.claude.com/docs/de/cloud-environments.md#set-environment-variables) auf der Umgebung. In einer Sitzung mit einem Repository außerhalb der Threads eines Projekts können Sie stattdessen den Schlüssel in die `.claude/settings.json` dieses Repositorys committen.

330 330 

331[Was von Ihrem Setup überträgt](https://code.claude.com/docs/de/cloud-environments.md#what-carries-over-from-your-setup) listet den Rest auf: `CLAUDE.md`, Skills, MCP-Server, Plugins und Anmeldedaten.331[Was von Ihrem Setup überträgt](https://code.claude.com/docs/de/cloud-environments.md#what-carries-over-from-your-setup) listet den Rest auf: `CLAUDE.md`, Skills, MCP-Server, Plugins und Anmeldedaten.

332 332 

Details

1293* Ein Befehl, der mit `sudo`, `eval` oder `xargs` beginnt1293* Ein Befehl, der mit `sudo`, `eval` oder `xargs` beginnt

1294* Ein `cd`, `pushd` oder `popd`, egal wo es im Aufruf erscheint1294* Ein `cd`, `pushd` oder `popd`, egal wo es im Aufruf erscheint

1295* Eine Befehlsersetzung, eine Subshell oder ein Kontrollfluss-Block wie `if` oder `for`1295* Eine Befehlsersetzung, eine Subshell oder ein Kontrollfluss-Block wie `if` oder `for`

1296* Eine Umleitung, wie `docker build . > build.log`, außer einer, die nur einen Dateideskriptor dupliziert, wie `2>&1` es tut1296* Eine Umleitung, etwa `docker build . > build.log` oder ein `<<EOF`-Heredoc, sofern sie nicht nur einen Dateideskriptor dupliziert, wie es `2>&1` tut

1297* Ein Befehlsname, der aus einer Variable stammt1297* Ein Befehlsname, der aus einer Variable stammt

1298* Ein `git clone`, `git init`, `git worktree add`, `git worktree move` oder `git bundle create` mit einem Pfadargument, das absolut ist, mit `~` beginnt oder ein `..`-Segment enthält1298* Ein `git clone`, `git init`, `git worktree add`, `git worktree move` oder `git bundle create` mit einem Pfadargument, das absolut ist, mit `~` beginnt oder ein `..`-Segment enthält

1299 1299 


1521 1521 

1522### `sandbox.filesystem.disabled`1522### `sandbox.filesystem.disabled`

1523 1523 

1524Überspringen Sie die Dateisystem-Isolierung, während die Netzwerk-Isolierung erhalten bleibt. Befehle in der Sandbox erhalten uneingeschränkten Lese- und Schreibzugriff auf das Host-Dateisystem, und ihr ausgehender Netzwerkverkehr bleibt auf [`network.allowedDomains`](#sandbox-network-alloweddomains) beschränkt. Verwenden Sie es, wenn Sie die Sandbox einsetzen, um zu steuern, wohin Befehle sich verbinden, und nicht, was sie schreiben. Erfordert Claude Code v2.1.216 oder später.1524Überspringen Sie die Dateisystemisolierung und behalten Sie die Netzwerkisolierung bei. Befehle in der Sandbox erhalten uneingeschränkten Lese- und Schreibzugriff auf das Host-Dateisystem, und ihr ausgehender Netzwerkverkehr bleibt auf [`network.allowedDomains`](#sandbox-network-alloweddomains) beschränkt. Verwenden Sie dies, wenn Sie die Sandbox einsetzen, um zu steuern, wohin Befehle Verbindungen aufbauen, statt was sie schreiben.

1525 1525 

1526* **Bereich**: [`User or managed`](#scopes). Wenn verwaltete Einstellungen `sandbox.filesystem` überhaupt konfigurieren oder einen `sandbox.credentials.files`-Eintrag mit `"mode": "deny"` auflisten, können nur verwaltete Einstellungen ihn setzen.1526* **Bereich**: [`User or managed`](#scopes). Wenn verwaltete Einstellungen `sandbox.filesystem` überhaupt konfigurieren oder einen `sandbox.credentials.files`-Eintrag mit `"mode": "deny"` auflisten, können nur verwaltete Einstellungen ihn setzen.

1527* **Typ**: Boolescher Wert1527* **Typ**: Boolescher Wert


1545}1545}

1546```1546```

1547 1547 

1548Bei deaktivierter Schicht erzwingt Claude Code weder `denyRead`- noch `credentials.files`-`deny`-Einträge, während `credentials.envVars`-Einträge und angewendete `mask`-Einträge weiterhin funktionieren. [`autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) ist weiterhin standardmäßig `true`, setzen Sie es daher auf `false`, damit weiterhin nachgefragt wird. Siehe [Disable filesystem isolation](https://code.claude.com/docs/de/sandboxing.md#disable-filesystem-isolation) für die vollständige Liste der Quellen, die es setzen können, und was sich ändert, wenn die Isolierung deaktiviert ist. Erfordert Claude Code v2.1.216 oder später.1548Bei ausgeschalteter Ebene setzt Claude Code weder `denyRead`- noch `deny`-Einträge in `credentials.files` durch, während `credentials.envVars`-Einträge und angewendete `mask`-Einträge weiterhin funktionieren. [`autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) ist weiterhin standardmäßig `true`, setzen Sie es also auf `false`, um weiterhin nachfragen zu lassen. Die vollständige Liste der Quellen, die den Schlüssel setzen können, und was sich bei ausgeschalteter Isolierung ändert, finden Sie unter [Dateisystemisolierung deaktivieren](https://code.claude.com/docs/de/sandboxing.md#disable-filesystem-isolation).

1549 1549 

1550### `sandbox.ignoreViolations`1550### `sandbox.ignoreViolations`

1551 1551 


2392* [`CLAUDE_CODE_RESTRICTED`](https://code.claude.com/docs/de/env-vars#variables), das Claude Code nur aus der Start-Umgebung liest, wird aus jeder Datei ignoriert.2392* [`CLAUDE_CODE_RESTRICTED`](https://code.claude.com/docs/de/env-vars#variables), das Claude Code nur aus der Start-Umgebung liest, wird aus jeder Datei ignoriert.

2393* [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY`](https://code.claude.com/docs/de/env-vars#variables), das Claude Code nur aus der Start-Umgebung liest, wird aus jeder Datei ignoriert. Die Variable erfordert Claude Code v2.1.283 oder später.2393* [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY`](https://code.claude.com/docs/de/env-vars#variables), das Claude Code nur aus der Start-Umgebung liest, wird aus jeder Datei ignoriert. Die Variable erfordert Claude Code v2.1.283 oder später.

2394* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT`, `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`, `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` und `CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT`](https://code.claude.com/docs/de/env-vars#variables), die Claude Code nur aus der Start-Umgebung liest, werden aus jeder Datei ignoriert.2394* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT`, `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`, `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` und `CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT`](https://code.claude.com/docs/de/env-vars#variables), die Claude Code nur aus der Start-Umgebung liest, werden aus jeder Datei ignoriert.

2395* [`CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS`](https://code.claude.com/docs/de/env-vars#variables), das Claude Code nur aus der Start-Umgebung liest, wird aus jeder Datei ignoriert.

2395* [`CLAUDE_CODE_WARN_DISK_FREE_GIB` und `CLAUDE_CODE_WARN_MEMORY_FREE_GIB`](https://code.claude.com/docs/de/env-vars#variables), die Claude Code nur aus der Start-Umgebung liest, werden aus jeder Datei ignoriert. Die Variablen erfordern Claude Code v2.1.304 oder später.2396* [`CLAUDE_CODE_WARN_DISK_FREE_GIB` und `CLAUDE_CODE_WARN_MEMORY_FREE_GIB`](https://code.claude.com/docs/de/env-vars#variables), die Claude Code nur aus der Start-Umgebung liest, werden aus jeder Datei ignoriert. Die Variablen erfordern Claude Code v2.1.304 oder später.

2396 2397 

2397### `fileCheckpointingEnabled`2398### `fileCheckpointingEnabled`


2716}2717}

2717```2718```

2718 2719 

2719Siehe [Emoji-Shortcodes](https://code.claude.com/docs/de/interactive-mode.md#emoji-shortcodes). Erfordert Claude Code v2.1.217 oder höher.2720Siehe [Emoji-Shortcodes](https://code.claude.com/docs/de/interactive-mode.md#emoji-shortcodes).

2720 2721 

2721### `fileSuggestion`2722### `fileSuggestion`

2722 2723 


3691 3692 

3692### `workflowSizeGuideline`3693### `workflowSizeGuideline`

3693 3694 

3694Legen Sie die [Agentenzahl fest, auf die Claude abzielt](https://code.claude.com/docs/de/workflows.md#set-a-size-guideline) in den dynamischen Workflows, die es schreibt. Claude Code sendet den Wert an Claude als Ratschlag, nicht als erzwungene Obergrenze: `"small"` fordert weniger als 5 Agenten an, `"medium"` weniger als 10 und `"large"` weniger als 50. Wählen Sie `"small"`, wenn Sie begrenzen möchten, was ein Workflow ausgibt. Erfordert Claude Code v2.1.219 oder später.3695Legen Sie die [Agentenzahl fest, auf die Claude abzielt](https://code.claude.com/docs/de/workflows.md#set-a-size-guideline) in den dynamischen Workflows, die es schreibt. Claude Code sendet den Wert an Claude als Ratschlag, nicht als erzwungene Obergrenze: `"small"` fordert weniger als 5 Agenten an, `"medium"` weniger als 10 und `"large"` weniger als 50. Wählen Sie `"small"`, wenn Sie begrenzen möchten, was ein Workflow ausgibt.

3695 3696 

3696* **Bereich**: [`Any file`](#scopes). Ein Wert dort hat Vorrang vor der Auswahl **Dynamic workflow size** in `/config`, die Claude Code in `~/.claude.json` speichert, und Claude Code verbirgt diese Zeile, während eine Einstellungsdatei den Schlüssel setzt.3697* **Bereich**: [`Any file`](#scopes). Ein Wert dort hat Vorrang vor der Auswahl **Dynamic workflow size** in `/config`, die Claude Code in `~/.claude.json` speichert, und Claude Code verbirgt diese Zeile, während eine Einstellungsdatei den Schlüssel setzt.

3697* **Typ**: String, einer von:3698* **Typ**: String, einer von:


3707}3708}

3708```3709```

3709 3710 

3710Erfordert Claude Code v2.1.219 oder später; auf v2.1.202 bis v2.1.218 legen Sie die Richtlinie stattdessen in `/config` fest.

3711 

3712## Plugins und Skills3711## Plugins und Skills

3713 3712 

3714Aktivieren Sie Plugins, registrieren Sie Marketplaces, beschränken Sie, welche Plugin-Quellen eine Organisation zulässt, und kontrollieren Sie, welche Skills geladen werden. Informationen zum Installieren und Erstellen von Plugins finden Sie unter [Plugins](https://code.claude.com/docs/de/plugins/overview.md).3713Aktivieren Sie Plugins, registrieren Sie Marketplaces, beschränken Sie, welche Plugin-Quellen eine Organisation zulässt, und kontrollieren Sie, welche Skills geladen werden. Informationen zum Installieren und Erstellen von Plugins finden Sie unter [Plugins](https://code.claude.com/docs/de/plugins/overview.md).

skills.md +5 −7

Details

83| Unterbefehl | Was er tut | Mindestversion |83| Unterbefehl | Was er tut | Mindestversion |

84| :- | :- | :- |84| :- | :- | :- |

85| `migrate` | Aktualisieren Sie Ihren vorhandenen Claude API-Code auf ein neueres Modell | Früher als v2.1.221 |85| `migrate` | Aktualisieren Sie Ihren vorhandenen Claude API-Code auf ein neueres Modell | Früher als v2.1.221 |

86| `upgrade` | Verschieben Sie die Anthropic SDK-Abhängigkeit Ihres Projekts über eine Hauptversion hinweg, derzeit das Python-Paket `anthropic` von 0.x zu 1.x | v2.1.236 oder später |86| `upgrade` | Aktualisieren Sie das Anthropic SDK Ihres Projekts auf eine neue Hauptversion und passen Sie Ihren Code an deren inkompatible Änderungen an | v2.1.236 oder später |

87| `api-version` | Aktualisieren Sie Ihren Claude API-Code für eine neuere [API-Version](https://platform.claude.com/docs/en/api/versioning) und stellen Sie Ihre Anfragen anschließend auf diese Version um | v2.1.307 oder später |87| `api-version` | Aktualisieren Sie Ihren Claude API-Code für eine neuere [API-Version](https://platform.claude.com/docs/en/api/versioning) und stellen Sie Ihre Anfragen anschließend auf diese Version um | v2.1.307 oder später |

88| `managed-agents-onboard` | Durchlaufen Sie die Erstellung eines neuen Managed Agent | Früher als v2.1.221 |88| `managed-agents-onboard` | Durchlaufen Sie die Erstellung eines neuen Managed Agent | Früher als v2.1.221 |

89| `managed-agents-onboard <url>` | Erstellen Sie den Managed Agent, den die Seite unter der URL beschreibt, z. B. eine Seite in der [Managed Agents-Dokumentation](https://platform.claude.com/docs/en/managed-agents/overview) | v2.1.290 oder später |89| `managed-agents-onboard <url>` | Erstellen Sie den Managed Agent, den die Seite unter der URL beschreibt, z. B. eine Seite in der [Managed Agents-Dokumentation](https://platform.claude.com/docs/en/managed-agents/overview) | v2.1.290 oder später |


3713. Push to the deployment target3713. Push to the deployment target

372```372```

373 373 

374Halten Sie den Text selbst prägnant. Sobald eine Fähigkeit geladen ist, bleibt ihr Inhalt [über Turns hinweg im Kontext](#skill-content-lifecycle), sodass jede Zeile wiederkehrende Token-Kosten verursacht. Geben Sie an, was zu tun ist, anstatt zu erzählen, wie oder warum, und wenden Sie denselben Prägnanztest an, den Sie für [CLAUDE.md-Inhalte](https://code.claude.com/docs/de/best-practices.md#write-an-effective-claude-md) verwenden würden.374Halten Sie den Text selbst prägnant. Sobald ein Skill geladen ist, bleibt sein Inhalt [über Turns hinweg im Kontext](#skill-content-lifecycle), sodass jede Zeile wiederkehrende Token-Kosten verursacht. Geben Sie an, was zu tun ist, anstatt zu erzählen, wie oder warum, und wenden Sie denselben Prägnanztest an, den Sie für [CLAUDE.md-Inhalte](https://code.claude.com/docs/de/best-practices.md#keep-claude-md-short) verwenden würden.

375 375 

376### Frontmatter-Referenz376### Frontmatter-Referenz

377 377 


388Your skill instructions here...388Your skill instructions here...

389```389```

390 390 

391Alle Felder sind optional. Nur `description` wird empfohlen, damit Claude weiß, wann die Fähigkeit verwendet werden soll. Ein Feldname muss genau mit der Tabelle übereinstimmen, Bindestriche eingeschlossen: Claude Code ignoriert ein Feld, das es nicht erkennt, ohne einen Fehler zu melden.391Alle Felder sind optional. Nur `description` wird empfohlen, damit Claude weiß, wann der Skill verwendet werden soll. Ein Feldname muss genau mit der Tabelle übereinstimmen, Bindestriche eingeschlossen: Claude Code ignoriert ein Feld, das es nicht erkennt, ohne einen Fehler zu melden. Boolesche Felder akzeptieren `yes`, `no`, `on`, `off`, `1` und `0` in beliebiger Schreibweise, zusätzlich zu `true` und `false`.

392 392 

393Claude Code liest das Frontmatter nur, wenn die öffnende `---` die erste Zeile der Datei ist. Andernfalls behandelt es die gesamte Datei, einschließlich `---`-Markierungen, als Fähigkeitsinhalt. Wenn das YAML zwischen den Markierungen nicht analysiert wird, wird die Fähigkeit immer noch geladen, ohne dass Felder gesetzt werden; siehe [Fähigkeit wird nicht ausgelöst](#skill-not-triggering), um den Fehler zu finden und zu beheben.393Claude Code liest das Frontmatter nur, wenn die öffnende `---` die erste Zeile der Datei ist. Andernfalls behandelt es die gesamte Datei, einschließlich `---`-Markierungen, als Fähigkeitsinhalt. Wenn das YAML zwischen den Markierungen nicht analysiert wird, wird die Fähigkeit immer noch geladen, ohne dass Felder gesetzt werden; siehe [Fähigkeit wird nicht ausgelöst](#skill-not-triggering), um den Fehler zu finden und zu beheben.

394 394 

395Boolesche Felder akzeptieren `yes`, `no`, `on`, `off`, `1` und `0` in beliebiger Schreibweise, zusätzlich zu `true` und `false`. Vor v2.1.218 erkannte Claude Code nur `true` und `false`.

396 

397| Feld | Erforderlich | Beschreibung |395| Feld | Erforderlich | Beschreibung |

398| :- | :- | :- |396| :- | :- | :- |

399| `name` | Nein | Befehlsname, der im `/`-Menü angezeigt wird. Standardmäßig der Verzeichnisname. Siehe [Wie eine Fähigkeit ihren Befehlsnamen erhält](#how-a-skill-gets-its-command-name), um zu sehen, wie das Feld mit dem Namen interagiert, den Sie eingeben, um die Fähigkeit aufzurufen. |397| `name` | Nein | Befehlsname, der im `/`-Menü angezeigt wird. Standardmäßig der Verzeichnisname. Siehe [Wie eine Fähigkeit ihren Befehlsnamen erhält](#how-a-skill-gets-its-command-name), um zu sehen, wie das Feld mit dem Namen interagiert, den Sie eingeben, um die Fähigkeit aufzurufen. |


409| `effort` | Nein | [Effort-Stufe](https://code.claude.com/docs/de/model-config.md#adjust-effort-level), wenn dieser Skill aktiv ist. Überschreibt die Effort-Stufe der Sitzung. Wenn Sie das Feld weglassen, ergibt sich die Stufe aus der [Auflösungsreihenfolge für Effort](https://code.claude.com/docs/de/model-config.md#adjust-effort-level). Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab. |407| `effort` | Nein | [Effort-Stufe](https://code.claude.com/docs/de/model-config.md#adjust-effort-level), wenn dieser Skill aktiv ist. Überschreibt die Effort-Stufe der Sitzung. Wenn Sie das Feld weglassen, ergibt sich die Stufe aus der [Auflösungsreihenfolge für Effort](https://code.claude.com/docs/de/model-config.md#adjust-effort-level). Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab. |

410| `context` | Nein | Setzen Sie auf `fork`, um in einem verzweigten Subagent-Kontext ausgeführt zu werden. Siehe [Fähigkeiten in einem Subagent ausführen](#run-skills-in-a-subagent). |408| `context` | Nein | Setzen Sie auf `fork`, um in einem verzweigten Subagent-Kontext ausgeführt zu werden. Siehe [Fähigkeiten in einem Subagent ausführen](#run-skills-in-a-subagent). |

411| `agent` | Nein | Welcher Subagent-Typ verwendet werden soll, wenn `context: fork` gesetzt ist. |409| `agent` | Nein | Welcher Subagent-Typ verwendet werden soll, wenn `context: fork` gesetzt ist. |

412| `background` | Nein | Gilt nur mit `context: fork`. Setzen Sie auf `false`, um auf das Ergebnis des verzweigten Subagents im Turn zu warten, der die Fähigkeit aufgerufen hat, anstatt [es im Hintergrund auszuführen](#run-skills-in-a-subagent). Standard: `true`. Erfordert Claude Code v2.1.218 oder später. |410| `background` | Nein | Gilt nur mit `context: fork`. Setzen Sie auf `false`, um auf das Ergebnis des verzweigten Subagenten im Turn zu warten, der den Skill aufgerufen hat, anstatt [ihn im Hintergrund auszuführen](#run-skills-in-a-subagent). Standard: `true`. |

413| `hooks` | Nein | Hooks, die Claude Code registriert, wenn der Skill aufgerufen wird, und die für den Rest der Sitzung aktiv bleiben. Siehe [Hooks in Skills und Agenten](https://code.claude.com/docs/de/hooks.md#hooks-in-skills-and-agents) für das Konfigurationsformat, die Option `once` und die [Einschränkungen für Skill-Hooks](https://code.claude.com/docs/de/hooks.md#limits-on-skill-hooks). |411| `hooks` | Nein | Hooks, die Claude Code registriert, wenn der Skill aufgerufen wird, und die für den Rest der Sitzung aktiv bleiben. Siehe [Hooks in Skills und Agenten](https://code.claude.com/docs/de/hooks.md#hooks-in-skills-and-agents) für das Konfigurationsformat, die Option `once` und die [Einschränkungen für Skill-Hooks](https://code.claude.com/docs/de/hooks.md#limits-on-skill-hooks). |

414| `paths` | Nein | Glob-Muster, die einschränken, wann dieser Skill aktiviert wird. Akzeptiert eine durch Komma getrennte Zeichenkette oder eine YAML-Liste. Wenn gesetzt, lädt Claude den Skill automatisch nur, wenn es mit Dateien arbeitet, die den Mustern entsprechen. Muster sind relativ zu Claudes aktuellem Arbeitsverzeichnis, und Dateien außerhalb dieses Verzeichnisses stimmen nicht überein. Verwendet das gleiche Glob-Format wie [pfadspezifische Regeln](https://code.claude.com/docs/de/memory.md#path-specific-rules). |412| `paths` | Nein | Glob-Muster, die einschränken, wann dieser Skill aktiviert wird. Akzeptiert eine durch Komma getrennte Zeichenkette oder eine YAML-Liste. Wenn gesetzt, lädt Claude den Skill automatisch nur, wenn es mit Dateien arbeitet, die den Mustern entsprechen. Muster sind relativ zu Claudes aktuellem Arbeitsverzeichnis, und Dateien außerhalb dieses Verzeichnisses stimmen nicht überein. Verwendet das gleiche Glob-Format wie [pfadspezifische Regeln](https://code.claude.com/docs/de/memory.md#path-specific-rules). |

415| `shell` | Nein | Shell, die für `` !`command` ``- und ` ```! `-Blöcke in diesem Skill verwendet werden soll. Akzeptiert `bash` (Standard) oder `powershell`. Das Setzen von `powershell` führt Inline-Shell-Befehle über PowerShell aus, wenn das [PowerShell-Tool](https://code.claude.com/docs/de/tools-reference.md#powershell-tool) aktiviert ist: Es ist standardmäßig unter Windows ohne Git Bash aktiviert, standardmäßig mit Git Bash für claude.ai- und Console-Konten aktiviert und benötigt `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` in Sitzungen mit Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry sowie auf macOS, Linux und WSL. Setzen Sie es auf `0`, um das Tool auszuschalten. |413| `shell` | Nein | Shell, die für `` !`command` ``- und ` ```! `-Blöcke in diesem Skill verwendet werden soll. Akzeptiert `bash` (Standard) oder `powershell`. Das Setzen von `powershell` führt Inline-Shell-Befehle über PowerShell aus, wenn das [PowerShell-Tool](https://code.claude.com/docs/de/tools-reference.md#powershell-tool) aktiviert ist: Es ist standardmäßig unter Windows ohne Git Bash aktiviert, standardmäßig mit Git Bash für claude.ai- und Console-Konten aktiviert und benötigt `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` in Sitzungen mit Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry sowie auf macOS, Linux und WSL. Setzen Sie es auf `0`, um das Tool auszuschalten. |


800>798>

801> Trotz des Namens läuft ein Skill mit `context: fork` nicht in einem [Fork der aktuellen Konversation](https://code.claude.com/docs/de/sub-agents.md#fork-the-current-conversation), der dem Subagenten alles übergeben würde, was Sie bisher besprochen haben. Wenn die Aufgabe von diesem Verlauf abhängt, forken Sie die Konversation, statt `context: fork` zu verwenden.799> Trotz des Namens läuft ein Skill mit `context: fork` nicht in einem [Fork der aktuellen Konversation](https://code.claude.com/docs/de/sub-agents.md#fork-the-current-conversation), der dem Subagenten alles übergeben würde, was Sie bisher besprochen haben. Wenn die Aufgabe von diesem Verlauf abhängt, forken Sie die Konversation, statt `context: fork` zu verwenden.

802 800 

803Der geforkte Subagent läuft im [Hintergrund](https://code.claude.com/docs/de/sub-agents.md#run-subagents-in-foreground-or-background): Sie arbeiten weiter, während er läuft, und sein Ergebnis erscheint in Ihrer Konversation, wenn er fertig ist. Setzen Sie `background: false` im Frontmatter, um stattdessen im Turn, der den Skill aufgerufen hat, auf das Ergebnis zu warten. Vor v2.1.218 blockierten geforkte Skills den Turn stets, bis sie fertig waren.801Der geforkte Subagent läuft im [Hintergrund](https://code.claude.com/docs/de/sub-agents.md#run-subagents-in-foreground-or-background): Sie arbeiten weiter, während er läuft, und sein Ergebnis erscheint in Ihrer Konversation, wenn er fertig ist. Setzen Sie `background: false` im Frontmatter, um stattdessen im Turn, der den Skill aufgerufen hat, auf das Ergebnis zu warten.

804 802 

805Claude Code wartet auch dann auf das Ergebnis, wenn der Skill `background: false` nicht setzt, etwa in folgenden Fällen:803Claude Code wartet auch dann auf das Ergebnis, wenn der Skill `background: false` nicht setzt, etwa in folgenden Fällen:

806 804 

sub-agents.md +3 −10

Details

352* **Vollständige Modell-ID**: Verwenden Sie eine vollständige Modell-ID wie `claude-opus-5-5` oder `claude-sonnet-5`. Akzeptiert dieselben Werte wie das `--model`-Flag352* **Vollständige Modell-ID**: Verwenden Sie eine vollständige Modell-ID wie `claude-opus-5-5` oder `claude-sonnet-5`. Akzeptiert dieselben Werte wie das `--model`-Flag

353* **inherit**: Verwenden Sie dasselbe Modell wie die Hauptkonversation353* **inherit**: Verwenden Sie dasselbe Modell wie die Hauptkonversation

354 354 

355Wenn Claude einen Subagenten aufruft, kann es auch einen `model`-Parameter für diese spezifische Invokation übergeben. Claude Code löst das Modell des Subagenten in dieser Reihenfolge auf:355Wenn Claude einen Subagenten aufruft, kann es auch einen `model`-Parameter für diese spezifische Invokation übergeben. Bei einem Aufruf des Agent-Tools akzeptiert dieser Parameter einen Modell-Alias: `sonnet`, `opus`, `haiku` oder `fable`. Claude kann bei diesem Aufruf keine vollständige Modell-ID und kein `inherit` übergeben. Claude Code löst das Modell des Subagenten in dieser Reihenfolge auf:

356 356 

3571. Der Per-Invokation-`model`-Parameter3571. Der Per-Invokation-`model`-Parameter

3582. Das `model`-Frontmatter des Subagenten, wobei `inherit` das Modell der Hauptkonversation auswählt3582. Das `model`-Frontmatter des Subagenten, wobei `inherit` das Modell der Hauptkonversation auswählt


760>760>

761> Frontmatter-Hooks werden ausgelöst, wenn der Agent als Subagent durch das Agent-Werkzeug oder eine @-Erwähnung gespawnt wird, und wenn der Agent als Hauptsitzung über [`--agent`](#invoke-subagents-explicitly) oder die `agent`-Einstellung läuft. Im Hauptsitzungs-Fall werden sie zusammen mit allen Hooks ausgeführt, die in [`settings.json`](https://code.claude.com/docs/de/hooks) definiert sind.761> Frontmatter-Hooks werden ausgelöst, wenn der Agent als Subagent durch das Agent-Werkzeug oder eine @-Erwähnung gespawnt wird, und wenn der Agent als Hauptsitzung über [`--agent`](#invoke-subagents-explicitly) oder die `agent`-Einstellung läuft. Im Hauptsitzungs-Fall werden sie zusammen mit allen Hooks ausgeführt, die in [`settings.json`](https://code.claude.com/docs/de/hooks) definiert sind.

762 762 

763Um Frontmatter-Hooks eines Subagenten auf Projektebene auszuführen, akzeptieren Sie den [Arbeitsbereichs-Vertrauensdialog](https://code.claude.com/docs/de/permissions.md#project-allow-rules-and-workspace-trust) für den Ordner, der die Agent-Datei enthält. Hooks von Benutzer-Subagenten in `~/.claude/agents/` und von Definitionen, die Sie mit `--agents` übergeben, werden ohne diesen Schritt ausgeführt. Wenn Sie einen Ordner mit `--add-dir` von außerhalb des Repositorys Ihres vertrauenswürdigen Arbeitsbereichs hinzugefügt haben, vertrauen Sie diesem Ordner separat: Seine `.claude/agents/`-Hooks erben das Vertrauen Ihres Arbeitsbereichs nicht.763Damit die Frontmatter-Hooks eines Subagenten auf Projektebene ausgeführt werden, akzeptieren Sie den [Workspace-Vertrauensdialog](https://code.claude.com/docs/de/permissions.md#project-allow-rules-and-workspace-trust) für den Ordner, der die Agent-Datei enthält. Hooks von Benutzer-Subagenten in `~/.claude/agents/` und von Definitionen, die Sie mit `--agents` übergeben, werden ohne diesen Schritt ausgeführt. Wenn Sie einen Ordner mit `--add-dir` von außerhalb des Repositorys Ihres vertrauenswürdigen Workspace hinzugefügt haben, vertrauen Sie diesem Ordner separat: Seine `.claude/agents/`-Hooks erben die Freigabe des Workspace nicht.

764 764 

765Bis Sie dem Ordner vertrauen, wird der Subagent immer noch ausgeführt, aber Claude Code überspringt seine Frontmatter-Hooks und protokolliert einen Fehler im Debug-Protokoll, der erklärt, wie man dem Ordner vertraut. Dies ist eine strengere Regel als die für Hooks in Einstellungsdateien: Das Vertrauen eines übergeordneten Ordners ist nicht ausreichend, und eine `-p`-Sitzung zählt nicht als vertrauenswürdig. [Was vor dem Vertrauen eines Ordners ausgeführt wird](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) vergleicht die beiden. Vor v2.1.218 konnten Frontmatter-Hooks aus Ordnern ausgeführt werden, denen Sie nicht vertraut haben, auch in nicht-interaktiven Sitzungen.765Bis Sie dem Ordner vertrauen, wird der Subagent trotzdem ausgeführt, aber Claude Code überspringt seine Frontmatter-Hooks und protokolliert im Debug-Log einen Fehler, der erklärt, wie Sie dem Ordner vertrauen. Dies ist eine strengere Regel als die für Hooks in Einstellungsdateien: Das Vertrauen eines übergeordneten Ordners reicht nicht aus, und eine `-p`-Sitzung zählt nicht als vertrauenswürdig. [Was ausgeführt wird, bevor Sie einem Ordner vertrauen](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) vergleicht die beiden.

766 766 

767Alle [Hook-Ereignisse](https://code.claude.com/docs/de/hooks.md#hook-events) werden unterstützt. Die häufigsten Ereignisse für Subagenten sind:767Alle [Hook-Ereignisse](https://code.claude.com/docs/de/hooks.md#hook-events) werden unterstützt. Die häufigsten Ereignisse für Subagenten sind:

768 768 


1075 1075 

1076Im Terminal zeigt Claude Code verschachtelte Subagenten als Baum im Subagenten-Panel unter der Prompt-Eingabe an und markiert jede Zeile, die immer noch Nachkommen im Panel hat, mit einer `(+N)`-Anzahl von ihnen. Öffnen Sie eine Zeile, um die Geschwister und direkten Kinder dieses Subagenten mit einem Pfad zurück zu `main` zu sehen.1076Im Terminal zeigt Claude Code verschachtelte Subagenten als Baum im Subagenten-Panel unter der Prompt-Eingabe an und markiert jede Zeile, die immer noch Nachkommen im Panel hat, mit einer `(+N)`-Anzahl von ihnen. Öffnen Sie eine Zeile, um die Geschwister und direkten Kinder dieses Subagenten mit einem Pfad zurück zu `main` zu sehen.

1077 1077 

1078> [!NOTE]

1079>

1080> Frühere Versionen verwendeten unterschiedliche Standards:

1081>

1082> * **v2.1.172 bis v2.1.216**: Subagenten konnten standardmäßig verschachtelt werden, bis zu fünf Ebenen tief, und die Grenze konnte nicht geändert werden.

1083> * **v2.1.217 bis v2.1.218**: Die Grenze betrug standardmäßig eins, sodass ein Subagent nicht seine eigenen spawnen konnte, sofern Sie sie nicht erhöhten; v2.1.219 erhöhte den Standard auf drei.

1084 

1085### Gleichzeitige Subagenten-Grenze1078### Gleichzeitige Subagenten-Grenze

1086 1079 

1087Zwei Grenzen steuern die Subagenten-Nutzung, jede mit ihrer eigenen Variablen: Diese hindert Claude daran, mehr Subagenten zu spawnen, während zu viele laufen, und die [Tiefenbegrenzung](#let-subagents-spawn-their-own-subagents) begrenzt, wie tief Subagenten verschachtelt sind. Es gibt keine Grenze für die Gesamtzahl der Subagenten, die Claude über eine Sitzung hinweg spawnen kann.1080Zwei Grenzen steuern die Subagenten-Nutzung, jede mit ihrer eigenen Variablen: Diese hindert Claude daran, mehr Subagenten zu spawnen, während zu viele laufen, und die [Tiefenbegrenzung](#let-subagents-spawn-their-own-subagents) begrenzt, wie tief Subagenten verschachtelt sind. Es gibt keine Grenze für die Gesamtzahl der Subagenten, die Claude über eine Sitzung hinweg spawnen kann.

Details

290>290>

291> Jeder [Subagent](https://code.claude.com/docs/de/sub-agents.md) und jede parallele Aufgabe wird in einer von acht benannten Farben angezeigt, damit Sie sie im Transkript unterscheiden können. Die Token-Namen folgen dem Muster `<color>_FOR_SUBAGENTS_ONLY`, wobei `<color>` `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` oder `cyan` ist. Überschreiben Sie diese, um zu ändern, wie jede benannte Farbe aussieht. Beispielsweise wird ein Subagent mit `color: blue` in seiner Definition mit dem Wert `blue_FOR_SUBAGENTS_ONLY` gezeichnet.291> Jeder [Subagent](https://code.claude.com/docs/de/sub-agents.md) und jede parallele Aufgabe wird in einer von acht benannten Farben angezeigt, damit Sie sie im Transkript unterscheiden können. Die Token-Namen folgen dem Muster `<color>_FOR_SUBAGENTS_ONLY`, wobei `<color>` `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` oder `cyan` ist. Überschreiben Sie diese, um zu ändern, wie jede benannte Farbe aussieht. Beispielsweise wird ein Subagent mit `color: blue` in seiner Definition mit dem Wert `blue_FOR_SUBAGENTS_ONLY` gezeichnet.

292>292>

293> Claude Code rendert das Schlüsselwort [`ultrathink`](https://code.claude.com/docs/de/model-config#use-ultrathink-for-one-off-deep-reasoning) in der Eingabeaufforderung mit einem siebenfarbigen Regenbogenfarbverlauf. Die Token-Namen folgen dem Muster `rainbow_<color>` und `rainbow_<color>_shimmer`, wobei `<color>` `red`, `orange`, `yellow`, `green`, `blue`, `indigo` oder `violet` ist.293> Wenn [`ultrathink`](https://code.claude.com/docs/de/model-config#use-ultrathink-for-one-off-deep-reasoning) den Aufwand eines Turns erhöhen kann, rendert Claude Code das Wort im Prompt-Eingabefeld mit einem siebenfarbigen Regenbogenfarbverlauf. Die Token-Namen folgen dem Muster `rainbow_<color>` und `rainbow_<color>_shimmer`, wobei `<color>` `red`, `orange`, `yellow`, `green`, `blue`, `indigo` oder `violet` ist.

294 294 

295## Zu Vollbildrendering wechseln295## Zu Vollbildrendering wechseln

296 296 

ultrareview.md +4 −2

Details

85 85 

86### Anfrage in einfachen Worten übergeben86### Anfrage in einfachen Worten übergeben

87 87 

88In Claude Code v2.1.218 oder später können Sie auch beschreiben, woran Sie arbeiten, in einfachen Worten:88Sie können auch in einfachen Worten beschreiben, woran Sie arbeiten:

89 89 

90```text theme={null}90```text theme={null}

91/code-review ultra check my auth changes91/code-review ultra check my auth changes


159 159 

160Sie stimmen dem Fallback für das gesamte Repository und der Abfrage zu Abrechnung und Bedingungen zu, wenn Sie den Unterbefehl ausführen, sodass die Ausführung nicht anhält, um diese bestätigen zu lassen. Das Ausführen selbst ist das, was als Zustimmung zählt. Wenn Claude den Unterbefehl stattdessen für Sie ausführt, beispielsweise über das Bash-Tool, lehnt Claude Code die Review des gesamten Repositorys ab.160Sie stimmen dem Fallback für das gesamte Repository und der Abfrage zu Abrechnung und Bedingungen zu, wenn Sie den Unterbefehl ausführen, sodass die Ausführung nicht anhält, um diese bestätigen zu lassen. Das Ausführen selbst ist das, was als Zustimmung zählt. Wenn Claude den Unterbefehl stattdessen für Sie ausführt, beispielsweise über das Bash-Tool, lehnt Claude Code die Review des gesamten Repositorys ab.

161 161 

162`claude -p '/code-review ultra'` liefert Ihnen nicht die Ergebnisse, verwenden Sie daher in Skripten `claude ultrareview`. Die `-p`-Ausführung startet die Cloud-Review und beendet sich, ohne darauf zu warten. Wenn die Review Nutzungsguthaben abrechnen würde, stoppt die `-p`-Ausführung, ohne sie zu starten. Vor v2.1.218 führte `/code-review ultra` in einer nicht-interaktiven Sitzung eine lokale Review aus.162> [!NOTE]

163>

164> `claude -p '/code-review ultra'` liefert Ihnen nicht die Ergebnisse, verwenden Sie daher in Skripten `claude ultrareview`. Die `-p`-Ausführung startet die Cloud-Review und beendet sich, ohne darauf zu warten. Wenn die Review Nutzungsguthaben abrechnen würde, stoppt die `-p`-Ausführung, ohne sie zu starten.

163 165 

164| Flag | Beschreibung |166| Flag | Beschreibung |

165| - | - |167| - | - |

Details

182* Sie können auch in der Titelleiste der Sitzung oder im **⋮**-Menü der Leiste auf **Changes** klicken.182* Sie können auch in der Titelleiste der Sitzung oder im **⋮**-Menü der Leiste auf **Changes** klicken.

183* Um den Bereich anzuzeigen, wenn er ausgeblendet ist, klicken Sie in der Titelleiste der Sitzung oder im **⋮**-Menü der Leiste auf das Symbol **Show session rail**.183* Um den Bereich anzuzeigen, wenn er ausgeblendet ist, klicken Sie in der Titelleiste der Sitzung oder im **⋮**-Menü der Leiste auf das Symbol **Show session rail**.

184 184 

185Der Diff vergleicht die Änderungen der Sitzung standardmäßig mit ihrem Basis-Branch. Um gegen einen anderen Branch zu vergleichen, wählen Sie **Vergleichen gegen** und wählen Sie einen aus.185Der Diff vergleicht die Änderungen der Sitzung standardmäßig mit ihrem Basis-Branch. Um gegen einen anderen Branch zu vergleichen, wählen Sie **Compare against** und wählen Sie einen aus. Beim Vergleich mit dem Basis-Branch kann der Diff [Änderungen auslassen, die noch nicht gepusht wurden](https://code.claude.com/docs/de/claude-code-on-the-web.md#troubleshoot-a-missing-file-in-the-diff-view).

186 186 

187**2. Hinterlassen Sie Inline-Kommentare**187**2. Hinterlassen Sie Inline-Kommentare**

188 188 

189Wählen Sie eine beliebige Zeile im Diff aus, geben Sie Ihr Feedback ein und drücken Sie die Eingabetaste. Kommentare werden in die Warteschlange eingereiht, bis Sie Ihre nächste Nachricht senden, dann werden sie damit gebündelt. Claude sieht „bei `src/auth.ts:47`, den Fehler hier nicht abfangen“ neben Ihrer Hauptanweisung, sodass Sie nicht beschreiben müssen, wo das Problem liegt.189Bewegen Sie den Mauszeiger über eine Zeile im Diff und klicken Sie auf das **+**, das neben der Zeilennummer erscheint, um ein Kommentarfeld zu öffnen. Geben Sie dann Ihr Feedback ein und drücken Sie die Eingabetaste. Kommentare werden in die Warteschlange eingereiht, bis Sie Ihre nächste Nachricht senden, dann werden sie damit gebündelt. Claude sieht „bei `src/auth.ts:47`, den Fehler hier nicht abfangen“ neben Ihrer Hauptanweisung, sodass Sie nicht beschreiben müssen, wo das Problem liegt.

190 190 

191**3. Erstellen Sie einen Pull Request**191**3. Erstellen Sie einen Pull Request**

192 192 

workflows.md +5 −9

Details

155* Das [gleichzeitige Subagenten-Limit](https://code.claude.com/docs/de/sub-agents.md#concurrent-subagent-limit) der Sitzung wird nicht für die Subagenten erzwungen, die Claude mit dem Agent-Tool spawnt155* Das [gleichzeitige Subagenten-Limit](https://code.claude.com/docs/de/sub-agents.md#concurrent-subagent-limit) der Sitzung wird nicht für die Subagenten erzwungen, die Claude mit dem Agent-Tool spawnt

156* Im automatischen Berechtigungsmodus werden Sie nicht aufgefordert, [den ersten Workflow-Start zu genehmigen](#approve-the-plan-before-it-runs)156* Im automatischen Berechtigungsmodus werden Sie nicht aufgefordert, [den ersten Workflow-Start zu genehmigen](#approve-the-plan-before-it-runs)

157 157 

158`/effort ultracode` dauert für die aktuelle Sitzung; um jede Sitzung damit zu starten, setzen Sie die [`ultracode`](https://code.claude.com/docs/de/settings-reference#ultracode)-Einstellung. Gehen Sie mit `/effort ultracode off` zurück, wenn Sie zur Routinearbeit zurückkehren. Der `/effort`-Schieberegler bietet den Schalter nur [wenn Ultracode verfügbar ist](https://code.claude.com/docs/de/model-config.md#when-ultracode-is-available).158`/effort ultracode` gilt für die aktuelle Sitzung; um jede Sitzung damit zu starten, setzen Sie die Einstellung [`ultracode`](https://code.claude.com/docs/de/settings-reference#ultracode). Schalten Sie es mit `/effort ultracode off` aus, wenn Sie zu alltäglicher Arbeit zurückkehren. Der `/effort`-Schieberegler bietet den Schalter nur an, [wenn Ultracode verfügbar ist](https://code.claude.com/docs/de/model-config.md#when-ultracode-is-available). Vor v2.1.284 setzte `/effort ultracode` die Sitzung auf `xhigh`, und `/effort ultracode off` schlug mit `Invalid argument` fehl.

159 159 

160### Genehmigen Sie den Plan, bevor er ausgeführt wird160### Genehmigen Sie den Plan, bevor er ausgeführt wird

161 161 


198* `.claude/workflows/` in Ihrem Projekt: Geteilt mit jedem, der das Repo klont198* `.claude/workflows/` in Ihrem Projekt: Geteilt mit jedem, der das Repo klont

199* `~/.claude/workflows/` in Ihrem Home-Verzeichnis: Verfügbar in jedem Projekt, nur für Sie sichtbar. Wenn Sie [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars) setzen, ist dieser Speicherort das `workflows/`-Verzeichnis unter diesem Pfad.199* `~/.claude/workflows/` in Ihrem Home-Verzeichnis: Verfügbar in jedem Projekt, nur für Sie sichtbar. Wenn Sie [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars) setzen, ist dieser Speicherort das `workflows/`-Verzeichnis unter diesem Pfad.

200 200 

201Der Speicherdialog zeigt den aufgelösten Pfad für den persönlichen Speicherort an.201Der Speicherdialog zeigt den aufgelösten Pfad für den persönlichen Speicherort an. Drücken Sie Enter zum Speichern. Der Workflow wird in zukünftigen Sitzungen von beiden Orten aus als `/<name>` ausgeführt.

202 202 

203Drücken Sie Enter zum Speichern. Der Workflow wird in zukünftigen Sitzungen von beiden Orten aus als `/<name>` ausgeführt.203Claude Code überprüft den Speicherort auf Symlinks, bevor geschrieben wird, und zeigt einen Fehler an, anstatt über einen Symlink zu schreiben:

204 

205Claude Code überprüft den Speicherort auf Symlinks, bevor geschrieben wird, und zeigt stattdessen einen Fehler an. Was überprüft wird, hängt davon ab, wo Sie speichern:

206 204 

207* Projektort: Claude Code weigert sich, wenn `.claude`, `.claude/workflows` oder die Zieldatei ein Symlink ist.205* Projektort: Claude Code weigert sich, wenn `.claude`, `.claude/workflows` oder die Zieldatei ein Symlink ist.

208* Persönlicher Ort: Claude Code weigert sich nur, wenn die Zieldatei selbst ein Symlink ist, sodass ein von einem Dotfiles-Tool verwaltetes `~/.claude`-Verzeichnis immer noch funktioniert.206* Persönlicher Ort: Claude Code weigert sich nur, wenn die Zieldatei selbst ein Symlink ist, sodass ein von einem Dotfiles-Tool verwaltetes `~/.claude`-Verzeichnis immer noch funktioniert.

209 207 

210Vor v2.1.216 folgte Claude Code dem Link, was die Datei außerhalb des gewählten Speicherorts platzieren konnte.

211 

212In einem Monorepo mit mehreren `.claude/`-Verzeichnissen können Sie Workflows neben dem Paket speichern, auf das sie sich beziehen. Das Speichern am Projektort schreibt in das nächste `.claude/workflows/`-Verzeichnis, das bereits zwischen Ihrem Arbeitsverzeichnis und dem Repository-Root vorhanden ist, oder zum Repository-Root, wenn noch keines vorhanden ist. Projekt-Workflows werden auch aus jedem `.claude/workflows/` entlang dieses Pfads geladen, und wenn mehr als einer denselben Namen definiert, führt Claude Code denjenigen aus, der dem Arbeitsverzeichnis am nächsten ist.208In einem Monorepo mit mehreren `.claude/`-Verzeichnissen können Sie Workflows neben dem Paket speichern, auf das sie sich beziehen. Das Speichern am Projektort schreibt in das nächste `.claude/workflows/`-Verzeichnis, das bereits zwischen Ihrem Arbeitsverzeichnis und dem Repository-Root vorhanden ist, oder zum Repository-Root, wenn noch keines vorhanden ist. Projekt-Workflows werden auch aus jedem `.claude/workflows/` entlang dieses Pfads geladen, und wenn mehr als einer denselben Namen definiert, führt Claude Code denjenigen aus, der dem Arbeitsverzeichnis am nächsten ist.

213 209 

214Wenn ein Projekt-Workflow und ein persönlicher Workflow denselben Namen teilen, wird der Projekt-Workflow ausgeführt.210Wenn ein Projekt-Workflow und ein persönlicher Workflow denselben Namen teilen, wird der Projekt-Workflow ausgeführt.


469| `medium` | Weniger als 10 Agenten |465| `medium` | Weniger als 10 Agenten |

470| `large` | Weniger als 50 Agenten |466| `large` | Weniger als 50 Agenten |

471 467 

472Der Standardwert ist `medium`, oder `small`, wenn Sie mit einem Pro-Plan und Claude Code v2.1.271 oder neuer angemeldet sind. Bis Sie einen Wert wählen, kennzeichnet die `/config`-Zeile den Wert als Standard, und die Zeile `Running in background` des Workflows nennt die geltende Größe. Erfordert Claude Code v2.1.219 oder neuer; frühere Versionen verwenden standardmäßig `unrestricted`.468Der Standardwert ist `medium`, oder `small`, wenn Sie mit einem Pro-Plan und Claude Code v2.1.271 oder neuer angemeldet sind. Bis Sie einen Wert wählen, kennzeichnet die `/config`-Zeile den Wert als Standard, und die Zeile `Running in background` des Workflows nennt die geltende Größe.

473 469 

474Um die Richtlinie zu ändern, wählen Sie in `/config` einen Wert für die Einstellung Dynamic workflow size oder führen Sie `/config workflowSizeGuideline=small` aus. Ab v2.1.219 können Sie auch den [`workflowSizeGuideline`-Schlüssel](https://code.claude.com/docs/de/settings-reference#workflowsizeguideline) in einer beliebigen Einstellungsdatei festlegen; dieser Wert hat Vorrang vor `/config`, und Claude Code blendet die `/config`-Zeile aus, solange eine Einstellungsdatei einen Wert vorgibt.470Um die Richtlinie zu ändern, wählen Sie in `/config` einen Wert für die Einstellung Dynamic workflow size oder führen Sie `/config workflowSizeGuideline=small` aus. Sie können auch den [`workflowSizeGuideline`-Schlüssel](https://code.claude.com/docs/de/settings-reference#workflowsizeguideline) in einer beliebigen Einstellungsdatei festlegen; dieser Wert hat Vorrang vor `/config`, und Claude Code blendet die `/config`-Zeile aus, solange eine Einstellungsdatei einen Wert vorgibt.

475 471 

476Änderungen werden mit dem nächsten Prompt wirksam. Die [Agenten-Obergrenzen der Laufzeitumgebung](#behavior-and-limits) gelten unabhängig von der Einstellung weiterhin.472Änderungen werden mit dem nächsten Prompt wirksam. Die [Agenten-Obergrenzen der Laufzeitumgebung](#behavior-and-limits) gelten unabhängig von der Einstellung weiterhin.

477 473 

worktrees.md +23 −11

Details

43 43 

44Sie können Claude auch während einer Sitzung bitten, „in einem Worktree zu arbeiten“, und es erstellt einen mit dem [`EnterWorktree`](https://code.claude.com/docs/de/tools-reference)-Tool. Sobald Sie sich in einem Worktree befinden, kann Claude direkt zu einem anderen unter `.claude/worktrees/` wechseln, indem er `EnterWorktree` mit dem Zielpfad aufruft; der vorherige Worktree bleibt unverändert auf der Festplatte.44Sie können Claude auch während einer Sitzung bitten, „in einem Worktree zu arbeiten“, und es erstellt einen mit dem [`EnterWorktree`](https://code.claude.com/docs/de/tools-reference)-Tool. Sobald Sie sich in einem Worktree befinden, kann Claude direkt zu einem anderen unter `.claude/worktrees/` wechseln, indem er `EnterWorktree` mit dem Zielpfad aufruft; der vorherige Worktree bleibt unverändert auf der Festplatte.

45 45 

46Wenn Claude einen Pfad außerhalb des Verzeichnisses `.claude/worktrees/` des Repositories betritt, fragt Claude Code zunächst nach Ihrer Genehmigung, da der Wechsel das Arbeitsverzeichnis der Sitzung, den Schreibzugriff und die Projektkonfiguration wie `CLAUDE.md` und Einstellungen an diesen Ort verschiebt. Eine `EnterWorktree`-[Berechtigung](https://code.claude.com/docs/de/permissions.md) oder die Wahl von „nicht mehr fragen“ unterdrückt diese Aufforderung nicht; nur der `bypassPermissions`-Modus überspringt sie. Vor v2.1.206 konnte Claude jeden vorhandenen Worktree-Pfad ohne Nachfrage betreten.46Wenn Claude einen Pfad außerhalb des Verzeichnisses `.claude/worktrees/` des Repositorys betritt, fragt Claude Code zunächst nach Ihrer Genehmigung. Der Wechsel verschiebt das Arbeitsverzeichnis der Sitzung, den Schreibzugriff und die Projektkonfiguration wie `CLAUDE.md` und Einstellungen an diesen Ort. Eine `EnterWorktree`-[Berechtigungsregel](https://code.claude.com/docs/de/permissions.md) oder die Wahl von „nicht mehr fragen“ unterdrückt diese Abfrage nicht; nur der `bypassPermissions`-Modus überspringt sie.

47 47 

48> [!NOTE]48> [!NOTE]

49>49>


63 63 

64Nicht-interaktive Ausführungen mit `-p` haben keine Exit-Eingabeaufforderung, daher bereinigt Claude ihre Worktrees nicht, und Claude Code behält die Sperre, die es bei der Erstellung auf jedem einzelnen genommen hat, bis eine spätere Sitzung's [stale-lock sweep](#clean-up-subagent-and-background-session-worktrees) sie freigegeben hat. Um einen zu entfernen, führen Sie `git worktree remove` aus; wenn git sich weigert, weil der Worktree gesperrt ist, führen Sie zuerst `git worktree unlock` darauf aus.64Nicht-interaktive Ausführungen mit `-p` haben keine Exit-Eingabeaufforderung, daher bereinigt Claude ihre Worktrees nicht, und Claude Code behält die Sperre, die es bei der Erstellung auf jedem einzelnen genommen hat, bis eine spätere Sitzung's [stale-lock sweep](#clean-up-subagent-and-background-session-worktrees) sie freigegeben hat. Um einen zu entfernen, führen Sie `git worktree remove` aus; wenn git sich weigert, weil der Worktree gesperrt ist, führen Sie zuerst `git worktree unlock` darauf aus.

65 65 

66Unter Windows löscht das Entfernen eines Worktree keine Dateien außerhalb davon. Wenn ein Ordner im Worktree ein Link zu anderswo ist, z. B. eine NTFS-Verknüpfung oder ein Verzeichnis-Symlink, löscht Claude Code nur den Link und behält den Ordner, auf den er verweist. Vor v2.1.205 konnte das Entfernen eines Worktree mit einem Link in einem Unterverzeichnis den Ordner löschen, auf den er verwies.66Unter Windows löscht das Entfernen eines Worktree keine Dateien außerhalb davon. Wenn ein Ordner im Worktree ein Link zu anderswo ist, z. B. eine NTFS-Verknüpfung oder ein Verzeichnis-Symlink, löscht Claude Code nur den Link.

67 67 

68## Setzen Sie eine Worktree-Sitzung fort68## Setzen Sie eine Worktree-Sitzung fort

69 69 


73 73 

74Wo Sie starten und wie Sie fortsetzen, ändern, was Claude Code erneut betritt:74Wo Sie starten und wie Sie fortsetzen, ändern, was Claude Code erneut betritt:

75 75 

76* **Startverzeichnis**: Fortsetzen vom Haupt-Checkout oder einem anderen Verzeichnis des Repositories. Claude Code betritt einen Worktree, den es mit Git unter `.claude/worktrees/` erstellt hat, auch wenn Sie von innen starten. Wenn Sie von innen in einem anderen Worktree starten, betritt Claude Code ihn nur, wenn es ihn von dort aus garantieren kann: ein Worktree, der sein eigenes Repository ist, einer ohne Git-Metadaten, oder ein Start aus einem Unterverzeichnis eines Worktrees, den Sie mit `git worktree add` erstellt haben, lehnt ab, daher starten Sie diese vom Haupt-Checkout.76* **Startverzeichnis**: Setzen Sie mit `--resume` vom Haupt-Checkout oder einem anderen Verzeichnis des Repositorys fort. Claude Code betritt einen Worktree, den es mit Git unter `.claude/worktrees/` erstellt hat, auch wenn Sie von innen starten. Wenn Sie von innen in einem anderen Worktree starten, betritt Claude Code ihn nur, wenn es ihn von dort aus garantieren kann: ein Worktree, der sein eigenes Repository ist, einer ohne Git-Metadaten, oder ein Start aus einem Unterverzeichnis eines Worktrees, den Sie mit `git worktree add` erstellt haben, lehnt ab, daher starten Sie diese vom Haupt-Checkout.

77* **`--fork-session`**: Die abgespaltene Sitzung startet in dem Verzeichnis, von dem aus Sie Claude gestartet haben, und Claude Code hinterlässt den Worktree der ursprünglichen Sitzung unverändert.77* **`--fork-session`**: Die abgespaltene Sitzung startet in dem Verzeichnis, von dem aus Sie Claude gestartet haben, und Claude Code hinterlässt den Worktree der ursprünglichen Sitzung unverändert.

78* **Gelöschter Worktree**: Wenn das Worktree-Verzeichnis nicht mehr existiert, setzt Claude Code die Sitzung in dem Verzeichnis fort, von dem aus Sie Claude gestartet haben. Es teilt Ihnen mit, dass der Worktree weg ist, und löscht die Worktree-Bindung der Sitzung.78* **Gelöschter Worktree**: Wenn das Worktree-Verzeichnis nicht mehr existiert, setzt Claude Code die Sitzung in dem Verzeichnis fort, von dem aus Sie Claude gestartet haben. Es teilt Ihnen mit, dass der Worktree weg ist, und löscht die Worktree-Bindung der Sitzung.

79 79 


81>81>

82> Vor v2.1.212 blieb eine nicht-interaktive Fortsetzung im Startverzeichnis und `ExitWorktree` meldete, dass es keine aktive Worktree-Sitzung zum Beenden gab.82> Vor v2.1.212 blieb eine nicht-interaktive Fortsetzung im Startverzeichnis und `ExitWorktree` meldete, dass es keine aktive Worktree-Sitzung zum Beenden gab.

83 83 

84Wenn Claude einen Worktree betritt oder verlässt, den Claude Code mit Git erstellt hat, folgt das Transkript: Claude Code zeichnet die Sitzung unter dem neuen Arbeitsverzeichnis der Sitzung auf, auf die gleiche Weise wie [`/cd`](https://code.claude.com/docs/de/commands), sodass `/desktop` und `--resume` sie dort finden. Das Verlassen verschiebt es auf die gleiche Weise zurück. Ein Worktree, der von einem [`WorktreeCreate`-Hook](#non-git-version-control) erstellt wurde, behält sein Transkript im Startverzeichnis. Erfordert Claude Code v2.1.198 oder später.84Wenn Claude einen Worktree betritt oder verlässt, den Claude Code mit Git erstellt hat, folgt das Transkript. Claude Code zeichnet die Sitzung unter dem neuen Arbeitsverzeichnis der Sitzung auf, auf die gleiche Weise wie [`/cd`](https://code.claude.com/docs/de/commands), sodass `/desktop` und `--resume` sie dort finden. Das Verlassen verschiebt es auf die gleiche Weise zurück. Ein Worktree, der von einem [`WorktreeCreate`-Hook](#non-git-version-control) erstellt wurde, behält sein Transkript im Startverzeichnis.

85 85 

86## Wie Claude Code Isolation erzwingt86## Wie Claude Code Isolation erzwingt

87 87 


139 139 

140Claude Code schreibt einen Marker in die Git-Metadaten jedes Worktrees, den es mit Git erstellt, und die Bereinigung behält jeden Worktree ohne einen, einschließlich eines, den ein [`WorktreeCreate`-Hook](#non-git-version-control) erstellt hat.140Claude Code schreibt einen Marker in die Git-Metadaten jedes Worktrees, den es mit Git erstellt, und die Bereinigung behält jeden Worktree ohne einen, einschließlich eines, den ein [`WorktreeCreate`-Hook](#non-git-version-control) erstellt hat.

141 141 

142#### Worktree-Sperren und manuelles Entfernen

143 

142Während ein Agent läuft, hält Claude Code eine `git worktree lock` auf seinem Worktree, sodass gleichzeitige Bereinigung ihn nicht entfernen kann, und gibt die Sperre frei, wenn der Agent beendet wird. Claude Code hält die gleiche Sperre auf dem Worktree, den es für eine Hintergrund-Sitzung erstellt hat, während die Sitzung läuft, sodass die Bereinigung den Worktree an Ort und Stelle hinterlässt und `git worktree remove` sich weigert, ihn zu entfernen.144Während ein Agent läuft, hält Claude Code eine `git worktree lock` auf seinem Worktree, sodass gleichzeitige Bereinigung ihn nicht entfernen kann, und gibt die Sperre frei, wenn der Agent beendet wird. Claude Code hält die gleiche Sperre auf dem Worktree, den es für eine Hintergrund-Sitzung erstellt hat, während die Sitzung läuft, sodass die Bereinigung den Worktree an Ort und Stelle hinterlässt und `git worktree remove` sich weigert, ihn zu entfernen.

143 145 

144Die Bereinigung gibt auch eine Sperre frei, die Claude Code für eine Sitzung gesetzt hat, deren Prozess beendet wurde, sodass eine getötete Hintergrund-Sitzung ihren Worktree nicht dauerhaft gesperrt hinterlässt. Die Bereinigung gibt niemals eine Sperre frei, die Sie selbst mit `git worktree lock` gesetzt haben. Vor v2.1.210 blieb eine Sperre, die von einer getöteten Sitzung hinterlassen wurde, an Ort und Stelle, bis Sie `git worktree unlock` ausgeführt haben.146Die Bereinigung gibt auch eine Sperre frei, die Claude Code für eine Sitzung gesetzt hat, deren Prozess beendet wurde, sodass eine getötete Hintergrund-Sitzung ihren Worktree nicht dauerhaft gesperrt hinterlässt. Die Bereinigung gibt niemals eine Sperre frei, die Sie selbst mit `git worktree lock` gesetzt haben.

145 147 

146Um einen Worktree zu bereinigen, den die Bereinigung behält, führen Sie `git worktree remove` aus und fügen Sie `--force` hinzu, wenn der Worktree nicht committete Änderungen oder nicht verfolgte Dateien hat. Wenn Git sich weigert, weil der Worktree gesperrt ist, führen Sie zuerst `git worktree unlock` darauf aus.148Um einen Worktree zu bereinigen, den die Bereinigung behält, führen Sie `git worktree remove` aus und fügen Sie `--force` hinzu, wenn der Worktree nicht committete Änderungen oder nicht verfolgte Dateien hat. Wenn Git sich weigert, weil der Worktree gesperrt ist, führen Sie zuerst `git worktree unlock` darauf aus.

147 149 


158 160 

159Sie können `worktree.baseRef` nicht auf einen Branch-Namen setzen. Um einen Worktree von einem bestimmten vorhandenen Branch zu starten, [erstellen Sie ihn direkt mit Git](#manage-worktrees-manually).161Sie können `worktree.baseRef` nicht auf einen Branch-Namen setzen. Um einen Worktree von einem bestimmten vorhandenen Branch zu starten, [erstellen Sie ihn direkt mit Git](#manage-worktrees-manually).

160 162 

161Für eine `"fresh"`-Basis hält Claude Code `origin/HEAD` aktuell: Wenn das Repository in den letzten 24 Stunden nicht abgerufen wurde, ruft es den Standard-Branch ab, begrenzt auf fünf Sekunden, und verwendet die lokal zwischengespeicherte Ref, wenn der Abruf fehlschlägt. Der Abruf wartet nie auf Eingaben in Ihrem Terminal, daher gilt er auch dann als fehlgeschlagen, wenn git oder ssh nach einem Passwort, einer Schlüssel-Passphrase oder der Bestätigung eines neuen SSH-Hosts fragen würde. Wenn kein Remote konfiguriert ist oder `origin/HEAD` nicht lokal zwischengespeichert ist und nicht abgerufen werden kann, fällt der Worktree auf Ihren aktuellen lokalen `HEAD` zurück. Vor v2.1.208 verwendete ein neuer Worktree, was immer `origin/HEAD` bereits lokal zwischengespeichert war.163Für eine `"fresh"`-Basis hält Claude Code `origin/HEAD` aktuell:

164 

165* Wenn das Repository in den letzten 24 Stunden nicht abgerufen wurde, ruft es den Standard-Branch ab, begrenzt auf fünf Sekunden, und verwendet die lokal zwischengespeicherte Ref, wenn der Abruf fehlschlägt.

166* Der Abruf wartet nie auf Eingaben in Ihrem Terminal. Er gilt auch dann als fehlgeschlagen, wenn git oder ssh nach einem Passwort, einer Schlüssel-Passphrase oder der Bestätigung eines neuen SSH-Hosts fragen würde.

167* Wenn kein Remote konfiguriert ist oder `origin/HEAD` nicht lokal zwischengespeichert ist und nicht abgerufen werden kann, fällt der Worktree auf Ihren aktuellen lokalen `HEAD` zurück.

162 168 

163Dieses Beispiel macht jeden neuen Worktree von Ihrer aktuellen Arbeit verzweigen:169Dieses Beispiel macht jeden neuen Worktree von Ihrer aktuellen Arbeit verzweigen:

164 170 


210 216 

211Das Übergeben von `--worktree` eines Namens, dessen Verzeichnis bereits existiert, öffnet diesen vorhandenen Worktree, anstatt einen neuen zu erstellen.217Das Übergeben von `--worktree` eines Namens, dessen Verzeichnis bereits existiert, öffnet diesen vorhandenen Worktree, anstatt einen neuen zu erstellen.

212 218 

213Mit der Standard-`"fresh"`-[Basis](#choose-the-base-branch) wird ein erneut geöffneter Worktree auf den Standard-Branch des Repositories zurückgesetzt, anstatt bei seinem alten Tip fortzufahren, wenn alle folgenden Bedingungen erfüllt sind:219Mit der Standard-`"fresh"`-[Basis](#choose-the-base-branch) wird ein erneut geöffneter Worktree auf den Standard-Branch des Repositorys zurückgesetzt, anstatt bei seinem alten Tip fortzufahren, wenn alle folgenden Bedingungen erfüllt sind:

214 220 

215* Es hat keine nicht committeten Änderungen oder nicht verfolgten Dateien.221* Es hat keine nicht committeten Änderungen oder nicht verfolgten Dateien.

216* Es befindet sich immer noch auf dem Branch, den Claude Code für ihn erstellt hat.222* Es befindet sich immer noch auf dem Branch, den Claude Code für ihn erstellt hat.


225* `worktree.baseRef` ist `"head"`.231* `worktree.baseRef` ist `"head"`.

226* Der Name ist eine Pull-Request- oder Merge-Request-Referenz.232* Der Name ist eine Pull-Request- oder Merge-Request-Referenz.

227 233 

228Vor v2.1.208 öffnete Claude Code beim Wiederverwenden eines Namens immer den alten Worktree bei seinem alten Tip erneut.

229 

230### Ersetzen Sie die Worktree-Erstellung durch einen Hook234### Ersetzen Sie die Worktree-Erstellung durch einen Hook

231 235 

232Konfigurieren Sie einen [`WorktreeCreate`-Hook](https://code.claude.com/docs/de/hooks#worktreecreate), um die Standard-`git worktree`-Logik vollständig zu ersetzen, einschließlich der Platzierung von Worktrees anderswo als `.claude/worktrees/`. Ein vollständiges Beispiel finden Sie unter [Non-Git-Versionskontrolle](#non-git-version-control).236Konfigurieren Sie einen [`WorktreeCreate`-Hook](https://code.claude.com/docs/de/hooks#worktreecreate), um die Standard-`git worktree`-Logik vollständig zu ersetzen, einschließlich der Platzierung von Worktrees anderswo als `.claude/worktrees/`. Ein vollständiges Beispiel finden Sie unter [Non-Git-Versionskontrolle](#non-git-version-control).


236Ein Worktree erhält seine eigenen Dateien und Branch, aber es teilt das Folgende mit dem Haupt-Checkout:240Ein Worktree erhält seine eigenen Dateien und Branch, aber es teilt das Folgende mit dem Haupt-Checkout:

237 241 

238* **Das `.git`-Verzeichnis des Repositories**: Git-Befehle in einem Worktree schreiben in das gemeinsame `.git`-Verzeichnis des Haupt-Repositories, und [Sandboxing](https://code.claude.com/docs/de/sandboxing.md#filesystem-isolation) erlaubt diese Schreibvorgänge, sodass Befehle wie `git commit` von innen in einem Worktree mit aktivierter Sandbox funktionieren.242* **Das `.git`-Verzeichnis des Repositories**: Git-Befehle in einem Worktree schreiben in das gemeinsame `.git`-Verzeichnis des Haupt-Repositories, und [Sandboxing](https://code.claude.com/docs/de/sandboxing.md#filesystem-isolation) erlaubt diese Schreibvorgänge, sodass Befehle wie `git commit` von innen in einem Worktree mit aktivierter Sandbox funktionieren.

239* **Plugins**: Plugins, die im [Projekt-Bereich](https://code.claude.com/docs/de/plugins/loading.md#find-where-a-plugin-is-enabled) aus dem Haupt-Checkout installiert sind, werden auch in Worktrees desselben Repositories geladen, sodass Sie sie nicht pro Worktree neu installieren müssen. Erfordert Claude Code v2.1.200 oder später.243* **Plugins**: Plugins, die im [Projekt-Geltungsbereich](https://code.claude.com/docs/de/plugins/loading.md#find-where-a-plugin-is-enabled) aus dem Haupt-Checkout installiert sind, werden auch in Worktrees desselben Repositories geladen, sodass Sie sie nicht pro Worktree neu installieren müssen.

240* **Genehmigungen**: Das Wählen von „Ja, und nicht mehr fragen“ für einen Bash-Befehl in einer Worktree-Sitzung speichert die Regel in der `.claude/settings.local.json` des Haupt-Checkouts, sodass sie im Haupt-Checkout und in jedem anderen Worktree des Repositories gilt und das Entfernen des Worktrees überlebt. Unter Windows und in den anderen Fällen, in denen Claude Code [das Repository-Root nicht verwendet](https://code.claude.com/docs/de/settings.md#where-claude-code-looks-for-each-file), bleibt die Regel bei diesem Worktree. Vor v2.1.211 wurde eine Genehmigung, die in einem Worktree gewährt wurde, in diesem Worktree gespeichert, galt nicht anderswo und ging verloren, wenn der Worktree entfernt wurde. Siehe [wo Genehmigungen gespeichert werden](https://code.claude.com/docs/de/permissions.md#permission-system).244* **Berechtigungsgenehmigungen**: Das Wählen von „Ja, und nicht mehr fragen“ für einen Bash-Befehl in einer Worktree-Sitzung speichert die Regel in der `.claude/settings.local.json` des Haupt-Checkouts. Die Regel gilt im Haupt-Checkout und in jedem anderen Worktree des Repositories und überlebt das Entfernen des Worktrees.

245 

246 Unter Windows und in den anderen Fällen, in denen Claude Code [das Repository-Root nicht verwendet](https://code.claude.com/docs/de/settings.md#where-claude-code-looks-for-each-file), bleibt die Regel bei diesem Worktree. Siehe [wo Genehmigungen gespeichert werden](https://code.claude.com/docs/de/permissions.md#permission-system).

241* **Nicht nachverfölgte Skills, Agents und Befehle**: Wenn der Worktree-Checkout kein `.claude/skills`-Verzeichnis in seinem Root hat, zum Beispiel weil Ihr `.claude/skills` gitignoriert ist, lädt Claude Code die [Projekt-Skills](https://code.claude.com/docs/de/skills.md#where-skills-live) des Haupt-Checkouts in der Worktree-Sitzung. In einem Worktree mit seinem eigenen `.claude/skills`-Verzeichnis wird nur diese Kopie geladen.247* **Nicht nachverfölgte Skills, Agents und Befehle**: Wenn der Worktree-Checkout kein `.claude/skills`-Verzeichnis in seinem Root hat, zum Beispiel weil Ihr `.claude/skills` gitignoriert ist, lädt Claude Code die [Projekt-Skills](https://code.claude.com/docs/de/skills.md#where-skills-live) des Haupt-Checkouts in der Worktree-Sitzung. In einem Worktree mit seinem eigenen `.claude/skills`-Verzeichnis wird nur diese Kopie geladen.

242 248 

243 Dieselbe Durchlesung gilt für `.claude/agents` und `.claude/commands`. Für Skills erfordert die Durchlesung Claude Code v2.1.277 oder später.249 Dieselbe Durchlesung gilt für `.claude/agents` und `.claude/commands`. Für Skills erfordert die Durchlesung Claude Code v2.1.277 oder später.


322 328 

323Claude Code weigert sich, einen Worktree zu erstellen, wenn `.claude`, `.claude/worktrees` oder das Worktree-Verzeichnis selbst ein Symlink ist, und der Fehler benennt den symlink-Pfad. Entfernen Sie den Symlink und versuchen Sie es erneut. Vor v2.1.212 folgte die Worktree-Erstellung einem Symlink, wenn das Repository bereits einen committeten Symlink an einem dieser Pfade enthielt, und konnte Dateien außerhalb des Repositories erstellen.329Claude Code weigert sich, einen Worktree zu erstellen, wenn `.claude`, `.claude/worktrees` oder das Worktree-Verzeichnis selbst ein Symlink ist, und der Fehler benennt den symlink-Pfad. Entfernen Sie den Symlink und versuchen Sie es erneut. Vor v2.1.212 folgte die Worktree-Erstellung einem Symlink, wenn das Repository bereits einen committeten Symlink an einem dieser Pfade enthielt, und konnte Dateien außerhalb des Repositories erstellen.

324 330 

331### Ein von Claude Code erstellter Worktree enthält den ursprünglichen Inhalt ersetzter Objekte

332 

333Wenn Ihr Repository [`git replace`](https://git-scm.com/docs/git-replace) verwendet, enthalten die Dateien in einem Worktree, den Claude Code erstellt, den Inhalt der ursprünglichen Objekte statt der Ersetzungen, die Ihre `refs/replace/`-Einträge benennen. Claude Code führt die Git-Befehle, die die Dateien des Worktrees auschecken, mit `GIT_NO_REPLACE_OBJECTS=1` aus und ignoriert dabei jeden Wert, den Sie für diese Variable exportiert haben.

334 

335Um den ersetzten Inhalt zu erhalten, [erstellen Sie den Worktree selbst](#manage-worktrees-manually) mit `git worktree add` und starten Sie Claude Code darin.

336 

325### Git LFS-Dateien sind Zeiger-Dateien in einem Worktree, den Claude Code erstellt hat337### Git LFS-Dateien sind Zeiger-Dateien in einem Worktree, den Claude Code erstellt hat

326 338 

327Wenn Sie [Git LFS](https://git-lfs.com) mit `git lfs install --local` einrichten, enthält ein Worktree, den Claude Code erstellt, LFS-Zeiger-Dateien statt der echten Dateien. Das `--local`-Flag schreibt den LFS-Filter in die `.git/config` des Repositorys selbst, anstatt in Ihre globale Git-Konfiguration. Ein einfaches `git lfs install` schreibt in Ihre globale Konfiguration und ist nicht betroffen. Das gleiche gilt für jeden anderen [Filter-Treiber](https://git-scm.com/docs/gitattributes), der in der Konfiguration des Repositorys selbst definiert ist.339Wenn Sie [Git LFS](https://git-lfs.com) mit `git lfs install --local` einrichten, enthält ein Worktree, den Claude Code erstellt, LFS-Zeiger-Dateien statt der echten Dateien. Das `--local`-Flag schreibt den LFS-Filter in die `.git/config` des Repositorys selbst, anstatt in Ihre globale Git-Konfiguration. Ein einfaches `git lfs install` schreibt in Ihre globale Konfiguration und ist nicht betroffen. Das gleiche gilt für jeden anderen [Filter-Treiber](https://git-scm.com/docs/gitattributes), der in der Konfiguration des Repositorys selbst definiert ist.