SpyBara
Go Premium

Documentation 2026-09-21 22:59 UTC to 2026-09-22 23:59 UTC

79 files changed +2,907 −2,178. View all changes and history on the product overview
2026
Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sun 13 21:00 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02

admin-setup.md +1 −1

Details

167 167 

168* [Schnellstart](/docs/de/quickstart): Walkthrough der ersten Sitzung von der Installation bis zur Arbeit mit einem Projekt168* [Schnellstart](/docs/de/quickstart): Walkthrough der ersten Sitzung von der Installation bis zur Arbeit mit einem Projekt

169* [Häufige Workflows](/docs/de/common-workflows): Muster für alltägliche Aufgaben wie Code-Review, Refactoring und Debugging169* [Häufige Workflows](/docs/de/common-workflows): Muster für alltägliche Aufgaben wie Code-Review, Refactoring und Debugging

170* [Claude 101](https://anthropic.skilljar.com/claude-101) und [Claude Code in Action](https://anthropic.skilljar.com/claude-code-in-action): Selbstgesteuerte Anthropic Academy-Kurse170* [Claude Code 101](https://academy.claude.com/courses/claude-code-101) und [Claude Code in Action](https://academy.claude.com/courses/claude-code-in-action): Kostenlose selbstgesteuerte Kurse auf [Claude Academy](https://academy.claude.com/)

171 171 

172Bei Anmeldeproblemen verweisen Sie Entwickler auf [Authentifizierungs-Fehlerbehebung](/docs/de/troubleshoot-install#login-and-authentication). Die häufigsten Lösungen sind:172Bei Anmeldeproblemen verweisen Sie Entwickler auf [Authentifizierungs-Fehlerbehebung](/docs/de/troubleshoot-install#login-and-authentication). Die häufigsten Lösungen sind:

173 173 

advisor.md +8 −8

Details

56* Führen Sie `/advisor` mit einem Modell aus, wie `/advisor opus`, um es festzulegen.56* Führen Sie `/advisor` mit einem Modell aus, wie `/advisor opus`, um es festzulegen.

57* Führen Sie `/advisor off` aus, um es auszuschalten.57* Führen Sie `/advisor off` aus, um es auszuschalten.

58 58 

59Claude Code ruft einen gespeicherten Advisor nicht auf, den die [`availableModels`](/docs/de/model-config#restrict-model-selection) Allowlist Ihrer Organisation ausschließt. Um den Advisor zu verwenden, wählen Sie ein zulässiges Modell mit `/advisor`. Claude Code speichert trotzdem einen Advisor, den Ihr aktuelles Hauptmodell nicht unterstützt. Dieser Advisor wird aktiviert, nachdem Sie zu einem [kompatiblen Hauptmodell](#choose-an-advisor-model) mit [`/model`](/docs/de/model-config#setting-your-model) wechseln.59Claude Code ruft einen gespeicherten Advisor nicht auf, den die [`availableModels`](/docs/de/model-config#restrict-model-selection) Allowlist Ihrer Organisation ausschließt. Um den Advisor zu verwenden, wählen Sie ein zulässiges Modell mit `/advisor`. Claude Code speichert trotzdem einen Advisor, den Ihr aktuelles Hauptmodell nicht unterstützt. Dieser Advisor wird aktiviert, nachdem Sie zu einem [kompatiblen Hauptmodell](#choose-an-advisor-model) mit [`/model`](/docs/de/model-config#setting-your-model) wechseln. Wenn die API den gespeicherten Advisor bereits in der aktuellen Konversation abgelehnt hat, bleibt er ausgeschaltet, bis Sie `/clear` oder `/compact` ausführen, auch nachdem Sie die Modelle wechseln.

60 60 

61Bei einigen Plänen benötigt Fable als Advisor auch Ihre einmalige [Zustimmung zur Abrechnung der Fable-Nutzung auf Nutzungsguthaben](/docs/de/model-config#fable-and-usage-credits). Informationen dazu, was `/advisor fable` vor Ihrer Zustimmung tut, finden Sie unter [Fable Advisor und Nutzungsguthaben](#fable-advisor-and-usage-credits).61Bei einigen Plänen benötigt Fable als Advisor auch Ihre einmalige [Zustimmung zur Abrechnung der Fable-Nutzung auf Nutzungsguthaben](/docs/de/model-config#fable-and-usage-credits). Informationen dazu, was `/advisor fable` vor Ihrer Zustimmung tut, finden Sie unter [Fable Advisor und Nutzungsguthaben](#fable-advisor-and-usage-credits).

62 62 


98Der Advisor muss mindestens so leistungsfähig sein wie das Hauptmodell. Die akzeptierten Advisors für jedes Hauptmodell sind:98Der Advisor muss mindestens so leistungsfähig sein wie das Hauptmodell. Die akzeptierten Advisors für jedes Hauptmodell sind:

99 99 

100| Hauptmodell | Akzeptierte Advisors | Hinweise |100| Hauptmodell | Akzeptierte Advisors | Hinweise |

101| ---------------------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |101| ---------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------- |

102| Haiku 4.5 | Fable, Opus, Sonnet | Haiku kann den Advisor aufrufen, kann aber nicht als einer fungieren |102| Haiku 4.5 | Fable, Opus, Sonnet | Haiku kann den Advisor aufrufen, kann aber nicht als einer fungieren |

103| Sonnet 4.6 | Fable, Opus, Sonnet | |103| Sonnet 4.6 | Fable, Opus, Sonnet | |

104| Sonnet 5 | Fable, Opus 4.7 oder später, Sonnet 5 | Ein Sonnet 4.6 Advisor wird abgelehnt, und Anfragen mit einem Opus 4.6 Advisor schlagen mit einem API-Fehler fehl |104| Sonnet 5 | Fable, Opus 4.7 oder später, Sonnet 5 | Ein Sonnet 4.6 Advisor wird abgelehnt, und die API lehnt einen Opus 4.6 Advisor ab |

105| Opus 4.6 | Fable, Opus, Sonnet 5 | Ein Sonnet 4.6 Advisor wird abgelehnt |105| Opus 4.6 | Fable, Opus, Sonnet 5 | Ein Sonnet 4.6 Advisor wird abgelehnt |

106| Opus 4.7 oder Opus 4.8 | Fable und Opus 4.7 oder später | Ein Opus 4.6 oder Sonnet Advisor wird abgelehnt |106| Opus 4.7 oder Opus 4.8 | Fable und Opus 4.7 oder später | Ein Opus 4.6 oder Sonnet Advisor wird abgelehnt |

107| Opus 5 | Fable, Opus 5 | Ein Opus 4.6 oder Sonnet Advisor wird abgelehnt, und Anfragen mit einem Opus 4.7 oder Opus 4.8 Advisor schlagen mit einem API-Fehler fehl |107| Opus 5.5 oder Opus 5 | Fable und Opus 5 oder später | Ein Opus 4.6 oder Sonnet Advisor wird abgelehnt, und die API lehnt einen Opus 4.7 oder Opus 4.8 Advisor ab |

108| Fable 5 | Fable 5.1 oder Fable 5 | Ein Opus oder Sonnet Advisor wird abgelehnt |108| Fable 5 | Fable 5.1 oder Fable 5 | Ein Opus oder Sonnet Advisor wird abgelehnt |

109| Fable 5.1 | Fable 5.1 | Ein Opus oder Sonnet Advisor wird abgelehnt, und Anfragen mit einem Fable 5 Advisor schlagen mit einem API-Fehler fehl |109| Fable 5.1 | Fable 5.1 | Ein Opus oder Sonnet Advisor wird abgelehnt, und die API lehnt einen Fable 5 Advisor ab |

110 110 

111Fable 5.1 erfordert Claude Code v2.1.257 oder später. Beide Fable-Modelle erfordern [Fable-Zugriff](/docs/de/model-config#work-with-fable).111Fable 5.1 erfordert Claude Code v2.1.257 oder später. Beide Fable-Modelle erfordern [Fable-Zugriff](/docs/de/model-config#work-with-fable).

112 112 

113Legen Sie den Advisor als `fable`, `opus` oder `sonnet` fest. Diese Aliase werden in die in Claude Code integrierte Standardversion für jede Modellfamilie aufgelöst, die sich mit neuen Claude Code-Versionen weiterentwickelt. Sie können auch eine vollständige Modell-ID wie `claude-opus-5` übergeben.113Legen Sie den Advisor als `fable`, `opus` oder `sonnet` fest. Diese Aliase werden in die in Claude Code integrierte Standardversion für jede Modellfamilie aufgelöst, die sich mit neuen Claude Code-Versionen weiterentwickelt. Sie können auch eine vollständige Modell-ID wie `claude-opus-5-5` übergeben.

114 114 

115Subagenten erben den konfigurierten Advisor und wenden die gleiche Kopplungsprüfung gegen ihr eigenes Modell an.115Subagenten erben den konfigurierten Advisor und wenden die gleiche Kopplungsprüfung gegen ihr eigenes Modell an.

116 116 

117Claude Code validiert die Kopplung vor dem Senden einer Anfrage, und die API validiert sie erneut:117Claude Code validiert die Kopplung vor dem Senden einer Anfrage, und die API validiert sie erneut:

118 118 

119* Für einen Advisor, den die Tabelle als abgelehnt auflistet, hängt Claude Code ihn nicht an die Anfragen des Hauptmodells an. Die `/advisor` Befehlsausgabe und eine Benachrichtigung zeigen dies an. Subagenten, deren eigenes Modell die Kopplung erfüllt, können den Advisor möglicherweise trotzdem verwenden.119* Für einen Advisor, den die Tabelle als abgelehnt auflistet, hängt Claude Code ihn nicht an die Anfragen des Hauptmodells an. Die `/advisor` Befehlsausgabe und eine Benachrichtigung zeigen dies an. Subagenten, deren eigenes Modell die Kopplung erfüllt, können den Advisor möglicherweise trotzdem verwenden.

120* Für einen Advisor, den die Tabelle als fehlgeschlagen mit einem API-Fehler auflistet, hängt Claude Code ihn an und die API lehnt ihn ab. Jede Anfrage schlägt mit `'<advisor model>' cannot be used as an advisor when the request model is '<main model>'` fehl, bis Sie den Advisor mit `/advisor` ändern oder ihn ausschalten.120* Für einen Advisor, den die Tabelle als von der API abgelehnt auflistet, hängt Claude Code ihn an und die API lehnt ihn ab. Claude Code sendet diese Anfrage dann ohne den Advisor erneut, und der Rest der Konversation läuft ohne einen, sodass Sie keinen Fehler sehen und keine Advisor-Aufrufe erhalten. Wählen Sie einen akzeptierten Advisor mit `/advisor`; die Änderung wird nach `/clear` oder `/compact` und in neuen Sitzungen wirksam.

121* Wenn das Hauptmodell oder der Advisor ein Modell ist, das Claude Code nicht erkennt, wird der Advisor nicht angehängt.121* Wenn das Hauptmodell oder der Advisor ein Modell ist, das Claude Code nicht erkennt, wird der Advisor nicht angehängt.

122 122 

123<h3 id="fable-advisor-and-usage-credits">123<h3 id="fable-advisor-and-usage-credits">


195 195 

196Das Advisor-Tool erfordert alle folgenden Voraussetzungen:196Das Advisor-Tool erfordert alle folgenden Voraussetzungen:

197 197 

198* **Nur Anthropic API**: Der Advisor ist ein serverseitig ausgeführtes Tool. Er ist nicht auf Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform oder Microsoft Foundry verfügbar. Über ein [LLM-Gateway](/docs/de/llm-gateway), das mit `ANTHROPIC_BASE_URL` konfiguriert ist, hängt die Verfügbarkeit davon ab, ob das Gateway die Anfrage intakt an die Anthropic API weiterleitet.198* **Nur Anthropic API**: Der Advisor ist ein serverseitig ausgeführtes Tool. Er ist nicht auf Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform oder Microsoft Foundry verfügbar. Über ein [LLM-Gateway](/docs/de/llm-gateway), das mit `ANTHROPIC_BASE_URL` konfiguriert ist, hängt die Verfügbarkeit davon ab, ob das Gateway die Anfrage intakt an die Anthropic API weiterleitet. Wenn das Gateway oder sein Upstream das Advisor-Tool nicht erkennt, siehe [Automatische Wiederholung und Fehlerweiterleitung](/docs/de/llm-gateway-protocol#automatic-retry-and-error-forwarding), um zu erfahren, wie Claude Code reagiert.

199* **Unterstütztes Hauptmodell**: Fable, Opus 4.6 oder später, Sonnet 4.6 oder später oder Haiku 4.5. Siehe [Wählen Sie ein Advisor-Modell](#choose-an-advisor-model), um zu erfahren, welche Advisors jedes akzeptiert.199* **Unterstütztes Hauptmodell**: Fable, Opus 4.6 oder später, Sonnet 4.6 oder später oder Haiku 4.5. Siehe [Wählen Sie ein Advisor-Modell](#choose-an-advisor-model), um zu erfahren, welche Advisors jedes akzeptiert.

200* **Feature-Flag-Abruf**: Claude Code aktiviert den Advisor über ein Feature-Flag, das er von Anthropic abruft. In einer Sitzung, in der eine Variable, die den Flag-Abruf deaktiviert, gesetzt ist, wie z. B. `DISABLE_TELEMETRY`, bleibt der Advisor deaktiviert. Siehe [Features, die Feature-Flag-Abruf benötigen](/docs/de/env-vars#features-that-need-feature-flag-fetching).200* **Feature-Flag-Abruf**: Claude Code aktiviert den Advisor über ein Feature-Flag, das er von Anthropic abruft. In einer Sitzung, in der eine Variable, die den Flag-Abruf deaktiviert, gesetzt ist, wie z. B. `DISABLE_TELEMETRY`, bleibt der Advisor deaktiviert. Siehe [Features, die Feature-Flag-Abruf benötigen](/docs/de/env-vars#features-that-need-feature-flag-fetching).

201 201 

Details

302 302 

303Das Agent SDK gibt Ihnen Zugriff auf mehrere Möglichkeiten, das Verhalten Ihres Agenten zu erweitern. Wenn Sie unsicher sind, welche Sie verwenden sollten, ordnet diese Tabelle häufige Ziele dem richtigen Ansatz zu.303Das Agent SDK gibt Ihnen Zugriff auf mehrere Möglichkeiten, das Verhalten Ihres Agenten zu erweitern. Wenn Sie unsicher sind, welche Sie verwenden sollten, ordnet diese Tabelle häufige Ziele dem richtigen Ansatz zu.

304 304 

305| Sie möchten... | Verwenden Sie | SDK-Oberfläche |305| Was Sie tun möchten | Verwenden Sie | SDK-Oberfläche |

306| :----------------------------------------------------------------------------------------------------------- | :------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |306| :----------------------------------------------------------------------------------------------------------- | :------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

307| Projektkonventionen festlegen, die Ihr Agent immer befolgt | [CLAUDE.md](/docs/de/memory) | `settingSources: ["project"]` lädt es automatisch |307| Projektkonventionen festlegen, die Ihr Agent immer befolgt | [CLAUDE.md](/docs/de/memory) | `settingSources: ["project"]` lädt es automatisch |

308| Dem Agenten Referenzmaterial geben, das er bei Bedarf lädt | [Skills](/docs/de/agent-sdk/skills) | `settingSources` + `skills`-Option |308| Dem Agenten Referenzmaterial geben, das er bei Bedarf lädt | [Skills](/docs/de/agent-sdk/skills) | `settingSources` + `skills`-Option |

Details

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

190 190 

191* **`applyFlagSettings()`**: wendet Einstellungen zur Laufzeit an, wie in `await session.applyFlagSettings({ effortLevel: "high" })`. Die Methode nimmt Einstellungsdateischlüssel anstelle von Optionsfeldern, also überprüfen Sie die [`applyFlagSettings()` reference](/docs/de/agent-sdk/typescript#applyflagsettings) für das Schema und für welche Schlüssel während der Sitzung wirksam werden.191* **`applyFlagSettings()`**: wendet Einstellungen zur Laufzeit an, wie in `await session.applyFlagSettings({ effortLevel: "high" })`. Die Methode nimmt Einstellungsdateischlüssel anstelle von Optionsfeldern, also überprüfen Sie die [`applyFlagSettings()` reference](/docs/de/agent-sdk/typescript#applyflagsettings) für das Schema und für welche Schlüssel während der Sitzung wirksam werden.

192* **`updateSettings()`**: schreibt einen zulassungslisten Satz von Schlüsseln in die lokale Einstellungsdatei des Projekts, wie in `await session.updateSettings("localSettings", { outputStyle: "Explanatory" })`. Die geschriebenen Schlüssel treten bei der nächsten Anfrage der Sitzung in Kraft und bleiben für spätere Sitzungen bestehen, die `local`-Einstellungen laden. Die Zeile der Methode in der [methods table](/docs/de/agent-sdk/typescript#methods) benennt die zulassungslisten Schlüssel und die Versionsuntergrenze.192* **`updateSettings()`**: schreibt einen zulassungslisten Schlüssel in eine Einstellungsdatei. Die [`updateSettings()` Referenz](/docs/de/agent-sdk/typescript#updatesettings) benennt den Schlüssel, den jede Quelle akzeptiert, und die Versionsuntergrenzen.

193 * Übergeben Sie `"localSettings"`, um die lokale Einstellungsdatei des Projekts zu schreiben, wie in `await session.updateSettings("localSettings", { outputStyle: "Explanatory" })`. Der geschriebene Schlüssel tritt bei der nächsten Anfrage der Sitzung in Kraft und bleibt für spätere Sitzungen bestehen, die `local`-Einstellungen laden.

194 * Übergeben Sie `"userSettings"`, um `effortLevel` zu schreiben, den einzigen Schlüssel, den diese Quelle akzeptiert. Claude Code speichert ihn als Standard-Anstrengungsgrad für das aktuelle Modell der Sitzung, und die Anstrengung der laufenden Sitzung ändert sich nicht.

193 195 

194Das folgende Beispiel führt eine zweizügige Sitzung aus, ändert die Konfiguration zwischen den Zügen und druckt das Modell, das jeden Zug beantwortet hat. In TypeScript hält der Prompt-Stream die zweite Nachricht, bis die Setter ausgeführt wurden, und der zweite Zug läuft auf dem neuen Modell.196Das folgende Beispiel führt eine zweizügige Sitzung aus, ändert die Konfiguration zwischen den Zügen und druckt das Modell, das jeden Zug beantwortet hat. In TypeScript hält der Prompt-Stream die zweite Nachricht, bis die Setter ausgeführt wurden, und der zweite Zug läuft auf dem neuen Modell.

195 197 

Details

10 10 

11Diese Seite behandelt das Self-Hosting auf Ihrer eigenen Infrastruktur. Für bereitstellbare Dockerfiles und Kubernetes-Manifeste siehe das [Hosting-Cookbook](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting).11Diese Seite behandelt das Self-Hosting auf Ihrer eigenen Infrastruktur. Für bereitstellbare Dockerfiles und Kubernetes-Manifeste siehe das [Hosting-Cookbook](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting).

12 12 

13Wenn Sie keine Infrastrukturkontrolle, benutzerdefinierte Isolation oder Ihre eigene Datenebene benötigen, erwägen Sie stattdessen [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview): eine gehostete REST-API, bei der Anthropic den Agent und die Sandbox betreibt, sodass Ihre Anwendung Ereignisse sendet und Ergebnisse zurückstreamt, ohne dass Sie eine Hosting-Infrastruktur betreiben müssen.13Wenn Sie die Agent-Schleife nicht auf Ihrer eigenen Infrastruktur ausführen müssen, erwägen Sie stattdessen [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview). Anthropic hostet die Agent-Schleife, und Ihre Anwendung sendet Ereignisse und empfängt gestreamte Ergebnisse über die Client-SDKs oder die REST-API. Die Tool-Ausführung läuft in einer von Anthropic verwalteten Cloud-Sandbox oder einer [selbstgehosteten Sandbox](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes) auf Ihrer eigenen Infrastruktur.

14 14 

15<h2 id="the-subprocess-model">15<h2 id="the-subprocess-model">

16 Das Subprocess-Modell16 Das Subprocess-Modell

Details

387* Wenn Sie den Marker mehr als einmal einbeziehen, ist der erste die Aufteilung und das SDK entfernt die anderen.387* Wenn Sie den Marker mehr als einmal einbeziehen, ist der erste die Aufteilung und das SDK entfernt die anderen.

388* Wenn Sie den Marker weglassen, verbindet das SDK alle Zeichenketten in einen Block, genauso wie das Übergeben einer Zeichenkette.388* Wenn Sie den Marker weglassen, verbindet das SDK alle Zeichenketten in einen Block, genauso wie das Übergeben einer Zeichenkette.

389 389 

390Mit den CLI-Flags [`--system-prompt` oder `--system-prompt-file`](/docs/de/cli-reference#system-prompt-flags) ist die Eingabeaufforderung eine Zeichenkette, daher gibt es kein Array, das den Marker tragen kann. Beziehen Sie stattdessen eine Zeile ein, die nur `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` enthält, zwischen den statischen und Pro-Anfrage-Teilen. Claude Code teilt die Eingabeaufforderung an der ersten solchen Zeile in die gleichen zwei Blöcke auf und entfernt diese Zeile. Erfordert Claude Code v2.1.275 oder später.

391 

392Im SDK bevorzugen Sie die Array-Form, die die Grenze ohne eine Marker-Zeile trägt.

393 

390<h3 id="change-the-prompt-of-an-existing-session">394<h3 id="change-the-prompt-of-an-existing-session">

391 Ändern Sie die Eingabeaufforderung einer bestehenden Sitzung395 Ändern Sie die Eingabeaufforderung einer bestehenden Sitzung

392</h3>396</h3>

Details

12 Vergleichen Sie das Agent SDK mit anderen Claude-Tools12 Vergleichen Sie das Agent SDK mit anderen Claude-Tools

13</h2>13</h2>

14 14 

15Das Agent SDK, die CLI, das Client SDK und Managed Agents erfüllen jeweils unterschiedliche Anforderungen. Verwenden Sie die Tabelle, um das Tool zu finden, das zu Ihrem Projekt passt.15Das Agent SDK, die CLI, das Client SDK und Managed Agents unterscheiden sich darin, wer den Agenten ausführt, welche Funktionen bereits integriert sind und wie Sie darauf zugreifen. Finden Sie die Zeile, die Ihrer gewünschten Vorgehensweise entspricht.

16 16 

17| Wenn Sie... | Verwenden Sie | Warum |17| Sie möchten | Verwenden Sie | Was Sie erhalten |

18| ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |18| ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

19| Einen Agenten erstellen, ohne die Tool-Schleife selbst zu implementieren | **Agent SDK** | Eine Python- oder TypeScript-Bibliothek, die die Agent-Schleife für Sie ausführt. |19| Claude Code's Agenten in Ihrer eigenen Python- oder TypeScript-Anwendung in einem von Ihnen betriebenen Prozess einbetten | **Agent SDK** | Eine Bibliothek, die die Claude Code-Binärdatei ausführt, mit Claude Code's [Funktionen](#capabilities), wie z. B. integrierte Tools, Berechtigungen, Sitzungen und Hooks. |

20| Interaktive Entwicklung durchführen oder einmalige Aufgaben von einem Terminal aus ausführen | [**Claude Code CLI**](/docs/de/overview) | Die Terminal-Schnittstelle, entwickelt für tägliche interaktive Nutzung. |20| Interaktive Entwicklung durchführen oder einmalige Aufgaben von einem Terminal aus ausführen | [**Claude Code CLI**](/docs/de/overview) | Die Terminal-Schnittstelle, entwickelt für tägliche interaktive Nutzung. |

21| Die API direkt aufrufen und die Tool-Schleife selbst implementieren | [**Client SDK**](https://platform.claude.com/docs/en/api/client-sdks) | Direkter Zugriff auf die Anthropic API statt auf Claude Code. Sie implementieren die Tool-Schleife selbst. |21| Die Claude API direkt aus Ihrem eigenen Code aufrufen | [**Client SDK**](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) | Direkter Zugriff auf die Claude API aus einer beliebigen Client SDK-Sprache. Sie schreiben die Tool-Schleife selbst, oder lassen Sie den [Tool Runner](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-runner) des Client SDK diese steuern. |

22| Langfristig laufende oder asynchrone Agenten ausführen, ohne Ihre eigene Sandbox oder Session-Infrastruktur zu verwalten | [**Managed Agents**](https://platform.claude.com/docs/en/managed-agents/overview) | Gehostete REST API, ein separates Produkt vom Agent SDK. Anthropic führt den Agenten und die Sandbox aus. |22| Den Agenten von Anthropic hosten lassen, konfiguriert über die Claude API | [**Managed Agents**](https://platform.claude.com/docs/en/managed-agents/overview) | Ein gehostetes Agent-Harness, das die Agent-Schleife ausführt, mit Sitzungen in einer von Anthropic verwalteten Cloud-Sandbox oder einer [selbst gehosteten Sandbox](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes) auf Ihrer eigenen Infrastruktur. Verwenden Sie es über das [SDK für Ihre Sprache](https://platform.claude.com/docs/en/managed-agents/quickstart#install-the-sdk), die `ant` CLI oder die REST API. |

23 23 

24Das SDK ist nur als Bibliothek für Python und TypeScript verfügbar. Um die gleiche Agent-Schleife aus einer anderen Sprache zu steuern, [führen Sie die CLI als Unterprozess aus](/docs/de/headless) mit dem Flag `-p` und `--output-format json`.24Um die gleiche Agent-Schleife aus einer anderen Sprache als Python oder TypeScript zu steuern, [führen Sie die CLI als Unterprozess aus](/docs/de/headless) mit dem Flag `-p` und `--output-format json`.

25 25 

26<h2 id="capabilities">26<h2 id="capabilities">

27 Funktionen27 Funktionen

Details

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

906| `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 |906| `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 |

907| `max_turns` | `int \| None` | `None` | Maximale agentengesteuerte Umdrehungen (Tool-Use-Rundgänge) |907| `max_turns` | `int \| None` | `None` | Maximale agentengesteuerte Umdrehungen (Tool-Use-Rundgänge) |

908| `max_budget_usd` | `float \| None` | `None` | Stoppen Sie die Abfrage, wenn die clientseitige Kostenschätzung diesen USD-Wert erreicht. Verglichen mit der gleichen Schätzung wie `total_cost_usd`. Für Genauigkeitsvorbehalt und Zurücksetzen-Verhalten siehe [Kosten und Nutzung verfolgen](/docs/de/agent-sdk/cost-tracking) |908| `max_budget_usd` | `float \| None` | `None` | Stoppen Sie die Abfrage, wenn die clientseitige Kostenschätzung diesen USD-Wert erreicht. Zählt nur die Ausgaben des Aufrufs selbst; Gesamtwerte aus einer fortgesetzten Sitzung zählen nicht. Für Genauigkeitsvorbehalt und Zurücksetzen-Verhalten siehe [Kosten und Nutzung verfolgen](/docs/de/agent-sdk/cost-tracking) |

909| `disallowed_tools` | `list[str]` | `[]` | Tools, die verweigert werden. Ein einfacher Name wie `"Bash"` entfernt das Tool aus Claudes Kontext. Eine scoped-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](/docs/de/permissions#bash-rule-limits). Siehe [Berechtigungen](/docs/de/agent-sdk/permissions#allow-and-deny-rules) |909| `disallowed_tools` | `list[str]` | `[]` | Tools, die verweigert werden. Ein einfacher Name wie `"Bash"` entfernt das Tool aus Claudes Kontext. Eine scoped-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](/docs/de/permissions#bash-rule-limits). Siehe [Berechtigungen](/docs/de/agent-sdk/permissions#allow-and-deny-rules) |

910| `enable_file_checkpointing` | `bool` | `False` | Aktivieren Sie die Dateienänderungsverfolgung zum Zurückspulen. Siehe [Datei-Checkpointing](/docs/de/agent-sdk/file-checkpointing) |910| `enable_file_checkpointing` | `bool` | `False` | Aktivieren Sie die Dateienänderungsverfolgung zum Zurückspulen. Siehe [Datei-Checkpointing](/docs/de/agent-sdk/file-checkpointing) |

911| `model` | `str \| None` | `None` | Claude-Modell-Alias oder vollständiger Modellname. Siehe [akzeptierte Werte und anbieter-spezifische IDs](/docs/de/model-config#available-models) |911| `model` | `str \| None` | `None` | Claude-Modell-Alias oder vollständiger Modellname. Siehe [akzeptierte Werte und anbieter-spezifische IDs](/docs/de/model-config#available-models) |


1485Verwenden Sie mit dem Feld `betas` in `ClaudeAgentOptions`, um Beta-Funktionen zu aktivieren.1485Verwenden Sie mit dem Feld `betas` in `ClaudeAgentOptions`, um Beta-Funktionen zu aktivieren.

1486 1486 

1487<Warning>1487<Warning>

1488 Die `context-1m-2025-08-07`-Beta ist seit dem 30. April 2026 veraltet. Das Übergeben dieses Headers mit Claude Sonnet 4.5 oder Sonnet 4 hat keine Auswirkung, und Anfragen, die das Standard-200k-Token-Kontextfenster überschreiten, geben einen Fehler zurück. Um ein 1M-Token-Kontextfenster zu verwenden, migrieren Sie zu [Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 oder Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), die 1M-Kontext zu Standardpreisen ohne Beta-Header enthalten.1488 Die `context-1m-2025-08-07`-Beta ist seit dem 30. April 2026 veraltet. Das Übergeben dieses Headers mit Claude Sonnet 4.5 oder Sonnet 4 hat keine Auswirkung, und Anfragen, die das Standard-200k-Token-Kontextfenster überschreiten, geben einen Fehler zurück. Um ein 1M-Token-Kontextfenster zu verwenden, migrieren Sie zu [Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 oder Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), die 1M-Kontext zu Standardpreisen ohne Beta-Header enthalten.

1489</Warning>1489</Warning>

1490 1490 

1491<h3 id="mcpsdkserverconfig">1491<h3 id="mcpsdkserverconfig">


1797 1797 

1798Das `model_usage`-Dict ordnet Modellnamen der Nutzung pro Modell zu. Es deckt jeden Modellaufruf ab, der durch die Abfrage-Pipeline gemacht wird: die Hauptschleife, Subagenten und interne Aufrufe wie Komprimierung und Workflow-Agenten. Hilfsaufrufe außerhalb dieser Pipeline, wie der Berechtigungsklassifizierer und Token-Zählungsanfragen, sind von `model_usage` ausgeschlossen. Behandeln Sie `model_usage` als eine Schätzung, nicht als Abrechnungsauszug.1798Das `model_usage`-Dict ordnet Modellnamen der Nutzung pro Modell zu. Es deckt jeden Modellaufruf ab, der durch die Abfrage-Pipeline gemacht wird: die Hauptschleife, Subagenten und interne Aufrufe wie Komprimierung und Workflow-Agenten. Hilfsaufrufe außerhalb dieser Pipeline, wie der Berechtigungsklassifizierer und Token-Zählungsanfragen, sind von `model_usage` ausgeschlossen. Behandeln Sie `model_usage` als eine Schätzung, nicht als Abrechnungsauszug.

1799 1799 

1800Im [Streaming-Eingabemodus](/docs/de/agent-sdk/streaming-vs-single-mode) sind `model_usage` und `total_cost_usd` kumulativ über Umdrehungen hinweg, daher lesen Sie das neueste Ergebnis statt über Ergebnisse zu summieren. Siehe [Kosten im Streaming-Eingabemodus verfolgen](/docs/de/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) für Zurückstellungen und [Gesamtwerte nach einem Sitzungsabsturz wiederherstellen](/docs/de/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) für auf Null gesetzte Ergebnisse.1800Im [Streaming-Eingabemodus](/docs/de/agent-sdk/streaming-vs-single-mode) sind `model_usage` und `total_cost_usd` kumulativ über Umdrehungen hinweg, daher lesen Sie das neueste Ergebnis statt über Ergebnisse zu summieren. Eine Anfrage, die eine Sitzung fortsetzt, zählt auch die [Gesamtwerte, die aus den früheren Aufrufen der Sitzung wiederhergestellt wurden](/docs/de/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Siehe [Kosten im Streaming-Eingabemodus verfolgen](/docs/de/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) für Zurückstellungen und [Gesamtwerte nach einem Sitzungsabsturz wiederherstellen](/docs/de/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) für auf Null gesetzte Ergebnisse.

1801 1801 

1802Jeder Wert in `model_usage` ist ein `ModelUsage` TypedDict, importiert über `from claude_agent_sdk.types import ModelUsage`. Seine Schlüssel verwenden camelCase, da das SDK den Wert unverändert vom zugrunde liegenden CLI-Prozess übergibt und dem TypeScript-Typ [`ModelUsage`](/docs/de/agent-sdk/typescript#modelusage) entspricht:1802Jeder Wert in `model_usage` ist ein `ModelUsage` TypedDict, importiert über `from claude_agent_sdk.types import ModelUsage`. Seine Schlüssel verwenden camelCase, da das SDK den Wert unverändert vom zugrunde liegenden CLI-Prozess übergibt und dem TypeScript-Typ [`ModelUsage`](/docs/de/agent-sdk/typescript#modelusage) entspricht:

1803 1803 


2921 "command": str | None, # Shell-Skript; jede stdout-Zeile ist ein Ereignis, exit beendet die Überwachung2921 "command": str | None, # Shell-Skript; jede stdout-Zeile ist ein Ereignis, exit beendet die Überwachung

2922 "ws": dict | None, # WebSocket-Quelle: {"url": str, "protocols": list[str] | None}; jeder Textframe ist ein Ereignis2922 "ws": dict | None, # WebSocket-Quelle: {"url": str, "protocols": list[str] | None}; jeder Textframe ist ein Ereignis

2923 "description": str, # Kurze Beschreibung, die in Benachrichtigungen angezeigt wird2923 "description": str, # Kurze Beschreibung, die in Benachrichtigungen angezeigt wird

2924 "timeout_ms": int | None, # Nach dieser Frist beenden (Standard 300000, max. 3600000)2924 "timeout_ms": int | None, # Frist in Millisekunden (Standard 300000, max. 3600000; die effektive Frist beträgt höchstens 1800000)

2925 "persistent": bool | None, # Für die Lebensdauer der Sitzung ausführen; mit TaskStop stoppen

2926}2925}

2927```2926```

2928 2927 


2931```python theme={null}2930```python theme={null}

2932{2931{

2933 "taskId": str, # ID der Background-Monitor-Aufgabe2932 "taskId": str, # ID der Background-Monitor-Aufgabe

2934 "timeoutMs": int, # Timeout-Frist in Millisekunden (0 wenn persistent)2933 "timeoutMs": int, # Die effektive Frist der Überwachung in Millisekunden

2935 "persistent": bool | None, # True, wenn bis TaskStop oder Sitzungsende ausgeführt wird2934 "persistent": bool | None, # False: jede Überwachung hat eine Frist

2936}2935}

2937```2936```

2938 2937 


3348 TaskOutput3347 TaskOutput

3349</h3>3348</h3>

3350 3349 

3351**Tool-Name:** `TaskOutput`. Der frühere Name `BashOutput` wird immer noch als Alias akzeptiert.3350Entfernt in Claude Code v2.1.277. Zuvor wurde die Ausgabe einer laufenden oder abgeschlossenen Background-Aufgabe abgerufen, wobei `BashOutput` als Alias akzeptiert wurde; Claude liest die Ausgabedatei einer Background-Aufgabe stattdessen mit `Read`.

3352 3351 

3353<Note>`TaskOutput` ist veraltet; bevorzugen Sie `Read` auf dem Ausgabedateipfad der Aufgabe. Die folgenden Schemas bleiben gültig für Hooks und Berechtigungshandler, die auf das Tool treffen.</Note>3352Ein `disallowed_tools`-Eintrag oder eine Ablehnungsregel, die immer noch einen der beiden Namen nennt, wird ohne Warnung ignoriert.

3354 

3355**Eingabe:**

3356 

3357```python theme={null}

3358{

3359 "task_id": str, # Die Aufgaben-ID, um Ausgabe zu erhalten

3360 "block": bool, # Ob auf Abschluss gewartet werden soll (Standard True)

3361 "timeout": int, # Max. Wartezeit in ms (Standard 30000)

3362}

3363```

3364 

3365**Ausgabe:**

3366 

3367```python theme={null}

3368{

3369 "retrieval_status": "success" | "timeout" | "not_ready", # Ob die Ausgabe abgerufen wurde

3370 "task": dict | None, # Aufgabendetails: task_id, task_type, status, description, output, plus typspezifische Felder wie exitCode

3371}

3372```

3373 3353 

3374<h3 id="taskstop">3354<h3 id="taskstop">

3375 TaskStop3355 TaskStop


3630| :-------------------------- | :---------------------------------------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3610| :-------------------------- | :---------------------------------------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3631| `enabled` | `bool` | `False` | Aktivieren Sie den Sandbox-Modus für die Befehlsausführung |3611| `enabled` | `bool` | `False` | Aktivieren Sie den Sandbox-Modus für die Befehlsausführung |

3632| `autoAllowBashIfSandboxed` | `bool` | `True` | Genehmigen Sie Bash-Befehle automatisch, wenn die Sandbox aktiviert ist |3612| `autoAllowBashIfSandboxed` | `bool` | `True` | Genehmigen Sie Bash-Befehle automatisch, wenn die Sandbox aktiviert ist |

3633| `excludedCommands` | `list[str]` | `[]` | Befehle, die immer Sandbox-Beschränkungen umgehen (z. B. `["docker"]`). Diese werden automatisch ohne Modellbeteiligung unsandboxed ausgeführt |3613| `excludedCommands` | `list[str]` | `[]` | Befehle, die Sandbox-Beschränkungen umgehen, z. B. `["docker *"]`. Diese werden automatisch ohne Modellbeteiligung unsandboxed ausgeführt; [`sandbox.excludedCommands`](/docs/de/settings-reference#sandbox-excludedcommands) behandelt, wann ein Eintrag gilt |

3634| `allowUnsandboxedCommands` | `bool` | `True` | Erlauben Sie dem Modell, die Ausführung von Befehlen außerhalb der Sandbox anzufordern. Wenn `True`, kann das Modell `dangerouslyDisableSandbox` in der Tool-Eingabe setzen, was auf das [Berechtigungssystem](#permissions-fallback-for-unsandboxed-commands) zurückfällt |3614| `allowUnsandboxedCommands` | `bool` | `True` | Erlauben Sie dem Modell, die Ausführung von Befehlen außerhalb der Sandbox anzufordern. Wenn `True`, kann das Modell `dangerouslyDisableSandbox` in der Tool-Eingabe setzen, was auf das [Berechtigungssystem](#permissions-fallback-for-unsandboxed-commands) zurückfällt |

3635| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `None` | Netzwerkspezifische Sandbox-Konfiguration |3615| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `None` | Netzwerkspezifische Sandbox-Konfiguration |

3636| `ignoreViolations` | [`SandboxIgnoreViolations`](#sandboxignoreviolations) | `None` | Konfigurieren Sie, welche Sandbox-Verstöße ignoriert werden sollen |3616| `ignoreViolations` | [`SandboxIgnoreViolations`](#sandboxignoreviolations) | `None` | Konfigurieren Sie, welche Sandbox-Verstöße ignoriert werden sollen |


3735 Berechtigungen-Fallback für Unsandboxed-Befehle3715 Berechtigungen-Fallback für Unsandboxed-Befehle

3736</h3>3716</h3>

3737 3717 

3738Wenn `allowUnsandboxedCommands` aktiviert ist, kann das Modell anfordern, Befehle außerhalb der Sandbox auszuführen, indem es `dangerouslyDisableSandbox: True` in der Tool-Eingabe setzt. Diese Anfragen fallen auf das bestehende Berechtigungssystem zurück, was bedeutet, dass Ihr `can_use_tool`-Handler aufgerufen wird, sodass Sie benutzerdefinierte Autorisierungslogik implementieren können. Befehle, die in `excludedCommands` aufgelistet sind, umgehen stattdessen die Sandbox automatisch, ohne Modellbeteiligung; siehe [`SandboxSettings`](#sandboxsettings).3718Wenn `allowUnsandboxedCommands` aktiviert ist, kann das Modell anfordern, Befehle außerhalb der Sandbox auszuführen, indem es `dangerouslyDisableSandbox: True` in der Tool-Eingabe setzt. Diese Anfragen fallen auf das bestehende Berechtigungssystem zurück, was bedeutet, dass Ihr `can_use_tool`-Handler aufgerufen wird, sodass Sie benutzerdefinierte Autorisierungslogik implementieren können.

3719 

3720Ihre `excludedCommands`-Einträge nehmen stattdessen einen Aufruf aus der Sandbox mit keiner Modellbeteiligung; [`sandbox.excludedCommands`](/docs/de/settings-reference#sandbox-excludedcommands) behandelt, wann ein Eintrag gilt.

3739 3721 

3740Das folgende Beispiel protokolliert jede Unsandboxed-Anfrage und lehnt sie ab, es sei denn, Ihre eigene Autorisierungslogik erlaubt es:3722Das folgende Beispiel protokolliert jede Unsandboxed-Anfrage und lehnt sie ab, es sei denn, Ihre eigene Autorisierungslogik erlaubt es:

3741 3723 

Details

645Sie können dieses Wachstum auf drei Arten begrenzen: wie tief Subagenten verschachtelt sind, wie viele gleichzeitig ausgeführt werden und wie viel die gesamte Abfrage kostet. Legen Sie die Tiefe- und Parallelitätslimits als Umgebungsvariablen über die [`env`](/docs/de/agent-sdk/typescript#options)-Option fest, und das Ausgabenlimit als Abfrageoption:645Sie können dieses Wachstum auf drei Arten begrenzen: wie tief Subagenten verschachtelt sind, wie viele gleichzeitig ausgeführt werden und wie viel die gesamte Abfrage kostet. Legen Sie die Tiefe- und Parallelitätslimits als Umgebungsvariablen über die [`env`](/docs/de/agent-sdk/typescript#options)-Option fest, und das Ausgabenlimit als Abfrageoption:

646 646 

647| Limit | Festlegen mit | Standard | Was Claude Code beim Limit tut |647| Limit | Festlegen mit | Standard | Was Claude Code beim Limit tut |

648| :----------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |648| :----------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

649| Tiefe | [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/de/env-vars) | `3` Ebenen von Subagenten unter Ihrem Hauptagenten. `1` verhindert, dass Ihre Subagenten ihre eigenen erzeugen | Lässt einen Subagenten in der untersten Ebene unfähig sein zu erzeugen, sodass er seine delegierte Arbeit selbst erledigt. Siehe [verschachtelte Subagenten](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) |649| Tiefe | [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/de/env-vars) | `3` Ebenen von Subagenten unter Ihrem Hauptagenten. `1` verhindert, dass Ihre Subagenten ihre eigenen erzeugen | Lässt einen Subagenten in der untersten Ebene unfähig sein zu erzeugen, sodass er seine delegierte Arbeit selbst erledigt. Siehe [verschachtelte Subagenten](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) |

650| Parallelität | [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/de/env-vars) | `20` Subagenten, die gleichzeitig ausgeführt werden, zählen jeden Subagenten, den Claude mit dem Agent-Tool erzeugt | Weigert sich, einen weiteren Subagenten zu erzeugen, gibt `Concurrent subagent limit reached` zurück, bis die laufende Anzahl unter das Limit fällt. Sitzungen mit aktivem [ultracode](/docs/de/model-config#adjust-effort-level) werden nie abgelehnt. Siehe das [Parallelitätslimit für Subagenten](/docs/de/sub-agents#concurrent-subagent-limit) |650| Parallelität | [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/de/env-vars) | `20` Subagenten, die gleichzeitig ausgeführt werden, zählen jeden Subagenten, den Claude mit dem Agent-Tool erzeugt | Weigert sich, einen weiteren Subagenten zu erzeugen, gibt `Concurrent subagent limit reached` zurück, bis die laufende Anzahl unter das Limit fällt. Sitzungen mit aktivem [ultracode](/docs/de/model-config#adjust-effort-level) werden nie abgelehnt. Siehe das [Parallelitätslimit für Subagenten](/docs/de/sub-agents#concurrent-subagent-limit) |

651| Ausgaben | `maxBudgetUsd` in TypeScript, `max_budget_usd` in Python | Kein Limit. Verglichen mit `total_cost_usd`, sodass Subagenten-Anfragen zählen | Erzwingt die Obergrenze auf drei Arten: weigert sich, mehr Subagenten zu erzeugen, gibt `Budget limit reached` zurück, stoppt Hintergrund-Subagenten, die noch ausgeführt werden, und beendet die Abfrage mit dem Ergebnis-Subtyp `error_max_budget_usd`. Siehe [Durchläufe und Budget](/docs/de/agent-sdk/agent-loop#turns-and-budget) |651| Ausgaben | `maxBudgetUsd` in TypeScript, `max_budget_usd` in Python | Kein Limit. Zählt die Ausgaben des Aufrufs selbst, einschließlich Subagenten-Anfragen | Erzwingt die Obergrenze auf drei Arten: weigert sich, mehr Subagenten zu erzeugen, gibt `Budget limit reached` zurück, stoppt Hintergrund-Subagenten, die noch ausgeführt werden, und beendet die Abfrage mit dem Ergebnis-Subtyp `error_max_budget_usd`. Wie sich die Obergrenzen über eine Sitzung hinweg verhalten, finden Sie unter [Durchläufe und Budget](/docs/de/agent-sdk/agent-loop#turns-and-budget) |

652 652 

653Die beiden SDKs behandeln die `env`-Option unterschiedlich: Das TypeScript SDK ersetzt die Subprocess-Umgebung damit, daher verteilen Sie `process.env` darin, um Variablen wie `PATH` zu behalten, während das Python SDK es in die geerbte Umgebung zusammenführt. Dieses Beispiel deaktiviert Verschachtelung, erlaubt höchstens fünf Subagenten gleichzeitig und stoppt die Abfrage, sobald die geschätzten Ausgaben \$5 erreichen:653Die beiden SDKs behandeln die `env`-Option unterschiedlich: Das TypeScript SDK ersetzt die Subprocess-Umgebung damit, daher verteilen Sie `process.env` darin, um Variablen wie `PATH` zu behalten, während das Python SDK es in die geerbte Umgebung zusammenführt. Dieses Beispiel deaktiviert Verschachtelung, erlaubt höchstens fünf Subagenten gleichzeitig und stoppt die Abfrage, sobald die geschätzten Ausgaben \$5 erreichen:

654 654 


747 747 

748Wenn Claude Aufgaben direkt abschließt, anstatt an Ihren Subagenten zu delegieren:748Wenn Claude Aufgaben direkt abschließt, anstatt an Ihren Subagenten zu delegieren:

749 749 

750* **Verwenden Sie explizites Prompting**: Erwähnen Sie den Subagenten nach Name in Ihrem Prompt, zum Beispiel „Verwenden Sie den Code-Reviewer-Agent, um..."750* **Verwenden Sie explizites Prompting**: Erwähnen Sie den Subagenten nach Name in Ihrem Prompt, zum Beispiel „Verwenden Sie den Code-Reviewer-Agent, um das Authentifizierungsmodul zu überprüfen"

751* **Schreiben Sie eine klare Beschreibung**: Erklären Sie genau, wann der Subagent verwendet werden sollte, damit Claude Aufgaben angemessen zuordnen kann751* **Schreiben Sie eine klare Beschreibung**: Erklären Sie genau, wann der Subagent verwendet werden sollte, damit Claude Aufgaben angemessen zuordnen kann

752 752 

753<h3 id="filesystem-based-agents-not-loading">753<h3 id="filesystem-based-agents-not-loading">

Details

62 `query()`62 `query()`

63</h3>63</h3>

64 64 

65Die primäre Funktion für die Interaktion mit Claude Code. Erstellt einen asynchronen Generator, der Nachrichten streamt, wenn sie ankommen.65Die primäre Funktion für die Interaktion mit Claude Code. Erstellt einen asynchronen Generator, der Nachrichten streamt, sobald sie ankommen.

66 66 

67```typescript theme={null}67```typescript theme={null}

68function query({68function query({


93 `startup()`93 `startup()`

94</h3>94</h3>

95 95 

96Wärmt den CLI-Unterprozess vor, indem er ihn spawnt und den Initialize-Handshake abschließt, bevor eine Eingabeaufforderung verfügbar ist. Das zurückgegebene [`WarmQuery`](#warmquery)-Handle akzeptiert später eine Eingabeaufforderung und schreibt sie in einen bereits bereiten Prozess, sodass der erste `query()`-Aufruf ohne Kosten für das Spawnen und Initialisieren des Unterprozesses aufgelöst wird.96Wärmt die CLI-Subprozess vor, indem sie ihn spawnt und den Initialize-Handshake abschließt, bevor eine Eingabeaufforderung verfügbar ist. Das zurückgegebene [`WarmQuery`](#warmquery)-Handle akzeptiert später eine Eingabeaufforderung und schreibt sie in einen bereits bereiten Prozess, sodass der erste `query()`-Aufruf aufgelöst wird, ohne die Kosten für Subprozess-Spawn und Initialisierung inline zu zahlen.

97 97 

98```typescript theme={null}98```typescript theme={null}

99function startup(params?: {99function startup(params?: {


107</h4>107</h4>

108 108 

109| Parameter | Typ | Beschreibung |109| Parameter | Typ | Beschreibung |

110| :-------------------- | :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |110| :-------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

111| `options` | [`Options`](#options) | Optionales Konfigurationsobjekt. Gleich wie der `options`-Parameter für `query()` |111| `options` | [`Options`](#options) | Optionales Konfigurationsobjekt. Identisch mit dem `options`-Parameter für `query()` |

112| `initializeTimeoutMs` | `number` | Maximale Zeit in Millisekunden zum Warten auf die Unterprozessinitialisierung. Standardwert ist `60000`. Wenn die Initialisierung nicht rechtzeitig abgeschlossen wird, lehnt das Promise mit einem Timeout-Fehler ab |112| `initializeTimeoutMs` | `number` | Maximale Zeit in Millisekunden zum Warten auf die Subprozess-Initialisierung. Standardwert ist `60000`. Wenn die Initialisierung nicht rechtzeitig abgeschlossen wird, lehnt das Promise mit einem Timeout-Fehler ab |

113 113 

114<h4 id="returns-2">114<h4 id="returns-2">

115 Rückgabewert115 Rückgabewert

116</h4>116</h4>

117 117 

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

119 119 

120<h4 id="example">120<h4 id="example">

121 Beispiel121 Beispiel

122</h4>122</h4>

123 123 

124Rufen Sie `startup()` früh auf, beispielsweise beim Anwendungsstart, und rufen Sie dann `.query()` auf dem zurückgegebenen Handle auf, sobald eine Eingabeaufforderung bereit ist. Dies verschiebt das Spawnen und die Initialisierung des Unterprozesses aus dem kritischen Pfad.124Rufen Sie `startup()` früh auf, beispielsweise beim Anwendungsstart, und rufen Sie dann `.query()` auf dem zurückgegebenen Handle auf, sobald eine Eingabeaufforderung bereit ist. Dies verlagert Subprozess-Spawn und Initialisierung aus dem kritischen Pfad.

125 125 

126```typescript theme={null}126```typescript theme={null}

127import { startup } from "@anthropic-ai/claude-agent-sdk";127import { startup } from "@anthropic-ai/claude-agent-sdk";

128 128 

129// Bezahlen Sie die Startup-Kosten im Voraus129// Startup-Kosten im Voraus zahlen

130const warm = await startup({ options: { maxTurns: 3 } });130const warm = await startup({ options: { maxTurns: 3 } });

131 131 

132// Später, wenn eine Eingabeaufforderung bereit ist, ist dies sofort132// Später, wenn eine Eingabeaufforderung bereit ist, ist dies sofort


139 `tool()`139 `tool()`

140</h3>140</h3>

141 141 

142Erstellt eine typsichere MCP-Tool-Definition zur Verwendung mit SDK MCP-Servern.142Erstellt eine typsichere MCP-Tool-Definition zur Verwendung mit SDK-MCP-Servern.

143 143 

144```typescript theme={null}144```typescript theme={null}

145function tool<Schema extends AnyZodRawShape>(145function tool<Schema extends AnyZodRawShape>(


170Erneut exportiert aus `@modelcontextprotocol/sdk/types.js`. Alle Felder sind optionale Hinweise; Clients sollten sich nicht auf sie für Sicherheitsentscheidungen verlassen.170Erneut exportiert aus `@modelcontextprotocol/sdk/types.js`. Alle Felder sind optionale Hinweise; Clients sollten sich nicht auf sie für Sicherheitsentscheidungen verlassen.

171 171 

172| Feld | Typ | Standard | Beschreibung |172| Feld | Typ | Standard | Beschreibung |

173| :---------------- | :-------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |173| :---------------- | :-------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

174| `title` | `string` | `undefined` | Benutzerfreundlicher Titel für das Tool |174| `title` | `string` | `undefined` | Benutzerfreundlicher Titel für das Tool |

175| `readOnlyHint` | `boolean` | `false` | Wenn `true`, ändert das Tool seine Umgebung nicht |175| `readOnlyHint` | `boolean` | `false` | Wenn `true`, ändert das Tool seine Umgebung nicht |

176| `destructiveHint` | `boolean` | `true` | Wenn `true`, kann das Tool destruktive Updates durchführen (nur sinnvoll, wenn `readOnlyHint` `false` ist) |176| `destructiveHint` | `boolean` | `true` | Wenn `true`, kann das Tool destruktive Aktualisierungen durchführen (nur sinnvoll, wenn `readOnlyHint` `false` ist) |

177| `idempotentHint` | `boolean` | `false` | Wenn `true`, haben wiederholte Aufrufe mit denselben Argumenten keine zusätzliche Auswirkung (nur sinnvoll, wenn `readOnlyHint` `false` ist) |177| `idempotentHint` | `boolean` | `false` | Wenn `true`, haben wiederholte Aufrufe mit denselben Argumenten keine zusätzliche Auswirkung (nur sinnvoll, wenn `readOnlyHint` `false` ist) |

178| `openWorldHint` | `boolean` | `true` | Wenn `true`, interagiert das Tool mit externen Entitäten (z. B. Websuche). Wenn `false`, ist die Domäne des Tools geschlossen (z. B. ein Memory-Tool) |178| `openWorldHint` | `boolean` | `true` | Wenn `true`, interagiert das Tool mit externen Entitäten (beispielsweise Websuche). Wenn `false`, ist die Domäne des Tools geschlossen (beispielsweise ein Memory-Tool) |

179 179 

180```typescript theme={null}180```typescript theme={null}

181import { tool } from "@anthropic-ai/claude-agent-sdk";181import { tool } from "@anthropic-ai/claude-agent-sdk";


219| `options.version` | `string` | Optionale Versionsnummer |219| `options.version` | `string` | Optionale Versionsnummer |

220| `options.instructions` | `string` | Optionale Server-Anweisungen, die von `initialize` zurückgegeben und dem Modell als MCP-Anweisungsblock angezeigt werden |220| `options.instructions` | `string` | Optionale Server-Anweisungen, die von `initialize` zurückgegeben und dem Modell als MCP-Anweisungsblock angezeigt werden |

221| `options.tools` | `Array<SdkMcpToolDefinition>` | Array von Tool-Definitionen, die mit [`tool()`](#tool) erstellt wurden |221| `options.tools` | `Array<SdkMcpToolDefinition>` | Array von Tool-Definitionen, die mit [`tool()`](#tool) erstellt wurden |

222| `options.alwaysLoad` | `boolean` | Wenn `true`, bleiben alle Tools von diesem Server in der anfänglichen Eingabeaufforderung und werden niemals hinter [Tool-Suche](/docs/de/agent-sdk/tool-search) aufgeschoben. Kombiniert mit pro-Tool `alwaysLoad` in [`tool()`](#tool) |222| `options.alwaysLoad` | `boolean` | Wenn `true`, bleibt jedes Tool von diesem Server in der anfänglichen Eingabeaufforderung und wird niemals hinter [Tool-Suche](/docs/de/agent-sdk/tool-search) aufgeschoben. Kombiniert mit pro-Tool `alwaysLoad` in [`tool()`](#tool) |

223| `options.timeout` | `number` | Timeout in Millisekunden für die Tool-Aufrufe dieses Servers. Claude Code wendet es auf diesen Server anstelle von [`MCP_TOOL_TIMEOUT`](/docs/de/env-vars) an. Übergeben Sie eine ganze Zahl von mindestens 1000. Claude Code ignoriert andere Werte. Erfordert TypeScript Agent SDK v0.3.248 oder später |223| `options.timeout` | `number` | Timeout in Millisekunden für die Tool-Aufrufe dieses Servers. Claude Code wendet es auf diesen Server anstelle von [`MCP_TOOL_TIMEOUT`](/docs/de/env-vars) an. Übergeben Sie eine ganze Zahl von mindestens 1000. Claude Code ignoriert andere Werte. Erfordert TypeScript Agent SDK v0.3.248 oder später |

224 224 

225<h3 id="listsessions">225<h3 id="listsessions">


251| `sessionId` | `string` | Eindeutige Sitzungs-ID (UUID) |251| `sessionId` | `string` | Eindeutige Sitzungs-ID (UUID) |

252| `summary` | `string` | Anzeigetitel: benutzerdefinierter Titel, automatisch generierte Zusammenfassung oder erste Eingabeaufforderung |252| `summary` | `string` | Anzeigetitel: benutzerdefinierter Titel, automatisch generierte Zusammenfassung oder erste Eingabeaufforderung |

253| `lastModified` | `number` | Letzte Änderungszeit in Millisekunden seit Epoch |253| `lastModified` | `number` | Letzte Änderungszeit in Millisekunden seit Epoch |

254| `fileSize` | `number \| undefined` | Sitzungsdateigröße in Bytes. Nur für lokale JSONL-Speicherung gefüllt |254| `fileSize` | `number \| undefined` | Sitzungsdateigröße in Bytes. Nur für lokale JSONL-Speicherung ausgefüllt |

255| `customTitle` | `string \| undefined` | Vom Benutzer festgelegter Sitzungstitel (über `/rename`) |255| `customTitle` | `string \| undefined` | Vom Benutzer festgelegter Sitzungstitel (über `/rename`) |

256| `firstPrompt` | `string \| undefined` | Erste aussagekräftige Benutzer-Eingabeaufforderung in der Sitzung |256| `firstPrompt` | `string \| undefined` | Erste aussagekräftige Benutzer-Eingabeaufforderung in der Sitzung |

257| `gitBranch` | `string \| undefined` | Git-Branch am Ende der Sitzung |257| `gitBranch` | `string \| undefined` | Git-Branch am Ende der Sitzung |


263 Beispiel263 Beispiel

264</h4>264</h4>

265 265 

266Geben Sie die 10 neuesten Sitzungen für ein Projekt aus. Ergebnisse werden nach `lastModified` absteigend sortiert, sodass das erste Element das neueste ist. Lassen Sie `dir` weg, um über alle Projekte zu suchen.266Geben Sie die 10 neuesten Sitzungen für ein Projekt aus. Die Ergebnisse werden nach `lastModified` absteigend sortiert, sodass das erste Element das neueste ist. Lassen Sie `dir` weg, um über alle Projekte zu suchen.

267 267 

268```typescript theme={null}268```typescript theme={null}

269import { listSessions } from "@anthropic-ai/claude-agent-sdk";269import { listSessions } from "@anthropic-ai/claude-agent-sdk";


304</h4>304</h4>

305 305 

306| Eigenschaft | Typ | Beschreibung |306| Eigenschaft | Typ | Beschreibung |

307| :------------------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |307| :------------------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

308| `type` | `"user" \| "assistant"` | Nachrichtenrolle |308| `type` | `"user" \| "assistant"` | Nachrichtenrolle |

309| `uuid` | `string` | Eindeutige Nachrichten-ID |309| `uuid` | `string` | Eindeutige Nachrichten-ID |

310| `session_id` | `string` | Sitzung, zu der diese Nachricht gehört |310| `session_id` | `string` | Sitzung, zu der diese Nachricht gehört |

311| `message` | `unknown` | Rohe Nachricht-Payload aus dem Transkript |311| `message` | `unknown` | Rohe Nachrichtennutzlast aus dem Transkript |

312| `parent_tool_use_id` | `string \| null` | Für Subagent-Nachrichten die `tool_use_id` des spawning `Agent`-Tool-Aufrufs. `null` für Hauptsitzungs-Nachrichten und ältere Sitzungen |312| `parent_tool_use_id` | `string \| null` | Für Subagenten-Nachrichten die `tool_use_id` des `Agent`- oder `Skill`-Tool-Aufrufs, der den Subagenten gestartet hat. `null` für Hauptsitzungs-Nachrichten und ältere Sitzungen |

313| `parent_agent_id` | `string \| null` | Für Nachrichten von einem [verschachtelten Subagent](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) die `agentId` des Subagents, der sie spawnt hat. `null` für Hauptsitzungs-Nachrichten, Nachrichten von Top-Level-Subagents und ältere Sitzungen. Erfordert Claude Code v2.1.202 oder später |313| `parent_agent_id` | `string \| null` | Für Nachrichten von einem [verschachtelten Subagenten](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) die `agentId` des Subagenten, der ihn gespawnt hat. `null` für Hauptsitzungs-Nachrichten, Nachrichten von Top-Level-Subagenten und ältere Sitzungen. Erfordert Claude Code v2.1.202 oder später |

314 314 

315<h4 id="example-3">315<h4 id="example-3">

316 Beispiel316 Beispiel


337 `getSessionInfo()`337 `getSessionInfo()`

338</h3>338</h3>

339 339 

340Liest Metadaten für eine einzelne Sitzung nach ID, ohne das vollständige Projektverzeichnis zu scannen.340Liest Metadaten für eine einzelne Sitzung nach ID, ohne das vollständige Projektverzeichnis zu durchsuchen.

341 341 

342```typescript theme={null}342```typescript theme={null}

343function getSessionInfo(343function getSessionInfo(


385 `tagSession()`385 `tagSession()`

386</h3>386</h3>

387 387 

388Taggt eine Sitzung. Übergeben Sie `null`, um das Tag zu löschen. Wiederholte Aufrufe sind sicher; das neueste Tag gewinnt.388Markiert eine Sitzung mit einem Tag. Übergeben Sie `null`, um das Tag zu löschen. Wiederholte Aufrufe sind sicher; das neueste Tag gewinnt.

389 389 

390```typescript theme={null}390```typescript theme={null}

391function tagSession(391function tagSession(


401 401 

402| Parameter | Typ | Standard | Beschreibung |402| Parameter | Typ | Standard | Beschreibung |

403| :------------ | :--------------- | :----------- | :------------------------------------------------------------------------------------ |403| :------------ | :--------------- | :----------- | :------------------------------------------------------------------------------------ |

404| `sessionId` | `string` | erforderlich | UUID der zu taggenden Sitzung |404| `sessionId` | `string` | erforderlich | UUID der zu markierenden Sitzung |

405| `tag` | `string \| null` | erforderlich | Tag-Zeichenkette oder `null` zum Löschen |405| `tag` | `string \| null` | erforderlich | Tag-Zeichenkette oder `null` zum Löschen |

406| `options.dir` | `string` | `undefined` | Projektverzeichnispfad. Wenn weggelassen, werden alle Projektverzeichnisse durchsucht |406| `options.dir` | `string` | `undefined` | Projektverzeichnispfad. Wenn weggelassen, werden alle Projektverzeichnisse durchsucht |

407 407 


409 `resolveSettings()`409 `resolveSettings()`

410</h3>410</h3>

411 411 

412Löst die effektiven Claude Code-Einstellungen für ein bestimmtes Verzeichnis mithilfe der gleichen Merge-Engine wie die CLI auf, ohne die Claude CLI zu spawnen. Verwenden Sie es, um zu überprüfen, welche Konfiguration ein `query()`-Aufruf sehen würde, bevor Sie einen aufrufen.412Löst die effektiven Claude Code-Einstellungen für ein bestimmtes Verzeichnis mit derselben Merge-Engine wie die CLI auf, ohne die Claude CLI zu spawnen. Verwenden Sie es, um zu überprüfen, welche Konfiguration ein `query()`-Aufruf sehen würde, bevor Sie einen aufrufen.

413 413 

414<Note>414<Note>

415 Diese Funktion ist Alpha und ihre API kann sich vor der Stabilisierung ändern.415 Diese Funktion ist Alpha und ihre API kann sich vor der Stabilisierung ändern.


417 417 

418Der Snapshot unterscheidet sich von dem, was eine Live-`query()`-Sitzung anwendet:418Der Snapshot unterscheidet sich von dem, was eine Live-`query()`-Sitzung anwendet:

419 419 

420* **`policyHelper`**: `resolveSettings()` liest MDM-Quellen, einschließlich macOS plist und Windows HKLM/HKCU, führt aber nicht den vom Administrator konfigurierten `policyHelper`-Unterprozess aus.420* **`policyHelper`**: `resolveSettings()` liest MDM-Quellen, einschließlich macOS plist und Windows HKLM/HKCU, führt aber nicht den vom Administrator konfigurierten `policyHelper`-Subprozess aus.

421* **Server-verwaltete Einstellungen**: `resolveSettings()` ruft [server-verwaltete Einstellungen](/docs/de/server-managed-settings#fetch-and-caching-behavior) nicht ab. Übergeben Sie sie als `options.serverManagedSettings`, um sie einzubeziehen.421* **Server-verwaltete Einstellungen**: `resolveSettings()` ruft [server-verwaltete Einstellungen](/docs/de/server-managed-settings#fetch-and-caching-behavior) nicht ab. Übergeben Sie sie als `options.serverManagedSettings`, um sie einzubeziehen.

422* **`defaultMode`**: Der Snapshot gibt `permissions.defaultMode` unverändert aus jeder Ebene zurück, sodass er die Werte `'auto'` und `'bypassPermissions'` aus Projekt- und lokalen Einstellungen enthalten kann, die [eine Live-Sitzung ignoriert](/docs/de/permission-modes#which-mode-a-session-starts-in).422* **`defaultMode`**: Der Snapshot gibt `permissions.defaultMode` unverändert aus jeder Ebene zurück, sodass er die Werte `'auto'` und `'bypassPermissions'` aus Projekt- und lokalen Einstellungen enthalten kann, die [eine Live-Sitzung ignoriert](/docs/de/permission-modes#which-mode-a-session-starts-in).

423 423 


434`resolveSettings()` akzeptiert ein einzelnes Optionsobjekt. Alle Felder sind optional.434`resolveSettings()` akzeptiert ein einzelnes Optionsobjekt. Alle Felder sind optional.

435 435 

436| Parameter | Typ | Standard | Beschreibung |436| Parameter | Typ | Standard | Beschreibung |

437| :------------------------------ | :------------------------------------ | :-------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |437| :------------------------------ | :------------------------------------ | :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

438| `options.cwd` | `string` | `process.cwd()` | Verzeichnis zum Auflösen von Projekt- und lokalen Einstellungen relativ zu |438| `options.cwd` | `string` | `process.cwd()` | Verzeichnis, relativ zu dem Projekt- und lokale Einstellungen aufgelöst werden |

439| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | Alle Quellen | Welche Dateisystemquellen geladen werden sollen. Übergeben Sie `[]`, um Benutzer-, Projekt- und lokale Einstellungen zu überspringen. [Endpoint-verwaltete Richtlinie](/docs/de/managed-settings#delivery-mechanisms) wird in allen Fällen geladen. `resolveSettings()` enthält server-verwaltete Einstellungen nur, wenn Sie `options.serverManagedSettings` übergeben |439| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | Alle Quellen | Welche Dateisystem-Quellen geladen werden sollen. Übergeben Sie `[]`, um Benutzer-, Projekt- und lokale Einstellungen zu überspringen. [Endpoint-verwaltete Richtlinie](/docs/de/managed-settings#delivery-mechanisms) wird in allen Fällen geladen. `resolveSettings()` enthält server-verwaltete Einstellungen nur, wenn Sie `options.serverManagedSettings` übergeben |

440| `options.managedSettings` | `Settings` | `undefined` | Richtlinien-Tier-Einstellungen, die vom Embedding-Host bereitgestellt werden. Folgt den gleichen Regeln wie [`managedSettings` in `Options`](#options), außer dass `resolveSettings()` einen konfigurierten [`policyHelper`](/docs/de/settings-reference#policyhelper) nicht ausführt, sodass der Snapshot Einstellungen enthalten kann, die eine Live-Sitzung verwirft |440| `options.managedSettings` | `Settings` | `undefined` | Richtlinien-Tier-Einstellungen, die vom Embedding-Host bereitgestellt werden. Folgt denselben Regeln wie [`managedSettings` in `Options`](#options), außer dass `resolveSettings()` einen konfigurierten [`policyHelper`](/docs/de/settings-reference#policyhelper) nicht ausführt, sodass der Snapshot Einstellungen enthalten kann, die eine Live-Sitzung verwirft |

441| `options.serverManagedSettings` | `Settings` | `undefined` | Server-verwaltete Einstellungs-Payload von `/api/claude_code/settings`. Nicht-restriktive Schlüssel werden ungefiltert durchgelassen |441| `options.serverManagedSettings` | `Settings` | `undefined` | Server-verwaltete Einstellungen-Nutzlast von `/api/claude_code/settings`. Nicht-restriktive Schlüssel werden ungefiltert durchgeleitet |

442 442 

443<h4 id="return-type-resolvedsettings">443<h4 id="return-type-resolvedsettings">

444 Rückgabetyp: `ResolvedSettings`444 Rückgabetyp: `ResolvedSettings`


447`resolveSettings()` gibt ein Objekt zurück, das die zusammengeführten Einstellungen und die Quelle beschreibt, die jeden Schlüssel beigetragen hat.447`resolveSettings()` gibt ein Objekt zurück, das die zusammengeführten Einstellungen und die Quelle beschreibt, die jeden Schlüssel beigetragen hat.

448 448 

449| Eigenschaft | Typ | Beschreibung |449| Eigenschaft | Typ | Beschreibung |

450| :----------- | :-------------------------------------------------- | :----------------------------------------------------------------------------------------------- |450| :----------- | :-------------------------------------------------- | :---------------------------------------------------------------------------------------- |

451| `effective` | `Settings` | Zusammengeführte Einstellungen nach Anwendung aller aktivierten Quellen in Prioritätsreihenfolge |451| `effective` | `Settings` | Zusammengeführte Einstellungen nach Anwendung aller aktivierten Quellen in Vorrangordnung |

452| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | Für jeden Top-Level-Schlüssel in `effective`, welche Quelle den Wert bereitgestellt hat |452| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | Für jeden Top-Level-Schlüssel in `effective`, welche Quelle den Wert bereitgestellt hat |

453| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | Pro-Quelle rohe Einstellungen, geordnet von niedrigster zu höchster Priorität |453| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | Pro-Quelle rohe Einstellungen, geordnet von niedrigster zu höchster Vorrangordnung |

454 454 

455<h4 id="example-4">455<h4 id="example-4">

456 Beispiel456 Beispiel

457</h4>457</h4>

458 458 

459Das folgende Beispiel löst Einstellungen für ein Projektverzeichnis auf und gibt die Quelle aus, die die Bereinigungsperiode steuert. Auf einem Computer, auf dem keine Einstellungsdatei `cleanupPeriodDays` setzt, zeigen beide gedruckten Zeilen `undefined` für den Wert an, was die erwartete Ausgabe ist, anstatt ein Fehler.459Das folgende Beispiel löst Einstellungen für ein Projektverzeichnis auf und gibt die Quelle aus, die den Cleanup-Zeitraum steuert. Auf einem Computer, auf dem keine Einstellungsdatei `cleanupPeriodDays` setzt, zeigen beide gedruckten Zeilen `undefined` für den Wert an, was die erwartete Ausgabe ist, anstatt ein Fehler.

460 460 

461```typescript theme={null}461```typescript theme={null}

462import { resolveSettings } from "@anthropic-ai/claude-agent-sdk";462import { resolveSettings } from "@anthropic-ai/claude-agent-sdk";


504| `extraArgs` | `Record<string, string \| null>` | `{}` | Zusätzliche Argumente |504| `extraArgs` | `Record<string, string \| null>` | `{}` | Zusätzliche Argumente |

505| `fallbackModel` | `string` | `undefined` | Modell, das verwendet wird, wenn das primäre Modell fehlschlägt. Akzeptiert eine kommagetrennte Liste. Für die Reihenfolge und die Obergrenze siehe [Fallback-Modellketten](/docs/de/model-config#fallback-model-chains). Für Anleitungen siehe [Modell wählen](/docs/de/agent-sdk/configuration#choose-a-model) |505| `fallbackModel` | `string` | `undefined` | Modell, das verwendet wird, wenn das primäre Modell fehlschlägt. Akzeptiert eine kommagetrennte Liste. Für die Reihenfolge und die Obergrenze siehe [Fallback-Modellketten](/docs/de/model-config#fallback-model-chains). Für Anleitungen siehe [Modell wählen](/docs/de/agent-sdk/configuration#choose-a-model) |

506| `forkSession` | `boolean` | `false` | Beim Fortsetzen mit `resume` zu einer neuen Sitzungs-ID verzweigen, anstatt die ursprüngliche Sitzung fortzusetzen |506| `forkSession` | `boolean` | `false` | Beim Fortsetzen mit `resume` zu einer neuen Sitzungs-ID verzweigen, anstatt die ursprüngliche Sitzung fortzusetzen |

507| `forwardSubagentText` | `boolean` | `false` | Subagenten-Text und Denkblöcke als Assistent- und Benutzernachrichten mit `parent_tool_use_id` gesetzt weiterleiten, damit Consumer ein verschachteltes Transkript rendern können. Ohne diese Option gibt Claude Code Subagenten-`tool_use`- und `tool_result`-Blöcke aus, aber keinen Text oder Denken. Nachrichten von Subagenten in jeder Verschachtelungstiefe werden auf Claude Code v2.1.219 und später weitergeleitet; vor v2.1.219 erschienen nur Nachrichten von Tiefe-1-Subagenten |507| `forwardSubagentText` | `boolean` | `false` | Subagenten-Text und Denkblöcke als Assistent- und Benutzernachrichten mit `parent_tool_use_id` gesetzt weiterleiten, damit Consumer ein verschachteltes Transkript rendern können. Ohne diese Option gibt Claude Code Subagenten-`tool_use`- und `tool_result`-Blöcke aus, aber keinen Text oder Denken. Nachrichten von Subagenten in jeder Verschachtelungstiefe werden auf Claude Code v2.1.219 und später weitergeleitet; vor v2.1.219 erschienen nur Nachrichten von Tiefe-1-Subagenten. Nachrichten von Subagenten, die ein verzweigter Skill erzeugt, und von verschachtelten verzweigten Skills erfordern v2.1.275 oder später |

508| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | Hook-Callbacks für Ereignisse |508| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | Hook-Callbacks für Ereignisse |

509| `includeHookEvents` | `boolean` | `false` | Hook-Lebenszyklusereignisse in den Nachrichtenstrom als [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage) und [`SDKHookResponseMessage`](#sdkhookresponsemessage) einbeziehen. Lebenszyklusereignisse für `SessionStart`- und `Setup`-Hooks sind immer enthalten und benötigen diese Option nicht. Einige Hook-Ereignisse wie `Notification`, `SessionEnd`, `PreCompact` und `PostCompact` erzeugen niemals eine `SDKHookStartedMessage`, auch nicht mit dieser Option. Für diese Ereignisse gibt Claude Code weiterhin eine `SDKHookProgressMessage` aus, während ein Befehl-Hook, der länger als eine Sekunde läuft, Ausgabe erzeugt, und gibt eine `SDKHookResponseMessage` nur aus, wenn ein Hook [der im Hintergrund läuft](/docs/de/hooks#run-hooks-in-the-background) beendet wird |509| `includeHookEvents` | `boolean` | `false` | Hook-Lebenszyklusereignisse in den Nachrichtenstrom als [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage) und [`SDKHookResponseMessage`](#sdkhookresponsemessage) einbeziehen. Lebenszyklusereignisse für `SessionStart`- und `Setup`-Hooks sind immer enthalten und benötigen diese Option nicht. Einige Hook-Ereignisse wie `Notification`, `SessionEnd`, `PreCompact` und `PostCompact` erzeugen niemals eine `SDKHookStartedMessage`, auch nicht mit dieser Option. Für diese Ereignisse gibt Claude Code weiterhin eine `SDKHookProgressMessage` aus, während ein Befehl-Hook, der länger als eine Sekunde läuft, Ausgabe erzeugt, und gibt eine `SDKHookResponseMessage` nur aus, wenn ein Hook [der im Hintergrund läuft](/docs/de/hooks#run-hooks-in-the-background) beendet wird |

510| `includePartialMessages` | `boolean` | `false` | Teilweise Nachrichtenereignisse einbeziehen |510| `includePartialMessages` | `boolean` | `false` | Teilweise Nachrichtenereignisse einbeziehen |

511| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout in Millisekunden für jeden `sessionStore.load()`- und `sessionStore.listSubkeys()`-Aufruf während der Materialisierung beim Fortsetzen. Wenn sich der Adapter nicht innerhalb dieses Fensters einigt, schlägt die Abfrage fehl, anstatt zu hängen. Wird ignoriert, wenn `sessionStore` nicht gesetzt ist |511| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout in Millisekunden für jeden `sessionStore.load()`- und `sessionStore.listSubkeys()`-Aufruf während der Materialisierung beim Fortsetzen. Wenn sich der Adapter nicht innerhalb dieses Fensters einigt, schlägt die Abfrage fehl, anstatt zu hängen. Wird ignoriert, wenn `sessionStore` nicht gesetzt ist |

512| `managedSettings` | `Settings` | `undefined` | Richtlinien-Tier-Einstellungen, die Ihr Host-Prozess der erzeugten Sitzung bereitstellt. Auf Maschinen mit von Administratoren bereitgestellten verwalteten Einstellungen ignoriert Claude Code diese, es sei denn, die höchste Priorität der verwalteten Quelle des Administrators setzt `parentSettingsBehavior: 'merge'`, und führt sie niemals zusammen, während ein [`policyHelper`](/docs/de/settings-reference#policyhelper) verwaltete Einstellungen bereitstellt. Zusammengeführte Werte durchlaufen einen restriktiven Filter; [Übergeordnete Einstellungen einschränken](/docs/de/claude-apps-gateway#restrict-parent-settings) behandelt, was der Filter zulässt und die `allowManaged*Only`-Sperren. Ein Host, der [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/de/env-vars) setzt, hat drei Schlüssel, die direkt aus dieser Nutzlast gelesen werden: seine [Modellkonfiguration](/docs/de/model-config#restrict-model-selection) auf Claude Code v2.1.222 oder später, [`modelPricing`](/docs/de/settings-reference#modelpricing), wenn keine verwaltete Quelle sie auf v2.1.246 oder später setzt, und seinen `ENABLE_TOOL_SEARCH`-Env-Eintrag auf v2.1.247 oder später |512| `managedSettings` | `Settings` | `undefined` | Richtlinien-Tier-Einstellungen, die Ihr Host-Prozess der erzeugten Sitzung bereitstellt. Auf Maschinen mit von Administratoren bereitgestellten verwalteten Einstellungen ignoriert Claude Code diese, es sei denn, die höchste Priorität der verwalteten Quelle des Administrators setzt `parentSettingsBehavior: 'merge'`, und führt sie niemals zusammen, während ein [`policyHelper`](/docs/de/settings-reference#policyhelper) verwaltete Einstellungen bereitstellt. Zusammengeführte Werte durchlaufen einen restriktiven Filter; [Übergeordnete Einstellungen einschränken](/docs/de/claude-apps-gateway#restrict-parent-settings) behandelt, was der Filter zulässt und die `allowManaged*Only`-Sperren. Ein Host, der [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/de/env-vars) setzt, hat drei Schlüssel, die direkt aus dieser Nutzlast gelesen werden: seine [Modellkonfiguration](/docs/de/model-config#restrict-model-selection) auf Claude Code v2.1.222 oder später, [`modelPricing`](/docs/de/settings-reference#modelpricing), wenn keine verwaltete Quelle sie auf v2.1.246 oder später setzt, und seinen `ENABLE_TOOL_SEARCH`-Env-Eintrag auf v2.1.247 oder später |

513| `maxBudgetUsd` | `number` | `undefined` | Beenden Sie die Abfrage, wenn die clientseitige Kostenschätzung diesen USD-Wert erreicht. Verglichen mit der gleichen Schätzung wie `total_cost_usd`. Für Genauigkeitsvorbehalt und Zurücksetzen-Verhalten siehe [Kosten und Nutzung verfolgen](/docs/de/agent-sdk/cost-tracking) |513| `maxBudgetUsd` | `number` | `undefined` | Beenden Sie die Abfrage, wenn die clientseitige Kostenschätzung diesen USD-Wert erreicht. Zählt nur die Ausgaben des Aufrufs selbst; Gesamtwerte, die aus einer fortgesetzten Sitzung wiederhergestellt werden, zählen nicht. Für Genauigkeitsvorbehalt und Zurücksetzen-Verhalten siehe [Kosten und Nutzung verfolgen](/docs/de/agent-sdk/cost-tracking) |

514| `maxThinkingTokens` | `number` | `undefined` | *Veraltet:* Verwenden Sie stattdessen `thinking`. Maximale Token für den Denkprozess |514| `maxThinkingTokens` | `number` | `undefined` | *Veraltet:* Verwenden Sie stattdessen `thinking`. Maximale Token für den Denkprozess |

515| `maxTurns` | `number` | `undefined` | Maximale agentengesteuerte Umdrehungen (Tool-Use-Roundtrips) |515| `maxTurns` | `number` | `undefined` | Maximale agentengesteuerte Umdrehungen (Tool-Use-Roundtrips) |

516| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP-Serverkonfigurationen |516| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP-Serverkonfigurationen |


525| `persistSession` | `boolean` | `true` | Wenn `false`, wird die Sitzungspersistenz auf der Festplatte deaktiviert. Sitzungen können später nicht fortgesetzt werden |525| `persistSession` | `boolean` | `true` | Wenn `false`, wird die Sitzungspersistenz auf der Festplatte deaktiviert. Sitzungen können später nicht fortgesetzt werden |

526| `planModeInstructions` | `string` | `undefined` | Benutzerdefinierte Workflow-Anweisungen für den Plan-Modus. Wenn `permissionMode` `'plan'` ist, ersetzt dieser String den Standard-Plan-Modus-Workflow-Text. Die CLI umhüllt ihn immer noch mit der schreibgeschützten Durchsetzungspräambel und der ExitPlanMode-Protokoll-Fußzeile |526| `planModeInstructions` | `string` | `undefined` | Benutzerdefinierte Workflow-Anweisungen für den Plan-Modus. Wenn `permissionMode` `'plan'` ist, ersetzt dieser String den Standard-Plan-Modus-Workflow-Text. Die CLI umhüllt ihn immer noch mit der schreibgeschützten Durchsetzungspräambel und der ExitPlanMode-Protokoll-Fußzeile |

527| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | Laden Sie benutzerdefinierte Plugins aus lokalen Pfaden. Siehe [Plugins](/docs/de/agent-sdk/plugins) für Details |527| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | Laden Sie benutzerdefinierte Plugins aus lokalen Pfaden. Siehe [Plugins](/docs/de/agent-sdk/plugins) für Details |

528| `projectConfigRoot` | `string` | `undefined` | Absoluter Pfad des vertrauenswürdigen Checkouts, von dem `cwd` ein Worktree ist. Claude Code liest Projekteinstellungen, `.mcp.json` und die Befehle, Agenten, Fähigkeiten, Workflows, Routinen und Ausgabestile des Projekts aus `.claude/` aus diesem Verzeichnis anstelle von `cwd`, und setzt `CLAUDE_PROJECT_DIR` darauf. Hooks, Hilfsskripte wie `apiKeyHelper` und stdio MCP-Server starten mit diesem Verzeichnis als Arbeitsverzeichnis. `CLAUDE.md`-Dateien und `.claude/rules/` werden immer noch von `cwd` geladen. Erfordert Claude Code v2.1.275 oder später |

528| `promptSuggestions` | `boolean` | `false` | Eingabeaufforderungsvorschläge aktivieren. Nach einer Umdrehung gibt Claude Code eine `prompt_suggestion`-Nachricht mit einer vorhergesagten nächsten Benutzereingabeaufforderung aus. Claude Code generiert für einige Umdrehungen keinen Vorschlag, z. B. während Ihr Konto sich dem Nutzungslimit nähert oder dieses erreicht hat. Siehe [Wenn Claude Code Vorschläge überspringt](/docs/de/interactive-mode#when-claude-code-skips-suggestions) |529| `promptSuggestions` | `boolean` | `false` | Eingabeaufforderungsvorschläge aktivieren. Nach einer Umdrehung gibt Claude Code eine `prompt_suggestion`-Nachricht mit einer vorhergesagten nächsten Benutzereingabeaufforderung aus. Claude Code generiert für einige Umdrehungen keinen Vorschlag, z. B. während Ihr Konto sich dem Nutzungslimit nähert oder dieses erreicht hat. Siehe [Wenn Claude Code Vorschläge überspringt](/docs/de/interactive-mode#when-claude-code-skips-suggestions) |

529| `resume` | `string` | `undefined` | Sitzungs-ID zum Fortsetzen |530| `resume` | `string` | `undefined` | Sitzungs-ID zum Fortsetzen |

530| `resumeDropsTurn` | `string` | `undefined` | Mit `resumeSessionAt`: die Eingabeaufforderungs-UUID der Umdrehung, die das Truncating-Resume verwerfen soll. Claude Code verweigert das Fortsetzen, wenn der verworfene Bereich etwas enthält, das nicht dieser Umdrehung zugeordnet werden kann, z. B. absorbierte Warteschlangen-Nachrichten oder Task-Benachrichtigungen, und nennt das `--resume-drops-turn`-Flag in der Ablehnungsmeldung. Nur das Agent SDK und Print-Modus-Resumes lesen das Paar. Erfordert Claude Code v2.1.223 oder später |531| `resumeDropsTurn` | `string` | `undefined` | Mit `resumeSessionAt`: die Eingabeaufforderungs-UUID der Umdrehung, die das Truncating-Resume verwerfen soll. Claude Code verweigert das Fortsetzen, wenn der verworfene Bereich etwas enthält, das nicht dieser Umdrehung zugeordnet werden kann, z. B. absorbierte Warteschlangen-Nachrichten oder Task-Benachrichtigungen, und nennt das `--resume-drops-turn`-Flag in der Ablehnungsmeldung. Nur das Agent SDK und Print-Modus-Resumes lesen das Paar. Erfordert Claude Code v2.1.223 oder später |


600 : Settings[K] | null;601 : Settings[K] | null;

601 }): Promise<void>;602 }): Promise<void>;

602 updateSettings(603 updateSettings(

603 source: 'localSettings',604 source: 'localSettings' | 'userSettings',

604 settings: Record<string, unknown>,605 settings: Record<string, unknown>,

605 ): Promise<void>;606 ): Promise<void>;

606 initializationResult(): Promise<SDKControlInitializeResponse>;607 initializationResult(): Promise<SDKControlInitializeResponse>;


621 reconnectMcpServer(serverName: string): Promise<void>;622 reconnectMcpServer(serverName: string): Promise<void>;

622 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;623 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;

623 setMcpServers(servers: Record<string, McpServerConfig>): Promise<McpSetServersResult>;624 setMcpServers(servers: Record<string, McpServerConfig>): Promise<McpSetServersResult>;

625 readMcpResource(serverName: string, uri: string): Promise<SDKControlMcpReadResourceResponse>;

624 streamInput(stream: AsyncIterable<SDKUserMessage>): Promise<void>;626 streamInput(stream: AsyncIterable<SDKUserMessage>): Promise<void>;

625 stopTask(taskId: string): Promise<void>;627 stopTask(taskId: string): Promise<void>;

626 close(): void;628 close(): void;


639| `setModel()` | Ändert das Modell (nur im Streaming-Eingabemodus verfügbar). Übergeben von `undefined` oder der Zeichenkette `"default"` setzt auf [Claude Codes Standard-Modell](/docs/de/model-config) zurück |641| `setModel()` | Ändert das Modell (nur im Streaming-Eingabemodus verfügbar). Übergeben von `undefined` oder der Zeichenkette `"default"` setzt auf [Claude Codes Standard-Modell](/docs/de/model-config) zurück |

640| `setMaxThinkingTokens()` | *Veraltet:* Verwenden Sie stattdessen die `thinking`-Option. Ändert die maximalen Denk-Token. Übergeben von `null` setzt das Denken auf den Sitzungsstandard zurück: eine Mid-Session-Überschreibung wird gelöscht, und das Denken bleibt für Sitzungen, die es deaktiviert haben, ausgeschaltet |642| `setMaxThinkingTokens()` | *Veraltet:* Verwenden Sie stattdessen die `thinking`-Option. Ändert die maximalen Denk-Token. Übergeben von `null` setzt das Denken auf den Sitzungsstandard zurück: eine Mid-Session-Überschreibung wird gelöscht, und das Denken bleibt für Sitzungen, die es deaktiviert haben, ausgeschaltet |

641| `applyFlagSettings(settings)` | Führt Einstellungen zur Laufzeit in die Flag-Einstellungsebene der Sitzung zusammen (nur im Streaming-Eingabemodus verfügbar). Siehe [`applyFlagSettings()`](#applyflagsettings) |643| `applyFlagSettings(settings)` | Führt Einstellungen zur Laufzeit in die Flag-Einstellungsebene der Sitzung zusammen (nur im Streaming-Eingabemodus verfügbar). Siehe [`applyFlagSettings()`](#applyflagsettings) |

642| `updateSettings(source, settings)` | Führt Einstellungen in die lokale Einstellungsdatei des Projekts `.claude/settings.local.json` zusammen; sie treten bei der nächsten Anfrage in Kraft. Akzeptiert nur `source: 'localSettings'` und einen Allowlist-Schlüsselsatz, derzeit `outputStyle`, mit Zeichenkettenwerten; das Löschen eines Schlüssels wird nicht unterstützt. Lehnt bei Remote-Transporten und in Sitzungen ab, deren [`settingSources`](#options) `local` ausschließen. Erfordert TypeScript SDK v0.3.257 oder später, das Claude Code v2.1.257 bündelt |644| `updateSettings(source, settings)` | Schreibt einen Allowlist-Schlüssel in die lokale Einstellungsdatei des Projekts oder Ihre Benutzereinstellungsdatei, damit der Wert für spätere Sitzungen persistiert. Siehe [`updateSettings()`](#updatesettings). Erfordert TypeScript SDK v0.3.257 oder später, das Claude Code v2.1.257 bündelt |

643| `initializationResult()` | Gibt das vollständige Initialisierungsergebnis zurück, einschließlich unterstützter Befehle, Modelle, Kontoinformationen und Ausgabestil-Konfiguration |645| `initializationResult()` | Gibt das vollständige Initialisierungsergebnis zurück, einschließlich unterstützter Befehle, Modelle, Kontoinformationen und Ausgabestil-Konfiguration |

644| `reinitialize()` | Sendet die `initialize`-Steueranfrage erneut an die laufende CLI und gibt ein frisches Ergebnis anstelle des zwischengespeicherten First-Connect-Ergebnisses zurück. Verwenden Sie es nach einer Transportlücke, z. B. nach dem Wiederherstellen einer Verbindung zu einer Sitzung nach einer Trennung, damit ausstehende Berechtigungsanfragen Ihren `canUseTool`-Callback erneut erreichen. Machen Sie den Callback idempotent pro Anfrage-ID, da eine Anfrage, deren Antwort verloren ging, erneut versendet wird. Erfordert Claude Code v2.1.195 oder später |646| `reinitialize()` | Sendet die `initialize`-Steueranfrage erneut an die laufende CLI und gibt ein frisches Ergebnis anstelle des zwischengespeicherten First-Connect-Ergebnisses zurück. Verwenden Sie es nach einer Transportlücke, z. B. nach dem Wiederherstellen einer Verbindung zu einer Sitzung nach einer Trennung, damit ausstehende Berechtigungsanfragen Ihren `canUseTool`-Callback erneut erreichen. Machen Sie den Callback idempotent pro Anfrage-ID, da eine Anfrage, deren Antwort verloren ging, erneut versendet wird. Erfordert Claude Code v2.1.195 oder später |

645| `supportedCommands()` | Gibt verfügbare Befehle zurück. Ab Agent SDK v0.3.216 spiegelt die Liste Mid-Session-Befehlsänderungen wider; siehe [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |647| `supportedCommands()` | Gibt verfügbare Befehle zurück. Ab Agent SDK v0.3.216 spiegelt die Liste Mid-Session-Befehlsänderungen wider; siehe [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |

646| `supportedModels()` | Gibt verfügbare Modelle mit Anzeigeinformationen zurück |648| `supportedModels()` | Gibt verfügbare Modelle mit Anzeigeinformationen zurück |

647| `supportedAgents()` | Gibt verfügbare Subagenten als [`AgentInfo`](#agentinfo)`[]` zurück |649| `supportedAgents()` | Gibt verfügbare Subagenten als [`AgentInfo`](#agentinfo)`[]` zurück |

648| `mcpServerStatus()` | Gibt Status verbundener MCP-Server zurück |650| `mcpServerStatus()` | Gibt Status verbundener MCP-Server als [`McpServerStatus`](#mcpserverstatus)`[]` zurück |

649| `getContextUsage(opts?)` | Gibt eine [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) zurück, die die Kontextfenster-Nutzung der Sitzung nach Kategorie, Fähigkeit und Tool aufschlüsselt. Mit dem Standard `detail` ist es die gleichen Daten, die `/context` in einer interaktiven Sitzung anzeigt. Die [`detail`-Option](#sdkcontrolgetcontextusageresponse) erfordert Agent SDK v0.3.257 oder später |651| `getContextUsage(opts?)` | Gibt eine [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) zurück, die die Kontextfenster-Nutzung der Sitzung nach Kategorie, Fähigkeit und Tool aufschlüsselt. Mit dem Standard `detail` ist es die gleichen Daten, die `/context` in einer interaktiven Sitzung anzeigt. Die [`detail`-Option](#sdkcontrolgetcontextusageresponse) erfordert Agent SDK v0.3.257 oder später |

650| `readFile(path, options?)` | Liest eine Datei aus dem Dateisystem der Sitzung. Claude Code löst den Pfad gegen `cwd` auf; [Was `readFile()` lesen kann](#what-readfile-can-read) listet die Dateien auf, die es bereitstellt. Übergeben Sie `{ maxBytes }`, um die Leseobergrenze zu ändern (Standard 1 MB, Obergrenze 10 MB) und `{ encoding: 'base64' }` für Binärdateien wie Bilder. Wird mit einer [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) aufgelöst oder `null` bei Berechtigungsverweigerung, fehlender Datei oder Transportfehler. Erfordert TypeScript SDK v0.2.121 oder später |652| `readFile(path, options?)` | Liest eine Datei aus dem Dateisystem der Sitzung. Claude Code löst den Pfad gegen `cwd` auf; [Was `readFile()` lesen kann](#what-readfile-can-read) listet die Dateien auf, die es bereitstellt. Übergeben Sie `{ maxBytes }`, um die Leseobergrenze zu ändern (Standard 1 MB, Obergrenze 10 MB) und `{ encoding: 'base64' }` für Binärdateien wie Bilder. Wird mit einer [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) aufgelöst oder `null` bei Berechtigungsverweigerung, fehlender Datei oder Transportfehler. Erfordert TypeScript SDK v0.2.121 oder später |

651| `reloadSkills()` | Lädt Fähigkeiten von der Festplatte neu, sodass Fähigkeiten, die Sie mid-session hinzufügen oder bearbeiten, der laufenden Sitzung zur Verfügung stehen. Wird mit einer [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) aufgelöst, die die nach dem Neuladen verfügbaren Fähigkeiten auflistet. Erfordert Agent SDK v0.3.163 oder später |653| `reloadSkills()` | Lädt Fähigkeiten von der Festplatte neu, sodass Fähigkeiten, die Sie mid-session hinzufügen oder bearbeiten, der laufenden Sitzung zur Verfügung stehen. Wird mit einer [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) aufgelöst, die die nach dem Neuladen verfügbaren Fähigkeiten auflistet. Erfordert Agent SDK v0.3.163 oder später |


653| `reconnectMcpServer(serverName)` | Verbinden Sie einen MCP-Server nach Name erneut. Wenn der Name auch einem Eintrag in einer Einstellungsdatei wie `.mcp.json` oder `~/.claude.json` entspricht, verbindet Claude Code den Server, den Sie über [`mcpServers`](#options) oder `setMcpServers()` konfiguriert haben, nicht den Einstellungsdatei-Eintrag. Diese Auflösungsreihenfolge erfordert Claude Code v2.1.257 oder später |655| `reconnectMcpServer(serverName)` | Verbinden Sie einen MCP-Server nach Name erneut. Wenn der Name auch einem Eintrag in einer Einstellungsdatei wie `.mcp.json` oder `~/.claude.json` entspricht, verbindet Claude Code den Server, den Sie über [`mcpServers`](#options) oder `setMcpServers()` konfiguriert haben, nicht den Einstellungsdatei-Eintrag. Diese Auflösungsreihenfolge erfordert Claude Code v2.1.257 oder später |

654| `toggleMcpServer(serverName, enabled)` | Aktivieren oder deaktivieren Sie einen MCP-Server nach Name, mit der gleichen Namensauflösung wie `reconnectMcpServer()`. Das Deaktivieren trennt den Server |656| `toggleMcpServer(serverName, enabled)` | Aktivieren oder deaktivieren Sie einen MCP-Server nach Name, mit der gleichen Namensauflösung wie `reconnectMcpServer()`. Das Deaktivieren trennt den Server |

655| `setMcpServers(servers)` | Ersetzen Sie dynamisch die Menge der MCP-Server für diese Sitzung. Wird mit einem [`McpSetServersResult`](#mcpsetserversresult) aufgelöst, das benennt, welche Server hinzugefügt und entfernt wurden, und alle Fehler |657| `setMcpServers(servers)` | Ersetzen Sie dynamisch die Menge der MCP-Server für diese Sitzung. Wird mit einem [`McpSetServersResult`](#mcpsetserversresult) aufgelöst, das benennt, welche Server hinzugefügt und entfernt wurden, und alle Fehler |

658| `readMcpResource(serverName, uri)` | *Alpha.* Liest eine MCP Apps `ui://`-Ressource von einem verbundenen MCP-Server, damit Ihre Anwendung das Widget eines Tools rendern kann. Wird mit einer [`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse) aufgelöst. Erfordert TypeScript Agent SDK v0.3.280 oder später |

656| `streamInput(stream)` | Streamen Sie Eingabenachrichten zur Abfrage für Multi-Turn-Gespräche |659| `streamInput(stream)` | Streamen Sie Eingabenachrichten zur Abfrage für Multi-Turn-Gespräche |

657| `stopTask(taskId)` | Beenden Sie eine laufende Hintergrund-Task nach ID |660| `stopTask(taskId)` | Beenden Sie eine laufende Hintergrund-Task nach ID |

658| `close()` | Schließen Sie die Abfrage und beenden Sie den zugrunde liegenden Prozess. Beendet die Abfrage erzwungen und bereinigt alle Ressourcen |661| `close()` | Schließen Sie die Abfrage und beenden Sie den zugrunde liegenden Prozess. Beendet die Abfrage erzwungen und bereinigt alle Ressourcen |


673 676 

674Die Werte werden in die Flag-Einstellungsebene geschrieben, die gleiche Ebene, die die Inline-`settings`-Option von `query()` beim Start füllt. Dies ist die gleiche Ebene, die der [On-Page-Rangfolge-Abschnitt](#settings-precedence) programmatische Optionen nennt.677Die Werte werden in die Flag-Einstellungsebene geschrieben, die gleiche Ebene, die die Inline-`settings`-Option von `query()` beim Start füllt. Dies ist die gleiche Ebene, die der [On-Page-Rangfolge-Abschnitt](#settings-precedence) programmatische Optionen nennt.

675 678 

676Aufeinanderfolgende Aufrufe führen Top-Level-Schlüssel flach zusammen. Ein zweiter Aufruf mit `{ permissions: {...} }` ersetzt das gesamte `permissions`-Objekt aus dem vorherigen Aufruf, anstatt es tief zusammenzuführen. Um einen Schlüssel aus der Flag-Ebene zu löschen, übergeben Sie `null` für diesen Schlüssel. Die meisten Schlüssel fallen dann auf Quellen mit niedrigerer Priorität zurück. Ein gelöschtes `model` wird auf [Claude Codes Standard-Modell](/docs/de/model-config) zurückgesetzt, auch wenn eine Einstellungsdatei `model` setzt. Übergeben von `undefined` hat keine Auswirkung, da JSON-Serialisierung es ablegt.679Aufeinanderfolgende Aufrufe führen Top-Level-Schlüssel flach zusammen. Ein zweiter Aufruf mit `{ permissions: {...} }` ersetzt das gesamte `permissions`-Objekt aus dem vorherigen Aufruf, anstatt es tief zusammenzuführen.

680 

681Um einen Schlüssel zu löschen, den Sie mit `applyFlagSettings()` gesetzt haben, übergeben Sie `null` für diesen Schlüssel. Die meisten Schlüssel fallen dann auf Quellen mit niedrigerer Priorität zurück. Ein gelöschtes `model` wird auf [Claude Codes Standard-Modell](/docs/de/model-config) zurückgesetzt, auch wenn eine Einstellungsdatei `model` setzt. Übergeben von `undefined` hat keine Auswirkung, da JSON-Serialisierung es ablegt.

682 

683Drei Schlüssel neben `model` setzen Sitzungszustand zurück, anstatt auf Quellen mit niedrigerer Priorität zurückzufallen:

684 

685* `effortLevel: null` gibt die Sitzung zur Standard-Anstrengungsstufe des Modells zurück, nicht zur `effort`-Option von `query()` oder einem `effortLevel` aus einer Einstellungsdatei.

686* `agent: null` führt den Hauptthread ohne Agenten aus, beginnend mit der nächsten Umdrehung, anstatt die `agent`-Option von `query()` oder einen `agent` aus einer Einstellungsdatei wiederherzustellen. Wenn der gelöschte Agent sein eigenes Modell angewendet hatte, kehrt die Sitzung zum Modell zurück, das sie beim Start aufgelöst hat.

687* `ultracode: null` schaltet ultracode aus, wie `false` es tut, anstatt einen `ultracode`-Wert aus einer Einstellungsdatei wiederherzustellen. Die Sitzung behält ihre aktuelle Anstrengungsstufe, daher übergeben Sie `effortLevel` im gleichen Aufruf, um sie zu ändern.

677 688 

678Nur im Streaming-Eingabemodus verfügbar, die gleiche Einschränkung wie `setModel()` und `setPermissionMode()`.689Nur im Streaming-Eingabemodus verfügbar, die gleiche Einschränkung wie `setModel()` und `setPermissionMode()`.

679 690 


695 `applyFlagSettings()` ist nur TypeScript. Das Python SDK stellt keine äquivalente Methode bereit.706 `applyFlagSettings()` ist nur TypeScript. Das Python SDK stellt keine äquivalente Methode bereit.

696</Note>707</Note>

697 708 

709<h4 id="updatesettings">

710 `updateSettings()`

711</h4>

712 

713Schreibt einen Allowlist-Schlüssel in eine Einstellungsdatei auf der Festplatte, damit der Wert für spätere Sitzungen persistiert, die diese Quelle laden. Jede Quelle akzeptiert einen Schlüssel, mit einem Zeichenkettenwert:

714 

715* **`"localSettings"`**: akzeptiert `outputStyle` und führt es in die lokale Einstellungsdatei des Projekts `.claude/settings.local.json` zusammen. Der neue Stil tritt bei der nächsten Anfrage der Sitzung in Kraft.

716* **`"userSettings"`**: akzeptiert `effortLevel` und speichert es als Standard-[Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) für das aktuelle Modell der Sitzung, unter [`modelSettings`](/docs/de/settings-reference#modelsettings) in Ihrer Benutzereinstellungsdatei. Das Übergeben von `max` schreibt nichts, da `max` nur für Sitzungen ist. Die laufende Sitzung behält ihre aktuelle Anstrengungsstufe entweder so, daher rufen Sie [`applyFlagSettings()`](#applyflagsettings) auf, wenn Sie das auch ändern möchten. Diese Quelle erfordert TypeScript SDK v0.3.277 oder später, das Claude Code v2.1.277 bündelt.

717 

718Der Aufruf lehnt ab, wenn die Anfrage einen anderen Schlüssel trägt, wenn die Sitzung über einen Remote-Transport läuft, und wenn die [`settingSources`](#options) der Sitzung die Quelle ausschließen, die Sie nennen. Das Löschen eines Schlüssels wird nicht unterstützt.

719 

698<h3 id="warmquery">720<h3 id="warmquery">

699 `WarmQuery`721 `WarmQuery`

700</h3>722</h3>


942 964 

943`skills` listet die nach dem Neuladen verfügbaren Fähigkeiten in der gleichen [`SlashCommand`](#slashcommand)-Form auf, die `supportedCommands()` zurückgibt.965`skills` listet die nach dem Neuladen verfügbaren Fähigkeiten in der gleichen [`SlashCommand`](#slashcommand)-Form auf, die `supportedCommands()` zurückgibt.

944 966 

967<h3 id="sdkcontrolmcpreadresourceresponse">

968 `SDKControlMcpReadResourceResponse`

969</h3>

970 

971Rückgabetyp von [`readMcpResource()`](#query-object), der das `resources/read`-Ergebnis des MCP-Servers trägt. Erfordert TypeScript Agent SDK v0.3.280 oder später.

972 

973```typescript theme={null}

974type SDKControlMcpReadResourceResponse = {

975 contents: {

976 uri: string;

977 mimeType?: string;

978 text?: string;

979 blob?: string;

980 _meta?: Record<string, unknown>;

981 }[];

982};

983```

984 

985Übergeben Sie `readMcpResource()` den Server-Namen, wie `mcpServerStatus()` ihn meldet, und eine `ui://`-URI, z. B. die `ui.resourceUri`, die ein Tool in seinen [`_meta`](#mcpserverstatus) deklariert. Der Aufruf lehnt für jedes andere URI-Schema ab, für einen [SDK MCP-Server](#createsdkmcpserver), den Ihre Anwendung selbst hostet, und für einen Server, der nicht verbunden ist. Es ist verfügbar, wenn die Init-Nachricht [`capabilities`](#sdksystemmessage) `mcp_read_resource_v1` enthalten.

986 

987Jeder `contents`-Eintrag ist ein Inhalts-Element, wie der Server es gesendet hat. `blob` enthält Base64-Daten für ein binäres Element, und `_meta` ist das `_meta` des Elements selbst, wo ein MCP Apps-Server die `ui.csp` und `ui.permissions` der Ressource ablegt. Der Inhalt ist nicht vertrauenswürdiges HTML von Drittanbietern, daher rendern Sie ihn in einer Sandbox.

988 

945<h3 id="agentdefinition">989<h3 id="agentdefinition">

946 `AgentDefinition`990 `AgentDefinition`

947</h3>991</h3>


1368 uuid?: UUID;1412 uuid?: UUID;

1369 session_id?: string;1413 session_id?: string;

1370 message: MessageParam; // Aus Anthropic SDK1414 message: MessageParam; // Aus Anthropic SDK

1415 pasted_content?: MessageParam["content"][];

1371 parent_tool_use_id: string | null;1416 parent_tool_use_id: string | null;

1372 isSynthetic?: boolean;1417 isSynthetic?: boolean;

1373 shouldQuery?: boolean;1418 shouldQuery?: boolean;

1374 tool_use_result?: unknown;1419 tool_use_result?: unknown;

1375 origin?: SDKMessageOrigin;1420 origin?: SDKMessageOrigin;

1421 inline_pastes?: string[];

1376};1422};

1377```1423```

1378 1424 

1425Setzen Sie `pasted_content`, um Inhalte zu senden, die der Benutzer in Ihre Eingabeaufforderungs-Benutzeroberfläche eingefügt hat, anstatt sie einzugeben, einen Eintrag pro Einfügung, jeder ein String oder ein Array von Inhaltsblöcken. Claude Code fügt den Text jedes Eintrags nach dem eingegebenen Text an, in Reihenfolge, und kann jede Einfügung in `<pasted_content>`-Tags einwickeln. Blöcke außer Text werden ignoriert, daher senden Sie Bilder und Dokumente in `message.content`. Erfordert Agent SDK v0.3.277 oder später.

1426 

1379Setzen Sie `shouldQuery` auf `false`, um die Nachricht zum Transkript hinzuzufügen, ohne einen Assistenten-Turn auszulösen. Die Nachricht wird gehalten und in die nächste Benutzer-Nachricht zusammengeführt, die einen Turn auslöst. Verwenden Sie dies, um Kontext einzufügen, z. B. die Ausgabe eines Befehls, den Sie außerhalb des Bands ausgeführt haben, ohne einen Modell-Aufruf dafür auszugeben.1427Setzen Sie `shouldQuery` auf `false`, um die Nachricht zum Transkript hinzuzufügen, ohne einen Assistenten-Turn auszulösen. Die Nachricht wird gehalten und in die nächste Benutzer-Nachricht zusammengeführt, die einen Turn auslöst. Verwenden Sie dies, um Kontext einzufügen, z. B. die Ausgabe eines Befehls, den Sie außerhalb des Bands ausgeführt haben, ohne einen Modell-Aufruf dafür auszugeben.

1380 1428 

1381Auf einer Nachricht, die einen `tool_result`-Block trägt, ist `tool_use_result` das strukturierte Ausgabeobjekt des Tools und nicht der Text, der an das Modell gesendet wird. Seine Form hängt vom Tool ab, das durch den entsprechenden `tool_use`-Block benannt wird, daher ist das Feld als `unknown` typisiert; die integrierten Formen sind unter [Tool-Ausgabetypen](#tool-output-types) aufgelistet.1429Auf einer Nachricht, die einen `tool_result`-Block trägt, ist `tool_use_result` das strukturierte Ausgabeobjekt des Tools und nicht der Text, der an das Modell gesendet wird. Seine Form hängt vom Tool ab, das durch den entsprechenden `tool_use`-Block benannt wird, daher ist das Feld als `unknown` typisiert; die integrierten Formen sind unter [Tool-Ausgabetypen](#tool-output-types) aufgelistet.


1384 1432 

1385Für ein MCP-Tool, dessen Ergebnis `resource_link`-Blöcke enthält, ist `tool_use_result` ein Objekt mit einem `resourceLinks`-Array von [`SDKMcpResourceLink`](#sdkmcpresourcelink)-Einträgen. Claude empfängt jeden Link als Textzeile im `tool_result`-Block, daher lesen Sie `resourceLinks`, um die vom Server zurückgegebenen Dateien zu rendern, anstatt diesen Text zu analysieren. Claude Code lässt `resourceLinks` weg, wenn das Ergebnis keine Links hat und bei Ergebnissen von Subagenten, behält höchstens 50 Links pro Ergebnis und stoppt das Hinzufügen von Links, sobald das Array 64 KiB serialisiertes JSON erreicht. `resourceLinks` erfordert Agent SDK v0.3.257 oder später.1433Für ein MCP-Tool, dessen Ergebnis `resource_link`-Blöcke enthält, ist `tool_use_result` ein Objekt mit einem `resourceLinks`-Array von [`SDKMcpResourceLink`](#sdkmcpresourcelink)-Einträgen. Claude empfängt jeden Link als Textzeile im `tool_result`-Block, daher lesen Sie `resourceLinks`, um die vom Server zurückgegebenen Dateien zu rendern, anstatt diesen Text zu analysieren. Claude Code lässt `resourceLinks` weg, wenn das Ergebnis keine Links hat und bei Ergebnissen von Subagenten, behält höchstens 50 Links pro Ergebnis und stoppt das Hinzufügen von Links, sobald das Array 64 KiB serialisiertes JSON erreicht. `resourceLinks` erfordert Agent SDK v0.3.257 oder später.

1386 1434 

1435Setzen Sie `inline_pastes`, um Claude Code mitzuteilen, welche Teile von `message.content` der Benutzer eingefügt hat, anstatt sie einzugeben, einen String pro Einfügung. Der Eingabetext bleibt dort, wo der Benutzer ihn platziert hat. Claude Code kann jede aufgelistete Einfügung in `<pasted_content>`-Tags einwickeln, wo sie steht, damit Claude eingefügte Materialien von den eigenen Worten des Benutzers unterscheiden kann. Nur Einfügungen im letzten Textblock der Eingabeaufforderung werden eingewickelt. Erfordert TypeScript Agent SDK v0.3.280 oder später.

1436 

1387<h3 id="sdkusermessagereplay">1437<h3 id="sdkusermessagereplay">

1388 `SDKUserMessageReplay`1438 `SDKUserMessageReplay`

1389</h3>1439</h3>


1485* `user_message_uuid`: Die `uuid` der Nachricht, die Sie gesendet haben und diesen Turn beantwortet hat. Siehe [`user_message_uuid`](#user_message_uuid) für welche Ergebnisse sie tragen.1535* `user_message_uuid`: Die `uuid` der Nachricht, die Sie gesendet haben und diesen Turn beantwortet hat. Siehe [`user_message_uuid`](#user_message_uuid) für welche Ergebnisse sie tragen.

1486* `user_message_uuids`: Die `uuid`s jeder Nachricht, die Sie gesendet haben und die Claude Code in diesem Turn beantwortet hat. Siehe [`user_message_uuids`](#user_message_uuids).1536* `user_message_uuids`: Die `uuid`s jeder Nachricht, die Sie gesendet haben und die Claude Code in diesem Turn beantwortet hat. Siehe [`user_message_uuids`](#user_message_uuids).

1487* `request_sent_wall_ms`: Epoch-Millisekunden, zu denen Claude Code die API-Anfrage versendet hat, für Joins gegen Server-seitige Zeitstempel. Nur zusammen mit [`user_message_uuid`](#user_message_uuid) vorhanden, auf einem Success-Ergebnis mit `is_error` false, dessen Turn eine API-Anfrage versendet hat.1537* `request_sent_wall_ms`: Epoch-Millisekunden, zu denen Claude Code die API-Anfrage versendet hat, für Joins gegen Server-seitige Zeitstempel. Nur zusammen mit [`user_message_uuid`](#user_message_uuid) vorhanden, auf einem Success-Ergebnis mit `is_error` false, dessen Turn eine API-Anfrage versendet hat.

1488* `first_content_frame_ms`: Zeit in Millisekunden bis zum ersten `content_block_start`- oder `content_block_delta`-Stream-Ereignis, wobei Thinking-Blöcke als Inhalt gezählt werden. Nur auf dem Success-Arm vorhanden, wenn `is_error` false ist. Erfordert Agent SDK v0.3.260 oder später.1538*

1489* `first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms`: Zeitangaben zum Hochladen des ersten Stream-Ereignisses des Turns. Claude Code zeichnet sie nur in Sitzungen auf, die es zu claude.ai streamt, wie [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), und die Ergebnisse, die `query()` liefert, enthalten sie nicht. Erfordert Agent SDK v0.3.260 oder später.1539 

1540`first_content_frame_ms`: Zeit in Millisekunden bis zum ersten `content_block_start`- oder `content_block_delta`-Stream-Ereignis, wobei Thinking-Blöcke als Inhalt gezählt werden. Nur auf dem Success-Arm vorhanden, wenn `is_error` false ist. Erfordert Agent SDK v0.3.260 oder später.

1541 

1542*

1543 

1544`first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms`: Zeitangaben zum Hochladen des ersten Stream-Ereignisses des Turns. Claude Code zeichnet sie nur in Sitzungen auf, die es zu claude.ai streamt, wie [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), und die Ergebnisse, die `query()` liefert, enthalten sie nicht. Erfordert Agent SDK v0.3.260 oder später.

1545 

1490* `usage`: Nur Hauptagenten-Schleife. Schließt Subagenten- und Hilfmodell-Aufrufe aus und ist pro Turn in Streaming-Input-Sitzungen. Bevorzugen Sie `modelUsage` für Token-/Kostenabrechnung.1546* `usage`: Nur Hauptagenten-Schleife. Schließt Subagenten- und Hilfmodell-Aufrufe aus und ist pro Turn in Streaming-Input-Sitzungen. Bevorzugen Sie `modelUsage` für Token-/Kostenabrechnung.

1491* `modelUsage`: Pro-Modell-Summen für jeden Modell-Aufruf, der während dieses `query()`-Aufrufs durch die Abfrage-Pipeline gemacht wurde, einschließlich der Hauptschleife, Subagenten und interner Aufrufe wie Komprimierung und Workflow-Agenten. Hilfaufrufe außerhalb dieser Pipeline, wie der Berechtigungsklassifizierer und Token-Zählungsanfragen, sind ausgeschlossen. In Streaming-Input-Sitzungen sind die Summen kumulativ über Turns, daher lesen Sie das neueste Ergebnis, anstatt über Ergebnisse zu summieren. Siehe [Kosten im Streaming-Input-Modus verfolgen](/docs/de/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) für Zurückstellungen und [Summen nach einem Sitzungsabsturz wiederherstellen](/docs/de/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) für zurückgesetzte Ergebnisse.1547* `modelUsage`: Pro-Modell-Summen für jeden Modell-Aufruf, der während dieses `query()`-Aufrufs durch die Abfrage-Pipeline gemacht wurde, einschließlich der Hauptschleife, Subagenten und interner Aufrufe wie Komprimierung und Workflow-Agenten. Hilfaufrufe außerhalb dieser Pipeline, wie der Berechtigungsklassifizierer und Token-Zählungsanfragen, sind ausgeschlossen. Ein Aufruf, der eine Sitzung fortgesetzt, zählt auch die [Pro-Modell-Summen, die aus den früheren Aufrufen der Sitzung wiederhergestellt wurden](/docs/de/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). In Streaming-Input-Sitzungen sind die Summen kumulativ über Turns, daher lesen Sie das neueste Ergebnis, anstatt über Ergebnisse zu summieren. Siehe [Kosten im Streaming-Input-Modus verfolgen](/docs/de/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) für Zurückstellungen und [Summen nach einem Sitzungsabsturz wiederherstellen](/docs/de/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) für zurückgesetzte Ergebnisse.

1492* `total_cost_usd`: Kumulativer geschätzter Kosten in USD für diesen `query()`-Aufruf, abdeckend die gleichen Aufrufe wie `modelUsage` und Zurückstellung an den gleichen Punkten. Es ist eine Schätzung, keine Abrechnungsaussage. Siehe [Kosten und Nutzung verfolgen](/docs/de/agent-sdk/cost-tracking) für Genauigkeitsvorbehalt.1548* `total_cost_usd`: Kumulativer geschätzter Kosten in USD, abdeckend die gleichen Aufrufe wie `modelUsage` und Zurückstellung an den gleichen Punkten. Ein Aufruf, der eine Sitzung fortgesetzt, zählt auch die [Summen, die aus den früheren Aufrufen der Sitzung wiederhergestellt wurden](/docs/de/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Es ist eine Schätzung, keine Abrechnungsaussage. Siehe [Kosten und Nutzung verfolgen](/docs/de/agent-sdk/cost-tracking) für Genauigkeitsvorbehalt.

1493* `queued_turn_count`: Die Anzahl der Nachrichten, die Sie mit `origin: { kind: "human" }` gesendet haben und die noch warten, wenn Claude Code das Ergebnis erzeugt hat. Siehe [`queued_turn_count`](#queued_turn_count) für was `0` und ein fehlendes Feld Ihnen sagen.1549* `queued_turn_count`: Die Anzahl der Nachrichten, die Sie mit `origin: { kind: "human" }` gesendet haben und die noch warten, wenn Claude Code das Ergebnis erzeugt hat. Siehe [`queued_turn_count`](#queued_turn_count) für was `0` und ein fehlendes Feld Ihnen sagen.

1494*1550*

1495 1551 


1516 1572 

1517Das gleiche Feldpaar erscheint auf [`SDKSystemMessage`](#sdksystemmessage) und auf [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse), daher können Sie den Fast Mode-Status vor dem ersten Turn lesen.1573Das gleiche Feldpaar erscheint auf [`SDKSystemMessage`](#sdksystemmessage) und auf [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse), daher können Sie den Fast Mode-Status vor dem ersten Turn lesen.

1518 1574 

1519Das `origin`-Feld leitet die [`SDKMessageOrigin`](#sdkmessageorigin) der Benutzer-Nachricht weiter, die dieses Ergebnis ausgelöst hat. Wenn das SDK einen synthetischen Follow-up-Turn einfügt, wie für eine beendete Hintergrund-Aufgabe, trägt die resultierende `SDKResultMessage` `origin: { kind: "task-notification" }`. Routinen, deren Trigger ausgelöst wurde, und von Servern verifizierte Nachrichten von Ihren anderen Sitzungen kommen mit dieser Art an, jede mit dem `subkind`, der in [Task-Notification-Subkinds](#task-notification-subkinds) beschrieben ist. Überprüfen Sie `kind`, um Ergebnisse zu unterscheiden, die Ihre Eingabeaufforderung beantworten, von eingefügten Follow-ups, bevor Sie sie weiterleiten oder unterdrücken.1575Das `origin`-Feld leitet die [`SDKMessageOrigin`](#sdkmessageorigin) der Benutzer-Nachricht weiter, die dieses Ergebnis ausgelöst hat. Wenn das SDK einen synthetischen Follow-up-Turn einfügt, wie für eine beendete Hintergrund-Aufgabe, trägt die resultierende `SDKResultMessage` `origin: { kind: "task-notification" }`. Routinen, deren Trigger ausgelöst wurde, und von Servern verifizierte Nachrichten von Ihren anderen Sitzungen kommen mit dieser Art an, jede mit dem `subkind`, der in [Task-Notification-Subkinds](#task-notification-subkinds) beschrieben ist. Überprüfen Sie `kind`, um Ergebnisse zu unterscheiden, die Ihre Eingabeaufforderung beantworten, von eingefügten Follow-ups, bevor Sie sie weiterleiten oder unterdrücken. Wenn Ihre Anwendung [geplante Ausführungen erklärt](#declare-a-scheduled-run), tragen ihre Ergebnisse auch `kind: "task-notification"`, daher unterdrücken Sie nicht nur auf `kind` allein.

1576 

1577Wenn mehrere Hintergrund-Task-Abschlüsse zusammen in die Warteschlange eingereiht werden, kann Claude Code sie in einem Turn beantworten, anstatt einen Turn pro Abschluss. Jeder Abschluss erzeugt immer noch sein eigenes Ergebnis mit dieser Herkunft. Alle außer dem letzten der Abschlüsse, die Claude Code zusammen beantwortet, erzeugen leere Ergebnisse mit `num_turns: 0`, in Reihenfolge, und das Ergebnis des letzten trägt den Turn, der sie alle beantwortet.

1520 1578 

1521Das Feld fehlt bei Ergebnissen, die vor einem Benutzer-Turn ausgegeben werden, z. B. Startfehler.1579Das Feld fehlt bei Ergebnissen, die vor einem Benutzer-Turn ausgegeben werden, z. B. Startfehler.

1522 1580 


1937 | {1995 | {

1938 kind: "task-notification";1996 kind: "task-notification";

1939 subkind?: "scheduled-trigger" | "peer-send-message";1997 subkind?: "scheduled-trigger" | "peer-send-message";

1998 fireReason?: string;

1940 }1999 }

1941 | { kind: "coordinator" }2000 | { kind: "coordinator" }

1942 | { kind: "auto-continuation" }2001 | { kind: "auto-continuation" }


1957 Task-Notification-Subkinds2016 Task-Notification-Subkinds

1958</h3>2017</h3>

1959 2018 

1960Wenn Claude Code eine Task-Benachrichtigung in eine Sitzung liefert, setzt es `subkind` auf der Benachrichtigungs-`origin` nur, wenn Anthropic-Server verifizierten, woher diese Benachrichtigung kam. `subkind` erfordert Claude Code v2.1.213 oder später, und es nimmt einen von zwei Werten an:2019Wenn Claude Code eine Task-Benachrichtigung in eine Sitzung liefert, setzt es `subkind` auf der Benachrichtigungs-`origin` nur, wenn Anthropic-Server verifizierten, woher diese Benachrichtigung kam. Es setzt auch `subkind`, wenn Ihre Anwendung [die Nachricht als geplante Ausführung erklärt](#declare-a-scheduled-run), was TypeScript Agent SDK v0.3.280 oder später erfordert. `subkind` erfordert Claude Code v2.1.213 oder später, und es nimmt einen von zwei Werten an:

1961 2020 

1962* `scheduled-trigger`: Die Benachrichtigung ist ein [Routine](/docs/de/routines)-gespeicherter Prompt, geliefert, weil einer der Routine-Trigger ausgelöst wurde: sein Zeitplan, sein [API-Trigger](/docs/de/routines#add-an-api-trigger), sein [GitHub-Trigger](/docs/de/routines#add-a-github-trigger) oder **Jetzt ausführen**. Claude Code rahmt diese zum Modell als die zugewiesene Aufgabe der Sitzung ein, mit einer anderen Benachrichtigung als die [Benachrichtigung, die andere Task-Benachrichtigungen tragen](#sdktasknotificationmessage).2021* `scheduled-trigger`: Die Benachrichtigung ist ein [Routine](/docs/de/routines)-gespeicherter Prompt, geliefert, weil einer der Routine-Trigger ausgelöst wurde: sein Zeitplan, sein [API-Trigger](/docs/de/routines#add-an-api-trigger), sein [GitHub-Trigger](/docs/de/routines#add-a-github-trigger) oder **Jetzt ausführen**. Eine Eingabeaufforderung, die Ihre Anwendung [als geplante Ausführung erklärt](#declare-a-scheduled-run), trägt auch diesen Wert. Claude Code rahmt diese zum Modell als die zugewiesene Aufgabe der Sitzung ein, mit einer anderen Benachrichtigung als die [Benachrichtigung, die andere Task-Benachrichtigungen tragen](#sdktasknotificationmessage).

1963*2022*

1964 2023 

1965`peer-send-message`: Die Benachrichtigung ist eine Nachricht, die eine andere Ihrer Sitzungen mit dem Server-seitigen `send_message`-Tool gesendet hat, das [Claude Code im Web](/docs/de/claude-code-on-the-web)-Sitzungen verwenden, um sich gegenseitig zu schreiben, nicht das [Cross-Session-`SendMessage`-Tool](/docs/de/cross-session-messaging), und Anthropic-Server verifizierten, dass beide Sitzungen zur gleichen privaten Gruppe von Sitzungen gehören. Erfordert Claude Code v2.1.224 oder später. Eine `send_message`-Lieferung, die die Server nicht auf diese Weise verifizierten, bekommt keinen subkind.2024`peer-send-message`: Die Benachrichtigung ist eine Nachricht, die eine andere Ihrer Sitzungen mit dem Server-seitigen `send_message`-Tool gesendet hat, das [Claude Code im Web](/docs/de/claude-code-on-the-web)-Sitzungen verwenden, um sich gegenseitig zu schreiben, nicht das [Cross-Session-`SendMessage`-Tool](/docs/de/cross-session-messaging), und Anthropic-Server verifizierten, dass beide Sitzungen zur gleichen privaten Gruppe von Sitzungen gehören. Erfordert Claude Code v2.1.224 oder später. Eine `send_message`-Lieferung, die die Server nicht auf diese Weise verifizierten, bekommt keinen subkind.

1966 2025 

1967Jede andere Task-Benachrichtigung hat keinen `subkind`. Das schließt [geplante Aufgaben](/docs/de/scheduled-tasks) ein, die auf Ihrer eigenen Maschine ausgelöst werden, [PR-Aktivität](/docs/de/claude-code-on-the-web#how-claude-responds-to-pr-activity), die in eine Sitzung geliefert wird, und Hintergrund-Ereignisse wie eine beendete Aufgabe. Nachrichten vom [Cross-Session-`SendMessage`-Tool](/docs/de/cross-session-messaging) sind überhaupt keine Task-Benachrichtigungen: Ob sie von einer Sitzung auf der gleichen Maschine oder durch Anthropic-Server von einer anderen Maschine kommen, gibt Claude Code ihnen `kind: "peer"` und die [Peer-Herkunftsfelder](#peer-origin-fields).2026Jede andere Task-Benachrichtigung hat keinen `subkind`. Das schließt [geplante Aufgaben](/docs/de/scheduled-tasks) ein, die auf Ihrer eigenen Maschine ausgelöst werden, [PR-Aktivität](/docs/de/claude-code-on-the-web#how-claude-responds-to-pr-activity), die in eine Sitzung geliefert wird, und Hintergrund-Ereignisse wie eine beendete Aufgabe. Nachrichten vom [Cross-Session-`SendMessage`-Tool](/docs/de/cross-session-messaging) sind überhaupt keine Task-Benachrichtigungen: Ob sie von einer Sitzung auf der gleichen Maschine oder durch Anthropic-Server von einer anderen Maschine kommen, gibt Claude Code ihnen `kind: "peer"` und die [Peer-Herkunftsfelder](#peer-origin-fields).

1968 2027 

2028`fireReason` sagt, warum eine `scheduled-trigger`-Benachrichtigung ausgelöst wurde, als ein kurzes Kleinbuchstaben-Token wie `scheduled`, `manual`, `retry`, `catch_up` oder `api`. Anthropic-Server setzen es auf die Lieferungen einer [Routine](/docs/de/routines), und Ihre Anwendung setzt es, wenn sie eine geplante Ausführung erklärt. Es fehlt, wenn keiner einen gesendet hat. Erfordert TypeScript Agent SDK v0.3.280 oder später.

2029 

2030<h4 id="declare-a-scheduled-run">

2031 Geplante Ausführung erklären

2032</h4>

2033 

2034Wenn Ihre Anwendung Eingabeaufforderungen nach ihrem eigenen Zeitplan ausführt, erklären Sie jede Ausführung, damit Claude Code den Turn zum Modell als geplante Aufgabe rahmt, anstatt als Live-Eingabe vom Benutzer. Starten Sie die Sitzung mit `CLAUDE_CODE_HOST_SCHEDULED_RUN` auf `1` in [`env`](#options), dann senden Sie die [`SDKUserMessage`](#sdkusermessage) der Ausführung mit `origin: { kind: "task-notification", subkind: "scheduled-trigger", fireReason: "scheduled" }` und ohne `isSynthetic`. Claude Code ignoriert die Erklärung in einem Prozess, der ohne diese Variable gestartet wurde. Es ignoriert sie auch in einem Prozess, dessen Umgebung [`CLAUDECODE`](/docs/de/env-vars) oder `CLAUDE_CODE_CHILD_SESSION` trägt. Claude Code behält `fireReason` nur, wenn der Wert 1 bis 32 Kleinbuchstaben oder Unterstriche ist. Erfordert TypeScript Agent SDK v0.3.280 oder später.

2035 

1969<h3 id="peer-origin-fields">2036<h3 id="peer-origin-fields">

1970 Peer-Herkunftsfelder2037 Peer-Herkunftsfelder

1971</h3>2038</h3>


2856 | ReadMcpResourceInput2923 | ReadMcpResourceInput

2857 | RefreshMcpToolsInput2924 | RefreshMcpToolsInput

2858 | RemoteTriggerInput2925 | RemoteTriggerInput

2859 | REPLInput

2860 | ReportFindingsInput2926 | ReportFindingsInput

2861 | ScheduleWakeupInput2927 | ScheduleWakeupInput

2862 | ShowOnboardingRolePickerInput2928 | ShowOnboardingRolePickerInput

2863 | TaskCreateInput2929 | TaskCreateInput

2864 | TaskGetInput2930 | TaskGetInput

2865 | TaskListInput2931 | TaskListInput

2866 | TaskOutputInput

2867 | TaskStopInput2932 | TaskStopInput

2868 | TaskUpdateInput2933 | TaskUpdateInput

2869 | TodoWriteInput2934 | TodoWriteInput


2958 3023 

2959Führt eine Hintergrundquelle aus und liefert jedes Ereignis an Claude, damit es reagieren kann, ohne zu pollen: `command` führt ein Skript aus und gibt ein Ereignis pro Stdout-Zeile aus, und `ws` öffnet einen WebSocket und gibt ein Ereignis pro Textframe aus. Geben Sie genau eines von `command` oder `ws` an. Die `ws`-Quelle erfordert Claude Code v2.1.195 oder später.3024Führt eine Hintergrundquelle aus und liefert jedes Ereignis an Claude, damit es reagieren kann, ohne zu pollen: `command` führt ein Skript aus und gibt ein Ereignis pro Stdout-Zeile aus, und `ws` öffnet einen WebSocket und gibt ein Ereignis pro Textframe aus. Geben Sie genau eines von `command` oder `ws` an. Die `ws`-Quelle erfordert Claude Code v2.1.195 oder später.

2960 3025 

2961`timeout_ms` ist die Frist der Überwachung in Millisekunden. Sie ist standardmäßig 300000, und die effektive Frist beträgt höchstens 1800000, was 30 Minuten entspricht. Bei Erreichen der Frist endet die Überwachung und Claude erhält eine Benachrichtigung, damit es eine neue Überwachung starten kann, falls es noch eine benötigt.3026`timeout_ms` ist die Frist der Überwachung in Millisekunden. Sie ist standardmäßig 300000 und akzeptiert Werte bis zu 3600000. Die effektive Frist beträgt höchstens 1800000, was 30 Minuten entspricht, daher wird ein größerer akzeptierter Wert auf diesen gekürzt. Bei Erreichen der Frist endet die Überwachung und Claude erhält eine Benachrichtigung, damit es eine neue Überwachung starten kann, falls es noch eine benötigt.

2962 3027 

2963Der exportierte Typ markiert `timeout_ms` als erforderlich, da das Schema den Standard ausfüllt; ein Aufruf, der es auslässt, validiert.3028Der exportierte Typ markiert `timeout_ms` als erforderlich, da das Schema den Standard ausfüllt; ein Aufruf, der es auslässt, validiert.

2964 3029 


2968 TaskOutput3033 TaskOutput

2969</h3>3034</h3>

2970 3035 

2971**Tool-Name:** `TaskOutput`3036Entfernt in Claude Code v2.1.277, zusammen mit seinem `TaskOutputInput`-Typ. Zuvor abgerufene Ausgabe aus einer laufenden oder abgeschlossenen Hintergrund-Aufgabe; Claude liest die Ausgabedatei einer Hintergrund-Aufgabe stattdessen mit `Read`.

2972 

2973<Note>`TaskOutput` ist veraltet; bevorzugen Sie `Read` auf dem Ausgabedateipfad der Aufgabe. Die folgenden Schemas bleiben gültig für Hooks und Berechtigungshandler, die das Tool antreffen.</Note>

2974 3037 

2975```typescript theme={null}3038Ein `disallowedTools`-Eintrag oder eine Deny-Regel, die immer noch `TaskOutput` benennt, wird ohne Warnung ignoriert.

2976type TaskOutputInput = {

2977 task_id: string;

2978 block: boolean;

2979 timeout: number;

2980};

2981```

2982 

2983Ruft die Ausgabe einer laufenden oder abgeschlossenen Hintergrund-Aufgabe ab.

2984 3039 

2985<h3 id="edit">3040<h3 id="edit">

2986 Edit3041 Edit


3475 REPL3530 REPL

3476</h3>3531</h3>

3477 3532 

3478**Tool-Name:** `REPL`3533Entfernt in v2.1.275. Bis v2.1.274 konnte ein experimentelles `REPL`-Tool mit `CLAUDE_CODE_REPL=1` in der [`env`-Option](#options) aktiviert werden.

3479 

3480```typescript theme={null}

3481type REPLInput = {

3482 code: string;

3483 description?: string;

3484 timeout?: number;

3485};

3486```

3487 

3488Führt JavaScript-Code in einem persistenten REPL aus. Der Status bleibt über Aufrufe hinweg erhalten und Top-Level-Await wird unterstützt. `timeout` ist in Millisekunden, mit einem Standard von 30000 und einem Maximum von 600000.

3489 

3490Die Typen werden exportiert, aber das Tool ist in SDK-Sitzungen ausgeschaltet, es sei denn, Sie setzen `CLAUDE_CODE_REPL=1` in der [`env`-Option](#options). Es erfordert auch die Bun-basierte `claude`-Ausführungsdatei, die das native Installationsprogramm bereitstellt.

3491 3534 

3492<h3 id="reportfindings">3535<h3 id="reportfindings">

3493 ReportFindings3536 ReportFindings


3533 action?: "publish" | "list";3576 action?: "publish" | "list";

3534 file_path?: string;3577 file_path?: string;

3535 favicon?: string;3578 favicon?: string;

3579 icon?: string;

3536 limit?: number;3580 limit?: number;

3537 scope?: "mine" | "shared" | "all";3581 scope?: "mine" | "shared" | "all";

3538 title?: string;3582 title?: string;


3545};3589};

3546```3590```

3547 3591 

3548Veröffentlicht eine lokale `.html`- oder `.md`-Datei als gehostete Artifact-Seite oder listet die veröffentlichten Artifacts des Benutzers auf. Lassen Sie `action` weg oder übergeben Sie `"publish"`, um `file_path` zu veröffentlichen, das für die Publish-Aktion zusammen mit `favicon` erforderlich ist, ein oder zwei Emoji, die das Artifact in der Galerie des Benutzers markieren. `title` benennt die veröffentlichte Seite im Browser-Tab und in der Galerie, wenn die HTML-Datei kein `<title>`-Tag hat. `url` zielt auf ein vorhandenes Artifact ab, um es an Ort und Stelle zu aktualisieren, anstatt ein neues zu erstellen.3592Veröffentlicht eine lokale `.html`- oder `.md`-Datei als gehostete Artifact-Seite oder listet die veröffentlichten Artifacts des Benutzers auf. Lassen Sie `action` weg oder übergeben Sie `"publish"`, um `file_path` zu veröffentlichen, das für die Publish-Aktion erforderlich ist. Jedes Feld unten gilt für eine Veröffentlichung:

3593 

3594* `icon`: ein kurzes generisches Wort für das Browser-Tab-Symbol des Artifacts, wie `chart` oder `map`. Claude fügt es bei einer ersten Veröffentlichung ein und lässt es bei einer Aktualisierung weg, was das gespeicherte Symbol des Artifacts beibehält.

3595* `favicon`: veraltet, und Claude lässt es weg.

3596* `title`: benennt die veröffentlichte Seite im Browser-Tab und in der Galerie, wenn die HTML-Datei kein `<title>`-Tag hat.

3597* `url`: zielt auf ein vorhandenes Artifact ab, um es an Ort und Stelle zu aktualisieren, anstatt ein neues zu erstellen.

3549 3598 

3550`force` ist ein letzter Ausweg zum Überschreiben, der eine neuere Version verwirft, die eine andere Sitzung veröffentlicht hat. Bei einem Konflikt gibt die fehlgeschlagene Veröffentlichung den neueren Inhalt zurück; Claude führt seine Änderungen in diesen Inhalt ein oder liest das Artifact erneut und veröffentlicht erneut. Übergeben Sie `force` nur, wenn der Benutzer explizit darum bittet, diese Version zu verwerfen.3599`force` ist ein letzter Ausweg zum Überschreiben, der eine neuere Version verwirft, die eine andere Sitzung veröffentlicht hat. Bei einem Konflikt gibt die fehlgeschlagene Veröffentlichung den neueren Inhalt zurück; Claude führt seine Änderungen in diesen Inhalt ein oder liest das Artifact erneut und veröffentlicht erneut. Übergeben Sie `force` nur, wenn der Benutzer explizit darum bittet, diese Version zu verwerfen.

3551 3600 


3682 | ReadMcpResourceOutput3731 | ReadMcpResourceOutput

3683 | RefreshMcpToolsOutput3732 | RefreshMcpToolsOutput

3684 | RemoteTriggerOutput3733 | RemoteTriggerOutput

3685 | REPLOutput

3686 | ReportFindingsOutput3734 | ReportFindingsOutput

3687 | ScheduleWakeupOutput3735 | ScheduleWakeupOutput

3688 | ShowOnboardingRolePickerOutput3736 | ShowOnboardingRolePickerOutput


4532 4580 

4533Gibt Zustellungsdetails zurück, einschließlich ob eine Push- oder lokale Benachrichtigung gesendet wurde und warum die Zustellung übersprungen wurde.4581Gibt Zustellungsdetails zurück, einschließlich ob eine Push- oder lokale Benachrichtigung gesendet wurde und warum die Zustellung übersprungen wurde.

4534 4582 

4535<h3 id="repl-2">

4536 REPL

4537</h3>

4538 

4539**Tool-Name:** `REPL`

4540 

4541```typescript theme={null}

4542type REPLOutput = {

4543 code: string;

4544 result: {

4545 [k: string]: unknown;

4546 };

4547 stdout: string;

4548 stderr: string;

4549 error?: string;

4550 registeredTools?: string[];

4551 images?: {

4552 base64: string;

4553 mediaType: string;

4554 }[];

4555 documents?: {

4556 base64: string;

4557 }[];

4558};

4559```

4560 

4561Gibt das Ausführungsergebnis, erfasste Konsolenausgabe und alle Bilder oder Dokumente zurück, die durch innere `Read`-Aufrufe angezeigt werden.

4562 

4563<h3 id="reportfindings-2">4583<h3 id="reportfindings-2">

4564 ReportFindings4584 ReportFindings

4565</h3>4585</h3>


4883```4903```

4884 4904 

4885<Warning>4905<Warning>

4886 Das `context-1m-2025-08-07`-Beta ist ab dem 30. April 2026 veraltet. Das Übergeben dieses Wertes mit Claude Sonnet 4.5 oder Sonnet 4 hat keine Auswirkung, und Anfragen, die das Standard-200k-Token-Kontextfenster überschreiten, geben einen Fehler zurück. Um ein 1M-Token-Kontextfenster zu verwenden, migrieren Sie zu [Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 oder Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), die 1M-Kontext zu Standardpreisen ohne Beta-Header enthalten.4906 Das `context-1m-2025-08-07`-Beta ist ab dem 30. April 2026 veraltet. Das Übergeben dieses Wertes mit Claude Sonnet 4.5 oder Sonnet 4 hat keine Auswirkung, und Anfragen, die das Standard-200k-Token-Kontextfenster überschreiten, geben einen Fehler zurück. Um ein 1M-Token-Kontextfenster zu verwenden, migrieren Sie zu [Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 oder Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), die 1M-Kontext zu Standardpreisen ohne Beta-Header enthalten.

4887</Warning>4907</Warning>

4888 4908 

4889<h3 id="slashcommand">4909<h3 id="slashcommand">


4898 description: string;4918 description: string;

4899 argumentHint: string;4919 argumentHint: string;

4900 aliases?: string[];4920 aliases?: string[];

4921 builtin?: boolean;

4901};4922};

4902```4923```

4903 4924 

4925`builtin` ist `true` in einer Zeile, wenn der Befehl Claude Code's eigener ist und das Eingeben von `/name` ihn ausführt. Er fehlt für einen Befehl, der von einem Benutzer, Projekt, Plugin oder MCP-Server definiert wird, und für einen gebündelten Befehl, den einer dieser [nach Name ersetzt](/docs/de/skills#resolve-skills-that-share-a-name). Erfordert Agent SDK v0.3.277 oder später.

4926 

4904<h3 id="modelinfo">4927<h3 id="modelinfo">

4905 `ModelInfo`4928 `ModelInfo`

4906</h3>4929</h3>


5007 destructive?: boolean;5030 destructive?: boolean;

5008 openWorld?: boolean;5031 openWorld?: boolean;

5009 };5032 };

5033 _meta?: Record<string, unknown>;

5010 }[];5034 }[];

5011};5035};

5012```5036```

5013 5037 

5014`source` sagt, woher die Definition des Servers kam, mit den gleichen Werten und Vertrauensregel wie [`McpServerProvenance`](#mcpserverprovenance)'s `source`. Das Feld erfordert Agent SDK v0.3.274 oder später und fehlt in früheren Versionen.5038`source` sagt, woher die Definition des Servers kam, mit den gleichen Werten und Vertrauensregel wie [`McpServerProvenance`](#mcpserverprovenance)'s `source`. Das Feld erfordert Agent SDK v0.3.274 oder später und fehlt in früheren Versionen.

5015 5039 

5040`_meta` auf einem `tools`-Eintrag trägt die MCP-Apps-Mitglieder des `_meta` dieses Tools, sodass Ihre Anwendung die `ui://`-Ressource finden kann, um sie mit [`readMcpResource()`](#query-object) zu rendern. Claude Code leitet das `ui`-Objekt und die veraltete flache `ui/resourceUri`-Zeichenkette durch und behält jeden anderen Schlüssel zurück. Innerhalb von `ui` ist `resourceUri` eine `ui://`-Zeichenkette und `visibility` ein Array von `"model"` und `"app"`, wenn der Server sie setzt, und jedes andere Mitglied wird unverändert durchgeleitet. Claude Code verwirft jeden Schlüssel, wenn der Wert fehlerhaft ist, und lässt `_meta` von einem Tool weg, das weder deklariert. Das Feld ist nur vorhanden, wenn die [`capabilities`](#sdksystemmessage) der Init-Nachricht `mcp_tool_ui_meta_v1` enthalten, und erfordert TypeScript Agent SDK v0.3.280 oder später.

5041 

5016<h3 id="mcpserverstatusconfig">5042<h3 id="mcpserverstatusconfig">

5017 `McpServerStatusConfig`5043 `McpServerStatusConfig`

5018</h3>5044</h3>


5760| `enabled` | `boolean` | `false` | Aktivieren Sie den Sandbox-Modus für die Befehlsausführung |5786| `enabled` | `boolean` | `false` | Aktivieren Sie den Sandbox-Modus für die Befehlsausführung |

5761| `failIfUnavailable` | `boolean` | `true` | Stoppen Sie beim Start, wenn `enabled` auf `true` gesetzt ist, aber die Sandbox nicht gestartet werden kann. Setzen Sie `false`, um auf unsandboxed Ausführung mit einer Warnung auf stderr zurückzufallen |5787| `failIfUnavailable` | `boolean` | `true` | Stoppen Sie beim Start, wenn `enabled` auf `true` gesetzt ist, aber die Sandbox nicht gestartet werden kann. Setzen Sie `false`, um auf unsandboxed Ausführung mit einer Warnung auf stderr zurückzufallen |

5762| `autoAllowBashIfSandboxed` | `boolean` | `true` | Bash-Befehle automatisch genehmigen, wenn Sandbox aktiviert ist |5788| `autoAllowBashIfSandboxed` | `boolean` | `true` | Bash-Befehle automatisch genehmigen, wenn Sandbox aktiviert ist |

5763| `excludedCommands` | `string[]` | `[]` | Befehle, die immer Sandbox-Beschränkungen umgehen (z. B. `['docker']`). Diese werden automatisch ohne Modellbeteiligung unsandboxed ausgeführt |5789| `excludedCommands` | `string[]` | `[]` | Befehle, die Sandbox-Beschränkungen umgehen, z. B. `['docker *']`. Diese werden automatisch ohne Modellbeteiligung unsandboxed ausgeführt; [`sandbox.excludedCommands`](/docs/de/settings-reference#sandbox-excludedcommands) behandelt, wann ein Eintrag gilt |

5764| `allowUnsandboxedCommands` | `boolean` | `true` | Erlauben Sie dem Modell, die Ausführung von Befehlen außerhalb der Sandbox anzufordern. Wenn `true`, kann das Modell `dangerouslyDisableSandbox` in der Tool-Eingabe setzen, was auf das [Berechtigungssystem](#permissions-fallback-for-unsandboxed-commands) zurückfällt |5790| `allowUnsandboxedCommands` | `boolean` | `true` | Erlauben Sie dem Modell, die Ausführung von Befehlen außerhalb der Sandbox anzufordern. Wenn `true`, kann das Modell `dangerouslyDisableSandbox` in der Tool-Eingabe setzen, was auf das [Berechtigungssystem](#permissions-fallback-for-unsandboxed-commands) zurückfällt |

5765| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `undefined` | Netzwerkspezifische Sandbox-Konfiguration |5791| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `undefined` | Netzwerkspezifische Sandbox-Konfiguration |

5766| `filesystem` | [`SandboxFilesystemConfig`](#sandboxfilesystemconfig) | `undefined` | Dateisystemspezifische Sandbox-Konfiguration für Lese-/Schreibbeschränkungen |5792| `filesystem` | [`SandboxFilesystemConfig`](#sandboxfilesystemconfig) | `undefined` | Dateisystemspezifische Sandbox-Konfiguration für Lese-/Schreibbeschränkungen |


5867 Berechtigungen-Fallback für Unsandboxed-Befehle5893 Berechtigungen-Fallback für Unsandboxed-Befehle

5868</h3>5894</h3>

5869 5895 

5870Wenn `allowUnsandboxedCommands` aktiviert ist, kann das Modell anfordern, Befehle außerhalb der Sandbox auszuführen, indem es `dangerouslyDisableSandbox: true` in der Tool-Eingabe setzt. Diese Anfragen fallen auf das bestehende Berechtigungssystem zurück, was bedeutet, dass Ihr `canUseTool`-Handler aufgerufen wird, sodass Sie benutzerdefinierte Autorisierungslogik implementieren können. Befehle, die in `excludedCommands` aufgelistet sind, umgehen stattdessen die Sandbox automatisch, ohne Modellbeteiligung; siehe [`SandboxSettings`](#sandboxsettings).5896Wenn `allowUnsandboxedCommands` aktiviert ist, kann das Modell anfordern, Befehle außerhalb der Sandbox auszuführen, indem es `dangerouslyDisableSandbox: true` in der Tool-Eingabe setzt. Diese Anfragen fallen auf das bestehende Berechtigungssystem zurück, was bedeutet, dass Ihr `canUseTool`-Handler aufgerufen wird, sodass Sie benutzerdefinierte Autorisierungslogik implementieren können.

5897 

5898Ihre `excludedCommands`-Einträge führen stattdessen einen Aufruf außerhalb der Sandbox mit keiner Modellbeteiligung durch; [`sandbox.excludedCommands`](/docs/de/settings-reference#sandbox-excludedcommands) behandelt, wann ein Eintrag gilt.

5871 5899 

5872Im folgenden Beispiel steht `isCommandAuthorized` für eine Autorisierungsprüfung, die Sie definieren.5900Im folgenden Beispiel steht `isCommandAuthorized` für eine Autorisierungsprüfung, die Sie definieren.

5873 5901 

agent-teams.md +0 −4

Details

14 14 

15Bevor Sie ein Team einrichten, überprüfen Sie, ob eine leichtere Option die Aufgabe erfüllt. [Subagents](/docs/de/sub-agents) arbeiten innerhalb einer einzelnen Sitzung, und mit [sitzungsübergreifendem Messaging](/docs/de/cross-session-messaging) kann Claude Erkenntnisse zwischen den Sitzungen weitergeben, die Sie selbst ausführen.15Bevor Sie ein Team einrichten, überprüfen Sie, ob eine leichtere Option die Aufgabe erfüllt. [Subagents](/docs/de/sub-agents) arbeiten innerhalb einer einzelnen Sitzung, und mit [sitzungsübergreifendem Messaging](/docs/de/cross-session-messaging) kann Claude Erkenntnisse zwischen den Sitzungen weitergeben, die Sie selbst ausführen.

16 16 

17<Note>

18 Diese Seite beschreibt Agent-Teams ab v2.1.178. Mit `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` gesetzt, benötigt das Spawnen eines Teammates keinen Setup-Schritt mehr, und die Bereinigung erfolgt automatisch, wenn die Sitzung beendet wird. Vor v2.1.178 haben Sie Claude gebeten, ein Team zu erstellen und zu benennen, und Claude hat die Tools `TeamCreate` und `TeamDelete` verwendet, um es einzurichten und zu entfernen. Beide Tools existieren nicht mehr. Die `team_name`-Eingabe im Agent-Tool wird akzeptiert, aber ignoriert, und das `team_name`-Feld in `TaskCreated`, `TaskCompleted` und `TeammateIdle` [Hook-Payloads](/docs/de/hooks#taskcreated) trägt den sitzungsabgeleiteten Namen und ist veraltet.

19</Note>

20 

21<h2 id="when-to-use-agent-teams">17<h2 id="when-to-use-agent-teams">

22 Wann Agent-Teams verwendet werden18 Wann Agent-Teams verwendet werden

23</h2>19</h2>

Details

291 291 

292Legen Sie diese Umgebungsvariablen auf spezifische Amazon Bedrock-Modell-IDs fest.292Legen Sie diese Umgebungsvariablen auf spezifische Amazon Bedrock-Modell-IDs fest.

293 293 

294Ohne `ANTHROPIC_DEFAULT_OPUS_MODEL` wird der `opus`-Alias auf Amazon Bedrock zu Opus 5 aufgelöst, und ohne `ANTHROPIC_DEFAULT_SONNET_MODEL` wird der `sonnet`-Alias zu Sonnet 4.5 aufgelöst. Dieses Beispiel heftet jeden Alias an eine spezifische Version an:294Ohne `ANTHROPIC_DEFAULT_OPUS_MODEL` wird der `opus`-Alias auf Amazon Bedrock zu Opus 5.5 aufgelöst, und ohne `ANTHROPIC_DEFAULT_SONNET_MODEL` wird der `sonnet`-Alias zu Sonnet 4.5 aufgelöst. Dieses Beispiel heftet jeden Alias an eine spezifische Version an:

295 295 

296```bash theme={null}296```bash theme={null}

297export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'297export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'


304Um die integrierten Standard-Modelle beizubehalten und nur ihr bevorzugtes Präfix zu ändern, setzen Sie stattdessen [`ANTHROPIC_BEDROCK_REGION_PREFIX`](#cross-region-inference-profile-prefixes). Der Unterschied zeigt sich darin, worauf der `opus`-Alias aufgelöst wird:304Um die integrierten Standard-Modelle beizubehalten und nur ihr bevorzugtes Präfix zu ändern, setzen Sie stattdessen [`ANTHROPIC_BEDROCK_REGION_PREFIX`](#cross-region-inference-profile-prefixes). Der Unterschied zeigt sich darin, worauf der `opus`-Alias aufgelöst wird:

305 305 

306| Sie setzen | Der `opus`-Alias wird aufgelöst zu |306| Sie setzen | Der `opus`-Alias wird aufgelöst zu |

307| :------------------------------------------------------------ | :---------------------------------------------------------------------------------- |307| :------------------------------------------------------------ | :------------------------------------------------------------------------------------ |

308| `ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` | `us.anthropic.claude-opus-4-8`, die genaue ID, die Sie angeheftet haben |308| `ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` | `us.anthropic.claude-opus-4-8`, die genaue ID, die Sie angeheftet haben |

309| `ANTHROPIC_BEDROCK_REGION_PREFIX=eu` | `eu.anthropic.claude-opus-5`, der integrierte Standard mit Ihrem bevorzugten Präfix |309| `ANTHROPIC_BEDROCK_REGION_PREFIX=eu` | `eu.anthropic.claude-opus-5-5`, der integrierte Standard mit Ihrem bevorzugten Präfix |

310 310 

311Aktuelle und ältere Modell-IDs finden Sie unter [Modellübersicht](https://platform.claude.com/docs/en/about-claude/models/overview). Die vollständige Liste der Anheft-Umgebungsvariablen finden Sie unter [Modellkonfiguration](/docs/de/model-config#pin-models-for-third-party-deployments).311Aktuelle und ältere Modell-IDs finden Sie unter [Modellübersicht](https://platform.claude.com/docs/en/about-claude/models/overview). Die vollständige Liste der Anheft-Umgebungsvariablen finden Sie unter [Modellkonfiguration](/docs/de/model-config#pin-models-for-third-party-deployments).

312 312 


314 314 

315| Modelltyp | Standard-Modell |315| Modelltyp | Standard-Modell |

316| :----------------------- | :----------------------------------------------------------------------------------------------- |316| :----------------------- | :----------------------------------------------------------------------------------------------- |

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

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

319 319 

320Hintergrundaufgaben 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:320Hintergrundaufgaben 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:


326 Opus-Modelle haben einen höheren Pro-Token-Preis als Sonnet-Modelle, daher wird eine Bereitstellung, die kein primäres Modell anheftet, ab v2.1.207 oder später zum Opus-Satz abgerechnet. Um Sonnet 4.5 als primäres Modell beizubehalten, 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.326 Opus-Modelle haben einen höheren Pro-Token-Preis als Sonnet-Modelle, daher wird eine Bereitstellung, die kein primäres Modell anheftet, ab v2.1.207 oder später zum Opus-Satz abgerechnet. Um Sonnet 4.5 als primäres Modell beizubehalten, 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.

327</Warning>327</Warning>

328 328 

329In 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. Vor v2.1.207 war das primäre Modell standardmäßig Sonnet 4.5, der `opus`-Alias wurde zu Opus 4.6 aufgelöst, und Hintergrundaufgaben verwendeten immer das primäre Modell.329Vor 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. Vor v2.1.207 war das primäre Modell standardmäßig Sonnet 4.5, der `opus`-Alias wurde zu Opus 4.6 aufgelöst, und Hintergrundaufgaben verwendeten immer das primäre Modell.

330 330 

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

332 332 


405```bash theme={null}405```bash theme={null}

406export ANTHROPIC_BEDROCK_REGION_PREFIX=global406export ANTHROPIC_BEDROCK_REGION_PREFIX=global

407# In einer us-* Region wird das primäre Modell jetzt zu407# In einer us-* Region wird das primäre Modell jetzt zu

408# global.anthropic.claude-opus-5 statt us.anthropic.claude-opus-5 aufgelöst408# global.anthropic.claude-opus-5-5 statt us.anthropic.claude-opus-5-5 aufgelöst

409```409```

410 410 

411Das bevorzugte Präfix ist eine Präferenz, keine Garantie, unabhängig davon, ob es von Ihrer Region oder von der Variablen stammt. Wie Claude Code es anwendet, hängt davon ab, ob es die Verfügbarkeit des Profils in Ihrem Konto überprüfen kann:411Das bevorzugte Präfix ist eine Präferenz, keine Garantie, unabhängig davon, ob es von Ihrer Region oder von der Variablen stammt. Wie Claude Code es anwendet, hängt davon ab, ob es die Verfügbarkeit des Profils in Ihrem Konto überprüfen kann:

artifacts.md +2 −2

Details

347Artefakte erfordern jede Bedingung unten. Wenn eine nicht erfüllt ist, schreibt Claude eine lokale HTML-Datei oder sagt, dass es nicht veröffentlichen kann.347Artefakte erfordern jede Bedingung unten. Wenn eine nicht erfüllt ist, schreibt Claude eine lokale HTML-Datei oder sagt, dass es nicht veröffentlichen kann.

348 348 

349| Anforderung | Verfügbar wenn |349| Anforderung | Verfügbar wenn |

350| :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |350| :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

351| Plan | Pro, Max, Team oder Enterprise. Bei Pro- und Max-Plänen sind Artefakte privat für Sie, bis Sie sie freigeben, und es gilt keine Admin-Verwaltung. Bei Team-Plänen sind Artefakte standardmäßig aktiviert. Bei Enterprise-Plänen [aktiviert ein Owner sie](#manage-artifacts-for-your-organization) in den claude.ai-Admin-Einstellungen. |351| Plan | Pro, Max, Team oder Enterprise. Bei Pro- und Max-Plänen sind Artefakte privat für Sie, bis Sie sie freigeben, und es gilt keine Admin-Verwaltung. Bei Team-Plänen sind Artefakte standardmäßig aktiviert. Bei Enterprise-Plänen [aktiviert ein Owner sie](#manage-artifacts-for-your-organization) in den claude.ai-Admin-Einstellungen. |

352| Authentifizierung | Die Sitzung wird durch ein claude.ai-Konto unterstützt: Melden Sie sich mit `/login` in der CLI oder Desktop-App an. Claude Tag-Sitzungen sind durch die Identität des Agenten angemeldet, daher ist kein Schritt erforderlich. Sitzungen, die einen API-Schlüssel, [Gateway-Token](/docs/de/llm-gateway) oder Cloud-Provider-Anmeldedaten verwenden, können nicht veröffentlichen. |352| Authentifizierung | Die Sitzung wird durch ein claude.ai-Konto unterstützt: Melden Sie sich mit `/login` in der CLI oder Desktop-App an. Claude Tag-Sitzungen sind durch die Identität des Agenten angemeldet, daher ist kein Schritt erforderlich. Sitzungen, die einen API-Schlüssel, [Gateway-Token](/docs/de/llm-gateway) oder Cloud-Provider-Anmeldedaten verwenden, können nicht veröffentlichen. |

353| Modell-Provider | Anthropic API. Nicht verfügbar auf [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) oder [Microsoft Foundry](/docs/de/microsoft-foundry). |353| Modell-Provider | Anthropic API. Nicht verfügbar auf [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) oder [Microsoft Foundry](/docs/de/microsoft-foundry). |

354| Organisationsrichtlinie | Customer-managed encryption keys (CMEK), HIPAA und [Zero Data Retention](/docs/de/zero-data-retention) sind nicht für die Organisation aktiviert. |354| Organisationsrichtlinie | Customer-managed encryption keys (CMEK), HIPAA und [Zero Data Retention](/docs/de/zero-data-retention) sind nicht für die Organisation aktiviert. |

355| Oberfläche | Claude Code CLI Version 2.1.183 oder später oder die Claude Desktop-App Version 1.13576.0 oder später. [Claude Tag](https://claude.com/docs/claude-tag/overview)-Sitzungen können auch Artefakte veröffentlichen, wenn sowohl Claude Tag als auch Artefakte für die Organisation aktiviert sind. Standardmäßig aus in [Agent SDK](/docs/de/agent-sdk/overview), GitHub Action und MCP-Server-Kontexten und wenn [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/de/env-vars) gesetzt ist. |355| Oberfläche | Claude Code CLI oder die Claude Desktop-App Version 1.13576.0 oder später. [Claude Tag](https://claude.com/docs/claude-tag/overview)-Sitzungen können auch Artefakte veröffentlichen, wenn sowohl Claude Tag als auch Artefakte für die Organisation aktiviert sind. Standardmäßig aus in [Agent SDK](/docs/de/agent-sdk/overview), GitHub Action und MCP-Server-Kontexten und wenn [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/de/env-vars) gesetzt ist. |

356 356 

357<h2 id="disable-artifacts">357<h2 id="disable-artifacts">

358 Deaktivieren Sie Artefakte358 Deaktivieren Sie Artefakte

Details

53 53 

54[Claude for Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_teams#team-&-enterprise) und [Claude for Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_enterprise) bieten die beste Erfahrung für Organisationen, die Claude Code verwenden. Team-Mitglieder erhalten Zugriff auf Claude Code und Claude im Web mit zentralisierter Abrechnung und Team-Verwaltung.54[Claude for Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_teams#team-&-enterprise) und [Claude for Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_enterprise) bieten die beste Erfahrung für Organisationen, die Claude Code verwenden. Team-Mitglieder erhalten Zugriff auf Claude Code und Claude im Web mit zentralisierter Abrechnung und Team-Verwaltung.

55 55 

56* **Claude for Teams**: Self-Service-Plan mit Zusammenarbeitsfunktionen, Admin-Tools und Abrechnungsverwaltung. Am besten für kleinere Teams.56* **Claude for Teams**: Self-Service-Plan mit Zusammenarbeitsfunktionen, Admin-Tools, SSO, Abrechnungsverwaltung und [serverseitig verwalteten Einstellungen](/docs/de/server-managed-settings) für organisationsweite Claude Code-Konfiguration. Am besten für kleinere Teams.

57* **Claude for Enterprise**: Fügt SSO, Domain-Erfassung, rollenbasierte Berechtigungen, Compliance-API und verwaltete Richtlinieneinstellungen für organisationsweite Claude Code-Konfigurationen hinzu. Am besten für größere Organisationen mit Sicherheits- und Compliance-Anforderungen.57* **Claude for Enterprise**: Fügt Domain-Erfassung, rollenbasierte Berechtigungen und die Compliance-API hinzu. Am besten für größere Organisationen mit Sicherheits- und Compliance-Anforderungen.

58 58 

59<Steps>59<Steps>

60 <Step title="Abonnieren">60 <Step title="Abonnieren">

Details

250 250 

251Cloud-Sitzungen unterstützen [integrierte Befehle](/docs/de/commands), 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:251Cloud-Sitzungen unterstützen [integrierte Befehle](/docs/de/commands), 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:

252 252 

253* **`/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 erfordern Claude Code v2.1.205 oder später in der Umgebung der Sitzung und folgen den [Verfügbarkeitshinweisen](/docs/de/commands#all-commands) jedes Befehls: `/effort` meldet `Not applied`, während ein Modell's [Launch-Standard-Effort-Hold](/docs/de/model-config#adjust-effort-level) in Kraft ist.253* **`/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 erfordern Claude Code v2.1.205 oder später in der Umgebung der Sitzung und folgen den [Verfügbarkeitshinweisen](/docs/de/commands#all-commands) jedes Befehls.

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

255* **`/config`**: In Ihrem Browser unter claude.ai/code öffnet dies den Claude Code-Bereich Ihrer Einstellungen, anstatt einen Wert zu setzen, und Text nach dem Befehl, einschließlich `key=value`, wird ignoriert. Um eine Einstellung für eine Cloud-Sitzung zu ändern, legen Sie eine [Umgebungsvariable](/docs/de/cloud-environments#set-environment-variables) in der Umgebung fest, oder committen Sie in einer Sitzung mit einem Repository den Schlüssel in die `.claude/settings.json` dieses Repositorys. [Einstellungen in Cloud-Sitzungen](/docs/de/settings#settings-in-cloud-sessions) listet auf, was jede Sitzung liest.255* **`/config`**: In Ihrem Browser unter claude.ai/code öffnet dies den Claude Code-Bereich Ihrer Einstellungen, anstatt einen Wert zu setzen, und Text nach dem Befehl, einschließlich `key=value`, wird ignoriert. Um eine Einstellung für eine Cloud-Sitzung zu ändern, legen Sie eine [Umgebungsvariable](/docs/de/cloud-environments#set-environment-variables) in der Umgebung fest, oder committen Sie in einer Sitzung mit einem Repository den Schlüssel in die `.claude/settings.json` dieses Repositorys. [Einstellungen in Cloud-Sitzungen](/docs/de/settings#settings-in-cloud-sessions) listet auf, was jede Sitzung liest.

256 256 

Details

1451Der Explorer behandelt Dateien, die Sie erstellen und bearbeiten. Ein paar verwandte Dateien befinden sich an anderen Orten:1451Der Explorer behandelt Dateien, die Sie erstellen und bearbeiten. Ein paar verwandte Dateien befinden sich an anderen Orten:

1452 1452 

1453| Datei | Ort | Zweck |1453| Datei | Ort | Zweck |

1454| ----------------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1454| ----------------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1455| `managed-settings.json` | Systemebene, variiert je nach Betriebssystem | Von Unternehmen erzwungene Einstellungen, die Sie nicht überschreiben können, mit Ausnahme von [engen Ausnahmen](/docs/de/settings#security-keys-where-the-stricter-value-applies). Siehe [wo die Datei gespeichert werden soll](/docs/de/managed-settings#deploy-a-managed-settings-file) und [welche verwaltete Quelle Claude Code verwendet](/docs/de/managed-settings#precedence-within-the-managed-tier). |1455| `managed-settings.json` | Systemebene, variiert je nach Betriebssystem | Von Unternehmen erzwungene Einstellungen, die Sie nicht überschreiben können, mit Ausnahme von [engen Ausnahmen](/docs/de/settings#security-keys-where-the-stricter-value-applies). Siehe [wo die Datei gespeichert werden soll](/docs/de/managed-settings#deploy-a-managed-settings-file) und [welche verwaltete Quelle Claude Code verwendet](/docs/de/managed-settings#precedence-within-the-managed-tier). |

1456| `CLAUDE.local.md` | Projektstammverzeichnis | Ihre privaten Voreinstellungen für dieses Projekt, geladen zusammen mit CLAUDE.md. Erstellen Sie es manuell und fügen Sie es zu `.gitignore` hinzu. |1456| `CLAUDE.local.md` | Projektstammverzeichnis | Ihre privaten Voreinstellungen für dieses Projekt, geladen zusammen mit CLAUDE.md. Erstellen Sie es manuell und fügen Sie es zu `.gitignore` hinzu. |

1457| `AGENTS.md` | Projektstammverzeichnis, `.claude/` oder ein beliebiges Verzeichnis | Projektanweisungen, die Sie für KI-Codierungs-Agenten schreiben. Claude Code kann [sie laden](/docs/de/memory#agents-md) eigenständig oder zusammen mit `CLAUDE.md`. |1457| `AGENTS.md` | Projektstammverzeichnis, `.claude/` oder ein beliebiges Verzeichnis | Projektanweisungen, die Sie für KI-Codierungs-Agenten schreiben. Claude Code kann [sie laden](/docs/de/memory#agents-md) eigenständig oder zusammen mit `CLAUDE.md`. |

1458| Installierte Plugins | `~/.claude/plugins` | Geklonte Marketplaces, installierte Plugin-Versionen und Pro-Plugin-Daten, verwaltet durch `claude plugin`-Befehle. Für ein Plugin, das von einem Marketplace mit [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) im Link-Modus installiert wurde, speichert Claude Code hier Links statt einer Kopie, und die Dateien des Plugins bleiben in dem Verzeichnis, das der Befehl ausgibt. Ein `command`-Quelle erfordert Claude Code v2.1.229 oder später. Ein Plugin, das nach relativem Pfad in einem lokalen Marketplace aufgelistet ist, wird auch [an Ort und Stelle geladen](/docs/de/plugins-reference#plugin-caching-and-file-resolution) aus seinem Quellverzeichnis statt aus einer Cache-Kopie. Siehe [Plugin-Caching](/docs/de/plugins-reference#plugin-caching-and-file-resolution) für die Bereinigung verwaister Versionen. |1458| Installierte Plugins | `~/.claude/plugins` | Geklonte Marketplaces, installierte Plugin-Versionen, der `installed_plugins.json`-Installationsdatensatz und Pro-Plugin-Daten, verwaltet durch `claude plugin`-Befehle. Plugins [synchronisiert von Ihrem claude.ai-Konto](/docs/de/plugins-reference#synced-plugins) werden in `~/.claude/plugins/synced/` heruntergeladen. Für ein Plugin, das von einem Marketplace mit [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) im Link-Modus installiert wurde, speichert Claude Code hier Links statt einer Kopie, und die Dateien des Plugins bleiben in dem Verzeichnis, das der Befehl ausgibt. Ein `command`-Quelle erfordert Claude Code v2.1.229 oder später. Ein Plugin, das nach relativem Pfad in einem lokalen Marketplace aufgelistet ist, wird auch [an Ort und Stelle geladen](/docs/de/plugins-reference#plugin-caching-and-file-resolution) aus seinem Quellverzeichnis statt aus einer Cache-Kopie. Siehe [Plugin-Caching](/docs/de/plugins-reference#plugin-caching-and-file-resolution) für die Bereinigung verwaister Versionen. |

1459 1459 

1460`~/.claude` enthält auch Daten, die Claude Code während der Arbeit schreibt: Transkripte, Prompt-Verlauf, Datei-Snapshots, Caches und Logs. Siehe [Anwendungsdaten](#application-data) unten.1460`~/.claude` enthält auch Daten, die Claude Code während der Arbeit schreibt: Transkripte, Prompt-Verlauf, Datei-Snapshots, Caches und Logs. Siehe [Anwendungsdaten](#application-data) unten.

1461 1461 


1515| [`keybindings.json`](#ce-keybindings) | Nur global | | Benutzerdefinierte Tastenkombinationen | [Tastenkombinationen](/docs/de/keybindings) |1515| [`keybindings.json`](#ce-keybindings) | Nur global | | Benutzerdefinierte Tastenkombinationen | [Tastenkombinationen](/docs/de/keybindings) |

1516| [`themes/*.json`](#ce-themes) | Nur global | | Benutzerdefinierte Farbthemen | [Benutzerdefinierte Designs](/docs/de/terminal-config#create-a-custom-theme) |1516| [`themes/*.json`](#ce-themes) | Nur global | | Benutzerdefinierte Farbthemen | [Benutzerdefinierte Designs](/docs/de/terminal-config#create-a-custom-theme) |

1517 1517 

1518<h2 id="frontmatter-fields-by-file">

1519 Frontmatter-Felder nach Datei

1520</h2>

1521 

1522Skills, Befehlsdateien, Subagenten, Ausgabestile und Regeln lesen ihre Konfiguration aus YAML [Frontmatter](/docs/de/glossary#frontmatter) am Anfang der Datei, und jede akzeptiert ihren eigenen Satz von Feldern. Diese Tabelle listet die Feldnamen für jede Datei auf und verlinkt auf die Referenz, die sie beschreibt.

1523 

1524| Datei | Frontmatter-Felder | Referenz |

1525| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |

1526| `skills/<name>/SKILL.md` | `name`, `description`, `when_to_use`, `argument-hint`, `arguments`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `disallowed-tools`, `model`, `effort`, `context`, `agent`, `background`, `hooks`, `paths`, `shell`, `metadata`, `license`, `compatibility` | [Skill-Frontmatter](/docs/de/skills#frontmatter-reference) |

1527| `commands/*.md` | Die Skill-Felder außer `name` und `paths` | [Skill-Frontmatter](/docs/de/skills#frontmatter-reference) |

1528| `agents/*.md` | `name`, `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `maxTurns`, `skills`, `mcpServers`, `hooks`, `memory`, `background`, `effort`, `isolation`, `color`, `initialPrompt`, `omitClaudeMd`, `experimental` | [Subagenten-Frontmatter](/docs/de/sub-agents#supported-frontmatter-fields) |

1529| `output-styles/*.md` | `name`, `description`, `keep-coding-instructions`, `force-for-plugin` | [Ausgabestil-Frontmatter](/docs/de/output-styles#frontmatter) |

1530| `rules/*.md` | `paths` | [Regel-Frontmatter](/docs/de/memory#rules-frontmatter-reference) |

1531 

1532Agenten, die in einem [Plugin](/docs/de/plugins-reference#plugin-agent-frontmatter) ausgeliefert werden, berücksichtigen eine Teilmenge der Subagenten-Felder.

1533 

1518<h2 id="troubleshoot-configuration">1534<h2 id="troubleshoot-configuration">

1519 Fehlerbehebung bei der Konfiguration1535 Fehlerbehebung bei der Konfiguration

1520</h2>1536</h2>


1534Claude Code löscht die Dateien in den folgenden Pfaden, sobald sie älter als [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays) sind, solange es die Aufbewahrungsfrist sicher bestimmen kann. Der Standard ist 30 Tage und das Minimum ist 1; das Setzen von `0` schlägt mit einem Validierungsfehler fehl. Die gleiche Altersgrenze gilt für die automatische Entfernung von [verwaisten Worktrees](/docs/de/worktrees#clean-up-subagent-and-background-session-worktrees).1550Claude Code löscht die Dateien in den folgenden Pfaden, sobald sie älter als [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays) sind, solange es die Aufbewahrungsfrist sicher bestimmen kann. Der Standard ist 30 Tage und das Minimum ist 1; das Setzen von `0` schlägt mit einem Validierungsfehler fehl. Die gleiche Altersgrenze gilt für die automatische Entfernung von [verwaisten Worktrees](/docs/de/worktrees#clean-up-subagent-and-background-session-worktrees).

1535 1551 

1536| Pfad unter `~/.claude/` | Inhalte |1552| Pfad unter `~/.claude/` | Inhalte |

1537| ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1553| ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1538| `projects/<project>/<session>.jsonl` | Vollständiges Gesprächstranskript: jede Nachricht, jeder Tool-Aufruf und jedes Tool-Ergebnis |1554| `projects/<project>/<session>.jsonl` | Vollständiges Gesprächstranskript: jede Nachricht, jeder Tool-Aufruf und jedes Tool-Ergebnis |

1539| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Ein vorheriges Transkript für die Sitzung, das Claude Code beiseite gelegt hat, anstatt es zu überschreiben oder zu löschen. Es wird nicht in der Sitzungsauswahl angezeigt |1555| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Ein vorheriges Transkript für die Sitzung, das Claude Code beiseite gelegt hat, anstatt es zu überschreiben oder zu löschen. Es wird nicht in der Sitzungsauswahl angezeigt |

1540| `projects/<project>/<session>/subagents/` | [Subagent](/docs/de/sub-agents) Gesprächstranskripte, entfernt mit dem übergeordneten Sitzungstranskript, wenn es veraltet |1556| `projects/<project>/<session>/subagents/` | [Subagent](/docs/de/sub-agents) Gesprächstranskripte, entfernt mit dem übergeordneten Sitzungstranskript, wenn es veraltet |


1543| `plans/` | Plan-Dateien, die während des [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) geschrieben werden |1559| `plans/` | Plan-Dateien, die während des [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) geschrieben werden |

1544| `debug/` | Pro-Sitzungs-Debug-Logs, geschrieben während Debug-Logging aktiviert ist, z. B. wenn Sie mit [`--debug`](/docs/de/cli-reference#cli-flags) starten oder `/debug` ausführen |1560| `debug/` | Pro-Sitzungs-Debug-Logs, geschrieben während Debug-Logging aktiviert ist, z. B. wenn Sie mit [`--debug`](/docs/de/cli-reference#cli-flags) starten oder `/debug` ausführen |

1545| `paste-cache/` | Inhalte großer Einfügungen |1561| `paste-cache/` | Inhalte großer Einfügungen |

1546| `image-cache/<session>/` | Angehängte Bilder. Bei jedem Durchlauf entfernt Claude Code die Verzeichnisse aller anderen Sitzungen, unabhängig von ihrem Alter. |1562| `image-cache/<session>/` | Angehängte Bilder, die von Claude Code v2.1.274 und früher gespeichert wurden. Spätere Versionen speichern eingefügte und angehängte Bilder außerhalb von `~/.claude`, in einem `images/`-Verzeichnis für jede Sitzung unter dem temporären Verzeichnis, das [`CLAUDE_CODE_TMPDIR`](/docs/de/env-vars) steuert. Der Durchlauf entfernt die Verzeichnisse anderer Sitzungen, die hier übrig gelassen wurden, unabhängig von ihrem Alter. |

1547| `uploads/<session>/` | Dateien, die Sie aus dem Web oder der mobilen App anhängen, und Fotos, die Sie aus der mobilen App anhängen, wenn Sie eine [Remote Control](/docs/de/remote-control) Sitzung anschreiben. Ein Anhang zu einer [Cloud-Sitzung](/docs/de/claude-code-on-the-web) wird stattdessen in der eigenen Cloud-Umgebung dieser Sitzung gespeichert, nicht auf Ihrem Computer. |1563| `uploads/<session>/` | Dateien, die Sie aus dem Web oder der mobilen App anhängen, und Fotos, die Sie aus der mobilen App anhängen, wenn Sie eine [Remote Control](/docs/de/remote-control) Sitzung anschreiben. Ein Anhang zu einer [Cloud-Sitzung](/docs/de/claude-code-on-the-web) wird stattdessen in der eigenen Cloud-Umgebung dieser Sitzung gespeichert, nicht auf Ihrem Computer. |

1548| `session-env/` | Pro-Sitzungs-Umgebungsmetadaten |1564| `session-env/` | Pro-Sitzungs-Umgebungsmetadaten |

1549| `tasks/` | Aufgabenlisten, die von den Task-Tools geschrieben werden, ein Verzeichnis pro Liste |1565| `tasks/` | Aufgabenlisten, die von den Task-Tools geschrieben werden, ein Verzeichnis pro Liste |


1552| `feedback-bundles/` | Redigierte Transkript-Archive, die von `/feedback` auf Drittanbieter-Plattformen oder wenn keine Anthropic-Anmeldedaten konfiguriert sind geschrieben werden, um an Ihr Anthropic-Kontoteam gesendet zu werden |1568| `feedback-bundles/` | Redigierte Transkript-Archive, die von `/feedback` auf Drittanbieter-Plattformen oder wenn keine Anthropic-Anmeldedaten konfiguriert sind geschrieben werden, um an Ihr Anthropic-Kontoteam gesendet zu werden |

1553| `feedback/drafts/` | Warteschlange [Claude-entworfener Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) in Erwartung Ihrer Überprüfung in `/feedback`. Bereinigt nach `cleanupPeriodDays` oder 30 Tagen, je nachdem, welcher Wert kürzer ist. Wenn die Warteschlange ihre Grenze von 10 Entwürfen erreicht, löscht Claude Code den ältesten Entwurf, um Platz zu schaffen. |1569| `feedback/drafts/` | Warteschlange [Claude-entworfener Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) in Erwartung Ihrer Überprüfung in `/feedback`. Bereinigt nach `cleanupPeriodDays` oder 30 Tagen, je nachdem, welcher Wert kürzer ist. Wenn die Warteschlange ihre Grenze von 10 Entwürfen erreicht, löscht Claude Code den ältesten Entwurf, um Platz zu schaffen. |

1554| `usage-data/` | `report.html` und zeitgestempelte Report-Kopien, die von [`/insights`](/docs/de/costs#analyze-your-usage-patterns) geschrieben werden, plus zwischengespeicherte Pro-Sitzungs-Analysedaten, die zu ihrer Erstellung verwendet werden |1570| `usage-data/` | `report.html` und zeitgestempelte Report-Kopien, die von [`/insights`](/docs/de/costs#analyze-your-usage-patterns) geschrieben werden, plus zwischengespeicherte Pro-Sitzungs-Analysedaten, die zu ihrer Erstellung verwendet werden |

1555| `skills/.trash/`, `plugins/.trash/` | [Skills](/docs/de/skills#how-synced-skills-behave) und [Plugins](/docs/de/plugins-reference#synced-plugins) von claude.ai synchronisiert, die Claude Code entfernt hat. Hierher verschoben statt gelöscht, damit Sie die Dateien wiederherstellen können |1571| `skills/.trash/`, `plugins/.trash/` | [Skills](/docs/de/skills#how-synced-skills-behave) und [Plugins](/docs/de/plugins-reference#synced-plugins), die die claude.ai-Synchronisierung entfernt hat, z. B. nachdem Sie eine auf claude.ai ausgeschaltet haben oder die Synchronisierung beendet haben. Die Dateien bleiben hier, damit Sie sie wiederherstellen können, bis der Durchlauf sie löscht |

1556| `todos/`, `statsig/`, `logs/` | Legacy-Verzeichnisse aus älteren Versionen. Nicht mehr geschrieben. Die Bereinigung entfernt deren Inhalte und dann das leere Verzeichnis. |1572| `todos/`, `statsig/`, `logs/` | Legacy-Verzeichnisse aus älteren Versionen. Nicht mehr geschrieben. Die Bereinigung entfernt deren Inhalte und dann das leere Verzeichnis. |

1557 1573 

1558Sitzungsdateien in `sessions/`, automatisches Memory und Claude Desktop und Cowork Transkripte folgen jeweils ihrer eigenen Aufbewahrungsregel:1574Sitzungsdateien in `sessions/`, automatisches Memory und Claude Desktop und Cowork Transkripte folgen jeweils ihrer eigenen Aufbewahrungsregel:


1610* Übereinstimmende Prompt-Zeilen in `history.jsonl`1626* Übereinstimmende Prompt-Zeilen in `history.jsonl`

1611* Der Projekteintrag in `~/.claude.json`1627* Der Projekteintrag in `~/.claude.json`

1612 1628 

1629Bilder, die Sie in den Sitzungen des Projekts eingefügt oder angehängt haben, werden unter dem temporären Verzeichnis von Claude Code gespeichert, anstatt unter `~/.claude`, daher entfernt der Purge sie nicht. Der [Aufbewahrungsdurchlauf](#cleaned-up-automatically) löscht sie, sobald sie älter als `cleanupPeriodDays` sind.

1630 

1613Der Befehl gibt den vollständigen Löschplan aus und fordert zur Bestätigung auf, bevor etwas entfernt wird.1631Der Befehl gibt den vollständigen Löschplan aus und fordert zur Bestätigung auf, bevor etwas entfernt wird.

1614 1632 

1615Die folgenden Beispiele verwenden `~/work/my-repo` als Platzhalter. Ersetzen Sie es mit dem Pfad zu Ihrem Projekt. Wenn kein Zustand dem Pfad entspricht, gibt der Befehl einen Fehler aus und beendet sich mit Status 1.1633Die folgenden Beispiele verwenden `~/work/my-repo` als Platzhalter. Ersetzen Sie es mit dem Pfad zu Ihrem Projekt. Wenn kein Zustand dem Pfad entspricht, gibt der Befehl einen Fehler aus und beendet sich mit Status 1.


1660Sie können auch jeden der oben genannten Anwendungsdaten-Pfade manuell löschen, abgesehen von den [Zustandsdateien zum Behalten](#state-files-to-keep). Neue Sitzungen sind nicht betroffen. Die folgende Tabelle zeigt, was Sie für vergangene Sitzungen verlieren.1678Sie können auch jeden der oben genannten Anwendungsdaten-Pfade manuell löschen, abgesehen von den [Zustandsdateien zum Behalten](#state-files-to-keep). Neue Sitzungen sind nicht betroffen. Die folgende Tabelle zeigt, was Sie für vergangene Sitzungen verlieren.

1661 1679 

1662| Löschen | Sie verlieren |1680| Löschen | Sie verlieren |

1663| ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1681| -------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1664| `~/.claude/projects/` | Fortsetzen, Fortfahren und Zurückspulen für vergangene Sitzungen, und automatisches Memory für jedes Projekt |1682| `~/.claude/projects/` | Fortsetzen, Fortfahren und Zurückspulen für vergangene Sitzungen, und automatisches Memory für jedes Projekt |

1665| `~/.claude/history.jsonl` | Up-Arrow-Prompt-Abruf, `Ctrl+R` Verlaufssuche und `!` Shell-Befehl-Vervollständigung |1683| `~/.claude/history.jsonl` | Up-Arrow-Prompt-Abruf, `Ctrl+R` Verlaufssuche und `!` Shell-Befehl-Vervollständigung |

1666| `~/.claude/paste-cache/` | Eingefügter Text in abgerufenen Prompts; siehe [großen Inhalt einfügen](/docs/de/terminal-config#paste-large-content) |1684| `~/.claude/paste-cache/` | Eingefügter Text in abgerufenen Prompts; siehe [großen Inhalt einfügen](/docs/de/terminal-config#paste-large-content) |


1675| `~/.claude/policy-limits.json` | Nichts. Automatisch aktualisiert. |1693| `~/.claude/policy-limits.json` | Nichts. Automatisch aktualisiert. |

1676| `~/.claude/tasks/` | Aufgabenlisten, die eine fortgesetzte Sitzung aufgreifen würde |1694| `~/.claude/tasks/` | Aufgabenlisten, die eine fortgesetzte Sitzung aufgreifen würde |

1677| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | Die Möglichkeit, [synchronisierte Skills](/docs/de/skills#how-synced-skills-behave) und [synchronisierte Plugins](/docs/de/plugins-reference#synced-plugins) wiederherzustellen, die Claude Code entfernt hat |1695| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | Die Möglichkeit, [synchronisierte Skills](/docs/de/skills#how-synced-skills-behave) und [synchronisierte Plugins](/docs/de/plugins-reference#synced-plugins) wiederherzustellen, die Claude Code entfernt hat |

1678| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/image-cache/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Nichts für Benutzer sichtbar |1696| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Nichts für Benutzer sichtbar |

1679| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/` | Nichts. Legacy-Verzeichnisse nicht von aktuellen Versionen geschrieben. |1697| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/`, `~/.claude/image-cache/` | Nichts. Legacy-Verzeichnisse nicht von aktuellen Versionen geschrieben. |

1680 1698 

1681Löschen Sie nicht `~/.claude.json`, `~/.claude/settings.json` oder `~/.claude/plugins/`: Diese enthalten Ihre Authentifizierung, Voreinstellungen und installierten Plugins.1699Löschen Sie nicht `~/.claude.json`, `~/.claude/settings.json` oder `~/.claude/plugins/`: Diese enthalten Ihre Authentifizierung, Voreinstellungen und installierten Plugins.

1682 1700 

Details

284 284 

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

286 286 

287Die 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 aufgelöst. Vor v2.1.219 wurde er zu Opus 4.8 aufgelöst, und vor v2.1.207 zu Opus 4.7.287Die 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 aufgelöst, zu Opus 4.8 ab v2.1.207, und zu Opus 4.7 davor.

288 288 

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

290 290 

claude-projects.md +37 −37

Details

56* **Threads**: die Worker. Jeder ist eine separate [Cloud-Sitzung](/docs/de/claude-code-on-the-web) mit seinem eigenen Kontextfenster, die ein Stück Arbeit in ihrem eigenen Branch erledigt, einen Pull Request öffnet, wenn die Arbeit dies erfordert, und der Konversation Bericht erstattet, wenn sie fertig ist.56* **Threads**: die Worker. Jeder ist eine separate [Cloud-Sitzung](/docs/de/claude-code-on-the-web) mit seinem eigenen Kontextfenster, die ein Stück Arbeit in ihrem eigenen Branch erledigt, einen Pull Request öffnet, wenn die Arbeit dies erfordert, und der Konversation Bericht erstattet, wenn sie fertig ist.

57* **Was jeder Thread mit sich bringt**:57* **Was jeder Thread mit sich bringt**:

58 * Die Repositories und Dateien des Projekts, plus seine [Anweisungen und Speicher](#give-a-project-standing-context)58 * Die Repositories und Dateien des Projekts, plus seine [Anweisungen und Speicher](#give-a-project-standing-context)

59 * Die `CLAUDE.md`, Skills und Plugins in [jedem der Repositories des Projekts](#what-threads-pick-up-from-your-repositories), und in einem Projekt mit einem Repository auch die Berechtigungsregeln und Hooks dieses Repositories59 * Die `CLAUDE.md` und Skills in [jedem der Repositories des Projekts](#what-threads-pick-up-from-your-repositories), und in einem Projekt mit einem Repository auch die Berechtigungsregeln und Hooks dieses Repositories

60 * Die [Connectors](#get-skills-plugins-connectors-and-tools-into-threads) auf Ihrem claude.ai-Konto60 * Die [Connectors](#get-skills-plugins-connectors-and-tools-into-threads) auf Ihrem claude.ai-Konto

61 * Eine [Cloud-Umgebung](#choose-an-environment-for-threads), die seinen Netzwerkzugriff, Umgebungsvariablen, API-Anmeldedaten und installierte Tools festlegt61 * Eine [Cloud-Umgebung](#choose-an-environment-for-threads), die seinen Netzwerkzugriff, Umgebungsvariablen, API-Anmeldedaten und installierte Tools festlegt

62* **Der Übersichtsbereich**: wo Sie [alle Threads auf einmal sehen](#see-what-needs-you-in-overview) und welche von ihnen Sie benötigen. Seine anderen Registerkarten sind **Library** für die Dateien, die Sie hinzugefügt haben, und die Dateien, die Threads produziert haben, **Pull requests** für die, die Threads geöffnet haben, und **Routines** für geplante Arbeit im Projekt.62* **Der Übersichtsbereich**: wo Sie [alle Threads auf einmal sehen](#see-what-needs-you-in-overview) und welche von ihnen Sie benötigen. Seine anderen Registerkarten sind **Library** für die Dateien, die Sie hinzugefügt haben, und die Dateien, die Threads produziert haben, **Pull requests** für die, die Threads geöffnet haben, und **Routines** für geplante Arbeit im Projekt.


276Jede Genehmigung deckt diese Aufforderung oder den Rest dieses Threads ab, wenn Sie die breitere Option wählen. Um jeden Thread bestimmte Befehle ohne Fragen ausführen zu lassen, oder um einige zu blockieren, fügen Sie [Berechtigungsregeln](/docs/de/permissions) zur `.claude/settings.json` des Repositories hinzu. Threads wenden sie nur in einem Projekt mit einem Repository an; siehe [Was Threads aus Ihren Repositories aufgreifen](#what-threads-pick-up-from-your-repositories).276Jede Genehmigung deckt diese Aufforderung oder den Rest dieses Threads ab, wenn Sie die breitere Option wählen. Um jeden Thread bestimmte Befehle ohne Fragen ausführen zu lassen, oder um einige zu blockieren, fügen Sie [Berechtigungsregeln](/docs/de/permissions) zur `.claude/settings.json` des Repositories hinzu. Threads wenden sie nur in einem Projekt mit einem Repository an; siehe [Was Threads aus Ihren Repositories aufgreifen](#what-threads-pick-up-from-your-repositories).

277 277 

278<h2 id="give-a-project-standing-context">278<h2 id="give-a-project-standing-context">

279 Geben Sie einem Projekt stehenden Kontext279 Einem Projekt Kontext geben

280</h2>280</h2>

281 281 

282Projektgedächtnis, Projektanweisungen und die Repositories, Dateien und Umgebung des Projekts tragen Kontext über Threads hinweg. Sie legen jedes einmal fest und es gilt für jeden neuen Thread.282Projektgedächtnis, Projektanweisungen und die Repositories, Dateien und Umgebung des Projekts tragen Kontext über Threads hinweg. Sie legen jedes einmal fest und es gilt für jeden neuen Thread.

283 283 

284| Kontext | Was es trägt | Wie Sie es festlegen |284| Kontext | Was es trägt | Wie Sie es festlegen |

285| :--------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |285| :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

286| Projektgedächtnis | Notizen, die Claude über das Projekt behält, wie z. B. Anforderungen, Entscheidungen und Fallstricke, gespeichert als Dateien. Jeder Thread liest die Indexdatei `MEMORY.md`, wenn er startet, und öffnet die anderen Dateien, wenn er sie benötigt | Bitten Sie Claude im Projektgespräch oder einem Thread, eine Anforderung, eine Entscheidung oder einen Fallstrick zu merken, oder einen zu vergessen. Lesen, bearbeiten und löschen Sie die Dateien in **Projekteinstellungen > Speicher** |286| Projektgedächtnis | Notizen, die Claude über das Projekt führt, wie Anforderungen, Entscheidungen und Fallstricke, gespeichert als Dateien. Jeder Thread liest die Indexdatei `MEMORY.md` beim Start und öffnet die anderen Dateien, wenn er sie benötigt | Bitten Sie Claude im Projektgespräch oder in einem beliebigen Thread, sich an eine Anforderung, eine Entscheidung oder einen Fallstrick zu erinnern oder einen zu vergessen. Lesen, bearbeiten und löschen Sie die Dateien in **Projekteinstellungen > Gedächtnis** |

287| Projektanweisungen | Text, der an jeden neuen Thread und an Claude im Projektgespräch gesendet wird, bis zu 16.000 Zeichen. [Schreiben Sie Projektanweisungen](#write-project-instructions) behandelt, was darin zu setzen ist | **Projekteinstellungen > Speicher > Projektanweisungen**, oder bitten Sie Claude, die Anweisungen zu ändern |287| Projektanweisungen | Text, der an jeden neuen Thread und an Claude im Projektgespräch gesendet wird, bis zu 16.000 Zeichen. [Projektanweisungen schreiben](#write-project-instructions) behandelt, was Sie darin einfügen sollten | **Projekteinstellungen > Gedächtnis > Projektanweisungen**, oder bitten Sie Claude, die Anweisungen zu ändern |

288| Repositories, Dateien und Umgebung | Die Repositories, die jeder Thread klont, die Ordner und Dateien, die jeder Thread unter `/mnt/project-files` lesen kann, und die Cloud-Umgebung, in der Threads laufen | Repositories und Umgebung in **Projekteinstellungen > Umgebung**, oder bitten Sie Claude im Gespräch, ein Repository zum Projekt hinzuzufügen. Dateien und Ordner von **Hinzufügen** auf der Registerkarte **Bibliothek** in **Übersicht** |288| Repositories, Dateien und Umgebung | Die Repositories, die jeder Thread klont, die Ordner und Dateien, die jeder Thread unter `/mnt/project-files` lesen kann, und die Cloud-Umgebung, in der Threads ausgeführt werden | Repositories und Umgebung in **Projekteinstellungen > Umgebung**, oder bitten Sie Claude im Gespräch, ein Repository zum Projekt hinzuzufügen. Dateien und Ordner von **Hinzufügen** auf der Registerkarte **Bibliothek** in **Übersicht** |

289 289 

290**Projekteinstellungen > Speicher** listet diese Dateien unter **Auto-Speicher** auf, weil Claude sie selbst schreibt, während er im Projekt arbeitet. Sie sind getrennt vom [Auto-Speicher](/docs/de/memory), den Claude Code auf Ihrem Computer behält, obwohl beide eine `MEMORY.md`-Indexdatei verwenden. Projektgedächtnis ist auch getrennt von den `CLAUDE.md`-Dateien in den Repositories des Projekts. Jeder Thread liest diese `CLAUDE.md`-Dateien immer noch aus seinem Klon, wenn er startet, daher setzen Sie Anweisungen über ein Repository in seine `CLAUDE.md` und Notizen über das Projekt in Projektgedächtnis.290**Projekteinstellungen > Gedächtnis** listet diese Dateien unter **Automatisches Gedächtnis** auf, da Claude sie selbst schreibt, während es im Projekt arbeitet. Sie sind getrennt vom [automatischen Gedächtnis](/docs/de/memory), das Claude Code auf Ihrem Computer führt, obwohl beide einen `MEMORY.md`-Index verwenden. Projektgedächtnis ist auch getrennt von den `CLAUDE.md`-Dateien in den Repositories des Projekts. Jeder Thread liest diese `CLAUDE.md`-Dateien immer noch aus seinem Klon beim Start, also fügen Sie Anweisungen zu einem Repository in seine `CLAUDE.md` ein und Notizen zum Projekt in das Projektgedächtnis.

291 291 

292<h3 id="write-project-instructions">292<h3 id="write-project-instructions">

293 Schreiben Sie Projektanweisungen293 Projektanweisungen schreiben

294</h3>294</h3>

295 295 

296Projektanweisungen sind das Briefing, mit dem jeder neue Thread startet. Klicken Sie auf das Zahnradsymbol in der Projektkopfzeile, um **Projekteinstellungen** zu öffnen, gehen Sie dann zu **Speicher > Projektanweisungen**. Ein nützliches Briefing behandelt:296Projektanweisungen sind das Briefing, mit dem jeder neue Thread beginnt. Klicken Sie auf das Zahnradsymbol in der Projektkopfzeile, um **Projekteinstellungen** zu öffnen, und gehen Sie dann zu **Gedächtnis > Projektanweisungen**. Ein nützliches Briefing behandelt:

297 297 

298* Wofür das Projekt ist298* Wofür das Projekt ist

299* Wo die Arbeit stattfindet: welche Repositories, welcher Branch zum Starten, wie Pull Requests benannt werden299* Wo die Arbeit stattfindet: welche Repositories, von welchem Branch aus zu starten, wie Pull Requests zu benennen sind

300* Wie ein Thread seine eigene Arbeit überprüft, bevor er sie als erledigt bezeichnet300* Wie ein Thread seine eigene Arbeit überprüft, bevor er sie für erledigt erklärt

301* Was zu tun ist, wenn etwas, das es benötigt, fehlt301* Was zu tun ist, wenn etwas, das er benötigt, fehlt

302* Was Ihre Genehmigung zuerst benötigt302* Was zuerst Ihre Zustimmung benötigt

303 303 

304Zum Beispiel:304Zum Beispiel:

305 305 

306```text theme={null}306```text theme={null}

307Dieses Projekt hält die p95-Latenz für die Payments-API unter 200 ms: Profiling, Query- und Caching-Fixes und die Abhängigkeits-Upgrades, die damit einhergehen, im Payments-API-Repository.307Dieses Projekt hält die p95-Latenz für die Payments-API unter 200 ms: Profiling, Abfrage- und Caching-Fixes und die Abhängigkeits-Upgrades, die damit einhergehen, im payments-api-Repository.

308 308 

309- Branch von main und öffnen Sie einen Draft-Pull-Request pro Thread.309- Branch von main und öffnen Sie einen Draft-Pull-Request pro Thread.

310- Bevor Sie die Arbeit als erledigt bezeichnen, führen Sie `make test` und `make lint` aus und fügen Sie die Zusammenfassungszeilen in Ihre letzte Nachricht ein.310- Bevor Sie die Arbeit für erledigt erklären, führen Sie `make test` und `make lint` aus und fügen Sie die Zusammenfassungszeilen in Ihre abschließende Nachricht ein.

311- Wenn Sie etwas nicht erreichen können, das Sie benötigen, wie z. B. ein Repository, ein Geheimnis, eine API oder einen Connector, sagen Sie genau, was in Ihrer ersten Nachricht fehlt, und stoppen Sie. Ersetzen Sie nicht, mocken Sie nicht oder raten Sie nicht.311- Wenn Sie etwas nicht erreichen können, das Sie benötigen, wie ein Repository, ein Secret, eine API oder einen Connector, sagen Sie genau, was in Ihrer ersten Nachricht fehlt und stoppen Sie. Ersetzen Sie nicht, mocken Sie nicht und raten Sie nicht.

312- Mergen Sie nicht, Force-Push nicht oder ändern Sie die CI-Konfiguration nicht, ohne mich im Thread zu fragen.312- Führen Sie keine Merges durch, erzwingen Sie keine Pushes und ändern Sie die CI-Konfiguration nicht, ohne mich im Thread zu fragen.

313```313```

314 314 

315Regeln über ein Repository, wie z. B. seine Build-Befehle, gehören in die `CLAUDE.md` dieses Repositories, die jeder Thread liest, wenn das Repository Teil des Projekts ist. Sobald die Arbeit im Gange ist, wenn Sie einen Thread korrigieren, sagen Sie Claude auch, die Korrektur zu merken: Sie geht in [Projektgedächtnis](#give-a-project-standing-context) und später Threads starten damit.315Regeln zu einem Repository, wie seine Build-Befehle, gehören in die `CLAUDE.md` dieses Repositories, die jeder Thread liest, wenn das Repository Teil des Projekts ist. Sobald die Arbeit im Gange ist, wenn Sie einen Thread korrigieren, sagen Sie Claude auch, dass er die Korrektur merken soll: Sie geht in das [Projektgedächtnis](#give-a-project-standing-context) und später Threads beginnen damit.

316 316 

317<h3 id="decide-which-repositories-to-add">317<h3 id="decide-which-repositories-to-add">

318 Entscheiden Sie, welche Repositories hinzugefügt werden sollen318 Entscheiden Sie, welche Repositories hinzugefügt werden sollen

319</h3>319</h3>

320 320 

321Die Repositories, die Sie zu einem Projekt hinzufügen, kommen mit allem darin, ihrem Code, `CLAUDE.md` und Skills, in jedem Thread. Repositories, die Sie nicht hinzufügen, sind immer noch erreichbar: Ein Thread kann einen zu sich selbst hinzufügen, wenn seine Aufgabe ihn benötigt. Die meisten Projekte verwenden beide:321Die Repositories, die Sie zu einem Projekt hinzufügen, enthalten alles darin, ihren Code, `CLAUDE.md` und Skills, in jedem Thread. Repositories, die Sie nicht hinzufügen, sind immer noch erreichbar: Ein Thread kann eines zu sich selbst hinzufügen, wenn seine Aufgabe es benötigt. Die meisten Projekte verwenden beide:

322 322 

323* **Fügen Sie es zum Projekt hinzu**, im Dialog **Neues Projekt**, in **Projekteinstellungen > Umgebung**, oder indem Sie Claude im Gespräch bitten, es zum Projekt hinzuzufügen. Jeder Thread von da an klont es und startet mit seiner `CLAUDE.md` und seinen Skills geladen, unabhängig davon, ob die Aufgabe ihn berührt. Der Wechsel von einem Repository zu mehreren ändert auch, was Threads aus der `.claude/settings.json` jedes Repositories aufgreifen; siehe [Was Threads aus Ihren Repositories aufgreifen](#what-threads-pick-up-from-your-repositories).323* **Fügen Sie es zum Projekt hinzu**, im Dialog **Neues Projekt**, in **Projekteinstellungen > Umgebung**, oder bitten Sie Claude im Gespräch, es zum Projekt hinzuzufügen. Jeder Thread von da an klont es und startet mit seiner `CLAUDE.md` und seinen Skills geladen, unabhängig davon, ob die Aufgabe es berührt. Der Wechsel von einem Repository zu mehreren ändert auch, was Threads aus der `.claude/settings.json` jedes Repositories aufgreifen; siehe [Was Threads aus Ihren Repositories aufgreifen](#what-threads-pick-up-from-your-repositories).

324* **Lassen Sie es aus und lassen Sie Threads es hinzufügen, wenn nötig.** Ein Thread, dessen Aufgabe ein Repository benötigt, das das Projekt nicht hat, kann es zu sich selbst hinzufügen, und eine Notiz im Thread sagt, dass es nur zu diesem Thread hinzugefügt wurde. Der Klon geschieht teilweise durch die Aufgabe, daher waren die `CLAUDE.md` und Skills dieses Repositories nicht da, als der Thread startete. Der nächste Thread startet ohne ihn erneut. Ein Repository, das ein Thread hinzufügt, benötigt die gleichen [Voraussetzungen](#check-the-prerequisites) wie ein Projekt-Repository: die Claude GitHub App darauf installiert und Push-Zugriff von Ihrem GitHub-Konto.324* **Lassen Sie es weg und lassen Sie Threads es hinzufügen, wenn nötig.** Ein Thread, dessen Aufgabe ein Repository benötigt, das das Projekt nicht hat, kann es zu sich selbst hinzufügen, und eine Notiz im Thread sagt, dass es nur zu diesem Thread hinzugefügt wurde. Der Klon findet teilweise durch die Aufgabe statt, also waren die `CLAUDE.md` und Skills dieses Repositories nicht vorhanden, als der Thread startete. Der nächste Thread startet wieder ohne ihn. Ein Repository, das ein Thread hinzufügt, benötigt die gleichen [Voraussetzungen](#check-the-prerequisites) wie ein Projekt-Repository: die Claude GitHub App ist darauf installiert und Sie haben Push-Zugriff von Ihrem GitHub-Konto.

325 325 

326Ein Projekt benötigt überhaupt kein Repository. Seine Threads können immer noch recherchieren, Dokumente schreiben und Code in ihrer eigenen Sandbox schreiben und ausführen, und sie liefern Dateien auf die Registerkarte **Bibliothek**. Ein Thread dort kann auch ein Repository zu sich selbst hinzufügen, wenn eine Aufgabe einen erfordert.326Ein Projekt benötigt überhaupt kein Repository. Seine Threads können immer noch recherchieren, Dokumente schreiben und Code in ihrer eigenen Sandbox schreiben und ausführen, und sie liefern Dateien auf der Registerkarte **Bibliothek** ab. Ein Thread dort kann auch ein Repository zu sich selbst hinzufügen, wenn eine Aufgabe es erfordert.

327 327 

328Sobald das Projekt Repositories hat, kann Claude nur Repositories von einem GitHub-Besitzer hinzufügen, den das Projekt bereits verwendet, ob es einen zum Projekt hinzufügt oder ein Thread einen zu sich selbst hinzufügt. Um ein Repository von einem anderen Besitzer zu bringen, fügen Sie es selbst in **Projekteinstellungen > Umgebung** hinzu.328Sobald das Projekt Repositories hat, kann Claude nur Repositories von einem GitHub-Besitzer hinzufügen, den das Projekt bereits verwendet, unabhängig davon, ob es eines zum Projekt hinzufügt oder ein Thread eines zu sich selbst hinzufügt. Um ein Repository von einem anderen Besitzer einzubringen, fügen Sie es selbst in **Projekteinstellungen > Umgebung** zum Projekt hinzu.

329 329 

330Für ein Projekt, das viele Repositories umfasst, wie z. B. ein Feature mit Server-, Web-, Mobile- und Desktop-Code, fügen Sie das eine oder zwei Repositories hinzu, die fast jede Aufgabe berührt, und benennen Sie die anderen in [Projektanweisungen](#write-project-instructions), damit Claude weiß, wo der Rest des Codes lebt. Threads starten dann klein und ziehen die anderen Repositories nur für die Aufgaben ein, die sie benötigen.330Für ein Projekt, das viele Repositories umfasst, wie ein Feature mit Server-, Web-, Mobile- und Desktop-Code, fügen Sie das eine oder zwei Repositories hinzu, die fast jede Aufgabe berührt, und nennen Sie die anderen in [Projektanweisungen](#write-project-instructions), damit Claude weiß, wo der Rest des Codes lebt. Threads starten dann klein und ziehen die anderen Repositories nur für die Aufgaben ein, die sie benötigen.

331 331 

332<h3 id="what-threads-pick-up-from-your-repositories">332<h3 id="what-threads-pick-up-from-your-repositories">

333 Was Threads aus Ihren Repositories aufgreifen333 Was Threads aus Ihren Repositories aufgreifen

334</h3>334</h3>

335 335 

336Jeder Thread klont jedes Repository im Projekt und lädt `CLAUDE.md`, Skills und Plugins aus allen. Berechtigungsregeln, Hooks und `env` kommen nur aus der `.claude/settings.json` im Verzeichnis, in dem der Thread startet: innerhalb des Repositories, wenn das Projekt eines hat, und über den Klonen, wenn es mehrere hat, wo keine Datei eines Repositories für sie gelesen wird.336Jeder Thread klont jedes Repository im Projekt und lädt `CLAUDE.md` und Skills aus allen. Berechtigungsregeln, Hooks und `env` kommen nur aus der `.claude/settings.json` in dem Verzeichnis, in dem der Thread startet: innerhalb des Repositories, wenn das Projekt eines hat, und über den Klonen, wenn es mehrere hat, wo keine Datei eines Repositories für sie gelesen wird.

337 337 

338| In jedem Repository | Ein Repository | Mehrere Repositories |338| In jedem Repository | Ein Repository | Mehrere Repositories |

339| :---------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |339| :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------ |

340| `CLAUDE.md` | Geladen, wenn der Thread startet | Geladen aus jedem Repository, wenn der Thread startet |340| `CLAUDE.md` | Geladen, wenn der Thread startet | Geladen aus jedem Repository, wenn der Thread startet |

341| Skills, Agenten und Befehle unter `.claude/` | Geladen | Geladen aus jedem Repository |341| Skills, Agenten und Befehle unter `.claude/` | Geladen | Geladen aus jedem Repository |

342| Plugins, die in `.claude/settings.json` aktiviert sind | Geladen | Geladen aus jedem Repository. Wenn zwei Repositories sich über ein Plugin uneinig sind, legen Sie es in **Projekteinstellungen > Plugins** fest, was Vorrang hat |342| Plugins, die in `.claude/settings.json` aktiviert sind | Nicht geladen. Fügen Sie das Plugin stattdessen in **Projekteinstellungen > Plugins** hinzu | Nicht geladen. Fügen Sie das Plugin stattdessen in **Projekteinstellungen > Plugins** hinzu |

343| Berechtigungsregeln, Hooks und `env`, die in `.claude/settings.json` definiert sind | Gelten für den Thread, außer den `env`-Schlüsseln, die [keine Cloud-Sitzung ehrt](/docs/de/cloud-environments#what-carries-over-from-your-setup) | Gelten nicht |343| Berechtigungsregeln, Hooks und `env`, die in `.claude/settings.json` definiert sind | Gelten für den Thread, außer den `env`-Schlüsseln, die [keine Cloud-Sitzung berücksichtigt](/docs/de/cloud-environments#what-carries-over-from-your-setup) | Gelten nicht |

344 344 

345In einem Projekt mit mehreren Repositories ist jeder Klon an den Thread als [zusätzliches Verzeichnis](/docs/de/memory#load-from-additional-directories) mit aktiviertem `CLAUDE.md`-Laden angehängt, weshalb die `CLAUDE.md` und Skills jedes Repositories beim Start geladen werden, obwohl der Thread über ihnen startet. In jedem Fall laufen Hooks, die ein aktiviertes Plugin bereitstellt, immer noch, da Plugins aus jedem Repository geladen werden. In einem Projekt mit mehreren Repositories setzen Sie stehende Regeln in Projektanweisungen und geben Sie Threads Umgebungsvariablen durch die [Cloud-Umgebung](#choose-an-environment-for-threads).345In einem Projekt mit mehreren Repositories ist jeder Klon an den Thread als [zusätzliches Verzeichnis](/docs/de/memory#load-from-additional-directories) mit aktiviertem `CLAUDE.md`-Laden angehängt, weshalb die `CLAUDE.md` und Skills jedes Repositories beim Start geladen werden, obwohl der Thread über ihnen startet. Legen Sie in einem solchen Projekt stehende Regeln in Projektanweisungen fest und geben Sie Threads Umgebungsvariablen durch die [Cloud-Umgebung](#choose-an-environment-for-threads).

346 346 

347<h3 id="choose-an-environment-for-threads">347<h3 id="choose-an-environment-for-threads">

348 Wählen Sie eine Umgebung für Threads348 Wählen Sie eine Umgebung für Threads

349</h3>349</h3>

350 350 

351Jeder neue Thread startet in der [Cloud-Umgebung](/docs/de/cloud-environments) des Projekts. Die Umgebung legt fest, welche Domains Threads erreichen können, welche Umgebungsvariablen sie haben, welche API-Anmeldedaten zu ihren Anfragen hinzugefügt werden, und was das Setup-Skript vor Claude startet installiert. Threads verwenden eine Standard-Anthropic-gehostete Umgebung, bis Sie eine in **Projekteinstellungen > Umgebung** auswählen.351Jeder neue Thread startet in der [Cloud-Umgebung](/docs/de/cloud-environments) des Projekts. Die Umgebung legt fest, welche Domains Threads erreichen können, welche Umgebungsvariablen sie haben, welche API-Anmeldedaten zu ihren Anfragen hinzugefügt werden, und was das Setup-Skript installiert, bevor Claude startet. Threads verwenden eine Standard-Anthropic-gehostete Umgebung, bis Sie eine in **Projekteinstellungen > Umgebung** auswählen.

352 352 

353Wenn Threads eine interne API oder eine private Paket-Registry erreichen müssen, oder ein Token benötigen, das Ihr Computer normalerweise hält, ändern Sie die Umgebung statt des Projekts: siehe [Netzwerkzugriff](/docs/de/cloud-environments#network-access), [API-Anmeldedaten hinzufügen](/docs/de/cloud-environments#add-api-credentials) und [Setup-Skripte](/docs/de/cloud-environments#setup-scripts).353Wenn Threads eine interne API oder eine private Package-Registry erreichen müssen oder ein Token benötigen, das Ihr Computer normalerweise hält, ändern Sie die Umgebung statt des Projekts: siehe [Netzwerkzugriff](/docs/de/cloud-environments#network-access), [API-Anmeldedaten hinzufügen](/docs/de/cloud-environments#add-api-credentials) und [Setup-Skripte](/docs/de/cloud-environments#setup-scripts).

354 354 

355<h3 id="get-skills-plugins-connectors-and-tools-into-threads">355<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

356 Holen Sie sich Skills, Plugins, Connectors und Tools in Threads356 Bringen Sie Skills, Plugins, Connectors und Tools in Threads

357</h3>357</h3>

358 358 

359Threads sind Cloud-Sitzungen, daher haben sie nicht die Skills, MCP-Server, Plugins und Tools, die nur auf Ihrem Computer installiert sind. Um jedes dieser Elemente für Threads verfügbar zu machen:359Threads sind Cloud-Sitzungen, daher haben sie nicht die Skills, MCP-Server, Plugins und Tools, die nur auf Ihrem Computer installiert sind. Um jedes dieser Elemente für Threads verfügbar zu machen:

360 360 

361* Skills, Subagenten und Befehle: Committen Sie sie zu einem Repository, das Sie zum Projekt hinzugefügt haben, zum Beispiel ein Skill unter `.claude/skills/<skill-name>/SKILL.md`. Jeder Thread klont jedes Repository im Projekt und lädt `.claude/skills/`, `.claude/agents/` und `.claude/commands/` aus jedem, daher ist ein Skill, der zu einem Repository committed ist, in jedem neuen Thread verfügbar. Threads laden auch die Skills, die Sie für Ihr claude.ai-Konto aktivieren.361* Skills, Subagenten und Befehle: Committen Sie sie zu einem Repository, das Sie zum Projekt hinzugefügt haben, zum Beispiel ein Skill unter `.claude/skills/<skill-name>/SKILL.md`. Jeder Thread klont jedes Repository im Projekt und lädt `.claude/skills/`, `.claude/agents/` und `.claude/commands/` aus jedem, also ist ein Skill, der zu einem Repository committed wird, in jedem neuen Thread verfügbar. Threads laden auch die Skills, die Sie für Ihr claude.ai-Konto aktivieren.

362* Plugins: Fügen Sie sie in **Projekteinstellungen > Plugins** hinzu; sie laden in jeden neuen Thread. Plugins, die ein Repository in seiner `.claude/settings.json` deklariert, laden auch; siehe [Was überträgt sich von Ihrer Einrichtung](/docs/de/cloud-environments#what-carries-over-from-your-setup).362* Plugins: Fügen Sie sie in **Projekteinstellungen > Plugins** hinzu; sie werden in jeden neuen Thread geladen. Plugins, die ein Repository in seiner `.claude/settings.json` deklariert, [werden nicht in Threads geladen](/docs/de/cloud-environments#what-carries-over-from-your-setup), da Threads Cloud-Sitzungen sind.

363* MCP-Server: Threads erhalten ihre MCP-Tools von den Connectors auf Ihrem claude.ai-Konto, die MCP-Server sind, die Sie einmal unter [claude.ai/customize/connectors](https://claude.ai/customize/connectors) oder über den Link **Connectors verwalten** in **Projekteinstellungen > Umgebung** verbinden. Jeder Thread kann alle ohne Pro-Projekt-Setup verwenden. Das Projektgespräch selbst hat keine Connectors, daher senden Sie Arbeit, die einen benötigt, als Aufgabe für einen Thread. In einem Projekt mit einem Repository laden Threads auch MCP-Server aus der [`.mcp.json`](/docs/de/cloud-environments#what-carries-over-from-your-setup) dieses Repositories. [Wie Connectors Claude Code erreichen](/docs/de/mcp#how-connectors-reach-claude-code) listet die Regeln für Cloud-Sitzungen und die Einstellungen auf, die Connectors ausschalten.363* MCP-Server: Threads erhalten ihre MCP-Tools von den Connectors auf Ihrem claude.ai-Konto, die MCP-Server sind, die Sie einmal unter [claude.ai/customize/connectors](https://claude.ai/customize/connectors) verbinden oder über den Link **Connectors verwalten** in **Projekteinstellungen > Umgebung**. Jeder Thread kann alle mit keinem projektspezifischen Setup verwenden. Das Projektgespräch selbst hat keine Connectors, also senden Sie Arbeit, die einen benötigt, als Aufgabe für einen Thread. In einem Projekt mit einem Repository laden Threads auch MCP-Server aus der [`.mcp.json`](/docs/de/cloud-environments#what-carries-over-from-your-setup) dieses Repositories. [Wie Connectors Claude Code erreichen](/docs/de/mcp#how-connectors-reach-claude-code) listet die Regeln für Cloud-Sitzungen und die Einstellungen auf, die Connectors ausschalten.

364* Befehlszeilen-Tools und Pakete: Installieren Sie sie im [Setup-Skript](/docs/de/cloud-environments#setup-scripts) der Umgebung.364* Befehlszeilenwerkzeuge und Pakete: Installieren Sie sie im [Setup-Skript](/docs/de/cloud-environments#setup-scripts) der Umgebung.

365 365 

366Um zu sehen, welche Connectors ein laufender Thread unter claude.ai/code hat, öffnen Sie den Thread und wählen Sie **Connectors** aus dem Menü **+** neben seinem Nachrichtenfeld. Das Ausschalten eines Connectors dort entfernt ihn aus diesem Thread und bleibt aus für später gestartete Threads, bis Sie ihn erneut einschalten. Ein Thread nimmt einen Connector auf, den Sie hinzufügen oder erneut verbinden, nachdem die nächste Nachricht, die Sie ihm senden.366Um zu sehen, welche Connectors ein laufender Thread unter claude.ai/code hat, öffnen Sie den Thread und wählen Sie **Connectors** aus dem Menü **+** neben seinem Nachrichtenfeld. Das Ausschalten eines Connectors dort entfernt ihn aus diesem Thread und speichert das als Ihr Kontostandard, also starten neue Threads und claude.ai-Chats ohne ihn, bis Sie ihn wieder einschalten. Ein Thread nimmt einen Connector auf, den Sie hinzufügen oder erneut verbinden, nach der nächsten Nachricht, die Sie ihm senden.

367 367 

368<h2 id="project-settings-reference">368<h2 id="project-settings-reference">

369 Referenz für Projekteinstellungen369 Referenz für Projekteinstellungen

Details

60Passen Sie das Verhalten von Claude Code mit diesen Befehlszeilenflaggen an. `claude --help` listet nicht alle Flaggen auf, daher bedeutet das Fehlen einer Flagge in `--help` nicht, dass sie nicht verfügbar ist.60Passen Sie das Verhalten von Claude Code mit diesen Befehlszeilenflaggen an. `claude --help` listet nicht alle Flaggen auf, daher bedeutet das Fehlen einer Flagge in `--help` nicht, dass sie nicht verfügbar ist.

61 61 

62| Flag | Beschreibung | Beispiel |62| Flag | Beschreibung | Beispiel |

63| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |63| :---------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |

64| `--add-dir` | Fügen Sie zusätzliche Arbeitsverzeichnisse hinzu, damit Claude Dateien lesen und bearbeiten kann. Gewährt Dateizugriff; Claude Code [erkennt](/docs/de/permissions#additional-directories-grant-file-access-not-configuration) die meisten `.claude/`-Konfigurationen aus diesen Verzeichnissen nicht automatisch. Validiert, dass jeder Pfad als Verzeichnis existiert. Sie können die meisten [Netzwerkpfade](/docs/de/errors#working-directory-is-a-network-path) nicht hinzufügen, z. B. `\\server\share`. Um diese Verzeichnisse über Sitzungen hinweg beizubehalten, legen Sie [`permissions.additionalDirectories`](/docs/de/settings-reference#permissions-additionaldirectories) in den Einstellungen fest | `claude --add-dir ../apps ../lib` |64| `--add-dir` | Fügen Sie zusätzliche Arbeitsverzeichnisse hinzu, damit Claude Dateien lesen und bearbeiten kann. Gewährt Dateizugriff; Claude Code [erkennt](/docs/de/permissions#additional-directories-grant-file-access-not-configuration) die meisten `.claude/`-Konfigurationen aus diesen Verzeichnissen nicht automatisch. Validiert, dass jeder Pfad als Verzeichnis existiert. Sie können die meisten [Netzwerkpfade](/docs/de/errors#working-directory-is-a-network-path) nicht hinzufügen, z. B. `\\server\share`. Um diese Verzeichnisse über Sitzungen hinweg beizubehalten, legen Sie [`permissions.additionalDirectories`](/docs/de/settings-reference#permissions-additionaldirectories) in den Einstellungen fest | `claude --add-dir ../apps ../lib` |

65| `--advisor <model>` | Aktivieren Sie das serverseitige [Advisor-Tool](/docs/de/advisor) für diese Sitzung mit einem Modellalias, `fable`, `opus` oder `sonnet`, oder einer vollständigen Modell-ID. Hat Vorrang vor der `advisorModel`-Einstellung für die Sitzung. `fable` erfordert [Fable-Zugriff](/docs/de/advisor#choose-an-advisor-model) | `claude --advisor opus` |65| `--advisor <model>` | Aktivieren Sie das serverseitige [Advisor-Tool](/docs/de/advisor) für diese Sitzung mit einem Modellalias, `fable`, `opus` oder `sonnet`, oder einer vollständigen Modell-ID. Hat Vorrang vor der `advisorModel`-Einstellung für die Sitzung. `fable` erfordert [Fable-Zugriff](/docs/de/advisor#choose-an-advisor-model) | `claude --advisor opus` |

66| `--agent` | Geben Sie einen Agent für die aktuelle Sitzung an (überschreibt die `agent`-Einstellung) | `claude --agent my-custom-agent` |66| `--agent` | Geben Sie einen Agent für die aktuelle Sitzung an (überschreibt die `agent`-Einstellung) | `claude --agent my-custom-agent` |


93| `--exec` | Führen Sie einen Shell-Befehl als PTY-gestützten Hintergrund-Job statt einer Claude-Sitzung aus. Verwenden Sie mit `--bg`, um von der Shell aus zu starten | `claude --bg --exec 'pytest -x'` |93| `--exec` | Führen Sie einen Shell-Befehl als PTY-gestützten Hintergrund-Job statt einer Claude-Sitzung aus. Verwenden Sie mit `--bg`, um von der Shell aus zu starten | `claude --bg --exec 'pytest -x'` |

94| `--fallback-model` | Aktivieren Sie automatisches Fallback auf das angegebene Modell oder die angegebenen Modelle, wenn das primäre Modell überlastet oder nicht verfügbar ist, z. B. ein veraltetes Modell. Akzeptiert eine durch Kommas getrennte Liste, die der Reihe nach versucht wird. Siehe [Fallback-Modellketten](/docs/de/model-config#fallback-model-chains). Um eine Kette über Sitzungen hinweg beizubehalten, verwenden Sie die [`fallbackModel`-Einstellung](/docs/de/settings-reference#fallbackmodel), die diese Flagge überschreibt | `claude --fallback-model sonnet,haiku` |94| `--fallback-model` | Aktivieren Sie automatisches Fallback auf das angegebene Modell oder die angegebenen Modelle, wenn das primäre Modell überlastet oder nicht verfügbar ist, z. B. ein veraltetes Modell. Akzeptiert eine durch Kommas getrennte Liste, die der Reihe nach versucht wird. Siehe [Fallback-Modellketten](/docs/de/model-config#fallback-model-chains). Um eine Kette über Sitzungen hinweg beizubehalten, verwenden Sie die [`fallbackModel`-Einstellung](/docs/de/settings-reference#fallbackmodel), die diese Flagge überschreibt | `claude --fallback-model sonnet,haiku` |

95| `--fork-session` | Erstellen Sie beim Fortsetzen eine neue Sitzungs-ID, anstatt die ursprüngliche wiederzuverwenden (verwenden Sie mit `--resume` oder `--continue`) | `claude --resume abc123 --fork-session` |95| `--fork-session` | Erstellen Sie beim Fortsetzen eine neue Sitzungs-ID, anstatt die ursprüngliche wiederzuverwenden (verwenden Sie mit `--resume` oder `--continue`) | `claude --resume abc123 --fork-session` |

96| `--forward-subagent-text` | Geben Sie [Subagenten](/docs/de/sub-agents)-Text und Thinking-Blöcke im Ausgabestrom als `assistant`- und `user`-Nachrichten mit `parent_tool_use_id` gesetzt aus, damit Sie das Transkript jedes Subagenten rekonstruieren können. Ohne diese Flagge lässt Claude Code den Text und die Thinking-Blöcke eines Subagenten weg, der im [Vordergrund](/docs/de/sub-agents#run-subagents-in-foreground-or-background) ausgeführt wird. Erfordert `--print` und `--output-format stream-json`. Claude Code leitet auch Nachrichten von [verschachtelten Subagenten](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) weiter und setzt `parent_tool_use_id` auf die ID des Agent-Tool-Aufrufs, der jeden spawnt; dies erfordert Claude Code v2.1.219 oder später. Die [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/de/env-vars)-Umgebungsvariable aktiviert das gleiche Verhalten. Erfordert Claude Code v2.1.211 oder später | `claude -p --output-format stream-json --verbose --forward-subagent-text "query"` |96| `--forward-subagent-text` | Geben Sie [Subagenten](/docs/de/sub-agents)-Text und Thinking-Blöcke im Ausgabestrom als `assistant`- und `user`-Nachrichten mit `parent_tool_use_id` gesetzt aus, damit Sie das Transkript jedes Subagenten rekonstruieren können. Ohne diese Flagge lässt Claude Code den Text und die Thinking-Blöcke eines Subagenten weg, der im [Vordergrund](/docs/de/sub-agents#run-subagents-in-foreground-or-background) ausgeführt wird. Erfordert `--print` und `--output-format stream-json`. Claude Code leitet auch Nachrichten von [verschachtelten Subagenten](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) weiter und setzt `parent_tool_use_id` auf die ID des Agent- oder Skill-Tool-Aufrufs, der jeden spawnt; dies erfordert Claude Code v2.1.219 oder später, und Nachrichten von Subagenten, die ein abgespaltener Skill spawnt, und von verschachtelten abgespaltenen Skills erfordern v2.1.275 oder später. Die [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/de/env-vars)-Umgebungsvariable aktiviert das gleiche Verhalten. Erfordert Claude Code v2.1.211 oder später | `claude -p --output-format stream-json --verbose --forward-subagent-text "query"` |

97| `--from-pr` | Öffnen Sie die Sitzungsauswahl gefiltert nach Sitzungen, die mit einem bestimmten Pull Request verknüpft sind. Akzeptiert eine PR-Nummer, eine GitHub- oder GitHub Enterprise-PR-URL, eine GitLab-Merge-Request-URL oder eine Bitbucket-Pull-Request-URL. Sitzungen werden automatisch verknüpft, wenn Claude den Pull Request erstellt | `claude --from-pr 123` |97| `--from-pr` | Öffnen Sie die Sitzungsauswahl gefiltert nach Sitzungen, die mit einem bestimmten Pull Request verknüpft sind. Akzeptiert eine PR-Nummer, eine GitHub- oder GitHub Enterprise-PR-URL, eine GitLab-Merge-Request-URL oder eine Bitbucket-Pull-Request-URL. Sitzungen werden automatisch verknüpft, wenn Claude den Pull Request erstellt | `claude --from-pr 123` |

98| `--ide` | Verbinden Sie sich automatisch beim Start mit der IDE, wenn genau eine gültige IDE verfügbar ist | `claude --ide` |98| `--ide` | Verbinden Sie sich automatisch beim Start mit der IDE, wenn genau eine gültige IDE verfügbar ist | `claude --ide` |

99| `--init` | Führen Sie [Setup-Hooks](/docs/de/hooks#setup) mit dem `init`-Matcher vor der Sitzung aus (nur Print-Modus) | `claude -p --init "query"` |99| `--init` | Führen Sie [Setup-Hooks](/docs/de/hooks#setup) mit dem `init`-Matcher vor der Sitzung aus (nur Print-Modus) | `claude -p --init "query"` |


103| `--input-format` | Geben Sie das Eingabeformat für den Print-Modus an (Optionen: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |103| `--input-format` | Geben Sie das Eingabeformat für den Print-Modus an (Optionen: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |

104| `--json-schema` | Erhalten Sie validierte JSON-Ausgabe, die einem JSON-Schema entspricht, nachdem der Agent seinen Workflow abgeschlossen hat (nur Print-Modus). Siehe [strukturierte Ausgaben](/docs/de/agent-sdk/structured-outputs). Claude Code beendet sich mit einem Fehler bei einem ungültigen Schema und akzeptiert das `format`-Schlüsselwort als Anmerkung ohne clientseitige Validierung | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |104| `--json-schema` | Erhalten Sie validierte JSON-Ausgabe, die einem JSON-Schema entspricht, nachdem der Agent seinen Workflow abgeschlossen hat (nur Print-Modus). Siehe [strukturierte Ausgaben](/docs/de/agent-sdk/structured-outputs). Claude Code beendet sich mit einem Fehler bei einem ungültigen Schema und akzeptiert das `format`-Schlüsselwort als Anmerkung ohne clientseitige Validierung | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |

105| `--maintenance` | Führen Sie [Setup-Hooks](/docs/de/hooks#setup) mit dem `maintenance`-Matcher vor der Sitzung aus (nur Print-Modus) | `claude -p --maintenance "query"` |105| `--maintenance` | Führen Sie [Setup-Hooks](/docs/de/hooks#setup) mit dem `maintenance`-Matcher vor der Sitzung aus (nur Print-Modus) | `claude -p --maintenance "query"` |

106| `--max-budget-usd` | Maximaler Dollarbetrag, der für API-Aufrufe ausgegeben werden soll, bevor gestoppt wird (nur Print-Modus). Ausgaben von [Subagenten](/docs/de/sub-agents) zählen zur Obergrenze. Sobald die Ausgaben die Obergrenze erreichen, schlägt das Spawnen eines anderen Subagenten mit `Budget limit reached` fehl, und Claude Code stoppt Hintergrund-Subagenten, die noch laufen; die Obergrenzendurchsetzungsverhalten erfordern Claude Code v2.1.217 oder später | `claude -p --max-budget-usd 5.00 "query"` |106| `--max-budget-usd` | Maximaler Dollarbetrag, der für API-Aufrufe ausgegeben werden soll, bevor gestoppt wird (nur Print-Modus). Ausgaben von [Subagenten](/docs/de/sub-agents) zählen zur Obergrenze. Wenn Sie zu einer Konversation mit `--continue` oder `--resume` zurückkehren, zählen Gesamtsummen [wiederhergestellt aus früheren Läufen](/docs/de/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) nicht dazu. Sobald die Ausgaben die Obergrenze erreichen, schlägt das Spawnen eines anderen Subagenten mit `Budget limit reached` fehl, und Claude Code stoppt Hintergrund-Subagenten, die noch laufen; die Obergrenzendurchsetzungsverhalten erfordern Claude Code v2.1.217 oder später | `claude -p --max-budget-usd 5.00 "query"` |

107| `--max-turns` | Begrenzen Sie die Anzahl der agentengesteuerten Turns (nur Print-Modus). Beendet sich mit einem Fehler, wenn die Grenze erreicht wird. Standardmäßig keine Grenze. Mit `--input-format stream-json` bleibt eine Nachricht, die noch in die Warteschlange eingereiht ist, wenn die Grenze einen Turn beendet, in der Warteschlange und startet einen neuen Turn mit seiner eigenen Grenze | `claude -p --max-turns 3 "query"` |107| `--max-turns` | Begrenzen Sie die Anzahl der agentengesteuerten Turns (nur Print-Modus). Beendet sich mit einem Fehler, wenn die Grenze erreicht wird. Standardmäßig keine Grenze. Mit `--input-format stream-json` bleibt eine Nachricht, die noch in die Warteschlange eingereiht ist, wenn die Grenze einen Turn beendet, in der Warteschlange und startet einen neuen Turn mit seiner eigenen Grenze | `claude -p --max-turns 3 "query"` |

108| `--mcp-config` | Laden Sie MCP-Server aus JSON-Dateien oder Strings (durch Leerzeichen getrennt). Wenn Sie diese Flagge mit `-p` übergeben, wartet Claude Code darauf, dass noch ausstehende Server verbunden werden, bevor der erste Turn ausgeführt wird, bis zum [`MCP_TIMEOUT`](/docs/de/env-vars)-Starttimeout, standardmäßig 30 Sekunden; ein Server mit einer [zwischengespeicherten Tool-Liste](/docs/de/mcp#managing-your-servers) überspringt das Warten und verbindet sich bei der ersten Verwendung. Das Warten erfordert Claude Code v2.1.221 oder später | `claude --mcp-config ./mcp.json` |108| `--mcp-config` | Laden Sie MCP-Server aus JSON-Dateien oder Strings (durch Leerzeichen getrennt). Wenn Sie diese Flagge mit `-p` übergeben, wartet Claude Code darauf, dass noch ausstehende Server verbunden werden, bevor der erste Turn ausgeführt wird, bis zum [`MCP_TIMEOUT`](/docs/de/env-vars)-Starttimeout, standardmäßig 30 Sekunden; ein Server mit einer [zwischengespeicherten Tool-Liste](/docs/de/mcp#managing-your-servers) überspringt das Warten und verbindet sich bei der ersten Verwendung. Das Warten erfordert Claude Code v2.1.221 oder später | `claude --mcp-config ./mcp.json` |

109| `--model` | Legt das Modell für die aktuelle Sitzung mit einem [Modellalias](/docs/de/model-config#model-aliases) wie `sonnet`, `opus`, `haiku` oder `fable` oder einem vollständigen Modellnamen fest. Überschreibt die [`model`](/docs/de/settings-reference#model)-Einstellung und [`ANTHROPIC_MODEL`](/docs/de/model-config#environment-variables) | `claude --model claude-sonnet-5` |109| `--model` | Legt das Modell für die aktuelle Sitzung mit einem [Modellalias](/docs/de/model-config#model-aliases) wie `sonnet`, `opus`, `haiku` oder `fable` oder einem vollständigen Modellnamen fest. Überschreibt die [`model`](/docs/de/settings-reference#model)-Einstellung und [`ANTHROPIC_MODEL`](/docs/de/model-config#environment-variables) | `claude --model claude-sonnet-5` |


157 157 

158`--system-prompt` und `--system-prompt-file` schließen sich gegenseitig aus. Die Append-Flaggen können mit einer der Ersetzungsflaggen kombiniert werden.158`--system-prompt` und `--system-prompt-file` schließen sich gegenseitig aus. Die Append-Flaggen können mit einer der Ersetzungsflaggen kombiniert werden.

159 159 

160Wenn der Ersetzungstext Anweisungen kombiniert, die bei jedem Lauf gleich sind, mit Kontext, der sich pro Lauf ändert, fügen Sie eine Zeile ein, die nur `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` enthält, zwischen den Anweisungen und dem Kontext. Claude Code teilt den Prompt an der ersten solchen Zeile auf und entfernt diese Zeile, sodass der Teil darüber zwischengespeichert bleibt, während sich der Teil darunter ändert. Erfordert Claude Code v2.1.275 oder später. [Zwischengespeichern Sie den statischen Teil eines benutzerdefinierten Prompts](/docs/de/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt) listet die Konfigurationen auf, wo die Aufteilung gilt.

161 

160Wählen Sie basierend darauf, ob Claudes Standard-Identität immer noch zu Ihrer Aufgabe passt. Verwenden Sie eine Append-Flagge, wenn Claude ein Coding-Assistent bleiben sollte, der auch Ihre zusätzlichen Regeln befolgt: Pro-Aufruf-Anweisungen, Ausgabeformatierung oder Domänenkontext für ein `-p`-Skript. Das Anhängen bewahrt die Standard-Tool-Anleitung, Sicherheitsanweisungen und Coding-Konventionen, daher müssen Sie nur das liefern, was sich unterscheidet. Verwenden Sie eine Ersetzungsflagge, wenn sich die Oberfläche, Identität oder das Berechtigungsmodell von Claude Code unterscheidet, wie ein nicht-Coding-Agent in einer Pipeline, die kein Mensch überwacht. Das Ersetzen lässt den gesamten Standard-Prompt fallen, einschließlich Tool-Anleitung und Sicherheitsanweisungen, daher übernehmen Sie die Verantwortung für das, was Ihre Aufgabe noch benötigt.162Wählen Sie basierend darauf, ob Claudes Standard-Identität immer noch zu Ihrer Aufgabe passt. Verwenden Sie eine Append-Flagge, wenn Claude ein Coding-Assistent bleiben sollte, der auch Ihre zusätzlichen Regeln befolgt: Pro-Aufruf-Anweisungen, Ausgabeformatierung oder Domänenkontext für ein `-p`-Skript. Das Anhängen bewahrt die Standard-Tool-Anleitung, Sicherheitsanweisungen und Coding-Konventionen, daher müssen Sie nur das liefern, was sich unterscheidet. Verwenden Sie eine Ersetzungsflagge, wenn sich die Oberfläche, Identität oder das Berechtigungsmodell von Claude Code unterscheidet, wie ein nicht-Coding-Agent in einer Pipeline, die kein Mensch überwacht. Das Ersetzen lässt den gesamten Standard-Prompt fallen, einschließlich Tool-Anleitung und Sicherheitsanweisungen, daher übernehmen Sie die Verantwortung für das, was Ihre Aufgabe noch benötigt.

161 163 

162Für persistente Personas, die Sie zwischen ihnen wechseln und über ein Projekt hinweg teilen können, verwenden Sie [Ausgabestile](/docs/de/output-styles). Für Projektkonventionen, die Claude immer befolgen sollte, verwenden Sie [CLAUDE.md](/docs/de/memory). Der [Agent SDK-Leitfaden zu System-Prompts](/docs/de/agent-sdk/modifying-system-prompts#decide-on-a-starting-point) behandelt die gleiche Entscheidung ausführlicher.164Für persistente Personas, die Sie zwischen ihnen wechseln und über ein Projekt hinweg teilen können, verwenden Sie [Ausgabestile](/docs/de/output-styles). Für Projektkonventionen, die Claude immer befolgen sollte, verwenden Sie [CLAUDE.md](/docs/de/memory). Der [Agent SDK-Leitfaden zu System-Prompts](/docs/de/agent-sdk/modifying-system-prompts#decide-on-a-starting-point) behandelt die gleiche Entscheidung ausführlicher.

Details

300| Die `.mcp.json` MCP-Server Ihres Repos | Ja, in einer Sitzung mit einem Repository | Teil des Klons, gefunden aus dem Arbeitsverzeichnis der Sitzung |300| Die `.mcp.json` MCP-Server Ihres Repos | Ja, in einer Sitzung mit einem Repository | Teil des Klons, gefunden aus dem Arbeitsverzeichnis der Sitzung |

301| Das `.claude/rules/` Ihres Repos | Ja | Teil des Klons |301| Das `.claude/rules/` Ihres Repos | Ja | Teil des Klons |

302| Die `.claude/skills/`, `.claude/agents/`, `.claude/commands/` Ihres Repos | Ja | Teil des Klons |302| Die `.claude/skills/`, `.claude/agents/`, `.claude/commands/` Ihres Repos | Ja | Teil des Klons |

303| Plugins, die in `.claude/settings.json` deklariert sind | Ja | Installiert beim Sitzungsstart aus dem [Marketplace](/docs/de/plugin-marketplaces), den Sie deklariert haben. Erfordert Netzwerkzugriff, um die Marketplace-Quelle zu erreichen |303| Plugins und Marketplaces, die in der `.claude/settings.json` Ihres Repos deklariert sind | Nein | Eine Cloud-Sitzung installiert nicht die Plugins, die ein Repository unter [`enabledPlugins`](/docs/de/settings-reference#enabledplugins) aktiviert, einschließlich solcher aus den Marketplaces, die es unter [`extraKnownMarketplaces`](/docs/de/settings-reference#extraknownmarketplaces) auflistet. Aktivieren Sie das Plugin stattdessen für Ihr claude.ai-Konto, damit Claude Code es als [synced plugin](/docs/de/plugins-reference#synced-plugins) lädt |

304| Die [Server-verwalteten Einstellungen](/docs/de/server-managed-settings) Ihrer Organisation | Ja | Abgerufen von Anthropic-Servern, wenn die Sitzung startet. Siehe [Surface coverage](/docs/de/model-config#surface-coverage) für die Durchsetzung von `availableModels` in Cloud-Sitzungen. Einstellungen, die auf Ihrem Gerät über MDM oder verwaltete Einstellungsdateien bereitgestellt werden, gelten nicht, da die Sitzung auf einer von Anthropic verwalteten VM läuft; in einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) lesen Sitzungen auch die verwaltete Einstellungsdatei im Runner-Image, pro [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) |304| Die [Server-verwalteten Einstellungen](/docs/de/server-managed-settings) Ihrer Organisation | Ja | Abgerufen von Anthropic-Servern, wenn die Sitzung startet. Siehe [Surface coverage](/docs/de/model-config#surface-coverage) für die Durchsetzung von `availableModels` in Cloud-Sitzungen. Einstellungen, die auf Ihrem Gerät über MDM oder verwaltete Einstellungsdateien bereitgestellt werden, gelten nicht, da die Sitzung auf einer von Anthropic verwalteten VM läuft; in einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) lesen Sitzungen auch die verwaltete Einstellungsdatei im Runner-Image, pro [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) |

305| Ihre Benutzer `~/.claude/CLAUDE.md` | Nein | Lebt auf Ihrem Computer, nicht im Repo |305| Ihre Benutzer `~/.claude/CLAUDE.md` | Nein | Lebt auf Ihrem Computer, nicht im Repo |

306| Ihre Benutzer `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | Nein | Leben auf Ihrem Computer, nicht im Repo. Committen Sie sie stattdessen in das Verzeichnis `.claude/` des Repos. Cloud-Sitzungen laden automatisch Skills, die Sie auf claude.ai aktivieren |306| Ihre Benutzer `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | Nein | Leben auf Ihrem Computer, nicht im Repo. Committen Sie sie stattdessen in das Verzeichnis `.claude/` des Repos. Cloud-Sitzungen laden automatisch Skills, die Sie auf claude.ai aktivieren |

307| Plugins, die nur in Ihren Benutzereinstellungen aktiviert sind | Nein | Benutzer-scoped `enabledPlugins` lebt in `~/.claude/settings.json`. Deklarieren Sie sie stattdessen in der `.claude/settings.json` des Repos, oder aktivieren Sie sie für Ihr claude.ai-Konto, damit Claude Code sie als [synced plugins](/docs/de/plugins-reference#synced-plugins) lädt |307| Plugins, die nur in Ihren Benutzereinstellungen aktiviert sind | Nein | Benutzer-scoped `enabledPlugins` lebt in `~/.claude/settings.json` auf Ihrem Computer. Aktivieren Sie sie stattdessen für Ihr claude.ai-Konto, damit Claude Code sie als [synced plugins](/docs/de/plugins-reference#synced-plugins) lädt |

308| MCP-Server, die Sie mit `claude mcp add` im Standard-lokalen Bereich oder Benutzerbereich hinzugefügt haben | Nein | Diese schreiben in `~/.claude.json` auf Ihrem Computer, nicht im Repo. Fügen Sie den Server mit `claude mcp add --scope project` hinzu, das die [`.mcp.json`](/docs/de/mcp#project-scope) des Repos schreibt, und committen Sie diese Datei. Eine Sitzung mit einem Repository lädt sie |308| MCP-Server, die Sie mit `claude mcp add` im Standard-lokalen Bereich oder Benutzerbereich hinzugefügt haben | Nein | Diese schreiben in `~/.claude.json` auf Ihrem Computer, nicht im Repo. Fügen Sie den Server mit `claude mcp add --scope project` hinzu, das die [`.mcp.json`](/docs/de/mcp#project-scope) des Repos schreibt, und committen Sie diese Datei. Eine Sitzung mit einem Repository lädt sie |

309| Transport-Variablen in der `.claude/settings.json` `env`-Block Ihres Repos, wie `NODE_EXTRA_CA_CERTS` und die [mTLS-Client-Zertifikat-Variablen](/docs/de/network-config#mtls-authentication) | Nein | Die Hosting-Umgebung verwaltet die API-Verbindung der Sitzung, daher ignoriert Claude Code diese Schlüssel und notiert jeden ignorierten Schlüssel im Debug-Log der Sitzung |309| Transport-Variablen in der `.claude/settings.json` `env`-Block Ihres Repos, wie `NODE_EXTRA_CA_CERTS` und die [mTLS-Client-Zertifikat-Variablen](/docs/de/network-config#mtls-authentication) | Nein | Die Hosting-Umgebung verwaltet die API-Verbindung der Sitzung, daher ignoriert Claude Code diese Schlüssel und notiert jeden ignorierten Schlüssel im Debug-Log der Sitzung |

310| API-Schlüssel und Tokens für Services, die Claude aufruft | Auf Pro- und Max-Plänen, als [API-Anmeldedaten](#add-api-credentials) | Sie fügen den Schlüssel einmal auf der Umgebung hinzu und der Agent-Proxy fügt ihn an Anfragen für die Hosts an, die Sie auflisten. Ein Schlüssel, den der Agent-Proxy [nicht anhängen kann](#requests-that-never-get-the-credential), oder ein beliebiger Schlüssel auf einem Team- oder Enterprise-Plan, bleibt in einer Umgebungsvariable |310| API-Schlüssel und Tokens für Services, die Claude aufruft | Auf Pro- und Max-Plänen, als [API-Anmeldedaten](#add-api-credentials) | Sie fügen den Schlüssel einmal auf der Umgebung hinzu und der Agent-Proxy fügt ihn an Anfragen für die Hosts an, die Sie auflisten. Ein Schlüssel, den der Agent-Proxy [nicht anhängen kann](#requests-that-never-get-the-credential), oder ein beliebiger Schlüssel auf einem Team- oder Enterprise-Plan, bleibt in einer Umgebungsvariable |

commands.md +5 −4

Details

26 26 

27**Arbeiten parallel ausführen.** Claude delegiert Nebenaufgaben an [Subagenten](/docs/de/sub-agents), und `/tasks` listet die Hintergrundarbeiten der aktuellen Sitzung auf, einschließlich Subagenten, die fertig sind. `/background` trennt die gesamte Sitzung ab, um als [Hintergrund-Agent](/docs/de/agent-view) weiter zu laufen, und gibt Ihr Terminal frei. Für eine große Änderung, die sich über die Codebasis erstreckt, zerlegt `/batch` sie in unabhängige Einheiten und führt jede in ihrem eigenen [Worktree](/docs/de/worktrees) aus. Siehe [Agenten parallel ausführen](/docs/de/agents), um zu verstehen, wie diese Ansätze zusammenhängen.27**Arbeiten parallel ausführen.** Claude delegiert Nebenaufgaben an [Subagenten](/docs/de/sub-agents), und `/tasks` listet die Hintergrundarbeiten der aktuellen Sitzung auf, einschließlich Subagenten, die fertig sind. `/background` trennt die gesamte Sitzung ab, um als [Hintergrund-Agent](/docs/de/agent-view) weiter zu laufen, und gibt Ihr Terminal frei. Für eine große Änderung, die sich über die Codebasis erstreckt, zerlegt `/batch` sie in unabhängige Einheiten und führt jede in ihrem eigenen [Worktree](/docs/de/worktrees) aus. Siehe [Agenten parallel ausführen](/docs/de/agents), um zu verstehen, wie diese Ansätze zusammenhängen.

28 28 

29**Bevor Sie versenden.** `/diff` zeigt, was sich geändert hat. `/code-review` überprüft den aktuellen Diff auf Korrektheitsfehler und Bereinigungen und kann die Ergebnisse mit `--fix` anwenden; übergeben Sie eine PR-Nummer, z. B. `/code-review high 1234`, um stattdessen einen Pull Request zu überprüfen. `/review` ist ein Alias. `/code-review ultra` führt eine Multi-Agent-Überprüfung in der Cloud aus. `/security-review` überprüft den Diff auf Sicherheitslücken.29**Bevor Sie versenden.** `/diff` zeigt, was sich geändert hat. `/code-review` überprüft den aktuellen Diff auf Korrektheitsfehler und kann die Ergebnisse mit `--fix` anwenden; übergeben Sie eine PR-Nummer, z. B. `/code-review high 1234`, um stattdessen einen Pull Request zu überprüfen. `/review` ist ein Alias. `/code-review ultra` führt eine Multi-Agent-Überprüfung in der Cloud aus. `/security-review` überprüft den Diff auf Sicherheitslücken.

30 30 

31**Zwischen Sitzungen.** `/clear` startet eine neue Aufgabe neu, während die Projektmemory erhalten bleibt. `/resume` kehrt zu einem früheren Gespräch zurück, `/branch` verzweigt das aktuelle, um eine andere Richtung zu versuchen, und `/fork` kopiert es in eine neue [Hintergrund-Sitzung](/docs/de/agent-view). `/teleport` zieht eine Cloud-Sitzung in dieses Terminal, und `/remote-control` ermöglicht es Ihnen, diese lokale Sitzung von einem anderen Gerät aus fortzusetzen.31**Zwischen Sitzungen.** `/clear` startet eine neue Aufgabe neu, während die Projektmemory erhalten bleibt. `/resume` kehrt zu einem früheren Gespräch zurück, `/branch` verzweigt das aktuelle, um eine andere Richtung zu versuchen, und `/fork` kopiert es in eine neue [Hintergrund-Sitzung](/docs/de/agent-view). `/teleport` zieht eine Cloud-Sitzung in dieses Terminal, und `/remote-control` ermöglicht es Ihnen, diese lokale Sitzung von einem anderen Gerät aus fortzusetzen.

32 32 


69| `/chrome` | Konfigurieren Sie [Claude in Chrome](/docs/de/chrome)-Einstellungen |69| `/chrome` | Konfigurieren Sie [Claude in Chrome](/docs/de/chrome)-Einstellungen |

70| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb]` | **[Skill](/docs/de/skills#bundled-skills).** Laden Sie [Claude API](https://platform.claude.com/docs/en/api/overview)- und [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview)-Referenzmaterial für die Sprache Ihres Projekts. Wird auch automatisch aktiviert, wenn Ihr Code `anthropic` oder `@anthropic-ai/sdk` importiert. Führen Sie `migrate` aus, um vorhandenen Claude API-Code auf ein neueres Modell zu aktualisieren. Führen Sie `upgrade` aus, um die Anthropic SDK-Abhängigkeit Ihres Projekts über eine Hauptversion zu verschieben, derzeit das Python-Paket `anthropic` von 0.x zu 1.x. Führen Sie `managed-agents-onboard` für eine Anleitung aus, die einen neuen Managed Agent erstellt. Führen Sie `prompt-audit` aus, um Anweisungen zu kennzeichnen, die für ältere Modelle in Ihren Prompts, Skills und Tool-Beschreibungen geschrieben wurden, und schlagen Sie Fixes als Diff vor. Führen Sie `cost-optimize` aus, um zu profilieren, wohin die Claude API-Ausgaben Ihres Projekts gehen, und schlagen Sie Einsparungen aus Optionen wie Prompt-Caching, Trimmen unnötiger Input- und Output-Token, Batch-Verarbeitung, Aufwand und Modellwahl vor, eine Änderung nach der anderen. Führen Sie `build-eval` aus, um einen Eval-Satz für Ihre Claude-gestützte App zu erstellen, und `hillclimb`, um die App iterativ gegen einen vorhandenen Eval zu verbessern. Der Subbefehl `prompt-audit` erfordert Claude Code v2.1.221 oder später, `upgrade` erfordert v2.1.236 oder später, `cost-optimize` erfordert v2.1.247 oder später, und `build-eval` und `hillclimb` erfordern v2.1.259 oder später |70| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb]` | **[Skill](/docs/de/skills#bundled-skills).** Laden Sie [Claude API](https://platform.claude.com/docs/en/api/overview)- und [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview)-Referenzmaterial für die Sprache Ihres Projekts. Wird auch automatisch aktiviert, wenn Ihr Code `anthropic` oder `@anthropic-ai/sdk` importiert. Führen Sie `migrate` aus, um vorhandenen Claude API-Code auf ein neueres Modell zu aktualisieren. Führen Sie `upgrade` aus, um die Anthropic SDK-Abhängigkeit Ihres Projekts über eine Hauptversion zu verschieben, derzeit das Python-Paket `anthropic` von 0.x zu 1.x. Führen Sie `managed-agents-onboard` für eine Anleitung aus, die einen neuen Managed Agent erstellt. Führen Sie `prompt-audit` aus, um Anweisungen zu kennzeichnen, die für ältere Modelle in Ihren Prompts, Skills und Tool-Beschreibungen geschrieben wurden, und schlagen Sie Fixes als Diff vor. Führen Sie `cost-optimize` aus, um zu profilieren, wohin die Claude API-Ausgaben Ihres Projekts gehen, und schlagen Sie Einsparungen aus Optionen wie Prompt-Caching, Trimmen unnötiger Input- und Output-Token, Batch-Verarbeitung, Aufwand und Modellwahl vor, eine Änderung nach der anderen. Führen Sie `build-eval` aus, um einen Eval-Satz für Ihre Claude-gestützte App zu erstellen, und `hillclimb`, um die App iterativ gegen einen vorhandenen Eval zu verbessern. Der Subbefehl `prompt-audit` erfordert Claude Code v2.1.221 oder später, `upgrade` erfordert v2.1.236 oder später, `cost-optimize` erfordert v2.1.247 oder später, und `build-eval` und `hillclimb` erfordern v2.1.259 oder später |

71| `/clear [name]` | Starten Sie eine neue Konversation mit leerem Kontext. Übergeben Sie einen Namen, um die vorherige Konversation in der `/resume`-Auswahl zu kennzeichnen. Um Kontext freizugeben und gleichzeitig die gleiche Konversation fortzusetzen, verwenden Sie stattdessen `/compact`. Setzen Sie die vorherige Konversation mit `/resume` fort, oder stellen Sie sie in demselben Claude Code-Prozess wieder her, aus [dem Rewind-Menü-Eintrag der vorherigen Sitzung](/docs/de/checkpointing#rewind-past-a-cleared-conversation). Der Rewind-Eintrag erfordert Claude Code v2.1.191 oder später. Aliase: `/reset`, `/new` |71| `/clear [name]` | Starten Sie eine neue Konversation mit leerem Kontext. Übergeben Sie einen Namen, um die vorherige Konversation in der `/resume`-Auswahl zu kennzeichnen. Um Kontext freizugeben und gleichzeitig die gleiche Konversation fortzusetzen, verwenden Sie stattdessen `/compact`. Setzen Sie die vorherige Konversation mit `/resume` fort, oder stellen Sie sie in demselben Claude Code-Prozess wieder her, aus [dem Rewind-Menü-Eintrag der vorherigen Sitzung](/docs/de/checkpointing#rewind-past-a-cleared-conversation). Der Rewind-Eintrag erfordert Claude Code v2.1.191 oder später. Aliase: `/reset`, `/new` |

72| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/de/skills#bundled-skills).** Überprüfen Sie den aktuellen Diff oder eine PR-Nummer, einen Branch oder einen Pfad, den Sie übergeben, auf Korrektheitsfehler und Bereinigungsmöglichkeiten. Übergeben Sie `--fix`, um Erkenntnisse anzuwenden, `--comment`, um sie auf dem GitHub PR oder GitLab Merge Request zu posten, oder `ultra`, um eine tiefe [Cloud-Überprüfung](/docs/de/ultrareview) auszuführen. Das Posten auf einem GitLab Merge Request erfordert Claude Code v2.1.257 oder später. Mit `ultra` auf einem `github.com`-PR-Ziel übergeben Sie `--post`, um [das Posten der fertigen Erkenntnisse zum PR](/docs/de/ultrareview#post-findings-to-the-pull-request) im Launch-Dialog vorzuwählen; `--post` erfordert Claude Code v2.1.227 oder später. Siehe [Diff lokal überprüfen](/docs/de/code-review#review-a-diff-locally) für die Aufwandsebenen, Zielbestimmung und wie es sich auf `/simplify` bezieht. Alias: `/review` |72| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/de/skills#bundled-skills).** Überprüfen Sie den aktuellen Diff oder eine PR-Nummer, einen Branch oder einen Pfad, den Sie übergeben, auf Korrektheitsfehler. Je nach Ihrem Modell und Aufwandsebene deckt die Überprüfung auch Bereinigungsmöglichkeiten ab. Übergeben Sie `--fix`, um Erkenntnisse anzuwenden, `--comment`, um sie auf dem GitHub PR oder GitLab Merge Request zu posten, oder `ultra`, um eine tiefe [Cloud-Überprüfung](/docs/de/ultrareview) auszuführen. Das Posten auf einem GitLab Merge Request erfordert Claude Code v2.1.257 oder später. Mit `ultra` auf einem `github.com`-PR-Ziel übergeben Sie `--post`, um [das Posten der fertigen Erkenntnisse zum PR](/docs/de/ultrareview#post-findings-to-the-pull-request) im Launch-Dialog vorzuwählen; `--post` erfordert Claude Code v2.1.227 oder später. Siehe [Diff lokal überprüfen](/docs/de/code-review#review-a-diff-locally) für die Aufwandsebenen, Zielbestimmung und wie es sich auf `/simplify` bezieht. Alias: `/review` |

73| `/color [color\|default]` | Legen Sie die Farbe der Eingabeaufforderungsleiste für die aktuelle Sitzung fest. Verfügbare Farben: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Verwenden Sie `default`, um zurückzusetzen, oder führen Sie ohne Argument aus, um eine zufällige Farbe zu wählen. Wenn [Remote Control](/docs/de/remote-control) verbunden ist, wird die Farbe mit claude.ai/code synchronisiert. Auch im nicht-interaktiven Modus (`-p`) verfügbar; erfordert Claude Code v2.1.205 oder später |73| `/color [color\|default]` | Legen Sie die Farbe der Eingabeaufforderungsleiste für die aktuelle Sitzung fest. Verfügbare Farben: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Verwenden Sie `default`, um zurückzusetzen, oder führen Sie ohne Argument aus, um eine zufällige Farbe zu wählen. Wenn [Remote Control](/docs/de/remote-control) verbunden ist, wird die Farbe mit claude.ai/code synchronisiert. Auch im nicht-interaktiven Modus (`-p`) verfügbar; erfordert Claude Code v2.1.205 oder später |

74| `/compact [instructions]` | Geben Sie Kontext frei, indem Sie die bisherige Konversation zusammenfassen. Übergeben Sie optional Fokusanweisungen für die Zusammenfassung. Siehe [wie Komprimierung Regeln, Skills und Memory-Dateien handhabt](/docs/de/context-window#what-survives-compaction) |74| `/compact [instructions]` | Geben Sie Kontext frei, indem Sie die bisherige Konversation zusammenfassen. Übergeben Sie optional Fokusanweisungen für die Zusammenfassung. Siehe [wie Komprimierung Regeln, Skills und Memory-Dateien handhabt](/docs/de/context-window#what-survives-compaction) |

75| `/config [key=value ...]` | Öffnen Sie die [Einstellungen](/docs/de/settings)-Schnittstelle, um Design, Modell, [Ausgabestil](/docs/de/output-styles) und andere Voreinstellungen anzupassen. Übergeben Sie ein oder mehrere `key=value`-Paare, um eine Einstellung direkt festzulegen, ohne die Schnittstelle zu öffnen, z. B. `/config thinking=false`, `/config theme=dark` oder `/config model=sonnet`. Das `key=value`-Formular funktioniert auch im nicht-interaktiven Modus (`-p`) und aus der Claude Mobile App über [Remote Control](/docs/de/remote-control). Das `key=value`-Formular kann eine Einstellung, die Ihre Bestätigung im Panel benötigt, nicht aktivieren, wie z. B. [`autoContinueAtUsageLimit`](/docs/de/interactive-mode#turn-automatic-continue-off), kann sie aber deaktivieren. Führen Sie `/config --help` aus, um die Schlüssel aufzulisten, die es akzeptiert. Alias: `/settings` |75| `/config [key=value ...]` | Öffnen Sie die [Einstellungen](/docs/de/settings)-Schnittstelle, um Design, Modell, [Ausgabestil](/docs/de/output-styles) und andere Voreinstellungen anzupassen. Übergeben Sie ein oder mehrere `key=value`-Paare, um eine Einstellung direkt festzulegen, ohne die Schnittstelle zu öffnen, z. B. `/config thinking=false`, `/config theme=dark` oder `/config model=sonnet`. Das `key=value`-Formular funktioniert auch im nicht-interaktiven Modus (`-p`) und aus der Claude Mobile App über [Remote Control](/docs/de/remote-control). Das `key=value`-Formular kann eine Einstellung, die Ihre Bestätigung im Panel benötigt, nicht aktivieren, wie z. B. [`autoContinueAtUsageLimit`](/docs/de/interactive-mode#turn-automatic-continue-off), kann sie aber deaktivieren. Führen Sie `/config --help` aus, um die Schlüssel aufzulisten, die es akzeptiert. Alias: `/settings` |


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

86| `/diff` | Überprüfen Sie die Änderungen in Ihrem Arbeitsbaum, einschließlich der Änderungen, die Claude bisher vorgenommen hat. Siehe [Änderungen mit /diff überprüfen](/docs/de/interactive-mode#review-changes-with-%2Fdiff) |86| `/diff` | Überprüfen Sie die Änderungen in Ihrem Arbeitsbaum, einschließlich der Änderungen, die Claude bisher vorgenommen hat. Siehe [Änderungen mit /diff überprüfen](/docs/de/interactive-mode#review-changes-with-%2Fdiff) |

87| `/doctor` | **[Skill](/docs/de/skills#bundled-skills).** Führen Sie eine Setup-Überprüfung aus, die Probleme diagnostiziert und beheben kann. Überprüft die Installationsintegrität, einschließlich doppelter oder verbleibender Installationen, `PATH`-Problemen und nicht analysierbaren Einstellungsdateien. Findet ungenutzte Skills, MCP-Server und Plugins im Vergleich zu ihren Kontextkosten, kennzeichnet langsame [Hooks](/docs/de/hooks) und überprüft auf eine neuere Version auf Ihrem [Release-Kanal](/docs/de/setup#configure-release-channel). Dedupliziert lokale `CLAUDE.md`-Dateien gegen eingecheckte, trimmt eingecheckte [`CLAUDE.md`](/docs/de/memory#my-claude-md-is-too-large)-Dateien, indem Inhalte gekürzt werden, die Claude aus der Codebasis ableiten könnte, und migriert die immer geladene Anleitung, die bleibt, in [Skills](/docs/de/skills) und verschachtelte `CLAUDE.md`-Dateien, die bei Bedarf geladen werden. Bietet auch an, [Auto-Modus](/docs/de/permissions#permission-modes) zu Ihrem Standard zu machen und häufig abgelehnte schreibgeschützte Befehle [vorab zu genehmigen](/docs/de/permissions). Meldet Erkenntnisse zuerst und fragt um Bestätigung, bevor etwas geändert wird. Vom Terminal aus druckt `claude doctor` schreibgeschützte Installationsdiagnostiken, ohne eine Sitzung zu starten. Alias: `/checkup`. Die `CLAUDE.md`-Trimm-Überprüfung erfordert Claude Code v2.1.206 oder später. Vor v2.1.205 öffnete `/doctor` einen schreibgeschützten Diagnose-Bildschirm und das Drücken von `f` sendete den Bericht an Claude |87| `/doctor` | **[Skill](/docs/de/skills#bundled-skills).** Führen Sie eine Setup-Überprüfung aus, die Probleme diagnostiziert und beheben kann. Überprüft die Installationsintegrität, einschließlich doppelter oder verbleibender Installationen, `PATH`-Problemen und nicht analysierbaren Einstellungsdateien. Findet ungenutzte Skills, MCP-Server und Plugins im Vergleich zu ihren Kontextkosten, kennzeichnet langsame [Hooks](/docs/de/hooks) und überprüft auf eine neuere Version auf Ihrem [Release-Kanal](/docs/de/setup#configure-release-channel). Dedupliziert lokale `CLAUDE.md`-Dateien gegen eingecheckte, trimmt eingecheckte [`CLAUDE.md`](/docs/de/memory#my-claude-md-is-too-large)-Dateien, indem Inhalte gekürzt werden, die Claude aus der Codebasis ableiten könnte, und migriert die immer geladene Anleitung, die bleibt, in [Skills](/docs/de/skills) und verschachtelte `CLAUDE.md`-Dateien, die bei Bedarf geladen werden. Bietet auch an, [Auto-Modus](/docs/de/permissions#permission-modes) zu Ihrem Standard zu machen und häufig abgelehnte schreibgeschützte Befehle [vorab zu genehmigen](/docs/de/permissions). Meldet Erkenntnisse zuerst und fragt um Bestätigung, bevor etwas geändert wird. Vom Terminal aus druckt `claude doctor` schreibgeschützte Installationsdiagnostiken, ohne eine Sitzung zu starten. Alias: `/checkup`. Die `CLAUDE.md`-Trimm-Überprüfung erfordert Claude Code v2.1.206 oder später. Vor v2.1.205 öffnete `/doctor` einen schreibgeschützten Diagnose-Bildschirm und das Drücken von `f` sendete den Bericht an Claude |

88| `/effort [level\|auto\|status]` | Legen Sie die [Aufwandsebene](/docs/de/model-config#adjust-effort-level) fest: `low` bis `xhigh`, `max`, [`ultracode`](/docs/de/workflows#let-claude-decide-with-ultracode) oder `auto`; `status` druckt sie. `max` und `ultracode` sind nur für Sitzungen; der [`ultracode`](/docs/de/settings-reference#ultracode)-Schlüssel bleibt bestehen. Führen Sie ihn aus, während Claude antwortet, und sobald Sie die [Cache-Warnung](/docs/de/prompt-caching#changing-effort-level) bestätigen, wenn Claude Code eine anzeigt, wendet Claude Code die neue Ebene auf die nächste Anfrage in dieser Runde an. Vor v2.1.242 entschied Claude Code anhand eines Feature-Flags, das es von Anthropic abrief, ob der Befehl in der Mitte der Runde oder in der Warteschlange bis zum Ende der Runde ausgeführt werden sollte, und stellte ihn immer in die Warteschlange in einer Sitzung, die [Feature-Flags nicht abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching), wie auf einem [Drittanbieter](/docs/de/third-party-integrations). Funktioniert in `-p` außerhalb des [Aufwands-Holds](/docs/de/model-config#adjust-effort-level) |88| `/effort [level\|auto\|status]` | Legen Sie die [Aufwandsebene](/docs/de/model-config#adjust-effort-level) fest: `low` bis `xhigh`, `max`, [`ultracode`](/docs/de/workflows#let-claude-decide-with-ultracode) oder `auto`; `status` druckt sie. `max` und `ultracode` sind nur für Sitzungen; der [`ultracode`](/docs/de/settings-reference#ultracode)-Schlüssel bleibt bestehen. Führen Sie ihn aus, während Claude antwortet, und sobald Sie die [Cache-Warnung](/docs/de/prompt-caching#changing-effort-level) bestätigen, wenn Claude Code eine anzeigt, wendet Claude Code die neue Ebene auf die nächste Anfrage in dieser Runde an. Vor v2.1.242 entschied Claude Code anhand eines Feature-Flags, das es von Anthropic abrief, ob der Befehl in der Mitte der Runde oder in der Warteschlange bis zum Ende der Runde ausgeführt werden sollte, und stellte ihn immer in die Warteschlange in einer Sitzung, die [Feature-Flags nicht abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching), wie auf einem [Drittanbieter](/docs/de/third-party-integrations). Funktioniert in `-p` |

89| `/exit` | Beenden Sie die CLI. In einer angehängten [Hintergrund-Sitzung](/docs/de/agent-view#attach-to-a-session) trennt dies ab und die Sitzung läuft weiter. Alias: `/quit` |89| `/exit` | Beenden Sie die CLI. In einer angehängten [Hintergrund-Sitzung](/docs/de/agent-view#attach-to-a-session) trennt dies ab und die Sitzung läuft weiter. Alias: `/quit` |

90| `/export [filename]` | Exportieren Sie die aktuelle Konversation als Klartext. Mit einem Dateinamen schreibt direkt in diese Datei. Ohne öffnet einen Dialog zum Kopieren in die Zwischenablage oder Speichern in einer Datei |90| `/export [filename]` | Exportieren Sie die aktuelle Konversation als Klartext. Mit einem Dateinamen schreibt direkt in diese Datei. Ohne öffnet einen Dialog zum Kopieren in die Zwischenablage oder Speichern in einer Datei |

91| `/fast [on\|off]` | Schalten Sie [Schnellmodus](/docs/de/fast-mode) ein oder aus. Führen Sie ihn aus, während Claude antwortet, und Claude Code schaltet den Schnellmodus um, ohne auf das Ende der Runde zu warten, obwohl die laufende Runde mit ihrer ursprünglichen Geschwindigkeit endet. Vor v2.1.242 entschied Claude Code anhand eines Feature-Flags, das es von Anthropic abrief, ob der Befehl in der Mitte der Runde oder in der Warteschlange bis zum Ende der Runde ausgeführt werden sollte, und stellte ihn immer in die Warteschlange in einer Sitzung, die [Feature-Flags nicht abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching). Die Verfügbarkeit im nicht-interaktiven Modus mit `-p` ist begrenzt; siehe [Schnellmodus umschalten](/docs/de/fast-mode#toggle-fast-mode). Erfordert Claude Code v2.1.205 oder später |91| `/fast [on\|off]` | Schalten Sie [Schnellmodus](/docs/de/fast-mode) ein oder aus. Führen Sie ihn aus, während Claude antwortet, und Claude Code schaltet den Schnellmodus um, ohne auf das Ende der Runde zu warten, obwohl die laufende Runde mit ihrer ursprünglichen Geschwindigkeit endet. Vor v2.1.242 entschied Claude Code anhand eines Feature-Flags, das es von Anthropic abrief, ob der Befehl in der Mitte der Runde oder in der Warteschlange bis zum Ende der Runde ausgeführt werden sollte, und stellte ihn immer in die Warteschlange in einer Sitzung, die [Feature-Flags nicht abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching). Die Verfügbarkeit im nicht-interaktiven Modus mit `-p` ist begrenzt; siehe [Schnellmodus umschalten](/docs/de/fast-mode#toggle-fast-mode). Erfordert Claude Code v2.1.205 oder später |


156| `/theme` | Ändern Sie das Farbschema. Enthält eine `auto`-Option, die den hellen oder dunklen Hintergrund Ihres Terminals abgleicht, helle und dunkle Varianten, farbenblind-zugängliche (daltonisierte) Designs, ANSI-Designs, die die Farbpalette Ihres Terminals verwenden, und alle [benutzerdefinierten Designs](/docs/de/terminal-config#create-a-custom-theme) aus `~/.claude/themes/` oder Plugins. Wählen Sie **Neues benutzerdefiniertes Design…**, um eines zu erstellen |156| `/theme` | Ändern Sie das Farbschema. Enthält eine `auto`-Option, die den hellen oder dunklen Hintergrund Ihres Terminals abgleicht, helle und dunkle Varianten, farbenblind-zugängliche (daltonisierte) Designs, ANSI-Designs, die die Farbpalette Ihres Terminals verwenden, und alle [benutzerdefinierten Designs](/docs/de/terminal-config#create-a-custom-theme) aus `~/.claude/themes/` oder Plugins. Wählen Sie **Neues benutzerdefiniertes Design…**, um eines zu erstellen |

157| `/tui [default\|fullscreen]` | Legen Sie den Terminal-UI-Renderer fest und starten Sie ihn mit Ihrer Konversation intakt neu. `fullscreen` aktiviert den [flimmerfreien Alt-Screen-Renderer](/docs/de/fullscreen). Ohne Argument druckt den aktiven Renderer |157| `/tui [default\|fullscreen]` | Legen Sie den Terminal-UI-Renderer fest und starten Sie ihn mit Ihrer Konversation intakt neu. `fullscreen` aktiviert den [flimmerfreien Alt-Screen-Renderer](/docs/de/fullscreen). Ohne Argument druckt den aktiven Renderer |

158| `/ultraplan <prompt>` | Entfernt. Verwenden Sie stattdessen [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode). Zuvor sendete eine Planungsaufgabe an eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) zur Überprüfung in Ihrem Browser |158| `/ultraplan <prompt>` | Entfernt. Verwenden Sie stattdessen [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode). Zuvor sendete eine Planungsaufgabe an eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) zur Überprüfung in Ihrem Browser |

159| `/ultrareview [PR or branch]` | Führen Sie eine tiefe, Multi-Agent-Code-Überprüfung in einer Cloud-Sandbox mit [ultrareview](/docs/de/ultrareview) aus. Übergeben Sie eine PR-Referenz, um diesen Pull Request zu überprüfen, oder einen Branch-Namen, um die Vergleichsbasis zu ändern. Die bevorzugte Invokation ist jetzt `/code-review ultra`, und `/ultrareview` bleibt als Alias. Enthält 3 kostenlose Läufe auf Pro und Max, dann erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |159| `/ultrareview [PR or branch]` | Führen Sie eine tiefe, Multi-Agent-Code-Überprüfung in einer Cloud-Sandbox mit [ultrareview](/docs/de/ultrareview) aus. Übergeben Sie eine PR-Referenz, um diesen Pull Request zu überprüfen, oder einen Branch oder Commit, um die Vergleichsbasis zu ändern. Die bevorzugte Invokation ist `/code-review ultra`, und `/ultrareview` ist ein Alias. Enthält 3 kostenlose Läufe auf Pro und Max, dann erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

160| `/update-config [request]` | **[Skill](/docs/de/skills#bundled-skills).** Beschreiben Sie eine Einstellungsänderung, wie z. B. das Zulassen eines Befehls, das Festlegen einer Umgebungsvariablen oder das Hinzufügen eines [Hooks](/docs/de/hooks), und Claude bearbeitet die passende [`settings.json`](/docs/de/settings)-Datei. Für Optionen wie Design und Modell verwenden Sie stattdessen `/config` |

160| `/upgrade` | Öffnen Sie die Upgrade-Seite in Ihrem Browser, um zu einem höheren Plan-Tier zu wechseln. Wenn der Browser nicht geöffnet werden kann, zeigt der Befehl eine Anmeldeaufforderung ohne Drucken der URL |161| `/upgrade` | Öffnen Sie die Upgrade-Seite in Ihrem Browser, um zu einem höheren Plan-Tier zu wechseln. Wenn der Browser nicht geöffnet werden kann, zeigt der Befehl eine Anmeldeaufforderung ohne Drucken der URL |

161| `/usage` | Zeigen Sie Sitzungskosten, Plan-Nutzungslimits und Aktivitätsstatistiken an. In einem Pro-, Max-, Team- oder Enterprise-Plan enthält eine [Aufschlüsselung, was gegen Ihre Plan-Limits zählt](/docs/de/costs#plan-usage-breakdown). `/cost` und `/stats` sind Aliase |162| `/usage` | Zeigen Sie Sitzungskosten, Plan-Nutzungslimits und Aktivitätsstatistiken an. In einem Pro-, Max-, Team- oder Enterprise-Plan enthält eine [Aufschlüsselung, was gegen Ihre Plan-Limits zählt](/docs/de/costs#plan-usage-breakdown). `/cost` und `/stats` sind Aliase |

162| `/usage-credits` | Konfigurieren Sie Nutzungsguthaben oder fordern Sie sie von Ihrem Admin an, wenn Sie ein Limit erreichen. Öffnet Ihre [Nutzungsguthaben-Abrechnungseinstellungen](/docs/de/costs#add-usage-credits-to-your-subscription) im Browser, außer dass Team- und Enterprise-Mitglieder ohne Abrechnungszugriff stattdessen eine Nutzungsguthaben-Anfrage von der CLI an ihren Admin senden, nachdem sie in einem Dialog bestätigt haben, dass die Anfrage ihre Admins benachrichtigt. Wenn kein Browser die Abrechnungsseite öffnen kann, z. B. über SSH, druckt der Befehl stattdessen die URL zum Besuchen; dies erfordert Claude Code v2.1.205 oder später, und frühere Versionen zeigten in diesem Fall nichts. Zuvor `/extra-usage` |163| `/usage-credits` | Konfigurieren Sie Nutzungsguthaben oder fordern Sie sie von Ihrem Admin an, wenn Sie ein Limit erreichen. Öffnet Ihre [Nutzungsguthaben-Abrechnungseinstellungen](/docs/de/costs#add-usage-credits-to-your-subscription) im Browser, außer dass Team- und Enterprise-Mitglieder ohne Abrechnungszugriff stattdessen eine Nutzungsguthaben-Anfrage von der CLI an ihren Admin senden, nachdem sie in einem Dialog bestätigt haben, dass die Anfrage ihre Admins benachrichtigt. Wenn kein Browser die Abrechnungsseite öffnen kann, z. B. über SSH, druckt der Befehl stattdessen die URL zum Besuchen; dies erfordert Claude Code v2.1.205 oder später, und frühere Versionen zeigten in diesem Fall nichts. Zuvor `/extra-usage` |

Details

329 329 

330 1. Ziehen Sie ein Bild per Drag & Drop in das Claude Code-Fenster330 1. Ziehen Sie ein Bild per Drag & Drop in das Claude Code-Fenster

331 2. Kopieren Sie ein Bild und fügen Sie es in die CLI mit `Ctrl+V` ein, oder mit [`Alt+V` unter Windows und WSL](/docs/de/interactive-mode#general-controls)331 2. Kopieren Sie ein Bild und fügen Sie es in die CLI mit `Ctrl+V` ein, oder mit [`Alt+V` unter Windows und WSL](/docs/de/interactive-mode#general-controls)

332 3. Geben Sie Claude einen Bildpfad an. Z. B. „Analyze this image: /path/to/your/image.png"332 3. Geben Sie Claude einen Bildpfad an, z. B. „Analyze this image: /path/to/your/image.png"

333 </Step>333 </Step>

334 334 

335 <Step title="Bitten Sie Claude, das Bild zu analysieren">335 <Step title="Bitten Sie Claude, das Bild zu analysieren">

Details

97 97 

98 `curl -fsSL https://claude.ai/install.sh | bash` → `cd your-repo` → `claude`98 `curl -fsSL https://claude.ai/install.sh | bash` → `cd your-repo` → `claude`

99 99 

100 *Erste Sache zum Ausprobieren* → führen Sie `/init` aus, dann: 'Der Test in100 *Erste Sache zum Ausprobieren* → führen Sie `/init` aus, dann: „Der Test in

101 [Datei] ist flaky, finde heraus, warum und behebe es."101 [Datei] ist flaky, finde heraus, warum und behebe es."

102 102 

103 🔒 Läuft in Ihrem Terminal, spricht nur mit Anthropics API. Unter unserem103 🔒 Läuft in Ihrem Terminal, spricht nur mit Anthropics API. Unter unserem

104 Enterprise-Plan werden Ihr Code und Prompts nicht zum Trainieren von104 Enterprise-Plan werden Ihr Code und Prompts nicht zum Trainieren von

105 Modellen verwendet.105 Modellen verwendet.

106 Datennutzung → https://code.claude.com/docs/de/data-usage106 Datennutzung → https://code.claude.com/docs/en/data-usage

107 107 

108 📚 Schnellstart · VS Code · Kostenloser 1-Stunden-Kurs108 📚 Schnellstart · VS Code · Kostenloser 1-Stunden-Kurs

109 https://code.claude.com/docs/de/quickstart109 https://code.claude.com/docs/en/quickstart

110 https://code.claude.com/docs/de/vs-code110 https://code.claude.com/docs/en/vs-code

111 https://anthropic.skilljar.com/claude-code-in-action111 https://academy.claude.com/courses/claude-code-in-action

112 112 

113 Fragen → dieser Thread. [Besitzer] ist verantwortlich.113 Fragen → dieser Thread. [Besitzer] ist verantwortlich.

114 ```114 ```


231 231 

232Opus zu verwenden, um einen Tippfehler zu beheben, verschwendet Rechenleistung. Haiku für ein 12-Datei-Refactoring zu verwenden, ist eine Wiederholung verlangen.232Opus zu verwenden, um einen Tippfehler zu beheben, verschwendet Rechenleistung. Haiku für ein 12-Datei-Refactoring zu verwenden, ist eine Wiederholung verlangen.

233 233 

234Claude Code läuft auf denselben Modellen wie die Claude-App, und Sie können mid-session wechseln. *Sonnet* ist der zuverlässige Standard für alltägliche Feature-Arbeit, Bugs, Tests und Reviews. Greifen Sie zu *Opus* bei großen Refactorings, kniffligem Debugging oder allem mit hohem Einsatz. Fallen Sie auf *Haiku* für schnelle Fragen, Formatierung und mechanische Bearbeitungen, bei denen Geschwindigkeit gewinnt. *Fable* ist das fähigste Modell für Ihre schwierigsten, längsten Aufgaben; es ist nicht der Standard, also wählen Sie es mit `/model fable` aus, und beachten Sie, dass Cybersicherheits- und Biologieinhalte automatisch auf Opus zurückfallen. Opus 5 führt seine eigenen Überprüfungen durch, daher wechseln gekennzeichnete Cybersicherheitsinhalte Modelle und gekennzeichnete Biologieinhalte werden abgelehnt.234Claude Code läuft auf denselben Modellen wie die Claude-App, und Sie können mid-session wechseln. *Sonnet* ist der zuverlässige Standard für alltägliche Feature-Arbeit, Bugs, Tests und Reviews. Greifen Sie zu *Opus* bei großen Refactorings, kniffligem Debugging oder allem mit hohem Einsatz. Fallen Sie auf *Haiku* für schnelle Fragen, Formatierung und mechanische Bearbeitungen, bei denen Geschwindigkeit gewinnt. *Fable* ist das fähigste Modell für Ihre schwierigsten, längsten Aufgaben; es ist nicht der Standard, also wählen Sie es mit `/model fable` aus, und beachten Sie, dass Cybersicherheits- und Biologieinhalte automatisch auf Opus zurückfallen. Opus 5.5 und Opus 5 führen ihre eigenen Überprüfungen durch: gekennzeichnete Inhalte wechseln zu einem früheren Opus, außer dass gekennzeichnete Biologieinhalte auf Opus 5 abgelehnt werden.

235 235 

236*Probieren Sie es jetzt:* Geben Sie `/model` ein und wählen Sie Sonnet, wenn Sie es noch nicht getan haben. Es ist der richtige Standard für die meisten Aufgaben.236*Probieren Sie es jetzt:* Geben Sie `/model` ein und wählen Sie Sonnet, wenn Sie es noch nicht getan haben. Es ist der richtige Standard für die meisten Aufgaben.

237 237 


239```239```

240 240 

241| Modell | Am besten für |241| Modell | Am besten für |

242| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |242| ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

243| Fable | Die schwierigsten, längsten Aufgaben. Nur auf Opt-in-Basis: Wählen Sie es mit `/model fable` aus. Cybersicherheits- oder Biologieinhalte [fallen automatisch auf Opus zurück](/docs/de/model-config#automatic-model-fallback) |243| Fable | Die schwierigsten, längsten Aufgaben. Nur auf Opt-in-Basis: Wählen Sie es mit `/model fable` aus. Cybersicherheits- oder Biologieinhalte [fallen automatisch auf Opus zurück](/docs/de/model-config#automatic-model-fallback) |

244| Opus | Großflächige Refactorings, komplexes Debugging, Architekturentscheidungen, hochriskante Änderungen. Bei Opus 5 lösen Cybersicherheits- oder Biologieinhalte [automatisches Modell-Fallback oder eine Ablehnung](/docs/de/model-config#automatic-model-fallback) aus |244| Opus | Großflächige Refactorings, komplexes Debugging, Architekturentscheidungen, hochriskante Änderungen. Bei Opus 5.5 und Opus 5 lösen Cybersicherheits- oder Biologieinhalte [automatisches Modell-Fallback oder eine Ablehnung](/docs/de/model-config#automatic-model-fallback) aus |

245| Sonnet | Alltägliche Feature-Arbeit, Bug-Fixes, Tests, Dokumentation, Code-Review. Empfohlener Standard. |245| Sonnet | Alltägliche Feature-Arbeit, Bug-Fixes, Tests, Dokumentation, Code-Review. Empfohlener Standard. |

246| Haiku | Schnelle Fragen, Formatierung, mechanische Bearbeitungen, schnelle Iteration |246| Haiku | Schnelle Fragen, Formatierung, mechanische Bearbeitungen, schnelle Iteration |

247 247 

Details

35 tokens: 280,35 tokens: 280,

36 color: '#6B6964',36 color: '#6B6964',

37 vis: 'hidden',37 vis: 'hidden',

38 desc: 'Working directory, platform, shell, OS version, and whether this is a git repo. Git branch, status, and recent commits load as a separate block at the very end of the system prompt.',38 desc: 'Working directory, platform, shell, OS version, and whether this is a git repo. Git branch, status, and recent commits load as a separate block.',

39 link: null39 link: null

40 }, {40 }, {

41 t: 0.08,41 t: 0.08,


1589* **Bevor Sie etwas eingeben**: CLAUDE.md, automatisches Gedächtnis, MCP-Tool-Namen und Skill-Beschreibungen werden alle in den Kontext geladen. [AGENTS.md-Dateien](/docs/de/memory#agents-md) können auch geladen werden, eigenständig oder zusammen mit CLAUDE.md. Ihr eigenes Setup kann hier mehr hinzufügen, wie ein [Ausgabestil](/docs/de/output-styles) oder Text aus [`--append-system-prompt`](/docs/de/cli-reference).1589* **Bevor Sie etwas eingeben**: CLAUDE.md, automatisches Gedächtnis, MCP-Tool-Namen und Skill-Beschreibungen werden alle in den Kontext geladen. [AGENTS.md-Dateien](/docs/de/memory#agents-md) können auch geladen werden, eigenständig oder zusammen mit CLAUDE.md. Ihr eigenes Setup kann hier mehr hinzufügen, wie ein [Ausgabestil](/docs/de/output-styles) oder Text aus [`--append-system-prompt`](/docs/de/cli-reference).

1590* **Während Claude arbeitet**: Jeder Dateilesevorgang fügt zum Kontext hinzu, [pfadgebundene Regeln](/docs/de/memory#path-specific-rules) werden automatisch zusammen mit übereinstimmenden Dateien geladen, und ein [PostToolUse Hook](/docs/de/hooks-guide) wird nach jeder Bearbeitung ausgelöst.1590* **Während Claude arbeitet**: Jeder Dateilesevorgang fügt zum Kontext hinzu, [pfadgebundene Regeln](/docs/de/memory#path-specific-rules) werden automatisch zusammen mit übereinstimmenden Dateien geladen, und ein [PostToolUse Hook](/docs/de/hooks-guide) wird nach jeder Bearbeitung ausgelöst.

1591* **Die Folgeeingabeaufforderung**: Ein [Subagent](/docs/de/sub-agents) verarbeitet die Recherche in seinem eigenen separaten Kontextfenster, sodass die großen Dateilesevorgang außerhalb des Ihren bleiben. Nur die Zusammenfassung und ein kleiner Metadaten-Trailer kommen zurück.1591* **Die Folgeeingabeaufforderung**: Ein [Subagent](/docs/de/sub-agents) verarbeitet die Recherche in seinem eigenen separaten Kontextfenster, sodass die großen Dateilesevorgang außerhalb des Ihren bleiben. Nur die Zusammenfassung und ein kleiner Metadaten-Trailer kommen zurück.

1592* **Am Ende**: `/compact` ersetzt die Konversation durch eine strukturierte Zusammenfassung. Der meiste Startinhalt wird automatisch neu geladen; die folgende Tabelle zeigt, was mit jedem Mechanismus geschieht.1592* **Am Ende der Anleitung**: Sie führen `/compact` aus, das die Konversation durch eine strukturierte Zusammenfassung ersetzt. Der meiste Startinhalt wird automatisch neu geladen; die folgende Tabelle zeigt, was mit jedem Mechanismus geschieht.

1593 1593 

1594<h2 id="what-survives-compaction">1594<h2 id="what-survives-compaction">

1595 Was die Komprimierung übersteht1595 Was die Komprimierung übersteht


1602| System-Eingabeaufforderung und Ausgabestil | Beide gelten weiterhin |1602| System-Eingabeaufforderung und Ausgabestil | Beide gelten weiterhin |

1603| Projekt-Root CLAUDE.md und ungebundene Regeln | Neu eingefügt von der Festplatte |1603| Projekt-Root CLAUDE.md und ungebundene Regeln | Neu eingefügt von der Festplatte |

1604| Automatisches Gedächtnis | Neu eingefügt von der Festplatte |1604| Automatisches Gedächtnis | Neu eingefügt von der Festplatte |

1605| [Git-Status-Snapshot](/docs/de/settings-reference#includegitinstructions) | Claude Code liest einen neuen aus Ihrem Repository |

1605| Der Plan, den Claude im [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) geschrieben hat | Neu eingefügt von der Festplatte |1606| Der Plan, den Claude im [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) geschrieben hat | Neu eingefügt von der Festplatte |

1606| Regeln mit `paths:` Frontmatter | Claude Code lädt sie neu, wenn Claude Dateien liest, die sie erfüllen |1607| Regeln mit `paths:` Frontmatter | Claude Code lädt sie neu, wenn Claude Dateien liest, die sie erfüllen |

1607| Verschachtelte CLAUDE.md in Unterverzeichnissen | Claude Code lädt sie neu, wenn Claude Dateien in diesem Unterverzeichnis liest |1608| Verschachtelte CLAUDE.md in Unterverzeichnissen | Claude Code lädt sie neu, wenn Claude Dateien in diesem Unterverzeichnis liest |

costs.md +3 −3

Details

37 37 

38Diese Summen werden zurückgesetzt, wenn `/clear` eine neue Sitzung startet, daher beginnt die Gesamtkostenzahl der nächsten Sitzung bei \$0. Vor v2.1.211 wurden sie über `/clear` für die Lebensdauer des Claude Code-Prozesses weiter addiert.38Diese Summen werden zurückgesetzt, wenn `/clear` eine neue Sitzung startet, daher beginnt die Gesamtkostenzahl der nächsten Sitzung bei \$0. Vor v2.1.211 wurden sie über `/clear` für die Lebensdauer des Claude Code-Prozesses weiter addiert.

39 39 

40Für eine Antwort von der Claude API, die zum 1,1×-[Datenresidenz-Satz](https://platform.claude.com/docs/en/about-claude/pricing#data-residency-pricing) abgerechnet wird, multipliziert Claude Code den Listenpreis der Token dieser Antwort mit 1,1 in der Session-Kostenzahl. Claude Code meldet die gleiche Summe in der [Kostenfeld der Statuszeile](/docs/de/statusline#cost-and-duration-tracking) und vergleicht sie mit [`--max-budget-usd`](/docs/de/cli-reference#cli-flags). Vor v2.1.239 wendete Claude Code die 1,1× nicht auf diese Antworten an, daher war die Session-Kostenzahl niedriger als die Rechnung.40Für eine Antwort von der Claude API, die zum 1,1×-[Datenresidenz-Satz](https://platform.claude.com/docs/en/about-claude/pricing#data-residency-pricing) abgerechnet wird, multipliziert Claude Code den Listenpreis der Token dieser Antwort mit 1,1 in der Session-Kostenzahl. Die gleiche Summe erscheint in der [Kostenfeld der Statuszeile](/docs/de/statusline#cost-and-duration-tracking), und die multiplizierte Zahl zählt auch gegen [`--max-budget-usd`](/docs/de/cli-reference#cli-flags). Vor v2.1.239 wendete Claude Code die 1,1× nicht auf diese Antworten an, daher war die Session-Kostenzahl niedriger als die Rechnung.

41 41 

42<h4 id="prompt-cache-statistics">42<h4 id="prompt-cache-statistics">

43 Prompt-Cache-Statistiken43 Prompt-Cache-Statistiken


275 Wählen Sie das richtige Modell275 Wählen Sie das richtige Modell

276</h3>276</h3>

277 277 

278Sonnet bewältigt die meisten Codierungsaufgaben gut und kostet weniger als Opus. Reservieren Sie Opus für komplexe architektonische Entscheidungen oder mehrstufiges Denken. Verwenden Sie `/model`, um Modelle während einer Sitzung zu wechseln, oder legen Sie einen Standard in `/config` fest. Für einfache Subagent-Aufgaben geben Sie `model: haiku` in Ihrer [Subagent-Konfiguration](/docs/de/sub-agents#choose-a-model) an.278Sonnet bewältigt die meisten Codierungsaufgaben gut und kostet weniger als Opus. Reservieren Sie Opus für komplexe architektonische Entscheidungen oder mehrstufiges Denken. Verwenden Sie `/model`, um Modelle während einer Sitzung zu wechseln, oder legen Sie einen Standard in `/config` fest. Ein Wechsel zu Opus gilt auch für die [Subagents, die das Modell Ihrer Sitzung erben](/docs/de/model-config#setting-your-model). Für einfache Subagent-Aufgaben geben Sie `model: haiku` in Ihrer [Subagent-Konfiguration](/docs/de/sub-agents#choose-a-model) an.

279 279 

280<h3 id="reduce-mcp-server-overhead">280<h3 id="reduce-mcp-server-overhead">

281 Reduzieren Sie den MCP-Server-Overhead281 Reduzieren Sie den MCP-Server-Overhead


359 359 

360Erweitertes Denken ist standardmäßig aktiviert, da es die Leistung bei komplexen Planungs- und Denkaufgaben erheblich verbessert. Thinking-Token werden als Output-Token abgerechnet, und das Standard-Budget kann je nach Modell Zehntausende Token pro Anfrage betragen.360Erweitertes Denken ist standardmäßig aktiviert, da es die Leistung bei komplexen Planungs- und Denkaufgaben erheblich verbessert. Thinking-Token werden als Output-Token abgerechnet, und das Standard-Budget kann je nach Modell Zehntausende Token pro Anfrage betragen.

361 361 

362Für einfachere Aufgaben, bei denen tiefes Denken nicht erforderlich ist, können Sie Kosten reduzieren, indem Sie die [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) mit `/effort` senken oder in `/model`, oder indem Sie Denken in `/config` deaktivieren. Sie können Denken auf Fable-Modellen nicht ausschalten, die immer erweitertes Denken verwenden.362Für einfachere Aufgaben, bei denen tiefes Denken nicht erforderlich ist, können Sie Kosten reduzieren, indem Sie die [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) mit `/effort` senken oder in `/model`, oder indem Sie Denken in `/config` deaktivieren. Sie können Denken auf Opus 5.5 oder den Fable-Modellen nicht ausschalten, die immer erweitertes Denken verwenden.

363 363 

364Auf Modellen mit einem [festen Thinking-Budget](/docs/de/model-config#adaptive-reasoning-and-fixed-thinking-budgets) können Sie das Budget auch senken, indem Sie die `MAX_THINKING_TOKENS` [Umgebungsvariable](/docs/de/env-vars) setzen, beispielsweise `MAX_THINKING_TOKENS=8000`. Adaptive-Reasoning-Modelle ignorieren Budgets ungleich Null, daher verwenden Sie stattdessen Anstrengungsstufen.364Auf Modellen mit einem [festen Thinking-Budget](/docs/de/model-config#adaptive-reasoning-and-fixed-thinking-budgets) können Sie das Budget auch senken, indem Sie die `MAX_THINKING_TOKENS` [Umgebungsvariable](/docs/de/env-vars) setzen, beispielsweise `MAX_THINKING_TOKENS=8000`. Adaptive-Reasoning-Modelle ignorieren Budgets ungleich Null, daher verwenden Sie stattdessen Anstrengungsstufen.

365 365 

desktop.md +2 −2

Details

508 508 

509Sie können Plugins auf Ihr Benutzerkonto, ein bestimmtes Projekt oder nur lokal beschränken. Wenn Ihre Organisation Plugins zentral verwaltet, sind diese Plugins in Desktop-Sitzungen auf die gleiche Weise verfügbar wie in der CLI.509Sie können Plugins auf Ihr Benutzerkonto, ein bestimmtes Projekt oder nur lokal beschränken. Wenn Ihre Organisation Plugins zentral verwaltet, sind diese Plugins in Desktop-Sitzungen auf die gleiche Weise verfügbar wie in der CLI.

510 510 

511Der Plugin-Browser ist in Cloud-Sitzungen nicht verfügbar, und Plugins, die Sie aus der Desktop-App installieren, sind nicht für Cloud-Sitzungen verfügbar. Um ein Plugin in einer Cloud-Sitzung zu verwenden, deklarieren Sie es entweder im Repository unter `.claude/settings.json` unter [`enabledPlugins`](/docs/de/settings-reference#enabledplugins), damit Claude Code es [beim Sitzungsstart installiert](/docs/de/cloud-environments#what-carries-over-from-your-setup), oder aktivieren Sie es für Ihr claude.ai-Konto, damit Claude Code es als [synchronisiertes Plugin](/docs/de/plugins-reference#synced-plugins) lädt. Plugins sind in WSL-Sitzungen nicht verfügbar. Für die vollständige Plugin-Referenz einschließlich der Erstellung eigener Plugins siehe [Plugins](/docs/de/plugins).511Der Plugin-Browser ist in Cloud-Sitzungen nicht verfügbar, und Plugins, die Sie aus der Desktop-App installieren, sind nicht für Cloud-Sitzungen verfügbar. Eine Cloud-Sitzung installiert auch keine Plugins, die das Repository unter `.claude/settings.json` deklariert, wie [Was wird aus Ihrer Einrichtung übernommen](/docs/de/cloud-environments#what-carries-over-from-your-setup) erklärt. Um ein Plugin in einer Cloud-Sitzung zu verwenden, aktivieren Sie es für Ihr claude.ai-Konto, damit Claude Code es als [synchronisiertes Plugin](/docs/de/plugins-reference#synced-plugins) lädt. Plugins sind in WSL-Sitzungen nicht verfügbar. Für die vollständige Plugin-Referenz einschließlich der Erstellung eigener Plugins siehe [Plugins](/docs/de/plugins).

512 512 

513<h3 id="configure-preview-servers">513<h3 id="configure-preview-servers">

514 Vorschauserver konfigurieren514 Vorschauserver konfigurieren


735 735 

736Um Umgebungsvariablen für lokale Sitzungen und Dev-Server auf jeder Plattform festzulegen, öffnen Sie das Umgebungs-Dropdown im Eingabefeld, fahren Sie mit der Maus über **Lokal** und klicken Sie auf das Zahnrad-Symbol, um den lokalen Umgebungs-Editor zu öffnen. Variablen, die Sie hier speichern, werden verschlüsselt auf Ihrem Computer gespeichert und gelten für jede lokale Sitzung und jeden Vorschau-Server, den Sie starten. Sie können auch Variablen zum Schlüssel `env` in Ihrer Datei `~/.claude/settings.json` hinzufügen, obwohl diese nur Claude-Sitzungen erreichen und nicht Dev-Server. Siehe [Umgebungsvariablen](/docs/de/env-vars) für die vollständige Liste der unterstützten Variablen.736Um Umgebungsvariablen für lokale Sitzungen und Dev-Server auf jeder Plattform festzulegen, öffnen Sie das Umgebungs-Dropdown im Eingabefeld, fahren Sie mit der Maus über **Lokal** und klicken Sie auf das Zahnrad-Symbol, um den lokalen Umgebungs-Editor zu öffnen. Variablen, die Sie hier speichern, werden verschlüsselt auf Ihrem Computer gespeichert und gelten für jede lokale Sitzung und jeden Vorschau-Server, den Sie starten. Sie können auch Variablen zum Schlüssel `env` in Ihrer Datei `~/.claude/settings.json` hinzufügen, obwohl diese nur Claude-Sitzungen erreichen und nicht Dev-Server. Siehe [Umgebungsvariablen](/docs/de/env-vars) für die vollständige Liste der unterstützten Variablen.

737 737 

738[Erweitertes Denken](/docs/de/model-config#extended-thinking) ist standardmäßig aktiviert, was die Leistung bei komplexen Denkaufgaben verbessert, aber zusätzliche Token verwendet. Auf der Anthropic API setzen Sie `MAX_THINKING_TOKENS` auf `0` im lokalen Umgebungs-Editor, um das Denken auszuschalten; dies hat keine Auswirkung auf Fable-Modelle, die immer erweitertes Denken verwenden. Bei ausgeschaltetem Denken auf der Anthropic API sendet Claude Code stattdessen den Aufwand `high` an Modelle, von denen es weiß, dass sie [diese Kombination nicht akzeptieren](/docs/de/errors#effort-isnt-available-with-thinking-turned-off), wie Opus 5.738[Erweitertes Denken](/docs/de/model-config#extended-thinking) ist standardmäßig aktiviert, was die Leistung bei komplexen Denkaufgaben verbessert, aber zusätzliche Token verwendet. Auf der Anthropic API setzen Sie `MAX_THINKING_TOKENS` auf `0` im lokalen Umgebungs-Editor, um das Denken auszuschalten; dies hat keine Auswirkung auf Opus 5.5 oder die Fable-Modelle, die immer erweitertes Denken verwenden. Bei ausgeschaltetem Denken auf der Anthropic API sendet Claude Code stattdessen den Aufwand `high` an Modelle, von denen es weiß, dass sie [diese Kombination nicht akzeptieren](/docs/de/errors#effort-isnt-available-with-thinking-turned-off), wie Opus 5.

739 739 

740Bei Modellen mit [adaptiver Argumentation](/docs/de/model-config#adjust-effort-level) werden `MAX_THINKING_TOKENS`-Werte außer `0` ignoriert, da adaptive Argumentation die Denktiefe steuert. Bei Opus 4.6 und Sonnet 4.6 setzen Sie `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` auf `1`, um ein festes Denk-Budget zu verwenden; Fable-Modelle, Sonnet 5 und Opus 4.7 und später verwenden immer adaptive Argumentation und haben keinen Modus mit festem Budget.740Bei Modellen mit [adaptiver Argumentation](/docs/de/model-config#adjust-effort-level) werden `MAX_THINKING_TOKENS`-Werte außer `0` ignoriert, da adaptive Argumentation die Denktiefe steuert. Bei Opus 4.6 und Sonnet 4.6 setzen Sie `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` auf `1`, um ein festes Denk-Budget zu verwenden; Fable-Modelle, Sonnet 5 und Opus 4.7 und später verwenden immer adaptive Argumentation und haben keinen Modus mit festem Budget.

741 741 

Details

16 Anforderungen16 Anforderungen

17</h2>17</h2>

18 18 

19* Ubuntu 22.04 oder später oder Debian 12 oder später19* Eine Debian-basierte Distribution: Ubuntu 22.04 oder später oder Debian 12 oder später

20* x86\_64 oder arm6420* x86\_64 oder arm64

21 21 

22Andere Debian-basierte Distributionen, die diese Anforderungen erfüllen, funktionieren möglicherweise, werden aber nicht offiziell getestet. Auf Distributionen, die nicht Debian-basiert sind, wie Fedora oder Arch, führen Sie stattdessen die [CLI](/docs/de/setup#system-requirements) aus. Wenn Sie unter Windows mit WSL 2 arbeiten, installieren Sie die Windows-Desktop-App und führen Sie Sitzungen in Ihrer Distribution aus; siehe [Claude Code Desktop in WSL](/docs/de/desktop-wsl).22Andere Debian-basierte Distributionen, die diese Anforderungen erfüllen, funktionieren möglicherweise, werden aber nicht offiziell getestet. Auf Distributionen, die nicht Debian-basiert sind, wie Fedora oder Arch, führen Sie stattdessen die [CLI](/docs/de/setup#system-requirements) aus. Wenn Sie unter Windows mit WSL 2 arbeiten, installieren Sie die Windows-Desktop-App und führen Sie Sitzungen in Ihrer Distribution aus; siehe [Claude Code Desktop in WSL](/docs/de/desktop-wsl).

Details

42/plugin install github@claude-plugins-official42/plugin install github@claude-plugins-official

43```43```

44 44 

45`/plugin` öffnet ein interaktives Panel in der Terminal-CLI. Falls Claude meldet, dass `/plugin` in dieser Umgebung nicht verfügbar ist, verwenden Sie den [Plugin-Browser](/docs/de/desktop#install-plugins) in der Claude-Desktop-App, oder deklarieren Sie das Plugin unter [`enabledPlugins`](/docs/de/settings-reference#enabledplugins) in `.claude/settings.json` für Cloud-Sitzungen.45`/plugin` öffnet ein interaktives Panel in der Terminal-CLI. Falls Claude meldet, dass `/plugin` in dieser Umgebung nicht verfügbar ist, installieren Sie das Plugin auf andere Weise:

46 

47* **Claude-Desktop-App**: Verwenden Sie den [Plugin-Browser](/docs/de/desktop#install-plugins).

48* **VS Code-Erweiterung**: Installieren Sie aus dem [Dialog **Plugins verwalten**](/docs/de/vs-code#manage-plugins).

49* **Cloud-Sitzungen**: Aktivieren Sie das Plugin für Ihr claude.ai-Konto, damit Claude Code es als [synchronisiertes Plugin](/docs/de/plugins-reference#synced-plugins) lädt.

46 50 

47Falls die Installation fehlschlägt, vergleichen Sie die Meldung, die Claude Code meldet:51Falls die Installation fehlschlägt, vergleichen Sie die Meldung, die Claude Code meldet:

48 52 


360Claude Code sucht das Plugin in seiner lokalen Kopie des Marktplatzkatalogs. Wie Sie das Plugin benennen, bestimmt, ob Claude Code diese Kopie zuerst aktualisiert:364Claude Code sucht das Plugin in seiner lokalen Kopie des Marktplatzkatalogs. Wie Sie das Plugin benennen, bestimmt, ob Claude Code diese Kopie zuerst aktualisiert:

361 365 

362* **Mit einem Marktplatznamen**: Wenn Sie `plugin-name@marketplace-name` installieren, aktualisiert Claude Code in einer Sitzung oder mit `claude plugin install` diesen Marktplatz vor der Suche. Claude Code führt die Aktualisierung auch aus, wenn Sie [Auto-Update](#configure-auto-updates) für den Marktplatz deaktiviert haben oder `DISABLE_AUTOUPDATER` gesetzt haben. Vor v2.1.232 aktualisierte Claude Code den Marktplatz vor der Suche nicht. Claude Code überspringt diese Aktualisierung, wenn:366* **Mit einem Marktplatznamen**: Wenn Sie `plugin-name@marketplace-name` installieren, aktualisiert Claude Code in einer Sitzung oder mit `claude plugin install` diesen Marktplatz vor der Suche. Claude Code führt die Aktualisierung auch aus, wenn Sie [Auto-Update](#configure-auto-updates) für den Marktplatz deaktiviert haben oder `DISABLE_AUTOUPDATER` gesetzt haben. Vor v2.1.232 aktualisierte Claude Code den Marktplatz vor der Suche nicht. Claude Code überspringt diese Aktualisierung, wenn:

363 * Der Marktplatz nicht [von GitHub, einem anderen Git-Host oder einer Remote-URL hinzugefügt wurde](#add-marketplaces).367 * Der Marktplatz nicht [von GitHub, einem anderen Git-Host, einer Remote-URL](#add-marketplaces) oder [claude.ai](#add-from-claude-ai) hinzugefügt wurde.

364 * Ein [Seed-Verzeichnis](/docs/de/plugin-marketplaces#pre-populate-plugins-for-containers) den Marktplatz bereitstellt.368 * Ein [Seed-Verzeichnis](/docs/de/plugin-marketplaces#pre-populate-plugins-for-containers) den Marktplatz bereitstellt.

365 * Claude Code den Marktplatz in den letzten 30 Sekunden aktualisiert hat.369 * Claude Code den Marktplatz in den letzten 30 Sekunden aktualisiert hat.

366 * Sie [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/de/env-vars) gesetzt haben.370 * Sie [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/de/env-vars) gesetzt haben.


395 399 

396Die Quelle nimmt [die gleichen Formen wie `/plugin marketplace add`](#add-marketplaces) an, wie GitHub `owner/repo`, eine Git-URL oder einen lokalen Pfad, außer dass sie keine Leerzeichen enthalten kann. Geben Sie den Plugin-Namen ohne ein `@marketplace`-Suffix an.400Die Quelle nimmt [die gleichen Formen wie `/plugin marketplace add`](#add-marketplaces) an, wie GitHub `owner/repo`, eine Git-URL oder einen lokalen Pfad, außer dass sie keine Leerzeichen enthalten kann. Geben Sie den Plugin-Namen ohne ein `@marketplace`-Suffix an.

397 401 

398Wenn Sie diesen Marktplatz noch nicht hinzugefügt haben, zeigt Claude Code die aufgelöste Quelle an und fragt Sie zur Bestätigung, bevor Sie ihn hinzufügen. Das Ablehnen bricht die Installation ab und fügt nichts hinzu. Sobald der Marktplatz hinzugefügt ist, öffnen sich die Plugin-Details und Sie wählen einen [Installationsbereich](/docs/de/settings#where-settings-live).402Claude Code zeigt die aufgelöste Quelle an und fragt Sie zur Bestätigung, bevor Sie den Marktplatz hinzufügen. Das Ablehnen bricht die Installation ab und fügt nichts hinzu. Sobald der Marktplatz hinzugefügt ist, öffnen sich die Plugin-Details und Sie wählen einen [Installationsbereich](/docs/de/settings#where-settings-live). Wenn die Quelle einem Marktplatz entspricht, den Sie bereits hinzugefügt haben, überspringt Claude Code die Bestätigung und öffnet die Plugin-Details in diesem Marktplatz.

399 403 

400<h2 id="manage-installed-plugins">404<h2 id="manage-installed-plugins">

401 Verwalten Sie installierte Plugins405 Verwalten Sie installierte Plugins

env-vars.md +11 −7

Details

271| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Setzen Sie auf `1`, um die automatische Registrierung des offiziellen Plugin-Marketplace zu deaktivieren. Claude Code liest die Variable, wenn es den Marketplace registrieren soll, normalerweise beim ersten interaktiven Start einer Maschine. Wenn die Variable zu diesem Zeitpunkt gesetzt ist, überspringt Claude Code die Registrierung dauerhaft. Das Aufheben der Einstellung der Variablen später macht den Skip nicht rückgängig. Führen Sie `claude plugin marketplace add anthropics/claude-plugins-official` aus, um den Marketplace jederzeit zu registrieren |271| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Setzen Sie auf `1`, um die automatische Registrierung des offiziellen Plugin-Marketplace zu deaktivieren. Claude Code liest die Variable, wenn es den Marketplace registrieren soll, normalerweise beim ersten interaktiven Start einer Maschine. Wenn die Variable zu diesem Zeitpunkt gesetzt ist, überspringt Claude Code die Registrierung dauerhaft. Das Aufheben der Einstellung der Variablen später macht den Skip nicht rückgängig. Führen Sie `claude plugin marketplace add anthropics/claude-plugins-official` aus, um den Marketplace jederzeit zu registrieren |

272| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, Ihre [`Notification`-Hooks für unbeantwortete Berechtigungsanfragen](/docs/de/hooks#notification) in Sitzungen auszuführen, in denen Claude Code sie an den `canUseTool`-Callback des Agent SDK sendet, was ist, wie Claude Desktop und die VS Code-Erweiterung Claude Code hosten. Hat keine Auswirkung in Terminal-Sitzungen. Erfordert Claude Code v2.1.233 oder später |272| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, Ihre [`Notification`-Hooks für unbeantwortete Berechtigungsanfragen](/docs/de/hooks#notification) in Sitzungen auszuführen, in denen Claude Code sie an den `canUseTool`-Callback des Agent SDK sendet, was ist, wie Claude Desktop und die VS Code-Erweiterung Claude Code hosten. Hat keine Auswirkung in Terminal-Sitzungen. Erfordert Claude Code v2.1.233 oder später |

273| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Setzen Sie auf `1`, um das Laden von Skills aus dem systemweiten verwalteten Skills-Verzeichnis zu überspringen. Nützlich für Container- oder CI-Sitzungen, die keine Operator-bereitgestellten Skills laden sollten |273| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Setzen Sie auf `1`, um das Laden von Skills aus dem systemweiten verwalteten Skills-Verzeichnis zu überspringen. Nützlich für Container- oder CI-Sitzungen, die keine Operator-bereitgestellten Skills laden sollten |

274| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Setzen Sie auf `1`, um automatische Terminal-Titel-Updates basierend auf Konversations-Kontext zu deaktivieren. In Agent SDK und `claude -p`-Sitzungen überspringt dies auch die Background-Small/Fast-Model-Anfrage, die den Sitzungs-Titel generiert |274| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Setzen Sie auf `1`, um automatische Terminal-Titel-Updates basierend auf Konversations-Kontext zu deaktivieren. Dies überspringt auch die Background-Small/Fast-Model-Anfrage, die [einen Sitzungs-Titel generiert](/docs/de/sessions#name-your-sessions) |

275| `CLAUDE_CODE_DISABLE_THINKING` | Setzen Sie auf `1`, um den `thinking`-Parameter vollständig aus API-Anfragen auszulassen. Dies ist eine Kompatibilitätsoption für Proxies und Gateways, die den Parameter ablehnen. Bei Modellen, die standardmäßig denken, bedeutet das Auslassen des Parameters, dass das Modell möglicherweise immer noch denkt. Um [Extended Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) auf der Anthropic API explizit zu deaktivieren, verwenden Sie stattdessen `MAX_THINKING_TOKENS=0`. Keine Variable schaltet Denken auf Fable-Modellen aus, die Denken nicht ausschalten können. Bei [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt `MAX_THINKING_TOKENS=0` ebenfalls den Parameter aus, daher verhalten sich die beiden Variablen dort gleich |275| `CLAUDE_CODE_DISABLE_THINKING` | Setzen Sie auf `1`, um den `thinking`-Parameter vollständig aus API-Anfragen auszulassen. Dies ist eine Kompatibilitätsoption für Proxies und Gateways, die den Parameter ablehnen. Bei Modellen, die standardmäßig denken, bedeutet das Auslassen des Parameters, dass das Modell möglicherweise immer noch denkt. Um [Extended Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) auf der Anthropic API explizit zu deaktivieren, verwenden Sie stattdessen `MAX_THINKING_TOKENS=0`. Keine Variable schaltet Denken auf Opus 5.5 oder den Fable-Modellen aus, die Denken nicht ausschalten können. Bei [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt `MAX_THINKING_TOKENS=0` ebenfalls den Parameter aus, daher verhalten sich die beiden Variablen dort gleich |

276| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Setzen Sie auf `1`, um proaktive [Auto-Compaction](/docs/de/costs#reduce-token-usage) zu überspringen, wenn Claude Code die Modell-ID nicht erkennt, wie ein [LLM-Gateway](/docs/de/llm-gateway)-Alias. Ohne diese Variable komprimiert Claude Code bei dem Kontext-Fenster, das es für die ID annimmt. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` kann das angenommene Fenster stattdessen korrigieren; siehe [Fenster für eine Gateway- oder benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id) für wann jede Variable gilt. Erfordert Claude Code v2.1.223 oder später |276| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Setzen Sie auf `1`, um proaktive [Auto-Compaction](/docs/de/costs#reduce-token-usage) zu überspringen, wenn Claude Code die Modell-ID nicht erkennt, wie ein [LLM-Gateway](/docs/de/llm-gateway)-Alias. Ohne diese Variable komprimiert Claude Code bei dem Kontext-Fenster, das es für die ID annimmt. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` kann das angenommene Fenster stattdessen korrigieren; siehe [Fenster für eine Gateway- oder benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id) für wann jede Variable gilt. Erfordert Claude Code v2.1.223 oder später |

277| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Setzen Sie auf `1`, um virtuelles Scrolling im [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren und jede Nachricht im Transkript zu rendern. Verwenden Sie dies, wenn Scrolling im Vollbildmodus leere Regionen zeigt, wo Nachrichten erscheinen sollten |277| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Setzen Sie auf `1`, um virtuelles Scrolling im [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren und jede Nachricht im Transkript zu rendern. Verwenden Sie dies, wenn Scrolling im Vollbildmodus leere Regionen zeigt, wo Nachrichten erscheinen sollten |

278| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Setzen Sie auf `1`, um [PowerShell-Tool](/docs/de/tools-reference#powershell-tool)-Befehle unter Windows direkt zu starten, anstatt durch den `cmd.exe`-Launcher. Standardmäßig lässt der Launcher einen PowerShell-Befehl [im Hintergrund laufen](/docs/de/tools-reference#background-commands) [zum nächsten Prozess der Sitzung übergehen](/docs/de/agent-view#the-supervisor-process), wie wenn Sie [die Sitzung backgrounden](/docs/de/agent-view#from-inside-a-session). Wenn Sie die Variable setzen, stoppt ein backgroundeter PowerShell-Befehl, wenn der Prozess der Sitzung beendet wird. Bash-Befehle sind nicht betroffen. Erfordert Claude Code v2.1.269 oder später |278| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Setzen Sie auf `1`, um [PowerShell-Tool](/docs/de/tools-reference#powershell-tool)-Befehle unter Windows direkt zu starten, anstatt durch den `cmd.exe`-Launcher. Standardmäßig lässt der Launcher einen PowerShell-Befehl [im Hintergrund laufen](/docs/de/tools-reference#background-commands) [zum nächsten Prozess der Sitzung übergehen](/docs/de/agent-view#the-supervisor-process), wie wenn Sie [die Sitzung backgrounden](/docs/de/agent-view#from-inside-a-session). Wenn Sie die Variable setzen, stoppt ein backgroundeter PowerShell-Befehl, wenn der Prozess der Sitzung beendet wird. Bash-Befehle sind nicht betroffen. Erfordert Claude Code v2.1.269 oder später |


298| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Setzen Sie auf `1`, um DEC-Privatmodus 2026 [synchronisierte Ausgabe](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) zu erzwingen, wenn Ihr Terminal es unterstützt, aber nicht auto-erkannt wird. Nützlich für Emulatoren wie Emacs `eat`, die BSU/ESU implementieren, aber nicht auf die Fähigkeits-Sonde antworten. Hat keine Auswirkung unter Tmux. Im Gegensatz zu `CLAUDE_CODE_NO_FLICKER`, das zum [Vollbild-Rendering](/docs/de/fullscreen) wechselt, ändert dies nicht den Renderer |298| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Setzen Sie auf `1`, um DEC-Privatmodus 2026 [synchronisierte Ausgabe](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) zu erzwingen, wenn Ihr Terminal es unterstützt, aber nicht auto-erkannt wird. Nützlich für Emulatoren wie Emacs `eat`, die BSU/ESU implementieren, aber nicht auf die Fähigkeits-Sonde antworten. Hat keine Auswirkung unter Tmux. Im Gegensatz zu `CLAUDE_CODE_NO_FLICKER`, das zum [Vollbild-Rendering](/docs/de/fullscreen) wechselt, ändert dies nicht den Renderer |

299| `CLAUDE_CODE_FORK_SUBAGENT` | Kontrolliert [Fork-Modus](/docs/de/sub-agents#turn-fork-mode-on-or-off), der Claude erlaubt, [gegabelte Subagents](/docs/de/sub-agents#fork-the-current-conversation) selbst zu spawnen, und ist standardmäßig nur in interaktiven Sitzungen aktiviert. Setzen Sie auf `1`, um es auch in `claude -p` und dem Agent SDK zu aktivieren, oder `0`, um es in jeder Art von Sitzung auszuschalten. Sie können `/subtask` ausführen, ob Fork-Modus aktiviert ist oder nicht. Der interaktive Standard erfordert Claude Code v2.1.232 oder später; auf früheren Versionen setzen Sie die Variable auf `1`, um Fork-Modus zu aktivieren |299| `CLAUDE_CODE_FORK_SUBAGENT` | Kontrolliert [Fork-Modus](/docs/de/sub-agents#turn-fork-mode-on-or-off), der Claude erlaubt, [gegabelte Subagents](/docs/de/sub-agents#fork-the-current-conversation) selbst zu spawnen, und ist standardmäßig nur in interaktiven Sitzungen aktiviert. Setzen Sie auf `1`, um es auch in `claude -p` und dem Agent SDK zu aktivieren, oder `0`, um es in jeder Art von Sitzung auszuschalten. Sie können `/subtask` ausführen, ob Fork-Modus aktiviert ist oder nicht. Der interaktive Standard erfordert Claude Code v2.1.232 oder später; auf früheren Versionen setzen Sie die Variable auf `1`, um Fork-Modus zu aktivieren |

300| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Setzen Sie auf `1`, um [Subagent](/docs/de/sub-agents)-Text- und Denk-Blöcke in `claude -p --output-format stream-json`-Ausgabe auszugeben, das gleiche Verhalten wie die [`--forward-subagent-text`](/docs/de/cli-reference#cli-flags)-Flag. Verwenden Sie die Variable, wenn ein Harness `claude` aufruft und die Flag selbst nicht übergeben kann. Im Gegensatz zur Flag, die außerhalb des nicht-interaktiven Modus mit Stream-JSON-Ausgabe mit einem Fehler beendet wird, wird die Variable dort ignoriert, daher funktionieren verschachtelte Aufrufe weiter, wenn sie prozessweit gesetzt ist. Erfordert Claude Code v2.1.211 oder später |300| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Setzen Sie auf `1`, um [Subagent](/docs/de/sub-agents)-Text- und Denk-Blöcke in `claude -p --output-format stream-json`-Ausgabe auszugeben, das gleiche Verhalten wie die [`--forward-subagent-text`](/docs/de/cli-reference#cli-flags)-Flag. Verwenden Sie die Variable, wenn ein Harness `claude` aufruft und die Flag selbst nicht übergeben kann. Im Gegensatz zur Flag, die außerhalb des nicht-interaktiven Modus mit Stream-JSON-Ausgabe mit einem Fehler beendet wird, wird die Variable dort ignoriert, daher funktionieren verschachtelte Aufrufe weiter, wenn sie prozessweit gesetzt ist. Erfordert Claude Code v2.1.211 oder später |

301| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Setzen Sie auf `1`, um die [Gateway-Hint-Header](/docs/de/llm-gateway-protocol#gateway-hint-headers), wie `x-claude-code-request-class` und `x-claude-code-compaction`, auf einem benutzerdefinierten Proxy oder einem Drittanbieter-Provider wie Amazon Bedrock oder Claude Platform on AWS zu senden. Setzen Sie auf `0`, um sie auf jeder Verbindung zu stoppen, einschließlich einer direkten Verbindung zur Anthropic API, wo Claude Code sie standardmäßig sendet. Erfordert Claude Code v2.1.273 oder später |

301| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout in Millisekunden für die [Gateway-Modell-Erkennungs](/docs/de/llm-gateway-protocol#model-discovery)-Anfrage, die `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` aktiviert (Standard: `3000`). Erhöhen Sie dies, wenn Ihr Gateway länger als drei Sekunden braucht, um `/v1/models` beim Start zu beantworten. Akzeptiert nur einfache Ziffern; `0`, negative Werte und andere Schreibweisen behalten den Standard. Erfordert Claude Code v2.1.269 oder später |302| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout in Millisekunden für die [Gateway-Modell-Erkennungs](/docs/de/llm-gateway-protocol#model-discovery)-Anfrage, die `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` aktiviert (Standard: `3000`). Erhöhen Sie dies, wenn Ihr Gateway länger als drei Sekunden braucht, um `/v1/models` beim Start zu beantworten. Akzeptiert nur einfache Ziffern; `0`, negative Werte und andere Schreibweisen behalten den Standard. Erfordert Claude Code v2.1.269 oder später |

302| `CLAUDE_CODE_GIT_BASH_PATH` | Nur Windows: Pfad zur Git Bash-Ausführungsdatei (`bash.exe`). Verwenden Sie, wenn Git Bash installiert ist, aber nicht in Ihrem PATH. Wenn der Pfad nicht existiert oder die Datei nicht `bash.exe`, `sh.exe`, `bash` oder `sh` heißt, ignoriert Claude Code die Variable und auto-erkennt Git Bash, als ob sie nicht gesetzt wäre, und protokolliert eine Warnung, die mit `--debug` sichtbar ist. Vor v2.1.219 beendete Claude Code beim Start, wenn der Pfad nicht existierte, und verwendete jede existierende Datei als Shell, ohne zu überprüfen, dass es Bash oder sh war. Siehe [Windows-Setup](/docs/de/setup#set-up-on-windows) |303| `CLAUDE_CODE_GIT_BASH_PATH` | Nur Windows: Pfad zur Git Bash-Ausführungsdatei (`bash.exe`). Verwenden Sie, wenn Git Bash installiert ist, aber nicht in Ihrem PATH. Wenn der Pfad nicht existiert oder die Datei nicht `bash.exe`, `sh.exe`, `bash` oder `sh` heißt, ignoriert Claude Code die Variable und auto-erkennt Git Bash, als ob sie nicht gesetzt wäre, und protokolliert eine Warnung, die mit `--debug` sichtbar ist. Vor v2.1.219 beendete Claude Code beim Start, wenn der Pfad nicht existierte, und verwendete jede existierende Datei als Shell, ohne zu überprüfen, dass es Bash oder sh war. Siehe [Windows-Setup](/docs/de/setup#set-up-on-windows) |

303| `CLAUDE_CODE_GLOB_HIDDEN` | Setzen Sie auf `false`, um Dotfiles aus Ergebnissen auszuschließen, wenn Claude das [Glob-Tool](/docs/de/tools-reference#glob-tool-behavior) aufruft. Standardmäßig enthalten. Betrifft nicht `@`-Datei-Autovervollständigung, `ls`, Grep oder Read |304| `CLAUDE_CODE_GLOB_HIDDEN` | Setzen Sie auf `false`, um Dotfiles aus Ergebnissen auszuschließen, wenn Claude das [Glob-Tool](/docs/de/tools-reference#glob-tool-behavior) aufruft. Standardmäßig enthalten. Betrifft nicht `@`-Datei-Autovervollständigung, `ls`, Grep oder Read |


346| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, `-ExecutionPolicy Bypass` zu übergeben, wenn PowerShell für Tool-Aufrufe, Hooks und Status-Zeilen-Befehle spawnt, und respektieren Sie stattdessen die effektive Ausführungs-Richtlinie der Maschine. Standardmäßig umgeht Claude Code die Ausführungs-Richtlinie im Prozess-Scope, daher funktionieren `.ps1`-Skripte und Modul-Importe auf Standard-Restricted-Windows-Installationen. Prozess-Scope-Bypass überschreibt niemals Group Policy `MachinePolicy` oder `UserPolicy`, unabhängig von dieser Einstellung |347| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, `-ExecutionPolicy Bypass` zu übergeben, wenn PowerShell für Tool-Aufrufe, Hooks und Status-Zeilen-Befehle spawnt, und respektieren Sie stattdessen die effektive Ausführungs-Richtlinie der Maschine. Standardmäßig umgeht Claude Code die Ausführungs-Richtlinie im Prozess-Scope, daher funktionieren `.ps1`-Skripte und Modul-Importe auf Standard-Restricted-Windows-Installationen. Prozess-Scope-Bypass überschreibt niemals Group Policy `MachinePolicy` oder `UserPolicy`, unabhängig von dieser Einstellung |

347| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Obergrenze in Millisekunden für Idle-Warten auf Background-Subagents und Workflows nach dem finalen Turn im [nicht-interaktiven Modus](/docs/de/headless#background-tasks-at-exit) mit der `-p`-Flag. Idle-Warten startet jedes Mal neu, wenn Claude einen Turn nimmt, um ein Background-Ergebnis zu behandeln. Standard: `600000` oder 10 Minuten. Wenn Idle-Warten die Obergrenze erreicht, stoppt Claude Code das Warten auf die verbleibenden Background-Aufgaben und beendet. Setzen Sie auf `0`, um unbegrenzt zu warten. Diese Obergrenze ist separat von der fünf-Sekunden-Gnadenfrist, die für einfache Background-Shells gilt. Erfordert Claude Code v2.1.182 oder später |348| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Obergrenze in Millisekunden für Idle-Warten auf Background-Subagents und Workflows nach dem finalen Turn im [nicht-interaktiven Modus](/docs/de/headless#background-tasks-at-exit) mit der `-p`-Flag. Idle-Warten startet jedes Mal neu, wenn Claude einen Turn nimmt, um ein Background-Ergebnis zu behandeln. Standard: `600000` oder 10 Minuten. Wenn Idle-Warten die Obergrenze erreicht, stoppt Claude Code das Warten auf die verbleibenden Background-Aufgaben und beendet. Setzen Sie auf `0`, um unbegrenzt zu warten. Diese Obergrenze ist separat von der fünf-Sekunden-Gnadenfrist, die für einfache Background-Shells gilt. Erfordert Claude Code v2.1.182 oder später |

348| `CLAUDE_CODE_PROCESS_WRAPPER` | Starten Sie die Prozesse, die Claude Code von seiner eigenen Binärdatei startet, wie der Background-Service, der [Agent-Ansicht](/docs/de/agent-view)-Sitzungen hostet, durch einen Corporate-Launcher, der als argv-Präfix wie `/opt/corp/launcher` gegeben ist. Setzen Sie es im `env`-Block von Benutzer- oder [verwalteten Einstellungen](/docs/de/managed-settings), nicht als Shell-Export, daher erbt der abgelöste Background-Service es; Projekt- und lokale Einstellungen können es nicht setzen. Äquivalent zur [`processWrapper`-Einstellung](/docs/de/settings-reference#processwrapper), die Claude Code v2.1.210 oder später erfordert; diese Variable hat Vorrang, wenn beide gesetzt sind. Die VS Code-Erweiterung konfiguriert ihren eigenen Launcher separat über ihre `claudeProcessWrapper`-Einstellung. Wird unter Windows ignoriert. Siehe [Claude Code hinter einem Corporate-Launcher ausführen](/docs/de/corporate-launcher) für das Wert-Format, was der Launcher abdeckt und den Vertrag, den der Launcher erfüllen muss. Erfordert Claude Code v2.1.208 oder später |349| `CLAUDE_CODE_PROCESS_WRAPPER` | Starten Sie die Prozesse, die Claude Code von seiner eigenen Binärdatei startet, wie der Background-Service, der [Agent-Ansicht](/docs/de/agent-view)-Sitzungen hostet, durch einen Corporate-Launcher, der als argv-Präfix wie `/opt/corp/launcher` gegeben ist. Setzen Sie es im `env`-Block von Benutzer- oder [verwalteten Einstellungen](/docs/de/managed-settings), nicht als Shell-Export, daher erbt der abgelöste Background-Service es; Projekt- und lokale Einstellungen können es nicht setzen. Äquivalent zur [`processWrapper`-Einstellung](/docs/de/settings-reference#processwrapper), die Claude Code v2.1.210 oder später erfordert; diese Variable hat Vorrang, wenn beide gesetzt sind. Die VS Code-Erweiterung konfiguriert ihren eigenen Launcher separat über ihre `claudeProcessWrapper`-Einstellung. Wird unter Windows ignoriert. Siehe [Claude Code hinter einem Corporate-Launcher ausführen](/docs/de/corporate-launcher) für das Wert-Format, was der Launcher abdeckt und den Vertrag, den der Launcher erfüllen muss. Erfordert Claude Code v2.1.208 oder später |

349| `CLAUDE_CODE_PROJECT_DIR_NAME` | Setzen Sie zusammen mit `CLAUDE_CONFIG_DIR`, um den `projects/`-Verzeichnis-Namen zu wählen, unter dem Claude Code die Transkripte und Auto-Memory dieser Sitzung speichert, anstelle eines aus dem Arbeitsverzeichnis-Pfad abgeleiteten. Zum Beispiel startet Claude Code mit `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` speichert sie unter `/srv/tenant-a/projects/work/`. Claude Code ignoriert diese Variable, wenn `CLAUDE_CONFIG_DIR` nicht gesetzt ist, und liest sie nur aus der Umgebung, die Sie `claude` starten, nie aus einem [Einstellungs-Datei-`env`-Block](#in-settings-files). Siehe [Projekt-Verzeichnis selbst benennen](/docs/de/sessions#name-the-project-directory-yourself). Erfordert Claude Code v2.1.234 oder später |350| `CLAUDE_CODE_PROJECT_DIR_NAME` | Setzen Sie zusammen mit `CLAUDE_CONFIG_DIR`, um den `projects/`-Verzeichnis-Namen zu wählen, unter dem Claude Code die Transkripte und Auto-Memory dieser Sitzung speichert, anstelle eines aus dem Arbeitsverzeichnis-Pfad abgeleiteten. Zum Beispiel startet Claude Code mit `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` speichert sie unter `/srv/tenant-a/projects/work/`. Claude Code ignor diese Variable, wenn `CLAUDE_CONFIG_DIR` nicht gesetzt ist, und liest sie nur aus der Umgebung, die Sie `claude` starten, nie aus einem [Einstellungs-Datei-`env`-Block](#in-settings-files). Siehe [Projekt-Verzeichnis selbst benennen](/docs/de/sessions#name-the-project-directory-yourself). Erfordert Claude Code v2.1.234 oder später |

350| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Setzen Sie `5m` oder `1h`, die einzigen Werte, die Claude Code akzeptiert, um die [Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) für die Hauptkonversation zu wählen: Ihre interaktiven, `-p` und SDK-Turns, plus die Helfer,die inline mit ihnen laufen. Hat Vorrang vor der `promptCacheTtl`-Einstellung und über `ENABLE_PROMPT_CACHING_1H`, und `FORCE_PROMPT_CACHING_5M` überschreibt es. Die API berechnet 1-Stunden-Cache-Schreibvorgänge mit einer höheren Rate. Erfordert Claude Code v2.1.242 oder später |351| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Setzen Sie `5m` oder `1h`, die einzigen Werte, die Claude Code akzeptiert, um die [Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) für die Hauptkonversation zu wählen: Ihre interaktiven, `-p` und SDK-Turns, plus die Helfer, die inline mit ihnen laufen. Hat Vorrang vor der `promptCacheTtl`-Einstellung und über `ENABLE_PROMPT_CACHING_1H`, und `FORCE_PROMPT_CACHING_5M` überschreibt es. Die API berechnet 1-Stunden-Cache-Schreibvorgänge mit einer höheren Rate. Erfordert Claude Code v2.1.242 oder später |

351| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Setzen Sie auf `1`, um W3C-Trace-Kontext zu propagieren, wenn `ANTHROPIC_BASE_URL` auf einen benutzerdefinierten Proxy verweist. Propagation deckt den `traceparent`-Header auf Modell- und HTTP-MCP-Anfragen und die `TRACEPARENT`-Umgebungsvariable für Bash-, PowerShell- und Hook-Subprozesse ab. Standardmäßig ist Propagation nur aktiviert, wenn direkt mit der Anthropic API verbunden. Hinzugefügt in v2.1.152. Siehe [Traces (Beta)](/docs/de/monitoring-usage#traces-beta) |352| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Setzen Sie auf `1`, um W3C-Trace-Kontext zu propagieren, wenn `ANTHROPIC_BASE_URL` auf einen benutzerdefinierten Proxy verweist. Propagation deckt den `traceparent`-Header auf Modell- und HTTP-MCP-Anfragen und die `TRACEPARENT`-Umgebungsvariable für Bash-, PowerShell- und Hook-Subprozesse ab. Standardmäßig ist Propagation nur aktiviert, wenn direkt mit der Anthropic API verbunden. Hinzugefügt in v2.1.152. Siehe [Traces (Beta)](/docs/de/monitoring-usage#traces-beta) |

352| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Wird von Host-Plattformen gesetzt, die Claude Code einbetten und Model-Provider-Routing in ihrem Namen verwalten. Wenn gesetzt, ignoriert Claude Code Provider-Auswahl-, Endpunkt- und Authentifizierungs-Variablen wie `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` und `ANTHROPIC_API_KEY` in Einstellungsdateien, daher können Benutzer-Einstellungen das Routing des Hosts nicht überschreiben. Claude Code ignoriert auch Modell-Auswahl-Schlüssel wie `model`, `fallbackModel` und `modelOverrides` in [verwalteten Einstellungen](/docs/de/managed-settings), welche verwaltete Quelle sie auch liefert, daher hat die Modell-Konfiguration des Hosts Vorrang vor einem veralteten verwalteten Modell-Pin. Claude Code ignoriert auch Modell-Auswahl-Variablen wie `ANTHROPIC_MODEL` und die `ANTHROPIC_DEFAULT_*_MODEL`-Familie in einem verwalteten `env`-Block; eine [`availableModels`](/docs/de/model-config#restrict-model-selection)-Allowlist in verwalteten Einstellungen gilt immer noch, es sei denn, der Host liefert seine eigene. Claude Code überspringt auch das automatische Telemetrie-Opt-Out, das es andernfalls bei Drittanbieter-Providern wie Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform und Microsoft Foundry anwendet, daher folgt Telemetrie dem Standard-`DISABLE_TELEMETRY`-Opt-Out. Siehe [Standard-Verhaltensweisen nach API-Provider](/docs/de/data-usage#default-behaviors-by-api-provider) |353| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Wird von Host-Plattformen gesetzt, die Claude Code einbetten und Model-Provider-Routing in ihrem Namen verwalten. Wenn gesetzt, ignoriert Claude Code Provider-Auswahl-, Endpunkt- und Authentifizierungs-Variablen wie `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` und `ANTHROPIC_API_KEY` in Einstellungsdateien, daher können Benutzer-Einstellungen das Routing des Hosts nicht überschreiben. Claude Code ignoriert auch Modell-Auswahl-Schlüssel wie `model`, `fallbackModel` und `modelOverrides` in [verwalteten Einstellungen](/docs/de/managed-settings), welche verwaltete Quelle sie auch liefert, daher hat die Modell-Konfiguration des Hosts Vorrang vor einem veralteten verwalteten Modell-Pin. Claude Code ignoriert auch Modell-Auswahl-Variablen wie `ANTHROPIC_MODEL` und die `ANTHROPIC_DEFAULT_*_MODEL`-Familie in einem verwalteten `env`-Block; eine [`availableModels`](/docs/de/model-config#restrict-model-selection)-Allowlist in verwalteten Einstellungen gilt immer noch, es sei denn, der Host liefert seine eigene. Claude Code überspringt auch das automatische Telemetrie-Opt-Out, das es andernfalls bei Drittanbieter-Providern wie Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform und Microsoft Foundry anwendet, daher folgt Telemetrie dem Standard-`DISABLE_TELEMETRY`-Opt-Out. Siehe [Standard-Verhaltensweisen nach API-Provider](/docs/de/data-usage#default-behaviors-by-api-provider) |

353| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Setzen Sie auf `1`, um dem Proxy zu erlauben, DNS-Auflösung durchzuführen, anstelle des Aufrufers. Opt-In für Umgebungen, in denen der Proxy Hostname-Auflösung handhaben sollte |354| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Setzen Sie auf `1`, um dem Proxy zu erlauben, DNS-Auflösung durchzuführen, anstelle des Aufrufers. Opt-In für Umgebungen, in denen der Proxy Hostname-Auflösung handhaben sollte |


441| `DISABLE_PROMPT_CACHING_OPUS` | Setzen Sie auf `1`, um Prompt-Caching für Opus-Modelle zu deaktivieren |442| `DISABLE_PROMPT_CACHING_OPUS` | Setzen Sie auf `1`, um Prompt-Caching für Opus-Modelle zu deaktivieren |

442| `DISABLE_PROMPT_CACHING_SONNET` | Setzen Sie auf `1`, um Prompt-Caching für Sonnet-Modelle zu deaktivieren |443| `DISABLE_PROMPT_CACHING_SONNET` | Setzen Sie auf `1`, um Prompt-Caching für Sonnet-Modelle zu deaktivieren |

443| `DISABLE_TELEMETRY` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um sich von Telemetrie abzumelden. **Das Setzen auf `0` oder `false` meldet sich immer noch ab**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um Telemetrie wieder einzuschalten. Telemetrie-Events enthalten keine Benutzerdaten wie Code, Dateipfade oder Bash-Befehle. Deaktiviert auch Feature-Flag-Abruf mit der gleichen Auswirkung wie `DISABLE_GROWTHBOOK`, was [Remote Control](/docs/de/remote-control#requirements) und die anderen [Features, die Feature-Flag-Abruf benötigen](#features-that-need-feature-flag-fetching) nicht verfügbar macht. Siehe [Telemetrie für Ihre Organisation ausschalten](/docs/de/managed-settings#turn-telemetry-off-for-your-organization) |444| `DISABLE_TELEMETRY` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um sich von Telemetrie abzumelden. **Das Setzen auf `0` oder `false` meldet sich immer noch ab**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um Telemetrie wieder einzuschalten. Telemetrie-Events enthalten keine Benutzerdaten wie Code, Dateipfade oder Bash-Befehle. Deaktiviert auch Feature-Flag-Abruf mit der gleichen Auswirkung wie `DISABLE_GROWTHBOOK`, was [Remote Control](/docs/de/remote-control#requirements) und die anderen [Features, die Feature-Flag-Abruf benötigen](#features-that-need-feature-flag-fetching) nicht verfügbar macht. Siehe [Telemetrie für Ihre Organisation ausschalten](/docs/de/managed-settings#turn-telemetry-off-for-your-organization) |

444| `DISABLE_UPDATES` | Setzen Sie auf `1`, um alle Updates zu blockieren, einschließlich manuelles `claude update` und `claude install`. Strenger als `DISABLE_AUTOUPDATER`. Verwenden Sie, wenn Sie Claude Code über Ihre eigenen Kanäle verteilen und Benutzer sich nicht selbst aktualisieren sollten |445| `DISABLE_UPDATES` | Setzen Sie auf `1`, um alle Updates zu blockieren, einschließlich manuelles `claude update` und `claude install`. Stricter als `DISABLE_AUTOUPDATER`. Verwenden Sie, wenn Sie Claude Code über Ihre eigenen Kanäle verteilen und Benutzer sich nicht selbst aktualisieren sollten |

445| `DISABLE_UPGRADE_COMMAND` | Setzen Sie auf `1`, um den `/upgrade`-Befehl zu verbergen |446| `DISABLE_UPGRADE_COMMAND` | Setzen Sie auf `1`, um den `/upgrade`-Befehl zu verbergen |

446| `DO_NOT_TRACK` | Setzen Sie auf `1`, um sich von Telemetrie abzumelden, mit der gleichen Auswirkung wie `DISABLE_TELEMETRY`, einschließlich der Nicht-Verfügbarkeit von [Remote Control](/docs/de/remote-control#requirements) und den anderen [Features, die Feature-Flag-Abruf benötigen](#features-that-need-feature-flag-fetching). Claude Code liest diese Variable als Standard-Boolean, daher lässt `0` Telemetrie an, und ehrt sie als die Cross-Tool-Konvention, die von vielen Developer-CLIs erkannt wird |447| `DO_NOT_TRACK` | Setzen Sie auf `1`, um sich von Telemetrie abzumelden, mit der gleichen Auswirkung wie `DISABLE_TELEMETRY`, einschließlich der Nicht-Verfügbarkeit von [Remote Control](/docs/de/remote-control#requirements) und den anderen [Features, die Feature-Flag-Abruf benötigen](#features-that-need-feature-flag-fetching). Claude Code liest diese Variable als Standard-Boolean, daher lässt `0` Telemetrie an, und ehrt sie als die Cross-Tool-Konvention, die von vielen Developer-CLIs erkannt wird |

447| `ENABLE_BETA_TRACING_DETAILED` | Setzen Sie auf `1`, zusammen mit `BETA_TRACING_ENDPOINT`, um [detailliertes Beta-Tracing](/docs/de/monitoring-usage#traces-beta) zu aktivieren, das Content-tragende Span-Attribute und den `claude_code.hook`-Span hinzufügt. Interaktive CLI-Sitzungen erfordern auch, dass Ihre Organisation für das Beta auf die Allowlist gesetzt ist. Beide Variablen werden in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |448| `ENABLE_BETA_TRACING_DETAILED` | Setzen Sie auf `1`, zusammen mit `BETA_TRACING_ENDPOINT`, um [detailliertes Beta-Tracing](/docs/de/monitoring-usage#traces-beta) zu aktivieren, das Content-tragende Span-Attribute und den `claude_code.hook`-Span hinzufügt. Interaktive CLI-Sitzungen erfordern auch, dass Ihre Organisation für das Beta auf die Allowlist gesetzt ist. Beide Variablen werden in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |


458| `IS_DEMO` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um Demo-Modus zu aktivieren: verbirgt Ihre E-Mail und Organisations-Namen aus dem Header und `/status`-Ausgabe, und überspringt Onboarding. **Das Setzen auf `0` oder `false` aktiviert immer noch Demo-Modus**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um es auszuschalten. Nützlich beim Streamen oder Aufzeichnen einer Sitzung |459| `IS_DEMO` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um Demo-Modus zu aktivieren: verbirgt Ihre E-Mail und Organisations-Namen aus dem Header und `/status`-Ausgabe, und überspringt Onboarding. **Das Setzen auf `0` oder `false` aktiviert immer noch Demo-Modus**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um es auszuschalten. Nützlich beim Streamen oder Aufzeichnen einer Sitzung |

459| `MAX_MCP_OUTPUT_TOKENS` | Maximale Anzahl von Tokens, die in MCP-Tool-Antworten erlaubt sind. Claude Code zeigt eine Warnung an, wenn die Ausgabe 10.000 Tokens überschreitet. Tools, die [`anthropic/maxResultSizeChars`](/docs/de/mcp#raise-the-limit-for-a-specific-tool) deklarieren, verwenden stattdessen dieses Zeichen-Limit für Text-Inhalt, aber Bild-Inhalt von diesen Tools unterliegt immer noch dieser Variablen (Standard: 25000) |460| `MAX_MCP_OUTPUT_TOKENS` | Maximale Anzahl von Tokens, die in MCP-Tool-Antworten erlaubt sind. Claude Code zeigt eine Warnung an, wenn die Ausgabe 10.000 Tokens überschreitet. Tools, die [`anthropic/maxResultSizeChars`](/docs/de/mcp#raise-the-limit-for-a-specific-tool) deklarieren, verwenden stattdessen dieses Zeichen-Limit für Text-Inhalt, aber Bild-Inhalt von diesen Tools unterliegt immer noch dieser Variablen (Standard: 25000) |

460| `MAX_STRUCTURED_OUTPUT_RETRIES` | Anzahl der Versuche, die Claude Code erlaubt, wenn die Antwort des Modells die Validierung gegen das [`--json-schema`](/docs/de/cli-reference#cli-flags) im nicht-interaktiven Modus mit der `-p`-Flag fehlschlägt; nach so vielen fehlgeschlagenen Versuchen ohne gültige Ausgabe schlägt der Lauf fehl. Die gleiche Obergrenze gilt, wenn die strukturierte Ausgabe eines [Workflow](/docs/de/workflows)-Subagents die Validierung fehlschlägt. Standardmäßig 5, ein erster Versuch plus vier Wiederholungen |461| `MAX_STRUCTURED_OUTPUT_RETRIES` | Anzahl der Versuche, die Claude Code erlaubt, wenn die Antwort des Modells die Validierung gegen das [`--json-schema`](/docs/de/cli-reference#cli-flags) im nicht-interaktiven Modus mit der `-p`-Flag fehlschlägt; nach so vielen fehlgeschlagenen Versuchen ohne gültige Ausgabe schlägt der Lauf fehl. Die gleiche Obergrenze gilt, wenn die strukturierte Ausgabe eines [Workflow](/docs/de/workflows)-Subagents die Validierung fehlschlägt. Standardmäßig 5, ein erster Versuch plus vier Wiederholungen |

461| `MAX_THINKING_TOKENS` | Festes Token-Budget für [Extended Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code begrenzt es auf ein Token unter den Max-Output-Tokens der Anfrage und nie unter 1.024. Siehe `CLAUDE_CODE_MAX_OUTPUT_TOKENS` für wie dieses Limit gesetzt wird. Wenn nicht gesetzt und Denken aktiviert ist, wählen Modelle mit [adaptivem Denken](/docs/de/model-config#adjust-effort-level) ihre eigene Denk-Tiefe, und andere Modelle verwenden die Obergrenze. Setzen Sie auf `0`, um Denken auf der Anthropic API zu deaktivieren, außer auf Fable-Modellen, die Denken nicht ausschalten können. Bei [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt `0` den `thinking`-Parameter aus statt. Mit Denken auf der Anthropic API ausgeschaltet sendet Claude Code Effort `high` statt einer höheren Ebene zu Modellen, die es weiß, [akzeptieren diese Kombination nicht](/docs/de/errors#effort-isnt-available-with-thinking-turned-off), wie Opus 5. Claude Code ignoriert nicht-Null-Werte auf adaptiven Denk-Modellen, außer auf den Modellen, wo `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` adaptives Denken ausschaltet |462| `MAX_THINKING_TOKENS` | Festes Token-Budget für [Extended Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code begrenzt es auf ein Token unter den Max-Output-Tokens der Anfrage und nie unter 1.024. Siehe `CLAUDE_CODE_MAX_OUTPUT_TOKENS` für wie dieses Limit gesetzt wird. Wenn nicht gesetzt und Denken aktiviert ist, wählen Modelle mit [adaptivem Denken](/docs/de/model-config#adjust-effort-level) ihre eigene Denk-Tiefe, und andere Modelle verwenden die Obergrenze. Setzen Sie auf `0`, um Denken auf der Anthropic API zu deaktivieren, außer auf Opus 5.5 und den Fable-Modellen, die Denken nicht ausschalten können. Bei [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt `0` den `thinking`-Parameter aus statt. Mit Denken auf der Anthropic API ausgeschaltet sendet Claude Code Effort `high` statt einer höheren Ebene zu Modellen, die es weiß, [akzeptieren diese Kombination nicht](/docs/de/errors#effort-isnt-available-with-thinking-turned-off), wie Opus 5. Claude Code ignoriert nicht-Null-Werte auf adaptiven Denk-Modellen, außer auf den Modellen, wo `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` adaptives Denken ausschaltet |

462| `MCP_CLIENT_SECRET` | OAuth-Client-Secret für MCP-Server, die [vorkonfigurierte Credentials](/docs/de/mcp#use-pre-configured-oauth-credentials) erfordern. Vermeidet den interaktiven Prompt beim Hinzufügen eines Servers mit `--client-secret` |463| `MCP_CLIENT_SECRET` | OAuth-Client-Secret für MCP-Server, die [vorkonfigurierte Credentials](/docs/de/mcp#use-pre-configured-oauth-credentials) erfordern. Vermeidet den interaktiven Prompt beim Hinzufügen eines Servers mit `--client-secret` |

463| `MCP_CONNECTION_NONBLOCKING` | Kontrolliert, ob Startup auf MCP-Server wartet, um sich zu verbinden, bevor die erste Abfrage. MCP-Startup ist standardmäßig nicht-blockierend: Server verbinden sich im Hintergrund und ihre Tools werden verfügbar, wenn sie fertig sind. Setzen Sie auf `0`, um Claude Code auf Server-Verbindung vor der ersten Abfrage zu warten. Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) konfiguriert sind, machen Startup immer noch warten, außer wenn sie vom [Discovery-Cache](/docs/de/mcp#server-status-detail) serviert werden, da ihre Tools vorhanden sein müssen, wenn der erste Prompt gebaut wird. Im nicht-interaktiven Modus (`-p`) ohne `--input-format stream-json` wartet Claude Code auch auf noch ausstehende Server vor dem ersten Turn, unabhängig von dieser Variablen. Wenn Sie [`--mcp-config`](/docs/de/cli-reference#cli-flags) explizit übergeben, hat das Warten eine längere Deadline; siehe diesen Flag-Eintrag für die Cached-Server-Ausnahme |464| `MCP_CONNECTION_NONBLOCKING` | Kontrolliert, ob Startup auf MCP-Server wartet, um sich zu verbinden, bevor die erste Abfrage. MCP-Startup ist standardmäßig nicht-blockierend: Server verbinden sich im Hintergrund und ihre Tools werden verfügbar, wenn sie fertig sind. Setzen Sie auf `0`, um Claude Code auf Server-Verbindung vor der ersten Abfrage zu warten. Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) konfiguriert sind, machen Startup immer noch warten, außer wenn sie vom [Discovery-Cache](/docs/de/mcp#server-status-detail) serviert werden, da ihre Tools vorhanden sein müssen, wenn der erste Prompt gebaut wird. Im nicht-interaktiven Modus (`-p`) ohne `--input-format stream-json` wartet Claude Code auch auf noch ausstehende Server vor dem ersten Turn, unabhängig von dieser Variablen. Wenn Sie [`--mcp-config`](/docs/de/cli-reference#cli-flags) explizit übergeben, hat das Warten eine längere Deadline; siehe diesen Flag-Eintrag für die Cached-Server-Ausnahme |

464| `MCP_CONNECT_TIMEOUT_MS` | Wie lange blockierendes MCP-Startup wartet, in Millisekunden, für den Verbindungs-Batch, bevor die Tool-Liste Snapshot wird (Standard: 5000). Gilt, wenn `MCP_CONNECTION_NONBLOCKING=0` oder für Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) markiert sind. Server, die immer noch ausstehend sind, bei der Deadline, verbinden sich weiter im Hintergrund. Unterschiedlich von `MCP_TIMEOUT`, das einen einzelnen Server's Verbindungs-Versuch begrenzt |465| `MCP_CONNECT_TIMEOUT_MS` | Wie lange blockierendes MCP-Startup wartet, in Millisekunden, für den Verbindungs-Batch, bevor die Tool-Liste Snapshot wird (Standard: 5000). Gilt, wenn `MCP_CONNECTION_NONBLOCKING=0` oder für Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) markiert sind. Server, die immer noch ausstehend sind, bei der Deadline, verbinden sich weiter im Hintergrund. Unterschiedlich von `MCP_TIMEOUT`, das einen einzelnen Server's Verbindungs-Versuch begrenzt |


476| `NO_PROXY` | Liste von Domains und IPs, an die Anfragen direkt ausgegeben werden, Proxy umgehend |477| `NO_PROXY` | Liste von Domains und IPs, an die Anfragen direkt ausgegeben werden, Proxy umgehend |

477| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Standard-OpenTelemetry-SDK-Limit auf Attribut-Wert-Länge. Claude Code begrenzt Content-tragende Telemetrie-Attribute auf das kleinere von diesem und `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, daher bleibt der Kürzungs-Marker innerhalb des SDK-Limits. Claude Code liest die `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT`- und `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`-Varianten gleich, und der kleinste gesetzte Wert gilt für alle Signale. Erfordert Claude Code v2.1.214 oder später. Siehe [Monitoring](/docs/de/monitoring-usage#common-configuration-variables) |478| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Standard-OpenTelemetry-SDK-Limit auf Attribut-Wert-Länge. Claude Code begrenzt Content-tragende Telemetrie-Attribute auf das kleinere von diesem und `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, daher bleibt der Kürzungs-Marker innerhalb des SDK-Limits. Claude Code liest die `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT`- und `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`-Varianten gleich, und der kleinste gesetzte Wert gilt für alle Signale. Erfordert Claude Code v2.1.214 oder später. Siehe [Monitoring](/docs/de/monitoring-usage#common-configuration-variables) |

478| `OTEL_LOG_ASSISTANT_RESPONSES` | Setzen Sie auf `1`, um den Antwort-Text des Modells auf `assistant_response`-OpenTelemetry-Log-Events einzuschließen. Wenn nicht gesetzt, wird der Wert von `OTEL_LOG_USER_PROMPTS` statt verwendet. Setzen Sie auf `0`, um Antworten redaktiert zu halten, auch wenn `OTEL_LOG_USER_PROMPTS` gesetzt ist. Erfordert Claude Code v2.1.193 oder später. Siehe [Monitoring](/docs/de/monitoring-usage#assistant-response-event) |479| `OTEL_LOG_ASSISTANT_RESPONSES` | Setzen Sie auf `1`, um den Antwort-Text des Modells auf `assistant_response`-OpenTelemetry-Log-Events einzuschließen. Wenn nicht gesetzt, wird der Wert von `OTEL_LOG_USER_PROMPTS` statt verwendet. Setzen Sie auf `0`, um Antworten redaktiert zu halten, auch wenn `OTEL_LOG_USER_PROMPTS` gesetzt ist. Erfordert Claude Code v2.1.193 oder später. Siehe [Monitoring](/docs/de/monitoring-usage#assistant-response-event) |

480| `OTEL_LOG_MANAGED_SETTINGS` | Setzen Sie auf `1`, um die redaktierte verwaltete Einstellungen, und einen SHA-256-Digest der Einstellungen vor Redaktion, zu `managed_settings_resolved`-OpenTelemetry-Log-Events hinzuzufügen. Standardmäßig deaktiviert. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen; ein Wert in Projekt- oder lokalen Einstellungen schaltet es nicht ein. Erfordert Claude Code v2.1.274 oder später. Siehe [Monitoring](/docs/de/monitoring-usage#managed-settings-resolved-event) |

479| `OTEL_LOG_RAW_API_BODIES` | Geben Sie Anthropic Messages API Request- und Response-JSON als `api_request_body` / `api_response_body`-Log-Events aus. Setzen Sie auf `1` für Inline-Bodies, die beim Content-Limit gekürzt werden, oder `file:<dir>`, um ungekürzte Bodies auf die Festplatte zu schreiben und statt einen `body_ref`-Pfad auszugeben. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` konfiguriert das Content-Limit, 60 KB standardmäßig. Standardmäßig deaktiviert; Bodies enthalten die gesamte Konversations-Historie. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert. Siehe [Monitoring](/docs/de/monitoring-usage#api-request-body-event) |481| `OTEL_LOG_RAW_API_BODIES` | Geben Sie Anthropic Messages API Request- und Response-JSON als `api_request_body` / `api_response_body`-Log-Events aus. Setzen Sie auf `1` für Inline-Bodies, die beim Content-Limit gekürzt werden, oder `file:<dir>`, um ungekürzte Bodies auf die Festplatte zu schreiben und statt einen `body_ref`-Pfad auszugeben. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` konfiguriert das Content-Limit, 60 KB standardmäßig. Standardmäßig deaktiviert; Bodies enthalten die gesamte Konversations-Historie. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert. Siehe [Monitoring](/docs/de/monitoring-usage#api-request-body-event) |

480| `OTEL_LOG_TOOL_CONTENT` | Setzen Sie auf `1`, um Tool-Inhalt in das `tool.output`-OpenTelemetry-Span-Event einzuschließen. Span-Attribute tragen Tool-Inhalt unter [ihren eigenen Gates](/docs/de/monitoring-usage#new-context-gates). Erfordert [Tracing](/docs/de/monitoring-usage#traces-beta). Standardmäßig deaktiviert zum Schutz sensibler Daten. Siehe [Monitoring](/docs/de/monitoring-usage#tool-output-span-event) |482| `OTEL_LOG_TOOL_CONTENT` | Setzen Sie auf `1`, um Tool-Inhalt in das `tool.output`-OpenTelemetry-Span-Event einzuschließen. Span-Attribute tragen Tool-Inhalt unter [ihren eigenen Gates](/docs/de/monitoring-usage#new-context-gates). Erfordert [Tracing](/docs/de/monitoring-usage#traces-beta). Standardmäßig deaktiviert zum Schutz sensibler Daten. Siehe [Monitoring](/docs/de/monitoring-usage#tool-output-span-event) |

481| `OTEL_LOG_TOOL_DETAILS` | Setzen Sie auf `1`, um Tool-Input-Argumente, MCP-Server-Namen, Benutzer-erstellte Workflow-Namen, rohe Error-Strings bei Tool-Fehlern, die Refusal-`category` auf `api_refusal`-Events und andere Tool-Details in OpenTelemetry-Traces und Logs einzuschließen. Standardmäßig deaktiviert zum Schutz von PII. Siehe [Monitoring](/docs/de/monitoring-usage) |483| `OTEL_LOG_TOOL_DETAILS` | Setzen Sie auf `1`, um Tool-Input-Argumente, MCP-Server-Namen, Benutzer-erstellte Workflow-Namen, rohe Error-Strings bei Tool-Fehlern, die Refusal-`category` auf `api_refusal`-Events und andere Tool-Details in OpenTelemetry-Traces und Logs einzuschließen. Standardmäßig deaktiviert zum Schutz von PII. Siehe [Monitoring](/docs/de/monitoring-usage) |


487| `OTEL_METRICS_INCLUDE_SESSION_ID` | Setzen Sie auf `false`, um Sitzungs-ID aus Metrik-Attributen auszuschließen (Standard: enthalten). Siehe [Monitoring](/docs/de/monitoring-usage) |489| `OTEL_METRICS_INCLUDE_SESSION_ID` | Setzen Sie auf `false`, um Sitzungs-ID aus Metrik-Attributen auszuschließen (Standard: enthalten). Siehe [Monitoring](/docs/de/monitoring-usage) |

488| `OTEL_METRICS_INCLUDE_VERSION` | Setzen Sie auf `true`, um Claude Code-Version in Metrik-Attributen einzuschließen (Standard: ausgeschlossen). Siehe [Monitoring](/docs/de/monitoring-usage) |490| `OTEL_METRICS_INCLUDE_VERSION` | Setzen Sie auf `true`, um Claude Code-Version in Metrik-Attributen einzuschließen (Standard: ausgeschlossen). Siehe [Monitoring](/docs/de/monitoring-usage) |

489| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Überschreiben Sie das Zeichen-Budget für Skill-Metadaten, die dem [Skill-Tool](/docs/de/skills#control-who-invokes-a-skill) gezeigt werden. Das Budget skaliert dynamisch bei 1% des Kontext-Fensters, mit einem Fallback von 8.000 Zeichen. Legacy-Name für Rückwärts-Kompatibilität behalten |491| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Überschreiben Sie das Zeichen-Budget für Skill-Metadaten, die dem [Skill-Tool](/docs/de/skills#control-who-invokes-a-skill) gezeigt werden. Das Budget skaliert dynamisch bei 1% des Kontext-Fensters, mit einem Fallback von 8.000 Zeichen. Legacy-Name für Rückwärts-Kompatibilität behalten |

490| `TASK_MAX_OUTPUT_LENGTH` | Maximale Anzahl von Zeichen einer [Background-Aufgabe](/docs/de/tools-reference#background-commands)-Ausgabe, die das `TaskOutput`-Tool behält (Standard: 32000; Maximum: 160000). Wenn Sie die [`taskOutputMaxChars`](/docs/de/settings-reference#taskoutputmaxchars)-Einstellung setzen, ignoriert Claude Code diese Variable |492| `TASK_MAX_OUTPUT_LENGTH` | Entfernt in v2.1.277 und jetzt ein No-Op, zusammen mit dem `TaskOutput`-Tool, das es dimensioniert. Setzen Sie zuvor die maximale Anzahl von Zeichen einer [Background-Aufgabe](/docs/de/tools-reference#background-commands)-Ausgabe, die das `TaskOutput`-Tool behielt. Claude liest eine Background-Aufgabe's Ausgabedatei mit `Read` statt |

491| `USE_BUILTIN_RIPGREP` | Setzen Sie auf `0`, um System-installiertes `rg` anstelle von `rg`, das mit Claude Code enthalten ist, zu verwenden |493| `USE_BUILTIN_RIPGREP` | Setzen Sie auf `0`, um System-installiertes `rg` anstelle von `rg`, das mit Claude Code enthalten ist, zu verwenden |

492| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Überschreiben Sie Region für Claude 3.5 Haiku bei Verwendung von Google Cloud's Agent Platform |494| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Überschreiben Sie Region für Claude 3.5 Haiku bei Verwendung von Google Cloud's Agent Platform |

493| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Überschreiben Sie Region für Claude 3.5 Sonnet bei Verwendung von Google Cloud's Agent Platform |495| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Überschreiben Sie Region für Claude 3.5 Sonnet bei Verwendung von Google Cloud's Agent Platform |


501| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Überschreiben Sie Region für Claude Sonnet 4.6 bei Verwendung von Google Cloud's Agent Platform |503| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Überschreiben Sie Region für Claude Sonnet 4.6 bei Verwendung von Google Cloud's Agent Platform |

502| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Überschreiben Sie Region für Claude Opus 4.7 bei Verwendung von Google Cloud's Agent Platform |504| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Überschreiben Sie Region für Claude Opus 4.7 bei Verwendung von Google Cloud's Agent Platform |

503| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Überschreiben Sie Region für Claude Opus 4.8 bei Verwendung von Google Cloud's Agent Platform |505| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Überschreiben Sie Region für Claude Opus 4.8 bei Verwendung von Google Cloud's Agent Platform |

506| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Überschreiben Sie Region für Claude Opus 5.5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.280 |

504| `VERTEX_REGION_CLAUDE_5_OPUS` | Überschreiben Sie Region für Claude Opus 5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.219 |507| `VERTEX_REGION_CLAUDE_5_OPUS` | Überschreiben Sie Region für Claude Opus 5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.219 |

505| `VERTEX_REGION_CLAUDE_5_SONNET` | Überschreiben Sie Region für Claude Sonnet 5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.197 |508| `VERTEX_REGION_CLAUDE_5_SONNET` | Überschreiben Sie Region für Claude Sonnet 5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.197 |

506| `VERTEX_REGION_CLAUDE_FABLE_5` | Überschreiben Sie Region für Claude Fable 5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.170 |509| `VERTEX_REGION_CLAUDE_FABLE_5` | Überschreiben Sie Region für Claude Fable 5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.170 |


535* Claude Code Sonden auf claude.ai-Connector-Servern für [MCP-Protokollrevision 2026-07-28](/docs/de/mcp#mcp-client-runtimes) durchführen lassen, es sei denn, Sie setzen `MCP_PROTOCOL_NEGOTIATION=auto`538* Claude Code Sonden auf claude.ai-Connector-Servern für [MCP-Protokollrevision 2026-07-28](/docs/de/mcp#mcp-client-runtimes) durchführen lassen, es sei denn, Sie setzen `MCP_PROTOCOL_NEGOTIATION=auto`

536* Das [PowerShell-Tool](/docs/de/tools-reference#powershell-tool) standardmäßig für claude.ai und Console-Konten unter Windows mit installiertem Git Bash abrufen; Claude Code leitet Shell-Befehle durch Git Bash weiter, es sei denn, Sie setzen `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Unter Windows ohne Git Bash bleibt das Tool aktiviert539* Das [PowerShell-Tool](/docs/de/tools-reference#powershell-tool) standardmäßig für claude.ai und Console-Konten unter Windows mit installiertem Git Bash abrufen; Claude Code leitet Shell-Befehle durch Git Bash weiter, es sei denn, Sie setzen `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Unter Windows ohne Git Bash bleibt das Tool aktiviert

537* [Von Claude entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) abrufen, das Claude Code durch ein abgerufenes Flag aktiviert540* [Von Claude entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) abrufen, das Claude Code durch ein abgerufenes Flag aktiviert

541* Claude [große Einfügungen als eingefügt statt als eingegeben behandeln lassen](/docs/de/terminal-config#how-claude-treats-pasted-text); der Inhalt hinter einem `[Pasted text #N]`-Platzhalter erreicht Claude unmarkiert

538* Claude Code [MCP-Tools ausschließen, deren Eingabeschema die API ablehnen würde](/docs/de/mcp#tools-with-invalid-input-schemas); es sendet das Schema trotzdem, und eine Anfrage, die es enthält, schlägt mit [einem 400-Fehler fehl, der das Tool nach seiner Position benennt](/docs/de/errors#tool-input-schema-is-invalid)542* Claude Code [MCP-Tools ausschließen, deren Eingabeschema die API ablehnen würde](/docs/de/mcp#tools-with-invalid-input-schemas); es sendet das Schema trotzdem, und eine Anfrage, die es enthält, schlägt mit [einem 400-Fehler fehl, der das Tool nach seiner Position benennt](/docs/de/errors#tool-input-schema-is-invalid)

539 543 

540<h3 id="first-session-after-an-install-or-upgrade">544<h3 id="first-session-after-an-install-or-upgrade">

errors.md +146 −2

Details

71| `API Error: 401 Invalid authentication credentials` | [Authentifizierung](#api-error-401-invalid-authentication-credentials) |71| `API Error: 401 Invalid authentication credentials` | [Authentifizierung](#api-error-401-invalid-authentication-credentials) |

72| `Login expired · Please run /login` | [Authentifizierung](#login-expired) |72| `Login expired · Please run /login` | [Authentifizierung](#login-expired) |

73| `Claude login not accepted · Run /login, then try again` | [Authentifizierung](#claude-login-not-accepted) |73| `Claude login not accepted · Run /login, then try again` | [Authentifizierung](#claude-login-not-accepted) |

74| `Artifacts need a claude.ai login` | [Authentifizierung](#artifacts-need-a-claude-ai-login) |

74| `Not signed in to the Cloud gateway — run /login.` | [Authentifizierung](#administrator-policy-requires-a-cloud-gateway-sign-in) |75| `Not signed in to the Cloud gateway — run /login.` | [Authentifizierung](#administrator-policy-requires-a-cloud-gateway-sign-in) |

75| `Administrator policy requires a Cloud gateway sign-in on this machine` | [Authentifizierung](#administrator-policy-requires-a-cloud-gateway-sign-in) |76| `Administrator policy requires a Cloud gateway sign-in on this machine` | [Authentifizierung](#administrator-policy-requires-a-cloud-gateway-sign-in) |

76| `Failed to authenticate: OAuth session expired and could not be refreshed` | [Authentifizierung](#login-expired) |77| `Failed to authenticate: OAuth session expired and could not be refreshed` | [Authentifizierung](#login-expired) |


87| `Issuer mismatch in authorization response (RFC 9207)` | [Authentifizierung](#issuer-mismatch-in-authorization-response) |88| `Issuer mismatch in authorization response (RFC 9207)` | [Authentifizierung](#issuer-mismatch-in-authorization-response) |

88| `Cloud gateway session expired — run /login to reconnect.` | [Authentifizierung](#cloud-gateway-session-expired) |89| `Cloud gateway session expired — run /login to reconnect.` | [Authentifizierung](#cloud-gateway-session-expired) |

89| `Cloud gateway <url> no longer accepts this session` | [Authentifizierung](#cloud-gateway-session-expired) |90| `Cloud gateway <url> no longer accepts this session` | [Authentifizierung](#cloud-gateway-session-expired) |

91| `Sign-in timed out while waiting for you to continue. Try again.` | [Authentifizierung](#sign-in-timed-out-while-waiting-for-you-to-continue) |

90| `AWS credentials expired or invalid` | [Authentifizierung](#aws-credentials-expired-or-invalid) |92| `AWS credentials expired or invalid` | [Authentifizierung](#aws-credentials-expired-or-invalid) |

91| `AWS authentication failed` | [Authentifizierung](#aws-authentication-failed) |93| `AWS authentication failed` | [Authentifizierung](#aws-authentication-failed) |

92| `Google Cloud credentials expired or invalid` | [Authentifizierung](#google-cloud-credentials-expired-or-invalid) |94| `Google Cloud credentials expired or invalid` | [Authentifizierung](#google-cloud-credentials-expired-or-invalid) |


149| `effort '<level>' is not supported when thinking is disabled` | [Anfragefehler](#effort-isnt-available-with-thinking-turned-off) |151| `effort '<level>' is not supported when thinking is disabled` | [Anfragefehler](#effort-isnt-available-with-thinking-turned-off) |

150| `max_tokens must be greater than thinking.budget_tokens` | [Anfragefehler](#thinking-budget-exceeds-output-limit) |152| `max_tokens must be greater than thinking.budget_tokens` | [Anfragefehler](#thinking-budget-exceeds-output-limit) |

151| `API Error: 400 due to tool use concurrency issues` | [Anfragefehler](#tool-use-or-thinking-block-mismatch) |153| `API Error: 400 due to tool use concurrency issues` | [Anfragefehler](#tool-use-or-thinking-block-mismatch) |

154| `API Error: 400 orphaned tool_result in conversation history` | [Anfragefehler](#tool-use-or-thinking-block-mismatch) |

155| `API Error: 400 duplicate tool_use ID in conversation history` | [Anfragefehler](#tool-use-or-thinking-block-mismatch) |

152| `[Unsupported tool content removed]` | [Anfragefehler](#unsupported-tool-content-removed) |156| `[Unsupported tool content removed]` | [Anfragefehler](#unsupported-tool-content-removed) |

153| `server_tool_use.name: Input should be` auf jedem Turn einer fortgesetzten Sitzung | [Anfragefehler](#unsupported-tool-content-removed) |157| `server_tool_use.name: Input should be` auf jedem Turn einer fortgesetzten Sitzung | [Anfragefehler](#unsupported-tool-content-removed) |

154| `<model> can't help with this. Start a new session to continue` | [Anfragefehler](#usage-policy-refusal) |158| `<model> can't help with this. Start a new session to continue` | [Anfragefehler](#usage-policy-refusal) |


199| `No conversation found with session ID: <session-id>` | [Befehlszeilenfehler](#no-conversation-found-with-the-session-id) |203| `No conversation found with session ID: <session-id>` | [Befehlszeilenfehler](#no-conversation-found-with-the-session-id) |

200| `Cannot switch renderers in this session` | [Befehlszeilenfehler](#cannot-switch-renderers-in-this-session) |204| `Cannot switch renderers in this session` | [Befehlszeilenfehler](#cannot-switch-renderers-in-this-session) |

201| `Cannot switch renderers while work is running in the background` | [Befehlszeilenfehler](#cannot-switch-renderers-in-this-session) |205| `Cannot switch renderers while work is running in the background` | [Befehlszeilenfehler](#cannot-switch-renderers-in-this-session) |

206| `Couldn't open Claude Desktop` | [Befehlszeilenfehler](#couldnt-open-claude-desktop) |

207| `Failed to open Claude Desktop. Please try opening it manually.` | [Befehlszeilenfehler](#couldnt-open-claude-desktop) |

202| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [Befehlszeilenfehler](#terminal-setup-left-your-zed-keymap-unchanged) |208| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [Befehlszeilenfehler](#terminal-setup-left-your-zed-keymap-unchanged) |

203| `Your Zed keymap isn't a readable list of keybindings` | [Befehlszeilenfehler](#terminal-setup-left-your-zed-keymap-unchanged) |209| `Your Zed keymap isn't a readable list of keybindings` | [Befehlszeilenfehler](#terminal-setup-left-your-zed-keymap-unchanged) |

204| `Skill usage reports are not available on this connection.` | [Befehlszeilenfehler](#skill-usage-reports-are-not-available-on-this-connection) |210| `Skill usage reports are not available on this connection.` | [Befehlszeilenfehler](#skill-usage-reports-are-not-available-on-this-connection) |


206| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Befehlszeilenfehler](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |212| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Befehlszeilenfehler](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

207| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin-Fehler](#plugin-eval-is-currently-in-early-access) |213| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin-Fehler](#plugin-eval-is-currently-in-early-access) |

208| `Marketplace "<name>" is registered from an untrusted source` | [Plugin-Fehler](#marketplace-is-registered-from-an-untrusted-source) |214| `Marketplace "<name>" is registered from an untrusted source` | [Plugin-Fehler](#marketplace-is-registered-from-an-untrusted-source) |

215| `Marketplace "<name>" is already added from a different source` | [Plugin-Fehler](#marketplace-is-already-added-from-a-different-source) |

209| `references ${user_config.*} in a shell-form command` | [Plugin-Fehler](#plugin-command-references-user-config) |216| `references ${user_config.*} in a shell-form command` | [Plugin-Fehler](#plugin-command-references-user-config) |

210| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Plugin-Fehler](#plugin-command-references-user-config) |217| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Plugin-Fehler](#plugin-command-references-user-config) |

211| `headersHelper for MCP server '<name>' references ${user_config.*}` | [Plugin-Fehler](#plugin-command-references-user-config) |218| `headersHelper for MCP server '<name>' references ${user_config.*}` | [Plugin-Fehler](#plugin-command-references-user-config) |


216| `Plugin source path refused` | [Plugin-Fehler](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |223| `Plugin source path refused` | [Plugin-Fehler](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |

217| `Failed to load marketplace configuration` | [Plugin-Fehler](#failed-to-load-marketplace-configuration) |224| `Failed to load marketplace configuration` | [Plugin-Fehler](#failed-to-load-marketplace-configuration) |

218| `Marketplace configuration file is corrupted` | [Plugin-Fehler](#failed-to-load-marketplace-configuration) |225| `Marketplace configuration file is corrupted` | [Plugin-Fehler](#failed-to-load-marketplace-configuration) |

226| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [Plugin-Fehler](#plugin-is-required-by-your-organization) |

219| `would be spawned with zero tools — refusing` | [Werkzeugfehler](#agent-would-be-spawned-with-zero-tools) |227| `would be spawned with zero tools — refusing` | [Werkzeugfehler](#agent-would-be-spawned-with-zero-tools) |

220| `File is covered by a Read deny rule in your permission settings` | [Werkzeugfehler](#file-is-covered-by-a-read-deny-rule) |228| `File is covered by a Read deny rule in your permission settings` | [Werkzeugfehler](#file-is-covered-by-a-read-deny-rule) |

221| `subagent_type is required: the general-purpose agent is not available in this session` | [Werkzeugfehler](#subagent-type-is-required) |229| `subagent_type is required: the general-purpose agent is not available in this session` | [Werkzeugfehler](#subagent-type-is-required) |


246| `Can't open MCP settings in a background session` | [Fehler in Hintergrund-Sitzungen](#commands-refused-in-a-background-session) |254| `Can't open MCP settings in a background session` | [Fehler in Hintergrund-Sitzungen](#commands-refused-in-a-background-session) |

247| `blocked because the path is spelled in a form that cannot be safely resolved` | [Fehler in Hintergrund-Sitzungen](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) |255| `blocked because the path is spelled in a form that cannot be safely resolved` | [Fehler in Hintergrund-Sitzungen](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) |

248| `blocked because the path is network-shaped` | [Fehler in Hintergrund-Sitzungen](#write-or-command-blocked-because-the-path-names-a-network-location) |256| `blocked because the path is network-shaped` | [Fehler in Hintergrund-Sitzungen](#write-or-command-blocked-because-the-path-names-a-network-location) |

257| `is isolated in the worktree <path>, but this command <reason>. Refusing to run it` | [Fehler in Hintergrund-Sitzungen](#command-blocked-by-the-worktree-isolation-checks) |

258| `too complex to verify that it stays inside the worktree` | [Fehler in Hintergrund-Sitzungen](#command-blocked-by-the-worktree-isolation-checks) |

249| `This session has no saved transcript` | [Fehler in Hintergrund-Sitzungen](#this-session-has-no-saved-transcript) |259| `This session has no saved transcript` | [Fehler in Hintergrund-Sitzungen](#this-session-has-no-saved-transcript) |

250| `Can't open — this session is running in another terminal` | [Fehler in Hintergrund-Sitzungen](#this-session-is-running-in-another-terminal) |260| `Can't open — this session is running in another terminal` | [Fehler in Hintergrund-Sitzungen](#this-session-is-running-in-another-terminal) |

251| `This conversation is already open in another running Claude session` | [Fehler in Hintergrund-Sitzungen](#this-session-is-running-in-another-terminal) |261| `This conversation is already open in another running Claude session` | [Fehler in Hintergrund-Sitzungen](#this-session-is-running-in-another-terminal) |


281| `MCP server <name> is blocked by enterprise managed policy` | [Konfigurationswarnungen](#mcp-server-is-blocked-by-enterprise-managed-policy) |291| `MCP server <name> is blocked by enterprise managed policy` | [Konfigurationswarnungen](#mcp-server-is-blocked-by-enterprise-managed-policy) |

282| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [Konfigurationswarnungen](#managed-settings-document-could-not-be-parsed) |292| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [Konfigurationswarnungen](#managed-settings-document-could-not-be-parsed) |

283| `Managed settings drop-in directory could not be read` | [Konfigurationswarnungen](#managed-settings-document-could-not-be-parsed) |293| `Managed settings drop-in directory could not be read` | [Konfigurationswarnungen](#managed-settings-document-could-not-be-parsed) |

294| `otelHeadersHelper failed; telemetry is not being exported. See /status: ...` | [Konfigurationswarnungen](#otelheadershelper-failed) |

284| `"crossSessionInbound" must be one of "accept", "hold", "refuse"` | [Konfigurationswarnungen](#crosssessioninbound-must-be-one-of-accept-hold-refuse) |295| `"crossSessionInbound" must be one of "accept", "hold", "refuse"` | [Konfigurationswarnungen](#crosssessioninbound-must-be-one-of-accept-hold-refuse) |

285| `headersHelper not run — this workspace has no persisted trust` | [Konfigurationswarnungen](#headershelper-not-run) |296| `headersHelper not run — this workspace has no persisted trust` | [Konfigurationswarnungen](#headershelper-not-run) |

286| `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [Konfigurationswarnungen](#malformed-tool-content-rule) |297| `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [Konfigurationswarnungen](#malformed-tool-content-rule) |


861* Führen Sie den in `apiKeyHelper` konfigurierten Befehl direkt in Ihrer Shell aus, um den Fehler zu reproduzieren872* Führen Sie den in `apiKeyHelper` konfigurierten Befehl direkt in Ihrer Shell aus, um den Fehler zu reproduzieren

862* Wenn der Befehl von einer abgelaufenen Sitzung berichtet, authentifizieren Sie sich erneut bei Ihrem Anmeldedaten-Provider, z. B. indem Sie sich erneut bei Ihrem SSO oder Ihrem Secrets-Tresor anmelden873* Wenn der Befehl von einer abgelaufenen Sitzung berichtet, authentifizieren Sie sich erneut bei Ihrem Anmeldedaten-Provider, z. B. indem Sie sich erneut bei Ihrem SSO oder Ihrem Secrets-Tresor anmelden

863* Korrigieren Sie den Befehl so, dass er nur den Schlüssel auf stdout ausgibt, als ein einzelnes Token aus druckbarem ASCII bis zu 16.384 Zeichen, und mit Code 0 beendet wird. Siehe [Anmeldedaten mit apiKeyHelper rotieren](/docs/de/llm-gateway-connect#rotate-credentials-with-apikeyhelper) für eine funktionierende Einrichtung.874* Korrigieren Sie den Befehl so, dass er nur den Schlüssel auf stdout ausgibt, als ein einzelnes Token aus druckbarem ASCII bis zu 16.384 Zeichen, und mit Code 0 beendet wird. Siehe [Anmeldedaten mit apiKeyHelper rotieren](/docs/de/llm-gateway-connect#rotate-credentials-with-apikeyhelper) für eine funktionierende Einrichtung.

864* Führen Sie `/status` aus, um zu bestätigen, dass `apiKeyHelper` die aktive Anmeldedatenquelle ist. Jedes Mal, wenn der Befehl fehlschlägt, erscheinen sein Exit-Code und die Fehlerausgabe in einem `Authentication`-Panel im Terminal. Vor v2.1.212 war das Panel mit `Cloud authentication` betitelt.875* Führen Sie `/status` aus, um zu bestätigen, dass `apiKeyHelper` die aktive Anmeldedatenquelle ist. Die `apiKeyHelper`-Zeile zeigt `Failing` mit dem Detail des letzten Fehlers, z. B. dem Exit-Code und der Fehlerausgabe des Befehls, und verschwindet nach der nächsten erfolgreichen Ausführung. Vor v2.1.274 zeigte `/status` nur die Anmeldedatenquelle, nicht den Fehler.

876* Jedes Mal, wenn der Befehl fehlschlägt, erscheinen sein Exit-Code und die Fehlerausgabe auch in einem `Authentication`-Panel im Terminal. Vor v2.1.212 war das Panel mit `Cloud authentication` betitelt.

865 877 

866<h3 id="invalid-request-header-value">878<h3 id="invalid-request-header-value">

867 Ungültiger Request-Header-Wert879 Ungültiger Request-Header-Wert


1167 1179 

1168* Führen Sie `/login` aus, schließen Sie die Anmeldung ab, dann starten Sie die Sitzung erneut1180* Führen Sie `/login` aus, schließen Sie die Anmeldung ab, dann starten Sie die Sitzung erneut

1169 1181 

1182<h3 id="artifacts-need-a-claude-ai-login">

1183 Artefakte benötigen eine claude.ai-Anmeldung

1184</h3>

1185 

1186Claude Code weigerte sich, ein [Artefakt](/docs/de/artifacts) zu veröffentlichen oder zu lesen, weil die Sitzung keine claude.ai-Anmeldung hat, die es für Artefakte verwenden kann.

1187 

1188Jede Form der Meldung beginnt mit den gleichen Worten, gefolgt von einem Mittel, das davon abhängt, wie sich Ihre Sitzung authentifiziert. Ohne konkurrierende Anmeldedaten liest es sich:

1189 

1190```text theme={null}

1191Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.

1192```

1193 

1194**Was zu tun ist:**

1195 

1196* Führen Sie `/login` aus und wählen Sie **Claude account with subscription**. Die Option **Anthropic Console account** bietet keine claude.ai-Anmeldedaten.

1197* Wenn die Meldung eine Anmeldedaten benennt, die Vorrang hat, z. B. `ANTHROPIC_API_KEY`, eine `apiKeyHelper`-Einstellung oder einen Console-Schlüssel, der durch eine vorherige `/login` gespeichert wurde, entfernen Sie ihn auf die Weise, die die Meldung sagt, dann führen Sie `/login` aus

1198* Wenn die Meldung sagt, dass diese Remote-Sitzung sich durch den Computer authentifiziert, der sie gestartet hat, melden Sie sich auf diesem Computer bei claude.ai an, dann verbinden Sie die Sitzung erneut

1199* Wenn die Meldung sagt, dass die Anmeldedaten von der Sitzungs-Host-Umgebung injiziert werden, können Sie sie in dieser Sitzung nicht ändern; starten Sie eine Sitzung, die bei claude.ai angemeldet ist

1200* Siehe [Verfügbarkeit](/docs/de/artifacts#availability) für die anderen Anforderungen, die Artefakte haben, z. B. Plan, Modell-Provider und Organisations-Richtlinie

1201 

1170<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1202<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1171 Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung1203 Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung

1172</h3>1204</h3>


1535* Führen Sie `/login` in der Sitzung aus und schließen Sie die Browser-Anmeldung ab1567* Führen Sie `/login` in der Sitzung aus und schließen Sie die Browser-Anmeldung ab

1536* Für einen nicht-interaktiven Start starten Sie `claude` in der gleichen Umgebung, führen Sie `/login` aus, dann führen Sie Ihren Befehl erneut aus1568* Für einen nicht-interaktiven Start starten Sie `claude` in der gleichen Umgebung, führen Sie `/login` aus, dann führen Sie Ihren Befehl erneut aus

1537 1569 

1570<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">

1571 Anmeldung hat das Zeitlimit überschritten, während auf Ihre Bestätigung gewartet wurde

1572</h3>

1573 

1574Während einer [Claude apps gateway](/docs/de/claude-apps-gateway)-Anmeldung benannte das Gateway das Konto, das sich angemeldet hat, und Claude Code forderte Sie auf, es zu bestätigen, bevor die Anmeldedaten gespeichert wurden. Sie ließen die Bestätigung offen, nachdem die Anmeldung selbst abgelaufen war, und das Gateway gab kein Aktualisierungs-Token aus, das es erneuern konnte, sodass Claude Code nichts speicherte, als Sie fortfuhren:

1575 

1576```text theme={null}

1577Sign-in timed out while waiting for you to continue. Try again.

1578```

1579 

1580**Was zu tun ist:**

1581 

1582* Führen Sie `/login` erneut aus und bestätigen Sie das Konto, bevor die Anmeldung abläuft

1583 

1538<h3 id="gateway-refused-the-request">1584<h3 id="gateway-refused-the-request">

1539 Gateway lehnte die Anfrage ab1585 Gateway lehnte die Anfrage ab

1540</h3>1586</h3>


2314 2360 

2315```text theme={null}2361```text theme={null}

2316API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation.2362API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation.

2363API Error: 400 orphaned tool_result in conversation history. Run /rewind to recover the conversation.

2364API Error: 400 duplicate tool_use ID in conversation history. Run /rewind to recover the conversation.

2317API Error: 400 ... unexpected `tool_use_id` found in `tool_result` blocks2365API Error: 400 ... unexpected `tool_use_id` found in `tool_result` blocks

2318API Error: 400 ... thinking blocks ... cannot be modified2366API Error: 400 ... thinking blocks ... cannot be modified

2319```2367```

2320 2368 

2321Alle drei Varianten bedeuten dasselbe: Die Abfolge von `tool_use`-, `tool_result`- und `thinking`-Blöcken in der Historie stimmt nicht mehr mit dem überein, was die API erwartet.2369Alle Varianten bedeuten dasselbe: Die Abfolge von `tool_use`-, `tool_result`- und `thinking`-Blöcken in der Historie stimmt nicht mehr mit dem überein, was die API erwartet.

2322 2370 

2323**Was zu tun ist:**2371**Was zu tun ist:**

2324 2372 


3087**Was zu tun ist:**3135**Was zu tun ist:**

3088 3136 

3089* Führen Sie `claude --resume <session-id>` mit der Sitzungs-ID aus der Meldung aus, um erneut zu versuchen3137* Führen Sie `claude --resume <session-id>` mit der Sitzungs-ID aus der Meldung aus, um erneut zu versuchen

3138* Wenn jeder erneute Versuch auf die gleiche Weise fehlschlägt, führen Sie `claude update` aus und setzen Sie fort. Versionen vor v2.1.275 schlagen das Resume fehl, wenn das gespeicherte Transkript einen Eintrag enthält, den sie nicht lesen können.

3090* Wenn der erneute Versuch erneut fehlschlägt, führen Sie `claude` aus, um eine neue Sitzung zu starten3139* Wenn der erneute Versuch erneut fehlschlägt, führen Sie `claude` aus, um eine neue Sitzung zu starten

3091 3140 

3092<h3 id="no-conversation-found-with-the-session-id">3141<h3 id="no-conversation-found-with-the-session-id">


3141 3190 

3142* Führen Sie in einer Sitzung, die ohne diese Einschränkungen gestartet wurde, `/tui fullscreen` oder `/tui default` aus, um zurückzuwechseln. Claude Code speichert die [`tui`-Einstellung](/docs/de/settings-reference#tui) dort3191* Führen Sie in einer Sitzung, die ohne diese Einschränkungen gestartet wurde, `/tui fullscreen` oder `/tui default` aus, um zurückzuwechseln. Claude Code speichert die [`tui`-Einstellung](/docs/de/settings-reference#tui) dort

3143 3192 

3193<h3 id="couldnt-open-claude-desktop">

3194 Couldn't open Claude Desktop

3195</h3>

3196 

3197Sie haben [`/desktop`](/docs/de/desktop#coming-from-the-cli) oder seinen Alias `/app` ausgeführt, und der System-Befehl, den Claude Code zum Öffnen von Claude Desktop verwendet, ist fehlgeschlagen. Die Sitzung bleibt im Terminal.

3198 

3199```text theme={null}

3200Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and run /desktop again.

3201```

3202 

3203**Was zu tun ist:**

3204 

3205* Öffnen Sie Claude Desktop selbst, dann führen Sie `/desktop` erneut aus

3206* Um die vollständige Fehlerausgabe dieses Befehls zu lesen, aktivieren Sie Debug-Protokollierung mit `/debug`, führen Sie `/desktop` erneut aus, und überprüfen Sie das Debug-Protokoll

3207 

3208Vor v2.1.275 war die Meldung `Failed to open Claude Desktop. Please try opening it manually.` und sagte nicht, was fehlgeschlagen ist.

3209 

3144<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3210<h3 id="terminal-setup-left-your-zed-keymap-unchanged">

3145 /terminal-setup hat Ihre Zed-Tastaturzuordnung unverändert gelassen3211 /terminal-setup hat Ihre Zed-Tastaturzuordnung unverändert gelassen

3146</h3>3212</h3>


3258* Wenn Sie einen Drittanbieter-Marketplace veröffentlichen, der den Namen verwendet hat, bevor er reserviert wurde, benennen Sie ihn um und bitten Sie Benutzer, ihn von Ihrer Quelle erneut hinzuzufügen3324* Wenn Sie einen Drittanbieter-Marketplace veröffentlichen, der den Namen verwendet hat, bevor er reserviert wurde, benennen Sie ihn um und bitten Sie Benutzer, ihn von Ihrer Quelle erneut hinzuzufügen

3259* Siehe die Liste der reservierten Namen unter [Marketplace-Schema](/docs/de/plugin-marketplaces#marketplace-schema)3325* Siehe die Liste der reservierten Namen unter [Marketplace-Schema](/docs/de/plugin-marketplaces#marketplace-schema)

3260 3326 

3327<h3 id="marketplace-is-already-added-from-a-different-source">

3328 Marketplace ist bereits von einer anderen Quelle hinzugefügt

3329</h3>

3330 

3331Sie haben das Hinzufügen eines Marketplace durch [`/plugin install <plugin> --marketplace <source>`](/docs/de/discover-plugins#add-a-marketplace-and-install-in-one-command) bestätigt, und der Katalog, den Claude Code aus dieser Quelle abgerufen hat, nennt sich selbst genauso wie ein Marketplace, den Sie bereits von einer anderen Quelle hinzugefügt haben. Claude Code behält den vorhandenen Marketplace bei, anstatt ihn zu ersetzen, und das Plugin wird nicht installiert.

3332 

3333```text theme={null}

3334Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.

3335```

3336 

3337**Was zu tun ist:**

3338 

3339* Wenn der Marketplace, den Sie bereits hinzugefügt haben, der ist, den Sie möchten, installieren Sie ihn nach Name: `/plugin install <plugin>@<name>`

3340* Um zur neuen Quelle zu wechseln, führen Sie `/plugin marketplace remove <name>` aus und versuchen Sie dann die Installation erneut

3341 

3261<h3 id="plugin-command-references-user-config">3342<h3 id="plugin-command-references-user-config">

3262 Plugin-Befehl referenziert user\_config in einem Shell-Befehl3343 Plugin-Befehl referenziert user\_config in einem Shell-Befehl

3263</h3>3344</h3>


3426* Öffnen Sie `~/.claude/plugins/known_marketplaces.json` und reparieren Sie das JSON, oder beheben Sie die Einträge, die die Meldung als nicht dem Registrierungsschema entsprechend benennt3507* Öffnen Sie `~/.claude/plugins/known_marketplaces.json` und reparieren Sie das JSON, oder beheben Sie die Einträge, die die Meldung als nicht dem Registrierungsschema entsprechend benennt

3427* Wenn Sie es nicht reparieren können, löschen Sie die Datei oder ersetzen Sie ihren Inhalt durch `{}`, und fügen Sie dann jeden Marketplace mit `claude plugin marketplace add <source>` erneut hinzu. Claude Code registriert die Marketplaces, die Ihre Benutzer- oder verwalteten Einstellungen in [`extraKnownMarketplaces`](/docs/de/settings-reference#extraknownmarketplaces) deklarieren, das nächste Mal, wenn Sie es in einem Ordner starten, dem Sie vertraut haben.3508* Wenn Sie es nicht reparieren können, löschen Sie die Datei oder ersetzen Sie ihren Inhalt durch `{}`, und fügen Sie dann jeden Marketplace mit `claude plugin marketplace add <source>` erneut hinzu. Claude Code registriert die Marketplaces, die Ihre Benutzer- oder verwalteten Einstellungen in [`extraKnownMarketplaces`](/docs/de/settings-reference#extraknownmarketplaces) deklarieren, das nächste Mal, wenn Sie es in einem Ordner starten, dem Sie vertraut haben.

3428 3509 

3510<h3 id="plugin-is-required-by-your-organization">

3511 Plugin ist von Ihrer Organisation erforderlich

3512</h3>

3513 

3514Sie haben `claude plugin disable` ausgeführt oder die `/plugin` **Installiert**-Registerkarte verwendet, um ein [Plugin, das von claude.ai synchronisiert wird](/docs/de/plugins-reference#synced-plugins), auszuschalten, das Ihre Organisation als erforderlich kennzeichnet:

3515 

3516```text theme={null}

3517Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.

3518```

3519 

3520Claude Code speichert nichts und das Plugin bleibt aktiviert.

3521 

3522Wenn Sie versuchen, ein Plugin zu deaktivieren, das ein erforderliches Plugin benötigt, weigert sich Claude Code auf die gleiche Weise, mit einer Meldung, die das erforderliche Plugin benennt, das es benötigt.

3523 

3524**Was zu tun ist:**

3525 

3526* Bitten Sie einen Administrator Ihrer claude.ai-Organisation, den erforderlichen Status des Plugins auf claude.ai zu ändern

3527 

3429<h2 id="tool-errors">3528<h2 id="tool-errors">

3430 Tool-Fehler3529 Tool-Fehler

3431</h2>3530</h2>


3814* Normalerweise nichts: Claude versucht es erneut mit der lokalen Schreibweise, die die Meldung verlangt3913* Normalerweise nichts: Claude versucht es erneut mit der lokalen Schreibweise, die die Meldung verlangt

3815* Wenn sich die Datei auf einer Netzwerkfreigabe befindet, anstatt eine lokale Datei mit einem Netzwerkpfad zu schreiben, befindet sie sich außerhalb des lokalen Arbeitsbereichs der Sitzung; bearbeiten Sie sie stattdessen aus einer regulären interaktiven Sitzung3914* Wenn sich die Datei auf einer Netzwerkfreigabe befindet, anstatt eine lokale Datei mit einem Netzwerkpfad zu schreiben, befindet sie sich außerhalb des lokalen Arbeitsbereichs der Sitzung; bearbeiten Sie sie stattdessen aus einer regulären interaktiven Sitzung

3816 3915 

3916<h3 id="command-blocked-by-the-worktree-isolation-checks">

3917 Befehl blockiert durch die Worktree-Isolationsprüfungen

3918</h3>

3919 

3920Claude hat einen Bash- oder Monitor-Befehl in einer [Sitzung ausgeführt, die in einem Worktree isoliert ist](/docs/de/worktrees#how-claude-code-enforces-isolation), und Claude Code hat ihn aus einem von zwei Gründen abgelehnt:

3921 

3922* Der Befehl zeigt git auf den Haupt-Checkout.

3923* Claude Code kann aus dem Befehlstext nicht überprüfen, dass jedes git, das der Befehl ausführt, innerhalb des Worktree bleibt. Ein Befehl, der git nie benennt, kann trotzdem aus diesem Grund abgelehnt werden, da das Erweitern einer Variablenumleitung wie `${!name}` oder das Ausführen einer Bash-Funktionssubstitution wie `${ command; }` einen Wert zur Laufzeit erzeugt, der selbst ein Befehl sein kann.

3924 

3925Die Mitte der Meldung nennt, was nicht überprüft werden konnte:

3926 

3927```text wrap theme={null}

3928This session is isolated in the worktree /path/to/worktree, but this command evaluates ${!x@P} arithmetically inside a construct too complex to verify, which can run a command hidden in a variable's value. Refusing to run it — a worktree-isolated session's git operations must target its own worktree. Split it into plain, separate commands and run them from /path/to/worktree.

3929```

3930 

3931**Was zu tun ist:**

3932 

3933* Normalerweise nichts: Claude liest die Meldung und schreibt den Befehl so um, wie sein letzter Satz verlangt

3934* Wenn ein Befehl, den Sie angefordert haben, weiterhin abgelehnt wird, schreiben Sie den gekennzeichneten Wert wörtlich: ersetzen Sie die Umleitung oder Substitution durch ihren Wert, und führen Sie git als seinen eigenen einfachen Befehl von innerhalb des Worktree aus

3935* Um auf den Haupt-Checkout absichtlich zu handeln, führen Sie den Befehl selbst in einem Terminal außerhalb der Sitzung aus

3936 

3817<h3 id="this-session-has-no-saved-transcript">3937<h3 id="this-session-has-no-saved-transcript">

3818 Diese Sitzung hat kein gespeichertes Transkript3938 Diese Sitzung hat kein gespeichertes Transkript

3819</h3>3939</h3>


4203 4323 

4204Claude Code löscht die Sicherungen einer Sitzung beim [Aufräumen](/docs/de/claude-directory#cleaned-up-automatically), standardmäßig etwa 30 Tage, nachdem die Sitzung eine zuletzt gespeichert hat. Wenn Sie eine Sitzung danach fortsetzen, listet `/rewind` ihre Checkpoints immer noch auf, aber das Zurückspulen zu einem von ihnen kann mit diesem Fehler fehlschlagen. Wenn die Meldung auch `N paths were skipped for link safety` sagt, siehe [Restored the code, but skipped files](#restored-the-code-but-skipped-files) für diese Pfade.4324Claude Code löscht die Sicherungen einer Sitzung beim [Aufräumen](/docs/de/claude-directory#cleaned-up-automatically), standardmäßig etwa 30 Tage, nachdem die Sitzung eine zuletzt gespeichert hat. Wenn Sie eine Sitzung danach fortsetzen, listet `/rewind` ihre Checkpoints immer noch auf, aber das Zurückspulen zu einem von ihnen kann mit diesem Fehler fehlschlagen. Wenn die Meldung auch `N paths were skipped for link safety` sagt, siehe [Restored the code, but skipped files](#restored-the-code-but-skipped-files) für diese Pfade.

4205 4325 

4326Wenn Sie eine Sitzung verzweigen, z. B. mit [`--fork-session`](/docs/de/cli-reference#cli-flags) oder [`/branch`](/docs/de/sessions#branch-a-session), kopiert Claude Code die Sicherungen der ursprünglichen Sitzung in die Verzweigung. Wenn Claude Code eine Sicherung nicht kopieren kann, z. B. weil der Speicherplatz voll ist, fehlt diese Sicherung in der Verzweigung. Das Zurückspulen zu einem Checkpoint, der sie benötigt, kann mit diesem Fehler fehlschlagen.

4327 

4206**Was zu tun ist:**4328**Was zu tun ist:**

4207 4329 

4208* Machen Sie die Änderungen auf andere Weise rückgängig: Bitten Sie Claude, seine Bearbeitungen rückgängig zu machen, oder stellen Sie die Dateien aus der Versionskontrolle wieder her. Wenn die Sicherungen weg sind, schlägt das erneute Ausführen von `/rewind` auf die gleiche Weise fehl.4330* Machen Sie die Änderungen auf andere Weise rückgängig: Bitten Sie Claude, seine Bearbeitungen rückgängig zu machen, oder stellen Sie die Dateien aus der Versionskontrolle wieder her. Wenn die Sicherungen weg sind, schlägt das erneute Ausführen von `/rewind` auf die gleiche Weise fehl.


4460* Wenn Sie den Computer verwalten, beheben Sie das benannte Dokument, damit es als JSON-Objekt analysiert wird, oder entfernen Sie die Datei, das Profil oder den Registrierungswert. Ein leeres `managed-settings.json` zählt als `{}` und blockiert den Start nicht.4582* Wenn Sie den Computer verwalten, beheben Sie das benannte Dokument, damit es als JSON-Objekt analysiert wird, oder entfernen Sie die Datei, das Profil oder den Registrierungswert. Ein leeres `managed-settings.json` zählt als `{}` und blockiert den Start nicht.

4461* Wenn nicht, bitten Sie Ihren Administrator, das bereitgestellte Dokument zu beheben. Nichts in Ihren eigenen Einstellungsdateien verursacht oder löscht diesen Fehler.4583* Wenn nicht, bitten Sie Ihren Administrator, das bereitgestellte Dokument zu beheben. Nichts in Ihren eigenen Einstellungsdateien verursacht oder löscht diesen Fehler.

4462 4584 

4585<h3 id="otelheadershelper-failed">

4586 otelHeadersHelper fehlgeschlagen

4587</h3>

4588 

4589Claude Code zeigt diese Warnung als Benachrichtigung in der Terminalschnittstelle an, einmal pro interaktiver Sitzung, wenn das [`otelHeadersHelper`](/docs/de/settings-reference#otelheadershelper)-Skript fehlschlägt oder eine Ausgabe druckt, die nicht den [Skriptanforderungen](/docs/de/monitoring-usage#script-requirements) entspricht.

4590 

4591Während das Skript weiterhin fehlschlägt, schlagen Exporte fehl und Ihr Telemetrie-Backend empfängt nichts aus der Sitzung.

4592 

4593Der Text nach `See /status:` sagt, was fehlgeschlagen ist, z. B. der Exit-Code des Skripts gefolgt von seiner Fehlerausgabe:

4594 

4595```text theme={null}

4596otelHeadersHelper failed; telemetry is not being exported. See /status: exited 1: token service unreachable

4597```

4598 

4599**Was zu tun ist:**

4600 

4601* Führen Sie `/status` aus, um das Fehlerdetail zu lesen.

4602* Beheben Sie das Skript, damit es mit 0 beendet wird, innerhalb von 30 Sekunden, und drucken Sie ein JSON-Objekt von String-Header-Werten auf stdout. Siehe [Skriptanforderungen](/docs/de/monitoring-usage#script-requirements).

4603* Wenn Ihre Organisation das Skript durch [verwaltete Einstellungen](/docs/de/managed-settings) bereitstellt, bitten Sie denjenigen, der sie verwaltet, es zu beheben.

4604 

4605Im [nicht-interaktiven Modus](/docs/de/headless) mit `-p` erscheint der gleiche Fehler auf stderr statt als `otelHeadersHelper failed (OpenTelemetry export headers unavailable): <error>`.

4606 

4463<h3 id="headershelper-not-run">4607<h3 id="headershelper-not-run">

4464 headersHelper nicht ausgeführt4608 headersHelper nicht ausgeführt

4465</h3>4609</h3>

fast-mode.md +12 −7

Details

12 12 

13Der Schnellmodus ist eine Hochgeschwindigkeitskonfiguration für Claude Opus, die das Modell bis zu 2,5x schneller macht, allerdings zu höheren Kosten pro Token. Aktivieren Sie ihn mit `/fast`, wenn Sie Geschwindigkeit für interaktive Arbeiten wie schnelle Iteration oder Live-Debugging benötigen, und deaktivieren Sie ihn, wenn Kosten wichtiger sind als Latenz.13Der Schnellmodus ist eine Hochgeschwindigkeitskonfiguration für Claude Opus, die das Modell bis zu 2,5x schneller macht, allerdings zu höheren Kosten pro Token. Aktivieren Sie ihn mit `/fast`, wenn Sie Geschwindigkeit für interaktive Arbeiten wie schnelle Iteration oder Live-Debugging benötigen, und deaktivieren Sie ihn, wenn Kosten wichtiger sind als Latenz.

14 14 

15Der Schnellmodus ist kein anderes Modell. Er verwendet Claude Opus mit einer anderen API-Konfiguration, die Geschwindigkeit über Kosteneffizienz priorisiert. Sie erhalten identische Qualität und Funktionen mit schnelleren Antworten. Der Schnellmodus wird auf Opus 5 und Opus 4.8 unterstützt. Er ist nicht auf Sonnet, Haiku oder anderen Modellen verfügbar.15Der Schnellmodus ist kein anderes Modell. Er verwendet Claude Opus mit einer anderen API-Konfiguration, die Geschwindigkeit über Kosteneffizienz priorisiert. Sie erhalten identische Qualität und Funktionen mit schnelleren Antworten. Der Schnellmodus wird auf Opus 5.5, Opus 5 und Opus 4.8 unterstützt. Er ist nicht auf Sonnet, Haiku oder anderen Modellen verfügbar.

16 16 

17Claude Code behandelt Opus 4.7 wie jedes andere Modell ohne Schnellmodus-Unterstützung: Das Wechseln zu ihm schaltet den Schnellmodus aus. Der Schnellmodus für Opus 4.7 wurde am 25. Juni 2026 eingestellt und am 24. Juli 2026 entfernt.17Opus 4.7 unterstützt keinen Schnellmodus, daher schaltet das Wechseln zu ihm den Schnellmodus aus. Der Schnellmodus für Opus 4.7 wurde am 25. Juni 2026 eingestellt und am 24. Juli 2026 entfernt.

18 18 

19Was Sie wissen sollten:19Was Sie wissen sollten:

20 20 

21* Verwenden Sie `/fast`, um den Schnellmodus in der Claude Code CLI ein- oder auszuschalten. Die VS Code-Erweiterung folgt Ihrer [`fastMode`-Einstellung](#toggle-fast-mode) und bietet einen **Schnellmodus umschalten**-Befehl, wenn das ausgewählte Modell den Schnellmodus unterstützt.21* Verwenden Sie `/fast`, um den Schnellmodus in der Claude Code CLI ein- oder auszuschalten. Die [VS Code-Erweiterung](/docs/de/vs-code) bietet einen **Schnellmodus umschalten**-Befehl, wenn das ausgewählte Modell den Schnellmodus unterstützt. Claude Code speichert diese Einstellung in Ihrer [`fastMode`-Einstellung](#toggle-fast-mode).

22* Die Preisgestaltung für den Schnellmodus beträgt \$10/\$50 pro MTok Ein-/Ausgabe auf Opus 5 und Opus 4.8.22* Die Preisgestaltung für den Schnellmodus beträgt \$8/\$40 pro MTok Ein-/Ausgabe auf Opus 5.5 und \$10/\$50 auf Opus 5 und Opus 4.8.

23* Verfügbar für Claude Code-Benutzer mit Abonnementplänen (Pro/Max/Team/Enterprise) und auf Claude Console. Team- und Enterprise-Organisationen benötigen zunächst einen Eigentümer, um dies zu aktivieren, und Console-Organisationen benötigen zunächst bereitgestellten Zugriff, beide beschrieben unter [Anforderungen](#requirements).23* Verfügbar für Claude Code-Benutzer mit Abonnementplänen (Pro/Max/Team/Enterprise) und auf Claude Console. Team- und Enterprise-Organisationen benötigen zunächst einen Eigentümer, um dies zu aktivieren, und Console-Organisationen benötigen zunächst bereitgestellten Zugriff, beide beschrieben unter [Anforderungen](#requirements).

24* Für Claude Code-Benutzer mit Abonnementplänen (Pro/Max/Team/Enterprise) ist der Schnellmodus nur über Nutzungsguthaben verfügbar und nicht in den Abonnement-Ratenlimits enthalten.24* Für Claude Code-Benutzer mit Abonnementplänen (Pro/Max/Team/Enterprise) ist der Schnellmodus nur über Nutzungsguthaben verfügbar und nicht in den Abonnement-Ratenlimits enthalten.

25 25 


29 29 

30Im CLI können Sie den Schnellmodus auf eine dieser Weisen aktivieren:30Im CLI können Sie den Schnellmodus auf eine dieser Weisen aktivieren:

31 31 

32* Geben Sie `/fast` ein und drücken Sie Tab, um ihn ein- oder auszuschalten32* Geben Sie `/fast` ein, drücken Sie Leertaste, um ihn ein- oder auszuschalten, und drücken Sie dann Enter, um zu bestätigen

33* Setzen Sie `"fastMode": true` in Ihrer [Benutzereinstellungsdatei](/docs/de/settings)33* Setzen Sie `"fastMode": true` in Ihrer [Benutzereinstellungsdatei](/docs/de/settings)

34 34 

35Standardmäßig bleibt der Schnellmodus, den Sie in einer interaktiven Sitzung aktivieren, über Sitzungen hinweg erhalten. Sie können den Schnellmodus so konfigurieren, dass er sich bei jeder Sitzung zurückgesetzt wird. Weitere Informationen finden Sie unter [Opt-in pro Sitzung erforderlich](#require-per-session-opt-in).35Standardmäßig bleibt der Schnellmodus, den Sie in einer interaktiven Sitzung aktivieren, über Sitzungen hinweg erhalten. Sie können den Schnellmodus so konfigurieren, dass er sich bei jeder Sitzung zurückgesetzt wird. Weitere Informationen finden Sie unter [Opt-in pro Sitzung erforderlich](#require-per-session-opt-in).


47* Ein kleines `↯`-Symbol wird neben der Eingabeaufforderung angezeigt, während der Schnellmodus aktiv ist47* Ein kleines `↯`-Symbol wird neben der Eingabeaufforderung angezeigt, während der Schnellmodus aktiv ist

48* Führen Sie `/fast` jederzeit erneut aus, um zu überprüfen, ob der Schnellmodus aktiviert oder deaktiviert ist48* Führen Sie `/fast` jederzeit erneut aus, um zu überprüfen, ob der Schnellmodus aktiviert oder deaktiviert ist

49 49 

50Opus 5 ist der Standard für den Schnellmodus in Claude Code v2.1.219 und später. Vor v2.1.219 war der Schnellmodus standardmäßig auf Opus 4.8 in v2.1.154 bis v2.1.218 und auf Opus 4.7 in v2.1.142 bis v2.1.153 eingestellt.50Opus 5.5 ist der Standard für den Schnellmodus in Claude Code v2.1.280 und später. Vor v2.1.280 war der Schnellmodus standardmäßig auf Opus 5 in v2.1.219 und später, auf Opus 4.8 in v2.1.154 bis v2.1.218 und auf Opus 4.7 in v2.1.142 bis v2.1.153 eingestellt.

51 51 

52Wenn Sie den Schnellmodus mit `/fast` erneut deaktivieren, bleiben Sie auf Opus. Um zu einem anderen Modell zu wechseln, verwenden Sie `/model`.52Wenn Sie den Schnellmodus mit `/fast` erneut deaktivieren, bleiben Sie auf Opus. Um zu einem anderen Modell zu wechseln, verwenden Sie `/model`.

53 53 


80 80 

81| Modell | Eingabe (MTok) | Ausgabe (MTok) |81| Modell | Eingabe (MTok) | Ausgabe (MTok) |

82| -------- | -------------- | -------------- |82| -------- | -------------- | -------------- |

83| Opus 5.5 | \$8 | \$40 |

83| Opus 5 | \$10 | \$50 |84| Opus 5 | \$10 | \$50 |

84| Opus 4.8 | \$10 | \$50 |85| Opus 4.8 | \$10 | \$50 |

85 86 


145* **Owner-Aktivierung für Teams und Enterprise**: Der Schnellmodus ist standardmäßig für Teams- und Enterprise-Organisationen deaktiviert. Ein Owner muss den Schnellmodus explizit [aktivieren](#enable-fast-mode-for-your-organization), bevor Benutzer darauf zugreifen können.146* **Owner-Aktivierung für Teams und Enterprise**: Der Schnellmodus ist standardmäßig für Teams- und Enterprise-Organisationen deaktiviert. Ein Owner muss den Schnellmodus explizit [aktivieren](#enable-fast-mode-for-your-organization), bevor Benutzer darauf zugreifen können.

146 147 

147<Note>148<Note>

148 Zwei Organisationseinstellungen können das Aktivieren des Schnellmodus mit `/fast` blockieren:149 Vier Organisationseinstellungen können das Aktivieren des Schnellmodus mit `/fast` blockieren:

149 150 

150 * **Schnellmodus nicht aktiviert**: Wenn der Schnellmodus für Ihre Organisation nicht aktiviert wurde, zeigt das Aktivieren des Schnellmodus mit `/fast` „Fast mode has been disabled by your organization." an.151 * **Schnellmodus nicht aktiviert**: Wenn der Schnellmodus für Ihre Organisation nicht aktiviert wurde, zeigt das Aktivieren des Schnellmodus mit `/fast` „Fast mode has been disabled by your organization." an.

152 * **Schnellmodus durch verwaltete Einstellungen deaktiviert**: Wenn Ihre Organisation [verwaltete Einstellungen](/docs/de/managed-settings) bereitstellt, die [`fastMode: false`](/docs/de/settings-reference#fastmode) setzen, zeigt das Aktivieren des Schnellmodus mit `/fast` die gleiche Meldung „Fast mode has been disabled by your organization" an.

153 * **Opt-in pro Sitzung erforderlich**: Verwaltete Einstellungen, die [`fastModePerSessionOptIn: true`](#require-per-session-opt-in) setzen, lehnen `/fast on` mit der gleichen Meldung überall ab, außer in einer interaktiven Terminalsitzung.

151 * **Schnellmodus-Modell nicht zulässig**: Wenn die [`availableModels`](/docs/de/model-config#restrict-model-selection)-Zulassungsliste Ihrer Organisation das Schnellmodus-Opus-Modell ausschließt, wird das Aktivieren mit „is not in your organization's allowed models" abgelehnt. In einer Sitzung, die bereits auf einem zulässigen Opus-Modell ausgeführt wird, das den Schnellmodus unterstützt, aktiviert `/fast` stattdessen den Schnellmodus auf Ihrem aktuellen Modell, ohne Modelle zu wechseln.154 * **Schnellmodus-Modell nicht zulässig**: Wenn die [`availableModels`](/docs/de/model-config#restrict-model-selection)-Zulassungsliste Ihrer Organisation das Schnellmodus-Opus-Modell ausschließt, wird das Aktivieren mit „is not in your organization's allowed models" abgelehnt. In einer Sitzung, die bereits auf einem zulässigen Opus-Modell ausgeführt wird, das den Schnellmodus unterstützt, aktiviert `/fast` stattdessen den Schnellmodus auf Ihrem aktuellen Modell, ohne Modelle zu wechseln.

152</Note>155</Note>

153 156 


204 207 

205Dies ist nützlich zur Kostenkontrolle in Organisationen, in denen Benutzer mehrere gleichzeitige Sitzungen ausführen. Die Schnellmodus-Einstellung des Benutzers wird immer noch gespeichert, daher stellt das Entfernen dieser Einstellung das standardmäßige persistente Verhalten wieder her.208Dies ist nützlich zur Kostenkontrolle in Organisationen, in denen Benutzer mehrere gleichzeitige Sitzungen ausführen. Die Schnellmodus-Einstellung des Benutzers wird immer noch gespeichert, daher stellt das Entfernen dieser Einstellung das standardmäßige persistente Verhalten wieder her.

206 209 

210Wenn verwaltete Einstellungen den Schlüssel setzen, funktioniert `/fast on` nur in einer interaktiven Terminalsitzung. Überall sonst, einschließlich [nicht-interaktivem Modus](/docs/de/headless), der [VS Code-Erweiterung](/docs/de/vs-code) und [Cloud-Sitzungen](#use-fast-mode-in-cloud-sessions), wird es mit einer Meldung abgelehnt, dass Ihre Organisation den Schnellmodus deaktiviert hat.

211 

207<h2 id="handle-rate-limits">212<h2 id="handle-rate-limits">

208 Ratenlimits handhaben213 Ratenlimits handhaben

209</h2>214</h2>

Details

21Erweiterungen verbinden sich mit verschiedenen Teilen der Agentenschleife:21Erweiterungen verbinden sich mit verschiedenen Teilen der Agentenschleife:

22 22 

23* **[CLAUDE.md](/docs/de/memory)** fügt persistenten Kontext hinzu, den Claude in jeder Sitzung sieht23* **[CLAUDE.md](/docs/de/memory)** fügt persistenten Kontext hinzu, den Claude in jeder Sitzung sieht

24* **[Ausgabestile](/docs/de/output-styles)** legen Claudes Rolle, Ton und Antwortformat für jede Antwort in einer Sitzung fest

24* **[Skills](/docs/de/skills)** fügen wiederverwendbares Wissen und aufrufbare Workflows hinzu25* **[Skills](/docs/de/skills)** fügen wiederverwendbares Wissen und aufrufbare Workflows hinzu

25* **[Code-Intelligenz](/docs/de/tools-reference#lsp-tool-behavior)** verbindet Claude mit einem Language Server für Symbol-Navigation und Live-Typfehler26* **[Code-Intelligenz](/docs/de/tools-reference#lsp-tool-behavior)** verbindet Claude mit einem Language Server für Symbol-Navigation und Live-Typfehler

26* **[MCP](/docs/de/mcp)** verbindet Claude mit externen Diensten und Tools27* **[MCP](/docs/de/mcp)** verbindet Claude mit externen Diensten und Tools


36 Funktionen an Ihr Ziel anpassen37 Funktionen an Ihr Ziel anpassen

37</h2>38</h2>

38 39 

39Funktionen reichen von immer aktivem Kontext, den Claude in jeder Sitzung sieht, bis zu On-Demand-Funktionen, die Sie oder Claude aufrufen können, bis zu Hintergrundautomatisierung, die bei bestimmten Ereignissen ausgeführt wird. Die folgende Tabelle zeigt, was verfügbar ist und wann jede Funktion sinnvoll ist.40Funktionen reichen von immer aktivem Kontext, den Claude in jeder Sitzung sieht, über On-Demand-Funktionen, die Sie oder Claude aufrufen können, bis hin zu Hintergrundautomatisierung, die bei bestimmten Ereignissen ausgeführt wird. Die folgende Tabelle zeigt, was verfügbar ist und wann jede Funktion sinnvoll ist.

40 41 

41| Funktion | Was sie tut | Wann man sie verwendet | Beispiel |42| Funktion | Was sie tut | Wann man sie nutzt | Beispiel |

42| ------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |43| ------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |

43| **CLAUDE.md** | Persistenter Kontext, der in jeder Konversation geladen wird | Projektkonventionen, „immer X tun"-Regeln | „Verwenden Sie pnpm, nicht npm. Führen Sie Tests vor dem Commit aus." |44| **CLAUDE.md** | Persistenter Kontext, der in jedem Gespräch geladen wird | Projektkonventionen, „immer X tun"-Regeln | „Verwenden Sie pnpm, nicht npm. Führen Sie Tests vor dem Commit aus." |

44| **Skill** | Anweisungen, Wissen und Workflows, die Claude verwenden kann | Wiederverwendbarer Inhalt, Referenzdokumente, wiederholbare Aufgaben | `/deploy` führt Ihre Bereitstellungs-Checkliste aus; API-Docs-Skill mit Endpunkt-Mustern |45| **[Ausgabestil](/docs/de/output-styles)** | Anweisungen, die Claudes Rolle, Ton und Antwortformat für eine ganze Sitzung festlegen | Eine Stimme, Länge oder Format, das Sie in jeder Antwort möchten, oder Claude arbeitet als etwas anderes als ein Softwareingenieur | Der integrierte Concise-Stil für kürzere Antworten; ein benutzerdefinierter Stil, der jede Frage zuerst mit einem Diagramm beantwortet |

46| **Skill** | Anweisungen, Wissen und Workflows, die Claude nutzen kann | Wiederverwendbarer Inhalt, Referenzdokumente, wiederholbare Aufgaben | `/deploy` führt Ihre Bereitstellungs-Checkliste aus; API-Docs-Skill mit Endpunkt-Mustern |

45| **Subagent** | Isolierter Ausführungskontext, der zusammengefasste Ergebnisse zurückgibt | Kontextisolation, parallele Aufgaben, spezialisierte Worker | Recherche-Aufgabe, die viele Dateien liest, aber nur wichtige Erkenntnisse zurückgibt |47| **Subagent** | Isolierter Ausführungskontext, der zusammengefasste Ergebnisse zurückgibt | Kontextisolation, parallele Aufgaben, spezialisierte Worker | Recherche-Aufgabe, die viele Dateien liest, aber nur wichtige Erkenntnisse zurückgibt |

46| **[Dynamischer Workflow](/docs/de/workflows)** | Skript, das Claude schreibt und das viele Subagents im Hintergrund ausführt | Arbeit, die über eine Handvoll Subagents hinauswächst, oder Erkenntnisse, die Sie überprüft haben möchten | Audit einer ganzen Codebasis, wobei ein zweiter Satz von Agenten jeden Fund überprüft |48| **[Dynamischer Workflow](/docs/de/workflows)** | Skript, das Claude schreibt und das viele Subagents im Hintergrund ausführt | Arbeit, die über eine Handvoll Subagents hinauswächst, oder Erkenntnisse, die Sie überprüft haben möchten | Audit eines ganzen Codebase, wobei ein zweiter Satz von Agenten jede Erkenntnis überprüft |

47| **[Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging)** | Claude liefert eine Nachricht von einer Ihrer Sitzungen zu einer anderen | Sitzungen, die Sie selbst ausführen und die gegenseitig Erkenntnisse benötigen | Eine Sitzung warnt eine andere, dass eine Änderung, die sie vorgenommen hat, das bricht, worauf die andere aufbaut |49| **[Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging)** | Claude liefert eine Nachricht von einer Ihrer Sitzungen zu einer anderen | Sitzungen, die Sie selbst ausführen und die gegenseitig ihre Erkenntnisse während der Aufgabe benötigen | Eine Sitzung warnt eine andere, dass eine Änderung, die sie vorgenommen hat, das bricht, worauf die andere aufbaut |

48| **[Code intelligence](/docs/de/tools-reference#lsp-tool-behavior)** | Language-Server-Navigation und Diagnostik | Typisierte Sprachen, große Codebases, bei denen grep langsam oder ungenau ist | Springen Sie zur Definition eines Symbols, anstatt die ganze Datei zu lesen |50| **[Code-Intelligenz](/docs/de/tools-reference#lsp-tool-behavior)** | Language-Server-Navigation und Diagnose | Typisierte Sprachen, große Codebases, bei denen grep langsam oder ungenau ist | Springen Sie zur Definition eines Symbols, anstatt die ganze Datei zu lesen |

49| **MCP** | Verbindung zu externen Diensten | Externe Daten oder Aktionen | Abfrage Ihrer Datenbank, Posten auf Slack, Steuerung eines Browsers |51| **MCP** | Verbindung zu externen Diensten | Externe Daten oder Aktionen | Abfrage Ihrer Datenbank, Posten auf Slack, Steuerung eines Browsers |

50| **Hook** | Skript, HTTP-Anfrage, MCP-Tool-Aufruf, Prompt oder Subagent, ausgelöst durch Ereignisse | Automatisierung, die bei jedem übereinstimmenden Ereignis ausgeführt werden muss | Führen Sie ESLint nach jeder Dateibearbeitung aus |52| **Hook** | Skript, HTTP-Anfrage, MCP-Tool-Aufruf, Prompt oder Subagent, ausgelöst durch Ereignisse | Automatisierung, die bei jedem übereinstimmenden Ereignis ausgeführt werden muss | ESLint nach jeder Dateibearbeitung ausführen |

51| **[Artifact](/docs/de/artifacts)** | Veröffentlichen Sie die Sitzungsausgabe als private, interaktive Webseite | Ausgabe, die Sie visuell sehen oder teilen möchten, anstatt als Terminaltext | Eine Incident-Timeline, die sich aktualisiert, während Claude untersucht |53| **[Artefakt](/docs/de/artifacts)** | Veröffentlichen Sie die Sitzungsausgabe als private, interaktive Webseite | Ausgabe, die Sie visuell sehen oder teilen möchten, anstatt als Terminaltext | Eine Incident-Timeline, die sich aktualisiert, während Claude untersucht |

52 54 

53**[Plugins](/docs/de/plugins)** sind die Verpackungsebene. Ein Plugin bündelt Skills, Hooks, Subagents und MCP-Server in eine einzelne installierbare Einheit. Plugin-Skills sind namensgebunden (wie `/my-plugin:review`), sodass mehrere Plugins nebeneinander existieren können. Verwenden Sie Plugins, wenn Sie dasselbe Setup über mehrere Repositories hinweg wiederverwenden möchten oder es über einen **[Marketplace](/docs/de/plugin-marketplaces)** an andere verteilen möchten.55**[Plugins](/docs/de/plugins)** sind die Verpackungsebene. Ein Plugin bündelt Skills, Hooks, Subagents und MCP-Server in eine einzelne installierbare Einheit. Plugin-Skills sind namespaced (wie `/my-plugin:review`), sodass mehrere Plugins nebeneinander existieren können. Verwenden Sie Plugins, wenn Sie dieselbe Einrichtung über mehrere Repositories hinweg wiederverwenden möchten oder über einen **[Marketplace](/docs/de/plugin-marketplaces)** an andere verteilen möchten.

54 56 

55<h3 id="build-your-setup-over-time">57<h3 id="build-your-setup-over-time">

56 Bauen Sie Ihr Setup im Laufe der Zeit auf58 Bauen Sie Ihre Einrichtung im Laufe der Zeit auf

57</h3>59</h3>

58 60 

59Sie müssen nicht alles im Voraus konfigurieren. Jede Funktion hat einen erkennbaren Trigger, und die meisten Teams fügen sie ungefähr in dieser Reihenfolge hinzu:61Sie müssen nicht alles im Voraus konfigurieren. Jede Funktion hat einen erkennbaren Auslöser, und die meisten Teams fügen sie ungefähr in dieser Reihenfolge hinzu:

60 62 

61| Trigger | Hinzufügen |63| Auslöser | Hinzufügen |

62| :---------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------- |64| :----------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------- |

63| Claude bekommt eine Konvention oder einen Befehl zweimal falsch | Fügen Sie es zu [CLAUDE.md](/docs/de/memory) hinzu |65| Claude bekommt eine Konvention oder einen Befehl zweimal falsch | Fügen Sie es zu [CLAUDE.md](/docs/de/memory) hinzu |

64| Sie tippen immer wieder denselben Prompt, um eine Aufgabe zu starten | Speichern Sie es als benutzer-aufrufen [Skill](/docs/de/skills) |66| Sie bitten Claude ständig, kürzer zu sein, mehr zu erklären oder im gleichen Format zu antworten | Legen Sie einen [Ausgabestil](/docs/de/output-styles) fest |

67| Sie tippen ständig denselben Prompt, um eine Aufgabe zu starten | Speichern Sie ihn als benutzer-aufrufbaren [Skill](/docs/de/skills) |

65| Sie fügen zum dritten Mal dasselbe Playbook oder mehrstufige Verfahren in den Chat ein | Erfassen Sie es als [Skill](/docs/de/skills) |68| Sie fügen zum dritten Mal dasselbe Playbook oder mehrstufige Verfahren in den Chat ein | Erfassen Sie es als [Skill](/docs/de/skills) |

66| Sie kopieren immer wieder Daten aus einer Browser-Registerkarte, die Claude nicht sehen kann | Verbinden Sie dieses System als [MCP-Server](/docs/de/mcp) |69| Sie kopieren ständig Daten aus einer Browser-Registerkarte, die Claude nicht sehen kann | Verbinden Sie dieses System als [MCP-Server](/docs/de/mcp) |

67| Claude liest viele Dateien, um zu finden, wo ein Symbol definiert oder verwendet wird | Installieren Sie ein [Code-Intelligence-Plugin](/docs/de/discover-plugins#code-intelligence) für Ihre Sprache |70| Claude liest viele Dateien, um zu finden, wo ein Symbol definiert oder verwendet wird | Installieren Sie ein [Code-Intelligence-Plugin](/docs/de/discover-plugins#code-intelligence) für Ihre Sprache |

68| Eine Nebenaufgabe überschwemmt Ihre Konversation mit Ausgabe, auf die Sie nicht mehr verweisen werden | Leiten Sie sie durch einen [Subagent](/docs/de/sub-agents) |71| Eine Nebenaufgabe überschwemmt Ihr Gespräch mit Ausgabe, auf die Sie nicht mehr verweisen werden | Leiten Sie es durch einen [Subagent](/docs/de/sub-agents) |

69| Sie möchten, dass etwas jedes Mal passiert, ohne zu fragen | Schreiben Sie einen [Hook](/docs/de/hooks-guide) |72| Sie möchten, dass etwas jedes Mal passiert, ohne zu fragen | Schreiben Sie einen [Hook](/docs/de/hooks-guide) |

70| Ein zweites Repository benötigt dasselbe Setup | Verpacken Sie es als [Plugin](/docs/de/plugins) |73| Ein zweites Repository benötigt dieselbe Einrichtung | Verpacken Sie es als [Plugin](/docs/de/plugins) |

71 74 

72Die gleichen Trigger sagen Ihnen, wann Sie das aktualisieren, was Sie bereits haben. Ein wiederholter Fehler oder ein wiederkehrender Review-Kommentar ist eine CLAUDE.md-Bearbeitung, keine einmalige Korrektur im Chat. Ein Workflow, den Sie immer wieder von Hand anpassen, ist ein Skill, der eine weitere Überarbeitung benötigt.75Die gleichen Auslöser sagen Ihnen, wann Sie das aktualisieren sollten, was Sie bereits haben. Ein wiederholter Fehler oder ein wiederkehrender Review-Kommentar ist eine CLAUDE.md-Bearbeitung, keine einmalige Korrektur im Chat. Ein Workflow, den Sie ständig von Hand anpassen, ist ein Skill, der eine weitere Überarbeitung benötigt.

73 76 

74<h3 id="compare-similar-features">77<h3 id="compare-similar-features">

75 Vergleichen Sie ähnliche Funktionen78 Vergleichen Sie ähnliche Funktionen

76</h3>79</h3>

77 80 

78Einige Funktionen können ähnlich wirken. Für eine tiefere Anleitung zur Auswahl zwischen ihnen siehe [Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents](https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more) im Blog. Hier erfahren Sie, wie Sie sie unterscheiden.81Einige Funktionen können ähnlich wirken. Für eine tiefere Anleitung zur Auswahl zwischen ihnen siehe [Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents](https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more) auf dem Blog. So unterscheiden Sie sie.

79 82 

80<Tabs>83<Tabs>

81 <Tab title="Skill vs Subagent">84 <Tab title="Skill vs Subagent">

82 Skills und Subagents lösen unterschiedliche Probleme:85 Skills und Subagents lösen unterschiedliche Probleme:

83 86 

84 * **Skills** sind wiederverwendbare Inhalte, die Sie in jeden Kontext laden können87 * **Skills** sind wiederverwendbarer Inhalt, den Sie in jeden Kontext laden können

85 * **Subagents** sind isolierte Worker, die separat von Ihrer Hauptkonversation ausgeführt werden88 * **Subagents** sind isolierte Worker, die separat von Ihrem Hauptgespräch ausgeführt werden

86 89 

87 | Aspekt | Skill | Subagent |90 | Aspekt | Skill | Subagent |

88 | --------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------- |91 | --------------------------------------------------- | ---------------------------------------------------- | -------------------------------------------------------------------------------------- |

89 | **Was es ist** | Wiederverwendbare Anweisungen, Wissen oder Workflows | Isolierter Worker mit eigenem Kontext |92 | **Was es ist** | Wiederverwendbare Anweisungen, Wissen oder Workflows | Isolierter Worker mit eigenem Kontext |

90 | **Hauptvorteil** | Inhalte über Kontexte hinweg teilen | Kontextisolation. Die Arbeit erfolgt separat, nur die Zusammenfassung wird zurückgegeben |93 | **Hauptvorteil** | Inhalte über Kontexte hinweg teilen | Kontextisolation. Die Arbeit läuft separat, nur die Zusammenfassung wird zurückgegeben |

91 | **[Kontextfenster](/docs/de/context-window) Auswirkung** | Wird zu Ihrem Hauptfenster hinzugefügt | Verwendet ein separates Fenster mit eigenen Input- und Output-Tokens |94 | **[Kontextfenster](/docs/de/context-window)-Auswirkung** | Fügt zu Ihrem Hauptfenster hinzu | Verwendet ein separates Fenster mit eigenen Input- und Output-Tokens |

92 | **Am besten für** | Referenzmaterial, aufrufbare Workflows | Aufgaben, die viele Dateien lesen, parallele Arbeit, spezialisierte Worker |95 | **Am besten für** | Referenzmaterial, aufrufbare Workflows | Aufgaben, die viele Dateien lesen, parallele Arbeit, spezialisierte Worker |

93 96 

94 **Skills können Referenz oder Aktion sein.** Referenz-Skills bieten Wissen, das Claude während Ihrer Sitzung nutzt (wie Ihr API-Stilhandbuch). Action-Skills sagen Claude, etwas Bestimmtes zu tun (wie `/deploy`, das Ihren Bereitstellungs-Workflow ausführt).97 **Skills können Referenz oder Aktion sein.** Referenz-Skills bieten Wissen, das Claude während Ihrer Sitzung nutzt (wie Ihr API-Stilhandbuch). Action-Skills sagen Claude, etwas Bestimmtes zu tun (wie `/deploy`, das Ihren Bereitstellungs-Workflow ausführt).

95 98 

96 **Verwenden Sie einen Subagent**, wenn Sie Kontextisolation benötigen oder wenn Ihr Kontextfenster voll wird. Der Subagent könnte Dutzende von Dateien lesen oder umfangreiche Suchen durchführen, aber Ihre Hauptkonversation erhält nur eine Zusammenfassung. Da die Arbeit des Subagent Ihren Hauptkontext nicht verbraucht, ist dies auch nützlich, wenn Sie nicht möchten, dass die Zwischenarbeit sichtbar bleibt. Benutzerdefinierte Subagents können ihre eigenen Anweisungen haben und können Skills vorladen.99 **Verwenden Sie einen Subagent**, wenn Sie Kontextisolation benötigen oder wenn Ihr Kontextfenster voll wird. Der Subagent könnte Dutzende von Dateien lesen oder umfangreiche Suchen durchführen, aber Ihr Hauptgespräch erhält nur eine Zusammenfassung. Da die Subagent-Arbeit Ihren Hauptkontext nicht verbraucht, ist dies auch nützlich, wenn Sie nicht möchten, dass die Zwischenarbeit sichtbar bleibt. Benutzerdefinierte Subagents können ihre eigenen Anweisungen haben und Skills vorladen.

97 100 

98 **Sie können sich kombinieren.** Ein Subagent kann spezifische Skills vorladen (`skills:`-Feld). Ein Skill kann in isoliertem Kontext mit `context: fork` ausgeführt werden. Weitere Informationen finden Sie unter [Skills](/docs/de/skills).101 **Sie können sich kombinieren.** Ein Subagent kann spezifische Skills vorladen (`skills:`-Feld). Ein Skill kann in isoliertem Kontext mit `context: fork` ausgeführt werden. Siehe [Skills](/docs/de/skills) für Details.

99 </Tab>102 </Tab>

100 103 

101 <Tab title="CLAUDE.md vs Skill">104 <Tab title="CLAUDE.md vs Skill">

102 Beide speichern Anweisungen, aber sie werden unterschiedlich geladen und dienen unterschiedlichen Zwecken.105 Beide speichern Anweisungen, aber sie laden unterschiedlich und dienen unterschiedlichen Zwecken.

103 106 

104 | Aspekt | CLAUDE.md | Skill |107 | Aspekt | CLAUDE.md | Skill |

105 | --------------------------- | ------------------------- | -------------------------------------- |108 | ----------------------------- | ------------------------- | -------------------------------------- |

106 | **Lädt** | Jede Sitzung, automatisch | On Demand |109 | **Lädt** | Jede Sitzung, automatisch | On Demand |

107 | **Kann Dateien enthalten** | Ja, mit `@path`-Importen | Ja, mit `@path`-Importen |110 | **Kann Dateien einschließen** | Ja, mit `@path`-Importen | Ja, mit `@path`-Importen |

108 | **Kann Workflows auslösen** | Nein | Ja, mit `/<name>` |111 | **Kann Workflows auslösen** | Nein | Ja, mit `/<name>` |

109 | **Am besten für** | „Immer X tun"-Regeln | Referenzmaterial, aufrufbare Workflows |112 | **Am besten für** | „Immer X tun"-Regeln | Referenzmaterial, aufrufbare Workflows |

110 113 

111 **Fügen Sie es in CLAUDE.md ein**, wenn Claude es immer wissen sollte: Codierungskonventionen, Build-Befehle, Projektstruktur, „niemals X tun"-Regeln.114 **Legen Sie es in CLAUDE.md** ab, wenn Claude es immer wissen sollte: Codierungskonventionen, Build-Befehle, Projektstruktur, „niemals X tun"-Regeln.

112 115 

113 **Fügen Sie es in einen Skill ein**, wenn es Referenzmaterial ist, das Claude manchmal benötigt (API-Docs, Stilhandbücher) oder ein Workflow, den Sie mit `/<name>` auslösen (bereitstellen, überprüfen, freigeben).116 **Legen Sie es in einen Skill**, wenn es Referenzmaterial ist, das Claude manchmal benötigt (API-Docs, Stilhandbücher) oder ein Workflow, den Sie mit `/<name>` auslösen (bereitstellen, überprüfen, freigeben).

114 117 

115 **Faustregel:** Halten Sie CLAUDE.md unter 200 Zeilen. Wenn es wächst, verschieben Sie Referenzinhalte zu Skills oder teilen Sie sie in [`.claude/rules/`](/docs/de/memory#organize-rules-with-claude%2Frules%2F)-Dateien auf.118 **Faustregel:** Halten Sie CLAUDE.md unter 200 Zeilen. Wenn es wächst, verschieben Sie Referenzinhalte zu Skills oder teilen Sie sie in [`.claude/rules/`](/docs/de/memory#organize-rules-with-claude/rules/)-Dateien auf.

116 </Tab>119 </Tab>

117 120 

118 <Tab title="CLAUDE.md vs Rules vs Skills">121 <Tab title="CLAUDE.md vs Ausgabestil">

119 Alle drei speichern Anweisungen, aber sie werden unterschiedlich geladen:122 Beide geben Claude stehende Anweisungen. CLAUDE.md trägt das, was Claude wissen sollte, und ein Ausgabestil legt fest, wie Claude antwortet.

123 

124 | Aspekt | CLAUDE.md | Ausgabestil |

125 | ----------------- | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |

126 | **Hält** | Fakten und Regeln über Ihr Projekt | Eine Rolle, einen Ton und ein Antwortformat |

127 | **Wechsel** | Immer geladen | Einer aktiv auf einmal; [Wechseln Sie Stile](/docs/de/output-styles#change-your-output-style) wann immer Sie möchten |

128 | **Am besten für** | Build-Befehle, Konventionen, „niemals X tun"-Regeln | Kürzere Antworten, Erklärungen neben Code, eine nicht-technische Rolle |

129 

130 **Legen Sie es in CLAUDE.md** ab, wenn es unabhängig vom Stil wahr ist: Codierungskonventionen, Build-Befehle, Projektstruktur.

131 

132 **Verwenden Sie einen Ausgabestil**, wenn es um die Antwort selbst geht und Sie ihn möglicherweise wieder ausschalten möchten: Länge, Format, wie viel Claude erklärt, oder eine andere Rolle wie ein Schreibassistent. Claude Code enthält [integrierte Stile](/docs/de/output-styles#built-in-output-styles), und Sie können Ihre eigenen schreiben.

133 

134 **Sie kombinieren sich.** CLAUDE.md bleibt geladen, welchen Stil Sie auch wählen. Claude folgt beiden als Anweisungen, also wird keiner erzwungen. Für alles, das jedes Mal passieren muss, verwenden Sie einen [Hook](/docs/de/hooks-guide).

135 </Tab>

136 

137 <Tab title="CLAUDE.md vs Regeln vs Skills">

138 Alle drei speichern Anweisungen, aber sie laden unterschiedlich:

120 139 

121 | Aspekt | CLAUDE.md | `.claude/rules/` | Skill |140 | Aspekt | CLAUDE.md | `.claude/rules/` | Skill |

122 | ----------------- | ---------------------------------- | --------------------------------------------------------------- | ----------------------------------------- |141 | ----------------- | ---------------------------------- | ---------------------------------------------------------------- | ----------------------------------------- |

123 | **Lädt** | Jede Sitzung | Jede Sitzung oder wenn übereinstimmende Dateien geöffnet werden | On Demand, wenn aufgerufen oder relevant |142 | **Lädt** | Jede Sitzung | Jede Sitzung, oder wenn übereinstimmende Dateien geöffnet werden | On Demand, wenn aufgerufen oder relevant |

124 | **Umfang** | Ganzes Projekt | Kann auf Dateipfade begrenzt werden | Aufgabenspezifisch |143 | **Umfang** | Ganzes Projekt | Kann auf Dateipfade begrenzt werden | Aufgabenspezifisch |

125 | **Am besten für** | Kernkonventionen und Build-Befehle | Sprachspezifische oder verzeichnisspezifische Richtlinien | Referenzmaterial, wiederholbare Workflows |144 | **Am besten für** | Kernkonventionen und Build-Befehle | Sprachspezifische oder verzeichnisspezifische Richtlinien | Referenzmaterial, wiederholbare Workflows |

126 145 

127 **Verwenden Sie CLAUDE.md** für Anweisungen, die jede Sitzung benötigt: Build-Befehle, Test-Konventionen, Projektarchitektur.146 **Verwenden Sie CLAUDE.md** für Anweisungen, die jede Sitzung benötigt: Build-Befehle, Test-Konventionen, Projektarchitektur.

128 147 

129 **Verwenden Sie Regeln**, um CLAUDE.md fokussiert zu halten. Regeln mit [`paths`-Frontmatter](/docs/de/memory#path-specific-rules) werden nur geladen, wenn Claude mit übereinstimmenden Dateien arbeitet, was Kontext spart.148 **Verwenden Sie Regeln**, um CLAUDE.md fokussiert zu halten. Regeln mit [`paths`-Frontmatter](/docs/de/memory#path-specific-rules) laden nur, wenn Claude mit übereinstimmenden Dateien arbeitet, was Kontext spart.

130 149 

131 **Verwenden Sie Skills** für Inhalte, die Claude nur manchmal benötigt, wie API-Dokumentation oder eine Bereitstellungs-Checkliste, die Sie mit `/<name>` auslösen.150 **Verwenden Sie Skills** für Inhalte, die Claude nur manchmal benötigt, wie API-Dokumentation oder eine Bereitstellungs-Checkliste, die Sie mit `/<name>` auslösen.

132 </Tab>151 </Tab>

133 152 

134 <Tab title="Subagent vs Dynamischer Workflow">153 <Tab title="Subagent vs Dynamischer Workflow">

135 Beide führen Arbeit außerhalb Ihrer Hauptkonversation aus. Bei Subagents entscheidet Claude Zug um Zug, was als nächstes ausgeführt wird. In einem Workflow entscheidet das Skript:154 Beide führen Arbeit außerhalb Ihres Hauptgesprächs aus. Bei Subagents entscheidet Claude Zug um Zug, was als nächstes ausgeführt wird. In einem Workflow entscheidet das Skript:

136 155 

137 * **Subagents** sind Worker, die Claude spawnt, jeder gibt eine Zusammenfassung an die Konversation zurück, die ihn spawnt156 * **Subagents** sind Worker, die Claude spawnt, jeder gibt eine Zusammenfassung an das Gespräch zurück, das ihn spawnt

138 * **[Dynamische Workflows](/docs/de/workflows)** sind Skripte, die Claude schreibt und die viele Subagents im Hintergrund ausführen und ein Ergebnis zurückgeben157 * **[Dynamische Workflows](/docs/de/workflows)** sind Skripte, die Claude schreibt und die viele Subagents im Hintergrund ausführen und ein Ergebnis zurückgeben

139 158 

140 **Verwenden Sie einen Subagent**, wenn Sie einen schnellen, fokussierten Worker benötigen: eine Frage recherchieren, eine Behauptung überprüfen, eine Datei überprüfen. Der Subagent erledigt die Arbeit und gibt eine Zusammenfassung zurück, sodass Ihre Hauptkonversation sauber bleibt. Subagents, die Claude beim Spawnen benannt hat, können sich auch [gegenseitig Nachrichten senden](/docs/de/sub-agents#what-loads-at-startup).159 **Verwenden Sie einen Subagent**, wenn Sie einen schnellen, fokussierten Worker benötigen: eine Frage recherchieren, einen Anspruch überprüfen, eine Datei überprüfen. Der Subagent führt die Arbeit aus und gibt eine Zusammenfassung zurück, sodass Ihr Hauptgespräch sauber bleibt. Subagents, die Claude benannt hat, als es sie spawnte, können auch [sich gegenseitig Nachrichten senden](/docs/de/sub-agents#what-loads-at-startup).

141 160 

142 **Verwenden Sie einen dynamischen Workflow**, wenn ein Job [über eine Handvoll Subagents hinauswächst](/docs/de/workflows#when-to-use-a-workflow), oder wenn Sie möchten, dass die Erkenntnisse überprüft werden, bevor Sie sie sehen, wie z. B. ein codebase-weites Audit, eine große Migration oder ein Plan, der aus mehreren Blickwinkeln entworfen wurde. Um einen zu starten, [fragen Sie in Ihrem Prompt nach einem Workflow](/docs/de/workflows#ask-for-a-workflow-in-your-prompt).161 **Verwenden Sie einen dynamischen Workflow**, wenn ein Job [über eine Handvoll Subagents hinauswächst](/docs/de/workflows#when-to-use-a-workflow), oder wenn Sie möchten, dass die Erkenntnisse überprüft werden, bevor Sie sie sehen, wie ein codebase-weites Audit, eine große Migration oder ein Plan, der aus mehreren Blickwinkeln entworfen wurde. Um einen zu starten, [fragen Sie in Ihrem Prompt nach einem Workflow](/docs/de/workflows#ask-for-a-workflow-in-your-prompt).

143 162 

144 **Um einen Fund von einer Ihrer Sitzungen zu einer anderen zu übergeben**, bitten Sie Claudes erste Sitzung, ihn zu senden. Claude liefert ihn mit [sitzungsübergreifendem Messaging](/docs/de/cross-session-messaging). [Agenten parallel ausführen](/docs/de/agents) vergleicht die anderen Möglichkeiten, mehr als einen Claude gleichzeitig auszuführen, einschließlich Sitzungen, die Sie übergeben und später überprüfen.163 **Um eine Erkenntnis von einer Ihrer Sitzungen zu einer anderen zu übergeben**, bitten Sie Claudes erste Sitzung, sie zu senden. Claude liefert sie mit [sitzungsübergreifendem Messaging](/docs/de/cross-session-messaging). [Führen Sie Agenten parallel aus](/docs/de/agents) vergleicht die anderen Möglichkeiten, mehr als einen Claude auf einmal auszuführen, einschließlich Sitzungen, die Sie übergeben und später überprüfen.

145 </Tab>164 </Tab>

146 165 

147 <Tab title="MCP vs Skill">166 <Tab title="MCP vs Skill">

148 MCP verbindet Claude mit externen Diensten. Skills erweitern das Wissen von Claude, einschließlich der effektiven Verwendung dieser Dienste.167 MCP verbindet Claude mit externen Diensten. Skills erweitern das, was Claude weiß, einschließlich wie man diese Dienste effektiv nutzt.

149 168 

150 | Aspekt | MCP | Skill |169 | Aspekt | MCP | Skill |

151 | -------------- | ------------------------------------------------------- | ------------------------------------------------------------------ |170 | -------------- | ------------------------------------------------------- | ------------------------------------------------------------------ |


155 174 

156 Diese lösen unterschiedliche Probleme und funktionieren gut zusammen:175 Diese lösen unterschiedliche Probleme und funktionieren gut zusammen:

157 176 

158 **MCP** gibt Claude zweckgebundene Tools für ein externes System, wobei die Verbindung und Authentifizierung vom Server verwaltet werden.177 **MCP** gibt Claude speziell entwickelte Tools für ein externes System, wobei die Verbindung und Authentifizierung vom Server behandelt werden.

159 178 

160 **Skills** geben Claude Wissen darüber, wie diese Tools effektiv verwendet werden, plus Workflows, die Sie mit `/<name>` auslösen können. Ein Skill könnte Ihr Team-Datenbankschema und Abfragemuster enthalten, oder einen `/post-to-slack`-Workflow mit Ihren Team-Nachrichtenformatierungsregeln.179 **Skills** geben Claude Wissen darüber, wie man diese Tools effektiv nutzt, plus Workflows, die Sie mit `/<name>` auslösen können. Ein Skill könnte Ihr Team-Datenbankschema und Abfragemuster enthalten, oder einen `/post-to-slack`-Workflow mit Ihren Team-Nachrichtenformatierungsregeln.

161 </Tab>180 </Tab>

162 181 

163 <Tab title="Hook vs Skill">182 <Tab title="Hook vs Skill">

164 Claude Code führt einen Hook bei einem Lebenszyklusereignis aus; es lädt einen Skill in den Kontext, damit Claude ihn anwendet.183 Claude Code führt einen Hook bei einem Lebenszyklusereignis aus; es lädt einen Skill in den Kontext, damit Claude ihn anwendet.

165 184 

166 | Aspekt | Hook | Skill |185 | Aspekt | Hook | Skill |

167 | ------------------- | ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- |186 | ------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |

168 | **Läuft** | Ein Shell-Befehl, eine HTTP-Anfrage, ein MCP-Tool-Aufruf, ein LLM-Prompt oder ein Subagent | Anweisungen, die Claude liest und befolgt |187 | **Führt aus** | Ein Shell-Befehl, HTTP-Anfrage, MCP-Tool-Aufruf, LLM-Prompt oder Subagent | Anweisungen, die Claude liest und befolgt |

169 | **Ausgelöst durch** | [Lebenszyklusereignisse](/docs/de/hooks#hook-events) wie `PostToolUse` oder `SessionStart` | Sie tippen `/<name>`, oder Claude passt die Beschreibung zu Ihrer Aufgabe an |188 | **Ausgelöst durch** | [Lebenszyklusereignisse](/docs/de/hooks#hook-events) wie `PostToolUse` oder `SessionStart` | Sie tippen `/<name>`, oder Claude passt die Beschreibung zu Ihrer Aufgabe an |

170 | **Determinismus** | Wird immer bei seinem Ereignis ausgelöst; der Trigger ist garantiert | Claude interpretiert die Anweisungen; das Ergebnis kann variieren |189 | **Determinismus** | Wird immer bei seinem Ereignis ausgelöst; der Auslöser ist garantiert | Claude interpretiert die Anweisungen; das Ergebnis kann variieren |

171 | **Kontextkosten** | Null, es sei denn, der Hook gibt Ausgabe zurück | Beschreibung lädt jede Sitzung; vollständiger Inhalt lädt bei Verwendung |190 | **Kontextkosten** | Null, es sei denn, der Hook gibt Ausgabe zurück | Beschreibung lädt jede Sitzung; vollständiger Inhalt lädt bei Verwendung |

172 | **Am besten für** | Linting nach Bearbeitungen, Blockierung unsicherer Befehle, Logging, Benachrichtigungen | Workflows, die Überlegung benötigen, Referenzmaterial, mehrstufige Aufgaben |191 | **Am besten für** | Linting nach Bearbeitungen, Blockieren unsicherer Befehle, Protokollierung, Benachrichtigungen | Workflows, die Überlegung benötigen, Referenzmaterial, mehrstufige Aufgaben |

173 192 

174 **Verwenden Sie einen Hook**, wenn die Aktion jedes Mal auf die gleiche Weise erfolgen muss und Claude nicht denken muss. Beispiel: Formatierung beim Speichern, Ablehnung von `rm -rf /`, Posten einer Slack-Nachricht, wenn eine Sitzung endet.193 **Verwenden Sie einen Hook**, wenn die Aktion jedes Mal auf die gleiche Weise passieren muss und Claude nicht denken muss. Zum Beispiel: Formatierung beim Speichern, Ablehnung von `rm -rf /`, Posten einer Slack-Nachricht, wenn eine Sitzung endet.

175 194 

176 **Verwenden Sie einen Skill**, wenn Claude entscheiden sollte, wie die Schritte angewendet werden, oder wenn der Inhalt eher Wissen als ein Skript ist. Beispiel: eine `/release`-Checkliste, Ihr API-Stilhandbuch, ein Debugging-Playbook.195 **Verwenden Sie einen Skill**, wenn Claude entscheiden sollte, wie die Schritte angewendet werden, oder wenn der Inhalt Wissen statt ein Skript ist. Zum Beispiel: eine `/release`-Checkliste, Ihr API-Stilhandbuch, ein Debugging-Playbook.

177 196 

178 **Setzen Sie Schutzmaßnahmen in Hooks.** Eine Anweisung wie „niemals `.env` bearbeiten" in CLAUDE.md oder einem Skill ist eine Anfrage, keine Garantie. Ein `PreToolUse`-Hook, der die Bearbeitung blockiert, ist Durchsetzung. Wenn eine Regel jedes Mal gelten muss, machen Sie sie zu einem Hook statt zu einer Prompt-Anweisung.197 **Legen Sie Schutzmaßnahmen in Hooks.** Eine Anweisung wie „niemals `.env` bearbeiten" in CLAUDE.md oder einem Skill ist eine Anfrage, keine Garantie. Ein `PreToolUse`-Hook, der die Bearbeitung blockiert, ist Durchsetzung. Wenn eine Regel jedes Mal gelten muss, machen Sie sie zu einem Hook statt zu einer Prompt-Anweisung.

179 198 

180 **Hook-Ausgabe landet im Kontext.** Ein `PostToolUse`-Hook, der Ihren Linter ausführt, gibt Ergebnisse als Text zurück, den Claude liest; ein `/fix-lint`-Skill sagt Claude, wie sie zu beheben sind.199 **Hook-Ausgabe landet im Kontext.** Ein `PostToolUse`-Hook, der Ihren Linter ausführt, gibt Ergebnisse als Text zurück, den Claude liest; ein `/fix-lint`-Skill sagt Claude, wie man sie löst.

181 </Tab>200 </Tab>

182</Tabs>201</Tabs>

183 202 


185 Verstehen Sie, wie Funktionen sich schichten204 Verstehen Sie, wie Funktionen sich schichten

186</h3>205</h3>

187 206 

188Funktionen können auf mehreren Ebenen definiert werden: benutzerübergreifend, pro Projekt, über Plugins oder durch verwaltete Richtlinien. Sie können auch CLAUDE.md-Dateien in Unterverzeichnissen verschachteln oder Skills in bestimmten Paketen eines Monorepos platzieren. Wenn dieselbe Funktion auf mehreren Ebenen vorhanden ist, so schichten sie sich:207Funktionen können auf mehreren Ebenen definiert werden: benutzerübergreifend, pro Projekt, über Plugins oder durch verwaltete Richtlinien. Sie können auch CLAUDE.md-Dateien in Unterverzeichnissen verschachteln oder Skills in bestimmten Paketen eines Monorepo platzieren. Wenn die gleiche Funktion auf mehreren Ebenen existiert, so schichten sie sich:

189 208 

190* **CLAUDE.md-Dateien** sind additiv: alle Ebenen tragen gleichzeitig Inhalte zu Claudes Kontext bei. Dateien aus Ihrem Arbeitsverzeichnis und darüber werden beim Start geladen; Unterverzeichnisse werden geladen, wenn Sie darin arbeiten. Wenn Anweisungen in Konflikt geraten, nutzt Claude sein Urteilsvermögen, um sie zu reconciliieren, wobei spezifischere Anweisungen typischerweise Vorrang haben. Siehe [wie CLAUDE.md-Dateien geladen werden](/docs/de/memory#how-claude-md-files-load).209* **CLAUDE.md-Dateien** sind additiv: alle Ebenen tragen Inhalte gleichzeitig zu Claudes Kontext bei. Dateien aus Ihrem Arbeitsverzeichnis und darüber laden beim Start; Unterverzeichnisse laden, während Sie in ihnen arbeiten. Wenn Anweisungen in Konflikt geraten, nutzt Claude Urteilsvermögen, um sie zu versöhnen. Siehe [wie CLAUDE.md-Dateien laden](/docs/de/memory#how-claude-md-files-load).

191* **Skills und Subagents** überschreiben nach Name: wenn derselbe Name auf mehreren Ebenen vorhanden ist, gewinnt eine Definition basierend auf Priorität (verwaltet > Benutzer > Projekt für Skills; verwaltet > CLI-Flag > Projekt > Benutzer > Plugin für Subagents). Plugin-Skills sind [namensgebunden](/docs/de/plugins#add-skills-to-your-plugin), um Konflikte zu vermeiden. Siehe [Skill-Erkennung](/docs/de/skills#resolve-skills-that-share-a-name) und [Subagent-Umfang](/docs/de/sub-agents#choose-the-subagent-scope).210* **Skills und Subagents** überschreiben nach Name: wenn der gleiche Name auf mehreren Ebenen existiert, gewinnt eine Definition basierend auf Priorität (verwaltet > Benutzer > Projekt für Skills; verwaltet > CLI-Flag > Projekt > Benutzer > Plugin für Subagents). Plugin-Skills sind [namespaced](/docs/de/plugins#add-skills-to-your-plugin), um Konflikte zu vermeiden. Siehe [Skill-Erkennung](/docs/de/skills#resolve-skills-that-share-a-name) und [Subagent-Umfang](/docs/de/sub-agents#choose-the-subagent-scope).

192* **MCP-Server** überschreiben nach Name: lokal > Projekt > Benutzer. Siehe [MCP-Umfang](/docs/de/mcp#scope-hierarchy-and-precedence).211* **MCP-Server** überschreiben nach Name: lokal > Projekt > Benutzer. Siehe [MCP-Umfang](/docs/de/mcp#scope-hierarchy-and-precedence).

193* **Hooks** zusammenführen: alle registrierten Hooks werden für ihre übereinstimmenden Ereignisse unabhängig von der Quelle ausgelöst. Siehe [Hooks](/docs/de/hooks).212* **Hooks** zusammenführen: alle registrierten Hooks werden für ihre übereinstimmenden Ereignisse unabhängig von der Quelle ausgelöst. Siehe [Hooks](/docs/de/hooks).

194 213 


196 Kombinieren Sie Funktionen215 Kombinieren Sie Funktionen

197</h3>216</h3>

198 217 

199Jede Erweiterung löst ein anderes Problem: CLAUDE.md behandelt immer aktivem Kontext, Skills behandeln On-Demand-Wissen und Workflows, MCP behandelt externe Verbindungen, Subagents behandeln Isolation und Hooks behandeln Automatisierung. Echte Setups kombinieren sie basierend auf Ihrem Workflow.218Jede Erweiterung löst ein anderes Problem: CLAUDE.md behandelt immer-aktiven Kontext, Skills behandeln On-Demand-Wissen und Workflows, MCP behandelt externe Verbindungen, Subagents behandeln Isolation, und Hooks behandeln Automatisierung. Echte Setups kombinieren sie basierend auf Ihrem Workflow.

200 219 

201Beispielsweise könnten Sie CLAUDE.md für Projektkonventionen, einen Skill für Ihren Bereitstellungs-Workflow, MCP zur Verbindung mit Ihrer Datenbank und einen Hook zum Ausführen von Linting nach jeder Bearbeitung verwenden. Jede Funktion behandelt das, wofür sie am besten geeignet ist.220Zum Beispiel könnten Sie CLAUDE.md für Projektkonventionen verwenden, einen Skill für Ihren Bereitstellungs-Workflow, MCP zur Verbindung mit Ihrer Datenbank und einen Hook zum Ausführen von Linting nach jeder Bearbeitung. Jede Funktion behandelt das, wofür sie am besten geeignet ist.

202 221 

203| Muster | Wie es funktioniert | Beispiel |222| Muster | Wie es funktioniert | Beispiel |

204| ---------------------- | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |223| ---------------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |

205| **Skill + MCP** | MCP bietet die Verbindung; ein Skill lehrt Claude, sie gut zu nutzen | MCP verbindet sich mit Ihrer Datenbank, ein Skill dokumentiert Ihr Schema und Abfragemuster |224| **Skill + MCP** | MCP bietet die Verbindung; ein Skill lehrt Claude, sie gut zu nutzen | MCP verbindet sich mit Ihrer Datenbank, ein Skill dokumentiert Ihr Schema und Abfragemuster |

206| **Skill + Subagent** | Ein Skill spawnt Subagents für parallele Arbeit | `/audit`-Skill startet Sicherheits-, Leistungs- und Style-Subagents, die in isoliertem Kontext arbeiten |225| **Skill + Subagent** | Ein Skill spawnt Subagents für parallele Arbeit | `/audit`-Skill startet Sicherheits-, Leistungs- und Style-Subagents, die in isoliertem Kontext arbeiten |

207| **CLAUDE.md + Skills** | CLAUDE.md hält immer aktivem Regeln; Skills halten Referenzmaterial, das On Demand geladen wird | CLAUDE.md sagt „folgen Sie unseren API-Konventionen", ein Skill enthält das vollständige API-Stilhandbuch |226| **CLAUDE.md + Skills** | CLAUDE.md hält immer-aktive Regeln; Skills halten Referenzmaterial, das On Demand geladen wird | CLAUDE.md sagt „folgen Sie unseren API-Konventionen", ein Skill enthält das vollständige API-Stilhandbuch |

208| **Hook + MCP** | Ein Hook löst externe Aktionen über MCP aus | Post-Edit-Hook sendet eine Slack-Benachrichtigung, wenn Claude kritische Dateien ändert |227| **Hook + MCP** | Ein Hook löst externe Aktionen durch MCP aus | Post-Edit-Hook sendet eine Slack-Benachrichtigung, wenn Claude kritische Dateien ändert |

209 228 

210<h2 id="understand-context-costs">229<h2 id="understand-context-costs">

211 Verstehen Sie Kontextkosten230 Verstehen Sie Kontextkosten


220Jede Funktion hat eine andere Ladestrategie und Kontextkosten:239Jede Funktion hat eine andere Ladestrategie und Kontextkosten:

221 240 

222| Funktion | Wann sie lädt | Was lädt | Kontextkosten |241| Funktion | Wann sie lädt | Was lädt | Kontextkosten |

223| -------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------- |242| -------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------- |

224| **CLAUDE.md** | Sitzungsstart | Vollständiger Inhalt | Jede Anfrage |243| **CLAUDE.md** | Sitzungsstart | Vollständiger Inhalt | Jede Anfrage |

244| **Output-Stile** | Sitzungsstart und erneut, wenn Sie Stile wechseln | Die vollständigen Anweisungen des aktiven Stils; nichts für den Standardstil | Jede Anfrage |

225| **Skills** | Sitzungsstart + wenn verwendet | Beschreibungen beim Start, vollständiger Inhalt bei Verwendung | Niedrig (Beschreibungen jede Anfrage)\* |245| **Skills** | Sitzungsstart + wenn verwendet | Beschreibungen beim Start, vollständiger Inhalt bei Verwendung | Niedrig (Beschreibungen jede Anfrage)\* |

226| **MCP-Server** | Sitzungsstart | Tool-Namen; vollständige Schemas bei Bedarf | Niedrig bis ein Tool verwendet wird |246| **MCP-Server** | Sitzungsstart | Tool-Namen; vollständige Schemas bei Bedarf | Niedrig bis ein Tool verwendet wird |

227| **Code-Intelligenz** | Nach Dateibearbeitungen und bei Bedarf | Diagnosen nach Bearbeitungen; Symbol-Positionen bei Suche | Niedrig; reduziert Dateileser anderswo |247| **Code-Intelligenz** | Nach Dateibearbeitungen und bei Bedarf | Diagnosen nach Bearbeitungen; Symbol-Positionen bei Suche | Niedrig; reduziert Dateileser anderswo |

fullscreen.md +2 −2

Details

234 234 

235Führen Sie `/clear` aus, um eine neue Unterhaltung zu starten.235Führen Sie `/clear` aus, um eine neue Unterhaltung zu starten.

236 236 

237Um den Bildschirm zu löschen und die Unterhaltung beizubehalten, drücken Sie `Ctrl+L`. Die früheren Nachrichten scrollen aus dem Sichtbereich nach oben, und Sie können mit `PgUp` oder dem Mausrad zurückblättern, um sie erneut zu lesen. Vor v2.1.260 zeichnete `Ctrl+L` den Bildschirm neu, ohne ihn zu löschen. Vor v2.1.238 führte das zweimalige Drücken innerhalb von zwei Sekunden `/clear` aus.237Wenn die Anzeige verzerrt oder teilweise leer aussieht, drücken Sie `Ctrl+L`, um den Bildschirm neu zu zeichnen. Das Neuzeichnen behält die Unterhaltung und Ihre Eingabe bei.

238 238 

239`Cmd+K` hat die gleiche Wirkung wie `Ctrl+L`, wenn Ihr Terminal es an Claude Code weiterleitet. iTerm2 und Terminal.app handhaben `Cmd+K` selbst, und Claude Code zeichnet die Unterhaltung neu, anstatt sie zu löschen. Drücken Sie daher `Ctrl+L` auf diesen Terminals.239`Cmd+K` hat die gleiche Wirkung wie `Ctrl+L`, wenn Ihr Terminal es an Claude Code weiterleitet. iTerm2 und Terminal.app handhaben `Cmd+K` selbst und löschen ihren eigenen Bildschirm, und Claude Code erkennt den gelöschten Bildschirm und zeichnet die Unterhaltung neu. Vor v2.1.280, beginnend mit v2.1.260, löschte das Drücken von `Ctrl+L` oder `Cmd+K`, wo es Claude Code erreicht, den Bildschirm beim Vollbildrendering. Vor v2.1.238 führte das zweimalige Drücken von `Ctrl+L` innerhalb von zwei Sekunden `/clear` aus.

240 240 

241<h2 id="use-with-tmux">241<h2 id="use-with-tmux">

242 Verwendung mit tmux242 Verwendung mit tmux

Details

300 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}300 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

301 prompt: "Generate a summary of yesterday's commits and open issues"301 prompt: "Generate a summary of yesterday's commits and open issues"

302 claude_args: |302 claude_args: |

303 --model claude-opus-4-8303 --model claude-opus-5-5

304 --allowedTools "mcp__github__list_commits,mcp__github__list_issues"304 --allowedTools "mcp__github__list_commits,mcp__github__list_issues"

305```305```

306 306 

glossary.md +12 −0

Details

208 208 

209Weitere Informationen: [Extended Thinking verwenden](/docs/de/model-config#extended-thinking)209Weitere Informationen: [Extended Thinking verwenden](/docs/de/model-config#extended-thinking)

210 210 

211<h2 id="f">

212 F

213</h2>

214 

215<h3 id="frontmatter">

216 Frontmatter

217</h3>

218 

219Ein Block von YAML-Einstellungen ganz oben in einer Markdown-Datei, zwischen einer öffnenden `---`-Zeile und einer schließenden `---`-Zeile. Skills, Subagenten, Ausgabestile und Regeln lesen ihre Konfiguration aus dem Frontmatter, wie die `description` eines Skills oder die `tools` eines Subagenten, und behandeln alles nach der schließenden `---` als die Anweisungen. Die öffnende `---` muss die erste Zeile der Datei sein. Jeder Dateityp akzeptiert seinen eigenen Satz von Feldern.

220 

221Weitere Informationen: [Skill-Frontmatter](/docs/de/skills#frontmatter-reference), [Subagent-Frontmatter](/docs/de/sub-agents#supported-frontmatter-fields), [Ausgabestil-Frontmatter](/docs/de/output-styles#frontmatter), [Regel-Frontmatter](/docs/de/memory#rules-frontmatter-reference)

222 

211<h2 id="h">223<h2 id="h">

212 H224 H

213</h2>225</h2>

Details

238 238 

239Legen Sie diese Umgebungsvariablen auf spezifische Google Cloud's Agent Platform-Modell-IDs fest.239Legen Sie diese Umgebungsvariablen auf spezifische Google Cloud's Agent Platform-Modell-IDs fest.

240 240 

241Ohne `ANTHROPIC_DEFAULT_OPUS_MODEL` wird der `opus`-Alias auf Google Cloud's Agent Platform zu Opus 5 aufgelöst, und ohne `ANTHROPIC_DEFAULT_SONNET_MODEL` wird der `sonnet`-Alias zu Sonnet 4.5 aufgelöst. Dieses Beispiel fixiert jeden Alias auf eine spezifische Version:241Ohne `ANTHROPIC_DEFAULT_OPUS_MODEL` wird der `opus`-Alias auf Google Cloud's Agent Platform zu Opus 5.5 aufgelöst, und ohne `ANTHROPIC_DEFAULT_SONNET_MODEL` wird der `sonnet`-Alias zu Sonnet 4.5 aufgelöst. Dieses Beispiel fixiert jeden Alias auf eine spezifische Version:

242 242 

243```bash theme={null}243```bash theme={null}

244export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'244export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'


252 252 

253| Modelltyp | Standardwert |253| Modelltyp | Standardwert |

254| :----------------------- | :--------------------------- |254| :----------------------- | :--------------------------- |

255| Primäres Modell | `claude-opus-5` |255| Primäres Modell | `claude-opus-5-5` |

256| Kleines/schnelles Modell | `claude-sonnet-4-5@20250929` |256| Kleines/schnelles Modell | `claude-sonnet-4-5@20250929` |

257 257 

258Hintergrundaufgaben 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:258Hintergrundaufgaben 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:


264 Opus-Modelle haben einen höheren Pro-Token-Preis als Sonnet-Modelle, daher wird eine Bereitstellung, die kein primäres Modell fixiert, mit dem Opus-Satz abgerechnet, sobald sie auf v2.1.207 oder später aktualisiert wird. Um Sonnet 4.5 als primäres Modell beizubehalten, 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.264 Opus-Modelle haben einen höheren Pro-Token-Preis als Sonnet-Modelle, daher wird eine Bereitstellung, die kein primäres Modell fixiert, mit dem Opus-Satz abgerechnet, sobald sie auf v2.1.207 oder später aktualisiert wird. Um Sonnet 4.5 als primäres Modell beizubehalten, 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.

265</Warning>265</Warning>

266 266 

267Auf 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. Vor v2.1.207 war das primäre Modell standardmäßig Sonnet 4.5, der `opus`-Alias wurde zu Opus 4.6 aufgelöst, und Hintergrundaufgaben verwendeten immer das primäre Modell.267Vor 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. Vor v2.1.207 war das primäre Modell standardmäßig Sonnet 4.5, der `opus`-Alias wurde zu Opus 4.6 aufgelöst, und Hintergrundaufgaben verwendeten immer das primäre Modell.

268 268 

269Um Modelle weiter anzupassen:269Um Modelle weiter anzupassen:

270 270 

headless.md +4 −4

Details

109cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt109cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt

110```110```

111 111 

112Mit `--output-format json` enthält die Antwort-Payload `total_cost_usd` und eine Kostenaufschlüsselung pro Modell, sodass skriptgesteuerte Aufrufer die Ausgaben pro Aufruf verfolgen können, ohne das [Nutzungs-Dashboard](/docs/de/costs) zu konsultieren. Beide Zahlen sind [clientseitige Schätzungen](/docs/de/agent-sdk/cost-tracking) und können sich von Ihrer tatsächlichen Rechnung unterscheiden.112Mit `--output-format json` enthält die Antwort-Payload `total_cost_usd` und eine Kostenaufschlüsselung pro Modell, sodass skriptgesteuerte Aufrufer die Ausgaben verfolgen können, ohne das [Nutzungs-Dashboard](/docs/de/costs) zu konsultieren. Wenn Sie ein früheres Gespräch mit `--continue` oder `--resume` fortsetzen, meldet der Lauf die Gesamtsumme des Gesprächs, [einschließlich der Ausgaben früherer Läufe](/docs/de/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Beide Zahlen sind [clientseitige Schätzungen](/docs/de/agent-sdk/cost-tracking) und können sich von Ihrer tatsächlichen Rechnung unterscheiden.

113 113 

114<Note>114<Note>

115 Eingeleiter stdin ist auf 10 MB begrenzt. Wenn Sie die Grenze überschreiten, beendet sich Claude Code mit einer klaren Fehlermeldung und einem Nicht-Null-Status. Um mit größeren Eingaben zu arbeiten, schreiben Sie den Inhalt in eine Datei und verweisen Sie auf den Dateipfad in Ihrer Eingabeaufforderung, anstatt ihn einzuleiten.115 Eingeleiter stdin ist auf 10 MB begrenzt. Wenn Sie die Grenze überschreiten, beendet sich Claude Code mit einer klaren Fehlermeldung und einem Nicht-Null-Status. Um mit größeren Eingaben zu arbeiten, schreiben Sie den Inhalt in eine Datei und verweisen Sie auf den Dateipfad in Ihrer Eingabeaufforderung, anstatt ihn einzuleiten.


212* **Standardmäßig**: die Subagenten-`tool_use`- und `tool_result`-Blöcke.212* **Standardmäßig**: die Subagenten-`tool_use`- und `tool_result`-Blöcke.

213* **Mit [`--forward-subagent-text`](/docs/de/cli-reference#cli-flags) oder [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/de/env-vars)**: auch die Subagenten-Text- und Thinking-Blöcke, damit Sie das Transkript jeder Subagent rekonstruieren können. Dies erfordert Claude Code v2.1.211 oder später.213* **Mit [`--forward-subagent-text`](/docs/de/cli-reference#cli-flags) oder [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/de/env-vars)**: auch die Subagenten-Text- und Thinking-Blöcke, damit Sie das Transkript jeder Subagent rekonstruieren können. Dies erfordert Claude Code v2.1.211 oder später.

214 214 

215Wenn Sie eine der beiden Optionen aktivieren, leitet Claude Code Nachrichten von [Subagenten auf jeder Verschachtelungstiefe](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) weiter: Wenn eine Subagent ihre eigene Subagent spawnt, tragen die Nachrichten der verschachtelten Subagent die ID des Agent-Tool-Aufrufs, der sie spawnte, in `parent_tool_use_id`, sodass Sie den vollständigen Verschachtelungsbaum durch Verfolgung dieser IDs rekonstruieren können. Vor v2.1.219 erschienen Nachrichten von verschachtelten Subagenten nicht im Stream.215Wenn Sie eine der beiden Optionen aktivieren, leitet Claude Code Nachrichten von [Subagenten auf jeder Verschachtelungstiefe](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) weiter, unabhängig davon, ob jede mit dem Agent-Tool oder als [gegabelter Skill](/docs/de/skills#run-skills-in-a-subagent) gestartet wurde. Nachrichten von Subagenten, die ein gegabelter Skill spawnt, und von gegabelten Skills, die in einer Subagent oder einem anderen gegabelten Skill gestartet werden, erfordern Claude Code v2.1.275 oder später. In `parent_tool_use_id` tragen die Nachrichten der verschachtelten Subagent die ID des Agent- oder Skill-Tool-Aufrufs, der sie gestartet hat, sodass Sie den vollständigen Verschachtelungsbaum durch Verfolgung dieser IDs rekonstruieren können. Vor v2.1.219 erschienen Nachrichten von verschachtelten Subagenten nicht im Stream.

216 216 

217Skills, die [in einer Subagent laufen](/docs/de/skills#run-skills-in-a-subagent), erscheinen im Stream auf die gleiche Weise: die erste Nachricht des gegabelten Skills ist eine `user`-Nachricht, die den Skill-Inhalt trägt, der den Lauf antreibt. Wenn Sie eine der beiden Optionen aktivieren, enthält der Stream auch die Text- und Thinking-Blöcke des gegabelten Skills. Vor v2.1.265 erschienen nur die `tool_use`- und `tool_result`-Blöcke eines gegabelten Skills im Stream.217Skills, die [in einer Subagent laufen](/docs/de/skills#run-skills-in-a-subagent), erscheinen im Stream auf die gleiche Weise: die erste Nachricht des gegabelten Skills ist eine `user`-Nachricht, die den Skill-Inhalt trägt, der den Lauf antreibt. Wenn Sie eine der beiden Optionen aktivieren, enthält der Stream auch die Text- und Thinking-Blöcke des gegabelten Skills. Vor v2.1.265 erschienen nur die `tool_use`- und `tool_result`-Blöcke eines gegabelten Skills im Stream.

218 218 


262Claude Code validiert jeden `--mcp-config`-Eintrag beim Start und überspringt Einträge, die die Validierung nicht bestehen, beispielsweise einen `url`-Eintrag ohne `type`. Der Lauf wird fortgesetzt und beendet sich sauber, überprüfen Sie also diese Felder, um einen Server zu erfassen, der nie geladen wurde:262Claude Code validiert jeden `--mcp-config`-Eintrag beim Start und überspringt Einträge, die die Validierung nicht bestehen, beispielsweise einen `url`-Eintrag ohne `type`. Der Lauf wird fortgesetzt und beendet sich sauber, überprüfen Sie also diese Felder, um einen Server zu erfassen, der nie geladen wurde:

263 263 

264| Feld | Typ | Beschreibung |264| Feld | Typ | Beschreibung |

265| ------------------- | ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |265| ------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

266| `mcp_servers` | Array | MCP-Server in der Sitzung, jeweils mit `name` und `status` |266| `mcp_servers` | Array | MCP-Server in der Sitzung, jeweils mit `name` und `status` |

267| `mcp_server_errors` | Array | Einträge in `--mcp-config`, die durch 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 erkennen, 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 |267| `mcp_server_errors` | Array | `--mcp-config`-Einträge, die durch 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 erkennen, 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 |

268 268 

269Wenn Sie den Befehl von Hand in einem Terminal ausführen, gibt Claude Code auch eine Startwarnmeldung 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.269Wenn Sie den Befehl von Hand in einem Terminal ausführen, gibt Claude Code auch eine Startwarnmeldung 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.

270 270 

hooks.md +809 −797

Details

242 242 

243Hooks werden in JSON-Einstellungsdateien definiert. Die Konfiguration hat drei Verschachtelungsebenen:243Hooks werden in JSON-Einstellungsdateien definiert. Die Konfiguration hat drei Verschachtelungsebenen:

244 244 

2451. Wählen Sie ein [Hook-Ereignis](#hook-events) aus, auf das Sie reagieren möchten, wie `PreToolUse` oder `Stop`2451. Wählen Sie ein [Hook-Ereignis](#hook-events) aus, auf das reagiert werden soll, wie `PreToolUse` oder `Stop`

2462. Fügen Sie eine [Matcher-Gruppe](#matcher-patterns) hinzu, um zu filtern, wann es ausgelöst wird, wie „nur für das Bash-Tool"2462. Fügen Sie eine [Matcher-Gruppe](#matcher-patterns) hinzu, um zu filtern, wann es ausgelöst wird, z. B. „nur für das Bash-Tool"

2473. Definieren Sie einen oder mehrere [Hook-Handler](#hook-handler-fields), die ausgeführt werden, wenn sie passen2473. Definieren Sie einen oder mehrere [Hook-Handler](#hook-handler-fields), die ausgeführt werden, wenn eine Übereinstimmung gefunden wird

248 248 

249Siehe [Wie ein Hook aufgelöst wird](#how-a-hook-resolves) oben für eine vollständige Anleitung mit einem kommentierten Beispiel.249Siehe [Wie ein Hook aufgelöst wird](#how-a-hook-resolves) oben für eine vollständige Anleitung mit einem kommentierten Beispiel.

250 250 

251<Note>251<Note>

252 Diese Seite verwendet spezifische Begriffe für jede Ebene: **Hook-Ereignis** für den Lebenszyklus-Punkt, **Matcher-Gruppe** für den Filter und **Hook-Handler** für den Shell-Befehl, HTTP-Endpunkt, MCP-Tool, Prompt oder Agent, der ausgeführt wird. „Hook" allein bezieht sich auf die allgemeine Funktion.252 Diese Seite verwendet spezifische Begriffe für jede Ebene: **Hook-Ereignis** für den Lebenszykluspunkt, **Matcher-Gruppe** für den Filter und **Hook-Handler** für den Shell-Befehl, HTTP-Endpunkt, MCP-Tool, Prompt oder Agent, der ausgeführt wird. „Hook" bezieht sich allein auf die allgemeine Funktion.

253</Note>253</Note>

254 254 

255<h3 id="hook-locations">255<h3 id="hook-locations">


261| Speicherort | Umfang | Freigegeben |261| Speicherort | Umfang | Freigegeben |

262| :--------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------ |262| :--------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------ |

263| `~/.claude/settings.json` | Alle Ihre Projekte | Nein, lokal auf Ihrem Computer |263| `~/.claude/settings.json` | Alle Ihre Projekte | Nein, lokal auf Ihrem Computer |

264| `.claude/settings.json` | Einzelnes Projekt | Ja, kann im Repo committed werden |264| `.claude/settings.json` | Einzelnes Projekt | Ja, kann im Repository committed werden |

265| `.claude/settings.local.json` | Einzelnes Projekt | Nein, gitignored, wenn Claude Code eine Einstellung darin speichert |265| `.claude/settings.local.json` | Einzelnes Projekt | Nein, gitignored, wenn Claude Code eine Einstellung darin speichert |

266| Verwaltete Richtlinieneinstellungen | Organisationsweit | Ja, von Admin kontrolliert |266| Verwaltete Richtlinieneinstellungen | Organisationsweit | Ja, von Administrator kontrolliert |

267| [Plugin](/docs/de/plugins) `hooks/hooks.json` | Wenn Plugin aktiviert ist | Ja, mit dem Plugin gebündelt |267| [Plugin](/docs/de/plugins) `hooks/hooks.json` | Wenn Plugin aktiviert ist | Ja, mit dem Plugin gebündelt |

268| [Skill](/docs/de/skills) Frontmatter | Der Rest der Sitzung, sobald der Skill aufgerufen wird. Siehe [Hooks in Skills und Agents](#hooks-in-skills-and-agents) | Ja, in der Skill-Datei definiert |268| [Skill](/docs/de/skills) Frontmatter | Der Rest der Sitzung, sobald der Skill aufgerufen wird. Siehe [Hooks in Skills und Agents](#hooks-in-skills-and-agents) | Ja, in der Skill-Datei definiert |

269| [Subagent](/docs/de/sub-agents) Frontmatter | Während dieser Subagent läuft | Ja, in der Subagent-Datei definiert |269| [Subagent](/docs/de/sub-agents) Frontmatter | Während dieser Subagent ausgeführt wird | Ja, in der Subagent-Datei definiert |

270 270 

271[Cloud-Sitzungen](/docs/de/claude-code-on-the-web) lesen Ihre lokale `~/.claude/settings.json` nicht; Hooks dort stammen aus dem Repo, was bedeutet, dass seine `.claude/settings.json` in einer Sitzung mit einem Repository und die Plugins, die es deklariert, in jeder Sitzung, und aus den von Ihrem Server verwalteten Einstellungen Ihrer Organisation. In einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments-configuration#permissions-and-tool-approval) führt Claude Code auch die Hooks aus, die der Operator vom Host `~/.claude/` des Runners seeded hat, und es führt die Hooks in der verwalteten Einstellungsdatei des Runner-Images aus, wenn diese Datei unter den [verwalteten Quellen liegt, die Claude Code anwendet](/docs/de/managed-settings#how-claude-code-combines-managed-sources), was standardmäßig bedeutet, nur wenn weder Server-verwaltete Einstellungen noch eine von MDM bereitgestellte Claude Code-Richtlinie die verwaltete Ebene bereitstellen. Siehe [was von Ihrem Setup übertragen wird](/docs/de/cloud-environments#what-carries-over-from-your-setup), um zu erfahren, welche Dateien eine Cloud-Sitzung erreichen.271[Cloud-Sitzungen](/docs/de/claude-code-on-the-web) lesen Ihre lokale `~/.claude/settings.json` nicht; Hooks dort stammen aus der `.claude/settings.json` des Repositories in einer Sitzung mit einem Repository, aus den Plugins, die [von Ihrem claude.ai-Konto synchronisiert werden](/docs/de/plugins-reference#synced-plugins), und aus den servergesteuerten Einstellungen Ihrer Organisation. In einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments-configuration#permissions-and-tool-approval) führt Claude Code auch die Hooks aus, die der Operator vom Host `~/.claude/` des Runners seeded hat, und führt die Hooks in der verwalteten Einstellungsdatei des Runner-Images aus, wenn diese Datei unter den [verwalteten Quellen liegt, die Claude Code anwendet](/docs/de/managed-settings#how-claude-code-combines-managed-sources), was standardmäßig bedeutet, dass nur dann, wenn weder servergesteuerte Einstellungen noch eine von MDM bereitgestellte Claude Code-Richtlinie die verwaltete Ebene bereitstellt. Siehe [was von Ihrem Setup übertragen wird](/docs/de/cloud-environments#what-carries-over-from-your-setup) für die Dateien, die eine Cloud-Sitzung erreichen.

272 272 

273Weitere Informationen zur Auflösung von Einstellungsdateien finden Sie unter [Einstellungen](/docs/de/settings).273Weitere Informationen zur Auflösung von Einstellungsdateien finden Sie unter [Einstellungen](/docs/de/settings).

274 274 

275Hooks aus Einstellungsdateien, verwalteten Richtlinieneinstellungen und Plugins werden auch in [Subagenten](/docs/de/sub-agents) ausgeführt. Wenn ein Subagent ein Tool aufruft, werden Tool-Ereignisse wie `PreToolUse` und `PostToolUse` die gleichen konfigurierten Hooks wie in der Hauptkonversation ausgelöst, und die Eingabe enthält die [gemeinsamen Eingabefelder](#common-input-fields) `agent_id` und `agent_type`, die den Subagenten identifizieren.275Hooks aus Einstellungsdateien, verwalteten Richtlinieneinstellungen und Plugins werden auch in [Subagents](/docs/de/sub-agents) ausgeführt. Wenn ein Subagent ein Tool aufruft, werden Tool-Ereignisse wie `PreToolUse` und `PostToolUse` die gleichen konfigurierten Hooks wie im Hauptgespräch ausgelöst, und die Eingabe enthält die [gemeinsamen Eingabefelder](#common-input-fields) `agent_id` und `agent_type`, die den Subagent identifizieren.

276 276 

277Enterprise-Administratoren können `allowManagedHooksOnly` verwenden, um einzuschränken, welche Hooks ausgeführt werden:277Unternehmensadministratoren können `allowManagedHooksOnly` verwenden, um einzuschränken, welche Hooks ausgeführt werden:

278 278 

279* Ihre Benutzer-, Projekt-, lokalen und Plugin-Hooks werden blockiert. Hooks von Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, sind ausgenommen279* Ihre Benutzer-, Projekt-, lokalen und Plugin-Hooks werden blockiert. Hooks aus Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, sind ausgenommen

280* Claude Code schränkt auch Ihre [`statusLine`](/docs/de/statusline), [`fileSuggestion`](/docs/de/settings-reference#filesuggestion) und [`subagentStatusLine`](/docs/de/statusline#subagent-status-lines) Einstellungen auf verwaltete Einstellungen ein280* Claude Code schränkt auch Ihre [`statusLine`](/docs/de/statusline), [`fileSuggestion`](/docs/de/settings-reference#filesuggestion) und [`subagentStatusLine`](/docs/de/statusline#subagent-status-lines) Einstellungen auf verwaltete Einstellungen ein

281* Claude Code deaktiviert auch Plugins mit einer [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources), einschließlich Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, es sei denn, [`disableCommandPluginSources`](/docs/de/settings-reference#disablecommandpluginsources) ist explizit auf `false` gesetzt. `command`-Quellen erfordern Claude Code v2.1.229 oder später281* Claude Code deaktiviert auch Plugins mit einer [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources), einschließlich Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, es sei denn, [`disableCommandPluginSources`](/docs/de/settings-reference#disablecommandpluginsources) ist explizit auf `false` gesetzt. `command`-Quellen erfordern Claude Code v2.1.229 oder später

282* Claude Code blockiert auch Marketplace-[`headersHelper`-Befehle](/docs/de/plugin-marketplaces#authenticate-archive-downloads), es sei denn, [`disableCommandPluginSources`](/docs/de/settings-reference#disablecommandpluginsources) ist explizit auf `false` gesetzt, außer für einen Marketplace, den verwaltete Einstellungen selbst deklarieren282* Claude Code blockiert auch Marketplace-[`headersHelper`-Befehle](/docs/de/plugin-marketplaces#authenticate-archive-downloads), es sei denn, [`disableCommandPluginSources`](/docs/de/settings-reference#disablecommandpluginsources) ist explizit auf `false` gesetzt, außer für einen Marketplace, den verwaltete Einstellungen selbst deklarieren

283 283 

284Siehe [was unter `allowManagedHooksOnly` läuft](/docs/de/settings-reference#what-runs-under-allowmanagedhooksonly).284Siehe [was unter `allowManagedHooksOnly` ausgeführt wird](/docs/de/settings-reference#what-runs-under-allowmanagedhooksonly).

285 285 

286Hook-Einträge werden über Einstellungsebenen hinweg zusammengeführt, anstatt sich gegenseitig zu ersetzen: Benutzer-, Projekt- und lokale Einstellungen fügen ihre eigenen Hooks hinzu, ohne verwaltete zu entfernen, und die Einstellung [`disableAllHooks`](#disable-or-remove-hooks) kann verwaltete Hooks von außerhalb verwalteter Einstellungen nicht deaktivieren.286Hook-Einträge werden über Einstellungsebenen hinweg zusammengeführt, anstatt sich gegenseitig zu ersetzen: Benutzer-, Projekt- und lokale Einstellungen fügen ihre eigenen Hooks hinzu, ohne verwaltete zu entfernen, und die Einstellung [`disableAllHooks`](#disable-or-remove-hooks) kann verwaltete Hooks von außerhalb verwalteter Einstellungen nicht deaktivieren.

287 287 


294 Matcher-Muster294 Matcher-Muster

295</h3>295</h3>

296 296 

297Das Feld `matcher` filtert, wann Hooks ausgelöst werden. Wie ein Matcher evaluiert wird, hängt von den Zeichen ab, die er enthält:297Das Feld `matcher` filtert, wann Hooks ausgelöst werden. Wie ein Matcher ausgewertet wird, hängt von den Zeichen ab, die er enthält:

298 298 

299| Matcher-Wert | Evaluiert als | Beispiel |299| Matcher-Wert | Ausgewertet als | Beispiel |

300| :----------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |300| :----------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

301| `"*"`, `""` oder weggelassen | Alle treffen | wird bei jedem Auftreten des Ereignisses ausgelöst |301| `"*"`, `""` oder weggelassen | Alle abgleichen | wird bei jedem Auftreten des Ereignisses ausgelöst |

302| Nur Buchstaben, Ziffern, `_`, `-`, Leerzeichen, `,` und `\|` | Exakte Zeichenkette oder Liste von exakten Zeichenketten, getrennt durch `\|` oder `,` mit optionalem umgebendem Leerzeichen | `Bash` passt nur zum Bash-Tool; `Edit\|Write` und `Edit, Write` passen jeweils zu beiden Tools genau; `code-reviewer` passt nur zu diesem Agent-Typ |302| Nur Buchstaben, Ziffern, `_`, `-`, Leerzeichen, `,` und `\|` | Exakte Zeichenkette oder Liste exakter Zeichenketten, getrennt durch `\|` oder `,` mit optionalem umgebendem Leerzeichen | `Bash` passt nur auf das Bash-Tool; `Edit\|Write` und `Edit, Write` passen jeweils auf eines der beiden Tools genau; `code-reviewer` passt nur auf diesen Agent-Typ |

303| Enthält ein anderes Zeichen | JavaScript-Regex, unverankert | `^Notebook` passt zu jedem Tool, das mit Notebook beginnt; `mcp__memory__.*` passt zu jedem Tool vom `memory`-Server |303| Enthält ein anderes Zeichen | JavaScript-Regulärer Ausdruck, nicht verankert | `^Notebook` passt auf jedes Tool, dessen Name mit `Notebook` beginnt; `mcp__memory__.*` passt auf jedes Tool vom `memory`-Server |

304 304 

305Ein Matcher auf dem Regex-Pfad wird mit `RegExp.prototype.test` von JavaScript getestet, was bei einer Übereinstimmung irgendwo im Wert erfolgreich ist. `Edit.*` passt sowohl zu `Edit` als auch zu `NotebookEdit`; wickeln Sie das Muster in `^` und `$` ein, wie in `^Edit$`, wenn Sie eine Ganzzahl-Übereinstimmung benötigen.305Ein Matcher auf dem Pfad des regulären Ausdrucks wird mit `RegExp.prototype.test` von JavaScript getestet, was bei einer Übereinstimmung an einer beliebigen Stelle im Wert erfolgreich ist. `Edit.*` passt sowohl auf `Edit` als auch auf `NotebookEdit`; umgeben Sie das Muster mit `^` und `$`, wie in `^Edit$`, wenn Sie eine Übereinstimmung mit der gesamten Zeichenkette benötigen.

306 306 

307Komma-Trennzeichen und die Toleranz für umgebendes Leerzeichen erfordern Claude Code v2.1.191 oder später.307Komma-Trennzeichen und die Toleranz für umgebendes Leerzeichen erfordern Claude Code v2.1.191 oder später.

308 308 

309Bindestriche in der Exact-Match-Menge erfordern Claude Code v2.1.195 oder später. In früheren Versionen wird ein hyphenierter Name wie `code-reviewer` als unverankerte Regex evaluiert, daher wird er auch für `senior-code-reviewer` ausgelöst; verankern Sie ihn als `^code-reviewer$` in diesen Versionen, um nur diesen Namen zu treffen.309Bindestriche in der exakten Übereinstimmungsmenge erfordern Claude Code v2.1.195 oder später. In früheren Versionen wird ein Name mit Bindestrich wie `code-reviewer` als nicht verankerter regulärer Ausdruck ausgewertet, sodass er auch für `senior-code-reviewer` ausgelöst wird; verankern Sie ihn als `^code-reviewer$` in diesen Versionen, um nur diesen Namen abzugleichen.

310 310 

311`FileChanged` und `StopFailure` verwenden einen engeren Exact-Match-Satz von nur Buchstaben, Ziffern, `_` und `|`. Ein Bindestrich, Leerzeichen oder Komma in einem Matcher für diese beiden Ereignisse hält ihn auf dem Regex-Pfad, und nur `|` trennt Alternativen. Jedes andere Ereignis mit Matcher-Unterstützung in der folgenden Tabelle akzeptiert `|` oder `,`.311`FileChanged` und `StopFailure` verwenden einen engeren exakten Übereinstimmungssatz von nur Buchstaben, Ziffern, `_` und `|`. Ein Bindestrich, Leerzeichen oder Komma in einem Matcher für diese beiden Ereignisse hält ihn auf dem Pfad des regulären Ausdrucks, und nur `|` trennt Alternativen. Jedes andere Ereignis mit Matcher-Unterstützung in der folgenden Tabelle akzeptiert `|` oder `,`.

312 312 

313Das Ereignis `FileChanged` folgt diesen Regeln nicht, wenn es seine Überwachungsliste erstellt. Siehe [FileChanged](#filechanged).313Das Ereignis `FileChanged` folgt diesen Regeln nicht, wenn es seine Beobachtungsliste erstellt. Siehe [FileChanged](#filechanged).

314 314 

315Jeder Ereignistyp passt auf ein anderes Feld:315Jeder Ereignistyp passt auf ein anderes Feld:

316 316 

317| Ereignis | Worauf der Matcher filtert | Beispiel-Matcher-Werte |317| Ereignis | Worauf der Matcher filtert | Beispiel-Matcher-Werte |

318| :------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |318| :------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

319| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | Tool-Name | `Bash`, `Edit\|Write`, `mcp__.*` |319| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | Tool-Name | `Bash`, `Edit\|Write`, `mcp__.*` |

320| `SessionStart` | Wie die Sitzung gestartet wurde | `startup`, `resume`, `clear`, `compact`, `fork` |320| `SessionStart` | wie die Sitzung gestartet wurde | `startup`, `resume`, `clear`, `compact`, `fork` |

321| `Setup` | Welches CLI-Flag das Setup ausgelöst hat | `init`, `maintenance` |321| `Setup` | welches CLI-Flag Setup ausgelöst hat | `init`, `maintenance` |

322| `SessionEnd` | Warum die Sitzung endete | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |322| `SessionEnd` | warum die Sitzung endete | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |

323| `Notification` | Benachrichtigungstyp | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled` |323| `Notification` | Benachrichtigungstyp | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled` |

324| `SubagentStart` | Agent-Typ | `general-purpose`, `Explore`, `Plan`, benutzerdefinierte Agent-Namen oder Plugin-bezogene Namen wie `^my-plugin:reviewer$` |324| `SubagentStart` | Agent-Typ | `general-purpose`, `Explore`, `Plan`, benutzerdefinierte Agent-Namen oder Plugin-bezogene Namen wie `^my-plugin:reviewer$` |

325| `PreCompact`, `PostCompact` | Was die Komprimierung ausgelöst hat | `manual`, `auto` |325| `PreCompact`, `PostCompact` | was Komprimierung ausgelöst hat | `manual`, `auto` |

326| `PreModelSwitch`, `PostModelSwitch` | Kanonischer Name des Modells, zu dem die Sitzung wechselt, wie unter [PreModelSwitch](#premodelswitch) beschrieben | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |326| `PreModelSwitch`, `PostModelSwitch` | kanonischer Name des Modells, zu dem die Sitzung wechselt, wie unter [PreModelSwitch](#premodelswitch) beschrieben | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |

327| `SubagentStop` | Agent-Typ | gleiche Werte wie `SubagentStart` |327| `SubagentStop` | Agent-Typ | gleiche Werte wie `SubagentStart` |

328| `ConfigChange` | Konfigurationsquelle | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |328| `ConfigChange` | Konfigurationsquelle | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |

329| `CwdChanged` | Keine Matcher-Unterstützung | wird immer bei jedem Verzeichniswechsel ausgelöst |329| `CwdChanged` | keine Matcher-Unterstützung | wird immer bei jedem Auftreten ausgelöst |

330| `DirectoryAdded` | Wie das Verzeichnis hinzugefügt wurde | `slash_command`, `register_repo_root` |330| `DirectoryAdded` | wie das Verzeichnis hinzugefügt wurde | `slash_command`, `register_repo_root` |

331| `FileChanged` | Dateinamen zum Überwachen (siehe [FileChanged](#filechanged)) | `.envrc\|.env` |331| `FileChanged` | wörtliche Dateinamen zum Beobachten (siehe [FileChanged](#filechanged)) | `.envrc\|.env` |

332| `StopFailure` | Fehlertyp | `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, `unknown` |332| `StopFailure` | Fehlertyp | `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, `unknown` |

333| `InstructionsLoaded` | Ladegrund | `session_start`, `nested_traversal`, `path_glob_match`, `include`, `compact` |333| `InstructionsLoaded` | Ladegrund | `session_start`, `nested_traversal`, `path_glob_match`, `include`, `compact` |

334| `UserPromptExpansion` | Befehlsname | Ihre Skill- oder Befehlsnamen |334| `UserPromptExpansion` | Befehlsname | Ihre Skill- oder Befehlsnamen |

335| `Elicitation` | MCP-Server-Name | Ihre konfigurierten MCP-Server-Namen |335| `Elicitation` | MCP-Servername | Ihre konfigurierten MCP-Servernamen |

336| `ElicitationResult` | MCP-Server-Name | gleiche Werte wie `Elicitation` |336| `ElicitationResult` | MCP-Servername | gleiche Werte wie `Elicitation` |

337| `UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` | Keine Matcher-Unterstützung | wird immer bei jedem Auftreten ausgelöst |337| `UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` | keine Matcher-Unterstützung | wird immer bei jedem Auftreten ausgelöst |

338 338 

339Das Abgleichen von `StopFailure` auf `cloud_credential_error` erfordert Claude Code v2.1.267 oder später, die erste Version, die Fehler beim Laden von Anmeldedaten unter diesem Wert statt unter `server_error` oder `unknown` meldet.339Das Abgleichen von `StopFailure` auf `cloud_credential_error` erfordert Claude Code v2.1.267 oder später, die erste Version, die Fehler beim Laden von Anmeldedaten unter diesem Wert statt unter `server_error` oder `unknown` meldet.

340 340 

341Für die meisten Ereignisse wertet Claude Code den Matcher gegen ein Feld aus der [JSON-Eingabe](#hook-input-and-output) aus, die es an Ihren Hook über stdin sendet. Für Tool-Ereignisse ist dieses Feld `tool_name`. Für `PreModelSwitch` und `PostModelSwitch` wertet Claude Code den Matcher gegen den kanonischen Namen aus, den es aus `to_model` ableitet, wie unter [PreModelSwitch](#premodelswitch) beschrieben. Jeder Abschnitt [Hook-Ereignis](#hook-events) listet den vollständigen Satz von Matcher-Werten und das Eingabeschema für dieses Ereignis auf.341Für die meisten Ereignisse wertet Claude Code den Matcher gegen ein Feld aus der [JSON-Eingabe](#hook-input-and-output) aus, die es Ihrem Hook auf stdin sendet. Für Tool-Ereignisse ist dieses Feld `tool_name`. Für `PreModelSwitch` und `PostModelSwitch` wertet Claude Code den Matcher gegen den kanonischen Namen aus, den es aus `to_model` ableitet, wie unter [PreModelSwitch](#premodelswitch) beschrieben. Jeder [Hook-Ereignis](#hook-events)-Abschnitt listet den vollständigen Satz von Matcher-Werten und das Eingabeschema für dieses Ereignis auf.

342 342 

343Dieses Beispiel führt ein Linting-Skript nur aus, wenn Claude eine Datei schreibt oder bearbeitet:343Dieses Beispiel führt ein Linting-Skript nur aus, wenn Claude eine Datei schreibt oder bearbeitet:

344 344 


362 362 

363Wenn Sie ein `matcher`-Feld zu einem Ereignis ohne Matcher-Unterstützung hinzufügen, wird es stillschweigend ignoriert.363Wenn Sie ein `matcher`-Feld zu einem Ereignis ohne Matcher-Unterstützung hinzufügen, wird es stillschweigend ignoriert.

364 364 

365Für Tool-Ereignisse können Sie enger filtern, indem Sie das Feld [`if`](#common-fields) auf einzelnen Hook-Handlern setzen. `if` verwendet [Berechtigungsregel-Syntax](/docs/de/permissions), um gegen den Tool-Namen und die Argumente zusammen zu passen, daher wird `"Bash(git *)"` ausgeführt, wenn ein Bash-Befehl mit `git *` übereinstimmt und `"Edit(*.ts)"` wird nur für TypeScript-Dateien ausgeführt.365Für Tool-Ereignisse können Sie enger filtern, indem Sie das Feld [`if`](#common-fields) auf einzelnen Hook-Handlern setzen. `if` verwendet [Berechtigungsregelsyntax](/docs/de/permissions), um gegen den Tool-Namen und die Argumente zusammen abzugleichen, sodass `"Bash(git *)"` ausgeführt wird, wenn ein Bash-Eingabe-Subbefehl `git *` passt und `"Edit(*.ts)"` nur für TypeScript-Dateien ausgeführt wird.

366 366 

367<h4 id="match-mcp-tools">367<h4 id="match-mcp-tools">

368 MCP-Tools abgleichen368 MCP-Tools abgleichen

369</h4>369</h4>

370 370 

371[MCP](/docs/de/mcp) Server-Tools erscheinen als reguläre Tools in Tool-Ereignissen (`PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied`), daher können Sie sie auf die gleiche Weise abgleichen wie jeden anderen Tool-Namen.371[MCP](/docs/de/mcp)-Server-Tools erscheinen als reguläre Tools in Tool-Ereignissen (`PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied`), sodass Sie sie auf die gleiche Weise abgleichen können wie jeden anderen Tool-Namen.

372 372 

373MCP-Tools folgen dem Benennungsmuster `mcp__<server>__<tool>`, zum Beispiel:373MCP-Tools folgen dem Benennungsmuster `mcp__<server>__<tool>`, zum Beispiel:

374 374 

375* `mcp__memory__create_entities`: Memory-Server-Tool zum Erstellen von Entitäten375* `mcp__memory__create_entities`: Entitäten-Tool des Memory-Servers erstellen

376* `mcp__filesystem__read_file`: Filesystem-Server-Tool zum Lesen von Dateien376* `mcp__filesystem__read_file`: Datei-Lese-Tool des Filesystem-Servers

377* `mcp__github__search_repositories`: GitHub-Server-Suchtool377* `mcp__github__search_repositories`: Such-Tool des GitHub-Servers

378 378 

379Um jedes Tool von einem Server zu treffen, fügen Sie `.*` zum Server-Präfix hinzu. Das `.*` ist erforderlich: Ein Matcher wie `mcp__memory` oder `mcp__brave-search` enthält nur Exact-Match-Zeichen, daher wird er als exakte Zeichenkette verglichen und passt zu keinem Tool.379Um jedes Tool von einem Server abzugleichen, hängen Sie `.*` an das Server-Präfix an. Das `.*` ist erforderlich: ein Matcher wie `mcp__memory` oder `mcp__brave-search` enthält nur exakte Übereinstimmungszeichen, sodass er als exakte Zeichenkette verglichen wird und kein Tool passt.

380 380 

381* `mcp__memory__.*` passt zu allen Tools vom `memory`-Server381* `mcp__memory__.*` passt auf alle Tools vom `memory`-Server

382* `mcp__brave-search__.*` passt zu allen Tools von einem Server, dessen Name einen Bindestrich enthält382* `mcp__brave-search__.*` passt auf alle Tools von einem Server, dessen Name einen Bindestrich enthält

383* `mcp__.*__write.*` passt zu jedem Tool, dessen Name mit `write` beginnt, von jedem Server383* `mcp__.*__write.*` passt auf jedes Tool, dessen Name mit `write` beginnt, von jedem Server

384 384 

385Bindestriche in der Exact-Match-Menge erfordern Claude Code v2.1.195 oder später. In früheren Versionen wird ein bloßes hypheniertes Präfix wie `mcp__brave-search` als unverankerte Regex evaluiert und passt zu jedem Tool von diesem Server. Die Form `mcp__brave-search__.*` funktioniert auf jeder Version.385Bindestriche in der exakten Übereinstimmungsmenge erfordern Claude Code v2.1.195 oder später. In früheren Versionen wird ein bloßes Präfix mit Bindestrich wie `mcp__brave-search` als nicht verankerter regulärer Ausdruck ausgewertet und passt auf jedes Tool von diesem Server. Die Form `mcp__brave-search__.*` funktioniert auf jeder Version.

386 386 

387Tools von einem [Plugin-gebündelten MCP-Server](/docs/de/mcp#plugin-provided-mcp-servers) verwenden ein Scope-Server-Segment, das den Plugin-Namen enthält: `mcp__plugin_<plugin-name>_<server-name>__<tool>`. Ein Matcher, der gegen den bloßen Server-Schlüssel geschrieben ist, wird niemals für diese Tools ausgelöst. Für ein Plugin namens `my-plugin`, das einen Server unter dem Schlüssel `db` bündelt, erscheint ein `query`-Tool als `mcp__plugin_my-plugin_db__query`, daher ist der Matcher für jedes Tool von diesem Server `mcp__plugin_my-plugin_db__.*`. Verwenden Sie denselben Scope-Tool-Namen im Feld [`if`](#common-fields) eines Handlers. Siehe [Plugin-bereitgestellte MCP-Server](/docs/de/mcp#plugin-provided-mcp-servers), um zu erfahren, wie der Scope-Name erstellt wird.387Tools von einem [Plugin-gebündelten MCP-Server](/docs/de/mcp#plugin-provided-mcp-servers) verwenden ein bereichsbezogenes Server-Segment, das den Plugin-Namen enthält: `mcp__plugin_<plugin-name>_<server-name>__<tool>`. Ein Matcher, der gegen den bloßen Server-Schlüssel geschrieben wird, wird nie für diese Tools ausgelöst. Für ein Plugin namens `my-plugin`, das einen Server unter dem Schlüssel `db` bündelt, erscheint ein `query`-Tool als `mcp__plugin_my-plugin_db__query`, sodass der Matcher für jedes Tool von diesem Server `mcp__plugin_my-plugin_db__.*` ist. Verwenden Sie denselben bereichsbezogenen Tool-Namen im Feld [`if`](#common-fields) eines Handlers. Siehe [Plugin-bereitgestellte MCP-Server](/docs/de/mcp#plugin-provided-mcp-servers) für die Erstellung des bereichsbezogenen Namens.

388 388 

389Dieses Beispiel protokolliert alle Memory-Server-Operationen und validiert Schreibvorgänge von jedem MCP-Server:389Dieses Beispiel protokolliert alle Memory-Server-Operationen und validiert Schreibvorgänge von jedem MCP-Server:

390 390 


421 421 

422Jedes Objekt im inneren `hooks`-Array ist ein Hook-Handler: der Shell-Befehl, HTTP-Endpunkt, MCP-Tool, LLM-Prompt oder Agent, der ausgeführt wird, wenn der Matcher passt. Es gibt fünf Typen:422Jedes Objekt im inneren `hooks`-Array ist ein Hook-Handler: der Shell-Befehl, HTTP-Endpunkt, MCP-Tool, LLM-Prompt oder Agent, der ausgeführt wird, wenn der Matcher passt. Es gibt fünf Typen:

423 423 

424* **[Command-Hooks](#command-hook-fields)** (`type: "command"`): führen einen Shell-Befehl aus. Ihr Skript erhält die [JSON-Eingabe](#hook-input-and-output) des Ereignisses über stdin und kommuniziert Ergebnisse über Exit-Codes und stdout zurück.424* **[Command-Hooks](#command-hook-fields)** (`type: "command"`): Führen einen Shell-Befehl aus. Ihr Skript empfängt die [JSON-Eingabe](#hook-input-and-output) des Ereignisses auf stdin und kommuniziert Ergebnisse über Exit-Codes und stdout zurück.

425* **[HTTP-Hooks](#http-hook-fields)** (`type: "http"`): senden die [JSON-Eingabe](#hook-input-and-output) des Ereignisses als HTTP-POST-Request an eine URL. Der Endpunkt kommuniziert Ergebnisse über den Response-Body mit dem gleichen [JSON-Ausgabeformat](#json-output) wie Command-Hooks zurück.425* **[HTTP-Hooks](#http-hook-fields)** (`type: "http"`): Senden Sie die [JSON-Eingabe](#hook-input-and-output) des Ereignisses als HTTP-POST-Anfrage an eine URL. Der Endpunkt kommuniziert Ergebnisse über den Antwortkörper mit dem gleichen [JSON-Ausgabeformat](#json-output) wie Command-Hooks zurück.

426* **[MCP-Tool-Hooks](#mcp-tool-hook-fields)** (`type: "mcp_tool"`): rufen ein Tool auf einem bereits verbundenen [MCP-Server](/docs/de/mcp) auf. Die Textausgabe des Tools wird wie Command-Hook-stdout behandelt.426* **[MCP-Tool-Hooks](#mcp-tool-hook-fields)** (`type: "mcp_tool"`): Rufen Sie ein Tool auf einem bereits verbundenen [MCP-Server](/docs/de/mcp) auf. Die Textausgabe des Tools wird wie Command-Hook-stdout behandelt.

427* **[Prompt-Hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): senden einen Prompt an ein Claude-Modell für eine Single-Turn-Evaluierung. Das Modell gibt seine Entscheidung als JSON zurück. Siehe [Prompt-basierte Hooks](#prompt-based-hooks).427* **[Prompt-Hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): Senden Sie einen Prompt an ein Claude-Modell zur Einzelturn-Bewertung. Das Modell gibt seine Entscheidung als JSON zurück. Siehe [Prompt-basierte Hooks](#prompt-based-hooks).

428* **[Agent-Hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): spawnen einen Subagenten, der Tools wie Read, Grep und Glob verwenden kann, um Bedingungen zu überprüfen, bevor eine Entscheidung zurückgegeben wird. Agent-Hooks sind experimentell und können sich ändern. Siehe [Agent-basierte Hooks](#agent-based-hooks).428* **[Agent-Hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): Spawnen Sie einen Subagent, der Tools wie Read, Grep und Glob verwenden kann, um Bedingungen zu überprüfen, bevor er eine Entscheidung zurückgibt. Agent-Hooks sind experimentell und können sich ändern. Siehe [Agent-basierte Hooks](#agent-based-hooks).

429 429 

430Alle passenden Hooks werden parallel ausgeführt. Wenn Sie denselben Handler in mehr als einer Einstellungsdatei definieren, wird er einmal ausgeführt. Eine Kopie desselben Handlers von einem Plugin oder Skill bleibt separat.430Alle passenden Hooks werden parallel ausgeführt. Wenn Sie denselben Handler in mehr als einer Einstellungsdatei definieren, wird er einmal ausgeführt. Eine Kopie desselben Handlers eines Plugins oder Skills bleibt separat.

431 431 

432Handler werden im aktuellen Verzeichnis mit der Umgebung von Claude Code ausgeführt. Wenn das aktuelle Verzeichnis nicht mehr existiert, zum Beispiel ein Worktree oder temporäres Verzeichnis, das eine andere Shell während der Sitzung gelöscht hat, führt Claude Code Command-Hooks aus dem ersten dieser Verzeichnisse aus, das noch existiert: das Verzeichnis, in dem die Sitzung gestartet wurde, das Projekt-Root, Ihr Home-Verzeichnis oder das System-Temp-Verzeichnis. Claude Code zeichnet eine Warnung auf, die das Fallback-Verzeichnis im [Debug-Log](#debug-hooks) benennt.432Handler werden im aktuellen Verzeichnis mit der Umgebung von Claude Code ausgeführt. Wenn das aktuelle Verzeichnis nicht mehr existiert, z. B. ein Worktree oder temporäres Verzeichnis, das eine andere Shell während der Sitzung gelöscht hat, führt Claude Code Command-Hooks aus dem ersten dieser Verzeichnisse aus, das noch existiert: das Verzeichnis, in dem die Sitzung gestartet wurde, das Projekt-Root, Ihr Home-Verzeichnis oder das System-Temp-Verzeichnis. Claude Code zeichnet eine Warnung auf, die das Fallback-Verzeichnis im [Debug-Log](#debug-hooks) benennt.

433 433 

434Die Umgebungsvariable `$CLAUDE_CODE_REMOTE` ist `"true"` in Remote-Web-Umgebungen und nicht in der lokalen CLI gesetzt. Claude Code v2.1.199 und später setzt [`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/de/env-vars) auf die [Remote Control](/docs/de/remote-control) Sitzungs-ID, während die lokale Sitzung eine aktive Remote Control-Verbindung hat.434Die Umgebungsvariable `$CLAUDE_CODE_REMOTE` ist `"true"` in Remote-Web-Umgebungen und nicht gesetzt in der lokalen CLI. Claude Code v2.1.199 und später setzt [`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/de/env-vars) auf die [Remote Control](/docs/de/remote-control)-Sitzungs-ID, während die lokale Sitzung eine aktive Remote Control-Verbindung hat.

435 435 

436<h4 id="common-fields">436<h4 id="common-fields">

437 Gemeinsame Felder437 Gemeinsame Felder


442| Feld | Erforderlich | Beschreibung |442| Feld | Erforderlich | Beschreibung |

443| :-------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |443| :-------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

444| `type` | ja | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` oder `"agent"` |444| `type` | ja | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` oder `"agent"` |

445| `if` | nein | Berechtigungsregel-Syntax zum Filtern, wann dieser Hook ausgeführt wird, wie `"Bash(git *)"` oder `"Edit(*.ts)"`. Der Hook wird nur ausgeführt, wenn der Tool-Aufruf dem Muster entspricht. Siehe die [Bash-Matching-Tabelle](#bash-if-matching) unten, um zu sehen, wie Bash-Muster gegen Unterbefehle, `$()` und Backticks evaluiert werden. Wird nur auf Tool-Ereignisse evaluiert: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` und `PermissionDenied`. Bei anderen Ereignissen wird ein Hook mit `if` gesetzt nie ausgeführt. Verwendet die gleiche Syntax wie [Berechtigungsregeln](/docs/de/permissions) |445| `if` | nein | Berechtigungsregelsyntax zum Filtern, wann dieser Hook ausgeführt wird, z. B. `"Bash(git *)"` oder `"Edit(*.ts)"`. Der Hook-Befehl wird nur ausgeführt, wenn der Tool-Aufruf dem Muster entspricht. Siehe die [Bash-Matching-Tabelle](#bash-if-matching) unten, wie Bash-Muster gegen Subcommands, `$()` und Backticks ausgewertet werden. Nur auf Tool-Ereignissen ausgewertet: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` und `PermissionDenied`. Bei anderen Ereignissen wird ein Hook mit `if` gesetzt nie ausgeführt. Verwendet die gleiche Syntax wie [Berechtigungsregeln](/docs/de/permissions) |

446| `timeout` | nein | Sekunden vor dem Abbruch. Claude Code erzwingt es nicht auf einem Command-Hook, den Sie mit [`async: true`](#run-hooks-in-the-background) ausführen. Standardwerte: 600 für `command`, `http` und `mcp_tool`; 30 für `prompt`; 60 für `agent`. Claude Code senkt den Standardwert für `command`, `http` und `mcp_tool` auf 30 bei [`UserPromptSubmit`](#userpromptsubmit), [`PreModelSwitch`](#premodelswitch) und [`PostModelSwitch`](#postmodelswitch), und auf 10 bei [`MessageDisplay`](#messagedisplay). [`SessionEnd`](#sessionend) Hooks teilen sich ein Budget von 1,5 Sekunden; wenn Ihre Einstellungen einen längeren Pro-Hook-`timeout` setzen, erhöht Claude Code das Budget, um zu passen, bis zu 60 Sekunden |446| `timeout` | nein | Sekunden vor dem Abbruch. Claude Code erzwingt es nicht auf einem Command-Hook, den Sie mit [`async: true`](#run-hooks-in-the-background) ausführen. Standardwerte: 600 für `command`, `http` und `mcp_tool`; 30 für `prompt`; 60 für `agent`. Claude Code senkt den Standard für `command`, `http` und `mcp_tool` auf 30 bei [`UserPromptSubmit`](#userpromptsubmit), [`PreModelSwitch`](#premodelswitch) und [`PostModelSwitch`](#postmodelswitch) und auf 10 bei [`MessageDisplay`](#messagedisplay). [`SessionEnd`](#sessionend)-Hooks teilen sich ein Budget von 1,5 Sekunden; wenn Ihre Einstellungen einen längeren Pro-Hook-`timeout` setzen, erhöht Claude Code das Budget, um zu entsprechen, bis zu 60 Sekunden |

447| `statusMessage` | nein | Benutzerdefinierte Spinner-Nachricht, die angezeigt wird, während der Hook ausgeführt wird |447| `statusMessage` | nein | Benutzerdefinierte Spinner-Nachricht, die angezeigt wird, während der Hook ausgeführt wird |

448| `once` | nein | Wenn `true`, entfernt Claude Code den Hook nach seiner ersten erfolgreichen Ausführung. Eine Ausführung, die fehlschlägt, mit Exit-Code 2 blockiert oder Timeout hat, lässt den Hook an Ort und Stelle, daher wird er beim nächsten passenden Ereignis erneut ausgeführt. Wird nur für Hooks berücksichtigt, die in [Skill-Frontmatter](#hooks-in-skills-and-agents) deklariert sind; wird in Einstellungsdateien und Agent-Frontmatter ignoriert |448| `once` | nein | Wenn `true`, entfernt Claude Code den Hook nach seiner ersten erfolgreichen Ausführung. Eine Ausführung, die fehlschlägt, mit Exit-Code 2 blockiert oder das Timeout überschreitet, hinterlässt den Hook an Ort und Stelle, sodass er beim nächsten passenden Ereignis erneut ausgeführt wird. Wird nur für Hooks beachtet, die in [Skill-Frontmatter](#hooks-in-skills-and-agents) deklariert sind; wird in Einstellungsdateien und Agent-Frontmatter ignoriert |

449 449 

450Das Feld `if` enthält genau eine Berechtigungsregel. Es gibt keine `&&`-, `||`- oder List-Syntax zum Kombinieren von Regeln; um mehrere Bedingungen anzuwenden, definieren Sie einen separaten Hook-Handler für jeden.450Das Feld `if` enthält genau eine Berechtigungsregel. Es gibt keine `&&`-, `||`- oder Listsyntax zum Kombinieren von Regeln; um mehrere Bedingungen anzuwenden, definieren Sie einen separaten Hook-Handler für jede.

451 451 

452In einer `if`-Bedingung für ein Datei-Tool passt ein Single-Segment-Verzeichnismuster wie `"Edit(src/**)"` nur zum `src`-Verzeichnis im Arbeitsverzeichnis und den Dateien darunter. Um ein Verzeichnis namens `src` in beliebiger Tiefe zu treffen, schreiben Sie `"Edit(**/src/**)"`. Vor v2.1.214 passte `"Edit(src/**)"` zu einem Verzeichnis namens `src` in beliebiger Tiefe unter dem Arbeitsverzeichnis.452In einer `if`-Bedingung für ein Datei-Tool passt ein Verzeichnismuster mit einem Segment wie `"Edit(src/**)"` nur auf das `src`-Verzeichnis im Arbeitsverzeichnis und die Dateien darunter. Um ein Verzeichnis namens `src` in beliebiger Tiefe abzugleichen, schreiben Sie `"Edit(**/src/**)"`. Vor v2.1.214 passte `"Edit(src/**)"` auf ein Verzeichnis namens `src` in beliebiger Tiefe unter dem Arbeitsverzeichnis.

453 453 

454<span id="bash-if-matching" />Für Bash-Muster hängt davon ab, ob Ihr Hook-Befehl ausgeführt wird, von der Form des Musters und dem Bash-Befehl, den Claude aufruft. Führende `VAR=value`-Zuweisungen werden vor dem Abgleich entfernt.454<span id="bash-if-matching" />Für Bash-Muster hängt davon ab, ob Ihr Hook-Befehl ausgeführt wird, von der Form des Musters und dem Bash-Befehl ab, den Claude aufruft. Führende `VAR=value`-Zuweisungen werden vor dem Abgleich entfernt.

455 455 

456| `if`-Muster | Bash-Befehl | Hook wird ausgeführt? | Warum |456| `if`-Muster | Bash-Befehl | Hook wird ausgeführt? | Warum |

457| :----------------- | :-------------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |457| :----------------- | :-------------------------- | :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |

458| `Bash(git *)` | `FOO=bar git push` | ja | führende Zuweisungen werden entfernt; `git push` passt |458| `Bash(git *)` | `FOO=bar git push` | ja | führende Zuweisungen werden entfernt; `git push` passt |

459| `Bash(git *)` | `npm test && git push` | ja | jeder Unterbefehl wird überprüft; `git push` passt |459| `Bash(git *)` | `npm test && git push` | ja | jeder Subbefehl wird überprüft; `git push` passt |

460| `Bash(rm *)` | `echo $(rm -rf /)` | ja | Befehle in `$()` und Backticks werden überprüft; `rm -rf /` passt |460| `Bash(rm *)` | `echo $(rm -rf /)` | ja | Befehle in `$()` und Backticks werden überprüft; `rm -rf /` passt |

461| `Bash(rm *)` | `echo $(date)` | nein | kein Unterbefehl passt zu `rm *` |461| `Bash(rm *)` | `echo $(date)` | nein | kein Subbefehl passt auf `rm *` |

462| `Bash(cat *)` | `echo before $(date) after` | nein | eine Substitution kann an jeder Argumentposition sitzen, daher werden der vollständige Befehl und `date` beide überprüft; keiner passt zu `cat *` |462| `Bash(cat *)` | `echo before $(date) after` | nein | eine Substitution kann an jeder Argumentposition sitzen, sodass der vollständige Befehl und `date` beide überprüft werden; keiner passt auf `cat *` |

463| `Bash(git *)` | `$TOOL git push` | ja | Claude Code kann nicht sagen, zu was sich der Befehlsname erweitert, daher wird der Hook ausgeführt |463| `Bash(git *)` | `$TOOL git push` | ja | Claude Code kann nicht sagen, worauf sich der Befehlsname erweitert, sodass es den Hook ausführt |

464| `Bash(git push *)` | `echo $(date)` | ja | Muster, die mehr als den Befehlsnamen angeben, führen den Hook trotzdem bei `$()`, Backticks oder `$VAR` aus |464| `Bash(git push *)` | `echo $(date)` | ja | Muster, die mehr als den Befehlsnamen angeben, führen den Hook trotzdem bei `$()`, Backticks oder `$VAR` aus |

465 465 

466Wenn Claude Code nicht bestimmen kann, welche Befehle die Bash-Eingabe ausführt, wird Ihr Hook unabhängig vom Muster ausgeführt. Da der `if`-Filter Best-Effort ist, verwenden Sie das [Berechtigungssystem](/docs/de/permissions) statt eines Hooks, um ein hartes Zulassen oder Verweigern durchzusetzen.466Wenn Claude Code nicht bestimmen kann, welche Befehle die Bash-Eingabe ausführt, führt es Ihren Hook unabhängig vom Muster aus. Da der `if`-Filter Best-Effort ist, verwenden Sie das [Berechtigungssystem](/docs/de/permissions) statt eines Hooks, um ein hartes Zulassen oder Verweigern durchzusetzen.

467 467 

468<h4 id="command-hook-fields">468<h4 id="command-hook-fields">

469 Command-Hook-Felder469 Command-Hook-Felder


472Zusätzlich zu den [gemeinsamen Feldern](#common-fields) akzeptieren Command-Hooks diese Felder:472Zusätzlich zu den [gemeinsamen Feldern](#common-fields) akzeptieren Command-Hooks diese Felder:

473 473 

474| Feld | Erforderlich | Beschreibung |474| Feld | Erforderlich | Beschreibung |

475| :------------ | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |475| :------------ | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

476| `command` | ja | Shell-Befehl zum Ausführen. Mit `args` die ausführbare Datei zum direkten Spawnen. Siehe [Exec-Form und Shell-Form](#exec-form-and-shell-form) |476| `command` | ja | Shell-Befehl zum Ausführen. Mit `args` die Ausführungsdatei zum direkten Spawnen. Siehe [Exec-Form und Shell-Form](#exec-form-and-shell-form) |

477| `args` | nein | Argumentliste. Wenn vorhanden, wird `command` als ausführbare Datei aufgelöst und direkt mit `args` als Argumentvektor gespawnt, ohne Shell. Siehe [Exec-Form und Shell-Form](#exec-form-and-shell-form) |477| `args` | nein | Argumentliste. Wenn vorhanden, wird `command` als Ausführungsdatei aufgelöst und direkt mit `args` als Argumentvektor gespawnt, ohne Shell. Siehe [Exec-Form und Shell-Form](#exec-form-and-shell-form) |

478| `async` | nein | Wenn `true`, wird im Hintergrund ausgeführt, ohne zu blockieren. Siehe [Hooks im Hintergrund ausführen](#run-hooks-in-the-background) |478| `async` | nein | Wenn `true`, wird im Hintergrund ohne Blockierung ausgeführt. Siehe [Hooks im Hintergrund ausführen](#run-hooks-in-the-background) |

479| `asyncRewake` | nein | Wenn `true`, wird im Hintergrund ausgeführt und weckt Claude bei Exit-Code 2 auf. Der stderr des Hooks oder stdout, wenn stderr leer ist, wird Claude als Systemerinnerung angezeigt, damit es auf einen lang laufenden Hintergrund-Fehler reagieren kann |479| `asyncRewake` | nein | Wenn `true`, wird im Hintergrund ausgeführt und weckt Claude bei Exit-Code 2 auf. Die stderr des Hooks oder stdout, wenn stderr leer ist, wird Claude als Systemerinnerung angezeigt, damit es auf einen langfristigen Hintergrund-Fehler reagieren kann |

480| `shell` | nein | Shell zum Verwenden für diesen Hook. Akzeptiert `"bash"` oder `"powershell"`. Standardwert ist `"bash"` oder `"powershell"` unter Windows, wenn Git Bash nicht installiert ist. Das Setzen von `"powershell"` führt den Befehl über PowerShell unter Windows aus. Erfordert nicht `CLAUDE_CODE_USE_POWERSHELL_TOOL`, da Hooks PowerShell direkt spawnen. Wird ignoriert, wenn `args` gesetzt ist |480| `shell` | nein | Shell, die für diesen Hook verwendet werden soll. Akzeptiert `"bash"` oder `"powershell"`. Standardmäßig `"bash"` oder `"powershell"` unter Windows, wenn Git Bash nicht installiert ist. Das Setzen von `"powershell"` führt den Befehl über PowerShell unter Windows aus. Erfordert nicht `CLAUDE_CODE_USE_POWERSHELL_TOOL`, da Hooks PowerShell direkt spawnen. Wird ignoriert, wenn `args` gesetzt ist |

481 481 

482<a id="exec-form-and-shell-form" />482<a id="exec-form-and-shell-form" />

483 483 


485 Exec-Form und Shell-Form485 Exec-Form und Shell-Form

486</h5>486</h5>

487 487 

488Ein Command-Hook wird als Exec-Form ausgeführt, wenn `args` gesetzt ist, und als Shell-Form, wenn `args` weggelassen ist. Setzen Sie `args`, wenn der Hook auf einen [Pfad-Platzhalter](#reference-scripts-by-path) verweist, da jedes Element als ein Argument ohne Anführungszeichen übergeben wird. Lassen Sie `args` weg, wenn Sie Shell-Funktionen wie Pipes oder `&&` benötigen, oder wenn keine dieser Bedenken zutrifft.488Ein Command-Hook wird als Exec-Form ausgeführt, wenn `args` gesetzt ist, und als Shell-Form, wenn `args` weggelassen ist. Setzen Sie `args`, wenn der Hook auf einen [Pfad-Platzhalter](#reference-scripts-by-path) verweist, da jedes Element als ein Argument ohne Anführungszeichen übergeben wird. Lassen Sie `args` weg, wenn Sie Shell-Funktionen wie Pipes oder `&&` benötigen, oder wenn keine der beiden Bedenken zutrifft.

489 489 

490**Exec-Form** wird ausgeführt, wenn `args` vorhanden ist. Claude Code löst `command` als ausführbare Datei auf `PATH` auf und spawnt sie direkt mit `args` als Argumentvektor. Es gibt keine Shell, daher ist jedes `args`-Element genau ein Argument, wie geschrieben, und Pfad-Platzhalter wie `${CLAUDE_PLUGIN_ROOT}` werden als einfache Zeichenketten in `command` und in jedes `args`-Element ersetzt. Sonderzeichen wie Apostrophe, `$` und Backticks werden wörtlich durchgeleitet, da es keine Shell gibt, die sie interpretiert. Auf keiner Plattform findet Shell-Tokenisierung statt.490**Exec-Form** wird ausgeführt, wenn `args` vorhanden ist. Claude Code löst `command` als Ausführungsdatei auf `PATH` auf und spawnt es direkt mit `args` als Argumentvektor. Es gibt keine Shell, sodass jedes `args`-Element genau ein Argument ist, wie geschrieben, und Pfad-Platzhalter wie `${CLAUDE_PLUGIN_ROOT}` werden in `command` und in jedes `args`-Element als einfache Zeichenketten ersetzt. Sonderzeichen wie Apostrophe, `$` und Backticks werden wörtlich durchgeleitet, da es keine Shell gibt, um sie zu interpretieren. Auf keiner Plattform findet Shell-Tokenisierung statt.

491 491 

492**Shell-Form** wird ausgeführt, wenn `args` fehlt. Die `command`-Zeichenkette wird an eine Shell übergeben: `sh -c` auf macOS und Linux, Git Bash unter Windows oder PowerShell, wenn Git Bash nicht installiert ist. Setzen Sie das Feld `shell`, um explizit zu wählen. Die Shell tokenisiert die Zeichenkette, erweitert Variablen und interpretiert Pipes, `&&`, Umleitungen und Globs.492**Shell-Form** wird ausgeführt, wenn `args` fehlt. Die `command`-Zeichenkette wird an eine Shell übergeben: `sh -c` auf macOS und Linux, Git Bash unter Windows oder PowerShell, wenn Git Bash nicht installiert ist. Setzen Sie das Feld `shell`, um explizit zu wählen. Die Shell tokenisiert die Zeichenkette, erweitert Variablen und interpretiert Pipes, `&&`, Umleitungen und Globs.

493 493 

494<Note>494<Note>

495 Unter Windows erfordert die Exec-Form, dass `command` zu einer echten ausführbaren Datei wie `.exe` aufgelöst wird. Die `.cmd` und `.bat` Shims, die npm, npx, eslint und andere Tools in `node_modules/.bin` installieren, sind keine ausführbaren Dateien und können ohne Shell nicht gespawnt werden. Um sie in Exec-Form auszuführen, rufen Sie das zugrunde liegende Skript direkt mit `node` auf, zum Beispiel `"command": "node", "args": ["${CLAUDE_PLUGIN_ROOT}/node_modules/eslint/bin/eslint.js"]`. Das `node` plus Skript-Pfad-Muster funktioniert auf jeder Plattform, da `node.exe` eine echte Binärdatei ist. Um einen `.cmd` oder `.bat` Shim nach Name auszuführen, verwenden Sie Shell-Form.495 Unter Windows erfordert die Exec-Form, dass `command` sich zu einer echten Ausführungsdatei wie `.exe` auflöst. Die `.cmd`- und `.bat`-Shims, die npm, npx, eslint und andere Tools in `node_modules/.bin` installieren, sind keine Ausführungsdateien und können ohne Shell nicht gespawnt werden. Um sie in Exec-Form auszuführen, rufen Sie das zugrunde liegende Skript direkt mit `node` auf, z. B. `"command": "node", "args": ["${CLAUDE_PLUGIN_ROOT}/node_modules/eslint/bin/eslint.js"]`. Das Muster `node` plus Skriptpfad funktioniert auf jeder Plattform, da `node.exe` eine echte Binärdatei ist. Um einen `.cmd`- oder `.bat`-Shim nach Name auszuführen, verwenden Sie Shell-Form.

496</Note>496</Note>

497 497 

498Dieses Beispiel führt ein Node-Skript aus, das mit einem Plugin gebündelt ist. Exec-Form übergibt den aufgelösten Skript-Pfad als ein Argument ohne Anführungszeichen:498Dieses Beispiel führt ein Node-Skript aus, das mit einem Plugin gebündelt ist. Exec-Form übergibt den aufgelösten Skriptpfad als ein Argument ohne Anführungszeichen:

499 499 

500```json theme={null}500```json theme={null}

501{501{


514}514}

515```515```

516 516 

517Beide Formen unterstützen die gleichen [Pfad-Platzhalter](#reference-scripts-by-path), und beide exportieren sie als Umgebungsvariablen `CLAUDE_PROJECT_DIR`, `CLAUDE_PLUGIN_ROOT` und `CLAUDE_PLUGIN_DATA` auf dem gespawnten Prozess, daher kann ein Skript `process.env.CLAUDE_PLUGIN_ROOT` lesen, unabhängig davon, wie es gestartet wurde.517Beide Formen unterstützen die gleichen [Pfad-Platzhalter](#reference-scripts-by-path) und exportieren sie beide als Umgebungsvariablen `CLAUDE_PROJECT_DIR`, `CLAUDE_PLUGIN_ROOT` und `CLAUDE_PLUGIN_DATA` auf dem gespawnten Prozess, sodass ein Skript `process.env.CLAUDE_PLUGIN_ROOT` unabhängig davon lesen kann, wie es gestartet wurde.

518 518 

519Plugin-Hooks ersetzen zusätzlich [`${user_config.*}`](/docs/de/plugins-reference#user-configuration) Werte, nur in Exec-Form: Der Wert wird als einfache Zeichenkette in `command` und in jedes `args`-Element ersetzt, daher wird er nicht erneut von der Shell geparst.519Plugin-Hooks ersetzen zusätzlich [`${user_config.*}`](/docs/de/plugins-reference#user-configuration)-Werte, nur in Exec-Form: Der Wert wird in `command` und in jedes `args`-Element als einfache Zeichenkette ersetzt, sodass die Shell ihn nicht erneut analysiert.

520 520 

521Ein Shell-Form-Plugin-Hook, dessen `command` auf `${user_config.*}` verweist, schlägt mit einem [Fehler](/docs/de/errors#plugin-command-references-user-config) fehl, anstatt ausgeführt zu werden. Um einen Optionswert aus einem Shell-Form-Hook zu verwenden, lesen Sie die Umgebungsvariable `$CLAUDE_PLUGIN_OPTION_<KEY>`, wie `$CLAUDE_PLUGIN_OPTION_WEBHOOK_URL` für eine `webhook_url`-Option, oder setzen Sie `args`, um den Hook auf Exec-Form umzuschalten. Vor v2.1.207 ersetzten Shell-Form-Plugin-Hook-Befehle auch `${user_config.*}`.521Ein Shell-Form-Plugin-Hook, dessen `command` auf `${user_config.*}` verweist, schlägt mit einem [Fehler](/docs/de/errors#plugin-command-references-user-config) fehl, anstatt ausgeführt zu werden. Um einen Optionswert aus einem Shell-Form-Hook zu verwenden, lesen Sie die Umgebungsvariable `$CLAUDE_PLUGIN_OPTION_<KEY>`, z. B. `$CLAUDE_PLUGIN_OPTION_WEBHOOK_URL` für eine `webhook_url`-Option, oder setzen Sie `args`, um den Hook auf Exec-Form umzuschalten. Vor v2.1.207 ersetzten Shell-Form-Plugin-Hook-Befehle auch `${user_config.*}`.

522 522 

523<Note>523<Note>

524 In Exec-Form ist `command` nur der ausführbare Name oder Pfad. Wenn `command` ein bloßer Name ohne Pfad-Trennzeichen ist und Leerzeichen neben `args` enthält, protokolliert Claude Code eine Warnung, da das Spawn fehlschlagen wird: Es gibt keine ausführbare Datei namens `node script.js`. Verschieben Sie die zusätzlichen Token in `args`. Absolute Pfade mit Leerzeichen, wie `C:\Program Files\nodejs\node.exe`, sind eine einzelne gültige ausführbare Datei und lösen die Warnung nicht aus.524 In Exec-Form ist `command` nur der Ausführungsdateiname oder -pfad. Wenn `command` ein bloßer Name ohne Pfad-Trennzeichen ist und Leerzeichen neben `args` enthält, protokolliert Claude Code eine Warnung, da das Spawn fehlschlägt: Es gibt keine Ausführungsdatei namens `node script.js`. Verschieben Sie die zusätzlichen Token in `args`. Absolute Pfade mit Leerzeichen, z. B. `C:\Program Files\nodejs\node.exe`, sind eine einzelne gültige Ausführungsdatei und lösen die Warnung nicht aus.

525</Note>525</Note>

526 526 

527<h4 id="http-hook-fields">527<h4 id="http-hook-fields">


532 532 

533| Feld | Erforderlich | Beschreibung |533| Feld | Erforderlich | Beschreibung |

534| :--------------- | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |534| :--------------- | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

535| `url` | ja | URL, an die der POST-Request gesendet werden soll |535| `url` | ja | URL zum Senden der POST-Anfrage an |

536| `headers` | nein | Zusätzliche HTTP-Header als Schlüssel-Wert-Paare. Werte unterstützen Umgebungsvariablen-Interpolation mit `$VAR_NAME` oder `${VAR_NAME}` Syntax. Nur Variablen, die in `allowedEnvVars` aufgelistet sind, werden aufgelöst |536| `headers` | nein | Zusätzliche HTTP-Header als Schlüssel-Wert-Paare. Werte unterstützen Umgebungsvariablen-Interpolation mit `$VAR_NAME` oder `${VAR_NAME}`-Syntax. Nur Variablen in `allowedEnvVars` werden aufgelöst |

537| `allowedEnvVars` | nein | Liste von Umgebungsvariablennamen, die in Header-Werte interpoliert werden dürfen. Verweise auf nicht aufgelistete Variablen werden durch leere Zeichenketten ersetzt. Erforderlich für jede Umgebungsvariablen-Interpolation |537| `allowedEnvVars` | nein | Liste von Umgebungsvariablennamen, die in Header-Werte interpoliert werden dürfen. Verweise auf nicht aufgelistete Variablen werden durch leere Zeichenketten ersetzt. Erforderlich für jede Umgebungsvariablen-Interpolation |

538 538 

539Claude Code sendet die [JSON-Eingabe](#hook-input-and-output) des Hooks als POST-Request-Body mit `Content-Type: application/json`. Der Response-Body verwendet das gleiche [JSON-Ausgabeformat](#json-output) wie Command-Hooks.539Claude Code sendet die [JSON-Eingabe](#hook-input-and-output) des Hooks als POST-Anfragekörper mit `Content-Type: application/json`. Der Antwortkörper verwendet das gleiche [JSON-Ausgabeformat](#json-output) wie Command-Hooks.

540 540 

541Die Fehlerbehandlung unterscheidet sich von Command-Hooks; siehe [HTTP-Response-Behandlung](#http-response-handling).541Die Fehlerbehandlung unterscheidet sich von Command-Hooks; siehe [HTTP-Antwortbehandlung](#http-response-handling).

542 542 

543Dieses Beispiel sendet `PreToolUse`-Ereignisse an einen lokalen Validierungsdienst und authentifiziert sich mit einem Token aus der `MY_TOKEN`-Umgebungsvariable:543Dieses Beispiel sendet `PreToolUse`-Ereignisse an einen lokalen Validierungsdienst und authentifiziert sich mit einem Token aus der Umgebungsvariable `MY_TOKEN`:

544 544 

545```json theme={null}545```json theme={null}

546{546{


572Zusätzlich zu den [gemeinsamen Feldern](#common-fields) akzeptieren MCP-Tool-Hooks diese Felder:572Zusätzlich zu den [gemeinsamen Feldern](#common-fields) akzeptieren MCP-Tool-Hooks diese Felder:

573 573 

574| Feld | Erforderlich | Beschreibung |574| Feld | Erforderlich | Beschreibung |

575| :------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |575| :------- | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

576| `server` | ja | Name eines konfigurierten MCP-Servers. Für einen [Plugin-gebündelten Server](/docs/de/mcp#plugin-provided-mcp-servers) ist dies der Scope-Name `plugin:<plugin-name>:<server-name>`, wie `plugin:my-plugin:db`, nicht der bloße Server-Schlüssel. Der Server muss bereits verbunden sein; der Hook löst niemals einen OAuth- oder Verbindungsfluss aus |576| `server` | ja | Name eines konfigurierten MCP-Servers. Für einen [Plugin-gebündelten Server](/docs/de/mcp#plugin-provided-mcp-servers) ist dies der bereichsbezogene Name `plugin:<plugin-name>:<server-name>`, z. B. `plugin:my-plugin:db`, nicht der bloße Server-Schlüssel. Der Server muss bereits verbunden sein; der Hook löst nie einen OAuth- oder Verbindungsfluss aus |

577| `tool` | ja | Name des Tools, das auf diesem Server aufgerufen werden soll |577| `tool` | ja | Name des Tools, das auf diesem Server aufgerufen werden soll |

578| `input` | nein | Argumente, die an das Tool übergeben werden. String-Werte unterstützen `${path}`-Substitution aus der [JSON-Eingabe](#hook-input-and-output) des Hooks, wie `"${tool_input.file_path}"` |578| `input` | nein | Argumente, die an das Tool übergeben werden. Zeichenkettenwerte unterstützen `${path}`-Ersetzung aus der [JSON-Eingabe](#hook-input-and-output) des Hooks, z. B. `"${tool_input.file_path}"` |

579 579 

580Claude Code liest die Textausgabe des Tools auf die gleiche Weise wie Command-Hook-stdout, nach der [Parsing-Regel unter Exit-Code 0](#exit-code-0). Wenn der benannte Server nicht verbunden ist oder das Tool `isError: true` zurückgibt, erzeugt der Hook einen nicht-blockierenden Fehler und die Ausführung wird fortgesetzt.580Claude Code liest den Textinhalt des Tools auf die gleiche Weise wie Command-Hook-stdout und folgt der [Parsing-Regel unter Exit-Code 0](#exit-code-0). Wenn der benannte Server nicht verbunden ist oder das Tool `isError: true` zurückgibt, erzeugt der Hook einen nicht blockierenden Fehler und die Ausführung wird fortgesetzt.

581 581 

582Dieses Beispiel ruft das Tool `security_scan` auf dem MCP-Server `my_server` nach jedem `Write` oder `Edit` auf und übergibt den Pfad der bearbeiteten Datei:582Dieses Beispiel ruft das Tool `security_scan` auf dem MCP-Server `my_server` nach jedem `Write` oder `Edit` auf und übergibt den Pfad der bearbeiteten Datei:

583 583 


601}601}

602```602```

603 603 

604Ein `mcp_tool`-Hook kann nur ausgeführt werden, sobald Claude Code die MCP-Server der Sitzung für Hooks verfügbar gemacht hat. `SessionStart` und `Setup` können vor diesem Punkt ausgelöst werden:604Ein `mcp_tool`-Hook kann nur ausgeführt werden, nachdem Claude Code die MCP-Server der Sitzung für Hooks verfügbar gemacht hat. `SessionStart` und `Setup` können vor diesem Punkt ausgelöst werden:

605 605 

606* **Beim Start**: `SessionStart` wird ausgelöst, bevor die Server verfügbar sind, auch wenn Sie mit `--continue` oder `--resume` starten. Claude Code überspringt die `mcp_tool`-Hooks des Ereignisses, ohne ihre Tools aufzurufen, und das [Debug-Log](#debug-hooks) zeichnet `mcp_tool hooks are not available for the 'SessionStart' hook event (no MCP client context)` auf.606* **Beim Start**: `SessionStart` wird ausgelöst, bevor die Server verfügbar sind, auch wenn Sie mit `--continue` oder `--resume` starten. Claude Code überspringt die `mcp_tool`-Hooks des Ereignisses, ohne ihre Tools aufzurufen, und das [Debug-Log](#debug-hooks) zeichnet `mcp_tool hooks are not available for the 'SessionStart' hook event (no MCP client context)` auf.

607* **Später in einer laufenden Sitzung**: nach `/clear` oder einer Komprimierung wird `SessionStart` erneut ausgelöst, wobei die Server bereits verfügbar sind, und seine `mcp_tool`-Hooks werden ausgeführt.607* **Später in einer laufenden Sitzung**: Nach `/clear` oder einer Komprimierung wird `SessionStart` erneut ausgelöst, wobei die Server bereits verfügbar sind, und seine `mcp_tool`-Hooks werden ausgeführt.

608* **Bei `Setup`**: `Setup` wird immer ausgelöst, bevor die Server verfügbar sind, daher überspringt Claude Code seine `mcp_tool`-Hooks jedes Mal und zeichnet die gleiche Nachricht auf, die `Setup` benennt.608* **Bei `Setup`**: `Setup` wird immer ausgelöst, bevor die Server verfügbar sind, sodass Claude Code seine `mcp_tool`-Hooks jedes Mal überspringt und die gleiche Nachricht aufzeichnet, die `Setup` benennt.

609 609 

610Zum Beispiel ruft diese Konfiguration das Tool `load_context` auf dem MCP-Server `my_server` aus einem `SessionStart`-Hook ohne Matcher auf, daher gilt es für jede `SessionStart`-Quelle:610Zum Beispiel ruft diese Konfiguration das Tool `load_context` auf dem MCP-Server `my_server` aus einem `SessionStart`-Hook ohne Matcher auf, sodass es auf jede `SessionStart`-Quelle angewendet wird:

611 611 

612```json theme={null}612```json theme={null}

613{613{


627}627}

628```628```

629 629 

630Wenn Sie `claude` ausführen, überspringt Claude Code diesen Hook, ruft `load_context` nie auf und schreibt die Nachricht `no MCP client context` in das Debug-Log. Führen Sie `/clear` in dieser gleichen Sitzung aus und der Hook wird ausgeführt und ruft `load_context` auf. Ein `type: "command"`-Hook auf `SessionStart` wird beim Start ausgeführt, daher verwenden Sie einen für alles, das die Sitzung von ihrer ersten Runde benötigt.630Wenn Sie `claude` ausführen, überspringt Claude Code diesen Hook, ruft `load_context` nie auf und schreibt die Nachricht `no MCP client context` in das Debug-Log. Führen Sie `/clear` in dieser gleichen Sitzung aus und der Hook wird ausgeführt und ruft `load_context` auf. Ein `type: "command"`-Hook auf `SessionStart` wird beim Start ausgeführt, verwenden Sie also einen für alles, das die Sitzung von ihrem ersten Turn benötigt.

631 631 

632<h4 id="prompt-and-agent-hook-fields">632<h4 id="prompt-and-agent-hook-fields">

633 Prompt- und Agent-Hook-Felder633 Prompt- und Agent-Hook-Felder


636Zusätzlich zu den [gemeinsamen Feldern](#common-fields) akzeptieren Prompt- und Agent-Hooks diese Felder:636Zusätzlich zu den [gemeinsamen Feldern](#common-fields) akzeptieren Prompt- und Agent-Hooks diese Felder:

637 637 

638| Feld | Erforderlich | Beschreibung |638| Feld | Erforderlich | Beschreibung |

639| :------- | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |639| :------- | :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

640| `prompt` | ja | Prompt-Text zum Senden an das Modell. Verwenden Sie `$ARGUMENTS` als Platzhalter für die Hook-Eingabe JSON. Escapen Sie mit einem Backslash, um Literaltext einzuschließen: `\$1.00` wird als `$1.00` dargestellt |640| `prompt` | ja | Prompt-Text zum Senden an das Modell. Verwenden Sie `$ARGUMENTS` als Platzhalter für die Hook-Eingabe-JSON. Mit einem Backslash escapen, um wörtlichen Text einzuschließen: `\$1.00` wird als `$1.00` gerendert |

641| `model` | nein | Modell zur Verwendung für die Evaluierung. Standardwert ist ein schnelles Modell |641| `model` | nein | Modell, das für die Bewertung verwendet werden soll. Standardmäßig ein schnelles Modell |

642 642 

643<h3 id="reference-scripts-by-path">643<h3 id="reference-scripts-by-path">

644 Skripte nach Pfad referenzieren644 Skripte nach Pfad referenzieren


647Verwenden Sie diese Platzhalter, um Hook-Skripte relativ zum Projekt- oder Plugin-Root zu referenzieren, unabhängig vom Arbeitsverzeichnis, wenn der Hook ausgeführt wird:647Verwenden Sie diese Platzhalter, um Hook-Skripte relativ zum Projekt- oder Plugin-Root zu referenzieren, unabhängig vom Arbeitsverzeichnis, wenn der Hook ausgeführt wird:

648 648 

649* `${CLAUDE_PROJECT_DIR}`: das Projekt-Root, wo die Sitzung gestartet wurde. Claude Code setzt diese Variable auch in der Umgebung von [stdio MCP-Servern](/docs/de/mcp#option-3-add-a-local-stdio-server) und Plugin-LSP-Servern.649* `${CLAUDE_PROJECT_DIR}`: das Projekt-Root, wo die Sitzung gestartet wurde. Claude Code setzt diese Variable auch in der Umgebung von [stdio MCP-Servern](/docs/de/mcp#option-3-add-a-local-stdio-server) und Plugin-LSP-Servern.

650* `${CLAUDE_PLUGIN_ROOT}`: das Installationsverzeichnis des Plugins, für Skripte, die mit einem [Plugin](/docs/de/plugins) gebündelt sind. Siehe [Plugin-Umgebungsvariablen](/docs/de/plugins-reference#environment-variables), um zu erfahren, wie sich der Pfad über Updates verhält.650* `${CLAUDE_PLUGIN_ROOT}`: das Plugin-Installationsverzeichnis für Skripte, die mit einem [Plugin](/docs/de/plugins) gebündelt sind. Siehe [Plugin-Umgebungsvariablen](/docs/de/plugins-reference#environment-variables) für das Verhalten des Pfads über Updates hinweg.

651* `${CLAUDE_PLUGIN_DATA}`: das [persistente Datenverzeichnis](/docs/de/plugins-reference#persistent-data-directory) des Plugins, für Abhängigkeiten und Zustand, die Plugin-Updates überstehen sollten.651* `${CLAUDE_PLUGIN_DATA}`: das [persistente Datenverzeichnis](/docs/de/plugins-reference#persistent-data-directory) des Plugins für Abhängigkeiten und Status, die Plugin-Updates überstehen sollten.

652 652 

653<Note>653<Note>

654 **Worktrees sind anders.** Wenn Claude während der Sitzung einen [Worktree](/docs/de/worktrees) betritt, behält Claude Code `${CLAUDE_PROJECT_DIR}` dort, wo es war, und übergibt den Worktree-Pfad an Ihre Hooks auf andere Weise:654 **Worktrees sind anders.** Wenn Claude während der Sitzung einen [Worktree](/docs/de/worktrees) betritt, behält Claude Code `${CLAUDE_PROJECT_DIR}` bei, wo es war, und übergibt den Worktree-Pfad Ihren Hooks auf andere Weise:

655 655 

656 * **`${CLAUDE_PROJECT_DIR}` bleibt stehen**: Es zeigt immer noch auf das Projekt-Root, wo die Sitzung gestartet wurde, daher führt ein Befehl wie `${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh` das Skript immer noch im Haupt-Checkout aus.656 * **`${CLAUDE_PROJECT_DIR}` bleibt stehen**: Es zeigt immer noch auf das Projekt-Root, wo die Sitzung gestartet wurde, sodass ein Befehl wie `${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh` das Skript immer noch im Haupt-Checkout ausführt.

657 * **`cwd` folgt Claude**: Das Feld `cwd` in der Hook-[Eingabe JSON](#common-input-fields) ist das Worktree-Root, nachdem Claude einen Worktree betritt, und das neue Verzeichnis, nachdem Claude `cd` ausführt. Lesen Sie es, wenn ein Hook wissen muss, in welchem Verzeichnis Claude arbeitet.657 * **`cwd` folgt Claude**: Das Feld `cwd` in der Hook-[Eingabe-JSON](#common-input-fields) ist das Worktree-Root, nachdem Claude einen Worktree betritt, und das neue Verzeichnis, nachdem Claude `cd` ausführt. Lesen Sie es, wenn ein Hook wissen muss, welches Verzeichnis Claude bearbeitet.

658</Note>658</Note>

659 659 

660Bevorzugen Sie [Exec-Form](#exec-form-and-shell-form) für jeden Hook, der auf einen Pfad-Platzhalter verweist. In Shell-Form wickeln Sie jeden Platzhalter in doppelte Anführungszeichen ein.660Bevorzugen Sie [Exec-Form](#exec-form-and-shell-form) für jeden Hook, der auf einen Pfad-Platzhalter verweist. In Shell-Form umgeben Sie jeden Platzhalter mit doppelten Anführungszeichen.

661 661 

662<Tabs>662<Tabs>

663 <Tab title="Projekt-Skripte">663 <Tab title="Projekt-Skripte">

664 Dieses Beispiel verwendet `${CLAUDE_PROJECT_DIR}`, um einen Style-Checker aus dem `.claude/hooks/`-Verzeichnis des Projekts nach jedem `Write`- oder `Edit`-Tool-Aufruf auszuführen:664 Dieses Beispiel verwendet `${CLAUDE_PROJECT_DIR}`, um einen Style-Checker aus dem Verzeichnis `.claude/hooks/` des Projekts nach jedem `Write`- oder `Edit`-Tool-Aufruf auszuführen:

665 665 

666 ```json theme={null}666 ```json theme={null}

667 {667 {


717 Hooks in Skills und Agents717 Hooks in Skills und Agents

718</h3>718</h3>

719 719 

720Zusätzlich zu Einstellungsdateien und Plugins können Hooks direkt in [Skills](/docs/de/skills) und [Subagenten](/docs/de/sub-agents) mit Frontmatter definiert werden, im gleichen Konfigurationsformat wie einstellungsbasierte Hooks. Wie lange Claude Code sie registriert hält, hängt von der Komponente ab:720Zusätzlich zu Einstellungsdateien und Plugins können Hooks direkt in [Skills](/docs/de/skills) und [Subagents](/docs/de/sub-agents) mit Frontmatter im gleichen Konfigurationsformat wie einstellungsbasierte Hooks definiert werden. Wie lange Claude Code sie registriert hält, hängt von der Komponente ab:

721 721 

722* **Subagent-Hooks**: Claude Code führt sie nur aus, während dieser Subagent läuft, und entfernt sie, wenn er fertig ist. Claude Code konvertiert einen `Stop`-Hook hier zu `SubagentStop`, das Ereignis, das ausgelöst wird, wenn ein Subagent fertig ist.722* **Subagent-Hooks**: Claude Code führt sie nur aus, während dieser Subagent ausgeführt wird, und entfernt sie, wenn er fertig ist. Claude Code konvertiert einen `Stop`-Hook hier zu `SubagentStop`, dem Ereignis, das ausgelöst wird, wenn ein Subagent abgeschlossen ist.

723* **Skill-Hooks**: Claude Code registriert sie, wenn Sie oder Claude den Skill aufrufen, und führt sie für den Rest der Sitzung aus, auf Runden nach der eigenen Runde des Skills auch. Um Claude Code stattdessen einen Hook nach seiner ersten erfolgreichen Ausführung zu entfernen, setzen Sie [`once: true`](#common-fields) darauf.723* **Skill-Hooks**: Claude Code registriert sie, wenn Sie oder Claude den Skill aufrufen, und führt sie für den Rest der Sitzung aus, auf Turns nach dem eigenen Turn des Skills auch. Um Claude Code stattdessen einen Hook nach seiner ersten erfolgreichen Ausführung zu entfernen, setzen Sie [`once: true`](#common-fields) darauf.

724 724 

725Dieser Skill definiert einen `PreToolUse`-Hook, der ein Sicherheitsvalidierungsskript vor jedem `Bash`-Befehl ausführt:725Dieser Skill definiert einen `PreToolUse`-Hook, der ein Sicherheitsvalidierungsskript vor jedem `Bash`-Befehl ausführt:

726 726 


737---737---

738```738```

739 739 

740Subagenten verwenden das gleiche Format in ihrem YAML-Frontmatter.740Subagents verwenden das gleiche Format in ihrem YAML-Frontmatter.

741 741 

742Frontmatter-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 einer `-p`-Ausführung in einem Ordner, dem Sie nicht vertraut haben.742Frontmatter-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.

743 743 

744Frontmatter-Hooks in einem Projekt-Subagent werden nur ausgeführt, nachdem Sie den [Workspace-Trust-Dialog](/docs/de/permissions#project-allow-rules-and-workspace-trust) für den Ordner akzeptiert haben, aus dem die Agent-Datei stammt. Eine `-p`-Sitzung zählt nicht als Akzeptanz. [Was läuft, bevor Sie einem Ordner vertrauen](/docs/de/permissions#what-runs-before-you-trust-a-folder) vergleicht dies mit der Einstellungsdatei-Regel, und die Subagenten-Seite listet auf, [welche Scopes ausgenommen sind](/docs/de/sub-agents#hooks-in-subagent-frontmatter). Vor v2.1.218 konnten diese Hooks aus Ordnern ausgeführt werden, denen Sie nicht vertraut haben.744Frontmatter-Hooks in einem Projekt-Subagent werden nur ausgeführt, nachdem Sie den [Workspace-Trust-Dialog](/docs/de/permissions#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](/docs/de/permissions#what-runs-before-you-trust-a-folder) vergleicht dies mit der Einstellungsdatei-Regel, und die Subagents-Seite listet auf, [welche Bereiche ausgenommen sind](/docs/de/sub-agents#hooks-in-subagent-frontmatter). Vor v2.1.218 konnten diese Hooks aus Ordnern ausgeführt werden, denen Sie nicht vertraut haben.

745 745 

746<h3 id="the-/hooks-menu">746<h3 id="the-/hooks-menu">

747 Das Menü `/hooks`747 Das `/hooks`-Menü

748</h3>748</h3>

749 749 

750Geben Sie `/hooks` in Claude Code ein, um einen schreibgeschützten Browser für Ihre konfigurierten Hooks zu öffnen. Das Menü zeigt jedes Hook-Ereignis mit einer Anzahl konfigurierter Hooks, ermöglicht es Ihnen, in Matcher zu bohren, und zeigt die vollständigen Details jedes Hook-Handlers. Verwenden Sie es, um die Konfiguration zu überprüfen, zu prüfen, aus welcher Einstellungsdatei ein Hook stammt, oder einen Hook-Befehl, Prompt oder URL zu überprüfen.750Geben Sie `/hooks` in Claude Code ein, um einen schreibgeschützten Browser für Ihre konfigurierten Hooks zu öffnen. Das Menü zeigt jedes Hook-Ereignis mit einer Anzahl konfigurierter Hooks, lässt Sie in Matcher bohren und zeigt die vollständigen Details jedes Hook-Handlers. Verwenden Sie es, um die Konfiguration zu überprüfen, zu überprüfen, aus welcher Einstellungsdatei ein Hook stammt, oder um einen Hook-Befehl, Prompt oder URL zu überprüfen.

751 751 

752Das Menü zeigt alle fünf Hook-Typen an: `command`, `prompt`, `agent`, `http` und `mcp_tool`. Jeder Hook ist mit einem `[type]`-Präfix und einer Quelle gekennzeichnet, die angibt, wo er definiert wurde:752Das Menü zeigt alle fünf Hook-Typen: `command`, `prompt`, `agent`, `http` und `mcp_tool`. Jeder Hook ist mit einem `[type]`-Präfix und einer Quelle gekennzeichnet, die angibt, wo er definiert wurde:

753 753 

754* `User Settings`: aus `~/.claude/settings.json`754* `User Settings`: aus `~/.claude/settings.json`

755* `Project Settings`: aus `.claude/settings.json`755* `Project Settings`: aus `.claude/settings.json`

756* `Local Settings`: aus `.claude/settings.local.json`756* `Local Settings`: aus `.claude/settings.local.json`

757* `Plugin Hooks`: aus `hooks/hooks.json` eines Plugins757* `Plugin Hooks`: aus der `hooks/hooks.json` eines Plugins

758* `Session Hooks`: in Speicher für die aktuelle Sitzung registriert758* `Session Hooks`: in der aktuellen Sitzung im Speicher registriert

759 759 

760Wenn Sie einen Hook auswählen, wird eine Detailansicht geöffnet, die sein Ereignis, Matcher, Typ, Quelldatei und den vollständigen Befehl, Prompt oder URL zeigt. Das Menü ist schreibgeschützt: Um Hooks hinzuzufügen, zu ändern oder zu entfernen, bearbeiten Sie die Einstellungs-JSON direkt oder bitten Sie Claude, die Änderung vorzunehmen.760Das Auswählen eines Hooks öffnet eine Detailansicht, die sein Ereignis, Matcher, Typ, Quellendatei und den vollständigen Befehl, Prompt oder URL anzeigt. Das Menü ist schreibgeschützt: Um Hooks hinzuzufügen, zu ändern oder zu entfernen, bearbeiten Sie die Einstellungs-JSON direkt oder bitten Sie Claude, die Änderung vorzunehmen.

761 761 

762<h3 id="disable-or-remove-hooks">762<h3 id="disable-or-remove-hooks">

763 Hooks deaktivieren oder entfernen763 Hooks deaktivieren oder entfernen


765 765 

766Um einen Hook zu entfernen, löschen Sie seinen Eintrag aus der Einstellungs-JSON-Datei.766Um einen Hook zu entfernen, löschen Sie seinen Eintrag aus der Einstellungs-JSON-Datei.

767 767 

768Um alle Hooks vorübergehend zu deaktivieren, ohne sie zu entfernen, setzen Sie `"disableAllHooks": true` in Ihrer Einstellungsdatei. Claude Code liest den Wert, der nach [Einstellungs-Vorrang](/docs/de/settings#settings-precedence) bleibt, daher überschreibt ein `"disableAllHooks": false` in der `.claude/settings.json` eines Projekts ein `true` in Ihren Benutzereinstellungen. Um Hooks für einen Durchlauf auszuschalten, egal was die Einstellungen des Projekts sagen, übergeben Sie `--settings '{"disableAllHooks": true}'`, was Vorrang vor Projekt- und lokalen Einstellungen hat. Es gibt keine Möglichkeit, einen einzelnen Hook zu deaktivieren, während er in der Konfiguration bleibt.768Um alle Hooks vorübergehend zu deaktivieren, ohne sie zu entfernen, setzen Sie `"disableAllHooks": true` in Ihrer Einstellungsdatei. Claude Code liest den Wert, der nach [Einstellungspriorität](/docs/de/settings#settings-precedence) bleibt, sodass ein `"disableAllHooks": false` in der `.claude/settings.json` eines Projekts ein `true` in Ihren Benutzereinstellungen überschreibt. Um Hooks für einen Run auszuschalten, unabhängig davon, was die Einstellungen des Projekts sagen, übergeben Sie `--settings '{"disableAllHooks": true}'`, was Vorrang vor Projekt- und lokalen Einstellungen hat. Es gibt keine Möglichkeit, einen einzelnen Hook zu deaktivieren, während er in der Konfiguration bleibt.

769 769 

770Die Einstellung `disableAllHooks` respektiert die Hierarchie der verwalteten Einstellungen. Wenn ein Administrator Hooks durch verwaltete Richtlinieneinstellungen konfiguriert hat, kann `disableAllHooks`, das in Benutzer-, Projekt- oder lokalen Einstellungen gesetzt ist, diese verwalteten Hooks nicht deaktivieren. Nur `disableAllHooks`, das auf der Ebene der verwalteten Einstellungen gesetzt ist, kann verwaltete Hooks deaktivieren. Für die vollständige Reichweite jeder Ebene siehe [`disableAllHooks`](/docs/de/settings-reference#disableallhooks).770Die Einstellung `disableAllHooks` respektiert die Hierarchie der verwalteten Einstellungen. Wenn ein Administrator Hooks durch verwaltete Richtlinieneinstellungen konfiguriert hat, kann `disableAllHooks`, das in Benutzer-, Projekt- oder lokalen Einstellungen gesetzt ist, diese verwalteten Hooks nicht deaktivieren. Nur `disableAllHooks`, das auf der Ebene der verwalteten Einstellungen gesetzt ist, kann verwaltete Hooks deaktivieren. Für die vollständige Reichweite jeder Ebene siehe [`disableAllHooks`](/docs/de/settings-reference#disableallhooks).

771 771 

772Direkte Bearbeitungen von Hooks in Einstellungsdateien werden normalerweise automatisch vom Datei-Watcher aufgegriffen.772Direkte Änderungen an Hooks in Einstellungsdateien werden normalerweise automatisch vom Datei-Watcher aufgegriffen.

773 773 

774<h2 id="hook-input-and-output">774<h2 id="hook-input-and-output">

775 Hook-Eingabe und -Ausgabe775 Hook-Eingabe und -Ausgabe

776</h2>776</h2>

777 777 

778Command-Hooks erhalten JSON-Daten über stdin und kommunizieren Ergebnisse über Exit-Codes, stdout und stderr. HTTP-Hooks erhalten die gleiche JSON als POST-Request-Body und kommunizieren Ergebnisse über den HTTP-Response-Body. Dieser Abschnitt behandelt Felder und Verhalten, die allen Ereignissen gemeinsam sind. Jeder Abschnitt eines Ereignisses unter [Hook-Ereignisse](#hook-events) enthält sein spezifisches Eingabeschema und Optionen zur Entscheidungskontrolle.778Command Hooks empfangen JSON-Daten über stdin und teilen Ergebnisse über Exit-Codes, stdout und stderr mit. HTTP Hooks empfangen das gleiche JSON wie der POST-Request-Body und teilen Ergebnisse über den HTTP-Response-Body mit. Dieser Abschnitt behandelt Felder und Verhalten, die für alle Events gemeinsam sind. Jeder Event-Abschnitt unter [Hook Events](#hook-events) enthält sein spezifisches Input-Schema und Optionen zur Entscheidungskontrolle.

779 779 

780Auf macOS und Linux werden Command-Hooks in ihrer eigenen Sitzung ohne steuerndes Terminal ausgeführt. Der Hook-Prozess und alle untergeordneten Prozesse können `/dev/tty` nicht öffnen oder Escape-Sequenzen direkt an die Claude Code-Benutzeroberfläche senden. Windows hat kein `/dev/tty`.780Auf macOS und Linux werden Command Hooks in ihrer eigenen Session ohne steuerndes Terminal ausgeführt. Der Hook-Prozess und alle untergeordneten Prozesse können `/dev/tty` nicht öffnen oder Escape-Sequenzen direkt an die Claude Code-Schnittstelle senden. Windows hat kein `/dev/tty`.

781 781 

782Um eine Nachricht dem Benutzer auf jeder Plattform anzuzeigen, geben Sie [`systemMessage`](#json-output) in der JSON-Ausgabe zurück. Einige Ereignisse verwerfen sie oder liefern sie an anderer Stelle, und jeder [Abschnitt eines Ereignisses](#hook-events) sagt, wo. Um eine Desktop-Benachrichtigung auszulösen, einen Fenstertitel zu setzen oder die Glocke zu läuten, geben Sie stattdessen [`terminalSequence`](#emit-terminal-notifications) zurück.782Um eine Nachricht für den Benutzer auf jeder Plattform anzuzeigen, geben Sie [`systemMessage`](#json-output) in der JSON-Ausgabe zurück. Einige Events verwerfen sie oder liefern sie an anderer Stelle, und jeder [Event-Abschnitt](#hook-events) gibt an, wo. Um eine Desktop-Benachrichtigung auszulösen, einen Fenstertitel zu setzen oder die Glocke zu läuten, geben Sie stattdessen [`terminalSequence`](#emit-terminal-notifications) zurück.

783 783 

784<h3 id="common-input-fields">784<h3 id="common-input-fields">

785 Gemeinsame Eingabefelder785 Allgemeine Eingabefelder

786</h3>786</h3>

787 787 

788Hook-Ereignisse erhalten diese Felder als JSON, zusätzlich zu ereignisspezifischen Feldern, die in jedem Abschnitt [Hook-Ereignis](#hook-events) dokumentiert sind. Für Command-Hooks kommt diese JSON über stdin an. Für HTTP-Hooks kommt sie als POST-Request-Body an.788Hook Events empfangen diese Felder als JSON, zusätzlich zu Event-spezifischen Feldern, die in jedem [Hook-Event](#hook-events)-Abschnitt dokumentiert sind. Für Command Hooks kommt dieses JSON über stdin an. Für HTTP Hooks kommt es als POST-Request-Body an.

789 789 

790| Feld | Beschreibung |790| Feld | Beschreibung |

791| :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |791| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

792| `session_id` | Aktuelle Sitzungs-ID |792| `session_id` | Aktuelle Session-Kennung |

793| `prompt_id` | UUID, die die aktuell verarbeitete Benutzereingabeaufforderung identifiziert. Entspricht dem [`prompt.id`-Attribut bei OpenTelemetry-Ereignissen](/docs/de/monitoring-usage#event-correlation-attributes), sodass Sie Hook-Ausgabe mit Telemetrie für eine einzelne Eingabeaufforderung korrelieren können. Nicht vorhanden, bis zur ersten Benutzereingabe. Erfordert Claude Code v2.1.196 oder später |793| `prompt_id` | UUID, die den aktuell verarbeiteten Benutzer-Prompt identifiziert. Stimmt mit dem [`prompt.id`-Attribut auf OpenTelemetry-Events](/docs/de/monitoring-usage#event-correlation-attributes) überein, sodass Sie Hook-Ausgabe mit Telemetrie für einen einzelnen Prompt korrelieren können. Nicht vorhanden bis zur ersten Benutzereingabe. Erfordert Claude Code v2.1.196 oder später |

794| `transcript_path` | Pfad zur Gesprächs-JSON. Die Transkriptdatei wird asynchron geschrieben und kann der In-Memory-Konversation hinterherhinken, sodass sie möglicherweise noch nicht die neuesten Nachrichten des aktuellen Zugs enthält, wenn ein Hook ausgelöst wird. Hooks, die den endgültigen Assistententext des aktuellen Zugs benötigen, sollten `last_assistant_message` auf [Stop](#stop) und [SubagentStop](#subagentstop) verwenden, anstatt das Transkript zu lesen |794| `transcript_path` | Pfad zur Konversations-JSON. Die Transkriptdatei wird asynchron geschrieben und kann der In-Memory-Konversation hinterherhinken, daher kann sie möglicherweise noch nicht die neuesten Nachrichten des aktuellen Turns enthalten, wenn ein Hook ausgelöst wird. Hooks, die den endgültigen Assistant-Text des aktuellen Turns benötigen, sollten `last_assistant_message` auf [Stop](#stop) und [SubagentStop](#subagentstop) verwenden, anstatt das Transkript zu lesen |

795| `cwd` | Aktuelles Arbeitsverzeichnis, wenn der Hook aufgerufen wird |795| `cwd` | Aktuelles Arbeitsverzeichnis, wenn der Hook aufgerufen wird |

796| `scratchpad_dir` | Pfad zum Scratchpad-Verzeichnis der Sitzung, in dem Claude temporäre Arbeitsdateien speichert. Nicht vorhanden, wenn die Sitzung kein Scratchpad hat oder das Temp-Verzeichnis nicht verfügbar ist. Erfordert Claude Code v2.1.257 oder später |796| `scratchpad_dir` | Pfad zum Scratchpad-Verzeichnis der Session, in dem Claude temporäre Arbeitsdateien speichert. Nicht vorhanden, wenn die Session kein Scratchpad hat oder das Temp-Verzeichnis nicht verfügbar ist. Erfordert Claude Code v2.1.257 oder später |

797| `permission_mode` | Aktueller [Berechtigungsmodus](/docs/de/permissions#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` oder `"bypassPermissions"`. Der als **Manuell** bezeichnete Modus kommt als `"default"` an, nie als `"manual"`, sodass Skripte, die `"default"` abgleichen, weiterhin funktionieren. Nicht alle Ereignisse erhalten dieses Feld. Überprüfen Sie das JSON-Beispiel in jedem Abschnitt [Hook-Ereignis](#hook-events) |797| `permission_mode` | Aktueller [Berechtigungsmodus](/docs/de/permissions#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` oder `"bypassPermissions"`. Der als **Manuell** bezeichnete Modus kommt als `"default"` an, nie als `"manual"`, sodass Skripte, die `"default"` abgleichen, weiterhin funktionieren. Nicht alle Events erhalten dieses Feld. Überprüfen Sie das JSON-Beispiel in jedem [Hook-Event](#hook-events)-Abschnitt |

798| `effort` | Objekt mit einem `level`-Feld, das die [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) enthält, die beim Ausführen des Hooks aktiv ist: `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Wenn Sie eine Stufe setzen, die das aktive Modell nicht unterstützt, meldet `level` die Stufe, die Claude Code stattdessen ausgeführt hat; [Anstrengungsstufe anpassen](/docs/de/model-config#adjust-effort-level) sagt, wie es diese Stufe auswählt. Ultracode ist keine separate Stufe und wird als `"xhigh"` gemeldet. Das Objekt entspricht dem [Statuszeilen](/docs/de/statusline#available-data)-Feld `effort`. Vorhanden für Ereignisse, die innerhalb eines Tool-Use-Kontexts ausgelöst werden, wie `PreToolUse`, `PostToolUse`, `Stop` und `SubagentStop`, wenn das aktuelle Modell den Anstrengungsparameter unterstützt. Die Stufe ist auch für Hook-Befehle und das Bash-Tool als die Umgebungsvariable `$CLAUDE_EFFORT` verfügbar. |798| `effort` | Objekt mit einem `level`-Feld, das die [Effort-Stufe](/docs/de/model-config#adjust-effort-level) enthält, die wirksam ist, wenn der Hook ausgeführt wird: `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Wenn Sie eine Stufe festlegen, die das aktive Modell nicht unterstützt, meldet `level` die Stufe, die Claude Code stattdessen ausgeführt hat; [Effort-Stufe anpassen](/docs/de/model-config#adjust-effort-level) sagt, wie es diese Stufe auswählt. Ultracode ist keine separate Stufe und wird als `"xhigh"` gemeldet. Das Objekt stimmt mit dem [Status-Feld](/docs/de/statusline#available-data) `effort`-Feld überein. Vorhanden für Events, die innerhalb eines Tool-Use-Kontexts ausgelöst werden, wie `PreToolUse`, `PostToolUse`, `Stop` und `SubagentStop`, wenn das aktuelle Modell den Effort-Parameter unterstützt. Die Stufe ist auch für Hook-Befehle und das Bash-Tool als die `$CLAUDE_EFFORT`-Umgebungsvariable verfügbar. |

799| `hook_event_name` | Name des ausgelösten Ereignisses |799| `hook_event_name` | Name des ausgelösten Events |

800 800 

801Wenn mit `--agent` oder innerhalb eines Subagenten ausgeführt, sind zwei zusätzliche Felder enthalten:801Bei Ausführung mit `--agent` oder innerhalb eines Subagenten sind zwei zusätzliche Felder enthalten:

802 802 

803| Feld | Beschreibung |803| Feld | Beschreibung |

804| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |804| :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

805| `agent_id` | Eindeutige Kennung für den Subagenten. Nur vorhanden, wenn der Hook innerhalb eines Subagenten-Aufrufs ausgelöst wird. Verwenden Sie dies, um Subagenten-Hook-Aufrufe von Main-Thread-Aufrufen zu unterscheiden. |805| `agent_id` | Eindeutige Kennung für den Subagenten. Nur vorhanden, wenn der Hook innerhalb eines Subagenten-Aufrufs ausgelöst wird. Verwenden Sie dies, um Subagenten-Hook-Aufrufe von Main-Thread-Aufrufen zu unterscheiden. |

806| `agent_type` | Agent-Name (zum Beispiel `"Explore"` oder `"security-reviewer"`). Vorhanden, wenn die Sitzung `--agent` verwendet oder der Hook innerhalb eines Subagenten ausgelöst wird. Für Subagenten hat der Typ des Subagenten Vorrang vor dem `--agent`-Wert der Sitzung. Siehe [SubagentStart](#subagentstart) für die Werte, die benutzerdefinierte und Plugin-Subagenten melden, und wie Sie einen Matcher gegen einen Plugin-bezogenen Namen schreiben. |806| `agent_type` | Agent-Name (z. B. `"Explore"` oder `"security-reviewer"`). Vorhanden, wenn die Session `--agent` verwendet oder der Hook innerhalb eines Subagenten ausgelöst wird. Für Subagenten hat der Typ des Subagenten Vorrang vor dem `--agent`-Wert der Session. Siehe [SubagentStart](#subagentstart) für die Werte, die benutzerdefinierte und Plugin-Subagenten melden, und wie man einen Matcher gegen einen Plugin-Scoped-Namen schreibt. |

807 807 

808Nur [`SessionStart`](#sessionstart)-Hooks können ein `model`-Feld erhalten, und Claude Code schließt es nicht immer ein. [`PreModelSwitch`](#premodelswitch) und [`PostModelSwitch`](#postmodelswitch)-Hooks erhalten stattdessen `from_model` und `to_model`, verwenden Sie also einen PostModelSwitch-Hook, um das Modell zu verfolgen, während es sich während einer Sitzung ändert.808Nur [`SessionStart`](#sessionstart)-Hooks können ein `model`-Feld empfangen, und Claude Code fügt es nicht immer ein. [`PreModelSwitch`](#premodelswitch)- und [`PostModelSwitch`](#postmodelswitch)-Hooks empfangen stattdessen `from_model` und `to_model`, verwenden Sie also einen PostModelSwitch-Hook, um das Modell zu verfolgen, während es sich während einer Session ändert.

809 809 

810Es gibt keine `$CLAUDE_MODEL`-Umgebungsvariable. Der Hook kann `$ANTHROPIC_MODEL` lesen, wenn Sie es in Ihrer Shell setzen, aber dieser Wert ändert sich nicht, wenn Sie während einer Sitzung mit `/model` Modelle wechseln.810Es gibt keine `$CLAUDE_MODEL`-Umgebungsvariable. Der Hook kann `$ANTHROPIC_MODEL` lesen, wenn Sie es in Ihrer Shell festlegen, aber dieser Wert ändert sich nicht, wenn Sie während einer Session mit `/model` Modelle wechseln.

811 811 

812Ein Hook-Prozess erbt die übergeordnete Umgebung, abgesehen von den `OTEL_*`-Exportervariablen, die Claude Code [aus jedem Unterprozess entfernt, den es spawnt](/docs/de/monitoring-usage#administrator-configuration), und wenn [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/de/env-vars#variables) auf `1` gesetzt ist, die Variablen, die es entfernt.812Ein Hook-Prozess erbt die übergeordnete Umgebung, mit Ausnahme der `OTEL_*`-Exporter-Variablen, die Claude Code [aus jedem Subprocess entfernt, den es spawnt](/docs/de/monitoring-usage#administrator-configuration), und, wenn [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/de/env-vars#variables) auf `1` gesetzt ist, die Variablen, die es entfernt.

813 813 

814Zum Beispiel erhält ein `PreToolUse`-Hook für einen Bash-Befehl dies über stdin:814Beispielsweise empfängt ein `PreToolUse`-Hook für einen Bash-Befehl dies auf stdin:

815 815 

816```json theme={null}816```json theme={null}

817{817{


833}833}

834```834```

835 835 

836Die Felder `tool_name`, `tool_input` und `tool_use_id` sind ereignisspezifisch. Jeder Abschnitt [Hook-Ereignis](#hook-events) dokumentiert die zusätzlichen Felder für dieses Ereignis.836Die Felder `tool_name`, `tool_input` und `tool_use_id` sind Event-spezifisch. Jeder [Hook-Event](#hook-events)-Abschnitt dokumentiert die zusätzlichen Felder für diesen Event.

837 837 

838<h3 id="exit-code-output">838<h3 id="exit-code-output">

839 Exit-Code-Ausgabe839 Exit-Code-Ausgabe

840</h3>840</h3>

841 841 

842Der Exit-Code aus Ihrem Hook-Befehl teilt Claude Code mit, ob die Aktion fortgesetzt, blockiert oder ignoriert werden soll. Der Exit-Code wirkt nicht allein. Claude Code liest [JSON-Ausgabefelder](#json-output) von stdout bei jedem Exit-Code, nicht nur 0, und für Ereignisse, die das Standard-Entscheidungsmodell verwenden, wirkt ein analysiertes Objekt, das die Schema-Validierung besteht, neben dem Code. Exit 2's Blockierung ist das einzige Ergebnis, das JSON nicht überschreiben kann.842Der Exit-Code aus Ihrem Hook-Befehl teilt Claude Code mit, ob die Aktion fortgesetzt, blockiert oder ignoriert werden soll. Der Exit-Code wirkt nicht allein. Claude Code liest [JSON-Ausgabefelder](#json-output) von stdout bei jedem Exit-Code, nicht nur 0, und für Events, die das Standard-Entscheidungsmodell verwenden, wirkt ein gepartes Objekt, das die Schema-Validierung besteht, neben dem Code. Exit 2's Block ist das einzige Ergebnis, das JSON nicht überschreiben kann.

843 843 

844Zwei Tabellen besitzen die ereignisspezifischen Ausnahmen: [Exit-Code-2-Verhalten pro Ereignis](#exit-code-2-behavior-per-event) sagt, was Exit-Codes für jedes Ereignis tun, und [Entscheidungskontrolle](#decision-control) sagt, welche Entscheidungsfelder jedes Ereignis berücksichtigt. Universelle Felder wie `systemMessage` funktionieren über die meisten Ereignisse hinweg und sind in der Tabelle [JSON-Ausgabe](#json-output) aufgelistet.844Zwei Tabellen besitzen die Event-spezifischen Ausnahmen: [Exit-Code-2-Verhalten pro Event](#exit-code-2-behavior-per-event) sagt, was Exit-Codes für jeden Event tun, und [Entscheidungskontrolle](#decision-control) sagt, welche Entscheidungsfelder jeder Event berücksichtigt. Universelle Felder wie `systemMessage` funktionieren über die meisten Events hinweg und sind in der [JSON-Ausgabe](#json-output)-Tabelle aufgelistet.

845 845 

846<h4 id="exit-code-0">846<h4 id="exit-code-0">

847 Exit-Code 0847 Exit-Code 0

848</h4>848</h4>

849 849 

850Exit 0 bedeutet Erfolg und ist der beabsichtigte Exit-Code, wenn Sie JSON für strukturierte Kontrolle ausgeben.850Exit 0 bedeutet Erfolg und ist der beabsichtigte Exit-Code, wenn Sie JSON für strukturierte Kontrolle drucken.

851 851 

852Für die meisten Ereignisse schreibt Claude Code stdout in das Debug-Log und zeigt es nicht im Transkript an. Die Ausnahmen sind `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` und `PostModelSwitch`, wo Claude Code Plain-Text-stdout als Kontext hinzufügt, den Claude sehen und darauf reagieren kann.852Für die meisten Events schreibt Claude Code stdout in das Debug-Protokoll und zeigt es nicht im Transkript an. Die Ausnahmen sind `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` und `PostModelSwitch`, wo Claude Code einfachen Text-stdout als Kontext hinzufügt, den Claude sehen und bearbeiten kann.

853 853 

854Ob Claude Code Ihren stdout als [JSON-Ausgabe](#json-output) oder als Plain-Text liest, hängt davon ab, wie er beginnt und endet, wobei umgebender Whitespace ignoriert wird:854Ob Claude Code Ihren stdout als [JSON-Ausgabe](#json-output) oder als einfachen Text liest, hängt davon ab, wie er beginnt und endet, wobei umgebender Whitespace ignoriert wird:

855 855 

856* **Beginnt mit `{` und endet mit `}`**: Claude Code analysiert es als JSON. Wenn die Ausgabe zwei oder mehr Zeilen sind, die jeweils selbst als JSON analysiert werden, und keine Zeile ein [JSON-Ausgabe](#json-output)-Objekt ist, das ein Feld setzt, behandelt Claude Code die gesamte Ausgabe als Plain-Text. Wenn eine dieser Zeilen ein Feld setzt, ist die gesamte Ausgabe ein Parse-Fehler, der unten beschrieben wird.856* **Beginnt mit `{` und endet mit `}`**: Claude Code parst es als JSON. Wenn die Ausgabe zwei oder mehr Zeilen sind, die jeweils selbst als JSON geparst werden, und keine Zeile ein [JSON-Ausgabe](#json-output)-Objekt ist, das ein Feld setzt, behandelt Claude Code die gesamte Ausgabe als einfachen Text. Wenn eine dieser Zeilen ein Feld setzt, ist die gesamte Ausgabe ein Parse-Fehler, der unten beschrieben wird.

857* **Beginnt mit `{` aber endet nicht mit `}`**: Claude Code behandelt es als Plain-Text.857* **Beginnt mit `{` aber endet nicht mit `}`**: Claude Code behandelt es als einfachen Text.

858* **Beginnt mit etwas anderem**: Claude Code behandelt es als Plain-Text, ein JSON-Array oder eine zitierte JSON-Zeichenkette enthalten.858* **Beginnt mit etwas anderem**: Claude Code behandelt es als einfachen Text, ein JSON-Array oder einen zitierten JSON-String enthalten.

859 859 

860Für Ereignisse, die das Standard-Entscheidungsmodell verwenden, ist Exit 0 mit einem analysierten Objekt, das die Schema-Validierung nicht besteht, ein nicht-blockierender Fehler: die Aktion wird fortgesetzt, und das Transkript zeigt eine `<hook name> hook error`-Benachrichtigung mit der Validierungsmeldung. Das gleiche passiert bei jedem Exit-Code außer 2, während [Exit 2 immer noch blockiert](#exit-code-2).860Für Events, die das Standard-Entscheidungsmodell verwenden, ist Exit 0 mit einem geparsten Objekt, das die Schema-Validierung nicht besteht, ein nicht blockierender Fehler: die Aktion wird fortgesetzt, und das Transkript zeigt einen `<Hook-Name> hook error`-Hinweis mit der Validierungsmeldung. Das gleiche passiert bei jedem Exit-Code außer 2, während [Exit 2 immer noch blockiert](#exit-code-2).

861 861 

862Für Ereignisse, die das Standard-Entscheidungsmodell verwenden, wenn Claude Code versucht, Ihren stdout als JSON zu analysieren und kann nicht, meldet es einen nicht-blockierenden Fehler bei jedem Exit-Code außer 2. Das Transkript zeigt eine `<hook name> hook error`-Benachrichtigung mit der Parse-Meldung. Bei den Ereignissen, die Plain-Text-stdout als Kontext hinzufügen, fügt Claude Code den Text nicht hinzu. Vor v2.1.248 behandelte Claude Code diesen stdout als Plain-Text.862Für Events, die das Standard-Entscheidungsmodell verwenden, wenn Claude Code versucht, Ihren stdout als JSON zu parsen und kann nicht, meldet es einen nicht blockierenden Fehler bei jedem Exit-Code außer 2. Das Transkript zeigt einen `<Hook-Name> hook error`-Hinweis mit der Parse-Meldung. Bei den Events, die einfachen Text-stdout als Kontext hinzufügen, fügt Claude Code den Text nicht hinzu. Vor v2.1.248 behandelte Claude Code diesen stdout als einfachen Text.

863 863 

864Stderr von einem Hook, der mit 0 beendet wird, geht nur in das Debug-Log, nie in das Transkript, und Claude sieht es nie. Um es selbst zu lesen, aktivieren Sie [Debug-Protokollierung](#debug-hooks). Um eine Warnung an Claude von einem `PostToolUse` oder `PostToolUseFailure`-Hook zu übermitteln, beenden Sie stattdessen mit 2, damit [Claude den stderr sieht](#exit-code-2-behavior-per-event), obwohl das Tool bereits ausgeführt wurde.864Stderr von einem Hook, der mit 0 beendet wird, geht nur in das Debug-Protokoll, nie in das Transkript, und Claude sieht es nie. Um es selbst zu lesen, aktivieren Sie [Debug-Protokollierung](#debug-hooks). Um eine Warnung an Claude von einem `PostToolUse`- oder `PostToolUseFailure`-Hook zu übermitteln, beenden Sie stattdessen mit 2, damit [Claude den stderr sieht](#exit-code-2-behavior-per-event), obwohl das Tool bereits ausgeführt wurde.

865 865 

866<h4 id="exit-code-2">866<h4 id="exit-code-2">

867 Exit-Code 2867 Exit-Code 2

868</h4>868</h4>

869 869 

870Exit 2 bedeutet ein blockierender Fehler. Bei [Ereignissen, die blockieren können](#exit-code-2-behavior-per-event), blockiert Exit 2, unabhängig davon, ob Sie JSON ausgeben: selbst ein JSON `permissionDecision` von `"allow"` kann es nicht überschreiben. Claude Code liest immer noch alle gültigen [JSON-Ausgabe](#json-output) auf stdout. Bei `Elicitation` und `ElicitationResult` wird die `hookSpecificOutput` eines Exit-2-Hooks ignoriert.870Exit 2 bedeutet einen blockierenden Fehler. Bei [Events, die blockieren können](#exit-code-2-behavior-per-event), blockiert Exit 2, unabhängig davon, ob Sie JSON drucken oder nicht: selbst ein JSON `permissionDecision` von `"allow"` kann es nicht überschreiben. Claude Code liest immer noch alle gültigen [JSON-Ausgabe](#json-output) auf stdout. Bei `Elicitation` und `ElicitationResult` wird die `hookSpecificOutput` eines Exit-2-Hooks ignoriert.

871 871 

872Die Blockierungsmeldung ist der Grund aus der Blockierungsentscheidung Ihres JSON, wenn es eine macht, und Ihr stderr-Text ansonsten. Was die Blockierung tut, variiert je nach Ereignis: `PreToolUse` blockiert den Tool-Aufruf, `UserPromptSubmit` lehnt den Prompt ab, und so weiter. [Exit-Code-2-Verhalten pro Ereignis](#exit-code-2-behavior-per-event) listet die Auswirkung für jedes Ereignis auf, und jeder Abschnitt eines Ereignisses sagt, wo die Meldung hingeht.872Die Blockierungsmeldung ist der Grund aus der Blockierungsentscheidung Ihres JSON, wenn es eine gibt, und Ihr stderr-Text andernfalls. Was der Block tut, variiert je nach Event: `PreToolUse` blockiert den Tool-Aufruf, `UserPromptSubmit` lehnt den Prompt ab, und so weiter. [Exit-Code-2-Verhalten pro Event](#exit-code-2-behavior-per-event) listet die Auswirkung für jeden Event auf, und jeder Event-Abschnitt sagt, wohin die Meldung geht.

873 873 

874Ein Hook, der mit 2 beendet wird, während er JSON ausgibt, das die [JSON-Ausgabe](#json-output)-Schema-Validierung nicht besteht, blockiert immer noch: Claude Code verwendet stderr als Blockierungsgrund und zeichnet den Validierungsfehler im Debug-Log auf. Vor v2.1.214 behandelte Claude Code diese Kombination als nicht-blockierenden Fehler und die Aktion wurde fortgesetzt.874Ein Hook, der mit 2 beendet wird, während JSON gedruckt wird, das die [JSON-Ausgabe](#json-output)-Schema-Validierung nicht besteht, blockiert immer noch: Claude Code verwendet stderr als Blockierungsgrund und zeichnet den Validierungsfehler im Debug-Protokoll auf. Vor v2.1.214 behandelte Claude Code diese Kombination als nicht blockierenden Fehler und die Aktion wurde fortgesetzt.

875 875 

876Dieses Skript blockiert `rm`-Befehle durch Beendigung mit 2 und lässt jeden anderen Befehl zum normalen Berechtigungsfluss:876Dieses Skript blockiert `rm`-Befehle durch Beendigung mit 2 und lässt jeden anderen Befehl zum normalen Berechtigungsfluss:

877 877 

878```bash theme={null}878```bash theme={null}

879#!/bin/bash879#!/bin/bash

880# Liest JSON-Eingabe von stdin, prüft den Befehl880# Reads JSON input from stdin, checks the command

881input=$(cat)881input=$(cat)

882command=$(jq -r '.tool_input.command' <<<"$input")882command=$(jq -r '.tool_input.command' <<<"$input")

883 883 

884if [[ "$command" == rm* ]]; then884if [[ "$command" == rm* ]]; then

885 echo "Blocked: rm commands are not allowed" >&2885 echo "Blocked: rm commands are not allowed" >&2

886 exit 2 # Blockierender Fehler: Tool-Aufruf wird verhindert886 exit 2 # Blocking error: tool call is prevented

887fi887fi

888 888 

889exit 0 # Keine Entscheidung: der normale Berechtigungsfluss gilt889exit 0 # No decision: the normal permission flow applies

890```890```

891 891 

892<h4 id="other-exit-codes">892<h4 id="other-exit-codes">

893 Andere Exit-Codes893 Andere Exit-Codes

894</h4>894</h4>

895 895 

896Jeder andere Exit-Code blockiert nicht allein für die meisten Hook-Ereignisse. Was passiert, hängt von Ihrem stdout ab:896Jeder andere Exit-Code blockiert nicht allein für die meisten Hook-Events. Was passiert, hängt von Ihrem stdout ab:

897 897 

898* Mit einem analysierten Objekt, das die Schema-Validierung besteht, für Ereignisse, die das Standard-Entscheidungsmodell verwenden, ignoriert Claude Code den Exit-Code und das JSON allein entscheidet das Ergebnis:898* Mit einem geparsten Objekt, das die Schema-Validierung besteht, für Events, die das Standard-Entscheidungsmodell verwenden, ignoriert Claude Code den Exit-Code und das JSON allein entscheidet das Ergebnis:

899 * Jedes Feld, das das Ereignis unterstützt, wird berücksichtigt, einschließlich `permissionDecision`, `additionalContext`, `updatedInput` und `systemMessage`, und der Hook wird nicht als Fehler gemeldet.899 * Jedes Feld, das der Event unterstützt, wird berücksichtigt, einschließlich `permissionDecision`, `additionalContext`, `updatedInput` und `systemMessage`, und der Hook wird nicht als Fehler gemeldet.

900 * [Entscheidungskontrolle](#decision-control) listet die Entscheidungsfelder pro Ereignis auf; universelle Felder wie `systemMessage` folgen der Tabelle [JSON-Ausgabe](#json-output).900 * [Entscheidungskontrolle](#decision-control) listet die Entscheidungsfelder pro Event auf; universelle Felder wie `systemMessage` folgen der [JSON-Ausgabe](#json-output)-Tabelle.

901* Mit einem analysierten Objekt, das die Schema-Validierung nicht besteht, für Ereignisse, die das Standard-Entscheidungsmodell verwenden, ist es der gleiche nicht-blockierende Fehler wie [bei Exit 0](#exit-code-0): die Aktion wird fortgesetzt, und die `<hook name> hook error`-Benachrichtigung trägt die Validierungsmeldung.901* Mit einem geparsten Objekt, das die Schema-Validierung nicht besteht, für Events, die das Standard-Entscheidungsmodell verwenden, ist es der gleiche nicht blockierende Fehler wie [bei Exit 0](#exit-code-0): die Aktion wird fortgesetzt, und der `<Hook-Name> hook error`-Hinweis trägt die Validierungsmeldung.

902* Mit stdout, das Claude Code [versucht als JSON zu analysieren](#exit-code-0) und kann nicht, meldet Claude Code den gleichen nicht-blockierenden Fehler wie bei Exit 0 für Ereignisse, die das Standard-Entscheidungsmodell verwenden. Die Aktion wird fortgesetzt, und die Benachrichtigung trägt die Parse-Meldung.902* Mit stdout, das Claude Code [versucht als JSON zu parsen](#exit-code-0) und kann nicht, meldet Claude Code den gleichen nicht blockierenden Fehler wie bei Exit 0 für Events, die das Standard-Entscheidungsmodell verwenden. Die Aktion wird fortgesetzt, und der Hinweis trägt die Parse-Meldung.

903* Mit stdout, das Claude Code [als Plain-Text behandelt](#exit-code-0), oder mit leerem stdout, ist es ein nicht-blockierender Fehler für die meisten Hook-Ereignisse: die Aktion wird fortgesetzt, und das Transkript zeigt eine `<hook name> hook error`-Benachrichtigung gefolgt von der ersten Zeile von stderr, mit dem Präfix `Failed with non-blocking status code:`. Um den vollständigen stderr zu erfassen, aktivieren Sie [Debug-Protokollierung](#debug-hooks).903* Mit stdout, das Claude Code [als einfachen Text behandelt](#exit-code-0), oder mit leerem stdout, ist es ein nicht blockierender Fehler für die meisten Hook-Events: die Aktion wird fortgesetzt, und das Transkript zeigt einen `<Hook-Name> hook error`-Hinweis gefolgt von der ersten Zeile von stderr, mit dem Präfix `Failed with non-blocking status code:`. Um den vollständigen stderr zu erfassen, aktivieren Sie [Debug-Protokollierung](#debug-hooks).

904 904 

905Ereignisse außerhalb des Standard-Entscheidungsmodells behalten ihre eigenen Zeilen in der [ereignisspezifischen Tabelle](#exit-code-2-behavior-per-event): `WorktreeCreate` schlägt die Erstellung bei jedem Nicht-Null-Exit fehl, egal was Ihr JSON sagt, und Ereignisse, die Hook-Ausgabe vollständig verwerfen, wie `StopFailure`, ignorieren Ihr JSON bei jedem Exit-Code, abgesehen von Nebenwirkungsfeldern wie `terminalSequence`, die immer noch ausgelöst werden.905Events außerhalb des Standard-Entscheidungsmodells behalten ihre eigenen Zeilen in der [Pro-Event-Tabelle](#exit-code-2-behavior-per-event): `WorktreeCreate` schlägt die Erstellung bei jedem Nonzero-Exit fehl, unabhängig davon, was Ihr JSON sagt, und Events, die Hook-Ausgabe vollständig verwerfen, wie `StopFailure`, ignorieren Ihr JSON bei jedem Exit-Code, abgesehen von Nebeneffekt-Feldern wie `terminalSequence`, die immer noch ausgelöst werden.

906 906 

907Ein Hook, der nicht starten kann, landet im gleichen nicht-blockierenden Bucket. Wenn der Skriptpfad nicht existiert oder nicht ausführbar ist, beendet die Shell mit einem Code wie 127 und Sie sehen die gleiche Benachrichtigung mit der Meldung des Interpreters, zum Beispiel `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Für die meisten Hook-Ereignisse wird die Aktion fortgesetzt. Wenn Sie einen Policy-Hook einrichten, achten Sie auf diese Benachrichtigung bei seiner ersten Ausführung: ein Tippfehler im Pfad in `settings.json` lässt das Gate stillschweigend deaktiviert.907Ein Hook, der nicht starten kann, landet im gleichen nicht blockierenden Bucket. Wenn der Skriptpfad nicht existiert oder nicht ausführbar ist, beendet die Shell mit einem Code wie 127 und Sie sehen den gleichen Hinweis mit der Interpreter-Meldung, zum Beispiel `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Für die meisten Hook-Events wird die Aktion fortgesetzt. Wenn Sie einen Policy-Hook einrichten, achten Sie auf diesen Hinweis bei seiner ersten Ausführung: ein Tippfehler im Pfad in `settings.json` lässt das Gate stillschweigend deaktiviert.

908 908 

909<Warning>909<Warning>

910 Für die meisten Hook-Ereignisse ist Exit-Code 2 der einzige Exit-Code, der allein durch den Code blockiert. Ohne gültiges JSON auf stdout behandelt Claude Code Exit-Code 1 als nicht-blockierenden Fehler und setzt die Aktion fort, obwohl 1 der konventionelle Unix-Fehlercode ist. Wenn Ihr Hook eine Richtlinie durchsetzen soll, verwenden Sie `exit 2`. Die Worktree-Ereignisse unterscheiden sich: jeder Nicht-Null-Exit-Code von `WorktreeCreate` bricht die Worktree-Erstellung ab, und jeder Nicht-Null-Exit-Code von `WorktreeRemove` lässt die Worktree-Entfernung fehlschlagen, wenn das Verzeichnis danach noch existiert.910 Für die meisten Hook-Events ist Exit-Code 2 der einzige Exit-Code, der allein durch den Code blockiert. Ohne gültiges JSON auf stdout behandelt Claude Code Exit-Code 1 als nicht blockierenden Fehler und setzt die Aktion fort, obwohl 1 der konventionelle Unix-Fehlercode ist. Wenn Ihr Hook eine Richtlinie durchsetzen soll, verwenden Sie `exit 2`. Die Worktree-Events unterscheiden sich: jeder Nonzero-Exit-Code von `WorktreeCreate` bricht die Worktree-Erstellung ab, und jeder Nonzero-Exit-Code von `WorktreeRemove` lässt die Worktree-Entfernung fehlschlagen, wenn das Verzeichnis danach noch existiert.

911</Warning>911</Warning>

912 912 

913<h4 id="timeouts">913<h4 id="timeouts">

914 Timeouts914 Timeouts

915</h4>915</h4>

916 916 

917Abgesehen von einem Command-Hook, den Sie mit [`async: true`](#run-hooks-in-the-background) ausführen, bricht Claude Code einen `command`, `http` oder `mcp_tool`-Hook ab, der sein [`timeout`](#common-fields) erreicht, verwirft die Ausgabe des Hooks, sodass bei den meisten Ereignissen ein abgelaufener Hook keine Entscheidung rendert.917Abgesehen von einem Command Hook, den Sie mit [`async: true`](#run-hooks-in-the-background) ausführen, bricht Claude Code einen `command`-, `http`- oder `mcp_tool`-Hook ab, der sein [`timeout`](#common-fields) erreicht, verwirft die Hook-Ausgabe, sodass bei den meisten Events ein abgelaufener Hook keine Entscheidung rendert.

918 918 

919Bei [`PreModelSwitch`](#premodelswitch) blockiert ein Hook, der bei seinem Timeout abgebrochen wird, den Modellwechsel. Bei `PreToolUse` unterscheiden sich die beiden Hook-Familien:919Bei [`PreModelSwitch`](#premodelswitch) blockiert ein Hook, der bei seinem Timeout abgebrochen wird, den Modellwechsel. Bei `PreToolUse` unterscheiden sich die beiden Hook-Familien:

920 920 

921* Ein abgelaufener `command`, `http` oder `mcp_tool`-Hook blockiert den Tool-Aufruf nicht. Der Aufruf wird durch den normalen [Berechtigungsfluss](/docs/de/permissions) fortgesetzt, verlassen Sie sich also nicht auf einen steckengebliebenen Hook, um als Gate zu fungieren.921* Ein abgelaufener `command`-, `http`- oder `mcp_tool`-Hook blockiert den Tool-Aufruf nicht. Der Aufruf wird durch den normalen [Berechtigungsfluss](/docs/de/permissions) fortgesetzt, verlassen Sie sich also nicht auf einen steckengebliebenen Hook, um als Gate zu fungieren.

922* Ein [Agent SDK-Callback-Hook](/docs/de/agent-sdk/hooks), der sein Timeout überschreitet, [blockiert den Tool-Aufruf](#pretooluse).922* Ein [Agent SDK Callback Hook](/docs/de/agent-sdk/hooks), der sein Timeout überschreitet, [blockiert den Tool-Aufruf](#pretooluse).

923 923 

924<h4 id="exit-code-2-behavior-per-event">924<h4 id="exit-code-2-behavior-per-event">

925 Exit-Code-2-Verhalten pro Ereignis925 Exit-Code-2-Verhalten pro Event

926</h4>926</h4>

927 927 

928Exit-Code 2 ist die Art, wie ein Hook signalisiert „Stopp, mach das nicht." Die Auswirkung hängt vom Ereignis ab, da einige Ereignisse Aktionen darstellen, die blockiert werden können (wie ein Tool-Aufruf, der noch nicht stattgefunden hat), und andere Dinge darstellen, die bereits passiert sind oder nicht verhindert werden können.928Exit-Code 2 ist die Art, wie ein Hook signalisiert „Stopp, mach das nicht." Die Auswirkung hängt vom Event ab, da einige Events Aktionen darstellen, die blockiert werden können (wie ein Tool-Aufruf, der noch nicht stattgefunden hat), und andere Dinge darstellen, die bereits passiert sind oder nicht verhindert werden können.

929 929 

930| Hook-Ereignis | Kann blockiert werden? | Was passiert bei Exit 2 |930| Hook-Event | Kann blockieren? | Was passiert bei Exit 2 |

931| :-------------------- | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |931| :-------------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

932| `PreToolUse` | Ja | Blockiert den Tool-Aufruf |932| `PreToolUse` | Ja | Blockiert den Tool-Aufruf |

933| `PermissionRequest` | Nein | Exit-Code 2 wird für dieses Ereignis nicht berücksichtigt und der Berechtigungsfluss wird unverändert fortgesetzt. Verweigern Sie stattdessen durch das [`decision`-Objekt](#permissionrequest-decision-control) |933| `PermissionRequest` | Nein | Exit-Code 2 wird für diesen Event nicht berücksichtigt und der Berechtigungsfluss wird unverändert fortgesetzt. Verweigern Sie stattdessen durch das [`decision`-Objekt](#permissionrequest-decision-control) |

934| `UserPromptSubmit` | Ja | Blockiert die Prompt-Verarbeitung und löscht den Prompt |934| `UserPromptSubmit` | Ja | Blockiert die Prompt-Verarbeitung und löscht den Prompt |

935| `UserPromptExpansion` | Ja | Blockiert die Erweiterung |935| `UserPromptExpansion` | Ja | Blockiert die Erweiterung |

936| `Stop` | Ja | Verhindert, dass Claude stoppt, setzt das Gespräch fort |936| `Stop` | Ja | Verhindert, dass Claude stoppt, setzt die Konversation fort |

937| `SubagentStop` | Ja | Verhindert, dass der Subagent stoppt |937| `SubagentStop` | Ja | Verhindert, dass der Subagent stoppt |

938| `TeammateIdle` | Ja | Verhindert, dass der Teammate untätig wird, sodass er weiterarbeitet |938| `TeammateIdle` | Ja | Verhindert, dass der Teammate untätig wird, sodass er weiterarbeitet |

939| `TaskCreated` | Ja | Rollback der Aufgabenerstellung |939| `TaskCreated` | Ja | Rollback der Task-Erstellung |

940| `TaskCompleted` | Ja | Verhindert, dass die Aufgabe als abgeschlossen markiert wird |940| `TaskCompleted` | Ja | Verhindert, dass die Task als abgeschlossen markiert wird |

941| `ConfigChange` | Ja | Blockiert die Konfigurationsänderung von der Anwendung (außer `policy_settings`) |941| `ConfigChange` | Ja | Blockiert die Konfigurationsänderung von der Wirksamkeit (außer `policy_settings`) |

942| `StopFailure` | Nein | Ausgabe und Exit-Code werden ignoriert, außer `terminalSequence` |942| `StopFailure` | Nein | Ausgabe und Exit-Code werden ignoriert, außer `terminalSequence` |

943| `PostToolUse` | Nein | Zeigt stderr Claude an; das Tool wurde bereits ausgeführt |943| `PostToolUse` | Nein | Zeigt stderr Claude; das Tool ist bereits ausgeführt |

944| `PostToolUseFailure` | Nein | Zeigt stderr Claude an; das Tool ist bereits fehlgeschlagen |944| `PostToolUseFailure` | Nein | Zeigt stderr Claude; das Tool ist bereits fehlgeschlagen |

945| `PostToolBatch` | Ja | Stoppt die agentengesteuerte Schleife vor dem nächsten Modellaufruf |945| `PostToolBatch` | Ja | Stoppt die agentic Loop vor dem nächsten Modellaufruf |

946| `PermissionDenied` | Nein | Exit-Code und stderr werden ignoriert, da die Ablehnung bereits erfolgt ist. Verwenden Sie JSON `hookSpecificOutput.retry: true`, um dem Modell zu sagen, dass es möglicherweise erneut versuchen kann; Claude Code ignoriert `retry: true` für [Ablehnungen ohne Urteil](#permissiondenied-decision-control) |946| `PermissionDenied` | Nein | Exit-Code und stderr werden ignoriert, da die Verweigerung bereits aufgetreten ist. Verwenden Sie JSON `hookSpecificOutput.retry: true`, um dem Modell zu sagen, dass es möglicherweise erneut versuchen kann; Claude Code ignoriert `retry: true` für [No-Verdict-Verweigerungen](#permissiondenied-decision-control) |

947| `Notification` | Nein | Exit-Code und stderr werden ignoriert |947| `Notification` | Nein | Exit-Code und stderr werden ignoriert |

948| `SubagentStart` | Nein | Zeigt stderr nur dem Benutzer an |948| `SubagentStart` | Nein | Zeigt stderr nur dem Benutzer |

949| `SessionStart` | Nein | Zeigt stderr nur dem Benutzer an |949| `SessionStart` | Nein | Zeigt stderr nur dem Benutzer |

950| `Setup` | Nein | Exit-Code und stderr werden ignoriert |950| `Setup` | Nein | Exit-Code und stderr werden ignoriert |

951| `SessionEnd` | Nein | Zeigt stderr nur dem Benutzer an |951| `SessionEnd` | Nein | Zeigt stderr nur dem Benutzer |

952| `CwdChanged` | Nein | Zeigt stderr nur dem Benutzer an |952| `CwdChanged` | Nein | Zeigt stderr nur dem Benutzer |

953| `DirectoryAdded` | Nein | Stderr geht in das Debug-Log; das Verzeichnis ist bereits hinzugefügt |953| `DirectoryAdded` | Nein | Stderr geht in das Debug-Protokoll; das Verzeichnis ist bereits hinzugefügt |

954| `FileChanged` | Nein | Zeigt stderr nur dem Benutzer an |954| `FileChanged` | Nein | Zeigt stderr nur dem Benutzer |

955| `PreCompact` | Ja | Blockiert die Komprimierung |955| `PreCompact` | Ja | Blockiert die Komprimierung |

956| `PostCompact` | Nein | Zeigt stderr nur dem Benutzer an |956| `PostCompact` | Nein | Zeigt stderr nur dem Benutzer |

957| `PreModelSwitch` | Ja | Blockiert den Modellwechsel und zeigt stderr dem Benutzer an |957| `PreModelSwitch` | Ja | Blockiert den Modellwechsel und zeigt stderr dem Benutzer |

958| `PostModelSwitch` | Nein | Zeigt stderr nur dem Benutzer an; das Modell hat bereits gewechselt |958| `PostModelSwitch` | Nein | Zeigt stderr nur dem Benutzer; das Modell ist bereits gewechselt |

959| `Elicitation` | Ja | Verweigert die Elicitation |959| `Elicitation` | Ja | Verweigert die Elicitation |

960| `ElicitationResult` | Ja | Blockiert die Antwort (Aktion wird Ablehnung) |960| `ElicitationResult` | Ja | Blockiert die Antwort (Aktion wird Ablehnung) |

961| `WorktreeCreate` | Ja | Jeder Nicht-Null-Exit-Code führt zu Fehler bei der Worktree-Erstellung |961| `WorktreeCreate` | Ja | Jeder Nonzero-Exit-Code führt dazu, dass die Worktree-Erstellung fehlschlägt |

962| `WorktreeRemove` | Ja | Jeder Nicht-Null-Exit-Code lässt die Worktree-Entfernung fehlschlagen, wenn das Verzeichnis danach noch existiert. Siehe [WorktreeRemove](#worktreeremove) für das, was mit dem Verzeichnis passiert |962| `WorktreeRemove` | Ja | Jeder Nonzero-Exit-Code führt dazu, dass die Worktree-Entfernung fehlschlägt, wenn das Verzeichnis danach noch existiert. Siehe [WorktreeRemove](#worktreeremove) für das, was mit dem Verzeichnis passiert |

963| `InstructionsLoaded` | Nein | Exit-Code wird ignoriert |963| `InstructionsLoaded` | Nein | Exit-Code wird ignoriert |

964| `MessageDisplay` | Nein | Der ursprüngliche Text wird angezeigt |964| `MessageDisplay` | Nein | Der ursprüngliche Text wird angezeigt |

965 965 

966Für `SessionStart`, `SubagentStart` und `PostModelSwitch` rendert Claude Code den Exit-Code-2-stderr im Transkript als `<hook name> hook error`-Benachrichtigung, auf die gleiche Weise wie es einen [nicht-blockierenden Fehler](#exit-code-output) rendert. Claude sieht es nicht, und die Sitzung oder der Subagent wird fortgesetzt. Für `SubagentStart` wird die Benachrichtigung im eigenen Transkript des Subagenten angezeigt, nicht im übergeordneten Gespräch.966Für `SessionStart`, `SubagentStart` und `PostModelSwitch` rendert Claude Code den Exit-Code-2-stderr im Transkript als `<Hook-Name> hook error`-Hinweis, auf die gleiche Weise wie es einen [nicht blockierenden Fehler](#exit-code-output) rendert. Claude sieht es nicht, und die Session oder der Subagent wird fortgesetzt. Für `SubagentStart` erscheint der Hinweis im eigenen Transkript des Subagenten, nicht in der übergeordneten Konversation.

967 967 

968<h3 id="http-response-handling">968<h3 id="http-response-handling">

969 HTTP-Response-Behandlung969 HTTP-Response-Handling

970</h3>970</h3>

971 971 

972HTTP-Hooks verwenden HTTP-Statuscodes und Response-Bodies anstelle von Exit-Codes und stdout. Die Ergebnisse unten gelten für die meisten Ereignisse; ein Ereignis mit seinem eigenen Fehlervertrag in der [ereignisspezifischen Tabelle](#exit-code-2-behavior-per-event), wie `WorktreeCreate`, wendet diesen Vertrag auch auf einen fehlgeschlagenen HTTP-Hook an:972HTTP Hooks verwenden HTTP-Statuscodes und Response-Bodies anstelle von Exit-Codes und stdout. Die folgenden Ergebnisse gelten für die meisten Events; ein Event mit seinem eigenen Fehlervertrag in der [Pro-Event-Tabelle](#exit-code-2-behavior-per-event), wie `WorktreeCreate`, wendet diesen Vertrag auch auf einen fehlgeschlagenen HTTP-Hook an:

973 973 

974* **2xx mit leerem Body**: Erfolg, äquivalent zu Exit-Code 0 ohne Ausgabe974* **2xx mit leerem Body**: Erfolg, äquivalent zu Exit-Code 0 ohne Ausgabe

975* **2xx mit JSON-Objekt-Body**: analysiert mit dem gleichen [JSON-Ausgabe](#json-output)-Schema wie Command-Hooks. Ein Body, der die Schema-Validierung nicht besteht, ist ein nicht-blockierender Fehler975* **2xx mit JSON-Objekt-Body**: geparst mit dem gleichen [JSON-Ausgabe](#json-output)-Schema wie Command Hooks. Ein Body, der die Schema-Validierung nicht besteht, ist ein nicht blockierender Fehler

976* **2xx mit jedem anderen Body, wie Plain-Text**: nicht-blockierender Fehler, behandelt wie ein Nicht-2xx-Status. Claude Code fügt den Text nicht zu Claudes Kontext hinzu976* **2xx mit jedem anderen Body, wie einfacher Text**: nicht blockierender Fehler, behandelt wie ein Nicht-2xx-Status. Claude Code fügt den Text nicht zu Claudes Kontext hinzu

977* **Nicht-2xx-Status**: nicht-blockierender Fehler, Ausführung wird fortgesetzt977* **Nicht-2xx-Status**: nicht blockierender Fehler, Ausführung wird fortgesetzt

978* **Verbindungsfehler**: nicht-blockierender Fehler, Ausführung wird fortgesetzt978* **Verbindungsfehler**: nicht blockierender Fehler, Ausführung wird fortgesetzt

979* **Timeout**: der Hook wird abgebrochen, wie unter [Timeouts](#timeouts) beschrieben979* **Timeout**: der Hook wird abgebrochen, wie unter [Timeouts](#timeouts) beschrieben

980 980 

981Im Gegensatz zu Command-Hooks können HTTP-Hooks nicht allein durch Statuscodes einen blockierenden Fehler signalisieren. Um einen Tool-Aufruf zu blockieren oder eine Berechtigung zu verweigern, geben Sie eine 2xx-Antwort mit einem JSON-Body zurück, der die entsprechenden Entscheidungsfelder enthält.981Im Gegensatz zu Command Hooks können HTTP Hooks einen blockierenden Fehler nicht allein durch Statuscodes signalisieren. Um einen Tool-Aufruf zu blockieren oder eine Berechtigung zu verweigern, geben Sie eine 2xx-Response mit einem JSON-Body zurück, der die entsprechenden Entscheidungsfelder enthält.

982 982 

983<h3 id="json-output">983<h3 id="json-output">

984 JSON-Ausgabe984 JSON-Ausgabe

985</h3>985</h3>

986 986 

987Exit-Codes ermöglichen es Ihnen nur zu blockieren oder stillschweigend zu sein, aber JSON-Ausgabe gibt Ihnen eine feinere Kontrolle. Anstatt mit Code 2 zu beenden, um zu blockieren, beenden Sie mit 0 und geben Sie ein JSON-Objekt auf stdout aus. Claude Code liest spezifische Felder aus diesem JSON, um das Verhalten zu steuern, einschließlich [Entscheidungskontrolle](#decision-control) zum Blockieren, Zulassen oder Eskalieren an den Benutzer.987Exit-Codes lassen Sie nur blockieren oder schweigen, aber JSON-Ausgabe gibt Ihnen feinere Kontrolle. Anstatt mit Code 2 zu beenden, um zu blockieren, beenden Sie mit 0 und drucken Sie ein JSON-Objekt auf stdout. Claude Code liest spezifische Felder aus diesem JSON, um Verhalten zu steuern, einschließlich [Entscheidungskontrolle](#decision-control) zum Blockieren, Zulassen oder Eskalieren an den Benutzer.

988 988 

989<Note>989<Note>

990 Wählen Sie einen Ansatz pro Hook: verwenden Sie entweder Exit-Codes allein zum Signalisieren, oder beenden Sie mit 0 und geben Sie JSON für strukturierte Kontrolle aus. Wenn Sie sie mischen, behält Exit 2 seine [Blockierungsauswirkung](#exit-code-2-behavior-per-event), und Claude Code liest immer noch die JSON-Felder, mit der einen Elicitation-Ausnahme, die unter [Exit-Code 2](#exit-code-2) vermerkt ist.990 Wählen Sie einen Ansatz pro Hook: Verwenden Sie entweder Exit-Codes allein zum Signalisieren oder beenden Sie mit 0 und drucken Sie JSON für strukturierte Kontrolle. Wenn Sie sie mischen, behält Exit 2 seine [blockierende Auswirkung](#exit-code-2-behavior-per-event), und Claude Code liest immer noch die JSON-Felder, mit der einen Elicitation-Ausnahme, die unter [Exit-Code 2](#exit-code-2) notiert ist.

991</Note>991</Note>

992 992 

993Der stdout Ihres Hooks darf nur das JSON-Objekt enthalten. Wenn Ihr Shell-Profil beim Start Text ausgibt, kann dies die JSON-Analyse beeinträchtigen. Siehe [Hook-JSON hat keine Auswirkung](/docs/de/hooks-guide#hook-json-has-no-effect) in der Fehlerbehebungsanleitung.993Der stdout Ihres Hooks muss nur das JSON-Objekt enthalten. Wenn Ihr Shell-Profil beim Start Text druckt, kann es die JSON-Analyse beeinträchtigen. Siehe [Hook JSON hat keine Auswirkung](/docs/de/hooks-guide#hook-json-has-no-effect) im Troubleshooting-Leitfaden.

994 994 

995Die Strings `additionalContext`, `systemMessage` und `initialUserMessage` eines Hooks sowie sein Plain-stdout sind auf 10.000 Zeichen begrenzt:995Die Strings `additionalContext`, `systemMessage` und `initialUserMessage` eines Hooks sowie sein einfacher stdout sind auf 10.000 Zeichen begrenzt:

996 996 

997* **Umfang**: Claude Code misst jeden String für sich allein, auch wenn mehrere Hooks für das gleiche Ereignis ausgeführt werden. Für JSON-Ausgabe wird jedes Feld separat gemessen; Plain-stdout wird als Ganzes gemessen.997* **Umfang**: Claude Code misst jeden String für sich, auch wenn mehrere Hooks für den gleichen Event ausgeführt werden. Für JSON-Ausgabe wird jedes Feld separat gemessen; einfacher stdout wird als Ganzes gemessen.

998* **Über dem Limit**: Claude Code speichert die Ausgabe in einer Datei im Sitzungsverzeichnis und ersetzt sie durch den Dateipfad und eine Vorschau von bis zu den ersten 2.000 Zeichen. Ein großes gültiges Bash-Ergebnis wird auf die gleiche Weise behandelt, wie unter [Ausgabelimits](/docs/de/tools-reference#output-limits) beschrieben. Im Gegensatz zu dieser Bash-Obergrenze hat diese Obergrenze keine Einstellung oder Umgebungsvariable, um sie zu erhöhen.998* **Über dem Limit**: Claude Code speichert die Ausgabe in einer Datei im Session-Verzeichnis und ersetzt sie durch den Dateipfad und eine Vorschau von bis zu den ersten 2.000 Zeichen. Ein großes gültiges Bash-Ergebnis wird auf die gleiche Weise behandelt, beschrieben unter [Ausgabelimits](/docs/de/tools-reference#output-limits). Im Gegensatz zu dieser Bash-Obergrenze hat diese Obergrenze keine Einstellung oder Umgebungsvariable, um sie zu erhöhen.

999* **Datei lesen**: Claude Code fordert Claude nicht auf, die Datei zu lesen, daher halten Sie alles, das Claude immer sehen muss, innerhalb der Obergrenze.999* **Datei lesen**: Claude Code bittet Claude nicht, die Datei zu lesen, daher halten Sie alles, das Claude immer sehen muss, innerhalb der Obergrenze.

1000 1000 

1001Das JSON-Objekt unterstützt drei Arten von Feldern:1001Das JSON-Objekt unterstützt drei Arten von Feldern:

1002 1002 

1003* **Universelle Felder** wie `continue` sind in der Tabelle unten aufgelistet. Jedes Ereignis akzeptiert sie, aber einige Ereignisse verwerfen sie oder liefern `systemMessage` an anderer Stelle als dem Transkript. Jeder Abschnitt eines Ereignisses sagt so. `terminalSequence` funktioniert auch auf diesen Ereignissen, mit den Ausnahmen, die unter [Terminal-Benachrichtigungen ausgeben](#emit-terminal-notifications) aufgelistet sind.1003* **Universelle Felder** wie `continue` sind in der folgenden Tabelle aufgelistet. Jeder Event akzeptiert sie, aber einige Events verwerfen sie oder liefern `systemMessage` an anderer Stelle als dem Transkript. Jeder Event-Abschnitt sagt so. `terminalSequence` funktioniert auch auf diesen Events, mit den Ausnahmen, die unter [Terminal-Benachrichtigungen ausgeben](#emit-terminal-notifications) aufgelistet sind.

1004* **Top-Level `decision` und `reason`** werden von einigen Ereignissen verwendet, um zu blockieren oder Feedback zu geben.1004* **Top-Level `decision` und `reason`** werden von einigen Events verwendet, um zu blockieren oder Feedback zu geben.

1005* **`hookSpecificOutput`** ist ein verschachteltes Objekt für Ereignisse, die reichere Kontrolle benötigen. Es erfordert ein `hookEventName`-Feld, das auf den Ereignisnamen gesetzt ist.1005* **`hookSpecificOutput`** ist ein verschachteltes Objekt für Events, die reichere Kontrolle benötigen. Es erfordert ein `hookEventName`-Feld, das auf den Event-Namen gesetzt ist.

1006 1006 

1007| Feld | Standard | Beschreibung |1007| Feld | Standard | Beschreibung |

1008| :----------------- | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1008| :----------------- | :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1009| `continue` | `true` | Wenn `false`, stoppt Claude die Verarbeitung vollständig, nachdem der Hook ausgeführt wurde. Hat Vorrang vor allen ereignisspezifischen Entscheidungsfeldern |1009| `continue` | `true` | Wenn `false`, stoppt Claude die Verarbeitung vollständig, nachdem der Hook ausgeführt wird. Hat Vorrang vor allen Event-spezifischen Entscheidungsfeldern |

1010| `stopReason` | keine | Nachricht, die dem Benutzer angezeigt wird, wenn `continue` `false` ist. Sie bleibt in der Konversation, sodass Claude sie sieht, wenn die Konversation fortgesetzt wird |1010| `stopReason` | keine | Meldung, die dem Benutzer angezeigt wird, wenn `continue` `false` ist. Sie bleibt in der Konversation, sodass Claude sie sieht, wenn die Konversation fortgesetzt wird |

1011| `suppressOutput` | `false` | Hat keine Auswirkung: Claude Code akzeptiert das Feld, aber handelt nicht danach. Der stdout eines erfolgreichen Hooks wird nie im Transkript angezeigt und wird im Debug-Log aufgezeichnet |1011| `suppressOutput` | `false` | Hat keine Auswirkung: Claude Code akzeptiert das Feld, aber handelt nicht danach. Der stdout eines erfolgreichen Hooks wird nie im Transkript angezeigt und wird im Debug-Protokoll aufgezeichnet |

1012| `systemMessage` | keine | Warnmeldung, die dem Benutzer angezeigt wird. In [Agent SDK](/docs/de/agent-sdk/overview) und [`--output-format stream-json`](/docs/de/headless)-Ausgabe kann es als [`SDKInformationalMessage`](/docs/de/agent-sdk/typescript#sdkinformationalmessage) ankommen |1012| `systemMessage` | keine | Warnmeldung, die dem Benutzer angezeigt wird. In [Agent SDK](/docs/de/agent-sdk/overview) und [`--output-format stream-json`](/docs/de/headless)-Ausgabe kann es als [`SDKInformationalMessage`](/docs/de/agent-sdk/typescript#sdkinformationalmessage) ankommen |

1013| `terminalSequence` | keine | Eine Terminal-Escape-Sequenz, die Claude Code in Ihrem Namen ausgeben soll, wie eine Desktop-Benachrichtigung, ein Fenstertitel oder eine Glocke. Beschränkt auf OSC `0`/`1`/`2`/`9`/`99`/`777` und BEL. Wenn der Wert etwas außerhalb der Zulassungsliste enthält, wird das Feld ignoriert. Verwenden Sie dies anstelle des Schreibens zu `/dev/tty`, das für Hooks nicht verfügbar ist |1013| `terminalSequence` | keine | Eine Terminal-Escape-Sequenz, die Claude Code in Ihrem Namen ausgeben soll, wie eine Desktop-Benachrichtigung, einen Fenstertitel oder eine Glocke. Beschränkt auf OSC `0`/`1`/`2`/`9`/`99`/`777` und BEL. Wenn der Wert etwas außerhalb der Zulassungsliste enthält, wird das Feld ignoriert. Verwenden Sie dies anstelle des Schreibens zu `/dev/tty`, das für Hooks nicht verfügbar ist |

1014 1014 

1015Um Claude vollständig zu stoppen:1015Um Claude vollständig zu stoppen:

1016 1016 


1018{ "continue": false, "stopReason": "Build failed, fix errors before continuing" }1018{ "continue": false, "stopReason": "Build failed, fix errors before continuing" }

1019```1019```

1020 1020 

1021Für `PreToolUse` und `PostToolUse`-Hooks gilt der Stopp auch, wenn der Tool-Aufruf fehlschlägt oder abgeschlossen wird, während Claude immer noch eine Antwort streamt.1021Für `PreToolUse`- und `PostToolUse`-Hooks gilt der Stop auch, wenn der Tool-Aufruf fehlschlägt oder abgeschlossen wird, während Claude immer noch eine Antwort streamt.

1022 1022 

1023<h4 id="emit-terminal-notifications">1023<h4 id="emit-terminal-notifications">

1024 Terminal-Benachrichtigungen ausgeben1024 Terminal-Benachrichtigungen ausgeben

1025</h4>1025</h4>

1026 1026 

1027Hooks werden ohne steuerndes Terminal ausgeführt, daher schlägt das direkte Schreiben von Escape-Sequenzen zu `/dev/tty` fehl. Geben Sie stattdessen die Escape-Sequenz im Feld `terminalSequence` zurück und Claude Code gibt sie für Sie über seinen eigenen Terminal-Schreibpfad aus. Dies ist race-frei, funktioniert innerhalb von tmux und GNU screen und funktioniert unter Windows, wo es kein `/dev/tty` gibt.1027Hooks werden ohne steuerndes Terminal ausgeführt, daher schlägt das direkte Schreiben von Escape-Sequenzen zu `/dev/tty` fehl. Geben Sie stattdessen die Escape-Sequenz im `terminalSequence`-Feld zurück und Claude Code gibt sie für Sie über seinen eigenen Terminal-Schreibpfad aus. Dies ist race-frei, funktioniert innerhalb von tmux und GNU screen und funktioniert unter Windows, wo es kein `/dev/tty` gibt.

1028 1028 

1029Das Feld akzeptiert einen String aus einer oder mehreren zugelassenen Escape-Sequenzen:1029Das Feld akzeptiert einen String von einer oder mehreren zugelassenen Escape-Sequenzen:

1030 1030 

1031* OSC `0`, `1`, `2`: Fenster- und Symboltitel1031* OSC `0`, `1`, `2`: Fenster- und Icon-Titel

1032* OSC `9`: iTerm2-, ConEmu-, Windows Terminal- und WezTerm-Benachrichtigungen, einschließlich `9;4` Taskleisten-Fortschritt1032* OSC `9`: iTerm2, ConEmu, Windows Terminal und WezTerm-Benachrichtigungen, einschließlich `9;4` Taskleisten-Fortschritt

1033* OSC `99`: Kitty-Benachrichtigungen1033* OSC `99`: Kitty-Benachrichtigungen

1034* OSC `777`: urxvt-, Ghostty- und Warp-Benachrichtigungen1034* OSC `777`: urxvt, Ghostty und Warp-Benachrichtigungen

1035* Bare BEL1035* Bare BEL

1036 1036 

1037Sequenzen können mit BEL oder mit ST beendet werden. Alles außerhalb der Zulassungsliste, einschließlich CSI-Cursor- und Farbsequenzen, OSC-Palettensequenzen, OSC-8-Hyperlinks, OSC-52-Zwischenablage-Schreibvorgänge und OSC-1337, wird abgelehnt und das Feld wird ignoriert.1037Sequenzen können mit BEL oder mit ST beendet werden. Alles außerhalb der Zulassungsliste, einschließlich CSI-Cursor- und Farbsequenzen, OSC-Palettensequenzen, OSC-8-Hyperlinks, OSC-52-Clipboard-Schreibvorgänge und OSC 1337, wird abgelehnt und das Feld wird ignoriert.

1038 1038 

1039Claude Code gibt die Sequenz selbst aus, wenn es die Ausgabe Ihres Hooks verarbeitet, sodass das Feld bei Ereignissen funktioniert, die `systemMessage` und `continue` verwerfen, wie `Notification` und `StopFailure`. Es hat zwei Limits:1039Claude Code schreibt die Sequenz selbst, wenn es Ihre Hook-Ausgabe verarbeitet, sodass das Feld bei Events funktioniert, die `systemMessage` und `continue` verwerfen, wie `Notification` und `StopFailure`. Es hat zwei Limits:

1040 1040 

1041* Claude Code gibt die Sequenz nur in einer interaktiven Sitzung aus, und nur während seine Benutzeroberfläche auf dem Bildschirm ist. Im nicht-interaktiven Modus mit dem `-p`-Flag und im Agent SDK ignoriert es das Feld.1041* Claude Code schreibt die Sequenz nur in einer interaktiven Session und nur, während seine Schnittstelle auf dem Bildschirm ist. Im nicht-interaktiven Modus mit dem `-p`-Flag und im Agent SDK ignoriert es das Feld.

1042* Ein `WorktreeCreate`-Command-Hook kann kein JSON zurückgeben, da Claude Code seinen stdout als Worktree-Pfad liest. Ein HTTP-`WorktreeCreate`-Hook gibt JSON zurück und kann das Feld enthalten.1042* Ein `WorktreeCreate`-Command-Hook kann kein JSON zurückgeben, da Claude Code seinen stdout als Worktree-Pfad liest. Ein HTTP-`WorktreeCreate`-Hook gibt JSON zurück und kann das Feld enthalten.

1043 1043 

1044Das Beispiel unten löst eine Desktop-Benachrichtigung von einem `Notification`-Hook aus. Die Escape-Sequenz wird mit `printf`-Oktalescapes erstellt, sodass die Steuerbytes nie auf der Shell-Befehlszeile erscheinen, und `jq -n --arg` erstellt die JSON-Ausgabe, sodass Anführungszeichen, Backslashes und Zeilenumbrüche in der Benachrichtigungsmeldung korrekt escaped werden:1044Das folgende Beispiel löst eine Desktop-Benachrichtigung von einem `Notification`-Hook aus. Die Escape-Sequenz wird mit `printf`-Oktal-Escapes erstellt, sodass die Steuerbytes nie auf der Shell-Befehlszeile erscheinen, und `jq -n --arg` erstellt die JSON-Ausgabe, sodass Anführungszeichen, Backslashes und Zeilenumbrüche in der Benachrichtigungsmeldung korrekt escaped werden:

1045 1045 

1046```bash theme={null}1046```bash theme={null}

1047#!/bin/bash1047#!/bin/bash

1048# Notification-Hook: Ping des Desktops, wenn Claude Code Aufmerksamkeit benötigt.1048# Notification hook: ping the desktop when Claude Code needs attention.

1049input=$(cat)1049input=$(cat)

1050title="Claude Code"1050title="Claude Code"

1051body=$(jq -r '.message // "Needs your attention"' <<<"$input")1051body=$(jq -r '.message // "Needs your attention"' <<<"$input")


1053jq -nc --arg seq "$seq" '{terminalSequence: $seq}'1053jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

1054```1054```

1055 1055 

1056Die Form `{ "terminalSequence": "..." }` ist die gleiche aus jeder Shell oder Sprache.1056Die `{ "terminalSequence": "..." }`-Form ist die gleiche aus jeder Shell oder Sprache.

1057 1057 

1058<h4 id="add-context-for-claude">1058<h4 id="add-context-for-claude">

1059 Kontext für Claude hinzufügen1059 Kontext für Claude hinzufügen

1060</h4>1060</h4>

1061 1061 

1062Das Feld `additionalContext` übergibt einen String aus Ihrem Hook in Claudes Kontextfenster. Claude Code umhüllt den String in eine Systemerinnerung und fügt ihn in das Gespräch an dem Punkt ein, an dem der Hook ausgelöst wurde. Claude liest die Erinnerung bei der nächsten Modellanfrage, aber sie wird nicht als Chat-Nachricht in der Benutzeroberfläche angezeigt.1062Das `additionalContext`-Feld übergibt einen String von Ihrem Hook in Claudes Kontextfenster. Claude Code umhüllt den String in eine Systemerinnerung und fügt ihn in die Konversation an dem Punkt ein, an dem der Hook ausgelöst wurde. Claude liest die Erinnerung bei der nächsten Modellanfrage, aber sie erscheint nicht als Chat-Nachricht in der Schnittstelle.

1063 1063 

1064Geben Sie `additionalContext` innerhalb von `hookSpecificOutput` neben dem Ereignisnamen zurück:1064Geben Sie `additionalContext` innerhalb von `hookSpecificOutput` neben dem Event-Namen zurück:

1065 1065 

1066```json theme={null}1066```json theme={null}

1067{1067{


1072}1072}

1073```1073```

1074 1074 

1075Wo die Erinnerung angezeigt wird, hängt vom Ereignis ab:1075Wo die Erinnerung erscheint, hängt vom Event ab:

1076 1076 

1077* [SessionStart](#sessionstart) und [SubagentStart](#subagentstart): am Anfang der Konversation, vor der ersten Eingabeaufforderung1077* [SessionStart](#sessionstart) und [SubagentStart](#subagentstart): am Anfang der Konversation, vor dem ersten Prompt

1078* [UserPromptSubmit](#userpromptsubmit) und [UserPromptExpansion](#userpromptexpansion): neben der eingereichten Eingabeaufforderung1078* [UserPromptSubmit](#userpromptsubmit) und [UserPromptExpansion](#userpromptexpansion): neben dem eingereichten Prompt

1079* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) und [PostToolBatch](#posttoolbatch): neben dem Tool-Ergebnis1079* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) und [PostToolBatch](#posttoolbatch): neben dem Tool-Ergebnis

1080* [Stop](#stop) und [SubagentStop](#subagentstop): am Ende des Zugs. Die Konversation wird fortgesetzt, sodass Claude auf das Feedback reagieren kann. Siehe [Stop-Entscheidungskontrolle](#stop-decision-control)1080* [Stop](#stop) und [SubagentStop](#subagentstop): am Ende des Turns. Die Konversation wird fortgesetzt, sodass Claude auf das Feedback reagieren kann. Siehe [Stop-Entscheidungskontrolle](#stop-decision-control)

1081* [PostModelSwitch](#postmodelswitch): mit der nächsten Anfrage nach dem Wechsel. Siehe [PostModelSwitch-Entscheidungskontrolle](#postmodelswitch-decision-control) für Timing1081* [PostModelSwitch](#postmodelswitch): mit der nächsten Anfrage nach dem Wechsel. Siehe [PostModelSwitch-Entscheidungskontrolle](#postmodelswitch-decision-control) für Timing

1082 1082 

1083Wenn mehrere Hooks `additionalContext` für das gleiche Ereignis zurückgeben, erhält Claude alle Werte.1083Wenn mehrere Hooks `additionalContext` für den gleichen Event zurückgeben, empfängt Claude alle Werte.

1084 1084 

1085Wenn ein Wert 10.000 Zeichen überschreitet, schreibt Claude Code den Text in eine Datei im Sitzungsverzeichnis und übergibt Claude stattdessen den Dateipfad mit einer Vorschau von bis zu den ersten 2.000 Zeichen. Claude kann die Datei lesen, aber Claude Code fordert es nicht auf.1085Wenn ein Wert 10.000 Zeichen überschreitet, schreibt Claude Code den Text in eine Datei im Session-Verzeichnis und übergibt Claude stattdessen den Dateipfad mit einer Vorschau von bis zu den ersten 2.000 Zeichen. Claude kann die Datei lesen, aber Claude Code bittet nicht darum.

1086 1086 

1087Verwenden Sie `additionalContext` für Informationen, die Claude über den aktuellen Zustand Ihrer Umgebung oder die gerade ausgeführte Operation wissen sollte:1087Verwenden Sie `additionalContext` für Informationen, die Claude über den aktuellen Zustand Ihrer Umgebung oder die gerade ausgeführte Operation wissen sollte:

1088 1088 

1089* **Umgebungszustand**: der aktuelle Branch, das Bereitstellungsziel oder aktive Feature-Flags1089* **Umgebungszustand**: der aktuelle Branch, Bereitstellungsziel oder aktive Feature-Flags

1090* **Bedingte Projektregeln**: welcher Test-Befehl für die gerade bearbeitete Datei gilt, welche Verzeichnisse in diesem Worktree schreibgeschützt sind1090* **Bedingte Projektregeln**: welcher Test-Befehl für die gerade bearbeitete Datei gilt, welche Verzeichnisse in diesem Worktree schreibgeschützt sind

1091* **Externe Daten**: offene Probleme, die Ihnen zugewiesen sind, aktuelle CI-Ergebnisse, Inhalte, die von einem internen Service abgerufen wurden1091* **Externe Daten**: offene Issues, die Ihnen zugewiesen sind, aktuelle CI-Ergebnisse, Inhalte, die von einem internen Service abgerufen wurden

1092 1092 

1093Für Anweisungen, die sich nie ändern, bevorzugen Sie [CLAUDE.md](/docs/de/memory). Es wird ohne Ausführung eines Skripts geladen und ist der Standardort für statische Projektkonventionen.1093Für Anweisungen, die sich nie ändern, bevorzugen Sie [CLAUDE.md](/docs/de/memory). Es wird ohne Ausführung eines Skripts geladen und ist der Standard-Ort für statische Projektkonventionen.

1094 1094 

1095Schreiben Sie den Text als sachliche Aussagen statt als imperative Systembefehle. Formulierungen wie „Das Bereitstellungsziel ist Produktion" oder „Dieses Repo verwendet `bun test`" werden als Projektinformationen gelesen. Text, der als Out-of-Band-Systembefehle formuliert ist, kann Claudes Prompt-Injection-Abwehr auslösen, was dazu führt, dass Claude den Text an Sie zurückgibt, anstatt ihn als Kontext zu behandeln.1095Schreiben Sie den Text als sachliche Aussagen statt imperativer Systembefehle. Formulierungen wie „Das Bereitstellungsziel ist Produktion" oder „Dieses Repo verwendet `bun test`" werden als Projektinformationen gelesen. Text, der als Out-of-Band-Systembefehle formuliert ist, kann Claudes Prompt-Injection-Abwehr auslösen, was dazu führt, dass Claude den Text an Sie übermittelt, anstatt ihn als Kontext zu behandeln.

1096 1096 

1097Claude Code speichert den eingespritzt Text im Sitzungstranskript. Für Mid-Session-Ereignisse wie `PostToolUse` oder `UserPromptSubmit` wird beim Fortsetzen mit `--continue` oder `--resume` der gespeicherte Text erneut abgespielt, anstatt den Hook für vergangene Umdrehungen erneut auszuführen, sodass Werte wie Zeitstempel oder Commit-SHAs beim Fortsetzen veraltet werden. `SessionStart`-Hooks werden beim Fortsetzen mit `source` auf `"resume"` gesetzt erneut ausgeführt, oder `"fork"` wenn Sie `--fork-session` hinzugefügt haben, sodass sie ihren Kontext aktualisieren können.1097Claude Code speichert den eingefügten Text im Session-Transkript. Für Mid-Session-Events wie `PostToolUse` oder `UserPromptSubmit`, wenn Sie mit `--continue` oder `--resume` fortfahren, spielt Claude Code den gespeicherten Text erneut ab, anstatt den Hook für vergangene Turns erneut auszuführen, sodass Werte wie Zeitstempel oder Commit-SHAs veraltet werden. `SessionStart`-Hooks werden bei Wiederaufnahme mit `source` auf `"resume"` oder `"fork"` gesetzt, wenn Sie `--fork-session` hinzugefügt haben, erneut ausgeführt, sodass sie ihren Kontext aktualisieren können.

1098 1098 

1099<h4 id="decision-control">1099<h4 id="decision-control">

1100 Entscheidungskontrolle1100 Entscheidungskontrolle

1101</h4>1101</h4>

1102 1102 

1103Nicht jedes Ereignis unterstützt das Blockieren oder Steuern des Verhaltens durch JSON. Die Ereignisse, die dies tun, verwenden jeweils einen anderen Satz von Feldern, um diese Entscheidung auszudrücken. Verwenden Sie diese Tabelle als schnelle Referenz, bevor Sie einen Hook schreiben:1103Nicht jeder Event unterstützt Blockierung oder Verhaltenskontrolle durch JSON. Die Events, die dies tun, verwenden jeweils einen anderen Satz von Feldern, um diese Entscheidung auszudrücken. Verwenden Sie diese Tabelle als schnelle Referenz, bevor Sie einen Hook schreiben:

1104 1104 

1105| Ereignisse | Entscheidungsmuster | Schlüsselfelder |1105| Events | Entscheidungsmuster | Schlüsselfelder |

1106| :---------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1106| :---------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1107| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | Top-Level `decision` | `decision: "block"`, `reason`. Stop und SubagentStop akzeptieren auch `hookSpecificOutput.additionalContext` für [nicht-fehlerhafte Rückmeldung, die die Konversation fortsetzt](#stop-decision-control) |1107| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | Top-Level `decision` | `decision: "block"`, `reason`. Stop und SubagentStop akzeptieren auch `hookSpecificOutput.additionalContext` für [nicht-fehlerhafte Rückmeldung, die die Konversation fortsetzt](#stop-decision-control) |

1108| TeammateIdle, TaskCompleted | Exit-Code oder `continue: false` | Exit-Code 2 blockiert die Aktion mit stderr-Feedback. JSON `{"continue": false, "stopReason": "..."}` stoppt auch den Teammate vollständig, was dem `Stop`-Hook-Verhalten entspricht; [TaskCompleted ignoriert es, wenn das `TaskUpdate`-Tool das Ereignis ausgelöst hat](#taskcompleted-decision-control) |1108| TeammateIdle, TaskCompleted | Exit-Code oder `continue: false` | Exit-Code 2 blockiert die Aktion mit stderr-Rückmeldung. JSON `{"continue": false, "stopReason": "..."}` stoppt auch den Teammate vollständig, was dem `Stop`-Hook-Verhalten entspricht; [TaskCompleted ignoriert es, wenn das `TaskUpdate`-Tool den Event ausgelöst hat](#taskcompleted-decision-control) |

1109| TaskCreated | Exit-Code oder Top-Level `decision` | Exit-Code 2 oder `decision: "block"` [bricht die Aufgabe ab](#taskcreated-decision-control) und gibt die Nachricht an Claude zurück. `continue: false` wird ignoriert |1109| TaskCreated | Exit-Code oder Top-Level `decision` | Exit-Code 2 oder `decision: "block"` [bricht die Task ab](#taskcreated-decision-control) und gibt die Meldung an Claude zurück. `continue: false` wird ignoriert |

1110| PreToolUse | `hookSpecificOutput` | `permissionDecision` (allow/deny/ask/defer), `permissionDecisionReason` |1110| PreToolUse | `hookSpecificOutput` | `permissionDecision` (allow/deny/ask/defer), `permissionDecisionReason` |

1111| PreModelSwitch | `hookSpecificOutput` oder Top-Level `decision` | `permissionDecision` (allow/deny/ask), `permissionDecisionReason`. `decision: "block"` [bricht auch den Wechsel ab](#premodelswitch-decision-control) |1111| PreModelSwitch | `hookSpecificOutput` oder Top-Level `decision` | `permissionDecision` (allow/deny/ask), `permissionDecisionReason`. `decision: "block"` [bricht auch den Wechsel ab](#premodelswitch-decision-control) |

1112| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |1112| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |

1113| PermissionDenied | `hookSpecificOutput` | `retry: true` teilt dem Modell mit, dass es möglicherweise den verweigerten Tool-Aufruf erneut versuchen kann; Claude Code ignoriert es für [Ablehnungen ohne Urteil](#permissiondenied-decision-control) |1113| PermissionDenied | `hookSpecificOutput` | `retry: true` teilt dem Modell mit, dass es den verweigerten Tool-Aufruf möglicherweise erneut versuchen kann; Claude Code ignoriert es für [No-Verdict-Verweigerungen](#permissiondenied-decision-control) |

1114| WorktreeCreate | Pfad-Rückgabe | Command-Hook gibt Pfad auf stdout aus; HTTP-Hook gibt `hookSpecificOutput.worktreePath` zurück. Hook-Fehler oder fehlender Pfad schlägt die Erstellung fehl |1114| WorktreeCreate | Pfad-Rückgabe | Command Hook druckt Pfad auf stdout; HTTP Hook gibt `hookSpecificOutput.worktreePath` zurück. Hook-Fehler oder fehlender Pfad schlägt die Erstellung fehl |

1115| WorktreeRemove | Exit-Code | Jeder Nicht-Null-Exit-Code lässt die Entfernung fehlschlagen, wenn das Verzeichnis danach noch existiert. Siehe [WorktreeRemove](#worktreeremove) für das, was mit dem Verzeichnis passiert |1115| WorktreeRemove | Exit-Code | Jeder Nonzero-Exit-Code lässt die Entfernung fehlschlagen, wenn das Verzeichnis danach noch existiert. JSON-Ausgabe wird verworfen |

1116| Elicitation | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (Formularfeldwerte für accept) |1116| Elicitation | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (Formularfeldwerte für accept) |

1117| ElicitationResult | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (Formularfeldwerte überschreiben) |1117| ElicitationResult | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (Formularfeldwerte überschreiben) |

1118| MessageDisplay | `hookSpecificOutput` | `displayContent` ersetzt den angezeigten Text auf dem Bildschirm. Nur Anzeige: das Transkript und das, was Claude sieht, behalten das Original |1118| MessageDisplay | `hookSpecificOutput` | `displayContent` ersetzt den angezeigten Text auf dem Bildschirm. Nur Anzeige: das Transkript und das, was Claude sieht, behalten das Original |

1119| SessionStart, SubagentStart, PostModelSwitch | Nur Kontext | `hookSpecificOutput.additionalContext` fügt Kontext für Claude hinzu. SessionStart akzeptiert auch [`initialUserMessage`, `watchPaths`, `sessionTitle` und `reloadSkills`](#sessionstart-decision-control). Keine Blockierung oder Entscheidungskontrolle |1119| SessionStart, SubagentStart, PostModelSwitch | Nur Kontext | `hookSpecificOutput.additionalContext` fügt Kontext für Claude hinzu. SessionStart akzeptiert auch [`initialUserMessage`, `watchPaths`, `sessionTitle` und `reloadSkills`](#sessionstart-decision-control). Keine Blockierung oder Entscheidungskontrolle |

1120| Setup, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, DirectoryAdded, FileChanged | Keine | Keine Entscheidungskontrolle. Wird für Nebenwirkungen wie Protokollierung oder Bereinigung verwendet |1120| Setup, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, DirectoryAdded, FileChanged | Keine | Keine Entscheidungskontrolle. Wird für Nebeneffekte wie Protokollierung oder Bereinigung verwendet |

1121 1121 

1122Einige Ereignisse können auch Inhalte umschreiben, anstatt nur zuzulassen oder zu blockieren:1122Einige Events können auch Inhalte umschreiben, anstatt nur zu erlauben oder zu blockieren:

1123 1123 

1124* `PreToolUse`: `updatedInput` direkt unter `hookSpecificOutput` ersetzt die Argumente eines Tools, bevor es ausgeführt wird. Siehe [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control)1124* `PreToolUse`: `updatedInput` direkt unter `hookSpecificOutput` ersetzt die Argumente eines Tools, bevor es ausgeführt wird. Siehe [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control)

1125* `PermissionRequest`: `updatedInput` innerhalb des `decision`-Objekts. Siehe [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control)1125* `PermissionRequest`: `updatedInput` innerhalb des `decision`-Objekts. Siehe [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control)

1126* `PostToolUse`: `updatedToolOutput` ersetzt das Ergebnis des Tools. Siehe [PostToolUse-Entscheidungskontrolle](#posttooluse-decision-control)1126* `PostToolUse`: `updatedToolOutput` ersetzt das Tool-Ergebnis. Siehe [PostToolUse-Entscheidungskontrolle](#posttooluse-decision-control)

1127* `UserPromptSubmit`: kann die Eingabeaufforderung nicht ersetzen; injiziert nur `additionalContext` daneben1127* `UserPromptSubmit`: kann den Prompt nicht ersetzen; es injiziert nur `additionalContext` daneben

1128 1128 

1129Für Redaktions- oder Transformationsfälle fangen Sie bei `PreToolUse` für ausgehende Tool-Eingaben und `PostToolUse` für eingehende Tool-Ergebnisse ab.1129Für Redaktions- oder Transformationsfälle, fangen Sie bei `PreToolUse` für ausgehende Tool-Eingaben und `PostToolUse` für eingehende Tool-Ergebnisse ab.

1130 1130 

1131Hier sind Beispiele für jedes Muster in Aktion:1131Hier sind Beispiele für jedes Muster in Aktion:

1132 1132 

1133<Tabs>1133<Tabs>

1134 <Tab title="Top-Level-Entscheidung">1134 <Tab title="Top-level decision">

1135 Der einzige Wert für `decision` ist `"block"`. Um die Aktion fortzusetzen, lassen Sie `decision` aus Ihrem JSON weg, oder beenden Sie mit 0 ohne jede JSON:1135 Der einzige Wert für `decision` ist `"block"`. Um die Aktion fortzusetzen, lassen Sie `decision` aus Ihrem JSON weg oder beenden Sie mit 0 ohne JSON:

1136 1136 

1137 ```json theme={null}1137 ```json theme={null}

1138 {1138 {


1143 </Tab>1143 </Tab>

1144 1144 

1145 <Tab title="PreToolUse">1145 <Tab title="PreToolUse">

1146 Verwendet `hookSpecificOutput` für reichere Kontrolle: zulassen, verweigern oder an den Benutzer eskalieren. Sie können auch die Tool-Eingabe vor der Ausführung ändern oder zusätzlichen Kontext für Claude injizieren. Siehe [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control) für den vollständigen Satz von Optionen.1146 Verwendet `hookSpecificOutput` für reichere Kontrolle: erlauben, verweigern oder eskalieren an den Benutzer. Sie können auch Tool-Eingabe vor der Ausführung ändern oder zusätzlichen Kontext für Claude injizieren. Siehe [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control) für den vollständigen Satz von Optionen.

1147 1147 

1148 ```json theme={null}1148 ```json theme={null}

1149 {1149 {


1157 </Tab>1157 </Tab>

1158 1158 

1159 <Tab title="PermissionRequest">1159 <Tab title="PermissionRequest">

1160 Verwendet `hookSpecificOutput`, um eine Berechtigungsanfrage im Namen des Benutzers zuzulassen oder zu verweigern. Beim Zulassen können Sie auch die Eingabe des Tools ändern oder Berechtigungsregeln anwenden, damit der Benutzer nicht erneut aufgefordert wird. Siehe [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control) für den vollständigen Satz von Optionen.1160 Verwendet `hookSpecificOutput`, um eine Berechtigungsanfrage im Namen des Benutzers zu erlauben oder zu verweigern. Beim Erlauben können Sie auch die Tool-Eingabe ändern oder Berechtigungsregeln anwenden, sodass der Benutzer nicht erneut aufgefordert wird. Siehe [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control) für den vollständigen Satz von Optionen.

1161 1161 

1162 ```json theme={null}1162 ```json theme={null}

1163 {1163 {


1175 </Tab>1175 </Tab>

1176</Tabs>1176</Tabs>

1177 1177 

1178Erweiterte Beispiele einschließlich Bash-Befehlsvalidierung, Prompt-Filterung und Auto-Genehmigungsskripte finden Sie unter [Was Sie automatisieren können](/docs/de/hooks-guide#what-you-can-automate) in der Anleitung und der [Bash-Befehlsvalidierungs-Referenzimplementierung](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py).1178Für erweiterte Beispiele einschließlich Bash-Befehlsvalidierung, Prompt-Filterung und Auto-Approval-Skripte, siehe [Was Sie automatisieren können](/docs/de/hooks-guide#what-you-can-automate) im Leitfaden und die [Bash-Befehlsvalidierungs-Referenzimplementierung](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py).

1179 1179 

1180<h2 id="hook-events">1180<h2 id="hook-events">

1181 Hook-Ereignisse1181 Hook-Ereignisse

1182</h2>1182</h2>

1183 1183 

1184Jedes Ereignis entspricht einem Punkt im Lebenszyklus von Claude Code, an dem Hooks ausgeführt werden können. Die folgenden Abschnitte sind in der Reihenfolge des Lebenszyklus angeordnet: von der Sitzungseinrichtung durch die agentengesteuerte Schleife bis zum Sitzungsende. Jeder Abschnitt beschreibt, wann das Ereignis ausgelöst wird, welche Matcher es unterstützt, die JSON-Eingabe, die es erhält, und wie das Verhalten durch die Ausgabe gesteuert wird.1184Jedes Ereignis entspricht einem Punkt im Lebenszyklus von Claude Code, an dem Hooks ausgeführt werden können. Die folgenden Abschnitte sind in der Reihenfolge des Lebenszyklus angeordnet: von der Sitzungseinrichtung über die agentengesteuerte Schleife bis zum Sitzungsende. Jeder Abschnitt beschreibt, wann das Ereignis ausgelöst wird, welche Matcher es unterstützt, welche JSON-Eingabe es empfängt, und wie das Verhalten durch die Ausgabe gesteuert wird.

1185 1185 

1186<h3 id="sessionstart">1186<h3 id="sessionstart">

1187 SessionStart1187 SessionStart


1189 1189 

1190Wird ausgeführt, wenn Claude Code eine neue Sitzung startet oder eine vorhandene Sitzung fortsetzt. Nützlich zum Laden von Entwicklungskontext wie vorhandenen Problemen oder kürzlichen Änderungen an Ihrer Codebasis oder zum Einrichten von Umgebungsvariablen. Für statischen Kontext, der kein Skript erfordert, verwenden Sie stattdessen [CLAUDE.md](/docs/de/memory).1190Wird ausgeführt, wenn Claude Code eine neue Sitzung startet oder eine vorhandene Sitzung fortsetzt. Nützlich zum Laden von Entwicklungskontext wie vorhandenen Problemen oder kürzlichen Änderungen an Ihrer Codebasis oder zum Einrichten von Umgebungsvariablen. Für statischen Kontext, der kein Skript erfordert, verwenden Sie stattdessen [CLAUDE.md](/docs/de/memory).

1191 1191 

1192SessionStart wird bei jeder Sitzung ausgeführt, daher halten Sie diese Hooks schnell. Nur `type: "command"` und `type: "mcp_tool"` Hooks werden unterstützt. Siehe [MCP-Tool-Hook-Felder](#mcp-tool-hook-fields) für den Zeitpunkt, an dem `mcp_tool` Hooks ausgeführt werden.1192SessionStart wird bei jeder Sitzung ausgeführt, daher halten Sie diese Hooks schnell. Nur `type: "command"` und `type: "mcp_tool"` Hooks werden unterstützt. Siehe [MCP-Tool-Hook-Felder](#mcp-tool-hook-fields) für den Zeitpunkt der Ausführung von `mcp_tool` Hooks.

1193 1193 

1194Der Matcher-Wert entspricht der Art, wie die Sitzung initiiert wurde:1194Der Matcher-Wert entspricht der Art, wie die Sitzung eingeleitet wurde:

1195 1195 

1196| Matcher | Wann es ausgelöst wird |1196| Matcher | Wann wird es ausgelöst |

1197| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- |1197| :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1198| `startup` | Neue Sitzung |1198| `startup` | Neue Sitzung |

1199| `resume` | `--resume`, `--continue` oder `/resume` |1199| `resume` | `--resume`, `--continue` oder `/resume` |

1200| `clear` | `/clear` |1200| `clear` | `/clear` |

1201| `compact` | Auto- oder manuelle Komprimierung |1201| `compact` | Automatische oder manuelle Komprimierung |

1202| `fork` | Eine neue Sitzung, die von einer vorhandenen abgezweigt ist: `--fork-session` mit `--resume` oder `--continue`, die `/fork` Hintergrund-Kopie oder `/branch` |1202| `fork` | Eine neue Sitzung, die aus einer vorhandenen abgezweigt wurde: `--fork-session` mit `--resume` oder `--continue`, die `/fork` Hintergrundkopie oder `/branch` |

1203 1203 

1204Vor v2.1.214 meldeten abgezweigte Sitzungen die Quelle `"resume"`.1204Vor v2.1.214 meldeten abgezweigte Sitzungen die Quelle `"resume"`.

1205 1205 

1206Wenn Sie eine interaktive Sitzung starten, ein Gespräch beim Start mit `--continue` oder `--resume` fortsetzen oder `/clear` ausführen, werden SessionStart-Hooks im Hintergrund ausgeführt. Sie können sofort tippen, und ein Gespräch, das Sie fortgesetzt haben, wird angezeigt, ohne auf die Hooks zu warten. Claudes erste Antwort wartet immer noch darauf, dass die Hooks fertig sind, damit ihr Kontext Claude erreicht.1206Wenn Sie eine interaktive Sitzung starten, ein Gespräch beim Start mit `--continue` oder `--resume` fortsetzen oder `/clear` ausführen, werden SessionStart-Hooks im Hintergrund ausgeführt. Sie können sofort tippen, und ein fortgesetztes Gespräch wird angezeigt, ohne auf die Hooks zu warten. Claudes erste Antwort wartet immer noch darauf, dass die Hooks fertig sind, damit ihr Kontext Claude erreicht.

1207 1207 

1208Wenn Sie Gespräche mit `/resume` innerhalb einer Sitzung wechseln, wartet der Wechsel darauf, dass die Hooks fertig sind. Wenn Sie `/clear` ausführen oder zu einem anderen Gespräch wechseln, während Hintergrund-Hooks noch laufen, gilt nichts, was sie zurückgeben, für die Sitzung.1208Wenn Sie mit `/resume` innerhalb einer Sitzung zu Gesprächen wechseln, wartet der Wechsel darauf, dass die Hooks fertig sind. Wenn Sie `/clear` ausführen oder zu einem anderen Gespräch wechseln, während Hintergrund-Hooks noch laufen, gilt nichts, was sie zurückgeben, für die Sitzung.

1209 1209 

1210Das gleiche Warten gilt beim Start, einschließlich einer fortgesetzten Sitzung: Ein Prompt, den Sie senden, während SessionStart-Hooks noch laufen, erreicht Claude nicht, bis sie fertig sind.1210Die gleiche Wartezeit gilt beim Start, einschließlich einer fortgesetzten Sitzung: eine Eingabeaufforderung, die Sie senden, während SessionStart-Hooks noch laufen, erreicht Claude nicht, bis sie fertig sind.

1211 1211 

1212Während des Wartens drücken Sie `Esc`, um den Prompt zurück in die Eingabe zu nehmen, ohne ihn zu senden. Die Hooks laufen weiter.1212Während dieser Wartezeit drücken Sie `Esc`, um die Eingabeaufforderung zurück in die Eingabe zu nehmen, ohne sie zu senden. Die Hooks laufen weiter.

1213 1213 

1214<h4 id="sessionstart-input">1214<h4 id="sessionstart-input">

1215 SessionStart-Eingabe1215 SessionStart-Eingabe

1216</h4>1216</h4>

1217 1217 

1218Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SessionStart-Hooks `source` und optional `model`, `agent_type` und `session_title`:1218Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten SessionStart-Hooks `source` und optional `model`, `agent_type` und `session_title`:

1219 1219 

1220| Feld | Beschreibung |1220| Feld | Beschreibung |

1221| :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1221| :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1222| `source` | Wie die Sitzung gestartet wurde: `"startup"` für neue Sitzungen, `"resume"` für fortgesetzte Sitzungen, `"clear"` nach `/clear`, `"compact"` nach Komprimierung oder `"fork"` für eine neue Sitzung, die von einer vorhandenen abgezweigt ist |1222| `source` | Wie die Sitzung gestartet wurde: `"startup"` für neue Sitzungen, `"resume"` für fortgesetzte Sitzungen, `"clear"` nach `/clear`, `"compact"` nach Komprimierung oder `"fork"` für eine neue Sitzung, die aus einer vorhandenen abgezweigt wurde |

1223| `model` | Die aktive Modell-ID. Sie kann weggelassen werden, zum Beispiel nach `/clear` oder wenn eine Sitzung durch Gesprächswiederherstellung wiederhergestellt wird, daher überprüfen Sie das Feld, bevor Sie es lesen |1223| `model` | Die aktive Modell-ID. Sie kann weggelassen werden, z. B. nach `/clear` oder wenn eine Sitzung durch Gesprächswiederherstellung wiederhergestellt wird, daher überprüfen Sie das Feld, bevor Sie es lesen |

1224| `agent_type` | Der Agent-Name, vorhanden, wenn Sie Claude Code mit `claude --agent <name>` starten |1224| `agent_type` | Der Agent-Name, vorhanden, wenn Sie Claude Code mit `claude --agent <name>` starten |

1225| `session_title` | Der aktuelle Sitzungstitel, falls bereits einer gesetzt ist, zum Beispiel über `--name` oder `/rename`. Ein Hook, der `sessionTitle` ausgibt, kann `session_title` zuerst überprüfen, um zu vermeiden, dass ein Titel überschrieben wird, den der Benutzer explizit gesetzt hat |1225| `session_title` | Der aktuelle Sitzungstitel, falls bereits gesetzt, z. B. über `--name` oder `/rename`. Ein Hook, der `sessionTitle` ausgibt, kann `session_title` zuerst überprüfen, um zu vermeiden, dass ein Titel überschrieben wird, den der Benutzer explizit gesetzt hat |

1226 1226 

1227Wenn `source` `"resume"` oder `"fork"` ist und das Transkript mindestens eine Antwort von Claude enthält, erhalten SessionStart-Hooks auch die vier Felder unten. Ihr Hook kann sie verwenden, um zu melden, was das Fortsetzen eines veralteten Gesprächs kostet, bevor die erste Anfrage erfolgt, zum Beispiel in einer [`systemMessage`](#json-output). Diese Felder erfordern Claude Code v2.1.251 oder später.1227Wenn `source` `"resume"` oder `"fork"` ist und das Transkript mindestens eine Antwort von Claude enthält, erhalten SessionStart-Hooks auch die vier folgenden Felder. Ihr Hook kann sie verwenden, um zu melden, was das Fortsetzen eines veralteten Gesprächs kostet, bevor die erste Anfrage erfolgt, z. B. in einer [`systemMessage`](#json-output). Diese Felder erfordern Claude Code v2.1.251 oder später.

1228 1228 

1229| Feld | Beschreibung |1229| Feld | Beschreibung |

1230| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1230| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1231| `seconds_since_last_response` | Wanduhr-Sekunden seit der letzten Antwort im fortgesetzten Transkript |1231| `seconds_since_last_response` | Wanduhr-Sekunden seit der letzten Antwort im fortgesetzten Transkript |

1232| `context_tokens` | Tokens, die die erste Anfrage der fortgesetzten Sitzung als ihren Prompt erneut sendet |1232| `context_tokens` | Tokens, die die erste Anfrage der fortgesetzten Sitzung als ihre Eingabeaufforderung erneut sendet |

1233| `prompt_cache_likely_expired` | `true`, wenn die letzte Antwort älter ist als die [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime) der Sitzung oder eine spätere Komprimierung das zwischengespeicherte Gespräch ersetzt hat |1233| `prompt_cache_likely_expired` | `true`, wenn die letzte Antwort älter ist als die [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime) der Sitzung oder eine spätere Komprimierung das zwischengespeicherte Gespräch ersetzt hat |

1234| `estimated_cache_write_usd` | Geschätzte Kosten in US-Dollar zum Schreiben von `context_tokens` in den Prompt-Cache auf dem Modell der Sitzung, ohne die Antwort |1234| `estimated_cache_write_usd` | Geschätzte Kosten in US-Dollar für das Schreiben von `context_tokens` in den Prompt-Cache auf dem Modell der Sitzung, ohne die Antwort |

1235 1235 

1236Dieses Beispiel zeigt die Eingabe für eine Sitzung, die 90 Minuten nach ihrer letzten Antwort fortgesetzt wurde:1236Dieses Beispiel zeigt die Eingabe für eine Sitzung, die 90 Minuten nach ihrer letzten Antwort fortgesetzt wurde:

1237 1237 


1257Claude Code fügt stdout, das es [als Klartext behandelt](#exit-code-0), zu Claudes Kontext hinzu. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie diese ereignisspezifischen Felder zurückgeben:1257Claude Code fügt stdout, das es [als Klartext behandelt](#exit-code-0), zu Claudes Kontext hinzu. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie diese ereignisspezifischen Felder zurückgeben:

1258 1258 

1259| Feld | Beschreibung |1259| Feld | Beschreibung |

1260| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1260| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1261| `additionalContext` | Zeichenkette, die zu Claudes Kontext am Anfang des Gesprächs hinzugefügt wird, vor dem ersten Prompt. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude), um zu erfahren, wie der Text bereitgestellt wird und was Sie darin einfügen sollten |1261| `additionalContext` | String, der zu Claudes Kontext am Anfang des Gesprächs hinzugefügt wird, vor der ersten Eingabeaufforderung. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude), um zu erfahren, wie der Text bereitgestellt wird und was Sie darin einfügen sollten |

1262| `initialUserMessage` | Zeichenkette, die als erste Benutzernachricht der Sitzung verwendet wird. Gilt im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag, wo sie zur ersten Runde wird, auch wenn kein Prompt bereitgestellt wird. Wenn ein Prompt bereitgestellt wird, folgt er als nächste Runde. Im Gegensatz zu `additionalContext`, das an eine vorhandene Runde angehängt wird, erstellt dies die Runde |1262| `initialUserMessage` | String, der als erste Benutzernachricht der Sitzung verwendet wird. Gilt im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p` Flag, wo es zum ersten Zug wird, auch wenn keine Eingabeaufforderung bereitgestellt wird. Wenn eine Eingabeaufforderung bereitgestellt wird, folgt sie als nächster Zug. Im Gegensatz zu `additionalContext`, das an einen vorhandenen Zug angehängt wird, erstellt dies den Zug |

1263| `sessionTitle` | Setzt den Sitzungstitel, mit der gleichen Auswirkung wie `/rename`. Verwenden Sie, um Sitzungen automatisch aus dem Start-Ordner, Git-Branch oder Worktree-Namen zu benennen. Gilt, wenn `source` `"startup"`, `"resume"` oder `"fork"` ist; wird bei `"clear"` und `"compact"` ignoriert |1263| `sessionTitle` | Legt den Sitzungstitel fest, mit der gleichen Wirkung wie `/rename`. Verwenden Sie dies, um Sitzungen automatisch aus dem Start-Ordner, Git-Branch oder Worktree-Namen zu benennen. Gilt, wenn `source` `"startup"`, `"resume"` oder `"fork"` ist; wird bei `"clear"` und `"compact"` ignoriert |

1264| `watchPaths` | Array von absoluten Pfaden zum Überwachen von [FileChanged](#filechanged)-Ereignissen während dieser Sitzung |1264| `watchPaths` | Array von absoluten Pfaden zum Überwachen von [FileChanged](#filechanged) Ereignissen während dieser Sitzung |

1265| `reloadSkills` | Boolesch. Wenn `true`, scannt Claude Code die [Skill](/docs/de/skills)- und Befehlsverzeichnisse erneut, nachdem die SessionStart-Hooks abgeschlossen sind, damit Skills, die der Hook installiert hat, in der gleichen Sitzung verfügbar sind, beginnend mit dem ersten Prompt |1265| `reloadSkills` | Boolean. Wenn `true`, scannt Claude Code die [Skill](/docs/de/skills)- und Befehlsverzeichnisse erneut, nachdem die SessionStart-Hooks abgeschlossen sind, sodass Skills, die der Hook installiert hat, in der gleichen Sitzung verfügbar sind, beginnend mit der ersten Eingabeaufforderung |

1266 1266 

1267```json theme={null}1267```json theme={null}

1268{1268{


1274}1274}

1275```1275```

1276 1276 

1277Da einfacher stdout bereits Claude für dieses Ereignis erreicht, kann ein Hook, der nur Kontext lädt, direkt auf stdout drucken, ohne JSON zu erstellen. Verwenden Sie die JSON-Form, wenn Sie Kontext mit anderen Feldern wie `sessionTitle` kombinieren müssen.1277Da Klartext-stdout bereits dieses Ereignis für Claude erreicht, kann ein Hook, der nur Kontext lädt, direkt zu stdout drucken, ohne JSON zu erstellen. Verwenden Sie die JSON-Form, wenn Sie Kontext mit anderen Feldern wie `sessionTitle` kombinieren müssen.

1278 1278 

1279Verwenden Sie `reloadSkills`, wenn ein SessionStart-Hook Skills installiert oder aktualisiert. Die Skill-Erkennung wird normalerweise ausgeführt, bevor SessionStart-Hooks fertig sind, daher würden Dateien, die der Hook in `~/.claude/skills/` oder `.claude/skills/` schreibt, sonst erst in der nächsten Sitzung erscheinen. Dieses Beispiel synchronisiert ein gemeinsames Skills-Repository und fordert die Neuscan an:1279Verwenden Sie `reloadSkills`, wenn ein SessionStart-Hook Skills installiert oder aktualisiert. Die Skill-Erkennung wird normalerweise ausgeführt, bevor SessionStart-Hooks fertig sind, daher würden Dateien, die der Hook in `~/.claude/skills/` oder `.claude/skills/` schreibt, sonst erst in der nächsten Sitzung angezeigt. Dieses Beispiel synchronisiert ein gemeinsames Skills-Repository und fordert die erneute Überprüfung an:

1280 1280 

1281```bash theme={null}1281```bash theme={null}

1282#!/bin/bash1282#!/bin/bash


1287echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1287echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1288```1288```

1289 1289 

1290Die Repository-URL ist ein Platzhalter; ersetzen Sie sie durch Ihr eigenes Skills-Repository. Mit dem Platzhalter schlägt der Clone fehl und gibt eine `fatal:`-Nachricht zu stderr aus. Stderr von einem SessionStart-Hook, der mit 0 beendet wird, ist nur informativ, daher gilt die `reloadSkills`-Anfrage immer noch.1290Die Repository-URL ist ein Platzhalter; ersetzen Sie sie durch Ihr eigenes Skills-Repository. Mit dem Platzhalter schlägt der Klon fehl und druckt eine `fatal:` Nachricht zu stderr. Stderr von einem SessionStart-Hook, der mit 0 beendet wird, ist nur informativ, daher gilt die `reloadSkills` Anfrage immer noch.

1291 1291 

1292<h4 id="persist-environment-variables">1292<h4 id="persist-environment-variables">

1293 Umgebungsvariablen beibehalten1293 Umgebungsvariablen beibehalten

1294</h4>1294</h4>

1295 1295 

1296SessionStart-Hooks haben Zugriff auf die Umgebungsvariable `CLAUDE_ENV_FILE`, die einen Dateipfad bereitstellt, in dem Sie Umgebungsvariablen für nachfolgende Bash-Befehle beibehalten können.1296SessionStart-Hooks haben Zugriff auf die `CLAUDE_ENV_FILE` Umgebungsvariable, die einen Dateipfad bereitstellt, in dem Sie Umgebungsvariablen für nachfolgende Bash-Befehle beibehalten können.

1297 1297 

1298Um einzelne Umgebungsvariablen zu setzen, schreiben Sie `export`-Anweisungen in `CLAUDE_ENV_FILE`. Verwenden Sie Anhängen (`>>`), um Variablen zu bewahren, die von anderen Hooks gesetzt wurden:1298Um einzelne Umgebungsvariablen zu setzen, schreiben Sie `export` Anweisungen in `CLAUDE_ENV_FILE`. Verwenden Sie Anhängen (`>>`), um von anderen Hooks gesetzte Variablen zu bewahren:

1299 1299 

1300```bash theme={null}1300```bash theme={null}

1301#!/bin/bash1301#!/bin/bash


1316 1316 

1317ENV_BEFORE=$(export -p | sort)1317ENV_BEFORE=$(export -p | sort)

1318 1318 

1319# Führen Sie Ihre Setup-Befehle aus, die die Umgebung ändern1319# Run your setup commands that modify the environment

1320source ~/.nvm/nvm.sh1320source ~/.nvm/nvm.sh

1321nvm use 201321nvm use 20

1322 1322 


1336 Setup1336 Setup

1337</h3>1337</h3>

1338 1338 

1339Wird nur ausgelöst, wenn Sie Claude Code mit `--init-only` starten oder mit `--init` oder `--maintenance` im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag. Es wird nicht beim normalen Start ausgelöst. Verwenden Sie es für einmalige Abhängigkeitsinstallation oder geplante Bereinigung, die Sie explizit von CI oder Skripten aus auslösen, getrennt vom normalen Sitzungsstart. Für Initialisierung pro Sitzung verwenden Sie stattdessen [SessionStart](#sessionstart).1339Wird nur ausgeführt, wenn Sie Claude Code mit `--init-only` starten oder mit `--init` oder `--maintenance` im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p` Flag. Es wird beim normalen Start nicht ausgeführt. Verwenden Sie es für einmalige Abhängigkeitsinstallation oder geplante Bereinigung, die Sie explizit von CI oder Skripten aus auslösen, getrennt vom normalen Sitzungsstart. Für die Initialisierung pro Sitzung verwenden Sie stattdessen [SessionStart](#sessionstart).

1340 1340 

1341Der Matcher-Wert entspricht dem CLI-Flag, das den Hook ausgelöst hat:1341Der Matcher-Wert entspricht dem CLI-Flag, das den Hook ausgelöst hat:

1342 1342 

1343| Matcher | Wann es ausgelöst wird |1343| Matcher | Wann wird es ausgelöst |

1344| :------------ | :------------------------------------------- |1344| :------------ | :------------------------------------------- |

1345| `init` | `claude --init-only` oder `claude -p --init` |1345| `init` | `claude --init-only` oder `claude -p --init` |

1346| `maintenance` | `claude -p --maintenance` |1346| `maintenance` | `claude -p --maintenance` |

1347 1347 

1348Wenn Sie `claude --init-only` ausführen, führt Claude Code Setup-Hooks und `SessionStart`-Hooks mit dem `startup`-Matcher aus und beendet sich dann, ohne ein Gespräch zu starten.1348Wenn Sie `claude --init-only` ausführen, führt Claude Code Setup-Hooks und `SessionStart` Hooks mit dem `startup` Matcher aus und beendet sich dann, ohne ein Gespräch zu starten.

1349 1349 

1350Wenn Sie ein Gespräch mit `-p` starten oder fortsetzen, müssen Sie auch einen Prompt bereitstellen, entweder als Argument oder über stdin. Sie können den Prompt überspringen, wenn ein `SessionStart`-Hook [`initialUserMessage`](#sessionstart-decision-control) bereitstellt oder wenn Sie eine Sitzung mit einem [verschobenen Tool-Aufruf](#defer-a-tool-call-for-later) fortsetzen.1350Wenn Sie ein Gespräch mit `-p` starten oder fortsetzen, müssen Sie auch eine Eingabeaufforderung bereitstellen, als Argument oder über stdin weitergeleitet. Sie können die Eingabeaufforderung überspringen, wenn ein `SessionStart` Hook [`initialUserMessage`](#sessionstart-decision-control) bereitstellt oder wenn Sie eine Sitzung mit einem [aufgeschobenen Tool-Aufruf](#defer-a-tool-call-for-later) fortsetzen.

1351 1351 

1352Bei Erfolg gibt `--init-only` nichts auf dem Terminal aus. Um zu bestätigen, dass die Hooks ausgeführt wurden, starten Sie mit `claude --debug-file <path> --init-only`, ersetzen Sie `<path>` durch einen Protokolldateispeicherort, und überprüfen Sie das Protokoll auf die Setup- und SessionStart-Hook-Einträge.1352Bei Erfolg druckt `--init-only` nichts auf das Terminal. Um zu bestätigen, dass die Hooks ausgeführt wurden, starten Sie mit `claude --debug-file <path> --init-only`, ersetzen Sie `<path>` durch einen Protokolldateispeicherort, und überprüfen Sie das Protokoll auf die Setup- und SessionStart-Hook-Einträge.

1353 1353 

1354Da Setup nicht bei jedem Start ausgelöst wird, kann ein Plugin, das eine Abhängigkeit installiert benötigt, sich nicht allein auf Setup verlassen. Das praktische Muster ist, die Abhängigkeit bei der ersten Verwendung zu überprüfen und bei Fehlen zu installieren, zum Beispiel ein Hook oder eine Skill, die auf `${CLAUDE_PLUGIN_DATA}/node_modules` testet und `npm install` ausführt, wenn es fehlt. Siehe das [Verzeichnis für persistente Daten](/docs/de/plugins-reference#persistent-data-directory), um zu erfahren, wo Sie installierte Abhängigkeiten speichern können. Wenn Sie Ihr Plugin über einen Marketplace verteilen, benötigen Sie möglicherweise dieses Muster nicht: Claude Code [installiert automatisch berechtigte Node.js-Paketabhängigkeiten](/docs/de/plugins-reference#node-js-package-dependencies), wenn es das Plugin zwischenspeichert.1354Da Setup nicht bei jedem Start ausgeführt wird, kann sich ein Plugin, das eine Abhängigkeit installiert benötigt, nicht nur auf Setup verlassen. Das praktische Muster ist, die Abhängigkeit bei der ersten Verwendung zu überprüfen und bei Fehlen zu installieren, z. B. ein Hook oder Skill, der auf `${CLAUDE_PLUGIN_DATA}/node_modules` testet und `npm install` ausführt, wenn nicht vorhanden. Siehe das [persistente Datenverzeichnis](/docs/de/plugins-reference#persistent-data-directory), um zu erfahren, wo installierte Abhängigkeiten gespeichert werden. Wenn Sie Ihr Plugin über einen Marketplace verteilen, benötigen Sie möglicherweise dieses Muster nicht: Claude Code [installiert automatisch berechtigte Node.js-Paketabhängigkeiten](/docs/de/plugins-reference#node-js-package-dependencies), wenn es das Plugin zwischenspeichert.

1355 1355 

1356<h4 id="setup-input">1356<h4 id="setup-input">

1357 Setup-Eingabe1357 Setup-Eingabe

1358</h4>1358</h4>

1359 1359 

1360Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten Setup-Hooks ein Feld `trigger`, das auf `"init"` oder `"maintenance"` gesetzt ist:1360Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten Setup-Hooks ein `trigger` Feld, das auf `"init"` oder `"maintenance"` gesetzt ist:

1361 1361 

1362```json theme={null}1362```json theme={null}

1363{1363{


1373 Setup-Entscheidungskontrolle1373 Setup-Entscheidungskontrolle

1374</h4>1374</h4>

1375 1375 

1376Setup-Hooks können nicht blockieren; die Ausführung wird bei jedem Exit-Code fortgesetzt. Bei jedem Exit-Code verwirft Claude Code die [JSON-Ausgabefelder](#json-output) eines Setup-Hooks, wie `systemMessage`, `continue` und `hookSpecificOutput.additionalContext`. Mit `-p` werden stdout, stderr und Exit-Code eines Setup-Hooks in der Ausgabe des Laufs nur als [`hook_response`-Ereignisse](/docs/de/headless#read-session-metadata) angezeigt, wenn Sie mit `--output-format stream-json --verbose` starten.1376Setup-Hooks können nicht blockieren; die Ausführung wird bei jedem Exit-Code fortgesetzt. Bei jedem Exit-Code verwirft Claude Code die [JSON-Ausgabefelder](#json-output) eines Setup-Hooks, wie `systemMessage`, `continue` und `hookSpecificOutput.additionalContext`. Mit `-p` werden stdout, stderr und Exit-Code eines Setup-Hooks in der Ausgabe des Laufs nur als [`hook_response` Ereignisse](/docs/de/headless#read-session-metadata) angezeigt, wenn Sie mit `--output-format stream-json --verbose` starten.

1377 1377 

1378Setup-Hooks haben Zugriff auf `CLAUDE_ENV_FILE`. Variablen, die in diese Datei geschrieben werden, bleiben in nachfolgenden Bash-Befehlen für die Sitzung erhalten, genau wie in [SessionStart-Hooks](#persist-environment-variables). Nur `type: "command"` Hooks werden auf `Setup` ausgeführt. Ein `type: "mcp_tool"` Hook auf `Setup` wird immer übersprungen, wie unter [MCP-Tool-Hook-Felder](#mcp-tool-hook-fields) beschrieben.1378Setup-Hooks haben Zugriff auf `CLAUDE_ENV_FILE`. Variablen, die in diese Datei geschrieben werden, bleiben in nachfolgenden Bash-Befehlen für die Sitzung bestehen, genau wie in [SessionStart-Hooks](#persist-environment-variables). Nur `type: "command"` Hooks werden auf `Setup` ausgeführt. Ein `type: "mcp_tool"` Hook auf `Setup` wird immer übersprungen, wie unter [MCP-Tool-Hook-Felder](#mcp-tool-hook-fields) beschrieben.

1379 1379 

1380<h3 id="instructionsloaded">1380<h3 id="instructionsloaded">

1381 InstructionsLoaded1381 InstructionsLoaded

1382</h3>1382</h3>

1383 1383 

1384Wird ausgelöst, wenn eine `CLAUDE.md`- oder `.claude/rules/*.md`-Datei in den Kontext geladen wird. Dieses Ereignis wird beim Sitzungsstart für eifrig geladene Dateien ausgelöst und später erneut, wenn Dateien träge geladen werden, zum Beispiel wenn Claude auf ein Unterverzeichnis zugreift, das eine verschachtelte `CLAUDE.md` enthält, oder wenn bedingte Regeln mit `paths:`-Frontmatter passen. Der Hook unterstützt keine Blockierung oder Entscheidungskontrolle. Er wird asynchron zu Beobachtungszwecken ausgeführt.1384Wird ausgeführt, wenn eine `CLAUDE.md` oder `.claude/rules/*.md` Datei in den Kontext geladen wird. Dieses Ereignis wird beim Sitzungsstart für eifrig geladene Dateien ausgeführt und später erneut, wenn Dateien träge geladen werden, z. B. wenn Claude auf ein Unterverzeichnis zugreift, das eine verschachtelte `CLAUDE.md` enthält, oder wenn bedingte Regeln mit `paths:` Frontmatter übereinstimmen. Der Hook unterstützt keine Blockierung oder Entscheidungskontrolle. Er wird asynchron zu Beobachtungszwecken ausgeführt.

1385 1385 

1386Dieses Ereignis wird nicht ausgelöst, wenn Claude [AGENTS.md direkt](/docs/de/memory#agents-md) über die Einstellung **Projektanweisungen** liest. Es wird ausgelöst, wenn eine `CLAUDE.md` Ihre `AGENTS.md` importiert, mit `load_reason` auf `include` gesetzt wie für jede andere importierte Datei, und wenn `CLAUDE.md` ein Symlink zu ihr ist, als normales `CLAUDE.md`-Laden.1386Dieses Ereignis wird nicht ausgeführt, wenn Claude [direkt `AGENTS.md` liest](/docs/de/memory#agents-md) über die Einstellung **Projektanweisungen**. Es wird ausgeführt, wenn eine `CLAUDE.md` Ihre `AGENTS.md` importiert, mit `load_reason` auf `include` gesetzt wie für jede andere importierte Datei, und wenn `CLAUDE.md` ein Symlink zu ihr ist, als normales `CLAUDE.md` Laden.

1387 1387 

1388Der Matcher wird gegen `load_reason` ausgeführt. Verwenden Sie zum Beispiel `"matcher": "session_start"`, um nur für Dateien zu feuern, die beim Sitzungsstart geladen werden, oder `"matcher": "path_glob_match|nested_traversal"`, um nur für träge Ladevorgänge zu feuern.1388Der Matcher wird gegen `load_reason` ausgeführt. Verwenden Sie beispielsweise `"matcher": "session_start"`, um nur für Dateien zu aktivieren, die beim Sitzungsstart geladen werden, oder `"matcher": "path_glob_match|nested_traversal"`, um nur für träge Ladevorgänge zu aktivieren.

1389 1389 

1390<h4 id="instructionsloaded-input">1390<h4 id="instructionsloaded-input">

1391 InstructionsLoaded-Eingabe1391 InstructionsLoaded-Eingabe

1392</h4>1392</h4>

1393 1393 

1394Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten InstructionsLoaded-Hooks diese Felder:1394Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten InstructionsLoaded-Hooks diese Felder:

1395 1395 

1396| Feld | Beschreibung |1396| Feld | Beschreibung |

1397| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1397| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1398| `file_path` | Absoluter Pfad zur Anweisungsdatei, die geladen wurde |1398| `file_path` | Absoluter Pfad zur Anweisungsdatei, die geladen wurde |

1399| `memory_type` | Umfang der Datei: `"User"`, `"Project"`, `"Local"` oder `"Managed"` |1399| `memory_type` | Umfang der Datei: `"User"`, `"Project"`, `"Local"` oder `"Managed"` |

1400| `load_reason` | Warum die Datei geladen wurde: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` oder `"compact"`. Der Wert `"compact"` wird ausgelöst, wenn Anweisungsdateien nach einem Komprimierungsereignis neu geladen werden |1400| `load_reason` | Warum die Datei geladen wurde: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` oder `"compact"`. Der `"compact"` Wert wird ausgeführt, wenn Anweisungsdateien nach einem Komprimierungsereignis erneut geladen werden |

1401| `globs` | Pfad-Glob-Muster aus dem `paths:`-Frontmatter der Datei, falls vorhanden. Nur für `path_glob_match`-Ladevorgänge vorhanden |1401| `globs` | Pfad-Glob-Muster aus dem `paths:` Frontmatter der Datei, falls vorhanden. Nur für `path_glob_match` Ladevorgänge vorhanden |

1402| `trigger_file_path` | Pfad zur Datei, deren Zugriff diesen Ladevorgang ausgelöst hat, für träge Ladevorgänge |1402| `trigger_file_path` | Pfad zur Datei, deren Zugriff diesen Ladevorgang ausgelöst hat, für träge Ladevorgänge |

1403| `parent_file_path` | Pfad zur übergeordneten Anweisungsdatei, die diese eingebunden hat, für `include`-Ladevorgänge |1403| `parent_file_path` | Pfad zur übergeordneten Anweisungsdatei, die diese eingebunden hat, für `include` Ladevorgänge |

1404 1404 

1405```json theme={null}1405```json theme={null}

1406{1406{


1418 InstructionsLoaded-Entscheidungskontrolle1418 InstructionsLoaded-Entscheidungskontrolle

1419</h4>1419</h4>

1420 1420 

1421InstructionsLoaded-Hooks haben keine Entscheidungskontrolle. Sie können das Laden von Anweisungen nicht blockieren oder ändern. Claude Code verwirft ihre [JSON-Ausgabefelder](#json-output), wie `systemMessage` und `continue`. Verwenden Sie dieses Ereignis für Audit-Protokollierung, Compliance-Tracking oder Beobachtbarkeit.1421InstructionsLoaded-Hooks haben keine Entscheidungskontrolle. Sie können das Laden von Anweisungen nicht blockieren oder ändern. Claude Code verwirft ihre [JSON-Ausgabefelder](#json-output), wie `systemMessage` und `continue`. Verwenden Sie dieses Ereignis für Audit-Protokollierung, Compliance-Verfolgung oder Beobachtbarkeit.

1422 1422 

1423<h3 id="userpromptsubmit">1423<h3 id="userpromptsubmit">

1424 UserPromptSubmit1424 UserPromptSubmit

1425</h3>1425</h3>

1426 1426 

1427Wird ausgeführt, wenn der Benutzer einen Prompt einreicht, bevor Claude ihn verarbeitet. Dies ermöglicht es Ihnen, zusätzlichen Kontext basierend auf dem Prompt/Gespräch hinzuzufügen, Prompts zu validieren oder bestimmte Arten von Prompts zu blockieren.1427Wird ausgeführt, wenn der Benutzer eine Eingabeaufforderung einreicht, bevor Claude sie verarbeitet. Dies ermöglicht es Ihnen, zusätzlichen Kontext basierend auf der Eingabeaufforderung/dem Gespräch hinzuzufügen, Eingabeaufforderungen zu validieren oder bestimmte Arten von Eingabeaufforderungen zu blockieren.

1428 

1429`UserPromptSubmit` Hooks haben ein Standard-Timeout von 30 Sekunden für `command`, `http` und `mcp_tool` Typen, kürzer als das 600-Sekunden-Standard für diese Typen bei den meisten anderen Ereignissen. Da dieser Hook vor jeder Eingabeaufforderung ausgeführt wird und die Modellverarbeitung blockiert, bis er abgeschlossen ist, stellt ein feststeckender Hook die Sitzung still. Wenn Ihr Hook mehr Zeit benötigt, setzen Sie das `timeout` Feld im Hook-Eintrag.

1428 1430 

1429`UserPromptSubmit`-Hooks haben ein Standard-Timeout von 30 Sekunden für `command`-, `http`- und `mcp_tool`-Typen, kürzer als das 600-Sekunden-Standard für diese Typen bei anderen Ereignissen. Da dieser Hook vor jedem Prompt ausgeführt wird und die Modellverarbeitung blockiert, bis er abgeschlossen ist, stellt ein feststeckender Hook die Sitzung still. Wenn Ihr Hook mehr Zeit benötigt, setzen Sie das Feld `timeout` im Hook-Eintrag.1431Abgesehen von einem Command-Hook, den Sie mit [`async: true`](#run-hooks-in-the-background) ausführen, wird ein `UserPromptSubmit` Command-, HTTP- oder MCP-Tool-Hook, der sein Timeout erreicht, abgebrochen und seine Ausgabe, einschließlich `additionalContext`, wird verworfen. Die Eingabeaufforderung erreicht Claude immer noch ohne diesen Kontext. Das Transkript zeigt einen Hinweis, der den Hook, das ausgelöste Timeout und dass die Ausgabe verworfen wurde, benennt.

1430 1432 

1431Ein [Agent SDK-Callback-Hook](/docs/de/agent-sdk/hooks) auf `UserPromptSubmit`, der sein Timeout erreicht, blockiert den Prompt mit einer Nachricht, die den Hook und das Timeout benennt, da ein Callback dort als Richtlinien-Gate fungieren kann, das nicht offen fehlschlagen darf. Die Sitzung wird fortgesetzt. Vor v2.1.208 endete ein Callback-Timeout bei diesem Ereignis die Runde mit einem Ausführungsfehler.1433Ein [Agent SDK Callback-Hook](/docs/de/agent-sdk/hooks) auf `UserPromptSubmit`, der sein Timeout erreicht, blockiert die Eingabeaufforderung mit einer Nachricht, die den Hook und das Timeout benennt, da ein Callback dort als Richtlinientor fungieren kann, das nicht offen fehlschlagen darf. Die Sitzung wird fortgesetzt. Vor v2.1.208 endete ein Callback-Timeout bei diesem Ereignis mit einem Ausführungsfehler.

1432 1434 

1433<h4 id="userpromptsubmit-input">1435<h4 id="userpromptsubmit-input">

1434 UserPromptSubmit-Eingabe1436 UserPromptSubmit-Eingabe

1435</h4>1437</h4>

1436 1438 

1437Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten UserPromptSubmit-Hooks das Feld `prompt`, das den Text enthält, den der Benutzer eingereicht hat.1439Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten UserPromptSubmit-Hooks das `prompt` Feld mit dem Text, den der Benutzer eingereicht hat. Eingefügter Inhalt, der zu einem `[Pasted text #N]` Platzhalter zusammengefallen ist, kommt erweitert an seiner Stelle an. In Sitzungen, in denen Claude Code [eingefügten Text für Claude markiert](/docs/de/terminal-config#how-claude-treats-pasted-text), sitzt dieser erweiterte Inhalt zwischen einer `<pasted_content id="…">` Zeile und einer `</pasted_content id="…">` Zeile, daher berücksichtigen Sie diese Zeilen, wenn Ihr Hook die Eingabeaufforderung analysiert.

1438 1440 

1439```json theme={null}1441```json theme={null}

1440{1442{


1451 UserPromptSubmit-Entscheidungskontrolle1453 UserPromptSubmit-Entscheidungskontrolle

1452</h4>1454</h4>

1453 1455 

1454`UserPromptSubmit`-Hooks können steuern, ob ein Benutzer-Prompt verarbeitet wird und Kontext hinzufügen. Alle [JSON-Ausgabefelder](#json-output) sind verfügbar.1456`UserPromptSubmit` Hooks können steuern, ob eine Benutzereingabeaufforderung verarbeitet wird und Kontext hinzufügen. Alle [JSON-Ausgabefelder](#json-output) sind verfügbar.

1455 1457 

1456Es gibt zwei Möglichkeiten, Kontext zum Gespräch bei Exit-Code 0 hinzuzufügen:1458Es gibt zwei Möglichkeiten, Kontext zum Gespräch bei Exit-Code 0 hinzuzufügen:

1457 1459 

1458* **Plain-Text-stdout**: Claude Code fügt stdout, das es [als Klartext behandelt](#exit-code-0), zu Claudes Kontext hinzu1460* **Klartext-stdout**: Claude Code fügt stdout, das es [als Klartext behandelt](#exit-code-0), zu Claudes Kontext hinzu

1459* **JSON mit `additionalContext`**: Verwenden Sie das JSON-Format unten für mehr Kontrolle. Das Feld `additionalContext` wird als Kontext hinzugefügt1461* **JSON mit `additionalContext`**: Verwenden Sie das JSON-Format unten für mehr Kontrolle. Das `additionalContext` Feld wird als Kontext hinzugefügt

1460 1462 

1461Weder Kanal erzeugt einen sichtbaren Transkript-Eintrag. Plain-stdout und der `additionalContext`-Wert werden jeweils als Systemerinnerung eingefügt, die mit dem Namen des Hooks beginnt; Claude liest beide. Um die Lieferung zu bestätigen, überprüfen Sie das [Debug-Protokoll](#debug-hooks).1463Keiner der Kanäle erzeugt einen sichtbaren Transkript-Eintrag. Klartext-stdout und der `additionalContext` Wert werden jeweils als Systemerinnerung eingefügt, die mit dem Namen des Hooks beginnt; Claude liest beide. Um die Bereitstellung zu bestätigen, überprüfen Sie das [Debug-Protokoll](#debug-hooks).

1462 1464 

1463Um einen Prompt zu blockieren, geben Sie ein JSON-Objekt mit `decision` auf `"block"` zurück:1465Um eine Eingabeaufforderung zu blockieren, geben Sie ein JSON-Objekt mit `decision` auf `"block"` zurück:

1464 1466 

1465| Feld | Beschreibung |1467| Feld | Beschreibung |

1466| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |1468| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |

1467| `decision` | `"block"` verhindert die Verarbeitung des Prompts und löscht ihn aus dem Kontext. Weglassen, um den Prompt fortzusetzen |1469| `decision` | `"block"` verhindert, dass die Eingabeaufforderung verarbeitet wird und löscht sie aus dem Kontext. Weglassen, um die Eingabeaufforderung fortzufahren |

1468| `reason` | Wird dem Benutzer angezeigt, wenn `decision` `"block"` ist. Wird nicht zum Kontext hinzugefügt |1470| `reason` | Wird dem Benutzer angezeigt, wenn `decision` `"block"` ist. Nicht zum Kontext hinzugefügt |

1469| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem eingereichten Prompt hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1471| `additionalContext` | String, der zu Claudes Kontext neben der eingereichten Eingabeaufforderung hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

1470| `sessionTitle` | Setzt den Sitzungstitel. Verwenden Sie, um Sitzungen automatisch basierend auf dem Prompt-Inhalt zu benennen |1472| `sessionTitle` | Legt den Sitzungstitel fest. Verwenden Sie dies, um Sitzungen automatisch basierend auf dem Inhalt der Eingabeaufforderung zu benennen |

1471| `suppressOriginalPrompt` | Wenn `true`, wenn `decision` `"block"` ist, lässt den ursprünglichen Prompt-Text aus der Blockierungsmeldung aus, die dem Benutzer angezeigt wird |1473| `suppressOriginalPrompt` | Wenn `true`, wenn `decision` `"block"` ist, wird der ursprüngliche Eingabeaufforderungstext aus der angezeigten Blockierungsmeldung weggelassen |

1472 1474 

1473Ein Hook, der durch Beenden mit 2 blockiert, wird auf die gleiche Weise wie `reason` weitergeleitet: Die Blockierungsmeldung zeigt dem Benutzer den stderr-Text an, und er wird nicht zum Kontext hinzugefügt.1475Ein Hook, der durch Beendigung mit 2 blockiert, wird auf die gleiche Weise wie `reason` weitergeleitet: Die Blockierungsmeldung zeigt dem Benutzer den stderr-Text an, und er wird nicht zum Kontext hinzugefügt.

1474 1476 

1475```json theme={null}1477```json theme={null}

1476{1478{


1488 UserPromptExpansion1490 UserPromptExpansion

1489</h3>1491</h3>

1490 1492 

1491Wird ausgeführt, wenn ein vom Benutzer eingegebener Befehl in einen Prompt erweitert wird, bevor er Claude erreicht. Verwenden Sie dies, um bestimmte Befehle von direkter Aufrufe zu blockieren, Kontext für eine bestimmte Skill einzufügen oder zu protokollieren, welche Befehle Benutzer aufrufen. Zum Beispiel kann ein Hook, der `deploy` passt, `/deploy` blockieren, es sei denn, eine Genehmigungsdatei ist vorhanden, oder ein Hook, der eine Review-Skill passt, kann die Review-Checkliste des Teams als `additionalContext` anhängen.1493Wird ausgeführt, wenn ein vom Benutzer eingegebener Befehl vor dem Erreichen von Claude in eine Eingabeaufforderung erweitert wird. Verwenden Sie dies, um bestimmte Befehle von direkter Aufrufen zu blockieren, Kontext für einen bestimmten Skill einzufügen oder zu protokollieren, welche Befehle Benutzer aufrufen. Beispielsweise kann ein Hook, der `deploy` abgleicht, `/deploy` blockieren, es sei denn, eine Genehmigungsdatei ist vorhanden, oder ein Hook, der einen Review-Skill abgleicht, kann die Review-Checkliste des Teams als `additionalContext` anhängen.

1492 1494 

1493Dieses Ereignis deckt den Pfad ab, den `PreToolUse` nicht abdeckt: Ein `PreToolUse`-Hook, der das `Skill`-Tool passt, wird nur ausgelöst, wenn Claude das Tool aufruft, aber das direkte Eingeben von `/skillname` umgeht `PreToolUse`. `UserPromptExpansion` wird auf diesem direkten Pfad ausgelöst.1495Dieses Ereignis deckt den Pfad ab, den `PreToolUse` nicht abdeckt: Ein `PreToolUse` Hook, der das `Skill` Tool abgleicht, wird nur ausgeführt, wenn Claude das Tool aufruft, aber das direkte Eingeben von `/skillname` umgeht `PreToolUse`. `UserPromptExpansion` wird auf diesem direkten Pfad ausgeführt.

1494 1496 

1495Passt auf `command_name`. Lassen Sie den Matcher leer, um auf jedem Prompt-Typ-Befehl zu feuern.1497Gleicht `command_name` ab. Lassen Sie den Matcher leer, um bei jedem Eingabeaufforderungs-Typ-Befehl zu aktivieren.

1496 1498 

1497<h4 id="userpromptexpansion-input">1499<h4 id="userpromptexpansion-input">

1498 UserPromptExpansion-Eingabe1500 UserPromptExpansion-Eingabe

1499</h4>1501</h4>

1500 1502 

1501Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten UserPromptExpansion-Hooks `expansion_type`, `command_name`, `command_args`, `command_source` und die ursprüngliche `prompt`-Zeichenkette. Das Feld `expansion_type` ist `slash_command` für Skill- und benutzerdefinierte Befehle oder `mcp_prompt` für MCP-Server-Prompts.1503Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten UserPromptExpansion-Hooks `expansion_type`, `command_name`, `command_args`, `command_source` und die ursprüngliche `prompt` Zeichenkette. Das `expansion_type` Feld ist `slash_command` für Skill- und benutzerdefinierte Befehle oder `mcp_prompt` für MCP-Server-Eingabeaufforderungen.

1502 1504 

1503```json theme={null}1505```json theme={null}

1504{1506{


1519 UserPromptExpansion-Entscheidungskontrolle1521 UserPromptExpansion-Entscheidungskontrolle

1520</h4>1522</h4>

1521 1523 

1522`UserPromptExpansion`-Hooks können die Erweiterung blockieren oder Kontext hinzufügen. Alle [JSON-Ausgabefelder](#json-output) sind verfügbar.1524`UserPromptExpansion` Hooks können die Erweiterung blockieren oder Kontext hinzufügen. Alle [JSON-Ausgabefelder](#json-output) sind verfügbar.

1523 1525 

1524| Feld | Beschreibung |1526| Feld | Beschreibung |

1525| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |1527| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |

1526| `decision` | `"block"` verhindert die Erweiterung des Befehls. Weglassen, um ihn fortzusetzen |1528| `decision` | `"block"` verhindert, dass der Befehl erweitert wird. Weglassen, um fortzufahren |

1527| `reason` | Wird dem Benutzer angezeigt, wenn `decision` `"block"` ist |1529| `reason` | Wird dem Benutzer angezeigt, wenn `decision` `"block"` ist |

1528| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem erweiterten Prompt hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1530| `additionalContext` | String, der zu Claudes Kontext neben der erweiterten Eingabeaufforderung hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

1529 1531 

1530Ein Hook, der durch Beenden mit 2 blockiert, wird auf die gleiche Weise wie `reason` weitergeleitet: Die Blockierungsmeldung zeigt dem Benutzer den stderr-Text an.1532Ein Hook, der durch Beendigung mit 2 blockiert, wird auf die gleiche Weise wie `reason` weitergeleitet: Die Blockierungsmeldung zeigt dem Benutzer den stderr-Text an.

1531 1533 

1532```json theme={null}1534```json theme={null}

1533{1535{


1544 MessageDisplay1546 MessageDisplay

1545</h3>1547</h3>

1546 1548 

1547Wird ausgeführt, während eine Assistenten-Nachricht auf den Bildschirm gestreamt wird. Claude Code zeigt die Nachricht in Inkrementen an: Jedes Mal, wenn ein Batch neu abgeschlossener Zeilen zum Rendern bereit ist, wird der Hook einmal mit diesen Zeilen ausgeführt und Claude Code rendert den Ersatztext des Hooks an ihrer Stelle. Eine lange Nachricht erzeugt mehrere Aufrufe; eine kurze Nachricht kann nur einen erzeugen.1549Wird ausgeführt, während eine Assistenten-Nachricht auf den Bildschirm gestreamt wird. Claude Code zeigt die Nachricht in Inkrementen an: Jedes Mal, wenn ein Batch neu fertiggestellter Zeilen zum Rendern bereit ist, wird der Hook einmal mit diesen Zeilen ausgeführt und Claude Code rendert den Ersatztext des Hooks an ihrer Stelle. Eine lange Nachricht erzeugt mehrere Aufrufe; eine kurze Nachricht kann nur einen erzeugen.

1548 1550 

1549Verwenden Sie MessageDisplay, um:1551Verwenden Sie MessageDisplay für:

1550 1552 

1551* Markdown für eine minimale Anzeige zu entfernen1553* Markdown für eine minimale Anzeige entfernen

1552* Den Text zu transformieren, den eine Agent SDK-Anwendung ihren Benutzern zeigt1554* Den Text transformieren, den eine Agent SDK Anwendung ihren Benutzern zeigt

1553* API-Schlüssel oder interne Hostnamen aus Claudes Antworten zu redigieren1555* API-Schlüssel oder interne Hostnamen aus Claudes Antworten redigieren

1554 1556 

1555Claude Code hält jeden Batch, bis Ihr Hook zurückkommt, daher halten Sie den Hook schnell. Wenn der Hook fehlschlägt oder das Timeout überschreitet, zeigt Claude Code den ursprünglichen Text an. Das Standard-Timeout für dieses Ereignis beträgt 10 Sekunden; wenn Ihr Hook mehr Zeit benötigt, setzen Sie das Feld `timeout` im Hook-Eintrag.1557Claude Code hält jeden Batch, bis Ihr Hook zurückkommt, daher halten Sie den Hook schnell. Wenn der Hook fehlschlägt oder das Timeout überschreitet, zeigt Claude Code den ursprünglichen Text an. Das Standard-Timeout für dieses Ereignis beträgt 10 Sekunden; wenn Ihr Hook mehr Zeit benötigt, setzen Sie das `timeout` Feld im Hook-Eintrag.

1556 1558 

1557MessageDisplay ist nur für die Anzeige: Der Ersatztext ändert nur das, was auf dem Bildschirm gerendert wird. Das Transkript und das, was Claude sieht, behalten den ursprünglichen Text, daher sieht Claude den Ersatz nie, und der ausführliche Modus zeigt das Original. Der Hook erhält nur Assistenten-Nachrichtentext, daher werden Tool-Ergebnisse und der Text, den Sie eingeben, unverändert gerendert.1559MessageDisplay ist nur für die Anzeige: Der Ersatztext ändert nur das, was auf dem Bildschirm gerendert wird. Das Transkript und das, was Claude sieht, behalten den ursprünglichen Text, daher sieht Claude den Ersatz nie, und der ausführliche Modus zeigt das Original. Der Hook empfängt nur Assistenten-Nachrichtentext, daher werden Tool-Ergebnisse und der Text, den Sie eingeben, unverändert gerendert.

1558 1560 

1559MessageDisplay unterstützt keine Matcher und wird für jede Assistenten-Nachricht ausgelöst, die Text streamt; Nachrichten ohne Text, wie nur Tool-Aufruf-Antworten, lösen es nicht aus.1561MessageDisplay unterstützt keine Matcher und wird für jede Assistenten-Nachricht ausgeführt, die Text streamt; Nachrichten ohne Text, wie nur Tool-Aufrufe, lösen es nicht aus.

1560 1562 

1561In nicht-interaktiven Läufen, einschließlich Agent SDK-Abfragen und `claude -p`, wird MessageDisplay einmal pro Assistenten-Nachricht statt einmal pro Batch von Zeilen ausgeführt. Der einzelne Aufruf kommt an, nachdem die Nachricht abgeschlossen ist und trägt den vollständigen Nachrichtentext: `index` ist `0`, `final` ist `true` und `delta` hält die gesamte Nachricht. Ein Hook, der den `delta`-Text für jede Nachricht erfasst, erhält den gleichen Gesamttext in beiden Modi.1563In nicht-interaktiven Läufen, einschließlich Agent SDK Abfragen und `claude -p`, wird MessageDisplay einmal pro Assistenten-Nachricht statt einmal pro Batch von Zeilen ausgeführt. Der einzelne Aufruf kommt nach Abschluss der Nachricht an und trägt den vollständigen Nachrichtentext: `index` ist `0`, `final` ist `true` und `delta` enthält die gesamte Nachricht. Ein Hook, der den `delta` Text für jede Nachricht sammelt, empfängt den gleichen Gesamttext in beiden Modi.

1562 1564 

1563<h4 id="messagedisplay-input">1565<h4 id="messagedisplay-input">

1564 MessageDisplay-Eingabe1566 MessageDisplay-Eingabe

1565</h4>1567</h4>

1566 1568 

1567Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten MessageDisplay-Hooks Kennungen für die Runde und Nachricht, die Position dieses Aufrufs innerhalb der Nachricht und den neuen Text in `delta`. Batch-Grenzen hängen davon ab, wie der Text streamt, daher verwenden Sie `index` und `final`, um den Fortschritt durch eine Nachricht zu verfolgen, anstatt zu erwarten, dass Zeilen auf eine bestimmte Weise gruppiert werden.1569Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten MessageDisplay-Hooks Identifikatoren für den Zug und die Nachricht, die Position dieses Aufrufs innerhalb der Nachricht und den neuen Text in `delta`. Batch-Grenzen hängen davon ab, wie der Text streamt, daher verwenden Sie `index` und `final`, um den Fortschritt durch eine Nachricht zu verfolgen, anstatt zu erwarten, dass Zeilen auf eine bestimmte Weise gruppiert werden.

1568 1570 

1569| Feld | Beschreibung |1571| Feld | Beschreibung |

1570| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1572| :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1571| `turn_id` | UUID der aktuellen Runde |1573| `turn_id` | UUID des aktuellen Zugs |

1572| `message_id` | UUID der Assistenten-Nachricht, die angezeigt wird. Stabil über jeden Batch der gleichen Nachricht. Dies ist nicht die API `msg_…` ID, daher kann sie nicht mit Transkript-Nachrichten-IDs korreliert werden |1574| `message_id` | UUID der angezeigten Assistenten-Nachricht. Stabil über jeden Batch der gleichen Nachricht. Dies ist nicht die API `msg_…` ID, daher kann sie nicht mit Transkript-Nachrichten-IDs korreliert werden |

1573| `index` | Null-basierter Index dieses Batches innerhalb der Nachricht |1575| `index` | Null-basierter Index dieses Batches innerhalb der Nachricht |

1574| `final` | `true` beim letzten Batch der Nachricht. Jede Nachricht hat genau einen finalen Batch |1576| `final` | `true` beim letzten Batch der Nachricht. Jede Nachricht hat genau einen finalen Batch |

1575| `delta` | Die neu abgeschlossenen Zeilen seit dem vorherigen Batch, einschließlich abschließender Zeilenumbrüche. Immer ganze Zeilen, außer dem finalen Batch, der möglicherweise mitten in einer Zeile endet. In interaktiven Läufen ist das Delta des finalen Batches leer, wenn die Nachricht auf einem Zeilenumbruch endet, daher verwenden Sie `final`, nicht ein nicht-leeres Delta, als End-of-Message-Signal. In Agent SDK und `claude -p` Läufen trägt der einzelne Aufruf die gesamte Nachricht |1577| `delta` | Die neu fertiggestellten Zeilen seit dem vorherigen Batch, einschließlich abschließender Zeilenumbrüche. Immer ganze Zeilen, außer dem finalen Batch, der in der Mitte einer Zeile enden kann. In interaktiven Läufen ist das Delta des finalen Batches leer, wenn die Nachricht mit einem Zeilenumbruch endet, daher behandeln Sie `final`, nicht ein nicht-leeres Delta, als das End-of-Message-Signal. In Agent SDK und `claude -p` Läufen trägt der einzelne Aufruf die gesamte Nachricht |

1576 1578 

1577```json theme={null}1579```json theme={null}

1578{1580{


1598| :--------------- | :--------------------------------------------------------------------------------- |1600| :--------------- | :--------------------------------------------------------------------------------- |

1599| `displayContent` | Text, der anstelle des Delta angezeigt wird. Weglassen, um das Original anzuzeigen |1601| `displayContent` | Text, der anstelle des Delta angezeigt wird. Weglassen, um das Original anzuzeigen |

1600 1602 

1601MessageDisplay-Hooks haben keine Entscheidungskontrolle. Sie können die Nachricht nicht blockieren oder ändern, was im Transkript gespeichert oder an Claude gesendet wird. Claude Code handelt auf `displayContent` aus ihrer JSON-Ausgabe und verwirft `systemMessage` und `continue`.1603MessageDisplay-Hooks haben keine Entscheidungskontrolle. Sie können die Nachricht nicht blockieren oder ändern, was im Transkript gespeichert oder an Claude gesendet wird. Claude Code handelt `displayContent` aus ihrer JSON-Ausgabe und verwirft `systemMessage` und `continue`.

1602 1604 

1603Dieses Beispiel entfernt Markdown-Formatierung aus Claudes Antworten für eine Nur-Text-Anzeige. Das Skript liest jeden Batch von stdin, entfernt Fettdruck-Marker und Inline-Code-Backticks aus `delta` und gibt das Ergebnis als `displayContent` zurück.1605Dieses Beispiel entfernt Markdown-Formatierung aus Claudes Antworten für eine Klartext-Anzeige. Das Skript liest jeden Batch von stdin, entfernt fette Marker und Inline-Code-Backticks aus `delta` und gibt das Ergebnis als `displayContent` zurück.

1604 1606 

1605<Tabs>1607<Tabs>

1606 <Tab title="macOS/Linux">1608 <Tab title="macOS/Linux">


1659 }1661 }

1660 ```1662 ```

1661 1663 

1662 Das Flag `-NoProfile` überspringt das Laden Ihres PowerShell-Profils, damit der Hook schnell startet, und `-ExecutionPolicy Bypass` ermöglicht PowerShell, die lokale Skriptdatei auszuführen.1664 Das `-NoProfile` Flag überspringt das Laden Ihres PowerShell-Profils, damit der Hook schnell startet, und `-ExecutionPolicy Bypass` ermöglicht PowerShell, die lokale Skriptdatei auszuführen.

1663 1665 

1664 Speichern Sie dieses Skript unter `.claude/hooks/plain-display.ps1` in Ihrem Projekt:1666 Speichern Sie dieses Skript unter `.claude/hooks/plain-display.ps1` in Ihrem Projekt:

1665 1667 


1676 </Tab>1678 </Tab>

1677</Tabs>1679</Tabs>

1678 1680 

1679Batches ohne Markdown werden unverändert durchgelassen. Wenn das Skript fehlschlägt, zum Beispiel weil `jq` fehlt, zeigt Claude Code den ursprünglichen Text an und notiert den Fehler nur in der [Debug-Ausgabe](#debug-hooks), nicht in der Sitzung.1681Batches ohne Markdown werden unverändert durchgelassen. Wenn das Skript fehlschlägt, z. B. weil `jq` fehlt, zeigt Claude Code den ursprünglichen Text an und notiert den Fehler nur in der [Debug-Ausgabe](#debug-hooks), nicht in der Sitzung.

1680 1682 

1681<h3 id="pretooluse">1683<h3 id="pretooluse">

1682 PreToolUse1684 PreToolUse

1683</h3>1685</h3>

1684 1686 

1685Wird ausgeführt, nachdem Claude Tool-Parameter erstellt hat und bevor der Tool-Aufruf verarbeitet wird. Passt auf jeden Tool-Namen außer `EndConversation`: eingebaute Tools wie `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion` und `ExitPlanMode`, und alle [MCP-Tool-Namen](#match-mcp-tools).1687Wird ausgeführt, nachdem Claude Tool-Parameter erstellt hat und bevor der Tool-Aufruf verarbeitet wird. Gleicht jeden Tool-Namen außer `EndConversation` ab: integrierte Tools wie `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion` und `ExitPlanMode` sowie alle [MCP-Tool-Namen](#match-mcp-tools).

1686 1688 

1687Um einen Hook auszuführen, wenn sich eine bestimmte Datei auf der Festplatte ändert, egal was sie geschrieben hat, verwenden Sie [FileChanged](#filechanged) statt PreToolUse-Matching-Datei-Bearbeitungs-Tools nach Name. Im Gegensatz zu PreToolUse führt Claude Code FileChanged-Hooks nach der Änderung aus, und sie haben keine Entscheidungskontrolle, daher können sie den Schreibvorgang nicht blockieren.1689Um einen Hook auszuführen, wenn sich eine bestimmte Datei auf der Festplatte ändert, unabhängig davon, wer sie schreibt, verwenden Sie stattdessen [FileChanged](#filechanged). Im Gegensatz zu PreToolUse führt Claude Code FileChanged-Hooks nach der Änderung aus, und sie haben keine Entscheidungskontrolle, daher können sie den Schreibvorgang nicht blockieren.

1688 1690 

1689<Warning>1691<Warning>

1690 PreToolUse wird nur ausgeführt, wenn Claude ein Tool aufruft. Dateien, die Sie [mit `@` in Ihrem Prompt referenzieren](/docs/de/common-workflows#reference-files-and-directories), werden ohne Tool-Aufruf hinzugefügt: Claude Code fügt ihre Inhalte beim Erstellen des Prompts ein, daher wird kein PreToolUse-Hook für sie ausgelöst, einschließlich Hooks, die `Read` passen. Um bestimmte Pfade von `@`-Referenzen zu blockieren, verwenden Sie stattdessen eine [`Read`-Deny-Regel](/docs/de/permissions#read-and-edit).1692 PreToolUse wird nur ausgeführt, wenn Claude ein Tool aufruft. Dateien, die Sie [mit `@` in Ihrer Eingabeaufforderung referenzieren](/docs/de/common-workflows#reference-files-and-directories), werden hinzugefügt, ohne dass ein Tool-Aufruf erfolgt: Claude Code fügt ihren Inhalt beim Erstellen der Eingabeaufforderung ein, daher wird kein PreToolUse-Hook für sie ausgeführt, einschließlich Hooks, die `Read` abgleichen. Um bestimmte Pfade von `@` Referenzen zu blockieren, verwenden Sie stattdessen eine [`Read` Ablehnungsregel](/docs/de/permissions#read-and-edit).

1691 1693 

1692 PreToolUse wird auch nicht für [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) ausgelöst.1694 PreToolUse wird auch nicht für [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) ausgeführt.

1693</Warning>1695</Warning>

1694 1696 

1695Verwenden Sie [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control), um die Verwendung des Tools zuzulassen, zu verweigern, um Berechtigung zu bitten oder zu verschieben.1697Verwenden Sie [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control), um den Tool-Aufruf zu erlauben, zu verweigern, zu fragen oder aufzuschieben.

1696 1698 

1697Ein [Agent SDK-Callback-Hook](/docs/de/agent-sdk/hooks) auf `PreToolUse`, der sein Timeout überschreitet, blockiert den Tool-Aufruf, und Claude erhält ein Fehlerergebnis, das das Timeout benennt. Eine explizite Verweigerung, die von einem anderen Hook zurückgegeben wird, hat immer noch Vorrang.1699Ein [Agent SDK Callback-Hook](/docs/de/agent-sdk/hooks) auf `PreToolUse`, der sein Timeout überschreitet, blockiert den Tool-Aufruf, und Claude erhält ein Fehlerergebnis, das das Timeout benennt. Eine explizite Ablehnung, die von einem anderen Hook zurückgegeben wird, hat immer noch Vorrang.

1698 1700 

1699<h4 id="pretooluse-input">1701<h4 id="pretooluse-input">

1700 PreToolUse-Eingabe1702 PreToolUse-Eingabe

1701</h4>1703</h4>

1702 1704 

1703Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PreToolUse-Hooks `tool_name`, `tool_input` und `tool_use_id`.1705Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten PreToolUse-Hooks `tool_name`, `tool_input` und `tool_use_id`.

1704 1706 

1705Für ein [MCP-Tool](#match-mcp-tools) trägt die Eingabe auch `mcp_server`, ein Objekt mit dem Namen des Servers und einer `source`, die angibt, woher die Definition des Servers kam. Die `source`-Werte umfassen `plugin`, `sdk` und Konfigurationsumfänge wie `user` und `project`. [`McpServerProvenance`](/docs/de/agent-sdk/typescript#mcpserverprovenance) in der Agent SDK-Referenz listet sie alle auf und sagt, wie man eine behandelt, die man nicht erkennt. Treffen Sie Vertrauensentscheidungen auf Basis von `source` statt auf `name` oder dem `mcp__<server>__`-Tool-Namen-Präfix. Das Feld `mcp_server` erfordert Claude Code v2.1.274 oder später.1707Für ein [MCP-Tool](#match-mcp-tools) trägt die Eingabe auch `mcp_server`, ein Objekt mit dem Namen des Servers und einer `source`, die angibt, woher die Definition des Servers stammt. Die `source` Werte umfassen `plugin`, `sdk` und Konfigurationsbereiche wie `user` und `project`. [`McpServerProvenance`](/docs/de/agent-sdk/typescript#mcpserverprovenance) in der Agent SDK Referenz listet sie alle auf und sagt, wie man eine behandelt, die man nicht erkennt. Treffen Sie Vertrauensentscheidungen basierend auf `source` statt auf `name` oder dem `mcp__<server>__` Tool-Namen-Präfix. Das `mcp_server` Feld erfordert Claude Code v2.1.274 oder später.

1706 1708 

1707Für die Datei-Tools `Write`, `Edit` und `Read` ist `tool_input.file_path` immer absolut:1709Für die Datei-Tools `Write`, `Edit` und `Read` ist `tool_input.file_path` immer absolut:

1708 1710 

1709* Claude Code erweitert `~` und relative Pfade, bevor Hooks ausgeführt werden, daher kann ein Hook, der auf Pfade passt, nicht durch `~` oder eine relative Schreibweise des gleichen Pfads umgangen werden1711* Claude Code erweitert `~` und relative Pfade, bevor Hooks ausgeführt werden, daher kann ein Hook, der auf Pfaden abgleicht, nicht durch `~` oder eine relative Schreibweise des gleichen Pfads umgangen werden

1710* Unter Windows kommt der Pfad mit Backslash-Trennzeichen an, auch wenn Ihr Hook unter Git Bash läuft, wo `$PWD` wie `/c/project` aussieht1712* Unter Windows kommt der Pfad mit Backslash-Trennzeichen an, auch wenn Ihr Hook unter Git Bash läuft, wo `$PWD` wie `/c/project` aussieht

1711* Ein Vergleich, der mit Schrägstrichen geschrieben ist, wie ein `/src/`-Check, passt niemals auf einen Backslash-Pfad, und der Tool-Aufruf wird fortgesetzt, als hätte der Hook nichts zu blockieren1713* Ein Vergleich mit Schrägstrichen, wie eine `/src/` Überprüfung, gleicht nie einen Backslash-Pfad ab, und der Tool-Aufruf wird fortgesetzt, als hätte der Hook nichts zu blockieren

1712* Normalisieren Sie Trennzeichen vor dem Vergleich: `FILE_PATH="${FILE_PATH//\\//}"` in Bash oder `file_path.replace("\\", "/")` in Python, dann passen Sie auf ein Pfad-Segment wie `/src/` statt auf Anker mit `^`, da der Pfad absolut ist1714* Normalisieren Sie Trennzeichen vor dem Vergleich: `FILE_PATH="${FILE_PATH//\\//}"` in Bash oder `file_path.replace("\\", "/")` in Python, dann gleichen Sie ein Pfad-Segment wie `/src/` ab, anstatt mit `^` zu verankern, da der Pfad absolut ist

1713 1715 

1714Ein `Write`-Aufruf unter Windows liefert:1716Ein `Write` Aufruf unter Windows liefert:

1715 1717 

1716```json theme={null}1718```json theme={null}

1717{1719{


1725}1727}

1726```1728```

1727 1729 

1728Die `tool_input`-Felder hängen vom Tool ab:1730Die `tool_input` Felder hängen vom Tool ab:

1729 1731 

1730<a id="bash" />1732<a id="bash" />

1731 1733 


1736Führt Shell-Befehle aus.1738Führt Shell-Befehle aus.

1737 1739 

1738| Feld | Typ | Beispiel | Beschreibung |1740| Feld | Typ | Beispiel | Beschreibung |

1739| :------------------ | :----------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1741| :------------------ | :------ | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1740| `command` | Zeichenkette | `"npm test"` | Der auszuführende Shell-Befehl |1742| `command` | string | `"npm test"` | Der auszuführende Shell-Befehl |

1741| `description` | Zeichenkette | `"Run test suite"` | Optionale Beschreibung, was der Befehl tut |1743| `description` | string | `"Run test suite"` | Optionale Beschreibung, was der Befehl tut |

1742| `timeout` | Zahl | `120000` | Optionales Timeout in Millisekunden. Werte über dem [Maximum](/docs/de/tools-reference#bash-tool-behavior) werden auf das Maximum reduziert, anstatt abgelehnt zu werden |1744| `timeout` | number | `120000` | Optionales Timeout in Millisekunden. Werte über dem [Maximum](/docs/de/tools-reference#bash-tool-behavior) werden auf das Maximum reduziert, anstatt abgelehnt zu werden |

1743| `run_in_background` | Boolesch | `false` | Ob der Befehl im Hintergrund ausgeführt werden soll |1745| `run_in_background` | boolean | `false` | Ob der Befehl im Hintergrund ausgeführt werden soll |

1744 1746 

1745Wenn ein Bash-Befehl Dateien in einem Git-Repository ändert, kann Claude Code aufzeichnen, was sich geändert hat. Es zeichnet die Änderungen in jedem Berechtigungsmodus auf, wenn die [`bashEditDiffEnabled`](/docs/de/settings-reference#basheditdiffenabled)-Einstellung die Aufzeichnung einschaltet; der Eintrag dieser Einstellung sagt, welche Dateien sie setzen können. Andernfalls zeichnet es sie nur im Auto-Modus und `bypassPermissions`-Modus auf, und nur wenn Claude Code Claude anweist, Dateien durch Bash zu bearbeiten. Setzen Sie `bashEditDiffEnabled` auf `false`, um die Aufzeichnung auszuschalten. Hintergrund-Befehle und schreibgeschützte Befehle tragen keinen Diff.1747Wenn ein Bash-Befehl Dateien in einem Git-Repository ändert, kann Claude Code aufzeichnen, was sich geändert hat. Es zeichnet die Änderungen in jedem Berechtigungsmodus auf, wenn die [`bashEditDiffEnabled`](/docs/de/settings-reference#basheditdiffenabled) Einstellung die Aufzeichnung aktiviert; der Eintrag dieser Einstellung sagt, welche Dateien sie setzen können. Andernfalls zeichnet es sie nur im Auto-Modus und `bypassPermissions` Modus auf, und nur wenn Claude Code Claude anweist, Dateien durch Bash zu bearbeiten. Setzen Sie `bashEditDiffEnabled` auf `false`, um die Aufzeichnung auszuschalten. Hintergrund-Befehle und schreibgeschützte Befehle tragen keinen Diff.

1746 1748 

1747Ihr [PostToolUse-Hook](#posttooluse) erhält dann die geänderten Dateien in `tool_response.bashEditDiff`. Die Liste deckt ab, was sich im Repository geändert hat, während der Befehl lief. Dateien, die Git ignoriert, und Dateien in Submodulen werden nicht aufgelistet. Erfordert Claude Code v2.1.269 oder später.1749Ihr [PostToolUse-Hook](#posttooluse) empfängt dann die geänderten Dateien in `tool_response.bashEditDiff`. Die Liste deckt ab, was sich im Repository geändert hat, während der Befehl lief. Dateien, die Git ignoriert, und Dateien in Submodulen werden nicht aufgelistet. Erfordert Claude Code v2.1.269 oder später.

1748 1750 

1749<Note>1751<Note>

1750 Die Liste ist Best-Effort und in öffentlicher Beta. Claude Code kann eine Änderung verpassen, eine Datei einbeziehen, die ein anderer Prozess gleichzeitig geändert hat, oder bei seinen Größenlimits stoppen. Die Feldform kann sich ändern. Verwenden Sie die Liste, um zu finden, was zu überprüfen ist, nicht um eine Richtlinie durchzusetzen.1752 Die Liste ist Best-Effort und in öffentlicher Beta. Claude Code kann eine Änderung verpassen, eine Datei einschließen, die ein anderer Prozess gleichzeitig geändert hat, oder bei seinen Größenlimits stoppen. Die Feldform kann sich ändern. Verwenden Sie die Liste, um zu finden, was zu überprüfen ist, nicht um eine Richtlinie durchzusetzen.

1751</Note>1753</Note>

1752 1754 

1753`changedFiles` und `files` listen auf, was der Befehl geändert hat; die verbleibenden Felder sagen, wie vollständig und wie zuverlässig diese Liste ist.1755`changedFiles` und `files` listen auf, was der Befehl geändert hat; die verbleibenden Felder sagen, wie vollständig und wie zuverlässig diese Liste ist.

1754 1756 

1755| Feld | Typ | Beispiel | Beschreibung |1757| Feld | Typ | Beispiel | Beschreibung |

1756| :------------- | :------- | :------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1758| :------------- | :------ | :------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1757| `changedFiles` | Array | `["/path/to/src/app.ts"]` | Absolute Pfade der Dateien, die der Befehl geändert hat, höchstens 200. Vorhanden, wenn `files` einen Diff hält oder `moreFiles` über Null liegt |1759| `changedFiles` | array | `["/path/to/src/app.ts"]` | Absolute Pfade der Dateien, die der Befehl geändert hat, höchstens 200. Vorhanden, wenn `files` einen Diff enthält oder `moreFiles` über Null liegt |

1758| `files` | Array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs von bis zu 5 geänderten Dateien zur Anzeige. `created` oder `deleted` ist `true` für eine Datei, die der Befehl hinzugefügt oder entfernt hat |1760| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs von bis zu 5 geänderten Dateien zur Anzeige. `created` oder `deleted` ist `true` für eine Datei, die der Befehl hinzugefügt oder entfernt hat |

1759| `moreFiles` | Zahl | `2` | Anzahl der geänderten Dateien ohne Diff in `files` |1761| `moreFiles` | number | `2` | Anzahl der geänderten Dateien ohne Diff in `files` |

1760| `unavailable` | Boolesch | `true` | Gesetzt, wenn der Diff unvollständig ist oder nicht genommen werden konnte |1762| `unavailable` | boolean | `true` | Gesetzt, wenn der Diff unvollständig ist oder nicht genommen werden konnte |

1761| `skipped` | Boolesch | `true` | Gesetzt für einen Git-Befehl, der den Arbeitsbaum bewegt, wie `git checkout` oder `git stash`, daher nimmt Claude Code keinen Diff |1763| `skipped` | boolean | `true` | Gesetzt für einen Git-Befehl, der den Arbeitsbaum bewegt, wie `git checkout` oder `git stash`, daher nimmt Claude Code keinen Diff |

1762| `shared` | Boolesch | `true` | Gesetzt, wenn ein anderer Bash-Tool-Aufruf, wie der eines Subagenten, im gleichen Repository zur gleichen Zeit lief, daher können einige aufgelistete Änderungen von diesem Befehl sein |1764| `shared` | boolean | `true` | Gesetzt, wenn ein anderer Bash-Tool-Aufruf, wie der eines Subagenten, im gleichen Repository zur gleichen Zeit lief, daher können einige aufgelistete Änderungen von diesem Befehl sein |

1763 1765 

1764<a id="powershell" />1766<a id="powershell" />

1765 1767 


1772Die Felder entsprechen dem Bash-Tool, mit der Befehlszeichenkette in `command`:1774Die Felder entsprechen dem Bash-Tool, mit der Befehlszeichenkette in `command`:

1773 1775 

1774| Feld | Typ | Beispiel | Beschreibung |1776| Feld | Typ | Beispiel | Beschreibung |

1775| :------------------ | :----------- | :------------------------- | :-------------------------------------------------- |1777| :------------------ | :------ | :------------------------- | :-------------------------------------------------- |

1776| `command` | Zeichenkette | `"Get-ChildItem -Recurse"` | Der auszuführende PowerShell-Befehl |1778| `command` | string | `"Get-ChildItem -Recurse"` | Der auszuführende PowerShell-Befehl |

1777| `description` | Zeichenkette | `"List files recursively"` | Optionale Beschreibung, was der Befehl tut |1779| `description` | string | `"List files recursively"` | Optionale Beschreibung, was der Befehl tut |

1778| `timeout` | Zahl | `120000` | Optionales Timeout in Millisekunden |1780| `timeout` | number | `120000` | Optionales Timeout in Millisekunden |

1779| `run_in_background` | Boolesch | `false` | Ob der Befehl im Hintergrund ausgeführt werden soll |1781| `run_in_background` | boolean | `false` | Ob der Befehl im Hintergrund ausgeführt werden soll |

1780 1782 

1781Passen Sie `Bash|PowerShell` in Hooks an, die Shell-Befehle inspizieren, damit sie beide Tools abdecken:1783Gleichen Sie `Bash|PowerShell` in Hooks ab, die Shell-Befehle überprüfen, damit sie beide Tools abdecken:

1782 1784 

1783* Unter Windows, wo das PowerShell-Tool aktiviert ist, behandelt Claude PowerShell als die primäre Shell und leitet Shell-Befehle durch sie.1785* Unter Windows, überall wo das PowerShell-Tool aktiviert ist, behandelt Claude PowerShell als die primäre Shell und leitet Shell-Befehle durch sie.

1784* Unter Windows ohne Git Bash ist das Tool automatisch aktiviert und Claude Code registriert das Bash-Tool überhaupt nicht.1786* Unter Windows ohne Git Bash ist das Tool automatisch aktiviert und Claude Code registriert das Bash-Tool überhaupt nicht.

1785* Ein Hook, der nur `Bash` passt, wird dort nie ausgelöst.1787* Ein Hook, der nur `Bash` abgleicht, wird dort nie ausgeführt.

1786 1788 

1787<h5 id="write">1789<h5 id="write">

1788 Write1790 Write


1791Erstellt oder überschreibt eine Datei.1793Erstellt oder überschreibt eine Datei.

1792 1794 

1793| Feld | Typ | Beispiel | Beschreibung |1795| Feld | Typ | Beispiel | Beschreibung |

1794| :---------- | :----------- | :-------------------- | :--------------------------------------- |1796| :---------- | :----- | :-------------------- | :--------------------------------------- |

1795| `file_path` | Zeichenkette | `"/path/to/file.txt"` | Absoluter Pfad zur zu schreibenden Datei |1797| `file_path` | string | `"/path/to/file.txt"` | Absoluter Pfad zur zu schreibenden Datei |

1796| `content` | Zeichenkette | `"file content"` | Inhalt zum Schreiben in die Datei |1798| `content` | string | `"file content"` | Inhalt zum Schreiben in die Datei |

1797 1799 

1798<h5 id="edit">1800<h5 id="edit">

1799 Edit1801 Edit


1802Ersetzt eine Zeichenkette in einer vorhandenen Datei.1804Ersetzt eine Zeichenkette in einer vorhandenen Datei.

1803 1805 

1804| Feld | Typ | Beispiel | Beschreibung |1806| Feld | Typ | Beispiel | Beschreibung |

1805| :------------ | :----------- | :-------------------- | :---------------------------------------- |1807| :------------ | :------ | :-------------------- | :---------------------------------------- |

1806| `file_path` | Zeichenkette | `"/path/to/file.txt"` | Absoluter Pfad zur zu bearbeitenden Datei |1808| `file_path` | string | `"/path/to/file.txt"` | Absoluter Pfad zur zu bearbeitenden Datei |

1807| `old_string` | Zeichenkette | `"original text"` | Text zum Suchen und Ersetzen |1809| `old_string` | string | `"original text"` | Text zum Suchen und Ersetzen |

1808| `new_string` | Zeichenkette | `"replacement text"` | Ersatztext |1810| `new_string` | string | `"replacement text"` | Ersatztext |

1809| `replace_all` | Boolesch | `false` | Ob alle Vorkommen ersetzt werden sollen |1811| `replace_all` | boolean | `false` | Ob alle Vorkommen ersetzt werden sollen |

1810 1812 

1811<h5 id="read">1813<h5 id="read">

1812 Read1814 Read


1815Liest Dateiinhalte.1817Liest Dateiinhalte.

1816 1818 

1817| Feld | Typ | Beispiel | Beschreibung |1819| Feld | Typ | Beispiel | Beschreibung |

1818| :---------- | :----------- | :-------------------- | :-------------------------------------------- |1820| :---------- | :----- | :-------------------- | :-------------------------------------------- |

1819| `file_path` | Zeichenkette | `"/path/to/file.txt"` | Absoluter Pfad zur zu lesenden Datei |1821| `file_path` | string | `"/path/to/file.txt"` | Absoluter Pfad zur zu lesenden Datei |

1820| `offset` | Zahl | `10` | Optionale Zeilennummer zum Starten des Lesens |1822| `offset` | number | `10` | Optionale Zeilennummer zum Starten des Lesens |

1821| `limit` | Zahl | `50` | Optionale Anzahl der zu lesenden Zeilen |1823| `limit` | number | `50` | Optionale Anzahl der zu lesenden Zeilen |

1822 1824 

1823<h5 id="glob">1825<h5 id="glob">

1824 Glob1826 Glob


1827Findet Dateien, die einem Glob-Muster entsprechen.1829Findet Dateien, die einem Glob-Muster entsprechen.

1828 1830 

1829| Feld | Typ | Beispiel | Beschreibung |1831| Feld | Typ | Beispiel | Beschreibung |

1830| :-------- | :----------- | :--------------- | :------------------------------------------------------------------------------------ |1832| :-------- | :----- | :--------------- | :--------------------------------------------------------------------------------- |

1831| `pattern` | Zeichenkette | `"**/*.ts"` | Glob-Muster zum Abgleichen von Dateien |1833| `pattern` | string | `"**/*.ts"` | Glob-Muster zum Abgleichen von Dateien |

1832| `path` | Zeichenkette | `"/path/to/dir"` | Optionales Verzeichnis zum Durchsuchen. Standardwert ist aktuelles Arbeitsverzeichnis |1834| `path` | string | `"/path/to/dir"` | Optionales Verzeichnis zum Durchsuchen. Standardmäßig aktuelles Arbeitsverzeichnis |

1833 1835 

1834<h5 id="grep">1836<h5 id="grep">

1835 Grep1837 Grep


1838Durchsucht Dateiinhalte mit regulären Ausdrücken.1840Durchsucht Dateiinhalte mit regulären Ausdrücken.

1839 1841 

1840| Feld | Typ | Beispiel | Beschreibung |1842| Feld | Typ | Beispiel | Beschreibung |

1841| :------------ | :----------- | :--------------- | :------------------------------------------------------------------------------------------ |1843| :------------ | :------ | :--------------- | :--------------------------------------------------------------------------------------- |

1842| `pattern` | Zeichenkette | `"TODO.*fix"` | Regex-Muster zum Suchen |1844| `pattern` | string | `"TODO.*fix"` | Muster für reguläre Ausdrücke zum Suchen |

1843| `path` | Zeichenkette | `"/path/to/dir"` | Optionale Datei oder Verzeichnis zum Durchsuchen |1845| `path` | string | `"/path/to/dir"` | Optionale Datei oder Verzeichnis zum Durchsuchen |

1844| `glob` | Zeichenkette | `"*.ts"` | Optionales Glob-Muster zum Filtern von Dateien |1846| `glob` | string | `"*.ts"` | Optionales Glob-Muster zum Filtern von Dateien |

1845| `output_mode` | Zeichenkette | `"content"` | `"content"`, `"files_with_matches"` oder `"count"`. Standardwert ist `"files_with_matches"` |1847| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"` oder `"count"`. Standardmäßig `"files_with_matches"` |

1846| `-i` | Boolesch | `true` | Groß-/Kleinschreibung ignorieren |1848| `-i` | boolean | `true` | Groß-/Kleinschreibung ignorieren |

1847| `multiline` | Boolesch | `false` | Mehrzeiliges Matching aktivieren |1849| `multiline` | boolean | `false` | Mehrzeilige Übereinstimmung aktivieren |

1848 1850 

1849<h5 id="webfetch">1851<h5 id="webfetch">

1850 WebFetch1852 WebFetch


1853Ruft Web-Inhalte ab und verarbeitet sie.1855Ruft Web-Inhalte ab und verarbeitet sie.

1854 1856 

1855| Feld | Typ | Beispiel | Beschreibung |1857| Feld | Typ | Beispiel | Beschreibung |

1856| :------- | :----------- | :---------------------------- | :---------------------------------------------- |1858| :------- | :----- | :---------------------------- | :----------------------------------------------------------- |

1857| `url` | Zeichenkette | `"https://example.com/api"` | URL zum Abrufen von Inhalten |1859| `url` | string | `"https://example.com/api"` | URL zum Abrufen von Inhalten |

1858| `prompt` | Zeichenkette | `"Extract the API endpoints"` | Prompt zum Ausführen auf dem abgerufenen Inhalt |1860| `prompt` | string | `"Extract the API endpoints"` | Eingabeaufforderung zum Ausführen auf dem abgerufenen Inhalt |

1859 1861 

1860<h5 id="websearch">1862<h5 id="websearch">

1861 WebSearch1863 WebSearch


1864Durchsucht das Web.1866Durchsucht das Web.

1865 1867 

1866| Feld | Typ | Beispiel | Beschreibung |1868| Feld | Typ | Beispiel | Beschreibung |

1867| :---------------- | :----------- | :----------------------------- | :------------------------------------------------------ |1869| :---------------- | :----- | :----------------------------- | :------------------------------------------------------- |

1868| `query` | Zeichenkette | `"react hooks best practices"` | Suchanfrage |1870| `query` | string | `"react hooks best practices"` | Suchanfrage |

1869| `allowed_domains` | Array | `["docs.example.com"]` | Optional: Nur Ergebnisse von diesen Domains einbeziehen |1871| `allowed_domains` | array | `["docs.example.com"]` | Optional: Nur Ergebnisse von diesen Domains einschließen |

1870| `blocked_domains` | Array | `["spam.example.com"]` | Optional: Ergebnisse von diesen Domains ausschließen |1872| `blocked_domains` | array | `["spam.example.com"]` | Optional: Ergebnisse von diesen Domains ausschließen |

1871 1873 

1872<h5 id="agent">1874<h5 id="agent">

1873 Agent1875 Agent


1876Spawnt einen [Subagenten](/docs/de/sub-agents).1878Spawnt einen [Subagenten](/docs/de/sub-agents).

1877 1879 

1878| Feld | Typ | Beispiel | Beschreibung |1880| Feld | Typ | Beispiel | Beschreibung |

1879| :-------------- | :----------- | :------------------------- | :------------------------------------------------------ |1881| :-------------- | :----- | :------------------------- | :------------------------------------------------------ |

1880| `prompt` | Zeichenkette | `"Find all API endpoints"` | Die Aufgabe für den Agent |1882| `prompt` | string | `"Find all API endpoints"` | Die Aufgabe für den Agenten |

1881| `description` | Zeichenkette | `"Find API endpoints"` | Kurze Beschreibung der Aufgabe |1883| `description` | string | `"Find API endpoints"` | Kurze Beschreibung der Aufgabe |

1882| `subagent_type` | Zeichenkette | `"Explore"` | Typ des zu verwendenden spezialisierten Agenten |1884| `subagent_type` | string | `"Explore"` | Typ des zu verwendenden spezialisierten Agenten |

1883| `model` | Zeichenkette | `"sonnet"` | Optionaler Modell-Alias zum Überschreiben des Standards |1885| `model` | string | `"sonnet"` | Optionaler Modell-Alias zum Überschreiben des Standards |

1884 1886 

1885Wenn ein Vordergrund-Agent-Aufruf abgeschlossen ist, erhält Ihr [PostToolUse-Hook](#posttooluse) das Ergebnis des Subagenten und die Lauftelemetrie in `tool_response`. Lesen Sie diese Felder, um das Laufen zu inspizieren; für Token- und Kosten-Rollups über Subagenten verwenden Sie die [Token- und Kosten-Zähler](/docs/de/monitoring-usage#token-counter), die auf `query_source` `"subagent"` gefiltert sind, da `totalTokens` und `usage` nur die letzte Anfrage abdecken:1887Wenn ein Vordergrund-Agent-Aufruf abgeschlossen ist, empfängt Ihr [PostToolUse-Hook](#posttooluse) das Ergebnis des Subagenten und die Telemetrie des Laufs in `tool_response`. Lesen Sie diese Felder, um den Lauf zu überprüfen; für Token- und Kosten-Rollups über Subagenten verwenden Sie die [Token- und Kosten-Zähler](/docs/de/monitoring-usage#token-counter), gefiltert nach `query_source` `"subagent"`, da `totalTokens` und `usage` nur die letzte Anfrage abdecken:

1886 1888 

1887| Feld | Typ | Beispiel | Beschreibung |1889| Feld | Typ | Beispiel | Beschreibung |

1888| :------------------ | :----------- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1890| :------------------ | :----- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1889| `status` | Zeichenkette | `"completed"` | `"completed"` für Vordergrund-Subagenten, `"async_launched"` für Hintergrund-Subagenten. Ab v2.1.198 werden Subagenten standardmäßig im Hintergrund ausgeführt, daher erzeugt ein weggelassenes `run_in_background` auch `"async_launched"` |1891| `status` | string | `"completed"` | `"completed"` für Vordergrund-Subagenten, `"async_launched"` für Hintergrund-Subagenten. Ab v2.1.198 laufen Subagenten standardmäßig im Hintergrund, daher erzeugt ein weggelassenes `run_in_background` auch `"async_launched"` |

1890| `agentId` | Zeichenkette | `"a4d2c8f1e0b3a297"` | Kennung für die Subagenten-Ausführung |1892| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identifikator für den Subagenten-Lauf |

1891| `content` | Array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Die abschließenden Textblöcke des Subagenten oder, für einen Subagenten, dessen Bericht durch `SubagentHandback` geht, eine kurze Notiz über diesen Handback an ihrer Stelle |1893| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Die finalen Textblöcke des Subagenten oder, für einen Subagenten, dessen Bericht durch `SubagentHandback` geht, eine kurze Notiz über diesen Handback an ihrer Stelle |

1892| `resolvedModel` | Zeichenkette | `"claude-sonnet-4-5"` | Modell, auf dem der Subagent gestartet wurde, das sich vom angeforderten Modell unterscheiden kann |1894| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modell, auf dem der Subagent gestartet wurde, das sich vom angeforderten Modell unterscheiden kann |

1893| `modelsUsed` | Array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modelle, die in Reihenfolge verwendet wurden, mit aufeinanderfolgenden Wiederholungen zusammengefasst; wird nur gesetzt, wenn das Modell während des Laufs gewechselt wurde. Erfordert Claude Code v2.1.212 oder später |1895| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Verwendete Modelle in Reihenfolge, mit aufeinanderfolgenden Wiederholungen zusammengefasst; nur gesetzt, wenn das Modell während des Laufs gewechselt wurde. Erfordert Claude Code v2.1.212 oder später |

1894| `totalTokens` | Zahl | `12450` | Token-Anzahl aus der letzten API-Anfrage des Subagenten: Input-, Output- und Cache-Tokens kombiniert. Dies ist keine Gesamtsumme über den ganzen Lauf |1896| `totalTokens` | number | `12450` | Token-Anzahl aus der letzten API-Anfrage des Subagenten: Eingabe-, Ausgabe- und Cache-Tokens kombiniert. Dies ist keine Gesamtsumme über den ganzen Lauf |

1895| `totalDurationMs` | Zahl | `48211` | Wanduhr-Dauer der Subagenten-Ausführung |1897| `totalDurationMs` | number | `48211` | Wanduhr-Dauer des Subagenten-Laufs |

1896| `totalToolUseCount` | Zahl | `7` | Anzahl der Tool-Aufrufe, die der Subagent gemacht hat |1898| `totalToolUseCount` | number | `7` | Anzahl der Tool-Aufrufe, die der Subagent gemacht hat |

1897| `usage` | Objekt | `{"input_tokens": 8320, ...}` | Pro-Typ-Token-Aufschlüsselung der letzten API-Anfrage: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1899| `usage` | object | `{"input_tokens": 8320, ...}` | Pro-Typ Token-Aufschlüsselung der letzten API-Anfrage: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1898 1900 

1899Auf Claude Code v2.1.271 oder später liefert ein Subagent, der mit dem [`SubagentHandback`](/docs/de/tools-reference)-Tool läuft, das Claude Code im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) bereitstellt, seinen Bericht durch dieses Tool statt ihn als Text zurückzugeben. Das Feld `content` seines `completed`-Ergebnisses trägt dann eine kurze Notiz über diesen Handback statt des Berichts selbst. Um den Bericht zu lesen, passen Sie einen `PreToolUse`- oder `PostToolUse`-Hook auf `SubagentHandback` an und lesen Sie `tool_input.message`.1901Auf Claude Code v2.1.271 oder später liefert ein Subagent, der mit dem [`SubagentHandback`](/docs/de/tools-reference) Tool läuft, das Claude Code im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) bereitstellt, seinen Bericht durch dieses Tool statt ihn als Text zurückzugeben. Das `content` Feld seines `completed` Ergebnisses trägt dann eine kurze Notiz über diesen Handback statt des Berichts selbst. Um den Bericht zu lesen, gleichen Sie einen `PreToolUse` oder `PostToolUse` Hook auf `SubagentHandback` ab und lesen Sie `tool_input.message`.

1900 1902 

1901Für Hintergrund-Subagenten gibt das Tool zurück, wenn die Aufgabe in den Hintergrund geht, daher trägt `tool_response` keine Nutzungsfelder: Ein Hintergrund-Start gibt sofort zurück, und eine Vordergrund-Aufgabe, die Claude Code während des Laufs in den Hintergrund stellt, gibt bei diesem Übergang zurück. Es hat `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` und `resolvedModel`.1903Für Hintergrund-Subagenten gibt das Tool zurück, wenn die Aufgabe in den Hintergrund geht, daher trägt `tool_response` keine Nutzungsfelder: Ein Hintergrund-Start gibt sofort zurück, und eine Vordergrund-Aufgabe, die Claude Code während des Laufs in den Hintergrund verschiebt, gibt bei diesem Übergang zurück. Es hat `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` und `resolvedModel`.

1902 1904 

1903Bei einem `completed`-Ergebnis benennt `resolvedModel` das Modell, auf dem der Subagent gestartet wurde, das sich vom `model`-Wert in `tool_input` unterscheiden kann, wie wenn `availableModels` oder eine andere Überschreibung gilt. Bei einem `async_launched`-Ergebnis benennt `resolvedModel` das Modell, das in Gebrauch ist, wenn der Agent in den Hintergrund geht, daher wird ein Wechsel, der vor dem Backgrounding stattfand, dort widergespiegelt. `modelsUsed` und das Backgrounding-Zeit-`resolvedModel`-Verhalten erfordern Claude Code v2.1.212 oder später.1905Bei einem `completed` Ergebnis benennt `resolvedModel` das Modell, auf dem der Subagent gestartet wurde, das sich vom `model` Wert in `tool_input` unterscheiden kann, wie wenn `availableModels` oder ein anderer Override gilt. Bei einem `async_launched` Ergebnis benennt `resolvedModel` das Modell in Gebrauch, wenn der Agent in den Hintergrund ging, daher wird ein Wechsel, der vor dem Hintergrund-Gehen stattfand, dort widergespiegelt. `modelsUsed` und das Hintergrund-Zeit-`resolvedModel` Verhalten erfordern Claude Code v2.1.212 oder später.

1904 1906 

1905<a id="askuserquestion" />1907<a id="askuserquestion" />

1906 1908 


1911Stellt dem Benutzer eine bis vier Multiple-Choice-Fragen.1913Stellt dem Benutzer eine bis vier Multiple-Choice-Fragen.

1912 1914 

1913| Feld | Typ | Beispiel | Beschreibung |1915| Feld | Typ | Beispiel | Beschreibung |

1914| :---------- | :----- | :----------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1916| :---------- | :----- | :----------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1915| `questions` | Array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Fragen zum Präsentieren, jeweils mit einer `question`-Zeichenkette, kurzem `header`, `options`-Array und optionalem `multiSelect`-Flag |1917| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Zu stellende Fragen, jeweils mit einer `question` Zeichenkette, kurzem `header`, `options` Array und optionalem `multiSelect` Flag |

1916| `answers` | Objekt | `{"Which framework?": "React"}` | Optional. Ordnet Fragetext der ausgewählten Option-Bezeichnung zu. Multi-Select-Antworten verbinden Bezeichnungen mit Kommas. Claude setzt dieses Feld nicht; geben Sie es über `updatedInput` an, um programmatisch zu antworten |1918| `answers` | object | `{"Which framework?": "React"}` | Optional. Ordnet Fragentext der ausgewählten Optionsbeschriftung zu. Multi-Select-Antworten verbinden Beschriftungen mit Kommas. Claude setzt dieses Feld nicht; liefern Sie es über `updatedInput`, um programmatisch zu antworten |

1917 1919 

1918<h5 id="exitplanmode">1920<h5 id="exitplanmode">

1919 ExitPlanMode1921 ExitPlanMode

1920</h5>1922</h5>

1921 1923 

1922Präsentiert einen Plan und fordert den Benutzer auf, ihn zu genehmigen, bevor Claude den [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) verlässt. Claude schreibt den Plan vor dem Aufruf des Tools in eine Datei auf der Festplatte, daher trägt die wörtliche `tool_input` vom Modell typischerweise nur `allowedPrompts`. Claude Code injiziert den Plan-Inhalt und den Dateipfad, bevor die Eingabe an Hooks übergeben wird.1924Präsentiert einen Plan und fragt den Benutzer, ihn zu genehmigen, bevor Claude den [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) verlässt. Claude schreibt den Plan vor dem Aufrufen des Tools in eine Datei auf der Festplatte, daher ist die wörtliche `tool_input` vom Modell typischerweise leer. Claude Code injiziert den Plan-Inhalt und Dateipfad, bevor die Eingabe an Hooks übergeben wird.

1923 1925 

1924| Feld | Typ | Beispiel | Beschreibung |1926| Feld | Typ | Beispiel | Beschreibung |

1925| :--------------- | :----------- | :------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1927| :--------------- | :----- | :------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1926| `plan` | Zeichenkette | `"## Refactor auth\n1. Extract..."` | Plan-Inhalt in Markdown. Injiziert aus der Plan-Datei auf der Festplatte |1928| `plan` | string | `"## Refactor auth\n1. Extract..."` | Plan-Inhalt in Markdown. Injiziert aus der Plan-Datei auf der Festplatte |

1927| `planFilePath` | Zeichenkette | `"/Users/.../plans/refactor-auth.md"` | Pfad zur Plan-Datei. Injiziert |1929| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Pfad zur Plan-Datei. Injiziert |

1928| `allowedPrompts` | Array | `[{"tool": "Bash", "prompt": "run tests"}]` | Veraltet. Claude Code akzeptiert das Feld, ignoriert es aber. Vor v2.1.205 trug es Prompt-basierte Berechtigungen, die Claude anfordert, um den Plan zu implementieren |1930| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Veraltet. Claude Code akzeptiert das Feld, ignoriert es aber. Vor v2.1.205 trug es eingabeaufforderungsbasierte Berechtigungen, die Claude anforderte, um den Plan zu implementieren |

1929 1931 

1930In `PostToolUse` ist `tool_response` ein Objekt mit `plan`- und `filePath`-Feldern, die den genehmigten Plan enthalten, plus interne Status-Flags. Lesen Sie `tool_response.plan` für den Plan-Inhalt, anstatt die Datei von der Festplatte neu zu lesen.1932In `PostToolUse` ist `tool_response` ein Objekt mit `plan` und `filePath` Feldern, die den genehmigten Plan enthalten, plus interne Status-Flags. Lesen Sie `tool_response.plan` für den Plan-Inhalt, anstatt die Datei von der Festplatte erneut zu lesen.

1931 1933 

1932<h4 id="pretooluse-decision-control">1934<h4 id="pretooluse-decision-control">

1933 PreToolUse-Entscheidungskontrolle1935 PreToolUse-Entscheidungskontrolle

1934</h4>1936</h4>

1935 1937 

1936`PreToolUse`-Hooks können steuern, ob ein Tool-Aufruf fortgesetzt wird. Im Gegensatz zu anderen Hooks, die ein Top-Level-Feld `decision` verwenden, gibt PreToolUse seine Entscheidung in einem `hookSpecificOutput`-Objekt zurück. Dies gibt ihm reichere Kontrolle: vier Ergebnisse (zulassen, verweigern, fragen oder verschieben) plus die Möglichkeit, die Tool-Eingabe vor der Ausführung zu ändern.1938`PreToolUse` Hooks können steuern, ob ein Tool-Aufruf fortgesetzt wird. Im Gegensatz zu anderen Hooks, die ein Top-Level-`decision` Feld verwenden, gibt PreToolUse seine Entscheidung in einem `hookSpecificOutput` Objekt zurück. Dies gibt ihm reichere Kontrolle: vier Ergebnisse (erlauben, verweigern, fragen oder aufschieben) plus die Möglichkeit, Tool-Eingabe vor der Ausführung zu ändern.

1937 1939 

1938| Feld | Beschreibung |1940| Feld | Beschreibung |

1939| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1941| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1940| `permissionDecision` | `"allow"` umgeht die Berechtigungsaufforderung, außer für die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves) und für `AskUserQuestion` und `ExitPlanMode`, die [`updatedInput` gepaart mit ihm](#allow-with-updatedinput) benötigen. `"deny"` verhindert den Tool-Aufruf. `"ask"` fordert den Benutzer zur Bestätigung auf. `"defer"` beendet elegant, damit das Tool später fortgesetzt werden kann. [Deny- und Ask-Regeln](/docs/de/permissions#manage-permissions) gelten weiterhin, wenn ein Hook `"allow"` zurückgibt |1942| `permissionDecision` | `"allow"` überspringt die Berechtigungsaufforderung, außer für die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves) und für `AskUserQuestion` und `ExitPlanMode`, die [`updatedInput` gepaart damit benötigen](#allow-with-updatedinput). `"deny"` verhindert den Tool-Aufruf. `"ask"` fordert den Benutzer zur Bestätigung auf. `"defer"` beendet sich elegant, damit das Tool später fortgesetzt werden kann. [Ablehnungs- und Frageregel](/docs/de/permissions#manage-permissions) werden immer noch ausgewertet, unabhängig davon, was der Hook zurückgibt |

1941| `permissionDecisionReason` | Für `"allow"` und `"ask"`, dem Benutzer angezeigt, aber nicht Claude. Für `"deny"`, Claude angezeigt. Für `"defer"`, ignoriert |1943| `permissionDecisionReason` | Für `"allow"` und `"ask"`, dem Benutzer angezeigt, aber nicht Claude. Für `"deny"`, Claude angezeigt. Für `"defer"`, ignoriert |

1942| `updatedInput` | Ändert die Tool-Eingabeparameter vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, daher müssen Sie unveränderte Felder zusammen mit geänderten einbeziehen. Claude Code evaluiert Berechtigungsregeln und die [Auto-Background-Berechtigung](/docs/de/tools-reference#background-commands) eines Bash-Befehls gegen die Eingabe, die Ihr Hook zurückgibt, nicht die Eingabe, die Claude gesendet hat. Kombinieren Sie mit `"allow"`, um automatisch zu genehmigen, oder mit `"ask"`, um die geänderte Eingabe dem Benutzer zu zeigen. Für `"defer"`, ignoriert |1944| `updatedInput` | Ändert die Tool-Eingabeparameter vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, daher schließen Sie unveränderte Felder neben geänderten ein. Claude Code wertet Berechtigungsregeln und die [Auto-Background-Berechtigung](/docs/de/tools-reference#background-commands) eines Bash-Befehls gegen die Eingabe aus, die Ihr Hook zurückgibt, nicht die Eingabe, die Claude gesendet hat. Kombinieren Sie mit `"allow"`, um automatisch zu genehmigen, oder mit `"ask"`, um die geänderte Eingabe dem Benutzer zu zeigen. Für `"defer"`, ignoriert |

1943| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem Tool-Ergebnis hinzugefügt wird. Ignoriert, wenn `permissionDecision` `"defer"` ist. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1945| `additionalContext` | String, der zu Claudes Kontext neben dem Tool-Ergebnis hinzugefügt wird. Ignoriert, wenn `permissionDecision` `"defer"` ist. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

1944 1946 

1945Wenn mehrere PreToolUse-Hooks unterschiedliche Entscheidungen zurückgeben, ist die Priorität `deny` > `defer` > `ask` > `allow`.1947Wenn mehrere PreToolUse-Hooks unterschiedliche Entscheidungen zurückgeben, ist die Priorität `deny` > `defer` > `ask` > `allow`.

1946 1948 

1947Ein Hook, der durch Beenden mit 2 blockiert, wird auf die gleiche Weise wie `"deny"` weitergeleitet: Claude sieht die stderr-Nachricht als Verweigerungsgrund.1949Ein Hook, der durch Beendigung mit 2 blockiert, wird auf die gleiche Weise wie `"deny"` weitergeleitet: Claude sieht die stderr-Nachricht als Ablehnungsgrund.

1948 1950 

1949Wenn ein Hook `"ask"` zurückgibt, enthält der dem Benutzer angezeigte Berechtigungsprompt ein Label, das angibt, woher der Hook stammt: `[settings]` für einen Hook aus einer beliebigen Einstellungsdatei oder aus Agent-Frontmatter, `[plugin:<name>]` für einen Hook eines Plugins oder `[skill]` für einen Hook aus Skill-Frontmatter. Dies hilft Benutzern zu verstehen, welche Konfigurationsquelle eine Bestätigung anfordert.1951Wenn ein Hook `"ask"` zurückgibt, enthält die dem Benutzer angezeigte Berechtigungsaufforderung ein Label, das angibt, woher der Hook stammt: `[settings]` für einen Hook aus einer beliebigen Einstellungsdatei oder aus Agent-Frontmatter, `[plugin:<name>]` für einen Hook eines Plugins oder `[skill]` für einen Hook aus Skill-Frontmatter. Dies hilft Benutzern zu verstehen, welche Konfigurationsquelle eine Bestätigung anfordert.

1950 1952 

1951Ein Hook-`"ask"` erzwingt auch einen Berechtigungsprompt im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode): Der Klassifizierer kann den Tool-Aufruf immer noch verweigern, kann ihn aber nicht stillschweigend genehmigen. Vor v2.1.211 konnte der Klassifizierer einen Bash-Befehl, der außerhalb der [Sandbox](/docs/de/sandboxing) läuft, ohne den Prompt zu zeigen, den der Hook anfordert, genehmigen; der Klassifizierer wendete immer noch seine eigenen Sicherheitsregeln auf diesen Befehl an, und ein Hook `"deny"` wurde immer respektiert.1953Ein Hook-`"ask"` erzwingt auch eine Berechtigungsaufforderung im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode): Der Klassifizierer kann den Tool-Aufruf immer noch verweigern, aber er kann den Aufruf nicht stillschweigend genehmigen. Vor v2.1.211 konnte der Klassifizierer einen Bash-Befehl, der außerhalb der [Sandbox](/docs/de/sandboxing) läuft, ohne die Aufforderung zu zeigen, die der Hook anforderte, genehmigen; der Klassifizierer wendete immer noch seine eigenen Sicherheitsregeln auf diesen Befehl an, und ein Hook `"deny"` wurde immer berücksichtigt.

1952 1954 

1953```json theme={null}1955```json theme={null}

1954{1956{


1966 1968 

1967<span id="allow-with-updatedinput" />1969<span id="allow-with-updatedinput" />

1968 1970 

1969Im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag bietet Claude Code `AskUserQuestion` und `ExitPlanMode` nur an, wenn der Lauf einen [Berechtigungs-Host](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) hat, um den Prompt zu empfangen, wie einen Agent SDK `canUseTool`-Callback. Diese Tools erfordern Benutzerinteraktion. Das Zurückgeben von `permissionDecision: "allow"` zusammen mit `updatedInput` erfüllt diese Anforderung: Der Hook liest die Tool-Eingabe von stdin, erfasst die Antwort durch Ihre eigene Benutzeroberfläche und gibt sie in `updatedInput` zurück, damit das Tool ohne Aufforderung ausgeführt wird. Das Zurückgeben von `"allow"` allein ist nicht ausreichend für diese Tools. Für `AskUserQuestion` geben Sie das ursprüngliche `questions`-Array zurück und fügen Sie ein [`answers`](#askuserquestion)-Objekt hinzu, das jede Frage auf die gewählte Antwort abbildet.1971Im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p` Flag bietet Claude Code `AskUserQuestion` und `ExitPlanMode` nur an, wenn der Lauf einen [Berechtigungshost](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) hat, um die Aufforderung zu empfangen, wie einen Agent SDK `canUseTool` Callback. Diese Tools erfordern Benutzerinteraktion. Das Zurückgeben von `permissionDecision: "allow"` zusammen mit `updatedInput` erfüllt diese Anforderung: Der Hook liest die Tool-Eingabe von stdin, sammelt die Antwort über Ihre eigene Benutzeroberfläche und gibt sie in `updatedInput` zurück, damit das Tool ohne Aufforderung ausgeführt wird. Das Zurückgeben von `"allow"` allein ist nicht ausreichend für diese Tools. Für `AskUserQuestion` geben Sie das ursprüngliche `questions` Array zurück und fügen ein [`answers`](#askuserquestion) Objekt hinzu, das jede Frage des Textes der gewählten Antwort zuordnet.

1970 1972 

1971Ab v2.1.199 ist ein MCP-Tool, dessen Server es mit [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) markiert, strenger: Ein Hook kann seine Genehmigungsaufforderung nicht mit `"allow"` überspringen, mit oder ohne `updatedInput`, da Claude Code nicht bestätigen kann, dass der Hook die Interaktion erfasst hat, die das Tool benötigt.1973Ab v2.1.199 ist ein MCP-Tool, dessen Server es mit [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) markiert, strenger: Ein Hook kann seine Genehmigungsaufforderung nicht mit `"allow"` überspringen, mit oder ohne `updatedInput`, da Claude Code nicht bestätigen kann, dass der Hook die Interaktion sammelte, die das Tool benötigt.

1972 1974 

1973<Note>1975<Note>

1974 PreToolUse verwendete zuvor Top-Level-Felder `decision` und `reason`, diese sind jedoch für dieses Ereignis veraltet. Verwenden Sie stattdessen `hookSpecificOutput.permissionDecision` und `hookSpecificOutput.permissionDecisionReason`. Die veralteten Werte `"approve"` und `"block"` werden auf `"allow"` und `"deny"` abgebildet. Andere Ereignisse wie PostToolUse und Stop verwenden weiterhin Top-Level-Felder `decision` und `reason` als ihr aktuelles Format.1976 PreToolUse verwendete zuvor Top-Level-`decision` und `reason` Felder, aber diese sind für dieses Ereignis veraltet. Verwenden Sie stattdessen `hookSpecificOutput.permissionDecision` und `hookSpecificOutput.permissionDecisionReason`. Die veralteten Werte `"approve"` und `"block"` ordnen sich `"allow"` und `"deny"` zu. Andere Ereignisse wie PostToolUse und Stop verwenden weiterhin Top-Level-`decision` und `reason` als ihr aktuelles Format.

1975</Note>1977</Note>

1976 1978 

1977<h4 id="defer-a-tool-call-for-later">1979<h4 id="defer-a-tool-call-for-later">

1978 Ein Tool-Aufruf verschieben1980 Einen Tool-Aufruf für später aufschieben

1979</h4>1981</h4>

1980 1982 

1981`"defer"` ist für Integrationen, die `claude -p` als Subprozess ausführen und seine JSON-Ausgabe lesen, wie eine Agent SDK-App oder eine benutzerdefinierte Benutzeroberfläche, die auf Claude Code aufgebaut ist. Es ermöglicht diesem aufrufenden Prozess, Claude bei einem Tool-Aufruf zu pausieren, Eingaben über seine eigene Schnittstelle zu erfassen und dort fortzufahren, wo er aufgehört hat. Claude Code respektiert diesen Wert nur im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag. In interaktiven Sitzungen protokolliert es eine Warnung und ignoriert das Hook-Ergebnis.1983`"defer"` ist für Integrationen, die `claude -p` als Unterprozess ausführen und seine JSON-Ausgabe lesen, wie eine Agent SDK App oder eine benutzerdefinierte Benutzeroberfläche, die auf Claude Code aufgebaut ist. Es ermöglicht diesem aufrufenden Prozess, Claude bei einem Tool-Aufruf zu pausieren, Eingabe über seine eigene Schnittstelle zu sammeln und dort fortzufahren, wo er aufgehört hat. Claude Code berücksichtigt diesen Wert nur im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p` Flag. In interaktiven Sitzungen protokolliert es eine Warnung und ignoriert das Hook-Ergebnis.

1982 1984 

1983Das Tool `AskUserQuestion` ist der typische Fall: Claude möchte den Benutzer etwas fragen, aber es gibt kein Terminal zum Antworten. Ein Lauf mit einem [Berechtigungs-Host](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) bietet `AskUserQuestion` an, daher starten Sie den Lauf mit einem. Der Roundtrip funktioniert so:1985Das `AskUserQuestion` Tool ist der typische Fall: Claude möchte den Benutzer etwas fragen, aber es gibt kein Terminal zum Antworten. Ein `-p` Lauf bietet `AskUserQuestion` nur an, wenn er einen [Berechtigungshost](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) hat, wie ein MCP-Tool, das Sie mit `--permission-prompt-tool` übergeben, daher starten Sie den Lauf mit einem. Der Roundtrip funktioniert so:

1984 1986 

19851. Claude ruft `AskUserQuestion` auf. Der `PreToolUse`-Hook wird ausgelöst.19871. Claude ruft `AskUserQuestion` auf. Der `PreToolUse` Hook wird ausgeführt.

19862. Der Hook gibt `permissionDecision: "defer"` zurück. Das Tool wird nicht ausgeführt. Der Prozess beendet sich mit `stop_reason: "tool_deferred"` und dem ausstehenden Tool-Aufruf, der im Transkript erhalten bleibt.19882. Der Hook gibt `permissionDecision: "defer"` zurück. Das Tool wird nicht ausgeführt. Der Prozess beendet sich mit `stop_reason: "tool_deferred"` und dem ausstehenden Tool-Aufruf, der im Transkript erhalten bleibt.

19873. Der aufrufende Prozess liest `deferred_tool_use` aus dem SDK-Ergebnis, zeigt die Frage in seiner eigenen Benutzeroberfläche an und wartet auf eine Antwort.19893. Der aufrufende Prozess liest `deferred_tool_use` aus dem SDK-Ergebnis, zeigt die Frage in seiner eigenen Benutzeroberfläche an und wartet auf eine Antwort.

19884. Der aufrufende Prozess führt `claude -p --resume <session-id>` aus. Der gleiche Tool-Aufruf löst `PreToolUse` erneut aus.19904. Der aufrufende Prozess führt `claude -p --resume <session-id>` mit dem gleichen Berechtigungshost aus. Der gleiche Tool-Aufruf wird `PreToolUse` erneut ausgeführt.

19895. Der Hook gibt `permissionDecision: "allow"` mit der Antwort in `updatedInput` zurück. Das Tool wird ausgeführt und Claude setzt fort.19915. Der Hook gibt `permissionDecision: "allow"` mit der Antwort in `updatedInput` zurück. Das Tool wird ausgeführt und Claude setzt fort.

1990 1992 

1991Das Feld `deferred_tool_use` trägt die `id`, den `name` und die `input` des Tools. Die `input` sind die Parameter, die Claude für den Tool-Aufruf generiert hat, erfasst vor der Ausführung:1993Das `deferred_tool_use` Feld trägt die `id`, `name` und `input` des Tools. Die `input` sind die Parameter, die Claude für den Tool-Aufruf generiert hat, erfasst vor der Ausführung:

1992 1994 

1993```json theme={null}1995```json theme={null}

1994{1996{


2004}2006}

2005```2007```

2006 2008 

2007Es gibt kein Timeout oder Wiederholungslimit. Die Sitzung bleibt auf der Festplatte, bis Sie sie fortsetzen, unterliegt aber der [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays)-Aufbewahrungssweep, die Sitzungsdateien nach 30 Tagen standardmäßig löscht, nach den [Aufbewahrungssweep-Regeln](/docs/de/claude-directory#cleaned-up-automatically). Wenn die Antwort nicht bereit ist, wenn Sie fortsetzen, kann der Hook erneut `"defer"` zurückgeben und der Prozess beendet sich auf die gleiche Weise. Der aufrufende Prozess steuert, wann die Schleife unterbrochen wird, indem er schließlich `"allow"` oder `"deny"` vom Hook zurückgibt.2009Es gibt kein Timeout oder Wiederholungslimit. Die Sitzung bleibt auf der Festplatte, bis Sie sie fortsetzen, unterliegt aber der [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays) Aufbewahrungssweep, die Sitzungsdateien nach 30 Tagen standardmäßig löscht, nach den [Aufbewahrungssweep-Regeln](/docs/de/claude-directory#cleaned-up-automatically). Wenn die Antwort nicht bereit ist, wenn Sie fortsetzen, kann der Hook `"defer"` erneut zurückgeben und der Prozess beendet sich auf die gleiche Weise. Der aufrufende Prozess steuert, wann die Schleife unterbrochen wird, indem er schließlich `"allow"` oder `"deny"` vom Hook zurückgibt.

2008 2010 

2009`"defer"` funktioniert nur, wenn Claude einen einzelnen Tool-Aufruf in der Runde macht. Wenn Claude mehrere Tool-Aufrufe gleichzeitig macht, wird `"defer"` mit einer Warnung ignoriert und das Tool wird durch den normalen Berechtigungsfluss fortgesetzt. Die Einschränkung existiert, weil Resume nur einen Tool-Aufruf erneut ausführen kann: Es gibt keine Möglichkeit, einen Aufruf aus einem Batch zu verschieben, ohne die anderen ungelöst zu lassen.2011`"defer"` funktioniert nur, wenn Claude einen einzelnen Tool-Aufruf im Zug macht. Wenn Claude mehrere Tool-Aufrufe gleichzeitig macht, wird `"defer"` mit einer Warnung ignoriert und das Tool wird durch den normalen Berechtigungsfluss fortgesetzt. Die Einschränkung existiert, weil Resume nur ein Tool erneut ausführen kann: Es gibt keine Möglichkeit, einen Aufruf aus einem Batch aufzuschieben, ohne die anderen ungelöst zu lassen.

2010 2012 

2011Wenn das verschobene Tool nicht mehr verfügbar ist, wenn Sie fortsetzen, beendet sich der Prozess mit `stop_reason: "tool_deferred_unavailable"` und `is_error: true` bevor der Hook ausgelöst wird. Dies geschieht, wenn ein MCP-Server, der das Tool bereitgestellt hat, für die fortgesetzte Sitzung nicht verbunden ist. Die Nutzlast `deferred_tool_use` ist immer noch enthalten, damit Sie identifizieren können, welches Tool fehlte.2013Wenn das aufgeschobene Tool nicht mehr verfügbar ist, wenn Sie fortsetzen, beendet sich der Prozess mit `stop_reason: "tool_deferred_unavailable"` und `is_error: true` bevor der Hook ausgeführt wird. Dies geschieht, wenn ein MCP-Server, der das Tool bereitgestellt hat, für die fortgesetzte Sitzung nicht verbunden ist. Die `deferred_tool_use` Nutzlast ist immer noch enthalten, damit Sie identifizieren können, welches Tool fehlte.

2012 2014 

2013<Note>2015<Note>

2014 Um eine verschobene Sitzung im Plan-Modus fortzusetzen, übergeben Sie [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) zusammen mit `--resume`, damit Claude Code den Plan zur Genehmigung präsentieren kann. Ohne es stellt Claude Code den Plan-Modus nicht wieder her. Erfordert Claude Code v2.1.246 oder später.2016 Um eine aufgeschobene Sitzung im Plan-Modus fortzusetzen, übergeben Sie [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) zusammen mit `--resume`, damit Claude Code den Plan zur Genehmigung präsentieren kann. Ohne es stellt Claude Code den Plan-Modus nicht wieder her. Erfordert Claude Code v2.1.246 oder später.

2015 2017 

2016 Wenn Sie mit `-p` fortsetzen, stellt Claude Code keinen anderen gespeicherten Berechtigungsmodus wieder her. Es startet den Lauf im Berechtigungsmodus, den ein neuer `claude -p`-Lauf starten würde, daher übergeben Sie `--permission-mode` oder `--dangerously-skip-permissions` erneut, wenn die verschobene Sitzung einen verwendet hat. Wenn Sie mit `claude --resume <session-id>` ohne `-p` fortsetzen, stellt Claude Code den gespeicherten Berechtigungsmodus wieder her, mit den Ausnahmen, die in [Berechtigungsmodus bei Wiederaufnahme](/docs/de/sessions#permission-mode-on-resume) aufgelistet sind.2018 Wenn Sie mit `-p` fortsetzen, stellt Claude Code keinen anderen gespeicherten Berechtigungsmodus wieder her. Es startet den Lauf im Berechtigungsmodus, den ein neuer `claude -p` Lauf starten würde, daher übergeben Sie `--permission-mode` oder `--dangerously-skip-permissions` erneut, wenn die aufgeschobene Sitzung einen verwendet hat. Wenn Sie mit `claude --resume <session-id>` ohne `-p` fortsetzen, stellt Claude Code den gespeicherten Berechtigungsmodus wieder her, mit den Ausnahmen, die in [Berechtigungsmodus bei Fortsetzen](/docs/de/sessions#permission-mode-on-resume) aufgelistet sind.

2017</Note>2019</Note>

2018 2020 

2019<h3 id="permissionrequest">2021<h3 id="permissionrequest">

2020 PermissionRequest2022 PermissionRequest

2021</h3>2023</h3>

2022 2024 

2023Wird ausgeführt, wenn Claude Code Sie um Genehmigung für die Verwendung eines Tools bitten soll. In Sitzungen, die keinen Prompt anzeigen können, wie Hintergrund-Subagenten im [nicht-interaktiven Modus](/docs/de/headless), führt Claude Code diese Hooks immer noch aus, und wenn kein Hook eine Entscheidung zurückgibt, verweigert es den Tool-Aufruf.2025Wird ausgeführt, wenn Claude Code Sie um Erlaubnis bitten möchte, ein Tool zu verwenden. In Sitzungen, die keine Aufforderung anzeigen können, wie Hintergrund-Subagenten im [nicht-interaktiven Modus](/docs/de/headless), führt Claude Code diese Hooks immer noch aus, und wenn kein Hook eine Entscheidung zurückgibt, verweigert es den Tool-Aufruf.

2024Verwenden Sie [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control), um im Namen des Benutzers zuzulassen oder zu verweigern.2026Verwenden Sie [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control), um im Namen des Benutzers zu erlauben oder zu verweigern.

2025 2027 

2026Verwenden Sie dieses Ereignis, wenn Sie ein Signal benötigen, in dem Moment, in dem Claude um Genehmigung zur Verwendung eines Tools bittet. Claude Code führt einen [Notification](#notification)-Hook mit dem Typ `permission_prompt` nur aus, nachdem der Prompt etwa sechs Sekunden gewartet hat.2028Verwenden Sie dieses Ereignis, wenn Sie ein Signal benötigen, in dem Moment, in dem Claude um Erlaubnis bittet, ein Tool zu verwenden. Claude Code führt einen [Notification](#notification) Hook mit dem `permission_prompt` Typ nur aus, nachdem die Aufforderung etwa sechs Sekunden gewartet hat.

2027 2029 

2028Claude Code führt PermissionRequest-Hooks nicht für eine Sandbox-Befehl-[Netzwerkanfrage](/docs/de/sandboxing#network-isolation) aus. Um ein Signal für diesen Prompt zu erhalten, verwenden Sie den Benachrichtigungstyp `permission_prompt`.2030Claude Code führt PermissionRequest-Hooks nicht für eine Sandbox-Anfrage eines Befehls aus [Netzwerkanfrage](/docs/de/sandboxing#network-isolation). Um ein Signal für diese Aufforderung zu erhalten, verwenden Sie den `permission_prompt` Benachrichtigungstyp.

2029 2031 

2030Passt auf Tool-Namen, gleiche Werte wie PreToolUse.2032Gleicht Tool-Namen ab, gleiche Werte wie PreToolUse.

2031 2033 

2032<h4 id="permissionrequest-input">2034<h4 id="permissionrequest-input">

2033 PermissionRequest-Eingabe2035 PermissionRequest-Eingabe

2034</h4>2036</h4>

2035 2037 

2036PermissionRequest-Hooks erhalten `tool_name`- und `tool_input`-Felder wie PreToolUse-Hooks, aber ohne `tool_use_id`. Für ein MCP-Tool erhalten sie auch das [`mcp_server`](#pretooluse-input)-Objekt. Ein optionales Array `permission_suggestions` enthält die [Berechtigungsupdates](#permission-update-entries), die Claude Code für diese Anfrage vorschlägt, wie das Hinzufügen einer Allow-Regel oder das Ändern des Berechtigungsmodus.2038PermissionRequest-Hooks erhalten `tool_name` und `tool_input` Felder wie PreToolUse-Hooks, aber ohne `tool_use_id`. Für ein MCP-Tool erhalten sie auch das [`mcp_server`](#pretooluse-input) Objekt. Ein optionales `permission_suggestions` Array enthält die [Berechtigungsaktualisierungen](#permission-update-entries), die Claude Code für diese Anfrage vorschlägt, wie das Hinzufügen einer Erlaubnisregel oder das Ändern des Berechtigungsmodus.

2037 2039 

2038Das Array `permission_suggestions` ist keine genaue Liste der Optionen, die Sie sehen, da jeder Berechtigungsdialog seine eigenen Optionen erstellt. Einige Dialoge, wie der für Datei-Bearbeitungen, lesen das Array überhaupt nicht und leiten ihre Optionen aus der Anfrage selbst ab. Ein Dialog, der es liest, kann immer noch eine Option zurückhalten, deren Vorschlag im Array bleibt, zum Beispiel wenn [`allowManagedPermissionRulesOnly`](/docs/de/settings-reference#allowmanagedpermissionrulesonly) Regel-Speicher-Optionen verbirgt. Es kann auch Optionen anbieten, die keinen Vorschlag-Eintrag haben, wie [**Ja, und zum Auto-Modus wechseln**](/docs/de/permission-modes#switch-permission-modes), das den Berechtigungsmodus direkt ändert, anstatt durch ein Berechtigungsupdate.2040Das `permission_suggestions` Array ist keine genaue Liste der Optionen, die Sie sehen, da jeder Berechtigungsdialog seine eigenen Optionen erstellt. Einige Dialoge, wie der für Dateibearbeitungen, lesen das Array überhaupt nicht und leiten ihre Optionen aus der Anfrage selbst ab. Ein Dialog, der es liest, kann immer noch eine Option zurückhalten, deren Vorschlag im Array bleibt, z. B. wenn [`allowManagedPermissionRulesOnly`](/docs/de/settings-reference#allowmanagedpermissionrulesonly) Regel-Speicheroptionen verbirgt. Es kann auch Optionen anbieten, die keinen Vorschlagseintrag haben, wie [**Ja, und zum Auto-Modus wechseln**](/docs/de/permission-modes#switch-permission-modes), das den Berechtigungsmodus direkt ändert, anstatt durch eine Berechtigungsaktualisierung.

2039 2041 

2040PreToolUse-Hooks werden vor jedem Tool-Aufruf ausgeführt, ob er Genehmigung benötigt oder nicht. PermissionRequest-Hooks werden nur ausgeführt, wenn Claude Code Sie um Genehmigung bitten soll, oder wenn es sonst einen Aufruf automatisch verweigern würde, der nicht auffordern kann. Keines der Ereignisse wird für [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) ausgelöst.2042PreToolUse-Hooks werden vor jedem Tool-Aufruf ausgeführt, unabhängig davon, ob er Berechtigung benötigt. PermissionRequest-Hooks werden nur ausgeführt, wenn Claude Code Sie um Erlaubnis bitten möchte, oder wenn es sonst einen Aufruf automatisch verweigern würde, der nicht auffordern kann. Keines der Ereignisse wird für [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) ausgeführt.

2041 2043 

2042```json theme={null}2044```json theme={null}

2043{2045{


2066 PermissionRequest-Entscheidungskontrolle2068 PermissionRequest-Entscheidungskontrolle

2067</h4>2069</h4>

2068 2070 

2069`PermissionRequest`-Hooks können Berechtigungsanfragen zulassen oder verweigern. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript ein `decision`-Objekt mit diesen ereignisspezifischen Feldern zurückgeben:2071`PermissionRequest` Hooks können Berechtigungsanfragen erlauben oder verweigern. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript ein `decision` Objekt mit diesen ereignisspezifischen Feldern zurückgeben:

2070 2072 

2071| Feld | Beschreibung |2073| Feld | Beschreibung |

2072| :------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2074| :------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2073| `behavior` | `"allow"` gewährt die Berechtigung, `"deny"` verweigert sie. [Deny- und Ask-Regeln](/docs/de/permissions#manage-permissions) gelten weiterhin, daher überschreibt ein Hook, der `"allow"` zurückgibt, keine passende Deny-Regel |2075| `behavior` | `"allow"` gewährt die Berechtigung, `"deny"` verweigert sie. [Ablehnungs- und Frageregel](/docs/de/permissions#manage-permissions) werden immer noch ausgewertet, daher überschreibt ein Hook, der `"allow"` zurückgibt, keine übereinstimmende Ablehnungsregel |

2074| `updatedInput` | Nur für `"allow"`: ändert die Tool-Eingabeparameter vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, daher müssen Sie unveränderte Felder zusammen mit geänderten einbeziehen. Die geänderte Eingabe wird erneut gegen Deny- und Ask-Regeln evaluiert |2076| `updatedInput` | Nur für `"allow"`: ändert die Tool-Eingabeparameter vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, daher schließen Sie unveränderte Felder neben geänderten ein. Die geänderte Eingabe wird erneut gegen Ablehnungs- und Frageregel ausgewertet |

2075| `updatedPermissions` | Nur für `"allow"`: Array von [Berechtigungsupdate-Einträgen](#permission-update-entries) zum Anwenden, wie das Hinzufügen einer Allow-Regel oder das Ändern des Session-Berechtigungsmodus |2077| `updatedPermissions` | Nur für `"allow"`: Array von [Berechtigungsaktualisierungseinträgen](#permission-update-entries) zum Anwenden, wie das Hinzufügen einer Erlaubnisregel oder das Ändern des Sitzungsberechtigungsmodus |

2076| `message` | Nur für `"deny"`: teilt Claude mit, warum die Berechtigung verweigert wurde |2078| `message` | Nur für `"deny"`: sagt Claude, warum die Berechtigung verweigert wurde |

2077| `interrupt` | Nur für `"deny"`: wenn `true`, stoppt Claude |2079| `interrupt` | Nur für `"deny"`: wenn `true`, stoppt Claude |

2078 2080 

2079Ein Hook, der mit 2 beendet wird, ohne ein `decision`-Objekt zu hinterlassen, lässt den Berechtigungsfluss unverändert, und sein stderr wird verworfen. Nur das `decision`-Objekt kann die Anfrage gewähren oder verweigern.2081Ein Hook, der mit 2 beendet wird, ohne ein `decision` Objekt zu hinterlassen, lässt den Berechtigungsfluss unverändert, und sein stderr wird verworfen. Nur das `decision` Objekt kann die Anfrage gewähren oder verweigern.

2080 2082 

2081```json theme={null}2083```json theme={null}

2082{2084{


2093```2095```

2094 2096 

2095<h4 id="permission-update-entries">2097<h4 id="permission-update-entries">

2096 Berechtigungsupdate-Einträge2098 Berechtigungsaktualisierungseinträge

2097</h4>2099</h4>

2098 2100 

2099Das Ausgabefeld `updatedPermissions` und das [`permission_suggestions`-Eingabefeld](#permissionrequest-input) verwenden beide das gleiche Array von Einträgen. Jeder Eintrag hat einen `type`, der seine anderen Felder bestimmt, und ein `destination`, das steuert, wo die Änderung geschrieben wird.2101Das `updatedPermissions` Ausgabefeld und das [`permission_suggestions` Eingabefeld](#permissionrequest-input) verwenden beide das gleiche Array von Einträgen. Jeder Eintrag hat einen `type`, der seine anderen Felder bestimmt, und ein `destination`, das steuert, wo die Änderung geschrieben wird.

2100 2102 

2101| `type` | Felder | Effekt |2103| `type` | Felder | Effekt |

2102| :------------------ | :--------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2104| :------------------ | :--------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2103| `addRules` | `rules`, `behavior`, `destination` | Fügt Berechtigungsregeln hinzu. `rules` ist ein Array von `{toolName, ruleContent?}` Objekten. Lassen Sie `ruleContent` weg, um das ganze Tool zu treffen. `behavior` ist `"allow"`, `"deny"` oder `"ask"` |2105| `addRules` | `rules`, `behavior`, `destination` | Fügt Berechtigungsregeln hinzu. `rules` ist ein Array von `{toolName, ruleContent?}` Objekten. Weglassen `ruleContent`, um das ganze Tool abzugleichen. `behavior` ist `"allow"`, `"deny"` oder `"ask"` |

2104| `replaceRules` | `rules`, `behavior`, `destination` | Ersetzt alle Regeln des gegebenen `behavior` am `destination` mit den bereitgestellten `rules` |2106| `replaceRules` | `rules`, `behavior`, `destination` | Ersetzt alle Regeln des gegebenen `behavior` am `destination` mit den bereitgestellten `rules` |

2105| `removeRules` | `rules`, `behavior`, `destination` | Entfernt passende Regeln des gegebenen `behavior` |2107| `removeRules` | `rules`, `behavior`, `destination` | Entfernt übereinstimmende Regeln des gegebenen `behavior` |

2106| `setMode` | `mode`, `destination` | Ändert den Berechtigungsmodus. Gültige Modi sind `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan` und `manual` als Alias für `default`. Der Alias `manual` erfordert Claude Code v2.1.200 oder später |2108| `setMode` | `mode`, `destination` | Ändert den Berechtigungsmodus. Gültige Modi sind `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan` und `manual` als Alias für `default`. Der `manual` Alias erfordert Claude Code v2.1.200 oder später |

2107| `addDirectories` | `directories`, `destination` | Fügt Arbeitsverzeichnisse hinzu. `directories` ist ein Array von Pfad-Zeichenketten |2109| `addDirectories` | `directories`, `destination` | Fügt Arbeitsverzeichnisse hinzu. `directories` ist ein Array von Pfad-Zeichenketten |

2108| `removeDirectories` | `directories`, `destination` | Entfernt Arbeitsverzeichnisse |2110| `removeDirectories` | `directories`, `destination` | Entfernt Arbeitsverzeichnisse |

2109 2111 

2110<Note>2112<Note>

2111 `setMode` mit `bypassPermissions` nimmt nur Auswirkungen an, wenn Sie die Sitzung mit Bypass-Modus bereits verfügbar gestartet haben: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` oder `permissions.defaultMode: "bypassPermissions"` in [Benutzer-, `--settings`- oder verwalteten Einstellungen](/docs/de/settings-reference#permissions-defaultmode). Andernfalls ist das Update ein No-Op. Das Update ist auch ein No-Op, wenn [`permissions.disableBypassPermissionsMode`](/docs/de/permissions#managed-settings) den Modus deaktiviert oder wenn die Sitzung im [eingeschränkten Modus](/docs/de/cli-reference#cli-flags) startet.2113 `setMode` mit `bypassPermissions` wird nur wirksam, wenn Sie die Sitzung mit Bypass-Modus bereits verfügbar gestartet haben: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` oder `permissions.defaultMode: "bypassPermissions"` in [Benutzer-, `--settings`- oder verwalteten Einstellungen](/docs/de/settings-reference#permissions-defaultmode). Andernfalls ist die Aktualisierung ein No-Op. Die Aktualisierung ist auch ein No-Op, wenn [`permissions.disableBypassPermissionsMode`](/docs/de/permissions#managed-settings) den Modus deaktiviert oder die Sitzung im [eingeschränkten Modus](/docs/de/cli-reference#cli-flags) startet.

2112 2114 

2113 `bypassPermissions` wird niemals als `defaultMode` persistiert, unabhängig von `destination`.2115 `bypassPermissions` wird niemals als `defaultMode` beibehalten, unabhängig von `destination`.

2114</Note>2116</Note>

2115 2117 

2116Das Feld `destination` auf jedem Eintrag bestimmt, ob die Änderung im Speicher bleibt oder in einer Einstellungsdatei persistiert wird.2118Das `destination` Feld auf jedem Eintrag bestimmt, ob die Änderung im Speicher bleibt oder in einer Einstellungsdatei beibehalten wird.

2117 2119 

2118| `destination` | Schreibt zu |2120| `destination` | Schreibt zu |

2119| :---------------- | :------------------------------------------------------ |2121| :---------------- | :------------------------------------------------- |

2120| `session` | Nur im Speicher, wird verworfen, wenn die Sitzung endet |2122| `session` | Nur im Speicher, verworfen, wenn die Sitzung endet |

2121| `localSettings` | `.claude/settings.local.json` |2123| `localSettings` | `.claude/settings.local.json` |

2122| `projectSettings` | `.claude/settings.json` |2124| `projectSettings` | `.claude/settings.json` |

2123| `userSettings` | `~/.claude/settings.json` |2125| `userSettings` | `~/.claude/settings.json` |

2124 2126 

2125Ein Hook kann eines der `permission_suggestions` widerspiegeln, die er als seine eigene `updatedPermissions`-Ausgabe erhalten hat.2127Ein Hook kann eines der `permission_suggestions` widerspiegeln, die er als seine eigene `updatedPermissions` Ausgabe erhalten hat.

2126 2128 

2127<h3 id="posttooluse">2129<h3 id="posttooluse">

2128 PostToolUse2130 PostToolUse

2129</h3>2131</h3>

2130 2132 

2131Wird unmittelbar nach erfolgreichem Abschluss eines Tools ausgeführt.2133Wird sofort nach erfolgreichem Abschluss eines Tools ausgeführt.

2132 2134 

2133Passt auf Tool-Namen, gleiche Werte wie PreToolUse.2135Gleicht Tool-Namen ab, gleiche Werte wie PreToolUse.

2134 2136 

2135Passen Sie breiter an, wenn der Tool-Name nicht der richtige Filter ist:2137Gleichen Sie breiter ab, wenn der Tool-Name nicht der richtige Filter ist:

2136 2138 

2137* Um einen Hook nach jedem erfolgreichen Tool-Abschluss auszuführen, lassen Sie den `matcher` weg oder setzen Sie ihn auf `"*"`. Ihr Hook kann dann selbst entdecken, was sich geändert hat, zum Beispiel durch Ausführung von `git status --porcelain`, das auch unverfolgten Dateien auflistet, die `git diff` vermisst. Für fehlgeschlagene Tool-Aufrufe fügen Sie den gleichen Hook unter [PostToolUseFailure](#posttoolusefailure) hinzu.2139* Um einen Hook nach jedem erfolgreichen Tool-Abschluss auszuführen, weglassen Sie den `matcher` oder setzen Sie ihn auf `"*"`. Ihr Hook kann dann selbst entdecken, was sich geändert hat, z. B. durch Ausführung von `git status --porcelain`, das auch nicht verfolgte Dateien auflistet, die `git diff` verpasst. Für Tool-Aufrufe, die fehlschlagen, fügen Sie den gleichen Hook unter [PostToolUseFailure](#posttoolusefailure) hinzu.

2138* Um einen Hook auszuführen, wenn sich eine bestimmte Datei auf der Festplatte ändert, egal was sie geschrieben hat, verwenden Sie [FileChanged](#filechanged). Claude Code führt keinen `PostToolUse`-Hook aus, der `Edit|Write` passt, wenn ein `Bash`-Befehl oder ein Prozess außerhalb von Claude Code die gleiche Datei umschreibt.2140* Um einen Hook auszuführen, wenn sich eine bestimmte Datei auf der Festplatte ändert, unabhängig davon, wer sie schreibt, verwenden Sie [FileChanged](#filechanged). Claude Code führt keinen `PostToolUse` Hook aus, der `Edit|Write` abgleicht, wenn ein `Bash` Befehl oder ein Prozess außerhalb von Claude Code die gleiche Datei umschreibt.

2139 2141 

2140<h4 id="posttooluse-input">2142<h4 id="posttooluse-input">

2141 PostToolUse-Eingabe2143 PostToolUse-Eingabe

2142</h4>2144</h4>

2143 2145 

2144`PostToolUse`-Hooks werden ausgelöst, nachdem ein Tool bereits erfolgreich ausgeführt wurde. Die Eingabe enthält sowohl `tool_input`, die an das Tool gesendeten Argumente, als auch `tool_response`, das Ergebnis, das es zurückgegeben hat. Das genaue Schema für beide hängt vom Tool ab. Datei-Tool-`tool_input`-Pfade kommen im gleichen Format wie für [PreToolUse](#pretooluse-input) an: immer absolut, mit den nativen Trennzeichen der Plattform, daher Backslashes unter Windows. Für ein MCP-Tool trägt die Eingabe auch das [`mcp_server`](#pretooluse-input)-Objekt.2146`PostToolUse` Hooks werden ausgeführt, nachdem ein Tool bereits erfolgreich ausgeführt wurde. Die Eingabe umfasst sowohl `tool_input`, die an das Tool gesendeten Argumente, als auch `tool_response`, das Ergebnis, das es zurückgegeben hat. Das genaue Schema für beide hängt vom Tool ab. Datei-Tool-`tool_input` Pfade kommen im gleichen Format wie für [PreToolUse](#pretooluse-input) an: immer absolut, mit den nativen Trennzeichen der Plattform, daher Backslashes unter Windows. Für ein MCP-Tool trägt die Eingabe auch das [`mcp_server`](#pretooluse-input) Objekt.

2145 2147 

2146```json theme={null}2148```json theme={null}

2147{2149{


2172 PostToolUse-Entscheidungskontrolle2174 PostToolUse-Entscheidungskontrolle

2173</h4>2175</h4>

2174 2176 

2175`PostToolUse`-Hooks können Claude nach der Tool-Ausführung Feedback geben. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:2177`PostToolUse` Hooks können Claude nach der Tool-Ausführung Feedback geben. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:

2176 2178 

2177| Feld | Beschreibung |2179| Feld | Beschreibung |

2178| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2180| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2179| `decision` | `"block"` fügt den `reason` neben dem Tool-Ergebnis hinzu. Claude sieht immer noch die ursprüngliche Ausgabe; um sie zu ersetzen, verwenden Sie `updatedToolOutput` |2181| `decision` | `"block"` fügt den `reason` neben dem Tool-Ergebnis hinzu. Claude sieht immer noch die ursprüngliche Ausgabe; um sie zu ersetzen, verwenden Sie `updatedToolOutput` |

2180| `reason` | Erklärung, die Claude angezeigt wird, wenn `decision` `"block"` ist |2182| `reason` | Erklärung, die Claude angezeigt wird, wenn `decision` `"block"` ist |

2181| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem Tool-Ergebnis hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |2183| `additionalContext` | String, der zu Claudes Kontext neben dem Tool-Ergebnis hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

2182| `classifierContext` | Kurze Notiz über das Ergebnis dieses Aufrufs für den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer statt für Claude. Siehe [Annotieren Sie ein Ergebnis für den Auto-Modus-Klassifizierer](#annotate-a-result-for-the-auto-mode-classifier). Erfordert Claude Code v2.1.236 oder später |2184| `classifierContext` | Kurze Notiz über das Ergebnis dieses Aufrufs für den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) Klassifizierer statt für Claude. Siehe [Ergebnis für den Auto-Modus Klassifizierer annotieren](#annotate-a-result-for-the-auto-mode-classifier). Erfordert Claude Code v2.1.236 oder später |

2183| `updatedToolOutput` | Ersetzt die Ausgabe des Tools durch den bereitgestellten Wert vor dem Senden an Claude. Der Wert muss der Ausgabeform des Tools entsprechen |2185| `updatedToolOutput` | Ersetzt die Ausgabe des Tools mit dem bereitgestellten Wert, bevor er an Claude gesendet wird. Der Wert muss der Ausgabeform des Tools entsprechen |

2184| `updatedMCPToolOutput` | Ersetzt die Ausgabe nur für [MCP-Tools](#match-mcp-tools). Bevorzugen Sie `updatedToolOutput`, das für alle Tools funktioniert |2186| `updatedMCPToolOutput` | Ersetzt die Ausgabe nur für [MCP-Tools](#match-mcp-tools). Bevorzugen Sie `updatedToolOutput`, das für alle Tools funktioniert |

2185 2187 

2186Das Beispiel unten ersetzt die Ausgabe eines `Bash`-Aufrufs. Der Ersatzwert entspricht der Ausgabeform des `Bash`-Tools:2188Das Beispiel unten ersetzt die Ausgabe eines `Bash` Aufrufs. Der Ersatzwert entspricht der Ausgabeform des `Bash` Tools:

2187 2189 

2188```json theme={null}2190```json theme={null}

2189{2191{


2201```2203```

2202 2204 

2203<Warning>2205<Warning>

2204 `updatedToolOutput` ändert nur das, was Claude sieht. Das Tool ist bereits ausgeführt worden, wenn der Hook ausgelöst wird, daher haben alle geschriebenen Dateien, ausgeführten Befehle oder gesendeten Netzwerkanfragen bereits Auswirkungen. Telemetrie wie OpenTelemetry-Tool-Spans und Analyseereignisse erfassen auch die ursprüngliche Ausgabe, bevor der Hook ausgeführt wird. Um einen Tool-Aufruf zu verhindern oder zu ändern, bevor er ausgeführt wird, verwenden Sie stattdessen einen [PreToolUse](#pretooluse)-Hook.2206 `updatedToolOutput` ändert nur das, was Claude sieht. Das Tool hat bereits ausgeführt, wenn der Hook ausgeführt wird, daher haben alle geschriebenen Dateien, ausgeführten Befehle oder gesendeten Netzwerkanfragen bereits Auswirkungen. Telemetrie wie OpenTelemetry-Tool-Spans und Analyseereignisse erfassen auch die ursprüngliche Ausgabe, bevor der Hook ausgeführt wird. Um einen Tool-Aufruf zu verhindern oder zu ändern, bevor er ausgeführt wird, verwenden Sie stattdessen einen [PreToolUse](#pretooluse) Hook.

2205 2207 

2206 Der Ersatzwert muss der Ausgabeform des Tools entsprechen. Eingebaute Tools geben strukturierte Objekte anstelle von einfachen Zeichenketten zurück. Zum Beispiel gibt `Bash` ein Objekt mit `stdout`-, `stderr`-, `interrupted`- und `isImage`-Feldern zurück. Für eingebaute Tools wird ein Wert, der nicht dem Ausgabeschema des Tools entspricht, ignoriert und die ursprüngliche Ausgabe wird verwendet. MCP-Tool-Ausgabe wird ohne Schema-Validierung durchgeleitet. Das Entfernen von Fehlerdetails, die Claude benötigt, kann dazu führen, dass er bei einer falschen Annahme fortfährt.2208 Der Ersatzwert muss der Ausgabeform des Tools entsprechen. Integrierte Tools geben strukturierte Objekte statt einfacher Zeichenketten zurück. Beispielsweise gibt `Bash` ein Objekt mit `stdout`, `stderr`, `interrupted` und `isImage` Feldern zurück. Für integrierte Tools wird ein Wert, der nicht dem Ausgabeschema des Tools entspricht, ignoriert und die ursprüngliche Ausgabe wird verwendet. MCP-Tool-Ausgabe wird ohne Schema-Validierung durchgelassen. Das Entfernen von Fehlerdetails, die Claude benötigt, kann dazu führen, dass er bei einer falschen Annahme fortfährt.

2207</Warning>2209</Warning>

2208 2210 

2209<h4 id="annotate-a-result-for-the-auto-mode-classifier">2211<h4 id="annotate-a-result-for-the-auto-mode-classifier">

2210 Annotieren Sie ein Ergebnis für den Auto-Modus-Klassifizierer2212 Ergebnis für den Auto-Modus Klassifizierer annotieren

2211</h4>2213</h4>

2212 2214 

2213Geben Sie `classifierContext` zurück, um eine kurze Notiz über das Ergebnis des Tool-Aufrufs an den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer statt an Claude zu senden. Der Klassifizierer [erhält niemals Tool-Ergebnisse selbst](/docs/de/permission-modes#how-the-classifier-evaluates-actions), daher ist dieses Feld die unterstützte Methode, um ihm etwas über das, was ein Aufruf zurückgegeben hat, zu sagen, bevor es später Aktionen überprüft. Das Feld erfordert Claude Code v2.1.236 oder später.2215Geben Sie `classifierContext` zurück, um eine kurze Notiz über das Ergebnis des Tool-Aufrufs an den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) Klassifizierer statt an Claude zu senden. Der Klassifizierer [empfängt niemals Tool-Ergebnisse selbst](/docs/de/permission-modes#how-the-classifier-evaluates-actions), daher ist dieses Feld die unterstützte Methode, um ihm etwas über das, was ein Aufruf zurückgegeben hat, zu sagen, bevor er spätere Aktionen überprüft. Das Feld erfordert Claude Code v2.1.236 oder später.

2214 2216 

2215Das Beispiel unten teilt dem Klassifizierer mit, woher die Ausgabe einer Abfrage kam:2217Das Beispiel unten sagt dem Klassifizierer, woher die Ausgabe einer Abfrage stammt:

2216 2218 

2217```json theme={null}2219```json theme={null}

2218{2220{


2225 2227 

2226Wie viel Gewicht der Klassifizierer der Notiz gibt, hängt davon ab, wo Sie den Hook konfiguriert haben:2228Wie viel Gewicht der Klassifizierer der Notiz gibt, hängt davon ab, wo Sie den Hook konfiguriert haben:

2227 2229 

2228* **Hooks, die in Claude Code konfiguriert sind**: Für Hooks aus Einstellungsdateien, Plugins, Skills und Agent-Frontmatter behandelt der Klassifizierer die Notiz als nicht überprüften, von der Anwendung bereitgestellten Kontext. Die Notiz stellt niemals Benutzerabsicht fest, und wenn sie behauptet, Sie hätten etwas genehmigt oder angefordert, überprüft der Klassifizierer diese Behauptung gegen Ihre eigenen Nachrichten in der Konversation2230* **Hooks, die in Claude Code konfiguriert sind**: Für Hooks aus Einstellungsdateien, Plugins, Skills und Agent-Frontmatter behandelt der Klassifizierer die Notiz als nicht verifizierten, von der Anwendung bereitgestellten Kontext. Die Notiz stellt niemals Benutzerabsicht fest, und wenn sie behauptet, Sie hätten etwas genehmigt oder angefordert, überprüft der Klassifizierer diese Behauptung gegen Ihre eigenen Nachrichten im Gespräch

2229* **In-Process Agent SDK-Callbacks**: Wenn eine Anwendung, die Claude Code einbettet, den Hook als [TypeScript SDK-Callback](/docs/de/agent-sdk/hooks) registriert und die Notiz während der Live-Sitzung zurückgibt, kann der Klassifizierer eine Benutzeraussage, die in der Notiz weitergeleitet wird, als Benutzerabsicht gewichten. Eine solche Aussage kann eine Zustimmungsanforderung erfüllen, die der Klassifizierer von einer Nachricht akzeptieren würde, die Sie senden, aber sie hebt niemals einen Block auf, den Ihre eigene Nachricht nicht heben könnte. Nach einer Sitzungswiederaufnahme behandelt Claude Code wiederhergestellte Notizen als nicht überprüften Kontext. Wenn Hooks aus beiden Gruppen den gleichen Aufruf annotieren, behandelt der Klassifizierer die kombinierte Notiz als nicht überprüft2231* **In-Process Agent SDK Callbacks**: Wenn eine Anwendung, die Claude Code einbettet, den Hook als [TypeScript SDK Callback](/docs/de/agent-sdk/hooks) registriert und die Notiz während der Live-Sitzung zurückgibt, kann der Klassifizierer eine Benutzeraussage, die in der Notiz weitergeleitet wird, als Benutzerabsicht gewichten. Eine solche Aussage kann eine Zustimmungsanforderung erfüllen, die der Klassifizierer von einer Nachricht akzeptieren würde, die Sie senden, aber sie hebt niemals einen Block auf, den Ihre eigene Nachricht auch nicht heben könnte. Nach einer Sitzungsfortsetzung behandelt Claude Code wiederhergestellte Notizen als nicht verifizierten Kontext. Wenn Hooks aus beiden Gruppen den gleichen Aufruf annotieren, behandelt der Klassifizierer die kombinierte Notiz als nicht verifizierten Kontext

2230 2232 

2231Claude Code wendet diese Grenzen an, wenn die Notiz bereitgestellt wird:2233Claude Code wendet diese Grenzen an, wenn die Notiz bereitgestellt wird:

2232 2234 

2233* **Länge**: Claude Code begrenzt die Notizen für einen Tool-Aufruf auf 2.000 Zeichen und schneidet den Rest ab. Die Obergrenze wird über jeden Hook geteilt, der auf diesen Aufruf antwortet2235* **Länge**: Claude Code begrenzt die Notizen für einen Tool-Aufruf auf 2.000 Zeichen und schneidet den Rest ab. Die Grenze wird über jeden Hook geteilt, der auf diesen Aufruf antwortet

2234* **Nur synchrone Antworten**: Claude Code ignoriert das Feld in der Antwort eines Hooks, der [im Hintergrund läuft](#run-hooks-in-the-background), da diese Antwort ankommt, nachdem Claude Code das Tool-Ergebnis aufgezeichnet hat2236* **Nur synchrone Antworten**: Claude Code ignoriert das Feld in der Antwort eines Hooks, der [im Hintergrund ausgeführt wird](#run-hooks-in-the-background), da diese Antwort nach der Aufzeichnung des Tool-Ergebnisses ankommt

2235* **Aufrufe, die der Klassifizierer nicht aufzeichnet**: Das Klassifizierer-Transkript lässt schreibgeschützte Lookups wie Datei-Lesevorgänge und Suchen weg. Claude Code verwirft eine Notiz, die an einen dieser Aufrufe angehängt ist2237* **Aufrufe, die der Klassifizierer nicht aufzeichnet**: Das Transkript des Klassifizierers lässt schreibgeschützte Lookups wie Dateilesevorgänge und Suchen aus. Claude Code verwirft eine Notiz, die an einen dieser Aufrufe angehängt ist

2236* **Interaktion mit Umschreibungen**: Wenn die Notiz Ausgabe beschreibt, die Sie mit `updatedToolOutput` ersetzen, geben Sie beide Felder in der gleichen Hook-Antwort zurück. Claude Code lässt die Notiz fallen, wenn diese Umschreibung abgelehnt wird oder eine andere Hook-Umschreibung sie ersetzt. Claude Code liefert eine Notiz, die Sie ohne Umschreibung zurückgeben, auch wenn ein anderer Hook die Ausgabe umschreibt2238* **Interaktion mit Umschreibungen**: Wenn die Notiz Ausgabe beschreibt, die Sie mit `updatedToolOutput` ersetzen, geben Sie beide Felder in der gleichen Hook-Antwort zurück. Claude Code löscht die Notiz, wenn diese Umschreibung abgelehnt wird oder eine andere Hook-Umschreibung sie ersetzt. Claude Code liefert eine Notiz, die Sie ohne Umschreibung zurückgeben, auch wenn ein anderer Hook die Ausgabe umschreibt

2237 2239 

2238<Warning>2240<Warning>

2239 Der Klassifizierer liest Inhalte, die Sie in `classifierContext` einfügen, als Informationen vom Anwendungs-Host der Sitzung, daher kopieren Sie nicht unvertrauenswürdige Tool-Ausgabe oder Text von Drittanbietern hinein. Halten Sie die Notiz auf eine kurze Aussage über diesen einen Aufruf, wie eine Tatsache über seinen Ursprung oder eine Benutzeraussage darüber; verwenden Sie das Feld nicht, um unabhängige Nachrichten oder einen Strom von Ereignissen zu liefern.2241 Der Klassifizierer liest Inhalte, die Sie in `classifierContext` einfügen, als Informationen vom Anwendungshost der Sitzung, daher kopieren Sie nicht vertrauenswürdige Tool-Ausgabe oder Text von Drittanbietern hinein. Halten Sie die Notiz auf eine kurze Aussage über diesen einen Aufruf, wie eine Tatsache über seinen Ursprung oder eine Benutzeraussage darüber; verwenden Sie das Feld nicht, um nicht verwandte Nachrichten oder einen Strom von Ereignissen zu liefern.

2240</Warning>2242</Warning>

2241 2243 

2242<h3 id="posttoolusefailure">2244<h3 id="posttoolusefailure">

2243 PostToolUseFailure2245 PostToolUseFailure

2244</h3>2246</h3>

2245 2247 

2246Wird ausgeführt, wenn ein Tool, das mit der Ausführung begonnen hat, fehlschlägt: Das Tool hat einen Fehler geworfen oder ein MCP-Tool hat ein Fehlerergebnis zurückgegeben. Verwenden Sie dies, um Fehler zu protokollieren, Warnungen zu senden oder korrektes Feedback an Claude zu geben.2248Wird ausgeführt, wenn ein Tool, das mit der Ausführung begonnen hat, fehlschlägt: Das Tool warf einen Fehler oder ein MCP-Tool gab ein Fehlerergebnis zurück. Verwenden Sie dies, um Fehler zu protokollieren, Warnungen zu senden oder korrektes Feedback an Claude zu geben.

2247 2249 

2248Passt auf Tool-Namen, gleiche Werte wie PreToolUse.2250Gleicht Tool-Namen ab, gleiche Werte wie PreToolUse.

2249 2251 

2250<Note>2252<Note>

2251 Dieses Ereignis wird nicht für Tool-Aufrufe ausgelöst, die vor der Ausführung abgelehnt werden: Ein unbekannter Tool-Name, Eingabe, die Schema- oder Tool-spezifische Validierung nicht besteht, oder eine Berechtigungsverweigerung. Validierungsablehnungen werden als `tool_use_error`-Ergebnisse zurückgegeben und treten vor Hooks auf, daher werden weder `PreToolUse` noch dieses Ereignis ausgelöst. Berechtigungsverweigerungen lösen `PreToolUse` aus, aber nicht dieses Ereignis; siehe [PermissionDenied](#permissiondenied).2253 Dieses Ereignis wird nicht für Tool-Aufrufe ausgeführt, die vor der Ausführung abgelehnt werden: Ein unbekannter Tool-Name, Eingabe, die Schema- oder Tool-spezifische Validierung fehlschlägt, oder eine Berechtigungsverweigerung. Validierungsablehnungen werden als `tool_use_error` Ergebnisse zurückgegeben und treten auf, bevor Hooks ausgeführt werden, daher werden weder `PreToolUse` noch dieses Ereignis ausgeführt. Berechtigungsverweigerungen führen `PreToolUse` aus, aber nicht dieses Ereignis; siehe [PermissionDenied](#permissiondenied).

2252</Note>2254</Note>

2253 2255 

2254<h4 id="posttoolusefailure-input">2256<h4 id="posttoolusefailure-input">

2255 PostToolUseFailure-Eingabe2257 PostToolUseFailure-Eingabe

2256</h4>2258</h4>

2257 2259 

2258PostToolUseFailure-Hooks erhalten die gleichen `tool_name`- und `tool_input`-Felder wie PostToolUse, zusammen mit Fehlerinformationen als Top-Level-Felder. Für ein MCP-Tool erhalten sie auch das [`mcp_server`](#pretooluse-input)-Objekt. Zum Beispiel könnte ein fehlgeschlagener `npm test`-Befehl liefern:2260PostToolUseFailure-Hooks erhalten die gleichen `tool_name` und `tool_input` Felder wie PostToolUse, zusammen mit Fehlerinformationen als Top-Level-Felder. Für ein MCP-Tool erhalten sie auch das [`mcp_server`](#pretooluse-input) Objekt. Beispielsweise könnte ein fehlgeschlagener `npm test` Befehl liefern:

2259 2261 

2260```json theme={null}2262```json theme={null}

2261{2263{


2277```2279```

2278 2280 

2279| Feld | Beschreibung |2281| Feld | Beschreibung |

2280| :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2282| :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2281| `error` | Zeichenkette, die beschreibt, was schief gelaufen ist. Das Format hängt vom Tool ab, das fehlgeschlagen ist |2283| `error` | Zeichenkette, die beschreibt, was schief gelaufen ist. Das Format hängt vom Tool ab, das fehlgeschlagen ist |

2282| `is_interrupt` | Optionaler Boolesch. True, wenn der Fehler Claude Code als Abbruch erreichte, anstatt als Fehler, den das Tool meldete. Das Abbrechen eines laufenden Tools löst diesen Hook nicht aus; das Tool-Ergebnis trägt die Abbruch-Nachricht statt |2284| `is_interrupt` | Optionaler Boolean. True, wenn der Fehler Claude Code als Abbruch erreichte, anstatt als Fehler, den das Tool meldete. Das Abbrechen eines laufenden Tools führt nicht zu diesem Hook; das Tool-Ergebnis trägt stattdessen die Abbruchmeldung |

2283| `duration_ms` | Optional. Tool-Ausführungszeit in Millisekunden. Schließt Zeit aus, die in Berechtigungsaufforderungen und PreToolUse-Hooks verbracht wird |2285| `duration_ms` | Optional. Tool-Ausführungszeit in Millisekunden. Schließt Zeit aus, die in Berechtigungsaufforderungen und PreToolUse-Hooks verbracht wird |

2284 2286 

2285Die `error`-Zeichenkette ist im Allgemeinen der gleiche Text, den Claude als Ergebnis des fehlgeschlagenen Tools erhält. Sein Format variiert je nach Tool und Fehler. Schlüsseln Sie Ihren Hook auf `tool_name`, `is_interrupt` und die erste Zeile `Exit code N`; behandeln Sie den Rest der Zeichenkette als Anzeigetext, nicht als stabiles Format.2287Die `error` Zeichenkette ist im Allgemeinen der gleiche Text, den Claude als Ergebnis des fehlgeschlagenen Tools empfängt. Sein Format variiert je nach Tool und Fehler. Schlüsseln Sie Ihren Hook auf `tool_name`, `is_interrupt` und die erste Zeile `Exit code N`; behandeln Sie den Rest der Zeichenkette als Anzeigetext, nicht als stabiles Format.

2286 2288 

2287* Für Bash und PowerShell erzeugt ein Befehl, der ausgeführt wurde und beendet wurde, eine erste Zeile `Exit code N`, dann jede Ausgabe, die der Befehl als einen Block mit stdout und stderr vermischt erzeugte2289* Für Bash und PowerShell erzeugt ein Befehl, der lief und beendet wurde, eine erste Zeile `Exit code N`, dann jede Ausgabe, die der Befehl als einen Block mit stdout und stderr vermischt erzeugte

2288* Eine Nutzlast kann auch eine bloße Fehlermeldung ohne Exit-Code-Zeile tragen, wenn Claude Code den Shell-Prozess selbst nicht starten konnte2290* Eine Nutzlast kann auch eine bloße Fehlermeldung ohne Exit-Code-Zeile tragen, wenn Claude Code den Shell-Prozess selbst nicht starten konnte

2289* Claude Code schneidet lange Zeichenketten in der Mitte um einen `... [N characters truncated] ...`-Marker ab und kann Zeilen einfügen, wie `Command timed out after 2m 0s`2291* Claude Code schneidet lange Zeichenketten in der Mitte um einen `... [N characters truncated] ...` Marker ab und kann Zeilen von sich selbst einfügen, wie `Command timed out after 2m 0s`

2290 2292 

2291<h4 id="posttoolusefailure-decision-control">2293<h4 id="posttoolusefailure-decision-control">

2292 PostToolUseFailure-Entscheidungskontrolle2294 PostToolUseFailure-Entscheidungskontrolle

2293</h4>2295</h4>

2294 2296 

2295`PostToolUseFailure`-Hooks können Claude nach einem Tool-Fehler Kontext geben. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:2297`PostToolUseFailure` Hooks können Claude nach einem Tool-Fehler Kontext geben. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:

2296 2298 

2297| Feld | Beschreibung |2299| Feld | Beschreibung |

2298| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------- |2300| :------------------ | :------------------------------------------------------------------------------------------------------------------------------- |

2299| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem Fehler hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |2301| `additionalContext` | String, der zu Claudes Kontext neben dem Fehler hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

2300 2302 

2301```json theme={null}2303```json theme={null}

2302{2304{


2311 PostToolBatch2313 PostToolBatch

2312</h3>2314</h3>

2313 2315 

2314Wird einmal ausgeführt, nachdem jeder Tool-Aufruf in einem Batch aufgelöst wurde, bevor Claude Code die nächste Anfrage an das Modell sendet. `PostToolUse` wird einmal pro Tool ausgeführt, was bedeutet, dass es gleichzeitig ausgeführt wird, wenn Claude parallele Tool-Aufrufe macht. `PostToolBatch` wird genau einmal mit dem vollständigen Batch ausgeführt, daher ist es der richtige Ort, um Kontext einzufügen, der von der Menge der Tools abhängt, die ausgeführt wurden, anstatt von einem einzelnen Tool. Es gibt keinen Matcher für dieses Ereignis.2316Wird einmal ausgeführt, nachdem jeder Tool-Aufruf in einem Batch aufgelöst wurde, bevor Claude Code die nächste Anfrage an das Modell sendet. `PostToolUse` wird einmal pro Tool ausgeführt, was bedeutet, dass es gleichzeitig ausgeführt wird, wenn Claude parallele Tool-Aufrufe macht. `PostToolBatch` wird genau einmal mit dem vollständigen Batch ausgeführt, daher ist es der richtige Ort, um Kontext einzufügen, der vom Satz von Tools abhängt, die liefen, statt von einem einzelnen Tool. Es gibt keinen Matcher für dieses Ereignis.

2315 2317 

2316<h4 id="posttoolbatch-input">2318<h4 id="posttoolbatch-input">

2317 PostToolBatch-Eingabe2319 PostToolBatch-Eingabe

2318</h4>2320</h4>

2319 2321 

2320Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PostToolBatch-Hooks `tool_calls`, ein Array, das jeden Tool-Aufruf im Batch beschreibt:2322Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten PostToolBatch-Hooks `tool_calls`, ein Array, das jeden Tool-Aufruf im Batch beschreibt:

2321 2323 

2322```json theme={null}2324```json theme={null}

2323{2325{


2343}2345}

2344```2346```

2345 2347 

2346`tool_response` enthält den gleichen Inhalt, den das Modell im entsprechenden `tool_result`-Block erhält. Der Wert ist eine serialisierte Zeichenkette oder ein Content-Block-Array, genau wie das Tool es ausgegeben hat. Für `Read` bedeutet das Zeilennummern-Präfix-Text anstelle von rohen Dateiinhalten. Antworten können groß sein, daher analysieren Sie nur die Felder, die Sie benötigen.2348`tool_response` enthält den gleichen Inhalt, den das Modell im entsprechenden `tool_result` Block empfängt. Der Wert ist eine serialisierte Zeichenkette oder ein Content-Block-Array, genau wie das Tool es ausgegeben hat. Für `Read` bedeutet das Zeilennummern-Präfix-Text statt rohe Dateiinhalte. Antworten können groß sein, daher analysieren Sie nur die Felder, die Sie benötigen.

2347 2349 

2348<Note>2350<Note>

2349 Die Form von `tool_response` unterscheidet sich von der von `PostToolUse`. `PostToolUse` übergibt das strukturierte `Output`-Objekt des Tools, wie `{filePath: "...", type: "create"}` für `Write`; `PostToolBatch` übergibt den serialisierten `tool_result`-Inhalt, den das Modell sieht.2351 Die `tool_response` Form unterscheidet sich von der von `PostToolUse`. `PostToolUse` übergibt das strukturierte `Output` Objekt des Tools, wie `{filePath: "...", type: "create"}` für `Write`; `PostToolBatch` übergibt den serialisierten `tool_result` Inhalt, den das Modell sieht.

2350</Note>2352</Note>

2351 2353 

2352<h4 id="posttoolbatch-decision-control">2354<h4 id="posttoolbatch-decision-control">

2353 PostToolBatch-Entscheidungskontrolle2355 PostToolBatch-Entscheidungskontrolle

2354</h4>2356</h4>

2355 2357 

2356`PostToolBatch`-Hooks können Kontext für Claude einfügen. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:2358`PostToolBatch` Hooks können Kontext für Claude einfügen. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:

2357 2359 

2358| Feld | Beschreibung |2360| Feld | Beschreibung |

2359| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2361| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2360| `additionalContext` | Kontext-Zeichenkette, die einmal vor dem nächsten Modell-Aufruf eingefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) für Lieferdetails, was Sie darin einfügen sollten und wie fortgesetzte Sitzungen vergangene Werte handhaben |2362| `additionalContext` | Kontext-Zeichenkette, die einmal vor dem nächsten Modell-Aufruf eingefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) für Bereitstellungsdetails, was Sie darin einfügen sollten und wie fortgesetzte Sitzungen mit vergangenen Werten umgehen |

2361 2363 

2362```json theme={null}2364```json theme={null}

2363{2365{


2368}2370}

2369```2371```

2370 2372 

2371Das Zurückgeben von `decision: "block"` oder `continue: false` stoppt die agentengesteuerte Schleife vor dem nächsten Modell-Aufruf. Die Blockierungsmeldung kommt aus dem JSON `reason` oder `stopReason` oder aus stderr bei Beendigung mit 2. Sie sehen sie als Warnung im Transkript, und sie bleibt in der Konversation, daher sieht Claude sie, wenn die Konversation fortgesetzt wird.2373Das Zurückgeben von `decision: "block"` oder `continue: false` stoppt die agentengesteuerte Schleife vor dem nächsten Modell-Aufruf. Die Blockierungsmeldung kommt aus dem JSON `reason` oder `stopReason` oder aus stderr bei Beendigung mit 2. Sie sehen sie als Warnung im Transkript, und sie bleibt im Gespräch, daher sieht Claude sie, wenn das Gespräch fortgesetzt wird.

2372 2374 

2373<h3 id="permissiondenied">2375<h3 id="permissiondenied">

2374 PermissionDenied2376 PermissionDenied

2375</h3>2377</h3>

2376 2378 

2377Wird ausgeführt, wenn der [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer einen Tool-Aufruf verweigert, einschließlich wenn er verweigert, ohne ein Klassifizierer-Urteil zu haben, weil [eine Sicherheitsprüfung, die von Auto-Modus getrennt ist, die Anfrage des Klassifizierers selbst verweigerte](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) oder seine Antwort nicht geparst wurde. Dieser Hook wird nur im Auto-Modus ausgelöst: Er wird nicht ausgeführt, wenn Sie einen Berechtigungsdialog manuell verweigern, wenn ein `PreToolUse`-Hook einen Aufruf blockiert oder wenn eine `deny`-Regel passt. Verwenden Sie ihn, um Klassifizierer-Ablehnungen zu protokollieren, die Konfiguration anzupassen oder dem Modell zu sagen, dass es den Tool-Aufruf möglicherweise erneut versuchen kann.2379Wird ausgeführt, wenn [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) einen Tool-Aufruf verweigert, einschließlich wenn er verweigert, ohne ein Klassifizierer-Urteil zu haben, weil [eine Sicherheitsprüfung, die vom Auto-Modus getrennt ist, die Anfrage des Klassifizierers selbst verweigerte](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) oder seine Antwort nicht analysiert wurde. Dieser Hook wird nur im Auto-Modus ausgeführt: Er wird nicht ausgeführt, wenn Sie einen Berechtigungsdialog manuell verweigern, wenn ein `PreToolUse` Hook einen Aufruf blockiert oder wenn eine `deny` Regel übereinstimmt. Verwenden Sie ihn, um Verweigerungen zu protokollieren, die Konfiguration anzupassen oder dem Modell zu sagen, dass es den Tool-Aufruf möglicherweise erneut versuchen kann.

2378 2380 

2379Passt auf Tool-Namen, gleiche Werte wie PreToolUse.2381Gleicht Tool-Namen ab, gleiche Werte wie PreToolUse.

2380 2382 

2381<h4 id="permissiondenied-input">2383<h4 id="permissiondenied-input">

2382 PermissionDenied-Eingabe2384 PermissionDenied-Eingabe

2383</h4>2385</h4>

2384 2386 

2385Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PermissionDenied-Hooks `tool_name`, `tool_input`, `tool_use_id` und `reason`. Für ein MCP-Tool erhalten sie auch das [`mcp_server`](#pretooluse-input)-Objekt.2387Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten PermissionDenied-Hooks `tool_name`, `tool_input`, `tool_use_id` und `reason`. Für ein MCP-Tool erhalten sie auch das [`mcp_server`](#pretooluse-input) Objekt.

2386 2388 

2387```json theme={null}2389```json theme={null}

2388{2390{


2402```2404```

2403 2405 

2404| Feld | Beschreibung |2406| Feld | Beschreibung |

2405| :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2407| :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2406| `reason` | Der Verweigerungsgrund. Für ein Klassifizierer-Urteil benennt es in den meisten Sitzungen die passende Regel in Klammern, wie `[Data Exfiltration]`; siehe [Verweigerungen überprüfen](/docs/de/auto-mode-config#review-denials) für die anderen Formen. Für eine [Verweigerung ohne Urteil](#permissiondenied-decision-control) beginnt es mit `Auto mode could not evaluate this action and is blocking it for safety`. Für eine Verweigerung, weil das Klassifizierer-Modell nicht verfügbar war, ist es der feste Text `Classifier unavailable` |2408| `reason` | Der Verweigerungsgrund. Für ein Klassifizierer-Urteil benennt es in den meisten Sitzungen die übereinstimmende Regel in eckigen Klammern, wie `[Data Exfiltration]`; siehe [Verweigerungen überprüfen](/docs/de/auto-mode-config#review-denials) für die anderen Formen. Für eine [Verweigerung ohne Urteil](#permissiondenied-decision-control) beginnt sie mit `Auto mode could not evaluate this action and is blocking it for safety`. Für eine Verweigerung, weil das Klassifizierer-Modell nicht verfügbar war, ist es der feste Text `Classifier unavailable` |

2407 2409 

2408<h4 id="permissiondenied-decision-control">2410<h4 id="permissiondenied-decision-control">

2409 PermissionDenied-Entscheidungskontrolle2411 PermissionDenied-Entscheidungskontrolle


2420}2422}

2421```2423```

2422 2424 

2423Wenn `retry` `true` ist, fügt Claude Code eine Nachricht zum Gespräch hinzu, die dem Modell mitteilt, dass es den Tool-Aufruf möglicherweise erneut versuchen kann. Die Ablehnung selbst wird nicht rückgängig gemacht. Wenn Ihr Hook keine JSON zurückgibt oder `retry: false` zurückgibt, bleibt die Ablehnung bestehen und das Modell erhält die ursprüngliche Ablehnungsmeldung.2425Wenn `retry` `true` ist, fügt Claude Code eine Nachricht zum Gespräch hinzu, die dem Modell sagt, dass es den Tool-Aufruf möglicherweise erneut versuchen kann. Claude Code kehrt die Verweigerung selbst nicht um. Wenn Ihr Hook kein JSON zurückgibt oder `retry: false` zurückgibt, bleibt die Verweigerung bestehen und das Modell empfängt die ursprüngliche Ablehnungsmeldung.

2424 2426 

2425Claude Code ignoriert `retry: true`, wenn der Klassifizierer [kein Urteil über die Aktion erzeugt hat](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action): Seine Antwort hat nicht geparst oder eine Sicherheitsprüfung, die von Auto-Modus getrennt ist, verweigerte die Anfrage des Klassifizierers selbst. Für diese Verweigerungen teilt Claude Code dem Modell in der Ablehnungsmeldung bereits mit, ob es später erneut versuchen soll oder weitermachen soll.2427Claude Code ignoriert `retry: true`, wenn der Klassifizierer [kein Urteil über die Aktion erzeugt hat](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action): Seine Antwort wurde nicht analysiert oder eine Sicherheitsprüfung, die vom Auto-Modus getrennt ist, verweigerte die Anfrage des Klassifizierers. Für diese Verweigerungen sagt Claude Code dem Modell in der Ablehnungsmeldung bereits, ob es später erneut versuchen oder weitermachen soll.

2426 2428 

2427<h3 id="notification">2429<h3 id="notification">

2428 Notification2430 Notification

2429</h3>2431</h3>

2430 2432 

2431Wird ausgeführt, wenn Claude Code Benachrichtigungen sendet. Passt auf Benachrichtigungstyp. Matcher weglassen, um Hooks für alle Benachrichtigungstypen auszuführen.2433Wird ausgeführt, wenn Claude Code Benachrichtigungen sendet. Gleicht Benachrichtigungstyp ab. Weglassen Sie den Matcher, um Hooks für alle Benachrichtigungstypen auszuführen.

2432 2434 

2433Sie erhalten diese Hook-Ereignisse auch mit ausgeschalteten Desktop-Benachrichtigungen: Die `preferredNotifChannel`-Einstellung, einschließlich `notifications_disabled`, ändert nur, wie Sie benachrichtigt werden, nicht ob Ihr Hook ausgeführt wird.2435Sie erhalten diese Hook-Ereignisse auch mit ausgeschalteten Desktop-Benachrichtigungen: Die `preferredNotifChannel` Einstellung, einschließlich `notifications_disabled`, ändert nur, wie Sie benachrichtigt werden, nicht ob Ihr Hook ausgeführt wird.

2434 2436 

2435| Matcher | Wann es ausgelöst wird |2437| Matcher | Wann wird es ausgelöst |

2436| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2438| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

2437| `permission_prompt` | Claude benötigt Ihre Genehmigung für einen Tool-Aufruf oder eine Sandbox-Befehl-[Netzwerkanfrage](/docs/de/sandboxing#network-isolation), und der Prompt hat etwa sechs Sekunden gewartet |2439| `permission_prompt` | Claude benötigt Ihre Genehmigung für einen Tool-Aufruf oder eine Netzwerkanfrage eines Sandbox-Befehls, und die Aufforderung hat etwa sechs Sekunden gewartet |

2438| `idle_prompt` | Claude ist vor etwa 60 Sekunden fertig und Sie haben nicht seitdem getippt |2440| `idle_prompt` | Claude hat vor etwa 60 Sekunden geantwortet und Sie haben seitdem nicht eingegeben |

2439| `auth_success` | Authentifizierung ist abgeschlossen |2441| `auth_success` | Authentifizierung ist abgeschlossen |

2440| `elicitation_dialog` | Ein MCP-Server öffnet ein Elicitation-Formular und Sie haben nicht seitdem getippt |2442| `elicitation_dialog` | Ein MCP-Server öffnet ein Elicitierungsformular und Sie haben etwa sechs Sekunden nicht eingegeben |

2441| `elicitation_url_dialog` | Ein MCP-Server fordert Sie auf, eine Browser-URL zu öffnen und Sie haben nicht seitdem getippt |2443| `elicitation_url_dialog` | Ein MCP-Server fordert Sie auf, eine Browser-URL zu öffnen und Sie haben etwa sechs Sekunden nicht eingegeben |

2442| `elicitation_complete` | Ein MCP-Server meldet, dass eine [URL-Mode-Elicitation](#elicitation-input) abgeschlossen ist |2444| `elicitation_complete` | Ein MCP-Server meldet, dass eine [URL-Modus-Elicitierung](#elicitation-input) abgeschlossen ist |

2443| `elicitation_response` | Eine MCP-Elicitation-Antwort wird an den Server zurückgesendet |2445| `elicitation_response` | Eine MCP-Elicitierungs-Antwort wird an den Server zurückgesendet |

2444| `agent_needs_input` | Eine Hintergrund-Sitzung beginnt, auf Ihre Eingabe zu warten, während [Agent-Ansicht](/docs/de/agent-view) in einem Terminal offen ist, oder die aktuelle Sitzung stellt eine [Agent-Team-Teammate-Terminal-Setup-Frage](/docs/de/agent-teams#choose-a-display-mode) und Sie haben nicht seitdem getippt |2446| `agent_needs_input` | Eine Hintergrund-Sitzung beginnt, auf Ihre Eingabe zu warten, während [Agent-Ansicht](/docs/de/agent-view) in einem Terminal offen ist, oder die aktuelle Sitzung stellt Ihnen eine [Agent-Team-Teamkollegen-Terminal-Setup-Frage](/docs/de/agent-teams#choose-a-display-mode) und Sie haben etwa sechs Sekunden nicht eingegeben |

2445| `agent_completed` | Eine Hintergrund-Sitzung wird fertig oder schlägt fehl. Wird nur ausgelöst, während [Agent-Ansicht](/docs/de/agent-view) in einem Terminal offen ist |2447| `agent_completed` | Eine Hintergrund-Sitzung wird beendet oder schlägt fehl. Wird nur ausgeführt, während [Agent-Ansicht](/docs/de/agent-view) in einem Terminal offen ist |

2446| `quota_auto_resume_fired` | Claude Code setzt Ihre Aufgabe fort, nachdem ein claude.ai-Nutzungslimit sie pausiert hat: beim Reset oder früher, wenn etwas, das Sie in Claude Code tun, wie das Hinzufügen von Nutzungsguthaben, das Upgrade Ihres Plans oder das Wechseln von Modellen, Nutzung wieder verfügbar macht, mit der [Modell-Einstellung-Ausnahme](/docs/de/interactive-mode#wait-for-a-usage-limit-to-reset) |2448| `quota_auto_resume_fired` | Claude Code setzt Ihre Aufgabe nach einer claude.ai Nutzungslimit-Pause fort: beim Reset oder früher, wenn Sie etwas in Claude Code tun, während Sie warten, wie das Hinzufügen von Nutzungsguthaben, das Upgrade Ihres Plans oder das Wechseln von Modellen, macht Nutzung wieder verfügbar, mit der [Modell-Einstellung Ausnahme](/docs/de/interactive-mode#wait-for-a-usage-limit-to-reset) |

2447| `quota_auto_resume_stale` | Ein claude.ai-Nutzungslimit wurde zurückgesetzt, während Ihr Computer für mehr als etwa 30 Minuten schlief. Claude Code wartet darauf, dass Sie `Enter` drücken, statt fortzufahren. Nach einem kürzeren Schlaf wird fortgesetzt und `quota_auto_resume_fired` statt |2449| `quota_auto_resume_stale` | Ein claude.ai Nutzungslimit wurde zurückgesetzt, während Ihr Computer für mehr als etwa 30 Minuten schlief. Claude Code wartet darauf, dass Sie `Enter` drücken, anstatt fortzufahren. Nach einem kürzeren Schlaf wird es fortgesetzt und wird stattdessen `quota_auto_resume_fired` ausgeführt |

2448| `quota_auto_resume_disabled` | Claude Code beendet sein Warten auf ein claude.ai-Nutzungslimit, ohne Ihre Aufgabe fortzusetzen: [`autoContinueAtUsageLimit`](/docs/de/settings-reference#autocontinueatusagelimit) wurde ausgeschaltet oder der Reset rückte während eines Wartens, das Claude Code selbst gestartet hat, mehr als 24 Stunden in die Zukunft, die fortgesetzte Aufgabe traf weiterhin das Limit oder die Fortsetzung wurde blockiert, bevor sie das Modell erreichte. Wird nicht ausgelöst, wenn Sie `Esc` oder `Ctrl+C` drücken oder **Nicht automatisch fortsetzen** wählen |2450| `quota_auto_resume_disabled` | Claude Code beendet sein Warten auf ein claude.ai Nutzungslimit, ohne Ihre Aufgabe fortzusetzen: [`autoContinueAtUsageLimit`](/docs/de/settings-reference#autocontinueatusagelimit) wurde ausgeschaltet oder der Reset rückte während eines Wartens, das Claude Code selbst gestartet hat, mehr als 24 Stunden in die Zukunft, die fortgesetzte Aufgabe traf immer wieder das Limit oder die Fortsetzung wurde blockiert, bevor sie das Modell erreichte. Wird nicht ausgeführt, wenn Sie `Esc` oder `Ctrl+C` drücken oder **Nicht automatisch fortsetzen** wählen |

2449 2451 

2450Die Typen `agent_needs_input` und `agent_completed` erfordern Claude Code v2.1.198 oder später.2452Die `agent_needs_input` und `agent_completed` Typen erfordern Claude Code v2.1.198 oder später.

2451 2453 

2452Die Typen `quota_auto_resume_fired`, `quota_auto_resume_stale` und `quota_auto_resume_disabled` erfordern Claude Code v2.1.234 oder später.2454Die `quota_auto_resume_fired`, `quota_auto_resume_stale` und `quota_auto_resume_disabled` Typen erfordern Claude Code v2.1.234 oder später.

2453 2455 

2454In Terminal-Sitzungen erfordert `permission_prompt` für eine Sandbox-Befehl-Netzwerkanfrage Claude Code v2.1.246 oder später.2456In Terminal-Sitzungen erfordert `permission_prompt` für eine Netzwerkanfrage eines Sandbox-Befehls Claude Code v2.1.246 oder später.

2455 2457 

2456`agent_needs_input` für eine Teammate-Terminal-Setup-Frage erfordert Claude Code v2.1.248 oder später.2458`agent_needs_input` für eine Teamkollegen-Terminal-Setup-Frage erfordert Claude Code v2.1.248 oder später.

2457 2459 

2458<Note>2460<Note>

2459 Die Typen `permission_prompt`, `idle_prompt`, `elicitation_dialog` und `elicitation_url_dialog` teilen ihr Timing mit Desktop-Benachrichtigungen, daher sehen Sie sie in Terminal-Sitzungen nur, wenn Sie vom Terminal weg zu sein scheinen:2461 Die `permission_prompt`, `idle_prompt`, `elicitation_dialog` und `elicitation_url_dialog` Typen teilen ihr Timing mit Desktop-Benachrichtigungen, daher sehen Sie sie in Terminal-Sitzungen nur, wenn Sie vom Terminal entfernt zu sein scheinen:

2460 2462 

2461 * Erwarten Sie `permission_prompt`, sobald Sie etwa sechs Sekunden nicht getippt haben. Der Timer startet, wenn der Berechtigungsprompt erscheint, und jeder Tastendruck verschiebt ihn. Um einen Hook sofort auszuführen, wenn Claude um Genehmigung zur Verwendung eines Tools bittet, verwenden Sie stattdessen [PermissionRequest](#permissionrequest).2463 * Erwarten Sie `permission_prompt`, sobald Sie etwa sechs Sekunden nicht eingegeben haben. Der Timer startet, wenn die Berechtigungsaufforderung erscheint, und jeder Tastendruck verschiebt ihn. Um einen Hook sofort auszuführen, wenn Claude um Erlaubnis bittet, ein Tool zu verwenden, verwenden Sie stattdessen [PermissionRequest](#permissionrequest).

2462 * Erwarten Sie `idle_prompt` etwa 60 Sekunden, nachdem Claude fertig ist, und nur wenn Sie seitdem nicht getippt haben. Claude Code sendet `idle_prompt` nicht, während es auf ein claude.ai-Nutzungslimit wartet. Wenn das Warten auf eigene Faust endet, wird stattdessen einer der `quota_auto_resume_*`-Typen ausgelöst.2464 * Erwarten Sie `idle_prompt` etwa 60 Sekunden, nachdem Claude geantwortet hat, und nur wenn Sie seitdem nicht eingegeben haben. Claude Code sendet `idle_prompt` nicht, während es auf einen claude.ai Nutzungslimit-Reset wartet. Wenn das Warten von selbst endet, wird stattdessen einer der `quota_auto_resume_*` Typen ausgeführt.

2463 * Erwarten Sie `elicitation_dialog` für ein Elicitation-Formular oder `elicitation_url_dialog` für eine Browser-URL-Anfrage, sobald Sie etwa sechs Sekunden nicht getippt haben. Beide teilen das gleiche Sechs-Sekunden-Gate wie `permission_prompt`: Der Timer startet, wenn der Dialog erscheint, und jeder Tastendruck verschiebt ihn.2465 * Erwarten Sie `elicitation_dialog` für ein Elicitierungsformular oder `elicitation_url_dialog` für eine Browser-URL-Anfrage, sobald Sie etwa sechs Sekunden nicht eingegeben haben. Beide teilen das gleiche Sechs-Sekunden-Gate wie `permission_prompt`: Der Timer startet, wenn der Dialog erscheint, und jeder Tastendruck verschiebt ihn.

2464 2466 

2465 Eine Berechtigungsanfrage oder Elicitation, die ankommt, während ein anderer Dialog auf dem Bildschirm ist, behält das gleiche Sechs-Sekunden-Gate, zeitlich von wenn die Anfrage ankommt. Seine Benachrichtigung kann Sie erreichen, während die Anfrage immer noch hinter dem offenen Dialog wartet.2467 Eine Berechtigungsanfrage oder Elicitierung, die ankommt, während ein anderer Dialog auf dem Bildschirm ist, behält das gleiche Sechs-Sekunden-Gate, zeitlich von wenn die Anfrage ankommt. Seine Benachrichtigung kann Sie erreichen, während die Anfrage immer noch hinter dem offenen Dialog wartet.

2466</Note>2468</Note>

2467 2469 

2468Claude Code zeitlich `permission_prompt` anders in Sitzungen, in denen es Berechtigungsanfragen an den Agent SDK [`canUseTool`-Callback](/docs/de/agent-sdk/user-input) sendet, was ist, wie Claude Desktop und die VS Code-Erweiterung Claude Code hosten:2470Claude Code zeitlich `permission_prompt` unterschiedlich in Sitzungen, in denen es Berechtigungsanfragen an den Agent SDK [`canUseTool` Callback](/docs/de/agent-sdk/user-input) sendet, was ist, wie Claude Desktop und die VS Code Erweiterung Claude Code hosten:

2469 2471 

2470* Erwarten Sie `permission_prompt` etwa sechs Sekunden, nachdem Claude um Genehmigung bittet. Claude Code verschiebt es nicht, während Sie tippen.2472* Erwarten Sie `permission_prompt` etwa sechs Sekunden, nachdem Claude um Erlaubnis bittet. Claude Code verschiebt es nicht, während Sie eingeben.

2471* Wenn Sie oder ein [PermissionRequest](#permissionrequest)-Hook früher antworten, führt Claude Code `permission_prompt` nicht aus.2473* Wenn Sie oder ein [PermissionRequest](#permissionrequest) Hook früher antworten, führt Claude Code `permission_prompt` nicht aus.

2472* Setzen Sie [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/de/env-vars) auf `1`, um `permission_prompt` in diesen Sitzungen auszuschalten.2474* Setzen Sie [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/de/env-vars) auf `1`, um `permission_prompt` in diesen Sitzungen auszuschalten.

2473 2475 

2474Vor v2.1.233 wurde `permission_prompt` in diesen Sitzungen nicht ausgelöst.2476Vor v2.1.233 wurde `permission_prompt` in diesen Sitzungen nicht ausgeführt.

2475 2477 

2476Verwenden Sie separate Matcher, um verschiedene Handler je nach Benachrichtigungstyp auszuführen. Diese Konfiguration löst ein berechtigungsspezifisches Warnungsskript aus, wenn Claude Genehmigung benötigt, und eine andere Benachrichtigung, wenn Claude untätig war:2478Verwenden Sie separate Matcher, um verschiedene Handler je nach Benachrichtigungstyp auszuführen. Diese Konfiguration löst ein Berechtigungs-spezifisches Warnungsskript aus, wenn Claude Berechtigungsgenehmigung benötigt, und eine andere Benachrichtigung, wenn Claude untätig war:

2477 2479 

2478```json theme={null}2480```json theme={null}

2479{2481{


2506 Notification-Eingabe2508 Notification-Eingabe

2507</h4>2509</h4>

2508 2510 

2509Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten Notification-Hooks `message` mit dem Benachrichtigungstext, ein optionales `title` und `notification_type`, das angibt, welcher Typ ausgelöst wurde.2511Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten Notification-Hooks `message` mit dem Benachrichtigungstext, ein optionaler `title` und `notification_type`, das angibt, welcher Typ ausgeführt wurde.

2510 2512 

2511```json theme={null}2513```json theme={null}

2512{2514{


2520}2522}

2521```2523```

2522 2524 

2523Notification-Hooks können Benachrichtigungen nicht blockieren oder ändern. Claude Code verwirft ihre `systemMessage` und `continue`-Felder, aber gibt immer noch [`terminalSequence`](#emit-terminal-notifications) aus, auf das sich das Desktop-Benachrichtigungs-Beispiel verlässt. Notification-Hooks sind für Nebenwirkungen wie das Weiterleiten der Benachrichtigung an einen externen Service vorgesehen.2525Notification-Hooks können Benachrichtigungen nicht blockieren oder ändern. Claude Code verwirft ihre `systemMessage` und `continue` Felder, gibt aber immer noch [`terminalSequence`](#emit-terminal-notifications) aus, auf das sich das Desktop-Benachrichtigungsbeispiel verlässt. Notification-Hooks sind für Nebenwirkungen wie das Weiterleiten der Benachrichtigung an einen externen Service gedacht.

2524 2526 

2525<h3 id="subagentstart">2527<h3 id="subagentstart">

2526 SubagentStart2528 SubagentStart

2527</h3>2529</h3>

2528 2530 

2529Wird ausgeführt, wenn Claude einen Subagenten mit dem Agent-Tool spawnt, wenn Claude [einen Subagenten fortsetzt](/docs/de/sub-agents#resume-subagents) und jedes Mal, wenn ein In-Process-[Agent-Team](/docs/de/agent-teams)-Teammate eine neue Nachricht handhabt. Unterstützt Matcher zum Filtern nach Agent-Typname. Für eingebaute Agents ist dies der Agent-Name wie `general-purpose`, `Explore` oder `Plan`. Für [benutzerdefinierte Subagenten](/docs/de/sub-agents) ist dies das Feld `name` aus dem Frontmatter des Agenten, nicht der Dateiname.2531Wird ausgeführt, wenn Claude einen Subagenten mit dem Agent-Tool spawnt, wenn Claude [einen Subagenten fortsetzt](/docs/de/sub-agents#resume-subagents) und jedes Mal, wenn ein In-Process [Agent-Team](/docs/de/agent-teams) Teamkollege eine neue Nachricht verarbeitet. Unterstützt Matcher zum Filtern nach Agent-Typ-Name. Für integrierte Agenten ist dies der Agent-Name wie `general-purpose`, `Explore` oder `Plan`. Für [benutzerdefinierte Subagenten](/docs/de/sub-agents) ist dies das `name` Feld aus dem Agent-Frontmatter, nicht der Dateiname.

2530 2532 

2531Für Subagenten, die von einem [Plugin](/docs/de/plugins) bereit gestellt werden, ist der Agent-Typ die Plugin-spezifische Kennung wie `my-plugin:reviewer`, nicht der bloße Frontmatter-Name. Der Doppelpunkt platziert einen Plugin-spezifischen Namen auf dem regulären Ausdruckspfad, daher verankern Sie den Matcher mit `^` und `$` für eine genaue Übereinstimmung: `^my-plugin:reviewer$`.2533Für Subagenten, die von einem [Plugin](/docs/de/plugins) versendet werden, ist der Agent-Typ der Plugin-scoped Identifikator wie `my-plugin:reviewer`, nicht der bloße Frontmatter-Name. Der Doppelpunkt platziert einen Plugin-scoped Namen auf dem regulären Ausdruckspfad, daher verankern Sie den Matcher mit `^` und `$` für einen genauen Treffer: `^my-plugin:reviewer$`.

2532 2534 

2533<h4 id="subagentstart-input">2535<h4 id="subagentstart-input">

2534 SubagentStart-Eingabe2536 SubagentStart-Eingabe

2535</h4>2537</h4>

2536 2538 

2537Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SubagentStart-Hooks `agent_id` mit der eindeutigen Kennung für den Subagenten und `agent_type` mit dem Agent-Namen, den der Matcher filtert.2539Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten SubagentStart-Hooks `agent_id` mit dem eindeutigen Identifikator für den Subagenten und `agent_type` mit dem Agent-Namen, den der Matcher filtert.

2538 2540 

2539```json theme={null}2541```json theme={null}

2540{2542{


2547}2549}

2548```2550```

2549 2551 

2550SubagentStart-Hooks können die Subagenten-Erstellung nicht blockieren, können aber Kontext in den Subagenten injizieren. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie zurückgeben:2552SubagentStart-Hooks können die Erstellung von Subagenten nicht blockieren, aber sie können Kontext in den Subagenten einfügen. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie zurückgeben:

2551 2553 

2552| Feld | Beschreibung |2554| Feld | Beschreibung |

2553| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2555| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2554| `additionalContext` | Zeichenkette, die zu Claudes Kontext am Anfang des Gesprächs des Subagenten hinzugefügt wird, vor seinem ersten Prompt. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |2556| `additionalContext` | String, der zu Claudes Kontext am Anfang des Gesprächs des Subagenten hinzugefügt wird, vor seiner ersten Eingabeaufforderung. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

2555 2557 

2556```json theme={null}2558```json theme={null}

2557{2559{


2562}2564}

2563```2565```

2564 2566 

2565Wenn der Hook erneut für den gleichen Subagenten ausgeführt wird, injiziert Claude Code den zurückgegebenen Kontext nur, wenn der Kontext des Subagenten nicht bereits die Kopie aus einem früheren Lauf hält. Die Kopie, die beim Start injiziert wurde, bleibt an Ort und Stelle, wobei der [Prompt-Cache](/docs/de/prompt-caching#subagents-and-the-cache) des Subagenten intakt bleibt. Nach [Auto-Komprimierung](/docs/de/sub-agents#auto-compaction), die diese Kopie verwirft, injiziert Claude Code den Kontext des nächsten Laufs erneut.2567Wenn der Hook erneut für den gleichen Subagenten ausgeführt wird, injiziert Claude Code den zurückgegebenen Kontext nur, wenn der Kontext des Subagenten nicht bereits die Kopie aus einem früheren Lauf enthält. Die beim Start eingefügte Kopie bleibt bestehen, wobei der [Prompt-Cache](/docs/de/prompt-caching#subagents-and-the-cache) des Subagenten intakt bleibt. Nach [Auto-Komprimierung](/docs/de/sub-agents#auto-compaction) verwirft diese Kopie, injiziert Claude Code den Kontext des nächsten Laufs erneut.

2566 2568 

2567<h3 id="subagentstop">2569<h3 id="subagentstop">

2568 SubagentStop2570 SubagentStop

2569</h3>2571</h3>

2570 2572 

2571Wird ausgeführt, wenn ein Claude Code-Subagent fertig mit der Antwort ist. Passt auf Agent-Typ, gleiche Werte wie SubagentStart.2573Wird ausgeführt, wenn ein Claude Code Subagent mit dem Antworten fertig ist. Gleicht Agent-Typ ab, gleiche Werte wie SubagentStart.

2572 2574 

2573<h4 id="subagentstop-input">2575<h4 id="subagentstop-input">

2574 SubagentStop-Eingabe2576 SubagentStop-Eingabe

2575</h4>2577</h4>

2576 2578 

2577Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SubagentStop-Hooks `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path` und `last_assistant_message`. Das Feld `agent_type` ist der Wert, der zum Filtern von Matchern verwendet wird. Der `transcript_path` ist das Transkript der Hauptsitzung, während `agent_transcript_path` das eigene Transkript des Subagenten ist, das in einem verschachtelten `subagents/`-Ordner gespeichert ist. Das Feld `last_assistant_message` enthält den Textinhalt der letzten Antwort des Subagenten, daher können Hooks darauf zugreifen, ohne die Transkript-Datei zu analysieren.2579Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten SubagentStop-Hooks `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path` und `last_assistant_message`. Das `agent_type` Feld ist der Wert, der zum Filtern des Matchers verwendet wird. Der `transcript_path` ist das Transkript der Hauptsitzung, während `agent_transcript_path` das eigene Transkript des Subagenten ist, das in einem verschachtelten `subagents/` Ordner gespeichert ist. Das `last_assistant_message` Feld enthält den Textinhalt der letzten Antwort des Subagenten, daher können Hooks darauf zugreifen, ohne die Transkript-Datei zu analysieren.

2580 

2581Nicht jedes SubagentStop-Ereignis kommt von einem Subagenten, den Claude spawnt. Claude Code führt auch interne Agenten für einige seiner eigenen Funktionen aus, wie [Eingabeaufforderungsvorschläge](/docs/de/interactive-mode#prompt-suggestions) und [`/btw` Seitenfragen](/docs/de/interactive-mode#side-questions-with-%2Fbtw), und SubagentStop wird ausgeführt, wenn einer davon fertig ist. Für diese Ereignisse ist `agent_type` der Agent-Name, den die Sitzung selbst ausführt, wie einer, der mit [`--agent`](/docs/de/cli-reference#cli-flags) oder der [`agent` Einstellung](/docs/de/settings-reference#agent) gesetzt ist, und eine leere Zeichenkette, wenn die Sitzung ohne einen läuft.

2582 

2583Ein `matcher`, der Agent-Typen benennt, gleicht keine leere `agent_type` ab. Ein Hook, dessen Matcher weggelassen, `""` oder `"*"` ist oder ein regulärer Ausdruck, der eine leere Zeichenkette abgleicht, wird auch für Ereignisse mit einer leeren `agent_type` ausgeführt.

2578 2584 

2579Auf Claude Code v2.1.271 oder später liefert ein Subagent, der mit dem [`SubagentHandback`](/docs/de/tools-reference)-Tool läuft, seinen Bericht durch dieses Tool, bevor er stoppt. Das Feld `last_assistant_message` hält dann den Schließtext des Subagenten, falls vorhanden, das ist nicht der gelieferte Bericht. Der Bericht ist die `message`-Eingabe dieses Aufrufs, die ein `PreToolUse`- oder `PostToolUse`-Hook, der auf `SubagentHandback` passt, als `tool_input.message` erhält.2585Auf Claude Code v2.1.271 oder später liefert ein Subagent, der mit dem [`SubagentHandback`](/docs/de/tools-reference) Tool läuft, seinen Bericht durch dieses Tool, bevor er stoppt. Das `last_assistant_message` Feld enthält dann den Schließungstext des Subagenten, falls vorhanden, das ist nicht der gelieferte Bericht. Der Bericht ist die `message` Eingabe dieses Aufrufs, die ein `PreToolUse` oder `PostToolUse` Hook, der auf `SubagentHandback` abgleicht, als `tool_input.message` empfängt.

2580 2586 

2581SubagentStop-Hooks erhalten auch die Arrays `background_tasks` und `session_crons`, die unter [Stop-Eingabe](#stop-input) beschrieben sind. Beide Arrays sind auf die übergeordnete Sitzung beschränkt, nicht auf den Subagenten.2587SubagentStop-Hooks erhalten auch die `background_tasks` und `session_crons` Arrays, die unter [Stop-Eingabe](#stop-input) beschrieben sind. Beide Arrays sind auf die Eltern-Sitzung scoped, nicht den Subagenten.

2582 2588 

2583```json theme={null}2589```json theme={null}

2584{2590{


2597}2603}

2598```2604```

2599 2605 

2600SubagentStop-Hooks verwenden das gleiche Entscheidungskontrollformat wie [Stop-Hooks](#stop-decision-control), einschließlich `hookSpecificOutput.additionalContext` mit `hookEventName` auf `"SubagentStop"` gesetzt, für Nicht-Fehler-Feedback, das den Subagenten am Laufen hält. Das Zurückgeben von `decision: "block"` mit einem `reason` hält den Subagenten am Laufen und liefert `reason` an den Subagenten als nächste Anweisung. Ein Hook, der durch Beenden mit 2 blockiert, liefert seine stderr-Nachricht auf die gleiche Weise. Um Kontext in die übergeordnete Sitzung nach der Rückkehr eines Subagenten einzufügen, verwenden Sie stattdessen einen [`PostToolUse`](#posttooluse)-Hook auf dem `Agent`-Tool.2606SubagentStop-Hooks verwenden das gleiche Entscheidungskontrollformat wie [Stop-Hooks](#stop-decision-control), einschließlich `hookSpecificOutput.additionalContext` mit `hookEventName` auf `"SubagentStop"` gesetzt, für Fehler-freies Feedback, das den Subagenten laufen lässt. Das Zurückgeben von `decision: "block"` mit einem `reason` lässt den Subagenten laufen und liefert `reason` an den Subagenten als seine nächste Anweisung. Ein Hook, der durch Beendigung mit 2 blockiert, liefert seine stderr-Nachricht auf die gleiche Weise. Um Kontext in die Eltern-Sitzung einzufügen, nachdem ein Subagent zurückkommt, verwenden Sie stattdessen einen [`PostToolUse`](#posttooluse) Hook auf dem `Agent` Tool.

2601 2607 

2602<h3 id="taskcreated">2608<h3 id="taskcreated">

2603 TaskCreated2609 TaskCreated

2604</h3>2610</h3>

2605 2611 

2606Wird ausgeführt, wenn eine Aufgabe über das `TaskCreate`-Tool erstellt wird. Verwenden Sie dies, um Benennungskonventionen durchzusetzen, Aufgabenbeschreibungen zu erfordern oder zu verhindern, dass bestimmte Aufgaben erstellt werden. In einer [Sitzung ohne die Task-Tools](/docs/de/tools-reference#task-tool-availability) wird dieses Ereignis nicht ausgelöst.2612Wird ausgeführt, wenn eine Aufgabe über das `TaskCreate` Tool erstellt wird. Verwenden Sie dies, um Benennungskonventionen durchzusetzen, Aufgabenbeschreibungen zu erfordern oder zu verhindern, dass bestimmte Aufgaben erstellt werden. In einer [Sitzung ohne die Task-Tools](/docs/de/tools-reference#task-tool-availability) wird dieses Ereignis nicht ausgeführt.

2607 2613 

2608TaskCreated-Hooks unterstützen keine Matcher und werden bei jedem Auftreten ausgelöst.2614TaskCreated-Hooks unterstützen keine Matcher und werden bei jedem Vorkommen ausgeführt.

2609 2615 

2610<h4 id="taskcreated-input">2616<h4 id="taskcreated-input">

2611 TaskCreated-Eingabe2617 TaskCreated-Eingabe

2612</h4>2618</h4>

2613 2619 

2614Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten TaskCreated-Hooks `task_id`, `task_subject` und optional `task_description`, `teammate_name` und `team_name`.2620Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten TaskCreated-Hooks `task_id`, `task_subject` und optional `task_description`, `teammate_name` und `team_name`.

2615 2621 

2616```json theme={null}2622```json theme={null}

2617{2623{


2628```2634```

2629 2635 

2630| Feld | Beschreibung |2636| Feld | Beschreibung |

2631| :----------------- | :------------------------------------------------------------------------------ |2637| :----------------- | :------------------------------------------------------------------------------------ |

2632| `task_id` | Kennung der zu erstellenden Aufgabe |2638| `task_id` | Identifikator der zu erstellenden Aufgabe |

2633| `task_subject` | Titel der Aufgabe |2639| `task_subject` | Titel der Aufgabe |

2634| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |2640| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |

2635| `teammate_name` | Name des Teammates, das die Aufgabe erstellt. Kann fehlen |2641| `teammate_name` | Name des Teamkollegen, der die Aufgabe erstellt. Kann fehlen |

2636| `team_name` | Veraltet. Session-derived team name; wird in einer zukünftigen Version entfernt |2642| `team_name` | Veraltet. Sitzungs-abgeleiteter Team-Name; wird in einer zukünftigen Version entfernt |

2637 2643 

2638<h4 id="taskcreated-decision-control">2644<h4 id="taskcreated-decision-control">

2639 TaskCreated-Entscheidungskontrolle2645 TaskCreated-Entscheidungskontrolle

2640</h4>2646</h4>

2641 2647 

2642Ein TaskCreated-Hook kann die Erstellung auf zwei Wegen blockieren. Auf beide Wegen löscht Claude Code die Aufgabe und gibt Ihre Nachricht an Claude als Fehler des Tools zurück. Claude Code ignoriert `continue: false` aus diesem Ereignis und Claude arbeitet weiter.2648Ein TaskCreated-Hook kann die Erstellung auf zwei Wegen blockieren. In beiden Fällen löscht Claude Code die Aufgabe und gibt Ihre Nachricht an Claude als Fehler des Tools zurück. Claude Code ignoriert `continue: false` aus diesem Ereignis und Claude arbeitet weiter.

2643 2649 

2644* **Exit-Code 2**: Claude Code gibt den stderr-Text als Nachricht zurück.2650* **Exit-Code 2**: Claude Code gibt den stderr-Text als die Nachricht zurück.

2645* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code gibt `reason` als Nachricht zurück.2651* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code gibt `reason` als die Nachricht zurück.

2646 2652 

2647Dieses Beispiel blockiert Aufgaben, deren Betreff nicht dem erforderlichen Format entspricht:2653Dieses Beispiel blockiert Aufgaben, deren Betreff nicht dem erforderlichen Format folgt:

2648 2654 

2649```bash theme={null}2655```bash theme={null}

2650#!/bin/bash2656#!/bin/bash


2663 TaskCompleted2669 TaskCompleted

2664</h3>2670</h3>

2665 2671 

2666Wird ausgeführt, wenn eine Aufgabe als abgeschlossen markiert wird. Dies wird in zwei Situationen ausgelöst: wenn ein Agent eine Aufgabe explizit über das TaskUpdate-Tool als abgeschlossen markiert oder wenn ein [Agent-Team](/docs/de/agent-teams)-Teammate seine Runde mit laufenden Aufgaben beendet. Verwenden Sie dies, um Abschluss-Kriterien wie bestandene Tests oder Lint-Checks durchzusetzen, bevor eine Aufgabe geschlossen werden kann.2672Wird ausgeführt, wenn eine Aufgabe als abgeschlossen markiert wird. Dies wird in zwei Situationen ausgeführt: wenn ein Agent eine Aufgabe explizit durch das TaskUpdate-Tool als abgeschlossen markiert oder wenn ein [Agent-Team](/docs/de/agent-teams) Teamkollege seinen Zug mit laufenden Aufgaben beendet. Verwenden Sie dies, um Abschluss-Kriterien wie bestandene Tests oder Lint-Überprüfungen durchzusetzen, bevor eine Aufgabe geschlossen werden kann.

2667 2673 

2668TaskCompleted-Hooks unterstützen keine Matcher und werden bei jedem Auftreten ausgelöst.2674TaskCompleted-Hooks unterstützen keine Matcher und werden bei jedem Vorkommen ausgeführt.

2669 2675 

2670<h4 id="taskcompleted-input">2676<h4 id="taskcompleted-input">

2671 TaskCompleted-Eingabe2677 TaskCompleted-Eingabe

2672</h4>2678</h4>

2673 2679 

2674Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten TaskCompleted-Hooks `task_id`, `task_subject` und optional `task_description`, `teammate_name` und `team_name`.2680Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten TaskCompleted-Hooks `task_id`, `task_subject` und optional `task_description`, `teammate_name` und `team_name`.

2675 2681 

2676```json theme={null}2682```json theme={null}

2677{2683{


2689```2695```

2690 2696 

2691| Feld | Beschreibung |2697| Feld | Beschreibung |

2692| :----------------- | :------------------------------------------------------------------------------ |2698| :----------------- | :------------------------------------------------------------------------------------ |

2693| `task_id` | Kennung der abgeschlossenen Aufgabe |2699| `task_id` | Identifikator der zu abschließenden Aufgabe |

2694| `task_subject` | Titel der Aufgabe |2700| `task_subject` | Titel der Aufgabe |

2695| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |2701| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |

2696| `teammate_name` | Name des Teammates, das die Aufgabe abschließt. Kann fehlen |2702| `teammate_name` | Name des Teamkollegen, der die Aufgabe abschließt. Kann fehlen |

2697| `team_name` | Veraltet. Session-derived team name; wird in einer zukünftigen Version entfernt |2703| `team_name` | Veraltet. Sitzungs-abgeleiteter Team-Name; wird in einer zukünftigen Version entfernt |

2698 2704 

2699<h4 id="taskcompleted-decision-control">2705<h4 id="taskcompleted-decision-control">

2700 TaskCompleted-Entscheidungskontrolle2706 TaskCompleted-Entscheidungskontrolle

2701</h4>2707</h4>

2702 2708 

2703TaskCompleted-Hooks unterstützen zwei Wege zur Steuerung des Aufgabenabschlusses:2709TaskCompleted-Hooks unterstützen zwei Wege zur Steuerung des Aufgaben-Abschlusses:

2704 2710 

2705* **Exit-Code 2**: Die Aufgabe wird nicht als abgeschlossen markiert und die stderr-Nachricht wird dem Modell als Feedback zurückgegeben.2711* **Exit-Code 2**: Die Aufgabe wird nicht als abgeschlossen markiert und die stderr-Nachricht wird an das Modell als Feedback zurückgesendet.

2706* **JSON `{"continue": false, "stopReason": "..."}`**: Wenn ein Teammate, das seine Runde beendet, das Ereignis ausgelöst hat, stoppt den Teammate vollständig, was dem `Stop`-Hook-Verhalten entspricht. Der `stopReason` wird dem Benutzer angezeigt. Wenn das `TaskUpdate`-Tool das Ereignis ausgelöst hat, ignoriert Claude Code `continue: false`; Exit-Code 2 blockiert immer noch den Abschluss.2712* **JSON `{"continue": false, "stopReason": "..."}`**: Wenn ein Teamkollege, der seinen Zug beendet, das Ereignis ausgelöst hat, stoppt den Teamkollegen vollständig, was dem `Stop` Hook-Verhalten entspricht. Der `stopReason` wird dem Benutzer angezeigt. Wenn das `TaskUpdate` Tool das Ereignis ausgelöst hat, ignoriert Claude Code `continue: false`; Exit-Code 2 blockiert immer noch den Abschluss.

2707 2713 

2708Dieses Beispiel führt Tests aus und blockiert den Aufgabenabschluss, wenn sie fehlschlagen:2714Dieses Beispiel führt Tests aus und blockiert den Aufgaben-Abschluss, wenn sie fehlschlagen:

2709 2715 

2710```bash theme={null}2716```bash theme={null}

2711#!/bin/bash2717#!/bin/bash

2712INPUT=$(cat)2718INPUT=$(cat)

2713TASK_SUBJECT=$(echo "$INPUT" | jq -r '.task_subject')2719TASK_SUBJECT=$(echo "$INPUT" | jq -r '.task_subject')

2714 2720 

2715# Führen Sie die Test-Suite aus2721# Run the test suite

2716if ! npm test 2>&1; then2722if ! npm test 2>&1; then

2717 echo "Tests not passing. Fix failing tests before completing: $TASK_SUBJECT" >&22723 echo "Tests not passing. Fix failing tests before completing: $TASK_SUBJECT" >&2

2718 exit 22724 exit 2


2725 Stop2731 Stop

2726</h3>2732</h3>

2727 2733 

2728Wird ausgeführt, wenn der Haupt-Claude Code-Agent fertig mit der Antwort ist. Wird nicht ausgeführt, wenn der Stopp durch eine Benutzerunterbrechung verursacht wurde. API-Fehler lösen stattdessen [StopFailure](#stopfailure) aus.2734Wird ausgeführt, wenn der Haupt-Claude Code Agent mit dem Antworten fertig ist. Wird nicht ausgeführt, wenn der Stopp aufgrund einer Benutzerunterbrechung auftrat. API-Fehler führen stattdessen [StopFailure](#stopfailure) aus.

2729 2735 

2730<Tip>2736<Tip>

2731 Der Befehl [`/goal`](/docs/de/goal) ist eine eingebaute Verknüpfung für einen sitzungsspezifischen Prompt-basierten Stop-Hook. Verwenden Sie ihn, wenn Sie möchten, dass Claude weiterarbeitet, bis eine Bedingung erfüllt ist, ohne Hook-Konfiguration zu schreiben.2737 Der [`/goal`](/docs/de/goal) Befehl ist eine integrierte Abkürzung für einen Sitzungs-scoped Eingabeaufforderungs-basierten Stop-Hook. Verwenden Sie ihn, wenn Sie möchten, dass Claude auf eine Bedingung hinarbeitet, ohne Hook-Konfiguration zu schreiben.

2732</Tip>2738</Tip>

2733 2739 

2734<h4 id="stop-input">2740<h4 id="stop-input">

2735 Stop-Eingabe2741 Stop-Eingabe

2736</h4>2742</h4>

2737 2743 

2738Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten Stop-Hooks `stop_hook_active`, `last_assistant_message`, `background_tasks` und `session_crons`. Das Feld `stop_hook_active` ist `true`, wenn Claude Code bereits als Ergebnis eines Stop-Hooks fortgesetzt wird. Überprüfen Sie diesen Wert oder verarbeiten Sie das Transkript, um zu verhindern, dass Claude Code unbegrenzt läuft. Claude Code überschreibt den Hook und beendet die Runde nach 8 aufeinanderfolgenden Blockierungen.2744Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten Stop-Hooks `stop_hook_active`, `last_assistant_message`, `background_tasks` und `session_crons`. Das `stop_hook_active` Feld ist `true`, wenn Claude Code bereits als Ergebnis eines Stop-Hooks fortgesetzt wird. Überprüfen Sie diesen Wert oder verarbeiten Sie das Transkript, um zu vermeiden, auf einer Bedingung zu blockieren, die sich nie auflösen wird. Claude Code überschreibt den Hook und beendet den Zug nach 8 aufeinanderfolgenden Blockierungen.

2739 2745 

2740Das Feld `last_assistant_message` enthält den Textinhalt von Claudes letzter Antwort, daher können Hooks darauf zugreifen, ohne die Transkript-Datei zu analysieren. Für Hooks, die auf die gerade abgeschlossene Runde reagieren, wie Read-Aloud- oder Benachrichtigungs-Hooks, verwenden Sie dieses Feld statt `transcript_path` zu lesen: Die Transkript-Datei ist nicht garantiert, die letzte Nachricht zur Stop-Zeit auf allen Versionen einzubeziehen.2746Das `last_assistant_message` Feld enthält den Textinhalt von Claudes letzter Antwort, daher können Hooks darauf zugreifen, ohne die Transkript-Datei zu analysieren. Für Hooks, die auf dem gerade abgeschlossenen Zug handeln, wie Vorlesen oder Benachrichtigungs-Hooks, verwenden Sie dieses Feld statt `transcript_path` zu lesen: Die Transkript-Datei ist nicht garantiert, die letzte Nachricht bei Stop-Zeit auf allen Versionen einzuschließen.

2741 2747 

2742Die Arrays `background_tasks` und `session_crons` ermöglichen es Hooks, zwischen „Sitzung ist fertig" und „Sitzung ist pausiert und wartet auf Hintergrundarbeit, um sie wieder zu aktivieren" zu unterscheiden. Beide Arrays sind vorhanden, wenn die Task-Registry erreichbar ist, und sind leer, wenn nichts läuft oder geplant ist.2748Die `background_tasks` und `session_crons` Arrays ermöglichen es Hooks, "Sitzung ist fertig" von "Sitzung ist pausiert und wartet auf Hintergrund-Arbeit, um sie aufzuwecken" zu unterscheiden. Beide Arrays sind vorhanden, wenn die Task-Registry erreichbar ist und sind leer, wenn nichts in Flug oder geplant ist.

2743 2749 

2744Jeder Eintrag in `background_tasks` beschreibt eine laufende Aufgabe und verwendet diese Felder:2750Jeder Eintrag in `background_tasks` beschreibt eine laufende Aufgabe und verwendet diese Felder:

2745 2751 

2746| Feld | Beschreibung |2752| Feld | Beschreibung |

2747| :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2753| :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2748| `id` | Task-Kennung |2754| `id` | Aufgaben-Identifikator |

2749| `type` | Freundliche Task-Typ-Bezeichnung wie `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session` oder `MCP task`. Jede Bezeichnung identifiziert, welche Claude Code-Funktion die Aufgabe erstellt hat. Fällt auf den rohen Diskriminanten für unbekannte Typen zurück |2755| `type` | Freundliche Aufgaben-Typ-Beschriftung wie `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session` oder `MCP task`. Jede Beschriftung identifiziert, welche Claude Code Funktion die Aufgabe erstellt hat. Fällt auf den rohen Diskriminanten für unbekannte Typen zurück |

2750| `status` | Aktueller Task-Status |2756| `status` | Aktueller Aufgaben-Status |

2751| `description` | Freier Text, begrenzt auf 1000 Zeichen mit einem In-String-Marker `… [+N chars]`, wenn gekürzt |2757| `description` | Freitext-Beschreibung, begrenzt auf 1000 Zeichen mit einem In-String `… [+N chars]` Marker, wenn gekürzt |

2752| `command` | Shell-Befehlszeile, begrenzt auf 1000 Zeichen. Nur für `shell`-Aufgaben vorhanden |2758| `command` | Shell-Befehlszeile, begrenzt auf 1000 Zeichen. Nur für `shell` Aufgaben vorhanden |

2753| `agent_type` | Subagent-Typname. Nur für `subagent`-Aufgaben vorhanden |2759| `agent_type` | Subagenten-Typ-Name. Nur für `subagent` Aufgaben vorhanden |

2754| `server` | MCP-Server-Name. Nur für `monitor`- und `MCP task`-Aufgaben vorhanden |2760| `server` | MCP-Server-Name. Nur für `monitor` und `MCP task` Aufgaben vorhanden |

2755| `tool` | MCP-Tool-Name. Nur für `monitor`- und `MCP task`-Aufgaben vorhanden |2761| `tool` | MCP-Tool-Name. Nur für `monitor` und `MCP task` Aufgaben vorhanden |

2756| `name` | Workflow-Name. Nur für `workflow`-Aufgaben vorhanden |2762| `name` | Workflow-Name. Nur für `workflow` Aufgaben vorhanden |

2757 2763 

2758Jeder Eintrag in `session_crons` beschreibt einen sitzungsspezifischen geplanten Wakeup, stammt von `CronCreate`, `ScheduleWakeup` und `/loop`:2764Jeder Eintrag in `session_crons` beschreibt einen Sitzungs-scoped geplanten Aufweck, stammt von `CronCreate`, `ScheduleWakeup` und `/loop`:

2759 2765 

2760| Feld | Beschreibung |2766| Feld | Beschreibung |

2761| :---------- | :------------------------------------------------------------------------------------------------------------------------------------ |2767| :---------- | :--------------------------------------------------------------------------------------------------------------------------------------- |

2762| `id` | Cron-Task-Kennung |2768| `id` | Cron-Aufgaben-Identifikator |

2763| `schedule` | Cron-Ausdruck, zum Beispiel `0 9 * * 1-5` |2769| `schedule` | Cron-Ausdruck, z. B. `0 9 * * 1-5` |

2764| `recurring` | `false` für einmalige Wakeups, deren Schedule eine einzelne Feuerzeit kodiert, `true` für Aufgaben, die bei jedem Match erneut feuern |2770| `recurring` | `false` für einmalige Aufwecke, deren Zeitplan eine einzelne Feuerzeit kodiert, `true` für Aufgaben, die bei jedem Treffer erneut feuern |

2765| `prompt` | Prompt, der eingereicht wird, wenn der Cron feuert, begrenzt auf 1000 Zeichen mit dem gleichen `… [+N chars]`-Marker |2771| `prompt` | Eingabeaufforderung, die eingereicht wird, wenn der Cron feuert, begrenzt auf 1000 Zeichen mit dem gleichen `… [+N chars]` Marker |

2766 2772 

2767Dieses Beispiel zeigt eine Stop-Eingabe mit einer laufenden Shell-Aufgabe und einem wiederkehrenden Cron:2773Dieses Beispiel zeigt eine Stop-Eingabe mit einer laufenden Shell-Aufgabe und einem wiederkehrenden Cron:

2768 2774 


2799 Stop-Entscheidungskontrolle2805 Stop-Entscheidungskontrolle

2800</h4>2806</h4>

2801 2807 

2802`Stop`- und `SubagentStop`-Hooks können steuern, ob Claude fortgesetzt wird. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:2808`Stop` und `SubagentStop` Hooks können steuern, ob Claude fortgesetzt wird. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:

2803 2809 

2804| Feld | Beschreibung |2810| Feld | Beschreibung |

2805| :------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2811| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2806| `decision` | `"block"` verhindert, dass Claude stoppt. Weglassen, um Claude zu stoppen |2812| `decision` | `"block"` verhindert, dass Claude stoppt. Weglassen, um Claude zu stoppen |

2807| `reason` | Erforderlich, wenn `decision` `"block"` ist. Teilt Claude mit, warum es fortgesetzt werden sollte |2813| `reason` | Erforderlich, wenn `decision` `"block"` ist. Sagt Claude, warum es fortgesetzt werden sollte |

2808| `hookSpecificOutput.additionalContext` | Nicht-Fehler-Feedback für Claude. Das Gespräch wird fortgesetzt, damit Claude darauf reagieren kann, aber im Gegensatz zu `decision: "block"` wird es im Transkript als Hook-Feedback statt als Hook-Fehler angezeigt |2814| `hookSpecificOutput.additionalContext` | Fehler-freies Feedback für Claude. Das Gespräch wird fortgesetzt, damit Claude darauf handeln kann, aber im Gegensatz zu `decision: "block"` wird es im Transkript als Hook-Feedback statt als Hook-Fehler angezeigt |

2809 2815 

2810Ein Hook, der durch Beenden mit 2 blockiert, wird auf die gleiche Weise wie `reason` weitergeleitet: Claude erhält die stderr-Nachricht als Erklärung, warum es fortgesetzt werden sollte.2816Ein Hook, der durch Beendigung mit 2 blockiert, wird auf die gleiche Weise wie `reason` weitergeleitet: Claude empfängt die stderr-Nachricht als Erklärung, warum es fortgesetzt werden sollte.

2811 2817 

2812```json theme={null}2818```json theme={null}

2813{2819{


2816}2822}

2817```2823```

2818 2824 

2819Verwenden Sie `additionalContext`, wenn der Hook wie beabsichtigt funktioniert und Claude Anleitung gibt, wie „Führen Sie die Test-Suite aus, bevor Sie fertig sind". Es hält das Gespräch durch die gleichen Schleifenschutzmechanismen wie `decision: "block"` am Laufen, nämlich die `stop_hook_active`-Eingabe und die 8-aufeinanderfolgende-Fortsetzungs-Obergrenze, aber das Transkript kennzeichnet es als `Stop hook feedback` und es wird keine Hook-Fehler-Benachrichtigung angezeigt:2825Verwenden Sie `additionalContext`, wenn der Hook wie beabsichtigt funktioniert und Claude Anleitung gibt, wie "führe die Test-Suite vor dem Beenden aus". Es hält das Gespräch durch die gleichen Loop-Schutzmaßnahmen wie `decision: "block"` am Laufen, nämlich die `stop_hook_active` Eingabe und die 8-aufeinanderfolgende-Fortsetzungs-Kappe, aber das Transkript kennzeichnet es als `Stop hook feedback` und es wird keine Hook-Fehler-Benachrichtigung angezeigt:

2820 2826 

2821```json theme={null}2827```json theme={null}

2822{2828{


2831 StopFailure2837 StopFailure

2832</h3>2838</h3>

2833 2839 

2834Wird stattdessen von [Stop](#stop) ausgeführt, wenn die Runde aufgrund eines API-Fehlers endet. Claude Code ignoriert die Ausgabe und den Exit-Code des Hooks, außer [`terminalSequence`](#emit-terminal-notifications). Verwenden Sie dies, um Fehler zu protokollieren, Warnungen zu senden oder Wiederherstellungsmaßnahmen zu ergreifen, wenn Claude aufgrund von Ratenlimits, Authentifizierungsproblemen oder anderen API-Fehlern keine Antwort abschließen kann.2840Wird statt [Stop](#stop) ausgeführt, wenn der Zug aufgrund eines API-Fehlers endet. Claude Code ignoriert die Ausgabe und den Exit-Code des Hooks, abgesehen von [`terminalSequence`](#emit-terminal-notifications). Verwenden Sie dies, um Fehler zu protokollieren, Warnungen zu senden oder Wiederherstellungsmaßnahmen zu ergreifen, wenn Claude aufgrund von Ratenlimits, Authentifizierungsproblemen oder anderen API-Fehlern keine Antwort abschließen kann.

2835 2841 

2836<h4 id="stopfailure-input">2842<h4 id="stopfailure-input">

2837 StopFailure-Eingabe2843 StopFailure-Eingabe

2838</h4>2844</h4>

2839 2845 

2840Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten StopFailure-Hooks `error`, optionales `error_details` und optionales `last_assistant_message`. Das Feld `error` identifiziert den Fehlertyp und wird zum Filtern von Matchern verwendet.2846Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten StopFailure-Hooks `error`, optional `error_details` und optional `last_assistant_message`. Das `error` Feld identifiziert den Fehlertyp und wird zum Filtern des Matchers verwendet.

2841 2847 

2842| Feld | Beschreibung |2848| Feld | Beschreibung |

2843| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2849| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

2844| `error` | Fehlertyp: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error` oder `unknown` |2850| `error` | Fehlertyp: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error` oder `unknown` |

2845| `error_details` | Zusätzliche Details zum Fehler, falls verfügbar |2851| `error_details` | Zusätzliche Details zum Fehler, wenn verfügbar |

2846| `last_assistant_message` | Der gerenderte Fehlertext, der in der Konversation angezeigt wird. Im Gegensatz zu `Stop` und `SubagentStop`, wo dieses Feld Claudes Gesprächsausgabe enthält, enthält es für `StopFailure` die API-Fehlerzeichenkette selbst, wie `"API Error: Rate limit reached"` |2852| `last_assistant_message` | Der gerenderte Fehlertext, der im Gespräch angezeigt wird. Im Gegensatz zu `Stop` und `SubagentStop`, wo dieses Feld Claudes Gesprächsausgabe enthält, enthält es für `StopFailure` die API-Fehler-Zeichenkette selbst, wie `"API Error: Rate limit reached"` |

2847 2853 

2848```json theme={null}2854```json theme={null}

2849{2855{


2863 TeammateIdle2869 TeammateIdle

2864</h3>2870</h3>

2865 2871 

2866Wird ausgeführt, wenn ein [Agent-Team](/docs/de/agent-teams)-Teammate nach Abschluss seiner Runde untätig werden soll. Verwenden Sie dies, um Qualitätsgates vor dem Stoppen eines Teammates durchzusetzen, wie das Erfordern von bestandenen Lint-Checks oder das Überprüfen, dass Ausgabedateien vorhanden sind.2872Wird ausgeführt, wenn ein [Agent-Team](/docs/de/agent-teams) Teamkollege nach Abschluss seines Zugs untätig wird. Verwenden Sie dies, um Qualitäts-Gates durchzusetzen, bevor ein Teamkollege die Arbeit einstellt, wie das Erfordern bestandener Lint-Überprüfungen oder das Überprüfen, dass Ausgabe-Dateien existieren.

2867 2873 

2868TeammateIdle-Hooks unterstützen keine Matcher und werden bei jedem Auftreten ausgelöst.2874TeammateIdle-Hooks unterstützen keine Matcher und werden bei jedem Vorkommen ausgeführt.

2869 2875 

2870<h4 id="teammateidle-input">2876<h4 id="teammateidle-input">

2871 TeammateIdle-Eingabe2877 TeammateIdle-Eingabe

2872</h4>2878</h4>

2873 2879 

2874Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten TeammateIdle-Hooks `teammate_name` und `team_name`.2880Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten TeammateIdle-Hooks `teammate_name` und `team_name`.

2875 2881 

2876```json theme={null}2882```json theme={null}

2877{2883{


2886```2892```

2887 2893 

2888| Feld | Beschreibung |2894| Feld | Beschreibung |

2889| :-------------- | :------------------------------------------------------------------------------ |2895| :-------------- | :------------------------------------------------------------------------------------ |

2890| `teammate_name` | Name des Teammates, das untätig werden soll |2896| `teammate_name` | Name des Teamkollegen, der untätig wird |

2891| `team_name` | Veraltet. Session-derived team name; wird in einer zukünftigen Version entfernt |2897| `team_name` | Veraltet. Sitzungs-abgeleiteter Team-Name; wird in einer zukünftigen Version entfernt |

2892 2898 

2893<h4 id="teammateidle-decision-control">2899<h4 id="teammateidle-decision-control">

2894 TeammateIdle-Entscheidungskontrolle2900 TeammateIdle-Entscheidungskontrolle

2895</h4>2901</h4>

2896 2902 

2897TeammateIdle-Hooks unterstützen zwei Wege zur Steuerung des Teammate-Verhaltens:2903TeammateIdle-Hooks unterstützen zwei Wege zur Steuerung des Teamkollegen-Verhaltens:

2898 2904 

2899* **Exit-Code 2**: Der Teammate erhält die stderr-Nachricht als Feedback und arbeitet weiter, anstatt untätig zu werden.2905* **Exit-Code 2**: Der Teamkollege empfängt die stderr-Nachricht als Feedback und arbeitet weiter, anstatt untätig zu werden.

2900* **JSON `{"continue": false, "stopReason": "..."}`**: Stoppt den Teammate vollständig, was dem `Stop`-Hook-Verhalten entspricht. Der `stopReason` wird dem Benutzer angezeigt.2906* **JSON `{"continue": false, "stopReason": "..."}`**: Stoppt den Teamkollegen vollständig, was dem `Stop` Hook-Verhalten entspricht. Der `stopReason` wird dem Benutzer angezeigt.

2901 2907 

2902Dieses Beispiel prüft, dass ein Build-Artefakt vorhanden ist, bevor ein Teammate untätig werden darf:2908Dieses Beispiel überprüft, dass ein Build-Artefakt existiert, bevor ein Teamkollege untätig wird:

2903 2909 

2904```bash theme={null}2910```bash theme={null}

2905#!/bin/bash2911#!/bin/bash


2916 ConfigChange2922 ConfigChange

2917</h3>2923</h3>

2918 2924 

2919Wird ausgeführt, wenn sich eine Konfigurationsdatei während einer Sitzung ändert. Verwenden Sie dies, um Einstellungsänderungen zu überprüfen, Sicherheitsrichtlinien durchzusetzen oder nicht autorisierte Änderungen an Konfigurationsdateien zu blockieren.2925Wird ausgeführt, wenn sich eine Konfigurationsdatei während einer Sitzung ändert. Verwenden Sie dies, um Einstellungs-Änderungen zu überprüfen, Sicherheitsrichtlinien durchzusetzen oder nicht autorisierte Änderungen an Konfigurationsdateien zu blockieren.

2920 2926 

2921Claude Code führt ConfigChange-Hooks aus, wenn sich eine Einstellungsdatei, eine verwaltete Richtlinieneinstellung oder eine Skill-Datei ändert. Für verwaltete Richtlinien wird es nur ausgelöst, wenn `managed-settings.json` oder eine Datei in `managed-settings.d/` sich ändert. Es wendet [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) und Änderungen an macOS-verwalteten Einstellungen oder Windows-Registrierungs-Richtlinien an, ohne sie auszuführen. Auf WSL mit [`wslInheritsWindowsSettings`](/docs/de/settings-reference#wslinheritswindowssettings) wendet es auch eine geänderte Windows-seitige verwaltete Einstellungsdatei bei seiner Richtlinien-Abfrage an, ohne sie auszuführen.2927Claude Code führt ConfigChange-Hooks aus, wenn sich eine Einstellungsdatei, eine verwaltete Richtlinien-Datei oder eine Skill-Datei ändert. Für verwaltete Richtlinien wird es nur ausgeführt, wenn `managed-settings.json` oder eine Datei in `managed-settings.d/` sich ändert. Es wendet [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) und Änderungen an macOS verwalteten Einstellungen oder Windows Registry-Richtlinien ohne Ausführung an. Auf WSL mit [`wslInheritsWindowsSettings`](/docs/de/settings-reference#wslinheritswindowssettings) wendet es auch eine geänderte Windows-seitige verwaltete Einstellungsdatei bei seiner Richtlinien-Abfrage ohne Ausführung an.

2922 2928 

2923Der Matcher filtert auf die Konfigurationsquelle:2929Der Matcher filtert auf die Konfigurationsquelle:

2924 2930 

2925| Matcher | Wann es ausgelöst wird |2931| Matcher | Wann wird es ausgelöst |

2926| :----------------- | :--------------------------------------------------------------------------- |2932| :----------------- | :--------------------------------------------------------------------------- |

2927| `user_settings` | `~/.claude/settings.json` ändert sich |2933| `user_settings` | `~/.claude/settings.json` ändert sich |

2928| `project_settings` | `.claude/settings.json` ändert sich |2934| `project_settings` | `.claude/settings.json` ändert sich |


2930| `policy_settings` | `managed-settings.json` oder eine Datei in `managed-settings.d/` ändert sich |2936| `policy_settings` | `managed-settings.json` oder eine Datei in `managed-settings.d/` ändert sich |

2931| `skills` | Eine Skill-Datei in `.claude/skills/` ändert sich |2937| `skills` | Eine Skill-Datei in `.claude/skills/` ändert sich |

2932 2938 

2933Dieses Beispiel protokolliert alle Konfigurationsänderungen für Sicherheitsaudits:2939Dieses Beispiel protokolliert alle Konfigurationsänderungen für Sicherheits-Audits:

2934 2940 

2935```json theme={null}2941```json theme={null}

2936{2942{


2954 ConfigChange-Eingabe2960 ConfigChange-Eingabe

2955</h4>2961</h4>

2956 2962 

2957Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten ConfigChange-Hooks `source` und optional `file_path`. Das Feld `source` gibt an, welche Konfigurationsart sich geändert hat, und `file_path` gibt den Pfad zur spezifischen Datei an, die geändert wurde.2963Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten ConfigChange-Hooks `source` und optional `file_path`. Das `source` Feld gibt an, welcher Konfigurationstyp sich geändert hat, und `file_path` stellt den Pfad zur spezifischen Datei bereit, die geändert wurde.

2958 2964 

2959```json theme={null}2965```json theme={null}

2960{2966{


2971 ConfigChange-Entscheidungskontrolle2977 ConfigChange-Entscheidungskontrolle

2972</h4>2978</h4>

2973 2979 

2974ConfigChange-Hooks können Konfigurationsänderungen von der Anwendung blockieren. Verwenden Sie Exit-Code 2 oder ein JSON `decision`, um die Änderung zu verhindern. Wenn blockiert, werden die neuen Einstellungen nicht auf die laufende Sitzung angewendet.2980ConfigChange-Hooks können Konfigurationsänderungen blockieren, damit sie nicht wirksam werden. Verwenden Sie Exit-Code 2 oder ein JSON `decision`, um die Änderung zu verhindern. Wenn blockiert, werden die neuen Einstellungen nicht auf die laufende Sitzung angewendet.

2975 2981 

2976| Feld | Beschreibung |2982| Feld | Beschreibung |

2977| :--------- | :--------------------------------------------------------------------------------------------------- |2983| :--------- | :------------------------------------------------------------------------------------------------------------ |

2978| `decision` | `"block"` verhindert die Anwendung der Konfigurationsänderung. Weglassen, um die Änderung zuzulassen |2984| `decision` | `"block"` verhindert, dass die Konfigurationsänderung angewendet wird. Weglassen, um die Änderung zu erlauben |

2979| `reason` | Erklärung, die dem Benutzer angezeigt wird, wenn `decision` `"block"` ist |2985| `reason` | Akzeptiert, aber nie angezeigt |

2980 2986 

2981```json theme={null}2987```json theme={null}

2982{2988{


2985}2991}

2986```2992```

2987 2993 

2988`policy_settings`-Änderungen können nicht blockiert werden. Hooks werden immer noch für `policy_settings`-Quellen ausgelöst, wenn sich eine verwaltete Einstellungsdatei auf der Maschine ändert, daher können Sie sie für Audit-Protokollierung verwenden, aber jede Blockierungsentscheidung wird ignoriert. Dies stellt sicher, dass von Unternehmen verwaltete Einstellungen immer wirksam werden. Claude Code führt `ConfigChange`-Hooks nicht aus, wenn [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) ankommen oder aktualisiert werden.2994`policy_settings` Änderungen können nicht blockiert werden. Hooks werden immer noch für `policy_settings` Quellen ausgeführt, wenn sich eine verwaltete Einstellungsdatei auf der Maschine ändert, daher können Sie sie verwenden, um diese Bearbeitungen zu protokollieren, aber jede Blockierungs-Entscheidung wird ignoriert. Dies stellt sicher, dass unternehmens-verwaltete Einstellungen immer wirksam werden. Claude Code führt `ConfigChange` Hooks nicht aus, wenn [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) ankommen oder aktualisiert werden.

2989 2995 

2990Claude Code handelt auf die Blockierungsentscheidung aus der JSON-Ausgabe eines ConfigChange-Hooks und verwirft `systemMessage` und `continue`. Eine blockierte Änderung zeigt keine Nachricht für Sie oder Claude, ob Sie mit `reason` oder mit stderr bei Beendigung mit 2 blockieren. Claude Code schreibt nur eine Zeile in das Debug-Protokoll.2996Claude Code handelt die Blockierungs-Entscheidung aus der JSON-Ausgabe eines ConfigChange-Hooks und verwirft `systemMessage` und `continue`. Eine blockierte Änderung zeigt keine Nachricht für Sie oder Claude, ob Sie mit `reason` oder mit stderr bei Beendigung mit 2 blockieren. Claude Code schreibt nur eine Zeile in das Debug-Protokoll.

2991 2997 

2992<h3 id="cwdchanged">2998<h3 id="cwdchanged">

2993 CwdChanged2999 CwdChanged

2994</h3>3000</h3>

2995 3001 

2996Wird ausgeführt, wenn ein Shell-Befehl in der Hauptkonversation das Arbeitsverzeichnis ändert, zum Beispiel wenn Claude einen `cd`-Befehl ausführt. Verwenden Sie dies, um auf Verzeichniswechsel zu reagieren: Laden Sie Umgebungsvariablen neu, aktivieren Sie projektspezifische Toolchains oder führen Sie Setup-Skripte automatisch aus. Paare mit [FileChanged](#filechanged) für Tools wie [direnv](https://direnv.net/), die verzeichnisspezifische Umgebungen verwalten.3002Wird ausgeführt, wenn ein Shell-Befehl in der Hauptkonversation das Arbeitsverzeichnis ändert, z. B. wenn Claude einen `cd` Befehl ausführt. Verwenden Sie dies, um auf Verzeichniswechsel zu reagieren: Umgebungsvariablen neu laden, projektspezifische Toolchains aktivieren oder Setup-Skripte automatisch ausführen. Paart mit [FileChanged](#filechanged) für Tools wie [direnv](https://direnv.net/), die Pro-Verzeichnis-Umgebung verwalten.

2997 3003 

2998CwdChanged-Hooks haben Zugriff auf [`CLAUDE_ENV_FILE`](#persist-environment-variables). Variablen, die in diese Datei geschrieben werden, bleiben in nachfolgenden Bash-Befehlen bis zum nächsten CwdChanged-Ereignis erhalten, wenn Claude Code sie löscht.3004CwdChanged-Hooks haben Zugriff auf [`CLAUDE_ENV_FILE`](#persist-environment-variables). Variablen, die in diese Datei geschrieben werden, bleiben in nachfolgenden Bash-Befehlen bestehen, bis zum nächsten CwdChanged-Ereignis, wenn Claude Code sie löscht.

2999 3005 

3000CwdChanged unterstützt keine Matcher und wird bei jedem Auftreten ausgelöst.3006CwdChanged unterstützt keine Matcher und wird bei jedem Vorkommen ausgeführt.

3001 3007 

3002<h4 id="cwdchanged-input">3008<h4 id="cwdchanged-input">

3003 CwdChanged-Eingabe3009 CwdChanged-Eingabe

3004</h4>3010</h4>

3005 3011 

3006Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten CwdChanged-Hooks `old_cwd` und `new_cwd`.3012Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten CwdChanged-Hooks `old_cwd` und `new_cwd`.

3007 3013 

3008```json theme={null}3014```json theme={null}

3009{3015{


3023Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können CwdChanged-Hooks `watchPaths` zurückgeben, um dynamisch zu setzen, welche Dateipfade [FileChanged](#filechanged) überwacht:3029Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können CwdChanged-Hooks `watchPaths` zurückgeben, um dynamisch zu setzen, welche Dateipfade [FileChanged](#filechanged) überwacht:

3024 3030 

3025| Feld | Beschreibung |3031| Feld | Beschreibung |

3026| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3032| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

3027| `watchPaths` | Array von absoluten Pfaden. Ersetzt die aktuelle dynamische Überwachungsliste. Pfade aus Ihrer `matcher`-Konfiguration werden immer überwacht. Das Zurückgeben eines leeren Arrays löscht die dynamische Liste, was typisch ist, wenn Sie ein neues Verzeichnis betreten |3033| `watchPaths` | Array von absoluten Pfaden. Ersetzt die aktuelle dynamische Überwachungsliste. Pfade aus Ihrer `matcher` Konfiguration werden immer überwacht. Das Zurückgeben eines leeren Arrays löscht die dynamische Liste, was typisch ist, wenn ein neues Verzeichnis betreten wird |

3028 3034 

3029CwdChanged-Hooks haben keine Entscheidungskontrolle. Sie können den Verzeichniswechsel nicht blockieren.3035CwdChanged-Hooks haben keine Entscheidungskontrolle. Sie können den Verzeichniswechsel nicht blockieren.

3030 3036 


3034 DirectoryAdded3040 DirectoryAdded

3035</h3>3041</h3>

3036 3042 

3037Wird ausgeführt, nachdem Sie ein Arbeitsverzeichnis während einer Sitzung mit dem `/add-dir`-Befehl hinzufügen oder nachdem ein SDK-Client eines mit der `register_repo_root`-Steueranfrage hinzufügt. Verwenden Sie dies, um ein neu hinzugefügtes Repository vorzubereiten, zum Beispiel durch Installation seiner Abhängigkeiten.3043Wird ausgeführt, nachdem Sie ein Arbeitsverzeichnis während einer Sitzung mit dem `/add-dir` Befehl hinzufügen oder nachdem ein SDK-Client eines mit der `register_repo_root` Kontroll-Anfrage hinzufügt. Verwenden Sie dies, um ein neu hinzugefügtes Repository vorzubereiten, z. B. durch Installation seiner Abhängigkeiten.

3038 3044 

3039Claude Code führt dieses Ereignis nicht aus, wenn:3045Claude Code führt dieses Ereignis nicht aus, wenn:

3040 3046 

3041* Sie ein Verzeichnis mit dem `--add-dir`-Startup-Flag übergeben; [SessionStart](#sessionstart) deckt diese Verzeichnisse ab3047* Sie ein Verzeichnis mit dem `--add-dir` Start-Flag übergeben; [SessionStart](#sessionstart) deckt diese Verzeichnisse ab

3042* Sie ein Verzeichnis auf der `/permissions`-Workspace-Registerkarte hinzufügen3048* Sie ein Verzeichnis auf der `/permissions` Workspace-Registerkarte hinzufügen

3043* Sie ein Verzeichnis hinzufügen, das bereits ein Arbeitsverzeichnis ist oder sich in einem befindet3049* Sie ein Verzeichnis hinzufügen, das bereits ein Arbeitsverzeichnis ist oder in einem liegt

3044 3050 

3045Claude Code führt DirectoryAdded aus, nachdem die Sandbox- und Berechtigungsstatus aktualisiert wurden, daher sehen Sandbox-Tools das neue Verzeichnis bereits, wenn Ihr Hook läuft. Hook-Befehle selbst laufen unsandboxed.3051Claude Code führt DirectoryAdded aus, nachdem Sandbox- und Berechtigungsstatus aktualisiert wurden, daher sehen Sandbox-Tools das neue Verzeichnis bereits, wenn Ihr Hook ausgeführt wird. Hook-Befehle selbst werden unsandboxed ausgeführt.

3046 3052 

3047Claude Code wartet nicht auf den Hook: Das Hinzufügen wird sofort abgeschlossen und der Hook läuft im Hintergrund mit dem 600-Sekunden-Standard-Timeout.3053Claude Code wartet nicht auf den Hook: Das Hinzufügen wird sofort abgeschlossen und der Hook wird im Hintergrund mit dem 600-Sekunden-Standard-Timeout ausgeführt.

3048 3054 

3049Der Matcher filtert auf wie das Verzeichnis hinzugefügt wurde:3055Der Matcher filtert, wie das Verzeichnis hinzugefügt wurde:

3050 3056 

3051| Matcher | Wann es ausgelöst wird |3057| Matcher | Wann wird es ausgelöst |

3052| :------------------- | :----------------------------------------------------------------------------------- |3058| :------------------- | :-------------------------------------------------------------------------------------- |

3053| `slash_command` | Sie fügen ein Verzeichnis mit `/add-dir` hinzu |3059| `slash_command` | Sie fügen ein Verzeichnis mit `/add-dir` hinzu |

3054| `register_repo_root` | Ein SDK-Client fügt ein Verzeichnis mit der `register_repo_root`-Steueranfrage hinzu |3060| `register_repo_root` | Ein SDK-Client fügt ein Verzeichnis mit der `register_repo_root` Kontroll-Anfrage hinzu |

3055 3061 

3056<h4 id="directoryadded-input">3062<h4 id="directoryadded-input">

3057 DirectoryAdded-Eingabe3063 DirectoryAdded-Eingabe

3058</h4>3064</h4>

3059 3065 

3060Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten DirectoryAdded-Hooks `directory` und `source`.3066Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten DirectoryAdded-Hooks `directory` und `source`.

3061 3067 

3062| Feld | Beschreibung |3068| Feld | Beschreibung |

3063| :---------- | :---------------------------------------------------------------------------------------------------------------------------- |3069| :---------- | :------------------------------------------------------------------------------------------------------------------------------- |

3064| `directory` | Absoluter Pfad des Verzeichnisses, das hinzugefügt wurde |3070| `directory` | Absoluter Pfad des hinzugefügten Verzeichnisses |

3065| `source` | Wie das Verzeichnis hinzugefügt wurde, `"slash_command"` für `/add-dir` oder `"register_repo_root"` für die SDK-Steueranfrage |3071| `source` | Wie das Verzeichnis hinzugefügt wurde, `"slash_command"` für `/add-dir` oder `"register_repo_root"` für die SDK-Kontroll-Anfrage |

3066 3072 

3067```json theme={null}3073```json theme={null}

3068{3074{


3075}3081}

3076```3082```

3077 3083 

3078DirectoryAdded-Hooks haben keine Entscheidungskontrolle. Sie können das Hinzufügen nicht blockieren, das bereits abgeschlossen ist, wenn der Hook läuft. Claude Code verwirft das `continue`-Feld aus ihrer JSON-Ausgabe und zeigt den Rest je nach Quelle unterschiedlich an:3084DirectoryAdded-Hooks haben keine Entscheidungskontrolle. Sie können das Hinzufügen nicht blockieren, das bereits abgeschlossen ist, wenn der Hook ausgeführt wird. Claude Code verwirft das `continue` Feld aus ihrer JSON-Ausgabe und zeigt den Rest unterschiedlich pro Quelle:

3079 3085 

3080* `slash_command`: Claude Code liefert die `systemMessage` des Hooks an Claude als Kontext bei der nächsten Konversationsrunde, statt sie Ihnen zu zeigen. Eine Anzahl fehlgeschlagener Hooks erscheint im Transkript. Vollständige Fehlerausgabe geht in das Debug-Protokoll3086* `slash_command`: Claude Code liefert den `systemMessage` des Hooks an Claude als Kontext beim nächsten Gesprächszug, anstatt ihn Ihnen zu zeigen. Eine Anzahl fehlgeschlagener Hooks erscheint im Transkript. Vollständige Fehlerausgabe geht zum Debug-Protokoll

3081* `register_repo_root`: Claude Code schreibt `systemMessage`-Ausgabe und Fehlerausgabe nur in das Debug-Protokoll3087* `register_repo_root`: Claude Code schreibt `systemMessage` Ausgabe und Fehlerausgabe nur zum Debug-Protokoll

3082 3088 

3083<h3 id="filechanged">3089<h3 id="filechanged">

3084 FileChanged3090 FileChanged

3085</h3>3091</h3>

3086 3092 

3087Wird ausgeführt, wenn sich eine überwachte Datei auf der Festplatte ändert. Claude Code erkennt Änderungen mit einem Dateisystem-Watcher, nicht durch Inspizieren von Tool-Aufrufen, daher wird der Hook ausgelöst, egal was die Datei geändert hat: ein `Edit`- oder `Write`-Tool-Aufruf, ein Skript, das Claude mit `Bash` ausführt, oder ein Prozess außerhalb von Claude Code. Ein häufiger Anwendungsfall ist das Neuladen von Umgebungsvariablen, wenn sich Projekt-Konfigurationsdateien ändern.3093Wird ausgeführt, wenn sich eine überwachte Datei auf der Festplatte ändert. Claude Code erkennt Änderungen mit einem Dateisystem-Watcher, nicht durch Überprüfung von Tool-Aufrufen, daher wird der Hook unabhängig davon ausgeführt, was die Datei geändert hat: ein `Edit` oder `Write` Tool-Aufruf, ein Skript, das Claude mit `Bash` ausführt, oder ein Prozess außerhalb von Claude Code. Ein häufiger Anwendungsfall ist das Neuladen von Umgebungsvariablen, wenn sich Projekt-Konfigurationsdateien ändern.

3088 3094 

3089Das Feld `matcher` für dieses Ereignis dient zwei Rollen:3095Der `matcher` für dieses Ereignis dient zwei Rollen:

3090 3096 

3091* **Erstellen Sie die Überwachungsliste**: Der Wert wird auf `|` aufgeteilt und jedes Segment wird als Dateiname im Arbeitsverzeichnis registriert, daher überwacht `".envrc|.env"` genau diese zwei Dateien. Regex-Muster sind hier nicht nützlich: Ein Wert wie `^\.env` würde eine Datei überwachen, die buchstäblich `^\.env` heißt.3097* **Erstelle die Überwachungsliste**: Der Wert wird auf `|` aufgeteilt und jedes Segment wird als wörtlicher Dateiname im Arbeitsverzeichnis registriert, daher überwacht `".envrc|.env"` genau diese zwei Dateien. Regex-Muster sind hier nicht nützlich: Ein Wert wie `^\.env` würde eine Datei wörtlich namens `^\.env` überwachen.

3092* **Filtern Sie, welche Hooks ausgeführt werden**: Wenn sich eine überwachte Datei ändert, wird der gleiche Wert verwendet, um zu filtern, welche Hook-Gruppen ausgeführt werden, wobei die Standard-[Matcher-Regeln](#matcher-patterns) gegen den Basename der geänderten Datei verwendet werden.3098* **Filtere, welche Hooks ausgeführt werden**: Wenn sich eine überwachte Datei ändert, wird der gleiche Wert verwendet, um zu filtern, welche Hook-Gruppen mit den Standard-[Matcher-Regeln](#matcher-patterns) gegen den Dateinamen der geänderten Datei ausgeführt werden.

3093 3099 

3094Dieses Beispiel normalisiert Zeilenumbrüche in `data.csv` nach jeder Änderung, einschließlich eines `Bash`-Befehls oder eines externen Skripts, das die Datei umschreibt:3100Dieses Beispiel normalisiert Zeilenumbrüche in `data.csv` nach jeder Änderung, einschließlich eines `Bash` Befehls oder eines externen Skripts, das die Datei umschreibt:

3095 3101 

3096```json theme={null}3102```json theme={null}

3097{3103{


3111}3117}

3112```3118```

3113 3119 

3114Der Hook liest den Pfad der geänderten Datei aus dem Feld `file_path` der [JSON-Eingabe](#filechanged-input) auf stdin. Sein `grep`-Guard testet auf das gleiche, das `perl` entfernt, einen CR am Ende einer Zeile, daher beendet der Lauf nach einer Normalisierung, ohne die Datei zu berühren. Ein lockerer Guard schleift für immer, weil `perl -i` die Datei umschreibt, auch wenn es nichts ersetzt, und Claude Code führt den Hook nach jedem Umschreiben erneut aus. Speichern Sie dieses Skript unter `/path/to/normalize-line-endings.sh` und machen Sie es ausführbar:3120Der Hook liest den geänderten Dateipfad aus dem `file_path` Feld der [JSON-Eingabe](#filechanged-input) von stdin. Seine `grep` Wache testet auf das gleiche, das `perl` entfernt, einen CR am Ende einer Zeile, daher wird der Lauf nach einer Normalisierung beendet, ohne die Datei zu berühren. Eine lockere Wache schleift für immer, weil `perl -i` die Datei umschreibt, auch wenn es nichts ersetzt und Claude Code den Hook nach jedem Umschreiben erneut ausführt. Speichern Sie dieses Skript unter `/path/to/normalize-line-endings.sh` und machen Sie es ausführbar:

3115 3121 

3116```bash theme={null}3122```bash theme={null}

3117#!/bin/bash3123#!/bin/bash


3121fi3127fi

3122```3128```

3123 3129 

3124Um zu bestätigen, dass der Hook funktioniert, bitten Sie Claude, eine CRLF-Zeile zu `data.csv` mit einem `Bash`-Befehl anzuhängen. Claude Code führt den Hook aus und die Datei endet mit LF-Umbrüchen.3130Um zu bestätigen, dass der Hook funktioniert, bitten Sie Claude, eine CRLF-Zeile mit einem `Bash` Befehl zu `data.csv` anzuhängen. Claude Code führt den Hook aus und die Datei endet mit LF-Umbrüchen.

3125 3131 

3126Um Dateien zu überwachen, die Sie nicht im Voraus benennen können, geben Sie [`watchPaths`](#filechanged-output) von einem Hook zurück, um die Überwachungsliste dynamisch zu aktualisieren. Claude Code startet den Watcher nur, wenn etwas eine Datei zum Überwachen benennt, daher seeden Sie die Liste mit einer FileChanged-Gruppe, deren Matcher mindestens eine Datei benennt, oder mit einem [SessionStart](#sessionstart-decision-control)- oder [CwdChanged](#cwdchanged)-Hook, der `watchPaths` zurückgibt. Der Matcher filtert immer noch, welche Hook-Gruppen ausgelöst werden, wenn sich eine überwachte Datei ändert, daher geben Sie der Gruppe, die dynamische Pfade handhabt, einen weggelassenen Matcher, der jede überwachte Datei passt und nichts zur Überwachungsliste hinzufügt. Ein `"*"`-Matcher passt auch auf jede Datei, aber Claude Code registriert ihn in der Überwachungsliste wie jeden anderen Wert, als eine Datei, die buchstäblich `*` heißt.3132Um Dateien zu überwachen, die Sie nicht im Voraus benennen können, geben Sie [`watchPaths`](#filechanged-output) von einem Hook zurück, um die Überwachungsliste dynamisch zu aktualisieren. Claude Code startet den Watcher nur, wenn etwas eine Datei zum Überwachen benennt, daher seeden Sie die Liste mit einer FileChanged-Gruppe, deren Matcher mindestens eine Datei benennt, oder mit einem [SessionStart](#sessionstart-decision-control) oder [CwdChanged](#cwdchanged) Hook, der `watchPaths` zurückgibt. Der Matcher filtert immer noch, welche Hook-Gruppen ausgeführt werden, wenn sich eine überwachte Datei ändert, daher geben Sie der Gruppe, die dynamische Pfade verarbeitet, einen weggelassenen Matcher, der jede überwachte Datei abgleicht und nichts zur Überwachungsliste hinzufügt. Ein `"*"` Matcher gleicht auch jede Datei ab, aber Claude Code registriert ihn in der Überwachungsliste wie jeden anderen Wert, als wörtliche Datei namens `*`.

3127 3133 

3128FileChanged-Hooks haben Zugriff auf [`CLAUDE_ENV_FILE`](#persist-environment-variables). Variablen, die in diese Datei geschrieben werden, bleiben in nachfolgenden Bash-Befehlen bis zum nächsten [CwdChanged](#cwdchanged)-Ereignis erhalten, wenn Claude Code sie löscht.3134FileChanged-Hooks haben Zugriff auf [`CLAUDE_ENV_FILE`](#persist-environment-variables). Variablen, die in diese Datei geschrieben werden, bleiben in nachfolgenden Bash-Befehlen bestehen, bis zum nächsten [CwdChanged](#cwdchanged) Ereignis, wenn Claude Code sie löscht.

3129 3135 

3130<h4 id="filechanged-input">3136<h4 id="filechanged-input">

3131 FileChanged-Eingabe3137 FileChanged-Eingabe

3132</h4>3138</h4>

3133 3139 

3134Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten FileChanged-Hooks `file_path` und `event`.3140Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten FileChanged-Hooks `file_path` und `event`.

3135 3141 

3136| Feld | Beschreibung |3142| Feld | Beschreibung |

3137| :---------- | :------------------------------------------------------------------------------------------------------------------------------- |3143| :---------- | :------------------------------------------------------------------------------------------------------------------------------- |


3157 3163 

3158| Feld | Beschreibung |3164| Feld | Beschreibung |

3159| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3165| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3160| `watchPaths` | Array von absoluten Pfaden. Ersetzt die aktuelle dynamische Überwachungsliste. Pfade aus Ihrer `matcher`-Konfiguration werden immer überwacht. Verwenden Sie dies, wenn Ihr Hook-Skript basierend auf der geänderten Datei zusätzliche Dateien zum Überwachen entdeckt |3166| `watchPaths` | Array von absoluten Pfaden. Ersetzt die aktuelle dynamische Überwachungsliste. Pfade aus Ihrer `matcher` Konfiguration werden immer überwacht. Verwenden Sie dies, wenn Ihr Hook-Skript basierend auf der geänderten Datei zusätzliche Dateien zum Überwachen entdeckt |

3161 3167 

3162FileChanged-Hooks haben keine Entscheidungskontrolle. Sie können die Dateiänderung nicht blockieren.3168FileChanged-Hooks haben keine Entscheidungskontrolle. Sie können die Dateiänderung nicht blockieren.

3163 3169 


3167 WorktreeCreate3173 WorktreeCreate

3168</h3>3174</h3>

3169 3175 

3170Wird ausgeführt, wenn ein Worktree erstellt wird, entweder von `claude --worktree`, von einem [Subagent mit `isolation: "worktree"`](/docs/de/sub-agents#choose-the-subagent-scope) oder für eine [Hintergrund-Sitzung](/docs/de/agent-view#how-file-edits-are-isolated), die Claude Code in ihrem eigenen Worktree isoliert. Standardmäßig erstellt Claude Code die isolierte Arbeitskopie mit `git worktree`. Wenn Sie einen WorktreeCreate-Hook konfigurieren, ersetzt er das Standard-Git-Verhalten und ermöglicht es Ihnen, ein anderes Versionskontrollsystem wie SVN, Perforce oder Mercurial zu verwenden.3176Wird ausgeführt, wenn ein Worktree erstellt wird, ob von `claude --worktree`, von einem [Subagenten mit `isolation: "worktree"`](/docs/de/sub-agents#choose-the-subagent-scope) oder für eine [Hintergrund-Sitzung](/docs/de/agent-view#how-file-edits-are-isolated), die Claude Code in ihrem eigenen Worktree isoliert. Standardmäßig erstellt Claude Code die isolierte Arbeitskopie mit `git worktree`. Das Konfigurieren eines WorktreeCreate-Hooks ersetzt dieses Standard-Git-Verhalten, sodass Sie ein anderes Versionskontrollsystem wie SVN, Perforce oder Mercurial verwenden können.

3171 3177 

3172Da der Hook das Standard-Verhalten vollständig ersetzt, wird [`.worktreeinclude`](/docs/de/worktrees#copy-gitignored-files-into-worktrees) nicht verarbeitet. Wenn Sie lokale Konfigurationsdateien wie `.env` in den neuen Worktree kopieren müssen, tun Sie dies in Ihrem Hook-Skript.3178Da der Hook das Standard-Verhalten vollständig ersetzt, wird [`.worktreeinclude`](/docs/de/worktrees#copy-gitignored-files-into-worktrees) nicht verarbeitet. Wenn Sie lokale Konfigurationsdateien wie `.env` in den neuen Worktree kopieren müssen, tun Sie dies in Ihrem Hook-Skript.

3173 3179 

3174Der Hook muss den Pfad zum erstellten Worktree-Verzeichnis zurückgeben. Claude Code verwendet diesen Pfad als Arbeitsverzeichnis für die isolierte Sitzung. Siehe [WorktreeCreate-Ausgabe](#worktreecreate-output) für wie jeder Hook-Typ den Pfad zurückgibt.3180Der Hook muss den Pfad zum erstellten Worktree-Verzeichnis zurückgeben. Claude Code verwendet diesen Pfad als Arbeitsverzeichnis für die isolierte Sitzung. Siehe [WorktreeCreate-Ausgabe](#worktreecreate-output), wie jeder Hook-Typ den Pfad zurückgibt.

3175 3181 

3176Claude Code handelt auf den Erfolg des Hooks und den zurückgegebenen Pfad und verwirft `systemMessage` und `continue`.3182Claude Code handelt den Erfolg des Hooks und den zurückgegebenen Pfad und verwirft `systemMessage` und `continue`.

3177 3183 

3178Dieses Beispiel erstellt eine SVN-Arbeitskopie und gibt den Pfad aus, damit Claude Code ihn verwenden kann. Ersetzen Sie die Repository-URL durch Ihre eigene:3184Dieses Beispiel erstellt eine SVN-Arbeitskopie und druckt den Pfad für Claude Code zur Verwendung. Ersetzen Sie die Repository-URL durch Ihre eigene:

3179 3185 

3180```json theme={null}3186```json theme={null}

3181{3187{


3194}3200}

3195```3201```

3196 3202 

3197Der Hook liest den Worktree-`name` aus der JSON-Eingabe auf stdin, checkt eine frische Kopie in ein neues Verzeichnis aus und gibt den Verzeichnispath aus. Das `echo` in der letzten Zeile ist das, was Claude Code als Worktree-Pfad liest. Leiten Sie jede andere Ausgabe zu stderr um, damit sie nicht mit dem Pfad interferiert.3203Der Hook liest den Worktree `name` aus der JSON-Eingabe von stdin, checkt eine frische Kopie in ein neues Verzeichnis aus und druckt den Verzeichnispath. Das `echo` auf der letzten Zeile ist das, was Claude Code als Worktree-Pfad liest. Leiten Sie jede andere Ausgabe zu stderr um, damit sie nicht mit dem Pfad interferiert.

3198 3204 

3199<h4 id="worktreecreate-input">3205<h4 id="worktreecreate-input">

3200 WorktreeCreate-Eingabe3206 WorktreeCreate-Eingabe

3201</h4>3207</h4>

3202 3208 

3203Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten WorktreeCreate-Hooks das Feld `name`. Dies ist eine Slug-Kennung für den neuen Worktree, entweder vom Benutzer angegeben oder automatisch generiert, zum Beispiel `bold-oak-a3f2`.3209Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten WorktreeCreate-Hooks das `name` Feld. Dies ist ein Slug-Identifikator für den neuen Worktree, entweder vom Benutzer angegeben oder automatisch generiert, z. B. `bold-oak-a3f2`.

3204 3210 

3205```json theme={null}3211```json theme={null}

3206{3212{


3216 WorktreeCreate-Ausgabe3222 WorktreeCreate-Ausgabe

3217</h4>3223</h4>

3218 3224 

3219WorktreeCreate-Hooks verwenden nicht das Standard-Allow/Block-Entscheidungsmodell. Stattdessen bestimmt der Erfolg oder Misserfolg des Hooks das Ergebnis. Der Hook muss den absoluten Pfad zum erstellten Worktree-Verzeichnis zurückgeben:3225WorktreeCreate-Hooks verwenden nicht das Standard-Erlauben/Blockieren-Entscheidungsmodell. Stattdessen bestimmt der Erfolg oder Fehler des Hooks das Ergebnis. Der Hook muss den Pfad zum erstellten Worktree-Verzeichnis zurückgeben:

3220 3226 

3221* **Command-Hooks** (`type: "command"`): geben den Pfad auf stdout aus. Claude Code entfernt ANSI-Escape-Codes, bevor diese Zeile gelesen wird, daher werden Shell-Startup-Banner, die vor Ihrem `echo` gedruckt werden, ignoriert. Leiten Sie jede andere Hook-Ausgabe zu stderr um.3227* **Command-Hooks** (`type: "command"`): Drucken Sie den Pfad als letzte nicht-leere Zeile von stdout. Claude Code entfernt ANSI-Escape-Codes, bevor diese Zeile gelesen wird, daher werden Shell-Start-Banner, die vor Ihrem `echo` gedruckt werden, ignoriert. Leiten Sie jede andere Hook-Ausgabe zu stderr um.

3222* **HTTP-Hooks** (`type: "http"`): geben `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` im Response-Body zurück.3228* **HTTP-Hooks** (`type: "http"`): Geben Sie `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` im Antwort-Body zurück.

3223 3229 

3224Wenn der Hook fehlschlägt oder keinen Pfad erzeugt, schlägt die Worktree-Erstellung mit einem Fehler fehl.3230Wenn der Hook fehlschlägt oder keinen Pfad erzeugt, schlägt die Worktree-Erstellung mit einem Fehler fehl.

3225 3231 

3226Claude Code löst einen relativen Pfad gegen das Verzeichnis auf, in dem der Hook ausgeführt wurde, und bricht alle `.` oder `..`-Segmente zusammen. Wenn der resultierende Pfad kein Verzeichnis ist, das Claude Code betreten kann, druckt die Sitzung einen Fehler, der den Pfad benennt, und beendet sich mit Code 1.3232Claude Code löst einen relativen Pfad gegen das Verzeichnis auf, in dem der Hook lief, und bricht alle `.` oder `..` Segmente darin zusammen. Wenn der resultierende Pfad kein Verzeichnis ist, das Claude Code betreten kann, druckt die Sitzung einen Fehler, der den Pfad benennt, und beendet sich mit Code 1.

3227 3233 

3228Claude Code verweigert einen absoluten Pfad, der `.` oder `..`-Segmente enthält, und jeden Pfad, der durch einen Symlink unterhalb der Repository-Root geht, da ein Symlink, der zum Repository committed ist, den Worktree außerhalb davon umleiten könnte. Der Fehler benennt die abgelehnte Komponente. Geben Sie einen normalisierten Pfad zurück, der nicht durch einen Symlink innerhalb des Repository geht. Vor v2.1.216 folgte die Worktree-Erstellung dem Hook-Pfad ohne dieses Screening.3234Claude Code lehnt einen absoluten Pfad ab, der `.` oder `..` Segmente enthält, und jeden Pfad, der durch einen Symlink unterhalb der Repository-Root geht, da ein Symlink, der zum Repository committed ist, den Worktree außerhalb davon umleiten könnte. Der Fehler benennt die abgelehnte Komponente. Geben Sie einen normalisierten Pfad zurück, der nicht durch einen Symlink im Repository geht. Vor v2.1.216 folgte die Worktree-Erstellung dem Pfad des Hooks ohne diese Überprüfung.

3229 3235 

3230<h3 id="worktreeremove">3236<h3 id="worktreeremove">

3231 WorktreeRemove3237 WorktreeRemove

3232</h3>3238</h3>

3233 3239 

3234Wird ausgeführt, wenn ein Worktree entfernt wird. Dies ist das Bereinigungspendant zu [WorktreeCreate](#worktreecreate). Das Ereignis wird ausgelöst, wenn:3240Wird ausgeführt, wenn ein Worktree entfernt wird. Dies ist das Bereinigungsgegenüber zu [WorktreeCreate](#worktreecreate). Das Ereignis wird ausgeführt, wenn:

3235 3241 

3236* Sie eine `--worktree`-Sitzung beenden und wählen, sie zu entfernen3242* Sie eine `--worktree` Sitzung beenden und wählen, sie zu entfernen

3237* Ein Subagent mit `isolation: "worktree"` fertig ist3243* Ein Subagent mit `isolation: "worktree"` beendet

3238* Sie eine [Hintergrund-Sitzung](/docs/de/agent-view#what-deleting-a-session-removes) löschen, deren Worktree der Hook erstellt hat3244* Sie eine [Hintergrund-Sitzung](/docs/de/agent-view#what-deleting-a-session-removes) löschen, deren Worktree der Hook erstellt hat

3239 3245 

3240Für Git-basierte Worktrees handhabt Claude Code die Bereinigung automatisch mit `git worktree remove`. Wenn Sie einen WorktreeCreate-Hook für ein nicht-Git-Versionskontrollsystem konfiguriert haben, koppeln Sie ihn mit einem WorktreeRemove-Hook, um die Bereinigung zu handhaben. Ohne einen wird das Worktree-Verzeichnis auf der Festplatte belassen.3246Für Git-basierte Worktrees verarbeitet Claude Code die Bereinigung automatisch mit `git worktree remove`. Wenn Sie einen WorktreeCreate-Hook für ein nicht-Git-Versionskontrollsystem konfiguriert haben, paaren Sie ihn mit einem WorktreeRemove-Hook, um die Bereinigung zu verarbeiten. Ohne einen wird das Worktree-Verzeichnis auf der Festplatte gelassen.

3241 3247 

3242Claude Code verwirft die [JSON-Ausgabefelder](#json-output) eines WorktreeRemove-Hooks, wie `systemMessage` und `continue`.3248Claude Code verwirft die [JSON-Ausgabefelder](#json-output) eines WorktreeRemove-Hooks, wie `systemMessage` und `continue`.

3243 3249 

3244Für einen Hintergrund-Sitzungs-Delete überprüft Claude Code den gespeicherten Worktree-Pfad, bevor der Hook ausgelöst wird, und verweigert einen Pfad, der ein Symlink ist oder durch einen unterhalb der Repository-Root geht. Der Hook wird für einen Worktree ausgelöst, der immer noch Dateien enthält, nur wenn Sie den Delete in [Agent-Ansicht](/docs/de/agent-view#what-deleting-a-session-removes) bestätigen; für einen solchen Worktree behält [`claude rm`](/docs/de/agent-view#manage-sessions-from-the-shell) die Sitzung und den Worktree statt. Vor v2.1.216 wurde der Hook auf dem gespeicherten Pfad ohne diese Überprüfungen ausgelöst.3250Für einen Hintergrund-Sitzungs-Löschung überprüft Claude Code den gespeicherten Worktree-Pfad, bevor der Hook ausgeführt wird, und lehnt einen Pfad ab, der ein Symlink ist oder durch einen unterhalb der Repository-Root geht. Der Hook wird für einen Worktree, der immer noch Dateien enthält, nur ausgeführt, wenn Sie den Löschvorgang in [Agent-Ansicht](/docs/de/agent-view#what-deleting-a-session-removes) bestätigen; für einen solchen Worktree behält [`claude rm`](/docs/de/agent-view#manage-sessions-from-the-shell) die Sitzung und den Worktree statt. Vor v2.1.216 wurde der Hook auf dem gespeicherten Pfad ohne diese Überprüfungen ausgeführt.

3245 3251 

3246Claude Code übergibt den Pfad, den WorktreeCreate zurückgegeben hat, als `worktree_path` in der Hook-Eingabe. Dieses Beispiel liest diesen Pfad und entfernt das Verzeichnis:3252Claude Code übergibt den von WorktreeCreate zurückgegebenen Pfad als `worktree_path` in der Hook-Eingabe. Dieses Beispiel liest diesen Pfad und entfernt das Verzeichnis:

3247 3253 

3248```json theme={null}3254```json theme={null}

3249{3255{


3266 WorktreeRemove-Eingabe3272 WorktreeRemove-Eingabe

3267</h4>3273</h4>

3268 3274 

3269Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten WorktreeRemove-Hooks das Feld `worktree_path`, das der absolute Pfad zum entfernten Worktree ist.3275Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten WorktreeRemove-Hooks das `worktree_path` Feld, das der absolute Pfad zum entfernten Worktree ist.

3270 3276 

3271```json theme={null}3277```json theme={null}

3272{3278{


3278}3284}

3279```3285```

3280 3286 

3281Ein WorktreeRemove-Hook-Exit-Code entscheidet das Ergebnis. Wenn ein Hook mit Nicht-Null beendet wird und das Verzeichnis unter `worktree_path` immer noch danach existiert, schlägt die Entfernung fehl:3287Der Exit-Code eines WorktreeRemove-Hooks entscheidet das Ergebnis. Wenn ein Hook mit nicht-Null beendet wird und das Verzeichnis bei `worktree_path` immer noch danach existiert, schlägt die Entfernung fehl:

3282 3288 

3283* Der Worktree bleibt auf der Festplatte, und der Hook-Befehl und stderr gehen in das [Debug-Protokoll](#debug-hooks).3289* Der Worktree bleibt auf der Festplatte, und der Hook-Befehl und stderr gehen zum [Debug-Protokoll](#debug-hooks).

3284* Wenn Sie eine Hintergrund-Sitzung löschen, bleibt die Sitzung auch. Die Verweigerungsmeldung in [Agent-Ansicht](/docs/de/agent-view#what-deleting-a-session-removes) meldet, wie der Hook endete, wie `exited 1`, zitiert den Anfang seines stderr und sagt, ob das Löschen der Sitzung erneut das Verzeichnis entfernt.3290* Wenn Sie eine Hintergrund-Sitzung löschten, bleibt die Sitzung auch. Die Verweigerungsmeldung in [Agent-Ansicht](/docs/de/agent-view#what-deleting-a-session-removes) meldet, wie der Hook endete, wie `exited 1`, zitiert den Anfang seines stderr und sagt, ob das Löschen der Sitzung erneut das Verzeichnis trotzdem entfernt.

3285 3291 

3286<h3 id="precompact">3292<h3 id="precompact">

3287 PreCompact3293 PreCompact

3288</h3>3294</h3>

3289 3295 

3290Wird ausgeführt, bevor Claude Code einen Komprimierungsvorgang ausführen soll.3296Wird ausgeführt, bevor Claude Code einen Komprimierungsvorgang ausführen möchte.

3291 3297 

3292Der Matcher-Wert gibt an, ob die Komprimierung manuell oder automatisch ausgelöst wurde:3298Der Matcher-Wert gibt an, ob die Komprimierung manuell oder automatisch ausgelöst wurde:

3293 3299 

3294| Matcher | Wann es ausgelöst wird |3300| Matcher | Wann wird es ausgelöst |

3295| :------- | :---------------------------------------------------------------------------------------------------------------------- |3301| :------- | :----------------------------------------------------------------------------------------------------------------------------- |

3296| `manual` | `/compact` |3302| `manual` | `/compact` |

3297| `auto` | Auto-Komprimierung, wenn das Gespräch das [Auto-Compact-Fenster](/docs/de/model-config#set-the-auto-compact-window) erreicht |3303| `auto` | Auto-Komprimierung, wenn das Gespräch das [Auto-Komprimierungs-Fenster](/docs/de/model-config#set-the-auto-compact-window) erreicht |

3298 3304 

3299Exit mit Code 2, um die Komprimierung zu blockieren. Für ein manuelles `/compact` wird die stderr-Nachricht dem Benutzer angezeigt. Sie können auch blockieren, indem Sie JSON mit `"decision": "block"` zurückgeben.3305Beenden Sie mit Code 2, um die Komprimierung zu blockieren. Für ein manuelles `/compact` wird die stderr-Nachricht dem Benutzer angezeigt. Sie können auch blockieren, indem Sie JSON mit `"decision": "block"` zurückgeben.

3300 3306 

3301Das Blockieren der automatischen Komprimierung hat unterschiedliche Auswirkungen, je nachdem, wann es ausgelöst wird. Wenn die Komprimierung proaktiv ausgelöst wurde, bevor das Kontextlimit erreicht wurde, überspringt Claude Code sie und das Gespräch wird unkomprimiert fortgesetzt. Wenn die Komprimierung ausgelöst wurde, um sich von einem Kontextlimit-Fehler zu erholen, der bereits von der API zurückgegeben wurde, wird der zugrunde liegende Fehler angezeigt und die aktuelle Anfrage schlägt fehl.3307Das Blockieren der automatischen Komprimierung hat unterschiedliche Auswirkungen, je nachdem, wann es ausgeführt wird. Wenn die Komprimierung proaktiv ausgelöst wurde, bevor das Kontext-Limit erreicht wurde, überspringt Claude Code sie und das Gespräch wird unkomprimiert fortgesetzt. Wenn die Komprimierung ausgelöst wurde, um sich von einem Kontext-Limit-Fehler zu erholen, der bereits von der API zurückgegeben wurde, zeigt sich der zugrunde liegende Fehler und die aktuelle Anfrage schlägt fehl.

3302 3308 

3303Claude Code verwirft die `systemMessage` und `continue`-Felder eines PreCompact-Hooks.3309Claude Code verwirft die `systemMessage` und `continue` Felder eines PreCompact-Hooks.

3304 3310 

3305<h4 id="precompact-input">3311<h4 id="precompact-input">

3306 PreCompact-Eingabe3312 PreCompact-Eingabe

3307</h4>3313</h4>

3308 3314 

3309Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PreCompact-Hooks `trigger` und `custom_instructions`. Für `manual` enthält `custom_instructions` das, was der Benutzer in `/compact` übergibt und ist `null`, wenn sie nichts übergeben. Für `auto` ist `custom_instructions` `null`.3315Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten PreCompact-Hooks `trigger` und `custom_instructions`. Für `manual` enthält `custom_instructions` das, was der Benutzer in `/compact` übergibt und ist `null`, wenn sie nichts übergeben. Für `auto` ist `custom_instructions` `null`.

3310 3316 

3311```json theme={null}3317```json theme={null}

3312{3318{


3323 PostCompact3329 PostCompact

3324</h3>3330</h3>

3325 3331 

3326Wird ausgeführt, nachdem Claude Code einen Komprimierungsvorgang abgeschlossen hat. Verwenden Sie dieses Ereignis, um auf den neuen komprimierten Zustand zu reagieren, zum Beispiel um die generierte Zusammenfassung zu protokollieren oder den externen Zustand zu aktualisieren. Claude Code verwirft die `systemMessage` und `continue`-Felder eines PostCompact-Hooks.3332Wird ausgeführt, nachdem Claude Code einen Komprimierungsvorgang abgeschlossen hat. Verwenden Sie dieses Ereignis, um auf den neuen komprimierten Zustand zu reagieren, z. B. um die generierte Zusammenfassung zu protokollieren oder externen Zustand zu aktualisieren. Claude Code verwirft die `systemMessage` und `continue` Felder eines PostCompact-Hooks.

3327 3333 

3328Die gleichen Matcher-Werte gelten wie für `PreCompact`:3334Die gleichen Matcher-Werte gelten wie für `PreCompact`:

3329 3335 

3330| Matcher | Wann es ausgelöst wird |3336| Matcher | Wann wird es ausgelöst |

3331| :------- | :--------------------------------------------------------------------------------------------------------------------------- |3337| :------- | :---------------------------------------------------------------------------------------------------------------------------------- |

3332| `manual` | Nach `/compact` |3338| `manual` | Nach `/compact` |

3333| `auto` | Nach Auto-Komprimierung, wenn das Gespräch das [Auto-Compact-Fenster](/docs/de/model-config#set-the-auto-compact-window) erreicht |3339| `auto` | Nach Auto-Komprimierung, wenn das Gespräch das [Auto-Komprimierungs-Fenster](/docs/de/model-config#set-the-auto-compact-window) erreicht |

3334 3340 

3335<h4 id="postcompact-input">3341<h4 id="postcompact-input">

3336 PostCompact-Eingabe3342 PostCompact-Eingabe

3337</h4>3343</h4>

3338 3344 

3339Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PostCompact-Hooks `trigger` und `compact_summary`. Das Feld `compact_summary` enthält die Gesprächszusammenfassung, die durch den Komprimierungsvorgang generiert wurde.3345Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten PostCompact-Hooks `trigger` und `compact_summary`. Das `compact_summary` Feld enthält die Gesprächs-Zusammenfassung, die vom Komprimierungsvorgang generiert wurde.

3340 3346 

3341```json theme={null}3347```json theme={null}

3342{3348{


3349}3355}

3350```3356```

3351 3357 

3352PostCompact-Hooks haben keine Entscheidungskontrolle. Sie können das Komprimierungsergebnis nicht beeinflussen, können aber Folgaufgaben durchführen.3358PostCompact-Hooks haben keine Entscheidungskontrolle. Sie können das Komprimierungs-Ergebnis nicht beeinflussen, können aber Folge-Aufgaben ausführen.

3353 3359 

3354<h3 id="premodelswitch">3360<h3 id="premodelswitch">

3355 PreModelSwitch3361 PreModelSwitch

3356</h3>3362</h3>

3357 3363 

3358Wird ausgeführt, bevor Claude Code einen Modellwechsel anwendet, den Sie oder ein Client angefordert haben. Verwenden Sie ihn, um einen Wechsel zu blockieren, eine Bestätigung zu erfordern oder zu zeigen, was der Wechsel kostet, bevor er passiert.3364Wird ausgeführt, bevor Claude Code einen Modell-Wechsel anwendet, den Sie oder ein Client angefordert haben. Verwenden Sie ihn, um einen Wechsel zu blockieren, eine Bestätigung zu erfordern oder zu zeigen, was der Wechsel kostet, bevor er passiert.

3359 3365 

3360PreModelSwitch erfordert Claude Code v2.1.251 oder später. Claude Code führt ihn für diese Anfragen aus:3366PreModelSwitch erfordert Claude Code v2.1.251 oder später. Claude Code führt ihn für diese Anfragen aus:

3361 3367 

3362* `/model <name>` und der `/model`-Picker3368* `/model <name>` und der `/model` Picker

3363* Der `Option+P`- oder `Alt+P`-Modell-Picker3369* Der `Option+P` oder `Alt+P` Modell-Picker

3364* Die Modell-Einstellung in `/config`3370* Die Modell-Einstellung in `/config`

3365* Das Einschalten des [Fast-Modus](/docs/de/fast-mode), wenn das das Modell der Sitzung ändert3371* Das Aktivieren des [Fast-Modus](/docs/de/fast-mode), wenn das das Modell der Sitzung ändert

3366* Eine `set_model`-Anfrage oder eine Modell-Änderung in einer `apply_flag_settings`-Anfrage von einem [Agent SDK](/docs/de/agent-sdk/typescript#query-object)-Host oder [Remote Control](/docs/de/remote-control)3372* Eine `set_model` Anfrage oder eine Modell-Änderung in einer `apply_flag_settings` Anfrage von einem [Agent SDK](/docs/de/agent-sdk/typescript#query-object) Host oder [Remote Control](/docs/de/remote-control)

3367 3373 

3368Claude Code führt PreModelSwitch-Hooks nicht für Wechsel aus, die es selbst macht, wie ein [automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback) oder das Wiederherstellen des Modells, wenn Sie eine Sitzung fortsetzen. Diese Änderungen erreichen nur [PostModelSwitch](#postmodelswitch).3374Claude Code führt PreModelSwitch-Hooks nicht für Wechsel aus, die es selbst macht, wie ein [automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback) oder das Wiederherstellen des Modells, wenn Sie eine Sitzung fortsetzen. Diese Änderungen erreichen [PostModelSwitch](#postmodelswitch) nur.

3369 3375 

3370Claude Code vergleicht den Matcher gegen den kanonischen Namen des Modells, zu dem die Sitzung wechselt, und ignoriert jeden `[1m]`-Suffix. Ein Alias wie `opus`, eine datierte Modell-ID und eine Provider-spezifische ID wie eine Amazon Bedrock-Modell-ID passen alle auf den einen kanonischen Namen, zu dem sie sich auflösen, daher deckt `claude-opus-5` jede Schreibweise von Opus 5 ab.3376Claude Code vergleicht den Matcher gegen den kanonischen Namen des Modells, zu dem die Sitzung wechselt, und ignoriert jeden `[1m]` Suffix. Ein Alias wie `opus`, eine datierte Modell-ID und eine Provider-spezifische ID wie eine Amazon Bedrock Modell-ID gleichen alle den einen kanonischen Namen ab, den sie auflösen, daher deckt `claude-opus-5` jede Schreibweise von Opus 5 ab.

3371 3377 

3372Wenn Claude Code einen kanonischen Namen für das Ziel nicht bestimmen kann, zum Beispiel eine benutzerdefinierte Modell-ID, die nur Ihr [LLM-Gateway](/docs/de/llm-gateway) kennt, führt es jeden PreModelSwitch-Hook aus, unabhängig vom Matcher. Ein Hook, der blockiert, sollte daher `to_model` aus seiner Eingabe überprüfen, statt sich allein auf den Matcher zu verlassen.3378Wenn Claude Code einen kanonischen Namen für das Ziel nicht bestimmen kann, z. B. eine benutzerdefinierte Modell-ID, die nur Ihr [LLM-Gateway](/docs/de/llm-gateway) kennt, führt es jeden PreModelSwitch-Hook unabhängig vom Matcher aus. Ein Hook, der blockiert, sollte daher `to_model` aus seiner Eingabe überprüfen, anstatt sich nur auf den Matcher zu verlassen.

3373 3379 

3374Schreiben Sie den Matcher als genauen Namen, eine `|`-getrennte Liste wie `claude-opus-4-6|claude-opus-5` oder einen regulären Ausdruck wie `.*opus.*`. Dieses Beispiel verwendet einen genauen Namen-Matcher und überprüft auch `to_model` aus der Hook-Eingabe, daher verweigert es einen Wechsel zu Opus 4.6 durch Beendigung mit Code 2 und lässt jedes andere Ziel durch:3380Schreiben Sie den Matcher als genauen Namen, eine `|`-getrennte Liste wie `claude-opus-4-6|claude-opus-5` oder einen regulären Ausdruck wie `.*opus.*`. Dieses Beispiel verwendet einen genauen Namen-Matcher und überprüft auch `to_model` aus der Hook-Eingabe, daher verweigert es einen Wechsel zu Opus 4.6 durch Beendigung mit Code 2 und lässt jedes andere Ziel durch:

3375 3381 


3443 PreModelSwitch-Eingabe3449 PreModelSwitch-Eingabe

3444</h4>3450</h4>

3445 3451 

3446Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PreModelSwitch-Hooks die Felder in dieser Tabelle. Die letzten fünf beschreiben, was das Erneut-Senden des Gesprächs zum neuen Modell kostet, daher kann ein Hook diese Zahl zeigen, bevor der Wechsel passiert.3452Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten PreModelSwitch-Hooks die Felder in dieser Tabelle. Die letzten fünf beschreiben, was das Erneut-Senden des Gesprächs zum neuen Modell kostet, daher kann ein Hook diese Zahl zeigen, bevor der Wechsel passiert.

3447 3453 

3448| Feld | Typ | Beschreibung |3454| Feld | Typ | Beschreibung |

3449| :-------------------------- | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3455| :-------------------------- | :----------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3450| `from_model` | Zeichenkette | Modell-ID, zu der der Wechsel ändert |3456| `from_model` | string | Modell-ID, zu der der Wechsel wechselt |

3451| `to_model` | Zeichenkette | Modell-ID, zu der der Wechsel ändert. Der Matcher vergleicht gegen den kanonischen Namen dieses Modells |3457| `to_model` | string | Modell-ID, zu der der Wechsel wechselt. Der Matcher vergleicht gegen den kanonischen Namen dieses Modells |

3452| `requested_model` | Zeichenkette oder `null` | Das Modell, das die Anfrage benannt hat: ein Alias wie `opus`, eine vollständige Modell-ID oder `null`, wenn die Anfrage für das Standard-Modell war |3458| `requested_model` | string oder `null` | Das Modell, das die Anfrage benannt hat: ein Alias wie `opus`, eine vollständige Modell-ID oder `null`, wenn die Anfrage für das Standard-Modell war |

3453| `source` | Zeichenkette | Woher die Anfrage kam: `"command"` für `/model <name>`, die Modell-Einstellung in `/config` oder das Einschalten des Fast-Modus; `"picker"` für einen Modell-Picker; `"sdk"` für eine `set_model`-Anfrage oder eine Modell-Änderung in einer `apply_flag_settings`-Anfrage von einem Agent SDK-Host oder Remote Control |3459| `source` | string | Woher die Anfrage kam: `"command"` für `/model <name>`, die Modell-Einstellung in `/config` oder das Aktivieren des Fast-Modus; `"picker"` für einen Modell-Picker; `"sdk"` für eine `set_model` Anfrage oder eine Modell-Änderung in einer `apply_flag_settings` Anfrage von einem Agent SDK Host oder Remote Control |

3454| `context_tokens` | Zahl | Tokens, die die nächste Anfrage als ihren Prompt erneut sendet: die Input-, Cache-Read-, Cache-Creation- und Output-Tokens der letzten Antwort in der Hauptkonversation, kombiniert. `0` vor der ersten Antwort |3460| `context_tokens` | number | Tokens, die die nächste Anfrage als ihre Eingabeaufforderung erneut sendet: die Eingabe-, Cache-Lese-, Cache-Erstellungs- und Ausgabe-Tokens der letzten Antwort im Hauptgespräch, kombiniert. `0` vor der ersten Antwort |

3455| `prompt_cache_warm` | Boolesch | Ob der Prompt-Cache des aktuellen Modells wahrscheinlich noch warm ist, was bedeutet, dass der Wechsel ihn aufgibt |3461| `prompt_cache_warm` | boolean | Ob der Prompt-Cache des aktuellen Modells wahrscheinlich noch warm ist, was bedeutet, dass der Wechsel ihn aufgibt |

3456| `cache_ttl` | Zeichenkette | [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime), die Claude Code für diese Sitzung anfordert: `"5m"` oder `"1h"` |3462| `cache_ttl` | string | [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime), die Claude Code für diese Sitzung anfordert: `"5m"` oder `"1h"` |

3457| `estimated_cache_write_usd` | Zahl | Geschätzte Kosten in US-Dollar zum Schreiben von `context_tokens` in den Prompt-Cache auf `to_model` bei der `cache_ttl`-Rate, ohne die nächste Antwort. Der Server muss möglicherweise nicht den ganzen Kontext erneut zwischenspeichern, daher behandeln Sie es als Schätzung |3463| `estimated_cache_write_usd` | number | Geschätzte Kosten in US-Dollar für das Schreiben von `context_tokens` in den Prompt-Cache auf `to_model` bei der `cache_ttl` Rate, ohne die nächste Antwort. Der Server muss möglicherweise nicht den ganzen Kontext erneut zwischenspeichern, daher behandeln Sie es als Schätzung |

3458| `pricing` | Zeichenkette | Wie Claude Code `estimated_cache_write_usd` bepreist: `"configured"` bei Ihren Organisations-eigenen Sätzen, wenn sie konfiguriert hat, `"catalog"` bei Listenpreis oder `"default"`, wenn `to_model` keinen bekannten Preis hat und Claude Code einen Standard-Satz annahm |3464| `pricing` | string | Wie Claude Code `estimated_cache_write_usd` bepreist: `"configured"` bei den Raten Ihrer Organisation, wenn sie konfiguriert hat, `"catalog"` bei Listenpreis oder `"default"`, wenn `to_model` keinen bekannten Preis hat und Claude Code einen Standard-Satz annahm |

3459 3465 

3460Dieses Beispiel zeigt die Eingabe für `/model opus` in einer Sitzung, die Sonnet 5 ausführt:3466Dieses Beispiel zeigt die Eingabe für `/model opus` in einer Sitzung, die Sonnet 5 ausführt:

3461 3467 


3481 PreModelSwitch-Entscheidungskontrolle3487 PreModelSwitch-Entscheidungskontrolle

3482</h4>3488</h4>

3483 3489 

3484`PreModelSwitch`-Hooks können den Wechsel abbrechen, den Benutzer zur Bestätigung auffordern oder ihn fortgesetzt lassen. Exit-Code 2 oder ein Top-Level-`decision: "block"` bricht den Wechsel ab.3490`PreModelSwitch` Hooks können den Wechsel abbrechen, den Benutzer zur Bestätigung auffordern oder ihn fortgesetzt lassen. Exit-Code 2 oder ein Top-Level-`decision: "block"` bricht den Wechsel ab.

3485 3491 

3486Für feinere Kontrolle geben Sie `permissionDecision` und `permissionDecisionReason` in einem `hookSpecificOutput`-Objekt zurück, wie auf [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` akzeptiert `"allow"`, `"deny"` und `"ask"`. Es akzeptiert nicht `"defer"`, `updatedInput` oder `additionalContext`. Die Tabelle unten beschreibt beide Felder:3492Für feinere Kontrolle geben Sie `permissionDecision` und `permissionDecisionReason` in einem `hookSpecificOutput` Objekt zurück, wie auf [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` akzeptiert `"allow"`, `"deny"` und `"ask"`. Es akzeptiert nicht `"defer"`, `updatedInput` oder `additionalContext`. Die Tabelle unten beschreibt beide Felder:

3487 3493 

3488| Feld | Beschreibung |3494| Feld | Beschreibung |

3489| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3495| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3490| `permissionDecision` | `"allow"` wird fortgesetzt und überspringt die [Bestätigung, die Claude Code zeigt, während der Prompt-Cache warm ist](/docs/de/prompt-caching#switching-models). `"deny"` bricht den Wechsel ab. `"ask"` fordert den Benutzer zur Bestätigung auf |3496| `permissionDecision` | `"allow"` fährt fort und überspringt die [Bestätigung, die Claude Code zeigt, während der Prompt-Cache warm ist](/docs/de/prompt-caching#switching-models). `"deny"` bricht den Wechsel ab. `"ask"` fordert den Benutzer zur Bestätigung auf |

3491| `permissionDecisionReason` | Für `"deny"`, dem Benutzer als Grund angezeigt, warum der Wechsel blockiert wurde, oder als Fehler für eine `set_model`-Anfrage zurückgegeben. Für `"ask"`, im Bestätigungsprompt angezeigt. Ignoriert für `"allow"` |3497| `permissionDecisionReason` | Für `"deny"`, dem Benutzer als Grund angezeigt, warum der Wechsel blockiert wurde, oder als Fehler für eine `set_model` Anfrage zurückgegeben. Für `"ask"`, in der Bestätigungs-Aufforderung angezeigt. Ignoriert für `"allow"` |

3492 3498 

3493Nur `/model` in einer interaktiven Sitzung kann den `"ask"`-Prompt zeigen. Auf jeder anderen Oberfläche, einschließlich nicht-interaktivem Modus mit dem `-p`-Flag, `/config` und `set_model`-Anfragen, behandelt Claude Code `"ask"` als Verweigerung.3499Nur `/model` in einer interaktiven Sitzung kann die `"ask"` Aufforderung anzeigen. Auf jeder anderen Oberfläche, einschließlich nicht-interaktivem Modus mit dem `-p` Flag, `/config` und `set_model` Anfragen, behandelt Claude Code `"ask"` als Verweigerung.

3494 3500 

3495Dieses Beispiel fordert den Benutzer zur Bestätigung auf und zitiert die Token-Anzahl aus `context_tokens`:3501Dieses Beispiel fordert den Benutzer zur Bestätigung auf und zitiert die Token-Anzahl aus `context_tokens`:

3496 3502 


3506 3512 

3507Wenn mehrere PreModelSwitch-Hooks unterschiedliche Entscheidungen zurückgeben, ist die Priorität `deny` > `ask` > `allow`.3513Wenn mehrere PreModelSwitch-Hooks unterschiedliche Entscheidungen zurückgeben, ist die Priorität `deny` > `ask` > `allow`.

3508 3514 

3509Claude Code zeigt jede `systemMessage`, die Ihr Hook zurückgibt, unabhängig von der Entscheidung, daher kann ein Kosten-Bericht-Hook `{"systemMessage": "..."}` zurückgeben und mit 0 beenden.3515Claude Code zeigt dem Benutzer jede `systemMessage`, die Ihr Hook zurückgibt, unabhängig von der Entscheidung, daher kann ein Kosten-Bericht-Hook `{"systemMessage": "..."}` zurückgeben und mit 0 beenden.

3510 3516 

3511Ein PreModelSwitch-Hook, der nicht vor seinem Timeout antwortet, blockiert den Wechsel. Auf [PreToolUse](#timeouts) lässt ein Timeout-Command-Hook den Tool-Aufruf im Gegensatz dazu fortgesetzt. Das Standard-Timeout für dieses Ereignis beträgt 30 Sekunden. `PreModelSwitch` führt nur `command`-, `http`- und `mcp_tool`-Hooks aus, daher gelten die `prompt`- und `agent`-Standard nicht.3517Ein PreModelSwitch-Hook, der nicht vor seinem Timeout antwortet, blockiert den Wechsel. Bei [PreToolUse](#timeouts) lässt ein Timeout-Command-Hook den Tool-Aufruf dagegen fortgesetzt. Das Standard-Timeout für dieses Ereignis beträgt 30 Sekunden. `PreModelSwitch` führt nur `command`, `http` und `mcp_tool` Hooks aus, daher gelten die `prompt` und `agent` Standards nicht.

3512 3518 

3513Ein Hook, der mit einem Code anderen als 0 oder 2 beendet und keine JSON-Entscheidung druckt, blockiert nicht: Claude Code zeigt seinen stderr und wendet den Wechsel an, wie unter [Andere Exit-Codes](#other-exit-codes) beschrieben.3519Ein Hook, der mit einem Code anderen als 0 oder 2 beendet und keine JSON-Entscheidung druckt, blockiert nicht: Claude Code zeigt sein stderr und wendet den Wechsel an, wie unter [Andere Exit-Codes](#other-exit-codes) beschrieben.

3514 3520 

3515<h3 id="postmodelswitch">3521<h3 id="postmodelswitch">

3516 PostModelSwitch3522 PostModelSwitch

3517</h3>3523</h3>

3518 3524 

3519Wird ausgeführt, nachdem sich das Modell der Sitzung ändert. Verwenden Sie ihn, um Claude modellspezifische Anleitung zu geben, ohne jede CLAUDE.md zu bearbeiten, zum Beispiel eine organisations-weite Anweisung, die auf bestimmten Modellen gilt.3525Wird ausgeführt, nachdem sich das Modell der Sitzung geändert hat. Verwenden Sie es, um Claude modell-spezifische Anleitung zu geben, ohne jede CLAUDE.md zu bearbeiten, z. B. eine organisations-weite Anweisung, die auf bestimmten Modellen gilt.

3520 3526 

3521PostModelSwitch erfordert Claude Code v2.1.251 oder später. Es kann nicht blockieren, da sich das Modell bereits geändert hat. Claude Code führt PostModelSwitch-Hooks nach jedem dieser Änderungen aus:3527PostModelSwitch erfordert Claude Code v2.1.251 oder später. Es kann nicht blockieren, da sich das Modell bereits geändert hat. Claude Code führt PostModelSwitch-Hooks nach jeder dieser Änderungen aus:

3522 3528 

3523* Ein Wechsel, den Sie oder ein Client angefordert haben3529* Ein Wechsel, den Sie oder ein Client angefordert haben

3524* Ein [automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback), das das Modell der Sitzung ändert3530* Ein [automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback), das das Modell der Sitzung ändert

3525* Eine Einstellung wie [`opusplan`](/docs/de/model-config#opusplan-model-setting), die den Plan-Modus betritt oder verlässt3531* Eine Einstellung wie [`opusplan`](/docs/de/model-config#opusplan-model-setting), die den Plan-Modus betritt oder verlässt

3526* Claude Code, das das Modell wiederherstellt, wenn Sie eine Sitzung fortsetzen3532* Claude Code stellt das Modell wieder her, wenn Sie eine Sitzung fortsetzen

3527 3533 

3528Claude Code führt PostModelSwitch-Hooks nicht aus, wenn ein Modell aus einer [Fallback-Modell-Kette](/docs/de/model-config#fallback-model-chains) eine Runde bedient, da diese Substitution eine Runde dauert und das Modell der Sitzung unverändert lässt.3534Claude Code führt PostModelSwitch-Hooks nicht aus, wenn ein Modell aus einer [Fallback-Modell-Kette](/docs/de/model-config#fallback-model-chains) einen Zug bedient, da diese Substitution einen Zug dauert und das Modell der Sitzung unverändert lässt.

3529 3535 

3530Der Matcher folgt den gleichen Regeln wie [PreModelSwitch](#premodelswitch): Claude Code vergleicht ihn gegen den kanonischen Namen des Modells, zu dem die Sitzung wechselt.3536Der Matcher folgt den gleichen Regeln wie [PreModelSwitch](#premodelswitch): Claude Code vergleicht ihn gegen den kanonischen Namen des Modells, zu dem die Sitzung wechselt.

3531 3537 


3549}3555}

3550```3556```

3551 3557 

3552Um zu bestätigen, dass der Hook funktioniert, wechseln Sie zu einem Opus-Modell aus einer Sitzung, die ein anderes Modell ausführt, zum Beispiel führen Sie `/model opus` aus einer Sonnet-Sitzung aus, und fragen Sie Claude dann, welche Anleitung es zum aktuellen Modell hat.3558Um zu bestätigen, dass der Hook funktioniert, wechseln Sie zu einem Opus-Modell aus einer Sitzung, die ein anderes Modell ausführt, z. B. führen Sie `/model opus` aus einer Sonnet-Sitzung aus, und fragen Sie Claude dann, welche Anleitung es zum aktuellen Modell hat.

3553 3559 

3554<h4 id="postmodelswitch-input">3560<h4 id="postmodelswitch-input">

3555 PostModelSwitch-Eingabe3561 PostModelSwitch-Eingabe

3556</h4>3562</h4>

3557 3563 

3558PostModelSwitch-Hooks erhalten die gleichen Felder wie [PreModelSwitch](#premodelswitch-input), mit `hook_event_name` auf `"PostModelSwitch"` gesetzt und zwei weitere `source`-Werte: `"auto"` für ein automatisches Fallback oder eine andere Änderung, die Claude Code selbst gemacht hat, und `"resume"` für das Modell, das wiederhergestellt wurde, wenn Sie eine Sitzung fortsetzen.3564PostModelSwitch-Hooks erhalten die gleichen Felder wie [PreModelSwitch](#premodelswitch-input), mit `hook_event_name` auf `"PostModelSwitch"` gesetzt und zwei weitere `source` Werte: `"auto"` für ein automatisches Fallback oder eine andere Änderung, die Claude Code selbst gemacht hat, und `"resume"` für das Modell, das wiederhergestellt wird, wenn Sie eine Sitzung fortsetzen.

3559 3565 

3560`requested_model` ist `null`, wenn `source` `"auto"` ist. Wenn `source` `"resume"` ist, ist es die gespeicherte Modell-Einstellung, die Claude Code wiederhergestellt hat.3566`requested_model` ist `null`, wenn `source` `"auto"` ist. Wenn `source` `"resume"` ist, ist es die gespeicherte Modell-Einstellung, die Claude Code wiederhergestellt hat.

3561 3567 


3563 PostModelSwitch-Entscheidungskontrolle3569 PostModelSwitch-Entscheidungskontrolle

3564</h4>3570</h4>

3565 3571 

3566Claude Code nimmt Ihren Hook-[Plain-Text-stdout](#exit-code-0) bei Beendigung mit 0 oder `additionalContext` aus JSON-Ausgabe und liefert es an Claude mit der nächsten Anfrage nach dem Wechsel. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie zurückgeben:3572Claude Code nimmt Ihren Hook-[Klartext-stdout](#exit-code-0) bei Beendigung mit 0 oder `additionalContext` aus JSON-Ausgabe und liefert es an Claude mit der nächsten Anfrage nach dem Wechsel. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie zurückgeben:

3567 3573 

3568| Feld | Beschreibung |3574| Feld | Beschreibung |

3569| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------- |3575| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------- |

3570| `additionalContext` | Zeichenkette, die zu Claudes Kontext mit der nächsten Anfrage hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |3576| `additionalContext` | String, der zu Claudes Kontext mit der nächsten Anfrage hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

3571 3577 

3572Wenn der Hook nicht innerhalb von fünf Sekunden nach dem Senden der nächsten Anfrage fertig ist, sendet Claude Code diese Anfrage ohne die Ausgabe und hängt sie statt der nächsten Anfrage an. Wenn sich das Modell mehrmals ändert, bevor die nächste Anfrage erfolgt, liefert Claude Code nur die Ausgabe für den letzten Wechsel-Zielmodell.3578Wenn der Hook nicht innerhalb von fünf Sekunden nach dem Senden der nächsten Eingabeaufforderung fertig ist, sendet Claude Code diese Anfrage ohne die Ausgabe und hängt sie stattdessen an die folgende Anfrage an. Wenn sich das Modell mehrmals ändert, bevor die nächste Anfrage erfolgt, liefert Claude Code nur die Ausgabe für den letzten Wechsel zum Ziel-Modell.

3573 3579 

3574<h3 id="sessionend">3580<h3 id="sessionend">

3575 SessionEnd3581 SessionEnd

3576</h3>3582</h3>

3577 3583 

3578Wird ausgeführt, wenn eine Claude Code-Sitzung endet. Nützlich für Bereinigungsaufgaben, Protokollierung von Sitzungsstatistiken oder Speicherung des Sitzungsstatus. Unterstützt Matcher zum Filtern nach Ausstiegsgrund.3584Wird ausgeführt, wenn eine Claude Code Sitzung endet. Nützlich für Bereinigungsaufgaben, Protokollierung von Sitzungs-Statistiken oder Speicherung des Sitzungs-Zustands. Unterstützt Matcher zum Filtern nach Exit-Grund.

3579 3585 

3580Das Feld `reason` in der Hook-Eingabe gibt an, warum die Sitzung endete:3586Das `reason` Feld in der Hook-Eingabe gibt an, warum die Sitzung endete:

3581 3587 

3582| Grund | Beschreibung |3588| Grund | Beschreibung |

3583| :---------------------------- | :------------------------------------------------------------------------------------------------------ |3589| :---------------------------- | :------------------------------------------------------------------------------------------------ |

3584| `clear` | Sitzung mit `/clear`-Befehl gelöscht |3590| `clear` | Sitzung mit `/clear` Befehl gelöscht |

3585| `resume` | Sitzung über interaktives `/resume` gewechselt |3591| `resume` | Sitzung mit interaktivem `/resume` gewechselt |

3586| `logout` | Benutzer hat sich abgemeldet |3592| `logout` | Benutzer abgemeldet |

3587| `prompt_input_exit` | Benutzer hat beendet, während die Prompt-Eingabe sichtbar war |3593| `prompt_input_exit` | Benutzer beendet, während Eingabeaufforderungs-Eingabe sichtbar war |

3588| `other` | Andere Ausstiegsgründe |3594| `other` | Andere Exit-Gründe |

3589| `bypass_permissions_disabled` | Entfernt in v2.1.234; Claude Code sendet es nicht. Lassen Sie es aus Ihren `SessionEnd`-Matchern fallen |3595| `bypass_permissions_disabled` | Entfernt in v2.1.234; Claude Code sendet es nicht. Löschen Sie es aus Ihren `SessionEnd` Matchern |

3590 3596 

3591<h4 id="sessionend-input">3597<h4 id="sessionend-input">

3592 SessionEnd-Eingabe3598 SessionEnd-Eingabe

3593</h4>3599</h4>

3594 3600 

3595Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SessionEnd-Hooks ein Feld `reason`, das angibt, warum die Sitzung endete. Siehe die [Grundtabelle](#sessionend) oben für alle Werte.3601Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten SessionEnd-Hooks ein `reason` Feld, das angibt, warum die Sitzung endete. Siehe die [Grund-Tabelle](#sessionend) oben für alle Werte.

3596 3602 

3597```json theme={null}3603```json theme={null}

3598{3604{


3604}3610}

3605```3611```

3606 3612 

3607SessionEnd-Hooks haben keine Entscheidungskontrolle. Sie können die Sitzungsbeendigung nicht blockieren, können aber Bereinigungsaufgaben durchführen.3613SessionEnd-Hooks haben keine Entscheidungskontrolle. Sie können die Sitzungs-Beendigung nicht blockieren, können aber Bereinigungsaufgaben ausführen. Claude Code verwirft ihre [JSON-Ausgabefelder](#json-output), wie `systemMessage`.

3614 

3615SessionEnd-Hooks haben ein Standard-Timeout von 1,5 Sekunden. Es gilt, wenn Sie beenden, `/clear` ausführen oder mit interaktivem `/resume` zu Sitzungen wechseln. Sie können einem Hook auf zwei Wegen mehr Zeit geben:

3608 3616 

3609SessionEnd-Hooks haben ein Standard-Timeout von 1,5 Sekunden. Es gilt, wenn Sie beenden, `/clear` ausführen oder Sitzungen mit interaktivem `/resume` wechseln. Wenn ein Hook mehr Zeit benötigt, setzen Sie `timeout` in dieser Hook-Konfiguration. Das Gesamtbudget wird automatisch auf das höchste Pro-Hook-`timeout` erhöht, das in Ihren Einstellungsdateien konfiguriert ist, bis zu 60 Sekunden. Timeouts, die auf Plugin-bereitgestellten Hooks gesetzt sind, erhöhen das Budget nicht. Um das Budget explizit zu überschreiben, setzen Sie die Umgebungsvariable `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` in Millisekunden.3617* **Pro-Hook `timeout`**: Setzen Sie `timeout` in der Konfiguration dieses Hooks. Das Gesamt-Budget steigt automatisch, um das höchste Pro-Hook-`timeout` in Ihren Einstellungsdateien zu entsprechen, bis zu 60 Sekunden. Wenn Sie das Budget auf diese Weise erhöhen, behält ein Hook ohne sein eigenes `timeout` immer noch den Standard. Timeouts, die auf Plugin-bereitgestellten Hooks gesetzt sind, erhöhen das Budget nicht.

3618* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`**: Setzen Sie diese Umgebungsvariable in Millisekunden, um das Budget explizit zu überschreiben. Der Wert, den Sie setzen, wird auch zum Timeout für jeden Hook ohne sein eigenes `timeout`.

3619 

3620Dieses Beispiel setzt das Budget auf 5 Sekunden:

3610 3621 

3611```bash theme={null}3622```bash theme={null}

3612CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude3623CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude

3613```3624```

3614 3625 

3615Vor v2.1.268 erhöhte `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` nur das Gesamtbudget, und ein Hook ohne sein eigenes `timeout` wurde immer noch nach 1,5 Sekunden abgebrochen.3626Vor v2.1.268 erhöhte `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` nur das Gesamt-Budget, und ein Hook ohne sein eigenes `timeout` wurde immer noch nach 1,5 Sekunden abgebrochen.

3616 3627 

3617<h3 id="elicitation">3628<h3 id="elicitation">

3618 Elicitation3629 Elicitation

3619</h3>3630</h3>

3620 3631 

3621Wird ausgeführt, wenn ein MCP-Server Benutzereingaben während einer Aufgabe anfordert. Standardmäßig zeigt Claude Code einen interaktiven Dialog für die Benutzerantwort an. Hooks können diese Anfrage abfangen und programmatisch antworten, wodurch der Dialog vollständig übersprungen wird.3632Wird ausgeführt, wenn ein MCP-Server Benutzereingabe während einer Aufgabe anfordert. Standardmäßig zeigt Claude Code einen interaktiven Dialog für den Benutzer zum Antworten. Hooks können diese Anfrage abfangen und programmatisch antworten, wobei der Dialog vollständig übersprungen wird.

3622 3633 

3623Das Matcher-Feld passt auf den MCP-Server-Namen.3634Das Matcher-Feld gleicht gegen den MCP-Server-Namen ab.

3624 3635 

3625<h4 id="elicitation-input">3636<h4 id="elicitation-input">

3626 Elicitation-Eingabe3637 Elicitation-Eingabe

3627</h4>3638</h4>

3628 3639 

3629Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten Elicitation-Hooks `mcp_server_name`, `message` und optionale Felder `mode`, `url`, `elicitation_id` und `requested_schema`.3640Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten Elicitation-Hooks `mcp_server_name`, `message` und optionale `mode`, `url`, `elicitation_id` und `requested_schema` Felder.

3630 3641 

3631Für Form-Mode-Elicitation (der häufigste Fall):3642Für Form-Modus-Elicitierung, der häufigste Fall:

3632 3643 

3633```json theme={null}3644```json theme={null}

3634{3645{


3648}3659}

3649```3660```

3650 3661 

3651Für URL-Mode-Elicitation (Browser-basierte Authentifizierung):3662Für URL-Modus-Elicitierung, verwendet für Browser-basierte Authentifizierung:

3652 3663 

3653```json theme={null}3664```json theme={null}

3654{3665{


3682```3693```

3683 3694 

3684| Feld | Werte | Beschreibung |3695| Feld | Werte | Beschreibung |

3685| :-------- | :---------------------------- | :------------------------------------------------------------------------------- |3696| :-------- | :---------------------------- | :-------------------------------------------------------------------------------- |

3686| `action` | `accept`, `decline`, `cancel` | Ob die Anfrage akzeptiert, abgelehnt oder abgebrochen werden soll |3697| `action` | `accept`, `decline`, `cancel` | Ob die Anfrage akzeptiert, abgelehnt oder abgebrochen werden soll |

3687| `content` | Objekt | Formularfeldwerte zum Einreichen. Wird nur verwendet, wenn `action` `accept` ist |3698| `content` | object | Formular-Feldwerte zum Einreichen. Wird nur verwendet, wenn `action` `accept` ist |

3688 3699 

3689Exit-Code 2 verweigert die Elicitation. Claude Code zeigt Ihre stderr-Nachricht nicht irgendwo an.3700Exit-Code 2 verweigert die Elicitierung. Claude Code zeigt Ihre stderr-Nachricht nirgendwo an.

3690 3701 

3691Claude Code handelt auf `hookSpecificOutput` aus einer Elicitation-Hook-JSON-Ausgabe und verwirft `systemMessage` und `continue`.3702Claude Code handelt `hookSpecificOutput` aus der JSON-Ausgabe eines Elicitation-Hooks und verwirft `systemMessage` und `continue`.

3692 3703 

3693<h3 id="elicitationresult">3704<h3 id="elicitationresult">

3694 ElicitationResult3705 ElicitationResult

3695</h3>3706</h3>

3696 3707 

3697Wird ausgeführt, nachdem ein Benutzer auf eine MCP-Elicitation antwortet. Hooks können die Antwort beobachten, ändern oder blockieren, bevor sie an den MCP-Server zurückgesendet wird.3708Wird ausgeführt, nachdem ein Benutzer auf eine MCP-Elicitierung antwortet. Hooks können die Antwort beobachten, ändern oder blockieren, bevor sie an den MCP-Server zurückgesendet wird.

3698 3709 

3699Das Matcher-Feld passt auf den MCP-Server-Namen.3710Das Matcher-Feld gleicht gegen den MCP-Server-Namen ab.

3700 3711 

3701<h4 id="elicitationresult-input">3712<h4 id="elicitationresult-input">

3702 ElicitationResult-Eingabe3713 ElicitationResult-Eingabe

3703</h4>3714</h4>

3704 3715 

3705Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten ElicitationResult-Hooks `mcp_server_name`, `action` und optionale Felder `mode`, `elicitation_id` und `content`.3716Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten ElicitationResult-Hooks `mcp_server_name`, `action` und optionale `mode`, `elicitation_id` und `content` Felder.

3706 3717 

3707```json theme={null}3718```json theme={null}

3708{3719{


3735```3746```

3736 3747 

3737| Feld | Werte | Beschreibung |3748| Feld | Werte | Beschreibung |

3738| :-------- | :---------------------------- | :----------------------------------------------------------------------------- |3749| :-------- | :---------------------------- | :------------------------------------------------------------------------ |

3739| `action` | `accept`, `decline`, `cancel` | Überschreibt die Aktion des Benutzers |3750| `action` | `accept`, `decline`, `cancel` | Überschreibt die Aktion des Benutzers |

3740| `content` | Objekt | Überschreibt Formularfeldwerte. Nur aussagekräftig, wenn `action` `accept` ist |3751| `content` | object | Überschreibt Formular-Feldwerte. Nur sinnvoll, wenn `action` `accept` ist |

3741 3752 

3742Exit-Code 2 blockiert die Antwort, wodurch die effektive Aktion zu `decline` wird. Claude Code zeigt Ihre stderr-Nachricht nicht irgendwo an.3753Exit-Code 2 blockiert die Antwort und ändert die effektive Aktion zu `decline`. Claude Code zeigt Ihre stderr-Nachricht nirgendwo an.

3743 3754 

3744Claude Code handelt auf `hookSpecificOutput` aus einer ElicitationResult-Hook-JSON-Ausgabe und verwirft `systemMessage` und `continue`.3755Claude Code handelt `hookSpecificOutput` aus der JSON-Ausgabe eines ElicitationResult-Hooks und verwirft `systemMessage` und `continue`.

3745 3756 

3746<h2 id="prompt-based-hooks">3757<h2 id="prompt-based-hooks">

3747 Prompt-basierte Hooks3758 Prompt-basierte Hooks


3752Ereignisse, die alle fünf Hook-Typen unterstützen (`command`, `http`, `mcp_tool`, `prompt` und `agent`):3763Ereignisse, die alle fünf Hook-Typen unterstützen (`command`, `http`, `mcp_tool`, `prompt` und `agent`):

3753 3764 

3754* `PermissionDenied`3765* `PermissionDenied`

3755* `PermissionRequest`

3756* `PostToolBatch`3766* `PostToolBatch`

3757* `PostToolUse`3767* `PostToolUse`

3758* `PostToolUseFailure`3768* `PostToolUseFailure`


3765* `UserPromptExpansion`3775* `UserPromptExpansion`

3766* `UserPromptSubmit`3776* `UserPromptSubmit`

3767 3777 

3778`PermissionRequest` unterstützt `command`, `http`, `mcp_tool` und `prompt` Hooks, aber keine `agent` Hooks. Wenn Sie einen Agent-Hook bei diesem Ereignis konfigurieren, überspringt Claude Code ihn und der Genehmigungsfluss wird unverändert fortgesetzt. Um von einem Hook aus zuzulassen oder zu verweigern, geben Sie das [Entscheidungsobjekt](#permissionrequest-decision-control) von einem Command- oder HTTP-Hook zurück.

3779 

3768Ereignisse, die `command`, `http` und `mcp_tool` Hooks unterstützen, aber nicht `prompt` oder `agent`:3780Ereignisse, die `command`, `http` und `mcp_tool` Hooks unterstützen, aber nicht `prompt` oder `agent`:

3769 3781 

3770* `ConfigChange`3782* `ConfigChange`


3897 Agent-Hooks sind experimentell. Das Verhalten und die Konfiguration können sich in zukünftigen Versionen ändern. Für Produktions-Workflows bevorzugen Sie [Command Hooks](#command-hook-fields).3909 Agent-Hooks sind experimentell. Das Verhalten und die Konfiguration können sich in zukünftigen Versionen ändern. Für Produktions-Workflows bevorzugen Sie [Command Hooks](#command-hook-fields).

3898</Warning>3910</Warning>

3899 3911 

3900Agent-basierte Hooks (`type: "agent"`) sind wie Prompt-basierte Hooks, aber mit Multi-Turn-Tool-Zugriff. Anstelle eines einzelnen LLM-Aufrufs spawnt ein Agent-Hook einen Subagenten, der Dateien lesen, Code durchsuchen und die Codebasis überprüfen kann, um Bedingungen zu überprüfen. Agent-Hooks unterstützen die gleichen Ereignisse wie Prompt-basierte Hooks.3912Agent-basierte Hooks (`type: "agent"`) sind wie Prompt-basierte Hooks, aber mit Multi-Turn-Tool-Zugriff. Anstelle eines einzelnen LLM-Aufrufs spawnt ein Agent-Hook einen Subagenten, der Dateien lesen, Code durchsuchen und die Codebasis überprüfen kann, um Bedingungen zu überprüfen. Agent-Hooks unterstützen die gleichen Ereignisse wie [Prompt-basierte Hooks](#prompt-based-hooks), mit Ausnahme von `PermissionRequest`.

3901 3913 

3902<h3 id="how-agent-hooks-work">3914<h3 id="how-agent-hooks-work">

3903 Wie Agent-Hooks funktionieren3915 Wie Agent-Hooks funktionieren

Details

24 24 

25Sie sind auch Teil dieser Schleife. Sie können jederzeit unterbrechen, um Claude in eine andere Richtung zu lenken, zusätzlichen Kontext bereitzustellen oder ihn zu bitten, einen anderen Ansatz zu versuchen. Claude arbeitet autonom, bleibt aber responsiv gegenüber Ihrer Eingabe.25Sie sind auch Teil dieser Schleife. Sie können jederzeit unterbrechen, um Claude in eine andere Richtung zu lenken, zusätzlichen Kontext bereitzustellen oder ihn zu bitten, einen anderen Ansatz zu versuchen. Claude arbeitet autonom, bleibt aber responsiv gegenüber Ihrer Eingabe.

26 26 

27Die agentengesteuerte Schleife wird von zwei Komponenten angetrieben: [Modellen](#models), die denken, und [Tools](#tools), die handeln. Claude Code dient als **agentengesteuerte Umgebung** um Claude: Sie bietet die Tools, Kontextverwaltung und Ausführungsumgebung, die ein Sprachmodell in einen fähigen Codierungs-Agenten verwandeln.27Die agentengesteuerte Schleife wird von zwei Komponenten angetrieben: [Modellen](#models), die denken, und [Tools](#tools), die handeln. Claude Code ist die Schicht um das Modell, die die Tools bereitstellt und den Kontext verwaltet, den das Modell sieht. Diese umgebende Schicht ist das, worauf sich der Begriff agentengesteuerte Umgebung bezieht.

28 28 

29<h3 id="models">29<h3 id="models">

30 Modelle30 Modelle


238 Unterbrechen und lenken238 Unterbrechen und lenken

239</h4>239</h4>

240 240 

241Sie können Claude jederzeit unterbrechen, ohne auf das Ende des Durchgangs zu warten oder von vorne anzufangen:241Sie können Claude jederzeit umleiten, ohne von vorne anzufangen. Tun Sie eines der folgenden:

242 242 

243* **Drücken Sie `Esc`**, um Claude sofort zu stoppen. Der laufende Toolaufruf wird abgebrochen und Claude wartet auf Ihre nächste Anweisung. Wenn Sie Nachrichten in der Warteschlange haben, sendet Claude Code [sie als nächstes](/docs/de/interactive-mode#queue-messages-while-claude-works).243* **Drücken Sie `Esc`**, um Claude sofort zu stoppen. Der laufende Toolaufruf wird abgebrochen und Claude wartet auf Ihre nächste Anweisung. Wenn Sie Nachrichten in der Warteschlange haben, sendet Claude Code [sie als nächstes](/docs/de/interactive-mode#queue-messages-while-claude-works).

244* **Geben Sie eine Korrektur ein und drücken Sie `Enter`**, um sie zu senden, ohne das laufende Tool zu stoppen. Claude liest sie, sobald die aktuelle Aktion abgeschlossen ist, und passt sich an, bevor er seinen nächsten Schritt entscheidet.244* **Geben Sie eine Korrektur ein und drücken Sie `Enter`**, ohne Claude zu stoppen. Die Nachricht wird oben im Eingabefeld als in der Warteschlange angezeigt. Wenn Claude Toolaufrufe ausführt, liest es die Nachricht, sobald diese Aufrufe abgeschlossen sind, innerhalb desselben Durchgangs, und passt sich an, bevor es seinen nächsten Schritt ausführt. [Nachrichten in die Warteschlange einreihen, während Claude arbeitet](/docs/de/interactive-mode#queue-messages-while-claude-works) behandelt, wann andere in der Warteschlange befindliche Einträge gesendet werden.

245 245 

246<h3 id="delegate-don’t-dictate">246<h3 id="delegate-don’t-dictate">

247 Delegieren, nicht diktieren247 Delegieren, nicht diktieren

Details

26| `Ctrl+X Ctrl+K` | Alle laufenden [Hintergrund-Subagenten](/docs/de/sub-agents#run-subagents-in-foreground-or-background) in dieser Sitzung stoppen und [automatische Artefakt-Antworten](/docs/de/artifacts#let-claude-reply-to-comments-on-its-own) für den Rest deaktivieren. Zweimal innerhalb von 3 Sekunden drücken, um zu bestätigen | Subagenten-Steuerung |26| `Ctrl+X Ctrl+K` | Alle laufenden [Hintergrund-Subagenten](/docs/de/sub-agents#run-subagents-in-foreground-or-background) in dieser Sitzung stoppen und [automatische Artefakt-Antworten](/docs/de/artifacts#let-claude-reply-to-comments-on-its-own) für den Rest deaktivieren. Zweimal innerhalb von 3 Sekunden drücken, um zu bestätigen | Subagenten-Steuerung |

27| `Ctrl+D` | Claude Code-Sitzung beenden | Der erste Druck zeigt einen Bestätigungshinweis und ein zweiter Druck innerhalb von 800 ms beendet die Sitzung. Wenn die Eingabeaufforderung Text enthält, löscht `Ctrl+D` das Zeichen nach dem Cursor |27| `Ctrl+D` | Claude Code-Sitzung beenden | Der erste Druck zeigt einen Bestätigungshinweis und ein zweiter Druck innerhalb von 800 ms beendet die Sitzung. Wenn die Eingabeaufforderung Text enthält, löscht `Ctrl+D` das Zeichen nach dem Cursor |

28| `Ctrl+G` oder `Ctrl+X Ctrl+E` | Im Standard-Texteditor öffnen | Bearbeiten Sie Ihre Eingabeaufforderung oder benutzerdefinierte Antwort in Ihrem Standard-Texteditor. `Ctrl+X Ctrl+E` ist die readline-native Bindung. Aktivieren Sie **Letzte Antwort im externen Editor anzeigen** in `/config`, um Claudes vorherige Antwort als `#`-kommentierter Kontext über Ihrer Eingabeaufforderung einzufügen; Claude Code entfernt den Kommentarblock, wenn Sie speichern |28| `Ctrl+G` oder `Ctrl+X Ctrl+E` | Im Standard-Texteditor öffnen | Bearbeiten Sie Ihre Eingabeaufforderung oder benutzerdefinierte Antwort in Ihrem Standard-Texteditor. `Ctrl+X Ctrl+E` ist die readline-native Bindung. Aktivieren Sie **Letzte Antwort im externen Editor anzeigen** in `/config`, um Claudes vorherige Antwort als `#`-kommentierter Kontext über Ihrer Eingabeaufforderung einzufügen; Claude Code entfernt den Kommentarblock, wenn Sie speichern |

29| `Ctrl+L` | Bildschirm neu zeichnen oder löschen | Erzwingt ein vollständiges Terminal-Neuzeichnen, wobei Eingabe und Gesprächsverlauf erhalten bleiben. Verwenden Sie dies, um die Anzeige wiederherzustellen, wenn sie verzerrt oder teilweise leer wird. Im [Vollbildmodus](/docs/de/fullscreen#clear-the-conversation) löscht es auch den Bildschirm, und Sie können nach oben scrollen, um die früheren Nachrichten anzuzeigen |29| `Ctrl+L` | Bildschirm neu zeichnen | Erzwingt ein vollständiges Terminal-Neuzeichnen, wobei Eingabe und Gesprächsverlauf erhalten bleiben. Verwenden Sie dies, um die Anzeige wiederherzustellen, wenn sie verzerrt oder teilweise leer wird. Siehe [Gespräch löschen](/docs/de/fullscreen#clear-the-conversation) für Vollbildmodus |

30| `Ctrl+O` | Transkript-Viewer umschalten | Zeigt detaillierte Werkzeugnutzung und Ausführung mit einem Zeitstempel und dem verwendeten Modell bei jeder Assistentnachricht. Erweitert auch Zeilen, die standardmäßig zusammengeklappt sind, wie MCP-Aufrufe, die als einzelne `Called slack 3 times`-Zeile angezeigt werden, und [Nachrichten aus Ihren anderen Sitzungen](/docs/de/cross-session-messaging#what-a-message-looks-like), die als einzeilige `Message from @<sender>`-Vorschau angezeigt werden |30| `Ctrl+O` | Transkript-Viewer umschalten | Zeigt detaillierte Werkzeugnutzung und Ausführung mit einem Zeitstempel und dem verwendeten Modell bei jeder Assistentnachricht. Erweitert auch Zeilen, die standardmäßig zusammengeklappt sind, wie MCP-Aufrufe, die als einzelne `Called slack 3 times`-Zeile angezeigt werden, und [Nachrichten aus Ihren anderen Sitzungen](/docs/de/cross-session-messaging#what-a-message-looks-like), die als einzeilige `Message from @<sender>`-Vorschau angezeigt werden |

31| `Ctrl+R` | Befehlsverlauf rückwärts durchsuchen | Durchsuchen Sie vorherige Befehle interaktiv |31| `Ctrl+R` | Befehlsverlauf rückwärts durchsuchen | Durchsuchen Sie vorherige Befehle interaktiv |

32| `Ctrl+V` oder `Cmd+V` (iTerm2) oder `Alt+V` (Windows und WSL) | Bild aus Zwischenablage einfügen | Fügt einen `[Image #N]`-Chip am Cursor ein, damit Sie ihn positionell in Ihrer Eingabeaufforderung referenzieren können. Unter WSL sind sowohl `Ctrl+V` als auch `Alt+V` gebunden; verwenden Sie `Alt+V`, wenn Ihr Terminal `Ctrl+V` abfängt |32| `Ctrl+V` oder `Cmd+V` (iTerm2) oder `Alt+V` (Windows und WSL) | Bild aus Zwischenablage einfügen | Fügt einen `[Image #N]`-Chip am Cursor ein, damit Sie ihn positionell in Ihrer Eingabeaufforderung referenzieren können. Unter WSL sind sowohl `Ctrl+V` als auch `Alt+V` gebunden; verwenden Sie `Alt+V`, wenn Ihr Terminal `Ctrl+V` abfängt |


42| `Ctrl+Enter` oder `Ctrl+X Ctrl+S` | Warteschlangen-Nachrichten jetzt senden | Unterbricht den aktuellen Zug, damit Ihre [Nachrichten in der Warteschlange](#queue-messages-while-claude-works) und Ihr Entwurf mit ihnen sofort ausgehen, anstatt wenn der Zug endet. Im [Shell-Modus](#shell-mode-with-prefix) reiht der Schlüssel Ihren Befehl in die Warteschlange ein, ohne zu unterbrechen. In Terminals, die erweiterte Tasten nicht melden, kommt `Ctrl+Enter` als einfaches `Enter` an; `Ctrl+X Ctrl+S` funktioniert in jedem Terminal. Erfordert Claude Code v2.1.275 oder später |42| `Ctrl+Enter` oder `Ctrl+X Ctrl+S` | Warteschlangen-Nachrichten jetzt senden | Unterbricht den aktuellen Zug, damit Ihre [Nachrichten in der Warteschlange](#queue-messages-while-claude-works) und Ihr Entwurf mit ihnen sofort ausgehen, anstatt wenn der Zug endet. Im [Shell-Modus](#shell-mode-with-prefix) reiht der Schlüssel Ihren Befehl in die Warteschlange ein, ohne zu unterbrechen. In Terminals, die erweiterte Tasten nicht melden, kommt `Ctrl+Enter` als einfaches `Enter` an; `Ctrl+X Ctrl+S` funktioniert in jedem Terminal. Erfordert Claude Code v2.1.275 oder später |

43| `Shift+Tab` oder `Alt+M` unter Windows, wenn die Node- oder Bun-Laufzeit den VT-Eingabemodus nicht aktiviert | Berechtigungsmodi durchlaufen | Durchlaufen Sie `default` (im Modusindikator als Manuell gekennzeichnet), `acceptEdits`, `plan` und, falls verfügbar, `bypassPermissions` und dann `auto`. Von `auto` wechselt der erste Druck zu `default`. Siehe [Berechtigungsmodi](/docs/de/permission-modes). Bei einer Dateiberechtigungsaufforderung schließt dieselbe Taste ein offenes [Kommentarfeld](/docs/de/permissions#add-a-comment-when-you-answer-a-permission-prompt). Ohne offenes Feld wählt es die Option aus, die die Aktion für den Rest der Sitzung ermöglicht, wenn die Aufforderung diese Option anbietet |43| `Shift+Tab` oder `Alt+M` unter Windows, wenn die Node- oder Bun-Laufzeit den VT-Eingabemodus nicht aktiviert | Berechtigungsmodi durchlaufen | Durchlaufen Sie `default` (im Modusindikator als Manuell gekennzeichnet), `acceptEdits`, `plan` und, falls verfügbar, `bypassPermissions` und dann `auto`. Von `auto` wechselt der erste Druck zu `default`. Siehe [Berechtigungsmodi](/docs/de/permission-modes). Bei einer Dateiberechtigungsaufforderung schließt dieselbe Taste ein offenes [Kommentarfeld](/docs/de/permissions#add-a-comment-when-you-answer-a-permission-prompt). Ohne offenes Feld wählt es die Option aus, die die Aktion für den Rest der Sitzung ermöglicht, wenn die Aufforderung diese Option anbietet |

44| `Option+P` (macOS) oder `Alt+P` (Windows/Linux) | Modell wechseln | Wechseln Sie Modelle, ohne Ihre Eingabeaufforderung zu löschen |44| `Option+P` (macOS) oder `Alt+P` (Windows/Linux) | Modell wechseln | Wechseln Sie Modelle, ohne Ihre Eingabeaufforderung zu löschen |

45| `Option+T` (macOS) oder `Alt+T` (Windows/Linux) | Erweitertes Denken umschalten | Aktivieren oder deaktivieren Sie den erweiterten Denkmodus. Hat keine Auswirkung auf Fable 5.1 oder Fable 5, die immer erweitertes Denken verwenden. Funktioniert auf macOS ohne Konfiguration von Option als Meta |45| `Option+T` (macOS) oder `Alt+T` (Windows/Linux) | Erweitertes Denken umschalten | Aktivieren oder deaktivieren Sie den erweiterten Denkmodus. Hat keine Auswirkung auf Opus 5.5 oder die Fable-Modelle, die immer erweitertes Denken verwenden. Funktioniert auf macOS ohne Konfiguration von Option als Meta |

46| `Option+O` (macOS) oder `Alt+O` (Windows/Linux) | Schnellmodus umschalten | Aktivieren oder deaktivieren Sie den [Schnellmodus](/docs/de/fast-mode) |46| `Option+O` (macOS) oder `Alt+O` (Windows/Linux) | Schnellmodus umschalten | Aktivieren oder deaktivieren Sie den [Schnellmodus](/docs/de/fast-mode) |

47 47 

48<h3 id="text-editing">48<h3 id="text-editing">


593 593 

594Um herauszufinden, welches dieser Ereignisse passiert ist, starten Sie `claude --debug` mit aktivierter Rechtschreibprüfung und geben Sie ein Wort ein. Suchen Sie dann nach den `[spellcheck]`-Zeilen im Debug-Protokoll unter `~/.claude/debug/<session-id>.txt`. Eine Zeile nennt das Programm, das Claude Code gestartet hat, oder listet die auf, die es gesucht hat und nicht gefunden hat. Spätere Zeilen sagen, warum es gestoppt hat. Ein Fehler „missing-dictionary" dort bedeutet, dass der Checker kein Wörterbuch für Ihren `language`-Wert hat, oder kein Standardwörterbuch, wenn `language` nicht gesetzt ist. Installieren Sie eines, oder setzen Sie `language` auf ein Wörterbuch, das Sie haben.594Um herauszufinden, welches dieser Ereignisse passiert ist, starten Sie `claude --debug` mit aktivierter Rechtschreibprüfung und geben Sie ein Wort ein. Suchen Sie dann nach den `[spellcheck]`-Zeilen im Debug-Protokoll unter `~/.claude/debug/<session-id>.txt`. Eine Zeile nennt das Programm, das Claude Code gestartet hat, oder listet die auf, die es gesucht hat und nicht gefunden hat. Spätere Zeilen sagen, warum es gestoppt hat. Ein Fehler „missing-dictionary" dort bedeutet, dass der Checker kein Wörterbuch für Ihren `language`-Wert hat, oder kein Standardwörterbuch, wenn `language` nicht gesetzt ist. Installieren Sie eines, oder setzen Sie `language` auf ein Wörterbuch, das Sie haben.

595 595 

596<h2 id="invisible-characters-in-prompts">

597 Unsichtbare Zeichen in Eingabeaufforderungen

598</h2>

599 

600Eingefügter Text kann Unicode-Zeichen enthalten, die ein Terminal überhaupt nicht anzeigt, wie Tag-Zeichen, bidirektionale Steuerzeichen und Leerzeichen mit Nullbreite, sodass eine Eingabeaufforderung Text enthalten kann, den Sie nie sehen. Um zu verhindern, dass kopierter Text Anweisungen enthält, die Ihr Terminal nicht anzeigt, entfernt Claude Code diese Zeichen, wenn Sie die Eingabetaste drücken, bevor etwas gesendet wird. Es bereinigt sowohl die Eingabeaufforderung als auch den Inhalt aller [eingefügten Textreferenzen](/docs/de/terminal-config#paste-large-content), die die Eingabeaufforderung enthält. Claude Code behält die Verbinder bei, die persische und indische Schriften schreiben, sowie die Selektoren in Emoji-Sequenzen.

601 

602Wenn Claude Code etwas entfernt hat, sendet diese Eingabetaste nichts. Die bereinigte Eingabeaufforderung wird mit einer Meldung wie `3 unsichtbare Zeichen entfernt · überprüfen und Eingabetaste drücken zum Senden` in das Eingabefeld zurückgesetzt, und das erneute Drücken der Eingabetaste sendet den Text wie angezeigt.

603 

604Wenn Sie eine Eingabeaufforderung in der Befehlszeile übergeben, wie in `claude "fix the login bug"`, oder eine in eine interaktive Sitzung weiterleiten, wartet Claude Code nicht auf eine zweite Eingabetaste. Es entfernt die Zeichen, zeigt eine Meldung an und sendet die bereinigte Eingabeaufforderung. Wenn die bereinigte Eingabeaufforderung mit `/` beginnen würde, setzt Claude Code sie in das Eingabefeld, damit Sie sie überprüfen und senden können.

605 

596<h2 id="review-changes-with-/diff">606<h2 id="review-changes-with-/diff">

597 Änderungen mit /diff überprüfen607 Änderungen mit /diff überprüfen

598</h2>608</h2>

keybindings.md +30 −4

Details

114| Aktion | Standard | Beschreibung |114| Aktion | Standard | Beschreibung |

115| :-------------------- | :----------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |115| :-------------------- | :----------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

116| `chat:cancel` | Escape | Aktuelle Eingabe abbrechen |116| `chat:cancel` | Escape | Aktuelle Eingabe abbrechen |

117| `chat:clearInput` | Ctrl+L | Vollständiges Bildschirm-Neuzeichnen erzwingen, Eingabe und Konversation beibehalten. Im [Vollbildrendering](/docs/de/fullscreen#clear-the-conversation) auch den Bildschirm löschen |117| `chat:clearInput` | Ctrl+L | Vollständiges Bildschirm-Neuzeichnen erzwingen, Eingabe und Konversation beibehalten |

118| `chat:clearScreen` | Cmd+K | Dasselbe wie `chat:clearInput`. Siehe [Konversation löschen](/docs/de/fullscreen#clear-the-conversation), um zu erfahren, wie sich Cmd+K auf iTerm2 und Terminal.app verhält |118| `chat:clearScreen` | Cmd+K | Dasselbe wie `chat:clearInput`. Siehe [Konversation löschen](/docs/de/fullscreen#clear-the-conversation), um zu erfahren, wie sich Cmd+K auf iTerm2 und Terminal.app verhält |

119| `chat:killAgents` | Ctrl+X Ctrl+K | Alle laufenden [Hintergrund-Subagenten](/docs/de/sub-agents#run-subagents-in-foreground-or-background) in dieser Sitzung beenden und [automatische Artefakt-Antworten](/docs/de/artifacts#let-claude-reply-to-comments-on-its-own) für den Rest der Sitzung ausschalten |119| `chat:killAgents` | Ctrl+X Ctrl+K | Alle laufenden [Hintergrund-Subagenten](/docs/de/sub-agents#run-subagents-in-foreground-or-background) in dieser Sitzung beenden und [automatische Artefakt-Antworten](/docs/de/artifacts#let-claude-reply-to-comments-on-its-own) für den Rest der Sitzung ausschalten |

120| `chat:cycleMode` | Shift+Tab\* | Berechtigungsmodi durchlaufen |120| `chat:cycleMode` | Shift+Tab\* | Berechtigungsmodi durchlaufen |


153 153 

154| Aktion | Standard | Beschreibung |154| Aktion | Standard | Beschreibung |

155| :---------------------- | :--------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |155| :---------------------- | :--------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

156| `confirm:yes` | Y, Enter | Aktion bestätigen |156| `confirm:yes` | Enter | Aktion bestätigen |

157| `confirm:no` | N, Escape | Aktion ablehnen |157| `confirm:no` | Escape | Aktion ablehnen |

158| `confirm:previous` | Oben | Vorherige Option |158| `confirm:previous` | Oben | Vorherige Option |

159| `confirm:next` | Unten | Nächste Option |159| `confirm:next` | Unten | Nächste Option |

160| `confirm:nextField` | Tab | Nächstes Feld |160| `confirm:nextField` | Tab | Nächstes Feld |


166 166 

167Vor v2.1.257 zeigte eine `confirm:toggleExplanation`-Aktion, standardmäßig an `Ctrl+E` gebunden, eine modellgenerierte Erklärung des Befehls bei Bash- und PowerShell-Berechtigungsaufforderungen.167Vor v2.1.257 zeigte eine `confirm:toggleExplanation`-Aktion, standardmäßig an `Ctrl+E` gebunden, eine modellgenerierte Erklärung des Befehls bei Bash- und PowerShell-Berechtigungsaufforderungen.

168 168 

169Dialoge verwenden `confirm:yes` und `confirm:no`, um zu akzeptieren und abzubrechen, auch wenn sie keine Ja-oder-Nein-Frage stellen. Wenn Sie einen bloßen Buchstaben wie `y` oder `n` in diesem Kontext binden, wirkt sich der Buchstabe auch auf Dialoge aus, die ihn nie als Taste anzeigen. Ein Dialog, der `y` und `n` als seine Tasten anzeigt, liest diese Buchstaben selbst und benötigt keine Bindung.

170 

171Dieses Beispiel bindet `y` an `confirm:yes` und `n` an `confirm:no`:

172 

173```json theme={null}

174{

175 "bindings": [

176 {

177 "context": "Confirmation",

178 "bindings": {

179 "y": "confirm:yes",

180 "n": "confirm:no"

181 }

182 }

183 ]

184}

185```

186 

187Vor v2.1.280 waren `y` auch an `confirm:yes` und `n` an `confirm:no` standardmäßig gebunden. Wenn Sie Ihre `keybindings.json` mit `/keybindings` vor v2.1.280 erstellt haben, listet die Datei beide Bindungen auf und sie bleiben wirksam, bis Sie diese beiden Zeilen löschen.

188 

169<h3 id="permission-actions">189<h3 id="permission-actions">

170 Berechtigungsaktionen190 Berechtigungsaktionen

171</h3>191</h3>


275| `footer:clearSelection` | Escape | Fußzeilen-Auswahl löschen |295| `footer:clearSelection` | Escape | Fußzeilen-Auswahl löschen |

276| `footer:dismiss` | Rücktaste, Löschen | Ausgewählten [Artefakt](/docs/de/artifacts)-Link aus der Fußzeile entfernen; das veröffentlichte Artefakt selbst ist nicht betroffen. Bei anderen Fußzeilenzeilen haben diese Tasten keine Auswirkung. Erfordert v2.1.217 oder später |296| `footer:dismiss` | Rücktaste, Löschen | Ausgewählten [Artefakt](/docs/de/artifacts)-Link aus der Fußzeile entfernen; das veröffentlichte Artefakt selbst ist nicht betroffen. Bei anderen Fußzeilenzeilen haben diese Tasten keine Auswirkung. Erfordert v2.1.217 oder später |

277 297 

298Während ein Fußzeilen-Element ausgewählt ist, wie eine Zeile im Agent-Panel unter der Eingabeaufforderung, öffnet `Enter` es auch, wenn Sie `Enter` im `Chat`-Kontext zu `chat:queueSubmit` oder `chat:newline` neu binden.

299 

300`Chat`-Bindungen auf Tasten, die der `Footer`-Kontext nicht bindet, wie `Shift+Tab` für `chat:cycleMode`, funktionieren weiterhin, während ein Element ausgewählt ist.

301 

278<h3 id="message-selector-actions">302<h3 id="message-selector-actions">

279 Nachrichtenauswahl-Aktionen303 Nachrichtenauswahl-Aktionen

280</h3>304</h3>


370| `select:accept` | Enter | Auswahl akzeptieren |394| `select:accept` | Enter | Auswahl akzeptieren |

371| `select:cancel` | Escape | Auswahl abbrechen |395| `select:cancel` | Escape | Auswahl abbrechen |

372 396 

373Claude Code wendet Ihre `select:pageUp`-, `select:pageDown`-, `select:first`- und `select:last`-Bindungen im `/skills`-Menü an. In den meisten anderen Listen, wie dem `/model`-Picker, blättert Claude Code mit Bild-Auf und Bild-Ab, unabhängig von Ihren Bindungen, und ignoriert Pos1 und Ende.397Claude Code wendet Ihre `select:pageUp`-, `select:pageDown`-, `select:first`- und `select:last`-Bindungen im `/skills`-Menü an. In den meisten anderen Listen, wie dem `/model`-Picker, gelten Ihre `select:first`- und `select:last`-Bindungen. Bild-Auf und Bild-Ab blättern durch die Optionen in diesen Listen unabhängig von Ihren Bindungen.

398 

399Vor v2.1.280 ignorierten diese anderen Listen Pos1, Ende und Ihre `select:first`- und `select:last`-Bindungen.

374 400 

375<h3 id="plugin-actions">401<h3 id="plugin-actions">

376 Plugin-Aktionen402 Plugin-Aktionen

Details

255 255 

256Dies ist besonders nützlich für [Subagenten-Worktree-Isolation](/docs/de/worktrees#isolate-subagents-with-worktrees). Subagenten sind parallele Claude-Instanzen, die für Unteraufgaben spawned werden, und jede, die in einem Worktree läuft, bekommt einen leichtgewichtigen Checkout anstelle des vollständigen Baums. Alle Worktrees in einer Sitzung teilen die gleichen `sparsePaths`, daher wenn ein Subagent `packages/api/` benötigt und ein anderer `packages/web/` benötigt, listen Sie beide auf.256Dies ist besonders nützlich für [Subagenten-Worktree-Isolation](/docs/de/worktrees#isolate-subagents-with-worktrees). Subagenten sind parallele Claude-Instanzen, die für Unteraufgaben spawned werden, und jede, die in einem Worktree läuft, bekommt einen leichtgewichtigen Checkout anstelle des vollständigen Baums. Alle Worktrees in einer Sitzung teilen die gleichen `sparsePaths`, daher wenn ein Subagent `packages/api/` benötigt und ein anderer `packages/web/` benötigt, listen Sie beide auf.

257 257 

258Listen Sie Verzeichnisse in `sparsePaths` auf, nicht einzelne Dateien. Root-Level-Dateien wie `package.json`, `tsconfig.base.json` und Lock-Dateien werden immer neben den Verzeichnissen ausgecheckt, die Sie auflisten. Root-Level-Verzeichnisse sind nicht, daher schließen Sie `.claude` in die Liste ein, wenn Sie die `.claude/settings.json`, `.claude/rules/` oder `.claude/skills/` des Repository-Roots im Worktree verfügbar haben möchten.258Listen Sie Verzeichnisse in `sparsePaths` auf, nicht einzelne Dateien. Root-Level-Dateien wie `package.json`, `tsconfig.base.json` und Lock-Dateien werden immer neben den Verzeichnissen ausgecheckt, die Sie auflisten. Root-Level-Verzeichnisse sind nicht, daher schließen Sie `.claude` in die Liste ein, wenn Sie das Repository-Root's `.claude/settings.json` oder `.claude/rules/` im Worktree verfügbar haben möchten. Für Projekt-Skills, Agenten und Befehle siehe [Was Worktrees mit dem Haupt-Checkout teilen](/docs/de/worktrees#what-worktrees-share-with-the-main-checkout).

259 259 

260Sparse Checkout erfordert, dass Git `extensions.worktreeConfig` in der gemeinsamen `.git/config` des Repositorys aktiviert, während ein Sparse-Worktree existiert. Claude Code entfernt diesen Eintrag nach dem Entfernen des letzten Worktrees, aber nur wenn Claude Code ihn hinzugefügt hat. Es entfernt niemals einen Wert, den Sie selbst gesetzt haben. Vor v2.1.207 blieb der Eintrag nach dem Entfernen des letzten Worktrees bestehen, und Go-Git-basierte Tools wie `tea` konnten das Repository nicht öffnen, bis Sie `git config --unset extensions.worktreeConfig` ausführten.260Sparse Checkout erfordert, dass Git `extensions.worktreeConfig` in der gemeinsamen `.git/config` des Repositorys aktiviert, während ein Sparse-Worktree existiert. Claude Code entfernt diesen Eintrag nach dem Entfernen des letzten Worktrees, aber nur wenn Claude Code ihn hinzugefügt hat. Es entfernt niemals einen Wert, den Sie selbst gesetzt haben. Vor v2.1.207 blieb der Eintrag nach dem Entfernen des letzten Worktrees bestehen, und Go-Git-basierte Tools wie `tea` konnten das Repository nicht öffnen, bis Sie `git config --unset extensions.worktreeConfig` ausführten.

261 261 

Details

578Dies sind die häufigsten Fehler beim Ausführen von Claude Code über ein Gateway, mit der Gateway-seitigen Ursache und der Behebung:578Dies sind die häufigsten Fehler beim Ausführen von Claude Code über ein Gateway, mit der Gateway-seitigen Ursache und der Behebung:

579 579 

580| Fehler | Ursache | Behebung |580| Fehler | Ursache | Behebung |

581| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |581| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

582| Eine Start-Warnung, die zwei Anmeldedaten-Quellen benennt und mit `auth may not work as expected` endet. Ältere Versionen zeigen stattdessen `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` an. | Eine Gateway-Anmeldedaten und ein gespeicherter Login sind beide aktiv; die Variable wird für Anfragen verwendet, aber der veraltete Login kann zu unerwartetem Auth-Verhalten führen | Heben Sie die Festlegung der Variable auf, um den gespeicherten Login zu verwenden, oder führen Sie `/logout` aus, um die Gateway-Anmeldedaten zu verwenden |582| Eine Start-Warnung, die zwei Anmeldedaten-Quellen benennt und mit `auth may not work as expected` endet. Ältere Versionen zeigen stattdessen `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` an. | Eine Gateway-Anmeldedaten und ein gespeicherter Login sind beide aktiv; die Variable wird für Anfragen verwendet, aber der veraltete Login kann zu unerwartetem Auth-Verhalten führen | Heben Sie die Festlegung der Variable auf, um den gespeicherten Login zu verwenden, oder führen Sie `/logout` aus, um die Gateway-Anmeldedaten zu verwenden |

583| `401`-Fehler, die ein ungültiges oder nicht erkanntes Token benennen | Die Anmeldedaten sind nicht eine, die das Gateway ausgestellt hat, oder sie sind in einem Header, den das Gateway nicht liest | Bestätigen Sie, dass die Variable Ihrer Anmeldedaten-Art in der [Anmeldedaten-Tabelle](#set-the-credential-variable) entspricht, und generieren Sie den Schlüssel beim Gateway neu, wenn er widerrufen wurde |583| `401`-Fehler, die ein ungültiges oder nicht erkanntes Token benennen | Die Anmeldedaten sind nicht eine, die das Gateway ausgestellt hat, oder sie sind in einem Header, den das Gateway nicht liest | Bestätigen Sie, dass die Variable Ihrer Anmeldedaten-Art in der [Anmeldedaten-Tabelle](#set-the-credential-variable) entspricht, und generieren Sie den Schlüssel beim Gateway neu, wenn er widerrufen wurde |

584| `Your apiKeyHelper script is failing`, oder `apiKeyHelper failed:` auf stderr im nicht-interaktiven Modus | Der Befehl in der [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper)-Einstellung hat keinen verwendbaren Schlüssel erzeugt, daher enthalten Anfragen einen Platzhalter-Schlüssel | Führen Sie den Befehl direkt aus, um zu sehen, warum er fehlschlägt, und authentifizieren Sie sich erneut bei Ihrem Anmeldedaten-Anbieter, wenn dieser eine abgelaufene Sitzung meldet; siehe [die Fehlerreferenz](/docs/de/errors#your-apikeyhelper-script-is-failing) |584| `Your apiKeyHelper script is failing`, oder `apiKeyHelper failed:` auf stderr im nicht-interaktiven Modus | Der Befehl in der [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper)-Einstellung hat keinen verwendbaren Schlüssel erzeugt, daher enthalten Anfragen einen Platzhalter-Schlüssel | Führen Sie den Befehl direkt aus, um zu sehen, warum er fehlschlägt, und authentifizieren Sie sich erneut bei Ihrem Anmeldedaten-Anbieter, wenn dieser eine abgelaufene Sitzung meldet; siehe [die Fehlerreferenz](/docs/de/errors#your-apikeyhelper-script-is-failing) |


588| `400`-Fehler, die `thinking` oder `adaptive` benennen, z. B. `Input tag 'adaptive' found` | Der Upstream-Modell-Build akzeptiert keine adaptive Überlegung, die Claude Code für Claude 4.6 und neuere Modelle anfordert | Aktualisieren Sie den Upstream des Gateways. Auf Opus 4.6 und Sonnet 4.6 funktioniert stattdessen `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`. Die [Modellkonfiguration](/docs/de/model-config)-Fähigkeitsvariablen gelten nur für die Anbieter-Konfigurationen, z. B. `CLAUDE_CODE_USE_BEDROCK` und `CLAUDE_CODE_USE_VERTEX`, nicht hinter einem `ANTHROPIC_BASE_URL`-Gateway |588| `400`-Fehler, die `thinking` oder `adaptive` benennen, z. B. `Input tag 'adaptive' found` | Der Upstream-Modell-Build akzeptiert keine adaptive Überlegung, die Claude Code für Claude 4.6 und neuere Modelle anfordert | Aktualisieren Sie den Upstream des Gateways. Auf Opus 4.6 und Sonnet 4.6 funktioniert stattdessen `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`. Die [Modellkonfiguration](/docs/de/model-config)-Fähigkeitsvariablen gelten nur für die Anbieter-Konfigurationen, z. B. `CLAUDE_CODE_USE_BEDROCK` und `CLAUDE_CODE_USE_VERTEX`, nicht hinter einem `ANTHROPIC_BASE_URL`-Gateway |

589| `400`-Fehler, die einen Kontext- oder Token-Limit in den eigenen Worten des Gateways angeben, z. B. `ContextWindowExceededError` oder `prompt token count of N exceeds the limit of M` | Das Gateway erzwingt ein kleineres Kontext als das native Fenster des Modells und schreibt den Upstream-Fehler um, daher erkennt Claude Code ihn nicht als [zu-langer Fehler](/docs/de/errors#prompt-is-too-long) und komprimiert und versucht nicht automatisch erneut | Führen Sie `/compact` aus, um die Sitzung wiederherzustellen. Um dies zu verhindern, legen Sie `CLAUDE_CODE_AUTO_COMPACT_WINDOW` auf das Limit des Gateways fest; Claude Code begrenzt den Wert auf mindestens 100.000 Token und höchstens das Kontext-Fenster des Modells, daher kann ein Gateway-Limit unter 100.000 nicht abgeglichen werden und `/compact` bleibt die Wiederherstellung dort. Legen Sie auch `CLAUDE_CODE_MAX_OUTPUT_TOKENS` unter das Output-Limit des Gateway-Modells fest |589| `400`-Fehler, die einen Kontext- oder Token-Limit in den eigenen Worten des Gateways angeben, z. B. `ContextWindowExceededError` oder `prompt token count of N exceeds the limit of M` | Das Gateway erzwingt ein kleineres Kontext als das native Fenster des Modells und schreibt den Upstream-Fehler um, daher erkennt Claude Code ihn nicht als [zu-langer Fehler](/docs/de/errors#prompt-is-too-long) und komprimiert und versucht nicht automatisch erneut | Führen Sie `/compact` aus, um die Sitzung wiederherzustellen. Um dies zu verhindern, legen Sie `CLAUDE_CODE_AUTO_COMPACT_WINDOW` auf das Limit des Gateways fest; Claude Code begrenzt den Wert auf mindestens 100.000 Token und höchstens das Kontext-Fenster des Modells, daher kann ein Gateway-Limit unter 100.000 nicht abgeglichen werden und `/compact` bleibt die Wiederherstellung dort. Legen Sie auch `CLAUDE_CODE_MAX_OUTPUT_TOKENS` unter das Output-Limit des Gateway-Modells fest |

590| `400`-Fehler bei jeder Anfrage, in den eigenen Worten des Gateways, die das Eingabe-Schema eines Tools oder sein `pattern` ablehnen, auf Claude Code v2.1.265 bis v2.1.267 | Bei einem schrittweisen Rollout auf diesen Versionen trägt das [Artifact-Tool](/docs/de/artifacts#availability)-Schema einen regulären Ausdruck mit `\p{...}` Unicode-Zeichenklassen. Die Anthropic-API akzeptiert ihn, aber ein Gateway oder Upstream, der jedes Tool-Schema `pattern` mit seiner eigenen Regex-Engine überprüft, lehnt die gesamte Anfrage ab | Aktualisieren Sie auf v2.1.268 oder später, das den regulären Ausdruck nicht sendet. Auf einer betroffenen Version [deaktivieren Sie Artifacts](/docs/de/artifacts#disable-artifacts), das das Tool und sein Schema aus Anfragen entfernt |590| `400`-Fehler bei jeder Anfrage, in den eigenen Worten des Gateways, die das Eingabe-Schema eines Tools oder sein `pattern` ablehnen, auf Claude Code v2.1.265 bis v2.1.267 | Bei einem schrittweisen Rollout auf diesen Versionen trägt das [Artifact-Tool](/docs/de/artifacts#availability)-Schema einen regulären Ausdruck mit `\p{...}` Unicode-Zeichenklassen. Die Anthropic-API akzeptiert ihn, aber ein Gateway oder Upstream, der jedes Tool-Schema `pattern` mit seiner eigenen Regex-Engine überprüft, lehnt die gesamte Anfrage ab | Aktualisieren Sie auf v2.1.268 oder später, das den regulären Ausdruck nicht sendet. Auf einer betroffenen Version [deaktivieren Sie Artifacts](/docs/de/artifacts#disable-artifacts), das das Tool und sein Schema aus Anfragen entfernt |

591| `400`-Fehler bei jeder Anfrage, in den eigenen Worten des Gateways, die einen nicht erkannten Tool-Typ ablehnen, z. B. `Input tag 'advisor_20260301'`, auf Claude Code v2.1.275 | Bei einem schrittweisen Rollout auf dieser Version enthalten Anfragen einen [Advisor-Tool](/docs/de/advisor)-Eintrag, auch wenn der Advisor ausgeschaltet ist. Die Anthropic-API akzeptiert ihn, aber ein Gateway oder Upstream, der Tool-Typen validiert, lehnt die gesamte Anfrage ab; einer, der [Anfrage-Body-Felder unverändert weiterleitet](/docs/de/llm-gateway-protocol#forward-as-open-lists), leitet ihn unbeeinträchtigt durch. Der Eintrag ist eine Deklaration, die keinen Gesprächsinhalt trägt | Aktualisieren Sie auf v2.1.276 oder später, das den Eintrag nicht hinter einem `ANTHROPIC_BASE_URL`-Gateway sendet, es sei denn, Sie schalten den Advisor ein. Auf v2.1.275 legen Sie [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1`](/docs/de/env-vars) fest, das den Eintrag aus Anfragen entfernt |

591| Modelle fehlen im `/model`-Wähler | Gateway-Modellnamen sind nicht in der integrierten Liste von Claude Code enthalten, oder Claude Code zeigt eine [`modelPicker`](/docs/de/settings-reference#modelpicker)-Aufstellung, die die integrierten Optionen ersetzt | Aktivieren Sie die [Gateway-Modellermittlung](#add-gateway-models-to-the-model-picker) oder fügen Sie Namen mit den [Modellkonfiguration](/docs/de/model-config)-Variablen hinzu. Wenn Claude Code eine ersetzende `modelPicker`-Aufstellung zeigt, fügen Sie die Gateway-Modelle hinzu, oder bitten Sie Ihren Administrator, sie hinzuzufügen, wenn verwaltete Einstellungen es bereitstellen |592| Modelle fehlen im `/model`-Wähler | Gateway-Modellnamen sind nicht in der integrierten Liste von Claude Code enthalten, oder Claude Code zeigt eine [`modelPicker`](/docs/de/settings-reference#modelpicker)-Aufstellung, die die integrierten Optionen ersetzt | Aktivieren Sie die [Gateway-Modellermittlung](#add-gateway-models-to-the-model-picker) oder fügen Sie Namen mit den [Modellkonfiguration](/docs/de/model-config)-Variablen hinzu. Wenn Claude Code eine ersetzende `modelPicker`-Aufstellung zeigt, fügen Sie die Gateway-Modelle hinzu, oder bitten Sie Ihren Administrator, sie hinzuzufügen, wenn verwaltete Einstellungen es bereitstellen |

592| `/fast` meldet `Fast mode unavailable due to network connectivity issues` während Inferenz-Anfragen funktionieren | Die [Fast-Mode](/docs/de/fast-mode)-Verfügbarkeitsprüfung geht direkt zu `api.anthropic.com` und folgt nicht `ANTHROPIC_BASE_URL`, daher schlägt blockierter direkter Ausgang die Prüfung fehl. Die gleiche Nachricht erscheint in einem offenen Netzwerk, wenn die Prüfung einen vom Gateway ausgestellten Schlüssel von `ANTHROPIC_API_KEY` oder einem `apiKeyHelper` präsentiert und Anthropic ihn ablehnt | Allowlist `api.anthropic.com`, wenn Ausgang blockiert ist, oder legen Sie eine Skip-Variable fest; für einen abgelehnten Gateway-Schlüssel helfen nur die Skip-Variablen. Siehe [Fast-Mode hinter Proxys und LLM-Gateways verwenden](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |593| `/fast` meldet `Fast mode unavailable due to network connectivity issues` während Inferenz-Anfragen funktionieren | Die [Fast-Mode](/docs/de/fast-mode)-Verfügbarkeitsprüfung geht direkt zu `api.anthropic.com` und folgt nicht `ANTHROPIC_BASE_URL`, daher schlägt blockierter direkter Ausgang die Prüfung fehl. Die gleiche Nachricht erscheint in einem offenen Netzwerk, wenn die Prüfung einen vom Gateway ausgestellten Schlüssel von `ANTHROPIC_API_KEY` oder einem `apiKeyHelper` präsentiert und Anthropic ihn ablehnt | Allowlist `api.anthropic.com`, wenn Ausgang blockiert ist, oder legen Sie eine Skip-Variable fest; für einen abgelehnten Gateway-Schlüssel helfen nur die Skip-Variablen. Siehe [Fast-Mode hinter Proxys und LLM-Gateways verwenden](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |

593| `/fast` meldet `Fast mode has been disabled by your organization` in einer Sitzung, die mit `ANTHROPIC_AUTH_TOKEN` authentifiziert ist, obwohl die Organisation Fast-Mode aktiviert hat | Die Verfügbarkeitsprüfung erfordert einen claude.ai-Login oder einen Anthropic-API-Schlüssel; mit nur einem Bearer-Token behandelt Claude Code Fast-Mode als deaktiviert, ohne die Prüfung zu senden | Legen Sie `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` fest; siehe [Fast-Mode hinter Proxys und LLM-Gateways verwenden](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |594| `/fast` meldet `Fast mode has been disabled by your organization` in einer Sitzung, die mit `ANTHROPIC_AUTH_TOKEN` authentifiziert ist, obwohl die Organisation Fast-Mode aktiviert hat | Die Verfügbarkeitsprüfung erfordert einen claude.ai-Login oder einen Anthropic-API-Schlüssel; mit nur einem Bearer-Token behandelt Claude Code Fast-Mode als deaktiviert, ohne die Prüfung zu senden | Legen Sie `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` fest; siehe [Fast-Mode hinter Proxys und LLM-Gateways verwenden](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |

Details

144 144 

145Wenn Ihre Entwickler `ANTHROPIC_CUSTOM_HEADERS` setzen, erscheinen diese Header auch bei Anfragen.145Wenn Ihre Entwickler `ANTHROPIC_CUSTOM_HEADERS` setzen, erscheinen diese Header auch bei Anfragen.

146 146 

147<h3 id="gateway-hint-headers">

148 Gateway-Hinweis-Header

149</h3>

150 

151Claude Code kann auch Routing-Hinweise senden: anfragespezifische Fakten, die ein Gateway oder Router zum Planen, Zwischenspeichern oder Zuordnen einer Anfrage verwenden kann. Erfordert Claude Code v2.1.273 oder später.

152 

153Ob eine Anfrage diese trägt, hängt davon ab, wohin Claude Code sie sendet:

154 

155* Direkte Verbindung zur Anthropic API: standardmäßig gesendet

156* Benutzerdefinierte Basis-URL: standardmäßig deaktiviert, da ein Proxy, der unbekannte Header ablehnt, die Anfrage fehlschlagen würde. Um sie zu erhalten, setzen Sie [`CLAUDE_CODE_GATEWAY_HINT_HEADERS=1`](/docs/de/env-vars) für Ihre Entwickler, zum Beispiel im `env` Block von [verwalteten Einstellungen](/docs/de/managed-settings)

157* Jedes andere Backend, einschließlich Amazon Bedrock, Google Cloud Agent Platform, Microsoft Foundry und Claude Platform on AWS: nur gesendet, wenn `CLAUDE_CODE_GATEWAY_HINT_HEADERS=1` gesetzt ist

158 

159Das Setzen von `CLAUDE_CODE_GATEWAY_HINT_HEADERS` auf `0` stoppt die Header bei jeder Verbindung.

160 

161Die Header enthalten nur das, was die folgenden Zeilen auflisten: feste Vokabulare, Tool-Namen und Dauern, niemals Prompt-Text oder Dateiinhalte. Jeder Wert ist druckbares ASCII.

162 

163| Header | Beschreibung |

164| :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

165| `x-claude-code-request-class` | Welche Art von Anfrage dies ist: `main` für einen Zug des Hauptgesprächs, `subagent` für einen Zug eines [Subagenten](/docs/de/sub-agents), `workflow` für einen Agenten, der in einem Workflow läuft, `compaction` für die Zusammenfassungsanfrage, die ein Gespräch komprimiert, oder `auxiliary` für Seitenanfragen wie Sitzungstitel, Klassifizierer und Zusammenfassungen. Wird bei jeder Anfrage gesendet |

166| `x-claude-code-agent-type` | Die Art des Subagenten, der die Anfrage gestellt hat: ein Name eines integrierten Agententyps wie `Explore`, `Plan` oder `general-purpose`, oder `custom` für einen benutzerdefinierten Agenten, `teammate` für ein [Agenten-Team](/docs/de/agent-teams) Mitglied, das im Prozess des Leiters läuft, oder `fork` für einen [Fork](/docs/de/sub-agents#fork-the-current-conversation). Vorhanden nur bei den eigenen Zügen eines Subagenten; die Komprimierung oder Seitenanfragen eines Subagenten behalten die Agenten-ID, tragen aber keinen Typ. Ein vom Benutzer gewählter Agentenname wird niemals gesendet |

167| `x-claude-code-compaction` | Vorhanden bei der Anfrage, die das Gespräch während einer [Komprimierung](/docs/de/prompt-caching#compacting-the-conversation) zusammenfasst. Der Wert sagt, was sie ausgelöst hat: `auto`, wenn sich das Kontextfenster der Kapazität näherte, `manual` für `/compact`, oder `reactive`, wenn die API eine Anfrage als zu lang ablehnte. Abwesend bei jeder anderen Anfrage |

168| `x-claude-code-context-compacted` | Vorhanden einmal, bei der ersten Hauptgesprächs-Anfrage nach einer Komprimierung, mit den gleichen Werten wie `x-claude-code-compaction`. Das Gesprächspräfix vor dieser Anfrage wird nicht mehr verwendet, daher kann ein Cache, der darauf basiert, gelöscht werden |

169| `x-claude-code-prev-tool-durations` | Gemessene Laufzeit der Tool-Aufrufe, deren Ergebnisse diese Anfrage trägt, als `<name>=<ms>;<name>=<ms>`, zum Beispiel `Bash=742;Read=9`. Wird bei der nächsten Anfrage desselben Gesprächs nach einem Batch von Tool-Aufrufen gesendet, von der Hauptsitzung oder einem Subagenten |

170 

171Bevor Sie `x-claude-code-prev-tool-durations` analysieren, überprüfen Sie, wie Claude Code den Wert erstellt und was es auslässt:

172 

173* Einträge: einer pro Tool-Aufruf, der lief, in der Reihenfolge, in der sein Ergebnis erfasst wurde, in ganzen Millisekunden

174* Obergrenze: Claude Code sendet höchstens 32 Einträge und 4 KB, wobei die ersten Einträge beibehalten werden

175* Kodierung: Tool-Namen sind prozentual kodiert, abdeckend `%`, `;`, `=`, Komma, Leerzeichen und jedes Zeichen außerhalb druckbarem ASCII

176* Analyse: auf `;` teilen, dann auf `=`, und jeden Namen dekodieren

177* Abwesenheit: Komprimierungsaufrufe, Seitenanfragen und die erste Anfrage eines neuen Prompts tragen ihn niemals. Lesen Sie einen fehlenden Header nicht als einen Zug, der keine Tools lief

178* Zeiten: jede schließt Berechtigungsprompts und Hooks aus, und parallele Tool-Aufrufe berichten jeweils ihre eigene Zeit, daher addieren sich die Einträge nicht zur Lücke zwischen Anfragen

179 

147<h3 id="forward-as-open-lists">180<h3 id="forward-as-open-lists">

148 Weiterleitung als offene Listen181 Weiterleitung als offene Listen

149</h3>182</h3>


221 254 

222* Wenn das Upstream das `thinking` Feld, eine Mid-Conversation-Systemnachricht oder den `cache_control` Marker auf einer solchen Nachricht ablehnt, versucht Claude Code die Anfrage erneut und deaktiviert die abgelehnte Funktion für den Rest des Gesprächs255* Wenn das Upstream das `thinking` Feld, eine Mid-Conversation-Systemnachricht oder den `cache_control` Marker auf einer solchen Nachricht ablehnt, versucht Claude Code die Anfrage erneut und deaktiviert die abgelehnte Funktion für den Rest des Gesprächs

223* Wenn das Upstream eine [Thinking-Signatur](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) ablehnt, einschließlich mit einem `400` dessen Nachricht besagt, dass der Block `bound to a different conversation` ist, entfernt Claude Code frühere Thinking-Blöcke aus der Anfrage, versucht erneut und hält sie aus jeder späteren Anfrage heraus. Neue Antworten enthalten immer noch Thinking256* Wenn das Upstream eine [Thinking-Signatur](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) ablehnt, einschließlich mit einem `400` dessen Nachricht besagt, dass der Block `bound to a different conversation` ist, entfernt Claude Code frühere Thinking-Blöcke aus der Anfrage, versucht erneut und hält sie aus jeder späteren Anfrage heraus. Neue Antworten enthalten immer noch Thinking

257* Wenn das Gateway oder sein Upstream den [Advisor-Tool](/docs/de/advisor) Eintrag in `tools` als einen nicht erkannten Tool-Typ ablehnt, versucht Claude Code die Anfrage einmal ohne diesen Eintrag und seinen `anthropic-beta` Wert erneut. Spätere Anfragen an diese Basis-URL lassen den Advisor aus, bis Claude Code beendet wird, und `/advisor` ist für den Entwickler für diese Zeit nicht verfügbar. Claude Code erkennt diese Ablehnung durch eine `400` oder `422` Antwort, deren Nachricht den Tool-Typ nach `Input tag` benennt, wie z. B. `Input tag 'advisor_20260301'`. Vor v2.1.280 wiederholte Claude Code diese Ablehnung nicht

224* Claude Code versucht Ablehnungen von Kontextverwaltungs- oder Tool-Schema-Feldern nicht erneut, daher erreichen diese `400` Fehler den Entwickler258* Claude Code versucht Ablehnungen von Kontextverwaltungs- oder Tool-Schema-Feldern nicht erneut, daher erreichen diese `400` Fehler den Entwickler

225 259 

226Die `bound to a different conversation` Ablehnung kommt von der API-Überprüfung für [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking), die fehlschlägt, wenn `system`, `tools` oder frühere `messages` Inhalte sich von der Anfrage unterscheiden, die das Thinking produziert hat. Ein Gateway, das einen dieser Inhalte umschreibt, kann die Ablehnung selbst verursachen; [Libraries, proxies, and gateways](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways) behandelt, was unverändert durchgeleitet werden muss.260Die `bound to a different conversation` Ablehnung kommt von der API-Überprüfung für [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking), die fehlschlägt, wenn `system`, `tools` oder frühere `messages` Inhalte sich von der Anfrage unterscheiden, die das Thinking produziert hat. Ein Gateway, das einen dieser Inhalte umschreibt, kann die Ablehnung selbst verursachen; [Libraries, proxies, and gateways](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways) behandelt, was unverändert durchgeleitet werden muss.

Details

184| `ANTHROPIC_BASE_URL` | Sendet Claude Codes API-Anfragen an das Gateway anstelle von `api.anthropic.com` | Immer |184| `ANTHROPIC_BASE_URL` | Sendet Claude Codes API-Anfragen an das Gateway anstelle von `api.anthropic.com` | Immer |

185| `apiKeyHelper`, oder eine Anmeldedaten in `ANTHROPIC_AUTH_TOKEN` oder `ANTHROPIC_API_KEY` | Authentifiziert jede Anfrage an das Gateway. Der Helper führt einen Befehl aus, um den Schlüssel zu holen; die Variablen halten einen statischen Schlüssel, gesendet als `Authorization: Bearer` und `x-api-key` jeweils | Immer; eine der drei |185| `apiKeyHelper`, oder eine Anmeldedaten in `ANTHROPIC_AUTH_TOKEN` oder `ANTHROPIC_API_KEY` | Authentifiziert jede Anfrage an das Gateway. Der Helper führt einen Befehl aus, um den Schlüssel zu holen; die Variablen halten einen statischen Schlüssel, gesendet als `Authorization: Bearer` und `x-api-key` jeweils | Immer; eine der drei |

186| `ANTHROPIC_CUSTOM_HEADERS` | Fügt zusätzliche HTTP-Header zu jeder API-Anfrage hinzu | Ihr Gateway erfordert einen Mandanten- oder Routing-Header bei jeder Anfrage |186| `ANTHROPIC_CUSTOM_HEADERS` | Fügt zusätzliche HTTP-Header zu jeder API-Anfrage hinzu | Ihr Gateway erfordert einen Mandanten- oder Routing-Header bei jeder Anfrage |

187| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Sendet die [Gateway-Hint-Header](/docs/de/llm-gateway-protocol#gateway-hint-headers), die jede Anfrage für Routing- und Scheduling-Entscheidungen am Gateway klassifizieren. Erfordert Claude Code v2.1.273 oder später | Ihr Gateway liest die Hint-Header |

187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Fragt das `/v1/models` des Gateways beim Start ab und fügt die zurückgegebenen Namen zur `/model`-Auswahl hinzu | Ihr Gateway stellt `/v1/models` bereit und Sie möchten, dass die Auswahl der Entwickler von ihm gefüllt wird |188| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Fragt das `/v1/models` des Gateways beim Start ab und fügt die zurückgegebenen Namen zur `/model`-Auswahl hinzu | Ihr Gateway stellt `/v1/models` bereit und Sie möchten, dass die Auswahl der Entwickler von ihm gefüllt wird |

188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Stoppt Claude Code beim Senden von Pre-Release-Capability-Headern und Body-Feldern. [Deaktivieren Sie Pre-Release-Funktionen](/docs/de/llm-gateway-protocol#disable-pre-release-capabilities) behandelt den genauen Umfang | Ihr Gateway leitet zu einem Amazon Bedrock- oder Google Cloud Agent Platform-Upstream weiter, der Beta-Felder ablehnt. Siehe [Gateway-Anforderungen](#gateway-requirements) |189| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Stoppt Claude Code beim Senden von Pre-Release-Capability-Headern und Body-Feldern. [Deaktivieren Sie Pre-Release-Funktionen](/docs/de/llm-gateway-protocol#disable-pre-release-capabilities) behandelt den genauen Umfang | Ihr Gateway leitet zu einem Amazon Bedrock- oder Google Cloud Agent Platform-Upstream weiter, der Beta-Felder ablehnt. Siehe [Gateway-Anforderungen](#gateway-requirements) |

189| `ANTHROPIC_MODEL` oder [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/de/model-config) | Legen Sie fest, welchen Modellnamen Claude Code für die Hauptsitzung und für Hintergrund-Traffic anfordert | Ihr Gateway leitet Modellnamen weiter, die nicht Claude Codes Standardwerte entsprechen, oder Sie leiten [Hintergrund-Funktionalität](/docs/de/costs#background-token-usage) an ein anderes Modell weiter. Leiten Sie sowohl die Override-Namen als auch die integrierten Modell-IDs weiter, die Claude Code anfordert, wenn kein Override gesetzt ist, da einige Unter-Aufrufe unabhängig vom Override eine integrierte ID anfordern; [Modellkonfiguration](/docs/de/model-config) behandelt, welches Modell jeder Teil einer Sitzung verwendet |190| `ANTHROPIC_MODEL` oder [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/de/model-config) | Legen Sie fest, welchen Modellnamen Claude Code für die Hauptsitzung und für Hintergrund-Traffic anfordert | Ihr Gateway leitet Modellnamen weiter, die nicht Claude Codes Standardwerte entsprechen, oder Sie leiten [Hintergrund-Funktionalität](/docs/de/costs#background-token-usage) an ein anderes Modell weiter. Leiten Sie sowohl die Override-Namen als auch die integrierten Modell-IDs weiter, die Claude Code anfordert, wenn kein Override gesetzt ist, da einige Unter-Aufrufe unabhängig vom Override eine integrierte ID anfordern; [Modellkonfiguration](/docs/de/model-config) behandelt, welches Modell jeder Teil einer Sitzung verwendet |

Details

294<span id="verify-that-a-policy-is-in-force" />294<span id="verify-that-a-policy-is-in-force" />

295 295 

296<h2 id="check-that-a-policy-is-in-force">296<h2 id="check-that-a-policy-is-in-force">

297 Überprüfen Sie, dass eine Richtlinie in Kraft ist297 Überprüfen Sie, ob eine Richtlinie in Kraft ist

298</h2>298</h2>

299 299 

300Ein Entwickler meldet, dass eine Richtlinie nicht angewendet wird, oder Sie möchten einen Rollout bestätigen, bevor Sie ihn auf die Flotte schieben. Zwei Befehle auf diesem Rechner beantworten es: `/status` zeigt, welche verwaltete Quelle Claude Code ausgewählt hat, und `claude doctor` listet auf, was es gelöscht hat.300Ein Entwickler meldet, dass eine Richtlinie nicht angewendet wird, oder Sie möchten bestätigen, dass ein Rollout abgeschlossen wurde, bevor Sie es in der gesamten Flotte bereitstellen. Zwei Befehle auf diesem Computer beantworten dies: `/status` zeigt, welche verwaltete Quelle Claude Code ausgewählt hat, und `claude doctor` listet auf, was es verworfen hat.

301 301 

302<h3 id="read-the-source-in-/status">302<h3 id="read-the-source-in-/status">

303 Lesen Sie die Quelle in /status303 Lesen Sie die Quelle in /status

304</h3>304</h3>

305 305 

306Führen Sie auf dem Rechner des Entwicklers `/status` in Claude Code aus und lesen Sie die Zeile `Setting sources`. Wenn eine verwaltete Quelle in Kraft ist, listet die Zeile `Enterprise managed settings` mit der Quelle auf, die Claude Code in Klammern ausgewählt hat:306Führen Sie auf dem Computer des Entwicklers `/status` in Claude Code aus und lesen Sie die Zeile `Setting sources`. Wenn eine verwaltete Quelle in Kraft ist, listet die Zeile `Enterprise managed settings` mit der von Claude Code ausgewählten Quelle in Klammern auf:

307 307 

308* `(remote)`: Serververwaltete Einstellungen von claude.ai oder einem Gateway308* `(remote)`: servergesteuerte Einstellungen von claude.ai oder einem Gateway

309* `(plist)` oder `(HKLM)`: Eine MDM- oder Betriebssystemrichtlinie309* `(plist)` oder `(HKLM)`: eine MDM- oder Betriebssystemrichtlinie

310* `(file)`, `(drop-ins)` oder `(file + drop-ins)`: `managed-settings.json`, das Drop-in-Verzeichnis oder beide310* `(file)`, `(drop-ins)` oder `(file + drop-ins)`: `managed-settings.json`, das Drop-in-Verzeichnis oder beides

311* `(remote + file, merged)` oder eine andere Liste, die mit `, merged` endet: Ihre Organisation [komponiert jede verwaltete Quelle](#compose-every-managed-source), und Claude Code führte die aufgelisteten Quellen in die Richtlinie zusammen. Eine niedrigere Quelle kann immer noch `env`-Variablen liefern, ohne in der Liste zu erscheinen. Erfordert Claude Code v2.1.242 oder später311* `(remote + file, merged)` oder eine andere Liste, die mit `, merged` endet: Ihre Organisation [setzt jede verwaltete Quelle zusammen](#compose-every-managed-source), und Claude Code hat die aufgelisteten Quellen in die Richtlinie zusammengeführt. Eine niedrigere Quelle kann weiterhin `env`-Variablen bereitstellen, ohne in der Liste zu erscheinen. Erfordert Claude Code v2.1.242 oder später

312* `(HKCU)`: Der benutzerbearbeitbare Registrierungs-Fallback312* `(HKCU)`: das benutzergeschriebene Registrierungs-Fallback

313* `(parent process)`: Ein [Embedding-Host](#let-an-embedding-host-add-policy) lieferte restriktive Einstellungen313* `(parent process)`: ein [Embedding-Host](#let-an-embedding-host-add-policy) hat restriktive Einstellungen bereitgestellt

314* `(helper)`: Ein [`policyHelper`](/docs/de/settings-reference#policyhelper), der von der ausgewählten MDM- oder Dateiquelle konfiguriert wurde314* `(helper)`: ein [`policyHelper`](/docs/de/settings-reference#policyhelper), der von der ausgewählten MDM- oder Dateiquelle konfiguriert wird

315 315 

316Wenn Claude Code eine verwaltete Quelle auf dem Rechner fand und sie nicht auswählte, nennt eine zweite Zeile, `Skipped sources`, jede solche Quelle. Lesen Sie sie, um eine Richtlinie, die den Rechner nie erreichte, von einer zu unterscheiden, die ihn erreichte und die eine höherpriorisierte Quelle außer Kraft setzte. Erfordert Claude Code v2.1.242 oder später.316Wenn Claude Code eine verwaltete Quelle auf dem Computer gefunden hat und diese nicht ausgewählt hat, benennt eine zweite Zeile, `Skipped sources`, jede solche Quelle. Lesen Sie sie, um eine Richtlinie, die den Computer nie erreicht hat, von einer zu unterscheiden, die ihn erreicht hat und die eine höher priorisierte Quelle überschrieben hat. Erfordert Claude Code v2.1.242 oder später.

317 317 

318Wenn die Richtlinie nicht angewendet wird, sagt Ihnen die Zeile `Setting sources`, welches von zwei Problemen Sie haben:318Wenn die Richtlinie nicht angewendet wird, teilt Ihnen die Zeile `Setting sources` mit, welches von zwei Problemen Sie haben:

319 319 

320* **Die Zeile fehlt**: Claude Code fand keine verwaltete Quelle, die einen Richtlinienschlüssel bereitstellt.320* **Die Zeile fehlt**: Claude Code hat keine verwaltete Quelle gefunden, die einen Richtlinienschlüssel bereitstellt.

321 321 

322 Wenn Sie eine verwaltete Einstellungsdatei bereitgestellt haben, überprüfen Sie, dass sie sich am Pfad für das Betriebssystem befindet und dass sie einen [Richtlinienschlüssel](#how-claude-code-combines-managed-sources) anstelle nur der Steuerschlüssel enthält. Eine Datei, die kein gültiges JSON ist, erzeugt diesen Zustand nicht; Claude Code [weigert sich zu starten](#find-entries-claude-code-dropped) stattdessen.322 Wenn Sie eine verwaltete Einstellungsdatei bereitgestellt haben, überprüfen Sie, dass sie sich im Pfad für das Betriebssystem befindet und dass sie einen [Richtlinienschlüssel](#how-claude-code-combines-managed-sources) enthält, nicht nur die Steuerschlüssel. Eine Datei, die kein gültiges JSON ist, führt nicht zu diesem Zustand; Claude Code [weigert sich zu starten](#find-entries-claude-code-dropped) stattdessen.

323 323 

324 Wenn Sie stattdessen über serververwaltete Einstellungen bereitgestellt haben, führen Sie `claude doctor` aus, das das [Abrufergebnis](/docs/de/server-managed-settings#verify-settings-delivery) meldet.324 Wenn Sie stattdessen über servergesteuerte Einstellungen bereitgestellt haben, führen Sie `claude doctor` aus, das das [Abrufergebnis](/docs/de/server-managed-settings#verify-settings-delivery) meldet.

325* **Die Zeile nennt eine Quelle, die nicht die ist, die Sie bereitgestellt haben**: Eine höherpriorisierte Quelle ist vorhanden und Claude Code ignorierte Ihre, und `Skipped sources` listet sie auf. [Wie Claude Code verwaltete Quellen kombiniert](#how-claude-code-combines-managed-sources) gibt die Reihenfolge.325* **Die Zeile benennt eine Quelle, die nicht die ist, die Sie bereitgestellt haben**: eine höher priorisierte Quelle ist vorhanden und Claude Code hat die Ihre ignoriert, und `Skipped sources` listet sie auf. [Wie Claude Code verwaltete Quellen kombiniert](#how-claude-code-combines-managed-sources) gibt die Reihenfolge an.

326 326 

327<span id="invalid-entries-in-managed-settings" />327<span id="invalid-entries-in-managed-settings" />

328 328 

329<h3 id="find-entries-claude-code-dropped">329<h3 id="find-entries-claude-code-dropped">

330 Finden Sie Einträge, die Claude Code gelöscht hat330 Finden Sie Einträge, die Claude Code verworfen hat

331</h3>331</h3>

332 332 

333Wenn eine verwaltete Einstellungsdatei, ein MDM-Profil, ein Registrierungswert oder eine serververwaltete Nutzlast die Schemavalidierung nicht besteht, überspringt Claude Code zuerst die einzelnen Einträge, die es reparieren kann, wie eine ungültige Berechtigungsregel, mit einer Warnung für jeden, löscht dann jeden Top-Level-Schlüssel, dessen Wert immer noch fehlschlägt, und setzt die Durchsetzung jedes verbleibenden gültigen Schlüssels fort.333Wenn eine verwaltete Einstellungsdatei, ein MDM-Profil, ein Registrierungswert oder eine servergesteuerte Nutzlast die Schemavalidierung nicht besteht, überspringt Claude Code zunächst die einzelnen Einträge, die es reparieren kann, wie z. B. eine ungültige Berechtigungsregel, mit einer Warnung für jeden, und verwirft dann jeden Top-Level-Schlüssel, dessen Wert immer noch fehlschlägt, und setzt die Durchsetzung aller verbleibenden gültigen Schlüssel fort.

334 334 

335Claude Code ist strenger mit den `managedSettings`, die ein [`policyHelper`](/docs/de/settings-reference#policyhelper) ausgibt: Es macht die gleichen Eintragsreparaturen, aber jede Schemaverletzung, die überlebt, schlägt den ganzen Helper-Lauf fehl, und beim Start weigert sich Claude Code zu starten, das gleiche wie für einen Helper, der mit Nicht-Null beendet wird.335Claude Code ist strenger mit den `managedSettings`, die ein [`policyHelper`](/docs/de/settings-reference#policyhelper) ausgibt: Es führt die gleichen Eintragsreparaturen durch, aber jede Schemaverletzung, die überlebt, schlägt den gesamten Helper-Lauf fehl, und beim Start weigert sich Claude Code zu starten, das gleiche wie für einen Helper, der mit einem Nicht-Null-Wert beendet wird.

336 336 

337Wenn eine verwaltete Einstellungsdatei, Drop-in-Datei, MDM-plist oder HKLM-Registrierungswert vorhanden ist, aber nicht als JSON-Objekt analysiert werden kann, weigert sich Claude Code zu starten und druckt [einen Fehler, der die Quelle benennt](/docs/de/errors#managed-settings-document-could-not-be-parsed), auch wenn eine andere Admin-Quelle eine gültige Richtlinie bereitstellt. Jede Quelle schlägt auf diese Weise fehl, wenn:337Wenn eine verwaltete Einstellungsdatei, eine Drop-in-Datei, ein MDM-plist oder ein HKLM-Registrierungswert vorhanden ist, aber nicht als JSON-Objekt analysiert werden kann, weigert sich Claude Code zu starten und gibt [einen Fehler aus, der die Quelle benennt](/docs/de/errors#managed-settings-document-could-not-be-parsed), auch wenn eine andere Admin-Quelle eine gültige Richtlinie bereitstellt. Jede Quelle schlägt auf diese Weise fehl, wenn:

338 338 

339* **Verwaltete Einstellungsdatei oder Drop-in-Datei**: Die Datei ist kein gültiges JSON oder ihre Top-Ebene ist kein Objekt339* **Verwaltete Einstellungsdatei oder Drop-in-Datei**: Die Datei ist kein gültiges JSON, oder ihre oberste Ebene ist kein Objekt

340* **MDM-plist**: macOS's `plutil` meldet die plist als fehlerhaft oder ihr konvertierter Inhalt ist kein JSON-Objekt340* **MDM plist**: macOS's `plutil` meldet die plist als fehlerhaft, oder ihr konvertierter Inhalt ist kein JSON-Objekt

341* **HKLM-Registrierungswert**: Der `Settings`-Wert ist keine Zeichenkette, ist leer oder enthält kein JSON-Objekt341* **HKLM-Registrierungswert**: Der `Settings`-Wert ist keine Zeichenkette, ist leer oder enthält kein JSON-Objekt

342 342 

343Drei Quellzustände verursachen diese Weigerung nicht:343Drei Quellzustände verursachen diese Weigerung nicht:

344 344 

345* Eine fehlende Datei, ein fehlendes Profil oder ein fehlender Registrierungswert ist kein Fehler; Claude Code läuft ohne diese Quelle.345* Eine fehlende Datei, ein Profil oder ein Registrierungswert ist kein Fehler; Claude Code läuft ohne diese Quelle.

346* Eine leere verwaltete Einstellungsdatei zählt als `{}`.346* Eine leere verwaltete Einstellungsdatei zählt als `{}`.

347* Ein fehlerhafter Wert im benutzerbearbeitbaren HKCU-Registrierungsschlüssel blockiert niemals den Start. Claude Code meldet ihn stattdessen als Hinweis in `/status` und `claude doctor`.347* Ein fehlerhafter Wert im benutzergeschriebenen HKCU-Registrierungsschlüssel blockiert niemals den Start. Claude Code meldet ihn stattdessen als Hinweis in `/status` und `claude doctor`.

348 348 

349Wenn eine verwaltete Einstellungsdatei, Drop-in-Datei oder `managed-settings.d/`-Verzeichnis nicht gelesen werden kann und keine Admin-Quelle eine Richtlinie liefert, beenden Sitzungen, die sich mit claude.ai- oder Claude Console-Anmeldedaten anmelden, beim Start mit einer Nachricht, um einen Administrator zu kontaktieren.349Wenn eine verwaltete Einstellungsdatei, eine Drop-in-Datei oder ein `managed-settings.d/`-Verzeichnis nicht gelesen werden kann und keine Admin-Quelle eine Richtlinie bereitstellt, beenden Sitzungen, die mit claude.ai- oder Claude Console-Anmeldedaten angemeldet sind, beim Start mit einer Nachricht, um einen Administrator zu kontaktieren.

350 350 

351Um einen gelöschten Eintrag zu finden, schauen Sie an einer von drei Stellen nach:351Um einen verworfenen Eintrag zu finden, schauen Sie an einer von drei Stellen nach:

352 352 

353* Interaktive Sitzungen zeigen beim Start einen Dialog mit den ungültigen Einträgen.353* Interaktive Sitzungen zeigen beim Start ein Dialogfeld an, das die ungültigen Einträge auflistet.

354* Nicht-interaktive Läufe mit `-p` drucken eine Zusammenfassung auf stderr.354* Nicht-interaktive Läufe mit `-p` geben eine Zusammenfassung auf stderr aus.

355* [`claude doctor`](/docs/de/debug-your-config) listet jeden ungültigen Eintrag mit seiner Quelle und seinem Feld auf.355* [`claude doctor`](/docs/de/debug-your-config) listet jeden ungültigen Eintrag mit seiner Quelle und seinem Feld auf.

356 356 

357<h4 id="keys-that-fail-closed">357<h4 id="keys-that-fail-closed">

358 Schlüssel, die geschlossen fehlschlagen358 Schlüssel, die geschlossen fehlschlagen

359</h4>359</h4>

360 360 

361Einige Durchsetzungsschlüssel werden nicht gelöscht, wenn sie ungültig sind. Claude Code erzwingt einen strengeren Fallback, bis der Wert behoben ist; die Tabelle zeigt, was es für jeden Schlüssel erzwingt:361Einige Durchsetzungsschlüssel werden nicht verworfen, wenn sie ungültig sind. Claude Code setzt einen strengeren Fallback durch, bis der Wert behoben ist; die Tabelle zeigt, was es für jeden Schlüssel durchsetzt:

362 362 

363| Feld | Verhalten, wenn vorhanden, aber ungültig |363| Feld | Verhalten bei Vorhandensein, aber ungültig |

364| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |364| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

365| `allowedMcpServers` | Erzwungen als leere Zulassungsliste, daher werden keine MCP-Server zugelassen, bis der Wert behoben ist. Server, die Ihre Organisation durch [`managedMcpServers`](/docs/de/settings-reference#managedmcpservers) bereitstellt, werden immer noch geladen, und `managed-mcp.json`-Server werden pro [Wie ein Server evaluiert wird](/docs/de/managed-mcp#how-a-server-is-evaluated) geladen. Ein einzelner ungültiger Eintrag wird entfernt und die gültige Teilmenge wird erzwungen. |365| `allowedMcpServers` | Wird als leere Zulassungsliste durchgesetzt, bis der Wert behoben ist, sodass keine MCP-Server, die Benutzer hinzufügen, zugelassen werden. Server, die Ihre Organisation über [`managedMcpServers`](/docs/de/settings-reference#managedmcpservers) bereitstellt, werden weiterhin geladen, und `managed-mcp.json`-Server werden gemäß [Wie ein Server bewertet wird](/docs/de/managed-mcp#how-a-server-is-evaluated) geladen. Ein einzelner ungültiger Eintrag wird entfernt und die gültige Teilmenge wird durchgesetzt. |

366| `allowedHttpHookUrls` | Claude Code erzwingt eine leere verwaltete [Zulassungsliste](/docs/de/settings-reference#allowedhttphookurls), bis Sie den Wert beheben, daher wird ein HTTP-Hook nur ausgeführt, wenn eine andere Einstellungsdatei seine URL auflistet. Wenn nur ein einzelner Eintrag ungültig ist, entfernt Claude Code diesen Eintrag und erzwingt den Rest. |366| `allowedHttpHookUrls` | Claude Code setzt eine leere verwaltete [Zulassungsliste](/docs/de/settings-reference#allowedhttphookurls) durch, bis Sie den Wert beheben, sodass ein HTTP-Hook nur ausgeführt wird, wenn eine andere Einstellungsdatei seine URL auflistet. Wenn nur ein einzelner Eintrag ungültig ist, entfernt Claude Code diesen Eintrag und setzt den Rest durch. |

367| `httpHookAllowedEnvVars` | Claude Code erzwingt eine leere verwaltete [Zulassungsliste](/docs/de/settings-reference#httphookallowedenvvars), bis Sie den Wert beheben, daher wird eine Header-Variable nur interpoliert, wenn eine andere Einstellungsdatei sie benennt. Wenn nur ein einzelner Eintrag ungültig ist, entfernt Claude Code diesen Eintrag und erzwingt den Rest. |367| `httpHookAllowedEnvVars` | Claude Code setzt eine leere verwaltete [Zulassungsliste](/docs/de/settings-reference#httphookallowedenvvars) durch, bis Sie den Wert beheben, sodass eine Header-Variable nur interpoliert wird, wenn eine andere Einstellungsdatei sie benennt. Wenn nur ein einzelner Eintrag ungültig ist, entfernt Claude Code diesen Eintrag und setzt den Rest durch. |

368| `allowedChannelPlugins` | Claude Code erzwingt eine leere Zulassungsliste, bis Sie den Wert beheben, daher wird kein an `--channels` übergebenes Channel-Plugin zugelassen. Wenn nur ein einzelner Eintrag ungültig ist, entfernt es diesen Eintrag und erzwingt den Rest. |368| `allowedChannelPlugins` | Claude Code setzt eine leere Zulassungsliste durch, bis Sie den Wert beheben, sodass kein an `--channels` übergebenes Channel-Plugin zugelassen wird. Wenn nur ein einzelner Eintrag ungültig ist, entfernt es diesen Eintrag und setzt den Rest durch. |

369| `allowManagedHooksOnly` | Behandelt als `true`, bis behoben: Die [Hook-Einschränkungen](/docs/de/settings-reference#allowmanagedhooksonly) gelten und, wenn `disableCommandPluginSources` nicht explizit `false` ist, sind befehlsgesteuerte Plugins deaktiviert. |369| `strictKnownMarketplaces` | Wird als leere Zulassungsliste durchgesetzt, bis der Wert behoben ist, sodass keine [Marketplace-Quelle](/docs/de/plugin-marketplaces#managed-marketplace-restrictions) zugelassen wird. Ein einzelner Eintrag, der ungültig ist oder nicht durchgesetzt werden kann, wie z. B. ein `hostPattern`-Regex, der nicht kompiliert wird, wird entfernt und die gültige Teilmenge wird durchgesetzt. |

370| `allowManagedMcpServersOnly` | Behandelt als `true`. |370| `allowManagedHooksOnly` | Wird als `true` behandelt, bis behoben: Die [Hook-Einschränkungen](/docs/de/settings-reference#allowmanagedhooksonly) gelten und, sofern `disableCommandPluginSources` nicht explizit `false` ist, sind befehlsgesteuerte Plugins deaktiviert. |

371| `disableCommandPluginSources` | Behandelt als `true`, daher bleiben befehlsgesteuerte Plugins deaktiviert, bis der Wert behoben ist. |371| `allowManagedMcpServersOnly` | Wird als `true` behandelt. |

372| `availableModels` | Erzwungen als leere Zulassungsliste, bis behoben, daher ist nur das Standardmodell verfügbar; ein Nicht-String-Eintrag wird entfernt und die gültige Teilmenge wird erzwungen. |372| `disableCommandPluginSources` | Wird als `true` behandelt, sodass befehlsgesteuerte Plugins deaktiviert bleiben, bis der Wert behoben ist. |

373| `enforceAvailableModels` | Behandelt als `true`. |373| `disableSideloadFlags` | Wird als `true` behandelt, bis der Wert behoben ist, mit den für [`disableSideloadFlags`](/docs/de/settings-reference#disablesideloadflags) aufgelisteten Auswirkungen. |

374| `availableModels` | Wird als leere Zulassungsliste durchgesetzt, bis behoben, sodass nur das Standardmodell verfügbar ist; ein Nicht-String-Eintrag wird entfernt und die gültige Teilmenge wird durchgesetzt. |

375| `enforceAvailableModels` | Wird als `true` behandelt. |

376| `syncClaudeAiPlugins` | Wird als `false` behandelt, sodass die Synchronisierung von [claude.ai-Plugins](/docs/de/settings-reference#syncclaudeaiplugins) deaktiviert ist, bis der Wert behoben ist. |

374| `forceLoginOrgUUID` | Keine Organisation darf sich anmelden, bis der Wert behoben ist. |377| `forceLoginOrgUUID` | Keine Organisation darf sich anmelden, bis der Wert behoben ist. |

375| `gatewayInternalNetworks` | Wenn der ungültige Wert von der höchsten verwalteten Quelle auf dem Rechner stammt, weigert sich `/login`, jede neue [Cloud-Gateway](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)-Anmeldung auf diesem Rechner, bis der Wert behoben ist. |378| `gatewayInternalNetworks` | Wenn der ungültige Wert von der höchsten verwalteten Quelle auf dem Computer stammt, weigert sich `/login`, jede neue [Cloud-Gateway](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)-Anmeldung auf diesem Computer, bis der Wert behoben ist. |

376| `crossSessionInbound` | Behandelt als `refuse`, der restriktivste Wert, daher werden eingehende [Cross-Session-Nachrichten](/docs/de/cross-session-messaging#control-inbound-messages) abgelehnt, bis der Wert behoben ist. Der Entwickler sieht [eine Warnung](/docs/de/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse). |379| `crossSessionInbound` | Wird als `refuse`, der restriktivste Wert, behandelt, sodass eingehende [Cross-Session-Nachrichten](/docs/de/cross-session-messaging#control-inbound-messages) abgelehnt werden, bis der Wert behoben ist. Der Entwickler sieht [eine Warnung](/docs/de/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse). |

377| `deniedMcpServers` | Ein einzelner ungültiger Eintrag wird entfernt und die gültige Teilmenge wird erzwungen. Ein ganz ungültiger Wert wird mit einer Warnung gelöscht, da das Verweigern jedes Servers Server blockieren würde, die die Richtlinie nie benannt hat. |380| `deniedMcpServers` | Ein einzelner ungültiger Eintrag wird entfernt und die gültige Teilmenge wird durchgesetzt. Ein vollständig ungültiger Wert wird mit einer Warnung verworfen, da das Ablehnen aller Server Server blockieren würde, die die Richtlinie nie benannt hat. |

378| `sandbox.credentials` | Ein wiederherstellbarer ungültiger Eintrag wird zu `mode: "deny"` mit einer Warnung herabgestuft; ein nicht wiederherstellbarer wird entfernt; gültige Einträge bleiben erzwungen. Siehe [ungültige Credential-Einträge](/docs/de/settings-reference#invalid-credential-entries-in-managed-settings) |381| `blockedMarketplaces` | Ein einzelner ungültiger Eintrag wird entfernt und die gültige Teilmenge wird durchgesetzt. Ein Eintrag, der analysiert wird, aber nie übereinstimmen kann, wie z. B. ein `hostPattern`-Regex, der nicht kompiliert wird, wird mit einer Warnung beibehalten. Es blockiert nichts, bis behoben, aber [Marketplace-Einschränkungen](/docs/de/plugin-marketplaces#managed-marketplace-restrictions) bleiben aktiv. Ein vollständig ungültiger Wert wird mit einer Warnung verworfen, da das Blockieren aller Marketplaces Quellen blockieren würde, die die Richtlinie nie benannt hat. |

382| `sandbox.credentials` | Ein behebbarer ungültiger Eintrag wird zu `mode: "deny"` mit einer Warnung herabgestuft; ein nicht behebbarer wird entfernt; gültige Einträge bleiben durchgesetzt. Siehe [ungültige Credential-Einträge](/docs/de/settings-reference#invalid-credential-entries-in-managed-settings) |

379 383 

380`allowedHttpHookUrls` und `httpHookAllowedEnvVars` werden über Einstellungsdateien zusammengeführt, daher gelten Einträge in Ihren Benutzer-, Projekt- oder lokalen Einstellungen immer noch, während die verwaltete Liste leer ist. Die Fallbacks für diese beiden Schlüssel und für `allowedChannelPlugins` erfordern Claude Code v2.1.267 oder später; frühere Versionen löschen den ganzen Schlüssel, wenn sein Wert oder ein Eintrag ungültig ist.384`allowedHttpHookUrls` und `httpHookAllowedEnvVars` werden über Einstellungsdateien zusammengeführt, sodass Einträge in Ihren Benutzer-, Projekt- oder lokalen Einstellungen weiterhin gelten, während die verwaltete Liste leer ist.

381 385 

382`requiredMinimumVersion` und `requiredMaximumVersion` schlagen absichtlich offen fehl: Ein ungültiger Wert wird gelöscht, anstatt erzwungen zu werden.386Die Fallbacks für diese beiden Schlüssel und für `allowedChannelPlugins` erfordern Claude Code v2.1.267 oder später; frühere Versionen verwerfen den gesamten Schlüssel, wenn sein Wert oder ein Eintrag ungültig ist. Die Fallbacks für `strictKnownMarketplaces`, `blockedMarketplaces` und `disableSideloadFlags` erfordern Claude Code v2.1.277 oder später; frühere Versionen verwerfen den gesamten Schlüssel, wenn sein Wert oder ein Eintrag ungültig ist.

383 387 

384Diese Toleranz gilt nur für verwaltete Einstellungen. Benutzer-, Projekt- und lokale Einstellungsdateien bleiben streng: Eine Datei, deren JSON oder Top-Level-Form die Validierung nicht besteht, wird als Ganzes abgelehnt und gemeldet, und ein einzelner Eintrag, der fehlschlägt, wie eine fehlerhafte Berechtigungsregel, wird mit einer Warnung übersprungen, während der Rest der Datei angewendet wird.388`requiredMinimumVersion` und `requiredMaximumVersion` schlagen absichtlich offen fehl: Ein ungültiger Wert wird verworfen, anstatt durchgesetzt zu werden.

389 

390Diese Toleranz gilt nur für verwaltete Einstellungen. Benutzer-, Projekt- und lokale Einstellungsdateien bleiben streng: Eine Datei, deren JSON oder Top-Level-Form die Validierung nicht besteht, wird als Ganzes abgelehnt und gemeldet, und ein einzelner Eintrag, der fehlschlägt, wie z. B. eine fehlerhafte Berechtigungsregel, wird mit einer Warnung übersprungen, während der Rest der Datei angewendet wird.

385 391 

386<span id="managed-only-settings" />392<span id="managed-only-settings" />

387 393 

memory.md +26 −9

Details

82<Tip>82<Tip>

83 Führen Sie `/init` aus, um automatisch ein startendes CLAUDE.md zu generieren. Claude analysiert Ihre Codebasis und erstellt eine Datei mit Build-Befehlen, Test-Anweisungen und Projektkonventionen, die es entdeckt. Wenn bereits ein CLAUDE.md vorhanden ist, schlägt `/init` Verbesserungen vor, statt es zu überschreiben. Verfeinern Sie es von dort mit Anweisungen, die Claude nicht selbst entdecken würde.83 Führen Sie `/init` aus, um automatisch ein startendes CLAUDE.md zu generieren. Claude analysiert Ihre Codebasis und erstellt eine Datei mit Build-Befehlen, Test-Anweisungen und Projektkonventionen, die es entdeckt. Wenn bereits ein CLAUDE.md vorhanden ist, schlägt `/init` Verbesserungen vor, statt es zu überschreiben. Verfeinern Sie es von dort mit Anweisungen, die Claude nicht selbst entdecken würde.

84 84 

85 Setzen Sie `CLAUDE_CODE_NEW_INIT=1`, um einen interaktiven mehrstufigen Ablauf zu aktivieren. `/init` fragt, welche Artefakte eingerichtet werden sollen: CLAUDE.md-Dateien, Skills und Hooks. Es erkundet dann Ihre Codebasis mit einem Subagenten, füllt Lücken durch Folgefragen aus und präsentiert einen überprüfbaren Vorschlag, bevor Dateien geschrieben werden.85 Für einen interaktiven mehrstufigen Ablauf setzen Sie die Umgebungsvariable `CLAUDE_CODE_NEW_INIT` auf `1`, bevor Sie `/init` ausführen. Setzen Sie sie in Ihrer Shell oder im `env`-Block einer Einstellungsdatei, wie in [Umgebungsvariablen setzen](/docs/de/env-vars#set-environment-variables) gezeigt. Mit dieser Einstellung fragt `/init`, welche Artefakte eingerichtet werden sollen: CLAUDE.md-Dateien, Skills und Hooks. Es erkundet dann Ihre Codebasis mit einem Subagenten, füllt Lücken durch Folgefragen aus und präsentiert einen überprüfbaren Vorschlag, bevor Dateien geschrieben werden. Die Variable ändert nur, wie `/init` ausgeführt wird, sodass Sie sie gesetzt lassen können.

86</Tip>86</Tip>

87 87 

88<h3 id="write-effective-instructions">88<h3 id="write-effective-instructions">


165CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config165CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config

166```166```

167 167 

168Die Inline-Form setzt die Variable für diesen einen Start in Bash oder Zsh. Um sie für jede Sitzung aktiviert zu halten, fügen Sie sie zum `env`-Block in `~/.claude/settings.json` hinzu, wie in [Umgebungsvariablen setzen](/docs/de/env-vars#set-environment-variables) gezeigt.

169 

168Dies lädt `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` und `CLAUDE.local.md` aus dem zusätzlichen Verzeichnis. `CLAUDE.local.md` wird übersprungen, wenn Sie `local` aus [`--setting-sources`](/docs/de/cli-reference) ausschließen.170Dies lädt `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` und `CLAUDE.local.md` aus dem zusätzlichen Verzeichnis. `CLAUDE.local.md` wird übersprungen, wenn Sie `local` aus [`--setting-sources`](/docs/de/cli-reference) ausschließen.

169 171 

170<h3 id="organize-rules-with-claude/rules/">172<h3 id="organize-rules-with-claude/rules/">


244 246 

245Die 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 entspricht nichts, und die anderen Muster der Regel funktionieren weiterhin. Um ein literales `[` in einem Dateinamen zu entsprechen, escapen Sie es als `photos \[2024/**`. Vor v2.1.207 machte ein ungültiges Muster das Read-Tool für jede Datei fehlschlagen, gegen die die Regel bewertet wurde, statt nichts zu entsprechen.247Die 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 entspricht nichts, und die anderen Muster der Regel funktionieren weiterhin. Um ein literales `[` in einem Dateinamen zu entsprechen, escapen Sie es als `photos \[2024/**`. Vor v2.1.207 machte ein ungültiges Muster das Read-Tool für jede Datei fehlschlagen, gegen die die Regel bewertet wurde, statt nichts zu entsprechen.

246 248 

249<h4 id="rules-frontmatter-reference">

250 Referenz für Regel-Frontmatter

251</h4>

252 

253Konfigurieren Sie eine Regel mit YAML-[Frontmatter](/docs/de/glossary#frontmatter) zwischen `---`-Markierungen am Anfang der Datei. `paths` ist das einzige Feld, das Claude Code aus einer Regel liest; jedes andere Feld wird ohne Fehler ignoriert. Claude Code entfernt das Frontmatter, bevor die Regel in den Kontext geladen wird.

254 

255| Feld | Erforderlich | Beschreibung |

256| :------ | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |

257| `paths` | Nein | Glob-Muster, die [die Regel auf übereinstimmende Dateien beschränken](#path-specific-rules). Akzeptiert eine YAML-Liste oder eine kommagetrennte Zeichenkette |

258 

259Wenn das YAML zwischen den Markierungen nicht analysiert wird, ignoriert Claude Code das Frontmatter und lädt die Regel so, als hätte sie kein `paths`. Führen Sie `claude --debug` aus, um den Parse-Fehler zu sehen.

260 

247<h4 id="share-rules-across-projects-with-symlinks">261<h4 id="share-rules-across-projects-with-symlinks">

248 Teilen Sie Regeln über Projekte mit Symlinks262 Teilen Sie Regeln über Projekte mit Symlinks

249</h4>263</h4>


271└── workflows.md # Ihre bevorzugten Arbeitsabläufe285└── workflows.md # Ihre bevorzugten Arbeitsabläufe

272```286```

273 287 

274Benutzerweite Regeln werden vor Projektregeln geladen, was Projektregeln eine höhere Priorität gibt.288Claude Code lädt Benutzerweite Regeln vor Projektregeln, sodass eine Projektregel später in Claudes Kontext als eine Benutzerregel erscheint. Keine der beiden Regelgruppen überschreibt die andere: Wenn eine Benutzerregel und eine Projektregeln sich widersprechen, kann Claude eine von beiden befolgen, daher halten Sie die beiden konsistent.

275 289 

276<h3 id="manage-claude-md-for-large-teams">290<h3 id="manage-claude-md-for-large-teams">

277 Verwalten Sie CLAUDE.md für große Teams291 Verwalten Sie CLAUDE.md für große Teams


424* Sie verwenden eine Claude Code-Version vor v2.1.277438* Sie verwenden eine Claude Code-Version vor v2.1.277

425* Ihre Sitzung [ruft keine Feature-Flags von Anthropic ab](/docs/de/env-vars#features-that-need-feature-flag-fetching), z. B. weil Sie Amazon Bedrock oder einen anderen Drittanbieter verwenden oder Telemetrie deaktiviert haben. Der verlinkte Abschnitt hat die vollständige Liste439* Ihre Sitzung [ruft keine Feature-Flags von Anthropic ab](/docs/de/env-vars#features-that-need-feature-flag-fetching), z. B. weil Sie Amazon Bedrock oder einen anderen Drittanbieter verwenden oder Telemetrie deaktiviert haben. Der verlinkte Abschnitt hat die vollständige Liste

426* Es ist Ihre [erste Sitzung nach der Installation oder dem Upgrade](/docs/de/env-vars#first-session-after-an-install-or-upgrade) auf eine Version mit `AGENTS.md`-Unterstützung. Claude liest `AGENTS.md` ab Ihrer nächsten Sitzung440* Es ist Ihre [erste Sitzung nach der Installation oder dem Upgrade](/docs/de/env-vars#first-session-after-an-install-or-upgrade) auf eine Version mit `AGENTS.md`-Unterstützung. Claude liest `AGENTS.md` ab Ihrer nächsten Sitzung

427* Sie oder Ihre Organisation haben [`disableAllHooks`](/docs/de/settings-reference#disableallhooks) oder [`allowManagedHooksOnly`](/docs/de/settings-reference#allowmanagedhooksonly) gesetzt, oder Sie haben das integrierte `agents-md`-Plugin in `/plugin` deaktiviert441* Sie haben das integrierte `agents-md`-Plugin in `/plugin` deaktiviert

428 442 

429Um Claude Ihre `AGENTS.md` in diesen Sitzungen zu geben, [importieren Sie sie aus einer `CLAUDE.md`](#share-one-file-with-other-coding-tools).443Um Claude Ihre `AGENTS.md` in diesen Sitzungen zu geben, [importieren Sie sie aus einer `CLAUDE.md`](#share-one-file-with-other-coding-tools).

430 444 


435Eine `AGENTS.md`, die Claude durch die Einstellung **Projektanweisungen** liest, unterscheidet sich von einer `CLAUDE.md` an diesen Stellen:449Eine `AGENTS.md`, die Claude durch die Einstellung **Projektanweisungen** liest, unterscheidet sich von einer `CLAUDE.md` an diesen Stellen:

436 450 

437| | `CLAUDE.md` | `AGENTS.md` gelesen durch die Einstellung |451| | `CLAUDE.md` | `AGENTS.md` gelesen durch die Einstellung |

438| :--------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |452| :--------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- |

439| `/memory` und die Liste **Speicherdateien** in `/context` | Aufgelistet | Nicht aufgelistet. Um zu bestätigen, dass Claude sie gelesen hat, suchen Sie nach der [`AGENTS.md loaded`-Zeile](#when-claude-code-reads-agents-md) unter dem Standardwert oder fragen Sie Claude, was seine Projektanweisungen sagen |

440| [`InstructionsLoaded`-Hooks](/docs/de/hooks#instructionsloaded) | Werden ausgelöst | Werden nicht ausgelöst. Sie werden wie gewohnt ausgelöst für eine `AGENTS.md`, die eine `CLAUDE.md` importiert oder verlinkt |453| [`InstructionsLoaded`-Hooks](/docs/de/hooks#instructionsloaded) | Werden ausgelöst | Werden nicht ausgelöst. Sie werden wie gewohnt ausgelöst für eine `AGENTS.md`, die eine `CLAUDE.md` importiert oder verlinkt |

441| Verzeichnisse, die Sie mit `--add-dir` hinzufügen, während [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories) gesetzt ist | Ihre `CLAUDE.md` lädt | Ihre `AGENTS.md` lädt nicht |454| Verzeichnisse, die Sie mit `--add-dir` hinzufügen, während [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories) gesetzt ist | Ihre `CLAUDE.md` lädt | Ihre `AGENTS.md` lädt nicht |

442| Ein `@path`-Import einer Datei außerhalb Ihres Arbeitsverzeichnisses | Claude Code fordert Sie auf, [externe Importe](#import-additional-files) zu genehmigen | Lädt nur, wenn Sie bereits externe Importe für dieses Projekt genehmigt haben, ohne Aufforderung |455| Ein `@path`-Import einer Datei außerhalb Ihres Arbeitsverzeichnisses | Claude Code fordert Sie auf, [externe Importe](#import-additional-files) zu genehmigen | Lädt nur, wenn Sie bereits externe Importe für dieses Projekt genehmigt haben, ohne Aufforderung |


604 617 

605Zum Debuggen:618Zum Debuggen:

606 619 

607* Führen Sie `/context` aus und überprüfen Sie die Liste unter **Memory-Dateien**, um zu überprüfen, dass Ihre CLAUDE.md- und CLAUDE.local.md-Dateien geladen wurden. Wenn eine `CLAUDE.md`-Datei dort fehlt, kann Claude sie nicht sehen. Eine `AGENTS.md` erscheint dort nur, wenn eine `CLAUDE.md` sie importiert, nicht wenn Claude [sie direkt liest](#where-agents-md-differs-from-claude-md). Verwenden Sie `/memory`, um die Dateien zu öffnen und zu bearbeiten.620* Führen Sie `/context` aus und überprüfen Sie die Liste unter **Memory-Dateien**, um zu überprüfen, dass Ihre CLAUDE.md- und CLAUDE.local.md-Dateien geladen wurden. Wenn eine `CLAUDE.md`-Datei dort fehlt, kann Claude sie nicht sehen. Verwenden Sie `/memory`, um die Dateien zu öffnen und zu bearbeiten.

608* Überprüfen Sie, dass die relevante CLAUDE.md an einem Ort ist, der für Ihre Sitzung geladen wird (siehe [Wählen Sie, wo Sie CLAUDE.md-Dateien ablegen](#choose-where-to-put-claude-md-files)).621* Überprüfen Sie, dass die relevante CLAUDE.md an einem Ort ist, der für Ihre Sitzung geladen wird (siehe [Wählen Sie, wo Sie CLAUDE.md-Dateien ablegen](#choose-where-to-put-claude-md-files)).

609* Machen Sie Anweisungen spezifischer. „Verwenden Sie 2-Leerzeichen-Einrückung" funktioniert besser als „formatieren Sie Code schön".622* Machen Sie Anweisungen spezifischer. „Verwenden Sie 2-Leerzeichen-Einrückung" funktioniert besser als „formatieren Sie Code schön".

610* Suchen Sie nach widersprüchlichen Anweisungen über CLAUDE.md-Dateien hinweg. Wenn zwei Dateien unterschiedliche Anleitungen für das gleiche Verhalten geben, kann Claude eine willkürlich auswählen.623* Suchen Sie nach widersprüchlichen Anweisungen über CLAUDE.md-Dateien hinweg. Wenn zwei Dateien unterschiedliche Anleitungen für das gleiche Verhalten geben, kann Claude eine willkürlich auswählen.


625 638 

6261. Suchen Sie nach einer `CLAUDE.md`, `.claude/CLAUDE.md` oder `CLAUDE.local.md` in Ihrem Arbeitsverzeichnis oder einem Verzeichnis darüber, außer Ihrer `~/.claude/CLAUDE.md`. Wenn Sie eine finden, liest Claude sie statt `AGENTS.md`, es sei denn, Sie setzen **Projektanweisungen** auf `claude-md-and-agents-md`.6391. Suchen Sie nach einer `CLAUDE.md`, `.claude/CLAUDE.md` oder `CLAUDE.local.md` in Ihrem Arbeitsverzeichnis oder einem Verzeichnis darüber, außer Ihrer `~/.claude/CLAUDE.md`. Wenn Sie eine finden, liest Claude sie statt `AGENTS.md`, es sei denn, Sie setzen **Projektanweisungen** auf `claude-md-and-agents-md`.

6272. Führen Sie `claude --version` aus und bestätigen Sie v2.1.277 oder später.6402. Führen Sie `claude --version` aus und bestätigen Sie v2.1.277 oder später.

6283. Überprüfen Sie, ob Ihre Sitzung eine ist, die [kann `AGENTS.md` nicht laden](#when-agents-md-support-is-unavailable), wie eine Sitzung bei einem Drittanbieter oder mit deaktivierter Telemetrie.6413. Überprüfen Sie, ob Ihre Sitzung eine ist, die [AGENTS.md nicht laden kann](#when-agents-md-support-is-unavailable), wie eine Sitzung bei einem Drittanbieter oder mit deaktivierter Telemetrie.

6294. Geben Sie `/config` in Ihrer Sitzung ein, um das Einstellungsfenster zu öffnen und bestätigen Sie, dass **Projektanweisungen** nicht auf `claude-md` oder `managed-only` gesetzt ist. Wenn Sie die Einstellung dort überhaupt nicht sehen, ist Ihre Sitzung eine, die [kann `AGENTS.md` nicht laden](#when-agents-md-support-is-unavailable).6424. Geben Sie `/config` in Ihrer Sitzung ein, um das Einstellungsfenster zu öffnen und bestätigen Sie, dass **Projektanweisungen** nicht auf `claude-md` oder `managed-only` gesetzt ist. Wenn Sie die Einstellung dort überhaupt nicht sehen, ist Ihre Sitzung eine, die [AGENTS.md nicht laden kann](#when-agents-md-support-is-unavailable).

643 

644Um zu überprüfen, ob Claude Ihre `AGENTS.md` gelesen hat, führen Sie `/memory` aus und suchen Sie nach ihrem Pfad in der Liste.

645 

646Vor v2.1.280 haben `/memory` und `/context` eine `AGENTS.md`, die Claude direkt gelesen hat, nicht aufgelistet. Fragen Sie Claude auf diesen Versionen stattdessen, was seine Projektanweisungen sagen.

630 647 

631`AGENTS.md` erscheint nicht in `/memory` oder `/context`, wenn Claude sie direkt liest, also überprüfen Sie auf die Zeile `AGENTS.md loaded` oder fragen Sie Claude, was seine Projektanweisungen sagen. Wenn Sie die `CLAUDE.md` behalten möchten, die Sie gefunden haben, oder Ihre Sitzung kann `AGENTS.md` nicht laden, [fügen Sie eine `CLAUDE.md` neben Ihrer `AGENTS.md` hinzu, die sie importiert](#share-one-file-with-other-coding-tools).648Wenn Sie die `CLAUDE.md` behalten möchten, die Sie gefunden haben, oder Ihre Sitzung kann `AGENTS.md` nicht laden, [fügen Sie eine `CLAUDE.md` neben Ihrer `AGENTS.md` hinzu, die sie importiert](#share-one-file-with-other-coding-tools).

632 649 

633<h3 id="i-don’t-know-what-auto-memory-saved">650<h3 id="i-don’t-know-what-auto-memory-saved">

634 Ich weiß nicht, was Auto-Memory gespeichert hat651 Ich weiß nicht, was Auto-Memory gespeichert hat

model-config.md +38 −40

Details

41| **`haiku`** | Verwendet das schnelle und effiziente Haiku-Modell für einfache Aufgaben |41| **`haiku`** | Verwendet das schnelle und effiziente Haiku-Modell für einfache Aufgaben |

42| **`sonnet[1m]`** | Verwendet Sonnet mit einem [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) für lange Sitzungen. Keine Auswirkung, wenn `sonnet` bereits zu Sonnet 5 mit seinem nativen 1M-Fenster aufgelöst wird; hinter einem [LLM-Gateway](/docs/de/llm-gateway) wählt es das 1M-Fenster für Sonnet 5 |42| **`sonnet[1m]`** | Verwendet Sonnet mit einem [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) für lange Sitzungen. Keine Auswirkung, wenn `sonnet` bereits zu Sonnet 5 mit seinem nativen 1M-Fenster aufgelöst wird; hinter einem [LLM-Gateway](/docs/de/llm-gateway) wählt es das 1M-Fenster für Sonnet 5 |

43| **`opus[1m]`** | Verwendet Opus mit einem [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) für lange Sitzungen |43| **`opus[1m]`** | Verwendet Opus mit einem [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) für lange Sitzungen |

44| **`opusplan`** | Spezialmodell, das `opus` während des Plan-Modus verwendet und dann zu `sonnet` für die Ausführung wechselt |44| **`opusplan`** | Spezialmodell, das `opus` während des Plan Mode verwendet und dann zu `sonnet` für die Ausführung wechselt |

45 45 

46Die Version, zu der die Aliase `opus` und `sonnet` aufgelöst werden, hängt vom Anbieter ab:46Die Version, zu der die Aliase `opus` und `sonnet` aufgelöst werden, hängt vom Anbieter ab:

47 47 

48| Anbieter | `opus` | `sonnet` |48| Anbieter | `opus` | `sonnet` |

49| :--------------------------------------------------- | :------- | :--------- |49| :--------------------------------------------------- | :------- | :--------- |

50| Anthropic API | Opus 5 | Sonnet 5 |50| Anthropic API | Opus 5.5 | Sonnet 5 |

51| [Claude Platform on AWS](/docs/de/claude-platform-on-aws) | Opus 5 | Sonnet 4.6 |51| [Claude Platform on AWS](/docs/de/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |

52| Amazon Bedrock, Google Cloud's Agent Platform | Opus 5 | Sonnet 4.5 |52| Amazon Bedrock, Google Cloud's Agent Platform | Opus 5.5 | Sonnet 4.5 |

53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |

54 54 

55<span id="fable-alias-resolution" />55<span id="fable-alias-resolution" />

56 56 

57Sofern Sie `ANTHROPIC_DEFAULT_FABLE_MODEL` nicht setzen, wird der Alias `fable` zu Fable 5.1 aufgelöst, außer in [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzungen, wo `fable` und `best` zu Fable 5 aufgelöst werden. Vor v2.1.257 wurde `fable` auf jedem Anbieter zu Fable 5 aufgelöst.57Sofern Sie `ANTHROPIC_DEFAULT_FABLE_MODEL` nicht setzen, wird der Alias `fable` zu Fable 5.1 aufgelöst, außer in [Claude apps gateway](/docs/de/claude-apps-gateway)-Sitzungen, wo `fable` und `best` zu Fable 5 aufgelöst werden. Vor v2.1.257 wurde `fable` auf jedem Anbieter zu Fable 5 aufgelöst.

58 58 

59Ein Gateway, das nicht konfiguriert ist, um `claude-fable-5-1` bereitzustellen, lehnt Anfragen für dieses Modell ab. Um Fable 5.1 über ein Gateway zu verwenden, das es bereitstellt, wählen Sie es mit `/model claude-fable-5-1` aus.59Ein Gateway, das nicht konfiguriert ist, um `claude-fable-5-1` bereitzustellen, lehnt Anfragen für dieses Modell ab. Um Fable 5.1 über ein Gateway zu verwenden, das es bereitstellt, wählen Sie es mit `/model claude-fable-5-1` aus.

60 60 

61Wenn ein Alias zu einem älteren Modell aufgelöst wird, sind neuere Modelle verfügbar, indem Sie den vollständigen Modellnamen explizit auswählen oder `ANTHROPIC_DEFAULT_OPUS_MODEL` oder `ANTHROPIC_DEFAULT_SONNET_MODEL` setzen.61Wenn ein Alias zu einem älteren Modell aufgelöst wird, sind neuere Modelle verfügbar, indem Sie den vollständigen Modellnamen explizit auswählen oder `ANTHROPIC_DEFAULT_OPUS_MODEL` oder `ANTHROPIC_DEFAULT_SONNET_MODEL` setzen.

62 62 

63Vor v2.1.219 wurde `opus` zu Opus 4.8 auf der Anthropic API ab v2.1.154 und auf Claude Platform on AWS, Amazon Bedrock und Google Cloud's Agent Platform ab v2.1.207 aufgelöst. Vor v2.1.207 wurde `opus` zu Opus 4.7 auf Claude Platform on AWS und zu Opus 4.6 auf Amazon Bedrock und Google Cloud's Agent Platform aufgelöst.63Vor v2.1.280 wurde `opus` zu Opus 5 auf der Anthropic API, Claude Platform on AWS, Amazon Bedrock und Google Cloud's Agent Platform ab v2.1.219 aufgelöst. Vor v2.1.219 wurde `opus` zu Opus 4.8 auf der Anthropic API ab v2.1.154 und auf Claude Platform on AWS, Amazon Bedrock und Google Cloud's Agent Platform ab v2.1.207 aufgelöst. Vor v2.1.207 wurde `opus` zu Opus 4.7 auf Claude Platform on AWS und zu Opus 4.6 auf Amazon Bedrock und Google Cloud's Agent Platform aufgelöst.

64 64 

65Aliase verweisen auf die empfohlene Version für Ihren Anbieter und werden im Laufe der Zeit aktualisiert. Um eine bestimmte Version zu fixieren, verwenden Sie den vollständigen Modellnamen, z. B. `claude-opus-5`, oder setzen Sie die entsprechende Umgebungsvariable wie `ANTHROPIC_DEFAULT_OPUS_MODEL`.65Aliase verweisen auf die empfohlene Version für Ihren Anbieter und werden im Laufe der Zeit aktualisiert. Um eine bestimmte Version zu fixieren, verwenden Sie den vollständigen Modellnamen, z. B. `claude-opus-5-5`, oder setzen Sie die entsprechende Umgebungsvariable wie `ANTHROPIC_DEFAULT_OPUS_MODEL`.

66 66 

67<Note>67<Note>

68 Opus 5 erfordert Claude Code v2.1.219 oder später. Sonnet 5 erfordert v2.1.197 oder später. Opus 4.8 erfordert v2.1.154 oder später. Führen Sie `claude update` aus, um zu aktualisieren.68 Opus 5.5 erfordert Claude Code v2.1.280 oder später. Opus 5 erfordert v2.1.219 oder später. Sonnet 5 erfordert v2.1.197 oder später. Führen Sie `claude update` aus, um zu aktualisieren.

69</Note>69</Note>

70 70 

71<h3 id="work-with-fable">71<h3 id="work-with-fable">


76 76 

77Keines der Fable-Modelle ist der Standard für den Kontotyp auf einem Plan oder Anbieter. Wählen Sie eines explizit aus:77Keines der Fable-Modelle ist der Standard für den Kontotyp auf einem Plan oder Anbieter. Wählen Sie eines explizit aus:

78 78 

79* **Fable 5.1**: Führen Sie `/model fable` aus, oder starten Sie mit `claude --model fable`. In [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzungen, wo der Alias zu Fable 5 aufgelöst wird, führen Sie stattdessen `/model claude-fable-5-1` aus.79* **Fable 5.1**: Führen Sie `/model fable` aus, oder starten Sie mit `claude --model fable`. In [Claude apps gateway](/docs/de/claude-apps-gateway)-Sitzungen, wo der Alias zu Fable 5 aufgelöst wird, führen Sie stattdessen `/model claude-fable-5-1` aus.

80* **Fable 5**: Wählen Sie es nach Modell-ID aus. Auf der Anthropic API führen Sie `/model claude-fable-5` aus oder starten Sie mit `claude --model claude-fable-5`. Bei anderen Anbietern verwenden Sie die Fable-5-Modell-ID Ihres Anbieters oder [fixieren Sie sie](#pin-models-for-third-party-deployments) mit `ANTHROPIC_DEFAULT_FABLE_MODEL`.80* **Fable 5**: Wählen Sie es nach Modell-ID aus. Auf der Anthropic API führen Sie `/model claude-fable-5` aus oder starten Sie mit `claude --model claude-fable-5`. Bei anderen Anbietern verwenden Sie die Fable-5-Modell-ID Ihres Anbieters oder [fixieren Sie sie](#pin-models-for-third-party-deployments) mit `ANTHROPIC_DEFAULT_FABLE_MODEL`.

81 81 

82Wenn Sie sich direkt mit der Anthropic API verbinden und Ihre Benutzereinstellungen `claude-fable-5` oder `claude-fable-5[1m]` als Modell enthalten, z. B. weil Sie Fable in der `/model`-Auswahl vor v2.1.257 ausgewählt haben, ändert Claude Code diesen gespeicherten Wert beim ersten Ausführen von v2.1.257 oder später zu dem Alias `fable` oder `fable[1m]`, und die Startmodellzeile zeigt `(auto-updated)` einmal an. Ein `claude-fable-5`-Wert in Projekt-, lokalen oder verwalteten Einstellungen wird unverändert gelassen.82Wenn Sie sich direkt mit der Anthropic API verbinden und Ihre Benutzereinstellungen `claude-fable-5` oder `claude-fable-5[1m]` als Modell enthalten, z. B. weil Sie Fable in der `/model`-Auswahl vor v2.1.257 ausgewählt haben, ändert Claude Code diesen gespeicherten Wert beim ersten Ausführen von v2.1.257 oder später zu dem Alias `fable` oder `fable[1m]`, und die Startmodellzeile zeigt `(auto-updated)` einmal an. Ein `claude-fable-5`-Wert in Projekt-, lokalen oder verwalteten Einstellungen wird unverändert gelassen.


94 Fable 5.1 erfordert Claude Code v2.1.257 oder später. Wenn eine Anfrage dafür von einer älteren Version fehlschlägt, siehe [Claude Code does not support this model](/docs/de/errors#claude-code-does-not-support-this-model). Führen Sie `claude update` aus, um zu aktualisieren. Zur Verfügbarkeit unter Zero Data Retention siehe [Model availability under ZDR](/docs/de/zero-data-retention#model-availability-under-zdr).94 Fable 5.1 erfordert Claude Code v2.1.257 oder später. Wenn eine Anfrage dafür von einer älteren Version fehlschlägt, siehe [Claude Code does not support this model](/docs/de/errors#claude-code-does-not-support-this-model). Führen Sie `claude update` aus, um zu aktualisieren. Zur Verfügbarkeit unter Zero Data Retention siehe [Model availability under ZDR](/docs/de/zero-data-retention#model-availability-under-zdr).

95</Note>95</Note>

96 96 

97Auf der Anthropic API listet die `/model`-Auswahl ein Fable-Modell nur auf, nachdem der Server es als verfügbar für Ihre Organisation meldet. Wenn Sie `/model fable` oder eine Fable-Modell-ID eingeben, prüft Claude Code die Verfügbarkeit direkt mit dem Server, sodass eine eingegebene Auswahl erfolgreich sein kann, auch wenn die Auswahl den Eintrag nicht auflistet.97Auf der Anthropic API wird ein Fable-Modell in der `/model`-Auswahl aufgelistet, es sei denn, [`availableModels`](#restrict-model-selection) oder [Organisations-Modellbeschränkungen](#organization-model-restrictions) schließen es aus. Wenn Ihre Organisation Fable überhaupt nicht verwenden kann, z. B. unter [Zero Data Retention](/docs/de/zero-data-retention#model-availability-under-zdr), bleibt die Zeile in der Auswahl ausgegraut, mit einer Notiz darüber, warum.

98 98 

99<h4 id="fable-and-usage-credits">99<h4 id="fable-and-usage-credits">

100 Fable und Nutzungsguthaben100 Fable und Nutzungsguthaben


138 138 

139Die direkte Eingabe von `/model <name>` verhält sich wie `Enter`. Um nur für diese Sitzung zu wechseln, öffnen Sie die Auswahl mit `/model` und drücken Sie `s` auf der Zeile des Modells.139Die direkte Eingabe von `/model <name>` verhält sich wie `Enter`. Um nur für diese Sitzung zu wechseln, öffnen Sie die Auswahl mit `/model` und drücken Sie `s` auf der Zeile des Modells.

140 140 

141Wenn Sie Modelle mit `/model` wechseln, erreicht der Wechsel auch [Subagenten, die das Modell der Hauptkonversation erben](/docs/de/sub-agents#choose-a-model), da Claude Code ihr Modell aus dem auflöst, das Ihre Sitzung verwendet, wenn Claude sie startet. Wechseln Sie zu Opus, bevor Claude Forschung oder Test-Läufe an einen von ihnen delegiert, und diese Arbeit läuft auch auf Opus. Um einen benutzerdefinierten Subagenten auf einem kleineren Modell zu halten, setzen Sie `model` in seiner Definition.

142 

141Wenn Sie ein Modell mit `/model` im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag setzen, gilt Ihre Auswahl nur für die aktuelle Sitzung und wird nicht als Standard gespeichert; `/model` in diesem Modus erfordert Claude Code v2.1.205 oder später. Projekt- und verwaltete Einstellungen haben weiterhin Vorrang und werden beim nächsten Start erneut angewendet. Ein [Organisations-Standard-Modell](#organization-default-model), das Ihr Administrator konfiguriert hat, um die Benutzerauswahl zu überschreiben, wird auch beim nächsten Start erneut angewendet.143Wenn Sie ein Modell mit `/model` im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag setzen, gilt Ihre Auswahl nur für die aktuelle Sitzung und wird nicht als Standard gespeichert; `/model` in diesem Modus erfordert Claude Code v2.1.205 oder später. Projekt- und verwaltete Einstellungen haben weiterhin Vorrang und werden beim nächsten Start erneut angewendet. Ein [Organisations-Standard-Modell](#organization-default-model), das Ihr Administrator konfiguriert hat, um die Benutzerauswahl zu überschreiben, wird auch beim nächsten Start erneut angewendet.

142 144 

143In v2.1.144 bis v2.1.152 galt `/model` nur für die aktuelle Sitzung und `d` in der Auswahl speicherte einen Standard.145In v2.1.144 bis v2.1.152 galt `/model` nur für die aktuelle Sitzung und `d` in der Auswahl speicherte einen Standard.

144 146 

145Das Flag `--model` und die Umgebungsvariable `ANTHROPIC_MODEL` gelten nur für die Sitzung, mit der Sie sie starten. Um verschiedene Modelle in verschiedenen Terminals gleichzeitig auszuführen, starten Sie jedes mit seinem eigenen `--model`-Flag, anstatt mit `/model` zu wechseln.147Das Flag `--model` und die Umgebungsvariable `ANTHROPIC_MODEL` gelten nur für die Sitzung, mit der Sie sie starten. Um verschiedene Modelle in verschiedenen Terminals gleichzeitig auszuführen, starten Sie jedes mit seinem eigenen `--model`-Flag, anstatt mit `/model` zu wechseln.

146 148 

147Preise in der `/model`-Auswahl werden angezeigt, wenn Claude Code mit der Anthropic API spricht, direkt oder über ein [LLM-Gateway](/docs/de/llm-gateway), das es proxiert, und der Preis in einer Zeile ist der Preis des Modells, das diese Zeile auswählt. Bei [Drittanbieter-Anbietern](/docs/de/third-party-integrations) wie Amazon Bedrock und beim [Claude-Apps-Gateway](/docs/de/claude-apps-gateway) bestimmt Ihr Anbieter oder Gateway, was Sie zahlen, daher zeigen Auswahl-Zeilen keinen Preis. Der Preis ist nur ein Anzeigelabel; er beeinflusst nicht, welches Modell eine Zeile auswählt oder was Ihr Anbieter abrechnet. Vor v2.1.206 zeigten [Claude Platform on AWS](/docs/de/claude-platform-on-aws) und Gateway-Sitzungen Anthropic-Listenpreise, und eine Zeile könnte den Preis eines anderen Modells als dem, das sie auswählte, anzeigen.149Preise in der `/model`-Auswahl werden angezeigt, wenn Claude Code mit der Anthropic API spricht, direkt oder über ein [LLM-Gateway](/docs/de/llm-gateway), das es proxiert, und der Preis in einer Zeile ist der Preis des Modells, das diese Zeile auswählt. Bei [Drittanbieter-Anbietern](/docs/de/third-party-integrations) wie Amazon Bedrock und beim [Claude apps gateway](/docs/de/claude-apps-gateway) bestimmt Ihr Anbieter oder Gateway, was Sie zahlen, daher zeigen Auswahl-Zeilen keinen Preis. Der Preis ist nur ein Anzeigelabel; er beeinflusst nicht, welches Modell eine Zeile auswählt oder was Ihr Anbieter abrechnet. Vor v2.1.206 zeigten [Claude Platform on AWS](/docs/de/claude-platform-on-aws) und Gateway-Sitzungen Anthropic-Listenpreise, und eine Zeile könnte den Preis eines anderen Modells als dem, das sie auswählte, anzeigen.

148 150 

149Wiederaufgenommene Sitzungen, die mit `claude --resume`, `--continue` oder der `/resume`-Auswahl gestartet wurden, behalten das Modell, das sie beim Speichern des Transkripts verwendeten, unabhängig von der aktuellen `model`-Einstellung. Wenn das wiederhergestellte Modell eingestellt wurde oder von [`availableModels`](#restrict-model-selection) ausgeschlossen wird, fällt die Sitzung auf die normale Prioritätsreihenfolge zurück. Dies verhindert, dass die `/model`-Auswahl einer anderen Sitzung das Modell beim Fortsetzen ändert. Bei Anbietern, die anbieter-spezifische Bereitstellungs-IDs anstelle von Anthropic-Modell-IDs verwenden, wie Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, wird das Transkript-Modell überhaupt nicht wiederhergestellt und die Sitzung löst ihr Modell durch die normale Prioritätsreihenfolge auf.151Wiederaufgenommene Sitzungen, die mit `claude --resume`, `--continue` oder der `/resume`-Auswahl gestartet wurden, behalten das Modell, das sie beim Speichern des Transkripts verwendeten, unabhängig von der aktuellen `model`-Einstellung. Wenn das wiederhergestellte Modell eingestellt wurde oder von [`availableModels`](#restrict-model-selection) ausgeschlossen wird, fällt die Sitzung auf die normale Prioritätsreihenfolge zurück. Dies verhindert, dass die `/model`-Auswahl einer anderen Sitzung das Modell beim Fortsetzen ändert. Bei Anbietern, die anbieter-spezifische Bereitstellungs-IDs anstelle von Anthropic-Modell-IDs verwenden, wie Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, wird das Transkript-Modell überhaupt nicht wiederhergestellt und die Sitzung löst ihr Modell durch die normale Prioritätsreihenfolge auf.

150 152 


443 445 

444Das Verhalten von `default` hängt von Ihrem Kontotyp ab:446Das Verhalten von `default` hängt von Ihrem Kontotyp ab:

445 447 

446* **Max, Team Premium, Enterprise und Anthropic API**: Standard ist Opus 5448* **Pro, Max, Team, Enterprise und Anthropic API**: Standard ist Opus 5.5

447* **Claude Platform auf AWS, Amazon Bedrock und Google Cloud's Agent Platform**: Standard ist Opus 5449* **Claude Platform auf AWS, Amazon Bedrock und Google Cloud's Agent Platform**: Standard ist Opus 5.5

448* **Pro und Team Standard**: Standard ist Sonnet 5

449* **Microsoft Foundry**: Standard ist Sonnet 4.5450* **Microsoft Foundry**: Standard ist Sonnet 4.5

450 451 

451Vor v2.1.219 wurde `default` auf der Anthropic API zu Opus 4.8 aufgelöst, auf Max, Team Premium und Enterprise Pay-as-you-go ab v2.1.154 und auf Claude Platform auf AWS, Amazon Bedrock und Google Cloud's Agent Platform ab v2.1.207. Vor v2.1.207 wurde `default` auf Claude Platform auf AWS zu Opus 4.7 aufgelöst und auf Amazon Bedrock und Google Cloud's Agent Platform zu Sonnet 4.5.452Vor v2.1.280 wurde `default` auf Pro und Team Standard zu Sonnet 5 aufgelöst und auf Max, Team Premium, Enterprise, der Anthropic API, Claude Platform auf AWS, Amazon Bedrock und Google Cloud's Agent Platform ab v2.1.219 zu Opus 5. Vor v2.1.219 wurde `default` auf der Anthropic API zu Opus 4.8 aufgelöst, auf Max, Team Premium und Enterprise Pay-as-you-go ab v2.1.154 und auf Claude Platform auf AWS, Amazon Bedrock und Google Cloud's Agent Platform ab v2.1.207. Vor v2.1.207 wurde `default` auf Claude Platform auf AWS zu Opus 4.7 aufgelöst und auf Amazon Bedrock und Google Cloud's Agent Platform zu Sonnet 4.5.

452 453 

453Wenn ein Administrator ein [Organisationsstandardmodell](#organization-default-model) festgelegt hat, wird `default` stattdessen zu diesem Modell aufgelöst, anstatt zum oben genannten Kontotyp-Standard. Erfordert Claude Code v2.1.196 oder später. `default` kann auch zu dem Modell aufgelöst werden, das Sie mit [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions) festlegen, unter den in dessen Abschnitt aufgelisteten Bedingungen.454Wenn ein Administrator ein [Organisationsstandardmodell](#organization-default-model) festgelegt hat, wird `default` stattdessen zu diesem Modell aufgelöst, anstatt zum oben genannten Kontotyp-Standard. Erfordert Claude Code v2.1.196 oder später. `default` kann auch zu dem Modell aufgelöst werden, das Sie mit [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions) festlegen, unter den in dessen Abschnitt aufgelisteten Bedingungen.

454 455 


512 Automatisches Modell-Fallback513 Automatisches Modell-Fallback

513</h3>514</h3>

514 515 

515Dieser Abschnitt behandelt inhaltsbasiertes Fallback von Fable-Modellen und Opus 5. Für verfügbarkeitsbasiertes Fallback, wenn ein Modell überlastet oder nicht verfügbar ist, siehe [Fallback-Modellketten](#fallback-model-chains).516Dieser Abschnitt behandelt inhaltsbasiertes Fallback von Fable-Modellen, Opus 5.5 und Opus 5. Für verfügbarkeitsbasiertes Fallback, wenn ein Modell überlastet oder nicht verfügbar ist, siehe [Fallback-Modellketten](#fallback-model-chains).

516 517 

517Fable-Modelle und Opus 5 werden mit Sicherheitsklassifizierer ausgeführt, die am häufigsten Cybersicherheits- und Biologie-Inhalte kennzeichnen. Wenn ein Klassifizierer eine Anfrage kennzeichnet und die gekennzeichnete Kategorie ein Fallback-Modell hat, führt Claude Code die Anfrage auf diesem Modell erneut aus und zeigt eine Benachrichtigung im Transkript an. Für diese beiden Kategorien hängt das Fallback-Modell davon ab, welches Modell abgelehnt hat:518Fable-Modelle, Opus 5.5 und Opus 5 werden mit Sicherheitsklassifizierern ausgeführt, die am häufigsten Cybersicherheits- und Biologie-Inhalte kennzeichnen. Wenn ein Klassifizierer eine Anfrage kennzeichnet und die gekennzeichnete Kategorie ein Fallback-Modell hat, führt Claude Code die Anfrage auf diesem Modell erneut aus und zeigt eine Benachrichtigung im Transkript an. Für diese beiden Kategorien hängt das Fallback-Modell davon ab, welches Modell abgelehnt hat:

518 519 

519* **Fable 5.1 und Fable 5**: Biologie-gekennzeichnete Anfragen werden auf Opus 5 erneut ausgeführt, und Cybersicherheits-gekennzeichnete Anfragen werden auf Opus 4.8 erneut ausgeführt.520* **Fable 5.1, Fable 5 und Opus 5.5**: Biologie-gekennzeichnete Anfragen werden auf Opus 5 erneut ausgeführt, und Cybersicherheits-gekennzeichnete Anfragen werden auf Opus 4.8 erneut ausgeführt.

520* **Opus 5**: Cybersicherheits-gekennzeichnete Anfragen werden auf Opus 4.8 erneut ausgeführt. Biologie-gekennzeichnete Anfragen enden stattdessen mit einer Ablehnung, da Opus 5 seine eigenen Biologie-Klassifizierer mit keinem Fallback-Modell ausführt.521* **Opus 5**: Cybersicherheits-gekennzeichnete Anfragen werden auf Opus 4.8 erneut ausgeführt. Biologie-gekennzeichnete Anfragen enden stattdessen mit einer Ablehnung, da Opus 5 seine eigenen Biologie-Klassifizierer mit keinem Fallback-Modell ausführt.

521 522 

522Auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry löst Claude Code diese Ziele stattdessen durch Ihre Bereitstellung auf, und wenn Sie `ANTHROPIC_DEFAULT_OPUS_MODEL` setzen, werden Kategorien, die ein Fallback haben, auf dem angehefteten Modell erneut ausgeführt; siehe [Fallback auf Bedrock, Agent Platform und Foundry aktivieren](#enable-fallback-on-bedrock-agent-platform-and-foundry).523Auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry löst Claude Code diese Ziele stattdessen durch Ihre Bereitstellung auf, und wenn Sie `ANTHROPIC_DEFAULT_OPUS_MODEL` setzen, werden Kategorien, die ein Fallback haben, auf dem angehefteten Modell erneut ausgeführt; siehe [Fallback auf Bedrock, Agent Platform und Foundry aktivieren](#enable-fallback-on-bedrock-agent-platform-and-foundry).


555 556 

556Auf [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) und [Microsoft Foundry](/docs/de/microsoft-foundry) sind Modell-IDs Provider-spezifisch, daher funktioniert automatisches Fallback nur, wenn Claude Code beide beteiligten Modelle identifizieren kann:557Auf [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) und [Microsoft Foundry](/docs/de/microsoft-foundry) sind Modell-IDs Provider-spezifisch, daher funktioniert automatisches Fallback nur, wenn Claude Code beide beteiligten Modelle identifizieren kann:

557 558 

558* Claude Code muss das aktuelle Modell als Fallback-Quelle erkennen. Fable 5.1 und Fable 5 werden erkannt, wenn die Modell-ID `claude-fable-5` enthält, dem Wert von `ANTHROPIC_DEFAULT_FABLE_MODEL` entspricht oder mit [`modelOverrides`](#override-model-ids-per-version) zugeordnet ist. Opus 5 wird durch seine Provider-Modell-ID oder eine [`modelOverrides`](#override-model-ids-per-version) Zuordnung erkannt.559* Claude Code muss das aktuelle Modell als Fallback-Quelle erkennen. Fable 5.1 und Fable 5 werden erkannt, wenn die Modell-ID `claude-fable-5` enthält, dem Wert von `ANTHROPIC_DEFAULT_FABLE_MODEL` entspricht oder mit [`modelOverrides`](#override-model-ids-per-version) zugeordnet ist. Opus 5.5 und Opus 5 werden durch ihre Provider-Modell-ID oder eine [`modelOverrides`](#override-model-ids-per-version) Zuordnung erkannt.

559* Das Fallback-Modell muss in Ihrer Bereitstellung aufgelöst werden. Wenn Sie `ANTHROPIC_DEFAULT_OPUS_MODEL` setzen, werden gekennzeichnete Anfragen für jede Kategorie, die ein Fallback hat, auf diesem Modell erneut ausgeführt; eine Biologie-Kennzeichnung auf Opus 5 endet immer noch mit einer Ablehnung. Wenn Sie es nicht setzen, werden Cybersicherheits-gekennzeichnete Anfragen auf einem Opus 4.8-Eintrag in der Modelliste des Providers erneut ausgeführt, und Biologie-gekennzeichnete Anfragen von einem Fable-Modell auf einem Opus 5-Eintrag.560* Das Fallback-Modell muss in Ihrer Bereitstellung aufgelöst werden. Wenn Sie `ANTHROPIC_DEFAULT_OPUS_MODEL` setzen, werden gekennzeichnete Anfragen für jede Kategorie, die ein Fallback hat, auf diesem Modell erneut ausgeführt; eine Biologie-Kennzeichnung auf Opus 5 endet immer noch mit einer Ablehnung. Wenn Sie es nicht setzen, werden Cybersicherheits-gekennzeichnete Anfragen auf einem Opus 4.8-Eintrag in der Modelliste des Providers erneut ausgeführt, und Biologie-gekennzeichnete Anfragen von einem Fable-Modell oder Opus 5.5 auf einem Opus 5-Eintrag.

560 561 

561Wenn eines der Modelle nicht identifiziert werden kann, wechselt Claude Code nicht automatisch. Die gekennzeichnete Anfrage endet mit einer Ablehnungsmeldung, und Sie können Modelle mit [`/model`](#setting-your-model) wechseln und erneut versuchen. Das Setzen von `ANTHROPIC_DEFAULT_FABLE_MODEL` auf Ihre Fable-Modell-ID ermöglicht die Fable-Erkennung. Das Setzen von `ANTHROPIC_DEFAULT_OPUS_MODEL` auf eine Opus-Modell-ID gibt den gekennzeichneten Kategorien ein Fallback-Ziel, es sei denn, die Angeheftung benennt ein Modell außerhalb der Opus-Familie oder das Modell, das abgelehnt hat; dann wechselt Claude Code nicht und die Ablehnung bleibt bestehen.562Wenn eines der Modelle nicht identifiziert werden kann, wechselt Claude Code nicht automatisch. Die gekennzeichnete Anfrage endet mit einer Ablehnungsmeldung, und Sie können Modelle mit [`/model`](#setting-your-model) wechseln und erneut versuchen. Das Setzen von `ANTHROPIC_DEFAULT_FABLE_MODEL` auf Ihre Fable-Modell-ID ermöglicht die Fable-Erkennung. Das Setzen von `ANTHROPIC_DEFAULT_OPUS_MODEL` auf eine Opus-Modell-ID gibt den gekennzeichneten Kategorien ein Fallback-Ziel, es sei denn, die Angeheftung benennt ein Modell außerhalb der Opus-Familie oder das Modell, das abgelehnt hat; dann wechselt Claude Code nicht und die Ablehnung bleibt bestehen.

562 563 


564 Sicherheitsforschung und Biologie-Workloads565 Sicherheitsforschung und Biologie-Workloads

565</h4>566</h4>

566 567 

567Workloads in offensiver Sicherheit oder Biologie, einschließlich Penetrationstests, Capture the Flag (CTF) Übungen und Biologie-nahe Codebases, lösen häufig Fallback aus, oft bei der ersten Anfrage. Für substantive Biologie-Arbeit auf Fable 5.1 oder Fable 5 verschiebt Claude Code die Sitzung bei der ersten gekennzeichneten Anfrage zu Opus 5, und später Biologie-gekennzeichnete Anfragen enden dort in Ablehnungen, da Opus 5 kein Biologie-Fallback hat. Auf Opus 5 erhalten Sie diese Ablehnungen von der ersten gekennzeichneten Anfrage an.568Workloads in offensiver Sicherheit oder Biologie, einschließlich Penetrationstests, Capture the Flag (CTF) Übungen und Biologie-nahe Codebases, lösen häufig Fallback aus, oft bei der ersten Anfrage. Für substantive Biologie-Arbeit auf Fable 5.1, Fable 5 oder Opus 5.5 verschiebt Claude Code die Sitzung bei der ersten gekennzeichneten Anfrage zu Opus 5, und später Biologie-gekennzeichnete Anfragen enden dort in Ablehnungen, da Opus 5 kein Biologie-Fallback hat. Auf Opus 5 erhalten Sie diese Ablehnungen von der ersten gekennzeichneten Anfrage an.

568 569 

569Dies ist erwartetes Routing für diese Domänen, keine Kontoflagge. Wenn Ihre Organisation Fable-Klasse-Fähigkeit für diese Arbeit benötigt, wenden Sie sich an Ihr Anthropic-Kontoteam bezüglich vertrauenswürdiger Zugriffsprogramme.570Dies ist erwartetes Routing für diese Domänen, keine Kontoflagge. Wenn Ihre Organisation Fable-Klasse-Fähigkeit für diese Arbeit benötigt, wenden Sie sich an Ihr Anthropic-Kontoteam bezüglich vertrauenswürdiger Zugriffsprogramme.

570 571 


577Die verfügbaren Anstrengungsstufen hängen vom Modell ab. Modelle, die hier nicht aufgelistet sind, unterstützen keine Anstrengung:578Die verfügbaren Anstrengungsstufen hängen vom Modell ab. Modelle, die hier nicht aufgelistet sind, unterstützen keine Anstrengung:

578 579 

579| Modell | Stufen |580| Modell | Stufen |

580| :-------------------------------------- | :-------------------------------------- |581| :------------------------------------------------ | :-------------------------------------- |

581| Fable 5.1 und Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |582| Fable 5.1 und Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

582| Opus 5, Sonnet 5, Opus 4.8 und Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |583| Opus 5.5, Opus 5, Sonnet 5, Opus 4.8 und Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

583| Opus 4.6 und Sonnet 4.6 | `low`, `medium`, `high`, `max` |584| Opus 4.6 und Sonnet 4.6 | `low`, `medium`, `high`, `max` |

584 585 

585Wenn Sie eine Stufe setzen, die das aktive Modell nicht unterstützt, fällt Claude Code auf die höchste unterstützte Stufe bei oder unter der von Ihnen gesetzten zurück. Zum Beispiel wird `xhigh` auf Opus 4.6 als `high` ausgeführt. Ihre Organisation oder Ihre eigenen Einstellungen können auch begrenzen, welche Stufen ein Modell anbietet; siehe [Organisationsanstrengungsgrenzen](#organization-effort-limits).586Wenn Sie eine Stufe setzen, die das aktive Modell nicht unterstützt, fällt Claude Code auf die höchste unterstützte Stufe bei oder unter der von Ihnen gesetzten zurück. Zum Beispiel wird `xhigh` auf Opus 4.6 als `high` ausgeführt. Ihre Organisation oder Ihre eigenen Einstellungen können auch begrenzen, welche Stufen ein Modell anbietet; siehe [Organisationsanstrengungsgrenzen](#organization-effort-limits).


587Mit der [`ultracode`](/docs/de/settings-reference#ultracode) Einstellung aus löst Claude Code die Anstrengungsstufe der Sitzung in dieser Reihenfolge auf und nimmt die erste, die zutrifft:588Mit der [`ultracode`](/docs/de/settings-reference#ultracode) Einstellung aus löst Claude Code die Anstrengungsstufe der Sitzung in dieser Reihenfolge auf und nimmt die erste, die zutrifft:

588 589 

5891. Eine explizite Wahl: die [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/de/env-vars#variables) Umgebungsvariable, Start mit `--effort` oder `/effort` in der Sitzung ([ein nicht-interaktives `/effort` hat engere Auswirkungen](#non-interactive-effort))5901. Eine explizite Wahl: die [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/de/env-vars#variables) Umgebungsvariable, Start mit `--effort` oder `/effort` in der Sitzung ([ein nicht-interaktives `/effort` hat engere Auswirkungen](#non-interactive-effort))

5902. Die Standard-Anstrengung des Modells, auf Fable 5, Opus 4.8 oder Opus 4.7: ab dem ersten Mal, wenn Sie eines dieser Modelle ausführen, behält Claude Code die Standard-Anstrengung dieses Modells über Sitzungen hinweg, auch wenn Ihre Einstellungen eine andere Stufe auflösen. Opus 5 und Fable 5.1 haben keinen solchen Halt. Ob eine Stufe, die Sie setzen, den Halt beendet, hängt davon ab, wie Sie sie setzen, zum Beispiel:5912. Ihre Einstellungen: die Stufe, die Sie für das Modell gespeichert haben, oder ein [`effortLevel`](/docs/de/settings-reference#effortlevel) Schlüssel, mit der Vorrangigkeit zwischen ihnen und über Einstellungsdateien hinweg, die unter [`modelSettings`](/docs/de/settings-reference#modelsettings) angegeben ist

591 * **Beendet den Halt**: Bestätigung einer Stufe interaktiv, mit `Enter` im `/effort` Schieber oder dem `/model` Picker oder mit einer Stufe, die nach `/effort` eingegeben wird, oder Auswahl einer Stufe aus der [Remote Control](/docs/de/remote-control#what-connected-devices-see) Anstrengungskontrolle eines verbundenen Geräts5923. Die Standard-Anstrengung des Modells: `high` auf jedem Modell, das Anstrengung unterstützt, außer dass Opus 5.5 auf `medium` standardmäßig ist, Opus 4.7 auf `xhigh` standardmäßig ist und, wenn Ihre Organisation eine Standard-Anstrengungsstufe für sein [Organisationsstandardmodell](#organization-default-model) setzt, diese Stufe der Standard ist, wenn Sie dieses Modell ausführen

592 * **Lässt den Halt für spätere Sitzungen bestehen**: `--effort` beim Start oder `s` im `/effort` Schieber oder dem `/model` Picker593 

5933. Ihre Einstellungen: die Stufe, die Sie für das Modell gespeichert haben, oder ein [`effortLevel`](/docs/de/settings-reference#effortlevel) Schlüssel, mit der Vorrangigkeit zwischen ihnen und über Einstellungsdateien hinweg, die unter [`modelSettings`](/docs/de/settings-reference#modelsettings) angegeben ist594Opus 5.5 startet bei `medium`, es sei denn, eine der oben genannten Quellen setzt eine Stufe dafür, und ein Top-Level `effortLevel` in Ihrer Benutzereinstellungsdatei zählt nicht für Opus 5.5. Dieser Schlüssel ist die ältere Form, die `/effort` vor Claude Code schrieb, das Stufen pro Modell speicherte: er wird weiterhin angewendet, wo er zuvor angewendet wurde, auf Opus 5, Fable 5.1 und frühere Modelle, während Opus 5.5 und Modelle, die nach ihm veröffentlicht wurden, bei ihrem eigenen Standard starten, bis Sie eine Stufe dafür mit `/effort` oder dem `/model` Picker wählen. Ein Top-Level `effortLevel` in Projekt-, Lokal- oder verwalteten Einstellungen oder einer, die mit `--settings` übergeben wird, gilt für jedes Modell.

5944. Die Standard-Anstrengung des Modells: `high` auf jedem Modell, das Anstrengung unterstützt, außer dass Opus 4.7 auf `xhigh` standardmäßig ist und, wenn Ihre Organisation eine Standard-Anstrengungsstufe für sein [Organisationsstandardmodell](#organization-default-model) setzt, diese Stufe der Standard ist, wenn Sie dieses Modell ausführen

595 595 

596Wenn Sie `low`, `medium`, `high` oder `xhigh` in einer interaktiven Sitzung auf Ihrem Computer setzen, wählen Sie, wie lange es dauert, indem Sie bestätigen:596Wenn Sie `low`, `medium`, `high` oder `xhigh` in einer interaktiven Sitzung auf Ihrem Computer setzen, wählen Sie, wie lange es dauert, indem Sie bestätigen:

597 597 


608 608 

609<span id="non-interactive-effort" />609<span id="non-interactive-effort" />

610 610 

611Wenn Sie eine Stufe mit `/effort` in einer [`-p` Ausführung](/docs/de/headless) setzen, wendet Claude Code sie nur auf diese Sitzung an und speichert sie nicht als Ihren Standard. Auf Fable 5, Opus 4.8 und Opus 4.7 beendet diese Stufe auch weder den Halt auf der Standard-Anstrengung des Modells noch überschreibt sie ihn für die Sitzung. Während dieser Halt wirksam ist, meldet ein nicht-interaktives `/effort` `Not applied`, daher übergeben Sie stattdessen `--effort` beim Start.611Wenn Sie eine Stufe mit `/effort` in einer [`-p` Ausführung](/docs/de/headless) setzen, wendet Claude Code sie nur auf diese Sitzung an und speichert sie nicht als Ihren Standard.

612 612 

613Das `/effort` Menü bietet auch `ultracode`. Ultracode ist eine Claude Code-Einstellung statt einer Modell-Anstrengungsstufe: es sendet `xhigh` an das Modell und hat zusätzlich Claude, um [dynamische Workflows](/docs/de/workflows) für substantive Aufgaben zu orchestrieren. Für wo es persistent gesetzt werden kann, siehe die [`ultracode`](/docs/de/settings-reference#ultracode) Einstellung.613Das `/effort` Menü bietet auch `ultracode`. Ultracode ist eine Claude Code-Einstellung statt einer Modell-Anstrengungsstufe: es sendet `xhigh` an das Modell und hat zusätzlich Claude, um [dynamische Workflows](/docs/de/workflows) für substantive Aufgaben zu orchestrieren. Für wo es persistent gesetzt werden kann, siehe die [`ultracode`](/docs/de/settings-reference#ultracode) Einstellung.

614 614 


642| Stufe | Wann man sie verwendet |642| Stufe | Wann man sie verwendet |

643| :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |643| :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |

644| `low` | Reservieren Sie für kurze, begrenzte, latenzempfindliche Aufgaben, die nicht intelligenzempfindlich sind |644| `low` | Reservieren Sie für kurze, begrenzte, latenzempfindliche Aufgaben, die nicht intelligenzempfindlich sind |

645| `medium` | Reduziert die Token-Nutzung für kostensensitive Arbeit, die etwas Intelligenz opfern kann |645| `medium` | Reduziert die Token-Nutzung für kostensensitive Arbeit, die etwas Intelligenz opfern kann. Der Standard auf Opus 5.5 |

646| `high` | Balanciert Token-Nutzung und Intelligenz. Der Standard auf jedem Modell außer Opus 4.7 |646| `high` | Balanciert Token-Nutzung und Intelligenz. Der Standard auf jedem Modell außer Opus 5.5 und Opus 4.7 |

647| `xhigh` | Tiefere Überlegungen bei höherer Token-Ausgabe. Der Standard auf Opus 4.7 |647| `xhigh` | Tiefere Überlegungen bei höherer Token-Ausgabe. Der Standard auf Opus 4.7 |

648| `max` | Kann die Leistung bei anspruchsvollen Aufgaben verbessern, kann aber abnehmende Erträge zeigen und ist anfällig für Überdenken. Testen Sie vor breiter Übernahme |648| `max` | Kann die Leistung bei anspruchsvollen Aufgaben verbessern, kann aber abnehmende Erträge zeigen und ist anfällig für Überdenken. Testen Sie vor breiter Übernahme |

649| `ultracode` | Eine Claude Code-Einstellung, die für jede substantive Aufgabe einen [dynamischen Workflow](/docs/de/workflows) mit `xhigh` pro-Nachricht-Überlegungen plant |649| `ultracode` | Eine Claude Code-Einstellung, die für jede substantive Aufgabe einen [dynamischen Workflow](/docs/de/workflows) mit `xhigh` pro-Nachricht-Überlegungen plant |


667* **`--effort` Flag**: übergeben Sie einen Stufennamen, um ihn für eine einzelne Sitzung beim Start von Claude Code zu setzen667* **`--effort` Flag**: übergeben Sie einen Stufennamen, um ihn für eine einzelne Sitzung beim Start von Claude Code zu setzen

668* **Umgebungsvariable**: setzen Sie `CLAUDE_CODE_EFFORT_LEVEL` auf einen Stufennamen oder `auto`668* **Umgebungsvariable**: setzen Sie `CLAUDE_CODE_EFFORT_LEVEL` auf einen Stufennamen oder `auto`

669* **Einstellungen**: setzen Sie eine pro-Modell-Stufe in [`modelSettings`](/docs/de/settings-reference#modelsettings), oder setzen Sie [`effortLevel`](/docs/de/settings-reference#effortlevel) auf `low`, `medium`, `high` oder `xhigh` als Standard für Modelle ohne eine. `max` wird in keinem Schlüssel akzeptiert, und `ultracode` hat seinen eigenen [`ultracode`](/docs/de/settings-reference#ultracode) Schlüssel669* **Einstellungen**: setzen Sie eine pro-Modell-Stufe in [`modelSettings`](/docs/de/settings-reference#modelsettings), oder setzen Sie [`effortLevel`](/docs/de/settings-reference#effortlevel) auf `low`, `medium`, `high` oder `xhigh` als Standard für Modelle ohne eine. `max` wird in keinem Schlüssel akzeptiert, und `ultracode` hat seinen eigenen [`ultracode`](/docs/de/settings-reference#ultracode) Schlüssel

670* **Von einem verbundenen Gerät**: in einer [Remote Control](/docs/de/remote-control#what-connected-devices-see) Sitzung wählen Sie eine Stufe aus der Anstrengungskontrolle auf Ihrem Telefon oder in Ihrem Browser. Die Stufe gilt nur für die aktuelle Sitzung, obwohl sie auch den [Halt auf der Standard-Anstrengung des Modells](#adjust-effort-level) beendet. Erfordert Claude Code v2.1.234 oder später670* **Von einem verbundenen Gerät**: in einer [Remote Control](/docs/de/remote-control#what-connected-devices-see) Sitzung wählen Sie eine Stufe aus der Anstrengungskontrolle auf Ihrem Telefon oder in Ihrem Browser. Die Stufe gilt nur für die aktuelle Sitzung. Erfordert Claude Code v2.1.234 oder später

671* **Skill- und Subagenten-Frontmatter**: setzen Sie `effort` in einer [Skill](/docs/de/skills#frontmatter-reference) oder [Subagenten](/docs/de/sub-agents#supported-frontmatter-fields) Markdown-Datei, um die Anstrengungsstufe zu überschreiben, wenn dieser Skill oder Subagent ausgeführt wird671* **Skill- und Subagenten-Frontmatter**: setzen Sie `effort` in einer [Skill](/docs/de/skills#frontmatter-reference) oder [Subagenten](/docs/de/sub-agents#supported-frontmatter-fields) Markdown-Datei, um die Anstrengungsstufe zu überschreiben, wenn dieser Skill oder Subagent ausgeführt wird

672 672 

673Frontmatter-Anstrengung gilt, wenn dieser Skill oder Subagent aktiv ist, überschreibt die Sitzungsstufe, aber nicht die Umgebungsvariable. Eine [`maxEffortLevel`](/docs/de/settings-reference#maxeffortlevel) oder [Organisationsanstrengungsgrenze](#organization-effort-limits) begrenzt immer noch die Stufe, auf der der Skill oder Subagent ausgeführt wird.673Frontmatter-Anstrengung gilt, wenn dieser Skill oder Subagent aktiv ist, überschreibt die Sitzungsstufe, aber nicht die Umgebungsvariable. Eine [`maxEffortLevel`](/docs/de/settings-reference#maxeffortlevel) oder [Organisationsanstrengungsgrenze](#organization-effort-limits) begrenzt immer noch die Stufe, auf der der Skill oder Subagent ausgeführt wird.

674 674 

675Auf Fable 5, Opus 4.8 und Opus 4.7 gilt Frontmatter-Anstrengung auch, während der [Halt auf der Standard-Anstrengung des Modells](#adjust-effort-level) wirksam ist. Vor v2.1.267 hatte der Halt Vorrang und Claude Code ignorierte die Frontmatter-Stufe, während der Halt aktiv war.

676 

677Wenn Sie `effortLevel` in [verwalteten Einstellungen](/docs/de/managed-settings) setzen, wendet Claude Code es beim Einstellungsschritt der [Anstrengungsauflösungsreihenfolge](#adjust-effort-level) an, und Benutzer können die Stufe immer noch mit `/effort` oder `--effort` ändern. Um Benutzer bei oder unter einer Stufe zu halten, setzen Sie [`maxEffortLevel`](/docs/de/settings-reference#maxeffortlevel).675Wenn Sie `effortLevel` in [verwalteten Einstellungen](/docs/de/managed-settings) setzen, wendet Claude Code es beim Einstellungsschritt der [Anstrengungsauflösungsreihenfolge](#adjust-effort-level) an, und Benutzer können die Stufe immer noch mit `/effort` oder `--effort` ändern. Um Benutzer bei oder unter einer Stufe zu halten, setzen Sie [`maxEffortLevel`](/docs/de/settings-reference#maxeffortlevel).

678 676 

679Der Anstrengungsschieber erscheint in `/model`, wenn ein unterstütztes Modell ausgewählt ist. Die aktuelle Anstrengungsstufe 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 auch kurz die Anstrengungsstufe beim Start und wenn sie sich ändert.677Der Anstrengungsschieber erscheint in `/model`, wenn ein unterstütztes Modell ausgewählt ist. Die aktuelle Anstrengungsstufe 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 auch kurz die Anstrengungsstufe beim Start und wenn sie sich ändert.


695Erweitertes Denken ist die Überlegung, die Claude vor der Antwort ausgibt. Bei Modellen, die [adaptive Überlegungen](#adjust-effort-level) unterstützen, ist die Anstrengungsstufe die primäre Kontrolle dafür, wie viel Denken stattfindet; die folgenden Einstellungen schalten Denken ein oder aus und steuern, wie es angezeigt wird. Mit ausgeschaltetem Denken auf der Anthropic API sendet Claude Code Anstrengung `high` statt einer höheren Stufe an Modelle, von denen es weiß, dass sie [diese Kombination nicht akzeptieren](/docs/de/errors#effort-isnt-available-with-thinking-turned-off), wie Opus 5.693Erweitertes Denken ist die Überlegung, die Claude vor der Antwort ausgibt. Bei Modellen, die [adaptive Überlegungen](#adjust-effort-level) unterstützen, ist die Anstrengungsstufe die primäre Kontrolle dafür, wie viel Denken stattfindet; die folgenden Einstellungen schalten Denken ein oder aus und steuern, wie es angezeigt wird. Mit ausgeschaltetem Denken auf der Anthropic API sendet Claude Code Anstrengung `high` statt einer höheren Stufe an Modelle, von denen es weiß, dass sie [diese Kombination nicht akzeptieren](/docs/de/errors#effort-isnt-available-with-thinking-turned-off), wie Opus 5.

696 694 

697| Kontrolle | Wie man sie setzt |695| Kontrolle | Wie man sie setzt |

698| :------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |696| :------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

699| Umschalter für die aktuelle Sitzung | Drücken Sie `Option+T` auf macOS oder `Alt+T` auf Windows und Linux |697| Umschalter für die aktuelle Sitzung | Drücken Sie `Option+T` auf macOS oder `Alt+T` auf Windows und Linux |

700| Setzen Sie den globalen Standard | Führen Sie `/config` aus und schalten Sie den Denkmodus um. Gespeichert als `alwaysThinkingEnabled` in `~/.claude/settings.json` |698| Setzen Sie den globalen Standard | Führen Sie `/config` aus und schalten Sie den Denkmodus um. Gespeichert als `alwaysThinkingEnabled` in `~/.claude/settings.json` |

701| Deaktivieren Sie über eine Umgebungsvariable | Setzen Sie [`MAX_THINKING_TOKENS=0`](/docs/de/env-vars), das Denken auf der Anthropic API außer auf Fable-Modellen ausschaltet. Auf [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt dies den `thinking` Parameter stattdessen weg, und adaptive-Überlegungs-Modelle können immer noch denken. Andere Werte gelten nur mit einem [festem Denk-Budget](#adaptive-reasoning-and-fixed-thinking-budgets) |699| Deaktivieren Sie über eine Umgebungsvariable | Setzen Sie [`MAX_THINKING_TOKENS=0`](/docs/de/env-vars), das Denken auf der Anthropic API außer auf Opus 5.5 und Fable-Modellen ausschaltet. Auf [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt dies den `thinking` Parameter stattdessen weg, und adaptive-Überlegungs-Modelle können immer noch denken. Andere Werte gelten nur mit einem [festem Denk-Budget](#adaptive-reasoning-and-fixed-thinking-budgets) |

702 700 

703Denken kann auf Fable-Modellen nicht ausgeschaltet werden. Der Sitzungs-Umschalter, `alwaysThinkingEnabled` und `MAX_THINKING_TOKENS=0` haben dort keine Auswirkung, und das Modell entscheidet pro Schritt, wie viel es denken soll, basierend auf der Anstrengungsstufe.701Denken kann auf Opus 5.5 oder den Fable-Modellen nicht ausgeschaltet werden. Der Sitzungs-Umschalter, `alwaysThinkingEnabled` und `MAX_THINKING_TOKENS=0` haben dort keine Auswirkung, und das Modell entscheidet pro Schritt, wie viel es denken soll, basierend auf der Anstrengungsstufe.

704 702 

705Claude Code bricht Denk-Ausgabe standardmäßig zusammen. Drücken Sie `Ctrl+O`, um den ausführlichen Modus umzuschalten und die Überlegung als grauer kursiver Text zu sehen. Interaktive Sitzungen auf der Anthropic API erhalten standardmäßig redigierte Denk-Blöcke, daher setzen Sie `showThinkingSummaries: true` in [Einstellungen](/docs/de/settings), wenn Sie die vollständigen Zusammenfassungen verfügbar haben möchten, wenn Sie erweitern. Ihnen werden alle generierten Denk-Token berechnet, auch wenn sie zusammengeklappt oder redigiert sind.703Claude Code bricht Denk-Ausgabe standardmäßig zusammen. Drücken Sie `Ctrl+O`, um den ausführlichen Modus umzuschalten und die Überlegung als grauer kursiver Text zu sehen. Interaktive Sitzungen auf der Anthropic API erhalten standardmäßig redigierte Denk-Blöcke, daher setzen Sie `showThinkingSummaries: true` in [Einstellungen](/docs/de/settings), wenn Sie die vollständigen Zusammenfassungen verfügbar haben möchten, wenn Sie erweitern. Ihnen werden alle generierten Denk-Token berechnet, auch wenn sie zusammengeklappt oder redigiert sind.

706 704 


786Wenn Sie kein Fenster für automatische Komprimierung einstellen, komprimiert Claude Code, wenn die Konversation das Kontextlimit des Modells erreicht, außer in diesen Sitzungen:784Wenn Sie kein Fenster für automatische Komprimierung einstellen, komprimiert Claude Code, wenn die Konversation das Kontextlimit des Modells erreicht, außer in diesen Sitzungen:

787 785 

788* [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) komprimieren, wenn sich die Konversation dem Limit des Modells nähert786* [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) komprimieren, wenn sich die Konversation dem Limit des Modells nähert

789* Sonnet 4.6 und Opus 4.6 ohne [erweiterter Kontext](#extended-context) komprimieren bei der 200K-Grenze, ebenso wie Opus 4.8 und Opus 5, wenn sie mit einem 200K-Kontextfenster laufen, z. B. auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry787* Sonnet 4.6 und Opus 4.6 ohne [erweiterter Kontext](#extended-context) komprimieren bei der 200K-Grenze, ebenso wie Opus 4.8 und später, wenn sie mit einem 200K-Kontextfenster laufen, z. B. auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry

790* Wenn Sie [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/de/env-vars) setzen, komprimieren Modelle mit einem nativen 1M-Fenster, wie Sonnet 5 und die Fable-Modelle, bei der 200K-Grenze788* Wenn Sie [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/de/env-vars) setzen, komprimieren Modelle mit einem nativen 1M-Fenster, wie Sonnet 5 und die Fable-Modelle, bei der 200K-Grenze

791* Modelle, die mit einem nativen 1M-Fenster laufen, wie Sonnet 5, die Fable-Modelle und Opus 4.7 und später auf der Anthropic API, komprimieren, bevor das Fenster voll wird, standardmäßig bei etwa 967K Token. Auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry gibt [Modelle für Bereitstellungen von Drittanbietern anheften](#pin-models-for-third-party-deployments) an, welche Modelle mit diesem Fenster laufen; für die Konfigurationen, die Sonnet 5 stattdessen mit 200K budgetieren, siehe [Sonnet 5 Kontextfenster](#sonnet-5-context-window)789* Modelle, die mit einem nativen 1M-Fenster laufen, wie Sonnet 5, die Fable-Modelle und Opus 4.7 und später auf der Anthropic API, komprimieren, bevor das Fenster voll wird, standardmäßig bei etwa 967K Token. Auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry gibt [Modelle für Bereitstellungen von Drittanbietern anheften](#pin-models-for-third-party-deployments) an, welche Modelle mit diesem Fenster laufen; für die Konfigurationen, die Sonnet 5 stattdessen mit 200K budgetieren, siehe [Sonnet 5 Kontextfenster](#sonnet-5-context-window)

792* Sitzungen auf einer Modell-ID, die Claude Code nicht erkennt, z. B. ein [LLM-Gateway](/docs/de/llm-gateway)-Alias, komprimieren bei dem Kontextfenster, das Claude Code für die ID annimmt; siehe [Fenster für ein Gateway oder eine benutzerdefinierte Modell-ID korrigieren](#correct-the-window-for-a-gateway-or-custom-model-id)790* Sitzungen auf einer Modell-ID, die Claude Code nicht erkennt, z. B. ein [LLM-Gateway](/docs/de/llm-gateway)-Alias, komprimieren bei dem Kontextfenster, das Claude Code für die ID annimmt; siehe [Fenster für ein Gateway oder eine benutzerdefinierte Modell-ID korrigieren](#correct-the-window-for-a-gateway-or-custom-model-id)


831Dieses Beispiel setzt alle drei Variablen, um eine Gateway-gesteuerte Opus-Bereitstellung auswählbar zu machen. Claude Code liest Umgebungsvariablen beim Start, daher führen Sie die Exporte vor dem Starten von `claude` aus oder starten Sie eine vorhandene Sitzung neu, um sie zu übernehmen:829Dieses Beispiel setzt alle drei Variablen, um eine Gateway-gesteuerte Opus-Bereitstellung auswählbar zu machen. Claude Code liest Umgebungsvariablen beim Start, daher führen Sie die Exporte vor dem Starten von `claude` aus oder starten Sie eine vorhandene Sitzung neu, um sie zu übernehmen:

832 830 

833```bash theme={null}831```bash theme={null}

834export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-5"832export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-5-5"

835export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"833export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"

836export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"834export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"

837```835```


847 845 

848Wenn [`availableModels`](#restrict-model-selection) gesetzt ist, fügen Sie die benutzerdefinierte Modell-ID auch in die Zulassungsliste ein. Andernfalls filtert Claude Code den benutzerdefinierten Eintrag aus der Auswahl und lehnt eine `--model`-Auswahl davon wie jedes andere ausgeschlossene Modell ab.846Wenn [`availableModels`](#restrict-model-selection) gesetzt ist, fügen Sie die benutzerdefinierte Modell-ID auch in die Zulassungsliste ein. Andernfalls filtert Claude Code den benutzerdefinierten Eintrag aus der Auswahl und lehnt eine `--model`-Auswahl davon wie jedes andere ausgeschlossene Modell ab.

849 847 

850Eine benutzerdefinierte ID, die einen Familiennamen einbettet, wie z. B. `my-gateway/claude-opus-5`, zählt als spezifischer Eintrag für diese Familie und deaktiviert deren Wildcard. Daher müssen Sie auch die Versionen auflisten, die Sie auswählbar halten möchten. Siehe [Zusammenführungsverhalten](#merge-behavior).848Eine benutzerdefinierte ID, die einen Familiennamen einbettet, wie z. B. `my-gateway/claude-opus-5-5`, zählt als spezifischer Eintrag für diese Familie und deaktiviert deren Wildcard. Daher müssen Sie auch die Versionen auflisten, die Sie auswählbar halten möchten. Siehe [Zusammenführungsverhalten](#merge-behavior).

851 849 

852<h2 id="environment-variables">850<h2 id="environment-variables">

853 Umgebungsvariablen851 Umgebungsvariablen

monitoring-usage.md +289 −228

Details

123| `OTEL_LOG_ASSISTANT_RESPONSES` | Aktiviert die Protokollierung von Assistent-Antworttext bei `assistant_response`-Ereignissen (Standard: deaktiviert). Wenn nicht gesetzt, wird auf den Wert von `OTEL_LOG_USER_PROMPTS` zurückgegriffen. Erfordert Claude Code v2.1.193 oder später | `1` zum Aktivieren, `0` zum Beibehalten von Redaktionen |123| `OTEL_LOG_ASSISTANT_RESPONSES` | Aktiviert die Protokollierung von Assistent-Antworttext bei `assistant_response`-Ereignissen (Standard: deaktiviert). Wenn nicht gesetzt, wird auf den Wert von `OTEL_LOG_USER_PROMPTS` zurückgegriffen. Erfordert Claude Code v2.1.193 oder später | `1` zum Aktivieren, `0` zum Beibehalten von Redaktionen |

124| `OTEL_LOG_TOOL_DETAILS` | Aktiviert die Protokollierung von Tool-Parametern und Eingabeargumenten in Tool-Ereignissen und Trace-Span-Attributen: Bash-Befehle, MCP-Server- und Tool-Namen, Skill-Namen, benutzerdefinierte Workflow-Namen und Tool-Eingabe. Aktiviert auch benutzerdefinierte, Plugin- und MCP-Befehlsnamen bei `user_prompt`-Ereignissen (Standard: deaktiviert). Für Claude Desktop's integrierte Server, in Sitzungen, die Claude Desktop besitzt, werden `mcp_server_name`/`mcp_tool_name` bei `tool_decision`/`tool_result` auch mit ausgeschaltetem Flag ausgegeben. Die Ausnahme erfordert Claude Code v2.1.214 oder später | `1` zum Aktivieren |124| `OTEL_LOG_TOOL_DETAILS` | Aktiviert die Protokollierung von Tool-Parametern und Eingabeargumenten in Tool-Ereignissen und Trace-Span-Attributen: Bash-Befehle, MCP-Server- und Tool-Namen, Skill-Namen, benutzerdefinierte Workflow-Namen und Tool-Eingabe. Aktiviert auch benutzerdefinierte, Plugin- und MCP-Befehlsnamen bei `user_prompt`-Ereignissen (Standard: deaktiviert). Für Claude Desktop's integrierte Server, in Sitzungen, die Claude Desktop besitzt, werden `mcp_server_name`/`mcp_tool_name` bei `tool_decision`/`tool_result` auch mit ausgeschaltetem Flag ausgegeben. Die Ausnahme erfordert Claude Code v2.1.214 oder später | `1` zum Aktivieren |

125| `OTEL_LOG_TOOL_CONTENT` | Aktiviert die Protokollierung von Tool-Inhalten im [`tool.output` Span-Ereignis](#tool-output-span-event) (Standard: deaktiviert). Span-Attribute tragen Tool-Inhalte unter [ihren eigenen Gates](#new-context-gates). Erfordert [Tracing](#traces-beta). Der Inhalt wird bei der Inhaltsbegrenzung gekürzt (Standard: 60 KB) | `1` zum Aktivieren |125| `OTEL_LOG_TOOL_CONTENT` | Aktiviert die Protokollierung von Tool-Inhalten im [`tool.output` Span-Ereignis](#tool-output-span-event) (Standard: deaktiviert). Span-Attribute tragen Tool-Inhalte unter [ihren eigenen Gates](#new-context-gates). Erfordert [Tracing](#traces-beta). Der Inhalt wird bei der Inhaltsbegrenzung gekürzt (Standard: 60 KB) | `1` zum Aktivieren |

126| `OTEL_LOG_MANAGED_SETTINGS` | Fügt die redigierten verwalteten Einstellungen und einen SHA-256-Digest der Einstellungen vor der Redaktion zu [verwaltete Einstellungen aufgelöst](#managed-settings-resolved-event) Ereignissen hinzu (Standard: deaktiviert). Ein Wert in Projekt- oder lokalen Einstellungen schaltet ihn nicht ein. Erfordert Claude Code v2.1.274 oder später | `1` zum Aktivieren |

126| `OTEL_LOG_RAW_API_BODIES` | Gibt die vollständige Anthropic Messages API-Anfrage und Antwort JSON als `api_request_body` / `api_response_body` Log-Ereignisse aus (Standard: deaktiviert). Texte enthalten die gesamte Konversationshistorie. Das Aktivieren impliziert Zustimmung zu allem, was `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` und `OTEL_LOG_TOOL_CONTENT` offenbaren würden | `1` für Inline-Texte gekürzt bei der Inhaltsbegrenzung (Standard: 60 KB), oder `file:<dir>` für ungekürzte Texte auf der Festplatte mit einem `body_ref`-Zeiger im Ereignis |127| `OTEL_LOG_RAW_API_BODIES` | Gibt die vollständige Anthropic Messages API-Anfrage und Antwort JSON als `api_request_body` / `api_response_body` Log-Ereignisse aus (Standard: deaktiviert). Texte enthalten die gesamte Konversationshistorie. Das Aktivieren impliziert Zustimmung zu allem, was `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` und `OTEL_LOG_TOOL_CONTENT` offenbaren würden | `1` für Inline-Texte gekürzt bei der Inhaltsbegrenzung (Standard: 60 KB), oder `file:<dir>` für ungekürzte Texte auf der Festplatte mit einem `body_ref`-Zeiger im Ereignis |

127| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Inhaltsbegrenzung: die maximale Länge von inhaltsführenden Attributen wie Modellreaktionen, Tool-Inhalten, Systemprompts und rohen API-Texten, Kürzungsmarkierung eingeschlossen, in UTF-16-Codeeinheiten (Standard: 61440, d. h. 60 KB). Der Standard ist für Backends ausgelegt, die Attributwerte auf 64 KB begrenzen; erhöhen Sie ihn nur, wenn Ihr Backend größere Werte akzeptiert, oder senken Sie ihn, um das Telemetrie-Volumen zu reduzieren. Wenn ein OpenTelemetry SDK-Attributlimit, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` oder eine seiner Logrecord- und Span-Varianten, auf einen niedrigeren Wert gesetzt ist, kürzt Claude Code bei diesem kleineren Wert, damit die `[TRUNCATED ...]`-Markierung innerhalb des SDK-Limits bleibt. Erfordert Claude Code v2.1.214 oder später | `262144` |128| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Inhaltsbegrenzung: die maximale Länge von inhaltsführenden Attributen wie Modellreaktionen, Tool-Inhalten, Systemprompts und rohen API-Texten, Kürzungsmarkierung eingeschlossen, in UTF-16-Codeeinheiten (Standard: 61440, d. h. 60 KB). Der Standard ist für Backends ausgelegt, die Attributwerte auf 64 KB begrenzen; erhöhen Sie ihn nur, wenn Ihr Backend größere Werte akzeptiert, oder senken Sie ihn, um das Telemetrie-Volumen zu reduzieren. Wenn ein OpenTelemetry SDK-Attributlimit, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` oder eine seiner Logrecord- und Span-Varianten, auf einen niedrigeren Wert gesetzt ist, kürzt Claude Code bei diesem kleineren Wert, damit die `[TRUNCATED ...]`-Markierung innerhalb des SDK-Limits bleibt. Erfordert Claude Code v2.1.214 oder später | `262144` |

128| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Metriken-Temporalitätspräferenz (Standard: `delta`). Setzen Sie auf `cumulative`, wenn Ihr Backend kumulative Temporalität erwartet | `delta`, `cumulative` |129| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Metriken-Temporalitätspräferenz (Standard: `delta`). Setzen Sie auf `cumulative`, wenn Ihr Backend kumulative Temporalität erwartet | `delta`, `cumulative` |


230**`claude_code.llm_request`**231**`claude_code.llm_request`**

231 232 

232| Attribut | Beschreibung | Gated durch |233| Attribut | Beschreibung | Gated durch |

233| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |234| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |

234| `model` | Modellkennung | |235| `model` | Modellkennung | |

235| `gen_ai.system` | Immer `anthropic`. OpenTelemetry GenAI semantische Konvention | |236| `gen_ai.system` | Immer `anthropic`. OpenTelemetry GenAI semantische Konvention | |

236| `gen_ai.request.model` | Gleicher Wert wie `model`. OpenTelemetry GenAI semantische Konvention | |237| `gen_ai.request.model` | Gleicher Wert wie `model`. OpenTelemetry GenAI semantische Konvention | |


241| `workflow.run_id` | Run-Kennung des [Workflow](/docs/de/workflows) Tool-Durchlaufs, der diesen Agenten erzeugt hat, mit dem Präfix `wf_`. Fehlt für Agenten, die nicht durch einen Workflow erzeugt wurden | |242| `workflow.run_id` | Run-Kennung des [Workflow](/docs/de/workflows) Tool-Durchlaufs, der diesen Agenten erzeugt hat, mit dem Präfix `wf_`. Fehlt für Agenten, die nicht durch einen Workflow erzeugt wurden | |

242| `workflow.name` | Name des Workflows, der diesen Agenten erzeugt hat. Benutzerdefinierte Namen werden durch `custom` ersetzt, es sei denn, das Gate ist gesetzt | `OTEL_LOG_TOOL_DETAILS` |243| `workflow.name` | Name des Workflows, der diesen Agenten erzeugt hat. Benutzerdefinierte Namen werden durch `custom` ersetzt, es sei denn, das Gate ist gesetzt | `OTEL_LOG_TOOL_DETAILS` |

243| `speed` | `fast` oder `normal` | |244| `speed` | `fast` oder `normal` | |

245| `effort` | [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) auf die Anfrage angewendet: `low`, `medium`, `high`, `xhigh` oder `max`. Fehlt, wenn Claude Code keine Anstrengungsstufe sendet, zum Beispiel auf einem Modell, das Anstrengung nicht unterstützt. Erfordert Claude Code v2.1.274 oder später | |

244| `llm_request.context` | `interaction`, `tool` oder `standalone` je nach übergeordnetem Span | |246| `llm_request.context` | `interaction`, `tool` oder `standalone` je nach übergeordnetem Span | |

245| `duration_ms` | Wanduhr-Dauer einschließlich Wiederholungen | |247| `duration_ms` | Wanduhr-Dauer einschließlich Wiederholungen | |

246| `ttft_ms` | Zeit bis zum ersten Token in Millisekunden | |248| `ttft_ms` | Zeit bis zum ersten Token in Millisekunden | |


385echo "{\"Authorization\": \"Bearer $(get-token.sh)\", \"X-API-Key\": \"$(get-api-key.sh)\"}"387echo "{\"Authorization\": \"Bearer $(get-token.sh)\", \"X-API-Key\": \"$(get-api-key.sh)\"}"

386```388```

387 389 

388Wenn das Helper-Skript fehlschlägt oder eine Ausgabe druckt, die diese Anforderungen nicht erfüllt, meldet Claude Code den Fehler in:390Wenn das Helper-Skript fehlschlägt oder eine Ausgabe druckt, die diese Anforderungen nicht erfüllt, exportiert Claude Code nicht und Ihr Telemetrie-Backend erhält nichts aus der Sitzung, bis das Helper-Skript wieder funktioniert. Claude Code meldet den Fehler in:

389 391 

392* Eine Warnbenachrichtigung in interaktiven Sitzungen, [`otelHeadersHelper failed; telemetry is not being exported`](/docs/de/errors#otelheadershelper-failed), wird einmal pro Sitzung angezeigt, wenn das Helper-Skript zuerst fehlschlägt

390* `/status` Ausgabe393* `/status` Ausgabe

391* Das Debug-Log, wenn Sie mit [`--debug`](/docs/de/cli-reference#cli-flags) ausführen oder nach dem Ausführen von `/debug` in der Sitzung394* Das Debug-Log, wenn Sie mit [`--debug`](/docs/de/cli-reference#cli-flags) ausführen oder nach dem Ausführen von `/debug` in der Sitzung

392* stderr, in nicht-interaktiven Sitzungen, die mit `-p` gestartet werden395* stderr, in nicht-interaktiven Sitzungen, die mit `-p` gestartet werden


530| `app.entrypoint` | Wie die Sitzung gestartet wurde, z. B. `cli`, `sdk-cli`, `sdk-ts`, `sdk-py` oder `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (Standard: false) |533| `app.entrypoint` | Wie die Sitzung gestartet wurde, z. B. `cli`, `sdk-cli`, `sdk-ts`, `sdk-py` oder `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (Standard: false) |

531| `organization.id` | Organisations-UUID (wenn authentifiziert) | Immer enthalten, wenn verfügbar |534| `organization.id` | Organisations-UUID (wenn authentifiziert) | Immer enthalten, wenn verfügbar |

532| `user.account_uuid` | Konto-UUID (wenn authentifiziert) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |535| `user.account_uuid` | Konto-UUID (wenn authentifiziert) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |

533| `user.account_id` | Konto-ID im getaggten Format, das Anthropic-Admin-APIs entspricht (wenn authentifiziert), z. B. `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |536| `user.account_id` | Konto-ID im getaggten Format, das den Anthropic-Admin-APIs entspricht (wenn authentifiziert), z. B. `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |

534| `user.id` | Zufällige anonyme Kennung, die beim ersten Ausführen generiert und in `~/.claude.json` gespeichert wird. Sie enthält keine persönlichen Informationen und wird nicht von Ihrem Claude-Konto abgeleitet. Das Löschen der Datei erzeugt beim nächsten Ausführen einen neuen, nicht verwandten Wert. | Immer enthalten |537| `user.id` | Zufällige anonyme Kennung, die beim ersten Ausführen generiert und in `~/.claude.json` gespeichert wird. Sie enthält keine persönlichen Informationen und wird nicht von Ihrem Claude-Konto abgeleitet. Das Löschen der Datei erzeugt beim nächsten Ausführen einen neuen, nicht verwandten Wert. | Immer enthalten |

535| `user.email` | E-Mail-Adresse des Benutzers, von Ihrer Anmeldung oder in einer [Cloud-Sitzung](/docs/de/claude-code-on-the-web) von den Anmeldedaten der Sitzung selbst | Immer enthalten, wenn verfügbar |538| `user.email` | E-Mail-Adresse des Benutzers, von Ihrer Anmeldung oder in einer [Cloud-Sitzung](/docs/de/claude-code-on-the-web) von den Anmeldedaten der Sitzung selbst | Immer enthalten, wenn verfügbar |

536| `terminal.type` | Terminal-Typ, z. B. `iTerm.app`, `vscode`, `cursor` oder `tmux` | Immer enthalten, wenn erkannt |539| `terminal.type` | Terminaltyp, z. B. `iTerm.app`, `vscode`, `cursor` oder `tmux` | Immer enthalten, wenn erkannt |

537| Schlüssel aus `OTEL_RESOURCE_ATTRIBUTES` | Benutzerdefinierte Attribute, die Sie festlegen, z. B. `department` oder `team.id`. Siehe [Multi-Team-Organisationsunterstützung](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (Standard: true) |540| Schlüssel aus `OTEL_RESOURCE_ATTRIBUTES` | Benutzerdefinierte Attribute, die Sie festlegen, z. B. `department` oder `team.id`. Siehe [Unterstützung für Multi-Team-Organisationen](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (Standard: true) |

538| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | Die Identität des Sitzungs-Repositorys, abgeleitet von seinem `origin` Remote. Siehe [Repository-Attribute](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (Standard: false). Erfordert Claude Code v2.1.269 oder später |541| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | Die Identität des Sitzungs-Repositorys, abgeleitet von seinem `origin`-Remote. Siehe [Repository-Attribute](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (Standard: false). Erfordert Claude Code v2.1.269 oder später |

539 542 

540Wenn Claude Code bei einem [Claude-Apps-Gateway](/docs/de/claude-apps-gateway) angemeldet ist, versieht die CLI Exporte mit der authentifizierten Identität aus der Gateway-Sitzung: `user.id` ist das IdP-Subjekt statt einer anonymen Installationskennung, `user.email` ist die angemeldete E-Mail, und `user.groups` enthält die IdP-Gruppenmitgliedschaft als kommagetrennte Zeichenkette. Jeder Export trägt auch `identity.source: gateway-oidc`. Die Gateway-Identität wird zuletzt angewendet, daher werden `user.*` und `identity.*` Schlüssel, die über `OTEL_RESOURCE_ATTRIBUTES` gesetzt werden, bei Gateway-Sitzungen ignoriert.543Wenn Claude Code bei einem [Claude-Apps-Gateway](/docs/de/claude-apps-gateway) angemeldet ist, versieht die CLI Exporte mit der authentifizierten Identität aus der Gateway-Sitzung: `user.id` ist das IdP-Subjekt statt einer anonymen Installationskennung, `user.email` ist die angemeldete E-Mail, und `user.groups` enthält die IdP-Gruppenmitgliedschaft als kommagetrennte Zeichenkette. Jeder Export enthält auch `identity.source: gateway-oidc`. Die Gateway-Identität wird zuletzt angewendet, daher werden `user.*`- und `identity.*`-Schlüssel, die über `OTEL_RESOURCE_ATTRIBUTES` festgelegt werden, bei Gateway-Sitzungen ignoriert.

541 544 

542Ereignisse enthalten zusätzlich die folgenden Attribute. Diese werden niemals an Metriken angehängt, da sie zu unbegrenzter Kardinalität führen würden:545Ereignisse enthalten zusätzlich die folgenden Attribute. Diese werden niemals an Metriken angehängt, da sie zu unbegrenzter Kardinalität führen würden:

543 546 

544* `prompt.id`: UUID, die einen Benutzer-Prompt mit allen nachfolgenden Ereignissen bis zum nächsten Prompt korreliert. Siehe [Ereigniskorrelationsattribute](#event-correlation-attributes).547* `prompt.id`: UUID, die eine Benutzereingabe mit allen nachfolgenden Ereignissen bis zur nächsten Eingabe korreliert. Siehe [Ereigniskorrelationsattribute](#event-correlation-attributes).

545* `workspace.host_paths`: Host-Workspace-Verzeichnisse, die in der Desktop-App ausgewählt wurden, als String-Array548* `workspace.host_paths`: Im Desktop-App ausgewählte Host-Arbeitsverzeichnisse als String-Array

546* `workflow.run_id`: Lauf-Kennung mit dem Präfix `wf_` auf der API und Tool-Ereignisse, die von Agents ausgegeben werden, die zu einem [Workflow](/docs/de/workflows) Tool-Lauf gehören. Das Filtern von Ereignissen nach einer `workflow.run_id` rekonstruiert die API-Anfragen und Tool-Ergebnisse dieses Laufs. Die Kennung umfasst die Agents, die das Workflow-Skript erzeugt, und alle Agents, die diese wiederum erzeugen, z. B. Skill-Aufrufe. Sie entspricht der Lauf-Kennung, die im Workflow-Tool-Ergebnis gemeldet wird. Nicht vorhanden bei allen anderen Ereignissen. Erfordert Claude Code v2.1.202 oder später549* `workflow.run_id`: Laufkennung mit dem Präfix `wf_` auf den API- und Tool-Ereignissen, die von Agenten ausgegeben werden, die zu einem [Workflow](/docs/de/workflows)-Tool-Lauf gehören. Das Filtern von Ereignissen nach einer `workflow.run_id` rekonstruiert die API-Anfragen und Tool-Ergebnisse dieses Laufs. Die Kennung umfasst die Agenten, die das Workflow-Skript erzeugt, und alle Agenten, die diese wiederum erzeugen, z. B. Skill-Aufrufe. Sie entspricht der Laufkennung, die im Workflow-Tool-Ergebnis gemeldet wird. Fehlt bei allen anderen Ereignissen. Erfordert Claude Code v2.1.202 oder später

547* `workflow.name`: Name des Workflows, das `meta.name` des Skripts, ausgegeben zusammen mit `workflow.run_id`. Integrierte Workflow-Namen erscheinen wörtlich, wenn der Lauf das unmodifizierte integrierte Skript ausführt. Benutzerdefinierte Namen, einschließlich bearbeiteter Kopien integrierter Skripte, werden durch `custom` ersetzt, es sei denn, `OTEL_LOG_TOOL_DETAILS=1` ist gesetzt. Erfordert Claude Code v2.1.202 oder später550* `workflow.name`: Name des Workflows, das `meta.name` des Skripts, ausgegeben zusammen mit `workflow.run_id`. Integrierte Workflow-Namen werden wörtlich angezeigt, wenn der Lauf das unveränderte integrierte Skript ausführt. Benutzerdefinierte Namen, einschließlich bearbeiteter Kopien integrierter Skripte, werden durch `custom` ersetzt, es sei denn, `OTEL_LOG_TOOL_DETAILS=1` ist gesetzt. Erfordert Claude Code v2.1.202 oder später

548 551 

549<h4 id="repository-attributes">552<h4 id="repository-attributes">

550 Repository-Attribute553 Repository-Attribute


552 555 

553Setzen Sie `OTEL_METRICS_INCLUDE_REPOSITORY=true`, um Metriken und Ereignisse mit der Identität des Sitzungs-Repositorys zu taggen, damit ein gemeinsamer Collector die Nutzung pro Repository zuordnen kann. Erfordert Claude Code v2.1.269 oder später.556Setzen Sie `OTEL_METRICS_INCLUDE_REPOSITORY=true`, um Metriken und Ereignisse mit der Identität des Sitzungs-Repositorys zu taggen, damit ein gemeinsamer Collector die Nutzung pro Repository zuordnen kann. Erfordert Claude Code v2.1.269 oder später.

554 557 

555Claude Code leitet diese Attribute einmal pro Sitzung aus dem `origin` Remote des Repositorys ab. Die HTTPS- und SSH-Remotes eines Repositorys erzeugen identische Werte:558Claude Code leitet diese Attribute einmal pro Sitzung vom `origin`-Remote des Repositorys ab. Die HTTPS- und SSH-Remotes eines Repositorys erzeugen identische Werte:

556 559 

557| Attribut | Wert |560| Attribut | Wert |

558| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |561| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

559| `vcs.repository.url.full` | Die Browser-URL des Repositorys ohne `.git`, z. B. `https://github.com/example-org/example-repo` |562| `vcs.repository.url.full` | Die Browser-URL des Repositorys ohne `.git`, z. B. `https://github.com/example-org/example-repo` |

560| `vcs.owner.name` | Der Besitzer oder Gruppenpfad, z. B. `example-org`; weggelassen, wenn der Remote-Pfad ein einzelnes Segment hat |563| `vcs.owner.name` | Der Besitzer oder Gruppenpfad, z. B. `example-org`; wird weggelassen, wenn der Remote-Pfad ein einzelnes Segment hat |

561| `vcs.repository.name` | Der bloße Repository-Name, z. B. `example-repo` |564| `vcs.repository.name` | Der bloße Repository-Name, z. B. `example-repo` |

562| `vcs.provider.name` | `github`, `gitlab`, `bitbucket` oder `gitea`, wenn Claude Code den Remote-Host oder die URL-Form als einen dieser Provider erkennt; andernfalls weggelassen |565| `vcs.provider.name` | `github`, `gitlab`, `bitbucket` oder `gitea`, wenn Claude Code den Host oder die URL-Form des Remotes als einen dieser Anbieter erkennt; wird weggelassen, falls nicht |

563 566 

564Werte werden in Kleinbuchstaben geschrieben, und Anmeldedaten, Abfragezeichenketten und Fragmente aus der Remote-URL erscheinen niemals darin. Die Attribute werden weggelassen, wenn die Sitzung keinen `origin` Remote hat, wenn der Remote nicht URL-förmig ist, oder wenn das einzige umschließende Repository Ihr Home-Verzeichnis ist.567Werte werden in Kleinbuchstaben konvertiert, und Anmeldedaten, Abfragezeichenfolgen und Fragmente aus der Remote-URL erscheinen niemals darin. Die Attribute werden weggelassen, wenn die Sitzung keinen `origin`-Remote hat, wenn der Remote nicht URL-förmig ist, oder wenn das einzige umschließende Repository Ihr Home-Verzeichnis ist.

565 568 

566Ein `vcs.*` Schlüssel, den Sie in [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) deklarieren, ersetzt den abgeleiteten Wert für diesen Schlüssel. Wenn Sie `vcs.repository.url.full` deklarieren, liest Claude Code den Remote nie und meldet nur die Schlüssel, die Sie deklarieren.569Ein `vcs.*`-Schlüssel, den Sie in [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) deklarieren, ersetzt den abgeleiteten Wert für diesen Schlüssel. Wenn Sie `vcs.repository.url.full` deklarieren, liest Claude Code niemals den Remote und meldet nur die Schlüssel, die Sie deklarieren.

567 570 

568Die Attribute fließen nur zu Ihren eigenen Exportern; Anthropic's Telemetrie löscht jeden `vcs.*` Schlüssel.571Die Attribute fließen nur zu Ihren eigenen Exportern; Anthropics Telemetrie verwirft jeden `vcs.*`-Schlüssel.

569 572 

570<h3 id="metrics">573<h3 id="metrics">

571 Metriken574 Metriken

572</h3>575</h3>

573 576 

574Claude Code exportiert die folgenden Metriken. Die Spalte „Einheit" zeigt die OpenTelemetry-Einheitszeichenkette, die an jede Metrik angehängt ist; Zählmetriken haben keine.577Claude Code exportiert die folgenden Metriken. Die Spalte „Unit" zeigt die OpenTelemetry-Einheitenzeichenkette, die an jede Metrik angehängt wird; Zählmetriken haben keine.

575 578 

576| Metrikname | Beschreibung | Einheit |579| Metrikname | Beschreibung | Einheit |

577| ------------------------------------- | --------------------------------------------------------------------- | ------- |580| ------------------------------------- | -------------------------------------------------------------------- | ------- |

578| `claude_code.session.count` | Anzahl der gestarteten CLI-Sitzungen | keine |581| `claude_code.session.count` | Anzahl der gestarteten CLI-Sitzungen | keine |

579| `claude_code.lines_of_code.count` | Anzahl der geänderten Codezeilen | keine |582| `claude_code.lines_of_code.count` | Anzahl der geänderten Codezeilen | keine |

580| `claude_code.pull_request.count` | Anzahl der erstellten Pull Requests | keine |583| `claude_code.pull_request.count` | Anzahl der erstellten Pull Requests | keine |

581| `claude_code.commit.count` | Anzahl der erstellten Git-Commits | keine |584| `claude_code.commit.count` | Anzahl der erstellten Git-Commits | keine |

582| `claude_code.cost.usage` | Kosten der Claude Code-Sitzung | USD |585| `claude_code.cost.usage` | Kosten der Claude Code-Sitzung | USD |

583| `claude_code.token.usage` | Anzahl der verwendeten Token | tokens |586| `claude_code.token.usage` | Anzahl der verwendeten Token | tokens |

584| `claude_code.code_edit_tool.decision` | Anzahl der Entscheidungen zur Berechtigung des Code-Bearbeitungstools | keine |587| `claude_code.code_edit_tool.decision` | Anzahl der Genehmigungsentscheidungen für das Code-Bearbeitungs-Tool | keine |

585| `claude_code.active_time.total` | Gesamte aktive Zeit | s |588| `claude_code.active_time.total` | Gesamte aktive Zeit | s |

586 589 

587Wenn `prometheus` der einzige in `OTEL_METRICS_EXPORTER` aufgelistete Exporter ist, lässt Claude Code die Einheiten `USD`, `tokens` und `s` aus den exportierten Metriken weg, damit der Scrape im gültigen Prometheus-Textformat bleibt. Metriknamen ändern sich nicht, und Konfigurationen, die Exporter kombinieren, wie `otlp,prometheus`, behalten die Einheiten. Vor v2.1.216 enthielt der Prometheus-Scrape OpenMetrics-only `# UNIT` Zeilen, die einige Scraper ablehnten.590Wenn `prometheus` der einzige in `OTEL_METRICS_EXPORTER` aufgelistete Exporter ist, lässt Claude Code die Einheiten `USD`, `tokens` und `s` aus den exportierten Metriken weg, damit der Scrape im gültigen Prometheus-Textformat bleibt. Metriknamen ändern sich nicht, und Konfigurationen, die Exporter kombinieren, z. B. `otlp,prometheus`, behalten die Einheiten. Vor v2.1.216 enthielt der Prometheus-Scrape OpenMetrics-only `# UNIT`-Zeilen, die einige Scraper ablehnten.

588 591 

589<h3 id="metric-details">592<h3 id="metric-details">

590 Metrik-Details593 Metrik-Details

591</h3>594</h3>

592 595 

593Jede Metrik enthält die oben aufgeführten Standardattribute. Metriken mit zusätzlichen kontextspezifischen Attributen werden nachfolgend vermerkt.596Jede Metrik enthält die oben aufgelisteten Standardattribute. Metriken mit zusätzlichen kontextspezifischen Attributen werden unten vermerkt.

594 597 

595<h4 id="session-counter">598<h4 id="session-counter">

596 Sitzungszähler599 Sitzungszähler

597</h4>600</h4>

598 601 

599Wird zu Beginn jeder Sitzung erhöht.602Wird am Anfang jeder Sitzung erhöht.

600 603 

601**Attribute**:604**Attribute**:

602 605 

603* Alle [Standardattribute](#standard-attributes)606* Alle [Standardattribute](#standard-attributes)

604* `start_type`: Wie die Sitzung gestartet wurde. Einer von `"fresh"`, `"resume"`, `"continue"` oder `"agents_view"`. Der Wert `"agents_view"` identifiziert den `claude agents` Dashboard-Prozess, eine von Benutzern gestartete lokale Benutzeroberfläche statt einer Konversationssitzung. Filtern Sie nach diesem Wert, um UI-Prozessstart von Konversationssitzungen in Ihren Dashboards zu trennen.607* `start_type`: Wie die Sitzung gestartet wurde. Einer von `"fresh"`, `"resume"`, `"continue"` oder `"agents_view"`. Der Wert `"agents_view"` identifiziert den `claude agents`-Dashboard-Prozess, eine von Benutzern gestartete lokale Benutzeroberfläche statt einer Gesprächssitzung. Filtern Sie nach diesem Wert, um UI-Prozessstartvorgänge von Gesprächssitzungen in Ihren Dashboards zu trennen.

605 608 

606<h4 id="lines-of-code-counter">609<h4 id="lines-of-code-counter">

607 Codezeilen-Zähler610 Codezeilen-Zähler


613 616 

614* Alle [Standardattribute](#standard-attributes)617* Alle [Standardattribute](#standard-attributes)

615* `type`: (`"added"`, `"removed"`)618* `type`: (`"added"`, `"removed"`)

616* `model`: Modellkennung für das Modell, das die Änderung vorgenommen hat (z. B. "claude-sonnet-5")619* `model`: Modellkennung für das Modell, das die Änderung vorgenommen hat (z. B. „claude-sonnet-5")

617 620 

618<h4 id="pull-request-counter">621<h4 id="pull-request-counter">

619 Pull-Request-Zähler622 Pull-Request-Zähler


644**Attribute**:647**Attribute**:

645 648 

646* Alle [Standardattribute](#standard-attributes)649* Alle [Standardattribute](#standard-attributes)

647* `model`: Modellkennung (z. B. "claude-sonnet-5")650* `model`: Modellkennung (z. B. „claude-sonnet-5")

648* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`651* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`

649* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden652* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden

650* `effort`: [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird: `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Nicht vorhanden, wenn das Modell Anstrengung nicht unterstützt.653* `effort`: [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird: `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Nicht vorhanden, wenn Claude Code keine Anstrengungsstufe sendet, z. B. bei einem Modell, das Anstrengung nicht unterstützt.

651* `agent.name`: Subagent-Typ, der die Anfrage gestellt hat. Integrierte Agent-Namen und Agents aus offiziellen Marketplace-Plugins werden wörtlich angezeigt. Andere benutzerdefinierte Agent-Namen werden durch `"custom"` ersetzt. Nicht vorhanden, wenn die Anfrage nicht von einem benannten Subagent-Typ gestellt wurde.654* `agent.name`: Subagent-Typ, der die Anfrage gestellt hat. Integrierte Agent-Namen und Agenten aus offiziellen Marketplace-Plugins werden wörtlich angezeigt. Andere benutzerdefinierte Agent-Namen werden durch `"custom"` ersetzt. Nicht vorhanden, wenn die Anfrage nicht von einem benannten Subagent-Typ gestellt wurde.

652* `skill.name`: Skill, der für die Anfrage aktiv ist, gesetzt durch das Skill-Tool, einen `/` Befehl oder geerbt von einem erzeugten Subagent. Integrierte, gebündelte, benutzerdefinierte und offizielle Marketplace-Plugin-Skill-Namen werden wörtlich angezeigt. Drittanbieter-Plugin-Skill-Namen werden durch `"third-party"` ersetzt. Nicht vorhanden, wenn kein Skill aktiv ist.655* `skill.name`: Skill, der für die Anfrage aktiv ist, gesetzt durch das Skill-Tool, einen `/`-Befehl oder geerbt von einem erzeugten Subagenten. Integrierte, gebündelte, benutzerdefinierte und offizielle Marketplace-Plugin-Skill-Namen werden wörtlich angezeigt. Skill-Namen von Drittanbieter-Plugins werden durch `"third-party"` ersetzt. Nicht vorhanden, wenn kein Skill aktiv ist.

653* `plugin.name`: Besitzendes Plugin, wenn der aktive Skill oder Subagent von einem Plugin bereitgestellt wird. Offizielle Marketplace-Plugin-Namen werden wörtlich angezeigt. Drittanbieter-Plugin-Namen werden durch `"third-party"` ersetzt. Nicht vorhanden, wenn weder der Skill noch der Subagent ein besitzendes Plugin hat.656* `plugin.name`: Besitzendes Plugin, wenn der aktive Skill oder Subagent von einem Plugin bereitgestellt wird. Offizielle Marketplace-Plugin-Namen werden wörtlich angezeigt. Drittanbieter-Plugin-Namen werden durch `"third-party"` ersetzt. Nicht vorhanden, wenn weder der Skill noch der Subagent ein besitzendes Plugin hat.

654* `marketplace.name`: Marketplace, von dem das besitzende Plugin installiert wurde. Nur für offizielle Marketplace-Plugins ausgegeben. Andernfalls nicht vorhanden.657* `marketplace.name`: Marketplace, von dem das besitzende Plugin installiert wurde. Nur für offizielle Marketplace-Plugins ausgegeben. Andernfalls nicht vorhanden.

655* `mcp_server.name`: MCP-Server, dessen Tool-Ergebnis diese Anfrage verbraucht hat. Integrierte, claude.ai-proxied und offizielle Registry-Server-Namen werden wörtlich angezeigt. Benutzerkonfigurierte Server-Namen werden durch `"custom"` ersetzt. Nicht vorhanden, wenn die Anfrage kein MCP-Tool-Ergebnis verbraucht hat. Vor v2.1.222 setzte Claude Code dieses Attribut bei jeder Anfrage nach einem MCP-Tool-Aufruf, nicht nur bei Anfragen, die ein Tool-Ergebnis verbrauchten, daher zeigen Dashboards, die es aggregieren, einen Rückgang nach dem Upgrade.658* `mcp_server.name`: MCP-Server, dessen Tool-Ergebnis diese Anfrage verbraucht hat. Integrierte, claude.ai-proxied und offizielle Registry-Server-Namen werden wörtlich angezeigt. Benutzerkonfigurierte Server-Namen werden durch `"custom"` ersetzt. Nicht vorhanden, wenn die Anfrage kein MCP-Tool-Ergebnis verbraucht hat. Vor v2.1.222 setzte Claude Code dieses Attribut bei jeder Anfrage nach einem MCP-Tool-Aufruf, nicht nur bei Anfragen, die ein Tool-Ergebnis verbrauchten, daher zeigen Dashboards, die es aggregieren, einen Rückgang nach dem Upgrade.

656* `mcp_tool.name`: MCP-Tool, dessen Ergebnis diese Anfrage verbraucht hat, mit der gleichen Schwärzung und Versionsverhaltensweise wie `mcp_server.name`. Nicht vorhanden, wenn die Anfrage kein MCP-Tool-Ergebnis verbraucht hat.659* `mcp_tool.name`: MCP-Tool, dessen Ergebnis diese Anfrage verbraucht hat, mit der gleichen Redaktion und Versionsverwaltung wie `mcp_server.name`. Nicht vorhanden, wenn die Anfrage kein MCP-Tool-Ergebnis verbraucht hat.

657 660 

658<h4 id="token-counter">661<h4 id="token-counter">

659 Token-Zähler662 Token-Zähler


665 668 

666* Alle [Standardattribute](#standard-attributes)669* Alle [Standardattribute](#standard-attributes)

667* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)670* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)

668* `model`: Modellkennung (z. B. "claude-sonnet-5")671* `model`: Modellkennung (z. B. „claude-sonnet-5")

669* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`672* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`

670* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden673* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden

671* `effort`: [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Siehe [Kostenzähler](#cost-counter) für Details.674* `effort`: [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Siehe [Kostenzähler](#cost-counter) für Details.

672* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#cost-counter) für Definitionen und Schwärzungsverhalten.675* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#cost-counter) für Definitionen und Redaktionsverhalten.

673 676 

674<h4 id="code-edit-tool-decision-counter">677<h4 id="code-edit-tool-decision-counter">

675 Code-Edit-Tool-Entscheidungszähler678 Code-Bearbeitungs-Tool-Entscheidungszähler

676</h4>679</h4>

677 680 

678Wird erhöht, wenn der Benutzer die Verwendung des Edit-, Write- oder NotebookEdit-Tools akzeptiert oder ablehnt.681Wird erhöht, wenn der Benutzer die Verwendung von Edit-, Write- oder NotebookEdit-Tools akzeptiert oder ablehnt.

679 682 

680**Attribute**:683**Attribute**:

681 684 

682* Alle [Standardattribute](#standard-attributes)685* Alle [Standardattribute](#standard-attributes)

683* `tool_name`: Tool-Name (`"Edit"`, `"Write"`, `"NotebookEdit"`)686* `tool_name`: Tool-Name (`"Edit"`, `"Write"`, `"NotebookEdit"`)

684* `decision`: Benutzerentscheidung (`"accept"`, `"reject"`)687* `decision`: Benutzerentscheidung (`"accept"`, `"reject"`)

685* `source`: Entscheidungsquelle. Einer von `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` oder `"user_reject"`. Siehe das [Tool-Entscheidungs-Ereignis](#tool-decision-event) für die Bedeutung jedes Wertes.688* `source`: Woher die Entscheidung kam. Einer von `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` oder `"user_reject"`. Siehe das [Tool-Entscheidungsereignis](#tool-decision-event) für die Bedeutung jedes Wertes.

686* `language`: Programmiersprache der bearbeiteten Datei, z. B. `"TypeScript"`, `"Python"`, `"JavaScript"` oder `"Markdown"`. Gibt `"unknown"` für nicht erkannte Dateierweiterungen zurück.689* `language`: Programmiersprache der bearbeiteten Datei, z. B. `"TypeScript"`, `"Python"`, `"JavaScript"` oder `"Markdown"`. Gibt `"unknown"` für nicht erkannte Dateierweiterungen zurück.

687 690 

688<h4 id="active-time-counter">691<h4 id="active-time-counter">

689 Aktive-Zeit-Zähler692 Aktive Zeit-Zähler

690</h4>693</h4>

691 694 

692Verfolgt die tatsächliche Zeit, die aktiv Claude Code verwendet wird, ohne Leerlaufzeit. Diese Metrik wird während Benutzerinteraktionen (Eingabe, Lesen von Antworten) und während CLI-Verarbeitung (Tool-Ausführung, KI-Antwortgenerierung) erhöht.695Verfolgt die tatsächliche Zeit, die Claude Code aktiv verwendet wird, ausschließlich Leerlaufzeit. Diese Metrik wird während Benutzerinteraktionen wie Tippen und Lesen von Antworten sowie während CLI-Verarbeitung wie Tool-Ausführung und KI-Antwortgenerierung erhöht.

693 696 

694**Attribute**:697**Attribute**:

695 698 


700 Ereignisse703 Ereignisse

701</h3>704</h3>

702 705 

703Claude Code exportiert die folgenden Ereignisse über OpenTelemetry Logs/Events (wenn `OTEL_LOGS_EXPORTER` konfiguriert ist):706Claude Code exportiert die folgenden Ereignisse über OpenTelemetry-Protokolle/Ereignisse (wenn `OTEL_LOGS_EXPORTER` konfiguriert ist):

704 707 

705<h4 id="event-correlation-attributes">708<h4 id="event-correlation-attributes">

706 Ereigniskorrelationsattribute709 Ereigniskorrelationsattribute

707</h4>710</h4>

708 711 

709Wenn ein Benutzer einen Prompt einreicht, kann Claude Code mehrere API-Aufrufe tätigen und mehrere Tools ausführen. Das Attribut `prompt.id` ermöglicht es Ihnen, alle diese Ereignisse an den einzelnen Prompt zu binden, der sie ausgelöst hat.712Wenn ein Benutzer eine Eingabe einreicht, kann Claude Code mehrere API-Aufrufe tätigen und mehrere Tools ausführen. Das Attribut `prompt.id` ermöglicht es Ihnen, alle diese Ereignisse an die einzelne Eingabe zurückzuverfolgen, die sie ausgelöst hat.

710 713 

711| Attribut | Beschreibung |714| Attribut | Beschreibung |

712| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |715| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

713| `prompt.id` | UUID v4-Kennung, die alle Ereignisse verknüpft, die während der Verarbeitung eines einzelnen Benutzer-Prompts erzeugt werden |716| `prompt.id` | UUID v4-Kennung, die alle Ereignisse verknüpft, die während der Verarbeitung einer einzelnen Benutzereingabe erzeugt werden |

714| `event.sequence` | 0-basierter Zähler zur Sortierung von Ereignissen, gezählt pro Claude Code-Prozess statt pro Sitzung |717| `event.sequence` | 0-basierter Zähler zum Ordnen von Ereignissen, gezählt pro Claude Code-Prozess statt pro Sitzung |

715| `message.uuid` | UUID der Nachricht, wie sie in der Sitzungstranskription gespeichert ist, die `~/.claude/projects/*/*.jsonl` Dateien. Vorhanden auf `assistant_response` und auf `user_prompt` außer für Befehlsdispatcher, die null oder viele Nachrichten erzeugen können. Auf `assistant_response` ist dies der endgültige Transkriptionseintrag der Antwort, von dem die `parentUuid` des nächsten Durchgangs verkettet wird. Erfordert Claude Code v2.1.214 oder später |718| `message.uuid` | UUID der Nachricht, wie sie im Sitzungstranskript gespeichert ist, die `~/.claude/projects/*/*.jsonl`-Dateien. Vorhanden auf `assistant_response`, auf `api_response_body` und auf `user_prompt` außer für Befehlsdispatcher, die null oder viele Nachrichten erzeugen können. Auf `assistant_response` und `api_response_body` ist dies der endgültige Transkripteintrag der Antwort, von dem die `parentUuid` des nächsten Zuges verkettet wird. Erfordert Claude Code v2.1.214 oder später, oder v2.1.274 oder später auf `api_response_body` |

716| `client_request_id` | Client-generierte UUID, die als `x-client-request-id` Request-Header gesendet wird. Vorhanden auf `api_request` und `api_error` bei First-Party-API-Verbindungen; nicht vorhanden bei Third-Party-Provider-Backends und wenn die Anfrage durch den Non-Streaming-Fallback erneut versucht wurde. Paart eine Anfrage mit ihrer Antwort und bleibt für Fehler wie Timeouts verfügbar, die nie eine Server-`request_id` erzeugt haben. Entspricht dem gleichen Attribut auf der `llm_request` Trace-Spanne. Erfordert Claude Code v2.1.214 oder später |719| `client_request_id` | Von Client generierte UUID, die als `x-client-request-id`-Request-Header gesendet wird. Vorhanden auf `api_request` und `api_error` bei Verbindungen zu Erstanbieter-APIs; nicht vorhanden bei Backends von Drittanbieter-Providern und wenn die Anfrage über den Fallback ohne Streaming erneut versucht wurde. Paart eine Anfrage mit ihrer Antwort und bleibt für Fehler wie Timeouts verfügbar, die niemals eine Server-`request_id` erzeugt haben. Entspricht dem gleichen Attribut auf der `llm_request`-Trace-Spanne. Erfordert Claude Code v2.1.214 oder später |

717 720 

718Um alle Aktivitäten zu verfolgen, die durch einen einzelnen Prompt ausgelöst werden, filtern Sie Ihre Ereignisse nach einem bestimmten `prompt.id`-Wert. Dies gibt das user\_prompt-Ereignis, alle api\_request-Ereignisse und alle tool\_result-Ereignisse zurück, die während der Verarbeitung dieses Prompts aufgetreten sind.721Um alle Aktivitäten zu verfolgen, die durch eine einzelne Eingabe ausgelöst werden, filtern Sie Ihre Ereignisse nach einem bestimmten `prompt.id`-Wert. Dies gibt das user\_prompt-Ereignis, alle api\_request-Ereignisse und alle tool\_result-Ereignisse zurück, die während der Verarbeitung dieser Eingabe aufgetreten sind.

719 722 

720`event.sequence` beginnt bei 0 jedes Mal, wenn ein Claude Code-Prozess startet, und zählt für die Lebensdauer dieses Prozesses. Es zählt weiter über `/clear`, das eine neue `session.id` zuweist. Wenn Sie [eine Sitzung ohne Verzweigung fortsetzen](/docs/de/how-claude-code-works#resume-or-fork-sessions), behält die Sitzung ihre `session.id`, nimmt aber ihre `event.sequence` Werte aus dem Prozess, der sie fortgesetzt hat, daher kann innerhalb einer Sitzung ein späteres Ereignis einen niedrigeren Wert als ein früheres tragen oder einen wiederholen. Um die Ereignisse einer Sitzung zu sortieren, sortieren Sie nach `event.timestamp` und verwenden Sie `event.sequence`, um Ereignisse zu sortieren, die einen Zeitstempel teilen.723`event.sequence` beginnt bei 0 jedes Mal, wenn ein Claude Code-Prozess startet, und zählt für die Lebensdauer dieses Prozesses. Es zählt weiter über `/clear`, das eine neue `session.id` zuweist. Wenn Sie [eine Sitzung fortsetzen, ohne sie zu verzweigen](/docs/de/how-claude-code-works#resume-or-fork-sessions), behält die Sitzung ihre `session.id`, nimmt aber ihre `event.sequence`-Werte vom Prozess, der sie fortgesetzt hat, daher kann innerhalb einer Sitzung ein späteres Ereignis einen niedrigeren Wert als ein früheres tragen oder einen wiederholen. Um die Ereignisse einer Sitzung zu ordnen, sortieren Sie nach `event.timestamp` und verwenden Sie `event.sequence`, um Ereignisse zu ordnen, die einen Zeitstempel teilen.

721 724 

722Für die Rekonstruktion auf Nachrichtenebene trägt jede Ereignisklasse einen Schlüssel, der einem Feld in der Sitzungstranskription entspricht. Das Transkriptionseintrag-Format ist [intern für Claude Code](/docs/de/sessions#where-transcripts-are-stored) und ändert sich zwischen Versionen, daher kann eine Pipeline, die auf diesen Feldern verknüpft, bei jeder Veröffentlichung unterbrochen werden; behandeln Sie die Verknüpfungen als versionsspezifisch statt als stabiler Vertrag:725Für die Rekonstruktion auf Nachrichtenebene trägt jede Ereignisklasse einen Schlüssel, der einem Feld im Sitzungstranskript entspricht. Das Transkript-Eintragsformat ist [intern für Claude Code](/docs/de/sessions#where-transcripts-are-stored) und ändert sich zwischen Versionen, daher kann eine Pipeline, die auf diesen Feldern verknüpft, bei jeder Veröffentlichung unterbrochen werden; behandeln Sie die Verknüpfungen als versionsspezifisch statt als stabilen Vertrag:

723 726 

724* `message.uuid` auf `user_prompt` und `assistant_response`727* `message.uuid` auf `user_prompt`, `assistant_response` und `api_response_body`

725* `request_id` auf den API-Ereignissen, gespeichert als `requestId` auf den Assistent-Einträgen der Transkription728* `request_id` auf den API-Ereignissen, gespeichert als `requestId` auf den Assistent-Einträgen des Transkripts

726* `tool_use_id` auf `tool_result` und `tool_decision` Ereignissen729* `tool_use_id` auf `tool_result`- und `tool_decision`-Ereignissen

727 730 

728<h4 id="user-prompt-event">731<h4 id="user-prompt-event">

729 Benutzer-Prompt-Ereignis732 Benutzereingabe-Ereignis

730</h4>733</h4>

731 734 

732Protokolliert, wenn ein Benutzer einen Prompt einreicht.735Protokolliert, wenn ein Benutzer eine Eingabe einreicht.

733 736 

734**Ereignisname**: `claude_code.user_prompt`737**Ereignisname**: `claude_code.user_prompt`

735 738 


738* Alle [Standardattribute](#standard-attributes)741* Alle [Standardattribute](#standard-attributes)

739* `event.name`: `"user_prompt"`742* `event.name`: `"user_prompt"`

740* `event.timestamp`: ISO 8601-Zeitstempel743* `event.timestamp`: ISO 8601-Zeitstempel

741* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)744* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

742* `prompt_length`: Länge des Prompts745* `prompt_length`: Länge der Eingabe

743* `prompt`: Prompt-Inhalt. Standardmäßig geschwärzt. Setzen Sie `OTEL_LOG_USER_PROMPTS=1`, um ihn einzubeziehen746* `prompt`: Eingabeinhalt. Standardmäßig redaktioniert. Setzen Sie `OTEL_LOG_USER_PROMPTS=1`, um ihn einzubeziehen

744* `message.uuid`: UUID der resultierenden Benutzernachricht, die dem gespeicherten Transkriptionseintrag entspricht. Nicht vorhanden bei Befehlsdispatchern, die null oder viele Nachrichten erzeugen können. Erfordert Claude Code v2.1.214 oder später747* `message.uuid`: UUID der resultierenden Benutzernachricht, die dem gespeicherten Transkripteintrag entspricht. Nicht vorhanden bei Befehlsdispatchern, die null oder viele Nachrichten erzeugen können. Erfordert Claude Code v2.1.214 oder später

745* `command_name`: Befehlsname, wenn der Prompt einen aufruft. Integrierte und gebündelte Befehlsnamen wie `compact` oder `debug` werden wie geschrieben ausgegeben; Aliase wie `reset` werden wie eingegeben ausgegeben, nicht der kanonische Name. Benutzerdefinierte, Plugin- und MCP-Befehlsnamen werden zu `custom` oder `mcp` zusammengefasst, es sei denn, `OTEL_LOG_TOOL_DETAILS=1` ist gesetzt748* `command_name`: Befehlsname, wenn die Eingabe einen aufruft. Integrierte und gebündelte Befehlsnamen wie `compact` oder `debug` werden wie geschrieben ausgegeben; Aliase wie `reset` werden wie eingegeben statt des kanonischen Namens ausgegeben. Benutzerdefinierte, Plugin- und MCP-Befehlsnamen werden zu `custom` oder `mcp` zusammengefasst, es sei denn, `OTEL_LOG_TOOL_DETAILS=1` ist gesetzt

746* `command_source`: Ursprung des Befehls, wenn vorhanden: `builtin`, `custom` oder `mcp`. Von Plugins bereitgestellte Befehle werden als `custom` gemeldet749* `command_source`: Ursprung des Befehls, wenn vorhanden: `builtin`, `custom` oder `mcp`. Von Plugins bereitgestellte Befehle werden als `custom` gemeldet

747 750 

748<h4 id="assistant-response-event">751<h4 id="assistant-response-event">

749 Assistent-Antwort-Ereignis752 Assistent-Antwort-Ereignis

750</h4>753</h4>

751 754 

752Protokolliert nach jeder API-Anfrage, die Textinhalte vom Modell zurückgibt. Nur die Textblöcke der Antwort sind enthalten; Thinking-Blöcke und Tool-Use-Blöcke sind ausgeschlossen. Erfordert Claude Code v2.1.193 oder später.755Protokolliert nach jeder API-Anfrage, die Textinhalt vom Modell zurückgibt. Nur die Textblöcke der Antwort sind enthalten; Thinking-Blöcke und Tool-Use-Blöcke sind ausgeschlossen. Erfordert Claude Code v2.1.193 oder später.

753 756 

754**Ereignisname**: `claude_code.assistant_response`757**Ereignisname**: `claude_code.assistant_response`

755 758 


758* Alle [Standardattribute](#standard-attributes)761* Alle [Standardattribute](#standard-attributes)

759* `event.name`: `"assistant_response"`762* `event.name`: `"assistant_response"`

760* `event.timestamp`: ISO 8601-Zeitstempel763* `event.timestamp`: ISO 8601-Zeitstempel

761* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)764* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

762* `response_length`: Länge des Antworttexts in Zeichen765* `response_length`: Länge des Antworttexts in Zeichen

763* `response`: Antworttext, gekürzt bei der Inhaltsbegrenzung (60 KB Standard). Standardmäßig auf `<REDACTED>` geschwärzt. Setzen Sie `OTEL_LOG_ASSISTANT_RESPONSES=1`, um ihn einzubeziehen. Wenn `OTEL_LOG_ASSISTANT_RESPONSES` nicht gesetzt ist, steuert `OTEL_LOG_USER_PROMPTS` es stattdessen, also setzen Sie `OTEL_LOG_ASSISTANT_RESPONSES=0`, um Antworten geschwärzt zu halten, während Prompt-Protokollierung aktiv ist766* `response`: Antworttext, gekürzt auf das Inhaltslimit (standardmäßig 60 KB). Standardmäßig auf `<REDACTED>` redaktioniert. Setzen Sie `OTEL_LOG_ASSISTANT_RESPONSES=1`, um ihn einzubeziehen. Wenn `OTEL_LOG_ASSISTANT_RESPONSES` nicht gesetzt ist, steuert `OTEL_LOG_USER_PROMPTS` es stattdessen, daher setzen Sie `OTEL_LOG_ASSISTANT_RESPONSES=0`, um Antworten redaktioniert zu halten, während die Eingabe-Protokollierung aktiv ist

764* `model`: Modellkennung (z. B. "claude-sonnet-5")767* `model`: Modellkennung (z. B. „claude-sonnet-5")

765* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`. Nur vorhanden, wenn die API eine zurückgibt768* `request_id`: Anthropic API-Anfrage-ID aus dem `request-id`-Header der Antwort. Nur vorhanden, wenn die API eine zurückgibt

766* `message.uuid`: UUID des endgültigen Transkriptionseintrags der Antwort. Eine API-Antwort wird als ein Transkriptionseintrag pro Inhaltsblock gespeichert; dies ist der letzte, von dem die `parentUuid` des nächsten Durchgangs verkettet wird. Erfordert Claude Code v2.1.214 oder später769* `message.uuid`: UUID des endgültigen Transkripteintrags der Antwort. Eine API-Antwort wird als ein Transkripteintrag pro Inhaltsblock gespeichert; dies ist der letzte, von dem die `parentUuid` des nächsten Zuges verkettet wird. Erfordert Claude Code v2.1.214 oder später

767* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name770* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name

768 771 

769<h4 id="tool-result-event">772<h4 id="tool-result-event">

770 Tool-Ergebnis-Ereignis773 Tool-Ergebnis-Ereignis

771</h4>774</h4>

772 775 

773Protokolliert, wenn ein Tool die Ausführung abgeschlossen hat. Nicht ausgegeben, wenn der Tool-Aufruf abgelehnt wurde; siehe das [Tool-Entscheidungs-Ereignis](#tool-decision-event) für Ablehnungen.776Protokolliert, wenn ein Tool die Ausführung abgeschlossen hat. Nicht ausgegeben, wenn der Tool-Aufruf abgelehnt wurde; siehe das [Tool-Entscheidungsereignis](#tool-decision-event) für Ablehnungen.

774 777 

775**Ereignisname**: `claude_code.tool_result`778**Ereignisname**: `claude_code.tool_result`

776 779 


779* Alle [Standardattribute](#standard-attributes)782* Alle [Standardattribute](#standard-attributes)

780* `event.name`: `"tool_result"`783* `event.name`: `"tool_result"`

781* `event.timestamp`: ISO 8601-Zeitstempel784* `event.timestamp`: ISO 8601-Zeitstempel

782* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)785* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

783* `tool_name`: Name des Tools786* `tool_name`: Name des Tools

784* `tool_use_id`: Eindeutige Kennung für diese Tool-Invokation. Entspricht der `tool_use_id`, die an Hooks übergeben wird, und ermöglicht die Korrelation zwischen OTel-Ereignissen und Hook-erfassten Daten.787* `tool_use_id`: Eindeutige Kennung für diesen Tool-Aufruf. Entspricht der `tool_use_id`, die an Hooks übergeben wird, und ermöglicht die Korrelation zwischen OTel-Ereignissen und Hook-erfassten Daten.

785* `success`: `"true"` oder `"false"`788* `success`: `"true"` oder `"false"`

786* `duration_ms`: Ausführungszeit in Millisekunden789* `duration_ms`: Ausführungszeit in Millisekunden

787* `error_type`: Fehler-Kategoriezeichenkette, wenn das Tool fehlgeschlagen ist, z. B. `"Error:ENOENT"` oder `"ShellError"`790* `error_type`: Fehlerkategorie-String, wenn das Tool fehlgeschlagen ist, z. B. `"Error:ENOENT"` oder `"ShellError"`

788* `error` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Vollständige Fehlermeldung, wenn das Tool fehlgeschlagen ist791* `error` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Vollständige Fehlermeldung, wenn das Tool fehlgeschlagen ist

789* `decision_type`: Immer `"accept"`, da dieses Ereignis nur ausgegeben wird, nachdem das Tool ausgeführt wurde. Abgelehnte Aufrufe erzeugen kein Tool-Ergebnis792* `decision_type`: Immer `"accept"`, da dieses Ereignis nur nach der Tool-Ausführung ausgegeben wird. Abgelehnte Aufrufe erzeugen kein Tool-Ergebnis

790* `decision_source`: Entscheidungsquelle. Einer von `"config"`, `"hook"`, `"user_permanent"` oder `"user_temporary"`. Siehe das [Tool-Entscheidungs-Ereignis](#tool-decision-event) für die Bedeutung jedes Wertes. Die nur-Ablehnung-Quellen `"user_abort"` und `"user_reject"` erscheinen niemals auf diesem Ereignis.793* `decision_source`: Woher die Genehmigungsentscheidung kam. Einer von `"config"`, `"hook"`, `"user_permanent"` oder `"user_temporary"`. Siehe das [Tool-Entscheidungsereignis](#tool-decision-event) für die Bedeutung jedes Wertes. Die nur-Ablehnung-Quellen `"user_abort"` und `"user_reject"` erscheinen niemals auf diesem Ereignis.

791* `tool_input_size_bytes`: Größe der JSON-serialisierten Tool-Eingabe in Bytes794* `tool_input_size_bytes`: Größe der JSON-serialisierten Tool-Eingabe in Bytes

792* `tool_result_size_bytes`: Größe des Tool-Ergebnisses in Bytes795* `tool_result_size_bytes`: Größe des Tool-Ergebnisses in Bytes

793* `mcp_server_scope`: MCP-Server-Scope-Kennung (für MCP-Tools)796* `mcp_server_scope`: MCP-Server-Scope-Kennung (für MCP-Tools)

794* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (wenn `OTEL_LOG_TOOL_DETAILS=1`): die Commit-Identität eines erfolgreichen `git commit` Laufs durch das Bash- oder PowerShell-Tool. `vcs.ref.head.revision` ist die Commit-SHA, `vcs.ref.head.name` ist der Branch, auf dem es committed wurde, und `vcs.ref.head.type` ist `branch`. Der Name und Typ werden weggelassen, wenn der Commit auf einem detached HEAD gemacht wurde. Erfordert Claude Code v2.1.269 oder später797* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (wenn `OTEL_LOG_TOOL_DETAILS=1`): die Commit-Identität eines erfolgreichen `git commit`-Laufs durch das Bash- oder PowerShell-Tool. `vcs.ref.head.revision` ist die Commit-SHA, `vcs.ref.head.name` ist der Branch, auf dem es committed wurde, und `vcs.ref.head.type` ist `branch`. Der Name und Typ werden weggelassen, wenn der Commit auf einem detached HEAD gemacht wurde. Erfordert Claude Code v2.1.269 oder später

795* `tool_parameters` (wenn `OTEL_LOG_TOOL_DETAILS=1`): JSON-Zeichenkette mit Tool-spezifischen Parametern. Für die integrierten Server von Claude Desktop in Sitzungen, die Claude Desktop besitzt, ist das Paar `mcp_server_name`/`mcp_tool_name` auch ohne das Flag enthalten, die gleiche Host-erstellte Ausnahme wie das [Tool-Entscheidungs-Ereignis](#tool-decision-event), erfordert Claude Code v2.1.214 oder später. Die Parameter variieren je nach Tool:798* `tool_parameters` (wenn `OTEL_LOG_TOOL_DETAILS=1`): JSON-String mit Tool-spezifischen Parametern. Für die integrierten Server von Claude Desktop in Sitzungen, die Claude Desktop besitzt, ist das Paar `mcp_server_name`/`mcp_tool_name` auch ohne das Flag enthalten, die gleiche von Host erstellte Ausnahme wie das [Tool-Entscheidungsereignis](#tool-decision-event), erfordert Claude Code v2.1.214 oder später. Die Parameter variieren je nach Tool:

796 * Für Bash-Tool: enthält `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`, plus `git_commit_id` und `git_branch`, wenn ein `git commit` Befehl erfolgreich ist. `git_commit_id` ist die vollständige Commit-SHA, wenn der Commit der HEAD des Arbeitsverzeichnisses der Sitzung ist, und Gits abgekürzte SHA andernfalls. `git_branch` ist der Branch, auf dem es committed wurde, weggelassen auf einem detached HEAD799 * Für Bash-Tool: enthält `bash_command`, `full_command`, `timeout`, `description` und `dangerouslyDisableSandbox`, plus `git_commit_id` und `git_branch`, wenn ein `git commit`-Befehl erfolgreich ist. `git_commit_id` ist die vollständige Commit-SHA, wenn der Commit der HEAD der Arbeitsverzeichnis der Sitzung ist, und Gits abgekürzte SHA andernfalls. `git_branch` ist der Branch, auf dem es committed wurde, weggelassen auf einem detached HEAD

797 * Für das Workspace-Bash-Tool der Desktop-App, das auch `tool_name` als `Bash` meldet: enthält nur `bash_command`, `full_command` und `timeout`800 * Für das Bash-Tool des Arbeitsbereichs der Desktop-App, das auch `tool_name` als `Bash` meldet: enthält nur `bash_command`, `full_command` und `timeout`

798 * Für MCP-Tools: enthält `mcp_server_name`, `mcp_tool_name`801 * Für MCP-Tools: enthält `mcp_server_name`, `mcp_tool_name`

799 * Für Skill-Tool: enthält `skill_name`802 * Für Skill-Tool: enthält `skill_name`

800 * Für Agent-Tool oder Legacy-Task-Tool: enthält `subagent_type`803 * Für Agent-Tool oder Legacy-Task-Tool: enthält `subagent_type`

801* `tool_input` (wenn `OTEL_LOG_TOOL_DETAILS=1`): JSON-serialisierte Tool-Argumente. Einzelne Werte über 512 Zeichen werden gekürzt, und die gesamte Nutzlast ist auf etwa 4 K Zeichen begrenzt. Gilt für alle Tools einschließlich MCP-Tools.804* `tool_input` (wenn `OTEL_LOG_TOOL_DETAILS=1`): JSON-serialisierte Tool-Argumente. Einzelne Werte über 512 Zeichen werden gekürzt, und die vollständige Nutzlast ist auf \~4 K Zeichen begrenzt. Gilt für alle Tools einschließlich MCP-Tools.

802 805 

803<h4 id="api-request-event">806<h4 id="api-request-event">

804 API-Anfrage-Ereignis807 API-Anfrage-Ereignis


813* Alle [Standardattribute](#standard-attributes)816* Alle [Standardattribute](#standard-attributes)

814* `event.name`: `"api_request"`817* `event.name`: `"api_request"`

815* `event.timestamp`: ISO 8601-Zeitstempel818* `event.timestamp`: ISO 8601-Zeitstempel

816* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)819* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

817* `model`: Verwendetes Modell (z. B. "claude-sonnet-5")820* `model`: Verwendetes Modell (z. B. „claude-sonnet-5")

818* `cost_usd`: Geschätzte Kosten in USD821* `cost_usd`: Geschätzte Kosten in USD

819* `cost_usd_micros`: Geschätzte Kosten in Millionsten eines US-Dollars, ausgegeben als Ganzzahl822* `cost_usd_micros`: Geschätzte Kosten in Millionsten eines US-Dollars, ausgegeben als Integer

820* `duration_ms`: Anfragedauer in Millisekunden823* `duration_ms`: Anfrage-Dauer in Millisekunden

821* `input_tokens`: Anzahl der Eingabe-Token824* `input_tokens`: Anzahl der Eingabe-Token

822* `output_tokens`: Anzahl der Ausgabe-Token825* `output_tokens`: Anzahl der Ausgabe-Token

823* `cache_read_tokens`: Anzahl der aus dem Cache gelesenen Token826* `cache_read_tokens`: Anzahl der aus dem Cache gelesenen Token

824* `cache_creation_tokens`: Anzahl der Token, die für die Cache-Erstellung verwendet werden827* `cache_creation_tokens`: Anzahl der für die Cache-Erstellung verwendeten Token

825* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.828* `request_id`: Anthropic API-Anfrage-ID aus dem `request-id`-Header der Antwort, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.

826* `client_request_id`: Client-generierte UUID, die als `x-client-request-id` Request-Header gesendet wird; siehe die [Ereigniskorrelationsattribute](#event-correlation-attributes) Tabelle für wann sie vorhanden ist. Erfordert Claude Code v2.1.214 oder später829* `client_request_id`: Von Client generierte UUID, die als `x-client-request-id`-Request-Header gesendet wird; siehe die [Ereigniskorrelationsattribute](#event-correlation-attributes)-Tabelle für wann sie vorhanden ist. Erfordert Claude Code v2.1.214 oder später

827* `speed`: `"fast"` oder `"normal"`, was angibt, ob der schnelle Modus aktiv war830* `speed`: `"fast"` oder `"normal"`, zeigt an, ob der schnelle Modus aktiv war

828* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name831* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name

829* `effort`: [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird: `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Nicht vorhanden, wenn das Modell Anstrengung nicht unterstützt.832* `effort`: [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird: `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Nicht vorhanden, wenn Claude Code keine Anstrengungsstufe sendet, z. B. bei einem Modell, das Anstrengung nicht unterstützt.

830* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#cost-counter) für Definitionen und Schwärzungsverhalten.833* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#cost-counter) für Definitionen und Redaktionsverhalten.

831 834 

832<h4 id="api-error-event">835<h4 id="api-error-event">

833 API-Fehler-Ereignis836 API-Fehler-Ereignis


842* Alle [Standardattribute](#standard-attributes)845* Alle [Standardattribute](#standard-attributes)

843* `event.name`: `"api_error"`846* `event.name`: `"api_error"`

844* `event.timestamp`: ISO 8601-Zeitstempel847* `event.timestamp`: ISO 8601-Zeitstempel

845* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)848* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

846* `model`: Verwendetes Modell (z. B. "claude-sonnet-5")849* `model`: Verwendetes Modell (z. B. „claude-sonnet-5")

847* `error`: Fehlermeldung850* `error`: Fehlermeldung

848* `status_code`: HTTP-Statuscode als Zahl. Nicht vorhanden für Nicht-HTTP-Fehler wie Verbindungsfehler.851* `status_code`: HTTP-Statuscode als Zahl. Nicht vorhanden für Nicht-HTTP-Fehler wie Verbindungsfehler.

849* `duration_ms`: Anfragedauer in Millisekunden852* `duration_ms`: Anfrage-Dauer in Millisekunden

850* `attempt`: Gesamtzahl der Versuche, einschließlich der ursprünglichen Anfrage (`1` bedeutet, dass keine Wiederholungen aufgetreten sind)853* `attempt`: Gesamtzahl der Versuche, einschließlich der ursprünglichen Anfrage (`1` bedeutet, dass keine Wiederholungen aufgetreten sind)

851* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.854* `request_id`: Anthropic API-Anfrage-ID aus dem `request-id`-Header der Antwort, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.

852* `client_request_id`: Client-generierte UUID, die als `x-client-request-id` Request-Header gesendet wird. Verfügbar auch wenn ein Fehler wie ein Timeout oder Verbindungsfehler nie eine Server-`request_id` erzeugt hat; siehe die [Ereigniskorrelationsattribute](#event-correlation-attributes) Tabelle für wann sie vorhanden ist. Erfordert Claude Code v2.1.214 oder später855* `client_request_id`: Von Client generierte UUID, die als `x-client-request-id`-Request-Header gesendet wird. Verfügbar auch wenn ein Fehler wie ein Timeout oder Verbindungsfehler niemals eine Server-`request_id` erzeugt hat; siehe die [Ereigniskorrelationsattribute](#event-correlation-attributes)-Tabelle für wann sie vorhanden ist. Erfordert Claude Code v2.1.214 oder später

853* `speed`: `"fast"` oder `"normal"`, was angibt, ob der schnelle Modus aktiv war856* `speed`: `"fast"` oder `"normal"`, zeigt an, ob der schnelle Modus aktiv war

854* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name857* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name

855* `effort`: [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Nicht vorhanden, wenn das Modell Anstrengung nicht unterstützt.858* `effort`: [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Nicht vorhanden, wenn Claude Code keine Anstrengungsstufe sendet, z. B. bei einem Modell, das Anstrengung nicht unterstützt.

856* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#cost-counter) für Definitionen und Schwärzungsverhalten.859* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#cost-counter) für Definitionen und Redaktionsverhalten.

857 860 

858<h4 id="api-refusal-event">861<h4 id="api-refusal-event">

859 API-Verweigerung-Ereignis862 API-Ablehnung-Ereignis

860</h4>863</h4>

861 864 

862Protokolliert, wenn eine API-Anfrage `stop_reason: "refusal"` zurückgibt. Verweigerungen kommen in einem erfolgreichen Response-Stream an, nicht als HTTP-Fehler, daher wird das `api_error`-Ereignis nicht für sie ausgelöst. Dieses Ereignis ermöglicht es Ihnen, die Verweigerungshäufigkeit zu verfolgen und Verweigerungen nach den gleichen Attributen wie `api_request` und `api_error` zu gruppieren.865Protokolliert, wenn eine API-Anfrage `stop_reason: "refusal"` zurückgibt. Ablehnungen kommen auf einem erfolgreichen Response-Stream statt als HTTP-Fehler an, daher wird das `api_error`-Ereignis nicht für sie ausgelöst. Dieses Ereignis ermöglicht es Ihnen, die Ablehnungshäufigkeit zu verfolgen und Ablehnungen nach den gleichen Attributen wie `api_request` und `api_error` zu gruppieren.

863 866 

864**Ereignisname**: `claude_code.api_refusal`867**Ereignisname**: `claude_code.api_refusal`

865 868 


868* Alle [Standardattribute](#standard-attributes)871* Alle [Standardattribute](#standard-attributes)

869* `event.name`: `"api_refusal"`872* `event.name`: `"api_refusal"`

870* `event.timestamp`: ISO 8601-Zeitstempel873* `event.timestamp`: ISO 8601-Zeitstempel

871* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)874* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

872* `model`: Modellkennung aus der Anfrage875* `model`: Modellkennung aus der Anfrage

873* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.876* `request_id`: Anthropic API-Anfrage-ID aus dem `request-id`-Header der Antwort, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.

874* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name. Siehe [`api_request`](#api-request-event) für Definitionen.877* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name. Siehe [`api_request`](#api-request-event) für Definitionen.

875* `speed`: Entweder `"fast"`, wenn [Schneller Modus](/docs/de/fast-mode) aktiv ist, oder `"normal"`878* `speed`: Entweder `"fast"`, wenn [Schneller Modus](/docs/de/fast-mode) aktiv ist, oder `"normal"`

876* `attempt`: Wiederholungsversuch-Nummer. Der erste Versuch ist `1`.879* `attempt`: Wiederholungsversuch-Nummer. Der erste Versuch ist `1`.

877* `effort`: [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Nicht vorhanden, wenn das Modell Anstrengung nicht unterstützt.880* `effort`: [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Nicht vorhanden, wenn Claude Code keine Anstrengungsstufe sendet, z. B. bei einem Modell, das Anstrengung nicht unterstützt.

878* `server_fallback_hop`: `true`, wenn das Server-seitige Modell-Fallback der API diesen Verweigerung bereits auf einem anderen Modell erneut versucht hat, sodass der Benutzer diese bestimmte Verweigerung nicht sah. `false`, wenn die Anfrage in einer Verweigerung endete. Eine einzelne Runde kann sowohl ein `true` Hop-Ereignis als auch ein späteres `false` Finales Ereignis ausgeben, wenn das Fallback-Modell auch verweigert.881* `server_fallback_hop`: `true`, wenn das API-seitige Modell-Fallback diese Ablehnung bereits auf einem anderen Modell erneut versucht hat, daher hat der Benutzer diese bestimmte Ablehnung nicht gesehen. `false`, wenn die Anfrage in einer Ablehnung endete. Ein einzelner Zug kann sowohl ein `true`-Hop-Ereignis als auch ein späteres `false`-Finales Ereignis ausgeben, wenn das Fallback-Modell auch ablehnt.

879* `has_category`: `true`, wenn die API-Antwort eine `stop_details.category` von `"cyber"`, `"bio"`, `"frontier_llm"` oder `"reasoning_extraction"` trug. `false`, wenn die Antwort keine Kategorie oder einen Wert außerhalb dieses Satzes trug. Nicht vorhanden, wenn `server_fallback_hop` `true` ist, da Hop-Blöcke keine `stop_details` tragen.882* `has_category`: `true`, wenn die API-Antwort eine `stop_details.category` von `"cyber"`, `"bio"`, `"frontier_llm"` oder `"reasoning_extraction"` trug. `false`, wenn die Antwort keine Kategorie oder einen Wert außerhalb dieses Satzes trug. Nicht vorhanden, wenn `server_fallback_hop` `true` ist, da Hop-Blöcke keine `stop_details` tragen.

880* `has_explanation`: `true`, wenn die API-Antwort eine `stop_details.explanation` trug, andernfalls `false`. Nicht vorhanden, wenn `server_fallback_hop` `true` ist.883* `has_explanation`: `true`, wenn die API-Antwort eine `stop_details.explanation` trug, andernfalls `false`. Nicht vorhanden, wenn `server_fallback_hop` `true` ist.

881* `category`: Der `stop_details.category`-Wert aus der API-Antwort. Einer von `"cyber"`, `"bio"`, `"frontier_llm"` oder `"reasoning_extraction"`. Nur vorhanden, wenn `OTEL_LOG_TOOL_DETAILS=1` gesetzt ist und `has_category` `true` ist.884* `category`: Der `stop_details.category`-Wert aus der API-Antwort. Einer von `"cyber"`, `"bio"`, `"frontier_llm"` oder `"reasoning_extraction"`. Nur vorhanden, wenn `OTEL_LOG_TOOL_DETAILS=1` gesetzt ist und `has_category` `true` ist.

882* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#cost-counter) für Definitionen und Schwärzungsverhalten.885* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#cost-counter) für Definitionen und Redaktionsverhalten.

883 886 

884<h4 id="api-request-body-event">887<h4 id="api-request-body-event">

885 API-Anfrage-Text-Ereignis888 API-Anfrage-Body-Ereignis

886</h4>889</h4>

887 890 

888Protokolliert für jeden API-Anfrage-Versuch, wenn `OTEL_LOG_RAW_API_BODIES` gesetzt ist. Ein Ereignis wird pro Versuch ausgegeben, daher erzeugen Wiederholungen mit angepassten Parametern jeweils ihr eigenes Ereignis.891Protokolliert für jede API-Anfrage-Versuch, wenn `OTEL_LOG_RAW_API_BODIES` gesetzt ist. Ein Ereignis wird pro Versuch ausgegeben, daher erzeugen Wiederholungen mit angepassten Parametern jeweils ihr eigenes Ereignis.

889 892 

890**Ereignisname**: `claude_code.api_request_body`893**Ereignisname**: `claude_code.api_request_body`

891 894 


894* Alle [Standardattribute](#standard-attributes)897* Alle [Standardattribute](#standard-attributes)

895* `event.name`: `"api_request_body"`898* `event.name`: `"api_request_body"`

896* `event.timestamp`: ISO 8601-Zeitstempel899* `event.timestamp`: ISO 8601-Zeitstempel

897* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)900* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

898* `body`: JSON-serialisierte Messages API-Anfrageparameter, z. B. der Systemprompt, Nachrichten und Tools, gekürzt bei der Inhaltsbegrenzung (60 KB Standard). Extended-Thinking-Inhalte in vorherigen Assistent-Durchgängen werden geschwärzt. Nur im Inline-Modus ausgegeben (`OTEL_LOG_RAW_API_BODIES=1`).901* `body`: JSON-serialisierte Messages API-Anfrage-Parameter, z. B. der System-Prompt, Nachrichten und Tools, gekürzt auf das Inhaltslimit (standardmäßig 60 KB). Extended-Thinking-Inhalt in vorherigen Assistent-Zügen wird redaktioniert. Nur im Inline-Modus ausgegeben (`OTEL_LOG_RAW_API_BODIES=1`).

899* `body_ref`: Absoluter Pfad zu einer `<dir>/<uuid>.request.json` Datei, die den ungekürzte Text enthält. Nur im Datei-Modus ausgegeben (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).902* `body_ref`: Absoluter Pfad zu einer `<dir>/<uuid>.request.json`-Datei, die den ungekürzte Body enthält. Nur im Datei-Modus ausgegeben (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).

900* `body_length`: Ungekürzte Text-Länge. UTF-8-Bytes, wenn `OTEL_LOG_RAW_API_BODIES=file:<dir>`, oder UTF-16-Code-Einheiten, wenn `=1`903* `body_length`: Ungekürzte Body-Länge. UTF-8-Bytes, wenn `OTEL_LOG_RAW_API_BODIES=file:<dir>`, oder UTF-16-Code-Einheiten, wenn `=1`

901* `body_truncated`: `"true"`, wenn Inline-Kürzung aufgetreten ist. Nicht vorhanden im Datei-Modus und wenn keine Kürzung aufgetreten ist.904* `body_truncated`: `"true"`, wenn Inline-Kürzung aufgetreten ist. Nicht vorhanden im Datei-Modus und wenn keine Kürzung aufgetreten ist.

902* `model`: Modellkennung aus den Anfrageparametern905* `model`: Modellkennung aus den Anfrage-Parametern

903* `query_source`: Subsystem, das die Anfrage gestellt hat (z. B. `"compact"`)906* `query_source`: Subsystem, das die Anfrage gestellt hat (z. B. `"compact"`)

904* `request_body_id`: UUID, die diese Anfrage-Versuch identifiziert. Das [`api_response_body` Ereignis](#api-response-body-event) für den Versuch, der erfolgreich ist, trägt den gleichen Wert, daher können Sie eine Antwort mit der genauen Anfrage, die sie erzeugt hat, paaren. Erfordert Claude Code v2.1.274 oder später907* `request_body_id`: UUID, die den Request-Body dieses Versuchs identifiziert. Das [`api_response_body`-Ereignis](#api-response-body-event) für den Versuch, der erfolgreich ist, trägt den gleichen Wert, daher können Sie eine Antwort mit der genauen Anfrage, die sie erzeugt hat, paaren. Erfordert Claude Code v2.1.274 oder später

905 908 

906<h4 id="api-response-body-event">909<h4 id="api-response-body-event">

907 API-Antwort-Text-Ereignis910 API-Antwort-Body-Ereignis

908</h4>911</h4>

909 912 

910Protokolliert für jede erfolgreiche API-Antwort, wenn `OTEL_LOG_RAW_API_BODIES` gesetzt ist.913Protokolliert für jede erfolgreiche API-Antwort, wenn `OTEL_LOG_RAW_API_BODIES` gesetzt ist.

911 914 

912Im Datei-Modus (`OTEL_LOG_RAW_API_BODIES=file:<dir>`), hängt Claude Code auch eine JSON-Zeile an `<dir>/index.jsonl` für jede erfolgreiche Antwort an, mit den Feldern `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file` und `response_file`. Lesen Sie es, um die Anfrage- und Antwortdateien hinter einer bestimmten Transkript-Nachricht zu finden, ohne Ihren Telemetrie-Backend abzufragen. Die Index-Datei erfordert Claude Code v2.1.274 oder später.915Im Datei-Modus (`OTEL_LOG_RAW_API_BODIES=file:<dir>`) hängt Claude Code auch eine JSON-Zeile an `<dir>/index.jsonl` für jede erfolgreiche Antwort an, mit den Feldern `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file` und `response_file`. Lesen Sie sie, um die Request- und Response-Dateien hinter einer bestimmten Transkript-Nachricht zu finden, ohne Ihren Telemetrie-Backend abzufragen. Die Index-Datei erfordert Claude Code v2.1.274 oder später.

913 916 

914**Ereignisname**: `claude_code.api_response_body`917**Ereignisname**: `claude_code.api_response_body`

915 918 


918* Alle [Standardattribute](#standard-attributes)921* Alle [Standardattribute](#standard-attributes)

919* `event.name`: `"api_response_body"`922* `event.name`: `"api_response_body"`

920* `event.timestamp`: ISO 8601-Zeitstempel923* `event.timestamp`: ISO 8601-Zeitstempel

921* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)924* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

922* `body`: JSON-serialisierte Messages API-Antwort, einschließlich der ID, Inhaltsblöcke, Nutzung und Stoppgrund, gekürzt bei der Inhaltsbegrenzung (60 KB Standard). Extended-Thinking-Inhalte werden geschwärzt. Nur im Inline-Modus ausgegeben (`OTEL_LOG_RAW_API_BODIES=1`).925* `body`: JSON-serialisierte Messages API-Antwort, einschließlich der ID, Inhaltsblöcke, Nutzung und Stop-Grund, gekürzt auf das Inhaltslimit (standardmäßig 60 KB). Extended-Thinking-Inhalt wird redaktioniert. Nur im Inline-Modus ausgegeben (`OTEL_LOG_RAW_API_BODIES=1`).

923* `body_ref`: Absoluter Pfad zu einer `<dir>/<request_id>.response.json` Datei, die den ungekürzte Text enthält. Nur im Datei-Modus ausgegeben (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).926* `body_ref`: Absoluter Pfad zu einer `<dir>/<request_id>.response.json`-Datei, die den ungekürzte Body enthält. Nur im Datei-Modus ausgegeben (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).

924* `body_length`: Ungekürzte Text-Länge. UTF-8-Bytes, wenn `OTEL_LOG_RAW_API_BODIES=file:<dir>`, oder UTF-16-Code-Einheiten, wenn `=1`927* `body_length`: Ungekürzte Body-Länge. UTF-8-Bytes, wenn `OTEL_LOG_RAW_API_BODIES=file:<dir>`, oder UTF-16-Code-Einheiten, wenn `=1`

925* `body_truncated`: `"true"`, wenn Inline-Kürzung aufgetreten ist. Nicht vorhanden im Datei-Modus und wenn keine Kürzung aufgetreten ist.928* `body_truncated`: `"true"`, wenn Inline-Kürzung aufgetreten ist. Nicht vorhanden im Datei-Modus und wenn keine Kürzung aufgetreten ist.

926* `model`: Modellkennung929* `model`: Modellkennung

927* `query_source`: Subsystem, das die Anfrage gestellt hat930* `query_source`: Subsystem, das die Anfrage gestellt hat

928* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.931* `request_id`: Anthropic API-Anfrage-ID aus dem `request-id`-Header der Antwort, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.

929* `request_body_id`: Die `request_body_id` des [`api_request_body` Ereignisses](#api-request-body-event), das diese Antwort beantwortet. Erfordert Claude Code v2.1.274 oder später932* `request_body_id`: Die `request_body_id` des [`api_request_body`-Ereignisses](#api-request-body-event), das diese Antwort beantwortet. Erfordert Claude Code v2.1.274 oder später

930* `message.id`: Nachrichten-ID, die die API der Antwort zugewiesen hat, das `id` Feld des Antworttextes. Erfordert Claude Code v2.1.274 oder später933* `message.id`: Nachrichten-ID, die die API der Antwort zugewiesen hat, das `id`-Feld des Response-Body. Erfordert Claude Code v2.1.274 oder später

931* `message.uuid`: UUID des endgültigen Transkriptionseintrags der Antwort. Zusammen mit `request_body_id` verknüpft es eine Transkript-Nachricht mit den Anfrage- und Antworttexten dahinter. Erfordert Claude Code v2.1.274 oder später934* `message.uuid`: UUID des endgültigen Transkripteintrags der Antwort. Zusammen mit `request_body_id` verknüpft es eine Transkript-Nachricht mit den Request- und Response-Bodies dahinter. Erfordert Claude Code v2.1.274 oder später

932 935 

933<h4 id="tool-decision-event">936<h4 id="tool-decision-event">

934 Tool-Entscheidungs-Ereignis937 Tool-Entscheidungs-Ereignis

935</h4>938</h4>

936 939 

937Protokolliert, wenn eine Tool-Berechtigungsentscheidung getroffen wird (akzeptieren/ablehnen).940Protokolliert, wenn eine Tool-Genehmigungsentscheidung getroffen wird (akzeptieren/ablehnen).

938 941 

939**Ereignisname**: `claude_code.tool_decision`942**Ereignisname**: `claude_code.tool_decision`

940 943 


943* Alle [Standardattribute](#standard-attributes)946* Alle [Standardattribute](#standard-attributes)

944* `event.name`: `"tool_decision"`947* `event.name`: `"tool_decision"`

945* `event.timestamp`: ISO 8601-Zeitstempel948* `event.timestamp`: ISO 8601-Zeitstempel

946* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)949* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

947* `tool_name`: Name des Tools (z. B. "Read", "Edit", "Write", "NotebookEdit")950* `tool_name`: Name des Tools (z. B. „Read", „Edit", „Write", „NotebookEdit")

948* `tool_use_id`: Eindeutige Kennung für diese Tool-Invokation. Entspricht der `tool_use_id`, die an Hooks übergeben wird, und ermöglicht die Korrelation zwischen OTel-Ereignissen und Hook-erfassten Daten.951* `tool_use_id`: Eindeutige Kennung für diesen Tool-Aufruf. Entspricht der `tool_use_id`, die an Hooks übergeben wird, und ermöglicht die Korrelation zwischen OTel-Ereignissen und Hook-erfassten Daten.

949* `decision`: Entweder `"accept"` oder `"reject"`952* `decision`: Entweder `"accept"` oder `"reject"`

950* `tool_source`: Immer vorhanden. Die Herkunft des Tools als geschlossener Satz von CLI-erstellten Werten. Erfordert Claude Code v2.1.214 oder später953* `tool_source`: Immer vorhanden. Die Herkunft des Tools als geschlossener Satz von CLI-erstellten Werten. Erfordert Claude Code v2.1.214 oder später

951 * `"builtin"`: die eigenen Tools der CLI954 * `"builtin"`: die eigenen Tools der CLI

952 * `"mcp"`: MCP-Server allgemein955 * `"mcp"`: MCP-Server allgemein

953 * `"sdk_host_builtin_mcp"`: ein In-Process-Server, der in Claude Desktop selbst integriert ist, in einer Sitzung, die Claude Desktop besitzt. Claude Desktop besitzt eine Sitzung, die es von einem seiner eigenen Einstiegspunkte gestartet hat, `claude-desktop`, `claude-desktop-3p` oder `local-agent`, wenn diese Sitzung kein verschachteltes Kind ist; verschachtelte Sitzungen, einschließlich Sitzungen, die Claude Code selbst erzeugt, melden diese Server als `"mcp"`956 * `"sdk_host_builtin_mcp"`: ein In-Process-Server, der in Claude Desktop selbst integriert ist, in einer Sitzung, die Claude Desktop besitzt. Claude Desktop besitzt eine Sitzung, die es von einem seiner eigenen Einstiegspunkte gestartet hat, `claude-desktop`, `claude-desktop-3p` oder `local-agent`, wenn diese Sitzung kein verschachteltes Kind ist; verschachtelte Sitzungen, einschließlich Sitzungen, die Claude Code selbst erzeugt, melden diese Server als `"mcp"`

954* `source`: Entscheidungsquelle:957* `source`: Woher die Entscheidung kam:

955 * `"config"`: Automatisch entschieden, ohne Aufforderung, basierend auf Projekteinstellungen, Zulassungs- oder Ablehnungsregeln in den persönlichen Einstellungen des Benutzers, verwalteter Unternehmensrichtlinie, `--allowedTools` oder `--disallowedTools` Flags, dem aktiven Berechtigungsmodus, einer sitzungsbegrenzten Zulassung aus einem früheren Prompt in der gleichen interaktiven CLI-Sitzung oder weil das Tool inhärent sicher ist. Das Ereignis gibt nicht an, welche dieser Quellen übereinstimmte. Claude Code meldet auch `"config"`, wenn die Berechtigungsaufforderungsanfrage selbst fehlschlägt, z. B. wenn der Agent SDK's [`canUseTool`](/docs/de/agent-sdk/typescript#canusetool) Callback oder das [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) Tool ein ungültiges Ergebnis zurückgibt, oder wenn der Eingabestrom geschlossen wird, während die Anfrage ausstehend ist. Vor v2.1.216 meldete Claude Code diese Fehler als `"user_reject"`.958 * `"config"`: Automatisch ohne Aufforderung entschieden, basierend auf Projekteinstellungen, Zulassungs- oder Ablehnungsregeln in den persönlichen Einstellungen des Benutzers, Unternehmensrichtlinie, `--allowedTools`- oder `--disallowedTools`-Flags, dem aktiven Genehmigungsmodus, einer Sitzungs-Berechtigung aus einer früheren Eingabe in der gleichen interaktiven CLI-Sitzung, oder weil das Tool inhärent sicher ist. Das Ereignis zeigt nicht an, welche dieser Quellen übereinstimmte. Claude Code meldet auch `"config"`, wenn die Genehmigungsaufforderung selbst fehlschlägt, z. B. wenn der [`canUseTool`](/docs/de/agent-sdk/typescript#canusetool)-Callback des Agent SDK oder das [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags)-Tool ein ungültiges Ergebnis zurückgibt, oder wenn der Eingabestrom geschlossen wird, während die Anfrage ausstehend ist. Vor v2.1.216 meldete Claude Code diese Fehler als `"user_reject"`.

956 * `"hook"`: Ein `PreToolUse` oder `PermissionRequest` Hook hat die Entscheidung zurückgegeben.959 * `"hook"`: Ein `PreToolUse`- oder `PermissionRequest`-Hook hat die Entscheidung zurückgegeben.

957 * `"user_permanent"`: Wird ausgegeben, wenn der Benutzer "Ja, und nicht mehr fragen für ..." bei einer Berechtigungsaufforderung wählte, was eine Zulassungsregel in seinen persönlichen Einstellungen speichert. 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 Regelübereinstimmungen `"user_permanent"` aus. Wird als Akzeptanz behandelt.960 * `"user_permanent"`: Ausgegeben, wenn der Benutzer „Ja, und nicht mehr fragen für ..." bei einer Genehmigungsaufforderung wählte, was eine Zulassungsregel in seinen persönlichen Einstellungen speichert. In der interaktiven CLI wird dies nur für diese Wahl selbst ausgegeben; spätere Aufrufe, die die gespeicherte Regel erfüllen, geben stattdessen `"config"` aus. In Agent SDK- oder nicht-interaktiven `-p`-Sitzungen geben sowohl die ursprüngliche Wahl als auch spätere Regelübereinstimmungen `"user_permanent"` aus. Wird als Akzeptanz behandelt.

958 * `"user_temporary"`: Wird ausgegeben, wenn der Benutzer "Ja" bei einer Berechtigungsaufforderung wählte, oder eine Option wählte, die Zugriff für den Rest der Sitzung bei einer Dateibearbeitungs- oder Leseanforderung gewährt. In der interaktiven CLI wird dies nur für die Wahl selbst ausgegeben; spätere Aufrufe, die durch diese sitzungsbegrenzte Zulassung zulässig sind, geben stattdessen `"config"` aus. In Agent SDK oder nicht-interaktiven `-p` Sitzungen geben sowohl die Wahl als auch spätere Übereinstimmungen `"user_temporary"` aus. Wird als Akzeptanz behandelt.961 * `"user_temporary"`: Ausgegeben, wenn der Benutzer „Ja" bei einer Genehmigungsaufforderung für eine einmalige Genehmigung wählte, oder eine Option wählte, die Zugriff für den Rest der Sitzung bei einer Datei-Bearbeitungs- oder Lese-Aufforderung gewährt. In der interaktiven CLI wird dies nur für die Wahl selbst ausgegeben; spätere Aufrufe, die durch diese Sitzungs-Berechtigung erlaubt sind, geben stattdessen `"config"` aus. In Agent SDK- oder nicht-interaktiven `-p`-Sitzungen geben sowohl die Wahl als auch spätere Übereinstimmungen `"user_temporary"` aus. Wird als Akzeptanz behandelt.

959 * `"user_abort"`: Wird ausgegeben, wenn der Benutzer die Berechtigungsaufforderung geschlossen hat, ohne zu antworten. In Agent SDK und nicht-interaktiven `-p` Sitzungen schließt dies auch das Unterbrechen des Durchgangs ein, während eine `canUseTool` oder `--permission-prompt-tool` Berechtigungsanfrage ausstehend ist; vor v2.1.216 meldete Claude Code diese Unterbrechung als `"user_reject"`. Wird als Ablehnung behandelt.962 * `"user_abort"`: Ausgegeben, wenn der Benutzer die Genehmigungsaufforderung ohne Antwort geschlossen hat. In Agent SDK- und nicht-interaktiven `-p`-Sitzungen schließt dies auch das Unterbrechen des Zuges ein, während eine `canUseTool`- oder `--permission-prompt-tool`-Genehmigungsanfrage ausstehend ist; vor v2.1.216 meldete Claude Code diese Unterbrechung als `"user_reject"`. Wird als Ablehnung behandelt.

960 * `"user_reject"`: Wird ausgegeben, wenn der Benutzer "Nein" wählte, wenn aufgefordert. In der interaktiven CLI wird dies nur für diese Wahl selbst ausgegeben; Aufrufe, die einer Ablehnungsregel in den persönlichen Einstellungen des Benutzers entsprechen, geben stattdessen `"config"` aus. In Agent SDK oder nicht-interaktiven `-p` Sitzungen geben Aufrufe, die einer Ablehnungsregel in persönlichen Einstellungen entsprechen, `"user_reject"` aus. Wird als Ablehnung behandelt.963 * `"user_reject"`: Ausgegeben, wenn der Benutzer „Nein" bei einer Aufforderung wählte. In der interaktiven CLI wird dies nur für diese Wahl selbst ausgegeben; Aufrufe, die eine Ablehnungsregel in den persönlichen Einstellungen des Benutzers erfüllen, geben stattdessen `"config"` aus. In Agent SDK- oder nicht-interaktiven `-p`-Sitzungen geben Aufrufe, die eine Ablehnungsregel in persönlichen Einstellungen erfüllen, `"user_reject"` aus. Wird als Ablehnung behandelt.

961* `tool_parameters` (wenn `OTEL_LOG_TOOL_DETAILS=1`): JSON-Zeichenkette mit Tool-spezifischen Parametern. Gleiche Form wie das [Tool-Ergebnis-Ereignis](#tool-result-event), minus Post-Ausführungs-Felder wie `git_commit_id`. Werte können sich von `tool_result` für einen akzeptierten Aufruf unterscheiden, wenn die Berechtigungsentscheidung die Tool-Eingabe über `updatedInput` umschreibt. Verwenden Sie dieses Attribut, um zu sehen, welcher Befehl abgelehnt wurde, wenn `decision` `"reject"` ist.964* `tool_parameters` (wenn `OTEL_LOG_TOOL_DETAILS=1`): JSON-String mit Tool-spezifischen Parametern. Gleiche Form wie das [Tool-Ergebnis-Ereignis](#tool-result-event), minus Post-Execution-Felder wie `git_commit_id`. Werte können sich von `tool_result` für einen akzeptierten Aufruf unterscheiden, wenn die Genehmigungsentscheidung die Tool-Eingabe über `updatedInput` umschreibt. Verwenden Sie dieses Attribut, um zu sehen, welcher Befehl abgelehnt wurde, wenn `decision` `"reject"` ist.

962 * Für `"sdk_host_builtin_mcp"` Tools: `mcp_server_name` und `mcp_tool_name` sind auch enthalten, wenn `OTEL_LOG_TOOL_DETAILS` aus ist, weil die Host-Anwendung diese Namen definiert; ohne sie wäre ein abgelehnter Aufruf an einen dieser integrierten Server auf dem Standard-Stream nicht zuordenbar. Für benutzerkonfigurierte MCP-Server ist der `tool_name` des Ereignisses immer das Literal `"mcp_tool"`, und die Server- und Tool-Namen erscheinen nur in `tool_parameters` mit dem Flag an; Argument-Inhalte erfordern das Flag überall. Erfordert Claude Code v2.1.214 oder später965 * Für `"sdk_host_builtin_mcp"`-Tools: `mcp_server_name` und `mcp_tool_name` sind auch enthalten, wenn `OTEL_LOG_TOOL_DETAILS` aus ist, weil die Host-Anwendung diese Namen definiert; ohne sie wäre ein abgelehnter Aufruf an einen dieser integrierten Server auf dem Standard-Stream nicht zuordenbar. Für benutzerkonfigurierte MCP-Server ist der `tool_name` des Ereignisses immer das Literal `"mcp_tool"`, und die Server- und Tool-Namen erscheinen nur in `tool_parameters` mit dem Flag an; Argument-Inhalt erfordert das Flag überall. Erfordert Claude Code v2.1.214 oder später

963 * Für Bash-Tool: enthält `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. Das Workspace-Bash-Tool der Desktop-App meldet auch `tool_name` als `Bash`, enthält aber nur `bash_command`, `full_command` und `timeout`966 * Für Bash-Tool: enthält `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. Das Arbeitsbereichs-Bash-Tool der Desktop-App meldet auch `tool_name` als `Bash`, enthält aber nur `bash_command`, `full_command` und `timeout`

964 * Für MCP-Tools: enthält `mcp_server_name`, `mcp_tool_name`967 * Für MCP-Tools: enthält `mcp_server_name`, `mcp_tool_name`

965 * Für Skill-Tool: enthält `skill_name`968 * Für Skill-Tool: enthält `skill_name`

966 * Für Agent-Tool oder Legacy-Task-Tool: enthält `subagent_type`969 * Für Agent-Tool oder Legacy-Task-Tool: enthält `subagent_type`

967 970 

968<h4 id="permission-mode-changed-event">971<h4 id="permission-mode-changed-event">

969 Berechtigungsmodus-Änderungs-Ereignis972 Genehmigungsmodus-Änderungs-Ereignis

970</h4>973</h4>

971 974 

972Protokolliert, wenn sich der Berechtigungsmodus ändert, z. B. durch Shift+Tab-Zyklus, Beendigung des Plan-Modus oder eine Auto-Modus-Gate-Prüfung.975Protokolliert, wenn sich der Genehmigungsmodus ändert, z. B. durch Shift+Tab-Zyklus, Beendigung des Plan-Modus oder eine Auto-Modus-Gate-Prüfung.

973 976 

974**Ereignisname**: `claude_code.permission_mode_changed`977**Ereignisname**: `claude_code.permission_mode_changed`

975 978 


978* Alle [Standardattribute](#standard-attributes)981* Alle [Standardattribute](#standard-attributes)

979* `event.name`: `"permission_mode_changed"`982* `event.name`: `"permission_mode_changed"`

980* `event.timestamp`: ISO 8601-Zeitstempel983* `event.timestamp`: ISO 8601-Zeitstempel

981* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)984* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

982* `from_mode`: Der vorherige Berechtigungsmodus, z. B. `"default"`, `"plan"`, `"acceptEdits"`, `"auto"` oder `"bypassPermissions"`985* `from_mode`: Der vorherige Genehmigungsmodus, z. B. `"default"`, `"plan"`, `"acceptEdits"`, `"auto"` oder `"bypassPermissions"`

983* `to_mode`: Der neue Berechtigungsmodus986* `to_mode`: Der neue Genehmigungsmodus

984* `trigger`: Was die Änderung verursacht hat. Einer von `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"` oder `"auto_opt_in"`. Nicht vorhanden, wenn der Übergang vom SDK oder Bridge stammt987* `trigger`: Was die Änderung verursacht hat. Einer von `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"` oder `"auto_opt_in"`. Nicht vorhanden, wenn der Übergang vom SDK oder Bridge stammt

985 988 

986<h4 id="auth-event">989<h4 id="auth-event">


996* Alle [Standardattribute](#standard-attributes)999* Alle [Standardattribute](#standard-attributes)

997* `event.name`: `"auth"`1000* `event.name`: `"auth"`

998* `event.timestamp`: ISO 8601-Zeitstempel1001* `event.timestamp`: ISO 8601-Zeitstempel

999* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1002* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1000* `action`: `"login"` oder `"logout"`1003* `action`: `"login"` oder `"logout"`

1001* `success`: `"true"` oder `"false"`1004* `success`: `"true"` oder `"false"`

1002* `auth_method`: Authentifizierungsmethode, z. B. `"oauth"`1005* `auth_method`: Authentifizierungsmethode, z. B. `"oauth"`

1003* `error_category`: Kategorische Fehlerart, wenn die Aktion fehlgeschlagen ist. Die rohe Fehlermeldung ist nie enthalten1006* `error_category`: Kategorische Fehlerart, wenn die Aktion fehlgeschlagen ist. Die rohe Fehlermeldung wird niemals einbezogen

1004* `status_code`: HTTP-Statuscode als Zeichenkette, wenn die Aktion mit einem HTTP-Fehler fehlgeschlagen ist1007* `status_code`: HTTP-Statuscode als String, wenn die Aktion mit einem HTTP-Fehler fehlgeschlagen ist

1005 1008 

1006<h4 id="mcp-server-connection-event">1009<h4 id="mcp-server-connection-event">

1007 MCP-Server-Verbindungs-Ereignis1010 MCP-Server-Verbindungs-Ereignis


1016* Alle [Standardattribute](#standard-attributes)1019* Alle [Standardattribute](#standard-attributes)

1017* `event.name`: `"mcp_server_connection"`1020* `event.name`: `"mcp_server_connection"`

1018* `event.timestamp`: ISO 8601-Zeitstempel1021* `event.timestamp`: ISO 8601-Zeitstempel

1019* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1022* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1020* `status`: `"connected"`, `"failed"` oder `"disconnected"`1023* `status`: `"connected"`, `"failed"` oder `"disconnected"`

1021* `transport_type`: Server-Transport, z. B. `"stdio"`, `"sse"` oder `"http"`1024* `transport_type`: Server-Transport, z. B. `"stdio"`, `"sse"` oder `"http"`

1022* `server_scope`: Bereich, in dem der Server konfiguriert ist, z. B. `"user"`, `"project"` oder `"local"`1025* `server_scope`: Scope, auf dem der Server konfiguriert ist, z. B. `"user"`, `"project"` oder `"local"`

1023* `duration_ms`: Verbindungsversuch-Dauer in Millisekunden1026* `duration_ms`: Verbindungsversuch-Dauer in Millisekunden

1024* `error_code`: Fehlercode, wenn die Verbindung fehlgeschlagen ist1027* `error_code`: Fehlercode, wenn die Verbindung fehlgeschlagen ist

1025* `is_plugin`: `true`, wenn der Server von einem Plugin bereitgestellt wird, `false` andernfalls1028* `is_plugin`: `true`, wenn der Server von einem Plugin bereitgestellt wird, `false` andernfalls

1026* `plugin_id_hash` (wenn `is_plugin` `true` ist): Stabiler Hash des Plugin-Namens und des Marketplace, zum Gruppieren von Ereignissen nach Plugin, ohne den Namen offenzulegen. Claude Code berechnet ihn wie unter dem [Plugin-Geladen-Ereignis](#plugin-loaded-event) beschrieben1029* `plugin_id_hash` (wenn `is_plugin` `true` ist): Stabiler Hash des Plugin-Namens und Marketplace, zum Gruppieren von Ereignissen nach Plugin ohne den Namen freizulegen. Claude Code berechnet ihn wie unter dem [Plugin-Laden-Ereignis](#plugin-loaded-event) beschrieben

1027* `plugin.name` (wenn `is_plugin` `true` ist): Name des Plugins, das den Server bereitstellt. Für Drittanbieter-Plugins ist dies die Zeichenkette `"third-party"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`; dies schützt Drittanbieter-Plugin-Namen davor, standardmäßig in Protokollen zu erscheinen. Plugins aus offiziellen Anthropic-Quellen werden immer anhand des Namens identifiziert. Die Attribute `plugin_id_hash` und `plugin.name` fließen zu Ihrem eigenen Monitoring-Backend und werden nicht an Anthropic gesendet1030* `plugin.name` (wenn `is_plugin` `true` ist): Name des Plugins, das den Server bereitstellt. Für Drittanbieter-Plugins ist dieser Wert das Literal `"third-party"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`; dies schützt Drittanbieter-Plugin-Namen davor, standardmäßig in Protokollen zu erscheinen. Plugins aus offiziellen Anthropic-Quellen werden immer nach Name identifiziert. Die Attribute `plugin_id_hash` und `plugin.name` fließen zu Ihrem eigenen Monitoring-Backend und werden nicht an Anthropic gesendet

1028* `server_name` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Konfigurierter Server-Name1031* `server_name` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Konfigurierter Server-Name

1029* `error` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Vollständige Fehlermeldung, wenn die Verbindung fehlgeschlagen ist1032* `error` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Vollständige Fehlermeldung, wenn die Verbindung fehlgeschlagen ist

1030 1033 


1032 Interner Fehler-Ereignis1035 Interner Fehler-Ereignis

1033</h4>1036</h4>

1034 1037 

1035Protokolliert, wenn Claude Code einen unerwarteten internen Fehler abfängt. Nur der Fehlerklassenname und ein errno-ähnlicher Code werden aufgezeichnet. Die Fehlermeldung und Stack-Trace sind nie enthalten. Dieses Ereignis wird nicht ausgegeben, wenn gegen Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry ausgeführt wird, oder wenn `DISABLE_ERROR_REPORTING` gesetzt ist.1038Protokolliert, wenn Claude Code einen unerwarteten internen Fehler abfängt. Nur der Fehlerklassen-Name und ein errno-ähnlicher Code werden aufgezeichnet. Die Fehlermeldung und Stack-Trace werden niemals einbezogen. Dieses Ereignis wird nicht ausgegeben, wenn gegen Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry ausgeführt wird, oder wenn `DISABLE_ERROR_REPORTING` gesetzt ist.

1036 1039 

1037**Ereignisname**: `claude_code.internal_error`1040**Ereignisname**: `claude_code.internal_error`

1038 1041 


1041* Alle [Standardattribute](#standard-attributes)1044* Alle [Standardattribute](#standard-attributes)

1042* `event.name`: `"internal_error"`1045* `event.name`: `"internal_error"`

1043* `event.timestamp`: ISO 8601-Zeitstempel1046* `event.timestamp`: ISO 8601-Zeitstempel

1044* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1047* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1045* `error_name`: Fehlerklassenname, z. B. `"TypeError"` oder `"SyntaxError"`1048* `error_name`: Fehlerklassen-Name, z. B. `"TypeError"` oder `"SyntaxError"`

1046* `error_code`: Node.js errno-Code wie `"ENOENT"`, wenn auf dem Fehler vorhanden1049* `error_code`: Node.js errno-Code wie `"ENOENT"`, wenn auf dem Fehler vorhanden

1047 1050 

1048<h4 id="plugin-installed-event">1051<h4 id="plugin-installed-event">

1049 Plugin-Installiert-Ereignis1052 Plugin-Installation-Ereignis

1050</h4>1053</h4>

1051 1054 

1052Protokolliert, wenn ein Plugin die Installation abgeschlossen hat, sowohl vom `claude plugin install` CLI-Befehl als auch von der interaktiven `/plugin` UI.1055Protokolliert, wenn ein Plugin die Installation abgeschlossen hat, sowohl vom `claude plugin install`-CLI-Befehl als auch von der interaktiven `/plugin`-Benutzeroberfläche.

1053 1056 

1054**Ereignisname**: `claude_code.plugin_installed`1057**Ereignisname**: `claude_code.plugin_installed`

1055 1058 


1058* Alle [Standardattribute](#standard-attributes)1061* Alle [Standardattribute](#standard-attributes)

1059* `event.name`: `"plugin_installed"`1062* `event.name`: `"plugin_installed"`

1060* `event.timestamp`: ISO 8601-Zeitstempel1063* `event.timestamp`: ISO 8601-Zeitstempel

1061* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1064* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1062* `marketplace.is_official`: `"true"`, wenn der Marketplace ein offizieller Anthropic-Marketplace ist, `"false"` andernfalls1065* `marketplace.is_official`: `"true"`, wenn der Marketplace ein offizieller Anthropic-Marketplace ist, `"false"` andernfalls

1063* `install.trigger`: `"cli"` oder `"ui"`1066* `install.trigger`: `"cli"` oder `"ui"`

1064* `plugin.name`: Name des installierten Plugins. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`1067* `plugin.name`: Name des installierten Plugins. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`

1065* `plugin.version`: Plugin-Version, wenn in der Marketplace-Eintrag deklariert. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`1068* `plugin.version`: Plugin-Version, wenn im Marketplace-Eintrag deklariert. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`

1066* `marketplace.name`: Marketplace, von dem das Plugin installiert wurde. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`1069* `marketplace.name`: Marketplace, von dem das Plugin installiert wurde. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`

1067 1070 

1068<h4 id="plugin-loaded-event">1071<h4 id="plugin-loaded-event">

1069 Plugin-Geladen-Ereignis1072 Plugin-Laden-Ereignis

1070</h4>1073</h4>

1071 1074 

1072Protokolliert einmal pro aktiviertem Plugin beim Sitzungsstart. Verwenden Sie dieses Ereignis, um zu inventarisieren, welche Plugins über Ihre gesamte Flotte hinweg aktiv sind, als Ergänzung zu `plugin_installed`, das die Installationsaktion selbst aufzeichnet.1075Protokolliert einmal pro aktiviertem Plugin beim Sitzungsstart. Verwenden Sie dieses Ereignis, um zu inventarisieren, welche Plugins über Ihre Flotte aktiv sind, als Ergänzung zu `plugin_installed`, das die Installationsaktion selbst aufzeichnet.

1073 1076 

1074**Ereignisname**: `claude_code.plugin_loaded`1077**Ereignisname**: `claude_code.plugin_loaded`

1075 1078 


1078* Alle [Standardattribute](#standard-attributes)1081* Alle [Standardattribute](#standard-attributes)

1079* `event.name`: `"plugin_loaded"`1082* `event.name`: `"plugin_loaded"`

1080* `event.timestamp`: ISO 8601-Zeitstempel1083* `event.timestamp`: ISO 8601-Zeitstempel

1081* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1084* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1082* `plugin.name`: Name des Plugins. Für Plugins außerhalb des offiziellen Marketplace und des integrierten Bundles ist der Wert `"third-party"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`1085* `plugin.name`: Name des Plugins. Für Plugins außerhalb des offiziellen Marketplace und des integrierten Bundles ist der Wert `"third-party"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`

1083* `marketplace.name`: Marketplace, von dem das Plugin installiert wurde, wenn bekannt. Auf `"third-party"` unter der gleichen Bedingung wie `plugin.name` geschwärzt1086* `marketplace.name`: Marketplace, von dem das Plugin installiert wurde, wenn bekannt. Unter der gleichen Bedingung wie `plugin.name` auf `"third-party"` redaktioniert

1084* `plugin.version`: Version aus dem Plugin-Manifest. Nur enthalten, wenn der Name nicht geschwärzt ist und das Manifest eine Version deklariert1087* `plugin.version`: Version aus dem Plugin-Manifest. Nur enthalten, wenn der Name nicht redaktioniert ist und das Manifest eine Version deklariert

1085* `plugin.scope`: Herkunftskategorie für das Plugin: `"official"`, `"community"`, `"org"`, `"user-local"` oder `"default-bundle"`1088* `plugin.scope`: Herkunftskategorie für das Plugin: `"official"`, `"community"`, `"org"`, `"user-local"` oder `"default-bundle"`

1086* `enabled_via`: Wie das Plugin aktiviert wurde: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"` oder `"user-install"`. Der Wert `"admin-install"` bedeutet, dass das Plugin in [**Organisationseinstellungen > Plugins**](https://claude.ai/admin-settings/plugins) als erforderlich oder automatisch installiert für Ihre Organisation festgelegt ist. Vor v2.1.246 meldete Claude Code diese Plugins als `"user-install"` oder `"seed-mount"`1089* `enabled_via`: wie das Plugin aktiviert wurde: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"` oder `"user-install"`. Der Wert `"admin-install"` bedeutet, dass das Plugin in [**Organisationseinstellungen > Plugins**](https://claude.ai/admin-settings/plugins) für Ihre Organisation erforderlich oder automatisch installiert ist. Vor v2.1.246 meldete Claude Code diese Plugins als `"user-install"` oder `"seed-mount"`

1087* `plugin_id_hash`: Deterministischer Hash des Plugin-Namens und des Marketplace, nur an Ihren konfigurierten Exporter gesendet. Ermöglicht es Ihnen, zu zählen, wie viele unterschiedliche Drittanbieter-Plugins über Ihre gesamte Flotte hinweg geladen sind, ohne ihre Namen aufzuzeichnen. Für [von claude.ai synchronisierte Plugins](/docs/de/plugins-reference#synced-plugins) hasht Claude Code den Plugin-Namen mit dem Marketplace-Namen, den claude.ai für das Plugin meldet, oder mit `synced` andernfalls. Vor v2.1.246 verwendete Claude Code den von claude.ai gemeldeten Marketplace-Namen nicht im Hash1090* `plugin_id_hash`: Deterministischer Hash des Plugin-Namens und Marketplace, nur an Ihren konfigurierten Exporter gesendet. Ermöglicht es Ihnen, die unterschiedlichen Drittanbieter-Plugins, die über Ihre Flotte geladen werden, zu zählen, ohne ihre Namen aufzuzeichnen. Für [Plugins, die von claude.ai synchronisiert werden](/docs/de/plugins-reference#synced-plugins), hasht Claude Code den Plugin-Namen mit dem Marketplace-Namen, den claude.ai für das Plugin meldet, oder mit `synced` andernfalls. Vor v2.1.246 verwendete Claude Code den Marketplace-Namen, den claude.ai meldet, nicht im Hash

1088* `has_hooks`: Ob das Plugin Hooks beiträgt1091* `has_hooks`: ob das Plugin Hooks beiträgt

1089* `has_mcp`: Ob das Plugin MCP-Server beiträgt1092* `has_mcp`: ob das Plugin MCP-Server beiträgt

1090* `host_owned_mcp`: `true`, wenn der SDK-Host die MCP-Verbindungen dieses Plugins verwaltet und Claude Code das Lesen der MCP-Server-Konfiguration des Plugins übersprungen hat, `false` andernfalls. Erfordert Claude Code v2.1.172 oder später1093* `host_owned_mcp`: `true`, wenn der SDK-Host die MCP-Verbindungen dieses Plugins verwaltet und Claude Code das Lesen der MCP-Server-Konfiguration des Plugins übersprungen hat, `false` andernfalls. Erfordert Claude Code v2.1.172 oder später

1091* `skill_path_count`: Anzahl der Skill-Verzeichnisse, die das Plugin deklariert1094* `skill_path_count`: Anzahl der Skill-Verzeichnisse, die das Plugin deklariert

1092* `command_path_count`: Anzahl der Befehlsverzeichnisse, die das Plugin deklariert1095* `command_path_count`: Anzahl der Befehlsverzeichnisse, die das Plugin deklariert


1094* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/docs/de/cli-reference) gestartet wurde, `"false"` andernfalls. Im sicheren Modus meldet dieses Ereignis nur die konfigurierte Inventur; die Befehle, Skills, Hooks und MCP-Server des Plugins werden nicht geladen. Erfordert Claude Code v2.1.169 oder später1097* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/docs/de/cli-reference) gestartet wurde, `"false"` andernfalls. Im sicheren Modus meldet dieses Ereignis nur die konfigurierte Inventur; die Befehle, Skills, Hooks und MCP-Server des Plugins werden nicht geladen. Erfordert Claude Code v2.1.169 oder später

1095 1098 

1096<h4 id="skill-activated-event">1099<h4 id="skill-activated-event">

1097 Skill-Aktiviert-Ereignis1100 Skill-Aktivierungs-Ereignis

1098</h4>1101</h4>

1099 1102 

1100Protokolliert, wenn ein Skill aufgerufen wird, ob Claude ihn über das Skill-Tool aufruft oder Sie ihn als `/` Befehl ausführen.1103Protokolliert, wenn ein Skill aufgerufen wird, ob Claude ihn durch das Skill-Tool aufruft oder Sie ihn als `/`-Befehl ausführen.

1101 1104 

1102**Ereignisname**: `claude_code.skill_activated`1105**Ereignisname**: `claude_code.skill_activated`

1103 1106 


1106* Alle [Standardattribute](#standard-attributes)1109* Alle [Standardattribute](#standard-attributes)

1107* `event.name`: `"skill_activated"`1110* `event.name`: `"skill_activated"`

1108* `event.timestamp`: ISO 8601-Zeitstempel1111* `event.timestamp`: ISO 8601-Zeitstempel

1109* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1112* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1110* `skill.name`: Name des Skills. Für benutzerdefinierte und Drittanbieter-Plugin-Skills ist der Wert der Platzhalter `"custom_skill"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`1113* `skill.name`: Name des Skills. Für benutzerdefinierte und Drittanbieter-Plugin-Skills ist der Wert der Platzhalter `"custom_skill"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`

1111* `invocation_trigger`: Wie der Skill ausgelöst wurde (`"user-slash"`, `"claude-proactive"` oder `"nested-skill"`)1114* `invocation_trigger`: Wie der Skill ausgelöst wurde (`"user-slash"`, `"claude-proactive"` oder `"nested-skill"`)

1112* `skill.source`: Wo der Skill geladen wurde (z. B. `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)1115* `skill.source`: Woher der Skill geladen wurde (z. B. `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)

1113* `skill.kind`: `"workflow"`, wenn der Skill ein Workflow-Skill ist. Andernfalls nicht vorhanden1116* `skill.kind`: `"workflow"`, wenn der Skill ein Workflow-Skill ist. Andernfalls nicht vorhanden

1114* `plugin.name` (wenn `OTEL_LOG_TOOL_DETAILS=1` oder das Plugin ist von einem offiziellen Marketplace): Name des besitzenden Plugins, wenn der Skill von einem Plugin bereitgestellt wird1117* `plugin.name` (wenn `OTEL_LOG_TOOL_DETAILS=1` oder das Plugin aus einem offiziellen Marketplace ist): Name des besitzenden Plugins, wenn der Skill von einem Plugin bereitgestellt wird

1115* `marketplace.name` (wenn `OTEL_LOG_TOOL_DETAILS=1` oder das Plugin ist von einem offiziellen Marketplace): Marketplace des besitzenden Plugins, wenn der Skill von einem Plugin bereitgestellt wird1118* `marketplace.name` (wenn `OTEL_LOG_TOOL_DETAILS=1` oder das Plugin aus einem offiziellen Marketplace ist): Marketplace, von dem das besitzende Plugin installiert wurde, wenn der Skill von einem Plugin bereitgestellt wird

1116 1119 

1117<h4 id="at-mention-event">1120<h4 id="at-mention-event">

1118 At-Mention-Ereignis1121 At-Mention-Ereignis

1119</h4>1122</h4>

1120 1123 

1121Protokolliert, wenn Claude Code ein `@`-Mention in einem Prompt auflöst. Nicht jedes Mention gibt ein Ereignis aus: Early-Exit-Pfade wie Berechtigungsverweigerungen, übergroße Dateien, PDF-Referenz-Anhänge und Fehler beim Auflisten von Verzeichnissen werden zurückgegeben, ohne zu protokollieren.1124Protokolliert, wenn Claude Code eine `@`-Erwähnung in einer Eingabe auflöst. Nicht jede Erwähnung gibt ein Ereignis aus: Early-Exit-Pfade wie Genehmigungsverweigerungen, übergroße Dateien, PDF-Referenz-Anhänge und Fehler beim Auflisten von Verzeichnissen geben zurück, ohne zu protokollieren.

1122 1125 

1123**Ereignisname**: `claude_code.at_mention`1126**Ereignisname**: `claude_code.at_mention`

1124 1127 


1127* Alle [Standardattribute](#standard-attributes)1130* Alle [Standardattribute](#standard-attributes)

1128* `event.name`: `"at_mention"`1131* `event.name`: `"at_mention"`

1129* `event.timestamp`: ISO 8601-Zeitstempel1132* `event.timestamp`: ISO 8601-Zeitstempel

1130* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1133* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1131* `mention_type`: Typ des Mentions (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). Der Wert `"peer"` bedeutet, dass Sie [eine Ihrer anderen Claude Code-Sitzungen](/docs/de/cross-session-messaging) erwähnt haben. Erfordert Claude Code v2.1.232 oder später1134* `mention_type`: Typ der Erwähnung (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). Der Wert `"peer"` bedeutet, dass Sie [eine Ihrer anderen Claude Code-Sitzungen](/docs/de/cross-session-messaging) erwähnt haben. Erfordert Claude Code v2.1.232 oder später

1132* `success`: Ob das Mention erfolgreich aufgelöst wurde (`"true"` oder `"false"`)1135* `success`: Ob die Erwähnung erfolgreich aufgelöst wurde (`"true"` oder `"false"`)

1133 1136 

1134<h4 id="api-retries-exhausted-event">1137<h4 id="api-retries-exhausted-event">

1135 API-Wiederholungen-Erschöpft-Ereignis1138 API-Wiederholungen-Erschöpft-Ereignis

1136</h4>1139</h4>

1137 1140 

1138Protokolliert einmal, wenn eine API-Anfrage nach mehr als einem Versuch fehlschlägt. Wird zusammen mit dem letzten `api_error` Ereignis ausgegeben.1141Protokolliert einmal, wenn eine API-Anfrage nach mehr als einem Versuch fehlschlägt. Ausgegeben zusammen mit dem endgültigen `api_error`-Ereignis.

1139 1142 

1140**Ereignisname**: `claude_code.api_retries_exhausted`1143**Ereignisname**: `claude_code.api_retries_exhausted`

1141 1144 


1144* Alle [Standardattribute](#standard-attributes)1147* Alle [Standardattribute](#standard-attributes)

1145* `event.name`: `"api_retries_exhausted"`1148* `event.name`: `"api_retries_exhausted"`

1146* `event.timestamp`: ISO 8601-Zeitstempel1149* `event.timestamp`: ISO 8601-Zeitstempel

1147* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1150* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1148* `model`: Verwendetes Modell1151* `model`: Verwendetes Modell

1149* `error`: Letzte Fehlermeldung1152* `error`: Endgültige Fehlermeldung

1150* `status_code`: HTTP-Statuscode als Zahl. Nicht vorhanden für Nicht-HTTP-Fehler.1153* `status_code`: HTTP-Statuscode als Zahl. Nicht vorhanden für Nicht-HTTP-Fehler.

1151* `total_attempts`: Gesamtzahl der Versuche1154* `total_attempts`: Gesamtzahl der Versuche

1152* `total_retry_duration_ms`: Gesamte Wanduhr-Zeit über alle Versuche1155* `total_retry_duration_ms`: Gesamte Wanduhr-Zeit über alle Versuche

1153* `speed`: `"fast"` oder `"normal"`1156* `speed`: `"fast"` oder `"normal"`

1154 1157 

1155<h4 id="hook-registered-event">1158<h4 id="hook-registered-event">

1156 Hook-Registriert-Ereignis1159 Hook-Registrierungs-Ereignis

1157</h4>1160</h4>

1158 1161 

1159Protokolliert einmal pro konfiguriertem Hook beim Sitzungsstart. Verwenden Sie dieses Ereignis, um zu inventarisieren, welche Hooks über Ihre gesamte Flotte hinweg aktiv sind, als Ergänzung zu den Pro-Ausführungs-Ereignissen `hook_execution_start` und `hook_execution_complete`.1162Protokolliert einmal pro konfiguriertem Hook beim Sitzungsstart. Verwenden Sie dieses Ereignis, um zu inventarisieren, welche Hooks über Ihre Flotte aktiv sind, als Ergänzung zu den Pro-Execution-Ereignissen `hook_execution_start` und `hook_execution_complete`.

1160 1163 

1161**Ereignisname**: `claude_code.hook_registered`1164**Ereignisname**: `claude_code.hook_registered`

1162 1165 


1165* Alle [Standardattribute](#standard-attributes)1168* Alle [Standardattribute](#standard-attributes)

1166* `event.name`: `"hook_registered"`1169* `event.name`: `"hook_registered"`

1167* `event.timestamp`: ISO 8601-Zeitstempel1170* `event.timestamp`: ISO 8601-Zeitstempel

1168* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1171* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1169* `hook_event`: Hook-Ereignistyp, z. B. `"PreToolUse"` oder `"PostToolUse"`1172* `hook_event`: Hook-Ereignistyp, z. B. `"PreToolUse"` oder `"PostToolUse"`

1170* `hook_type`: Hook-Implementierungstyp: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` oder `"agent"`1173* `hook_type`: Hook-Implementierungstyp: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` oder `"agent"`

1171* `hook_source`: Wo der Hook definiert ist: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` oder `"pluginHook"`1174* `hook_source`: Woher der Hook definiert ist: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` oder `"pluginHook"`

1172* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/docs/de/cli-reference) gestartet wurde, `"false"` andernfalls. Erfordert Claude Code v2.1.169 oder später1175* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/docs/de/cli-reference) gestartet wurde, `"false"` andernfalls. Erfordert Claude Code v2.1.169 oder später

1173* `hook_matcher` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Die Matcher-Zeichenkette aus der Hook-Konfiguration, wenn eine gesetzt ist1176* `hook_matcher` (wenn `OTEL_LOG_TOOL_DETAILS=1`): die Matcher-Zeichenkette aus der Hook-Konfiguration, wenn eine gesetzt ist

1174* `plugin.name` (wenn `hook_source` `"pluginHook"` ist): Name des beitragenden Plugins. Für Plugins außerhalb des offiziellen Marketplace und des integrierten Bundles ist der Wert `"third-party"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`1177* `plugin.name` (wenn `hook_source` `"pluginHook"` ist): Name des beitragenden Plugins. Für Plugins außerhalb des offiziellen Marketplace und des integrierten Bundles ist der Wert `"third-party"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`

1175* `plugin_id_hash` (wenn `hook_source` `"pluginHook"` ist): Deterministische Hash des Plugin-Namens und des Marketplace, nur an Ihren konfigurierten Exporter gesendet. Ermöglicht es Ihnen, unterschiedliche beitragende Plugins zu zählen, ohne ihre Namen aufzuzeichnen. Claude Code berechnet ihn wie unter dem [Plugin-Geladen-Ereignis](#plugin-loaded-event) beschrieben1178* `plugin_id_hash` (wenn `hook_source` `"pluginHook"` ist): Deterministischer Hash des Plugin-Namens und Marketplace, nur an Ihren konfigurierten Exporter gesendet. Ermöglicht es Ihnen, unterschiedliche beitragende Plugins zu zählen, ohne ihre Namen aufzuzeichnen. Claude Code berechnet ihn wie unter dem [Plugin-Laden-Ereignis](#plugin-loaded-event) beschrieben

1176 1179 

1177<h4 id="hook-execution-start-event">1180<h4 id="hook-execution-start-event">

1178 Hook-Ausführungs-Start-Ereignis1181 Hook-Ausführungs-Start-Ereignis


1187* Alle [Standardattribute](#standard-attributes)1190* Alle [Standardattribute](#standard-attributes)

1188* `event.name`: `"hook_execution_start"`1191* `event.name`: `"hook_execution_start"`

1189* `event.timestamp`: ISO 8601-Zeitstempel1192* `event.timestamp`: ISO 8601-Zeitstempel

1190* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1193* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1191* `hook_event`: Hook-Ereignistyp, z. B. `"PreToolUse"` oder `"PostToolUse"`1194* `hook_event`: Hook-Ereignistyp, z. B. `"PreToolUse"` oder `"PostToolUse"`

1192* `hook_name`: Vollständiger Hook-Name einschließlich Matcher, z. B. `"PreToolUse:Write"`1195* `hook_name`: Vollständiger Hook-Name einschließlich Matcher, z. B. `"PreToolUse:Write"`

1193* `num_hooks`: Anzahl der übereinstimmenden Hook-Befehle1196* `num_hooks`: Anzahl der übereinstimmenden Hook-Befehle

1194* `managed_only`: `"true"`, wenn nur verwaltete Richtlinien-Hooks zulässig sind1197* `managed_only`: `"true"`, wenn nur verwaltete Richtlinien-Hooks erlaubt sind

1195* `hook_source`: `"policySettings"` oder `"merged"`1198* `hook_source`: `"policySettings"` oder `"merged"`

1196* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/docs/de/cli-reference) gestartet wurde, `"false"` andernfalls. Erfordert Claude Code v2.1.169 oder später1199* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/docs/de/cli-reference) gestartet wurde, `"false"` andernfalls. Erfordert Claude Code v2.1.169 oder später

1197* `hook_definitions`: JSON-serialisierte Hook-Konfiguration. Nur enthalten, wenn sowohl detailliertes Beta-Tracing als auch `OTEL_LOG_TOOL_DETAILS=1` aktiviert sind1200* `hook_definitions`: JSON-serialisierte Hook-Konfiguration. Nur enthalten, wenn sowohl detaillierte Beta-Verfolgung als auch `OTEL_LOG_TOOL_DETAILS=1` aktiviert sind

1198 1201 

1199<h4 id="hook-execution-complete-event">1202<h4 id="hook-execution-complete-event">

1200 Hook-Ausführungs-Abschluss-Ereignis1203 Hook-Ausführungs-Abschluss-Ereignis


1209* Alle [Standardattribute](#standard-attributes)1212* Alle [Standardattribute](#standard-attributes)

1210* `event.name`: `"hook_execution_complete"`1213* `event.name`: `"hook_execution_complete"`

1211* `event.timestamp`: ISO 8601-Zeitstempel1214* `event.timestamp`: ISO 8601-Zeitstempel

1212* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1215* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1213* `hook_event`: Hook-Ereignistyp1216* `hook_event`: Hook-Ereignistyp

1214* `hook_name`: Vollständiger Hook-Name einschließlich Matcher1217* `hook_name`: Vollständiger Hook-Name einschließlich Matcher

1215* `num_hooks`: Anzahl der übereinstimmenden Hook-Befehle1218* `num_hooks`: Anzahl der übereinstimmenden Hook-Befehle

1216* `num_success`: Anzahl, die erfolgreich abgeschlossen wurde1219* `num_success`: Anzahl, die erfolgreich abgeschlossen wurde

1217* `num_blocking`: Anzahl, die eine Blockierungsentscheidung zurückgegeben hat1220* `num_blocking`: Anzahl, die eine blockierende Entscheidung zurückgab

1218* `num_non_blocking_error`: Anzahl, die ohne Blockierung fehlgeschlagen ist1221* `num_non_blocking_error`: Anzahl, die ohne Blockierung fehlgeschlagen ist

1219* `num_cancelled`: Anzahl, die vor Abschluss abgebrochen wurde1222* `num_cancelled`: Anzahl, die vor Abschluss abgebrochen wurde

1220* `total_duration_ms`: Wanduhr-Dauer aller übereinstimmenden Hooks1223* `total_duration_ms`: Wanduhr-Dauer aller übereinstimmenden Hooks

1221* `managed_only`: `"true"`, wenn nur verwaltete Richtlinien-Hooks zulässig sind1224* `managed_only`: `"true"`, wenn nur verwaltete Richtlinien-Hooks erlaubt sind

1222* `hook_source`: `"policySettings"` oder `"merged"`1225* `hook_source`: `"policySettings"` oder `"merged"`

1223* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/docs/de/cli-reference) gestartet wurde, `"false"` andernfalls. Erfordert Claude Code v2.1.169 oder später1226* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/docs/de/cli-reference) gestartet wurde, `"false"` andernfalls. Erfordert Claude Code v2.1.169 oder später

1224* `hook_definitions`: JSON-serialisierte Hook-Konfiguration. Nur enthalten, wenn sowohl detailliertes Beta-Tracing als auch `OTEL_LOG_TOOL_DETAILS=1` aktiviert sind1227* `hook_definitions`: JSON-serialisierte Hook-Konfiguration. Nur enthalten, wenn sowohl detaillierte Beta-Verfolgung als auch `OTEL_LOG_TOOL_DETAILS=1` aktiviert sind

1225 1228 

1226<h4 id="hook-plugin-metrics-event">1229<h4 id="hook-plugin-metrics-event">

1227 Hook-Plugin-Metriken-Ereignis1230 Hook-Plugin-Metriken-Ereignis

1228</h4>1231</h4>

1229 1232 

1230Protokolliert, wenn ein offizieller Marketplace-Plugin-Hook Pro-Invokations-Metriken ausgibt. Nur Plugins, die von einem offiziellen Anthropic-Marketplace installiert wurden, können diese ausgeben. Drittanbieter-Marketplace-Plugins und benutzerdefinierte Hooks geben nicht zu diesem Ereignis aus. Verwenden Sie dieses Ereignis, um Plugin-Verhalten wie Findungsraten, Kosten und Dauern aus Ihrem eigenen Observability-Stack zu überwachen.1233Protokolliert, wenn ein Hook eines offiziellen Marketplace-Plugins Pro-Aufruf-Metriken ausgibt. Nur Plugins, die von einem offiziellen Anthropic-Marketplace installiert wurden, können diese ausgeben. Drittanbieter-Marketplace-Plugins und benutzerkonfigurierte Hooks geben nicht an dieses Ereignis aus. Verwenden Sie dieses Ereignis, um Plugin-Verhalten wie Findungsraten, Kosten und Dauern aus Ihrem eigenen Observability-Stack zu überwachen.

1231 1234 

1232**Ereignisname**: `claude_code.hook_plugin_metrics`1235**Ereignisname**: `claude_code.hook_plugin_metrics`

1233 1236 


1236* Alle [Standardattribute](#standard-attributes)1239* Alle [Standardattribute](#standard-attributes)

1237* `event.name`: `"hook_plugin_metrics"`1240* `event.name`: `"hook_plugin_metrics"`

1238* `event.timestamp`: ISO 8601-Zeitstempel1241* `event.timestamp`: ISO 8601-Zeitstempel

1239* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1242* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1240* `plugin_id`: Plugin-Kennung in `<name>@<marketplace>` Form1243* `plugin_id`: Plugin-Kennung in `<name>@<marketplace>`-Form

1241* `hook_event`: Hook-Ereignistyp, der die Metriken ausgegeben hat1244* `hook_event`: Hook-Ereignistyp, der die Metriken ausgegeben hat

1242* Bis zu 20 Plugin-ausgegebene Metrik-Schlüssel. Namen entsprechen `^[a-z][a-z0-9_]{0,39}$`. Werte sind boolescher Wert oder Zahl.1245* Bis zu 20 von Plugin ausgegebene Metrik-Schlüssel. Namen entsprechen `^[a-z][a-z0-9_]{0,39}$`. Werte sind Boolean oder Zahl.

1243 1246 

1244<h4 id="compaction-event">1247<h4 id="compaction-event">

1245 Kompaktierungs-Ereignis1248 Kompaktierungs-Ereignis

1246</h4>1249</h4>

1247 1250 

1248Protokolliert, wenn die Konversationskompaktierung abgeschlossen ist.1251Protokolliert, wenn die Gesprächskompaktierung abgeschlossen ist.

1249 1252 

1250**Ereignisname**: `claude_code.compaction`1253**Ereignisname**: `claude_code.compaction`

1251 1254 


1254* Alle [Standardattribute](#standard-attributes)1257* Alle [Standardattribute](#standard-attributes)

1255* `event.name`: `"compaction"`1258* `event.name`: `"compaction"`

1256* `event.timestamp`: ISO 8601-Zeitstempel1259* `event.timestamp`: ISO 8601-Zeitstempel

1257* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1260* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1258* `trigger`: `"auto"` oder `"manual"`1261* `trigger`: `"auto"` oder `"manual"`

1259* `success`: `"true"` oder `"false"`1262* `success`: `"true"` oder `"false"`

1260* `duration_ms`: Kompaktierungs-Dauer1263* `duration_ms`: Kompaktierungs-Dauer

1261* `pre_tokens`: Ungefähre Token-Anzahl vor Kompaktierung1264* `pre_tokens`: Ungefähre Token-Anzahl vor Kompaktierung

1262* `post_tokens`: Ungefähre Token-Anzahl nach Kompaktierung1265* `post_tokens`: Ungefähre Token-Anzahl nach Kompaktierung

1263* `error`: Fehlermeldung, wenn Kompaktierung fehlgeschlagen ist1266* `error`: Fehlermeldung, wenn Kompaktierung fehlgeschlagen ist

1264* `precompute_reuse`: Nur gesetzt, wenn `trigger` `"manual"` ist. Auto-Kompaktierung kann eine Zusammenfassung im Hintergrund vorbereiten, bevor das Kontextfenster voll wird, und dieses Attribut zeichnet auf, ob `/compact` diese vorbereitete Zusammenfassung wiederverwendet hat. `"hit"` bedeutet, dass sie wiederverwendet wurde; `"miss_custom_instructions"`, `"miss_hook"` und `"miss_not_ready"` geben den Grund an, warum stattdessen eine neue Zusammenfassung berechnet wurde. Erfordert Claude Code v2.1.153 oder später1267* `precompute_reuse`: Nur gesetzt, wenn `trigger` `"manual"` ist. Auto-Kompaktierung kann eine Zusammenfassung im Hintergrund vorbereiten, bevor das Kontextfenster voll wird, und dieses Attribut zeichnet auf, ob `/compact` diese vorbereitete Zusammenfassung wiederverwendet hat. `"hit"` bedeutet, dass sie wiederverwendet wurde; `"miss_custom_instructions"`, `"miss_hook"` und `"miss_not_ready"` geben den Grund an, warum stattdessen eine frische Zusammenfassung berechnet wurde. Erfordert Claude Code v2.1.153 oder später

1265 1268 

1266<h4 id="subagent-completed-event">1269<h4 id="subagent-completed-event">

1267 Subagent-Abgeschlossen-Ereignis1270 Subagent-Abschluss-Ereignis

1268</h4>1271</h4>

1269 1272 

1270Protokolliert, wenn ein [Subagent](/docs/de/sub-agents) abgeschlossen ist und sein Ergebnis an die Konversation zurückgibt, die ihn gestartet hat. Verwenden Sie es, um Tool-Nutzung und Laufzeit nach Subagent-Typ zu aggregieren; für Token- oder Kosten-Aggregationen verwenden Sie den [Token-Zähler](#token-counter) und [Kostenzähler](#cost-counter) gefiltert nach `query_source` `"subagent"`, da das `total_tokens` dieses Ereignisses nur die endgültige Anfrage abdeckt. Die Kategorie `"subagent"` zählt auch Anfragen von Agent-basierten Hooks, die kein Subagent-Ereignis ausgeben.1273Protokolliert, wenn ein [Subagent](/docs/de/sub-agents) abgeschlossen ist und sein Ergebnis an das Gespräch zurückgibt, das ihn gestartet hat. Verwenden Sie es, um Tool-Nutzung und Laufzeit nach Subagent-Typ zu aggregieren; für Token- oder Kosten-Aggregationen verwenden Sie den [Token-Zähler](#token-counter) und [Kostenzähler](#cost-counter), gefiltert nach `query_source` `"subagent"`, da das `total_tokens` dieses Ereignisses nur die endgültige Anfrage abdeckt. Die Kategorie `"subagent"` zählt auch Anfragen von Agent-basierten Hooks, die kein Subagent-Ereignis ausgeben.

1271 1274 

1272**Ereignisname**: `claude_code.subagent_completed`1275**Ereignisname**: `claude_code.subagent_completed`

1273 1276 


1276* Alle [Standardattribute](#standard-attributes)1279* Alle [Standardattribute](#standard-attributes)

1277* `event.name`: `"subagent_completed"`1280* `event.name`: `"subagent_completed"`

1278* `event.timestamp`: ISO 8601-Zeitstempel1281* `event.timestamp`: ISO 8601-Zeitstempel

1279* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1282* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1280* `agent_type`: Der Subagent-Typ. Integrierte Agent-Namen und Agents aus offiziellen Marketplace-Plugins werden wörtlich angezeigt; andere Agent-Namen werden durch `"custom"` ersetzt, es sei denn, `OTEL_LOG_TOOL_DETAILS=1` ist gesetzt1283* `agent_type`: Der Subagent-Typ. Integrierte Agent-Namen und Agenten aus offiziellen Marketplace-Plugins werden wörtlich angezeigt; andere Agent-Namen werden durch `"custom"` ersetzt, es sei denn, `OTEL_LOG_TOOL_DETAILS=1` ist gesetzt

1281* `agent.source`: Wo die Agent-Definition kam: `built-in`, `plugin` oder die Einstellungsquelle, die einen benutzerdefinierten Agent definierte, z. B. `userSettings` oder `projectSettings`1284* `agent.source`: Woher die Agent-Definition kam: `built-in`, `plugin` oder die Einstellungsquelle, die einen benutzerdefinierten Agent definiert, z. B. `userSettings` oder `projectSettings`

1282* `is_built_in`: Ob der Subagent ein integrierter Agent-Typ ist1285* `is_built_in`: Ob der Subagent ein integrierter Agent-Typ ist

1283* `is_async`: Ob der Subagent im [Hintergrund](/docs/de/sub-agents#run-subagents-in-foreground-or-background) lief1286* `is_async`: Ob der Subagent im [Hintergrund](/docs/de/sub-agents#run-subagents-in-foreground-or-background) ausgeführt wurde

1284* `total_tokens`: Der Token-Fußabdruck der endgültigen API-Anfrage des Subagent: dieser einen Anfrage's Eingabe-, Cache-Erstellungs-, Cache-Lese- und Ausgabe-Token, ungefähr die Kontextgröße des Subagent bei Abschluss. Nicht eine Summe über den Lauf1287* `total_tokens`: Der Token-Fußabdruck der endgültigen API-Anfrage des Subagenten: diese eine Anfrage's Eingabe-, Cache-Erstellungs-, Cache-Lese- und Ausgabe-Token, ungefähr die Kontextgröße des Subagenten beim Abschluss. Keine Summe über den Lauf

1285* `total_tool_uses`: Anzahl der Tool-Aufrufe, die der Subagent über den ganzen Lauf hinweg machte1288* `total_tool_uses`: Anzahl der Tool-Aufrufe, die der Subagent über den ganzen Lauf gemacht hat

1286* `duration_ms`: Laufzeit in Millisekunden1289* `duration_ms`: Laufzeit in Millisekunden

1287* `model`: Das Modell, das der Subagent ausgeführt wurde1290* `model`: Das Modell, das der Subagent ausgeführt hat

1288* `final_model`: Das Modell, das die endgültige Antwort des Subagent erzeugte, das sich von `model` nach einem Mid-Run-Wechsel wie einem Fallback unterscheidet. Erfordert Claude Code v2.1.212 oder später1291* `final_model`: Das Modell, das die endgültige Antwort des Subagenten erzeugt hat, das sich von `model` nach einem Mid-Run-Wechsel wie einem Fallback unterscheidet. Erfordert Claude Code v2.1.212 oder später

1289* `model_swapped`: Ob mehr als ein Modell die Anfragen des Subagent bediente. Erfordert Claude Code v2.1.212 oder später1292* `model_swapped`: Ob mehr als ein Modell die Anfragen des Subagenten bedient hat. Erfordert Claude Code v2.1.212 oder später

1290* `plugin_id_hash`, `plugin.name`: Vorhanden für Plugin-bereitgestellte Agents. Offizielle Marketplace-Plugin-Namen werden wörtlich angezeigt; andere Plugin-Namen werden durch `"third-party"` ersetzt, es sei denn, `OTEL_LOG_TOOL_DETAILS=1` ist gesetzt1293* `plugin_id_hash`, `plugin.name`: Vorhanden für von Plugins bereitgestellte Agenten. Offizielle Marketplace-Plugin-Namen werden wörtlich angezeigt; andere Plugin-Namen werden durch `"third-party"` ersetzt, es sei denn, `OTEL_LOG_TOOL_DETAILS=1` ist gesetzt

1291 1294 

1292<h4 id="feedback-survey-event">1295<h4 id="feedback-survey-event">

1293 Feedback-Umfrage-Ereignis1296 Feedback-Umfrage-Ereignis

1294</h4>1297</h4>

1295 1298 

1296Protokolliert, wenn eine Sitzungsqualitäts-Umfrage angezeigt oder beantwortet wird. Siehe [Sitzungsqualitäts-Umfragen](/docs/de/data-usage#session-quality-surveys) für das, was die Umfragen erfassen und wie Sie sie steuern.1299Protokolliert, wenn eine Sitzungsqualitäts-Umfrage angezeigt oder beantwortet wird. Siehe [Sitzungsqualitäts-Umfragen](/docs/de/data-usage#session-quality-surveys) für was die Umfragen sammeln und wie Sie sie steuern.

1297 1300 

1298**Ereignisname**: `claude_code.feedback_survey`1301**Ereignisname**: `claude_code.feedback_survey`

1299 1302 


1302* Alle [Standardattribute](#standard-attributes)1305* Alle [Standardattribute](#standard-attributes)

1303* `event.name`: `"feedback_survey"`1306* `event.name`: `"feedback_survey"`

1304* `event.timestamp`: ISO 8601-Zeitstempel1307* `event.timestamp`: ISO 8601-Zeitstempel

1305* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1308* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1306* `event_type`: Umfrage-Lebenszyklusereignis, z. B. `"appeared"`, `"responded"` oder `"transcript_prompt_appeared"`1309* `event_type`: Umfrage-Lebenszyklusereignis, z. B. `"appeared"`, `"responded"` oder `"transcript_prompt_appeared"`

1307* `appearance_id`: Eindeutige ID, die die Ereignisse verknüpft, die für eine Umfrage-Instanz ausgegeben werden1310* `appearance_id`: Eindeutige ID, die die Ereignisse verknüpft, die für eine Umfrage-Instanz ausgegeben werden

1308* `survey_type`: Welche Umfrage das Ereignis erzeugt hat. `"session"` ist die Aufforderung "Wie macht sich Claude?" Bewertung1311* `survey_type`: Welche Umfrage das Ereignis erzeugt hat. `"session"` ist die Aufforderung „Wie macht Claude es?" Bewertung

1309* `response`: Die Auswahl des Benutzers bei `responded` Ereignissen1312* `response`: Die Auswahl des Benutzers auf `responded`-Ereignissen

1310* `enabled_via_override`: `true`, wenn [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/de/env-vars) gesetzt ist. Wird als boolescher Wert ausgegeben, nicht als Zeichenkette. Vorhanden bei `session` Umfrage-Ereignissen. Filtern Sie nach diesem Attribut, um zu bestätigen, dass die Überschreibung über eine Flotte angewendet wird1313* `enabled_via_override`: `true`, wenn [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/de/env-vars) gesetzt ist. Ausgegeben als Boolean, nicht als String. Vorhanden auf `session`-Umfrage-Ereignissen. Filtern Sie nach diesem Attribut, um zu bestätigen, dass die Überschreibung über eine Flotte angewendet wird

1311 1314 

1312<h4 id="retention-sweep-event">1315<h4 id="retention-sweep-event">

1313 Aufbewahrungsbereinigungs-Ereignis1316 Aufbewahrungslösch-Ereignis

1314</h4>1317</h4>

1315 1318 

1316Protokolliert einmal pro Lauf des Aufbewahrungsbereinigungs-Sweeps, der [Sitzungstranskripte und andere Anwendungsdaten](/docs/de/claude-directory#cleaned-up-automatically) löscht, die älter als die [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays) Einstellung sind. Claude Code führt den Sweep im Hintergrund höchstens einmal pro Sitzung aus, und ein Lauf, der nichts löscht, gibt trotzdem das Ereignis aus. Wenn Claude Code den Sweep in einer Sitzung auf der gleichen Maschine in den letzten 24 Stunden ausgeführt hat, verzögert er den Sweep dieser Sitzung um mindestens 10 Minuten, daher gibt eine Sitzung, die früher beendet wird, nichts aus. Wenn Sie `claude -p` mit `--bare` ausführen, führt Claude Code den Sweep nicht aus und gibt nichts aus.1319Protokolliert einmal pro Lauf des Aufbewahrungslösch-Sweeps, der [Sitzungstranskripte und andere Anwendungsdaten](/docs/de/claude-directory#cleaned-up-automatically) löscht, die älter als die [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays)-Einstellung sind. Claude Code führt den Sweep im Hintergrund höchstens einmal pro Sitzung aus, und ein Lauf, der nichts löscht, gibt trotzdem das Ereignis aus. Wenn Claude Code den Sweep in einer Sitzung auf der gleichen Maschine in den letzten 24 Stunden ausgeführt hat, verzögert er den Sweep dieser Sitzung um mindestens 10 Minuten, daher gibt eine Sitzung, die früher beendet wird, nichts aus. Wenn Sie `claude -p` mit `--bare` ausführen, führt Claude Code den Sweep nicht aus und gibt nichts aus.

1317 1320 

1318Wie jedes OTel-Ereignis auf dieser Seite geht es nur an das Telemetrie-Backend, das Sie konfigurieren. Erfordert Claude Code v2.1.227 oder später.1321Wie jedes OTel-Ereignis auf dieser Seite geht es nur an den Telemetrie-Backend, den Sie konfigurieren. Erfordert Claude Code v2.1.227 oder später.

1319 1322 

1320Wenn Claude Code die Aufbewahrungsfrist nicht sicher bestimmen kann, pausiert es den Sweep und gibt das Ereignis mit `result` auf `"skipped"` und einem `skip_reason` aus. Wenn [verwaltete Einstellungen](/docs/de/server-managed-settings) `cleanupPeriodDays` setzen, pinnt der verwaltete Wert die Aufbewahrungsfrist und der Sweep läuft auch wenn eine Einstellungsdatei in einem niedrigeren Prioritätsbereich unterbrochen oder ungültig ist. Wenn `managed-settings.json` selbst nicht gelesen werden kann, pausiert Claude Code den Sweep trotzdem nicht, es sei denn, die [verwaltete Ebene](/docs/de/managed-settings#how-claude-code-combines-managed-sources) liefert `cleanupPeriodDays` von anderswo, z. B. Server-verwaltete Einstellungen oder ein `managed-settings.d/` Drop-In neben der unterbrochenen Datei. Die Lösch-Zähler-Attribute sind nur vorhanden, wenn `result` `"complete"` ist.1323Wenn Claude Code die Aufbewahrungsfrist nicht sicher bestimmen kann, pausiert es den Sweep und gibt das Ereignis mit `result` auf `"skipped"` und einem `skip_reason` aus. Wenn [verwaltete Einstellungen](/docs/de/server-managed-settings) `cleanupPeriodDays` setzen, pinnt der verwaltete Wert die Aufbewahrungsfrist und der Sweep läuft auch wenn eine Einstellungsdatei in einem niedrigeren Prioritätsbereich kaputt oder ungültig ist. Wenn `managed-settings.json` selbst nicht gelesen werden kann, pausiert Claude Code den Sweep trotzdem nicht, es sei denn, die [verwaltete Ebene](/docs/de/managed-settings#how-claude-code-combines-managed-sources) liefert `cleanupPeriodDays` von anderswo, z. B. von Server-verwalteten Einstellungen oder einem `managed-settings.d/`-Drop-In neben der kaputten Datei. Die Lösch-Zähler-Attribute sind nur vorhanden, wenn `result` `"complete"` ist.

1321 1324 

1322**Ereignisname**: `claude_code.retention_sweep`1325**Ereignisname**: `claude_code.retention_sweep`

1323 1326 


1326* Alle [Standardattribute](#standard-attributes)1329* Alle [Standardattribute](#standard-attributes)

1327* `event.name`: `"retention_sweep"`1330* `event.name`: `"retention_sweep"`

1328* `event.timestamp`: ISO 8601-Zeitstempel1331* `event.timestamp`: ISO 8601-Zeitstempel

1329* `event.sequence`: Pro-Prozess-Zähler zur Sortierung von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)1332* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1330* `result`: `"complete"`, wenn der Sweep lief, `"skipped"`, wenn Claude Code ihn pausierte1333* `result`: `"complete"`, wenn der Sweep ausgeführt wurde, `"skipped"`, wenn Claude Code ihn pausiert hat

1331* `period_days`: Der `cleanupPeriodDays` Wert aus zusammengeführten Einstellungen, in Tagen, oder `30`, wenn keine Quelle ihn setzt. Bei übersprungenen Ereignissen der Wert, den der Sweep verwendet hätte, berechnet aus den Einstellungsquellen, die Claude Code lesen konnte1334* `period_days`: Der `cleanupPeriodDays`-Wert aus zusammengeführten Einstellungen, in Tagen, oder `30`, wenn keine Quelle ihn setzt. Bei übersprungenen Ereignissen der Wert, den der Sweep verwendet hätte, berechnet aus den Einstellungsquellen, die Claude Code lesen konnte

1332* `used_default`: `"true"`, wenn keine lesbare Einstellungsquelle `cleanupPeriodDays` setzt, `"false"` andernfalls. Bei vollständigen Ereignissen bedeutet `"true"`, dass der 30-Tage-Standard angewendet wurde1335* `used_default`: `"true"`, wenn keine lesbare Einstellungsquelle `cleanupPeriodDays` setzt, `"false"` andernfalls. Bei abgeschlossenen Ereignissen bedeutet `"true"`, dass der 30-Tage-Standard angewendet wurde

1333* `skip_reason`: Warum Claude Code den Sweep pausierte. Nur vorhanden, wenn `result` `"skipped"` ist:1336* `skip_reason`: Warum Claude Code den Sweep pausiert hat. Nur vorhanden, wenn `result` `"skipped"` ist:

1334 * `"user_source_disabled"`: Benutzereinstellungen sind ausgeschlossen, z. B. durch das [`--setting-sources`](/docs/de/cli-reference#cli-flags) Flag oder die SDK's [`settingSources`](/docs/de/agent-sdk/typescript#options) Option, und keine aktivierte Quelle liefert `cleanupPeriodDays`1337 * `"user_source_disabled"`: Benutzereinstellungen sind ausgeschlossen, z. B. durch das [`--setting-sources`](/docs/de/cli-reference#cli-flags)-Flag oder die [`settingSources`](/docs/de/agent-sdk/typescript#options)-Option des SDK, und keine aktivierte Quelle liefert `cleanupPeriodDays`

1335 * `"settings_unknowable"`: Eine Einstellungsdatei konnte nicht gelesen oder geparst werden, daher kann `cleanupPeriodDays` oder `desktopSessionCleanupPeriodDays` auf einen Wert gesetzt sein, den Claude Code nicht sehen kann1338 * `"settings_unknowable"`: Eine Einstellungsdatei konnte nicht gelesen oder geparst werden, daher kann `cleanupPeriodDays` oder `desktopSessionCleanupPeriodDays` auf einen Wert gesetzt sein, den Claude Code nicht sehen kann

1336 * `"settings_invalid_key_set"`: Einstellungen haben Validierungsfehler und `cleanupPeriodDays` oder `desktopSessionCleanupPeriodDays` ist explizit gesetzt, daher könnte ein Fallback auf den Standard Dateien gegen diese Einstellung löschen oder behalten1339 * `"settings_invalid_key_set"`: Einstellungen haben Validierungsfehler und `cleanupPeriodDays` oder `desktopSessionCleanupPeriodDays` ist explizit gesetzt, daher könnte ein Fallback auf den Standard Dateien gegen diese Einstellung löschen oder behalten

1337* `transcripts_deleted`: Anzahl der Sitzungstranskripte, die Top-Level `~/.claude/projects/*/*.jsonl` Dateien, die der Sweep gelöscht hat1340* `transcripts_deleted`: Anzahl der Sitzungstranskripte, die Top-Level-`~/.claude/projects/*/*.jsonl`-Dateien, die der Sweep gelöscht hat

1338* `transcripts_exempted_desktop`: Anzahl der Transkripte nach der Aufbewahrungsfrist, die der Sweep unter der [Claude Desktop und Cowork Regel](/docs/de/claude-directory#cleaned-up-automatically) behalten hat. Diese zählen nicht zu `files_past_cutoff`. Erfordert Claude Code v2.1.248 oder später1341* `transcripts_exempted_desktop`: Anzahl der Transkripte, die älter als die Aufbewahrungsfrist sind und die der Sweep unter der [Claude Desktop und Cowork-Regel](/docs/de/claude-directory#cleaned-up-automatically) behalten hat. Diese zählen nicht zu `files_past_cutoff`. Erfordert Claude Code v2.1.248 oder später

1339* `session_files_deleted`: Anzahl der Artefakte, die der Session-Files-Sweep gelöscht hat: Transkripte plus Pro-Session-Begleitdateien wie Sidecars, Aufzeichnungen und Tool-Ergebnisse1342* `session_files_deleted`: Anzahl der Artefakte, die der Sitzungs-Dateien-Sweep gelöscht hat: Transkripte plus Pro-Sitzungs-Begleitdateien wie Sidecars, Aufzeichnungen und Tool-Ergebnisse

1340* `artifacts_deleted`: Gesamtzahl der Elemente, die der Sweep über die Datenverzeichnisse hinweg gelöscht hat, die er abdeckt, einschließlich der Session-Dateien. Einige Sweeps zählen einen ganzen entfernten Verzeichnisbaum als ein Element und ein paar Bereinigungs-Durchgänge tragen nicht zum Zähler bei, daher behandeln Sie den Wert als Untergrenze statt als exakte Dateianzahl1343* `artifacts_deleted`: Gesamtzahl der Elemente, die der Sweep über die Datenverzeichnisse, die er abdeckt, gelöscht hat, einschließlich der Sitzungsdateien. Einige Sweeps zählen einen ganzen entfernten Verzeichnisbaum als ein Element und ein paar Cleanup-Durchläufe tragen nicht zum Zähler bei, daher behandeln Sie den Wert als Untergrenze statt als genaue Dateianzahl

1341* `files_retained_fresh`: Dateien inspiziert und behalten, weil sie noch innerhalb der Aufbewahrungsfrist sind. Nur Pro-Datei-Sweeps zählen diese, daher ist der Wert eine Untergrenze; ein Wert ungleich Null ist der normale stabile Zustand1344* `files_retained_fresh`: Dateien, die inspiziert und behalten wurden, weil sie noch innerhalb der Aufbewahrungsfrist sind. Nur Pro-Datei-Sweeps zählen diese, daher ist der Wert eine Untergrenze; ein Nicht-Null-Wert ist der normale stabile Zustand

1342* `files_past_cutoff`: Dateien älter als die Aufbewahrungsfrist, die der Sweep nicht löschen konnte, z. B. wegen eines Berechtigungsfehlers oder einer offenen Datei. Ein Wert über Null bedeutet, dass Dateien die konfigurierte Aufbewahrungsfrist überlebten; Null ist kein Beweis, dass keine, weil ein fehlgeschlagenes Entfernen eines ganzen Verzeichnisses zu `error_count` statt zählt1345* `files_past_cutoff`: Dateien, die älter als die Aufbewahrungsfrist sind und die der Sweep nicht löschen konnte, z. B. wegen eines Berechtigungsfehlers oder einer offenen Datei. Ein Wert über Null bedeutet, dass Dateien die konfigurierte Aufbewahrungsfrist überlebten; Null ist kein Beweis, dass keine es taten, weil ein fehlgeschlagenes Entfernen eines ganzen Verzeichnisses zu `error_count` statt zählt

1343* `error_count`: Anzahl der Fehler, die der Sweep beim Auflisten oder Löschen von Dateien begegnete1346* `error_count`: Anzahl der Fehler, die der Sweep beim Auflisten oder Löschen von Dateien angetroffen hat

1347 

1348<h4 id="managed-settings-resolved-event">

1349 Verwaltete Einstellungen aufgelöst-Ereignis

1350</h4>

1351 

1352Protokolliert mit den [verwalteten Einstellungen](/docs/de/managed-settings), die eine Sitzung aufgelöst hat: einmal beim Sitzungsstart, erneut wenn sich entweder die verwalteten Einstellungen oder der Zustand des [Policy-Helpers](/docs/de/managed-settings#compute-the-policy-with-a-helper-program) während der Sitzung ändert, und wenn Claude Code sich weigert zu starten oder die Sitzung aus einem der Gründe beendet, die das Attribut `error.type` auflistet.

1353Verwenden Sie dieses Ereignis, um Maschinen zu finden, die auf einer unerwarteten verwalteten Quelle laufen, Maschinen, deren Policy-Helper fehlschlägt, und den Grund, warum eine Maschine sich weigert zu starten.

1354Erfordert Claude Code v2.1.274 oder später.

1355 

1356Standardmäßig trägt das Ereignis die verwalteten Quellen und den Zustand des Policy-Helpers, aber nicht die Einstellungen selbst. Um das redaktionierte Attribut `managed_settings.settings` und die `managed_settings.resolved_sha256`-Zusammenfassung hinzuzufügen, setzen Sie `OTEL_LOG_MANAGED_SETTINGS=1`:

1357 

1358* Setzen Sie es im `env`-Block von verwalteten Einstellungen, Benutzereinstellungen oder `--settings`, oder in der Umgebung, mit der Sie Claude Code starten. Ein Wert in Projekt- oder lokalen Einstellungen schaltet es nicht ein, weil ein geklontes Repository sie schreiben kann.

1359* Server-verwaltete Einstellungen können es setzen, ohne den [Sicherheitsgenehmigungsdialog](/docs/de/server-managed-settings#security-approval-dialogs) anzuzeigen, weil die Variable nur Ihre Organisationseigene redaktionierte Richtlinie zu einem Ereignis hinzufügt, das Ihre Organisation bereits erhält.

1360 

1361In einer interaktiven Sitzung in einem Ordner, den Sie nicht [vertraut](/docs/de/permissions#what-runs-before-you-trust-a-folder) haben, exportiert Claude Code das Verweigerungs-Ereignis nicht, weil Projekt- und lokale Einstellungen den Export auf einen anderen Collector verweisen könnten, bevor Vertrauen besteht.

1362 

1363**Ereignisname**: `claude_code.managed_settings_resolved`

1364 

1365**Attribute**:

1366 

1367* Alle [Standardattribute](#standard-attributes)

1368* `event.name`: `"managed_settings_resolved"`

1369* `event.timestamp`: ISO 8601-Zeitstempel

1370* `event.sequence`: Pro-Prozess-Zähler zum Ordnen von Ereignissen, beschrieben unter [Ereigniskorrelationsattribute](#event-correlation-attributes)

1371* `managed_settings.trigger`: `"startup"` für das Sitzungsstart-Ereignis, `"change"`, wenn sich die verwalteten Einstellungen oder der Zustand des Policy-Helpers später in der Sitzung ändert, oder `"refused"`, wenn eine verwaltete Einstellungsrichtlinie die Sitzung stoppte. Claude Code sendet ein `change`-Ereignis nur, wenn sich ein Attribut vom letzten Ereignis unterscheidet, das es gesendet hat, und ein geänderter Einstellungswert zählt auch wenn `OTEL_LOG_MANAGED_SETTINGS` aus ist

1372* `error.type`: Warum Claude Code die Sitzung stoppte. Nur vorhanden auf `refused`-Ereignissen:

1373 * `"helper_failed"`: ein [Policy-Helper-Lauf fehlgeschlagen](/docs/de/settings-reference#helper-failures)

1374 * `"policy_invalid"`: die verwalteten Einstellungen enthalten einen Fehler, der Claude Code vom Starten abhält, oder eine Admin-Quelle konnte nicht geladen werden, daher kann Claude Code die Durchsetzung der Organisationsanmeldung nicht prüfen

1375 * `"consent_rejected"`: der Benutzer lehnte den [Sicherheitsgenehmigungsdialog](/docs/de/server-managed-settings#security-approval-dialogs) für Server-verwaltete Einstellungen ab

1376 * `"force_refresh_failed"`: der Einstellungs-Abruf, den [`forceRemoteSettingsRefresh`](/docs/de/settings-reference#forceremotesettingsrefresh) erfordert, fehlgeschlagen

1377 * `"gateway_rejected"`: ein [Claude-Apps-Gateway](/docs/de/claude-apps-gateway) antwortete auf den Abruf der verwalteten Einstellungen mit HTTP 403

1378 * `"version_below_minimum"`: diese Version von Claude Code ist unter [`requiredMinimumVersion`](/docs/de/settings-reference#requiredminimumversion) oder über [`requiredMaximumVersion`](/docs/de/settings-reference#requiredmaximumversion)

1379 * `"_OTHER"`: der Abruf der Claude-Apps-Gateway-verwalteten Einstellungen fehlgeschlagen aus einem anderen Grund

1380* `managed_settings.sources`: jede verwaltete Quelle, die mindestens einen [Policy-Schlüssel](/docs/de/managed-settings#how-claude-code-combines-managed-sources) liefert, höchste Priorität zuerst, einschließlich Quellen, deren Schlüssel nicht unter `first-wins` wirksam werden. Werte sind `"remote"`, `"plist"` oder `"hklm"` für die MDM- oder OS-Level-Richtlinie, `"file"` für verwaltete Einstellungsdateien und Drop-Ins, `"parent"`, wenn ein [Embedding-Host](/docs/de/managed-settings#let-an-embedding-host-add-policy) Einstellungen liefert, und `"hkcu"` für den [Windows HKCU-Registrierungswert](/docs/de/managed-settings#where-each-mechanism-stores-the-policy), wenn Claude Code [ihn liest](/docs/de/managed-settings#how-claude-code-combines-managed-sources). Eine Quelle, die nur Kontrollschlüssel trägt, oder die Claude Code nicht lesen konnte, ist nicht aufgelistet. Ausgegeben als String-Array, leer, wenn keine verwaltete Quelle einen Policy-Schlüssel liefert

1381* `managed_settings.source_behavior`: der [`managedSourcesBehavior`](/docs/de/settings-reference#managedsourcesbehavior)-Wert, den Claude Code gelesen hat, `"first-wins"` oder `"merge"`. `"first-wins"`, wenn keine Quelle den Schlüssel setzt

1382* `managed_settings.helper.state`: Zustand des Policy-Helpers, den die ausgewählte MDM- oder Datei-Quelle konfiguriert:

1383 * `"ok"`: die Ausgabe des Helpers dient als verwaltete Einstellungen

1384 * `"bad_path"`, `"not_a_file"`, `"exit_nonzero"`, `"timed_out"`, `"oversize"`, `"parse_failed"`, `"envelope_invalid"` oder `"schema_rejected"`: der letzte Lauf des Helpers fehlgeschlagen. [Helper-Fehler](/docs/de/settings-reference#helper-failures) beschreibt die Fälle

1385 * `"none"`: kein Helper ist konfiguriert, oder die Quelle, die ihn konfiguriert, ist keine MDM-Richtlinie oder verwaltete Einstellungsdatei

1386* `managed_settings.helper.applied`: `"output"`, während die eigene Ausgabe des Helpers als verwaltete Einstellungen dient, `"none"`, wenn es nicht tut

1387* `managed_settings.helper.entry`: `"policyHelper"`, wenn Claude Code einen [`policyHelper`](/docs/de/settings-reference#policyhelper) ausgewählt hat. Nicht vorhanden, wenn es keinen Helper ausgewählt hat

1388* `managed_settings.helper.path`: der konfigurierte [`path`](/docs/de/settings-reference#policyhelper-path) des Helpers. Vorhanden, wenn Claude Code einen Helper ausgewählt hat, ob `OTEL_LOG_MANAGED_SETTINGS` gesetzt ist oder nicht

1389* `managed_settings.resolved_sha256` (wenn `OTEL_LOG_MANAGED_SETTINGS=1`): SHA-256 der aufgelösten verwalteten Einstellungen vor Redaktion, serialisiert als JSON mit rekursiv sortierten Schlüsseln und ohne Leerzeichen. Maschinen mit der gleichen Zusammenfassung führen die gleiche Richtlinie aus. Claude Code sendet die Zusammenfassung nur mit dem Opt-In, weil eine kurze Richtlinie durch Hashing von Vermutungen wiederhergestellt werden kann. Nicht vorhanden, wenn keine verwalteten Einstellungen aufgelöst wurden, und auf `refused`-Ereignissen

1390* `managed_settings.settings` (wenn `OTEL_LOG_MANAGED_SETTINGS=1`): die Namen und Form der aufgelösten verwalteten Einstellungen als JSON-String, mit den Werten redaktioniert. Nicht vorhanden auf `refused`-Ereignissen. Claude Code erstellt es aus seinem Einstellungsschema:

1391 

1392 * Ein Einstellungsname, den das Schema deklariert, wird exportiert, und ein Schlüssel, den es nicht deklariert, wird weggelassen

1393 * Booleans, Zahlen und String-Werte, die das Schema auf einen festen Satz von Optionen beschränkt, z. B. `permissions.defaultMode`, werden wie geschrieben exportiert. `sandbox.network.httpProxyPort` und `sandbox.network.socksProxyPort` werden als `"[REDACTED]"` exportiert

1394 * Jeder andere String, z. B. `model`, `apiKeyHelper`, jeder `env`-Wert, jede URL und jeder Befehl, wird als `"[REDACTED]"` exportiert

1395 * Die Eintrags-Namen von Maps, z. B. `env`-Variablennamen und Plugin-IDs, werden wie geschrieben exportiert. Eine Einstellung, deren Einträge das Schema nicht typisiert, z. B. `vimInsertModeRemaps`, wird als ein einzelnes `"[REDACTED]"` exportiert, und `sandbox.ignoreViolations` wird als eine Liste seiner Pfad-Listen ohne die Befehlsmuster exportiert

1396 * Eine Liste behält ihre Länge, mit jedem Eintrag nach den gleichen Regeln redaktioniert

1397 * Eine `permissions.allow`-, `permissions.deny`- oder `permissions.ask`-Regel wird als ihr Tool-Name mit dem Inhalt redaktioniert exportiert, z. B. `Read([REDACTED])`, wenn das Tool in diese Version von Claude Code integriert ist oder ein `mcp__`-Verweis wie `mcp__jira__create_issue` ist. Jede andere Regel wird als `"[REDACTED]"` exportiert

1398 * Hooks folgen den gleichen Regeln, daher zeigen fest-Option und numerische Felder wie `type` und `timeout`, während jeder Befehl, jede URL, `matcher` und `if`-Bedingung als `"[REDACTED]"` exportiert wird

1399 

1400 Zum Beispiel werden verwaltete Einstellungen mit `apiKeyHelper`, zwei `env`-Variablen und einer Ablehnungsregel als `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}` exportiert.

1401 

1402 Claude Code schneidet den Wert bei 8 KB UTF-8 ab, und der abgeschnittene Wert ist kein gültiges JSON

1403* `managed_settings.settings_truncated` (wenn `managed_settings.settings` vorhanden ist): `true`, wenn Claude Code `managed_settings.settings` bei 8 KB abgeschnitten hat, `false` andernfalls. Ausgegeben als Boolean, nicht als String

1344 1404 

1345<h2 id="interpret-metrics-and-events-data">1405<h2 id="interpret-metrics-and-events-data">

1346 Interpretation von Metriken- und Ereignisdaten1406 Interpretation von Metriken- und Ereignisdaten


1461Beim Erstellen von Erkennungsregeln schlagen Sie das Signal auf, das Sie überwachen möchten, und fragen Sie Ihr Backend nach dem entsprechenden Ereignis und den Attributen ab:1521Beim Erstellen von Erkennungsregeln schlagen Sie das Signal auf, das Sie überwachen möchten, und fragen Sie Ihr Backend nach dem entsprechenden Ereignis und den Attributen ab:

1462 1522 

1463| Signal | Ereignis | Schlüsselattribute |1523| Signal | Ereignis | Schlüsselattribute |

1464| ------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------ |1524| -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1465| Tool-Aufruf zulässig oder verweigert, und von wem | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |1525| Tool-Aufruf zulässig oder verweigert, und von wem | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |

1466| Berechtigungsmodus-Eskalation | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1526| Berechtigungsmodus-Eskalation | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

1467| Policy-Hook blockierte eine Aktion | `hook_execution_complete` | `hook_event`, `num_blocking` |1527| Policy-Hook blockierte eine Aktion | `hook_execution_complete` | `hook_event`, `num_blocking` |


1469| MCP-Server-Verbindung oder Fehler | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |1529| MCP-Server-Verbindung oder Fehler | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |

1470| Plugin installiert und seine Quelle | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |1530| Plugin installiert und seine Quelle | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |

1471| Befehle ausgeführt und Dateien berührt | `tool_result` (ausgeführt) oder `tool_decision` (abgelehnt) mit `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters`; `tool_input` (`tool_result` nur) |1531| Befehle ausgeführt und Dateien berührt | `tool_result` (ausgeführt) oder `tool_decision` (abgelehnt) mit `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters`; `tool_input` (`tool_result` nur) |

1532| Welche verwalteten Einstellungsquellen ein Computer ausführt, ob sein Policy-Helper fehlerfrei ist und warum ein Computer sich weigerte zu starten | `managed_settings_resolved` | `managed_settings.trigger`, `managed_settings.sources`, `managed_settings.source_behavior`, `managed_settings.helper.state`, `error.type`; `managed_settings.settings` und `managed_settings.resolved_sha256` mit `OTEL_LOG_MANAGED_SETTINGS=1` |

1472 1533 

1473Claude Code gibt nur den rohen Ereignisstrom aus. Anomalieerkennung, Baselining, Korrelation über Sitzungen hinweg und Warnungen sind die Verantwortung Ihres SIEM oder Observability-Backends.1534Claude Code gibt nur den rohen Ereignisstrom aus. Anomalieerkennung, Baselining, Korrelation über Sitzungen hinweg und Warnungen sind die Verantwortung Ihres SIEM oder Observability-Backends.

1474 1535 

Details

245| `registry.npmjs.org` | Plugin-Installationen (Abrufen von npm-Quell-Plugin-Paketen und Installation von Node.js-Paketabhängigkeiten von Plugins), `npx`-gestartete MCP-Server und die Paketregistrierung für npm- und bun-Installationen von Claude Code selbst |245| `registry.npmjs.org` | Plugin-Installationen (Abrufen von npm-Quell-Plugin-Paketen und Installation von Node.js-Paketabhängigkeiten von Plugins), `npx`-gestartete MCP-Server und die Paketregistrierung für npm- und bun-Installationen von Claude Code selbst |

246| `bridge.claudeusercontent.com` | [Claude in Chrome](/docs/de/chrome) Erweiterungs-WebSocket-Bridge |246| `bridge.claudeusercontent.com` | [Claude in Chrome](/docs/de/chrome) Erweiterungs-WebSocket-Bridge |

247| `*.frame.claudeusercontent.com` | [Artifact](/docs/de/artifacts) Inhaltslesevorgänge. Die CLI ruft die Dateien eines Artifacts von diesem Host ab, wenn Claude eines öffnet, und nur wenn das Artifact-Tool [verfügbar](/docs/de/artifacts#availability) für Ihr Konto ist. Um das Tool auszuschalten und diese Anforderung zu entfernen, setzen Sie [`"enableArtifact": false`](/docs/de/settings-reference#enableartifact) oder [`CLAUDE_CODE_DISABLE_ARTIFACT=1`](/docs/de/env-vars); Claude Code berücksichtigt auch die veraltete Einstellung [`disableArtifact`](/docs/de/settings-reference#disableartifact). Siehe [Disable artifacts](/docs/de/artifacts#disable-artifacts) für die Interaktion dieser Einstellungen |247| `*.frame.claudeusercontent.com` | [Artifact](/docs/de/artifacts) Inhaltslesevorgänge. Die CLI ruft die Dateien eines Artifacts von diesem Host ab, wenn Claude eines öffnet, und nur wenn das Artifact-Tool [verfügbar](/docs/de/artifacts#availability) für Ihr Konto ist. Um das Tool auszuschalten und diese Anforderung zu entfernen, setzen Sie [`"enableArtifact": false`](/docs/de/settings-reference#enableartifact) oder [`CLAUDE_CODE_DISABLE_ARTIFACT=1`](/docs/de/env-vars); Claude Code berücksichtigt auch die veraltete Einstellung [`disableArtifact`](/docs/de/settings-reference#disableartifact). Siehe [Disable artifacts](/docs/de/artifacts#disable-artifacts) für die Interaktion dieser Einstellungen |

248| `github.com` | Klonen von GitHub-gehosteten [Plugin-Marktplätzen](/docs/de/plugin-marketplaces) und Plugins, einschließlich des offiziellen Anthropic-Marktplatzes, über HTTPS oder SSH. Um GitHub `owner/repo` Quellen nur über HTTPS zu klonen, setzen Sie [`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](/docs/de/env-vars) |

248| `raw.githubusercontent.com` | Changelog-Feed für [`/release-notes`](/docs/de/commands). In interaktiven Sitzungen ruft Claude Code ihn auch beim Start im Hintergrund ab, wenn sein zwischengespeichertes Changelog die laufende Version noch nicht abdeckt, z. B. beim ersten Start nach einem Update; nicht-interaktive und Cloud-Sitzungen rufen ihn nie ab |249| `raw.githubusercontent.com` | Changelog-Feed für [`/release-notes`](/docs/de/commands). In interaktiven Sitzungen ruft Claude Code ihn auch beim Start im Hintergrund ab, wenn sein zwischengespeichertes Changelog die laufende Version noch nicht abdeckt, z. B. beim ersten Start nach einem Update; nicht-interaktive und Cloud-Sitzungen rufen ihn nie ab |

249| `*-review.googlesource.com` | Gerrit-Änderungssuche bei `googlesource.com`-Checkouts. Wenn eine Claude Desktop Code-Tab-Sitzung auf einem [vertrauenswürdigen](/docs/de/permissions#project-allow-rules-and-workspace-trust) Checkout startet oder fortgesetzt wird, dessen `origin` ein `googlesource.com`-Host ist, fragt Claude Code diesen Host's `-review`-Server anonym nach der offenen Änderung, die HEADs `Change-Id` entspricht, einmal pro Start oder Fortsetzung. Andere Sitzungstypen überspringen die Suche, und kein anderer Gerrit-Host wird kontaktiert. Optional: deaktivieren mit [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/de/env-vars) |250| `*-review.googlesource.com` | Gerrit-Änderungssuche bei `googlesource.com`-Checkouts. Wenn eine Claude Desktop Code-Tab-Sitzung auf einem [vertrauenswürdigen](/docs/de/permissions#project-allow-rules-and-workspace-trust) Checkout startet oder fortgesetzt wird, dessen `origin` ein `googlesource.com`-Host ist, fragt Claude Code diesen Host's `-review`-Server anonym nach der offenen Änderung, die HEADs `Change-Id` entspricht, einmal pro Start oder Fortsetzung. Andere Sitzungstypen überspringen die Suche, und kein anderer Gerrit-Host wird kontaktiert. Optional: deaktivieren mit [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/de/env-vars) |

250| `http-intake.logs.us5.datadoghq.com` | Operationale Telemetrie-Ereignisse, die nur gesendet werden, wenn die CLI die Anthropic API direkt nutzt, niemals für Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry. Optional: deaktivieren mit [`DISABLE_TELEMETRY`](/docs/de/data-usage#telemetry-services) oder `DO_NOT_TRACK` |251| `http-intake.logs.us5.datadoghq.com` | Operationale Telemetrie-Ereignisse, die nur gesendet werden, wenn die CLI die Anthropic API direkt nutzt, niemals für Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry. Optional: deaktivieren mit [`DISABLE_TELEMETRY`](/docs/de/data-usage#telemetry-services) oder `DO_NOT_TRACK` |

output-styles.md +124 −42

Details

4 4 

5# Ausgabestile5# Ausgabestile

6 6 

7> Passen Sie Claude Code für Anwendungsfälle über Softwareentwicklung hinaus an7> Ändern Sie Claudes Rolle, Ton und Antwortformat mit einem integrierten Ausgabestil wie „Prägnant" oder „Erklärend", oder schreiben Sie einen benutzerdefinierten Stil.

8 8 

9Ausgabestile ändern, wie Claude antwortet, nicht was Claude weiß. Sie legen Claudes Rolle, Ton und Ausgabeformat für jede Antwort fest. Verwenden Sie einen, wenn Sie sich in jedem Durchgang immer wieder nach derselben Stimme oder demselben Format erkundigen, oder wenn Sie möchten, dass Claude als etwas anderes als ein Softwareentwickler fungiert.9Ein Ausgabestil ist ein Satz von Anweisungen, der Claudes Rolle, Ton und Antwortformat für jede Antwort in einer Sitzung festlegt. Claude Code enthält vier integrierte Stile neben seinem Standard, und Sie können Ihre eigenen schreiben.

10 10 

11Ein benutzerdefinierter Ausgabestil gibt Claude Ihre eigenen Anweisungen und lässt Sie wählen, ob Sie die integrierten Softwareentwicklungsanweisungen von Claude Code beibehalten möchten. Behalten Sie sie, wenn Sie ändern, wie Claude kommuniziert, aber immer noch codiert, z. B. immer mit einem Diagramm antwortet. Lassen Sie sie weg, wenn Claude überhaupt keine Softwareentwicklung durchführt, z. B. als Schreib-Assistent oder Datenanalyst.11Verwenden Sie einen Ausgabestil, um die Art und Weise zu ändern, wie Claude antwortet und mit Ihnen für eine ganze Sitzung zusammenarbeitet, damit Sie die Anfrage nicht in jedem Durchgang wiederholen müssen. Beispielsweise kann ein integrierter Stil Antworten kürzer machen, eine Erklärung jeder Änderung hinzufügen oder Claude veranlassen, die Arbeit zu beginnen, ohne Routinefragen zu stellen. Ein benutzerdefinierter Stil kann Claude auch in etwas anderes als einen Softwareentwickler umwandeln, z. B. in einen Schreib-Assistenten oder einen Datenanalysten.

12 12 

13Für Anweisungen zu Ihrem Projekt, Konventionen oder Ihrer Codebasis verwenden Sie stattdessen [CLAUDE.md](/docs/de/memory).13* Um einen integrierten Stil zu verwenden, wählen Sie einen aus den [integrierten Ausgabestilen](#built-in-output-styles) und [wechseln Sie zu ihm](#change-your-output-style).

14* Um Ihre eigenen Anweisungen zu schreiben, [erstellen Sie einen benutzerdefinierten Ausgabestil](#create-a-custom-output-style).

15 

16<Note>

17 Ein Ausgabestil gibt Claude Anweisungen zum Befolgen. Es garantiert nicht, dass etwas immer passiert oder nie passiert. Einige Anforderungen passen zu einer anderen Funktion:

18 

19 * Für das, was Claude über Ihr Projekt wissen sollte, verwenden Sie [CLAUDE.md](/docs/de/memory).

20 * Für etwas, das jedes Mal passieren muss, z. B. Formatierung nach jeder Bearbeitung oder Blockierung eines Befehls, verwenden Sie einen [Hook](/docs/de/hooks-guide).

21 * Für Skills, Subagenten und die anderen Optionen siehe [Wählen Sie zwischen einem Ausgabestil und anderen Funktionen](#choose-between-an-output-style-and-other-features).

22</Note>

14 23 

15<h2 id="built-in-output-styles">24<h2 id="built-in-output-styles">

16 Integrierte Ausgabestile25 Integrierte Ausgabestile

17</h2>26</h2>

18 27 

19Der **Standard**-Ausgabestil von Claude Code ist sein Standard-Anweisungssatz, der Ihnen helfen soll, Softwareentwicklungsaufgaben effizient zu bewältigen.28Claude Code startet im [**Standard**](#default)-Stil, seinen Standard-Anweisungen für die Durchführung von Softwareentwicklungsaufgaben. Jeder der vier anderen integrierten Stile behält diese Anweisungen bei und fügt seine eigenen hinzu.

29 

30Diese Tabelle zeigt, was jeder Stil in einer Sitzung ändert und wann er passt:

31 

32| Stil | Was ändert sich | Verwenden Sie ihn, wenn |

33| :------------------------ | :---------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- |

34| [Proaktiv](#proactive) | Claude beginnt sofort mit der Arbeit und trifft vernünftige Annahmen, anstatt bei Routineentscheidungen zu fragen | Sie möchten, dass Claude durch Routineentscheidungen weitermacht, und Sie werden den Kurs korrigieren, wenn eine Annahme falsch ist |

35| [Prägnant](#concise) | Antworten beginnen mit dem Ergebnis und lassen Präambel, Erzählung und Zusammenfassungen weg | Standard-Antworten sind länger als Sie möchten |

36| [Erklärend](#explanatory) | Claude fügt kurze `Insight`-Blöcke hinzu, die die Entscheidungen hinter dem geschriebenen Code erklären | Sie lernen eine Codebasis kennen oder möchten die Begründung zusammen mit der Änderung |

37| [Lernend](#learning) | Claude erklärt seine Entscheidungen und lässt kleine Codestücke für Sie selbst schreiben | Sie möchten praktische Codierungserfahrung, während die Aufgabe noch erledigt wird |

38 

39<h3 id="default">

40 Standard

41</h3>

42 

43Standard bedeutet, dass kein Ausgabestil ausgewählt ist. Claude Code fügt keine Stil-Anweisungen hinzu, und Claude arbeitet aus Claude Codes Standard-Systemaufforderung, die für Softwareentwicklungsaufgaben geschrieben ist.

44 

45`default` erscheint in der `/output-style`-Liste zusammen mit den anderen Stilen, sodass Sie [ihn auf die gleiche Weise auswählen](#change-your-output-style).

46 

47<h3 id="proactive">

48 Proaktiv

49</h3>

50 

51Im Proaktiv-Stil beginnt Claude sofort mit der Implementierung, sobald Sie eine Aufgabe senden. Es trifft vernünftige Annahmen über Routineentscheidungen, anstatt zu fragen, und wechselt nicht in den Plan-Modus, es sei denn, Sie fragen nach einem Plan. Sie können es jederzeit umleiten.

52 

53Die Anweisungen des Stils sagen Claude auch, dass es mit Ihnen im Gespräch überprüfen soll, bevor eine Aktion durchgeführt wird, die Daten löscht oder ein gemeinsames oder Produktionssystem ändert. Diese Überprüfung ist eine Anweisung, die Claude befolgt, und ist getrennt von Berechtigungsaufforderungen.

54 

55Das Wechseln zum Proaktiv-Stil ändert Ihren [Berechtigungsmodus](/docs/de/permission-modes) nicht. Ihr Berechtigungsmodus entscheidet weiterhin, welche Tool-Aufrufe ohne Nachfrage ausgeführt werden, sodass Berechtigungsaufforderungen auf die gleiche Weise wie zuvor angezeigt werden.

56 

57<h3 id="concise">

58 Prägnant

59</h3>

60 

61Im Prägnant-Stil gibt der erste Satz einer Antwort an, was passiert ist oder was die Antwort ist. Claude lässt die Einleitung, die Schritt-für-Schritt-Erzählung und die abschließende Zusammenfassung weg und beantwortet eine einfache Frage in ein bis drei Sätzen. Es führt die Softwareentwicklungsarbeit genauso gründlich durch wie im Standard-Stil. Erfordert Claude Code v2.1.237 oder später.

62 

63Claude schreibt in diesen Fällen immer noch in voller Länge:

64 

65* **Alles, das Sie fragen**: Wenn Sie um eine Erklärung oder mehr Details bitten, antwortet Claude vollständig.

66* **Alles, das Sie benötigen, um sicher zu handeln**: Fehlerberichte, fehlgeschlagene Testausgabe, Sicherheitswarnungen und Bestätigungen für destruktive Aktionen behalten ihren vollständigen Inhalt.

67 

68<h3 id="explanatory">

69 Erklärend

70</h3>

71 

72Im Erklärend-Stil führt Claude die Aufgabe auf die gleiche Weise durch wie im Standard-Stil und fügt kurze Erklärungen hinzu, warum es die Entscheidungen traf, die es traf. Jede Erklärung erscheint im Gespräch, vor oder nach dem Code, auf den sie sich bezieht, in einem Block mit der Bezeichnung `Insight`. Die Erklärungen werden nicht als Kommentare in Ihre Dateien geschrieben.

20 73 

21Es gibt vier zusätzliche integrierte Ausgabestile:74Ein `Insight`-Block enthält zwei oder drei Punkte über Ihre Codebasis oder den Code, den Claude geschrieben hat, wie dieser nach dem Hinzufügen eines API-Endpunkts:

22 75 

23* **Proaktiv**: Claude führt sofort aus, trifft vernünftige Annahmen statt bei Routineentscheidungen zu pausieren, und bevorzugt Handeln gegenüber Planung. Dies ist eine stärkere Anleitung zur autonomen Ausführung als [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) bietet, und es funktioniert ohne Änderung Ihres Berechtigungsmodus, sodass Ihr Berechtigungsmodus weiterhin entscheidet, was ausgeführt wird, ohne Sie zu fragen.76```text theme={null}

77★ Insight ─────────────────────────────────────

78- Every route in this repo goes through the withAuth wrapper, so the new endpoint gets session checks without its own middleware.

79- Rate limits are set per route in limits.ts, which is why this change adds an entry there rather than a global default.

80─────────────────────────────────────────────────

81```

82 

83<h3 id="learning">

84 Lernend

85</h3>

24 86 

25* **Prägnant**: Claude führt mit dem Ergebnis an, überspringt Präambel und Erzählung, und hält Antworten standardmäßig kurz, während die Softwareentwicklungsarbeit genauso gründlich wie im Standard-Stil durchgeführt wird. Wenn Sie um eine Erklärung oder mehr Details bitten, antwortet Claude vollständig. Claude behält immer den vollständigen Inhalt von Fehlerberichten, Sicherheitswarnungen und Bestätigungen für destruktive Aktionen. Erfordert Claude Code v2.1.237 oder später.87Im Lernend-Stil fügt Claude die gleichen `Insight`-Blöcke wie der [Erklärend-Stil](#explanatory) hinzu und fordert Sie auch auf, einen Teil des Codes zu schreiben. Claude kümmert sich selbst um die Routine-Implementierung. Wenn es ein Stück mit einer echten Designentscheidung erreicht, wie Fehlerbehandlung, eine Datenstruktur oder Geschäftslogik mit mehr als einem gültigen Ansatz, lässt es ein paar Zeilen für Sie.

26 88 

27* **Explanatory**: Bietet pädagogische „Insights" zwischen der Unterstützung bei Softwareentwicklungsaufgaben. Hilft Ihnen, Implementierungsentscheidungen und Codebase-Muster zu verstehen.89Claude markiert die Stelle mit einem `TODO(human)`-Kommentar in der Datei und sendet dann eine Anfrage, die angibt, was bereits erstellt ist, was zu schreiben ist und was zu berücksichtigen ist:

28 90 

29* **Learning**: Kollaborativer, Lern-durch-Tun-Modus, in dem Claude nicht nur „Insights" beim Codieren teilt, sondern Sie auch auffordert, kleine, strategische Codestücke selbst beizutragen. Claude Code fügt `TODO(human)`-Marker in Ihren Code ein, damit Sie diese implementieren können.91```text theme={null}

92● Learn by Doing

93 

94Context: The upload form is in place and calls validateFile() before accepting a file. Size and type checks work for images, but the switch statement has no handling for documents yet.

95 

96Your Task: In upload.js, implement the case "document" branch inside validateFile(). Look for TODO(human).

97 

98Guidance: Decide on a size limit for documents and whether the file extension has to match the MIME type. Return {valid: boolean, error?: string}.

99```

100 

101Claude hält dann an und wartet. Schreiben Sie Ihren Code beim `TODO(human)`-Kommentar und teilen Sie Claude mit, wenn Sie fertig sind. Claude antwortet mit einem `Insight` über Ihren Code und setzt die Aufgabe fort.

30 102 

31<h2 id="change-your-output-style">103<h2 id="change-your-output-style">

32 Ändern Sie Ihren Ausgabestil104 Ändern Sie Ihren Ausgabestil

33</h2>105</h2>

34 106 

35Wählen Sie einen Stil auf eine dieser Arten:107Wählen Sie einen Stil mit dem Befehl, einem Menü oder einer Einstellungsdatei. Der Befehl und beide Menüs speichern Ihre Auswahl in `.claude/settings.local.json` auf der [lokalen Projektebene](/docs/de/settings).

36 108 

37* **`/output-style` Befehl**: Führen Sie `/output-style <style>` aus, um zu wechseln, zum Beispiel `/output-style concise`. Ohne Argument listet der Befehl die Stile auf, die Sie auswählen können, und markiert den aktuellen. Claude Code speichert Ihre Auswahl in `.claude/settings.local.json` auf der [lokalen Projektebene](/docs/de/settings).109* **`/output-style` Befehl**: Führen Sie `/output-style <style>` aus, um zu wechseln, zum Beispiel `/output-style concise`. Ohne Argument listet der Befehl die Stile auf, die Sie auswählen können, und markiert den aktuellen.

38 110 

39 Der Befehl funktioniert auch im [nicht-interaktiven Modus](/docs/de/headless) und Agent SDK-Sitzungen sowie über die mobile App oder das Web über [Remote Control](/docs/de/remote-control#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.111 Der Befehl funktioniert auch im [nicht-interaktiven Modus](/docs/de/headless) und Agent SDK-Sitzungen sowie über die mobile App oder das Web über [Remote Control](/docs/de/remote-control#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.

40* **Terminal**: Führen Sie `/config` aus und wählen Sie **Output style**, um einen Stil aus einem Menü auszuwählen. Claude Code speichert Ihre Auswahl in `.claude/settings.local.json` auf der [lokalen Projektebene](/docs/de/settings).112* **Terminal-Menü**: Führen Sie `/config` aus und wählen Sie **Output style**, um einen Stil aus einem Menü auszuwählen.

41* **VS Code-Erweiterung**: Öffnen Sie das [Befehlsmenü](/docs/de/vs-code#use-the-prompt-box) mit `/` und wählen Sie **Output styles**, um einen Stil auszuwählen, einschließlich Ihrer benutzerdefinierten Stile. Claude Code speichert Ihre Auswahl in `.claude/settings.local.json`, derselben Datei, in die das Terminal-Menü schreibt. Erfordert Claude Code v2.1.257 oder später.113* **VS Code-Erweiterung**: Öffnen Sie das [Befehlsmenü](/docs/de/vs-code#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.

42* **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**](/docs/de/desktop#what%E2%80%99s-not-available-in-desktop) statt eines Menüs.114* **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**](/docs/de/desktop#what%E2%80%99s-not-available-in-desktop) statt eines Menüs.

43 115 

44Um einen Stil ohne Menü festzulegen, bearbeiten Sie das Feld `outputStyle` direkt in einer Einstellungsdatei:116Um einen Stil ohne Menü festzulegen, bearbeiten Sie das Feld `outputStyle` direkt in einer Einstellungsdatei:


49}121}

50```122```

51 123 

124Der Wert ist Groß-/Kleinschreibung-empfindlich, daher schreiben Sie die integrierten Namen als `Proactive`, `Concise`, `Explanatory` und `Learning`. Ein Wert, der nicht exakt mit einem Stilnamen übereinstimmt, wie `explanatory`, gibt Ihnen den Standard-Stil. Der `/output-style` Befehl ignoriert die Groß-/Kleinschreibung.

125 

126Um einen Stil über Projekte hinweg als Standard festzulegen, legen Sie `outputStyle` in `~/.claude/settings.json` fest. Die eigenen Einstellungsdateien eines Projekts [haben Vorrang](/docs/de/settings#settings-precedence) vor diesem Wert.

127 

52Wenn Sie Stile während einer Sitzung wechseln, verwendet Claude den neuen Stil ab Ihrer nächsten Nachricht. Informationen zu den Kosten dieser ersten Nachricht für Prompt Caching finden Sie unter [Ausgabestil ändern](/docs/de/prompt-caching#changing-output-style). Vor v2.1.251 wurde der neue Stil erst nach dem Ausführen von `/clear` oder dem Starten einer neuen Sitzung angewendet.128Wenn Sie Stile während einer Sitzung wechseln, verwendet Claude den neuen Stil ab Ihrer nächsten Nachricht. Informationen zu den Kosten dieser ersten Nachricht für Prompt Caching finden Sie unter [Ausgabestil ändern](/docs/de/prompt-caching#changing-output-style). Vor v2.1.251 wurde der neue Stil erst nach dem Ausführen von `/clear` oder dem Starten einer neuen Sitzung angewendet.

53 129 

54<h2 id="create-a-custom-output-style">130<h2 id="create-a-custom-output-style">


98[Plugins](/docs/de/plugins-reference) können auch Ausgabestile in einem `output-styles/`-Verzeichnis bereitstellen.174[Plugins](/docs/de/plugins-reference) können auch Ausgabestile in einem `output-styles/`-Verzeichnis bereitstellen.

99 175 

100<h3 id="frontmatter">176<h3 id="frontmatter">

101 Frontmatter177 Frontmatter-Referenz

102</h3>178</h3>

103 179 

104Ausgabestil-Dateien unterstützen diese Frontmatter-Felder:180Konfigurieren Sie einen Ausgabestil mit YAML-[Frontmatter](/docs/de/glossary#frontmatter) zwischen `---`-Markierungen am Anfang der Datei. Alle Felder sind optional, und Feldnamen verwenden Kleinbuchstaben, die durch Bindestriche getrennt sind. Ein falsch geschriebenes Feld wird ohne Fehler ignoriert. Wenn das YAML nicht analysiert wird, wird der Stil trotzdem unter seinem Dateinamen mit keinen festgelegten Feldern geladen; führen Sie `claude --debug` aus, um den Analysefehler zu sehen.

105 181 

106| Frontmatter | Zweck | Standard |182| Feld | Erforderlich | Beschreibung |

107| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------- |183| :------------------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

108| `name` | Name des Ausgabestils, falls nicht der Dateiname | Wird vom Dateinamen geerbt |184| `name` | Nein | Name des Ausgabestils, angezeigt in der `/config`-Auswahl. Standard: der Dateiname |

109| `description` | Beschreibung des Ausgabestils, angezeigt in der `/config`-Auswahl | Keine |185| `description` | Nein | Beschreibung des Ausgabestils, angezeigt in der `/config`-Auswahl |

110| `keep-coding-instructions` | Behalten Sie die integrierten Softwareentwicklungsanweisungen von Claude Code | `false` |186| `keep-coding-instructions` | Nein | Setzen Sie auf `true`, um die integrierten Softwareentwicklungsanweisungen von Claude Code neben Ihrem Stil beizubehalten. Standard: `false` |

111| `force-for-plugin` | Nur Plugin-Ausgabestile: Wenden Sie diesen Stil automatisch an, wenn das Plugin aktiviert ist, ohne dass Benutzer ihn auswählen müssen. Überschreibt die `outputStyle`-Einstellung des Benutzers. Wenn mehrere aktivierte Plugins dies festlegen, verwendet Claude Code das zuerst geladene. | `false` |187| `force-for-plugin` | Nein | Nur Plugin-Ausgabestile. Setzen Sie auf `true`, um diesen Stil automatisch anzuwenden, wenn das Plugin aktiviert ist, ohne dass Benutzer ihn auswählen müssen. Überschreibt die `outputStyle`-Einstellung des Benutzers. Wenn mehrere aktivierte Plugins dies festlegen, verwendet Claude Code das zuerst geladene. Standard: `false` |

112 188 

113<h2 id="how-output-styles-work">189<span id="comparisons-to-related-features" />

114 Wie Ausgabestile funktionieren190 

191<h2 id="choose-between-an-output-style-and-other-features">

192 Wählen Sie zwischen einem Ausgabestil und anderen Funktionen

115</h2>193</h2>

116 194 

117Ein Ausgabestil ändert die Anweisungen, die Claude Code Claude gibt.195Ein Ausgabestil gilt für jede Antwort in einer Sitzung. Es ist eine Anweisung, die Claude befolgt, daher wird nichts erzwungen. Wenn das, was Sie möchten, enger ist als jede Antwort, oder ohne Fehler geschehen muss, passt eine andere Funktion besser.

118 196 

119* Claude Code sendet die Anweisungen des aktiven Stils mit jeder Anfrage.197Diese Tabelle ordnet das, was Sie möchten, der Funktion zu, die es tut:

120* Wenn Sie [einen anderen Stil als Standard wählen](#change-your-output-style), erinnert Claude Code Claude während des Gesprächs auch an den Stil.

121* Benutzerdefinierte Ausgabestile lassen die integrierten Softwareentwicklungsanweisungen von Claude Code weg, z. B. wie man Änderungen begrenzt, Kommentare schreibt und Arbeiten überprüft, es sei denn, `keep-coding-instructions` ist auf `true` gesetzt.

122 198 

123Ausgabestile gelten für das Hauptgespräch und für einen [Fork](/docs/de/sub-agents#fork-the-current-conversation), der die vollständige Konversation und Systemaufforderung des übergeordneten Elements erbt. Andere [Subagents führen ihre eigene Systemaufforderung aus](/docs/de/sub-agents#what-loads-at-startup), daher ändern Stile nicht, wie sie reagieren.199| Sie möchten | Verwenden Sie | Warum es passt |

200| :------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |

201| Jede Antwort in einer bestimmten Stimme, Länge oder Format, oder Claude in einer anderen Rolle | Ein Ausgabestil | Er gilt für die gesamte Sitzung, und Sie wechseln Stile mit einem Befehl |

202| Claude sollte die Konventionen, Befehle und Struktur Ihres Projekts kennen | [CLAUDE.md](/docs/de/memory) | Es enthält, was Claude über die Codebasis wissen sollte, und es bleibt geladen, welchen Stil Sie auch wählen |

203| Anweisungen für eine Art von Aufgabe, wie eine Veröffentlichungs-Checkliste oder ein Überprüfungsverfahren | Ein [Skill](/docs/de/skills) | Claude lädt es nur, wenn Sie es aufrufen oder die Aufgabe passt, daher formt es keine unabhängigen Antworten |

204| Etwas, das jedes Mal ohne Ausnahme geschehen muss, wie Formatierung nach jeder Bearbeitung oder Blockierung eines Befehls | Ein [Hook](/docs/de/hooks-guide) | Claude Code führt einen Hook selbst bei einem Lebenszyklusereignis aus, daher hängt es nicht davon ab, dass Claude einer Anweisung folgt |

205| Ein Helfer mit seinen eigenen Anweisungen, Modell und Tools für eine fokussierte Aufgabe | Ein [Subagent](/docs/de/sub-agents) | Er läuft in einem separaten Kontext mit seinem eigenen Systemprompt und gibt eine Zusammenfassung an Ihr Gespräch zurück |

206| Eine Ergänzung zu Claudes Anweisungen, die Sie beim Start von Claude Code übergeben | [`--append-system-prompt`](/docs/de/cli-reference#system-prompt-flags) | Sie wird an den Systemprompt angehängt, ohne etwas zu entfernen |

124 207 

125Die Tokennutzung hängt vom Stil ab. Die Anweisungen eines Stils erhöhen die Eingabe-Token, obwohl Prompt Caching diese Kosten nach der ersten Anfrage in einer Sitzung reduziert.208Diese Funktionen lassen sich kombinieren. Sie können beispielsweise CLAUDE.md für das verwenden, was Claude wissen sollte, einen Ausgabestil für die Art, wie es antwortet, und einen Hook für alles, das garantiert sein muss. [Erweitern Sie Claude Code](/docs/de/features-overview) vergleicht die restlichen Erweiterungsfunktionen.

126 209 

127Die integrierten Explanatory- und Learning-Stile erzeugen absichtlich längere Antworten als Standard, was die Ausgabe-Token erhöht. Der Concise-Stil bewirkt das Gegenteil, indem Claude angewiesen wird, Antworten standardmäßig kurz zu halten. Bei benutzerdefinierten Stilen hängt die Tokennutzung für die Ausgabe davon ab, was Ihre Anweisungen Claude zu produzieren sagen.210<h2 id="how-output-styles-work">

128 211 Wie Ausgabestile funktionieren

129<h2 id="comparisons-to-related-features">

130 Vergleiche mit verwandten Funktionen

131</h2>212</h2>

132 213 

133Mehrere Funktionen passen an, wie sich Claude Code verhält. Ausgabestile ändern die Standardanweisungen von Claude Code und gelten für jede Antwort. Die anderen fügen Anweisungen hinzu, ohne die Standardanweisungen zu ändern, oder begrenzen sie auf eine bestimmte Aufgabe.214Ein Ausgabestil ändert die Anweisungen, die Claude Code an Claude sendet.

215 

216* Claude Code sendet die Anweisungen des aktiven Stils mit jeder Anfrage.

217* Benutzerdefinierte Ausgabestile lassen Claude Codes integrierte Softwareentwicklungsanweisungen aus, wie z. B. wie man Änderungen begrenzt, Kommentare schreibt und Arbeiten überprüft, es sei denn, `keep-coding-instructions` ist auf `true` gesetzt.

218 

219Ausgabestile gelten für die Hauptkonversation und für einen [Fork](/docs/de/sub-agents#fork-the-current-conversation), der die vollständige Konversation und Systemaufforderung des übergeordneten Elements erbt. Andere [Subagents führen ihre eigene Systemaufforderung aus](/docs/de/sub-agents#what-loads-at-startup), daher ändern Stile nicht, wie sie reagieren.

220 

221Die Tokennutzung hängt vom Stil ab. Die Anweisungen eines Stils fügen Eingabe-Token hinzu, obwohl Prompt Caching diese Kosten nach der ersten Anfrage in einer Sitzung reduziert.

134 222 

135| Funktion | Wie es funktioniert | Verwenden Sie es, wenn |223Die integrierten Stile „Explanatory" und „Learning" erzeugen absichtlich längere Antworten als „Default", was die Ausgabe-Token erhöht. Der Stil „Concise" bewirkt das Gegenteil, indem Claude angewiesen wird, Antworten standardmäßig kurz zu halten. Bei benutzerdefinierten Stilen hängt die Ausgabe-Token-Nutzung davon ab, was Ihre Anweisungen Claude zu produzieren anweisen.

136| :----------------------- | :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ |

137| Ausgabestile | Ändert die Standardanweisungen von Claude Code | Sie möchten in jedem Durchgang eine andere Rolle, einen anderen Ton oder ein anderes Standard-Antwortformat |

138| [CLAUDE.md](/docs/de/memory) | Fügt eine Benutzernachricht nach der Systemaufforderung hinzu | Claude sollte immer Ihre Projektkonventionen und Codebase-Kontext kennen |

139| `--append-system-prompt` | Hängt an die Systemaufforderung an, ohne etwas zu entfernen | Sie möchten eine einmalige Ergänzung, die als [CLI-Flag](/docs/de/cli-reference#system-prompt-flags) beim Start übergeben wird |

140| [Agents](/docs/de/sub-agents) | Führt einen Subagent mit seiner eigenen Systemaufforderung, seinem Modell und seinen Tools aus | Sie möchten einen separat definierten Helper für eine fokussierte Aufgabe |

141| [Skills](/docs/de/skills) | Lädt aufgabenspezifische Anweisungen, wenn aufgerufen oder relevant | Sie haben einen wiederverwendbaren Workflow |

142 224 

143<h2 id="related-resources">225<h2 id="related-resources">

144 Verwandte Ressourcen226 Verwandte Ressourcen

overview.md +1 −0

Details

247* [Quickstart](/docs/de/quickstart): Gehen Sie durch Ihre erste echte Aufgabe, vom Erkunden einer Codebasis bis zum Committen einer Lösung247* [Quickstart](/docs/de/quickstart): Gehen Sie durch Ihre erste echte Aufgabe, vom Erkunden einer Codebasis bis zum Committen einer Lösung

248* [Speichern Sie Anweisungen und Erinnerungen](/docs/de/memory): Geben Sie Claude persistente Anweisungen mit CLAUDE.md-Dateien und automatischem Gedächtnis248* [Speichern Sie Anweisungen und Erinnerungen](/docs/de/memory): Geben Sie Claude persistente Anweisungen mit CLAUDE.md-Dateien und automatischem Gedächtnis

249* [Häufige Workflows](/docs/de/common-workflows) und [Best Practices](/docs/de/best-practices): Muster für optimale Nutzung von Claude Code249* [Häufige Workflows](/docs/de/common-workflows) und [Best Practices](/docs/de/best-practices): Muster für optimale Nutzung von Claude Code

250* [Claude Academy](https://academy.claude.com/): kostenlose Selbstlernkurse, einschließlich [Claude Code 101](https://academy.claude.com/courses/claude-code-101) und [Claude Code in Action](https://academy.claude.com/courses/claude-code-in-action)

250* [Ein Harness für jede Aufgabe](https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code): Wie das Claude Code-Team [dynamische Workflows](/docs/de/workflows) nutzt, um Subagenten im großen Maßstab zu orchestrieren251* [Ein Harness für jede Aufgabe](https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code): Wie das Claude Code-Team [dynamische Workflows](/docs/de/workflows) nutzt, um Subagenten im großen Maßstab zu orchestrieren

251* [Einstellungen](/docs/de/settings): Passen Sie Claude Code an Ihren Workflow an252* [Einstellungen](/docs/de/settings): Passen Sie Claude Code an Ihren Workflow an

252* [Fehlerbehebung](/docs/de/troubleshooting): Lösungen für häufige Probleme253* [Fehlerbehebung](/docs/de/troubleshooting): Lösungen für häufige Probleme

permission-modes.md +102 −87

Details

267 267 

268Wenn der Plan fertig ist, präsentiert Claude ihn und fragt, wie Sie vorgehen möchten. Von dieser Aufforderung aus können Sie wählen:268Wenn der Plan fertig ist, präsentiert Claude ihn und fragt, wie Sie vorgehen möchten. Von dieser Aufforderung aus können Sie wählen:

269 269 

270* **Ja, und Auto-Modus verwenden**: Genehmigen und im [Auto-Modus](#eliminate-prompts-with-auto-mode) starten. Wenn Auto-Modus nicht verfügbar ist, liest diese Option **Ja, Auto-Bearbeitungen akzeptieren**. Wenn Sie die Sitzung mit aktivierten Bypass-Berechtigungen gestartet haben, liest die Option **Ja, und zum BYPASS PERMISSIONS (keine weiteren Aufforderungen) für diese Sitzung wechseln** statt.270* **Ja, und Auto-Modus verwenden**: Genehmigen und im [Auto-Modus](#eliminate-prompts-with-auto-mode) starten. Wenn Auto-Modus nicht [für Ihre Sitzung verfügbar](#eliminate-prompts-with-auto-mode) ist, beispielsweise weil Ihre Organisation ihn deaktiviert hat, liest diese Option **Ja, Auto-Bearbeitungen akzeptieren**. Wenn Sie die Sitzung mit aktivierten Bypass-Berechtigungen gestartet haben, liest die Option **Ja, und zum BYPASS PERMISSIONS (keine weiteren Aufforderungen) für diese Sitzung wechseln** statt.

271* **Ja, Bearbeitungen manuell genehmigen**: Genehmigen und jede Bearbeitung einzeln überprüfen.271* **Ja, Bearbeitungen manuell genehmigen**: Genehmigen und jede Bearbeitung einzeln überprüfen.

272* **Nein, weiter planen**: Bleiben Sie im Plan-Modus und sagen Sie Claude, was zu ändern ist.272* **Nein, weiter planen**: Bleiben Sie im Plan-Modus und sagen Sie Claude, was zu ändern ist.

273 273 


284Um den Plan-Modus als Standard für die Terminal-Sitzungen eines Projekts festzulegen, setzen Sie `defaultMode` auf `plan` in `.claude/settings.json`, wie das Beispiel unter [Starten Sie in einem anderen Berechtigungsmodus](#start-in-a-different-mode) zeigt. Konversationen, die die [VS Code-Erweiterung](/docs/de/vs-code) startet, lesen keine Projekteinstellungen für den Standard-Berechtigungsmodus. Dort setzen Sie stattdessen `claudeCode.initialPermissionMode` auf `plan` in Ihren VS Code-Benutzereinstellungen.284Um den Plan-Modus als Standard für die Terminal-Sitzungen eines Projekts festzulegen, setzen Sie `defaultMode` auf `plan` in `.claude/settings.json`, wie das Beispiel unter [Starten Sie in einem anderen Berechtigungsmodus](#start-in-a-different-mode) zeigt. Konversationen, die die [VS Code-Erweiterung](/docs/de/vs-code) startet, lesen keine Projekteinstellungen für den Standard-Berechtigungsmodus. Dort setzen Sie stattdessen `claudeCode.initialPermissionMode` auf `plan` in Ihren VS Code-Benutzereinstellungen.

285 285 

286<h2 id="eliminate-prompts-with-auto-mode">286<h2 id="eliminate-prompts-with-auto-mode">

287 Eliminieren Sie Genehmigungseingabeaufforderungen mit dem Auto-Modus287 Eliminieren Sie Genehmigungsaufforderungen mit dem Auto-Modus

288</h2>288</h2>

289 289 

290Der Auto-Modus ermöglicht es Claude, ohne routinemäßige Genehmigungseingabeaufforderungen auszuführen. Ein separates Klassifizierungsmodell überprüft Aktionen vor ihrer Ausführung und blockiert alles, das über Ihre Anfrage hinausgeht, auf nicht erkannte Infrastruktur abzielt oder von feindseligem Inhalt angetrieben zu sein scheint, den Claude gelesen hat. Explizite [Anfrageregelungen](/docs/de/permissions#manage-permissions) erzwingen weiterhin eine Eingabeaufforderung.290Der Auto-Modus ermöglicht Claude, ohne routinemäßige Genehmigungsaufforderungen auszuführen. Ein separates Klassifizierungsmodell überprüft Aktionen vor ihrer Ausführung und blockiert alles, das über Ihre Anfrage hinausgeht, auf nicht erkannte Infrastruktur abzielt oder von feindseligem Inhalt angetrieben zu sein scheint, den Claude gelesen hat. Explizite [Ask-Regeln](/docs/de/permissions#manage-permissions) erzwingen weiterhin eine Aufforderung.

291 291 

292In Pro-, Max- und Team-Plänen ist der Auto-Modus der [integrierte Standard-Genehmigungsmodus](#which-mode-a-session-starts-in).292In Pro-, Max- und Team-Plänen ist der Auto-Modus der [integrierte Standard-Genehmigungsmodus](#which-mode-a-session-starts-in).

293 293 

294Der Klassifizierer überprüft auch jede Nachricht, die Claude mit [`SendMessage`](/docs/de/tools-reference) an einen anderen Agent sendet, ob als Klartext oder als strukturierte [Agent-Team](/docs/de/agent-teams)-Nachricht, bevor Claude Code sie liefert, sowohl im Auto-Modus als auch im [Plan-Modus, während der Klassifizierer Befehle überprüft](#analyze-before-you-edit-with-plan-mode); die Sendungsüberprüfung erfordert Claude Code v2.1.222 oder später.294Der Klassifizierer überprüft auch jede Nachricht, die Claude mit [`SendMessage`](/docs/de/tools-reference) an einen anderen Agent sendet, ob als Klartext oder als strukturierte [Agent-Team](/docs/de/agent-teams)-Nachricht, bevor Claude Code sie liefert, sowohl im Auto-Modus als auch im [Plan-Modus, während der Klassifizierer Befehle überprüft](#analyze-before-you-edit-with-plan-mode); die Sendungsüberprüfung erfordert Claude Code v2.1.222 oder später.

295 295 

296Der Klassifizierer überprüft auch und genehmigt oder blockiert `rm`- und `rmdir`-Löschungen, die auf einen [kritischen Pfad](#critical-paths) abzielen, wie `rm -rf /` und `rm -rf ~`, auch wenn die Löschung in einer Befehl- oder Prozessersetzung stattfindet.296Der Klassifizierer überprüft und genehmigt oder blockiert auch `rm`- und `rmdir`-Löschungen, die auf einen [kritischen Pfad](#critical-paths) abzielen, wie `rm -rf /` und `rm -rf ~`, auch wenn die Löschung in einer Befehl- oder Prozessersetzung stattfindet.

297 297 

298Der Auto-Modus ermutigt Claude auch, weiter zu arbeiten, ohne bei Klarstellungsfragen zu stoppen, obwohl Claude immer noch fragt, wenn Ihre Eingabeaufforderung oder eine Fähigkeit explizit darauf angewiesen ist. Für stärkeres autonomes Verhalten in einem Modus, der Sie immer noch auffordert, stellen Sie stattdessen den [Proaktiven Ausgabestil](/docs/de/output-styles) ein.298Der Auto-Modus ermutigt Claude auch, weiter zu arbeiten, ohne bei Klärungsfragen zu stoppen, obwohl Claude immer noch fragt, wenn Ihre Eingabeaufforderung oder eine Fähigkeit explizit darauf angewiesen ist. Für stärkeres autonomes Verhalten in einem Modus, der Sie immer noch auffordert, stellen Sie stattdessen den [Proaktiven Ausgabestil](/docs/de/output-styles) ein.

299 299 

300<Warning>300<Warning>

301 Der Auto-Modus reduziert Genehmigungseingabeaufforderungen, garantiert aber keine Sicherheit. Verwenden Sie ihn für Aufgaben, bei denen Sie der allgemeinen Richtung vertrauen, nicht als Ersatz für die Überprüfung bei sensiblen Operationen.301 Der Auto-Modus reduziert Genehmigungsaufforderungen, garantiert aber keine Sicherheit. Verwenden Sie ihn für Aufgaben, bei denen Sie der allgemeinen Richtung vertrauen, nicht als Ersatz für die Überprüfung bei sensiblen Operationen.

302</Warning>302</Warning>

303 303 

304Der Auto-Modus ist nur verfügbar, wenn Ihr Konto alle diese Anforderungen erfüllt:304Der Auto-Modus ist nur verfügbar, wenn Ihr Konto alle diese Anforderungen erfüllt:

305 305 

306* **Plan**: Alle Pläne.306* **Plan**: Alle Pläne.

307* **Organisation**: Bei Team und Enterprise ist der Auto-Modus standardmäßig verfügbar. Administratoren können ihn für die Organisation deaktivieren, indem sie `permissions.disableAutoMode` in [verwalteten Einstellungen](/docs/de/managed-settings) auf `"disable"` setzen.307* **Organisation**: Bei Team und Enterprise ist der Auto-Modus standardmäßig verfügbar. Administratoren können ihn für die Organisation deaktivieren, indem sie `permissions.disableAutoMode` in [verwalteten Einstellungen](/docs/de/managed-settings) auf `"disable"` setzen.

308* **Modell**: Auf der Anthropic API und [Claude Platform on AWS](/docs/de/claude-platform-on-aws), Claude Opus 4.6 oder später, Sonnet 4.6 oder später, oder ein [Fable-Modell](/docs/de/model-config#work-with-fable). Auf Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und angemeldeten [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzungen nur Claude Sonnet 5, Opus 4.7 oder später und die Fable-Modelle. Ältere Modelle, einschließlich Sonnet 4.5, Opus 4.5, Haiku und claude-3-Modelle, werden auf keinem Anbieter unterstützt.308* **Modell**: In der Anthropic API und [Claude Platform on AWS](/docs/de/claude-platform-on-aws), Claude Opus 4.6 oder später, Sonnet 4.6 oder später, oder ein [Fable-Modell](/docs/de/model-config#work-with-fable). Bei Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und angemeldeten [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzungen nur Claude Sonnet 5, Opus 4.7 oder später und die Fable-Modelle. Ältere Modelle, einschließlich Sonnet 4.5, Opus 4.5, Haiku und claude-3-Modelle, werden auf keinem Anbieter unterstützt.

309* **Anbieter**: Standardmäßig auf der Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und angemeldeten Claude-Apps-Gateway-Sitzungen verfügbar.309* **Anbieter**: Standardmäßig verfügbar in der Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und angemeldeten Claude-Apps-Gateway-Sitzungen.

310 310 

311Wenn Claude Code meldet, dass der Auto-Modus nicht verfügbar ist, überprüfen Sie zunächst diese Anforderungen und ob eine Einstellungsdatei [`disableAutoMode`](/docs/de/settings-reference#disableautomode) setzt. Anthropic kann den Auto-Modus auch serverseitig deaktiviert haben, oder der Server kann den Auto-Modus für Ihr Konto abgelehnt haben. Eine Sitzung, die eine dieser Antworten erhalten hat, behält den Auto-Modus aus, bis die Sitzung endet. Starten Sie später eine neue Sitzung.311Wenn Claude Code meldet, dass der Auto-Modus nicht verfügbar ist, überprüfen Sie zunächst diese Anforderungen und ob eine Einstellungsdatei [`disableAutoMode`](/docs/de/settings-reference#disableautomode) setzt. Anthropic kann den Auto-Modus auch serverseitig deaktiviert haben, oder der Server kann den Auto-Modus für Ihr Konto abgelehnt haben. Eine Sitzung, die eine dieser Antworten erhalten hat, behält den Auto-Modus aus, bis die Sitzung endet. Starten Sie später eine neue Sitzung.

312 312 

313Eine separate Nachricht, die ein Modell benennt und sagt, dass der Auto-Modus die Sicherheit einer Aktion „nicht bestimmen kann", bedeutet, dass eine Klassifiziereranfrage fehlgeschlagen ist. Dieser Fehler ist normalerweise vorübergehend, kann aber auf Amazon Bedrock wiederholt auftreten, bis Ihr Konto das benannte Modell aufrufen kann. Siehe die [Fehlerreferenz](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) für die Ursachen und was zu tun ist.313Eine separate Nachricht, die ein Modell benennt und sagt, dass der Auto-Modus die Sicherheit einer Aktion „nicht bestimmen kann", bedeutet, dass eine Klassifizierer-Anfrage fehlgeschlagen ist. Dieser Fehler ist normalerweise vorübergehend, kann aber bei Amazon Bedrock wiederholt auftreten, bis Ihr Konto das benannte Modell aufrufen kann. Siehe die [Fehlerreferenz](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) für die Ursachen und was zu tun ist.

314 314 

315Wenn Sie `defaultMode: "auto"` in [Einstellungen](/docs/de/settings-reference#all-settings) setzen und eine Terminal-Sitzung im manuellen Modus ohne Fehler startet, befindet sich die Einstellung wahrscheinlich in `.claude/settings.json` oder `.claude/settings.local.json`. `auto` wird aus diesen Dateien nicht wirksam. Verschieben Sie es zu `~/.claude/settings.json`. Für ein Gespräch, das die VS Code-Erweiterung gestartet hat, überprüfen Sie stattdessen die eigene Liste der Erweiterung in [Genehmigungsmodi wechseln](#switch-permission-modes).315Wenn Sie `defaultMode: "auto"` in [Einstellungen](/docs/de/settings-reference#all-settings) setzen und eine Terminal-Sitzung im manuellen Modus ohne Fehler startet, befindet sich die Einstellung wahrscheinlich in `.claude/settings.json` oder `.claude/settings.local.json`. `auto` wird aus diesen Dateien nicht wirksam. Verschieben Sie es zu `~/.claude/settings.json`. Für ein Gespräch, das die VS Code-Erweiterung gestartet hat, überprüfen Sie stattdessen die eigene Liste der Erweiterung in [Genehmigungsmodi wechseln](#switch-permission-modes).

316 316 


318 Auto-Modus auf Bedrock, Agent Platform oder Foundry318 Auto-Modus auf Bedrock, Agent Platform oder Foundry

319</h3>319</h3>

320 320 

321Auf [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai), [Microsoft Foundry](/docs/de/microsoft-foundry) und angemeldeten [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzungen wird der Auto-Modus standardmäßig im `Shift+Tab`-Zyklus angezeigt. Das Erscheinen im Zyklus ändert nicht den Genehmigungsmodus, in dem eine Sitzung startet: Auf diesen Anbietern starten Terminal-Sitzungen in Ihrem [`defaultMode`](/docs/de/settings-reference#permissions-defaultmode), der manuell ist, es sei denn, Sie ändern ihn, und Gespräche in der [VS Code-Erweiterung](/docs/de/vs-code) starten im manuellen Modus, es sei denn, `claudeCode.initialPermissionMode` oder ein Modus, den Sie in der Erweiterung ausgewählt haben, setzt einen. Nur Claude Sonnet 5, Opus 4.7 oder später und die Fable-Modelle werden auf diesen Anbietern unterstützt.321Bei [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai), [Microsoft Foundry](/docs/de/microsoft-foundry) und angemeldeten [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzungen wird der Auto-Modus standardmäßig im `Shift+Tab`-Zyklus angezeigt. Das Erscheinen im Zyklus ändert nicht den Genehmigungsmodus, in dem eine Sitzung startet: Bei diesen Anbietern starten Terminal-Sitzungen in Ihrem [`defaultMode`](/docs/de/settings-reference#permissions-defaultmode), der manuell ist, es sei denn, Sie ändern ihn, und Gespräche in der [VS Code-Erweiterung](/docs/de/vs-code) starten im manuellen Modus, es sei denn, `claudeCode.initialPermissionMode` oder ein Modus, den Sie in der Erweiterung ausgewählt haben, setzt einen. Nur Claude Sonnet 5, Opus 4.7 oder später und die Fable-Modelle werden auf diesen Anbietern unterstützt.

322 322 

323Um den Auto-Modus zum Standard-Genehmigungsmodus beim Start zu machen, setzen Sie `"permissions": {"defaultMode": "auto"}` in Benutzer- oder verwalteten Einstellungen. Wählen Sie in Sitzungen, die die VS Code-Erweiterung startet, stattdessen **Auto** aus dem Modusindikator. [Genehmigungsmodi wechseln](#switch-permission-modes) behandelt, was diese Auswahl übertrumpft.323Um den Auto-Modus zum Standard-Startgenehmigungsmodus zu machen, setzen Sie `"permissions": {"defaultMode": "auto"}` in Benutzer- oder verwalteten Einstellungen. Wählen Sie in Sitzungen, die die VS Code-Erweiterung startet, stattdessen **Auto** aus dem Modusindikator. [Genehmigungsmodi wechseln](#switch-permission-modes) behandelt, was diese Auswahl übertrumpft.

324 324 

325Die [`/doctor`](/docs/de/commands#all-commands)-Überprüfung schlägt diese Benutzereinstellungs-Standard auf diesen Anbietern auf die gleiche Weise vor wie auf der Anthropic API.325Die [`/doctor`](/docs/de/commands#all-commands)-Überprüfung schlägt diesen Benutzereinstellungs-Standard auf diesen Anbietern auf die gleiche Weise vor wie auf der Anthropic API.

326 326 

327Um Entwickler daran zu hindern, den Auto-Modus zu verwenden, setzen Sie `disableAutoMode` in [verwalteten Einstellungen](/docs/de/managed-settings) auf `"disable"`. Dies entfernt `auto` aus dem `Shift+Tab`-Zyklus, und eine Sitzung, die mit `--permission-mode auto` gestartet wurde, startet stattdessen im manuellen Modus. Eine bereits im Auto-Modus laufende Sitzung verlässt ihn, wenn die Einstellung diese Sitzung von einer [von Admin bereitgestellten Quelle](/docs/de/managed-settings#which-managed-source-claude-code-uses) erreicht, und zeigt `auto mode disabled by settings`. Vor v2.1.251 behielt eine laufende Sitzung den Auto-Modus bis zum Ende.327Um Entwickler daran zu hindern, den Auto-Modus zu verwenden, setzen Sie `disableAutoMode` in [verwalteten Einstellungen](/docs/de/managed-settings) auf `"disable"`. Dies entfernt `auto` aus dem `Shift+Tab`-Zyklus, und eine Sitzung, die mit `--permission-mode auto` gestartet wurde, startet stattdessen im manuellen Modus. Eine bereits im Auto-Modus laufende Sitzung verlässt ihn, wenn die Einstellung diese Sitzung von einer [von Admin bereitgestellten Quelle](/docs/de/managed-settings#which-managed-source-claude-code-uses) erreicht, und zeigt `auto mode disabled by settings`. Vor v2.1.251 behielt eine laufende Sitzung den Auto-Modus bis zum Ende.

328 328 

329In v2.1.158 bis v2.1.206 war der Auto-Modus auf diesen Anbietern aus, bis Sie `CLAUDE_CODE_ENABLE_AUTO_MODE=1` setzten, und Claude Code ignorierte `defaultMode: "auto"` auf diesen Anbietern, es sei denn, die Variable wurde auch gesetzt. Die Variable wird immer noch aus Kompatibilitätsgründen akzeptiert und hat ab v2.1.207 keine Auswirkung.329In v2.1.158 bis v2.1.206 war der Auto-Modus auf diesen Anbietern aus, bis Sie `CLAUDE_CODE_ENABLE_AUTO_MODE=1` setzten, und Claude Code ignorierte `defaultMode: "auto"` auf diesen Anbietern, es sei denn, die Variable war auch gesetzt. Die Variable wird weiterhin aus Kompatibilitätsgründen akzeptiert und hat ab v2.1.207 keine Auswirkung.

330 330 

331<h3 id="server-side-classifier-review">331<h3 id="server-side-classifier-review">

332 Serverseitige Klassifiziererüberprüfung332 Serverseitige Klassifizierer-Überprüfung

333</h3>333</h3>

334 334 

335Bei Enterprise-Plänen und Konten, die die Claude API verwenden, auf [Claude Platform on AWS](/docs/de/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, und wenn Sie `ANTHROPIC_BASE_URL` auf ein [LLM-Gateway oder einen Proxy](/docs/de/llm-gateway) verweisen, fragt Claude Code im Auto-Modus den Server auf, um [die Aktionen zu überprüfen, die zum Klassifizierer gehen](#how-the-classifier-evaluates-actions) als Teil der Modellabfragen der Sitzung. Wo der Server sie überprüft, entscheiden seine Urteile diese Aktionen. Wo er nicht überprüft, meist weil ein LLM-Gateway oder Proxy den Datenverkehr stört, oder weil die Plattform, Region oder Anmeldedaten noch keine serverseitigen Überprüfungen haben, fällt Claude Code auf seine eigenen Klassifiziereranfragen zurück, und sobald dieses Fallback für den Rest der Sitzung gilt, zeigt es einen [Hinweis auf Klassifiziereranfrage-Gebühren](/docs/de/auto-mode-classifier-billing) auf Konten, bei denen diese Anfragen abgerechnet werden. Um das Fragen des Servers zu überspringen und immer Claude Codes eigene Klassifiziereranfragen zu verwenden, setzen Sie [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/de/env-vars). Die Variable wird nicht auf einer direkten Verbindung zur Anthropic API gelesen. Wenn Sie `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` setzen und `CLAUDE_CODE_AUTO_MODE_SERVER` nicht gesetzt lassen, stoppt Claude Code auch das Fragen des Servers.335Bei Enterprise-Plänen und Konten, die die Claude API verwenden, bei [Claude Platform on AWS](/docs/de/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, und wenn Sie `ANTHROPIC_BASE_URL` auf ein [LLM-Gateway oder einen Proxy](/docs/de/llm-gateway) verweisen, fragt Claude Code im Auto-Modus den Server, um [die Aktionen zu überprüfen, die zum Klassifizierer gehen](#how-the-classifier-evaluates-actions) als Teil der Modellabfragen der Sitzung. Wo der Server sie überprüft, entscheiden seine Urteile diese Aktionen. Wo er nicht, meist weil ein LLM-Gateway oder Proxy den Verkehr behindert, oder weil die Plattform, Region oder Anmeldedaten noch keine serverseitigen Überprüfungen haben, fällt Claude Code auf seine eigenen Klassifizierer-Anfragen zurück, und sobald dieses Fallback für den Rest der Sitzung gilt, zeigt es eine [Mitteilung über Klassifizierer-Anfrage-Gebühren](/docs/de/auto-mode-classifier-billing) auf Konten, bei denen diese Anfragen abgerechnet werden. Um das Fragen des Servers zu überspringen und immer Claude Codes eigene Klassifizierer-Anfragen zu verwenden, setzen Sie [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/de/env-vars). Die Variable wird nicht auf einer direkten Verbindung zur Anthropic API gelesen. Wenn Sie `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` setzen und `CLAUDE_CODE_AUTO_MODE_SERVER` nicht gesetzt lassen, stoppt Claude Code auch das Fragen des Servers.

336 336 

337Das Fragen des Servers standardmäßig erfordert Claude Code v2.1.278 oder später.337Das Fragen des Servers standardmäßig erfordert Claude Code v2.1.278 oder später.

338 338 


352* Änderung gemeinsamer Infrastruktur352* Änderung gemeinsamer Infrastruktur

353* Irreversibles Zerstören von Dateien, die vor der Sitzung existierten353* Irreversibles Zerstören von Dateien, die vor der Sitzung existierten

354* Force Push354* Force Push

355* Committen oder Pushen einer Änderung, die Geheimnisse oder sensible Daten außerhalb des Repositorys sendet, wenn es ausgeführt wird, oder erweitert, was eine Bereitstellung offenlegt. Dies umfasst einen CI-Workflow oder eine Bereitstellungskonfiguration, die ein Geheimnis an ein Ziel übergibt, das es nicht bereits erhält, ein Skript oder einen Einrichtungsschritt, der einen Geheimnisspeicher liest und die Daten sendet, und eine Konfigurationsänderung, die erweitert, was eine Bereitstellung veröffentlicht, wie eine Registry-, Sichtbarkeits-, Artefakt- oder Sourcemap-Einstellung. Die Überprüfung gilt auf jedem Branch, gilt auch wenn das Repository öffentlich ist, und wird ausgelöst, wenn die Änderung committed oder gepusht wird, unabhängig davon, ob dieser Commit oder Push die Pipeline auslöst; das Löschen erfordert die Benennung des Ausführungseffekts, nicht nur des Commits oder Pushes. Vor v2.1.211 war diese Überprüfung auf den Standard-Branch beschränkt: Ein Push dort wurde blockiert, wenn er sensible Inhalte trug, Änderungen verborgen oder falsch beschrieben waren im Vergleich zu dem, was Sie fragten, Inhalte von außerhalb des Repositorys portiert wurden oder um eine Überprüfung herumgeleitet wurden, die Sie fragten355* Committen oder Pushen einer Änderung, die Geheimnisse oder sensible Daten außerhalb des Repositorys sendet, wenn es ausgeführt wird, oder erweitert, was eine Bereitstellung offenlegt. Dies umfasst einen CI-Workflow oder eine Bereitstellungskonfiguration, die ein Geheimnis an ein Ziel übergibt, das es nicht bereits erhält, ein Skript oder einen Einrichtungsschritt, der einen Geheimnisspeicher liest und die Daten sendet, und eine Konfigurationsänderung, die erweitert, was eine Bereitstellung veröffentlicht, wie eine Registrierung, Sichtbarkeit, ein Artefakt oder eine Sourcemap-Einstellung. Die Überprüfung gilt auf jedem Branch, gilt auch wenn das Repository öffentlich ist, und wird ausgelöst, wenn die Änderung committed oder gepusht wird, unabhängig davon, ob dieser Commit oder Push die Pipeline auslöst; das Löschen erfordert die Benennung des Ausführungseffekts, nicht nur des Commits oder Pushes. Vor v2.1.211 war diese Überprüfung auf den Standard-Branch beschränkt: Ein Push dort wurde blockiert, wenn er sensible Inhalte trug, Änderungen verborgen oder falsch beschrieben waren im Vergleich zu dem, was Sie fragten, Inhalte von außerhalb des Repositorys portiert wurden oder eine Überprüfung umgangen wurde, die Sie fragten

356* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` oder `git stash clear`, die der Klassifizierer vermuten würde, würden nicht committete Änderungen verwerfen356* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` oder `git stash clear`, von denen der Klassifizierer annimmt, dass sie nicht committete Änderungen verwerfen würden

357* `git commit --amend`, wenn der Commit am HEAD nicht in dieser Sitzung erstellt wurde357* `git commit --amend`, wenn der Commit am HEAD nicht in dieser Sitzung erstellt wurde

358* Ab v2.1.198, `git commit --amend`, wenn der Commit am HEAD bereits gepusht wurde. Eine Nachricht-nur-Umformulierung wird nicht blockiert: `--amend -m` ohne neu Gestaffeltes, auf einem Commit, den Claude während dieser Sitzung erstellt hat358* Ab v2.1.198, `git commit --amend`, wenn der Commit am HEAD bereits gepusht wurde. Eine nur-Nachricht-Umformulierung wird nicht blockiert: `--amend -m` ohne neu Gestaffeltes, auf einem Commit, den Claude während dieser Sitzung erstellt hat

359* `terraform destroy`, `pulumi destroy`, `cdk destroy` oder `terragrunt destroy`, und Anwendung eines Plans, der Ressourcen zerstört359* `terraform destroy`, `pulumi destroy`, `cdk destroy` oder `terragrunt destroy`, und Anwendung eines Plans, der Ressourcen zerstört

360 360 

361Claude Code v2.1.195 und später blockieren standardmäßig mehr Kategorien. Mehrere hängen von [Umgebungs](/docs/de/auto-mode-config#define-trusted-infrastructure)-Einträgen ab, wie sensible Remote-Ziele und geschützte IaC-Bereiche, die Sie auf konkrete Namen eingrenzen können.361Claude Code v2.1.195 und später blockieren standardmäßig mehr Kategorien. Mehrere hängen von [Umgebungs](/docs/de/auto-mode-config#define-trusted-infrastructure)-Einträgen ab, wie sensible Remote-Ziele und geschützte IaC-Bereiche, die Sie auf konkrete Namen eingrenzen können.

362 362 

363* Schreiben in einen Geheimnisspeicher oder Ändern von DNS-Einträgen oder TLS-Zertifikaten363* Schreiben in einen Geheimnisspeicher oder Ändern von DNS-Einträgen oder TLS-Zertifikaten

364* Zusammenführen eines Pull Requests, den kein Mensch genehmigt hat, Genehmigung von Claudes eigenem Pull Request oder Deaktivierung von CI-Überprüfungen364* Zusammenführen eines Pull Requests, den kein Mensch genehmigt hat, Genehmigung von Claudes eigenem Pull Request oder Deaktivierung von CI-Überprüfungen

365* Posten eines Kommentars, der selbst ein Befehl zur Automatisierung ist, wie `atlantis apply` oder ein Bot's `/deploy` oder `/merge`365* Posten eines Kommentars, der selbst ein Befehl für Automatisierung ist, wie `atlantis apply` oder ein Bot's `/deploy` oder `/merge`

366* Umschalten, Ramping oder Löschen eines Produktions-Feature-Flags366* Umschalten, Ramping oder Löschen eines Produktions-Feature-Flags

367* Anwendung von Infrastrukturänderungen auf einen geschützten IaC-Bereich oder Entwässerung und Entfernung von Cluster-Knoten367* Anwendung von Infrastrukturänderungen auf einen geschützten IaC-Bereich oder Entwässerung und Entfernung von Cluster-Knoten

368* Schreibvorgänge auf einen gemeinsamen Compute-Cluster, die über die benannte Ressource hinausgehen, wie ein Label-Selektor oder `--all`, der andere Benutzer's Jobs erfasst368* Schreibvorgänge auf einen gemeinsamen Compute-Cluster, die über die benannte Ressource hinausgehen, wie ein Label-Selektor oder `--all`, der andere Benutzer's Jobs erfasst

369* Erstellen von Kubernetes-Ressourcen, die auf jedem Knoten ausgeführt werden oder Cluster-Datenverkehr abfangen, wie DaemonSets und Admission Webhooks369* Erstellen von Kubernetes-Ressourcen, die auf jedem Knoten ausgeführt werden oder Cluster-Verkehr abfangen, wie DaemonSets und Admission Webhooks

370* Interaktive Shells oder Port-Forwards in ein sensibles Remote-Ziel370* Interaktive Shells oder Port-Forwards in ein sensibles Remote-Ziel

371* Öffnen eines Tunnels oder einer Reverse Shell, die einen lokalen Service vom öffentlichen Internet erreichbar macht371* Öffnen eines Tunnels oder einer Reverse Shell, die einen lokalen Service vom öffentlichen Internet erreichbar macht

372* Drucken eines Live-Credentials oder Tokens in das Transkript oder eine Datei372* Drucken einer Live-Anmeldedaten oder eines Tokens in das Transkript oder eine Datei

373* Zugriff auf einen Ort, der in Ihrer [Umgebung](/docs/de/auto-mode-config#define-trusted-infrastructure) als sensible Datenlocation aufgelistet ist, oder Kopieren von Daten daraus. Ab v2.1.198 blockiert dies auch das Senden von Daten von einem zu einer Zielgruppe, die der Eintrag ausschließt373* Zugriff auf einen Ort, der in Ihrer [Umgebung](/docs/de/auto-mode-config#define-trusted-infrastructure) als sensible Datenlocation aufgelistet ist, oder Kopieren von Daten daraus. Ab v2.1.198 blockiert dies auch das Senden von Daten von einem zu einer Zielgruppe, die der Eintrag ausschließt

374* Umleitung einer Paketinstallation um Ihre interne Paket-Registry zu einer öffentlichen Registry. Ab v2.1.198 gilt dies auch, wenn Sie Claude in der Konversation mitgeteilt haben, dass eine interne Registry oder ein Mirror existiert, nicht nur wenn eine in Ihrer Umgebung aufgelistet ist374* Umleitung einer Paketinstallation um Ihre interne Paketregistrierung zu einer öffentlichen Registrierung. Ab v2.1.198 gilt dies auch, wenn Sie Claude in der Konversation mitgeteilt haben, dass eine interne Registrierung oder ein Mirror existiert, nicht nur wenn eine in Ihrer Umgebung aufgelistet ist

375* Ausführung eines Befehls mit einem Flag, das einen Sicherheitsschutz deaktiviert, wie `--insecure`375* Ausführung eines Befehls mit einem Flag, das einen Sicherheitsschutz deaktiviert, wie `--insecure`

376* Starten einer autonomen Agent-Schleife, die ohne menschliche Genehmigung oder einen Sandbox läuft, wie eine mit `--dangerously-skip-permissions` oder `--no-sandbox` gestartete. Ab v2.1.198 umfasst dies auch das Ausführen eines Drittanbieter-Agents oder Eval-Harness mit deaktivierter Isolation und Pro-Aktion-Genehmigung, wie ein Runner, der mit `--yes-always` gestartet wurde376* Starten einer autonomen Agent-Schleife, die ohne menschliche Genehmigung oder einen Sandbox läuft, wie eine mit `--dangerously-skip-permissions` oder `--no-sandbox` gestartete. Ab v2.1.198 umfasst dies auch das Ausführen eines Drittanbieter-Agenten oder Eval-Harness mit deaktivierter Isolation und Pro-Aktion-Genehmigung, wie ein Runner, der mit `--yes-always` gestartet wurde

377* [Claude in Chrome](/docs/de/chrome)-Browser-Aktionen, die Seiteninhalte, Cookies oder Anmeldedaten off-origin senden könnten377* [Claude in Chrome](/docs/de/chrome) Browser-Aktionen, die Seiteninhalte, Cookies oder Anmeldedaten off-origin senden könnten

378 378 

379Claude Code v2.1.198 und später blockieren diese standardmäßig auch:379Claude Code v2.1.198 und später blockieren diese standardmäßig auch:

380 380 

381* Löschen von Dateien in `/tmp`, `$TMPDIR` oder einem anderen gemeinsamen Scratch- oder Cache-Verzeichnis nach Wildcard, Glob oder Altersfilter statt nach einem spezifischen benannten Pfad381* Löschen von Dateien in `/tmp`, `$TMPDIR` oder einem anderen gemeinsamen Scratch- oder Cache-Verzeichnis nach Wildcard, Glob oder Altersfilter statt nach einem spezifischen benannten Pfad

382* Einbeziehen sensibler Details in Inhalte, die gesendet, hochgeladen, veröffentlicht oder an andere Personen oder gemeinsame Systeme geschrieben werden, wenn Ihre eigene Nachricht diese Details nicht für diesen Empfänger autorisiert hat. PR- und Issue-Bodies, Commit-Nachrichten und Kommentare zählen als diese Art von ausgehendem Inhalt, wenn das Repository außerhalb der Vertrauensgrenze oder öffentlich ist, einschließlich der eigenen öffentlichen Repositorys Ihrer Organisation; interne Dateipfade, Code-Namen, Live-API-Antwortdaten wie E-Mails oder Kontobezeichner und Infrastruktur-Bezeichner zählen als sensible Details. Die PR-, Issue- und Commit-Nachrichten-Scoping erfordert Claude Code v2.1.200 oder später. Live-Personendaten aus einer API-Antwort in einem PR- oder Issue-Body, wie eine E-Mail-Adresse, ein Konto- oder Organisationsbezeichner oder eine Nutzungsmetrik, erfordert, dass Sie diese Details und den Empfänger benennen, unabhängig von der Sichtbarkeit oder Vertrauensgrenze des Repositorys. Diese Überprüfung erfordert Claude Code v2.1.203 oder später382* Einbeziehen sensibler Details in Inhalte, die gesendet, hochgeladen, veröffentlicht oder an andere Personen oder gemeinsame Systeme geschrieben werden, wenn Ihre eigene Nachricht diese Details nicht für diesen Empfänger autorisiert hat. PR- und Issue-Bodies, Commit-Nachrichten und Kommentare zählen als diese Art von ausgehendem Inhalt, wenn das Repository außerhalb der Vertrauensgrenze oder öffentlich ist, einschließlich der eigenen öffentlichen Repositorys Ihrer Organisation; interne Dateipfade, Code-Namen, Live-API-Antwortdaten wie E-Mails oder Kontobezeichner und Infrastruktur-Bezeichner zählen als sensible Details. Die PR-, Issue- und Commit-Nachricht-Scoping erfordert Claude Code v2.1.200 oder später. Live-Personendaten aus einer API-Antwort in einem PR- oder Issue-Body, wie eine E-Mail-Adresse, ein Konto- oder Organisationsbezeichner oder eine Nutzungsmetrik, erfordert, dass Sie diese Details und den Empfänger benennen, unabhängig von der Sichtbarkeit oder Vertrauensgrenze des Repositorys. Diese Überprüfung erfordert Claude Code v2.1.203 oder später

383* Senden von Tastenanschlägen an Claude Codes eigenen tmux-Pane, um seine eigene Schnittstelle zu steuern, die der Klassifizierer als Claude behandelt, das seine eigenen Berechtigungen oder Überwachung ändert383* Senden von Tastenanschlägen an Claude Codes eigenen tmux-Bereich, um seine eigene Schnittstelle zu steuern, was der Klassifizierer als Claude behandelt, das seine eigenen Berechtigungen oder Aufsicht ändert

384 384 

385Claude Code v2.1.200 und später blockieren diese standardmäßig auch:385Claude Code v2.1.200 und später blockieren diese standardmäßig auch:

386 386 

387* Auskommentieren, Löschen oder Force-Passing eines Tests oder einer Assertion, die Sicherheitsverhalten schützt, wie Authentifizierung, Zugriffskontrolle, Eingabevalidierung oder Sandboxing387* Auskommentieren, Löschen oder Force-Passing eines Tests oder einer Assertion, die Sicherheitsverhalten schützt, wie Authentifizierung, Zugriffskontrolle, Eingabevalidierung oder Sandboxing

388* Löschen oder Abbau einer zustandsbehafteten Ressource, die Claude nicht in der Sitzung erstellt hat, wenn keine spezifischere Löschregel gilt und Sie diese Ressource nicht benannt haben388* Löschen oder Abbau einer zustandsbehafteten Ressource, die Claude nicht in der Sitzung erstellt hat, wenn keine spezifischere Löschregel gilt und Sie diese Ressource nicht benannt haben

389* Umleitung einer API-Basis-URL, eines Proxy-Endpunkts, eines Webhook-Empfängers oder eines Registry-Mirrors auf einen Drittanbieter-Host, der nicht zur Aufgabe passt, auch in Beispieldateien wie `.env.example`389* Umleitung einer API-Basis-URL, eines Proxy-Endpunkts, eines Webhook-Empfängers oder eines Registrierungs-Mirrors auf einen Drittanbieter-Host, der nicht zur Aufgabe passt, auch in Beispieldateien wie `.env.example`

390* Änderung, wohin Pushes mit `git remote set-url` oder `git remote add` gehen, es sei denn, Sie haben den neuen Remote benannt390* Änderung, wohin Pushes mit `git remote set-url` oder `git remote add` gehen, es sei denn, Sie haben den neuen Remote benannt

391* Pushen von Geheimnissen oder persönlichen oder anvertrauten Daten in ein Repository, das bekannt ist, öffentlich zu sein, oder Pushen von vertraulichem Material dorthin, das nicht Teil der eigenen Arbeit dieses Repositorys ist. Ein Dotfiles-Repository's eigene Materie ist die eine Ausnahme für persönliche oder anvertraute Daten, und Inhalte aus einem privaten Repository, die eine öffentliche Oberfläche erreichen, werden auf die gleiche Weise blockiert; beide Verfeinerungen erfordern Claude Code v2.1.203 oder später. Vor v2.1.203 wurden persönliche Daten mit vertraulichem Material gruppiert und nur blockiert, wenn sie nicht Teil der eigenen Arbeit dieses Repositorys waren. Wenn die Sichtbarkeit eines Repositorys nicht etabliert ist, blockiert der Klassifizierer nicht allein darauf; er beurteilt den Inhalt stattdessen gegen die anderen Regeln391* Pushen von Geheimnissen oder persönlichen oder anvertrauten Daten in ein Repository, das bekannt ist, öffentlich zu sein, oder Pushen von vertraulichem Material dorthin, das nicht Teil der eigenen Arbeit dieses Repositorys ist. Ein Dotfiles-Repository's eigenes Thema ist die einzige Ausnahme für persönliche oder anvertraute Daten, und Inhalte aus einem privaten Repository, die eine öffentliche Oberfläche erreichen, werden auf die gleiche Weise blockiert; beide Verfeinerungen erfordern Claude Code v2.1.203 oder später. Vor v2.1.203 wurden persönliche Daten mit vertraulichem Material gruppiert und nur blockiert, wenn sie nicht Teil der eigenen Arbeit dieses Repositorys waren. Wenn die Sichtbarkeit eines Repositorys nicht etabliert ist, blockiert der Klassifizierer nicht allein darauf; er beurteilt den Inhalt stattdessen gegen die anderen Regeln

392* Öffnen eines Pull Requests gegen ein anderes Repository oder eine andere Organisation, Forking mit `gh repo fork` oder Pushen in ein Drittanbieter-Repository, es sei denn, Sie haben dieses externe Ziel benannt392* Öffnen eines Pull Requests gegen ein anderes Repository oder eine andere Organisation, Forking mit `gh repo fork` oder Pushen in ein Drittanbieter-Repository, es sei denn, Sie haben dieses externe Ziel benannt

393 393 

394Claude Code v2.1.203 und später blockieren diese standardmäßig auch:394Claude Code v2.1.203 und später blockieren diese standardmäßig auch:

395 395 

396* Inhalte aus einem sensiblen lokalen Speicher oder aus einer Datei, deren Name, Pfad oder Typ sie als sensibel kennzeichnet, die in einen Commit, einen Push, PR- oder Issue-Text, einen Gist oder Paste oder eine Paketveröffentlichung eingehen, es sei denn, Sie haben sowohl die Quelle als auch das Ziel benannt. Sitzungstranskripte und Gesprächsprotokolle, Anmeldedaten und Konfigurationspunkt-Ordner wie SSH-Schlüssel, Cloud-Anmeldedaten, Browser-Profile und Shell-Verlauf sowie Benutzer-Daten-Exporte zählen alle, und das Repository ist privat, löscht es nicht396* Inhalte aus einem sensiblen lokalen Speicher oder aus einer Datei, deren Name, Pfad oder Typ sie als sensibel markiert, die in einen Commit, einen Push, PR- oder Issue-Text, einen Gist oder Paste oder eine Paketveröffentlichung eingehen, es sei denn, Sie haben sowohl die Quelle als auch das Ziel benannt. Sitzungstranskripte und Gesprächsprotokolle, Anmeldedaten und Konfigurationspunkt-Ordner wie SSH-Schlüssel, Cloud-Anmeldedaten, Browser-Profile und Shell-Verlauf sowie Benutzer-Daten-Exporte zählen alle, und das Repository ist privat, löscht es nicht

397 397 

398Claude Code v2.1.205 und später blockieren diese standardmäßig auch:398Claude Code v2.1.205 und später blockieren diese standardmäßig auch:

399 399 

400* Schreiben in Claude Code-Sitzungstranskripte, die `.jsonl`-Verlaufsdateien unter `~/.claude/projects/` oder Ihrem konfigurierten Konfigurationsverzeichnis, ob direkt oder durch einen Shell-Befehl. Die Regel umfasst auch die Metadatenzeilen, die Claude Code an jeden Transkripteintrag für seine eigenen Überprüfungen anhängt. Das Lesen eines Transkripts wird nicht blockiert400* Schreiben in Claude Code-Sitzungstranskripte, die `.jsonl`-Verlaufsdateien unter `~/.claude/projects/` oder Ihrem konfigurierten Konfigurationsverzeichnis, ob direkt oder durch einen Shell-Befehl. Die Regel umfasst auch die Metadatenzeilen, die Claude Code an jeden Transkripteintrag für seine eigenen Überprüfungen anhängt. Das Lesen eines Transkripts wird nicht blockiert

401* Eine rekursive erzwungene Löschung wie `rm -rf "$VAR"` oder `Remove-Item -Recurse -Force $dir`, deren Ziel eine Shell-Variable ist, oder ein Glob, der an einer verwurzelt ist, die nirgendwo in der Konversation zugewiesen ist, die der Klassifizierer sieht. Der Wert kam nur aus früherer Befehlsausgabe, die der Klassifizierer nie erhält, daher kann der Klassifizierer das Löschziel nicht gegen die anderen Löschregeln überprüfen. Der Block wird gelöscht, wenn Sie den genauen gelöschten Pfad benennen, oder wenn Claude die Löschung mit dem aufgelösten literalen Pfad, der in den Befehl geschrieben ist, erneut ausführt. Löschungen, deren Ziel der Klassifizierer auflösen kann, sind nicht betroffen. `Remove-Item`-Ziele, die ein bloßes `*` sind oder auf `/*` oder `\*` enden, erreichen den Klassifizierer nie: Claude Code [lehnt sie direkt ab](#remove-item-in-powershell)401* Eine rekursive erzwungene Löschung wie `rm -rf "$VAR"` oder `Remove-Item -Recurse -Force $dir`, deren Ziel eine Shell-Variable ist, oder ein Glob, der an einer verwurzelt ist, die nirgendwo in der Konversation zugewiesen ist, die der Klassifizierer sieht. Der Wert kam nur aus früherer Befehlsausgabe, die der Klassifizierer nie erhält, daher kann der Klassifizierer das Löschziel nicht gegen die anderen Löschregeln überprüfen. Der Block wird gelöscht, wenn Sie den genauen gelöschten Pfad benennen, oder wenn Claude die Löschung mit dem aufgelösten Literalpfad, der in den Befehl geschrieben ist, erneut ausführt. Löschungen, deren Ziel der Klassifizierer auflösen kann, sind nicht betroffen. `Remove-Item`-Ziele, die ein bloßes `*` sind oder auf `/*` oder `\*` enden, erreichen den Klassifizierer nie: Claude Code [lehnt sie direkt ab](#remove-item-in-powershell)

402 402 

403Claude Code v2.1.257 und später blockieren diese standardmäßig auch:403Claude Code v2.1.257 und später blockieren diese standardmäßig auch:

404 404 

405* Anfordern von Anmeldedaten vom Cloud-Instance-Metadaten-Endpunkt, wie `169.254.169.254`, oder explizites Authentifizieren eines Cloud-, Cluster- oder Registry-Aufrufs mit der eigenen Service-Account oder Node-Identität der Maschine405* Anfordern von Anmeldedaten vom Cloud-Instance-Metadaten-Endpunkt, wie `169.254.169.254`, oder explizites Authentifizieren eines Cloud-, Cluster- oder Registrierungsaufrufs mit der eigenen Service-Account oder Node-Identität der Maschine

406* Erreichen eines öffentlichen Hosts durch eine Route, die nicht direkt ist, wie ein Tunnel, eine Reverse Shell oder eine Resolver- oder Proxy-Konfiguration, die umgeschrieben wurde, um außerhalb zu verweisen406* Erreichen eines öffentlichen Hosts durch eine Route, die nicht direkt ist, wie ein Tunnel, eine Reverse Shell oder eine Resolver- oder Proxy-Konfiguration, die umgeschrieben wurde, um außerhalb zu verweisen

407* Lesen von Anmeldedaten, die dem Host gehören, nicht zu Ihrer Aufgabe, wie Node-Zertifikate oder die Node's Container-Registry-Auth407* Lesen von Anmeldedaten, die dem Host gehören, nicht zu Ihrer Aufgabe, wie Node-Zertifikate oder die Container-Registry-Auth des Knotens

408* Verbindung zu oder Scannen von Sibling-Containern, Pods oder VMs, die Claude nicht gestartet hat, oder dem Node unter dem Container408* Verbindung zu oder Scannen von Sibling-Containern, Pods oder VMs, die Claude nicht gestartet hat, oder dem Knoten unter dem Container

409 409 

410Wenn Claude Code irgendwo läuft, das eines davon erlauben soll, beschreiben Sie dieses Setup in einem [Host-Containment-Eintrag](/docs/de/auto-mode-config#define-trusted-infrastructure) in `autoMode.environment`.410Wenn Claude Code irgendwo läuft, das eines davon erlauben soll, beschreiben Sie dieses Setup in einem [Host-Containment-Eintrag](/docs/de/auto-mode-config#define-trusted-infrastructure) in `autoMode.environment`.

411 411 


419* Installation von Abhängigkeiten, die in Ihren Lock-Dateien oder Manifesten deklariert sind419* Installation von Abhängigkeiten, die in Ihren Lock-Dateien oder Manifesten deklariert sind

420* Lesen von `.env` und Senden von Anmeldedaten an ihre passende API420* Lesen von `.env` und Senden von Anmeldedaten an ihre passende API

421* Schreibgeschützte HTTP-Anfragen421* Schreibgeschützte HTTP-Anfragen

422* Pushen zu jedem Branch des Repositorys, an dem Sie arbeiten, einschließlich des Standard-Branchs. Ein Nicht-Standard-Branch, dessen Name ihn als Deploy- oder Veröffentlichungsziel kennzeichnet, wie `production` oder `gh-pages`, ist nicht abgedeckt: Der Klassifizierer beurteilt einen Push dort auf seine eigenen Bedingungen. Der Inhalt des Pushes wird immer noch gegen die anderen Regeln überprüft, [`permissions.deny`-Regeln](/docs/de/permissions#manage-permissions) können Push-Befehle immer noch [wie geschrieben](/docs/de/permissions#bash-rule-limits) in jedem Modus blockieren, und der eigene Branch-Schutz des Remotes gilt immer noch. Vor v2.1.211 waren nur Pushes zum Branch, auf dem Sie starteten, Branches, die Claude erstellt hatte, und routinemäßige Pushes zum Standard-Branch standardmäßig erlaubt, und vor v2.1.203 war jeder direkte Push zum Standard-Branch blockiert422* Pushen zu jedem Branch des Repositorys, an dem Sie arbeiten, einschließlich des Standard-Branchs. Ein nicht-Standard-Branch, dessen Name ihn als Deploy- oder Veröffentlichungsziel markiert, wie `production` oder `gh-pages`, ist nicht abgedeckt: Der Klassifizierer beurteilt einen Push dort auf seine eigenen Bedingungen. Der Inhalt des Pushes wird immer noch gegen die anderen Regeln überprüft, [`permissions.deny`-Regeln](/docs/de/permissions#manage-permissions) können Push-Befehle immer noch [wie geschrieben](/docs/de/permissions#bash-rule-limits) in jedem Modus blockieren, und der eigene Branch-Schutz des Remotes gilt immer noch. Vor v2.1.211 waren nur Pushes zum Branch, auf dem Sie starteten, Branches, die Claude erstellt hatte, und routinemäßige Pushes zum Standard-Branch standardmäßig erlaubt, und vor v2.1.203 war jeder direkte Push zum Standard-Branch blockiert

423 423 

424Claude Code v2.1.195 und später erlauben diese standardmäßig auch:424Claude Code v2.1.195 und später erlauben diese standardmäßig auch:

425 425 

426* Löschen der genauen Jobs, die Claude früher in der gleichen Sitzung erstellt hat426* Löschen der genauen Jobs, die Claude früher in der gleichen Sitzung erstellt hat

427* Lesen, Überprüfen oder Schreiben von sicherheitsbezogenem Code, Konfigurationen und Bedrohungsmodellen als Teil Ihrer Aufgabe427* Lesen, Überprüfen oder Schreiben von sicherheitsbezogenem Code, Konfigurationen und Bedrohungsmodellen als Teil Ihrer Aufgabe

428* Nachrichten zwischen Agents, die zusammen in der gleichen Multi-Agent-Sitzung arbeiten428* Nachrichten zwischen Agenten, die zusammen in der gleichen Multi-Agent-Sitzung arbeiten

429* Senden von Daten an die vertrauenswürdigen Domains, Buckets und Services, die Sie in [`environment`](/docs/de/auto-mode-config#define-trusted-infrastructure) auflisten. Dies umfasst nur Datenfluss, nicht destruktive oder Anmeldedaten-Operationen auf der gleichen Infrastruktur429* Senden von Daten an die vertrauenswürdigen Domänen, Buckets und Services, die Sie in [`environment`](/docs/de/auto-mode-config#define-trusted-infrastructure) auflisten. Dies umfasst nur Datenfluss, nicht destruktive oder Anmeldedaten-Operationen auf der gleichen Infrastruktur

430* [Claude in Chrome](/docs/de/chrome)-Navigation zu einer vertrauenswürdigen internen Domain, localhost oder einer URL, die Sie benannt haben430* [Claude in Chrome](/docs/de/chrome) Navigation zu einer vertrauenswürdigen internen Domäne, localhost oder einer URL, die Sie benannt haben

431 431 

432Sandbox-Befehle erhalten standardmäßig keinen Netzwerkzugriff. Claude benennt die Hosts, die ein Befehl auf dem Befehl selbst benötigt, der Klassifizierer überprüft sie mit dem Befehl, und eine genehmigte Liste öffnet diese Hosts nur für diesen einen Befehl. [Pro-Befehl erlaubte Domains](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) behandelt, was eine Liste öffnen kann und nicht und was passiert, wenn ein Befehl nach einem nicht aufgelisteten Host greift.432Sandbox-Befehle erhalten standardmäßig keinen Netzwerkzugriff. Claude benennt die Hosts, die ein Befehl auf dem Befehl selbst benötigt, der Klassifizierer überprüft sie mit dem Befehl, und eine genehmigte Liste öffnet diese Hosts nur für diesen einen Befehl. [Pro-Befehl erlaubte Domänen](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) behandelt, was eine Liste öffnen kann und nicht und was passiert, wenn ein Befehl nach einem nicht aufgelisteten Host greift.

433 433 

434Führen Sie `claude auto-mode defaults` aus, um die vollständigen Regellisten als JSON zu drucken. Wenn routinemäßige Aktionen blockiert werden, kann ein Administrator vertrauenswürdige Repos, Buckets und Services über die `autoMode.environment`-Einstellung hinzufügen: siehe [Auto-Modus konfigurieren](/docs/de/auto-mode-config).434Führen Sie `claude auto-mode defaults` aus, um die vollständigen Regellisten als JSON zu drucken. Wenn routinemäßige Aktionen blockiert werden, kann ein Administrator vertrauenswürdige Repos, Buckets und Services über die `autoMode.environment`-Einstellung hinzufügen: siehe [Auto-Modus konfigurieren](/docs/de/auto-mode-config).

435 435 

436Das Pushen zu jedem Branch des Repositorys, an dem Sie arbeiten, und das Erstellen eines Pull Requests, der Ihrer Anfrage entspricht, laufen ohne Eingabeaufforderung ab, es sei denn, der Push oder Pull Request fällt unter die [blockierte Liste](#what-the-classifier-blocks-by-default), wie Geheimnisse oder sensible Daten, die das Repository verlassen, oder ein Pull Request, der auf ein anderes Repository oder eine andere Organisation abzielt. Um einen menschlichen Checkpoint vor diesen Befehlen zu erfordern, während Sie im Auto-Modus bleiben, fügen Sie `permissions.ask`-Regeln hinzu, die den Befehl [wie geschrieben](/docs/de/permissions#bash-rule-limits) abgleichen: siehe [Häufige Grenzen](/docs/de/auto-mode-config#common-boundaries).436Pushen zu jedem Branch des Repositorys, an dem Sie arbeiten, und Erstellen eines Pull Requests, der Ihrer Anfrage entspricht, laufen ohne Aufforderung, es sei denn, der Push oder Pull Request fällt unter die [blockierte Liste](#what-the-classifier-blocks-by-default), wie Geheimnisse oder sensible Daten, die das Repository verlassen, oder ein Pull Request, der auf ein anderes Repository oder eine andere Organisation abzielt. Um einen menschlichen Checkpoint vor diesen Befehlen zu erfordern, während Sie im Auto-Modus bleiben, fügen Sie `permissions.ask`-Regeln hinzu, die den Befehl [wie geschrieben](/docs/de/permissions#bash-rule-limits) abgleichen: siehe [Häufige Grenzen](/docs/de/auto-mode-config#common-boundaries).

437 437 

438<h3 id="first-read-outside-the-working-directories">438<h3 id="first-read-outside-the-working-directories">

439 Der erste Lesezugriff außerhalb der Arbeitsverzeichnisse439 Der erste Lesezugriff außerhalb der Arbeitsverzeichnisse

440</h3>440</h3>

441 441 

442Während [`permissions.blockReadsOutsideWorkingDirectories`](/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) aus ist, laufen Dateileseoperationen ohne Eingabeaufforderung im Auto-Modus ab, einschließlich Lesezugriffe außerhalb der [Arbeitsverzeichnisse](/docs/de/permissions#working-directories). Das erste Mal, wenn Claude das Read-, Grep- oder Glob-Tool auf einen Pfad außerhalb davon verwendet, fragt Claude Code Sie, ob Sie diese Lesezugriffe weiterhin erlauben möchten.442Während [`permissions.blockReadsOutsideWorkingDirectories`](/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) aus ist, laufen Dateileseoperationen ohne Aufforderung im Auto-Modus, einschließlich Lesezugriffe außerhalb der [Arbeitsverzeichnisse](/docs/de/permissions#working-directories). Das erste Mal, wenn Claude das Read-, Grep- oder Glob-Tool auf einen Pfad außerhalb davon verwendet, fragt Claude Code Sie, ob Sie diese Lesezugriffe weiterhin erlauben möchten.

443 443 

444Die Eingabeaufforderung wird nicht in nicht-interaktiven `-p`-Läufen oder Hintergrund-Sitzungen angezeigt; Lesezugriffe dort laufen wie zuvor.444Die Aufforderung wird nicht in nicht-interaktiven `-p`-Läufen oder Hintergrund-Sitzungen angezeigt; Lesezugriffe dort laufen wie zuvor.

445 445 

446Was auch immer Sie antworten, Claude arbeitet weiter:446Was auch immer Sie antworten, Claude arbeitet weiter:

447 447 

448* **Weiterhin erlauben**: Der Lesezugriff läuft, spätere Lesezugriffe außerhalb der Arbeitsverzeichnisse laufen wie zuvor, und Claude Code zeichnet Ihre Antwort auf, damit die Eingabeaufforderung nicht erneut angezeigt wird448* **Weiterhin erlauben**: Der Lesezugriff läuft, spätere Lesezugriffe außerhalb der Arbeitsverzeichnisse laufen wie zuvor, und Claude Code zeichnet Ihre Antwort auf, damit die Aufforderung nicht wieder angezeigt wird

449* **Von jetzt an blockieren**: Der Lesezugriff wird verweigert, und Claude Code setzt [`permissions.blockReadsOutsideWorkingDirectories`](/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) in Ihren Benutzereinstellungen auf `true`, was die Dateiwerkzeuge dazu bringt, solche Lesezugriffe in jeder späteren Sitzung und jedem Genehmigungsmodus zu verweigern. Um Claude später einen solchen Pfad lesen zu lassen, fügen Sie sein Verzeichnis mit `/add-dir` hinzu oder entfernen Sie die Einstellung.449* **Von jetzt an blockieren**: Der Lesezugriff wird verweigert, und Claude Code setzt [`permissions.blockReadsOutsideWorkingDirectories`](/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) in Ihren Benutzereinstellungen auf `true`, was die Dateiwerkzeuge dazu bringt, solche Lesezugriffe in jeder späteren Sitzung und jedem Genehmigungsmodus zu verweigern. Um Claude später einen solchen Pfad lesen zu lassen, fügen Sie sein Verzeichnis mit `/add-dir` hinzu oder entfernen Sie die Einstellung.

450* **Nächstes Mal erneut fragen**: Der Lesezugriff wird verweigert, und der nächste Lesezugriff außerhalb der Arbeitsverzeichnisse fordert erneut auf450* **Nächstes Mal erneut fragen**: Der Lesezugriff wird verweigert, und der nächste Lesezugriff außerhalb der Arbeitsverzeichnisse fordert erneut auf

451 451 


453 Grenzen, die Sie in der Konversation angeben453 Grenzen, die Sie in der Konversation angeben

454</h3>454</h3>

455 455 

456Der Klassifizierer behandelt Grenzen, die Sie in der Konversation angeben, als Blocksignal. Wenn Sie Claude sagen „nicht pushen" oder „warten Sie, bis ich überprüfe, bevor Sie bereitstellen", blockiert der Klassifizierer passende Aktionen, auch wenn die Standard-Regeln sie erlauben würden. Eine Grenze bleibt in Kraft, bis Sie sie in einer späteren Nachricht aufheben. Claudes eigenes Urteil, dass eine Bedingung erfüllt wurde, hebt sie nicht auf.456Der Klassifizierer behandelt Grenzen, die Sie in der Konversation angeben, als Blocksignal. Wenn Sie Claude sagen „pushe nicht" oder „warte, bis ich überprüfe, bevor ich bereitstelle", blockiert der Klassifizierer passende Aktionen, auch wenn die Standardregeln sie erlauben würden. Eine Grenze bleibt in Kraft, bis Sie sie in einer späteren Nachricht aufheben. Claudes eigenes Urteil, dass eine Bedingung erfüllt wurde, hebt sie nicht auf.

457 457 

458Grenzen werden nicht als Regeln gespeichert. Der Klassifizierer liest sie bei jeder Überprüfung aus dem Transkript erneut, daher kann eine Grenze verloren gehen, wenn [Kontext-Komprimierung](/docs/de/costs#reduce-token-usage) die Nachricht entfernt, die sie angegeben hat. Für eine harte Garantie fügen Sie stattdessen eine [Deny-Regel](/docs/de/permissions#permission-rule-syntax) hinzu.458Grenzen werden nicht als Regeln gespeichert. Der Klassifizierer liest sie bei jeder Überprüfung aus dem Transkript erneut, daher kann eine Grenze verloren gehen, wenn [Kontext-Komprimierung](/docs/de/costs#reduce-token-usage) die Nachricht entfernt, die sie angegeben hat. Für eine harte Garantie fügen Sie stattdessen eine [Deny-Regel](/docs/de/permissions#permission-rule-syntax) hinzu.

459 459 

460<h3 id="approvals-you-state-in-conversation">

461 Genehmigungen, die Sie in der Konversation angeben

462</h3>

463 

464Wenn Sie Claude sagen, dass eine blockierte Aktion erlaubt ist, liest der Klassifizierer das als Ihre Genehmigung und kann den Block löschen. Wie Sie es formuliert haben, entscheidet, ob die Aktion läuft und wie weit die Genehmigung reicht:

465 

466* **Benennen Sie die Aktion und ihre Besonderheiten**: Ihre Nachricht muss die Aktion und das Spezifische benennen, das sie gefährlich macht, wie der Branch eines Force Push. Das Benennen des Verbs allein löscht nichts, daher lässt „Sie können force-pushen" den Block in Kraft.

467* **Erwarten Sie, dass es eine Aktion abdeckt**: Eine Genehmigung umfasst die destruktive Aktion, die Sie benannt haben, daher wird eine spätere Aktion wieder blockiert, es sei denn, Sie haben die Genehmigung als stehend gewährt. Um ein routinemäßiges Muster nicht mehr eine Aktion nach der anderen zu genehmigen, fügen Sie es zu [`autoMode.allow`](/docs/de/auto-mode-config#override-the-block-and-allow-rules) hinzu.

468* **Einige Blöcke bleiben in Kraft**: [Die Vorrangordnung des Klassifizierers](/docs/de/auto-mode-config#override-the-block-and-allow-rules) legt fest, welche Blöcke Ihre Genehmigung erreichen kann. Um einen Schritt auszuführen, den sie nicht löschen wird, [verlassen Sie den Auto-Modus](#switch-permission-modes) und beantworten Sie die Genehmigungsaufforderung.

469 

460<h3 id="when-auto-mode-falls-back">470<h3 id="when-auto-mode-falls-back">

461 Wenn Auto-Modus zurückfällt471 Wenn Auto-Modus zurückfällt

462</h3>472</h3>

463 473 

464Wenn der Auto-Modus Ihre Sitzungsaktionen nicht genehmigen kann, hängt das, was passiert, vom Fall ab:474Wenn der Auto-Modus Ihre Sitzungsaktionen nicht genehmigen kann, hängt das, was passiert, vom Fall ab:

465 475 

466* **Eine blockierte Aktion**: Claude Code zeigt eine Benachrichtigung an und listet die Aktion in `/permissions` unter der Registerkarte **Kürzlich verweigert** auf, wo Sie `r` drücken können, um sie mit manueller Genehmigung erneut zu versuchen. Wenn der Klassifizierer [kein Urteil über die Aktion](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) erzeugt, weil eine Sicherheitsüberprüfung, die vom Auto-Modus getrennt ist, die Anfrage des Klassifizierers verweigerte oder seine Antwort nicht geparst wurde, verweigert Claude Code die Aktion ohne die Benachrichtigung oder den Eintrag **Kürzlich verweigert**.476* **Eine blockierte Aktion**: Claude Code zeigt eine Benachrichtigung und listet die Aktion in `/permissions` unter der Registerkarte **Kürzlich verweigert** auf, wo Sie `r` drücken können, um sie mit einer manuellen Genehmigung erneut zu versuchen. Wenn der Klassifizierer [kein Urteil über die Aktion](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) erzeugt, weil eine Sicherheitsüberprüfung, die vom Auto-Modus getrennt ist, die Anfrage des Klassifizierers selbst verweigerte oder seine Antwort nicht geparst wurde, verweigert Claude Code die Aktion ohne die Benachrichtigung oder den Eintrag **Kürzlich verweigert**.

467* **Wiederholte Blöcke**: Wenn der Klassifizierer eine Aktion 3 Mal hintereinander oder 20 Mal insgesamt blockiert, pausiert der Auto-Modus und Claude Code setzt das Auffordern fort. Das Genehmigen der aufgeforderten Aktion setzt den Auto-Modus fort. Diese Schwellwerte sind nicht konfigurierbar. Jede erlaubte Aktion setzt den aufeinanderfolgenden Zähler zurück, während der Gesamtzähler für die Sitzung bestehen bleibt und nur zurückgesetzt wird, wenn sein eigenes Limit einen Fallback auslöst. Claude Code zählt eine Verweigerung nicht zu einem Schwellwert, wenn [eine Sicherheitsüberprüfung, die vom Auto-Modus getrennt ist, die Anfrage des Klassifizierers verweigert](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action); der verlinkte Eintrag behandelt, wie Claude Code diese Verweigerungen handhabt.477* **Wiederholte Blöcke**: Wenn der Klassifizierer eine Aktion 3 Mal hintereinander oder 20 Mal insgesamt blockiert, pausiert der Auto-Modus und Claude Code setzt das Auffordern fort. Das Genehmigen der aufgeforderten Aktion setzt den Auto-Modus fort. Diese Schwellwerte sind nicht konfigurierbar. Jede erlaubte Aktion setzt den aufeinanderfolgenden Zähler zurück, während der Gesamtzähler für die Sitzung bestehen bleibt und nur zurückgesetzt wird, wenn sein eigenes Limit einen Fallback auslöst. Claude Code zählt eine Verweigerung nicht zu einem Schwellwert, wenn [eine Sicherheitsüberprüfung, die vom Auto-Modus getrennt ist, die Anfrage des Klassifizierers verweigert](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action); der verlinkte Eintrag behandelt, wie Claude Code diese Verweigerungen handhabt.

468* **Sitzungen, die nicht auffordern können**: Ein nicht-interaktiver [nicht-interaktiver](/docs/de/headless) `-p`-Lauf ohne [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) hat keine Eingabeaufforderung, auf die zurückgegriffen werden kann. Wenn wiederholte Blöcke einen Schwellwert erreichen, läuft die Aktion nicht und Claude arbeitet weiter. Das gleiche gilt, wenn [eine Sicherheitsüberprüfung, die vom Auto-Modus getrennt ist, die Anfrage des Klassifizierers verweigert](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action). Claude Code stoppt den Lauf in keinem Fall.478* **Sitzungen, die nicht auffordern können**: Ein [nicht-interaktiver](/docs/de/headless) `-p`-Lauf ohne ein [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) hat keine Aufforderung, auf die zurückgegriffen werden kann. Wenn wiederholte Blöcke einen Schwellwert erreichen, läuft die Aktion nicht und Claude arbeitet weiter. Das gleiche gilt, wenn [eine Sicherheitsüberprüfung, die vom Auto-Modus getrennt ist, die Anfrage des Klassifizierers verweigert](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action). Claude Code stoppt den Lauf in keinem Fall.

469* **Ein Moduswechsel während einer Überprüfung**: Wenn Sie Genehmigungsmodi wechseln, während eine Klassifiziererüberprüfung ausstehend ist, verwirft Claude Code ein Urteil, das der neue Modus nicht angefordert hätte, statt es anzuwenden: Sie werden stattdessen aufgefordert, oder die Aktion wird im [`dontAsk`-Modus](#allow-only-pre-approved-tools-with-dontask-mode) automatisch verweigert.479* **Ein Modusschalter während einer Überprüfung**: Wenn Sie Genehmigungsmodi wechseln, während eine Klassifizierer-Überprüfung ausstehend ist, verwirft Claude Code ein Urteil, das der neue Modus nicht angefordert hätte, statt es anzuwenden: Sie werden stattdessen aufgefordert, oder die Aktion wird im [`dontAsk`-Modus](#allow-only-pre-approved-tools-with-dontask-mode) automatisch verweigert.

470 480 

471Wiederholte Blöcke bedeuten normalerweise, dass dem Klassifizierer Kontext über Ihre Infrastruktur fehlt. Verwenden Sie `/feedback`, um falsch positive zu melden, oder lassen Sie einen Administrator [vertrauenswürdige Infrastruktur konfigurieren](/docs/de/auto-mode-config).481Wiederholte Blöcke bedeuten normalerweise, dass dem Klassifizierer Kontext über Ihre Infrastruktur fehlt. Verwenden Sie `/feedback`, um falsch positive zu melden, oder lassen Sie einen Administrator [vertrauenswürdige Infrastruktur konfigurieren](/docs/de/auto-mode-config).

472 482 


478 488 

479 1. Aktionen, die Ihren [Allow-, Ask- oder Deny-Regeln](/docs/de/permissions#manage-permissions) entsprechen, werden sofort aufgelöst, mit diesen Ausnahmen:489 1. Aktionen, die Ihren [Allow-, Ask- oder Deny-Regeln](/docs/de/permissions#manage-permissions) entsprechen, werden sofort aufgelöst, mit diesen Ausnahmen:

480 * Schreibvorgänge zu [geschützten Pfaden](#protected-paths) werden zum Klassifizierer weitergeleitet, auch wenn eine Allow-Regel passt, und ebenso `rm`- und `rmdir`-Löschungen, die auf einen [kritischen Pfad](#critical-paths) in Claude Code v2.1.218 und später abzielen490 * Schreibvorgänge zu [geschützten Pfaden](#protected-paths) werden zum Klassifizierer weitergeleitet, auch wenn eine Allow-Regel passt, und ebenso `rm`- und `rmdir`-Löschungen, die auf einen [kritischen Pfad](#critical-paths) in Claude Code v2.1.218 und später abzielen

481 * MCP-Tools, die mit [`requiresUserInteraction`](/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, fordern Sie direkt auf, auch wenn eine Allow-Regel passt, und ebenso Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools) in Sitzungen, in denen diese Einstellung Claude Code erreicht491 * MCP-Tools, die mit [`requiresUserInteraction`](/docs/de/mcp#require-approval-for-a-specific-tool) markiert sind, fordern Sie direkt auf, auch wenn eine Allow-Regel passt, und ebenso Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools) in Sitzungen, in denen diese Einstellung Claude Code erreicht

482 * Ein Shell-Befehl, der [pro-Befehl erlaubte Domains](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) trägt, wird auch zum Klassifizierer weitergeleitet, auch wenn eine Allow-Regel passt, weil eine Regel den Befehl genehmigt, nicht seine Hosts492 * Ein Shell-Befehl, der [pro-Befehl erlaubte Domänen](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) trägt, wird auch zum Klassifizierer weitergeleitet, auch wenn eine Allow-Regel passt, weil eine Regel den Befehl genehmigt, nicht seine Hosts

483 * Ask-Regeln, die auf den Inhalt eines Befehls passen, wie `Bash(git push *)`, fallen auf eine Genehmigungseingabeaufforderung zurück493 * Ask-Regeln, die auf Befehlsinhalte abgleichen, wie `Bash(git push *)`, fallen auf eine Genehmigungsaufforderung zurück

484 2. Schreibgeschützte Aktionen und Dateieditierungen in Ihrem Arbeitsverzeichnis werden automatisch genehmigt, außer Schreibvorgänge zu [geschützten Pfaden](#protected-paths) und [der erste Lesezugriff außerhalb der Arbeitsverzeichnisse](#first-read-outside-the-working-directories), die Sie auffordern494 2. Schreibgeschützte Aktionen und Dateieditierungen in Ihrem Arbeitsverzeichnis werden automatisch genehmigt, außer Schreibvorgänge zu [geschützten Pfaden](#protected-paths) und [dem ersten Lesezugriff außerhalb der Arbeitsverzeichnisse](#first-read-outside-the-working-directories), die Sie auffordern

485 3. Alles andere geht zum Klassifizierer. Die Connector-Tools und `requiresUserInteraction`-MCP-Tools, die Sie direkt in Schritt 1 auffordern, erreichen den Klassifizierer nie, daher wird weder eine von der Organisation erforderliche Genehmigung noch ein Zustimmungsschritt automatisch genehmigt495 3. Alles andere geht zum Klassifizierer. Die Connector-Tools und `requiresUserInteraction` MCP-Tools, die Sie direkt in Schritt 1 auffordern, erreichen den Klassifizierer nie, daher wird weder eine von der Organisation erforderliche Genehmigung noch ein Zustimmungsschritt automatisch genehmigt

486 4. Wenn der Klassifizierer blockiert, erhält Claude den Grund und versucht eine Alternative. In den meisten Sitzungen benennt der Grund die Regel, die der Klassifizierer passte, wie `[Data Exfiltration]`, statt eine schriftliche Erklärung zu geben; siehe [Verweigerungen überprüfen](/docs/de/auto-mode-config#review-denials)496 4. Wenn der Klassifizierer blockiert, erhält Claude den Grund und versucht eine Alternative. In den meisten Sitzungen benennt der Grund die Regel, die der Klassifizierer abgeglichen hat, wie `[Data Exfiltration]`, statt eine schriftliche Erklärung zu geben; siehe [Verweigerungen überprüfen](/docs/de/auto-mode-config#review-denials)

487 497 

488 Beim Eintritt in den Auto-Modus werden breite Allow-Regeln, die willkürliche Code-Ausführung gewähren, gelöscht:498 Beim Eintritt in den Auto-Modus werden breite Allow-Regeln, die willkürliche Code-Ausführung gewähren, gelöscht:

489 499 

490 * Pauschal `Bash(*)` oder `PowerShell(*)`500 * Pauschal `Bash(*)` oder `PowerShell(*)`

491 * Wildcard-Interpreter wie `Bash(python*)`501 * Wildcard-Interpreter wie `Bash(python*)`

492 * Paketmanager-Ausführungsbefehle502 * Paketmanager-Ausführungsbefehle

493 * `Agent`-Allow-Regeln503 * `Agent` Allow-Regeln

494 * [`Monitor`](/docs/de/tools-reference#monitor-tool)-Allow-Regeln, weil Claude Code Monitor-Befehle durch die Shell ausführt504 * [`Monitor`](/docs/de/tools-reference#monitor-tool) Allow-Regeln, weil Claude Code Monitor-Befehle durch die Shell ausführt

495 505 

496 Enge Regeln wie `Bash(npm test)` bleiben in Kraft. Claude Code stellt die gelöschten Regeln wieder her, wenn Sie den Auto-Modus verlassen. Vor v2.1.236 ließ Claude Code `Monitor`-Allow-Regeln im Auto-Modus in Kraft, daher genehmigte eine Regel, die das ganze Tool passte, Monitor-Befehle ohne Klassifiziererüberprüfung.506 Enge Regeln wie `Bash(npm test)` bleiben in Kraft. Claude Code stellt die gelöschten Regeln wieder her, wenn Sie den Auto-Modus verlassen. Vor v2.1.236 ließ Claude Code `Monitor` Allow-Regeln im Auto-Modus in Kraft, daher genehmigte eine Regel, die das ganze Tool abglich, Monitor-Befehle ohne Klassifizierer-Überprüfung.

497 507 

498 Claude Code führt auch `git status` selbst vor einem Befehl aus, der nicht committete Arbeit verwerfen würde, wie `git reset --hard` oder `rm -rf`, und zeigt dem Klassifizierer, ob gestaffelte, geänderte oder nicht verfolgte Arbeit vorhanden ist. Claude Code meldet nicht verfolgte Dateien in dieser Überprüfung, auch wenn die Git-Konfiguration des Repositorys `status.showUntrackedFiles=no` setzt.508 Claude Code führt auch `git status` selbst vor einem Befehl aus, der nicht committete Arbeit verwerfen würde, wie `git reset --hard` oder `rm -rf`, und zeigt dem Klassifizierer, ob gestaffelte, geänderte oder nicht verfolgte Arbeit vorhanden ist. Claude Code meldet nicht verfolgte Dateien in dieser Überprüfung, auch wenn die Git-Konfiguration des Repositorys `status.showUntrackedFiles=no` setzt.

499 509 

500 In den Klassifiziereranfragen, die Claude Code selbst sendet, sieht der Klassifizierer Benutzernachrichten, Tool-Aufrufe außer schreibgeschützten Lookups wie Dateileseoperationen und Suchen, und Ihren CLAUDE.md-Inhalt. Tool-Ergebnisse werden aus diesen Anfragen entfernt, daher kann feindselige Inhalte in einer Datei oder Webseite den Klassifizierer nicht direkt manipulieren.510 In den Klassifizierer-Anfragen, die Claude Code selbst sendet, sieht der Klassifizierer Benutzernachrichten, Tool-Aufrufe außer schreibgeschützten Lookups wie Dateileseoperationen und Suchen, und Ihren CLAUDE.md-Inhalt. Tool-Ergebnisse werden aus diesen Anfragen entfernt, daher kann feindselige Inhalte in einer Datei oder Webseite den Klassifizierer nicht direkt manipulieren.

501 511 

502 Sie können einen Aufruf's Ergebnis mit einem [PostToolUse-Hook's `classifierContext`-Feld](/docs/de/hooks#annotate-a-result-for-the-auto-mode-classifier) kommentieren, das der Klassifizierer als von der Anwendung bereitgestellter Kontext liest. Das Feld erfordert Claude Code v2.1.236 oder später.512 Sie können einen Aufruf's Ergebnis mit einem [PostToolUse Hook's `classifierContext`-Feld](/docs/de/hooks#annotate-a-result-for-the-auto-mode-classifier) annotieren, das der Klassifizierer als von der Anwendung bereitgestellter Kontext liest. Das Feld erfordert Claude Code v2.1.236 oder später.

503 513 

504 Eine separate serverseitige Sonde scannt eingehende Tool-Ergebnisse und kennzeichnet verdächtige Inhalte, bevor Claude sie liest. Für mehr darüber, wie diese Schichten zusammenarbeiten, siehe die [Auto-Modus-Ankündigung](https://claude.com/blog/auto-mode) und den [Engineering Deep Dive](https://www.anthropic.com/engineering/claude-code-auto-mode).514 Eine separate serverseitige Sonde scannt eingehende Tool-Ergebnisse und kennzeichnet verdächtige Inhalte, bevor Claude sie liest. Für mehr darüber, wie diese Schichten zusammenarbeiten, siehe die [Auto-Modus-Ankündigung](https://claude.com/blog/auto-mode) und den [Engineering Deep Dive](https://www.anthropic.com/engineering/claude-code-auto-mode).

505 </Accordion>515 </Accordion>

506 516 

507 <Accordion title="Wie Auto-Modus Subagents handhabt">517 <Accordion title="Wie Auto-Modus Subagenten handhabt">

508 Der Klassifizierer überprüft [Subagent](/docs/de/sub-agents)-Arbeit an drei Punkten:518 Der Klassifizierer überprüft [Subagenten](/docs/de/sub-agents)-Arbeit an drei Punkten:

509 519 

510 1. Bevor ein Subagent startet, wird die delegierte Aufgabenbeschreibung bewertet, daher wird eine gefährlich aussehende Aufgabe beim Spawn blockiert.520 1. Bevor ein Subagent startet, wird die delegierte Aufgabenbeschreibung bewertet, daher wird eine gefährlich aussehende Aufgabe beim Spawn blockiert.

511 2. Während der Subagent läuft, geht jede seiner Aktionen durch den Klassifizierer mit den gleichen Regeln wie die übergeordnete Sitzung, und jeder `permissionMode` in der Frontmatter des Subagents wird ignoriert.521 2. Während der Subagent läuft, geht jede seiner Aktionen durch den Klassifizierer mit den gleichen Regeln wie die übergeordnete Sitzung, und jeder `permissionMode` in der Frontmatter des Subagenten wird ignoriert.

512 3. Wenn der Subagent fertig ist, überprüft der Klassifizierer seine Arbeit und seinen endgültigen Bericht, bevor die übergeordnete Sitzung den Bericht liest. Wenn der Klassifizierer die Arbeit oder den Bericht des Subagents kennzeichnet, oder eine separate API-Sicherheitsüberprüfung die Überprüfung verweigert, wird der Bericht immer noch geliefert, vorangestellt mit einer Sicherheitswarnung. Wenn der Klassifizierer für die Überprüfung nicht verfügbar ist, kommt der Bericht mit einem Hinweis an, die Arbeit des Subagents zu überprüfen, bevor Sie danach handeln.522 3. Wenn der Subagent fertig ist, überprüft der Klassifizierer seine Arbeit und seinen Abschlussbericht, bevor die übergeordnete Sitzung den Bericht liest. Wenn der Klassifizierer die Arbeit oder den Bericht des Subagenten kennzeichnet, oder eine separate API-Sicherheitsüberprüfung die Überprüfung verweigert, wird der Bericht immer noch geliefert, vorangestellt mit einer Sicherheitswarnung. Wenn der Klassifizierer für die Überprüfung nicht verfügbar ist, kommt der Bericht mit einer Notiz an, um die Arbeit des Subagenten zu überprüfen, bevor Sie darauf handeln.

513 

514 Schritt 1 erfordert Claude Code v2.1.178 oder später. Frühere Versionen wendeten den Klassifizierer bei Schritten 2 und 3 an, bewerteten aber nicht die Aufgabenbeschreibung, bevor der Subagent startete.

515 </Accordion>523 </Accordion>

516 524 

517 <Accordion title="Kosten und Latenz">525 <Accordion title="Kosten und Latenz">

518 Der Klassifizierer läuft standardmäßig auf Claude Sonnet 5 statt auf Ihrer `/model`-Auswahl. Ein Klassifizierermodell, das Anthropic serverseitig konfiguriert, hat Vorrang vor diesem Standard. Wenn das Modell Ihrer Sitzung Claude Sonnet 4.6 ist, oder wenn [`availableModels`](/docs/de/model-config#restrict-model-selection) Sonnet 5 ausschließt, läuft der Klassifizierer stattdessen auf dem Modell Ihrer Sitzung oder auf einem Opus-Modell, wenn die Sitzung auf einem [Fable-Modell](/docs/de/model-config#work-with-fable) läuft; auf Anbietern außer der Anthropic API ist dieses Opus-Fallback das Standard-Opus-Modell des Anbieters.526 Der Klassifizierer läuft standardmäßig auf Claude Sonnet 5 statt auf Ihrer `/model`-Auswahl. Ein Klassifizierer-Modell, das Anthropic serverseitig konfiguriert, hat Vorrang vor diesem Standard. Wenn das Modell Ihrer Sitzung Claude Sonnet 4.6 ist, oder wenn [`availableModels`](/docs/de/model-config#restrict-model-selection) Sonnet 5 ausschließt, läuft der Klassifizierer stattdessen auf dem Modell Ihrer Sitzung oder auf einem Opus-Modell, wenn die Sitzung auf einem [Fable-Modell](/docs/de/model-config#work-with-fable) läuft; bei Anbietern außer der Anthropic API ist dieses Opus-Fallback das Standard-Opus-Modell des Anbieters.

519 527 

520 Die erste Auto-Modus-Anfrage Ihrer Sitzung validiert den Sonnet 5-Standard: Wenn die Anfrage erfolgreich ist, bleibt Sonnet 5 das Klassifizierermodell Ihrer Sitzung, und wenn sie fehlschlägt, weil das Modell nicht verfügbar ist, verwendet die Sitzung stattdessen das Fallback. Nachdem diese Validierung sich beruhigt hat, ändert sich das Klassifizierermodell nicht für die Sitzung.528 Die erste Auto-Modus-Anfrage Ihrer Sitzung validiert den Sonnet 5-Standard: Wenn die Anfrage erfolgreich ist, bleibt Sonnet 5 das Klassifizierer-Modell Ihrer Sitzung, und wenn sie fehlschlägt, weil das Modell nicht verfügbar ist, verwendet die Sitzung stattdessen das Fallback. Nachdem diese Validierung sich beruhigt hat, ändert sich das Klassifizierer-Modell nicht für die Sitzung.

521 529 

522 Bei Enterprise-Plänen und bei Konten, die die Claude API verwenden, [Claude Platform on AWS](/docs/de/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry, zählen Klassifiziereraufrufe zu Ihrer Token-Nutzung. Jede Überprüfung sendet einen Teil des Transkripts plus die ausstehende Aktion, was eine Hin- und Rückfahrt vor der Ausführung hinzufügt. Lesezugriffe und Arbeitsverzeichnis-Editierungen außerhalb geschützter Pfade überspringen den Klassifizierer, daher kommt der Overhead hauptsächlich von Shell-Befehlen und Netzwerkoperationen. Wo der Server die Aktionen als Teil der Modellabfragen der Sitzung überprüft, gibt es keine separaten Klassifiziereraufrufe zu zählen; siehe [Serverseitige Klassifiziererüberprüfung](#server-side-classifier-review).530 Bei Enterprise-Plänen und Konten, die die Claude API verwenden, [Claude Platform on AWS](/docs/de/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry, zählen Klassifizierer-Aufrufe zu Ihrer Token-Nutzung. Jede Überprüfung sendet einen Teil des Transkripts plus die ausstehende Aktion, was eine Hin- und Rückfahrt vor der Ausführung hinzufügt. Lesezugriffe und Arbeitsverzeichnis-Editierungen außerhalb geschützter Pfade überspringen den Klassifizierer, daher kommt der Overhead hauptsächlich von Shell-Befehlen und Netzwerkoperationen. Wo der Server die Aktionen als Teil der Modellabfragen der Sitzung überprüft, gibt es keine separaten Klassifizierer-Aufrufe zu zählen; siehe [Serverseitige Klassifizierer-Überprüfung](#server-side-classifier-review).

523 531 

524 Sandbox-Netzwerkzugriff fügt keine Pro-Verbindungs-Klassifiziereranfragen hinzu. Der Klassifizierer beurteilt [die Hosts, die ein Befehl benennt](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) zusammen mit dem Befehl in einer Überprüfung, und Claude Code überprüft jede Verbindung gegen die genehmigte Liste, ohne den Klassifizierer erneut aufzurufen.532 Sandbox-Netzwerkzugriff fügt keine Pro-Verbindungs-Klassifizierer-Anfragen hinzu. Der Klassifizierer beurteilt [die Hosts, die ein Befehl benennt](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) zusammen mit dem Befehl in einer Überprüfung, und Claude Code überprüft jede Verbindung gegen die genehmigte Liste, ohne den Klassifizierer erneut aufzurufen.

525 </Accordion>533 </Accordion>

526</AccordionGroup>534</AccordionGroup>

527 535 


637 Kritische Pfade645 Kritische Pfade

638</h2>646</h2>

639 647 

640Claude Code lässt nie eine [`permissions.allow`](/docs/de/permissions#manage-permissions) Regel oder einen [`PreToolUse` Hook](/docs/de/permissions#extend-permissions-with-hooks), der `"allow"` zurückgibt, einen `rm` oder `rmdir` Befehl genehmigen, der auf einen kritischen Pfad abzielt, auch in Modi, die andere Aufforderungen überspringen. Dieser Schutzschalter schützt vor Modellfehler. Eine übereinstimmende Deny-Regel blockiert den Befehl weiterhin direkt.648Claude Code lässt niemals zu, dass eine [`permissions.allow`](/docs/de/permissions#manage-permissions)-Regel oder ein [`PreToolUse`-Hook](/docs/de/permissions#extend-permissions-with-hooks), der `"allow"` zurückgibt, einen `rm`- oder `rmdir`-Befehl genehmigt, der auf einen kritischen Pfad abzielt, auch nicht in Modi, die andere Eingabeaufforderungen überspringen. Dieser Schutzschalter schützt vor Modellfehlern. Eine entsprechende Deny-Regel blockiert den Befehl dennoch vollständig.

641 649 

642Was stattdessen passiert, hängt von Ihrem Berechtigungsmodus ab:650Was stattdessen geschieht, hängt von Ihrem Berechtigungsmodus ab:

643 651 

644| Modus | Was Claude Code mit einer kritischen Pfad-Löschung tut |652| Modus | Was Claude Code mit einer Entfernung kritischer Pfade tut |

645| :----------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |653| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

646| `default`, `acceptEdits` | Fragt Sie, um sie zu genehmigen |654| `default`, `acceptEdits` | Fordert Sie auf, dies zu genehmigen |

647| `plan` | Fragt Sie, um sie zu genehmigen. Mit [Auto-Modus während der Planung verfügbar](#analyze-before-you-edit-with-plan-mode) und keine Bypass-Berechtigungen verfügbar, sendet es stattdessen zum Klassifizierer |655| `plan` | Fordert Sie auf, dies zu genehmigen. Mit [Auto-Modus verfügbar während der Planung](#analyze-before-you-edit-with-plan-mode) und ohne verfügbare Bypass-Berechtigungen sendet es dies stattdessen an den Klassifizierer |

648| `auto` | Sendet es zum [Klassifizierer](#eliminate-prompts-with-auto-mode) |656| `auto` | Sendet es an den [Klassifizierer](#eliminate-prompts-with-auto-mode) |

649| `dontAsk` | Verweigert es |657| `dontAsk` | Lehnt es ab |

650| `bypassPermissions` | Fragt Sie, um sie zu genehmigen |658| `bypassPermissions` | Fordert Sie auf, dies zu genehmigen |

651 659 

652Wenn eine explizite [Ask-Regel](/docs/de/permissions#manage-permissions) den Befehl übereinstimmt, fragt Claude Code Sie, auch im `auto` Modus. In Modi, die fragen, kann ein [`PermissionRequest` Hook](/docs/de/hooks#permissionrequest) die Aufforderung auf die gleiche Weise beantworten wie jede andere.660Wenn eine explizite [Ask-Regel](/docs/de/permissions#manage-permissions) dem Befehl entspricht, fordert Claude Code Sie auch im `auto`-Modus auf. In Modi, die fragen, kann ein [`PermissionRequest`-Hook](/docs/de/hooks#permissionrequest) die Eingabeaufforderung auf die gleiche Weise beantworten wie jede andere.

653 661 

654Claude Code behandelt ein `rm` oder `rmdir` Ziel als kritischen Pfad, wenn es eines der folgenden ist:662Claude Code behandelt ein `rm`- oder `rmdir`-Ziel als kritischen Pfad, wenn es eines der folgenden ist:

655 663 

656* Das Dateisystem-Root664* Das Dateisystem-Root

657* Top-Level-Verzeichnisse, was bedeutet, jedes direkte Kind des Root, wie `/usr`, `/etc` oder `/data`665* Verzeichnisse der obersten Ebene, d. h. alle direkten Unterordner des Root, wie `/usr`, `/etc` oder `/data`

658* Ihr Home-Verzeichnis666* Ihr Home-Verzeichnis

659* Windows-Laufwerk-Roots und ihre Top-Level-Verzeichnisse, wie `C:\` und `C:\Windows`667* Windows-Laufwerk-Roots und ihre Verzeichnisse der obersten Ebene, wie `C:\` und `C:\Windows`

660* Ihr Arbeitsverzeichnis und seine übergeordneten Verzeichnisse668* Ihr Arbeitsverzeichnis und seine übergeordneten Verzeichnisse

661* Ihre zusätzlichen Arbeitsverzeichnisse und ihre übergeordneten Verzeichnisse, aber nur wenn die Löschung ein Glob unter einem von ihnen ist, wie `rm -rf <dir>/*`. `rm -rf <dir>` auf dem Verzeichnis selbst löst diese Prüfung nicht aus669* Ihre zusätzlichen Arbeitsverzeichnisse und ihre übergeordneten Verzeichnisse, aber nur wenn die Entfernung ein Glob unter einem von ihnen ist, wie `rm -rf <dir>/*`. `rm -rf <dir>` im Verzeichnis selbst löst diese Überprüfung nicht aus

670 

671Claude Code behandelt auch einen Glob oder einen nachgestellten Schrägstrich direkt unter einer Shell-Variable, wie `rm -rf "$DIR"/*`, als Entfernung eines kritischen Pfads, da der Befehl zu einer Entfernung vom Dateisystem-Root wird, wenn die Variable leer ist.

672 

673Die Eingabeaufforderung für diesen Variablenfall benennt den gekennzeichneten `rm` und sagt, wie Sie ihn umschreiben, damit die Überprüfung erfolgreich ist:

674 

675* Für eine Variable wie `$DIR` schützen Sie jede Erweiterung, damit die Shell mit einem Fehler stoppt, wenn die Variable nicht gesetzt oder leer ist, wie in `rm -rf "${DIR:?}"/*`, oder verwenden Sie einen literalen Pfad

676* Für eine Variable, die normalerweise gesetzt ist, wie `$HOME`, verwenden Sie einen literalen Pfad

662 677 

663Claude Code behandelt auch ein Glob oder einen nachfolgenden Schrägstrich direkt unter einer Shell-Variable, wie `rm -rf "$DIR"/*`, als kritische Pfad-Löschung, da der Befehl zu einer Löschung vom Dateisystem-Root wird, wenn die Variable leer ist.678Eine Entfernung, deren Erweiterungen auf diese Weise geschützt sind, ist keine Entfernung eines kritischen Pfads, daher wird sie im `bypassPermissions`-Modus ohne Eingabeaufforderung ausgeführt.

664 679 

665Das Verstecken der Löschung in einer Subshell mit `(...)`, einer Brace-Gruppe mit `{ ...; }`, Befehlsersetzung mit `$(...)` oder Backticks oder Prozessersetzung mit `<(...)` überspringt die Prüfung nicht. Claude Code findet eine kritische Pfad-Löschung, ob sie in der verschachtelten Form sitzt, wie in `(rm -rf ~)` oder `echo "$(rm -rf ~)"`, oder anderswo im gleichen Befehl.680Das Verstecken der Entfernung in einer Subshell mit `(...)`, einer Brace-Gruppe mit `{ ...; }`, einer Befehlsersetzung mit `$(...)` oder Backticks oder einer Prozessersetzung mit `<(...)` überspringt die Überprüfung nicht. Claude Code findet eine Entfernung eines kritischen Pfads, ob sie sich in der verschachtelten Form befindet, wie in `(rm -rf ~)` oder `echo "$(rm -rf ~)"`, oder anderswo im gleichen Befehl.

666 681 

667<h3 id="remove-item-in-powershell">682<h3 id="remove-item-in-powershell">

668 Remove-Item in PowerShell683 Remove-Item in PowerShell

669</h3>684</h3>

670 685 

671Wenn Sie das [PowerShell-Tool](/docs/de/tools-reference#powershell-tool) aktivieren, gibt Claude Code `Remove-Item` seine eigene Prüfung, getrennt von der `rm` kritischen Pfad-Liste. Das Ergebnis hängt vom Ziel ab, und der erste übereinstimmende Fall gilt:686Wenn Sie das [PowerShell-Tool](/docs/de/tools-reference#powershell-tool) aktivieren, gibt Claude Code `Remove-Item` eine eigene Überprüfung, getrennt von der `rm`-Liste kritischer Pfade. Das Ergebnis hängt vom Ziel ab, und der erste passende Fall gilt:

672 687 

673* **System-Pfade**: Das Dateisystem-Root und seine Top-Level-Verzeichnisse, Laufwerk-Roots und ihre Top-Level-Verzeichnisse, und Ihr Home-Verzeichnis. Claude Code verweigert den Befehl in jedem Modus, ohne Sie zu fragen.688* **Systempfade**: das Dateisystem-Root und seine Verzeichnisse der obersten Ebene, Laufwerk-Roots und ihre Verzeichnisse der obersten Ebene sowie Ihr Home-Verzeichnis. Claude Code lehnt den Befehl in jedem Modus ab, ohne Sie zu fragen.

674* **Wildcards**: Ein bloßes `*`, oder jedes Ziel, das mit `/*` oder `\*` endet, einschließlich eines Globs unter einer Shell-Variable wie `$dir/*`. Claude Code verweigert den Befehl in jedem Modus, ohne Sie zu fragen, bevor der [Klassifizierer](#eliminate-prompts-with-auto-mode) ihn sieht.689* **Platzhalter**: ein bloßes `*` oder ein beliebiges Ziel, das auf `/*` oder `\*` endet, einschließlich eines Globs unter einer Shell-Variable wie `$dir/*`. Claude Code lehnt den Befehl in jedem Modus ab, ohne Sie zu fragen, bevor der [Klassifizierer](#eliminate-prompts-with-auto-mode) ihn sieht.

675* **Ihr Arbeitsverzeichnis oder eines seiner übergeordneten Verzeichnisse, mit `-Recurse`**: Claude Code behandelt den Befehl wie jeden anderen, der Genehmigung benötigt in Ihrem Berechtigungsmodus, daher fragt es Sie in Modi, die fragen, sendet es zum Klassifizierer im `auto` Modus, und verweigert es im `dontAsk` Modus. Der `bypassPermissions` Modus überspringt diese Prüfung.690* **Ihr Arbeitsverzeichnis oder eines seiner übergeordneten Verzeichnisse mit `-Recurse`**: Claude Code behandelt den Befehl wie jeden anderen, der in Ihrem Berechtigungsmodus genehmigt werden muss, daher fordert es Sie in Modi auf, die fragen, sendet es in `auto`-Modus an den Klassifizierer und lehnt es im `dontAsk`-Modus ab. Der `bypassPermissions`-Modus überspringt diese Überprüfung.

676 691 

677<h2 id="see-also">692<h2 id="see-also">

678 Siehe auch693 Siehe auch

permissions.md +3 −11

Details

26 26 

27Vor 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.27Vor 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.

28 28 

29Manchmal bietet eine Berechtigungsaufforderung 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 Aufforderung Ihnen alles zeigen kann, was sie zulassen würden, sodass eine Regel, die Sie aus einer Aufforderung speichern, nur das abdeckt, was ihre benannte Option zulässt.29Manchmal bietet eine Berechtigungsaufforderung 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 Aufforderung Ihnen alles zeigen kann, was sie zulassen würden, sodass eine Regel, die Sie aus einer Aufforderung speichern, nur das abdeckt, was ihre benannte Option zulässt. Wenn eine Aufforderung nur die einmalige Genehmigung bietet, genehmigen Sie die Aktion einmal, oder fügen Sie die Regel selbst in [`/permissions`](#manage-permissions) hinzu.

30 

31Wenn das Verzeichnis, in dem Sie Claude Code gestartet haben, das ist, was die Beschriftung der Option zu lang macht, kürzt Claude Code sie in der Beschriftung, ersetzt Ihr Heimatverzeichnis durch `~` und dann das Ende des Pfads durch `…`, und behält die Option. Sie speichern immer noch die gleiche Regel. Claude Code lässt die Optionen in drei Fällen weg:

32 

33* **Befehl oder Bearbeitung:** zu groß, um vollständig angezeigt zu werden.

34* **Befehle oder Pfade, die die Regel abdecken würde:** die Beschriftung kann sie nicht alle anpassen.

35* **Startverzeichnis zu lang, nicht gekürzt:** es enthält Zeichen, die Claude Code nicht sicher anzeigen kann, oder selbst sein Anfang passt nicht.

36 

37Genehmigen Sie die Aktion einmal, oder fügen Sie die Regel selbst in [`/permissions`](#manage-permissions) hinzu.

38 30 

39<h3 id="add-a-comment-when-you-answer-a-permission-prompt">31<h3 id="add-a-comment-when-you-answer-a-permission-prompt">

40 Fügen Sie einen Kommentar hinzu, wenn Sie auf eine Berechtigungsaufforderung antworten32 Fügen Sie einen Kommentar hinzu, wenn Sie auf eine Berechtigungsaufforderung antworten


224 216 

225Zulassungsregeln akzeptieren Werkzeugnamen-Globs nur nach einem literalen `mcp__<server>__`-Präfix. Das Server-Segment muss glob-frei sein, damit die Regel einen bestimmten Server benennt, den Sie konfiguriert haben. `mcp__puppeteer__*` gleicht jedes Werkzeug vom `puppeteer`-Server ab, und `mcp__github__get_*` gleicht seine `get_`-Werkzeuge ab. Ein unverankerte Zulassungs-Glob wie `"*"`, `"B*"` oder `"mcp__*"` wird mit einer Warnung übersprungen und genehmigt nichts automatisch.217Zulassungsregeln akzeptieren Werkzeugnamen-Globs nur nach einem literalen `mcp__<server>__`-Präfix. Das Server-Segment muss glob-frei sein, damit die Regel einen bestimmten Server benennt, den Sie konfiguriert haben. `mcp__puppeteer__*` gleicht jedes Werkzeug vom `puppeteer`-Server ab, und `mcp__github__get_*` gleicht seine `get_`-Werkzeuge ab. Ein unverankerte Zulassungs-Glob wie `"*"`, `"B*"` oder `"mcp__*"` wird mit einer Warnung übersprungen und genehmigt nichts automatisch.

226 218 

227Eine Ablehnungs- oder Anfrage-Regel, deren Werkzeugname mit keinem bekannten Werkzeug übereinstimmt, erzeugt eine Startwarnmeldung, um Tippfehler zu erfassen. Werkzeugnamen, die `_` oder `*` enthalten, sind von der Überprüfung ausgenommen.219Eine Ablehnungs- oder Anfrage-Regel, deren Werkzeugname mit keinem bekannten Werkzeug übereinstimmt, erzeugt eine Startwarnmeldung, um Tippfehler zu erfassen. Werkzeugnamen, die `_` oder `*` enthalten, sind von der Überprüfung ausgenommen, und ebenso die Namen von Werkzeugen, die Claude Code entfernt hat, wie `TaskOutput`.

228 220 

229Das Etikett, das für ein Werkzeug im Transkript und im Berechtigungsdialog angezeigt wird, kann sich vom kanonischen Namen unterscheiden. Beispielsweise hat das Werkzeug mit der Bezeichnung `Stop Task` im Transkript den kanonischen Namen `TaskStop`. Berechtigungsregeln und [Hook-Matcher](/docs/de/hooks) gleichen das Etikett nicht ab, daher passt eine Regel, die als `Stop Task` geschrieben ist, nicht. Für Ablehnungs- und Anfrage-Regeln erfasst die obige Startwarnmeldung die Nichtübereinstimmung. Verwenden Sie die kanonischen Namen, die in der [Werkzeugreferenz](/docs/de/tools-reference) aufgelistet sind.221Das Etikett, das für ein Werkzeug im Transkript und im Berechtigungsdialog angezeigt wird, kann sich vom kanonischen Namen unterscheiden. Beispielsweise hat das Werkzeug mit der Bezeichnung `Stop Task` im Transkript den kanonischen Namen `TaskStop`. Berechtigungsregeln und [Hook-Matcher](/docs/de/hooks) gleichen das Etikett nicht ab, daher passt eine Regel, die als `Stop Task` geschrieben ist, nicht. Für Ablehnungs- und Anfrage-Regeln erfasst die obige Startwarnmeldung die Nichtübereinstimmung. Verwenden Sie die kanonischen Namen, die in der [Werkzeugreferenz](/docs/de/tools-reference) aufgelistet sind.

230 222 


517}509}

518```510```

519 511 

520Wenn Sie Claude bitten, eine Seite abzurufen, ruft es ab, ohne Sie aufzufordern. Wenn Sie es bitten, einen [sandboxed](/docs/de/sandboxing) `curl` gegen einen Host außerhalb der Sandbox-Allowlist auszuführen, fordert Claude Code Sie immer noch für diesen Host auf, oder im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) sendet die Anfrage an den Klassifizierer, da die bare Regel den Host nicht zur Allowlist hinzugefügt hat. Siehe [Pro-Befehl zulässige Domänen im Auto-Modus](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode).512Wenn Sie Claude bitten, eine Seite abzurufen, ruft es ab, ohne Sie aufzufordern. Wenn Sie es bitten, einen [sandboxed](/docs/de/sandboxing) `curl` gegen einen Host außerhalb der Sandbox-Allowlist auszuführen, fordert Claude Code Sie immer noch für diesen Host auf, da die bare Regel den Host nicht zur Allowlist hinzugefügt hat. Im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) benennt Claude stattdessen den Host in den [pro-Befehl zulässigen Domänen](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) des Befehls für den Klassifizierer zur Überprüfung.

521 513 

522<h3 id="mcp">514<h3 id="mcp">

523 MCP515 MCP

plugin-evals.md +3 −1

Details

339 Gewähren Sie Tools339 Gewähren Sie Tools

340</h3>340</h3>

341 341 

342Durchläufe halten niemals an, um um Erlaubnis zu fragen. Eingebaute Tools, die einen Grant benötigen, den Sie nicht gegeben haben, wie `Bash`, `Write`, `Edit`, `WebFetch` und `WebSearch`, werden aus der Sitzung entfernt, daher kann Claude sie überhaupt nicht aufrufen. Die Allowlist ist die schreibgeschützten Tools, die der Fall in `allowed_tools` auflistet, aus `Read`, `Glob`, `Grep`, `NotebookRead`, `Skill`, `Agent`, `TodoWrite` und die Task-Tools `TaskCreate`, `TaskGet`, `TaskList`, `TaskUpdate`, `TaskStop` und `TaskOutput`, plus alles, was Sie mit `--allow-tools` gewähren, was auf jeden Fall in dem Durchlauf angewendet wird. Um Fällen die Verwendung von `Bash`, `Write`, `Edit`, `WebFetch` oder `WebSearch` zu ermöglichen, gewähren Sie sie selbst:342Durchläufe halten niemals an, um um Erlaubnis zu fragen. Eingebaute Tools, die einen Grant benötigen, den Sie nicht gegeben haben, wie `Bash`, `Write`, `Edit`, `WebFetch` und `WebSearch`, werden aus der Sitzung entfernt, daher kann Claude sie überhaupt nicht aufrufen.

343 

344Die Allowlist ist die schreibgeschützten Tools, die der Fall in `allowed_tools` auflistet, aus `Read`, `Glob`, `Grep`, `NotebookRead`, `Skill`, `Agent`, `TodoWrite` und die Task-Tools `TaskCreate`, `TaskGet`, `TaskList`, `TaskUpdate` und `TaskStop`, plus alles, was Sie mit `--allow-tools` gewähren. Dieser Grant gilt für jeden Fall in dem Durchlauf. Um Fällen die Verwendung von `Bash`, `Write`, `Edit`, `WebFetch` oder `WebSearch` zu ermöglichen, gewähren Sie sie selbst:

343 345 

344```bash theme={null}346```bash theme={null}

345claude plugin eval . --allow-tools Write Edit "Bash(npm test *)"347claude plugin eval . --allow-tools Write Edit "Bash(npm test *)"

Details

71Detaillierte Systemaufforderung für den Agent, die seine Rolle, Expertise und sein Verhalten beschreibt.71Detaillierte Systemaufforderung für den Agent, die seine Rolle, Expertise und sein Verhalten beschreibt.

72```72```

73 73 

74Plugin-Agents unterstützen die Frontmatter-Felder `name`, `description`, `model`, `effort`, `maxTurns`, `tools`, `disallowedTools`, `skills`, `memory`, `background`, [`omitClaudeMd`](/docs/de/sub-agents#supported-frontmatter-fields) und `isolation`. Der einzige gültige `isolation` Wert ist `"worktree"`.74<h4 id="plugin-agent-frontmatter">

75 Plugin-Agent-Frontmatter

76</h4>

77 

78Eine Plugin-Agent-Datei verwendet die gleichen [Frontmatter-Felder wie eine Subagent-Datei](/docs/de/sub-agents#supported-frontmatter-fields), aber Claude Code berücksichtigt nur einige davon, wenn der Agent von einem Plugin stammt:

79 

80* **Unterstützt**: `name`, `description`, `model`, `effort`, `maxTurns`, `tools`, `disallowedTools`, `skills`, `memory`, `background`, `omitClaudeMd`, `isolation`, `color` und `experimental`. Der einzige gültige `isolation` Wert ist `"worktree"`.

81* **Nicht unterstützt, aus Sicherheitsgründen**: `hooks`, `mcpServers` und `permissionMode`. Claude Code ignoriert diese, wenn der Agent von einem Plugin geladen wird. Um sie zu verwenden, kopieren Sie die Agent-Datei in `.claude/agents/` oder `~/.claude/agents/`.

82* **Nicht unterstützt**: `initialPrompt`.

75 83 

76Aus Sicherheitsgründen unterstützen von Plugins bereitgestellte Agents nicht `hooks`, `mcpServers` oder `permissionMode`.84Sie können Plugin-Agent-Dateien in Unterordnern von `agents/` ablegen. Claude Code [lädt sie rekursiv](/docs/de/sub-agents#choose-the-subagent-scope) und verbindet den Plugin-Namen, jeden Unterordnernamen und den Dateinamen mit Doppelpunkten, um den scoped Namen des Agents zu bilden. Zum Beispiel wird `agents/review/security.md` in einem Plugin namens `my-plugin` als `my-plugin:review:security` geladen. Zwei Einstellungen ändern diesen Namen:

85 

86* Frontmatter `name`: Es ersetzt nur den Dateinamen, daher wird `name: audit` in `agents/review/security.md` als `my-plugin:review:audit` geladen

87* Manifest [`agents`](#component-path-fields) Feld: Eine Datei, die Sie dort auflisten, wird ohne Unterordnernamen geladen, daher wird `"agents": "./custom/review/security.md"` als `my-plugin:security` geladen

77 88 

78Claude Code lädt einen Plugin-Agent auch dann, wenn sein Frontmatter kein `name` Feld hat oder nicht geparst werden kann:89Claude Code lädt einen Plugin-Agent auch dann, wenn sein Frontmatter kein `name` Feld hat oder nicht geparst werden kann:

79 90 


476 487 

477Die Datei `.claude-plugin/plugin.json` definiert die Metadaten und Konfiguration Ihres Plugins.488Die Datei `.claude-plugin/plugin.json` definiert die Metadaten und Konfiguration Ihres Plugins.

478 489 

479Das Manifest ist optional. Falls weggelassen, erkennt Claude Code Komponenten automatisch in [Standardpfaden](#file-locations-reference) und leitet den Plugin-Namen aus dem Verzeichnisnamen ab. Verwenden Sie ein Manifest, wenn Sie Metadaten oder benutzerdefinierte Komponentenpfade bereitstellen müssen.490Das Manifest ist optional. Falls weggelassen, erkennt Claude Code Komponenten automatisch an [Standardorten](#file-locations-reference) und leitet den Plugin-Namen vom Verzeichnisnamen ab. Verwenden Sie ein Manifest, wenn Sie Metadaten oder benutzerdefinierte Komponentenpfade bereitstellen müssen.

480 491 

481<h3 id="complete-schema">492<h3 id="complete-schema">

482 Vollständiges Schema493 Vollständiges Schema


524Wenn Sie ein Manifest einbeziehen, ist `name` das einzige erforderliche Feld.535Wenn Sie ein Manifest einbeziehen, ist `name` das einzige erforderliche Feld.

525 536 

526| Feld | Typ | Beschreibung | Beispiel |537| Feld | Typ | Beschreibung | Beispiel |

527| :----- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |538| :----- | :----- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |

528| `name` | string | Eindeutige Kennung in Kebab-Case, ohne Leerzeichen, Steuerzeichen oder bidirektionale Formatierungszeichen. Wenn ein [Marketplace-Eintrag](/docs/de/plugin-marketplaces#plugin-entries) das Plugin unter einem anderen Namen auflistet, ist der Name des Marketplace-Eintrags das, was `enabledPlugins`-Schlüssel und `/plugin` verwenden | `"deployment-tools"` |539| `name` | string | Eindeutiger Bezeichner in Kebab-Case, ohne Leerzeichen, Steuerzeichen oder bidirektionale Formatierungszeichen. Wenn ein [Marketplace-Eintrag](/docs/de/plugin-marketplaces#plugin-entries) das Plugin unter einem anderen Namen auflistet, ist der Name des Marketplace-Eintrags das, was `enabledPlugins`-Schlüssel und `/plugin` verwenden | `"deployment-tools"` |

529 540 

530Dieser Name wird für die Namensgebung von Komponenten verwendet. Beispielsweise wird der Agent `agent-creator` für das Plugin mit dem Namen `plugin-dev` in der Benutzeroberfläche als `plugin-dev:agent-creator` angezeigt.541Dieser Name wird für die Namensgebung von Komponenten verwendet. Beispielsweise wird der Agent `agent-creator` für das Plugin mit dem Namen `plugin-dev` in der Benutzeroberfläche als `plugin-dev:agent-creator` angezeigt.

531 542 


533 Nicht erkannte Felder544 Nicht erkannte Felder

534</h3>545</h3>

535 546 

536Claude Code ignoriert Felder auf oberster Ebene, die nicht erkannt werden. Sie können Metadaten aus einem anderen Ökosystem in `plugin.json` behalten und das Plugin wird trotzdem geladen. Dies macht es praktisch, ein Manifest zu verwalten, das gleichzeitig als VS Code- oder Cursor-Erweiterungsmanifest, eine npm `package.json` oder ein MCPB/DXT-Bundle-Manifest dient.547Claude Code ignoriert Felder auf oberster Ebene, die nicht erkannt werden. Sie können Metadaten aus einem anderen Ökosystem in `plugin.json` behalten und das Plugin wird trotzdem geladen. Dies macht es praktisch, ein Manifest zu verwalten, das gleichzeitig als VS Code- oder Cursor-Erweiterungsmanifest, eine npm-`package.json` oder ein MCPB/DXT-Bundle-Manifest dient.

537 548 

538`claude plugin validate` meldet nicht erkannte Felder als Warnungen, nicht als Fehler. Wenn ein Feld ein oder zwei Zeichen von einem erkannten Feld entfernt ist, schlägt die Warnung den wahrscheinlich beabsichtigten Namen vor. Ein Plugin mit nur Warnungen zu nicht erkannten Feldern besteht die Validierung und wird zur Laufzeit geladen.549`claude plugin validate` meldet nicht erkannte Felder als Warnungen, nicht als Fehler. Wenn ein Feld ein oder zwei Zeichen von einem erkannten Feld entfernt ist, schlägt die Warnung den wahrscheinlich beabsichtigten Namen vor. Ein Plugin mit nur Warnungen zu nicht erkannten Feldern besteht die Validierung und wird zur Laufzeit geladen.

539 550 

540Wie Claude Code ein erkanntes Feld mit falschem Werttyp behandelt, hängt vom Feld ab:551Wie Claude Code ein erkanntes Feld behandelt, dessen Wert den falschen Typ hat, hängt vom Feld ab:

541 552 

542* **Die meisten Felder**: Das Plugin kann nicht geladen werden. Beispielsweise ist ein `keywords`-Wert, der ein String statt eines Arrays ist, ein Ladefehler, und `claude plugin validate` meldet ihn als solchen.553* **Die meisten Felder**: Das Plugin kann nicht geladen werden. Beispielsweise ist ein `keywords`-Wert, der ein String statt eines Arrays ist, ein Ladefehler, und `claude plugin validate` meldet ihn als solchen.

543* **`experimental` und `metadata`**: Claude Code ignoriert einen Nicht-Objekt-Wert, und `claude plugin validate` meldet eine Warnung.554* **`experimental` und `metadata`**: Claude Code ignoriert einen Nicht-Objekt-Wert, und `claude plugin validate` meldet eine Warnung.

544 555 

545Übergeben Sie `--strict`, um Warnungen als Fehler zu behandeln. Verwenden Sie es in CI, um einen falsch geschriebenen Feldnamen oder ein Feld, das von einem anderen Tool-Manifest übrig ist, vor der Veröffentlichung zu erfassen, obwohl das Plugin zur Laufzeit geladen würde.556Übergeben Sie `--strict`, um Warnungen als Fehler zu behandeln. Verwenden Sie es in CI, um einen falsch geschriebenen Feldnamen oder ein Feld, das von einem anderen Tool-Manifest übrig bleibt, vor der Veröffentlichung zu erfassen, obwohl das Plugin zur Laufzeit geladen würde.

546 557 

547```bash theme={null}558```bash theme={null}

548claude plugin validate ./my-plugin --strict559claude plugin validate ./my-plugin --strict


553</h3>564</h3>

554 565 

555| Feld | Typ | Beschreibung | Beispiel |566| Feld | Typ | Beschreibung | Beispiel |

556| :--------------- | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |567| :--------------- | :------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |

557| `$schema` | string | JSON-Schema-URL für Editor-Autovervollständigung und Validierung. Claude Code ignoriert dieses Feld zur Ladezeit. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |568| `$schema` | string | JSON-Schema-URL für Editor-Autovervollständigung und Validierung. Claude Code ignoriert dieses Feld zur Ladezeit. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |

558| `displayName` | string | Benutzerfreundlicher Name, der in der `/plugin`-Auswahl und anderen UI-Oberflächen angezeigt wird. Für ein auf dem Marketplace installiertes Plugin hat ein `displayName` im [Marketplace-Eintrag](/docs/de/plugin-marketplaces#optional-plugin-fields) Vorrang vor diesem Wert. Wenn an keiner Stelle ein Anzeigename festgelegt ist, sehen Benutzer `name`. Im Gegensatz zu `name` kann es Leerzeichen und beliebige Groß-/Kleinschreibung enthalten. Wird nicht für Namensgebung oder Suche verwendet. | `"Deployment Tools"` |569| `displayName` | string | Benutzerfreundlicher Name, der in der `/plugin`-Auswahl und anderen UI-Oberflächen angezeigt wird. Für ein auf dem Marketplace installiertes Plugin hat ein `displayName` im [Marketplace-Eintrag](/docs/de/plugin-marketplaces#optional-plugin-fields) Vorrang vor diesem Wert. Wenn an keiner Stelle ein Anzeigename festgelegt ist, sehen Benutzer `name`. Im Gegensatz zu `name` kann es Leerzeichen und beliebige Groß-/Kleinschreibung enthalten. Wird nicht für Namensgebung oder Suche verwendet. | `"Deployment Tools"` |

559| `version` | string | Optional. Semantische Versionierung. Das Festlegen dieser Einstellung heftet das Plugin an diese Versionsnummer, sodass Benutzer nur Updates erhalten, wenn Sie diese erhöhen, außer für eine [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) oder ein Plugin [das an Ort und Stelle geladen wird](#plugin-caching-and-file-resolution); siehe [Versionsverwaltung](#version-management). Wenn auch im Marketplace-Eintrag festgelegt, gewinnt `plugin.json`. Falls weggelassen, kommt die Version aus der nächsten Quelle in [Versionsverwaltung](#version-management). | `"2.1.0"` |570| `version` | string | Optional. Semantische Version. Das Festlegen dieser Version bindet das Plugin an diese Versionsnummer, sodass Benutzer nur Updates erhalten, wenn Sie diese erhöhen, außer für eine [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) oder ein Plugin [das an Ort und Stelle geladen wird](#plugin-caching-and-file-resolution); siehe [Versionsverwaltung](#version-management). Falls auch im Marketplace-Eintrag festgelegt, gewinnt `plugin.json`. Falls weggelassen, kommt die Version aus der nächsten Quelle in [Versionsverwaltung](#version-management). | `"2.1.0"` |

560| `description` | string | Kurze Erklärung des Plugin-Zwecks | `"Deployment automation tools"` |571| `description` | string | Kurze Erklärung des Plugin-Zwecks | `"Deployment automation tools"` |

561| `author` | object | Autoreninformationen | `{"name": "Dev Team", "email": "dev@company.com"}` |572| `author` | object | Autoreninformationen | `{"name": "Dev Team", "email": "dev@company.com"}` |

562| `homepage` | string | Dokumentations-URL | `"https://docs.example.com"` |573| `homepage` | string | Dokumentations-URL | `"https://docs.example.com"` |

563| `repository` | string | Quellcode-URL | `"https://github.com/user/plugin"` |574| `repository` | string | Quellcode-URL | `"https://github.com/user/plugin"` |

564| `license` | string | Lizenzkennung | `"MIT"`, `"Apache-2.0"` |575| `license` | string | Lizenzbezeichner | `"MIT"`, `"Apache-2.0"` |

565| `keywords` | array | Erkennungs-Tags | `["deployment", "ci-cd"]` |576| `keywords` | array | Erkennungs-Tags | `["deployment", "ci-cd"]` |

566| `metadata` | object | Freiformes Objekt für Ihre eigenen Daten, wie Berechtigungs- oder Katalogfelder. Claude Code liest es nicht, daher beeinflussen die Werte niemals das Plugin-Verhalten. Claude Code ignoriert einen Nicht-Objekt-Wert, und `claude plugin validate` meldet ihn als Warnung. Vor v2.1.222 behandelte Claude Code den Schlüssel als [nicht erkanntes Feld](#unrecognized-fields). | `{"catalogId": "cat-123"}` |577| `metadata` | object | Freiformes Objekt für Ihre eigenen Daten, wie Berechtigungs- oder Katalogfelder. Claude Code liest es nicht, daher beeinflussen die Werte niemals das Plugin-Verhalten. Claude Code ignoriert einen Nicht-Objekt-Wert, und `claude plugin validate` meldet ihn als Warnung. Vor v2.1.222 behandelte Claude Code den Schlüssel als [nicht erkanntes Feld](#unrecognized-fields). | `{"catalogId": "cat-123"}` |

567| `defaultEnabled` | boolean | Ob das Plugin in einem aktivierten Zustand startet, wenn der Benutzer keinen festgelegt hat. Standardmäßig `true`. Siehe [Standardaktivierung](#default-enablement). | `false` |578| `defaultEnabled` | boolean | Ob das Plugin in einem aktivierten Zustand startet, wenn der Benutzer keinen festgelegt hat. Standardmäßig `true`. Siehe [Standardaktivierung](#default-enablement). | `false` |


572 583 

573Setzen Sie `defaultEnabled: false` in `plugin.json`, um ein Plugin zu versenden, das deaktiviert installiert wird. Der Benutzer aktiviert es mit `claude plugin enable <plugin>` oder der `/plugin`-Schnittstelle. Verwenden Sie dies für Plugins, die Kosten hinzufügen oder einen Umfang haben, den ein Benutzer akzeptieren sollte, wie eines, das sich mit einem externen Service verbindet.584Setzen Sie `defaultEnabled: false` in `plugin.json`, um ein Plugin zu versenden, das deaktiviert installiert wird. Der Benutzer aktiviert es mit `claude plugin enable <plugin>` oder der `/plugin`-Schnittstelle. Verwenden Sie dies für Plugins, die Kosten hinzufügen oder einen Umfang haben, den ein Benutzer akzeptieren sollte, wie eines, das sich mit einem externen Service verbindet.

574 585 

575`defaultEnabled` ist der Fallback, wenn nichts anderes den Zustand des Plugins entschieden hat. Die Einstellung des Benutzers und eine Abhängigkeitsanforderung haben Vorrang:586`defaultEnabled` ist der Fallback, wenn nichts anderes den Zustand des Plugins entschieden hat. Die Einstellung des Benutzers und eine Abhängigkeitsanforderung haben Vorrang vor ihr:

576 587 

577* **Die Einstellung des Benutzers**: ein Eintrag für das Plugin in `enabledPlugins` in jedem Einstellungsbereich. Nach dem Schreiben bleibt es über Plugin-Updates und Neuinstallationen hinweg bestehen, daher ändert das Ändern von `defaultEnabled` in einer späteren Version nicht den Zustand eines bestehenden Benutzers.588* **Die Einstellung des Benutzers**: ein Eintrag für das Plugin in `enabledPlugins` in jedem Einstellungsbereich. Nach dem Schreiben bleibt es über Plugin-Updates und Neuinstallationen hinweg bestehen, daher ändert das Ändern von `defaultEnabled` in einer späteren Version nicht den Zustand eines bestehenden Benutzers.

578* **Eine Abhängigkeitsanforderung**: Wenn ein Plugin von einem anderen erforderlich ist, das aktiv ist, schreibt Claude Code `true` dafür zur Installations- oder Aktivierungszeit. Das gibt ihm eine explizite Einstellung, daher gilt sein eigener Standard nicht mehr. Siehe [Plugin mit Abhängigkeiten aktivieren oder deaktivieren](/docs/de/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies).589* **Eine Abhängigkeitsanforderung**: Wenn ein Plugin von einem anderen erforderlich ist, das aktiv ist, schreibt Claude Code `true` dafür zur Installations- oder Aktivierungszeit. Das gibt ihm eine explizite Einstellung, daher gilt sein eigener Standard nicht mehr. Siehe [Plugin mit Abhängigkeiten aktivieren oder deaktivieren](/docs/de/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies).


584</h3>595</h3>

585 596 

586| Feld | Typ | Beschreibung | Beispiel |597| Feld | Typ | Beschreibung | Beispiel |

587| :---------------------- | :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |598| :---------------------- | :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |

588| `skills` | string\|array | Benutzerdefinierte Skill-Verzeichnisse mit `<name>/SKILL.md`. Ergänzt den Standard-`skills/`-Scan. Siehe [Pfadverhaltenregeln](#path-behavior-rules) für die Marketplace-Root-Ausnahme | `"./custom/skills/"` |599| `skills` | string\|array | Benutzerdefinierte Skill-Verzeichnisse mit `<name>/SKILL.md`. Ergänzt den Standard-`skills/`-Scan. Siehe [Pfadverhaltenregeln](#path-behavior-rules) für die Marketplace-Root-Ausnahme | `"./custom/skills/"` |

589| `commands` | string\|array | Benutzerdefinierte flache `.md`-Skill-Dateien oder Verzeichnisse (ersetzt Standard-`commands/`) | `"./custom/cmd.md"` oder `["./cmd1.md"]` |600| `commands` | string\|array | Benutzerdefinierte flache `.md`-Skill-Dateien oder Verzeichnisse (ersetzt Standard-`commands/`) | `"./custom/cmd.md"` oder `["./cmd1.md"]` |

590| `agents` | string\|array | Benutzerdefinierte Agent-Dateien (ersetzt Standard-`agents/`) | `"./custom/agents/reviewer.md"` |601| `agents` | string\|array | Benutzerdefinierte Agent-Dateien (ersetzt Standard-`agents/`) | `"./custom/agents/reviewer.md"` |


595| `lspServers` | string\|array\|object | [Language Server Protocol](https://microsoft.github.io/language-server-protocol/)-Konfigurationen für Code-Intelligenz (Gehe zu Definition, Finde Referenzen usw.) | `"./.lsp.json"` |606| `lspServers` | string\|array\|object | [Language Server Protocol](https://microsoft.github.io/language-server-protocol/)-Konfigurationen für Code-Intelligenz (Gehe zu Definition, Finde Referenzen usw.) | `"./.lsp.json"` |

596| `experimental.themes` | string\|array | Farbthema-Dateien/Verzeichnisse (ersetzt Standard-`themes/`). Siehe [Themes](#themes) | `"./themes/"` |607| `experimental.themes` | string\|array | Farbthema-Dateien/Verzeichnisse (ersetzt Standard-`themes/`). Siehe [Themes](#themes) | `"./themes/"` |

597| `experimental.monitors` | string\|array | Hintergrund-[Monitor](/docs/de/tools-reference#monitor-tool)-Konfigurationen, die automatisch starten, wenn das Plugin aktiv ist. Siehe [Monitors](#monitors) | `"./monitors.json"` |608| `experimental.monitors` | string\|array | Hintergrund-[Monitor](/docs/de/tools-reference#monitor-tool)-Konfigurationen, die automatisch starten, wenn das Plugin aktiv ist. Siehe [Monitors](#monitors) | `"./monitors.json"` |

598| `experimental.evals` | string\|array | Verzeichnis unter dem Plugin-Root, das die [Eval-Fälle](/docs/de/plugin-evals#use-a-different-eval-directory) des Plugins enthält, wenn es nicht das Standard-`evals/` ist. `claude plugin eval --eval-dir` überschreibt es | `"quality/evals"` |609| `experimental.evals` | string\|array | Verzeichnis unterhalb des Plugin-Roots, das die [Eval-Fälle](/docs/de/plugin-evals#use-a-different-eval-directory) des Plugins enthält, wenn es nicht das Standard-`evals/` ist. `claude plugin eval --eval-dir` überschreibt es | `"quality/evals"` |

599| `userConfig` | object | Benutzerkonfigurierbare Werte, die zur Aktivierungszeit abgefragt werden. Siehe [Benutzerkonfiguration](#user-configuration) | |610| `userConfig` | object | Benutzerkonfigurierbare Werte, die zur Aktivierungszeit abgefragt werden. Siehe [Benutzerkonfiguration](#user-configuration) | |

600| `channels` | array | Kanal-Deklarationen für Nachrichteneinspeisung (Telegram, Slack, Discord-Stil). Siehe [Kanäle](#channels) | |611| `channels` | array | Kanal-Deklarationen für Nachrichteneinspeisung (Telegram, Slack, Discord-Stil). Siehe [Kanäle](#channels) | |

601| `dependencies` | array | Andere Plugins, die dieses Plugin benötigt, optional mit Semver-Versionsbeschränkungen. Siehe [Plugin-Abhängigkeitsversionen einschränken](/docs/de/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |612| `dependencies` | array | Andere Plugins, die dieses Plugin benötigt, optional mit Semver-Versionsbeschränkungen. Siehe [Plugin-Abhängigkeitsversionen einschränken](/docs/de/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |


610 Benutzerkonfiguration621 Benutzerkonfiguration

611</h3>622</h3>

612 623 

613Das Feld `userConfig` deklariert Werte, die Claude Code dem Benutzer abfragt, wenn das Plugin aktiviert wird. Verwenden Sie dies, anstatt Benutzer zu zwingen, `settings.json` manuell zu bearbeiten.624Das Feld `userConfig` deklariert Werte, die Claude Code den Benutzer auffordert, wenn das Plugin aktiviert wird. Verwenden Sie dies, anstatt Benutzer zu zwingen, `settings.json` manuell zu bearbeiten.

614 625 

615```json theme={null}626```json theme={null}

616{627{


633Schlüssel müssen gültige Bezeichner sein. Jede Option unterstützt diese Felder:644Schlüssel müssen gültige Bezeichner sein. Jede Option unterstützt diese Felder:

634 645 

635| Feld | Erforderlich | Beschreibung |646| Feld | Erforderlich | Beschreibung |

636| :------------ | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |647| :------------ | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

637| `type` | Ja | Einer von `string`, `number`, `boolean`, `directory` oder `file` |648| `type` | Ja | Einer von `string`, `number`, `boolean`, `directory` oder `file` |

638| `title` | Ja | Beschriftung im Konfigurationsdialog |649| `title` | Ja | Beschriftung, die im Konfigurationsdialog angezeigt wird |

639| `description` | Ja | Hilfetext unter dem Feld |650| `description` | Ja | Hilfetext, der unter dem Feld angezeigt wird |

640| `sensitive` | Nein | Wenn `true`, maskiert die Eingabe und speichert den Wert in sicherer Speicherung statt in `settings.json` |651| `sensitive` | Nein | Falls `true`, maskiert die Eingabe und speichert den Wert im sicheren Speicher statt in `settings.json` |

641| `required` | Nein | Wenn `true`, schlägt die Validierung fehl, wenn das Feld leer ist |652| `required` | Nein | Falls `true`, schlägt die Validierung fehl, wenn das Feld leer ist |

642| `default` | Nein | Wert, der verwendet wird, wenn der Benutzer nichts bereitstellt |653| `default` | Nein | Wert, der verwendet wird, wenn der Benutzer nichts bereitstellt |

643| `options` | Nein | Für `string`-Typ die Werte, die das Feld akzeptiert, angezeigt in `/config` als Auswahl über ihnen. Erfordert Claude Code v2.1.271 oder später |654| `options` | Nein | Für `string`-Typ die Werte, die das Feld akzeptiert, angezeigt in `/config` als Auswahl über ihnen. Siehe [Feld auf feste Optionen beschränken](#limit-a-field-to-fixed-options). Erfordert Claude Code v2.1.271 oder später |

644| `multiple` | Nein | Für `string`-Typ, erlauben Sie ein Array von Strings |655| `multiple` | Nein | Für `string`-Typ, erlauben Sie ein Array von Strings |

645| `min` / `max` | Nein | Grenzen für `number`-Typ |656| `min` / `max` | Nein | Grenzen für `number`-Typ |

646 657 

647Außer `sensitive`-Felder und `multiple`-Listen erscheint jedes Feld jedes aktivierten Plugins auch als Zeile im `/config`-Panel. Die Zeilen erfordern Claude Code v2.1.269 oder später.658Außer `sensitive`-Feldern und `multiple`-Listen erscheint jedes Feld jedes aktivierten Plugins auch als Zeile im `/config`-Panel. Die Zeilen erfordern Claude Code v2.1.269 oder später.

648 659 

649Jeder Wert ist für die Substitution als `${user_config.KEY}` in MCP- und LSP-Server-Konfigurationen und Hook-Befehlen verfügbar. Nicht-sensitive Werte können auch in Skill- und Agent-Inhalten ersetzt werden. Alle Werte werden an Hook-Prozesse als `CLAUDE_PLUGIN_OPTION_<KEY>`-Umgebungsvariablen exportiert, wobei `<KEY>` der Optionsschlüssel in Großbuchstaben ist.660Jeder Wert ist für die Substitution als `${user_config.KEY}` in MCP- und LSP-Server-Konfigurationen und Hook-Befehlen verfügbar. Nicht-sensitive Werte können auch in Skill- und Agent-Inhalten ersetzt werden. Alle Werte werden an Hook-Prozesse als `CLAUDE_PLUGIN_OPTION_<KEY>`-Umgebungsvariablen exportiert, wobei `<KEY>` der Optionsschlüssel in Großbuchstaben ist.

650 661 

651Felder, die in einer Shell ausgeführt werden, lehnen `${user_config.*}` ab: Das Ersetzen eines konfigurierten Werts in einem Shell-Befehl würde der Shell erlauben, alles auszuführen, was dieser Wert enthält, daher schlägt die Komponente mit einem [Fehler](/docs/de/errors#plugin-command-references-user-config) fehl. Jedes abgelehnte Feld hat eine alternative Möglichkeit, den Wert zu übergeben:662Felder, die in einer Shell ausgeführt werden, lehnen `${user_config.*}` ab: Das Ersetzen eines konfigurierten Werts in einem Shell-Befehl würde der Shell ermöglichen, alles auszuführen, was dieser Wert enthält, daher schlägt die Komponente mit einem [Fehler](/docs/de/errors#plugin-command-references-user-config) fehl. Jedes abgelehnte Feld hat eine alternative Möglichkeit, den Wert zu übergeben:

652 663 

653| Abgelehntes Feld | Wie man den Wert übergibt |664| Abgelehntes Feld | Wie man den Wert übergibt |

654| :--------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |665| :--------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------- |

655| Shell-Form-Hook-Befehle | Verwenden Sie [Exec-Form](/docs/de/hooks#exec-form-and-shell-form) mit `args`, oder lesen Sie `CLAUDE_PLUGIN_OPTION_<KEY>` aus der Hook-Umgebung |666| Shell-Form-Hook-Befehle | Verwenden Sie [Exec-Form](/docs/de/hooks#exec-form-and-shell-form) mit `args` oder lesen Sie `CLAUDE_PLUGIN_OPTION_<KEY>` aus der Hook-Umgebung |

656| [Monitor](#monitors)-Befehle | Lesen Sie den Wert aus einer Konfigurationsdatei im Skript |667| [Monitor](#monitors)-Befehle | Lesen Sie den Wert aus einer Konfigurationsdatei im Skript |

657| MCP [`headersHelper`](/docs/de/mcp#use-dynamic-headers-for-custom-authentication) | Lesen Sie den Wert aus einer Konfigurationsdatei im Skript |668| MCP [`headersHelper`](/docs/de/mcp#use-dynamic-headers-for-custom-authentication) | Lesen Sie den Wert aus einer Konfigurationsdatei im Skript |

658 669 


660 671 

661Nicht-sensitive Werte werden unter dem [`pluginConfigs`](/docs/de/settings-reference#pluginconfigs)-Schlüssel in Ihrer Benutzer-`settings.json` als `pluginConfigs[<plugin-id>].options` gespeichert.672Nicht-sensitive Werte werden unter dem [`pluginConfigs`](/docs/de/settings-reference#pluginconfigs)-Schlüssel in Ihrer Benutzer-`settings.json` als `pluginConfigs[<plugin-id>].options` gespeichert.

662 673 

663Auf macOS speichert Claude Code sensitive Werte in der macOS Keychain und fällt auf `~/.claude/.credentials.json` zurück, wenn die Keychain den Schreibvorgang ablehnt. Auf Plattformen ohne unterstützte Keychain speichert es sie in `~/.claude/.credentials.json`. Keychain-Speicherung wird mit OAuth-Tokens geteilt und hat eine ungefähre Gesamtgrenze von 2 KB, daher halten Sie sensitive Werte klein.674Auf macOS speichert Claude Code sensitive Werte in der macOS Keychain und fällt auf `~/.claude/.credentials.json` zurück, wenn die Keychain den Schreibvorgang ablehnt. Auf Plattformen ohne unterstützte Keychain speichert es sie in `~/.claude/.credentials.json`. Keychain-Speicher wird mit OAuth-Tokens geteilt und hat eine ungefähre Gesamtgrenze von 2 KB, daher halten Sie sensitive Werte klein.

664 675 

665Claude Code liest alle `pluginConfigs`-Werte nur aus drei Einstellungsquellen:676Claude Code liest alle `pluginConfigs`-Werte nur aus drei Einstellungsquellen:

666 677 


668* **`--settings`**: das CLI-Flag oder SDK-Inline-Einstellungen679* **`--settings`**: das CLI-Flag oder SDK-Inline-Einstellungen

669* **Verwaltete Einstellungen**: [organisationskontrollierte Richtlinie](/docs/de/permissions#managed-settings)680* **Verwaltete Einstellungen**: [organisationskontrollierte Richtlinie](/docs/de/permissions#managed-settings)

670 681 

671Wenn mehr als eine Quelle denselben Schlüssel setzt, haben verwaltete Einstellungen Vorrang, dann `--settings`, dann Benutzereinstellungen. Die einzige Quelle, die Sie aus dieser Liste entfernen können, sind Benutzereinstellungen: Übergeben Sie [`--setting-sources`](/docs/de/cli-reference#cli-flags) ohne `user` und Claude Code überspringt sie. Verwaltete Einstellungen und `--settings` bleiben, was Sie übergeben. Die [`settingSources`](/docs/de/agent-sdk/claude-code-features#what-settingsources-does-not-control)-Option des SDK setzt die gleiche Liste.682Wenn mehr als eine Quelle denselben Schlüssel setzt, haben verwaltete Einstellungen Vorrang, dann `--settings`, dann Benutzereinstellungen. Die einzige Quelle, die Sie aus dieser Liste entfernen können, sind Benutzereinstellungen: Übergeben Sie [`--setting-sources`](/docs/de/cli-reference#cli-flags) ohne `user` und Claude Code überspringt sie. Verwaltete Einstellungen und `--settings` bleiben, was Sie übergeben. Die SDK-Option [`settingSources`](/docs/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) setzt die gleiche Liste.

672 683 

673Einträge in einer Projekt-`.claude/settings.json` oder `.claude/settings.local.json` werden ignoriert. Beide Dateien befinden sich im Workspace, daher könnte ein geklontes Repository Werte dort bereitstellen, und diese Werte würden in Plugin-Hook-Befehle, MCP-Server-Konfigurationen, LSP-Befehle und Monitor-Befehle fließen. Vor v2.1.207 wurden diese Einträge gelesen. Die Einschränkung ist spezifisch für `pluginConfigs`: [`enabledPlugins`](/docs/de/settings-reference#enabledplugins) berücksichtigt immer noch Projekt- und lokale Einstellungen.684Einträge in einer Projekt-`.claude/settings.json` oder `.claude/settings.local.json` werden ignoriert. Beide Dateien befinden sich im Workspace, daher könnte ein geklontes Repository Werte dort bereitstellen, und diese Werte würden in Plugin-Hook-Befehle, MCP-Server-Konfigurationen, LSP-Befehle und Monitor-Befehle fließen. Vor v2.1.207 wurden diese Einträge gelesen. Die Einschränkung ist spezifisch für `pluginConfigs`: [`enabledPlugins`](/docs/de/settings-reference#enabledplugins) berücksichtigt immer noch Projekt- und lokale Einstellungen.

674 685 

686<h4 id="limit-a-field-to-fixed-options">

687 Feld auf feste Optionen beschränken

688</h4>

689 

690Setzen Sie `options` auf ein `userConfig`-Feld, um Benutzer zu zwingen, seinen Wert aus einer festen Liste auszuwählen.

691 

692Um ein `tone`-Feld auf drei Optionen zu beschränken, listen Sie sie in `options` auf und setzen Sie `default` auf eine davon:

693 

694```json theme={null}

695{

696 "userConfig": {

697 "tone": {

698 "type": "string",

699 "title": "Tone",

700 "description": "Voice for generated replies",

701 "options": ["neutral", "warm", "formal"],

702 "default": "neutral"

703 }

704 }

705}

706```

707 

708Wenn Sie `options` auf ein beliebiges Feld deklarieren, können Benutzer auf Claude Code-Versionen vor v2.1.271 das Plugin nicht laden.

709 

710Wenn Sie `options` auf ein Feld setzen, befolgen Sie diese Regeln:

711 

712* Setzen Sie `type` auf `string`

713* Setzen Sie `multiple` oder `sensitive` nicht auf `true`

714* Setzen Sie `default` auf eine der Optionen

715* Wenn Sie `default` nicht setzen, setzen Sie `required` auf `true`

716* Listen Sie mindestens eine Option auf, jede 1 bis 64 Zeichen lang

717* Beginnen oder enden Sie eine Option nicht mit einem Leerzeichen

718* Verwenden Sie keine Steuerzeichen, unsichtbaren Zeichen, Zeichen, die die Textrichtung ändern, oder andere Leerzeichen als ein normales Leerzeichen in einer Option

719* Listen Sie nicht die gleiche Option zweimal auf, auch nicht in einer anderen Schreibweise

720 

721Wenn Sie eine dieser Regeln brechen, kann das Plugin nicht geladen werden. Führen Sie `claude plugin validate` aus, um zu sehen, welches Feld welche Regel bricht.

722 

675<h3 id="channels">723<h3 id="channels">

676 Kanäle724 Kanäle

677</h3>725</h3>


711 759 

712* **Ersetzt den Standard**: `commands`, `agents`, `workflows`, `outputStyles`, `experimental.themes`, `experimental.monitors`. Beispielsweise wird das Standard-`commands/`-Verzeichnis nicht gescannt, wenn das Manifest `commands` angibt. Um den Standard zu behalten und mehr hinzuzufügen, listen Sie ihn explizit auf: `"commands": ["./commands/", "./extras/"]`760* **Ersetzt den Standard**: `commands`, `agents`, `workflows`, `outputStyles`, `experimental.themes`, `experimental.monitors`. Beispielsweise wird das Standard-`commands/`-Verzeichnis nicht gescannt, wenn das Manifest `commands` angibt. Um den Standard zu behalten und mehr hinzuzufügen, listen Sie ihn explizit auf: `"commands": ["./commands/", "./extras/"]`

713* **Ergänzt den Standard**: `skills`. Das Standard-`skills/`-Verzeichnis wird immer gescannt, und Verzeichnisse, die in `skills` aufgelistet sind, werden zusammen mit ihm geladen. Ausnahme: Für einen [Marketplace-Eintrag, dessen `source` zum Marketplace-Root aufgelöst wird](/docs/de/plugin-marketplaces#advanced-plugin-entries), ersetzt das Deklarieren spezifischer Unterverzeichnisse den Standard-`skills/`-Scan761* **Ergänzt den Standard**: `skills`. Das Standard-`skills/`-Verzeichnis wird immer gescannt, und Verzeichnisse, die in `skills` aufgelistet sind, werden zusammen mit ihm geladen. Ausnahme: Für einen [Marketplace-Eintrag, dessen `source` zum Marketplace-Root aufgelöst wird](/docs/de/plugin-marketplaces#advanced-plugin-entries), ersetzt das Deklarieren spezifischer Unterverzeichnisse den Standard-`skills/`-Scan

714* **Eigene Merge-Regeln**: [hooks](#hooks), [MCP-Server](#mcp-servers) und [LSP-Server](#lsp-servers). Siehe jeden Abschnitt für die Kombination mehrerer Quellen762* **Eigene Merge-Regeln**: [hooks](#hooks), [MCP-Server](#mcp-servers) und [LSP-Server](#lsp-servers). Siehe jeden Abschnitt, wie mehrere Quellen kombiniert werden

715 763 

716Wenn ein Plugin sowohl einen Standard-Ordner als auch den entsprechenden Manifest-Schlüssel hat, warnt Claude Code vor dem ignorierten Ordner in `claude plugin list` und der `/plugin`-Detailansicht. Das Plugin wird immer noch mit den Manifest-Pfaden geladen. Claude Code warnt nicht, wenn der Manifest-Schlüssel in den Standard-Ordner zeigt, beispielsweise `"commands": ["./commands/deploy.md"]`, da dieser Pfad den Ordner explizit benennt.764Wenn ein Plugin sowohl einen Standard-Ordner als auch den entsprechenden Manifest-Schlüssel hat, warnt Claude Code vor dem ignorierten Ordner in `claude plugin list` und der `/plugin`-Detailansicht. Das Plugin wird immer noch mit den Manifest-Pfaden geladen. Claude Code warnt nicht, wenn der Manifest-Schlüssel in den Standard-Ordner zeigt, beispielsweise `"commands": ["./commands/deploy.md"]`, da dieser Pfad den Ordner explizit benennt.

717 765 


720* Alle Pfade müssen relativ zum Plugin-Root sein und mit `./` beginnen, außer dass das Feld `skills` auch `"."` akzeptiert768* Alle Pfade müssen relativ zum Plugin-Root sein und mit `./` beginnen, außer dass das Feld `skills` auch `"."` akzeptiert

721 * Sowohl `"."` als auch `"./"` bezeichnen den Plugin-Root selbst769 * Sowohl `"."` als auch `"./"` bezeichnen den Plugin-Root selbst

722 * Vor v2.1.221 schlug `"."` bei der Manifest-Validierung fehl und das Plugin wurde nicht geladen, daher verwenden Sie `"./"`, um frühere Versionen zu unterstützen770 * Vor v2.1.221 schlug `"."` bei der Manifest-Validierung fehl und das Plugin wurde nicht geladen, daher verwenden Sie `"./"`, um frühere Versionen zu unterstützen

723* Komponenten aus benutzerdefinierten Pfaden verwenden die gleichen Benennungs- und Namensgebungsregeln771* Komponenten aus benutzerdefinierten Pfaden verwenden die gleichen Benennungs- und Namensgebungsregeln, außer Agent-Dateien. Siehe [Agents](#agents), wie Agent-Namen funktionieren

724* Mehrere Pfade können als Arrays angegeben werden772* Mehrere Pfade können als Arrays angegeben werden

725* Ein Skill-Pfad kann auf ein Verzeichnis zeigen, das direkt ein `SKILL.md` enthält, beispielsweise `"skills": ["."]` für den Plugin-Root773* Ein Skill-Pfad kann auf ein Verzeichnis zeigen, das direkt eine `SKILL.md` enthält, beispielsweise `"skills": ["."]` für den Plugin-Root

726 * Claude Code nimmt den Skill-Aufrufinamen aus dem Frontmatter-Feld `name` in `SKILL.md`, daher bleibt der Name stabil, unabhängig davon, wie das Installationsverzeichnis benannt ist774 * Claude Code nimmt den Invokationsnamen des Skills aus dem Frontmatter-Feld `name` in `SKILL.md`, daher bleibt der Name stabil, egal wie das Installationsverzeichnis benannt ist

727 * Wenn `name` nicht im Frontmatter festgelegt ist, fällt Claude Code auf den Verzeichnis-Basename zurück775 * Wenn `name` nicht im Frontmatter festgelegt ist, fällt Claude Code auf den Verzeichnis-Basename zurück

728 776 

729Ein Plugin, das ein `SKILL.md` an seinem Root hat, kein `skills/`-Unterverzeichnis und kein `skills`-Manifest-Feld hat, wird automatisch als Single-Skill-Plugin geladen. Sie müssen `"skills": ["./"]` in `plugin.json` für dieses Layout nicht festlegen.777Ein Plugin, das eine `SKILL.md` an seinem Root hat, kein `skills/`-Unterverzeichnis und kein `skills`-Manifest-Feld hat, wird automatisch als Single-Skill-Plugin geladen. Sie müssen `"skills": ["./"]` in `plugin.json` für dieses Layout nicht setzen.

730 778 

731**Pfadbeispiele**:779**Pfadbeispiele**:

732 780 


784}832}

785```833```

786 834 

787Für ein kopiertes Plugin ändert sich `${CLAUDE_PLUGIN_ROOT}`, wenn das Plugin aktualisiert wird. Das Verzeichnis der vorherigen Version bleibt nach einem Update für eine Kulanzfrist auf der Festplatte, aber behandeln Sie es als kurzlebig und schreiben Sie keinen Zustand dort. Für ein Plugin, das an Ort und Stelle aus einem lokalen Verzeichnis-Marketplace geladen wird, zeigt die Variable auf das stabile Quellverzeichnis. Siehe [Plugin-Caching](#plugin-caching-and-file-resolution) für welche Plugins kopiert werden und für Cleanup-Semantik.835Für ein kopiertes Plugin ändert sich `${CLAUDE_PLUGIN_ROOT}`, wenn das Plugin aktualisiert wird. Das Verzeichnis der vorherigen Version bleibt nach einem Update für einen Übergangszeitraum auf der Festplatte, aber behandeln Sie es als kurzlebig und schreiben Sie keinen Zustand dort. Für ein Plugin, das an Ort und Stelle aus einem lokalen Verzeichnis-Marketplace geladen wird, zeigt die Variable auf das stabile Quellverzeichnis. Siehe [Plugin-Caching](#plugin-caching-and-file-resolution), welche Plugins kopiert werden und für Cleanup-Semantik.

788 836 

789Wenn ein kopiertes Plugin während einer Sitzung aktualisiert wird, verwenden Hook-Befehle, Monitors, MCP-Server und LSP-Server weiterhin den Pfad der vorherigen Version. Führen Sie `/reload-plugins` aus, um Hooks, MCP-Server und LSP-Server zum neuen Pfad zu wechseln; Monitors erfordern einen Sitzungsneustart. In einer Sitzung ohne interaktives Terminal lässt das Neuladen Plugin-MCP-Server auf dem alten Pfad, bis die nächste Sitzung beginnt.837Wenn ein kopiertes Plugin während einer Sitzung aktualisiert wird, verwenden Hook-Befehle, Monitors, MCP-Server und LSP-Server weiterhin den Pfad der vorherigen Version. Führen Sie `/reload-plugins` aus, um Hooks, MCP-Server und LSP-Server zum neuen Pfad zu wechseln; Monitors erfordern einen Sitzungsneustart. In einer Sitzung ohne interaktives Terminal lässt das Reload Plugin-MCP-Server auf dem alten Pfad, bis die nächste Sitzung.

790 838 

791Für ein Plugin mit einer `command`-Quelle kann Claude Code [das Plugin selbst neu laden](/docs/de/plugin-marketplaces#when-claude-code-re-runs-the-command).839Für ein Plugin mit einer `command`-Quelle kann Claude Code [das Plugin selbst neu laden](/docs/de/plugin-marketplaces#when-claude-code-re-runs-the-command).

792 840 


796 Persistentes Datenverzeichnis844 Persistentes Datenverzeichnis

797</h4>845</h4>

798 846 

799Das Verzeichnis `${CLAUDE_PLUGIN_DATA}` wird zu `~/.claude/plugins/data/{id}/` aufgelöst, wobei `{id}` die Plugin-Kennung mit Zeichen außerhalb von `a-z`, `A-Z`, `0-9`, `_` und `-` ist, die durch `-` ersetzt werden. Für ein Plugin, das als `formatter@my-marketplace` installiert ist, ist das Verzeichnis `~/.claude/plugins/data/formatter-my-marketplace/`.847Das Verzeichnis `${CLAUDE_PLUGIN_DATA}` wird zu `~/.claude/plugins/data/{id}/` aufgelöst, wobei `{id}` der Plugin-Bezeichner mit Zeichen außerhalb von `a-z`, `A-Z`, `0-9`, `_` und `-` ist, die durch `-` ersetzt werden. Für ein Plugin, das als `formatter@my-marketplace` installiert ist, ist das Verzeichnis `~/.claude/plugins/data/formatter-my-marketplace/`.

800 848 

801Eine häufige Verwendung ist die einmalige Installation von Sprachabhängigkeiten und deren Wiederverwendung über Sitzungen und Plugin-Updates hinweg. Verwenden Sie es für Python-Abhängigkeiten, Abhängigkeiten, die mit Yarn oder pnpm gesperrt sind, und Pakete, deren Lifecycle-Skripte ausgeführt werden müssen. Für ein auf dem Marketplace installiertes Plugin benötigen Sie es möglicherweise überhaupt nicht: Claude Code installiert automatisch berechtigte [Node.js-Paketabhängigkeiten](#node-js-package-dependencies), wenn es das Plugin zwischenspeichert.849Eine häufige Verwendung ist die einmalige Installation von Sprachabhängigkeiten und deren Wiederverwendung über Sitzungen und Plugin-Updates hinweg. Verwenden Sie es für Python-Abhängigkeiten, Abhängigkeiten, die mit Yarn oder pnpm gesperrt sind, und Pakete, deren Lifecycle-Skripte ausgeführt werden müssen. Für ein auf dem Marketplace installiertes Plugin benötigen Sie es möglicherweise überhaupt nicht: Claude Code installiert automatisch berechtigte [Node.js-Paketabhängigkeiten](#node-js-package-dependencies), wenn es das Plugin zwischenspeichert.

802 850 

803Da das Datenverzeichnis länger lebt als jede einzelne Plugin-Version, kann eine Überprüfung auf Verzeichnisexistenz allein nicht erkennen, wenn ein Update das Abhängigkeitsmanifest des Plugins ändert. Das empfohlene Muster vergleicht das gebündelte Manifest mit einer Kopie im Datenverzeichnis und installiert neu, wenn sie sich unterscheiden.851Da das Datenverzeichnis länger lebt als jede einzelne Plugin-Version, kann eine Überprüfung auf Verzeichnisexistenz allein nicht erkennen, wenn ein Update die Abhängigkeitsmanifest des Plugins ändert. Das empfohlene Muster vergleicht das gebündelte Manifest mit einer Kopie im Datenverzeichnis und installiert neu, wenn sie sich unterscheiden.

804 852 

805Dieser `SessionStart`-Hook installiert `node_modules` beim ersten Durchlauf und erneut, wenn ein Plugin-Update eine geänderte `package.json` enthält:853Dieser `SessionStart`-Hook installiert `node_modules` beim ersten Lauf und erneut, wenn ein Plugin-Update eine geänderte `package.json` enthält:

806 854 

807```json theme={null}855```json theme={null}

808{856{


821}869}

822```870```

823 871 

824Das `diff` beendet sich mit Nonzero, wenn die gespeicherte Kopie fehlt oder sich vom gebündelten unterscheidet, was sowohl den ersten Durchlauf als auch abhängigkeitsändernde Updates abdeckt. Wenn `npm install` fehlschlägt, entfernt das nachfolgende `rm` das kopierte Manifest, damit die nächste Sitzung erneut versucht.872Der `diff` beendet sich mit Nonzero, wenn die gespeicherte Kopie fehlt oder sich von der gebündelten unterscheidet, was sowohl den ersten Lauf als auch abhängigkeitsändernde Updates abdeckt. Wenn `npm install` fehlschlägt, entfernt das nachfolgende `rm` das kopierte Manifest, damit die nächste Sitzung erneut versucht.

825 873 

826Skripte, die in `${CLAUDE_PLUGIN_ROOT}` gebündelt sind, können dann gegen die persistierten `node_modules` ausgeführt werden:874Skripte, die in `${CLAUDE_PLUGIN_ROOT}` gebündelt sind, können dann gegen die persistierten `node_modules` ausgeführt werden:

827 875 


959├── agents/ # Subagent-Definitionen1007├── agents/ # Subagent-Definitionen

960│ ├── security-reviewer.md1008│ ├── security-reviewer.md

961│ ├── performance-tester.md1009│ ├── performance-tester.md

962│ └── compliance-checker.md1010│ ├── compliance-checker.md

1011│ └── review/ # Agents hier werden als enterprise-plugin:review:<name> geladen

1012│ └── accessibility.md

963├── workflows/ # Workflow-Skripte1013├── workflows/ # Workflow-Skripte

964│ └── release-audit.js1014│ └── release-audit.js

965├── output-styles/ # Ausgabestil-Definitionen1015├── output-styles/ # Ausgabestil-Definitionen


999| **Manifest** | `.claude-plugin/plugin.json` | Plugin-Metadaten und Konfiguration (optional) |1049| **Manifest** | `.claude-plugin/plugin.json` | Plugin-Metadaten und Konfiguration (optional) |

1000| **Skills** | `skills/` | Skills mit `<name>/SKILL.md`-Struktur |1050| **Skills** | `skills/` | Skills mit `<name>/SKILL.md`-Struktur |

1001| **Befehle** | `commands/` | Skills als flache Markdown-Dateien. Verwenden Sie `skills/` für neue Plugins |1051| **Befehle** | `commands/` | Skills als flache Markdown-Dateien. Verwenden Sie `skills/` für neue Plugins |

1002| **Agents** | `agents/` | Subagent-Markdown-Dateien |1052| **Agents** | `agents/` | Subagent-Markdown-Dateien. Unterordner sind Teil des [Agent-Namens](#agents) |

1003| **Workflows** | `workflows/` | [Workflow](/docs/de/workflows)-Skriptdateien |1053| **Workflows** | `workflows/` | [Workflow](/docs/de/workflows)-Skriptdateien |

1004| **Ausgabestile** | `output-styles/` | Ausgabestil-Definitionen |1054| **Ausgabestile** | `output-styles/` | Ausgabestil-Definitionen |

1005| **Designs** | `themes/` | Farbschema-Definitionen |1055| **Designs** | `themes/` | Farbschema-Definitionen |

Details

96 96 

97Die [`opusplan` Modelleinstellung](/docs/de/model-config#opusplan-model-setting) wird während des Plan-Modus zu Opus und während der Ausführung zu Sonnet aufgelöst, sodass jeder Plan-Modus-Toggle ein Modellwechsel ist und einen frischen Cache startet.97Die [`opusplan` Modelleinstellung](/docs/de/model-config#opusplan-model-setting) wird während des Plan-Modus zu Opus und während der Ausführung zu Sonnet aufgelöst, sodass jeder Plan-Modus-Toggle ein Modellwechsel ist und einen frischen Cache startet.

98 98 

99[Automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback) auf Fable-Modellen und Opus 5 ist auch ein Modellwechsel. Wenn ein Sicherheitsklassifizierer eine Anfrage in einer Kategorie mit einem Fallback-Modell kennzeichnet, führt Claude Code die Anfrage auf diesem Modell erneut aus und die Sitzung wird dort fortgesetzt.99[Automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback) auf Fable-Modellen, Opus 5.5 und Opus 5 ist auch ein Modellwechsel. Wenn ein Sicherheitsklassifizierer eine Anfrage in einer Kategorie mit einem Fallback-Modell kennzeichnet, führt Claude Code die Anfrage auf diesem Modell erneut aus und die Sitzung wird dort fortgesetzt.

100 100 

101Wenn die Frontmatter eines Skills oder Befehls ein [`model`](/docs/de/skills#frontmatter-reference) benennt, das nicht das aktuelle Modell der Sitzung ist, ist dieser Turn auch ein Modellwechsel: die nächste Anfrage liest die gesamte Konversationshistorie ohne Cache-Treffer. Das Sitzungsmodell wird bei Ihrer nächsten Eingabeaufforderung fortgesetzt. Ein `context: fork` Skill setzt stattdessen das [Modell des abgespaltenen Subagenten](/docs/de/skills#run-skills-in-a-subagent).101Wenn die Frontmatter eines Skills oder Befehls ein [`model`](/docs/de/skills#frontmatter-reference) benennt, das nicht das aktuelle Modell der Sitzung ist, ist dieser Turn auch ein Modellwechsel: die nächste Anfrage liest die gesamte Konversationshistorie ohne Cache-Treffer. Das Sitzungsmodell wird bei Ihrer nächsten Eingabeaufforderung fortgesetzt. Ein `context: fork` Skill setzt stattdessen das [Modell des abgespaltenen Subagenten](/docs/de/skills#run-skills-in-a-subagent).

102 102 

Details

1384* [Wie Anthropic-Teams Claude Code nutzen](https://claude.com/blog/how-anthropic-teams-use-claude-code): Echte Arbeitsabläufe aus Engineering-, Produkt-, Design- und Daten-Teams mit tiefgreifenden Einblicken in [Recht](https://claude.com/blog/how-anthropic-uses-claude-legal), [Marketing](https://claude.com/blog/how-anthropic-uses-claude-marketing) und [Cybersicherheit](https://claude.com/blog/how-anthropic-uses-claude-cybersecurity)1384* [Wie Anthropic-Teams Claude Code nutzen](https://claude.com/blog/how-anthropic-teams-use-claude-code): Echte Arbeitsabläufe aus Engineering-, Produkt-, Design- und Daten-Teams mit tiefgreifenden Einblicken in [Recht](https://claude.com/blog/how-anthropic-uses-claude-legal), [Marketing](https://claude.com/blog/how-anthropic-uses-claude-marketing) und [Cybersicherheit](https://claude.com/blog/how-anthropic-uses-claude-cybersecurity)

1385* [Leitfaden zum Skalieren von agentengestütztem Coding](https://resources.anthropic.com/hubfs/Scaling%20agentic%20coding%20across%20your%20organization.pdf): Der Enterprise-Adoptionsleitfaden1385* [Leitfaden zum Skalieren von agentengestütztem Coding](https://resources.anthropic.com/hubfs/Scaling%20agentic%20coding%20across%20your%20organization.pdf): Der Enterprise-Adoptionsleitfaden

1386 1386 

1387Für Video-Walkthroughs dieser Muster siehe den kostenlosen [Claude Code in Action](https://anthropic.skilljar.com/claude-code-in-action)-Kurs auf der Anthropic Academy.1387Für Video-Walkthroughs dieser Muster siehe den kostenlosen [Claude Code in Action](https://academy.claude.com/courses/claude-code-in-action)-Kurs auf [Claude Academy](https://academy.claude.com/).

1388 1388 

1389<h2 id="related-resources">1389<h2 id="related-resources">

1390 Verwandte Ressourcen1390 Verwandte Ressourcen

quickstart.md +2 −1

Details

377 Hilfe erhalten377 Hilfe erhalten

378</h2>378</h2>

379 379 

380* **In Claude Code**: Geben Sie `/help` ein oder fragen Sie „how do I..."380* **In Claude Code**: Geben Sie `/help` ein oder fragen Sie „how do I" Fragen

381* **Dokumentation**: Sie sind hier! Durchsuchen Sie andere Leitfäden381* **Dokumentation**: Sie sind hier! Durchsuchen Sie andere Leitfäden

382* **Kurse**: Absolvieren Sie [Claude Code 101](https://academy.claude.com/courses/claude-code-101) und andere kostenlose Selbstlernkurse auf [Claude Academy](https://academy.claude.com/)

382* **Community**: Treten Sie unserem [Discord](https://www.anthropic.com/discord) bei, um Tipps und Unterstützung zu erhalten383* **Community**: Treten Sie unserem [Discord](https://www.anthropic.com/discord) bei, um Tipps und Unterstützung zu erhalten

Details

187* **Ziehen Sie eine Sitzung mit `/teleport`**: Wenn Sie eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web#from-cloud-to-terminal) mit `/teleport` in Ihr Terminal ziehen, empfängt das verbundene Gerät nicht den früheren Verlauf des gezogenen Gesprächs. Neue Nachrichten in beide Richtungen gehen zu und von dem gezogenen Gespräch, das jetzt das in Ihrem Terminal offene ist.187* **Ziehen Sie eine Sitzung mit `/teleport`**: Wenn Sie eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web#from-cloud-to-terminal) mit `/teleport` in Ihr Terminal ziehen, empfängt das verbundene Gerät nicht den früheren Verlauf des gezogenen Gesprächs. Neue Nachrichten in beide Richtungen gehen zu und von dem gezogenen Gespräch, das jetzt das in Ihrem Terminal offene ist.

188* **Nachrichten von Ihren anderen Sitzungen**: Mit [sitzungsübergreifendem Messaging](/docs/de/cross-session-messaging) trägt dieselbe Verbindung Nachrichten zwischen Ihren eigenen Sitzungen auf verschiedenen Maschinen und von Ihren [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), über Anthropic-Server wie der Rest des Remote Control-Verkehrs. [Nachrichtensitzungen auf anderen Maschinen](/docs/de/cross-session-messaging#message-sessions-on-other-machines) behandelt die Lieferregeln und [Kontrollieren Sie eingehende Nachrichten](/docs/de/cross-session-messaging#control-inbound-messages) behandelt die eingehenden Kontrollen. Erfordert Claude Code v2.1.224 oder später.188* **Nachrichten von Ihren anderen Sitzungen**: Mit [sitzungsübergreifendem Messaging](/docs/de/cross-session-messaging) trägt dieselbe Verbindung Nachrichten zwischen Ihren eigenen Sitzungen auf verschiedenen Maschinen und von Ihren [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), über Anthropic-Server wie der Rest des Remote Control-Verkehrs. [Nachrichtensitzungen auf anderen Maschinen](/docs/de/cross-session-messaging#message-sessions-on-other-machines) behandelt die Lieferregeln und [Kontrollieren Sie eingehende Nachrichten](/docs/de/cross-session-messaging#control-inbound-messages) behandelt die eingehenden Kontrollen. Erfordert Claude Code v2.1.224 oder später.

189* **Eingabeaufforderungen, die Sie während einer Runde senden**: Wenn Sie eine Eingabeaufforderung von einem verbundenen Gerät senden, bevor die aktuelle Runde endet, stellt Claude Code sie in die Warteschlange und behält sie im Transkript des Geräts, nachdem diese Runde endet.189* **Eingabeaufforderungen, die Sie während einer Runde senden**: Wenn Sie eine Eingabeaufforderung von einem verbundenen Gerät senden, bevor die aktuelle Runde endet, stellt Claude Code sie in die Warteschlange und behält sie im Transkript des Geräts, nachdem diese Runde endet.

190* **Diff Ihrer Änderungen**: Wenn sich das Verzeichnis der Sitzung in einem Git-Repository befindet, zeigt der Diff-Bereich eines verbundenen Geräts den Diff Ihrer nicht committeten Änderungen. Das Gerät fordert den Diff über die Verbindung an, und Claude Code berechnet ihn auf Ihrem Computer. Wenn Ihr Arbeitsbaum sauber ist, bedient Claude Code stattdessen die Änderungen Ihres Branches, seit er vom Standard-Branch abgewichen ist. Vor v2.1.247 meldete Claude Code den Diff an verbundene Geräte nur in Sitzungen, die von `claude remote-control` bedient wurden.190* **Diff Ihrer Änderungen**: Wenn sich das Verzeichnis der Sitzung in einem Git-Repository befindet, zeigt der Diff-Bereich eines verbundenen Geräts Ihre Änderungen. Das Gerät fordert den Diff über die Verbindung an, und Claude Code berechnet ihn auf Ihrem Computer. Auf einem Branch, der Commits vor dem Standard-Branch des Repositories hat, zeigt der Bereich die Änderungen seit dem Abzweigen des Branches an, einschließlich Ihrer nicht committeten Änderungen. Auf dem Standard-Branch selbst oder auf einem Branch, der nicht vor ihm liegt, zeigt der Bereich nur Ihre nicht committeten Änderungen. Vor v2.1.247 meldete Claude Code den Diff an verbundene Geräte nur in Sitzungen, die von `claude remote-control` bedient wurden.

191* **Modell**: Wenn Sie ein [Modell](/docs/de/model-config) von einem verbundenen Gerät aus auswählen, führt Claude Code die Sitzung auf diesem Modell aus. Die Auswahl `/model` des Terminals, `/status` und `/config` zeigen dieses Modell. Erfordert Claude Code v2.1.238 oder später auf Ihrem Computer.191* **Modell**: Wenn Sie ein [Modell](/docs/de/model-config) von einem verbundenen Gerät aus auswählen, führt Claude Code die Sitzung auf diesem Modell aus. Die Auswahl `/model` des Terminals, `/status` und `/config` zeigen dieses Modell. Erfordert Claude Code v2.1.238 oder später auf Ihrem Computer.

192 * Ein Modell, das Sie vom Modellsteuerelement des Geräts auswählen, gilt nur für die aktuelle Sitzung. Wenn Sie `/model <name>` vom Gerät an eine interaktive Sitzung senden, setzt Claude Code auch Ihren Standard für neue Sitzungen.192 * Ein Modell, das Sie vom Modellsteuerelement des Geräts auswählen, gilt nur für die aktuelle Sitzung. Wenn Sie `/model <name>` vom Gerät an eine interaktive Sitzung senden, setzt Claude Code auch Ihren Standard für neue Sitzungen.

193 * Wenn Sie einen Namen senden, den Claude Code nicht erkennt, z. B. einen Anzeigenamen, wenn eine Modell-ID erwartet wird, [weigert sich Claude Code, die Auswahl zu akzeptieren](/docs/de/errors#model-is-not-a-recognized-model-id) und die Sitzung behält ihr aktuelles Modell. Vor v2.1.260 speicherte Claude Code eine nicht erkannte Auswahl vom Modellsteuerelement des Geräts, und Ihre nächste Nachricht schlug fehl.193 * Wenn Sie einen Namen senden, den Claude Code nicht erkennt, z. B. einen Anzeigenamen, wenn eine Modell-ID erwartet wird, [weigert sich Claude Code, die Auswahl zu akzeptieren](/docs/de/errors#model-is-not-a-recognized-model-id) und die Sitzung behält ihr aktuelles Modell. Vor v2.1.260 speicherte Claude Code eine nicht erkannte Auswahl vom Modellsteuerelement des Geräts, und Ihre nächste Nachricht schlug fehl.

sandboxing.md +19 −13

Details

179 Temporäre Verzeichnisse179 Temporäre Verzeichnisse

180</h4>180</h4>

181 181 

182Das Sitzungs-Temp-Verzeichnis ist standardmäßig in der Sandbox beschreibbar, zusammen mit dem Arbeitsverzeichnis. Sofern Sie nicht [Dateisystem-Isolation deaktivieren](#disable-filesystem-isolation), setzt Claude Code `$TMPDIR` auf dieses Verzeichnis für Sandbox-Befehle, sodass Tools, die temporäre Dateien schreiben, ohne zusätzliche Konfiguration funktionieren. Unsandboxed-Befehle erben Ihr Shell-`$TMPDIR` unverändert, daher lösen Sandbox- und Unsandboxed-Befehle `$TMPDIR` in verschiedene Verzeichnisse auf, während Dateisystem-Isolation aktiviert ist. Um temporäre Dateien zwischen den beiden zu übergeben, schreiben Sie sie stattdessen unter das Arbeitsverzeichnis.182Das Sitzungs-Temp-Verzeichnis ist standardmäßig in der Sandbox beschreibbar, zusammen mit dem Arbeitsverzeichnis. Sofern Sie nicht [Dateisystem-Isolation deaktivieren](#disable-filesystem-isolation), setzt Claude Code `$TMPDIR` auf dieses Verzeichnis für Sandbox-Befehle, sodass Tools, die temporäre Dateien schreiben, ohne zusätzliche Konfiguration funktionieren.

183 

184Unsandboxed-Befehle erben Ihr Shell-`$TMPDIR`, wenn es gesetzt ist, daher lösen Sandbox- und Unsandboxed-Befehle `$TMPDIR` in verschiedene Verzeichnisse auf, während Dateisystem-Isolation aktiviert ist. Wenn Ihre Shell `$TMPDIR` nicht gesetzt oder leer lässt, erhält ein Unsandboxed-Befehl, der auf `$TMPDIR` verweist, Ihre [`CLAUDE_CODE_TMPDIR`](/docs/de/env-vars)-Überschreibung oder das Temp-Verzeichnis des Betriebssystems, wenn Sie keine gesetzt haben oder die Überschreibung ein langer Pfad ist, damit die Variable nicht zu einer leeren Zeichenkette expandiert. Um temporäre Dateien zwischen den beiden zu übergeben, schreiben Sie sie stattdessen unter das Arbeitsverzeichnis.

183 185 

184<h2 id="configure-sandboxing">186<h2 id="configure-sandboxing">

185 Sandboxing konfigurieren187 Sandboxing konfigurieren


309 311 

310* Sandbox-Befehle erben `$TMPDIR` Ihrer Shell anstelle des Sitzungs-Temp-Verzeichnisses, da jedes Temp-Verzeichnis beschreibbar ist und Claude Code Befehle nicht mehr zum Sitzungs-Temp-Verzeichnis umleitet.312* Sandbox-Befehle erben `$TMPDIR` Ihrer Shell anstelle des Sitzungs-Temp-Verzeichnisses, da jedes Temp-Verzeichnis beschreibbar ist und Claude Code Befehle nicht mehr zum Sitzungs-Temp-Verzeichnis umleitet.

311 313 

312 Auf Linux ist die Variable oft in der übergeordneten Shell nicht gesetzt, daher kann sie in Sandbox-Befehlen leer expandieren; Claude Code teilt Claude durch seine Bash-Tool-Anleitung mit, Scratch-Verzeichnisse mit `mktemp -d` zu erstellen, anstatt sich auf `$TMPDIR` zu verlassen.314 Auf Linux ist die Variable oft in der übergeordneten Shell nicht gesetzt. Das Bash-Tool-Leitfaden teilt Claude mit, Scratch-Verzeichnisse mit `mktemp -d` zu erstellen, anstatt sich auf `$TMPDIR` zu verlassen.

313* [`autoAllowBashIfSandboxed`](/docs/de/settings-reference#sandbox-autoallowbashifsandboxed) hat immer noch den Standard `true`, daher laufen Sandbox-Befehle ohne Eingabeaufforderungen. Setzen Sie es auf `false`, um Eingabeaufforderungen für Sandbox-Befehle zu erhalten.315* [`autoAllowBashIfSandboxed`](/docs/de/settings-reference#sandbox-autoallowbashifsandboxed) hat immer noch den Standard `true`, daher laufen Sandbox-Befehle ohne Eingabeaufforderungen. Setzen Sie es auf `false`, um Eingabeaufforderungen für Sandbox-Befehle zu erhalten.

314 316 

315<h3 id="protect-credentials">317<h3 id="protect-credentials">


739 Fehlerbehebung741 Fehlerbehebung

740</h2>742</h2>

741 743 

742Einige Befehle schlagen in der Sandbox fehl, obwohl sie außerhalb davon funktionieren. Die folgenden Fixes behandeln die häufigsten Fälle.744Einige Befehle schlagen in der Sandbox fehl, obwohl sie außerhalb funktionieren. Die folgenden Lösungen decken die häufigsten Fälle ab.

743 745 

744* **Befehle schlagen mit einem Host-not-allowed-Fehler fehl**: Viele CLI-Tools müssen bestimmte Hosts erreichen. Das Gewähren der Genehmigung bei Aufforderung fügt den Host zu Ihrer Zulassungsliste hinzu, damit das Tool in Zukunft in der Sandbox ausgeführt wird.746* **Befehle schlagen mit einem host-not-allowed-Fehler fehl**: Viele CLI-Tools müssen bestimmte Hosts erreichen. Wenn Sie die Berechtigung bei der Aufforderung erteilen, wird der Host zu Ihrer Zulassungsliste hinzugefügt, damit das Tool in Zukunft in der Sandbox ausgeführt wird.

745* **`jest` hängt oder schlägt fehl**: `watchman` ist nicht kompatibel mit der Sandbox. Führen Sie stattdessen `jest --no-watchman` aus.747* **`jest` hängt oder schlägt fehl**: `watchman` ist nicht kompatibel mit der Sandbox. Führen Sie stattdessen `jest --no-watchman` aus.

746* **Go-basierte CLIs schlagen TLS-Verifizierung auf macOS fehl**: Tools wie `gh`, `gcloud` und `terraform` können unter Seatbelt TLS-Verifizierung fehlschlagen. Listen Sie diese Tools in `excludedCommands` auf, um sie außerhalb der Sandbox auszuführen. Wenn Sie `httpProxyPort` mit einem MITM-Proxy und benutzerdefinierter CA verwenden, setzen Sie stattdessen [`enableWeakerNetworkIsolation`](/docs/de/settings-reference#sandbox-enableweakernetworkisolation) auf `true`.748* **Go-basierte CLIs schlagen bei der TLS-Verifizierung auf macOS fehl**: Tools wie `gh`, `gcloud` und `terraform` können unter Seatbelt bei der TLS-Verifizierung fehlschlagen. Listen Sie diese Tools in [`excludedCommands`](/docs/de/settings-reference#sandbox-excludedcommands) auf. Wenn Sie `httpProxyPort` mit einem MITM-Proxy und einer benutzerdefinierten CA verwenden, setzen Sie stattdessen [`enableWeakerNetworkIsolation`](/docs/de/settings-reference#sandbox-enableweakernetworkisolation) auf `true`.

747* **`open`, `osascript` oder browserbasierte Authentifizierungsflows schlagen mit Fehler `-600` auf macOS fehl**: Die Sandbox blockiert Apple Events standardmäßig. Setzen Sie [`allowAppleEvents`](/docs/de/settings-reference#sandbox-allowappleevents) in Ihren Benutzer-, verwalteten oder CLI-Einstellungen auf `true`, um diese zuzulassen. Projekteinstellungen werden für diesen Schlüssel ignoriert. Das Aktivieren entfernt die Code-Ausführungsisolation, da Sandbox-Befehle dann andere Anwendungen ohne Benutzeraufforderung unsandboxed starten können und AppleScript-Befehle an laufende Anwendungen senden können, unterliegen jedoch der macOS-Automatisierungszustimmungsaufforderung (TCC). Alternativ können Sie den Befehl zu `excludedCommands` hinzufügen, um ihn außerhalb der Sandbox auszuführen.749* **`open`, `osascript` oder browserbasierte Authentifizierungsabläufe schlagen mit Fehler `-600` auf macOS fehl**: Die Sandbox blockiert Apple Events standardmäßig. Setzen Sie [`allowAppleEvents`](/docs/de/settings-reference#sandbox-allowappleevents) in Ihren Benutzer-, verwalteten oder CLI-Einstellungen auf `true`, um diese zuzulassen. Projekteinstellungen werden für diesen Schlüssel ignoriert. Das Aktivieren entfernt die Code-Ausführungsisolation, da sandboxed-Befehle dann andere Anwendungen ohne Sandbox ohne Benutzereingabeaufforderung starten können und AppleScript-Befehle an laufende Anwendungen senden können, unterliegen jedoch der macOS-Automatisierungszustimmungsaufforderung (TCC). Alternativ können Sie den Befehl zu [`excludedCommands`](/docs/de/settings-reference#sandbox-excludedcommands) hinzufügen.

748* **`docker`-Befehle schlagen fehl**: `docker` ist nicht kompatibel mit der Sandbox. Fügen Sie `docker *` zu `excludedCommands` hinzu, um es außerhalb der Sandbox auszuführen.750* **`docker`-Befehle schlagen fehl**: `docker` ist nicht kompatibel mit der Sandbox. Fügen Sie `docker *` zu [`excludedCommands`](/docs/de/settings-reference#sandbox-excludedcommands) hinzu.

749* **`pbcopy`, `xclip` oder `wl-copy` aktualisiert die Zwischenablage nicht**: Diese Zwischenablage-Dienstprogramme können die Systemzwischenablage von innerhalb der Sandbox nicht erreichen. In diesem Fall kommt der Text, der an sie weitergeleitet wird, nicht an. Um Claudes Ausgabe in Ihre Zwischenablage zu kopieren, bitten Sie Claude, sie in seiner Antwort auszudrucken, und führen Sie dann [`/copy`](/docs/de/commands) aus, das von dem Claude Code-Prozess aus in die Zwischenablage schreibt, anstatt von einem Sandbox-Befehl. Alternativ können Sie `pbcopy *`, `wl-copy *` oder `xclip *` zu `excludedCommands` hinzufügen, um den Befehl außerhalb der Sandbox auszuführen.751* **`pbcopy`, `xclip` oder `wl-copy` aktualisiert die Zwischenablage nicht**: Diese Zwischenablage-Dienstprogramme können aus der Sandbox heraus die Systemzwischenablage nicht erreichen, in welchem Fall der Text, der an sie weitergeleitet wird, nicht ankommt.

750* **Ein Git-Befehl schlägt mit `unable to unlink old` fehl**: `git merge`, `git checkout` und ähnliche Befehle schlagen auf diese Weise fehl, wenn sie eine Datei ersetzen müssen, in die die Sandbox Schreibvorgänge verweigert, unabhängig davon, ob sich diese Datei unter einem [geschützten Pfad](#protected-paths) wie `.claude/skills` befindet, unter einem Ihrer `denyWrite`-Einträge oder außerhalb der Verzeichnisse, in die die Sandbox Befehlen Schreibvorgänge erlaubt. Unter Linux und WSL2 endet der Fehler mit `Read-only file system`.752 

753 Um Claudes Ausgabe in Ihre Zwischenablage zu kopieren, bitten Sie Claude, sie in seiner Antwort auszudrucken, und führen Sie dann [`/copy`](/docs/de/commands) aus. `/copy` schreibt aus dem Claude Code-Prozess in die Zwischenablage, nicht aus einem sandboxed-Befehl.

754 

755 Wenn Claude Text an eines dieser Tools weiterleitet, führt das Hinzufügen des Tools zu [`excludedCommands`](/docs/de/settings-reference#sandbox-excludedcommands) diesen Aufruf nicht automatisch aus der Sandbox heraus.

756* **Ein git-Befehl schlägt mit `unable to unlink old` fehl**: `git merge`, `git checkout` und ähnliche Befehle schlagen auf diese Weise fehl, wenn sie eine Datei ersetzen müssen, in die die Sandbox Schreibvorgänge verweigert, unabhängig davon, ob sich diese Datei unter einem [geschützten Pfad](#protected-paths) wie `.claude/skills` befindet, unter einem Ihrer `denyWrite`-Einträge oder außerhalb der Verzeichnisse, in die die Sandbox Befehle überhaupt schreiben lässt. Unter Linux und WSL2 endet der Fehler mit `Read-only file system`.

751 757 

752 Nach dem Fehler kann Claude [anbieten, den Befehl außerhalb der Sandbox erneut auszuführen](#the-unsandboxed-retry-escape-hatch); genehmigen Sie diesen erneuten Versuch, oder führen Sie den Git-Befehl selbst in einem anderen Terminal aus. Wenn Sie `allowUnsandboxedCommands` auf `false` gesetzt haben, kann Claude den erneuten Versuch nicht anbieten, daher führen Sie den Befehl selbst aus. Wenn derselbe Git-Befehl häufig fehlschlägt, fügen Sie ihn zu [`excludedCommands`](/docs/de/settings-reference#sandbox-excludedcommands) hinzu.758 Nach dem Fehler kann Claude [anbieten, den Befehl außerhalb der Sandbox erneut auszuführen](#the-unsandboxed-retry-escape-hatch); genehmigen Sie diesen erneuten Versuch, oder führen Sie den git-Befehl selbst in einem anderen Terminal aus. Wenn Sie `allowUnsandboxedCommands` auf `false` gesetzt haben, kann Claude den erneuten Versuch nicht anbieten, also führen Sie den Befehl selbst aus. Wenn derselbe git-Befehl häufig fehlschlägt, fügen Sie ihn zu [`excludedCommands`](/docs/de/settings-reference#sandbox-excludedcommands) hinzu.

753* **Bubblewrap schlägt beim Start in einem Container fehl**: In einem unprivilegierten Container kann bubblewrap kein frisches `/proc`-Dateisystem mounten, daher schlagen Sandbox-Befehle mit einem `bwrap`-Fehler wie `Can't mount proc on /newroot/proc: Operation not permitted` fehl. Setzen Sie [`enableWeakerNestedSandbox`](/docs/de/settings-reference#sandbox-enableweakernestedsandbox) auf `true`, damit die innere Sandbox das vorhandene `/proc` des Containers bind-mountet. Verwenden Sie diese Einstellung nur, wenn der äußere Container bereits die Isolationsgrenze bietet, die Sie benötigen, da sie Prozessinformationen für Sandbox-Befehle verfügbar macht, die ein frisches `/proc`-Mount verbergen würde.759* **Bubblewrap schlägt fehl, um in einem Container zu starten**: In einem unprivilegierten Container kann bubblewrap kein neues `/proc`-Dateisystem bereitstellen, daher schlagen sandboxed-Befehle mit einem `bwrap`-Fehler wie `Can't mount proc on /newroot/proc: Operation not permitted` fehl. Setzen Sie [`enableWeakerNestedSandbox`](/docs/de/settings-reference#sandbox-enableweakernestedsandbox) auf `true`, damit die innere Sandbox das vorhandene `/proc` des Containers stattdessen bind-mounted. Verwenden Sie diese Einstellung nur, wenn der äußere Container bereits die Isolationsgrenze bietet, die Sie benötigen, da sie Prozessinformationen für sandboxed-Befehle verfügbar macht, die eine neue `/proc`-Bereitstellung verbergen würde.

754* **0-Byte-Dateien mit Schreibschutz erscheinen in `.claude`-Einstellungspfaden, und „Ja, und nicht mehr fragen" speichert nicht**: Unter Linux und WSL2 setzt die Sandbox eine Schreibverweigerung für eine Datei, die noch nicht existiert, durch, indem sie dort einen 0-Byte-Platzhalter mit Schreibschutz erstellt, während ein Sandbox-Befehl ausgeführt wird. Die Sandbox entfernt den Platzhalter danach. Wenn eine Sitzung vor dieser Bereinigung abgebrochen wird, beispielsweise durch SIGKILL, bleiben die Platzhalter bestehen. Spätere Sitzungen binden sie bei jedem Start erneut schreibgeschützt, daher schlägt ein Einstellungsschreibvorgang wie das Speichern einer Genehmigungswahl fehl, wenn einer vorhanden ist.760* **0-Byte-Dateien mit Schreibschutz erscheinen in `.claude`-Einstellungspfaden, und „Ja, und nicht mehr fragen" wird nicht gespeichert**: Unter Linux und WSL2 hält die Sandbox einen Schreibverweigerung auf einer Datei, die noch nicht existiert, indem sie dort einen 0-Byte-Platzhalter mit Schreibschutz erstellt, während ein sandboxed-Befehl ausgeführt wird. Die Sandbox entfernt den Platzhalter danach. Wenn eine Sitzung vor dieser Bereinigung beendet wird, beispielsweise durch SIGKILL, bleiben die Platzhalter bestehen. Spätere Sitzungen binden sie bei jedem Start erneut schreibgeschützt, daher schlägt ein Einstellungsschreibvorgang wie das Speichern einer Berechtigungswahl fehl, wenn einer vorhanden ist.

755 761 

756 Führen Sie `claude doctor` aus, um die verbleibenden Platzhalter-Dateien aufzulisten. Die Warnung [`Stale sandbox mask files left by a killed session`](/docs/de/errors#stale-sandbox-mask-files-left-by-a-killed-session) nennt bis zu drei davon und zählt den Rest. Löschen Sie jede Datei mit `rm`, während keine andere Claude Code-Sitzung in diesem Projekt ausgeführt wird. Vor v2.1.257 ließ Claude Code dieselben Platzhalter ohne Kennzeichnung zurück.762 Führen Sie `claude doctor` aus, um die verbleibenden Platzhalter-Dateien aufzulisten. Die Warnung [`Stale sandbox mask files left by a killed session`](/docs/de/errors#stale-sandbox-mask-files-left-by-a-killed-session) nennt bis zu drei davon und zählt den Rest. Löschen Sie jede Datei mit `rm`, während keine andere Claude Code-Sitzung in diesem Projekt ausgeführt wird. Vor v2.1.257 ließ Claude Code dieselben Platzhalter ohne Kennzeichnung zurück.

757* **`--dangerously-skip-permissions` schlägt als Root fehl**: Dieses Flag wird blockiert, wenn es als Root oder über sudo auf Linux und macOS ausgeführt wird, da Root-Zugriff kombiniert mit keinen Genehmigungseingaben jede Datei oder jeden Service auf dem System ändern kann. Die Prüfung wird automatisch in einer erkannten Sandbox übersprungen. Um autonom in einem Container auszuführen, verwenden Sie die [Dev-Container](/docs/de/devcontainer)-Konfiguration, die Claude Code als Nicht-Root-Benutzer ausführt.763* **`--dangerously-skip-permissions` schlägt als root fehl**: Dieses Flag wird blockiert, wenn es als root oder über sudo unter Linux und macOS ausgeführt wird, da root-Zugriff kombiniert mit keinen Berechtigungsaufforderungen jede Datei oder jeden Dienst auf dem System ändern kann. Die Überprüfung wird automatisch in einer erkannten Sandbox übersprungen. Um autonom in einem Container zu laufen, verwenden Sie die [dev container](/docs/de/devcontainer)-Konfiguration, die Claude Code als Nicht-Root-Benutzer ausführt.

758 764 

759<h2 id="limitations">765<h2 id="limitations">

760 Einschränkungen766 Einschränkungen

Details

31/plugin install security-guidance@claude-plugins-official31/plugin install security-guidance@claude-plugins-official

32```32```

33 33 

34`/plugin` öffnet ein interaktives Panel und ist nur in der Terminal-CLI verfügbar. Wenn Claude meldet, dass `/plugin` in dieser Umgebung nicht verfügbar ist, installieren Sie auf andere Weise:34`/plugin` öffnet ein interaktives Panel in der Terminal-CLI. Wenn Claude meldet, dass `/plugin` in dieser Umgebung nicht verfügbar ist, installieren Sie auf andere Weise:

35 35 

36* **Claude-Desktop-App, lokale oder SSH-Sitzung**: öffnen Sie den [Plugin-Browser](/docs/de/desktop#install-plugins), indem Sie auf die Schaltfläche **+** neben der Eingabeaufforderung klicken, dann auf **Plugins** und dann auf **Plugin hinzufügen**36* **Claude-Desktop-App, lokale oder SSH-Sitzung**: öffnen Sie den [Plugin-Browser](/docs/de/desktop#install-plugins), indem Sie auf die Schaltfläche **+** neben der Eingabeaufforderung klicken, dann auf **Plugins** und dann auf **Plugin hinzufügen**

37* **Cloud-Sitzungen**: deklarieren Sie das Plugin in `.claude/settings.json`, wie unter [In Cloud-Sitzungen und gemeinsamen Repositories aktivieren](#enable-in-cloud-sessions-and-shared-repositories) gezeigt37* **VS Code-Erweiterung**: installieren Sie aus dem [Dialog **Plugins verwalten**](/docs/de/vs-code#manage-plugins)

38* **Cloud-Sitzungen**: aktivieren Sie das Plugin für Ihr claude.ai-Konto, damit Claude Code es als [synchronisiertes Plugin](/docs/de/plugins-reference#synced-plugins) lädt. Eine Cloud-Sitzung lädt keine Plugins aus Ihren Benutzereinstellungen oder aus der Datei `.claude/settings.json` des Repositorys, wie unter [Was wird aus Ihrem Setup übernommen](/docs/de/cloud-environments#what-carries-over-from-your-setup) erläutert

38 39 

39Die Terminal-Installation fordert Sie auf, einen Bereich auszuwählen. Wählen Sie Benutzerbereich, um das Plugin in Ihre Benutzereinstellungen zu schreiben, sodass es in jeder neuen lokalen Sitzung geladen wird, die Sie auf diesem Computer starten.40Die Terminal-Installation fordert Sie auf, einen Bereich auszuwählen. Wählen Sie Benutzerbereich, um das Plugin in Ihre Benutzereinstellungen zu schreiben, sodass es in jeder neuen lokalen Sitzung geladen wird, die Sie auf diesem Computer starten.

40 41 


45 46 

46Überprüfen Sie die Installationszusammenfassung. Wenn sie `Run /reload-plugins to activate.` meldet, siehe [Plugin-Änderungen ohne Neustart anwenden](/docs/de/discover-plugins#apply-plugin-changes-without-restarting), um das Plugin in Ihrer aktuellen Sitzung zu aktivieren.47Überprüfen Sie die Installationszusammenfassung. Wenn sie `Run /reload-plugins to activate.` meldet, siehe [Plugin-Änderungen ohne Neustart anwenden](/docs/de/discover-plugins#apply-plugin-changes-without-restarting), um das Plugin in Ihrer aktuellen Sitzung zu aktivieren.

47 48 

48<h3 id="enable-in-cloud-sessions-and-shared-repositories">49<h3 id="enable-for-your-team-in-local-sessions">

49 In Cloud-Sitzungen und gemeinsamen Repositories aktivieren50 Plugin für Ihr Team in lokalen Sitzungen aktivieren

50</h3>51</h3>

51 52 

52Benutzergebundene Plugins werden nicht in [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) übernommen, da diese Sitzungen nicht auf Ihrem Computer ausgeführt werden. Um das Plugin dort zu aktivieren oder es für alle einzuschalten, die ein Repository klonen, deklarieren Sie es in den eingecheckten Einstellungen des Projekts:53Um das Plugin in den lokalen Sitzungen einzuschalten, die Ihre Teamkollegen im Repository starten, deklarieren Sie es in den eingecheckten Einstellungen des Projekts:

53 54 

54```json .claude/settings.json theme={null}55```json .claude/settings.json theme={null}

55{56{

Details

184 184 

185Der Proxy erfordert `--capacity 1`, weil die Proxy-URL pro Sitzung ist, und Git 2.32 oder neuer, weil älteres Git den Konfigurationsmechanismus ignoriert, den der Proxy verwendet, um Sitzungen voneinander zu isolieren. Der Runner weigert sich zu starten, wenn eine der Anforderungen nicht erfüllt ist. Weil der Proxy von Anthropic's Seite abruft, muss Ihr Git-Host von Anthropic-Infrastruktur erreichbar sein, die gleiche Anforderung, die Anthropic-gehostete Sitzungen haben; für einen Git-Host, der nur innerhalb Ihres Netzwerks routbar ist, verwenden Sie stattdessen einen [`checkout`-Lebenszyklus-Hook](/docs/de/self-hosted-environments-configuration#checkout). Jeder Runner-Prozess verarbeitet jeweils eine Sitzung, daher führen Sie mehr Replicas für Parallelität aus. Wenn der Proxy aktiviert ist, haben `--git-host-rewrite` und `--git-ssh-rewrite` keine Auswirkung: Die Proxy-URL zeigt auf `api.anthropic.com`, nicht auf Ihren Git-Host.185Der Proxy erfordert `--capacity 1`, weil die Proxy-URL pro Sitzung ist, und Git 2.32 oder neuer, weil älteres Git den Konfigurationsmechanismus ignoriert, den der Proxy verwendet, um Sitzungen voneinander zu isolieren. Der Runner weigert sich zu starten, wenn eine der Anforderungen nicht erfüllt ist. Weil der Proxy von Anthropic's Seite abruft, muss Ihr Git-Host von Anthropic-Infrastruktur erreichbar sein, die gleiche Anforderung, die Anthropic-gehostete Sitzungen haben; für einen Git-Host, der nur innerhalb Ihres Netzwerks routbar ist, verwenden Sie stattdessen einen [`checkout`-Lebenszyklus-Hook](/docs/de/self-hosted-environments-configuration#checkout). Jeder Runner-Prozess verarbeitet jeweils eine Sitzung, daher führen Sie mehr Replicas für Parallelität aus. Wenn der Proxy aktiviert ist, haben `--git-host-rewrite` und `--git-ssh-rewrite` keine Auswirkung: Die Proxy-URL zeigt auf `api.anthropic.com`, nicht auf Ihren Git-Host.

186 186 

187Der Runner meldet die Opt-in-Entscheidung auch Anthropic, wenn er sich registriert, und gibt beim Start `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)` aus. Jede Sitzung auf einem Opt-in-Runner verwendet dann entweder Anthropic-verwaltetes Git oder die Pro-Sitzungs-Proxy-URL. Wenn eine Sitzung die Pro-Sitzungs-Proxy-URL verwendet, protokolliert der Runner eine `[runner:warn]`-Zeile, die dies angibt.187Der Runner meldet die Opt-in-Entscheidung auch Anthropic, wenn er sich registriert, und gibt beim Start `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)` aus. Die Meldung der Opt-in-Entscheidung erfordert Claude Code v2.1.267 oder später, und frühere Versionen akzeptieren das Flag, ohne es zu melden oder diese Zeile auszugeben. Jede Sitzung auf einem Opt-in-Runner verwendet dann entweder Anthropic-verwaltetes Git oder die Pro-Sitzungs-Proxy-URL. Wenn eine Sitzung die Pro-Sitzungs-Proxy-URL verwendet, protokolliert der Runner eine `[runner:warn]`-Zeile, die dies angibt.

188 188 

189<h3 id="rewrite-git-urls-for-private-networks">189<h3 id="rewrite-git-urls-for-private-networks">

190 Schreiben Sie Git-URLs für private Netzwerke um190 Schreiben Sie Git-URLs für private Netzwerke um


223Tauschen Sie `linux-x64` gegen `linux-arm64` aus, wenn Ihre Knoten ARM sind, oder gegen `linux-x64-musl` oder `linux-arm64-musl` auf einem musl-basierten Image wie Alpine; siehe [Alpine Linux-Setup](/docs/de/setup#alpine-linux-and-musl-based-distributions) für die zusätzlichen Pakete, die musl-Images benötigen. Die URL ist der Standard-Claude-Code-Release-Ort, daher können Sie die heruntergeladene Binärdatei gegen das signierte Manifest des Release überprüfen, wie in [Binäre Integrität und Code-Signierung](/docs/de/setup#binary-integrity-and-code-signing) beschrieben. Erstellen Sie das Image mit Claude Code Version 2.1.224 oder später, pushen Sie es dann in Ihre Registry und referenzieren Sie es in den Rezepten unten:223Tauschen Sie `linux-x64` gegen `linux-arm64` aus, wenn Ihre Knoten ARM sind, oder gegen `linux-x64-musl` oder `linux-arm64-musl` auf einem musl-basierten Image wie Alpine; siehe [Alpine Linux-Setup](/docs/de/setup#alpine-linux-and-musl-based-distributions) für die zusätzlichen Pakete, die musl-Images benötigen. Die URL ist der Standard-Claude-Code-Release-Ort, daher können Sie die heruntergeladene Binärdatei gegen das signierte Manifest des Release überprüfen, wie in [Binäre Integrität und Code-Signierung](/docs/de/setup#binary-integrity-and-code-signing) beschrieben. Erstellen Sie das Image mit Claude Code Version 2.1.224 oder später, pushen Sie es dann in Ihre Registry und referenzieren Sie es in den Rezepten unten:

224 224 

225```bash theme={null}225```bash theme={null}

226docker build --build-arg CLAUDE_CODE_VERSION=2.1.224 -t <your-registry>/claude-runner:latest .226docker build --build-arg CLAUDE_CODE_VERSION=2.1.267 -t <your-registry>/claude-runner:latest .

227```227```

228 228 

229<h2 id="size-cpu-and-memory-for-sessions">229<h2 id="size-cpu-and-memory-for-sessions">

Details

171* **Der `env`-Block**: abgesehen von der Telemetrie-Einheit und Routing-Variablen, die mit einem Anmeldedatenschlüssel gekoppelt sind, beide unten behandelt, wird er pro Schlüssel über die administratorgesteuerten Quellen hinweg zusammengeführt. Für jede Umgebungsvariable gewinnt die höchstpriorisierte Quelle, die sie definiert, und niedrigere administratorgesteuerte Quellen füllen Variablen aus, die die höheren Quellen nicht setzen. Ein endpunktverwalteter `env`-Eintrag gilt daher, wenn die serververwaltete Konfiguration diese Variable nicht setzt, oder während ein zwischengespeicherter Serverwert dafür [zurückgehalten wird, bis der Server ihn bestätigt](#fetch-and-caching-behavior). Erfordert Claude Code v2.1.223 oder später. Vor v2.1.223 wendet Claude Code nur den `env`-Block der ausgewählten Quelle an.171* **Der `env`-Block**: abgesehen von der Telemetrie-Einheit und Routing-Variablen, die mit einem Anmeldedatenschlüssel gekoppelt sind, beide unten behandelt, wird er pro Schlüssel über die administratorgesteuerten Quellen hinweg zusammengeführt. Für jede Umgebungsvariable gewinnt die höchstpriorisierte Quelle, die sie definiert, und niedrigere administratorgesteuerte Quellen füllen Variablen aus, die die höheren Quellen nicht setzen. Ein endpunktverwalteter `env`-Eintrag gilt daher, wenn die serververwaltete Konfiguration diese Variable nicht setzt, oder während ein zwischengespeicherter Serverwert dafür [zurückgehalten wird, bis der Server ihn bestätigt](#fetch-and-caching-behavior). Erfordert Claude Code v2.1.223 oder später. Vor v2.1.223 wendet Claude Code nur den `env`-Block der ausgewählten Quelle an.

172 * **Telemetrie-Einheit**: die `OTEL_EXPORTER_OTLP_*` Exporter-Schlüssel, die `OTEL_LOG_*` Inhaltserfassungs-Umschalter, `OTEL_LOGS_EXPORTER` und die Beta-Tracing-Variablen `ENABLE_BETA_TRACING_DETAILED` und `BETA_TRACING_ENDPOINT` folgen der höchsten Quelle, die eine von ihnen als Einheit setzt. Eine Quelle, die den `otelHeadersHelper` Anmeldedatenschlüssel liefert, beansprucht die Einheit auch, landet diese Variablen aber nur, wenn sie die ausgewählte Quelle ist: Eine Quelle, die nicht ausgewählt ist, aber den Schlüssel liefert, trägt keine von ihnen bei und blockiert immer noch niedrigere Quellen davon, sie auszufüllen. In jedem Fall kann ein Exporter-Endpunkt von einer Quelle niemals mit Anmeldedaten von einer anderen gekoppelt werden.172 * **Telemetrie-Einheit**: die `OTEL_EXPORTER_OTLP_*` Exporter-Schlüssel, die `OTEL_LOG_*` Inhaltserfassungs-Umschalter, `OTEL_LOGS_EXPORTER` und die Beta-Tracing-Variablen `ENABLE_BETA_TRACING_DETAILED` und `BETA_TRACING_ENDPOINT` folgen der höchsten Quelle, die eine von ihnen als Einheit setzt. Eine Quelle, die den `otelHeadersHelper` Anmeldedatenschlüssel liefert, beansprucht die Einheit auch, landet diese Variablen aber nur, wenn sie die ausgewählte Quelle ist: Eine Quelle, die nicht ausgewählt ist, aber den Schlüssel liefert, trägt keine von ihnen bei und blockiert immer noch niedrigere Quellen davon, sie auszufüllen. In jedem Fall kann ein Exporter-Endpunkt von einer Quelle niemals mit Anmeldedaten von einer anderen gekoppelt werden.

173 * **Anmeldedaten-gekoppeltes Routing**: eine Quelle, die Routing-Variablen mit einem Anmeldedatenschlüssel nur für die ausgewählte Quelle, wie `apiKeyHelper` oder `otelHeadersHelper`, koppelt, trägt diese Routing-Variablen nur bei, wenn sie den Slot gewinnt.173 * **Anmeldedaten-gekoppeltes Routing**: eine Quelle, die Routing-Variablen mit einem Anmeldedatenschlüssel nur für die ausgewählte Quelle, wie `apiKeyHelper` oder `otelHeadersHelper`, koppelt, trägt diese Routing-Variablen nur bei, wenn sie den Slot gewinnt.

174* **Gateway-Anmeldeschlüssel**: Claude Code liest [`forceLoginGatewayUrl`](/docs/de/settings-reference#forcelogingatewayurl) oder den `"gateway"` Wert von [`forceLoginMethod`](/docs/de/settings-reference#forceloginmethod) niemals aus serververwalteten Einstellungen, daher liefert die Auswahl serververwalteter Einstellungen weder eine Gateway-Anmeldung noch verbirgt eine in einer MDM-Richtlinie oder verwalteten Einstellungsdatei gesetzte. Der [`managedSourcesBehavior` Eintrag](/docs/de/settings-reference#managedsourcesbehavior) sagt, welche administratorgesteuerte Quelle auf der Maschine sie liefert.174* **Gateway-Anmeldeschlüssel**: Claude Code liest [`forceLoginGatewayUrl`](/docs/de/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/de/settings-reference#gatewayinternalnetworks) oder den `"gateway"` Wert von [`forceLoginMethod`](/docs/de/settings-reference#forceloginmethod) niemals aus serververwalteten Einstellungen, daher liefert ein Wert dort weder eine Gateway-Anmeldung noch verbirgt eine in einer MDM-Richtlinie oder verwalteten Einstellungsdatei gesetzte. Der [`managedSourcesBehavior` Eintrag](/docs/de/settings-reference#managedsourcesbehavior) sagt, welche administratorgesteuerte Quelle auf der Maschine sie liefert.

175 175 

176<h3 id="fetch-and-caching-behavior">176<h3 id="fetch-and-caching-behavior">

177 Abruf- und Caching-Verhalten177 Abruf- und Caching-Verhalten

sessions.md +1 −1

Details

147Sitzungen, die Sie nicht benennen, erhalten immer noch zwei Bezeichnungen, die Claude Code zuweist. Nur der generierte Titel funktioniert als Resume-Handle:147Sitzungen, die Sie nicht benennen, erhalten immer noch zwei Bezeichnungen, die Claude Code zuweist. Nur der generierte Titel funktioniert als Resume-Handle:

148 148 

149* Standard-Anzeigename: Interaktive Sitzungen, die Sie nie benennen, erhalten beim Start einen Standard-Anzeigenamen. Erfordert Claude Code v2.1.196 oder später. Der Standard kombiniert den Namen des Arbeitsverzeichnisses mit einem zweistelligen Suffix, beispielsweise `my-app-3f`, und identifiziert die Sitzung in Auflistungen laufender Sitzungen, wie z. B. [Agent-Ansicht](/docs/de/agent-view) und `claude agents --json` Ausgabe. Der Standard ist kein Resume-Handle. Wenn Sie ihn an `claude --resume` oder `/resume` übergeben, findet Claude Code die Sitzung nicht. Das Benennen der Sitzung ersetzt den Standard in diesen Auflistungen, ebenso wie das Akzeptieren eines Plans.149* Standard-Anzeigename: Interaktive Sitzungen, die Sie nie benennen, erhalten beim Start einen Standard-Anzeigenamen. Erfordert Claude Code v2.1.196 oder später. Der Standard kombiniert den Namen des Arbeitsverzeichnisses mit einem zweistelligen Suffix, beispielsweise `my-app-3f`, und identifiziert die Sitzung in Auflistungen laufender Sitzungen, wie z. B. [Agent-Ansicht](/docs/de/agent-view) und `claude agents --json` Ausgabe. Der Standard ist kein Resume-Handle. Wenn Sie ihn an `claude --resume` oder `/resume` übergeben, findet Claude Code die Sitzung nicht. Das Benennen der Sitzung ersetzt den Standard in diesen Auflistungen, ebenso wie das Akzeptieren eines Plans.

150* Generierter Titel: Wenn Sie eine Sitzung nicht benennen, generiert Claude Code einen Sitzungstitel für sie. Der Titel ist eine kurze Zusammenfassung Ihres ersten Prompts, geschrieben durch eine Hintergrundanfrage an das kleine/schnelle Modell, normalerweise ein Haiku-Klasse-Modell. Das Akzeptieren eines Plans ersetzt ihn durch einen Titel basierend auf dem Plan. Das Benennen der Sitzung ersetzt den generierten Titel. Sie sehen den Titel des ersten Prompts in der [Sitzungsauswahl](#use-the-session-picker) und im Statusline-Feld [`session_name`](/docs/de/statusline), wenn kein Name festgelegt ist. Der Plan-Titel wird an denselben zwei Stellen angezeigt und auch in den Auflistungen laufender Sitzungen, wo er den Platz des Standard-Anzeigenamens einnimmt. Sie können jeden Titel an `claude --resume` oder `/resume` übergeben, und Claude Code löst ihn auf dieselbe Weise auf wie einen Namen, den Sie festgelegt haben.150* Generierter Titel: Wenn Sie eine Sitzung nicht benennen, generiert Claude Code einen Sitzungstitel für sie. Der Titel ist eine kurze Zusammenfassung Ihres ersten Prompts, geschrieben durch eine Hintergrundanfrage an das kleine/schnelle Modell, normalerweise ein Haiku-Klasse-Modell. Eine `claude -p`-Ausführung, die Sie direkt von einer Shell oder einem Skript aus starten, erhält keinen. Das Akzeptieren eines Plans ersetzt den generierten Titel durch einen Titel basierend auf dem Plan. Das Benennen der Sitzung ersetzt ihn ebenfalls. Sie sehen den Titel des ersten Prompts in der [Sitzungsauswahl](#use-the-session-picker) und im Statusline-Feld [`session_name`](/docs/de/statusline), wenn kein Name festgelegt ist. Der Plan-Titel wird an denselben zwei Stellen angezeigt und auch in den Auflistungen laufender Sitzungen, wo er den Platz des Standard-Anzeigenamens einnimmt. Sie können jeden Titel an `claude --resume` oder `/resume` übergeben, und Claude Code löst ihn auf dieselbe Weise auf wie einen Namen, den Sie festgelegt haben.

151 151 

152<h2 id="use-the-session-picker">152<h2 id="use-the-session-picker">

153 Verwenden Sie die Sitzungsauswahl153 Verwenden Sie die Sitzungsauswahl

settings.md +40 −40

Details

400 Einstellungsdateien und wer sie betreffen400 Einstellungsdateien und wer sie betreffen

401</h2>401</h2>

402 402 

403Claude Code liest Einstellungen aus vier Dateien, und eine Organisation kann auch verwaltete Einstellungen von der claude.ai-Konsole bereitstellen. Jede Quelle hat einen Bereich: die Menge von Personen und Projekten, auf die eine in ihr gespeicherte Einstellung angewendet wird, ob das nur Sie, alle in einem Projekt oder alle in Ihrer Organisation sind.403Claude Code liest Einstellungen aus vier Dateien, und eine Organisation kann auch verwaltete Einstellungen über die claude.ai-Konsole bereitstellen. Jede Quelle hat einen Geltungsbereich: die Menge von Personen und Projekten, auf die eine in ihr gespeicherte Einstellung angewendet wird, ob das nur Sie, alle in einem Projekt oder alle in Ihrer Organisation sind.

404 404 

405| Bereich | Datei | Wer ist betroffen | Verwenden Sie es für |405| Geltungsbereich | Datei | Wer es betrifft | Verwenden Sie es für |

406| :------------------ | :------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- |406| :------------------ | :------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- |

407| Benutzer | `~/.claude/settings.json` | Sie, in jedem Projekt auf dieser Maschine | Persönliche Voreinstellungen: Design, Editor-Modus, Standardmodell, Ihre eigenen Berechtigungsregeln |407| Benutzer | `~/.claude/settings.json` | Sie, in jedem Projekt auf diesem Computer | Persönliche Voreinstellungen: Design, Editor-Modus, Standardmodell, Ihre eigenen Berechtigungsregeln |

408| Gemeinsames Projekt | `.claude/settings.json` | Alle, die im Ordner arbeiten, der es enthält. In einem Git-Repository committen Sie es, damit Teamkollegen es bekommen | Team-Berechtigungen, Hooks, Plugins und die Umgebungsvariablen, die das Projekt benötigt |408| Gemeinsames Projekt | `.claude/settings.json` | Alle, die im Ordner arbeiten, der es enthält. In einem Git-Repository committen Sie es, damit Ihre Teamkollegen es erhalten | Team-Berechtigungen, Hooks, Plugins und die Umgebungsvariablen, die das Projekt benötigt |

409| Projekt lokal | `.claude/settings.local.json` | Sie, nur in diesem einen Projekt. Claude Code hält es aus Git heraus, wenn es die Datei erstellt; wenn Sie sie von Hand erstellen, fügen Sie sie selbst zu `.gitignore` hinzu | Persönliche Überschreibungen für ein Projekt und Testen vor dem Teilen |409| Projekt lokal | `.claude/settings.local.json` | Sie, nur in diesem einen Projekt. Claude Code hält es aus Git heraus, wenn es die Datei erstellt; wenn Sie sie von Hand erstellen, fügen Sie sie selbst zu `.gitignore` hinzu | Persönliche Überschreibungen für ein Projekt und Tests vor dem Teilen |

410| Verwaltet | `managed-settings.json` und andere [verwaltete Quellen](/docs/de/managed-settings#delivery-mechanisms) | Alle, für die Ihre Organisation es bereitstellt; nichts, das Sie setzen, überschreibt es, außer einigen wenigen [sicherheitsempfindlichen Ausnahmen](#exceptions-to-managed-settings-precedence) | Sicherheitsrichtlinie und Compliance-Anforderungen |410| Verwaltet | `managed-settings.json` und andere [verwaltete Quellen](/docs/de/managed-settings#delivery-mechanisms) | Alle, für die Ihre Organisation sie bereitstellt; nichts, das Sie festlegen, überschreibt es, außer einigen wenigen [sicherheitsempfindlichen Ausnahmen](#exceptions-to-managed-settings-precedence) | Sicherheitsrichtlinie und Compliance-Anforderungen |

411 411 

412In der Spalte Datei ist `~/.claude` der `.claude` Ordner in Ihrem Home-Verzeichnis, und ein bloßes `.claude` ist der `.claude` Ordner in Ihrem Projekt.412In der Spalte „Datei" ist `~/.claude` der `.claude`-Ordner in Ihrem Home-Verzeichnis, und ein einfaches `.claude` ist der `.claude`-Ordner in Ihrem Projekt.

413 413 

414<span id="where-each-file-applies" />414<span id="where-each-file-applies" />

415 415 

416<span id="compare-what-each-file-reaches" />416<span id="compare-what-each-file-reaches" />

417 417 

418<h3 id="compare-the-scope-of-each-settings-file">418<h3 id="compare-the-scope-of-each-settings-file">

419 Vergleichen Sie den Bereich jeder Einstellungsdatei419 Vergleichen Sie den Geltungsbereich jeder Einstellungsdatei

420</h3>420</h3>

421 421 

422Die Grafik unten zeigt, in welchen dieser Ordner eine Einstellung angewendet wird, wenn Sie Claude Code von ihnen aus starten. Klicken Sie auf eine Einstellungsdatei, um die Ordner zu sehen, die sie erreicht.422Angenommen, Sie haben drei Projekte auf Ihrem Computer: `website/`, `api/` und `acme-app/`, ein Teamkollege hat seinen eigenen Klon von `acme-app/`, und Sie starten eine [Cloud-Sitzung](#settings-in-cloud-sessions) auf `acme-app/`.

423 423 

424Angenommen, Sie haben drei Projekte auf Ihrer Maschine, `website/`, `api/` und `acme-app/`, ein Teamkollege hat seinen eigenen Klon von `acme-app/`, und Sie starten eine [Cloud-Sitzung](#settings-in-cloud-sessions) auf `acme-app/`.424Die folgende Grafik zeigt, in welchen dieser Ordner eine Einstellung angewendet wird, wenn Sie Claude Code von ihnen aus starten. Klicken Sie auf eine Einstellungsdatei, um die Ordner anzuzeigen, die sie erreicht.

425 425 

426<SettingsScope />426<SettingsScope />

427 427 

428* **`~/.claude/settings.json`**: jedes Projekt auf Ihrer Maschine, und nichts auf der Ihres Teamkollegen oder in der Cloud-Sitzung428* **`~/.claude/settings.json`**: jedes Projekt auf Ihrem Computer, und nichts auf dem Computer Ihres Teamkollegen oder in der Cloud-Sitzung

429* **`acme-app/.claude/settings.json`**: Ihr `acme-app/`. Es erreicht den Klon Ihres Teamkollegen und die Cloud-Sitzung nur, wenn Sie die Datei in die Versionskontrolle committen; bis dahin ist es eine Datei auf Ihrer Festplatte wie jede andere und niemand sonst hat sie429* **`acme-app/.claude/settings.json`**: Ihr `acme-app/`. Es erreicht den Klon Ihres Teamkollegen und die Cloud-Sitzung nur, wenn Sie die Datei in die Versionskontrolle committen; bis dahin ist es eine Datei auf Ihrer Festplatte wie jede andere und niemand sonst hat sie

430* **`acme-app/.claude/settings.local.json`**: nur Ihr `acme-app/`. Claude Code fügt es zu Ihren globalen Git-Ausschlüssen hinzu, wenn es die Datei zum ersten Mal schreibt, sodass es aus Ihren Commits herausbleibt; wenn Sie die Datei von Hand erstellen, [fügen Sie sie selbst zu `.gitignore` hinzu](#keep-personal-settings-out-of-a-repository)430* **`acme-app/.claude/settings.local.json`**: nur Ihr `acme-app/`. Claude Code fügt es beim ersten Mal, wenn es die Datei schreibt, zu Ihren globalen Git-Ausschlüssen hinzu, damit es aus Ihren Commits herausbleibt; wenn Sie die Datei von Hand erstellen, [fügen Sie sie selbst zu `.gitignore` hinzu](#keep-personal-settings-out-of-a-repository)

431* **Verwaltete Einstellungen**, ob eine `managed-settings.json` Datei, eine MDM-Richtlinie oder [serververwaltete Einstellungen](/docs/de/server-managed-settings) von der claude.ai-Konsole: jedes Projekt auf jeder Maschine, für die Ihre Organisation es bereitstellt, oder auf die Sie sich mit Ihrem Organisationskonto anmelden. Nur serververwaltete Einstellungen erreichen die Cloud-Sitzung431* **Verwaltete Einstellungen**, ob eine `managed-settings.json`-Datei, eine MDM-Richtlinie oder [servergesteuerte Einstellungen](/docs/de/server-managed-settings) aus der claude.ai-Konsole: jedes Projekt auf jedem Computer, auf dem Ihre Organisation sie bereitstellt, oder auf dem Sie sich mit Ihrem Organisationskonto anmelden. Nur servergesteuerte Einstellungen erreichen die Cloud-Sitzung

432 432 

433<span id="which-files-you-have" />433<span id="which-files-you-have" />

434 434 

435<h3 id="find-or-create-your-settings-files">435<h3 id="find-or-create-your-settings-files">

436 Finden oder erstellen Sie Ihre Einstellungsdateien436 Suchen oder erstellen Sie Ihre Einstellungsdateien

437</h3>437</h3>

438 438 

439Die Installation von Claude Code erstellt keine Einstellungsdatei. Wenn Ihre Maschine oder Ihr Projekt bereits eine hat, kam sie aus einer dieser Quellen:439Die Installation von Claude Code erstellt keine Einstellungsdatei. Wenn Ihr Computer oder Projekt bereits eine hat, kam sie aus einer dieser Quellen:

440 440 

441* **Verwaltet**: Ihre Organisation stellt sie bereit. Sie erstellen oder bearbeiten sie nicht.441* **Verwaltet**: Ihre Organisation stellt sie bereit. Sie erstellen oder bearbeiten sie nicht.

442* **Gemeinsames Projekt**: Ein Projekt, das bereits Claude Code verwendet, kann eine eingecheckte haben. Wenn nicht, erstellen Sie eine unter `.claude/settings.json` im Projektordner.442* **Gemeinsames Projekt**: Ein Projekt, das bereits Claude Code verwendet, kann eine committed haben. Wenn nicht, erstellen Sie sie unter `.claude/settings.json` im Projektordner.

443* **Benutzer** und **Projekt lokal**: Erstellen Sie sie selbst, oder lassen Sie Claude Code sie erstellen. Es schreibt `~/.claude/settings.json` das erste Mal, wenn Sie eine Option im `/config` Menü ändern, die es in Benutzereinstellungen speichert, wie das Design, und `.claude/settings.local.json` das erste Mal, wenn Sie eine stehende Genehmigung auf einer Berechtigungsaufforderung geben, wie "Ja, und frag mich nicht mehr" für einen Bash-Befehl. Ein paar `/config` Optionen, einschließlich **Tipps anzeigen**, speichern stattdessen in `.claude/settings.local.json`.443* **Benutzer** und **Projekt lokal**: Erstellen Sie sie selbst, oder lassen Sie Claude Code sie erstellen. Es schreibt `~/.claude/settings.json` das erste Mal, wenn Sie eine Option im `/config`-Menü ändern, die es in Benutzereinstellungen speichert, wie das Design, und `.claude/settings.local.json` das erste Mal, wenn Sie eine dauerhafte Genehmigung bei einer Berechtigungsaufforderung geben, wie „Ja, und frag mich nicht mehr" für einen Bash-Befehl. Einige `/config`-Optionen, einschließlich **Tipps anzeigen**, werden stattdessen in `.claude/settings.local.json` gespeichert.

444 444 

445<Info>445<Info>

446 Unter Windows bedeutet `~/.claude` `%USERPROFILE%\.claude`. Um die Home-Verzeichnis-Dateien woanders zu behalten, setzen Sie [`CLAUDE_CONFIG_DIR`](/docs/de/env-vars); Claude Code speichert dann Ihre Einstellungen, Sitzungsverlauf und Plugins dort statt.446 Unter Windows bedeutet `~/.claude` `%USERPROFILE%\.claude`. Um die Home-Verzeichnis-Dateien woanders zu speichern, setzen Sie [`CLAUDE_CONFIG_DIR`](/docs/de/env-vars); Claude Code speichert dann Ihre Einstellungen, Sitzungsverlauf und Plugins stattdessen dort.

447</Info>447</Info>

448 448 

449Claude Code behält auch eine fünfte Datei, [`~/.claude.json`](/docs/de/claude-directory#ce-claude-json), die es für sich selbst schreibt; Sie müssen sie nicht bearbeiten. Sie enthält Ihre Anmeldungssitzung, [MCP-Server](/docs/de/mcp) Konfigurationen, projektbezogenen Status wie Vertrauensentscheidungen, und die [globalen Konfigurationsschlüssel](/docs/de/settings-reference#global-config-settings), die `/config` für Sie schreibt.449Claude Code behält auch eine fünfte Datei, [`~/.claude.json`](/docs/de/claude-directory#ce-claude-json), die es für sich selbst schreibt; Sie müssen sie nicht bearbeiten. Sie enthält Ihre Anmeldungssitzung, [MCP-Server](/docs/de/mcp)-Konfigurationen, projektspezifischen Status wie Vertrauensentscheidungen und die [globalen Konfigurationsschlüssel](/docs/de/settings-reference#global-config-settings), die `/config` für Sie schreibt.

450 450 

451<h3 id="share-settings-with-your-team">451<h3 id="share-settings-with-your-team">

452 Teilen Sie Einstellungen mit Ihrem Team452 Teilen Sie Einstellungen mit Ihrem Team

453</h3>453</h3>

454 454 

455Committen Sie `.claude/settings.json`, damit jeder, der das Repository klont, die gleichen Berechtigungen, Hooks, Telemetrie und Plugins bekommt. Jeder Teamkollege kann es immer noch für sich selbst in seiner eigenen `.claude/settings.local.json` überschreiben, sodass persönliche Ausnahmen keinen Commit benötigen. Für eine vollständige Team-Datei, siehe [Gemeinsame Einstellungen eines Teams](/docs/de/settings-example#a-teams-shared-settings).455Committen Sie `.claude/settings.json`, damit jeder, der das Repository klont, die gleichen Berechtigungen, Hooks, Telemetrie und Plugins erhält. Jeder Teamkollege kann es für sich selbst in seiner eigenen `.claude/settings.local.json` überschreiben, sodass persönliche Ausnahmen keinen Commit benötigen. Für eine vollständige Team-Datei siehe [die gemeinsamen Einstellungen eines Teams](/docs/de/settings-example#a-teams-shared-settings).

456 456 

457Einiges von dem, das Sie committen, wartet, bis jeder Teamkollege den [Ordner vertraut](/docs/de/permissions#project-allow-rules-and-workspace-trust), und ein paar Schlüssel wirken sich nie von einer Repository-Datei aus; [Beheben Sie eine Einstellung, die nicht angewendet wird](#common-cases) behandelt beide.457Einiges von dem, das Sie committen, wartet, bis jeder Teamkollege den [Ordner vertraut](/docs/de/permissions#project-allow-rules-and-workspace-trust), und einige Schlüssel wirken sich nie aus einer Repository-Datei aus; [Beheben Sie eine Einstellung, die nicht angewendet wird](#common-cases) behandelt beides.

458 458 

459<span id="local-settings-file" />459<span id="local-settings-file" />

460 460 


468 Halten Sie persönliche Einstellungen aus einem Repository heraus468 Halten Sie persönliche Einstellungen aus einem Repository heraus

469</h3>469</h3>

470 470 

471Um eine Einstellung für sich selbst in einem Projekt zu ändern, ohne sie für Ihre Teamkollegen zu ändern, speichern Sie sie in `.claude/settings.local.json` im Projekt. Claude Code wendet diese Datei über die eingecheckte `.claude/settings.json` an, sodass wenn die Datei Ihres Teams `"model": "claude-sonnet-5"` setzt und Sie Opus wollen, setzen Sie `"model": "claude-opus-4-8"` in Ihre lokale Datei und nur Ihre Sitzungen ändern.471Um eine Einstellung für sich selbst in einem Projekt zu ändern, ohne sie für Ihre Teamkollegen zu ändern, speichern Sie sie in `.claude/settings.local.json` im Projekt. Claude Code wendet diese Datei über die committete `.claude/settings.json` an, also wenn die Datei Ihres Teams `"model": "claude-sonnet-5"` setzt und Sie Opus möchten, fügen Sie `"model": "claude-opus-5-5"` in Ihre lokale Datei ein und nur Ihre Sitzungen ändern sich.

472 472 

473Claude Code schreibt auch in diese Datei, hält sie aus Ihren Commits heraus, und wendet ihre Allow-Regeln ohne den Vertrauensschritt an:473Claude Code schreibt auch in diese Datei, hält sie aus Ihren Commits heraus und wendet ihre Berechtigungsregeln ohne den Vertrauensschritt an:

474 474 

475* **Claude Code schreibt sie auch.** Wenn Claude Sie fragt, einen Bash-Befehl auszuführen und Sie "Ja, und frag mich nicht mehr" wählen, speichert Claude Code diese [Berechtigungsgenehmigung](/docs/de/permissions#permission-system) hier als `allow` Regel.475* **Claude Code schreibt sie auch.** Wenn Claude die Berechtigung zum Ausführen eines Bash-Befehls anfordert und Sie „Ja, und frag mich nicht mehr" wählen, speichert Claude Code diese [Berechtigungsgenehmigung](/docs/de/permissions#permission-system) hier als `allow`-Regel.

476* **Sie müssen sie nicht selbst gitignorieren, es sei denn, Sie haben sie von Hand erstellt.** Das erste Mal, wenn Claude Code die Datei in einem Git-Repository schreibt, das sie nicht bereits ignoriert, fügt es `**/.claude/settings.local.json` zu Ihrer globalen Git-Ausschluss-Datei hinzu, sodass die Datei in jedem Repository aus Ihren Commits herausbleibt. Diese Datei ist `core.excludesFile`, wenn Ihre globale Git-Konfiguration sie auf einen absoluten oder `~`-präfixierten Pfad setzt; ansonsten ist es `$XDG_CONFIG_HOME/git/ignore`, oder `~/.config/git/ignore`, wenn `XDG_CONFIG_HOME` nicht gesetzt ist. Wenn Sie die Datei von Hand erstellt haben und Claude Code noch nicht darin geschrieben hat, fügen Sie sie selbst zu `.gitignore` hinzu.476* **Sie müssen sie nicht selbst gitignorieren, es sei denn, Sie haben sie von Hand erstellt.** Das erste Mal, wenn Claude Code die Datei in einem Git-Repository schreibt, das sie nicht bereits ignoriert, fügt es `**/.claude/settings.local.json` zu Ihrer globalen Git-Ausschluss-Datei hinzu, damit die Datei in jedem Repository aus Ihren Commits herausbleibt. Diese Datei ist `core.excludesFile`, wenn Ihre globale Git-Konfiguration sie auf einen absoluten oder `~`-präfixierten Pfad setzt; andernfalls ist es `$XDG_CONFIG_HOME/git/ignore`, oder `~/.config/git/ignore`, wenn `XDG_CONFIG_HOME` nicht gesetzt ist. Wenn Sie die Datei von Hand erstellt haben und Claude Code noch nicht darin geschrieben hat, fügen Sie sie selbst zu `.gitignore` hinzu.

477* **Seine Allow-Regeln warten nicht auf Vertrauen, während die Datei nicht verfolgt bleibt.** Weil die Datei Ihnen gehört und nicht dem Repository, wendet Claude Code ihre `allow` Regeln ohne den [Workspace-Vertrauens](/docs/de/permissions#project-allow-rules-and-workspace-trust)-Schritt an, den es für die eingecheckte Datei erfordert. Wenn die Datei von Git verfolgt wird, gilt der Vertrauensschritt auch für sie; siehe [Wenn Ihre lokale Einstellungsdatei Vertrauen benötigt](/docs/de/permissions#when-your-local-settings-file-needs-trust).477* **Seine Berechtigungsregeln warten nicht auf Vertrauen, während die Datei nicht verfolgt bleibt.** Da die Datei Ihnen gehört und nicht dem Repository, wendet Claude Code ihre `allow`-Regeln ohne den [Workspace-Vertrauens](/docs/de/permissions#project-allow-rules-and-workspace-trust)-Schritt an, den es für die committete Datei erfordert. Wenn die Datei von Git verfolgt wird, gilt der Vertrauensschritt auch für sie; siehe [Wenn Ihre lokale Einstellungsdatei Vertrauen benötigt](/docs/de/permissions#when-your-local-settings-file-needs-trust).

478 478 

479<span id="where-claude-code-looks-for-each-file" />479<span id="where-claude-code-looks-for-each-file" />

480 480 


483<span id="local-allow-rules-dont-wait-for-workspace-trust" />483<span id="local-allow-rules-dont-wait-for-workspace-trust" />

484 484 

485<h4 id="where-claude-code-keeps-the-local-file-in-a-git-repository">485<h4 id="where-claude-code-keeps-the-local-file-in-a-git-repository">

486 Wo Claude Code die lokale Datei in einem Git-Repository behält486 Wo Claude Code die lokale Datei in einem Git-Repository hält

487</h4>487</h4>

488 488 

489Wenn Claude Sie fragt, einen Bash-Befehl auszuführen und Sie "Ja, und frag mich nicht mehr" wählen, speichert Claude Code diese Genehmigung als `allow` Regel in `.claude/settings.local.json`. Wenn Sie Claude Code in einem Unterverzeichnis eines Git-Repositorys starten, liest und schreibt es diese Datei im Repository-Root und wendet die Genehmigung auf das ganze Repository an. In einem [Worktree](/docs/de/worktrees) verwendet es die Datei im Root des Haupt-Checkouts.489Wenn Claude die Berechtigung zum Ausführen eines Bash-Befehls anfordert und Sie „Ja, und frag mich nicht mehr" wählen, speichert Claude Code diese Genehmigung als `allow`-Regel in `.claude/settings.local.json`. Wenn Sie Claude Code in einem Unterverzeichnis eines Git-Repositories starten, liest und schreibt es diese Datei im Repository-Root und wendet die Genehmigung auf das gesamte Repository an. In einem [Worktree](/docs/de/worktrees) verwendet es die Datei im Root des Haupt-Checkouts.

490 490 

491Zwei Regeln qualifizieren den Root-Speicherort:491Zwei Regeln qualifizieren den Root-Speicherort:

492 492 

493* **Wenn die Datei stattdessen bei `.claude/settings.json` bleibt**: außerhalb eines Git-Repositorys, wenn der Repository-Root Ihr Home-Verzeichnis ist, unter Windows, oder wenn der Repository-Root oder sein `.git` oder `.claude` Eintrag nicht Ihrem Benutzer gehört.493* **Wenn die Datei stattdessen bei `.claude/settings.json` bleibt**: außerhalb eines Git-Repositories, wenn der Repository-Root Ihr Home-Verzeichnis ist, unter Windows oder wenn der Repository-Root oder sein `.git`- oder `.claude`-Eintrag nicht Ihrem Benutzer gehört.

494* **Pfade in der Datei verankern nicht im Repository-Root**: eine Berechtigungsregel, die mit `/` beginnt oder ein relativer Sandbox-Pfad [verankert stattdessen im primären Arbeitsverzeichnis der Sitzung](/docs/de/permissions#read-and-edit).494* **Pfade in der Datei verankern nicht im Repository-Root**: eine Berechtigungsregel, die mit `/` beginnt oder ein relativer Sandbox-Pfad [verankert stattdessen im primären Arbeitsverzeichnis der Sitzung](/docs/de/permissions#read-and-edit).

495 495 

496Vor v2.1.211 behielt Claude Code die Datei im Startverzeichnis. Es liest immer noch eine Datei, die eine frühere Version dort neben der Root-Datei hinterlassen hat; wo beide den gleichen Schlüssel setzen, gilt der Wert des Root, und Berechtigungsregeln aus beiden Dateien gelten. Der Agent SDK's [`resolveSettings()`](/docs/de/agent-sdk/typescript#resolvesettings) Helper liest die Datei immer aus dem Startverzeichnis.496Vor v2.1.211 hielt Claude Code die Datei im Startverzeichnis. Es liest immer noch eine Datei, die eine frühere Version dort neben der Root-Datei hinterlassen hat; wo beide denselben Schlüssel setzen, gilt der Wert des Root, und Berechtigungsregeln aus beiden Dateien gelten. Der [`resolveSettings()`](/docs/de/agent-sdk/typescript#resolvesettings)-Helfer des Agent SDK liest die Datei immer aus dem Startverzeichnis.

497 497 

498Claude Code liest die gemeinsame `.claude/settings.json` aus dem [primären Arbeitsverzeichnis](/docs/de/permissions#working-directories) der Sitzung, sodass um eine Datei zu verwenden, die im Repository-Root eingecheckt ist, starten Sie Claude Code dort. Nachdem Sie [die Sitzung mit `/cd` verschieben](/docs/de/permissions#move-the-session-to-another-directory), liest Claude Code beide Projektdateien stattdessen aus dem neuen Verzeichnis, wobei die lokale Datei nach den gleichen Regeln platziert wird. Das Lesen von ihnen aus dem Verzeichnis, zu dem Sie verschoben haben, erfordert Claude Code v2.1.246 oder später.498Claude Code liest die gemeinsame `.claude/settings.json` aus dem [primären Arbeitsverzeichnis](/docs/de/permissions#working-directories) der Sitzung, also um eine Datei zu verwenden, die im Repository-Root committed ist, starten Sie Claude Code dort. Nachdem Sie [die Sitzung mit `/cd` verschieben](/docs/de/permissions#move-the-session-to-another-directory), liest Claude Code stattdessen beide Projektdateien aus dem neuen Verzeichnis, wobei die lokale Datei nach denselben Regeln platziert wird. Das Lesen von ihnen aus dem Verzeichnis, in das Sie verschoben haben, erfordert Claude Code v2.1.246 oder später.

499 499 

500<span id="managed-settings-delivery" />500<span id="managed-settings-delivery" />

501 501 


511 Überprüfen Sie, was Ihre Organisation erzwingt511 Überprüfen Sie, was Ihre Organisation erzwingt

512</h3>512</h3>

513 513 

514Wenn Ihre Organisation Claude Code verwaltet, werden einige Einstellungen für Sie entschieden und nichts, das Sie in Ihre eigenen Dateien setzen, ändert sie. Um zu sehen, welche, führen Sie `/status` aus: die Zeile `Setting sources` nennt die verwaltete Quelle, die auf Sie angewendet wird. Verwaltete Einstellungen gelten überall dort, wo Claude Code auf dieser Maschine läuft; [Was ein Entwickler ändern kann](/docs/de/managed-settings#what-a-developer-can-change) behandelt lokale Admin-Rechte und Tools außer Claude Code.514Wenn Ihre Organisation Claude Code verwaltet, werden einige Einstellungen für Sie entschieden und nichts, das Sie in Ihre eigenen Dateien einfügen, ändert sie. Um zu sehen, welche, führen Sie `/status` aus: die Zeile `Setting sources` nennt die verwaltete Quelle, die auf Sie angewendet wird. Verwaltete Einstellungen gelten überall dort, wo Claude Code auf diesem Computer läuft; [Was ein Entwickler ändern kann](/docs/de/managed-settings#what-a-developer-can-change) behandelt lokale Administratorrechte und Tools außer Claude Code.

515 515 

516Verwaltete Einstellungen erreichen Sie durch die [Bereitstellungsmechanismen](/docs/de/managed-settings#delivery-mechanisms) auf der Seite für verwaltete Einstellungen, am häufigsten:516Verwaltete Einstellungen erreichen Sie durch die [Bereitstellungsmechanismen](/docs/de/managed-settings#delivery-mechanisms) auf der Seite für verwaltete Einstellungen, am häufigsten:

517 517 

518* [Serververwaltete Einstellungen](/docs/de/server-managed-settings), die Claude Code von der claude.ai Admin-Konsole oder einem selbstgehosteten [Claude-Apps-Gateway](/docs/de/claude-apps-gateway) abruft518* [Servergesteuerte Einstellungen](/docs/de/server-managed-settings), die Claude Code aus der claude.ai-Admin-Konsole oder einem selbstgehosteten [Claude-Apps-Gateway](/docs/de/claude-apps-gateway) abruft

519* MDM- oder OS-Richtlinien und `managed-settings.json` Dateien in einem Systemverzeichnis519* MDM- oder Betriebssystem-Richtlinien und `managed-settings.json`-Dateien in einem Systemverzeichnis

520* Ein Embedding-Host wie Claude Desktop, über die SDK `managedSettings` Option; siehe [Kontrollieren Sie die Richtlinie von einem Embedding-Host](/docs/de/managed-settings#parent-settings-from-embedding-hosts)520* Ein Embedding-Host wie Claude Desktop, über die SDK-Option `managedSettings`; siehe [Steuern Sie die Richtlinie von einem Embedding-Host](/docs/de/managed-settings#parent-settings-from-embedding-hosts)

521 521 

522In einer [Cowork](https://claude.com/docs/cowork/overview) Sitzung, die auf Ihrer Maschine in der Claude Desktop-App läuft, ruft Claude Code keine serververwalteten Einstellungen von der claude.ai Admin-Konsole ab, und es liest Richtlinien, die auf Ihrem Gerät bereitgestellt sind, es sei denn, die Claude Desktop-Konfiguration Ihrer Organisation setzt `requireCoworkFullVmSandbox`. [Wo und wann eine Richtlinie angewendet wird](/docs/de/managed-settings#where-and-when-a-policy-applies) behandelt Cowork und Cloud-Sitzungen.522In einer [Cowork](https://claude.com/docs/cowork/overview)-Sitzung, die auf Ihrem Computer in der Claude Desktop-App läuft, ruft Claude Code keine servergesteuerten Einstellungen aus der claude.ai-Admin-Konsole ab, und es liest die Richtlinie, die auf Ihrem Gerät bereitgestellt ist, es sei denn, die Claude Desktop-Konfiguration Ihrer Organisation setzt `requireCoworkFullVmSandbox`. [Wo und wann eine Richtlinie angewendet wird](/docs/de/managed-settings#where-and-when-a-policy-applies) behandelt Cowork und Cloud-Sitzungen.

523 523 

524Wenn Sie der Administrator sind, [Richten Sie Claude Code für Ihre Organisation ein](/docs/de/admin-setup) führt Sie durch die Auswahl dessen, was Sie erzwingen, und [Stellen Sie verwaltete Einstellungen bereit](/docs/de/managed-settings) behandelt Bereitstellung und wie Sie bestätigen, dass eine Richtlinie wirksam ist.524Wenn Sie der Administrator sind, führt Sie [Richten Sie Claude Code für Ihre Organisation ein](/docs/de/admin-setup) durch die Auswahl, was Sie erzwingen möchten, und [Stellen Sie verwaltete Einstellungen bereit](/docs/de/managed-settings) behandelt die Bereitstellung und wie Sie bestätigen, dass eine Richtlinie in Kraft ist.

525 525 

526<h2 id="change-a-setting">526<h2 id="change-a-setting">

527 Ändern Sie eine Einstellung527 Ändern Sie eine Einstellung


598Um beispielsweise eine Sitzung auf Opus zu starten, ohne Ihren Standard zu ändern:598Um beispielsweise eine Sitzung auf Opus zu starten, ohne Ihren Standard zu ändern:

599 599 

600```bash theme={null}600```bash theme={null}

601claude --settings '{"model": "claude-opus-4-8"}'601claude --settings '{"model": "claude-opus-5-5"}'

602```602```

603 603 

604<h3 id="when-edits-take-effect">604<h3 id="when-edits-take-effect">


803 803 

804Eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) läuft in einer [Cloud-Umgebung](/docs/de/cloud-environments) auf einem frischen Klon Ihres Repositorys, nicht auf Ihrer Maschine. Das ändert, welche Einstellungen es erreichen:804Eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) läuft in einer [Cloud-Umgebung](/docs/de/cloud-environments) auf einem frischen Klon Ihres Repositorys, nicht auf Ihrer Maschine. Das ändert, welche Einstellungen es erreichen:

805 805 

806* **Gemeinsame Projekt-Einstellungen** (`.claude/settings.json`): werden in einer Sitzung mit einem Repository gelesen, da die Datei Teil des Klons ist und die Sitzung darin startet. Committen Sie eine Einstellung dort, um sie in diesen Sitzungen anzuwenden. Eine Sitzung mit mehreren Repositorys startet über den Klonen, daher lädt sie aus jeder `.claude/settings.json` des Repositorys nur die Plugins und Marktplätze, die die Datei deklariert, nicht Berechtigungsregeln, Hooks, `env` oder andere Schlüssel; siehe [Was von Ihrem Setup überträgt](/docs/de/cloud-environments#what-carries-over-from-your-setup).806* **Gemeinsame Projekt-Einstellungen** (`.claude/settings.json`): werden in einer Sitzung mit einem Repository gelesen, da die Datei Teil des Klons ist und die Sitzung darin startet. Committen Sie eine Einstellung dort, um sie in diesen Sitzungen anzuwenden. Eine Sitzung mit mehreren Repositorys startet ü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 Marktplätze und Plugins, die diese beiden Schlüssel deklarieren, [werden immer noch nicht in einer Cloud-Sitzung geladen](/docs/de/cloud-environments#what-carries-over-from-your-setup).

807* **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.807* **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.

808* **Verwaltete Einstellungen**: nur [serververwaltete Einstellungen](/docs/de/server-managed-settings) erreichen eine Cloud-Sitzung; eine `managed-settings.json` Datei oder MDM-Profil auf Ihrem Gerät nicht. Eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) liest auch die verwaltete Einstellungsdatei in ihrem Runner-Image. [Wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) sagt, wann diese Datei angewendet wird.808* **Verwaltete Einstellungen**: nur [serververwaltete Einstellungen](/docs/de/server-managed-settings) erreichen eine Cloud-Sitzung; eine `managed-settings.json` Datei oder MDM-Profil auf Ihrem Gerät nicht. Eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) liest auch die verwaltete Einstellungsdatei in ihrem Runner-Image. [Wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) sagt, wann diese Datei angewendet wird.

809* **`/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](/docs/de/cloud-environments#set-environment-variables) auf der Umgebung, oder committen Sie in einer Sitzung mit einem Repository den Schlüssel zu der `.claude/settings.json` dieses Repositorys.809* **`/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](/docs/de/cloud-environments#set-environment-variables) auf der Umgebung, oder committen Sie in einer Sitzung mit einem Repository den Schlüssel zu der `.claude/settings.json` dieses Repositorys.

Details

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

30 {30 {

31 "model": "claude-sonnet-5",31 "model": "claude-sonnet-5",

32 "effortLevel": "xhigh",32 "modelSettings": {

33 "claude-sonnet-5": { "effortLevel": "xhigh" }

34 },

33 "editorMode": "vim",35 "editorMode": "vim",

34 "theme": "light-daltonized",36 "theme": "light-daltonized",

35 "statusLine": {37 "statusLine": {


58 {60 {

59 // Starten Sie jede Sitzung mit Sonnet 561 // Starten Sie jede Sitzung mit Sonnet 5

60 "model": "claude-sonnet-5",62 "model": "claude-sonnet-5",

61 // Denken Sie tiefer nach als die Standard-Hochstufe bei Modellen ohne gespeicherte Stufe; /effort speichert eine Stufe pro Modell, und --effort setzt eine für eine einzelne Sitzung63 // Führen Sie Sonnet 5 über seine Standard-Hochstufe aus; /effort speichert eine Stufe pro Modell, und --effort setzt eine für eine einzelne Sitzung

62 "effortLevel": "xhigh",64 "modelSettings": {

65 "claude-sonnet-5": { "effortLevel": "xhigh" }

66 },

63 // Vim-Tastenbindungen in der Eingabeaufforderung67 // Vim-Tastenbindungen in der Eingabeaufforderung

64 "editorMode": "vim",68 "editorMode": "vim",

65 // Das farbenblindfreundliche helle Design69 // Das farbenblindfreundliche helle Design

settings-reference.md +347 −336

Details

589}}589}}

590/>590/>

591 591 

592| Schlüssel | Beschreibung | Thema | Bereich |592| Key | Description | Topic | Scope |

593| :---------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------- | :---------------------- |593| :---------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------- | :---------------------- |

594| [`advisorModel`](#advisormodel) | Wählen Sie, welches Modell antwortet, wenn Claude das [Advisor-Tool](/docs/de/advisor) verwendet | Modell und Antworten | Any file |594| [`advisorModel`](#advisormodel) | Wählen Sie aus, welches Modell antwortet, wenn Claude das [Advisor-Tool](/docs/de/advisor) verwendet | Model and responses | Any file |

595| [`agent`](#agent) | Starten Sie jede Sitzung als benannter [Subagent](/docs/de/sub-agents) mit seinem Prompt, seinen Tools und seinem Modell | Agenten, Sitzungen und Worktrees | Any file |595| [`agent`](#agent) | Starten Sie jede Sitzung als benannter [Subagent](/docs/de/sub-agents) mit seinem Prompt, seinen Tools und seinem Modell | Agents, sessions, and worktrees | Any file |

596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Lassen Sie Claude eine [Push-Benachrichtigung an Ihr Telefon](/docs/de/remote-control#mobile-push-notifications) senden, wenn es sich dafür entscheidet | Remote, Desktop und Benachrichtigungen | Any file |596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Lassen Sie Claude eine [Push-Benachrichtigung an Ihr Telefon](/docs/de/remote-control#mobile-push-notifications) senden, wenn es sich dafür entscheidet | Remote, desktop, and notifications | Any file |

597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Laden Sie die [claude.ai-Konnektoren](/docs/de/mcp), die Claude Code selbst abruft, zusammen mit einem bereitgestellten [`managed-mcp.json`](/docs/de/managed-mcp#exclusive-control-with-managed-mcp-json) | MCP | Managed |597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Laden Sie die [claude.ai-Konnektoren](/docs/de/mcp), die Claude Code selbst abruft, zusammen mit einem bereitgestellten [`managed-mcp.json`](/docs/de/managed-mcp#exclusive-control-with-managed-mcp-json) | MCP | Managed |

598| [`allowedChannelPlugins`](#allowedchannelplugins) | Ersetzen Sie die Standard-Zulassungsliste der [Channel-Plugins](/docs/de/channels#restrict-which-channel-plugins-can-run), die Nachrichten pushen können | Plugins und Skills | Managed |598| [`allowedChannelPlugins`](#allowedchannelplugins) | Ersetzen Sie die Standard-Zulassungsliste der [Channel-Plugins](/docs/de/channels#restrict-which-channel-plugins-can-run), die Nachrichten pushen können | Plugins and skills | Managed |

599| [`allowedHttpHookUrls`](#allowedhttphookurls) | Begrenzen Sie, welche URLs [HTTP-Hooks](/docs/de/hooks) ansteuern können | Hooks und Automatisierung | Any file |599| [`allowedHttpHookUrls`](#allowedhttphookurls) | Begrenzen Sie, welche URLs [HTTP-Hooks](/docs/de/hooks) ansteuern können | Hooks and automation | Any file |

600| [`allowedMcpServers`](#allowedmcpservers) | Zulassungsliste, welche [MCP-Server](/docs/de/mcp) Benutzer hinzufügen können | MCP | Any file |600| [`allowedMcpServers`](#allowedmcpservers) | Zulassungsliste, welche [MCP-Server](/docs/de/mcp) Benutzer hinzufügen können | MCP | Any file |

601| [`allowManagedHooksOnly`](#allowmanagedhooksonly) | Führen Sie nur die [Hooks](/docs/de/hooks) aus, die Ihre Organisation bereitstellt | Hooks und Automatisierung | Managed |601| [`allowManagedHooksOnly`](#allowmanagedhooksonly) | Führen Sie nur die [Hooks](/docs/de/hooks) aus, die Ihre Organisation bereitstellt | Hooks and automation | Managed |

602| [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) | Machen Sie die verwaltete [MCP](/docs/de/mcp)-Zulassungsliste zur einzigen, die gilt | MCP | Managed |602| [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) | Machen Sie die verwaltete [MCP](/docs/de/mcp)-Zulassungsliste zur einzigen, die gilt | MCP | Managed |

603| [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly) | Machen Sie [verwaltete Einstellungen](/docs/de/managed-settings) zur einzigen Einstellungsquelle von [Berechtigungsregeln](/docs/de/permissions#managed-settings) | Berechtigungseinstellungen | Managed |603| [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly) | Machen Sie [verwaltete Einstellungen](/docs/de/managed-settings) zur einzigen Einstellungsquelle für [Berechtigungsregeln](/docs/de/permissions#managed-settings) | Permission settings | Managed |

604| [`alwaysThinkingEnabled`](#alwaysthinkingenabled) | Schalten Sie [erweitertes Denken](/docs/de/model-config#extended-thinking) für jede Sitzung aus | Modell und Antworten | Any file |604| [`alwaysThinkingEnabled`](#alwaysthinkingenabled) | Schalten Sie [erweitertes Denken](/docs/de/model-config#extended-thinking) für jede Sitzung aus | Model and responses | Any file |

605| [`apiKeyHelper`](#apikeyhelper) | Generieren Sie die [API-Anmeldedaten](/docs/de/authentication#credential-management) mit Ihrem eigenen Befehl | Authentifizierung und Anbieter | Any file |605| [`apiKeyHelper`](#apikeyhelper) | Generieren Sie die [API-Anmeldedaten](/docs/de/authentication#credential-management) mit Ihrem eigenen Befehl | Authentication and providers | Any file |

606| [`askUserQuestionTimeout`](#askuserquestiontimeout) | Lassen Sie eine unbeantwortete Frage [automatisch fortfahren](/docs/de/tools-reference#question-auto-continue-timeout) nach Leerlaufzeit | Schnittstelle und Terminal | User or managed |606| [`askUserQuestionTimeout`](#askuserquestiontimeout) | Lassen Sie eine unbeantwortete Frage [automatisch fortfahren](/docs/de/tools-reference#question-auto-continue-timeout) nach Leerlaufzeit | Interface and terminal | User or managed |

607| [`attribution`](#attribution) | Passen Sie die Zuschreibung an, die Claude Code zu Commits und Pull Requests hinzufügt | Git und Zuschreibung | Any file |607| [`attribution`](#attribution) | Passen Sie die Zuschreibung an, die Claude Code zu Commits und Pull Requests hinzufügt | Git and attribution | Any file |

608| [`attribution.commit`](#attribution-commit) | Ändern oder verbergen Sie den Trailer, den Claude Code zu Commits hinzufügt | Git und Zuschreibung | Any file |608| [`attribution.commit`](#attribution-commit) | Ändern oder verbergen Sie den Trailer, den Claude Code zu Commits hinzufügt | Git and attribution | Any file |

609| [`attribution.pr`](#attribution-pr) | Ändern oder verbergen Sie die Zuschreibungszeile in Pull-Request-Beschreibungen | Git und Zuschreibung | Any file |609| [`attribution.pr`](#attribution-pr) | Ändern oder verbergen Sie die Zuschreibungszeile in Pull-Request-Beschreibungen | Git and attribution | Any file |

610| [`attribution.sessionUrl`](#attribution-sessionurl) | Lassen Sie den claude.ai-Sitzungslink aus [Cloud](/docs/de/claude-code-on-the-web)- und [Remote-Control](/docs/de/remote-control)-Commits weg | Git und Zuschreibung | Any file |610| [`attribution.sessionUrl`](#attribution-sessionurl) | Lassen Sie den claude.ai-Sitzungslink aus [Cloud](/docs/de/claude-code-on-the-web)- und [Remote-Control](/docs/de/remote-control)-Commits weg | Git and attribution | Any file |

611| [`autoCompactEnabled`](#autocompactenabled) | Schalten Sie [automatische Komprimierung](/docs/de/context-window) aus oder ein | Speicher und Kontext | Any file |611| [`autoCompactEnabled`](#autocompactenabled) | Schalten Sie [automatische Komprimierung](/docs/de/context-window) aus oder ein | Memory and context | Any file |

612| [`autoCompactWindow`](#autocompactwindow) | Legen Sie fest, wie voll der Kontext wird, bevor Claude Code [komprimiert](/docs/de/context-window) | Speicher und Kontext | Any file |612| [`autoCompactWindow`](#autocompactwindow) | Legen Sie fest, wie voll der Kontext wird, bevor Claude Code [komprimiert](/docs/de/context-window) | Memory and context | Any file |

613| [`autoConnectIde`](#autoconnectide) | Verbinden Sie sich automatisch mit einer laufenden [VS Code](/docs/de/vs-code)- oder [JetBrains](/docs/de/jetbrains#from-external-terminals)-IDE von einem externen Terminal aus | Globale Konfigurationseinstellungen | Global config |613| [`autoConnectIde`](#autoconnectide) | Verbinden Sie sich automatisch mit einer laufenden [VS Code](/docs/de/vs-code)- oder [JetBrains](/docs/de/jetbrains#from-external-terminals)-IDE von einem externen Terminal aus | Global config settings | Global config |

614| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Warten Sie in der offenen Sitzung und [fahren Sie die Aufgabe automatisch fort](/docs/de/interactive-mode#wait-for-a-usage-limit-to-reset), nachdem ein claude.ai-Nutzungslimit zurückgesetzt wird | Schnittstelle und Terminal | User or managed |614| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Warten Sie in der offenen Sitzung und [fahren Sie die Aufgabe automatisch fort](/docs/de/interactive-mode#wait-for-a-usage-limit-to-reset), nachdem ein claude.ai-Nutzungslimit zurückgesetzt wird | Interface and terminal | User or managed |

615| [`autoInstallIdeExtension`](#autoinstallideextension) | Schalten Sie die automatische Installation der [IDE-Erweiterung](/docs/de/vs-code#install-the-extension) von einem VS Code-Terminal aus | Globale Konfigurationseinstellungen | Global config |615| [`autoInstallIdeExtension`](#autoinstallideextension) | Schalten Sie die automatische Installation der [IDE-Erweiterung](/docs/de/vs-code#install-the-extension) von einem VS Code-Terminal aus | Global config settings | Global config |

616| [`autoMemoryDirectory`](#automemorydirectory) | Speichern Sie [automatisches Gedächtnis](/docs/de/memory#auto-memory) in einem Verzeichnis Ihrer Wahl | Speicher und Kontext | Any file |616| [`autoMemoryDirectory`](#automemorydirectory) | Speichern Sie [automatisches Gedächtnis](/docs/de/memory#auto-memory) in einem Verzeichnis Ihrer Wahl | Memory and context | Any file |

617| [`autoMemoryEnabled`](#automemoryenabled) | Schalten Sie [automatisches Gedächtnis](/docs/de/memory#auto-memory) aus oder ein | Speicher und Kontext | Any file |617| [`autoMemoryEnabled`](#automemoryenabled) | Schalten Sie [automatisches Gedächtnis](/docs/de/memory#auto-memory) aus oder ein | Memory and context | Any file |

618| [`autoMode`](#automode) | Fügen Sie Ihre eigenen Allow- und Deny-Regeln zum [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer hinzu | Berechtigungseinstellungen | User or managed |618| [`autoMode`](#automode) | Fügen Sie Ihre eigenen Allow- und Deny-Regeln zum [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer hinzu | Permission settings | User or managed |

619| [`autoMode.classifyAllShell`](#automode-classifyallshell) | Senden Sie jeden Shell-Befehl durch den [Auto-Modus-Klassifizierer](/docs/de/permission-modes#what-the-classifier-blocks-by-default), auch solche, die eine enge Allow-Regel erfüllen | Berechtigungseinstellungen | User or managed |619| [`autoMode.classifyAllShell`](#automode-classifyallshell) | Senden Sie jeden Shell-Befehl durch den [Auto-Modus-Klassifizierer](/docs/de/permission-modes#what-the-classifier-blocks-by-default), auch solche, die eine enge Allow-Regel erfüllen | Permission settings | User or managed |

620| [`autoScrollEnabled`](#autoscrollenabled) | [Folgen Sie neuer Ausgabe](/docs/de/fullscreen#auto-follow) zum unteren Ende beim Vollbild-Rendering | Schnittstelle und Terminal | Any file |620| [`autoScrollEnabled`](#autoscrollenabled) | [Folgen Sie neuer Ausgabe](/docs/de/fullscreen#auto-follow) zum unteren Ende beim Vollbild-Rendering | Interface and terminal | Any file |

621| [`autoUpdatesChannel`](#autoupdateschannel) | Folgen Sie dem stabilen [Release-Kanal](/docs/de/setup#configure-release-channel) statt dem neuesten | Updates und Versionierung | Any file |621| [`autoUpdatesChannel`](#autoupdateschannel) | Folgen Sie dem stabilen [Release-Kanal](/docs/de/setup#configure-release-channel) statt dem neuesten | Updates and versioning | Any file |

622| [`availableModels`](#availablemodels) | [Beschränken Sie, welche Modelle](/docs/de/model-config#restrict-model-selection) Personen auswählen können | Modell und Antworten | Any file |622| [`availableModels`](#availablemodels) | [Beschränken Sie, welche Modelle](/docs/de/model-config#restrict-model-selection) Personen auswählen können | Model and responses | Any file |

623| [`awaySummaryEnabled`](#awaysummaryenabled) | Schalten Sie die [Sitzungszusammenfassung](/docs/de/interactive-mode#session-recap) aus, die angezeigt wird, wenn Sie zum Terminal zurückkehren | Remote, Desktop und Benachrichtigungen | Any file |623| [`awaySummaryEnabled`](#awaysummaryenabled) | Schalten Sie die [Sitzungszusammenfassung](/docs/de/interactive-mode#session-recap) aus, die angezeigt wird, wenn Sie zum Terminal zurückkehren | Remote, desktop, and notifications | Any file |

624| [`awsAuthRefresh`](#awsauthrefresh) | Aktualisieren Sie abgelaufene [Bedrock-Anmeldedaten](/docs/de/amazon-bedrock#advanced-credential-configuration) in `.aws` mit Ihrem eigenen Befehl | Authentifizierung und Anbieter | Any file |624| [`awsAuthRefresh`](#awsauthrefresh) | Aktualisieren Sie abgelaufene [Bedrock-Anmeldedaten](/docs/de/amazon-bedrock#advanced-credential-configuration) in `.aws` mit Ihrem eigenen Befehl | Authentication and providers | Any file |

625| [`awsCredentialExport`](#awscredentialexport) | Stellen Sie [Bedrock-Anmeldedaten](/docs/de/amazon-bedrock#advanced-credential-configuration) als JSON aus Ihrem eigenen Befehl bereit | Authentifizierung und Anbieter | Any file |625| [`awsCredentialExport`](#awscredentialexport) | Stellen Sie [Bedrock-Anmeldedaten](/docs/de/amazon-bedrock#advanced-credential-configuration) als JSON aus Ihrem eigenen Befehl bereit | Authentication and providers | Any file |

626| [`axScreenReader`](#axscreenreader) | Rendern Sie [bildschirmleserfreundliche Ausgabe](/docs/de/accessibility) | Schnittstelle und Terminal | Any file |626| [`axScreenReader`](#axscreenreader) | Rendern Sie [bildschirmleserfreundliche Ausgabe](/docs/de/accessibility) | Interface and terminal | Any file |

627| [`bashEditDiffEnabled`](#basheditdiffenabled) | Zeichnen Sie die [Dateien auf, die ein Bash-Befehl geändert hat,](/docs/de/hooks#bash) in jedem Berechtigungsmodus | Schnittstelle und Terminal | User or managed |627| [`bashEditDiffEnabled`](#basheditdiffenabled) | Zeichnen Sie die [Dateien auf, die sich während der Ausführung eines Bash-Befehls geändert haben](/docs/de/hooks#bash) in jedem Berechtigungsmodus | Interface and terminal | User or managed |

628| [`bashOutputMaxChars`](#bashoutputmaxchars) | Legen Sie fest, wie viel der [Ausgabe](/docs/de/tools-reference#output-limits) eines erfolgreichen Befehls Claude inline erhält | Speicher und Kontext | Any file |628| [`bashOutputMaxChars`](#bashoutputmaxchars) | Legen Sie fest, wie viel der [Ausgabe](/docs/de/tools-reference#output-limits) eines erfolgreichen Befehls Claude inline erhält | Memory and context | Any file |

629| [`blockedMarketplaces`](#blockedmarketplaces) | Blockieren Sie [Plugin-Marketplace](/docs/de/plugin-marketplaces)-Quellen für Ihre Organisation | Plugins und Skills | Managed |629| [`blockedMarketplaces`](#blockedmarketplaces) | Blockieren Sie [Plugin-Marketplace](/docs/de/plugin-marketplaces)-Quellen für Ihre Organisation | Plugins and skills | Managed |

630| [`browserExternalPageTools`](#browserexternalpagetools) | Halten Sie Claudes Tools auf externen Seiten im [Desktop](/docs/de/desktop)-Browser-Bereich aus | Tools | Managed |630| [`browserExternalPageTools`](#browserexternalpagetools) | Halten Sie Claudes Tools auf externen Seiten im [Desktop](/docs/de/desktop)-Browser-Bereich aus | Tools | Managed |

631| [`channelsEnabled`](#channelsenabled) | Ermöglichen Sie [Kanäle](/docs/de/channels#enable-channels-for-your-organization) für Ihre Organisation | Plugins und Skills | Managed |631| [`channelsEnabled`](#channelsenabled) | Ermöglichen Sie [Kanäle](/docs/de/channels#enable-channels-for-your-organization) für Ihre Organisation | Plugins and skills | Managed |

632| [`claudeMd`](#claudemd) | Injizieren Sie organisationsweite [CLAUDE.md](/docs/de/memory#deploy-organization-wide-claude-md)-Anweisungen aus verwalteten Einstellungen | Speicher und Kontext | Managed |632| [`claudeMd`](#claudemd) | Injizieren Sie organisationsweite [CLAUDE.md](/docs/de/memory#deploy-organization-wide-claude-md)-Anweisungen aus verwalteten Einstellungen | Memory and context | Managed |

633| [`claudeMdExcludes`](#claudemdexcludes) | Überspringen Sie spezifische [CLAUDE.md](/docs/de/memory#exclude-specific-claude-md-files)-Dateien beim Laden des Gedächtnisses | Speicher und Kontext | Any file |633| [`claudeMdExcludes`](#claudemdexcludes) | Überspringen Sie spezifische [CLAUDE.md](/docs/de/memory#exclude-specific-claude-md-files)-Dateien beim Laden des Gedächtnisses | Memory and context | Any file |

634| [`cleanupPeriodDays`](#cleanupperioddays) | Wählen Sie, wie viele Tage Claude Code [Transkripte](/docs/de/data-usage#data-retention) behält, bevor sie gelöscht werden | Datenschutz und Telemetrie | Any file |634| [`cleanupPeriodDays`](#cleanupperioddays) | Wählen Sie, wie viele Tage Claude Code [Transkripte](/docs/de/data-usage#data-retention) behält, bevor sie gelöscht werden | Privacy and telemetry | Any file |

635| [`companyAnnouncements`](#companyannouncements) | Zeigen Sie die Ankündigungen Ihrer Organisation beim Start an | Schnittstelle und Terminal | Any file |635| [`companyAnnouncements`](#companyannouncements) | Zeigen Sie die Ankündigungen Ihrer Organisation beim Start an | Interface and terminal | Any file |

636| [`copyOnSelect`](#copyonselect) | Schalten Sie das automatische Kopieren von Text aus, den Sie mit der Maus im [Vollbild-Rendering](/docs/de/fullscreen#use-the-mouse) und in der Agent-Ansicht auswählen | Globale Konfigurationseinstellungen | Global config |636| [`copyOnSelect`](#copyonselect) | Schalten Sie das automatische Kopieren von Text aus, den Sie mit der Maus im [Vollbild-Rendering](/docs/de/fullscreen#use-the-mouse) und in der Agent-Ansicht auswählen | Global config settings | Global config |

637| [`crossSessionInbound`](#crosssessioninbound) | Wählen Sie, ob Claude Code [Nachrichten von Ihren anderen Sitzungen](/docs/de/cross-session-messaging#control-inbound-messages) liefert, eine Benachrichtigung ohne Lieferung anzeigt oder sie ablehnt | Agenten, Sitzungen und Worktrees | Any file |637| [`crossSessionInbound`](#crosssessioninbound) | Wählen Sie, ob Claude Code [Nachrichten von Ihren anderen Sitzungen](/docs/de/cross-session-messaging#control-inbound-messages) liefert, einen Hinweis anzeigt, ohne sie zu liefern, oder sie ablehnt | Agents, sessions, and worktrees | Any file |

638| [`defaultShell`](#defaultshell) | Wählen Sie, ob Bash oder PowerShell die Shell-Befehle ausführt, die Sie mit dem [`!`-Präfix](/docs/de/interactive-mode#shell-mode-with-prefix) eingeben | Schnittstelle und Terminal | Any file |638| [`defaultShell`](#defaultshell) | Wählen Sie, ob Bash oder PowerShell die Shell-Befehle ausführt, die Sie mit dem [`!`-Präfix](/docs/de/interactive-mode#shell-mode-with-prefix) eingeben | Interface and terminal | Any file |

639| [`deniedMcpServers`](#deniedmcpservers) | Blockieren Sie spezifische [MCP-Server](/docs/de/mcp) nach URL, Befehl oder Name | MCP | Any file |639| [`deniedMcpServers`](#deniedmcpservers) | Blockieren Sie spezifische [MCP-Server](/docs/de/mcp) nach URL, Befehl oder Name | MCP | Any file |

640| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | Legen Sie ein Alterslimit in Tagen für [Claude Desktop- und Cowork-Transkripte](/docs/de/claude-directory#cleaned-up-automatically) fest | Datenschutz und Telemetrie | User or managed |640| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | Legen Sie ein Alterslimit in Tagen für [Claude Desktop- und Cowork-Transkripte](/docs/de/claude-directory#cleaned-up-automatically) fest | Privacy and telemetry | User or managed |

641| [`dialogExpiry`](#dialogexpiry) | Legen Sie fest, wie lange Claude Code auf eine Antwort von [Remote Control](/docs/de/remote-control) oder einem SDK-Host auf einen weitergeleitet Dialog wartet, bevor der Dialog abgebrochen wird | Schnittstelle und Terminal | User or managed |641| [`dialogExpiry`](#dialogexpiry) | Legen Sie fest, wie lange Claude Code auf eine Antwort von [Remote Control](/docs/de/remote-control) oder einem SDK-Host auf einen weitergeleitet Dialog wartet, bevor der Dialog abgebrochen wird | Interface and terminal | User or managed |

642| [`diffTool`](#difftool) | Wählen Sie, ob Claudes vorgeschlagene Dateiänderungen im [VS Code](/docs/de/vs-code)- oder [JetBrains](/docs/de/jetbrains#features)-Diff-Viewer geöffnet werden oder im Terminal bleiben | Globale Konfigurationseinstellungen | Global config |642| [`diffTool`](#difftool) | Wählen Sie, ob Claudes vorgeschlagene Dateiänderungen im [VS Code](/docs/de/vs-code)- oder [JetBrains](/docs/de/jetbrains#features)-Diff-Viewer geöffnet werden oder im Terminal bleiben | Global config settings | Global config |

643| [`disableAgentView`](#disableagentview) | Schalten Sie Hintergrund-Agenten und [Agent-Ansicht](/docs/de/agent-view) aus | Agenten, Sitzungen und Worktrees | Any file |643| [`disableAgentView`](#disableagentview) | Schalten Sie Hintergrund-Agenten und [Agent-Ansicht](/docs/de/agent-view) aus | Agents, sessions, and worktrees | Any file |

644| [`disableAllHooks`](#disableallhooks) | Schalten Sie [Hooks](/docs/de/hooks), eine benutzerdefinierte [Statuszeile](/docs/de/statusline) und einen benutzerdefinierten [`@`-Dateivorschlag](/docs/de/interactive-mode#quick-commands)-Befehl auf einmal aus | Hooks und Automatisierung | Any file |644| [`disableAllHooks`](#disableallhooks) | Schalten Sie [Hooks](/docs/de/hooks), eine benutzerdefinierte [Statuszeile](/docs/de/statusline) und einen benutzerdefinierten [`@`-Dateivorschlag](/docs/de/interactive-mode#quick-commands)-Befehl auf einmal aus | Hooks and automation | Any file |

645| [`disableArtifact`](#disableartifact) | Veraltet; verwenden Sie `enableArtifact`, um das [Artifact-Tool](/docs/de/artifacts) auszuschalten | Remote, Desktop und Benachrichtigungen | Any file |645| [`disableArtifact`](#disableartifact) | Veraltet; verwenden Sie `enableArtifact`, um das [Artifact-Tool](/docs/de/artifacts) auszuschalten | Remote, desktop, and notifications | Any file |

646| [`disableAutoMode`](#disableautomode) | Entfernen Sie den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) aus dem Berechtigungsmodus-Zyklus | Berechtigungseinstellungen | Any file |646| [`disableAutoMode`](#disableautomode) | Entfernen Sie [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) aus dem Berechtigungsmodus-Zyklus | Permission settings | Any file |

647| [`disableBrowserExternalNavigation`](#disablebrowserexternalnavigation) | Begrenzen Sie den [Desktop](/docs/de/desktop)-Browser-Bereich auf localhost für Personen und Claude | Tools | Managed |647| [`disableBrowserExternalNavigation`](#disablebrowserexternalnavigation) | Beschränken Sie den [Desktop](/docs/de/desktop)-Browser-Bereich auf localhost für Personen und Claude | Tools | Managed |

648| [`disableBundledSkills`](#disablebundledskills) | Schalten Sie die [Skills](/docs/de/skills#bundled-skills) und [Workflows](/docs/de/workflows) aus, die mit Claude Code enthalten sind | Plugins und Skills | Any file |648| [`disableBundledSkills`](#disablebundledskills) | Schalten Sie die [Skills](/docs/de/skills#bundled-skills) und [Workflows](/docs/de/workflows) aus, die mit Claude Code enthalten sind | Plugins and skills | Any file |

649| [`disableClaudeAiConnectors`](#disableclaudeaiconnectors) | Schalten Sie [claude.ai-Konnektoren](/docs/de/mcp#disable-claude-ai-connectors) aus, damit Claude Code sie nicht abruft | MCP | Any file |649| [`disableClaudeAiConnectors`](#disableclaudeaiconnectors) | Schalten Sie [claude.ai-Konnektoren](/docs/de/mcp#disable-claude-ai-connectors) aus, damit Claude Code sie nicht abruft | MCP | Any file |

650| [`disableCommandPluginSources`](#disablecommandpluginsources) | Blockieren Sie [Plugins](/docs/de/plugins), die durch Ausführung eines vom Marketplace deklarierten Befehls installiert werden | Plugins und Skills | Managed |650| [`disableCommandPluginSources`](#disablecommandpluginsources) | Blockieren Sie [Plugins](/docs/de/plugins), die durch Ausführung eines vom Marketplace deklarierten Befehls installiert werden | Plugins and skills | Managed |

651| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Verhindern Sie, dass Claude Code den [`claude-cli://`-Handler](/docs/de/deep-links) registriert | Remote, Desktop und Benachrichtigungen | Any file |651| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Verhindern Sie, dass Claude Code den [`claude-cli://`-Handler](/docs/de/deep-links) registriert | Remote, desktop, and notifications | Any file |

652| [`disableDesktopLocalSessions`](#disabledesktoplocalsessions) | Schalten Sie [Desktop Code-Sitzungen](/docs/de/desktop#local-sessions-on-managed-devices) aus, die auf dem Gerät ausgeführt werden, und lassen Sie SSH zu anderen Hosts und Cloud | Remote, Desktop und Benachrichtigungen | Managed |652| [`disableDesktopLocalSessions`](#disabledesktoplocalsessions) | Schalten Sie [Desktop Code-Sitzungen](/docs/de/desktop#local-sessions-on-managed-devices) aus, die auf dem Gerät ausgeführt werden, und lassen Sie SSH zu anderen Hosts und Cloud | Remote, desktop, and notifications | Managed |

653| [`disabledMcpjsonServers`](#disabledmcpjsonservers) | Lehnen Sie spezifische Server aus der [`.mcp.json`](/docs/de/mcp#project-scope) eines Projekts ab | MCP | Any file |653| [`disabledMcpjsonServers`](#disabledmcpjsonservers) | Lehnen Sie spezifische Server aus der [`.mcp.json`](/docs/de/mcp#project-scope) eines Projekts ab | MCP | Any file |

654| [`disableMobileSimulatorTools`](#disablemobilesimulatortools) | Blockieren Sie Claudes Tools im [Desktop](/docs/de/desktop)-iOS-Simulator-Bereich | Tools | Managed |654| [`disableMobileSimulatorTools`](#disablemobilesimulatortools) | Blockieren Sie Claudes Tools im [Desktop](/docs/de/desktop)-iOS-Simulator-Bereich | Tools | Managed |

655| [`disableRemoteControl`](#disableremotecontrol) | Schalten Sie [Remote Control](/docs/de/remote-control) überall dort aus, wo es starten kann | Remote, Desktop und Benachrichtigungen | Any file |655| [`disableRemoteControl`](#disableremotecontrol) | Schalten Sie [Remote Control](/docs/de/remote-control) überall dort aus, wo es starten kann | Remote, desktop, and notifications | Any file |

656| [`disableSideloadFlags`](#disablesideloadflags) | Lehnen Sie die CLI-Flags ab, die [Plugins](/docs/de/plugins), [Subagenten](/docs/de/sub-agents) und [MCP-Server](/docs/de/mcp) sideloaden | Enterprise und verwaltete Einstellungen | Managed |656| [`disableSideloadFlags`](#disablesideloadflags) | Lehnen Sie die CLI-Flags ab, die [Plugins](/docs/de/plugins), [Subagenten](/docs/de/sub-agents) und [MCP-Server](/docs/de/mcp) sideloaden | Enterprise and managed settings | Managed |

657| [`disableSkillShellExecution`](#disableskillshellexecution) | Verhindern Sie, dass [Skills](/docs/de/skills) und benutzerdefinierte Befehle Inline-Shell ausführen | Plugins und Skills | Any file |657| [`disableSkillShellExecution`](#disableskillshellexecution) | Verhindern Sie, dass [Skills](/docs/de/skills) und benutzerdefinierte Befehle Inline-Shell ausführen | Plugins and skills | Any file |

658| [`disableWorkflows`](#disableworkflows) | Schalten Sie [dynamische Workflows](/docs/de/workflows) für alle aus; verwenden Sie `enableWorkflows` für sich selbst | Hooks und Automatisierung | Any file |658| [`disableWorkflows`](#disableworkflows) | Schalten Sie [dynamische Workflows](/docs/de/workflows) für alle aus; verwenden Sie `enableWorkflows` für sich selbst | Hooks and automation | Any file |

659| [`editorMode`](#editormode) | Verwenden Sie [vim-Tastenbindungen](/docs/de/interactive-mode#vim-editor-mode) in der Eingabeaufforderung | Schnittstelle und Terminal | Any file |659| [`editorMode`](#editormode) | Verwenden Sie [vim-Tastenbindungen](/docs/de/interactive-mode#vim-editor-mode) in der Eingabeaufforderung | Interface and terminal | Any file |

660| [`effortLevel`](#effortlevel) | Legen Sie eine Standard-[Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) für Modelle ohne eine gespeicherte Stufe fest | Modell und Antworten | Any file |660| [`effortLevel`](#effortlevel) | Legen Sie eine Standard-[Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) für Modelle ohne eine gespeicherte Stufe fest | Model and responses | Any file |

661| [`emojiCompletionEnabled`](#emojicompletionenabled) | Schalten Sie [`:shortcode:`-Emoji-Vorschläge und -Ersetzung](/docs/de/interactive-mode#emoji-shortcodes) in der Eingabeaufforderung aus | Schnittstelle und Terminal | Any file |661| [`emojiCompletionEnabled`](#emojicompletionenabled) | Schalten Sie [`:shortcode:`-Emoji-Vorschläge und -Ersetzung](/docs/de/interactive-mode#emoji-shortcodes) in der Eingabeaufforderung aus | Interface and terminal | Any file |

662| [`enableAllProjectMcpServers`](#enableallprojectmcpservers) | Genehmigen Sie jeden Server in Projekt-[`.mcp.json`](/docs/de/mcp#project-server-approvals-and-workspace-trust)-Dateien ohne Aufforderung | MCP | Any file |662| [`enableAllProjectMcpServers`](#enableallprojectmcpservers) | Genehmigen Sie jeden Server in Projekt-[`.mcp.json`](/docs/de/mcp#project-server-approvals-and-workspace-trust)-Dateien ohne Aufforderung | MCP | Any file |

663| [`enableArtifact`](#enableartifact) | Schalten Sie das [Artifact-Tool](/docs/de/artifacts) mit einem `false` in einer beliebigen Datei aus; keine Datei kann es wieder einschalten | Remote, Desktop und Benachrichtigungen | Any file |663| [`enableArtifact`](#enableartifact) | Schalten Sie das [Artifact-Tool](/docs/de/artifacts) mit einem `false` in einer beliebigen Datei aus; keine Datei kann es wieder einschalten | Remote, desktop, and notifications | Any file |

664| [`enabledMcpjsonServers`](#enabledmcpjsonservers) | Genehmigen Sie spezifische Server aus der [`.mcp.json`](/docs/de/mcp#project-server-approvals-and-workspace-trust) eines Projekts | MCP | Any file |664| [`enabledMcpjsonServers`](#enabledmcpjsonservers) | Genehmigen Sie spezifische Server aus der [`.mcp.json`](/docs/de/mcp#project-server-approvals-and-workspace-trust) eines Projekts | MCP | Any file |

665| [`enabledPlugins`](#enabledplugins) | Schalten Sie einzelne [Plugins](/docs/de/plugins) pro Bereich ein oder aus | Plugins und Skills | Any file |665| [`enabledPlugins`](#enabledplugins) | Schalten Sie einzelne [Plugins](/docs/de/plugins) pro Bereich ein oder aus | Plugins and skills | Any file |

666| [`enableWorkflows`](#enableworkflows) | Schalten Sie [dynamische Workflows](/docs/de/workflows) gegen den Standard Ihres Plans ein oder aus | Hooks und Automatisierung | Any file |666| [`enableWorkflows`](#enableworkflows) | Schalten Sie [dynamische Workflows](/docs/de/workflows) gegen den Standard Ihres Plans ein oder aus | Hooks and automation | Any file |

667| [`enforceAvailableModels`](#enforceavailablemodels) | Halten Sie die [`/model`-Standardauswahl](/docs/de/model-config#enforce-the-allowlist-for-the-default-model) in Ihrer `availableModels`-Zulassungsliste | Modell und Antworten | Any file |667| [`enforceAvailableModels`](#enforceavailablemodels) | Halten Sie die [`/model`-Standardauswahl](/docs/de/model-config#enforce-the-allowlist-for-the-default-model) innerhalb Ihrer `availableModels`-Zulassungsliste | Model and responses | Any file |

668| [`env`](#env) | Legen Sie [Umgebungsvariablen](/docs/de/env-vars#in-settings-files) für jede Sitzung und ihre Unterprozesse fest | Speicher und Kontext | Any file |668| [`env`](#env) | Legen Sie [Umgebungsvariablen](/docs/de/env-vars#in-settings-files) für jede Sitzung und ihre Unterprozesse fest | Memory and context | Any file |

669| [`externalEditorContext`](#externaleditorcontext) | Zeigen Sie Claudes letzte Antwort als Kommentare an, wenn Sie [Strg+G](/docs/de/interactive-mode#general-controls) drücken, um zu bearbeiten | Globale Konfigurationseinstellungen | Global config |669| [`externalEditorContext`](#externaleditorcontext) | Zeigen Sie Claudes letzte Antwort als Kommentare an, wenn Sie [Strg+G](/docs/de/interactive-mode#general-controls) drücken, um zu bearbeiten | Global config settings | Global config |

670| [`extraKnownMarketplaces`](#extraknownmarketplaces) | Registrieren Sie [Marketplaces](/docs/de/plugin-marketplaces) für ein Repository oder eine Organisation | Plugins und Skills | Any file |670| [`extraKnownMarketplaces`](#extraknownmarketplaces) | Registrieren Sie [Marketplaces](/docs/de/plugin-marketplaces) für ein Repository oder eine Organisation | Plugins and skills | Any file |

671| [`fallbackModel`](#fallbackmodel) | Benennen Sie [Backup-Modelle](/docs/de/model-config#fallback-model-chains) für den Fall, dass das primäre überlastet ist | Modell und Antworten | Any file |671| [`fallbackModel`](#fallbackmodel) | Benennen Sie [Backup-Modelle](/docs/de/model-config#fallback-model-chains) für den Fall, dass das primäre überlastet ist | Model and responses | Any file |

672| [`fastMode`](#fastmode) | Schalten Sie den [schnellen Modus](/docs/de/fast-mode) für Sitzungen ein, in denen er verfügbar ist | Modell und Antworten | Any file |672| [`fastMode`](#fastmode) | Schalten Sie [Fast-Modus](/docs/de/fast-mode) für Sitzungen ein, in denen er verfügbar ist | Model and responses | Any file |

673| [`fastModePerSessionOptIn`](#fastmodepersessionoptin) | Erfordern Sie, dass Personen den [schnellen Modus](/docs/de/fast-mode) jede Sitzung einschalten | Modell und Antworten | Any file |673| [`fastModePerSessionOptIn`](#fastmodepersessionoptin) | Erfordern Sie, dass Personen [Fast-Modus](/docs/de/fast-mode) in jeder Sitzung einschalten | Model and responses | Any file |

674| [`feedbackDrafts`](#feedbackdrafts) | Kontrollieren Sie, ob Claude [Feedback-Entwürfe](/docs/de/tools-reference#sendfeedback-tool-behavior) für Sie zur Überprüfung in die Warteschlange einreiht | Datenschutz und Telemetrie | User or managed |674| [`feedbackDrafts`](#feedbackdrafts) | Kontrollieren Sie, ob Claude [Feedback-Entwürfe](/docs/de/tools-reference#sendfeedback-tool-behavior) für Sie zur Überprüfung in die Warteschlange einreiht | Privacy and telemetry | User or managed |

675| [`feedbackSurveyRate`](#feedbacksurveyrate) | Ändern Sie, wie oft die [Sitzungsqualitätsumfrage](/docs/de/data-usage#session-quality-surveys) angezeigt wird | Datenschutz und Telemetrie | Any file |675| [`feedbackSurveyRate`](#feedbacksurveyrate) | Ändern Sie, wie oft die [Sitzungsqualitätsumfrage](/docs/de/data-usage#session-quality-surveys) angezeigt wird | Privacy and telemetry | Any file |

676| [`fileCheckpointingEnabled`](#filecheckpointingenabled) | Schalten Sie die Datei-Snapshots aus oder ein, die [`/rewind`](/docs/de/checkpointing) wiederherstellt | Speicher und Kontext | Any file |676| [`fileCheckpointingEnabled`](#filecheckpointingenabled) | Schalten Sie die Datei-Snapshots aus oder ein, die [`/rewind`](/docs/de/checkpointing) wiederherstellt | Memory and context | Any file |

677| [`fileSuggestion`](#filesuggestion) | Stellen Sie [`@`-Datei-Autovervollständigung](/docs/de/interactive-mode#quick-commands) aus Ihrem eigenen Befehl bereit | Schnittstelle und Terminal | Any file |677| [`fileSuggestion`](#filesuggestion) | Stellen Sie [`@`-Datei-Autovervollständigung](/docs/de/interactive-mode#quick-commands) aus Ihrem eigenen Befehl bereit | Interface and terminal | Any file |

678| [`footerLinksRegexes`](#footerlinksregexes) | Machen Sie Issue- oder Review-IDs in der Ausgabe zu [anklickbaren Links](/docs/de/statusline#clickable-links) unter dem Eingabefeld | Schnittstelle und Terminal | User or managed |678| [`footerLinksRegexes`](#footerlinksregexes) | Machen Sie Problem- oder Review-IDs in der Ausgabe zu [anklickbaren Links](/docs/de/statusline#clickable-links) unter dem Eingabefeld | Interface and terminal | User or managed |

679| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | Legen Sie die [Gateway-URL](/docs/de/claude-apps-gateway#set-the-gateway-url) fest, mit der sich der Anmeldebildschirm verbindet | Authentifizierung und Anbieter | Managed |679| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | Legen Sie die [Gateway-URL](/docs/de/claude-apps-gateway#set-the-gateway-url) fest, mit der sich der Anmeldebildschirm verbindet | Authentication and providers | Managed |

680| [`forceLoginMethod`](#forceloginmethod) | [Beschränken Sie die Anmeldung](/docs/de/authentication#restrict-login-to-your-organization) auf claude.ai, Claude Console oder ein [Cloud-Gateway](/docs/de/claude-apps-gateway) | Authentifizierung und Anbieter | Any file |680| [`forceLoginMethod`](#forceloginmethod) | [Beschränken Sie die Anmeldung](/docs/de/authentication#restrict-login-to-your-organization) auf claude.ai, Claude Console oder ein [Cloud-Gateway](/docs/de/claude-apps-gateway) | Authentication and providers | Any file |

681| [`forceLoginOrgUUID`](#forceloginorguuid) | [Heften Sie claude.ai-Anmeldungen an Ihre Organisation](/docs/de/authentication#restrict-login-to-your-organization); nur eine verwaltete Quelle erzwingt dies | Authentifizierung und Anbieter | Any file |681| [`forceLoginOrgUUID`](#forceloginorguuid) | [Heften Sie claude.ai-Anmeldungen an Ihre Organisation](/docs/de/authentication#restrict-login-to-your-organization); nur eine verwaltete Quelle erzwingt dies | Authentication and providers | Any file |

682| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Blockieren Sie den Start, bis [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) frisch abgerufen werden | Enterprise und verwaltete Einstellungen | Managed |682| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Blockieren Sie den Start, bis [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) frisch abgerufen werden | Enterprise and managed settings | Managed |

683| [`gatewayInternalNetworks`](#gatewayinternalnetworks) | Lassen Sie `/login` ein [Cloud-Gateway](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) auf öffentlichem IPv4-Adressraum erreichen, den Ihre Organisation intern nutzt | Authentifizierung und Anbieter | Managed |683| [`gatewayInternalNetworks`](#gatewayinternalnetworks) | Lassen Sie `/login` ein [Cloud-Gateway](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) auf öffentlichem IPv4-Adressraum erreichen, den Ihre Organisation intern nutzt | Authentication and providers | Managed |

684| [`gcpAuthRefresh`](#gcpauthrefresh) | Aktualisieren Sie [Google Cloud-Anmeldedaten](/docs/de/google-vertex-ai#advanced-credential-configuration) mit Ihrem eigenen Befehl | Authentifizierung und Anbieter | Any file |684| [`gcpAuthRefresh`](#gcpauthrefresh) | Aktualisieren Sie [Google Cloud-Anmeldedaten](/docs/de/google-vertex-ai#advanced-credential-configuration) mit Ihrem eigenen Befehl | Authentication and providers | Any file |

685| [`hooks`](#hooks) | Führen Sie Ihre eigenen Befehle als [Hooks](/docs/de/hooks) an Punkten im Lebenszyklus von Claude Code aus | Hooks und Automatisierung | Any file |685| [`hooks`](#hooks) | Führen Sie Ihre eigenen Befehle als [Hooks](/docs/de/hooks) an Punkten im Lebenszyklus von Claude Code aus | Hooks and automation | Any file |

686| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Begrenzen Sie, welche Umgebungsvariablen [HTTP-Hooks](/docs/de/hooks) in Header einfügen können | Hooks und Automatisierung | Any file |686| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Begrenzen Sie, welche Umgebungsvariablen [HTTP-Hooks](/docs/de/hooks) in Header einfügen können | Hooks and automation | Any file |

687| [`includeCoAuthoredBy`](#includecoauthoredby) | Veraltet; verwenden Sie `attribution`, um Commit- und PR-Zuschreibung zu verbergen oder zu ändern | Git und Zuschreibung | Any file |687| [`includeCoAuthoredBy`](#includecoauthoredby) | Veraltet; verwenden Sie `attribution`, um Commit- und PR-Zuschreibung zu verbergen oder zu ändern | Git and attribution | Any file |

688| [`includeGitInstructions`](#includegitinstructions) | Entfernen Sie die integrierten Commit- und PR-Anweisungen aus dem [System-Prompt](/docs/de/sub-agents#what-loads-at-startup) | Git und Zuschreibung | Any file |688| [`includeGitInstructions`](#includegitinstructions) | Entfernen Sie die integrierten Commit- und PR-Anweisungen aus Claudes Kontext | Git and attribution | Any file |

689| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Erhalten Sie eine [Push-Benachrichtigung](/docs/de/remote-control#mobile-push-notifications), wenn Claude auf Sie wartet | Remote, Desktop und Benachrichtigungen | Any file |689| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Erhalten Sie eine [Push-Benachrichtigung](/docs/de/remote-control#mobile-push-notifications), wenn Claude auf Sie wartet | Remote, desktop, and notifications | Any file |

690| [`isolatePeerMachines`](#isolatepeermachines) | Fragen Sie, bevor Claude [eine Ihrer Sitzungen auf einem anderen Computer](/docs/de/cross-session-messaging#require-approval-for-cross-machine-messages) anschreibt | Agenten, Sitzungen und Worktrees | Any file |690| [`isolatePeerMachines`](#isolatepeermachines) | Fragen Sie, bevor Claude [eine Ihrer Sitzungen auf einem anderen Computer](/docs/de/cross-session-messaging#require-approval-for-cross-machine-messages) benachrichtigt | Agents, sessions, and worktrees | Any file |

691| [`keybindingFlavor`](#keybindingflavor) | Veraltet und hat keine Auswirkung; die Wort-Bearbeitungs-Tastenkombinationen folgen immer [readline-Konventionen](/docs/de/interactive-mode#make-ctrl-w-delete-back-to-whitespace) | Schnittstelle und Terminal | Any file |691| [`keybindingFlavor`](#keybindingflavor) | Veraltet und hat keine Auswirkung; die Wort-Bearbeitungs-Tastenkombinationen folgen immer [readline-Konventionen](/docs/de/interactive-mode#make-ctrl-w-delete-back-to-whitespace) | Interface and terminal | Any file |

692| [`language`](#language) | Lassen Sie Claude in einer anderen Sprache als Englisch antworten | Modell und Antworten | Any file |692| [`language`](#language) | Lassen Sie Claude in einer anderen Sprache als Englisch antworten | Model and responses | Any file |

693| [`managedMcpServers`](#managedmcpservers) | Stellen Sie Remote-[MCP-Server](/docs/de/managed-mcp#provide-servers-through-managed-settings) für jeden Benutzer neben den von ihm hinzugefügten bereit | MCP | Managed |693| [`managedMcpServers`](#managedmcpservers) | Stellen Sie Remote-[MCP-Server](/docs/de/managed-mcp#provide-servers-through-managed-settings) für jeden Benutzer zusammen mit den von ihm hinzugefügten bereit | MCP | Managed |

694| [`managedSourcesBehavior`](#managedsourcesbehavior) | Komponieren Sie jede [verwaltete Quelle](/docs/de/managed-settings#how-claude-code-combines-managed-sources), die Sie bereitstellen, anstatt nur die mit der höchsten Priorität zu verwenden | Enterprise und verwaltete Einstellungen | Managed |694| [`managedSourcesBehavior`](#managedsourcesbehavior) | Kombinieren Sie jede [verwaltete Quelle](/docs/de/managed-settings#how-claude-code-combines-managed-sources), die Sie bereitstellen, anstatt nur die mit der höchsten Priorität zu verwenden | Enterprise and managed settings | Managed |

695| [`maxEffortLevel`](#maxeffortlevel) | Begrenzen Sie die [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) für jedes Modell oder pro Modell auf jedem Anbieter | Modell und Antworten | Any file |695| [`maxEffortLevel`](#maxeffortlevel) | Begrenzen Sie die [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) für jedes Modell oder pro Modell auf jedem Anbieter | Model and responses | Any file |

696| [`minimumVersion`](#minimumversion) | Halten Sie [Auto-Updates](/docs/de/setup#pin-a-minimum-version) davon ab, etwas unter einer Version zu installieren | Updates und Versionierung | Any file |696| [`minimumVersion`](#minimumversion) | Halten Sie [Auto-Updates](/docs/de/setup#pin-a-minimum-version) davon ab, etwas unter einer Version zu installieren | Updates and versioning | Any file |

697| [`model`](#model) | Ändern Sie das [Modell](/docs/de/model-config#set-a-default-model-for-new-sessions), mit dem Claude Code startet | Modell und Antworten | Any file |697| [`model`](#model) | Ändern Sie das [Modell](/docs/de/model-config#set-a-default-model-for-new-sessions), mit dem Claude Code startet | Model and responses | Any file |

698| [`modelOverrides`](#modeloverrides) | [Ordnen Sie Modell-IDs](/docs/de/model-config#override-model-ids-per-version) den IDs Ihres Anbieters zu, wie z. B. Bedrock ARNs | Modell und Antworten | Any file |698| [`modelOverrides`](#modeloverrides) | [Ordnen Sie Modell-IDs](/docs/de/model-config#override-model-ids-per-version) den IDs Ihres Anbieters zu, wie z. B. Bedrock-ARNs | Model and responses | Any file |

699| [`modelPicker`](#modelpicker) | Wählen Sie, welche Modelle der [`/model`-Picker](/docs/de/model-config#available-models) auflistet, in Ihrer eigenen Reihenfolge und mit Ihren eigenen Labels | Modell und Antworten | User or managed |699| [`modelPicker`](#modelpicker) | Wählen Sie, welche Modelle der [`/model`-Picker](/docs/de/model-config#available-models) auflistet, in Ihrer eigenen Reihenfolge und mit Ihren eigenen Labels | Model and responses | User or managed |

700| [`modelPricing`](#modelpricing) | Melden Sie Ausgaben zu den vertraglich vereinbarten Sätzen Ihrer Organisation statt zum Listenpreis | Modell und Antworten | Managed |700| [`modelPricing`](#modelpricing) | Melden Sie Ausgaben zu den vertraglich vereinbarten Sätzen Ihrer Organisation statt zum Listenpreis | Model and responses | Managed |

701| [`modelSettings`](#modelsettings) | Behalten Sie eine gespeicherte [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) pro Modell oder begrenzen Sie die Anstrengung eines Modells | Modell und Antworten | Any file |701| [`modelSettings`](#modelsettings) | Behalten Sie eine gespeicherte [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) pro Modell bei, oder begrenzen Sie die Anstrengung eines Modells | Model and responses | Any file |

702| [`otelHeadersHelper`](#otelheadershelper) | Generieren Sie rotierende [OpenTelemetry](/docs/de/monitoring-usage#dynamic-headers)-Header mit Ihrem eigenen Befehl | Authentifizierung und Anbieter | Any file |702| [`otelHeadersHelper`](#otelheadershelper) | Generieren Sie rotierende [OpenTelemetry](/docs/de/monitoring-usage#dynamic-headers)-Header mit Ihrem eigenen Befehl | Authentication and providers | Any file |

703| [`outputStyle`](#outputstyle) | Ändern Sie Claudes Rolle, Ton und Ausgabeformat mit einem [Ausgabestil](/docs/de/output-styles) | Modell und Antworten | Any file |703| [`outputStyle`](#outputstyle) | Ändern Sie Claudes Rolle, Ton und Ausgabeformat mit einem [Ausgabestil](/docs/de/output-styles) | Model and responses | Any file |

704| [`parentSettingsBehavior`](#parentsettingsbehavior) | Wenden Sie Einschränkungen an oder verwerfen Sie sie, die ein [SDK- oder IDE-Host](/docs/de/managed-settings#let-an-embedding-host-add-policy) übergibt, wenn Sie [verwaltete Einstellungen](/docs/de/managed-settings) bereitstellen | Enterprise und verwaltete Einstellungen | Managed |704| [`parentSettingsBehavior`](#parentsettingsbehavior) | Wenden Sie Einschränkungen an oder verwerfen Sie sie, die ein [SDK- oder IDE-Host](/docs/de/managed-settings#let-an-embedding-host-add-policy) übergibt, wenn Sie [verwaltete Einstellungen](/docs/de/managed-settings) bereitstellen | Enterprise and managed settings | Managed |

705| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Entfernt in v2.1.257, zusammen mit der `Strg+E`-Befehlserklärung auf Shell-Berechtigungsaufforderungen | Globale Konfigurationseinstellungen | Global config |705| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Entfernt in v2.1.257, zusammen mit der `Strg+E`-Befehlserklärung auf Shell-Berechtigungsaufforderungen | Global config settings | Global config |

706| [`permissions`](#permissions) | Legen Sie Allow-, Ask- und Deny-Regeln sowie den Start-[Berechtigungsmodus](/docs/de/permission-modes) fest | Berechtigungseinstellungen | Any file |706| [`permissions`](#permissions) | Legen Sie Allow-, Ask- und Deny-Regeln sowie den Start-[Berechtigungsmodus](/docs/de/permission-modes) fest | Permission settings | Any file |

707| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Geben Sie Claude Dateizugriff auf [Verzeichnisse außerhalb des aktuellen](/docs/de/permissions#working-directories) | Berechtigungseinstellungen | Any file |707| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Geben Sie Claude Dateizugriff auf [Verzeichnisse außerhalb des aktuellen](/docs/de/permissions#working-directories) | Permission settings | Any file |

708| [`permissions.allow`](#permissions-allow) | Genehmigen Sie aufgelistete [Tool-Verwendungen](/docs/de/permissions#permission-rule-syntax) ohne Aufforderung | Berechtigungseinstellungen | Any file |708| [`permissions.allow`](#permissions-allow) | Genehmigen Sie aufgelistete [Tool-Verwendungen](/docs/de/permissions#permission-rule-syntax) ohne Aufforderung | Permission settings | Any file |

709| [`permissions.ask`](#permissions-ask) | Fragen Sie immer vor aufgelisteten [Tool-Verwendungen](/docs/de/permissions#permission-rule-syntax) | Berechtigungseinstellungen | Any file |709| [`permissions.ask`](#permissions-ask) | Fragen Sie immer vor aufgelisteten [Tool-Verwendungen](/docs/de/permissions#permission-rule-syntax) | Permission settings | Any file |

710| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Machen Sie die Datei-Tools, um Lesevorgänge außerhalb der [Arbeitsverzeichnisse](/docs/de/permissions#working-directories) in jedem Berechtigungsmodus zu verweigern | Berechtigungseinstellungen | Any file |710| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Machen Sie die Datei-Tools, um Lesevorgänge außerhalb der [Arbeitsverzeichnisse](/docs/de/permissions#working-directories) in jedem Berechtigungsmodus zu verweigern | Permission settings | Any file |

711| [`permissions.defaultMode`](#permissions-defaultmode) | Legen Sie den [Berechtigungsmodus](/docs/de/permission-modes#which-mode-a-session-starts-in) fest, in dem neue Sitzungen starten | Berechtigungseinstellungen | Any file |711| [`permissions.defaultMode`](#permissions-defaultmode) | Legen Sie den [Berechtigungsmodus](/docs/de/permission-modes#which-mode-a-session-starts-in) fest, in dem neue Sitzungen starten | Permission settings | Any file |

712| [`permissions.deny`](#permissions-deny) | Blockieren Sie aufgelistete [Tool-Verwendungen](/docs/de/permissions#permission-rule-syntax), einschließlich Lesevorgänge von Dateien, die Geheimnisse enthalten | Berechtigungseinstellungen | Any file |712| [`permissions.deny`](#permissions-deny) | Blockieren Sie aufgelistete [Tool-Verwendungen](/docs/de/permissions#permission-rule-syntax), einschließlich Lesevorgänge von Dateien, die Geheimnisse enthalten | Permission settings | Any file |

713| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Verhindern Sie, dass jemand den [bypassPermissions-Modus](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) betritt | Berechtigungseinstellungen | Any file |713| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Verhindern Sie, dass jemand den [bypassPermissions-Modus](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) betritt | Permission settings | Any file |

714| [`plansDirectory`](#plansdirectory) | Wählen Sie, wo der [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) Plan-Dateien schreibt | Speicher und Kontext | Any file |714| [`plansDirectory`](#plansdirectory) | Wählen Sie, wo [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) Plan-Dateien schreibt | Memory and context | Any file |

715| [`pluginConfigs`](#pluginconfigs) | Speichern Sie die Antworten, die Sie dem Konfigurationsdialog eines [Plugins](/docs/de/plugins) gegeben haben | Plugins und Skills | User or managed |715| [`pluginConfigs`](#pluginconfigs) | Speichern Sie die Antworten, die Sie dem Konfigurationsdialog eines [Plugins](/docs/de/plugins) gegeben haben | Plugins and skills | User or managed |

716| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | Wählen Sie, welche [Marketplaces](/docs/de/plugin-marketplaces#managed-marketplace-restrictions) Plugin-Installationsvorschläge in `/plugin` anzeigen können | Plugins und Skills | Managed |716| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | Wählen Sie, welche [Marketplaces](/docs/de/plugin-marketplaces#managed-marketplace-restrictions) Plugin-Installationsvorschläge in `/plugin` anzeigen können | Plugins and skills | Managed |

717| [`pluginTrustMessage`](#plugintrustmessage) | Fügen Sie Ihren eigenen Text zur [Plugin](/docs/de/plugins)-Vertrauenswarnung hinzu | Plugins und Skills | Managed |717| [`pluginTrustMessage`](#plugintrustmessage) | Fügen Sie Ihren eigenen Text zur [Plugin](/docs/de/plugins)-Vertrauenswarnung hinzu | Plugins and skills | Managed |

718| [`policyHelper`](#policyhelper) | Führen Sie eine ausführbare Datei aus, die [verwaltete Einstellungen](/docs/de/managed-settings#compute-the-policy-with-a-helper-program) beim Start berechnet | Enterprise und verwaltete Einstellungen | Managed |718| [`policyHelper`](#policyhelper) | Führen Sie eine ausführbare Datei aus, die [verwaltete Einstellungen](/docs/de/managed-settings#compute-the-policy-with-a-helper-program) beim Start berechnet | Enterprise and managed settings | Managed |

719| [`policyHelper.path`](#policyhelper-path) | Benennen Sie die [Helper-Ausführungsdatei](/docs/de/managed-settings#compute-the-policy-with-a-helper-program), die Claude Code ausführt | Enterprise und verwaltete Einstellungen | Managed |719| [`policyHelper.path`](#policyhelper-path) | Benennen Sie die [Helper-Ausführungsdatei](/docs/de/managed-settings#compute-the-policy-with-a-helper-program), die Claude Code ausführt | Enterprise and managed settings | Managed |

720| [`policyHelper.refreshIntervalMs`](#policyhelper-refreshintervalms) | Führen Sie den [Helper](/docs/de/managed-settings#compute-the-policy-with-a-helper-program) im Hintergrund in einem Intervall erneut aus | Enterprise und verwaltete Einstellungen | Managed |720| [`policyHelper.refreshIntervalMs`](#policyhelper-refreshintervalms) | Führen Sie den [Helper](/docs/de/managed-settings#compute-the-policy-with-a-helper-program) im Hintergrund in einem Intervall erneut aus | Enterprise and managed settings | Managed |

721| [`policyHelper.timeoutMs`](#policyhelper-timeoutms) | Legen Sie fest, wie lange Claude Code auf den [Helper](/docs/de/managed-settings#compute-the-policy-with-a-helper-program) wartet | Enterprise und verwaltete Einstellungen | Managed |721| [`policyHelper.timeoutMs`](#policyhelper-timeoutms) | Legen Sie fest, wie lange Claude Code auf den [Helper](/docs/de/managed-settings#compute-the-policy-with-a-helper-program) wartet | Enterprise and managed settings | Managed |

722| [`preferredNotifChannel`](#preferrednotifchannel) | Wählen Sie eine [Terminal-Glocke oder Desktop-Benachrichtigung](/docs/de/terminal-config#get-a-terminal-bell-or-notification) für die Aufgabenvollendung | Remote, Desktop und Benachrichtigungen | Any file |722| [`preferredNotifChannel`](#preferrednotifchannel) | Wählen Sie einen [Terminal-Gong oder Desktop-Benachrichtigung](/docs/de/terminal-config#get-a-terminal-bell-or-notification) für die Aufgabenvollendung | Remote, desktop, and notifications | Any file |

723| [`prefersReducedMotion`](#prefersreducedmotion) | [Reduzieren oder schalten Sie aus](/docs/de/accessibility#accessibility-settings) Spinner-, Shimmer- und Flash-Animationen | Schnittstelle und Terminal | Any file |723| [`prefersReducedMotion`](#prefersreducedmotion) | [Reduzieren oder schalten Sie](/docs/de/accessibility#accessibility-settings) Spinner-, Shimmer- und Flash-Animationen aus | Interface and terminal | Any file |

724| [`processWrapper`](#processwrapper) | Führen Sie Claudes Hintergrundprozesse durch einen [Corporate Launcher](/docs/de/corporate-launcher) auf macOS und Linux aus | Agenten, Sitzungen und Worktrees | User or managed |724| [`processWrapper`](#processwrapper) | Führen Sie die Hintergrundprozesse von Claude Code durch einen [Corporate Launcher](/docs/de/corporate-launcher) auf macOS und Linux aus | Agents, sessions, and worktrees | User or managed |

725| [`promptCacheTtl`](#promptcachettl) | Wählen Sie die [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime) für die Hauptkonversation | Modell und Antworten | Any file |725| [`promptCacheTtl`](#promptcachettl) | Wählen Sie die [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime) für die Hauptkonversation | Model and responses | Any file |

726| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Verbergen Sie die ausgegraut [Prompt-Vorschläge](/docs/de/interactive-mode#prompt-suggestions) im Eingabefeld | Schnittstelle und Terminal | Any file |726| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Verbergen Sie die ausgegraut [Prompt-Vorschläge](/docs/de/interactive-mode#prompt-suggestions) im Eingabefeld | Interface and terminal | Any file |

727| [`prUrlTemplate`](#prurltemplate) | Zeigen Sie PR-Links auf ein internes Code-Review-Tool statt auf github.com | Git und Zuschreibung | Any file |727| [`prUrlTemplate`](#prurltemplate) | Zeigen Sie PR-Links auf ein internes Code-Review-Tool statt auf github.com | Git and attribution | Any file |

728| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Wählen Sie die Standard-[Cloud-Umgebung](/docs/de/cloud-environments) für `claude --cloud`; eine selbstgehostete `ccpool_`-ID wird nur aus Benutzer- und verwalteten Einstellungen und `--settings` gelesen | Remote, Desktop und Benachrichtigungen | Any file |728| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Wählen Sie die Standard-[Cloud-Umgebung](/docs/de/cloud-environments) für `claude --cloud`; eine selbstgehostete `ccpool_`-ID wird nur aus Benutzer- und verwalteten Einstellungen und `--settings` gelesen | Remote, desktop, and notifications | Any file |

729| [`remoteControlAtStartup`](#remotecontrolatstartup) | Verbinden Sie [Remote Control](/docs/de/remote-control#enable-remote-control-for-all-sessions) automatisch, wenn eine Sitzung startet | Remote, Desktop und Benachrichtigungen | Any file |729| [`remoteControlAtStartup`](#remotecontrolatstartup) | Verbinden Sie [Remote Control](/docs/de/remote-control#enable-remote-control-for-all-sessions) automatisch, wenn eine Sitzung startet | Remote, desktop, and notifications | Any file |

730| [`requiredMaximumVersion`](#requiredmaximumversion) | [Weigern Sie sich zu starten](/docs/de/setup#pin-a-minimum-version) auf einer Version, die Ihre Organisation neuer als erlaubt ist | Updates und Versionierung | Managed |730| [`requiredMaximumVersion`](#requiredmaximumversion) | [Weigern Sie sich zu starten](/docs/de/setup#pin-a-minimum-version) auf einer Version, die Ihre Organisation nicht zulässt | Updates and versioning | Managed |

731| [`requiredMinimumVersion`](#requiredminimumversion) | [Weigern Sie sich zu starten](/docs/de/setup#pin-a-minimum-version) auf einer Version, die älter als Ihre Organisation erfordert | Updates und Versionierung | Managed |731| [`requiredMinimumVersion`](#requiredminimumversion) | [Weigern Sie sich zu starten](/docs/de/setup#pin-a-minimum-version) auf einer Version, die älter ist als Ihre Organisation erfordert | Updates and versioning | Managed |

732| [`respectGitignore`](#respectgitignore) | Halten Sie ignorierte Dateien aus dem [`@`-Datei-Picker](/docs/de/interactive-mode#quick-commands) | Schnittstelle und Terminal | Any file |732| [`respectGitignore`](#respectgitignore) | Halten Sie ignorierte Dateien aus dem [`@`-Datei-Picker](/docs/de/interactive-mode#quick-commands) | Interface and terminal | Any file |

733| [`respondToBashCommands`](#respondtobashcommands) | Verhindern Sie, dass Claude nach einem [`!`-Shell-Befehl](/docs/de/interactive-mode#shell-mode-with-prefix) antwortet | Schnittstelle und Terminal | Any file |733| [`respondToBashCommands`](#respondtobashcommands) | Verhindern Sie, dass Claude nach einem [`!`-Shell-Befehl](/docs/de/interactive-mode#shell-mode-with-prefix) antwortet | Interface and terminal | Any file |

734| [`sandbox`](#sandbox) | [Isolieren Sie Bash-Befehle](/docs/de/sandboxing) von Ihrem Dateisystem und Netzwerk auf macOS, Linux und WSL2 | Sandbox-Einstellungen | Any file |734| [`sandbox`](#sandbox) | [Isolieren Sie Bash-Befehle](/docs/de/sandboxing) von Ihrem Dateisystem und Netzwerk auf macOS, Linux und WSL2 | Sandbox settings | Any file |

735| [`sandbox.allowAppleEvents`](#sandbox-allowappleevents) | Lassen Sie [Sandbox-Befehle](/docs/de/sandboxing) Apple Events auf macOS senden | Sandbox-Einstellungen | User or managed |735| [`sandbox.allowAppleEvents`](#sandbox-allowappleevents) | Lassen Sie [sandboxed](/docs/de/sandboxing)-Befehle Apple Events auf macOS senden | Sandbox settings | User or managed |

736| [`sandbox.allowUnsandboxedCommands`](#sandbox-allowunsandboxedcommands) | Lassen Sie Claude einen blockierten Befehl außerhalb der [Sandbox](/docs/de/sandboxing#the-unsandboxed-retry-escape-hatch) erneut versuchen oder verbieten Sie ihn | Sandbox-Einstellungen | Any file |736| [`sandbox.allowUnsandboxedCommands`](#sandbox-allowunsandboxedcommands) | Lassen Sie Claude einen blockierten Befehl außerhalb der [Sandbox](/docs/de/sandboxing#the-unsandboxed-retry-escape-hatch) erneut versuchen, oder verbieten Sie ihn | Sandbox settings | Any file |

737| [`sandbox.autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) | Führen Sie [Sandbox-Befehle](/docs/de/sandboxing#auto-allow-mode) ohne Berechtigungsaufforderung aus | Sandbox-Einstellungen | Any file |737| [`sandbox.autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) | Führen Sie [sandboxed](/docs/de/sandboxing#auto-allow-mode)-Befehle ohne Berechtigungsaufforderung aus | Sandbox settings | Any file |

738| [`sandbox.bwrapPath`](#sandbox-bwrappath) | Zeigen Sie die [Sandbox](/docs/de/sandboxing) auf eine Bubblewrap-Binärdatei außerhalb von `PATH` | Sandbox-Einstellungen | Managed |738| [`sandbox.bwrapPath`](#sandbox-bwrappath) | Zeigen Sie die [Sandbox](/docs/de/sandboxing) auf eine Bubblewrap-Binärdatei außerhalb von `PATH` | Sandbox settings | Managed |

739| [`sandbox.credentials`](#sandbox-credentials) | Verbergen oder maskieren Sie Anmeldedatendateien und Variablen in der [Sandbox](/docs/de/sandboxing#protect-credentials) | Sandbox-Einstellungen | Any file |739| [`sandbox.credentials`](#sandbox-credentials) | Verbergen oder maskieren Sie Anmeldedatei- und Variablen in der [Sandbox](/docs/de/sandboxing#protect-credentials) | Sandbox settings | Any file |

740| [`sandbox.credentials.allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) | Lassen Sie [maskierte Anmeldedaten](/docs/de/sandboxing#mask-credentials) Plain-HTTP-Dienste in vertrauenswürdigen Testnetzwerken erreichen | Sandbox-Einstellungen | User or managed |740| [`sandbox.credentials.allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) | Lassen Sie [maskierte Anmeldedaten](/docs/de/sandboxing#mask-credentials) Plain-HTTP-Dienste auf vertrauenswürdigen Test-Netzwerken erreichen | Sandbox settings | User or managed |

741| [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs) | Verknüpfen Sie benutzerdefiniert benannte AWS-Schlüsselvariablen in eine Anmeldedaten für [Neusignierung](/docs/de/sandboxing#re-sign-aws-requests) | Sandbox-Einstellungen | User or managed |741| [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs) | Verknüpfen Sie benutzerdefiniert benannte AWS-Schlüsselvariablen in eine Anmeldedaten für [Neusignierung](/docs/de/sandboxing#re-sign-aws-requests) | Sandbox settings | User or managed |

742| [`sandbox.credentials.envVars`](#sandbox-credentials-envvars) | Heben Sie die Einstellung auf oder maskieren Sie eine Umgebungsvariable in der [Sandbox](/docs/de/sandboxing#mask-environment-variables) | Sandbox-Einstellungen | Any file |742| [`sandbox.credentials.envVars`](#sandbox-credentials-envvars) | Heben Sie die Einstellung auf oder maskieren Sie eine Umgebungsvariable in der [Sandbox](/docs/de/sandboxing#mask-environment-variables) | Sandbox settings | Any file |

743| [`sandbox.credentials.files`](#sandbox-credentials-files) | Blockieren oder maskieren Sie Lesevorgänge einer Anmeldedatendatei in der [Sandbox](/docs/de/sandboxing#mask-credential-files) | Sandbox-Einstellungen | Any file |743| [`sandbox.credentials.files`](#sandbox-credentials-files) | Blockieren oder maskieren Sie Lesevorgänge einer Anmeldedatei in der [Sandbox](/docs/de/sandboxing#mask-credential-files) | Sandbox settings | Any file |

744| [`sandbox.credentials.sigv4`](#sandbox-credentials-sigv4) | Wählen Sie, ob Streaming-, Presigned- oder [SigV4A AWS-Anfragen](/docs/de/sandboxing#re-sign-aws-requests) fehlschlagen oder durchgehen | Sandbox-Einstellungen | User or managed |744| [`sandbox.credentials.sigv4`](#sandbox-credentials-sigv4) | Wählen Sie, ob Streaming-, Presigned- oder [SigV4A-AWS-Anfragen](/docs/de/sandboxing#re-sign-aws-requests) fehlschlagen oder durchgehen | Sandbox settings | User or managed |

745| [`sandbox.enabled`](#sandbox-enabled) | Schalten Sie [Bash-Sandboxing](/docs/de/sandboxing#get-started) auf macOS, Linux und WSL2 ein | Sandbox-Einstellungen | Any file |745| [`sandbox.enabled`](#sandbox-enabled) | Schalten Sie [Bash-Sandboxing](/docs/de/sandboxing#get-started) auf macOS, Linux und WSL2 ein | Sandbox settings | Any file |

746| [`sandbox.enableWeakerNestedSandbox`](#sandbox-enableweakernestedsandbox) | Führen Sie die Linux-[Sandbox](/docs/de/sandboxing) in einem unprivilegierten Container aus | Sandbox-Einstellungen | Any file |746| [`sandbox.enableWeakerNestedSandbox`](#sandbox-enableweakernestedsandbox) | Führen Sie die Linux-[Sandbox](/docs/de/sandboxing) in einem unprivilegierten Container aus | Sandbox settings | Any file |

747| [`sandbox.enableWeakerNetworkIsolation`](#sandbox-enableweakernetworkisolation) | Lassen Sie `gh`, `gcloud` und `terraform` TLS hinter einem MITM-Proxy in der [Sandbox](/docs/de/sandboxing#troubleshooting) auf macOS überprüfen | Sandbox-Einstellungen | Any file |747| [`sandbox.enableWeakerNetworkIsolation`](#sandbox-enableweakernetworkisolation) | Lassen Sie `gh`, `gcloud` und `terraform` TLS hinter einem MITM-Proxy in der [Sandbox](/docs/de/sandboxing#troubleshooting) auf macOS überprüfen | Sandbox settings | Any file |

748| [`sandbox.excludedCommands`](#sandbox-excludedcommands) | Benennen Sie Befehle, die immer außerhalb der [Sandbox](/docs/de/sandboxing) ausgeführt werden | Sandbox-Einstellungen | Any file |748| [`sandbox.excludedCommands`](#sandbox-excludedcommands) | Benennen Sie Befehle, die Claude Code außerhalb der [Sandbox](/docs/de/sandboxing) ausführen kann | Sandbox settings | Any file |

749| [`sandbox.failIfUnavailable`](#sandbox-failifunavailable) | Weigern Sie sich zu starten, wenn die [Sandbox](/docs/de/sandboxing) nicht kann, anstatt unsandboxed auszuführen | Sandbox-Einstellungen | Any file |749| [`sandbox.failIfUnavailable`](#sandbox-failifunavailable) | Weigern Sie sich zu starten, wenn die [Sandbox](/docs/de/sandboxing) nicht kann, anstatt unsandboxed auszuführen | Sandbox settings | Any file |

750| [`sandbox.filesystem`](#sandbox-filesystem) | Kontrollieren Sie, welche Pfade [Sandbox-Befehle](/docs/de/sandboxing#filesystem-isolation) lesen und schreiben können | Sandbox-Einstellungen | Any file |750| [`sandbox.filesystem`](#sandbox-filesystem) | Kontrollieren Sie, welche Pfade [sandboxed](/docs/de/sandboxing#filesystem-isolation)-Befehle lesen und schreiben können | Sandbox settings | Any file |

751| [`sandbox.filesystem.allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) | Verhindern Sie, dass Entwickler [Lesepfade, die Ihre Organisation blockiert hat,](/docs/de/sandboxing#keep-developers-from-widening-the-policy) erneut öffnen | Sandbox-Einstellungen | Managed |751| [`sandbox.filesystem.allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) | Verhindern Sie, dass Entwickler [Lesepfade, die Ihre Organisation blockiert hat,](/docs/de/sandboxing#keep-developers-from-widening-the-policy) erneut öffnen | Sandbox settings | Managed |

752| [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) | Öffnen Sie das Lesen in einer Region erneut, die [`denyRead`](#sandbox-filesystem-denyread) blockiert | Sandbox-Einstellungen | Any file |752| [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) | Öffnen Sie das Lesen erneut in einem Bereich, den [`denyRead`](#sandbox-filesystem-denyread) blockiert | Sandbox settings | Any file |

753| [`sandbox.filesystem.allowWrite`](#sandbox-filesystem-allowwrite) | Fügen Sie Pfade hinzu, in die [Sandbox-Befehle](/docs/de/sandboxing) schreiben können | Sandbox-Einstellungen | Any file |753| [`sandbox.filesystem.allowWrite`](#sandbox-filesystem-allowwrite) | Fügen Sie Pfade hinzu, in die [sandboxed](/docs/de/sandboxing)-Befehle schreiben können | Sandbox settings | Any file |

754| [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread) | Blockieren Sie [Sandbox-Befehle](/docs/de/sandboxing) vom Lesen spezifischer Pfade | Sandbox-Einstellungen | Any file |754| [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread) | Blockieren Sie [sandboxed](/docs/de/sandboxing)-Befehle vom Lesen spezifischer Pfade | Sandbox settings | Any file |

755| [`sandbox.filesystem.denyWrite`](#sandbox-filesystem-denywrite) | Blockieren Sie [Sandbox-Befehle](/docs/de/sandboxing) vom Schreiben in spezifische Pfade | Sandbox-Einstellungen | Any file |755| [`sandbox.filesystem.denyWrite`](#sandbox-filesystem-denywrite) | Blockieren Sie [sandboxed](/docs/de/sandboxing)-Befehle vom Schreiben in spezifische Pfade | Sandbox settings | Any file |

756| [`sandbox.filesystem.disabled`](#sandbox-filesystem-disabled) | [Schalten Sie die Dateisystem-Isolation aus](/docs/de/sandboxing#disable-filesystem-isolation), während Sie die Netzwerk-Isolation behalten | Sandbox-Einstellungen | User or managed |756| [`sandbox.filesystem.disabled`](#sandbox-filesystem-disabled) | [Schalten Sie die Dateisystem-Isolation aus](/docs/de/sandboxing#disable-filesystem-isolation), während Sie die Netzwerk-Isolation beibehalten | Sandbox settings | User or managed |

757| [`sandbox.ignoreViolations`](#sandbox-ignoreviolations) | Stummschalten Sie Verletzungsberichte für Pfade, die ein Befehl voraussichtlich prüft | Sandbox-Einstellungen | Any file |757| [`sandbox.ignoreViolations`](#sandbox-ignoreviolations) | Stummschalten Sie Verletzungsberichte für Pfade, die ein Befehl voraussichtlich prüft | Sandbox settings | Any file |

758| [`sandbox.network`](#sandbox-network) | Kontrollieren Sie, welche Hosts, Ports und Sockets [Sandbox-Befehle](/docs/de/sandboxing#network-isolation) erreichen | Sandbox-Einstellungen | Any file |758| [`sandbox.network`](#sandbox-network) | Kontrollieren Sie, welche Hosts, Ports und Sockets [sandboxed](/docs/de/sandboxing#network-isolation)-Befehle erreichen | Sandbox settings | Any file |

759| [`sandbox.network.allowAllUnixSockets`](#sandbox-network-allowallunixsockets) | Lassen Sie [Sandbox-Befehle](/docs/de/sandboxing) sich mit jedem Unix-Socket verbinden | Sandbox-Einstellungen | Any file |759| [`sandbox.network.allowAllUnixSockets`](#sandbox-network-allowallunixsockets) | Lassen Sie [sandboxed](/docs/de/sandboxing)-Befehle sich mit jedem Unix-Socket verbinden | Sandbox settings | Any file |

760| [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) | Vorab-Zulassung von Domains, damit [Sandbox-Befehle](/docs/de/sandboxing) nicht danach fragen | Sandbox-Einstellungen | Any file |760| [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) | Genehmigen Sie Domänen im Voraus, damit [sandboxed](/docs/de/sandboxing)-Befehle nicht danach fragen | Sandbox settings | Any file |

761| [`sandbox.network.allowLocalBinding`](#sandbox-network-allowlocalbinding) | Lassen Sie [Sandbox-Befehle](/docs/de/sandboxing) sich an Localhost-Ports auf macOS binden | Sandbox-Einstellungen | Any file |761| [`sandbox.network.allowLocalBinding`](#sandbox-network-allowlocalbinding) | Lassen Sie [sandboxed](/docs/de/sandboxing)-Befehle sich an localhost-Ports auf macOS binden | Sandbox settings | Any file |

762| [`sandbox.network.allowMachLookup`](#sandbox-network-allowmachlookup) | Lassen Sie macOS-[Sandbox-Tools](/docs/de/sandboxing) wie den iOS Simulator oder Playwright ihre XPC-Dienste erreichen | Sandbox-Einstellungen | Any file |762| [`sandbox.network.allowMachLookup`](#sandbox-network-allowmachlookup) | Lassen Sie macOS-[sandboxed](/docs/de/sandboxing)-Tools wie den iOS Simulator oder Playwright ihre XPC-Dienste erreichen | Sandbox settings | Any file |

763| [`sandbox.network.allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) | Sperren Sie die Netzwerk-Zulassungsliste auf [verwaltete Einstellungen](/docs/de/sandboxing#keep-developers-from-widening-the-policy) | Sandbox-Einstellungen | Managed |763| [`sandbox.network.allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) | Sperren Sie die Netzwerk-Zulassungsliste auf [verwaltete Einstellungen](/docs/de/sandboxing#keep-developers-from-widening-the-policy) | Sandbox settings | Managed |

764| [`sandbox.network.allowUnixSockets`](#sandbox-network-allowunixsockets) | Listet Unix-Socket-Pfade auf, die [Sandbox-Befehle](/docs/de/sandboxing) auf macOS verwenden können | Sandbox-Einstellungen | Any file |764| [`sandbox.network.allowUnixSockets`](#sandbox-network-allowunixsockets) | Listen Sie Unix-Socket-Pfade auf, die [sandboxed](/docs/de/sandboxing)-Befehle auf macOS verwenden können | Sandbox settings | Any file |

765| [`sandbox.network.deniedDomains`](#sandbox-network-denieddomains) | Blockieren Sie Domains für [Sandbox-Befehle](/docs/de/sandboxing), auch in einem zulässigen Wildcard | Sandbox-Einstellungen | Any file |765| [`sandbox.network.deniedDomains`](#sandbox-network-denieddomains) | Blockieren Sie Domänen für [sandboxed](/docs/de/sandboxing)-Befehle, auch innerhalb eines zulässigen Wildcards | Sandbox settings | Any file |

766| [`sandbox.network.httpProxyPort`](#sandbox-network-httpproxyport) | Leiten Sie [Sandbox](/docs/de/sandboxing#custom-proxy-configuration)-HTTP-Verkehr durch Ihren eigenen Proxy | Sandbox-Einstellungen | Any file |766| [`sandbox.network.httpProxyPort`](#sandbox-network-httpproxyport) | Leiten Sie [Sandbox](/docs/de/sandboxing#custom-proxy-configuration)-HTTP-Verkehr durch Ihren eigenen Proxy | Sandbox settings | Any file |

767| [`sandbox.network.socksProxyPort`](#sandbox-network-socksproxyport) | Leiten Sie [Sandbox](/docs/de/sandboxing#custom-proxy-configuration)-SOCKS-Verkehr durch Ihren eigenen Proxy | Sandbox-Einstellungen | Any file |767| [`sandbox.network.socksProxyPort`](#sandbox-network-socksproxyport) | Leiten Sie [Sandbox](/docs/de/sandboxing#custom-proxy-configuration)-SOCKS-Verkehr durch Ihren eigenen Proxy | Sandbox settings | Any file |

768| [`sandbox.network.strictAllowlist`](#sandbox-network-strictallowlist) | Lehnen Sie Hosts außerhalb der [Zulassungsliste](/docs/de/sandboxing#network-isolation) ab, anstatt zu fragen | Sandbox-Einstellungen | User or managed |768| [`sandbox.network.strictAllowlist`](#sandbox-network-strictallowlist) | Lehnen Sie Hosts außerhalb der [Zulassungsliste](/docs/de/sandboxing#network-isolation) ab, anstatt zu fragen | Sandbox settings | User or managed |

769| [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) | Lassen Sie die [Sandbox](/docs/de/sandboxing#network-isolation) TLS beenden, damit sie HTTPS-Anfragen lesen kann | Sandbox-Einstellungen | User or managed |769| [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) | Lassen Sie die [Sandbox](/docs/de/sandboxing#network-isolation) TLS beenden, damit sie HTTPS-Anfragen lesen kann | Sandbox settings | User or managed |

770| [`sandbox.ripgrep`](#sandbox-ripgrep) | Verwenden Sie Ihre eigene Ripgrep-Binärdatei in der [Sandbox](/docs/de/sandboxing) | Sandbox-Einstellungen | User or managed |770| [`sandbox.ripgrep`](#sandbox-ripgrep) | Verwenden Sie Ihre eigene ripgrep-Binärdatei in der [Sandbox](/docs/de/sandboxing) | Sandbox settings | User or managed |

771| [`sandbox.socatPath`](#sandbox-socatpath) | Zeigen Sie den [Sandbox](/docs/de/sandboxing)-Proxy auf eine `socat`-Binärdatei außerhalb von `PATH` | Sandbox-Einstellungen | Managed |771| [`sandbox.socatPath`](#sandbox-socatpath) | Zeigen Sie den [Sandbox](/docs/de/sandboxing)-Proxy auf eine `socat`-Binärdatei außerhalb von `PATH` | Sandbox settings | Managed |

772| [`showClearContextOnPlanAccept`](#showclearcontextonplanaccept) | Zeigen Sie eine "Kontext löschen"-Option auf dem [Plan-Akzeptanzbildschirm](/docs/de/permission-modes#review-and-approve-a-plan) | Schnittstelle und Terminal | Any file |772| [`showClearContextOnPlanAccept`](#showclearcontextonplanaccept) | Zeigen Sie eine "Kontext löschen"-Option auf dem [Plan-Akzeptanzbildschirm](/docs/de/permission-modes#review-and-approve-a-plan) | Interface and terminal | Any file |

773| [`showThinkingSummaries`](#showthinkingsummaries) | Sehen Sie Zusammenfassungen von Claudes [Denken](/docs/de/model-config#extended-thinking) statt eines zusammengeklappten Stubs | Modell und Antworten | Any file |773| [`showThinkingSummaries`](#showthinkingsummaries) | Sehen Sie Zusammenfassungen von Claudes [Denken](/docs/de/model-config#extended-thinking) statt eines zusammengeklappten Stubs | Model and responses | Any file |

774| [`showTurnDuration`](#showturnduration) | Verbergen Sie die "Cooked for"-Dauer nach jeder Antwort | Schnittstelle und Terminal | Any file |774| [`showTurnDuration`](#showturnduration) | Verbergen Sie die "Gekocht für"-Dauer nach jeder Antwort | Interface and terminal | Any file |

775| [`skillListingBudgetFraction`](#skilllistingbudgetfraction) | Reservieren Sie mehr oder weniger Kontext für die [Skill-Auflistung](/docs/de/skills#skill-descriptions-are-cut-short) | Speicher und Kontext | Any file |775| [`skillListingBudgetFraction`](#skilllistingbudgetfraction) | Reservieren Sie mehr oder weniger Kontext für die [Skill-Auflistung](/docs/de/skills#skill-descriptions-are-cut-short) | Memory and context | Any file |

776| [`skillListingMaxDescChars`](#skilllistingmaxdescchars) | Begrenzen Sie die Beschreibungslänge jedes Skills in der [Skill-Auflistung](/docs/de/skills#skill-descriptions-are-cut-short) | Speicher und Kontext | Any file |776| [`skillListingMaxDescChars`](#skilllistingmaxdescchars) | Begrenzen Sie die Beschreibungslänge jedes Skills in der [Skill-Auflistung](/docs/de/skills#skill-descriptions-are-cut-short) | Memory and context | Any file |

777| [`skillOverrides`](#skilloverrides) | [Verbergen oder reduzieren Sie einen Skill](/docs/de/skills#override-skill-visibility-from-settings), ohne seine SKILL.md zu bearbeiten | Plugins und Skills | Any file |777| [`skillOverrides`](#skilloverrides) | [Verbergen oder reduzieren Sie einen Skill](/docs/de/skills#override-skill-visibility-from-settings), ohne seine SKILL.md zu bearbeiten | Plugins and skills | Any file |

778| [`skipAutoPermissionPrompt`](#skipautopermissionprompt) | Überspringen Sie die einmalige Benachrichtigung, die Claude Code anzeigt, wenn Sie selbst zum ersten Mal den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) betreten, anstatt durch den integrierten Standard | Berechtigungseinstellungen | User or managed |778| [`skipAutoPermissionPrompt`](#skipautopermissionprompt) | Überspringen Sie die einmalige Benachrichtigung, die Claude Code anzeigt, wenn Sie selbst zum ersten Mal den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) betreten, anstatt durch den integrierten Standard | Permission settings | User or managed |

779| [`skipDangerousModePermissionPrompt`](#skipdangerousmodepermissionprompt) | Überspringen Sie das Bestätigungsdialogfeld vor dem [bypassPermissions-Modus](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Berechtigungseinstellungen | User, local, or managed |779| [`skipDangerousModePermissionPrompt`](#skipdangerousmodepermissionprompt) | Überspringen Sie das Bestätigungsdialogfeld vor dem [bypassPermissions-Modus](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Permission settings | User, local, or managed |

780| [`skipWebFetchPreflight`](#skipwebfetchpreflight) | Überspringen Sie die [WebFetch-Hostname-Überprüfung](/docs/de/tools-reference#webfetch-tool-behavior), wenn Anthropic nicht erreichbar ist | Datenschutz und Telemetrie | Any file |780| [`skipWebFetchPreflight`](#skipwebfetchpreflight) | Überspringen Sie die [WebFetch-Hostname-Überprüfung](/docs/de/tools-reference#webfetch-tool-behavior), wenn Anthropic nicht erreichbar ist | Privacy and telemetry | Any file |

781| [`spellcheck`](#spellcheck) | Unterstreichen Sie falsch geschriebene Wörter in der Eingabeaufforderung mit einem [Rechtschreibprüfer](/docs/de/interactive-mode#check-spelling-as-you-type), den Sie installieren | Schnittstelle und Terminal | User or managed |781| [`spellcheck`](#spellcheck) | Unterstreichen Sie falsch geschriebene Wörter in der Eingabeaufforderung mit einem [Rechtschreibprüfer](/docs/de/interactive-mode#check-spelling-as-you-type), den Sie installieren | Interface and terminal | User or managed |

782| [`spinnerTipsEnabled`](#spinnertipsenabled) | Verbergen Sie Tipps im Spinner, während Claude arbeitet | Schnittstelle und Terminal | Any file |782| [`spinnerTipsEnabled`](#spinnertipsenabled) | Verbergen Sie Tipps im Spinner, während Claude arbeitet | Interface and terminal | Any file |

783| [`spinnerTipsOverride`](#spinnertipsoverride) | Fügen Sie Ihre eigenen Tipps zur Spinner-Rotation hinzu oder ersetzen Sie die integrierten Tipps | Schnittstelle und Terminal | Any file |783| [`spinnerTipsOverride`](#spinnertipsoverride) | Fügen Sie Ihre eigenen Tipps zur Spinner-Rotation hinzu, oder ersetzen Sie die integrierten Tipps | Interface and terminal | Any file |

784| [`spinnerVerbs`](#spinnerverbs) | Fügen Sie die Verben hinzu oder ersetzen Sie sie, die während einer Runde angezeigt werden | Schnittstelle und Terminal | Any file |784| [`spinnerVerbs`](#spinnerverbs) | Fügen Sie die Verben hinzu oder ersetzen Sie sie, die während einer Runde angezeigt werden | Interface and terminal | Any file |

785| [`sshConfigs`](#sshconfigs) | Fügen Sie [SSH-Verbindungen](/docs/de/desktop#pre-configure-ssh-connections-for-your-team) zur Desktop-Umgebungs-Dropdown hinzu | Remote, Desktop und Benachrichtigungen | User or managed |785| [`sshConfigs`](#sshconfigs) | Fügen Sie [SSH-Verbindungen](/docs/de/desktop#pre-configure-ssh-connections-for-your-team) zum Desktop-Umgebungs-Dropdown hinzu | Remote, desktop, and notifications | User or managed |

786| [`sshHostAllowlist`](#sshhostallowlist) | Begrenzen Sie, welche Hosts [Desktop SSH-Sitzungen](/docs/de/desktop#restrict-which-ssh-hosts-users-can-connect-to) erreichen können | Remote, Desktop und Benachrichtigungen | Managed |786| [`sshHostAllowlist`](#sshhostallowlist) | Begrenzen Sie, welche Hosts [Desktop-SSH-Sitzungen](/docs/de/desktop#restrict-which-ssh-hosts-users-can-connect-to) erreichen können | Remote, desktop, and notifications | Managed |

787| [`statusLine`](#statusline) | Führen Sie Ihren eigenen Befehl aus, um eine [Statuszeile](/docs/de/statusline) unter der Eingabeaufforderung zu rendern | Schnittstelle und Terminal | Any file |787| [`statusLine`](#statusline) | Führen Sie Ihren eigenen Befehl aus, um eine [Statuszeile](/docs/de/statusline) unter der Eingabeaufforderung zu rendern | Interface and terminal | Any file |

788| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Zulassungsliste der [Marketplace](/docs/de/plugin-marketplaces)-Quellen, die Benutzer hinzufügen und installieren können | Plugins und Skills | Managed |788| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Zulassungsliste der [Marketplace](/docs/de/plugin-marketplaces)-Quellen, die Benutzer hinzufügen und installieren können | Plugins and skills | Managed |

789| [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | Blockieren Sie [Skills](/docs/de/skills), [Agenten](/docs/de/sub-agents), [Hooks](/docs/de/hooks) und [MCP-Server](/docs/de/mcp) aus Benutzer- und Projektquellen | Plugins und Skills | Managed |789| [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | Blockieren Sie [Skills](/docs/de/skills), [Agenten](/docs/de/sub-agents), [Hooks](/docs/de/hooks) und [MCP-Server](/docs/de/mcp) aus Benutzer- und Projektquellen | Plugins and skills | Managed |

790| [`strictPluginOnlyCustomization.agents`](#strictpluginonlycustomization-agents) | Sperren Sie [Agenten](/docs/de/sub-agents) auf Plugin- und verwaltete Quellen | Plugins und Skills | Managed |790| [`strictPluginOnlyCustomization.agents`](#strictpluginonlycustomization-agents) | Sperren Sie [Agenten](/docs/de/sub-agents) auf Plugin- und verwaltete Quellen | Plugins and skills | Managed |

791| [`strictPluginOnlyCustomization.hooks`](#strictpluginonlycustomization-hooks) | Sperren Sie [Hooks](/docs/de/hooks) auf Plugin- und verwaltete Quellen | Plugins und Skills | Managed |791| [`strictPluginOnlyCustomization.hooks`](#strictpluginonlycustomization-hooks) | Sperren Sie [Hooks](/docs/de/hooks) auf Plugin- und verwaltete Quellen | Plugins and skills | Managed |

792| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Sperren Sie [MCP-Server](/docs/de/mcp) auf Plugin- und verwaltete Quellen | Plugins und Skills | Managed |792| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Sperren Sie [MCP-Server](/docs/de/mcp) auf Plugin- und verwaltete Quellen | Plugins and skills | Managed |

793| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Sperren Sie [Skills](/docs/de/skills) auf Plugin- und verwaltete Quellen | Plugins und Skills | Managed |793| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Sperren Sie [Skills](/docs/de/skills) auf Plugin- und verwaltete Quellen | Plugins and skills | Managed |

794| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Wählen Sie die [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime) für Subagenten und andere Anfragen außerhalb der Hauptkonversation | Modell und Antworten | Any file |794| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Wählen Sie die [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime) für Subagenten und andere Anfragen außerhalb der Hauptkonversation | Model and responses | Any file |

795| [`subagentStatusLine`](#subagentstatusline) | Schreiben Sie Zeilen in der [Subagent](/docs/de/sub-agents)-Aufgabenanzeige mit Ihrem eigenen Befehl um | Schnittstelle und Terminal | Any file |795| [`subagentStatusLine`](#subagentstatusline) | Schreiben Sie Zeilen in der [Subagenten](/docs/de/sub-agents)-Aufgabenanzeige mit Ihrem eigenen Befehl um | Interface and terminal | Any file |

796| [`switchModelsOnFlag`](#switchmodelsonflag) | Wechseln Sie automatisch Modelle oder pausieren Sie, wenn ein [Sicherheitsklassifizierer](/docs/de/model-config#ask-before-switching) eine Anfrage kennzeichnet | Modell und Antworten | Any file |796| [`switchModelsOnFlag`](#switchmodelsonflag) | Wechseln Sie Modelle automatisch oder pausieren Sie, wenn ein [Sicherheitsklassifizierer](/docs/de/model-config#ask-before-switching) eine Anfrage kennzeichnet | Model and responses | Any file |

797| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Beenden Sie das Laden der [Plugins, die auf Ihrem claude.ai-Konto aktiviert sind,](/docs/de/plugins-reference#synced-plugins) und beenden Sie das Herunterladen neuer | Plugins und Skills | User, local, or managed |797| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Beenden Sie das Laden der [auf Ihrem claude.ai-Konto aktivierten Plugins](/docs/de/plugins-reference#synced-plugins) und beenden Sie das Herunterladen neuer | Plugins and skills | User, local, or managed |

798| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Beenden Sie das Laden der [Skills, die auf Ihrem claude.ai-Konto aktiviert sind,](/docs/de/skills#how-synced-skills-behave) und beenden Sie das Herunterladen neuer | Plugins und Skills | User, local, or managed |798| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Beenden Sie das Laden der [auf Ihrem claude.ai-Konto aktivierten Skills](/docs/de/skills#how-synced-skills-behave) und beenden Sie das Herunterladen neuer | Plugins and skills | User, local, or managed |

799| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Schalten Sie die Syntaxhervorhebung in Diffs und Code-Blöcken aus | Schnittstelle und Terminal | Any file |799| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Schalten Sie die Syntaxhervorhebung in Diffs und Code-Blöcken aus | Interface and terminal | Any file |

800| [`taskOutputMaxChars`](#taskoutputmaxchars) | Legen Sie fest, wie viel der [Ausgabe einer Hintergrundaufgabe](/docs/de/tools-reference#background-commands) Claude inline erhält | Speicher und Kontext | Any file |800| [`taskOutputMaxChars`](#taskoutputmaxchars) | Entfernt in v2.1.277, zusammen mit dem `TaskOutput`-Tool, das es dimensioniert | Memory and context | Any file |

801| [`teammateDefaultModel`](#teammatedefaultmodel) | Entfernt in v2.1.234; siehe [Geben Sie Teamkollegen und Modelle an](/docs/de/agent-teams#specify-teammates-and-models), wie Claude Code das Modell eines Teamkollegen auswählt | Globale Konfigurationseinstellungen | Global config |801| [`teammateDefaultModel`](#teammatedefaultmodel) | Entfernt in v2.1.234; siehe [Geben Sie Teamkollegen und Modelle an](/docs/de/agent-teams#specify-teammates-and-models), wie Claude Code das Modell eines Teamkollegen auswählt | Global config settings | Global config |

802| [`teammateMode`](#teammatemode) | Wählen Sie, wie [Agent-Team-Teamkollegen angezeigt werden](/docs/de/agent-teams#choose-a-display-mode) | Agenten, Sitzungen und Worktrees | Any file |802| [`teammateMode`](#teammatemode) | Wählen Sie, wie [Agent-Team-Teamkollegen angezeigt werden](/docs/de/agent-teams#choose-a-display-mode) | Agents, sessions, and worktrees | Any file |

803| [`terminalProgressBarEnabled`](#terminalprogressbarenabled) | Verbergen Sie die Terminal-Fortschrittsleiste in Terminals, die sie unterstützen | Schnittstelle und Terminal | Any file |803| [`terminalProgressBarEnabled`](#terminalprogressbarenabled) | Verbergen Sie die Terminal-Fortschrittsleiste in Terminals, die sie unterstützen | Interface and terminal | Any file |

804| [`terminalTitleFromRename`](#terminaltitlefromrename) | Verhindern Sie, dass [`/rename`](/docs/de/sessions#name-your-sessions) und `--name` den Terminal-Tab-Titel ändern | Schnittstelle und Terminal | Any file |804| [`terminalTitleFromRename`](#terminaltitlefromrename) | Verhindern Sie, dass [`/rename`](/docs/de/sessions#name-your-sessions) und `--name` den Terminal-Tab-Titel ändern | Interface and terminal | Any file |

805| [`theme`](#theme) | Wählen Sie das Interface-[Farbschema](/docs/de/terminal-config#match-the-color-theme), integriert oder benutzerdefiniert | Schnittstelle und Terminal | Any file |805| [`theme`](#theme) | Wählen Sie das Interface-[Farbschema](/docs/de/terminal-config#match-the-color-theme), integriert oder benutzerdefiniert | Interface and terminal | Any file |

806| [`timeFormat`](#timeformat) | Zeigen Sie die Zeiten in der Schnittstelle auf einer 12-Stunden- oder 24-Stunden-Uhr, in UTC oder mit einem strftime-Muster | Schnittstelle und Terminal | Any file |806| [`timeFormat`](#timeformat) | Zeigen Sie die Zeiten in der Benutzeroberfläche auf einer 12-Stunden- oder 24-Stunden-Uhr, in UTC oder mit einem strftime-Muster an | Interface and terminal | Any file |

807| [`timeZone`](#timezone) | Zeigen Sie die Zeiten in der Schnittstelle in einer Zeitzone an, die nicht die Ihres Systems ist | Schnittstelle und Terminal | Any file |807| [`timeZone`](#timezone) | Zeigen Sie die Zeiten in der Benutzeroberfläche in einer Zeitzone an, die nicht die Ihres Systems ist | Interface and terminal | Any file |

808| [`tui`](#tui) | Wählen Sie den [Vollbild-](/docs/de/fullscreen) oder klassischen Terminal-Renderer | Schnittstelle und Terminal | Any file |808| [`tui`](#tui) | Wählen Sie den [Vollbild-](/docs/de/fullscreen) oder klassischen Terminal-Renderer | Interface and terminal | Any file |

809| [`ultracode`](#ultracode) | Lassen Sie Claude einen [Workflow](/docs/de/workflows#let-claude-decide-with-ultracode) für jede wesentliche Aufgabe planen, ohne gefragt zu werden | Modell und Antworten | Any file |809| [`ultracode`](#ultracode) | Lassen Sie Claude einen [Workflow](/docs/de/workflows#let-claude-decide-with-ultracode) für jede wesentliche Aufgabe planen, ohne gefragt zu werden | Model and responses | Any file |

810| [`useAutoModeDuringPlan`](#useautomodeduringplan) | Lassen Sie den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer Shell-Befehle im [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) überprüfen; setzen Sie `false`, um stattdessen Aufforderungen zu erhalten | Berechtigungseinstellungen | User, local, or managed |810| [`useAutoModeDuringPlan`](#useautomodeduringplan) | Lassen Sie den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer Shell-Befehle im [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) überprüfen; setzen Sie `false`, um stattdessen Aufforderungen zu erhalten | Permission settings | User, local, or managed |

811| [`verbose`](#verbose) | Zeigen Sie [vollständige Tool-Ausgabe](/docs/de/cli-reference#cli-flags) statt gekürzter Zusammenfassungen; `viewMode` hat Vorrang, wenn beide gesetzt sind | Schnittstelle und Terminal | Any file |811| [`verbose`](#verbose) | Zeigen Sie [vollständige Tool-Ausgabe](/docs/de/cli-reference#cli-flags) statt verkürzter Zusammenfassungen an; `viewMode` hat Vorrang, wenn beide gesetzt sind | Interface and terminal | Any file |

812| [`viewMode`](#viewmode) | Starten Sie jede Sitzung in [Standard-, Verbose- oder Focus-Ansicht](/docs/de/cli-reference#cli-flags) | Schnittstelle und Terminal | Any file |812| [`viewMode`](#viewmode) | Starten Sie jede Sitzung in [Standard-, Verbose- oder Focus-Ansicht](/docs/de/cli-reference#cli-flags) | Interface and terminal | Any file |

813| [`vimInsertModeRemaps`](#viminsertmoderemaps) | Ordnen Sie eine zweiteilige [INSERT-Modus-Sequenz](/docs/de/interactive-mode#remap-insert-mode-key-sequences) wie `jj` zu Escape | Schnittstelle und Terminal | User or managed |813| [`vimInsertModeRemaps`](#viminsertmoderemaps) | Ordnen Sie eine zwei-Tasten-[INSERT-Modus-Sequenz](/docs/de/interactive-mode#remap-insert-mode-key-sequences) wie `jj` zu Escape | Interface and terminal | User or managed |

814| [`voice`](#voice) | Schalten Sie [Sprachdiktat](/docs/de/voice-dictation) ein und wählen Sie Halte- oder Tap-Modus | Schnittstelle und Terminal | Any file |814| [`voice`](#voice) | Schalten Sie [Sprachdiktat](/docs/de/voice-dictation) ein und wählen Sie Halte- oder Tap-Modus | Interface and terminal | Any file |

815| [`voiceEnabled`](#voiceenabled) | Schalten Sie [Sprachdiktat](/docs/de/voice-dictation) mit der älteren Einzeltasten-Form ein | Schnittstelle und Terminal | Any file |815| [`voiceEnabled`](#voiceenabled) | Schalten Sie [Sprachdiktat](/docs/de/voice-dictation) mit der älteren Einzeltasten-Form ein | Interface and terminal | Any file |

816| [`wheelScrollAccelerationEnabled`](#wheelscrollaccelerationenabled) | Schalten Sie die [Mausrad-Beschleunigung](/docs/de/fullscreen#mouse-wheel-scrolling) beim Vollbild-Rendering aus | Schnittstelle und Terminal | Any file |816| [`wheelScrollAccelerationEnabled`](#wheelscrollaccelerationenabled) | Schalten Sie die [Mausrad-Beschleunigung](/docs/de/fullscreen#mouse-wheel-scrolling) beim Vollbild-Rendering aus | Interface and terminal | Any file |

817| [`workflowKeywordTriggerEnabled`](#workflowkeywordtriggerenabled) | Lassen Sie das Wort `ultracode` in einer Eingabeaufforderung einen [Workflow](/docs/de/workflows) starten; setzen Sie `false`, um es einzugeben, ohne einen zu starten | Hooks und Automatisierung | Any file |817| [`workflowKeywordTriggerEnabled`](#workflowkeywordtriggerenabled) | Lassen Sie das Wort `ultracode` in einer Eingabeaufforderung einen [Workflow](/docs/de/workflows) starten; setzen Sie `false`, um es einzugeben, ohne einen zu starten | Hooks and automation | Any file |

818| [`workflowSizeGuideline`](#workflowsizeguideline) | Legen Sie die Agent-Anzahl fest, auf die Claude in [dynamischen Workflows](/docs/de/workflows) abzielt | Hooks und Automatisierung | Any file |818| [`workflowSizeGuideline`](#workflowsizeguideline) | Legen Sie die Agent-Anzahl fest, auf die Claude in [dynamischen Workflows](/docs/de/workflows) abzielt | Hooks and automation | Any file |

819| [`worktree`](#worktree) | Konfigurieren Sie, wie Claude Code Git-[Worktrees](/docs/de/worktrees) erstellt | Agenten, Sitzungen und Worktrees | Any file |819| [`worktree`](#worktree) | Konfigurieren Sie, wie Claude Code Git-[Worktrees](/docs/de/worktrees) erstellt | Agents, sessions, and worktrees | Any file |

820| [`worktree.baseRef`](#worktree-baseref) | Verzweigen Sie neue [Worktrees](/docs/de/worktrees) vom Remote-Standard-Branch oder Ihrem lokalen HEAD | Agenten, Sitzungen und Worktrees | Any file |820| [`worktree.baseRef`](#worktree-baseref) | Verzweigen Sie neue [Worktrees](/docs/de/worktrees) vom Remote-Standard-Branch oder Ihrem lokalen HEAD | Agents, sessions, and worktrees | Any file |

821| [`worktree.bgIsolation`](#worktree-bgisolation) | Lassen Sie Hintergrund-Sitzungen die Arbeitskopie ohne [Worktree](/docs/de/worktrees) bearbeiten | Agenten, Sitzungen und Worktrees | Any file |821| [`worktree.bgIsolation`](#worktree-bgisolation) | Lassen Sie Hintergrund-Sitzungen die Arbeitskopie ohne [Worktree](/docs/de/worktrees) bearbeiten | Agents, sessions, and worktrees | Any file |

822| [`worktree.sparsePaths`](#worktree-sparsepaths) | Checken Sie nur die Verzeichnisse aus, die Sie in jedem [Worktree](/docs/de/worktrees) benötigen | Agenten, Sitzungen und Worktrees | Any file |822| [`worktree.sparsePaths`](#worktree-sparsepaths) | Checken Sie nur die Verzeichnisse aus, die Sie in jedem [Worktree](/docs/de/worktrees) benötigen | Agents, sessions, and worktrees | Any file |

823| [`worktree.symlinkDirectories`](#worktree-symlinkdirectories) | Symlink große Verzeichnisse in jeden [Worktree](/docs/de/worktrees), anstatt sie zu duplizieren | Agenten, Sitzungen und Worktrees | Any file |823| [`worktree.symlinkDirectories`](#worktree-symlinkdirectories) | Symlinken Sie große Verzeichnisse in jeden [Worktree](/docs/de/worktrees), anstatt sie zu duplizieren | Agents, sessions, and worktrees | Any file |

824| [`wslInheritsWindowsSettings`](#wslinheritswindowssettings) | Lassen Sie WSL [verwaltete Einstellungen](/docs/de/managed-settings) aus der Windows-Richtlinienkette lesen | Enterprise und verwaltete Einstellungen | Managed |824| [`wslInheritsWindowsSettings`](#wslinheritswindowssettings) | Lassen Sie WSL [verwaltete Einstellungen](/docs/de/managed-settings) aus der Windows-Richtlinienkette lesen | Enterprise and managed settings | Managed |

825 825 

826<h2 id="model-and-responses">826<h2 id="model-and-responses">

827 Modell und Antworten827 Modell und Antworten

828</h2>828</h2>

829 829 

830Wählen Sie, welche Modelle Claude Code verwendet und wie es antwortet. Informationen dazu, wie diese Einstellungen mit dem Befehl `/model` und Umgebungsvariablen interagieren, finden Sie unter [Modellkonfiguration](/docs/de/model-config).830Wählen Sie, welche Modelle Claude Code verwendet und wie es antwortet. Informationen darüber, wie diese Einstellungen mit dem Befehl `/model` und Umgebungsvariablen interagieren, finden Sie unter [Modellkonfiguration](/docs/de/model-config).

831 831 

832<h3 id="advisormodel">832<h3 id="advisormodel">

833 `advisorModel`833 `advisorModel`

834</h3>834</h3>

835 835 

836Wählen Sie, welches Modell antwortet, wenn Claude Code das serverseitige [Advisor-Tool](/docs/de/advisor) aufruft. Deaktivieren Sie es, um den Advisor auszuschalten. Der Advisor muss mindestens so leistungsfähig sein wie Ihr Hauptmodell. Siehe [Advisor-Modell auswählen](/docs/de/advisor#choose-an-advisor-model) für die akzeptierten Paarungen und was passiert, wenn Sie eine auswählen, die nicht akzeptiert wird.836Wählen Sie, welches Modell antwortet, wenn Claude das serverseitige [Advisor-Tool](/docs/de/advisor) aufruft. Deaktivieren Sie es, um den Advisor auszuschalten. Der Advisor muss mindestens so leistungsfähig sein wie Ihr Hauptmodell. Informationen zu akzeptierten Kombinationen und was passiert, wenn Sie eine nicht akzeptierte Kombination wählen, finden Sie unter [Wählen Sie ein Advisor-Modell](/docs/de/advisor#choose-an-advisor-model).

837 837 

838Sie bearbeiten diesen Schlüssel normalerweise nicht manuell. Führen Sie `/advisor` aus, um eine Auswahl zu öffnen, die die aktuelle Auswahl, die Modelle, die beraten können, und **Kein Advisor** anzeigt. Claude Code speichert Ihre Auswahl in diesem Schlüssel in `~/.claude/settings.json`. Wenn Sie aus einem [Remote Control](/docs/de/remote-control)-Client oder in einer Sitzung auswählen, die an einen Remote Worker angehängt ist, gilt die Auswahl nur für diese Sitzung und ändert diesen Schlüssel nicht.838Sie bearbeiten diesen Schlüssel normalerweise nicht manuell. Führen Sie `/advisor` aus, um eine Auswahl zu öffnen, die die aktuelle Auswahl, die Modelle, die beraten können, und **Kein Advisor** anzeigt. Claude Code speichert Ihre Auswahl in diesem Schlüssel in `~/.claude/settings.json`. Wenn Sie aus einem [Remote Control](/docs/de/remote-control)-Client oder in einer Sitzung auswählen, die an einen Remote Worker angehängt ist, gilt die Auswahl nur für diese Sitzung und ändert diesen Schlüssel nicht.

839 839 

840Wenn Ihr Konto die [Zustimmung zu Nutzungsguthaben](/docs/de/advisor#fable-advisor-and-usage-credits) erfordert, akzeptieren Sie diese zuerst, indem Sie `/model fable` ausführen. Bis dahin speichert die Auswahl von Fable in `/advisor` nichts, und Claude Code teilt Ihnen mit, dass Sie zuerst `/model fable` ausführen sollen.840Wenn Ihr Konto die [Zustimmung zu Nutzungsguthaben](/docs/de/advisor#fable-advisor-and-usage-credits) erfordert, akzeptieren Sie diese zuerst, indem Sie `/model fable` ausführen. Bis dahin speichert die Auswahl von Fable in `/advisor` nichts und Claude Code teilt Ihnen mit, dass Sie zuerst `/model fable` ausführen sollen.

841 841 

842* **Bereich**: [`Beliebige Datei`](#scopes)842* **Bereich**: [`Beliebige Datei`](#scopes)

843* **Typ**: String, einer der Aliase `"fable"`, `"opus"` oder `"sonnet"`, die in die aktuelle Standardversion dieser Modellfamilie von Claude Code aufgelöst werden, oder eine vollständige Modell-ID wie `"claude-opus-5"`843* **Typ**: String, einer der Aliase `"fable"`, `"opus"` oder `"sonnet"`, die in die aktuelle Standardversion dieser Modellfamilie von Claude Code aufgelöst werden, oder eine vollständige Modell-ID wie `"claude-opus-5-5"`

844* **Standard**: nicht gesetzt, daher ist der Advisor ausgeschaltet844* **Standard**: nicht gesetzt, daher ist der Advisor ausgeschaltet

845* **Sitzungsübergreifende Überschreibungen**: `--advisor` hat Vorrang vor diesem Schlüssel für eine Sitzung. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](/docs/de/env-vars) schaltet den Advisor aus, und dieser Schlüssel kann ihn nicht wieder einschalten845* **Sitzungsübergreifende Außerkraftsetzungen**: `--advisor` hat Vorrang vor diesem Schlüssel für eine Sitzung. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](/docs/de/env-vars) schaltet den Advisor aus, und dieser Schlüssel kann ihn nicht wieder einschalten

846 846 

847```json settings.json theme={null}847```json settings.json theme={null}

848{848{


850}850}

851```851```

852 852 

853Der Schlüssel hat keine Auswirkung auf Anbieter, bei denen der Advisor [nicht verfügbar](/docs/de/advisor#requirements) ist, wie Amazon Bedrock und Claude Platform auf AWS. `"fable"` erfordert [Fable-Zugriff](/docs/de/advisor#choose-an-advisor-model).853Der Schlüssel hat keine Auswirkung auf Provider, bei denen der Advisor [nicht verfügbar](/docs/de/advisor#requirements) ist, wie Amazon Bedrock und Claude Platform auf AWS. `"fable"` erfordert [Fable-Zugriff](/docs/de/advisor#choose-an-advisor-model).

854 854 

855<h3 id="alwaysthinkingenabled">855<h3 id="alwaysthinkingenabled">

856 `alwaysThinkingEnabled`856 `alwaysThinkingEnabled`


858 858 

859Deaktivieren Sie [erweitertes Denken](/docs/de/model-config#extended-thinking) für jede Sitzung, indem Sie dies auf `false` setzen. Das Denken ist standardmäßig aktiviert, daher ändert `true` nichts. Die meisten Benutzer stellen dies über `/config` ein, anstatt die Datei zu bearbeiten.859Deaktivieren Sie [erweitertes Denken](/docs/de/model-config#extended-thinking) für jede Sitzung, indem Sie dies auf `false` setzen. Das Denken ist standardmäßig aktiviert, daher ändert `true` nichts. Die meisten Benutzer stellen dies über `/config` ein, anstatt die Datei zu bearbeiten.

860 860 

861Bei Modellen, die immer denken, wie die Fable-Modelle, hat `false` keine Auswirkung. Bei [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt Claude Code den Parameter `thinking` weg, anstatt das Denken auszuschalten, daher können adaptive Reasoning-Modelle möglicherweise immer noch denken. Wenn das Denken auf der Anthropic API ausgeschaltet ist, sendet Claude Code stattdessen `effort` `high` an Modelle, die [diese Kombination nicht akzeptieren](/docs/de/errors#effort-isnt-available-with-thinking-turned-off), wie Opus 5.861Bei Modellen, die immer denken, wie Opus 5.5 und die Fable-Modelle, hat `false` keine Auswirkung. Bei [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt Claude Code den Parameter `thinking` weg, anstatt das Denken auszuschalten, daher können adaptive Reasoning-Modelle möglicherweise noch denken. Wenn das Denken auf der Anthropic API ausgeschaltet ist, sendet Claude Code stattdessen `high` Aufwand an Modelle, die [diese Kombination nicht akzeptieren](/docs/de/errors#effort-isnt-available-with-thinking-turned-off), wie Opus 5.

862 862 

863* **Bereich**: [`Beliebige Datei`](#scopes)863* **Bereich**: [`Beliebige Datei`](#scopes)

864* **Typ**: Boolean864* **Typ**: Boolean

865 * `true`: keine Auswirkung; das Denken ist bereits aktiviert865 * `true`: keine Auswirkung; das Denken ist bereits aktiviert

866 * `false`: Claude Code schaltet das erweiterte Denken für jede Sitzung aus866 * `false`: Claude Code deaktiviert erweitertes Denken für jede Sitzung

867* **Standard**: nicht gesetzt, daher ist das Denken für Modelle aktiviert, die es unterstützen867* **Standard**: nicht gesetzt, daher ist das Denken für Modelle aktiviert, die es unterstützen

868* **Sitzungsübergreifende Überschreibungen**: [`MAX_THINKING_TOKENS`](/docs/de/env-vars) hat Vorrang vor diesem Schlüssel für eine Sitzung: `0` schaltet das Denken aus, unter den gleichen Modell- und Provider-Grenzen wie `false`, und ein positiver Wert schaltet das Denken ein, auch wenn dieser Schlüssel `false` ist. Bei adaptiven Reasoning-Modellen wird die Zahl selbst ignoriert868* **Sitzungsübergreifende Außerkraftsetzungen**: [`MAX_THINKING_TOKENS`](/docs/de/env-vars) hat Vorrang vor diesem Schlüssel für eine Sitzung: `0` deaktiviert das Denken unter den gleichen Modell- und Provider-Einschränkungen wie `false`, und ein positiver Wert aktiviert das Denken auch wenn dieser Schlüssel `false` ist. Bei adaptive-reasoning-Modellen wird die Zahl selbst ignoriert

869 869 

870```json settings.json theme={null}870```json settings.json theme={null}

871{871{


877 `availableModels`877 `availableModels`

878</h3>878</h3>

879 879 

880Beschränken Sie, welche Modelle Personen für die Hauptsitzung, [Subagenten](/docs/de/sub-agents), [Skills](/docs/de/skills) und den [Advisor](/docs/de/advisor) auswählen können. Eine verwaltete Liste beschränkt `/model`, `--model` und den Schlüssel `model` in den eigenen Dateien eines Entwicklers; ein Modell außerhalb der Liste kann nicht ausgewählt werden. Dies berührt die Option Standard nicht; kombinieren Sie es mit [`enforceAvailableModels`](#enforceavailablemodels), um dies zu tun.880Beschränken Sie, welche Modelle Personen für die Hauptsitzung, [Subagents](/docs/de/sub-agents), [Skills](/docs/de/skills) und den [Advisor](/docs/de/advisor) auswählen können. Eine verwaltete Liste beschränkt `/model`, `--model` und den Schlüssel `model` in den eigenen Dateien eines Entwicklers; ein Modell außerhalb davon kann nicht ausgewählt werden. Dies berührt die Option Standard nicht; kombinieren Sie es mit [`enforceAvailableModels`](#enforceavailablemodels), um das zu tun.

881 881 

882* **Bereich**: [`Beliebige Datei`](#scopes). Stellen Sie es in verwalteten Einstellungen bereit, um es für eine Organisation durchzusetzen.882* **Bereich**: [`Beliebige Datei`](#scopes). Stellen Sie es in verwalteten Einstellungen bereit, um es für eine Organisation durchzusetzen.

883* **Typ**: Array von Modellaliasen oder IDs883* **Typ**: Array von Modellaliasen oder IDs


897 `effortLevel`897 `effortLevel`

898</h3>898</h3>

899 899 

900Legen Sie eine Standard-[Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) für Modelle fest, für die Sie noch keine Stufe gespeichert haben. Niedrigere Stufen sind schneller und günstiger bei einfachen Aufgaben, höhere Stufen denken tiefer über komplexe Probleme nach.900Legen Sie eine Standard-[Aufwandsebene](/docs/de/model-config#adjust-effort-level) für Modelle fest, für die Sie noch keine Ebene gespeichert haben. Niedrigere Ebenen sind schneller und günstiger bei einfachen Aufgaben, höhere Ebenen denken tiefer über komplexe Probleme nach.

901 901 

902Wenn Sie `/effort low`, `medium`, `high` oder `xhigh` in einer interaktiven Sitzung auf Ihrem Computer ausführen, speichert Claude Code die Stufe für das aktive Modell unter [`modelSettings`](#modelsettings) anstatt diesen Schlüssel zu schreiben. Vor v2.1.251 schrieb `/effort` diesen Schlüssel.902Wenn Sie `/effort low`, `medium`, `high` oder `xhigh` in einer interaktiven Sitzung auf Ihrem Computer ausführen, speichert Claude Code die Ebene für das aktive Modell unter [`modelSettings`](#modelsettings) anstatt diesen Schlüssel zu schreiben. Vor v2.1.251 schrieb `/effort` diesen Schlüssel.

903 903 

904Innerhalb derselben Einstellungsdatei verwendet Claude Code die gespeicherte Stufe eines Modells anstatt dieses Schlüssels. [`modelSettings`](#modelsettings) gibt die dateiübergreifende Priorität an.904Innerhalb derselben Einstellungsdatei verwendet Claude Code die gespeicherte Ebene eines Modells anstatt dieses Schlüssels. [`modelSettings`](#modelsettings) gibt die dateiübergreifende Priorität an.

905 905 

906In einer Sitzung, die an einen Remote Worker angehängt ist, gilt `/effort` nur für diese Sitzung. In einem `-p`-Lauf oder dem Agent SDK gilt es auch nur für diese Sitzung, [es sei denn, es gibt einen Halt bei der Standard-Anstrengung des Modells](/docs/de/model-config#non-interactive-effort). [Anstrengungsstufe anpassen](/docs/de/model-config#adjust-effort-level) listet die interaktiven Auswahlmöglichkeiten auf, die auch nur für diese Sitzung gelten. Die Nachricht, die `/effort` ausgibt, sagt, was passiert ist.906In einer Sitzung, die an einen Remote Worker angehängt ist, in einem `-p`-Lauf und im Agent SDK gilt `/effort` nur für diese Sitzung. [Aufwandsebene anpassen](/docs/de/model-config#adjust-effort-level) listet die interaktiven Auswahlmöglichkeiten auf, die auch nur für diese Sitzung gelten. Die Nachricht, die `/effort` ausgibt, sagt, was passiert ist.

907 907 

908* **Bereich**: [`Beliebige Datei`](#scopes)908* **Bereich**: [`Beliebige Datei`](#scopes)

909* **Typ**: String, einer von:909* **Typ**: String, einer von:

910 * `"low"`: das geringste Denken, für kurze, begrenzte, latenzempfindliche Aufgaben, die nicht intelligenzempfindlich sind910 * `"low"`: das geringste Denken, für kurze, begrenzte, latenzempfindliche Aufgaben, die nicht intelligenzempfindlich sind

911 * `"medium"`: reduziert die Token-Nutzung für kostenempfindliche Arbeiten, die etwas Intelligenz opfern können911 * `"medium"`: reduziert die Token-Nutzung für kostensensitive Arbeiten, die etwas Intelligenz opfern können

912 * `"high"`: balanciert Token-Nutzung und Intelligenz912 * `"high"`: balanciert Token-Nutzung und Intelligenz

913 * `"xhigh"`: tieferes Denken bei höherer Token-Ausgabe913 * `"xhigh"`: tieferes Denken bei höheren Token-Ausgaben

914* **Standard**: nicht gesetzt914* **Standard**: nicht gesetzt

915* **Sitzungsübergreifende Überschreibungen**: `--effort` hat Vorrang vor diesem Schlüssel für eine Sitzung, und [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/de/env-vars) hat Vorrang vor beiden915* **Sitzungsübergreifende Außerkraftsetzungen**: `--effort` hat Vorrang vor diesem Schlüssel für eine Sitzung, und [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/de/env-vars) hat Vorrang vor beiden

916 916 

917```json settings.json theme={null}917```json settings.json theme={null}

918{918{


920}920}

921```921```

922 922 

923Bei Opus 4.7, Opus 4.8 und Fable 5 hält Claude Code die Standard-Anstrengung dieses Modells, organisationsfestgelegt oder eingebaut; [Anstrengungsstufe anpassen](/docs/de/model-config#adjust-effort-level) gibt an, welche Wege zum Festlegen einer Stufe den Halt beenden und welche ihn beibehalten. Sobald der Halt endet, löst Claude Code die Anstrengung nach der unter [`modelSettings`](#modelsettings) angegebenen Priorität auf.923In Ihrer Benutzereinstellungsdatei `~/.claude/settings.json` ist dieser Schlüssel die ältere Form, die `/effort` vor dem Speichern von Ebenen pro Modell schrieb, und er wird weiterhin dort angewendet, wo er zuvor angewendet wurde, auf Opus 5, Fable 5.1 und früheren Modellen. Opus 5.5 und später veröffentlichte Modelle ignorieren ihn und beginnen mit ihrem eigenen Standard, bis Sie eine Ebene für sie speichern, die `/effort` unter [`modelSettings`](#modelsettings) schreibt. In Projekt-, Lokal- und verwalteten Einstellungen sowie mit `--settings` gilt dieser Schlüssel für jedes Modell.

924 924 

925<h3 id="enforceavailablemodels">925<h3 id="enforceavailablemodels">

926 `enforceAvailableModels`926 `enforceAvailableModels`

927</h3>927</h3>

928 928 

929Die Auswahl `/model` hat eine Option **Standard**, die sich zu Ihrem [Organisations-Standardmodell](/docs/de/model-config#organization-default-model) auflöst, wenn eines zutrifft, und ansonsten zu dem Standard Ihres Kontotyps. Eine [`availableModels`](#availablemodels)-Zulassungsliste beschränkt die Modelle, die Sie benennen können, aber sie lässt **Standard** allein, daher kann **Standard** sich immer noch zu einem Modell außerhalb der Liste auflösen. Dieser Schlüssel schließt diese Lücke. Erfordert Claude Code v2.1.175 oder später.929Die Auswahl `/model` hat eine Option **Standard**, die sich zu Ihrem [Organisations-Standardmodell](/docs/de/model-config#organization-default-model) auflöst, wenn eine gilt, und ansonsten zu Ihrem Kontotyp-Standard. Eine [`availableModels`](#availablemodels)-Zulassungsliste beschränkt die Modelle, die Sie benennen können, aber sie lässt **Standard** allein, daher kann **Standard** sich immer noch zu einem Modell außerhalb der Liste auflösen. Dieser Schlüssel schließt diese Lücke. Erfordert Claude Code v2.1.175 oder später.

930 930 

931Wenn Ihre Organisation verwaltete Einstellungen bereitstellt, liest Claude Code diesen Schlüssel nur aus der verwalteten Quelle und ignoriert ihn in Ihren anderen Dateien.931Wenn Ihre Organisation verwaltete Einstellungen bereitstellt, liest Claude Code diesen Schlüssel nur aus der verwalteten Quelle und ignoriert ihn in Ihren anderen Dateien.

932 932 

933* **Bereich**: [`Beliebige Datei`](#scopes)933* **Bereich**: [`Beliebige Datei`](#scopes)

934* **Typ**: Boolean934* **Typ**: Boolean

935 * `true`: wenn **Standard** sich zu einem Modell außerhalb von `availableModels` auflösen würde, löst Claude Code es zum ersten verfügbaren Modell in der Liste auf935 * `true`: wenn sich **Standard** zu einem Modell außerhalb von `availableModels` auflösen würde, löst Claude Code es zum ersten verfügbaren Modell in der Liste auf

936 * `false`: **Standard** wird wie üblich aufgelöst, auch zu einem Modell außerhalb von `availableModels`936 * `false`: **Standard** löst sich wie gewohnt auf, auch zu einem Modell außerhalb von `availableModels`

937* **Standard**: `false`937* **Standard**: `false`

938 938 

939Dieses Beispiel beschränkt benannte Auswahlmöglichkeiten auf Sonnet- und Haiku-Modelle und lässt **Standard** zum ersten verfügbaren Modell auflösen:939Dieses Beispiel beschränkt benannte Auswahlmöglichkeiten auf Sonnet- und Haiku-Modelle und lässt **Standard** sich zum ersten verfügbaren Modell auflösen:

940 940 

941```json settings.json theme={null}941```json settings.json theme={null}

942{942{


951 `fallbackModel`951 `fallbackModel`

952</h3>952</h3>

953 953 

954Benennen Sie Backup-Modelle, die Claude Code versuchen soll, in der Reihenfolge, wenn Ihr primäres Modell überlastet oder nicht verfügbar ist. Claude Code wechselt für den Rest des Durchgangs zum nächsten verfügbaren Modell in der Kette und zeigt einen Hinweis an. Ohne eine Kette versucht Claude Code, das gleiche Modell erneut zu verwenden, und zeigt dann den Fehler des Servers an, und Sie versuchen es erneut oder wechseln Modelle selbst.954Benennen Sie Backup-Modelle, die Claude Code der Reihe nach versuchen soll, wenn Ihr primäres Modell überlastet oder nicht verfügbar ist. Claude Code wechselt zum nächsten verfügbaren Modell in der Kette für den Rest des Durchlaufs und zeigt eine Benachrichtigung an. Ohne eine Kette versucht Claude Code das gleiche Modell erneut und zeigt dann den Fehler des Servers an, und Sie versuchen es erneut oder wechseln Modelle selbst.

955 955 

956Ein Wechsel bedeutet einen Durchgang mit einem kalten [Prompt-Cache](/docs/de/prompt-caching#switching-models) auf dem Fallback-Modell; Ihre nächste Nachricht versucht zuerst wieder das primäre Modell.956Ein Wechsel bedeutet einen Durchlauf mit einem kalten [Prompt-Cache](/docs/de/prompt-caching#switching-models) auf dem Fallback-Modell; Ihre nächste Nachricht versucht zuerst das primäre Modell erneut.

957 957 

958* **Bereich**: [`Beliebige Datei`](#scopes)958* **Bereich**: [`Beliebige Datei`](#scopes)

959* **Typ**: Array von Modellaliasen oder IDs; `"default"` wird zum Standardmodell erweitert959* **Typ**: Array von Modellaliasen oder IDs; `"default"` wird zum Standardmodell erweitert

960* **Standard**: nicht gesetzt, daher wird eine fehlgeschlagene Anfrage nicht auf einem anderen Modell erneut versucht960* **Standard**: nicht gesetzt, daher wird eine fehlgeschlagene Anfrage nicht auf einem anderen Modell erneut versucht

961* **Sitzungsübergreifende Überschreibungen**: `--fallback-model` hat Vorrang vor diesem Schlüssel für eine Sitzung961* **Sitzungsübergreifende Außerkraftsetzungen**: `--fallback-model` hat Vorrang vor diesem Schlüssel für eine Sitzung

962 962 

963Dieses Beispiel versucht zuerst Sonnet 5, dann Haiku 4.5, wenn Ihr primäres Modell fehlschlägt:963Dieses Beispiel versucht zuerst Sonnet 5, dann Haiku 4.5, wenn Ihr primäres Modell fehlschlägt:

964 964 


968}968}

969```969```

970 970 

971Im Gegensatz zu den meisten Array-Einstellungen wird dieser Schlüssel nicht über Einstellungsdateien hinweg zusammengeführt: die höchste Prioritätsdatei, die ihn definiert, liefert die gesamte Kette. Wenn Ihre Projektdatei `["claude-sonnet-5"]` setzt und Ihre Benutzerdatei `["claude-haiku-4-5"]` setzt, ist die Kette nur `["claude-sonnet-5"]`. Claude Code behält höchstens drei unterschiedliche zulässige Modelle aus der Liste und ignoriert den Rest. Siehe [Fallback-Modellketten](/docs/de/model-config#fallback-model-chains).971Im Gegensatz zu den meisten Array-Einstellungen wird dieser Schlüssel nicht über Einstellungsdateien hinweg zusammengeführt: die höchste Prioritätsdatei, die ihn definiert, liefert die ganze Kette. Wenn Ihre Projektdatei `["claude-sonnet-5"]` setzt und Ihre Benutzerdatei `["claude-haiku-4-5"]` setzt, ist die Kette nur `["claude-sonnet-5"]`. Claude Code behält höchstens drei unterschiedliche zulässige Modelle aus der Liste und ignoriert den Rest. Siehe [Fallback-Modellketten](/docs/de/model-config#fallback-model-chains).

972 972 

973<h3 id="fastmode">973<h3 id="fastmode">

974 `fastMode`974 `fastMode`

975</h3>975</h3>

976 976 

977Schalten Sie den [schnellen Modus](/docs/de/fast-mode) für Sitzungen ein, in denen er verfügbar ist, für interaktive Arbeiten wie schnelle Iteration oder Live-Debugging, bei denen Sie Geschwindigkeit zu höheren Kosten pro Token wünschen. Sie bearbeiten diesen Schlüssel normalerweise nicht manuell: Das Ausführen von `/fast` schreibt `fastMode: true` zu `~/.claude/settings.json`, und das erneute Ausführen zum Ausschalten des schnellen Modus entfernt den Schlüssel. Der schnelle Modus läuft nur auf Opus 5 und Opus 4.8: Das Einschalten von einem anderen Modell wechselt Sie zu Opus, und das Wechseln zu einem nicht unterstützten Modell schaltet es aus. Siehe [Modelle wechseln, während der schnelle Modus aktiv ist](/docs/de/fast-mode#switch-models-while-fast-mode-is-on).977Aktivieren Sie den [Schnellmodus](/docs/de/fast-mode) für Sitzungen, in denen er verfügbar ist, für interaktive Arbeiten wie schnelle Iteration oder Live-Debugging, bei denen Sie Geschwindigkeit zu höheren Kosten pro Token wünschen. Sie bearbeiten diesen Schlüssel normalerweise nicht manuell: Das Ausführen von `/fast` schreibt `fastMode: true` zu `~/.claude/settings.json`, und das erneute Ausführen zum Ausschalten des Schnellmodus entfernt den Schlüssel. Der Schnellmodus läuft nur auf Opus 5.5, Opus 5 und Opus 4.8: Das Aktivieren von einem anderen Modell wechselt Sie zu Opus, und das Wechseln zu einem nicht unterstützten Modell schaltet ihn aus. Siehe [Modelle wechseln, während der Schnellmodus aktiv ist](/docs/de/fast-mode#switch-models-while-fast-mode-is-on).

978 978 

979* **Bereich**: [`Beliebige Datei`](#scopes)979* **Bereich**: [`Beliebige Datei`](#scopes)

980* **Typ**: Boolean980* **Typ**: Boolean

981 * `true`: Claude Code schaltet den schnellen Modus für Sitzungen ein, in denen er verfügbar ist981 * `true`: Claude Code aktiviert den Schnellmodus für Sitzungen, in denen er verfügbar ist

982 * `false`: der schnelle Modus bleibt aus982 * `false`: Der Schnellmodus bleibt ausgeschaltet

983* **Standard**: nicht gesetzt, daher ist der schnelle Modus aus983* **Standard**: nicht gesetzt, daher ist der Schnellmodus ausgeschaltet

984* **Sitzungsübergreifende Überschreibungen**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/de/env-vars) schaltet den schnellen Modus für eine Sitzung aus, und dieser Schlüssel kann ihn nicht wieder einschalten984* **Sitzungsübergreifende Außerkraftsetzungen**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/de/env-vars) schaltet den Schnellmodus für eine Sitzung aus, und dieser Schlüssel kann ihn nicht wieder einschalten

985 985 

986```json settings.json theme={null}986```json settings.json theme={null}

987{987{


993 `fastModePerSessionOptIn`993 `fastModePerSessionOptIn`

994</h3>994</h3>

995 995 

996Normalerweise speichert das Ausführen von `/fast` [`fastMode`](#fastmode) in den Benutzereinstellungen einer Person, daher ist der schnelle Modus am Anfang jeder späteren Sitzung aktiviert. Setzen Sie diesen Schlüssel auf `true`, um dies zu stoppen: ein gespeichertes `fastMode: true` schaltet den schnellen Modus nicht mehr am Sitzungsstart ein, und jede Person muss `/fast` in jeder Sitzung ausführen, in der sie es möchte. Claude Code lässt den Schlüssel `fastMode` in ihrer Datei, daher stellt das Ausschalten dieses Schlüssels das alte Verhalten wieder her. Besitzer von Team- oder Enterprise-Plänen können es organisationsweit durch [serverseitig verwaltete Einstellungen](/docs/de/server-managed-settings) bereitstellen.996Normalerweise speichert das Ausführen von `/fast` [`fastMode`](#fastmode) in den Benutzereinstellungen einer Person, daher ist der Schnellmodus am Anfang jeder späteren Sitzung aktiviert. Setzen Sie diesen Schlüssel auf `true`, um das zu stoppen: ein gespeichertes `fastMode: true` aktiviert den Schnellmodus nicht mehr beim Sitzungsstart, und jede Person muss `/fast` in jeder Sitzung ausführen, in der sie es möchte. Claude Code lässt den Schlüssel `fastMode` in ihrer Datei, daher stellt das Ausschalten dieses Schlüssels das alte Verhalten wieder her.

997 

998Besitzer in Team- oder Enterprise-Plänen können es organisationsweit durch [serverseitig verwaltete Einstellungen](/docs/de/server-managed-settings) bereitstellen. Wenn verwaltete Einstellungen den Schlüssel setzen, wird `/fast on` außerhalb interaktiver Terminal-Sitzungen abgelehnt und meldet, dass Ihre Organisation den Schnellmodus deaktiviert hat. Das umfasst den [nicht-interaktiven Modus](/docs/de/headless), die [VS Code-Erweiterung](/docs/de/vs-code) und [Cloud-Sitzungen](/docs/de/claude-code-on-the-web).

997 999 

998* **Bereich**: [`Beliebige Datei`](#scopes)1000* **Bereich**: [`Beliebige Datei`](#scopes)

999* **Typ**: Boolean1001* **Typ**: Boolean

1000 * `true`: ein gespeichertes `fastMode: true` schaltet den schnellen Modus nicht mehr am Sitzungsstart ein, daher führt jede Person `/fast` in jeder Sitzung aus, in der sie es möchte; ein `fastMode: true`, das mit `--settings` übergeben wird, zählt immer noch für diese Sitzung, es sei denn, verwaltete Einstellungen setzen diesen Schlüssel1002 * `true`: ein gespeichertes `fastMode: true` aktiviert den Schnellmodus nicht mehr beim Sitzungsstart, daher führt jede Person `/fast` in jeder Sitzung aus, in der sie es möchte; ein `fastMode: true` mit `--settings` zählt immer noch für diese Sitzung, es sei denn, verwaltete Einstellungen setzen diesen Schlüssel

1001 * `false`: ein gespeichertes `fastMode: true` schaltet den schnellen Modus am Anfang jeder späteren Sitzung ein1003 * `false`: ein gespeichertes `fastMode: true` aktiviert den Schnellmodus am Anfang jeder späteren Sitzung

1002* **Standard**: `false`1004* **Standard**: `false`

1003 1005 

1004```json settings.json theme={null}1006```json settings.json theme={null}


1013 `language`1015 `language`

1014</h3>1016</h3>

1015 1017 

1016Lassen Sie Claude standardmäßig in einer anderen Sprache als Englisch antworten. Es gibt keine feste Liste für Antworten: Claude Code fügt den Wert wörtlich zur Systemaufforderung als Anweisung hinzu, immer in dieser Sprache zu antworten, daher funktioniert jeder Sprachname, den Claude lesen kann. Claude Code überprüft den Wert nicht, daher erreicht ein falsch geschriebener Name Claude wie geschrieben, anstatt einen Fehler zu erzeugen. Der gleiche Wert legt die Sprache für [Sprachdiktat](/docs/de/voice-dictation#change-the-dictation-language) fest, das eine feste Liste von [unterstützten Diktiersprachen](/docs/de/voice-dictation#change-the-dictation-language) hat, und für automatisch generierte Sitzungstitel.1018Lassen Sie Claude standardmäßig in einer anderen Sprache als Englisch antworten. Es gibt keine feste Liste für Antworten: Claude Code übergibt den Wert wörtlich an Claude als Anweisung, immer in dieser Sprache zu antworten, daher funktioniert jeder Sprachname, den Claude lesen kann. Claude Code überprüft den Wert nicht, daher erreicht ein falsch geschriebener Name Claude wie geschrieben, anstatt einen Fehler zu erzeugen. Der gleiche Wert setzt die Sprache für [Sprachdiktat](/docs/de/voice-dictation#change-the-dictation-language), das eine feste Liste von [unterstützten Diktiersprachen](/docs/de/voice-dictation#change-the-dictation-language) hat, und für automatisch generierte Sitzungstitel.

1017 1019 

1018* **Bereich**: [`Beliebige Datei`](#scopes)1020* **Bereich**: [`Beliebige Datei`](#scopes)

1019* **Typ**: String, jeder Sprachname, wie `"japanese"`, `"spanish"` oder `"french"`; Claude Code überprüft ihn nicht1021* **Typ**: String, jeder Sprachname, wie `"japanese"`, `"spanish"` oder `"french"`; Claude Code überprüft ihn nicht


1029 `maxEffortLevel`1031 `maxEffortLevel`

1030</h3>1032</h3>

1031 1033 

1032Begrenzen Sie die [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die eine Sitzung verwenden kann, und lassen Sie niedrigere Stufen verfügbar. Jede höhere Stufe läuft stattdessen bei der Obergrenze, einschließlich einer von `/effort`, der Auswahl `/model`, `--effort`, [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/de/env-vars), der Frontmatter `effort` eines Skills oder Subagenten, oder dem Standard des Modells selbst. Claude Code wendet die Obergrenze selbst vor jeder Anfrage an, daher gilt sie auf jedem Provider, einschließlich Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry. Erfordert Claude Code v2.1.267 oder später.1034Begrenzen Sie die [Aufwandsebene](/docs/de/model-config#adjust-effort-level), die eine Sitzung verwenden kann, und lassen Sie niedrigere Ebenen verfügbar. Jede höhere Ebene läuft stattdessen bei der Obergrenze, einschließlich einer von `/effort`, der Auswahl `/model`, `--effort`, [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/de/env-vars), der Frontmatter `effort` eines Skills oder Subagents oder dem eigenen Standard des Modells. Claude Code wendet die Obergrenze selbst vor jeder Anfrage an, daher gilt sie auf jedem Provider, einschließlich Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry. Erfordert Claude Code v2.1.267 oder später.

1033 1035 

1034* **Bereich**: [`Beliebige Datei`](#scopes). Stellen Sie es in verwalteten Einstellungen bereit, um es für eine Organisation durchzusetzen. Wenn mehrere Bereiche eine Obergrenze setzen, gilt die niedrigste, daher kann eine in einem Bereich gesetzte Obergrenze nicht von einem anderen erhöht werden1036* **Bereich**: [`Beliebige Datei`](#scopes). Stellen Sie es in verwalteten Einstellungen bereit, um es für eine Organisation durchzusetzen. Wenn mehrere Bereiche eine Obergrenze setzen, gilt die niedrigste, daher kann eine in einem Bereich gesetzte Obergrenze nicht von einem anderen erhöht werden

1035* **Typ**: String, einer von `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Ein Wert `"max"` setzt keine Obergrenze1037* **Typ**: String, einer von `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Ein Wert `"max"` setzt keine Obergrenze


1050}1052}

1051```1053```

1052 1054 

1053Wenn Ihre Organisation auch ein [Anstrengungslimit](/docs/de/model-config#organization-effort-limits) für ein Modell setzt, gilt die niedrigere der beiden Obergrenzen.1055Wenn Ihre Organisation auch ein [Aufwandslimit](/docs/de/model-config#organization-effort-limits) für ein Modell setzt, gilt die niedrigere der beiden Obergrenzen.

1054 1056 

1055<h3 id="model">1057<h3 id="model">

1056 `model`1058 `model`

1057</h3>1059</h3>

1058 1060 

1059Legen Sie das Modell fest, das jede neue Sitzung verwendet, damit Sie nicht jedes Mal mit `/model` eines auswählen müssen. Das Setzen hier hindert Sie nicht daran, während einer Sitzung zu wechseln. Wenn Ihr Administrator ein [Organisations-Standardmodell](/docs/de/model-config#organization-default-model) gesetzt hat, um die Benutzerauswahl zu überschreiben, erhalten Sie dieses Modell, auch wenn Sie diesen Schlüssel in Benutzer-, Projekt- oder lokalen Einstellungen setzen.1061Legen Sie das Modell fest, das jede neue Sitzung verwendet, damit Sie nicht jedes Mal mit `/model` eines auswählen müssen. Das Setzen hier hindert Sie nicht daran, die Sitzung zu wechseln. Wenn Ihr Administrator ein [Organisations-Standardmodell](/docs/de/model-config#organization-default-model) gesetzt hat, um die Benutzerauswahl zu überschreiben, erhalten Sie dieses Modell auch wenn Sie diesen Schlüssel in Benutzer-, Projekt- oder Lokaleinstellungen setzen.

1060 1062 

1061* **Bereich**: [`Beliebige Datei`](#scopes)1063* **Bereich**: [`Beliebige Datei`](#scopes)

1062* **Typ**: String, ein Modellalias oder eine vollständige Modell-ID1064* **Typ**: String, ein Modellalias oder eine vollständige Modell-ID

1063* **Standard**: nicht gesetzt, daher verwendet Claude Code das Standardmodell Ihres Kontos1065* **Standard**: nicht gesetzt, daher verwendet Claude Code das Standardmodell Ihres Kontos

1064* **Sitzungsübergreifende Überschreibungen**: `--model` hat Vorrang vor [`ANTHROPIC_MODEL`](/docs/de/env-vars), und beide haben Vorrang vor diesem Schlüssel für eine Sitzung, einschließlich vor einem verwalteten `model`; eine [`availableModels`](#availablemodels)-Liste gilt immer noch für die Auswahl1066* **Sitzungsübergreifende Außerkraftsetzungen**: `--model` hat Vorrang vor [`ANTHROPIC_MODEL`](/docs/de/env-vars), und beide haben Vorrang vor diesem Schlüssel für eine Sitzung, einschließlich vor einem verwalteten `model`; eine [`availableModels`](#availablemodels)-Liste gilt immer noch für die Auswahl

1065 1067 

1066```json settings.json theme={null}1068```json settings.json theme={null}

1067{1069{


1075 `modelOverrides`1077 `modelOverrides`

1076</h3>1078</h3>

1077 1079 

1078Ordnen Sie Anthropic-Modell-IDs Anbieter-spezifischen Modell-IDs zu, wie Amazon Bedrock Inference Profile ARNs. Jeder Modellauswahl-Eintrag verwendet dann seinen zugeordneten Wert beim Aufrufen der Provider-API. Administratoren verwenden dies auf [Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry](/docs/de/model-config#override-model-ids-per-version), um jede Modellversion zu einem bestimmten Inference Profile, Versionsnamen oder einer Bereitstellung für Governance, Kostenzuteilung oder regionales Routing zu leiten.1080Ordnen Sie Anthropic-Modell-IDs Anbieter-spezifischen Modell-IDs zu, wie Amazon Bedrock Inferenz-Profil-ARNs. Jeder Modellauswahl-Eintrag verwendet dann seinen zugeordneten Wert beim Aufrufen der Provider-API. Administratoren verwenden dies auf [Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry](/docs/de/model-config#override-model-ids-per-version), um jede Modellversion zu einem bestimmten Inferenz-Profil, Versionsnamen oder einer Bereitstellung für Governance, Kostenzuteilung oder regionales Routing zu leiten.

1079 1081 

1080* **Bereich**: [`Beliebige Datei`](#scopes)1082* **Bereich**: [`Beliebige Datei`](#scopes)

1081* **Typ**: Objekt, das Modell-ID zu Anbieter-Modell-ID zuordnet1083* **Typ**: Objekt, das Modell-ID zu Anbieter-Modell-ID zuordnet

1082* **Standard**: nicht gesetzt1084* **Standard**: nicht gesetzt

1083 1085 

1084Dieses Beispiel leitet jeden Aufruf für Opus 4.6 zum benannten Bedrock Inference Profile:1086Dieses Beispiel leitet jeden Aufruf für Opus 4.6 zum benannten Bedrock-Inferenz-Profil:

1085 1087 

1086```json settings.json theme={null}1088```json settings.json theme={null}

1087{1089{


1097 `modelPicker`1099 `modelPicker`

1098</h3>1100</h3>

1099 1101 

1100Listen Sie die Modelle auf, die die Auswahl `/model` anbietet, in der Reihenfolge, in der Sie sie schreiben, und unter Etiketten, die Sie wählen, damit die Auswahl die Modelle auflistet, die Ihre Organisation ausführt, nach der eingebauten Reihe oder stattdessen. Das `model` jeder Zeile wird wörtlich genommen, daher akzeptiert es alles, was `--model` akzeptiert: ein Alias wie `opus`, eine Anthropic-Modell-ID oder eine Anbieter-Format-ID für Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder ein LLM-Gateway. Erfordert Claude Code v2.1.242 oder später.1102Listen Sie die Modelle auf, die die Auswahl `/model` anbietet, in der Reihenfolge, in der Sie sie schreiben, und unter Bezeichnungen, die Sie wählen, damit die Auswahl die Modelle auflistet, die Ihre Organisation ausführt, nach der integrierten Auswahl oder stattdessen. Das `model` jeder Zeile wird wörtlich genommen, daher akzeptiert es alles, was `--model` akzeptiert: ein Alias wie `opus`, eine Anthropic-Modell-ID oder eine Anbieter-Format-ID für Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder ein LLM-Gateway. Erfordert Claude Code v2.1.242 oder später.

1101 1103 

1102* **Bereich**: [`Benutzer oder verwaltet`](#scopes). Claude Code liest den Schlüssel aus verwalteten Einstellungen, `--settings` und Benutzereinstellungen und ignoriert ihn in Projekt- und lokalen Einstellungen, daher kann ein Repository, das Sie klonen, die Auswahl nicht umbenennen. Die höchste dieser drei, die den Schlüssel setzt, liefert die gesamte Reihe, und Claude Code kombiniert Reihen von zwei Quellen nie.1104* **Bereich**: [`Benutzer oder verwaltet`](#scopes). Claude Code liest den Schlüssel aus verwalteten Einstellungen, `--settings` und Benutzereinstellungen und ignoriert ihn in Projekt- und Lokaleinstellungen, daher kann ein Repository, das Sie klonen, die Auswahl nicht umbenennen. Die höchste dieser drei, die den Schlüssel setzt, liefert die ganze Auswahl, und Claude Code kombiniert Auswahlmöglichkeiten von zwei Quellen nie.

1103* **Typ**: Objekt mit einem Array `options` von Zeilen und einem optionalen Boolean `replaceBuiltInOptions`1105* **Typ**: Objekt mit einem Array `options` von Zeilen und einem optionalen Boolean `replaceBuiltInOptions`

1104* **Standard**: nicht gesetzt, daher zeigt die Auswahl die eingebaute Reihe1106* **Standard**: nicht gesetzt, daher zeigt die Auswahl die integrierte Auswahl

1105 1107 

1106Dieses Beispiel fügt zwei Bedrock-Bereitstellungen nach der eingebauten Reihe hinzu, unter Namen, die Ihr Team erkennt:1108Dieses Beispiel fügt zwei Bedrock-Bereitstellungen nach der integrierten Auswahl hinzu, unter Namen, die Ihr Team erkennt:

1107 1109 

1108```json managed-settings.json theme={null}1110```json managed-settings.json theme={null}

1109{1111{


1128 Felder für `modelPicker`1130 Felder für `modelPicker`

1129</h4>1131</h4>

1130 1132 

1131Der Schlüssel nimmt zwei Felder, eines für die Zeilen selbst und eines dafür, ob sie die eingebaute Reihe ersetzen oder zu ihr hinzufügen.1133Der Schlüssel nimmt zwei Felder, eines für die Zeilen selbst und eines dafür, ob sie die integrierte Auswahl ersetzen oder zu ihr hinzufügen.

1132 1134 

1133| Feld | Typ | Was es tut |1135| Feld | Typ | Was es tut |

1134| :---------------------- | :----------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1136| :---------------------- | :----------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1135| `options` | Array von Zeilen, jede mit einem erforderlichen `model` und einem optionalen `label` und `description` | Die Zeilen, die die Auswahl zeigt, in dieser Reihenfolge, außer dass eine ausgegraut Zeile nach unten verschoben wird. Ohne ein `label` betitelt Claude Code die Zeile mit dem eingebauten Namen für ein Modell, das es kennt, oder die Modell-ID ansonsten, und ohne eine `description` schreibt es eine generische zweite Zeile |1137| `options` | Array von Zeilen, jede mit einem erforderlichen `model` und einem optionalen `label` und `description` | Die Zeilen, die die Auswahl zeigt, in dieser Reihenfolge, außer dass eine ausgegraut Zeile nach unten verschoben wird. Ohne `label` betitelt Claude Code die Zeile mit dem integrierten Namen für ein Modell, das es kennt, oder der Modell-ID ansonsten, und ohne `description` schreibt es eine generische zweite Zeile |

1136| `replaceBuiltInOptions` | Boolean, Standard `false` | Setzen Sie es auf `true`, um nur diese Zeilen, **Standard** und eine Zeile für das Modell anzuzeigen, das die Sitzung bereits verwendet. Lassen Sie es ungesetzt, um diese Zeilen nach der eingebauten Reihe hinzuzufügen |1138| `replaceBuiltInOptions` | Boolean, Standard `false` | Setzen Sie es auf `true`, um nur diese Zeilen, **Standard** und eine Zeile für das Modell anzuzeigen, das die Sitzung bereits verwendet. Lassen Sie es ungesetzt, um diese Zeilen nach der integrierten Auswahl hinzuzufügen |

1137 1139 

1138Mit `replaceBuiltInOptions` an, versteckt Claude Code jede andere Zeile: die eingebaute Reihe, die Zeilen, die es für [`availableModels`](#availablemodels)-Einträge hinzufügt, die Modelle, die [Gateway-Erkennung](/docs/de/llm-gateway-protocol#model-discovery) gefunden hat, und [`ANTHROPIC_CUSTOM_MODEL_OPTION`](/docs/de/model-config#add-a-custom-model-option). Mit ihr aus, überspringt Claude Code ein aufgelistetes Modell, das die eingebaute Reihe bereits abdeckt. Ein Etikett ändert, was die Auswahl zeigt, nicht welches Modell Claude Code ausführt.1140Mit `replaceBuiltInOptions` an, versteckt Claude Code jede andere Zeile: die integrierte Auswahl, die Zeilen, die es für [`availableModels`](#availablemodels)-Einträge hinzufügt, die Modelle, die [Gateway-Erkennung](/docs/de/llm-gateway-protocol#model-discovery) gefunden hat, und [`ANTHROPIC_CUSTOM_MODEL_OPTION`](/docs/de/model-config#add-a-custom-model-option). Mit ihr aus, überspringt Claude Code ein aufgelistetes Modell, das die integrierte Auswahl bereits abdeckt. Ein Label ändert, was die Auswahl zeigt, nicht welches Modell Claude Code ausführt.

1139 1141 

1140Eine [`availableModels`](#availablemodels)-Zulassungsliste gilt immer noch für diese Zeilen. Bevor Sie ein aufgelistetes Modell zur Zulassungsliste hinzufügen, lesen Sie [Zusammenführungsverhalten](/docs/de/model-config#merge-behavior): eine spezifische Modell-ID verengt den Wildcard-Eintrag ihrer Familie. Claude Code überprüft auch jede Zeile gegen die Sitzung, bevor es die Auswahl zeigt:1142Eine [`availableModels`](#availablemodels)-Zulassungsliste gilt immer noch für diese Zeilen. Bevor Sie ein aufgelistetes Modell zur Zulassungsliste hinzufügen, lesen Sie [Zusammenführungsverhalten](/docs/de/model-config#merge-behavior): eine spezifische Modell-ID verengt den Wildcard-Eintrag ihrer Familie. Claude Code überprüft auch jede Zeile gegen die Sitzung, bevor es die Auswahl zeigt:

1141 1143 

1142* **Gelöscht**: eine Zeile, die Claude Code nicht bedienen kann, wie ein veraltetes Modell oder ein Modell, auf das Ihre Organisation keinen Zugriff hat1144* **Gelöscht**: eine Zeile, die Claude Code nicht bedienen kann, wie ein veraltetes Modell oder ein Modell, auf das Ihre Organisation keinen Zugriff hat

1143* **Ausgegraut**: eine Zeile, die Sie noch nicht auswählen können, mit dem Grund angezeigt1145* **Ausgegraut**: eine Zeile, die Sie noch nicht auswählen können, mit dem Grund angezeigt

1144* **Keine Zeile überlebt**: Claude Code behält die eingebaute Reihe, gefiltert durch die Zulassungsliste wie üblich1146* **Keine Zeile überlebt**: Claude Code behält die integrierte Auswahl, gefiltert durch die Zulassungsliste wie gewohnt

1145 1147 

1146Claude Code löscht eine Zeile, die es nicht analysieren kann, und behält den Rest. Siehe [Fehlerhafte Einstellungsdatei beheben](/docs/de/settings#fix-a-broken-settings-file).1148Claude Code löscht eine Zeile, die es nicht analysieren kann, und behält den Rest. Siehe [Fehlerhafte Einstellungsdatei beheben](/docs/de/settings#fix-a-broken-settings-file).

1147 1149 


1149 `modelPricing`1151 `modelPricing`

1150</h3>1152</h3>

1151 1153 

1152Melden Sie Ausgaben zu den Sätzen, die Ihre Organisation zahlt, anstatt zum Listenpreis. Setzen Sie es, wenn Ihre Organisation Vertragssätze hat, damit die Dollar-Zahlen, die Entwickler sehen, Ihrer Rechnung entsprechen. Claude Code wendet die Sätze in `/usage`, der [Statuszeile](/docs/de/statusline), dem `total_cost_usd` des Agent SDK, dem Limit [`--max-budget-usd`](/docs/de/cli-reference) und der [OpenTelemetry](/docs/de/monitoring-usage)-Kostenmetrik und Ereignissen an. Sie liefern die Sätze: Claude Code liest sie nicht aus Ihrem Vertrag oder der Claude Console. Erfordert Claude Code v2.1.242 oder später.1154Melden Sie Ausgaben zu den Sätzen, die Ihre Organisation zahlt, anstatt zum Listenpreis. Setzen Sie es, wenn Ihre Organisation verhandelte Sätze hat, daher entsprechen die Dollar-Zahlen, die Entwickler sehen, Ihrer Rechnung. Claude Code wendet die Sätze in `/usage`, der [Statuszeile](/docs/de/statusline), dem `total_cost_usd` des Agent SDK, dem Limit [`--max-budget-usd`](/docs/de/cli-reference) und der [OpenTelemetry](/docs/de/monitoring-usage)-Kostenmetrik und Ereignissen an. Sie liefern die Sätze: Claude Code liest sie nicht aus Ihrem Vertrag oder der Claude Console. Erfordert Claude Code v2.1.242 oder später.

1153 1155 

1154* **Bereich**: [`Verwaltet`](#scopes). Stellen Sie den Schlüssel durch serverseitig verwaltete Einstellungen, eine MDM-Richtlinie, eine Datei `managed-settings.json` oder einen [Richtlinienhelfer](/docs/de/managed-settings#compute-the-policy-with-a-helper-program) bereit. Claude Code ignoriert ihn in Benutzer-, Projekt- und lokalen Einstellungen, in `--settings` und unter Windows in der beschreibbaren [HKCU-Registrierung](/docs/de/managed-settings#where-each-mechanism-stores-the-policy). Mit serverseitig verwalteten Einstellungen meldet jede Sitzung Kosten zum Listenpreis, bis die [Einstellungsabruf](/docs/de/server-managed-settings#fetch-and-caching-behavior) dieser Sitzung die Einstellung bestätigt hat. Eine Host-Anwendung, die Claude Code einbettet und [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/de/env-vars) setzt, kann eine Tabelle ihrer eigenen durch die SDK-Option [`managedSettings`](/docs/de/agent-sdk/typescript#options) liefern, die Claude Code nur verwendet, wenn keine verwaltete Quelle den Schlüssel setzt, und nur in Claude Code v2.1.246 oder später.1156* **Bereich**: [`Verwaltet`](#scopes). Stellen Sie den Schlüssel durch serverseitig verwaltete Einstellungen, eine MDM-Richtlinie, eine Datei `managed-settings.json` oder einen [Richtlinien-Helfer](/docs/de/managed-settings#compute-the-policy-with-a-helper-program) bereit. Claude Code ignoriert ihn in Benutzer-, Projekt- und Lokaleinstellungen, in `--settings` und unter Windows in der beschreibbaren [HKCU-Registrierung](/docs/de/managed-settings#where-each-mechanism-stores-the-policy). Mit serverseitig verwalteten Einstellungen meldet jede Sitzung Kosten zum Listenpreis, bis die [Einstellungsabruf](/docs/de/server-managed-settings#fetch-and-caching-behavior) dieser Sitzung die Einstellung bestätigt hat. Eine Host-Anwendung, die Claude Code einbettet und [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/de/env-vars) setzt, kann eine Tabelle ihrer eigenen durch die SDK-Option [`managedSettings`](/docs/de/agent-sdk/typescript#options) liefern, die Claude Code nur verwendet, wenn keine verwaltete Quelle den Schlüssel setzt und nur in Claude Code v2.1.246 oder später.

1155* **Typ**: Objekt mit einem optionalen `multiplier` und einer optionalen Zuordnung `overrides`1157* **Typ**: Objekt mit einem optionalen `multiplier` und einer optionalen Karte `overrides`

1156* **Standard**: nicht gesetzt, daher meldet Claude Code Listenpreis, es sei denn, eine Host-Anwendung liefert eine Tabelle1158* **Standard**: nicht gesetzt, daher meldet Claude Code Listenpreis, es sei denn, eine Host-Anwendung liefert eine Tabelle

1157 1159 

1158Setzen Sie `multiplier` allein für einen Pauschalrabatt oder eine Aufschlaggebühr, `overrides` allein für Pro-Modell-Sätze oder beide.1160Setzen Sie `multiplier` allein für einen pauschalen Rabatt oder Aufschlag, `overrides` allein für Pro-Modell-Sätze oder beide.

1159 1161 

1160Dieses Beispiel setzt Vertragssätze für Sonnet 4.6 und reduziert dann jede Zahl, die Sonnet-Zeile eingeschlossen, um 15%:1162Dieses Beispiel setzt verhandelte Sätze für Sonnet 4.6 und reduziert dann jede Zahl, die Sonnet-Zeile eingeschlossen, um 15%:

1161 1163 

1162```json managed-settings.json theme={null}1164```json managed-settings.json theme={null}

1163{1165{


1175}1177}

1176```1178```

1177 1179 

1178Setzen Sie `multiplier` über 1, bis zu 10, um jede Zahl zu markieren. Eine Aufschlaggebühr erfordert Claude Code v2.1.271 oder später. Frühere Versionen ignorieren einen `multiplier` über 1 mit einer Warnung und behalten den Rest der Einstellung.1180Setzen Sie `multiplier` über 1, bis zu 10, um jede Zahl zu markieren. Ein Aufschlag erfordert Claude Code v2.1.271 oder später. Frühere Versionen ignorieren einen `multiplier` über 1 mit einer Warnung und behalten den Rest der Einstellung.

1179 1181 

1180Für die Schritte, einschließlich wie man bestätigt, dass die Sätze in Kraft sind, siehe [Ausgaben zu Ihren Vertragssätzen melden](/docs/de/costs#report-spend-at-your-contracted-rates).1182Für die Schritte, einschließlich wie Sie bestätigen, dass die Sätze in Kraft sind, siehe [Ausgaben zu Ihren verhandelten Sätzen melden](/docs/de/costs#report-spend-at-your-contracted-rates).

1181 1183 

1182<span id="modelpricing-multiplier" />1184<span id="modelpricing-multiplier" />

1183 1185 


1188</h4>1190</h4>

1189 1191 

1190| Feld | Typ | Was es tut |1192| Feld | Typ | Was es tut |

1191| :----------- | :------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1193| :----------- | :--------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1192| `multiplier` | Zahl größer als 0 und höchstens 10 | Skaliert jede Kosten, die Claude Code berechnet, ob oder ob nicht eine `overrides`-Zeile sie abdeckt. Unter 1 ist ein Rabatt, über 1 eine Aufschlaggebühr |1194| `multiplier` | Zahl größer als 0 und höchstens 10 | Skaliert jede Kosten, die Claude Code berechnet, ob oder ob nicht eine `overrides`-Zeile sie abdeckt. Unter 1 ist ein Rabatt, über 1 ein Aufschlag |

1193| `overrides` | Zuordnung von Modell-ID zu einem Rateobjekt mit `input`, `output`, `cacheRead` und `cacheWrite`, jeweils 0 bis 10000 | Die USD-pro-Million-Token-Sätze für dieses Modell, alle vier erforderlich. `cacheWrite` deckt sowohl fünf-Minuten- als auch einstündige Cache-Schreibvorgänge ab. Siehe [Welche Modelle eine `modelPricing`-Zeile anwendet](#which-models-a-modelpricing-row-applies-to) |1195| `overrides` | Karte von Modell-ID zu einem Rateobjekt mit `input`, `output`, `cacheRead` und `cacheWrite`, jeweils 0 bis 10000 | Die USD-pro-Million-Token-Sätze für dieses Modell, alle vier erforderlich. `cacheWrite` deckt sowohl Fünf-Minuten- als auch Einstunden-Cache-Schreibvorgänge ab. Siehe [Welche Modelle eine Zeile `modelPricing` anwendet](#which-models-a-modelpricing-row-applies-to) |

1194 1196 

1195Claude Code verwendet die Sätze einer Zeile genau wie Sie sie geschrieben haben, ohne den Schnellmodus-Aufschlag oder den [nur-US-Inferenz-Satz](https://platform.claude.com/docs/en/about-claude/pricing) hinzuzufügen. Wenn Sie auch `multiplier` setzen, wendet Claude Code ihn auf die Sätze der Zeile an. Claude Code löscht eine Zeile mit einem Satz, den es nicht analysieren kann, oder einen `multiplier`, den es nicht analysieren kann, und behält den Rest; siehe [Fehlerhafte Einstellungsdatei beheben](/docs/de/settings#fix-a-broken-settings-file).1197Claude Code verwendet die Sätze einer Zeile genau wie Sie sie schrieben, ohne den Schnellmodus-Aufschlag oder den [nur-US-Inferenz-Satz](https://platform.claude.com/docs/en/about-claude/pricing) hinzuzufügen. Wenn Sie auch `multiplier` setzen, wendet Claude Code ihn auf die Sätze der Zeile an. Claude Code löscht eine Zeile mit einem Satz, den es nicht analysieren kann, oder einen `multiplier`, den es nicht analysieren kann, und behält den Rest; siehe [Fehlerhafte Einstellungsdatei beheben](/docs/de/settings#fix-a-broken-settings-file).

1196 1198 

1197<h4 id="which-models-a-modelpricing-row-applies-to">1199<h4 id="which-models-a-modelpricing-row-applies-to">

1198 Welche Modelle eine `modelPricing`-Zeile anwendet1200 Welche Modelle eine `modelPricing`-Zeile anwendet

1199</h4>1201</h4>

1200 1202 

1201Claude Code entscheidet, welche Modelle eine Zeile anwendet, aus dem Schlüssel der Zeile:1203Claude Code entscheidet, welche Modelle eine Zeile anwendet, vom Schlüssel der Zeile:

1202 1204 

1203* **Die ID eines eingebauten Modells**: ein Schlüssel, den Claude Code selbst für ein eingebautes Modell verwendet, ob dieser Schlüssel die ID des Modells selbst ist, wie `claude-sonnet-4-6`, oder seine Bedrock-, Agent Platform- oder Foundry-ID. Claude Code wendet die Zeile auf jede datierte Snapshot-ID und Anbieter-spezifische ID dieses Modells an.1205* **Die ID eines integrierten Modells**: ein Schlüssel, den Claude Code selbst für ein integriertes Modell verwendet, ob dieser Schlüssel die eigene ID des Modells ist, wie `claude-sonnet-4-6`, oder seine Bedrock-, Agent Platform- oder Foundry-ID. Claude Code wendet die Zeile auf jede datierte Snapshot-ID und Anbieter-spezifische ID dieses Modells an.

1204* **Jeder andere Schlüssel**: ein Schlüssel, der nicht die ID eines eingebauten Modells ist, wie ein Gateway-Modellalias. Claude Code wendet die Zeile auf diese eine ID nur an. Wenn eine Modell-ID genau einem Ihrer Schlüssel entspricht und auch unter eine Zeile fällt, die durch eine eingebaute Modell-ID gekennzeichnet ist, verwendet Claude Code die genaue Übereinstimmung.1206* **Jeder andere Schlüssel**: ein Schlüssel, der nicht die ID eines integrierten Modells ist, wie ein Gateway-Modellalias. Claude Code wendet die Zeile auf diese eine ID nur an. Wenn eine Modell-ID genau einem Ihrer Schlüssel entspricht und auch unter eine Zeile fällt, die von einer integrierten Modell-ID gekennzeichnet ist, verwendet Claude Code die genaue Übereinstimmung.

1205* **Ein Bedrock-Anwendungs-Inference-Profil**: sobald Claude Code das Profil zum Modell aufgelöst hat, zu dem es leitet, durch Ihre Zuordnung [`modelOverrides`](#modeloverrides) oder die Suche [`bedrock:GetInferenceProfile`](/docs/de/amazon-bedrock#iam-configuration), wendet Claude Code die Zeile dieses Modells auf das Profil an.1207* **Ein Bedrock-Anwendungs-Inferenz-Profil**: sobald Claude Code das Profil zum Modell aufgelöst hat, zu dem es leitet, durch Ihre Karte [`modelOverrides`](#modeloverrides) oder die Suche [`bedrock:GetInferenceProfile`](/docs/de/amazon-bedrock#iam-configuration), wendet Claude Code die Zeile dieses Modells auf das Profil an.

1206 1208 

1207<h3 id="modelsettings">1209<h3 id="modelsettings">

1208 `modelSettings`1210 `modelSettings`

1209</h3>1211</h3>

1210 1212 

1211Speichern Sie eine [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) für jedes Modell, das Sie verwenden. In einer interaktiven Sitzung auf Ihrem Computer, wenn Sie `low`, `medium`, `high` oder `xhigh` als Ihren Standard mit `/effort` oder dem Anstrengungsschieber der Auswahl `/model` speichern, schreibt Claude Code diese Stufe hier unter dem Modell, das Sie verwenden, daher bearbeiten Sie diesen Schlüssel selten selbst. Der Eintrag [`effortLevel`](#effortlevel) listet die Sitzungen auf, in denen `/effort` nur für diese Sitzung gilt. Erfordert Claude Code v2.1.251 oder später.1213Speichern Sie eine [Aufwandsebene](/docs/de/model-config#adjust-effort-level) für jedes Modell, das Sie verwenden. Erfordert Claude Code v2.1.251 oder später.

1214 

1215In einer interaktiven Sitzung auf Ihrem Computer, wenn Sie `low`, `medium`, `high` oder `xhigh` als Ihren Standard mit `/effort` oder dem Aufwands-Schieberegler der Auswahl `/model` speichern, schreibt Claude Code diese Ebene hier unter dem Modell, das Sie verwenden, daher bearbeiten Sie diesen Schlüssel selten selbst. Wenn Sie einen dieser Ebenen in der [Modellauswahl der VS Code-Erweiterung](/docs/de/vs-code#use-the-prompt-box) auswählen, speichert Claude Code ihn auf die gleiche Weise. Der Eintrag [`effortLevel`](#effortlevel) listet die Sitzungen auf, in denen `/effort` nur für diese Sitzung gilt.

1212 1216 

1213Bearbeiten Sie den Schlüssel manuell, um eine Stufe zu ändern oder zu entfernen, die Sie gespeichert haben.1217Bearbeiten Sie den Schlüssel manuell, um eine Ebene zu ändern oder zu entfernen, die Sie gespeichert haben.

1214 1218 

1215Ein `effortLevel` eines Modells hier hat Vorrang vor dem Top-Level-[`effortLevel`](#effortlevel) in der gleichen Einstellungsdatei. Über Dateien hinweg löst Claude Code jedes Modell separat auf: die höchste Prioritäts-[Einstellungsdatei](/docs/de/settings#settings-precedence), die entweder einen `effortLevel` für dieses Modell oder den Top-Level-`effortLevel` setzt, entscheidet, daher übertrumpft ein `effortLevel` in verwalteten Einstellungen eine Stufe, die Sie in Benutzereinstellungen gespeichert haben. [Anstrengungsstufe anpassen](/docs/de/model-config#adjust-effort-level) listet auf, was sonst noch eine gespeicherte Stufe überschreiben kann, wie `--effort` beim Start.1219Ein `effortLevel` eines Modells hier hat Vorrang vor dem Top-Level-[`effortLevel`](#effortlevel) in der gleichen Einstellungsdatei. Über Dateien hinweg löst Claude Code jedes Modell separat auf: die höchste Prioritäts-[Einstellungsdatei](/docs/de/settings#settings-precedence), die entweder einen `effortLevel` für dieses Modell oder einen Top-Level-`effortLevel` setzt, der [auf dieses Modell anwendet](#effortlevel), entscheidet, daher übertrumpft ein `effortLevel` in verwalteten Einstellungen eine Ebene, die Sie in Benutzereinstellungen gespeichert haben. [Aufwandsebene anpassen](/docs/de/model-config#adjust-effort-level) listet auf, was sonst noch eine gespeicherte Ebene überschreiben kann, wie `--effort` beim Start.

1216 1220 

1217Um die Anstrengung eines Modells zu begrenzen, anstatt seine Stufe zu setzen, fügen Sie ein Feld [`maxEffortLevel`](#maxeffortlevel) zum Eintrag dieses Modells hinzu. Das Feld erfordert Claude Code v2.1.267 oder später.1221Um ein Modell zu begrenzen, anstatt seine Ebene zu setzen, fügen Sie ein Feld [`maxEffortLevel`](#maxeffortlevel) zum Eintrag dieses Modells hinzu. Das Feld erfordert Claude Code v2.1.267 oder später.

1218 1222 

1219* **Bereich**: [`Beliebige Datei`](#scopes)1223* **Bereich**: [`Beliebige Datei`](#scopes)

1220* **Typ**: Objekt, das einen Modellnamen einem Objekt mit einem Feld `effortLevel`, eines von `"low"`, `"medium"`, `"high"` oder `"xhigh"`, einem Feld [`maxEffortLevel`](#maxeffortlevel) oder beiden zuordnet1224* **Typ**: Objekt, das einen Modellnamen zu einem Objekt mit einem Feld `effortLevel`, einem von `"low"`, `"medium"`, `"high"` oder `"xhigh"`, einem Feld [`maxEffortLevel`](#maxeffortlevel) oder beiden zuordnet

1221* **Standard**: nicht gesetzt1225* **Standard**: nicht gesetzt

1222 1226 

1223Claude Code schreibt jeden Eintrag unter dem kanonischen Namen des Modells, wie `claude-opus-5`, und ordnet den Alias, das Datum-Suffix, `[1m]` und erkannte Anbieter-spezifische IDs dieses Modells dem gleichen Eintrag zu.1227Claude Code schreibt jeden Eintrag unter dem kanonischen Namen des Modells, wie `claude-opus-5-5`, und ordnet den Alias, das Datum-Suffix, `[1m]` und erkannte Anbieter-spezifische IDs dieses Modells dem gleichen Eintrag zu.

1224 1228 

1225Dieses Beispiel hält Opus 5 bei `medium`, während andere Modelle ihre eigenen gespeicherten oder Standard-Stufen verwenden:1229Dieses Beispiel hält Opus 5.5 auf `high`, während andere Modelle ihre eigenen gespeicherten oder Standard-Ebenen verwenden:

1226 1230 

1227```json settings.json theme={null}1231```json settings.json theme={null}

1228{1232{

1229 "modelSettings": {1233 "modelSettings": {

1230 "claude-opus-5": {1234 "claude-opus-5-5": {

1231 "effortLevel": "medium"1235 "effortLevel": "high"

1232 }1236 }

1233 }1237 }

1234}1238}

1235```1239```

1236 1240 

1237Führen Sie `/effort auto` aus, um Ihre gespeicherte Stufe für das Modell zu löschen, das Sie verwenden. Claude Code lässt die anderen Einträge und jeden Top-Level-`effortLevel` in Kraft.1241Führen Sie `/effort auto` aus, um Ihre gespeicherte Ebene für das Modell zu löschen, das Sie verwenden. Claude Code lässt die anderen Einträge und jeden Top-Level-`effortLevel` in Kraft.

1238 1242 

1239<h3 id="outputstyle">1243<h3 id="outputstyle">

1240 `outputStyle`1244 `outputStyle`

1241</h3>1245</h3>

1242 1246 

1243Wählen Sie einen [Ausgabenstil](/docs/de/output-styles) nach Name. Ein Ausgabenstil ist ein gespeicherter Satz von Anweisungen, die Claudes Rolle, Ton und Ausgabeformat ändern, wie die eingebauten Explanatory- und Learning-Stile oder einen, den Sie selbst geschrieben haben.1247Wählen Sie einen [Ausgabestil](/docs/de/output-styles) nach Name. Ein Ausgabestil ist ein gespeicherter Satz von Anweisungen, der Claudes Rolle, Ton und Ausgabeformat ändert, wie die integrierten Explanatory- und Learning-Stile oder einen, den Sie selbst geschrieben haben.

1244 1248 

1245Wenn Sie diesen Schlüssel während einer Sitzung ändern, verwendet Claude den neuen Stil ab Ihrer nächsten Nachricht. Für was diese Nachricht im Prompt-Cache kostet, siehe [Ausgabenstil ändern](/docs/de/prompt-caching#changing-output-style). Vor v2.1.251 galt die Bearbeitung nur nach dem Ausführen von `/clear` oder dem Starten einer neuen Sitzung.1249Wenn Sie diesen Schlüssel während einer Sitzung ändern, verwendet Claude den neuen Stil ab Ihrer nächsten Nachricht. Für was diese Nachricht im Prompt-Cache kostet, siehe [Ausgabestil ändern](/docs/de/prompt-caching#changing-output-style). Vor v2.1.251 galt die Bearbeitung nur nach dem Ausführen von `/clear` oder dem Starten einer neuen Sitzung.

1246 1250 

1247* **Bereich**: [`Beliebige Datei`](#scopes)1251* **Bereich**: [`Beliebige Datei`](#scopes)

1248* **Typ**: String, der Name eines [eingebauten](/docs/de/output-styles#built-in-output-styles) oder [benutzerdefinierten](/docs/de/output-styles#create-a-custom-output-style) Ausgabenstils1252* **Typ**: String, der Name eines [integrierten](/docs/de/output-styles#built-in-output-styles) oder [benutzerdefinierten](/docs/de/output-styles#create-a-custom-output-style) Ausgabestils

1249* **Standard**: nicht gesetzt, daher verwendet Claude Code den Standard-Stil1253* **Standard**: nicht gesetzt, daher verwendet Claude Code den Standard-Stil

1250 1254 

1251Dieses Beispiel wählt den eingebauten Explanatory-Stil, der pädagogische Einblicke zwischen Aufgaben hinzufügt:1255Dieses Beispiel wählt den integrierten Explanatory-Stil, der zwischen Aufgaben pädagogische Einblicke hinzufügt:

1252 1256 

1253```json settings.json theme={null}1257```json settings.json theme={null}

1254{1258{


1260 `promptCacheTtl`1264 `promptCacheTtl`

1261</h3>1265</h3>

1262 1266 

1263Wählen Sie, wie lange der [Prompt-Cache](/docs/de/prompt-caching) die Hauptkonversation hält. Dieser Schlüssel gilt für Ihre interaktiven, `-p` und Agent SDK-Durchgänge, zusammen mit den Helfern, die Claude Code inline mit ihnen ausführt. Die einstündige Lebensdauer hält den Cache über längere Pausen warm, und die API [berechnet jeden Cache-Schreibvorgang zu einem höheren Satz](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) als bei der fünf-Minuten-Lebensdauer. Erfordert Claude Code v2.1.242 oder später.1267Wählen Sie, wie lange der [Prompt-Cache](/docs/de/prompt-caching) die Hauptkonversation hält. Dieser Schlüssel gilt für Ihre interaktiven, `-p` und Agent SDK-Durchläufe, zusammen mit den Helfern, die Claude Code inline mit ihnen ausführt. Die Einstunden-Lebensdauer hält den Cache über längere Pausen warm, und die API [berechnet jeden Cache-Schreibvorgang zu einem höheren Satz](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) als bei der Fünf-Minuten-Lebensdauer. Erfordert Claude Code v2.1.242 oder später.

1264 1268 

1265* **Bereich**: [`Beliebige Datei`](#scopes)1269* **Bereich**: [`Beliebige Datei`](#scopes)

1266* **Typ**: String, einer von:1270* **Typ**: String, einer von:

1267 * `"5m"`: der Cache hält für fünf Minuten1271 * `"5m"`: der Cache hält für fünf Minuten

1268 * `"1h"`: der Cache hält für eine Stunde1272 * `"1h"`: der Cache hält für eine Stunde

1269* **Standard**: nicht gesetzt, daher erhält jede Hauptkonversations-Anfrage [ihre Standard-Lebensdauer](/docs/de/prompt-caching#which-ttl-each-request-gets)1273* **Standard**: nicht gesetzt, daher erhält jede Hauptkonversations-Anfrage [ihre Standard-Lebensdauer](/docs/de/prompt-caching#which-ttl-each-request-gets)

1270* **Sitzungsübergreifende Überschreibungen**: [`FORCE_PROMPT_CACHING_5M`](/docs/de/env-vars) hat Vorrang vor allem anderen, dann [`CLAUDE_CODE_PROMPT_CACHE_TTL`](/docs/de/env-vars), dann dieser Schlüssel, und zuletzt [`ENABLE_PROMPT_CACHING_1H`](/docs/de/env-vars)1274* **Sitzungsübergreifende Außerkraftsetzungen**: [`FORCE_PROMPT_CACHING_5M`](/docs/de/env-vars) hat Vorrang vor allem anderen, dann [`CLAUDE_CODE_PROMPT_CACHE_TTL`](/docs/de/env-vars), dann dieser Schlüssel, und zuletzt [`ENABLE_PROMPT_CACHING_1H`](/docs/de/env-vars)

1271 1275 

1272Dieses Beispiel hält die Hauptkonversation bei der einstündigen Lebensdauer und lässt Subagenten bei fünf Minuten:1276Dieses Beispiel hält die Hauptkonversation auf der Einstunden-Lebensdauer und lässt Subagents auf fünf Minuten:

1273 1277 

1274```json settings.json theme={null}1278```json settings.json theme={null}

1275{1279{


1284 `showThinkingSummaries`1288 `showThinkingSummaries`

1285</h3>1289</h3>

1286 1290 

1287Sehen Sie Zusammenfassungen von Claudes [erweitertem Denken](/docs/de/model-config#extended-thinking) in interaktiven Sitzungen. Setzen Sie es, wenn Sie die vollständigen Zusammenfassungen möchten, wenn Sie das Denken mit `Ctrl+O` erweitern. Wenn nicht gesetzt oder `false`, redigiert die Anthropic API Denk-Blöcke und Claude Code zeigt einen zusammengefassten Stub; Drittanbieter-Provider redigieren nicht.1291Sehen Sie Zusammenfassungen von Claudes [erweitertem Denken](/docs/de/model-config#extended-thinking) in interaktiven Sitzungen. Setzen Sie es, wenn Sie die vollständigen Zusammenfassungen möchten, wenn Sie das Denken mit `Ctrl+O` erweitern. Wenn nicht gesetzt oder `false`, redaktioniert die Anthropic API Denk-Blöcke und Claude Code zeigt einen zusammengefassten Stub; Drittanbieter-Provider redaktionieren nicht.

1288 1292 

1289* **Bereich**: [`Beliebige Datei`](#scopes)1293* **Bereich**: [`Beliebige Datei`](#scopes)

1290* **Typ**: Boolean1294* **Typ**: Boolean

1291 * `true`: Sie sehen vollständige Denk-Zusammenfassungen, wenn Sie das Denken mit `Ctrl+O` erweitern1295 * `true`: Sie sehen vollständige Denk-Zusammenfassungen, wenn Sie das Denken mit `Ctrl+O` erweitern

1292 * `false`: die Anthropic API redigiert Denk-Blöcke und Claude Code zeigt einen zusammengefassten Stub1296 * `false`: die Anthropic API redaktioniert Denk-Blöcke und Claude Code zeigt einen zusammengefassten Stub

1293* **Standard**: `false`1297* **Standard**: `false`

1294 1298 

1295```json settings.json theme={null}1299```json settings.json theme={null}


1304 `subagentPromptCacheTtl`1308 `subagentPromptCacheTtl`

1305</h3>1309</h3>

1306 1310 

1307Wählen Sie, wie lange der [Prompt-Cache](/docs/de/prompt-caching) die Anfragen hält, die Claude Code außerhalb der Hauptkonversation macht. Dieser Schlüssel gilt für [Subagenten](/docs/de/sub-agents), [Workflows](/docs/de/workflows) und Claudes eigene Hintergrund- und Hilfsanfragen, wie Komprimierung und Sitzungstitel. Die einstündige Lebensdauer hält den Cache über längere Pausen warm, und die API [berechnet jeden Cache-Schreibvorgang zu einem höheren Satz](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) als bei der fünf-Minuten-Lebensdauer. Erfordert Claude Code v2.1.242 oder später.1311Wählen Sie, wie lange der [Prompt-Cache](/docs/de/prompt-caching) die Anfragen hält, die Claude Code außerhalb der Hauptkonversation macht. Dieser Schlüssel gilt für [Subagents](/docs/de/sub-agents), [Workflows](/docs/de/workflows) und Claudes eigene Hintergrund- und Hilfsanfragen, wie Komprimierung und Sitzungstitel. Die Einstunden-Lebensdauer hält den Cache über längere Pausen warm, und die API [berechnet jeden Cache-Schreibvorgang zu einem höheren Satz](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) als bei der Fünf-Minuten-Lebensdauer. Erfordert Claude Code v2.1.242 oder später.

1308 1312 

1309* **Bereich**: [`Beliebige Datei`](#scopes)1313* **Bereich**: [`Beliebige Datei`](#scopes)

1310* **Typ**: String, einer von:1314* **Typ**: String, einer von:

1311 * `"5m"`: der Cache hält für fünf Minuten1315 * `"5m"`: der Cache hält für fünf Minuten

1312 * `"1h"`: der Cache hält für eine Stunde1316 * `"1h"`: der Cache hält für eine Stunde

1313* **Standard**: nicht gesetzt, daher erhält jede dieser Anfragen [ihre Standard-Lebensdauer](/docs/de/prompt-caching#which-ttl-each-request-gets)1317* **Standard**: nicht gesetzt, daher erhält jede dieser Anfragen [ihre Standard-Lebensdauer](/docs/de/prompt-caching#which-ttl-each-request-gets)

1314* **Sitzungsübergreifende Überschreibungen**: [`FORCE_PROMPT_CACHING_5M`](/docs/de/env-vars) hat Vorrang vor allem anderen, dann [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](/docs/de/env-vars), dann dieser Schlüssel, dann [`ENABLE_PROMPT_CACHING_1H`](/docs/de/env-vars), das die einstündige Lebensdauer bei jeder Anfrage anfordert. Für wo ein Wert der Frontmatter eines Subagenten rangiert, siehe [Wählen Sie die TTL selbst](/docs/de/prompt-caching#choose-the-ttl-yourself)1318* **Sitzungsübergreifende Außerkraftsetzungen**: [`FORCE_PROMPT_CACHING_5M`](/docs/de/env-vars) hat Vorrang vor allem anderen, dann [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](/docs/de/env-vars), dann dieser Schlüssel, dann [`ENABLE_PROMPT_CACHING_1H`](/docs/de/env-vars), das die Einstunden-Lebensdauer bei jeder Anfrage anfordert. Für wo der Wert der eigenen Frontmatter eines Subagents rangiert, siehe [Wählen Sie die TTL selbst](/docs/de/prompt-caching#choose-the-ttl-yourself)

1315 1319 

1316Dieses Beispiel gibt Subagenten und den anderen Anfragen außerhalb der Hauptkonversation die einstündige Lebensdauer:1320Dieses Beispiel gibt Subagents und den anderen Anfragen außerhalb der Hauptkonversation die Einstunden-Lebensdauer:

1317 1321 

1318```json settings.json theme={null}1322```json settings.json theme={null}

1319{1323{


1321}1325}

1322```1326```

1323 1327 

1324Dieser Schlüssel deckt die Anfragen ab, die [`promptCacheTtl`](#promptcachettl) nicht abdeckt, daher setzen Sie beide, um eine Lebensdauer für jede Anfrage zu wählen, die Claude Code macht. Für wie sich der Cache eines Subagenten vom Cache der Hauptkonversation unterscheidet, siehe [Subagenten und der Cache](/docs/de/prompt-caching#subagents-and-the-cache).1328Dieser Schlüssel deckt die Anfragen ab, die [`promptCacheTtl`](#promptcachettl) nicht abdeckt, daher setzen Sie beide, um eine Lebensdauer für jede Anfrage zu wählen, die Claude Code macht. Für wie sich der Cache eines Subagents vom Cache der Hauptkonversation unterscheidet, siehe [Subagents und der Cache](/docs/de/prompt-caching#subagents-and-the-cache).

1325 1329 

1326<h3 id="switchmodelsonflag">1330<h3 id="switchmodelsonflag">

1327 `switchModelsOnFlag`1331 `switchModelsOnFlag`

1328</h3>1332</h3>

1329 1333 

1330Wählen Sie, was passiert, wenn ein [Sicherheitsklassifizierer eine Anfrage kennzeichnet](/docs/de/model-config#automatic-model-fallback): zum Fallback-Modell wechseln und fortfahren, oder pausieren, damit Sie zwischen Wechsel und Bearbeitung der Aufforderung wählen können.1334Wählen Sie, was passiert, wenn ein [Sicherheits-Klassifizierer eine Anfrage kennzeichnet](/docs/de/model-config#automatic-model-fallback): zum Fallback-Modell wechseln und fortfahren, oder pausieren, damit Sie zwischen Wechsel und Bearbeitung der Eingabeaufforderung wählen können.

1331 1335 

1332* **Bereich**: [`Beliebige Datei`](#scopes). Erscheint in `/config` als **Modelle wechseln, wenn eine Nachricht gekennzeichnet wird**.1336* **Bereich**: [`Beliebige Datei`](#scopes). Erscheint in `/config` als **Modelle wechseln, wenn eine Nachricht gekennzeichnet ist**.

1333* **Typ**: Boolean1337* **Typ**: Boolean

1334 * `true`: Claude Code wechselt zum Fallback-Modell und fährt fort1338 * `true`: Claude Code wechselt zum Fallback-Modell und fährt fort

1335 * `false`: in einer interaktiven Sitzung pausiert Claude Code, damit Sie zwischen Wechsel und Bearbeitung der Aufforderung wählen können; wo kein Dialog angezeigt werden kann, wie ein `-p`-Lauf, endet die gekennzeichnete Anfrage als Fehler1339 * `false`: in einer interaktiven Sitzung pausiert Claude Code, damit Sie zwischen Wechsel und Bearbeitung der Eingabeaufforderung wählen können; wo kein Dialog angezeigt werden kann, wie ein `-p`-Lauf, endet die gekennzeichnete Anfrage als Fehler

1336* **Standard**: `true`, automatisch wechseln1340* **Standard**: `true`, automatisch wechseln

1337 1341 

1338```json settings.json theme={null}1342```json settings.json theme={null}


1347 `ultracode`1351 `ultracode`

1348</h3>1352</h3>

1349 1353 

1350Starten Sie Sitzungen mit [Ultracode](/docs/de/workflows#let-claude-decide-with-ultracode) an. Mit ihm an, plant Claude einen Workflow für jede wesentliche Aufgabe, anstatt auf Sie zu warten, um zu fragen. Claude plant Workflows nur, wenn [dynamische Workflows](/docs/de/workflows) für Sie aktiviert sind, Ihr Modell `xhigh`-Anstrengung unterstützt, und kein [Anstrengungslimit](/docs/de/model-config#organization-effort-limits) unter `xhigh` gilt. Wie auch immer, `ultracode: true` führt die Sitzung bei `xhigh`-Anstrengung aus, oder bei der Obergrenze, wenn ein Anstrengungslimit niedriger ist. Claude Code liest diesen Schlüssel, schreibt ihn aber nie: `/effort ultracode` schaltet Ultracode nur für die aktuelle Sitzung ein.1354Starten Sie Sitzungen mit [Ultracode](/docs/de/workflows#let-claude-decide-with-ultracode) an. Mit ihm an, plant Claude einen Workflow für jede wesentliche Aufgabe, anstatt auf Sie zu warten, um zu fragen. Claude plant Workflows nur, wenn [dynamische Workflows](/docs/de/workflows) für Sie aktiviert sind, Ihr Modell `xhigh`-Aufwand unterstützt und kein [Aufwandslimit](/docs/de/model-config#organization-effort-limits) unter `xhigh` gilt. Auf jeden Fall läuft `ultracode: true` die Sitzung auf `xhigh`-Aufwand oder bei der Obergrenze, wenn ein Aufwandslimit niedriger ist. Claude Code liest diesen Schlüssel, schreibt ihn aber nie: `/effort ultracode` aktiviert Ultracode nur für die aktuelle Sitzung.

1351 1355 

1352* **Bereich**: [`Beliebige Datei`](#scopes)1356* **Bereich**: [`Beliebige Datei`](#scopes)

1353* **Typ**: Boolean1357* **Typ**: Boolean

1354 * `true`: Sitzungen starten bei `xhigh`-Anstrengung, mit Ultracode an, wenn dynamische Workflows für Sie aktiviert sind, Ihr Modell `xhigh` unterstützt, und kein Anstrengungslimit unter `xhigh` gilt1358 * `true`: Sitzungen starten auf `xhigh`-Aufwand, mit Ultracode an, wenn dynamische Workflows für Sie aktiviert sind, Ihr Modell `xhigh` unterstützt und kein Aufwandslimit unter `xhigh` ist

1355 * `false`: Sitzungen starten mit Ultracode aus1359 * `false`: Sitzungen starten mit Ultracode aus

1356* **Standard**: nicht gesetzt, daher ist Ultracode aus1360* **Standard**: nicht gesetzt, daher ist Ultracode aus

1357* **Sitzungsübergreifende Überschreibungen**: `/effort ultracode` schaltet Ultracode für eine Sitzung ohne diesen Schlüssel ein. Das tut auch `--effort ultracode`, das Claude Code v2.1.203 oder später erfordert1361* **Sitzungsübergreifende Außerkraftsetzungen**: `/effort ultracode` aktiviert Ultracode für eine Sitzung ohne diesen Schlüssel. Das Flag `--effort ultracode` aktiviert es auch für eine Sitzung und erfordert Claude Code v2.1.203 oder später

1358 1362 

1359```json settings.json theme={null}1363```json settings.json theme={null}

1360{1364{


1362}1366}

1363```1367```

1364 1368 

1365Ultracode führt die Sitzung bei `xhigh`-Anstrengung aus und hat Vorrang vor `effortLevel` und [`modelSettings`](#modelsettings)-Einträgen. Wenn ein [Anstrengungslimit](/docs/de/model-config#organization-effort-limits) unter `xhigh` auf das Modell zutrifft, wie eine [`maxEffortLevel`](#maxeffortlevel)-Einstellung, führt die Sitzung stattdessen bei der Obergrenze aus und Ultracode bleibt aus. Claude plant dann keine Workflows von selbst, und `/effort` bietet nicht `ultracode`. Eine Agent SDK `apply_flag_settings`-Steueranfrage akzeptiert auch den Schlüssel.1369Ultracode läuft die Sitzung auf `xhigh`-Aufwand und hat Vorrang vor `effortLevel` und [`modelSettings`](#modelsettings)-Einträgen. Wenn ein [Aufwandslimit](/docs/de/model-config#organization-effort-limits) unter `xhigh` auf das Modell anwendet, wie eine [`maxEffortLevel`](#maxeffortlevel)-Einstellung, läuft die Sitzung stattdessen bei der Obergrenze und Ultracode bleibt aus. Claude plant dann keine Workflows von selbst, und `/effort` bietet nicht `ultracode` an. Eine Agent SDK `apply_flag_settings`-Kontrollabfrage akzeptiert auch den Schlüssel.

1366 1370 

1367<h2 id="permission-settings">1371<h2 id="permission-settings">

1368 Berechtigungseinstellungen1372 Berechtigungseinstellungen


1839 `sandbox.excludedCommands`1843 `sandbox.excludedCommands`

1840</h3>1844</h3>

1841 1845 

1842Benennen Sie Befehle, die Claude Code immer außerhalb der Sandbox ausführt, z. B. Tools, die nicht darunter funktionieren. Jeder Eintrag verwendet die gleiche Syntax wie der Inhalt einer `Bash(...)`-[Berechtigungsregel](/docs/de/permissions#permission-rule-syntax): ein exakter Befehl, ein Präfix wie `docker *` oder ein Wildcard-Muster. Wenn ein Teil eines zusammengesetzten Befehls mit einem Eintrag übereinstimmt, führt Claude Code den gesamten Befehl unsandboxed aus.1846Benennen Sie Befehle, die Claude Code außerhalb der Sandbox ausführt, z. B. Tools, die nicht darunter funktionieren. Jeder Eintrag verwendet die gleiche Syntax wie der Inhalt einer `Bash(...)`-[Berechtigungsregel](/docs/de/permissions#permission-rule-syntax): ein exakter Befehl, ein Präfix wie `docker *` oder ein Wildcard-Muster.

1847 

1848Ihre Einträge nehmen einen Bash-Aufruf aus der Sandbox nur heraus, wenn sie jeden Befehl darin abdecken, und einige Aufrufformen bleiben auch dann sandboxed. Ein `docker *`-Eintrag allein nimmt `npm ci && docker build .` nicht aus der Sandbox heraus.

1843 1849 

1844* **Bereich**: [`Any file`](#scopes)1850* **Bereich**: [`Any file`](#scopes)

1845* **Typ**: Array von Befehlsmustern1851* **Typ**: Array von Befehlsmustern


1853}1859}

1854```1860```

1855 1861 

1862Claude Code hält einen Bash-Aufruf sandboxed, wenn er eine dieser Formen hat, unter anderem:

1863 

1864* Ein Befehl, der mit `sudo`, `eval` oder `xargs` beginnt

1865* Ein `cd`, `pushd` oder `popd`, überall wo es im Aufruf erscheint

1866* Eine Befehlsersetzung, eine Subshell oder ein Kontrollfluss-Block wie `if` oder `for`

1867* Eine Umleitung, wie `docker build . > build.log`, außer einer, die nur einen Dateideskriptor dupliziert, wie `2>&1` es tut

1868* Ein Befehlsname, der aus einer Variable kommt

1869 

1870Zum Beispiel bleibt `cd build && docker compose up` unter einem `docker *`-Eintrag sandboxed, und das Hinzufügen eines `cd`-Eintrags ändert das nicht.

1871 

1856Ausgeschlossene Befehle durchlaufen weiterhin den regulären Berechtigungsfluss. Ausschluss ist eine Bequemlichkeit, keine Sicherheitsgrenze: bevorzugen Sie [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite), wenn ein Tool nur an einer bestimmten Stelle schreiben muss. Claude Code führt Einträge über jeden Einstellungsbereich zusammen, den die Sitzung lädt, und es gibt keine verwaltete Sperre für diese Liste, daher halten Sie eine verwaltete Liste eng.1872Ausgeschlossene Befehle durchlaufen weiterhin den regulären Berechtigungsfluss. Ausschluss ist eine Bequemlichkeit, keine Sicherheitsgrenze: bevorzugen Sie [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite), wenn ein Tool nur an einer bestimmten Stelle schreiben muss. Claude Code führt Einträge über jeden Einstellungsbereich zusammen, den die Sitzung lädt, und es gibt keine verwaltete Sperre für diese Liste, daher halten Sie eine verwaltete Liste eng.

1857 1873 

1858<h3 id="sandbox-allowunsandboxedcommands">1874<h3 id="sandbox-allowunsandboxedcommands">


1905}1921}

1906```1922```

1907 1923 

1908Claude Code erzwingt diese Listen an der OS-Sandbox-Grenze, daher gelten sie für jeden Unterprozess, den ein sandboxed Befehl startet, z. B. `kubectl`, `terraform` oder `npm`, nicht nur für Claudes Datei-Tools. Claude Code fügt Ihre [Berechtigungsregeln](/docs/de/sandboxing#permission-rules) zu den gleichen Listen hinzu: `Edit`-Zulassungs- und Ablehnungsregeln zu `allowWrite` und `denyWrite`, `Read`-Ablehnungsregeln zu `denyRead` und `WebFetch(domain:...)`-Zulassungs- und Ablehnungsregeln zu den [`network`](#sandbox-network)-Domänenlisten.1924Claude Code erzwingt diese Listen an der OS-Sandbox-Grenze, daher gelten sie für jeden Unterprozess, den ein sandboxed Befehl startet, z. B. `kubectl`, `terraform` oder `npm`. Claude Code fügt Ihre [Berechtigungsregeln](/docs/de/sandboxing#permission-rules) zu den gleichen Listen hinzu: `Edit`-Zulassungs- und Ablehnungsregeln zu `allowWrite` und `denyWrite`, `Read`-Ablehnungsregeln zu `denyRead` und `WebFetch(domain:...)`-Zulassungs- und Ablehnungsregeln zu den [`network`](#sandbox-network)-Domänenlisten.

1909 1925 

1910Sofern keine verwaltete Sperre gesetzt ist, führt Claude Code jede Liste über die Einstellungsdateien zusammen, die die Sitzung lädt. [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) beschränkt `allowRead` auf Einträge aus verwalteten Einstellungen, und [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) macht dasselbe für zulässige Domänen.1926Sofern keine verwaltete Sperre gesetzt ist, führt Claude Code jede Liste über die Einstellungsdateien zusammen, die die Sitzung lädt. [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) beschränkt `allowRead` auf Einträge aus verwalteten Einstellungen, und [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) macht dasselbe für zulässige Domänen.

1911 1927 


3066 `taskOutputMaxChars`3082 `taskOutputMaxChars`

3067</h3>3083</h3>

3068 3084 

3069Legen Sie fest, wie viele Zeichen der [Ausgabe einer Hintergrundaufgabe](/docs/de/tools-reference#background-commands) Claude inline erhält, wenn Claude die Aufgabe mit dem `TaskOutput`-Tool liest. Wenn die Ausgabe einer abgeschlossenen Aufgabe länger ist, erhält Claude die neuesten Zeichen. Erhöhen Sie das Limit, wenn Ihre Hintergrundaufgaben routinemäßig mehr Ausgabe als das Standard-Limit erzeugen. Erfordert Claude Code v2.1.261 oder später.3085<Warning>

3070 3086 Entfernt in v2.1.277, zusammen mit dem `TaskOutput`-Tool, das es dimensioniert. Das Setzen hat keine Auswirkung auf aktuelle Versionen. Claude liest eine [Ausgabedatei](/docs/de/tools-reference#background-commands) einer Hintergrundaufgabe stattdessen mit `Read`.

3071* **Bereich**: [`Any file`](#scopes)3087</Warning>

3072* **Typ**: Anzahl der Zeichen, eine positive ganze Zahl. Claude Code begrenzt den Wert auf den Bereich `4000` bis `128000`

3073* **Standard**: nicht gesetzt, daher erhält Claude bis zu 32.000 Zeichen inline

3074 

3075```json settings.json theme={null}

3076{

3077 "taskOutputMaxChars": 100000

3078}

3079```

3080 3088 

3081Wenn Sie diesen Schlüssel setzen, ignoriert Claude Code die Umgebungsvariable [`TASK_MAX_OUTPUT_LENGTH`](/docs/de/env-vars).3089Bis v2.1.276 setzen Sie diesen Schlüssel auf die Anzahl der Zeichen einer [Hintergrundaufgabe](/docs/de/tools-reference#background-commands) Ausgabe, die Claude inline erhielt, wenn es die Aufgabe mit dem `TaskOutput`-Tool las.

3082 3090 

3083<h2 id="interface-and-terminal">3091<h2 id="interface-and-terminal">

3084 Schnittstelle und Terminal3092 Schnittstelle und Terminal


3994 4002 

3995Um alle Zuordnungen auszublenden, setzen Sie [`commit`](#attribution-commit) und [`pr`](#attribution-pr) auf leere Zeichenketten und [`sessionUrl`](#attribution-sessionurl) auf `false`. Sobald Sie `commit` oder `pr` setzen, ignoriert Claude Code die veraltete Einstellung `includeCoAuthoredBy` und verwendet seinen Standard-Text für denjenigen der beiden, den Sie nicht gesetzt haben.4003Um alle Zuordnungen auszublenden, setzen Sie [`commit`](#attribution-commit) und [`pr`](#attribution-pr) auf leere Zeichenketten und [`sessionUrl`](#attribution-sessionurl) auf `false`. Sobald Sie `commit` oder `pr` setzen, ignoriert Claude Code die veraltete Einstellung `includeCoAuthoredBy` und verwendet seinen Standard-Text für denjenigen der beiden, den Sie nicht gesetzt haben.

3996 4004 

4005Claude Code teilt Claude mit, dass Ihre eigenen Anweisungen zur Zuordnung, wie eine CLAUDE.md oder [Memory](/docs/de/memory)-Regel, Vorrang vor diesen Commit- und PR-Zeilen haben, es sei denn, die Zeile ist in [verwalteten Einstellungen](/docs/de/managed-settings) gesetzt.

4006 

3997<h3 id="includecoauthoredby">4007<h3 id="includecoauthoredby">

3998 `includeCoAuthoredBy`4008 `includeCoAuthoredBy`

3999</h3>4009</h3>


4022 `includeGitInstructions`4032 `includeGitInstructions`

4023</h3>4033</h3>

4024 4034 

4025Beim Sitzungsstart fügt Claude Code zwei Git-bezogene Teile zu Claude's Prompt hinzu: seine integrierten Anweisungen zum Schreiben von Commits und Pull Requests in der Beschreibung des Bash-Tools und einen Git-Status-Snapshot Ihres Repositorys im System-Prompt, d. h. den aktuellen Branch, den Haupt-Branch, die Ausgabe von `git status` und aktuelle Commits. Setzen Sie diesen Schlüssel auf `false`, um beide auszulassen, zum Beispiel wenn Sie Ihre eigenen Git-Workflow-Skills verwenden.4035Claude Code gibt Claude zwei Git-bezogene Kontextteile: seine integrierten Anweisungen zum Schreiben von Commits und Pull Requests in der Bash-Tool-Beschreibung und einen Git-Status-Snapshot Ihres Repositorys. Der Snapshot enthält den aktuellen Branch, den Haupt-Branch, die Ausgabe von `git status` und aktuelle Commits. Claude Code liest ihn, wenn eine Konversation beginnt.

4036 

4037Setzen Sie diesen Schlüssel auf `false`, um beide auszulassen, zum Beispiel wenn Sie Ihre eigenen Git-Workflow-Skills verwenden.

4026 4038 

4027* **Bereich**: [`Any file`](#scopes)4039* **Bereich**: [`Any file`](#scopes)

4028* **Typ**: Boolean4040* **Typ**: Boolean


4627| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` erforderlich; `ref` ist ein Branch oder Tag; `path` ist ein Unterverzeichnis |4639| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` erforderlich; `ref` ist ein Branch oder Tag; `path` ist ein Unterverzeichnis |

4628| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` erforderlich; `ref` und `path` wie für `github` |4640| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` erforderlich; `ref` und `path` wie für `github` |

4629| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` erforderlich; `headers` fügt HTTP-Header für authentifizierten Zugriff hinzu |4641| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` erforderlich; `headers` fügt HTTP-Header für authentifizierten Zugriff hinzu |

4630| `npm` | `{ "source": "npm", "package": "@acme-corp/claude-plugins" }` | `package` erforderlich, das npm-Paket, das `marketplace.json` enthält |

4631| `file` | `{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" }` | `path` erforderlich, der absolute Pfad zu einer `marketplace.json` Datei |4642| `file` | `{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" }` | `path` erforderlich, der absolute Pfad zu einer `marketplace.json` Datei |

4632| `directory` | `{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" }` | `path` erforderlich, der absolute Pfad zu einem Verzeichnis, das `.claude-plugin/marketplace.json` enthält |4643| `directory` | `{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" }` | `path` erforderlich, der absolute Pfad zu einem Verzeichnis, das `.claude-plugin/marketplace.json` enthält |

4633| `hostPattern` | `{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }` | `hostPattern` erforderlich, ein Regex, das gegen den Marketplace-Host abgeglichen wird |4644| `hostPattern` | `{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }` | `hostPattern` erforderlich, ein Regex, das gegen den Marketplace-Host abgeglichen wird |


5940Verhindern Sie, dass Hintergrund-Autoupdates und `claude update` eine Version unterhalb dieser installieren, damit ein Wechsel zum `"stable"` Kanal Sie nicht von einem neueren `"latest"` Build herabstuft. Claude Code schreibt diesen Schlüssel für Sie, wenn Sie sich entscheiden, bei Ihrer aktuellen Version zu bleiben, während Sie Kanäle in `/config` wechseln, und löscht ihn, wenn Sie zurück zu `"latest"` wechseln.5951Verhindern Sie, dass Hintergrund-Autoupdates und `claude update` eine Version unterhalb dieser installieren, damit ein Wechsel zum `"stable"` Kanal Sie nicht von einem neueren `"latest"` Build herabstuft. Claude Code schreibt diesen Schlüssel für Sie, wenn Sie sich entscheiden, bei Ihrer aktuellen Version zu bleiben, während Sie Kanäle in `/config` wechseln, und löscht ihn, wenn Sie zurück zu `"latest"` wechseln.

5941 5952 

5942* **Bereich**: [`Any file`](#scopes). Legen Sie es in verwalteten Einstellungen fest, um ein organisationsweites Minimum zu fixieren, das Benutzer- und Projekteinstellungen nicht senken können.5953* **Bereich**: [`Any file`](#scopes). Legen Sie es in verwalteten Einstellungen fest, um ein organisationsweites Minimum zu fixieren, das Benutzer- und Projekteinstellungen nicht senken können.

5943* **Typ**: string, eine Versionsnummer wie `"2.1.100"`5954* **Typ**: string, eine Versionsnummer wie `"2.1.100"`; ein Wert, der keine gültige Version ist, wird ignoriert

5944* **Standard**: nicht gesetzt, daher können Aktualisierungen jede Version installieren, die der Kanal anbietet5955* **Standard**: nicht gesetzt, daher können Aktualisierungen jede Version installieren, die der Kanal anbietet

5945 5956 

5946Dieses Beispiel folgt dem stabilen Kanal und weigert sich, eine Version unterhalb von 2.1.100 zu installieren:5957Dieses Beispiel folgt dem stabilen Kanal und weigert sich, eine Version unterhalb von 2.1.100 zu installieren:

skills.md +10 −6

Details

145 145 

146Claude Code lädt Projekt-Skills aus `.claude/skills/` in dem Verzeichnis, in dem Sie ihn starten, und in jedem übergeordneten Verzeichnis bis zur Repository-Root, sodass das Starten in `packages/frontend/` immer noch Skills aufgreift, die in der Root definiert sind. Wenn Sie [die Sitzung mit `/cd`](/docs/de/permissions#move-the-session-to-another-directory) auf v2.1.246 oder später verschieben, fügt Claude Code die Projekt-Skills des neuen Verzeichnisses hinzu.146Claude Code lädt Projekt-Skills aus `.claude/skills/` in dem Verzeichnis, in dem Sie ihn starten, und in jedem übergeordneten Verzeichnis bis zur Repository-Root, sodass das Starten in `packages/frontend/` immer noch Skills aufgreift, die in der Root definiert sind. Wenn Sie [die Sitzung mit `/cd`](/docs/de/permissions#move-the-session-to-another-directory) auf v2.1.246 oder später verschieben, fügt Claude Code die Projekt-Skills des neuen Verzeichnisses hinzu.

147 147 

148In einer verknüpften [Git Worktree](/docs/de/worktrees) sucht Claude Code übergeordnete Verzeichnisse nur bis zur Worktree-Root. Auf Claude Code v2.1.277 oder später lädt Claude Code, wenn der Worktree-Checkout kein `.claude/skills`-Verzeichnis in seiner Root hat, stattdessen die Projekt-Skills des Haupt-Checkouts. Siehe [Was Worktrees mit dem Haupt-Checkout teilen](/docs/de/worktrees#what-worktrees-share-with-the-main-checkout).

149 

148Skills in einem `.claude/skills/`-Verzeichnis unter dem Ort, an dem Sie gestartet haben, werden beim Start nicht geladen. Sie werden geladen, wenn Claude zum ersten Mal eine Datei in diesem Unterverzeichnis liest oder bearbeitet, und bleiben für den Rest der Sitzung verfügbar. Bis dahin erscheinen sie nicht im `/`-Menü und Sie können sie nicht nach Name aufrufen. Um sie früher zu laden, führen Sie `/add-dir` mit dem Pfad des Unterverzeichnisses aus, was Claude Code v2.1.257 oder später erfordert.150Skills in einem `.claude/skills/`-Verzeichnis unter dem Ort, an dem Sie gestartet haben, werden beim Start nicht geladen. Sie werden geladen, wenn Claude zum ersten Mal eine Datei in diesem Unterverzeichnis liest oder bearbeitet, und bleiben für den Rest der Sitzung verfügbar. Bis dahin erscheinen sie nicht im `/`-Menü und Sie können sie nicht nach Name aufrufen. Um sie früher zu laden, führen Sie `/add-dir` mit dem Pfad des Unterverzeichnisses aus, was Claude Code v2.1.257 oder später erfordert.

149 151 

150Wenn ein verschachtelter Skill denselben Namen wie ein anderer Skill hat, bleiben beide verfügbar. Mit einem `deploy`-Skill in der Repository-Root und einem anderen in `apps/web/.claude/skills/`:152Wenn ein verschachtelter Skill denselben Namen wie ein anderer Skill hat, bleiben beide verfügbar. Mit einem `deploy`-Skill in der Repository-Root und einem anderen in `apps/web/.claude/skills/`:


186Wenn ein Skill nur in `~/.claude/skills/` auf Ihrer Maschine vorhanden ist, meldet Claude Code, dass der Skill nicht gefunden wurde, wenn eine [Routine](/docs/de/routines) ihn aufruft, da jede Routine-Ausführung als frische Cloud-Sitzung startet. Um einen persönlichen Skill in diesen Sitzungen verfügbar zu machen:188Wenn ein Skill nur in `~/.claude/skills/` auf Ihrer Maschine vorhanden ist, meldet Claude Code, dass der Skill nicht gefunden wurde, wenn eine [Routine](/docs/de/routines) ihn aufruft, da jede Routine-Ausführung als frische Cloud-Sitzung startet. Um einen persönlichen Skill in diesen Sitzungen verfügbar zu machen:

187 189 

188* Für Cowork- und Cloud-Sitzungen aktivieren Sie den Skill für Ihr claude.ai-Konto.190* Für Cowork- und Cloud-Sitzungen aktivieren Sie den Skill für Ihr claude.ai-Konto.

189* Für Cloud-Sitzungen können Sie den Skill stattdessen in `.claude/skills/` des Repositorys committen oder ihn in einem Plugin versenden, das in `.claude/settings.json` des Repositorys deklariert ist. Im Repository deklarierte Plugins [installieren beim Sitzungsstart](/docs/de/cloud-environments#what-carries-over-from-your-setup); Plugins, die nur in Ihren Benutzereinstellungen aktiviert sind, werden nicht übertragen.191* Für Cloud-Sitzungen können Sie den Skill stattdessen in `.claude/skills/` des Repositorys committen. Plugins, die in `.claude/settings.json` des Repositorys deklariert sind, [werden beim Sitzungsstart geladen](/docs/de/cloud-environments#what-carries-over-from-your-setup); Plugins, die nur in Ihren Benutzereinstellungen aktiviert sind, werden nicht übertragen.

190 192 

191[Desktop-geplante Aufgaben](/docs/de/desktop-scheduled-tasks) werden lokal auf Ihrer Maschine ausgeführt, daher laden sie `~/.claude/skills/`.193[Desktop-geplante Aufgaben](/docs/de/desktop-scheduled-tasks) werden lokal auf Ihrer Maschine ausgeführt, daher laden sie `~/.claude/skills/`.

192 194 


219 221 

220Skills, die eine frühere Sitzung synchronisiert hat, bleiben auf der Festplatte. Claude Code lädt sie in späteren Sitzungen, die sich mit demselben Konto anmelden, auch wenn es claude.ai nicht erreichen kann.222Skills, die eine frühere Sitzung synchronisiert hat, bleiben auf der Festplatte. Claude Code lädt sie in späteren Sitzungen, die sich mit demselben Konto anmelden, auch wenn es claude.ai nicht erreichen kann.

221 223 

224Claude Code lädt synchronisierte Skills herunter und lädt sie nie hoch. Wenn Sie oder Claude eine Datei unter `~/.claude/skills/synced/` bearbeiten, wird die Änderung nicht in Ihrem claude.ai-Konto gespeichert, und eine spätere Synchronisierung kann sie überschreiben oder entfernen. Um einen synchronisierten Skill zu ändern, aktualisieren Sie ihn auf claude.ai; die nächste Synchronisierung lädt die neue Version herunter.

225 

222Um zu sehen, welche Skills synchronisiert wurden, führen Sie `/skills` aus. Das Menü listet sie unter `claude.ai sync` auf.226Um zu sehen, welche Skills synchronisiert wurden, führen Sie `/skills` aus. Das Menü listet sie unter `claude.ai sync` auf.

223 227 

224Einige von Anthropics Skills, wie `pdf` und `xlsx`, werden immer synchronisiert. Für die übrigen aktivieren oder deaktivieren Sie einen Skill in Ihren Skill-Einstellungen auf claude.ai, um zu ändern, ob er synchronisiert wird.228Einige von Anthropics Skills, wie `pdf` und `xlsx`, werden immer synchronisiert. Für die übrigen aktivieren oder deaktivieren Sie einen Skill in Ihren Skill-Einstellungen auf claude.ai, um zu ändern, ob er synchronisiert wird.


335 Frontmatter-Referenz339 Frontmatter-Referenz

336</h3>340</h3>

337 341 

338Über den Markdown-Inhalt hinaus können Sie das Verhalten von Fähigkeiten mithilfe von YAML-Frontmatter-Feldern zwischen `---`-Markierungen am Anfang Ihrer `SKILL.md`-Datei konfigurieren:342Konfigurieren Sie eine Fähigkeit mit YAML-[Frontmatter](/docs/de/glossary#frontmatter) zwischen `---`-Markierungen am Anfang von `SKILL.md`, und schreiben Sie die Anweisungen der Fähigkeit als Markdown nach dem schließenden `---`. Feldnamen verwenden Kleinbuchstaben-Wörter, die durch Bindestriche getrennt sind, außer `when_to_use`. Eine [Befehlsdatei](#where-skills-live) in `.claude/commands/` akzeptiert die gleichen Felder außer `name` und `paths`. Dieses Beispiel setzt vier Felder:

339 343 

340```yaml theme={null}344```yaml theme={null}

341---345---


348Your skill instructions here...352Your skill instructions here...

349```353```

350 354 

351Alle Felder sind optional. Nur `description` wird empfohlen, damit Claude weiß, wann die Fähigkeit verwendet werden soll.355Alle 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.

352 356 

353Claude 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.357Claude 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.

354 358 

355Boolesche 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`.359Boolesche 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`.

356 360 


388| Claude Code-Fähigkeiten auf [beliebiger Ebene](#where-skills-live), einschließlich [Plugin](/docs/de/plugins)-Fähigkeiten | Jedes Feld in der obigen Tabelle |392| Claude Code-Fähigkeiten auf [beliebiger Ebene](#where-skills-live), einschließlich [Plugin](/docs/de/plugins)-Fähigkeiten | Jedes Feld in der obigen Tabelle |

389| claude.ai-Fähigkeits-Uploads, die Skills-API und Verpackung mit `package_skill.py` aus [anthropics/skills](https://github.com/anthropics/skills) | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` |393| claude.ai-Fähigkeits-Uploads, die Skills-API und Verpackung mit `package_skill.py` aus [anthropics/skills](https://github.com/anthropics/skills) | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` |

390 394 

391Wenn Sie eine persönliche Fähigkeit für [Cowork- und Cloud-Sitzungen](#skills-in-cowork-and-cloud-sessions) aktivieren, einschließlich Routinen, laden Sie sie auf claude.ai hoch, sodass die gleichen Regeln gelten.395Wenn Sie eine persönliche Fähigkeit für Ihr claude.ai-Konto aktivieren, um sie beispielsweise in [Cowork- und Cloud-Sitzungen](#skills-in-cowork-and-cloud-sessions) und Routinen zu verwenden, laden Sie sie auf claude.ai hoch, sodass die gleichen Regeln gelten.

392 396 

393Wenn Sie ein Feld einbeziehen, das die Spezifikation nicht zulässt, schlägt die Verpackung oder der Upload mit einem schwerwiegenden Fehler fehl, anstatt das Feld zu ignorieren:397Wenn Sie ein Feld einbeziehen, das die Spezifikation nicht zulässt, schlägt die Verpackung oder der Upload mit einem schwerwiegenden Fehler fehl, anstatt das Feld zu ignorieren:

394 398 


790Wenn dieser Skill ausgeführt wird:794Wenn dieser Skill ausgeführt wird:

791 795 

7921. Ein neuer isolierter Kontext wird erstellt7961. Ein neuer isolierter Kontext wird erstellt

7932. Der Subagent erhält den Skill-Inhalt als seinen Prompt („Research \$ARGUMENTS thoroughly...")7972. Der Subagent erhält den Skill-Inhalt als seinen Prompt (die „Research \$ARGUMENTS thoroughly..."-Anweisungen)

7943. Das `agent`-Feld bestimmt die Ausführungsumgebung (Modell, Tools und Berechtigungen)7983. Das `agent`-Feld bestimmt die Ausführungsumgebung (Modell, Tools und Berechtigungen)

7954. Der Subagent fasst seine Ergebnisse zusammen und gibt sie an Ihr Hauptgespräch zurück, wenn er fertig ist7994. Der Subagent fasst seine Ergebnisse zusammen und gibt sie an Ihr Hauptgespräch zurück, wenn er fertig ist

796 800 

statusline.md +1 −1

Details

236 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",236 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

237 "transcript_path": "/path/to/transcript.jsonl",237 "transcript_path": "/path/to/transcript.jsonl",

238 "model": {238 "model": {

239 "id": "claude-opus-5",239 "id": "claude-opus-5-5",

240 "display_name": "Opus"240 "display_name": "Opus"

241 },241 },

242 "workspace": {242 "workspace": {

sub-agents.md +28 −14

Details

32 32 

33Claude Code enthält integrierte Subagenten, die Claude automatisch bei Bedarf verwendet. Jeder erbt die Berechtigungen der übergeordneten Konversation; die meisten werden mit einem eingeschränkten Werkzeugsatz ausgeführt.33Claude Code enthält integrierte Subagenten, die Claude automatisch bei Bedarf verwendet. Jeder erbt die Berechtigungen der übergeordneten Konversation; die meisten werden mit einem eingeschränkten Werkzeugsatz ausgeführt.

34 34 

35Explore und Plan überspringen Ihre CLAUDE.md-Dateien und den Git-Status der übergeordneten Sitzung, um die Recherche schnell und kostengünstig zu halten. Alle anderen integrierten und [benutzerdefinierten Subagenten](#configure-subagents) laden beide, es sei denn, ihre Definition setzt das Feld [`omitClaudeMd`](#supported-frontmatter-fields), um die Benutzer-, Projekt- und lokalen CLAUDE.md-Dateien zu überspringen. Für die vollständige Aufschlüsselung dessen, was einen Subagenten erreicht, siehe [was beim Start geladen wird](#what-loads-at-startup).35Explore und Plan überspringen Ihre CLAUDE.md-Dateien und den Git-Status-Snapshot, um die Recherche schnell und kostengünstig zu halten. Alle anderen integrierten und [benutzerdefinierten Subagenten](#configure-subagents) laden beide, es sei denn, ihre Definition setzt das Feld [`omitClaudeMd`](#supported-frontmatter-fields), um die Benutzer-, Projekt- und lokalen CLAUDE.md-Dateien zu überspringen. Für die vollständige Aufschlüsselung dessen, was einen Subagenten erreicht, siehe [was beim Start geladen wird](#what-loads-at-startup).

36 36 

37<Tabs>37<Tabs>

38 <Tab title="Explore">38 <Tab title="Explore">


230 </Tab>230 </Tab>

231</Tabs>231</Tabs>

232 232 

233Das `--agents`-Flag akzeptiert JSON mit einem `prompt`-Feld plus diese [Frontmatter](#supported-frontmatter-fields)-Felder: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd` und `isolation`. Verwenden Sie `prompt` für den Systemprompt, äquivalent zum Markdown-Body in dateibasierten Subagenten.233Das `--agents`-Flag akzeptiert JSON mit einem `prompt`-Feld plus diese [Frontmatter](#supported-frontmatter-fields)-Felder: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd` und `isolation`. Verwenden Sie `prompt` für den Systemprompt, äquivalent zum Markdown-Body in dateibasierten Subagenten. `color` und `experimental` werden hier nicht akzeptiert und werden ignoriert statt abgelehnt.

234 234 

235Jeder Top-Level-Schlüssel im JSON ist der Name des Agenten. Starten Sie einen Namen nicht mit `-`.235Jeder Top-Level-Schlüssel im JSON ist der Name des Agenten. Starten Sie einen Namen nicht mit `-`.

236 236 


295 295 

296Wenn die Hauptkonversation selbst isoliert in einem Worktree läuft, wendet Claude Code die gleichen Überprüfungen auf die Sitzung und jeden Subagenten an, den es spawnt, einschließlich Subagenten ohne `isolation: worktree`; siehe [Wie Claude Code Isolation erzwingt](/docs/de/worktrees#how-claude-code-enforces-isolation).296Wenn die Hauptkonversation selbst isoliert in einem Worktree läuft, wendet Claude Code die gleichen Überprüfungen auf die Sitzung und jeden Subagenten an, den es spawnt, einschließlich Subagenten ohne `isolation: worktree`; siehe [Wie Claude Code Isolation erzwingt](/docs/de/worktrees#how-claude-code-enforces-isolation).

297 297 

298<h4 id="supported-frontmatter-fields">298<h3 id="supported-frontmatter-fields">

299 Unterstützte Frontmatter-Felder299 Frontmatter-Referenz

300</h4>300</h3>

301 

302Konfigurieren Sie einen Subagenten mit YAML-[Frontmatter](/docs/de/glossary#frontmatter) zwischen `---`-Markierungen am Anfang seiner Datei, und schreiben Sie seinen Systemprompt als Markdown nach dem schließenden `---`. Nur `name` und `description` sind erforderlich.

301 303 

302Die folgenden Felder können im YAML-Frontmatter verwendet werden. Nur `name` und `description` sind erforderlich.304Mehrteilige Feldnamen verwenden camelCase, wie `maxTurns` und `disallowedTools`, und müssen genau mit der Tabelle übereinstimmen: Claude Code ignoriert ein Feld, das es nicht erkennt, ohne einen Fehler zu melden. Um herauszufinden, warum eine Subagenten-Datei nicht geladen wurde, siehe [Subagenten-Dateien, die Claude Code überspringt](#subagent-files-claude-code-skips).

303 305 

304| Feld | Erforderlich | Beschreibung |306| Feld | Erforderlich | Beschreibung |

305| :---------------- | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |307| :---------------- | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

306| `name` | Ja | Eindeutige Kennung mit Kleinbuchstaben und Bindestrichen. [Hooks](/docs/de/hooks#subagentstart) erhalten diesen Wert als `agent_type`. Der Dateiname muss nicht übereinstimmen. Namen können kein `:` enthalten, das für [Plugin-Umfang-Identifier](/docs/de/plugins) wie `my-plugin:reviewer` reserviert ist. Claude Code lädt eine Datei, deren Name eins enthält, nicht und protokolliert einen Fehler im Debug-Protokoll. Vor v2.1.218 wurden solche Namen akzeptiert |308| `name` | Ja | Eindeutige Kennung, wie `code-reviewer` oder `reviewer-v2`. [Hooks](/docs/de/hooks#subagentstart) erhalten diesen Wert als `agent_type`. Der Dateiname muss nicht übereinstimmen. Namen können kein `:` enthalten, das für [Plugin-Umfang-Identifier](/docs/de/plugins) wie `my-plugin:reviewer` reserviert ist. Claude Code lädt eine Datei, deren Name eins enthält, nicht und protokolliert einen Fehler im Debug-Protokoll. Vor v2.1.218 wurden solche Namen akzeptiert |

307| `description` | Ja | Wann Claude an diesen Subagenten delegieren sollte |309| `description` | Ja | Wann Claude an diesen Subagenten delegieren sollte |

308| `tools` | Nein | [Werkzeuge](#available-tools), die der Subagent verwenden kann. Erbt jedes Werkzeug, das für Subagenten verfügbar ist, wenn weggelassen. Wenn kein Eintrag in der Liste sich zu einem Werkzeug auflöst, schlägt der Subagent normalerweise [fehl zu starten](/docs/de/errors#agent-would-be-spawned-with-zero-tools) mit einem Fehler, der die Einträge benennt. Um Skills in den Kontext zu laden, verwenden Sie das `skills`-Feld statt `Skill` hier aufzulisten |310| `tools` | Nein | [Werkzeuge](#available-tools), die der Subagent verwenden kann, als kommagetrennte Zeichenkette wie `Read, Grep, Bash` oder eine YAML-Liste. Erbt jedes Werkzeug, das für Subagenten verfügbar ist, wenn weggelassen. Wenn kein Eintrag in der Liste sich zu einem Werkzeug auflöst, schlägt der Subagent normalerweise [fehl zu starten](/docs/de/errors#agent-would-be-spawned-with-zero-tools) mit einem Fehler, der die Einträge benennt. Um Skills in den Kontext zu laden, verwenden Sie das `skills`-Feld statt `Skill` hier aufzulisten |

309| `disallowedTools` | Nein | Werkzeuge zum Verweigern, entfernt aus geerbter oder angegebener Liste. Ein Eintrag mit einem Spezifizierer, wie `Bash(git push *)`, entfernt immer noch das [ganze Werkzeug](#available-tools) |311| `disallowedTools` | Nein | Werkzeuge zum Verweigern, entfernt aus geerbter oder angegebener Liste. Gleiches Format wie `tools`. Ein Eintrag mit einem Spezifizierer, wie `Bash(git push *)`, entfernt immer noch das [ganze Werkzeug](#available-tools) |

310| `model` | Nein | [Modell](#choose-a-model) zu verwenden: `sonnet`, `opus`, `haiku`, `fable`, eine vollständige Modell-ID wie `claude-opus-5` oder `inherit`. Wenn Sie es weglassen, wählt Claude Code das Modell in der [Subagenten-Modell-Reihenfolge](#choose-a-model) |312| `model` | Nein | [Modell](#choose-a-model) zu verwenden: `sonnet`, `opus`, `haiku`, `fable`, eine vollständige Modell-ID wie `claude-opus-5-5` oder `inherit`. Wenn Sie es weglassen, wählt Claude Code das Modell in der [Subagenten-Modell-Reihenfolge](#choose-a-model) |

311| `permissionMode` | Nein | [Berechtigungsmodus](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, `plan` oder `manual` als Alias für `default`. Der `manual`-Alias erfordert Claude Code v2.1.200 oder später. Ignoriert für [Plugin-Subagenten](#choose-the-subagent-scope) |313| `permissionMode` | Nein | [Berechtigungsmodus](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, `plan` oder `manual` als Alias für `default`. Der `manual`-Alias erfordert Claude Code v2.1.200 oder später. Ignoriert für [Plugin-Subagenten](#choose-the-subagent-scope) |

312| `maxTurns` | Nein | Maximale Anzahl von Agenten-Turns, bevor der Subagent stoppt. Wenn der Subagent die Grenze erreicht, gibt Claude Code seine Ausgabe als teilweise markiert zurück, und Claude kann [ihn fortsetzen](#resume-subagents), um fortzufahren. Die teilweise Markierung erfordert Claude Code v2.1.246 oder später |314| `maxTurns` | Nein | Maximale Anzahl von Agenten-Turns, bevor der Subagent stoppt. Wenn der Subagent die Grenze erreicht, gibt Claude Code seine Ausgabe als teilweise markiert zurück, und Claude kann [ihn fortsetzen](#resume-subagents), um fortzufahren. Die teilweise Markierung erfordert Claude Code v2.1.246 oder später |

313| `skills` | Nein | [Skills](/docs/de/skills) zum Vorausladen in den Kontext des Subagenten beim Start. Der vollständige Skill-Inhalt wird eingespritzt, nicht nur die Beschreibung. Subagenten können weiterhin unlisted Projekt-, Benutzer- und Plugin-Skills durch das Skill-Werkzeug aufrufen |315| `skills` | Nein | [Skills](/docs/de/skills) zum Vorausladen in den Kontext des Subagenten beim Start. Der vollständige Skill-Inhalt wird eingespritzt, nicht nur die Beschreibung. Subagenten können weiterhin unlisted Projekt-, Benutzer- und Plugin-Skills durch das Skill-Werkzeug aufrufen |


319| `effort` | Nein | Aufwandsstufe, wenn dieser Subagent aktiv ist. Überschreibt die Aufwandsstufe der Sitzung. Standard: erbt von Sitzung. Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab |321| `effort` | Nein | Aufwandsstufe, wenn dieser Subagent aktiv ist. Überschreibt die Aufwandsstufe der Sitzung. Standard: erbt von Sitzung. Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab |

320| `isolation` | Nein | Auf `worktree` setzen, um den Subagenten in einem temporären [Git-Worktree](/docs/de/worktrees) auszuführen, was ihm eine isolierte Kopie des Repositorys gibt, die standardmäßig von Ihrem [Standard-Branch](/docs/de/worktrees#choose-the-base-branch) verzweigt ist, anstatt vom `HEAD` der übergeordneten Sitzung. Der Worktree wird automatisch bereinigt, wenn der Subagent keine Änderungen vornimmt |322| `isolation` | Nein | Auf `worktree` setzen, um den Subagenten in einem temporären [Git-Worktree](/docs/de/worktrees) auszuführen, was ihm eine isolierte Kopie des Repositorys gibt, die standardmäßig von Ihrem [Standard-Branch](/docs/de/worktrees#choose-the-base-branch) verzweigt ist, anstatt vom `HEAD` der übergeordneten Sitzung. Der Worktree wird automatisch bereinigt, wenn der Subagent keine Änderungen vornimmt |

321| `color` | Nein | Anzeigefarbe für den Subagenten in der Aufgabenliste und dem Transkript. Akzeptiert `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` oder `cyan` |323| `color` | Nein | Anzeigefarbe für den Subagenten in der Aufgabenliste und dem Transkript. Akzeptiert `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` oder `cyan` |

322| `initialPrompt` | Nein | Auto-eingereicht als der erste Benutzer-Turn, wenn dieser Agent als Hauptsitzungs-Agent läuft (über `--agent` oder die `agent`-Einstellung). [Befehle](/docs/de/commands) und [Skills](/docs/de/skills) werden verarbeitet. Vorangestellt zu jedem vom Benutzer bereitgestellten Prompt |324| `initialPrompt` | Nein | Auto-eingereicht als der erste Benutzer-Turn, wenn dieser Agent als Hauptsitzungs-Agent läuft (über `--agent` oder die `agent`-Einstellung). [Befehle](/docs/de/commands) und [Skills](/docs/de/skills) werden verarbeitet. Vorangestellt zu jedem vom Benutzer bereitgestellten Prompt. Ignoriert für [Plugin-Subagenten](#choose-the-subagent-scope) |

323| `experimental` | Nein | Zuordnung experimenteller Optionen. Setzen Sie seinen `cacheTtl`-Schlüssel auf `5m` oder `1h`, um die [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#choose-the-ttl-yourself) für die Anfragen dieses Subagenten zu wählen, an der Stelle des Frontmatters in der [Cache-Lebensdauer-Priorität](/docs/de/prompt-caching#choose-the-ttl-yourself). Claude Code ignoriert jeden anderen Wert, ignoriert `1h`, während Ihr Claude-Abonnement Nutzungsguthaben verwendet, und liest das Feld nur aus Subagenten-Dateien. Erfordert Claude Code v2.1.248 oder später |325| `experimental` | Nein | Zuordnung experimenteller Optionen. Setzen Sie seinen `cacheTtl`-Schlüssel auf `5m` oder `1h`, um die [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#choose-the-ttl-yourself) für die Anfragen dieses Subagenten zu wählen, an der Stelle des Frontmatters in der [Cache-Lebensdauer-Priorität](/docs/de/prompt-caching#choose-the-ttl-yourself). Claude Code ignoriert jeden anderen Wert, ignoriert `1h`, während Ihr Claude-Abonnement Nutzungsguthaben verwendet, und liest das Feld nur aus Subagenten-Dateien. Erfordert Claude Code v2.1.248 oder später |

324 326 

325Schreiben Sie `cacheTtl` in die `experimental`-Zuordnung, nicht auf die oberste Ebene des Frontmatters.327Schreiben Sie `cacheTtl` in die `experimental`-Zuordnung, nicht auf die oberste Ebene des Frontmatters.


362Das `model`-Feld steuert, welches Modell der Subagent verwendet:364Das `model`-Feld steuert, welches Modell der Subagent verwendet:

363 365 

364* **Modell-Alias**: Verwenden Sie einen der verfügbaren Aliase: `sonnet`, `opus`, `haiku` oder `fable`366* **Modell-Alias**: Verwenden Sie einen der verfügbaren Aliase: `sonnet`, `opus`, `haiku` oder `fable`

365* **Vollständige Modell-ID**: Verwenden Sie eine vollständige Modell-ID wie `claude-opus-5` oder `claude-sonnet-5`. Akzeptiert dieselben Werte wie das `--model`-Flag367* **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

366* **inherit**: Verwenden Sie dasselbe Modell wie die Hauptkonversation368* **inherit**: Verwenden Sie dasselbe Modell wie die Hauptkonversation

367 369 

368Wenn 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:370Wenn 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:


3723. Die [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/de/model-config#environment-variables)-Umgebungsvariable, wenn Sie sie auf einen Modell-Alias oder eine Modell-ID setzen3743. Die [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/de/model-config#environment-variables)-Umgebungsvariable, wenn Sie sie auf einen Modell-Alias oder eine Modell-ID setzen

3734. Das Modell der Hauptkonversation3754. Das Modell der Hauptkonversation

374 376 

377In zwei Fällen wird ein Familien-Alias wie `opus` im Per-Invokation-Parameter oder im Frontmatter stattdessen zum Modell der Hauptkonversation aufgelöst, anstatt zur [Version, auf die der Alias verweist](/docs/de/model-config#model-aliases):

378 

379* **Das Modell der Hauptkonversation gehört zu dieser Familie**: Der Subagent läuft auf dem genauen Modell der Hauptkonversation, einschließlich aller `[1m]`-Suffixe, sodass er das gleiche [erweiterte Kontextfenster](/docs/de/model-config#extended-context) wie die Hauptkonversation erhält.

380* **Claude Code kann die Modellfamilie der Hauptkonversation nicht bestimmen, auf [einem anderen Provider als der Anthropic API](/docs/de/third-party-integrations)**: Dies kann mit einem [Application Inference Profile ARN](/docs/de/amazon-bedrock#iam-configuration) auf Amazon Bedrock passieren, das Claude Code nicht zu einem Backing-Modell aufgelöst hat. Dieser Fall deckt nur den `opus`-Alias ab und gilt nicht, wenn Sie [`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/de/model-config#environment-variables) setzen, da `opus` dann zum von Ihnen gesetzten Modell aufgelöst wird.

381 

382Ein Alias in `CLAUDE_CODE_SUBAGENT_MODEL` wird immer zur Version aufgelöst, auf die der Alias verweist, auch wenn er die Familie der Hauptkonversation benennt.

383 

375Das Setzen von `CLAUDE_CODE_SUBAGENT_MODEL` allein ändert nicht das Modell, auf dem die integrierten Explore- und Plan-Subagenten laufen. Um es zu ändern, siehe [Führen Sie jeden Subagenten auf einem Modell aus](#run-every-subagent-on-one-model).384Das Setzen von `CLAUDE_CODE_SUBAGENT_MODEL` allein ändert nicht das Modell, auf dem die integrierten Explore- und Plan-Subagenten laufen. Um es zu ändern, siehe [Führen Sie jeden Subagenten auf einem Modell aus](#run-every-subagent-on-one-model).

376 385 

377Vor v2.1.251 kam `CLAUDE_CODE_SUBAGENT_MODEL` zuerst in dieser Reihenfolge und überschrieb sowohl den Per-Invokation-Parameter als auch das Frontmatter, einschließlich `model: inherit`.386Vor v2.1.251 kam `CLAUDE_CODE_SUBAGENT_MODEL` zuerst in dieser Reihenfolge und überschrieb sowohl den Per-Invokation-Parameter als auch das Frontmatter, einschließlich `model: inherit`.


438* `EnterPlanMode`447* `EnterPlanMode`

439* `ExitPlanMode`, es sei denn, der [`permissionMode`](#permission-modes) des Subagenten ist `plan`448* `ExitPlanMode`, es sei denn, der [`permissionMode`](#permission-modes) des Subagenten ist `plan`

440* `ScheduleWakeup`449* `ScheduleWakeup`

441* `TaskOutput`

442* `WaitForMcpServers`450* `WaitForMcpServers`

443* `Workflow`451* `Workflow`

444 452 

445Der zweite Filter gilt für Subagenten, die im Hintergrund laufen. Abgesehen von `Agent` und `ExitPlanMode`, die den Bedingungen des ersten Filters folgen, wo immer der Subagent läuft, behält ein Hintergrund-Subagent jedes MCP-Werkzeug, aber nur diese integrierten Werkzeuge: `Read`, `Grep`, `Glob`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage` und `Artifact`, plus [`SubagentHandback`](/docs/de/tools-reference) für einen Subagenten, der durch ihn berichtet. Claude Code entfernt jedes andere integrierte Werkzeug aus einem Hintergrund-Subagenten, ob geerbt oder im `tools`-Feld aufgelistet, sodass die gleiche Definition zu verschiedenen Werkzeugen im Vordergrund und im Hintergrund führen kann. Die Entfernung meldet keinen Fehler, es sei denn, sie hinterlässt die `tools`-Liste [aufgelöst zu nichts](/docs/de/errors#agent-would-be-spawned-with-zero-tools).453Der zweite Filter gilt für Subagenten, die im Hintergrund laufen. Abgesehen von `Agent` und `ExitPlanMode`, die den Bedingungen des ersten Filters folgen, wo immer der Subagent läuft, behält ein Hintergrund-Subagent jedes MCP-Werkzeug, aber nur diese integrierten Werkzeuge: `Read`, `Grep`, `Glob`, `LSP`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage` und `Artifact`, plus [`SubagentHandback`](/docs/de/tools-reference) für einen Subagenten, der durch ihn berichtet. Claude Code entfernt jedes andere integrierte Werkzeug aus einem Hintergrund-Subagenten, ob geerbt oder im `tools`-Feld aufgelistet, sodass die gleiche Definition zu verschiedenen Werkzeugen im Vordergrund und im Hintergrund führen kann. Die Entfernung meldet keinen Fehler, es sei denn, sie hinterlässt die `tools`-Liste [aufgelöst zu nichts](/docs/de/errors#agent-would-be-spawned-with-zero-tools).

454 

455Vor v2.1.280 konnten Hintergrund-Subagenten `LSP` nicht verwenden.

446 456 

447[`ListAgents`](/docs/de/cross-session-messaging) folgt diesen Filtern wie jedes integrierte Werkzeug: Ein Vordergrund-Subagent erbt es in Sitzungen, wo sitzungsübergreifendes Messaging aktiviert ist, und ein Hintergrund-Subagent behält es nicht.457[`ListAgents`](/docs/de/cross-session-messaging) folgt diesen Filtern wie jedes integrierte Werkzeug: Ein Vordergrund-Subagent erbt es in Sitzungen, wo sitzungsübergreifendes Messaging aktiviert ist, und ein Hintergrund-Subagent behält es nicht.

448 458 


989 999 

990Der Scan beurteilt nicht, ob Inhalte bösartig sind, und er ändert nicht, was eine Anweisung in einem Bericht tun kann: Ein Werkzeugaufruf, zu dem der Bericht Claude führt, durchläuft immer noch die [Genehmigungsprüfungen](/docs/de/permissions) und [Sandboxing](/docs/de/sandboxing) der Sitzung. Es ist kein Ersatz für [Einschränkung, was ein Subagent erreichen kann](#control-subagent-capabilities).1000Der Scan beurteilt nicht, ob Inhalte bösartig sind, und er ändert nicht, was eine Anweisung in einem Bericht tun kann: Ein Werkzeugaufruf, zu dem der Bericht Claude führt, durchläuft immer noch die [Genehmigungsprüfungen](/docs/de/permissions) und [Sandboxing](/docs/de/sandboxing) der Sitzung. Es ist kein Ersatz für [Einschränkung, was ein Subagent erreichen kann](#control-subagent-capabilities).

991 1001 

1002Ein Bericht, der zu Claude als Ergebnis des Subagenten zurückkehrt, kommt auch unter einer Kopfzeile an, die ihn als Subagenten-Ausgabe kennzeichnet. Die Kopfzeile besagt, dass Anweisungen oder Genehmigungsansprüche im Bericht die Worte des Subagenten sind und keine Autorität von Ihnen tragen.

1003 

1004Ein [Hintergrund-Subagenten-Bericht](#run-subagents-in-foreground-or-background) kommt in einer Abschlussbenachrichtigung an, die als automatisiertes Ereignis gekennzeichnet ist, anstatt als Nachricht von Ihnen.

1005 

992<Note>1006<Note>

993 Das Subagenten-Ausgabe-Scanning erfordert Claude Code v2.1.210 oder später.1007 Das Subagenten-Ausgabe-Scanning erfordert Claude Code v2.1.210 oder später.

994</Note>1008</Note>

Details

343 Großen Inhalt einfügen343 Großen Inhalt einfügen

344</h2>344</h2>

345 345 

346Wenn Sie mehr als 800 Zeichen oder mehr als drei Zeilen in die Eingabeaufforderung einfügen, reduziert Claude Code die Eingabe auf einen Platzhalter wie `[Eingefügter Text #1 +120 Zeilen]`, damit das Eingabefeld nutzbar bleibt. In einem Terminalfenster mit weniger als 12 Zeilen sinkt die Zeilenbegrenzung, sodass Claude Code ein dreizeiliges Einfügen bei 11 Zeilen und jedes mehrzeilige Einfügen bei 10 Zeilen oder weniger reduziert. Claude Code sendet dennoch den vollständigen Inhalt, wenn Sie die Eingabe absenden.346Wenn Sie mehr als 800 Zeichen oder mehr als drei Zeilen in die Eingabeaufforderung einfügen, reduziert Claude Code die Eingabe auf einen Platzhalter wie `[Eingefügter Text #1 +120 Zeilen]`, damit das Eingabefeld nutzbar bleibt, und sendet dennoch den vollständigen Inhalt, wenn Sie die Eingabe absenden. Für sehr große Eingaben wie ganze Dateien oder lange Protokolle schreiben Sie den Inhalt in eine Datei und bitten Sie Claude, diese zu lesen, anstatt sie einzufügen. Das Gesprächstranskript bleibt lesbar und Claude kann die Datei in späteren Durchläufen nach Pfad referenzieren. Das in VS Code integrierte Terminal kann auch Zeichen aus sehr großen Einfügungen verlieren, bevor sie Claude Code erreichen. Verwenden Sie daher dort eine Datei.

347 347 

348Wenn Sie mit einer Wort- oder Zeilenkürzel wie `Ctrl+W` oder `Ctrl+K` löschen oder mit einem Vim-Löschbefehl durch eine `f`/`t`-Bewegung wie `df]` löschen und der gelöschte Bereich in einen Platzhalter hineinreicht, entfernt Claude Code den Platzhalter vollständig. Sie können das Gelöschte einfügen, um es wiederherzustellen, mit [`Ctrl+Y`](/docs/de/interactive-mode#text-editing) nach einem Wort- oder Zeilenkürzel oder mit [`p` im NORMAL-Modus](/docs/de/interactive-mode#editing-normal-mode) nach einem Vim-Löschbefehl.348Wenn die eingefügte Datei [unsichtbare Unicode-Zeichen](/docs/de/interactive-mode#invisible-characters-in-prompts) enthält, entfernt Claude Code diese, wenn Sie die Eingabetaste drücken, und setzt die bereinigte Eingabeaufforderung in das Eingabefeld zurück, damit Sie sie mit einer weiteren Eingabetaste absenden können.

349 349 

350Claude Code speichert den reduzierten Inhalt unter `~/.claude/paste-cache/`, sodass Claude Code bei Abruf einer Eingabeaufforderung aus dem [Befehlsverlauf](/docs/de/interactive-mode#command-history) und erneuter Absendung den vollständigen eingefügten Inhalt erneut sendet, auch in einer späteren Sitzung, bis die Aufräumaktion die Cache-Datei entfernt.350<h3 id="how-claude-treats-pasted-text">

351 Wie Claude eingefügten Text behandelt

352</h3>

353 

354Wenn Sie absenden, sieht Claude den Inhalt hinter jedem `[Eingefügter Text #N]`-Platzhalter als Text markiert, den Sie von irgendwo anders eingefügt haben, anstatt ihn zu tippen. Claude wird mitgeteilt, dass eine Einfügung Anweisungen enthalten kann, die Sie nicht geschrieben haben, und dass er Anweisungen darin nur dort befolgen soll, wo die von Ihnen eingegebene Nachricht dies verlangt. In Sitzungen, die [Feature-Flags nicht abrufen](/docs/de/env-vars#features-that-need-feature-flag-fetching), werden Einfügungen nicht markiert.

351 355 

352Claude Code löscht Cache-Dateien, die älter als [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays) sind, gemäß den [Aufräumregeln](/docs/de/claude-directory#cleaned-up-automatically), sodass eine abgerufene Eingabeaufforderung auf eingefügten Text verweisen kann, der nicht mehr vorhanden ist. Wenn Sie eine solche Eingabeaufforderung absenden, sendet Claude Code niemals die wörtliche Zeichenkette `[Eingefügter Text #N]` und zeigt eine Benachrichtigung an, die den fehlenden Einfügungstext benennt:356<h3 id="delete-and-restore-a-collapsed-paste">

357 Eine reduzierte Einfügung löschen und wiederherstellen

358</h3>

359 

360Wenn Sie mit einer Wort- oder Zeilenkürzel wie `Ctrl+W` oder `Ctrl+K` löschen oder mit einem Vim-Löschbefehl durch eine `f`/`t`-Bewegung wie `df]` löschen und der gelöschte Bereich in einen `[Eingefügter Text #N]`-Platzhalter hineinreicht, entfernt Claude Code den Platzhalter vollständig. Um ihn wiederherzustellen, fügen Sie das Gelöschte mit [`Ctrl+Y`](/docs/de/interactive-mode#text-editing) nach einem Wort- oder Zeilenkürzel ein, oder mit [`p` im NORMAL-Modus](/docs/de/interactive-mode#editing-normal-mode) nach einem Vim-Löschbefehl.

361 

362<h3 id="recall-a-prompt-that-had-pasted-text">

363 Eine Eingabeaufforderung mit eingefügtem Text abrufen

364</h3>

365 

366Claude Code speichert den Inhalt hinter jedem `[Eingefügter Text #N]`-Platzhalter unter `~/.claude/paste-cache/`, sodass Sie beim Abrufen einer Eingabeaufforderung aus dem [Befehlsverlauf](/docs/de/interactive-mode#command-history) und erneuter Absendung der vollständige eingefügte Inhalt erneut gesendet wird, auch in einer späteren Sitzung.

367 

368Cache-Dateien, die älter als [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays) sind, werden gemäß den [Aufräumregeln](/docs/de/claude-directory#cleaned-up-automatically) gelöscht, sodass eine abgerufene Eingabeaufforderung auf eingefügten Text verweisen kann, der nicht mehr vorhanden ist. Wenn Sie eine solche Eingabeaufforderung absenden, sendet Claude Code niemals die wörtliche Zeichenkette `[Eingefügter Text #N]` und zeigt eine Benachrichtigung an, die den fehlenden Einfügungstext benennt:

353 369 

354* In einer einfachen Eingabeaufforderung mit verbleibendem Text entfernt Claude Code den Platzhalter und sendet den verbleibenden Text.370* In einer einfachen Eingabeaufforderung mit verbleibendem Text entfernt Claude Code den Platzhalter und sendet den verbleibenden Text.

355* In einem [Shell-Modus](/docs/de/interactive-mode#shell-mode-with-prefix)-Befehl oder einem `/`-Befehl, bei dem die Entfernung das Ausgeführte ändern würde, und in jeder Eingabeaufforderung, bei der die Entfernung zu einer leeren Eingabe führt, bricht Claude Code die Absendung ab und behält den ursprünglichen Text in der Eingabe, wobei der Platzhalter noch darin enthalten ist. Löschen Sie den Platzhalter oder bearbeiten Sie den Befehl, und senden Sie dann erneut ab.371* In einem [Shell-Modus](/docs/de/interactive-mode#shell-mode-with-prefix)-Befehl oder einem `/`-Befehl, bei dem die Entfernung das Ausgeführte ändern würde, und in jeder Eingabeaufforderung, bei der die Entfernung zu einer leeren Eingabe führt, bricht Claude Code die Absendung ab und behält den ursprünglichen Text in der Eingabe, wobei der Platzhalter noch darin enthalten ist. Löschen Sie den Platzhalter oder bearbeiten Sie den Befehl, und senden Sie dann erneut ab.

356 372 

357Das in VS Code integrierte Terminal kann Zeichen aus sehr großen Einfügungen verlieren, bevor sie Claude Code erreichen. Bevorzugen Sie daher dateibasierte Arbeitsabläufe dort. Für sehr große Eingaben wie ganze Dateien oder lange Protokolle schreiben Sie den Inhalt in eine Datei und bitten Sie Claude, diese zu lesen, anstatt sie einzufügen. Dies hält das Gesprächstranskript lesbar und ermöglicht es Claude, die Datei in späteren Durchläufen nach Pfad zu referenzieren.

358 

359<h2 id="edit-prompts-with-vim-keybindings">373<h2 id="edit-prompts-with-vim-keybindings">

360 Prompts mit Vim-Tastenbindungen bearbeiten374 Prompts mit Vim-Tastenbindungen bearbeiten

361</h2>375</h2>

Details

86 86 

87Für die meisten Organisationen bieten Claude for Teams oder Claude for Enterprise die beste Erfahrung. Teammitglieder erhalten Zugriff auf sowohl Claude Code als auch Claude im Web mit einem einzigen Abonnement, zentralisierte Abrechnung und ohne erforderliche Infrastruktureinrichtung.87Für die meisten Organisationen bieten Claude for Teams oder Claude for Enterprise die beste Erfahrung. Teammitglieder erhalten Zugriff auf sowohl Claude Code als auch Claude im Web mit einem einzigen Abonnement, zentralisierte Abrechnung und ohne erforderliche Infrastruktureinrichtung.

88 88 

89**Claude for Teams** ist Self-Service und umfasst Zusammenarbeitsfunktionen, Admin-Tools und Abrechnungsverwaltung. Am besten für kleinere Teams, die schnell starten möchten.89**Claude for Teams** ist Self-Service und umfasst Zusammenarbeitsfunktionen, Admin-Tools, SSO, Abrechnungsverwaltung und [server-verwaltete Einstellungen](/docs/de/server-managed-settings) für organisationsweite Claude Code-Konfiguration. Am besten für kleinere Teams, die schnell starten möchten.

90 90 

91**Claude for Enterprise** fügt SSO und Domain-Erfassung, rollenbasierte Berechtigungen, Compliance-API-Zugriff und verwaltete Richtlinieneinstellungen für die Bereitstellung von organisationsweiten Claude Code-Konfigurationen hinzu. Am besten für größere Organisationen mit Sicherheits- und Compliance-Anforderungen.91**Claude for Enterprise** fügt Domain-Erfassung, rollenbasierte Berechtigungen und Compliance-API-Zugriff hinzu. Am besten für größere Organisationen mit Sicherheits- und Compliance-Anforderungen.

92 92 

93Erfahren Sie mehr über [Team-Pläne](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) und [Enterprise-Pläne](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).93Erfahren Sie mehr über [Team-Pläne](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) und [Enterprise-Pläne](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).

94 94 

Details

24| `Raw mode is not supported` während der Installation | [Führen Sie das Installationsprogramm erneut aus](#raw-mode-is-not-supported-during-install) |24| `Raw mode is not supported` während der Installation | [Führen Sie das Installationsprogramm erneut aus](#raw-mode-is-not-supported-during-install) |

25| `TLS connect error` oder `SSL/TLS secure channel` | [Aktualisieren Sie CA-Zertifikate](#tls-or-ssl-connection-errors) |25| `TLS connect error` oder `SSL/TLS secure channel` | [Aktualisieren Sie CA-Zertifikate](#tls-or-ssl-connection-errors) |

26| `Failed to fetch version` oder kann den Download-Server nicht erreichen | [Überprüfen Sie Netzwerk- und Proxy-Einstellungen](#check-network-connectivity) |26| `Failed to fetch version` oder kann den Download-Server nicht erreichen | [Überprüfen Sie Netzwerk- und Proxy-Einstellungen](#check-network-connectivity) |

27| `irm is not recognized` oder `&& is not valid` | [Verwenden Sie den richtigen Befehl für Ihre Shell](#wrong-install-command-on-windows) |27| `irm is not recognized` oder `The token '&&' is not a valid statement separator` | [Verwenden Sie den richtigen Befehl für Ihre Shell](#wrong-install-command-on-windows) |

28| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Aktualisieren Sie Homebrew](#homebrew-cask-unavailable-or-outdated) |28| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Aktualisieren Sie Homebrew](#homebrew-cask-unavailable-or-outdated) |

29| `'bash' is not recognized as the name of a cmdlet` | [Verwenden Sie den Windows-Installationsbefehl](#wrong-install-command-on-windows) |29| `'bash' is not recognized as the name of a cmdlet` | [Verwenden Sie den Windows-Installationsbefehl](#wrong-install-command-on-windows) |

30| `A parameter cannot be found that matches parameter name 'fsSL'` | [Verwenden Sie den Windows-Installationsbefehl](#wrong-install-command-on-windows) |30| `A parameter cannot be found that matches parameter name 'fsSL'` | [Verwenden Sie den Windows-Installationsbefehl](#wrong-install-command-on-windows) |

troubleshooting.md +42 −38

Details

31Diese Abschnitte behandeln Probleme im Zusammenhang mit Ressourcennutzung, Reaktionsfähigkeit und Suchverhalten.31Diese Abschnitte behandeln Probleme im Zusammenhang mit Ressourcennutzung, Reaktionsfähigkeit und Suchverhalten.

32 32 

33<h3 id="high-cpu-or-memory-usage">33<h3 id="high-cpu-or-memory-usage">

34 Hohe CPU- oder Speichernutzung34 Hohe CPU- oder Speicherauslastung

35</h3>35</h3>

36 36 

37Claude Code ist für die Zusammenarbeit mit den meisten Entwicklungsumgebungen konzipiert, kann aber bei der Verarbeitung großer Codebases erhebliche Ressourcen verbrauchen. Wenn Sie Leistungsprobleme haben:37Claude Code ist für die Zusammenarbeit mit den meisten Entwicklungsumgebungen konzipiert, kann aber bei der Verarbeitung großer Codebases erhebliche Ressourcen verbrauchen. Wenn Sie Leistungsprobleme haben:

38 38 

391. Verwenden Sie `/compact` regelmäßig, um die Kontextgröße zu reduzieren. Wenn es `Not enough messages to compact.` zurückgibt, hat die Konversation zu wenige Turns zum Zusammenfassen; das kann auch bei vollem Kontext vorkommen, wenn ein einzelnes großes Einfügen ihn gefüllt hat391. Verwenden Sie `/compact` regelmäßig, um die Kontextgröße zu reduzieren. Wenn es `Not enough messages to compact.` zurückgibt, hat die Konversation zu wenige Turns zum Zusammenfassen; das kann auch bei vollem Kontext vorkommen, wenn ein einzelnes großes Einfügen ihn gefüllt hat

402. Schließen und starten Sie Claude Code zwischen großen Aufgaben neu402. Schließen Sie Claude Code zwischen großen Aufgaben und starten Sie es neu

413. Erwägen Sie, große Build-Verzeichnisse zu Ihrer `.gitignore`-Datei hinzuzufügen413. Erwägen Sie, große Build-Verzeichnisse zu Ihrer `.gitignore`-Datei hinzuzufügen

424. Starten Sie mit [`claude --safe-mode`](/docs/de/cli-reference#cli-flags) neu, um zu überprüfen, ob ein Plugin, MCP-Server oder Hook die Quelle ist. Dies deaktiviert alle Anpassungen für die Sitzung; wenn die Nutzung sinkt, siehe [Konfiguration debuggen](/docs/de/debug-your-config#test-against-a-clean-configuration), um herauszufinden, welche424. Starten Sie mit [`claude --safe-mode`](/docs/de/cli-reference#cli-flags) neu, um zu überprüfen, ob ein Plugin, MCP-Server oder Hook die Ursache ist. Dies deaktiviert alle Anpassungen für die Sitzung; wenn die Auslastung sinkt, siehe [Debug your configuration](/docs/de/debug-your-config#test-against-a-clean-configuration), um herauszufinden, welche es ist

43 43 

44Wenn die Speichernutzung nach diesen Schritten hoch bleibt, führen Sie `/heapdump` aus, um zwei Dateien auf `~/Desktop` zu schreiben: einen JavaScript-Heap-Snapshot mit dem Namen `<session-id>.heapsnapshot` und eine Speicheraufschlüsselung mit dem Namen `<session-id>-diagnostics.json`. Claude Code [verbirgt den Befehl im Befehlsmenü](/docs/de/commands#how-the-command-menu-matches-what-you-type); geben Sie ihn vollständig ein. Auf Linux ohne Desktop-Ordner werden die Dateien in Ihr Home-Verzeichnis geschrieben.44Wenn der Heap-Speicher einer Sitzung 2,5 GB überschreitet, wird eine kritische Speicherauslastungswarnung angezeigt. Um den Speicher freizugeben, starten Sie Claude Code neu und führen Sie [`claude --continue`](/docs/de/cli-reference#cli-flags) aus, um die Konversation in einem neuen Prozess fortzusetzen.

45 

46Außerhalb des [Vollbildmodus](/docs/de/fullscreen) gibt das Ausführen von `/compact` auch Speicher frei. Die Warnung verschwindet, sobald die Speicherauslastung wieder unter 2,5 GB fällt.

47 

48Wenn die Speicherauslastung nach diesen Schritten hoch bleibt, führen Sie `/heapdump` aus, um zwei Dateien auf `~/Desktop` zu schreiben: einen JavaScript-Heap-Snapshot mit dem Namen `<session-id>.heapsnapshot` und eine Speicheraufschlüsselung mit dem Namen `<session-id>-diagnostics.json`. Claude Code [blendet den Befehl aus dem Befehlsmenü aus](/docs/de/commands#how-the-command-menu-matches-what-you-type); geben Sie ihn vollständig ein. Unter Linux ohne Desktop-Ordner werden die Dateien in Ihr Home-Verzeichnis geschrieben.

45 49 

46<Warning>50<Warning>

47 Die `.heapsnapshot`-Datei enthält jeden String im Prozess, einschließlich Ihrer vollständigen Konversation und Anmeldedaten. Fügen Sie sie nicht an ein öffentliches Issue an und teilen Sie sie nicht.51 Die `.heapsnapshot`-Datei enthält jeden String im Prozess, einschließlich Ihrer vollständigen Konversation und Anmeldedaten. Fügen Sie sie nicht an ein öffentliches Problem an und teilen Sie sie nicht.

48</Warning>52</Warning>

49 53 

50Der Befehl gibt auch eine Zusammenfassung in der Konversation aus, die die Resident Set Size, JS Heap, Array Buffer und nicht berechneten nativen Speicher zeigt, sowie alle Leak-Indikatoren, die er erkannt hat, wie z. B. eine hohe Speicherwachstumsrate oder eine ungewöhnlich hohe Anzahl offener Handles. Die Zusammenfassung gibt an, ob sich der meiste Speicher im JS Heap befindet, den der Snapshot erfasst, oder im nativen Speicher, den er nicht erfasst.54Der Befehl gibt auch eine Zusammenfassung in der Konversation aus, die die Resident Set Size, JS Heap, Array Buffer und nicht berechneten nativen Speicher anzeigt, sowie alle Leak-Indikatoren, die er erkannt hat, wie z. B. eine hohe Speicherwachstumsrate oder eine ungewöhnlich hohe Anzahl offener Handles. Die Zusammenfassung gibt an, ob sich der meiste Speicher im JS Heap befindet, den der Snapshot erfasst, oder im nativen Speicher, den er nicht erfasst.

51 55 

52Führen Sie eines von zwei Dingen mit der Ausgabe durch:56Melden Sie die Ausgabe oder untersuchen Sie sie selbst:

53 57 

54* **Melden Sie es**: Öffnen Sie ein [GitHub Issue](https://github.com/anthropics/claude-code/issues) und fügen Sie nur die `-diagnostics.json`-Datei an, die die Statistiken hinter der gedruckten Zusammenfassung enthält und keinen Gesprächsinhalt oder Anmeldedaten58* **Melden Sie es**: öffnen Sie ein [GitHub-Problem](https://github.com/anthropics/claude-code/issues) und fügen Sie nur die `-diagnostics.json`-Datei an, die die Statistiken hinter der gedruckten Zusammenfassung enthält und keinen Konversationsinhalt oder Anmeldedaten

55* **Untersuchen Sie es selbst**: Wenn die Zusammenfassung sagt, dass sich der meiste Speicher im JS Heap befindet, öffnen Sie die `.heapsnapshot`-Datei in Chrome DevTools unter Memory → Load und sortieren Sie nach beibehaltener Größe, um zu sehen, was den Speicher hält59* **Untersuchen Sie es selbst**: Wenn die Zusammenfassung sagt, dass sich der meiste Speicher im JS Heap befindet, öffnen Sie die `.heapsnapshot`-Datei in Chrome DevTools unter Memory → Load und sortieren Sie nach Retained Size, um zu sehen, was den Speicher hält

56 60 

57Wenn die Zusammenfassung sagt, dass sich der meiste Speicher im nativen Speicher befindet, kann der Snapshot ihn nicht anzeigen; fügen Sie stattdessen die Leak-Indikatoren der Zusammenfassung in Ihren Bericht ein.61Wenn die Zusammenfassung sagt, dass sich der meiste Speicher im nativen Speicher befindet, kann der Snapshot ihn nicht anzeigen; fügen Sie stattdessen die Leak-Indikatoren der Zusammenfassung in Ihren Bericht ein.

58 62 


60 Große Tabellen werden im Terminal abgeschnitten64 Große Tabellen werden im Terminal abgeschnitten

61</h3>65</h3>

62 66 

63Eine Markdown-Tabelle mit mehr als 200 Zeilen rendert ihre ersten 200 Zeilen gefolgt von einer `… N more rows not shown`-Zeile. Nur die Anzeige ist begrenzt: Die vollständige Tabelle bleibt in der Konversation, und [`/copy`](/docs/de/commands) kopiert jede Zeile. Für eine Tabelle, die zu groß ist, um sie im Terminal zu lesen, bitten Sie Claude, sie stattdessen in eine Datei zu schreiben. Vor v2.1.208 renderte Claude Code jede Zeile, daher konnte das Fortsetzen einer Sitzung, die eine sehr große Tabelle enthielt, beim erneuten Rendern steckenbleiben.67Eine Markdown-Tabelle mit mehr als 200 Zeilen rendert ihre ersten 200 Zeilen gefolgt von einer `… N more rows not shown`-Zeile. Nur die Anzeige ist begrenzt: die vollständige Tabelle bleibt in der Konversation, und [`/copy`](/docs/de/commands) kopiert jede Zeile. Für eine Tabelle, die zu groß ist, um sie im Terminal zu lesen, bitten Sie Claude, sie stattdessen in eine Datei zu schreiben. Vor v2.1.208 renderte Claude Code jede Zeile, daher konnte das Fortsetzen einer Sitzung, die eine sehr große Tabelle enthielt, beim erneuten Rendern steckenbleiben.

64 68 

65<h3 id="auto-compaction-stops-with-a-thrashing-error">69<h3 id="auto-compaction-stops-with-a-thrashing-error">

66 Auto-Kompaktierung stoppt mit einem Thrashing-Fehler70 Auto-Komprimierung stoppt mit einem Thrashing-Fehler

67</h3>71</h3>

68 72 

69Wenn Sie `Autocompact is thrashing: the context refilled to the limit...` sehen, war die automatische Kompaktierung erfolgreich, aber eine Datei oder ein Tool-Output hat das Kontextfenster sofort mehrmals hintereinander gefüllt. Claude Code stoppt die Wiederholung, um zu vermeiden, dass API-Aufrufe auf einer Schleife verschwendet werden, die keinen Fortschritt macht.73Wenn Sie `Autocompact is thrashing: the context refilled to the limit...` sehen, war die automatische Komprimierung erfolgreich, aber eine Datei oder Toolausgabe hat das Kontextfenster sofort mehrmals hintereinander gefüllt. Claude Code stoppt die Wiederholung, um zu vermeiden, dass API-Aufrufe für eine Schleife verschwendet werden, die keinen Fortschritt macht.

70 74 

71Um sich zu erholen:75Zur Wiederherstellung:

72 76 

731. Bitten Sie Claude, die übergroße Datei in kleineren Chunks zu lesen, z. B. einen bestimmten Zeilenbereich oder eine Funktion, statt der ganzen Datei771. Bitten Sie Claude, die übergroße Datei in kleineren Chunks zu lesen, z. B. einen bestimmten Zeilenbereich oder eine Funktion, anstatt die ganze Datei

742. Führen Sie `/compact` mit einem Fokus aus, der die große Ausgabe löscht, z. B. `/compact keep only the plan and the diff`782. Führen Sie `/compact` mit einem Fokus aus, der die große Ausgabe löscht, z. B. `/compact keep only the plan and the diff`

753. Verschieben Sie die Arbeit mit großen Dateien zu einem [Subagenten](/docs/de/sub-agents), damit er in einem separaten Kontextfenster ausgeführt wird793. Verschieben Sie die Arbeit mit großen Dateien zu einem [Subagent](/docs/de/sub-agents), damit sie in einem separaten Kontextfenster ausgeführt wird

764. Führen Sie `/clear` aus, wenn das frühere Gespräch nicht mehr benötigt wird804. Führen Sie `/clear` aus, wenn die frühere Konversation nicht mehr benötigt wird

77 81 

78<h3 id="command-hangs-or-freezes">82<h3 id="command-hangs-or-freezes">

79 Befehl hängt oder friert ein83 Befehl hängt oder friert ein


81 85 

82Wenn Claude Code nicht reagiert:86Wenn Claude Code nicht reagiert:

83 87 

841. Drücken Sie Strg+C, um zu versuchen, den aktuellen Vorgang abzubrechen881. Drücken Sie Ctrl+C, um zu versuchen, den aktuellen Vorgang abzubrechen

852. Wenn nicht reagiert, müssen Sie möglicherweise das Terminal schließen und neu starten892. Wenn nicht reagiert, müssen Sie möglicherweise das Terminal schließen und neu starten

86 90 

87Das Neustarten verliert Ihre Konversation nicht. Führen Sie `claude --resume` im selben Verzeichnis aus, um die Sitzung fortzusetzen.91Das Neustarten verliert Ihre Konversation nicht. Führen Sie `claude --resume` im selben Verzeichnis aus, um die Sitzung wieder aufzugreifen.

88 92 

89<h3 id="garbled-or-corrupted-text-in-an-editor’s-integrated-terminal">93<h3 id="garbled-or-corrupted-text-in-an-editor’s-integrated-terminal">

90 Verzerrter oder beschädigter Text im integrierten Terminal eines Editors94 Verstümmelte oder beschädigte Text in einem integrierten Terminal des Editors

91</h3>95</h3>

92 96 

93Wenn Zeichen als Kästchen, Verschmierungen oder falsche Glyphen angezeigt werden, wenn Sie Claude Code im integrierten Terminal von VS Code, Cursor oder Devin Desktop ausführen, ist der GPU-Renderer des Terminals wahrscheinlich die Ursache. Führen Sie `/terminal-setup` in Claude Code aus, um `terminal.integrated.gpuAcceleration` auf `"off"` zu setzen, oder setzen Sie es manuell in Ihren Editor-Einstellungen und laden Sie das Fenster neu. Siehe [Terminalkonfiguration](/docs/de/terminal-config) für die anderen Einstellungen, die `/terminal-setup` schreibt.97Wenn Zeichen als Kästchen, Verschmierungen oder falsche Glyphen angezeigt werden, wenn Claude Code im integrierten Terminal von VS Code, Cursor oder Devin Desktop ausgeführt wird, ist der GPU-Renderer des Terminals wahrscheinlich die Ursache. Führen Sie `/terminal-setup` in Claude Code aus, um `terminal.integrated.gpuAcceleration` auf `"off"` zu setzen, oder setzen Sie es manuell in Ihren Editor-Einstellungen und laden Sie das Fenster neu. Siehe [Terminal configuration](/docs/de/terminal-config) für die anderen Einstellungen, die `/terminal-setup` schreibt.

94 98 

95<h3 id="mouse-wheel-scrolls-one-line-at-a-time-in-fullscreen-rendering">99<h3 id="mouse-wheel-scrolls-one-line-at-a-time-in-fullscreen-rendering">

96 Mausrad scrollt zeilenweise im Vollbildrendering100 Mausrad scrollt im Vollbildmodus eine Zeile nach der anderen

97</h3>101</h3>

98 102 

99Im [Vollbildrendering](/docs/de/fullscreen) scrollt Claude Code die Konversation selbst, anstatt es Ihrem Terminal zu überlassen. Wenn jede Radkerbe weniger Zeilen bewegt, als Sie möchten, führen Sie `/scroll-speed` aus, um die Anzahl der Zeilen pro Kerbe zu erhöhen und zu speichern, oder setzen Sie die Umgebungsvariable `CLAUDE_CODE_SCROLL_SPEED`, außer im JetBrains IDE-Terminal, wo Claude Code seine eigene Scroll-Behandlung anwendet und keine von beiden wirksam wird. Siehe [Mausrad-Scrolling](/docs/de/fullscreen#mouse-wheel-scrolling) für die Werte, die jede akzeptiert.103Im [Vollbildmodus](/docs/de/fullscreen) scrollt Claude Code die Konversation selbst, anstatt sie Ihrem Terminal zu überlassen. Wenn jede Rad-Kerbe weniger Zeilen bewegt, als Sie möchten, führen Sie `/scroll-speed` aus, um die Anzahl der Zeilen pro Kerbe zu erhöhen und zu speichern, oder setzen Sie die Umgebungsvariable `CLAUDE_CODE_SCROLL_SPEED`, außer im JetBrains IDE-Terminal, wo Claude Code sein eigenes Scroll-Handling anwendet und keines von beiden wirksam wird. Siehe [Mouse wheel scrolling](/docs/de/fullscreen#mouse-wheel-scrolling) für die Werte, die jeder akzeptiert.

100 104 

101Um schneller zu bewegen, ohne die Geschwindigkeit zu ändern, drücken Sie `PgUp` und `PgDn`, um jeweils einen halben Bildschirm zu scrollen. Um das Scrolling an den nativen Scrollback Ihres Terminals zurückzugeben, führen Sie `/tui default` aus, um zum klassischen Renderer zu wechseln.105Um schneller zu bewegen, ohne die Geschwindigkeit zu ändern, drücken Sie `PgUp` und `PgDn`, um jeweils einen halben Bildschirm zu scrollen. Um stattdessen den nativen Scrollback Ihres Terminals zu verwenden, führen Sie `/tui default` aus, um zum klassischen Renderer zu wechseln.

102 106 

103<h3 id="clipboard-commands-such-as-pbcopy-fail-inside-the-sandbox">107<h3 id="clipboard-commands-such-as-pbcopy-fail-inside-the-sandbox">

104 Clipboard-Befehle wie `pbcopy` schlagen in der Sandbox fehl108 Clipboard-Befehle wie `pbcopy` schlagen in der Sandbox fehl

105</h3>109</h3>

106 110 

107Wenn [Sandboxing](/docs/de/sandboxing) aktiviert ist, können Clipboard-Dienstprogramme wie `pbcopy`, `xclip` und `wl-copy` die Systemzwischenablage von innerhalb eines Sandbox-Bash-Befehls nicht erreichen, wodurch Ihre Zwischenablage nach dem Piping von Text durch Claude unverändert bleibt.111Wenn [Sandboxing](/docs/de/sandboxing) aktiviert ist, können Clipboard-Dienstprogramme wie `pbcopy`, `xclip` und `wl-copy` nicht auf die Systemzwischenablage von innerhalb eines Sandbox-Bash-Befehls zugreifen, wodurch Ihre Zwischenablage nach dem Piping von Text durch Claude unverändert bleibt.

108 112 

109Um Claudes Ausgabe in Ihre Zwischenablage zu legen, bitten Sie Claude, den Inhalt in seiner Antwort auszudrucken, und führen Sie dann [`/copy`](/docs/de/commands) aus. `/copy` schreibt in die Zwischenablage vom Claude Code-Prozess selbst statt von einem Sandbox-Befehl, daher blockiert Sandboxing es nicht. Es kann einen einzelnen Code-Block statt der ganzen Antwort kopieren, und es schreibt auch, was es kopiert hat, in eine Datei und gibt den Pfad aus, was Ihnen einen Fallback bietet, wenn der Zwischenablage-Schreibvorgang Ihr Terminal nicht erreicht, z. B. über SSH.113Um die Ausgabe von Claude in Ihre Zwischenablage zu legen, bitten Sie Claude, den Inhalt in seiner Antwort auszudrucken, und führen Sie dann [`/copy`](/docs/de/commands) aus. `/copy` schreibt von Claude Code-Prozess selbst in die Zwischenablage, nicht von einem Sandbox-Befehl, daher blockiert Sandboxing es nicht. Es kann einen einzelnen Code-Block anstelle der gesamten Antwort kopieren, und es schreibt auch, was es kopiert hat, in eine Datei und gibt den Pfad aus, was Ihnen einen Fallback bietet, wenn der Zwischenablage-Schreibvorgang Ihr Terminal nicht erreicht, z. B. über SSH.

110 114 

111Um einem gepipten Befehl stattdessen direkten Zugriff auf die Zwischenablage zu ermöglichen, fügen Sie `pbcopy *`, `wl-copy *` oder `xclip *` zu [`excludedCommands`](/docs/de/settings-reference#sandbox-excludedcommands) hinzu, damit der Befehl außerhalb der Sandbox ausgeführt wird.115Wenn Claude Text an eines dieser Tools piped, fügt das Hinzufügen von `pbcopy *`, `wl-copy *` oder `xclip *` zu [`excludedCommands`](/docs/de/settings-reference#sandbox-excludedcommands) diesen Aufruf nicht von selbst aus der Sandbox heraus.

112 116 

113<h3 id="copied-text-doesn’t-reach-your-local-clipboard-over-ssh">117<h3 id="copied-text-doesn’t-reach-your-local-clipboard-over-ssh">

114 Kopierter Text erreicht Ihre lokale Zwischenablage nicht über SSH118 Kopierter Text erreicht Ihre lokale Zwischenablage nicht über SSH

115</h3>119</h3>

116 120 

117Wenn Claude Code auf einem Remote-Computer über SSH ausgeführt wird, kann es kein Clipboard-Tool auf Ihrem lokalen Computer ausführen. Außerhalb von tmux sendet Claude Code den Text beim Auswählen von Text im [Vollbildrendering](/docs/de/fullscreen) oder beim Ausführen von `/copy` stattdessen als OSC 52-Escape-Sequenz an Ihr Terminal. Ihr Terminal entscheidet, ob es den Text in Ihre Zwischenablage legt. `/copy` meldet `Copied to clipboard`, unabhängig davon, ob der Text angekommen ist, und außerhalb von tmux lautet die Auswahlmitteilung `sent N chars via OSC 52`.121Wenn Claude Code auf einem Remote-Computer über SSH ausgeführt wird, kann es kein Clipboard-Tool auf Ihrem lokalen Computer ausführen. Außerhalb von tmux sendet Claude Code den Text beim Auswählen von Text im [Vollbildmodus](/docs/de/fullscreen) oder beim Ausführen von `/copy` stattdessen als OSC 52-Escape-Sequenz an Ihr Terminal. Ihr Terminal entscheidet, ob es auf Ihre Zwischenablage gelegt wird. `/copy` meldet `Copied to clipboard`, unabhängig davon, ob der Text angekommen ist, und außerhalb von tmux lautet die Auswahlmitteilung `sent N chars via OSC 52`.

118 122 

119Einige Terminals reagieren nicht auf OSC 52. iTerm2 ignoriert es, bis Sie **Settings > General > Selection > Applications in terminal may access clipboard** aktivieren, und macOS Terminal.app unterstützt es nicht.123Einige Terminals reagieren nicht auf OSC 52. iTerm2 ignoriert es, bis Sie **Settings > General > Selection > Applications in terminal may access clipboard** aktivieren, und macOS Terminal.app unterstützt es nicht.

120 124 

121Um den Text ohne OSC 52 zu erhalten:125Um den Text ohne OSC 52 zu erhalten:

122 126 

123* Halten Sie die native Auswahlaste Ihres Terminals gedrückt, während Sie ziehen, und kopieren Sie dann mit Ihrer üblichen Terminal-Verknüpfung, z. B. `Cmd+C`. Die Taste ist `Fn` in Terminal.app und `Option` in iTerm2. [Native Textauswahl beibehalten](/docs/de/fullscreen#keep-native-text-selection) listet sie für andere Terminals auf.127* Halten Sie die native Auswahlaste Ihres Terminals gedrückt, während Sie ziehen, und kopieren Sie dann mit der üblichen Verknüpfung Ihres Terminals, z. B. `Cmd+C`. Die Taste ist `Fn` in Terminal.app und `Option` in iTerm2. [Keep native text selection](/docs/de/fullscreen#keep-native-text-selection) listet sie für andere Terminals auf.

124* Setzen Sie [`CLAUDE_CODE_DISABLE_MOUSE=1`](/docs/de/env-vars) auf dem Remote-Computer, damit Ihr Terminal die Auswahl für die gesamte Sitzung verarbeitet.128* Setzen Sie [`CLAUDE_CODE_DISABLE_MOUSE=1`](/docs/de/env-vars) auf dem Remote-Computer, damit Ihr Terminal die Auswahl für die gesamte Sitzung handhabt.

125 129 

126<h3 id="search-and-discovery-issues">130<h3 id="search-and-discovery-issues">

127 Such- und Erkennungsprobleme131 Such- und Erkennungsprobleme

128</h3>132</h3>

129 133 

130Wenn das Such-Tool, `@file`-Erwähnungen, benutzerdefinierte Agenten oder benutzerdefinierte Skills Dateien nicht finden, kann die gebündelte `ripgrep`-Binärdatei auf Ihrem System möglicherweise nicht ausgeführt werden. Installieren Sie das `ripgrep`-Paket Ihrer Plattform und teilen Sie Claude Code mit, es stattdessen zu verwenden:134Wenn das Such-Tool, `@file`-Erwähnungen, benutzerdefinierte Agenten oder benutzerdefinierte Skills Dateien nicht finden, kann die gebündelte `ripgrep`-Binärdatei auf Ihrem System möglicherweise nicht ausgeführt werden. Installieren Sie das `ripgrep`-Paket Ihrer Plattform und teilen Sie Claude Code mit, dass es stattdessen verwendet werden soll:

131 135 

132<Tabs>136<Tabs>

133 <Tab title="macOS">137 <Tab title="macOS">


147 apk add ripgrep151 apk add ripgrep

148 ```152 ```

149 153 

150 `ripgrep` ist in Alpines Community-Repository. Wenn `apk` meldet, dass das Paket fehlt, siehe [Alpine Linux-Setup](/docs/de/setup#alpine-linux-and-musl-based-distributions).154 `ripgrep` befindet sich im Community-Repository von Alpine. Wenn `apk` meldet, dass das Paket fehlt, siehe [Alpine Linux setup](/docs/de/setup#alpine-linux-and-musl-based-distributions).

151 </Tab>155 </Tab>

152 156 

153 <Tab title="Arch">157 <Tab title="Arch">


163 </Tab>167 </Tab>

164</Tabs>168</Tabs>

165 169 

166Setzen Sie dann `USE_BUILTIN_RIPGREP` auf `0`, entweder in Ihrer Shell-[Umgebung](/docs/de/env-vars) oder im `env`-Block Ihrer [`settings.json`](/docs/de/settings-reference#all-settings):170Setzen Sie dann `USE_BUILTIN_RIPGREP` auf `0`, entweder in Ihrer Shell [environment](/docs/de/env-vars) oder im `env`-Block Ihrer [`settings.json`](/docs/de/settings-reference#all-settings):

167 171 

168```json theme={null}172```json theme={null}

169{173{


173}177}

174```178```

175 179 

176Um zu bestätigen, dass der Wechsel wirksam wurde, führen Sie `claude doctor` in Ihrem Terminal aus und überprüfen Sie, dass die Such-Zeile den Pfad Ihres System-ripgrep statt `OK (bundled)` anzeigt.180Um zu bestätigen, dass der Wechsel wirksam wurde, führen Sie `claude doctor` in Ihrem Terminal aus und überprüfen Sie, dass die Such-Zeile den Pfad Ihres System-ripgrep anstelle von `OK (bundled)` anzeigt.

177 181 

178<h3 id="slow-or-incomplete-search-results-on-wsl">182<h3 id="slow-or-incomplete-search-results-on-wsl">

179 Langsame oder unvollständige Suchergebnisse auf WSL183 Langsame oder unvollständige Suchergebnisse auf WSL

180</h3>184</h3>

181 185 

182Leistungseinbußen beim Lesen von Festplatten beim [Arbeiten über Dateisysteme auf WSL](https://learn.microsoft.com/en-us/windows/wsl/filesystems) können zu weniger als erwarteten Übereinstimmungen führen, wenn Sie Claude Code auf WSL verwenden. Die Suche funktioniert immer noch, gibt aber weniger Ergebnisse zurück als auf einem nativen Dateisystem.186Leistungseinbußen beim Lesen von Festplatten beim [Arbeiten über Dateisysteme auf WSL](https://learn.microsoft.com/en-us/windows/wsl/filesystems) können zu weniger als erwarteten Übereinstimmungen führen, wenn Claude Code auf WSL verwendet wird. Die Suche funktioniert immer noch, gibt aber weniger Ergebnisse zurück als auf einem nativen Dateisystem.

183 187 

184<Note>188<Note>

185 `claude doctor` zeigt in diesem Fall die Suche als OK an.189 `claude doctor` zeigt Search in diesem Fall als OK an.

186</Note>190</Note>

187 191 

188**Lösungen:**192**Lösungen:**

189 193 

1901. **Senden Sie spezifischere Suchen**: Reduzieren Sie die Anzahl der durchsuchten Dateien, indem Sie Verzeichnisse oder Dateitypen angeben: „Search for JWT validation logic in the auth-service package" oder „Find use of md5 hash in JS files".1941. **Spezifischere Suchen einreichen**: Reduzieren Sie die Anzahl der durchsuchten Dateien, indem Sie Verzeichnisse oder Dateitypen angeben: "Search for JWT validation logic in the auth-service package" oder "Find use of md5 hash in JS files".

191 195 

1922. **Verschieben Sie das Projekt auf das Linux-Dateisystem**: Stellen Sie sicher, dass sich Ihr Projekt auf dem Linux-Dateisystem (`/home/`) statt auf dem Windows-Dateisystem (`/mnt/c/`) befindet.1962. **Projekt auf Linux-Dateisystem verschieben**: Stellen Sie sicher, dass sich Ihr Projekt nach Möglichkeit auf dem Linux-Dateisystem (`/home/`) anstelle des Windows-Dateisystems (`/mnt/c/`) befindet.

193 197 

1943. **Verwenden Sie stattdessen natives Windows**: Erwägen Sie, Claude Code nativ unter Windows statt über WSL auszuführen, um eine bessere Dateisystem-Leistung zu erzielen.1983. **Verwenden Sie stattdessen natives Windows**: Erwägen Sie, Claude Code nativ unter Windows anstelle von WSL auszuführen, um eine bessere Dateisystem-Leistung zu erzielen.

195 199 

196<h2 id="get-more-help">200<h2 id="get-more-help">

197 Weitere Hilfe erhalten201 Weitere Hilfe erhalten

ultrareview.md +10 −3

Details

50 50 

51Der Basis-Branch muss nicht in Ihrem lokalen Clone vorhanden sein; Claude Code ruft ihn von `origin` ab. Wenn der Name einen Tippfehler enthält, schlägt Claude Code den nächstgelegenen Branch-Namen im Fehler vor.51Der Basis-Branch muss nicht in Ihrem lokalen Clone vorhanden sein; Claude Code ruft ihn von `origin` ab. Wenn der Name einen Tippfehler enthält, schlägt Claude Code den nächstgelegenen Branch-Namen im Fehler vor.

52 52 

53Ein Commit-ID oder Tag funktioniert auch als Basis, und die Review deckt dann die Änderungen auf Ihrem Branch seit diesem Commit ab.

54 

53<h3 id="review-a-pull-request">55<h3 id="review-a-pull-request">

54 Review eines Pull Requests56 Review eines Pull Requests

55</h3>57</h3>


114Ultrareview überprüft den Diff, bevor irgendwelche Review-Arbeiten ausgeführt werden, und teilt Ihnen mit, wenn es ihn nicht wie vorhanden überprüfen kann:116Ultrareview überprüft den Diff, bevor irgendwelche Review-Arbeiten ausgeführt werden, und teilt Ihnen mit, wenn es ihn nicht wie vorhanden überprüfen kann:

115 117 

116* **Diff zu groß**: Eine Branch-Review kann standardmäßig bis zu 500 geänderte Dateien und 8.000 geänderte Zeilen enthalten. Die genauen Werte können sich ändern, und die [Ablehnung](/docs/de/errors#diff-is-too-large-for-ultrareview) nennt die geltenden Werte, die Größe Ihres Diffs und die Dateien mit den meisten geänderten Zeilen. Claude Code lehnt einen zu großen Pull Request auf die gleiche Weise ab und nennt seine Datei- und Zeilenanzahl, aber nicht die Aufschlüsselung pro Datei118* **Diff zu groß**: Eine Branch-Review kann standardmäßig bis zu 500 geänderte Dateien und 8.000 geänderte Zeilen enthalten. Die genauen Werte können sich ändern, und die [Ablehnung](/docs/de/errors#diff-is-too-large-for-ultrareview) nennt die geltenden Werte, die Größe Ihres Diffs und die Dateien mit den meisten geänderten Zeilen. Claude Code lehnt einen zu großen Pull Request auf die gleiche Weise ab und nennt seine Datei- und Zeilenanzahl, aber nicht die Aufschlüsselung pro Datei

117* **Nichts zu überprüfen**: Wenn der Diff gegen die Basis leer ist, teilt Claude Code dies mit und schlägt vor, lokale Änderungen zu stagen oder zu committen, oder eine andere Basis zu übergeben119* **Nichts zu überprüfen**: Wenn der Diff gegen die Basis leer ist, weigert sich Ultrareview und nennt den Branch oder Commit, gegen den es verglichen wurde, und den Fall, in dem Sie sich befinden, wie z. B. auf dem Basis-Branch selbst mit nichts Uncommitted, oder ein Branch, dessen Commits alle bereits Teil der Basis sind. Es schlägt auch den Weg aus diesem Fall vor, wie z. B. zum Branch mit Ihrer Arbeit wechseln, lokale Änderungen stagen oder committen, oder eine andere Basis übergeben

118* **Keine Merge-Basis**: Wenn Ihr Branch keine Historie mit dem Basis-Branch teilt, fällt Claude Code auf die Überprüfung jeder verfolgten Datei im Repository zurück; das Fallback erfordert einen vollständigen Clone und wendet die gleichen Größenlimits an. Bei einem Checkout ohne Branches oder andere Refs, wie ein detached HEAD, der durch Auschecken von `FETCH_HEAD` nach dem Abrufen einer URL erstellt wurde, [lehnt Claude Code die Review ab](/docs/de/errors#your-checkout-has-no-branches) und schlägt vor, zuerst einen Branch zu erstellen120* **Erster Commit**: Der erste Commit eines Repositories hat nichts Früheres zum Vergleichen, daher überprüft Ultrareview jede Datei darin, nachdem Sie im Startdialog bestätigt haben. Wenn Sie unverfolgbare Dateien haben, weigert es sich stattdessen und teilt Ihnen mit, die Dateien zu `git add`, die Sie überprüft haben möchten. Die gleichen Größenlimits gelten.

121 

122 Ein erster Commit wird nur nach dieser Bestätigung ganz überprüft, daher weigern sich der `claude ultrareview` Subbefehl und `claude -p` und verweisen Sie auf eine interaktive Sitzung stattdessen. Erfordert Claude Code v2.1.277 oder später

123* **Keine Merge-Basis**: Wenn Ihr Branch keine Historie mit dem Basis-Branch teilt, oder das Repository keinen Basis-Branch zum Vergleichen hat, überprüft Ultrareview stattdessen jede verfolgbare Datei im Repository. Das Fallback erfordert einen vollständigen Clone und wendet die gleichen Größenlimits an. Es wird nur gestartet, wenn Sie im Startdialog bestätigen oder den `claude ultrareview` Subbefehl selbst ausführen. In `claude -p` und überall sonst, wo keines davon passiert, weigert sich Ultrareview, sagt, die Review würde jede Datei abdecken, und verweist Sie auf eine interaktive Sitzung.

124 

125 Bei einem Checkout ohne Branches oder andere Refs, wie ein detached HEAD, der durch Auschecken von `FETCH_HEAD` nach dem Abrufen einer URL erstellt wurde, [lehnt Claude Code die Review ab](/docs/de/errors#your-checkout-has-no-branches) und schlägt vor, zuerst einen Branch zu erstellen

119 126 

120<h2 id="pricing-and-free-runs">127<h2 id="pricing-and-free-runs">

121 Preisgestaltung und kostenlose Durchläufe128 Preisgestaltung und kostenlose Durchläufe


166 173 

167Ohne Argumente überprüft der Unterbefehl den Diff zwischen Ihrem aktuellen Branch und dem Standard-Branch, mit dem gleichen [Fallback für das gesamte Repository](#diff-limits-and-fallbacks) wie `/code-review ultra`, wenn keine Merge-Basis vorhanden ist. Übergeben Sie eine PR-Nummer, um einen Pull Request zu überprüfen, oder einen Base-Branch, um dagegen zu überprüfen; die [Behandlung des Base-Branch](#review-against-a-different-base) entspricht dem interaktiven Befehl.174Ohne Argumente überprüft der Unterbefehl den Diff zwischen Ihrem aktuellen Branch und dem Standard-Branch, mit dem gleichen [Fallback für das gesamte Repository](#diff-limits-and-fallbacks) wie `/code-review ultra`, wenn keine Merge-Basis vorhanden ist. Übergeben Sie eine PR-Nummer, um einen Pull Request zu überprüfen, oder einen Base-Branch, um dagegen zu überprüfen; die [Behandlung des Base-Branch](#review-against-a-different-base) entspricht dem interaktiven Befehl.

168 175 

169Sie stimmen dem Fallback für das gesamte Repository und der Abrechnungs- und Bedingungseingabeaufforderung zu, wenn Sie den Unterbefehl ausführen, sodass die Ausführung ohne Warten auf Eingaben startet.176Sie stimmen dem Fallback für das gesamte Repository und der Abrechnungs- und Bedingungseingabeaufforderung zu, wenn Sie den Unterbefehl ausführen, sodass die Ausführung ohne Warten auf Eingaben startet. 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.

170 177 

171In Claude Code v2.1.218 oder später können Sie die Cloud-Review auch starten, indem Sie `/code-review ultra` in einer nicht-interaktiven Sitzung ausführen, beispielsweise `claude -p '/code-review ultra'`. Claude Code startet die Review und gibt einen Tracking-Link aus, ohne auf die Ergebnisse zu warten, im Gegensatz zu `claude ultrareview`, das blockiert, bis diese ankommen. Wenn die Review Nutzungsguthaben abrechnen würde, stoppt Claude Code vor dem Start und verweist Sie auf `claude ultrareview`, da die Abrechnungsbestätigung eine interaktive Sitzung benötigt. Vor v2.1.218 führte `/code-review ultra` in einer nicht-interaktiven Sitzung eine lokale Review aus.178In Claude Code v2.1.218 oder später können Sie die Cloud-Review auch starten, indem Sie `/code-review ultra` in einer nicht-interaktiven Sitzung ausführen, beispielsweise `claude -p '/code-review ultra'`. Claude Code startet die Review und gibt einen Tracking-Link aus, ohne auf die Ergebnisse zu warten, im Gegensatz zu `claude ultrareview`, das blockiert, bis diese ankommen. Wenn die Review Nutzungsguthaben abrechnen würde, stoppt Claude Code vor dem Start und verweist Sie auf `claude ultrareview`, da die Abrechnungsbestätigung eine interaktive Sitzung benötigt. Vor v2.1.218 führte `/code-review ultra` in einer nicht-interaktiven Sitzung eine lokale Review aus.

172 179 

vs-code.md +166 −42

Details

56 56 

57 Weitere Möglichkeiten zum Öffnen von Claude Code:57 Weitere Möglichkeiten zum Öffnen von Claude Code:

58 58 

59 * **Aktivitätsleiste**: Klicken Sie auf das Spark-Symbol in der linken Seitenleiste, um die Sitzungsliste zu öffnen. Klicken Sie auf eine beliebige Sitzung, um sie als vollständige Editor-Registerkarte zu öffnen, oder starten Sie eine neue. Dieses Symbol ist immer in der Aktivitätsleiste sichtbar.59 * **Aktivitätsleiste**: Klicken Sie auf das Spark-Symbol in der linken Seitenleiste, um die Sitzungsliste zu öffnen. Klicken Sie auf eine beliebige Sitzung, um sie an Ihrem [bevorzugten Ort](#extension-settings) zu öffnen, oder starten Sie eine neue. Dieses Symbol ist immer in der Aktivitätsleiste sichtbar.

60 * **Befehlspalette**: `Cmd+Shift+P` (Mac) oder `Ctrl+Shift+P` (Windows/Linux), geben Sie „Claude Code" ein und wählen Sie eine Option wie „In neuem Tab öffnen"60 * **Befehlspalette**: `Cmd+Shift+P` (Mac) oder `Ctrl+Shift+P` (Windows/Linux), geben Sie „Claude Code" ein und wählen Sie eine Option wie „In neuem Tab öffnen"

61 * **Statusleiste**: Wenn Sie [`preferredLocation`](#extension-settings) auf `sidebar` gesetzt haben oder Claude mit **Claude Code: In Seitenleiste öffnen** geöffnet haben, klicken Sie auf **✱ Claude Code** in der unteren rechten Ecke des Fensters. Dies funktioniert auch, wenn keine Datei geöffnet ist.61 * **Statusleiste**: Wenn Sie [`preferredLocation`](#extension-settings) auf `sidebar` gesetzt haben oder Claude mit **Claude Code: In Seitenleiste öffnen** geöffnet haben, klicken Sie auf **✻ Claude Code** in der unteren rechten Ecke des Fensters. Dies funktioniert auch, wenn keine Datei geöffnet ist.

62 62 

63 Sie können das Claude-Panel ziehen, um es überall in VS Code zu repositionieren. Weitere Informationen finden Sie unter [Passen Sie Ihren Arbeitsablauf an](#customize-your-workflow).63 Sie können das Claude-Panel ziehen, um es überall in VS Code zu repositionieren. Weitere Informationen finden Sie unter [Passen Sie Ihren Arbeitsablauf an](#customize-your-workflow).

64 </Step>64 </Step>


90 * Im Modus „Manuell" zeigt Claude, wenn es eine Datei bearbeiten möchte, einen Vergleich der ursprünglichen und vorgeschlagenen Änderungen nebeneinander an und fragt um Genehmigung. Sie können akzeptieren, ablehnen oder Claude sagen, was es stattdessen tun soll. Wenn Sie den vorgeschlagenen Inhalt direkt in der Diff-Ansicht bearbeiten, bevor Sie akzeptieren, wird Claude mitgeteilt, dass Sie ihn geändert haben, damit es nicht davon ausgeht, dass die Datei seinem ursprünglichen Vorschlag entspricht.90 * Im Modus „Manuell" zeigt Claude, wenn es eine Datei bearbeiten möchte, einen Vergleich der ursprünglichen und vorgeschlagenen Änderungen nebeneinander an und fragt um Genehmigung. Sie können akzeptieren, ablehnen oder Claude sagen, was es stattdessen tun soll. Wenn Sie den vorgeschlagenen Inhalt direkt in der Diff-Ansicht bearbeiten, bevor Sie akzeptieren, wird Claude mitgeteilt, dass Sie ihn geändert haben, damit es nicht davon ausgeht, dass die Datei seinem ursprünglichen Vorschlag entspricht.

91 91 

92 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-edits.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=e005f9b41c541c5c7c59c082f7c4841c" alt="VS Code mit einem Diff von Claudes vorgeschlagenen Änderungen und einer Berechtigungsaufforderung, die fragt, ob die Bearbeitung durchgeführt werden soll" width="3292" height="1876" data-path="images/vs-code-edits.png" />92 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-edits.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=e005f9b41c541c5c7c59c082f7c4841c" alt="VS Code mit einem Diff von Claudes vorgeschlagenen Änderungen und einer Berechtigungsaufforderung, die fragt, ob die Bearbeitung durchgeführt werden soll" width="3292" height="1876" data-path="images/vs-code-edits.png" />

93 

94 Um einen vorgeschlagenen Bearbeitungsvorgang nacheinander zu überprüfen, verwenden Sie die Schaltflächen **Accept this change** und **Reject this change** unter jeder Änderung im Diff. Das Ablehnen einer Änderung setzt sie im vorgeschlagenen Inhalt zurück; das Akzeptieren markiert sie als überprüft. Das Akzeptieren oder Ablehnen der gesamten Datei beendet die Überprüfung dennoch. Ein Diff mit mehr als 100 Änderungen wird ohne die Schaltflächen pro Änderung geöffnet, daher überprüfen Sie ihn als ganze Datei. Die Überprüfung pro Änderung erfordert Claude Code v2.1.275 oder später.

95 

96 Die gleichen Aktionen sind vom Cursor aus im Kontextmenü des Editors und in der Befehlspalette als **Claude Code: Accept Change at Cursor** und **Claude Code: Reject Change at Cursor** verfügbar.

93 </Step>97 </Step>

94</Steps>98</Steps>

95 99 


110 * **Manuell**: Claude fragt vor Dateibearbeitungen und den meisten Shell-Befehlen um Genehmigung.114 * **Manuell**: Claude fragt vor Dateibearbeitungen und den meisten Shell-Befehlen um Genehmigung.

111 * **Plan**: Claude beschreibt, was es tun wird, und wartet auf Genehmigung, bevor Änderungen vorgenommen werden. VS Code öffnet den Plan automatisch als vollständiges Markdown-Dokument, in dem Sie Inline-Kommentare hinzufügen können, um Feedback zu geben, bevor Claude beginnt.115 * **Plan**: Claude beschreibt, was es tun wird, und wartet auf Genehmigung, bevor Änderungen vorgenommen werden. VS Code öffnet den Plan automatisch als vollständiges Markdown-Dokument, in dem Sie Inline-Kommentare hinzufügen können, um Feedback zu geben, bevor Claude beginnt.

112 * **Automatisch bearbeiten**: Claude nimmt Bearbeitungen vor, ohne zu fragen.116 * **Automatisch bearbeiten**: Claude nimmt Bearbeitungen vor, ohne zu fragen.

113* **Modell**: Wählen Sie **Modell wechseln…** aus dem Befehlsmenü, um das Modell während einer Sitzung zu ändern. Sie können auch auf den Modellnamen am unteren Rand des Eingabefelds klicken, um die gleiche Auswahl zu öffnen. Die Auswahl enthält eine Seite **Weitere Modelle** mit den Modellen, die nicht auf der Hauptliste stehen. Wenn das aktuelle Modell [Anstrengungsstufen](/docs/de/model-config#adjust-effort-level) unterstützt, zeigt die Auswahl auch eine Zeile **Anstrengung**. Die Schaltfläche für den Modellnamen, die Seite **Weitere Modelle** und die Zeile **Anstrengung** erfordern Claude Code v2.1.257 oder später.117* **Modell**: Wählen Sie **Modell wechseln…** aus dem Befehlsmenü, um das Modell während einer Sitzung zu ändern. Sie können auch auf den Modellnamen am unteren Rand des Eingabefelds klicken, um die gleiche Auswahl zu öffnen.

114* **Befehlsmenü**: Klicken Sie auf `/` oder geben Sie `/` ein, um das Befehlsmenü zu öffnen. Die Optionen umfassen das Anhängen von Dateien, das Wechseln von Modellen und das Umschalten des erweiterten Denkens. Der Abschnitt „Anpassen" bietet Zugriff auf MCP-Server, Schrägstrich-Befehle, Ausgabestile, Hooks, Speicher, Berechtigungen und Plugins. Elemente mit einem Terminal-Symbol öffnen sich im integrierten Terminal.118 

119 Wenn das aktuelle Modell [Anstrengungsstufen](/docs/de/model-config#adjust-effort-level) unterstützt, zeigt die Auswahl auch eine Zeile **Anstrengung** und die Schaltfläche für den Modellnamen zeigt die ausgewählte Stufe. Wenn Sie eine andere Stufe als `max` wählen, speichert Claude Code sie für das aktuelle Modell als Standard unter [`modelSettings`](/docs/de/settings-reference#modelsettings) in Ihren Benutzereinstellungen; `max` gilt nur für die aktuelle Sitzung. Die Schaltfläche für den Modellnamen und die Zeile **Anstrengung** erfordern Claude Code v2.1.257 oder später.

120* **Befehlsmenü**: Klicken Sie auf `/` oder geben Sie `/` ein, um das Befehlsmenü zu öffnen. Die Optionen umfassen das Anhängen von Dateien, das Wechseln von Modellen und das Umschalten des erweiterten Denkens.

121 

122 Der Abschnitt „Anpassen" bietet Zugriff auf MCP-Server, Befehle, Ausgabestile, Hooks, Speicher, Anweisungen, Berechtigungen und Plugins. Elemente mit einem Terminal-Symbol öffnen sich im integrierten Terminal.

123 

115 * Um Befehle wie `/usage` oder [`/remote-control`](/docs/de/remote-control) zu durchsuchen, wählen Sie **Slash commands** im Abschnitt „Anpassen". Ein Dialog listet sie mit einem Filterfeld auf. Wählen Sie einen aus, um ihn auszuführen. Das Eingeben von `/` im Eingabefeld schlägt Befehle weiterhin inline vor. Erfordert Claude Code v2.1.257 oder später.124 * Um Befehle wie `/usage` oder [`/remote-control`](/docs/de/remote-control) zu durchsuchen, wählen Sie **Slash commands** im Abschnitt „Anpassen". Ein Dialog listet sie mit einem Filterfeld auf. Wählen Sie einen aus, um ihn auszuführen. Das Eingeben von `/` im Eingabefeld schlägt Befehle weiterhin inline vor. Erfordert Claude Code v2.1.257 oder später.

116 * Wählen Sie **Output styles** im Abschnitt „Anpassen", um einen [Ausgabestil](/docs/de/output-styles) auszuwählen, einschließlich Ihrer benutzerdefinierten Stile. Erfordert Claude Code v2.1.257 oder später.125 * Wählen Sie **Output styles** im Abschnitt „Anpassen", um einen [Ausgabestil](/docs/de/output-styles) auszuwählen, einschließlich Ihrer benutzerdefinierten Stile. Erfordert Claude Code v2.1.257 oder später.

126 

127 Um stattdessen einen benutzerdefinierten Stil zu erstellen, wählen Sie **Build a custom style** aus dem Menü **Output styles**. Claude Code schreibt die [Stildatei](/docs/de/output-styles#create-a-custom-output-style) für Sie auf Projekt- oder Benutzerebene. Erfordert Claude Code v2.1.261 oder später.

128 * Wählen Sie **Hooks** im Abschnitt „Anpassen", um die [Hooks](/docs/de/hooks) anzuzeigen, die in der Sitzung geladen sind, gruppiert nach Ereignis. Sie können Hooks hinzufügen, bearbeiten oder entfernen, die in Ihren Benutzer-, Projekt- und lokalen Einstellungsdateien gespeichert sind. Hooks aus anderen Quellen, wie verwaltete Einstellungen oder Plugins, sind schreibgeschützt. Erfordert Claude Code v2.1.269 oder später.

129 * Wählen Sie **Permissions** im Abschnitt „Anpassen", um die [Berechtigungsregeln](/docs/de/permissions) der Sitzung anzuzeigen, gruppiert in „Allow", „Ask" und „Deny". Sie können Regeln zu Ihren Benutzer-, Projekt- oder lokalen Einstellungen hinzufügen und dort gespeicherte Regeln entfernen. Regeln aus anderen Quellen, wie verwaltete Einstellungen oder Genehmigungen, die nur für diese Sitzung gelten, sind schreibgeschützt. Erfordert Claude Code v2.1.269 oder später.

130 * Wählen Sie **Memory** im Abschnitt „Anpassen", um [automatisches Speichern](/docs/de/memory#auto-memory) ein- oder auszuschalten. Während es aktiviert ist, können Sie auch die Speicher durchsuchen, die Claude gespeichert hat, und die Ordner, die sie speichern, in Ihrem Datei-Manager anzeigen. Erfordert Claude Code v2.1.274 oder später.

131 

132 Klicken Sie auf einen gespeicherten Speicher, um ihn im Dialog zu lesen, wo Sie den Text bearbeiten, den Speicher löschen oder seine Datei im Editor öffnen können. Das Anzeigen, Bearbeiten und Löschen eines Speichers im Dialog erfordern Claude Code v2.1.275 oder später.

133 * Wählen Sie **Instructions** im Abschnitt „Anpassen", um die [CLAUDE.md-Dateien](/docs/de/memory#claude-md-files) zu bearbeiten, die Claude liest. Wählen Sie eine Datei aus, um sie im Editor zu öffnen. Wenn die Datei noch nicht vorhanden ist, erstellt Claude Code sie zuerst. Erfordert Claude Code v2.1.274 oder später.

117 * Der Abschnitt „Einstellungen" enthält **Enable Remote Control for all sessions**, das [`remoteControlAtStartup`](/docs/de/settings-reference#remotecontrolatstartup) setzt, um zu steuern, ob [neue interaktive Sitzungen automatisch eine Verbindung zur Remote-Steuerung herstellen](/docs/de/remote-control#enable-remote-control-for-all-sessions). Erfordert Claude Code v2.1.203 oder später.134 * Der Abschnitt „Einstellungen" enthält **Enable Remote Control for all sessions**, das [`remoteControlAtStartup`](/docs/de/settings-reference#remotecontrolatstartup) setzt, um zu steuern, ob [neue interaktive Sitzungen automatisch eine Verbindung zur Remote-Steuerung herstellen](/docs/de/remote-control#enable-remote-control-for-all-sessions). Erfordert Claude Code v2.1.203 oder später.

118 135 

119 Wenn Sie den Schalter umschalten, gilt die Änderung für die bereits in VS Code geöffneten Sitzungen, nicht nur für Sitzungen, die Sie danach starten. Wenn Sie ihn ausschalten, werden die offenen Sitzungen getrennt. Vor v2.1.257 galt der Schalter nur für Sitzungen, die nach der Änderung gestartet wurden.136 Wenn Sie den Schalter in einem VS Code-Fenster ein- oder ausschalten, gilt die Änderung für die bereits in diesem VS Code-Fenster geöffneten Sitzungen, nicht nur für Sitzungen, die Sie danach starten. Wenn Sie ihn ausschalten, werden die offenen Sitzungen getrennt. Mit Claude Code v2.1.261 oder später erreicht die Änderung auch Sitzungen, die in Ihren anderen VS Code-Fenstern geöffnet sind.

120 * Der Abschnitt „Einstellungen" enthält auch **Focus view**, das Werkzeugaufrufe, Werkzeugergebnisse und Denken hinter erweiterbaren Zeilen verbirgt und nur Ihre Eingaben und Claudes Antworten hinterlässt. Claudes neueste To-Do-Liste bleibt sichtbar, ebenso wie der Text einer ausstehenden Frage von Claude; dies erfordert Claude Code v2.1.225 oder später. Schalten Sie es dort um, mit `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux), oder aus der Befehlspalette mit **Claude Code: Toggle Focus view**. Die Änderung gilt für jede offene Sitzung und bleibt über Sitzungen hinweg erhalten. Erfordert Claude Code v2.1.221 oder später.137 * Der Abschnitt „Einstellungen" enthält auch **Focus view**, das Werkzeugaufrufe, Werkzeugergebnisse und Denken hinter erweiterbaren Zeilen verbirgt und nur Ihre Eingaben und Claudes Antworten hinterlässt. Schalten Sie es dort um, mit `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux), oder aus der Befehlspalette mit **Claude Code: Toggle Focus view**. Die Änderung gilt für jede offene Sitzung und bleibt über Sitzungen hinweg erhalten. Erfordert Claude Code v2.1.221 oder später.

138 

139 Claudes neueste To-Do-Liste bleibt sichtbar, ebenso wie der Text einer ausstehenden Frage von Claude; dies erfordert Claude Code v2.1.225 oder später. Während Claude [Subagenten](/docs/de/sub-agents) ausführt, erscheinen Live-Fortschrittszeilen mit ihrer neuesten Aktivität unter der Werkzeugaufrufsgruppe, die sie gestartet hat. Dies erfordert Claude Code v2.1.269 oder später.

140 * Um sich von Ihrem Anthropic-Konto abzumelden, wählen Sie **Sign out** im Abschnitt „Einstellungen", oder geben Sie `/logout` ein. Bei einem [Drittanbieter](#use-third-party-providers) bietet das Menü keines von beiden. Erfordert Claude Code v2.1.277 oder später.

121 * Um einen Fehler zu melden, klicken Sie auf **Report a problem** am unteren Rand des Menüs, oder geben Sie `/bug` oder `/feedback` mit einer optionalen Beschreibung ein, die den Bericht ausfüllt. Wenn Sie den Bericht einreichen und Sie bei Anthropic auf einer First-Party-Verbindung angemeldet sind, sendet Claude Code ihn an Anthropic. Bei einem Drittanbieter oder ohne Anthropic-Anmeldedaten öffnet sich der Dialog trotzdem, aber das Einreichen zeigt einen Fehler und sendet nichts: Im Gegensatz zum CLI `/bug` schreibt die Erweiterung kein lokales Archiv. Erfordert Claude Code v2.1.229 oder später.141 * Um einen Fehler zu melden, klicken Sie auf **Report a problem** am unteren Rand des Menüs, oder geben Sie `/bug` oder `/feedback` mit einer optionalen Beschreibung ein, die den Bericht ausfüllt. Wenn Sie den Bericht einreichen und Sie bei Anthropic auf einer First-Party-Verbindung angemeldet sind, sendet Claude Code ihn an Anthropic. Bei einem Drittanbieter oder ohne Anthropic-Anmeldedaten öffnet sich der Dialog trotzdem, aber das Einreichen zeigt einen Fehler und sendet nichts: Im Gegensatz zum CLI `/bug` schreibt die Erweiterung kein lokales Archiv. Erfordert Claude Code v2.1.229 oder später.

142 

143 Wenn die Richtlinie Ihrer Organisation Produktfeedback deaktiviert, wird **Report a problem** nicht im Menü angezeigt, und `/bug` und `/feedback` zeigen stattdessen eine `Feedback is turned off by your organization's policy or this environment's settings.` Benachrichtigung an.

122* **Nebenfragen**: Geben Sie `/btw` gefolgt von einer Frage ein, um eine Frage zu Ihrer Sitzung zu stellen, [ohne sie zum Gespräch hinzuzufügen](/docs/de/interactive-mode#side-questions-with-%2Fbtw). Die Antwort öffnet sich in einem Panel neben dem Chat, in dem Sie Anschlussfragen stellen können. Der Thread bleibt bei Fenster-Neuladen erhalten. Claude Code behält die neuesten 20 Austausche und läuft gespeicherte Threads nach dem [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays)-Plan ab, solange Claude Code [sicher die Aufbewahrungsfrist bestimmen kann](/docs/de/claude-directory#cleaned-up-automatically). Um einen Thread zu löschen, klicken Sie auf das Papierkorbsymbol im Panel. Erfordert Claude Code v2.1.227 oder später.144* **Nebenfragen**: Geben Sie `/btw` gefolgt von einer Frage ein, um eine Frage zu Ihrer Sitzung zu stellen, [ohne sie zum Gespräch hinzuzufügen](/docs/de/interactive-mode#side-questions-with-%2Fbtw). Die Antwort öffnet sich in einem Panel neben dem Chat, in dem Sie Anschlussfragen stellen können. Der Thread bleibt bei Fenster-Neuladen erhalten. Claude Code behält die neuesten 20 Austausche und läuft gespeicherte Threads nach dem [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays)-Plan ab, solange Claude Code [sicher die Aufbewahrungsfrist bestimmen kann](/docs/de/claude-directory#cleaned-up-automatically). Um einen Thread zu löschen, klicken Sie auf das Papierkorbsymbol im Panel. Erfordert Claude Code v2.1.227 oder später.

145* **Antwort kopieren**: Bewegen Sie den Mauszeiger über eine Antwort und klicken Sie auf **Copy response**, um sie in die Zwischenablage zu kopieren, oder geben Sie `/copy` ein, um die neueste Antwort zu kopieren. `/copy 2` kopiert die vorletzte. Erfordert Claude Code v2.1.277 oder später.

123* **Kontextindikator**: Das Eingabefeld zeigt, wie viel von Claudes Kontextfenster Sie verwenden. Claude komprimiert automatisch bei Bedarf, oder Sie können `/compact` manuell ausführen.146* **Kontextindikator**: Das Eingabefeld zeigt, wie viel von Claudes Kontextfenster Sie verwenden. Claude komprimiert automatisch bei Bedarf, oder Sie können `/compact` manuell ausführen.

147* **Prompt-Cache-Uhr**: Ein Uhr-Symbol neben dem Kontextindikator schätzt, wie viel Zeit das [Prompt-Cache](/docs/de/prompt-caching) des Gesprächs noch hat, bevor es abläuft. Es zählt von der [Lebensdauer](/docs/de/prompt-caching#cache-lifetime) des Caches von fünf Minuten oder einer Stunde herunter, und jede Antwort, die den Cache verwendet, startet den Countdown neu. Abgesehen von der Komprimierung setzen die [Aktionen, die den Cache ungültig machen](/docs/de/prompt-caching#actions-that-invalidate-the-cache), die Uhr nicht zurück, daher kann sie immer noch Minuten anzeigen, nachdem Sie Modelle wechseln.

148 * Bis der Countdown abläuft, zeigt das Symbol die verbleibenden Minuten an, z. B. **12m**.

149 * Wenn der Countdown abläuft, verschwinden die Minuten und das Symbol wird rot oder die Fehlerfarbe Ihres Designs, bis zur nächsten Antwort. Der Cache ist wahrscheinlich abgelaufen, daher erwarten Sie eine langsamere, teurere Antwort auf Ihre nächste Nachricht, während der Cache neu aufgebaut wird. Wenn die fünfminütige Lebensdauer zwischen Ihren Nachrichten immer wieder abläuft, siehe [Wählen Sie die TTL selbst](/docs/de/prompt-caching#choose-the-ttl-yourself).

150 * Unmittelbar nach dem [Komprimieren](/docs/de/prompt-caching#compacting-the-conversation) des Gesprächs wird das Symbol auch rot ohne Minuten bis zur nächsten Antwort, da der Cache das komprimierte Gespräch noch nicht abdeckt.

151* **Agent-Karte**: Wenn das Gespräch [Subagenten](/docs/de/sub-agents) enthält, erscheint eine Agent-Anzahl wie **2 agents** am unteren Rand des Eingabefelds. Sein Punkt zeigt, ob ein Subagent arbeitet oder auf Ihre Genehmigung wartet.

152 

153 Klicken Sie auf die Agent-Anzahl, um die Agent-Karte zu öffnen, die die Subagenten des Gesprächs als Baum unter dem Hauptagenten zeichnet, jeweils mit seinem Status, verstrichener Zeit und Token-Anzahl. Klicken Sie auf einen Subagenten, um sein Eingabefeld und seine Werkzeugaufrufe anzuzeigen, sein schreibgeschütztes Transkript zu öffnen oder ihn während der Ausführung zu stoppen. Erfordert Claude Code v2.1.269 oder später.

154 

155 Die Karte listet auch die anderen [Hintergrundaufgaben](/docs/de/tools-reference#background-commands) der Sitzung auf, wie Hintergrund-Shell-Befehle und [Monitore](/docs/de/tools-reference#monitor-tool), unter den Agenten. Klicken Sie auf eine Zeile, um die Karte der Aufgabe zu öffnen und sie dort zu stoppen.

156 

157 Um die Karte zu öffnen, wenn keine Agent-Anzahl angezeigt wird, z. B. wenn Claude einen Hintergrund-Shell-Befehl gestartet hat, aber keine Subagenten, geben Sie `/tasks` im Eingabefeld ein. Hintergrundaufgaben in der Karte und das eingegebene `/tasks` erfordern Claude Code v2.1.277 oder später.

124* **Erweitertes Denken**: Ermöglicht Claude, mehr Zeit für die Überlegung komplexer Probleme aufzuwenden. Schalten Sie es über das Befehlsmenü (`/`) ein. Claudes Überlegungen erscheinen im Gespräch als zusammengeklappte Blöcke: Klicken Sie auf einen Block, um ihn zu lesen, oder drücken Sie `Ctrl+O`, um jeden Denkblock in der Sitzung zu erweitern oder zu reduzieren. Siehe [Erweitertes Denken](/docs/de/model-config#extended-thinking) für Details.158* **Erweitertes Denken**: Ermöglicht Claude, mehr Zeit für die Überlegung komplexer Probleme aufzuwenden. Schalten Sie es über das Befehlsmenü (`/`) ein. Claudes Überlegungen erscheinen im Gespräch als zusammengeklappte Blöcke: Klicken Sie auf einen Block, um ihn zu lesen, oder drücken Sie `Ctrl+O`, um jeden Denkblock in der Sitzung zu erweitern oder zu reduzieren. Siehe [Erweitertes Denken](/docs/de/model-config#extended-thinking) für Details.

125* **Mehrzeilige Eingabe**: Drücken Sie `Shift+Enter`, um eine neue Zeile hinzuzufügen, ohne zu senden. Dies funktioniert auch in der Freitexteingabe „Sonstiges" von Frage-Dialogen.159* **Mehrzeilige Eingabe**: Drücken Sie `Shift+Enter`, um eine neue Zeile hinzuzufügen, ohne zu senden. Dies funktioniert auch in der Freitexteingabe „Other" von Frage-Dialogen.

126 160 

127<h3 id="reference-files-and-folders">161<h3 id="reference-files-and-folders">

128 Referenzdateien und -ordner162 Referenzdateien und -ordner


137 171 

138Bei großen PDFs können Sie Claude bitten, bestimmte Seiten statt der gesamten Datei zu lesen: eine einzelne Seite, einen Bereich wie Seiten 1-10 oder einen offenen Bereich wie Seite 3 und darüber hinaus.172Bei großen PDFs können Sie Claude bitten, bestimmte Seiten statt der gesamten Datei zu lesen: eine einzelne Seite, einen Bereich wie Seiten 1-10 oder einen offenen Bereich wie Seite 3 und darüber hinaus.

139 173 

140Wenn Sie Text im Editor auswählen, kann Claude Ihren hervorgehobenen Code automatisch sehen. Die Fußzeile des Eingabefelds zeigt, wie viele Zeilen ausgewählt sind. Drücken Sie `Option+K` (Mac) / `Alt+K` (Windows/Linux), um eine @-Erwähnung mit dem Dateipfad und den Zeilennummern einzufügen (z. B. `@app.ts#5-10`). Klicken Sie auf den Auswahlindikator, um umzuschalten, ob Claude Ihren hervorgehobenen Text sehen kann – das Auge-Schrägstrich-Symbol bedeutet, dass die Auswahl vor Claude verborgen ist.174Wenn Sie Text im Editor auswählen, kann Claude Ihren hervorgehobenen Code automatisch sehen. Die Fußzeile des Eingabefelds zeigt, wie viele Zeilen ausgewählt sind. Drücken Sie `Option+K` (Mac) / `Alt+K` (Windows/Linux), um eine @-Erwähnung mit dem Dateipfad und den Zeilennummern einzufügen (z. B. `@app.ts#5-10`). Klicken Sie auf das **X** auf dem Auswahlindikator, um ihn zu entfernen, damit Claude die Auswahl nicht erhält. Der Indikator erscheint wieder, wenn Sie anderen Text auswählen.

175 

176Die Erweiterung behält ausgewählten Text aus einigen Dateien zurück. Wenn sich die Datei in Ihrem Arbeitsbereich befindet und Ihren `files.exclude`- oder `search.exclude`-Einstellungen entspricht, erhält Claude höchstens den Dateipfad und nicht den Text, den Sie ausgewählt haben. Das Gleiche gilt für eine Datei, die Git ignoriert, solange die `search.useIgnoreFiles`-Einstellung von VS Code und die [`respectGitIgnore`-Einstellung](#extension-settings) der Erweiterung beide aktiviert sind, was die Standardeinstellung ist. Dieser Filter gilt nur für das Chat-Panel: Wenn Claude Code im integrierten Terminal ausgeführt wird, sendet die CLI Ihren ausgewählten Text unabhängig von der Datei, daher fügen Sie eine [`Read`-Ablehnungsregel](#the-built-in-ide-mcp-server) hinzu, um zu verhindern, dass Claude dort auf die Inhalte einer Datei zugreift.

141 177 

142Sie können auch `Shift` gedrückt halten, während Sie Dateien in das Eingabefeld ziehen, um sie als Anhänge hinzuzufügen. Klicken Sie auf das X bei einem Anhang, um ihn aus dem Kontext zu entfernen.178Claude sieht auch, welche Datei Sie im Editor geöffnet haben, auch wenn nichts ausgewählt ist, und das Eingabefeld zeigt seinen Namen. Um nur Ihren ausgewählten Text hinzuzufügen, schalten Sie die [Attach Open File-Einstellung](vscode://settings/claudeCode.attachOpenFile) aus. Die Einstellung erfordert Claude Code v2.1.271 oder später.

179 

180Sie können auch Bilder und Dateien an Ihre Nachricht anhängen:

181 

182* Um ein Bild anzuhängen, fügen Sie es aus Ihrer Zwischenablage in das Eingabefeld ein.

183* Um Dateien anzuhängen, halten Sie `Shift` gedrückt, während Sie sie in das Eingabefeld ziehen.

184* Um einen Anhang aus dem Kontext zu entfernen, klicken Sie auf das X darauf.

143 185 

144<h3 id="resume-past-conversations">186<h3 id="resume-past-conversations">

145 Frühere Gespräche fortsetzen187 Frühere Gespräche fortsetzen

146</h3>188</h3>

147 189 

148Klicken Sie auf die Schaltfläche **Session history** oben im Claude Code-Panel, um auf Ihren Gesprächsverlauf zuzugreifen. Sie können nach Schlüsselwort suchen oder nach Zeit durchsuchen. Klicken Sie auf ein beliebiges Gespräch, um es mit dem vollständigen Nachrichtenverlauf fortzusetzen. Weitere Informationen zum Fortsetzen von Sitzungen finden Sie unter [Sitzungen verwalten](/docs/de/sessions).190Klicken Sie auf die Schaltfläche **Session history** oben im Claude Code-Panel, um auf Ihren Gesprächsverlauf zuzugreifen. Sie können nach Schlüsselwort suchen oder nach Zeit durchsuchen.

191 

192Klicken Sie auf ein beliebiges Gespräch, um es mit dem vollständigen Nachrichtenverlauf fortzusetzen. Wenn das Gespräch bereits in einer anderen Registerkarte des aktuellen Fensters geöffnet ist, wird durch Klicken darauf zu dieser Registerkarte gewechselt. Weitere Informationen zum Fortsetzen von Sitzungen finden Sie unter [Sitzungen verwalten](/docs/de/sessions).

149 193 

150Neue Sitzungen erhalten KI-generierte Titel basierend auf Ihrer ersten Nachricht. Bewegen Sie den Mauszeiger über eine Sitzung, um Umbenennungs- und Archivierungsaktionen anzuzeigen: Benennen Sie sie um, um ihr einen beschreibenden Titel zu geben, oder archivieren Sie sie, um sie in die Gruppe **Archived sessions** am unteren Rand der Liste zu verschieben.194* **Sitzungstitel**: Neue Sitzungen erhalten KI-generierte Titel basierend auf Ihrer ersten Nachricht.

195* **Umbenennen und archivieren**: Bewegen Sie den Mauszeiger über eine Sitzung, um diese Aktionen anzuzeigen. Benennen Sie sie um, um ihr einen beschreibenden Titel zu geben, oder archivieren Sie sie, um sie in die Gruppe **Archived sessions** am unteren Rand der Liste zu verschieben.

151 196 

152Um eine archivierte Sitzung wiederherzustellen, erweitern Sie **Archived sessions** und klicken Sie auf **Unarchive session**. Vor v2.1.257 war die Aktion **Delete session**, die eine Sitzung ohne Möglichkeit zur Wiederherstellung ausblendete. Sitzungen, die Sie dann gelöscht haben, werden nach dem Upgrade unter **Archived sessions** angezeigt.197Standardmäßig wird eine Sitzung ohne Aktivität für 14 Tage automatisch zu **Archived sessions** verschoben, es sei denn, sie ist offen, ungelesen oder in einer [Gruppe](#organize-sessions-into-groups). Automatisches Archivieren erfordert Claude Code v2.1.265 oder später. Um den Zeitraum zu ändern oder auszuschalten, öffnen Sie die [Archive Inactive Sessions-Einstellung](vscode://settings/claudeCode.archiveInactiveSessions) und wählen Sie eine Anzahl von Tagen oder **Never**.

198 

199Um eine archivierte Sitzung wiederherzustellen, erweitern Sie **Archived sessions** und klicken Sie auf **Unarchive session**. Um jede archivierte Sitzung auf einmal wiederherzustellen, bewegen Sie den Mauszeiger über die Kopfzeile **Archived sessions** in der Sitzungsliste in der Aktivitätsleiste und klicken Sie auf sein Unarchive-Symbol, das Claude Code v2.1.277 oder später erfordert. Vor v2.1.257 war die Aktion **Delete session**, die eine Sitzung ohne Möglichkeit zur Wiederherstellung ausblendete. Sitzungen, die Sie dann gelöscht haben, werden nach dem Upgrade unter **Archived sessions** angezeigt.

153 200 

154Wenn das Gespräch, das Sie fortsetzen, im Plan-Modus endete, stellt Claude Code den Plan-Modus wieder her. Erfordert Claude Code v2.1.246 oder später. Claude Code stellt ihn in zwei Fällen nicht wieder her:201Wenn das Gespräch, das Sie fortsetzen, im Plan-Modus endete, stellt Claude Code den Plan-Modus wieder her. Erfordert Claude Code v2.1.246 oder später. Claude Code stellt ihn in zwei Fällen nicht wieder her:

155 202 


160 Cloud-Sitzungen von Claude.ai fortsetzen207 Cloud-Sitzungen von Claude.ai fortsetzen

161</h3>208</h3>

162 209 

163Wenn Sie [Claude Code im Web](/docs/de/claude-code-on-the-web) verwenden, können Sie diese Cloud-Sitzungen direkt in VS Code fortsetzen. Dies erfordert die Anmeldung mit **Claude.ai Subscription**, nicht Anthropic Console.210Wenn Sie [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) ausführen, können Sie sie direkt in VS Code fortsetzen. Dies erfordert die Anmeldung mit **Claude.ai Subscription**, nicht Anthropic Console.

164 211 

165<Steps>212<Steps>

166 <Step title="Open session history">213 <Step title="Open session history">


177</Steps>224</Steps>

178 225 

179<Note>226<Note>

180 Only web sessions started with a GitHub repository appear in the Web tab. Resuming loads the conversation history locally; changes are not synced back to claude.ai.227 Only cloud sessions started with a GitHub repository appear in the Web tab. Resuming loads the conversation history locally; changes are not synced back to claude.ai.

181</Note>228</Note>

182 229 

183<h3 id="check-account-and-usage">230<h3 id="check-account-and-usage">

184 Konto und Nutzung überprüfen231 Konto und Nutzung überprüfen

185</h3>232</h3>

186 233 

187Führen Sie `/usage` aus, um das Dialogfeld „Account & usage" zu öffnen. Das Dialogfeld erfordert eine claude.ai-Anmeldung, daher wird es bei einem [Drittanbieter](#use-third-party-providers) nicht angeboten. Es zeigt Ihr angemeldetes Konto, Ihren Plan und Nutzungsbalken für die aktuelle Sitzung und die Woche. Jeder Balken zeigt, wie lange es dauert, bis sein Limit zurückgesetzt wird.234Führen Sie `/usage` aus, um das Dialogfeld „Account & usage" zu öffnen. Es zeigt Ihr angemeldetes Konto, und die Nutzung, die es meldet, unterscheidet sich je nach Anmeldung:

235 

236* **claude.ai-Plan**: Nutzungsbalken für die Limits Ihres Plans, wie die aktuelle Sitzung und die Woche. Jeder Balken zeigt, wie lange es dauert, bis sein Limit zurückgesetzt wird.

237 

238 Das Dialogfeld schlüsselt auch auf, was zu Ihren Planlimits beiträgt. Es kennzeichnet Verhaltensweisen, die 10 % oder mehr der letzten Nutzung ausmachen, wie z. B. Cache-Misses, langer Kontext und Subagent-intensive oder hochgradig parallele Sitzungen, jeweils mit einem Tipp zur Reduzierung. Attributionstabellen zeigen, wie viel Nutzung von jedem Skill, Subagent, Plugin und MCP-Server kam.

188 239 

189Das Dialogfeld schlüsselt auch auf, was zu Ihren Planlimits beiträgt. Es kennzeichnet Verhaltensweisen, die 10 % oder mehr der letzten Nutzung ausmachen, wie z. B. Cache-Misses, langer Kontext und Subagent-intensive oder hochgradig parallele Sitzungen, jeweils mit einem Tipp zur Reduzierung. Attributionstabellen zeigen, wie viel Nutzung von jedem Skill, Subagent, Plugin und MCP-Server kam. Erfordert Claude Code v2.1.174 oder später.240 Verwenden Sie den Umschalter „Day" und „Week", um zwischen den letzten 24 Stunden und den letzten 7 Tagen zu wechseln. Die Zahlen sind ungefähr und werden aus lokalen Sitzungen auf diesem Computer berechnet, daher ist die Nutzung von anderen Geräten oder claude.ai nicht enthalten.

241* **Andere Anmeldungen**: Wenn Planlimits nicht auf Ihre Anmeldung zutreffen, z. B. bei einem [Drittanbieter](#use-third-party-providers) oder mit einem API-Schlüssel, zeigt der Abschnitt „Usage" stattdessen die Kosten und Token-Nutzung der Sitzung selbst. Die CLI `/usage` zeigt die gleichen Summen in ihrem [Session-Block](/docs/de/costs#track-your-costs). Die Sitzungsliste in der Aktivitätsleiste zeigt auch die Summen der aktiven Sitzung unter ihrer Kopfzeile **Account & usage**. Erfordert Claude Code v2.1.277 oder später.

190 242 

191Verwenden Sie den Umschalter „Day" und „Week", um zwischen den letzten 24 Stunden und den letzten 7 Tagen zu wechseln. Die Zahlen sind ungefähr und werden aus lokalen Sitzungen auf diesem Computer berechnet, daher ist die Nutzung von anderen Geräten oder claude.ai nicht enthalten. Weitere Informationen zum Verfolgen und Reduzieren der Nutzung finden Sie unter [Verfolgen Sie Ihre Kosten](/docs/de/costs#track-your-costs).243Weitere Informationen zum Verfolgen und Reduzieren der Nutzung finden Sie unter [Verfolgen Sie Ihre Kosten](/docs/de/costs#track-your-costs).

192 244 

193<h2 id="customize-your-workflow">245<h2 id="customize-your-workflow">

194 Passen Sie Ihren Arbeitsablauf an246 Passen Sie Ihren Arbeitsablauf an


206* **Primäre Seitenleiste**: die linke Seitenleiste mit Symbolen für Explorer, Suche usw.258* **Primäre Seitenleiste**: die linke Seitenleiste mit Symbolen für Explorer, Suche usw.

207* **Editor-Bereich**: öffnet Claude als Registerkarte neben Ihren Dateien. Nützlich für Nebenaufgaben.259* **Editor-Bereich**: öffnet Claude als Registerkarte neben Ihren Dateien. Nützlich für Nebenaufgaben.

208 260 

261Wenn Claude eine Registerkarte in einer neuen Editor-Gruppe öffnet, sperrt die Erweiterung diese Gruppe, sodass Dateien, die Sie öffnen, während die Claude-Registerkarte fokussiert ist, stattdessen in eine andere Gruppe gehen.

262 

263Um zu verhindern, dass die Erweiterung Gruppen sperrt, deaktivieren Sie die [Einstellung „Lock Editor Groups"](vscode://settings/claudeCode.lockEditorGroups). Gruppen, die bereits gesperrt sind, bleiben gesperrt, bis Sie sie entsperren. Die Einstellung erfordert Claude Code v2.1.274 oder später.

264 

209<Tip>265<Tip>

210 Verwenden Sie die Seitenleiste für Ihre Haupt-Claude-Sitzung und öffnen Sie zusätzliche Registerkarten für Nebenaufgaben. Claude merkt sich Ihren bevorzugten Ort. Das Symbol der Sitzungsliste in der Aktivitätsleiste ist separat vom Claude-Panel: Die Sitzungsliste ist immer in der Aktivitätsleiste sichtbar, während das Claude-Panel-Symbol nur dort angezeigt wird, wenn das Panel an der linken Seitenleiste angedockt ist.266 Verwenden Sie die Seitenleiste für Ihre Haupt-Claude-Sitzung und öffnen Sie zusätzliche Registerkarten für Nebenaufgaben. Claude merkt sich Ihren bevorzugten Ort. Das Symbol der Sitzungsliste in der Aktivitätsleiste ist separat vom Claude-Panel: Die Sitzungsliste ist immer in der Aktivitätsleiste sichtbar, während das Claude-Panel-Symbol nur dort angezeigt wird, wenn das Panel an der linken Seitenleiste angedockt ist.

211</Tip>267</Tip>

212 268 

269Nachdem Sie **Developer: Reload Window** ausgeführt oder VS Code neu gestartet haben, hängt es davon ab, wo das Gespräch offen war, ob es mit seiner Konversation zurückkommt:

270 

271* **Editor-Registerkarte**: Das Gespräch kommt mit seiner Registerkarte zurück.

272* **Seitenleiste**: Das Gespräch kommt zurück, wenn Sie eine Nachricht gesendet oder Claude darin geantwortet hat, innerhalb der letzten 10 Minuten. Wenn es nicht zurückkommt, setzen Sie das Gespräch aus [Sitzungsverlauf](#resume-past-conversations) fort.

273 

274Wenn das Neuladen Claude mitten in einem Schritt unterbrochen hat, setzt Claude diesen Schritt fort, wenn das Gespräch zurückkommt, und ein Hinweis im Chat markiert die Fortsetzung. Erfordert Claude Code v2.1.274 oder später. Wenn der Schritt vor mehr als einer Stunde unterbrochen wurde oder die Sitzung an anderer Stelle offen ist, kommt das Gespräch stattdessen im Leerlauf zurück.

275 

276Um die Fortsetzung auszuschalten, öffnen Sie die [Einstellung „Continue After Reload"](vscode://settings/claudeCode.continueAfterReload) und deaktivieren Sie sie.

277 

213<h3 id="run-multiple-conversations">278<h3 id="run-multiple-conversations">

214 Führen Sie mehrere Gespräche279 Führen Sie mehrere Gespräche

215</h3>280</h3>


226 291 

227* **Gruppieren oder Gruppierung aufheben einer Sitzung**: Klicken Sie mit der rechten Maustaste auf eine Sitzung, um eine Gruppe daraus zu erstellen, sie in eine vorhandene Gruppe zu verschieben oder sie aus ihrer Gruppe zu entfernen. Jede Sitzung gehört jeweils zu einer Gruppe, daher wird sie durch das Verschieben in eine andere Gruppe aus der ersten entfernt.292* **Gruppieren oder Gruppierung aufheben einer Sitzung**: Klicken Sie mit der rechten Maustaste auf eine Sitzung, um eine Gruppe daraus zu erstellen, sie in eine vorhandene Gruppe zu verschieben oder sie aus ihrer Gruppe zu entfernen. Jede Sitzung gehört jeweils zu einer Gruppe, daher wird sie durch das Verschieben in eine andere Gruppe aus der ersten entfernt.

228* **Verschieben Sie mehrere Sitzungen gleichzeitig**: `Cmd`-Klick (Mac) / `Ctrl`-Klick (Windows/Linux) auf jede Sitzung, oder `Shift`-Klick, um einen Bereich auszuwählen, dann Rechtsklick auf die Auswahl.293* **Verschieben Sie mehrere Sitzungen gleichzeitig**: `Cmd`-Klick (Mac) / `Ctrl`-Klick (Windows/Linux) auf jede Sitzung, oder `Shift`-Klick, um einen Bereich auszuwählen, dann Rechtsklick auf die Auswahl.

229* **Gruppieren Sie eine Sitzung von ihrer Registerkarte**: Führen Sie **Claude Code: Add Session Tab to Group** aus der Befehlspalette aus, oder klicken Sie mit der rechten Maustaste auf die Editor-Registerkarte der Sitzung und wählen Sie dann eine Gruppe aus oder erstellen Sie eine. Erfordert Claude Code v2.1.257 oder später.294* **Gruppieren Sie eine Sitzung von ihrer Registerkarte**: Führen Sie **Claude Code: Add Session Tab to Group** aus der Befehlspalette aus, und wählen Sie dann eine Gruppe aus oder erstellen Sie eine. Erfordert Claude Code v2.1.257 oder später.

230* **Benennen Sie eine Gruppe um oder löschen Sie sie**: Klicken Sie mit der rechten Maustaste auf einen Gruppenkopf. Das Löschen einer Gruppe entfernt nur die Gruppe, und ihre Sitzungen kehren zur ungruppierten Liste zurück.295* **Benennen Sie eine Gruppe um oder löschen Sie sie**: Klicken Sie mit der rechten Maustaste auf einen Gruppenkopf. Das Löschen einer Gruppe entfernt nur die Gruppe, und ihre Sitzungen kehren zur ungruppierten Liste zurück.

231 296 

232Die Erweiterung speichert Gruppen pro Arbeitsbereichsordner, sodass sie Fenster-Neuladen überstehen und in jedem Fenster angezeigt werden, in dem Sie denselben Ordner öffnen. Wenn Sie die Liste durchsuchen, zeigt die Erweiterung Übereinstimmungen in einer flachen Liste über alle Gruppen hinweg an.297Die Erweiterung speichert Gruppen pro Arbeitsbereichsordner, sodass sie Fenster-Neuladen überstehen und in jedem Fenster angezeigt werden, in dem Sie denselben Ordner öffnen. Wenn Sie die Liste durchsuchen, zeigt die Erweiterung Übereinstimmungen in einer flachen Liste über alle Gruppen hinweg an.


264* **Für dieses Projekt installieren**: geteilt mit Projektmitarbeitern (Projektbereich)329* **Für dieses Projekt installieren**: geteilt mit Projektmitarbeitern (Projektbereich)

265* **Lokal installieren**: nur für Sie, nur in diesem Repository (lokaler Bereich)330* **Lokal installieren**: nur für Sie, nur in diesem Repository (lokaler Bereich)

266 331 

332<h3 id="share-a-plugin-install-link">

333 Plugin-Installationslink teilen

334</h3>

335 

336Um jemanden direkt zur Installation eines bestimmten Plugins zu führen, geben Sie ihm die `install-plugin`-URL der Erweiterung. Das Öffnen startet oder fokussiert VS Code, öffnet das Claude Code-Panel und öffnet den Dialog **Plugins verwalten** mit der Bereichswahl für dieses Plugin. Nichts wird installiert, bis die Person einen Bereich auswählt. Wenn der Marketplace des Plugins in Claude Code noch nicht konfiguriert ist, fragt der Dialog zuerst, ob er hinzugefügt werden soll.

337 

338```text theme={null}

339vscode://anthropic.claude-code/install-plugin?plugin=code-review&marketplace=anthropics/claude-plugins-official

340```

341 

342Die URL akzeptiert zwei Abfrageparameter:

343 

344| Parameter | Beschreibung |

345| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

346| `plugin` | Der Name des Plugins, wie er im Marketplace aufgelistet ist. Erforderlich. |

347| `marketplace` | Woher das Plugin kommt: ein GitHub `owner/repo`, eine `https://`-URL oder eine Git-SSH-URL wie `git@github.com:owner/repo.git`. Standardmäßig `anthropics/claude-plugins-official`, wenn nicht angegeben. |

348 

349Einige Werte, die die [Registerkarte Marketplaces](#manage-marketplaces) akzeptiert, funktionieren nicht in einem Link, wie z. B. ein lokaler Pfad oder eine `http://`-Adresse. Für diese zeigt VS Code eine Fehlermeldung an und der Dialog wird nicht geöffnet.

350 

351Zwei Fälle enden mit einer Nachricht im Dialog statt der Bereichswahl:

352 

353* **Der Marketplace listet kein Plugin mit diesem Namen auf**: Der Dialog meldet, dass das Plugin nicht gefunden wurde. Überprüfen Sie den `plugin`-Wert anhand der Auflistung des Marketplace.

354* **Das Plugin ist bereits installiert**: Der Dialog teilt dies mit, und es ändert sich nichts.

355 

356GitHub-READMEs, Issues und einige andere Markdown-Hosts entfernen Links, deren Schema nicht `http` oder `https` ist, sodass ein `vscode://`-Link dort als Klartext angezeigt wird. Platzieren Sie die URL in einem Codeblock auf diesen Hosts, wie [Der Link wird als Klartext angezeigt, anstatt anklickbar zu sein](/docs/de/deep-links#the-link-renders-as-plain-text-instead-of-being-clickable) für `claude-cli://`-Links beschreibt.

357 

267<h3 id="manage-marketplaces">358<h3 id="manage-marketplaces">

268 Marketplaces verwalten359 Marketplaces verwalten

269</h3>360</h3>


274* Klicken Sie auf das Aktualisierungssymbol, um die Plugin-Liste eines Marketplace zu aktualisieren365* Klicken Sie auf das Aktualisierungssymbol, um die Plugin-Liste eines Marketplace zu aktualisieren

275* Klicken Sie auf das Papierkorbsymbol, um einen Marketplace zu entfernen366* Klicken Sie auf das Papierkorbsymbol, um einen Marketplace zu entfernen

276 367 

277Nachdem Sie Änderungen vorgenommen haben, fordert Sie ein Banner auf, Claude Code neu zu starten, um diese anzuwenden.368Plugin-Änderungen, die Sie im Dialog vornehmen, werden sofort auf die Claude Code-Sitzungen angewendet, die in diesem VS Code-Fenster geöffnet sind. Wenn die Sitzung, aus der Sie den Dialog geöffnet haben, ihre Plugins nicht neu laden kann, bietet der Dialog an, es erneut zu versuchen oder Claude in dieser Sitzung neu zu starten.

278 369 

279<Note>370<Note>

280 Die Plugin-Verwaltung in VS Code verwendet unter der Haube die gleichen CLI-Befehle. Plugins und Marketplaces, die Sie in der Erweiterung konfigurieren, sind auch in der CLI verfügbar, und umgekehrt.371 Die Plugin-Verwaltung in VS Code verwendet unter der Haube die gleichen CLI-Befehle. Plugins und Marketplaces, die Sie in der Erweiterung konfigurieren, sind auch in der CLI verfügbar, und umgekehrt.


313</Note>404</Note>

314 405 

315| Befehl | Tastenkombination | Beschreibung |406| Befehl | Tastenkombination | Beschreibung |

316| -------------------------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |407| -------------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

317| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Fokus zwischen Editor und Claude umschalten |408| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Fokus zwischen Editor und Claude umschalten |

409| Focus last message | - | Verschieben Sie den Tastaturfokus auf die neueste Nachricht in der Konversation oder auf eine ausstehende Genehmigungsaufforderung, damit Sie diese mit der Tastatur oder einem Bildschirmleser lesen können. Nicht verfügbar im [Terminalmodus](#switch-to-terminal-mode). Erfordert Claude Code v2.1.268 oder später |

318| Open in Side Bar | - | Claude in der Seitenleiste öffnen |410| Open in Side Bar | - | Claude in der Seitenleiste öffnen |

319| Open in Terminal | - | Claude im Terminalmodus öffnen |411| Open in Terminal | - | Claude im Terminalmodus öffnen |

320| Open in New Tab | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | Ein neues Gespräch als Editor-Registerkarte öffnen |412| Open in New Tab | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | Ein neues Gespräch als Editor-Registerkarte öffnen |


322| New Conversation | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | Ein neues Gespräch starten. Erfordert, dass Claude fokussiert ist und `enableNewConversationShortcut` auf `true` gesetzt ist |414| New Conversation | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | Ein neues Gespräch starten. Erfordert, dass Claude fokussiert ist und `enableNewConversationShortcut` auf `true` gesetzt ist |

323| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | Öffnen Sie die zuletzt geschlossene Claude-Sitzungsregisterkarte erneut. Fällt auf VS Codes normales Verhalten zum Wiedereröffnen geschlossener Editoren zurück, wenn die zuletzt geschlossene Registerkarte keine Claude-Sitzung war. Deaktivieren Sie mit `enableReopenClosedSessionShortcut` |415| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | Öffnen Sie die zuletzt geschlossene Claude-Sitzungsregisterkarte erneut. Fällt auf VS Codes normales Verhalten zum Wiedereröffnen geschlossener Editoren zurück, wenn die zuletzt geschlossene Registerkarte keine Claude-Sitzung war. Deaktivieren Sie mit `enableReopenClosedSessionShortcut` |

324| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Fügen Sie einen Verweis auf die aktuelle Datei und Auswahl ein (erfordert, dass der Editor fokussiert ist) |416| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Fügen Sie einen Verweis auf die aktuelle Datei und Auswahl ein (erfordert, dass der Editor fokussiert ist) |

417| Accept Change at Cursor | - | Akzeptieren Sie die Änderung am Cursor, während Sie [eine vorgeschlagene Bearbeitung überprüfen](#get-started), eine Änderung nach der anderen. Erfordert Claude Code v2.1.275 oder später |

418| Reject Change at Cursor | - | Machen Sie die Änderung am Cursor rückgängig, während Sie eine vorgeschlagene Bearbeitung überprüfen, eine Änderung nach der anderen. Erfordert Claude Code v2.1.275 oder später |

325| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Werkzeugaktivität im Gespräch ausblenden oder anzeigen. Funktioniert, während ein Claude-Panel oder eine Seitenleiste sichtbar ist. Erfordert Claude Code v2.1.221 oder später |419| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Werkzeugaktivität im Gespräch ausblenden oder anzeigen. Funktioniert, während ein Claude-Panel oder eine Seitenleiste sichtbar ist. Erfordert Claude Code v2.1.221 oder später |

326| Rename Session Tab | - | Benennen Sie die Sitzung in der aktiven Claude-Registerkarte um. Der Befehl wird auch im Kontextmenü der Registerkarte angezeigt. Erfordert Claude Code v2.1.257 oder später |420| Rename Session Tab | - | Benennen Sie die Sitzung in der aktiven Claude-Registerkarte um. Erfordert Claude Code v2.1.257 oder später |

327| Add Session Tab to Group | - | Fügen Sie die Sitzung in der aktiven Claude-Registerkarte zu einer [Sitzungsgruppe](#organize-sessions-into-groups) hinzu, die Sie auswählen oder erstellen. Der Befehl wird auch im Kontextmenü der Registerkarte angezeigt. Erfordert Claude Code v2.1.257 oder später |421| Add Session Tab to Group | - | Fügen Sie die Sitzung in der aktiven Claude-Registerkarte zu einer [Sitzungsgruppe](#organize-sessions-into-groups) hinzu, die Sie auswählen oder erstellen. Erfordert Claude Code v2.1.257 oder später |

328| Mark Session as Unread | - | Markieren Sie die Sitzung in der aktiven Claude-Registerkarte als ungelesen in der Sitzungsliste. Der Befehl wird auch im Kontextmenü der Registerkarte angezeigt. Erfordert Claude Code v2.1.257 oder später |422| Mark Session as Unread | - | Markieren Sie die Sitzung in der aktiven Claude-Registerkarte als ungelesen in der Sitzungsliste. Erfordert Claude Code v2.1.257 oder später |

329| Show Logs | - | Erweiterungs-Debug-Protokolle anzeigen |423| Show Logs | - | Erweiterungs-Debug-Protokolle anzeigen |

330| Logout | - | Melden Sie sich von Ihrem Anthropic-Konto ab |424| Logout | - | Melden Sie sich von Ihrem Anthropic-Konto ab |

331 425 


380vscode://anthropic.claude-code/open?prompt=review%20my%20changes474vscode://anthropic.claude-code/open?prompt=review%20my%20changes

381```475```

382 476 

383Um stattdessen eine Terminalsitzung zu starten, verwenden Sie den CLI-Handler `claude-cli://`. Siehe [Launch sessions from links](/docs/de/deep-links).477Die Erweiterung verarbeitet auch `vscode://anthropic.claude-code/install-plugin`, das [den Plugin-Dialog für ein Plugin öffnet](#share-a-plugin-install-link). Um stattdessen eine Terminalsitzung zu starten, verwenden Sie den CLI-Handler `claude-cli://`. Siehe [Launch sessions from links](/docs/de/deep-links).

384 478 

385<h2 id="configure-settings">479<h2 id="configure-settings">

386 Einstellungen konfigurieren480 Einstellungen konfigurieren


388 482 

389Die Erweiterung hat zwei Arten von Einstellungen:483Die Erweiterung hat zwei Arten von Einstellungen:

390 484 

391* **Erweiterungseinstellungen** in VS Code: steuern das Verhalten der Erweiterung in VS Code. Öffnen Sie sie mit `Cmd+,` (Mac) oder `Strg+,` (Windows/Linux), gehen Sie dann zu Erweiterungen → Claude Code. Sie können auch `/` eingeben und **General Config** auswählen, um die Einstellungen zu öffnen.485* **Erweiterungseinstellungen** in VS Code: steuern das Verhalten der Erweiterung in VS Code. Öffnen Sie sie mit `Cmd+,` (Mac) oder `Strg+,` (Windows/Linux), gehen Sie dann zu Erweiterungen → Claude Code. Sie können auch `/` eingeben und **General config…** auswählen, um die Einstellungen zu öffnen.

392* **Claude Code-Einstellungen** in `~/.claude/settings.json`: werden zwischen der Erweiterung und der CLI gemeinsam genutzt. Verwenden Sie diese für zulässige Befehle, Umgebungsvariablen, Hooks und MCP-Server. In Pro-, Max- und Team-Plänen ist dies auch eine Eingabe für den Berechtigungsmodus, in dem Gespräche beginnen. [Berechtigungsmodi wechseln](/docs/de/permission-modes#switch-permission-modes) listet die Reihenfolge auf. Weitere Informationen finden Sie unter [Einstellungen](/docs/de/settings).486* **Claude Code-Einstellungen** in `~/.claude/settings.json`: werden zwischen der Erweiterung und der CLI gemeinsam genutzt. Verwenden Sie diese für zulässige Befehle, Umgebungsvariablen, Hooks und MCP-Server. In Pro-, Max- und Team-Plänen ist dies auch eine Eingabe für den Berechtigungsmodus, in dem Gespräche beginnen. [Berechtigungsmodi wechseln](/docs/de/permission-modes#switch-permission-modes) listet die Reihenfolge auf. Weitere Informationen finden Sie unter [Einstellungen](/docs/de/settings).

393 487 

394<Tip>488<Tip>


406| `useTerminal` | `false` | Starten Sie Claude im Terminalmodus statt im grafischen Panel |500| `useTerminal` | `false` | Starten Sie Claude im Terminalmodus statt im grafischen Panel |

407| `initialPermissionMode` | - | Steuert Genehmigungsaufforderungen für neue Gespräche: `default`, `plan`, `acceptEdits` oder `bypassPermissions`. `manual` ist ein Alias für `default` und wählt den Modus aus, der im Modusindikator als **Manual** gekennzeichnet ist. Wenn Sie diese Option nicht festlegen, wählt die Erweiterung den Startberechtigungsmodus wie in [Berechtigungsmodi wechseln](/docs/de/permission-modes#switch-permission-modes) beschrieben. |501| `initialPermissionMode` | - | Steuert Genehmigungsaufforderungen für neue Gespräche: `default`, `plan`, `acceptEdits` oder `bypassPermissions`. `manual` ist ein Alias für `default` und wählt den Modus aus, der im Modusindikator als **Manual** gekennzeichnet ist. Wenn Sie diese Option nicht festlegen, wählt die Erweiterung den Startberechtigungsmodus wie in [Berechtigungsmodi wechseln](/docs/de/permission-modes#switch-permission-modes) beschrieben. |

408| `preferredLocation` | `panel` | Wo Claude geöffnet wird: `sidebar` (rechts) oder `panel` (neue Registerkarte) |502| `preferredLocation` | `panel` | Wo Claude geöffnet wird: `sidebar` (rechts) oder `panel` (neue Registerkarte) |

503| `lockEditorGroups` | `true` | [Sperren Sie die Editor-Gruppen, die Claude für seine Registerkarten startet](#choose-where-claude-lives), sodass Dateien, die Sie öffnen, während eine Claude-Registerkarte fokussiert ist, in eine andere Gruppe gehen. Wenn diese Option deaktiviert ist, sperrt die Erweiterung niemals eine Editor-Gruppe. Erfordert Claude Code v2.1.274 oder später |

409| `autosave` | `true` | Dateien automatisch speichern, bevor Claude sie liest oder schreibt |504| `autosave` | `true` | Dateien automatisch speichern, bevor Claude sie liest oder schreibt |

505| `attachOpenFile` | `true` | Fügen Sie die im Editor geöffnete Datei zu Ihren Nachrichten hinzu und zeigen Sie sie im Eingabefeld an. Wenn diese Option deaktiviert ist, wird nur Ihr ausgewählter Text hinzugefügt. Erfordert Claude Code v2.1.271 oder später |

410| `useCtrlEnterToSend` | `false` | Verwenden Sie Strg/Cmd+Eingabe statt Eingabe zum Senden von Eingabeaufforderungen |506| `useCtrlEnterToSend` | `false` | Verwenden Sie Strg/Cmd+Eingabe statt Eingabe zum Senden von Eingabeaufforderungen |

507| `scrollToBottomOnSend` | `true` | Scrollen Sie das Gespräch nach unten, wenn Sie eine Nachricht senden. Wenn diese Option deaktiviert ist, bleibt das Gespräch dort, wo Sie es verlassen haben. Erfordert Claude Code v2.1.275 oder später |

411| `enableNewConversationShortcut` | `false` | Aktivieren Sie Cmd/Strg+N, um ein neues Gespräch zu starten |508| `enableNewConversationShortcut` | `false` | Aktivieren Sie Cmd/Strg+N, um ein neues Gespräch zu starten |

412| `enableReopenClosedSessionShortcut` | `true` | Verwenden Sie Cmd/Strg+Umschalt+T, um die zuletzt geschlossene Claude-Sitzungsregisterkarte erneut zu öffnen. Wenn die zuletzt geschlossene Registerkarte keine Claude-Sitzung war, führt die Tastenkombination stattdessen den normalen Befehl zum erneuten Öffnen des geschlossenen Editors von VS Code aus. |509| `enableReopenClosedSessionShortcut` | `true` | Verwenden Sie Cmd/Strg+Umschalt+T, um die zuletzt geschlossene Claude-Sitzungsregisterkarte erneut zu öffnen. Wenn die zuletzt geschlossene Registerkarte keine Claude-Sitzung war, führt die Tastenkombination stattdessen den normalen Befehl zum erneuten Öffnen des geschlossenen Editors von VS Code aus. |

510| `archiveInactiveSessions` | `14` | [Archivieren Sie eine Sitzung automatisch](#resume-past-conversations) nach dieser Anzahl von Tagen ohne Aktivität: `1`, `2`, `7` oder `14`. Setzen Sie `0`, um dies auszuschalten. Erfordert Claude Code v2.1.265 oder später |

511| `continueAfterReload` | `true` | Nach einem Fenster-Reload setzt Claude [den unterbrochenen Schritt fort](#choose-where-claude-lives) in der wiederhergestellten Sitzung. Erfordert Claude Code v2.1.274 oder später |

413| `hideOnboarding` | `false` | Blenden Sie die Onboarding-Checkliste aus (Abschlusskappe-Symbol) |512| `hideOnboarding` | `false` | Blenden Sie die Onboarding-Checkliste aus (Abschlusskappe-Symbol) |

414| `focusView` | `false` | Blenden Sie Werkzeugaufrufe, Werkzeugergebnisse und Überlegungen hinter erweiterbaren Zeilen aus, sodass nur Ihre Eingabeaufforderungen und Claudes Antworten sichtbar bleiben. Claudes neueste To-Do-Liste bleibt sichtbar; dies erfordert Claude Code v2.1.225 oder später. Sie können die Fokusansicht auch über das Befehlsmenü umschalten. Erfordert Claude Code v2.1.221 oder später |513| `focusView` | `false` | Blenden Sie Werkzeugaufrufe, Werkzeugergebnisse und Überlegungen hinter erweiterbaren Zeilen aus, sodass nur Ihre Eingabeaufforderungen und Claudes Antworten sichtbar bleiben. Claudes neueste To-Do-Liste bleibt sichtbar; dies erfordert Claude Code v2.1.225 oder später. Sie können die Fokusansicht auch über das Befehlsmenü umschalten. Erfordert Claude Code v2.1.221 oder später |

415| `respectGitIgnore` | `true` | Schließen Sie .gitignore-Muster aus Dateisuchvorgängen aus |514| `respectGitIgnore` | `true` | Schließen Sie .gitignore-Muster aus Dateisuchvorgängen und aus [Auswahlkontext](#reference-files-and-folders) aus |

416| `usePythonEnvironment` | `true` | Aktivieren Sie die Python-Umgebung des Workspace beim Ausführen von Claude. Erfordert die Python-Erweiterung. |515| `usePythonEnvironment` | `true` | Aktivieren Sie die Python-Umgebung des Workspace beim Ausführen von Claude. Erfordert die Python-Erweiterung. |

417| `environmentVariables` | `[]` | Legen Sie Umgebungsvariablen für den Claude-Prozess fest. Verwenden Sie stattdessen Claude Code-Einstellungen für gemeinsame Konfiguration. |516| `environmentVariables` | `[]` | Legen Sie Umgebungsvariablen für den Claude-Prozess fest. Verwenden Sie stattdessen Claude Code-Einstellungen für gemeinsame Konfiguration. |

418| `disableLoginPrompt` | `false` | Überspringen Sie Authentifizierungsaufforderungen (für Setups von Drittanbieter-Providern) |517| `disableLoginPrompt` | `false` | Überspringen Sie Authentifizierungsaufforderungen (für Setups von Drittanbieter-Providern) |


423 Verwenden Sie einen Bildschirmleser522 Verwenden Sie einen Bildschirmleser

424</h2>523</h2>

425 524 

426Das Chat-Panel der Erweiterung funktioniert mit Bildschirmlesern. Sie müssen nichts aktivieren: Die Erweiterung kündigt Gesprächsaktivitäten für jeden Benutzer an, ohne visuelle Änderungen. Dies ist unabhängig vom [Bildschirmlesermodus](/docs/de/accessibility) der CLI, der sich für die Anmeldung entscheidet und die Terminaloberfläche anpasst.525Das Chat-Panel der Erweiterung funktioniert mit Bildschirmlesern. Sie müssen nichts aktivieren: Die Erweiterung kündigt Gesprächsaktivitäten für jeden Benutzer an, ohne visuelle Änderungen. Dies ist unabhängig vom [Bildschirmlesermodus](/docs/de/accessibility) der CLI, der sich aktivieren lässt und die Terminaloberfläche anpasst.

427 526 

428Die Unterstützung für Bildschirmleser im Chat-Panel erfordert Claude Code v2.1.236 oder später.527Die Unterstützung für Bildschirmleser im Chat-Panel erfordert Claude Code v2.1.236 oder später.

429 528 

430Während eines Gesprächs kündigt die Erweiterung an:529Während eines Gesprächs kündigt die Erweiterung an:

431 530 

432* **Antworten von Claude**: Die Erweiterung kündigt jede Antwort einmal an, wenn sie vollständig ist, und bleibt stumm, während Text einströmt. Ihr Bildschirmleser liest Codeblöcke als Zeilenzahl-Zusammenfassung, liest Links nach ihrem Label und liest Tabellen Zelle für Zelle; die vollständige Antwort bleibt im Transkript lesbar.531* **Antworten von Claude**: Die Erweiterung kündigt jede Antwort einmal an, wenn sie vollständig ist, und bleibt stumm, während Text einströmt. Ihr Bildschirmleser liest Code-Blöcke als Zeilenzahl-Zusammenfassung, liest Links nach ihrem Label und liest Tabellen Zelle für Zelle; die vollständige Antwort bleibt im Transkript lesbar.

433* **Berechtigungsanfragen und Fragen**: Die Erweiterung kündigt eine Anfrage an, wenn die Berechtigungsaufforderung angezeigt wird, und nennt das Tool, das Claude verwenden möchte. Sie kündigt auf die gleiche Weise an, wenn Claude Ihnen eine Frage stellt und wenn Claude einen Plan abgeschlossen hat und auf Ihre Überprüfung wartet.532* **Berechtigungsanfragen und Fragen**: Die Erweiterung kündigt eine Anfrage an, wenn die Berechtigungsaufforderung angezeigt wird, und nennt das Tool, das Claude verwenden möchte. Sie kündigt auf die gleiche Weise an, wenn Claude Ihnen eine Frage stellt und wenn Claude einen Plan abgeschlossen hat und auf Ihre Überprüfung wartet.

434* **Statusänderungen**: Die Erweiterung kündigt an, wenn Claude mit der Arbeit beginnt, wenn Claude bereit für Ihre Eingabe ist, und wenn Claude Code mit dem Komprimieren des Gesprächs beginnt.533* **Statusänderungen**: Die Erweiterung kündigt an, wenn Claude mit der Arbeit beginnt, wenn Claude bereit für Ihre Eingabe ist, und wenn Claude Code das Gespräch komprimiert.

435* **Fehler und Modell-Eingabeaufforderungen**: Die Erweiterung kündigt Fehler im Gespräch an und kündigt an, wenn die [Eingabeaufforderung zur Zustimmung für Nutzungsguthaben](/docs/de/model-config#fable-and-usage-credits) oder die [Eingabeaufforderung für gekennzeichnete Anfragen](/docs/de/model-config#ask-before-switching) angezeigt wird.534* **Fehler und Modell-Aufforderungen**: Die Erweiterung kündigt Fehler im Gespräch an und kündigt an, wenn die [Aufforderung zur Zustimmung für Nutzungsguthaben](/docs/de/model-config#fable-and-usage-credits) oder die [Aufforderung für gekennzeichnete Anfragen](/docs/de/model-config#ask-before-switching) angezeigt wird.

436 535 

437Jede Runde im Transkript beginnt mit einer visuell verborgenen Überschrift, die mit der Eingabeaufforderung gekennzeichnet ist, die die Runde gestartet hat, sodass Sie mit der Überschriftsnavigation Ihres Bildschirmlesers zwischen Runden springen können. Sie können den Fokus auch mit `Tab` auf das Transkript selbst verschieben, da die Erweiterung es als gekennzeichnete Region verfügbar macht, und es in Ihrem eigenen Tempo lesen. Während Claude arbeitet, liest Ihr Bildschirmleser ein Textlabel anstelle der Animation des Fortschrittsspinners.536Während Claude arbeitet, liest Ihr Bildschirmleser ein Textlabel anstelle der Animation des Fortschrittsspinners.

438 537 

439Wenn Sie eine Sitzung erneut öffnen oder zu einer anderen wechseln, kündigt die Erweiterung nichts an: Wiederhergestellter Verlauf, ausstehende Berechtigungsaufforderungen und laufender Status bleiben stumm, bis etwas Neues geschieht.538Wenn Sie eine Sitzung erneut öffnen oder zu einer anderen wechseln, kündigt die Erweiterung nichts an: Wiederhergestellter Verlauf, ausstehende Berechtigungsaufforderungen und laufender Status bleiben stumm, bis etwas Neues geschieht.

440 539 

540<h3 id="use-the-chat-panel-from-the-keyboard">

541 Verwenden Sie das Chat-Panel von der Tastatur aus

542</h3>

543 

544Jede Runde im Transkript beginnt mit einer visuell verborgenen Überschrift, die mit der Eingabeaufforderung gekennzeichnet ist, die die Runde gestartet hat, sodass Sie mit der Überschriftsnavigation Ihres Bildschirmlesers zwischen Runden springen können.

545 

546Innerhalb einer Runde kündigt Ihr Bildschirmleser an, wessen Nachricht Sie lesen, während Sie sich durch sie bewegen:

547 

548* **Ihre Nachrichten**: „You"

549* **Nachrichten von Claude**: „Claude"

550* **Tool-Schritte**: „Claude" plus der Tool-Name, z. B. „Claude, Bash"

551* **Thinking-Blöcke**: „Claude, thinking"

552 

553Da die Erweiterung das Transkript als gekennzeichnete Region verfügbar macht, können Sie den Fokus auch mit `Tab` auf das Transkript selbst verschieben und es in Ihrem eigenen Tempo lesen. Um den Fokus stattdessen auf die neueste Nachricht oder eine ausstehende Berechtigungsaufforderung zu verschieben, führen Sie **Claude Code: Focus last message** aus der [Befehlspalette](#vs-code-commands-and-shortcuts) aus.

554 

555Wenn eine Option in einer Berechtigungsaufforderung eine Berechtigungsregel oder einen Verzeichniszugriff speichert, endet ihr Label mit der Angabe, wo die Genehmigung gespeichert ist, z. B. „all projects" oder „this session". Wenn diese Option fokussiert ist, drücken Sie die `Left`- oder `Right`-Pfeiltaste, um das Ziel zu ändern, und die Erweiterung kündigt jedes Ziel an, wenn Sie es erreichen. Sie können das Ziel auch im Label anklicken. Die Pfeiltasten erfordern Claude Code v2.1.268 oder später.

556 

441<h2 id="vs-code-extension-vs-claude-code-cli">557<h2 id="vs-code-extension-vs-claude-code-cli">

442 VS Code-Erweiterung vs. Claude Code CLI558 VS Code-Erweiterung vs. Claude Code CLI

443</h2>559</h2>


445Claude Code ist sowohl als VS Code-Erweiterung (grafisches Panel) als auch als CLI (Befehlszeilenschnittstelle im Terminal) verfügbar. Einige Funktionen sind nur in der CLI verfügbar. Wenn Sie eine nur in der CLI verfügbare Funktion benötigen, führen Sie `claude` im integrierten Terminal von VS Code aus. Dies erfordert die [eigenständige CLI-Installation](/docs/de/setup): Die Erweiterung fügt `claude` nicht zu Ihrem PATH hinzu. Siehe [CLI in VS Code ausführen](#run-cli-in-vs-code).561Claude Code ist sowohl als VS Code-Erweiterung (grafisches Panel) als auch als CLI (Befehlszeilenschnittstelle im Terminal) verfügbar. Einige Funktionen sind nur in der CLI verfügbar. Wenn Sie eine nur in der CLI verfügbare Funktion benötigen, führen Sie `claude` im integrierten Terminal von VS Code aus. Dies erfordert die [eigenständige CLI-Installation](/docs/de/setup): Die Erweiterung fügt `claude` nicht zu Ihrem PATH hinzu. Siehe [CLI in VS Code ausführen](#run-cli-in-vs-code).

446 562 

447| Funktion | CLI | VS Code-Erweiterung |563| Funktion | CLI | VS Code-Erweiterung |

448| ----------------------- | -------------------- | -------------------------------------------------------------------------------------------- |564| ----------------------- | -------------------- | ---------------------------------------------------------------------------------------------------- |

449| Befehle und Skills | [Alle](/docs/de/commands) | Teilmenge (geben Sie `/` ein, um verfügbare anzuzeigen) |565| Befehle und Skills | [Alle](/docs/de/commands) | Teilmenge (geben Sie `/` ein, um verfügbare anzuzeigen) |

450| MCP-Serverkonfiguration | Ja | Teilweise (Server über CLI hinzufügen; vorhandene Server mit `/mcp` im Chat-Panel verwalten) |566| MCP-Serverkonfiguration | Ja | Ja ([Server hinzufügen und verwalten](#connect-to-external-tools-with-mcp) mit `/mcp` im Chat-Panel) |

451| Checkpoints | Ja | Ja |567| Checkpoints | Ja | Ja |

452| `!` Bash-Verknüpfung | Ja | Nein |568| `!` Bash-Verknüpfung | Ja | Nein |

453| Tab-Vervollständigung | Ja | Nein |569| Tab-Vervollständigung | Ja | Nein |


490 Hintergrundprozesse überwachen606 Hintergrundprozesse überwachen

491</h3>607</h3>

492 608 

493Die Sichtbarkeit für Hintergrundaufgaben in der Erweiterung ist im Vergleich zur CLI begrenzt. Für bessere Sichtbarkeit lassen Sie Claude den Befehl ausgeben, damit Sie ihn im integrierten Terminal von VS Code ausführen können.609Geben Sie `/tasks` im Eingabefeld ein, um die [Agent-Karte](#use-the-prompt-box) zu öffnen, die die Hintergrundaufgaben der Sitzung auflistet, z. B. einen Dev-Server, den Claude als Hintergrund-Shell-Befehl ausführt. Klicken Sie auf eine Aufgabe, um ihre Karte zu öffnen und sie dort zu beenden. Erfordert Claude Code v2.1.277 oder später.

494 610 

495<h3 id="connect-to-external-tools-with-mcp">611<h3 id="connect-to-external-tools-with-mcp">

496 Mit MCP eine Verbindung zu externen Tools herstellen612 Mit MCP eine Verbindung zu externen Tools herstellen


498 614 

499MCP (Model Context Protocol)-Server geben Claude Zugriff auf externe Tools, Datenbanken und APIs.615MCP (Model Context Protocol)-Server geben Claude Zugriff auf externe Tools, Datenbanken und APIs.

500 616 

501Um einen MCP-Server hinzuzufügen, öffnen Sie das integrierte Terminal (`` Ctrl+` `` oder `` Cmd+` ``) und führen Sie `claude mcp add` aus. Das folgende Beispiel fügt Githubs Remote-MCP-Server hinzu, der sich mit einem [persönlichen Zugriffstoken](https://github.com/settings/personal-access-tokens) authentifiziert, das als Header übergeben wird:617Um MCP-Server zu verwalten, ohne VS Code zu verlassen, geben Sie `/mcp` im Chat-Panel ein. Im angezeigten Dialog können Sie Server hinzufügen, auf lokaler, Benutzer- oder Projekt-[Ebene](/docs/de/mcp#mcp-installation-scopes) gespeicherte Server entfernen, Server aktivieren oder deaktivieren, sich erneut mit einem Server verbinden und die OAuth-Authentifizierung verwalten. Das Hinzufügen und Entfernen von Servern im Dialog erfordert Claude Code v2.1.261 oder später.

618 

619Sie können auch `claude mcp add` im integrierten Terminal von VS Code ausführen (`` Ctrl+` `` oder `` Cmd+` ``). Der Dialog und der Terminal-Befehl speichern in der gleichen MCP-Konfiguration, und Änderungen von beiden werden in Konversationen wirksam, die Sie danach starten. Das folgende Beispiel fügt Githubs Remote-MCP-Server hinzu, der sich mit einem [persönlichen Zugriffstoken](https://github.com/settings/personal-access-tokens) authentifiziert, das als Header übergeben wird:

502 620 

503```bash theme={null}621```bash theme={null}

504claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \622claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \

505 --header "Authorization: Bearer YOUR_GITHUB_PAT"623 --header "Authorization: Bearer YOUR_GITHUB_PAT"

506```624```

507 625 

508Ersetzen Sie `YOUR_GITHUB_PAT` durch Ihr persönliches Zugriffstoken. Der Befehl `claude mcp add` speichert die Konfiguration, ohne Anmeldedaten zu validieren, daher wird hier ein Platzhalterwert akzeptiert, aber der Server kann sich später nicht verbinden. Um die Verbindung zu überprüfen, geben Sie `/mcp` im Chat-Panel ein und überprüfen Sie, dass der Server `connected` anzeigt. Ein Server mit ungültigen Anmeldedaten zeigt `failed`.626Ersetzen Sie `YOUR_GITHUB_PAT` durch Ihr persönliches Zugriffstoken. Der Befehl `claude mcp add` speichert die Konfiguration, ohne Anmeldedaten zu validieren, daher wird hier ein Platzhalterwert akzeptiert, aber der Server kann sich später nicht verbinden. Um die Verbindung zu überprüfen, starten Sie eine neue Konversation, geben Sie `/mcp` ein und überprüfen Sie, dass der Server **Connected** anzeigt. Ein Server mit ungültigen Anmeldedaten zeigt **Failed**.

509 627 

510Nach der Konfiguration bitten Sie Claude, die Tools zu verwenden (z. B. „Review PR #456").628Nach der Konfiguration bitten Sie Claude, die Tools zu verwenden (z. B. „Review PR #456").

511 629 

512Um MCP-Server zu verwalten, ohne VS Code zu verlassen, geben Sie `/mcp` im Chat-Panel ein. Das MCP-Verwaltungsdialogfeld ermöglicht es Ihnen, Server zu aktivieren oder zu deaktivieren, sich erneut mit einem Server zu verbinden und die OAuth-Authentifizierung zu verwalten. Weitere Informationen zu verfügbaren Servern finden Sie in der [MCP-Dokumentation](/docs/de/mcp).630Um Server zum Verbinden zu finden, siehe [MCP-Server suchen und erstellen](/docs/de/mcp#find-and-build-mcp-servers).

513 631 

514<h2 id="work-with-git">632<h2 id="work-with-git">

515 Mit git arbeiten633 Mit git arbeiten


555 </Step>673 </Step>

556</Steps>674</Steps>

557 675 

558Bei einem Drittanbieter bietet die Erweiterung keine Funktionen an, die ein claude.ai-Konto erfordern, wie z. B. Nutzungsverfolgung, [Sprachdiktat](/docs/de/voice-dictation) und die Registerkarte „Web" für [Cloud-Sitzungen](#resume-cloud-sessions-from-claude-ai). Eine claude.ai-Anmeldung, die von einem früheren `/login` übrig bleibt, wird nicht verwendet: Die Erweiterung sendet sie nicht mit einer Anfrage.676Bei einem Drittanbieter bietet die Erweiterung keine Funktionen an, die ein claude.ai-Konto erfordern, wie z. B. Nutzungsverfolgung, [Sprachdiktat](/docs/de/voice-dictation) und die Registerkarte „Web" für [Cloud-Sitzungen](#resume-cloud-sessions-from-claude-ai). Weitere Informationen zu den Inhalten des Dialogs „Konto und Nutzung" bei diesen Anmeldungen finden Sie unter [Konto und Nutzung überprüfen](#check-account-and-usage).

677 

678Eine claude.ai-Anmeldung, die von einem früheren `/login` übrig bleibt, wird nicht verwendet: Die Erweiterung sendet sie nicht mit einer Anfrage.

559 679 

560<h2 id="security-and-privacy">680<h2 id="security-and-privacy">

561 Sicherheit und Datenschutz681 Sicherheit und Datenschutz


577 697 

578Der Server heißt `ide` und ist in `/mcp` verborgen, da es nichts zu konfigurieren gibt. Wenn Ihre Organisation jedoch einen `PreToolUse`-Hook verwendet, um MCP-Tools auf eine Allowlist zu setzen, müssen Sie wissen, dass er existiert.698Der Server heißt `ide` und ist in `/mcp` verborgen, da es nichts zu konfigurieren gibt. Wenn Ihre Organisation jedoch einen `PreToolUse`-Hook verwendet, um MCP-Tools auf eine Allowlist zu setzen, müssen Sie wissen, dass er existiert.

579 699 

580**Auswahl und Kontext offener Dateien.** Während der Verbindung bezieht die CLI Ihre aktuelle Editor-Auswahl und den Pfad der aktiven Datei als Kontext in jeden Prompt ein, den Sie senden. Das Transkript zeigt eine `⧉ Selected N lines from <file>`-Zeile, wenn dies geschieht. Um eine vertrauliche Datei wie `.env` auszuschließen, fügen Sie eine [`Read`-Ablehnungsregel](/docs/de/permissions#read-and-edit) für ihren Pfad hinzu. Eine entsprechende Ablehnungsregel verhindert, dass sowohl der ausgewählte Text als auch die Benachrichtigung über die offene Datei für diese Datei Claude erreichen.700**Auswahl und Kontext offener Dateien.** Während der Verbindung bezieht die CLI Ihre aktuelle Editor-Auswahl und den Pfad der aktiven Datei als Kontext in jeden Prompt ein, den Sie senden. Das Transkript zeigt eine `⧉ Selected N lines from <file>`-Zeile, wenn dies geschieht.

701 

702Um eine vertrauliche Datei wie `.env` auszuschließen, fügen Sie eine [`Read`-Ablehnungsregel](/docs/de/permissions#read-and-edit) für ihren Pfad hinzu. Eine entsprechende Ablehnungsregel verhindert, dass sowohl der ausgewählte Text als auch die Benachrichtigung über die offene Datei für diese Datei Claude erreichen.

703 

704Wenn Sie die [Einstellung „Attach Open File"](#extension-settings) deaktivieren, erhält die CLI den Pfad der aktiven Datei nur, wenn Sie darin Text ausgewählt haben.

581 705 

582**Transport und Authentifizierung.** Der Server bindet sich an `127.0.0.1` auf einem zufälligen Port im Bereich 10000–65535, und der Port ist nicht konfigurierbar. Der Transport ist unverschlüsseltes `ws://`; da der Socket nur loopback ist, kann jeder Prozess, der den Datenverkehr erfassen kann, auch das Token aus der Lock-Datei lesen, daher würde TLS keinen zusätzlichen Schutz bieten. Jede Erweiterungsaktivierung generiert ein neues zufälliges Auth-Token, schreibt es in eine Lock-Datei unter `~/.claude/ide/<port>.lock`, und die CLI muss es als `X-Claude-Code-Ide-Authorization`-Header präsentieren, um sich zu verbinden. Die Lock-Datei hat `0600`-Berechtigungen in einem `0700`-Verzeichnis, daher kann nur der Benutzer, der VS Code ausführt, sie lesen. Wenn `CLAUDE_CONFIG_DIR` gesetzt ist, wird die Lock-Datei stattdessen in `$CLAUDE_CONFIG_DIR/ide/` geschrieben.706**Transport und Authentifizierung.** Der Server bindet sich an `127.0.0.1` auf einem zufälligen Port im Bereich 10000–65535, und der Port ist nicht konfigurierbar. Der Transport ist unverschlüsseltes `ws://`; da der Socket nur loopback ist, kann jeder Prozess, der den Datenverkehr erfassen kann, auch das Token aus der Lock-Datei lesen, daher würde TLS keinen zusätzlichen Schutz bieten. Jede Erweiterungsaktivierung generiert ein neues zufälliges Auth-Token, schreibt es in eine Lock-Datei unter `~/.claude/ide/<port>.lock`, und die CLI muss es als `X-Claude-Code-Ide-Authorization`-Header präsentieren, um sich zu verbinden. Die Lock-Datei hat `0600`-Berechtigungen in einem `0700`-Verzeichnis, daher kann nur der Benutzer, der VS Code ausführt, sie lesen. Wenn `CLAUDE_CONFIG_DIR` gesetzt ist, wird die Lock-Datei stattdessen in `$CLAUDE_CONFIG_DIR/ide/` geschrieben.

583 707 


6204. **Deaktivieren Sie in Konflikt stehende Erweiterungen**: Deaktivieren Sie vorübergehend andere KI-Erweiterungen (Cline, Continue, usw.)7444. **Deaktivieren Sie in Konflikt stehende Erweiterungen**: Deaktivieren Sie vorübergehend andere KI-Erweiterungen (Cline, Continue, usw.)

6215. **Überprüfen Sie die Workspace-Vertrauenswürdigkeit**: Die Erweiterung funktioniert nicht im eingeschränkten Modus7455. **Überprüfen Sie die Workspace-Vertrauenswürdigkeit**: Die Erweiterung funktioniert nicht im eingeschränkten Modus

622 746 

623Alternativ können Sie, wenn Sie [`preferredLocation`](#extension-settings) auf `sidebar` gesetzt haben oder Claude mit **Claude Code: Open in Side Bar** geöffnet haben, auf „✱ Claude Code" in der **Statusleiste** (unten rechts) klicken. Dies funktioniert auch ohne geöffnete Datei. Sie können auch die **Befehlspalette** (`Cmd+Shift+P` / `Ctrl+Shift+P`) verwenden und „Claude Code" eingeben.747Alternativ können Sie, wenn Sie [`preferredLocation`](#extension-settings) auf `sidebar` gesetzt haben oder Claude mit **Claude Code: Open in Side Bar** geöffnet haben, auf „✻ Claude Code" in der **Statusleiste** (unten rechts) klicken. Dies funktioniert auch ohne geöffnete Datei. Sie können auch die **Befehlspalette** (`Cmd+Shift+P` / `Ctrl+Shift+P`) verwenden und „Claude Code" eingeben.

624 748 

625<h3 id="cmd-esc-does-nothing-on-macos">749<h3 id="cmd-esc-does-nothing-on-macos">

626 Cmd+Esc funktioniert auf macOS nicht750 Cmd+Esc funktioniert auf macOS nicht


629Auf macOS Tahoe und später ist die System-Game-Overlay-Verknüpfung standardmäßig an `Cmd+Esc` gebunden und fängt den Tastendruck ab, bevor er VS Code erreicht. So geben Sie die Verknüpfung frei:753Auf macOS Tahoe und später ist die System-Game-Overlay-Verknüpfung standardmäßig an `Cmd+Esc` gebunden und fängt den Tastendruck ab, bevor er VS Code erreicht. So geben Sie die Verknüpfung frei:

630 754 

6311. Öffnen Sie die Systemeinstellungen7551. Öffnen Sie die Systemeinstellungen

6322. Gehen Sie zu Tastatur, dann Tastaturkürzel, dann Game Controller7562. Gehen Sie zu Tastatur, dann Tastaturkürzel, dann Game Controllers

6333. Deaktivieren Sie das Kontrollkästchen für Game Overlay7573. Deaktivieren Sie das Kontrollkästchen für Game Overlay

634 758 

635Alternativ können Sie die Erweiterung an eine andere Taste binden: Öffnen Sie den VS Code [Keyboard Shortcuts Editor](https://code.visualstudio.com/docs/configure/keybindings) (`Cmd+K Cmd+S`), suchen Sie nach `Claude Code: Focus input`, und weisen Sie eine neue Bindung zu.759Alternativ können Sie die Erweiterung an eine andere Taste binden: Öffnen Sie den VS Code [Keyboard Shortcuts Editor](https://code.visualstudio.com/docs/configure/keybindings) (`Cmd+K Cmd+S`), suchen Sie nach `Claude Code: Focus input`, und weisen Sie eine neue Bindung zu.


687Jetzt, da Sie Claude Code in VS Code eingerichtet haben:811Jetzt, da Sie Claude Code in VS Code eingerichtet haben:

688 812 

689* [Erkunden Sie häufige Workflows](/docs/de/common-workflows), um das Beste aus Claude Code herauszuholen813* [Erkunden Sie häufige Workflows](/docs/de/common-workflows), um das Beste aus Claude Code herauszuholen

690* [Richten Sie MCP servers ein](/docs/de/mcp), um Claudes Funktionen mit externen Tools zu erweitern. Fügen Sie Server über die CLI hinzu, verwalten Sie sie dann mit `/mcp` im Chat-Panel.814* [Richten Sie MCP servers ein](/docs/de/mcp), um Claudes Funktionen mit externen Tools zu erweitern. Fügen Sie sie mit `/mcp` im Chat-Panel hinzu und verwalten Sie sie.

691* [Konfigurieren Sie Claude Code-Einstellungen](/docs/de/settings), um zulässige Befehle, hooks und mehr anzupassen. Diese Einstellungen werden zwischen der Erweiterung und der CLI geteilt.815* [Konfigurieren Sie Claude Code-Einstellungen](/docs/de/settings), um zulässige Befehle, hooks und mehr anzupassen. Diese Einstellungen werden zwischen der Erweiterung und der CLI geteilt.

workflows.md +4 −2

Details

231 231 

232Vor v2.1.216 folgte Claude Code dem Link, was die Datei außerhalb des gewählten Speicherorts platzieren konnte.232Vor v2.1.216 folgte Claude Code dem Link, was die Datei außerhalb des gewählten Speicherorts platzieren konnte.

233 233 

234In einem Monorepo mit mehreren `.claude/`-Verzeichnissen können Sie Workflows neben dem Paket speichern, auf das sie sich beziehen. Ab v2.1.178 schreibt das Speichern am Projektort 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.234In 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.

235 235 

236Wenn ein Projekt-Workflow und ein persönlicher Workflow denselben Namen teilen, wird der Projekt-Workflow ausgeführt.236Wenn ein Projekt-Workflow und ein persönlicher Workflow denselben Namen teilen, wird der Projekt-Workflow ausgeführt.

237 237 


348 348 

349Der Body ist einfaches JavaScript mit Top-Level-`await`. `agent()` spawnt einen Subagenten, `pipeline()` führt einen pro Element in einer Liste aus, und `parallel()` führt eine Reihe von Agenten-Aufgaben gleichzeitig aus und wartet auf alle.349Der Body ist einfaches JavaScript mit Top-Level-`await`. `agent()` spawnt einen Subagenten, `pipeline()` führt einen pro Element in einer Liste aus, und `parallel()` führt eine Reihe von Agenten-Aufgaben gleichzeitig aus und wartet auf alle.

350 350 

351Ein `agent()`-Aufruf wird zu `null` aufgelöst, wenn Sie ihn während der Ausführung stoppen oder er auf einen nicht wiederherstellbaren API-Fehler trifft. In [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) kann der Klassifizierer einen `agent()`-Aufruf blockieren, bevor der Subagent startet. Ein blockierter Aufruf wird zu `null` aufgelöst und wird in der Fortschrittsansicht des Laufs mit dem Grund angezeigt. `pipeline()` behält jeden `null` im Ergebnis-Array, weshalb das Beispiel mit `.filter(Boolean)` endet, um diese Einträge zu entfernen.351Ein `agent()`-Aufruf wird zu `null` aufgelöst, wenn Sie ihn während der Ausführung stoppen oder er auf einen nicht wiederherstellbaren API-Fehler trifft. `pipeline()` behält jeden `null` im Ergebnis-Array, weshalb das Beispiel mit `.filter(Boolean)` endet, um diese Einträge zu entfernen.

352 

353In [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) zählt die Eingabeaufforderung, die Ihr Skript an `agent()` übergibt, nicht als eine Anfrage von Ihnen, wenn der Klassifizierer die Aktionen dieses Subagenten überprüft, da Claude Code sie als Text markiert, den das Skript berechnet hat.

352 354 

353Wenn Sie einen `schema` bei einem `agent()`-Aufruf übergeben, gibt der Subagent stattdessen JSON zurück, das der Form entspricht. Claude Code überprüft das Schema, bevor der Subagent startet: Wenn es beweisen kann, dass das Schema sich selbst widerspricht, schlägt der Aufruf mit einem Fehler fehl, der den Widerspruch benennt, und der Subagent startet nie. Ein Widerspruch, den es beweisen kann, ist ein `required`-Schlüssel, den `additionalProperties: false` ausschließt.355Wenn Sie einen `schema` bei einem `agent()`-Aufruf übergeben, gibt der Subagent stattdessen JSON zurück, das der Form entspricht. Claude Code überprüft das Schema, bevor der Subagent startet: Wenn es beweisen kann, dass das Schema sich selbst widerspricht, schlägt der Aufruf mit einem Fehler fehl, der den Widerspruch benennt, und der Subagent startet nie. Ein Widerspruch, den es beweisen kann, ist ein `required`-Schlüssel, den `additionalProperties: false` ausschließt.

354 356 

worktrees.md +10 −5

Details

59 Bereinigen Sie Worktrees59 Bereinigen Sie Worktrees

60</h2>60</h2>

61 61 

62Wenn Sie eine interaktive Worktree-Sitzung beenden, prüft Claude den Worktree auf Arbeit, die durch das Entfernen gelöscht würde: geänderte oder nicht verfolgte Dateien und neue Commits.62Wenn Sie eine interaktive Worktree-Sitzung beenden, prüft Claude den Worktree auf Arbeit, die durch das Entfernen gelöscht würde: geänderte oder nicht verfolgte Dateien, nicht committete Arbeit in ausgecheckten Submodulen und neue Commits.

63 63 

64* **Der Worktree ist sauber**: Für eine unbenannte Sitzung entfernt Claude den Worktree und seinen Branch automatisch. Eine [benannte](/docs/de/sessions#name-your-sessions) Sitzung fordert Sie zunächst auf, damit Sie den Worktree später behalten können64* **Der Worktree ist sauber**: Für eine unbenannte Sitzung entfernt Claude den Worktree und seinen Branch automatisch. Eine [benannte](/docs/de/sessions#name-your-sessions) Sitzung fordert Sie zunächst auf, damit Sie den Worktree später behalten können

65* **Der Worktree enthält Arbeit**: Claude fordert Sie auf, den Worktree zu behalten oder zu entfernen. Das Behalten bewahrt das Verzeichnis und den Branch, sodass Sie später zurückkehren können. Das Entfernen löscht das Worktree-Verzeichnis und seinen Branch zusammen mit der gesamten Arbeit darin65* **Der Worktree enthält Arbeit**: Claude fordert Sie auf, den Worktree zu behalten oder zu entfernen. Das Behalten bewahrt das Verzeichnis und den Branch, sodass Sie später zurückkehren können. Das Entfernen löscht das Worktree-Verzeichnis und seinen Branch zusammen mit der gesamten Arbeit darin

66* **Der Zustand des Worktrees kann nicht überprüft werden**: Wenn Claude Code die Änderungen des Worktrees nicht zählen kann oder seine Submodul-Checkouts nicht überprüfen kann, fordert es Sie auf, anstatt den Worktree automatisch zu entfernen. Die Aufforderung benennt, was nicht überprüft werden konnte

66 67 

67Nicht-interaktive Ausführungen mit `-p` haben keine Exit-Aufforderung, sodass Claude ihre Worktrees nicht bereinigt, und Claude Code hinterlässt die Sperre, die es bei der Erstellung auf jedem genommen hat, bis eine spätere Sitzung [stale-lock sweep](#clean-up-subagent-and-background-session-worktrees) sie freigeben kann. 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.68Nicht-interaktive Ausführungen mit `-p` haben keine Exit-Aufforderung, sodass Claude ihre Worktrees nicht bereinigt, und Claude Code hinterlässt die Sperre, die es bei der Erstellung auf jedem genommen hat, bis eine spätere Sitzung [stale-lock sweep](#clean-up-subagent-and-background-session-worktrees) sie freigeben kann. 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.

68 69 


101* **Datei-Änderungen**: Claude Code blockiert einen `Edit`, `Write` oder `NotebookEdit`, der auf einen Pfad im Haupt-Checkout abzielt.102* **Datei-Änderungen**: Claude Code blockiert einen `Edit`, `Write` oder `NotebookEdit`, der auf einen Pfad im Haupt-Checkout abzielt.

102* **Befehl-Arbeitsverzeichnis**: Claude Code blockiert einen Bash-, PowerShell- oder Monitor-Befehl, dessen Arbeitsverzeichnis zum Haupt-Checkout aufgelöst wird, oder dessen Arbeitsverzeichnis es nicht überprüfen kann, dass es außerhalb bleibt.103* **Befehl-Arbeitsverzeichnis**: Claude Code blockiert einen Bash-, PowerShell- oder Monitor-Befehl, dessen Arbeitsverzeichnis zum Haupt-Checkout aufgelöst wird, oder dessen Arbeitsverzeichnis es nicht überprüfen kann, dass es außerhalb bleibt.

103* **Git-Umleitungen**: Claude Code blockiert einen Bash- oder Monitor-Befehl, der Git in den Haupt-Checkout umleitet. Die Umleitung kann durch `git -C`, `--git-dir`, eine `GIT_DIR`- oder `GIT_WORK_TREE`-Variable oder ein `cd` in den Haupt-Checkout vor dem Ausführen von Git erfolgen.104* **Git-Umleitungen**: Claude Code blockiert einen Bash- oder Monitor-Befehl, der Git in den Haupt-Checkout umleitet. Die Umleitung kann durch `git -C`, `--git-dir`, eine `GIT_DIR`- oder `GIT_WORK_TREE`-Variable oder ein `cd` in den Haupt-Checkout vor dem Ausführen von Git erfolgen.

104* **Befehlsform**: Claude Code blockiert einen Bash- oder Monitor-Befehl, wenn es nicht überprüfen kann, dass jedes Git, das der Befehl ausführt, im Worktree bleibt, zum Beispiel wenn der Befehlsname zur Laufzeit berechnet wird oder die Syntax nicht analysiert werden kann. Claude Code teilt Claude mit, wie der abgelehnte Befehl umgeschrieben werden kann, z. B. durch Aufteilen in einfache, separate Befehle. Sie können diese Prüfung nicht ausschalten.105* **Befehlsform**: Claude Code blockiert einen Bash- oder Monitor-Befehl, wenn es nicht überprüfen kann, dass jedes Git, das der Befehl ausführt, im Worktree bleibt. Das geschieht beispielsweise, wenn der Befehlsname zur Laufzeit berechnet wird, wenn die Syntax nicht analysiert werden kann, oder wenn eine Erweiterung wie `${!name}` oder `${ command; }` einen Befehl ausführen könnte, den der Text nicht ausdrücklich angibt. Claude Code teilt Claude mit, wie der abgelehnte Befehl umgeschrieben werden kann, z. B. durch Aufteilen in einfache, separate Befehle. Sie können diese Prüfung nicht ausschalten.

105 106 

106Die Prüfungen gelten für das Repository, von dem aus Sie Claude Code gestartet haben. Sie decken auch den Haupt-Checkout ab, von dem ein verknüpfter Worktree verknüpft ist. Für PowerShell-Befehle wendet Claude Code nur die Arbeitsverzeichnis-Prüfung an.107Die Prüfungen gelten für das Repository, von dem aus Sie Claude Code gestartet haben. Sie decken auch den Haupt-Checkout ab, von dem ein verknüpfter Worktree verknüpft ist. Für PowerShell-Befehle wendet Claude Code nur die Arbeitsverzeichnis-Prüfung an.

107 108 

108Claude sieht jede Ablehnung als einen Tool-Fehler, der den Worktree benennt und sagt, wie man fortfährt.109Claude sieht jede Ablehnung als einen Tool-Fehler, der den Worktree benennt und sagt, wie man fortfährt. Für einen abgelehnten Befehl siehe [was die Ablehnungsmeldung bedeutet und wie man sie löscht](/docs/de/errors#command-blocked-by-the-worktree-isolation-checks).

109 110 

110<h2 id="isolate-subagents-with-worktrees">111<h2 id="isolate-subagents-with-worktrees">

111 Isolieren Sie Subagents mit Worktrees112 Isolieren Sie Subagents mit Worktrees


139Wenn Sie eine `--worktree`-Sitzung [in den Hintergrund](/docs/de/agent-view#send-the-session-to-the-background) verschieben, wird ihr Worktree zu einem Hintergrund-Sitzungs-Worktree, den die Bereinigung entfernen kann. Die Bereinigung hinterlässt einen Worktree in diesen Fällen:140Wenn Sie eine `--worktree`-Sitzung [in den Hintergrund](/docs/de/agent-view#send-the-session-to-the-background) verschieben, wird ihr Worktree zu einem Hintergrund-Sitzungs-Worktree, den die Bereinigung entfernen kann. Die Bereinigung hinterlässt einen Worktree in diesen Fällen:

140 141 

141* Der Worktree hält immer noch Arbeit: geänderte oder nicht verfolgte Dateien oder nicht gepushte Commits.142* Der Worktree hält immer noch Arbeit: geänderte oder nicht verfolgte Dateien oder nicht gepushte Commits.

143* Ein ausgechecktes Submodul im Worktree hält geänderte oder nicht verfolgte Dateien, oder Claude Code kann die Submodule des Worktrees nicht inspizieren. Diese Überprüfung erfordert Claude Code v2.1.274 oder später.

142* Einer der [vier Fälle, die auch die Worktree-Erstellung blockieren](#git-lfs-content-is-missing-from-a-worktree-claude-code-created) trifft zu: Claude Code kann nicht bestimmen, welche Filter-Treiber die Repository-Konfiguration definiert, oder findet dort eine Einstellung, die es nicht ausschalten kann.144* Einer der [vier Fälle, die auch die Worktree-Erstellung blockieren](#git-lfs-content-is-missing-from-a-worktree-claude-code-created) trifft zu: Claude Code kann nicht bestimmen, welche Filter-Treiber die Repository-Konfiguration definiert, oder findet dort eine Einstellung, die es nicht ausschalten kann.

143* Der Worktree gehört zu einer `--worktree`-Sitzung, die Sie nicht in den Hintergrund verschoben haben, unabhängig von seinem Alter.145* Der Worktree gehört zu einer `--worktree`-Sitzung, die Sie nicht in den Hintergrund verschoben haben, unabhängig von seinem Alter.

144* Sie haben den Worktree selbst mit `git worktree add` erstellt, auch wenn Sie dann eine `--worktree <name>`-Sitzung darin ausgeführt und diese Sitzung in den Hintergrund verschoben haben.146* Sie haben den Worktree selbst mit `git worktree add` erstellt, auch wenn Sie dann eine `--worktree <name>`-Sitzung darin ausgeführt und diese Sitzung in den Hintergrund verschoben haben.


251 Was Worktrees mit dem Haupt-Checkout teilen253 Was Worktrees mit dem Haupt-Checkout teilen

252</h2>254</h2>

253 255 

254Ein Worktree erhält seine eigenen Dateien und Branch, aber es teilt das `.git`-Verzeichnis des Repositories, Plugins im Projekt-Bereich und gespeicherte Genehmigungen mit dem Haupt-Checkout:256Ein Worktree erhält seine eigenen Dateien und Branch, aber es teilt das Folgende mit dem Haupt-Checkout:

255 257 

256* **Das `.git`-Verzeichnis des Repositories**: Git-Befehle in einem Worktree schreiben in das gemeinsame `.git`-Verzeichnis des Haupt-Repositories, und [Sandboxing](/docs/de/sandboxing#filesystem-isolation) erlaubt diese Schreibvorgänge, sodass Befehle wie `git commit` von innen in einem Worktree mit aktivierter Sandbox funktionieren.258* **Das `.git`-Verzeichnis des Repositories**: Git-Befehle in einem Worktree schreiben in das gemeinsame `.git`-Verzeichnis des Haupt-Repositories, und [Sandboxing](/docs/de/sandboxing#filesystem-isolation) erlaubt diese Schreibvorgänge, sodass Befehle wie `git commit` von innen in einem Worktree mit aktivierter Sandbox funktionieren.

257* **Plugins**: Plugins, die im [Projekt-Bereich](/docs/de/plugins-reference#plugin-installation-scopes) 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.259* **Plugins**: Plugins, die im [Projekt-Bereich](/docs/de/plugins-reference#plugin-installation-scopes) 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.

258* **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](/docs/de/settings#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](/docs/de/permissions#permission-system).260* **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](/docs/de/settings#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](/docs/de/permissions#permission-system).

261* **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](/docs/de/skills#where-skills-live) des Haupt-Checkouts in der Worktree-Sitzung. In einem Worktree mit seinem eigenen `.claude/skills`-Verzeichnis wird nur diese Kopie geladen.

259 262 

260Alle drei gelten, ob Sie den Worktree mit `--worktree`, mit `git worktree add` oder über die [Desktop-App](/docs/de/desktop#work-in-parallel-with-sessions) erstellen.263 Dieselbe Durchlesung gilt für `.claude/agents` und `.claude/commands`. Für Skills erfordert die Durchlesung Claude Code v2.1.277 oder später.

264 

265All diese gelten, ob Sie den Worktree mit `--worktree`, mit `git worktree add` oder über die [Desktop-App](/docs/de/desktop#work-in-parallel-with-sessions) erstellen.

261 266 

262<h2 id="manage-worktrees-manually">267<h2 id="manage-worktrees-manually">

263 Verwalten Sie Worktrees manuell268 Verwalten Sie Worktrees manuell