SpyBara
Go Premium

Documentation 2026-06-16 21:57 UTC to 2026-06-17 17:02 UTC

114 files changed +8,508 −1,311. View all changes and history on the product overview
2026
Thu 18 02:02 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

admin-setup.md +4 −3

Details

46 Entscheiden Sie, wie Einstellungen Geräte erreichen46 Entscheiden Sie, wie Einstellungen Geräte erreichen

47</h2>47</h2>

48 48 

49Verwaltete Einstellungen definieren Richtlinien, die Vorrang vor lokalen Entwicklerkonfigurationen haben. Claude Code sucht an vier Stellen danach und verwendet die erste, die es auf einem bestimmten Gerät findet.49Verwaltete Einstellungen definieren Richtlinien, die Vorrang vor lokalen Entwicklerkonfigurationen haben. Claude Code sucht an vier Stellen in der folgenden Prioritätsreihenfolge danach und wendet die erste an, die eine nicht leere Konfiguration zurückgibt.

50 50 

51| Mechanismus | Lieferung | Priorität | Plattformen |51| Mechanismus | Lieferung | Priorität | Plattformen |

52| :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- | :------------- |52| :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- | :------------- |


74Verwaltete Einstellungen können Tools sperren, Sandbox-Ausführung, MCP-Server und Plugin-Quellen einschränken und steuern, welche Hooks ausgeführt werden. Jede Zeile ist eine Kontrollfläche mit den Einstellungsschlüsseln, die sie antreiben.74Verwaltete Einstellungen können Tools sperren, Sandbox-Ausführung, MCP-Server und Plugin-Quellen einschränken und steuern, welche Hooks ausgeführt werden. Jede Zeile ist eine Kontrollfläche mit den Einstellungsschlüsseln, die sie antreiben.

75 75 

76| Kontrolle | Was es tut | Wichtige Einstellungen |76| Kontrolle | Was es tut | Wichtige Einstellungen |

77| :--------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------- |77| :--------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------- |

78| [Berechtigungsregeln](/de/permissions) | Bestimmte Tools und Befehle zulassen, fragen oder ablehnen | `permissions.allow`, `permissions.deny` |78| [Berechtigungsregeln](/de/permissions) | Bestimmte Tools und Befehle zulassen, fragen oder ablehnen | `permissions.allow`, `permissions.deny` |

79| [Berechtigungssperre](/de/permissions#managed-only-settings) | Nur verwaltete Berechtigungsregeln gelten; deaktivieren Sie `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |79| [Berechtigungssperre](/de/permissions#managed-only-settings) | Nur verwaltete Berechtigungsregeln gelten; deaktivieren Sie `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |

80| [Sandboxing](/de/sandboxing) | Isolierung auf Betriebssystemebene des Dateisystems und Netzwerks mit Domain-Allowlists | `sandbox.enabled`, `sandbox.network.allowedDomains` |80| [Sandboxing](/de/sandboxing) | Isolierung auf Betriebssystemebene des Dateisystems und Netzwerks mit Domain-Allowlists | `sandbox.enabled`, `sandbox.network.allowedDomains` |


85| [Hook-Einschränkungen](/de/settings#hook-configuration) | Nur verwaltete Hooks werden geladen; HTTP-Hook-URLs einschränken | `allowManagedHooksOnly`, `allowedHttpHookUrls` |85| [Hook-Einschränkungen](/de/settings#hook-configuration) | Nur verwaltete Hooks werden geladen; HTTP-Hook-URLs einschränken | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

86| [Agent-Ansicht deaktivieren](/de/agent-view#how-background-sessions-are-hosted) | Schalten Sie `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor aus | `disableAgentView` |86| [Agent-Ansicht deaktivieren](/de/agent-view#how-background-sessions-are-hosted) | Schalten Sie `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor aus | `disableAgentView` |

87| [Versionsuntergrenze](/de/settings) | Verhindern Sie, dass Auto-Update unter ein organisationsweites Minimum installiert wird | `minimumVersion` |87| [Versionsuntergrenze](/de/settings) | Verhindern Sie, dass Auto-Update unter ein organisationsweites Minimum installiert wird | `minimumVersion` |

88| [Erforderlicher Versionsbereich](/de/settings) | Weigern Sie sich, überhaupt zu starten, wenn die laufende Version außerhalb eines von der Organisation genehmigten Bereichs liegt. Stärker als `minimumVersion`, das nur Downgrades blockiert | `requiredMinimumVersion`, `requiredMaximumVersion` |

88 89 

89Berechtigungsregeln und Sandboxing decken verschiedene Ebenen ab. Das Ablehnen von WebFetch blockiert Claudes Fetch-Tool, aber wenn Bash zulässig ist, können `curl` und `wget` immer noch jede URL erreichen. Sandboxing schließt diese Lücke mit einer auf Betriebssystemebene durchgesetzten Netzwerk-Domain-Allowlist.90Berechtigungsregeln und Sandboxing decken verschiedene Ebenen ab. Das Ablehnen von WebFetch blockiert Claudes Fetch-Tool, aber wenn Bash zulässig ist, können `curl` und `wget` immer noch jede URL erreichen. Sandboxing schließt diese Lücke mit einer auf Betriebssystemebene durchgesetzten Netzwerk-Domain-Allowlist.

90 91 


122 Überprüfen und Onboarding123 Überprüfen und Onboarding

123</h2>124</h2>

124 125 

125Nach der Konfiguration verwalteter Einstellungen lassen Sie einen Entwickler `/status` in Claude Code ausführen. Die Ausgabe enthält eine Zeile, die mit `Enterprise managed settings` beginnt, gefolgt von der Quelle in Klammern, eine von `(remote)`, `(plist)`, `(HKLM)`, `(HKCU)` oder `(file)`. Siehe [Aktive Einstellungen überprüfen](/de/settings#verify-active-settings).126Nach der Konfiguration verwalteter Einstellungen lassen Sie einen Entwickler `/status` in Claude Code ausführen. Auf der Registerkarte **Status** zeigt die Zeile `Setting sources` `Enterprise managed settings` gefolgt von der Quelle in Klammern, eine von `(remote)`, `(plist)`, `(HKLM)`, `(HKCU)` oder `(file)`. Siehe [Aktive Einstellungen überprüfen](/de/settings#verify-active-settings).

126 127 

127Teilen Sie diese Ressourcen, um Entwicklern den Einstieg zu erleichtern:128Teilen Sie diese Ressourcen, um Entwicklern den Einstieg zu erleichtern:

128 129 

advisor.md +198 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Schwierige Entscheidungen mit dem Advisor-Tool eskalieren

6 

7> Kombinieren Sie Ihr Hauptmodell mit einem stärkeren Advisor-Modell, das Claude an wichtigen Momenten während einer Aufgabe konsultiert.

8 

9{/* plan-availability: feature=advisor providers=anthropic */}

10 

11<Note>

12 Das Advisor-Tool ist experimentell und erfordert Claude Code v2.1.98 oder später mit der Anthropic API. Es ist nicht auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry verfügbar. Verhalten, Preisgestaltung und Verfügbarkeit können sich ändern.

13</Note>

14 

15Das Advisor-Tool ermöglicht es Claude, ein zweites, typischerweise stärkeres Modell an wichtigen Momenten während einer Aufgabe zu konsultieren, z. B. bevor ein Ansatz festgelegt wird, wenn ein wiederkehrender Fehler auftritt, oder bevor eine Aufgabe als abgeschlossen erklärt wird. Der Advisor erhält das gesamte Gespräch, einschließlich aller Tool-Aufrufe und Ergebnisse, und gibt Anleitung zurück, die Claude vor dem Fortfahren anwendet.

16 

17Der Advisor läuft serverseitig auf der Infrastruktur von Anthropic als [Server-Tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool), das sowohl für Abonnement- als auch für API-abgerechnete Konten verfügbar ist. Sie wählen, welches Modell als Advisor fungiert, und Claude entscheidet, wann es aufgerufen wird.

18 

19Diese Seite behandelt, wie Sie den Advisor aktivieren, welche Modellkombinationen akzeptiert werden, was Claude während einer Konsultation anzeigt, und wie die Advisor-Nutzung abgerechnet wird.

20 

21<h2 id="when-to-use-the-advisor">

22 Wann der Advisor verwendet werden sollte

23</h2>

24 

25Der Advisor eignet sich für lange, mehrstufige Aufgaben, bei denen die meisten Schritte Routine sind, aber die Planqualität das Ergebnis bestimmt. Beispiele sind große Umstrukturierungen, Debugging-Sitzungen, bei denen ein Fehler immer wieder auftritt, und Aufgaben, die Sie unabhängig überprüft haben möchten, bevor Claude sie als abgeschlossen erklärt.

26 

27Er bietet weniger Wert bei kurzen Aufgaben, bei denen es wenig zu planen gibt, oder bei Arbeiten, bei denen jeder Schritt das stärkste Modell benötigt. Für diese Fälle [wechseln Sie das Hauptmodell](/de/model-config#setting-your-model) oder siehe [wie der Advisor mit opusplan und Subagents verglichen wird](#compare-with-related-features) für andere Möglichkeiten, eine zweite Meinung zu erhalten.

28 

29<h2 id="enable-the-advisor">

30 Aktivieren Sie den Advisor

31</h2>

32 

33Sie können das Advisor-Modell auf drei Arten festlegen:

34 

35* **`/advisor` Befehl**: Legen Sie den Advisor während einer Sitzung fest oder ändern Sie ihn und speichern Sie ihn als Standard

36* **`advisorModel` Einstellung**: Konfigurieren Sie einen persistenten Standard in Ihrer [Einstellungsdatei](/de/settings)

37* **`--advisor` Flag**: Legen Sie den Advisor für eine einzelne Sitzung beim Start fest

38 

39Wenn eine dieser Optionen ein Advisor-Modell festlegt, ist der Advisor für Sitzungen aktiviert, deren Hauptmodell [es unterstützt](#choose-an-advisor-model). Um die Verwendung zu beenden, siehe [Schalten Sie den Advisor aus](#turn-the-advisor-off).

40 

41<Note>

42 Um Fable 5 als Advisor zu verwenden, benötigen Sie Claude Code v2.1.170 oder später und [Fable 5 Zugriff](/de/model-config#work-with-fable-5) für Ihre Organisation.

43</Note>

44 

45<h3 id="use-the-/advisor-command">

46 Verwenden Sie den `/advisor` Befehl

47</h3>

48 

49Führen Sie `/advisor` ohne Argumente aus, um eine Auswahl mit den verfügbaren Advisor-Modellen zu öffnen, oder übergeben Sie das Modell direkt:

50 

51```

52/advisor opus

53```

54 

55Ihre Auswahl wird in `advisorModel` in Ihren Benutzereinstellungen gespeichert und bleibt über Sitzungen hinweg erhalten. Wenn Ihr aktuelles Hauptmodell den Advisor nicht unterstützt, wird die Auswahl trotzdem gespeichert und aktiviert sich, wenn Sie zu einem [kompatiblen Hauptmodell](#choose-an-advisor-model) mit [`/model`](/de/model-config#setting-your-model) wechseln.

56 

57<h3 id="set-advisormodel-in-settings">

58 Legen Sie `advisorModel` in den Einstellungen fest

59</h3>

60 

61Um den Advisor als Standard zu konfigurieren, ohne eine Sitzung zu öffnen, legen Sie ihn in Ihrer Einstellungsdatei fest:

62 

63```json theme={null}

64{

65 "advisorModel": "opus"

66}

67```

68 

69<h3 id="use-the-advisor-flag">

70 Verwenden Sie das `--advisor` Flag

71</h3>

72 

73Um den Advisor für eine einzelne Sitzung festzulegen, ohne Ihre gespeicherte Einstellung zu ändern, starten Sie mit dem Flag:

74 

75```bash theme={null}

76claude --advisor opus

77```

78 

79Das Flag hat Vorrang vor der `advisorModel` Einstellung für diese Sitzung. Im Gegensatz zu `/advisor`, das eine inaktive Auswahl speichert, beendet sich das Flag mit einem Fehler, wenn das Hauptmodell der Sitzung den Advisor nicht unterstützt.

80 

81<h2 id="choose-an-advisor-model">

82 Wählen Sie ein Advisor-Modell

83</h2>

84 

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

86 

87| Hauptmodell | Akzeptierte Advisors | Hinweise |

88| ----------------------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------- |

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

90| Sonnet 4.6 | Fable, Opus, Sonnet | |

91| Opus 4.6 oder später | Fable, Opus in oder über der Version des Hauptmodells | Ein Opus 4.7 Hauptmodell mit einem Opus 4.6 Advisor wird abgelehnt |

92| Fable 5 ({/* min-version: 2.1.170 */}v2.1.170+) | Fable | Ein Opus oder Sonnet Advisor wird abgelehnt |

93 

94Fable 5 erfordert Claude Code v2.1.170 oder später und Fable 5 Zugriff, unabhängig davon, ob es als Hauptmodell oder als Advisor fungiert.

95 

96Legen Sie den Advisor als `opus`, `sonnet` oder `fable` fest. Diese Aliase werden in die neueste Version jedes Modells aufgelöst. Sie können auch eine vollständige Modell-ID wie `claude-opus-4-8` übergeben.

97 

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

99 

100Claude Code validiert die Kopplung vor dem Senden einer Anfrage:

101 

102* Wenn der Advisor weniger leistungsfähig ist als das Hauptmodell, wird der Advisor nicht an die Anfragen des Hauptmodells angehängt. 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.

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

104 

105<h3 id="common-model-pairings">

106 Häufige Modellkombinationen

107</h3>

108 

109Jede akzeptierte Kopplung funktioniert. Diese Kombinationen gleichen Kosten gegen Leistung auf verschiedene Weise aus:

110 

111| Kopplung | Wann zu verwenden |

112| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

113| Sonnet Hauptmodell + Opus Advisor | Sonnet verarbeitet Routineaufgaben und eskaliert Planung, mehrdeutige Fehler und Abschlussüberprüfungen an Opus |

114| Sonnet Hauptmodell + Fable Advisor | Fable 5 Anleitung an Entscheidungspunkten ohne Fable 5 durchgehend auszuführen. Erfordert v2.1.170 oder später und Fable 5 Zugriff |

115| Haiku Hauptmodell + Opus Advisor | Kostengünstigstes Hauptmodell mit starker Planung. Erwarten Sie höhere Kosten als Haiku allein, aber niedriger als das Wechseln des Hauptmodells zu Sonnet oder Opus |

116| Opus Hauptmodell + Opus Advisor | Ein zweiter Opus überprüft den ersten. Nützlich für hochriskante Aufgaben, bei denen eine unabhängige Überprüfung wichtiger ist als Kosten |

117| Fable Hauptmodell + Fable Advisor | Höchste Leistungskopplung, wenn Fable 5 verfügbar ist (v2.1.170+). Fable ist eine höhere Stufe als Opus und Sonnet, daher ist es der einzige akzeptierte Advisor für ein Fable Hauptmodell |

118| Sonnet Hauptmodell + Sonnet Advisor | Eine kostengünstigere zweite Meinung zum Erkennen von Routineversäumnissen |

119 

120<h2 id="when-claude-consults-the-advisor">

121 Wann Claude den Advisor konsultiert

122</h2>

123 

124Claude entscheidet, wann der Advisor aufgerufen wird. Es neigt dazu, vor dem Festlegen eines Ansatzes zu konsultieren, wenn ein Fehler immer wieder auftritt, und vor der Erklärung einer Aufgabe als abgeschlossen, aber der Zeitpunkt ist modellgesteuert und nicht regelbasiert.

125 

126Sie können in Ihrem Prompt eine Konsultation anfordern, genauso wie Sie jedes andere Tool anfordern würden, zum Beispiel `consult the advisor before you continue`. Es gibt keine Einstellung, um Advisor-Aufrufe zu begrenzen oder zu erzwingen; wenn Sie möchten, dass Claude während einer Aufgabe häufiger oder seltener konsultiert, sagen Sie dies in Ihren Anweisungen.

127 

128<h2 id="what-you-see-during-a-session">

129 Was Sie während einer Sitzung sehen

130</h2>

131 

132Wenn Claude den Advisor aufruft, zeigt das Transkript eine `Advising` Zeile mit dem Namen des Advisor-Modells, während der Aufruf läuft. Wenn das Ergebnis zurückkommt, bestätigt die Zeile, dass der Advisor das Gespräch überprüft hat. Drücken Sie `Ctrl+O`, um es zu erweitern und die vollständige Anleitung des Advisors zu lesen.

133 

134Claude folgt im Allgemeinen der Anleitung des Advisors, passt sich aber an, wenn seine eigenen Erkenntnisse einer spezifischen Aussage widersprechen: Wenn ein empfohlener Schritt beim Versuch fehlschlägt oder der Dateiinhalt der Anleitung widerspricht, zeigt Claude den Konflikt auf, anstatt die Anleitung bedingungslos zu befolgen.

135 

136Der Advisor erhält immer das gesamte Gespräch, und Claude kontrolliert den Zeitpunkt. Für mehr Kontrolle oder eine andere Konfiguration siehe [wie der Advisor mit Subagents und opusplan verglichen wird](#compare-with-related-features).

137 

138<h2 id="cost">

139 Kosten

140</h2>

141 

142Jeder Advisor-Aufruf sendet das Gespräch an das Advisor-Modell, daher verbraucht es Token zu den Sätzen des Advisor-Modells zusätzlich zu Ihrer Hauptmodellnutzung. Bei API-Abrechnung werden Advisor-Token zu den Input- und Output-Sätzen des Advisor-Modells berechnet. Bei Abonnementplänen zählt die Advisor-Nutzung zu den Nutzungsgrenzen Ihres Plans.

143 

144Claude ruft den Advisor an Entscheidungspunkten auf, nicht bei jedem Schritt, daher kostet die Kopplung eines schnelleren Hauptmodells mit einem stärkeren Advisor typischerweise weniger als das durchgehende Ausführen des stärkeren Modells. Die Advisor-Nutzung zählt zu den Sitzungssummen, die von [`/usage`](/de/costs#track-your-costs) angezeigt werden.

145 

146Für die Berichterstattung von Advisor-Token in API-Antworten siehe [Nutzung und Abrechnung](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#usage-and-billing) in der Claude API-Dokumentation.

147 

148<h2 id="impact-on-prompt-caching">

149 Auswirkung auf Prompt-Caching

150</h2>

151 

152Das Aktivieren oder Deaktivieren des Advisors während einer Sitzung invalidiert nicht den [Prompt-Cache](/de/prompt-caching) Ihres Hauptmodells. Im Gegensatz zum [Ändern von Modell oder Aufwandsstufe](/de/prompt-caching#actions-that-invalidate-the-cache) behält das Umschalten von `/advisor` das zwischengespeicherte Präfix bei, und die vom Advisor zurückgegebene Anleitung wird als Teil des Transkripts bei späteren Schritten zwischengespeichert.

153 

154Das eigene Lesen des Advisor-Modells des Gesprächs wird nicht zwischengespeichert. Jeder Advisor-Aufruf verarbeitet das gesamte Transkript neu, ohne Wiederverwendung zwischen Aufrufen.

155 

156<h2 id="requirements">

157 Anforderungen

158</h2>

159 

160Das Advisor-Tool erfordert alle folgenden Voraussetzungen:

161 

162* **Claude Code v2.1.98 oder später**: Führen Sie `claude update` aus, um zu aktualisieren.

163* **Nur Anthropic API**: Der Advisor ist ein serverseitig ausgeführtes Tool. Er ist nicht auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry verfügbar. Über ein [LLM-Gateway](/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.

164* **Unterstütztes Hauptmodell**: Opus 4.6 oder später, Sonnet 4.6 oder Haiku 4.5. {/* min-version: 2.1.170 */}Fable 5 qualifiziert sich auch auf Claude Code v2.1.170 oder später.

165 

166<h2 id="turn-the-advisor-off">

167 Schalten Sie den Advisor aus

168</h2>

169 

170Um die Verwendung des Advisors zu beenden und Ihren gespeicherten `advisorModel` zu löschen, führen Sie `/advisor off` aus oder wählen Sie **No advisor** in der `/advisor` Auswahl:

171 

172```

173/advisor off

174```

175 

176Um das Advisor-Tool vollständig zu deaktivieren, einschließlich des `/advisor` Befehls und des `--advisor` Flags, legen Sie `CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1` fest. Siehe [Umgebungsvariablen](/de/env-vars).

177 

178<h2 id="compare-with-related-features">

179 Vergleich mit verwandten Funktionen

180</h2>

181 

182Der Advisor ist eine von mehreren Möglichkeiten, Modellstärken zu kombinieren. Wählen Sie basierend darauf, wann Sie ein zweites Modell beteiligt haben möchten.

183 

184| Ansatz | Wann das stärkere Modell läuft | Wie es startet |

185| -------------------------------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------ |

186| Advisor-Tool | An Entscheidungspunkten während der Aufgabe | Claude ruft es auf, wenn es Anleitung benötigt |

187| [`opusplan`](/de/model-config#opusplan-model-setting) | Während des Plan-Modus, dann wechselt zu Sonnet für die Ausführung | Sie treten in den Plan-Modus ein |

188| [Subagents](/de/sub-agents#choose-a-model) mit `model` gesetzt | Für die gesamte delegierte Teilaufgabe | Claude delegiert oder Sie rufen den Subagent auf |

189| [`/model`](/de/model-config#setting-your-model) | Für alle nachfolgenden Schritte | Sie wechseln Modelle |

190 

191<h2 id="see-also">

192 Siehe auch

193</h2>

194 

195* [Modellkonfiguration](/de/model-config): Wechseln Sie Modelle, legen Sie Aufwandsstufen fest und verwenden Sie `opusplan`

196* [Verwalten Sie Kosten effektiv](/de/costs): Verfolgen Sie die Token-Nutzung über Modelle hinweg

197* [Advisor-Tool in der Claude API](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool): Verstehen Sie das zugrunde liegende Server-Tool oder verwenden Sie es direkt von der Messages API

198* [Die Advisor-Strategie](https://claude.com/blog/the-advisor-strategy): Warum die Kopplung eines schnellen Hauptmodells mit einem stärkeren Advisor funktioniert

Details

16 16 

17Jede Agent-Sitzung folgt dem gleichen Zyklus:17Jede Agent-Sitzung folgt dem gleichen Zyklus:

18 18 

19<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agent-loop-diagram.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=1c6e8f28d80dba14a7287419656f1237" alt="Agent-Schleife: Prompt wird eingegeben, Claude bewertet, verzweigt sich zu Werkzeugaufrufen oder endgültiger Antwort" width="720" height="212" data-path="images/agent-loop-diagram.svg" />19<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agent-loop-diagram.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=1c6e8f28d80dba14a7287419656f1237" alt="Diagramm der Agent-Schleife: Ihr Prompt wird in die agentengesteuerte Schleife eingegeben, wo Claude bewertet und entweder Werkzeugaufrufe anfordert, deren Ergebnisse in eine weitere Bewertung zurückfließen, oder die endgültige Antwort zurückgibt" width="720" height="212" data-path="images/agent-loop-diagram.svg" />

20 20 

211. **Prompt empfangen.** Claude empfängt Ihren Prompt zusammen mit dem System-Prompt, Werkzeugdefinitionen und Gesprächsverlauf. Das SDK gibt eine [`SystemMessage`](#message-types) mit dem Subtyp `"init"` aus, die Sitzungsmetadaten enthält.211. **Prompt empfangen.** Claude empfängt Ihren Prompt zusammen mit dem System-Prompt, Werkzeugdefinitionen und Gesprächsverlauf. Das SDK gibt eine [`SystemMessage`](#message-types) mit dem Subtyp `"init"` aus, die Sitzungsmetadaten enthält.

222. **Bewerten und antworten.** Claude bewertet den aktuellen Status und bestimmt, wie vorzugehen ist. Es kann mit Text antworten, einen oder mehrere Werkzeugaufrufe anfordern oder beides. Das SDK gibt eine [`AssistantMessage`](#message-types) aus, die den Text und alle Werkzeugaufrufe enthält.222. **Bewerten und antworten.** Claude bewertet den aktuellen Status und bestimmt, wie vorzugehen ist. Es kann mit Text antworten, einen oder mehrere Werkzeugaufrufe anfordern oder beides. Das SDK gibt eine [`AssistantMessage`](#message-types) aus, die den Text und alle Werkzeugaufrufe enthält.


53 53 

54Während die Schleife läuft, gibt das SDK einen Stream von Nachrichten aus. Jede Nachricht trägt einen Typ, der Ihnen sagt, aus welcher Phase der Schleife sie stammt. Die fünf Kerntypen sind:54Während die Schleife läuft, gibt das SDK einen Stream von Nachrichten aus. Jede Nachricht trägt einen Typ, der Ihnen sagt, aus welcher Phase der Schleife sie stammt. Die fünf Kerntypen sind:

55 55 

56* **`SystemMessage`:** Sitzungslebenszyklus-Ereignisse. Das Feld `subtype` unterscheidet sie: `"init"` ist die erste Nachricht (Sitzungsmetadaten), und `"compact_boundary"` wird nach [Komprimierung](#automatic-compaction) ausgelöst. In TypeScript ist die Komprimierungsgrenze ihr eigener [`SDKCompactBoundaryMessage`](/de/agent-sdk/typescript#sdkcompactboundarymessage)-Typ statt eines Subtyps von `SDKSystemMessage`.56* **`SystemMessage`:** Sitzungslebenszyklus-Ereignisse. Das Feld `subtype` unterscheidet sie:

57 

58 * `"init"`: die erste Nachricht mit Sitzungsmetadaten

59 * `"compact_boundary"`: wird nach [Komprimierung](#automatic-compaction) ausgelöst

60 * `"informational"`: einfache Textstatusbanner aus der Schleife

61 * `"worker_shutting_down"`: die Schleife endet nach der aktuellen Runde, weil der Host beendet wird oder Remote Control getrennt wurde

62 

63 In TypeScript ist jeder Subtyp außer `"init"` sein eigener Typ in der [`SDKMessage`-Union](/de/agent-sdk/typescript#sdkmessage) statt eines Subtyps von `SDKSystemMessage`.

57* **`AssistantMessage`:** wird nach jeder Claude-Antwort ausgegeben, einschließlich der endgültigen nur-Text-Antwort. Enthält Textinhaltsblöcke und Werkzeugaufrufsblöcke aus dieser Runde.64* **`AssistantMessage`:** wird nach jeder Claude-Antwort ausgegeben, einschließlich der endgültigen nur-Text-Antwort. Enthält Textinhaltsblöcke und Werkzeugaufrufsblöcke aus dieser Runde.

58* **`UserMessage`:** wird nach jeder Werkzeugausführung mit dem Werkzeugergebnis-Inhalt ausgegeben, der an Claude zurückgesendet wird. Wird auch für alle Benutzereingaben ausgegeben, die Sie mid-loop streamen.65* **`UserMessage`:** wird nach jeder Werkzeugausführung mit dem Werkzeugergebnis-Inhalt ausgegeben, der an Claude zurückgesendet wird. Wird auch für alle Benutzereingaben ausgegeben, die Sie mid-loop streamen.

59* **`StreamEvent`:** wird nur ausgegeben, wenn Teilteilnachrichten aktiviert sind. Enthält rohe API-Streaming-Ereignisse (Text-Deltas, Werkzeug-Input-Chunks). Siehe [Stream-Antworten](/de/agent-sdk/streaming-output).66* **`StreamEvent`:** wird nur ausgegeben, wenn Teilteilnachrichten aktiviert sind. Enthält rohe API-Streaming-Ereignisse (Text-Deltas, Werkzeug-Input-Chunks). Siehe [Stream-Antworten](/de/agent-sdk/streaming-output).


183Die Option `effort` kontrolliert, wie viel Denken Claude anwendet. Niedrigere Anstrengungsgrade verwenden weniger Token pro Runde und reduzieren Kosten. Nicht alle Modelle unterstützen den Anstrengungsparameter. Siehe [Anstrengung](https://platform.claude.com/docs/en/build-with-claude/effort) für welche Modelle es unterstützen.190Die Option `effort` kontrolliert, wie viel Denken Claude anwendet. Niedrigere Anstrengungsgrade verwenden weniger Token pro Runde und reduzieren Kosten. Nicht alle Modelle unterstützen den Anstrengungsparameter. Siehe [Anstrengung](https://platform.claude.com/docs/en/build-with-claude/effort) für welche Modelle es unterstützen.

184 191 

185| Stufe | Verhalten | Gut für |192| Stufe | Verhalten | Gut für |

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

187| `"low"` | Minimales Denken, schnelle Antworten | Datei-Lookups, Verzeichnisse auflisten |194| `"low"` | Minimales Denken, schnelle Antworten | Datei-Lookups, Verzeichnisse auflisten |

188| `"medium"` | Ausgewogenes Denken | Routine-Bearbeitungen, Standard-Aufgaben |195| `"medium"` | Ausgewogenes Denken | Routine-Bearbeitungen, Standard-Aufgaben |

189| `"high"` | Gründliche Analyse | Refaktorisierungen, Debugging |196| `"high"` | Gründliche Analyse | Refaktorisierungen, Debugging |

190| `"xhigh"` | Erweiterte Denktiefe | Kodierungs- und agentengesteuerte Aufgaben; empfohlen auf Opus 4.7 |197| `"xhigh"` | Erweiterte Denktiefe | Kodierungs- und agentengesteuerte Aufgaben; empfohlen auf Fable 5 und Opus 4.7+ |

191| `"max"` | Maximale Denktiefe | Mehrstufige Probleme, die tiefe Analyse erfordern |198| `"max"` | Maximale Denktiefe | Mehrstufige Probleme, die tiefe Analyse erfordern |

192 199 

193Wenn Sie `effort` nicht setzen, lässt das Python SDK den Parameter ungesetzt und überlässt das Standardverhalten dem Modell. Das TypeScript SDK verwendet standardmäßig `"high"`.200Wenn Sie `effort` nicht setzen, lassen beide SDKs den Parameter ungesetzt und überlassen das Standardverhalten dem Modell.

194 201 

195<Note>202<Note>

196 `effort` tauscht Latenz und Token-Kosten gegen Denktiefe innerhalb jeder Antwort. [Erweitertes Denken](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) ist eine separate Funktion, die sichtbare Gedankenketten-Blöcke in der Ausgabe erzeugt. Sie sind unabhängig: Sie können `effort: "low"` mit aktiviertem erweiterten Denken setzen oder `effort: "max"` ohne es.203 `effort` tauscht Latenz und Token-Kosten gegen Denktiefe innerhalb jeder Antwort. [Erweitertes Denken](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) ist eine separate Funktion, die sichtbare Gedankenketten-Blöcke in der Ausgabe erzeugt. Sie sind unabhängig: Sie können `effort: "low"` mit aktiviertem erweiterten Denken setzen oder `effort: "max"` ohne es.


205Die Berechtigungsmodus-Option (`permission_mode` in Python, `permissionMode` in TypeScript) kontrolliert, ob der Agent vor der Verwendung von Werkzeugen um Genehmigung fragt:212Die Berechtigungsmodus-Option (`permission_mode` in Python, `permissionMode` in TypeScript) kontrolliert, ob der Agent vor der Verwendung von Werkzeugen um Genehmigung fragt:

206 213 

207| Modus | Verhalten |214| Modus | Verhalten |

208| :------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |215| :------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

209| `"default"` | Werkzeuge, die nicht durch Zulassungsregeln abgedeckt sind, lösen Ihren Genehmigungsrückruf aus; kein Rückruf bedeutet Ablehnung |216| `"default"` | Werkzeuge, die nicht durch Zulassungsregeln abgedeckt sind, lösen Ihren Genehmigungsrückruf aus; kein Rückruf bedeutet Ablehnung |

210| `"acceptEdits"` | Genehmigt automatisch Dateibearbeitungen und häufige Dateisystem-Befehle (`mkdir`, `touch`, `mv`, `cp`, usw.); andere Bash-Befehle folgen Standardregeln |217| `"acceptEdits"` | Genehmigt automatisch Dateibearbeitungen und häufige Dateisystem-Befehle (`mkdir`, `touch`, `mv`, `cp`, usw.); andere Bash-Befehle folgen Standardregeln |

211| `"plan"` | Schreibgeschützte Werkzeuge laufen; Claude erkundet und erzeugt einen Plan, ohne Ihre Quelldateien zu bearbeiten |218| `"plan"` | Claude erkundet und plant, ohne Ihre Quelldateien zu bearbeiten; Dateibearbeitungen werden nie automatisch genehmigt und werden durch Ihren `canUseTool`-Rückruf aufgefordert |

212| `"dontAsk"` | Fragt nie. Werkzeuge, die durch [Berechtigungsregeln](/de/settings#permission-settings) vorab genehmigt wurden, laufen, alles andere wird abgelehnt |219| `"dontAsk"` | Fragt nie. Werkzeuge, die durch [Berechtigungsregeln](/de/settings#permission-settings) vorab genehmigt wurden, laufen, alles andere wird abgelehnt |

213| `"auto"` (nur TypeScript) | Verwendet einen Modell-Klassifizierer, um jeden Werkzeugaufruf zu genehmigen oder abzulehnen. Siehe [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) für Verfügbarkeit und Verhalten |220| `"auto"` (nur TypeScript) | Verwendet einen Modell-Klassifizierer, um jeden Werkzeugaufruf zu genehmigen oder abzulehnen. Siehe [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) für Verfügbarkeit und Verhalten |

214| `"bypassPermissions"` | Führt alle zulässigen Werkzeuge aus, ohne zu fragen. Kann nicht verwendet werden, wenn als Root auf Unix ausgeführt wird. Verwenden Sie nur in isolierten Umgebungen, in denen die Aktionen des Agenten keine Systeme beeinflussen können, die Ihnen wichtig sind |221| `"bypassPermissions"` | Führt alle zulässigen Werkzeuge aus, ohne zu fragen, es sei denn, eine explizite [`ask`-Regel](/de/settings#permission-settings) passt; siehe [Wie Berechtigungen ausgewertet werden](/de/agent-sdk/permissions#how-permissions-are-evaluated) für die Position von Ask-Regeln in der Vorrangordnung. Kann nicht verwendet werden, wenn als Root auf Unix ausgeführt wird. Verwenden Sie nur in isolierten Umgebungen, in denen die Aktionen des Agenten keine Systeme beeinflussen können, die Ihnen wichtig sind |

215 222 

216Für interaktive Anwendungen verwenden Sie `"default"` mit einem Werkzeug-Genehmigungsrückruf, um Genehmigungsaufforderungen anzuzeigen. Für autonome Agenten auf einer Dev-Maschine verwenden Sie `"acceptEdits"`, um Dateibearbeitungen und häufige Dateisystem-Befehle (`mkdir`, `touch`, `mv`, `cp`, usw.) automatisch zu genehmigen, während Sie andere `Bash`-Befehle immer noch hinter Zulassungsregeln gating. Reservieren Sie `"bypassPermissions"` für CI, Container oder andere isolierte Umgebungen. Siehe [Berechtigungen](/de/agent-sdk/permissions) für vollständige Details.223Für interaktive Anwendungen verwenden Sie `"default"` mit einem Werkzeug-Genehmigungsrückruf, um Genehmigungsaufforderungen anzuzeigen. Für autonome Agenten auf einer Dev-Maschine verwenden Sie `"acceptEdits"`, um Dateibearbeitungen und häufige Dateisystem-Befehle (`mkdir`, `touch`, `mv`, `cp`, usw.) automatisch zu genehmigen, während Sie andere `Bash`-Befehle immer noch hinter Zulassungsregeln gating. Reservieren Sie `"bypassPermissions"` für CI, Container oder andere isolierte Umgebungen. Siehe [Berechtigungen](/de/agent-sdk/permissions) für vollständige Details.

217 224 


305Wenn die Schleife endet, sagt Ihnen die `ResultMessage`, was passiert ist, und gibt Ihnen die Ausgabe. Das Feld `subtype` (verfügbar in beiden SDKs) ist die primäre Methode, um den Beendigungsstatus zu überprüfen.312Wenn die Schleife endet, sagt Ihnen die `ResultMessage`, was passiert ist, und gibt Ihnen die Ausgabe. Das Feld `subtype` (verfügbar in beiden SDKs) ist die primäre Methode, um den Beendigungsstatus zu überprüfen.

306 313 

307| Ergebnis-Subtyp | Was passiert ist | Feld `result` verfügbar? |314| Ergebnis-Subtyp | Was passiert ist | Feld `result` verfügbar? |

308| :------------------------------------ | :------------------------------------------------------------------------------------------ | :----------------------: |315| :------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------: |

309| `success` | Claude hat die Aufgabe normal abgeschlossen | Ja |316| `success` | Claude hat die Aufgabe normal abgeschlossen | Ja |

310| `error_max_turns` | Hat das `maxTurns`-Limit erreicht, bevor es fertig wurde | Nein |317| `error_max_turns` | Hat das `maxTurns`-Limit erreicht, bevor es fertig wurde | Nein |

311| `error_max_budget_usd` | Hat das `maxBudgetUsd`-Limit erreicht, bevor es fertig wurde | Nein |318| `error_max_budget_usd` | Hat das `maxBudgetUsd`-Limit erreicht, bevor es fertig wurde | Nein |

312| `error_during_execution` | Ein Fehler unterbrach die Schleife (zum Beispiel, ein API-Fehler oder abgebrochene Anfrage) | Nein |319| `error_during_execution` | Ein Fehler unterbrach die Schleife (zum Beispiel ein API-Fehler oder eine abgebrochene Anfrage) | Nein |

313| `error_max_structured_output_retries` | Strukturierte Ausgabevalidierung fehlgeschlagen nach dem konfigurierten Wiederholungslimit | Nein |320| `error_max_structured_output_retries` | Keine gültige strukturierte Ausgabe wurde innerhalb des konfigurierten Wiederholungslimits erzeugt: jeder Versuch schlug die Validierung fehl, oder ein Modell-Fallback zog die abgeschlossene Ausgabe ohne erfolgreiche Wiederholung zurück | Nein |

314 321 

315Das Feld `result` (die endgültige Textausgabe) ist nur in der `success`-Variante vorhanden, daher überprüfen Sie immer den Subtyp, bevor Sie es lesen. Alle Ergebnis-Subtypen tragen `total_cost_usd`, `usage`, `num_turns` und `session_id`, daher können Sie Kosten verfolgen und fortfahren, auch nach Fehlern. In Python sind `total_cost_usd` und `usage` als optional typisiert und können auf einigen Fehlerpfaden `None` sein, daher schützen Sie vor dem Formatieren. Siehe [Kosten und Nutzung verfolgen](/de/agent-sdk/cost-tracking) für Details zur Interpretation der `usage`-Felder.322Das Feld `result` (die endgültige Textausgabe) ist nur in der `success`-Variante vorhanden, daher überprüfen Sie immer den Subtyp, bevor Sie es lesen. Alle Ergebnis-Subtypen enthalten `total_cost_usd`, `usage`, `num_turns` und `session_id`, daher können Sie Kosten verfolgen und fortfahren, auch nach Fehlern. In Python sind `total_cost_usd` und `usage` als optional typisiert und können auf einigen Fehlerpfaden `None` sein, daher schützen Sie vor dem Formatieren. Siehe [Kosten und Nutzung verfolgen](/de/agent-sdk/cost-tracking) für Details zur Interpretation der `usage`-Felder.

316 323 

317Das Ergebnis enthält auch ein Feld `stop_reason` (`string | null` in TypeScript, `str | None` in Python), das angibt, warum das Modell bei seiner endgültigen Runde die Generierung gestoppt hat. Häufige Werte sind `end_turn` (Modell fertig normal), `max_tokens` (hat das Ausgabe-Token-Limit erreicht) und `refusal` (das Modell lehnte die Anfrage ab). Bei Fehler-Ergebnis-Subtypen trägt `stop_reason` den Wert aus der letzten Assistenten-Antwort, bevor die Schleife endete. Um Ablehnungen zu erkennen, überprüfen Sie `stop_reason === "refusal"` (TypeScript) oder `stop_reason == "refusal"` (Python). Siehe [`SDKResultMessage`](/de/agent-sdk/typescript#sdkresultmessage) (TypeScript) oder [`ResultMessage`](/de/agent-sdk/python#resultmessage) (Python) für den vollständigen Typ.324Das Ergebnis enthält auch ein Feld `stop_reason` (`string | null` in TypeScript, `str | None` in Python), das angibt, warum das Modell bei seiner endgültigen Runde die Generierung gestoppt hat. Häufige Werte sind `end_turn` (Modell fertig normal), `max_tokens` (hat das Ausgabe-Token-Limit erreicht) und `refusal` (das Modell lehnte die Anfrage ab). Bei Fehler-Ergebnis-Subtypen trägt `stop_reason` den Wert aus der letzten Assistenten-Antwort, bevor die Schleife endete. Um Ablehnungen zu erkennen, überprüfen Sie `stop_reason === "refusal"` (TypeScript) oder `stop_reason == "refusal"` (Python). Siehe [`SDKResultMessage`](/de/agent-sdk/typescript#sdkresultmessage) (TypeScript) oder [`ResultMessage`](/de/agent-sdk/python#resultmessage) (Python) für den vollständigen Typ.

318 325 

Details

257 257 

258<CodeGroup>258<CodeGroup>

259 ```python Python theme={null}259 ```python Python theme={null}

260 from claude_agent_sdk import ClaudeAgentOptions, query

261 import asyncio

262 

263 

264 async def main():

260 options = ClaudeAgentOptions(265 options = ClaudeAgentOptions(

261 env={266 env={

262 "CLAUDE_CODE_USE_BEDROCK": "1",267 "CLAUDE_CODE_USE_BEDROCK": "1",

263 "ENABLE_PROMPT_CACHING_1H": "1",268 "ENABLE_PROMPT_CACHING_1H": "1",

264 },269 },

265 )270 )

271 

272 async for message in query(prompt="Summarize this project", options=options):

273 print(message)

274 

275 

276 asyncio.run(main())

266 ```277 ```

267 278 

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

280 import { query } from "@anthropic-ai/claude-agent-sdk";

281 

269 const options = {282 const options = {

270 env: {283 env: {

271 ...process.env,284 ...process.env,


273 ENABLE_PROMPT_CACHING_1H: "1",286 ENABLE_PROMPT_CACHING_1H: "1",

274 },287 },

275 };288 };

289 

290 for await (const message of query({ prompt: "Summarize this project", options })) {

291 console.log(message);

292 }

276 ```293 ```

277</CodeGroup>294</CodeGroup>

278 295 

Details

36* **Beschreibung:** was das Tool tut. Claude liest dies, um zu entscheiden, wann es aufgerufen werden soll.36* **Beschreibung:** was das Tool tut. Claude liest dies, um zu entscheiden, wann es aufgerufen werden soll.

37* **Eingabeschema:** die Argumente, die Claude bereitstellen muss. In TypeScript ist dies immer ein [Zod-Schema](https://zod.dev/), und die `args` des Handlers werden automatisch davon typisiert. In Python ist dies ein Dict, das Namen auf Typen abbildet, wie `{"latitude": float}`, das das SDK für Sie in JSON Schema konvertiert. Der Python-Dekorator akzeptiert auch direkt ein vollständiges [JSON Schema](https://json-schema.org/understanding-json-schema/about)-Dict, wenn Sie Enums, Bereiche, optionale Felder oder verschachtelte Objekte benötigen.37* **Eingabeschema:** die Argumente, die Claude bereitstellen muss. In TypeScript ist dies immer ein [Zod-Schema](https://zod.dev/), und die `args` des Handlers werden automatisch davon typisiert. In Python ist dies ein Dict, das Namen auf Typen abbildet, wie `{"latitude": float}`, das das SDK für Sie in JSON Schema konvertiert. Der Python-Dekorator akzeptiert auch direkt ein vollständiges [JSON Schema](https://json-schema.org/understanding-json-schema/about)-Dict, wenn Sie Enums, Bereiche, optionale Felder oder verschachtelte Objekte benötigen.

38* **Handler:** die asynchrone Funktion, die ausgeführt wird, wenn Claude das Tool aufruft. Sie empfängt die validierten Argumente und muss ein Objekt mit folgenden Eigenschaften zurückgeben:38* **Handler:** die asynchrone Funktion, die ausgeführt wird, wenn Claude das Tool aufruft. Sie empfängt die validierten Argumente und muss ein Objekt mit folgenden Eigenschaften zurückgeben:

39 * `content` (erforderlich): ein Array von Ergebnisblöcken, jeder mit einem `type` von `"text"`, `"image"` oder `"resource"`. Siehe [Geben Sie Bilder und Ressourcen zurück](#return-images-and-resources) für Nicht-Text-Blöcke.39 * `content` (erforderlich): ein Array von Ergebnisblöcken, jeder mit einem `type` von `"text"`, `"image"`, `"audio"`, `"resource"` oder `"resource_link"`. Siehe [Geben Sie Bilder und Ressourcen zurück](#return-images-and-resources) für Nicht-Text-Blöcke.

40 * `structuredContent` (optional): ein JSON-Objekt, das das Ergebnis als maschinenlesbare Daten enthält, das zusammen mit `content` zurückgegeben wird. Siehe [Geben Sie strukturierte Daten zurück](#return-structured-data).40 * `structuredContent` (optional): ein JSON-Objekt, das das Ergebnis als maschinenlesbare Daten enthält, das zusammen mit `content` zurückgegeben wird. Siehe [Geben Sie strukturierte Daten zurück](#return-structured-data).

41 * `isError` (optional): setzen Sie auf `true`, um einen Tool-Fehler zu signalisieren, damit Claude darauf reagieren kann. Siehe [Fehler behandeln](#handle-errors).41 * `isError` (optional): setzen Sie auf `true`, um einen Tool-Fehler zu signalisieren, damit Claude darauf reagieren kann. Siehe [Fehler behandeln](#handle-errors).

42 42 


461 Geben Sie Bilder und Ressourcen zurück461 Geben Sie Bilder und Ressourcen zurück

462</h2>462</h2>

463 463 

464Das `content`-Array in einem Tool-Ergebnis akzeptiert `text`-, `image`- und `resource`-Blöcke. Sie können sie in derselben Antwort mischen.464Das `content`-Array in einem Tool-Ergebnis akzeptiert `text`-, `image`-, `audio`-, `resource`- und `resource_link`-Blöcke. Sie können sie in derselben Antwort mischen. Audio-Blöcke werden auf der Festplatte gespeichert und Claude erhält einen Text-Block mit dem gespeicherten Dateipfad. Resource-Link-Blöcke werden in einen Text-Block konvertiert, der den Namen, die URI und die Beschreibung des Links enthält.

465 465 

466<h3 id="images">466<h3 id="images">

467 Bilder467 Bilder

Details

729* **Python**: `pip install --upgrade claude-agent-sdk`729* **Python**: `pip install --upgrade claude-agent-sdk`

730* **TypeScript**: `npm install @anthropic-ai/claude-agent-sdk@latest`730* **TypeScript**: `npm install @anthropic-ai/claude-agent-sdk@latest`

731 731 

732<h3 id="user-messages-don-t-have-uuids">732<h3 id="user-messages-dont-have-uuids">

733 Benutzermeldungen haben keine UUIDs733 Benutzermeldungen haben keine UUIDs

734</h3>734</h3>

735 735 

agent-sdk/mcp.md +80 −28

Details

14 Diese Seite behandelt die MCP-Konfiguration für das Agent SDK. Um MCP-Server zur Claude Code CLI hinzuzufügen, damit sie in jedem Projekt geladen werden, siehe [MCP-Installationsbereiche](/de/mcp#mcp-installation-scopes).14 Diese Seite behandelt die MCP-Konfiguration für das Agent SDK. Um MCP-Server zur Claude Code CLI hinzuzufügen, damit sie in jedem Projekt geladen werden, siehe [MCP-Installationsbereiche](/de/mcp#mcp-installation-scopes).

15</Note>15</Note>

16 16 

17## Schnellstart17<h2 id="quickstart">

18 Schnellstart

19</h2>

18 20 

19Dieses Beispiel verbindet sich mit dem [Claude Code-Dokumentations](https://code.claude.com/docs)-MCP-Server unter Verwendung von [HTTP-Transport](#httpsse-servers) und verwendet [`allowedTools`](#allow-mcp-tools) mit einem Platzhalter, um alle Tools vom Server zuzulassen.21Dieses Beispiel verbindet sich mit dem [Claude Code-Dokumentations](https://code.claude.com/docs)-MCP-Server unter Verwendung von [HTTP-Transport](#http%2Fsse-servers) und verwendet [`allowedTools`](#allow-mcp-tools) mit einem Platzhalter, um alle Tools vom Server zuzulassen.

20 22 

21<CodeGroup>23<CodeGroup>

22 ```typescript TypeScript theme={null}24 ```typescript TypeScript theme={null}


70 72 

71Der Agent verbindet sich mit dem Dokumentationsserver, sucht nach Informationen über hooks und gibt die Ergebnisse zurück.73Der Agent verbindet sich mit dem Dokumentationsserver, sucht nach Informationen über hooks und gibt die Ergebnisse zurück.

72 74 

73## Einen MCP-Server hinzufügen75<h2 id="add-an-mcp-server">

76 Einen MCP-Server hinzufügen

77</h2>

74 78 

75Sie können MCP-Server im Code beim Aufrufen von `query()` konfigurieren oder in einer `.mcp.json`-Datei, die über [`settingSources`](#from-a-config-file) geladen wird.79Sie können MCP-Server im Code beim Aufrufen von `query()` konfigurieren oder in einer `.mcp.json`-Datei, die über [`settingSources`](#from-a-config-file) geladen wird.

76 80 

77### Im Code81<h3 id="in-code">

82 Im Code

83</h3>

78 84 

79Übergeben Sie MCP-Server direkt in der `mcpServers`-Option:85Übergeben Sie MCP-Server direkt in der `mcpServers`-Option:

80 86 


129 ```135 ```

130</CodeGroup>136</CodeGroup>

131 137 

132### Aus einer Konfigurationsdatei138<h3 id="from-a-config-file">

139 Aus einer Konfigurationsdatei

140</h3>

133 141 

134Erstellen Sie eine `.mcp.json`-Datei im Stammverzeichnis Ihres Projekts. Die Datei wird aufgegriffen, wenn die `project`-Einstellungsquelle aktiviert ist, was sie für Standard-`query()`-Optionen ist. Wenn Sie `settingSources` explizit festlegen, fügen Sie `"project"` ein, damit diese Datei geladen wird:142Erstellen Sie eine `.mcp.json`-Datei im Stammverzeichnis Ihres Projekts. Die Datei wird aufgegriffen, wenn die `project`-Einstellungsquelle aktiviert ist, was sie für Standard-`query()`-Optionen ist. Wenn Sie `settingSources` explizit festlegen, fügen Sie `"project"` ein, damit diese Datei geladen wird:

135 143 


144}152}

145```153```

146 154 

147## MCP-Tools zulassen155<h2 id="allow-mcp-tools">

156 MCP-Tools zulassen

157</h2>

148 158 

149MCP-Tools erfordern explizite Genehmigung, bevor Claude sie verwenden kann. Ohne Genehmigung sieht Claude, dass Tools verfügbar sind, kann sie aber nicht aufrufen.159MCP-Tools erfordern explizite Genehmigung, bevor Claude sie verwenden kann. Ohne Genehmigung sieht Claude, dass Tools verfügbar sind, kann sie aber nicht aufrufen.

150 160 

151### Tool-Benennungskonvention161<h3 id="tool-naming-convention">

162 Tool-Benennungskonvention

163</h3>

152 164 

153MCP-Tools folgen dem Benennungsmuster `mcp__<server-name>__<tool-name>`. Beispielsweise wird ein GitHub-Server mit dem Namen `"github"` mit einem `list_issues`-Tool zu `mcp__github__list_issues`.165MCP-Tools folgen dem Benennungsmuster `mcp__<server-name>__<tool-name>`. Beispielsweise wird ein GitHub-Server mit dem Namen `"github"` mit einem `list_issues`-Tool zu `mcp__github__list_issues`.

154 166 

155### Automatische Genehmigung mit allowedTools167<h3 id="auto-approve-with-allowedtools">

168 Automatische Genehmigung mit allowedTools

169</h3>

156 170 

157Verwenden Sie `allowedTools`, um bestimmte MCP-Tools automatisch zu genehmigen, damit Claude sie ohne Genehmigungsaufforderung verwenden kann:171Verwenden Sie `allowedTools`, um bestimmte MCP-Tools automatisch zu genehmigen, damit Claude sie ohne Genehmigungsaufforderung verwenden kann:

158 172 


174Platzhalter (`*`) ermöglichen es Ihnen, alle Tools von einem Server zuzulassen, ohne jedes einzeln aufzulisten.188Platzhalter (`*`) ermöglichen es Ihnen, alle Tools von einem Server zuzulassen, ohne jedes einzeln aufzulisten.

175 189 

176<Note>190<Note>

177 **Bevorzugen Sie `allowedTools` gegenüber Berechtigungsmodi für MCP-Zugriff.** `permissionMode: "acceptEdits"` genehmigt MCP-Tools nicht automatisch (nur Dateibearbeitungen und Filesystem-Bash-Befehle). `permissionMode: "bypassPermissions"` genehmigt MCP-Tools automatisch, deaktiviert aber auch alle anderen Sicherheitsaufforderungen, was breiter ist als nötig. Ein Platzhalter in `allowedTools` gewährt genau den MCP-Server, den Sie möchten, und nichts mehr. Siehe [Berechtigungsmodi](/de/agent-sdk/permissions#permission-modes) für einen vollständigen Vergleich.191 **Bevorzugen Sie `allowedTools` gegenüber Berechtigungsmodi für MCP-Zugriff.** `permissionMode: "acceptEdits"` genehmigt MCP-Tools nicht automatisch (nur Dateibearbeitungen und Filesystem-Bash-Befehle). `permissionMode: "bypassPermissions"` genehmigt MCP-Tools automatisch, deaktiviert aber auch alle anderen Sicherheitsaufforderungen, es sei denn, eine explizite [`ask`-Regel](/de/agent-sdk/permissions#how-permissions-are-evaluated) stimmt überein, was breiter ist als nötig. Ein Platzhalter in `allowedTools` gewährt genau den MCP-Server, den Sie möchten, und nichts mehr. Siehe [Berechtigungsmodi](/de/agent-sdk/permissions#permission-modes) für einen vollständigen Vergleich.

178</Note>192</Note>

179 193 

180### Verfügbare Tools entdecken194<h3 id="discover-available-tools">

195 Verfügbare Tools entdecken

196</h3>

181 197 

182Um zu sehen, welche Tools ein MCP-Server bereitstellt, überprüfen Sie die Dokumentation des Servers oder verbinden Sie sich mit dem Server und inspizieren Sie die `system`-Init-Nachricht:198Um zu sehen, welche Tools ein MCP-Server bereitstellt, überprüfen Sie die Dokumentation des Servers oder verbinden Sie sich mit dem Server und inspizieren Sie die `system`-Init-Nachricht:

183 199 


189}205}

190```206```

191 207 

192## Transporttypen208<h2 id="transport-types">

209 Transporttypen

210</h2>

193 211 

194MCP-Server kommunizieren mit Ihrem Agenten über verschiedene Transportprotokolle. Überprüfen Sie die Dokumentation des Servers, um zu sehen, welchen Transport er unterstützt:212MCP-Server kommunizieren mit Ihrem Agenten über verschiedene Transportprotokolle. Überprüfen Sie die Dokumentation des Servers, um zu sehen, welchen Transport er unterstützt:

195 213 


197* Wenn die Dokumentation Ihnen eine **URL** gibt, verwenden Sie HTTP oder SSE215* Wenn die Dokumentation Ihnen eine **URL** gibt, verwenden Sie HTTP oder SSE

198* Wenn Sie Ihre eigenen Tools im Code erstellen, verwenden Sie einen SDK MCP-Server216* Wenn Sie Ihre eigenen Tools im Code erstellen, verwenden Sie einen SDK MCP-Server

199 217 

200### stdio-Server218<h3 id="stdio-servers">

219 stdio-Server

220</h3>

201 221 

202Lokale Prozesse, die über stdin/stdout kommunizieren. Verwenden Sie dies für MCP-Server, die Sie auf demselben Computer ausführen:222Lokale Prozesse, die über stdin/stdout kommunizieren. Verwenden Sie dies für MCP-Server, die Sie auf demselben Computer ausführen:

203 223 


253 </Tab>273 </Tab>

254</Tabs>274</Tabs>

255 275 

256### HTTP/SSE-Server276<h3 id="http/sse-servers">

277 HTTP/SSE-Server

278</h3>

257 279 

258Verwenden Sie HTTP oder SSE für Cloud-gehostete MCP-Server und Remote-APIs:280Verwenden Sie HTTP oder SSE für Cloud-gehostete MCP-Server und Remote-APIs:

259 281 


311 333 

312Verwenden Sie für den streamfähigen HTTP-Transport stattdessen `"type": "http"`. In `.mcp.json` und anderen JSON-Konfigurationsdateien wird `"streamable-http"` als Alias für `"http"` akzeptiert. Die programmgesteuerte `mcpServers`-Option akzeptiert nur `"http"`.334Verwenden Sie für den streamfähigen HTTP-Transport stattdessen `"type": "http"`. In `.mcp.json` und anderen JSON-Konfigurationsdateien wird `"streamable-http"` als Alias für `"http"` akzeptiert. Die programmgesteuerte `mcpServers`-Option akzeptiert nur `"http"`.

313 335 

314### SDK MCP-Server336<h3 id="sdk-mcp-servers">

337 SDK MCP-Server

338</h3>

315 339 

316Definieren Sie benutzerdefinierte Tools direkt in Ihrem Anwendungscode, anstatt einen separaten Serverprozess auszuführen. Siehe das [Leitfaden für benutzerdefinierte Tools](/de/agent-sdk/custom-tools) für Implementierungsdetails.340Definieren Sie benutzerdefinierte Tools direkt in Ihrem Anwendungscode, anstatt einen separaten Serverprozess auszuführen. Siehe das [Leitfaden für benutzerdefinierte Tools](/de/agent-sdk/custom-tools) für Implementierungsdetails.

317 341 

318## MCP-Tool-Suche342<h2 id="mcp-tool-search">

343 MCP-Tool-Suche

344</h2>

319 345 

320Wenn Sie viele MCP-Tools konfiguriert haben, können Tool-Definitionen einen erheblichen Teil Ihres Kontextfensters verbrauchen. Die Tool-Suche löst dies, indem Tool-Definitionen aus dem Kontext zurückgehalten und nur die Tools geladen werden, die Claude für jeden Durchgang benötigt.346Wenn Sie viele MCP-Tools konfiguriert haben, können Tool-Definitionen einen erheblichen Teil Ihres Kontextfensters verbrauchen. Die Tool-Suche löst dies, indem Tool-Definitionen aus dem Kontext zurückgehalten und nur die Tools geladen werden, die Claude für jeden Durchgang benötigt.

321 347 


323 349 

324Für weitere Details, einschließlich Best Practices und Verwendung der Tool-Suche mit benutzerdefinierten SDK-Tools, siehe das [Tool-Suche-Leitfaden](/de/agent-sdk/tool-search).350Für weitere Details, einschließlich Best Practices und Verwendung der Tool-Suche mit benutzerdefinierten SDK-Tools, siehe das [Tool-Suche-Leitfaden](/de/agent-sdk/tool-search).

325 351 

326## Authentifizierung352<h2 id="authentication">

353 Authentifizierung

354</h2>

327 355 

328Die meisten MCP-Server erfordern Authentifizierung, um auf externe Dienste zuzugreifen. Übergeben Sie Anmeldedaten über Umgebungsvariablen in der Serverkonfiguration.356Die meisten MCP-Server erfordern Authentifizierung, um auf externe Dienste zuzugreifen. Übergeben Sie Anmeldedaten über Umgebungsvariablen in der Serverkonfiguration.

329 357 

330### Anmeldedaten über Umgebungsvariablen übergeben358<h3 id="pass-credentials-via-environment-variables">

359 Anmeldedaten über Umgebungsvariablen übergeben

360</h3>

331 361 

332Verwenden Sie das `env`-Feld, um API-Schlüssel, Token und andere Anmeldedaten an den MCP-Server zu übergeben:362Verwenden Sie das `env`-Feld, um API-Schlüssel, Token und andere Anmeldedaten an den MCP-Server zu übergeben:

333 363 


387 417 

388Siehe [Probleme aus einem Repository auflisten](#list-issues-from-a-repository) für ein vollständiges funktionierendes Beispiel mit Debug-Protokollierung.418Siehe [Probleme aus einem Repository auflisten](#list-issues-from-a-repository) für ein vollständiges funktionierendes Beispiel mit Debug-Protokollierung.

389 419 

390### HTTP-Header für Remote-Server420<h3 id="http-headers-for-remote-servers">

421 HTTP-Header für Remote-Server

422</h3>

391 423 

392Für HTTP- und SSE-Server übergeben Sie Authentifizierungs-Header direkt in der Serverkonfiguration:424Für HTTP- und SSE-Server übergeben Sie Authentifizierungs-Header direkt in der Serverkonfiguration:

393 425 


445 </Tab>477 </Tab>

446</Tabs>478</Tabs>

447 479 

448### OAuth2-Authentifizierung480<h3 id="oauth2-authentication">

481 OAuth2-Authentifizierung

482</h3>

449 483 

450Die [MCP-Spezifikation unterstützt OAuth 2.1](https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization) für Autorisierung. Das SDK verarbeitet OAuth-Flows nicht automatisch, aber Sie können Zugriffs-Token über Header übergeben, nachdem Sie den OAuth-Flow in Ihrer Anwendung abgeschlossen haben:484Die [MCP-Spezifikation unterstützt OAuth 2.1](https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization) für Autorisierung. Das SDK verarbeitet OAuth-Flows nicht automatisch, aber Sie können Zugriffs-Token über Header übergeben, nachdem Sie den OAuth-Flow in Ihrer Anwendung abgeschlossen haben:

451 485 


485 ```519 ```

486</CodeGroup>520</CodeGroup>

487 521 

488## Beispiele522<h2 id="examples">

523 Beispiele

524</h2>

489 525 

490### Probleme aus einem Repository auflisten526<h3 id="list-issues-from-a-repository">

527 Probleme aus einem Repository auflisten

528</h3>

491 529 

492Dieses Beispiel verbindet sich mit dem [GitHub MCP-Server](https://github.com/modelcontextprotocol/servers/tree/main/src/github), um aktuelle Probleme aufzulisten. Das Beispiel enthält Debug-Protokollierung, um die MCP-Verbindung und Tool-Aufrufe zu überprüfen.530Dieses Beispiel verbindet sich mit dem [GitHub MCP-Server](https://github.com/modelcontextprotocol/servers/tree/main/src/github), um aktuelle Probleme aufzulisten. Das Beispiel enthält Debug-Protokollierung, um die MCP-Verbindung und Tool-Aufrufe zu überprüfen.

493 531 


584 ```622 ```

585</CodeGroup>623</CodeGroup>

586 624 

587### Eine Datenbank abfragen625<h3 id="query-a-database">

626 Eine Datenbank abfragen

627</h3>

588 628 

589Dieses Beispiel verwendet den [Postgres MCP-Server](https://github.com/modelcontextprotocol/servers/tree/main/src/postgres), um eine Datenbank abzufragen. Die Verbindungszeichenfolge wird als Argument an den Server übergeben. Der Agent entdeckt automatisch das Datenbankschema, schreibt die SQL-Abfrage und gibt die Ergebnisse zurück:629Dieses Beispiel verwendet den [Postgres MCP-Server](https://github.com/modelcontextprotocol/servers/tree/main/src/postgres), um eine Datenbank abzufragen. Die Verbindungszeichenfolge wird als Argument an den Server übergeben. Der Agent entdeckt automatisch das Datenbankschema, schreibt die SQL-Abfrage und gibt die Ergebnisse zurück:

590 630 


655 ```695 ```

656</CodeGroup>696</CodeGroup>

657 697 

658## Fehlerbehandlung698<h2 id="error-handling">

699 Fehlerbehandlung

700</h2>

659 701 

660MCP-Server können aus verschiedenen Gründen keine Verbindung herstellen: Der Serverprozess ist möglicherweise nicht installiert, Anmeldedaten könnten ungültig sein, oder ein Remote-Server könnte unerreichbar sein.702MCP-Server können aus verschiedenen Gründen keine Verbindung herstellen: Der Serverprozess ist möglicherweise nicht installiert, Anmeldedaten könnten ungültig sein, oder ein Remote-Server könnte unerreichbar sein.

661 703 


717 ```759 ```

718</CodeGroup>760</CodeGroup>

719 761 

720## Fehlerbehebung762<h2 id="troubleshooting">

763 Fehlerbehebung

764</h2>

721 765 

722### Server zeigt Status „fehlgeschlagen"766<h3 id="server-shows-failed-status">

767 Server zeigt Status „fehlgeschlagen"

768</h3>

723 769 

724Überprüfen Sie die `init`-Nachricht, um zu sehen, welche Server keine Verbindung herstellen konnten:770Überprüfen Sie die `init`-Nachricht, um zu sehen, welche Server keine Verbindung herstellen konnten:

725 771 


740* **Ungültige Verbindungszeichenfolge**: Überprüfen Sie für Datenbankserver das Format der Verbindungszeichenfolge und dass die Datenbank zugänglich ist.786* **Ungültige Verbindungszeichenfolge**: Überprüfen Sie für Datenbankserver das Format der Verbindungszeichenfolge und dass die Datenbank zugänglich ist.

741* **Netzwerkprobleme**: Überprüfen Sie für Remote-HTTP/SSE-Server, dass die URL erreichbar ist und Firewalls die Verbindung zulassen.787* **Netzwerkprobleme**: Überprüfen Sie für Remote-HTTP/SSE-Server, dass die URL erreichbar ist und Firewalls die Verbindung zulassen.

742 788 

743### Tools werden nicht aufgerufen789<h3 id="tools-not-being-called">

790 Tools werden nicht aufgerufen

791</h3>

744 792 

745Wenn Claude Tools sieht, sie aber nicht verwendet, überprüfen Sie, dass Sie die Berechtigung mit `allowedTools` gewährt haben:793Wenn Claude Tools sieht, sie aber nicht verwendet, überprüfen Sie, dass Sie die Berechtigung mit `allowedTools` gewährt haben:

746 794 


755};803};

756```804```

757 805 

758### Verbindungs-Timeouts806<h3 id="connection-timeouts">

807 Verbindungs-Timeouts

808</h3>

759 809 

760Das MCP SDK hat ein Standard-Timeout von 60 Sekunden für Serververbindungen. Wenn Ihr Server länger zum Starten benötigt, schlägt die Verbindung fehl. Für Server, die mehr Startzeit benötigen, erwägen Sie:810Das MCP SDK hat ein Standard-Timeout von 60 Sekunden für Serververbindungen. Wenn Ihr Server länger zum Starten benötigt, schlägt die Verbindung fehl. Für Server, die mehr Startzeit benötigen, erwägen Sie:

761 811 


763* Vorwärmung des Servers vor dem Starten Ihres Agenten813* Vorwärmung des Servers vor dem Starten Ihres Agenten

764* Überprüfung von Serverprotokollen auf langsame Initialisierungsursachen814* Überprüfung von Serverprotokollen auf langsame Initialisierungsursachen

765 815 

766## Verwandte Ressourcen816<h2 id="related-resources">

817 Verwandte Ressourcen

818</h2>

767 819 

768* **[Leitfaden für benutzerdefinierte Tools](/de/agent-sdk/custom-tools)**: Erstellen Sie Ihren eigenen MCP-Server, der in-process mit Ihrer SDK-Anwendung ausgeführt wird820* **[Leitfaden für benutzerdefinierte Tools](/de/agent-sdk/custom-tools)**: Erstellen Sie Ihren eigenen MCP-Server, der in-process mit Ihrer SDK-Anwendung ausgeführt wird

769* **[Berechtigungen](/de/agent-sdk/permissions)**: Kontrollieren Sie, welche MCP-Tools Ihr Agent mit `allowedTools` und `disallowedTools` verwenden kann821* **[Berechtigungen](/de/agent-sdk/permissions)**: Kontrollieren Sie, welche MCP-Tools Ihr Agent mit `allowedTools` und `disallowedTools` verwenden kann

Details

12 12 

13Das Claude Code SDK wurde in das **Claude Agent SDK** umbenannt und seine Dokumentation wurde neu organisiert. Diese Änderung spiegelt die umfassenderen Funktionen des SDKs für die Erstellung von KI-Agenten über reine Codierungsaufgaben hinaus wider.13Das Claude Code SDK wurde in das **Claude Agent SDK** umbenannt und seine Dokumentation wurde neu organisiert. Diese Änderung spiegelt die umfassenderen Funktionen des SDKs für die Erstellung von KI-Agenten über reine Codierungsaufgaben hinaus wider.

14 14 

15<h2 id="what-s-changed">15<h2 id="whats-changed">

16 Was hat sich geändert16 Was hat sich geändert

17</h2>17</h2>

18 18 


82}82}

83```83```

84 84 

85Das ist alles! Keine weiteren Codeänderungen sind erforderlich.85**5. Überprüfen Sie [Breaking Changes](#breaking-changes)**

86 

87Nehmen Sie alle erforderlichen Codeänderungen vor, um die Migration abzuschließen.

86 88 

87<h3 id="for-python-projects">89<h3 id="for-python-projects">

88 Für Python-Projekte90 Für Python-Projekte


172 174 

173<CodeGroup>175<CodeGroup>

174 ```typescript TypeScript theme={null}176 ```typescript TypeScript theme={null}

177 import { query } from "@anthropic-ai/claude-agent-sdk";

178 

175 // VORHER (v0.0.x) - Verwendete Claude Codes System-Prompt standardmäßig179 // VORHER (v0.0.x) - Verwendete Claude Codes System-Prompt standardmäßig

176 const result = query({ prompt: "Hello" });180 const before = query({ prompt: "Hello" });

177 181 

178 // NACHHER (v0.1.0) - Verwendet standardmäßig minimalen System-Prompt182 // NACHHER (v0.1.0) - Verwendet standardmäßig minimalen System-Prompt

179 // Um das alte Verhalten zu erhalten, fordern Sie explizit Claude Codes Voreinstellung an:183 // Um das alte Verhalten zu erhalten, fordern Sie explizit Claude Codes Voreinstellung an:

180 const result = query({184 const presetResult = query({

181 prompt: "Hello",185 prompt: "Hello",

182 options: {186 options: {

183 systemPrompt: { type: "preset", preset: "claude_code" }187 systemPrompt: { type: "preset", preset: "claude_code" }


185 });189 });

186 190 

187 // Oder verwenden Sie einen benutzerdefinierten System-Prompt:191 // Oder verwenden Sie einen benutzerdefinierten System-Prompt:

188 const result = query({192 const customResult = query({

189 prompt: "Hello",193 prompt: "Hello",

190 options: {194 options: {

191 systemPrompt: "You are a helpful coding assistant"195 systemPrompt: "You are a helpful coding assistant"


233 237 

234<CodeGroup>238<CodeGroup>

235 ```typescript TypeScript theme={null}239 ```typescript TypeScript theme={null}

236 const result = query({240 import { query } from "@anthropic-ai/claude-agent-sdk";

241 

242 const isolatedResult = query({

237 prompt: "Hello",243 prompt: "Hello",

238 options: {244 options: {

239 settingSources: [] // Keine Dateisystem-Einstellungen geladen245 settingSources: [] // Keine Dateisystem-Einstellungen geladen


241 });247 });

242 248 

243 // Oder laden Sie nur bestimmte Quellen:249 // Oder laden Sie nur bestimmte Quellen:

244 const result = query({250 const projectOnlyResult = query({

245 prompt: "Hello",251 prompt: "Hello",

246 options: {252 options: {

247 settingSources: ["project"] // Nur Projekteinstellungen253 settingSources: ["project"] // Nur Projekteinstellungen

Details

193 ...process.env,193 ...process.env,

194 // ... exporter configuration ...194 // ... exporter configuration ...

195 OTEL_SERVICE_NAME: "support-triage-agent",195 OTEL_SERVICE_NAME: "support-triage-agent",

196 OTEL_RESOURCE_ATTRIBUTES:196 OTEL_RESOURCE_ATTRIBUTES":

197 "service.version=1.4.0,deployment.environment=production",197 "service.version=1.4.0,deployment.environment=production",

198 },198 },

199 };199 };

Details

580 580 

581**Erlaubt:**581**Erlaubt:**

582 582 

583* 'Claude Agent" (bevorzugt für Dropdown-Menüs)583* Claude Agent" (bevorzugt für Dropdown-Menüs)

584* „Claude" (wenn bereits in einem Menü mit der Bezeichnung „Agents")584* „Claude" (wenn bereits in einem Menü mit der Bezeichnung „Agents")

585* „{YourAgentName} Powered by Claude" (wenn Sie einen vorhandenen Agentennamen haben)585* „{YourAgentName} Powered by Claude" (wenn Sie einen vorhandenen Agentennamen haben)

586 586 

Details

27 Prüfen Sie `deny`-Regeln (aus `disallowed_tools` und [settings.json](/de/settings#permission-settings)). Wenn eine Deny-Regel zutrifft, wird das Tool blockiert, auch im `bypassPermissions`-Modus. Bare-Name-Deny-Regeln wie `Bash` entfernen das Tool aus Claudes Kontext, bevor diese Auswertung beginnt, daher werden nur scoped-Regeln wie `Bash(rm *)` in diesem Schritt geprüft.27 Prüfen Sie `deny`-Regeln (aus `disallowed_tools` und [settings.json](/de/settings#permission-settings)). Wenn eine Deny-Regel zutrifft, wird das Tool blockiert, auch im `bypassPermissions`-Modus. Bare-Name-Deny-Regeln wie `Bash` entfernen das Tool aus Claudes Kontext, bevor diese Auswertung beginnt, daher werden nur scoped-Regeln wie `Bash(rm *)` in diesem Schritt geprüft.

28 </Step>28 </Step>

29 29 

30 <Step title="Ask-Regeln">

31 Prüfen Sie `ask`-Regeln aus [settings.json](/de/settings#permission-settings). Wenn eine Ask-Regel zutrifft, fällt der Aufruf zu Ihrem [`canUseTool`-Callback](/de/agent-sdk/user-input) zur Bestätigung durch, auch im `bypassPermissions`-Modus. Im `dontAsk`-Modus wird eine übereinstimmende Ask-Regel stattdessen abgelehnt, da dieser Modus niemals eine Aufforderung anzeigt.

32 </Step>

33 

30 <Step title="Berechtigungsmodus">34 <Step title="Berechtigungsmodus">

31 Wenden Sie den aktiven [Berechtigungsmodus](#permission-modes) an. `bypassPermissions` genehmigt alles, das diesen Schritt erreicht. `acceptEdits` genehmigt Dateivorgänge. Andere Modi fallen durch.35 Wenden Sie den aktiven [Berechtigungsmodus](#permission-modes) an. `bypassPermissions` genehmigt alles, das diesen Schritt erreicht. `acceptEdits` genehmigt Dateivorgänge. `plan` leitet Datei-Edit- und Shell-Write-Tools zu Ihrem `canUseTool`-Callback weiter, unabhängig von Allow-Regeln, sodass Schreibvorgänge während der Planung nicht automatisch genehmigt werden können. Andere Modi fallen durch.

32 </Step>36 </Step>

33 37 

34 <Step title="Allow-Regeln">38 <Step title="Allow-Regeln">


40 </Step>44 </Step>

41</Steps>45</Steps>

42 46 

43<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=cc94220087262cd48c9b64a14c4e1c2c" alt="Diagramm des Berechtigungsauswertungsflusses" width="1024" height="260" data-path="images/agent-sdk/permissions-flow.svg" />47<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=cc94220087262cd48c9b64a14c4e1c2c" alt="Diagramm des fünfstufigen Berechtigungsauswertungsflusses, das den obigen Schritten entspricht: Eine Tool-Anfrage durchläuft Hooks, Deny-Regeln, Berechtigungsmodus, Allow-Regeln und canUseTool. Hooks, Deny-Regeln und canUseTool können zu Blockiert weiterleiten; Berechtigungsmodus-Bypass, Allow-Regeln und canUseTool können zu Ausführen weiterleiten." width="1024" height="260" data-path="images/agent-sdk/permissions-flow.svg" />

44 48 

45Diese Seite konzentriert sich auf **Allow- und Deny-Regeln** sowie **Berechtigungsmodi**. Für die anderen Schritte:49Diese Seite konzentriert sich auf **Allow- und Deny-Regeln** sowie **Berechtigungsmodi**. Für die anderen Schritte:

46 50 


58| `allowed_tools=["Read", "Grep"]` | `Read` und `Grep` werden automatisch genehmigt. Tools, die hier nicht aufgelistet sind, existieren immer noch und fallen durch zum Berechtigungsmodus und `canUseTool`. |62| `allowed_tools=["Read", "Grep"]` | `Read` und `Grep` werden automatisch genehmigt. Tools, die hier nicht aufgelistet sind, existieren immer noch und fallen durch zum Berechtigungsmodus und `canUseTool`. |

59| `disallowed_tools=["Bash"]` | Die `Bash`-Tool-Definition wird aus der Anfrage entfernt. Claude sieht das Tool nicht und kann es nicht versuchen. |63| `disallowed_tools=["Bash"]` | Die `Bash`-Tool-Definition wird aus der Anfrage entfernt. Claude sieht das Tool nicht und kann es nicht versuchen. |

60| `disallowed_tools=["Bash(rm *)"]` | `Bash` bleibt verfügbar. Aufrufe, die `rm *` entsprechen, werden in jedem Berechtigungsmodus abgelehnt, einschließlich `bypassPermissions`. Andere `Bash`-Aufrufe fallen durch zum Berechtigungsmodus. |64| `disallowed_tools=["Bash(rm *)"]` | `Bash` bleibt verfügbar. Aufrufe, die `rm *` entsprechen, werden in jedem Berechtigungsmodus abgelehnt, einschließlich `bypassPermissions`. Andere `Bash`-Aufrufe fallen durch zum Berechtigungsmodus. |

65| `disallowed_tools=["*"]` | Jede Tool-Definition wird aus der Anfrage entfernt. Tool-Name-Globs werden in Deny-Regeln unterstützt: `"*"` entspricht jedem Tool und `"mcp__*"` entspricht jedem MCP-Tool über alle Server hinweg. |

66 

67Allow-Regeln akzeptieren Tool-Name-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__*` entspricht jedem Tool vom `puppeteer`-Server, und `mcp__github__get_*` entspricht seinen `get_`-Tools. Ein unverankter Eintrag wie `allowed_tools=["*"]` oder `allowed_tools=["mcp__*"]` wird mit einer Startwarnmeldung ignoriert und genehmigt nichts automatisch.

61 68 

62Für einen gesperrten Agent kombinieren Sie `allowedTools` mit `permissionMode: "dontAsk"`. Aufgelistete Tools werden genehmigt; alles andere wird direkt abgelehnt, anstatt zu fragen:69Für einen gesperrten Agent kombinieren Sie `allowedTools` mit `permissionMode: "dontAsk"`. Aufgelistete Tools werden genehmigt; alles andere wird direkt abgelehnt, anstatt zu fragen:

63 70 


87Das SDK unterstützt diese Berechtigungsmodi:94Das SDK unterstützt diese Berechtigungsmodi:

88 95 

89| Modus | Beschreibung | Tool-Verhalten |96| Modus | Beschreibung | Tool-Verhalten |

90| :---------------------- | :----------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- |97| :---------------------- | :----------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

91| `default` | Standardberechtigungsverhalten | Keine automatischen Genehmigungen; nicht übereinstimmende Tools lösen Ihren `canUseTool`-Callback aus |98| `default` | Standardberechtigungsverhalten | Keine automatischen Genehmigungen; nicht übereinstimmende Tools lösen Ihren `canUseTool`-Callback aus |

92| `dontAsk` | Ablehnung statt Nachfrage | Alles, das nicht von `allowed_tools` oder Regeln vorab genehmigt ist, wird abgelehnt; `canUseTool` wird nie aufgerufen |99| `dontAsk` | Ablehnung statt Nachfrage | Alles, das nicht von `allowed_tools` oder Regeln vorab genehmigt ist, wird abgelehnt; `canUseTool` wird nie aufgerufen |

93| `acceptEdits` | Dateibearbeitungen automatisch akzeptieren | Dateibearbeitungen und [Dateisystemvorgänge](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv` usw.) werden automatisch genehmigt |100| `acceptEdits` | Dateibearbeitungen automatisch akzeptieren | Dateibearbeitungen und [Dateisystemvorgänge](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv` usw.) werden automatisch genehmigt |

94| `bypassPermissions` | Alle Berechtigungsprüfungen umgehen | Alle Tools werden ohne Berechtigungsaufforderungen ausgeführt (mit Vorsicht verwenden) |101| `bypassPermissions` | Alle Berechtigungsprüfungen umgehen | Tools werden ohne Berechtigungsaufforderungen ausgeführt, es sei denn, eine explizite [`ask`-Regel](#how-permissions-are-evaluated) stimmt überein (mit Vorsicht verwenden) |

95| `plan` | Planungsmodus | Schreibgeschützte Tools werden ausgeführt; Claude analysiert und plant, ohne Ihre Quelldateien zu bearbeiten |102| `plan` | Planungsmodus | Claude erkundet und plant, ohne Ihre Quelldateien zu bearbeiten; Dateibearbeitungen werden nie automatisch genehmigt und werden durch Ihren `canUseTool`-Callback angefordert |

96| `auto` (nur TypeScript) | Modellklassifizierte Genehmigungen | Ein Modellklassifizierer genehmigt oder lehnt jeden Tool-Aufruf ab. Siehe [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) für Verfügbarkeit |103| `auto` (nur TypeScript) | Modellklassifizierte Genehmigungen | Ein Modellklassifizierer genehmigt oder lehnt jeden Tool-Aufruf ab. Siehe [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) für Verfügbarkeit |

97 104 

98<Warning>105<Warning>

99 **Subagent-Vererbung:** Wenn der übergeordnete Agent `bypassPermissions`, `acceptEdits` oder `auto` verwendet, erben alle Subagents diesen Modus und er kann nicht pro Subagent überschrieben werden. Subagents können unterschiedliche Systemaufforderungen und weniger eingeschränktes Verhalten als Ihr Hauptagent haben, daher erbt `bypassPermissions` ihnen vollständigen, autonomen Systemzugriff ohne Genehmigungsaufforderungen.106 **Subagent-Vererbung:** Wenn der übergeordnete Agent `bypassPermissions`, `acceptEdits` oder `auto` verwendet, erben alle Subagents diesen Modus und er kann nicht pro Subagent überschrieben werden. Subagents können unterschiedliche Systemaufforderungen und weniger eingeschränktes Verhalten als Ihr Hauptagent haben, daher erbt `bypassPermissions` ihnen vollständigen, autonomen Systemzugriff. Eine explizite [`ask`-Regel](#how-permissions-are-evaluated) erzwingt weiterhin eine Aufforderung.

100</Warning>107</Warning>

101 108 

102<h3 id="set-permission-mode">109<h3 id="set-permission-mode">


226 233 

227**Verwenden Sie, wenn:** Sie Claudes Bearbeitungen vertrauen und schnellere Iteration wünschen, z. B. während der Prototypenerstellung oder beim Arbeiten in einem isolierten Verzeichnis.234**Verwenden Sie, wenn:** Sie Claudes Bearbeitungen vertrauen und schnellere Iteration wünschen, z. B. während der Prototypenerstellung oder beim Arbeiten in einem isolierten Verzeichnis.

228 235 

229<h4 id="don-t-ask-mode-dontask">236<h4 id="dont-ask-mode-dontask">

230 Don't Ask-Modus (`dontAsk`)237 Don't Ask-Modus (`dontAsk`)

231</h4>238</h4>

232 239 


250 Plan-Modus (`plan`)257 Plan-Modus (`plan`)

251</h4>258</h4>

252 259 

253Beschränkt Claude auf schreibgeschützte Tools. Claude kann Dateien lesen und schreibgeschützte Shell-Befehle ausführen, um die Codebasis zu erkunden, bearbeitet aber nicht Ihre Quelldateien. Claude kann `AskUserQuestion` verwenden, um Anforderungen zu klären, bevor der Plan abgeschlossen wird. Siehe [Genehmigungen und Benutzereingaben handhaben](/de/agent-sdk/user-input#handle-clarifying-questions) für die Behandlung dieser Aufforderungen.260Claude erkundet die Codebasis und erstellt einen Plan, ohne Ihre Quelldateien zu bearbeiten. Schreibgeschützte Tools werden wie im Standard-Modus ausgeführt. Dateibearbeitungen werden im Plan-Modus nie automatisch genehmigt, auch wenn eine Allow-Regel stimmt. Sie werden stattdessen durch Ihren `canUseTool`-Callback angefordert. Claude kann `AskUserQuestion` verwenden, um Anforderungen zu klären, bevor der Plan abgeschlossen wird. Siehe [Genehmigungen und Benutzereingaben handhaben](/de/agent-sdk/user-input#handle-clarifying-questions) für die Behandlung dieser Aufforderungen.

254 261 

255**Verwenden Sie, wenn:** Sie möchten, dass Claude Änderungen vorschlägt, ohne sie auszuführen, z. B. während der Code-Überprüfung oder wenn Sie Änderungen genehmigen müssen, bevor sie vorgenommen werden.262**Verwenden Sie, wenn:** Sie möchten, dass Claude Änderungen vorschlägt, ohne sie auszuführen, z. B. während der Code-Überprüfung oder wenn Sie Änderungen genehmigen müssen, bevor sie vorgenommen werden.

256 263 

Details

385 385 

386* [Plugins](/de/plugins) - Vollständiger Plugin-Entwicklungsleitfaden386* [Plugins](/de/plugins) - Vollständiger Plugin-Entwicklungsleitfaden

387* [Plugins-Referenz](/de/plugins-reference) - Technische Spezifikationen387* [Plugins-Referenz](/de/plugins-reference) - Technische Spezifikationen

388* [Slash-Befehle](/de/agent-sdk/slash-commands) - Verwendung von Slash-Befehlen im SDK388* [Befehle](/de/agent-sdk/slash-commands) - Verwendung von Befehlen im SDK

389* [Subagenten](/de/agent-sdk/subagents) - Arbeiten mit spezialisierten Agenten389* [Subagenten](/de/agent-sdk/subagents) - Arbeiten mit spezialisierten Agenten

390* [Skills](/de/agent-sdk/skills) - Verwendung von Agent Skills390* [Skills](/de/agent-sdk/skills) - Verwendung von Agent Skills

agent-sdk/python.md +519 −178

Details

6 6 

7> Vollständige API-Referenz für das Python Agent SDK, einschließlich aller Funktionen, Typen und Klassen.7> Vollständige API-Referenz für das Python Agent SDK, einschließlich aller Funktionen, Typen und Klassen.

8 8 

9## Installation9<h2 id="installation">

10 Installation

11</h2>

10 12 

11```bash theme={null}13```bash theme={null}

12pip install claude-agent-sdk14pip install claude-agent-sdk

13```15```

14 16 

15## Wahl zwischen `query()` und `ClaudeSDKClient`17<h2 id="choosing-between-query-and-claudesdkclient">

18 Wahl zwischen `query()` und `ClaudeSDKClient`

19</h2>

16 20 

17Das Python SDK bietet zwei Möglichkeiten, um mit Claude Code zu interagieren:21Das Python SDK bietet zwei Möglichkeiten, um mit Claude Code zu interagieren:

18 22 

19### Schnellvergleich23<h3 id="quick-comparison">

24 Schnellvergleich

25</h3>

20 26 

21| Funktion | `query()` | `ClaudeSDKClient` |27| Funktion | `query()` | `ClaudeSDKClient` |

22| :--------------------------- | :------------------------------------------------- | :------------------------------------- |28| :--------------------------- | :------------------------------------------------- | :------------------------------------- |


30| **Konversation fortsetzen** | Manuell über `continue_conversation` oder `resume` | ✅ Automatisch |36| **Konversation fortsetzen** | Manuell über `continue_conversation` oder `resume` | ✅ Automatisch |

31| **Anwendungsfall** | Einmalige Aufgaben | Kontinuierliche Konversationen |37| **Anwendungsfall** | Einmalige Aufgaben | Kontinuierliche Konversationen |

32 38 

33### Wann `query()` verwendet werden sollte (einmalige Aufgaben)39<h3 id="when-to-use-query-one-off-tasks">

40 Wann `query()` verwendet werden sollte (einmalige Aufgaben)

41</h3>

34 42 

35**Am besten für:**43**Am besten für:**

36 44 


39* Einfache Automatisierungsskripte47* Einfache Automatisierungsskripte

40* Wenn Sie jedes Mal einen neuen Anfang möchten48* Wenn Sie jedes Mal einen neuen Anfang möchten

41 49 

42### Wann `ClaudeSDKClient` verwendet werden sollte (kontinuierliche Konversation)50<h3 id="when-to-use-claudesdkclient-continuous-conversation">

51 Wann `ClaudeSDKClient` verwendet werden sollte (kontinuierliche Konversation)

52</h3>

43 53 

44**Am besten für:**54**Am besten für:**

45 55 


49* **Antwortgesteuerte Logik** - Wenn die nächste Aktion von Claudes Antwort abhängt59* **Antwortgesteuerte Logik** - Wenn die nächste Aktion von Claudes Antwort abhängt

50* **Sitzungskontrolle** - Explizite Verwaltung des Konversationslebenszyklus60* **Sitzungskontrolle** - Explizite Verwaltung des Konversationslebenszyklus

51 61 

52## Funktionen62<h2 id="functions">

63 Funktionen

64</h2>

53 65 

54### `query()`66<h3 id="query">

67 `query()`

68</h3>

55 69 

56Erstellt für jede Interaktion mit Claude Code standardmäßig eine neue Sitzung. Gibt einen asynchronen Iterator zurück, der Nachrichten bei ihrer Ankunft liefert. Jeder Aufruf von `query()` beginnt neu ohne Erinnerung an vorherige Interaktionen, es sei denn, Sie übergeben `continue_conversation=True` oder `resume` in [`ClaudeAgentOptions`](#claudeagentoptions). Siehe [Sitzungen](/de/agent-sdk/sessions).70Erstellt für jede Interaktion mit Claude Code standardmäßig eine neue Sitzung. Gibt einen asynchronen Iterator zurück, der Nachrichten bei ihrer Ankunft liefert. Jeder Aufruf von `query()` beginnt neu ohne Erinnerung an vorherige Interaktionen, es sei denn, Sie übergeben `continue_conversation=True` oder `resume` in [`ClaudeAgentOptions`](#claudeagentoptions). Siehe [Sitzungen](/de/agent-sdk/sessions).

57 71 


64) -> AsyncIterator[Message]78) -> AsyncIterator[Message]

65```79```

66 80 

67#### Parameter81<h4 id="parameters">

82 Parameter

83</h4>

68 84 

69| Parameter | Typ | Beschreibung |85| Parameter | Typ | Beschreibung |

70| :---------- | :--------------------------- | :----------------------------------------------------------------------------------------- |86| :---------- | :--------------------------- | :----------------------------------------------------------------------------------------- |


72| `options` | `ClaudeAgentOptions \| None` | Optionales Konfigurationsobjekt (standardmäßig `ClaudeAgentOptions()`, wenn None) |88| `options` | `ClaudeAgentOptions \| None` | Optionales Konfigurationsobjekt (standardmäßig `ClaudeAgentOptions()`, wenn None) |

73| `transport` | `Transport \| None` | Optionaler benutzerdefinierter Transport für die Kommunikation mit dem CLI-Prozess |89| `transport` | `Transport \| None` | Optionaler benutzerdefinierter Transport für die Kommunikation mit dem CLI-Prozess |

74 90 

75#### Rückgabewert91<h4 id="returns">

92 Rückgabewert

93</h4>

76 94 

77Gibt einen `AsyncIterator[Message]` zurück, der Nachrichten aus der Konversation liefert.95Gibt einen `AsyncIterator[Message]` zurück, der Nachrichten aus der Konversation liefert.

78 96 

79#### Beispiel - Mit Optionen97<h4 id="example-with-options">

98 Beispiel - Mit Optionen

99</h4>

80 100 

81```python theme={null}101```python theme={null}

82import asyncio102import asyncio


97asyncio.run(main())117asyncio.run(main())

98```118```

99 119 

100### `tool()`120<h3 id="tool">

121 `tool()`

122</h3>

101 123 

102Dekorator zum Definieren von MCP-Tools mit Typsicherheit.124Dekorator zum Definieren von MCP-Tools mit Typsicherheit.

103 125 


110) -> Callable[[Callable[[Any], Awaitable[dict[str, Any]]]], SdkMcpTool[Any]]132) -> Callable[[Callable[[Any], Awaitable[dict[str, Any]]]], SdkMcpTool[Any]]

111```133```

112 134 

113#### Parameter135<h4 id="parameters-1">

136 Parameter

137</h4>

114 138 

115| Parameter | Typ | Beschreibung |139| Parameter | Typ | Beschreibung |

116| :------------- | :---------------------------------------------- | :------------------------------------------------------------------------------- |140| :------------- | :---------------------------------------------- | :------------------------------------------------------------------------------- |


119| `input_schema` | `type \| dict[str, Any]` | Schema, das die Eingabeparameter des Tools definiert (siehe unten) |143| `input_schema` | `type \| dict[str, Any]` | Schema, das die Eingabeparameter des Tools definiert (siehe unten) |

120| `annotations` | [`ToolAnnotations`](#toolannotations)` \| None` | Optionale MCP-Tool-Anmerkungen, die Verhaltenshinweise für Clients bereitstellen |144| `annotations` | [`ToolAnnotations`](#toolannotations)` \| None` | Optionale MCP-Tool-Anmerkungen, die Verhaltenshinweise für Clients bereitstellen |

121 145 

122#### Eingabeschema-Optionen146<h4 id="input-schema-options">

147 Eingabeschema-Optionen

148</h4>

123 149 

1241. **Einfache Typ-Zuordnung** (empfohlen):1501. **Einfache Typ-Zuordnung** (empfohlen):

125 151 


139 }165 }

140 ```166 ```

141 167 

142#### Rückgabewert168<h4 id="returns-1">

169 Rückgabewert

170</h4>

143 171 

144Eine Dekoratorfunktion, die die Tool-Implementierung umhüllt und eine `SdkMcpTool`-Instanz zurückgibt.172Eine Dekoratorfunktion, die die Tool-Implementierung umhüllt und eine `SdkMcpTool`-Instanz zurückgibt.

145 173 

146#### Beispiel174<h4 id="example">

175 Beispiel

176</h4>

147 177 

148```python theme={null}178```python theme={null}

149from claude_agent_sdk import tool179from claude_agent_sdk import tool


155 return {"content": [{"type": "text", "text": f"Hello, {args['name']}!"}]}185 return {"content": [{"type": "text", "text": f"Hello, {args['name']}!"}]}

156```186```

157 187 

158#### `ToolAnnotations`188<h4 id="toolannotations">

189 `ToolAnnotations`

190</h4>

159 191 

160Erneut exportiert aus `mcp.types` (auch verfügbar als `from claude_agent_sdk import ToolAnnotations`). Alle Felder sind optionale Hinweise; Clients sollten sich nicht auf sie für Sicherheitsentscheidungen verlassen.192Erneut exportiert aus `mcp.types` (auch verfügbar als `from claude_agent_sdk import ToolAnnotations`). Alle Felder sind optionale Hinweise; Clients sollten sich nicht auf sie für Sicherheitsentscheidungen verlassen.

161 193 


182 return {"content": [{"type": "text", "text": f"Results for: {args['query']}"}]}214 return {"content": [{"type": "text", "text": f"Results for: {args['query']}"}]}

183```215```

184 216 

185### `create_sdk_mcp_server()`217<h3 id="create_sdk_mcp_server">

218 `create_sdk_mcp_server()`

219</h3>

186 220 

187Erstellt einen In-Process-MCP-Server, der in Ihrer Python-Anwendung ausgeführt wird.221Erstellt einen In-Process-MCP-Server, der in Ihrer Python-Anwendung ausgeführt wird.

188 222 


194) -> McpSdkServerConfig228) -> McpSdkServerConfig

195```229```

196 230 

197#### Parameter231<h4 id="parameters-2">

232 Parameter

233</h4>

198 234 

199| Parameter | Typ | Standard | Beschreibung |235| Parameter | Typ | Standard | Beschreibung |

200| :-------- | :------------------------------ | :-------- | :----------------------------------------------------------------------- |236| :-------- | :------------------------------ | :-------- | :----------------------------------------------------------------------- |


202| `version` | `str` | `"1.0.0"` | Versionsnummer des Servers |238| `version` | `str` | `"1.0.0"` | Versionsnummer des Servers |

203| `tools` | `list[SdkMcpTool[Any]] \| None` | `None` | Liste von Tool-Funktionen, die mit dem `@tool`-Dekorator erstellt wurden |239| `tools` | `list[SdkMcpTool[Any]] \| None` | `None` | Liste von Tool-Funktionen, die mit dem `@tool`-Dekorator erstellt wurden |

204 240 

205#### Rückgabewert241<h4 id="returns-2">

242 Rückgabewert

243</h4>

206 244 

207Gibt ein `McpSdkServerConfig`-Objekt zurück, das an `ClaudeAgentOptions.mcp_servers` übergeben werden kann.245Gibt ein `McpSdkServerConfig`-Objekt zurück, das an `ClaudeAgentOptions.mcp_servers` übergeben werden kann.

208 246 

209#### Beispiel247<h4 id="example-1">

248 Beispiel

249</h4>

210 250 

211```python theme={null}251```python theme={null}

212from claude_agent_sdk import tool, create_sdk_mcp_server252from claude_agent_sdk import tool, create_sdk_mcp_server


235)275)

236```276```

237 277 

238### `list_sessions()`278<h3 id="list_sessions">

279 `list_sessions()`

280</h3>

239 281 

240Listet vergangene Sitzungen mit Metadaten auf. Filtern Sie nach Projektverzeichnis oder listen Sie Sitzungen über alle Projekte auf. Synchron; gibt sofort zurück.282Listet vergangene Sitzungen mit Metadaten auf. Filtern Sie nach Projektverzeichnis oder listen Sie Sitzungen über alle Projekte auf. Synchron; gibt sofort zurück.

241 283 


247) -> list[SDKSessionInfo]289) -> list[SDKSessionInfo]

248```290```

249 291 

250#### Parameter292<h4 id="parameters-3">

293 Parameter

294</h4>

251 295 

252| Parameter | Typ | Standard | Beschreibung |296| Parameter | Typ | Standard | Beschreibung |

253| :------------------ | :------------ | :------- | :---------------------------------------------------------------------------------------------------------------------------- |297| :------------------ | :------------ | :------- | :---------------------------------------------------------------------------------------------------------------------------- |


255| `limit` | `int \| None` | `None` | Maximale Anzahl der zurückzugebenden Sitzungen |299| `limit` | `int \| None` | `None` | Maximale Anzahl der zurückzugebenden Sitzungen |

256| `include_worktrees` | `bool` | `True` | Wenn `directory` sich in einem Git-Repository befindet, Sitzungen aus allen worktrees einbeziehen |300| `include_worktrees` | `bool` | `True` | Wenn `directory` sich in einem Git-Repository befindet, Sitzungen aus allen worktrees einbeziehen |

257 301 

258#### Rückgabetyp: `SDKSessionInfo`302<h4 id="return-type-sdksessioninfo">

303 Rückgabetyp: `SDKSessionInfo`

304</h4>

259 305 

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

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


270| `tag` | `str \| None` | Vom Benutzer festgelegtes Sitzungs-Tag (siehe [`tag_session()`](#tag_session)) |316| `tag` | `str \| None` | Vom Benutzer festgelegtes Sitzungs-Tag (siehe [`tag_session()`](#tag_session)) |

271| `created_at` | `int \| None` | Sitzungserstellungszeit in Millisekunden seit Epoche |317| `created_at` | `int \| None` | Sitzungserstellungszeit in Millisekunden seit Epoche |

272 318 

273#### Beispiel319<h4 id="example-2">

320 Beispiel

321</h4>

274 322 

275Geben Sie die 10 neuesten Sitzungen für ein Projekt aus. Die Ergebnisse werden nach `last_modified` absteigend sortiert, daher ist das erste Element das neueste. Lassen Sie `directory` weg, um über alle Projekte zu suchen.323Geben Sie die 10 neuesten Sitzungen für ein Projekt aus. Die Ergebnisse werden nach `last_modified` absteigend sortiert, daher ist das erste Element das neueste. Lassen Sie `directory` weg, um über alle Projekte zu suchen.

276 324 


281 print(f"{session.summary} ({session.session_id})")329 print(f"{session.summary} ({session.session_id})")

282```330```

283 331 

284### `get_session_messages()`332<h3 id="get_session_messages">

333 `get_session_messages()`

334</h3>

285 335 

286Ruft Nachrichten aus einer vergangenen Sitzung ab. Synchron; gibt sofort zurück.336Ruft Nachrichten aus einer vergangenen Sitzung ab. Synchron; gibt sofort zurück.

287 337 


294) -> list[SessionMessage]344) -> list[SessionMessage]

295```345```

296 346 

297#### Parameter347<h4 id="parameters-4">

348 Parameter

349</h4>

298 350 

299| Parameter | Typ | Standard | Beschreibung |351| Parameter | Typ | Standard | Beschreibung |

300| :----------- | :------------ | :----------- | :------------------------------------------------------------------------------- |352| :----------- | :------------ | :----------- | :------------------------------------------------------------------------------- |


303| `limit` | `int \| None` | `None` | Maximale Anzahl der zurückzugebenden Nachrichten |355| `limit` | `int \| None` | `None` | Maximale Anzahl der zurückzugebenden Nachrichten |

304| `offset` | `int` | `0` | Anzahl der Nachrichten, die vom Anfang übersprungen werden sollen |356| `offset` | `int` | `0` | Anzahl der Nachrichten, die vom Anfang übersprungen werden sollen |

305 357 

306#### Rückgabetyp: `SessionMessage`358<h4 id="return-type-sessionmessage">

359 Rückgabetyp: `SessionMessage`

360</h4>

307 361 

308| Eigenschaft | Typ | Beschreibung |362| Eigenschaft | Typ | Beschreibung |

309| :------------------- | :----------------------------- | :----------------------------------- |363| :------------------- | :----------------------------- | :----------------------------------- |


313| `message` | `Any` | Roher Nachrichteninhalt |367| `message` | `Any` | Roher Nachrichteninhalt |

314| `parent_tool_use_id` | `None` | Reserviert für zukünftige Verwendung |368| `parent_tool_use_id` | `None` | Reserviert für zukünftige Verwendung |

315 369 

316#### Beispiel370<h4 id="example-3">

371 Beispiel

372</h4>

317 373 

318```python theme={null}374```python theme={null}

319from claude_agent_sdk import list_sessions, get_session_messages375from claude_agent_sdk import list_sessions, get_session_messages


325 print(f"[{msg.type}] {msg.uuid}")381 print(f"[{msg.type}] {msg.uuid}")

326```382```

327 383 

328### `get_session_info()`384<h3 id="get_session_info">

385 `get_session_info()`

386</h3>

329 387 

330Liest Metadaten für eine einzelne Sitzung nach ID, ohne das vollständige Projektverzeichnis zu durchsuchen. Synchron; gibt sofort zurück.388Liest Metadaten für eine einzelne Sitzung nach ID, ohne das vollständige Projektverzeichnis zu durchsuchen. Synchron; gibt sofort zurück.

331 389 


336) -> SDKSessionInfo | None394) -> SDKSessionInfo | None

337```395```

338 396 

339#### Parameter397<h4 id="parameters-5">

398 Parameter

399</h4>

340 400 

341| Parameter | Typ | Standard | Beschreibung |401| Parameter | Typ | Standard | Beschreibung |

342| :----------- | :------------ | :----------- | :------------------------------------------------------------------------------------ |402| :----------- | :------------ | :----------- | :------------------------------------------------------------------------------------ |


345 405 

346Gibt [`SDKSessionInfo`](#return-type-sdksessioninfo) zurück, oder `None`, wenn die Sitzung nicht gefunden wird.406Gibt [`SDKSessionInfo`](#return-type-sdksessioninfo) zurück, oder `None`, wenn die Sitzung nicht gefunden wird.

347 407 

348#### Beispiel408<h4 id="example-4">

409 Beispiel

410</h4>

349 411 

350Suchen Sie die Metadaten einer einzelnen Sitzung, ohne das Projektverzeichnis zu durchsuchen. Nützlich, wenn Sie bereits eine Sitzungs-ID aus einem vorherigen Durchlauf haben.412Suchen Sie die Metadaten einer einzelnen Sitzung, ohne das Projektverzeichnis zu durchsuchen. Nützlich, wenn Sie bereits eine Sitzungs-ID aus einem vorherigen Durchlauf haben.

351 413 


357 print(f"{info.summary} (branch: {info.git_branch}, tag: {info.tag})")419 print(f"{info.summary} (branch: {info.git_branch}, tag: {info.tag})")

358```420```

359 421 

360### `rename_session()`422<h3 id="rename_session">

423 `rename_session()`

424</h3>

361 425 

362Benennt eine Sitzung um, indem ein benutzerdefinierter Titeleintrag angehängt wird. Wiederholte Aufrufe sind sicher; der neueste Titel gewinnt. Synchron.426Benennt eine Sitzung um, indem ein benutzerdefinierter Titeleintrag angehängt wird. Wiederholte Aufrufe sind sicher; der neueste Titel gewinnt. Synchron.

363 427 


369) -> None433) -> None

370```434```

371 435 

372#### Parameter436<h4 id="parameters-6">

437 Parameter

438</h4>

373 439 

374| Parameter | Typ | Standard | Beschreibung |440| Parameter | Typ | Standard | Beschreibung |

375| :----------- | :------------ | :----------- | :------------------------------------------------------------------------------------ |441| :----------- | :------------ | :----------- | :------------------------------------------------------------------------------------ |


379 445 

380Wirft `ValueError`, wenn `session_id` keine gültige UUID ist oder `title` leer ist; `FileNotFoundError`, wenn die Sitzung nicht gefunden werden kann.446Wirft `ValueError`, wenn `session_id` keine gültige UUID ist oder `title` leer ist; `FileNotFoundError`, wenn die Sitzung nicht gefunden werden kann.

381 447 

382#### Beispiel448<h4 id="example-5">

449 Beispiel

450</h4>

383 451 

384Benennen Sie die neueste Sitzung um, damit sie später leichter zu finden ist. Der neue Titel wird in [`SDKSessionInfo.custom_title`](#return-type-sdksessioninfo) bei nachfolgenden Lesevorgängen angezeigt.452Benennen Sie die neueste Sitzung um, damit sie später leichter zu finden ist. Der neue Titel wird in [`SDKSessionInfo.custom_title`](#return-type-sdksessioninfo) bei nachfolgenden Lesevorgängen angezeigt.

385 453 


391 rename_session(sessions[0].session_id, "Refactor auth module")459 rename_session(sessions[0].session_id, "Refactor auth module")

392```460```

393 461 

394### `tag_session()`462<h3 id="tag_session">

463 `tag_session()`

464</h3>

395 465 

396Markiert eine Sitzung mit einem Tag. Übergeben Sie `None`, um das Tag zu löschen. Wiederholte Aufrufe sind sicher; das neueste Tag gewinnt. Synchron.466Markiert eine Sitzung mit einem Tag. Übergeben Sie `None`, um das Tag zu löschen. Wiederholte Aufrufe sind sicher; das neueste Tag gewinnt. Synchron.

397 467 


403) -> None473) -> None

404```474```

405 475 

406#### Parameter476<h4 id="parameters-7">

477 Parameter

478</h4>

407 479 

408| Parameter | Typ | Standard | Beschreibung |480| Parameter | Typ | Standard | Beschreibung |

409| :----------- | :------------ | :----------- | :------------------------------------------------------------------------------------ |481| :----------- | :------------ | :----------- | :------------------------------------------------------------------------------------ |


413 485 

414Wirft `ValueError`, wenn `session_id` keine gültige UUID ist oder `tag` nach der Bereinigung leer ist; `FileNotFoundError`, wenn die Sitzung nicht gefunden werden kann.486Wirft `ValueError`, wenn `session_id` keine gültige UUID ist oder `tag` nach der Bereinigung leer ist; `FileNotFoundError`, wenn die Sitzung nicht gefunden werden kann.

415 487 

416#### Beispiel488<h4 id="example-6">

489 Beispiel

490</h4>

417 491 

418Markieren Sie eine Sitzung mit einem Tag, und filtern Sie später nach diesem Tag. Übergeben Sie `None`, um ein vorhandenes Tag zu löschen.492Markieren Sie eine Sitzung mit einem Tag, und filtern Sie später nach diesem Tag. Übergeben Sie `None`, um ein vorhandenes Tag zu löschen.

419 493 


429 print(session.summary)503 print(session.summary)

430```504```

431 505 

432## Klassen506<h2 id="classes">

507 Klassen

508</h2>

433 509 

434### `ClaudeSDKClient`510<h3 id="claudesdkclient">

511 `ClaudeSDKClient`

512</h3>

435 513 

436**Behält eine Konversationssitzung über mehrere Austausche hinweg bei.** Dies ist das Python-Äquivalent dazu, wie die `query()`-Funktion des TypeScript SDK intern funktioniert - sie erstellt ein Client-Objekt, das Konversationen fortsetzen kann.514**Behält eine Konversationssitzung über mehrere Austausche hinweg bei.** Dies ist das Python-Äquivalent dazu, wie die `query()`-Funktion des TypeScript SDK intern funktioniert - sie erstellt ein Client-Objekt, das Konversationen fortsetzen kann.

437 515 

438#### Wichtige Funktionen516<h4 id="key-features">

517 Wichtige Funktionen

518</h4>

439 519 

440* **Sitzungskontinuität**: Behält Konversationskontext über mehrere `query()`-Aufrufe hinweg bei520* **Sitzungskontinuität**: Behält Konversationskontext über mehrere `query()`-Aufrufe hinweg bei

441* **Gleiche Konversation**: Die Sitzung behält vorherige Nachrichten bei521* **Gleiche Konversation**: Die Sitzung behält vorherige Nachrichten bei


463 async def disconnect(self) -> None543 async def disconnect(self) -> None

464```544```

465 545 

466#### Methoden546<h4 id="methods">

547 Methoden

548</h4>

467 549 

468| Methode | Beschreibung |550| Methode | Beschreibung |

469| :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |551| :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


483| `get_server_info()` | Rufen Sie Serverinformationen einschließlich Sitzungs-ID und Funktionen ab |565| `get_server_info()` | Rufen Sie Serverinformationen einschließlich Sitzungs-ID und Funktionen ab |

484| `disconnect()` | Trennen Sie die Verbindung zu Claude |566| `disconnect()` | Trennen Sie die Verbindung zu Claude |

485 567 

486#### Context Manager-Unterstützung568<h4 id="context-manager-support">

569 Context Manager-Unterstützung

570</h4>

487 571 

488Der Client kann als asynchroner Context Manager für automatische Verbindungsverwaltung verwendet werden:572Der Client kann als asynchroner Context Manager für automatische Verbindungsverwaltung verwendet werden:

489 573 


496 580 

497> **Wichtig:** Vermeiden Sie bei der Iteration über Nachrichten die Verwendung von `break`, um vorzeitig zu beenden, da dies zu asyncio-Bereinigungsproblemen führen kann. Lassen Sie die Iteration stattdessen natürlich abschließen oder verwenden Sie Flags, um zu verfolgen, wann Sie gefunden haben, was Sie brauchen.581> **Wichtig:** Vermeiden Sie bei der Iteration über Nachrichten die Verwendung von `break`, um vorzeitig zu beenden, da dies zu asyncio-Bereinigungsproblemen führen kann. Lassen Sie die Iteration stattdessen natürlich abschließen oder verwenden Sie Flags, um zu verfolgen, wann Sie gefunden haben, was Sie brauchen.

498 582 

499#### Beispiel - Konversation fortsetzen583<h4 id="example-continuing-a-conversation">

584 Beispiel - Konversation fortsetzen

585</h4>

500 586 

501```python theme={null}587```python theme={null}

502import asyncio588import asyncio


537asyncio.run(main())623asyncio.run(main())

538```624```

539 625 

540#### Beispiel - Streaming-Eingabe mit ClaudeSDKClient626<h4 id="example-streaming-input-with-claudesdkclient">

627 Beispiel - Streaming-Eingabe mit ClaudeSDKClient

628</h4>

541 629 

542```python theme={null}630```python theme={null}

543import asyncio631import asyncio


581asyncio.run(main())669asyncio.run(main())

582```670```

583 671 

584#### Beispiel - Unterbrechungen verwenden672<h4 id="example-using-interrupts">

673 Beispiel - Unterbrechungen verwenden

674</h4>

585 675 

586```python theme={null}676```python theme={null}

587import asyncio677import asyncio


624 **Pufferverhalten nach Unterbrechung:** `interrupt()` sendet ein Stopsignal, löscht aber nicht den Nachrichtenpuffer. Nachrichten, die bereits von der unterbrochenen Aufgabe produziert wurden, einschließlich ihrer `ResultMessage` (mit `subtype="error_during_execution"`), bleiben im Stream. Sie müssen sie mit `receive_response()` entleeren, bevor Sie die Antwort auf eine neue Abfrage lesen. Wenn Sie unmittelbar nach `interrupt()` eine neue Abfrage senden und `receive_response()` nur einmal aufrufen, erhalten Sie die Nachrichten der unterbrochenen Aufgabe, nicht die Antwort der neuen Abfrage.714 **Pufferverhalten nach Unterbrechung:** `interrupt()` sendet ein Stopsignal, löscht aber nicht den Nachrichtenpuffer. Nachrichten, die bereits von der unterbrochenen Aufgabe produziert wurden, einschließlich ihrer `ResultMessage` (mit `subtype="error_during_execution"`), bleiben im Stream. Sie müssen sie mit `receive_response()` entleeren, bevor Sie die Antwort auf eine neue Abfrage lesen. Wenn Sie unmittelbar nach `interrupt()` eine neue Abfrage senden und `receive_response()` nur einmal aufrufen, erhalten Sie die Nachrichten der unterbrochenen Aufgabe, nicht die Antwort der neuen Abfrage.

625</Note>715</Note>

626 716 

627#### Beispiel - Erweiterte Berechtigungskontrolle717<h4 id="example-advanced-permission-control">

718 Beispiel - Erweiterte Berechtigungskontrolle

719</h4>

628 720 

629```python theme={null}721```python theme={null}

630from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions722from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions


673asyncio.run(main())765asyncio.run(main())

674```766```

675 767 

676## Typen768<h2 id="types">

769 Typen

770</h2>

677 771 

678<Note>772<Note>

679 **`@dataclass` vs `TypedDict`:** Dieses SDK verwendet zwei Arten von Typen. Klassen, die mit `@dataclass` dekoriert sind (wie `ResultMessage`, `AgentDefinition`, `TextBlock`), sind zur Laufzeit Objektinstanzen und unterstützen Attributzugriff: `msg.result`. Klassen, die mit `TypedDict` definiert sind (wie `ThinkingConfigEnabled`, `McpStdioServerConfig`, `SyncHookJSONOutput`), sind **zur Laufzeit einfache Dicts** und erfordern Schlüsselzugriff: `config["budget_tokens"]`, nicht `config.budget_tokens`. Die `ClassName(field=value)`-Aufrufsyntax funktioniert für beide, aber nur Dataclasses erzeugen Objekte mit Attributen.773 **`@dataclass` vs `TypedDict`:** Dieses SDK verwendet zwei Arten von Typen. Klassen, die mit `@dataclass` dekoriert sind (wie `ResultMessage`, `AgentDefinition`, `TextBlock`), sind zur Laufzeit Objektinstanzen und unterstützen Attributzugriff: `msg.result`. Klassen, die mit `TypedDict` definiert sind (wie `ThinkingConfigEnabled`, `McpStdioServerConfig`, `SyncHookJSONOutput`), sind **zur Laufzeit einfache Dicts** und erfordern Schlüsselzugriff: `config["budget_tokens"]`, nicht `config.budget_tokens`. Die `ClassName(field=value)`-Aufrufsyntax funktioniert für beide, aber nur Dataclasses erzeugen Objekte mit Attributen.

680</Note>774</Note>

681 775 

682### `SdkMcpTool`776<h3 id="sdkmcptool">

777 `SdkMcpTool`

778</h3>

683 779 

684Definition für ein SDK MCP-Tool, das mit dem `@tool`-Dekorator erstellt wurde.780Definition für ein SDK MCP-Tool, das mit dem `@tool`-Dekorator erstellt wurde.

685 781 


701| `handler` | `Callable[[T], Awaitable[dict[str, Any]]]` | Asynchrone Funktion, die die Tool-Ausführung handhabt |797| `handler` | `Callable[[T], Awaitable[dict[str, Any]]]` | Asynchrone Funktion, die die Tool-Ausführung handhabt |

702| `annotations` | `ToolAnnotations \| None` | Optionale MCP-Tool-Anmerkungen (z. B. `readOnlyHint`, `destructiveHint`, `openWorldHint`). Aus `mcp.types` |798| `annotations` | `ToolAnnotations \| None` | Optionale MCP-Tool-Anmerkungen (z. B. `readOnlyHint`, `destructiveHint`, `openWorldHint`). Aus `mcp.types` |

703 799 

704### `Transport`800<h3 id="transport">

801 `Transport`

802</h3>

705 803 

706Abstrakte Basisklasse für benutzerdefinierte Transport-Implementierungen. Verwenden Sie dies, um mit dem Claude-Prozess über einen benutzerdefinierten Kanal zu kommunizieren (z. B. eine Remote-Verbindung statt eines lokalen Subprozesses).804Abstrakte Basisklasse für benutzerdefinierte Transport-Implementierungen. Verwenden Sie dies, um mit dem Claude-Prozess über einen benutzerdefinierten Kanal zu kommunizieren (z. B. eine Remote-Verbindung statt eines lokalen Subprozesses).

707 805 


746 844 

747Import: `from claude_agent_sdk import Transport`845Import: `from claude_agent_sdk import Transport`

748 846 

749### `ClaudeAgentOptions`847<h3 id="claudeagentoptions">

848 `ClaudeAgentOptions`

849</h3>

750 850 

751Konfigurationsdatenklasse für Claude Code-Abfragen.851Konfigurationsdatenklasse für Claude Code-Abfragen.

752 852 


810| `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`; siehe [Kosten und Nutzung verfolgen](/de/agent-sdk/cost-tracking) für Genauigkeitsvorbehalt |910| `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`; siehe [Kosten und Nutzung verfolgen](/de/agent-sdk/cost-tracking) für Genauigkeitsvorbehalt |

811| `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`. Siehe [Berechtigungen](/de/agent-sdk/permissions#allow-and-deny-rules) |911| `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`. Siehe [Berechtigungen](/de/agent-sdk/permissions#allow-and-deny-rules) |

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

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

814| `fallback_model` | `str \| None` | `None` | Fallback-Modell, das verwendet wird, wenn das primäre Modell fehlschlägt |914| `fallback_model` | `str \| None` | `None` | Fallback-Modell, das verwendet wird, wenn das primäre Modell fehlschlägt |

815| `betas` | `list[SdkBeta]` | `[]` | Beta-Funktionen zum Aktivieren. Siehe [`SdkBeta`](#sdkbeta) für verfügbare Optionen |915| `betas` | `list[SdkBeta]` | `[]` | Beta-Funktionen zum Aktivieren. Siehe [`SdkBeta`](#sdkbeta) für verfügbare Optionen |

816| `output_format` | `dict[str, Any] \| None` | `None` | Ausgabeformat für strukturierte Antworten (z. B. `{"type": "json_schema", "schema": {...}}`). Siehe [Strukturierte Ausgaben](/de/agent-sdk/structured-outputs) für Details |916| `output_format` | `dict[str, Any] \| None` | `None` | Ausgabeformat für strukturierte Antworten (z. B. `{"type": "json_schema", "schema": {...}}`). Siehe [Strukturierte Ausgaben](/de/agent-sdk/structured-outputs) für Details |


837| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skills, die der Sitzung zur Verfügung stehen. Übergeben Sie `"all"`, um jeden erkannten Skill zu aktivieren, oder eine Liste von Skill-Namen. Wenn gesetzt, aktiviert das SDK das Skill-Tool automatisch in `allowed_tools`. Wenn Sie auch `tools` übergeben, schließen Sie `"Skill"` in diese Liste ein. Siehe [Skills](/de/agent-sdk/skills) |937| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skills, die der Sitzung zur Verfügung stehen. Übergeben Sie `"all"`, um jeden erkannten Skill zu aktivieren, oder eine Liste von Skill-Namen. Wenn gesetzt, aktiviert das SDK das Skill-Tool automatisch in `allowed_tools`. Wenn Sie auch `tools` übergeben, schließen Sie `"Skill"` in diese Liste ein. Siehe [Skills](/de/agent-sdk/skills) |

838| `max_thinking_tokens` | `int \| None` | `None` | *Veraltet* - Maximale Token für Thinking-Blöcke. Verwenden Sie stattdessen `thinking` |938| `max_thinking_tokens` | `int \| None` | `None` | *Veraltet* - Maximale Token für Thinking-Blöcke. Verwenden Sie stattdessen `thinking` |

839| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Steuert das Verhalten des erweiterten Denkens. Hat Vorrang vor `max_thinking_tokens` |939| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Steuert das Verhalten des erweiterten Denkens. Hat Vorrang vor `max_thinking_tokens` |

840| `effort` | [`EffortLevel`](#effortlevel) ` \| None` | `None` | Anstrengungsstufe für die Denktiefe |940| `effort` | [`EffortLevel`](#effortlevel) ` \| None` | `None` | Anstrengungsstufe für die Denktiefe. Siehe [Anstrengungsstufe anpassen](/de/model-config#adjust-effort-level) |

841| `session_store` | [`SessionStore`](/de/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Spiegeln Sie Sitzungstranskripte zu einem externen Backend, damit jeder Host sie fortsetzen kann. Siehe [Sitzungen im externen Speicher beibehalten](/de/agent-sdk/session-storage) |941| `session_store` | [`SessionStore`](/de/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Spiegeln Sie Sitzungstranskripte zu einem externen Backend, damit jeder Host sie fortsetzen kann. Siehe [Sitzungen im externen Speicher beibehalten](/de/agent-sdk/session-storage) |

842| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Wann sollen gespiegelte Transkripteinträge zu `session_store` geleert werden. `"batched"` leert einmal pro Umdrehung oder wenn der Puffer voll wird; `"eager"` löst nach jedem Frame einen Hintergrund-Flush aus. Wird ignoriert, wenn `session_store` `None` ist |942| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Wann sollen gespiegelte Transkripteinträge zu `session_store` geleert werden. `"batched"` leert einmal pro Umdrehung oder wenn der Puffer voll wird; `"eager"` löst nach jedem Frame einen Hintergrund-Flush aus. Wird ignoriert, wenn `session_store` `None` ist |

843 943 

844#### Langsame oder steckengebliebene API-Antworten handhaben944<h4 id="handle-slow-or-stalled-api-responses">

945 Langsame oder steckengebliebene API-Antworten handhaben

946</h4>

845 947 

846Die CLI-Subprozess liest mehrere Umgebungsvariablen, die API-Timeouts und Stall-Erkennung steuern. Übergeben Sie sie durch `ClaudeAgentOptions.env`:948Die CLI-Subprozess liest mehrere Umgebungsvariablen, die API-Timeouts und Stall-Erkennung steuern. Übergeben Sie sie durch `ClaudeAgentOptions.env`:

847 949 


858* `API_TIMEOUT_MS`: Pro-Request-Timeout auf dem Anthropic-Client in Millisekunden. Standard `600000`. Gilt für die Hauptschleife und alle Subagenten.960* `API_TIMEOUT_MS`: Pro-Request-Timeout auf dem Anthropic-Client in Millisekunden. Standard `600000`. Gilt für die Hauptschleife und alle Subagenten.

859* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`. Jede Wiederholung erhält sein eigenes `API_TIMEOUT_MS`-Fenster, daher ist die schlimmste Wandzeit ungefähr `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus Backoff.961* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`. Jede Wiederholung erhält sein eigenes `API_TIMEOUT_MS`-Fenster, daher ist die schlimmste Wandzeit ungefähr `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus Backoff.

860* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: Stall-Watchdog für Subagenten, die mit `run_in_background` gestartet werden. Standard `600000`. Setzt sich bei jedem Stream-Ereignis zurück; bei Stall bricht es den Subagenten ab, markiert die Aufgabe als fehlgeschlagen und zeigt den Fehler dem übergeordneten Element mit jedem Teilergebnis. Gilt nicht für synchrone Subagenten.962* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: Stall-Watchdog für Subagenten, die mit `run_in_background` gestartet werden. Standard `600000`. Setzt sich bei jedem Stream-Ereignis zurück; bei Stall bricht es den Subagenten ab, markiert die Aufgabe als fehlgeschlagen und zeigt den Fehler dem übergeordneten Element mit jedem Teilergebnis. Gilt nicht für synchrone Subagenten.

861* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Standardmäßig deaktiviert. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Die abgebrochene Anfrage durchläuft den normalen Wiederholungspfad.963* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Wenn `CLAUDE_ENABLE_STREAM_WATCHDOG` nicht gesetzt ist, ist der Standard server-gesteuert auf der direkten Anthropic API und aus auf anderen Anbietern. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Die abgebrochene Anfrage durchläuft den normalen Wiederholungspfad.

862 964 

863### `OutputFormat`965<h3 id="outputformat">

966 `OutputFormat`

967</h3>

864 968 

865Konfiguration für die Validierung strukturierter Ausgaben. Übergeben Sie dies als `dict` an das Feld `output_format` auf `ClaudeAgentOptions`:969Konfiguration für die Validierung strukturierter Ausgaben. Übergeben Sie dies als `dict` an das Feld `output_format` auf `ClaudeAgentOptions`:

866 970 


877| `type` | Ja | Muss `"json_schema"` für JSON-Schema-Validierung sein |981| `type` | Ja | Muss `"json_schema"` für JSON-Schema-Validierung sein |

878| `schema` | Ja | JSON-Schema-Definition für Ausgabevalidierung |982| `schema` | Ja | JSON-Schema-Definition für Ausgabevalidierung |

879 983 

880### `SystemPromptPreset`984<h3 id="systempromptpreset">

985 `SystemPromptPreset`

986</h3>

881 987 

882Konfiguration für die Verwendung des Preset-System-Prompts von Claude Code mit optionalen Ergänzungen.988Konfiguration für die Verwendung des Preset-System-Prompts von Claude Code mit optionalen Ergänzungen.

883 989 


896| `append` | Nein | Zusätzliche Anweisungen, die an den Preset-System-Prompt angehängt werden |1002| `append` | Nein | Zusätzliche Anweisungen, die an den Preset-System-Prompt angehängt werden |

897| `exclude_dynamic_sections` | Nein | Verschieben Sie sitzungsspezifischen Kontext wie Arbeitsverzeichnis, Git-Status und Memory-Pfade aus dem System-Prompt in die erste Benutzernachricht. Verbessert die Prompt-Cache-Wiederverwendung über Benutzer und Maschinen hinweg. Siehe [System-Prompts ändern](/de/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |1003| `exclude_dynamic_sections` | Nein | Verschieben Sie sitzungsspezifischen Kontext wie Arbeitsverzeichnis, Git-Status und Memory-Pfade aus dem System-Prompt in die erste Benutzernachricht. Verbessert die Prompt-Cache-Wiederverwendung über Benutzer und Maschinen hinweg. Siehe [System-Prompts ändern](/de/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

898 1004 

899### `SettingSource`1005<h3 id="settingsource">

1006 `SettingSource`

1007</h3>

900 1008 

901Steuert, welche dateisystembasierte Konfigurationsquellen das SDK Einstellungen aus lädt.1009Steuert, welche dateisystembasierte Konfigurationsquellen das SDK Einstellungen aus lädt.

902 1010 


905```1013```

906 1014 

907| Wert | Beschreibung | Ort |1015| Wert | Beschreibung | Ort |

908| :---------- | :----------------------------------------------------- | :---------------------------- |1016| :---------- | :------------------------------------------------------- | :---------------------------- |

909| `"user"` | Globale Benutzereinstellungen | `~/.claude/settings.json` |1017| `"user"` | Globale Benutzereinstellungen | `~/.claude/settings.json` |

910| `"project"` | Gemeinsame Projekteinstellungen (versionskontrolliert) | `.claude/settings.json` |1018| `"project"` | Gemeinsame Projekteinstellungen (versionskontrolliert) | `.claude/settings.json` |

911| `"local"` | Lokale Projekteinstellungen (gitignoriert) | `.claude/settings.local.json` |1019| `"local"` | Lokale Projekteinstellungen (nicht versionskontrolliert) | `.claude/settings.local.json` |

912 1020 

913#### Standardverhalten1021<h4 id="default-behavior">

1022 Standardverhalten

1023</h4>

914 1024 

915Wenn `setting_sources` weggelassen oder `None` ist, lädt `query()` die gleichen Dateisystem-Einstellungen wie die Claude Code CLI: Benutzer, Projekt und lokal. Verwaltete Richtlinieneinstellungen werden in allen Fällen geladen. Siehe [Was settingSources nicht kontrolliert](/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) für Eingaben, die unabhängig von dieser Option gelesen werden, und wie man sie deaktiviert.1025Wenn `setting_sources` weggelassen oder `None` ist, lädt `query()` die gleichen Dateisystem-Einstellungen wie die Claude Code CLI: Benutzer, Projekt und lokal. Verwaltete Richtlinieneinstellungen werden in allen Fällen geladen. Siehe [Was settingSources nicht kontrolliert](/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) für Eingaben, die unabhängig von dieser Option gelesen werden, und wie man sie deaktiviert.

916 1026 

917#### Warum setting\_sources verwenden1027<h4 id="why-use-setting_sources">

1028 Warum setting\_sources verwenden

1029</h4>

918 1030 

919**Dateisystem-Einstellungen deaktivieren:**1031**Dateisystem-Einstellungen deaktivieren:**

920 1032 


1011 print(message)1123 print(message)

1012```1124```

1013 1125 

1014#### Einstellungspriorität1126<h4 id="settings-precedence">

1127 Einstellungspriorität

1128</h4>

1015 1129 

1016Wenn mehrere Quellen geladen werden, werden Einstellungen mit dieser Priorität zusammengeführt (höchste zu niedrigste):1130Wenn mehrere Quellen geladen werden, werden Einstellungen mit dieser Priorität zusammengeführt (höchste zu niedrigste):

1017 1131 


1021 1135 

1022Programmgesteuerte Optionen wie `agents` und `allowed_tools` überschreiben Benutzer-, Projekt- und lokale Dateisystem-Einstellungen. Verwaltete Richtlinieneinstellungen haben Vorrang vor programmgesteuerten Optionen.1136Programmgesteuerte Optionen wie `agents` und `allowed_tools` überschreiben Benutzer-, Projekt- und lokale Dateisystem-Einstellungen. Verwaltete Richtlinieneinstellungen haben Vorrang vor programmgesteuerten Optionen.

1023 1137 

1024### `AgentDefinition`1138<h3 id="agentdefinition">

1139 `AgentDefinition`

1140</h3>

1025 1141 

1026Konfiguration für einen programmgesteuert definierten Subagenten.1142Konfiguration für einen programmgesteuert definierten Subagenten.

1027 1143 


1044```1160```

1045 1161 

1046| Feld | Erforderlich | Beschreibung |1162| Feld | Erforderlich | Beschreibung |

1047| :---------------- | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1163| :---------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1048| `description` | Ja | Natürlichsprachige Beschreibung, wann dieser Agent verwendet werden sollte |1164| `description` | Ja | Natürlichsprachige Beschreibung, wann dieser Agent verwendet werden sollte |

1049| `prompt` | Ja | Der System-Prompt des Agenten |1165| `prompt` | Ja | Der System-Prompt des Agenten |

1050| `tools` | Nein | Array von zulässigen Tool-Namen. Wenn weggelassen, erbt alle Tools |1166| `tools` | Nein | Array von zulässigen Tool-Namen. Wenn weggelassen, erbt alle Tools |

1051| `disallowedTools` | Nein | Array von Tool-Namen, die aus dem Tool-Set des Agenten entfernt werden |1167| `disallowedTools` | Nein | Array von Tool-Namen, die aus dem Tool-Set des Agenten entfernt werden. MCP-Server-Level-Muster werden auch akzeptiert: `mcp__server` oder `mcp__server__*` entfernt jedes Tool von diesem Server, und `mcp__*` entfernt jedes MCP-Tool von jedem Server |

1052| `model` | Nein | Modell-Override für diesen Agenten. Akzeptiert einen Alias wie `"sonnet"`, `"opus"`, `"haiku"` oder `"inherit"`, oder eine vollständige Modell-ID. Wenn weggelassen, verwendet das Hauptmodell |1168| `model` | Nein | Modell-Override für diesen Agenten. Akzeptiert einen Alias wie `"sonnet"`, `"opus"`, `"haiku"` oder `"inherit"`, oder eine vollständige Modell-ID. Wenn weggelassen, verwendet das Hauptmodell |

1053| `skills` | Nein | Liste von Skill-Namen, die diesem Agenten zur Verfügung stehen |1169| `skills` | Nein | Liste von Skill-Namen, die diesem Agenten zur Verfügung stehen. Nicht aufgelistete Skills bleiben über das Skill-Tool aufrufbar |

1054| `memory` | Nein | Memory-Quelle für diesen Agenten: `"user"`, `"project"` oder `"local"` |1170| `memory` | Nein | Memory-Quelle für diesen Agenten: `"user"`, `"project"` oder `"local"` |

1055| `mcpServers` | Nein | MCP-Server, die diesem Agenten zur Verfügung stehen. Jeder Eintrag ist ein Servername oder ein Inline-`{name: config}`-Dict |1171| `mcpServers` | Nein | MCP-Server, die diesem Agenten zur Verfügung stehen. Jeder Eintrag ist ein Servername oder ein Inline-`{name: config}`-Dict |

1056| `initialPrompt` | Nein | Wird automatisch als erste Benutzerdrehung eingereicht, wenn dieser Agent als Haupt-Thread-Agent läuft |1172| `initialPrompt` | Nein | Wird automatisch als erste Benutzerdrehung eingereicht, wenn dieser Agent als Haupt-Thread-Agent läuft |


1063 `AgentDefinition`-Feldnamen verwenden camelCase, wie `disallowedTools`, `permissionMode` und `maxTurns`. Diese Namen werden direkt dem Drahtformat zugeordnet, das mit dem TypeScript SDK geteilt wird. Dies unterscheidet sich von `ClaudeAgentOptions`, das Python snake\_case für die entsprechenden Top-Level-Felder wie `disallowed_tools` und `permission_mode` verwendet. Da `AgentDefinition` eine Dataclass ist, wirft das Übergeben eines snake\_case-Schlüsselworts einen `TypeError` zur Konstruktionszeit auf.1179 `AgentDefinition`-Feldnamen verwenden camelCase, wie `disallowedTools`, `permissionMode` und `maxTurns`. Diese Namen werden direkt dem Drahtformat zugeordnet, das mit dem TypeScript SDK geteilt wird. Dies unterscheidet sich von `ClaudeAgentOptions`, das Python snake\_case für die entsprechenden Top-Level-Felder wie `disallowed_tools` und `permission_mode` verwendet. Da `AgentDefinition` eine Dataclass ist, wirft das Übergeben eines snake\_case-Schlüsselworts einen `TypeError` zur Konstruktionszeit auf.

1064</Note>1180</Note>

1065 1181 

1066### `PermissionMode`1182<h3 id="permissionmode">

1183 `PermissionMode`

1184</h3>

1067 1185 

1068Berechtigungsmodi zur Kontrolle der Tool-Ausführung.1186Berechtigungsmodi zur Kontrolle der Tool-Ausführung.

1069 1187 


1071PermissionMode = Literal[1189PermissionMode = Literal[

1072 "default", # Standard permission behavior1190 "default", # Standard permission behavior

1073 "acceptEdits", # Auto-accept file edits1191 "acceptEdits", # Auto-accept file edits

1074 "plan", # Planning mode - read-only tools only1192 "plan", # Planning mode - explore without editing

1075 "dontAsk", # Deny anything not pre-approved instead of prompting1193 "dontAsk", # Deny anything not pre-approved instead of prompting

1076 "bypassPermissions", # Bypass all permission checks (use with caution)1194 "bypassPermissions", # Bypass permission checks; explicit ask rules still prompt (use with caution)

1077]1195]

1078```1196```

1079 1197 

1080### `EffortLevel`1198<h3 id="effortlevel">

1199 `EffortLevel`

1200</h3>

1081 1201 

1082Anstrengungsstufen zur Steuerung der Denktiefe.1202Anstrengungsstufen zur Steuerung der Denktiefe.

1083 1203 


1086 "low", # Minimal thinking, fastest responses1206 "low", # Minimal thinking, fastest responses

1087 "medium", # Moderate thinking1207 "medium", # Moderate thinking

1088 "high", # Deep reasoning1208 "high", # Deep reasoning

1089 "xhigh", # Extended reasoning (Opus 4.7 only; falls back to "high" on other models)1209 "xhigh", # Extended reasoning (Opus 4.8 and Opus 4.7; falls back to "high" on other models)

1090 "max", # Maximum effort1210 "max", # Maximum effort

1091]1211]

1092```1212```

1093 1213 

1094### `CanUseTool`1214<h3 id="canusetool">

1215 `CanUseTool`

1216</h3>

1095 1217 

1096Typ-Alias für Tool-Berechtigungs-Callback-Funktionen.1218Typ-Alias für Tool-Berechtigungs-Callback-Funktionen.

1097 1219 


1109 1231 

1110Gibt ein `PermissionResult` zurück (entweder `PermissionResultAllow` oder `PermissionResultDeny`).1232Gibt ein `PermissionResult` zurück (entweder `PermissionResultAllow` oder `PermissionResultDeny`).

1111 1233 

1112### `ToolPermissionContext`1234<h3 id="toolpermissioncontext">

1235 `ToolPermissionContext`

1236</h3>

1113 1237 

1114Kontextinformationen, die an Tool-Berechtigungs-Callbacks übergeben werden.1238Kontextinformationen, die an Tool-Berechtigungs-Callbacks übergeben werden.

1115 1239 


1135| `display_name` | `str \| None` | Kurze Nominalphrase für die Tool-Aktion, wie `Read file`, geeignet für Schaltflächenbeschriftungen |1259| `display_name` | `str \| None` | Kurze Nominalphrase für die Tool-Aktion, wie `Read file`, geeignet für Schaltflächenbeschriftungen |

1136| `description` | `str \| None` | Lesbare Untertitel für die Berechtigungs-UI |1260| `description` | `str \| None` | Lesbare Untertitel für die Berechtigungs-UI |

1137 1261 

1138### `PermissionResult`1262<h3 id="permissionresult">

1263 `PermissionResult`

1264</h3>

1139 1265 

1140Union-Typ für Berechtigungs-Callback-Ergebnisse.1266Union-Typ für Berechtigungs-Callback-Ergebnisse.

1141 1267 


1143PermissionResult = PermissionResultAllow | PermissionResultDeny1269PermissionResult = PermissionResultAllow | PermissionResultDeny

1144```1270```

1145 1271 

1146### `PermissionResultAllow`1272<h3 id="permissionresultallow">

1273 `PermissionResultAllow`

1274</h3>

1147 1275 

1148Ergebnis, das angibt, dass der Tool-Aufruf zulässig sein sollte.1276Ergebnis, das angibt, dass der Tool-Aufruf zulässig sein sollte.

1149 1277 


1161| `updated_input` | `dict[str, Any] \| None` | `None` | Geänderte Eingabe, die stattdessen verwendet werden soll |1289| `updated_input` | `dict[str, Any] \| None` | `None` | Geänderte Eingabe, die stattdessen verwendet werden soll |

1162| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Berechtigungsaktualisierungen zum Anwenden |1290| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Berechtigungsaktualisierungen zum Anwenden |

1163 1291 

1164### `PermissionResultDeny`1292<h3 id="permissionresultdeny">

1293 `PermissionResultDeny`

1294</h3>

1165 1295 

1166Ergebnis, das angibt, dass der Tool-Aufruf verweigert werden sollte.1296Ergebnis, das angibt, dass der Tool-Aufruf verweigert werden sollte.

1167 1297 


1179| `message` | `str` | `""` | Nachricht, die erklärt, warum das Tool verweigert wurde |1309| `message` | `str` | `""` | Nachricht, die erklärt, warum das Tool verweigert wurde |

1180| `interrupt` | `bool` | `False` | Ob die aktuelle Ausführung unterbrochen werden soll |1310| `interrupt` | `bool` | `False` | Ob die aktuelle Ausführung unterbrochen werden soll |

1181 1311 

1182### `PermissionUpdate`1312<h3 id="permissionupdate">

1313 `PermissionUpdate`

1314</h3>

1183 1315 

1184Konfiguration zum programmgesteuerten Aktualisieren von Berechtigungen.1316Konfiguration zum programmgesteuerten Aktualisieren von Berechtigungen.

1185 1317 


1212| `directories` | `list[str] \| None` | Verzeichnisse für Add/Remove-Verzeichnis-Operationen |1344| `directories` | `list[str] \| None` | Verzeichnisse für Add/Remove-Verzeichnis-Operationen |

1213| `destination` | `Literal[...] \| None` | Wo die Berechtigungsaktualisierung angewendet werden soll |1345| `destination` | `Literal[...] \| None` | Wo die Berechtigungsaktualisierung angewendet werden soll |

1214 1346 

1215### `PermissionRuleValue`1347<h3 id="permissionrulevalue">

1348 `PermissionRuleValue`

1349</h3>

1216 1350 

1217Eine Regel, die in einer Berechtigungsaktualisierung hinzugefügt, ersetzt oder entfernt werden soll.1351Eine Regel, die in einer Berechtigungsaktualisierung hinzugefügt, ersetzt oder entfernt werden soll.

1218 1352 


1223 rule_content: str | None = None1357 rule_content: str | None = None

1224```1358```

1225 1359 

1226### `ToolsPreset`1360<h3 id="toolspreset">

1361 `ToolsPreset`

1362</h3>

1227 1363 

1228Preset-Tools-Konfiguration für die Verwendung des Standard-Tool-Sets von Claude Code.1364Preset-Tools-Konfiguration für die Verwendung des Standard-Tool-Sets von Claude Code.

1229 1365 


1233 preset: Literal["claude_code"]1369 preset: Literal["claude_code"]

1234```1370```

1235 1371 

1236### `ThinkingConfig`1372<h3 id="thinkingconfig">

1373 `ThinkingConfig`

1374</h3>

1237 1375 

1238Steuert das Verhalten des erweiterten Denkens. Eine Union von drei Konfigurationen:1376Steuert das Verhalten des erweiterten Denkens. Eine Union von drei Konfigurationen:

1239 1377 


1281# config.budget_tokens would raise AttributeError1419# config.budget_tokens would raise AttributeError

1282```1420```

1283 1421 

1284### `SdkBeta`1422<h3 id="sdkbeta">

1423 `SdkBeta`

1424</h3>

1285 1425 

1286Literal-Typ für SDK-Beta-Funktionen.1426Literal-Typ für SDK-Beta-Funktionen.

1287 1427 


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

1293 1433 

1294<Warning>1434<Warning>

1295 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 Sonnet 4.6, Claude Opus 4.6 oder Claude Opus 4.7](https://platform.claude.com/docs/en/about-claude/models/overview), die 1M-Kontext zu Standardpreisen ohne Beta-Header enthalten.1435 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 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.

1296</Warning>1436</Warning>

1297 1437 

1298### `McpSdkServerConfig`1438<h3 id="mcpsdkserverconfig">

1439 `McpSdkServerConfig`

1440</h3>

1299 1441 

1300Konfiguration für SDK MCP-Server, die mit `create_sdk_mcp_server()` erstellt wurden.1442Konfiguration für SDK MCP-Server, die mit `create_sdk_mcp_server()` erstellt wurden.

1301 1443 


1306 instance: Any # MCP Server instance1448 instance: Any # MCP Server instance

1307```1449```

1308 1450 

1309### `McpServerConfig`1451<h3 id="mcpserverconfig">

1452 `McpServerConfig`

1453</h3>

1310 1454 

1311Union-Typ für MCP-Server-Konfigurationen.1455Union-Typ für MCP-Server-Konfigurationen.

1312 1456 


1316)1460)

1317```1461```

1318 1462 

1319#### `McpStdioServerConfig`1463<h4 id="mcpstdioserverconfig">

1464 `McpStdioServerConfig`

1465</h4>

1320 1466 

1321```python theme={null}1467```python theme={null}

1322class McpStdioServerConfig(TypedDict):1468class McpStdioServerConfig(TypedDict):


1326 env: NotRequired[dict[str, str]]1472 env: NotRequired[dict[str, str]]

1327```1473```

1328 1474 

1329#### `McpSSEServerConfig`1475<h4 id="mcpsseserverconfig">

1476 `McpSSEServerConfig`

1477</h4>

1330 1478 

1331```python theme={null}1479```python theme={null}

1332class McpSSEServerConfig(TypedDict):1480class McpSSEServerConfig(TypedDict):


1335 headers: NotRequired[dict[str, str]]1483 headers: NotRequired[dict[str, str]]

1336```1484```

1337 1485 

1338#### `McpHttpServerConfig`1486<h4 id="mcphttpserverconfig">

1487 `McpHttpServerConfig`

1488</h4>

1339 1489 

1340```python theme={null}1490```python theme={null}

1341class McpHttpServerConfig(TypedDict):1491class McpHttpServerConfig(TypedDict):


1344 headers: NotRequired[dict[str, str]]1494 headers: NotRequired[dict[str, str]]

1345```1495```

1346 1496 

1347### `McpServerStatusConfig`1497<h3 id="mcpserverstatusconfig">

1498 `McpServerStatusConfig`

1499</h3>

1348 1500 

1349Die Konfiguration eines MCP-Servers, wie von [`get_mcp_status()`](#methods) gemeldet. Dies ist die Union aller [`McpServerConfig`](#mcpserverconfig)-Transport-Varianten plus eine nur-Ausgabe-`claudeai-proxy`-Variante für Server, die durch claude.ai proxiert werden.1501Die Konfiguration eines MCP-Servers, wie von [`get_mcp_status()`](#methods) gemeldet. Dies ist die Union aller [`McpServerConfig`](#mcpserverconfig)-Transport-Varianten plus eine nur-Ausgabe-`claudeai-proxy`-Variante für Server, die durch claude.ai proxiert werden.

1350 1502 


1360 1512 

1361`McpSdkServerConfigStatus` ist die serialisierbare Form von [`McpSdkServerConfig`](#mcpsdkserverconfig) mit nur `type` (`"sdk"`) und `name` (`str`)-Feldern; die In-Process-`instance` wird weggelassen. `McpClaudeAIProxyServerConfig` hat `type` (`"claudeai-proxy"`), `url` (`str`) und `id` (`str`)-Felder.1513`McpSdkServerConfigStatus` ist die serialisierbare Form von [`McpSdkServerConfig`](#mcpsdkserverconfig) mit nur `type` (`"sdk"`) und `name` (`str`)-Feldern; die In-Process-`instance` wird weggelassen. `McpClaudeAIProxyServerConfig` hat `type` (`"claudeai-proxy"`), `url` (`str`) und `id` (`str`)-Felder.

1362 1514 

1363### `McpStatusResponse`1515<h3 id="mcpstatusresponse">

1516 `McpStatusResponse`

1517</h3>

1364 1518 

1365Antwort von [`ClaudeSDKClient.get_mcp_status()`](#methods). Umhüllt die Liste der Server-Status unter dem `mcpServers`-Schlüssel.1519Antwort von [`ClaudeSDKClient.get_mcp_status()`](#methods). Umhüllt die Liste der Server-Status unter dem `mcpServers`-Schlüssel.

1366 1520 


1369 mcpServers: list[McpServerStatus]1523 mcpServers: list[McpServerStatus]

1370```1524```

1371 1525 

1372### `McpServerStatus`1526<h3 id="mcpserverstatus">

1527 `McpServerStatus`

1528</h3>

1373 1529 

1374Status eines verbundenen MCP-Servers, enthalten in [`McpStatusResponse`](#mcpstatusresponse).1530Status eines verbundenen MCP-Servers, enthalten in [`McpStatusResponse`](#mcpstatusresponse).

1375 1531 


1394| `scope` | `str` (optional) | Konfigurationsbereich |1550| `scope` | `str` (optional) | Konfigurationsbereich |

1395| `tools` | `list` (optional) | Tools, die von diesem Server bereitgestellt werden, jeweils mit `name`, `description` und `annotations`-Feldern |1551| `tools` | `list` (optional) | Tools, die von diesem Server bereitgestellt werden, jeweils mit `name`, `description` und `annotations`-Feldern |

1396 1552 

1397### `SdkPluginConfig`1553<h3 id="sdkpluginconfig">

1554 `SdkPluginConfig`

1555</h3>

1398 1556 

1399Konfiguration zum Laden von Plugins im SDK.1557Konfiguration zum Laden von Plugins im SDK.

1400 1558 


1420 1578 

1421Vollständige Informationen zum Erstellen und Verwenden von Plugins finden Sie unter [Plugins](/de/agent-sdk/plugins).1579Vollständige Informationen zum Erstellen und Verwenden von Plugins finden Sie unter [Plugins](/de/agent-sdk/plugins).

1422 1580 

1423## Nachrichtentypen1581<h2 id="message-types">

1582 Nachrichtentypen

1583</h2>

1424 1584 

1425### `Message`1585<h3 id="message">

1586 `Message`

1587</h3>

1426 1588 

1427Union-Typ aller möglichen Nachrichten.1589Union-Typ aller möglichen Nachrichten.

1428 1590 


1437)1599)

1438```1600```

1439 1601 

1440### `UserMessage`1602<h3 id="usermessage">

1603 `UserMessage`

1604</h3>

1441 1605 

1442Benutzereingabe-Nachricht.1606Benutzereingabe-Nachricht.

1443 1607 


1457| `parent_tool_use_id` | `str \| None` | Tool-Use-ID, wenn diese Nachricht eine Tool-Ergebnis-Antwort ist |1621| `parent_tool_use_id` | `str \| None` | Tool-Use-ID, wenn diese Nachricht eine Tool-Ergebnis-Antwort ist |

1458| `tool_use_result` | `dict[str, Any] \| None` | Tool-Ergebnisdaten, falls zutreffend |1622| `tool_use_result` | `dict[str, Any] \| None` | Tool-Ergebnisdaten, falls zutreffend |

1459 1623 

1460### `AssistantMessage`1624<h3 id="assistantmessage">

1625 `AssistantMessage`

1626</h3>

1461 1627 

1462Assistent-Antwortnachricht mit Inhaltsblöcken.1628Assistent-Antwortnachricht mit Inhaltsblöcken.

1463 1629 


1481| `usage` | `dict[str, Any] \| None` | Token-Nutzung pro Nachricht (gleiche Schlüssel wie [`ResultMessage.usage`](#resultmessage)) |1647| `usage` | `dict[str, Any] \| None` | Token-Nutzung pro Nachricht (gleiche Schlüssel wie [`ResultMessage.usage`](#resultmessage)) |

1482| `message_id` | `str \| None` | API-Nachrichtenkennung. Mehrere Nachrichten aus einer Umdrehung teilen die gleiche ID |1648| `message_id` | `str \| None` | API-Nachrichtenkennung. Mehrere Nachrichten aus einer Umdrehung teilen die gleiche ID |

1483 1649 

1484### `AssistantMessageError`1650<h3 id="assistantmessageerror">

1651 `AssistantMessageError`

1652</h3>

1485 1653 

1486Mögliche Fehlertypen für Assistent-Nachrichten.1654Mögliche Fehlertypen für Assistent-Nachrichten.

1487 1655 


1497]1665]

1498```1666```

1499 1667 

1500### `SystemMessage`1668<h3 id="systemmessage">

1669 `SystemMessage`

1670</h3>

1501 1671 

1502System-Nachricht mit Metadaten.1672System-Nachricht mit Metadaten.

1503 1673 


1508 data: dict[str, Any]1678 data: dict[str, Any]

1509```1679```

1510 1680 

1511### `ResultMessage`1681<h3 id="resultmessage">

1682 `ResultMessage`

1683</h3>

1512 1684 

1513Endgültige Ergebnis-Nachricht mit Kosten- und Nutzungsinformationen.1685Endgültige Ergebnis-Nachricht mit Kosten- und Nutzungsinformationen.

1514 1686 


1534 uuid: str | None = None1706 uuid: str | None = None

1535```1707```

1536 1708 

1709Das Feld `subtype` bestimmt, welche anderen Felder gefüllt werden. Es ist eines von `"success"`, `"error_during_execution"`, `"error_max_turns"`, `"error_max_budget_usd"` oder `"error_max_structured_output_retries"`. Die Python-Dataclass vereinfacht alle Varianten in eine Form, daher sind Felder, die nicht auf den zurückgegebenen Subtyp zutreffen, `None`.

1710 

1711Mehrere Felder enthalten diagnostische Details, wenn das Gespräch mit einem Fehler endet:

1712 

1713* `is_error`: `True`, wenn das Gespräch in einem Fehlerzustand endete. Immer `True` bei den `error_*`-Subtypen. Bei `subtype="success"` ist es `True`, wenn die letzte Modellanfrage fehlgeschlagen ist, was bedeutet, dass die Agent-Schleife abgeschlossen wurde, aber der letzte API-Aufruf einen Fehler zurückgab.

1714* `api_error_status`: Der HTTP-Statuscode des beendenden API-Fehlers. `None`, wenn die Umdrehung ohne einen endete. Wird nur bei `subtype="success"` gefüllt.

1715* `result`: Text der endgültigen Assistent-Nachricht bei `subtype="success"` oder `None` bei den `error_*`-Subtypen. Wenn `subtype="success"` und `is_error=True`, enthält dies die API-Fehlerzeichenfolge, falls verfügbar, kann aber leer sein. Überprüfen Sie daher `api_error_status` und den vorherigen `AssistantMessage`-Inhalt für Details.

1716* `errors`: Fehlerzeichenfolgen auf Schleifenebene, wie die Max-Turns-Nachricht. Wird nur bei den `error_*`-Subtypen gefüllt.

1717 

1537Das `usage`-Dict enthält die folgenden Schlüssel, wenn vorhanden:1718Das `usage`-Dict enthält die folgenden Schlüssel, wenn vorhanden:

1538 1719 

1539| Schlüssel | Typ | Beschreibung |1720| Schlüssel | Typ | Beschreibung |


1556| `contextWindow` | `int` | Kontextfenstergröße für dieses Modell. |1737| `contextWindow` | `int` | Kontextfenstergröße für dieses Modell. |

1557| `maxOutputTokens` | `int` | Maximale Ausgabe-Token-Grenze für dieses Modell. |1738| `maxOutputTokens` | `int` | Maximale Ausgabe-Token-Grenze für dieses Modell. |

1558 1739 

1559### `StreamEvent`1740<h3 id="streamevent">

1741 `StreamEvent`

1742</h3>

1560 1743 

1561Stream-Ereignis für partielle Nachrichtenaktualisierungen während des Streamings. Wird nur empfangen, wenn `include_partial_messages=True` in `ClaudeAgentOptions`. Import über `from claude_agent_sdk.types import StreamEvent`.1744Stream-Ereignis für partielle Nachrichtenaktualisierungen während des Streamings. Wird nur empfangen, wenn `include_partial_messages=True` in `ClaudeAgentOptions`. Import über `from claude_agent_sdk.types import StreamEvent`.

1562 1745 


1576| `event` | `dict[str, Any]` | Die rohen Claude API-Stream-Ereignisdaten |1759| `event` | `dict[str, Any]` | Die rohen Claude API-Stream-Ereignisdaten |

1577| `parent_tool_use_id` | `str \| None` | Übergeordnete Tool-Use-ID, wenn dieses Ereignis von einem Subagenten stammt |1760| `parent_tool_use_id` | `str \| None` | Übergeordnete Tool-Use-ID, wenn dieses Ereignis von einem Subagenten stammt |

1578 1761 

1579### `RateLimitEvent`1762<h3 id="ratelimitevent">

1763 `RateLimitEvent`

1764</h3>

1580 1765 

1581Wird ausgegeben, wenn sich der Rate-Limit-Status ändert (z. B. von `"allowed"` zu `"allowed_warning"`). Verwenden Sie dies, um Benutzer zu warnen, bevor sie eine harte Grenze erreichen, oder um zu backoff, wenn der Status `"rejected"` ist.1766Wird ausgegeben, wenn sich der Rate-Limit-Status ändert (z. B. von `"allowed"` zu `"allowed_warning"`). Verwenden Sie dies, um Benutzer zu warnen, bevor sie eine harte Grenze erreichen, oder um zu backoff, wenn der Status `"rejected"` ist.

1582 1767 


1594| `uuid` | `str` | Eindeutige Ereigniskennung |1779| `uuid` | `str` | Eindeutige Ereigniskennung |

1595| `session_id` | `str` | Sitzungskennung |1780| `session_id` | `str` | Sitzungskennung |

1596 1781 

1597### `RateLimitInfo`1782<h3 id="ratelimitinfo">

1783 `RateLimitInfo`

1784</h3>

1598 1785 

1599Rate-Limit-Status, den [`RateLimitEvent`](#ratelimitevent) trägt.1786Rate-Limit-Status, den [`RateLimitEvent`](#ratelimitevent) trägt.

1600 1787 


1628| `overage_disabled_reason` | `str \| None` | Warum Übernutzung nicht verfügbar ist, wenn Status `"rejected"` ist |1815| `overage_disabled_reason` | `str \| None` | Warum Übernutzung nicht verfügbar ist, wenn Status `"rejected"` ist |

1629| `raw` | `dict[str, Any]` | Vollständiges Rohdictionary von der CLI, einschließlich Felder, die oben nicht modelliert sind |1816| `raw` | `dict[str, Any]` | Vollständiges Rohdictionary von der CLI, einschließlich Felder, die oben nicht modelliert sind |

1630 1817 

1631### `TaskStartedMessage`1818<h3 id="taskstartedmessage">

1819 `TaskStartedMessage`

1820</h3>

1632 1821 

1633Wird ausgegeben, wenn eine Hintergrundaufgabe startet. Eine Hintergrundaufgabe ist alles, was außerhalb der Hauptumdrehung verfolgt wird: ein backgroundierter Bash-Befehl, eine [Monitor](#monitor)-Überwachung, ein Subagent, der über das Agent-Tool erzeugt wird, oder ein Remote-Agent. Das Feld `task_type` sagt Ihnen, welches. Diese Benennung ist nicht verwandt mit der `Task`-zu-`Agent`-Tool-Umbenennung.1822Wird ausgegeben, wenn eine Hintergrundaufgabe startet. Eine Hintergrundaufgabe ist alles, was außerhalb der Hauptumdrehung verfolgt wird: ein backgroundierter Bash-Befehl, eine [Monitor](#monitor)-Überwachung, ein Subagent, der über das Agent-Tool erzeugt wird, oder ein Remote-Agent. Das Feld `task_type` sagt Ihnen, welches. Diese Benennung ist nicht verwandt mit der `Task`-zu-`Agent`-Tool-Umbenennung.

1634 1823 


1652| `tool_use_id` | `str \| None` | Zugeordnete Tool-Use-ID |1841| `tool_use_id` | `str \| None` | Zugeordnete Tool-Use-ID |

1653| `task_type` | `str \| None` | Welche Art von Hintergrundaufgabe: `"local_bash"` für Background Bash und Monitor-Überwachungen, `"local_agent"` oder `"remote_agent"` |1842| `task_type` | `str \| None` | Welche Art von Hintergrundaufgabe: `"local_bash"` für Background Bash und Monitor-Überwachungen, `"local_agent"` oder `"remote_agent"` |

1654 1843 

1655### `TaskUsage`1844<h3 id="taskusage">

1845 `TaskUsage`

1846</h3>

1656 1847 

1657Token- und Timing-Daten für eine Hintergrundaufgabe.1848Token- und Timing-Daten für eine Hintergrundaufgabe.

1658 1849 


1663 duration_ms: int1854 duration_ms: int

1664```1855```

1665 1856 

1666### `TaskProgressMessage`1857<h3 id="taskprogressmessage">

1858 `TaskProgressMessage`

1859</h3>

1667 1860 

1668Wird regelmäßig mit Fortschrittsaktualisierungen für eine laufende Hintergrundaufgabe ausgegeben.1861Wird regelmäßig mit Fortschrittsaktualisierungen für eine laufende Hintergrundaufgabe ausgegeben.

1669 1862 


1689| `tool_use_id` | `str \| None` | Zugeordnete Tool-Use-ID |1882| `tool_use_id` | `str \| None` | Zugeordnete Tool-Use-ID |

1690| `last_tool_name` | `str \| None` | Name des letzten Tools, das die Aufgabe verwendet hat |1883| `last_tool_name` | `str \| None` | Name des letzten Tools, das die Aufgabe verwendet hat |

1691 1884 

1692### `TaskNotificationMessage`1885<h3 id="tasknotificationmessage">

1886 `TaskNotificationMessage`

1887</h3>

1693 1888 

1694Wird ausgegeben, wenn eine Hintergrundaufgabe abgeschlossen, fehlgeschlagen oder gestoppt wird. Hintergrundaufgaben umfassen `run_in_background`-Bash-Befehle, Monitor-Überwachungen und Background-Subagenten.1889Wird ausgegeben, wenn eine Hintergrundaufgabe abgeschlossen, fehlgeschlagen oder gestoppt wird. Hintergrundaufgaben umfassen `run_in_background`-Bash-Befehle, Monitor-Überwachungen und Background-Subagenten.

1695 1890 


1717| `tool_use_id` | `str \| None` | Zugeordnete Tool-Use-ID |1912| `tool_use_id` | `str \| None` | Zugeordnete Tool-Use-ID |

1718| `usage` | `TaskUsage \| None` | Endgültige Token-Nutzung für die Aufgabe |1913| `usage` | `TaskUsage \| None` | Endgültige Token-Nutzung für die Aufgabe |

1719 1914 

1720## Inhaltsblock-Typen1915<h2 id="content-block-types">

1916 Inhaltsblock-Typen

1917</h2>

1721 1918 

1722### `ContentBlock`1919<h3 id="contentblock">

1920 `ContentBlock`

1921</h3>

1723 1922 

1724Union-Typ aller Inhaltsblöcke.1923Union-Typ aller Inhaltsblöcke.

1725 1924 


1727ContentBlock = TextBlock | ThinkingBlock | ToolUseBlock | ToolResultBlock1926ContentBlock = TextBlock | ThinkingBlock | ToolUseBlock | ToolResultBlock

1728```1927```

1729 1928 

1730### `TextBlock`1929<h3 id="textblock">

1930 `TextBlock`

1931</h3>

1731 1932 

1732Text-Inhaltsblock.1933Text-Inhaltsblock.

1733 1934 


1737 text: str1938 text: str

1738```1939```

1739 1940 

1740### `ThinkingBlock`1941<h3 id="thinkingblock">

1942 `ThinkingBlock`

1943</h3>

1741 1944 

1742Thinking-Inhaltsblock (für Modelle mit Thinking-Fähigkeit).1945Thinking-Inhaltsblock (für Modelle mit Thinking-Fähigkeit).

1743 1946 


1748 signature: str1951 signature: str

1749```1952```

1750 1953 

1751### `ToolUseBlock`1954<h3 id="tooluseblock">

1955 `ToolUseBlock`

1956</h3>

1752 1957 

1753Tool-Use-Anfrage-Block.1958Tool-Use-Anfrage-Block.

1754 1959 


1760 input: dict[str, Any]1965 input: dict[str, Any]

1761```1966```

1762 1967 

1763### `ToolResultBlock`1968<h3 id="toolresultblock">

1969 `ToolResultBlock`

1970</h3>

1764 1971 

1765Tool-Ausführungs-Ergebnis-Block.1972Tool-Ausführungs-Ergebnis-Block.

1766 1973 


1772 is_error: bool | None = None1979 is_error: bool | None = None

1773```1980```

1774 1981 

1775## Fehlertypen1982<h2 id="error-types">

1983 Fehlertypen

1984</h2>

1776 1985 

1777### `ClaudeSDKError`1986<h3 id="claudesdkerror">

1987 `ClaudeSDKError`

1988</h3>

1778 1989 

1779Basis-Ausnahmeklasse für alle SDK-Fehler.1990Basis-Ausnahmeklasse für alle SDK-Fehler.

1780 1991 


1783 """Base error for Claude SDK."""1994 """Base error for Claude SDK."""

1784```1995```

1785 1996 

1786### `CLINotFoundError`1997<h3 id="clinotfounderror">

1998 `CLINotFoundError`

1999</h3>

1787 2000 

1788Wird ausgelöst, wenn Claude Code CLI nicht installiert oder nicht gefunden ist.2001Wird ausgelöst, wenn Claude Code CLI nicht installiert oder nicht gefunden ist.

1789 2002 


1799 """2012 """

1800```2013```

1801 2014 

1802### `CLIConnectionError`2015<h3 id="cliconnectionerror">

2016 `CLIConnectionError`

2017</h3>

1803 2018 

1804Wird ausgelöst, wenn die Verbindung zu Claude Code fehlschlägt.2019Wird ausgelöst, wenn die Verbindung zu Claude Code fehlschlägt.

1805 2020 


1808 """Failed to connect to Claude Code."""2023 """Failed to connect to Claude Code."""

1809```2024```

1810 2025 

1811### `ProcessError`2026<h3 id="processerror">

2027 `ProcessError`

2028</h3>

1812 2029 

1813Wird ausgelöst, wenn der Claude Code-Prozess fehlschlägt.2030Wird ausgelöst, wenn der Claude Code-Prozess fehlschlägt.

1814 2031 


1821 self.stderr = stderr2038 self.stderr = stderr

1822```2039```

1823 2040 

1824### `CLIJSONDecodeError`2041<h3 id="clijsondecodeerror">

2042 `CLIJSONDecodeError`

2043</h3>

1825 2044 

1826Wird ausgelöst, wenn JSON-Parsing fehlschlägt.2045Wird ausgelöst, wenn JSON-Parsing fehlschlägt.

1827 2046 


1837 self.original_error = original_error2056 self.original_error = original_error

1838```2057```

1839 2058 

1840## Hook-Typen2059<h2 id="hook-types">

2060 Hook-Typen

2061</h2>

1841 2062 

1842Einen umfassenden Leitfaden zur Verwendung von Hooks mit Beispielen und häufigen Mustern finden Sie im [Hooks-Leitfaden](/de/agent-sdk/hooks).2063Einen umfassenden Leitfaden zur Verwendung von Hooks mit Beispielen und häufigen Mustern finden Sie im [Hooks-Leitfaden](/de/agent-sdk/hooks).

1843 2064 

1844### `HookEvent`2065<h3 id="hookevent">

2066 `HookEvent`

2067</h3>

1845 2068 

1846Unterstützte Hook-Ereignistypen.2069Unterstützte Hook-Ereignistypen.

1847 2070 


1864 Das TypeScript SDK unterstützt zusätzliche Hook-Ereignisse, die in Python noch nicht verfügbar sind: `SessionStart`, `SessionEnd`, `Setup`, `TeammateIdle`, `TaskCompleted`, `ConfigChange`, `WorktreeCreate`, `WorktreeRemove`, `PostToolBatch` und `MessageDisplay`.2087 Das TypeScript SDK unterstützt zusätzliche Hook-Ereignisse, die in Python noch nicht verfügbar sind: `SessionStart`, `SessionEnd`, `Setup`, `TeammateIdle`, `TaskCompleted`, `ConfigChange`, `WorktreeCreate`, `WorktreeRemove`, `PostToolBatch` und `MessageDisplay`.

1865</Note>2088</Note>

1866 2089 

1867### `HookCallback`2090<h3 id="hookcallback">

2091 `HookCallback`

2092</h3>

1868 2093 

1869Typ-Definition für Hook-Callback-Funktionen.2094Typ-Definition für Hook-Callback-Funktionen.

1870 2095 


1884* `systemMessage`: Warnmeldung, die dem Benutzer angezeigt wird2109* `systemMessage`: Warnmeldung, die dem Benutzer angezeigt wird

1885* `hookSpecificOutput`: Hook-spezifische Ausgabedaten2110* `hookSpecificOutput`: Hook-spezifische Ausgabedaten

1886 2111 

1887### `HookContext`2112<h3 id="hookcontext">

2113 `HookContext`

2114</h3>

1888 2115 

1889Kontextinformationen, die an Hook-Callbacks übergeben werden.2116Kontextinformationen, die an Hook-Callbacks übergeben werden.

1890 2117 


1893 signal: Any | None # Future: abort signal support2120 signal: Any | None # Future: abort signal support

1894```2121```

1895 2122 

1896### `HookMatcher`2123<h3 id="hookmatcher">

2124 `HookMatcher`

2125</h3>

1897 2126 

1898Konfiguration zum Abgleichen von Hooks mit bestimmten Ereignissen oder Tools.2127Konfiguration zum Abgleichen von Hooks mit bestimmten Ereignissen oder Tools.

1899 2128 


1911 )2140 )

1912```2141```

1913 2142 

1914### `HookInput`2143<h3 id="hookinput">

2144 `HookInput`

2145</h3>

1915 2146 

1916Union-Typ aller Hook-Eingabetypen. Der tatsächliche Typ hängt vom Feld `hook_event_name` ab.2147Union-Typ aller Hook-Eingabetypen. Der tatsächliche Typ hängt vom Feld `hook_event_name` ab.

1917 2148 


1930)2161)

1931```2162```

1932 2163 

1933### `BaseHookInput`2164<h3 id="basehookinput">

2165 `BaseHookInput`

2166</h3>

1934 2167 

1935Basis-Felder, die in allen Hook-Eingabetypen vorhanden sind.2168Basis-Felder, die in allen Hook-Eingabetypen vorhanden sind.

1936 2169 


1949| `cwd` | `str` | Aktuelles Arbeitsverzeichnis |2182| `cwd` | `str` | Aktuelles Arbeitsverzeichnis |

1950| `permission_mode` | `str` (optional) | Aktueller Berechtigungsmodus |2183| `permission_mode` | `str` (optional) | Aktueller Berechtigungsmodus |

1951 2184 

1952### `PreToolUseHookInput`2185<h3 id="pretoolusehookinput">

2186 `PreToolUseHookInput`

2187</h3>

1953 2188 

1954Eingabedaten für `PreToolUse`-Hook-Ereignisse.2189Eingabedaten für `PreToolUse`-Hook-Ereignisse.

1955 2190 


1972| `agent_id` | `str` (optional) | Subagenten-Kennung, vorhanden, wenn der Hook innerhalb eines Subagenten ausgelöst wird |2207| `agent_id` | `str` (optional) | Subagenten-Kennung, vorhanden, wenn der Hook innerhalb eines Subagenten ausgelöst wird |

1973| `agent_type` | `str` (optional) | Subagenten-Typ, vorhanden, wenn der Hook innerhalb eines Subagenten ausgelöst wird |2208| `agent_type` | `str` (optional) | Subagenten-Typ, vorhanden, wenn der Hook innerhalb eines Subagenten ausgelöst wird |

1974 2209 

1975### `PostToolUseHookInput`2210<h3 id="posttoolusehookinput">

2211 `PostToolUseHookInput`

2212</h3>

1976 2213 

1977Eingabedaten für `PostToolUse`-Hook-Ereignisse.2214Eingabedaten für `PostToolUse`-Hook-Ereignisse.

1978 2215 


1997| `agent_id` | `str` (optional) | Subagenten-Kennung, vorhanden, wenn der Hook innerhalb eines Subagenten ausgelöst wird |2234| `agent_id` | `str` (optional) | Subagenten-Kennung, vorhanden, wenn der Hook innerhalb eines Subagenten ausgelöst wird |

1998| `agent_type` | `str` (optional) | Subagenten-Typ, vorhanden, wenn der Hook innerhalb eines Subagenten ausgelöst wird |2235| `agent_type` | `str` (optional) | Subagenten-Typ, vorhanden, wenn der Hook innerhalb eines Subagenten ausgelöst wird |

1999 2236 

2000### `PostToolUseFailureHookInput`2237<h3 id="posttoolusefailurehookinput">

2238 `PostToolUseFailureHookInput`

2239</h3>

2001 2240 

2002Eingabedaten für `PostToolUseFailure`-Hook-Ereignisse. Wird aufgerufen, wenn eine Tool-Ausführung fehlschlägt.2241Eingabedaten für `PostToolUseFailure`-Hook-Ereignisse. Wird aufgerufen, wenn eine Tool-Ausführung fehlschlägt.

2003 2242 


2024| `agent_id` | `str` (optional) | Subagenten-Kennung, vorhanden, wenn der Hook innerhalb eines Subagenten ausgelöst wird |2263| `agent_id` | `str` (optional) | Subagenten-Kennung, vorhanden, wenn der Hook innerhalb eines Subagenten ausgelöst wird |

2025| `agent_type` | `str` (optional) | Subagenten-Typ, vorhanden, wenn der Hook innerhalb eines Subagenten ausgelöst wird |2264| `agent_type` | `str` (optional) | Subagenten-Typ, vorhanden, wenn der Hook innerhalb eines Subagenten ausgelöst wird |

2026 2265 

2027### `UserPromptSubmitHookInput`2266<h3 id="userpromptsubmithookinput">

2267 `UserPromptSubmitHookInput`

2268</h3>

2028 2269 

2029Eingabedaten für `UserPromptSubmit`-Hook-Ereignisse.2270Eingabedaten für `UserPromptSubmit`-Hook-Ereignisse.

2030 2271 


2039| `hook_event_name` | `Literal["UserPromptSubmit"]` | Immer "UserPromptSubmit" |2280| `hook_event_name` | `Literal["UserPromptSubmit"]` | Immer "UserPromptSubmit" |

2040| `prompt` | `str` | Die vom Benutzer eingereichte Aufforderung |2281| `prompt` | `str` | Die vom Benutzer eingereichte Aufforderung |

2041 2282 

2042### `StopHookInput`2283<h3 id="stophookinput">

2284 `StopHookInput`

2285</h3>

2043 2286 

2044Eingabedaten für `Stop`-Hook-Ereignisse.2287Eingabedaten für `Stop`-Hook-Ereignisse.

2045 2288 


2054| `hook_event_name` | `Literal["Stop"]` | Immer "Stop" |2297| `hook_event_name` | `Literal["Stop"]` | Immer "Stop" |

2055| `stop_hook_active` | `bool` | Ob der Stop-Hook aktiv ist |2298| `stop_hook_active` | `bool` | Ob der Stop-Hook aktiv ist |

2056 2299 

2057### `SubagentStopHookInput`2300<h3 id="subagentstophookinput">

2301 `SubagentStopHookInput`

2302</h3>

2058 2303 

2059Eingabedaten für `SubagentStop`-Hook-Ereignisse.2304Eingabedaten für `SubagentStop`-Hook-Ereignisse.

2060 2305 


2075| `agent_transcript_path` | `str` | Pfad zur Transkript-Datei des Subagenten |2320| `agent_transcript_path` | `str` | Pfad zur Transkript-Datei des Subagenten |

2076| `agent_type` | `str` | Typ des Subagenten |2321| `agent_type` | `str` | Typ des Subagenten |

2077 2322 

2078### `PreCompactHookInput`2323<h3 id="precompacthookinput">

2324 `PreCompactHookInput`

2325</h3>

2079 2326 

2080Eingabedaten für `PreCompact`-Hook-Ereignisse.2327Eingabedaten für `PreCompact`-Hook-Ereignisse.

2081 2328 


2092| `trigger` | `Literal["manual", "auto"]` | Was die Komprimierung ausgelöst hat |2339| `trigger` | `Literal["manual", "auto"]` | Was die Komprimierung ausgelöst hat |

2093| `custom_instructions` | `str \| None` | Benutzerdefinierte Anweisungen für die Komprimierung |2340| `custom_instructions` | `str \| None` | Benutzerdefinierte Anweisungen für die Komprimierung |

2094 2341 

2095### `NotificationHookInput`2342<h3 id="notificationhookinput">

2343 `NotificationHookInput`

2344</h3>

2096 2345 

2097Eingabedaten für `Notification`-Hook-Ereignisse.2346Eingabedaten für `Notification`-Hook-Ereignisse.

2098 2347 


2111| `title` | `str` (optional) | Benachrichtigungstitel |2360| `title` | `str` (optional) | Benachrichtigungstitel |

2112| `notification_type` | `str` | Benachrichtigungstyp |2361| `notification_type` | `str` | Benachrichtigungstyp |

2113 2362 

2114### `SubagentStartHookInput`2363<h3 id="subagentstarthookinput">

2364 `SubagentStartHookInput`

2365</h3>

2115 2366 

2116Eingabedaten für `SubagentStart`-Hook-Ereignisse.2367Eingabedaten für `SubagentStart`-Hook-Ereignisse.

2117 2368 


2128| `agent_id` | `str` | Eindeutige Kennung für den Subagenten |2379| `agent_id` | `str` | Eindeutige Kennung für den Subagenten |

2129| `agent_type` | `str` | Typ des Subagenten |2380| `agent_type` | `str` | Typ des Subagenten |

2130 2381 

2131### `PermissionRequestHookInput`2382<h3 id="permissionrequesthookinput">

2383 `PermissionRequestHookInput`

2384</h3>

2132 2385 

2133Eingabedaten für `PermissionRequest`-Hook-Ereignisse. Ermöglicht Hooks, Berechtigungsentscheidungen programmgesteuert zu handhaben.2386Eingabedaten für `PermissionRequest`-Hook-Ereignisse. Ermöglicht Hooks, Berechtigungsentscheidungen programmgesteuert zu handhaben.

2134 2387 


2147| `tool_input` | `dict[str, Any]` | Eingabeparameter für das Tool |2400| `tool_input` | `dict[str, Any]` | Eingabeparameter für das Tool |

2148| `permission_suggestions` | `list[Any]` (optional) | Vorgeschlagene Berechtigungsaktualisierungen von der CLI |2401| `permission_suggestions` | `list[Any]` (optional) | Vorgeschlagene Berechtigungsaktualisierungen von der CLI |

2149 2402 

2150### `HookJSONOutput`2403<h3 id="hookjsonoutput">

2404 `HookJSONOutput`

2405</h3>

2151 2406 

2152Union-Typ für Hook-Callback-Rückgabewerte.2407Union-Typ für Hook-Callback-Rückgabewerte.

2153 2408 


2155HookJSONOutput = AsyncHookJSONOutput | SyncHookJSONOutput2410HookJSONOutput = AsyncHookJSONOutput | SyncHookJSONOutput

2156```2411```

2157 2412 

2158#### `SyncHookJSONOutput`2413<h4 id="synchookjsonoutput">

2414 `SyncHookJSONOutput`

2415</h4>

2159 2416 

2160Synchrone Hook-Ausgabe mit Kontroll- und Entscheidungsfeldern.2417Synchrone Hook-Ausgabe mit Kontroll- und Entscheidungsfeldern.

2161 2418 


2179 Verwenden Sie `continue_` (mit Unterstrich) im Python-Code. Es wird automatisch in `continue` konvertiert, wenn es an die CLI gesendet wird.2436 Verwenden Sie `continue_` (mit Unterstrich) im Python-Code. Es wird automatisch in `continue` konvertiert, wenn es an die CLI gesendet wird.

2180</Note>2437</Note>

2181 2438 

2182#### `HookSpecificOutput`2439<h4 id="hookspecificoutput">

2440 `HookSpecificOutput`

2441</h4>

2183 2442 

2184Ein `TypedDict`, das den Hook-Ereignisnamen und ereignisspezifische Felder enthält. Die Form hängt vom `hookEventName`-Wert ab. Vollständige Details zu verfügbaren Feldern pro Hook-Ereignis finden Sie unter [Ausführung mit Hooks kontrollieren](/de/agent-sdk/hooks#outputs).2443Ein `TypedDict`, das den Hook-Ereignisnamen und ereignisspezifische Felder enthält. Die Form hängt vom `hookEventName`-Wert ab. Vollständige Details zu verfügbaren Feldern pro Hook-Ereignis finden Sie unter [Ausführung mit Hooks kontrollieren](/de/agent-sdk/hooks#outputs).

2185 2444 


2237)2496)

2238```2497```

2239 2498 

2240#### `AsyncHookJSONOutput`2499<h4 id="asynchookjsonoutput">

2500 `AsyncHookJSONOutput`

2501</h4>

2241 2502 

2242Asynchrone Hook-Ausgabe, die Hook-Ausführung aufschiebt.2503Asynchrone Hook-Ausgabe, die Hook-Ausführung aufschiebt.

2243 2504 


2251 Verwenden Sie `async_` (mit Unterstrich) im Python-Code. Es wird automatisch in `async` konvertiert, wenn es an die CLI gesendet wird.2512 Verwenden Sie `async_` (mit Unterstrich) im Python-Code. Es wird automatisch in `async` konvertiert, wenn es an die CLI gesendet wird.

2252</Note>2513</Note>

2253 2514 

2254### Hook-Verwendungsbeispiel2515<h3 id="hook-usage-example">

2516 Hook-Verwendungsbeispiel

2517</h3>

2255 2518 

2256Dieses Beispiel registriert zwei Hooks: einen, der gefährliche Bash-Befehle wie `rm -rf /` blockiert, und einen anderen, der alle Tool-Nutzung für Auditing protokolliert. Der Sicherheits-Hook wird nur auf Bash-Befehle ausgeführt (über den `matcher`), während der Logging-Hook auf alle Tools angewendet wird.2519Dieses Beispiel registriert zwei Hooks: einen, der gefährliche Bash-Befehle wie `rm -rf /` blockiert, und einen anderen, der alle Tool-Nutzung für Auditing protokolliert. Der Sicherheits-Hook wird nur auf Bash-Befehle ausgeführt (über den `matcher`), während der Logging-Hook auf alle Tools angewendet wird.

2257 2520 


2303 print(message)2566 print(message)

2304```2567```

2305 2568 

2306## Tool-Eingabe-/Ausgabetypen2569<h2 id="tool-input/output-types">

2570 Tool-Eingabe-/Ausgabetypen

2571</h2>

2307 2572 

2308Dokumentation von Eingabe-/Ausgabeschemas für alle integrierten Claude Code-Tools. Während das Python SDK diese nicht als Typen exportiert, stellen sie die Struktur von Tool-Eingaben und -Ausgaben in Nachrichten dar.2573Dokumentation von Eingabe-/Ausgabeschemas für alle integrierten Claude Code-Tools. Während das Python SDK diese nicht als Typen exportiert, stellen sie die Struktur von Tool-Eingaben und -Ausgaben in Nachrichten dar.

2309 2574 

2310### Agent2575<h3 id="agent">

2576 Agent

2577</h3>

2311 2578 

2312**Tool-Name:** `Agent` (früher `Task`, das immer noch als Alias akzeptiert wird)2579**Tool-Name:** `Agent` (früher `Task`, das immer noch als Alias akzeptiert wird)

2313 2580 


2332}2599}

2333```2600```

2334 2601 

2335### AskUserQuestion2602<h3 id="askuserquestion">

2603 AskUserQuestion

2604</h3>

2336 2605 

2337**Tool-Name:** `AskUserQuestion`2606**Tool-Name:** `AskUserQuestion`

2338 2607 


2378}2647}

2379```2648```

2380 2649 

2381### Bash2650<h3 id="bash">

2651 Bash

2652</h3>

2382 2653 

2383**Tool-Name:** `Bash`2654**Tool-Name:** `Bash`

2384 2655 


2404}2675}

2405```2676```

2406 2677 

2407### Monitor2678<h3 id="monitor">

2679 Monitor

2680</h3>

2408 2681 

2409**Tool-Name:** `Monitor`2682**Tool-Name:** `Monitor`

2410 2683 


2431}2704}

2432```2705```

2433 2706 

2434### Edit2707<h3 id="edit">

2708 Edit

2709</h3>

2435 2710 

2436**Tool-Name:** `Edit`2711**Tool-Name:** `Edit`

2437 2712 


2456}2731}

2457```2732```

2458 2733 

2459### Read2734<h3 id="read">

2735 Read

2736</h3>

2460 2737 

2461**Tool-Name:** `Read`2738**Tool-Name:** `Read`

2462 2739 


2490}2767}

2491```2768```

2492 2769 

2493### Write2770<h3 id="write">

2771 Write

2772</h3>

2494 2773 

2495**Tool-Name:** `Write`2774**Tool-Name:** `Write`

2496 2775 


2513}2792}

2514```2793```

2515 2794 

2516### Glob2795<h3 id="glob">

2796 Glob

2797</h3>

2517 2798 

2518**Tool-Name:** `Glob`2799**Tool-Name:** `Glob`

2519 2800 


2536}2817}

2537```2818```

2538 2819 

2539### Grep2820<h3 id="grep">

2821 Grep

2822</h3>

2540 2823 

2541**Tool-Name:** `Grep`2824**Tool-Name:** `Grep`

2542 2825 


2585}2868}

2586```2869```

2587 2870 

2588### NotebookEdit2871<h3 id="notebookedit">

2872 NotebookEdit

2873</h3>

2589 2874 

2590**Tool-Name:** `NotebookEdit`2875**Tool-Name:** `NotebookEdit`

2591 2876 


2612}2897}

2613```2898```

2614 2899 

2615### WebFetch2900<h3 id="webfetch">

2901 WebFetch

2902</h3>

2616 2903 

2617**Tool-Name:** `WebFetch`2904**Tool-Name:** `WebFetch`

2618 2905 


2638}2925}

2639```2926```

2640 2927 

2641### WebSearch2928<h3 id="websearch">

2929 WebSearch

2930</h3>

2642 2931 

2643**Tool-Name:** `WebSearch`2932**Tool-Name:** `WebSearch`

2644 2933 


2662}2951}

2663```2952```

2664 2953 

2665### TodoWrite2954<h3 id="todowrite">

2955 TodoWrite

2956</h3>

2666 2957 

2667**Tool-Name:** `TodoWrite`2958**Tool-Name:** `TodoWrite`

2668 2959 


2693}2984}

2694```2985```

2695 2986 

2696### TaskCreate2987<h3 id="taskcreate">

2988 TaskCreate

2989</h3>

2697 2990 

2698**Tool-Name:** `TaskCreate`2991**Tool-Name:** `TaskCreate`

2699 2992 


2716}3009}

2717```3010```

2718 3011 

2719### TaskUpdate3012<h3 id="taskupdate">

3013 TaskUpdate

3014</h3>

2720 3015 

2721**Tool-Name:** `TaskUpdate`3016**Tool-Name:** `TaskUpdate`

2722 3017 


2748}3043}

2749```3044```

2750 3045 

2751### TaskGet3046<h3 id="taskget">

3047 TaskGet

3048</h3>

2752 3049 

2753**Tool-Name:** `TaskGet`3050**Tool-Name:** `TaskGet`

2754 3051 


2775}3072}

2776```3073```

2777 3074 

2778### TaskList3075<h3 id="tasklist">

3076 TaskList

3077</h3>

2779 3078 

2780**Tool-Name:** `TaskList`3079**Tool-Name:** `TaskList`

2781 3080 


2801}3100}

2802```3101```

2803 3102 

2804### BashOutput3103<h3 id="bashoutput">

3104 BashOutput

3105</h3>

2805 3106 

2806**Tool-Name:** `BashOutput`3107**Tool-Name:** `BashOutput`

2807 3108 


2824}3125}

2825```3126```

2826 3127 

2827### KillBash3128<h3 id="killbash">

3129 KillBash

3130</h3>

2828 3131 

2829**Tool-Name:** `KillBash`3132**Tool-Name:** `KillBash`

2830 3133 


2845}3148}

2846```3149```

2847 3150 

2848### ExitPlanMode3151<h3 id="exitplanmode">

3152 ExitPlanMode

3153</h3>

2849 3154 

2850**Tool-Name:** `ExitPlanMode`3155**Tool-Name:** `ExitPlanMode`

2851 3156 


2866}3171}

2867```3172```

2868 3173 

2869### ListMcpResources3174<h3 id="listmcpresources">

3175 ListMcpResources

3176</h3>

2870 3177 

2871**Tool-Name:** `ListMcpResourcesTool`3178**Tool-Name:** `ListMcpResourcesTool`

2872 3179 


2895}3202}

2896```3203```

2897 3204 

2898### ReadMcpResource3205<h3 id="readmcpresource">

3206 ReadMcpResource

3207</h3>

2899 3208 

2900**Tool-Name:** `ReadMcpResourceTool`3209**Tool-Name:** `ReadMcpResourceTool`

2901 3210 


2919}3228}

2920```3229```

2921 3230 

2922## Erweiterte Funktionen mit ClaudeSDKClient3231<h2 id="advanced-features-with-claudesdkclient">

3232 Erweiterte Funktionen mit ClaudeSDKClient

3233</h2>

2923 3234 

2924### Erstellen einer kontinuierlichen Konversationsschnittstelle3235<h3 id="building-a-continuous-conversation-interface">

3236 Erstellen einer kontinuierlichen Konversationsschnittstelle

3237</h3>

2925 3238 

2926```python theme={null}3239```python theme={null}

2927from claude_agent_sdk import (3240from claude_agent_sdk import (


3000asyncio.run(main())3313asyncio.run(main())

3001```3314```

3002 3315 

3003### Verwendung von Hooks zur Verhaltensänderung3316<h3 id="using-hooks-for-behavior-modification">

3317 Verwendung von Hooks zur Verhaltensänderung

3318</h3>

3004 3319 

3005```python theme={null}3320```python theme={null}

3006from claude_agent_sdk import (3321from claude_agent_sdk import (


3084asyncio.run(main())3399asyncio.run(main())

3085```3400```

3086 3401 

3087### Echtzeit-Fortschrittsüberwachung3402<h3 id="real-time-progress-monitoring">

3403 Echtzeit-Fortschrittsüberwachung

3404</h3>

3088 3405 

3089```python theme={null}3406```python theme={null}

3090from claude_agent_sdk import (3407from claude_agent_sdk import (


3125asyncio.run(monitor_progress())3442asyncio.run(monitor_progress())

3126```3443```

3127 3444 

3128## Beispielverwendung3445<h2 id="example-usage">

3446 Beispielverwendung

3447</h2>

3129 3448 

3130### Grundlegende Dateivorgänge (mit query)3449<h3 id="basic-file-operations-using-query">

3450 Grundlegende Dateivorgänge (mit query)

3451</h3>

3131 3452 

3132```python theme={null}3453```python theme={null}

3133from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ToolUseBlock3454from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ToolUseBlock


3153asyncio.run(create_project())3474asyncio.run(create_project())

3154```3475```

3155 3476 

3156### Fehlerbehandlung3477<h3 id="error-handling">

3478 Fehlerbehandlung

3479</h3>

3157 3480 

3158```python theme={null}3481```python theme={null}

3159from claude_agent_sdk import query, CLINotFoundError, ProcessError, CLIJSONDecodeError3482from claude_agent_sdk import query, CLINotFoundError, ProcessError, CLIJSONDecodeError


3171 print(f"Failed to parse response: {e}")3494 print(f"Failed to parse response: {e}")

3172```3495```

3173 3496 

3174### Streaming-Modus mit Client3497<h3 id="streaming-mode-with-client">

3498 Streaming-Modus mit Client

3499</h3>

3175 3500 

3176```python theme={null}3501```python theme={null}

3177from claude_agent_sdk import ClaudeSDKClient3502from claude_agent_sdk import ClaudeSDKClient


3198asyncio.run(interactive_session())3523asyncio.run(interactive_session())

3199```3524```

3200 3525 

3201### Verwendung benutzerdefinierter Tools mit ClaudeSDKClient3526<h3 id="using-custom-tools-with-claudesdkclient">

3527 Verwendung benutzerdefinierter Tools mit ClaudeSDKClient

3528</h3>

3202 3529 

3203```python theme={null}3530```python theme={null}

3204from claude_agent_sdk import (3531from claude_agent_sdk import (


3270asyncio.run(main())3597asyncio.run(main())

3271```3598```

3272 3599 

3273## Sandbox-Konfiguration3600<h2 id="sandbox-configuration">

3601 Sandbox-Konfiguration

3602</h2>

3274 3603 

3275### `SandboxSettings`3604<h3 id="sandboxsettings">

3605 `SandboxSettings`

3606</h3>

3276 3607 

3277Konfiguration für das Sandbox-Verhalten. Verwenden Sie dies, um Command-Sandboxing zu aktivieren und Netzwerkbeschränkungen programmgesteuert zu konfigurieren.3608Konfiguration für das Sandbox-Verhalten. Verwenden Sie dies, um Command-Sandboxing zu aktivieren und Netzwerkbeschränkungen programmgesteuert zu konfigurieren.

3278 3609 


3303 Setzen Sie `"failIfUnavailable": True` in Ihren Sandbox-Einstellungen, um stattdessen zu stoppen. Der Schlüssel ist noch nicht auf `SandboxSettings` deklariert, aber das SDK leitet ihn an Claude Code weiter, das ihn berücksichtigt. `query()` meldet dann eine `ResultMessage` mit `subtype="error_during_execution"` und den Grund in `errors`. Achten Sie auf diesen Subtyp, anstatt zu erwarten, dass `query()` vor dem Yielding von Nachrichten eine Ausnahme auslöst.3634 Setzen Sie `"failIfUnavailable": True` in Ihren Sandbox-Einstellungen, um stattdessen zu stoppen. Der Schlüssel ist noch nicht auf `SandboxSettings` deklariert, aber das SDK leitet ihn an Claude Code weiter, das ihn berücksichtigt. `query()` meldet dann eine `ResultMessage` mit `subtype="error_during_execution"` und den Grund in `errors`. Achten Sie auf diesen Subtyp, anstatt zu erwarten, dass `query()` vor dem Yielding von Nachrichten eine Ausnahme auslöst.

3304</Note>3635</Note>

3305 3636 

3306#### Beispielverwendung3637<h4 id="example-usage-1">

3638 Beispielverwendung

3639</h4>

3307 3640 

3308```python theme={null}3641```python theme={null}

3309from claude_agent_sdk import query, ClaudeAgentOptions, SandboxSettings3642from claude_agent_sdk import query, ClaudeAgentOptions, SandboxSettings


3325 **Unix-Socket-Sicherheit**: Die Option `allowUnixSockets` kann Zugriff auf leistungsstarke Systemdienste gewähren. Zum Beispiel ermöglicht das Zulassen von `/var/run/docker.sock` effektiv vollständigen Host-Systemzugriff über die Docker-API und umgeht die Sandbox-Isolation. Erlauben Sie nur Unix-Sockets, die absolut notwendig sind, und verstehen Sie die Sicherheitsauswirkungen jedes einzelnen.3658 **Unix-Socket-Sicherheit**: Die Option `allowUnixSockets` kann Zugriff auf leistungsstarke Systemdienste gewähren. Zum Beispiel ermöglicht das Zulassen von `/var/run/docker.sock` effektiv vollständigen Host-Systemzugriff über die Docker-API und umgeht die Sandbox-Isolation. Erlauben Sie nur Unix-Sockets, die absolut notwendig sind, und verstehen Sie die Sicherheitsauswirkungen jedes einzelnen.

3326</Warning>3659</Warning>

3327 3660 

3328### `SandboxNetworkConfig`3661<h3 id="sandboxnetworkconfig">

3662 `SandboxNetworkConfig`

3663</h3>

3329 3664 

3330Netzwerkspezifische Konfiguration für den Sandbox-Modus. Diese Einstellungen gelten für Sandbox-Bash-Befehle, wenn `enabled` in den übergeordneten [`SandboxSettings`](#sandboxsettings) auf `True` gesetzt ist. Sie beschränken das WebFetch-Tool nicht, das stattdessen [Berechtigungsregeln](/de/permissions#webfetch) verwendet.3665Netzwerkspezifische Konfiguration für den Sandbox-Modus. Diese Einstellungen gelten für Sandbox-Bash-Befehle, wenn `enabled` in den übergeordneten [`SandboxSettings`](#sandboxsettings) auf `True` gesetzt ist. Sie beschränken das WebFetch-Tool nicht, das stattdessen [Berechtigungsregeln](/de/permissions#webfetch) verwendet.

3331 3666 


3358 Der integrierte Sandbox-Proxy erzwingt die Netzwerk-Allowlist basierend auf dem angeforderten Hostnamen und beendet oder inspiziert keinen TLS-Verkehr, daher können Techniken wie [Domain Fronting](https://en.wikipedia.org/wiki/Domain_fronting) ihn möglicherweise umgehen. Siehe [Sandboxing-Sicherheitsbeschränkungen](/de/sandboxing#security-limitations) für Details und [Sichere Bereitstellung](/de/agent-sdk/secure-deployment#traffic-forwarding) für die Konfiguration eines TLS-terminierenden Proxys.3693 Der integrierte Sandbox-Proxy erzwingt die Netzwerk-Allowlist basierend auf dem angeforderten Hostnamen und beendet oder inspiziert keinen TLS-Verkehr, daher können Techniken wie [Domain Fronting](https://en.wikipedia.org/wiki/Domain_fronting) ihn möglicherweise umgehen. Siehe [Sandboxing-Sicherheitsbeschränkungen](/de/sandboxing#security-limitations) für Details und [Sichere Bereitstellung](/de/agent-sdk/secure-deployment#traffic-forwarding) für die Konfiguration eines TLS-terminierenden Proxys.

3359</Note>3694</Note>

3360 3695 

3361### `SandboxIgnoreViolations`3696<h3 id="sandboxignoreviolations">

3697 `SandboxIgnoreViolations`

3698</h3>

3362 3699 

3363Konfiguration zum Ignorieren bestimmter Sandbox-Verstöße.3700Konfiguration zum Ignorieren bestimmter Sandbox-Verstöße.

3364 3701 


3373| `file` | `list[str]` | `[]` | Dateipfad-Muster, für die Verstöße ignoriert werden sollen |3710| `file` | `list[str]` | `[]` | Dateipfad-Muster, für die Verstöße ignoriert werden sollen |

3374| `network` | `list[str]` | `[]` | Netzwerkmuster, für die Verstöße ignoriert werden sollen |3711| `network` | `list[str]` | `[]` | Netzwerkmuster, für die Verstöße ignoriert werden sollen |

3375 3712 

3376### Berechtigungen-Fallback für Unsandboxed-Befehle3713<h3 id="permissions-fallback-for-unsandboxed-commands">

3714 Berechtigungen-Fallback für Unsandboxed-Befehle

3715</h3>

3377 3716 

3378Wenn `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.3717Wenn `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.

3379 3718 


3451 Wenn `permission_mode` auf `bypassPermissions` gesetzt ist und `allow_unsandboxed_commands` aktiviert ist, kann das Modell autonom Befehle außerhalb der Sandbox ausführen, ohne dass Genehmigungsaufforderungen angezeigt werden. Diese Kombination ermöglicht dem Modell effektiv, die Sandbox-Isolation stillschweigend zu verlassen.3790 Wenn `permission_mode` auf `bypassPermissions` gesetzt ist und `allow_unsandboxed_commands` aktiviert ist, kann das Modell autonom Befehle außerhalb der Sandbox ausführen, ohne dass Genehmigungsaufforderungen angezeigt werden. Diese Kombination ermöglicht dem Modell effektiv, die Sandbox-Isolation stillschweigend zu verlassen.

3452</Warning>3791</Warning>

3453 3792 

3454## Siehe auch3793<h2 id="see-also">

3794 Siehe auch

3795</h2>

3455 3796 

3456* [SDK-Übersicht](/de/agent-sdk/overview) - Allgemeine SDK-Konzepte3797* [SDK-Übersicht](/de/agent-sdk/overview) - Allgemeine SDK-Konzepte

3457* [TypeScript SDK-Referenz](/de/agent-sdk/typescript) - TypeScript SDK-Dokumentation3798* [TypeScript SDK-Referenz](/de/agent-sdk/typescript) - TypeScript SDK-Dokumentation

Details

244Das macht das Agent SDK anders: Claude führt Tools direkt aus, anstatt Sie zu bitten, sie zu implementieren.244Das macht das Agent SDK anders: Claude führt Tools direkt aus, anstatt Sie zu bitten, sie zu implementieren.

245 245 

246<Note>246<Note>

247 Wenn Sie API-Schlüssel nicht gefunden" sehen, stellen Sie sicher, dass Sie die Umgebungsvariable `ANTHROPIC_API_KEY` in Ihrer `.env`-Datei oder Shell-Umgebung gesetzt haben. Weitere Hilfe finden Sie im [vollständigen Fehlerbehebungsleitfaden](/de/troubleshooting).247 Wenn Sie 'API-Schlüssel nicht gefunden" sehen, stellen Sie sicher, dass Sie die Umgebungsvariable `ANTHROPIC_API_KEY` in Ihrer `.env`-Datei oder Shell-Umgebung gesetzt haben. Weitere Hilfe finden Sie im [vollständigen Fehlerbehebungsleitfaden](/de/troubleshooting).

248</Note>248</Note>

249 249 

250<h3 id="try-other-prompts">250<h3 id="try-other-prompts">


340**Genehmigungsmodi** steuern, wie viel menschliche Aufsicht Sie möchten:340**Genehmigungsmodi** steuern, wie viel menschliche Aufsicht Sie möchten:

341 341 

342| Modus | Verhalten | Anwendungsfall |342| Modus | Verhalten | Anwendungsfall |

343| ----------------------- | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |343| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ |

344| `acceptEdits` | Genehmigt Dateibearbeitungen und häufige Dateisystembefehle automatisch, fragt nach anderen Aktionen | Vertrauenswürdige Entwicklungs-Workflows |344| `acceptEdits` | Genehmigt Dateibearbeitungen und häufige Dateisystembefehle automatisch, fragt nach anderen Aktionen | Vertrauenswürdige Entwicklungs-Workflows |

345| `dontAsk` | Lehnt alles ab, das nicht in `allowedTools` enthalten ist | Gesperrte Headless-Agenten |345| `dontAsk` | Lehnt alles ab, das nicht in `allowedTools` enthalten ist | Gesperrte Headless-Agenten |

346| `auto` (nur TypeScript) | Ein Modell-Klassifizierer genehmigt oder lehnt jeden Tool-Aufruf ab | Autonome Agenten mit Sicherheitsvorkehrungen |346| `auto` (nur TypeScript) | Ein Modell-Klassifizierer genehmigt oder lehnt jeden Tool-Aufruf ab | Autonome Agenten mit Sicherheitsvorkehrungen |

347| `bypassPermissions` | Führt jedes Tool ohne Eingabeaufforderungen aus | Sandboxed CI, vollständig vertrauenswürdige Umgebungen |347| `bypassPermissions` | Führt jedes Tool ohne Eingabeaufforderungen aus, es sei denn, eine explizite [`ask`-Regel](/de/agent-sdk/permissions#how-permissions-are-evaluated) stimmt überein | Sandboxed CI, vollständig vertrauenswürdige Umgebungen |

348| `default` | Erfordert einen `canUseTool`-Callback zur Genehmigungsbehandlung | Benutzerdefinierte Genehmigungsabläufe |348| `default` | Erfordert einen `canUseTool`-Callback zur Genehmigungsbehandlung | Benutzerdefinierte Genehmigungsabläufe |

349 349 

350Das obige Beispiel verwendet den `acceptEdits`-Modus, der Dateivorgänge automatisch genehmigt, damit der Agent ohne interaktive Eingabeaufforderungen ausgeführt werden kann. Wenn Sie Benutzer zur Genehmigung auffordern möchten, verwenden Sie den `default`-Modus und stellen Sie einen [`canUseTool`-Callback](/de/agent-sdk/user-input) bereit, der Benutzereingaben sammelt. Für mehr Kontrolle siehe [Berechtigungen](/de/agent-sdk/permissions).350Das obige Beispiel verwendet den `acceptEdits`-Modus, der Dateivorgänge automatisch genehmigt, damit der Agent ohne interaktive Eingabeaufforderungen ausgeführt werden kann. Wenn Sie Benutzer zur Genehmigung auffordern möchten, verwenden Sie den `default`-Modus und stellen Sie einen [`canUseTool`-Callback](/de/agent-sdk/user-input) bereit, der Benutzereingaben sammelt. Für mehr Kontrolle siehe [Berechtigungen](/de/agent-sdk/permissions).

Details

18 Bedrohungsmodell18 Bedrohungsmodell

19</h2>19</h2>

20 20 

21Agenten können unbeabsichtigte Aktionen aufgrund von Prompt-Injection (Anweisungen, die in Inhalte eingebettet sind, die sie verarbeiten) oder Modellfehler durchführen. Claude-Modelle sind so konzipiert, dass sie dagegen resistent sind; siehe die [Modellübersicht](https://platform.claude.com/docs/en/about-claude/models/overview) und die Systemkarte für das Modell, das Sie bereitstellen, für Bewertungsdetails.21Agenten können unbeabsichtigte Aktionen aufgrund von Prompt-Injection (Anweisungen, die in Inhalte eingebettet sind, die sie verarbeiten) oder Modellfehler durchführen. Claude-Modelle sind so konzipiert, dass sie dagegen resistent sind; siehe die [Modellübersicht](https://platform.claude.com/docs/de/about-claude/models/overview) und die Systemkarte für das Modell, das Sie bereitstellen, für Bewertungsdetails.

22 22 

23Verteidigungstiefe ist dennoch eine gute Praxis. Wenn beispielsweise ein Agent eine bösartige Datei verarbeitet, die ihn anweist, Kundendaten an einen externen Server zu senden, können Netzwerkkontrollen diese Anfrage vollständig blockieren.23Verteidigungstiefe ist dennoch eine gute Praxis. Wenn beispielsweise ein Agent eine bösartige Datei verarbeitet, die ihn anweist, Kundendaten an einen externen Server zu senden, können Netzwerkkontrollen diese Anfrage vollständig blockieren.

24 24 

Details

150 ```150 ```

151</CodeGroup>151</CodeGroup>

152 152 

153Die zweite Abfrage gibt eine Zusammenfassung der Dateien aus der ersten Abfrage aus, was zeigt, dass der Agent mit vollständigem Kontext aus dem Store fortgesetzt wurde.

154 

153<h2 id="write-your-own-adapter">155<h2 id="write-your-own-adapter">

154 Schreiben Sie Ihren eigenen Adapter156 Schreiben Sie Ihren eigenen Adapter

155</h2>157</h2>

Details

213* **Erholen Sie sich von einem Limit.** Der erste Durchlauf endete mit `error_max_turns` oder `error_max_budget_usd` (siehe [Verarbeiten Sie das Ergebnis](/de/agent-sdk/agent-loop#handle-the-result)); setzen Sie mit einem höheren Limit fort.213* **Erholen Sie sich von einem Limit.** Der erste Durchlauf endete mit `error_max_turns` oder `error_max_budget_usd` (siehe [Verarbeiten Sie das Ergebnis](/de/agent-sdk/agent-loop#handle-the-result)); setzen Sie mit einem höheren Limit fort.

214* **Starten Sie Ihren Prozess neu.** Sie haben die ID vor dem Herunterfahren erfasst und möchten das Gespräch wiederherstellen.214* **Starten Sie Ihren Prozess neu.** Sie haben die ID vor dem Herunterfahren erfasst und möchten das Gespräch wiederherstellen.

215 215 

216Dieses Beispiel setzt die Sitzung aus [Erfassen Sie die Sitzungs-ID](#capture-the-session-id) mit einem Anschlussfrage fort. Da Sie fortsetzen, hat der Agent die vorherige Analyse bereits im Kontext:216Dieses Beispiel setzt die Sitzung aus [Erfassen Sie die Sitzungs-ID](#capture-the-session-id) mit einer Anschlussfrage fort. Da Sie fortsetzen, hat der Agent die vorherige Analyse bereits im Kontext:

217 217 

218<CodeGroup>218<CodeGroup>

219 ```python Python theme={null}219 ```python Python theme={null}


230 ```230 ```

231 231 

232 ```typescript TypeScript theme={null}232 ```typescript TypeScript theme={null}

233 import { query } from "@anthropic-ai/claude-agent-sdk";

234 

235 const sessionId = "..."; // The ID you captured in the previous example

236 

233 // Earlier session analyzed the code; now build on that analysis237 // Earlier session analyzed the code; now build on that analysis

234 for await (const message of query({238 for await (const message of query({

235 prompt: "Now implement the refactoring you suggested",239 prompt: "Now implement the refactoring you suggested",


245 ```249 ```

246</CodeGroup>250</CodeGroup>

247 251 

252Sie sollten eine Antwort sehen, die auf der früheren Analyse aufbaut, anstatt von vorne zu beginnen. Das bestätigt, dass der Agent die Sitzung mit seinem vorherigen Kontext intakt fortgesetzt hat.

253 

248<Tip>254<Tip>

249 Wenn ein `resume`-Aufruf eine neue Sitzung statt des erwarteten Verlaufs zurückgibt, ist die häufigste Ursache ein nicht übereinstimmendes `cwd`. Sitzungen werden unter `~/.claude/projects/<encoded-cwd>/*.jsonl` gespeichert, wobei `<encoded-cwd>` das absolute Arbeitsverzeichnis mit jedem nicht-alphanumerischen Zeichen ist, das durch `-` ersetzt wird (also `/Users/me/proj` wird zu `-Users-me-proj`). Wenn Ihr Resume-Aufruf aus einem anderen Verzeichnis ausgeführt wird, sucht das SDK am falschen Ort. Die Sitzungsdatei muss auch auf dem aktuellen Computer vorhanden sein.255 Wenn ein `resume`-Aufruf eine neue Sitzung statt des erwarteten Verlaufs zurückgibt, ist die häufigste Ursache ein nicht übereinstimmendes `cwd`. Sitzungen werden unter `~/.claude/projects/<encoded-cwd>/*.jsonl` gespeichert, oder unter `$CLAUDE_CONFIG_DIR/projects/<encoded-cwd>/*.jsonl`, wenn Sie die Umgebungsvariable `CLAUDE_CONFIG_DIR` setzen, wobei `<encoded-cwd>` das absolute Arbeitsverzeichnis mit jedem nicht-alphanumerischen Zeichen ist, das durch `-` ersetzt wird (also `/Users/me/proj` wird zu `-Users-me-proj`). Wenn Ihr Resume-Aufruf aus einem anderen Verzeichnis ausgeführt wird, sucht das SDK am falschen Ort. Die Sitzungsdatei muss auch auf dem aktuellen Computer vorhanden sein.

250</Tip>256</Tip>

251 257 

252Um Sitzungen über Maschinen hinweg oder in serverlosen Umgebungen fortzusetzen, spiegeln Sie Transkripte mit einem [`SessionStore`-Adapter](/de/agent-sdk/session-storage) zu gemeinsam genutztem Speicher.258Um Sitzungen über Maschinen hinweg oder in serverlosen Umgebungen fortzusetzen, spiegeln Sie Transkripte mit einem [`SessionStore`-Adapter](/de/agent-sdk/session-storage) zu gemeinsam genutztem Speicher.


268 # Fork: branch from session_id into a new session274 # Fork: branch from session_id into a new session

269 forked_id = None275 forked_id = None

270 async for message in query(276 async for message in query(

271 prompt="Instead of JWT, implement OAuth2 for the auth module",277 prompt="Instead of JWT, outline how OAuth2 would work for the auth module",

272 options=ClaudeAgentOptions(278 options=ClaudeAgentOptions(

273 resume=session_id,279 resume=session_id,

274 fork_session=True,280 fork_session=True,

281 max_turns=5,

275 ),282 ),

276 ):283 ):

277 if isinstance(message, ResultMessage):284 if isinstance(message, ResultMessage):


291 ```298 ```

292 299 

293 ```typescript TypeScript theme={null}300 ```typescript TypeScript theme={null}

301 import { query } from "@anthropic-ai/claude-agent-sdk";

302 

303 const sessionId = "..."; // The ID you captured in the previous example

304 

294 // Fork: branch from sessionId into a new session305 // Fork: branch from sessionId into a new session

295 let forkedId: string | undefined;306 let forkedId: string | undefined;

296 307 

297 for await (const message of query({308 for await (const message of query({

298 prompt: "Instead of JWT, implement OAuth2 for the auth module",309 prompt: "Instead of JWT, outline how OAuth2 would work for the auth module",

299 options: {310 options: {

300 resume: sessionId,311 resume: sessionId,

301 forkSession: true312 forkSession: true,

313 maxTurns: 5

302 }314 }

303 })) {315 })) {

304 if (message.type === "system" && message.subtype === "init") {316 if (message.type === "system" && message.subtype === "init") {


323 ```335 ```

324</CodeGroup>336</CodeGroup>

325 337 

338Sie sollten sehen, dass sich `forkedId` von der ursprünglichen Sitzungs-ID unterscheidet. Das Fortsetzen der ursprünglichen Sitzung setzt immer noch den JWT-Thread fort, was bestätigt, dass der Fork den ursprünglichen Verlauf nicht geändert hat.

339 

326<h2 id="resume-across-hosts">340<h2 id="resume-across-hosts">

327 Fortsetzen über Hosts hinweg341 Fortsetzen über Hosts hinweg

328</h2>342</h2>

Details

12 12 

13Agent Skills erweitern Claude um spezialisierte Fähigkeiten, die Claude autonom aufruft, wenn relevant. Skills werden als `SKILL.md`-Dateien verpackt, die Anweisungen, Beschreibungen und optionale unterstützende Ressourcen enthalten.13Agent Skills erweitern Claude um spezialisierte Fähigkeiten, die Claude autonom aufruft, wenn relevant. Skills werden als `SKILL.md`-Dateien verpackt, die Anweisungen, Beschreibungen und optionale unterstützende Ressourcen enthalten.

14 14 

15Umfassende Informationen zu Skills, einschließlich Vorteile, Architektur und Authoring-Richtlinien, finden Sie in der [Agent Skills-Übersicht](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview).15Umfassende Informationen zu Skills, einschließlich Vorteile, Architektur und Authoring-Richtlinien, finden Sie in der [Agent Skills-Übersicht](https://platform.claude.com/docs/de/agents-and-tools/agent-skills/overview).

16 16 

17<h2 id="how-skills-work-with-the-sdk">17<h2 id="how-skills-work-with-the-sdk">

18 Wie Skills mit dem SDK funktionieren18 Wie Skills mit dem SDK funktionieren

Details

101 parent_tool_use_id: string | null;101 parent_tool_use_id: string | null;

102 uuid: UUID;102 uuid: UUID;

103 session_id: string;103 session_id: string;

104 ttft_ms?: number; // Time to first token in ms, present only on message_start events

104 };105 };

105 ```106 ```

106</CodeGroup>107</CodeGroup>

Details

218 ```218 ```

219</CodeGroup>219</CodeGroup>

220 220 

221<Note>

222 Im TypeScript SDK endet der Stream mit einem Fehler, der `Claude Code process aborted by user` lautet, wenn Ihr Nachrichtengenerator beispielsweise eine fehlende Datei liest, anstatt den ursprünglichen Fehler anzuzeigen. Überprüfen Sie daher zuerst den Code in Ihrem Generator, wenn Sie diese Meldung sehen. Der Fehler kann auch einer langen verkleinerten Zeile mit gebündeltem SDK-Quellcode vorangehen, daher lesen Sie bis zum Ende der Ausgabe, um den Fehlertext zu finden.

223 

224 Im Python SDK wird eine Generatorausnahme auf Debug-Ebene protokolliert und die Sitzung stellt sich ohne Auslösen ein. Wenn also eine Streaming-Sitzung ohne Ausgabe hängen bleibt, aktivieren Sie Debug-Protokollierung und überprüfen Sie Ihren Generator.

225</Note>

226 

221<h2 id="single-message-input">227<h2 id="single-message-input">

222 Einzelne Nachricht-Eingabe228 Einzelne Nachricht-Eingabe

223</h2>229</h2>


247 * Natürliche Multi-Turn-Gespräche253 * Natürliche Multi-Turn-Gespräche

248</Warning>254</Warning>

249 255 

250<h3 id="implementation-example">256Wenn eine Abfrage mit einem Fehler endet, z. B. `error_max_turns`, löst ein einzelner `query()`-Aufruf einen Fehler aus, der den Fehlertext nach dem Ausgeben der endgültigen Ergebnisnachricht enthält. Wickeln Sie daher die Schleife in einen Try-Block ein, wenn Ihr Code fortgesetzt werden muss. Siehe [Ergebnis verarbeiten](/de/agent-sdk/agent-loop#handle-the-result) für die Ergebnis-Untertypen.

257 

258<h3 id="implementation-example-1">

251 Implementierungsbeispiel259 Implementierungsbeispiel

252</h3>260</h3>

253 261 

Details

245* `type`: Setzen Sie auf `"json_schema"` für strukturierte Ausgaben245* `type`: Setzen Sie auf `"json_schema"` für strukturierte Ausgaben

246* `schema`: Ein [JSON Schema](https://json-schema.org/understanding-json-schema/about)-Objekt, das Ihre Ausgabestruktur definiert. Sie können dies aus einem Zod-Schema mit `z.toJSONSchema()` oder einem Pydantic-Modell mit `.model_json_schema()` generieren246* `schema`: Ein [JSON Schema](https://json-schema.org/understanding-json-schema/about)-Objekt, das Ihre Ausgabestruktur definiert. Sie können dies aus einem Zod-Schema mit `z.toJSONSchema()` oder einem Pydantic-Modell mit `.model_json_schema()` generieren

247 247 

248Das SDK unterstützt Standard-JSON-Schema-Funktionen, einschließlich aller grundlegenden Typen (object, array, string, number, boolean, null), `enum`, `const`, `required`, verschachtelte Objekte und `$ref`-Definitionen. Die vollständige Liste der unterstützten Funktionen und Einschränkungen finden Sie unter [JSON Schema-Einschränkungen](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#json-schema-limitations).248Das SDK unterstützt Standard-JSON-Schema-Funktionen, einschließlich aller grundlegenden Typen (object, array, string, number, boolean, null), `enum`, `const`, `required`, verschachtelte Objekte und `$ref`-Definitionen. Die vollständige Liste der unterstützten Funktionen und Einschränkungen finden Sie unter [JSON Schema-Einschränkungen](https://platform.claude.com/docs/de/build-with-claude/structured-outputs#json-schema-limitations).

249 249 

250<h2 id="example-todo-tracking-agent">250<h2 id="example-todo-tracking-agent">

251 Beispiel: TODO-Tracking-Agent251 Beispiel: TODO-Tracking-Agent


358 Fehlerbehandlung358 Fehlerbehandlung

359</h2>359</h2>

360 360 

361Die Generierung strukturierter Ausgaben kann fehlschlagen, wenn der Agent kein gültiges JSON erzeugen kann, das Ihrem Schema entspricht. Dies geschieht normalerweise, wenn das Schema für die Aufgabe zu komplex ist, die Aufgabe selbst mehrdeutig ist, oder der Agent sein Wiederholungslimit beim Versuch, Validierungsfehler zu beheben, erreicht.361Die Generierung strukturierter Ausgaben kann fehlschlagen, wenn der Agent kein gültiges JSON erzeugen kann, das Ihrem Schema entspricht. Dies geschieht normalerweise, wenn das Schema für die Aufgabe zu komplex ist, die Aufgabe selbst mehrdeutig ist, oder der Agent sein Wiederholungslimit beim Versuch, Validierungsfehler zu beheben, erreicht. Es kann auch ohne Validierungsfehler geschehen: Ein [Modell-Fallback](/de/model-config#automatic-model-fallback) kann eine bereits abgeschlossene Ausgabe mitten im Stream zurückziehen, und wenn kein erfolgreicher Wiederholungsversuch sie ersetzt, endet der Durchlauf mit demselben Fehler. Überprüfen Sie das Feld `errors` der Ergebnismeldung, um die beiden Ursachen auseinanderzuhalten, bevor Sie Ihr Schema debuggen.

362 362 

363Wenn ein Fehler auftritt, hat die Ergebnismeldung einen `subtype`, der angibt, was schief gelaufen ist:363Wenn ein Fehler auftritt, hat die Ergebnismeldung einen `subtype`, der angibt, was schief gelaufen ist:

364 364 

365| Subtype | Bedeutung |365| Subtype | Bedeutung |

366| ------------------------------------- | ------------------------------------------------------------------- |366| ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |

367| `success` | Ausgabe wurde erfolgreich generiert und validiert |367| `success` | Ausgabe wurde erfolgreich generiert und validiert |

368| `error_max_structured_output_retries` | Agent konnte nach mehreren Versuchen keine gültige Ausgabe erzeugen |368| `error_max_structured_output_retries` | Keine gültige Ausgabe überstand mehrere Versuche (Validierungsfehler oder ein Modell-Fallback-Rückzug ohne erfolgreichen Wiederholungsversuch) |

369 369 

370Das folgende Beispiel prüft das Feld `subtype`, um zu bestimmen, ob die Ausgabe erfolgreich generiert wurde oder ob Sie einen Fehler behandeln müssen:370Das folgende Beispiel prüft das Feld `subtype`, um zu bestimmen, ob die Ausgabe erfolgreich generiert wurde oder ob Sie einen Fehler behandeln müssen:

371 371 


382 })) {382 })) {

383 if (msg.type === "result") {383 if (msg.type === "result") {

384 if (msg.subtype === "success" && msg.structured_output) {384 if (msg.subtype === "success" && msg.structured_output) {

385 // Verwenden Sie die validierte Ausgabe385 // Use the validated output

386 console.log(msg.structured_output);386 console.log(msg.structured_output);

387 } else if (msg.subtype === "error_max_structured_output_retries") {387 } else if (msg.subtype === "error_max_structured_output_retries") {

388 // Behandeln Sie den Fehler - Wiederholung mit einfacherem Prompt, Fallback auf unstrukturiert, usw.388 // Handle the failure - retry with simpler prompt, fall back to unstructured, etc.

389 console.error("Could not produce valid output");389 console.error("Could not produce valid output");

390 }390 }

391 }391 }


401 ):401 ):

402 if isinstance(message, ResultMessage):402 if isinstance(message, ResultMessage):

403 if message.subtype == "success" and message.structured_output:403 if message.subtype == "success" and message.structured_output:

404 # Verwenden Sie die validierte Ausgabe404 # Use the validated output

405 print(message.structured_output)405 print(message.structured_output)

406 elif message.subtype == "error_max_structured_output_retries":406 elif message.subtype == "error_max_structured_output_retries":

407 # Behandeln Sie den Fehler407 # Handle the failure

408 print("Could not produce valid output")408 print("Could not produce valid output")

409 ```409 ```

410</CodeGroup>410</CodeGroup>

Details

41 Parallelisierung41 Parallelisierung

42</h3>42</h3>

43 43 

44Mehrere Subagenten können gleichzeitig ausgeführt werden und beschleunigen komplexe Workflows dramatisch.44Mehrere Subagenten können gleichzeitig ausgeführt werden, sodass unabhängige Teilaufgaben in der Zeit des langsamsten statt in der Summe aller abgeschlossen werden.

45 45 

46**Beispiel:** Während einer Code-Überprüfung können Sie die Subagenten `style-checker`, `security-scanner` und `test-coverage` gleichzeitig ausführen und die Überprüfungszeit von Minuten auf Sekunden reduzieren.46**Beispiel:** Während einer Code-Überprüfung können Sie die Subagenten `style-checker`, `security-scanner` und `test-coverage` gleichzeitig ausführen, anstatt sie nacheinander auszuführen.

47 47 

48<h3 id="specialized-instructions-and-knowledge">48<h3 id="specialized-instructions-and-knowledge">

49 Spezialisierte Anweisungen und Wissen49 Spezialisierte Anweisungen und Wissen


178</h3>178</h3>

179 179 

180| Feld | Typ | Erforderlich | Beschreibung |180| Feld | Typ | Erforderlich | Beschreibung |

181| :---------------- | :---------------------------------------------------------- | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |181| :---------------- | :---------------------------------------------------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

182| `description` | `string` | Ja | Natürlichsprachige Beschreibung, wann dieser Agent verwendet werden soll |182| `description` | `string` | Ja | Natürlichsprachige Beschreibung, wann dieser Agent verwendet werden soll |

183| `prompt` | `string` | Ja | Der System-Prompt des Agenten, der seine Rolle und sein Verhalten definiert |183| `prompt` | `string` | Ja | Der System-Prompt des Agenten, der seine Rolle und sein Verhalten definiert |

184| `tools` | `string[]` | Nein | Array von zulässigen Tool-Namen. Falls weggelassen, erbt alle Tools |184| `tools` | `string[]` | Nein | Array von zulässigen Tool-Namen. Falls weggelassen, erbt alle Tools |

185| `disallowedTools` | `string[]` | Nein | Array von Tool-Namen, die aus dem Tool-Set des Agenten entfernt werden sollen |185| `disallowedTools` | `string[]` | Nein | Array von Tool-Namen, die aus dem Tool-Set des Agenten entfernt werden sollen. MCP-Server-Level-Muster werden ebenfalls akzeptiert: `mcp__server` oder `mcp__server__*` entfernt jedes Tool von diesem Server, und `mcp__*` entfernt jedes MCP-Tool von jedem Server |

186| `model` | `string` | Nein | Modell-Override für diesen Agent. Akzeptiert einen Alias wie `'sonnet'`, `'opus'`, `'haiku'`, `'inherit'` oder eine vollständige Modell-ID. Standardmäßig Haupt-Modell, falls weggelassen |186| `model` | `string` | Nein | Modell-Override für diesen Agent. Akzeptiert einen Alias wie `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'` oder eine vollständige Modell-ID. Standardmäßig Haupt-Modell, falls weggelassen |

187| `skills` | `string[]` | Nein | Liste von Skill-Namen, die beim Start in den Kontext des Agenten vorgeladen werden sollen. Nicht aufgelistete Skills bleiben über das Skill-Tool aufrufbar |187| `skills` | `string[]` | Nein | Liste von Skill-Namen, die beim Start in den Kontext des Agenten vorgeladen werden sollen. Nicht aufgelistete Skills bleiben über das Skill-Tool aufrufbar |

188| `memory` | `'user' \| 'project' \| 'local'` | Nein | Speicherquelle für diesen Agent |188| `memory` | `'user' \| 'project' \| 'local'` | Nein | Speicherquelle für diesen Agent |

189| `mcpServers` | `(string \| object)[]` | Nein | MCP-Server, die diesem Agent zur Verfügung stehen, nach Name oder Inline-Konfiguration |189| `mcpServers` | `(string \| object)[]` | Nein | MCP-Server, die diesem Agent zur Verfügung stehen, nach Name oder Inline-Konfiguration |

190| `initialPrompt` | `string` | Nein | Wird automatisch als erster Benutzer-Turn eingereicht, wenn dieser Agent als Haupt-Thread-Agent ausgeführt wird. Wird ignoriert, wenn der Agent als Subagent aufgerufen wird |

190| `maxTurns` | `number` | Nein | Maximale Anzahl von Agent-Turns, bevor der Agent stoppt |191| `maxTurns` | `number` | Nein | Maximale Anzahl von Agent-Turns, bevor der Agent stoppt |

191| `background` | `boolean` | Nein | Führen Sie diesen Agent als nicht-blockierende Hintergrund-Aufgabe aus, wenn er aufgerufen wird |192| `background` | `boolean` | Nein | Führen Sie diesen Agent als nicht-blockierende Hintergrund-Aufgabe aus, wenn er aufgerufen wird |

192| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Nein | Reasoning-Effort-Level für diesen Agent |193| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Nein | Reasoning-Effort-Level für diesen Agent |


195Im Python SDK verwenden diese Feldnamen camelCase, um das Wire-Format zu entsprechen. Siehe die [`AgentDefinition`-Referenz](/de/agent-sdk/python#agentdefinition) für Details.196Im Python SDK verwenden diese Feldnamen camelCase, um das Wire-Format zu entsprechen. Siehe die [`AgentDefinition`-Referenz](/de/agent-sdk/python#agentdefinition) für Details.

196 197 

197<Note>198<Note>

198 Subagenten können keine eigenen Subagenten spawnen. Fügen Sie `Agent` nicht in das `tools`-Array eines Subagenten ein.199 {/* min-version: 2.1.172 */}Ab Claude Code v2.1.172 können Subagenten ihre eigenen Subagenten spawnen. Ein Hintergrund-Subagent fünf Ebenen unter dem Haupt-Agent kann keine weiteren Subagenten spawnen; Vordergrund-Subagenten können in jeder Tiefe spawnen. Um zu verhindern, dass ein Subagent andere spawnt, lassen Sie `Agent` aus seinem `tools`-Array weg oder fügen Sie es zu `disallowedTools` hinzu. Siehe [verschachtelte Subagenten](/de/sub-agents#spawn-nested-subagents) für die vollständigen Tiefenregeln.

199</Note>200</Note>

200 201 

201<h3 id="filesystem-based-definition-alternative">202<h3 id="filesystem-based-definition-alternative">


215Das Kontextfenster eines Subagenten startet frisch (keine übergeordnete Konversation), ist aber nicht leer. Der einzige Kanal vom übergeordneten Agent zum Subagenten ist der Prompt-String des Agent-Tools, daher fügen Sie alle Dateipfade, Fehlermeldungen oder Entscheidungen, die der Subagent benötigt, direkt in diesen Prompt ein.216Das Kontextfenster eines Subagenten startet frisch (keine übergeordnete Konversation), ist aber nicht leer. Der einzige Kanal vom übergeordneten Agent zum Subagenten ist der Prompt-String des Agent-Tools, daher fügen Sie alle Dateipfade, Fehlermeldungen oder Entscheidungen, die der Subagent benötigt, direkt in diesen Prompt ein.

216 217 

217| Der Subagent erhält | Der Subagent erhält nicht |218| Der Subagent erhält | Der Subagent erhält nicht |

218| :------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |219| :-------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |

219| Seinen eigenen System-Prompt (`AgentDefinition.prompt`) und den Prompt des Agent-Tools | Die Konversationshistorie oder Tool-Ergebnisse des übergeordneten Agenten |220| Seinen eigenen System-Prompt (`AgentDefinition.prompt`) und den Prompt des Agent-Tools | Die Konversationshistorie oder Tool-Ergebnisse des übergeordneten Agenten |

220| Projekt CLAUDE.md (geladen über `settingSources`) | Vorgeladener Skill-Inhalt, es sei denn, er ist in `AgentDefinition.skills` aufgelistet |221| Projekt CLAUDE.md (geladen über [`settingSources`](/de/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)) | Vorgeladener Skill-Inhalt, es sei denn, er ist in `AgentDefinition.skills` aufgelistet |

221| Tool-Definitionen (geerbt vom übergeordneten Agent oder die Teilmenge in `tools`) | Der System-Prompt des übergeordneten Agenten |222| Tool-Definitionen (geerbt vom übergeordneten Agent oder die Teilmenge in `tools`) | Der System-Prompt des übergeordneten Agenten |

222 223 

223<Note>224<Note>


336 Der Tool-Name wurde in Claude Code v2.1.63 von `"Task"` zu `"Agent"` umbenannt. Aktuelle SDK-Releases geben `"Agent"` in `tool_use`-Blöcken aus, verwenden aber immer noch `"Task"` in der `system:init`-Tools-Liste und in `result.permission_denials[].tool_name`. Das Überprüfen beider Werte in `block.name` gewährleistet Kompatibilität über SDK-Versionen hinweg.337 Der Tool-Name wurde in Claude Code v2.1.63 von `"Task"` zu `"Agent"` umbenannt. Aktuelle SDK-Releases geben `"Agent"` in `tool_use`-Blöcken aus, verwenden aber immer noch `"Task"` in der `system:init`-Tools-Liste und in `result.permission_denials[].tool_name`. Das Überprüfen beider Werte in `block.name` gewährleistet Kompatibilität über SDK-Versionen hinweg.

337</Note>338</Note>

338 339 

339Dieses Beispiel durchläuft gestreamte Nachrichten und protokolliert, wenn ein Subagent aufgerufen wird und wenn nachfolgende Nachrichten aus dem Ausführungskontext dieses Subagenten stammen.340Die Nachrichtenstruktur unterscheidet sich zwischen SDKs. In Python werden Inhaltsblöcke direkt über `message.content` aufgerufen. In TypeScript umhüllt `SDKAssistantMessage` die Claude API-Nachricht, daher wird auf den Inhalt über `message.message.content` zugegriffen.

340 341 

341<Note>342Dieses Beispiel durchläuft gestreamte Nachrichten und protokolliert, wenn ein Subagent aufgerufen wird und wenn nachfolgende Nachrichten aus dem Ausführungskontext dieses Subagenten stammen.

342 Die Nachrichtenstruktur unterscheidet sich zwischen SDKs. In Python werden Inhaltsblöcke direkt über `message.content` aufgerufen. In TypeScript umhüllt `SDKAssistantMessage` die Claude API-Nachricht, daher wird auf den Inhalt über `message.message.content` zugegriffen.

343</Note>

344 343 

345<CodeGroup>344<CodeGroup>

346 ```python Python theme={null}345 ```python Python theme={null}


427 426 

428Subagenten können fortgesetzt werden, um dort fortzufahren, wo sie aufgehört haben. Fortgesetzte Subagenten behalten ihre vollständige Konversationshistorie, einschließlich aller vorherigen Tool-Aufrufe, Ergebnisse und Reasoning. Der Subagent setzt genau dort an, wo er gestoppt hat, anstatt von vorne zu beginnen.427Subagenten können fortgesetzt werden, um dort fortzufahren, wo sie aufgehört haben. Fortgesetzte Subagenten behalten ihre vollständige Konversationshistorie, einschließlich aller vorherigen Tool-Aufrufe, Ergebnisse und Reasoning. Der Subagent setzt genau dort an, wo er gestoppt hat, anstatt von vorne zu beginnen.

429 428 

430Wenn ein Subagent abgeschlossen ist, erhält Claude seine Agent-ID im Agent-Tool-Ergebnis. Um einen Subagenten programmatisch fortzusetzen:429Wenn ein Subagent abgeschlossen ist, enthält das Agent-Tool-Ergebnis einen Textblock mit `agentId: <id>`. Die integrierten [`Explore`- und `Plan`-Agenten](/de/sub-agents#built-in-subagents) sind einmalig und geben keine `agentId` zurück, daher verwenden Sie einen benutzerdefinierten Agent oder `general-purpose`, wenn Sie fortsetzen müssen. Um einen Subagenten programmatisch fortzusetzen:

431 430 

4321. **Erfassen Sie die Session-ID**: Extrahieren Sie `session_id` aus Nachrichten während der ersten Abfrage4311. **Erfassen Sie die Session-ID**: Extrahieren Sie `session_id` aus Nachrichten während der ersten Abfrage

4332. **Extrahieren Sie die Agent-ID**: Analysieren Sie `agentId` aus dem Nachrichteninhalt4322. **Extrahieren Sie die Agent-ID**: Analysieren Sie `agentId` aus dem Agent-Tool-Ergebnis-Text

4343. **Setzen Sie die Session fort**: Übergeben Sie `resume: sessionId` in den Optionen der zweiten Abfrage und fügen Sie die Agent-ID in Ihren Prompt ein4333. **Setzen Sie die Session fort**: Übergeben Sie `resume: sessionId` in den Optionen der zweiten Abfrage und fügen Sie die Agent-ID in Ihren Prompt ein

435 434 

436<Note>435<Note>

437 Sie müssen dieselbe Session fortsetzen, um auf das Transkript des Subagenten zuzugreifen. Jeder `query()`-Aufruf startet standardmäßig eine neue Session, daher übergeben Sie `resume: sessionId`, um in derselben Session fortzufahren.436 Sie müssen dieselbe Session fortsetzen, um auf das Transkript des Subagenten zuzugreifen. Jeder `query()`-Aufruf startet standardmäßig eine neue Session, daher übergeben Sie `resume: sessionId`, um in derselben Session fortzufahren.

438 437 

439 Wenn Sie einen benutzerdefinierten Agent verwenden (nicht einen integrierten), müssen Sie auch dieselbe Agent-Definition im Parameter `agents` für beide Abfragen übergeben.438 Wenn Sie einen benutzerdefinierten Agent verwenden, übergeben Sie dieselbe Agent-Definition im Parameter `agents` für beide Abfragen.

440</Note>439</Note>

441 440 

442Das folgende Beispiel demonstriert diesen Ablauf: Die erste Abfrage führt einen Subagenten aus und erfasst die Session-ID und Agent-ID, dann setzt die zweite Abfrage die Session fort, um eine Folgefrage zu stellen, die Kontext aus der ersten Analyse erfordert.441Das folgende Beispiel definiert einen benutzerdefinierten `endpoint-finder`-Agent. Die erste Abfrage führt ihn aus und erfasst die Session-ID und Agent-ID aus dem Agent-Tool-Ergebnis, dann setzt die zweite Abfrage die Session fort, um eine Folgefrage zu stellen, die Kontext aus der ersten Analyse erfordert.

443 442 

444<CodeGroup>443<CodeGroup>

445 ```typescript TypeScript theme={null}

446 import { query, type SDKMessage } from "@anthropic-ai/claude-agent-sdk";

447 

448 // Helper to extract agentId from message content

449 // Stringify to avoid traversing different block types (TextBlock, ToolResultBlock, etc.)

450 function extractAgentId(message: SDKMessage): string | undefined {

451 if (message.type !== "assistant" && message.type !== "user") return undefined;

452 // Stringify the content so we can search it without traversing nested blocks

453 const content = JSON.stringify(message.message.content);

454 const match = content.match(/agentId:\s*([a-f0-9-]+)/);

455 return match?.[1];

456 }

457 

458 let agentId: string | undefined;

459 let sessionId: string | undefined;

460 

461 // First invocation - use the Explore agent to find API endpoints

462 for await (const message of query({

463 prompt: "Use the Explore agent to find all API endpoints in this codebase",

464 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"] }

465 })) {

466 // Capture session_id from ResultMessage (needed to resume this session)

467 if ("session_id" in message) sessionId = message.session_id;

468 // Search message content for the agentId (appears in Agent tool results)

469 const extractedId = extractAgentId(message);

470 if (extractedId) agentId = extractedId;

471 // Print the final result

472 if ("result" in message) console.log(message.result);

473 }

474 

475 // Second invocation - resume and ask follow-up

476 if (agentId && sessionId) {

477 for await (const message of query({

478 prompt: `Resume agent ${agentId} and list the top 3 most complex endpoints`,

479 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], resume: sessionId }

480 })) {

481 if ("result" in message) console.log(message.result);

482 }

483 }

484 ```

485 

486 ```python Python theme={null}444 ```python Python theme={null}

487 import asyncio445 import asyncio

488 import json

489 import re446 import re

490 from claude_agent_sdk import query, ClaudeAgentOptions447 from claude_agent_sdk import query, ClaudeAgentOptions, AgentDefinition, ToolResultBlock

448 

449 AGENTS = {

450 "endpoint-finder": AgentDefinition(

451 description="Locates and catalogs API endpoints in a codebase.",

452 prompt="You find and document API endpoints. Report each endpoint's path, method, and handler.",

453 tools=["Read", "Grep", "Glob"],

454 )

455 }

491 456 

492 457 

493 def extract_agent_id(text: str) -> str | None:458 def extract_agent_id(block: ToolResultBlock) -> str | None:

494 """Extract agentId from Agent tool result text."""459 """Extract agentId from an Agent tool result's text content."""

495 match = re.search(r"agentId:\s*([a-f0-9-]+)", text)460 parts = block.content if isinstance(block.content, list) else [{"text": block.content}]

496 return match.group(1) if match else None461 for part in parts:

462 if match := re.search(r"agentId:\s*([\w-]+)", part.get("text") or ""):

463 return match.group(1)

464 return None

497 465 

498 466 

499 async def main():467 async def main():

500 agent_id = None468 agent_id = None

501 session_id = None469 session_id = None

502 470 

503 # First invocation - use the Explore agent to find API endpoints471 # First invocation - run the endpoint-finder subagent

504 async for message in query(472 async for message in query(

505 prompt="Use the Explore agent to find all API endpoints in this codebase",473 prompt="Use the endpoint-finder agent to find all API endpoints in this codebase",

506 options=ClaudeAgentOptions(allowed_tools=["Read", "Grep", "Glob", "Agent"]),474 options=ClaudeAgentOptions(allowed_tools=["Read", "Grep", "Glob", "Agent"], agents=AGENTS),

507 ):475 ):

508 # Capture session_id from ResultMessage (needed to resume this session)476 # Capture session_id from ResultMessage (needed to resume this session)

509 if hasattr(message, "session_id"):477 if hasattr(message, "session_id"):

510 session_id = message.session_id478 session_id = message.session_id

511 # Search message content for the agentId (appears in Agent tool results)479 # Search tool results for the agentId trailer

512 if hasattr(message, "content"):480 for block in getattr(message, "content", None) or []:

513 # Stringify the content so we can search it without traversing nested blocks481 if isinstance(block, ToolResultBlock):

514 content_str = json.dumps(message.content, default=str)482 agent_id = extract_agent_id(block) or agent_id

515 extracted = extract_agent_id(content_str)

516 if extracted:

517 agent_id = extracted

518 # Print the final result483 # Print the final result

519 if hasattr(message, "result"):484 if hasattr(message, "result"):

520 print(message.result)485 print(message.result)


524 async for message in query(489 async for message in query(

525 prompt=f"Resume agent {agent_id} and list the top 3 most complex endpoints",490 prompt=f"Resume agent {agent_id} and list the top 3 most complex endpoints",

526 options=ClaudeAgentOptions(491 options=ClaudeAgentOptions(

527 allowed_tools=["Read", "Grep", "Glob", "Agent"], resume=session_id492 allowed_tools=["Read", "Grep", "Glob", "Agent"], agents=AGENTS, resume=session_id

528 ),493 ),

529 ):494 ):

530 if hasattr(message, "result"):495 if hasattr(message, "result"):


533 498 

534 asyncio.run(main())499 asyncio.run(main())

535 ```500 ```

501 

502 ```typescript TypeScript theme={null}

503 import { query, type SDKMessage } from "@anthropic-ai/claude-agent-sdk";

504 

505 const agents = {

506 "endpoint-finder": {

507 description: "Locates and catalogs API endpoints in a codebase.",

508 prompt: "You find and document API endpoints. Report each endpoint's path, method, and handler.",

509 tools: ["Read", "Grep", "Glob"]

510 }

511 };

512 

513 // Stringify content to search for agentId without traversing nested block types

514 function extractAgentId(message: SDKMessage): string | undefined {

515 if (message.type !== "assistant" && message.type !== "user") return undefined;

516 const content = JSON.stringify(message.message.content);

517 const match = content.match(/agentId:\s*([\w-]+)/);

518 return match?.[1];

519 }

520 

521 let agentId: string | undefined;

522 let sessionId: string | undefined;

523 

524 // First invocation - run the endpoint-finder subagent

525 for await (const message of query({

526 prompt: "Use the endpoint-finder agent to find all API endpoints in this codebase",

527 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], agents }

528 })) {

529 // Capture session_id from ResultMessage (needed to resume this session)

530 if ("session_id" in message) sessionId = message.session_id;

531 // Search message content for the agentId (appears in Agent tool results)

532 const extractedId = extractAgentId(message);

533 if (extractedId) agentId = extractedId;

534 // Print the final result

535 if ("result" in message) console.log(message.result);

536 }

537 

538 // Second invocation - resume and ask follow-up

539 if (agentId && sessionId) {

540 for await (const message of query({

541 prompt: `Resume agent ${agentId} and list the top 3 most complex endpoints`,

542 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], agents, resume: sessionId }

543 })) {

544 if ("result" in message) console.log(message.result);

545 }

546 }

547 ```

536</CodeGroup>548</CodeGroup>

537 549 

538Subagenten-Transkripte bleiben unabhängig von der Hauptkonversation bestehen:550Subagenten-Transkripte bleiben unabhängig von der Hauptkonversation bestehen:


541* **Session-Persistenz**: Subagenten-Transkripte bleiben innerhalb ihrer Session bestehen. Sie können einen Subagenten nach dem Neustart von Claude Code fortsetzen, indem Sie dieselbe Session fortsetzen.553* **Session-Persistenz**: Subagenten-Transkripte bleiben innerhalb ihrer Session bestehen. Sie können einen Subagenten nach dem Neustart von Claude Code fortsetzen, indem Sie dieselbe Session fortsetzen.

542* **Automatische Bereinigung**: Transkripte werden basierend auf der Einstellung `cleanupPeriodDays` bereinigt (Standard: 30 Tage).554* **Automatische Bereinigung**: Transkripte werden basierend auf der Einstellung `cleanupPeriodDays` bereinigt (Standard: 30 Tage).

543 555 

544<h2 id="tool-restrictions">556<h2 id="tool-restrictions-1">

545 Tool-Einschränkungen557 Tool-Einschränkungen

546</h2>558</h2>

547 559 

Details

217| Element-Form: `{ content, status, activeForm }` | `TaskCreate`-Eingabe: `{ subject, description, activeForm?, metadata? }`. `TaskUpdate`-Eingabe: `{ taskId, status?, subject?, description?, activeForm?, addBlocks?, addBlockedBy?, owner?, metadata? }`. `status` ist `"pending"`, `"in_progress"` oder `"completed"`; setzen Sie `status: "deleted"` zum Löschen |217| Element-Form: `{ content, status, activeForm }` | `TaskCreate`-Eingabe: `{ subject, description, activeForm?, metadata? }`. `TaskUpdate`-Eingabe: `{ taskId, status?, subject?, description?, activeForm?, addBlocks?, addBlockedBy?, owner?, metadata? }`. `status` ist `"pending"`, `"in_progress"` oder `"completed"`; setzen Sie `status: "deleted"` zum Löschen |

218| Rendern Sie `block.input.todos` direkt | Sammeln Sie Elemente über Aufrufe hinweg, oder lesen Sie einen Snapshot aus einem `TaskList`-Tool-Ergebnis |218| Rendern Sie `block.input.todos` direkt | Sammeln Sie Elemente über Aufrufe hinweg, oder lesen Sie einen Snapshot aus einem `TaskList`-Tool-Ergebnis |

219 219 

220Die zugewiesene Task-ID befindet sich nicht in der `TaskCreate`-Eingabe. Sie kommt im entsprechenden `tool_result` als `{ task: { id, subject } }` zurück, daher erfassen Sie sie aus dem Ergebnis-Block, um Ihre Zuordnung zu schlüsseln. Das folgende Beispiel zeigt die minimale Änderung an der [Überwachung von Todo-Änderungen](#monitoring-todo-changes)-Schleife. Um eine vollständige Liste zu rendern, beobachten Sie ein `TaskList`-Tool-Ergebnis im Stream oder sammeln Sie `TaskCreate`-Ergebnisse und `TaskUpdate`-Eingaben in einer Zuordnung:220Die zugewiesene Task-ID befindet sich nicht in der `TaskCreate`-Eingabe. Sie kommt im entsprechenden `tool_result` als `{ task: { id, subject } }` zurück, daher erfassen Sie sie aus dem Ergebnis-Block, um Ihre Zuordnung zu schlüsseln. Das folgende Beispiel zeigt die minimale Änderung an der Schleife zur Überwachung von Todo-Änderungen. Um eine vollständige Liste zu rendern, beobachten Sie ein `TaskList`-Tool-Ergebnis im Stream oder sammeln Sie `TaskCreate`-Ergebnisse und `TaskUpdate`-Eingaben in einer Zuordnung.

221 

222Der gestreamte `tool_use`-Input ist die rohe Form, die das Modell ausgegeben hat. Claude Code repariert einige nahezu korrekte, aber fehlerhafte Schlüsselnamen vor der Ausführung, indem es `id` oder `task_id` auf `taskId` und `active_form` auf `activeForm` abbildet, aber diese Reparatur wird nicht im Stream widergespiegelt. Lesen Sie `TaskUpdate`-Eingabefelder defensiv, wie die folgenden Beispiele zeigen, anstatt anzunehmen, dass der kanonische Name immer vorhanden ist.

221 223 

222<CodeGroup>224<CodeGroup>

223 ```typescript TypeScript theme={null}225 ```typescript TypeScript theme={null}


233 const input = block.input as { subject: string };235 const input = block.input as { subject: string };

234 console.log(`+ ${input.subject}`);236 console.log(`+ ${input.subject}`);

235 } else if (block.name === "TaskUpdate") {237 } else if (block.name === "TaskUpdate") {

236 const input = block.input as { taskId: string; status?: string };238 const input = block.input as {

237 if (input.status) console.log(` ${input.taskId} -> ${input.status}`);239 taskId?: string;

240 id?: string;

241 task_id?: string;

242 status?: string;

243 };

244 const taskId = input.taskId ?? input.id ?? input.task_id;

245 if (taskId && input.status) console.log(` ${taskId} -> ${input.status}`);

238 }246 }

239 }247 }

240 }248 }


254 if block.name == "TaskCreate":262 if block.name == "TaskCreate":

255 print(f"+ {block.input['subject']}")263 print(f"+ {block.input['subject']}")

256 elif block.name == "TaskUpdate" and block.input.get("status"):264 elif block.name == "TaskUpdate" and block.input.get("status"):

257 print(f" {block.input['taskId']} -> {block.input['status']}")265 task_id = (

266 block.input.get("taskId")

267 or block.input.get("id")

268 or block.input.get("task_id")

269 )

270 if task_id:

271 print(f" {task_id} -> {block.input['status']}")

258 ```272 ```

259</CodeGroup>273</CodeGroup>

260 274 

Details

100}): Promise<WarmQuery>;100}): Promise<WarmQuery>;

101```101```

102 102 

103<h4 id="parameters">103<h4 id="parameters-1">

104 Parameter104 Parameter

105</h4>105</h4>

106 106 


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

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

111 111 

112<h4 id="returns">112<h4 id="returns-1">

113 Rückgabewert113 Rückgabewert

114</h4>114</h4>

115 115 


149): SdkMcpToolDefinition<Schema>;149): SdkMcpToolDefinition<Schema>;

150```150```

151 151 

152<h4 id="parameters">152<h4 id="parameters-2">

153 Parameter153 Parameter

154</h4>154</h4>

155 155 


204}): McpSdkServerConfigWithInstance;204}): McpSdkServerConfigWithInstance;

205```205```

206 206 

207<h4 id="parameters">207<h4 id="parameters-3">

208 Parameter208 Parameter

209</h4>209</h4>

210 210 


224function listSessions(options?: ListSessionsOptions): Promise<SDKSessionInfo[]>;224function listSessions(options?: ListSessionsOptions): Promise<SDKSessionInfo[]>;

225```225```

226 226 

227<h4 id="parameters">227<h4 id="parameters-4">

228 Parameter228 Parameter

229</h4>229</h4>

230 230 


251| `tag` | `string \| undefined` | Vom Benutzer festgelegtes Sitzungs-Tag (siehe [`tagSession()`](#tagsession)) |251| `tag` | `string \| undefined` | Vom Benutzer festgelegtes Sitzungs-Tag (siehe [`tagSession()`](#tagsession)) |

252| `createdAt` | `number \| undefined` | Erstellungszeit in Millisekunden seit Epoch, vom Zeitstempel des ersten Eintrags |252| `createdAt` | `number \| undefined` | Erstellungszeit in Millisekunden seit Epoch, vom Zeitstempel des ersten Eintrags |

253 253 

254<h4 id="example">254<h4 id="example-1">

255 Beispiel255 Beispiel

256</h4>256</h4>

257 257 


280): Promise<SessionMessage[]>;280): Promise<SessionMessage[]>;

281```281```

282 282 

283<h4 id="parameters">283<h4 id="parameters-5">

284 Parameter284 Parameter

285</h4>285</h4>

286 286 


303| `message` | `unknown` | Rohe Nachricht-Payload aus dem Transkript |303| `message` | `unknown` | Rohe Nachricht-Payload aus dem Transkript |

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

305 305 

306<h4 id="example">306<h4 id="example-2">

307 Beispiel307 Beispiel

308</h4>308</h4>

309 309 


337): Promise<SDKSessionInfo | undefined>;337): Promise<SDKSessionInfo | undefined>;

338```338```

339 339 

340<h4 id="parameters">340<h4 id="parameters-6">

341 Parameter341 Parameter

342</h4>342</h4>

343 343 


362): Promise<void>;362): Promise<void>;

363```363```

364 364 

365<h4 id="parameters">365<h4 id="parameters-7">

366 Parameter366 Parameter

367</h4>367</h4>

368 368 


386): Promise<void>;386): Promise<void>;

387```387```

388 388 

389<h4 id="parameters">389<h4 id="parameters-8">

390 Parameter390 Parameter

391</h4>391</h4>

392 392 


412): Promise<ResolvedSettings>;412): Promise<ResolvedSettings>;

413```413```

414 414 

415<h4 id="parameters">415<h4 id="parameters-9">

416 Parameter416 Parameter

417</h4>417</h4>

418 418 


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

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

439 439 

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

441 Beispiel441 Beispiel

442</h4>442</h4>

443 443 


481| `debug` | `boolean` | `false` | Aktivieren Sie den Debug-Modus für den Claude Code-Prozess |481| `debug` | `boolean` | `false` | Aktivieren Sie den Debug-Modus für den Claude Code-Prozess |

482| `debugFile` | `string` | `undefined` | Schreiben Sie Debug-Protokolle in einen bestimmten Dateipfad. Aktiviert implizit den Debug-Modus |482| `debugFile` | `string` | `undefined` | Schreiben Sie Debug-Protokolle in einen bestimmten Dateipfad. Aktiviert implizit den Debug-Modus |

483| `disallowedTools` | `string[]` | `[]` | 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`. Siehe [Berechtigungen](/de/agent-sdk/permissions#allow-and-deny-rules) |483| `disallowedTools` | `string[]` | `[]` | 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`. Siehe [Berechtigungen](/de/agent-sdk/permissions#allow-and-deny-rules) |

484| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `'high'` | Steuert, wie viel Aufwand Claude in seine Antwort investiert. Funktioniert mit adaptivem Denken, um die Denktiefe zu lenken |484| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | Modell-Standard | Steuert, wie viel Aufwand Claude in seine Antwort investiert. Funktioniert mit adaptivem Denken, um die Denktiefe zu lenken. Siehe [Aufwandsstufe anpassen](/de/model-config#adjust-effort-level) |

485| `enableFileCheckpointing` | `boolean` | `false` | Aktivieren Sie die Dateienänderungsverfolgung zum Zurückspulen. Siehe [Datei-Checkpointing](/de/agent-sdk/file-checkpointing) |485| `enableFileCheckpointing` | `boolean` | `false` | Aktivieren Sie die Dateienänderungsverfolgung zum Zurückspulen. Siehe [Datei-Checkpointing](/de/agent-sdk/file-checkpointing) |

486| `env` | `Record<string, string \| undefined>` | `process.env` | Umgebungsvariablen. Wenn gesetzt, ersetzt dies die Subprocess-Umgebung, anstatt sie mit `process.env` zusammenzuführen. Übergeben Sie daher `{ ...process.env, YOUR_VAR: 'value' }`, um geerbte Variablen wie `PATH` beizubehalten. Siehe [Langsame oder steckengebliebene API-Antworten verarbeiten](#handle-slow-or-stalled-api-responses) für ein Beispiel dieses Musters und [Umgebungsvariablen](/de/env-vars) für Variablen, die die zugrunde liegende CLI liest. Setzen Sie `CLAUDE_AGENT_SDK_CLIENT_APP`, um Ihre App im User-Agent-Header zu identifizieren |486| `env` | `Record<string, string \| undefined>` | `process.env` | Umgebungsvariablen. Wenn gesetzt, ersetzt dies die Subprocess-Umgebung, anstatt sie mit `process.env` zusammenzuführen. Übergeben Sie daher `{ ...process.env, YOUR_VAR: 'value' }`, um geerbte Variablen wie `PATH` beizubehalten. Siehe [Langsame oder steckengebliebene API-Antworten verarbeiten](#handle-slow-or-stalled-api-responses) für ein Beispiel dieses Musters und [Umgebungsvariablen](/de/env-vars) für Variablen, die die zugrunde liegende CLI liest. Setzen Sie `CLAUDE_AGENT_SDK_CLIENT_APP`, um Ihre App im User-Agent-Header zu identifizieren |

487| `executable` | `'bun' \| 'deno' \| 'node'` | Automatisch erkannt | JavaScript-Laufzeit zum Verwenden |487| `executable` | `'bun' \| 'deno' \| 'node'` | Automatisch erkannt | JavaScript-Laufzeit zum Verwenden |


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

500| `maxTurns` | `number` | `undefined` | Maximale agentengesteuerte Turns (Tool-Use-Roundtrips) |500| `maxTurns` | `number` | `undefined` | Maximale agentengesteuerte Turns (Tool-Use-Roundtrips) |

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

502| `model` | `string` | Standard aus CLI | Claude-Modell zum Verwenden |502| `model` | `string` | Standard aus CLI | Claude-Modell-Alias oder vollständiger Modellname. Siehe [akzeptierte Werte und Provider-spezifische IDs](/de/model-config#available-models) |

503| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Callback für die Verarbeitung von MCP-Elicitierungsanfragen. Wird aufgerufen, wenn ein MCP-Server Benutzereingaben anfordert und kein Hook dies zuerst verarbeitet. Wenn nicht bereitgestellt, werden unbehandelte Elicitierungsanfragen automatisch abgelehnt |503| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Callback für die Verarbeitung von MCP-Elicitierungsanfragen. Wird aufgerufen, wenn ein MCP-Server Benutzereingaben anfordert und kein Hook dies zuerst verarbeitet. Wenn nicht bereitgestellt, werden unbehandelte Elicitierungsanfragen automatisch abgelehnt |

504| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Definieren Sie das Ausgabeformat für Agent-Ergebnisse. Siehe [Strukturierte Ausgaben](/de/agent-sdk/structured-outputs) für Details |504| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Definieren Sie das Ausgabeformat für Agent-Ergebnisse. Siehe [Strukturierte Ausgaben](/de/agent-sdk/structured-outputs) für Details |

505| `outputStyle` | `string` | `undefined` | Nicht ein `Options`-Feld. Setzen Sie `outputStyle` im Inline-[`settings`](/de/settings)-Objekt oder einer Einstellungsdatei. Siehe [Aktivieren Sie einen Ausgabestil](/de/agent-sdk/modifying-system-prompts#activate-an-output-style) |505| `outputStyle` | `string` | `undefined` | Nicht ein `Options`-Feld. Setzen Sie `outputStyle` im Inline-[`settings`](/de/settings)-Objekt oder einer Einstellungsdatei. Siehe [Aktivieren Sie einen Ausgabestil](/de/agent-sdk/modifying-system-prompts#activate-an-output-style) |


553* `API_TIMEOUT_MS`: Pro-Request-Timeout auf dem Anthropic-Client in Millisekunden. Standard `600000`. Gilt für die Hauptschleife und alle Subagenten.553* `API_TIMEOUT_MS`: Pro-Request-Timeout auf dem Anthropic-Client in Millisekunden. Standard `600000`. Gilt für die Hauptschleife und alle Subagenten.

554* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`. Jede Wiederholung erhält sein eigenes `API_TIMEOUT_MS`-Fenster, sodass die schlimmste Wandzeit ungefähr `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus Backoff ist.554* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`. Jede Wiederholung erhält sein eigenes `API_TIMEOUT_MS`-Fenster, sodass die schlimmste Wandzeit ungefähr `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus Backoff ist.

555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: Stall-Watchdog für Subagenten, die mit `run_in_background` gestartet werden. Standard `600000`. Setzt sich bei jedem Stream-Ereignis zurück; bei Stall bricht es den Subagenten ab, markiert die Aufgabe als fehlgeschlagen und zeigt den Fehler dem übergeordneten Element mit jedem Teilergebnis. Gilt nicht für synchrone Subagenten.555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: Stall-Watchdog für Subagenten, die mit `run_in_background` gestartet werden. Standard `600000`. Setzt sich bei jedem Stream-Ereignis zurück; bei Stall bricht es den Subagenten ab, markiert die Aufgabe als fehlgeschlagen und zeigt den Fehler dem übergeordneten Element mit jedem Teilergebnis. Gilt nicht für synchrone Subagenten.

556* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Standardmäßig deaktiviert. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Die abgebrochene Anfrage durchläuft den normalen Wiederholungspfad.556* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Wenn `CLAUDE_ENABLE_STREAM_WATCHDOG` nicht gesetzt ist, ist der Standard servergesteuert auf der direkten Anthropic API und auf anderen Providern deaktiviert. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Die abgebrochene Anfrage durchläuft den normalen Wiederholungspfad.

557 557 

558<h3 id="query-object">558<h3 id="query-object">

559 `Query`-Objekt559 `Query`-Objekt


658}658}

659```659```

660 660 

661<h4 id="methods">661<h4 id="methods-1">

662 Methoden662 Methoden

663</h4>663</h4>

664 664 


717```717```

718 718 

719| Feld | Erforderlich | Beschreibung |719| Feld | Erforderlich | Beschreibung |

720| :------------------------------------ | :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |720| :------------------------------------ | :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

721| `description` | Ja | Natürlichsprachige Beschreibung, wann dieser Agent verwendet werden soll |721| `description` | Ja | Natürlichsprachige Beschreibung, wann dieser Agent verwendet werden soll |

722| `tools` | Nein | Array von zulässigen Tool-Namen. Wenn weggelassen, erbt alle Tools vom übergeordneten Element. Um Skills in den Agent-Kontext vorzuladen, verwenden Sie das `skills`-Feld, anstatt `'Skill'` hier aufzulisten |722| `tools` | Nein | Array von zulässigen Tool-Namen. Wenn weggelassen, erbt alle Tools vom übergeordneten Element. Um Skills in den Agent-Kontext vorzuladen, verwenden Sie das `skills`-Feld, anstatt `'Skill'` hier aufzulisten |

723| `disallowedTools` | Nein | Array von Tool-Namen, die für diesen Agent explizit nicht zulässig sind |723| `disallowedTools` | Nein | Array von Tool-Namen, die für diesen Agent explizit nicht zulässig sind. MCP-Server-Level-Muster werden auch akzeptiert: `mcp__server` oder `mcp__server__*` entfernt jedes Tool von diesem Server, und `mcp__*` entfernt jedes MCP-Tool von jedem Server |

724| `prompt` | Ja | Die Systemeingabeaufforderung des Agenten |724| `prompt` | Ja | Die Systemeingabeaufforderung des Agenten |

725| `model` | Nein | Modellüberschreibung für diesen Agenten. Akzeptiert einen Alias wie `'sonnet'`, `'opus'`, `'haiku'`, `'inherit'` oder eine vollständige Modell-ID. Wenn weggelassen oder `'inherit'`, verwendet das Hauptmodell |725| `model` | Nein | Modellüberschreibung für diesen Agenten. Akzeptiert einen Alias wie `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, oder eine vollständige Modell-ID. Wenn weggelassen oder `'inherit'`, verwendet das Hauptmodell |

726| `mcpServers` | Nein | MCP-Server-Spezifikationen für diesen Agenten |726| `mcpServers` | Nein | MCP-Server-Spezifikationen für diesen Agenten |

727| `skills` | Nein | Array von Skill-Namen, die in den Agent-Kontext vorgeladen werden sollen |727| `skills` | Nein | Array von Skill-Namen, die in den Agent-Kontext vorgeladen werden sollen |

728| `initialPrompt` | Nein | Wird automatisch als erster Benutzer-Turn eingereicht, wenn dieser Agent als Hauptthread-Agent ausgeführt wird |728| `initialPrompt` | Nein | Wird automatisch als erster Benutzer-Turn eingereicht, wenn dieser Agent als Hauptthread-Agent ausgeführt wird |


756```756```

757 757 

758| Wert | Beschreibung | Ort |758| Wert | Beschreibung | Ort |

759| :---------- | :----------------------------------------------------- | :---------------------------- |759| :---------- | :------------------------------------------------------- | :---------------------------- |

760| `'user'` | Globale Benutzereinstellungen | `~/.claude/settings.json` |760| `'user'` | Globale Benutzereinstellungen | `~/.claude/settings.json` |

761| `'project'` | Gemeinsame Projekteinstellungen (versionskontrolliert) | `.claude/settings.json` |761| `'project'` | Gemeinsame Projekteinstellungen (versionskontrolliert) | `.claude/settings.json` |

762| `'local'` | Lokale Projekteinstellungen (gitignoriert) | `.claude/settings.local.json` |762| `'local'` | Lokale Projekteinstellungen (nicht versionskontrolliert) | `.claude/settings.local.json` |

763 763 

764<h4 id="default-behavior">764<h4 id="default-behavior">

765 Standardverhalten765 Standardverhalten


874type PermissionMode =874type PermissionMode =

875 | "default" // Standardberechtigungsverhalten875 | "default" // Standardberechtigungsverhalten

876 | "acceptEdits" // Dateibearbeitungen automatisch akzeptieren876 | "acceptEdits" // Dateibearbeitungen automatisch akzeptieren

877 | "bypassPermissions" // Alle Berechtigungsprüfungen umgehen877 | "bypassPermissions" // Alle Berechtigungsprüfungen umgehen; explizite Ask-Regeln werden immer noch aufgefordert

878 | "plan" // Planungsmodus - nur Lesezugriff-Tools878 | "plan" // Planungsmodus - Erkunden ohne Bearbeitung

879 | "dontAsk" // Fragen Sie nicht nach Berechtigungen, verweigern Sie, wenn nicht vorab genehmigt879 | "dontAsk" // Fragen Sie nicht nach Berechtigungen, verweigern Sie, wenn nicht vorab genehmigt

880 | "auto"; // Verwenden Sie einen Modell-Klassifizierer, um jeden Tool-Aufruf zu genehmigen oder zu verweigern880 | "auto"; // Verwenden Sie einen Modell-Klassifizierer, um jeden Tool-Aufruf zu genehmigen oder zu verweigern

881```881```


1035type SdkPluginConfig = {1035type SdkPluginConfig = {

1036 type: "local";1036 type: "local";

1037 path: string;1037 path: string;

1038 skipMcpDiscovery?: boolean;

1038};1039};

1039```1040```

1040 1041 

1041| Feld | Typ | Beschreibung |1042| Feld | Typ | Beschreibung |

1042| :----- | :-------- | :----------------------------------------------------------- |1043| :----------------- | :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1043| `type` | `'local'` | Muss `'local'` sein (derzeit nur lokale Plugins unterstützt) |1044| `type` | `'local'` | Muss `'local'` sein (derzeit nur lokale Plugins unterstützt) |

1044| `path` | `string` | Absoluter oder relativer Pfad zum Plugin-Verzeichnis |1045| `path` | `string` | Absoluter oder relativer Pfad zum Plugin-Verzeichnis |

1046| `skipMcpDiscovery` | `boolean` | Wenn `true`, lädt das SDK Skills, Hooks, Agents und Befehle aus diesem Plugin, liest aber nicht seine `.mcp.json` oder Manifest `mcpServers`. Setzen Sie dies, wenn Ihre Anwendung die MCP-Verbindungen des Plugins besitzt. |

1045 1047 

1046**Beispiel:**1048**Beispiel:**

1047 1049 


1086 | SDKTaskProgressMessage1088 | SDKTaskProgressMessage

1087 | SDKTaskUpdatedMessage1089 | SDKTaskUpdatedMessage

1088 | SDKSessionStateChangedMessage1090 | SDKSessionStateChangedMessage

1091 | SDKWorkerShuttingDownMessage

1089 | SDKCommandsChangedMessage1092 | SDKCommandsChangedMessage

1090 | SDKNotificationMessage1093 | SDKNotificationMessage

1091 | SDKFilesPersistedEvent1094 | SDKFilesPersistedEvent


1096 | SDKPermissionDeniedMessage1099 | SDKPermissionDeniedMessage

1097 | SDKPromptSuggestionMessage1100 | SDKPromptSuggestionMessage

1098 | SDKAPIRetryMessage1101 | SDKAPIRetryMessage

1099 | SDKMirrorErrorMessage;1102 | SDKMirrorErrorMessage

1103 | SDKInformationalMessage;

1100```1104```

1101 1105 

1102<h3 id="sdkassistantmessage">1106<h3 id="sdkassistantmessage">


1183 result: string;1187 result: string;

1184 stop_reason: string | null;1188 stop_reason: string | null;

1185 ttft_ms?: number;1189 ttft_ms?: number;

1190 ttft_stream_ms?: number;

1186 total_cost_usd: number;1191 total_cost_usd: number;

1187 usage: NonNullableUsage;1192 usage: NonNullableUsage;

1188 modelUsage: { [modelName: string]: ModelUsage };1193 modelUsage: { [modelName: string]: ModelUsage };


1221Mehrere Felder im Ergebnis enthalten diagnostische Details über `subtype` hinaus:1226Mehrere Felder im Ergebnis enthalten diagnostische Details über `subtype` hinaus:

1222 1227 

1223* `api_error_status`: Der HTTP-Statuscode des API-Fehlers, der die Konversation beendet hat. Fehlt oder ist `null`, wenn der Turn ohne API-Fehler endete.1228* `api_error_status`: Der HTTP-Statuscode des API-Fehlers, der die Konversation beendet hat. Fehlt oder ist `null`, wenn der Turn ohne API-Fehler endete.

1224* `ttft_ms`: Zeit bis zum ersten Token in Millisekunden. Nur auf dem Success-Arm vorhanden.1229* `ttft_ms`: Zeit bis zum ersten Token in Millisekunden, gemessen, wenn die erste vollständige Assistenten-Nachricht ankommt. Nur auf dem Success-Arm vorhanden.

1230* `ttft_stream_ms`: Zeit in Millisekunden bis zum ersten `message_start`-Stream-Ereignis, wenn der Response-Stream öffnet. Niedriger als `ttft_ms`; die Lücke zwischen den beiden ist die Zeit, die zum Streamen der ersten Nachricht benötigt wird. Nur auf dem Success-Arm vorhanden.

1225* `terminal_reason`: Warum die Schleife endete. Einer von `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"` oder `"model_error"`.1231* `terminal_reason`: Warum die Schleife endete. Einer von `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"` oder `"model_error"`.

1226* `fast_mode_state`: Einer von `"on"`, `"off"` oder `"cooldown"`.1232* `fast_mode_state`: Einer von `"on"`, `"off"` oder `"cooldown"`.

1227 1233 


1273 parent_tool_use_id: string | null;1279 parent_tool_use_id: string | null;

1274 uuid: UUID;1280 uuid: UUID;

1275 session_id: string;1281 session_id: string;

1282 ttft_ms?: number; // Zeit bis zum ersten Token in ms, nur bei message_start-Ereignissen vorhanden

1276};1283};

1277```1284```

1278 1285 


1295};1302};

1296```1303```

1297 1304 

1305<h3 id="sdkinformationalmessage">

1306 `SDKInformationalMessage`

1307</h3>

1308 

1309Generisches Text-Banner, das von der Schleife ausgegeben wird. Enthält nicht-fehlerhafte Statuszeilen, Hook-Feedback wie ein Block-Grund eines `UserPromptSubmit`-Hooks und Befehlsausgabe. Rendern Sie `content` als Klartext auf der angegebenen `level`.

1310 

1311```typescript theme={null}

1312type SDKInformationalMessage = {

1313 type: "system";

1314 subtype: "informational";

1315 content: string;

1316 level: "info" | "notice" | "suggestion" | "warning";

1317 tool_use_id?: string;

1318 prevent_continuation?: boolean;

1319 uuid: UUID;

1320 session_id: string;

1321};

1322```

1323 

1324<h3 id="sdkworkershuttingdownmessage">

1325 `SDKWorkerShuttingDownMessage`

1326</h3>

1327 

1328Wird bei ordnungsgemäßem Herunterfahren des Workers ausgegeben, damit Remote-Clients sehen können, warum der Worker verschwunden ist, anstatt auf Heartbeat-Timeout zu warten. Der `reason` ist eine kurze snake\_case-Zeichenkette, die von der Host-CLI gesetzt wird, z. B. `"host_exit"` oder `"remote_control_disabled"`. Handeln Sie nur dann, wenn Sie live streamen. Eine wiederaufgenommene Sitzung spielt vergangene Instanzen dieser Nachricht ab, also ignorieren Sie sie in diesem Fall.

1329 

1330```typescript theme={null}

1331type SDKWorkerShuttingDownMessage = {

1332 type: "system";

1333 subtype: "worker_shutting_down";

1334 reason: string;

1335 uuid: UUID;

1336 session_id: string;

1337};

1338```

1339 

1298<h3 id="sdkplugininstallmessage">1340<h3 id="sdkplugininstallmessage">

1299 `SDKPluginInstallMessage`1341 `SDKPluginInstallMessage`

1300</h3>1342</h3>


1369type SDKMessageOrigin =1411type SDKMessageOrigin =

1370 | { kind: "human" }1412 | { kind: "human" }

1371 | { kind: "channel"; server: string }1413 | { kind: "channel"; server: string }

1372 | { kind: "peer"; from: string; name?: string }1414 | { kind: "peer"; from: string; name?: string; senderTaskId?: string }

1373 | { kind: "task-notification" }1415 | { kind: "task-notification" }

1374 | { kind: "coordinator" };1416 | { kind: "coordinator" }

1417 | { kind: "auto-continuation" };

1375```1418```

1376 1419 

1377| `kind` | Bedeutung |1420| `kind` | Bedeutung |

1378| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |1421| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1379| `human` | Direkte Eingabe vom Endbenutzer. Bei Benutzer-Nachrichten bedeutet auch eine fehlende `origin` menschliche Eingabe. |1422| `human` | Direkte Eingabe vom Endbenutzer. Bei Benutzer-Nachrichten bedeutet auch eine fehlende `origin` menschliche Eingabe. |

1380| `channel` | Nachricht, die auf einem [Kanal](/de/channels) ankommt. `server` ist der Name des Quell-MCP-Servers. |1423| `channel` | Nachricht, die auf einem [Kanal](/de/channels) ankommt. `server` ist der Name des Quell-MCP-Servers. |

1381| `peer` | Nachricht von einer anderen Agent-Sitzung über `SendMessage`. `from` ist die Absenderadresse; `name` ist der Anzeigename des Absenders, wenn verfügbar. |1424| `peer` | Reserviert für Nachrichten von einer anderen Agent-Sitzung. `from` ist die Absenderadresse und `name` ist der Anzeigename des Absenders, wenn verfügbar. `senderTaskId` ist die Task-ID des In-Process-Background-Subagenten, der die Nachricht gesendet hat; fehlt für Cross-Session-Peers. Das Agent SDK gibt diese Herkunft nicht aus; behandeln Sie sie als unbekannte Herkunft. |

1382| `task-notification` | Synthetischer Turn, der nach Abschluss einer Hintergrund-Aufgabe eingefügt wird. Siehe [`SDKTaskNotificationMessage`](#sdktasknotificationmessage). |1425| `task-notification` | Synthetischer Turn, der nach Abschluss einer Hintergrund-Aufgabe eingefügt wird. Siehe [`SDKTaskNotificationMessage`](#sdktasknotificationmessage). |

1383| `coordinator` | Nachricht von einem Team-Koordinator in einem [Agent-Team](/de/agent-teams). |1426| `coordinator` | Nachricht von einem Team-Koordinator in einem [Agent-Team](/de/agent-teams). |

1427| `auto-continuation` | Synthetischer Turn, der eingefügt wird, wenn die Sitzung ohne neue Benutzereingabe fortgesetzt wird, z. B. ein Befehlsergebnis, das eine Follow-up-Eingabeaufforderung auslöst. |

1384 1428 

1385<h2 id="hook-types">1429<h2 id="hook-types">

1386 Hook-Typen1430 Hook-Typen


1712type TeammateIdleHookInput = BaseHookInput & {1756type TeammateIdleHookInput = BaseHookInput & {

1713 hook_event_name: "TeammateIdle";1757 hook_event_name: "TeammateIdle";

1714 teammate_name: string;1758 teammate_name: string;

1759 /** @deprecated seit v2.1.178. Enthält den von der Sitzung abgeleiteten Teamnamen; wird entfernt. */

1715 team_name: string;1760 team_name: string;

1716};1761};

1717```1762```


1727 task_subject: string;1772 task_subject: string;

1728 task_description?: string;1773 task_description?: string;

1729 teammate_name?: string;1774 teammate_name?: string;

1775 /** @deprecated seit v2.1.178. Enthält den von der Sitzung abgeleiteten Teamnamen; wird entfernt. */

1730 team_name?: string;1776 team_name?: string;

1731};1777};

1732```1778```


1934 description: string;1980 description: string;

1935 prompt: string;1981 prompt: string;

1936 subagent_type: string;1982 subagent_type: string;

1937 model?: "sonnet" | "opus" | "haiku";1983 model?: "sonnet" | "opus" | "haiku" | "fable";

1938 resume?: string;1984 resume?: string;

1939 run_in_background?: boolean;1985 run_in_background?: boolean;

1940 max_turns?: number;1986 max_turns?: number;

1941 name?: string;1987 name?: string;

1942 team_name?: string;

1943 mode?: "acceptEdits" | "bypassPermissions" | "default" | "dontAsk" | "plan";1988 mode?: "acceptEdits" | "bypassPermissions" | "default" | "dontAsk" | "plan";

1944 isolation?: "worktree";1989 isolation?: "worktree";

1945};1990};


2385 | WorkflowOutput;2430 | WorkflowOutput;

2386```2431```

2387 2432 

2388<h3 id="agent">2433<h3 id="agent-1">

2389 Agent2434 Agent

2390</h3>2435</h3>

2391 2436 


2397 status: "completed";2442 status: "completed";

2398 agentId: string;2443 agentId: string;

2399 content: Array<{ type: "text"; text: string }>;2444 content: Array<{ type: "text"; text: string }>;

2445 resolvedModel?: string;

2400 totalToolUseCount: number;2446 totalToolUseCount: number;

2401 totalDurationMs: number;2447 totalDurationMs: number;

2402 totalTokens: number;2448 totalTokens: number;


2421 status: "async_launched";2467 status: "async_launched";

2422 agentId: string;2468 agentId: string;

2423 description: string;2469 description: string;

2470 resolvedModel?: string;

2424 prompt: string;2471 prompt: string;

2425 outputFile: string;2472 outputFile: string;

2426 canReadOutputFile?: boolean;2473 canReadOutputFile?: boolean;


2434 2481 

2435Gibt das Ergebnis vom Subagenten zurück. Diskriminiert nach dem `status`-Feld: `"completed"` für abgeschlossene Aufgaben, `"async_launched"` für Hintergrund-Aufgaben und `"sub_agent_entered"` für interaktive Subagenten.2482Gibt das Ergebnis vom Subagenten zurück. Diskriminiert nach dem `status`-Feld: `"completed"` für abgeschlossene Aufgaben, `"async_launched"` für Hintergrund-Aufgaben und `"sub_agent_entered"` für interaktive Subagenten.

2436 2483 

2437<h3 id="askuserquestion">2484Das Feld `resolvedModel` in den Varianten `completed` und `async_launched` benennt das Modell, auf dem der Subagent tatsächlich ausgeführt wurde, das sich vom angeforderten `model`-Input unterscheiden kann, wenn [`availableModels`](/de/model-config#restrict-model-selection) oder eine andere Überschreibung gilt. {/* min-version: 2.1.174 */}Dieses Feld erfordert Claude Code v2.1.174 oder später.

2485 

2486<h3 id="askuserquestion-1">

2438 AskUserQuestion2487 AskUserQuestion

2439</h3>2488</h3>

2440 2489 


2455 2504 

2456Gibt die gestellten Fragen und die Antworten des Benutzers zurück. `response` wird gesetzt, wenn der Benutzer eine freie Antwort eingegeben hat, anstatt die strukturierten Fragen zu beantworten; wenn vorhanden, erhält Claude „Der Benutzer hat geantwortet: …" anstelle der Pro-Frage-Antworteliste.2505Gibt die gestellten Fragen und die Antworten des Benutzers zurück. `response` wird gesetzt, wenn der Benutzer eine freie Antwort eingegeben hat, anstatt die strukturierten Fragen zu beantworten; wenn vorhanden, erhält Claude „Der Benutzer hat geantwortet: …" anstelle der Pro-Frage-Antworteliste.

2457 2506 

2458<h3 id="bash">2507<h3 id="bash-1">

2459 Bash2508 Bash

2460</h3>2509</h3>

2461 2510 


2480 2529 

2481Gibt Befehlsausgabe mit aufgeteiltem Stdout/Stderr zurück. Hintergrund-Befehle enthalten eine `backgroundTaskId`.2530Gibt Befehlsausgabe mit aufgeteiltem Stdout/Stderr zurück. Hintergrund-Befehle enthalten eine `backgroundTaskId`.

2482 2531 

2483<h3 id="monitor">2532<h3 id="monitor-1">

2484 Monitor2533 Monitor

2485</h3>2534</h3>

2486 2535 


2496 2545 

2497Gibt die Hintergrund-Aufgaben-ID für den laufenden Monitor zurück. Verwenden Sie diese ID mit `TaskStop`, um die Watch früh zu stornieren.2546Gibt die Hintergrund-Aufgaben-ID für den laufenden Monitor zurück. Verwenden Sie diese ID mit `TaskStop`, um die Watch früh zu stornieren.

2498 2547 

2499<h3 id="edit">2548<h3 id="edit-1">

2500 Edit2549 Edit

2501</h3>2550</h3>

2502 2551 


2530 2579 

2531Gibt den strukturierten Diff der Bearbeitungsoperation zurück.2580Gibt den strukturierten Diff der Bearbeitungsoperation zurück.

2532 2581 

2533<h3 id="read">2582<h3 id="read-1">

2534 Read2583 Read

2535</h3>2584</h3>

2536 2585 


2590 2639 

2591Gibt Dateiinhalte in einem Format zurück, das für den Dateityp geeignet ist. Diskriminiert nach dem `type`-Feld.2640Gibt Dateiinhalte in einem Format zurück, das für den Dateityp geeignet ist. Diskriminiert nach dem `type`-Feld.

2592 2641 

2593<h3 id="write">2642<h3 id="write-1">

2594 Write2643 Write

2595</h3>2644</h3>

2596 2645 


2622 2671 

2623Gibt das Schreib-Ergebnis mit strukturierten Diff-Informationen zurück.2672Gibt das Schreib-Ergebnis mit strukturierten Diff-Informationen zurück.

2624 2673 

2625<h3 id="glob">2674<h3 id="glob-1">

2626 Glob2675 Glob

2627</h3>2676</h3>

2628 2677 


2639 2688 

2640Gibt Dateipfade zurück, die dem Glob-Muster entsprechen, sortiert nach Änderungszeit.2689Gibt Dateipfade zurück, die dem Glob-Muster entsprechen, sortiert nach Änderungszeit.

2641 2690 

2642<h3 id="grep">2691<h3 id="grep-1">

2643 Grep2692 Grep

2644</h3>2693</h3>

2645 2694 


2660 2709 

2661Gibt Suchergebnisse zurück. Die Form variiert je nach `mode`: Dateiliste, Inhalt mit Übereinstimmungen oder Übereinstimmungszahlen.2710Gibt Suchergebnisse zurück. Die Form variiert je nach `mode`: Dateiliste, Inhalt mit Übereinstimmungen oder Übereinstimmungszahlen.

2662 2711 

2663<h3 id="taskstop">2712<h3 id="taskstop-1">

2664 TaskStop2713 TaskStop

2665</h3>2714</h3>

2666 2715 


2677 2726 

2678Gibt Bestätigung nach dem Stoppen der Hintergrund-Aufgabe zurück.2727Gibt Bestätigung nach dem Stoppen der Hintergrund-Aufgabe zurück.

2679 2728 

2680<h3 id="notebookedit">2729<h3 id="notebookedit-1">

2681 NotebookEdit2730 NotebookEdit

2682</h3>2731</h3>

2683 2732 


2699 2748 

2700Gibt das Ergebnis der Notebook-Bearbeitung mit ursprünglichen und aktualisierten Dateiinhalten zurück.2749Gibt das Ergebnis der Notebook-Bearbeitung mit ursprünglichen und aktualisierten Dateiinhalten zurück.

2701 2750 

2702<h3 id="webfetch">2751<h3 id="webfetch-1">

2703 WebFetch2752 WebFetch

2704</h3>2753</h3>

2705 2754 


2718 2767 

2719Gibt den abgerufenen Inhalt mit HTTP-Status und Metadaten zurück.2768Gibt den abgerufenen Inhalt mit HTTP-Status und Metadaten zurück.

2720 2769 

2721<h3 id="websearch">2770<h3 id="websearch-1">

2722 WebSearch2771 WebSearch

2723</h3>2772</h3>

2724 2773 


2740 2789 

2741Gibt Suchergebnisse aus dem Web zurück.2790Gibt Suchergebnisse aus dem Web zurück.

2742 2791 

2743<h3 id="workflow">2792<h3 id="workflow-1">

2744 Workflow2793 Workflow

2745</h3>2794</h3>

2746 2795 


2770| `scriptPath` | `string` | Pfad zum persistierten Workflow-Skript für diesen Lauf. Bearbeiten Sie es und übergeben Sie es als `scriptPath`, um es erneut auszuführen, ohne das Skript erneut zu senden |2819| `scriptPath` | `string` | Pfad zum persistierten Workflow-Skript für diesen Lauf. Bearbeiten Sie es und übergeben Sie es als `scriptPath`, um es erneut auszuführen, ohne das Skript erneut zu senden |

2771| `error` | `string` | Wird gesetzt, wenn das Skript seine Syntaxprüfung nicht besteht. Wenn vorhanden, wurde der Lauf trotz des `async_launched`-Status nicht gestartet |2820| `error` | `string` | Wird gesetzt, wenn das Skript seine Syntaxprüfung nicht besteht. Wenn vorhanden, wurde der Lauf trotz des `async_launched`-Status nicht gestartet |

2772 2821 

2773<h3 id="todowrite">2822<h3 id="todowrite-1">

2774 TodoWrite2823 TodoWrite

2775</h3>2824</h3>

2776 2825 


2797 Ab TypeScript Agent SDK 0.3.142 ist `TodoWrite` standardmäßig deaktiviert. Verwenden Sie stattdessen `TaskCreate`, `TaskGet`, `TaskUpdate` und `TaskList`. Siehe [Zu Task-Tools migrieren](/de/agent-sdk/todo-tracking#migrate-to-task-tools), um Ihren Überwachungscode zu aktualisieren, oder setzen Sie `CLAUDE_CODE_ENABLE_TASKS=0`, um zu `TodoWrite` zurückzukehren.2846 Ab TypeScript Agent SDK 0.3.142 ist `TodoWrite` standardmäßig deaktiviert. Verwenden Sie stattdessen `TaskCreate`, `TaskGet`, `TaskUpdate` und `TaskList`. Siehe [Zu Task-Tools migrieren](/de/agent-sdk/todo-tracking#migrate-to-task-tools), um Ihren Überwachungscode zu aktualisieren, oder setzen Sie `CLAUDE_CODE_ENABLE_TASKS=0`, um zu `TodoWrite` zurückzukehren.

2798</Note>2847</Note>

2799 2848 

2800<h3 id="taskcreate">2849<h3 id="taskcreate-1">

2801 TaskCreate2850 TaskCreate

2802</h3>2851</h3>

2803 2852 


2814 2863 

2815Gibt die erstellte Aufgabe mit ihrer zugewiesenen ID zurück.2864Gibt die erstellte Aufgabe mit ihrer zugewiesenen ID zurück.

2816 2865 

2817<h3 id="taskupdate">2866<h3 id="taskupdate-1">

2818 TaskUpdate2867 TaskUpdate

2819</h3>2868</h3>

2820 2869 


2835 2884 

2836Gibt das Aktualisierungsergebnis zurück, einschließlich welche Felder sich geändert haben.2885Gibt das Aktualisierungsergebnis zurück, einschließlich welche Felder sich geändert haben.

2837 2886 

2838<h3 id="taskget">2887<h3 id="taskget-1">

2839 TaskGet2888 TaskGet

2840</h3>2889</h3>

2841 2890 


2856 2905 

2857Gibt den vollständigen Aufgabendatensatz zurück oder `null`, wenn die ID nicht gefunden wird.2906Gibt den vollständigen Aufgabendatensatz zurück oder `null`, wenn die ID nicht gefunden wird.

2858 2907 

2859<h3 id="tasklist">2908<h3 id="tasklist-1">

2860 TaskList2909 TaskList

2861</h3>2910</h3>

2862 2911 


2876 2925 

2877Gibt einen Snapshot aller Aufgaben in der aktuellen Liste zurück.2926Gibt einen Snapshot aller Aufgaben in der aktuellen Liste zurück.

2878 2927 

2879<h3 id="exitplanmode">2928<h3 id="exitplanmode-1">

2880 ExitPlanMode2929 ExitPlanMode

2881</h3>2930</h3>

2882 2931 


2895 2944 

2896Gibt den Planzustand nach dem Beenden des Planungsmodus zurück.2945Gibt den Planzustand nach dem Beenden des Planungsmodus zurück.

2897 2946 

2898<h3 id="listmcpresources">2947<h3 id="listmcpresources-1">

2899 ListMcpResources2948 ListMcpResources

2900</h3>2949</h3>

2901 2950 


2913 2962 

2914Gibt ein Array verfügbarer MCP-Ressourcen zurück.2963Gibt ein Array verfügbarer MCP-Ressourcen zurück.

2915 2964 

2916<h3 id="readmcpresource">2965<h3 id="readmcpresource-1">

2917 ReadMcpResource2966 ReadMcpResource

2918</h3>2967</h3>

2919 2968 


2931 2980 

2932Gibt die Inhalte der angeforderten MCP-Ressource zurück.2981Gibt die Inhalte der angeforderten MCP-Ressource zurück.

2933 2982 

2934<h3 id="enterworktree">2983<h3 id="enterworktree-1">

2935 EnterWorktree2984 EnterWorktree

2936</h3>2985</h3>

2937 2986 


3010type PermissionUpdateDestination =3059type PermissionUpdateDestination =

3011 | "userSettings" // Globale Benutzereinstellungen3060 | "userSettings" // Globale Benutzereinstellungen

3012 | "projectSettings" // Pro-Verzeichnis-Projekteinstellungen3061 | "projectSettings" // Pro-Verzeichnis-Projekteinstellungen

3013 | "localSettings" // Gitignorierte lokale Einstellungen3062 | "localSettings" // Lokale Projekteinstellungen

3014 | "session" // Nur aktuelle Sitzung3063 | "session" // Nur aktuelle Sitzung

3015 | "cliArg"; // CLI-Argument3064 | "cliArg"; // CLI-Argument

3016```3065```


3049```3098```

3050 3099 

3051<Warning>3100<Warning>

3052 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 Sonnet 4.6, Claude Opus 4.6 oder Claude Opus 4.7](https://platform.claude.com/docs/de/about-claude/models/overview), die 1M-Kontext zu Standardpreisen ohne Beta-Header enthalten.3101 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 Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 oder Claude Opus 4.8](https://platform.claude.com/docs/de/about-claude/models/overview), die 1M-Kontext zu Standardpreisen ohne Beta-Header enthalten.

3053</Warning>3102</Warning>

3054 3103 

3055<h3 id="slashcommand">3104<h3 id="slashcommand">


3241```typescript theme={null}3290```typescript theme={null}

3242type CallToolResult = {3291type CallToolResult = {

3243 content: Array<{3292 content: Array<{

3244 type: "text" | "image" | "resource";3293 type: "text" | "image" | "audio" | "resource" | "resource_link";

3245 // Zusätzliche Felder variieren je nach Typ3294 // Zusätzliche Felder variieren je nach Typ

3246 }>;3295 }>;

3247 structuredContent?: Record<string, unknown>;3296 structuredContent?: Record<string, unknown>;

Details

16 16 

17Diese Anleitung zeigt Ihnen, wie Sie jeden Anforderungstyp erkennen und angemessen reagieren.17Diese Anleitung zeigt Ihnen, wie Sie jeden Anforderungstyp erkennen und angemessen reagieren.

18 18 

19## Erkennen Sie, wenn Claude Eingaben benötigt19<h2 id="detect-when-claude-needs-input">

20 Erkennen Sie, wenn Claude Eingaben benötigt

21</h2>

20 22 

21Übergeben Sie einen `canUseTool`-Callback in Ihren Abfrageoptionen. Der Callback wird ausgelöst, wenn Claude Benutzereingaben benötigt, und erhält den Tool-Namen und die Eingabe als Argumente:23Übergeben Sie einen `canUseTool`-Callback in Ihren Abfrageoptionen. Der Callback wird ausgelöst, wenn Claude Benutzereingaben benötigt, und erhält den Tool-Namen und die Eingabe als Argumente:

22 24 


49 Um Tools automatisch zuzulassen oder abzulehnen, ohne Benutzer zu fragen, verwenden Sie stattdessen [Hooks](/de/agent-sdk/hooks). Hooks werden vor `canUseTool` ausgeführt und können Anfragen basierend auf Ihrer eigenen Logik zulassen, ablehnen oder ändern. Sie können auch den [`PermissionRequest`-Hook](/de/agent-sdk/hooks#available-hooks) verwenden, um externe Benachrichtigungen (Slack, E-Mail, Push) zu senden, wenn Claude auf Genehmigung wartet.51 Um Tools automatisch zuzulassen oder abzulehnen, ohne Benutzer zu fragen, verwenden Sie stattdessen [Hooks](/de/agent-sdk/hooks). Hooks werden vor `canUseTool` ausgeführt und können Anfragen basierend auf Ihrer eigenen Logik zulassen, ablehnen oder ändern. Sie können auch den [`PermissionRequest`-Hook](/de/agent-sdk/hooks#available-hooks) verwenden, um externe Benachrichtigungen (Slack, E-Mail, Push) zu senden, wenn Claude auf Genehmigung wartet.

50</Note>52</Note>

51 53 

52## Tool-Genehmigungsanfragen verarbeiten54<h2 id="handle-tool-approval-requests">

55 Tool-Genehmigungsanfragen verarbeiten

56</h2>

53 57 

54Nachdem Sie einen `canUseTool`-Callback in Ihren Abfrageoptionen übergeben haben, wird er ausgelöst, wenn Claude ein Tool verwenden möchte, das nicht automatisch genehmigt ist. Ihr Callback erhält drei Argumente:58Nachdem Sie einen `canUseTool`-Callback in Ihren Abfrageoptionen übergeben haben, wird er ausgelöst, wenn Claude ein Tool verwenden möchte, das nicht automatisch genehmigt ist. Ihr Callback erhält drei Argumente:

55 59 


197 201 

198Dieses Beispiel verwendet einen `y/n`-Ablauf, bei dem jede Eingabe außer `y` als Ablehnung behandelt wird. In der Praxis könnten Sie eine umfangreichere Benutzeroberfläche erstellen, die es Benutzern ermöglicht, die Anfrage zu ändern, Feedback zu geben oder Claude vollständig umzuleiten. Siehe [Auf Tool-Anfragen reagieren](#respond-to-tool-requests) für alle Möglichkeiten, wie Sie reagieren können.202Dieses Beispiel verwendet einen `y/n`-Ablauf, bei dem jede Eingabe außer `y` als Ablehnung behandelt wird. In der Praxis könnten Sie eine umfangreichere Benutzeroberfläche erstellen, die es Benutzern ermöglicht, die Anfrage zu ändern, Feedback zu geben oder Claude vollständig umzuleiten. Siehe [Auf Tool-Anfragen reagieren](#respond-to-tool-requests) für alle Möglichkeiten, wie Sie reagieren können.

199 203 

200### Auf Tool-Anfragen reagieren204<h3 id="respond-to-tool-requests">

205 Auf Tool-Anfragen reagieren

206</h3>

201 207 

202Ihr Callback gibt einen von zwei Antworttypen zurück:208Ihr Callback gibt einen von zwei Antworttypen zurück:

203 209 


407 </Tab>413 </Tab>

408</Tabs>414</Tabs>

409 415 

410## Klärungsfragen verarbeiten416<h2 id="handle-clarifying-questions">

417 Klärungsfragen verarbeiten

418</h2>

411 419 

412Wenn Claude mehr Anleitung zu einer Aufgabe mit mehreren gültigen Ansätzen benötigt, ruft es das `AskUserQuestion`-Tool auf. Dies löst Ihren `canUseTool`-Callback mit `toolName` auf `AskUserQuestion` aus. Die Eingabe enthält Claudes Fragen als Multiple-Choice-Optionen, die Sie dem Benutzer anzeigen und deren Auswahl zurückgeben.420Wenn Claude mehr Anleitung zu einer Aufgabe mit mehreren gültigen Ansätzen benötigt, ruft es das `AskUserQuestion`-Tool auf. Dies löst Ihren `canUseTool`-Callback mit `toolName` auf `AskUserQuestion` aus. Die Eingabe enthält Claudes Fragen als Multiple-Choice-Optionen, die Sie dem Benutzer anzeigen und deren Auswahl zurückgeben.

413 421 


551 </Step>559 </Step>

552</Steps>560</Steps>

553 561 

554### Frageformat562<h3 id="question-format">

563 Frageformat

564</h3>

555 565 

556Die Eingabe enthält Claudes generierte Fragen in einem `questions`-Array. Jede Frage hat diese Felder:566Die Eingabe enthält Claudes generierte Fragen in einem `questions`-Array. Jede Frage hat diese Felder:

557 567 

558| Feld | Beschreibung |568| Feld | Beschreibung |

559| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |569| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |

560| `question` | Der vollständige Fragetext zum Anzeigen |570| `question` | Der vollständige Fragetext zum Anzeigen |

561| `header` | Kurzes Label für die Frage (max. 12 Zeichen) |571| `header` | Kurzes Label für die Frage (max. 12 Zeichen) |

562| `options` | Array von 2-4 Auswahlmöglichkeiten, jeweils mit `label` und `description`. TypeScript: optional `preview` (siehe [unten](#option-previews-type-script)) |572| `options` | Array von 2-4 Auswahlmöglichkeiten, jeweils mit `label` und `description`. TypeScript: optional `preview` (siehe [unten](#option-previews-typescript)) |

563| `multiSelect` | Wenn `true`, können Benutzer mehrere Optionen auswählen |573| `multiSelect` | Wenn `true`, können Benutzer mehrere Optionen auswählen |

564 574 

565Die Struktur, die Ihr Callback erhält:575Die Struktur, die Ihr Callback erhält:


580}590}

581```591```

582 592 

583#### Optionsvorschau (TypeScript)593<h4 id="option-previews-typescript">

594 Optionsvorschau (TypeScript)

595</h4>

584 596 

585`toolConfig.askUserQuestion.previewFormat` fügt jedem Option ein `preview`-Feld hinzu, damit Ihre App ein visuelles Mockup neben dem Label anzeigen kann. Ohne diese Einstellung generiert Claude keine Vorschau und das Feld ist nicht vorhanden.597`toolConfig.askUserQuestion.previewFormat` fügt jedem Option ein `preview`-Feld hinzu, damit Ihre App ein visuelles Mockup neben dem Label anzeigen kann. Ohne diese Einstellung generiert Claude keine Vorschau und das Feld ist nicht vorhanden.

586 598 


621}633}

622```634```

623 635 

624### Antwortformat636<h3 id="response-format">

637 Antwortformat

638</h3>

625 639 

626Geben Sie ein `answers`-Objekt zurück, das jedes `question`-Feld der Frage dem `label` der ausgewählten Option zuordnet:640Geben Sie ein `answers`-Objekt zurück, das jedes `question`-Feld der Frage dem `label` der ausgewählten Option zuordnet:

627 641 


645}659}

646```660```

647 661 

648#### Unterstützen Sie freie Texteingabe662<h4 id="support-free-text-input">

663 Unterstützen Sie freie Texteingabe

664</h4>

649 665 

650Claudes vordefinierte Optionen decken nicht immer ab, was Benutzer möchten. Um Benutzern zu ermöglichen, ihre eigene Antwort einzugeben:666Claudes vordefinierte Optionen decken nicht immer ab, was Benutzer möchten. Um Benutzern zu ermöglichen, ihre eigene Antwort einzugeben:

651 667 


654 670 

655Siehe das [vollständige Beispiel](#complete-example) unten für eine vollständige Implementierung.671Siehe das [vollständige Beispiel](#complete-example) unten für eine vollständige Implementierung.

656 672 

657### Vollständiges Beispiel673<h3 id="complete-example">

674 Vollständiges Beispiel

675</h3>

658 676 

659Claude stellt Klärungsfragen, wenn er Benutzereingaben benötigt, um fortzufahren. Wenn Claude beispielsweise aufgefordert wird, bei der Entscheidung über einen Tech-Stack für eine mobile App zu helfen, könnte Claude Fragen zu Cross-Platform vs. Native, Backend-Vorlieben oder Zielplattformen stellen. Diese Fragen helfen Claude, Entscheidungen zu treffen, die den Vorlieben des Benutzers entsprechen, anstatt zu raten.677Claude stellt Klärungsfragen, wenn er Benutzereingaben benötigt, um fortzufahren. Wenn Claude beispielsweise aufgefordert wird, bei der Entscheidung über einen Tech-Stack für eine mobile App zu helfen, könnte Claude Fragen zu Cross-Platform vs. Native, Backend-Vorlieben oder Zielplattformen stellen. Diese Fragen helfen Claude, Entscheidungen zu treffen, die den Vorlieben des Benutzers entsprechen, anstatt zu raten.

660 678 


821 ```839 ```

822</CodeGroup>840</CodeGroup>

823 841 

824## Einschränkungen842<h2 id="limitations">

843 Einschränkungen

844</h2>

825 845 

826* **Subagenten**: `AskUserQuestion` ist derzeit nicht in Subagenten verfügbar, die über das Agent-Tool erzeugt werden846* **Subagenten**: `AskUserQuestion` ist derzeit nicht in Subagenten verfügbar, die über das Agent-Tool erzeugt werden

827* **Fragenlimits**: Jeder `AskUserQuestion`-Aufruf unterstützt 1-4 Fragen mit jeweils 2-4 Optionen847* **Fragenlimits**: Jeder `AskUserQuestion`-Aufruf unterstützt 1-4 Fragen mit jeweils 2-4 Optionen

828 848 

829## Andere Möglichkeiten, Benutzereingaben zu erhalten849<h2 id="other-ways-to-get-user-input">

850 Andere Möglichkeiten, Benutzereingaben zu erhalten

851</h2>

830 852 

831Der `canUseTool`-Callback und das `AskUserQuestion`-Tool decken die meisten Genehmigungs- und Klärungsszenarien ab, aber das SDK bietet andere Möglichkeiten, Eingaben von Benutzern zu erhalten:853Der `canUseTool`-Callback und das `AskUserQuestion`-Tool decken die meisten Genehmigungs- und Klärungsszenarien ab, aber das SDK bietet andere Möglichkeiten, Eingaben von Benutzern zu erhalten:

832 854 

833### Streaming-Eingabe855<h3 id="streaming-input">

856 Streaming-Eingabe

857</h3>

834 858 

835Verwenden Sie [Streaming-Eingabe](/de/agent-sdk/streaming-vs-single-mode), wenn Sie:859Verwenden Sie [Streaming-Eingabe](/de/agent-sdk/streaming-vs-single-mode), wenn Sie:

836 860 


840 864 

841Streaming-Eingabe ist ideal für Konversations-UIs, bei denen Benutzer während der Ausführung mit dem Agent interagieren, nicht nur bei Genehmigungsprüfpunkten.865Streaming-Eingabe ist ideal für Konversations-UIs, bei denen Benutzer während der Ausführung mit dem Agent interagieren, nicht nur bei Genehmigungsprüfpunkten.

842 866 

843### Benutzerdefinierte Tools867<h3 id="custom-tools">

868 Benutzerdefinierte Tools

869</h3>

844 870 

845Verwenden Sie [benutzerdefinierte Tools](/de/agent-sdk/custom-tools), wenn Sie:871Verwenden Sie [benutzerdefinierte Tools](/de/agent-sdk/custom-tools), wenn Sie:

846 872 


850 876 

851Benutzerdefinierte Tools geben Ihnen vollständige Kontrolle über die Interaktion, erfordern aber mehr Implementierungsarbeit als die Verwendung des integrierten `canUseTool`-Callbacks.877Benutzerdefinierte Tools geben Ihnen vollständige Kontrolle über die Interaktion, erfordern aber mehr Implementierungsarbeit als die Verwendung des integrierten `canUseTool`-Callbacks.

852 878 

853## Verwandte Ressourcen879<h2 id="related-resources">

880 Verwandte Ressourcen

881</h2>

854 882 

855* [Berechtigungen konfigurieren](/de/agent-sdk/permissions): Richten Sie Berechtigungsmodi und -regeln ein883* [Berechtigungen konfigurieren](/de/agent-sdk/permissions): Richten Sie Berechtigungsmodi und -regeln ein

856* [Ausführung mit Hooks steuern](/de/agent-sdk/hooks): Führen Sie benutzerdefinierten Code an Schlüsselpunkten im Agent-Lebenszyklus aus884* [Ausführung mit Hooks steuern](/de/agent-sdk/hooks): Führen Sie benutzerdefinierten Code an Schlüsselpunkten im Agent-Lebenszyklus aus

agent-teams.md +29 −41

Details

7> Koordinieren Sie mehrere Claude Code-Instanzen, die zusammen als Team arbeiten, mit gemeinsamen Aufgaben, Messaging zwischen Agenten und zentraler Verwaltung.7> Koordinieren Sie mehrere Claude Code-Instanzen, die zusammen als Team arbeiten, mit gemeinsamen Aufgaben, Messaging zwischen Agenten und zentraler Verwaltung.

8 8 

9<Warning>9<Warning>

10 Agent-Teams sind experimentell und standardmäßig deaktiviert. Aktivieren Sie sie, indem Sie `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` zu Ihrer [settings.json](/de/settings) oder Umgebung hinzufügen. Agent-Teams haben [bekannte Einschränkungen](#limitations) bezüglich Sitzungswiederaufnahme, Aufgabenkoordination und Abschaltungsverhalten.10 Agent-Teams sind experimentell und standardmäßig deaktiviert. Aktivieren Sie sie, indem Sie `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` zu Ihrer [settings.json](/de/settings) oder Umgebung hinzufügen. Ohne diese Variable wird kein Team beim Sitzungsstart eingerichtet, keine Team-Verzeichnisse werden geschrieben, und Claude spawnt oder schlägt keine Teammates vor. Agent-Teams haben [bekannte Einschränkungen](#limitations) bezüglich Sitzungswiederaufnahme, Aufgabenkoordination und Abschaltungsverhalten.

11</Warning>11</Warning>

12 12 

13Agent-Teams ermöglichen es Ihnen, mehrere Claude Code-Instanzen zu koordinieren, die zusammenarbeiten. Eine Sitzung fungiert als Team-Lead und koordiniert die Arbeit, weist Aufgaben zu und synthetisiert Ergebnisse. Teammates arbeiten unabhängig, jeder in seinem eigenen Kontextfenster, und kommunizieren direkt miteinander.13Agent-Teams ermöglichen es Ihnen, mehrere Claude Code-Instanzen zu koordinieren, die zusammenarbeiten. Eine Sitzung fungiert als Team-Lead und koordiniert die Arbeit, weist Aufgaben zu und synthetisiert Ergebnisse. Teammates arbeiten unabhängig, jeder in seinem eigenen Kontextfenster, und kommunizieren direkt miteinander.


15Im Gegensatz zu [subagents](/de/sub-agents), die innerhalb einer einzelnen Sitzung ausgeführt werden und nur an den Hauptagenten berichten können, können Sie auch direkt mit einzelnen Teammates interagieren, ohne den Lead einzubeziehen.15Im Gegensatz zu [subagents](/de/sub-agents), die innerhalb einer einzelnen Sitzung ausgeführt werden und nur an den Hauptagenten berichten können, können Sie auch direkt mit einzelnen Teammates interagieren, ohne den Lead einzubeziehen.

16 16 

17<Note>17<Note>

18 Agent-Teams erfordern Claude Code v2.1.32 oder später. Überprüfen Sie Ihre Version mit `claude --version`.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](/de/hooks#taskcreated) trägt den sitzungsabgeleiteten Namen und ist veraltet.

19</Note>19</Note>

20 20 

21Diese Seite behandelt:21Diese Seite behandelt:


78 Starten Sie Ihr erstes Agent-Team78 Starten Sie Ihr erstes Agent-Team

79</h2>79</h2>

80 80 

81Nach der Aktivierung von Agent-Teams teilen Sie Claude mit, dass Sie ein Agent-Team erstellen möchten, und beschreiben Sie die Aufgabe und die gewünschte Teamstruktur in natürlicher Sprache. Claude erstellt das Team, erzeugt Teammates und koordiniert die Arbeit basierend auf Ihrem Prompt.81Nach der Aktivierung von Agent-Teams beschreiben Sie die Aufgabe und die Teammates, die Sie möchten, in natürlicher Sprache. Claude erzeugt sie und koordiniert die Arbeit basierend auf Ihrem Prompt.

82 82 

83Dieses Beispiel funktioniert gut, weil die drei Rollen unabhängig sind und das Problem erkunden können, ohne aufeinander zu warten:83Dieses Beispiel funktioniert gut, weil die drei Rollen unabhängig sind und das Problem erkunden können, ohne aufeinander zu warten:

84 84 

85```text theme={null}85```text theme={null}

86I'm designing a CLI tool that helps developers track TODO comments across86I'm designing a CLI tool that helps developers track TODO comments across

87their codebase. Create an agent team to explore this from different angles: one87their codebase. Spawn three teammates to explore this from different angles:

88teammate on UX, one on technical architecture, one playing devil's advocate.88one on UX, one on technical architecture, one playing devil's advocate.

89```89```

90 90 

91Von dort aus erstellt Claude ein Team mit einer [gemeinsamen Aufgabenliste](/de/interactive-mode#task-list), erzeugt Teammates für jede Perspektive, lässt sie das Problem erkunden, synthetisiert Erkenntnisse und versucht, [das Team zu bereinigen](#clean-up-the-team), wenn es fertig ist.91Von dort aus füllt Claude eine [gemeinsame Aufgabenliste](/de/interactive-mode#task-list), erzeugt Teammates für jede Perspektive, lässt sie das Problem erkunden und synthetisiert Erkenntnisse, wenn fertig.

92 92 

93Das Terminal des Leads listet alle Teammates und ihre aktuelle Arbeit auf. Verwenden Sie Shift+Down, um durch Teammates zu wechseln und ihnen direkt Nachrichten zu senden. Nach dem letzten Teammate wickelt Shift+Down zum Lead zurück.93Das Terminal des Leads listet alle Teammates und das auf, woran sie arbeiten. Verwenden Sie Shift+Down, um durch Teammates zu wechseln und ihnen direkt Nachrichten zu senden. Nach dem letzten Teammate wickelt Shift+Down zum Lead zurück.

94 94 

95Wenn Sie jeden Teammate in seinem eigenen Split-Pane haben möchten, siehe [Wählen Sie einen Anzeigemodus](#choose-a-display-mode).95Wenn Sie jeden Teammate in seinem eigenen Split-Pane haben möchten, siehe [Wählen Sie einen Anzeigemodus](#choose-a-display-mode).

96 96 


113 `tmux` hat bekannte Einschränkungen auf bestimmten Betriebssystemen und funktioniert traditionell am besten auf macOS. Die Verwendung von `tmux -CC` in iTerm2 ist der empfohlene Einstiegspunkt in `tmux`.113 `tmux` hat bekannte Einschränkungen auf bestimmten Betriebssystemen und funktioniert traditionell am besten auf macOS. Die Verwendung von `tmux -CC` in iTerm2 ist der empfohlene Einstiegspunkt in `tmux`.

114</Note>114</Note>

115 115 

116Der Standard ist `"auto"`, der Split Panes verwendet, wenn Sie bereits in einer tmux-Sitzung ausgeführt werden, und ansonsten In-Process. Die Einstellung `"tmux"` aktiviert den Split-Pane-Modus und erkennt automatisch, ob tmux oder iTerm2 basierend auf Ihrem Terminal verwendet werden soll. Um zu überschreiben, setzen Sie [`teammateMode`](/de/settings#available-settings) in `~/.claude/settings.json`:116Der Standard ist `"auto"`, der Split Panes verwendet, wenn Sie bereits in einer tmux-Sitzung ausgeführt werden oder Ihr Terminal iTerm2 ist, und ansonsten In-Process. Die Einstellung `"tmux"` aktiviert den Split-Pane-Modus und erkennt automatisch, ob tmux oder iTerm2 basierend auf Ihrem Terminal verwendet werden soll. Um zu überschreiben, setzen Sie [`teammateMode`](/de/settings#available-settings) in `~/.claude/settings.json`:

117 117 

118```json theme={null}118```json theme={null}

119{119{


139Claude entscheidet die Anzahl der zu erzeugenden Teammates basierend auf Ihrer Aufgabe, oder Sie können genau angeben, was Sie möchten:139Claude entscheidet die Anzahl der zu erzeugenden Teammates basierend auf Ihrer Aufgabe, oder Sie können genau angeben, was Sie möchten:

140 140 

141```text theme={null}141```text theme={null}

142Create a team with 4 teammates to refactor these modules in parallel.142Spawn 4 teammates to refactor these modules in parallel. Use Sonnet for

143Use Sonnet for each teammate.143each teammate.

144```144```

145 145 

146Teammates erben standardmäßig nicht die `/model`-Auswahl des Leads. Um das Modell zu ändern, das verwendet wird, wenn der Prompt keines angibt, setzen Sie **Standard-Teammate-Modell** in `/config`. Wählen Sie **Standard (Modell des Leaders)**, damit Teammates dem aktuellen Modell des Leads folgen.146Teammates erben standardmäßig nicht die `/model`-Auswahl des Leads. Um das Modell zu ändern, das verwendet wird, wenn der Prompt keines angibt, setzen Sie **Standard-Teammate-Modell** in `/config`. Wählen Sie **Standard (Modell des Leaders)**, damit Teammates dem aktuellen Modell des Leads folgen.


186 Teammates herunterfahren186 Teammates herunterfahren

187</h3>187</h3>

188 188 

189Um die Sitzung eines Teammates ordnungsgemäß zu beenden:189Um die Sitzung eines Teammates ordnungsgemäß zu beenden, beziehen Sie sich auf ihn mit seinem Namen. Zum Beispiel mit einem Teammate namens researcher:

190 190 

191```text theme={null}191```text theme={null}

192Ask the researcher teammate to shut down192Ask the researcher teammate to shut down


194 194 

195Der Lead sendet eine Abschaltungsanfrage. Der Teammate kann zustimmen und ordnungsgemäß beenden oder mit einer Erklärung ablehnen.195Der Lead sendet eine Abschaltungsanfrage. Der Teammate kann zustimmen und ordnungsgemäß beenden oder mit einer Erklärung ablehnen.

196 196 

197<h3 id="clean-up-the-team">197Die gemeinsamen Verzeichnisse des Teams werden automatisch bereinigt, wenn die Sitzung endet, daher gibt es keinen separaten Bereinigungsschritt. Siehe [Architektur](#architecture) für die Verzeichnisse, die entfernt werden, und welche für fortgesetzte Sitzungen bestehen bleiben.

198 Bereinigen Sie das Team

199</h3>

200 

201Wenn Sie fertig sind, bitten Sie den Lead zu bereinigen:

202 

203```text theme={null}

204Clean up the team

205```

206 

207Dies entfernt die gemeinsamen Teamressourcen. Wenn der Lead die Bereinigung ausführt, prüft er auf aktive Teammates und schlägt fehl, wenn noch welche laufen, also fahren Sie diese zuerst herunter.

208 

209<Warning>

210 Verwenden Sie immer den Lead zum Bereinigen. Teammates sollten keine Bereinigung ausführen, da ihr Teamkontext möglicherweise nicht korrekt aufgelöst wird, was möglicherweise Ressourcen in einem inkonsistenten Zustand hinterlässt.

211</Warning>

212 198 

213<h3 id="enforce-quality-gates-with-hooks">199<h3 id="enforce-quality-gates-with-hooks">

214 Erzwingen Sie Qualitätsgates mit Hooks200 Erzwingen Sie Qualitätsgates mit Hooks


230 Wie Claude Agent-Teams startet216 Wie Claude Agent-Teams startet

231</h3>217</h3>

232 218 

233Es gibt zwei Möglichkeiten, wie Agent-Teams gestartet werden:219Ein Agent-Team entsteht, wenn der erste Teammate erzeugt wird, wobei die Hauptsitzung als Lead fungiert. Es gibt zwei Möglichkeiten, wie Teammates erzeugt werden:

234 220 

235* **Sie fordern ein Team an**: geben Sie Claude eine Aufgabe, die von paralleler Arbeit profitiert, und fordern Sie explizit ein Agent-Team an. Claude erstellt eines basierend auf Ihren Anweisungen.221* **Sie fordern Teammates an**: geben Sie Claude eine Aufgabe, die von paralleler Arbeit profitiert, und fordern Sie explizit Teammates an. Claude erzeugt sie basierend auf Ihren Anweisungen.

236* **Claude schlägt ein Team vor**: wenn Claude feststellt, dass Ihre Aufgabe von paralleler Arbeit profitieren würde, kann es ein Team vorschlagen. Sie bestätigen, bevor es fortfährt.222* **Claude schlägt Teammates vor**: wenn Claude feststellt, dass Ihre Aufgabe von paralleler Arbeit profitieren würde, kann es die Erzeugung von Teammates vorschlagen. Sie bestätigen, bevor es fortfährt.

237 223 

238In beiden Fällen behalten Sie die Kontrolle. Claude wird kein Team ohne Ihre Genehmigung erstellen.224In beiden Fällen behalten Sie die Kontrolle. Claude wird keine Teammates ohne Ihre Genehmigung erzeugen.

239 225 

240<h3 id="architecture">226<h3 id="architecture">

241 Architektur227 Architektur


244Ein Agent-Team besteht aus:230Ein Agent-Team besteht aus:

245 231 

246| Komponente | Rolle |232| Komponente | Rolle |

247| :---------------- | :------------------------------------------------------------------------------------------------- |233| :---------------- | :-------------------------------------------------------------------------------- |

248| **Team Lead** | Die Haupt-Claude Code-Sitzung, die das Team erstellt, Teammates erzeugt und die Arbeit koordiniert |234| **Team Lead** | Die Haupt-Claude Code-Sitzung, die Teammates erzeugt und die Arbeit koordiniert |

249| **Teammates** | Separate Claude Code-Instanzen, die jeweils an zugewiesenen Aufgaben arbeiten |235| **Teammates** | Separate Claude Code-Instanzen, die jeweils an zugewiesenen Aufgaben arbeiten |

250| **Aufgabenliste** | Gemeinsame Liste von Arbeitselementen, die Teammates beanspruchen und abschließen |236| **Aufgabenliste** | Gemeinsame Liste von Arbeitselementen, die Teammates beanspruchen und abschließen |

251| **Mailbox** | Nachrichtensystem für Kommunikation zwischen Agenten |237| **Mailbox** | Nachrichtensystem für Kommunikation zwischen Agenten |


254 240 

255Das System verwaltet Aufgabenabhängigkeiten automatisch. Wenn ein Teammate eine Aufgabe abschließt, von der andere Aufgaben abhängen, werden blockierte Aufgaben automatisch entsperrt.241Das System verwaltet Aufgabenabhängigkeiten automatisch. Wenn ein Teammate eine Aufgabe abschließt, von der andere Aufgaben abhängen, werden blockierte Aufgaben automatisch entsperrt.

256 242 

257Teams und Aufgaben werden lokal gespeichert:243Teams und Aufgaben werden lokal unter einem sitzungsabgeleiteten Namen gespeichert. Der Name ist `session-` gefolgt von den ersten acht Zeichen der Sitzungs-ID:

258 244 

259* **Team-Konfiguration**: `~/.claude/teams/{team-name}/config.json`245* **Team-Konfiguration**: `~/.claude/teams/{team-name}/config.json`

260* **Aufgabenliste**: `~/.claude/tasks/{team-name}/`246* **Aufgabenliste**: `~/.claude/tasks/{team-name}/`

261 247 

262Claude Code generiert beide automatisch, wenn Sie ein Team erstellen, und aktualisiert sie, wenn Teammates beitreten, untätig werden oder gehen. Die Team-Konfiguration enthält Laufzeitzustand wie Session-IDs und tmux-Pane-IDs, also bearbeiten Sie sie nicht von Hand oder verfassen Sie sie nicht im Voraus: Ihre Änderungen werden beim nächsten Zustandsupdate überschrieben.248Claude Code generiert beide automatisch beim Sitzungsstart und aktualisiert sie, wenn Teammates beitreten, untätig werden oder gehen. Das Team-Konfigurationsverzeichnis wird entfernt, wenn die Sitzung endet. Das Aufgabenlisten-Verzeichnis bleibt lokal bestehen und wird nie hochgeladen, sodass fortgesetzte Sitzungen ihre Aufgaben behalten. Die Aufbewahrung wird durch die gleiche [`cleanupPeriodDays`](/de/settings#available-settings) gesteuert, die Sie bereits für Sitzungstranskripte kontrollieren.

249 

250Die Team-Konfiguration enthält Laufzeitzustand wie Sitzungs-IDs und tmux-Pane-IDs, also bearbeiten Sie sie nicht von Hand oder verfassen Sie sie nicht im Voraus: Ihre Änderungen werden beim nächsten Zustandsupdate überschrieben.

263 251 

264Um wiederverwendbare Teammate-Rollen zu definieren, verwenden Sie stattdessen [Subagent-Definitionen](#use-subagent-definitions-for-teammates).252Um wiederverwendbare Teammate-Rollen zu definieren, verwenden Sie stattdessen [Subagent-Definitionen](#use-subagent-definitions-for-teammates).

265 253 


325Ein einzelner Reviewer neigt dazu, sich jeweils auf eine Art von Problem zu konzentrieren. Das Aufteilen von Überprüfungskriterien in unabhängige Domänen bedeutet, dass Sicherheit, Leistung und Testabdeckung alle gleichzeitig gründlich beachtet werden. Der Prompt weist jedem Teammate eine unterschiedliche Perspektive zu, damit sie sich nicht überlappen:313Ein einzelner Reviewer neigt dazu, sich jeweils auf eine Art von Problem zu konzentrieren. Das Aufteilen von Überprüfungskriterien in unabhängige Domänen bedeutet, dass Sicherheit, Leistung und Testabdeckung alle gleichzeitig gründlich beachtet werden. Der Prompt weist jedem Teammate eine unterschiedliche Perspektive zu, damit sie sich nicht überlappen:

326 314 

327```text theme={null}315```text theme={null}

328Create an agent team to review PR #142. Spawn three reviewers:316Spawn three teammates to review PR #142:

329- One focused on security implications317- One focused on security implications

330- One checking performance impact318- One checking performance impact

331- One validating test coverage319- One validating test coverage


432 Teammates erscheinen nicht420 Teammates erscheinen nicht

433</h3>421</h3>

434 422 

435Wenn Teammates nicht erscheinen, nachdem Sie Claude aufgefordert haben, ein Team zu erstellen:423Wenn Teammates nicht erscheinen, nachdem Sie Claude aufgefordert haben, sie zu erzeugen:

436 424 

437* Im In-Process-Modus können Teammates bereits laufen, sind aber nicht sichtbar. Drücken Sie Shift+Down, um durch aktive Teammates zu wechseln.425* Im In-Process-Modus können Teammates bereits laufen, sind aber nicht sichtbar. Drücken Sie Shift+Down, um durch aktive Teammates zu wechseln.

438* Überprüfen Sie, dass die Aufgabe, die Sie Claude gegeben haben, komplex genug war, um ein Team zu rechtfertigen. Claude entscheidet basierend auf der Aufgabe, ob Teammates erzeugt werden sollen.426* Überprüfen Sie, dass die Aufgabe, die Sie Claude gegeben haben, komplex genug war, um Teammates zu rechtfertigen. Claude entscheidet basierend auf der Aufgabe, ob Teammates erzeugt werden sollen.

439* Wenn Sie explizit Split Panes angefordert haben, stellen Sie sicher, dass tmux installiert ist und in Ihrem PATH verfügbar ist:427* Wenn Sie explizit Split Panes angefordert haben, stellen Sie sicher, dass tmux installiert ist und in Ihrem PATH verfügbar ist:

440 ```bash theme={null}428 ```bash theme={null}

441 which tmux429 which tmux


467 Verwaiste tmux-Sitzungen455 Verwaiste tmux-Sitzungen

468</h3>456</h3>

469 457 

470Wenn eine tmux-Sitzung nach dem Ende des Teams bestehen bleibt, wurde sie möglicherweise nicht vollständig bereinigt. Listen Sie Sitzungen auf und beenden Sie die vom Team erstellte:458Wenn eine tmux-Sitzung nach dem Ende der Claude Code-Sitzung bestehen bleibt, wurde sie möglicherweise nicht vollständig bereinigt. Listen Sie Sitzungen auf und beenden Sie die vom Team erstellte:

471 459 

472```bash theme={null}460```bash theme={null}

473tmux ls461tmux ls


483* **Keine Sitzungswiederaufnahme mit In-Process-Teammates**: `/resume` und `/rewind` stellen In-Process-Teammates nicht wieder her. Nach der Wiederaufnahme einer Sitzung kann der Lead versuchen, mit Teammates zu kommunizieren, die nicht mehr existieren. Wenn dies geschieht, teilen Sie dem Lead mit, neue Teammates zu erzeugen.471* **Keine Sitzungswiederaufnahme mit In-Process-Teammates**: `/resume` und `/rewind` stellen In-Process-Teammates nicht wieder her. Nach der Wiederaufnahme einer Sitzung kann der Lead versuchen, mit Teammates zu kommunizieren, die nicht mehr existieren. Wenn dies geschieht, teilen Sie dem Lead mit, neue Teammates zu erzeugen.

484* **Aufgabenstatus kann verzögert sein**: Teammates markieren Aufgaben manchmal nicht als abgeschlossen, was abhängige Aufgaben blockiert. Wenn eine Aufgabe steckenbleibt, überprüfen Sie, ob die Arbeit tatsächlich erledigt ist, und aktualisieren Sie den Aufgabenstatus manuell oder teilen Sie dem Lead mit, den Teammate zu anstoßen.472* **Aufgabenstatus kann verzögert sein**: Teammates markieren Aufgaben manchmal nicht als abgeschlossen, was abhängige Aufgaben blockiert. Wenn eine Aufgabe steckenbleibt, überprüfen Sie, ob die Arbeit tatsächlich erledigt ist, und aktualisieren Sie den Aufgabenstatus manuell oder teilen Sie dem Lead mit, den Teammate zu anstoßen.

485* **Abschaltung kann langsam sein**: Teammates beenden ihre aktuelle Anfrage oder ihren Werkzeugaufruf, bevor sie herunterfahren, was Zeit in Anspruch nehmen kann.473* **Abschaltung kann langsam sein**: Teammates beenden ihre aktuelle Anfrage oder ihren Werkzeugaufruf, bevor sie herunterfahren, was Zeit in Anspruch nehmen kann.

486* **Ein Team pro Sitzung**: ein Lead kann jeweils nur ein Team verwalten. Bereinigen Sie das aktuelle Team, bevor Sie ein neues starten.474* **Ein Team pro Sitzung**: eine Sitzung hat genau ein Team, das auf diese Sitzung beschränkt ist. Sie können keine zusätzlichen benannten Teams erstellen oder ein Team über Sitzungen hinweg freigeben.

487* **Keine verschachtelten Teams**: Teammates können ihre eigenen Teams oder Teammates nicht erzeugen. Nur der Lead kann das Team verwalten.475* **Keine verschachtelten Teams**: Teammates können ihre eigenen Teammates nicht erzeugen. Nur der Lead kann das Team verwalten.

488* **Lead ist fest**: die Sitzung, die das Team erstellt, ist der Lead für seine Lebensdauer. Sie können einen Teammate nicht zum Lead befördern oder die Führung übertragen.476* **Lead ist fest**: die Hauptsitzung ist der Lead für seine Lebensdauer. Sie können einen Teammate nicht zum Lead befördern oder die Führung übertragen.

489* **Berechtigungen beim Erzeugen gesetzt**: alle Teammates starten mit dem Berechtigungsmodus des Leads. Sie können einzelne Teammate-Modi nach dem Erzeugen ändern, aber Sie können keine Pro-Teammate-Modi zum Zeitpunkt des Erzeugung setzen.477* **Berechtigungen beim Erzeugen gesetzt**: alle Teammates starten mit dem Berechtigungsmodus des Leads. Sie können einzelne Teammate-Modi nach dem Erzeugen ändern, aber Sie können keine Pro-Teammate-Modi zum Zeitpunkt des Erzeugung setzen.

490* **Split Panes erfordern tmux oder iTerm2**: der Standard-In-Process-Modus funktioniert in jedem Terminal. Der Split-Pane-Modus wird in VS Code's integriertem Terminal, Windows Terminal oder Ghostty nicht unterstützt.478* **Split Panes erfordern tmux oder iTerm2**: der Standard-In-Process-Modus funktioniert in jedem Terminal. Der Split-Pane-Modus wird in VS Code's integriertem Terminal, Windows Terminal oder Ghostty nicht unterstützt.

491 479 

agent-view.md +15 −6

Details

143 143 

144Die einzeilige Zusammenfassung in jeder Zeile wird von einem [Haiku-Klasse-Modell](/de/model-config) generiert, sodass die Zeile Ihnen zeigen kann, was die Sitzung tut, was sie benötigt oder was sie produziert hat, ohne das Transkript zu öffnen. Während eine Sitzung aktiv funktioniert, wird die Zusammenfassung höchstens alle 15 Sekunden aktualisiert, plus einmal, wenn jede Runde endet.144Die einzeilige Zusammenfassung in jeder Zeile wird von einem [Haiku-Klasse-Modell](/de/model-config) generiert, sodass die Zeile Ihnen zeigen kann, was die Sitzung tut, was sie benötigt oder was sie produziert hat, ohne das Transkript zu öffnen. Während eine Sitzung aktiv funktioniert, wird die Zusammenfassung höchstens alle 15 Sekunden aktualisiert, plus einmal, wenn jede Runde endet.

145 145 

146Ab v2.1.161 wird, wenn die Sitzung zwei oder mehr parallele Arbeitselemente ausführt, wie z. B. Subagenten, Hintergrund-Shell-Befehle oder Monitore, eine `done/total`-Anzahl wie `2/5` vor dem Zusammenfassungstext angezeigt.

147 

146Jede Aktualisierung ist eine kurze Haiku-Klasse-Anfrage durch Ihren normalen Anbieter, abgerechnet und behandelt unter denselben [Datennutzungsbedingungen](/de/data-usage) wie die Sitzung selbst. Bei Drittanbieter-Anbietern wie Bedrock, Vertex AI, Microsoft Foundry und benutzerdefinierten Gateways wird die Anfrage auf das Hauptmodell der Sitzung zurückgeführt, wenn kein Haiku-Modell konfiguriert ist. Legen Sie [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/de/model-config#environment-variables) fest, um das Modell für diese Zusammenfassungen bei diesen Anbietern auszuwählen.148Jede Aktualisierung ist eine kurze Haiku-Klasse-Anfrage durch Ihren normalen Anbieter, abgerechnet und behandelt unter denselben [Datennutzungsbedingungen](/de/data-usage) wie die Sitzung selbst. Bei Drittanbieter-Anbietern wie Bedrock, Vertex AI, Microsoft Foundry und benutzerdefinierten Gateways wird die Anfrage auf das Hauptmodell der Sitzung zurückgeführt, wenn kein Haiku-Modell konfiguriert ist. Legen Sie [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/de/model-config#environment-variables) fest, um das Modell für diese Zusammenfassungen bei diesen Anbietern auszuwählen.

147 149 

148<h3 id="pull-request-status">150<h3 id="pull-request-status">


170 172 

171Drücken Sie `Space` auf einer ausgewählten Zeile, um das Vorschau-Panel zu öffnen. Es zeigt, was die Sitzung von Ihnen benötigt, ihre neueste Ausgabe und alle Pull Requests, die sie geöffnet hat. Meistens reicht dies aus, und Sie müssen das vollständige Transkript nie öffnen.173Drücken Sie `Space` auf einer ausgewählten Zeile, um das Vorschau-Panel zu öffnen. Es zeigt, was die Sitzung von Ihnen benötigt, ihre neueste Ausgabe und alle Pull Requests, die sie geöffnet hat. Meistens reicht dies aus, und Sie müssen das vollständige Transkript nie öffnen.

172 174 

175Ab v2.1.161 benennt das Panel auch das am längsten laufende Arbeitselement, wenn die Sitzung parallele Arbeitselemente ausführt, und wie lange es läuft, sodass Sie sehen können, worauf die Sitzung wartet, ohne sich anzuhängen.

176 

173Geben Sie eine Antwort im Vorschau-Panel ein und drücken Sie `Enter`, um sie an diese Sitzung zu senden. Wenn die Sitzung eine Multiple-Choice-Frage stellt, zeigt das Vorschau-Panel die Optionen an und Sie können eine Zahlentaste drücken, um eine auszuwählen. Für andere blockierte Sitzungen drücken Sie `Tab`, um die Eingabe mit einer vorgeschlagenen Antwort zu füllen, die Sie vor dem Senden bearbeiten können. Präfixieren Sie eine Antwort mit `!`, um stattdessen einen Bash-Befehl zu senden.177Geben Sie eine Antwort im Vorschau-Panel ein und drücken Sie `Enter`, um sie an diese Sitzung zu senden. Wenn die Sitzung eine Multiple-Choice-Frage stellt, zeigt das Vorschau-Panel die Optionen an und Sie können eine Zahlentaste drücken, um eine auszuwählen. Für andere blockierte Sitzungen drücken Sie `Tab`, um die Eingabe mit einer vorgeschlagenen Antwort zu füllen, die Sie vor dem Senden bearbeiten können. Präfixieren Sie eine Antwort mit `!`, um stattdessen einen Bash-Befehl zu senden.

174 178 

175Mit [Sprachdiktat](/de/voice-dictation) aktiviert, halten Sie Ihre Push-to-Talk-Taste gedrückt oder tippen Sie darauf, während die Antwort-Eingabe fokussiert ist, um eine Antwort zu diktieren, anstatt sie einzugeben. Das Gleiche funktioniert in der Versand-Eingabe am unteren Rand der Agenten-Ansicht.179Ab v2.1.145 können Sie mit [Sprachdiktat](/de/voice-dictation) aktiviert Ihre Push-to-Talk-Taste halten oder tippen, während die Antwort-Eingabe fokussiert ist, um eine Antwort zu diktieren, anstatt sie einzugeben. Das Gleiche funktioniert in der Versand-Eingabe am unteren Rand der Agenten-Ansicht.

176 180 

177Verwenden Sie `↑` und `↓`, um benachbarte Sitzungen in der Vorschau anzuzeigen, ohne das Panel zu schließen, oder `→`, um sich anzuhängen.181Verwenden Sie `↑` und `↓`, um benachbarte Sitzungen in der Vorschau anzuzeigen, ohne das Panel zu schließen, oder `→`, um sich anzuhängen.

178 182 


224| `a:<name>` | Sitzungen, die den benannten Agenten ausführen |228| `a:<name>` | Sitzungen, die den benannten Agenten ausführen |

225| `s:<state>` | Sitzungen im angegebenen Status, z. B. `s:working`. Akzeptiert auch `s:blocked` für alles, das auf Sie wartet |229| `s:<state>` | Sitzungen im angegebenen Status, z. B. `s:working`. Akzeptiert auch `s:blocked` für alles, das auf Sie wartet |

226| `#<number>` oder eine PR-URL | Die Sitzung, die an diesem Pull Request funktioniert |230| `#<number>` oder eine PR-URL | Die Sitzung, die an diesem Pull Request funktioniert |

231| Jede andere URL | Die Sitzung, deren erste Eingabeaufforderung diese URL enthielt |

227 232 

228<h3 id="keyboard-shortcuts">233<h3 id="keyboard-shortcuts">

229 Tastaturkürzel234 Tastaturkürzel


478Jede Hintergrund-Sitzung hat eine kurze ID, die Sie aus der Shell verwenden können. Die ID wird gedruckt, wenn Sie eine Sitzung mit `claude --bg` starten, und die ID jeder Sitzung ist ihr Verzeichnisname unter `~/.claude/jobs/`. Diese Befehle sind nützlich zum Scripting oder wenn Sie die Agenten-Ansicht nicht öffnen möchten.483Jede Hintergrund-Sitzung hat eine kurze ID, die Sie aus der Shell verwenden können. Die ID wird gedruckt, wenn Sie eine Sitzung mit `claude --bg` starten, und die ID jeder Sitzung ist ihr Verzeichnisname unter `~/.claude/jobs/`. Diese Befehle sind nützlich zum Scripting oder wenn Sie die Agenten-Ansicht nicht öffnen möchten.

479 484 

480| Befehl | Zweck |485| Befehl | Zweck |

481| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |486| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

482| `claude agents` | Agenten-Ansicht öffnen |487| `claude agents` | Agenten-Ansicht öffnen |

483| `claude agents --cwd <path>` | Agenten-Ansicht auf Sitzungen beschränken, die unter `<path>` gestartet wurden |488| `claude agents --cwd <path>` | Agenten-Ansicht auf Sitzungen beschränken, die unter `<path>` gestartet wurden |

484| `claude agents --json` | Live-Sitzungen als JSON-Array drucken und beenden. Jeder Eintrag hat `pid`, `cwd`, `kind` und `startedAt`, plus `sessionId`, `name` und `status` wenn gesetzt. Mit `--cwd <path>` kombinieren zum Filtern |489| `claude agents --json` | Aktive Sitzungen als JSON-Array drucken und beenden: jede Live-Sitzung sowie Hintergrund-Sitzungen, die noch arbeiten oder blockiert sind, auch wenn ihr Prozess beendet wurde. Fügen Sie `--all` hinzu, um auch abgeschlossene Hintergrund-Sitzungen einzubeziehen. Jeder Eintrag hat `cwd`, `kind` und `startedAt`. Hintergrund-Einträge haben auch `id`, verwendbar mit `claude attach`/`logs`/`stop`, und `state`: einer von `working`, `blocked`, `done`, `failed` oder `stopped`. `pid` und `status` sind nur vorhanden, während der Prozess aktiv ist, plus `waitingFor`, wenn status `waiting` ist, was angibt, worauf die Sitzung blockiert ist, z. B. `permission prompt` oder `input needed`; `sessionId` und `name` erscheinen, wenn gesetzt. Mit `--cwd <path>` kombinieren zum Filtern |

485| `claude attach <id>` | An eine Sitzung in diesem Terminal anhängen |490| `claude attach <id>` | An eine Sitzung in diesem Terminal anhängen |

486| `claude logs <id>` | Neueste Ausgabe der Sitzung drucken |491| `claude logs <id>` | Neueste Ausgabe der Sitzung drucken |

487| `claude stop <id>` | Eine Sitzung stoppen. Akzeptiert auch `claude kill` |492| `claude stop <id>` | Eine Sitzung stoppen. Akzeptiert auch `claude kill` |


530 535 

531Jede Hintergrund-Sitzung hat die Umgebungsvariable `CLAUDE_JOB_DIR` auf ihr `~/.claude/jobs/<id>`-Verzeichnis gesetzt, daher können Shell-Befehle, die die Sitzung ausführt, temporäre Dateien in `$CLAUDE_JOB_DIR/tmp` schreiben, ohne mit parallelen Sitzungen zu kollidieren.536Jede Hintergrund-Sitzung hat die Umgebungsvariable `CLAUDE_JOB_DIR` auf ihr `~/.claude/jobs/<id>`-Verzeichnis gesetzt, daher können Shell-Befehle, die die Sitzung ausführt, temporäre Dateien in `$CLAUDE_JOB_DIR/tmp` schreiben, ohne mit parallelen Sitzungen zu kollidieren.

532 537 

533Um diesen Status zu überprüfen, ohne die Dateien direkt zu lesen, führen Sie `claude daemon status` aus. Es meldet, ob der Supervisor erreichbar ist, seine Prozess-ID und Version, das Socket-Verzeichnis und wie viele Hintergrund-Sitzungen aktiv sind. `/doctor` enthält eine Zusammenfassung derselben Überprüfung. Unter Windows zeigt `claude daemon status` den zugrunde liegenden Dateifehler an, wenn die Pipe-Schlüsseldatei des Daemons gesperrt oder nicht lesbar ist, anstatt einen generischen Verbindungsfehler zu melden.538Um diesen Status zu überprüfen, ohne die Dateien direkt zu lesen, führen Sie `claude daemon status` aus. Es meldet, ob der Supervisor erreichbar ist, seine Prozess-ID und Version, das Socket-Verzeichnis und wie viele Hintergrund-Sitzungen aktiv sind. `/doctor` enthält eine Zusammenfassung derselben Überprüfung.

539 

540Der Befehl warnt auch, wenn der laufende Supervisor eine andere Version hat als der `claude`, den Sie aufgerufen haben, was nach einem Update geschieht, das der Supervisor noch nicht neu gestartet hat. Die Warnung zeigt beide Versionen an und teilt Ihnen mit, dass Sie `claude daemon stop --any` ausführen sollen, um die neue Version zu übernehmen. Wenn Claude Code als Betriebssystem-Dienst installiert ist, ist der vorgeschlagene Befehl `claude daemon stop` ohne das Flag.

541 

542Unter Windows zeigt `claude daemon status` den zugrunde liegenden Dateifehler an, wenn die Pipe-Schlüsseldatei des Daemons gesperrt oder nicht lesbar ist, anstatt einen generischen Verbindungsfehler zu melden.

534 543 

535<h3 id="turn-off-agent-view">544<h3 id="turn-off-agent-view">

536 Agenten-Ansicht ausschalten545 Agenten-Ansicht ausschalten


556 565 

557Bevor Sie Ihre erste Sitzung versenden, zeigt die Agenten-Ansicht einen kurzen Onboarding-Hinweis mit Beispiel-Eingabeaufforderungen anstelle der Sitzungsliste. Geben Sie eine Eingabeaufforderung in die Eingabe am unteren Rand ein und drücken Sie `Enter`, um Ihre erste Sitzung zu versenden.566Bevor Sie Ihre erste Sitzung versenden, zeigt die Agenten-Ansicht einen kurzen Onboarding-Hinweis mit Beispiel-Eingabeaufforderungen anstelle der Sitzungsliste. Geben Sie eine Eingabeaufforderung in die Eingabe am unteren Rand ein und drücken Sie `Enter`, um Ihre erste Sitzung zu versenden.

558 567 

559<h3 id="cannot-open-agents-because-background-tasks-are-running">568<h3 id="cannot-open-agents-because-work-is-running-in-the-background">

560 Agenten können nicht geöffnet werden, da Hintergrundaufgaben ausgeführt werden569 Agenten können nicht geöffnet werden, da Hintergrundaufgaben ausgeführt werden

561</h3>570</h3>

562 571 

563Wenn das Drücken von `←` zum Hintergrund der aktuellen Sitzung `Cannot open agents — N background task(s) running` anzeigt, hat die Sitzung laufende Arbeiten wie einen Subagenten, einen dynamischen Workflow oder einen Hintergrund-Shell-Befehl, und die Verknüpfung wird sie nicht stillschweigend aufgeben. Führen Sie `/tasks` aus, um zu sehen, was ausgeführt wird, dann `/bg`, um das Aufgeben zu bestätigen. Siehe [Aus einer Sitzung heraus](#from-inside-a-session), um zu sehen, was übertragen wird und was nicht, wenn Sie in den Hintergrund gehen.572Wenn das Drücken von `←` zum Hintergrund der aktuellen Sitzung `Cannot open agents — N still running in the background` anzeigt, hat die Sitzung laufende Arbeiten wie einen Subagenten, einen dynamischen Workflow oder einen Hintergrund-Shell-Befehl, und die Verknüpfung wird sie nicht stillschweigend aufgeben. Führen Sie `/tasks` aus, um zu sehen, was ausgeführt wird, dann `/bg`, um das Aufgeben zu bestätigen. Siehe [Aus einer Sitzung heraus](#from-inside-a-session), um zu sehen, was übertragen wird und was nicht, wenn Sie in den Hintergrund gehen.

564 573 

565<h3 id="prompt-rejected-as-too-short">574<h3 id="prompt-rejected-as-too-short">

566 Eingabeaufforderung als zu kurz abgelehnt575 Eingabeaufforderung als zu kurz abgelehnt

agents.md +2 −2

Details

9[Subagenten](/de/sub-agents), [Agent-Ansicht](/de/agent-view), [Agent-Teams](/de/agent-teams) und [dynamische Workflows](/de/workflows) parallelisieren die Arbeit jeweils auf unterschiedliche Weise. Die richtige Wahl hängt davon ab, ob Sie in jeder Konversation selbst bleiben möchten, Aufgaben delegieren und später überprüfen möchten, oder ob Claude eine Gruppe von Mitarbeitern für Sie koordinieren soll.9[Subagenten](/de/sub-agents), [Agent-Ansicht](/de/agent-view), [Agent-Teams](/de/agent-teams) und [dynamische Workflows](/de/workflows) parallelisieren die Arbeit jeweils auf unterschiedliche Weise. Die richtige Wahl hängt davon ab, ob Sie in jeder Konversation selbst bleiben möchten, Aufgaben delegieren und später überprüfen möchten, oder ob Claude eine Gruppe von Mitarbeitern für Sie koordinieren soll.

10 10 

11| Ansatz | Was Sie erhalten | Verwenden Sie es, wenn |11| Ansatz | Was Sie erhalten | Verwenden Sie es, wenn |

12| :------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |12| :------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

13| [Subagenten](/de/sub-agents) | Delegierte Mitarbeiter in einer Sitzung, die eine Nebenaufgabe in ihrem eigenen Kontext ausführen und eine Zusammenfassung zurückgeben | Eine Nebenaufgabe würde Ihre Hauptkonversation mit Suchergebnissen, Protokollen oder Dateiinhalten überfluten, auf die Sie nicht mehr verweisen werden |13| [Subagenten](/de/sub-agents) | Delegierte Mitarbeiter in einer Sitzung, die eine Nebenaufgabe in ihrem eigenen Kontext ausführen und eine Zusammenfassung zurückgeben | Eine Nebenaufgabe würde Ihre Hauptkonversation mit Suchergebnissen, Protokollen oder Dateiinhalten überfluten, auf die Sie nicht mehr verweisen werden |

14| [Agent-Ansicht](/de/agent-view) | Ein Bildschirm zum Versenden und Überwachen von Sitzungen, die im Hintergrund ausgeführt werden, geöffnet mit `claude agents`. Forschungsvorschau | Sie haben mehrere unabhängige Aufgaben und möchten diese delegieren, den Status auf einen Blick überprüfen und nur eingreifen, wenn eine Aufgabe Sie benötigt |14| [Agent-Ansicht](/de/agent-view) | Ein Bildschirm zum Versenden und Überwachen von Sitzungen, die im Hintergrund ausgeführt werden, geöffnet mit `claude agents`. Forschungsvorschau | Sie haben mehrere unabhängige Aufgaben und möchten diese delegieren, den Status auf einen Blick überprüfen und nur eingreifen, wenn eine Aufgabe Sie benötigt |

15| [Agent-Teams](/de/agent-teams) | Mehrere koordinierte Sitzungen mit einer gemeinsamen Aufgabenliste und Messaging zwischen Agenten, verwaltet von einem Lead. Experimentell und standardmäßig deaktiviert | Sie möchten, dass Claude ein Projekt in Teile aufteilt, diese zuweist und die Mitarbeiter synchron hält |15| [Agent-Teams](/de/agent-teams) | Mehrere koordinierte Sitzungen mit einer gemeinsamen Aufgabenliste und Messaging zwischen Agenten, verwaltet von einem Lead. Experimentell und standardmäßig deaktiviert | Sie möchten, dass Claude ein Projekt in Teile aufteilt, diese zuweist und die Mitarbeiter synchron hält |

16| [Dynamische Workflows](/de/workflows) | Ein Skript, das viele Subagenten ausführt und deren Ergebnisse überprüft, für einen Job, der zu groß ist, um ihn in einem Durchgang zu koordinieren, oder der mehr als einen einzelnen Durchgang benötigt. Forschungsvorschau | Ein Job wächst über eine Handvoll Subagenten hinaus, oder Sie möchten, dass Ergebnisse gegeneinander überprüft werden: ein codebase-weites Audit, eine 500-Datei-Migration, überprüfte Recherche oder ein Plan, der aus mehreren Blickwinkeln entworfen wurde |16| [Dynamische Workflows](/de/workflows) | Ein Skript, das viele Subagenten ausführt und deren Ergebnisse überprüft, für einen Job, der zu groß ist, um ihn in einem Durchgang zu koordinieren, oder der mehr als einen einzelnen Durchgang benötigt | Ein Job wächst über eine Handvoll Subagenten hinaus, oder Sie möchten, dass Ergebnisse gegeneinander überprüft werden: ein codebase-weites Audit, eine 500-Datei-Migration, überprüfte Recherche oder ein Plan, der aus mehreren Blickwinkeln entworfen wurde |

17 17 

18In jedem Ansatz sind die Mitarbeiter Claude-Sitzungen. Um ein anderes Tool einzubeziehen, stellen Sie es Claude als [MCP-Server](/de/mcp) zur Verfügung.18In jedem Ansatz sind die Mitarbeiter Claude-Sitzungen. Um ein anderes Tool einzubeziehen, stellen Sie es Claude als [MCP-Server](/de/mcp) zur Verfügung.

19 19 

Details

6 6 

7> Erfahren Sie, wie Sie Claude Code über Amazon Bedrock konfigurieren, einschließlich Setup, IAM-Konfiguration und Fehlerbehebung.7> Erfahren Sie, wie Sie Claude Code über Amazon Bedrock konfigurieren, einschließlich Setup, IAM-Konfiguration und Fehlerbehebung.

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79<ContactSalesCard surface="bedrock" />

80 

9<h2 id="prerequisites">81<h2 id="prerequisites">

10 Voraussetzungen82 Voraussetzungen

11</h2>83</h2>


141 "Credentials": {213 "Credentials": {

142 "AccessKeyId": "value",214 "AccessKeyId": "value",

143 "SecretAccessKey": "value",215 "SecretAccessKey": "value",

144 "SessionToken": "value"216 "SessionToken": "value",

217 "Expiration": "2026-01-01T00:00:00Z"

145 }218 }

146}219}

147```220```

148 221 

222`Expiration` ist optional. {/* min-version: 2.1.176 */}Ab Claude Code v2.1.176 speichert Claude Code die Anmeldedaten im Cache, wenn der Befehl einen gültigen ISO 8601 `Expiration` zurückgibt, bis fünf Minuten vor dieser Zeit. Ohne ihn oder in früheren Versionen werden Anmeldedaten eine Stunde lang im Cache gespeichert.

223 

149<h3 id="3-configure-claude-code">224<h3 id="3-configure-claude-code">

150 3. Claude Code konfigurieren225 3. Claude Code konfigurieren

151</h3>226</h3>


155```bash theme={null}230```bash theme={null}

156# Bedrock-Integration aktivieren231# Bedrock-Integration aktivieren

157export CLAUDE_CODE_USE_BEDROCK=1232export CLAUDE_CODE_USE_BEDROCK=1

158export AWS_REGION=us-east-1 # oder Ihre bevorzugte Region233export AWS_REGION=us-east-1 # optional, falls Ihr AWS-Profil bereits eine Region setzt

159 234 

160# Optional: Region für das kleine/schnelle Modell (Bedrock und Mantle) überschreiben.235# Optional: Region für das kleine/schnelle Modell (Bedrock und Mantle) überschreiben.

161# Auf Bedrock hat dies keine Auswirkung ohne ANTHROPIC_DEFAULT_HAIKU_MODEL236# Auf Bedrock hat dies keine Auswirkung ohne ANTHROPIC_DEFAULT_HAIKU_MODEL


168 243 

169Beachten Sie beim Aktivieren von Bedrock für Claude Code Folgendes:244Beachten Sie beim Aktivieren von Bedrock für Claude Code Folgendes:

170 245 

171* `AWS_REGION` ist eine erforderliche Umgebungsvariable. Claude Code liest diese Einstellung nicht aus der `.aws`-Konfigurationsdatei.246* {/* min-version: 2.1.172 */}Ab v2.1.172 müssen Sie nur `AWS_REGION` setzen, um die Region Ihres AWS-Profils zu überschreiben oder wenn Ihr Profil keine Region hat. Claude Code löst die Region in dieser Reihenfolge auf:

247 

248 * `AWS_REGION`

249 * `AWS_DEFAULT_REGION`

250 * die `region`, die auf Ihrem aktiven AWS-Profil gesetzt ist, gelesen aus der AWS-Datei mit gemeinsamen Anmeldedaten zuerst und dann aus der gemeinsamen Konfigurationsdatei, entsprechend der AWS SDK-Priorität

251 * `us-east-1`

252 

253 Das aktive Profil ist `AWS_PROFILE`, falls gesetzt, andernfalls `default`. Setzen Sie `AWS_SHARED_CREDENTIALS_FILE` oder `AWS_CONFIG_FILE`, um auf nicht-standardmäßige Dateipfade zu verweisen. Führen Sie `/status` aus, um die aufgelöste Region zu sehen. Wenn die Region aus Ihren AWS-Konfigurationsdateien oder dem Standard-Fallback stammt, notiert `/status` auch die Quelle. Bei v2.1.171 und früher liest Claude Code die AWS-Konfigurationsdateien nicht, daher setzen Sie `AWS_REGION` explizit.

172* Bei Verwendung von Bedrock ist der `/logout`-Befehl nicht verfügbar, da die Authentifizierung über AWS-Anmeldedaten erfolgt.254* Bei Verwendung von Bedrock ist der `/logout`-Befehl nicht verfügbar, da die Authentifizierung über AWS-Anmeldedaten erfolgt.

173* Das WebSearch-Tool ist auf Bedrock nicht verfügbar. Siehe [WebSearch-Tool-Verhalten](/de/tools-reference#websearch-tool-behavior).255* Das WebSearch-Tool ist auf Bedrock nicht verfügbar. Siehe [WebSearch-Tool-Verhalten](/de/tools-reference#websearch-tool-behavior).

174* Sie können Einstellungsdateien für Umgebungsvariablen wie `AWS_PROFILE` verwenden, die Sie nicht an andere Prozesse weitergeben möchten. Weitere Informationen finden Sie unter [Einstellungen](/de/settings).256* Sie können Einstellungsdateien für Umgebungsvariablen wie `AWS_PROFILE` verwenden, die Sie nicht an andere Prozesse weitergeben möchten. Weitere Informationen finden Sie unter [Einstellungen](/de/settings).


178</h3>260</h3>

179 261 

180<Warning>262<Warning>

181 Fixieren Sie spezifische Modellversionen bei der Bereitstellung für mehrere Benutzer. Ohne Fixierung werden Modellaliase wie `sonnet` und `opus` zur neuesten Version aufgelöst, die möglicherweise noch nicht in Ihrem Bedrock-Konto verfügbar ist, wenn Anthropic ein Update veröffentlicht. Claude Code [fällt beim Start](#startup-model-checks) auf die vorherige Version zurück, wenn die neueste nicht verfügbar ist, aber die Fixierung ermöglicht es Ihnen, zu kontrollieren, wann Ihre Benutzer zu einem neuen Modell wechseln.263 Fixieren Sie spezifische Modellversionen bei der Bereitstellung für mehrere Benutzer. Ohne Fixierung werden Modellaliase wie `sonnet` und `opus` zu Claude Code's integriertem Standard für Bedrock aufgelöst, der hinter der neuesten Version zurückbleiben kann und möglicherweise noch nicht in Ihrem Konto verfügbar ist. Claude Code [fällt beim Start](#startup-model-checks) auf die vorherige Version zurück, wenn der Standard nicht verfügbar ist, aber die Fixierung ermöglicht es Ihnen, zu kontrollieren, wann Ihre Benutzer zu einem neuen Modell wechseln.

182</Warning>264</Warning>

183 265 

184Legen Sie diese Umgebungsvariablen auf spezifische Bedrock-Modell-IDs fest.266Legen Sie diese Umgebungsvariablen auf spezifische Bedrock-Modell-IDs fest.


191export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'273export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

192```274```

193 275 

194Diese Variablen verwenden Cross-Region-Inferenzprofil-IDs (mit dem `us.`-Präfix). Wenn Sie ein anderes Regionspräfix oder Anwendungsinferenzprofile verwenden, passen Sie entsprechend an. Aktuelle und ältere Modell-IDs finden Sie unter [Modellübersicht](https://platform.claude.com/docs/en/about-claude/models/overview). Siehe [Modellkonfiguration](/de/model-config#pin-models-for-third-party-deployments) für die vollständige Liste der Umgebungsvariablen.276Diese Variablen verwenden Cross-Region-Inferenzprofil-IDs (mit dem `us.`-Präfix). Wenn Sie ein anderes Regionspräfix oder Anwendungsinferenzprofile verwenden, passen Sie entsprechend an. In AWS GovCloud-Regionen verwenden Sie das `us-gov.`-Präfix. Aktuelle und ältere Modell-IDs finden Sie unter [Modellübersicht](https://platform.claude.com/docs/en/about-claude/models/overview). Siehe [Modellkonfiguration](/de/model-config#pin-models-for-third-party-deployments) für die vollständige Liste der Umgebungsvariablen.

195 277 

196Claude Code verwendet diese Standardmodelle, wenn keine Fixierungsvariablen gesetzt sind:278Claude Code verwendet diese Standardmodelle, wenn keine Fixierungsvariablen gesetzt sind:

197 279 


366export AWS_REGION=us-east-1448export AWS_REGION=us-east-1

367```449```

368 450 

369Claude Code erstellt die Endpunkt-URL aus `AWS_REGION`. Um sie für einen benutzerdefinierten Endpunkt oder ein Gateway zu überschreiben, legen Sie `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` fest.451Claude Code erstellt die Endpunkt-URL aus der AWS-Region. {/* min-version: 2.1.172 */}Ab v2.1.172 wird die Region mit der gleichen Priorität aufgelöst wie [Bedrock oben](#3-configure-claude-code); frühere Versionen verwenden nur `AWS_REGION`. Um die URL für einen benutzerdefinierten Endpunkt oder ein Gateway zu überschreiben, legen Sie `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` fest.

370 452 

371Führen Sie `/status` in Claude Code aus, um zu bestätigen. Die Provider-Zeile zeigt `Amazon Bedrock (Mantle)`, wenn Mantle aktiv ist.453Führen Sie `/status` in Claude Code aus, um zu bestätigen. Die Provider-Zeile zeigt `Amazon Bedrock (Mantle)`, wenn Mantle aktiv ist.

372 454 

Details

136* **Aktualisierungsintervalle**: Standardmäßig wird `apiKeyHelper` nach 5 Minuten oder bei HTTP 401-Antwort aufgerufen. Legen Sie die Umgebungsvariable `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` für benutzerdefinierte Aktualisierungsintervalle fest.136* **Aktualisierungsintervalle**: Standardmäßig wird `apiKeyHelper` nach 5 Minuten oder bei HTTP 401-Antwort aufgerufen. Legen Sie die Umgebungsvariable `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` für benutzerdefinierte Aktualisierungsintervalle fest.

137* **Warnung bei langsamen Hilfsprogrammen**: Wenn `apiKeyHelper` länger als 10 Sekunden benötigt, um einen Schlüssel zurückzugeben, zeigt Claude Code eine Warnmitteilung in der Eingabeaufforderungsleiste an, die die verstrichene Zeit anzeigt. Wenn Sie diese Mitteilung regelmäßig sehen, überprüfen Sie, ob Ihr Anmeldedaten-Skript optimiert werden kann.137* **Warnung bei langsamen Hilfsprogrammen**: Wenn `apiKeyHelper` länger als 10 Sekunden benötigt, um einen Schlüssel zurückzugeben, zeigt Claude Code eine Warnmitteilung in der Eingabeaufforderungsleiste an, die die verstrichene Zeit anzeigt. Wenn Sie diese Mitteilung regelmäßig sehen, überprüfen Sie, ob Ihr Anmeldedaten-Skript optimiert werden kann.

138 138 

139`apiKeyHelper`, `ANTHROPIC_API_KEY` und `ANTHROPIC_AUTH_TOKEN` gelten nur für Terminal-CLI-Sitzungen. Claude Desktop und Remote-Sitzungen verwenden ausschließlich OAuth und rufen `apiKeyHelper` nicht auf oder lesen API-Schlüssel-Umgebungsvariablen nicht.139`apiKeyHelper`, `ANTHROPIC_API_KEY` und `ANTHROPIC_AUTH_TOKEN` gelten nur für Terminal-CLI-Sitzungen. Claude Desktop und Cloud-Sitzungen verwenden ausschließlich OAuth und rufen `apiKeyHelper` nicht auf oder lesen API-Schlüssel-Umgebungsvariablen nicht.

140 140 

141<h3 id="authentication-precedence">141<h3 id="authentication-precedence">

142 Authentifizierungspriorität142 Authentifizierungspriorität

Details

6 6 

7> Teilen Sie dem Auto-Modus-Klassifizierer mit, welche Repos, Buckets und Domains Ihre Organisation vertraut. Legen Sie den Umgebungskontext fest, überschreiben Sie die Standard-Block- und Allow-Regeln, und überprüfen Sie Ihre effektive Konfiguration mit den Auto-Modus-CLI-Unterbefehlen.7> Teilen Sie dem Auto-Modus-Klassifizierer mit, welche Repos, Buckets und Domains Ihre Organisation vertraut. Legen Sie den Umgebungskontext fest, überschreiben Sie die Standard-Block- und Allow-Regeln, und überprüfen Sie Ihre effektive Konfiguration mit den Auto-Modus-CLI-Unterbefehlen.

8 8 

9[Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) ermöglicht es Claude Code, ohne Berechtigungsaufforderungen zu laufen, indem jeder Tool-Aufruf durch einen Klassifizierer geleitet wird, der alles blockiert, das irreversibel, destruktiv oder außerhalb Ihrer Umgebung ausgerichtet ist. Verwenden Sie den `autoMode`-Einstellungsblock, um diesem Klassifizierer mitzuteilen, welche Repos, Buckets und Domains Ihre Organisation vertraut, damit er routinemäßige interne Operationen nicht mehr blockiert.9[Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) ermöglicht es Claude Code, ohne routinemäßige Berechtigungsaufforderungen zu laufen, indem Tool-Aufrufe durch einen Klassifizierer geleitet werden, der alles blockiert, das irreversibel, destruktiv oder außerhalb Ihrer Umgebung ausgerichtet ist. Deny- und explizite Ask-Regeln werden vor dem Klassifizierer ausgewertet und blockieren oder fordern weiterhin auf. Verwenden Sie den `autoMode`-Einstellungsblock, um diesem Klassifizierer mitzuteilen, welche Repos, Buckets und Domains Ihre Organisation vertraut, damit er routinemäßige interne Operationen nicht mehr blockiert.

10 10 

11<Note>11<Note>

12 Auto-Modus ist für alle Benutzer auf der Anthropic API verfügbar. Bei Amazon Bedrock, Google Cloud Vertex AI und Microsoft Foundry müssen Sie zunächst [`CLAUDE_CODE_ENABLE_AUTO_MODE`](/de/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) festlegen. Wenn Claude Code meldet, dass Auto-Modus für Ihr Konto nicht verfügbar ist, überprüfen Sie die [vollständigen Anforderungen](/de/permission-modes#eliminate-prompts-with-auto-mode), die auch die unterstützten Modelle und die Admin-Aktivierung auf Team- und Enterprise-Plänen abdecken.12 Auto-Modus ist für alle Benutzer auf der Anthropic API verfügbar. Bei Amazon Bedrock, Google Cloud Vertex AI und Microsoft Foundry müssen Sie zunächst [`CLAUDE_CODE_ENABLE_AUTO_MODE`](/de/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) festlegen. Wenn Claude Code meldet, dass Auto-Modus für Ihr Konto nicht verfügbar ist, überprüfen Sie die [vollständigen Anforderungen](/de/permission-modes#eliminate-prompts-with-auto-mode), die auch die unterstützten Modelle und die Admin-Aktivierung auf Team- und Enterprise-Plänen abdecken.


35| Bereich | Datei | Verwendung für |35| Bereich | Datei | Verwendung für |

36| :------------------------------- | :------------------------------------------------------ | :-------------------------------------------------------------------- |36| :------------------------------- | :------------------------------------------------------ | :-------------------------------------------------------------------- |

37| Ein Entwickler | `~/.claude/settings.json` | Persönliche vertrauenswürdige Infrastruktur |37| Ein Entwickler | `~/.claude/settings.json` | Persönliche vertrauenswürdige Infrastruktur |

38| Ein Projekt, ein Entwickler | `.claude/settings.local.json` | Pro-Projekt-vertrauenswürdige Buckets oder Services, gitignored |38| Ein Projekt, ein Entwickler | `.claude/settings.local.json` | Pro-Projekt-vertrauenswürdige Buckets oder Services |

39| Organisationsweit | [Verwaltete Einstellungen](/de/server-managed-settings) | Vertrauenswürdige Infrastruktur, die an alle Entwickler verteilt wird |39| Organisationsweit | [Verwaltete Einstellungen](/de/server-managed-settings) | Vertrauenswürdige Infrastruktur, die an alle Entwickler verteilt wird |

40| `--settings`-Flag oder Agent SDK | Inline-JSON | Pro-Aufruf-Überschreibungen für Automatisierung |40| `--settings`-Flag oder Agent SDK | Inline-JSON | Pro-Aufruf-Überschreibungen für Automatisierung |

41 41 


188Um programmatisch auf Ablehnungen zu reagieren, verwenden Sie den [`PermissionDenied`-Hook](/de/hooks#permissiondenied).188Um programmatisch auf Ablehnungen zu reagieren, verwenden Sie den [`PermissionDenied`-Hook](/de/hooks#permissiondenied).

189 189 

190<h2 id="see-also">190<h2 id="see-also">

191 See also191 Siehe auch

192</h2>192</h2>

193 193 

194* [Berechtigungsmodi](/de/permission-modes#eliminate-prompts-with-auto-mode): Was Auto-Modus ist, was er standardmäßig blockiert, und wie man ihn aktiviert194* [Berechtigungsmodi](/de/permission-modes#eliminate-prompts-with-auto-mode): Was Auto-Modus ist, was er standardmäßig blockiert, und wie man ihn aktiviert

channels.md +1 −1

Details

292 292 

293In `.mcp.json` zu sein reicht nicht aus, um Nachrichten zu übertragen: Ein Server muss auch in `--channels` benannt werden.293In `.mcp.json` zu sein reicht nicht aus, um Nachrichten zu übertragen: Ein Server muss auch in `--channels` benannt werden.

294 294 

295Die Allowlist kontrolliert auch [Berechtigungsweiterleitungen](/de/channels-reference#relay-permission-prompts), wenn der Kanal sie deklariert. Jeder, der über den Kanal antworten kann, kann die Tool-Nutzung in Ihrer Sitzung genehmigen oder ablehnen. Fügen Sie daher nur Sender zur Allowlist hinzu, denen Sie diese Autorität vertrauen.295Die Allowlist kontrolliert auch [Berechtigungsweiterleitungen](/de/channels-reference#relay-permission-prompts), wenn der Kanal sie deklariert. Jeder, der über den Kanal antworten kann, kann die Tool-Nutzung in Ihrer Sitzung genehmigen oder ablehnen, daher sollten Sie nur Sender zur Allowlist hinzufügen, denen Sie diese Autorität vertrauen.

296 296 

297<h2 id="enterprise-controls">297<h2 id="enterprise-controls">

298 Enterprise-Steuerelemente298 Enterprise-Steuerelemente

Details

142 claude --dangerously-load-development-channels server:webhook142 claude --dangerously-load-development-channels server:webhook

143 ```143 ```

144 144 

145 Beim ersten Mal, wenn Sie eine Sitzung in diesem Projekt starten, fragt Claude Code um Zustimmung, bevor der neue Server aus `.mcp.json` verwendet wird. Der Dialog meldet "New MCP server found in this project: webhook". Wählen Sie **Use this MCP server** aus, um fortzufahren.

146 

145 Wenn Claude Code startet, liest es Ihre MCP-Konfiguration, startet Ihre `webhook.ts` als Unterprozess, und der HTTP-Listener startet automatisch auf dem konfigurierten Port (8788 in diesem Beispiel). Sie müssen den Server nicht selbst ausführen.147 Wenn Claude Code startet, liest es Ihre MCP-Konfiguration, startet Ihre `webhook.ts` als Unterprozess, und der HTTP-Listener startet automatisch auf dem konfigurierten Port (8788 in diesem Beispiel). Sie müssen den Server nicht selbst ausführen.

146 148 

149 Eine schwache Benachrichtigung unter dem Startup-Banner bestätigt, dass der Channel registriert ist: `Channels (experimental) messages from server:webhook inject directly in this session · restart without --dangerously-load-development-channels to stop`.

150 

147 Wenn Sie "blocked by org policy" sehen, muss Ihr Organisations-Admin [Channels aktivieren](/de/channels#enterprise-controls) zuerst.151 Wenn Sie "blocked by org policy" sehen, muss Ihr Organisations-Admin [Channels aktivieren](/de/channels#enterprise-controls) zuerst.

148 152 

149 Simulieren Sie in einem separaten Terminal einen Webhook, indem Sie einen HTTP POST mit einer Nachricht an Ihren Server senden. Dieses Beispiel sendet eine CI-Fehlerbenachrichtigung an Port 8788 (oder welchen Port Sie konfiguriert haben):153 Simulieren Sie in einem separaten Terminal einen Webhook, indem Sie einen HTTP POST mit einer Nachricht an Ihren Server senden. Dieses Beispiel sendet eine CI-Fehlerbenachrichtigung an Port 8788 (oder welchen Port Sie konfiguriert haben):


455 459 

456Wenn Claude ein Tool aufruft, das Genehmigung benötigt, öffnet sich der lokale Terminal-Dialog und die Sitzung wartet. Ein bidirektionaler Channel kann sich dafür entscheiden, denselben Prompt parallel zu empfangen und ihn an Sie auf einem anderen Gerät weiterzuleiten. Beide bleiben aktiv: Sie können im Terminal oder auf Ihrem Telefon antworten, und Claude Code wendet die Antwort an, die zuerst ankommt, und schließt die andere.460Wenn Claude ein Tool aufruft, das Genehmigung benötigt, öffnet sich der lokale Terminal-Dialog und die Sitzung wartet. Ein bidirektionaler Channel kann sich dafür entscheiden, denselben Prompt parallel zu empfangen und ihn an Sie auf einem anderen Gerät weiterzuleiten. Beide bleiben aktiv: Sie können im Terminal oder auf Ihrem Telefon antworten, und Claude Code wendet die Antwort an, die zuerst ankommt, und schließt die andere.

457 461 

458Die Weitergabe deckt Tool-Nutzungsgenehmigungen wie Bash, Write und Edit ab. Projekt-Vertrauen und MCP-Server-Zustimmungsdialoge werden nicht weitergeleitet; diese erscheinen nur im lokalen Terminal.462Die Weitergabe deckt Tool-Nutzungsgenehmigungen wie `Bash`, `Write` und `Edit` ab. Projekt-Vertrauen und MCP-Server-Zustimmungsdialoge werden nicht weitergeleitet; diese erscheinen nur im lokalen Terminal.

459 463 

460<h3 id="how-relay-works">464<h3 id="how-relay-works">

461 Wie die Weitergabe funktioniert465 Wie die Weitergabe funktioniert


753curl -d "list the files in this directory" -H "X-Sender: dev" localhost:8788757curl -d "list the files in this directory" -H "X-Sender: dev" localhost:8788

754```758```

755 759 

756Der lokale Berechtigungsdialog öffnet sich in Ihrem Claude Code-Terminal. Einen Moment später erscheint der Prompt im `/events`-Stream, einschließlich der fünf-buchstabigen ID. Genehmigen Sie ihn von der Remote-Seite:760Das Auflisten von Dateien ist schreibgeschützt, daher führt Claude es ohne Genehmigung aus. Der Berechtigungsdialog öffnet sich, wenn Claude das `reply`-Tool aufruft, um seine Antwort zurückzusenden. Der lokale Dialog öffnet sich in Ihrem Claude Code-Terminal, und einen Moment später erscheint der Prompt für `mcp__webhook__reply` im `/events`-Stream, einschließlich der fünf-buchstabigen ID. Genehmigen Sie ihn von der Remote-Seite:

757 761 

758```bash theme={null}762```bash theme={null}

759curl -d "yes <id>" -H "X-Sender: dev" localhost:8788763curl -d "yes <id>" -H "X-Sender: dev" localhost:8788

760```764```

761 765 

762Der lokale Dialog schließt sich und das Tool läuft. Claudes Antwort kommt über das `reply`-Tool zurück und landet auch im Stream.766Der lokale Dialog schließt sich, das `reply`-Tool läuft, und Claudes Antwort landet im Stream.

763 767 

764Die drei Channel-spezifischen Teile in dieser Datei:768Die drei Channel-spezifischen Teile in dieser Datei:

765 769 

Details

59 59 

60Jede Sitzung wird in einer frischen, von Anthropic verwalteten VM mit Ihrem geklonten Repository ausgeführt. Dieser Abschnitt behandelt, was verfügbar ist, wenn eine Sitzung startet, und wie Sie sie anpassen können.60Jede Sitzung wird in einer frischen, von Anthropic verwalteten VM mit Ihrem geklonten Repository ausgeführt. Dieser Abschnitt behandelt, was verfügbar ist, wenn eine Sitzung startet, und wie Sie sie anpassen können.

61 61 

62<h3 id="what-s-available-in-cloud-sessions">62<h3 id="whats-available-in-cloud-sessions">

63 Was in Cloud-Sitzungen verfügbar ist63 Was in Cloud-Sitzungen verfügbar ist

64</h3>64</h3>

65 65 

66Cloud-Sitzungen starten von einem frischen Klon Ihres Repositories. Alles, was zum Repo committed ist, ist verfügbar. Alles, was Sie nur auf Ihrem eigenen Computer installiert oder konfiguriert haben, ist nicht verfügbar.66Cloud-Sitzungen starten von einem frischen Klon Ihres Repositories. Alles, was zum Repo committed ist, ist verfügbar. Alles, was Sie nur auf Ihrem eigenen Computer installiert oder konfiguriert haben, ist nicht verfügbar.

67 67 

68| | Verfügbar in Cloud-Sitzungen | Warum |68| | Verfügbar in Cloud-Sitzungen | Warum |

69| :------------------------------------------------------------------- | :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |69| :--------------------------------------------------------------------------- | :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

70| Ihr Repo's `CLAUDE.md` | Ja | Teil des Klons |70| Ihr Repo's `CLAUDE.md` | Ja | Teil des Klons |

71| Ihr Repo's `.claude/settings.json` Hooks | Ja | Teil des Klons |71| Ihr Repo's `.claude/settings.json` Hooks | Ja | Teil des Klons |

72| Ihr Repo's `.mcp.json` MCP-Server | Ja | Teil des Klons |72| Ihr Repo's `.mcp.json` MCP-Server | Ja | Teil des Klons |


74| Ihr Repo's `.claude/skills/`, `.claude/agents/`, `.claude/commands/` | Ja | Teil des Klons |74| Ihr Repo's `.claude/skills/`, `.claude/agents/`, `.claude/commands/` | Ja | Teil des Klons |

75| In `.claude/settings.json` deklarierte Plugins | Ja | Installiert beim Sitzungsstart vom [Marketplace](/de/plugin-marketplaces), den Sie deklariert haben. Erfordert Netzwerkzugriff, um die Marketplace-Quelle zu erreichen |75| In `.claude/settings.json` deklarierte Plugins | Ja | Installiert beim Sitzungsstart vom [Marketplace](/de/plugin-marketplaces), den Sie deklariert haben. Erfordert Netzwerkzugriff, um die Marketplace-Quelle zu erreichen |

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

77| Ihr Benutzer `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | Nein | Leben auf Ihrem Computer, nicht im Repo. Committen Sie sie stattdessen ins Verzeichnis `.claude/` des Repos. Skills, die Sie auf claude.ai aktivieren, werden automatisch in Cloud-Sitzungen geladen |

77| 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 |78| 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 |

78| MCP-Server, die Sie mit `claude mcp add` hinzugefügt haben | Nein | Diese schreiben in Ihre lokale Benutzerkonfiguration, nicht ins Repo. Deklarieren Sie den Server stattdessen in [`.mcp.json`](/de/mcp#project-scope) |79| MCP-Server, die Sie mit `claude mcp add` hinzugefügt haben | Nein | Diese schreiben in Ihre lokale Benutzerkonfiguration, nicht ins Repo. Deklarieren Sie den Server stattdessen in [`.mcp.json`](/de/mcp#project-scope) |

79| Statische API-Token und Anmeldedaten | Nein | Es existiert noch kein dedizierter Secrets-Store. Siehe unten |80| Statische API-Token und Anmeldedaten | Nein | Es existiert noch kein dedizierter Secrets-Store. Siehe unten |


299 300 

300Der Netzwerkzugriff steuert ausgehende Verbindungen aus der Cloud-Umgebung. Jede Umgebung gibt eine Zugriffsstufe an, und Sie können sie mit benutzerdefinierten zulässigen Domains erweitern. Der Standard ist **Trusted**, das Paketregistries und andere [Allowlist-Domains](#default-allowed-domains) ermöglicht.301Der Netzwerkzugriff steuert ausgehende Verbindungen aus der Cloud-Umgebung. Jede Umgebung gibt eine Zugriffsstufe an, und Sie können sie mit benutzerdefinierten zulässigen Domains erweitern. Der Standard ist **Trusted**, das Paketregistries und andere [Allowlist-Domains](#default-allowed-domains) ermöglicht.

301 302 

302Um die Netzwerkzugriff einer Umgebung zu ändern, [öffnen Sie sie zum Bearbeiten](#configure-your-environment) und verwenden Sie den **Netzwerkzugriff**-Selektor im Dialog. Es gibt keine separate Seite für Umgebungen. Das Cloud-Symbol wird überall angezeigt, wo Sie eine Cloud-Sitzung starten oder eine [Routine](/de/routines#environments-and-network-access) konfigurieren.303Um den Netzwerkzugriff einer Umgebung zu ändern, [öffnen Sie sie zum Bearbeiten](#configure-your-environment) und verwenden Sie den **Netzwerkzugriff**-Selektor im Dialog. Es gibt keine separate Seite für Umgebungen. Das Cloud-Symbol wird überall angezeigt, wo Sie eine Cloud-Sitzung starten oder eine [Routine](/de/routines#environments-and-network-access) konfigurieren.

303 304 

304<Note>305<Note>

305 MCP-Connector-Datenverkehr wird über Anthropics Server geleitet, daher funktionieren die Connectors, die Sie auf einer Sitzung oder Routine aktivieren, ohne ihre Hosts zu **Zulässigen Domains** hinzuzufügen. Connectors werden pro Sitzung oder pro Routine konfiguriert; entfernen Sie alle, die Sie nicht benötigen, um zu begrenzen, welche Tools Claude erreichen kann. Dies basiert auf dem gleichen Anthropic-gebundenen Kanal, der unter [Sicherheit und Isolation](#security-and-isolation) erwähnt wird.306 MCP-Connector-Datenverkehr wird über Anthropics Server geleitet, daher funktionieren die Connectors, die Sie auf einer Sitzung oder Routine aktivieren, ohne ihre Hosts zu **Zulässigen Domains** hinzuzufügen. Connectors werden pro Sitzung oder pro Routine konfiguriert; entfernen Sie alle, die Sie nicht benötigen, um zu begrenzen, welche Tools Claude erreichen kann. Dies basiert auf dem gleichen Anthropic-gebundenen Kanal, der unter [Sicherheit und Isolation](#security-and-isolation) erwähnt wird.


353* Schutz vor böswilligen Anfragen354* Schutz vor böswilligen Anfragen

354* Ratenbegrenzung und Missbrauchsprävention355* Ratenbegrenzung und Missbrauchsprävention

355* Inhaltsfilterung für erhöhte Sicherheit356* Inhaltsfilterung für erhöhte Sicherheit

357* Ein DNS-Audit-Trail der angeforderten Hostnamen

356 358 

357<h3 id="default-allowed-domains">359<h3 id="default-allowed-domains">

358 Standard-Allowlist-Domains360 Standard-Allowlist-Domains


745| `/context` | Ja | Zeigt, was sich derzeit im Kontextfenster befindet |747| `/context` | Ja | Zeigt, was sich derzeit im Kontextfenster befindet |

746| `/clear` | Nein | Starten Sie stattdessen eine neue Sitzung aus der Seitenleiste |748| `/clear` | Nein | Starten Sie stattdessen eine neue Sitzung aus der Seitenleiste |

747 749 

748Auto-Kompaktierung wird automatisch ausgeführt, wenn sich das Kontextfenster der Kapazität nähert, genau wie in der CLI. Um es früher auszulösen, setzen Sie [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/de/env-vars) in Ihren [Umgebungsvariablen](#configure-your-environment). Zum Beispiel kompaktiert `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` bei 70% Kapazität statt des Standards \~95%. Um die effektive Fenstergröße für Kompaktierungsberechnungen zu ändern, verwenden Sie [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/de/env-vars).750Auto-Kompaktierung wird automatisch ausgeführt, wenn sich das Kontextfenster der Kapazität nähert. Um es früher auszulösen, setzen Sie [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/de/env-vars) in Ihren [Umgebungsvariablen](#configure-your-environment). Zum Beispiel kompaktiert `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` bei 70% Kapazität statt des Wartens, bis das Fenster fast voll ist. Um die effektive Fenstergröße für Kompaktierungsberechnungen zu ändern, verwenden Sie [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/de/env-vars).

749 751 

750[Subagents](/de/sub-agents) funktionieren genauso wie lokal. Claude kann sie mit dem Task-Tool spawnen, um Forschung oder parallele Arbeit in ein separates Kontextfenster auszulagern, um das Hauptgespräch leichter zu halten. Subagents, die in Ihrem Repo's `.claude/agents/` definiert sind, werden automatisch aufgegriffen. [Agent-Teams](/de/agent-teams) sind standardmäßig deaktiviert, können aber aktiviert werden, indem Sie `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` zu Ihren [Umgebungsvariablen](#configure-your-environment) hinzufügen.752[Subagents](/de/sub-agents) funktionieren genauso wie lokal. Claude kann sie mit dem Task-Tool spawnen, um Forschung oder parallele Arbeit in ein separates Kontextfenster auszulagern, um das Hauptgespräch leichter zu halten. Subagents, die in Ihrem Repo's `.claude/agents/` definiert sind, werden automatisch aufgegriffen. [Agent-Teams](/de/agent-teams) sind standardmäßig deaktiviert, können aber aktiviert werden, indem Sie `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` zu Ihren [Umgebungsvariablen](#configure-your-environment) hinzufügen.

751 753 


868 870 

869* Führen Sie `/login` lokal aus, um Ihre Anmeldedaten zu aktualisieren, und verbinden Sie sich dann erneut871* Führen Sie `/login` lokal aus, um Ihre Anmeldedaten zu aktualisieren, und verbinden Sie sich dann erneut

870* Bestätigen Sie, dass Sie sich bei demselben Konto angemeldet haben, das die Sitzung besitzt872* Bestätigen Sie, dass Sie sich bei demselben Konto angemeldet haben, das die Sitzung besitzt

871* Wenn Sie `Remote Control may not be available for this organization` sehen, hat Ihr Admin Remote-Sitzungen für Ihren Plan nicht aktiviert873* Wenn Sie `Remote Control may not be available for this organization` sehen, hat Ihr Admin Cloud-Sitzungen für Ihren Plan nicht aktiviert

872 874 

873<h3 id="environment-expired">875<h3 id="environment-expired">

874 Umgebung abgelaufen876 Umgebung abgelaufen

claude-directory.md +1427 −1

Details

6 6 

7> Wo Claude Code CLAUDE.md, settings.json, hooks, skills, commands, subagents, workflows, rules und auto memory liest. Erkunden Sie das .claude-Verzeichnis in Ihrem Projekt und ~/.claude in Ihrem Home-Verzeichnis.7> Wo Claude Code CLAUDE.md, settings.json, hooks, skills, commands, subagents, workflows, rules und auto memory liest. Erkunden Sie das .claude-Verzeichnis in Ihrem Projekt und ~/.claude in Ihrem Home-Verzeichnis.

8 8 

9export const ClaudeExplorer = () => {

10 const A = useMemo(() => ({href, children}) => <a href={href} style={{

11 color: 'var(--ce-accent)',

12 textDecoration: 'none',

13 borderBottom: '1px dotted var(--ce-accent)'

14 }}>{children}</a>, []);

15 const C = useMemo(() => ({children}) => <code style={{

16 fontFamily: 'var(--ce-mono)',

17 fontSize: '0.92em',

18 padding: '1px 4px',

19 borderRadius: '3px',

20 background: 'var(--ce-surface)',

21 border: '0.5px solid var(--ce-border-subtle)'

22 }}>{children}</code>, []);

23 const commandsNote = useMemo(() => <>Commands and skills are now the same mechanism. For new workflows, use <A href="/en/skills">skills/</A> instead: same <C>/name</C> invocation, plus you can bundle supporting files.</>, []);

24 const FILE_TREE = useMemo(() => ({

25 project: {

26 label: 'your-project/',

27 children: [{

28 id: 'claude-md',

29 label: 'CLAUDE.md',

30 type: 'file',

31 icon: 'md',

32 color: '#6A9BCC',

33 badge: 'committed',

34 oneLiner: 'Project instructions Claude reads every session',

35 when: 'Loaded into context at the start of every session',

36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',

37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/en/skills">skill</A> or a path-scoped <A href="/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>],

38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',

39 example: `# Project conventions

40 

41## Commands

42- Build: \`npm run build\`

43- Test: \`npm test\`

44- Lint: \`npm run lint\`

45 

46## Stack

47- TypeScript with strict mode

48- React 19, functional components only

49 

50## Rules

51- Named exports, never default exports

52- Tests live next to source: \`foo.ts\` -> \`foo.test.ts\`

53- All API routes return \`{ data, error }\` shape`,

54 docsLink: '/en/memory'

55 }, {

56 id: 'mcp-json',

57 label: '.mcp.json',

58 type: 'file',

59 icon: 'json',

60 color: '#9B7BC4',

61 badge: 'committed',

62 oneLiner: 'Project-scoped MCP servers, shared with your team',

63 when: <>Servers connect when the session begins. Tool schemas are deferred by default and load on demand via <A href="/en/mcp#scale-with-mcp-tool-search">tool search</A></>,

64 description: <>Configures Model Context Protocol (MCP) servers that give Claude access to external tools: databases, APIs, browsers, and more. This file holds the project-scoped servers your whole team uses. Personal servers you want to keep to yourself go in <C>~/.claude.json</C> instead.</>,

65 tips: [<>Use environment variable references for secrets: <C>{'${GITHUB_TOKEN}'}</C></>, <>Lives at the project root, not inside <C>.claude/</C></>, <>For servers only you need, run <C>claude mcp add --scope user</C>. This writes to <C>~/.claude.json</C> instead of <C>.mcp.json</C></>],

66 exampleIntro: <>This example configures the GitHub MCP server so Claude can read issues and open pull requests. The <C>{'${GITHUB_TOKEN}'}</C> reference is read from your shell environment when Claude Code starts the server, so the token never lands in the file.</>,

67 example: `{

68 "mcpServers": {

69 "github": {

70 "command": "npx",

71 "args": ["-y", "@modelcontextprotocol/server-github"],

72 "env": {

73 "GITHUB_TOKEN": "\${GITHUB_TOKEN}"

74 }

75 }

76 }

77}`,

78 docsLink: '/en/mcp'

79 }, {

80 id: 'worktreeinclude',

81 label: '.worktreeinclude',

82 type: 'file',

83 icon: 'md',

84 color: '#8FA876',

85 badge: 'committed',

86 oneLiner: 'Gitignored files to copy into new worktrees',

87 when: <>Read when Claude creates a git worktree via <C>--worktree</C>, the <C>EnterWorktree</C> tool, or subagent <C>isolation: worktree</C></>,

88 description: <>Lists gitignored files to copy from your main repository into each new worktree. Worktrees are fresh checkouts, so untracked files like <C>.env</C> are missing by default. Patterns here use <C>.gitignore</C> syntax. Only files that match a pattern and are also gitignored get copied, so tracked files are never duplicated.</>,

89 tips: [<>Lives at the project root, not inside <C>.claude/</C></>, <>Git-only: if you configure a <A href="/en/hooks#worktreecreate">WorktreeCreate hook</A> for a different VCS, this file is not read. Copy files inside your hook script instead</>, <>Also applies to parallel sessions in the <A href="/en/desktop#work-in-parallel-with-sessions">desktop app</A></>],

90 exampleIntro: 'This example copies your local environment files and a secrets config into every worktree Claude creates. Comments start with # and blank lines are ignored, same as .gitignore.',

91 example: `# Local environment

92.env

93.env.local

94 

95# API credentials

96config/secrets.json`,

97 docsLink: '/en/worktrees#copy-gitignored-files-into-worktrees'

98 }, {

99 id: 'dot-claude',

100 label: '.claude/',

101 type: 'folder',

102 icon: 'folder',

103 color: 'var(--ce-accent)',

104 oneLiner: 'Project-level configuration, rules, and extensions',

105 description: 'Everything Claude Code reads that is specific to this project. If you use git, commit most files here so your team shares them; a few, like settings.local.json, are automatically gitignored. Each file badge shows which.',

106 children: [{

107 id: 'settings-json',

108 label: 'settings.json',

109 type: 'file',

110 icon: 'json',

111 color: 'var(--ce-text-3)',

112 badge: 'committed',

113 oneLiner: 'Permissions, hooks, and configuration',

114 when: <>Overrides global <C>~/.claude/settings.json</C>. Local settings, CLI flags, and managed settings override this</>,

115 description: 'Settings that Claude Code applies directly. Permissions control which commands and tools Claude can use; hooks run your scripts at specific points in a session. Unlike CLAUDE.md, which Claude reads as guidance, these are enforced whether Claude follows them or not.',

116 contains: [<><A href="/en/permissions">permissions</A>: allow, deny, or prompt before Claude uses specific tools or commands</>, <><A href="/en/hooks">hooks</A>: run your own scripts on events like before a tool call or after a file edit</>, <><A href="/en/statusline">statusLine</A>: customize the line shown at the bottom while Claude works</>, <><A href="/en/settings#available-settings">model</A>: pick a default model for this project</>, <><A href="/en/settings#environment-variables">env</A>: environment variables set in every session</>, <><A href="/en/output-styles">outputStyle</A>: select a custom system-prompt style from output-styles/</>],

117 tips: [<>Bash permission patterns support wildcards: <C>Bash(npm test *)</C> matches any command starting with <C>npm test</C></>, <>Array settings like <C>permissions.allow</C> combine across all scopes; scalar settings like <C>model</C> use the most specific value</>],

118 exampleIntro: <>This example allows <C>npm test</C> and <C>npm run</C> commands without prompting, blocks <C>rm -rf</C>, and runs Prettier on files after Claude edits or writes them.</>,

119 example: `{

120 "permissions": {

121 "allow": [

122 "Bash(npm test *)",

123 "Bash(npm run *)"

124 ],

125 "deny": [

126 "Bash(rm -rf *)"

127 ]

128 },

129 "hooks": {

130 "PostToolUse": [{

131 "matcher": "Edit|Write",

132 "hooks": [{

133 "type": "command",

134 "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"

135 }]

136 }]

137 }

138}`,

139 docsLink: '/en/settings'

140 }, {

141 id: 'settings-local-json',

142 label: 'settings.local.json',

143 type: 'file',

144 icon: 'json',

145 color: 'var(--ce-text-3)',

146 badge: 'gitignored',

147 oneLiner: 'Your personal settings overrides for this project',

148 when: 'Highest of the user-editable settings files; CLI flags and managed settings still take precedence',

149 description: 'Personal settings that take precedence over the project defaults. Same JSON format as settings.json, but not committed. Use this when you need different permissions or defaults than the team config.',

150 tips: [<>Same schema as settings.json. Array settings like <C>permissions.allow</C> combine across scopes; scalar settings like <C>model</C> use the local value</>, <>Claude Code adds this file to <C>~/.config/git/ignore</C> the first time it writes one. If you use a custom <C>core.excludesFile</C>, add the pattern there too. To share the ignore rule with your team, also add it to the project <C>.gitignore</C></>],

151 exampleIntro: 'This example adds Docker permissions on top of whatever the team settings.json allows.',

152 example: `{

153 "permissions": {

154 "allow": [

155 "Bash(docker *)"

156 ]

157 }

158}`,

159 docsLink: '/en/settings'

160 }, {

161 id: 'rules',

162 label: 'rules/',

163 type: 'folder',

164 icon: 'folder',

165 color: '#9B7BC4',

166 oneLiner: 'Topic-scoped instructions, optionally gated by file paths',

167 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,

168 description: [<>Project instructions split into topic files that can load conditionally based on file paths. A rule without <C>paths:</C> frontmatter loads at session start like CLAUDE.md; a rule with <C>paths:</C> loads only when Claude reads a matching file.</>, <>Like CLAUDE.md, rules are guidance Claude reads, not configuration Claude Code enforces. For guaranteed behavior use <A href="/en/hooks">hooks</A> or <A href="/en/permissions">permissions</A>.</>],

169 tips: [<>Use <C>paths:</C> frontmatter with globs to scope rules to directories or file types</>, <>Subdirectories work: <C>.claude/rules/frontend/react.md</C> is discovered automatically</>, 'When CLAUDE.md approaches 200 lines, start splitting into rules'],

170 docsLink: '/en/memory#organize-rules-with-claude/rules/',

171 children: [{

172 id: 'rule-testing',

173 label: 'testing.md',

174 type: 'file',

175 icon: 'md',

176 color: '#9B7BC4',

177 badge: 'committed',

178 oneLiner: 'Test conventions scoped to test files',

179 when: <>Loaded when Claude reads a file matching the <C>paths:</C> globs below</>,

180 description: <>An example rule that only loads when Claude is working on test files. The <C>paths:</C> globs in the frontmatter define which files trigger it; here, anything ending in .test.ts or .test.tsx. For other files, this rule is not loaded into context.</>,

181 example: `---

182paths:

183 - "**/*.test.ts"

184 - "**/*.test.tsx"

185---

186 

187# Testing Rules

188 

189- Use descriptive test names: "should [expected] when [condition]"

190- Mock external dependencies, not internal modules

191- Clean up side effects in afterEach`

192 }, {

193 id: 'rule-api',

194 label: 'api-design.md',

195 type: 'file',

196 icon: 'md',

197 color: '#9B7BC4',

198 badge: 'committed',

199 oneLiner: 'API conventions scoped to backend code',

200 when: <>Loaded when Claude reads a file matching the <C>paths:</C> glob below</>,

201 description: <>A second example showing a rule scoped to backend code. The <C>paths:</C> glob matches files under src/api/, so these conventions load only when Claude is editing API routes.</>,

202 example: `---

203paths:

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

205---

206 

207# API Design Rules

208 

209- All endpoints must validate input with Zod schemas

210- Return shape: { data: T } | { error: string }

211- Rate limit all public endpoints`

212 }]

213 }, {

214 id: 'skills',

215 label: 'skills/',

216 type: 'folder',

217 icon: 'folder',

218 color: '#D4A843',

219 oneLiner: 'Reusable prompts you or Claude invoke by name',

220 when: <>Invoked with <C>/skill-name</C> or when Claude matches the task to a skill</>,

221 description: <>Each skill is a folder with a SKILL.md file plus any supporting files it needs. By default, both you and Claude can invoke a skill. Use frontmatter to control that: <C>disable-model-invocation: true</C> for user-only workflows like <C>/deploy</C>, or <C>user-invocable: false</C> to hide from the <C>/</C> menu while Claude can still invoke it.</>,

222 tips: [<>Skills accept arguments: <C>/deploy staging</C> passes "staging" as <C>$ARGUMENTS</C>. Use <C>$0</C>, <C>$1</C>, and so on for positional access</>, <>The <C>description</C> frontmatter determines when Claude auto-invokes the skill</>, 'Bundle reference docs alongside SKILL.md. Claude knows the skill directory path and can read supporting files when you mention them'],

223 docsLink: '/en/skills',

224 children: [{

225 id: 'skill-review',

226 label: 'security-review/',

227 type: 'folder',

228 icon: 'folder',

229 color: '#D4A843',

230 oneLiner: 'A skill bundling SKILL.md with supporting files',

231 children: [{

232 id: 'skill-review-md',

233 label: 'SKILL.md',

234 type: 'file',

235 icon: 'md',

236 color: '#D4A843',

237 badge: 'committed',

238 oneLiner: 'Entrypoint: trigger, invocability, instructions',

239 when: <>User types <C>/security-review &lt;target&gt;</C>; Claude cannot auto-invoke this skill</>,

240 description: [<>This skill uses <C>disable-model-invocation: true</C> so only you can trigger it; Claude never invokes it on its own.</>, <>The <C>!`...`</C> line runs a shell command and injects its output into the prompt. <C>$ARGUMENTS</C> substitutes whatever you typed after the skill name. Claude sees the skill directory path, so mentioning a bundled file like checklist.md lets Claude read it.</>],

241 example: `---

242description: Reviews code changes for security vulnerabilities, authentication gaps, and injection risks

243disable-model-invocation: true

244argument-hint: <branch-or-path>

245---

246 

247## Diff to review

248 

249!\`git diff $ARGUMENTS\`

250 

251Audit the changes above for:

252 

2531. Injection vulnerabilities (SQL, XSS, command)

2542. Authentication and authorization gaps

2553. Hardcoded secrets or credentials

256 

257Use checklist.md in this skill directory for the full review checklist.

258 

259Report findings with severity ratings and remediation steps.`

260 }, {

261 id: 'skill-checklist',

262 label: 'checklist.md',

263 type: 'file',

264 icon: 'md',

265 color: '#D4A843',

266 badge: 'committed',

267 oneLiner: 'Supporting file bundled with the skill',

268 when: 'Claude reads it on demand while running the skill',

269 description: <>Skills can bundle any supporting files: reference docs, templates, scripts. The skill directory path is prepended to SKILL.md, so Claude can read bundled files by name. For scripts in bash injection commands, use the <C>{'${CLAUDE_SKILL_DIR}'}</C> placeholder.</>,

270 example: `# Security Review Checklist

271 

272## Input Validation

273- [ ] All user input sanitized before DB queries

274- [ ] File upload MIME types validated

275- [ ] Path traversal prevented on file operations

276 

277## Authentication

278- [ ] JWT tokens expire after 24 hours

279- [ ] API keys stored in environment variables

280- [ ] Passwords hashed with bcrypt or argon2`

281 }]

282 }]

283 }, {

284 id: 'commands',

285 label: 'commands/',

286 type: 'folder',

287 icon: 'folder',

288 color: '#788C5D',

289 oneLiner: <>Single-file prompts invoked with <C>/name</C></>,

290 note: commandsNote,

291 when: <>User types <C>/command-name</C></>,

292 description: <>A file at <C>commands/deploy.md</C> creates <C>/deploy</C> the same way a skill at <C>skills/deploy/SKILL.md</C> does, and both can be auto-invoked by Claude. Skills use a directory with SKILL.md, letting you bundle reference docs, templates, or scripts alongside the prompt.</>,

293 tips: [<>Use <C>$ARGUMENTS</C> in the file to accept parameters: <C>/fix-issue 123</C></>, 'If a skill and command share a name, the skill takes precedence', 'New commands should usually be skills instead; commands remain supported'],

294 docsLink: '/en/skills',

295 children: [{

296 id: 'cmd-example',

297 label: 'fix-issue.md',

298 type: 'file',

299 icon: 'md',

300 color: '#788C5D',

301 badge: 'committed',

302 oneLiner: <>Invoked as <C>/fix-issue &lt;number&gt;</C></>,

303 note: commandsNote,

304 description: [<>An example command for fixing a GitHub issue. Type <C>/fix-issue 123</C> and the <C>!`...`</C> line runs <C>gh issue view 123</C> in your shell, injecting the output into the prompt before Claude sees it.</>, <><C>$ARGUMENTS</C> substitutes whatever you typed after the command name. For positional access, use <C>$0</C> <C>$1</C> and so on.</>],

305 example: `---

306argument-hint: <issue-number>

307---

308 

309!\`gh issue view $ARGUMENTS\`

310 

311Investigate and fix the issue above.

312 

3131. Trace the bug to its root cause

3142. Implement the fix

3153. Write or update tests

3164. Summarize what you changed and why`

317 }]

318 }, {

319 id: 'output-styles',

320 label: 'output-styles/',

321 type: 'folder',

322 icon: 'folder',

323 color: '#5AA7A7',

324 oneLiner: 'Project-scoped output styles, if your team shares any',

325 when: 'Applied at session start when selected via the outputStyle setting',

326 description: <>Output styles are usually personal, so most live in <C>~/.claude/output-styles/</C>. Put one here if your team shares a style, like a review mode everyone uses. See <A href="#ce-global-output-styles">the Global tab</A> for the full explanation and example.</>,

327 docsLink: '/en/output-styles',

328 children: []

329 }, {

330 id: 'agents',

331 label: 'agents/',

332 type: 'folder',

333 icon: 'folder',

334 color: '#C46686',

335 oneLiner: 'Specialized subagents with their own context window',

336 when: 'Runs in its own context window when you or Claude invoke it',

337 description: 'Each markdown file defines a subagent with its own system prompt, tool access, and optionally its own model. Subagents run in a fresh context window, keeping the main conversation clean. Useful for parallel work or isolated tasks.',

338 tips: ['Each agent gets a fresh context window, separate from your main session', <>Restrict tool access per agent with the <C>tools:</C> frontmatter field</>, 'Type @ and pick an agent from the autocomplete to delegate directly'],

339 docsLink: '/en/sub-agents',

340 children: [{

341 id: 'agent-reviewer',

342 label: 'code-reviewer.md',

343 type: 'file',

344 icon: 'md',

345 color: '#C46686',

346 badge: 'committed',

347 oneLiner: 'Subagent for isolated code review',

348 when: 'Claude spawns it for review tasks, or you @-mention it from the autocomplete',

349 description: <>An example subagent restricted to read-only tools. The <C>description</C> frontmatter tells Claude when to delegate to it automatically; <C>tools:</C> limits it to Read, Grep, and Glob so it can inspect code but never edit. The body becomes the subagent's system prompt.</>,

350 example: `---

351name: code-reviewer

352description: Reviews code for correctness, security, and maintainability

353tools: Read, Grep, Glob

354---

355 

356You are a senior code reviewer. Review for:

357 

3581. Correctness: logic errors, edge cases, null handling

3592. Security: injection, auth bypass, data exposure

3603. Maintainability: naming, complexity, duplication

361 

362Every finding must include a concrete fix.`

363 }]

364 }, {

365 id: 'workflows',

366 label: 'workflows/',

367 type: 'folder',

368 icon: 'folder',

369 color: '#C46686',

370 oneLiner: 'Dynamic workflow scripts that orchestrate many subagents',

371 when: 'Loaded at startup; each file becomes a /<name> command',

372 description: <>Each <C>.js</C> file is a <A href="/en/workflows">dynamic workflow</A>: a script the runtime executes to spawn and coordinate many subagents. Workflows are written by Claude and saved here from <C>/workflows</C> rather than authored from scratch.</>,

373 tips: [<>Save a run from <C>/workflows</C> with <C>s</C> to create one of these</>, <>A project workflow takes precedence over a personal one in <C>~/.claude/workflows/</C> with the same name</>],

374 docsLink: '/en/workflows'

375 }, {

376 id: 'agent-memory',

377 label: 'agent-memory/',

378 type: 'folder',

379 icon: 'folder',

380 color: '#C46686',

381 badge: 'committed',

382 autogen: true,

383 oneLiner: 'Subagent persistent memory, separate from your main session auto memory',

384 when: 'First 200 lines (capped at 25KB) of MEMORY.md loaded into the subagent system prompt when it runs',

385 description: <>Subagents with <C>memory: project</C> in their frontmatter get a dedicated memory directory here. This is distinct from your <A href="/en/memory#auto-memory">main session auto memory</A> at <C>~/.claude/projects/</C>: each subagent reads and writes its own MEMORY.md, not yours.</>,

386 tips: [<>Only created for subagents that set the <C>memory:</C> frontmatter field</>, <>This directory holds project-scoped subagent memory, meant to be shared with your team. To keep memory out of version control use <C>memory: local</C>, which writes to <C>.claude/agent-memory-local/</C> instead. For cross-project memory use <C>memory: user</C>, which writes to <C>~/.claude/agent-memory/</C></>, <>The main session auto memory is a different feature; see <C>~/.claude/projects/</C> in the Global tab</>],

387 docsLink: '/en/sub-agents#enable-persistent-memory',

388 children: [{

389 id: 'agent-memory-sub',

390 label: '<agent-name>/',

391 type: 'folder',

392 icon: 'folder',

393 color: '#C46686',

394 autogen: true,

395 children: [{

396 id: 'agent-memory-md',

397 label: 'MEMORY.md',

398 type: 'file',

399 icon: 'md',

400 color: '#C46686',

401 badge: 'committed',

402 autogen: true,

403 oneLiner: 'The subagent writes and maintains this file automatically',

404 when: 'Loaded into the subagent system prompt when the subagent starts',

405 description: <>Works the same as your <A href="/en/memory#auto-memory">main auto memory</A>: the subagent creates and updates this file itself. You do not write it. The subagent reads it at the start of each task and writes back what it learns.</>,

406 example: `# code-reviewer memory

407 

408## Patterns seen

409- Project uses custom Result<T, E> type, not exceptions

410- Auth middleware expects Bearer token in Authorization header

411- Tests use factory functions in test/factories/

412 

413## Recurring issues

414- Missing null checks on API responses (src/api/*)

415- Unhandled promise rejections in background jobs`

416 }]

417 }]

418 }]

419 }]

420 },

421 global: {

422 label: '~/',

423 children: [{

424 id: 'claude-json',

425 label: '.claude.json',

426 type: 'file',

427 icon: 'json',

428 color: 'var(--ce-text-3)',

429 badge: 'local',

430 oneLiner: 'App state and UI preferences',

431 when: <>Read at session start for your preferences and MCP servers. Claude Code writes back to it when you change settings in <C>/config</C> or approve trust prompts</>,

432 description: <>Holds state that does not belong in settings.json: theme, OAuth session, per-project trust decisions, your personal MCP servers, and UI toggles. Mostly managed through <C>/config</C> rather than editing directly.</>,

433 tips: [<>IDE toggles like <C>autoConnectIde</C> and <C>externalEditorContext</C> live here, not in settings.json</>, <>The <C>projects</C> key tracks per-project state like trust-dialog acceptance and last-session metrics. Permission rules you approve in-session go to <C>.claude/settings.local.json</C> instead</>, <>MCP servers here are yours only: user scope applies across all projects, local scope is per-project but not committed. Team-shared servers go in <C>.mcp.json</C> at the project root instead</>],

434 example: `{

435 "autoConnectIde": true,

436 "externalEditorContext": true,

437 "mcpServers": {

438 "my-tools": {

439 "command": "npx",

440 "args": ["-y", "@example/mcp-server"]

441 }

442 }

443}`,

444 docsLink: '/en/settings#global-config-settings'

445 }, {

446 id: 'global-dot-claude',

447 label: '.claude/',

448 type: 'folder',

449 icon: 'folder',

450 color: 'var(--ce-accent)',

451 oneLiner: 'Your personal configuration across all projects',

452 description: 'The global counterpart to your project .claude/ directory. Files here apply to every project you work in and are never committed to any repository.',

453 children: [{

454 id: 'global-claude-md',

455 label: 'CLAUDE.md',

456 type: 'file',

457 icon: 'md',

458 color: '#6A9BCC',

459 badge: 'local',

460 oneLiner: 'Personal preferences across every project',

461 when: 'Loaded at the start of every session, in every project',

462 description: 'Your global instruction file. Loaded alongside the project CLAUDE.md at session start, so both are in context together. When instructions conflict, project-level instructions take priority. Keep this to preferences that apply everywhere: response style, commit format, personal conventions.',

463 tips: ['Keep it short since it loads into context for every project, alongside that project\'s own CLAUDE.md', 'Good for response style, commit format, and personal conventions'],

464 example: `# Global preferences

465 

466- Keep explanations concise

467- Use conventional commit format

468- Show the terminal command to verify changes

469- Prefer composition over inheritance`,

470 docsLink: '/en/memory'

471 }, {

472 id: 'global-settings',

473 label: 'settings.json',

474 type: 'file',

475 icon: 'json',

476 color: 'var(--ce-text-3)',

477 badge: 'local',

478 oneLiner: 'Default settings for all projects',

479 when: 'Your defaults. Project and local settings.json override any keys you also set there',

480 description: [<>Same keys as project <C>settings.json</C>: permissions, hooks, model, environment variables, and the rest. Put settings here that you want in every project, like permissions you always allow, a preferred model, or a notification hook that runs regardless of which project you're in.</>, <>Settings follow a precedence order: project <C>settings.json</C> overrides any matching keys you set here. This is different from CLAUDE.md, where global and project files are both loaded into context rather than merged key by key.</>],

481 example: `{

482 "permissions": {

483 "allow": [

484 "Bash(git log *)",

485 "Bash(git diff *)"

486 ]

487 }

488}`,

489 docsLink: '/en/settings'

490 }, {

491 id: 'keybindings',

492 label: 'keybindings.json',

493 type: 'file',

494 icon: 'json',

495 color: 'var(--ce-text-3)',

496 badge: 'local',

497 oneLiner: 'Custom keyboard shortcuts',

498 when: 'Read at session start and hot-reloaded when you edit the file',

499 description: <>Rebind keyboard shortcuts in the interactive CLI. Run <C>/keybindings</C> to create or open this file with a schema reference. Ctrl+C, Ctrl+D, Ctrl+M, and Caps Lock are reserved and cannot be rebound.</>,

500 exampleIntro: <>This example binds <C>Ctrl+E</C> to open your external editor and unbinds <C>Ctrl+U</C> by setting it to <C>null</C>. The <C>context</C> field scopes bindings to a specific part of the CLI, here the main chat input.</>,

501 example: `{

502 "$schema": "https://www.schemastore.org/claude-code-keybindings.json",

503 "$docs": "https://code.claude.com/docs/en/keybindings",

504 "bindings": [

505 {

506 "context": "Chat",

507 "bindings": {

508 "ctrl+e": "chat:externalEditor",

509 "ctrl+u": null

510 }

511 }

512 ]

513}`,

514 docsLink: '/en/keybindings'

515 }, {

516 id: 'themes',

517 label: 'themes/',

518 type: 'folder',

519 icon: 'folder',

520 color: '#5AA7A7',

521 oneLiner: 'Custom color themes',

522 when: <>Read at session start and hot-reloaded when files change. Listed in <C>/theme</C></>,

523 description: <>Each <C>.json</C> file defines a custom color theme: a built-in <C>base</C> preset plus an <C>overrides</C> map of color tokens. Create one interactively with <C>/theme</C> or write the JSON by hand. Selecting a custom theme stores <C>custom:&lt;slug&gt;</C> as your theme preference.</>,

524 example: `{

525 "name": "Dracula",

526 "base": "dark",

527 "overrides": {

528 "claude": "#bd93f9",

529 "error": "#ff5555",

530 "success": "#50fa7b"

531 }

532}`,

533 docsLink: '/en/terminal-config#create-a-custom-theme',

534 children: []

535 }, {

536 id: 'global-projects',

537 label: 'projects/',

538 type: 'folder',

539 icon: 'folder',

540 color: '#E8A45C',

541 autogen: true,

542 oneLiner: "Auto memory: Claude's notes to itself, per project",

543 when: 'MEMORY.md loaded at session start; topic files read on demand',

544 description: 'Auto memory lets Claude accumulate knowledge across sessions without you writing anything. Claude saves notes as it works: build commands, debugging insights, architecture notes. Each project gets its own memory directory keyed by the repository path.',

545 tips: [<>On by default. Toggle with <C>/memory</C> or <C>autoMemoryEnabled</C> in settings</>, 'MEMORY.md is the index loaded each session. The first 200 lines, or 25KB, whichever comes first, are read', 'Topic files like debugging.md are read on demand, not at startup', 'These are plain markdown. Edit or delete them anytime'],

546 docsLink: '/en/memory#auto-memory',

547 children: [{

548 id: 'memory-dir',

549 label: '<project>/memory/',

550 type: 'folder',

551 icon: 'folder',

552 color: '#E8A45C',

553 autogen: true,

554 oneLiner: "Claude's accumulated knowledge for one project",

555 children: [{

556 id: 'memory-md',

557 label: 'MEMORY.md',

558 type: 'file',

559 icon: 'md',

560 color: '#E8A45C',

561 badge: 'local',

562 autogen: true,

563 oneLiner: 'Claude writes and maintains this file automatically',

564 when: 'First 200 lines (capped at 25KB) loaded at session start',

565 description: 'Claude creates and updates this file as it works; you do not write it yourself. It acts as an index that Claude reads at the start of every session, pointing to topic files for detail. You can edit or delete it, but Claude will keep updating it.',

566 example: `# Memory Index

567 

568## Project

569- [build-and-test.md](build-and-test.md): npm run build (~45s), Vitest, dev server on 3001

570- [architecture.md](architecture.md): API client singleton, refresh-token auth

571 

572## Reference

573- [debugging.md](debugging.md): auth token rotation and DB connection troubleshooting`,

574 docsLink: '/en/memory'

575 }, {

576 id: 'memory-topic',

577 label: 'debugging.md',

578 type: 'file',

579 icon: 'md',

580 color: '#E8A45C',

581 badge: 'local',

582 autogen: true,

583 oneLiner: 'Topic notes Claude writes when MEMORY.md gets long',

584 when: 'Claude reads this when a related task comes up',

585 description: 'An example of a topic file Claude creates when MEMORY.md grows too long. Claude picks the filename based on what it splits out: debugging.md, architecture.md, build-commands.md, or similar. You never create these yourself. Claude reads a topic file back only when the current task relates to it.',

586 example: `---

587name: Debugging patterns

588description: Auth token rotation and database connection troubleshooting for this project

589type: reference

590---

591 

592## Auth Token Issues

593- Refresh token rotation: old token invalidated immediately

594- If 401 after refresh: check clock skew between client and server

595 

596## Database Connection Drops

597- Connection pool: max 10 in dev, 50 in prod

598- Always check \`docker compose ps\` first`

599 }]

600 }]

601 }, {

602 id: 'global-rules',

603 label: 'rules/',

604 type: 'folder',

605 icon: 'folder',

606 color: '#9B7BC4',

607 oneLiner: 'User-level rules that apply to every project',

608 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,

609 description: 'Same as project .claude/rules/ but applies everywhere. Use this for conventions you want across all your work, like personal code style or commit message format.',

610 docsLink: '/en/memory#organize-rules-with-claude/rules/',

611 children: []

612 }, {

613 id: 'global-skills',

614 label: 'skills/',

615 type: 'folder',

616 icon: 'folder',

617 color: '#D4A843',

618 oneLiner: 'Personal skills available in every project',

619 when: <>Invoked with <C>/skill-name</C> in any project</>,

620 description: 'Skills you built for yourself that work everywhere. Same structure as project skills: each is a folder with SKILL.md, scoped to your user account instead of a single project.',

621 docsLink: '/en/skills',

622 children: []

623 }, {

624 id: 'global-commands',

625 label: 'commands/',

626 type: 'folder',

627 icon: 'folder',

628 color: '#788C5D',

629 oneLiner: 'Personal single-file commands available in every project',

630 note: commandsNote,

631 when: <>User types <C>/command-name</C> in any project</>,

632 description: 'Same as project commands/ but scoped to your user account. Each markdown file becomes a command available everywhere.',

633 docsLink: '/en/skills',

634 children: []

635 }, {

636 id: 'global-output-styles',

637 label: 'output-styles/',

638 type: 'folder',

639 icon: 'folder',

640 color: '#5AA7A7',

641 oneLiner: 'Custom system-prompt sections that adjust how Claude works',

642 when: 'Applied at session start when selected via the outputStyle setting',

643 description: [<>Each markdown file defines an output style: a section appended to the system prompt that, by default, also drops the built-in software-engineering task instructions. Use this to adapt Claude Code for uses beyond coding, or to add teaching or review modes.</>, <>Select a built-in or custom style with <C>/config</C> or the <C>outputStyle</C> key in settings. Styles here are available in every project; project-level styles with the same name take precedence.</>],

644 tips: ['Built-in styles Explanatory and Learning are included with Claude Code; custom styles go here', <>Set <C>keep-coding-instructions: true</C> in frontmatter to keep the default task instructions alongside your additions</>, 'Changes take effect on the next session since the system prompt is fixed at startup for caching'],

645 docsLink: '/en/output-styles',

646 children: [{

647 id: 'output-style-example',

648 label: 'teaching.md',

649 type: 'file',

650 icon: 'md',

651 color: '#5AA7A7',

652 badge: 'local',

653 oneLiner: 'Example style that adds explanations and leaves small changes for you',

654 when: <>Active when <C>outputStyle</C> in settings is set to <C>teaching</C></>,

655 description: <>This style appends instructions to the system prompt: Claude adds a "Why this approach" note after each task and leaves TODO(human) markers for changes under 10 lines instead of writing them itself. Select it by setting <C>outputStyle</C> to the filename without .md, or to the <C>name</C> field if you set one in frontmatter.</>,

656 example: `---

657description: Explains reasoning and asks you to implement small pieces

658keep-coding-instructions: true

659---

660 

661After completing each task, add a brief "Why this approach" note

662explaining the key design decision.

663 

664When a change is under 10 lines, ask the user to implement it

665themselves by leaving a TODO(human) marker instead of writing it.`

666 }]

667 }, {

668 id: 'global-agents',

669 label: 'agents/',

670 type: 'folder',

671 icon: 'folder',

672 color: '#C46686',

673 oneLiner: 'Personal subagents available in every project',

674 when: 'Claude delegates or you @-mention in any project',

675 description: 'Subagents defined here are available across all your projects. Same format as project agents.',

676 docsLink: '/en/sub-agents',

677 children: []

678 }, {

679 id: 'global-workflows',

680 label: 'workflows/',

681 type: 'folder',

682 icon: 'folder',

683 color: '#C46686',

684 oneLiner: 'Personal dynamic workflows available in every project',

685 when: 'Loaded at startup; each file becomes a /<name> command',

686 description: <>Workflow scripts saved here are available across all your projects. A project workflow with the same name in <C>.claude/workflows/</C> takes precedence.</>,

687 docsLink: '/en/workflows',

688 children: []

689 }, {

690 id: 'global-agent-memory',

691 label: 'agent-memory/',

692 type: 'folder',

693 icon: 'folder',

694 color: '#C46686',

695 autogen: true,

696 oneLiner: <>Persistent memory for subagents with <C>memory: user</C></>,

697 when: 'Loaded into the subagent system prompt when the subagent starts',

698 description: <>Subagents with <C>memory: user</C> in their frontmatter store knowledge here that persists across all projects. For project-scoped subagent memory, see <C>.claude/agent-memory/</C> instead.</>,

699 docsLink: '/en/sub-agents#enable-persistent-memory',

700 children: []

701 }]

702 }]

703 }

704 }), []);

705 const BADGE_STYLES = useMemo(() => ({

706 committed: {

707 bg: 'rgba(85,138,66,0.08)',

708 color: 'var(--ce-badge-committed)',

709 border: 'rgba(85,138,66,0.15)',

710 label: 'committed'

711 },

712 gitignored: {

713 bg: 'rgba(217,119,87,0.06)',

714 color: 'var(--ce-badge-gitignored)',

715 border: 'rgba(217,119,87,0.15)',

716 label: 'gitignored'

717 },

718 local: {

719 bg: 'rgba(115,114,108,0.06)',

720 color: 'var(--ce-badge-local)',

721 border: 'rgba(115,114,108,0.12)',

722 label: 'local only'

723 },

724 autogen: {

725 bg: 'rgba(232,164,92,0.1)',

726 color: 'var(--ce-badge-autogen)',

727 border: 'rgba(232,164,92,0.2)',

728 label: 'Claude writes'

729 }

730 }), []);

731 const allNodes = useMemo(() => {

732 const flatten = (nodes, acc, path, parentId) => {

733 for (const node of nodes) {

734 const nextPath = [...path, node.label];

735 acc[node.id] = {

736 ...node,

737 path: nextPath,

738 parentId

739 };

740 if (node.children) flatten(node.children, acc, nextPath, node.id);

741 }

742 return acc;

743 };

744 const project = flatten(FILE_TREE.project.children, {}, [FILE_TREE.project.label]);

745 const global = flatten(FILE_TREE.global.children, {}, [FILE_TREE.global.label]);

746 for (const id in project) project[id].root = 'project';

747 for (const id in global) global[id].root = 'global';

748 return {

749 ...project,

750 ...global

751 };

752 }, [FILE_TREE]);

753 const allFolderIds = useMemo(() => Object.keys(allNodes).filter(id => allNodes[id].type === 'folder'), [allNodes]);

754 const DEFAULT_EXPANDED = ['dot-claude', 'rules', 'skills', 'skill-review', 'commands', 'agents', 'agent-memory', 'agent-memory-sub', 'global-dot-claude', 'global-output-styles', 'global-projects', 'memory-dir'];

755 const [mounted, setMounted] = useState(false);

756 const [activeRoot, setActiveRoot] = useState('project');

757 const [selectedId, setSelectedId] = useState('claude-md');

758 const [expandedFolders, setExpandedFolders] = useState(() => new Set(DEFAULT_EXPANDED));

759 const [forceMobile, setForceMobile] = useState(false);

760 const [copiedId, setCopiedId] = useState(null);

761 const [isFullscreen, setIsFullscreen] = useState(false);

762 const copyTimeoutRef = useRef(null);

763 const rootRef = useRef(null);

764 useEffect(() => {

765 setMounted(true);

766 const applyHash = scroll => {

767 const hash = window.location.hash.slice(1);

768 if (!hash.startsWith('ce-')) return;

769 const id = hash.slice(3);

770 const node = allNodes[id];

771 if (!node) return;

772 setActiveRoot(node.root);

773 setSelectedId(id);

774 setExpandedFolders(new Set(allFolderIds));

775 if (scroll && rootRef.current) rootRef.current.scrollIntoView({

776 behavior: 'smooth',

777 block: 'start'

778 });

779 };

780 applyHash(false);

781 const onHashChange = () => applyHash(true);

782 const onFsChange = () => setIsFullscreen(!!document.fullscreenElement);

783 window.addEventListener('hashchange', onHashChange);

784 document.addEventListener('fullscreenchange', onFsChange);

785 return () => {

786 if (copyTimeoutRef.current) clearTimeout(copyTimeoutRef.current);

787 window.removeEventListener('hashchange', onHashChange);

788 document.removeEventListener('fullscreenchange', onFsChange);

789 };

790 }, []);

791 useEffect(() => {

792 if (!mounted || !rootRef.current) return;

793 const hash = window.location.hash.slice(1);

794 if (hash.startsWith('ce-') && allNodes[hash.slice(3)]) {

795 rootRef.current.scrollIntoView({

796 behavior: 'smooth',

797 block: 'start'

798 });

799 }

800 }, [mounted]);

801 if (!mounted) return null;

802 const selected = allNodes[selectedId];

803 const tree = FILE_TREE[activeRoot];

804 const isCopied = copiedId === selected.id;

805 const toggleFolder = id => {

806 const next = new Set(expandedFolders);

807 next.has(id) ? next.delete(id) : next.add(id);

808 setExpandedFolders(next);

809 };

810 const switchRoot = root => {

811 if (root === activeRoot) return;

812 setActiveRoot(root);

813 const firstId = FILE_TREE[root].children[0].id;

814 setSelectedId(firstId);

815 try {

816 history.replaceState(null, '', '#ce-' + firstId);

817 } catch (e) {}

818 };

819 const toggleFullscreen = () => {

820 if (!rootRef.current) return;

821 if (document.fullscreenElement) document.exitFullscreen(); else rootRef.current.requestFullscreen().catch(() => {});

822 };

823 const selectNode = n => {

824 setSelectedId(n.id);

825 if (n.type === 'folder' && !expandedFolders.has(n.id)) toggleFolder(n.id);

826 try {

827 history.replaceState(null, '', '#ce-' + n.id);

828 } catch (e) {}

829 };

830 const iconBtn = {

831 width: 28,

832 flexShrink: 0,

833 borderRadius: '6px',

834 border: 'none',

835 cursor: 'pointer',

836 background: 'transparent',

837 color: 'var(--ce-text-4)',

838 display: 'flex',

839 alignItems: 'center',

840 justifyContent: 'center'

841 };

842 const visibleFolderIds = allFolderIds.filter(id => allNodes[id].root === activeRoot);

843 const allExpanded = visibleFolderIds.every(id => expandedFolders.has(id));

844 const toggleAllFolders = () => {

845 const next = new Set(expandedFolders);

846 visibleFolderIds.forEach(id => allExpanded ? next.delete(id) : next.add(id));

847 setExpandedFolders(next);

848 };

849 const onTreeKeyDown = e => {

850 if (!['ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft'].includes(e.key)) return;

851 const visible = [];

852 const walk = nodes => {

853 for (const n of nodes) {

854 visible.push(n.id);

855 if (n.children && expandedFolders.has(n.id)) walk(n.children);

856 }

857 };

858 walk(tree.children);

859 const i = visible.indexOf(selectedId);

860 if (i === -1) return;

861 e.preventDefault();

862 if (e.key === 'ArrowDown' && i < visible.length - 1) selectNode(allNodes[visible[i + 1]]); else if (e.key === 'ArrowUp' && i > 0) selectNode(allNodes[visible[i - 1]]); else if (e.key === 'ArrowRight' && selected.type === 'folder') {

863 if (!expandedFolders.has(selectedId)) toggleFolder(selectedId); else if (selected.children && selected.children.length) selectNode(allNodes[selected.children[0].id]);

864 } else if (e.key === 'ArrowLeft') {

865 if (selected.type === 'folder' && expandedFolders.has(selectedId)) toggleFolder(selectedId); else if (selected.parentId) selectNode(allNodes[selected.parentId]);

866 }

867 };

868 const copyExample = (id, text) => {

869 const done = () => {

870 setCopiedId(id);

871 if (copyTimeoutRef.current) clearTimeout(copyTimeoutRef.current);

872 copyTimeoutRef.current = setTimeout(() => setCopiedId(null), 2000);

873 };

874 const fallback = () => {

875 const ta = document.createElement('textarea');

876 ta.value = text;

877 ta.style.position = 'fixed';

878 ta.style.opacity = '0';

879 document.body.appendChild(ta);

880 ta.select();

881 try {

882 if (document.execCommand('copy')) done();

883 } catch (e) {}

884 document.body.removeChild(ta);

885 };

886 if (navigator.clipboard) {

887 navigator.clipboard.writeText(text).then(done, fallback);

888 } else {

889 fallback();

890 }

891 };

892 const renderIcon = (icon, color, size) => {

893 const sz = size || 14;

894 if (icon === 'folder') {

895 return <svg width={sz} height={sz} viewBox="0 0 14 14" fill="none">

896 <path d="M1.5 3.5a1 1 0 0 1 1-1h2.6l1 1.2h5.4a1 1 0 0 1 1 1v5.8a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1V3.5z" fill={color} fillOpacity="0.15" stroke={color} strokeWidth="1" />

897 </svg>;

898 }

899 if (icon === 'json') {

900 return <svg width={sz} height={sz} viewBox="0 0 14 14" fill="none">

901 <rect x="2" y="1.5" width="10" height="11" rx="1.5" fill={color} fillOpacity="0.15" stroke={color} strokeWidth="1" />

902 <text x="7" y="9" fontSize="6" fontFamily="monospace" fill={color} textAnchor="middle" fontWeight="700">{'{}'}</text>

903 </svg>;

904 }

905 return <svg width={sz} height={sz} viewBox="0 0 14 14" fill="none">

906 <rect x="2" y="1.5" width="10" height="11" rx="1.5" fill={color} fillOpacity="0.15" stroke={color} strokeWidth="1" />

907 <line x1="4.5" y1="5" x2="9.5" y2="5" stroke={color} strokeWidth="1" />

908 <line x1="4.5" y1="7" x2="9.5" y2="7" stroke={color} strokeWidth="1" />

909 <line x1="4.5" y1="9" x2="8" y2="9" stroke={color} strokeWidth="1" />

910 </svg>;

911 };

912 const renderNode = (node, depth) => {

913 const isFolder = node.type === 'folder';

914 const isExpanded = expandedFolders.has(node.id);

915 const isSelected = selectedId === node.id;

916 return <div key={node.id}>

917 <button role="treeitem" tabIndex={-1} onClick={() => selectNode(node)} aria-selected={isSelected} aria-expanded={isFolder ? isExpanded : undefined} style={{

918 display: 'flex',

919 alignItems: 'center',

920 gap: '5px',

921 width: '100%',

922 padding: `4px 8px 4px ${8 + depth * 16}px`,

923 background: isSelected ? 'var(--ce-accent-bg)' : 'transparent',

924 borderTop: 'none',

925 borderRight: 'none',

926 borderBottom: 'none',

927 borderLeft: isSelected ? '2px solid var(--ce-accent)' : '2px solid transparent',

928 outline: 'none',

929 cursor: 'pointer',

930 textAlign: 'left',

931 fontFamily: 'var(--ce-mono)',

932 fontSize: '13.5px',

933 color: isSelected ? 'var(--ce-accent)' : 'var(--ce-text-2)',

934 fontWeight: isSelected ? 550 : 400,

935 transition: 'all 0.1s'

936 }}>

937 {isFolder ? <span onClick={e => {

938 e.stopPropagation();

939 toggleFolder(node.id);

940 }} style={{

941 fontSize: '14px',

942 color: 'var(--ce-text-4)',

943 width: '20px',

944 height: '20px',

945 display: 'inline-flex',

946 alignItems: 'center',

947 justifyContent: 'center',

948 cursor: 'pointer',

949 borderRadius: '4px',

950 marginLeft: '-6px',

951 flexShrink: 0

952 }} onMouseEnter={e => {

953 e.currentTarget.style.background = 'var(--ce-arrow-hover)';

954 e.currentTarget.style.color = 'var(--ce-text-2)';

955 }} onMouseLeave={e => {

956 e.currentTarget.style.background = 'transparent';

957 e.currentTarget.style.color = 'var(--ce-text-4)';

958 }}>{isExpanded ? '▾' : '▸'}</span> : <span style={{

959 width: '14px',

960 flexShrink: 0

961 }} />}

962 {renderIcon(node.icon, node.color)}

963 <span style={{

964 flex: 1,

965 overflow: 'hidden',

966 textOverflow: 'ellipsis',

967 whiteSpace: 'nowrap'

968 }}>{node.label}</span>

969 {node.badge && BADGE_STYLES[node.badge] && <span title={BADGE_STYLES[node.badge].label} style={{

970 width: 6,

971 height: 6,

972 borderRadius: '50%',

973 background: BADGE_STYLES[node.badge].color,

974 flexShrink: 0,

975 opacity: 0.7

976 }} />}

977 </button>

978 {isFolder && isExpanded && node.children && <div role="group">{node.children.map(child => renderNode(child, depth + 1))}</div>}

979 </div>;

980 };

981 return <>

982 <style>{`

983 .ce-root {

984 --ce-mono: var(--font-mono, ui-monospace, monospace);

985 --ce-accent: #D97757;

986 --ce-accent-bg: rgba(217,119,87,0.06);

987 --ce-accent-border: rgba(217,119,87,0.12);

988 --ce-bg: #fff;

989 --ce-surface: #FAFAF7;

990 --ce-surface-hover: #F0EEE6;

991 --ce-border: #E8E6DC;

992 --ce-border-subtle: #F0EEE6;

993 --ce-text: #141413;

994 --ce-text-2: #5E5D59;

995 --ce-text-3: #73726C;

996 --ce-text-4: #9C9A92;

997 --ce-text-5: #B8B6AE;

998 --ce-sep: #D1CFC5;

999 --ce-code-header: #F5F4ED;

1000 --ce-code-bg: #1A1918;

1001 --ce-arrow-hover: rgba(0,0,0,0.08);

1002 --ce-badge-committed: #3d6b2e;

1003 --ce-badge-gitignored: #b85c3a;

1004 --ce-badge-local: #5e5d59;

1005 --ce-badge-autogen: #b07520;

1006 --ce-when-text: #4a7fb5;

1007 }

1008 .dark .ce-root {

1009 --ce-bg: #1a1918;

1010 --ce-surface: #232221;

1011 --ce-surface-hover: #2e2d2b;

1012 --ce-border: #3a3936;

1013 --ce-border-subtle: #2e2d2b;

1014 --ce-text: #e8e6dc;

1015 --ce-text-2: #c4c2b8;

1016 --ce-text-3: #9c9a92;

1017 --ce-text-4: #73726c;

1018 --ce-text-5: #5e5d59;

1019 --ce-sep: #4a4946;

1020 --ce-code-header: #2e2d2b;

1021 --ce-code-bg: #0d0d0c;

1022 --ce-arrow-hover: rgba(255,255,255,0.08);

1023 --ce-badge-committed: #6fa85c;

1024 --ce-badge-gitignored: #e08a60;

1025 --ce-badge-local: #9c9a92;

1026 --ce-badge-autogen: #e8a45c;

1027 --ce-when-text: #8bb4e0;

1028 }

1029 .ce-mobile-fallback { display: none; border: 1px solid rgba(0,0,0,0.1); background: rgba(0,0,0,0.03); }

1030 .dark .ce-mobile-fallback { border-color: rgba(255,255,255,0.15); background: rgba(255,255,255,0.04); }

1031 @media (max-width: 700px) {

1032 .ce-root:not(.ce-force) { display: none !important; }

1033 .ce-mobile-fallback { display: block; }

1034 }

1035 `}</style>

1036 {!forceMobile && <div className="ce-mobile-fallback" style={{

1037 padding: '14px 16px',

1038 borderRadius: '8px',

1039 fontSize: '14px'

1040 }}>

1041 The interactive explorer works best on a larger screen. See the <a href="#file-reference" style={{

1042 color: '#D97757'

1043 }}>file reference table</a> below, or <button onClick={() => setForceMobile(true)} style={{

1044 border: 'none',

1045 background: 'none',

1046 padding: 0,

1047 color: '#D97757',

1048 textDecoration: 'underline',

1049 cursor: 'pointer',

1050 font: 'inherit'

1051 }}>show the explorer anyway</button>.

1052 </div>}

1053 <div ref={rootRef} className={forceMobile ? 'ce-root ce-force' : 'ce-root'} style={{

1054 borderRadius: isFullscreen ? 0 : '12px',

1055 border: '1px solid var(--ce-border)',

1056 background: 'var(--ce-bg)',

1057 display: 'flex',

1058 alignItems: 'stretch',

1059 overflow: 'hidden',

1060 fontFamily: 'var(--font-sans, -apple-system, sans-serif)',

1061 ...isFullscreen && ({

1062 height: '100vh'

1063 })

1064 }}>

1065 {}

1066 <div style={{

1067 width: 'min(240px, 35%)',

1068 minWidth: '180px',

1069 flexShrink: 0,

1070 borderRight: '1px solid var(--ce-border-subtle)',

1071 background: 'var(--ce-surface)',

1072 display: 'flex',

1073 flexDirection: 'column'

1074 }}>

1075 <div style={{

1076 padding: '8px 8px 4px',

1077 borderBottom: '1px solid var(--ce-border-subtle)',

1078 display: 'flex',

1079 gap: '4px'

1080 }}>

1081 {['project', 'global'].map(root => <button key={root} onClick={() => switchRoot(root)} style={{

1082 flex: 1,

1083 padding: '6px 0',

1084 borderRadius: '6px',

1085 border: 'none',

1086 cursor: 'pointer',

1087 fontFamily: 'var(--ce-mono)',

1088 fontSize: '11.5px',

1089 background: activeRoot === root ? 'var(--ce-accent-bg)' : 'transparent',

1090 color: activeRoot === root ? 'var(--ce-accent)' : 'var(--ce-text-4)',

1091 fontWeight: activeRoot === root ? 600 : 430

1092 }}>

1093 {root === 'project' ? 'Project' : 'Global (~/)'}

1094 </button>)}

1095 <button onClick={toggleAllFolders} title={allExpanded ? 'Collapse all' : 'Expand all'} style={{

1096 ...iconBtn,

1097 fontSize: 11

1098 }}>

1099 {allExpanded ? '⊟' : '⊞'}

1100 </button>

1101 <button onClick={toggleFullscreen} title={isFullscreen ? 'Exit fullscreen' : 'Fullscreen'} style={{

1102 ...iconBtn,

1103 fontSize: 13

1104 }}>

1105 {isFullscreen ? '⤡' : '⛶'}

1106 </button>

1107 </div>

1108 <div role="tree" aria-label="Configuration files" tabIndex={0} onKeyDown={onTreeKeyDown} style={{

1109 padding: '6px 0',

1110 overflowY: 'auto',

1111 flex: 1,

1112 outline: 'none'

1113 }}>

1114 {tree.children.map(node => renderNode(node, 0))}

1115 </div>

1116 </div>

1117 

1118 {}

1119 <div style={{

1120 flex: 1,

1121 minWidth: 0,

1122 padding: '20px 24px',

1123 minHeight: '400px',

1124 overflowY: 'auto'

1125 }}>

1126 <span aria-live="polite" style={{

1127 position: 'absolute',

1128 width: 1,

1129 height: 1,

1130 overflow: 'hidden',

1131 clip: 'rect(0 0 0 0)'

1132 }}>{selected.label} selected</span>

1133 {}

1134 <div style={{

1135 fontFamily: 'var(--ce-mono)',

1136 fontSize: '11px',

1137 color: 'var(--ce-text-4)',

1138 marginBottom: '10px',

1139 cursor: 'default'

1140 }}>

1141 {selected.path.map((seg, i) => <span key={i}>

1142 <span style={{

1143 color: i === selected.path.length - 1 ? 'var(--ce-accent)' : 'var(--ce-text-4)'

1144 }}>{seg.replace(/\/$/, '')}</span>

1145 {i < selected.path.length - 1 && <span style={{

1146 color: 'var(--ce-sep)'

1147 }}> / </span>}

1148 </span>)}

1149 </div>

1150 

1151 {}

1152 <div style={{

1153 display: 'flex',

1154 alignItems: 'flex-start',

1155 gap: '10px',

1156 marginBottom: '10px'

1157 }}>

1158 <span style={{

1159 flexShrink: 0,

1160 display: 'flex'

1161 }}>{renderIcon(selected.icon, selected.color, 24)}</span>

1162 <div style={{

1163 flex: 1,

1164 minWidth: 0

1165 }}>

1166 <div style={{

1167 fontSize: '22px',

1168 fontWeight: 600,

1169 color: 'var(--ce-text)',

1170 letterSpacing: '-0.3px',

1171 lineHeight: '26px'

1172 }}>{selected.label}</div>

1173 {selected.oneLiner && <div style={{

1174 fontSize: '15px',

1175 color: 'var(--ce-text-3)',

1176 marginTop: '3px'

1177 }}>{selected.oneLiner}</div>}

1178 </div>

1179 <div style={{

1180 display: 'flex',

1181 gap: '4px',

1182 flexShrink: 0

1183 }}>

1184 {[selected.autogen && 'autogen', selected.badge].filter(Boolean).map(k => {

1185 const s = BADGE_STYLES[k];

1186 if (!s) return null;

1187 return <span key={k} style={{

1188 fontFamily: 'var(--ce-mono)',

1189 fontSize: '10px',

1190 fontWeight: 600,

1191 textTransform: 'uppercase',

1192 letterSpacing: '0.3px',

1193 padding: '2px 6px',

1194 borderRadius: '4px',

1195 background: s.bg,

1196 color: s.color,

1197 border: `0.5px solid ${s.border}`

1198 }}>{s.label}</span>;

1199 })}

1200 </div>

1201 </div>

1202 

1203 {}

1204 {selected.note && <div style={{

1205 padding: '10px 12px',

1206 borderRadius: '8px',

1207 marginBottom: '14px',

1208 background: 'rgba(217,119,87,0.06)',

1209 border: '1px solid rgba(217,119,87,0.2)',

1210 borderLeft: '3px solid var(--ce-accent)',

1211 fontSize: '15px',

1212 color: 'var(--ce-text-2)',

1213 lineHeight: 1.6

1214 }}>

1215 {selected.note}

1216 </div>}

1217 

1218 {}

1219 {selected.when && <div style={{

1220 padding: '8px 12px',

1221 borderRadius: '6px',

1222 background: 'rgba(106,155,204,0.06)',

1223 border: '0.5px solid rgba(106,155,204,0.12)',

1224 fontSize: '15px',

1225 color: 'var(--ce-when-text)',

1226 marginBottom: '16px'

1227 }}>

1228 <div style={{

1229 fontSize: '10px',

1230 fontWeight: 700,

1231 textTransform: 'uppercase',

1232 letterSpacing: '0.4px',

1233 opacity: 0.65,

1234 marginBottom: '3px'

1235 }}>When it loads</div>

1236 <div style={{

1237 fontWeight: 500

1238 }}>{selected.when}</div>

1239 </div>}

1240 

1241 {}

1242 {selected.description && <div style={{

1243 fontSize: '16px',

1244 color: 'var(--ce-text-2)',

1245 lineHeight: 1.65,

1246 marginBottom: '16px'

1247 }}>

1248 {Array.isArray(selected.description) ? selected.description.map((para, i) => <div key={i} style={{

1249 marginBottom: i < selected.description.length - 1 ? '12px' : 0

1250 }}>{para}</div>) : selected.description}

1251 </div>}

1252 

1253 {}

1254 {selected.contains && selected.contains.length > 0 && <div style={{

1255 marginBottom: '16px'

1256 }}>

1257 <div style={{

1258 fontSize: '11px',

1259 fontWeight: 700,

1260 color: 'var(--ce-text-4)',

1261 textTransform: 'uppercase',

1262 letterSpacing: '0.4px',

1263 marginBottom: '8px'

1264 }}>Common keys</div>

1265 {selected.contains.map((item, i) => <div key={i} style={{

1266 display: 'flex',

1267 gap: '7px',

1268 fontSize: '15px',

1269 color: 'var(--ce-text-2)',

1270 lineHeight: 1.5,

1271 marginBottom: '5px'

1272 }}>

1273 <span style={{

1274 fontSize: '7px',

1275 color: 'var(--ce-text-4)',

1276 marginTop: '6px'

1277 }}>●</span>

1278 <span>{item}</span>

1279 </div>)}

1280 </div>}

1281 

1282 {}

1283 {selected.tips && selected.tips.length > 0 && <div style={{

1284 padding: '12px 14px',

1285 borderRadius: '8px',

1286 background: 'var(--ce-surface)',

1287 border: '1px solid var(--ce-border-subtle)',

1288 marginBottom: '16px'

1289 }}>

1290 <div style={{

1291 fontSize: '11px',

1292 fontWeight: 700,

1293 color: 'var(--ce-accent)',

1294 textTransform: 'uppercase',

1295 letterSpacing: '0.4px',

1296 marginBottom: '6px'

1297 }}>Tips</div>

1298 {selected.tips.map((tip, i) => <div key={i} style={{

1299 display: 'flex',

1300 gap: '7px',

1301 fontSize: '14.5px',

1302 color: 'var(--ce-text-2)',

1303 marginBottom: i < selected.tips.length - 1 ? '5px' : 0

1304 }}>

1305 <span style={{

1306 fontSize: '7px',

1307 color: 'var(--ce-accent)',

1308 marginTop: '6px'

1309 }}>●</span>

1310 <span>{tip}</span>

1311 </div>)}

1312 </div>}

1313 

1314 {}

1315 {selected.example && <div style={{

1316 marginBottom: '16px'

1317 }}>

1318 {selected.exampleIntro && <div style={{

1319 fontSize: '15px',

1320 color: 'var(--ce-text-2)',

1321 lineHeight: 1.6,

1322 marginBottom: '10px'

1323 }}>

1324 {selected.exampleIntro}

1325 </div>}

1326 <div style={{

1327 display: 'flex',

1328 justifyContent: 'space-between',

1329 alignItems: 'center',

1330 padding: '6px 10px',

1331 background: 'var(--ce-code-header)',

1332 border: '1px solid var(--ce-border)',

1333 borderRadius: '8px 8px 0 0'

1334 }}>

1335 <span style={{

1336 fontFamily: 'var(--ce-mono)',

1337 fontSize: '11px',

1338 fontWeight: 600,

1339 color: 'var(--ce-text-3)'

1340 }}>{selected.label}</span>

1341 <button onClick={() => copyExample(selected.id, selected.example)} style={{

1342 padding: '3px 8px',

1343 borderRadius: '4px',

1344 fontSize: '11px',

1345 fontWeight: 600,

1346 cursor: 'pointer',

1347 transition: 'all 0.15s',

1348 background: isCopied ? 'rgba(85,138,66,0.08)' : 'var(--ce-code-header)',

1349 border: isCopied ? '0.5px solid rgba(85,138,66,0.2)' : '0.5px solid var(--ce-border)',

1350 color: isCopied ? '#558A42' : 'var(--ce-text-3)'

1351 }}>

1352 {isCopied ? '✓ Copied' : 'Copy'}

1353 </button>

1354 </div>

1355 <pre style={{

1356 margin: 0,

1357 padding: '12px 14px',

1358 background: 'var(--ce-code-bg)',

1359 color: '#E8E6DC',

1360 fontFamily: 'var(--ce-mono)',

1361 fontSize: '13px',

1362 lineHeight: 1.65,

1363 borderRadius: '0 0 8px 8px',

1364 overflowX: 'auto',

1365 whiteSpace: 'pre'

1366 }}>{selected.example}</pre>

1367 </div>}

1368 

1369 {}

1370 {selected.docsLink && <a href={selected.docsLink} style={{

1371 display: 'inline-flex',

1372 padding: '5px 12px',

1373 borderRadius: '6px',

1374 background: 'var(--ce-accent-bg)',

1375 border: '1px solid var(--ce-accent-border)',

1376 color: 'var(--ce-accent)',

1377 fontSize: '12px',

1378 fontWeight: 600,

1379 textDecoration: 'none'

1380 }}>Full docs →</a>}

1381 

1382 {}

1383 {selected.children && selected.children.length > 0 && <div style={{

1384 marginTop: '20px'

1385 }}>

1386 <div style={{

1387 fontSize: '11px',

1388 fontWeight: 700,

1389 color: 'var(--ce-text-4)',

1390 textTransform: 'uppercase',

1391 letterSpacing: '0.4px',

1392 marginBottom: '8px'

1393 }}>Contents</div>

1394 <div style={{

1395 display: 'flex',

1396 flexDirection: 'column',

1397 gap: '4px'

1398 }}>

1399 {selected.children.map(child => <button key={child.id} onClick={() => selectNode(child)} style={{

1400 display: 'flex',

1401 alignItems: 'center',

1402 gap: '8px',

1403 padding: '6px 8px',

1404 width: '100%',

1405 background: 'var(--ce-surface)',

1406 borderRadius: '6px',

1407 border: 'none',

1408 cursor: 'pointer',

1409 textAlign: 'left',

1410 transition: 'background 0.1s'

1411 }} onMouseEnter={e => e.currentTarget.style.background = 'var(--ce-surface-hover)'} onMouseLeave={e => e.currentTarget.style.background = 'var(--ce-surface)'}>

1412 {renderIcon(child.icon, child.color, 13)}

1413 <span style={{

1414 fontFamily: 'var(--ce-mono)',

1415 fontSize: '12px',

1416 color: 'var(--ce-text-2)'

1417 }}>{child.label}</span>

1418 {child.oneLiner && <span style={{

1419 fontSize: '11px',

1420 color: 'var(--ce-text-4)',

1421 overflow: 'hidden',

1422 textOverflow: 'ellipsis',

1423 whiteSpace: 'nowrap'

1424 }}>{child.oneLiner}</span>}

1425 </button>)}

1426 </div>

1427 </div>}

1428 </div>

1429 </div>

1430 </>;

1431};

1432 

9Claude Code liest Anweisungen, Einstellungen, Skills, Subagents und Memory aus Ihrem Projektverzeichnis und aus `~/.claude` in Ihrem Home-Verzeichnis. Committen Sie Projektdateien zu git, um sie mit Ihrem Team zu teilen; Dateien in `~/.claude` sind persönliche Konfiguration, die für alle Ihre Projekte gilt.1433Claude Code liest Anweisungen, Einstellungen, Skills, Subagents und Memory aus Ihrem Projektverzeichnis und aus `~/.claude` in Ihrem Home-Verzeichnis. Committen Sie Projektdateien zu git, um sie mit Ihrem Team zu teilen; Dateien in `~/.claude` sind persönliche Konfiguration, die für alle Ihre Projekte gilt.

10 1434 

11Unter Windows wird `~/.claude` zu `%USERPROFILE%\.claude` aufgelöst. Wenn Sie [`CLAUDE_CONFIG_DIR`](/de/env-vars) setzen, lebt jeder `~/.claude`-Pfad auf dieser Seite stattdessen unter diesem Verzeichnis.1435Unter Windows wird `~/.claude` zu `%USERPROFILE%\.claude` aufgelöst. Wenn Sie [`CLAUDE_CONFIG_DIR`](/de/env-vars) setzen, lebt jeder `~/.claude`-Pfad auf dieser Seite stattdessen unter diesem Verzeichnis.


18 1442 

19Klicken Sie auf Dateien im Baum, um zu sehen, was jede Datei tut, wann sie geladen wird, und ein Beispiel.1443Klicken Sie auf Dateien im Baum, um zu sehen, was jede Datei tut, wann sie geladen wird, und ein Beispiel.

20 1444 

21<h2 id="what-s-not-shown">1445<ClaudeExplorer />

1446 

1447<h2 id="what’s-not-shown">

22 Was nicht angezeigt wird1448 Was nicht angezeigt wird

23</h2>1449</h2>

24 1450 

Details

6 6 

7> Konfigurieren Sie Claude Code für die Verwendung der von Anthropic betriebenen Claude API mit AWS-Authentifizierung, IAM-Zugriffskontrolle und AWS Marketplace-Abrechnung.7> Konfigurieren Sie Claude Code für die Verwendung der von Anthropic betriebenen Claude API mit AWS-Authentifizierung, IAM-Zugriffskontrolle und AWS Marketplace-Abrechnung.

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79export const Experiment = ({flag, treatment, children}) => {

80 const VID_KEY = 'exp_vid';

81 const CONSENT_COUNTRIES = new Set(['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'RE', 'GP', 'MQ', 'GF', 'YT', 'BL', 'MF', 'PM', 'WF', 'PF', 'NC', 'AW', 'CW', 'SX', 'FO', 'GL', 'AX', 'GB', 'UK', 'AI', 'BM', 'IO', 'VG', 'KY', 'FK', 'GI', 'MS', 'PN', 'SH', 'TC', 'GG', 'JE', 'IM', 'CA', 'BR', 'IN']);

82 const fnv1a = s => {

83 let h = 0x811c9dc5;

84 for (let i = 0; i < s.length; i++) {

85 h ^= s.charCodeAt(i);

86 h += (h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24);

87 }

88 return h >>> 0;

89 };

90 const bucket = (seed, vid) => fnv1a(fnv1a(seed + vid) + '') % 10000 < 5000 ? 'control' : 'treatment';

91 const [decision] = useState(() => {

92 const params = new URLSearchParams(location.search);

93 const preBucketed = document.documentElement.dataset['gb_' + flag.replace(/-/g, '_')];

94 const force = params.get('gb-force');

95 if (force) {

96 for (const p of force.split(',')) {

97 const [k, v] = p.split(':');

98 if (k === flag) return {

99 variant: v || 'treatment',

100 track: false

101 };

102 }

103 }

104 if (navigator.globalPrivacyControl) {

105 return {

106 variant: 'control',

107 track: false

108 };

109 }

110 const prefsMatch = document.cookie.match(/(?:^|; )anthropic-consent-preferences=([^;]+)/);

111 if (prefsMatch) {

112 try {

113 if (JSON.parse(decodeURIComponent(prefsMatch[1])).analytics !== true) {

114 return {

115 variant: 'control',

116 track: false

117 };

118 }

119 } catch {

120 return {

121 variant: 'control',

122 track: false

123 };

124 }

125 } else {

126 const country = params.get('country')?.toUpperCase() || (document.cookie.match(/(?:^|; )cf_geo=([A-Z]{2})/) || [])[1];

127 if (!country || CONSENT_COUNTRIES.has(country)) {

128 return {

129 variant: 'control',

130 track: false

131 };

132 }

133 }

134 let vid;

135 try {

136 const ajsMatch = document.cookie.match(/(?:^|; )ajs_anonymous_id=([^;]+)/);

137 if (ajsMatch) {

138 vid = decodeURIComponent(ajsMatch[1]).replace(/^"|"$/g, '');

139 } else {

140 vid = localStorage.getItem(VID_KEY);

141 if (!vid) {

142 vid = crypto.randomUUID();

143 }

144 document.cookie = `ajs_anonymous_id=${vid}; domain=.claude.com; path=/; Secure; SameSite=Lax; max-age=31536000`;

145 }

146 try {

147 localStorage.setItem(VID_KEY, vid);

148 } catch {}

149 } catch {

150 return {

151 variant: 'control',

152 track: false

153 };

154 }

155 const variant = preBucketed === '1' ? 'treatment' : preBucketed === '0' ? 'control' : bucket(flag, vid);

156 return {

157 variant,

158 track: true,

159 vid

160 };

161 });

162 useEffect(() => {

163 if (!decision.track) return;

164 fetch('https://api.anthropic.com/api/event_logging/v2/batch', {

165 method: 'POST',

166 headers: {

167 'Content-Type': 'application/json',

168 'x-service-name': 'claude_code_docs'

169 },

170 body: JSON.stringify({

171 events: [{

172 event_type: 'GrowthbookExperimentEvent',

173 event_data: {

174 device_id: decision.vid,

175 anonymous_id: decision.vid,

176 timestamp: new Date().toISOString(),

177 experiment_id: flag,

178 variation_id: decision.variant === 'treatment' ? 1 : 0,

179 environment: 'production'

180 }

181 }]

182 }),

183 keepalive: true

184 }).catch(() => {});

185 }, []);

186 return decision.variant === 'treatment' ? treatment : children;

187};

188 

189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="claude_platform_on_aws" />} />

190 

9Claude Platform on AWS ist die von Anthropic betriebene Claude API mit AWS-Authentifizierung, IAM-Zugriffskontrolle und AWS Marketplace-Abrechnung. Anfragen erreichen die API von Anthropic direkt, sodass Sie die gleichen Modelle und Funktionen wie die [Claude API](https://platform.claude.com/docs) nach dem gleichen Veröffentlichungsplan erhalten. Sie authentifizieren sich mit AWS-Anmeldedaten oder einem Workspace-API-Schlüssel und zahlen über AWS Marketplace.191Claude Platform on AWS ist die von Anthropic betriebene Claude API mit AWS-Authentifizierung, IAM-Zugriffskontrolle und AWS Marketplace-Abrechnung. Anfragen erreichen die API von Anthropic direkt, sodass Sie die gleichen Modelle und Funktionen wie die [Claude API](https://platform.claude.com/docs) nach dem gleichen Veröffentlichungsplan erhalten. Sie authentifizieren sich mit AWS-Anmeldedaten oder einem Workspace-API-Schlüssel und zahlen über AWS Marketplace.

10 192 

11Verwenden Sie diese Anleitung, um Claude Code auf einen Workspace zu verweisen, den Sie bereits über Claude Platform on AWS bereitgestellt haben. Für das AWS-Abonnement und die Workspace-Einrichtung, die davor kommt, siehe die [Claude Platform on AWS-Dokumentation](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).193Verwenden Sie diese Anleitung, um Claude Code auf einen Workspace zu verweisen, den Sie bereits über Claude Platform on AWS bereitgestellt haben. Für das AWS-Abonnement und die Workspace-Einrichtung, die davor kommt, siehe die [Claude Platform on AWS-Dokumentation](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).


92 3. Modellversionen anheften274 3. Modellversionen anheften

93</h3>275</h3>

94 276 

95Claude Platform on AWS verwendet die gleichen Modell-IDs wie die direkte Claude API. Die Standard-Aliase `opus`, `sonnet` und `haiku` werden zu den neuesten Versionen aufgelöst, die in Ihrem Workspace verfügbar sind.277Claude Platform on AWS verwendet die gleichen Modell-IDs wie die direkte Claude API. Die 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 4.7 aufgelöst.

96 278 

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

98 280 

99```bash theme={null}281```bash theme={null}

282export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5

100export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7283export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7

101export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6284export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6

102export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5285export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5


157 `403 Forbidden` oder `AccessDenied` bei jeder Anfrage340 `403 Forbidden` oder `AccessDenied` bei jeder Anfrage

158</h3>341</h3>

159 342 

160Der IAM-Principal, den Claude Code aufgelöst hat, hat wahrscheinlich keine Berechtigung zum Aufrufen des Anthropic-Dienstes in Ihrem Workspace. Überprüfen Sie die Rolle, die an Ihr AWS-Profil oder den Runner angehängt ist, der Claude Code gestartet hat, und überprüfen Sie, ob sie die `aws-external-anthropic`-Aktionen hat, die in der [IAM-Aktionsreferenz](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions) dokumentiert sind.343Der IAM-Principal, den Claude Code aufgelöst hat, hat wahrscheinlich keine Berechtigung zum Aufrufen des Anthropic-Dienstes in Ihrem Workspace. Überprüfen Sie die Rolle, die an Ihr AWS-Profil oder den Runner angehängt ist, der Claude Code gestartet hat, und überprüfen Sie, ob sie die `aws-external-anthropic`-Aktionen hat, die in der [IAM-Aktionsreferenz](https://platform.claude.com/docs/de/api/claude-platform-on-aws-iam-actions) dokumentiert sind.

161 344 

162Wenn Sie `ANTHROPIC_AWS_API_KEY` setzen, hat der Schlüssel Vorrang vor SigV4 und ein veralteter Schlüssel erzeugt den gleichen Fehler. Generieren Sie den Schlüssel in der AWS Console unter **Claude Platform on AWS → API keys** neu oder heben Sie die Variable auf, um auf Ihre AWS-Anmeldedaten zurückzugreifen.345Wenn Sie `ANTHROPIC_AWS_API_KEY` setzen, hat der Schlüssel Vorrang vor SigV4 und ein veralteter Schlüssel erzeugt den gleichen Fehler. Generieren Sie den Schlüssel in der AWS Console unter **Claude Platform on AWS → API keys** neu oder heben Sie die Variable auf, um auf Ihre AWS-Anmeldedaten zurückzugreifen.

163 346 

Details

51Passen Sie das Verhalten von Claude Code mit diesen Befehlszeilenflags an. `claude --help` listet nicht jedes Flag auf, daher bedeutet das Fehlen eines Flags in `--help` nicht, dass es nicht verfügbar ist.51Passen Sie das Verhalten von Claude Code mit diesen Befehlszeilenflags an. `claude --help` listet nicht jedes Flag auf, daher bedeutet das Fehlen eines Flags in `--help` nicht, dass es nicht verfügbar ist.

52 52 

53| Flag | Beschreibung | Beispiel |53| Flag | Beschreibung | Beispiel |

54| :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------- |54| :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |

55| `--add-dir` | Zusätzliche Arbeitsverzeichnisse hinzufügen, auf die Claude Dateien lesen und bearbeiten kann. Gewährt Dateizugriff; die meisten `.claude/` Konfigurationen werden [nicht erkannt](/de/permissions#additional-directories-grant-file-access-not-configuration) aus diesen Verzeichnissen. Validiert, dass jeder Pfad als Verzeichnis existiert. Um diese Verzeichnisse über Sitzungen hinweg beizubehalten, setzen Sie [`permissions.additionalDirectories`](/de/settings#permission-settings) in den Einstellungen | `claude --add-dir ../apps ../lib` |55| `--add-dir` | Zusätzliche Arbeitsverzeichnisse hinzufügen, auf die Claude Dateien lesen und bearbeiten kann. Gewährt Dateizugriff; die meisten `.claude/` Konfigurationen werden [nicht erkannt](/de/permissions#additional-directories-grant-file-access-not-configuration) aus diesen Verzeichnissen. Validiert, dass jeder Pfad als Verzeichnis existiert. Um diese Verzeichnisse über Sitzungen hinweg beizubehalten, setzen Sie [`permissions.additionalDirectories`](/de/settings#permission-settings) in den Einstellungen | `claude --add-dir ../apps ../lib` |

56| `--advisor <model>` | {/* min-version: 2.1.98 */}Aktivieren Sie das serverseitige [Advisor-Tool](/de/advisor) für diese Sitzung mit einem Modell-Alias: `opus`, `sonnet` oder `fable` ({/* min-version: 2.1.170 */}v2.1.170+), oder eine vollständige Modell-ID. Hat Vorrang vor der `advisorModel`-Einstellung für die Sitzung. Erfordert Claude Code v2.1.98 oder später | `claude --advisor opus` |

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

57| `--agents` | Definieren Sie benutzerdefinierte Subagenten dynamisch über JSON. Verwendet die gleichen Feldnamen wie Subagent [Frontmatter](/de/sub-agents#supported-frontmatter-fields), plus ein `prompt`-Feld für die Anweisungen des Agenten | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |58| `--agents` | Definieren Sie benutzerdefinierte Subagenten dynamisch über JSON. Verwendet die gleichen Feldnamen wie Subagent [Frontmatter](/de/sub-agents#supported-frontmatter-fields), plus ein `prompt`-Feld für die Anweisungen des Agenten | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |

58| `--allow-dangerously-skip-permissions` | Fügen Sie `bypassPermissions` zum `Shift+Tab` Modus-Zyklus hinzu, ohne damit zu beginnen. Ermöglicht es Ihnen, in einem anderen Modus wie `plan` zu beginnen und später zu `bypassPermissions` zu wechseln. Siehe [Berechtigungsmodi](/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |59| `--allow-dangerously-skip-permissions` | Fügen Sie `bypassPermissions` zum `Shift+Tab` Modus-Zyklus hinzu, ohne damit zu beginnen. Ermöglicht es Ihnen, in einem anderen Modus wie `plan` zu beginnen und später zu `bypassPermissions` zu wechseln. Siehe [Berechtigungsmodi](/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |

59| `--allowedTools` | Tools, die ohne Aufforderung zur Berechtigung ausgeführt werden. Siehe [Berechtigung Regelsyntax](/de/settings#permission-rule-syntax) für Musterabgleich. Um einzuschränken, welche Tools verfügbar sind, verwenden Sie stattdessen `--tools` | `"Bash(git log *)" "Bash(git diff *)" "Read"` |60| `--allowedTools`, `--allowed-tools` | Tools, die ohne Aufforderung zur Berechtigung ausgeführt werden. Siehe [Berechtigung Regelsyntax](/de/settings#permission-rule-syntax) für Musterabgleich. Um einzuschränken, welche Tools verfügbar sind, verwenden Sie stattdessen `--tools` | `"Bash(git log *)" "Bash(git diff *)" "Read"` |

60| `--append-system-prompt` | Fügen Sie benutzerdefinierten Text am Ende des Standard-Systemprompts an | `claude --append-system-prompt "Always use TypeScript"` |61| `--append-system-prompt` | Fügen Sie benutzerdefinierten Text am Ende des Standard-Systemprompts an | `claude --append-system-prompt "Always use TypeScript"` |

61| `--append-system-prompt-file` | Laden Sie zusätzlichen Systemprompt-Text aus einer Datei und fügen Sie ihn zum Standard-Prompt an | `claude --append-system-prompt-file ./extra-rules.txt` |62| `--append-system-prompt-file` | Laden Sie zusätzlichen Systemprompt-Text aus einer Datei und fügen Sie ihn zum Standard-Prompt an | `claude --append-system-prompt-file ./extra-rules.txt` |

62| `--bare` | Minimaler Modus: Überspringen Sie die automatische Erkennung von Hooks, Skills, Plugins, MCP-Servern, automatischem Speicher und CLAUDE.md, damit Skriptaufrufe schneller starten. Claude hat Zugriff auf Bash-, Dateilesungs- und Dateibearbeitungstools. Setzt [`CLAUDE_CODE_SIMPLE`](/de/env-vars). Siehe [Bare-Modus](/de/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |63| `--bare` | Minimaler Modus: Überspringen Sie die automatische Erkennung von Hooks, Skills, Plugins, MCP-Servern, automatischem Speicher und CLAUDE.md, damit Skriptaufrufe schneller starten. Claude hat Zugriff auf Bash-, Dateilesungs- und Dateibearbeitungstools. Setzt [`CLAUDE_CODE_SIMPLE`](/de/env-vars). Siehe [Bare-Modus](/de/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |


70| `--debug` | Aktivieren Sie den Debug-Modus mit optionaler Kategoriefilterung (zum Beispiel `"api,hooks"` oder `"!statsig,!file"`) | `claude --debug "api,mcp"` |71| `--debug` | Aktivieren Sie den Debug-Modus mit optionaler Kategoriefilterung (zum Beispiel `"api,hooks"` oder `"!statsig,!file"`) | `claude --debug "api,mcp"` |

71| `--debug-file <path>` | Schreiben Sie Debug-Protokolle in einen bestimmten Dateipfad. Aktiviert implizit den Debug-Modus. Hat Vorrang vor `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |72| `--debug-file <path>` | Schreiben Sie Debug-Protokolle in einen bestimmten Dateipfad. Aktiviert implizit den Debug-Modus. Hat Vorrang vor `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |

72| `--disable-slash-commands` | Deaktivieren Sie alle Skills und Befehle für diese Sitzung | `claude --disable-slash-commands` |73| `--disable-slash-commands` | Deaktivieren Sie alle Skills und Befehle für diese Sitzung | `claude --disable-slash-commands` |

73| `--disallowedTools` | Ablehnungsregeln. Ein bloßer Tool-Name entfernt dieses Tool aus dem Kontext des Modells. Eine scoped Regel wie `Bash(rm *)` lässt das Tool verfügbar und lehnt nur übereinstimmende Aufrufe ab | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |74| `--disallowedTools`, `--disallowed-tools` | Ablehnungsregeln. Ein bloßer Tool-Name entfernt die entsprechenden Tools aus dem Kontext des Modells: `"Edit"` entfernt Edit, `"*"` entfernt jedes Tool und `"mcp__*"` entfernt jedes MCP-Tool. Eine scoped Regel wie `Bash(rm *)` lässt das Tool verfügbar und lehnt nur übereinstimmende Aufrufe ab | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |

74| `--effort` | Legen Sie die [Aufwandsstufe](/de/model-config#adjust-effort-level) für die aktuelle Sitzung fest. Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab. Überschreibt die [`effortLevel`](/de/settings#available-settings) Einstellung für diese Sitzung und wird nicht beibehalten | `claude --effort high` |75| `--effort` | Legen Sie die [Aufwandsstufe](/de/model-config#adjust-effort-level) für die aktuelle Sitzung fest. Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab. Überschreibt die [`effortLevel`](/de/settings#available-settings) Einstellung für diese Sitzung und wird nicht beibehalten | `claude --effort high` |

75| `--enable-auto-mode` | {/* max-version: 2.1.110 */}Entfernt in v2.1.111. Auto-Modus ist jetzt standardmäßig im `Shift+Tab` Zyklus; verwenden Sie `--permission-mode auto`, um darin zu starten | `claude --permission-mode auto` |76| `--enable-auto-mode` | {/* max-version: 2.1.110 */}Entfernt in v2.1.111. Auto-Modus ist jetzt standardmäßig im `Shift+Tab` Zyklus; verwenden Sie `--permission-mode auto`, um darin zu starten | `claude --permission-mode auto` |

76| `--exclude-dynamic-system-prompt-sections` | Verschieben Sie maschinenspezifische Abschnitte aus dem Systemprompt (Arbeitsverzeichnis, Umgebungsinformationen, Speicherpfade, Git-Repo-Flag) in die erste Benutzernachricht. Verbessert die Prompt-Cache-Wiederverwendung über verschiedene Benutzer und Maschinen hinweg, die die gleiche Aufgabe ausführen. Gilt nur mit dem Standard-Systemprompt; wird ignoriert, wenn `--system-prompt` oder `--system-prompt-file` gesetzt ist. Verwenden Sie mit `-p` für Skript-, Multi-Benutzer-Workloads | `claude -p --exclude-dynamic-system-prompt-sections "query"` |77| `--exclude-dynamic-system-prompt-sections` | Verschieben Sie maschinenspezifische Abschnitte aus dem Systemprompt (Arbeitsverzeichnis, Umgebungsinformationen, Speicherpfade, Git-Repo-Flag) in die erste Benutzernachricht. Verbessert die Prompt-Cache-Wiederverwendung über verschiedene Benutzer und Maschinen hinweg, die die gleiche Aufgabe ausführen. Gilt nur mit dem Standard-Systemprompt; wird ignoriert, wenn `--system-prompt` oder `--system-prompt-file` gesetzt ist. Verwenden Sie mit `-p` für Skript-, Multi-Benutzer-Workloads | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

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

78| `--fallback-model` | Aktivieren Sie automatisches Fallback auf ein angegebenes Modell, wenn das Standardmodell überlastet ist oder nicht verfügbar ist, zum Beispiel ein veraltetes Modell. Tritt in Kraft im Print-Modus (`-p`) und in [Hintergrund-Sitzungen](/de/agent-view), die nicht-interaktiv ausgeführt werden; wird in einer interaktiven Sitzung ignoriert | `claude -p --fallback-model sonnet "query"` |79| `--fallback-model` | Aktivieren Sie automatisches Fallback auf das angegebene Modell oder die angegebenen Modelle, wenn das primäre Modell überlastet ist oder nicht verfügbar ist, zum Beispiel ein veraltetes Modell. Akzeptiert eine durch Kommas getrennte Liste, die der Reihe nach versucht wird. Siehe [Fallback-Modellketten](/de/model-config#fallback-model-chains). Um eine Kette über Sitzungen hinweg beizubehalten, verwenden Sie die [`fallbackModel`-Einstellung](/de/settings#available-settings), die dieses Flag überschreibt | `claude --fallback-model sonnet,haiku` |

79| `--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` |80| `--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` |

80| `--from-pr` | Setzen Sie Sitzungen fort, 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` |81| `--from-pr` | Setzen Sie Sitzungen fort, 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` |

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


89| `--max-budget-usd` | Maximaler Dollarbetrag, der für API-Aufrufe ausgegeben werden kann, bevor gestoppt wird (nur Print-Modus) | `claude -p --max-budget-usd 5.00 "query"` |90| `--max-budget-usd` | Maximaler Dollarbetrag, der für API-Aufrufe ausgegeben werden kann, bevor gestoppt wird (nur Print-Modus) | `claude -p --max-budget-usd 5.00 "query"` |

90| `--max-turns` | Begrenzen Sie die Anzahl der agentic Turns (nur Print-Modus). Beendet mit einem Fehler, wenn das Limit erreicht wird. Standardmäßig kein Limit | `claude -p --max-turns 3 "query"` |91| `--max-turns` | Begrenzen Sie die Anzahl der agentic Turns (nur Print-Modus). Beendet mit einem Fehler, wenn das Limit erreicht wird. Standardmäßig kein Limit | `claude -p --max-turns 3 "query"` |

91| `--mcp-config` | Laden Sie MCP-Server aus JSON-Dateien oder Strings (durch Leerzeichen getrennt) | `claude --mcp-config ./mcp.json` |92| `--mcp-config` | Laden Sie MCP-Server aus JSON-Dateien oder Strings (durch Leerzeichen getrennt) | `claude --mcp-config ./mcp.json` |

92| `--model` | Legt das Modell für die aktuelle Sitzung mit einem Alias für das neueste Modell (`sonnet` oder `opus`) oder den vollständigen Namen eines Modells fest. Überschreibt die [`model`](/de/settings#available-settings) Einstellung und [`ANTHROPIC_MODEL`](/de/model-config#environment-variables) | `claude --model claude-sonnet-4-6` |93| `--model` | Legt das Modell für die aktuelle Sitzung mit einem Alias für das neueste Modell (`sonnet`, `opus`, `haiku` oder `fable`) oder den vollständigen Namen eines Modells fest. Überschreibt die [`model`](/de/settings#available-settings) Einstellung und [`ANTHROPIC_MODEL`](/de/model-config#environment-variables) | `claude --model claude-sonnet-4-6` |

93| `--name`, `-n` | Legen Sie einen Anzeigenamen für die Sitzung fest, der in `/resume` und der Terminalleiste angezeigt wird. Sie können eine benannte Sitzung mit `claude --resume <name>` fortsetzen. <br /><br />[`/rename`](/de/commands) ändert den Namen während der Sitzung und zeigt ihn auch in der Eingabeaufforderungsleiste an | `claude -n "my-feature-work"` |94| `--name`, `-n` | Legen Sie einen Anzeigenamen für die Sitzung fest, der in `/resume` und der Terminalleiste angezeigt wird. Sie können eine benannte Sitzung mit `claude --resume <name>` fortsetzen. <br /><br />[`/rename`](/de/commands) ändert den Namen während der Sitzung und zeigt ihn auch in der Eingabeaufforderungsleiste an | `claude -n "my-feature-work"` |

94| `--no-chrome` | Deaktivieren Sie [Chrome-Browser-Integration](/de/chrome) für diese Sitzung | `claude --no-chrome` |95| `--no-chrome` | Deaktivieren Sie [Chrome-Browser-Integration](/de/chrome) für diese Sitzung | `claude --no-chrome` |

95| `--no-session-persistence` | Deaktivieren Sie die Sitzungspersistenz, sodass Sitzungen nicht auf der Festplatte gespeichert werden und nicht fortgesetzt werden können. Nur Print-Modus. Die [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/de/env-vars) Umgebungsvariable bewirkt das Gleiche in jedem Modus | `claude -p --no-session-persistence "query"` |96| `--no-session-persistence` | Deaktivieren Sie die Sitzungspersistenz, sodass Sitzungen nicht auf der Festplatte gespeichert werden und nicht fortgesetzt werden können. Nur Print-Modus. Die [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/de/env-vars) Umgebungsvariable bewirkt das Gleiche in jedem Modus | `claude -p --no-session-persistence "query"` |


104| `--remote-control`, `--rc` | Starten Sie eine interaktive Sitzung mit aktiviertem [Remote Control](/de/remote-control#start-a-remote-control-session), sodass Sie sie auch von claude.ai oder der Claude App aus steuern können. Optional einen Namen für die Sitzung übergeben | `claude --remote-control "My Project"` |105| `--remote-control`, `--rc` | Starten Sie eine interaktive Sitzung mit aktiviertem [Remote Control](/de/remote-control#start-a-remote-control-session), sodass Sie sie auch von claude.ai oder der Claude App aus steuern können. Optional einen Namen für die Sitzung übergeben | `claude --remote-control "My Project"` |

105| `--remote-control-session-name-prefix <prefix>` | Präfix für automatisch generierte [Remote Control](/de/remote-control) Sitzungsnamen, wenn kein expliziter Name gesetzt ist. Standardmäßig der Hostname Ihrer Maschine, was Namen wie `myhost-graceful-unicorn` erzeugt. Setzen Sie `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` für den gleichen Effekt | `claude remote-control --remote-control-session-name-prefix dev-box` |106| `--remote-control-session-name-prefix <prefix>` | Präfix für automatisch generierte [Remote Control](/de/remote-control) Sitzungsnamen, wenn kein expliziter Name gesetzt ist. Standardmäßig der Hostname Ihrer Maschine, was Namen wie `myhost-graceful-unicorn` erzeugt. Setzen Sie `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` für den gleichen Effekt | `claude remote-control --remote-control-session-name-prefix dev-box` |

106| `--replay-user-messages` | Geben Sie Benutzernachrichten von stdin auf stdout zurück zur Bestätigung aus. Erfordert `--input-format stream-json` und `--output-format stream-json` | `claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages` |107| `--replay-user-messages` | Geben Sie Benutzernachrichten von stdin auf stdout zurück zur Bestätigung aus. Erfordert `--input-format stream-json` und `--output-format stream-json` | `claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages` |

107| `--resume`, `-r` | Setzen Sie eine bestimmte Sitzung nach ID oder Name fort, oder zeigen Sie eine interaktive Auswahl an, um eine Sitzung auszuwählen. Schließt Sitzungen ein, die dieses Verzeichnis mit `/add-dir` hinzugefügt haben. Ab v2.1.144 erscheinen [Hintergrund-Sitzungen](/de/agent-view) in der Auswahl mit `bg` gekennzeichnet | `claude --resume auth-refactor` |108| `--resume`, `-r` | Setzen Sie eine bestimmte Sitzung nach ID oder Name fort, oder zeigen Sie eine interaktive Auswahl an, um eine Sitzung auszuwählen. Die Auswahl und Namenssuche schließen Sitzungen ein, die dieses Verzeichnis mit `/add-dir` hinzugefügt haben; das Übergeben einer Sitzungs-ID durchsucht nur das aktuelle Projektverzeichnis und seine Git Worktrees. Ab v2.1.144 erscheinen [Hintergrund-Sitzungen](/de/agent-view) in der Auswahl mit `bg` gekennzeichnet | `claude --resume auth-refactor` |

109| `--safe-mode` | {/* min-version: 2.1.169 */}Starten Sie mit allen Anpassungen deaktiviert, um eine fehlerhafte Konfiguration zu beheben: CLAUDE.md, Skills, Plugins, Hooks, MCP-Server, benutzerdefinierte Befehle und Agenten, Ausgabestile, Workflows, benutzerdefinierte Designs, benutzerdefinierte Tastenkombinationen, Statusleiste und Dateivorschlag-Befehle, LSP-Server und Auto-Memory werden nicht geladen. Authentifizierung, Modellauswahl, integrierte Tools und Berechtigungen funktionieren normal, was sich von [`--bare`](/de/headless#start-faster-with-bare-mode) unterscheidet. Die verwaltete Einstellungsrichtlinie gilt weiterhin, einschließlich richtliniengesteuerter Hooks, Statusleiste und Dateivorschlag-Befehle; verwaltete Plugins, verwaltete Skills, verwaltete CLAUDE.md und richtliniengesteuerter MCP-Server nicht. Nützlich, um zu überprüfen, ob eine Anpassung das [automatische Fallback von Fable 5](/de/model-config#automatic-model-fallback) auslöst. Setzt [`CLAUDE_CODE_SAFE_MODE`](/de/env-vars) | `claude --safe-mode` |

108| `--session-id` | Verwenden Sie eine bestimmte Sitzungs-ID für die Konversation (muss eine gültige UUID sein) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |110| `--session-id` | Verwenden Sie eine bestimmte Sitzungs-ID für die Konversation (muss eine gültige UUID sein) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

109| `--setting-sources` | Durch Kommas getrennte Liste von Einstellungsquellen zum Laden (`user`, `project`, `local`) | `claude --setting-sources user,project` |111| `--setting-sources` | Durch Kommas getrennte Liste von Einstellungsquellen zum Laden (`user`, `project`, `local`) | `claude --setting-sources user,project` |

110| `--settings` | Pfad zu einer Einstellungs-JSON-Datei oder eine JSON-Zeichenkette. Werte, die Sie hier setzen, überschreiben die gleichen Schlüssel in Ihren `settings.json` Dateien für diese Sitzung. Schlüssel, die Sie weglassen, behalten ihre dateigestützten Werte. Siehe [Einstellungspriorität](/de/settings#settings-precedence) | `claude --settings ./settings.json` |112| `--settings` | Pfad zu einer Einstellungs-JSON-Datei oder eine JSON-Zeichenkette. Werte, die Sie hier setzen, überschreiben die gleichen Schlüssel in Ihren `settings.json` Dateien für diese Sitzung. Schlüssel, die Sie weglassen, behalten ihre dateigestützten Werte. Siehe [Einstellungspriorität](/de/settings#settings-precedence) | `claude --settings ./settings.json` |


114| `--teleport` | Setzen Sie eine [Web-Sitzung](/de/claude-code-on-the-web) in Ihrem lokalen Terminal fort | `claude --teleport` |116| `--teleport` | Setzen Sie eine [Web-Sitzung](/de/claude-code-on-the-web) in Ihrem lokalen Terminal fort | `claude --teleport` |

115| `--teammate-mode` | Legen Sie fest, wie [Agent-Team](/de/agent-teams) Teamkollegen angezeigt werden: `auto` (Standard), `in-process` oder `tmux`. Überschreibt die [`teammateMode`](/de/settings#available-settings) Einstellung für diese Sitzung. Siehe [Anzeigemodus wählen](/de/agent-teams#choose-a-display-mode) | `claude --teammate-mode in-process` |117| `--teammate-mode` | Legen Sie fest, wie [Agent-Team](/de/agent-teams) Teamkollegen angezeigt werden: `auto` (Standard), `in-process` oder `tmux`. Überschreibt die [`teammateMode`](/de/settings#available-settings) Einstellung für diese Sitzung. Siehe [Anzeigemodus wählen](/de/agent-teams#choose-a-display-mode) | `claude --teammate-mode in-process` |

116| `--tmux` | Erstellen Sie eine tmux-Sitzung für den Worktree. Erfordert `--worktree`. Verwendet native iTerm2-Bereiche, wenn verfügbar; übergeben Sie `--tmux=classic` für traditionelles tmux | `claude -w feature-auth --tmux` |118| `--tmux` | Erstellen Sie eine tmux-Sitzung für den Worktree. Erfordert `--worktree`. Verwendet native iTerm2-Bereiche, wenn verfügbar; übergeben Sie `--tmux=classic` für traditionelles tmux | `claude -w feature-auth --tmux` |

117| `--tools` | Beschränken Sie, welche integrierten Tools Claude verwenden kann. Verwenden Sie `""`, um alle zu deaktivieren, `"default"` für alle oder Tool-Namen wie `"Bash,Edit,Read"` | `claude --tools "Bash,Edit,Read"` |119| `--tools` | Beschränken Sie, welche integrierten Tools Claude verwenden kann. Verwenden Sie `""`, um alle zu deaktivieren, `"default"` für alle oder Tool-Namen wie `"Bash,Edit,Read"`. MCP-Tools sind nicht betroffen; um diese auch zu verweigern, verwenden Sie `--disallowedTools "mcp__*"` oder übergeben Sie `--strict-mcp-config` ohne `--mcp-config`, sodass keine MCP-Server geladen werden | `claude --tools "Bash,Edit,Read"` |

118| `--verbose` | Aktivieren Sie ausführliches Logging, zeigt vollständige Turn-by-Turn-Ausgabe. Überschreibt die [`viewMode`](/de/settings#available-settings) Einstellung für diese Sitzung | `claude --verbose` |120| `--verbose` | Aktivieren Sie ausführliches Logging, zeigt vollständige Turn-by-Turn-Ausgabe. Überschreibt die [`viewMode`](/de/settings#available-settings) Einstellung für diese Sitzung | `claude --verbose` |

119| `--version`, `-v` | Geben Sie die Versionsnummer aus | `claude -v` |121| `--version`, `-v` | Geben Sie die Versionsnummer aus | `claude -v` |

120| `--worktree`, `-w` | Starten Sie Claude in einem isolierten [Git Worktree](/de/worktrees) bei `<repo>/.claude/worktrees/<name>`. Wenn kein Name angegeben wird, wird einer automatisch generiert. Übergeben Sie `#<number>` oder eine GitHub Pull Request URL, um diesen PR von `origin` abzurufen und den Worktree davon zu verzweigen | `claude -w feature-auth` |122| `--worktree`, `-w` | Starten Sie Claude in einem isolierten [Git Worktree](/de/worktrees) bei `<repo>/.claude/worktrees/<name>`. Wenn kein Name angegeben wird, wird einer automatisch generiert. Übergeben Sie `#<number>` oder eine GitHub Pull Request URL, um diesen PR von `origin` abzurufen und den Worktree davon zu verzweigen | `claude -w feature-auth` |

code-review.md +5 −5

Details

295 295 

296Die Schaltfläche **Re-run** in Githubs Checks-Registerkarte löst Code Review nicht erneut aus. Verwenden Sie stattdessen den Kommentarbefehl oder einen neuen Push.296Die Schaltfläche **Re-run** in Githubs Checks-Registerkarte löst Code Review nicht erneut aus. Verwenden Sie stattdessen den Kommentarbefehl oder einen neuen Push.

297 297 

298<h3 id="review-didn-t-run-and-the-pr-shows-a-spend-cap-message">298<h3 id="review-didnt-run-and-the-pr-shows-a-spend-cap-message">

299 Überprüfung wurde nicht ausgeführt und der PR zeigt eine Ausgabenbegrenzungs-Nachricht299 Überprüfung wurde nicht ausgeführt und der PR zeigt eine Ausgabenbegrenzungs-Nachricht

300</h3>300</h3>

301 301 

302Wenn die monatliche Ausgabenbegrenzung Ihrer Organisation erreicht ist, veröffentlicht Code Review einen einzelnen Kommentar auf dem PR, der erklärt, dass die Überprüfung übersprungen wurde. Reviews werden automatisch am Anfang des nächsten Abrechnungszeitraums fortgesetzt, oder sofort, wenn ein Administrator die Obergrenze bei [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) erhöht.302Wenn die monatliche Ausgabenbegrenzung Ihrer Organisation erreicht ist, veröffentlicht Code Review einen einzelnen Kommentar auf dem PR, der erklärt, dass die Überprüfung übersprungen wurde. Reviews werden automatisch am Anfang des nächsten Abrechnungszeitraums fortgesetzt, oder sofort, wenn ein Administrator die Obergrenze bei [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) erhöht.

303 303 

304<h3 id="find-issues-that-aren-t-showing-as-inline-comments">304<h3 id="find-issues-that-arent-showing-as-inline-comments">

305 Finden Sie Probleme, die nicht als Inline-Kommentare angezeigt werden305 Finden Sie Probleme, die nicht als Inline-Kommentare angezeigt werden

306</h3>306</h3>

307 307 


315 Überprüfung eines Diffs lokal315 Überprüfung eines Diffs lokal

316</h2>316</h2>

317 317 

318Der [`/code-review` Befehl](/de/commands) überprüft einen Diff in Ihrem Terminal ohne Installation der GitHub App. Führen Sie ihn in einer beliebigen Claude Code Sitzung aus: er meldet Korrektheitsfehler und {/* min-version: 2.1.151 */}Wiederverwendung, Vereinfachung und Effizienz-Bereinigungen im aktuellen Diff. Übergeben Sie `--comment`, um Erkenntnisse als Inline-PR-Kommentare zu veröffentlichen, oder `--fix`, um die Erkenntnisse auf Ihren Arbeitsbaum anzuwenden, nachdem die Überprüfung abgeschlossen ist.318Der [`/code-review` Befehl](/de/commands) überprüft einen Diff in Ihrem Terminal ohne Installation der GitHub App. Führen Sie ihn in einer beliebigen Claude Code Sitzung aus: er meldet Korrektheitsfehler und {/* min-version: 2.1.151 */}Wiederverwendung, Vereinfachung und Effizienz-Bereinigungen. Standardmäßig deckt die lokale Überprüfung die Commits Ihres Branches vor seinem Upstream plus alle nicht committeten Änderungen im Arbeitsbaum ab. Übergeben Sie `--comment`, um Erkenntnisse als Inline-PR-Kommentare zu veröffentlichen, oder `--fix`, um die Erkenntnisse auf Ihren Arbeitsbaum anzuwenden, nachdem die Überprüfung abgeschlossen ist.

319 319 

320Niedrigere [Aufwandsebenen](/de/model-config#adjust-effort-level) geben weniger, höher vertrauenswürdige Erkenntnisse zurück, während `high` bis `max` breitere Abdeckung geben und unsichere Erkenntnisse einschließen können. Ohne ein Aufwandsargument verwendet die Überprüfung die aktuelle Aufwandsebene der Sitzung. Übergeben Sie einen Pfad oder PR-Referenz, um ein spezifisches Ziel statt des aktuellen Diffs zu überprüfen.320Niedrigere [Aufwandsebenen](/de/model-config#adjust-effort-level) geben weniger, höher vertrauenswürdige Erkenntnisse zurück, während `high` bis `max` breitere Abdeckung geben und unsichere Erkenntnisse einschließen können. Ohne ein Aufwandsargument verwendet die Überprüfung die aktuelle Aufwandsebene der Sitzung. Um etwas anderes als den Standard-Diff zu überprüfen, übergeben Sie ein Ziel: einen Dateipfad, eine PR-Nummer, einen Branch-Namen oder einen Ref-Bereich wie `main...my-feature`. Die Ref-Bereichsform überprüft den committeten Diff, den ein Pull Request von `my-feature` in `main` enthalten würde, unabhängig davon, wie der Upstream des Branches konfiguriert ist.

321 321 

322`/code-review ultra --fix` führt die tiefere [ultrareview](/de/ultrareview) in der Cloud aus, dann wendet ihre Erkenntnisse auf Ihren Arbeitsbaum an, wenn sie in Ihrer Sitzung zurückkommen.322`/code-review ultra --fix` führt die tiefere [ultrareview](/de/ultrareview) in der Cloud aus, dann wendet ihre Erkenntnisse auf Ihren Arbeitsbaum an, wenn sie in Ihrer Sitzung zurückkommen. Ultrareview verwendet seinen eigenen Umfang: Ihren aktuellen Branch gegen den Standard-Branch des Repositorys, plus alle nicht committeten und gestaged Änderungen im Arbeitsbaum.

323 323 

324Der Befehl hieß vor v2.1.147 `/simplify`, als er Fixes standardmäßig anwendete. {/* min-version: 2.1.154 */}Ab v2.1.154 führt `/simplify` eine separate Bereinigung-nur-Überprüfung durch, die Fixes anwendet, ohne nach Fehlern zu suchen. Wenn Sie `/simplify` für die Fehlersuche skriptet haben, wechseln Sie zu `/code-review --fix`, das unverändert ist.324Der Befehl hieß vor v2.1.147 `/simplify`, als er Fixes standardmäßig anwendete. {/* min-version: 2.1.154 */}Ab v2.1.154 führt `/simplify` eine separate Bereinigung-nur-Überprüfung durch, die Fixes anwendet, ohne nach Fehlern zu suchen. Wenn Sie `/simplify` für die Fehlersuche skriptet haben, wechseln Sie zu `/code-review --fix`, das unverändert ist.

325 325 

commands.md +24 −13

Details

12 12 

13Ein Befehl wird nur am Anfang Ihrer Nachricht erkannt. Text, der dem Befehlsnamen folgt, wird als Argumente an ihn übergeben.13Ein Befehl wird nur am Anfang Ihrer Nachricht erkannt. Text, der dem Befehlsnamen folgt, wird als Argumente an ihn übergeben.

14 14 

15## Befehle in einem typischen Workflow15<h2 id="commands-across-a-typical-workflow">

16 Befehle in einem typischen Workflow

17</h2>

16 18 

17Die meisten Befehle sind an einem bestimmten Punkt in einer Sitzung nützlich, vom Einrichten eines Projekts bis zum Versand einer Änderung.19Die meisten Befehle sind an einem bestimmten Punkt in einer Sitzung nützlich, vom Einrichten eines Projekts bis zum Versand einer Änderung.

18 20 


28 30 

29**Wenn etwas schief geht.** `/rewind` setzt Code und Gespräch zu einem Checkpoint zurück, oder fasst einen Teil des Gesprächs zusammen. `/doctor` und `/debug` diagnostizieren Installations- und Laufzeitprobleme, und `/feedback` meldet einen Fehler mit Sitzungskontext an.31**Wenn etwas schief geht.** `/rewind` setzt Code und Gespräch zu einem Checkpoint zurück, oder fasst einen Teil des Gesprächs zusammen. `/doctor` und `/debug` diagnostizieren Installations- und Laufzeitprobleme, und `/feedback` meldet einen Fehler mit Sitzungskontext an.

30 32 

31## Alle Befehle33<h2 id="all-commands">

34 Alle Befehle

35</h2>

32 36 

33Die folgende Tabelle listet alle in Claude Code enthaltenen Befehle auf. Die meisten sind integrierte Befehle, deren Verhalten in die CLI codiert ist. Zwei Arten von Einträgen sind gekennzeichnet:37Die folgende Tabelle listet alle in Claude Code enthaltenen Befehle auf. Die meisten sind integrierte Befehle, deren Verhalten in die CLI codiert ist. Zwei Arten von Einträgen sind gekennzeichnet:

34 38 


46| Befehl | Zweck |50| Befehl | Zweck |

47| :--------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |51| :--------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

48| `/add-dir <path>` | Fügen Sie ein Arbeitsverzeichnis für den Dateizugriff während der aktuellen Sitzung hinzu. Die meisten `.claude/`-Konfigurationen werden [nicht erkannt](/de/permissions#additional-directories-grant-file-access-not-configuration) aus dem hinzugefügten Verzeichnis. Sie können die Sitzung später aus dem hinzugefügten Verzeichnis mit `--continue` oder `--resume` fortsetzen |52| `/add-dir <path>` | Fügen Sie ein Arbeitsverzeichnis für den Dateizugriff während der aktuellen Sitzung hinzu. Die meisten `.claude/`-Konfigurationen werden [nicht erkannt](/de/permissions#additional-directories-grant-file-access-not-configuration) aus dem hinzugefügten Verzeichnis. Sie können die Sitzung später aus dem hinzugefügten Verzeichnis mit `--continue` oder `--resume` fortsetzen |

53| `/advisor [model\|off]` | {/* min-version: 2.1.98 */}Aktivieren oder deaktivieren Sie das [Advisor-Tool](/de/advisor), das ein zweites Modell für Anleitung in Schlüsselmomenten während einer Aufgabe konsultiert. Akzeptiert `opus`, `sonnet`, `fable` ({/* min-version: 2.1.170 */}v2.1.170+) oder eine vollständige Modell-ID. Ohne Argument wird eine Auswahl geöffnet. Erfordert Claude Code v2.1.98 oder später |

49| `/agents` | Verwalten Sie [Agent](/de/sub-agents)-Konfigurationen |54| `/agents` | Verwalten Sie [Agent](/de/sub-agents)-Konfigurationen |

50| `/autofix-pr [prompt]` | Starten Sie eine [Claude Code im Web](/de/claude-code-on-the-web#auto-fix-pull-requests)-Sitzung, die den aktuellen Branch-PR überwacht und Fixes pusht, wenn CI fehlschlägt oder Reviewer Kommentare hinterlassen. Erkennt den offenen PR aus Ihrem ausgecheckten Branch mit `gh pr view`; um einen anderen PR zu überwachen, checken Sie zuerst seinen Branch aus. Standardmäßig wird der Remote-Sitzung mitgeteilt, jeden CI-Fehler und Review-Kommentar zu beheben; übergeben Sie eine Eingabeaufforderung, um ihr andere Anweisungen zu geben, zum Beispiel `/autofix-pr only fix lint and type errors`. Erfordert die `gh` CLI und Zugriff auf [Claude Code im Web](/de/claude-code-on-the-web#who-can-use-claude-code-on-the-web) |55| `/autofix-pr [prompt]` | Starten Sie eine [Claude Code im Web](/de/claude-code-on-the-web#auto-fix-pull-requests)-Sitzung, die den aktuellen Branch-PR überwacht und Fixes pusht, wenn CI fehlschlägt oder Reviewer Kommentare hinterlassen. Erkennt den offenen PR aus Ihrem ausgecheckten Branch mit `gh pr view`; um einen anderen PR zu überwachen, checken Sie zuerst seinen Branch aus. Standardmäßig wird der Cloud-Sitzung mitgeteilt, jeden CI-Fehler und Review-Kommentar zu beheben; übergeben Sie eine Eingabeaufforderung, um ihr andere Anweisungen zu geben, zum Beispiel `/autofix-pr only fix lint and type errors`. Erfordert die `gh` CLI und Zugriff auf [Claude Code im Web](/de/claude-code-on-the-web) |

51| `/background [prompt]` | Trennen Sie die aktuelle Sitzung, um als [Hintergrund-Agent](/de/agent-view) zu laufen und dieses Terminal freizugeben. Übergeben Sie eine Eingabeaufforderung, um eine weitere Anweisung vor dem Trennen zu senden. Überwachen Sie die Sitzung mit `claude agents`. Alias: `/bg` |56| `/background [prompt]` | Trennen Sie die aktuelle Sitzung, um als [Hintergrund-Agent](/de/agent-view) zu laufen und dieses Terminal freizugeben. Übergeben Sie eine Eingabeaufforderung, um eine weitere Anweisung vor dem Trennen zu senden. Überwachen Sie die Sitzung mit `claude agents`. Alias: `/bg` |

52| `/batch <instruction>` | **[Skill](/de/skills#bundled-skills).** Orchestrieren Sie großflächige Änderungen über eine Codebasis parallel. Recherchiert die Codebasis, zerlegt die Arbeit in 5 bis 30 unabhängige Einheiten und präsentiert einen Plan. Nach Genehmigung startet es einen [Hintergrund-Subagenten](/de/sub-agents#run-subagents-in-foreground-or-background) pro Einheit in einem isolierten [Git-Worktree](/de/worktrees). Jeder Subagent implementiert seine Einheit, führt Tests aus und öffnet einen Pull Request. Erfordert ein Git-Repository. Beispiel: `/batch migrate src/ from Solid to React` |57| `/batch <instruction>` | **[Skill](/de/skills#bundled-skills).** Orchestrieren Sie großflächige Änderungen über eine Codebasis parallel. Recherchiert die Codebasis, zerlegt die Arbeit in 5 bis 30 unabhängige Einheiten und präsentiert einen Plan. Nach Genehmigung startet es einen [Hintergrund-Subagenten](/de/sub-agents#run-subagents-in-foreground-or-background) pro Einheit in einem isolierten [Git-Worktree](/de/worktrees). Jeder Subagent implementiert seine Einheit, führt Tests aus und öffnet einen Pull Request. Erfordert ein Git-Repository. Beispiel: `/batch migrate src/ from Solid to React` |

53| `/branch [name]` | Erstellen Sie einen Branch des aktuellen Gesprächs an dieser Stelle. Wechselt Sie in den Branch und bewahrt das Original, zu dem Sie mit `/resume` zurückkehren können. Alias: `/fork`. Wenn [`CLAUDE_CODE_FORK_SUBAGENT`](/de/env-vars) gesetzt ist, startet `/fork` stattdessen einen [verzweigten Subagenten](/de/sub-agents#fork-the-current-conversation) und ist kein Alias für diesen Befehl mehr |58| `/branch [name]` | Erstellen Sie einen Branch des aktuellen Gesprächs an dieser Stelle, um eine andere Richtung zu versuchen, ohne das Gespräch zu verlieren, wie es ist. Wechselt Sie in den Branch und bewahrt das Original, zu dem Sie mit `/resume` zurückkehren können. Um eine Nebenaufgabe stattdessen an einen Hintergrund-Subagenten zu übergeben, anstatt selbst in eine Kopie zu wechseln, verwenden Sie `/fork` |

54| `/btw <question>` | Stellen Sie eine schnelle [Nebenfrage](/de/interactive-mode#side-questions-with-%2Fbtw) ohne Hinzufügen zum Gespräch |59| `/btw <question>` | Stellen Sie eine schnelle [Nebenfrage](/de/interactive-mode#side-questions-with-%2Fbtw) ohne Hinzufügen zum Gespräch |

60| `/cd <path>` | {/* min-version: 2.1.169 */}Verschieben Sie diese Sitzung in ein neues Arbeitsverzeichnis. Der Prompt-Cache des Gesprächs wird beibehalten: die [`CLAUDE.md`](/de/memory) des neuen Verzeichnisses wird als Nachricht angehängt, anstatt das Systemprompt neu zu erstellen. Die Sitzung wird in den Projektspeicher des neuen Verzeichnisses verschoben, sodass `--resume` und `--continue` sie von dort aus finden. Fordert Sie auf, das Verzeichnis zu vertrauen, wenn Sie noch nicht darin gearbeitet haben. Um Zugriff auf ein zusätzliches Verzeichnis zu gewähren, ohne die Sitzung zu verschieben, verwenden Sie `/add-dir`. Beschränken oder deaktivieren Sie `/cd`-Ziele mit [`Cd`-Berechtigungsregeln](/de/permissions#cd). Erfordert Claude Code v2.1.169 oder später; frühere Versionen melden `Unknown command: /cd` |

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

56| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/de/skills#bundled-skills).** Laden Sie Claude API-Referenzmaterial für die Sprache Ihres Projekts (Python, TypeScript, Java, Go, Ruby, C#, PHP oder cURL) und Managed Agents-Referenz. Behandelt Tool-Nutzung, Streaming, Batches, strukturierte Ausgaben und häufige Fallstricke. Wird auch automatisch aktiviert, wenn Ihr Code `anthropic` oder `@anthropic-ai/sdk` importiert. Führen Sie `/claude-api migrate` aus, um vorhandenen Claude API-Code auf ein neueres Modell zu aktualisieren: Claude fragt, welche Dateien gescannt werden sollen und welches Modell das Ziel sein soll, dann aktualisiert Modell-IDs, Thinking-Konfiguration und andere Parameter, die sich zwischen Versionen geändert haben. Führen Sie `/claude-api managed-agents-onboard` aus, um eine interaktive Anleitung zu erhalten, die einen neuen Managed Agent von Grund auf erstellt |62| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/de/skills#bundled-skills).** Laden Sie Claude API-Referenzmaterial für die Sprache Ihres Projekts (Python, TypeScript, Java, Go, Ruby, C#, PHP oder cURL) und Managed Agents-Referenz. Behandelt Tool-Nutzung, Streaming, Batches, strukturierte Ausgaben und häufige Fallstricke. Wird auch automatisch aktiviert, wenn Ihr Code `anthropic` oder `@anthropic-ai/sdk` importiert. Führen Sie `/claude-api migrate` aus, um vorhandenen Claude API-Code auf ein neueres Modell zu aktualisieren: Claude fragt, welche Dateien gescannt werden sollen und welches Modell das Ziel sein soll, dann aktualisiert Modell-IDs, Thinking-Konfiguration und andere Parameter, die sich zwischen Versionen geändert haben. Führen Sie `/claude-api managed-agents-onboard` aus, um eine interaktive Anleitung zu erhalten, die einen neuen Managed Agent von Grund auf erstellt |

57| `/clear [name]` | Starten Sie ein neues Gespräch mit leerem Kontext. Das vorherige Gespräch bleibt in `/resume` verfügbar. Übergeben Sie einen Namen, um das vorherige Gespräch in der `/resume`-Auswahl zu kennzeichnen. Um Kontext freizugeben und gleichzeitig das gleiche Gespräch fortzusetzen, verwenden Sie stattdessen `/compact`. Aliase: `/reset`, `/new` |63| `/clear [name]` | Starten Sie ein neues Gespräch mit leerem Kontext. Das vorherige Gespräch bleibt in `/resume` verfügbar. Übergeben Sie einen Namen, um das vorherige Gespräch in der `/resume`-Auswahl zu kennzeichnen. Um Kontext freizugeben und gleichzeitig das gleiche Gespräch fortzusetzen, verwenden Sie stattdessen `/compact`. Aliase: `/reset`, `/new` |


74| `/feedback [report]` | Geben Sie Feedback zu Claude Code, melden Sie einen Fehler oder teilen Sie Ihr Gespräch. Aliase: `/bug`, `/share` |80| `/feedback [report]` | Geben Sie Feedback zu Claude Code, melden Sie einen Fehler oder teilen Sie Ihr Gespräch. Aliase: `/bug`, `/share` |

75| `/fewer-permission-prompts` | **[Skill](/de/skills#bundled-skills).** Scannen Sie Ihre Transkripte nach häufigen schreibgeschützten Bash- und MCP-Tool-Aufrufen, dann fügen Sie eine priorisierte Allowlist zu Projekt `.claude/settings.json` hinzu, um Berechtigungsaufforderungen zu reduzieren |81| `/fewer-permission-prompts` | **[Skill](/de/skills#bundled-skills).** Scannen Sie Ihre Transkripte nach häufigen schreibgeschützten Bash- und MCP-Tool-Aufrufen, dann fügen Sie eine priorisierte Allowlist zu Projekt `.claude/settings.json` hinzu, um Berechtigungsaufforderungen zu reduzieren |

76| `/focus` | Schalten Sie die Fokusansicht um, die nur Ihre letzte Eingabeaufforderung, eine einzeilige Tool-Call-Zusammenfassung mit Edit-Diffstats und die endgültige Antwort anzeigt. Die Auswahl bleibt über Sitzungen hinweg erhalten; legen Sie [`viewMode`](/de/settings#available-settings) in Einstellungen fest, um dies zu überschreiben. Nur in [Vollbildrendering](/de/fullscreen) verfügbar |82| `/focus` | Schalten Sie die Fokusansicht um, die nur Ihre letzte Eingabeaufforderung, eine einzeilige Tool-Call-Zusammenfassung mit Edit-Diffstats und die endgültige Antwort anzeigt. Die Auswahl bleibt über Sitzungen hinweg erhalten; legen Sie [`viewMode`](/de/settings#available-settings) in Einstellungen fest, um dies zu überschreiben. Nur in [Vollbildrendering](/de/fullscreen) verfügbar |

83| `/fork <directive>` | {/* min-version: 2.1.161 */}Starten Sie einen [verzweigten Subagenten](/de/sub-agents#fork-the-current-conversation): einen Hintergrund-Subagenten, der das vollständige Gespräch erbt und an der Direktive arbeitet, während Sie weitermachen. Sein Ergebnis kehrt zu Ihrem Gespräch zurück, wenn es fertig ist. Um selbst in eine Kopie des Gesprächs zu wechseln, verwenden Sie `/branch`. Vor v2.1.161 ist `/fork` ein Alias für `/branch` |

77| `/goal [condition\|clear]` | Legen Sie ein [Ziel](/de/goal) fest: Claude arbeitet über Turns hinweg weiter, bis die Bedingung erfüllt ist. Ohne Argument wird das aktuelle oder zuletzt erreichte Ziel angezeigt. `clear`, `stop`, `off`, `reset`, `none` oder `cancel` entfernt ein aktives Ziel frühzeitig |84| `/goal [condition\|clear]` | Legen Sie ein [Ziel](/de/goal) fest: Claude arbeitet über Turns hinweg weiter, bis die Bedingung erfüllt ist. Ohne Argument wird das aktuelle oder zuletzt erreichte Ziel angezeigt. `clear`, `stop`, `off`, `reset`, `none` oder `cancel` entfernt ein aktives Ziel frühzeitig |

78| `/heapdump` | Schreiben Sie einen JavaScript-Heap-Snapshot und eine Speicheraufschlüsselung nach `~/Desktop`, oder Ihr Home-Verzeichnis unter Linux ohne Desktop-Ordner, um hohe Speichernutzung zu diagnostizieren. Siehe [Troubleshooting](/de/troubleshooting#high-cpu-or-memory-usage) |85| `/heapdump` | Schreiben Sie einen JavaScript-Heap-Snapshot und eine Speicheraufschlüsselung nach `~/Desktop`, oder Ihr Home-Verzeichnis unter Linux ohne Desktop-Ordner, um hohe Speichernutzung zu diagnostizieren. Siehe [Troubleshooting](/de/troubleshooting#high-cpu-or-memory-usage) |

79| `/help` | Zeigen Sie Hilfe und verfügbare Befehle an |86| `/help` | Zeigen Sie Hilfe und verfügbare Befehle an |


83| `/insights` | Generieren Sie einen Bericht, der Ihre Claude Code-Sitzungen analysiert, einschließlich Projektbereiche, Interaktionsmuster und Reibungspunkte |90| `/insights` | Generieren Sie einen Bericht, der Ihre Claude Code-Sitzungen analysiert, einschließlich Projektbereiche, Interaktionsmuster und Reibungspunkte |

84| `/install-github-app` | Richten Sie die [Claude GitHub Actions](/de/github-actions)-App für ein Repository ein. Führt Sie durch die Auswahl eines Repos und die Konfiguration der Integration |91| `/install-github-app` | Richten Sie die [Claude GitHub Actions](/de/github-actions)-App für ein Repository ein. Führt Sie durch die Auswahl eines Repos und die Konfiguration der Integration |

85| `/install-slack-app` | Installieren Sie die Claude Slack-App. Öffnet einen Browser, um den OAuth-Flow abzuschließen |92| `/install-slack-app` | Installieren Sie die Claude Slack-App. Öffnet einen Browser, um den OAuth-Flow abzuschließen |

86| `/keybindings` | Öffnen oder erstellen Sie Ihre Tastenkombinationskonfigurationsdatei |93| `/keybindings` | Öffnen Sie Ihre [Tastenkombinationen](/de/keybindings)-Datei |

87| `/login` | Melden Sie sich bei Ihrem Anthropic-Konto an |94| `/login` | Melden Sie sich bei Ihrem Anthropic-Konto an |

88| `/logout` | Melden Sie sich von Ihrem Anthropic-Konto ab |95| `/logout` | Melden Sie sich von Ihrem Anthropic-Konto ab |

89| `/loop [interval] [prompt]` | **[Skill](/de/skills#bundled-skills).** Führen Sie eine Eingabeaufforderung wiederholt aus, während die Sitzung offen bleibt. Lassen Sie das Intervall weg und Claude bestimmt das Tempo zwischen Iterationen selbst. Lassen Sie die Eingabeaufforderung weg und Claude führt, [wo verfügbar](/de/scheduled-tasks#run-the-built-in-maintenance-prompt), eine autonome Wartungsprüfung durch oder die Eingabeaufforderung in `.claude/loop.md`. Beispiel: `/loop 5m check if the deploy finished`. Siehe [Eingabeaufforderungen nach Zeitplan ausführen](/de/scheduled-tasks). Alias: `/proactive` |96| `/loop [interval] [prompt]` | **[Skill](/de/skills#bundled-skills).** Führen Sie eine Eingabeaufforderung wiederholt aus, während die Sitzung offen bleibt. Lassen Sie das Intervall weg und Claude bestimmt das Tempo zwischen Iterationen selbst. Lassen Sie die Eingabeaufforderung weg und Claude führt, [wo verfügbar](/de/scheduled-tasks#run-the-built-in-maintenance-prompt), eine autonome Wartungsprüfung durch oder die Eingabeaufforderung in `.claude/loop.md`. Beispiel: `/loop 5m check if the deploy finished`. Siehe [Eingabeaufforderungen nach Zeitplan ausführen](/de/scheduled-tasks). Alias: `/proactive` |

90| `/mcp` | Verwalten Sie MCP-Serververbindungen und OAuth-Authentifizierung |97| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | Verwalten Sie MCP-Serververbindungen und OAuth-Authentifizierung. Führen Sie ohne Argument aus, um die interaktive Liste zu öffnen, übergeben Sie `reconnect <server>`, um einen getrennt verbundenen Server erneut zu verbinden, oder übergeben Sie `enable`/`disable` mit einem Servernamen oder `all`, um den Verbindungsstatus zu ändern, ohne das Dialogfeld zu öffnen |

91| `/memory` | Bearbeiten Sie `CLAUDE.md`-Speicherdateien, aktivieren oder deaktivieren Sie [Auto-Memory](/de/memory#auto-memory), und zeigen Sie Auto-Memory-Einträge an |98| `/memory` | Bearbeiten Sie `CLAUDE.md`-Speicherdateien, aktivieren oder deaktivieren Sie [Auto-Memory](/de/memory#auto-memory), und zeigen Sie Auto-Memory-Einträge an |

92| `/mobile` | Zeigen Sie QR-Code zum Herunterladen der Claude Mobile-App an. Aliase: `/ios`, `/android` |99| `/mobile` | Zeigen Sie QR-Code zum Herunterladen der Claude Mobile-App an. Aliase: `/ios`, `/android` |

93| `/model [model]` | Wechseln Sie das KI-Modell und speichern Sie es als Standard für neue Sitzungen. Für Modelle, die dies unterstützen, verwenden Sie Links-/Rechtspfeile, um die [Anstrengungsstufe anzupassen](/de/model-config#adjust-effort-level). Ohne Argument wird eine Auswahl geöffnet; drücken Sie `s` auf einer Zeile, um nur für die aktuelle Sitzung zu wechseln. Die Auswahl fordert zur Bestätigung auf, wenn das Gespräch vorherige Ausgaben hat, da die nächste Antwort die vollständige Historie ohne zwischengespeicherten Kontext erneut liest. Nach Bestätigung wird die Änderung sofort wirksam, ohne auf die Fertigstellung der aktuellen Antwort zu warten |100| `/model [model]` | Wechseln Sie das KI-Modell und speichern Sie es als Standard für neue Sitzungen. Für Modelle, die dies unterstützen, verwenden Sie Links-/Rechtspfeile, um die [Anstrengungsstufe anzupassen](/de/model-config#adjust-effort-level). Ohne Argument wird eine Auswahl geöffnet; drücken Sie `s` auf einer Zeile, um nur für die aktuelle Sitzung zu wechseln. Die Auswahl fordert zur Bestätigung auf, wenn das Gespräch vorherige Ausgaben hat, da die nächste Antwort die vollständige Historie ohne zwischengespeicherten Kontext erneut liest. Nach Bestätigung wird die Änderung sofort wirksam, ohne auf die Fertigstellung der aktuellen Antwort zu warten |

94| `/passes` | Teilen Sie eine kostenlose Woche Claude Code mit Freunden. Nur sichtbar, wenn Ihr Konto berechtigt ist |101| `/passes` | Teilen Sie eine kostenlose Woche Claude Code mit Freunden. Nur sichtbar, wenn Ihr Konto berechtigt ist |

95| `/permissions` | Verwalten Sie Zulassen-, Fragen- und Ablehnen-Regeln für Tool-Berechtigungen. Öffnet einen interaktiven Dialog, in dem Sie Regeln nach Umfang anzeigen, Regeln hinzufügen oder entfernen, Arbeitsverzeichnisse verwalten und [kürzliche Auto-Modus-Ablehnungen](/de/auto-mode-config#review-denials) überprüfen können. Alias: `/allowed-tools` |102| `/permissions` | Verwalten Sie Zulassen-, Fragen- und Ablehnen-Regeln für Tool-Berechtigungen. Öffnet einen interaktiven Dialog, in dem Sie Regeln nach Umfang anzeigen, Regeln hinzufügen oder entfernen, Arbeitsverzeichnisse verwalten und [kürzliche Auto-Modus-Ablehnungen](/de/auto-mode-config#review-denials) überprüfen können. Alias: `/allowed-tools` |

96| `/plan [description]` | Geben Sie den Plan-Modus direkt von der Eingabeaufforderung ein. Übergeben Sie eine optionale Beschreibung, um den Plan-Modus zu aktivieren und sofort mit dieser Aufgabe zu beginnen, zum Beispiel `/plan fix the auth bug` |103| `/plan [description]` | Geben Sie den Plan-Modus direkt von der Eingabeaufforderung ein. Übergeben Sie eine optionale Beschreibung, um den Plan-Modus zu aktivieren und sofort mit dieser Aufgabe zu beginnen, zum Beispiel `/plan fix the auth bug` |

97| `/plugin` | Verwalten Sie Claude Code [Plugins](/de/plugins) |104| `/plugin [subcommand]` | Verwalten Sie Claude Code [Plugins](/de/plugins). Führen Sie ohne Argument aus, um das Plugin-Menü zu öffnen, oder übergeben Sie einen Unterbefehl wie `list`, `install`, `enable` oder `disable`, um direkt zu handeln |

98| `/powerup` | Entdecken Sie Claude Code-Funktionen durch schnelle interaktive Lektionen mit animierten Demos |105| `/powerup` | Entdecken Sie Claude Code-Funktionen durch schnelle interaktive Lektionen mit animierten Demos |

99| `/pr-comments [PR]` | {/* max-version: 2.1.90 */}Entfernt in v2.1.91. Fragen Sie Claude direkt, um Pull Request-Kommentare anzuzeigen. In früheren Versionen werden Kommentare aus einem GitHub Pull Request abgerufen und angezeigt; erkennt automatisch den PR für den aktuellen Branch, oder übergeben Sie eine PR-URL oder -Nummer. Erfordert die `gh` CLI |106| `/pr-comments [PR]` | {/* max-version: 2.1.90 */}Entfernt in v2.1.91. Fragen Sie Claude direkt, um Pull Request-Kommentare anzuzeigen. In früheren Versionen werden Kommentare aus einem GitHub Pull Request abgerufen und angezeigt; erkennt automatisch den PR für den aktuellen Branch, oder übergeben Sie eine PR-URL oder -Nummer. Erfordert die `gh` CLI |

100| `/privacy-settings` | Zeigen Sie Ihre Datenschutzeinstellungen an und aktualisieren Sie sie. Nur für Pro- und Max-Plan-Abonnenten verfügbar |107| `/privacy-settings` | Zeigen Sie Ihre Datenschutzeinstellungen an und aktualisieren Sie sie. Nur für Pro- und Max-Plan-Abonnenten verfügbar |

101| `/radio` | Öffnen Sie Claude FM Lo-Fi-Radio in Ihrem Browser. Druckt die Stream-URL, wenn kein Browser verfügbar ist. Nicht verfügbar auf Bedrock, Vertex oder Foundry |108| `/radio` | Öffnen Sie Claude FM Lo-Fi-Radio in Ihrem Browser. Druckt die Stream-URL, wenn kein Browser verfügbar ist. Nicht verfügbar auf Bedrock, Vertex oder Foundry |

102| `/recap` | Generieren Sie eine einzeilige Zusammenfassung der aktuellen Sitzung auf Anfrage. Siehe [Sitzungs-Recap](/de/interactive-mode#session-recap) für das automatische Recap, das angezeigt wird, nachdem Sie weg waren |109| `/recap` | Generieren Sie eine einzeilige Zusammenfassung der aktuellen Sitzung auf Anfrage. Siehe [Sitzungs-Recap](/de/interactive-mode#session-recap) für das automatische Recap, das angezeigt wird, nachdem Sie weg waren |

103| `/release-notes` | Zeigen Sie das Änderungsprotokoll in einer interaktiven Versionswahl an. Wählen Sie eine bestimmte Version, um ihre Versionshinweise anzuzeigen, oder wählen Sie, um alle Versionen anzuzeigen |110| `/release-notes` | Zeigen Sie das Änderungsprotokoll in einer interaktiven Versionswahl an. Wählen Sie eine bestimmte Version, um ihre Versionshinweise anzuzeigen, oder wählen Sie, um alle Versionen anzuzeigen |

104| `/reload-plugins` | Laden Sie alle aktiven [Plugins](/de/plugins) neu, um ausstehende Änderungen anzuwenden, ohne neu zu starten. Meldet Zählungen für jede neu geladene Komponente und kennzeichnet alle Ladefehler |111| `/reload-plugins [--force]` | Laden Sie alle aktiven [Plugins](/de/plugins) neu, um ausstehende Änderungen anzuwenden, ohne neu zu starten. Meldet Zählungen für jede neu geladene Komponente und kennzeichnet alle Ladefehler. Wenn das Neuladen ändern würde, welche MCP-Tools geladen werden und den Prompt-Cache ungültig machen würde, warnt der Befehl und überspringt, es sei denn, Sie übergeben `--force` |

105| `/reload-skills` | {/* min-version: 2.1.152 */}Scannen Sie [Skill](/de/skills)- und Befehlsverzeichnisse erneut, damit Skills, die während der Sitzung auf der Festplatte hinzugefügt oder geändert wurden, ohne Neustart verfügbar werden. Meldet, wie viele Skills verfügbar sind und wie viele hinzugefügt oder entfernt wurden |112| `/reload-skills` | {/* min-version: 2.1.152 */}Scannen Sie [Skill](/de/skills)- und Befehlsverzeichnisse erneut, damit Skills, die während der Sitzung auf der Festplatte hinzugefügt oder geändert wurden, ohne Neustart verfügbar werden. Meldet, wie viele Skills verfügbar sind und wie viele hinzugefügt oder entfernt wurden. Hinzugefügt in v2.1.152 |

106| `/remote-control` | Machen Sie diese Sitzung für [Fernsteuerung](/de/remote-control) von claude.ai verfügbar. Alias: `/rc` |113| `/remote-control` | Machen Sie diese Sitzung für [Fernsteuerung](/de/remote-control) von claude.ai verfügbar. Alias: `/rc` |

107| `/remote-env` | Konfigurieren Sie die Standard-Remote-Umgebung für [Web-Sitzungen, die mit `--remote` gestartet wurden](/de/claude-code-on-the-web#configure-your-environment) |114| `/remote-env` | Wählen Sie die Standard-Umgebung für [Cloud-Agenten](/de/claude-code-on-the-web#configure-your-environment) |

108| `/rename [name]` | Benennen Sie die aktuelle Sitzung um und zeigen Sie den Namen in der Eingabeaufforderungsleiste an. Ohne einen Namen wird automatisch einer aus dem Gesprächsverlauf generiert |115| `/rename [name]` | Benennen Sie die aktuelle Sitzung um und zeigen Sie den Namen in der Eingabeaufforderungsleiste an. Ohne einen Namen wird automatisch einer aus dem Gesprächsverlauf generiert |

109| `/resume [session]` | Setzen Sie ein Gespräch nach ID oder Name fort, oder öffnen Sie die Sitzungsauswahl. Ab v2.1.144 werden [Hintergrund-Sitzungen](/de/agent-view) in der Auswahl mit `bg` gekennzeichnet angezeigt. Alias: `/continue` |116| `/resume [session]` | Setzen Sie ein Gespräch nach ID oder Name fort, oder öffnen Sie die Sitzungsauswahl. Ab v2.1.144 werden [Hintergrund-Sitzungen](/de/agent-view) in der Auswahl mit `bg` gekennzeichnet angezeigt. Alias: `/continue` |

110| `/review [PR]` | Überprüfen Sie einen Pull Request lokal in Ihrer aktuellen Sitzung. Für eine tiefere Cloud-basierte Überprüfung siehe [`/code-review ultra`](/de/ultrareview) |117| `/review [PR]` | Überprüfen Sie einen Pull Request lokal in Ihrer aktuellen Sitzung. Für eine tiefere Cloud-basierte Überprüfung siehe [`/code-review ultra`](/de/ultrareview) |


124| `/statusline` | Konfigurieren Sie Claude Codes [Statuszeile](/de/statusline). Beschreiben Sie, was Sie möchten, oder führen Sie ohne Argumente aus, um automatisch von Ihrer Shell-Eingabeaufforderung zu konfigurieren |131| `/statusline` | Konfigurieren Sie Claude Codes [Statuszeile](/de/statusline). Beschreiben Sie, was Sie möchten, oder führen Sie ohne Argumente aus, um automatisch von Ihrer Shell-Eingabeaufforderung zu konfigurieren |

125| `/stickers` | Bestellen Sie Claude Code-Aufkleber |132| `/stickers` | Bestellen Sie Claude Code-Aufkleber |

126| `/stop` | Stoppen Sie die aktuelle [Hintergrund-Sitzung](/de/agent-view). Nur verfügbar, wenn Sie an eine Hintergrund-Sitzung angehängt sind; das Transkript und alle Worktrees werden beibehalten. Um zu trennen, ohne zu stoppen, verwenden Sie `/exit` oder drücken Sie `←` |133| `/stop` | Stoppen Sie die aktuelle [Hintergrund-Sitzung](/de/agent-view). Nur verfügbar, wenn Sie an eine Hintergrund-Sitzung angehängt sind; das Transkript und alle Worktrees werden beibehalten. Um zu trennen, ohne zu stoppen, verwenden Sie `/exit` oder drücken Sie `←` |

127| `/tasks` | Listet und verwaltet Hintergrundaufgaben. Auch verfügbar als `/bashes` |134| `/tasks` | Zeigen Sie und verwalten Sie alles, was im Hintergrund läuft. Auch verfügbar als `/bashes` |

128| `/team-onboarding` | Generieren Sie einen Team-Onboarding-Leitfaden aus Ihrer Claude Code-Nutzungshistorie. Claude analysiert Ihre Sitzungen, Befehle und MCP-Server-Nutzung der letzten 30 Tage und erstellt einen Markdown-Leitfaden, den ein Teamkollege als erste Nachricht einfügen kann, um sich schnell einzurichten. Für claude.ai-Abonnenten in Pro-, Max-, Team- und Enterprise-Plänen wird auch ein Share-Link zurückgegeben, den Teamkollegen direkt in Claude Code öffnen können |135| `/team-onboarding` | Generieren Sie einen Team-Onboarding-Leitfaden aus Ihrer Claude Code-Nutzungshistorie. Claude analysiert Ihre Sitzungen, Befehle und MCP-Server-Nutzung der letzten 30 Tage und erstellt einen Markdown-Leitfaden, den ein Teamkollege als erste Nachricht einfügen kann, um sich schnell einzurichten. Für claude.ai-Abonnenten in Pro-, Max-, Team- und Enterprise-Plänen wird auch ein Share-Link zurückgegeben, den Teamkollegen direkt in Claude Code öffnen können |

129| `/teleport` | Ziehen Sie eine [Claude Code im Web](/de/claude-code-on-the-web#from-web-to-terminal)-Sitzung in dieses Terminal: öffnet eine Auswahl, dann ruft den Branch und das Gespräch ab. Auch verfügbar als `/tp`. Erfordert ein claude.ai-Abonnement |136| `/teleport` | Ziehen Sie eine [Claude Code im Web](/de/claude-code-on-the-web#from-web-to-terminal)-Sitzung in dieses Terminal: öffnet eine Auswahl, dann ruft den Branch und das Gespräch ab. Auch verfügbar als `/tp`. Erfordert ein claude.ai-Abonnement |

130| `/terminal-setup` | Konfigurieren Sie Terminal-Tastenkombinationen für Shift+Enter und andere Verknüpfungen. Nur in Terminals sichtbar, die dies benötigen, wie VS Code, Cursor, Devin Desktop, Alacritty oder Zed |137| `/terminal-setup` | Konfigurieren Sie Terminal-Tastenkombinationen für Shift+Enter und andere Verknüpfungen. Nur in Terminals sichtbar, die dies benötigen, wie VS Code, Cursor, Devin Desktop, Alacritty oder Zed |


141| `/web-setup` | Verbinden Sie Ihr GitHub-Konto mit [Claude Code im Web](/de/web-quickstart#connect-from-your-terminal) mit Ihren lokalen `gh` CLI-Anmeldedaten. `/schedule` fordert dies automatisch auf, wenn GitHub nicht verbunden ist |148| `/web-setup` | Verbinden Sie Ihr GitHub-Konto mit [Claude Code im Web](/de/web-quickstart#connect-from-your-terminal) mit Ihren lokalen `gh` CLI-Anmeldedaten. `/schedule` fordert dies automatisch auf, wenn GitHub nicht verbunden ist |

142| `/workflows` | Öffnen Sie die [Workflow](/de/workflows#watch-the-run)-Fortschrittsansicht, um laufende und abgeschlossene Workflows zu beobachten, zu pausieren, fortzusetzen oder zu speichern |149| `/workflows` | Öffnen Sie die [Workflow](/de/workflows#watch-the-run)-Fortschrittsansicht, um laufende und abgeschlossene Workflows zu beobachten, zu pausieren, fortzusetzen oder zu speichern |

143 150 

144## MCP-Eingabeaufforderungen151<h2 id="mcp-prompts">

152 MCP-Eingabeaufforderungen

153</h2>

145 154 

146MCP-Server können Eingabeaufforderungen verfügbar machen, die als Befehle angezeigt werden. Diese verwenden das Format `/mcp__<server>__<prompt>` und werden dynamisch von verbundenen Servern erkannt. Siehe [MCP-Eingabeaufforderungen](/de/mcp#use-mcp-prompts-as-commands) für Details.155MCP-Server können Eingabeaufforderungen verfügbar machen, die als Befehle angezeigt werden. Diese verwenden das Format `/mcp__<server>__<prompt>` und werden dynamisch von verbundenen Servern erkannt. Siehe [MCP-Eingabeaufforderungen](/de/mcp#use-mcp-prompts-as-commands) für Details.

147 156 

148## Siehe auch157<h2 id="see-also">

158 Siehe auch

159</h2>

149 160 

150* [Skills](/de/skills): Erstellen Sie Ihre eigenen Befehle161* [Skills](/de/skills): Erstellen Sie Ihre eigenen Befehle

151* [Interaktiver Modus](/de/interactive-mode): Tastenkombinationen, Vim-Modus und Befehlsverlauf162* [Interaktiver Modus](/de/interactive-mode): Tastenkombinationen, Vim-Modus und Befehlsverlauf

Details

240Feature-Arbeit, Bugs, Tests und Reviews. Greifen Sie zu *Opus* bei großen240Feature-Arbeit, Bugs, Tests und Reviews. Greifen Sie zu *Opus* bei großen

241Refactorings, kniffligem Debugging oder allem mit hohem Einsatz. Fallen Sie241Refactorings, kniffligem Debugging oder allem mit hohem Einsatz. Fallen Sie

242auf *Haiku* für schnelle Fragen, Formatierung und mechanische Bearbeitungen,242auf *Haiku* für schnelle Fragen, Formatierung und mechanische Bearbeitungen,

243bei denen Geschwindigkeit gewinnt.243bei denen Geschwindigkeit gewinnt. *Fable 5* ist das fähigste Modell für Ihre

244schwierigsten, längsten Aufgaben; es ist nicht der Standard, also wählen Sie

245es mit `/model fable` aus, und beachten Sie, dass Cybersicherheits- und

246Biologieinhalte automatisch auf Opus zurückfallen.

244 247 

245*Probieren Sie es jetzt:* Geben Sie `/model` ein und wählen Sie Sonnet, wenn248*Probieren Sie es jetzt:* Geben Sie `/model` ein und wählen Sie Sonnet, wenn

246Sie es noch nicht getan haben. Es ist der richtige Standard für die meisten249Sie es noch nicht getan haben. Es ist der richtige Standard für die meisten


250```253```

251 254 

252| Modell | Am besten für |255| Modell | Am besten für |

253| ------ | -------------------------------------------------------------------------------------------------- |256| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

257| Fable 5 | 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](/de/model-config#automatic-model-fallback) |

254| Opus | Großflächige Refactorings, komplexes Debugging, Architekturentscheidungen, hochriskante Änderungen |258| Opus | Großflächige Refactorings, komplexes Debugging, Architekturentscheidungen, hochriskante Änderungen |

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

256| Haiku | Schnelle Fragen, Formatierung, mechanische Bearbeitungen, schnelle Iteration |260| Haiku | Schnelle Fragen, Formatierung, mechanische Bearbeitungen, schnelle Iteration |

computer-use.md +1 −1

Details

231 231 

232macOS erfordert manchmal einen Neustart des anfordernden Prozesses, nachdem Sie die Bildschirmaufzeichnung gewähren. Beenden Sie Claude Code vollständig und starten Sie eine neue Sitzung. Wenn die Aufforderung weiterhin angezeigt wird, öffnen Sie **Systemeinstellungen > Datenschutz & Sicherheit > Bildschirmaufzeichnung** und bestätigen Sie, dass Ihre Terminal-App aufgelistet und aktiviert ist.232macOS erfordert manchmal einen Neustart des anfordernden Prozesses, nachdem Sie die Bildschirmaufzeichnung gewähren. Beenden Sie Claude Code vollständig und starten Sie eine neue Sitzung. Wenn die Aufforderung weiterhin angezeigt wird, öffnen Sie **Systemeinstellungen > Datenschutz & Sicherheit > Bildschirmaufzeichnung** und bestätigen Sie, dass Ihre Terminal-App aufgelistet und aktiviert ist.

233 233 

234<h3 id="computer-use-doesn-t-appear-in-/mcp">234<h3 id="computer-use-doesnt-appear-in-/mcp">

235 `computer-use` erscheint nicht in `/mcp`235 `computer-use` erscheint nicht in `/mcp`

236</h3>236</h3>

237 237 

context-window.md +1591 −5

Details

6 6 

7> Eine interaktive Simulation, wie sich das Kontextfenster von Claude Code während einer Sitzung füllt. Sehen Sie, was automatisch geladen wird, welche Kosten jeder Dateilesevorgang hat, und wann Regeln und Hooks ausgelöst werden.7> Eine interaktive Simulation, wie sich das Kontextfenster von Claude Code während einer Sitzung füllt. Sehen Sie, was automatisch geladen wird, welche Kosten jeder Dateilesevorgang hat, und wann Regeln und Hooks ausgelöst werden.

8 8 

9Das Kontextfenster von Claude Code enthält alles, was Claude über Ihre Sitzung weiß: Ihre Anweisungen, die Dateien, die es liest, seine eigenen Antworten und Inhalte, die nie in Ihrem Terminal erscheinen. Die folgende Zeitleiste zeigt, was geladen wird und wann. Siehe [die schriftliche Aufschlüsselung](#what-the-timeline-shows) für denselben Inhalt als Liste.9export const ContextWindow = () => {

10 const MAX = 200000;

11 const STARTUP_END = 0.2;

12 {}

13 const EVENTS = useMemo(() => [{}, {

14 t: 0.015,

15 kind: 'auto',

16 label: 'System prompt',

17 tokens: 4200,

18 color: '#6B6964',

19 vis: 'hidden',

20 desc: 'Core instructions for behavior, tool use, and response formatting. Always loaded first. You never see it.',

21 link: null

22 }, {

23 t: 0.035,

24 kind: 'auto',

25 label: 'Auto memory (MEMORY.md)',

26 tokens: 680,

27 color: '#E8A45C',

28 vis: 'hidden',

29 desc: "Claude's notes to itself from previous sessions: build commands it learned, patterns it noticed, mistakes to avoid. The first 200 lines or 25KB, whichever comes first, are loaded into the conversation context.",

30 link: '/en/memory#auto-memory'

31 }, {

32 t: 0.06,

33 kind: 'auto',

34 label: 'Environment info',

35 tokens: 280,

36 color: '#6B6964',

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.',

39 link: null

40 }, {

41 t: 0.08,

42 kind: 'auto',

43 label: 'MCP tools (deferred)',

44 tokens: 120,

45 color: '#9B7BC4',

46 vis: 'hidden',

47 desc: 'MCP tool names listed so Claude knows what is available. By default, full schemas stay deferred and Claude loads specific ones on demand via tool search when a task needs them. Set `ENABLE_TOOL_SEARCH=auto` to load schemas upfront when they fit within 10% of the context window, or `ENABLE_TOOL_SEARCH=false` to load everything.',

48 link: '/en/mcp#scale-with-mcp-tool-search'

49 }, {

50 t: 0.1,

51 kind: 'auto',

52 label: 'Skill descriptions',

53 tokens: 450,

54 color: '#D4A843',

55 vis: 'hidden',

56 noSurviveCompact: true,

57 desc: 'One-line descriptions of available skills so Claude knows what it can invoke. Full skill content loads only when Claude actually uses one. Skills with `disable-model-invocation: true` are not in this list. They stay completely out of context until you invoke them with `/name`. Unlike the rest of the startup content, this listing is not re-injected after `/compact`. Only skills you actually invoked get preserved.',

58 link: '/en/skills'

59 }, {

60 t: 0.12,

61 kind: 'auto',

62 label: '~/.claude/CLAUDE.md',

63 tokens: 320,

64 color: '#6A9BCC',

65 vis: 'hidden',

66 desc: 'Your global preferences. Applies to every project. Loaded alongside project instructions at the start of every conversation.',

67 link: '/en/memory#choose-where-to-put-claude-md-files'

68 }, {

69 t: 0.14,

70 kind: 'auto',

71 label: 'Project CLAUDE.md',

72 tokens: 1800,

73 color: '#6A9BCC',

74 vis: 'hidden',

75 desc: 'Project conventions, build commands, architecture notes. The most important file you can create. Lives in your project root, so your whole team gets the same instructions.',

76 tip: 'Keep it under 200 lines. Move reference content to skills or path-scoped rules so it only loads when needed.',

77 link: '/en/memory'

78 }, {}, {

79 t: 0.22,

80 kind: 'user',

81 label: 'Your prompt',

82 tokens: 45,

83 color: '#558A42',

84 vis: 'full',

85 desc: '"Fix the auth bug where users get 401 after token refresh"',

86 link: null

87 }, {}, {

88 t: 0.28,

89 kind: 'claude',

90 label: 'Read src/api/auth.ts',

91 tokens: 2400,

92 color: '#8A8880',

93 vis: 'brief',

94 desc: 'Main auth file. You see "Read auth.ts" in your terminal, but the 2,400 tokens of file content only Claude sees.',

95 tip: 'File reads dominate context usage. Be specific in prompts ("fix the bug in auth.ts") so Claude reads fewer files. For research-heavy tasks, use a subagent.',

96 link: null

97 }, {

98 t: 0.32,

99 kind: 'claude',

100 label: 'Read src/lib/tokens.ts',

101 tokens: 1100,

102 color: '#8A8880',

103 vis: 'brief',

104 desc: 'Following imports to the token module. Shown as a one-liner in your terminal.',

105 link: null

106 }, {

107 t: 0.35,

108 kind: 'auto',

109 label: 'Rule: api-conventions.md',

110 tokens: 380,

111 color: '#4A9B8E',

112 vis: 'brief',

113 desc: 'This rule in `.claude/rules/` has a `paths:` pattern matching `src/api/**`. It loaded automatically when Claude read a file in that directory. You see "Loaded .claude/rules/api-conventions.md" in your terminal, but not the rule content.',

114 link: '/en/memory#path-specific-rules'

115 }, {

116 t: 0.38,

117 kind: 'claude',

118 label: 'Read middleware.ts',

119 tokens: 1800,

120 color: '#8A8880',

121 vis: 'brief',

122 desc: 'Tracing the auth flow deeper.',

123 link: null

124 }, {

125 t: 0.41,

126 kind: 'claude',

127 label: 'Read auth.test.ts',

128 tokens: 1600,

129 color: '#8A8880',

130 vis: 'brief',

131 desc: 'Checking existing tests for expected behavior.',

132 link: null

133 }, {

134 t: 0.44,

135 kind: 'auto',

136 label: 'Rule: testing.md',

137 tokens: 290,

138 color: '#4A9B8E',

139 vis: 'brief',

140 desc: 'Another path-scoped rule, this one matching `*.test.ts` files. Triggered when Claude read auth.test.ts. Shown as a one-line "Loaded" notice.',

141 link: '/en/memory#path-specific-rules'

142 }, {

143 t: 0.47,

144 kind: 'claude',

145 label: 'grep "refreshToken"',

146 tokens: 600,

147 color: '#A09E96',

148 vis: 'brief',

149 desc: 'Search results across the codebase. You see the command ran, not the full output.',

150 link: null

151 }, {}, {

152 t: 0.53,

153 kind: 'claude',

154 label: "Claude's analysis",

155 tokens: 800,

156 color: '#D97757',

157 vis: 'full',

158 desc: 'Explains the bug: token invalidated too early in the rotation. This text appears in your terminal.',

159 link: null

160 }, {

161 t: 0.57,

162 kind: 'claude',

163 label: 'Edit auth.ts',

164 tokens: 400,

165 color: '#D97757',

166 vis: 'full',

167 desc: 'Fixes the token rotation order. The diff appears in your terminal.',

168 link: null

169 }, {

170 t: 0.59,

171 kind: 'hook',

172 label: 'Hook: prettier',

173 tokens: 120,

174 color: '#B8860B',

175 vis: 'hidden',

176 desc: 'A PostToolUse hook in `settings.json` runs prettier after every file edit and reports back via `hookSpecificOutput.additionalContext`. That field enters Claude\'s context. Plain stdout on exit 0 does not. It is written to the debug log only.',

177 tip: 'Output JSON with `additionalContext` to send info to Claude. For PostToolUse hooks, exit code 2 surfaces stderr as an error but cannot block since the tool already ran. Keep output concise since it enters context without truncation.',

178 link: '/en/hooks-guide'

179 }, {

180 t: 0.62,

181 kind: 'claude',

182 label: 'Edit auth.test.ts',

183 tokens: 600,

184 color: '#D97757',

185 vis: 'full',

186 desc: 'Adds a regression test for the fix. The diff appears in your terminal.',

187 link: null

188 }, {

189 t: 0.64,

190 kind: 'hook',

191 label: 'Hook: prettier',

192 tokens: 100,

193 color: '#B8860B',

194 vis: 'hidden',

195 desc: 'The same hook fires again for the test file. Every matching tool event triggers it.',

196 link: '/en/hooks-guide'

197 }, {

198 t: 0.67,

199 kind: 'claude',

200 label: 'npm test output',

201 tokens: 1200,

202 color: '#A09E96',

203 vis: 'brief',

204 desc: 'Runs the test suite. You see "Running npm test..." and the pass count, not the full 1,200 tokens of output.',

205 link: null

206 }, {

207 t: 0.70,

208 kind: 'claude',

209 label: 'Summary',

210 tokens: 400,

211 color: '#D97757',

212 vis: 'full',

213 desc: '"Fixed token rotation. Added regression test. All tests pass."',

214 link: null

215 }, {}, {

216 t: 0.72,

217 kind: 'user',

218 label: 'Your follow-up',

219 tokens: 40,

220 color: '#558A42',

221 vis: 'full',

222 desc: '"Use a subagent to research session timeout handling, then fix it"',

223 tip: 'Follow-ups add to the same context. Delegating research to a subagent keeps large file reads out of your main window.',

224 link: null

225 }, {

226 t: 0.79,

227 kind: 'claude',

228 label: 'Spawn research subagent',

229 tokens: 80,

230 color: '#D97757',

231 vis: 'brief',

232 desc: "Claude delegates the research to a subagent with a fresh, separate context window. It loads CLAUDE.md and the same MCP and skill setup, but starts without your conversation history or the main session's auto memory.",

233 link: '/en/sub-agents'

234 }, {

235 t: 0.795,

236 kind: 'sub',

237 label: 'System prompt',

238 tokens: 0,

239 subTokens: 900,

240 color: '#6B6964',

241 vis: 'hidden',

242 desc: "The subagent gets its own system prompt, shorter than the main session's. For the general-purpose agent, it's a brief prompt plus environment details. The main session's auto memory is not included. If a custom agent has memory: in its frontmatter, it loads its own separate MEMORY.md here instead.",

243 link: '/en/sub-agents#enable-persistent-memory'

244 }, {

245 t: 0.80,

246 kind: 'sub',

247 label: 'Project CLAUDE.md (own copy)',

248 tokens: 0,

249 subTokens: 1800,

250 color: '#6A9BCC',

251 vis: 'hidden',

252 desc: "The subagent loads CLAUDE.md too. Same file, same content, but it counts against the subagent's context, not yours. The built-in Explore and Plan agents skip this for a smaller context.",

253 link: '/en/sub-agents'

254 }, {

255 t: 0.805,

256 kind: 'sub',

257 label: 'MCP tools + skills',

258 tokens: 0,

259 subTokens: 970,

260 color: '#9B7BC4',

261 vis: 'hidden',

262 desc: "The subagent has access to the same MCP servers and skills. It gets most of the parent's tools, minus several that don't apply in a nested context, including plan-mode controls, background-task tools, and by default the Agent tool itself to prevent recursion.",

263 link: '/en/sub-agents'

264 }, {

265 t: 0.81,

266 kind: 'sub',

267 label: 'Task prompt from main',

268 tokens: 0,

269 subTokens: 120,

270 color: '#558A42',

271 vis: 'hidden',

272 desc: "Instead of a user prompt, the subagent receives the task Claude wrote for it: 'Research session timeout handling in this codebase.'",

273 link: '/en/sub-agents'

274 }, {

275 t: 0.82,

276 kind: 'sub',

277 label: 'Read session.ts',

278 tokens: 0,

279 subTokens: 2200,

280 color: '#8A8880',

281 vis: 'hidden',

282 desc: "Now the subagent does its work. This file read fills the subagent's context, not yours.",

283 link: '/en/sub-agents'

284 }, {

285 t: 0.825,

286 kind: 'sub',

287 label: 'Read timeouts.ts',

288 tokens: 0,

289 subTokens: 800,

290 color: '#8A8880',

291 vis: 'hidden',

292 desc: "Another file read in the subagent's separate context.",

293 link: '/en/sub-agents'

294 }, {

295 t: 0.83,

296 kind: 'sub',

297 label: 'Read config/*.ts',

298 tokens: 0,

299 subTokens: 3100,

300 color: '#8A8880',

301 vis: 'hidden',

302 desc: "The subagent can read as many files as it needs. None of this touches your main context.",

303 link: '/en/sub-agents'

304 }, {

305 t: 0.85,

306 kind: 'claude',

307 label: 'Subagent returns summary',

308 tokens: 420,

309 color: '#D97757',

310 vis: 'brief',

311 desc: "Only the subagent's final text response comes back to your context, plus a small metadata trailer with token counts and duration. The subagent read 6,100 tokens of files. You got a 420-token result. That's the context savings.",

312 link: '/en/sub-agents'

313 }, {

314 t: 0.86,

315 kind: 'claude',

316 label: "Claude's response",

317 tokens: 1200,

318 color: '#D97757',

319 vis: 'full',

320 desc: 'Analysis and fix for session timeouts. This text appears in your terminal.',

321 link: null

322 }, {}, {

323 t: 0.875,

324 kind: 'user',

325 label: '!git status',

326 tokens: 180,

327 color: '#558A42',

328 vis: 'full',

329 desc: "You ran a shell command with the ! prefix to see which files Claude modified. The command and its output both enter context as part of your message. Useful for grounding Claude in command output without Claude running it.",

330 link: '/en/interactive-mode#bash-mode-with-prefix'

331 }, {

332 t: 0.89,

333 kind: 'user',

334 label: '/commit-push',

335 tokens: 620,

336 color: '#558A42',

337 vis: 'brief',

338 desc: 'You invoked a skill that has `disable-model-invocation: true`. Its description was not in the skill index at startup, so it cost zero context until this moment. Now the full skill content loads and Claude follows its instructions to stage, commit, and push your changes.',

339 tip: 'Set `disable-model-invocation: true` on skills with side effects like committing, deploying, or sending messages. They stay out of context entirely until you need them.',

340 link: '/en/skills#control-who-invokes-a-skill'

341 }, {}, {

342 t: 0.93,

343 kind: 'compact',

344 label: '/compact',

345 tokens: 0,

346 color: '#D97757',

347 vis: 'brief',

348 desc: 'Replaces the conversation with a structured summary. You see a "Conversation compacted" message. The summarization happens without appearing in your terminal.',

349 link: '/en/how-claude-code-works#the-context-window'

350 }].filter(e => e.t !== undefined), []);

351 const VIS_META = {

352 hidden: {

353 label: 'Invisible in your terminal',

354 sub: 'This content does not appear in your terminal.'

355 },

356 brief: {

357 label: 'One-liner in your terminal',

358 sub: 'You see a brief mention, not the full content.'

359 },

360 full: {

361 label: 'Shown in your terminal',

362 sub: 'The actual content appears in your terminal.'

363 }

364 };

365 {}

366 const GATES = [{

367 at: 0.18,

368 kind: 'prompt',

369 text: 'Fix the auth bug where users get 401 after token refresh',

370 resumeTo: 0.22

371 }, {

372 at: 0.705,

373 kind: 'prompt',

374 text: 'Use a subagent to research session timeout handling, then fix it',

375 resumeTo: 0.72

376 }, {

377 at: 0.865,

378 kind: 'bang',

379 text: '!git status',

380 resumeTo: 0.875

381 }, {

382 at: 0.88,

383 kind: 'slash',

384 text: '/commit-push',

385 resumeTo: 0.89

386 }, {

387 at: 0.90,

388 kind: 'compact',

389 text: '/compact',

390 resumeTo: 1

391 }];

392 const KIND_META = {

393 auto: {

394 badge: 'auto',

395 detail: 'Auto-loaded',

396 badgeBg: 'rgba(94,93,89,0.15)',

397 badgeColor: '#8A8880'

398 },

399 user: {

400 badge: 'you',

401 detail: 'You typed this',

402 badgeBg: 'rgba(85,138,66,0.15)',

403 badgeColor: '#6BA656'

404 },

405 claude: {

406 badge: 'claude',

407 detail: "Claude's work",

408 badgeBg: 'rgba(217,119,87,0.12)',

409 badgeColor: '#D97757'

410 },

411 hook: {

412 badge: 'hook',

413 detail: 'Hook (automatic)',

414 badgeBg: 'rgba(184,134,11,0.15)',

415 badgeColor: '#CCA020'

416 },

417 compact: {

418 badge: 'compact',

419 detail: 'Compaction',

420 badgeBg: 'rgba(217,119,87,0.12)',

421 badgeColor: '#D97757'

422 },

423 sub: {

424 badge: 'subagent',

425 detail: "In subagent's context",

426 badgeBg: 'rgba(155,123,196,0.12)',

427 badgeColor: '#9B7BC4'

428 }

429 };

430 const LEGEND = [{

431 c: '#6B6964',

432 l: 'System'

433 }, {

434 c: '#6A9BCC',

435 l: 'CLAUDE.md'

436 }, {

437 c: '#E8A45C',

438 l: 'Memory'

439 }, {

440 c: '#D4A843',

441 l: 'Skills'

442 }, {

443 c: '#9B7BC4',

444 l: 'MCP'

445 }, {

446 c: '#4A9B8E',

447 l: 'Rules'

448 }, {

449 c: '#558A42',

450 l: 'You'

451 }, {

452 c: '#8A8880',

453 l: 'Files'

454 }, {

455 c: '#A09E96',

456 l: 'Output'

457 }, {

458 c: '#D97757',

459 l: 'Claude'

460 }, {

461 c: '#B8860B',

462 l: 'Hooks'

463 }];

464 const fmt = n => n >= 1000 ? (n / 1000).toFixed(1).replace(/\.0$/, '') + 'K' : n + '';

465 const [time, setTime] = useState(0);

466 const [playing, setPlaying] = useState(false);

467 const [hovIdx, setHovIdx] = useState(null);

468 const [selIdx, setSelIdx] = useState(null);

469 const [hovCat, setHovCat] = useState(null);

470 const [gatesPassed, setGatesPassed] = useState(0);

471 const [mounted, setMounted] = useState(false);

472 const [hasInteracted, setHasInteracted] = useState(false);

473 const lastRef = useRef(null);

474 const scrollRef = useRef(null);

475 const detailRef = useRef(null);

476 useEffect(() => setMounted(true), []);

477 const activeGate = GATES.find((g, i) => i >= gatesPassed && time >= g.at && time < g.resumeTo);

478 useEffect(() => {

479 if (!playing) return;

480 let raf;

481 let stopped = false;

482 const tick = ts => {

483 if (stopped) return;

484 if (!lastRef.current) lastRef.current = ts;

485 const dt = (ts - lastRef.current) / 1000;

486 lastRef.current = ts;

487 setTime(prev => {

488 const next = prev + dt * 0.032;

489 const gate = GATES.find((g, i) => i >= gatesPassed && next >= g.at && prev < g.resumeTo);

490 if (gate) {

491 stopped = true;

492 setPlaying(false);

493 return gate.at;

494 }

495 if (next >= 1) {

496 stopped = true;

497 setPlaying(false);

498 return 1;

499 }

500 return next;

501 });

502 if (!stopped) raf = requestAnimationFrame(tick);

503 };

504 raf = requestAnimationFrame(tick);

505 return () => {

506 stopped = true;

507 cancelAnimationFrame(raf);

508 lastRef.current = null;

509 };

510 }, [playing, gatesPassed]);

511 const sendPrompt = () => {

512 if (!activeGate) return;

513 const isCompact = activeGate.kind === 'compact';

514 setGatesPassed(n => n + 1);

515 setTime(activeGate.resumeTo);

516 setSelIdx(null);

517 setHovIdx(null);

518 if (!isCompact) setPlaying(true);

519 };

520 const visibleCount = EVENTS.filter(e => e.t <= time).length;

521 const preCompactVisible = useMemo(() => EVENTS.slice(0, visibleCount), [EVENTS, visibleCount]);

522 const compactGateIdx = GATES.length - 1;

523 const isCompacted = gatesPassed > compactGateIdx && preCompactVisible.some(e => e.kind === 'compact');

524 const {visible, preCompactTotal} = useMemo(() => {

525 const nonCompact = preCompactVisible.filter(e => e.kind !== 'compact');

526 if (!isCompacted) {

527 return {

528 visible: preCompactVisible,

529 preCompactTotal: 0

530 };

531 }

532 {}

533 const autoLoads = nonCompact.filter(e => e.kind === 'auto' && e.t < STARTUP_END && !e.noSurviveCompact);

534 const summarized = nonCompact.filter(e => e.t >= STARTUP_END && e.kind !== 'sub');

535 const sumTokens = summarized.reduce((s, e) => s + e.tokens, 0);

536 const summaryBlock = {

537 t: STARTUP_END,

538 kind: 'compact',

539 label: 'Conversation summary',

540 tokens: Math.round(sumTokens * 0.12),

541 color: '#A09E96',

542 vis: 'hidden',

543 desc: `All ${summarized.length} conversation events condensed into one structured summary. The summary keeps: your requests and intent, key technical concepts, files examined or modified with important code snippets, errors and how they were fixed, pending tasks, and current work. It replaces the verbatim conversation: full tool outputs and intermediate reasoning are gone. Claude can still reference the work but won't have the exact code it read earlier.`,

544 link: '/en/how-claude-code-works#the-context-window'

545 };

546 return {

547 visible: [...autoLoads, summaryBlock],

548 preCompactTotal: nonCompact.reduce((s, e) => s + e.tokens, 0)

549 };

550 }, [preCompactVisible, isCompacted]);

551 const {blocks, totalTokens} = useMemo(() => {

552 const bl = visible.map((e, visIdx) => ({

553 ...e,

554 id: e.label + e.t,

555 visIdx

556 })).filter(e => e.tokens > 0 || e.label === 'Conversation summary');

557 return {

558 blocks: bl,

559 totalTokens: bl.reduce((s, b) => s + b.tokens, 0)

560 };

561 }, [visible]);

562 const subTotal = useMemo(() => visible.filter(e => e.kind === 'sub').reduce((s, e) => s + (e.subTokens || 0), 0), [visible]);

563 useEffect(() => {

564 if (!scrollRef.current) return;

565 if (isCompacted) scrollRef.current.scrollTo({

566 top: 0,

567 behavior: 'smooth'

568 }); else if (playing || activeGate) scrollRef.current.scrollTop = scrollRef.current.scrollHeight;

569 }, [visible.length, !!activeGate, isCompacted]);

570 const rootRef = useRef(null);

571 const keyStateRef = useRef({});

572 const [isFullscreen, setIsFullscreen] = useState(false);

573 keyStateRef.current = {

574 time,

575 activeGate,

576 sendPrompt,

577 hasInteracted

578 };

579 useEffect(() => {

580 const onFsChange = () => setIsFullscreen(!!document.fullscreenElement);

581 document.addEventListener('fullscreenchange', onFsChange);

582 return () => document.removeEventListener('fullscreenchange', onFsChange);

583 }, []);

584 const toggleFullscreen = () => {

585 if (!rootRef.current) return;

586 if (document.fullscreenElement) document.exitFullscreen(); else rootRef.current.requestFullscreen().catch(() => {});

587 };

588 useEffect(() => {

589 const onKey = e => {

590 const tag = e.target.tagName;

591 if (tag === 'INPUT' || tag === 'BUTTON' || tag === 'TEXTAREA' || tag === 'SELECT' || e.target.isContentEditable) return;

592 if (!rootRef.current) return;

593 const rect = rootRef.current.getBoundingClientRect();

594 if (rect.width === 0 && rect.height === 0) return;

595 if (rect.bottom < 0 || rect.top > window.innerHeight) return;

596 if (e.code === 'Space') {

597 const {time: t, activeGate: g, sendPrompt: send, hasInteracted: hi} = keyStateRef.current;

598 if (!hi) return;

599 e.preventDefault();

600 if (t === 0) setPlaying(true); else if (g) send(); else if (t >= 1) {

601 setTime(0);

602 setGatesPassed(0);

603 setSelIdx(null);

604 setHovIdx(null);

605 setPlaying(true);

606 } else setPlaying(p => !p);

607 }

608 };

609 window.addEventListener('keydown', onKey);

610 return () => window.removeEventListener('keydown', onKey);

611 }, []);

612 const pct = totalTokens / MAX * 100;

613 const barColor = pct > 75 ? '#D97757' : pct > 50 ? '#B8860B' : '#558A42';

614 const activeIdx = selIdx !== null ? selIdx : hovIdx;

615 const hovEvent = activeIdx !== null ? visible[activeIdx] : null;

616 useEffect(() => {

617 if (detailRef.current) detailRef.current.scrollTop = 0;

618 }, [hovEvent]);

619 const focusT = hovEvent ? hovEvent.t : time;

620 const takeaway = isCompacted ? 'Compaction replaces the conversation with a structured summary. System prompt, CLAUDE.md, memory, and MCP tools reload automatically. The skill listing is the one exception. Only skills you actually invoked are preserved.' : focusT < STARTUP_END ? 'A lot loads before you type anything. CLAUDE.md, memory, skills, and MCP tools are all in context before your first prompt.' : focusT < 0.28 ? "Your prompt is tiny compared to what's already loaded. Most of Claude's context is project knowledge, not your words." : focusT < 0.50 ? 'Each file Claude reads grows the context. Path-scoped rules load automatically alongside matching files.' : focusT < 0.71 ? 'Hooks fire automatically on tool events. Output reaches Claude via additionalContext JSON. Exit code 2 surfaces stderr to Claude. Plain stdout on exit 0 goes to the debug log, not the transcript.' : focusT < 0.79 ? 'Follow-up questions keep building on the same context. Everything from earlier is still there.' : focusT < 0.87 ? "The subagent works in its own separate context window. None of its file reads touch yours. Only the final summary comes back." : focusT < 0.88 ? 'Bang commands run in your shell and prefix the output to your next message. Useful for grounding Claude in command results without it running them.' : focusT < 0.90 ? 'User-only skills stay out of context entirely until you invoke them. The skill index at startup only lists skills Claude can call on its own.' : '/compact summarizes the conversation to free space while keeping key information. In a real session, run it when context starts affecting performance or before a long new task.';

621 const terminalView = isCompacted ? 'A "Conversation compacted" message. The summarization happens silently.' : focusT < STARTUP_END ? 'The input box, waiting for your first message. Everything above loads silently before you type anything.' : focusT < 0.28 ? 'Your prompt. Claude hasn\'t started working yet.' : focusT < 0.52 ? 'Your prompt and "Reading files...". Rules show as one-line "Loaded" notices, not their content.' : focusT < 0.72 ? "Claude's response and file diffs. Hooks fire silently. Tool output like npm test shows as a brief summary, not the full content." : focusT < 0.79 ? 'Your follow-up prompt.' : focusT < 0.86 ? "A brief notice that a subagent is working, then its result. You don't see the subagent's individual file reads." : focusT < 0.90 ? "Claude's response, your git status output, and the commit-push skill running." : 'Your full conversation. /compact is available to run.';

622 const mono = 'var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)';

623 const renderWithCode = s => s.split('`').map((part, i) => i % 2 === 1 ? <code key={i} style={{

624 fontFamily: mono,

625 fontSize: '0.92em',

626 background: 'var(--cw-track)',

627 padding: '1px 4px',

628 borderRadius: 3

629 }}>{part}</code> : part);

630 if (!mounted) return null;

631 return <>

632 <div className="cw-mobile-fallback">

633 This interactive timeline works best on a larger screen. See <a href="#what-the-timeline-shows" style={{

634 color: '#D97757'

635 }}>the written breakdown below</a> for the same concepts.

636 </div>

637 <div className="cw-root" ref={rootRef} onClickCapture={() => setHasInteracted(true)} style={isFullscreen ? {

638 height: '100vh',

639 borderRadius: 0,

640 display: 'flex',

641 flexDirection: 'column'

642 } : {}}>

643 <style>{`

644 .cw-root {

645 --cw-bg: #FAFAF8;

646 --cw-text: #1A1918;

647 --cw-text-2: #3D3C38;

648 --cw-text-3: #5E5D59;

649 --cw-text-dim: #6E6C64;

650 --cw-text-faint: #8A8880;

651 --cw-surface: rgba(0,0,0,0.025);

652 --cw-surface-2: rgba(0,0,0,0.04);

653 --cw-border: rgba(0,0,0,0.08);

654 --cw-track: rgba(0,0,0,0.04);

655 --cw-hover: rgba(0,0,0,0.04);

656 --cw-rail: rgba(0,0,0,0.08);

657 --cw-scrollbar: rgba(0,0,0,0.22);

658 background: var(--cw-bg);

659 border-radius: 12px;

660 overflow: hidden;

661 font-family: var(--font-sans, -apple-system, BlinkMacSystemFont, sans-serif);

662 color: var(--cw-text);

663 border: 1px solid var(--cw-border);

664 }

665 .dark .cw-root {

666 --cw-bg: #111110;

667 --cw-text: #E8E6DC;

668 --cw-text-2: #B8B6AE;

669 --cw-text-3: #9C9A92;

670 --cw-text-dim: #8A8880;

671 --cw-text-faint: #6E6C64;

672 --cw-surface: rgba(255,255,255,0.02);

673 --cw-surface-2: rgba(255,255,255,0.015);

674 --cw-border: rgba(255,255,255,0.06);

675 --cw-track: rgba(255,255,255,0.03);

676 --cw-hover: rgba(255,255,255,0.04);

677 --cw-rail: rgba(255,255,255,0.04);

678 --cw-scrollbar: rgba(255,255,255,0.18);

679 }

680 .cw-scroll::-webkit-scrollbar { width: 6px; }

681 .cw-scroll::-webkit-scrollbar-track { background: transparent; }

682 .cw-scroll::-webkit-scrollbar-thumb { background: var(--cw-scrollbar); border-radius: 3px; }

683 @keyframes cw-blink { 50% { opacity: 0; } }

684 @keyframes cw-fadein { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }

685 .cw-compacted-row { animation: cw-fadein 0.3s ease-out backwards; }

686 .cw-mobile-fallback { display: none; padding: 14px 16px; border-radius: 8px; font-size: 14px; border: 1px solid rgba(0,0,0,0.1); background: rgba(0,0,0,0.03); }

687 .dark .cw-mobile-fallback { border-color: rgba(255,255,255,0.15); background: rgba(255,255,255,0.04); }

688 @media (max-width: 700px) {

689 .cw-root { display: none !important; }

690 .cw-mobile-fallback { display: block; }

691 }

692 `}</style>

10 693 

11## Was die Zeitleiste zeigt694 {}

695 <div style={{

696 padding: '16px 20px 12px',

697 display: 'flex',

698 alignItems: 'flex-end',

699 gap: 24

700 }}>

701 <div style={{

702 flex: 1,

703 minWidth: 0

704 }}>

705 <div style={{

706 fontSize: 18,

707 fontWeight: 600,

708 letterSpacing: -0.3,

709 lineHeight: 1

710 }}>

711 Explore the context window

712 </div>

713 <div style={{

714 fontSize: 14,

715 color: 'var(--cw-text-dim)',

716 marginTop: 4

717 }}>

718 A simulated session showing what enters context and what it costs

719 </div>

720 </div>

721 <div style={{

722 textAlign: 'right',

723 flexShrink: 0

724 }}>

725 <div style={{

726 fontFamily: mono,

727 fontSize: 20,

728 fontWeight: 600,

729 color: barColor,

730 letterSpacing: -0.5,

731 lineHeight: 1

732 }}>

733 ~{fmt(totalTokens)}<span style={{

734 fontSize: 15,

735 fontWeight: 500,

736 marginLeft: 4

737 }}>tokens</span>

738 </div>

739 <div style={{

740 fontFamily: mono,

741 fontSize: 13,

742 color: 'var(--cw-text-dim)',

743 marginTop: 2

744 }} title="Token counts are illustrative. Actual values vary with your CLAUDE.md size, MCP servers, and file lengths.">

745 / {fmt(MAX)} · illustrative

746 </div>

747 </div>

748 </div>

749 

750 {}

751 <div style={{

752 padding: '0 20px'

753 }}>

754 <div style={{

755 height: 4,

756 borderRadius: 2,

757 background: 'var(--cw-track)',

758 overflow: 'hidden',

759 marginBottom: 6

760 }}>

761 <div style={{

762 width: pct + '%',

763 height: '100%',

764 background: barColor,

765 transition: 'width 0.6s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s'

766 }} />

767 </div>

768 <div style={{

769 height: 28,

770 borderRadius: 5,

771 background: 'var(--cw-track)',

772 border: '1px solid var(--cw-border)',

773 overflow: 'hidden',

774 display: 'flex'

775 }}>

776 {blocks.map((b, i) => {

777 const w = Math.max(b.tokens / MAX * 100, 0.15);

778 const isHov = b.visIdx === activeIdx;

779 const catMatch = hovCat && b.color === hovCat;

780 const dimmed = hovCat ? !catMatch : activeIdx !== null && !isHov;

781 return <div key={b.id} onMouseEnter={() => setHovIdx(b.visIdx)} onMouseLeave={() => setHovIdx(null)} onClick={() => setSelIdx(selIdx === b.visIdx ? null : b.visIdx)} style={{

782 width: w + '%',

783 height: '100%',

784 background: b.color,

785 opacity: isHov || catMatch ? 1 : dimmed ? 0.25 : 0.65,

786 borderRight: i < blocks.length - 1 ? '0.5px solid var(--cw-border)' : 'none',

787 transition: 'opacity 0.15s',

788 cursor: 'pointer'

789 }} />;

790 })}

791 </div>

792 <div style={{

793 display: 'flex',

794 gap: 12,

795 marginTop: 6,

796 flexWrap: 'wrap',

797 justifyContent: 'space-between'

798 }}>

799 <div style={{

800 display: 'flex',

801 gap: 12,

802 flexWrap: 'wrap'

803 }}>

804 {LEGEND.map(x => {

805 const active = hovCat === x.c;

806 return <div key={x.l} onMouseEnter={() => setHovCat(x.c)} onMouseLeave={() => setHovCat(null)} style={{

807 display: 'flex',

808 alignItems: 'center',

809 gap: 4,

810 padding: '2px 6px',

811 borderRadius: 4,

812 cursor: 'pointer',

813 background: active ? 'var(--cw-hover)' : 'transparent',

814 transition: 'background 0.1s'

815 }}>

816 <div style={{

817 width: 6,

818 height: 6,

819 borderRadius: 1.5,

820 background: x.c,

821 opacity: active ? 1 : 0.7

822 }} />

823 <span style={{

824 fontSize: 12,

825 color: active ? 'var(--cw-text)' : 'var(--cw-text-dim)'

826 }}>{x.l}</span>

827 </div>;

828 })}

829 </div>

830 <div style={{

831 display: 'flex',

832 gap: 6,

833 alignItems: 'center',

834 fontSize: 12,

835 color: 'var(--cw-text-dim)'

836 }}>

837 <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="#558A42" strokeWidth="2.5">

838 <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" /><circle cx="12" cy="12" r="3" />

839 </svg>

840 <span>= appears in your terminal</span>

841 </div>

842 </div>

843 </div>

844 

845 {}

846 <div style={{

847 display: 'flex',

848 padding: '14px 20px 0',

849 gap: 16,

850 height: isFullscreen ? 'calc(100vh - 240px)' : 420

851 }}>

852 

853 {}

854 <div ref={scrollRef} className="cw-scroll" style={{

855 flex: 1,

856 minWidth: 0,

857 overflowY: 'auto',

858 paddingRight: 8,

859 scrollBehavior: 'smooth'

860 }}>

861 {visible.length === 0 && !playing && <div style={{

862 height: '100%',

863 display: 'flex',

864 flexDirection: 'column',

865 alignItems: 'center',

866 justifyContent: 'center',

867 gap: 16

868 }}>

869 <div style={{

870 fontFamily: mono,

871 fontSize: 16,

872 color: 'var(--cw-text-dim)',

873 display: 'flex',

874 alignItems: 'center',

875 gap: 8

876 }}>

877 <span style={{

878 color: 'var(--cw-text-faint)'

879 }}>$</span>

880 <span>claude</span>

881 <span style={{

882 display: 'inline-block',

883 width: 8,

884 height: 16,

885 background: 'var(--cw-text-dim)',

886 opacity: 0.5,

887 animation: 'cw-blink 1s step-end infinite'

888 }} />

889 </div>

890 <button onClick={() => setPlaying(true)} style={{

891 padding: '10px 20px',

892 borderRadius: 8,

893 border: '1px solid rgba(217,119,87,0.3)',

894 background: 'rgba(217,119,87,0.08)',

895 color: '#D97757',

896 fontSize: 15,

897 fontWeight: 600,

898 cursor: 'pointer',

899 display: 'flex',

900 alignItems: 'center',

901 gap: 8

902 }}>

903 <span>▶</span>

904 <span>Start session</span>

905 </button>

906 <div style={{

907 fontSize: 13,

908 color: 'var(--cw-text-faint)',

909 maxWidth: 280,

910 textAlign: 'center',

911 lineHeight: 1.5

912 }}>

913 Watch what loads into context, from the moment you run <code style={{

914 fontFamily: mono

915 }}>claude</code> through a full conversation.

916 </div>

917 </div>}

918 {isCompacted && <div style={{

919 marginBottom: 10,

920 padding: '10px 12px',

921 borderRadius: 6,

922 background: 'rgba(217,119,87,0.05)',

923 border: '1px solid rgba(217,119,87,0.15)'

924 }}>

925 <div style={{

926 fontSize: 13,

927 fontWeight: 600,

928 color: '#D97757',

929 marginBottom: 3

930 }}>

931 After /compact

932 </div>

933 <div style={{

934 fontSize: 13,

935 color: 'var(--cw-text-3)',

936 lineHeight: 1.5,

937 fontFamily: mono

938 }}>

939 {fmt(preCompactTotal)} → {fmt(totalTokens)} tokens · freed {fmt(preCompactTotal - totalTokens)}

940 </div>

941 <div style={{

942 fontSize: 13,

943 color: 'var(--cw-text-dim)',

944 lineHeight: 1.5,

945 marginTop: 4

946 }}>

947 This is what's left in context: startup content, which lives outside the message history and reloads after compaction, plus a structured summary of the entire conversation. Skill descriptions don't reload.

948 </div>

949 </div>}

950 {time > 0 && visible.length > 0 && <div style={{

951 fontSize: 12,

952 fontWeight: 700,

953 color: 'var(--cw-text-faint)',

954 textTransform: 'uppercase',

955 letterSpacing: 0.6,

956 marginBottom: 6,

957 paddingLeft: 28

958 }}>

959 {isCompacted ? 'Reloaded after compact' : 'Before you type anything'}

960 </div>}

961 

962 {time > 0 && visible.map((evt, i) => {

963 const meta = KIND_META[evt.kind];

964 const isHov = hovIdx === i;

965 const prevKind = i > 0 ? visible[i - 1].kind : null;

966 const isSub = evt.kind === 'sub';

967 const enteringSubagent = isSub && prevKind !== 'sub';

968 const leavingSubagent = prevKind === 'sub' && !isSub;

969 let showPhase = null;

970 if (evt.kind === 'user' && prevKind !== 'user') showPhase = 'You'; else if (evt.kind === 'claude' && prevKind === 'user') showPhase = 'Claude works'; else if (evt.label === 'Conversation summary') showPhase = 'Summarized by /compact';

971 const isNewRow = isCompacted && !(evt.kind === 'auto' && evt.t < STARTUP_END);

972 return <div key={evt.label + evt.t} className={isNewRow ? 'cw-compacted-row' : ''} style={isNewRow ? {

973 animationDelay: `${i * 60}ms`

974 } : {}}>

975 {showPhase && <div style={{

976 fontSize: 12,

977 fontWeight: 700,

978 color: 'var(--cw-text-faint)',

979 textTransform: 'uppercase',

980 letterSpacing: 0.6,

981 marginTop: 14,

982 marginBottom: 6,

983 paddingLeft: 28

984 }}>

985 {showPhase}

986 </div>}

987 {enteringSubagent && <div style={{

988 marginLeft: 28,

989 marginTop: 6,

990 marginBottom: 2,

991 paddingLeft: 10,

992 borderLeft: '2px solid rgba(155,123,196,0.4)',

993 fontSize: 12,

994 fontWeight: 600,

995 color: '#9B7BC4',

996 textTransform: 'uppercase',

997 letterSpacing: 0.5

998 }}>

999 Subagent's separate context window

1000 </div>}

1001 {leavingSubagent && <div style={{

1002 marginLeft: 28,

1003 marginBottom: 6,

1004 paddingLeft: 10,

1005 paddingBottom: 6,

1006 borderLeft: '2px solid rgba(155,123,196,0.4)',

1007 fontSize: 12,

1008 color: 'var(--cw-text-dim)',

1009 fontFamily: mono

1010 }}>

1011 ↓ {fmt(subTotal)} tokens stayed in subagent's context · only the summary returns

1012 </div>}

1013 <div onMouseEnter={() => setHovIdx(i)} onMouseLeave={() => setHovIdx(null)} onClick={() => setSelIdx(selIdx === i ? null : i)} style={{

1014 display: 'flex',

1015 alignItems: 'flex-start',

1016 borderRadius: 6,

1017 cursor: 'pointer',

1018 background: selIdx === i || isHov ? 'var(--cw-hover)' : 'transparent',

1019 outline: selIdx === i ? '1px solid rgba(217,119,87,0.4)' : 'none',

1020 opacity: hovCat && evt.color !== hovCat ? 0.35 : 1,

1021 transition: 'background 0.1s, opacity 0.15s',

1022 marginLeft: isSub ? 28 : 0,

1023 paddingLeft: isSub ? 10 : 0,

1024 borderLeft: isSub ? '2px solid rgba(155,123,196,0.4)' : 'none'

1025 }}>

1026 <div style={{

1027 width: 28,

1028 display: 'flex',

1029 flexDirection: 'column',

1030 alignItems: 'center',

1031 paddingTop: 8,

1032 flexShrink: 0

1033 }}>

1034 <div style={{

1035 width: evt.kind === 'user' || evt.kind === 'compact' ? 10 : 7,

1036 height: evt.kind === 'user' || evt.kind === 'compact' ? 10 : 7,

1037 borderRadius: '50%',

1038 background: evt.color,

1039 opacity: isHov ? 1 : 0.6,

1040 transition: 'opacity 0.15s',

1041 boxShadow: isHov ? `0 0 8px ${evt.color}40` : 'none'

1042 }} />

1043 {i < visible.length - 1 && <div style={{

1044 width: 1.5,

1045 flex: 1,

1046 background: 'var(--cw-rail)',

1047 marginTop: 2,

1048 minHeight: 6

1049 }} />}

1050 </div>

1051 <div style={{

1052 flex: 1,

1053 minWidth: 0,

1054 padding: '5px 10px 5px 4px',

1055 display: 'flex',

1056 alignItems: 'center',

1057 gap: 8

1058 }}>

1059 <span style={{

1060 fontSize: 12,

1061 fontWeight: 600,

1062 padding: '1px 5px',

1063 borderRadius: 3,

1064 background: meta.badgeBg,

1065 color: meta.badgeColor,

1066 flexShrink: 0,

1067 fontFamily: mono

1068 }}>

1069 {meta.badge}

1070 </span>

1071 <span style={{

1072 fontSize: 15,

1073 fontFamily: mono,

1074 color: isHov ? 'var(--cw-text)' : evt.kind === 'user' ? '#558A42' : evt.kind === 'auto' ? 'var(--cw-text-dim)' : 'var(--cw-text-2)',

1075 flex: 1,

1076 minWidth: 0,

1077 overflow: 'hidden',

1078 textOverflow: 'ellipsis',

1079 whiteSpace: 'nowrap',

1080 fontWeight: evt.kind === 'user' ? 550 : 400

1081 }}>

1082 {evt.label}

1083 </span>

1084 {evt.tokens > 0 && <span style={{

1085 fontSize: 12,

1086 fontFamily: mono,

1087 color: 'var(--cw-text-faint)',

1088 flexShrink: 0

1089 }}>

1090 +{fmt(evt.tokens)}

1091 </span>}

1092 {evt.subTokens > 0 && <span style={{

1093 fontSize: 12,

1094 fontFamily: mono,

1095 color: '#9B7BC4',

1096 flexShrink: 0,

1097 opacity: 0.6

1098 }}>

1099 +{fmt(evt.subTokens)}

1100 </span>}

1101 {evt.tokens > 0 && <div style={{

1102 width: 50,

1103 height: 5,

1104 borderRadius: 2,

1105 background: 'var(--cw-track)',

1106 flexShrink: 0,

1107 overflow: 'hidden'

1108 }}>

1109 <div style={{

1110 width: Math.min(evt.tokens / 5000 * 100, 100) + '%',

1111 height: '100%',

1112 background: evt.color,

1113 opacity: isHov ? 0.8 : 0.4,

1114 transition: 'opacity 0.15s'

1115 }} />

1116 </div>}

1117 <span style={{

1118 width: 14,

1119 flexShrink: 0,

1120 display: 'flex',

1121 justifyContent: 'center'

1122 }} title={VIS_META[evt.vis].label}>

1123 {evt.vis !== 'hidden' && <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke={evt.vis === 'full' ? '#558A42' : 'currentColor'} style={{

1124 color: 'var(--cw-text-faint)',

1125 opacity: evt.vis === 'full' ? 1 : 0.5

1126 }} strokeWidth="2">

1127 <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" /><circle cx="12" cy="12" r="3" />

1128 </svg>}

1129 </span>

1130 </div>

1131 </div>

1132 </div>;

1133 })}

1134 

1135 {activeGate && (activeGate.kind === 'prompt' || activeGate.kind === 'bang' || activeGate.kind === 'slash') && <div style={{

1136 paddingLeft: 28,

1137 marginTop: 12,

1138 paddingRight: 8

1139 }}>

1140 <div style={{

1141 fontSize: 11,

1142 fontWeight: 600,

1143 color: '#6BA656',

1144 fontFamily: mono,

1145 textTransform: 'uppercase',

1146 letterSpacing: 0.5,

1147 marginBottom: 4,

1148 paddingLeft: 2

1149 }}>

1150 You type in your terminal

1151 </div>

1152 <div style={{

1153 display: 'flex',

1154 alignItems: 'flex-start',

1155 gap: 8,

1156 padding: '10px 12px',

1157 borderRadius: 6,

1158 background: 'rgba(85,138,66,0.06)',

1159 border: '1px solid rgba(85,138,66,0.2)'

1160 }}>

1161 <span style={{

1162 color: '#558A42',

1163 fontSize: 15,

1164 fontFamily: mono,

1165 flexShrink: 0

1166 }}>❯</span>

1167 <span style={{

1168 fontSize: 15,

1169 fontFamily: mono,

1170 color: 'var(--cw-text-2)',

1171 flex: 1,

1172 lineHeight: 1.5

1173 }}>

1174 {activeGate.text}

1175 <span style={{

1176 display: 'inline-block',

1177 width: 7,

1178 height: 13,

1179 marginLeft: 2,

1180 background: '#558A42',

1181 opacity: 0.5,

1182 verticalAlign: 'middle',

1183 animation: 'cw-blink 1s step-end infinite'

1184 }} />

1185 </span>

1186 <button onClick={sendPrompt} style={{

1187 padding: '5px 12px',

1188 borderRadius: 5,

1189 border: 'none',

1190 background: '#558A42',

1191 color: '#fff',

1192 fontSize: 13,

1193 fontWeight: 600,

1194 cursor: 'pointer',

1195 flexShrink: 0

1196 }}>

1197 {activeGate.kind === 'prompt' ? 'Send ↵' : 'Run ↵'}

1198 </button>

1199 </div>

1200 </div>}

1201 {activeGate && activeGate.kind === 'compact' && <div style={{

1202 paddingLeft: 28,

1203 marginTop: 12,

1204 paddingRight: 8

1205 }}>

1206 <div style={{

1207 padding: '12px 14px',

1208 borderRadius: 6,

1209 background: 'rgba(217,119,87,0.06)',

1210 border: '1px solid rgba(217,119,87,0.25)'

1211 }}>

1212 <div style={{

1213 fontSize: 13,

1214 color: 'var(--cw-text-3)',

1215 marginBottom: 8,

1216 lineHeight: 1.5

1217 }}>

1218 Context is at <span style={{

1219 fontFamily: mono,

1220 fontWeight: 600,

1221 color: barColor

1222 }}>{fmt(totalTokens)} tokens</span>.

1223 Run <code style={{

1224 fontFamily: mono,

1225 background: 'var(--cw-track)',

1226 padding: '1px 4px',

1227 borderRadius: 3

1228 }}>/compact</code> to

1229 summarize older exchanges and free space for more work.

1230 </div>

1231 <div style={{

1232 display: 'flex',

1233 alignItems: 'center',

1234 gap: 8

1235 }}>

1236 <span style={{

1237 color: '#D97757',

1238 fontSize: 15,

1239 fontFamily: mono

1240 }}>❯</span>

1241 <span style={{

1242 fontSize: 15,

1243 fontFamily: mono,

1244 color: 'var(--cw-text-2)',

1245 flex: 1

1246 }}>

1247 {activeGate.text}

1248 </span>

1249 <button onClick={sendPrompt} style={{

1250 padding: '5px 12px',

1251 borderRadius: 5,

1252 border: 'none',

1253 background: '#D97757',

1254 color: '#fff',

1255 fontSize: 13,

1256 fontWeight: 600,

1257 cursor: 'pointer',

1258 flexShrink: 0

1259 }}>

1260 Run ↵

1261 </button>

1262 </div>

1263 </div>

1264 </div>}

1265 </div>

1266 

1267 {}

1268 <div style={{

1269 width: 300,

1270 flexShrink: 0,

1271 display: 'flex',

1272 flexDirection: 'column'

1273 }}>

1274 <div ref={detailRef} className="cw-scroll" style={{

1275 padding: '14px 16px',

1276 borderRadius: 10,

1277 background: 'var(--cw-surface)',

1278 border: '1px solid var(--cw-border)',

1279 flex: 1,

1280 minHeight: 0,

1281 overflowY: 'auto',

1282 display: 'flex',

1283 flexDirection: 'column',

1284 gap: 10

1285 }}>

1286 {hovEvent ? <div>

1287 <div style={{

1288 display: 'flex',

1289 alignItems: 'center',

1290 gap: 8,

1291 marginBottom: 8

1292 }}>

1293 <div style={{

1294 width: 10,

1295 height: 10,

1296 borderRadius: 3,

1297 background: hovEvent.color,

1298 opacity: 0.8

1299 }} />

1300 <span style={{

1301 fontSize: 16,

1302 fontWeight: 600

1303 }}>{hovEvent.label}</span>

1304 </div>

1305 <div style={{

1306 display: 'flex',

1307 width: 'fit-content',

1308 padding: '3px 8px',

1309 borderRadius: 4,

1310 marginBottom: 8,

1311 background: KIND_META[hovEvent.kind].badgeBg

1312 }}>

1313 <span style={{

1314 fontSize: 12,

1315 fontWeight: 600,

1316 color: KIND_META[hovEvent.kind].badgeColor

1317 }}>

1318 {KIND_META[hovEvent.kind].detail}

1319 </span>

1320 </div>

1321 {hovEvent.tokens > 0 && <div style={{

1322 fontSize: 14,

1323 fontFamily: mono,

1324 color: 'var(--cw-text-dim)',

1325 marginBottom: 6

1326 }}>

1327 {fmt(hovEvent.tokens)} tokens

1328 </div>}

1329 {hovEvent.subTokens > 0 && <div style={{

1330 fontSize: 14,

1331 fontFamily: mono,

1332 color: '#9B7BC4',

1333 marginBottom: 6

1334 }}>

1335 {fmt(hovEvent.subTokens)} tokens in the subagent's context

1336 </div>}

1337 <p style={{

1338 fontSize: 15,

1339 color: 'var(--cw-text-3)',

1340 lineHeight: 1.55,

1341 margin: 0

1342 }}>

1343 {renderWithCode(hovEvent.desc)}

1344 </p>

1345 <div style={{

1346 marginTop: 10,

1347 padding: '8px 10px',

1348 borderRadius: 6,

1349 background: hovEvent.vis === 'full' ? 'rgba(85,138,66,0.08)' : 'var(--cw-surface-2)',

1350 border: '1px solid ' + (hovEvent.vis === 'full' ? 'rgba(85,138,66,0.2)' : 'var(--cw-border)')

1351 }}>

1352 <div style={{

1353 display: 'flex',

1354 alignItems: 'center',

1355 gap: 6,

1356 marginBottom: 3

1357 }}>

1358 <span style={{

1359 fontSize: 13,

1360 color: hovEvent.vis === 'full' ? '#558A42' : 'var(--cw-text-dim)'

1361 }}>

1362 {hovEvent.vis === 'full' ? '●' : hovEvent.vis === 'brief' ? '◐' : '○'}

1363 </span>

1364 <span style={{

1365 fontSize: 12,

1366 fontWeight: 600,

1367 color: 'var(--cw-text-2)'

1368 }}>

1369 {VIS_META[hovEvent.vis].label}

1370 </span>

1371 </div>

1372 <div style={{

1373 fontSize: 13,

1374 color: 'var(--cw-text-dim)',

1375 lineHeight: 1.4

1376 }}>

1377 {VIS_META[hovEvent.vis].sub}

1378 </div>

1379 </div>

1380 {hovEvent.tip && <div style={{

1381 marginTop: 10,

1382 padding: '8px 10px',

1383 borderRadius: 6,

1384 background: 'rgba(85,138,66,0.06)',

1385 border: '1px solid rgba(85,138,66,0.15)'

1386 }}>

1387 <div style={{

1388 fontSize: 12,

1389 fontWeight: 600,

1390 color: '#558A42',

1391 marginBottom: 3,

1392 display: 'flex',

1393 alignItems: 'center',

1394 gap: 4

1395 }}>

1396 <span>💡</span> Save context

1397 </div>

1398 <div style={{

1399 fontSize: 13,

1400 color: 'var(--cw-text-3)',

1401 lineHeight: 1.5

1402 }}>

1403 {renderWithCode(hovEvent.tip)}

1404 </div>

1405 </div>}

1406 {hovEvent.link && <a href={hovEvent.link} style={{

1407 display: 'inline-block',

1408 marginTop: 10,

1409 fontSize: 13,

1410 color: '#D97757',

1411 textDecoration: 'none',

1412 borderBottom: '1px solid rgba(217,119,87,0.3)'

1413 }}>

1414 Learn more →

1415 </a>}

1416 </div> : <div style={{

1417 display: 'flex',

1418 flexDirection: 'column',

1419 alignItems: 'center',

1420 textAlign: 'center',

1421 gap: 4,

1422 padding: '12px 0 4px'

1423 }}>

1424 <div style={{

1425 fontSize: 22,

1426 opacity: 0.2

1427 }}>👁</div>

1428 <div style={{

1429 fontSize: 14,

1430 fontWeight: 500,

1431 color: 'var(--cw-text-dim)'

1432 }}>Hover or click any event</div>

1433 <div style={{

1434 fontSize: 12,

1435 color: 'var(--cw-text-faint)',

1436 lineHeight: 1.4,

1437 maxWidth: 200

1438 }}>

1439 Hover to preview. Click to pin so you can scroll.

1440 </div>

1441 </div>}

1442 

1443 <div style={{

1444 padding: '10px 12px',

1445 borderRadius: 8,

1446 background: 'rgba(217,119,87,0.05)',

1447 border: '1px solid rgba(217,119,87,0.12)'

1448 }}>

1449 <div style={{

1450 fontSize: 11,

1451 fontWeight: 700,

1452 color: '#D97757',

1453 textTransform: 'uppercase',

1454 letterSpacing: 0.5,

1455 marginBottom: 3

1456 }}>

1457 Key takeaway

1458 </div>

1459 <div style={{

1460 fontSize: 13,

1461 color: 'var(--cw-text-3)',

1462 lineHeight: 1.5

1463 }}>

1464 {takeaway}

1465 </div>

1466 </div>

1467 

1468 <div style={{

1469 padding: '10px 12px',

1470 borderRadius: 8,

1471 background: 'var(--cw-surface-2)',

1472 border: '1px solid var(--cw-border)'

1473 }}>

1474 <div style={{

1475 fontSize: 11,

1476 fontWeight: 700,

1477 color: 'var(--cw-text-dim)',

1478 textTransform: 'uppercase',

1479 letterSpacing: 0.5,

1480 marginBottom: 3

1481 }}>

1482 In your terminal you see

1483 </div>

1484 <div style={{

1485 fontSize: 13,

1486 color: 'var(--cw-text-3)',

1487 lineHeight: 1.5

1488 }}>

1489 {terminalView}

1490 </div>

1491 </div>

1492 </div>

1493 </div>

1494 </div>

1495 

1496 {}

1497 <div style={{

1498 padding: '10px 20px 14px',

1499 display: 'flex',

1500 alignItems: 'center',

1501 gap: 10

1502 }}>

1503 <button aria-label={time >= 1 ? 'Restart' : activeGate ? 'Continue' : playing ? 'Pause' : 'Play'} onClick={() => {

1504 if (time >= 1) {

1505 setTime(0);

1506 setGatesPassed(0);

1507 setSelIdx(null);

1508 setHovIdx(null);

1509 setPlaying(true);

1510 } else if (activeGate) sendPrompt(); else setPlaying(!playing);

1511 }} style={{

1512 width: 30,

1513 height: 30,

1514 borderRadius: 6,

1515 border: 'none',

1516 background: 'rgba(217,119,87,0.1)',

1517 color: '#D97757',

1518 cursor: 'pointer',

1519 fontSize: 15,

1520 fontWeight: 700,

1521 display: 'flex',

1522 alignItems: 'center',

1523 justifyContent: 'center'

1524 }}>

1525 {time >= 1 ? '↺' : playing ? '⏸' : '▶'}

1526 </button>

1527 <div style={{

1528 flex: 1,

1529 height: 3,

1530 borderRadius: 2,

1531 background: 'var(--cw-track)',

1532 overflow: 'hidden'

1533 }}>

1534 <div style={{

1535 width: time * 100 + '%',

1536 height: '100%',

1537 background: '#D97757',

1538 transition: 'width 0.1s linear'

1539 }} />

1540 </div>

1541 <span style={{

1542 fontSize: 12,

1543 fontFamily: mono,

1544 color: 'var(--cw-text-faint)',

1545 minWidth: 30

1546 }}>

1547 {Math.round(time * 100)}%

1548 </span>

1549 <button onClick={toggleFullscreen} aria-label={isFullscreen ? 'Exit fullscreen' : 'Enter fullscreen'} title={isFullscreen ? 'Exit fullscreen' : 'Fullscreen'} style={{

1550 width: 28,

1551 height: 28,

1552 borderRadius: 6,

1553 border: '1px solid var(--cw-border)',

1554 background: 'var(--cw-surface)',

1555 color: 'var(--cw-text-dim)',

1556 cursor: 'pointer',

1557 fontSize: 15,

1558 flexShrink: 0,

1559 marginLeft: 4,

1560 display: 'flex',

1561 alignItems: 'center',

1562 justifyContent: 'center'

1563 }}>

1564 {isFullscreen ? '⤡' : '⛶'}

1565 </button>

1566 </div>

1567 </div>

1568 </>;

1569};

1570 

1571Das Kontextfenster von Claude Code enthält alles, was Claude über Ihre Sitzung weiß: Ihre Anweisungen, die Dateien, die es liest, seine eigenen Antworten und Inhalte, die nie in Ihrem Terminal erscheinen. Die folgende Zeitleiste zeigt eine vollständige Sitzung vom Start bis zur Komprimierung: was geladen wird, bevor Sie etwas eingeben, was jeder Dateilesevorgang, jede Regel und jeder Hook hinzufügt, während Claude arbeitet, und wie ein Subagent große Lesevorgänge aus Ihrem Kontext heraushält. Siehe [die schriftliche Aufschlüsselung](#what-the-timeline-shows) für denselben Inhalt als Liste.

1572 

1573<ContextWindow />

1574 

1575<h2 id="what-the-timeline-shows">

1576 Was die Zeitleiste zeigt

1577</h2>

12 1578 

13Die Sitzung durchläuft einen realistischen Ablauf mit repräsentativen Token-Zählungen:1579Die Sitzung durchläuft einen realistischen Ablauf mit repräsentativen Token-Zählungen:

14 1580 


17* **Die Folgeeingabeaufforderung**: Ein [Subagent](/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.1583* **Die Folgeeingabeaufforderung**: Ein [Subagent](/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.

18* **Am Ende**: `/compact` ersetzt die Konversation durch eine strukturierte Zusammenfassung. Der meiste Startuinhalt wird automatisch neu geladen; die folgende Tabelle zeigt, was mit jedem Mechanismus geschieht.1584* **Am Ende**: `/compact` ersetzt die Konversation durch eine strukturierte Zusammenfassung. Der meiste Startuinhalt wird automatisch neu geladen; die folgende Tabelle zeigt, was mit jedem Mechanismus geschieht.

19 1585 

20## Was die Komprimierung übersteht1586<h2 id="what-survives-compaction">

1587 Was die Komprimierung übersteht

1588</h2>

21 1589 

22Wenn eine lange Sitzung komprimiert wird, fasst Claude Code die Konversationshistorie zusammen, um in das Kontextfenster zu passen. Was mit Ihren Anweisungen geschieht, hängt davon ab, wie sie geladen wurden:1590Wenn eine lange Sitzung komprimiert wird, fasst Claude Code die Konversationshistorie zusammen, um in das Kontextfenster zu passen. Was mit Ihren Anweisungen geschieht, hängt davon ab, wie sie geladen wurden:

23 1591 


35 1603 

36Skill-Texte werden nach der Komprimierung neu eingefügt, aber große Skills werden auf die Pro-Skill-Grenze gekürzt, und die ältesten aufgerufenen Skills werden gelöscht, sobald das Gesamtbudget überschritten wird. Die Kürzung behält den Anfang der Datei bei, daher sollten Sie die wichtigsten Anweisungen oben in `SKILL.md` platzieren.1604Skill-Texte werden nach der Komprimierung neu eingefügt, aber große Skills werden auf die Pro-Skill-Grenze gekürzt, und die ältesten aufgerufenen Skills werden gelöscht, sobald das Gesamtbudget überschritten wird. Die Kürzung behält den Anfang der Datei bei, daher sollten Sie die wichtigsten Anweisungen oben in `SKILL.md` platzieren.

37 1605 

38## Überprüfen Sie Ihre eigene Sitzung1606<h2 id="when-your-context-fills-up">

1607 Wenn sich Ihr Kontext füllt

1608</h2>

1609 

1610Claude Code komprimiert automatisch, wenn Sie sich dem Limit nähern, sodass ein volles Kontextfenster Ihre Sitzung nicht beendet. Der automatische Durchgang funktioniert genauso wie der `/compact`-Schritt in der Zeitleiste. Siehe [Wenn sich der Kontext füllt](/de/how-claude-code-works#when-context-fills-up) für das, was er bewahrt.

1611 

1612Sie können auch handeln, bevor der automatische Durchgang ausgeführt wird:

1613 

1614* **Mit Fokus komprimieren**: Führen Sie `/compact` mit Anweisungen aus, wie `/compact focus on the auth bug fix`, bevor Sie eine lange neue Aufgabe starten. Die Zusammenfassung behält das, was Sie wählen, anstelle dessen, was der automatische Durchgang als wichtig erachtet.

1615* **Zwischen Aufgaben löschen**: Führen Sie `/clear` aus, wenn Sie zu nicht verwandter Arbeit wechseln. Alte Konversationen verdrängen die Dateien, die Sie als nächstes benötigen, und kosten Token bei jeder Nachricht.

1616* **Große Lesevorgänge delegieren**: Senden Sie Recherche an einen [Subagent](/de/sub-agents), sodass die Dateiinhalte in seinem Kontextfenster bleiben, nicht in Ihrem.

1617 

1618Wenn Sie ein größeres Fenster benötigen, anstatt ein kleineres Gespräch zu führen, unterstützen Fable 5, Opus 4.6 und später sowie Sonnet 4.6 ein Kontextfenster mit 1 Million Token. Siehe [Erweiterter Kontext](/de/model-config#extended-context) für die Verfügbarkeit nach Plan und wie Sie eine `[1m]` Modellvariante auswählen. Die Komprimierung funktioniert auf die gleiche Weise bei der größeren Grenze.

1619 

1620<h2 id="check-your-own-session">

1621 Überprüfen Sie Ihre eigene Sitzung

1622</h2>

39 1623 

40Die Visualisierung verwendet repräsentative Zahlen. Um Ihre tatsächliche Kontextnutzung zu einem beliebigen Zeitpunkt zu sehen, führen Sie `/context` aus, um eine Live-Aufschlüsselung nach Kategorie mit Optimierungsvorschlägen zu erhalten. Führen Sie `/memory` aus, um zu überprüfen, welche CLAUDE.md- und automatische Gedächtnis-Dateien beim Start geladen wurden.1624Die Visualisierung verwendet repräsentative Zahlen. Um Ihre tatsächliche Kontextnutzung zu einem beliebigen Zeitpunkt zu sehen, führen Sie `/context` aus, um eine Live-Aufschlüsselung nach Kategorie mit Optimierungsvorschlägen zu erhalten. Führen Sie `/memory` aus, um zu überprüfen, welche CLAUDE.md- und automatische Gedächtnis-Dateien beim Start geladen wurden.

41 1625 

42## Verwandte Ressourcen1626<h2 id="related-resources">

1627 Verwandte Ressourcen

1628</h2>

43 1629 

44Für eine tiefere Abdeckung der in der Zeitleiste gezeigten Funktionen siehe diese Seiten:1630Für eine tiefere Abdeckung der in der Zeitleiste gezeigten Funktionen siehe diese Seiten:

45 1631 

costs.md +4 −2

Details

35 35 

36Auf einem Pro-, Max-, Team- oder Enterprise-Plan zeigt `/usage` auch eine Aufschlüsselung dessen, was gegen Ihre Planlimits zählt. Es ordnet die aktuelle Nutzung Skills, Subagenten, Plugins und einzelnen MCP-Servern zu, wobei jeder als Prozentsatz des Gesamtbetrags angezeigt wird. Drücken Sie `d` oder `w`, um zwischen den letzten 24 Stunden und den letzten 7 Tagen zu wechseln. Die Zahlen sind ungefähr und werden aus dem lokalen Sitzungsverlauf auf diesem Computer berechnet, daher ist die Nutzung von anderen Geräten oder claude.ai nicht enthalten.36Auf einem Pro-, Max-, Team- oder Enterprise-Plan zeigt `/usage` auch eine Aufschlüsselung dessen, was gegen Ihre Planlimits zählt. Es ordnet die aktuelle Nutzung Skills, Subagenten, Plugins und einzelnen MCP-Servern zu, wobei jeder als Prozentsatz des Gesamtbetrags angezeigt wird. Drücken Sie `d` oder `w`, um zwischen den letzten 24 Stunden und den letzten 7 Tagen zu wechseln. Die Zahlen sind ungefähr und werden aus dem lokalen Sitzungsverlauf auf diesem Computer berechnet, daher ist die Nutzung von anderen Geräten oder claude.ai nicht enthalten.

37 37 

38In der [VS Code-Erweiterung](/de/vs-code#check-account-and-usage) wird die gleiche Aufschlüsselung im Dialog „Konto & Nutzung" mit einem Tag- und Woche-Umschalter angezeigt. Erfordert Claude Code v2.1.174 oder später.

39 

38<h2 id="managing-costs-for-teams">40<h2 id="managing-costs-for-teams">

39 Verwalten Sie Kosten für Teams41 Verwalten Sie Kosten für Teams

40</h2>42</h2>


85* Verwenden Sie Sonnet für Teammates. Es bietet ein Gleichgewicht zwischen Fähigkeit und Kosten für Koordinationsaufgaben.87* Verwenden Sie Sonnet für Teammates. Es bietet ein Gleichgewicht zwischen Fähigkeit und Kosten für Koordinationsaufgaben.

86* Halten Sie Teams klein. Jeder Teammate führt sein eigenes Kontextfenster aus, daher ist die Token-Nutzung ungefähr proportional zur Team-Größe.88* Halten Sie Teams klein. Jeder Teammate führt sein eigenes Kontextfenster aus, daher ist die Token-Nutzung ungefähr proportional zur Team-Größe.

87* Halten Sie Spawn-Prompts fokussiert. Teammates laden CLAUDE.md, MCP-Server und Skills automatisch, aber alles im Spawn-Prompt trägt von Anfang an zu ihrem Kontext bei.89* Halten Sie Spawn-Prompts fokussiert. Teammates laden CLAUDE.md, MCP-Server und Skills automatisch, aber alles im Spawn-Prompt trägt von Anfang an zu ihrem Kontext bei.

88* Bereinigen Sie Teams, wenn die Arbeit erledigt ist. Aktive Teammates verbrauchen weiterhin Token, auch wenn sie untätig sind.90* Fahren Sie Teammates herunter, wenn ihre Arbeit erledigt ist. Jeder aktive Teammate verbraucht weiterhin Token, bis er beendet wird oder die Sitzung endet.

89* Agent-Teams sind standardmäßig deaktiviert. Setzen Sie `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in Ihrer [settings.json](/de/settings) oder Umgebung, um sie zu aktivieren. Siehe [Agent-Teams aktivieren](/de/agent-teams#enable-agent-teams).91* Agent-Teams sind standardmäßig deaktiviert. Setzen Sie `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in Ihrer [settings.json](/de/settings) oder Umgebung, um sie zu aktivieren. Siehe [Agent-Teams aktivieren](/de/agent-teams#enable-agent-teams).

90 92 

91<h2 id="reduce-token-usage">93<h2 id="reduce-token-usage">


196 Passen Sie das erweiterte Denken an198 Passen Sie das erweiterte Denken an

197</h3>199</h3>

198 200 

199Erweitertes 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. Für einfachere Aufgaben, bei denen tiefes Denken nicht erforderlich ist, können Sie Kosten reduzieren, indem Sie die [Anstrengungsstufe](/de/model-config#adjust-effort-level) mit `/effort` senken oder in `/model`, Denken in `/config` deaktivieren oder das Budget mit `MAX_THINKING_TOKENS=8000` senken.201Erweitertes 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. Für einfachere Aufgaben, bei denen tiefes Denken nicht erforderlich ist, können Sie Kosten reduzieren, indem Sie die [Anstrengungsstufe](/de/model-config#adjust-effort-level) mit `/effort` senken oder in `/model`, Denken in `/config` deaktivieren oder auf Modellen mit einem [festen Thinking-Budget](/de/model-config#adaptive-reasoning-and-fixed-thinking-budgets) das Budget mit `MAX_THINKING_TOKENS=8000` senken. Adaptive-Reasoning-Modelle ignorieren Budgets ungleich Null, daher verwenden Sie stattdessen Anstrengungsstufen. Das Deaktivieren von Thinking ist auf Fable 5 nicht verfügbar, das immer erweitertes Denken verwendet.

200 202 

201<h3 id="delegate-verbose-operations-to-subagents">203<h3 id="delegate-verbose-operations-to-subagents">

202 Delegieren Sie ausführliche Operationen an Subagents204 Delegieren Sie ausführliche Operationen an Subagents

data-usage.md +3 −3

Details

62**Kommerzielle Nutzer (Team, Enterprise und API)**:62**Kommerzielle Nutzer (Team, Enterprise und API)**:

63 63 

64* Standard: 30-tägige Aufbewahrungsfrist64* Standard: 30-tägige Aufbewahrungsfrist

65* [Zero Data Retention](/de/zero-data-retention): verfügbar für Claude Code auf Claude for Enterprise. ZDR wird auf Organisationsbasis aktiviert; jede neue Organisation muss ZDR separat von Ihrem Account-Team aktivieren lassen65* [Zero Data Retention](/de/zero-data-retention): verfügbar für Claude Code auf Claude for Enterprise. ZDR ist nicht in dem Standard-Enterprise-Plan enthalten; es wird auf Organisationsbasis von Ihrem Account-Team aktiviert, nachdem die Berechtigung bestätigt wurde

66* Lokales Caching: Claude Code-Clients speichern Sitzungstranskripte lokal im Klartext unter `~/.claude/projects/` für standardmäßig 30 Tage, um die Sitzungswiederaufnahme zu ermöglichen. Passen Sie den Zeitraum mit `cleanupPeriodDays` an. Siehe [Anwendungsdaten](/de/claude-directory#application-data) für das, was gespeichert wird und wie man es löscht.66* Lokales Caching: Claude Code-Clients speichern Sitzungstranskripte lokal im Klartext unter `~/.claude/projects/` für standardmäßig 30 Tage, um die Sitzungswiederaufnahme zu ermöglichen. Passen Sie den Zeitraum mit `cleanupPeriodDays` an. Siehe [Anwendungsdaten](/de/claude-directory#application-data) für das, was gespeichert wird und wie man es löscht.

67 67 

68Sie können einzelne Claude Code-Websitzungen jederzeit löschen. Das Löschen einer Sitzung entfernt die Ereignisdaten der Sitzung dauerhaft. Anweisungen zum Löschen von Sitzungen finden Sie unter [Sitzungen löschen](/de/claude-code-on-the-web#delete-sessions).68Sie können einzelne Claude Code-Websitzungen jederzeit löschen. Das Löschen einer Sitzung entfernt die Ereignisdaten der Sitzung dauerhaft. Anweisungen zum Löschen von Sitzungen finden Sie unter [Sitzungen löschen](/de/claude-code-on-the-web#delete-sessions).


83 83 

84Das folgende Diagramm zeigt, wie Claude Code während der Installation und des normalen Betriebs eine Verbindung zu externen Diensten herstellt. Durchgehende Linien zeigen erforderliche Verbindungen an, während gestrichelte Linien optionale oder vom Benutzer initiierte Datenflüsse darstellen.84Das folgende Diagramm zeigt, wie Claude Code während der Installation und des normalen Betriebs eine Verbindung zu externen Diensten herstellt. Durchgehende Linien zeigen erforderliche Verbindungen an, während gestrichelte Linien optionale oder vom Benutzer initiierte Datenflüsse darstellen.

85 85 

86<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/claude-code-data-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=5b1131530bdfdd415700a0cb4d4070c4" alt="Diagramm, das die externen Verbindungen von Claude Code zeigt: Installation/Update verbindet sich mit dem Verteilungsserver, und Benutzeranfragen verbinden sich mit Anthropic-Diensten, einschließlich Console-Authentifizierung, öffentlicher API und optional Metriken, Sentry und Bug-Berichterstattung" width="720" height="520" data-path="images/claude-code-data-flow.svg" />86<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/claude-code-data-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=5b1131530bdfdd415700a0cb4d4070c4" alt="Diagramm, das die externen Verbindungen von Claude Code zeigt: Installation/Update verbindet sich mit dem Verteilungsserver, und Benutzeranfragen verbinden sich mit Anthropic-Diensten, einschließlich Console-Authentifizierung, öffentlicher API und optional Metriken und Sentry. Feedback, das mit /feedback gesendet wird, geht an Google Cloud Storage und erstellt optional ein GitHub-Problem" width="720" height="520" data-path="images/claude-code-data-flow.svg" />

87 87 

88Claude Code wird lokal ausgeführt. Um mit dem LLM zu interagieren, sendet Claude Code Daten über das Netzwerk. Diese Daten umfassen alle Benutzereingabeaufforderungen und Modellausgaben, verschlüsselt während der Übertragung über TLS 1.2+. Claude Code ist mit den meisten gängigen VPNs und LLM-Proxys kompatibel.88Claude Code wird lokal ausgeführt. Um mit dem LLM zu interagieren, sendet Claude Code Daten über das Netzwerk. Diese Daten umfassen alle Benutzereingabeaufforderungen und Modellausgaben, verschlüsselt während der Übertragung über TLS 1.2+. Claude Code ist mit den meisten gängigen VPNs und LLM-Proxys kompatibel.

89 89 


119 119 

120Claude Code verbindet sich von den Maschinen der Benutzer mit Sentry für operative Fehlerprotokollierung. Die Daten werden während der Übertragung mit TLS und im Ruhezustand mit 256-Bit-AES-Verschlüsselung verschlüsselt. Weitere Informationen finden Sie in der [Sentry-Sicherheitsdokumentation](https://sentry.io/security/). Um sich von der Fehlerprotokollierung abzumelden, setzen Sie die Umgebungsvariable `DISABLE_ERROR_REPORTING`.120Claude Code verbindet sich von den Maschinen der Benutzer mit Sentry für operative Fehlerprotokollierung. Die Daten werden während der Übertragung mit TLS und im Ruhezustand mit 256-Bit-AES-Verschlüsselung verschlüsselt. Weitere Informationen finden Sie in der [Sentry-Sicherheitsdokumentation](https://sentry.io/security/). Um sich von der Fehlerprotokollierung abzumelden, setzen Sie die Umgebungsvariable `DISABLE_ERROR_REPORTING`.

121 121 

122Wenn Sie den `/feedback`-Befehl ausführen, wird eine Kopie Ihres Gesprächsverlaufs einschließlich Code an Anthropic gesendet. Vor dem Absenden wählen Sie, wie viel Verlauf Sie einbeziehen möchten: nur die aktuelle Sitzung, was die Standardeinstellung ist, oder auch andere Sitzungen aus demselben Projekt der letzten 24 Stunden oder 7 Tage. Die Daten werden während der Übertragung über TLS verschlüsselt. Optional wird ein GitHub-Problem im öffentlichen Repository erstellt. Um sich abzumelden, setzen Sie die Umgebungsvariable `DISABLE_FEEDBACK_COMMAND` auf `1`.122Wenn Sie den `/feedback`-Befehl ausführen, wird eine Kopie Ihres Gesprächsverlaufs einschließlich Code an Anthropic gesendet. Vor dem Absenden wählen Sie, wie viel Verlauf Sie einbeziehen möchten: nur die aktuelle Sitzung, was die Standardeinstellung ist, oder auch andere Sitzungen aus demselben Projekt der letzten 24 Stunden oder 7 Tage. Die Daten werden während der Übertragung über TLS verschlüsselt und in Google Cloud Storage gespeichert, das gespeicherte Daten im Ruhezustand standardmäßig verschlüsselt. Optional wird ein GitHub-Problem im öffentlichen Repository erstellt. Um sich abzumelden, setzen Sie die Umgebungsvariable `DISABLE_FEEDBACK_COMMAND` auf `1`.

123 123 

124Wenn Sie einen Drittanbieter wie Bedrock oder Vertex verwenden oder keine Anthropic-Anmeldedaten konfiguriert haben, schreibt `/feedback` den Bericht stattdessen in ein lokales Archiv unter `~/.claude/feedback-bundles/`, anstatt ihn an Anthropic zu senden. Bekannte API-Schlüssel- und Token-Muster werden vor dem Schreiben des Archivs redigiert. Nichts verlässt Ihren Computer, bis Sie diese Datei an Ihren Anthropic-Kontorepräsentanten senden oder sie an eine Supportanfrage anhängen.124Wenn Sie einen Drittanbieter wie Bedrock oder Vertex verwenden oder keine Anthropic-Anmeldedaten konfiguriert haben, schreibt `/feedback` den Bericht stattdessen in ein lokales Archiv unter `~/.claude/feedback-bundles/`, anstatt ihn an Anthropic zu senden. Bekannte API-Schlüssel- und Token-Muster werden vor dem Schreiben des Archivs redigiert. Nichts verlässt Ihren Computer, bis Sie diese Datei an Ihren Anthropic-Kontorepräsentanten senden oder sie an eine Supportanfrage anhängen.

125 125 

Details

78 Testen Sie gegen eine saubere Konfiguration78 Testen Sie gegen eine saubere Konfiguration

79</h2>79</h2>

80 80 

81Wenn gezielte Überprüfungen die Ursache nicht isolieren oder Ihre Konfiguration in einem unbekannten Zustand ist, vergleichen Sie mit einer Sitzung, die nichts aus Ihrem üblichen Setup lädt. Zeigen Sie [`CLAUDE_CONFIG_DIR`](/de/env-vars) auf ein leeres Verzeichnis, um alles unter `~/.claude` zu umgehen, und starten Sie von einem Verzeichnis, das keinen `.claude`-Ordner, keine `.mcp.json` oder `CLAUDE.md` hat, damit die Projektkonfiguration auch übersprungen wird.81{/* min-version: 2.1.169 */}Beginnen Sie mit [`claude --safe-mode`](/de/cli-reference#cli-flags), das eine Sitzung mit allen deaktivierten Anpassungen startet, einschließlich `CLAUDE.md`, Skills, Plugins, Hooks, MCP-Servern und benutzerdefinierten Befehlen und Agenten. Authentifizierung, Modellauswahl, integrierte Tools und Berechtigungen funktionieren normal. Wenn das Problem im abgesicherten Modus verschwindet, ist eine dieser Oberflächen die Ursache; verwenden Sie die gezielten Überprüfungen oben, um herauszufinden, welche. Verwaltete Einstellungen, die von Ihrer Organisation bereitgestellt werden, gelten immer noch teilweise, daher werden richtlinienkonfigurierte Hooks und die Statuszeile auch im abgesicherten Modus ausgeführt.

82 

83Wenn das Problem im abgesicherten Modus bestehen bleibt oder Ihre Einstellungen selbst verdächtig sind, vergleichen Sie mit einer Sitzung, die nichts aus Ihrem üblichen Setup lädt. Zeigen Sie [`CLAUDE_CONFIG_DIR`](/de/env-vars) auf ein leeres Verzeichnis, um alles unter `~/.claude` zu umgehen, und starten Sie von einem Verzeichnis, das keinen `.claude`-Ordner, keine `.mcp.json` oder `CLAUDE.md` hat, damit die Projektkonfiguration auch übersprungen wird.

82 84 

83```bash theme={null}85```bash theme={null}

84cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude86cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude

desktop.md +29 −27

Details

41Bevor Sie Ihre erste Nachricht senden, konfigurieren Sie vier Dinge im Eingabebereich:41Bevor Sie Ihre erste Nachricht senden, konfigurieren Sie vier Dinge im Eingabebereich:

42 42 

43* **Umgebung**: Wählen Sie, wo Claude ausgeführt wird. Wählen Sie **Lokal** für Ihren Computer, **Remote** für von Anthropic gehostete Cloud-Sitzungen oder eine [**SSH-Verbindung**](#ssh-sessions) für einen von Ihnen verwalteten Remote-Computer. Siehe [Umgebungskonfiguration](#environment-configuration).43* **Umgebung**: Wählen Sie, wo Claude ausgeführt wird. Wählen Sie **Lokal** für Ihren Computer, **Remote** für von Anthropic gehostete Cloud-Sitzungen oder eine [**SSH-Verbindung**](#ssh-sessions) für einen von Ihnen verwalteten Remote-Computer. Siehe [Umgebungskonfiguration](#environment-configuration).

44* **Projektordner**: Wählen Sie den Ordner oder das Repository aus, in dem Claude arbeitet. Für Remote-Sitzungen können Sie [mehrere Repositories](#run-long-running-tasks-remotely) hinzufügen.44* **Projektordner**: Wählen Sie den Ordner oder das Repository aus, in dem Claude arbeitet. Für Cloud-Sitzungen können Sie [mehrere Repositories](#run-long-running-tasks-remotely) hinzufügen.

45* **Modell**: Wählen Sie ein [Modell](/de/model-config#available-models) aus dem Dropdown neben der Schaltfläche „Senden". Sie können dies während der Sitzung ändern.45* **Modell**: Wählen Sie ein [Modell](/de/model-config#available-models) aus dem Dropdown neben der Schaltfläche „Senden". Sie können dies während der Sitzung ändern.

46* **Berechtigungsmodus**: Wählen Sie, wie viel Autonomie Claude aus dem [Moduswahlschalter](#choose-a-permission-mode) hat. Sie können dies während der Sitzung ändern.46* **Berechtigungsmodus**: Wählen Sie, wie viel Autonomie Claude aus dem [Moduswahlschalter](#choose-a-permission-mode) hat. Sie können dies während der Sitzung ändern.

47 47 


67 67 

68Das Eingabefeld unterstützt zwei Möglichkeiten, um externen Kontext einzubinden:68Das Eingabefeld unterstützt zwei Möglichkeiten, um externen Kontext einzubinden:

69 69 

70* **@mention-Dateien**: Geben Sie `@` gefolgt von einem Dateinamen ein, um eine Datei zum Gesprächskontext hinzuzufügen. Claude kann diese Datei dann lesen und referenzieren. @mention ist nicht in Remote-Sitzungen verfügbar.70* **@mention-Dateien**: Geben Sie `@` gefolgt von einem Dateinamen ein, um eine Datei zum Gesprächskontext hinzuzufügen. Claude kann diese Datei dann lesen und referenzieren. @mention ist nicht in Cloud-Sitzungen verfügbar.

71* **Dateien anhängen**: Hängen Sie Bilder, PDFs und andere Dateien an Ihre Eingabe an, indem Sie die Schaltfläche „Anhängen" verwenden, oder ziehen Sie Dateien direkt in die Eingabe. Dies ist nützlich zum Teilen von Screenshots von Fehlern, Design-Mockups oder Referenzdokumenten.71* **Dateien anhängen**: Hängen Sie Bilder, PDFs und andere Dateien an Ihre Eingabe an, indem Sie die Schaltfläche „Anhängen" verwenden, oder ziehen Sie Dateien direkt in die Eingabe. Dies ist nützlich zum Teilen von Screenshots von Fehlern, Design-Mockups oder Referenzdokumenten.

72 72 

73<h3 id="choose-a-permission-mode">73<h3 id="choose-a-permission-mode">


77Berechtigungsmodi kontrollieren, wie viel Autonomie Claude während einer Sitzung hat: ob es vor dem Bearbeiten von Dateien, dem Ausführen von Befehlen oder beidem fragt. Sie können Modi jederzeit mit dem Moduswahlschalter neben der Schaltfläche „Senden" wechseln. Beginnen Sie mit „Berechtigungen erfragen", um genau zu sehen, was Claude tut, und wechseln Sie dann zu „Bearbeitungen automatisch akzeptieren" oder „Plan Mode", wenn Sie sich wohler fühlen.77Berechtigungsmodi kontrollieren, wie viel Autonomie Claude während einer Sitzung hat: ob es vor dem Bearbeiten von Dateien, dem Ausführen von Befehlen oder beidem fragt. Sie können Modi jederzeit mit dem Moduswahlschalter neben der Schaltfläche „Senden" wechseln. Beginnen Sie mit „Berechtigungen erfragen", um genau zu sehen, was Claude tut, und wechseln Sie dann zu „Bearbeitungen automatisch akzeptieren" oder „Plan Mode", wenn Sie sich wohler fühlen.

78 78 

79| Modus | Einstellungsschlüssel | Verhalten |79| Modus | Einstellungsschlüssel | Verhalten |

80| ----------------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |80| ----------------------------------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

81| **Berechtigungen erfragen** | `default` | Claude fragt vor dem Bearbeiten von Dateien oder dem Ausführen von Befehlen. Sie sehen einen Diff und können jede Änderung akzeptieren oder ablehnen. Empfohlen für neue Benutzer. |81| **Berechtigungen erfragen** | `default` | Claude fragt vor dem Bearbeiten von Dateien oder dem Ausführen von Befehlen. Sie sehen einen Diff und können jede Änderung akzeptieren oder ablehnen. Empfohlen für neue Benutzer. |

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

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

84| **Auto** | `auto` | Claude führt alle Aktionen mit Hintergrund-Sicherheitsprüfungen aus, die die Ausrichtung mit Ihrer Anfrage überprüfen. Reduziert Berechtigungsaufforderungen bei Beibehaltung der Überwachung. Aktivieren Sie in Ihren Einstellungen → Claude Code. Siehe [Verfügbarkeitsanforderungen](#auto-mode-availability) unten. |84| **Auto** | `auto` | Claude führt alle Aktionen mit Hintergrund-Sicherheitsprüfungen aus, die die Ausrichtung mit Ihrer Anfrage überprüfen. Reduziert Berechtigungsaufforderungen bei Beibehaltung der Überwachung. Aktivieren Sie in Ihren Einstellungen → Claude Code. Siehe [Verfügbarkeitsanforderungen](#auto-mode-availability) unten. |

85| **Berechtigungen umgehen** | `bypassPermissions` | Claude läuft ohne Berechtigungsaufforderungen, äquivalent zu `--dangerously-skip-permissions` in der CLI. Aktivieren Sie dies in Ihren Einstellungen → Claude Code unter „Bypass-Berechtigungsmodus zulassen". Verwenden Sie dies nur in sandboxierten Containern oder VMs. Enterprise-Administratoren können diese Option deaktivieren. |85| **Berechtigungen umgehen** | `bypassPermissions` | Claude läuft ohne Berechtigungsaufforderungen, außer denen, die durch explizite [Ask-Regeln](/de/permissions#manage-permissions) erzwungen werden; äquivalent zu `--dangerously-skip-permissions` in der CLI. Aktivieren Sie dies in Ihren Einstellungen → Claude Code unter „Bypass-Berechtigungsmodus zulassen". Verwenden Sie dies nur in sandboxierten Containern oder VMs. Enterprise-Administratoren können diese Option deaktivieren. |

86 86 

87Der Berechtigungsmodus `dontAsk` ist nur in der [CLI](/de/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) verfügbar.87Der Berechtigungsmodus `dontAsk` ist nur in der [CLI](/de/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) verfügbar.

88 88 


94 Beginnen Sie komplexe Aufgaben im Plan Mode, damit Claude einen Ansatz abbildet, bevor Änderungen vorgenommen werden. Sobald Sie den Plan genehmigen, wechseln Sie zu 'Bearbeitungen automatisch akzeptieren" oder „Berechtigungen erfragen", um ihn auszuführen. Siehe [Zuerst erkunden, dann planen, dann codieren](/de/best-practices#explore-first-then-plan-then-code) für mehr zu diesem Workflow.94 Beginnen Sie komplexe Aufgaben im Plan Mode, damit Claude einen Ansatz abbildet, bevor Änderungen vorgenommen werden. Sobald Sie den Plan genehmigen, wechseln Sie zu 'Bearbeitungen automatisch akzeptieren" oder „Berechtigungen erfragen", um ihn auszuführen. Siehe [Zuerst erkunden, dann planen, dann codieren](/de/best-practices#explore-first-then-plan-then-code) für mehr zu diesem Workflow.

95</Tip>95</Tip>

96 96 

97Remote-Sitzungen unterstützen „Bearbeitungen automatisch akzeptieren" und „Plan Mode". „Berechtigungen erfragen" ist nicht verfügbar, da Remote-Sitzungen Dateibearbeitungen standardmäßig automatisch akzeptieren, und „Berechtigungen umgehen" ist nicht verfügbar, da die Remote-Umgebung bereits sandboxed ist.97Cloud-Sitzungen unterstützen „Bearbeitungen automatisch akzeptieren", „Plan Mode" und „Auto Mode". „Bearbeitungen automatisch akzeptieren" entspricht dem `default`-Modus: Cloud-Sitzungen genehmigen Dateibearbeitungen vorab, daher zeigt der Wahlschalter „Bearbeitungen automatisch akzeptieren" statt „Berechtigungen erfragen" an. „Berechtigungen umgehen" ist nicht verfügbar, da die Cloud-Umgebung bereits sandboxed ist.

98 98 

99Enterprise-Administratoren können einschränken, welche Berechtigungsmodi verfügbar sind. Siehe [Unternehmenskonfiguration](#enterprise-configuration) für Details.99Enterprise-Administratoren können einschränken, welche Berechtigungsmodi verfügbar sind. Siehe [Unternehmenskonfiguration](#enterprise-configuration) für Details.

100 100 


362 Führen Sie lange laufende Aufgaben remote aus362 Führen Sie lange laufende Aufgaben remote aus

363</h3>363</h3>

364 364 

365Für große Refaktorierungen, Test-Suites, Migrationen oder andere lange laufende Aufgaben wählen Sie **Remote** statt **Lokal**, wenn Sie eine Sitzung starten. Remote-Sitzungen laufen auf Anthropics Cloud-Infrastruktur und werden fortgesetzt, auch wenn Sie die App schließen oder Ihren Computer herunterfahren. Überprüfen Sie jederzeit den Fortschritt oder lenken Sie Claude in eine andere Richtung. Sie können Remote-Sitzungen auch von [claude.ai/code](https://claude.ai/code) oder der Claude iOS-App aus überwachen.365Für große Refaktorierungen, Test-Suites, Migrationen oder andere lange laufende Aufgaben wählen Sie **Remote** statt **Lokal**, wenn Sie eine Sitzung starten. Cloud-Sitzungen laufen auf Anthropics Cloud-Infrastruktur und werden fortgesetzt, auch wenn Sie die App schließen oder Ihren Computer herunterfahren. Überprüfen Sie jederzeit den Fortschritt oder lenken Sie Claude in eine andere Richtung. Sie können Cloud-Sitzungen auch von [claude.ai/code](https://claude.ai/code) oder der Claude iOS-App aus überwachen.

366 366 

367Remote-Sitzungen unterstützen auch mehrere Repositories. Nach Auswahl einer Cloud-Umgebung klicken Sie auf die Schaltfläche **+** neben dem Repo-Pill, um zusätzliche Repositories zur Sitzung hinzuzufügen. Jedes Repo erhält seinen eigenen Branch-Wahlschalter. Dies ist nützlich für Aufgaben, die mehrere Codebases umfassen, z. B. das Aktualisieren einer gemeinsamen Bibliothek und ihrer Consumer.367Cloud-Sitzungen unterstützen auch mehrere Repositories. Nach Auswahl einer Cloud-Umgebung klicken Sie auf die Schaltfläche **+** neben dem Repo-Pill, um zusätzliche Repositories zur Sitzung hinzuzufügen. Jedes Repo erhält seinen eigenen Branch-Wahlschalter. Dies ist nützlich für Aufgaben, die mehrere Codebases umfassen, z. B. das Aktualisieren einer gemeinsamen Bibliothek und ihrer Consumer.

368 368 

369Siehe [Claude Code im Web](/de/claude-code-on-the-web) für mehr darüber, wie Remote-Sitzungen funktionieren.369Siehe [Claude Code im Web](/de/claude-code-on-the-web) für mehr darüber, wie Cloud-Sitzungen funktionieren.

370 370 

371<h3 id="continue-in-another-surface">371<h3 id="continue-in-another-surface">

372 Fortsetzen auf einer anderen Oberfläche372 Fortsetzen auf einer anderen Oberfläche


374 374 

375Das Menü **Fortsetzen in**, das über das VS Code-Symbol unten rechts in der Sitzungs-Symbolleiste zugänglich ist, ermöglicht es Ihnen, Ihre Sitzung auf eine andere Oberfläche zu verschieben:375Das Menü **Fortsetzen in**, das über das VS Code-Symbol unten rechts in der Sitzungs-Symbolleiste zugänglich ist, ermöglicht es Ihnen, Ihre Sitzung auf eine andere Oberfläche zu verschieben:

376 376 

377* **Claude Code im Web**: sendet Ihre lokale Sitzung, um remote weiter zu laufen. Desktop pusht Ihren Branch, generiert eine Zusammenfassung des Gesprächs und erstellt eine neue Remote-Sitzung mit dem vollständigen Kontext. Sie können dann wählen, die lokale Sitzung zu archivieren oder zu behalten. Dies erfordert einen sauberen Arbeitsbaum und ist nicht für SSH-Sitzungen verfügbar.377* **Claude Code im Web**: sendet Ihre lokale Sitzung, um remote weiter zu laufen. Desktop pusht Ihren Branch, generiert eine Zusammenfassung des Gesprächs und erstellt eine neue Cloud-Sitzung mit dem vollständigen Kontext. Sie können dann wählen, die lokale Sitzung zu archivieren oder zu behalten. Dies erfordert einen sauberen Arbeitsbaum und ist nicht für SSH-Sitzungen verfügbar.

378* **Ihre IDE**: öffnet Ihr Projekt in einer unterstützten IDE im aktuellen Arbeitsverzeichnis.378* **Ihre IDE**: öffnet Ihr Projekt in einer unterstützten IDE im aktuellen Arbeitsverzeichnis.

379 379 

380<h3 id="sessions-from-dispatch">380<h3 id="sessions-from-dispatch">


403 Verbinden Sie externe Tools403 Verbinden Sie externe Tools

404</h3>404</h3>

405 405 

406Für lokale und [SSH](#ssh-sessions)-Sitzungen klicken Sie auf die Schaltfläche **+** neben dem Eingabefeld und wählen Sie **Konnektoren**, um Integrationen wie Google Calendar, Slack, GitHub, Linear, Notion und mehr hinzuzufügen. Sie können Konnektoren vor oder während einer Sitzung hinzufügen. Die Schaltfläche **+** ist nicht in Remote-Sitzungen verfügbar, aber [Routinen](/de/routines) konfigurieren Konnektoren zum Zeitpunkt der Routine-Erstellung.406Für lokale und [SSH](#ssh-sessions)-Sitzungen klicken Sie auf die Schaltfläche **+** neben dem Eingabefeld und wählen Sie **Konnektoren**, um Integrationen wie Google Calendar, Slack, GitHub, Linear, Notion und mehr hinzuzufügen. Sie können Konnektoren vor oder während einer Sitzung hinzufügen. Die Schaltfläche **+** ist nicht in Cloud-Sitzungen verfügbar, aber [Routinen](/de/routines) konfigurieren Konnektoren zum Zeitpunkt der Routine-Erstellung.

407 407 

408Um Konnektoren zu verwalten oder zu trennen, gehen Sie zu Einstellungen → Konnektoren in der Desktop-App oder wählen Sie **Konnektoren verwalten** aus dem Konnektoren-Menü im Eingabefeld.408Um Konnektoren zu verwalten oder zu trennen, gehen Sie zu Einstellungen → Konnektoren in der Desktop-App oder wählen Sie **Konnektoren verwalten** aus dem Konnektoren-Menü im Eingabefeld.

409 409 


425 425 

426Für lokale und [SSH](#ssh-sessions)-Sitzungen klicken Sie auf die Schaltfläche **+** neben dem Eingabefeld und wählen Sie **Plugins**, um Ihre installierten Plugins und deren Skills zu sehen. Um ein Plugin hinzuzufügen, wählen Sie **Plugin hinzufügen** aus dem Untermenü, um den Plugin-Browser zu öffnen, der verfügbare Plugins aus Ihren konfigurierten [Marketplaces](/de/plugin-marketplaces) einschließlich des offiziellen Anthropic-Marketplace anzeigt. Wählen Sie **Plugins verwalten**, um Plugins zu aktivieren, zu deaktivieren oder zu deinstallieren.426Für lokale und [SSH](#ssh-sessions)-Sitzungen klicken Sie auf die Schaltfläche **+** neben dem Eingabefeld und wählen Sie **Plugins**, um Ihre installierten Plugins und deren Skills zu sehen. Um ein Plugin hinzuzufügen, wählen Sie **Plugin hinzufügen** aus dem Untermenü, um den Plugin-Browser zu öffnen, der verfügbare Plugins aus Ihren konfigurierten [Marketplaces](/de/plugin-marketplaces) einschließlich des offiziellen Anthropic-Marketplace anzeigt. Wählen Sie **Plugins verwalten**, um Plugins zu aktivieren, zu deaktivieren oder zu deinstallieren.

427 427 

428Plugins können auf Ihr Benutzerkonto, ein bestimmtes Projekt oder nur lokal beschränkt sein. Wenn Ihre Organisation Plugins zentral verwaltet, sind diese Plugins in Desktop-Sitzungen auf die gleiche Weise verfügbar wie in der CLI. Plugins sind nicht für Remote-Sitzungen verfügbar. Für die vollständige Plugin-Referenz einschließlich der Erstellung eigener Plugins siehe [Plugins](/de/plugins).428Plugins können auf Ihr Benutzerkonto, ein bestimmtes Projekt oder nur lokal beschränkt sein. Wenn Ihre Organisation Plugins zentral verwaltet, sind diese Plugins in Desktop-Sitzungen auf die gleiche Weise verfügbar wie in der CLI. Plugins sind nicht für Cloud-Sitzungen verfügbar. Für die vollständige Plugin-Referenz einschließlich der Erstellung eigener Plugins siehe [Plugins](/de/plugins).

429 429 

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

431 Konfigurieren Sie Vorschau-Server431 Konfigurieren Sie Vorschau-Server


487| `program` | string | Ein mit `node` auszuführendes Skript. Siehe [wann `program` vs `runtimeExecutable` verwendet werden](#when-to-use-program-vs-runtimeexecutable) |487| `program` | string | Ein mit `node` auszuführendes Skript. Siehe [wann `program` vs `runtimeExecutable` verwendet werden](#when-to-use-program-vs-runtimeexecutable) |

488| `args` | string\[] | An `program` übergebene Argumente. Wird nur verwendet, wenn `program` gesetzt ist |488| `args` | string\[] | An `program` übergebene Argumente. Wird nur verwendet, wenn `program` gesetzt ist |

489 489 

490<a id="when-to-use-program-vs-runtimeexecutable" />

491 

490<h5 id="when-to-use-program-vs-runtimeexecutable">492<h5 id="when-to-use-program-vs-runtimeexecutable">

491 Wann `program` vs `runtimeExecutable` verwendet werden493 Wann `program` vs `runtimeExecutable` verwendet werden

492</h5>494</h5>


598 600 

599Um 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](/de/env-vars) für die vollständige Liste der unterstützten Variablen.601Um 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](/de/env-vars) für die vollständige Liste der unterstützten Variablen.

600 602 

601[Erweitertes Denken](/de/model-config#extended-thinking) ist standardmäßig aktiviert, was die Leistung bei komplexen Denkaufgaben verbessert, aber zusätzliche Token verwendet. Um das Denken vollständig zu deaktivieren, setzen Sie `MAX_THINKING_TOKENS` auf `0` im lokalen Umgebungs-Editor. Bei Modellen mit [adaptiver Argumentation](/de/model-config#adjust-effort-level) wird jeder andere `MAX_THINKING_TOKENS`-Wert 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; Opus 4.7 und später verwenden immer adaptive Argumentation und haben keinen Modus mit festem Budget.603[Erweitertes Denken](/de/model-config#extended-thinking) ist standardmäßig aktiviert, was die Leistung bei komplexen Denkaufgaben verbessert, aber zusätzliche Token verwendet. Um das Denken zu deaktivieren, setzen Sie `MAX_THINKING_TOKENS` auf `0` im lokalen Umgebungs-Editor; dies hat keine Auswirkung auf Fable 5, das immer erweitertes Denken verwendet. Bei [Drittanbieter-Providern](/de/third-party-integrations) wird stattdessen der Parameter `thinking` weggelassen, und Adaptive-Reasoning-Modelle können dennoch denken. Bei Modellen mit [adaptiver Argumentation](/de/model-config#adjust-effort-level) wird jeder andere `MAX_THINKING_TOKENS`-Wert 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; Opus 4.7 und später verwenden immer adaptive Argumentation und haben keinen Modus mit festem Budget.

602 604 

603<h3 id="remote-sessions">605<h3 id="cloud-sessions">

604 Remote-Sitzungen606 Remote-Sitzungen

605</h3>607</h3>

606 608 


710 712 

711IT-Teams können die Desktop-App über MDM auf macOS oder Gruppenrichtlinie unter Windows verwalten. Verfügbare Richtlinien umfassen das Aktivieren oder Deaktivieren der Claude-Code-Funktion, das Steuern von Auto-Updates und das Festlegen einer benutzerdefinierten Bereitstellungs-URL.713IT-Teams können die Desktop-App über MDM auf macOS oder Gruppenrichtlinie unter Windows verwalten. Verfügbare Richtlinien umfassen das Aktivieren oder Deaktivieren der Claude-Code-Funktion, das Steuern von Auto-Updates und das Festlegen einer benutzerdefinierten Bereitstellungs-URL.

712 714 

713* **macOS**: Konfigurieren Sie über die Präferenzdomäne `com.anthropic.Claude` mit Tools wie Jamf oder Kandji715* **macOS**: Konfigurieren Sie über die Präferenzdomäne `com.anthropic.claudefordesktop` mit Tools wie Jamf oder Kandji

714* **Windows**: Konfigurieren Sie über die Registrierung unter `SOFTWARE\Policies\Claude`716* **Windows**: Konfigurieren Sie über die Registrierung unter `SOFTWARE\Policies\Claude`

715 717 

716<h3 id="authentication-and-sso">718<h3 id="authentication-and-sso">


723 Datenbehandlung725 Datenbehandlung

724</h3>726</h3>

725 727 

726Claude Code verarbeitet Ihren Code lokal in lokalen Sitzungen oder auf Anthropics Cloud-Infrastruktur in Remote-Sitzungen. Gespräche und Code-Kontext werden an Anthropics API zur Verarbeitung gesendet. Siehe [Datenbehandlung](/de/data-usage) für Details zu Datenspeicherung, Datenschutz und Compliance.728Claude Code verarbeitet Ihren Code lokal in lokalen Sitzungen oder auf Anthropics Cloud-Infrastruktur in Cloud-Sitzungen. Gespräche und Code-Kontext werden an Anthropics API zur Verarbeitung gesendet. Siehe [Datenbehandlung](/de/data-usage) für Details zu Datenspeicherung, Datenschutz und Compliance.

727 729 

728<h3 id="deployment">730<h3 id="deployment">

729 Bereitstellung731 Bereitstellung


762| `--resume`, `--continue` | Klicken Sie auf eine Sitzung in der Seitenleiste |764| `--resume`, `--continue` | Klicken Sie auf eine Sitzung in der Seitenleiste |

763| `--permission-mode` | Moduswahlschalter neben der Schaltfläche „Senden" |765| `--permission-mode` | Moduswahlschalter neben der Schaltfläche „Senden" |

764| `--dangerously-skip-permissions` | Bypass-Berechtigungsmodus. Aktivieren Sie in Einstellungen → Claude Code → „Bypass-Berechtigungsmodus zulassen". Enterprise-Administratoren können diese Einstellung deaktivieren. |766| `--dangerously-skip-permissions` | Bypass-Berechtigungsmodus. Aktivieren Sie in Einstellungen → Claude Code → „Bypass-Berechtigungsmodus zulassen". Enterprise-Administratoren können diese Einstellung deaktivieren. |

765| `--add-dir` | Fügen Sie mehrere Repos mit der Schaltfläche **+** in Remote-Sitzungen hinzu |767| `--add-dir` | Fügen Sie mehrere Repos mit der Schaltfläche **+** in Cloud-Sitzungen hinzu |

766| `--allowedTools`, `--disallowedTools` | Kein Pro-Sitzungs-Äquivalent. Berechtigungsregeln in [Einstellungsdateien](/de/settings) gelten weiterhin. |768| `--allowedTools`, `--disallowedTools` | Kein Pro-Sitzungs-Äquivalent. Berechtigungsregeln in [Einstellungsdateien](/de/settings) gelten weiterhin. |

767| `--verbose` | [Ausführliche Ansichtsmodus](#switch-view-modes) im Dropdown „Transkript-Ansicht" |769| `--verbose` | [Ausführliche Ansichtsmodus](#switch-view-modes) im Dropdown „Transkript-Ansicht" |

768| `--print`, `--output-format` | Nicht verfügbar. Desktop ist nur interaktiv. |770| `--print`, `--output-format` | Nicht verfügbar. Desktop ist nur interaktiv. |


779* **[MCP-Server](/de/mcp)**, die in `~/.claude.json` oder `.mcp.json` konfiguriert sind, funktionieren in beiden781* **[MCP-Server](/de/mcp)**, die in `~/.claude.json` oder `.mcp.json` konfiguriert sind, funktionieren in beiden

780* **[Hooks](/de/hooks)** und **[Skills](/de/skills)**, die in Einstellungen definiert sind, gelten für beide782* **[Hooks](/de/hooks)** und **[Skills](/de/skills)**, die in Einstellungen definiert sind, gelten für beide

781* **[Einstellungen](/de/settings)** in `~/.claude.json` und `~/.claude/settings.json` werden geteilt. Berechtigungsregeln, erlaubte Tools und andere Einstellungen in `settings.json` gelten für Desktop-Sitzungen.783* **[Einstellungen](/de/settings)** in `~/.claude.json` und `~/.claude/settings.json` werden geteilt. Berechtigungsregeln, erlaubte Tools und andere Einstellungen in `settings.json` gelten für Desktop-Sitzungen.

782* **Modelle**: Sonnet, Opus und Haiku sind in beiden verfügbar. Wählen Sie in Desktop das Modell aus dem Dropdown neben der Schaltfläche „Senden". Sie können das Modell während der Sitzung ändern.784* **Modelle**: die gleichen [Modelle](/de/model-config#available-models) sind in beiden verfügbar. Wählen Sie in Desktop das Modell aus dem Dropdown neben der Schaltfläche „Senden". Sie können das Modell während der Sitzung ändern.

783 785 

784<Note>786<Note>

785 **MCP-Server aus der Claude Desktop Chat-App**: Die Desktop-App lädt MCP-Server aus `claude_desktop_config.json` in Code-Tab-Sitzungen, zusammen mit Servern aus `~/.claude.json` und `.mcp.json`. Ein Server, der in `claude_desktop_config.json` definiert ist, ist sowohl auf der Desktop-Chat-Oberfläche als auch auf der Registerkarte „Code" verfügbar.787 **MCP-Server aus der Claude Desktop Chat-App**: Die Desktop-App lädt MCP-Server aus `claude_desktop_config.json` in Code-Tab-Sitzungen, zusammen mit Servern aus `~/.claude.json` und `.mcp.json`. Ein Server, der in `claude_desktop_config.json` definiert ist, ist sowohl auf der Desktop-Chat-Oberfläche als auch auf der Registerkarte „Code" verfügbar.


794Diese Tabelle vergleicht Kernfunktionen zwischen CLI und Desktop. Für eine vollständige Liste der CLI-Flags siehe die [CLI-Referenz](/de/cli-reference).796Diese Tabelle vergleicht Kernfunktionen zwischen CLI und Desktop. Für eine vollständige Liste der CLI-Flags siehe die [CLI-Referenz](/de/cli-reference).

795 797 

796| Funktion | CLI | Desktop |798| Funktion | CLI | Desktop |

797| ------------------------------------------------------ | --------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |799| ------------------------------------------------------ | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

798| Berechtigungsmodi | Alle Modi einschließlich `dontAsk` | Berechtigungen erfragen, Bearbeitungen automatisch akzeptieren, Plan Mode, Auto und Bypass-Berechtigungen über Einstellungen |800| Berechtigungsmodi | Alle Modi einschließlich `dontAsk` | Berechtigungen erfragen, Bearbeitungen automatisch akzeptieren, Plan Mode, Auto und Bypass-Berechtigungen über Einstellungen |

799| `--dangerously-skip-permissions` | CLI-Flag | Bypass-Berechtigungsmodus. Aktivieren Sie in Einstellungen → Claude Code → „Bypass-Berechtigungsmodus zulassen" |801| `--dangerously-skip-permissions` | CLI-Flag | Bypass-Berechtigungsmodus. Aktivieren Sie in Einstellungen → Claude Code → „Bypass-Berechtigungsmodus zulassen" |

800| [Drittanbieter-Provider](/de/third-party-integrations) | Bedrock, Vertex, Foundry | Anthropics API standardmäßig. Enterprise-Bereitstellungen können Vertex AI und Gateway-Provider konfigurieren. Siehe das [Enterprise-Konfigurationshandbuch](https://support.claude.com/en/articles/12622667-enterprise-configuration). |802| [Drittanbieter-Provider](/de/third-party-integrations) | Bedrock, Vertex AI, Foundry | Anthropics API standardmäßig. Enterprise-Bereitstellungen können Vertex AI und Gateway-Provider konfigurieren. Siehe das [Enterprise-Konfigurationshandbuch](https://support.claude.com/en/articles/12622667-enterprise-configuration). Um die Code-Registerkarte auf Bedrock, Vertex AI, Foundry oder einem selbstgehosteten LLM-Gateway auszuführen, siehe [Cowork on 3P Research Preview](https://claude.com/docs/cowork/3p/overview). |

801| [MCP-Server](/de/mcp) | In Einstellungsdateien konfigurieren | Konnektoren-UI für lokale und SSH-Sitzungen oder Einstellungsdateien |803| [MCP-Server](/de/mcp) | In Einstellungsdateien konfigurieren | Konnektoren-UI für lokale und SSH-Sitzungen oder Einstellungsdateien |

802| [Plugins](/de/plugins) | `/plugin`-Befehl | Plugin-Manager-UI |804| [Plugins](/de/plugins) | `/plugin`-Befehl | Plugin-Manager-UI |

803| @mention-Dateien | Textbasiert | Mit Autovervollständigung; lokale und SSH-Sitzungen nur |805| @mention-Dateien | Textbasiert | Mit Autovervollständigung; lokale und SSH-Sitzungen nur |


809| Dispatch-Integration | Nicht verfügbar | [Dispatch-Sitzungen](#sessions-from-dispatch) in der Seitenleiste |811| Dispatch-Integration | Nicht verfügbar | [Dispatch-Sitzungen](#sessions-from-dispatch) in der Seitenleiste |

810| Scripting und Automatisierung | [`--print`](/de/cli-reference), [Agent SDK](/de/headless) | Nicht verfügbar |812| Scripting und Automatisierung | [`--print`](/de/cli-reference), [Agent SDK](/de/headless) | Nicht verfügbar |

811 813 

812<h3 id="what-s-not-available-in-desktop">814<h3 id="whats-not-available-in-desktop">

813 Was ist nicht in Desktop verfügbar815 Was ist nicht in Desktop verfügbar

814</h3>816</h3>

815 817 

816Die folgenden Funktionen sind nur in der CLI oder VS Code-Erweiterung verfügbar:818Die folgenden Funktionen sind nur in der CLI oder VS Code-Erweiterung verfügbar, außer wo anders angegeben:

817 819 

818* **Drittanbieter-Provider**: Desktop verbindet sich mit Anthropics API standardmäßig. Enterprise-Bereitstellungen können Vertex AI und Gateway-Provider über [verwaltete Einstellungen](https://support.claude.com/en/articles/12622667-enterprise-configuration) konfigurieren. Für Bedrock oder Foundry verwenden Sie die [CLI](/de/quickstart).820* **Drittanbieter-Provider**: Desktop verbindet sich mit Anthropics API standardmäßig. Enterprise-Bereitstellungen können Vertex AI und Gateway-Provider über [verwaltete Einstellungen](https://support.claude.com/en/articles/12622667-enterprise-configuration) konfigurieren. Für Bedrock oder Foundry in der CLI siehe [Schnellstart](/de/quickstart). Als Ausnahme zum obigen Abschnitt führt [Cowork on 3P Research Preview](https://claude.com/docs/cowork/3p/overview) die Code-Registerkarte auf Bedrock, Vertex AI, Foundry oder einem selbstgehosteten LLM-Gateway aus.

819* **Linux**: Die Desktop-App ist nur auf macOS und Windows verfügbar. Verwenden Sie unter Linux die [CLI](/de/quickstart).821* **Linux**: Die Desktop-App ist nur auf macOS und Windows verfügbar. Verwenden Sie unter Linux die [CLI](/de/quickstart).

820* **Inline-Code-Vorschläge**: Desktop bietet keine Autovervollständigungs-ähnlichen Vorschläge. Es funktioniert durch Gesprächseingaben und explizite Code-Änderungen.822* **Inline-Code-Vorschläge**: Desktop bietet keine Autovervollständigungs-ähnlichen Vorschläge. Es funktioniert durch Gesprächseingaben und explizite Code-Änderungen.

821* **Agent-Teams**: Parallele Claude Code-Sitzungen, die sich gegenseitig Nachrichten senden, sind in der [CLI](/de/agent-teams) verfügbar, nicht in Desktop. Für Multi-Agent-Arbeit innerhalb einer Sitzung verwenden Sie [dynamische Workflows](/de/workflows), die in Desktop ausgeführt werden.823* **Agent-Teams**: Parallele Claude Code-Sitzungen, die sich gegenseitig Nachrichten senden, sind in der [CLI](/de/agent-teams) verfügbar, nicht in Desktop. Für Multi-Agent-Arbeit innerhalb einer Sitzung verwenden Sie [dynamische Workflows](/de/workflows), die in Desktop ausgeführt werden.


885 887 

886Wenn MCP-Server-Umschalter nicht reagieren oder Server unter Windows keine Verbindung herstellen, überprüfen Sie, dass der Server in Ihren Einstellungen richtig konfiguriert ist, starten Sie die App neu, überprüfen Sie, dass der Server-Prozess im Task Manager läuft, und überprüfen Sie Server-Protokolle auf Verbindungsfehler.888Wenn MCP-Server-Umschalter nicht reagieren oder Server unter Windows keine Verbindung herstellen, überprüfen Sie, dass der Server in Ihren Einstellungen richtig konfiguriert ist, starten Sie die App neu, überprüfen Sie, dass der Server-Prozess im Task Manager läuft, und überprüfen Sie Server-Protokolle auf Verbindungsfehler.

887 889 

888<h3 id="app-won-t-quit">890<h3 id="app-wont-quit">

889 App wird nicht beendet891 App wird nicht beendet

890</h3>892</h3>

891 893 


899* **PATH nicht aktualisiert nach Installation**: Öffnen Sie ein neues Terminal-Fenster. PATH-Updates gelten nur für neue Terminal-Sitzungen.901* **PATH nicht aktualisiert nach Installation**: Öffnen Sie ein neues Terminal-Fenster. PATH-Updates gelten nur für neue Terminal-Sitzungen.

900* **Fehler bei gleichzeitiger Installation**: Wenn Sie einen Fehler über eine andere Installation sehen, die läuft, aber es gibt keine, versuchen Sie, das Installationsprogramm als Administrator auszuführen.902* **Fehler bei gleichzeitiger Installation**: Wenn Sie einen Fehler über eine andere Installation sehen, die läuft, aber es gibt keine, versuchen Sie, das Installationsprogramm als Administrator auszuführen.

901 903 

902<h3 id="branch-doesn-t-exist-yet-when-opening-in-cli">904<h3 id="branch-doesnt-exist-yet-when-opening-in-cli">

903 „Branch existiert noch nicht" beim Öffnen in CLI905 „Branch existiert noch nicht" beim Öffnen in CLI

904</h3>906</h3>

905 907 

906Remote-Sitzungen können Branches erstellen, die auf Ihrem lokalen Computer nicht existieren. Klicken Sie auf den Branch-Namen in der Sitzungs-Symbolleiste, um ihn zu kopieren, und rufen Sie ihn dann lokal ab:908Cloud-Sitzungen können Branches erstellen, die auf Ihrem lokalen Computer nicht existieren. Klicken Sie auf den Branch-Namen in der Sitzungs-Symbolleiste, um ihn zu kopieren, und rufen Sie ihn dann lokal ab:

907 909 

908```bash theme={null}910```bash theme={null}

909git fetch origin <branch-name>911git fetch origin <branch-name>


914 Immer noch stecken?916 Immer noch stecken?

915</h3>917</h3>

916 918 

917* Suchen Sie oder melden Sie einen Fehler auf [GitHub Issues](https://github.com/anthropics/claude-code/issues)919* Öffnen Sie Hilfe Support erhalten in der Desktop-App, oder besuchen Sie das [Claude Support Center](https://support.claude.com/) direkt

918* Besuchen Sie das [Claude Support Center](https://support.claude.com/)920* Für Probleme, die auch in der eigenständigen `claude` CLI reproduzierbar sind, suchen Sie oder melden Sie einen Fehler auf [GitHub Issues](https://github.com/anthropics/claude-code/issues)

919 921 

920Wenn Sie einen Fehler melden, geben Sie Ihre Desktop-App-Version, Ihr Betriebssystem, die genaue Fehlermeldung und relevante Protokolle an. Überprüfen Sie auf macOS Console.app. Überprüfen Sie unter Windows Event Viewer → Windows Logs → Application.922Wenn Sie einen Fehler melden, geben Sie Ihre Desktop-App-Version, Ihr Betriebssystem, die genaue Fehlermeldung und relevante Protokolle an. Überprüfen Sie auf macOS Console.app. Überprüfen Sie unter Windows Event Viewer → Windows Logs → Application.

Details

66 66 

67 Sie können auch auswählen:67 Sie können auch auswählen:

68 68 

69 * **Remote**: Führen Sie Sitzungen auf der Cloud-Infrastruktur von Anthropic aus, die auch dann fortgesetzt werden, wenn Sie die App schließen. Remote-Sitzungen verwenden die gleiche Infrastruktur wie [Claude Code im Web](/de/claude-code-on-the-web).69 * **Remote**: Führen Sie Sitzungen auf der Cloud-Infrastruktur von Anthropic aus, die auch dann fortgesetzt werden, wenn Sie die App schließen. Cloud-Sitzungen verwenden die gleiche Infrastruktur wie [Claude Code im Web](/de/claude-code-on-the-web).

70 * **SSH**: Verbinden Sie sich über SSH mit einem Remote-Computer, z. B. Ihren eigenen Servern, Cloud-VMs oder Dev-Containern. Desktop installiert Claude Code beim ersten Verbindungsaufbau automatisch auf dem Remote-Computer.70 * **SSH**: Verbinden Sie sich über SSH mit einem Remote-Computer, z. B. Ihren eigenen Servern, Cloud-VMs oder Dev-Containern. Desktop installiert Claude Code beim ersten Verbindungsaufbau automatisch auf dem Remote-Computer.

71 </Step>71 </Step>

72 72 

73 <Step title="Wählen Sie ein Modell">73 <Step title="Wählen Sie ein Modell">

74 Wählen Sie ein Modell aus der Dropdown-Liste neben der Schaltfläche „Senden". Siehe [Modelle](/de/model-config#available-models) für einen Vergleich von Opus, Sonnet und Haiku. Sie können das Modell später aus der gleichen Dropdown-Liste ändern.74 Wählen Sie ein Modell aus der Dropdown-Liste neben der Schaltfläche „Senden". Siehe [Modelle](/de/model-config#available-models) für einen Vergleich der verfügbaren Modelle. Sie können das Modell später aus der gleichen Dropdown-Liste ändern.

75 </Step>75 </Step>

76 76 

77 <Step title="Sagen Sie Claude, was zu tun ist">77 <Step title="Sagen Sie Claude, was zu tun ist">


129 129 

130Desktop führt die gleiche Engine wie die CLI mit einer grafischen Benutzeroberfläche aus. Sie können beide gleichzeitig auf dem gleichen Projekt ausführen, und sie teilen die Konfiguration (CLAUDE.md-Dateien, MCP servers, hooks, Skills und Einstellungen). Für einen vollständigen Vergleich von Funktionen, Flag-Äquivalenten und was in Desktop nicht verfügbar ist, siehe [CLI-Vergleich](/de/desktop#coming-from-the-cli).130Desktop führt die gleiche Engine wie die CLI mit einer grafischen Benutzeroberfläche aus. Sie können beide gleichzeitig auf dem gleichen Projekt ausführen, und sie teilen die Konfiguration (CLAUDE.md-Dateien, MCP servers, hooks, Skills und Einstellungen). Für einen vollständigen Vergleich von Funktionen, Flag-Äquivalenten und was in Desktop nicht verfügbar ist, siehe [CLI-Vergleich](/de/desktop#coming-from-the-cli).

131 131 

132<h2 id="what-s-next">132<h2 id="whats-next">

133 Was kommt als Nächstes133 Was kommt als Nächstes

134</h2>134</h2>

135 135 

Details

169 * **Marketplaces**: Fügen Sie Marktplätze hinzu, entfernen Sie sie oder aktualisieren Sie sie169 * **Marketplaces**: Fügen Sie Marktplätze hinzu, entfernen Sie sie oder aktualisieren Sie sie

170 * **Errors**: Zeigen Sie alle Plugin-Ladefehler an170 * **Errors**: Zeigen Sie alle Plugin-Ladefehler an

171 171 

172 Gehen Sie zur Registerkarte **Discover**, um Plugins aus dem Marktplatz zu sehen, den Sie gerade hinzugefügt haben. {/* min-version: 2.1.154 */}Plugins, die für Ihr aktuelles Arbeitsverzeichnis relevant sind, werden oben mit einer Bezeichnung **suggested for this directory** angeheftet.172 Gehen Sie zur Registerkarte **Discover**, um Plugins aus dem Marktplatz zu sehen, den Sie gerade hinzugefügt haben. {/* min-version: 2.1.154 */}Wenn Ihr Administrator den Marktplatz über die verwaltete Einstellung [`pluginSuggestionMarketplaces`](/de/settings#available-settings) auf die Whitelist gesetzt hat, werden Plugins, die für Ihr aktuelles Arbeitsverzeichnis relevant sind, oben mit einer Bezeichnung **suggested for this directory** angeheftet.

173 </Step>173 </Step>

174 174 

175 <Step title="Installieren Sie ein Plugin">175 <Step title="Installieren Sie ein Plugin">


328* Eingeben, um nach Plugin-Name oder Beschreibung zu filtern328* Eingeben, um nach Plugin-Name oder Beschreibung zu filtern

329* Enter drücken, um die Detailansicht eines Plugins zu öffnen und es zu aktivieren, zu deaktivieren oder zu deinstallieren329* Enter drücken, um die Detailansicht eines Plugins zu öffnen und es zu aktivieren, zu deaktivieren oder zu deinstallieren

330 330 

331Die Detailansicht zeigt die Komponenten, die das Plugin bereitstellt: Befehle, Skills, Agenten, Hooks, MCP-Server und LSP-Server. Das gleiche Inventar ist über die Befehlszeile mit `claude plugin details` verfügbar.

332 

331Wenn Sie ein Plugin installieren, das Abhängigkeiten deklariert, listet die Installationsausgabe auf, welche Abhängigkeiten zusammen mit ihm automatisch installiert wurden.333Wenn Sie ein Plugin installieren, das Abhängigkeiten deklariert, listet die Installationsausgabe auf, welche Abhängigkeiten zusammen mit ihm automatisch installiert wurden.

332 334 

333Sie können Plugins auch mit direkten Befehlen verwalten.335Sie können Plugins auch mit direkten Befehlen verwalten.

334 336 

337Installierte Plugins auflisten, ohne das Menü zu öffnen:

338 

339```shell theme={null}

340/plugin list

341```

342 

343Übergeben Sie `--enabled` oder `--disabled`, um nur Plugins in diesem Zustand anzuzeigen.

344 

335Deaktivieren Sie ein Plugin, ohne es zu deinstallieren:345Deaktivieren Sie ein Plugin, ohne es zu deinstallieren:

336 346 

337```shell theme={null}347```shell theme={null}


369 379 

370Claude Code lädt alle aktiven Plugins neu und zeigt Zählungen für Plugins, Skills, Agenten, Hooks, Plugin-MCP-Server und Plugin-LSP-Server an.380Claude Code lädt alle aktiven Plugins neu und zeigt Zählungen für Plugins, Skills, Agenten, Hooks, Plugin-MCP-Server und Plugin-LSP-Server an.

371 381 

372Das Neuladen hat Tokenkosten bei der nächsten Anfrage: Neu geladene Komponenten kündigen sich in Inhalten an, die zum Gespräch hinzugefügt werden, während der vorhandene Verlauf weiterhin aus dem Prompt-Cache gelesen wird. Ein Plugin, das MCP-Server bereitstellt, kostet mehr, wenn seine Tools nicht durch [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) aufgeschoben werden: Die Änderung invalidiert den Cache und die nächste Anfrage liest das gesamte Gespräch erneut. Weitere Informationen finden Sie unter [Aktivieren oder Deaktivieren eines Plugins](/de/prompt-caching#enabling-or-disabling-a-plugin).382Das Neuladen hat Tokenkosten bei der nächsten Anfrage: Neu geladene Komponenten kündigen sich in Inhalten an, die zum Gespräch hinzugefügt werden, während der vorhandene Verlauf weiterhin aus dem Prompt-Cache gelesen wird. Ein Plugin, das MCP-Server bereitstellt, kostet mehr, wenn seine Tools nicht durch [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) aufgeschoben werden: Die Änderung invalidiert den Cache und die nächste Anfrage liest das gesamte Gespräch erneut. {/* min-version: 2.1.163 */}In diesem Fall zeigt `/reload-plugins` eine Warnung an und wendet das Neuladen nicht an; übergeben Sie `--force`, um es trotzdem anzuwenden. Weitere Informationen finden Sie unter [Aktivieren oder Deaktivieren eines Plugins](/de/prompt-caching#enabling-or-disabling-a-plugin).

373 383 

374<h2 id="manage-marketplaces">384<h2 id="manage-marketplaces">

375 Marktplätze verwalten385 Marktplätze verwalten

env-vars.md +37 −22

Details

73Die Datei, die Sie wählen, bestimmt, für wen die Variablen gelten:73Die Datei, die Sie wählen, bestimmt, für wen die Variablen gelten:

74 74 

75| Datei | Gilt für |75| Datei | Gilt für |

76| :---------------------------- | :------------------------------------------------------------------ |76| :---------------------------- | :------------------------------------------------------------------------------------------------ |

77| `~/.claude/settings.json` | Sie, in jedem Projekt |77| `~/.claude/settings.json` | Sie, in jedem Projekt |

78| `.claude/settings.json` | Alle, die im Projekt arbeiten, eingecheckt in die Versionskontrolle |78| `.claude/settings.json` | Alle, die im Projekt arbeiten, eingecheckt in die Versionskontrolle |

79| `.claude/settings.local.json` | Sie, nur in diesem Projekt, nicht eingecheckt |79| `.claude/settings.local.json` | Sie, nur in diesem Projekt (fügen Sie es zu Ihrer gitignore hinzu, wenn Sie es manuell erstellen) |

80| Verwaltete Einstellungen | Alle in Ihrer Organisation, bereitgestellt von einem Administrator |80| Verwaltete Einstellungen | Alle in Ihrer Organisation, bereitgestellt von einem Administrator |

81 81 

82Siehe [Einstellungsdateien](/de/settings#settings-files) für den Speicherort jeder Datei und [Einstellungs-Vorrang](/de/settings#settings-precedence) für die Kombination, wenn mehr als eine die gleiche Variable setzt.82Siehe [Einstellungsdateien](/de/settings#settings-files) für den Speicherort jeder Datei und [Einstellungs-Vorrang](/de/settings#settings-precedence) für die Kombination, wenn mehr als eine die gleiche Variable setzt.


96</h2>96</h2>

97 97 

98| Variable | Zweck |98| Variable | Zweck |

99| :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |99| :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

100| `ANTHROPIC_API_KEY` | API-Schlüssel, der als `X-Api-Key`-Header gesendet wird. Wenn gesetzt, wird dieser Schlüssel anstelle Ihres Claude Pro-, Max-, Team- oder Enterprise-Abonnements verwendet, auch wenn Sie angemeldet sind. Im nicht-interaktiven Modus (`-p`) wird der Schlüssel immer verwendet, wenn er vorhanden ist. Im interaktiven Modus werden Sie aufgefordert, den Schlüssel einmalig zu genehmigen, bevor er Ihr Abonnement überschreibt. Um stattdessen Ihr Abonnement zu verwenden, führen Sie `unset ANTHROPIC_API_KEY` aus |100| `ANTHROPIC_API_KEY` | API-Schlüssel, der als `X-Api-Key`-Header gesendet wird. Wenn gesetzt, wird dieser Schlüssel anstelle Ihres Claude Pro-, Max-, Team- oder Enterprise-Abonnements verwendet, auch wenn Sie angemeldet sind. Im nicht-interaktiven Modus (`-p`) wird der Schlüssel immer verwendet, wenn er vorhanden ist. Im interaktiven Modus werden Sie aufgefordert, den Schlüssel einmalig zu genehmigen, bevor er Ihr Abonnement überschreibt. Um stattdessen Ihr Abonnement zu verwenden, führen Sie `unset ANTHROPIC_API_KEY` aus |

101| `ANTHROPIC_AUTH_TOKEN` | Benutzerdefinierter Wert für den `Authorization`-Header (der hier gesetzte Wert wird mit `Bearer ` vorangestellt) |101| `ANTHROPIC_AUTH_TOKEN` | Benutzerdefinierter Wert für den `Authorization`-Header (der hier gesetzte Wert wird mit `Bearer ` vorangestellt) |

102| `ANTHROPIC_AWS_API_KEY` | Workspace API-Schlüssel für [Claude Platform on AWS](/de/claude-platform-on-aws), generiert in der AWS-Konsole. Wird als `x-api-key` gesendet und hat Vorrang vor AWS SigV4 |102| `ANTHROPIC_AWS_API_KEY` | Workspace API-Schlüssel für [Claude Platform on AWS](/de/claude-platform-on-aws), generiert in der AWS-Konsole. Wird als `x-api-key` gesendet und hat Vorrang vor AWS SigV4 |


112| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Anzeigenbeschreibung für den benutzerdefinierten Modelleintrag in der `/model`-Auswahl. Standardmäßig `Custom model (<model-id>)`, wenn nicht gesetzt |112| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Anzeigenbeschreibung für den benutzerdefinierten Modelleintrag in der `/model`-Auswahl. Standardmäßig `Custom model (<model-id>)`, wenn nicht gesetzt |

113| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Anzeigename für den benutzerdefinierten Modelleintrag in der `/model`-Auswahl. Standardmäßig die Modell-ID, wenn nicht gesetzt |113| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Anzeigename für den benutzerdefinierten Modelleintrag in der `/model`-Auswahl. Standardmäßig die Modell-ID, wenn nicht gesetzt |

114| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Siehe [Modellkonfiguration](/de/model-config#customize-pinned-model-display-and-capabilities) |114| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Siehe [Modellkonfiguration](/de/model-config#customize-pinned-model-display-and-capabilities) |

115| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Siehe [Modellkonfiguration](/de/model-config#environment-variables) |

116| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Siehe [Modellkonfiguration](/de/model-config#customize-pinned-model-display-and-capabilities) |

117| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Siehe [Modellkonfiguration](/de/model-config#customize-pinned-model-display-and-capabilities) |

118| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Siehe [Modellkonfiguration](/de/model-config#customize-pinned-model-display-and-capabilities) |

115| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Siehe [Modellkonfiguration](/de/model-config#environment-variables) |119| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Siehe [Modellkonfiguration](/de/model-config#environment-variables) |

116| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Siehe [Modellkonfiguration](/de/model-config#customize-pinned-model-display-and-capabilities) |120| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Siehe [Modellkonfiguration](/de/model-config#customize-pinned-model-display-and-capabilities) |

117| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Siehe [Modellkonfiguration](/de/model-config#customize-pinned-model-display-and-capabilities) |121| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Siehe [Modellkonfiguration](/de/model-config#customize-pinned-model-display-and-capabilities) |


133| `ANTHROPIC_VERTEX_BASE_URL` | Überschreiben Sie die Vertex AI-Endpunkt-URL. Verwenden Sie für benutzerdefinierte Vertex-Endpunkte oder beim Routing durch ein [LLM-Gateway](/de/llm-gateway). Siehe [Google Vertex AI](/de/google-vertex-ai) |137| `ANTHROPIC_VERTEX_BASE_URL` | Überschreiben Sie die Vertex AI-Endpunkt-URL. Verwenden Sie für benutzerdefinierte Vertex-Endpunkte oder beim Routing durch ein [LLM-Gateway](/de/llm-gateway). Siehe [Google Vertex AI](/de/google-vertex-ai) |

134| `ANTHROPIC_VERTEX_PROJECT_ID` | GCP-Projekt-ID für Vertex AI-Anfragen. Wird überschrieben durch `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` oder das Projekt in Ihrer `GOOGLE_APPLICATION_CREDENTIALS`-Anmeldedatei. Siehe [Google Vertex AI](/de/google-vertex-ai) |138| `ANTHROPIC_VERTEX_PROJECT_ID` | GCP-Projekt-ID für Vertex AI-Anfragen. Wird überschrieben durch `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` oder das Projekt in Ihrer `GOOGLE_APPLICATION_CREDENTIALS`-Anmeldedatei. Siehe [Google Vertex AI](/de/google-vertex-ai) |

135| `ANTHROPIC_WORKSPACE_ID` | Workspace-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Setzen Sie dies, wenn Ihre Verbundungsregel auf mehr als einen Workspace beschränkt ist, damit der Token-Austausch weiß, welcher Workspace das Ziel ist |139| `ANTHROPIC_WORKSPACE_ID` | Workspace-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Setzen Sie dies, wenn Ihre Verbundungsregel auf mehr als einen Workspace beschränkt ist, damit der Token-Austausch weiß, welcher Workspace das Ziel ist |

140| `API_FORCE_IDLE_TIMEOUT` | {/* min-version: 2.1.169 */}Überschreiben Sie das 5-Minuten-Idle-Timeout, das eine Streaming-Modell-Antwort abbricht, wenn keine Bytes ankommen. Setzen Sie auf `0`, um das Timeout zu deaktivieren, z. B. wenn ein langsames [Gateway](/de/llm-gateway) oder lokales Modell länger als 5 Minuten zwischen Chunks pausiert. Setzen Sie auf `1`, um das Timeout bei jedem Provider zu behalten. Wenn nicht gesetzt, ist das Timeout bei direkten Anthropic API- und [Claude Platform on AWS](/de/claude-platform-on-aws)-Verbindungen inaktiv, wo Claude Codes eigener Byte-Level-Stream-Watchdog läuft, und aktiv bei jedem anderen Provider, einschließlich [Vertex AI](/de/google-vertex-ai), [Foundry](/de/microsoft-foundry), [Mantle](/de/amazon-bedrock#use-the-mantle-endpoint), [Bedrock](/de/amazon-bedrock) und Gateway-Verbindungen, sodass ein stillgelegter Stream abbricht, anstatt zu hängen. Ab v2.1.169 |

136| `API_TIMEOUT_MS` | Timeout für API-Anfragen in Millisekunden (Standard: 600000 oder 10 Minuten; Maximum: 2147483647). Erhöhen Sie dies, wenn Anfragen bei langsamen Netzwerken oder beim Routing durch einen Proxy Timeout-Fehler verursachen. Werte über dem Maximum führen zu Überläufen des zugrunde liegenden Timers und verursachen, dass Anfragen sofort fehlschlagen |141| `API_TIMEOUT_MS` | Timeout für API-Anfragen in Millisekunden (Standard: 600000 oder 10 Minuten; Maximum: 2147483647). Erhöhen Sie dies, wenn Anfragen bei langsamen Netzwerken oder beim Routing durch einen Proxy Timeout-Fehler verursachen. Werte über dem Maximum führen zu Überläufen des zugrunde liegenden Timers und verursachen, dass Anfragen sofort fehlschlagen |

137| `AWS_BEARER_TOKEN_BEDROCK` | Bedrock API-Schlüssel für Authentifizierung (siehe [Bedrock API-Schlüssel](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |142| `AWS_BEARER_TOKEN_BEDROCK` | Bedrock API-Schlüssel für Authentifizierung (siehe [Bedrock API-Schlüssel](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

138| `BASH_DEFAULT_TIMEOUT_MS` | Standard-Timeout für lang laufende Bash-Befehle (Standard: 120000 oder 2 Minuten) |143| `BASH_DEFAULT_TIMEOUT_MS` | Standard-Timeout für lang laufende Bash-Befehle (Standard: 120000 oder 2 Minuten) |

139| `BASH_MAX_OUTPUT_LENGTH` | Maximale Anzahl von Zeichen in Bash-Ausgaben, bevor die vollständige Ausgabe in einer Datei gespeichert wird und Claude den Pfad plus eine kurze Vorschau erhält. Siehe [Bash-Tool-Verhalten](/de/tools-reference#bash-tool-behavior) |144| `BASH_MAX_OUTPUT_LENGTH` | Maximale Anzahl von Zeichen in Bash-Ausgaben, bevor die vollständige Ausgabe in einer Datei gespeichert wird und Claude den Pfad plus eine kurze Vorschau erhält. Siehe [Bash-Tool-Verhalten](/de/tools-reference#bash-tool-behavior) |

140| `BASH_MAX_TIMEOUT_MS` | Maximales Timeout, das das Modell für lang laufende Bash-Befehle setzen kann (Standard: 600000 oder 10 Minuten) |145| `BASH_MAX_TIMEOUT_MS` | Maximales Timeout, das das Modell für lang laufende Bash-Befehle setzen kann (Standard: 600000 oder 10 Minuten) |

141| `CCR_FORCE_BUNDLE` | Setzen Sie auf `1`, um [`claude --remote`](/de/claude-code-on-the-web#send-local-repositories-without-github) zu erzwingen, Ihr lokales Repository zu bündeln und hochzuladen, auch wenn GitHub-Zugriff verfügbar ist |146| `CCR_FORCE_BUNDLE` | Setzen Sie auf `1`, um [`claude --remote`](/de/claude-code-on-the-web#send-local-repositories-without-github) zu erzwingen, Ihr lokales Repository zu bündeln und hochzuladen, auch wenn GitHub-Zugriff verfügbar ist |

142| `CLAUDECODE` | Auf `1` in Subprozessen gesetzt, die Claude Code spawnt (Bash- und PowerShell-Tools, tmux-Sitzungen, [Hook](/de/hooks)-Befehle, [Statuszeilen](/de/statusline)-Befehle, stdio [MCP-Server](/de/mcp)-Subprozesse). Verwenden Sie, um zu erkennen, wenn ein Skript in einem Subprozess ausgeführt wird, der von Claude Code gespawnt wurde |147| `CLAUDECODE` | Auf `1` in Subprozessen gesetzt, die Claude Code spawnt (Bash- und PowerShell-Tools, tmux-Sitzungen, [Hook](/de/hooks)-Befehle, [Statuszeilen](/de/statusline)-Befehle, stdio [MCP-Server](/de/mcp)-Subprozesse). IDE-Erweiterungen setzen dies auch in ihren integrierten Terminals. Verwenden Sie, um zu erkennen, wenn ein Skript in einem Subprozess ausgeführt wird, der von Claude Code gespawnt wurde. Um zu überprüfen, ob der aktuelle Prozess direkt von einem Tool-Aufruf oder Hook gespawnt wurde, anstatt in einem stdio [MCP-Server](/de/mcp), den Claude Code gestartet hat, verwenden Sie stattdessen `CLAUDE_CODE_CHILD_SESSION` |

143| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Setzen Sie auf `1`, um alle integrierten [Subagenten](/de/sub-agents)-Typen wie Explore und Plan zu deaktivieren. Gilt nur im nicht-interaktiven Modus (das Flag `-p`). Nützlich für SDK-Benutzer, die eine leere Grundlage wünschen |148| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Setzen Sie auf `1`, um alle integrierten [Subagenten](/de/sub-agents)-Typen wie Explore und Plan zu deaktivieren. Gilt nur im nicht-interaktiven Modus (das Flag `-p`). Nützlich für SDK-Benutzer, die eine leere Grundlage wünschen |

144| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Setzen Sie auf `1`, um das Präfix `mcp__<server>__` bei Tool-Namen von SDK-erstellten MCP-Servern zu überspringen. Tools verwenden ihre ursprünglichen Namen. Nur SDK-Verwendung |149| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Setzen Sie auf `1`, um das Präfix `mcp__<server>__` bei Tool-Namen von SDK-erstellten MCP-Servern zu überspringen. Tools verwenden ihre ursprünglichen Namen. Nur SDK-Verwendung |

145| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Stall-Timeout in Millisekunden für Hintergrund-Subagenten. Standard `600000` (10 Minuten). Der Timer wird bei jedem Streaming-Fortschrittsereignis zurückgesetzt; wenn kein Fortschritt innerhalb des Fensters ankommt, wird der Subagent abgebrochen und die Aufgabe als fehlgeschlagen markiert, wobei alle Teilergebnisse dem übergeordneten Element angezeigt werden |150| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Stall-Timeout in Millisekunden für Hintergrund-Subagenten. Standard `600000` (10 Minuten). Der Timer wird bei jedem Streaming-Fortschrittsereignis zurückgesetzt; wenn kein Fortschritt innerhalb des Fensters ankommt, wird der Subagent abgebrochen und die Aufgabe als fehlgeschlagen markiert, wobei alle Teilergebnisse dem übergeordneten Element angezeigt werden |

146| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Legen Sie den Prozentsatz der Kontextkapazität (1-100) fest, bei dem die automatische Komprimierung ausgelöst wird. Standardmäßig wird die automatische Komprimierung bei etwa 95 % Kapazität ausgelöst. Verwenden Sie niedrigere Werte wie `50`, um früher zu komprimieren. Werte über dem Standard-Schwellenwert haben keine Auswirkung. Gilt für Hauptkonversationen und Subagenten. Dieser Prozentsatz entspricht dem Feld `context_window.used_percentage`, das in der [Statuszeile](/de/statusline) verfügbar ist |151| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Legen Sie den Prozentsatz (1-100) des Auto-Komprimierungsfensters fest, bei dem die Auto-Komprimierung ausgelöst wird. Verwenden Sie niedrigere Werte wie `50`, um früher zu komprimieren. Diese Variable verursacht nur frühere Komprimierung, wenn Claude Code proaktiv komprimiert: wenn `CLAUDE_CODE_AUTO_COMPACT_WINDOW` gesetzt ist, in [Cloud-Sitzungen](/de/claude-code-on-the-web), in [Remote Control](/de/remote-control)-Sitzungen und auf Sonnet 4.6 und Opus 4.6 ohne [erweiterten Kontext](/de/model-config#extended-context), die standardmäßig bei der 200K-Grenze komprimieren. In anderen Fällen, wie z. B. einer Standard-lokalen Sitzung, wird die Auto-Komprimierung ausgelöst, wenn die Konversation das Kontextlimit des Modells erreicht. Die Überschreibung kann nur den Schwellenwert senken, daher haben Werte über dem Standard keine Auswirkung. Gilt für Hauptkonversationen und Subagenten |

147| `CLAUDE_AUTO_BACKGROUND_TASKS` | Setzen Sie auf `1`, um die automatische Hintergrund-Ausführung von lang laufenden Agent-Aufgaben zu erzwingen. Wenn aktiviert, werden Subagenten nach etwa zwei Minuten Laufzeit in den Hintergrund verschoben |152| `CLAUDE_AUTO_BACKGROUND_TASKS` | Setzen Sie auf `1`, um die automatische Hintergrund-Ausführung von lang laufenden Agent-Aufgaben zu erzwingen. Wenn aktiviert, werden Subagenten nach etwa zwei Minuten Laufzeit in den Hintergrund verschoben |

148| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Kehren Sie nach jedem Bash- oder PowerShell-Befehl in der Hauptsitzung zum ursprünglichen Arbeitsverzeichnis zurück |153| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Kehren Sie nach jedem Bash- oder PowerShell-Befehl in der Hauptsitzung zum ursprünglichen Arbeitsverzeichnis zurück |

149| `CLAUDE_CODE_ACCESSIBILITY` | Setzen Sie auf `1`, um den nativen Terminal-Cursor sichtbar zu halten und den invertierten Text-Cursor-Indikator zu deaktivieren. Ermöglicht Bildschirmlupenfunktionen wie macOS Zoom, die Cursor-Position zu verfolgen |154| `CLAUDE_CODE_ACCESSIBILITY` | Setzen Sie auf `1`, um den nativen Terminal-Cursor sichtbar zu halten und den invertierten Text-Cursor-Indikator zu deaktivieren. Ermöglicht Bildschirmlupenfunktionen wie macOS Zoom, die Cursor-Position zu verfolgen |

150| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Setzen Sie auf `1`, um Speicherdateien aus Verzeichnissen zu laden, die mit `--add-dir` angegeben sind. Lädt `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` und `CLAUDE.local.md`. Standardmäßig laden zusätzliche Verzeichnisse keine Speicherdateien |155| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Setzen Sie auf `1`, um Speicherdateien aus Verzeichnissen zu laden, die mit `--add-dir` angegeben sind. Lädt `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` und `CLAUDE.local.md`. Standardmäßig laden zusätzliche Verzeichnisse keine Speicherdateien |

151| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Setzen Sie auf `1`, um den gesamten Bildschirm bei jedem Frame in der [Vollbilddarstellung](/de/fullscreen) neu zu zeichnen, anstatt inkrementelle Updates zu senden. Verwenden Sie dies, wenn der Vollbildmodus veraltete oder falsch platzierte Textfragmente anzeigt. Claude Code aktiviert dies automatisch für Hintergrund-Sitzungen und [Agent-Ansicht](/de/agent-view) unter Windows |156| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Setzen Sie auf `1`, um den gesamten Bildschirm bei jedem Frame in der [Vollbilddarstellung](/de/fullscreen) neu zu zeichnen, anstatt inkrementelle Updates zu senden. Verwenden Sie dies, wenn der Vollbildmodus veraltete oder falsch platzierte Textfragmente anzeigt. Claude Code aktiviert dies automatisch für Hintergrund-Sitzungen und [Agent-Ansicht](/de/agent-view) unter Windows |

157| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Setzen Sie auf `1`, um den [Effort](/de/model-config#adjust-effort-level)-Parameter mit jeder Anfrage zu senden, auch wenn Claude Code die Modell-ID nicht als Effort-fähig erkennt. Verwenden Sie dies beim Routing durch ein [LLM-Gateway](/de/llm-gateway) oder Drittanbieter-Provider, der Modelle unter benutzerdefinierten Bezeichnern bereitstellt. Modelle, die den Effort-Parameter bei der API ablehnen, einschließlich Claude 3-Modelle, Sonnet 4.0 und 4.5, Opus 4.0 und 4.1 sowie Haiku 4.5, sind weiterhin ausgeschlossen, sodass Anfragen nicht fehlschlagen |

152| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervall in Millisekunden, in dem Anmeldedaten aktualisiert werden sollten (bei Verwendung von [`apiKeyHelper`](/de/settings#available-settings)) |158| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervall in Millisekunden, in dem Anmeldedaten aktualisiert werden sollten (bei Verwendung von [`apiKeyHelper`](/de/settings#available-settings)) |

153| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Setzen Sie auf `0`, um den Attributionsblock (Client-Version und Prompt-Fingerabdruck) vom Anfang des System-Prompts wegzulassen. Das Deaktivieren verbessert die Prompt-Cache-Hit-Raten beim Routing durch ein [LLM-Gateway](/de/llm-gateway). Anthropic API-Caching ist nicht betroffen |159| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Setzen Sie auf `0`, um den Attributionsblock (Client-Version und Prompt-Fingerabdruck) vom Anfang des System-Prompts wegzulassen. Das Deaktivieren verbessert die Prompt-Cache-Hit-Raten beim Routing durch ein [LLM-Gateway](/de/llm-gateway). Anthropic API-Caching ist nicht betroffen |

154| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Legen Sie die Kontextkapazität in Token fest, die für Berechnungen der automatischen Komprimierung verwendet wird. Standardmäßig das Kontextfenster des Modells: 200K für Standard-Modelle oder 1M für [erweiterte Kontext](/de/model-config#extended-context)-Modelle. Verwenden Sie einen niedrigeren Wert wie `500000` auf einem 1M-Modell, um das Fenster für Komprimierungszwecke als 500K zu behandeln. Der Wert ist auf das tatsächliche Kontextfenster des Modells begrenzt. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` wird als Prozentsatz dieses Wertes angewendet. Das Setzen dieser Variablen entkoppelt den Komprimierungsschwellenwert von der `used_percentage` der Statuszeile, die immer das vollständige Kontextfenster des Modells verwendet |160| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Legen Sie die Kontextkapazität in Token fest, die für Berechnungen der automatischen Komprimierung verwendet wird. Standardmäßig das Kontextfenster des Modells: 200K für Standard-Modelle oder 1M für [erweiterte Kontext](/de/model-config#extended-context)-Modelle. Verwenden Sie einen niedrigeren Wert wie `500000` auf einem 1M-Modell, um das Fenster für Komprimierungszwecke als 500K zu behandeln. Der Wert ist auf das tatsächliche Kontextfenster des Modells begrenzt. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` wird als Prozentsatz dieses Wertes angewendet. Das Setzen dieser Variablen entkoppelt den Komprimierungsschwellenwert von der `used_percentage` der Statuszeile, die immer das vollständige Kontextfenster des Modells verwendet |

155| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Überschreiben Sie die automatische [IDE-Verbindung](/de/vs-code). Standardmäßig verbindet sich Claude Code automatisch, wenn es im integrierten Terminal einer unterstützten IDE gestartet wird. Setzen Sie auf `false`, um dies zu verhindern. Setzen Sie auf `true`, um eine Verbindung zu erzwingen, wenn die automatische Erkennung fehlschlägt, z. B. wenn tmux das übergeordnete Terminal verdeckt. Hat Vorrang vor der Einstellung [`autoConnectIde`](/de/settings#global-config-settings) |161| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Überschreiben Sie die automatische [IDE-Verbindung](/de/vs-code). Standardmäßig verbindet sich Claude Code automatisch, wenn es im integrierten Terminal einer unterstützten IDE gestartet wird. Setzen Sie auf `false`, um dies zu verhindern. Setzen Sie auf `true`, um eine Verbindung zu erzwingen, wenn die automatische Erkennung fehlschlägt, z. B. wenn tmux das übergeordnete Terminal verdeckt. Hat Vorrang vor der Einstellung [`autoConnectIde`](/de/settings#global-config-settings) |

156| `CLAUDE_CODE_CERT_STORE` | Kommagetrennte Liste von CA-Zertifikatquellen für TLS-Verbindungen. `bundled` ist der Mozilla CA-Satz, der mit Claude Code ausgeliefert wird. `system` ist der Betriebssystem-Vertrauensspeicher. Standard ist `bundled,system` |162| `CLAUDE_CODE_CERT_STORE` | Kommagetrennte Liste von CA-Zertifikatquellen für TLS-Verbindungen. `bundled` ist der Mozilla CA-Satz, der mit Claude Code ausgeliefert wird. `system` ist der Betriebssystem-Vertrauensspeicher. Standard ist `bundled,system` |

163| `CLAUDE_CODE_CHILD_SESSION` | {/* min-version: 2.1.172 */}Auf `1` in Subprozessen gesetzt, die Claude Code über die Bash-, PowerShell- und Monitor-Tools, [Hook](/de/hooks)-Befehle und [Statuszeilen](/de/statusline)-Befehle spawnt. Nicht gesetzt für stdio [MCP-Server](/de/mcp)-Subprozesse, die langlebig sind und die Sitzung, die sie gespawnt hat, überdauern. Im Gegensatz zu `CLAUDECODE` wird dies nur von Claude Codes eigenem Spawn-Pfad gesetzt und nicht von IDE-Erweiterungen, daher unterscheidet es zuverlässig eine verschachtelte Sitzung von einem Top-Level-`claude`, das in einem IDE-integrierten Terminal gestartet wird. Eine verschachtelte interaktive `claude` TUI, die auf diese Weise gestartet wird, wird automatisch von `--resume`, `--continue`, Up-Arrow-Verlauf und der `claude agents`-Liste ausgeschlossen. Nicht-interaktive `claude -p`-Sitzungen bleiben weiterhin bestehen. Setzen Sie `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1`, um diese Ausschließung zu überschreiben. Erfordert Claude Code v2.1.172 oder später |

157| `CLAUDE_CODE_CLIENT_CERT` | Pfad zur Client-Zertifikatsdatei für mTLS-Authentifizierung |164| `CLAUDE_CODE_CLIENT_CERT` | Pfad zur Client-Zertifikatsdatei für mTLS-Authentifizierung |

158| `CLAUDE_CODE_CLIENT_KEY` | Pfad zur privaten Client-Schlüsseldatei für mTLS-Authentifizierung |165| `CLAUDE_CODE_CLIENT_KEY` | Pfad zur privaten Client-Schlüsseldatei für mTLS-Authentifizierung |

159| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase für verschlüsselten CLAUDE\_CODE\_CLIENT\_KEY (optional) |166| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase für verschlüsselten CLAUDE\_CODE\_CLIENT\_KEY (optional) |

160| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Überschreiben Sie den Pfad der Debug-Protokolldatei. Trotz des Namens ist dies ein Dateipfad, kein Verzeichnis. Erfordert, dass der Debug-Modus separat über `--debug`, `/debug` oder die `DEBUG`-Umgebungsvariable aktiviert wird: Das Setzen dieser Variablen allein aktiviert keine Protokollierung. Das Flag [`--debug-file`](/de/cli-reference#cli-flags) macht beides auf einmal. Standardmäßig `~/.claude/debug/<session-id>.txt` |167| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Überschreiben Sie den Pfad der Debug-Protokolldatei. Trotz des Namens ist dies ein Dateipfad, kein Verzeichnis. Erfordert, dass der Debug-Modus separat über `--debug`, `/debug` oder die `DEBUG`-Umgebungsvariable aktiviert wird: Das Setzen dieser Variablen allein aktiviert keine Protokollierung. Das Flag [`--debug-file`](/de/cli-reference#cli-flags) macht beides auf einmal. Standardmäßig `~/.claude/debug/<session-id>.txt` |

161| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Minimale Protokollierungsstufe, die in die Debug-Protokolldatei geschrieben wird. Werte: `verbose`, `debug` (Standard), `info`, `warn`, `error`. Setzen Sie auf `verbose`, um hochvolumige Diagnosen wie vollständige Statuszeilen-Befehlsausgabe einzubeziehen, oder erhöhen Sie auf `error`, um Rauschen zu reduzieren |168| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Minimale Protokollierungsstufe, die in die Debug-Protokolldatei geschrieben wird. Werte: `verbose`, `debug` (Standard), `info`, `warn`, `error`. Setzen Sie auf `verbose`, um hochvolumige Diagnosen wie vollständige Statuszeilen-Befehlsausgabe einzubeziehen, oder erhöhen Sie auf `error`, um Rauschen zu reduzieren |

162| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Setzen Sie auf `1`, um die Unterstützung des [1M-Kontextfensters](/de/model-config#extended-context) zu deaktivieren. Wenn gesetzt, sind 1M-Modellvarianten in der Modellauswahl nicht verfügbar. Nützlich für Unternehmensumgebungen mit Compliance-Anforderungen |169| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Setzen Sie auf `1`, um die Unterstützung des [1M-Kontextfensters](/de/model-config#extended-context) zu deaktivieren. Wenn gesetzt, sind 1M-Modellvarianten in der Modellauswahl nicht verfügbar. Nützlich für Unternehmensumgebungen mit Compliance-Anforderungen |

163| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Setzen Sie auf `1`, um [adaptives Denken](/de/model-config#adjust-effort-level) auf Opus 4.6 und Sonnet 4.6 zu deaktivieren und auf das feste Denk-Budget zurückzufallen, das von `MAX_THINKING_TOKENS` gesteuert wird. {/* min-version: 2.1.111 */}Ab v2.1.111 hat dies keine Auswirkung auf Opus 4.7 und später, die immer adaptives Denken verwenden |170| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Setzen Sie auf `1`, um [adaptives Denken](/de/model-config#adjust-effort-level) auf Opus 4.6 und Sonnet 4.6 zu deaktivieren und auf das feste Denk-Budget zurückzufallen, das von `MAX_THINKING_TOKENS` gesteuert wird. {/* min-version: 2.1.111 */}Ab v2.1.111 hat dies keine Auswirkung auf Fable 5 oder auf Opus 4.7 und später, die immer adaptives Denken verwenden |

171| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | {/* min-version: 2.1.98 */}Setzen Sie auf `1`, um das [Advisor-Tool](/de/advisor) zu deaktivieren. Der `/advisor`-Befehl und das `--advisor`-Flag werden nicht verfügbar und jedes konfigurierte `advisorModel` wird ignoriert. Erfordert Claude Code v2.1.98 oder später |

164| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Setzen Sie auf `1`, um [Hintergrund-Agenten und Agent-Ansicht](/de/agent-view) auszuschalten: `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor. Äquivalent zur Einstellung [`disableAgentView`](/de/settings#available-settings) |172| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Setzen Sie auf `1`, um [Hintergrund-Agenten und Agent-Ansicht](/de/agent-view) auszuschalten: `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor. Äquivalent zur Einstellung [`disableAgentView`](/de/settings#available-settings) |

165| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Setzen Sie auf `1`, um die [Vollbilddarstellung](/de/fullscreen) zu deaktivieren und den klassischen Hauptbildschirm-Renderer zu verwenden. Die Konversation bleibt in Ihrem nativen Terminal-Scrollback, sodass `Cmd+f` und tmux-Kopiermodus wie gewohnt funktionieren. Hat Vorrang vor `CLAUDE_CODE_NO_FLICKER` und der [`tui`](/de/settings#available-settings)-Einstellung. Sie können auch mit `/tui default` wechseln. Gilt nicht für Hintergrund-Sitzungen, die aus der [Agent-Ansicht](/de/agent-view) geöffnet werden, die immer Vollbilddarstellung verwenden |173| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Setzen Sie auf `1`, um die [Vollbilddarstellung](/de/fullscreen) zu deaktivieren und den klassischen Hauptbildschirm-Renderer zu verwenden. Die Konversation bleibt in Ihrem nativen Terminal-Scrollback, sodass `Cmd+f` und tmux-Kopiermodus wie gewohnt funktionieren. Hat Vorrang vor `CLAUDE_CODE_NO_FLICKER` und der [`tui`](/de/settings#available-settings)-Einstellung. Sie können auch mit `/tui default` wechseln. Gilt nicht für Hintergrund-Sitzungen, die aus der [Agent-Ansicht](/de/agent-view) geöffnet werden, die immer Vollbilddarstellung verwenden |

166| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Setzen Sie auf `1`, um die Verarbeitung von Anhängen zu deaktivieren. Dateierweiterungen mit `@`-Syntax werden als Klartext gesendet, anstatt in Dateiinhalte erweitert zu werden |174| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Setzen Sie auf `1`, um die Verarbeitung von Anhängen zu deaktivieren. Dateierweiterungen mit `@`-Syntax werden als Klartext gesendet, anstatt in Dateiinhalte erweitert zu werden |

167| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Setzen Sie auf `1`, um [automatisches Speichern](/de/memory#auto-memory) zu deaktivieren. Setzen Sie auf `0`, um automatisches Speichern zu erzwingen, auch wenn `--bare`-Modus oder [`autoMemoryEnabled: false`](/de/settings#available-settings) es ansonsten deaktivieren würde. Wenn deaktiviert, erstellt oder lädt Claude keine automatischen Speicherdateien |175| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Setzen Sie auf `1`, um [automatisches Speichern](/de/memory#auto-memory) zu deaktivieren. Setzen Sie auf `0`, um automatisches Speichern zu erzwingen, auch wenn `--bare`-Modus oder [`autoMemoryEnabled: false`](/de/settings#available-settings) es ansonsten deaktivieren würde. Wenn deaktiviert, erstellt oder lädt Claude keine automatischen Speicherdateien |

168| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Setzen Sie auf `1`, um alle Hintergrundaufgaben-Funktionalität zu deaktivieren, einschließlich des Parameters `run_in_background` auf Bash- und Subagenten-Tools, automatisches Hintergrund-Ausführen und die Strg+B-Verknüpfung |176| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Setzen Sie auf `1`, um alle Hintergrundaufgaben-Funktionalität zu deaktivieren, einschließlich des Parameters `run_in_background` auf Bash- und Subagenten-Tools, automatisches Hintergrund-Ausführen und die Strg+B-Verknüpfung |

177| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Setzen Sie auf `1`, um die [Skills](/de/skills) und Workflows zu deaktivieren, die mit Claude Code ausgeliefert werden: Gebündelte Skills und Workflows werden vollständig entfernt, während integrierte Slash-Befehle wie `/init` tippbar bleiben, aber vom Modell ausgeblendet werden. Skills von Plugins, `.claude/skills/` und `.claude/commands/` sind nicht betroffen. Äquivalent zur Einstellung [`disableBundledSkills`](/de/settings#available-settings); `0` überschreibt sie nicht |

169| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Setzen Sie auf `1`, um das Laden von CLAUDE.md-Speicherdateien in den Kontext zu verhindern, einschließlich Benutzer-, Projekt- und automatischen Speicherdateien |178| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Setzen Sie auf `1`, um das Laden von CLAUDE.md-Speicherdateien in den Kontext zu verhindern, einschließlich Benutzer-, Projekt- und automatischen Speicherdateien |

170| `CLAUDE_CODE_DISABLE_CRON` | Setzen Sie auf `1`, um [geplante Aufgaben](/de/scheduled-tasks) zu deaktivieren. Der `/loop`-Skill und Cron-Tools werden nicht verfügbar und alle bereits geplanten Aufgaben werden nicht mehr ausgelöst, einschließlich Aufgaben, die bereits während der Sitzung ausgeführt werden |179| `CLAUDE_CODE_DISABLE_CRON` | Setzen Sie auf `1`, um [geplante Aufgaben](/de/scheduled-tasks) zu deaktivieren. Der `/loop`-Skill und Cron-Tools werden nicht verfügbar und alle bereits geplanten Aufgaben werden nicht mehr ausgelöst, einschließlich Aufgaben, die bereits während der Sitzung ausgeführt werden |

171| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Setzen Sie auf `1`, um Anthropic-spezifische `anthropic-beta`-Request-Header und Beta-Tool-Schema-Felder (wie `defer_loading` und `eager_input_streaming`) aus API-Anfragen zu entfernen. Verwenden Sie dies, wenn ein Proxy-Gateway Anfragen mit Fehlern wie „Unexpected value(s) for the `anthropic-beta` header" oder „Extra inputs are not permitted" ablehnt. Standard-Felder (`name`, `description`, `input_schema`, `cache_control`) werden beibehalten. |180| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Setzen Sie auf `1`, um Anthropic-spezifische `anthropic-beta`-Request-Header und Beta-Tool-Schema-Felder (wie `defer_loading` und `eager_input_streaming`) aus API-Anfragen zu entfernen. Verwenden Sie dies, wenn ein Proxy-Gateway Anfragen mit Fehlern wie „Unexpected value(s) for the `anthropic-beta` header" oder „Extra inputs are not permitted" ablehnt. Standard-Felder (`name`, `description`, `input_schema`, `cache_control`) werden beibehalten. |


180| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Setzen Sie auf `1`, um die automatische Hinzufügung des offiziellen Plugin-Marketplace beim ersten Start zu überspringen |189| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Setzen Sie auf `1`, um die automatische Hinzufügung des offiziellen Plugin-Marketplace beim ersten Start zu überspringen |

181| `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 von Operatoren bereitgestellten Skills laden sollten |190| `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 von Operatoren bereitgestellten Skills laden sollten |

182| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Setzen Sie auf `1`, um automatische Aktualisierungen des Terminal-Titels basierend auf Konversationskontext zu deaktivieren. In Agent SDK und `claude -p`-Sitzungen überspringt dies auch die Hintergrund-Haiku-Anfrage, die den Sitzungstitel generiert |191| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Setzen Sie auf `1`, um automatische Aktualisierungen des Terminal-Titels basierend auf Konversationskontext zu deaktivieren. In Agent SDK und `claude -p`-Sitzungen überspringt dies auch die Hintergrund-Haiku-Anfrage, die den Sitzungstitel generiert |

183| `CLAUDE_CODE_DISABLE_THINKING` | Setzen Sie auf `1`, um [erweitertes Denken](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) unabhängig von Modellunterstützung oder anderen Einstellungen zu deaktivieren. Direkter als `MAX_THINKING_TOKENS=0` |192| `CLAUDE_CODE_DISABLE_THINKING` | Setzen Sie auf `1`, um den `thinking`-Parameter vollständig aus API-Anfragen wegzulassen. Dies ist eine Kompatibilitätsoption für Proxies und Gateways, die den Parameter ablehnen. Das Verhalten der Variablen ist unverändert von früheren Versionen; bei Modellen, die standardmäßig denken, bedeutet das Weglassen des Parameters, dass das Modell möglicherweise trotzdem denkt. Um [erweitertes Denken](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`, was auch auf Fable 5 unwirksam ist, da es das Denken nicht ausschalten kann. Auf [Drittanbieter-Providern](/de/third-party-integrations) lässt `0` ebenfalls den Parameter weg, sodass die beiden Variablen dort gleich verhalten |

184| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Setzen Sie auf `1`, um virtuelles Scrollen in der [Vollbilddarstellung](/de/fullscreen) zu deaktivieren und jede Nachricht im Transkript zu rendern. Verwenden Sie dies, wenn das Scrollen im Vollbildmodus leere Bereiche anzeigt, in denen Nachrichten erscheinen sollten |193| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Setzen Sie auf `1`, um virtuelles Scrollen in der [Vollbilddarstellung](/de/fullscreen) zu deaktivieren und jede Nachricht im Transkript zu rendern. Verwenden Sie dies, wenn das Scrollen im Vollbildmodus leere Bereiche anzeigt, in denen Nachrichten erscheinen sollten |

185| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Setzen Sie auf `1`, um [Workflows](/de/workflows#turn-workflows-off) zu deaktivieren. Äquivalent zur Einstellung [`disableWorkflows`](/de/settings#available-settings) |194| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Setzen Sie auf `1`, um [Workflows](/de/workflows#turn-workflows-off) zu deaktivieren. Äquivalent zur Einstellung [`disableWorkflows`](/de/settings#available-settings) |

186| `CLAUDE_CODE_EFFORT_LEVEL` | Legen Sie die Anstrengungsstufe für unterstützte Modelle fest. Werte: `low`, `medium`, `high`, `xhigh`, `max` oder `auto` für den Modellstandard. Verfügbare Stufen hängen vom Modell ab. Hat Vorrang vor `/effort` und der `effortLevel`-Einstellung. Siehe [Anstrengungsstufe anpassen](/de/model-config#adjust-effort-level) |195| `CLAUDE_CODE_EFFORT_LEVEL` | Legen Sie die Anstrengungsstufe für unterstützte Modelle fest. Werte: `low`, `medium`, `high`, `xhigh`, `max` oder `auto` für den Modellstandard. Verfügbare Stufen hängen vom Modell ab. Hat Vorrang vor `/effort` und der `effortLevel`-Einstellung. Siehe [Anstrengungsstufe anpassen](/de/model-config#adjust-effort-level) |


198| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Setzen Sie auf `1`, um [Agent-Teams](/de/agent-teams) zu aktivieren. Agent-Teams sind experimentell und standardmäßig deaktiviert |207| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Setzen Sie auf `1`, um [Agent-Teams](/de/agent-teams) zu aktivieren. Agent-Teams sind experimentell und standardmäßig deaktiviert |

199| `CLAUDE_CODE_EXTRA_BODY` | JSON-Objekt, das in die oberste Ebene jedes API-Request-Body zusammengeführt werden soll. Nützlich für die Übergabe von Provider-spezifischen Parametern, die Claude Code nicht direkt verfügbar macht |208| `CLAUDE_CODE_EXTRA_BODY` | JSON-Objekt, das in die oberste Ebene jedes API-Request-Body zusammengeführt werden soll. Nützlich für die Übergabe von Provider-spezifischen Parametern, die Claude Code nicht direkt verfügbar macht |

200| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Überschreiben Sie das Standard-Token-Limit für Dateileser. Nützlich, wenn Sie größere Dateien vollständig lesen müssen |209| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Überschreiben Sie das Standard-Token-Limit für Dateileser. Nützlich, wenn Sie größere Dateien vollständig lesen müssen |

210| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | {/* min-version: 2.1.172 */}Setzen Sie auf `1`, um Transkript-Persistenz, Prompt-Verlauf und `claude agents`-Registrierung zu erzwingen, auch wenn dieser `claude` von innen in einer anderen Claude Code-Sitzung gestartet wurde. Verwenden Sie, wenn ein vererbter `CLAUDE_CODE_CHILD_SESSION`-Wert, z. B. von einem tmux-Server, der zuerst von Claude Codes Bash-Tool gestartet wurde, dazu führt, dass eine echte Top-Level-Sitzung als verschachtelt fehlklassifiziert wird. Wird auch auf v2.1.169 und früher berücksichtigt; hat keine Auswirkung auf v2.1.170 und v2.1.171, wo die verschachtelte Sitzungserkennung, die es überschreibt, entfernt wurde |

201| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Setzen Sie auf `1`, um DEC Private Mode 2026 [synchronisierte Ausgabe](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) zu erzwingen, wenn Ihr Terminal sie unterstützt, aber nicht automatisch erkannt wird. Nützlich für Emulatoren wie Emacs `eat`, die BSU/ESU implementieren, aber nicht auf die Capability-Abfrage antworten. Hat keine Auswirkung unter tmux |211| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Setzen Sie auf `1`, um DEC Private Mode 2026 [synchronisierte Ausgabe](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) zu erzwingen, wenn Ihr Terminal sie unterstützt, aber nicht automatisch erkannt wird. Nützlich für Emulatoren wie Emacs `eat`, die BSU/ESU implementieren, aber nicht auf die Capability-Abfrage antworten. Hat keine Auswirkung unter tmux |

202| `CLAUDE_CODE_FORK_SUBAGENT` | Setzen Sie auf `1`, um [abgespaltete Subagenten](/de/sub-agents#fork-the-current-conversation) zum Modellstandard zu machen: Claude spawnt einen Fork, einen Subagenten, der den vollständigen Konversationskontext erbt, anstatt neu zu beginnen, wann immer es ansonsten den allgemeinen Subagenten verwenden würde, und alle Subagent-Spawns werden im Hintergrund ausgeführt. Der explizite [`/fork`](/de/commands)-Befehl funktioniert ohne diese Variable. Funktioniert im interaktiven Modus und über das SDK oder `claude -p` |212| `CLAUDE_CODE_FORK_SUBAGENT` | Setzen Sie auf `1`, um [abgespaltete Subagenten](/de/sub-agents#fork-the-current-conversation) zum Modellstandard zu machen, oder `0`, um sie zu deaktivieren, wobei jede Server-seitige Einführung überschrieben wird. Wenn aktiviert, spawnt Claude einen Fork, einen Subagenten, der den vollständigen Konversationskontext erbt, anstatt neu zu beginnen, wann immer es ansonsten den allgemeinen Subagenten verwenden würde, und alle Subagent-Spawns werden im Hintergrund ausgeführt. Der explizite [`/fork`](/de/commands)-Befehl funktioniert ohne diese Variable. Funktioniert im interaktiven Modus und über das SDK oder `claude -p` |

203| `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. Siehe [Windows-Setup](/de/setup#set-up-on-windows) |213| `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. Siehe [Windows-Setup](/de/setup#set-up-on-windows) |

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

205| `CLAUDE_CODE_GLOB_NO_IGNORE` | Setzen Sie auf `false`, um das [Glob-Tool](/de/tools-reference#glob-tool-behavior) `.gitignore`-Muster respektieren zu lassen. Standardmäßig gibt Glob alle übereinstimmenden Dateien zurück, einschließlich gitignorierter. Beeinflusst nicht `@`-Datei-Autovervollständigung, die ihre eigene [`respectGitignore`-Einstellung](/de/settings#available-settings) hat |215| `CLAUDE_CODE_GLOB_NO_IGNORE` | Setzen Sie auf `false`, um das [Glob-Tool](/de/tools-reference#glob-tool-behavior) `.gitignore`-Muster respektieren zu lassen. Standardmäßig gibt Glob alle übereinstimmenden Dateien zurück, einschließlich gitignorierter. Beeinflusst nicht `@`-Datei-Autovervollständigung, die ihre eigene [`respectGitignore`-Einstellung](/de/settings#available-settings) hat |


239| `CLAUDE_CODE_REMOTE_SESSION_ID` | Wird automatisch in [Cloud-Sitzungen](/de/claude-code-on-the-web) auf die ID der aktuellen Sitzung gesetzt. Lesen Sie dies, um einen Link zurück zur Sitzungs-Abschrift zu erstellen. Siehe [Artefakte zurück zur Sitzung verlinken](/de/claude-code-on-the-web#link-artifacts-back-to-the-session) |249| `CLAUDE_CODE_REMOTE_SESSION_ID` | Wird automatisch in [Cloud-Sitzungen](/de/claude-code-on-the-web) auf die ID der aktuellen Sitzung gesetzt. Lesen Sie dies, um einen Link zurück zur Sitzungs-Abschrift zu erstellen. Siehe [Artefakte zurück zur Sitzung verlinken](/de/claude-code-on-the-web#link-artifacts-back-to-the-session) |

240| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Setzen Sie auf `1`, um automatisch fortzufahren, wenn die vorherige Sitzung mitten in einem Turn endete. Wird im SDK-Modus verwendet, damit das Modell fortfährt, ohne dass das SDK den Prompt erneut senden muss |250| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Setzen Sie auf `1`, um automatisch fortzufahren, wenn die vorherige Sitzung mitten in einem Turn endete. Wird im SDK-Modus verwendet, damit das Modell fortfährt, ohne dass das SDK den Prompt erneut senden muss |

241| `CLAUDE_CODE_RESUME_PROMPT` | Überschreiben Sie die Fortsetzungsmeldung, die eingefügt wird, wenn eine Sitzung fortgesetzt wird, die mitten in einem Turn endete. Standardmäßig `Continue from where you left off.`. Spawn-Skripte für lang laufende Agenten können dies auf eine direktere Boot-Nachricht setzen. Eine leere Zeichenkette verwendet den Standard |251| `CLAUDE_CODE_RESUME_PROMPT` | Überschreiben Sie die Fortsetzungsmeldung, die eingefügt wird, wenn eine Sitzung fortgesetzt wird, die mitten in einem Turn endete. Standardmäßig `Continue from where you left off.`. Spawn-Skripte für lang laufende Agenten können dies auf eine direktere Boot-Nachricht setzen. Eine leere Zeichenkette verwendet den Standard |

252| `CLAUDE_CODE_SAFE_MODE` | Setzen Sie auf `1`, um im sicheren Modus zu starten: CLAUDE.md, Skills, Plugins, Hooks, MCP-Server, benutzerdefinierte Befehle und Agenten, Ausgabestile, Workflows, benutzerdefinierte Designs, benutzerdefinierte Tastenbindungen, Statuszeilen- und Datei-Vorschlag-Befehle, LSP-Server und automatisches Speichern werden nicht geladen, um eine fehlerhafte Konfiguration zu beheben. Verwaltete Einstellungsrichtlinie gilt weiterhin, einschließlich richtlinien-konfigurierter Hooks, Statuszeilen und Datei-Vorschlag-Befehle; verwaltete Plugins, verwaltete Skills, verwaltete CLAUDE.md und richtlinien-konfigurierte MCP-Server nicht. Äquivalent zum Übergeben von [`--safe-mode`](/de/cli-reference#cli-flags). Direkt gespawnte untergeordnete Prozesse erben die Variable |

242| `CLAUDE_CODE_SCRIPT_CAPS` | JSON-Objekt, das begrenzt, wie oft bestimmte Skripte pro Sitzung aufgerufen werden können, wenn `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` gesetzt ist. Schlüssel sind Substrings, die gegen den Befehlstext abgeglichen werden; Werte sind ganzzahlige Aufruflimits. Zum Beispiel `{"deploy.sh": 2}` erlaubt `deploy.sh`, höchstens zweimal aufgerufen zu werden. Der Abgleich ist substring-basiert, daher zählen Shell-Erweiterungstricks wie `./scripts/deploy.sh $(evil)` weiterhin gegen das Limit. Runtime-Fan-out über `xargs` oder `find -exec` wird nicht erkannt; dies ist eine Defense-in-Depth-Kontrolle |253| `CLAUDE_CODE_SCRIPT_CAPS` | JSON-Objekt, das begrenzt, wie oft bestimmte Skripte pro Sitzung aufgerufen werden können, wenn `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` gesetzt ist. Schlüssel sind Substrings, die gegen den Befehlstext abgeglichen werden; Werte sind ganzzahlige Aufruflimits. Zum Beispiel `{"deploy.sh": 2}` erlaubt `deploy.sh`, höchstens zweimal aufgerufen zu werden. Der Abgleich ist substring-basiert, daher zählen Shell-Erweiterungstricks wie `./scripts/deploy.sh $(evil)` weiterhin gegen das Limit. Runtime-Fan-out über `xargs` oder `find -exec` wird nicht erkannt; dies ist eine Defense-in-Depth-Kontrolle |

243| `CLAUDE_CODE_SCROLL_SPEED` | Legen Sie den Mausrad-Scroll-Multiplikator in der [Vollbilddarstellung](/de/fullscreen#mouse-wheel-scrolling) fest. Akzeptiert Werte von 1 bis 20. Setzen Sie auf `3`, um `vim` zu entsprechen, wenn Ihr Terminal ein Mausrad-Ereignis pro Kerbe ohne Verstärkung sendet. Wird im JetBrains IDE-Terminal ignoriert, wo Claude Code sein eigenes Scroll-Handling verwendet |254| `CLAUDE_CODE_SCROLL_SPEED` | Legen Sie den Mausrad-Scroll-Multiplikator in der [Vollbilddarstellung](/de/fullscreen#mouse-wheel-scrolling) fest. Akzeptiert Werte von 1 bis 20 und Bruchteile unter 1 wie `0,5`, um beschleunigtes Trackpad- und Mausrad-Scrolling in Terminals auf dem nativen Scroll-Pfad zu verlangsamen. Setzen Sie auf `3`, um `vim` zu entsprechen, wenn Ihr Terminal ein Mausrad-Ereignis pro Kerbe ohne Verstärkung sendet. Wird im JetBrains IDE-Terminal ignoriert, wo Claude Code sein eigenes Scroll-Handling verwendet |

244| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Überschreiben Sie das Zeitbudget in Millisekunden für [SessionEnd](/de/hooks#sessionend)-Hooks. Gilt für Sitzungsbeendigung, `/clear` und Wechsel von Sitzungen über interaktives `/resume`. Standardmäßig ist das Budget 1,5 Sekunden, automatisch erhöht auf das höchste pro-Hook `timeout`, das in Einstellungsdateien konfiguriert ist, bis zu 60 Sekunden. Timeouts auf Plugin-bereitgestellten Hooks erhöhen das Budget nicht |255| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Überschreiben Sie das Zeitbudget in Millisekunden für [SessionEnd](/de/hooks#sessionend)-Hooks. Gilt für Sitzungsbeendigung, `/clear` und Wechsel von Sitzungen über interaktives `/resume`. Standardmäßig ist das Budget 1,5 Sekunden, automatisch erhöht auf das höchste pro-Hook `timeout`, das in Einstellungsdateien konfiguriert ist, bis zu 60 Sekunden. Timeouts auf Plugin-bereitgestellten Hooks erhöhen das Budget nicht |

245| `CLAUDE_CODE_SESSION_ID` | Wird automatisch in Bash- und PowerShell-Tool-Subprozessen auf die aktuelle Sitzungs-ID gesetzt. Entspricht dem Feld `session_id`, das an [Hooks](/de/hooks) übergeben wird. Wird bei `/clear` aktualisiert. Verwenden Sie, um Skripte und externe Tools mit der Claude Code-Sitzung zu korrelieren, die sie gestartet hat |256| `CLAUDE_CODE_SESSION_ID` | Wird automatisch in Bash- und PowerShell-Tool-Subprozessen, [Hook-Befehls](/de/hooks)-Subprozessen und stdio [MCP-Server](/de/mcp)-Subprozessen auf die aktuelle Sitzungs-ID gesetzt. Für Bash, PowerShell und Hooks entspricht dies dem Feld `session_id`, das in der Hook-JSON-Eingabe übergeben wird, und wird bei `/clear` aktualisiert. Ein MCP-Server-Subprozess behält die ID, mit der er gespawnt wurde. Bei `--resume <session-id>` erhält er die fortgesetzte ID, die Hooks und Bash entspricht. Bei `--continue` oder `--resume` ohne explizite ID kann er stattdessen die anfängliche Startup-ID erhalten. Verwenden Sie, um Skripte und externe Tools mit der Claude Code-Sitzung zu korrelieren, die sie gestartet hat |

246| `CLAUDE_CODE_SHELL` | Überschreiben Sie die automatische Shell-Erkennung. Nützlich, wenn sich Ihre Login-Shell von Ihrer bevorzugten Arbeitsshell unterscheidet (z. B. `bash` vs `zsh`) |257| `CLAUDE_CODE_SHELL` | Überschreiben Sie die automatische Shell-Erkennung. Nützlich, wenn sich Ihre Login-Shell von Ihrer bevorzugten Arbeitsshell unterscheidet (z. B. `bash` vs `zsh`) |

247| `CLAUDE_CODE_SHELL_PREFIX` | Befehlspräfix zum Umhüllen von Shell-Befehlen, die Claude Code spawnt: Bash-Tool-Aufrufe, [Hook](/de/hooks)-Befehle und stdio [MCP-Server](/de/mcp)-Startup-Befehle. Nützlich für Protokollierung oder Auditing. Beispiel: Das Setzen von `/path/to/logger.sh` führt jeden Befehl als `/path/to/logger.sh <command>` aus |258| `CLAUDE_CODE_SHELL_PREFIX` | Befehlspräfix zum Umhüllen von Shell-Befehlen, die Claude Code spawnt: Bash-Tool-Aufrufe, [Hook](/de/hooks)-Befehle, [Statuszeilen](/de/statusline)-Befehle und stdio [MCP-Server](/de/mcp)-Startup-Befehle. PowerShell-Hooks und Exec-Form-Hooks werden ohne das Präfix ausgeführt. Nützlich für Protokollierung oder Auditing. Das Setzen eines bloßen ausführbaren Dateipfads wie `/path/to/logger.sh` führt jeden Befehl als `/path/to/logger.sh '<command>'` aus. Der Wrapper erhält die Befehlszeile als einzelnes Shell-zitiertes Argument in `$1`, daher muss der Wrapper `$1` mit einer Shell neu auswerten, z. B. `exec bash -c "$1"`. Das Behandeln von `$1` als bloßer ausführbarer Dateipfad bricht stdio MCP-Server, die Argumente wie `npx -y <package>` übergeben. Für Bash-Tool-Aufrufe enthält `$1` die vollständige Shell-Invokation, die Claude Code zusammenstellt, einschließlich Umgebungssetup, nicht nur den Befehl, den Claude ausgeführt hat |

248| `CLAUDE_CODE_SIMPLE` | Setzen Sie auf `1`, um mit einem minimalen System-Prompt und nur den Tools Bash, Datei lesen und Datei bearbeiten auszuführen. MCP-Tools aus `--mcp-config` sind weiterhin verfügbar. Deaktiviert die automatische Erkennung von Hooks, Skills, Plugins, MCP-Servern, automatisches Speichern und CLAUDE.md. OAuth-Token und Keychain-Anmeldedaten werden nicht gelesen, daher muss die Anthropic-Authentifizierung von `ANTHROPIC_API_KEY` oder einem `apiKeyHelper` in `--settings` stammen. Äquivalent zum Übergeben von [`--bare`](/de/headless#start-faster-with-bare-mode) |259| `CLAUDE_CODE_SIMPLE` | Setzen Sie auf `1`, um mit einem minimalen System-Prompt und nur den Tools Bash, Datei lesen und Datei bearbeiten auszuführen. MCP-Tools aus `--mcp-config` sind weiterhin verfügbar. Deaktiviert die automatische Erkennung von Hooks, Skills, Plugins, MCP-Servern, automatisches Speichern und CLAUDE.md. OAuth-Token und Keychain-Anmeldedaten werden nicht gelesen, daher muss die Anthropic-Authentifizierung von `ANTHROPIC_API_KEY` oder einem `apiKeyHelper` in `--settings` stammen. Äquivalent zum Übergeben von [`--bare`](/de/headless#start-faster-with-bare-mode) |

249| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Setzen Sie auf `1`, um einen kürzeren System-Prompt und zusammengefasste Tool-Beschreibungen auf jedem Modell zu verwenden. Setzen Sie auf `0`, `false`, `no` oder `off`, um sich abzumelden, auch wenn das Experiment oder die Server-Konfiguration es ansonsten aktivieren würde. Der vollständige Tool-Satz, Hooks, MCP-Server und CLAUDE.md-Erkennung bleiben aktiviert |260| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Setzen Sie auf `1`, um einen kürzeren System-Prompt und zusammengefasste Tool-Beschreibungen auf jedem Modell zu verwenden. Setzen Sie auf `0`, `false`, `no` oder `off`, um sich abzumelden, auch wenn das Experiment oder die Server-Konfiguration es ansonsten aktivieren würde. Der vollständige Tool-Satz, Hooks, MCP-Server und CLAUDE.md-Erkennung bleiben aktiviert |

250| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Überspringen Sie die clientseitige Authentifizierung für [Claude Platform on AWS](/de/claude-platform-on-aws), für Gateways, die Anfragen selbst signieren |261| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Überspringen Sie die clientseitige Authentifizierung für [Claude Platform on AWS](/de/claude-platform-on-aws), für Gateways, die Anfragen selbst signieren |


258| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Setzen Sie auf `1`, um Anthropic- und Cloud-Provider-Anmeldedaten aus Subprocess-Umgebungen zu entfernen (Bash-Tool, Hooks, MCP-Stdio-Server). Der übergeordnete Claude-Prozess behält diese Anmeldedaten für API-Aufrufe, aber untergeordnete Prozesse können sie nicht lesen, was die Exposition gegenüber Prompt-Injection-Angriffen reduziert, die versuchen, Geheimnisse über Shell-Erweiterung zu exfiltrieren. Unter Linux führt dies auch Bash-Subprozesse in einem isolierten PID-Namespace aus, sodass sie Host-Prozessumgebungen über `/proc` nicht lesen können; als Nebeneffekt können `ps`, `pgrep` und `kill` Host-Prozesse nicht sehen oder signalisieren. `claude-code-action` setzt dies automatisch, wenn `allowed_non_write_users` konfiguriert ist |269| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Setzen Sie auf `1`, um Anthropic- und Cloud-Provider-Anmeldedaten aus Subprocess-Umgebungen zu entfernen (Bash-Tool, Hooks, MCP-Stdio-Server). Der übergeordnete Claude-Prozess behält diese Anmeldedaten für API-Aufrufe, aber untergeordnete Prozesse können sie nicht lesen, was die Exposition gegenüber Prompt-Injection-Angriffen reduziert, die versuchen, Geheimnisse über Shell-Erweiterung zu exfiltrieren. Unter Linux führt dies auch Bash-Subprozesse in einem isolierten PID-Namespace aus, sodass sie Host-Prozessumgebungen über `/proc` nicht lesen können; als Nebeneffekt können `ps`, `pgrep` und `kill` Host-Prozesse nicht sehen oder signalisieren. `claude-code-action` setzt dies automatisch, wenn `allowed_non_write_users` konfiguriert ist |

259| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Setzen Sie auf `1` im nicht-interaktiven Modus (das Flag `-p`), um auf den Abschluss der Plugin-Installation zu warten, bevor die erste Abfrage. Ohne dies werden Plugins im Hintergrund installiert und sind möglicherweise beim ersten Turn nicht verfügbar. Kombinieren Sie mit `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, um die Wartezeit zu begrenzen |270| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Setzen Sie auf `1` im nicht-interaktiven Modus (das Flag `-p`), um auf den Abschluss der Plugin-Installation zu warten, bevor die erste Abfrage. Ohne dies werden Plugins im Hintergrund installiert und sind möglicherweise beim ersten Turn nicht verfügbar. Kombinieren Sie mit `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, um die Wartezeit zu begrenzen |

260| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für synchrone Plugin-Installation. Wenn überschritten, fährt Claude Code ohne Plugins fort und protokolliert einen Fehler. Kein Standard: Ohne diese Variable wartet die synchrone Installation bis zum Abschluss |271| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für synchrone Plugin-Installation. Wenn überschritten, fährt Claude Code ohne Plugins fort und protokolliert einen Fehler. Kein Standard: Ohne diese Variable wartet die synchrone Installation bis zum Abschluss |

261| `CLAUDE_CODE_SYNC_SKILLS` | Setzen Sie auf `1`, um Ihre aktivierten claude.ai-Skills in `~/.claude/skills/` vor der ersten Abfrage herunterzuladen und alle 10 Minuten erneut zu synchronisieren. Gilt nur im nicht-interaktiven Modus mit dem Flag `-p`. Wird automatisch in [Claude Code on the web](/de/claude-code-on-the-web)-Sitzungen gesetzt. Erfordert claude.ai-Authentifizierung |272| `CLAUDE_CODE_SYNC_SKILLS` | Setzen Sie auf `1`, um Ihre aktivierten claude.ai-Skills in `~/.claude/skills/` vor der ersten Abfrage herunterzuladen und alle 10 Minuten erneut zu synchronisieren. Gilt nur im nicht-interaktiven Modus mit dem Flag `-p`. Erfordert claude.ai-Authentifizierung. [Claude Code on the web](/de/claude-code-on-the-web)-Sitzungen erhalten Ihre aktivierten claude.ai-Skills automatisch; Sie müssen dies dort nicht setzen |

273| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für eine Mid-Session-Skills-Resynchronisierung, wenn `CLAUDE_CODE_SYNC_SKILLS` gesetzt ist (Standard: 30000). Begrenzt den Download, der ausgelöst wird, wenn der Host während der Sitzung ein Skill-Reload anfordert. Wenn überschritten, stoppt die Resynchronisierung und die verbleibenden Downloads werden im Hintergrund fortgesetzt |

262| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in Millisekunden für die erste Abfrage, um auf die anfängliche Skills-Synchronisierung zu warten, wenn `CLAUDE_CODE_SYNC_SKILLS` gesetzt ist (Standard: 5000). Wenn überschritten, wird die Abfrage fortgesetzt und die verbleibenden Skill-Downloads werden im Hintergrund fortgesetzt |274| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in Millisekunden für die erste Abfrage, um auf die anfängliche Skills-Synchronisierung zu warten, wenn `CLAUDE_CODE_SYNC_SKILLS` gesetzt ist (Standard: 5000). Wenn überschritten, wird die Abfrage fortgesetzt und die verbleibenden Skill-Downloads werden im Hintergrund fortgesetzt |

263| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Setzen Sie auf `false`, um Syntax-Hervorhebung in Diff-Ausgabe zu deaktivieren. Nützlich, wenn Farben Ihr Terminal-Setup beeinträchtigen. Um auch die Hervorhebung in Code-Blöcken und Datei-Vorschauen zu deaktivieren, verwenden Sie die Einstellung [`syntaxHighlightingDisabled`](/de/settings) |275| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Setzen Sie auf `false`, um Syntax-Hervorhebung in Diff-Ausgabe zu deaktivieren. Nützlich, wenn Farben Ihr Terminal-Setup beeinträchtigen. Um auch die Hervorhebung in Code-Blöcken und Datei-Vorschauen zu deaktivieren, verwenden Sie die Einstellung [`syntaxHighlightingDisabled`](/de/settings) |

264| `CLAUDE_CODE_TASK_LIST_ID` | Teilen Sie eine Aufgabenliste über Sitzungen hinweg. Setzen Sie dieselbe ID in mehreren Claude Code-Instanzen, um an einer gemeinsamen Aufgabenliste zu koordinieren. Siehe [Aufgabenliste](/de/interactive-mode#task-list) |276| `CLAUDE_CODE_TASK_LIST_ID` | Teilen Sie eine Aufgabenliste über Sitzungen hinweg. Setzen Sie dieselbe ID in mehreren Claude Code-Instanzen, um an einer gemeinsamen Aufgabenliste zu koordinieren. Siehe [Aufgabenliste](/de/interactive-mode#task-list) |

265| `CLAUDE_CODE_TEAM_NAME` | Name des Agent-Teams, zu dem dieser Teamkollege gehört. Automatisch auf [Agent-Team](/de/agent-teams)-Mitgliedern gesetzt |277| `CLAUDE_CODE_TEAM_NAME` | Name des Agent-Teams, zu dem dieser Teamkollege gehört. Automatisch auf [Agent-Team](/de/agent-teams)-Mitgliedern gesetzt |

266| `CLAUDE_CODE_TMPDIR` | Überschreiben Sie das Temp-Verzeichnis, das für interne Temp-Dateien verwendet wird. Claude Code hängt `/claude-{uid}/` (Unix) oder `/claude/` (Windows) an diesen Pfad an. Standard: `/tmp` auf macOS, `os.tmpdir()` auf Linux/Windows. {/* min-version: 2.1.161 */}Ab v2.1.161 erhalten Bash-Subprozesse auf macOS und Linux einen kurzen Fallback-`$TMPDIR` unter dem Systemstandard, wenn Ihr Override ein langer Pfad ist, da einige Tools fehlschlagen, wenn Temp-Pfade zu lang werden. Claude Codes eigene Temp-Dateien verwenden immer Ihren Override |278| `CLAUDE_CODE_TMPDIR` | Überschreiben Sie das Temp-Verzeichnis, das für interne Temp-Dateien verwendet wird. Claude Code hängt `/claude-{uid}/` (Unix) oder `/claude/` (Windows) an diesen Pfad an. Standard: `/tmp` auf macOS, `os.tmpdir()` auf Linux und Windows. {/* min-version: 2.1.161 */}Ab v2.1.161 erhalten [Sandboxed](/de/sandboxing) Bash-Subprozesse auf macOS und Linux einen kurzen Fallback-`$TMPDIR` unter dem Systemstandard, wenn Ihr Override ein langer Pfad ist, da einige Tools fehlschlagen, wenn Temp-Pfade zu lang werden. Nicht-Sandboxed Bash-Befehle erben Ihren Shell-`$TMPDIR` unverändert. Claude Codes eigene Temp-Dateien verwenden immer Ihren Override |

267| `CLAUDE_CODE_TMUX_TRUECOLOR` | Setzen Sie auf `1`, um 24-Bit-Truecolor-Ausgabe in tmux zu ermöglichen. Standardmäßig begrenzt Claude Code auf 256 Farben, wenn `$TMUX` gesetzt ist, da tmux Truecolor-Escape-Sequenzen nicht durchleitet, es sei denn, es ist konfiguriert. Setzen Sie dies nach dem Hinzufügen von `set -ga terminal-overrides ',*:Tc'` zu Ihrer `~/.tmux.conf`. Siehe [Terminal-Konfiguration](/de/terminal-config) für andere tmux-Einstellungen |279| `CLAUDE_CODE_TMUX_TRUECOLOR` | Setzen Sie auf `1`, um 24-Bit-Truecolor-Ausgabe in tmux zu ermöglichen. Standardmäßig begrenzt Claude Code auf 256 Farben, wenn `$TMUX` gesetzt ist, da tmux Truecolor-Escape-Sequenzen nicht durchleitet, es sei denn, es ist konfiguriert. Setzen Sie dies nach dem Hinzufügen von `set -ga terminal-overrides ',*:Tc'` zu Ihrer `~/.tmux.conf`. Siehe [Terminal-Konfiguration](/de/terminal-config) für andere tmux-Einstellungen |

268| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Verwenden Sie [Claude Platform on AWS](/de/claude-platform-on-aws) |280| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Verwenden Sie [Claude Platform on AWS](/de/claude-platform-on-aws) |

269| `CLAUDE_CODE_USE_BEDROCK` | Verwenden Sie [Bedrock](/de/amazon-bedrock) |281| `CLAUDE_CODE_USE_BEDROCK` | Verwenden Sie [Bedrock](/de/amazon-bedrock) |


274| `CLAUDE_CODE_USE_VERTEX` | Verwenden Sie [Vertex](/de/google-vertex-ai) |286| `CLAUDE_CODE_USE_VERTEX` | Verwenden Sie [Vertex](/de/google-vertex-ai) |

275| `CLAUDE_CONFIG_DIR` | Überschreiben Sie das Konfigurationsverzeichnis (Standard: `~/.claude`). Alle Einstellungen, Anmeldedaten, Sitzungsverlauf und Plugins werden unter diesem Pfad gespeichert. Nützlich zum Ausführen mehrerer Konten nebeneinander: z. B. `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |287| `CLAUDE_CONFIG_DIR` | Überschreiben Sie das Konfigurationsverzeichnis (Standard: `~/.claude`). Alle Einstellungen, Anmeldedaten, Sitzungsverlauf und Plugins werden unter diesem Pfad gespeichert. Nützlich zum Ausführen mehrerer Konten nebeneinander: z. B. `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |

276| `CLAUDE_EFFORT` | Wird automatisch in Bash-Tool-Subprozessen und Hook-Befehlen auf die aktive [Anstrengungsstufe](/de/model-config#adjust-effort-level) für den Turn gesetzt: `low`, `medium`, `high`, `xhigh` oder `max`. Ultracode ist keine separate Stufe und wird als `xhigh` gemeldet. Entspricht dem Feld `effort.level`, das an [Hooks](/de/hooks) übergeben wird. Wird nur gesetzt, wenn das aktuelle Modell den Effort-Parameter unterstützt |288| `CLAUDE_EFFORT` | Wird automatisch in Bash-Tool-Subprozessen und Hook-Befehlen auf die aktive [Anstrengungsstufe](/de/model-config#adjust-effort-level) für den Turn gesetzt: `low`, `medium`, `high`, `xhigh` oder `max`. Ultracode ist keine separate Stufe und wird als `xhigh` gemeldet. Entspricht dem Feld `effort.level`, das an [Hooks](/de/hooks) übergeben wird. Wird nur gesetzt, wenn das aktuelle Modell den Effort-Parameter unterstützt |

277| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Setzen Sie auf `1`, um den Byte-Level-Streaming-Idle-Watchdog zu erzwingen, oder auf `0`, um ihn zu deaktivieren. Wenn nicht gesetzt, ist der Watchdog standardmäßig für Anthropic API-Verbindungen aktiviert. Der Byte-Watchdog bricht eine Verbindung ab, wenn für die Dauer, die von `CLAUDE_STREAM_IDLE_TIMEOUT_MS` gesetzt ist, keine Bytes auf dem Draht ankommen, mit einem Minimum von 5 Minuten, unabhängig vom Event-Level-Watchdog |289| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Setzen Sie auf `1`, um den Byte-Level-Streaming-Idle-Watchdog zu erzwingen, oder auf `0`, um ihn zu deaktivieren. Wenn nicht gesetzt, ist der Watchdog standardmäßig für direkte Anthropic API- und [Claude Platform on AWS](/de/claude-platform-on-aws)-Verbindungen aktiviert. Der Byte-Watchdog bricht eine Verbindung ab, wenn für 180 Sekunden standardmäßig bei direkten Anthropic API-Verbindungen, 300 Sekunden bei Claude Platform on AWS und bei Aktivierung auf Bedrock oder für den Wert von `CLAUDE_STREAM_IDLE_TIMEOUT_MS` keine Bytes auf dem Draht ankommen, wenn dieser gesetzt ist, was auf ein Minimum von 5 Minuten begrenzt ist, unabhängig vom Event-Level-Watchdog |

278| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Setzen Sie auf `1`, um den Byte-Level-Streaming-Idle-Watchdog auf Amazon Bedrock `vnd.amazon.eventstream`-Antworten zu aktivieren. Standardmäßig aus. Konfigurieren Sie das Timeout mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |290| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Setzen Sie auf `1`, um den Byte-Level-Streaming-Idle-Watchdog auf Amazon Bedrock `vnd.amazon.eventstream`-Antworten zu aktivieren. Standardmäßig aus. Konfigurieren Sie das Timeout mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

279| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Setzen Sie auf `1`, um den Event-Level-Streaming-Idle-Watchdog zu aktivieren. Standardmäßig aus. Gilt für alle Provider, einschließlich Bedrock. Für Vertex und Foundry ist dies der einzige verfügbare Idle-Watchdog. Auf Bedrock können Sie auch den unabhängigen Byte-Level-Watchdog mit `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` aktivieren; die beiden laufen zusammen, wenn beide gesetzt sind. Konfigurieren Sie das Timeout mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |291| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Setzen Sie auf `1`, um den Event-Level-Streaming-Idle-Watchdog zu erzwingen, oder auf `0`, um ihn zu deaktivieren. Wenn nicht gesetzt, ist der Standard Server-gesteuert auf der direkten Anthropic API und aus auf anderen Providern. {/* min-version: 2.1.169 */}Ab v2.1.169 haben Provider außer der direkten Anthropic API und Claude Platform on AWS auch ein Standard-On 5-Minuten-Body-Idle-Timeout unabhängig von dieser Variablen; siehe `API_FORCE_IDLE_TIMEOUT`. Auf Bedrock können Sie auch den unabhängigen Byte-Level-Watchdog mit `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` aktivieren; die beiden laufen zusammen, wenn beide gesetzt sind. Konfigurieren Sie das Timeout mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

280| `CLAUDE_ENV_FILE` | Pfad zu einem Shell-Skript, dessen Inhalte Claude Code vor jedem Bash-Befehl im gleichen Shell-Prozess ausführt, sodass Exporte in der Datei für den Befehl sichtbar sind. Verwenden Sie, um virtualenv- oder Conda-Aktivierung über Befehle hinweg beizubehalten. Wird auch dynamisch von [SessionStart](/de/hooks#persist-environment-variables), [Setup](/de/hooks#setup), [CwdChanged](/de/hooks#cwdchanged) und [FileChanged](/de/hooks#filechanged)-Hooks gefüllt |292| `CLAUDE_ENV_FILE` | Pfad zu einem Shell-Skript, dessen Inhalte Claude Code vor jedem Bash-Befehl im gleichen Shell-Prozess ausführt, sodass Exporte in der Datei für den Befehl sichtbar sind. Verwenden Sie, um virtualenv- oder Conda-Aktivierung über Befehle hinweg beizubehalten. Wird auch dynamisch von [SessionStart](/de/hooks#persist-environment-variables), [Setup](/de/hooks#setup), [CwdChanged](/de/hooks#cwdchanged) und [FileChanged](/de/hooks#filechanged)-Hooks gefüllt |

281| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Präfix für automatisch generierte [Remote Control](/de/remote-control)-Sitzungsnamen, wenn kein expliziter Name angegeben ist. Standardmäßig der Hostname Ihres Computers, was Namen wie `myhost-graceful-unicorn` erzeugt. Das CLI-Flag `--remote-control-session-name-prefix` setzt denselben Wert für einen einzelnen Aufruf |293| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Präfix für automatisch generierte [Remote Control](/de/remote-control)-Sitzungsnamen, wenn kein expliziter Name angegeben ist. Standardmäßig der Hostname Ihres Computers, was Namen wie `myhost-graceful-unicorn` erzeugt. Das CLI-Flag `--remote-control-session-name-prefix` setzt denselben Wert für einen einzelnen Aufruf |

282| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in Millisekunden, bevor der Streaming-Idle-Watchdog eine stillgelegte Verbindung schließt. Standard und Minimum `300000` (5 Minuten) für sowohl den Byte-Level- als auch den Event-Level-Watchdog; niedrigere Werte werden stillschweigend auf die Obergrenze begrenzt, um erweiterte Denk-Pausen und Proxy-Pufferung zu absorbieren. Für Drittanbieter erfordert `CLAUDE_ENABLE_STREAM_WATCHDOG=1`. Auf Bedrock gilt auch, wenn `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |294| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in Millisekunden, bevor der Streaming-Idle-Watchdog eine stillgelegte Verbindung schließt. Wenn Sie diese Variable explizit setzen, ist das Minimum `300000` (5 Minuten); niedrigere Werte werden stillschweigend auf die Obergrenze begrenzt, um erweiterte Denk-Pausen und Proxy-Pufferung zu absorbieren. Wenn nicht gesetzt, beträgt der Event-Level-Watchdog-Standard 300 Sekunden und der Byte-Level-Watchdog-Standard 180 Sekunden bei direkten Anthropic API-Verbindungen (300 Sekunden bei Claude Platform on AWS und anderen Providern). Das nicht gesetzte 180-Sekunden-Byte-Watchdog-Standard ist ein separater Wert und unterliegt nicht der 5-Minuten-Obergrenze. Für den Event-Level-Watchdog auf Drittanbieter-Providern erfordert `CLAUDE_ENABLE_STREAM_WATCHDOG=1`; das Body-Idle-Timeout, das unter `API_FORCE_IDLE_TIMEOUT` beschrieben wird, gilt unabhängig. Auf Bedrock gilt auch, wenn `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |

283| `DEBUG` | Setzen Sie auf `1`, um Debug-Modus zu aktivieren, äquivalent zum Starten mit [`--debug`](/de/cli-reference#cli-flags). Debug-Protokolle werden in `~/.claude/debug/<session-id>.txt` geschrieben, oder in den Pfad, der von `CLAUDE_CODE_DEBUG_LOGS_DIR` gesetzt ist. Nur die wahren Werte `1`, `true`, `yes` und `on` aktivieren Debug-Modus, daher triggern Namespace-Muster wie `DEBUG=express:*`, die für andere Tools gesetzt sind, es nicht |295| `DEBUG` | Setzen Sie auf `1`, um Debug-Modus zu aktivieren, äquivalent zum Starten mit [`--debug`](/de/cli-reference#cli-flags). Debug-Protokolle werden in `~/.claude/debug/<session-id>.txt` geschrieben, oder in den Pfad, der von `CLAUDE_CODE_DEBUG_LOGS_DIR` gesetzt ist. Nur die wahren Werte `1`, `true`, `yes` und `on` aktivieren Debug-Modus, daher triggern Namespace-Muster wie `DEBUG=express:*`, die für andere Tools gesetzt sind, es nicht |

284| `DISABLE_AUTOUPDATER` | Setzen Sie auf `1`, um automatische Hintergrund-Updates zu deaktivieren. Manuelles `claude update` funktioniert weiterhin. Verwenden Sie `DISABLE_UPDATES`, um beide zu blockieren |296| `DISABLE_AUTOUPDATER` | Setzen Sie auf `1`, um automatische Hintergrund-Updates zu deaktivieren. Manuelles `claude update` funktioniert weiterhin. Verwenden Sie `DISABLE_UPDATES`, um beide zu blockieren |

285| `DISABLE_AUTO_COMPACT` | Setzen Sie auf `1`, um die automatische Komprimierung bei Annäherung an das Kontextlimit zu deaktivieren. Der manuelle `/compact`-Befehl bleibt verfügbar. Verwenden Sie, wenn Sie explizite Kontrolle darüber wünschen, wann Komprimierung auftritt |297| `DISABLE_AUTO_COMPACT` | Setzen Sie auf `1`, um die automatische Komprimierung bei Annäherung an das Kontextlimit zu deaktivieren. Der manuelle `/compact`-Befehl bleibt verfügbar. Verwenden Sie, wenn Sie explizite Kontrolle darüber wünschen, wann Komprimierung auftritt |


295| `DISABLE_INTERLEAVED_THINKING` | Setzen Sie auf `1`, um das Senden des interleaved-thinking Beta-Headers zu verhindern. Nützlich, wenn Ihr LLM-Gateway oder Provider [interleaved thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) nicht unterstützt |307| `DISABLE_INTERLEAVED_THINKING` | Setzen Sie auf `1`, um das Senden des interleaved-thinking Beta-Headers zu verhindern. Nützlich, wenn Ihr LLM-Gateway oder Provider [interleaved thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) nicht unterstützt |

296| `DISABLE_LOGIN_COMMAND` | Setzen Sie auf `1`, um den `/login`-Befehl auszublenden. Nützlich, wenn die Authentifizierung extern über API-Schlüssel oder `apiKeyHelper` erfolgt |308| `DISABLE_LOGIN_COMMAND` | Setzen Sie auf `1`, um den `/login`-Befehl auszublenden. Nützlich, wenn die Authentifizierung extern über API-Schlüssel oder `apiKeyHelper` erfolgt |

297| `DISABLE_LOGOUT_COMMAND` | Setzen Sie auf `1`, um den `/logout`-Befehl auszublenden |309| `DISABLE_LOGOUT_COMMAND` | Setzen Sie auf `1`, um den `/logout`-Befehl auszublenden |

298| `DISABLE_PROMPT_CACHING` | Setzen Sie auf `1`, um Prompt-Caching für alle Modelle zu deaktivieren (hat Vorrang vor modellspezifischen Einstellungen) |310| `DISABLE_PROMPT_CACHING` | Setzen Sie auf `1`, um [Prompt-Caching](/de/prompt-caching#disable-prompt-caching) für alle Modelle zu deaktivieren (hat Vorrang vor modellspezifischen Einstellungen) |

311| `DISABLE_PROMPT_CACHING_FABLE` | Setzen Sie auf `1`, um Prompt-Caching für Fable-Modelle zu deaktivieren |

299| `DISABLE_PROMPT_CACHING_HAIKU` | Setzen Sie auf `1`, um Prompt-Caching für Haiku-Modelle zu deaktivieren |312| `DISABLE_PROMPT_CACHING_HAIKU` | Setzen Sie auf `1`, um Prompt-Caching für Haiku-Modelle zu deaktivieren |

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

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


304| `DISABLE_UPGRADE_COMMAND` | Setzen Sie auf `1`, um den `/upgrade`-Befehl auszublenden |317| `DISABLE_UPGRADE_COMMAND` | Setzen Sie auf `1`, um den `/upgrade`-Befehl auszublenden |

305| `DO_NOT_TRACK` | Setzen Sie auf `1`, um sich von Telemetrie abzumelden. Äquivalent zum Setzen von `DISABLE_TELEMETRY`. Claude Code ehrt dies als die Cross-Tool-Konvention, die von vielen Entwickler-CLIs anerkannt wird |318| `DO_NOT_TRACK` | Setzen Sie auf `1`, um sich von Telemetrie abzumelden. Äquivalent zum Setzen von `DISABLE_TELEMETRY`. Claude Code ehrt dies als die Cross-Tool-Konvention, die von vielen Entwickler-CLIs anerkannt wird |

306| `ENABLE_CLAUDEAI_MCP_SERVERS` | Setzen Sie auf `false`, um [claude.ai MCP-Server](/de/mcp#use-mcp-servers-from-claude-ai) in Claude Code zu deaktivieren. Standardmäßig für angemeldete Benutzer aktiviert |319| `ENABLE_CLAUDEAI_MCP_SERVERS` | Setzen Sie auf `false`, um [claude.ai MCP-Server](/de/mcp#use-mcp-servers-from-claude-ai) in Claude Code zu deaktivieren. Standardmäßig für angemeldete Benutzer aktiviert |

307| `ENABLE_PROMPT_CACHING_1H` | Setzen Sie auf `1`, um eine 1-Stunden-Prompt-Cache-TTL anstelle der Standard-5-Minuten anzufordern. Vorgesehen für API-Schlüssel-, [Bedrock](/de/amazon-bedrock)-, [Vertex](/de/google-vertex-ai)-, [Foundry](/de/microsoft-foundry)- und [Claude Platform on AWS](/de/claude-platform-on-aws)-Benutzer. Abonnement-Benutzer erhalten automatisch 1-Stunden-TTL. 1-Stunden-Cache-Schreibvorgänge werden mit einer höheren Rate abgerechnet |320| `ENABLE_PROMPT_CACHING_1H` | Setzen Sie auf `1`, um eine 1-Stunden-[Prompt-Cache-TTL](/de/prompt-caching#cache-lifetime) anstelle der Standard-5-Minuten anzufordern. Vorgesehen für API-Schlüssel-, [Bedrock](/de/amazon-bedrock)-, [Vertex](/de/google-vertex-ai)-, [Foundry](/de/microsoft-foundry)- und [Claude Platform on AWS](/de/claude-platform-on-aws)-Benutzer. Abonnement-Benutzer erhalten automatisch 1-Stunden-TTL. 1-Stunden-Cache-Schreibvorgänge werden mit einer höheren Rate abgerechnet |

308| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Veraltet. Verwenden Sie stattdessen `ENABLE_PROMPT_CACHING_1H` |321| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Veraltet. Verwenden Sie stattdessen `ENABLE_PROMPT_CACHING_1H` |

309| `ENABLE_TOOL_SEARCH` | Steuert [MCP-Tool-Suche](/de/mcp#scale-with-mcp-tool-search). Nicht gesetzt: alle MCP-Tools standardmäßig aufgeschoben, aber upfront geladen auf Vertex AI oder wenn `ANTHROPIC_BASE_URL` auf einen Nicht-First-Party-Host verweist. Werte: `true` (immer aufgeschoben und Beta-Header senden, Anfragen schlagen auf Vertex AI-Modellen älter als Sonnet 4.5 oder Opus 4.5 fehl, oder auf Proxies, die `tool_reference` nicht unterstützen), `auto` (Schwellenwertmodus: upfront laden, wenn Tools in 10 % des Kontexts passen), `auto:N` (benutzerdefinierter Schwellenwert, z. B. `auto:5` für 5 %), `false` (alle upfront laden) |322| `ENABLE_TOOL_SEARCH` | Steuert [MCP-Tool-Suche](/de/mcp#scale-with-mcp-tool-search). Nicht gesetzt: alle MCP-Tools standardmäßig aufgeschoben, aber upfront geladen auf Vertex AI oder wenn `ANTHROPIC_BASE_URL` auf einen Nicht-First-Party-Host verweist. Werte: `true` (immer aufgeschoben und Beta-Header senden, Anfragen schlagen auf Vertex AI-Modellen älter als Sonnet 4.5 oder Opus 4.5 fehl, oder auf Proxies, die `tool_reference` nicht unterstützen), `auto` (Schwellenwertmodus: upfront laden, wenn Tools in 10 % des Kontexts passen), `auto:N` (benutzerdefinierter Schwellenwert, z. B. `auto:5` für 5 %), `false` (alle upfront laden) |

310| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Setzen Sie auf einen beliebigen Nicht-Leer-Wert, um das Fallback zu [`--fallback-model`](/de/cli-reference#cli-flags) nach wiederholten Überladungsfehlern auf einem beliebigen primären Modell auszulösen. Standardmäßig lösen nur Opus-Modelle das Fallback aus |323| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Setzen Sie auf einen beliebigen Nicht-Leer-Wert, um alle Modelle, nicht nur Opus, zu veranlassen, bei wiederholten Überladungsfehlern nicht mehr zu versuchen, wenn kein Fallback-Modell konfiguriert ist. {/* min-version: 2.1.160 */}Ab v2.1.160 löst eine konfigurierte [Fallback-Modellkette](/de/model-config#fallback-model-chains) bei wiederholten Überladungsfehlern für jedes primäre Modell aus, sodass diese Variable das Wechseln zu einem Fallback-Modell nicht beeinflusst |

311| `FORCE_AUTOUPDATE_PLUGINS` | Setzen Sie auf `1`, um Plugin-Auto-Updates zu erzwingen, auch wenn der Haupt-Auto-Updater über `DISABLE_AUTOUPDATER` deaktiviert ist |324| `FORCE_AUTOUPDATE_PLUGINS` | Setzen Sie auf `1`, um Plugin-Auto-Updates zu erzwingen, auch wenn der Haupt-Auto-Updater über `DISABLE_AUTOUPDATER` deaktiviert ist |

312| `FORCE_PROMPT_CACHING_5M` | Setzen Sie auf `1`, um die 5-Minuten-Prompt-Cache-TTL zu erzwingen, auch wenn 1-Stunden-TTL ansonsten gelten würde. Überschreibt `ENABLE_PROMPT_CACHING_1H` |325| `FORCE_PROMPT_CACHING_5M` | Setzen Sie auf `1`, um die 5-Minuten-Prompt-Cache-TTL zu erzwingen, auch wenn 1-Stunden-TTL ansonsten gelten würde. Überschreibt `ENABLE_PROMPT_CACHING_1H` |

313| `HTTP_PROXY` | Geben Sie HTTP-Proxy-Server für Netzwerkverbindungen an |326| `HTTP_PROXY` | Geben Sie HTTP-Proxy-Server für Netzwerkverbindungen an |


315| `IS_DEMO` | Setzen Sie auf `1`, um Demo-Modus zu aktivieren: verbirgt Ihre E-Mail und Organisationsnamen aus der Kopfzeile und `/status`-Ausgabe und überspringt Onboarding. Nützlich zum Streamen oder Aufzeichnen einer Sitzung |328| `IS_DEMO` | Setzen Sie auf `1`, um Demo-Modus zu aktivieren: verbirgt Ihre E-Mail und Organisationsnamen aus der Kopfzeile und `/status`-Ausgabe und überspringt Onboarding. Nützlich zum Streamen oder Aufzeichnen einer Sitzung |

316| `MAX_MCP_OUTPUT_TOKENS` | Maximale Anzahl von Token, die in MCP-Tool-Antworten zulässig sind. Claude Code zeigt eine Warnung an, wenn die Ausgabe 10.000 Token überschreitet. Tools, die [`anthropic/maxResultSizeChars`](/de/mcp#raise-the-limit-for-a-specific-tool) deklarieren, verwenden dieses Zeichenlimit für Textinhalte stattdessen, aber Bildinhalte von diesen Tools unterliegen weiterhin dieser Variablen (Standard: 25000) |329| `MAX_MCP_OUTPUT_TOKENS` | Maximale Anzahl von Token, die in MCP-Tool-Antworten zulässig sind. Claude Code zeigt eine Warnung an, wenn die Ausgabe 10.000 Token überschreitet. Tools, die [`anthropic/maxResultSizeChars`](/de/mcp#raise-the-limit-for-a-specific-tool) deklarieren, verwenden dieses Zeichenlimit für Textinhalte stattdessen, aber Bildinhalte von diesen Tools unterliegen weiterhin dieser Variablen (Standard: 25000) |

317| `MAX_STRUCTURED_OUTPUT_RETRIES` | Anzahl der Wiederholungen, wenn die Antwort des Modells die Validierung gegen das [`--json-schema`](/de/cli-reference#cli-flags) im nicht-interaktiven Modus (das Flag `-p`) fehlschlägt. Standardmäßig 5 |330| `MAX_STRUCTURED_OUTPUT_RETRIES` | Anzahl der Wiederholungen, wenn die Antwort des Modells die Validierung gegen das [`--json-schema`](/de/cli-reference#cli-flags) im nicht-interaktiven Modus (das Flag `-p`) fehlschlägt. Standardmäßig 5 |

318| `MAX_THINKING_TOKENS` | Überschreiben Sie das [erweitertes Denken](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)-Token-Budget. Die Obergrenze ist die [maximale Ausgabe-Token](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) des Modells minus eins. Setzen Sie auf `0`, um Denken vollständig zu deaktivieren. Bei Modellen mit [adaptivem Denken](/de/model-config#adjust-effort-level) wird das Budget ignoriert, es sei denn, adaptives Denken ist über `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` deaktiviert |331| `MAX_THINKING_TOKENS` | Überschreiben Sie das [erweitertes Denken](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)-Token-Budget. Die Obergrenze ist die [maximale Ausgabe-Token](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) des Modells minus eins. Setzen Sie auf `0`, um Denken auf der Anthropic API zu deaktivieren, außer auf Fable 5, das Denken nicht ausschalten kann. Auf [Drittanbieter-Providern](/de/third-party-integrations) lässt `0` ebenfalls den Parameter weg, und Modelle mit [adaptivem Denken](/de/model-config#adjust-effort-level) können trotzdem denken. Für Nicht-Null-Werte auf Modellen mit adaptivem Denken wird das Budget ignoriert, es sei denn, adaptives Denken ist über `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` deaktiviert |

319| `MCP_CLIENT_SECRET` | OAuth-Client-Secret für MCP-Server, die [vorkonfigurierte Anmeldedaten](/de/mcp#use-pre-configured-oauth-credentials) erfordern. Vermeidet die interaktive Eingabeaufforderung beim Hinzufügen eines Servers mit `--client-secret` |332| `MCP_CLIENT_SECRET` | OAuth-Client-Secret für MCP-Server, die [vorkonfigurierte Anmeldedaten](/de/mcp#use-pre-configured-oauth-credentials) erfordern. Vermeidet die interaktive Eingabeaufforderung beim Hinzufügen eines Servers mit `--client-secret` |

320| `MCP_CONNECTION_NONBLOCKING` | Steuert, ob der Start auf MCP-Server-Verbindungen wartet, bevor die erste Abfrage. {/* min-version: 2.1.142 */}Ab Claude Code v2.1.142 ist MCP-Start standardmäßig nicht-blockierend: Server verbinden sich im Hintergrund und ihre Tools werden verfügbar, wenn sie fertig sind. Setzen Sie auf `0`, um das blockierende 5-Sekunden-Verbindungswarten wiederherzustellen. Server, die mit [`alwaysLoad: true`](/de/mcp#exempt-a-server-from-deferral) konfiguriert sind, blockieren den Start immer, unabhängig davon, da ihre Tools vorhanden sein müssen, wenn der erste Prompt erstellt wird |333| `MCP_CONNECTION_NONBLOCKING` | Steuert, ob der Start auf MCP-Server-Verbindungen wartet, bevor die erste Abfrage. {/* min-version: 2.1.142 */}Ab Claude Code v2.1.142 ist MCP-Start standardmäßig nicht-blockierend: Server verbinden sich im Hintergrund und ihre Tools werden verfügbar, wenn sie fertig sind. Setzen Sie auf `0`, um das blockierende 5-Sekunden-Verbindungswarten wiederherzustellen. Server, die mit [`alwaysLoad: true`](/de/mcp#exempt-a-server-from-deferral) konfiguriert sind, blockieren den Start immer, unabhängig davon, da ihre Tools vorhanden sein müssen, wenn der erste Prompt erstellt wird |

321| `MCP_CONNECT_TIMEOUT_MS` | Wie lange das blockierende MCP-Start wartet, in Millisekunden, auf den Verbindungs-Batch, bevor die Tool-Liste fotografiert wird (Standard: 5000). Gilt, wenn `MCP_CONNECTION_NONBLOCKING=0` oder für Server, die mit [`alwaysLoad: true`](/de/mcp#exempt-a-server-from-deferral) markiert sind. Server, die noch ausstehend sind, verbinden sich weiterhin im Hintergrund, erscheinen aber erst bei der nächsten Abfrage. Unterscheidet sich von `MCP_TIMEOUT`, das einen einzelnen Server-Verbindungsversuch begrenzt |334| `MCP_CONNECT_TIMEOUT_MS` | Wie lange das blockierende MCP-Start wartet, in Millisekunden, auf den Verbindungs-Batch, bevor die Tool-Liste fotografiert wird (Standard: 5000). Gilt, wenn `MCP_CONNECTION_NONBLOCKING=0` oder für Server, die mit [`alwaysLoad: true`](/de/mcp#exempt-a-server-from-deferral) markiert sind. Server, die noch ausstehend sind, verbinden sich weiterhin im Hintergrund, erscheinen aber erst bei der nächsten Abfrage. Unterscheidet sich von `MCP_TIMEOUT`, das einen einzelnen Server-Verbindungsversuch begrenzt |


323| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von Remote-MCP-Servern (HTTP/SSE), die während des Starts parallel verbunden werden (Standard: 20) |336| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von Remote-MCP-Servern (HTTP/SSE), die während des Starts parallel verbunden werden (Standard: 20) |

324| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von lokalen MCP-Servern (stdio), die während des Starts parallel verbunden werden (Standard: 3) |337| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von lokalen MCP-Servern (stdio), die während des Starts parallel verbunden werden (Standard: 3) |

325| `MCP_TIMEOUT` | Timeout in Millisekunden für MCP-Server-Start (Standard: 30000 oder 30 Sekunden) |338| `MCP_TIMEOUT` | Timeout in Millisekunden für MCP-Server-Start (Standard: 30000 oder 30 Sekunden) |

326| `MCP_TOOL_TIMEOUT` | Timeout in Millisekunden für MCP-Tool-Ausführung (Standard: 100000000, etwa 28 Stunden). Ein pro-Server `timeout`-Feld in `.mcp.json` überschreibt dies für diesen Server. Werte unter 1000 werden auf eine Sekunde begrenzt |339| `MCP_TOOL_TIMEOUT` | Timeout in Millisekunden für MCP-Tool-Ausführung (Standard: 100000000, etwa 28 Stunden). Ein pro-Server `timeout`-Feld in `.mcp.json` überschreibt dies für diesen Server. Für die Env-Variable werden Werte unter 1000 auf eine Sekunde begrenzt; für das pro-Server-Feld werden Werte unter 1000 ignoriert |

327| `NO_PROXY` | Liste von Domains und IPs, an die Anfragen direkt gestellt werden, wobei der Proxy umgangen wird |340| `NO_PROXY` | Liste von Domains und IPs, an die Anfragen direkt gestellt werden, wobei der Proxy umgangen wird |

328| `OTEL_LOG_RAW_API_BODIES` | Geben Sie Anthropic Messages API-Anfrage- und Antwort-JSON als `api_request_body` / `api_response_body`-Protokollereignisse aus. Setzen Sie auf `1` für Inline-Texte, die auf 60 KB gekürzt sind, oder `file:<dir>`, um ungekürzte Texte auf die Festplatte zu schreiben und stattdessen einen `body_ref`-Pfad auszugeben. Standardmäßig deaktiviert; Texte enthalten die gesamte Konversationshistorie. Siehe [Überwachung](/de/monitoring-usage#api-request-body-event) |341| `OTEL_LOG_RAW_API_BODIES` | Geben Sie Anthropic Messages API-Anfrage- und Antwort-JSON als `api_request_body` / `api_response_body`-Protokollereignisse aus. Setzen Sie auf `1` für Inline-Texte, die auf 60 KB gekürzt sind, oder `file:<dir>`, um ungekürzte Texte auf die Festplatte zu schreiben und stattdessen einen `body_ref`-Pfad auszugeben. Standardmäßig deaktiviert; Texte enthalten die gesamte Konversationshistorie. Siehe [Überwachung](/de/monitoring-usage#api-request-body-event) |

329| `OTEL_LOG_TOOL_CONTENT` | Setzen Sie auf `1`, um Tool-Input- und Output-Inhalte in OpenTelemetry-Span-Ereignisse einzubeziehen. Standardmäßig deaktiviert, um sensible Daten zu schützen. Siehe [Überwachung](/de/monitoring-usage) |342| `OTEL_LOG_TOOL_CONTENT` | Setzen Sie auf `1`, um Tool-Input- und Output-Inhalte in OpenTelemetry-Span-Ereignisse einzubeziehen. Standardmäßig deaktiviert, um sensible Daten zu schützen. Siehe [Überwachung](/de/monitoring-usage) |


334| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | {/* min-version: 2.1.161 */}Ab v2.1.161 hängt Claude Code `OTEL_RESOURCE_ATTRIBUTES`-Schlüssel an Metrik-Datenpunkt-Labels an. Setzen Sie auf `false`, um sie auszuschließen (Standard: enthalten). Siehe [Überwachung](/de/monitoring-usage#multi-team-organization-support) |347| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | {/* min-version: 2.1.161 */}Ab v2.1.161 hängt Claude Code `OTEL_RESOURCE_ATTRIBUTES`-Schlüssel an Metrik-Datenpunkt-Labels an. Setzen Sie auf `false`, um sie auszuschließen (Standard: enthalten). Siehe [Überwachung](/de/monitoring-usage#multi-team-organization-support) |

335| `OTEL_METRICS_INCLUDE_SESSION_ID` | Setzen Sie auf `false`, um Sitzungs-ID aus Metrik-Attributen auszuschließen (Standard: enthalten). Siehe [Überwachung](/de/monitoring-usage) |348| `OTEL_METRICS_INCLUDE_SESSION_ID` | Setzen Sie auf `false`, um Sitzungs-ID aus Metrik-Attributen auszuschließen (Standard: enthalten). Siehe [Überwachung](/de/monitoring-usage) |

336| `OTEL_METRICS_INCLUDE_VERSION` | Setzen Sie auf `true`, um Claude Code-Version in Metrik-Attributen einzubeziehen (Standard: ausgeschlossen). Siehe [Überwachung](/de/monitoring-usage) |349| `OTEL_METRICS_INCLUDE_VERSION` | Setzen Sie auf `true`, um Claude Code-Version in Metrik-Attributen einzubeziehen (Standard: ausgeschlossen). Siehe [Überwachung](/de/monitoring-usage) |

337| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Überschreiben Sie das Zeichenbudget für Skill-Metadaten, die dem [Skill-Tool](/de/skills#control-who-invokes-a-skill) angezeigt werden. Das Budget skaliert dynamisch bei 1 % des Kontextfensters, mit einem Fallback von 8.000 Zeichen. Legacyname für Rückwärtskompatibilität beibehalten |350| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Überschreiben Sie das Zeichenbudget für Skill-Metadaten, die dem [Skill-Tool](/de/skills#control-who-invokes-a-skill) angezeigt werden. Das Budget skaliert dynamisch bei 1 % des Kontextfensters, mit einem Fallback von 8.000 Zeichen. Legacy-Name für Rückwärtskompatibilität beibehalten |

338| `TASK_MAX_OUTPUT_LENGTH` | Maximale Anzahl von Zeichen in [Subagenten](/de/sub-agents)-Ausgabe vor Kürzung (Standard: 32000, Maximum: 160000). Bei Kürzung wird die vollständige Ausgabe auf der Festplatte gespeichert und der Pfad ist in der gekürzten Antwort enthalten |351| `TASK_MAX_OUTPUT_LENGTH` | Maximale Anzahl von Zeichen in [Subagenten](/de/sub-agents)-Ausgabe vor Kürzung (Standard: 32000, Maximum: 160000). Bei Kürzung wird die vollständige Ausgabe auf der Festplatte gespeichert und der Pfad ist in der gekürzten Antwort enthalten |

339| `USE_BUILTIN_RIPGREP` | Setzen Sie auf `0`, um das systeminstallierte `rg` anstelle des in Claude Code enthaltenen `rg` zu verwenden |352| `USE_BUILTIN_RIPGREP` | Setzen Sie auf `0`, um das systeminstallierte `rg` anstelle des in Claude Code enthaltenen `rg` zu verwenden |

340| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Überschreiben Sie die Region für Claude 3.5 Haiku bei Verwendung von Vertex AI |353| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Überschreiben Sie die Region für Claude 3.5 Haiku bei Verwendung von Vertex AI |


348| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Überschreiben Sie die Region für Claude Opus 4.6 bei Verwendung von Vertex AI |361| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Überschreiben Sie die Region für Claude Opus 4.6 bei Verwendung von Vertex AI |

349| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Überschreiben Sie die Region für Claude Sonnet 4.6 bei Verwendung von Vertex AI |362| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Überschreiben Sie die Region für Claude Sonnet 4.6 bei Verwendung von Vertex AI |

350| `VERTEX_REGION_CLAUDE_4_7_OPUS` | {/* min-version: 2.1.111 */}Überschreiben Sie die Region für Claude Opus 4.7 bei Verwendung von Vertex AI. Hinzugefügt in v2.1.111 |363| `VERTEX_REGION_CLAUDE_4_7_OPUS` | {/* min-version: 2.1.111 */}Überschreiben Sie die Region für Claude Opus 4.7 bei Verwendung von Vertex AI. Hinzugefügt in v2.1.111 |

364| `VERTEX_REGION_CLAUDE_4_8_OPUS` | {/* min-version: 2.1.154 */}Überschreiben Sie die Region für Claude Opus 4.8 bei Verwendung von Vertex AI. Hinzugefügt in v2.1.154 |

365| `VERTEX_REGION_CLAUDE_FABLE_5` | {/* min-version: 2.1.170 */}Überschreiben Sie die Region für Claude Fable 5 bei Verwendung von Vertex AI. Hinzugefügt in v2.1.170 |

351| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Überschreiben Sie die Region für Claude Haiku 4.5 bei Verwendung von Vertex AI |366| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Überschreiben Sie die Region für Claude Haiku 4.5 bei Verwendung von Vertex AI |

352 367 

353Standard-OpenTelemetry-Exporter-Variablen (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` und signalspezifische Varianten) werden ebenfalls unterstützt. Siehe [Überwachung](/de/monitoring-usage) für Konfigurationsdetails.368Standard-OpenTelemetry-Exporter-Variablen (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` und signalspezifische Varianten) werden ebenfalls unterstützt. Siehe [Überwachung](/de/monitoring-usage) für Konfigurationsdetails.

errors.md +198 −47

Details

14 Claude Code ruft die Claude API für Modellantworten auf, daher werden die meisten Laufzeitfehler einem zugrunde liegenden API-Fehlercode zugeordnet. Diese Seite behandelt, was jeder Fehler in Claude Code bedeutet und wie Sie sich davon erholen. Für die rohen HTTP-Statuscode-Definitionen siehe die [Claude Platform-Fehlerreferenz](https://platform.claude.com/docs/en/api/errors).14 Claude Code ruft die Claude API für Modellantworten auf, daher werden die meisten Laufzeitfehler einem zugrunde liegenden API-Fehlercode zugeordnet. Diese Seite behandelt, was jeder Fehler in Claude Code bedeutet und wie Sie sich davon erholen. Für die rohen HTTP-Statuscode-Definitionen siehe die [Claude Platform-Fehlerreferenz](https://platform.claude.com/docs/en/api/errors).

15</Note>15</Note>

16 16 

17## Finden Sie Ihren Fehler17<h2 id="find-your-error">

18 Finden Sie Ihren Fehler

19</h2>

18 20 

19Ordnen Sie die Meldung, die Sie in Ihrem Terminal sehen, einem Abschnitt unten zu.21Ordnen Sie die Meldung, die Sie in Ihrem Terminal sehen, einem Abschnitt unten zu.

20 22 


26| `<model> is temporarily unavailable, so auto mode cannot determine the safety of...` | [Serverfehler](#auto-mode-cannot-determine-the-safety-of-an-action) |28| `<model> is temporarily unavailable, so auto mode cannot determine the safety of...` | [Serverfehler](#auto-mode-cannot-determine-the-safety-of-an-action) |

27| `Auto mode could not evaluate this action and is blocking it for safety` | [Serverfehler](#auto-mode-cannot-determine-the-safety-of-an-action) |29| `Auto mode could not evaluate this action and is blocking it for safety` | [Serverfehler](#auto-mode-cannot-determine-the-safety-of-an-action) |

28| `Auto mode classifier transcript exceeded context window` | [Serverfehler](#auto-mode-cannot-determine-the-safety-of-an-action) |30| `Auto mode classifier transcript exceeded context window` | [Serverfehler](#auto-mode-cannot-determine-the-safety-of-an-action) |

29| `You've hit your session limit` / `You've hit your weekly limit` | [Nutzungslimits](#youve-hit-your-session-limit) |31| `You've hit your session limit` / `You've hit your weekly limit` | [Nutzungslimits](#you%E2%80%99ve-hit-your-session-limit) |

32| `Usage credits required for 1M context` | [Nutzungslimits](#usage-credits-required-for-1m-context) |

30| `Server is temporarily limiting requests` | [Nutzungslimits](#server-is-temporarily-limiting-requests) |33| `Server is temporarily limiting requests` | [Nutzungslimits](#server-is-temporarily-limiting-requests) |

31| `Request rejected (429)` | [Nutzungslimits](#request-rejected-429) |34| `Request rejected (429)` | [Nutzungslimits](#request-rejected-429) |

32| `Credit balance is too low` | [Nutzungslimits](#credit-balance-is-too-low) |35| `Credit balance is too low` | [Nutzungslimits](#credit-balance-is-too-low) |

33| `Not logged in · Please run /login` | [Authentifizierung](#not-logged-in) |36| `Not logged in · Please run /login` | [Authentifizierung](#not-logged-in) |

37| `Could not resolve authentication method` | [Authentifizierung](#could-not-resolve-authentication-method) |

34| `Invalid API key` | [Authentifizierung](#invalid-api-key) |38| `Invalid API key` | [Authentifizierung](#invalid-api-key) |

35| `This organization has been disabled` | [Authentifizierung](#this-organization-has-been-disabled) |39| `This organization has been disabled` | [Authentifizierung](#this-organization-has-been-disabled) |

40| `Your organization has disabled API key authentication` | [Authentifizierung](#your-organization-has-disabled-api-key-authentication) |

36| `Your organization has disabled Claude subscription access` | [Authentifizierung](#your-organization-has-disabled-claude-subscription-access) |41| `Your organization has disabled Claude subscription access` | [Authentifizierung](#your-organization-has-disabled-claude-subscription-access) |

37| `Routines are disabled by your organization's policy` | [Authentifizierung](#routines-are-disabled-by-your-organizations-policy) |42| `Routines are disabled by your organization's policy` | [Authentifizierung](#routines-are-disabled-by-your-organization%E2%80%99s-policy) |

38| `OAuth token revoked` / `OAuth token has expired` | [Authentifizierung](#oauth-token-revoked-or-expired) |43| `OAuth token revoked` / `OAuth token has expired` | [Authentifizierung](#oauth-token-revoked-or-expired) |

39| `does not meet scope requirement user:profile` | [Authentifizierung](#oauth-scope-requirement) |44| `does not meet scope requirement user:profile` | [Authentifizierung](#oauth-scope-requirement) |

40| `Unable to connect to API` | [Netzwerk](#unable-to-connect-to-api) |45| `Unable to connect to API` | [Netzwerk](#unable-to-connect-to-api) |


47| `Unable to resize image` | [Anfragefehler](#unable-to-resize-image) |52| `Unable to resize image` | [Anfragefehler](#unable-to-resize-image) |

48| `PDF too large` / `PDF is password protected` | [Anfragefehler](#pdf-errors) |53| `PDF too large` / `PDF is password protected` | [Anfragefehler](#pdf-errors) |

49| `Extra inputs are not permitted` | [Anfragefehler](#extra-inputs-are-not-permitted) |54| `Extra inputs are not permitted` | [Anfragefehler](#extra-inputs-are-not-permitted) |

50| `There's an issue with the selected model` | [Anfragefehler](#theres-an-issue-with-the-selected-model) |55| `There's an issue with the selected model` | [Anfragefehler](#there%E2%80%99s-an-issue-with-the-selected-model) |

51| `Claude Opus is not available with the Claude Pro plan` | [Anfragefehler](#claude-opus-is-not-available-with-the-claude-pro-plan) |56| `Claude Opus is not available with the Claude Pro plan` | [Anfragefehler](#claude-opus-is-not-available-with-the-claude-pro-plan) |

52| `thinking.type.enabled is not supported for this model` | [Anfragefehler](#thinking-type-enabled-is-not-supported-for-this-model) |57| `thinking.type.enabled is not supported for this model` | [Anfragefehler](#thinking-type-enabled-is-not-supported-for-this-model) |

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


55| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Anfragefehler](#usage-policy-refusal) |60| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Anfragefehler](#usage-policy-refusal) |

56| Antworten scheinen von geringerer Qualität als üblich | [Antwortqualität](#responses-seem-lower-quality-than-usual) |61| Antworten scheinen von geringerer Qualität als üblich | [Antwortqualität](#responses-seem-lower-quality-than-usual) |

57 62 

58## Automatische Wiederholungen63<h2 id="automatic-retries">

64 Automatische Wiederholungen

65</h2>

59 66 

60Claude Code wiederholt vorübergehende Fehler, bevor ein Fehler angezeigt wird. Serverfehler, Überlastungsantworten, Anfrage-Timeouts, vorübergehende 429-Drosselungen und unterbrochene Verbindungen werden alle bis zu 10-mal mit exponentiellem Backoff wiederholt. Während der Wiederholung zeigt der Spinner einen `Retrying in Ns · attempt x/y` Countdown an.67Claude Code wiederholt vorübergehende Fehler, bevor ein Fehler angezeigt wird. Serverfehler, Überlastungsantworten, Anfrage-Timeouts, vorübergehende 429-Drosselungen und unterbrochene Verbindungen werden alle bis zu 10-mal mit exponentiellem Backoff wiederholt. Während der Wiederholung zeigt der Spinner einen `Retrying in Ns · attempt x/y` Countdown an.

61 68 


66| [`CLAUDE_CODE_MAX_RETRIES`](/de/env-vars) | 10 | Anzahl der Wiederholungsversuche. Senken Sie sie, um Fehler in Skripten schneller anzuzeigen; erhöhen Sie sie, um längere Ausfallzeiten zu überbrücken. |73| [`CLAUDE_CODE_MAX_RETRIES`](/de/env-vars) | 10 | Anzahl der Wiederholungsversuche. Senken Sie sie, um Fehler in Skripten schneller anzuzeigen; erhöhen Sie sie, um längere Ausfallzeiten zu überbrücken. |

67| [`API_TIMEOUT_MS`](/de/env-vars) | 600000 | Pro-Anfrage-Timeout in Millisekunden. Erhöhen Sie es für langsame Netzwerke oder Proxys. |74| [`API_TIMEOUT_MS`](/de/env-vars) | 600000 | Pro-Anfrage-Timeout in Millisekunden. Erhöhen Sie es für langsame Netzwerke oder Proxys. |

68 75 

69## Serverfehler76<h2 id="server-errors">

77 Serverfehler

78</h2>

70 79 

71Diese Fehler stammen vom Inferenz-Anbieter und nicht von Ihrem Konto oder Ihrer Anfrage. Bei der Anthropic API bedeutet das Anthropic-Infrastruktur. Bei Bedrock, Vertex AI, Foundry oder einem benutzerdefinierten Gateway bedeutet das die Infrastruktur dieses Anbieters.80Diese Fehler stammen vom Inferenz-Anbieter und nicht von Ihrem Konto oder Ihrer Anfrage. Bei der Anthropic API bedeutet das Anthropic-Infrastruktur. Bei Bedrock, Vertex AI, Foundry oder einem benutzerdefinierten Gateway bedeutet das die Infrastruktur dieses Anbieters.

72 81 

73### API Error: 500 Internal server error82<h3 id="api-error-500-internal-server-error">

83 API Error: 500 Internal server error

84</h3>

74 85 

75Claude Code zeigt den Statuscode und die Fehlermeldung der API für jede 5xx-Antwort an. Das folgende Beispiel zeigt eine 500-Antwort bei der Anthropic API:86Claude Code zeigt den Statuscode und die Fehlermeldung der API für jede 5xx-Antwort an. Das folgende Beispiel zeigt eine 500-Antwort bei der Anthropic API:

76 87 


88* Warten Sie eine Minute und senden Sie Ihre Nachricht erneut. Ihre ursprüngliche Nachricht ist noch in der Konversation, daher können Sie für einen langen Prompt `try again` eingeben, anstatt das Ganze erneut einzufügen.99* Warten Sie eine Minute und senden Sie Ihre Nachricht erneut. Ihre ursprüngliche Nachricht ist noch in der Konversation, daher können Sie für einen langen Prompt `try again` eingeben, anstatt das Ganze erneut einzufügen.

89* Wenn der Fehler ohne veröffentlichten Vorfall weiterhin auftritt, führen Sie `/feedback` aus, damit Anthropic mit Ihren Anfrageinformationen untersuchen kann. Siehe [Fehler melden](#report-an-error), wenn `/feedback` in Ihrer Umgebung nicht verfügbar ist.100* Wenn der Fehler ohne veröffentlichten Vorfall weiterhin auftritt, führen Sie `/feedback` aus, damit Anthropic mit Ihren Anfrageinformationen untersuchen kann. Siehe [Fehler melden](#report-an-error), wenn `/feedback` in Ihrer Umgebung nicht verfügbar ist.

90 101 

91### API Error: Repeated 529 Overloaded errors102<h3 id="api-error-repeated-529-overloaded-errors">

103 API Error: Repeated 529 Overloaded errors

104</h3>

92 105 

93Die API ist vorübergehend über alle Benutzer hinweg ausgelastet. Claude Code hat bereits mehrmals versucht, bevor diese Meldung angezeigt wird:106Die API ist vorübergehend über alle Benutzer hinweg ausgelastet. Claude Code hat bereits mehrmals versucht, bevor diese Meldung angezeigt wird:

94 107 


104* Versuchen Sie es in ein paar Minuten erneut117* Versuchen Sie es in ein paar Minuten erneut

105* Führen Sie `/model` aus und wechseln Sie zu einem anderen Modell, um weiterarbeiten zu können, da die Kapazität pro Modell verfolgt wird. Claude Code fordert Sie dazu auf, wenn ein Modell unter besonders hoher Last ist, zum Beispiel `Opus is experiencing high load, please use /model to switch to Sonnet`.118* Führen Sie `/model` aus und wechseln Sie zu einem anderen Modell, um weiterarbeiten zu können, da die Kapazität pro Modell verfolgt wird. Claude Code fordert Sie dazu auf, wenn ein Modell unter besonders hoher Last ist, zum Beispiel `Opus is experiencing high load, please use /model to switch to Sonnet`.

106 119 

107### Request timed out120<h3 id="request-timed-out">

121 Request timed out

122</h3>

108 123 

109Die API hat nicht vor der Verbindungsfrist geantwortet.124Die API hat nicht vor der Verbindungsfrist geantwortet.

110 125 


121* Wenn ein langsames Netzwerk oder Proxy die Ursache ist, erhöhen Sie `API_TIMEOUT_MS` wie in [Automatische Wiederholungen](#automatic-retries) beschrieben136* Wenn ein langsames Netzwerk oder Proxy die Ursache ist, erhöhen Sie `API_TIMEOUT_MS` wie in [Automatische Wiederholungen](#automatic-retries) beschrieben

122* Wenn Timeouts häufig sind und Ihr Netzwerk ansonsten gesund ist, siehe [Netzwerk- und Verbindungsfehler](#network-and-connection-errors) unten137* Wenn Timeouts häufig sind und Ihr Netzwerk ansonsten gesund ist, siehe [Netzwerk- und Verbindungsfehler](#network-and-connection-errors) unten

123 138 

124### Auto mode cannot determine the safety of an action139<h3 id="auto-mode-cannot-determine-the-safety-of-an-action">

140 Auto mode cannot determine the safety of an action

141</h3>

125 142 

126Das Modell, das [auto mode](/de/permission-modes#eliminate-prompts-with-auto-mode) zur Klassifizierung von Aktionen verwendet, konnte keine Entscheidung treffen, daher hat auto mode die Aktion nicht automatisch genehmigt. Die Meldung, die Sie sehen, hängt davon ab, warum der Klassifizierer fehlgeschlagen ist.143Das Modell, das [auto mode](/de/permission-modes#eliminate-prompts-with-auto-mode) zur Klassifizierung von Aktionen verwendet, konnte keine Entscheidung treffen, daher hat auto mode die Aktion nicht automatisch genehmigt. Die Meldung, die Sie sehen, hängt davon ab, warum der Klassifizierer fehlgeschlagen ist.

127 144 


163* Genehmigen oder lehnen Sie die Aktion in der angezeigten Aufforderung ab180* Genehmigen oder lehnen Sie die Aktion in der angezeigten Aufforderung ab

164* Führen Sie `/compact` aus, um die Konversationsgröße zu reduzieren, damit nachfolgende Aktionen wieder in das Klassifizierer-Fenster passen181* Führen Sie `/compact` aus, um die Konversationsgröße zu reduzieren, damit nachfolgende Aktionen wieder in das Klassifizierer-Fenster passen

165 182 

166## Nutzungslimits183<h2 id="usage-limits">

184 Nutzungslimits

185</h2>

167 186 

168Diese Fehler bedeuten, dass ein Kontingent, das an Ihr Konto oder Ihren Plan gebunden ist, erreicht wurde. Sie unterscheiden sich von [Serverfehlern](#server-errors), die alle betreffen.187Diese Fehler bedeuten, dass ein Kontingent, das an Ihr Konto oder Ihren Plan gebunden ist, erreicht wurde. Sie unterscheiden sich von [Serverfehlern](#server-errors), die alle betreffen.

169 188 

170### Sie haben Ihr Sitzungslimit erreicht189<h3 id="you’ve-hit-your-session-limit">

190 Sie haben Ihr Sitzungslimit erreicht

191</h3>

171 192 

172Abonnementpläne enthalten ein rollendes Nutzungskontingent. Wenn es aufgebraucht ist, sehen Sie eine dieser Meldungen:193Abonnementpläne enthalten ein rollendes Nutzungskontingent. Wenn es aufgebraucht ist, sehen Sie eine dieser Meldungen:

173 194 


188 209 

189Um Ihr verbleibendes Kontingent zu überwachen, bevor Sie das Limit erreichen, fügen Sie die `rate_limits`-Felder zu einer [benutzerdefinierten Statuszeile](/de/statusline#rate-limit-usage) hinzu, oder klicken Sie in der Desktop-App auf den [Nutzungsring](/de/desktop#check-usage) neben dem Modellwähler.210Um Ihr verbleibendes Kontingent zu überwachen, bevor Sie das Limit erreichen, fügen Sie die `rate_limits`-Felder zu einer [benutzerdefinierten Statuszeile](/de/statusline#rate-limit-usage) hinzu, oder klicken Sie in der Desktop-App auf den [Nutzungsring](/de/desktop#check-usage) neben dem Modellwähler.

190 211 

191### Der Server drosselt Anfragen vorübergehend212<h3 id="usage-credits-required-for-1m-context">

213 Nutzungsguthaben erforderlich für 1M-Kontext

214</h3>

215 

216Das ausgewählte Modell verwendet das 1M-Token-Fenster mit erweitertem Kontext, und Ihr Plan enthält es nur über Nutzungsguthaben.

217 

218```text theme={null}

219API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard context

220```

221 

222Dies ist eine Berechtigungsprüfung, keine Kontingenterschöpfung. Sie wird ausgelöst, auch wenn Ihre Sitzungs- und Wochenkontingente noch Kapazität haben. Siehe [Erweiterter Kontext](/de/model-config#extended-context) für die Pläne, die 1M-Kontext direkt enthalten, und welche Nutzungsguthaben erfordern.

223 

224{/* min-version: 2.1.172 */}Wenn dieser Fehler während eines Gesprächs auftritt, weil der Kontext über 200K Token hinauswächst, komprimiert Claude Code das Gespräch automatisch zurück unter das Standard-Kontextlimit und behält die Sitzung danach auf diesem Limit, sodass keine Aktion erforderlich ist. In Versionen vor v2.1.172 wiederholte sich der Fehler bei jeder nachfolgenden Anfrage einschließlich `/compact`; führen Sie `/clear` in diesen Versionen aus, um die Wiederherstellung durchzuführen. Die folgenden Schritte gelten, wenn Sie explizit ein `[1m]`-Modell ausgewählt haben.

225 

226**Was zu tun ist:**

227 

228* Führen Sie `/model` aus und wählen Sie die Variante ohne das `[1m]`-Suffix, um auf das Standard-Kontextfenster zurückzugreifen

229* Führen Sie `/usage-credits` aus, um die getaktete Abrechnung für die 1M-Variante auf Pro und Max zu aktivieren, oder um sie von Ihrem Administrator auf Team und Enterprise anzufordern

230* Wenn der Fehler nach `/model` weiterhin auftritt, kann eine 1M-Modell-ID an anderer Stelle festgelegt sein. Siehe [Es gibt ein Problem mit dem ausgewählten Modell](#there%E2%80%99s-an-issue-with-the-selected-model) für die Konfigurationsorte, die in Prioritätsreihenfolge überprüft werden sollen.

231* Um 1M-Varianten vollständig aus dem Modellwähler zu entfernen, setzen Sie [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/de/env-vars)

232 

233<h3 id="server-is-temporarily-limiting-requests">

234 Der Server drosselt Anfragen vorübergehend

235</h3>

192 236 

193Die API hat eine kurzfristige Drosselung angewendet, die nicht mit Ihrem Plankontingent zusammenhängt.237Die API hat eine kurzfristige Drosselung angewendet, die nicht mit Ihrem Plankontingent zusammenhängt.

194 238 


203* Warten Sie kurz und versuchen Sie es erneut247* Warten Sie kurz und versuchen Sie es erneut

204* Überprüfen Sie [status.claude.com](https://status.claude.com), wenn es weiterhin auftritt248* Überprüfen Sie [status.claude.com](https://status.claude.com), wenn es weiterhin auftritt

205 249 

206### Anfrage abgelehnt (429)250<h3 id="request-rejected-429">

251 Anfrage abgelehnt (429)

252</h3>

207 253 

208Sie haben das für Ihren API-Schlüssel, Ihr Amazon Bedrock-Projekt oder Ihr Google Vertex AI-Projekt konfigurierte Ratenlimit erreicht.254Sie haben das für Ihren API-Schlüssel, Ihr Amazon Bedrock-Projekt oder Ihr Google Vertex AI-Projekt konfigurierte Ratenlimit erreicht.

209 255 


220* Für Anthropic API-Schlüssel siehe die [Ratenlimit-Referenz](https://platform.claude.com/docs/en/api/rate-limits) für die Funktionsweise von Tiers und wie Sie Pro-Workspace-Limits setzen266* Für Anthropic API-Schlüssel siehe die [Ratenlimit-Referenz](https://platform.claude.com/docs/en/api/rate-limits) für die Funktionsweise von Tiers und wie Sie Pro-Workspace-Limits setzen

221* Reduzieren Sie die Parallelität: senken Sie [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/de/env-vars), vermeiden Sie die Ausführung vieler paralleler Subagenten, oder wechseln Sie mit `/model` zu einem kleineren Modell für Hochvolumen-Skriptläufe267* Reduzieren Sie die Parallelität: senken Sie [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/de/env-vars), vermeiden Sie die Ausführung vieler paralleler Subagenten, oder wechseln Sie mit `/model` zu einem kleineren Modell für Hochvolumen-Skriptläufe

222 268 

223### Guthabensaldo ist zu niedrig269<h3 id="credit-balance-is-too-low">

270 Guthabensaldo ist zu niedrig

271</h3>

224 272 

225Ihre Console-Organisation hat keine vorausbezahlten Guthaben mehr.273Ihre Console-Organisation hat keine vorausbezahlten Guthaben mehr.

226 274 


234* Wechseln Sie mit `/login` zur Abonnement-Authentifizierung, wenn Sie einen Pro-, Max-, Team- oder Enterprise-Plan haben282* Wechseln Sie mit `/login` zur Abonnement-Authentifizierung, wenn Sie einen Pro-, Max-, Team- oder Enterprise-Plan haben

235* Legen Sie Pro-Workspace-Ausgabenlimits in der Console fest, um zu verhindern, dass ein einzelnes Projekt das Org-Guthaben aufbraucht. Siehe [Kosten effektiv verwalten](/de/costs).283* Legen Sie Pro-Workspace-Ausgabenlimits in der Console fest, um zu verhindern, dass ein einzelnes Projekt das Org-Guthaben aufbraucht. Siehe [Kosten effektiv verwalten](/de/costs).

236 284 

237## Authentifizierungsfehler285<h2 id="authentication-errors">

286 Authentifizierungsfehler

287</h2>

238 288 

239Diese Fehler bedeuten, dass Claude Code nicht nachweisen kann, wer Sie für die API sind. Führen Sie `/status` jederzeit aus, um zu sehen, welche Anmeldeinformation derzeit aktiv ist.289Diese Fehler bedeuten, dass Claude Code nicht nachweisen kann, wer Sie für die API sind. Führen Sie `/status` jederzeit aus, um zu sehen, welche Anmeldeinformation derzeit aktiv ist.

240 290 

241### Not logged in291<h3 id="not-logged-in">

292 Not logged in

293</h3>

242 294 

243Für diese Sitzung ist keine gültige Anmeldeinformation verfügbar.295Für diese Sitzung ist keine gültige Anmeldeinformation verfügbar.

244 296 


255 307 

256Wenn Sie wiederholt aufgefordert werden, sich anzumelden, siehe [Not logged in or token expired](/de/troubleshoot-install#not-logged-in-or-token-expired) für Systemuhr- und macOS Keychain-Fixes.308Wenn Sie wiederholt aufgefordert werden, sich anzumelden, siehe [Not logged in or token expired](/de/troubleshoot-install#not-logged-in-or-token-expired) für Systemuhr- und macOS Keychain-Fixes.

257 309 

258### Invalid API key310<h3 id="could-not-resolve-authentication-method">

311 Could not resolve authentication method

312</h3>

313 

314Die Sitzung erreichte den API-Client ohne Anmeldeinformation. Dies wird in [Hintergrundsitzungen](/de/agent-view), Cloud-Sitzungen und Agent SDK-Kontexten angezeigt, in denen die interaktive Anmeldungsprüfung nicht vor der ersten Anfrage ausgeführt wird.

315 

316```text theme={null}

317Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted

318```

319 

320{/* min-version: 2.1.174 */}Vor v2.1.174 konnte eine Hintergrund- oder Cloud-Sitzung, die einem untätigen vorinitialisiertem Worker zugewiesen war, auf diese Weise fehlschlagen, selbst wenn gültige Anmeldeinformationen konfiguriert waren. Führen Sie ein Upgrade durch, um die Funktion wiederherzustellen. In aktuellen Versionen bedeutet der Fehler, dass dem Worker-Prozess keine Anmeldeinformation verfügbar war.

321 

322**Was zu tun ist:**

323 

324* Führen Sie ein Upgrade auf v2.1.174 oder später durch, wenn dies in einer Hintergrund- oder Cloud-Sitzung angezeigt wird und Ihre Anmeldeinformationen bereits konfiguriert sind

325* Bestätigen Sie, dass `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` oder Ihre Cloud-Provider-Anmeldeinformationen in der Umgebung gesetzt sind, die den Worker startet, nicht nur in Ihrer interaktiven Shell

326* Für das Agent SDK siehe [Authentifizierungseinrichtung](/de/agent-sdk/overview#get-started)

327* Führen Sie `/status` in einer interaktiven Sitzung in der gleichen Umgebung aus, um zu bestätigen, welche Anmeldeinformationsquelle aufgelöst wird

328 

329<h3 id="invalid-api-key">

330 Invalid API key

331</h3>

259 332 

260Die Umgebungsvariable `ANTHROPIC_API_KEY` oder das `apiKeyHelper`-Skript hat einen Schlüssel zurückgegeben, den die API abgelehnt hat.333Die Umgebungsvariable `ANTHROPIC_API_KEY` oder das `apiKeyHelper`-Skript hat einen Schlüssel zurückgegeben, den die API abgelehnt hat.

261 334 


271* Wenn der Schlüssel von einem [`apiKeyHelper`](/de/settings#available-settings)-Skript stammt, führen Sie das Skript direkt aus, um zu bestätigen, dass es einen gültigen Schlüssel auf stdout ausgibt344* Wenn der Schlüssel von einem [`apiKeyHelper`](/de/settings#available-settings)-Skript stammt, führen Sie das Skript direkt aus, um zu bestätigen, dass es einen gültigen Schlüssel auf stdout ausgibt

272* Führen Sie `/status` aus, um zu bestätigen, welche Anmeldeinformationsquelle Claude Code tatsächlich verwendet345* Führen Sie `/status` aus, um zu bestätigen, welche Anmeldeinformationsquelle Claude Code tatsächlich verwendet

273 346 

274### This organization has been disabled347<h3 id="this-organization-has-been-disabled">

348 This organization has been disabled

349</h3>

275 350 

276Ein veralteter `ANTHROPIC_API_KEY` von einer deaktivierten Console-Organisation überschreibt Ihre Abonnement-Anmeldung.351Ein veralteter `ANTHROPIC_API_KEY` von einer deaktivierten Console-Organisation überschreibt Ihre Abonnement-Anmeldung.

277 352 


288* Führen Sie danach `/status` aus, um zu bestätigen, dass die aktive Anmeldeinformation Ihr Abonnement ist363* Führen Sie danach `/status` aus, um zu bestätigen, dass die aktive Anmeldeinformation Ihr Abonnement ist

289* Wenn keine Umgebungsvariable gesetzt ist und der Fehler weiterhin auftritt, ist die deaktivierte Organisation die, die an Ihrem `/login` gebunden ist. Kontaktieren Sie den Support oder melden Sie sich mit einem anderen Konto an.364* Wenn keine Umgebungsvariable gesetzt ist und der Fehler weiterhin auftritt, ist die deaktivierte Organisation die, die an Ihrem `/login` gebunden ist. Kontaktieren Sie den Support oder melden Sie sich mit einem anderen Konto an.

290 365 

291### Your organization has disabled Claude subscription access366<h3 id="your-organization-has-disabled-api-key-authentication">

367 Your organization has disabled API key authentication

368</h3>

369 

370Ihr Console-Organisationsadministrator hat die API-Schlüssel-Authentifizierung deaktiviert, daher lehnt die API den Schlüssel ab, den Claude Code sendet. Der Wiederherstellungshinweis nach dem `·` variiert je nachdem, woher der Schlüssel stammt:

371 

372```text theme={null}

373Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account

374Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY to use your claude.ai account instead

375Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY and run /login to sign in with your claude.ai account

376Your organization has disabled API key authentication · Unset the apiKeyHelper setting and run /login to sign in with your claude.ai account

377```

378 

379Umgebungsvariablen und `apiKeyHelper` haben Vorrang vor `/login`, daher hilft das alleinige Ausführen von `/login` nicht, während einer von ihnen noch einen Schlüssel bereitstellt. Siehe [Authentifizierungspriorität](/de/authentication#authentication-precedence).

380 

381**Was zu tun ist:**

382 

383* Wenn die Nachricht `ANTHROPIC_API_KEY` nennt, heben Sie es in der aktuellen Shell auf und entfernen Sie es aus Ihrem Shell-Profil oder der `.env`-Datei, dann starten Sie `claude` neu

384* Wenn die Nachricht `apiKeyHelper` nennt, entfernen Sie die [`apiKeyHelper`](/de/settings#available-settings)-Einstellung aus Ihrer `settings.json`

385* Führen Sie `/login` aus, um sich mit Ihrem claude.ai-Konto anzumelden

386* Führen Sie danach `/status` aus, um zu bestätigen, dass die aktive Anmeldeinformation Ihr Abonnement ist und nicht ein API-Schlüssel

387* Wenn Sie API-Schlüssel-Authentifizierung für Automatisierung benötigen, bitten Sie Ihren Organisationsadministrator, sie in der Console erneut zu aktivieren

388 

389<h3 id="your-organization-has-disabled-claude-subscription-access">

390 Your organization has disabled Claude subscription access

391</h3>

292 392 

293Ihre Claude-Organisation erlaubt die Anmeldung bei Claude Code nicht mit einer Abonnement-Anmeldung. Das erneute Ausführen von `/login` mit demselben Konto gibt denselben Fehler zurück.393Ihre Claude-Organisation erlaubt die Anmeldung bei Claude Code nicht mit einer Abonnement-Anmeldung. Das erneute Ausführen von `/login` mit demselben Konto gibt denselben Fehler zurück.

294 394 


304* Authentifizieren Sie sich stattdessen mit einem Console API-Schlüssel anstelle Ihres Abonnements. Siehe [Claude Console-Authentifizierung](/de/authentication#claude-console-authentication) für die Einrichtung.404* Authentifizieren Sie sich stattdessen mit einem Console API-Schlüssel anstelle Ihres Abonnements. Siehe [Claude Console-Authentifizierung](/de/authentication#claude-console-authentication) für die Einrichtung.

305* Wenn Sie der Administrator sind und keine Option zum Aktivieren des Zugriffs sehen, kontaktieren Sie [Anthropic-Support](https://support.claude.com)405* Wenn Sie der Administrator sind und keine Option zum Aktivieren des Zugriffs sehen, kontaktieren Sie [Anthropic-Support](https://support.claude.com)

306 406 

307### Routines are disabled by your organization's policy407<h3 id="routines-are-disabled-by-your-organizations-policy">

408 Routines are disabled by your organization's policy

409</h3>

308 410 

309Ihr Team- oder Enterprise-Administrator hat Routinen auf Organisationsebene deaktiviert. Der Fehler wird angezeigt, wenn Sie versuchen, eine Routine zu erstellen oder auszuführen, einschließlich von `/schedule` und der [Routines](/de/routines)-Benutzeroberfläche auf claude.ai/code.411Ihr Team- oder Enterprise-Administrator hat Routinen auf Organisationsebene deaktiviert. Der Fehler wird angezeigt, wenn Sie versuchen, eine Routine zu erstellen oder auszuführen, einschließlich von `/schedule` und der [Routines](/de/routines)-Benutzeroberfläche auf claude.ai/code.

310 412 


319* Bitten Sie Ihren Administrator, den **Routines**-Schalter unter [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) zu aktivieren421* Bitten Sie Ihren Administrator, den **Routines**-Schalter unter [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) zu aktivieren

320* Für einmalige geplante Arbeiten, die keine Routinen auf Organisationsebene erfordern, siehe [geplante Aufgaben](/de/scheduled-tasks)422* Für einmalige geplante Arbeiten, die keine Routinen auf Organisationsebene erfordern, siehe [geplante Aufgaben](/de/scheduled-tasks)

321 423 

322### OAuth token revoked or expired424<h3 id="oauth-token-revoked-or-expired">

425 OAuth token revoked or expired

426</h3>

323 427 

324Ihre gespeicherte Anmeldung ist nicht mehr gültig. Ein widerrufener Token bedeutet, dass Sie sich überall abgemeldet haben oder ein Administrator den Zugriff entfernt hat; ein abgelaufener Token bedeutet, dass die automatische Aktualisierung mitten in der Sitzung fehlgeschlagen ist.428Ihre gespeicherte Anmeldung ist nicht mehr gültig. Ein widerrufener Token bedeutet, dass Sie sich überall abgemeldet haben oder ein Administrator den Zugriff entfernt hat; ein abgelaufener Token bedeutet, dass die automatische Aktualisierung mitten in der Sitzung fehlgeschlagen ist.

325 429 


336* Für wiederholte Anmeldungsaufforderungen über Starts hinweg siehe die Systemuhr- und macOS Keychain-Überprüfungen in [Fehlerbehebung](/de/troubleshoot-install#not-logged-in-or-token-expired)440* Für wiederholte Anmeldungsaufforderungen über Starts hinweg siehe die Systemuhr- und macOS Keychain-Überprüfungen in [Fehlerbehebung](/de/troubleshoot-install#not-logged-in-or-token-expired)

337* Für andere Fehler einschließlich `403 Forbidden` und OAuth-Browser-Probleme siehe [Anmeldung und Authentifizierung](/de/troubleshoot-install#login-and-authentication)441* Für andere Fehler einschließlich `403 Forbidden` und OAuth-Browser-Probleme siehe [Anmeldung und Authentifizierung](/de/troubleshoot-install#login-and-authentication)

338 442 

339### OAuth scope requirement443<h3 id="oauth-scope-requirement">

444 OAuth scope requirement

445</h3>

340 446 

341Der gespeicherte Token stammt von vor einem Berechtigungsumfang, den ein neueres Feature benötigt. Sie sehen dies am häufigsten von `/usage` und dem Statuszeilen-Nutzungsindikator:447Der gespeicherte Token stammt von vor einem Berechtigungsumfang, den ein neueres Feature benötigt. Sie sehen dies am häufigsten von `/usage` und dem Statuszeilen-Nutzungsindikator:

342 448 


348 454 

349* Führen Sie `/login` aus, um einen neuen Token mit den aktuellen Umfängen zu erstellen. Sie müssen sich nicht zuerst abmelden.455* Führen Sie `/login` aus, um einen neuen Token mit den aktuellen Umfängen zu erstellen. Sie müssen sich nicht zuerst abmelden.

350 456 

351## Netzwerk- und Verbindungsfehler457<h2 id="network-and-connection-errors">

458 Netzwerk- und Verbindungsfehler

459</h2>

352 460 

353Diese Fehler bedeuten, dass eine Netzwerkanfrage von Claude Code ihr Ziel nicht erreicht hat. Sie stammen normalerweise aus Ihrem lokalen Netzwerk, Proxy oder Firewall oder aus der Netzwerkrichtlinie der Cloud-Umgebung.461Diese Fehler bedeuten, dass eine Netzwerkanfrage von Claude Code ihr Ziel nicht erreicht hat. Sie stammen normalerweise aus Ihrem lokalen Netzwerk, Proxy oder Firewall oder aus der Netzwerkrichtlinie der Cloud-Umgebung.

354 462 

355### Unable to connect to API463<h3 id="unable-to-connect-to-api">

464 Unable to connect to API

465</h3>

356 466 

357Die TCP-Verbindung zur API ist fehlgeschlagen oder wurde nie abgeschlossen.467Die TCP-Verbindung zur API ist fehlgeschlagen oder wurde nie abgeschlossen.

358 468 


381* Auf macOS kann ein VPN-Client, der getrennt oder deinstalliert wurde, eine Tunnel-Schnittstelle oder Routing-Regel hinterlassen. Überprüfen Sie `ifconfig` auf verwaiste `utun`-Schnittstellen und entfernen Sie die Netzwerkerweiterung des VPN in den Systemeinstellungen.491* Auf macOS kann ein VPN-Client, der getrennt oder deinstalliert wurde, eine Tunnel-Schnittstelle oder Routing-Regel hinterlassen. Überprüfen Sie `ifconfig` auf verwaiste `utun`-Schnittstellen und entfernen Sie die Netzwerkerweiterung des VPN in den Systemeinstellungen.

382* Docker Desktop und ähnliche Container-Runtimes können ausgehenden Datenverkehr abfangen. Beenden Sie sie und versuchen Sie es erneut, um dies auszuschließen.492* Docker Desktop und ähnliche Container-Runtimes können ausgehenden Datenverkehr abfangen. Beenden Sie sie und versuchen Sie es erneut, um dies auszuschließen.

383 493 

384### SSL certificate errors494<h3 id="ssl-certificate-errors">

495 SSL certificate errors

496</h3>

385 497 

386Ein Proxy oder Sicherheitsgerät in Ihrem Netzwerk fängt TLS-Datenverkehr mit seinem eigenen Zertifikat ab, und Claude Code vertraut ihm nicht.498Ein Proxy oder Sicherheitsgerät in Ihrem Netzwerk fängt TLS-Datenverkehr mit seinem eigenen Zertifikat ab, und Claude Code vertraut ihm nicht.

387 499 


396* Siehe [Netzwerkkonfiguration](/de/network-config#custom-ca-certificates) für vollständige Einrichtungsanweisungen508* Siehe [Netzwerkkonfiguration](/de/network-config#custom-ca-certificates) für vollständige Einrichtungsanweisungen

397* Setzen Sie nicht `NODE_TLS_REJECT_UNAUTHORIZED=0`, was die Zertifikatvalidierung vollständig deaktiviert509* Setzen Sie nicht `NODE_TLS_REJECT_UNAUTHORIZED=0`, was die Zertifikatvalidierung vollständig deaktiviert

398 510 

399### Host not allowed in a cloud session511<h3 id="host-not-allowed-in-a-cloud-session">

512 Host not allowed in a cloud session

513</h3>

400 514 

401Eine ausgehende HTTP-Anfrage von einer Cloud-Sitzung oder Routine wurde durch die Netzwerkrichtlinie der Umgebung blockiert.515Eine ausgehende HTTP-Anfrage von einer Cloud-Sitzung oder Routine wurde durch die Netzwerkrichtlinie der Umgebung blockiert.

402 516 


417 531 

418Siehe [Netzwerkzugriff](/de/claude-code-on-the-web#network-access) für Zugriffsstufen und die Standard-Zulassungsliste. Lokale CLI-Sitzungen sind von dieser Richtlinie nicht betroffen.532Siehe [Netzwerkzugriff](/de/claude-code-on-the-web#network-access) für Zugriffsstufen und die Standard-Zulassungsliste. Lokale CLI-Sitzungen sind von dieser Richtlinie nicht betroffen.

419 533 

420## Anfragefehler534<h2 id="request-errors">

535 Anfragefehler

536</h2>

421 537 

422Diese Fehler bedeuten, dass die API Ihre Anfrage erhalten hat, aber ihren Inhalt abgelehnt hat.538Diese Fehler bedeuten, dass die API Ihre Anfrage erhalten hat, aber ihren Inhalt abgelehnt hat.

423 539 

424### Prompt is too long540<h3 id="prompt-is-too-long">

541 Prompt is too long

542</h3>

425 543 

426Die Konversation plus angehängte Dateien überschreitet das Kontextfenster des Modells.544Die Konversation plus angehängte Dateien überschreitet das Kontextfenster des Modells.

427 545 


440 558 

441Siehe [Erkunden Sie das Kontextfenster](/de/context-window) für eine interaktive Ansicht, wie sich der Kontext füllt.559Siehe [Erkunden Sie das Kontextfenster](/de/context-window) für eine interaktive Ansicht, wie sich der Kontext füllt.

442 560 

443### Error during compaction: Conversation too long561<h3 id="error-during-compaction-conversation-too-long">

562 Error during compaction: Conversation too long

563</h3>

444 564 

445`/compact` selbst ist fehlgeschlagen, weil nicht genug freier Kontext vorhanden ist, um die Zusammenfassung zu halten, die es erzeugt.565`/compact` selbst ist fehlgeschlagen, weil nicht genug freier Kontext vorhanden ist, um die Zusammenfassung zu halten, die es erzeugt.

446 566 


455* Drücken Sie Esc zweimal, um die Nachrichtenliste zu öffnen und mehrere Turns zurückzugehen. Dies lässt die neuesten Nachrichten aus dem Kontext fallen. Führen Sie dann `/compact` erneut aus.575* Drücken Sie Esc zweimal, um die Nachrichtenliste zu öffnen und mehrere Turns zurückzugehen. Dies lässt die neuesten Nachrichten aus dem Kontext fallen. Führen Sie dann `/compact` erneut aus.

456* Wenn das Zurückgehen nicht genug Platz freimacht, führen Sie `/clear` aus, um eine neue Sitzung zu starten. Ihre vorherige Konversation wird beibehalten und kann mit `/resume` erneut geöffnet werden.576* Wenn das Zurückgehen nicht genug Platz freimacht, führen Sie `/clear` aus, um eine neue Sitzung zu starten. Ihre vorherige Konversation wird beibehalten und kann mit `/resume` erneut geöffnet werden.

457 577 

458### Request too large578<h3 id="request-too-large">

579 Request too large

580</h3>

459 581 

460Der rohe Anfragekörper überschritt das Byte-Limit der API vor der Tokenisierung, normalerweise wegen einer großen eingefügten Datei oder eines Anhangs.582Der rohe Anfragekörper überschritt das Byte-Limit der API vor der Tokenisierung, normalerweise wegen einer großen eingefügten Datei oder eines Anhangs.

461 583 


471* Referenzieren Sie große Dateien nach Pfad, anstatt ihren Inhalt einzufügen, damit Claude sie in Chunks lesen kann593* Referenzieren Sie große Dateien nach Pfad, anstatt ihren Inhalt einzufügen, damit Claude sie in Chunks lesen kann

472* Für Bilder siehe [Image was too large](#image-was-too-large) unten594* Für Bilder siehe [Image was too large](#image-was-too-large) unten

473 595 

474### Image was too large596<h3 id="image-was-too-large">

597 Image was too large

598</h3>

475 599 

476Ein eingefügtes oder angehängtes Bild überschreitet die Größen- oder Dimensionslimits der API.600Ein eingefügtes oder angehängtes Bild überschreitet die Größen- oder Dimensionslimits der API.

477 601 


480API Error: 400 ... image dimensions exceed max allowed size604API Error: 400 ... image dimensions exceed max allowed size

481```605```

482 606 

483Das Bild bleibt nach dem Fehler in der Konversationshistorie, daher schlägt jede nachfolgende Nachricht mit dem gleichen Fehler fehl, bis Sie es entfernen.607{/* min-version: 2.1.142 */}Claude Code ersetzt das nicht verarbeitbare Bild durch einen Textplatzhalter und versucht es erneut, daher sind nachfolgende Nachrichten erfolgreich. In Versionen vor 2.1.142 konnte ein eingefügtes Bild in der Konversation verbleiben und denselben Fehler bei jeder nachfolgenden Nachricht wiederholen. Um auf diesen Versionen zu genesen, drücken Sie Esc zweimal und gehen Sie zurück über den Turn, in dem das Bild hinzugefügt wurde.

484 608 

485**Was zu tun ist:**609**Was zu tun ist:**

486 610 

487* Drücken Sie Esc zweimal und gehen Sie zurück über den Turn, in dem das Bild hinzugefügt wurde

488* Ändern Sie die Größe des Bildes vor dem Einfügen. Die API akzeptiert Bilder bis zu 8000 Pixeln auf der längsten Kante für ein einzelnes Bild oder 2000 Pixel, wenn viele Bilder im Kontext sind.611* Ändern Sie die Größe des Bildes vor dem Einfügen. Die API akzeptiert Bilder bis zu 8000 Pixeln auf der längsten Kante für ein einzelnes Bild oder 2000 Pixel, wenn viele Bilder im Kontext sind.

489* Machen Sie einen engeren Screenshot des relevanten Bereichs statt des gesamten Bildschirms612* Machen Sie einen engeren Screenshot des relevanten Bereichs statt des gesamten Bildschirms

490 613 

491### Unable to resize image614<h3 id="unable-to-resize-image">

615 Unable to resize image

616</h3>

492 617 

493Claude Code konnte ein angehängtes Bild nicht herunterskalieren, bevor es an die API gesendet wurde.618Claude Code konnte ein angehängtes Bild nicht herunterskalieren, bevor es an die API gesendet wurde.

494 619 


506* Wenn die Nachricht Sie auffordert, das Bild zu konvertieren, konvertieren Sie es in PNG, JPEG, GIF oder WebP und hängen Sie es erneut an. Claude Code kann Dimensionen für diese Formate überprüfen, ohne den Bildprozessor zu verwenden.631* Wenn die Nachricht Sie auffordert, das Bild zu konvertieren, konvertieren Sie es in PNG, JPEG, GIF oder WebP und hängen Sie es erneut an. Claude Code kann Dimensionen für diese Formate überprüfen, ohne den Bildprozessor zu verwenden.

507* Wenn die Nachricht ein Dimensions- oder Größenlimit meldet, ändern Sie die Größe oder komprimieren Sie das Bild unter diesem Limit, bevor Sie es anhängen.632* Wenn die Nachricht ein Dimensions- oder Größenlimit meldet, ändern Sie die Größe oder komprimieren Sie das Bild unter diesem Limit, bevor Sie es anhängen.

508 633 

509### PDF errors634<h3 id="pdf-errors">

635 PDF errors

636</h3>

510 637 

511Das PDF, das Sie angehängt haben, konnte nicht verarbeitet werden.638Das PDF, das Sie angehängt haben, konnte nicht verarbeitet werden.

512 639 


521* Für übergroße PDFs bitten Sie Claude, einen Seitenbereich mit dem Read-Tool zu lesen, anstatt die ganze Datei anzuhängen, oder extrahieren Sie Text mit einem Tool wie `pdftotext` und referenzieren Sie die Ausgabedatei nach Pfad648* Für übergroße PDFs bitten Sie Claude, einen Seitenbereich mit dem Read-Tool zu lesen, anstatt die ganze Datei anzuhängen, oder extrahieren Sie Text mit einem Tool wie `pdftotext` und referenzieren Sie die Ausgabedatei nach Pfad

522* Für geschützte oder ungültige PDFs entfernen Sie das Passwort oder exportieren Sie die Datei erneut aus ihrer Quellanwendung, dann versuchen Sie es erneut649* Für geschützte oder ungültige PDFs entfernen Sie das Passwort oder exportieren Sie die Datei erneut aus ihrer Quellanwendung, dann versuchen Sie es erneut

523 650 

524### Extra inputs are not permitted651<h3 id="extra-inputs-are-not-permitted">

652 Extra inputs are not permitted

653</h3>

525 654 

526Ein Proxy oder LLM-Gateway zwischen Claude Code und der API hat den `anthropic-beta` Request-Header entfernt, daher hat die API Felder abgelehnt, die davon abhängen.655Ein Proxy oder LLM-Gateway zwischen Claude Code und der API hat den `anthropic-beta` Request-Header entfernt, daher hat die API Felder abgelehnt, die davon abhängen.

527 656 


538* Konfigurieren Sie Ihr Gateway, um den `anthropic-beta` Header weiterzuleiten. Siehe [LLM-Gateway-Konfiguration](/de/llm-gateway).667* Konfigurieren Sie Ihr Gateway, um den `anthropic-beta` Header weiterzuleiten. Siehe [LLM-Gateway-Konfiguration](/de/llm-gateway).

539* Setzen Sie als Fallback [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/de/env-vars) vor dem Start. Dies deaktiviert Features, die den Beta-Header benötigen, damit Anfragen durch ein Gateway erfolgreich sind, das ihn nicht weiterleiten kann.668* Setzen Sie als Fallback [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/de/env-vars) vor dem Start. Dies deaktiviert Features, die den Beta-Header benötigen, damit Anfragen durch ein Gateway erfolgreich sind, das ihn nicht weiterleiten kann.

540 669 

541### There's an issue with the selected model670<h3 id="there’s-an-issue-with-the-selected-model">

671 There's an issue with the selected model

672</h3>

542 673 

543Der konfigurierte Modellname wurde nicht erkannt oder Ihr Konto hat keinen Zugriff darauf. Ab v2.1.160 variiert der nachfolgende Hinweis, der hier in seiner interaktiven Form angezeigt wird, je nach Oberfläche.674Der konfigurierte Modellname wurde nicht erkannt oder Ihr Konto hat keinen Zugriff darauf. Ab v2.1.160 variiert der nachfolgende Hinweis, der hier in seiner interaktiven Form angezeigt wird, je nach Oberfläche.

544 675 


555* Wenn das falsche Modell immer wieder zurückkommt, ist eine veraltete ID irgendwo gesetzt. Überprüfen Sie in [Prioritätsreihenfolge](/de/model-config#setting-your-model): das `--model` Flag, die `ANTHROPIC_MODEL` Umgebungsvariable, dann das `model` Feld in `.claude/settings.local.json`, die `settings.json` Ihres Projekts und `~/.claude/settings.json`. Entfernen Sie den veralteten Wert und Claude Code fällt auf Ihren Kontostandard zurück.686* Wenn das falsche Modell immer wieder zurückkommt, ist eine veraltete ID irgendwo gesetzt. Überprüfen Sie in [Prioritätsreihenfolge](/de/model-config#setting-your-model): das `--model` Flag, die `ANTHROPIC_MODEL` Umgebungsvariable, dann das `model` Feld in `.claude/settings.local.json`, die `settings.json` Ihres Projekts und `~/.claude/settings.json`. Entfernen Sie den veralteten Wert und Claude Code fällt auf Ihren Kontostandard zurück.

556* Für Vertex AI-Bereitstellungen siehe [Vertex AI-Fehlerbehebung](/de/google-vertex-ai#troubleshooting).687* Für Vertex AI-Bereitstellungen siehe [Vertex AI-Fehlerbehebung](/de/google-vertex-ai#troubleshooting).

557 688 

558### Claude Opus is not available with the Claude Pro plan689<h3 id="claude-opus-is-not-available-with-the-claude-pro-plan">

690 Claude Opus is not available with the Claude Pro plan

691</h3>

559 692 

560Ihr aktiver Abonnementplan enthält nicht das Modell, das Sie ausgewählt haben.693Ihr aktiver Abonnementplan enthält nicht das Modell, das Sie ausgewählt haben.

561 694 


569* Wenn Sie Ihren Plan kürzlich aktualisiert haben und dies immer noch sehen, führen Sie `/logout` dann `/login` aus. Der gespeicherte Token spiegelt Ihren Plan zum Zeitpunkt der Anmeldung wider, daher wird ein Upgrade im Web nicht in einer bestehenden Sitzung wirksam, bis Sie sich erneut authentifizieren.702* Wenn Sie Ihren Plan kürzlich aktualisiert haben und dies immer noch sehen, führen Sie `/logout` dann `/login` aus. Der gespeicherte Token spiegelt Ihren Plan zum Zeitpunkt der Anmeldung wider, daher wird ein Upgrade im Web nicht in einer bestehenden Sitzung wirksam, bis Sie sich erneut authentifizieren.

570* Siehe [claude.com/pricing](https://claude.com/pricing) für die Modelle, die jeder Plan enthält703* Siehe [claude.com/pricing](https://claude.com/pricing) für die Modelle, die jeder Plan enthält

571 704 

572### thinking.type.enabled is not supported for this model705<h3 id="thinking-type-enabled-is-not-supported-for-this-model">

706 thinking.type.enabled is not supported for this model

707</h3>

573 708 

574Ihre Claude Code-Version ist älter als das Minimum für Opus 4.7 oder Opus 4.8. Die CLI hat eine Thinking-Konfiguration gesendet, die das Modell nicht mehr akzeptiert.709Ihre Claude Code-Version ist älter als das Minimum für Opus 4.7 oder Opus 4.8. Die CLI hat eine Thinking-Konfiguration gesendet, die das Modell nicht mehr akzeptiert.

575 710 


583* Wenn Sie nicht aktualisieren können, führen Sie `/model` aus und wählen Sie stattdessen Opus 4.6 oder Sonnet718* Wenn Sie nicht aktualisieren können, führen Sie `/model` aus und wählen Sie stattdessen Opus 4.6 oder Sonnet

584* Wenn Sie dies im Agent SDK treffen, siehe [SDK-Fehlerbehebung](/de/agent-sdk/quickstart#troubleshooting)719* Wenn Sie dies im Agent SDK treffen, siehe [SDK-Fehlerbehebung](/de/agent-sdk/quickstart#troubleshooting)

585 720 

586### Thinking budget exceeds output limit721<h3 id="thinking-budget-exceeds-output-limit">

722 Thinking budget exceeds output limit

723</h3>

587 724 

588Das konfigurierte Extended Thinking-Budget überschreitet die maximale Antwortlänge, daher bleibt kein Platz für die tatsächliche Antwort.725Das konfigurierte Extended Thinking-Budget überschreitet die maximale Antwortlänge, daher bleibt kein Platz für die tatsächliche Antwort.

589 726 


598* Senken Sie `MAX_THINKING_TOKENS`, oder erhöhen Sie [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/de/env-vars) über das Thinking-Budget735* Senken Sie `MAX_THINKING_TOKENS`, oder erhöhen Sie [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/de/env-vars) über das Thinking-Budget

599* Siehe [Extended Thinking](/de/model-config#extended-thinking) für wie das Budget mit der Ausgabelänge interagiert736* Siehe [Extended Thinking](/de/model-config#extended-thinking) für wie das Budget mit der Ausgabelänge interagiert

600 737 

601### Tool use or thinking block mismatch738<h3 id="tool-use-or-thinking-block-mismatch">

739 Tool use or thinking block mismatch

740</h3>

602 741 

603Die Konversationshistorie erreichte die API in einem inkonsistenten Zustand, normalerweise nachdem ein Tool-Aufruf unterbrochen oder ein Turn während des Streams bearbeitet wurde.742Die Konversationshistorie erreichte die API in einem inkonsistenten Zustand, normalerweise nachdem ein Tool-Aufruf unterbrochen oder ein Turn während des Streams bearbeitet wurde.

604 743 


615* {/* max-version: 2.1.155 */}Wenn Sie Opus 4.7 oder Opus 4.8 verwenden, führen Sie zuerst `claude update` aus. Versionen vor v2.1.156 können diesen Fehler während normaler Tool-Nutzung auslösen, und `/rewind` löscht ihn nicht.754* {/* max-version: 2.1.155 */}Wenn Sie Opus 4.7 oder Opus 4.8 verwenden, führen Sie zuerst `claude update` aus. Versionen vor v2.1.156 können diesen Fehler während normaler Tool-Nutzung auslösen, und `/rewind` löscht ihn nicht.

616* Führen Sie `/rewind` aus, oder drücken Sie Esc zweimal, um zu einem Checkpoint vor dem beschädigten Turn zurückzugehen und von dort aus fortzufahren. Siehe [Checkpointing](/de/checkpointing) für die Erstellung und Wiederherstellung von Checkpoints.755* Führen Sie `/rewind` aus, oder drücken Sie Esc zweimal, um zu einem Checkpoint vor dem beschädigten Turn zurückzugehen und von dort aus fortzufahren. Siehe [Checkpointing](/de/checkpointing) für die Erstellung und Wiederherstellung von Checkpoints.

617 756 

618### Usage Policy refusal757<h3 id="usage-policy-refusal">

758 Usage Policy refusal

759</h3>

619 760 

620Die API lehnte es ab zu antworten, weil Inhalte in der Konversation eine [Nutzungsrichtlinie](https://www.anthropic.com/legal/aup) Überprüfung ausgelöst haben. Die Nachricht enthält eine Request-ID, die Sie dem Support mitteilen können, wenn Sie glauben, dass die Ablehnung falsch ist.761Die API lehnte es ab zu antworten, weil Inhalte in der Konversation eine [Nutzungsrichtlinie](https://www.anthropic.com/legal/aup) Überprüfung ausgelöst haben. Die Nachricht enthält eine Request-ID, die Sie dem Support mitteilen können, wenn Sie glauben, dass die Ablehnung falsch ist.

621 762 


629 770 

630* Drücken Sie Esc zweimal oder führen Sie `/rewind` aus, um zu einem Checkpoint vor dem Turn zurückzugehen, der die Ablehnung ausgelöst hat, dann umformulieren Sie oder versuchen Sie einen anderen Ansatz. Siehe [Checkpointing](/de/checkpointing).771* Drücken Sie Esc zweimal oder führen Sie `/rewind` aus, um zu einem Checkpoint vor dem Turn zurückzugehen, der die Ablehnung ausgelöst hat, dann umformulieren Sie oder versuchen Sie einen anderen Ansatz. Siehe [Checkpointing](/de/checkpointing).

631* Wenn Sie nicht identifizieren können, welcher Turn es verursacht hat, führen Sie `/clear` aus, um eine neue Konversation im gleichen Projekt zu starten. Ihre vorherige Konversation wird auf der Festplatte beibehalten und bleibt in `/resume` verfügbar.772* Wenn Sie nicht identifizieren können, welcher Turn es verursacht hat, führen Sie `/clear` aus, um eine neue Konversation im gleichen Projekt zu starten. Ihre vorherige Konversation wird auf der Festplatte beibehalten und bleibt in `/resume` verfügbar.

632* Im [nicht-interaktiven Modus](/de/headless) (`-p`), wo Rewind nicht verfügbar ist, versuchen Sie es erneut mit einem umformulierten Prompt oder starten Sie eine neue Sitzung ohne `--continue`.773* Im [nicht-interaktiven Modus](/de/headless) (`-p`), wo Rewind nicht verfügbar ist, versuchen Sie es erneut mit einem umformulierten Prompt in einer neuen Sitzung ohne `--continue`. Policy-Überprüfungen variieren je nach Modell, daher kann ein Wechsel zu einem anderen Modell mit `--model` die Ablehnung in einigen Fällen auch beheben.

774 

775<h2 id="responses-seem-lower-quality-than-usual">

776 Responses seem lower quality than usual

777</h2>

778 

779Wenn Claudes Antworten weniger fähig erscheinen als erwartet, aber kein Fehler angezeigt wird, ist die Ursache normalerweise der Konversationszustand und nicht das Modell selbst. Claude Code ändert Modellversionen nicht stillschweigend. Es kann in drei spezifischen Fällen zu einem Fallback-Modell wechseln:

633 780 

634## Responses seem lower quality than usual781* Ein konfiguriertes [`--fallback-model`](/de/cli-reference#cli-flags) übernimmt nach einem Verfügbarkeitsfehler für diesen Turn nur mit einer Benachrichtigung im Transkript

782* Eine Bedrock- oder Vertex AI-Startprüfung stellt fest, dass Ihr Standardmodell nicht verfügbar ist

783* [Automatic model fallback](/de/model-config#automatic-model-fallback) auf Fable 5 verschiebt die Sitzung zum Standard-Opus-Modell und zeigt eine Benachrichtigung im Transkript

635 784 

636Wenn Claudes Antworten weniger fähig erscheinen als erwartet, aber kein Fehler angezeigt wird, ist die Ursache normalerweise der Konversationszustand und nicht das Modell selbst. Claude Code ändert Modellversionen nicht stillschweigend. Es kann in bestimmten Fällen zu einem Fallback-Modell wechseln, z. B. wenn ein Opus-Kontingent erreicht wird oder ein Bedrock- oder Vertex AI-Bereich Ihr Modell nicht hat; die Modellauswahlprüfung unten erfasst beide, und [Model configuration](/de/model-config) erklärt, wann Fallback angewendet wird.785Die Modellauswahlprüfung unten erfasst den zweiten und dritten Fall; der erste erscheint als Transkriptbenachrichtigung statt als `/model`-Änderung. [Model configuration](/de/model-config) erklärt, wann jeder Fallback angewendet wird.

637 786 

638Überprüfen Sie diese zuerst:787Überprüfen Sie diese zuerst:

639 788 


646 795 

647Wenn die Qualität immer noch seltsam wirkt, nachdem Sie das Obige überprüft haben, führen Sie `/feedback` aus und beschreiben Sie, was Sie erwartet haben versus was Sie bekommen haben. Auf diese Weise eingereichte Rückmeldungen enthalten das Konversationstranskript, das der schnellste Weg für Anthropic ist, eine echte Regression zu diagnostizieren. Siehe [Report an error](#report-an-error), wenn `/feedback` bei Ihrem Anbieter nicht verfügbar ist.796Wenn die Qualität immer noch seltsam wirkt, nachdem Sie das Obige überprüft haben, führen Sie `/feedback` aus und beschreiben Sie, was Sie erwartet haben versus was Sie bekommen haben. Auf diese Weise eingereichte Rückmeldungen enthalten das Konversationstranskript, das der schnellste Weg für Anthropic ist, eine echte Regression zu diagnostizieren. Siehe [Report an error](#report-an-error), wenn `/feedback` bei Ihrem Anbieter nicht verfügbar ist.

648 797 

649## Fehler melden798<h2 id="report-an-error">

799 Fehler melden

800</h2>

650 801 

651Diese Seite behandelt Fehler von der Claude API. Für Fehler von anderen Claude Code-Komponenten siehe das relevante Handbuch:802Diese Seite behandelt Fehler von der Claude API. Für Fehler von anderen Claude Code-Komponenten siehe das relevante Handbuch:

652 803 

fast-mode.md +1 −1

Details

115* **Admin-Aktivierung für Teams und Enterprise**: Der Schnellmodus ist standardmäßig für Teams- und Enterprise-Organisationen deaktiviert. Ein Administrator muss den Schnellmodus explizit [aktivieren](#enable-fast-mode-for-your-organization), bevor Benutzer darauf zugreifen können.115* **Admin-Aktivierung für Teams und Enterprise**: Der Schnellmodus ist standardmäßig für Teams- und Enterprise-Organisationen deaktiviert. Ein Administrator muss den Schnellmodus explizit [aktivieren](#enable-fast-mode-for-your-organization), bevor Benutzer darauf zugreifen können.

116 116 

117<Note>117<Note>

118 Wenn Ihr Administrator den Schnellmodus für Ihre Organisation nicht aktiviert hat, zeigt der Befehl `/fast` „Fast mode has been disabled by your organization." an.118 Wenn Ihr Administrator den Schnellmodus für Ihre Organisation nicht aktiviert hat, zeigt der Befehl `/fast` „Fast mode has been disabled by your organization." an. Wenn die [`availableModels`](/de/model-config#restrict-model-selection)-Zulassungsliste Ihrer Organisation das Schnellmodus-Opus-Modell ausschließt, wird `/fast` mit „is not in your organization's allowed models" abgelehnt.

119</Note>119</Note>

120 120 

121<h3 id="enable-fast-mode-for-your-organization">121<h3 id="enable-fast-mode-for-your-organization">

Details

109 109 

110 **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).110 **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).

111 111 

112 **Faustregel:** Halten Sie CLAUDE.md unter 200 Zeilen. Wenn es wächst, verschieben Sie Referenzinhalte zu Skills oder teilen Sie sie in [`.claude/rules/`](/de/memory#organize-rules-with-clauderules)-Dateien auf.112 **Faustregel:** Halten Sie CLAUDE.md unter 200 Zeilen. Wenn es wächst, verschieben Sie Referenzinhalte zu Skills oder teilen Sie sie in [`.claude/rules/`](/de/memory#organize-rules-with-claude%2Frules%2F)-Dateien auf.

113 </Tab>113 </Tab>

114 114 

115 <Tab title="CLAUDE.md vs Rules vs Skills">115 <Tab title="CLAUDE.md vs Rules vs Skills">


198 198 

199Funktionen 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:199Funktionen 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:

200 200 

201* **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](/de/memory#how-claudemd-files-load).201* **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](/de/memory#how-claude-md-files-load).

202* **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](/de/plugins#add-skills-to-your-plugin), um Konflikte zu vermeiden. Siehe [Skill-Erkennung](/de/skills#where-skills-live) und [Subagent-Umfang](/de/sub-agents#choose-the-subagent-scope).202* **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](/de/plugins#add-skills-to-your-plugin), um Konflikte zu vermeiden. Siehe [Skill-Erkennung](/de/skills#where-skills-live) und [Subagent-Umfang](/de/sub-agents#choose-the-subagent-scope).

203* **MCP-Server** überschreiben nach Name: lokal > Projekt > Benutzer. Siehe [MCP-Umfang](/de/mcp#scope-hierarchy-and-precedence).203* **MCP-Server** überschreiben nach Name: lokal > Projekt > Benutzer. Siehe [MCP-Umfang](/de/mcp#scope-hierarchy-and-precedence).

204* **Hooks** zusammenführen: alle registrierten Hooks werden für ihre übereinstimmenden Ereignisse unabhängig von der Quelle ausgelöst. Siehe [Hooks](/de/hooks).204* **Hooks** zusammenführen: alle registrierten Hooks werden für ihre übereinstimmenden Ereignisse unabhängig von der Quelle ausgelöst. Siehe [Hooks](/de/hooks).

fullscreen.md +23 −4

Details

86 Automatisches Folgen86 Automatisches Folgen

87</h3>87</h3>

88 88 

89Das Scrollen nach oben pausiert das automatische Folgen, sodass neue Ausgabe Sie nicht zurück nach unten zieht. Drücken Sie `Ctrl+End` oder scrollen Sie nach unten, um das Folgen fortzusetzen.89Scrollen nach oben pausiert das automatische Folgen, sodass neue Ausgabe Sie nicht zurück nach unten zieht. Drücken Sie `Ctrl+End` oder scrollen Sie nach unten, um das Folgen fortzusetzen.

90 90 

91Um das automatische Folgen ganz auszuschalten, sodass die Ansicht dort bleibt, wo Sie sie verlassen, öffnen Sie `/config` und setzen Sie „Automatisches Scrollen" auf aus. Mit deaktiviertem automatischen Scrollen springt die Ansicht nie von selbst nach unten. Berechtigungsaufforderungen und andere Dialoge, die eine Antwort benötigen, scrollen unabhängig von dieser Einstellung in die Ansicht.91Um das automatische Folgen ganz auszuschalten, sodass die Ansicht dort bleibt, wo Sie sie verlassen, öffnen Sie `/config` und setzen Sie „Automatisches Scrollen" auf aus. Mit deaktiviertem automatischen Scrollen springt die Ansicht nie von selbst nach unten. Berechtigungsaufforderungen und andere Dialoge, die eine Antwort benötigen, scrollen unabhängig von dieser Einstellung in die Ansicht.

92 92 


104export CLAUDE_CODE_SCROLL_SPEED=3104export CLAUDE_CODE_SCROLL_SPEED=3

105```105```

106 106 

107Ein Wert von `3` entspricht dem Standard in `vim` und ähnlichen Anwendungen. Die Einstellung akzeptiert Werte von 1 bis 20.107Ein Wert von `3` entspricht dem Standard in `vim` und ähnlichen Anwendungen. Die Einstellung akzeptiert Werte von 1 bis 20 und Bruchteile unter 1, wie `0,5`, um beschleunigtes Trackpad- und Mausrad-Scrollen in Terminals zu verlangsamen, die Rad-Ereignisse bereits verstärken.

108 108 

109Um die Scroll-Geschwindigkeit interaktiv anzupassen, führen Sie `/scroll-speed` aus. Der Dialog zeigt ein Lineal an, das Sie scrollen können, während er offen ist, sodass Sie die Änderung sofort spüren können. Drücken Sie `←` und `→` zum Anpassen, `r` zum Zurücksetzen auf den automatisch erkannten Standard und `Enter` zum Speichern. Der Befehl schreibt denselben Wert, den die Umgebungsvariable `CLAUDE_CODE_SCROLL_SPEED` setzt, persistent in `~/.claude/settings.json`. Der Befehl ist im JetBrains IDE-Terminal nicht verfügbar.109Um die Scroll-Geschwindigkeit interaktiv anzupassen, führen Sie `/scroll-speed` aus. Der Dialog zeigt ein Lineal an, das Sie scrollen können, während er offen ist, sodass Sie die Änderung sofort spüren können. Drücken Sie `←` und `→` zum Anpassen, `r` zum Zurücksetzen auf den automatisch erkannten Standard und `Enter` zum Speichern. Der Befehl schreibt denselben Wert, den die Umgebungsvariable `CLAUDE_CODE_SCROLL_SPEED` setzt, persistent in `~/.claude/settings.json`. Der Befehl ist im JetBrains IDE-Terminal nicht verfügbar.

110 110 

111Unabhängig von der Basisgeschwindigkeit beschleunigt Claude Code die Scroll-Rate, wenn Sie das Rad schnell drehen, sodass eine schnelle Drehung eine größere Distanz abdeckt als die gleiche Anzahl langsamer Kerben. Um die Beschleunigung auszuschalten und eine konstante Rate pro Kerbe beizubehalten, setzen Sie `wheelScrollAccelerationEnabled` auf `false` in [`settings.json`](/de/settings#available-settings). Diese Einstellung erfordert Claude Code v2.1.174 oder später.

112 

111<h3 id="scroll-in-the-jetbrains-ide-terminal">113<h3 id="scroll-in-the-jetbrains-ide-terminal">

112 Scrollen im JetBrains IDE-Terminal114 Scrollen im JetBrains IDE-Terminal

113</h3>115</h3>


171 173 

172Die Mauserfassung ist der häufigste Reibungspunkt, besonders über SSH oder in tmux. Wenn Claude Code Mausereignisse erfasst, funktioniert die native Kopieren-beim-Auswählen Ihres Terminals nicht mehr. Die Auswahl, die Sie mit Klicken und Ziehen treffen, existiert in Claude Code, nicht in Ihrem Terminal-Auswahlpuffer, sodass tmux-Kopiermodus, Kitty-Hinweise und ähnliche Tools sie nicht sehen.174Die Mauserfassung ist der häufigste Reibungspunkt, besonders über SSH oder in tmux. Wenn Claude Code Mausereignisse erfasst, funktioniert die native Kopieren-beim-Auswählen Ihres Terminals nicht mehr. Die Auswahl, die Sie mit Klicken und Ziehen treffen, existiert in Claude Code, nicht in Ihrem Terminal-Auswahlpuffer, sodass tmux-Kopiermodus, Kitty-Hinweise und ähnliche Tools sie nicht sehen.

173 175 

174Claude Code versucht, die Auswahl in Ihre Zwischenablage zu schreiben, aber der Pfad, den es verwendet, hängt von Ihrem Setup ab. In tmux schreibt es in den tmux-Paste-Puffer. Über SSH fällt es auf OSC 52 Escape-Sequenzen zurück, die einige Terminals standardmäßig blockieren. iTerm2 blockiert sie, bis Sie Einstellungen → Allgemein → Auswahl → Anwendungen im Terminal dürfen auf Zwischenablage zugreifen aktivieren. Führen Sie [`/terminal-setup`](/de/terminal-config) in iTerm2 aus, um dies für Sie zu aktivieren. Claude Code druckt nach jeder Kopie einen Toast, der Ihnen mitteilt, welchen Pfad es verwendet hat.176Claude Code schreibt die Auswahl in Ihre Systemzwischenablage, und der Pfad, den es verwendet, hängt von Ihrem Setup ab. In einer lokalen Sitzung führt es ein natives Zwischenablage-Tool aus:

177 

178* **macOS**: `pbcopy`

179* **Linux**: `wl-copy` auf Wayland oder `xclip` oder `xsel` auf X11, je nachdem, was installiert ist. Claude Code schreibt sowohl in die Zwischenablage als auch in die PRIMARY-Auswahl, sodass Mitteltaste-Einfügen funktioniert.

180* **Windows und WSL**: PowerShell `Set-Clipboard`

181 

182In tmux schreibt es auch in den tmux-Paste-Puffer. Über SSH fällt es auf OSC 52 Escape-Sequenzen zurück. Claude Code druckt nach jeder Kopie einen Toast, der Ihnen mitteilt, welchen Pfad es verwendet hat.

183 

184Einige Terminals blockieren OSC 52 standardmäßig. iTerm2 blockiert es, bis Sie Einstellungen → Allgemein → Auswahl → Anwendungen im Terminal dürfen auf Zwischenablage zugreifen aktivieren. Wenn Sie [`/terminal-setup`](/de/terminal-config) in iTerm2 ausführen, wird dies für Sie aktiviert.

185 

186Für eine einmalige native Auswahl hängt die zu verwendende Taste von Ihrem Terminal ab:

187 

188* **Terminal.app**: `Fn`

189* **iTerm2**: `Option`

190* **VS Code, Cursor und Devin Desktop**: `Shift` oder `Option` auf macOS mit der Einstellung `terminal.integrated.macOptionClickForcesSelection` aktiviert

191* **Die meisten anderen Terminals**: `Shift`

192 

193Halten Sie diese Taste gedrückt, während Sie klicken und ziehen. Ihr Terminal verarbeitet die Auswahl selbst, anstatt sie an Claude Code weiterzuleiten, sodass Kopierverknüpfungen wie `Cmd+C` auf das funktionieren, was Sie auswählen. Claude Code zeigt auch die richtige Taste in seinem On-Screen-Hinweis an.

175 194 

176Für eine einmalige native Auswahl halten Sie den Bypass-Modifikator Ihres Terminals gedrückt, während Sie klicken und ziehen: `Option` in iTerm2 oder `Shift` in den meisten Linux- und Windows-Terminals. Der Modifikator teilt Ihrem Terminal mit, die Auswahl selbst zu verarbeiten, anstatt Mausereignisse an Claude Code weiterzuleiten, sodass `Cmd+C` und die anderen Kopierverknüpfungen Ihres Terminals darauf funktionieren.195Über SSH oder in tmux kann Claude Code das Terminal, von dem aus Sie sich verbinden, nicht immer erkennen, daher listet der Hinweis stattdessen die Kandidatentasten auf.

177 196 

178Wenn Sie sich die ganze Zeit auf native Auswahl verlassen, setzen Sie `CLAUDE_CODE_DISABLE_MOUSE=1`, um die Mauserfassung zu deaktivieren, während Sie das flimmerfreie Rendering und flachen Speicher beibehalten:197Wenn Sie sich die ganze Zeit auf native Auswahl verlassen, setzen Sie `CLAUDE_CODE_DISABLE_MOUSE=1`, um die Mauserfassung zu deaktivieren, während Sie das flimmerfreie Rendering und flachen Speicher beibehalten:

179 198 

github-actions.md +102 −38

Details

12 Claude Code GitHub Actions basiert auf dem [Claude Agent SDK](/de/agent-sdk/overview), das die programmgesteuerte Integration von Claude Code in Ihre Anwendungen ermöglicht. Sie können das SDK verwenden, um benutzerdefinierte Automatisierungs-Workflows über GitHub Actions hinaus zu erstellen.12 Claude Code GitHub Actions basiert auf dem [Claude Agent SDK](/de/agent-sdk/overview), das die programmgesteuerte Integration von Claude Code in Ihre Anwendungen ermöglicht. Sie können das SDK verwenden, um benutzerdefinierte Automatisierungs-Workflows über GitHub Actions hinaus zu erstellen.

13</Note>13</Note>

14 14 

15<Info>15<h2 id="why-use-claude-code-github-actions">

16 **Claude Opus 4.8 ist jetzt verfügbar.** Claude Code GitHub Actions verwenden standardmäßig Sonnet. Um Opus 4.8 zu verwenden, konfigurieren Sie den [Model-Parameter](#breaking-changes-reference) auf `claude-opus-4-8`.16 Warum Claude Code GitHub Actions verwenden?

17</Info>17</h2>

18 

19## Warum Claude Code GitHub Actions verwenden?

20 18 

21* **Sofortige PR-Erstellung**: Beschreiben Sie, was Sie benötigen, und Claude erstellt einen vollständigen PR mit allen notwendigen Änderungen19* **Sofortige PR-Erstellung**: Beschreiben Sie, was Sie benötigen, und Claude erstellt einen vollständigen PR mit allen notwendigen Änderungen

22* **Automatisierte Code-Implementierung**: Verwandeln Sie Issues in funktionierenden Code mit einem einzigen Befehl20* **Automatisierte Code-Implementierung**: Verwandeln Sie Issues in funktionierenden Code mit einem einzigen Befehl


24* **Einfaches Setup**: Beginnen Sie in Minuten mit unserem Installer und API-Schlüssel22* **Einfaches Setup**: Beginnen Sie in Minuten mit unserem Installer und API-Schlüssel

25* **Sicher von Anfang an**: Ihr Code bleibt auf Githubs Runnern23* **Sicher von Anfang an**: Ihr Code bleibt auf Githubs Runnern

26 24 

27## Was kann Claude tun?25<h2 id="what-can-claude-do">

26 Was kann Claude tun?

27</h2>

28 28 

29Claude Code bietet eine leistungsstarke GitHub Action, die verändert, wie Sie mit Code arbeiten:29Claude Code bietet eine leistungsstarke GitHub Action, die verändert, wie Sie mit Code arbeiten:

30 30 

31### Claude Code Action31<h3 id="claude-code-action">

32 Claude Code Action

33</h3>

32 34 

33Diese GitHub Action ermöglicht es Ihnen, Claude Code in Ihren GitHub Actions-Workflows auszuführen. Sie können dies verwenden, um jeden benutzerdefinierten Workflow auf Basis von Claude Code zu erstellen.35Diese GitHub Action ermöglicht es Ihnen, Claude Code in Ihren GitHub Actions-Workflows auszuführen. Sie können dies verwenden, um jeden benutzerdefinierten Workflow auf Basis von Claude Code zu erstellen.

34 36 

35[Repository anzeigen →](https://github.com/anthropics/claude-code-action)37[Repository anzeigen →](https://github.com/anthropics/claude-code-action)

36 38 

37## Setup39<h2 id="setup">

40 Setup

41</h2>

38 42 

39## Schnelles Setup43<h2 id="quick-setup">

44 Schnelles Setup

45</h2>

40 46 

41Der einfachste Weg, diese Action einzurichten, ist über Claude Code im Terminal. Öffnen Sie einfach Claude und führen Sie `/install-github-app` aus.47Der einfachste Weg, diese Action einzurichten, ist über Claude Code im Terminal. Öffnen Sie einfach Claude und führen Sie `/install-github-app` aus.

42 48 


48 * Diese Schnellstart-Methode ist nur für direkte Claude API-Benutzer verfügbar. Wenn Sie Amazon Bedrock oder Google Vertex AI verwenden, siehe bitte den Abschnitt [Verwendung mit Amazon Bedrock & Google Vertex AI](#using-with-amazon-bedrock-%26-google-vertex-ai).54 * Diese Schnellstart-Methode ist nur für direkte Claude API-Benutzer verfügbar. Wenn Sie Amazon Bedrock oder Google Vertex AI verwenden, siehe bitte den Abschnitt [Verwendung mit Amazon Bedrock & Google Vertex AI](#using-with-amazon-bedrock-%26-google-vertex-ai).

49</Note>55</Note>

50 56 

51## Manuelles Setup57<h2 id="manual-setup">

58 Manuelles Setup

59</h2>

52 60 

53Wenn der Befehl `/install-github-app` fehlschlägt oder Sie manuelles Setup bevorzugen, folgen Sie bitte diesen manuellen Setup-Anweisungen:61Wenn der Befehl `/install-github-app` fehlschlägt oder Sie manuelles Setup bevorzugen, folgen Sie bitte diesen manuellen Setup-Anweisungen:

54 62 


68 Nach Abschluss des Schnellstarts oder manuellen Setups testen Sie die Action, indem Sie `@claude` in einem Issue- oder PR-Kommentar markieren.76 Nach Abschluss des Schnellstarts oder manuellen Setups testen Sie die Action, indem Sie `@claude` in einem Issue- oder PR-Kommentar markieren.

69</Tip>77</Tip>

70 78 

71## Upgrade von Beta79<h2 id="upgrading-from-beta">

80 Upgrade von Beta

81</h2>

72 82 

73<Warning>83<Warning>

74 Claude Code GitHub Actions v1.0 führt Breaking Changes ein, die ein Update Ihrer Workflow-Dateien erfordern, um von der Beta-Version auf v1.0 zu aktualisieren.84 Claude Code GitHub Actions v1.0 führt Breaking Changes ein, die ein Update Ihrer Workflow-Dateien erfordern, um von der Beta-Version auf v1.0 zu aktualisieren.


76 86 

77Wenn Sie derzeit die Beta-Version von Claude Code GitHub Actions verwenden, empfehlen wir Ihnen, Ihre Workflows auf die GA-Version zu aktualisieren. Die neue Version vereinfacht die Konfiguration und fügt leistungsstarke neue Funktionen wie automatische Modusterkennung hinzu.87Wenn Sie derzeit die Beta-Version von Claude Code GitHub Actions verwenden, empfehlen wir Ihnen, Ihre Workflows auf die GA-Version zu aktualisieren. Die neue Version vereinfacht die Konfiguration und fügt leistungsstarke neue Funktionen wie automatische Modusterkennung hinzu.

78 88 

79### Wesentliche Änderungen89<h3 id="essential-changes">

90 Wesentliche Änderungen

91</h3>

80 92 

81Alle Beta-Benutzer müssen diese Änderungen an ihren Workflow-Dateien vornehmen, um zu aktualisieren:93Alle Beta-Benutzer müssen diese Änderungen an ihren Workflow-Dateien vornehmen, um zu aktualisieren:

82 94 


853. **Aktualisieren Sie Prompt-Eingaben**: Ersetzen Sie `direct_prompt` durch `prompt`973. **Aktualisieren Sie Prompt-Eingaben**: Ersetzen Sie `direct_prompt` durch `prompt`

864. **Verschieben Sie CLI-Optionen**: Konvertieren Sie `max_turns`, `model`, `custom_instructions` usw. zu `claude_args`984. **Verschieben Sie CLI-Optionen**: Konvertieren Sie `max_turns`, `model`, `custom_instructions` usw. zu `claude_args`

87 99 

88### Breaking Changes Referenz100<h3 id="breaking-changes-reference">

101 Breaking Changes Referenz

102</h3>

89 103 

90| Alte Beta-Eingabe | Neue v1.0-Eingabe |104| Alte Beta-Eingabe | Neue v1.0-Eingabe |

91| --------------------- | ------------------------------------- |105| --------------------- | ------------------------------------- |


99| `disallowed_tools` | `claude_args: --disallowedTools` |113| `disallowed_tools` | `claude_args: --disallowedTools` |

100| `claude_env` | `settings` JSON-Format |114| `claude_env` | `settings` JSON-Format |

101 115 

102### Vorher- und Nachher-Beispiel116<h3 id="before-and-after-example">

117 Vorher- und Nachher-Beispiel

118</h3>

103 119 

104**Beta-Version:**120**Beta-Version:**

105 121 


131 Die Action erkennt jetzt automatisch, ob sie im interaktiven Modus (antwortet auf `@claude`-Erwähnungen) oder im Automatisierungsmodus (wird sofort mit einem Prompt ausgeführt) ausgeführt werden soll, basierend auf Ihrer Konfiguration.147 Die Action erkennt jetzt automatisch, ob sie im interaktiven Modus (antwortet auf `@claude`-Erwähnungen) oder im Automatisierungsmodus (wird sofort mit einem Prompt ausgeführt) ausgeführt werden soll, basierend auf Ihrer Konfiguration.

132</Tip>148</Tip>

133 149 

134## Beispiel-Anwendungsfälle150<h2 id="example-use-cases">

151 Beispiel-Anwendungsfälle

152</h2>

135 153 

136Claude Code GitHub Actions kann Ihnen bei einer Vielzahl von Aufgaben helfen. Das [Beispielverzeichnis](https://github.com/anthropics/claude-code-action/tree/main/examples) enthält einsatzbereite Workflows für verschiedene Szenarien.154Claude Code GitHub Actions kann Ihnen bei einer Vielzahl von Aufgaben helfen. Das [Beispielverzeichnis](https://github.com/anthropics/claude-code-action/tree/main/examples) enthält einsatzbereite Workflows für verschiedene Szenarien.

137 155 

138### Basis-Workflow156<h3 id="basic-workflow">

157 Basis-Workflow

158</h3>

139 159 

140```yaml theme={null}160```yaml theme={null}

141name: Claude Code161name: Claude Code


154 # Responds to @claude mentions in comments174 # Responds to @claude mentions in comments

155```175```

156 176 

157### Verwendung von skills177<h3 id="using-skills">

178 Verwendung von skills

179</h3>

158 180 

159Der `prompt`-Input akzeptiert eine [skill](/de/skills)-Invokation sowie einfachen Text:181Der `prompt`-Input akzeptiert eine [skill](/de/skills)-Invokation sowie einfachen Text:

160 182 


180 prompt: "/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"202 prompt: "/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"

181```203```

182 204 

183### Benutzerdefinierte Automatisierung mit Prompts205<h3 id="custom-automation-with-prompts">

206 Benutzerdefinierte Automatisierung mit Prompts

207</h3>

184 208 

185```yaml theme={null}209```yaml theme={null}

186name: Daily Report210name: Daily Report


198 claude_args: "--model opus"222 claude_args: "--model opus"

199```223```

200 224 

201### Häufige Anwendungsfälle225<h3 id="common-use-cases">

226 Häufige Anwendungsfälle

227</h3>

202 228 

203In Issue- oder PR-Kommentaren:229In Issue- oder PR-Kommentaren:

204 230 


210 236 

211Claude wird automatisch den Kontext analysieren und angemessen antworten.237Claude wird automatisch den Kontext analysieren und angemessen antworten.

212 238 

213## Best Practices239<h2 id="best-practices">

240 Best Practices

241</h2>

214 242 

215### CLAUDE.md-Konfiguration243<h3 id="claude-md-configuration">

244 CLAUDE.md-Konfiguration

245</h3>

216 246 

217Erstellen Sie eine `CLAUDE.md`-Datei im Root-Verzeichnis Ihres Repositories, um Code-Style-Richtlinien, Review-Kriterien, projektspezifische Regeln und bevorzugte Muster zu definieren. Diese Datei leitet Claudes Verständnis Ihrer Projektstandards.247Erstellen Sie eine `CLAUDE.md`-Datei im Root-Verzeichnis Ihres Repositories, um Code-Style-Richtlinien, Review-Kriterien, projektspezifische Regeln und bevorzugte Muster zu definieren. Diese Datei leitet Claudes Verständnis Ihrer Projektstandards.

218 248 

219### Sicherheitsüberlegungen249<h3 id="security-considerations">

250 Sicherheitsüberlegungen

251</h3>

220 252 

221<Warning>Committen Sie API-Schlüssel niemals direkt in Ihr Repository.</Warning>253<Warning>Committen Sie API-Schlüssel niemals direkt in Ihr Repository.</Warning>

222 254 


231 263 

232Verwenden Sie immer GitHub Secrets (zum Beispiel `${{ secrets.ANTHROPIC_API_KEY }}`), anstatt API-Schlüssel direkt in Ihren Workflow-Dateien zu hardcodieren.264Verwenden Sie immer GitHub Secrets (zum Beispiel `${{ secrets.ANTHROPIC_API_KEY }}`), anstatt API-Schlüssel direkt in Ihren Workflow-Dateien zu hardcodieren.

233 265 

234### Optimierung der Leistung266<h3 id="optimizing-performance">

267 Optimierung der Leistung

268</h3>

235 269 

236Verwenden Sie Issue-Templates, um Kontext bereitzustellen, halten Sie Ihre `CLAUDE.md` prägnant und fokussiert, und konfigurieren Sie angemessene Timeouts für Ihre Workflows.270Verwenden Sie Issue-Templates, um Kontext bereitzustellen, halten Sie Ihre `CLAUDE.md` prägnant und fokussiert, und konfigurieren Sie angemessene Timeouts für Ihre Workflows.

237 271 

238### CI-Kosten272<h3 id="ci-costs">

273 CI-Kosten

274</h3>

239 275 

240Bei der Verwendung von Claude Code GitHub Actions sollten Sie sich der damit verbundenen Kosten bewusst sein:276Bei der Verwendung von Claude Code GitHub Actions sollten Sie sich der damit verbundenen Kosten bewusst sein:

241 277 


257* Legen Sie Workflow-Level-Timeouts fest, um unkontrollierte Jobs zu vermeiden293* Legen Sie Workflow-Level-Timeouts fest, um unkontrollierte Jobs zu vermeiden

258* Erwägen Sie die Verwendung von Githubs Concurrency-Kontrollen, um parallele Ausführungen zu begrenzen294* Erwägen Sie die Verwendung von Githubs Concurrency-Kontrollen, um parallele Ausführungen zu begrenzen

259 295 

260## Konfigurationsbeispiele296<h2 id="configuration-examples">

297 Konfigurationsbeispiele

298</h2>

261 299 

262Die Claude Code Action v1 vereinfacht die Konfiguration mit einheitlichen Parametern:300Die Claude Code Action v1 vereinfacht die Konfiguration mit einheitlichen Parametern:

263 301 


282 Wenn Claude auf Issue- oder PR-Kommentare antwortet, antwortet er automatisch auf @claude-Erwähnungen. Für andere Events verwenden Sie den `prompt`-Parameter, um Anweisungen bereitzustellen.320 Wenn Claude auf Issue- oder PR-Kommentare antwortet, antwortet er automatisch auf @claude-Erwähnungen. Für andere Events verwenden Sie den `prompt`-Parameter, um Anweisungen bereitzustellen.

283</Tip>321</Tip>

284 322 

285## Verwendung mit Amazon Bedrock & Google Vertex AI323<h2 id="using-with-amazon-bedrock--google-vertex-ai">

324 Verwendung mit Amazon Bedrock & Google Vertex AI

325</h2>

286 326 

287Für Unternehmensumgebungen können Sie Claude Code GitHub Actions mit Ihrer eigenen Cloud-Infrastruktur verwenden. Dieser Ansatz gibt Ihnen Kontrolle über Datenresidenz und Abrechnung, während Sie die gleiche Funktionalität beibehalten.327Für Unternehmensumgebungen können Sie Claude Code GitHub Actions mit Ihrer eigenen Cloud-Infrastruktur verwenden. Dieser Ansatz gibt Ihnen Kontrolle über Datenresidenz und Abrechnung, während Sie die gleiche Funktionalität beibehalten.

288 328 

289### Voraussetzungen329<h3 id="prerequisites">

330 Voraussetzungen

331</h3>

290 332 

291Bevor Sie Claude Code GitHub Actions mit Cloud-Providern einrichten, benötigen Sie:333Bevor Sie Claude Code GitHub Actions mit Cloud-Providern einrichten, benötigen Sie:

292 334 

293#### Für Google Cloud Vertex AI:335<h4 id="for-google-cloud-vertex-ai">

336 Für Google Cloud Vertex AI:

337</h4>

294 338 

2951. Ein Google Cloud-Projekt mit aktiviertem Vertex AI3391. Ein Google Cloud-Projekt mit aktiviertem Vertex AI

2962. Workload Identity Federation für GitHub Actions konfiguriert3402. Workload Identity Federation für GitHub Actions konfiguriert

2973. Ein Service-Konto mit erforderlichen Berechtigungen3413. Ein Service-Konto mit erforderlichen Berechtigungen

2984. Eine GitHub-App (empfohlen) oder verwenden Sie das Standard-GITHUB\_TOKEN3424. Eine GitHub-App (empfohlen) oder verwenden Sie das Standard-GITHUB\_TOKEN

299 343 

300#### Für Amazon Bedrock:344<h4 id="for-amazon-bedrock">

345 Für Amazon Bedrock:

346</h4>

301 347 

3021. Ein AWS-Konto mit aktiviertem Amazon Bedrock3481. Ein AWS-Konto mit aktiviertem Amazon Bedrock

3032. GitHub OIDC Identity Provider in AWS konfiguriert3492. GitHub OIDC Identity Provider in AWS konfiguriert


609 </Step>655 </Step>

610</Steps>656</Steps>

611 657 

612## Fehlerbehebung658<h2 id="troubleshooting">

659 Fehlerbehebung

660</h2>

613 661 

614### Claude antwortet nicht auf @claude-Befehle662<h3 id="claude-not-responding-to-claude-commands">

663 Claude antwortet nicht auf @claude-Befehle

664</h3>

615 665 

616Überprüfen Sie, dass die GitHub-App korrekt installiert ist, stellen Sie sicher, dass Workflows aktiviert sind, überprüfen Sie, dass der API-Schlüssel in Repository-Secrets gesetzt ist, und bestätigen Sie, dass der Kommentar `@claude` enthält (nicht `/claude`).666Überprüfen Sie, dass die GitHub-App korrekt installiert ist, stellen Sie sicher, dass Workflows aktiviert sind, überprüfen Sie, dass der API-Schlüssel in Repository-Secrets gesetzt ist, und bestätigen Sie, dass der Kommentar `@claude` enthält (nicht `/claude`).

617 667 

618### CI wird nicht auf Claudes Commits ausgeführt668<h3 id="ci-not-running-on-claude’s-commits">

669 CI wird nicht auf Claudes Commits ausgeführt

670</h3>

619 671 

620Stellen Sie sicher, dass Sie die GitHub-App oder benutzerdefinierte App verwenden (nicht Actions-Benutzer), überprüfen Sie, dass Workflow-Trigger die erforderlichen Events enthalten, und überprüfen Sie, dass App-Berechtigungen CI-Trigger enthalten.672Stellen Sie sicher, dass Sie die GitHub-App oder benutzerdefinierte App verwenden (nicht Actions-Benutzer), überprüfen Sie, dass Workflow-Trigger die erforderlichen Events enthalten, und überprüfen Sie, dass App-Berechtigungen CI-Trigger enthalten.

621 673 

622### Authentifizierungsfehler674<h3 id="authentication-errors">

675 Authentifizierungsfehler

676</h3>

623 677 

624Bestätigen Sie, dass der API-Schlüssel gültig ist und ausreichende Berechtigungen hat. Für Bedrock/Vertex überprüfen Sie die Anmeldedaten-Konfiguration und stellen Sie sicher, dass Secrets in Workflows korrekt benannt sind.678Bestätigen Sie, dass der API-Schlüssel gültig ist und ausreichende Berechtigungen hat. Für Bedrock/Vertex überprüfen Sie die Anmeldedaten-Konfiguration und stellen Sie sicher, dass Secrets in Workflows korrekt benannt sind.

625 679 

626## Erweiterte Konfiguration680<h2 id="advanced-configuration">

681 Erweiterte Konfiguration

682</h2>

627 683 

628### Action-Parameter684<h3 id="action-parameters">

685 Action-Parameter

686</h3>

629 687 

630Die Claude Code Action v1 verwendet eine vereinfachte Konfiguration:688Die Claude Code Action v1 verwendet eine vereinfachte Konfiguration:

631 689 


644\*Prompt ist optional – wenn für Issue/PR-Kommentare weggelassen, antwortet Claude auf Trigger-Phrase\702\*Prompt ist optional – wenn für Issue/PR-Kommentare weggelassen, antwortet Claude auf Trigger-Phrase\

645\*\*Erforderlich für direkte Claude API, nicht für Bedrock/Vertex703\*\*Erforderlich für direkte Claude API, nicht für Bedrock/Vertex

646 704 

647#### Übergeben Sie CLI-Argumente705<h4 id="pass-cli-arguments">

706 Übergeben Sie CLI-Argumente

707</h4>

648 708 

649Der Parameter `claude_args` akzeptiert alle Claude Code CLI-Argumente:709Der Parameter `claude_args` akzeptiert alle Claude Code CLI-Argumente:

650 710 


660* `--allowedTools`: Komma-getrennte Liste zulässiger Tools. Der Alias `--allowed-tools` funktioniert auch.720* `--allowedTools`: Komma-getrennte Liste zulässiger Tools. Der Alias `--allowed-tools` funktioniert auch.

661* `--debug`: Debug-Ausgabe aktivieren721* `--debug`: Debug-Ausgabe aktivieren

662 722 

663### Alternative Integrationsmethoden723<h3 id="alternative-integration-methods">

724 Alternative Integrationsmethoden

725</h3>

664 726 

665Während der Befehl `/install-github-app` der empfohlene Ansatz ist, können Sie auch:727Während der Befehl `/install-github-app` der empfohlene Ansatz ist, können Sie auch:

666 728 


670 732 

671Siehe die [Claude Code Action-Dokumentation](https://github.com/anthropics/claude-code-action/blob/main/docs) für detaillierte Leitfäden zu Authentifizierung, Sicherheit und erweiterte Konfiguration.733Siehe die [Claude Code Action-Dokumentation](https://github.com/anthropics/claude-code-action/blob/main/docs) für detaillierte Leitfäden zu Authentifizierung, Sicherheit und erweiterte Konfiguration.

672 734 

673### Anpassung von Claudes Verhalten735<h3 id="customizing-claude’s-behavior">

736 Anpassung von Claudes Verhalten

737</h3>

674 738 

675Sie können Claudes Verhalten auf zwei Arten konfigurieren:739Sie können Claudes Verhalten auf zwei Arten konfigurieren:

676 740 

Details

110claude --remote "Add retry logic to the payment webhook handler"110claude --remote "Add retry logic to the payment webhook handler"

111```111```

112 112 

113Die Sitzung wird auf der Anthropic-Infrastruktur ausgeführt, klont Ihr Repository von GHES und pusht Änderungen zurück zu einem Branch. Überwachen Sie den Fortschritt mit `/tasks` oder unter [claude.ai/code](https://claude.ai/code). Siehe [Claude Code im Web](/de/claude-code-on-the-web) für den vollständigen Remote-Sitzungs-Workflow einschließlich Diff-Review, Auto-Fix und Routinen.113Die Sitzung wird auf der Anthropic-Infrastruktur ausgeführt, klont Ihr Repository von GHES und pusht Änderungen zurück zu einem Branch. Überwachen Sie den Fortschritt mit `/tasks` oder unter [claude.ai/code](https://claude.ai/code). Siehe [Claude Code im Web](/de/claude-code-on-the-web) für den vollständigen Cloud-Sitzungs-Workflow einschließlich Diff-Review, Auto-Fix und Routinen.

114 114 

115<h3 id="teleport-sessions-to-your-terminal">115<h3 id="teleport-sessions-to-your-terminal">

116 Teleport-Sitzungen zu Ihrem Terminal116 Teleport-Sitzungen zu Ihrem Terminal


205 GHES-Instanz nicht erreichbar205 GHES-Instanz nicht erreichbar

206</h3>206</h3>

207 207 

208Wenn Reviews oder Web-Sitzungen zeitüberschritten werden, ist Ihre GHES-Instanz möglicherweise nicht von der Anthropic-Infrastruktur erreichbar. Bestätigen Sie, dass Ihre Firewall eingehende Verbindungen von den [Anthropic API-IP-Adressen](https://platform.claude.com/docs/en/api/ip-addresses) zulässt.208Wenn Reviews oder Web-Sitzungen zeitüberschritten werden, ist Ihre GHES-Instanz möglicherweise nicht von der Anthropic-Infrastruktur erreichbar. Bestätigen Sie, dass Ihre Firewall eingehende Verbindungen von den [Anthropic API-IP-Adressen](https://platform.claude.com/docs/de/api/ip-addresses) zulässt.

209 209 

210<h2 id="related-resources">210<h2 id="related-resources">

211 Verwandte Ressourcen211 Verwandte Ressourcen

gitlab-ci-cd.md +85 −29

Details

16 Diese Integration basiert auf der [Claude Code CLI und Agent SDK](/de/agent-sdk/overview) und ermöglicht die programmgesteuerte Nutzung von Claude in Ihren CI/CD-Jobs und benutzerdefinierten Automatisierungs-Workflows.16 Diese Integration basiert auf der [Claude Code CLI und Agent SDK](/de/agent-sdk/overview) und ermöglicht die programmgesteuerte Nutzung von Claude in Ihren CI/CD-Jobs und benutzerdefinierten Automatisierungs-Workflows.

17</Note>17</Note>

18 18 

19## Warum Claude Code mit GitLab verwenden?19<h2 id="why-use-claude-code-with-gitlab">

20 Warum Claude Code mit GitLab verwenden?

21</h2>

20 22 

21* **Sofortige MR-Erstellung**: Beschreiben Sie, was Sie benötigen, und Claude schlägt einen vollständigen MR mit Änderungen und Erklärung vor23* **Sofortige MR-Erstellung**: Beschreiben Sie, was Sie benötigen, und Claude schlägt einen vollständigen MR mit Änderungen und Erklärung vor

22* **Automatisierte Implementierung**: Verwandeln Sie Probleme mit einem einzigen Befehl oder einer Erwähnung in funktionierenden Code24* **Automatisierte Implementierung**: Verwandeln Sie Probleme mit einem einzigen Befehl oder einer Erwähnung in funktionierenden Code


25* **Enterprise-ready**: Wählen Sie Claude API, Amazon Bedrock oder Google Vertex AI, um Anforderungen an Datenresidenz und Beschaffung zu erfüllen27* **Enterprise-ready**: Wählen Sie Claude API, Amazon Bedrock oder Google Vertex AI, um Anforderungen an Datenresidenz und Beschaffung zu erfüllen

26* **Standardmäßig sicher**: Läuft in Ihren GitLab-Runnern mit Ihrem Branch-Schutz und Genehmigungen28* **Standardmäßig sicher**: Läuft in Ihren GitLab-Runnern mit Ihrem Branch-Schutz und Genehmigungen

27 29 

28## Wie es funktioniert30<h2 id="how-it-works">

31 Wie es funktioniert

32</h2>

29 33 

30Claude Code verwendet GitLab CI/CD, um KI-Aufgaben in isolierten Jobs auszuführen und Ergebnisse über MRs zurückzucommiten:34Claude Code verwendet GitLab CI/CD, um KI-Aufgaben in isolierten Jobs auszuführen und Ergebnisse über MRs zurückzucommiten:

31 35 


40 44 

41Wählen Sie regionale Endpunkte, um die Latenz zu reduzieren und Anforderungen an die Datensouveränität zu erfüllen, während Sie vorhandene Cloud-Vereinbarungen nutzen.45Wählen Sie regionale Endpunkte, um die Latenz zu reduzieren und Anforderungen an die Datensouveränität zu erfüllen, während Sie vorhandene Cloud-Vereinbarungen nutzen.

42 46 

43## Was kann Claude tun?47<h2 id="what-can-claude-do">

48 Was kann Claude tun?

49</h2>

44 50 

45Claude Code ermöglicht leistungsstarke CI/CD-Workflows, die verändern, wie Sie mit Code arbeiten:51Claude Code ermöglicht leistungsstarke CI/CD-Workflows, die verändern, wie Sie mit Code arbeiten:

46 52 


50* Beheben Sie Bugs und Regressionstests, die durch Tests oder Kommentare identifiziert wurden56* Beheben Sie Bugs und Regressionstests, die durch Tests oder Kommentare identifiziert wurden

51* Antworten Sie auf Folgekommentare, um auf angeforderte Änderungen zu iterieren57* Antworten Sie auf Folgekommentare, um auf angeforderte Änderungen zu iterieren

52 58 

53## Setup59<h2 id="setup">

60 Setup

61</h2>

54 62 

55### Schnelles Setup63<h3 id="quick-setup">

64 Schnelles Setup

65</h3>

56 66 

57Der schnellste Weg zum Einstieg ist, einen minimalen Job zu Ihrer `.gitlab-ci.yml` hinzuzufügen und Ihren API-Schlüssel als maskierte Variable festzulegen.67Der schnellste Weg zum Einstieg ist, einen minimalen Job zu Ihrer `.gitlab-ci.yml` hinzuzufügen und Ihren API-Schlüssel als maskierte Variable festzulegen.

58 68 


98Nach dem Hinzufügen des Jobs und Ihrer `ANTHROPIC_API_KEY`-Variable testen Sie, indem Sie den Job manuell von **CI/CD** → **Pipelines** ausführen, oder lösen Sie ihn von einem MR aus, um Claude zu ermöglichen, Updates in einem Branch vorzuschlagen und bei Bedarf einen MR zu öffnen.108Nach dem Hinzufügen des Jobs und Ihrer `ANTHROPIC_API_KEY`-Variable testen Sie, indem Sie den Job manuell von **CI/CD** → **Pipelines** ausführen, oder lösen Sie ihn von einem MR aus, um Claude zu ermöglichen, Updates in einem Branch vorzuschlagen und bei Bedarf einen MR zu öffnen.

99 109 

100<Note>110<Note>

101 Um stattdessen auf Amazon Bedrock oder Google Vertex AI auszuführen, siehe den Abschnitt [Verwendung mit Amazon Bedrock & Google Vertex AI](#using-with-amazon-bedrock--google-vertex-ai) unten für Authentifizierung und Umgebungssetup.111 Um stattdessen auf Amazon Bedrock oder Google Vertex AI auszuführen, siehe den Abschnitt [Verwendung mit Amazon Bedrock & Google Vertex AI](#using-with-amazon-bedrock-%26-google-vertex-ai) unten für Authentifizierung und Umgebungssetup.

102</Note>112</Note>

103 113 

104### Manuelles Setup (empfohlen für Produktion)114<h3 id="manual-setup-recommended-for-production">

115 Manuelles Setup (empfohlen für Produktion)

116</h3>

105 117 

106Wenn Sie ein kontrolliertes Setup bevorzugen oder Enterprise-Provider benötigen:118Wenn Sie ein kontrolliertes Setup bevorzugen oder Enterprise-Provider benötigen:

107 119 


120 * Fügen Sie einen Projekt-Webhook für "Kommentare (Notizen)" zu Ihrem Event-Listener hinzu (falls Sie einen verwenden)132 * Fügen Sie einen Projekt-Webhook für "Kommentare (Notizen)" zu Ihrem Event-Listener hinzu (falls Sie einen verwenden)

121 * Lassen Sie den Listener die Pipeline-Trigger-API mit Variablen wie `AI_FLOW_INPUT` und `AI_FLOW_CONTEXT` aufrufen, wenn ein Kommentar `@claude` enthält133 * Lassen Sie den Listener die Pipeline-Trigger-API mit Variablen wie `AI_FLOW_INPUT` und `AI_FLOW_CONTEXT` aufrufen, wenn ein Kommentar `@claude` enthält

122 134 

123## Beispiel-Anwendungsfälle135<h2 id="example-use-cases">

136 Beispiel-Anwendungsfälle

137</h2>

124 138 

125### Verwandeln Sie Probleme in MRs139<h3 id="turn-issues-into-mrs">

140 Verwandeln Sie Probleme in MRs

141</h3>

126 142 

127In einem Problemkommentar:143In einem Problemkommentar:

128 144 


132 148 

133Claude analysiert das Problem und die Codebasis, schreibt Änderungen in einem Branch und öffnet einen MR zur Überprüfung.149Claude analysiert das Problem und die Codebasis, schreibt Änderungen in einem Branch und öffnet einen MR zur Überprüfung.

134 150 

135### Erhalten Sie Implementierungshilfe151<h3 id="get-implementation-help">

152 Erhalten Sie Implementierungshilfe

153</h3>

136 154 

137In einer MR-Diskussion:155In einer MR-Diskussion:

138 156 


142 160 

143Claude schlägt Änderungen vor, fügt Code mit angemessenem Caching hinzu und aktualisiert den MR.161Claude schlägt Änderungen vor, fügt Code mit angemessenem Caching hinzu und aktualisiert den MR.

144 162 

145### Beheben Sie Bugs schnell163<h3 id="fix-bugs-quickly">

164 Beheben Sie Bugs schnell

165</h3>

146 166 

147In einem Problem- oder MR-Kommentar:167In einem Problem- oder MR-Kommentar:

148 168 


152 172 

153Claude lokalisiert den Bug, implementiert eine Korrektur und aktualisiert den Branch oder öffnet einen neuen MR.173Claude lokalisiert den Bug, implementiert eine Korrektur und aktualisiert den Branch oder öffnet einen neuen MR.

154 174 

155## Verwendung mit Amazon Bedrock & Google Vertex AI175<h2 id="using-with-amazon-bedrock--google-vertex-ai">

176 Verwendung mit Amazon Bedrock & Google Vertex AI

177</h2>

156 178 

157Für Enterprise-Umgebungen können Sie Claude Code vollständig auf Ihrer Cloud-Infrastruktur mit der gleichen Entwicklererfahrung ausführen.179Für Enterprise-Umgebungen können Sie Claude Code vollständig auf Ihrer Cloud-Infrastruktur mit der gleichen Entwicklererfahrung ausführen.

158 180 


238 </Tab>260 </Tab>

239</Tabs>261</Tabs>

240 262 

241## Konfigurationsbeispiele263<h2 id="configuration-examples">

264 Konfigurationsbeispiele

265</h2>

242 266 

243Nachfolgend finden Sie einsatzbereite Snippets, die Sie an Ihre Pipeline anpassen können.267Nachfolgend finden Sie einsatzbereite Snippets, die Sie an Ihre Pipeline anpassen können.

244 268 

245### Basis .gitlab-ci.yml (Claude API)269<h3 id="basic-gitlab-ci-yml-claude-api">

270 Basis .gitlab-ci.yml (Claude API)

271</h3>

246 272 

247```yaml theme={null}273```yaml theme={null}

248stages:274stages:


271 # Claude Code wird ANTHROPIC_API_KEY aus CI/CD-Variablen verwenden297 # Claude Code wird ANTHROPIC_API_KEY aus CI/CD-Variablen verwenden

272```298```

273 299 

274### Amazon Bedrock-Job-Beispiel (OIDC)300<h3 id="amazon-bedrock-job-example-oidc">

301 Amazon Bedrock-Job-Beispiel (OIDC)

302</h3>

275 303 

276**Voraussetzungen:**304**Voraussetzungen:**

277 305 


322 Modell-IDs für Bedrock enthalten regionsspezifische Präfixe (zum Beispiel `us.anthropic.claude-sonnet-4-6`). Übergeben Sie das gewünschte Modell über Ihre Job-Konfiguration oder den Prompt, wenn Ihr Workflow dies unterstützt.350 Modell-IDs für Bedrock enthalten regionsspezifische Präfixe (zum Beispiel `us.anthropic.claude-sonnet-4-6`). Übergeben Sie das gewünschte Modell über Ihre Job-Konfiguration oder den Prompt, wenn Ihr Workflow dies unterstützt.

323</Note>351</Note>

324 352 

325### Google Vertex AI-Job-Beispiel (Workload Identity Federation)353<h3 id="google-vertex-ai-job-example-workload-identity-federation">

354 Google Vertex AI-Job-Beispiel (Workload Identity Federation)

355</h3>

326 356 

327**Voraussetzungen:**357**Voraussetzungen:**

328 358 


375 Mit Workload Identity Federation müssen Sie keine Service-Konto-Schlüssel speichern. Verwenden Sie Repository-spezifische Vertrauensbedingungen und Least-Privilege-Service-Konten.405 Mit Workload Identity Federation müssen Sie keine Service-Konto-Schlüssel speichern. Verwenden Sie Repository-spezifische Vertrauensbedingungen und Least-Privilege-Service-Konten.

376</Note>406</Note>

377 407 

378## Best Practices408<h2 id="best-practices">

409 Best Practices

410</h2>

379 411 

380### CLAUDE.md-Konfiguration412<h3 id="claude-md-configuration">

413 CLAUDE.md-Konfiguration

414</h3>

381 415 

382Erstellen Sie eine `CLAUDE.md`-Datei im Repository-Root, um Coding-Standards, Review-Kriterien und projektspezifische Regeln zu definieren. Claude liest diese Datei während der Ausführung und folgt Ihren Konventionen bei der Vorschlag von Änderungen.416Erstellen Sie eine `CLAUDE.md`-Datei im Repository-Root, um Coding-Standards, Review-Kriterien und projektspezifische Regeln zu definieren. Claude liest diese Datei während der Ausführung und folgt Ihren Konventionen bei der Vorschlag von Änderungen.

383 417 

384### Sicherheitsüberlegungen418<h3 id="security-considerations">

419 Sicherheitsüberlegungen

420</h3>

385 421 

386**Commiten Sie niemals API-Schlüssel oder Cloud-Anmeldedaten in Ihr Repository**. Verwenden Sie immer GitLab CI/CD-Variablen:422**Commiten Sie niemals API-Schlüssel oder Cloud-Anmeldedaten in Ihr Repository**. Verwenden Sie immer GitLab CI/CD-Variablen:

387 423 


390* Begrenzen Sie Job-Berechtigungen und Netzwerk-Egress426* Begrenzen Sie Job-Berechtigungen und Netzwerk-Egress

391* Überprüfen Sie Claudes MRs wie jeden anderen Beitrag427* Überprüfen Sie Claudes MRs wie jeden anderen Beitrag

392 428 

393### Optimierung der Leistung429<h3 id="optimizing-performance">

430 Optimierung der Leistung

431</h3>

394 432 

395* Halten Sie `CLAUDE.md` fokussiert und prägnant433* Halten Sie `CLAUDE.md` fokussiert und prägnant

396* Geben Sie klare Problem-/MR-Beschreibungen an, um Iterationen zu reduzieren434* Geben Sie klare Problem-/MR-Beschreibungen an, um Iterationen zu reduzieren

397* Konfigurieren Sie angemessene Job-Timeouts, um unkontrollierte Ausführungen zu vermeiden435* Konfigurieren Sie angemessene Job-Timeouts, um unkontrollierte Ausführungen zu vermeiden

398* Cachen Sie npm und Paketinstallationen in Runnern, wo möglich436* Cachen Sie npm und Paketinstallationen in Runnern, wo möglich

399 437 

400### CI-Kosten438<h3 id="ci-costs">

439 CI-Kosten

440</h3>

401 441 

402Bei der Verwendung von Claude Code mit GitLab CI/CD sollten Sie sich der damit verbundenen Kosten bewusst sein:442Bei der Verwendung von Claude Code mit GitLab CI/CD sollten Sie sich der damit verbundenen Kosten bewusst sein:

403 443 


415 * Legen Sie angemessene `max_turns`- und Job-Timeout-Werte fest455 * Legen Sie angemessene `max_turns`- und Job-Timeout-Werte fest

416 * Begrenzen Sie die Parallelität, um parallele Ausführungen zu kontrollieren456 * Begrenzen Sie die Parallelität, um parallele Ausführungen zu kontrollieren

417 457 

418## Sicherheit und Governance458<h2 id="security-and-governance">

459 Sicherheit und Governance

460</h2>

419 461 

420* Jeder Job läuft in einem isolierten Container mit eingeschränktem Netzwerkzugriff462* Jeder Job läuft in einem isolierten Container mit eingeschränktem Netzwerkzugriff

421* Claudes Änderungen fließen durch MRs, damit Reviewer jeden Diff sehen463* Claudes Änderungen fließen durch MRs, damit Reviewer jeden Diff sehen


423* Claude Code verwendet Workspace-bezogene Berechtigungen, um Schreibvorgänge einzuschränken465* Claude Code verwendet Workspace-bezogene Berechtigungen, um Schreibvorgänge einzuschränken

424* Kosten bleiben unter Ihrer Kontrolle, da Sie Ihre eigenen Provider-Anmeldedaten mitbringen466* Kosten bleiben unter Ihrer Kontrolle, da Sie Ihre eigenen Provider-Anmeldedaten mitbringen

425 467 

426## Fehlerbehebung468<h2 id="troubleshooting">

469 Fehlerbehebung

470</h2>

427 471 

428### Claude antwortet nicht auf @claude-Befehle472<h3 id="claude-not-responding-to-claude-commands">

473 Claude antwortet nicht auf @claude-Befehle

474</h3>

429 475 

430* Überprüfen Sie, ob Ihre Pipeline ausgelöst wird (manuell, MR-Ereignis oder über einen Note-Event-Listener/Webhook)476* Überprüfen Sie, ob Ihre Pipeline ausgelöst wird (manuell, MR-Ereignis oder über einen Note-Event-Listener/Webhook)

431* Stellen Sie sicher, dass CI/CD-Variablen (`ANTHROPIC_API_KEY` oder Cloud-Provider-Einstellungen) vorhanden und unmaskiert sind477* Stellen Sie sicher, dass CI/CD-Variablen (`ANTHROPIC_API_KEY` oder Cloud-Provider-Einstellungen) vorhanden und unmaskiert sind

432* Überprüfen Sie, dass der Kommentar `@claude` enthält (nicht `/claude`) und dass Ihr Mention-Trigger konfiguriert ist478* Überprüfen Sie, dass der Kommentar `@claude` enthält (nicht `/claude`) und dass Ihr Mention-Trigger konfiguriert ist

433 479 

434### Job kann keine Kommentare schreiben oder MRs öffnen480<h3 id="job-can’t-write-comments-or-open-mrs">

481 Job kann keine Kommentare schreiben oder MRs öffnen

482</h3>

435 483 

436* Stellen Sie sicher, dass `CI_JOB_TOKEN` ausreichende Berechtigungen für das Projekt hat, oder verwenden Sie ein Project Access Token mit `api`-Bereich484* Stellen Sie sicher, dass `CI_JOB_TOKEN` ausreichende Berechtigungen für das Projekt hat, oder verwenden Sie ein Project Access Token mit `api`-Bereich

437* Überprüfen Sie, dass das `mcp__gitlab`-Tool in `--allowedTools` aktiviert ist485* Überprüfen Sie, dass das `mcp__gitlab`-Tool in `--allowedTools` aktiviert ist

438* Bestätigen Sie, dass der Job im Kontext des MR ausgeführt wird oder über `AI_FLOW_*`-Variablen genug Kontext hat486* Bestätigen Sie, dass der Job im Kontext des MR ausgeführt wird oder über `AI_FLOW_*`-Variablen genug Kontext hat

439 487 

440### Authentifizierungsfehler488<h3 id="authentication-errors">

489 Authentifizierungsfehler

490</h3>

441 491 

442* **Für Claude API**: Bestätigen Sie, dass `ANTHROPIC_API_KEY` gültig und nicht abgelaufen ist492* **Für Claude API**: Bestätigen Sie, dass `ANTHROPIC_API_KEY` gültig und nicht abgelaufen ist

443* **Für Bedrock/Vertex**: Überprüfen Sie OIDC/WIF-Konfiguration, Rollenimitierung und Geheimnisnamen; bestätigen Sie Region und Modellverfügbarkeit493* **Für Bedrock/Vertex**: Überprüfen Sie OIDC/WIF-Konfiguration, Rollenimitierung und Geheimnisnamen; bestätigen Sie Region und Modellverfügbarkeit

444 494 

445## Erweiterte Konfiguration495<h2 id="advanced-configuration">

496 Erweiterte Konfiguration

497</h2>

446 498 

447### Häufig verwendete Parameter und Variablen499<h3 id="common-parameters-and-variables">

500 Häufig verwendete Parameter und Variablen

501</h3>

448 502 

449Claude Code unterstützt diese häufig verwendeten Eingaben:503Claude Code unterstützt diese häufig verwendeten Eingaben:

450 504 


458 Genaue Flags und Parameter können je nach Version von `@anthropic-ai/claude-code` variieren. Führen Sie `claude --help` in Ihrem Job aus, um unterstützte Optionen zu sehen.512 Genaue Flags und Parameter können je nach Version von `@anthropic-ai/claude-code` variieren. Führen Sie `claude --help` in Ihrem Job aus, um unterstützte Optionen zu sehen.

459</Note>513</Note>

460 514 

461### Anpassung von Claudes Verhalten515<h3 id="customizing-claude’s-behavior">

516 Anpassung von Claudes Verhalten

517</h3>

462 518 

463Sie können Claude auf zwei primäre Arten lenken:519Sie können Claude auf zwei primäre Arten lenken:

464 520 

glossary.md +4 −4

Details

114 114 

115Eine Markdown-Datei mit persistenten Anweisungen, die Sie für Claude schreiben, geladen zu Beginn jeder Sitzung als Benutzernachricht nach dem System-Prompt. Legen Sie Projektkonventionen, Architekturnotizen und „immer X tun"-Regeln hier ab. CLAUDE.md überlebt [Komprimierung](#compaction) und wird danach frisch von der Festplatte neu gelesen.115Eine Markdown-Datei mit persistenten Anweisungen, die Sie für Claude schreiben, geladen zu Beginn jeder Sitzung als Benutzernachricht nach dem System-Prompt. Legen Sie Projektkonventionen, Architekturnotizen und „immer X tun"-Regeln hier ab. CLAUDE.md überlebt [Komprimierung](#compaction) und wird danach frisch von der Festplatte neu gelesen.

116 116 

117Sie können CLAUDE.md im Projektbereich in `./CLAUDE.md` oder `./.claude/CLAUDE.md`, im Benutzerbereich in `~/.claude/CLAUDE.md` oder als [verwaltete Richtlinie](#managed-settings) für Ihre Organisation platzieren. Alle gefundenen Dateien werden in den Kontext verkettetet, anstatt sich gegenseitig zu überschreiben, geordnet vom breitesten Bereich zum spezifischsten.117Sie können CLAUDE.md im Projektbereich in `./CLAUDE.md` oder `./.claude/CLAUDE.md`, im Benutzerbereich in `~/.claude/CLAUDE.md` oder als [verwaltete Richtlinie](#managed-settings) für Ihre Organisation platzieren. Alle gefundenen Dateien werden in den Kontext verkettet, anstatt sich gegenseitig zu überschreiben, geordnet vom breitesten Bereich zum spezifischsten.

118 118 

119Weitere Informationen: [CLAUDE.md-Dateien](/de/memory#claude-md-files)119Weitere Informationen: [CLAUDE.md-Dateien](/de/memory#claude-md-files)

120 120 


162 Effort Level162 Effort Level

163</h3>163</h3>

164 164 

165Eine Einstellung, die steuert, wie viel des adaptiven Reasoning-Thinking-Budgets Claude bei jedem Turn verwendet. Höherer Aufwand bedeutet mehr Thinking-Tokens und tiefere Überlegungen; niedrigerer Aufwand ist schneller und billiger. Effort wird auf Opus 4.6 und später sowie auf Sonnet 4.6 unterstützt.165Eine Einstellung, die steuert, wie viel des adaptiven Reasoning-Thinking-Budgets Claude bei jedem Turn verwendet. Höherer Aufwand bedeutet mehr Thinking-Tokens und tiefere Überlegungen; niedrigerer Aufwand ist schneller und billiger. Effort wird auf Fable 5, auf Opus 4.6 und später sowie auf Sonnet 4.6 unterstützt.

166 166 

167Weitere Informationen: [Passen Sie das Effort Level an](/de/model-config#adjust-effort-level)167Weitere Informationen: [Passen Sie das Effort Level an](/de/model-config#adjust-effort-level)

168 168 


170 Extended Thinking170 Extended Thinking

171</h3>171</h3>

172 172 

173Sichtbares schrittweises Reasoning, das das Modell vor der Antwort durchführt. Sie können Thinking-Tokens mit `MAX_THINKING_TOKENS` begrenzen oder das [Effort Level](#effort-level) anpassen. Thinking erscheint in grauem kursivem Text im Terminal.173Sichtbares schrittweises Reasoning, das das Modell vor der Antwort durchführt. Sie können es mit dem [Effort Level](#effort-level) anpassen oder Thinking-Tokens mit `MAX_THINKING_TOKENS` auf Modellen mit einem festen Thinking-Budget begrenzen. Thinking erscheint in grauem kursivem Text im Terminal.

174 174 

175Weitere Informationen: [Verwenden Sie Extended Thinking](/de/model-config#extended-thinking)175Weitere Informationen: [Verwenden Sie Extended Thinking](/de/model-config#extended-thinking)

176 176 


225</h2>225</h2>

226 226 

227<h3 id="non-interactive-mode">227<h3 id="non-interactive-mode">

228 Non-Interactive Mode228 Non-interactive mode

229</h3>229</h3>

230 230 

231Ein Modus, der eine einzelne Aufforderung ausführt und ohne eine Konversationssitzung beendet wird, aufgerufen mit `-p` oder `--print`. Wird für CI, Skripte und Piping verwendet. Das [Agent SDK](/de/agent-sdk/overview) ist das Python- und TypeScript-Äquivalent. Früher Headless Mode genannt.231Ein Modus, der eine einzelne Aufforderung ausführt und ohne eine Konversationssitzung beendet wird, aufgerufen mit `-p` oder `--print`. Wird für CI, Skripte und Piping verwendet. Das [Agent SDK](/de/agent-sdk/overview) ist das Python- und TypeScript-Äquivalent. Früher Headless Mode genannt.

Details

6 6 

7> Erfahren Sie, wie Sie Claude Code über Google Vertex AI konfigurieren, einschließlich Setup, IAM-Konfiguration und Fehlerbehebung.7> Erfahren Sie, wie Sie Claude Code über Google Vertex AI konfigurieren, einschließlich Setup, IAM-Konfiguration und Fehlerbehebung.

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79<ContactSalesCard surface="vertex" />

80 

9<h2 id="prerequisites">81<h2 id="prerequisites">

10 Voraussetzungen82 Voraussetzungen

11</h2>83</h2>


155</h3>227</h3>

156 228 

157<Warning>229<Warning>

158 Fixieren Sie spezifische Modellversionen bei der Bereitstellung für mehrere Benutzer. Ohne Fixierung werden Modellaliase wie `sonnet` und `opus` zur neuesten Version aufgelöst, die möglicherweise noch nicht in Ihrem Vertex AI-Projekt aktiviert ist, wenn Anthropic ein Update veröffentlicht. Claude Code [fällt zurück](#startup-model-checks) beim Start zur vorherigen Version zurück, wenn die neueste nicht verfügbar ist, aber das Fixieren ermöglicht es Ihnen, zu kontrollieren, wann Ihre Benutzer zu einem neuen Modell wechseln.230 Fixieren Sie spezifische Modellversionen bei der Bereitstellung für mehrere Benutzer. Ohne Fixierung werden Modellaliase wie `sonnet` und `opus` zu Claude Codes integriertem Standard für Vertex AI aufgelöst, der hinter der neuesten Version zurückbleiben kann und möglicherweise noch nicht in Ihrem Projekt aktiviert ist. Claude Code [fällt zurück](#startup-model-checks) beim Start zur vorherigen Version zurück, wenn der Standard nicht verfügbar ist, aber das Fixieren ermöglicht es Ihnen, zu kontrollieren, wann Ihre Benutzer zu einem neuen Modell wechseln.

159</Warning>231</Warning>

160 232 

161Legen Sie diese Umgebungsvariablen auf spezifische Vertex AI-Modell-IDs fest.233Legen Sie diese Umgebungsvariablen auf spezifische Vertex AI-Modell-IDs fest.

headless.md +11 −3

Details

62 `--bare` ist der empfohlene Modus für skriptgesteuerte und SDK-Aufrufe und wird in einer zukünftigen Version zum Standard für `-p`.62 `--bare` ist der empfohlene Modus für skriptgesteuerte und SDK-Aufrufe und wird in einer zukünftigen Version zum Standard für `-p`.

63</Note>63</Note>

64 64 

65<h3 id="background-tasks-at-exit">

66 Hintergrundaufgaben beim Beenden

67</h3>

68 

69Wenn Claude während einer `claude -p`-Ausführung eine [Hintergrund-Bash-Aufgabe](/de/tools-reference#bash-tool-behavior) startet, beispielsweise einen Entwicklungsserver oder einen Watch-Build, wird diese Aufgabe etwa fünf Sekunden nach der Rückgabe des endgültigen Ergebnisses durch Claude und dem Schließen von stdin beendet. Die Kulanzfrist ermöglicht es einer Aufgabe, die direkt nach dem Ergebnis endet, ihre Ausgabe noch zu liefern. Vor v2.1.163 würde ein nie endender Hintergrundprozess die `claude -p`-Invokation auf unbestimmte Zeit offen halten.

70 

65<h2 id="examples">71<h2 id="examples">

66 Beispiele72 Beispiele

67</h2>73</h2>


163Wenn eine API-Anfrage mit einem wiederholbaren Fehler fehlschlägt, gibt Claude Code ein `system/api_retry`-Ereignis vor dem erneuten Versuch aus. Sie können dies verwenden, um Wiederholungsfortschritt anzuzeigen oder benutzerdefinierte Backoff-Logik zu implementieren.169Wenn eine API-Anfrage mit einem wiederholbaren Fehler fehlschlägt, gibt Claude Code ein `system/api_retry`-Ereignis vor dem erneuten Versuch aus. Sie können dies verwenden, um Wiederholungsfortschritt anzuzeigen oder benutzerdefinierte Backoff-Logik zu implementieren.

164 170 

165| Feld | Typ | Beschreibung |171| Feld | Typ | Beschreibung |

166| ---------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |172| ---------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

167| `type` | `"system"` | Nachrichtentyp |173| `type` | `"system"` | Nachrichtentyp |

168| `subtype` | `"api_retry"` | identifiziert dies als Wiederholungsereignis |174| `subtype` | `"api_retry"` | identifiziert dies als Wiederholungsereignis |

169| `attempt` | Ganzzahl | aktuelle Versuchsnummer, beginnend bei 1 |175| `attempt` | Ganzzahl | aktuelle Versuchsnummer, beginnend bei 1 |

170| `max_retries` | Ganzzahl | insgesamt zulässige Wiederholungen |176| `max_retries` | Ganzzahl | insgesamt zulässige Wiederholungen |

171| `retry_delay_ms` | Ganzzahl | Millisekunden bis zum nächsten Versuch |177| `retry_delay_ms` | Ganzzahl | Millisekunden bis zum nächsten Versuch |

172| `error_status` | Ganzzahl oder null | HTTP-Statuscode oder `null` für Verbindungsfehler ohne HTTP-Antwort |178| `error_status` | Ganzzahl oder null | HTTP-Statuscode oder `null` für Verbindungsfehler ohne HTTP-Antwort |

173| `error` | Zeichenkette | Fehlerkategorie: `authentication_failed`, `oauth_org_not_allowed`, `billing_error`, `rate_limit`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens` oder `unknown` |179| `error` | Zeichenkette | Fehlerkategorie: `authentication_failed`, `oauth_org_not_allowed`, `billing_error`, `rate_limit`, `overloaded`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens` oder `unknown` |

174| `uuid` | Zeichenkette | eindeutige Ereigniskennung |180| `uuid` | Zeichenkette | eindeutige Ereigniskennung |

175| `session_id` | Zeichenkette | Sitzung, zu der das Ereignis gehört |181| `session_id` | Zeichenkette | Sitzung, zu der das Ereignis gehört |

176 182 


226Das Flag `--allowedTools` verwendet [Berechtigungsregelsyntax](/de/settings#permission-rule-syntax). Das nachfolgende ` *` ermöglicht Präfix-Matching, sodass `Bash(git diff *)` jeden Befehl erlaubt, der mit `git diff` beginnt. Das Leerzeichen vor `*` ist wichtig: ohne es würde `Bash(git diff*)` auch `git diff-index` entsprechen.232Das Flag `--allowedTools` verwendet [Berechtigungsregelsyntax](/de/settings#permission-rule-syntax). Das nachfolgende ` *` ermöglicht Präfix-Matching, sodass `Bash(git diff *)` jeden Befehl erlaubt, der mit `git diff` beginnt. Das Leerzeichen vor `*` ist wichtig: ohne es würde `Bash(git diff*)` auch `git diff-index` entsprechen.

227 233 

228<Note>234<Note>

229 Benutzer-aufgerufene [skills](/de/skills) wie `/code-review` und [integrierte Befehle](/de/commands) sind nur im interaktiven Modus verfügbar. Im `-p`-Modus beschreiben Sie stattdessen die Aufgabe, die Sie ausführen möchten.235 Benutzer-aufgerufene [skills](/de/skills) und benutzerdefinierte Befehle funktionieren im `-p`-Modus: Fügen Sie `/skill-name` in die Eingabeaufforderungszeichenkette ein und Claude Code erweitert sie vor dem Ausführen. Integrierte Befehle, die einen interaktiven Dialog öffnen, wie `/config` und `/login`, sind im `-p`-Modus nicht verfügbar.

230</Note>236</Note>

231 237 

232<h3 id="customize-the-system-prompt">238<h3 id="customize-the-system-prompt">


265claude -p "Continue that review" --resume "$session_id"271claude -p "Continue that review" --resume "$session_id"

266```272```

267 273 

274Führen Sie beide Befehle aus demselben Verzeichnis aus: Die Sitzungs-ID-Suche ist auf das aktuelle Projektverzeichnis und seine Git-Worktrees beschränkt. Siehe [Eine Sitzung fortsetzen](/de/sessions#resume-a-session) für die vollständigen Bereichsregeln.

275 

268<h2 id="next-steps">276<h2 id="next-steps">

269 Nächste Schritte277 Nächste Schritte

270</h2>278</h2>

hooks.md +66 −27

Details

108Angenommen, Claude Code entscheidet sich, `Bash "rm -rf /tmp/build"` auszuführen. Hier ist, was passiert:108Angenommen, Claude Code entscheidet sich, `Bash "rm -rf /tmp/build"` auszuführen. Hier ist, was passiert:

109 109 

110<Frame>110<Frame>

111 <img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/hook-resolution.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=be0bf3053550c26de5f54cd64674c197" alt="Hook-Auflösungsfluss: PreToolUse-Ereignis wird ausgelöst, Matcher prüft auf Bash-Übereinstimmung, if-Bedingung prüft auf Bash(rm *)-Übereinstimmung, Hook-Handler wird ausgeführt, Ergebnis wird an Claude Code zurückgegeben" width="930" height="270" data-path="images/hook-resolution.svg" />111 <img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/hook-resolution.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=be0bf3053550c26de5f54cd64674c197" alt="Diagramm der Hook-Auflösung: PreToolUse wird ausgelöst, der Matcher prüft auf eine Bash-Übereinstimmung, dann prüft die if-Bedingung auf eine Bash(rm *)-Übereinstimmung. Wenn beide passen, wird der Hook-Befehl ausgeführt und gibt permissionDecision deny zurück, daher wird der Tool-Aufruf blockiert und Claude Code wird fortgesetzt. Wenn eine der Prüfungen nicht passt, wird der Hook übersprungen und der Tool-Aufruf darf fortgesetzt werden." width="930" height="270" data-path="images/hook-resolution.svg" />

112</Frame>112</Frame>

113 113 

114<Steps>114<Steps>


174Der Ort, an dem Sie einen Hook definieren, bestimmt seinen Umfang:174Der Ort, an dem Sie einen Hook definieren, bestimmt seinen Umfang:

175 175 

176| Speicherort | Umfang | Freigegeben |176| Speicherort | Umfang | Freigegeben |

177| :----------------------------------------------------------- | :------------------------------- | :------------------------------------ |177| :----------------------------------------------------------- | :------------------------------- | :--------------------------------------------- |

178| `~/.claude/settings.json` | Alle Ihre Projekte | Nein, lokal auf Ihrem Computer |178| `~/.claude/settings.json` | Alle Ihre Projekte | Nein, lokal auf Ihrem Computer |

179| `.claude/settings.json` | Einzelnes Projekt | Ja, kann im Repo committed werden |179| `.claude/settings.json` | Einzelnes Projekt | Ja, kann im Repo committed werden |

180| `.claude/settings.local.json` | Einzelnes Projekt | Nein, gitignored |180| `.claude/settings.local.json` | Einzelnes Projekt | Nein, gitignored, wenn Claude Code es erstellt |

181| Verwaltete Richtlinieneinstellungen | Organisationsweit | Ja, von Admin kontrolliert |181| Verwaltete Richtlinieneinstellungen | Organisationsweit | Ja, von Admin kontrolliert |

182| [Plugin](/de/plugins) `hooks/hooks.json` | Wenn Plugin aktiviert ist | Ja, mit dem Plugin gebündelt |182| [Plugin](/de/plugins) `hooks/hooks.json` | Wenn Plugin aktiviert ist | Ja, mit dem Plugin gebündelt |

183| [Skill](/de/skills) oder [Agent](/de/sub-agents) Frontmatter | Während die Komponente aktiv ist | Ja, in der Komponentendatei definiert |183| [Skill](/de/skills) oder [Agent](/de/sub-agents) Frontmatter | Während die Komponente aktiv ist | Ja, in der Komponentendatei definiert |


311Diese Felder gelten für alle Hook-Typen:311Diese Felder gelten für alle Hook-Typen:

312 312 

313| Feld | Erforderlich | Beschreibung |313| Feld | Erforderlich | Beschreibung |

314| :-------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |314| :-------------- | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

315| `type` | ja | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` oder `"agent"` |315| `type` | ja | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` oder `"agent"` |

316| `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, oder wenn ein Bash-Befehl zu komplex zum Analysieren ist. 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](/de/permissions) |316| `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](/de/permissions) |

317| `timeout` | nein | Sekunden vor dem Abbruch. Standardwerte: 600 für `command`, `http` und `mcp_tool`; 30 für `prompt`; 60 für `agent`. [`UserPromptSubmit`](#userpromptsubmit) senkt den Standardwert für `command`, `http` und `mcp_tool` auf 30, und [`MessageDisplay`](#messagedisplay) senkt ihn auf 10 |317| `timeout` | nein | Sekunden vor dem Abbruch. Standardwerte: 600 für `command`, `http` und `mcp_tool`; 30 für `prompt`; 60 für `agent`. [`UserPromptSubmit`](#userpromptsubmit) senkt den Standardwert für `command`, `http` und `mcp_tool` auf 30, und [`MessageDisplay`](#messagedisplay) senkt ihn auf 10 |

318| `statusMessage` | nein | Benutzerdefinierte Spinner-Nachricht, die angezeigt wird, während der Hook ausgeführt wird |318| `statusMessage` | nein | Benutzerdefinierte Spinner-Nachricht, die angezeigt wird, während der Hook ausgeführt wird |

319| `once` | nein | Wenn `true`, wird nur einmal pro Sitzung ausgeführt und dann entfernt. Nur für Hooks, die in [Skill-Frontmatter](#hooks-in-skills-and-agents) deklariert sind; wird in Einstellungsdateien und Agent-Frontmatter ignoriert |319| `once` | nein | Wenn `true`, wird nur einmal pro Sitzung ausgeführt und dann entfernt. Nur für Hooks, die in [Skill-Frontmatter](#hooks-in-skills-and-agents) deklariert sind; wird in Einstellungsdateien und Agent-Frontmatter ignoriert |

320 320 

321Das 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. Für Bash wird die Regel gegen jeden Subbefehl der Tool-Eingabe abgeglichen, nachdem führende `VAR=value`-Zuweisungen entfernt wurden, daher passt `if: "Bash(git push *)"` sowohl zu `FOO=bar git push` als auch zu `npm test && git push`. Der Hook wird ausgeführt, wenn ein Subbefehl passt, und wird immer ausgeführt, wenn der Befehl zu komplex zum Analysieren ist.321Das 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.

322 

323<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.

324 

325| `if`-Muster | Bash-Befehl | Hook wird ausgeführt? | Warum |

326| :----------------- | :--------------------- | :-------------------- | :----------------------------------------------------------------------------------------------------------- |

327| `Bash(git *)` | `FOO=bar git push` | ja | führende Zuweisungen werden entfernt; `git push` passt |

328| `Bash(git *)` | `npm test && git push` | ja | jeder Unterbefehl wird überprüft; `git push` passt |

329| `Bash(rm *)` | `echo $(rm -rf /)` | ja | Befehle in `$()` und Backticks werden überprüft; `rm -rf /` passt |

330| `Bash(rm *)` | `echo $(date)` | nein | kein Unterbefehl passt zu `rm *` |

331| `Bash(git push *)` | `echo $(date)` | ja | Muster, die mehr als den Befehlsnamen angeben, führen den Hook trotzdem bei `$()`, Backticks oder `$VAR` aus |

332 

333Der Filter schlägt auch offen fehl und führt Ihren Hook unabhängig vom Muster aus, wenn der Bash-Befehl nicht geparst werden kann. Da der `if`-Filter Best-Effort ist, verwenden Sie das [Berechtigungssystem](/de/permissions) statt eines Hooks, um ein hartes Zulassen oder Verweigern durchzusetzen.

322 334 

323<h4 id="command-hook-fields">335<h4 id="command-hook-fields">

324 Command-Hook-Felder336 Command-Hook-Felder


461Zusätzlich zu den [gemeinsamen Feldern](#common-fields) akzeptieren Prompt- und Agent-Hooks diese Felder:473Zusätzlich zu den [gemeinsamen Feldern](#common-fields) akzeptieren Prompt- und Agent-Hooks diese Felder:

462 474 

463| Feld | Erforderlich | Beschreibung |475| Feld | Erforderlich | Beschreibung |

464| :------- | :----------- | :--------------------------------------------------------------------------------------------------------- |476| :------- | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

465| `prompt` | ja | Prompt-Text zum Senden an das Modell. Verwenden Sie `$ARGUMENTS` als Platzhalter für die Hook-Eingabe JSON |477| `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 |

466| `model` | nein | Modell zur Verwendung für die Evaluierung. Standardwert ist ein schnelles Modell |478| `model` | nein | Modell zur Verwendung für die Evaluierung. Standardwert ist ein schnelles Modell |

467 479 

468Alle passenden Hooks werden parallel ausgeführt, und identische Handler werden automatisch dedupliziert. Command-Hooks werden nach Befehlszeichenkette und `args` dedupliziert, und HTTP-Hooks werden nach URL dedupliziert. Handler werden im aktuellen Verzeichnis mit der Umgebung von Claude Code ausgeführt. Die Umgebungsvariable `$CLAUDE_CODE_REMOTE` wird in Remote-Web-Umgebungen auf `"true"` gesetzt und ist in der lokalen CLI nicht gesetzt.480Alle passenden Hooks werden parallel ausgeführt, und identische Handler werden automatisch dedupliziert. Command-Hooks werden nach Befehlszeichenkette und `args` dedupliziert, und HTTP-Hooks werden nach URL dedupliziert. Handler werden im aktuellen Verzeichnis mit der Umgebung von Claude Code ausgeführt. Die Umgebungsvariable `$CLAUDE_CODE_REMOTE` wird in Remote-Web-Umgebungen auf `"true"` gesetzt und ist in der lokalen CLI nicht gesetzt.


619| `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. |631| `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. |

620| `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. Für [benutzerdefinierte Subagenten](/de/sub-agents) ist dies das `name`-Feld aus dem Frontmatter des Agenten, nicht der Dateiname. |632| `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. Für [benutzerdefinierte Subagenten](/de/sub-agents) ist dies das `name`-Feld aus dem Frontmatter des Agenten, nicht der Dateiname. |

621 633 

622Nur [`SessionStart`](#sessionstart)-Hooks erhalten ein `model`-Feld. Es gibt keine `$CLAUDE_MODEL`-Umgebungsvariable. Ein Hook-Prozess erbt die übergeordnete Umgebung, sodass er `$ANTHROPIC_MODEL` lesen kann, wenn Sie sie in Ihrer Shell setzen, aber dieser Wert ändert sich nicht, wenn Sie während einer Sitzung mit `/model` Modelle wechseln.634Nur [`SessionStart`](#sessionstart)-Hooks können ein `model`-Feld erhalten, und es ist nicht garantiert, dass es vorhanden ist. Es gibt keine `$CLAUDE_MODEL`-Umgebungsvariable. Ein Hook-Prozess erbt die übergeordnete Umgebung, sodass er `$ANTHROPIC_MODEL` lesen kann, wenn Sie sie in Ihrer Shell setzen, aber dieser Wert ändert sich nicht, wenn Sie während einer Sitzung mit `/model` Modelle wechseln.

623 635 

624Zum Beispiel erhält ein `PreToolUse`-Hook für einen Bash-Befehl dies über stdin:636Zum Beispiel erhält ein `PreToolUse`-Hook für einen Bash-Befehl dies über stdin:

625 637 


663 exit 2 # Blockierender Fehler: Tool-Aufruf wird verhindert675 exit 2 # Blockierender Fehler: Tool-Aufruf wird verhindert

664fi676fi

665 677 

666exit 0 # Erfolg: Tool-Aufruf wird fortgesetzt678exit 0 # Keine Entscheidung: der normale Berechtigungsfluss gilt

667```679```

668 680 

669<Warning>681<Warning>


782# Notification-Hook: Ping des Desktops, wenn Claude Code Aufmerksamkeit benötigt.794# Notification-Hook: Ping des Desktops, wenn Claude Code Aufmerksamkeit benötigt.

783input=$(cat)795input=$(cat)

784title="Claude Code'796title="Claude Code'

785body=$(jq -r '.message // 'Needs your attention'' <<<"$input")797body=$(jq -r '.message // 'Needs your attention'' <<<'$input")

786seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")798seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")

787jq -nc --arg seq "$seq" '{terminalSequence: $seq}'799jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

788```800```


815* [SessionStart](#sessionstart), [Setup](#setup) und [SubagentStart](#subagentstart): am Anfang des Gesprächs, vor der ersten Eingabeaufforderung827* [SessionStart](#sessionstart), [Setup](#setup) und [SubagentStart](#subagentstart): am Anfang des Gesprächs, vor der ersten Eingabeaufforderung

816* [UserPromptSubmit](#userpromptsubmit) und [UserPromptExpansion](#userpromptexpansion): neben der eingereichten Eingabeaufforderung828* [UserPromptSubmit](#userpromptsubmit) und [UserPromptExpansion](#userpromptexpansion): neben der eingereichten Eingabeaufforderung

817* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) und [PostToolBatch](#posttoolbatch): neben dem Tool-Ergebnis829* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) und [PostToolBatch](#posttoolbatch): neben dem Tool-Ergebnis

830* [Stop](#stop) und [SubagentStop](#subagentstop): am Ende des Zugs. Das Gespräch wird fortgesetzt, sodass Claude auf das Feedback reagieren kann. Siehe [Stop-Entscheidungskontrolle](#stop-decision-control)

818 831 

819Wenn mehrere Hooks `additionalContext` für das gleiche Ereignis zurückgeben, erhält Claude alle Werte. Wenn ein Wert 10.000 Zeichen überschreitet, schreibt Claude Code den vollständigen Text in eine Datei im Sitzungsverzeichnis und übergibt Claude stattdessen den Dateipfad mit einer kurzen Vorschau.832Wenn mehrere Hooks `additionalContext` für das gleiche Ereignis zurückgeben, erhält Claude alle Werte. Wenn ein Wert 10.000 Zeichen überschreitet, schreibt Claude Code den vollständigen Text in eine Datei im Sitzungsverzeichnis und übergibt Claude stattdessen den Dateipfad mit einer kurzen Vorschau.

820 833 


838 851 

839| Ereignisse | Entscheidungsmuster | Schlüsselfelder |852| Ereignisse | Entscheidungsmuster | Schlüsselfelder |

840| :---------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |853| :---------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

841| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | Top-Level `decision` | `decision: "block"`, `reason` |854| 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 das Gespräch fortsetzt](#stop-decision-control) |

842| TeammateIdle, TaskCreated, 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 |855| TeammateIdle, TaskCreated, 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 |

843| PreToolUse | `hookSpecificOutput` | `permissionDecision` (allow/deny/ask/defer), `permissionDecisionReason` |856| PreToolUse | `hookSpecificOutput` | `permissionDecision` (allow/deny/ask/defer), `permissionDecisionReason` |

844| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |857| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |


850| SessionStart, Setup, SubagentStart | 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 |863| SessionStart, Setup, SubagentStart | 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 |

851| WorktreeRemove, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, FileChanged | Keine | Keine Entscheidungskontrolle. Wird für Nebenwirkungen wie Protokollierung oder Bereinigung verwendet |864| WorktreeRemove, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, FileChanged | Keine | Keine Entscheidungskontrolle. Wird für Nebenwirkungen wie Protokollierung oder Bereinigung verwendet |

852 865 

866Einige Ereignisse können auch Inhalte umschreiben, anstatt nur zuzulassen oder zu blockieren:

867 

868* `PreToolUse` — `updatedInput` direkt unter `hookSpecificOutput` ersetzt die Argumente eines Tools, bevor es ausgeführt wird ([Details](#pretooluse-decision-control))

869* `PermissionRequest` — `updatedInput` innerhalb des `decision`-Objekts ([Details](#permissionrequest-decision-control))

870* `PostToolUse` — `updatedToolOutput` ersetzt das Ergebnis des Tools ([Details](#posttooluse-decision-control))

871* `UserPromptSubmit` — kann den Prompt nicht ersetzen; injiziert nur `additionalContext` daneben

872 

873Für Redaktions- oder Transformationsfälle, fangen Sie bei `PreToolUse` für ausgehende Tool-Eingaben und `PostToolUse` für eingehende Tool-Ergebnisse ab.

874 

853Hier sind Beispiele für jedes Muster in Aktion:875Hier sind Beispiele für jedes Muster in Aktion:

854 876 

855<Tabs>877<Tabs>


926 SessionStart-Eingabe948 SessionStart-Eingabe

927</h4>949</h4>

928 950 

929Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SessionStart-Hooks `source`, `model` und optional `agent_type` und `session_title`. Das Feld `source` gibt an, wie die Sitzung gestartet wurde: `"startup"` für neue Sitzungen, `"resume"` für fortgesetzte Sitzungen, `"clear"` nach `/clear` oder `"compact"` nach Komprimierung. Das Feld `model` enthält die Modell-ID. Wenn Sie Claude Code mit `claude --agent <name>` starten, enthält ein Feld `agent_type` den Agent-Namen. Das Feld `session_title` trägt den aktuellen 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.951Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SessionStart-Hooks `source`, `model` und optional `agent_type` und `session_title`. Das Feld `source` gibt an, wie die Sitzung gestartet wurde: `"startup"` für neue Sitzungen, `"resume"` für fortgesetzte Sitzungen, `"clear"` nach `/clear` oder `"compact"` nach Komprimierung. Das Feld `model` enthält die Modell-ID. Es 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. Wenn Sie Claude Code mit `claude --agent <name>` starten, enthält ein Feld `agent_type` den Agent-Namen. Das Feld `session_title` trägt den aktuellen 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.

930 952 

931```json theme={null}953```json theme={null}

932{954{


1502In `PostToolUse` trägt `tool_response` für einen abgeschlossenen Agent-Aufruf den abschließenden Text des Subagenten zusammen mit Nutzungstelemetrie. Lesen Sie diese Felder, um Pro-Subagent-Kosten aus einem Hook zu erfassen:1524In `PostToolUse` trägt `tool_response` für einen abgeschlossenen Agent-Aufruf den abschließenden Text des Subagenten zusammen mit Nutzungstelemetrie. Lesen Sie diese Felder, um Pro-Subagent-Kosten aus einem Hook zu erfassen:

1503 1525 

1504| Feld | Typ | Beispiel | Beschreibung |1526| Feld | Typ | Beispiel | Beschreibung |

1505| :------------------ | :----------- | :---------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------- |1527| :------------------ | :----------- | :---------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1506| `status` | Zeichenkette | `"completed"` | `"completed"` für synchrone Aufrufe, `"async_launched"` für `run_in_background: true` |1528| `status` | Zeichenkette | `"completed"` | `"completed"` für synchrone Aufrufe, `"async_launched"` für `run_in_background: true` |

1507| `agentId` | Zeichenkette | `"a4d2c8f1e0b3a297"` | Kennung für die Subagenten-Ausführung |1529| `agentId` | Zeichenkette | `"a4d2c8f1e0b3a297"` | Kennung für die Subagenten-Ausführung |

1508| `content` | Array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Die abschließenden Textblöcke des Subagenten |1530| `content` | Array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Die abschließenden Textblöcke des Subagenten |

1531| `resolvedModel` | Zeichenkette | `"claude-sonnet-4-5"` | Modell, auf dem der Subagent ausgeführt wurde, das sich vom angeforderten Modell unterscheiden kann. {/* min-version: 2.1.174 */}Erfordert Claude Code v2.1.174 oder später |

1509| `totalTokens` | Zahl | `12450` | Gesamttokens, die über die Runden des Subagenten abgerechnet werden |1532| `totalTokens` | Zahl | `12450` | Gesamttokens, die über die Runden des Subagenten abgerechnet werden |

1510| `totalDurationMs` | Zahl | `48211` | Wanduhr-Dauer der Subagenten-Ausführung |1533| `totalDurationMs` | Zahl | `48211` | Wanduhr-Dauer der Subagenten-Ausführung |

1511| `totalToolUseCount` | Zahl | `7` | Anzahl der Tool-Aufrufe, die der Subagent gemacht hat |1534| `totalToolUseCount` | Zahl | `7` | Anzahl der Tool-Aufrufe, die der Subagent gemacht hat |

1512| `usage` | Objekt | `{"input_tokens": 8320, ...}` | Pro-Typ-Token-Aufschlüsselung: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1535| `usage` | Objekt | `{"input_tokens": 8320, ...}` | Pro-Typ-Token-Aufschlüsselung: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1513 1536 

1514Für `run_in_background: true`-Aufrufe gibt das Tool sofort nach dem Starten des Subagenten zurück, daher trägt `tool_response` keine Nutzungsfelder. Es hat stattdessen `status: "async_launched"`, `agentId`, `description`, `prompt` und `outputFile`.1537Für `run_in_background: true`-Aufrufe gibt das Tool sofort nach dem Starten des Subagenten zurück, daher trägt `tool_response` keine Nutzungsfelder. Es hat stattdessen `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` und `resolvedModel`.

1538 

1539Das Feld `resolvedModel` nennt das Modell, auf dem der Subagent tatsächlich ausgeführt wird, das sich vom Wert `model` in `tool_input` unterscheiden kann. Es erfordert Claude Code v2.1.174 oder später.

1540 

1541<a id="askuserquestion" />

1515 1542 

1516<h5 id="askuserquestion">1543<h5 id="askuserquestion">

1517 AskUserQuestion1544 AskUserQuestion


2088}2115}

2089```2116```

2090 2117 

2091SubagentStop-Hooks verwenden das gleiche Entscheidungskontrollformat wie [Stop-Hooks](#stop-decision-control). Sie unterstützen keine `additionalContext`. 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. 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.2118SubagentStop-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. 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.

2092 2119 

2093<h3 id="taskcreated">2120<h3 id="taskcreated">

2094 TaskCreated2121 TaskCreated


2115 "task_subject": "Implement user authentication",2142 "task_subject": "Implement user authentication",

2116 "task_description": "Add login and signup endpoints",2143 "task_description": "Add login and signup endpoints",

2117 "teammate_name": "implementer",2144 "teammate_name": "implementer",

2118 "team_name": "my-project"2145 "team_name": "session-a1b2c3d4"

2119}2146}

2120```2147```

2121 2148 

2122| Feld | Beschreibung |2149| Feld | Beschreibung |

2123| :----------------- | :-------------------------------------------------------- |2150| :----------------- | :------------------------------------------------------------------------- |

2124| `task_id` | Kennung der zu erstellenden Aufgabe |2151| `task_id` | Kennung der zu erstellenden Aufgabe |

2125| `task_subject` | Titel der Aufgabe |2152| `task_subject` | Titel der Aufgabe |

2126| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |2153| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |

2127| `teammate_name` | Name des Teammates, das die Aufgabe erstellt. Kann fehlen |2154| `teammate_name` | Name des Teammates, das die Aufgabe erstellt. Kann fehlen |

2128| `team_name` | Name des Teams. Kann fehlen |2155| `team_name` | Deprecated. Session-derived team name; will be removed in a future release |

2129 2156 

2130<h4 id="taskcreated-decision-control">2157<h4 id="taskcreated-decision-control">

2131 TaskCreated-Entscheidungskontrolle2158 TaskCreated-Entscheidungskontrolle


2176 "task_subject": "Implement user authentication",2203 "task_subject": "Implement user authentication",

2177 "task_description": "Add login and signup endpoints",2204 "task_description": "Add login and signup endpoints",

2178 "teammate_name": "implementer",2205 "teammate_name": "implementer",

2179 "team_name": "my-project"2206 "team_name": "session-a1b2c3d4"

2180}2207}

2181```2208```

2182 2209 

2183| Feld | Beschreibung |2210| Feld | Beschreibung |

2184| :----------------- | :---------------------------------------------------------- |2211| :----------------- | :------------------------------------------------------------------------- |

2185| `task_id` | Kennung der abgeschlossenen Aufgabe |2212| `task_id` | Kennung der abgeschlossenen Aufgabe |

2186| `task_subject` | Titel der Aufgabe |2213| `task_subject` | Titel der Aufgabe |

2187| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |2214| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |

2188| `teammate_name` | Name des Teammates, das die Aufgabe abschließt. Kann fehlen |2215| `teammate_name` | Name des Teammates, das die Aufgabe abschließt. Kann fehlen |

2189| `team_name` | Name des Teams. Kann fehlen |2216| `team_name` | Deprecated. Session-derived team name; will be removed in a future release |

2190 2217 

2191<h4 id="taskcompleted-decision-control">2218<h4 id="taskcompleted-decision-control">

2192 TaskCompleted-Entscheidungskontrolle2219 TaskCompleted-Entscheidungskontrolle


2227 Stop-Eingabe2254 Stop-Eingabe

2228</h4>2255</h4>

2229 2256 

2230Zusä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.2257Zusä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.

2231 2258 

2232Das Feld `last_assistant_message` enthält den Textinhalt von Claudes letzter Antwort, daher können Hooks darauf zugreifen, ohne die Transkript-Datei zu analysieren.2259Das Feld `last_assistant_message` enthält den Textinhalt von Claudes letzter Antwort, daher können Hooks darauf zugreifen, ohne die Transkript-Datei zu analysieren.

2233 2260 


2294`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:2321`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:

2295 2322 

2296| Feld | Beschreibung |2323| Feld | Beschreibung |

2297| :--------- | :------------------------------------------------------------------------------------------------ |2324| :------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2298| `decision` | `"block"` verhindert, dass Claude stoppt. Weglassen, um Claude zu stoppen |2325| `decision` | `"block"` verhindert, dass Claude stoppt. Weglassen, um Claude zu stoppen |

2299| `reason` | Erforderlich, wenn `decision` `"block"` ist. Teilt Claude mit, warum es fortgesetzt werden sollte |2326| `reason` | Erforderlich, wenn `decision` `"block"` ist. Teilt Claude mit, warum es fortgesetzt werden sollte |

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

2300 2328 

2301```json theme={null}2329```json theme={null}

2302{2330{


2305}2333}

2306```2334```

2307 2335 

2336Verwenden 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:

2337 

2338```json theme={null}

2339{

2340 "hookSpecificOutput": {

2341 "hookEventName": "Stop",

2342 "additionalContext": "Please run the test suite before finishing"

2343 }

2344}

2345```

2346 

2308<h3 id="stopfailure">2347<h3 id="stopfailure">

2309 StopFailure2348 StopFailure

2310</h3>2349</h3>


2359 "permission_mode": "default",2398 "permission_mode": "default",

2360 "hook_event_name": "TeammateIdle",2399 "hook_event_name": "TeammateIdle",

2361 "teammate_name": "researcher",2400 "teammate_name": "researcher",

2362 "team_name": "my-project"2401 "team_name": "session-a1b2c3d4"

2363}2402}

2364```2403```

2365 2404 

2366| Feld | Beschreibung |2405| Feld | Beschreibung |

2367| :-------------- | :------------------------------------------ |2406| :-------------- | :------------------------------------------------------------------------- |

2368| `teammate_name` | Name des Teammates, das untätig werden soll |2407| `teammate_name` | Name des Teammates, das untätig werden soll |

2369| `team_name` | Name des Teams |2408| `team_name` | Deprecated. Session-derived team name; will be removed in a future release |

2370 2409 

2371<h4 id="teammateidle-decision-control">2410<h4 id="teammateidle-decision-control">

2372 TeammateIdle-Entscheidungskontrolle2411 TeammateIdle-Entscheidungskontrolle

hooks-guide.md +18 −6

Details

506 506 

507Wenn mehrere Hooks das gleiche Event abgleichen, wird jeder Hook-Befehl bis zur Fertigstellung ausgeführt, bevor Claude Code die Ergebnisse zusammenführt. Ein Hook, der `deny` zurückgibt, stoppt nicht die Ausführung von Sibling-Hooks. Verlassen Sie sich nicht darauf, dass ein Hook's `deny` Nebenwirkungen in einem anderen Hook unterdrückt.507Wenn mehrere Hooks das gleiche Event abgleichen, wird jeder Hook-Befehl bis zur Fertigstellung ausgeführt, bevor Claude Code die Ergebnisse zusammenführt. Ein Hook, der `deny` zurückgibt, stoppt nicht die Ausführung von Sibling-Hooks. Verlassen Sie sich nicht darauf, dass ein Hook's `deny` Nebenwirkungen in einem anderen Hook unterdrückt.

508 508 

509Nachdem alle übereinstimmenden Hooks fertig sind, kombiniert Claude Code ihre Ausgaben. Für `PreToolUse`-Berechtigungsentscheidungen gewinnt die restriktivste Antwort: `deny` überschreibt `ask`, was `allow` überschreibt. Text aus `additionalContext` wird von jedem Hook beibehalten und zusammen an Claude übergeben.509Nachdem alle übereinstimmenden Hooks fertig sind, kombiniert Claude Code ihre Ausgaben. Für `PreToolUse`-Berechtigungsentscheidungen gewinnt die restriktivste Antwort in der Reihenfolge `deny`, `defer`, `ask`, `allow`. Text aus `additionalContext` wird von jedem Hook beibehalten und zusammen an Claude übergeben.

510 510 

511Das folgende Beispiel registriert zwei `PreToolUse`-Hooks auf `Bash`. Der erste hängt jeden Befehl an eine Protokolldatei an und beendet sich mit 0. Der zweite führt ein Skript aus, das mit 2 beendet wird, um zu verweigern, wenn der Befehl `rm -rf` enthält:511Das folgende Beispiel registriert zwei `PreToolUse`-Hooks auf `Bash`. Der erste hängt jeden Befehl an eine Protokolldatei an und beendet sich mit 0. Der zweite führt ein Skript aus, das mit 2 beendet wird, um zu verweigern, wenn der Befehl `rm -rf` enthält:

512 512 


751 Das Feld `if` erfordert Claude Code v2.1.85 oder später. Frühere Versionen ignorieren es und führen den Hook bei jedem abgeglichenen Aufruf aus.751 Das Feld `if` erfordert Claude Code v2.1.85 oder später. Frühere Versionen ignorieren es und führen den Hook bei jedem abgeglichenen Aufruf aus.

752</Note>752</Note>

753 753 

754Das Feld `if` verwendet [Berechtigungsregel-Syntax](/de/permissions) zum Filtern von Hooks nach Tool-Name und Argumenten zusammen, sodass der Hook-Prozess nur spawnt, wenn der Tool-Aufruf übereinstimmt, oder wenn ein Bash-Befehl zu komplex ist, um ihn zu parsen. Dies geht über `matcher` hinaus, das nur auf Tool-Name-Ebene filtert.754Das Feld `if` verwendet [Berechtigungsregel-Syntax](/de/permissions) zum Filtern von Hooks nach Tool-Name und Argumenten zusammen, sodass der Hook-Prozess nur spawnt, wenn der Tool-Aufruf übereinstimmt. Dies geht über `matcher` hinaus, das auf der Gruppenebene nur nach Tool-Name filtert.

755 755 

756Beispielsweise, um einen Hook nur auszuführen, wenn Claude `git`-Befehle verwendet, anstatt alle Bash-Befehle:756Beispielsweise, um einen Hook nur auszuführen, wenn Claude `git`-Befehle verwendet, anstatt alle Bash-Befehle:

757 757 


774}774}

775```775```

776 776 

777Der Hook-Prozess spawnt nur, wenn ein Subbefehl des Bash-Befehls mit `git *` übereinstimmt, oder wenn der Befehl zu komplex ist, um ihn in Subcommands zu parsen. Für zusammengesetzte Befehle wie `npm test && git push` wertet Claude Code jeden Subbefehl aus und löst den Hook aus, weil `git push` übereinstimmt. Das Feld `if` akzeptiert die gleichen Muster wie Berechtigungsregeln: `"Bash(git *)"`, `"Edit(*.ts)"` und so weiter. Um mehrere Tool-Namen abzugleichen, verwenden Sie separate Handler, jeder mit seinem eigenen `if`-Wert, oder gleichen Sie auf der `matcher`-Ebene ab, wo Pipe-Alternation unterstützt wird.777Ob Ihr Hook-Befehl ausgeführt wird, hängt von der Form Ihres `if`-Musters und dem Bash-Befehl ab, den Claude aufruft:

778 

779| `if`-Muster | Bash-Befehl | Hook wird ausgeführt? | Warum |

780| :----------------- | :--------------------- | :-------------------- | :----------------------------------------------------------------------------------------------------------- |

781| `Bash(git *)` | `git push` | ja | Befehlsname stimmt überein |

782| `Bash(git *)` | `npm test && git push` | ja | jeder Subbefehl wird überprüft; `git push` stimmt überein |

783| `Bash(git *)` | `echo $(git log)` | ja | Befehle in `$()` und Backticks werden überprüft; `git log` stimmt überein |

784| `Bash(git *)` | `echo $(date)` | nein | kein Subbefehl stimmt mit `git *` überein |

785| `Bash(git push *)` | `echo $(date)` | ja | Muster, die mehr als den Befehlsnamen angeben, führen den Hook trotzdem bei `$()`, Backticks oder `$VAR` aus |

786 

787Der Filter schlägt auch offen fehl und führt Ihren Hook unabhängig vom Muster aus, wenn der Bash-Befehl nicht geparst werden kann. Da der Filter Best-Effort ist, verwenden Sie das [Berechtigungssystem](/de/permissions) anstelle eines Hooks, um ein hartes Allow oder Deny durchzusetzen.

788 

789Das Feld `if` akzeptiert die gleichen Muster wie Berechtigungsregeln: `"Bash(git *)"`, `"Edit(*.ts)"` und so weiter. Um mehrere Tool-Namen abzugleichen, verwenden Sie separate Handler, jeder mit seinem eigenen `if`-Wert, oder gleichen Sie auf der `matcher`-Ebene ab, wo Pipe-Alternation unterstützt wird.

778 790 

779`if` funktioniert nur bei Tool-Events: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` und `PermissionDenied`. Das Hinzufügen zu einem anderen Event verhindert, dass der Hook ausgeführt wird.791`if` funktioniert nur bei Tool-Events: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` und `PermissionDenied`. Das Hinzufügen zu einem anderen Event verhindert, dass der Hook ausgeführt wird.

780 792 


785Wo Sie einen Hook hinzufügen, bestimmt seinen Bereich:797Wo Sie einen Hook hinzufügen, bestimmt seinen Bereich:

786 798 

787| Speicherort | Bereich | Freigegeben |799| Speicherort | Bereich | Freigegeben |

788| :----------------------------------------------------------- | :------------------------------------- | :------------------------------------ |800| :----------------------------------------------------------- | :------------------------------------- | :---------------------------------------------- |

789| `~/.claude/settings.json` | Alle Ihre Projekte | Nein, lokal auf Ihrem Computer |801| `~/.claude/settings.json` | Alle Ihre Projekte | Nein, lokal auf Ihrem Computer |

790| `.claude/settings.json` | Einzelnes Projekt | Ja, kann im Repo committed werden |802| `.claude/settings.json` | Einzelnes Projekt | Ja, kann im Repo committed werden |

791| `.claude/settings.local.json` | Einzelnes Projekt | Nein, gitignoriert |803| `.claude/settings.local.json` | Einzelnes Projekt | Nein, gitignoriert wenn Claude Code es erstellt |

792| Verwaltete Richtlinieneinstellungen | Organisationsweit | Ja, von Admin kontrolliert |804| Verwaltete Richtlinieneinstellungen | Organisationsweit | Ja, von Admin kontrolliert |

793| [Plugin](/de/plugins) `hooks/hooks.json` | Wenn Plugin aktiviert ist | Ja, mit dem Plugin gebündelt |805| [Plugin](/de/plugins) `hooks/hooks.json` | Wenn Plugin aktiviert ist | Ja, mit dem Plugin gebündelt |

794| [Skill](/de/skills) oder [Agent](/de/sub-agents) Frontmatter | Während der Skill oder Agent aktiv ist | Ja, in der Komponentendatei definiert |806| [Skill](/de/skills) oder [Agent](/de/sub-agents) Frontmatter | Während der Skill oder Agent aktiv ist | Ja, in der Komponentendatei definiert |

795 807 

796Führen Sie [`/hooks`](/de/hooks#the-hooks-menu) in Claude Code aus, um alle konfigurierten Hooks nach Event gruppiert zu durchsuchen. Um Hooks zu deaktivieren, setzen Sie `"disableAllHooks": true` in Ihrer Einstellungsdatei. Hooks, die in verwalteten Einstellungen konfiguriert sind, werden weiterhin ausgeführt, es sei denn, `disableAllHooks` ist auch dort gesetzt.808Führen Sie [`/hooks`](/de/hooks#the-%2Fhooks-menu) in Claude Code aus, um alle konfigurierten Hooks nach Event gruppiert zu durchsuchen. Um Hooks zu deaktivieren, setzen Sie `"disableAllHooks": true` in Ihrer Einstellungsdatei. Hooks, die in verwalteten Einstellungen konfiguriert sind, werden weiterhin ausgeführt, es sei denn, `disableAllHooks` ist auch dort gesetzt.

797 809 

798Wenn Sie Einstellungsdateien direkt bearbeiten, während Claude Code läuft, werden Hook-Änderungen normalerweise automatisch vom Datei-Watcher aufgegriffen.810Wenn Sie Einstellungsdateien direkt bearbeiten, während Claude Code läuft, werden Hook-Änderungen normalerweise automatisch vom Datei-Watcher aufgegriffen.

799 811 

Details

16 16 

17Wenn Sie Claude eine Aufgabe geben, arbeitet er durch drei Phasen: **Kontext sammeln**, **Maßnahmen ergreifen** und **Ergebnisse überprüfen**. Diese Phasen verschmelzen miteinander. Claude nutzt Tools durchgehend, ob beim Durchsuchen von Dateien zum Verständnis Ihres Codes, beim Bearbeiten zur Vornahme von Änderungen oder beim Ausführen von Tests zur Überprüfung seiner Arbeit.17Wenn Sie Claude eine Aufgabe geben, arbeitet er durch drei Phasen: **Kontext sammeln**, **Maßnahmen ergreifen** und **Ergebnisse überprüfen**. Diese Phasen verschmelzen miteinander. Claude nutzt Tools durchgehend, ob beim Durchsuchen von Dateien zum Verständnis Ihres Codes, beim Bearbeiten zur Vornahme von Änderungen oder beim Ausführen von Tests zur Überprüfung seiner Arbeit.

18 18 

19<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agentic-loop.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=4a30fb7ce2815012a9f27c955e2c6bb0" alt="Die agentengesteuerte Schleife: Ihre Eingabeaufforderung führt dazu, dass Claude Kontext sammelt, Maßnahmen ergreift, Ergebnisse überprüft und wiederholt, bis die Aufgabe abgeschlossen ist. Sie können jederzeit unterbrechen." width="720" height="280" data-path="images/agentic-loop.svg" />19<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agentic-loop.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=4a30fb7ce2815012a9f27c955e2c6bb0" alt="Diagramm der agentengesteuerten Schleife: Ihre Eingabeaufforderung führt dazu, dass Claude Kontext sammelt, Maßnahmen ergreift, Ergebnisse überprüft und wiederholt, bis die Aufgabe abgeschlossen ist. Sie können jederzeit unterbrechen." width="720" height="280" data-path="images/agentic-loop.svg" />

20 20 

21Die Schleife passt sich an das an, was Sie fragen. Eine Frage zu Ihrer Codebasis könnte nur Kontextsammlung erfordern. Eine Fehlerbehebung durchläuft alle drei Phasen wiederholt. Eine Umstrukturierung könnte umfangreiche Überprüfung beinhalten. Claude entscheidet, was jeder Schritt erfordert, basierend auf dem, was er aus dem vorherigen Schritt gelernt hat, verkettet Dutzende von Aktionen zusammen und korrigiert seinen Kurs unterwegs.21Die Schleife passt sich an das an, was Sie fragen. Eine Frage zu Ihrer Codebasis könnte nur Kontextsammlung erfordern. Eine Fehlerbehebung durchläuft alle drei Phasen wiederholt. Eine Umstrukturierung könnte umfangreiche Überprüfung beinhalten. Claude entscheidet, was jeder Schritt erfordert, basierend auf dem, was er aus dem vorherigen Schritt gelernt hat, verkettet Dutzende von Aktionen zusammen und korrigiert seinen Kurs unterwegs.

22 22 


50| **Web** | Das Web durchsuchen, Dokumentation abrufen, Fehlermeldungen nachschlagen |50| **Web** | Das Web durchsuchen, Dokumentation abrufen, Fehlermeldungen nachschlagen |

51| **Code-Intelligenz** | Typfehler und Warnungen nach Bearbeitungen sehen, zu Definitionen springen, Referenzen finden (erfordert [Code-Intelligenz-Plugins](/de/discover-plugins#code-intelligence)) |51| **Code-Intelligenz** | Typfehler und Warnungen nach Bearbeitungen sehen, zu Definitionen springen, Referenzen finden (erfordert [Code-Intelligenz-Plugins](/de/discover-plugins#code-intelligence)) |

52 52 

53Dies sind die primären Funktionen. Claude hat auch Tools zum Spawnen von subagents, zum Stellen von Fragen und für andere Orchestrierungsaufgaben. Siehe [Tools verfügbar für Claude](/de/tools-reference) für die vollständige Liste.53Dies sind die primären Funktionen. Claude hat auch Tools zum Spawnen von Subagenten, zum Stellen von Fragen und für andere Orchestrierungsaufgaben. Siehe [Tools verfügbar für Claude](/de/tools-reference) für die vollständige Liste.

54 54 

55Claude wählt basierend auf Ihrer Eingabeaufforderung und dem, was er unterwegs lernt, aus, welche Tools er verwenden soll. Wenn Sie sagen „beheben Sie die fehlgeschlagenen Tests", könnte Claude:55Claude wählt basierend auf Ihrer Eingabeaufforderung und dem, was er unterwegs lernt, aus, welche Tools er verwenden soll. Wenn Sie sagen „beheben Sie die fehlgeschlagenen Tests", könnte Claude:

56 56 


138 Das Kontextfenster138 Das Kontextfenster

139</h3>139</h3>

140 140 

141Claudes Kontextfenster enthält Ihre Konversationshistorie, Dateiinhalte, Befehlsausgaben, [CLAUDE.md](/de/memory), [Auto-Speicher](/de/memory#auto-memory), geladene skills und Systemanweisungen. Während Sie arbeiten, füllt sich der Kontext. Claude komprimiert automatisch, aber Anweisungen von früh in der Konversation können verloren gehen. Legen Sie persistente Regeln in CLAUDE.md ab, und führen Sie `/context` aus, um zu sehen, was Platz verbraucht.141Claudes Kontextfenster enthält Ihre Konversationshistorie, Dateiinhalte, Befehlsausgaben, [CLAUDE.md](/de/memory), [Auto-Speicher](/de/memory#auto-memory), geladene Skills und Systemanweisungen. Während Sie arbeiten, füllt sich der Kontext. Claude komprimiert automatisch, aber Anweisungen von früh in der Konversation können verloren gehen. Legen Sie persistente Regeln in CLAUDE.md ab, und führen Sie `/context` aus, um zu sehen, was Platz verbraucht.

142 142 

143Für eine interaktive Anleitung zu dem, was geladen wird und wann, siehe [Erkunden Sie das Kontextfenster](/de/context-window).143Für eine interaktive Anleitung zu dem, was geladen wird und wann, siehe [Erkunden Sie das Kontextfenster](/de/context-window).

144 144 


155Führen Sie `/context` aus, um zu sehen, was Platz verbraucht. MCP-Tool-Definitionen werden standardmäßig aufgeschoben und bei Bedarf über [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) geladen, daher verbrauchen nur Tool-Namen Kontext, bis Claude ein bestimmtes Tool verwendet. Führen Sie `/mcp` aus, um die Kosten pro Server zu überprüfen.155Führen Sie `/context` aus, um zu sehen, was Platz verbraucht. MCP-Tool-Definitionen werden standardmäßig aufgeschoben und bei Bedarf über [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) geladen, daher verbrauchen nur Tool-Namen Kontext, bis Claude ein bestimmtes Tool verwendet. Führen Sie `/mcp` aus, um die Kosten pro Server zu überprüfen.

156 156 

157<h4 id="manage-context-with-skills-and-subagents">157<h4 id="manage-context-with-skills-and-subagents">

158 Kontext mit skills und subagents verwalten158 Kontext mit Skills und Subagents verwalten

159</h4>159</h4>

160 160 

161Über die Komprimierung hinaus können Sie andere Funktionen verwenden, um zu kontrollieren, was in den Kontext geladen wird.161Über die Komprimierung hinaus können Sie andere Funktionen verwenden, um zu kontrollieren, was in den Kontext geladen wird.

162 162 

163[Skills](/de/skills) werden bei Bedarf geladen. Claude sieht Skill-Beschreibungen zu Sitzungsbeginn, aber der vollständige Inhalt wird nur geladen, wenn ein Skill verwendet wird. Für Skills, die Sie manuell aufrufen, setzen Sie `disable-model-invocation: true`, um Beschreibungen aus dem Kontext zu halten, bis Sie sie benötigen. Für Skills, die Sie nicht geschrieben haben, verwenden Sie [`skillOverrides`](/de/skills#override-skill-visibility-from-settings), um dasselbe aus den Einstellungen zu tun.163[Skills](/de/skills) werden bei Bedarf geladen. Claude sieht Skill-Beschreibungen zu Sitzungsbeginn, aber der vollständige Inhalt wird nur geladen, wenn ein Skill verwendet wird. Für Skills, die Sie manuell aufrufen, setzen Sie `disable-model-invocation: true`, um Beschreibungen aus dem Kontext zu halten, bis Sie sie benötigen. Für Skills, die Sie nicht geschrieben haben, verwenden Sie [`skillOverrides`](/de/skills#override-skill-visibility-from-settings), um dasselbe aus den Einstellungen zu tun.

164 164 

165[Subagents](/de/sub-agents) erhalten ihren eigenen frischen Kontext, völlig getrennt von Ihrer Hauptkonversation. Ihre Arbeit bläht Ihren Kontext nicht auf. Wenn sie fertig sind, geben sie eine Zusammenfassung zurück. Diese Isolation ist der Grund, warum subagents bei langen Sitzungen helfen.165[Subagents](/de/sub-agents) erhalten ihren eigenen frischen Kontext, völlig getrennt von Ihrer Hauptkonversation. Ihre Arbeit bläht Ihren Kontext nicht auf. Wenn sie fertig sind, geben sie eine Zusammenfassung zurück. Diese Isolation ist der Grund, warum Subagents bei langen Sitzungen helfen.

166 166 

167Siehe [Kontextkosten](/de/features-overview#understand-context-costs) für die Kosten jeder Funktion und [Token-Nutzung reduzieren](/de/costs#reduce-token-usage) für Tipps zur Verwaltung des Kontexts.167Siehe [Kontextkosten](/de/features-overview#understand-context-costs) für die Kosten jeder Funktion und [Token-Nutzung reduzieren](/de/costs#reduce-token-usage) für Tipps zur Verwaltung des Kontexts.

168 168 


188 188 

189* **Standard**: Claude fragt vor Dateibearbeitungen und Shell-Befehlen189* **Standard**: Claude fragt vor Dateibearbeitungen und Shell-Befehlen

190* **Auto-accept edits**: Claude bearbeitet Dateien und führt häufige Dateisystem-Befehle wie `mkdir` und `mv` ohne Nachfrage aus, fragt aber immer noch nach anderen Befehlen190* **Auto-accept edits**: Claude bearbeitet Dateien und führt häufige Dateisystem-Befehle wie `mkdir` und `mv` ohne Nachfrage aus, fragt aber immer noch nach anderen Befehlen

191* **Plan Mode**: Claude verwendet nur schreibgeschützte Tools und erstellt einen Plan, den Sie vor der Ausführung genehmigen können191* **Plan Mode**: Claude erkundet und schlägt einen Plan vor, ohne Ihre Quelldateien zu bearbeiten; Berechtigungsaufforderungen gelten weiterhin wie im Standardmodus

192* **Auto Mode**: Claude bewertet alle Aktionen mit Hintergrund-Sicherheitsprüfungen. Derzeit eine Forschungsvorschau192* **Auto Mode**: Claude bewertet alle Aktionen mit Hintergrund-Sicherheitsprüfungen. Derzeit eine Forschungsvorschau

193 193 

194Sie können auch spezifische Befehle in `.claude/settings.json` zulassen, damit Claude nicht jedes Mal fragt. Dies ist nützlich für vertrauenswürdige Befehle wie `npm test` oder `git status`. Einstellungen können von organisationsweiten Richtlinien bis zu persönlichen Vorlieben reichen. Siehe [Berechtigungen](/de/permissions) für Details.194Sie können auch spezifische Befehle in `.claude/settings.json` zulassen, damit Claude nicht jedes Mal fragt. Dies ist nützlich für vertrauenswürdige Befehle wie `npm test` oder `git status`. Einstellungen können von organisationsweiten Richtlinien bis zu persönlichen Vorlieben reichen. Siehe [Berechtigungen](/de/permissions) für Details.


213* `/agents` hilft Ihnen, benutzerdefinierte Subagents zu konfigurieren213* `/agents` hilft Ihnen, benutzerdefinierte Subagents zu konfigurieren

214* `/doctor` diagnostiziert häufige Probleme mit Ihrer Installation214* `/doctor` diagnostiziert häufige Probleme mit Ihrer Installation

215 215 

216<h3 id="it-s-a-conversation">216<h3 id="its-a-conversation">

217 Es ist eine Konversation217 Es ist eine Konversation

218</h3>218</h3>

219 219 


282 282 

283Überprüfen Sie den Plan, verfeinern Sie ihn durch Konversation, dann lassen Sie Claude implementieren. Dieser zweiphasige Ansatz erzeugt bessere Ergebnisse als direkt zum Code zu springen.283Überprüfen Sie den Plan, verfeinern Sie ihn durch Konversation, dann lassen Sie Claude implementieren. Dieser zweiphasige Ansatz erzeugt bessere Ergebnisse als direkt zum Code zu springen.

284 284 

285<h3 id="delegate-don-t-dictate">285<h3 id="delegate-dont-dictate">

286 Delegieren, nicht diktieren286 Delegieren, nicht diktieren

287</h3>287</h3>

288 288 


295 295 

296Sie müssen nicht angeben, welche Dateien zu lesen sind oder welche Befehle auszuführen sind. Claude findet das heraus.296Sie müssen nicht angeben, welche Dateien zu lesen sind oder welche Befehle auszuführen sind. Claude findet das heraus.

297 297 

298<h2 id="what-s-next">298<h2 id="whats-next">

299 Nächste Schritte299 Nächste Schritte

300</h2>300</h2>

301 301 

Details

27</h3>27</h3>

28 28 

29| Kürzel | Beschreibung | Kontext |29| Kürzel | Beschreibung | Kontext |

30| :------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |30| :------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

31| `Ctrl+C` | Unterbrechen oder Eingabe löschen | Unterbricht einen laufenden Vorgang. Wenn nichts läuft, löscht der erste Tastendruck die Eingabeaufforderung und ein zweiter Tastendruck beendet Claude Code |31| `Ctrl+C` | Unterbrechen oder Eingabe löschen | Unterbricht einen laufenden Vorgang. Wenn nichts läuft, löscht der erste Tastendruck die Eingabeaufforderung und ein zweiter Tastendruck beendet Claude Code |

32| `Ctrl+X Ctrl+K` | Alle laufenden [Hintergrund-Subagenten](/de/sub-agents#run-subagents-in-foreground-or-background) in dieser Sitzung beenden. Zweimal innerhalb von 3 Sekunden drücken, um zu bestätigen | Subagenten-Steuerung |32| `Ctrl+X Ctrl+K` | Alle laufenden [Hintergrund-Subagenten](/de/sub-agents#run-subagents-in-foreground-or-background) in dieser Sitzung beenden. Zweimal innerhalb von 3 Sekunden drücken, um zu bestätigen | Subagenten-Steuerung |

33| `Ctrl+D` | Claude Code-Sitzung beenden | EOF-Signal |33| `Ctrl+D` | Claude Code-Sitzung beenden | EOF-Signal |


39| `Ctrl+B` | Hintergrund-Ausführung von Aufgaben | Führt Bash-Befehle und Agenten im Hintergrund aus. Tmux-Benutzer drücken zweimal |39| `Ctrl+B` | Hintergrund-Ausführung von Aufgaben | Führt Bash-Befehle und Agenten im Hintergrund aus. Tmux-Benutzer drücken zweimal |

40| `Ctrl+T` | Task-Liste umschalten | Zeigen oder verbergen Sie die [Task-Liste](#task-list) im Terminal-Statusbereich |40| `Ctrl+T` | Task-Liste umschalten | Zeigen oder verbergen Sie die [Task-Liste](#task-list) im Terminal-Statusbereich |

41| `Left/Right arrows` | Durch Dialog-Registerkarten navigieren | Navigieren Sie zwischen Registerkarten in Berechtigungsdialogen und Menüs |41| `Left/Right arrows` | Durch Dialog-Registerkarten navigieren | Navigieren Sie zwischen Registerkarten in Berechtigungsdialogen und Menüs |

42| `Up/Down arrows` oder `Ctrl+P`/`Ctrl+N` | Cursor bewegen oder Befehlsverlauf navigieren | Bei mehrzeiliger Eingabe bewegt sich der Cursor zunächst innerhalb der Eingabeaufforderung. Sobald sich der Cursor bereits am oberen oder unteren Rand befindet, navigiert das erneute Drücken durch den Befehlsverlauf |42| `Up/Down arrows` oder `Ctrl+P`/`Ctrl+N` | Cursor bewegen oder Befehlsverlauf navigieren | Wenn die Eingabe mehr als eine visuelle Zeile umfasst, ob umgebrochen oder mehrzeilig, bewegt sich der Cursor zunächst innerhalb der Eingabeaufforderung. Sobald sich der Cursor bereits am oberen oder unteren Rand befindet, navigiert das erneute Drücken durch den Befehlsverlauf. {/* min-version: 2.1.169 */}Ab v2.1.169 verhält sich umgebrochene einzeilige Eingabe genauso wie mehrzeilige Eingabe |

43| `Esc` | Claude unterbrechen | Stoppen Sie die aktuelle Antwort oder den Tool-Aufruf in der Mitte des Zuges, um umzuleiten. Claude behält die bisherige Arbeit bei |43| `Esc` | Claude unterbrechen | Stoppen Sie die aktuelle Antwort oder den Tool-Aufruf in der Mitte des Zuges, um umzuleiten. Claude behält die bisherige Arbeit bei |

44| `Esc` + `Esc` | Eingabeentwurf löschen oder zurückspulen | Wenn die Eingabeaufforderung Text enthält, löscht doppeltes `Esc` sie und speichert den Entwurf im Verlauf, sodass `Up` ihn abruft. Wenn die Eingabe leer ist, öffnet doppeltes `Esc` das [Zurückspul-Menü](/de/checkpointing), um Code und Gespräch von einem vorherigen Punkt wiederherzustellen oder zusammenzufassen |44| `Esc` + `Esc` | Eingabeentwurf löschen oder zurückspulen | Wenn die Eingabeaufforderung Text enthält, löscht doppeltes `Esc` sie und speichert den Entwurf im Verlauf, sodass `Up` ihn abruft. Wenn die Eingabe leer ist, öffnet doppeltes `Esc` das [Zurückspul-Menü](/de/checkpointing), um Code und Gespräch von einem vorherigen Punkt wiederherzustellen oder zusammenzufassen |

45| `Shift+Tab` oder `Alt+M` (einige Konfigurationen) | Berechtigungsmodi umschalten | Wechseln Sie zwischen `default`, `acceptEdits`, `plan` und allen Modi, die Sie aktiviert haben, z. B. `auto` oder `bypassPermissions`. Siehe [Berechtigungsmodi](/de/permission-modes). |45| `Shift+Tab` oder `Alt+M` (einige Konfigurationen) | Berechtigungsmodi umschalten | Wechseln Sie zwischen `default`, `acceptEdits`, `plan` und allen Modi, die Sie aktiviert haben, z. B. `auto` oder `bypassPermissions`. Siehe [Berechtigungsmodi](/de/permission-modes). |

46| `Option+P` (macOS) oder `Alt+P` (Windows/Linux) | Modell wechseln | Wechseln Sie Modelle, ohne Ihren Prompt zu löschen |46| `Option+P` (macOS) oder `Alt+P` (Windows/Linux) | Modell wechseln | Wechseln Sie Modelle, ohne Ihren Prompt zu löschen |

47| `Option+T` (macOS) oder `Alt+T` (Windows/Linux) | Extended Thinking umschalten | Aktivieren oder deaktivieren Sie den Extended Thinking-Modus. {/* min-version: 2.1.132 */}Ab v2.1.132 funktioniert dieses Kürzel auf macOS ohne Konfiguration von Option als Meta |47| `Option+T` (macOS) oder `Alt+T` (Windows/Linux) | Extended Thinking umschalten | Aktivieren oder deaktivieren Sie den Extended Thinking-Modus. Hat keine Auswirkung auf Fable 5, das immer Extended Thinking verwendet. {/* min-version: 2.1.132 */}Ab v2.1.132 funktioniert dieses Kürzel auf macOS ohne Konfiguration von Option als Meta |

48| `Option+O` (macOS) oder `Alt+O` (Windows/Linux) | Schnellmodus umschalten | Aktivieren oder deaktivieren Sie den [Schnellmodus](/de/fast-mode) |48| `Option+O` (macOS) oder `Alt+O` (Windows/Linux) | Schnellmodus umschalten | Aktivieren oder deaktivieren Sie den [Schnellmodus](/de/fast-mode) |

49 49 

50<h3 id="text-editing">50<h3 id="text-editing">


372| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |372| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

373| `Space`, `Enter`, `Escape` | Verwerfen Sie die Antwort und kehren Sie zur Eingabeaufforderung zurück |373| `Space`, `Enter`, `Escape` | Verwerfen Sie die Antwort und kehren Sie zur Eingabeaufforderung zurück |

374| `Up` / `Down` | Scrollen Sie die Antwort |374| `Up` / `Down` | Scrollen Sie die Antwort |

375| `c` | Kopieren Sie die Antwort als Raw Markdown in Ihre Zwischenablage. Verwenden Sie dies anstelle der Mausauswahl, die das hart umgebrochene Terminal-Rendering anstelle des Quelltexts erfasst |

375| `f` | In eine neue Sitzung aufteilen. Die Aufteilung erbt das übergeordnete Gespräch plus diese Frage und Antwort als echte Transkript-Turns, sodass Sie mit vollständigem Tool-Zugriff fortfahren können. Die ursprüngliche Sitzung wird unter [`/resume`](/de/commands) beibehalten. Nur in lokalen Sitzungen verfügbar |376| `f` | In eine neue Sitzung aufteilen. Die Aufteilung erbt das übergeordnete Gespräch plus diese Frage und Antwort als echte Transkript-Turns, sodass Sie mit vollständigem Tool-Zugriff fortfahren können. Die ursprüngliche Sitzung wird unter [`/resume`](/de/commands) beibehalten. Nur in lokalen Sitzungen verfügbar |

376| `x` | Löschen Sie die Liste der früheren `/btw`-Austausche, die über der aktuellen Antwort angezeigt werden |377| `x` | Löschen Sie die Liste der früheren `/btw`-Austausche, die über der aktuellen Antwort angezeigt werden |

377 378 

jetbrains.md +77 −25

Details

8 8 

9Claude Code integriert sich mit JetBrains IDEs durch ein dediziertes Plugin und bietet Funktionen wie interaktive Diff-Anzeige, Freigabe von Auswahlkontext und mehr.9Claude Code integriert sich mit JetBrains IDEs durch ein dediziertes Plugin und bietet Funktionen wie interaktive Diff-Anzeige, Freigabe von Auswahlkontext und mehr.

10 10 

11## Unterstützte IDEs11<h2 id="supported-ides">

12 Unterstützte IDEs

13</h2>

12 14 

13Das Claude Code Plugin funktioniert mit den meisten JetBrains IDEs, einschließlich:15Das Claude Code Plugin funktioniert mit den meisten JetBrains IDEs, einschließlich:

14 16 


19* PhpStorm21* PhpStorm

20* GoLand22* GoLand

21 23 

22## Funktionen24<h2 id="features">

25 Funktionen

26</h2>

23 27 

24* **Schnellstart**: Verwenden Sie `Cmd+Esc` (Mac) oder `Ctrl+Esc` (Windows/Linux), um Claude Code direkt aus Ihrem Editor zu öffnen, oder klicken Sie auf die Claude Code Schaltfläche in der Benutzeroberfläche28* **Schnellstart**: Verwenden Sie `Cmd+Esc` (Mac) oder `Ctrl+Esc` (Windows/Linux), um Claude Code direkt aus Ihrem Editor zu öffnen, oder klicken Sie auf die Claude Code Schaltfläche in der Benutzeroberfläche

25* **Diff-Anzeige**: Code-Änderungen können direkt im IDE Diff-Viewer anstelle des Terminals angezeigt werden29* **Diff-Anzeige**: Code-Änderungen können direkt im IDE Diff-Viewer anstelle des Terminals angezeigt werden


27* **Dateireferenz-Verknüpfungen**: Verwenden Sie `Cmd+Option+K` (Mac) oder `Alt+Ctrl+K` (Linux/Windows), um Dateireferenzen wie `@src/auth.ts#L1-99` einzufügen31* **Dateireferenz-Verknüpfungen**: Verwenden Sie `Cmd+Option+K` (Mac) oder `Alt+Ctrl+K` (Linux/Windows), um Dateireferenzen wie `@src/auth.ts#L1-99` einzufügen

28* **Diagnose-Freigabe**: Diagnosefehler aus der IDE, wie Lint- und Syntaxfehler, werden automatisch mit Claude geteilt, während Sie arbeiten32* **Diagnose-Freigabe**: Diagnosefehler aus der IDE, wie Lint- und Syntaxfehler, werden automatisch mit Claude geteilt, während Sie arbeiten

29 33 

30## Installation34<h2 id="installation">

35 Installation

36</h2>

31 37 

32### Marketplace-Installation38Das Plugin führt den `claude`-Befehl im integrierten Terminal Ihrer IDE aus und verbindet sich damit. Es bündelt keine eigene Kopie der CLI, daher installieren Sie beide Komponenten:

33 39 

34Suchen Sie das [Claude Code Plugin](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) im JetBrains Marketplace und installieren Sie es, dann starten Sie Ihre IDE neu.40<Steps>

41 <Step title="Installieren Sie die Claude Code CLI">

42 Folgen Sie dem [Schnellstart](/de/quickstart), um die CLI zu installieren, falls Sie dies noch nicht getan haben. Das Plugin zeigt eine Benachrichtigung 'Claude Code kann nicht gestartet werden" an, wenn `claude` nicht in Ihrem PATH vorhanden ist.

43 </Step>

44 

45 <Step title="Installieren Sie das JetBrains-Plugin">

46 Installieren Sie das [Claude Code Plugin](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) aus dem JetBrains Marketplace und starten Sie Ihre IDE neu.

47 </Step>

48</Steps>

49 

50Wenn `claude` an einem Ort installiert ist, den Ihre IDE nicht finden kann, legen Sie den vollständigen Pfad in der [Claude-Befehlseinstellung](#general-settings) des Plugins fest.

35 51 

36Falls Sie Claude Code noch nicht installiert haben, lesen Sie den [Schnellstart-Leitfaden](/de/quickstart) für Installationsanweisungen.52Claude Code funktioniert mit jedem bezahlten Claude-Abonnement (Pro, Max, Team oder Enterprise) oder einem Claude Console-Konto, und es ist kein API-Schlüssel erforderlich. Sie werden aufgefordert, sich [anzumelden](/de/authentication#log-in-to-claude-code), wenn Sie `claude` zum ersten Mal ausführen.

37 53 

38<Note>54<Note>

39 Nach der Installation des Plugins müssen Sie Ihre IDE möglicherweise vollständig neu starten, damit es wirksam wird.55 Nach der Installation des Plugins müssen Sie Ihre IDE möglicherweise vollständig neu starten, damit es wirksam wird.

40</Note>56</Note>

41 57 

42## Verwendung58<h2 id="usage">

59 Verwendung

60</h2>

43 61 

44### Aus Ihrer IDE62<h3 id="from-your-ide">

63 Aus Ihrer IDE

64</h3>

45 65 

46Führen Sie `claude` aus dem integrierten Terminal Ihrer IDE aus, und alle Integrationsfunktionen sind aktiv.66Führen Sie `claude` aus dem integrierten Terminal Ihrer IDE aus, und alle Integrationsfunktionen sind aktiv.

47 67 

48### Aus externen Terminals68<h3 id="from-external-terminals">

69 Aus externen Terminals

70</h3>

49 71 

50Verwenden Sie den `/ide` Befehl in einem beliebigen externen Terminal, um Claude Code mit Ihrer JetBrains IDE zu verbinden und alle Funktionen zu aktivieren:72Verwenden Sie den `/ide` Befehl in einem beliebigen externen Terminal, um Claude Code mit Ihrer JetBrains IDE zu verbinden und alle Funktionen zu aktivieren:

51 73 


59 81 

60Wenn Sie möchten, dass Claude Zugriff auf die gleichen Dateien wie Ihre IDE hat, starten Sie Claude Code aus dem gleichen Verzeichnis wie Ihr IDE-Projektstammverzeichnis.82Wenn Sie möchten, dass Claude Zugriff auf die gleichen Dateien wie Ihre IDE hat, starten Sie Claude Code aus dem gleichen Verzeichnis wie Ihr IDE-Projektstammverzeichnis.

61 83 

62## Konfiguration84<h2 id="configuration">

85 Konfiguration

86</h2>

63 87 

64### Claude Code Einstellungen88<h3 id="claude-code-settings">

89 Claude Code Einstellungen

90</h3>

65 91 

66Konfigurieren Sie die IDE-Integration durch Claude Code Einstellungen:92Konfigurieren Sie die IDE-Integration durch Claude Code Einstellungen:

67 93 


692. Geben Sie den `/config` Befehl ein952. Geben Sie den `/config` Befehl ein

703. Stellen Sie das Diff-Tool auf `auto` ein, um Diffs in der IDE anzuzeigen, oder auf `terminal`, um sie im Terminal zu behalten963. Stellen Sie das Diff-Tool auf `auto` ein, um Diffs in der IDE anzuzeigen, oder auf `terminal`, um sie im Terminal zu behalten

71 97 

72### Plugin-Einstellungen98<h3 id="plugin-settings">

99 Plugin-Einstellungen

100</h3>

73 101 

74Konfigurieren Sie das Claude Code Plugin, indem Sie zu **Einstellungen → Tools → Claude Code \[Beta]** gehen:102Konfigurieren Sie das Claude Code Plugin, indem Sie zu **Einstellungen → Tools → Claude Code \[Beta]** gehen:

75 103 

76#### Allgemeine Einstellungen104<h4 id="general-settings">

105 Allgemeine Einstellungen

106</h4>

77 107 

78* **Claude Befehl**: Geben Sie einen benutzerdefinierten Befehl an, um Claude auszuführen, zum Beispiel `claude`, `/usr/local/bin/claude` oder `npx @anthropic-ai/claude-code`108* **Claude Befehl**: Geben Sie einen benutzerdefinierten Befehl an, um Claude auszuführen, zum Beispiel `claude`, `/usr/local/bin/claude` oder `npx @anthropic-ai/claude-code`

79* **Benachrichtigung für Claude-Befehl nicht gefunden unterdrücken**: Überspringen Sie Benachrichtigungen über das Nichtfinden des Claude-Befehls109* **Benachrichtigung für Claude-Befehl nicht gefunden unterdrücken**: Überspringen Sie Benachrichtigungen über das Nichtfinden des Claude-Befehls


84 Für WSL-Benutzer: Stellen Sie `wsl -d Ubuntu -- bash -lic "claude"` als Ihren Claude-Befehl ein (ersetzen Sie `Ubuntu` durch Ihren WSL-Distributionsnamen)114 Für WSL-Benutzer: Stellen Sie `wsl -d Ubuntu -- bash -lic "claude"` als Ihren Claude-Befehl ein (ersetzen Sie `Ubuntu` durch Ihren WSL-Distributionsnamen)

85</Tip>115</Tip>

86 116 

87#### ESC-Taste Konfiguration117<h4 id="esc-key-configuration">

118 ESC-Taste Konfiguration

119</h4>

88 120 

89Wenn die ESC-Taste Claude Code Operationen in JetBrains Terminals nicht unterbricht:121Wenn die ESC-Taste Claude Code Operationen in JetBrains Terminals nicht unterbricht:

90 122 


96 128 

97Dies ermöglicht es der ESC-Taste, Claude Code Operationen ordnungsgemäß zu unterbrechen.129Dies ermöglicht es der ESC-Taste, Claude Code Operationen ordnungsgemäß zu unterbrechen.

98 130 

99## Spezielle Konfigurationen131<h2 id="special-configurations">

132 Spezielle Konfigurationen

133</h2>

100 134 

101### Remote-Entwicklung135<h3 id="remote-development">

136 Remote-Entwicklung

137</h3>

102 138 

103<Warning>139<Warning>

104 Bei Verwendung von JetBrains Remote Development müssen Sie das Plugin auf dem Remote-Host über **Einstellungen → Plugin (Host)** installieren.140 Bei Verwendung von JetBrains Remote Development müssen Sie das Plugin auf dem Remote-Host über **Einstellungen → Plugin (Host)** installieren.


106 142 

107Das Plugin muss auf dem Remote-Host installiert werden, nicht auf Ihrem lokalen Client-Computer.143Das Plugin muss auf dem Remote-Host installiert werden, nicht auf Ihrem lokalen Client-Computer.

108 144 

109### WSL-Konfiguration145<h3 id="wsl-configuration">

146 WSL-Konfiguration

147</h3>

110 148 

111Wenn Sie Claude Code auf WSL2 mit einer JetBrains IDE verwenden und „Keine verfügbaren IDEs erkannt" sehen, ist die Ursache normalerweise WSL2s NAT-Netzwerk oder die Windows Firewall, die die Verbindung zwischen WSL2 und der IDE blockiert, die auf dem Windows-Host ausgeführt wird. WSL1 verwendet das Netzwerk des Hosts direkt und ist nicht betroffen.149Wenn Sie Claude Code auf WSL2 mit einer JetBrains IDE verwenden und „Keine verfügbaren IDEs erkannt" sehen, ist die Ursache normalerweise WSL2s NAT-Netzwerk oder die Windows Firewall, die die Verbindung zwischen WSL2 und der IDE blockiert, die auf dem Windows-Host ausgeführt wird. WSL1 verwendet das Netzwerk des Hosts direkt und ist nicht betroffen.

112 150 

113#### WSL2-Datenverkehr durch Windows Firewall zulassen151<h4 id="allow-wsl2-traffic-through-windows-firewall">

152 WSL2-Datenverkehr durch Windows Firewall zulassen

153</h4>

114 154 

115Dies ist die empfohlene Lösung, da sie Ihren vorhandenen WSL2-Netzwerkmodus beibehält.155Dies ist die empfohlene Lösung, da sie Ihren vorhandenen WSL2-Netzwerkmodus beibehält.

116 156 


138 </Step>178 </Step>

139</Steps>179</Steps>

140 180 

141#### Wechseln Sie WSL2 zu gespiegeltem Netzwerk181<h4 id="switch-wsl2-to-mirrored-networking">

182 Wechseln Sie WSL2 zu gespiegeltem Netzwerk

183</h4>

142 184 

143Gespiegeltes Netzwerk erfordert Windows 11 22H2 oder später. Wenn Sie Windows 10 verwenden, verwenden Sie stattdessen die Firewall-Regel oben.185Gespiegeltes Netzwerk erfordert Windows 11 22H2 oder später. Wenn Sie Windows 10 verwenden, verwenden Sie stattdessen die Firewall-Regel oben.

144 186 


151 193 

152Starten Sie dann WSL mit `wsl --shutdown` von PowerShell neu.194Starten Sie dann WSL mit `wsl --shutdown` von PowerShell neu.

153 195 

154## Troubleshooting196<h2 id="troubleshooting">

197 Troubleshooting

198</h2>

155 199 

156### Plugin funktioniert nicht200<h3 id="plugin-not-working">

201 Plugin funktioniert nicht

202</h3>

157 203 

158Wenn das Plugin installiert ist, aber Claude Code Funktionen nicht in Ihrer IDE angezeigt werden:204Wenn das Plugin installiert ist, aber Claude Code Funktionen nicht in Ihrer IDE angezeigt werden:

159 205 


162* Starten Sie die IDE vollständig neu (möglicherweise müssen Sie dies mehrmals tun)208* Starten Sie die IDE vollständig neu (möglicherweise müssen Sie dies mehrmals tun)

163* Stellen Sie für Remote Development sicher, dass das Plugin auf dem Remote-Host installiert ist209* Stellen Sie für Remote Development sicher, dass das Plugin auf dem Remote-Host installiert ist

164 210 

165### IDE nicht erkannt211<h3 id="ide-not-detected">

212 IDE nicht erkannt

213</h3>

166 214 

167Wenn das Ausführen von `claude` 'Keine verfügbaren IDEs erkannt" anzeigt:215Wenn das Ausführen von `claude` 'Keine verfügbaren IDEs erkannt" anzeigt:

168 216 

169* Überprüfen Sie, dass das Plugin installiert und aktiviert ist217* Überprüfen Sie, dass das Plugin installiert und aktiviert ist

170* Starten Sie die IDE vollständig neu218* Starten Sie die IDE vollständig neu

171* Überprüfen Sie, dass Sie Claude Code aus dem integrierten Terminal ausführen219* Überprüfen Sie, dass Sie Claude Code aus dem integrierten Terminal ausführen

172* Für WSL-Benutzer lesen Sie [WSL-Konfiguration](#wsl-konfiguration) oben220* Für WSL-Benutzer lesen Sie [WSL-Konfiguration](#wsl-configuration) oben

173 221 

174### Befehl nicht gefunden222<h3 id="command-not-found">

223 Befehl nicht gefunden

224</h3>

175 225 

176Wenn das Klicken auf das Claude-Symbol „Befehl nicht gefunden" anzeigt:226Wenn das Klicken auf das Claude-Symbol „Befehl nicht gefunden" anzeigt:

177 227 


1792. Konfigurieren Sie den Claude-Befehlspfad in den Plugin-Einstellungen2292. Konfigurieren Sie den Claude-Befehlspfad in den Plugin-Einstellungen

1803. Für WSL-Benutzer verwenden Sie das WSL-Befehlsformat, das im Konfigurationsabschnitt erwähnt wird2303. Für WSL-Benutzer verwenden Sie das WSL-Befehlsformat, das im Konfigurationsabschnitt erwähnt wird

181 231 

182## Sicherheitsaspekte232<h2 id="security-considerations">

233 Sicherheitsaspekte

234</h2>

183 235 

184Wenn Claude Code in einer JetBrains IDE mit aktivierten Auto-Edit-Berechtigungen ausgeführt wird, kann es möglicherweise IDE-Konfigurationsdateien ändern, die automatisch von Ihrer IDE ausgeführt werden können. Dies kann das Risiko der Ausführung von Claude Code im Auto-Edit-Modus erhöhen und es ermöglichen, Claude Code Berechtigungsaufforderungen für die Bash-Ausführung zu umgehen.236Wenn Claude Code in einer JetBrains IDE mit aktivierten Auto-Edit-Berechtigungen ausgeführt wird, kann es möglicherweise IDE-Konfigurationsdateien ändern, die automatisch von Ihrer IDE ausgeführt werden können. Dies kann das Risiko der Ausführung von Claude Code im Auto-Edit-Modus erhöhen und es ermöglichen, Claude Code Berechtigungsaufforderungen für die Bash-Ausführung zu umgehen.

185 237 

keybindings.md +2 −2

Details

203Aktionen verfügbar im `Task`-Kontext:203Aktionen verfügbar im `Task`-Kontext:

204 204 

205| Aktion | Standard | Beschreibung |205| Aktion | Standard | Beschreibung |

206| :---------------- | :------- | :---------------------------------------------- |206| :---------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

207| `task:background` | Ctrl+B | Aktuelle Aufgabe in den Hintergrund verschieben |207| `task:background` | Ctrl+B, Ctrl+X Ctrl+B | Aktuelle Aufgabe in den Hintergrund verschieben. {/* min-version: 2.1.169 */}Die Ctrl+X Ctrl+B-Kombination erfordert v2.1.169 oder später und vermeidet den tmux-Präfix-Konflikt |

208 208 

209<h3 id="theme-actions">209<h3 id="theme-actions">

210 Design-Aktionen210 Design-Aktionen

Details

148 148 

149Verwenden Sie dies für Verzeichnisse, in denen Sie nie arbeiten, wie Pakete anderer Teams, Legacy-Code oder Vendor-Teilbäume. Die Ausschlussliste ist statisch, nicht ein Pro-Aufgaben-Schalter. Um sich heute auf ein Paket und morgen auf ein anderes zu konzentrieren, [starten Sie Claude von diesem Paketverzeichnis](#choose-where-to-start-claude) anstatt Ausschlüsse zu bearbeiten.149Verwenden Sie dies für Verzeichnisse, in denen Sie nie arbeiten, wie Pakete anderer Teams, Legacy-Code oder Vendor-Teilbäume. Die Ausschlussliste ist statisch, nicht ein Pro-Aufgaben-Schalter. Um sich heute auf ein Paket und morgen auf ein anderes zu konzentrieren, [starten Sie Claude von diesem Paketverzeichnis](#choose-where-to-start-claude) anstatt Ausschlüsse zu bearbeiten.

150 150 

151Wenn Sie diese Ausschlüsse nur für sich selbst möchten, setzen Sie die Einstellung in `.claude/settings.local.json`, die gitignored und nicht committed ist. Muster verwenden Glob-Syntax, die gegen absolute Dateipfade abgeglichen wird, daher starten Sie Muster im Stil relativ mit `**/`, um überall im Baum zu passen. Das Beispiel unten schließt Pakete aus, die von anderen Teams gehören:151Wenn Sie diese Ausschlüsse nur für sich selbst möchten, setzen Sie die Einstellung in `.claude/settings.local.json`. Claude Code ignoriert diese Datei, wenn es sie erstellt; da Sie sie hier von Hand erstellen, fügen Sie sie zu Ihrer gitignore hinzu. Muster verwenden Glob-Syntax, die gegen absolute Dateipfade abgeglichen wird, daher starten Sie Muster im Stil relativ mit `**/`, um überall im Baum zu passen. Das Beispiel unten schließt Pakete aus, die von anderen Teams gehören:

152 152 

153```json .claude/settings.local.json theme={null}153```json .claude/settings.local.json theme={null}

154{154{

llm-gateway.md +2 −0

Details

14* **Audit-Protokollierung** - Verfolgen Sie alle Modellinteraktionen zur Compliance14* **Audit-Protokollierung** - Verfolgen Sie alle Modellinteraktionen zur Compliance

15* **Modell-Routing** - Wechseln Sie zwischen Anbietern ohne Code-Änderungen15* **Modell-Routing** - Wechseln Sie zwischen Anbietern ohne Code-Änderungen

16 16 

17Diese Seite behandelt Gateway-Anforderungen und Konfiguration für die Claude Code CLI. Enterprise Desktop-Bereitstellungen können Gateway-Anbieter über [verwaltete Einstellungen](https://support.claude.com/de/articles/12622667-enterprise-configuration) konfigurieren. Die Claude Desktop-App kann auch gegen ein selbst gehostetes Gateway über die [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/gateway) ausgeführt werden, die ihre eigenen Konfigurationsschlüssel verwendet.

18 

17<h2 id="gateway-requirements">19<h2 id="gateway-requirements">

18 Gateway-Anforderungen20 Gateway-Anforderungen

19</h2>21</h2>

mcp.md +158 −72

Details

12 12 

13Wenn Sie Ihren ersten Server verbinden, beginnen Sie mit der [MCP-Schnellstartanleitung](/de/mcp-quickstart) für eine Schritt-für-Schritt-Anleitung. Diese Seite ist die vollständige Referenz.13Wenn Sie Ihren ersten Server verbinden, beginnen Sie mit der [MCP-Schnellstartanleitung](/de/mcp-quickstart) für eine Schritt-für-Schritt-Anleitung. Diese Seite ist die vollständige Referenz.

14 14 

15## Was Sie mit MCP tun können15<h2 id="what-you-can-do-with-mcp">

16 Was Sie mit MCP tun können

17</h2>

16 18 

17Mit verbundenen MCP-Servern können Sie Claude Code auffordern:19Mit verbundenen MCP-Servern können Sie Claude Code auffordern:

18 20 


23* **Workflows automatisieren**: „Erstelle Gmail-Entwürfe, die diese 10 Benutzer zu einer Feedback-Sitzung zur neuen Funktion einladen."25* **Workflows automatisieren**: „Erstelle Gmail-Entwürfe, die diese 10 Benutzer zu einer Feedback-Sitzung zur neuen Funktion einladen."

24* **Auf externe Ereignisse reagieren**: Ein MCP-Server kann auch als [Kanal](/de/channels) fungieren, der Nachrichten in Ihre Sitzung pusht, sodass Claude auf Telegram-Nachrichten, Discord-Chats oder Webhook-Ereignisse reagiert, während Sie weg sind.26* **Auf externe Ereignisse reagieren**: Ein MCP-Server kann auch als [Kanal](/de/channels) fungieren, der Nachrichten in Ihre Sitzung pusht, sodass Claude auf Telegram-Nachrichten, Discord-Chats oder Webhook-Ereignisse reagiert, während Sie weg sind.

25 27 

26## MCP-Server finden und erstellen28<h2 id="find-and-build-mcp-servers">

29 MCP-Server finden und erstellen

30</h2>

27 31 

28Durchsuchen Sie überprüfte Konnektoren im [Anthropic Directory](https://claude.ai/directory). Directory-Konnektoren verwenden die gleiche MCP-Infrastruktur wie Claude Code, sodass Sie jeden dort aufgelisteten Remote-Server mit `claude mcp add` hinzufügen können.32Durchsuchen Sie überprüfte Konnektoren im [Anthropic Directory](https://claude.ai/directory). Directory-Konnektoren verwenden die gleiche MCP-Infrastruktur wie Claude Code, sodass Sie jeden dort aufgelisteten Remote-Server mit `claude mcp add` hinzufügen können.

29 33 


55 </Step>59 </Step>

56</Steps>60</Steps>

57 61 

58## MCP-Server installieren62<h2 id="installing-mcp-servers">

63 MCP-Server installieren

64</h2>

59 65 

60MCP-Server können je nach Ihren Anforderungen auf mehrere Arten konfiguriert werden:66MCP-Server können je nach Ihren Anforderungen auf mehrere Arten konfiguriert werden:

61 67 

62### Option 1: Einen Remote-HTTP-Server hinzufügen68<h3 id="option-1-add-a-remote-http-server">

69 Option 1: Einen Remote-HTTP-Server hinzufügen

70</h3>

63 71 

64HTTP-Server sind die empfohlene Option für die Verbindung mit Remote-MCP-Servern. Dies ist das am weitesten unterstützte Transportprotokoll für Cloud-basierte Dienste.72HTTP-Server sind die empfohlene Option für die Verbindung mit Remote-MCP-Servern. Dies ist das am weitesten unterstützte Transportprotokoll für Cloud-basierte Dienste.

65 73 


77 85 

78Bei der Konfiguration von MCP-Servern über JSON in `.mcp.json`, `~/.claude.json` oder `claude mcp add-json` akzeptiert das Feld `type` `streamable-http` als Alias für `http`. Die MCP-Spezifikation verwendet den Namen `streamable-http` für dieses Transportprotokoll, sodass Konfigurationen, die aus der Server-Dokumentation kopiert werden, ohne Änderungen funktionieren.86Bei der Konfiguration von MCP-Servern über JSON in `.mcp.json`, `~/.claude.json` oder `claude mcp add-json` akzeptiert das Feld `type` `streamable-http` als Alias für `http`. Die MCP-Spezifikation verwendet den Namen `streamable-http` für dieses Transportprotokoll, sodass Konfigurationen, die aus der Server-Dokumentation kopiert werden, ohne Änderungen funktionieren.

79 87 

80### Option 2: Einen Remote-SSE-Server hinzufügen88<h3 id="option-2-add-a-remote-sse-server">

89 Option 2: Einen Remote-SSE-Server hinzufügen

90</h3>

81 91 

82<Warning>92<Warning>

83 Das SSE-Transportprotokoll (Server-Sent Events) ist veraltet. Verwenden Sie stattdessen HTTP-Server, wo verfügbar.93 Das SSE-Transportprotokoll (Server-Sent Events) ist veraltet. Verwenden Sie stattdessen HTTP-Server, wo verfügbar.


95 --header "X-API-Key: your-key-here"105 --header "X-API-Key: your-key-here"

96```106```

97 107 

98### Option 3: Einen lokalen Stdio-Server hinzufügen108<h3 id="option-3-add-a-local-stdio-server">

109 Option 3: Einen lokalen Stdio-Server hinzufügen

110</h3>

99 111 

100Stdio-Server werden als lokale Prozesse auf Ihrem Computer ausgeführt. Sie sind ideal für Tools, die direkten Systemzugriff oder benutzerdefinierte Skripte benötigen.112Stdio-Server werden als lokale Prozesse auf Ihrem Computer ausgeführt. Sie sind ideal für Tools, die direkten Systemzugriff oder benutzerdefinierte Skripte benötigen.

101 113 


108claude mcp add [options] <name> -- <command> [args...]120claude mcp add [options] <name> -- <command> [args...]

109 121 

110# Echtes Beispiel: Airtable-Server hinzufügen122# Echtes Beispiel: Airtable-Server hinzufügen

111claude mcp add --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \123claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \

112 -- npx -y airtable-mcp-server124 -- npx -y airtable-mcp-server

113```125```

114 126 

115<Note>127<Note>

116 **Wichtig: Reihenfolge der Optionen**128 **Wichtig: Trennen Sie Server-Argumente mit `--`**

117 129 

118 Alle Optionen (`--transport`, `--env`, `--scope`, `--header`) müssen **vor** dem Servernamen kommen. Der `--` (Doppelstrich) trennt dann den Servernamen von dem Befehl und den Argumenten, die an den MCP-Server übergeben werden.130 Bei Stdio-Servern trennt der `--` (Doppelstrich) Claudes eigene Optionen, wie `--transport`, `--env` und `--scope`, vom Befehl und den Argumenten, die den Server ausführen. Alles nach `--` wird unverändert an den Server übergeben.

119 131 

120 Zum Beispiel:132 Zum Beispiel:

121 133 

122 * `claude mcp add --transport stdio myserver -- npx server` → führt `npx server` aus134 * `claude mcp add --transport stdio myserver -- npx server` → führt `npx server` aus

123 * `claude mcp add --transport stdio --env KEY=value myserver -- python server.py --port 8080` → führt `python server.py --port 8080` mit `KEY=value` in der Umgebung aus135 * `claude mcp add --env KEY=value --transport stdio myserver -- python server.py --port 8080` → führt `python server.py --port 8080` mit `KEY=value` in der Umgebung aus

124 136 

125 Dies verhindert Konflikte zwischen Claudes Flags und den Flags des Servers.137 Ohne `--` würde Claude Code versuchen, die Flags des Servers, wie `--port` oben, als seine eigenen Optionen zu analysieren.

138 

139 `--env` akzeptiert mehrere `KEY=value`-Paare. Wenn der Servername direkt nach `--env` kommt, liest die CLI den Namen als ein weiteres Paar und lehnt ihn ab, daher platzieren Sie mindestens eine andere Option zwischen `--env` und dem Servernamen, wie in den obigen Beispielen.

126</Note>140</Note>

127 141 

128### Option 4: Einen Remote-WebSocket-Server hinzufügen142<h3 id="option-4-add-a-remote-websocket-server">

143 Option 4: Einen Remote-WebSocket-Server hinzufügen

144</h3>

129 145 

130WebSocket-Server halten eine persistente bidirektionale Verbindung, die sich für Remote-MCP-Server eignet, die Claude unaufgefordert Ereignisse pushen. Verwenden Sie HTTP stattdessen, wenn Ihr Server nur auf Anfragen antwortet, da HTTP OAuth und das Flag `claude mcp add --transport` unterstützt, während WebSocket beides nicht unterstützt.146WebSocket-Server halten eine persistente bidirektionale Verbindung, die sich für Remote-MCP-Server eignet, die Claude unaufgefordert Ereignisse pushen. Verwenden Sie HTTP stattdessen, wenn Ihr Server nur auf Anfragen antwortet, da HTTP OAuth und das Flag `claude mcp add --transport` unterstützt, während WebSocket beides nicht unterstützt.

131 147 


138 154 

139Der Eintrag `type: "ws"` akzeptiert die gleichen Felder `url`, `headers`, `headersHelper`, `timeout` und `alwaysLoad` wie `http`. Die Authentifizierung erfolgt nur über Header, daher übergeben Sie ein statisches Token in `headers` oder generieren Sie eines zur Verbindungszeit mit [`headersHelper`](#use-dynamic-headers-for-custom-authentication). Das Flag `claude mcp add --transport` akzeptiert nicht `ws`.155Der Eintrag `type: "ws"` akzeptiert die gleichen Felder `url`, `headers`, `headersHelper`, `timeout` und `alwaysLoad` wie `http`. Die Authentifizierung erfolgt nur über Header, daher übergeben Sie ein statisches Token in `headers` oder generieren Sie eines zur Verbindungszeit mit [`headersHelper`](#use-dynamic-headers-for-custom-authentication). Das Flag `claude mcp add --transport` akzeptiert nicht `ws`.

140 156 

141### Verwalten Ihrer Server157<h3 id="managing-your-servers">

158 Verwalten Ihrer Server

159</h3>

142 160 

143Nach der Konfiguration können Sie Ihre MCP-Server mit diesen Befehlen verwalten:161Nach der Konfiguration können Sie Ihre MCP-Server mit diesen Befehlen verwalten:

144 162 


164 182 

165Der Servername `workspace` ist für interne Verwendung reserviert. Wenn Ihre Konfiguration einen Server mit diesem Namen definiert, überspringt Claude Code ihn beim Laden und zeigt eine Warnung an, die Sie auffordert, ihn umzubenennen.183Der Servername `workspace` ist für interne Verwendung reserviert. Wenn Ihre Konfiguration einen Server mit diesem Namen definiert, überspringt Claude Code ihn beim Laden und zeigt eine Warnung an, die Sie auffordert, ihn umzubenennen.

166 184 

167### Dynamische Tool-Updates185<h3 id="dynamic-tool-updates">

186 Dynamische Tool-Updates

187</h3>

168 188 

169Claude Code unterstützt MCP-`list_changed`-Benachrichtigungen, die es MCP-Servern ermöglichen, ihre verfügbaren Tools, Prompts und Ressourcen dynamisch zu aktualisieren, ohne dass Sie die Verbindung trennen und erneut verbinden müssen. Wenn ein MCP-Server eine `list_changed`-Benachrichtigung sendet, aktualisiert Claude Code automatisch die verfügbaren Funktionen von diesem Server.189Claude Code unterstützt MCP-`list_changed`-Benachrichtigungen, die es MCP-Servern ermöglichen, ihre verfügbaren Tools, Prompts und Ressourcen dynamisch zu aktualisieren, ohne dass Sie die Verbindung trennen und erneut verbinden müssen. Wenn ein MCP-Server eine `list_changed`-Benachrichtigung sendet, aktualisiert Claude Code automatisch die verfügbaren Funktionen von diesem Server.

170 190 

171### Automatische Wiederverbindung191<h3 id="automatic-reconnection">

192 Automatische Wiederverbindung

193</h3>

172 194 

173Wenn ein HTTP- oder SSE-Server während einer Sitzung die Verbindung trennt, verbindet sich Claude Code automatisch mit exponentiellem Backoff wieder: bis zu fünf Versuche, beginnend mit einer Verzögerung von einer Sekunde und sich jedes Mal verdoppelnd. Der Server wird als ausstehend in `/mcp` angezeigt, während die Wiederverbindung läuft. Nach fünf fehlgeschlagenen Versuchen wird der Server als fehlgeschlagen markiert und Sie können ihn manuell von `/mcp` aus erneut versuchen. Stdio-Server sind lokale Prozesse und werden nicht automatisch wiederverbunden.195Wenn ein HTTP- oder SSE-Server während einer Sitzung die Verbindung trennt, verbindet sich Claude Code automatisch mit exponentiellem Backoff wieder: bis zu fünf Versuche, beginnend mit einer Verzögerung von einer Sekunde und sich jedes Mal verdoppelnd. Der Server wird als ausstehend in `/mcp` angezeigt, während die Wiederverbindung läuft. Nach fünf fehlgeschlagenen Versuchen wird der Server als fehlgeschlagen markiert und Sie können ihn manuell von `/mcp` aus erneut versuchen. Stdio-Server sind lokale Prozesse und werden nicht automatisch wiederverbunden.

174 196 

175Das gleiche Backoff gilt, wenn ein HTTP- oder SSE-Server beim Start seine anfängliche Verbindung nicht herstellt. Ab v2.1.121 versucht Claude Code die anfängliche Verbindung bis zu dreimal bei vorübergehenden Fehlern wie einer 5xx-Antwort, einer Verbindungsverweigerung oder einem Timeout erneut, markiert den Server dann als fehlgeschlagen, wenn er immer noch keine Verbindung herstellen kann. Authentifizierungs- und Not-Found-Fehler werden nicht erneut versucht, da sie eine Konfigurationsänderung erfordern, um behoben zu werden.197Das gleiche Backoff gilt, wenn ein HTTP- oder SSE-Server beim Start seine anfängliche Verbindung nicht herstellt. Ab v2.1.121 versucht Claude Code die anfängliche Verbindung bis zu dreimal bei vorübergehenden Fehlern wie einer 5xx-Antwort, einer Verbindungsverweigerung oder einem Timeout erneut, markiert den Server dann als fehlgeschlagen, wenn er immer noch keine Verbindung herstellen kann. Authentifizierungs- und Not-Found-Fehler werden nicht erneut versucht, da sie eine Konfigurationsänderung erfordern, um behoben zu werden.

176 198 

177### Push-Nachrichten mit Kanälen199<h3 id="push-messages-with-channels">

200 Push-Nachrichten mit Kanälen

201</h3>

178 202 

179Ein MCP-Server kann auch Nachrichten direkt in Ihre Sitzung pushen, sodass Claude auf externe Ereignisse wie CI-Ergebnisse, Überwachungswarnungen oder Chat-Nachrichten reagieren kann. Um dies zu aktivieren, deklariert Ihr Server die Funktion `claude/channel` und Sie aktivieren sie mit dem Flag `--channels` beim Start. Siehe [Kanäle](/de/channels), um einen offiziell unterstützten Kanal zu verwenden, oder [Kanäle-Referenz](/de/channels-reference), um Ihren eigenen zu erstellen.203Ein MCP-Server kann auch Nachrichten direkt in Ihre Sitzung pushen, sodass Claude auf externe Ereignisse wie CI-Ergebnisse, Überwachungswarnungen oder Chat-Nachrichten reagieren kann. Um dies zu aktivieren, deklariert Ihr Server die Funktion `claude/channel` und Sie aktivieren sie mit dem Flag `--channels` beim Start. Siehe [Kanäle](/de/channels), um einen offiziell unterstützten Kanal zu verwenden, oder [Kanäle-Referenz](/de/channels-reference), um Ihren eigenen zu erstellen.

180 204 


192 * Verwenden Sie `/mcp`, um sich bei Remote-Servern zu authentifizieren, die OAuth 2.0-Authentifizierung erfordern216 * Verwenden Sie `/mcp`, um sich bei Remote-Servern zu authentifizieren, die OAuth 2.0-Authentifizierung erfordern

193</Tip>217</Tip>

194 218 

195Das Pro-Server-`timeout` ist eine harte Wanduhr-Grenze pro Tool-Aufruf, und Fortschrittsbenachrichtigungen vom Server verlängern sie nicht. Werte unter 1000 werden auf eine Sekunde begrenzt. Für HTTP- und SSE-Server hat das Pro-Request-Fetch-First-Byte-Budget ein 60-Sekunden-Minimum unabhängig von diesem Wert, daher ehrt nur die Tool-Call-Watchdog kleinere Werte.219Das Pro-Server-`timeout` ist eine harte Wanduhr-Grenze pro Tool-Aufruf, und Fortschrittsbenachrichtigungen vom Server verlängern sie nicht. Werte unter 1000 werden ignoriert und fallen auf `MCP_TOOL_TIMEOUT` zurück, oder auf seinen Standard von etwa 28 Stunden, wenn diese Variable nicht gesetzt ist. {/* min-version: 2.1.162 */}Vor v2.1.162 wurden Werte unter 1000 stattdessen auf eine Sekunde begrenzt. Bei HTTP- und SSE-Servern hat das Pro-Request-Fetch-First-Byte-Budget ein 60-Sekunden-Minimum.

196 220 

197### Von Plugins bereitgestellte MCP-Server221<h3 id="plugin-provided-mcp-servers">

222 Von Plugins bereitgestellte MCP-Server

223</h3>

198 224 

199[Plugins](/de/plugins) können MCP-Server bündeln und automatisch Tools und Integrationen bereitstellen, wenn das Plugin aktiviert ist. Plugin-MCP-Server funktionieren identisch mit benutzerkonfigurierten Servern.225[Plugins](/de/plugins) können MCP-Server bündeln und automatisch Tools und Integrationen bereitstellen, wenn das Plugin aktiviert ist. Plugin-MCP-Server funktionieren identisch mit benutzerkonfigurierten Servern.

200 226 


253 279 

254Plugin-Server erscheinen in der Liste mit Indikatoren, die zeigen, dass sie von Plugins stammen.280Plugin-Server erscheinen in der Liste mit Indikatoren, die zeigen, dass sie von Plugins stammen.

255 281 

282**Plugin-MCP-Tool-Namen**:

283 

284Tools von einem Plugin-gebündelten MCP-Server enthalten sowohl den Plugin-Namen als auch den Server-Schlüssel in ihrem aufrufbaren Namen. Die vollständige Form ist `mcp__plugin_<plugin-name>_<server-name>__<tool-name>`, wobei jedes Zeichen außerhalb von `A-Z`, `a-z`, `0-9`, `_` und `-` durch `_` ersetzt wird. Für den Server `database-tools`, der in einem Plugin namens `my-plugin` gebündelt ist, ist ein `query`-Tool aufrufbar als:

285 

286```

287mcp__plugin_my-plugin_database-tools__query

288```

289 

290Verwenden Sie diesen vollständigen Namen, wenn Sie auf das Tool in [Berechtigungsregeln](/de/permissions), der `allowed-tools`-Liste eines Skills oder dem [`tools`-Feld eines Subagenten](/de/sub-agents#available-tools) verweisen.

291 

256**Vorteile von Plugin-MCP-Servern**:292**Vorteile von Plugin-MCP-Servern**:

257 293 

258* **Gebündelte Verteilung**: Tools und Server zusammen verpackt294* **Gebündelte Verteilung**: Tools und Server zusammen verpackt


261 297 

262Siehe die [Plugin-Komponenten-Referenz](/de/plugins-reference#mcp-servers) für Details zum Bündeln von MCP-Servern mit Plugins.298Siehe die [Plugin-Komponenten-Referenz](/de/plugins-reference#mcp-servers) für Details zum Bündeln von MCP-Servern mit Plugins.

263 299 

264## MCP-Installationsbereiche300<h2 id="mcp-installation-scopes">

301 MCP-Installationsbereiche

302</h2>

265 303 

266MCP-Server können auf drei verschiedenen Bereichsebenen konfiguriert werden. Der Bereich, den Sie wählen, steuert, in welchen Projekten der Server geladen wird und ob die Konfiguration mit Ihrem Team geteilt wird. Administratoren können Server auch auf Unternehmensebene über [verwaltete Konfiguration](#managed-mcp-configuration) bereitstellen.304MCP-Server können auf drei verschiedenen Bereichsebenen konfiguriert werden. Der Bereich, den Sie wählen, steuert, in welchen Projekten der Server geladen wird und ob die Konfiguration mit Ihrem Team geteilt wird. Administratoren können Server auch auf Unternehmensebene über [verwaltete Konfiguration](#managed-mcp-configuration) bereitstellen.

267 305 


271| [Projekt](#project-scope) | Nur aktuelles Projekt | Ja, über Versionskontrolle | `.mcp.json` im Projekt-Root |309| [Projekt](#project-scope) | Nur aktuelles Projekt | Ja, über Versionskontrolle | `.mcp.json` im Projekt-Root |

272| [Benutzer](#user-scope) | Alle Ihre Projekte | Nein | `~/.claude.json` |310| [Benutzer](#user-scope) | Alle Ihre Projekte | Nein | `~/.claude.json` |

273 311 

274### Lokaler Bereich312<h3 id="local-scope">

313 Lokaler Bereich

314</h3>

275 315 

276Der lokale Bereich ist der Standard. Ein lokal begrenzter Server wird nur in dem Projekt geladen, in dem Sie ihn hinzugefügt haben, und bleibt privat für Sie. Claude Code speichert ihn in `~/.claude.json` unter dem Pfad dieses Projekts, daher wird derselbe Server nicht in Ihren anderen Projekten angezeigt. Verwenden Sie den lokalen Bereich für persönliche Entwicklungsserver, experimentelle Konfigurationen oder Server mit Anmeldedaten, die Sie nicht in der Versionskontrolle haben möchten.316Der lokale Bereich ist der Standard. Ein lokal begrenzter Server wird nur in dem Projekt geladen, in dem Sie ihn hinzugefügt haben, und bleibt privat für Sie. Claude Code speichert ihn in `~/.claude.json` unter dem Pfad dieses Projekts, daher wird derselbe Server nicht in Ihren anderen Projekten angezeigt. Verwenden Sie den lokalen Bereich für persönliche Entwicklungsserver, experimentelle Konfigurationen oder Server mit Anmeldedaten, die Sie nicht in der Versionskontrolle haben möchten.

277 317 


304}344}

305```345```

306 346 

307### Projektbereich347<h3 id="project-scope">

348 Projektbereich

349</h3>

308 350 

309Projektbegrenzte Server ermöglichen Teamzusammenarbeit durch das Speichern von Konfigurationen in einer `.mcp.json`-Datei im Root-Verzeichnis Ihres Projekts. Diese Datei ist dazu bestimmt, in die Versionskontrolle eingecheckt zu werden, um sicherzustellen, dass alle Teammitglieder Zugriff auf die gleichen MCP-Tools und -Dienste haben. Wenn Sie einen projektbegrenzten Server hinzufügen, erstellt oder aktualisiert Claude Code automatisch diese Datei mit der entsprechenden Konfigurationsstruktur.351Projektbegrenzte Server ermöglichen Teamzusammenarbeit durch das Speichern von Konfigurationen in einer `.mcp.json`-Datei im Root-Verzeichnis Ihres Projekts. Diese Datei ist dazu bestimmt, in die Versionskontrolle eingecheckt zu werden, um sicherzustellen, dass alle Teammitglieder Zugriff auf die gleichen MCP-Tools und -Dienste haben. Wenn Sie einen projektbegrenzten Server hinzufügen, erstellt oder aktualisiert Claude Code automatisch diese Datei mit der entsprechenden Konfigurationsstruktur.

310 352 


329 371 

330Aus Sicherheitsgründen fordert Claude Code eine Genehmigung an, bevor projektbegrenzte Server aus `.mcp.json`-Dateien verwendet werden. Wenn Sie diese Genehmigungswahlmöglichkeiten zurücksetzen müssen, verwenden Sie den Befehl `claude mcp reset-project-choices`.372Aus Sicherheitsgründen fordert Claude Code eine Genehmigung an, bevor projektbegrenzte Server aus `.mcp.json`-Dateien verwendet werden. Wenn Sie diese Genehmigungswahlmöglichkeiten zurücksetzen müssen, verwenden Sie den Befehl `claude mcp reset-project-choices`.

331 373 

332### Benutzerbereich374<h3 id="user-scope">

375 Benutzerbereich

376</h3>

333 377 

334Benutzerbegrenzte Server werden in `~/.claude.json` gespeichert und bieten projektübergreifende Zugänglichkeit, wodurch sie über alle Projekte auf Ihrem Computer verfügbar sind und gleichzeitig privat für Ihr Benutzerkonto bleiben. Dieser Bereich funktioniert gut für persönliche Utility-Server, Entwicklungstools oder Dienste, die Sie häufig über verschiedene Projekte hinweg verwenden.378Benutzerbegrenzte Server werden in `~/.claude.json` gespeichert und bieten projektübergreifende Zugänglichkeit, wodurch sie über alle Projekte auf Ihrem Computer verfügbar sind und gleichzeitig privat für Ihr Benutzerkonto bleiben. Dieser Bereich funktioniert gut für persönliche Utility-Server, Entwicklungstools oder Dienste, die Sie häufig über verschiedene Projekte hinweg verwenden.

335 379 


338claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic382claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

339```383```

340 384 

341### Bereichshierarchie und Vorrang385<h3 id="scope-hierarchy-and-precedence">

386 Bereichshierarchie und Vorrang

387</h3>

342 388 

343Wenn derselbe Server auf mehreren Bereichen definiert ist, verbindet sich Claude Code einmal damit und verwendet die Definition aus der höchsten Vorrangsquelle. Der gesamte Server-Eintrag aus dieser Quelle wird verwendet; Felder werden nicht über Bereiche hinweg zusammengeführt.389Wenn derselbe Server auf mehreren Bereichen definiert ist, verbindet sich Claude Code einmal damit und verwendet die Definition aus der höchsten Vorrangsquelle. Der gesamte Server-Eintrag aus dieser Quelle wird verwendet; Felder werden nicht über Bereiche hinweg zusammengeführt.

344 390 


350 396 

351Die drei Bereiche stimmen Duplikate nach Name ab. Plugins und Connectoren stimmen nach Endpunkt ab, daher wird einer, der auf die gleiche URL oder den gleichen Befehl wie ein Server oben verweist, als Duplikat behandelt.397Die drei Bereiche stimmen Duplikate nach Name ab. Plugins und Connectoren stimmen nach Endpunkt ab, daher wird einer, der auf die gleiche URL oder den gleichen Befehl wie ein Server oben verweist, als Duplikat behandelt.

352 398 

353### Umgebungsvariablen-Erweiterung in `.mcp.json`399<h3 id="environment-variable-expansion-in-mcp-json">

400 Umgebungsvariablen-Erweiterung in `.mcp.json`

401</h3>

354 402 

355Claude Code unterstützt die Umgebungsvariablen-Erweiterung in `.mcp.json`-Dateien, die es Teams ermöglicht, Konfigurationen zu teilen und gleichzeitig Flexibilität für maschinenspezifische Pfade und vertrauliche Werte wie API-Schlüssel zu bewahren.403Claude Code unterstützt die Umgebungsvariablen-Erweiterung in `.mcp.json`-Dateien, die es Teams ermöglicht, Konfigurationen zu teilen und gleichzeitig Flexibilität für maschinenspezifische Pfade und vertrauliche Werte wie API-Schlüssel zu bewahren.

356 404 


386 434 

387Wenn eine erforderliche Umgebungsvariable nicht gesetzt ist und keinen Standardwert hat, kann Claude Code die Konfiguration nicht analysieren.435Wenn eine erforderliche Umgebungsvariable nicht gesetzt ist und keinen Standardwert hat, kann Claude Code die Konfiguration nicht analysieren.

388 436 

389## Praktische Beispiele437<h2 id="practical-examples">

438 Praktische Beispiele

439</h2>

390 440 

391{/* ### Beispiel: Browser-Tests mit Playwright automatisieren441<h3 id="example-monitor-errors-with-sentry">

392 442 Beispiel: Fehler mit Sentry überwachen

393```bash443</h3>

394claude mcp add --transport stdio playwright -- npx -y @playwright/mcp@latest

395```

396 

397Dann schreiben und führen Sie Browser-Tests aus:

398 

399```text

400Test if the login flow works with test@example.com

401```

402```text

403Take a screenshot of the checkout page on mobile

404```

405```text

406Verify that the search feature returns results

407``` */}

408 

409### Beispiel: Fehler mit Sentry überwachen

410 444 

411```bash theme={null}445```bash theme={null}

412claude mcp add --transport http sentry https://mcp.sentry.dev/mcp446claude mcp add --transport http sentry https://mcp.sentry.dev/mcp


432Which deployment introduced these new errors?466Which deployment introduced these new errors?

433```467```

434 468 

435### Beispiel: Mit GitHub für Code-Reviews verbinden469<h3 id="example-connect-to-github-for-code-reviews">

470 Beispiel: Mit GitHub für Code-Reviews verbinden

471</h3>

436 472 

437GitHubs Remote-MCP-Server authentifiziert sich mit einem GitHub-Personal-Access-Token, der als Header übergeben wird. Um einen zu erhalten, öffnen Sie Ihre [GitHub-Token-Einstellungen](https://github.com/settings/personal-access-tokens), generieren Sie ein neues feingranulares Token mit Zugriff auf die Repositories, mit denen Claude arbeiten soll, und fügen Sie dann den Server hinzu:473GitHubs Remote-MCP-Server authentifiziert sich mit einem GitHub-Personal-Access-Token, der als Header übergeben wird. Um einen zu erhalten, öffnen Sie Ihre [GitHub-Token-Einstellungen](https://github.com/settings/personal-access-tokens), generieren Sie ein neues feingranulares Token mit Zugriff auf die Repositories, mit denen Claude arbeiten soll, und fügen Sie dann den Server hinzu:

438 474 


455Show me all open PRs assigned to me491Show me all open PRs assigned to me

456```492```

457 493 

458### Beispiel: Ihre PostgreSQL-Datenbank abfragen494<h3 id="example-query-your-postgresql-database">

495 Beispiel: Ihre PostgreSQL-Datenbank abfragen

496</h3>

459 497 

460```bash theme={null}498```bash theme={null}

461claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \499claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \


476Find customers who haven't made a purchase in 90 days514Find customers who haven't made a purchase in 90 days

477```515```

478 516 

479## Mit Remote-MCP-Servern authentifizieren517<h2 id="authenticate-with-remote-mcp-servers">

518 Mit Remote-MCP-Servern authentifizieren

519</h2>

480 520 

481Viele Cloud-basierte MCP-Server erfordern Authentifizierung. Claude Code unterstützt OAuth 2.0 für sichere Verbindungen.521Viele Cloud-basierte MCP-Server erfordern Authentifizierung. Claude Code unterstützt OAuth 2.0 für sichere Verbindungen.

482 522 


514 * OAuth-Authentifizierung funktioniert mit HTTP-Servern554 * OAuth-Authentifizierung funktioniert mit HTTP-Servern

515</Tip>555</Tip>

516 556 

517### Verwenden Sie einen festen OAuth-Callback-Port557<h3 id="use-a-fixed-oauth-callback-port">

558 Verwenden Sie einen festen OAuth-Callback-Port

559</h3>

518 560 

519Einige MCP-Server erfordern einen spezifischen Redirect-URI, der im Voraus registriert ist. Standardmäßig wählt Claude Code einen zufällig verfügbaren Port für den OAuth-Callback. Verwenden Sie `--callback-port`, um den Port zu fixieren, damit er einem vorregistrierten Redirect-URI der Form `http://localhost:PORT/callback` entspricht.561Einige MCP-Server erfordern einen spezifischen Redirect-URI, der im Voraus registriert ist. Standardmäßig wählt Claude Code einen zufällig verfügbaren Port für den OAuth-Callback. Verwenden Sie `--callback-port`, um den Port zu fixieren, damit er einem vorregistrierten Redirect-URI der Form `http://localhost:PORT/callback` entspricht.

520 562 


527 my-server https://mcp.example.com/mcp569 my-server https://mcp.example.com/mcp

528```570```

529 571 

530### Verwenden Sie vorkonfigurierte OAuth-Anmeldedaten572<h3 id="use-pre-configured-oauth-credentials">

573 Verwenden Sie vorkonfigurierte OAuth-Anmeldedaten

574</h3>

531 575 

532Einige MCP-Server unterstützen keine automatische OAuth-Einrichtung über Dynamic Client Registration. Wenn Sie einen Fehler wie „Incompatible auth server: does not support dynamic client registration" sehen, erfordert der Server vorkonfigurierte Anmeldedaten. Claude Code unterstützt auch Server, die ein Client ID Metadata Document (CIMD) anstelle von Dynamic Client Registration verwenden, und erkennt diese automatisch. Wenn die automatische Erkennung fehlschlägt, registrieren Sie zunächst eine OAuth-App über das Entwicklerportal des Servers und geben Sie dann die Anmeldedaten beim Hinzufügen des Servers an.576Einige MCP-Server unterstützen keine automatische OAuth-Einrichtung über Dynamic Client Registration. Wenn Sie einen Fehler wie „Incompatible auth server: does not support dynamic client registration" sehen, erfordert der Server vorkonfigurierte Anmeldedaten. Claude Code unterstützt auch Server, die ein Client ID Metadata Document (CIMD) anstelle von Dynamic Client Registration verwenden, und erkennt diese automatisch. Wenn die automatische Erkennung fehlschlägt, registrieren Sie zunächst eine OAuth-App über das Entwicklerportal des Servers und geben Sie dann die Anmeldedaten beim Hinzufügen des Servers an.

533 577 


598 * Verwenden Sie `claude mcp get <name>`, um zu überprüfen, dass OAuth-Anmeldedaten für einen Server konfiguriert sind642 * Verwenden Sie `claude mcp get <name>`, um zu überprüfen, dass OAuth-Anmeldedaten für einen Server konfiguriert sind

599</Tip>643</Tip>

600 644 

601### Überschreiben Sie die OAuth-Metadaten-Erkennung645<h3 id="override-oauth-metadata-discovery">

646 Überschreiben Sie die OAuth-Metadaten-Erkennung

647</h3>

602 648 

603Verweisen Sie Claude Code auf eine spezifische OAuth-Autorisierungsserver-Metadaten-URL, um die Standard-Erkennungskette zu umgehen. Legen Sie `authServerMetadataUrl` fest, wenn die Standard-Endpunkte des MCP-Servers Fehler zurückgeben, oder wenn Sie die Erkennung durch einen internen Proxy leiten möchten. Standardmäßig überprüft Claude Code zunächst RFC 9728 Protected Resource Metadata unter `/.well-known/oauth-protected-resource` und fällt dann auf RFC 8414 Authorization Server Metadata unter `/.well-known/oauth-authorization-server` zurück.649Verweisen Sie Claude Code auf eine spezifische OAuth-Autorisierungsserver-Metadaten-URL, um die Standard-Erkennungskette zu umgehen. Legen Sie `authServerMetadataUrl` fest, wenn die Standard-Endpunkte des MCP-Servers Fehler zurückgeben, oder wenn Sie die Erkennung durch einen internen Proxy leiten möchten. Standardmäßig überprüft Claude Code zunächst RFC 9728 Protected Resource Metadata unter `/.well-known/oauth-protected-resource` und fällt dann auf RFC 8414 Authorization Server Metadata unter `/.well-known/oauth-authorization-server` zurück.

604 650 


620 666 

621Die URL muss `https://` verwenden. `authServerMetadataUrl` erfordert Claude Code v2.1.64 oder später. Die `scopes_supported` der Metadaten-URL überschreiben die Bereiche, die der Upstream-Server bewirbt.667Die URL muss `https://` verwenden. `authServerMetadataUrl` erfordert Claude Code v2.1.64 oder später. Die `scopes_supported` der Metadaten-URL überschreiben die Bereiche, die der Upstream-Server bewirbt.

622 668 

623### Beschränken Sie OAuth-Bereiche669<h3 id="restrict-oauth-scopes">

670 Beschränken Sie OAuth-Bereiche

671</h3>

624 672 

625Legen Sie `oauth.scopes` fest, um die Bereiche zu fixieren, die Claude Code während des Autorisierungsflusses anfordert. Dies ist die unterstützte Methode, um einen MCP-Server auf eine von Ihrem Sicherheitsteam genehmigte Teilmenge zu beschränken, wenn der Upstream-Autorisierungsserver mehr Bereiche bewirbt, als Sie gewähren möchten. Der Wert ist eine einzelne durch Leerzeichen getrennte Zeichenkette, die dem `scope`-Parameter-Format in RFC 6749 §3.3 entspricht.673Legen Sie `oauth.scopes` fest, um die Bereiche zu fixieren, die Claude Code während des Autorisierungsflusses anfordert. Dies ist die unterstützte Methode, um einen MCP-Server auf eine von Ihrem Sicherheitsteam genehmigte Teilmenge zu beschränken, wenn der Upstream-Autorisierungsserver mehr Bereiche bewirbt, als Sie gewähren möchten. Der Wert ist eine einzelne durch Leerzeichen getrennte Zeichenkette, die dem `scope`-Parameter-Format in RFC 6749 §3.3 entspricht.

626 674 


644 692 

645Wenn der Server später einen 403 `insufficient_scope` für einen Tool-Aufruf zurückgibt, authentifiziert sich Claude Code mit den gleichen fixierten Bereichen erneut. Erweitern Sie `oauth.scopes`, wenn ein Tool, das Sie benötigen, einen Bereich außerhalb der Fixierung erfordert.693Wenn der Server später einen 403 `insufficient_scope` für einen Tool-Aufruf zurückgibt, authentifiziert sich Claude Code mit den gleichen fixierten Bereichen erneut. Erweitern Sie `oauth.scopes`, wenn ein Tool, das Sie benötigen, einen Bereich außerhalb der Fixierung erfordert.

646 694 

647### Verwenden Sie dynamische Header für benutzerdefinierte Authentifizierung695<h3 id="use-dynamic-headers-for-custom-authentication">

696 Verwenden Sie dynamische Header für benutzerdefinierte Authentifizierung

697</h3>

648 698 

649Wenn Ihr MCP-Server ein anderes Authentifizierungsschema verwendet als OAuth (wie Kerberos, kurzlebige Token oder ein internes SSO), verwenden Sie `headersHelper`, um Request-Header zur Verbindungszeit zu generieren. Claude Code führt den Befehl aus und fügt seine Ausgabe in die Verbindungs-Header ein.699Wenn Ihr MCP-Server ein anderes Authentifizierungsschema verwendet als OAuth (wie Kerberos, kurzlebige Token oder ein internes SSO), verwenden Sie `headersHelper`, um Request-Header zur Verbindungszeit zu generieren. Claude Code führt den Befehl aus und fügt seine Ausgabe in die Verbindungs-Header ein.

650 700 


695 `headersHelper` führt beliebige Shell-Befehle aus. Wenn es auf Projekt- oder lokalem Bereich definiert ist, wird es nur nach Ihrer Zustimmung zum Workspace-Trust-Dialog ausgeführt.745 `headersHelper` führt beliebige Shell-Befehle aus. Wenn es auf Projekt- oder lokalem Bereich definiert ist, wird es nur nach Ihrer Zustimmung zum Workspace-Trust-Dialog ausgeführt.

696</Note>746</Note>

697 747 

698## MCP-Server aus JSON-Konfiguration hinzufügen748<h2 id="add-mcp-servers-from-json-configuration">

749 MCP-Server aus JSON-Konfiguration hinzufügen

750</h2>

699 751 

700Wenn Sie eine JSON-Konfiguration für einen MCP-Server haben, können Sie sie direkt hinzufügen:752Wenn Sie eine JSON-Konfiguration für einen MCP-Server haben, können Sie sie direkt hinzufügen:

701 753 


731 * Sie können `--scope user` verwenden, um den Server zu Ihrer Benutzerkonfiguration statt zur projektspezifischen hinzuzufügen783 * Sie können `--scope user` verwenden, um den Server zu Ihrer Benutzerkonfiguration statt zur projektspezifischen hinzuzufügen

732</Tip>784</Tip>

733 785 

734## MCP-Server aus Claude Desktop importieren786<h2 id="import-mcp-servers-from-claude-desktop">

787 MCP-Server aus Claude Desktop importieren

788</h2>

735 789 

736Wenn Sie bereits MCP-Server in Claude Desktop konfiguriert haben, können Sie diese importieren:790Wenn Sie bereits MCP-Server in Claude Desktop konfiguriert haben, können Sie diese importieren:

737 791 


764 * Wenn Server mit den gleichen Namen bereits vorhanden sind, erhalten sie ein numerisches Suffix (zum Beispiel `server_1`)818 * Wenn Server mit den gleichen Namen bereits vorhanden sind, erhalten sie ein numerisches Suffix (zum Beispiel `server_1`)

765</Tip>819</Tip>

766 820 

767## MCP-Server von Claude.ai verwenden821<h2 id="use-mcp-servers-from-claude-ai">

822 MCP-Server von Claude.ai verwenden

823</h2>

768 824 

769Wenn Sie sich in Claude Code mit einem [Claude.ai](https://claude.ai)-Konto angemeldet haben, sind MCP-Server, die Sie in Claude.ai hinzugefügt haben, automatisch in Claude Code verfügbar:825Wenn Sie sich in Claude Code mit einem [Claude.ai](https://claude.ai)-Konto angemeldet haben, sind MCP-Server, die Sie in Claude.ai hinzugefügt haben, automatisch in Claude Code verfügbar:

770 826 


794 850 

795Ein Server, den Sie in Claude Code hinzugefügt haben, hat [Vorrang](#scope-hierarchy-and-precedence) vor einem Claude.ai-Connector, der auf dieselbe URL verweist. Wenn dies geschieht, listet `/mcp` den Connector als verborgen auf und zeigt, wie Sie das Duplikat entfernen können, wenn Sie lieber den Connector verwenden möchten.851Ein Server, den Sie in Claude Code hinzugefügt haben, hat [Vorrang](#scope-hierarchy-and-precedence) vor einem Claude.ai-Connector, der auf dieselbe URL verweist. Wenn dies geschieht, listet `/mcp` den Connector als verborgen auf und zeigt, wie Sie das Duplikat entfernen können, wenn Sie lieber den Connector verwenden möchten.

796 852 

853Einige von Anthropic gehostete Connectoren, wie Microsoft 365, Gmail und Google Calendar, unterstützen keine lokale OAuth von Claude Code aus, da der vorgelagerte Identitätsanbieter nur die Umleitungs-URL akzeptiert, die claude.ai registriert hat. Ab v2.1.162 zeigt die Authentifizierung eines dieser Hosts in `/mcp` eine Nachricht an, die Sie anweist, es stattdessen unter Einstellungen → Connectoren auf claude.ai zu verbinden. Sobald es dort verbunden ist, erscheint der Connector automatisch in Claude Code.

854 

797Um Claude.ai-MCP-Server in Claude Code zu deaktivieren, setzen Sie die Umgebungsvariable `ENABLE_CLAUDEAI_MCP_SERVERS` auf `false`:855Um Claude.ai-MCP-Server in Claude Code zu deaktivieren, setzen Sie die Umgebungsvariable `ENABLE_CLAUDEAI_MCP_SERVERS` auf `false`:

798 856 

799```bash theme={null}857```bash theme={null}

800ENABLE_CLAUDEAI_MCP_SERVERS=false claude858ENABLE_CLAUDEAI_MCP_SERVERS=false claude

801```859```

802 860 

803## Claude Code als MCP-Server verwenden861<h2 id="use-claude-code-as-an-mcp-server">

862 Claude Code als MCP-Server verwenden

863</h2>

804 864 

805Sie können Claude Code selbst als MCP-Server verwenden, mit dem sich andere Anwendungen verbinden können:865Sie können Claude Code selbst als MCP-Server verwenden, mit dem sich andere Anwendungen verbinden können:

806 866 


859 * Beachten Sie, dass dieser MCP-Server nur Claudes Tools für Ihren MCP-Client verfügbar macht, daher ist Ihr eigener Client dafür verantwortlich, Benutzerbestätigung für einzelne Tool-Aufrufe zu implementieren.919 * Beachten Sie, dass dieser MCP-Server nur Claudes Tools für Ihren MCP-Client verfügbar macht, daher ist Ihr eigener Client dafür verantwortlich, Benutzerbestätigung für einzelne Tool-Aufrufe zu implementieren.

860</Tip>920</Tip>

861 921 

862## MCP-Ausgabelimits und Warnungen922<h2 id="mcp-output-limits-and-warnings">

923 MCP-Ausgabelimits und Warnungen

924</h2>

863 925 

864Wenn MCP-Tools große Ausgaben erzeugen, hilft Claude Code bei der Verwaltung der Token-Nutzung, um zu verhindern, dass Ihr Gesprächskontext überwältigt wird:926Wenn MCP-Tools große Ausgaben erzeugen, hilft Claude Code bei der Verwaltung der Token-Nutzung, um zu verhindern, dass Ihr Gesprächskontext überwältigt wird:

865 927 


881* Detaillierte Berichte oder Dokumentation generieren943* Detaillierte Berichte oder Dokumentation generieren

882* Umfangreiche Protokolldateien oder Debugging-Informationen verarbeiten944* Umfangreiche Protokolldateien oder Debugging-Informationen verarbeiten

883 945 

884### Erhöhen Sie das Limit für ein bestimmtes Tool946<h3 id="raise-the-limit-for-a-specific-tool">

947 Erhöhen Sie das Limit für ein bestimmtes Tool

948</h3>

885 949 

886Wenn Sie einen MCP-Server erstellen, können Sie einzelnen Tools ermöglichen, Ergebnisse größer als die Standard-Persist-to-Disk-Schwelle zurückzugeben, indem Sie `_meta["anthropic/maxResultSizeChars"]` in der Tool-Antwort des `tools/list` einstellen. Claude Code erhöht die Schwelle dieses Tools auf den annotierten Wert, bis zu einer harten Obergrenze von 500.000 Zeichen.950Wenn Sie einen MCP-Server erstellen, können Sie einzelnen Tools ermöglichen, Ergebnisse größer als die Standard-Persist-to-Disk-Schwelle zurückzugeben, indem Sie `_meta["anthropic/maxResultSizeChars"]` in der Tool-Antwort des `tools/list` einstellen. Claude Code erhöht die Schwelle dieses Tools auf den annotierten Wert, bis zu einer harten Obergrenze von 500.000 Zeichen.

887 951 


903 Wenn Sie häufig Ausgabewarnungen bei bestimmten MCP-Servern erhalten, die Sie nicht kontrollieren, erwägen Sie, das Limit `MAX_MCP_OUTPUT_TOKENS` zu erhöhen. Sie können auch den Server-Autor bitten, die Anmerkung `anthropic/maxResultSizeChars` hinzuzufügen oder ihre Antworten zu paginieren. Die Anmerkung hat keine Auswirkung auf Tools, die Bildinhalte zurückgeben; für diese ist das Erhöhen von `MAX_MCP_OUTPUT_TOKENS` die einzige Option.967 Wenn Sie häufig Ausgabewarnungen bei bestimmten MCP-Servern erhalten, die Sie nicht kontrollieren, erwägen Sie, das Limit `MAX_MCP_OUTPUT_TOKENS` zu erhöhen. Sie können auch den Server-Autor bitten, die Anmerkung `anthropic/maxResultSizeChars` hinzuzufügen oder ihre Antworten zu paginieren. Die Anmerkung hat keine Auswirkung auf Tools, die Bildinhalte zurückgeben; für diese ist das Erhöhen von `MAX_MCP_OUTPUT_TOKENS` die einzige Option.

904</Warning>968</Warning>

905 969 

906## Reagieren Sie auf MCP-Elicitierungsanfragen970<h2 id="respond-to-mcp-elicitation-requests">

971 Reagieren Sie auf MCP-Elicitierungsanfragen

972</h2>

907 973 

908MCP-Server können während einer Aufgabe strukturierte Eingaben von Ihnen anfordern, indem sie Elicitierung verwenden. Wenn ein Server Informationen benötigt, die er nicht selbst abrufen kann, zeigt Claude Code einen interaktiven Dialog an und leitet Ihre Antwort an den Server weiter. Auf Ihrer Seite ist keine Konfiguration erforderlich: Elicitierungs-Dialoge erscheinen automatisch, wenn ein Server sie anfordert.974MCP-Server können während einer Aufgabe strukturierte Eingaben von Ihnen anfordern, indem sie Elicitierung verwenden. Wenn ein Server Informationen benötigt, die er nicht selbst abrufen kann, zeigt Claude Code einen interaktiven Dialog an und leitet Ihre Antwort an den Server weiter. Auf Ihrer Seite ist keine Konfiguration erforderlich: Elicitierungs-Dialoge erscheinen automatisch, wenn ein Server sie anfordert.

909 975 


912* **Formularmodus**: Claude Code zeigt einen Dialog mit Formularfeldern an, die vom Server definiert werden (zum Beispiel eine Eingabeaufforderung für Benutzername und Passwort). Füllen Sie die Felder aus und senden Sie sie ab.978* **Formularmodus**: Claude Code zeigt einen Dialog mit Formularfeldern an, die vom Server definiert werden (zum Beispiel eine Eingabeaufforderung für Benutzername und Passwort). Füllen Sie die Felder aus und senden Sie sie ab.

913* **URL-Modus**: Claude Code öffnet eine Browser-URL für Authentifizierung oder Genehmigung. Führen Sie den Ablauf im Browser durch und bestätigen Sie dann in der CLI.979* **URL-Modus**: Claude Code öffnet eine Browser-URL für Authentifizierung oder Genehmigung. Führen Sie den Ablauf im Browser durch und bestätigen Sie dann in der CLI.

914 980 

915Um automatisch auf Elicitierungsanfragen ohne Dialog zu reagieren, verwenden Sie den [`Elicitation`-Hook](/de/hooks#Elicitation).981Um automatisch auf Elicitierungsanfragen ohne Dialog zu reagieren, verwenden Sie den [`Elicitation`-Hook](/de/hooks#elicitation).

916 982 

917Wenn Sie einen MCP-Server erstellen, der Elicitierung verwendet, siehe die [MCP-Elicitierungs-Spezifikation](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation) für Protokolldetails und Schema-Beispiele.983Wenn Sie einen MCP-Server erstellen, der Elicitierung verwendet, siehe die [MCP-Elicitierungs-Spezifikation](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation) für Protokolldetails und Schema-Beispiele.

918 984 

919## MCP-Ressourcen verwenden985<h2 id="use-mcp-resources">

986 MCP-Ressourcen verwenden

987</h2>

920 988 

921MCP-Server können Ressourcen verfügbar machen, auf die Sie mit @-Erwähnungen verweisen können, ähnlich wie Sie auf Dateien verweisen.989MCP-Server können Ressourcen verfügbar machen, auf die Sie mit @-Erwähnungen verweisen können, ähnlich wie Sie auf Dateien verweisen.

922 990 

923### Referenzieren Sie MCP-Ressourcen991<h3 id="reference-mcp-resources">

992 Referenzieren Sie MCP-Ressourcen

993</h3>

924 994 

925<Steps>995<Steps>

926 <Step title="Verfügbare Ressourcen auflisten">996 <Step title="Verfügbare Ressourcen auflisten">


957 * Ressourcen können jeden Inhaltstyp enthalten, den der MCP-Server bereitstellt (Text, JSON, strukturierte Daten usw.)1027 * Ressourcen können jeden Inhaltstyp enthalten, den der MCP-Server bereitstellt (Text, JSON, strukturierte Daten usw.)

958</Tip>1028</Tip>

959 1029 

960## Mit MCP-Tool-Suche skalieren1030<h2 id="scale-with-mcp-tool-search">

1031 Mit MCP-Tool-Suche skalieren

1032</h2>

961 1033 

962Die Tool-Suche hält die MCP-Kontextnutzung niedrig, indem Tool-Definitionen aufgeschoben werden, bis Claude sie benötigt. Nur Tool-Namen und Server-Anweisungen werden beim Sitzungsstart geladen, daher hat das Hinzufügen weiterer MCP-Server minimale Auswirkungen auf Ihr Kontextfenster.1034Die Tool-Suche hält die MCP-Kontextnutzung niedrig, indem Tool-Definitionen aufgeschoben werden, bis Claude sie benötigt. Nur Tool-Namen und Server-Anweisungen werden beim Sitzungsstart geladen, daher hat das Hinzufügen weiterer MCP-Server minimale Auswirkungen auf Ihr Kontextfenster. Claude Code verhängt keine feste Tool-Obergrenze pro Server; die praktische Grenze ist Ihr Kontextfenster-Budget.

963 1035 

964### Wie es funktioniert1036<h3 id="how-it-works">

1037 Wie es funktioniert

1038</h3>

965 1039 

966Die Tool-Suche ist standardmäßig aktiviert. MCP-Tools werden aufgeschoben, anstatt sie vorab in den Kontext zu laden, und Claude verwendet ein Such-Tool, um relevante Tools zu entdecken, wenn eine Aufgabe sie benötigt. Nur die Tools, die Claude tatsächlich verwendet, gelangen in den Kontext. Aus Ihrer Perspektive funktionieren MCP-Tools genau wie zuvor.1040Die Tool-Suche ist standardmäßig aktiviert. MCP-Tools werden aufgeschoben, anstatt sie vorab in den Kontext zu laden, und Claude verwendet ein Such-Tool, um relevante Tools zu entdecken, wenn eine Aufgabe sie benötigt. Nur die Tools, die Claude tatsächlich verwendet, gelangen in den Kontext. Aus Ihrer Perspektive funktionieren MCP-Tools genau wie zuvor.

967 1041 

968Wenn Sie schwellenwertbasiertes Laden bevorzugen, setzen Sie `ENABLE_TOOL_SEARCH=auto`, um Schemas vorab zu laden, wenn sie in 10 % des Kontextfensters passen, und verschieben Sie nur den Überschuss. Siehe [Tool-Suche konfigurieren](#configure-tool-search) für alle Optionen.1042Wenn Sie schwellenwertbasiertes Laden bevorzugen, setzen Sie `ENABLE_TOOL_SEARCH=auto`, um Schemas vorab zu laden, wenn sie in 10 % des Kontextfensters passen, und verschieben Sie nur den Überschuss. Siehe [Tool-Suche konfigurieren](#configure-tool-search) für alle Optionen.

969 1043 

970### Für MCP-Server-Autoren1044<h3 id="for-mcp-server-authors">

1045 Für MCP-Server-Autoren

1046</h3>

971 1047 

972Wenn Sie einen MCP-Server erstellen, wird das Feld für Server-Anweisungen mit aktivierter Tool-Suche nützlicher. Server-Anweisungen helfen Claude zu verstehen, wann nach Ihren Tools gesucht werden soll, ähnlich wie [Skills](/de/skills) funktionieren.1048Wenn Sie einen MCP-Server erstellen, wird das Feld für Server-Anweisungen mit aktivierter Tool-Suche nützlicher. Server-Anweisungen helfen Claude zu verstehen, wann nach Ihren Tools gesucht werden soll, ähnlich wie [Skills](/de/skills) funktionieren.

973 1049 


979 1055 

980Claude Code schneidet Tool-Beschreibungen und Server-Anweisungen bei 2 KB ab. Halten Sie sie prägnant, um Kürzungen zu vermeiden, und platzieren Sie kritische Details am Anfang.1056Claude Code schneidet Tool-Beschreibungen und Server-Anweisungen bei 2 KB ab. Halten Sie sie prägnant, um Kürzungen zu vermeiden, und platzieren Sie kritische Details am Anfang.

981 1057 

982### Tool-Suche konfigurieren1058<h3 id="configure-tool-search">

1059 Tool-Suche konfigurieren

1060</h3>

983 1061 

984Die Tool-Suche ist standardmäßig aktiviert: MCP-Tools werden aufgeschoben und bei Bedarf entdeckt. Claude Code deaktiviert sie standardmäßig auf Vertex AI. Sie ist auch deaktiviert, wenn `ANTHROPIC_BASE_URL` auf einen Host von Drittanbietern verweist, da die meisten Proxys `tool_reference`-Blöcke nicht weiterleiten. Setzen Sie `ENABLE_TOOL_SEARCH` explizit fest, um eine der beiden Fallback-Einstellungen zu überschreiben.1062Die Tool-Suche ist standardmäßig aktiviert: MCP-Tools werden aufgeschoben und bei Bedarf entdeckt. Claude Code deaktiviert sie standardmäßig auf Vertex AI. Sie ist auch deaktiviert, wenn `ANTHROPIC_BASE_URL` auf einen Host von Drittanbietern verweist, da die meisten Proxys `tool_reference`-Blöcke nicht weiterleiten. Setzen Sie `ENABLE_TOOL_SEARCH` explizit fest, um eine der beiden Fallback-Einstellungen zu überschreiben.

985 1063 

986Die Tool-Suche erfordert ein Modell, das `tool_reference`-Blöcke unterstützt: Sonnet 4 und später oder Opus 4 und später. Haiku-Modelle unterstützen dies nicht. Auf Vertex AI wird die Tool-Suche für Claude Sonnet 4.5 und später sowie Claude Opus 4.5 und später unterstützt.1064Die Tool-Suche erfordert ein Modell, das `tool_reference`-Blöcke unterstützt. Haiku-Modelle unterstützen dies nicht. Auf Vertex AI wird die Tool-Suche für Claude Sonnet 4.5 und später sowie Claude Opus 4.5 und später unterstützt.

987 1065 

988Steuern Sie das Verhalten der Tool-Suche mit der Umgebungsvariablen `ENABLE_TOOL_SEARCH`:1066Steuern Sie das Verhalten der Tool-Suche mit der Umgebungsvariablen `ENABLE_TOOL_SEARCH`:

989 1067 


1015}1093}

1016```1094```

1017 1095 

1018### Einen Server von der Verschiebung ausnehmen1096<h3 id="exempt-a-server-from-deferral">

1097 Einen Server von der Verschiebung ausnehmen

1098</h3>

1019 1099 

1020Wenn die Tools eines Servers für Claude immer sichtbar sein sollten, ohne einen Suchschritt durchzuführen, setzen Sie `alwaysLoad` in der Konfiguration dieses Servers auf `true`. Jedes Tool von diesem Server wird dann beim Sitzungsstart in den Kontext geladen, unabhängig von der Einstellung `ENABLE_TOOL_SEARCH`. Verwenden Sie dies für eine kleine Anzahl von Tools, die Claude bei jedem Durchgang benötigt, da jedes vorab geladene Tool Kontext verbraucht, der sonst für Ihr Gespräch verfügbar wäre.1100Wenn die Tools eines Servers für Claude immer sichtbar sein sollten, ohne einen Suchschritt durchzuführen, setzen Sie `alwaysLoad` in der Konfiguration dieses Servers auf `true`. Jedes Tool von diesem Server wird dann beim Sitzungsstart in den Kontext geladen, unabhängig von der Einstellung `ENABLE_TOOL_SEARCH`. Verwenden Sie dies für eine kleine Anzahl von Tools, die Claude bei jedem Durchgang benötigt, da jedes vorab geladene Tool Kontext verbraucht, der sonst für Ihr Gespräch verfügbar wäre.

1021 1101 


1037 1117 

1038Das Setzen von `alwaysLoad: true` blockiert auch den Start, bis sich der Server verbindet, begrenzt auf das Standard-Verbindungs-Timeout von 5 Sekunden. Dies gilt auch, obwohl MCP-Startup ansonsten [standardmäßig nicht blockierend ist](/de/env-vars), da die Tools vorhanden sein müssen, wenn der erste Prompt erstellt wird. Andere Server verbinden sich weiterhin im Hintergrund.1118Das Setzen von `alwaysLoad: true` blockiert auch den Start, bis sich der Server verbindet, begrenzt auf das Standard-Verbindungs-Timeout von 5 Sekunden. Dies gilt auch, obwohl MCP-Startup ansonsten [standardmäßig nicht blockierend ist](/de/env-vars), da die Tools vorhanden sein müssen, wenn der erste Prompt erstellt wird. Andere Server verbinden sich weiterhin im Hintergrund.

1039 1119 

1040## MCP-Prompts als Befehle verwenden1120<h2 id="use-mcp-prompts-as-commands">

1121 MCP-Prompts als Befehle verwenden

1122</h2>

1041 1123 

1042MCP-Server können Prompts verfügbar machen, die in Claude Code als Befehle verfügbar werden.1124MCP-Server können Prompts verfügbar machen, die in Claude Code als Befehle verfügbar werden.

1043 1125 

1044### Führen Sie MCP-Prompts aus1126<h3 id="execute-mcp-prompts">

1127 Führen Sie MCP-Prompts aus

1128</h3>

1045 1129 

1046<Steps>1130<Steps>

1047 <Step title="Entdecken Sie verfügbare Prompts">1131 <Step title="Entdecken Sie verfügbare Prompts">


1076 * Server- und Prompt-Namen werden normalisiert (Leerzeichen werden zu Unterstrichen)1160 * Server- und Prompt-Namen werden normalisiert (Leerzeichen werden zu Unterstrichen)

1077</Tip>1161</Tip>

1078 1162 

1079## Verwaltete MCP-Konfiguration1163<h2 id="managed-mcp-configuration">

1164 Verwaltete MCP-Konfiguration

1165</h2>

1080 1166 

1081Für Organisationen, die eine zentralisierte Kontrolle über MCP-Server benötigen, die Benutzer verbinden können, siehe [Verwaltete MCP-Konfiguration](/de/managed-mcp). Sie behandelt die Bereitstellung eines festen Serversatzes mit `managed-mcp.json`, die Einschränkung von Servern mit `allowedMcpServers` und `deniedMcpServers` sowie das, was Benutzer sehen, wenn ein Server blockiert ist.1167Für Organisationen, die eine zentralisierte Kontrolle über MCP-Server benötigen, die Benutzer verbinden können, siehe [Verwaltete MCP-Konfiguration](/de/managed-mcp). Sie behandelt die Bereitstellung eines festen Serversatzes mit `managed-mcp.json`, die Einschränkung von Servern mit `allowedMcpServers` und `deniedMcpServers` sowie das, was Benutzer sehen, wenn ein Server blockiert ist.

Details

379 <Accordion title="Changes to .mcp.json don't take effect">379 <Accordion title="Changes to .mcp.json don't take effect">

380 Claude Code liest `.mcp.json` beim Sitzungsstart. Beenden Sie die Sitzung und starten Sie sie nach dem Bearbeiten der Datei neu.380 Claude Code liest `.mcp.json` beim Sitzungsstart. Beenden Sie die Sitzung und starten Sie sie nach dem Bearbeiten der Datei neu.

381 381 

382 Wenn Ihre Server immer noch nicht angezeigt werden, führen Sie `/mcp` aus und suchen Sie nach einer Parse-Warnung. Claude Code überspringt fehlerhafte Einträge und zeigt das beleidigende Feld dort an.382 Wenn Ihre Server immer noch nicht angezeigt werden, führen Sie `/mcp` aus und suchen Sie nach einer Parse-Warnung. Claude Code überspringt fehlerhafte Einträge und zeigt das betroffene Feld dort an.

383 383 

384 Wenn Sie den Server zuvor abgelehnt haben, wenn Sie dazu aufgefordert wurden, setzen Sie Projektgenehmigungen zurück:384 Wenn Sie den Server zuvor abgelehnt haben, wenn Sie dazu aufgefordert wurden, setzen Sie Projektgenehmigungen zurück:

385 385 

memory.md +92 −32

Details

18* [Auto-Memory konfigurieren](#auto-memory), damit Claude automatisch Notizen macht18* [Auto-Memory konfigurieren](#auto-memory), damit Claude automatisch Notizen macht

19* [Fehlerbehebung](#troubleshoot-memory-issues), wenn Anweisungen nicht befolgt werden19* [Fehlerbehebung](#troubleshoot-memory-issues), wenn Anweisungen nicht befolgt werden

20 20 

21## CLAUDE.md vs. Auto-Memory21<h2 id="claude-md-vs-auto-memory">

22 CLAUDE.md vs. Auto-Memory

23</h2>

22 24 

23Claude Code hat zwei komplementäre Memory-Systeme. Beide werden zu Beginn jeder Konversation geladen. Claude behandelt sie als Kontext, nicht als erzwungene Konfiguration. Um eine Aktion unabhängig davon zu blockieren, was Claude entscheidet, verwenden Sie stattdessen einen [PreToolUse Hook](/de/hooks-guide). Je spezifischer und prägnanter Ihre Anweisungen sind, desto konsistenter folgt Claude ihnen.25Claude Code hat zwei komplementäre Memory-Systeme. Beide werden zu Beginn jeder Konversation geladen. Claude behandelt sie als Kontext, nicht als erzwungene Konfiguration. Um eine Aktion unabhängig davon zu blockieren, was Claude entscheidet, verwenden Sie stattdessen einen [PreToolUse Hook](/de/hooks-guide). Je spezifischer und prägnanter Ihre Anweisungen sind, desto konsistenter folgt Claude ihnen.

24 26 


34 36 

35Subagents können auch ihre eigene Auto-Memory pflegen. Weitere Informationen finden Sie unter [Subagent-Konfiguration](/de/sub-agents#enable-persistent-memory).37Subagents können auch ihre eigene Auto-Memory pflegen. Weitere Informationen finden Sie unter [Subagent-Konfiguration](/de/sub-agents#enable-persistent-memory).

36 38 

37## CLAUDE.md-Dateien39<h2 id="claude-md-files">

40 CLAUDE.md-Dateien

41</h2>

38 42 

39CLAUDE.md-Dateien sind Markdown-Dateien, die Claude persistente Anweisungen für ein Projekt, Ihren persönlichen Workflow oder Ihre gesamte Organisation geben. Sie schreiben diese Dateien in Klartext; Claude liest sie zu Beginn jeder Sitzung.43CLAUDE.md-Dateien sind Markdown-Dateien, die Claude persistente Anweisungen für ein Projekt, Ihren persönlichen Workflow oder Ihre gesamte Organisation geben. Sie schreiben diese Dateien in Klartext; Claude liest sie zu Beginn jeder Sitzung.

40 44 

41### Wann sollte ich zu CLAUDE.md hinzufügen45<h3 id="when-to-add-to-claude-md">

46 Wann sollte ich zu CLAUDE.md hinzufügen

47</h3>

42 48 

43Behandeln Sie CLAUDE.md als den Ort, an dem Sie aufschreiben, was Sie sonst erneut erklären würden. Fügen Sie hinzu, wenn:49Behandeln Sie CLAUDE.md als den Ort, an dem Sie aufschreiben, was Sie sonst erneut erklären würden. Fügen Sie hinzu, wenn:

44 50 


49 55 

50Halten Sie es bei Fakten, die Claude in jeder Sitzung behalten sollte: Build-Befehle, Konventionen, Projektlayout, „immer X machen"-Regeln. Wenn ein Eintrag ein mehrstufiges Verfahren ist oder nur für einen Teil der Codebasis wichtig ist, verschieben Sie ihn stattdessen zu einem [Skill](/de/skills) oder einer [pfadgebundenen Regel](#organize-rules-with-claude/rules/). Die [Funktionsübersicht](/de/features-overview#build-your-setup-over-time) behandelt, wann Sie jeden Mechanismus verwenden.56Halten Sie es bei Fakten, die Claude in jeder Sitzung behalten sollte: Build-Befehle, Konventionen, Projektlayout, „immer X machen"-Regeln. Wenn ein Eintrag ein mehrstufiges Verfahren ist oder nur für einen Teil der Codebasis wichtig ist, verschieben Sie ihn stattdessen zu einem [Skill](/de/skills) oder einer [pfadgebundenen Regel](#organize-rules-with-claude/rules/). Die [Funktionsübersicht](/de/features-overview#build-your-setup-over-time) behandelt, wann Sie jeden Mechanismus verwenden.

51 57 

52### Wählen Sie, wo Sie CLAUDE.md-Dateien ablegen58<h3 id="choose-where-to-put-claude-md-files">

59 Wählen Sie, wo Sie CLAUDE.md-Dateien ablegen

60</h3>

53 61 

54CLAUDE.md-Dateien können sich an mehreren Orten befinden, jeder mit einem anderen Umfang. Die folgende Tabelle listet sie in Ladereihenfolge auf, vom breitesten Umfang zum spezifischsten, sodass eine Projektanweisung im Kontext nach einer Benutzeranweisung erscheint.62CLAUDE.md-Dateien können sich an mehreren Orten befinden, jeder mit einem anderen Umfang. Die folgende Tabelle listet sie in Ladereihenfolge auf, vom breitesten Umfang zum spezifischsten, sodass eine Projektanweisung im Kontext nach einer Benutzeranweisung erscheint.

55 63 


64 72 

65Für große Projekte können Sie Anweisungen in themaspezifische Dateien aufteilen, indem Sie [Projektregeln](#organize-rules-with-claude/rules/) verwenden. Regeln ermöglichen es Ihnen, Anweisungen auf bestimmte Dateitypen oder Unterverzeichnisse zu beschränken.73Für große Projekte können Sie Anweisungen in themaspezifische Dateien aufteilen, indem Sie [Projektregeln](#organize-rules-with-claude/rules/) verwenden. Regeln ermöglichen es Ihnen, Anweisungen auf bestimmte Dateitypen oder Unterverzeichnisse zu beschränken.

66 74 

67### Richten Sie eine Projekt-CLAUDE.md ein75<h3 id="set-up-a-project-claude-md">

76 Richten Sie eine Projekt-CLAUDE.md ein

77</h3>

68 78 

69Eine Projekt-CLAUDE.md kann entweder in `./CLAUDE.md` oder `./.claude/CLAUDE.md` gespeichert werden. Erstellen Sie diese Datei und fügen Sie Anweisungen hinzu, die für jeden gelten, der am Projekt arbeitet: Build- und Test-Befehle, Coding-Standards, architektonische Entscheidungen, Namenskonventionen und häufige Workflows. Diese Anweisungen werden über Versionskontrolle mit Ihrem Team geteilt, daher konzentrieren Sie sich auf projektweite Standards statt auf persönliche Vorlieben.79Eine Projekt-CLAUDE.md kann entweder in `./CLAUDE.md` oder `./.claude/CLAUDE.md` gespeichert werden. Erstellen Sie diese Datei und fügen Sie Anweisungen hinzu, die für jeden gelten, der am Projekt arbeitet: Build- und Test-Befehle, Coding-Standards, architektonische Entscheidungen, Namenskonventionen und häufige Workflows. Diese Anweisungen werden über Versionskontrolle mit Ihrem Team geteilt, daher konzentrieren Sie sich auf projektweite Standards statt auf persönliche Vorlieben.

70 80 


74 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 Subagent, füllt Lücken durch Folgefragen aus und präsentiert einen überprüfbaren Vorschlag, bevor Dateien geschrieben werden.84 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 Subagent, füllt Lücken durch Folgefragen aus und präsentiert einen überprüfbaren Vorschlag, bevor Dateien geschrieben werden.

75</Tip>85</Tip>

76 86 

77### Schreiben Sie effektive Anweisungen87<h3 id="write-effective-instructions">

88 Schreiben Sie effektive Anweisungen

89</h3>

78 90 

79CLAUDE.md-Dateien werden zu Beginn jeder Sitzung in das Context Window geladen und verbrauchen Token zusammen mit Ihrer Konversation. Die [Context Window-Visualisierung](/de/context-window) zeigt, wo CLAUDE.md relativ zum Rest des Startup-Kontexts geladen wird. Da sie Kontext statt erzwungene Konfiguration sind, beeinflusst die Art, wie Sie Anweisungen schreiben, wie zuverlässig Claude ihnen folgt. Spezifische, prägnante, gut strukturierte Anweisungen funktionieren am besten.91CLAUDE.md-Dateien werden zu Beginn jeder Sitzung in das Context Window geladen und verbrauchen Token zusammen mit Ihrer Konversation. Die [Context Window-Visualisierung](/de/context-window) zeigt, wo CLAUDE.md relativ zum Rest des Startup-Kontexts geladen wird. Da sie Kontext statt erzwungene Konfiguration sind, beeinflusst die Art, wie Sie Anweisungen schreiben, wie zuverlässig Claude ihnen folgt. Spezifische, prägnante, gut strukturierte Anweisungen funktionieren am besten.

80 92 


90 102 

91**Konsistenz**: Wenn zwei Regeln sich widersprechen, kann Claude eine willkürlich auswählen. Überprüfen Sie Ihre CLAUDE.md-Dateien, verschachtelte CLAUDE.md-Dateien in Unterverzeichnissen und [`.claude/rules/`](#organize-rules-with-claude/rules/) regelmäßig, um veraltete oder widersprüchliche Anweisungen zu entfernen. In Monorepos verwenden Sie [`claudeMdExcludes`](#exclude-specific-claude-md-files), um CLAUDE.md-Dateien von anderen Teams zu überspringen, die für Ihre Arbeit nicht relevant sind.103**Konsistenz**: Wenn zwei Regeln sich widersprechen, kann Claude eine willkürlich auswählen. Überprüfen Sie Ihre CLAUDE.md-Dateien, verschachtelte CLAUDE.md-Dateien in Unterverzeichnissen und [`.claude/rules/`](#organize-rules-with-claude/rules/) regelmäßig, um veraltete oder widersprüchliche Anweisungen zu entfernen. In Monorepos verwenden Sie [`claudeMdExcludes`](#exclude-specific-claude-md-files), um CLAUDE.md-Dateien von anderen Teams zu überspringen, die für Ihre Arbeit nicht relevant sind.

92 104 

93### Importieren Sie zusätzliche Dateien105<h3 id="import-additional-files">

106 Importieren Sie zusätzliche Dateien

107</h3>

94 108 

95CLAUDE.md-Dateien können zusätzliche Dateien mit der Syntax `@path/to/import` importieren. Importierte Dateien werden erweitert und beim Start zusammen mit der CLAUDE.md, die sie referenziert, in den Kontext geladen.109CLAUDE.md-Dateien können zusätzliche Dateien mit der Syntax `@path/to/import` importieren. Importierte Dateien werden erweitert und beim Start zusammen mit der CLAUDE.md, die sie referenziert, in den Kontext geladen.

96 110 


120 134 

121Für einen strukturierteren Ansatz zur Organisation von Anweisungen siehe [`.claude/rules/`](#organize-rules-with-claude/rules/).135Für einen strukturierteren Ansatz zur Organisation von Anweisungen siehe [`.claude/rules/`](#organize-rules-with-claude/rules/).

122 136 

123### AGENTS.md137<h3 id="agents-md">

138 AGENTS.md

139</h3>

124 140 

125Claude Code liest `CLAUDE.md`, nicht `AGENTS.md`. Wenn Ihr Repository bereits `AGENTS.md` für andere Coding-Agenten verwendet, erstellen Sie eine `CLAUDE.md`, die es importiert, damit beide Tools die gleichen Anweisungen lesen, ohne sie zu duplizieren. Sie können auch Claude-spezifische Anweisungen unter dem Import hinzufügen. Claude lädt die importierte Datei beim Sitzungsstart und hängt dann den Rest an:141Claude Code liest `CLAUDE.md`, nicht `AGENTS.md`. Wenn Ihr Repository bereits `AGENTS.md` für andere Coding-Agenten verwendet, erstellen Sie eine `CLAUDE.md`, die es importiert, damit beide Tools die gleichen Anweisungen lesen, ohne sie zu duplizieren. Sie können auch Claude-spezifische Anweisungen unter dem Import hinzufügen. Claude lädt die importierte Datei beim Sitzungsstart und hängt dann den Rest an:

126 142 


140 156 

141Unter Windows erfordert das Erstellen eines Symlinks Administratorrechte oder Developer Mode, daher verwenden Sie stattdessen den Import `@AGENTS.md`.157Unter Windows erfordert das Erstellen eines Symlinks Administratorrechte oder Developer Mode, daher verwenden Sie stattdessen den Import `@AGENTS.md`.

142 158 

143Das Ausführen von [`/init`](/de/commands) in einem Repo, das bereits eine `AGENTS.md` hat, liest diese und integriert die relevanten Teile in die generierte `CLAUDE.md`. Es liest auch andere Tool-Konfigurationen wie `.cursorrules` und `.windsurfrules`.159Das Ausführen von [`/init`](/de/commands) in einem Repo, das bereits eine `AGENTS.md` hat, liest diese und integriert die relevanten Teile in die generierte `CLAUDE.md`. Es liest auch andere Tool-Konfigurationen wie `.cursorrules`, `.devin/rules/` und `.windsurfrules`.

144 160 

145### Wie CLAUDE.md-Dateien geladen werden161<h3 id="how-claude-md-files-load">

162 Wie CLAUDE.md-Dateien geladen werden

163</h3>

146 164 

147Claude Code liest CLAUDE.md-Dateien, indem es die Verzeichnisstruktur von Ihrem aktuellen Arbeitsverzeichnis aus durchläuft und jedes Verzeichnis unterwegs auf `CLAUDE.md`- und `CLAUDE.local.md`-Dateien überprüft. Das bedeutet, wenn Sie Claude Code in `foo/bar/` ausführen, lädt es Anweisungen aus `foo/bar/CLAUDE.md`, `foo/CLAUDE.md` und allen `CLAUDE.local.md`-Dateien daneben.165Claude Code liest CLAUDE.md-Dateien, indem es die Verzeichnisstruktur von Ihrem aktuellen Arbeitsverzeichnis aus durchläuft und jedes Verzeichnis unterwegs auf `CLAUDE.md`- und `CLAUDE.local.md`-Dateien überprüft. Das bedeutet, wenn Sie Claude Code in `foo/bar/` ausführen, lädt es Anweisungen aus `foo/bar/CLAUDE.md`, `foo/CLAUDE.md` und allen `CLAUDE.local.md`-Dateien daneben.

148 166 


154 172 

155Block-Level-HTML-Kommentare (`<!-- maintainer notes -->`) in CLAUDE.md-Dateien werden vor der Injektion in Claudes Kontext entfernt. Verwenden Sie sie, um Notizen für menschliche Betreuer zu hinterlassen, ohne Kontext-Token darauf zu verschwenden. Kommentare innerhalb von Code-Blöcken werden beibehalten. Wenn Sie eine CLAUDE.md-Datei direkt mit dem Read-Tool öffnen, bleiben Kommentare sichtbar.173Block-Level-HTML-Kommentare (`<!-- maintainer notes -->`) in CLAUDE.md-Dateien werden vor der Injektion in Claudes Kontext entfernt. Verwenden Sie sie, um Notizen für menschliche Betreuer zu hinterlassen, ohne Kontext-Token darauf zu verschwenden. Kommentare innerhalb von Code-Blöcken werden beibehalten. Wenn Sie eine CLAUDE.md-Datei direkt mit dem Read-Tool öffnen, bleiben Kommentare sichtbar.

156 174 

157#### Laden aus zusätzlichen Verzeichnissen175<h4 id="load-from-additional-directories">

176 Laden aus zusätzlichen Verzeichnissen

177</h4>

158 178 

159Das Flag `--add-dir` gibt Claude Zugriff auf zusätzliche Verzeichnisse außerhalb Ihres Hauptarbeitsverzeichnisses. Standardmäßig werden CLAUDE.md-Dateien aus diesen Verzeichnissen nicht geladen.179Das Flag `--add-dir` gibt Claude Zugriff auf zusätzliche Verzeichnisse außerhalb Ihres Hauptarbeitsverzeichnisses. Standardmäßig werden CLAUDE.md-Dateien aus diesen Verzeichnissen nicht geladen.

160 180 


166 186 

167Dies 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`](/de/cli-reference) ausschließen.187Dies 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`](/de/cli-reference) ausschließen.

168 188 

169### Organisieren Sie Regeln mit `.claude/rules/`189<h3 id="organize-rules-with-claude/rules/">

190 Organisieren Sie Regeln mit `.claude/rules/`

191</h3>

170 192 

171Für größere Projekte können Sie Anweisungen in mehrere Dateien mit dem Verzeichnis `.claude/rules/` organisieren. Dies hält Anweisungen modular und leichter für Teams zu pflegen. Regeln können auch [auf bestimmte Dateipfade beschränkt werden](#path-specific-rules), sodass sie nur in den Kontext geladen werden, wenn Claude mit übereinstimmenden Dateien arbeitet, was Rauschen reduziert und Kontextraum spart.193Für größere Projekte können Sie Anweisungen in mehrere Dateien mit dem Verzeichnis `.claude/rules/` organisieren. Dies hält Anweisungen modular und leichter für Teams zu pflegen. Regeln können auch [auf bestimmte Dateipfade beschränkt werden](#path-specific-rules), sodass sie nur in den Kontext geladen werden, wenn Claude mit übereinstimmenden Dateien arbeitet, was Rauschen reduziert und Kontextraum spart.

172 194 


174 Regeln werden in jeder Sitzung oder beim Öffnen übereinstimmender Dateien in den Kontext geladen. Für aufgabenspezifische Anweisungen, die nicht ständig im Kontext sein müssen, verwenden Sie stattdessen [Skills](/de/skills), die nur geladen werden, wenn Sie sie aufrufen oder wenn Claude bestimmt, dass sie für Ihren Prompt relevant sind.196 Regeln werden in jeder Sitzung oder beim Öffnen übereinstimmender Dateien in den Kontext geladen. Für aufgabenspezifische Anweisungen, die nicht ständig im Kontext sein müssen, verwenden Sie stattdessen [Skills](/de/skills), die nur geladen werden, wenn Sie sie aufrufen oder wenn Claude bestimmt, dass sie für Ihren Prompt relevant sind.

175</Note>197</Note>

176 198 

177#### Richten Sie Regeln ein199<h4 id="set-up-rules">

200 Richten Sie Regeln ein

201</h4>

178 202 

179Platzieren Sie Markdown-Dateien im Verzeichnis `.claude/rules/` Ihres Projekts. Jede Datei sollte ein Thema abdecken, mit einem beschreibenden Dateinamen wie `testing.md` oder `api-design.md`. Alle `.md`-Dateien werden rekursiv entdeckt, sodass Sie Regeln in Unterverzeichnisse wie `frontend/` oder `backend/` organisieren können:203Platzieren Sie Markdown-Dateien im Verzeichnis `.claude/rules/` Ihres Projekts. Jede Datei sollte ein Thema abdecken, mit einem beschreibenden Dateinamen wie `testing.md` oder `api-design.md`. Alle `.md`-Dateien werden rekursiv entdeckt, sodass Sie Regeln in Unterverzeichnisse wie `frontend/` oder `backend/` organisieren können:

180 204 


190 214 

191Regeln ohne [`paths`-Frontmatter](#path-specific-rules) werden beim Start mit der gleichen Priorität wie `.claude/CLAUDE.md` geladen.215Regeln ohne [`paths`-Frontmatter](#path-specific-rules) werden beim Start mit der gleichen Priorität wie `.claude/CLAUDE.md` geladen.

192 216 

193#### Pfadspezifische Regeln217<h4 id="path-specific-rules">

218 Pfadspezifische Regeln

219</h4>

194 220 

195Regeln können mit YAML-Frontmatter mit dem Feld `paths` auf bestimmte Dateien beschränkt werden. Diese bedingten Regeln gelten nur, wenn Claude mit Dateien arbeitet, die den angegebenen Mustern entsprechen.221Regeln können mit YAML-Frontmatter mit dem Feld `paths` auf bestimmte Dateien beschränkt werden. Diese bedingten Regeln gelten nur, wenn Claude mit Dateien arbeitet, die den angegebenen Mustern entsprechen.

196 222 


229---255---

230```256```

231 257 

232#### Teilen Sie Regeln über Projekte hinweg mit Symlinks258<h4 id="share-rules-across-projects-with-symlinks">

259 Teilen Sie Regeln über Projekte hinweg mit Symlinks

260</h4>

233 261 

234Das Verzeichnis `.claude/rules/` unterstützt Symlinks, sodass Sie einen gemeinsamen Satz von Regeln pflegen und in mehrere Projekte verlinken können. Symlinks werden aufgelöst und normal geladen, und zirkuläre Symlinks werden erkannt und elegant behandelt.262Das Verzeichnis `.claude/rules/` unterstützt Symlinks, sodass Sie einen gemeinsamen Satz von Regeln pflegen und in mehrere Projekte verlinken können. Symlinks werden aufgelöst und normal geladen, und zirkuläre Symlinks werden erkannt und elegant behandelt.

235 263 


240ln -s ~/company-standards/security.md .claude/rules/security.md268ln -s ~/company-standards/security.md .claude/rules/security.md

241```269```

242 270 

243#### Benutzerebenen-Regeln271<h4 id="user-level-rules">

272 Benutzerebenen-Regeln

273</h4>

244 274 

245Persönliche Regeln in `~/.claude/rules/` gelten für jedes Projekt auf Ihrem Computer. Verwenden Sie sie für Vorlieben, die nicht projektspezifisch sind:275Persönliche Regeln in `~/.claude/rules/` gelten für jedes Projekt auf Ihrem Computer. Verwenden Sie sie für Vorlieben, die nicht projektspezifisch sind:

246 276 


252 282 

253Benutzerebenen-Regeln werden vor Projektregeln geladen, was Projektregeln höhere Priorität gibt.283Benutzerebenen-Regeln werden vor Projektregeln geladen, was Projektregeln höhere Priorität gibt.

254 284 

255### Verwalten Sie CLAUDE.md für große Teams285<h3 id="manage-claude-md-for-large-teams">

286 Verwalten Sie CLAUDE.md für große Teams

287</h3>

256 288 

257Für Organisationen, die Claude Code über Teams bereitstellen, können Sie Anweisungen zentralisieren und steuern, welche CLAUDE.md-Dateien geladen werden.289Für Organisationen, die Claude Code über Teams bereitstellen, können Sie Anweisungen zentralisieren und steuern, welche CLAUDE.md-Dateien geladen werden.

258 290 

259#### Stellen Sie organisationsweite CLAUDE.md bereit291<h4 id="deploy-organization-wide-claude-md">

292 Stellen Sie organisationsweite CLAUDE.md bereit

293</h4>

260 294 

261Organisationen können eine zentral verwaltete CLAUDE.md bereitstellen, die für alle Benutzer auf einem Computer gilt. Diese Datei kann nicht durch individuelle Einstellungen ausgeschlossen werden.295Organisationen können eine zentral verwaltete CLAUDE.md bereitstellen, die für alle Benutzer auf einem Computer gilt. Diese Datei kann nicht durch individuelle Einstellungen ausgeschlossen werden.

262 296 


302 336 

303Einstellungsregeln werden vom Client unabhängig davon durchgesetzt, was Claude entscheidet zu tun. CLAUDE.md-Anweisungen prägen Claudes Verhalten, sind aber keine harte Durchsetzungsebene.337Einstellungsregeln werden vom Client unabhängig davon durchgesetzt, was Claude entscheidet zu tun. CLAUDE.md-Anweisungen prägen Claudes Verhalten, sind aber keine harte Durchsetzungsebene.

304 338 

305#### Schließen Sie bestimmte CLAUDE.md-Dateien aus339<h4 id="exclude-specific-claude-md-files">

340 Schließen Sie bestimmte CLAUDE.md-Dateien aus

341</h4>

306 342 

307In großen Monorepos können Vorgänger-CLAUDE.md-Dateien Anweisungen enthalten, die für Ihre Arbeit nicht relevant sind. Die Einstellung `claudeMdExcludes` ermöglicht es Ihnen, bestimmte Dateien nach Pfad oder Glob-Muster zu überspringen.343In großen Monorepos können Vorgänger-CLAUDE.md-Dateien Anweisungen enthalten, die für Ihre Arbeit nicht relevant sind. Die Einstellung `claudeMdExcludes` ermöglicht es Ihnen, bestimmte Dateien nach Pfad oder Glob-Muster zu überspringen.

308 344 


321 357 

322CLAUDE.md-Dateien mit verwalteter Richtlinie können nicht ausgeschlossen werden. Dies stellt sicher, dass organisationsweite Anweisungen unabhängig von individuellen Einstellungen immer gelten.358CLAUDE.md-Dateien mit verwalteter Richtlinie können nicht ausgeschlossen werden. Dies stellt sicher, dass organisationsweite Anweisungen unabhängig von individuellen Einstellungen immer gelten.

323 359 

324## Auto-Memory360<h2 id="auto-memory">

361 Auto-Memory

362</h2>

325 363 

326Auto-Memory lässt Claude Wissen über Sitzungen hinweg sammeln, ohne dass Sie etwas schreiben müssen. Claude speichert Notizen für sich selbst, während es arbeitet: Build-Befehle, Debugging-Erkenntnisse, Architektur-Notizen, Code-Style-Vorlieben und Workflow-Gewohnheiten. Claude speichert nicht jede Sitzung etwas. Es entscheidet, was es sich merken sollte, basierend darauf, ob die Information in einer zukünftigen Konversation nützlich wäre.364Auto-Memory lässt Claude Wissen über Sitzungen hinweg sammeln, ohne dass Sie etwas schreiben müssen. Claude speichert Notizen für sich selbst, während es arbeitet: Build-Befehle, Debugging-Erkenntnisse, Architektur-Notizen, Code-Style-Vorlieben und Workflow-Gewohnheiten. Claude speichert nicht jede Sitzung etwas. Es entscheidet, was es sich merken sollte, basierend darauf, ob die Information in einer zukünftigen Konversation nützlich wäre.

327 365 


329 Auto-Memory erfordert Claude Code v2.1.59 oder später. Überprüfen Sie Ihre Version mit `claude --version`.367 Auto-Memory erfordert Claude Code v2.1.59 oder später. Überprüfen Sie Ihre Version mit `claude --version`.

330</Note>368</Note>

331 369 

332### Aktivieren oder deaktivieren Sie Auto-Memory370<h3 id="enable-or-disable-auto-memory">

371 Aktivieren oder deaktivieren Sie Auto-Memory

372</h3>

333 373 

334Auto-Memory ist standardmäßig aktiviert. Um es umzuschalten, öffnen Sie `/memory` in einer Sitzung und verwenden Sie den Auto-Memory-Schalter, oder setzen Sie `autoMemoryEnabled` in Ihren Projekteinstellungen:374Auto-Memory ist standardmäßig aktiviert. Um es umzuschalten, öffnen Sie `/memory` in einer Sitzung und verwenden Sie den Auto-Memory-Schalter, oder setzen Sie `autoMemoryEnabled` in Ihren Projekteinstellungen:

335 375 


341 381 

342Um Auto-Memory über eine Umgebungsvariable zu deaktivieren, setzen Sie `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1`.382Um Auto-Memory über eine Umgebungsvariable zu deaktivieren, setzen Sie `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1`.

343 383 

344### Speicherort384<h3 id="storage-location">

385 Speicherort

386</h3>

345 387 

346Jedes Projekt erhält sein eigenes Memory-Verzeichnis unter `~/.claude/projects/<project>/memory/`. Der Pfad `<project>` wird aus dem Git-Repository abgeleitet, sodass alle Worktrees und Unterverzeichnisse innerhalb desselben Repos ein Auto-Memory-Verzeichnis teilen. Außerhalb eines Git-Repos wird stattdessen das Projektstammverzeichnis verwendet.388Jedes Projekt erhält sein eigenes Memory-Verzeichnis unter `~/.claude/projects/<project>/memory/`. Der Pfad `<project>` wird aus dem Git-Repository abgeleitet, sodass alle Worktrees und Unterverzeichnisse innerhalb desselben Repos ein Auto-Memory-Verzeichnis teilen. Außerhalb eines Git-Repos wird stattdessen das Projektstammverzeichnis verwendet.

347 389 


369 411 

370Auto-Memory ist maschinenlokal. Alle Worktrees und Unterverzeichnisse innerhalb desselben Git-Repositories teilen ein Auto-Memory-Verzeichnis. Dateien werden nicht über Maschinen oder Cloud-Umgebungen hinweg geteilt.412Auto-Memory ist maschinenlokal. Alle Worktrees und Unterverzeichnisse innerhalb desselben Git-Repositories teilen ein Auto-Memory-Verzeichnis. Dateien werden nicht über Maschinen oder Cloud-Umgebungen hinweg geteilt.

371 413 

372### Wie es funktioniert414<h3 id="how-it-works">

415 Wie es funktioniert

416</h3>

373 417 

374Die ersten 200 Zeilen von `MEMORY.md`, oder die ersten 25 KB, je nachdem, was zuerst erreicht wird, werden zu Beginn jeder Konversation geladen. Inhalte über diese Schwelle hinaus werden nicht beim Sitzungsstart geladen. Claude hält `MEMORY.md` prägnant, indem es detaillierte Notizen in separate Themadateien verschiebt.418Die ersten 200 Zeilen von `MEMORY.md`, oder die ersten 25 KB, je nachdem, was zuerst erreicht wird, werden zu Beginn jeder Konversation geladen. Inhalte über diese Schwelle hinaus werden nicht beim Sitzungsstart geladen. Claude hält `MEMORY.md` prägnant, indem es detaillierte Notizen in separate Themadateien verschiebt.

375 419 


379 423 

380Claude liest und schreibt Memory-Dateien während Ihrer Sitzung. Wenn Sie „Writing memory" oder „Recalled memory" in der Claude Code-Schnittstelle sehen, aktualisiert oder liest Claude aktiv aus `~/.claude/projects/<project>/memory/`.424Claude liest und schreibt Memory-Dateien während Ihrer Sitzung. Wenn Sie „Writing memory" oder „Recalled memory" in der Claude Code-Schnittstelle sehen, aktualisiert oder liest Claude aktiv aus `~/.claude/projects/<project>/memory/`.

381 425 

382### Überprüfen und bearbeiten Sie Ihr Memory426<h3 id="audit-and-edit-your-memory">

427 Überprüfen und bearbeiten Sie Ihr Memory

428</h3>

383 429 

384Auto-Memory-Dateien sind einfaches Markdown, das Sie jederzeit bearbeiten oder löschen können. Führen Sie [`/memory`](#view-and-edit-with-memory) aus, um Memory-Dateien innerhalb einer Sitzung zu durchsuchen und zu öffnen.430Auto-Memory-Dateien sind einfaches Markdown, das Sie jederzeit bearbeiten oder löschen können. Führen Sie [`/memory`](#view-and-edit-with-%2Fmemory) aus, um Memory-Dateien innerhalb einer Sitzung zu durchsuchen und zu öffnen.

385 431 

386## Anzeigen und Bearbeiten mit `/memory`432<h2 id="view-and-edit-with-/memory">

433 Anzeigen und Bearbeiten mit `/memory`

434</h2>

387 435 

388Der Befehl `/memory` listet alle CLAUDE.md-, CLAUDE.local.md- und Regelsdateien auf, die in Ihrer aktuellen Sitzung geladen sind, ermöglicht es Ihnen, Auto-Memory ein- oder auszuschalten, und bietet einen Link zum Öffnen des Auto-Memory-Ordners. Wählen Sie eine beliebige Datei aus, um sie in Ihrem Editor zu öffnen.436Der Befehl `/memory` listet alle CLAUDE.md-, CLAUDE.local.md- und Regelsdateien auf, die in Ihrer aktuellen Sitzung geladen sind, ermöglicht es Ihnen, Auto-Memory ein- oder auszuschalten, und bietet einen Link zum Öffnen des Auto-Memory-Ordners. Wählen Sie eine beliebige Datei aus, um sie in Ihrem Editor zu öffnen.

389 437 

390Wenn Sie Claude bitten, sich etwas zu merken, wie „immer pnpm verwenden, nicht npm" oder „denken Sie daran, dass die API-Tests eine lokale Redis-Instanz erfordern", speichert Claude es in Auto-Memory. Um Anweisungen stattdessen zu CLAUDE.md hinzuzufügen, bitten Sie Claude direkt, wie „fügen Sie dies zu CLAUDE.md hinzu", oder bearbeiten Sie die Datei selbst über `/memory`.438Wenn Sie Claude bitten, sich etwas zu merken, wie „immer pnpm verwenden, nicht npm" oder „denken Sie daran, dass die API-Tests eine lokale Redis-Instanz erfordern", speichert Claude es in Auto-Memory. Um Anweisungen stattdessen zu CLAUDE.md hinzuzufügen, bitten Sie Claude direkt, wie „fügen Sie dies zu CLAUDE.md hinzu", oder bearbeiten Sie die Datei selbst über `/memory`.

391 439 

392## Fehlerbehebung bei Memory-Problemen440<h2 id="troubleshoot-memory-issues">

441 Fehlerbehebung bei Memory-Problemen

442</h2>

393 443 

394Dies sind die häufigsten Probleme mit CLAUDE.md und Auto-Memory, zusammen mit Schritten zum Debuggen.444Dies sind die häufigsten Probleme mit CLAUDE.md und Auto-Memory, zusammen mit Schritten zum Debuggen.

395 445 

396### Claude folgt meiner CLAUDE.md nicht446<h3 id="claude-isn’t-following-my-claude-md">

447 Claude folgt meiner CLAUDE.md nicht

448</h3>

397 449 

398CLAUDE.md-Inhalte werden als Benutzernachricht nach dem System-Prompt bereitgestellt, nicht als Teil des System-Prompts selbst. Claude liest ihn und versucht, ihm zu folgen, aber es gibt keine Garantie für strikte Einhaltung, besonders bei vagen oder widersprüchlichen Anweisungen.450CLAUDE.md-Inhalte werden als Benutzernachricht nach dem System-Prompt bereitgestellt, nicht als Teil des System-Prompts selbst. Claude liest ihn und versucht, ihm zu folgen, aber es gibt keine Garantie für strikte Einhaltung, besonders bei vagen oder widersprüchlichen Anweisungen.

399 451 


412 Verwenden Sie den [`InstructionsLoaded`-Hook](/de/hooks#instructionsloaded), um genau zu protokollieren, welche Anweisungsdateien geladen sind, wann sie geladen werden und warum. Dies ist nützlich zum Debuggen von pfadspezifischen Regeln oder Lazy-Loading-Dateien in Unterverzeichnissen.464 Verwenden Sie den [`InstructionsLoaded`-Hook](/de/hooks#instructionsloaded), um genau zu protokollieren, welche Anweisungsdateien geladen sind, wann sie geladen werden und warum. Dies ist nützlich zum Debuggen von pfadspezifischen Regeln oder Lazy-Loading-Dateien in Unterverzeichnissen.

413</Tip>465</Tip>

414 466 

415### Ich weiß nicht, was Auto-Memory gespeichert hat467<h3 id="i-don’t-know-what-auto-memory-saved">

468 Ich weiß nicht, was Auto-Memory gespeichert hat

469</h3>

416 470 

417Führen Sie `/memory` aus und wählen Sie den Auto-Memory-Ordner aus, um zu durchsuchen, was Claude gespeichert hat. Alles ist einfaches Markdown, das Sie lesen, bearbeiten oder löschen können.471Führen Sie `/memory` aus und wählen Sie den Auto-Memory-Ordner aus, um zu durchsuchen, was Claude gespeichert hat. Alles ist einfaches Markdown, das Sie lesen, bearbeiten oder löschen können.

418 472 

419### Meine CLAUDE.md ist zu groß473<h3 id="my-claude-md-is-too-large">

474 Meine CLAUDE.md ist zu groß

475</h3>

420 476 

421Dateien über 200 Zeilen verbrauchen mehr Kontext und können die Einhaltung reduzieren. Verwenden Sie [pfadgebundene Regeln](#path-specific-rules), um Anweisungen nur zu laden, wenn Claude mit übereinstimmenden Dateien arbeitet, oder trimmen Sie Inhalte, die nicht in jeder Sitzung benötigt werden. Das Aufteilen in [`@path`-Importe](#import-additional-files) hilft bei der Organisation, reduziert aber nicht den Kontext, da importierte Dateien beim Start geladen werden.477Dateien über 200 Zeilen verbrauchen mehr Kontext und können die Einhaltung reduzieren. Verwenden Sie [pfadgebundene Regeln](#path-specific-rules), um Anweisungen nur zu laden, wenn Claude mit übereinstimmenden Dateien arbeitet, oder trimmen Sie Inhalte, die nicht in jeder Sitzung benötigt werden. Das Aufteilen in [`@path`-Importe](#import-additional-files) hilft bei der Organisation, reduziert aber nicht den Kontext, da importierte Dateien beim Start geladen werden.

422 478 

423### Anweisungen scheinen nach `/compact` verloren zu gehen479<h3 id="instructions-seem-lost-after-/compact">

480 Anweisungen scheinen nach `/compact` verloren zu gehen

481</h3>

424 482 

425Projekt-Root-CLAUDE.md übersteht Komprimierung: Nach `/compact` liest Claude sie neu von der Festplatte und injiziert sie frisch in die Sitzung. Verschachtelte CLAUDE.md-Dateien in Unterverzeichnissen werden nicht automatisch erneut injiziert; sie werden neu geladen, wenn Claude das nächste Mal eine Datei in diesem Unterverzeichnis liest.483Projekt-Root-CLAUDE.md übersteht Komprimierung: Nach `/compact` liest Claude sie neu von der Festplatte und injiziert sie frisch in die Sitzung. Verschachtelte CLAUDE.md-Dateien in Unterverzeichnissen werden nicht automatisch erneut injiziert; sie werden neu geladen, wenn Claude das nächste Mal eine Datei in diesem Unterverzeichnis liest.

426 484 


428 486 

429Weitere Informationen finden Sie unter [Schreiben Sie effektive Anweisungen](#write-effective-instructions) für Anleitungen zu Größe, Struktur und Spezifität.487Weitere Informationen finden Sie unter [Schreiben Sie effektive Anweisungen](#write-effective-instructions) für Anleitungen zu Größe, Struktur und Spezifität.

430 488 

431## Verwandte Ressourcen489<h2 id="related-resources">

490 Verwandte Ressourcen

491</h2>

432 492 

433* [Debuggen Sie Ihre Konfiguration](/de/debug-your-config): Diagnostizieren Sie, warum CLAUDE.md oder Einstellungen nicht wirksam werden493* [Debuggen Sie Ihre Konfiguration](/de/debug-your-config): Diagnostizieren Sie, warum CLAUDE.md oder Einstellungen nicht wirksam werden

434* [Skills](/de/skills): Verpacken Sie wiederholbare Workflows, die bei Bedarf geladen werden494* [Skills](/de/skills): Verpacken Sie wiederholbare Workflows, die bei Bedarf geladen werden

Details

6 6 

7> Erfahren Sie, wie Sie Claude Code über Microsoft Foundry konfigurieren, einschließlich Setup, Konfiguration und Fehlerbehebung.7> Erfahren Sie, wie Sie Claude Code über Microsoft Foundry konfigurieren, einschließlich Setup, Konfiguration und Fehlerbehebung.

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79<ContactSalesCard surface="foundry" />

80 

9<h2 id="prerequisites">81<h2 id="prerequisites">

10 Voraussetzungen82 Voraussetzungen

11</h2>83</h2>


17* Azure CLI installiert und konfiguriert (optional - nur erforderlich, wenn Sie keinen anderen Mechanismus zum Abrufen von Anmeldedaten haben)89* Azure CLI installiert und konfiguriert (optional - nur erforderlich, wenn Sie keinen anderen Mechanismus zum Abrufen von Anmeldedaten haben)

18 90 

19<Note>91<Note>

20 Wenn Sie Claude Code für mehrere Benutzer bereitstellen, [fixieren Sie Ihre Modellversionen](#4-pin-model-versions), um Fehler zu vermeiden, wenn Anthropic neue Modelle veröffentlicht.92 Wenn Sie Claude Code für mehrere Benutzer bereitstellen, [fixieren Sie Ihre Modellversionen](#4-pin-model-versions), bevor Sie die Bereitstellung durchführen.

21</Note>93</Note>

22 94 

23<h2 id="setup">95<h2 id="setup">


90</h3>162</h3>

91 163 

92<Warning>164<Warning>

93 Fixieren Sie spezifische Modellversionen für jede Bereitstellung. Wenn Sie Modellaliase (`sonnet`, `opus`, `haiku`) ohne Fixierung verwenden, kann Claude Code versuchen, eine neuere Modellversion zu verwenden, die nicht in Ihrem Foundry-Konto verfügbar ist, was bestehende Benutzer bricht, wenn Anthropic Updates veröffentlicht. Wenn Sie Azure-Bereitstellungen erstellen, wählen Sie eine spezifische Modellversion anstelle von „automatisch auf die neueste Version aktualisieren".165 Fixieren Sie spezifische Modellversionen für jede Bereitstellung. Ohne Fixierung werden Modellaliase wie `sonnet` und `opus` zu Claude Codes integriertem Standard für Foundry aufgelöst, der hinter der neuesten Version zurückbleiben kann und möglicherweise noch nicht in Ihrem Konto verfügbar ist. Foundry hat keine Startup-Modellprüfung, daher schlagen Anfragen fehl, wenn der Standard nicht verfügbar ist. Wenn Sie Azure-Bereitstellungen erstellen, wählen Sie eine spezifische Modellversion anstelle von „automatisch auf die neueste Version aktualisieren".

94</Warning>166</Warning>

95 167 

96Legen Sie die Modellvariablen so fest, dass sie den Bereitstellungsnamen entsprechen, die Sie in Schritt 1 erstellt haben.168Legen Sie die Modellvariablen so fest, dass sie den Bereitstellungsnamen entsprechen, die Sie in Schritt 1 erstellt haben.

model-config.md +149 −29

Details

32| Modellalias | Verhalten |32| Modellalias | Verhalten |

33| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |33| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

34| **`default`** | Spezieller Wert, der jede Modellüberschreibung löscht und auf das empfohlene Modell für Ihren Kontotyp zurückgesetzt wird. Ist selbst kein Modellalias |34| **`default`** | Spezieller Wert, der jede Modellüberschreibung löscht und auf das empfohlene Modell für Ihren Kontotyp zurückgesetzt wird. Ist selbst kein Modellalias |

35| **`best`** | Verwendet das leistungsfähigste verfügbare Modell, derzeit gleichwertig mit `opus` |35| **`best`** | Verwendet Fable 5, wo Ihre Organisation Zugriff darauf hat, andernfalls das neueste Opus-Modell |

36| **`fable`** | Verwendet Claude Fable 5 für Ihre schwierigsten und längsten Aufgaben |

36| **`sonnet`** | Verwendet das neueste Sonnet-Modell für tägliche Codierungsaufgaben |37| **`sonnet`** | Verwendet das neueste Sonnet-Modell für tägliche Codierungsaufgaben |

37| **`opus`** | Verwendet das neueste Opus-Modell für komplexe Reasoning-Aufgaben |38| **`opus`** | Verwendet das neueste Opus-Modell für komplexe Reasoning-Aufgaben |

38| **`haiku`** | Verwendet das schnelle und effiziente Haiku-Modell für einfache Aufgaben |39| **`haiku`** | Verwendet das schnelle und effiziente Haiku-Modell für einfache Aufgaben |


48 Opus 4.8 erfordert Claude Code v2.1.154 oder später. Führen Sie `claude update` aus, um zu aktualisieren.49 Opus 4.8 erfordert Claude Code v2.1.154 oder später. Führen Sie `claude update` aus, um zu aktualisieren.

49</Note>50</Note>

50 51 

52<h3 id="work-with-fable-5">

53 Mit Fable 5 arbeiten

54</h3>

55 

56[Claude Fable 5](https://platform.claude.com/docs/de/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5) ist das leistungsfähigste Modell in Claude Code, geeignet für Aufgaben, die länger als eine einzelne Sitzung dauern. Es unterstützt lange autonome Sitzungen, untersucht vor dem Handeln und überprüft seine Arbeit häufiger als kleinere Modelle.

57 

58Fable 5 ist nicht das Standardmodell. Wählen Sie es mit `/model fable` aus. Anfragen, die seine Sicherheitsklassifizierer kennzeichnen, meist in Cybersicherheits- und Biologie-Bereichen, lösen [automatisches Modell-Fallback](#automatic-model-fallback) aus.

59 

60Um das Beste aus Fable 5 herauszuholen:

61 

62* **Beschreiben Sie das Ergebnis, nicht die Schritte**: Geben Sie ihm das Ergebnis, das Sie möchten, und lassen Sie es den Weg planen. Um es arbeiten zu lassen, bis dieses Ergebnis eintritt, [setzen Sie ein Ziel](/de/goal).

63* **Geben Sie ihm mehrdeutige Probleme**: Root-Cause-Untersuchungen, Ausfalldebugging und Architekturentscheidungen sind Bereiche, in denen die zusätzliche Untersuchung und Überprüfung sich auszahlt.

64* **Überspringen Sie die Überprüfungserinnerungen**: Es überprüft seine eigene Arbeit mit weniger Aufforderungen, daher sind Erinnerungen zum Testen oder Überprüfen normalerweise unnötig.

65* **Größere Aufgaben einschätzen**: Geben Sie ihm Arbeit, die Sie normalerweise in Teile aufteilen würden. Es hält lange Sitzungen, ohne den Faden zu verlieren.

66 

67<Note>

68 Fable 5 erfordert Claude Code v2.1.170 oder später. Ältere Versionen zeigen Fable 5 nicht in der Modellauswahl an und können es nicht auswählen. Führen Sie `claude update` aus, um zu aktualisieren. Fable 5 ist nicht unter [Zero Data Retention](/de/zero-data-retention) verfügbar, wo die `/model`-Auswahl es entweder auslässt oder deaktiviert anzeigt.

69</Note>

70 

51<h3 id="setting-your-model">71<h3 id="setting-your-model">

52 Einstellung Ihres Modells72 Einstellung Ihres Modells

53</h3>73</h3>


101 121 

102Enterprise-Administratoren können `availableModels` in [verwalteten oder Richtlinieneinstellungen](/de/settings#settings-files) verwenden, um einzuschränken, welche Modelle Benutzer auswählen können.122Enterprise-Administratoren können `availableModels` in [verwalteten oder Richtlinieneinstellungen](/de/settings#settings-files) verwenden, um einzuschränken, welche Modelle Benutzer auswählen können.

103 123 

104Wenn `availableModels` gesetzt ist, können Benutzer nicht über `/model`, das `--model`-Flag oder die `ANTHROPIC_MODEL`-Umgebungsvariable zu Modellen wechseln, die nicht in der Liste enthalten sind.124Wenn `availableModels` gesetzt ist, gilt die Zulassungsliste überall dort, wo ein Benutzer ein Modell angeben kann:

125 

126* **Hauptsitzungsmodell**: `/model`, das `--model`-Flag und die `ANTHROPIC_MODEL`-Umgebungsvariable

127* **Alias-Auflösung**: {/* min-version: 2.1.176 */}die Umgebungsvariablen `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL` und `ANTHROPIC_DEFAULT_FABLE_MODEL` können einen zulässigen Alias nicht zu einem Modell außerhalb der Liste umleiten

128* **Schnellmodus**: {/* min-version: 2.1.176 */}`/fast` weigert sich umzuschalten, wenn dies implizit zu einem Opus-Modell außerhalb der Liste führen würde, mit der Meldung „is not in your organization's allowed models"

129* **Subagent-Modelle**: das `model`-Feld in [Subagent](/de/sub-agents#choose-a-model)-Frontmatter, der `model`-Parameter des Agent-Tools, die Modellauswahl in `/agents` und `CLAUDE_CODE_SUBAGENT_MODEL`

130* **Advisor-Modell**: die konfigurierte [`advisorModel`](/de/advisor)-Einstellung

131* **Fallback-Ketten**: Elemente einer [Fallback-Modellkette](#fallback-model-chains) außerhalb der Liste werden gelöscht

132 

133Das Wechseln zu einem blockierten Modell mit `/model` wird mit einem Fehler abgelehnt, während ein blockiertes `--model`-Flag oder `ANTHROPIC_MODEL`-Wert beim Start mit einer Warnung ersetzt wird, die sowohl das angeforderte als auch das ersetzte Modell benennt, und die Sitzung startet auf dem Standardmodell. Ein blockierter Subagent- oder Advisor-Override fällt auf das geerbte oder Standardmodell zurück, anstatt die Anfrage fehlschlagen zu lassen.

105 134 

106```json theme={null}135```json theme={null}

107{136{


113 Standardmodell-Verhalten142 Standardmodell-Verhalten

114</h3>143</h3>

115 144 

116Die Option „Standard" in der Modellauswahl wird von `availableModels` nicht beeinflusst. Sie bleibt immer verfügbar und stellt den Laufzeit-Standard des Systems dar, [basierend auf dem Abonnement-Tier des Benutzers](#default-model-setting).145Standardmäßig wird die Option „Standard" in der Modellauswahl nicht von `availableModels` beeinflusst. Sie bleibt verfügbar und stellt den Laufzeit-Standard des Systems dar, [basierend auf dem Abonnement-Tier des Benutzers](#default-model-setting).

117 146 

118Auch mit `availableModels: []` können Benutzer Claude Code weiterhin mit dem Standardmodell für ihren Tier verwenden.147Um die Zulassungsliste auf die Option „Standard" auszudehnen, setzen Sie `enforceAvailableModels` auf `true` in verwalteten oder Richtlinieneinstellungen zusammen mit einer nicht leeren `availableModels`-Liste. Wenn der Tier-Standard nicht in der Zulassungsliste enthalten ist, wird „Standard" stattdessen auf den ersten zulässigen Eintrag aufgelöst. Dies erfordert Claude Code v2.1.175 oder später.

148 

149Ein leeres `availableModels`-Array aktiviert niemals die Erzwingung. Auch mit `availableModels: []` können Benutzer Claude Code weiterhin mit dem Standardmodell für ihren Tier verwenden, unabhängig von `enforceAvailableModels`.

119 150 

120<h3 id="control-the-model-users-run-on">151<h3 id="control-the-model-users-run-on">

121 Kontrollieren Sie das Modell, auf dem Benutzer ausgeführt werden152 Kontrollieren Sie das Modell, auf dem Benutzer ausgeführt werden


123 154 

124Die `model`-Einstellung ist eine anfängliche Auswahl, keine Erzwingung. Sie legt fest, welches Modell aktiv ist, wenn eine Sitzung startet, aber Benutzer können weiterhin `/model` öffnen und „Standard" auswählen, das unabhängig davon auf den Systemstandard für ihren Tier aufgelöst wird, was `model` gesetzt ist.155Die `model`-Einstellung ist eine anfängliche Auswahl, keine Erzwingung. Sie legt fest, welches Modell aktiv ist, wenn eine Sitzung startet, aber Benutzer können weiterhin `/model` öffnen und „Standard" auswählen, das unabhängig davon auf den Systemstandard für ihren Tier aufgelöst wird, was `model` gesetzt ist.

125 156 

126Um die Modellerfahrung vollständig zu kontrollieren, kombinieren Sie drei Einstellungen:157Um die Modellerfahrung vollständig zu kontrollieren, kombinieren Sie diese Einstellungen:

127 158 

128* **`availableModels`**: schränkt ein, welche benannten Modelle Benutzer wechseln können159* **`availableModels`**: schränkt ein, welche benannten Modelle Benutzer wechseln können

160* **`enforceAvailableModels`**: erweitert die `availableModels`-Zulassungsliste auf die Option „Standard", sodass „Standard" nicht auf ein Modell außerhalb der Liste aufgelöst werden kann

129* **`model`**: legt die anfängliche Modellauswahl fest, wenn eine Sitzung startet161* **`model`**: legt die anfängliche Modellauswahl fest, wenn eine Sitzung startet

130* **`ANTHROPIC_DEFAULT_SONNET_MODEL`** / **`ANTHROPIC_DEFAULT_OPUS_MODEL`** / **`ANTHROPIC_DEFAULT_HAIKU_MODEL`**: steuern, worauf sich die Option „Standard" und die Aliase `sonnet`, `opus` und `haiku` auflösen162* **`ANTHROPIC_DEFAULT_SONNET_MODEL`** / **`ANTHROPIC_DEFAULT_OPUS_MODEL`** / **`ANTHROPIC_DEFAULT_HAIKU_MODEL`** / **`ANTHROPIC_DEFAULT_FABLE_MODEL`**: steuern, worauf sich die Option „Standard" und die Aliase `sonnet`, `opus`, `haiku` und `fable` auflösen

131 163 

132Dieses Beispiel startet Benutzer auf Sonnet 4.5, begrenzt die Auswahl auf Sonnet und Haiku und fixiert „Standard" auf Sonnet 4.5 statt auf die neueste Version:164Dieses Beispiel startet Benutzer auf Sonnet 4.5, begrenzt die Auswahl auf Sonnet und Haiku und stellt sicher, dass „Standard" auf ein Modell in der Zulassungsliste aufgelöst wird, anstatt auf den Tier-Standard:

133 165 

134```json theme={null}166```json theme={null}

135{167{

136 "model": "claude-sonnet-4-5",168 "model": "claude-sonnet-4-5",

137 "availableModels": ["claude-sonnet-4-5", "haiku"],169 "availableModels": ["claude-sonnet-4-5", "haiku"],

170 "enforceAvailableModels": true,

138 "env": {171 "env": {

139 "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5"172 "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5"

140 }173 }

141}174}

142```175```

143 176 

144Ohne den `env`-Block würde ein Benutzer, der „Standard" in der Auswahl auswählt, die neueste Sonnet-Version erhalten und damit die Versionsfixierung in `model` und `availableModels` umgehen.177Ohne `enforceAvailableModels` oder den `env`-Block würde ein Benutzer, der „Standard" in der Auswahl auswählt, die neueste Version für seinen Tier erhalten und damit die Versionsfixierung in `model` und `availableModels` umgehen. Die beiden Einstellungen decken unterschiedliche Bereiche ab: `enforceAvailableModels` macht „Standard" der Zulassungsliste unterworfen, während der `env`-Block festlegt, auf welche Version ein zulässiger Alias wie `sonnet` aufgelöst wird. Verwenden Sie `enforceAvailableModels` allein, wenn das Einschränken von Modellfamilien ausreicht; fügen Sie den `env`-Block hinzu, wenn Sie auch eine bestimmte Version fixieren müssen.

145 178 

146<h3 id="merge-behavior">179<h3 id="merge-behavior">

147 Merge-Verhalten180 Merge-Verhalten

148</h3>181</h3>

149 182 

150Wenn `availableModels` auf mehreren Ebenen gesetzt ist, z. B. in Benutzereinstellungen und Projekteinstellungen, werden Arrays zusammengeführt und dedupliziert. Um eine strikte Zulassungsliste durchzusetzen, setzen Sie `availableModels` in verwalteten oder Richtlinieneinstellungen, die die höchste Priorität haben.183Wenn `availableModels` nur in Benutzer-, Projekt- und lokalen Einstellungen gesetzt ist, werden Arrays über diese Ebenen hinweg zusammengeführt und dedupliziert.

184 

185Wenn `availableModels` in verwalteten oder Richtlinieneinstellungen gesetzt ist, ersetzt der verwaltete oder Richtlinienwert das zusammengeführte Ergebnis vollständig: Einträge, die in Benutzer- oder Projekteinstellungen hinzugefügt werden, können ihn nicht erweitern. Verwaltete und Richtlinieneinstellungen ersetzen Werte mit niedrigerer Priorität für `enforceAvailableModels` auf die gleiche Weise. Ab Claude Code v2.1.175 ist dies die einzige Möglichkeit, eine strikte Zulassungsliste durchzusetzen; frühere Versionen führen die verwaltete Liste mit Einträgen mit niedrigerer Priorität zusammen.

151 186 

152<h3 id="mantle-model-ids">187<h3 id="mantle-model-ids">

153 Mantle-Modell-IDs188 Mantle-Modell-IDs

154</h3>189</h3>

155 190 

156Wenn der [Bedrock Mantle-Endpunkt](/de/amazon-bedrock#use-the-mantle-endpoint) aktiviert ist, werden Einträge in `availableModels`, die mit `anthropic.` beginnen, als benutzerdefinierte Optionen zur `/model`-Auswahl hinzugefügt und zum Mantle-Endpunkt weitergeleitet. Dies ist eine Ausnahme zu der in [Modelle für Drittanbieter-Bereitstellungen fixieren](#pin-models-for-third-party-deployments) beschriebenen Alias-Only-Übereinstimmung. Die Einstellung schränkt die Auswahl weiterhin auf aufgelistete Einträge ein, daher fügen Sie die Standard-Aliase zusammen mit allen Mantle-IDs ein.191Wenn der [Bedrock Mantle-Endpunkt](/de/amazon-bedrock#use-the-mantle-endpoint) aktiviert ist, werden Einträge in `availableModels`, die mit `anthropic.` beginnen, als benutzerdefinierte Optionen zur `/model`-Auswahl hinzugefügt und zum Mantle-Endpunkt weitergeleitet. Die Einstellung schränkt die Auswahl weiterhin auf aufgelistete Einträge ein, daher fügen Sie die Standard-Aliase zusammen mit allen Mantle-IDs ein.

157 192 

158<h2 id="special-model-behavior">193<h2 id="special-model-behavior">

159 Spezielles Modellverhalten194 Spezielles Modellverhalten


172 207 

173Enterprise Pay-as-you-go bedeutet eine Enterprise-Organisation, die nach Nutzung statt nach Abonnementplatz abgerechnet wird.208Enterprise Pay-as-you-go bedeutet eine Enterprise-Organisation, die nach Nutzung statt nach Abonnementplatz abgerechnet wird.

174 209 

175Claude Code kann automatisch auf Sonnet zurückfallen, wenn Sie einen Nutzungsschwellenwert mit Opus erreichen.210Fable 5 ist auf keinem Kontotyp das Standardmodell. Sitzungen verwenden Fable 5 nur, nachdem Sie es auswählen, mit `/model fable`, einer `model`-Einstellung oder dem `best`-Alias, wo Fable 5 verfügbar ist. Wenn Sie es mit `/model` auswählen, wird es als das ausgewählte Modell in Ihren Benutzereinstellungen gespeichert, sodass spätere Sitzungen auf Fable 5 starten, bis Sie die Modelle ändern.

176 211 

177<h3 id="opusplan-model-setting">212<h3 id="opusplan-model-setting">

178 `opusplan`-Modelleinstellung213 `opusplan`-Modelleinstellung


185 220 

186Dies gibt Ihnen das Beste aus beiden Welten: Opus's überlegenes Reasoning für die Planung und Sonnets Effizienz für die Ausführung.221Dies gibt Ihnen das Beste aus beiden Welten: Opus's überlegenes Reasoning für die Planung und Sonnets Effizienz für die Ausführung.

187 222 

188Die Plan-Modus-Opus-Phase wird mit dem Standard-200K-Kontextfenster ausgeführt. Die in [Erweiterter Kontext](#extended-context) beschriebene automatische 1M-Aktualisierung gilt für die `opus`-Modelleinstellung und erstreckt sich nicht auf `opusplan`.223Das Kontextfenster der Plan-Modus-Opus-Phase ist das gleiche wie bei der `opus`-Modelleinstellung. Bei Abonnement-Tiers, bei denen Opus [automatisch auf 1M-Kontext aktualisiert wird](#extended-context), erhält `opusplan` die Aktualisierung auch im Plan-Modus. Um 1M-Kontext für beide Phasen zu erzwingen, wenn Sie sich nicht auf einem Auto-Upgrade-Tier befinden, setzen Sie das Modell auf `opusplan[1m]`.

224 

225Für einen Hybrid-Ansatz, bei dem Claude während einer Aufgabe entscheidet, wann ein zweites Modell konsultiert werden soll, anstatt an der Plan-Grenze zu wechseln, siehe das [Advisor-Tool](/de/advisor).

226 

227<h3 id="fallback-model-chains">

228 Fallback-Modellketten

229</h3>

230 

231Wenn das primäre Modell überlastet ist, nicht verfügbar ist oder einen anderen nicht wiederholbaren Serverfehler zurückgibt, kann Claude Code zu einem Fallback-Modell wechseln, anstatt die Anfrage fehlschlagen zu lassen. Authentifizierungs-, Abrechnungs-, Rate-Limit-, Anfragegröße- und Transportfehler lösen niemals einen Wechsel aus; diese folgen ihrem normalen Wiederholungs- und Fehlerbehandlung.

232 

233Konfigurieren Sie ein oder mehrere Fallback-Modelle und Claude Code versucht sie der Reihe nach, wobei eine Benachrichtigung angezeigt wird, wenn es wechselt. Der Wechsel gilt nur für den aktuellen Durchgang, sodass Ihre nächste Nachricht zuerst wieder das primäre Modell versucht. Ketten sind auf drei Modelle nach Duplikatentfernung begrenzt, und zusätzliche Einträge werden ignoriert.

234 

235Setzen Sie eine Kette für eine Sitzung mit dem `--fallback-model`-Flag, das eine kommagetrennte Liste akzeptiert:

236 

237```bash theme={null}

238claude --fallback-model sonnet,haiku

239```

240 

241Um eine Kette über Sitzungen hinweg beizubehalten, setzen Sie `fallbackModel` in [Einstellungen](/de/settings) als Array:

242 

243```json theme={null}

244{

245 "fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]

246}

247```

248 

249Das `--fallback-model`-Flag hat Vorrang vor der `fallbackModel`-Einstellung. Jedes Element akzeptiert einen Modellnamen oder Alias, und `"default"` wird auf das Standardmodell erweitert.

250 

251Zwei Fälle führen dazu, dass ein Element übersprungen wird:

252 

253* **Nicht verfügbares Modell**: Ein Modell, das nicht erreichbar ist, z. B. ein in Einstellungen angeheftetes veraltetes Modell, wird übersprungen und Claude Code fährt mit dem nächsten Element fort.

254* **Außerhalb der Zulassungsliste**: Ein Element, das nicht von [`availableModels`](#restrict-model-selection) erlaubt ist, wird gelöscht, wenn die Kette gelesen wird, und wird nie versucht.

255 

256<h3 id="automatic-model-fallback">

257 Automatisches Modell-Fallback

258</h3>

259 

260Dieser Abschnitt behandelt inhaltsbasiertes Fallback von Fable 5. Für verfügbarkeitsbasiertes Fallback, wenn ein Modell überlastet oder nicht verfügbar ist, siehe [Fallback-Modellketten](#fallback-model-chains).

261 

262Fable 5 wird mit Sicherheitsklassifizierern für Cybersicherheits- und Biologie-Inhalte ausgeführt. Wenn ein Klassifizierer eine Anfrage kennzeichnet, führt Claude Code diese Anfrage auf dem Standard-Opus-Modell erneut aus und zeigt eine Benachrichtigung im Transkript an: Opus 4.8 auf der Anthropic API und [LLM-Gateway](/de/llm-gateway)-Bereitstellungen oder Opus 4.7 auf [Claude Platform auf AWS](/de/claude-platform-on-aws).

263 

264Die Sitzung wird dann auf diesem Opus-Modell fortgesetzt. Um zu Fable 5 zurückzukehren, führen Sie `/model fable` aus.

265 

266<h4 id="check-what-triggered-fallback">

267 Überprüfen Sie, was das Fallback ausgelöst hat

268</h4>

269 

270Fallback kann bei der ersten Anfrage einer Sitzung ausgelöst werden, bevor Sie etwas Ungewöhnliches senden, da die erste Anfrage Workspace-Kontext wie Ihren CLAUDE.md-Inhalt und Git-Status trägt. Ein Repository, das Sicherheits- oder Biologie-Material enthält, kann den Klassifizierer allein auf diesem Kontext auslösen.

271 

272Um zu überprüfen, ob Anpassungen der Auslöser sind, starten Sie eine Sitzung mit `claude --safe-mode`, das Anpassungen wie CLAUDE.md, Skills, MCP-Server und Hooks deaktiviert. Git-Status und Verzeichnisnamen sind keine Anpassungen und sind immer noch enthalten.

273 

274<h4 id="ask-before-switching">

275 Vor dem Wechsel fragen

276</h4>

277 

278Um zu entscheiden, was jedes Mal passiert, wenn eine Anfrage gekennzeichnet wird, anstatt automatisch zu wechseln, führen Sie `/config` aus und schalten Sie „Modelle wechseln, wenn eine Nachricht gekennzeichnet wird" aus. Eine gekennzeichnete Anfrage pausiert dann die Sitzung mit zwei Optionen: zum Opus-Modell wechseln oder den Prompt bearbeiten und auf Fable 5 erneut versuchen.

279 

280Einige Fälle verhalten sich unterschiedlich:

281 

282* Wenn beide Modelle die gleiche Anfrage kennzeichnen, können Sie den Prompt bearbeiten und erneut versuchen oder eine neue Sitzung starten.

283* Bei mobilen [Claude Code im Web](/de/claude-code-on-the-web)-Sitzungen wird das Bearbeiten und erneute Versuchen nicht unterstützt. Wechseln Sie Modelle oder setzen Sie die Sitzung in einem Desktop-Browser oder der Desktop-App fort.

284* Im [nicht-interaktiven Modus](/de/cli-reference#cli-flags) und SDK-Integrationen, die den Prompt nicht anzeigen können, endet eine gekennzeichnete Anfrage den Durchgang mit einer Ablehnung.

285 

286<h4 id="enable-fallback-on-bedrock-vertex-ai-and-foundry">

287 Aktivieren Sie Fallback auf Bedrock, Vertex AI und Foundry

288</h4>

289 

290Auf [Amazon Bedrock](/de/amazon-bedrock), [Google Vertex AI](/de/google-vertex-ai) und [Microsoft Foundry](/de/microsoft-foundry) sind Modell-IDs anbieter-spezifisch, daher funktioniert automatisches Fallback nur, wenn Claude Code beide beteiligten Modelle identifizieren kann:

291 

292* Claude Code muss das aktuelle Modell als Fable 5 erkennen: Die Modell-ID enthält `claude-fable-5`, stimmt mit dem Wert von `ANTHROPIC_DEFAULT_FABLE_MODEL` überein oder ist mit [`modelOverrides`](#override-model-ids-per-version) zugeordnet.

293* Das Fallback-Ziel muss zu einem Opus-Modell aufgelöst werden: Der Wert von `ANTHROPIC_DEFAULT_OPUS_MODEL`, falls gesetzt, andernfalls ein Opus 4.8-Eintrag in der Modellliste des Anbieters.

294 

295Wenn 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. Um automatisches Fallback auf diesen Anbietern zu aktivieren, setzen Sie `ANTHROPIC_DEFAULT_FABLE_MODEL` auf Ihre Fable 5-Modell-ID und `ANTHROPIC_DEFAULT_OPUS_MODEL` auf Ihre Opus 4.8-Modell-ID.

296 

297<h4 id="security-research-and-biology-workloads">

298 Sicherheitsforschungs- und Biologie-Workloads

299</h4>

300 

301Workloads 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 substantielle Biologie-Arbeit erwarten Sie, dass fast alle Anfragen umgeleitet werden.

302 

303Dies ist erwartetes Routing für diese Domänen, kein Konto-Flag. Wenn Ihre Organisation Fable-Klasse-Fähigkeit für diese Arbeit benötigt, fragen Sie Ihr Anthropic-Kontoteam nach vertrauenswürdigen Zugriffsprogrammen.

189 304 

190<h3 id="adjust-effort-level">305<h3 id="adjust-effort-level">

191 Anpassung des Aufwandsniveaus306 Anpassung des Aufwandsniveaus

192</h3>307</h3>

193 308 

194[Aufwandsniveaus](https://platform.claude.com/docs/de/build-with-claude/effort) steuern adaptives Reasoning, das das Modell entscheiden lässt, ob und wie viel es bei jedem Schritt basierend auf der Aufgabenkomplexität denken soll. Niedrigerer Aufwand ist schneller und günstiger für unkomplizierte Aufgaben, während höherer Aufwand tieferes Reasoning für komplexe Probleme bietet.309[Aufwandsniveaus](https://platform.claude.com/docs/en/build-with-claude/effort) steuern adaptives Reasoning, das das Modell entscheiden lässt, ob und wie viel es bei jedem Schritt basierend auf der Aufgabenkomplexität denken soll. Niedrigerer Aufwand ist schneller und günstiger für unkomplizierte Aufgaben, während höherer Aufwand tieferes Reasoning für komplexe Probleme bietet.

195 310 

196Die verfügbaren Aufwandsniveaus hängen vom Modell ab. Modelle, die hier nicht aufgeführt sind, unterstützen keinen Aufwand:311Die verfügbaren Aufwandsniveaus hängen vom Modell ab. Modelle, die hier nicht aufgeführt sind, unterstützen keinen Aufwand:

197 312 

198| Modell | Ebenen |313| Modell | Ebenen |

199| :---------------------- | :-------------------------------------- |314| :---------------------- | :-------------------------------------- |

315| Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

200| Opus 4.8 und Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |316| Opus 4.8 und Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

201| Opus 4.6 und Sonnet 4.6 | `low`, `medium`, `high`, `max` |317| Opus 4.6 und Sonnet 4.6 | `low`, `medium`, `high`, `max` |

202 318 

203Wenn Sie eine Ebene setzen, die das aktive Modell nicht unterstützt, greift Claude Code auf die höchste unterstützte Ebene bei oder unter der von Ihnen gesetzten zurück. Zum Beispiel wird `xhigh` auf Opus 4.6 als `high` ausgeführt.319Wenn Sie eine Ebene setzen, die das aktive Modell nicht unterstützt, greift Claude Code auf die höchste unterstützte Ebene bei oder unter der von Ihnen gesetzten zurück. Zum Beispiel wird `xhigh` auf Opus 4.6 als `high` ausgeführt.

204 320 

205Der Standard-Aufwand ist `high` auf Opus 4.8, Opus 4.6 und Sonnet 4.6 und `xhigh` auf Opus 4.7.321Der Standard-Aufwand ist `high` auf Fable 5, Opus 4.8, Opus 4.6 und Sonnet 4.6 und `xhigh` auf Opus 4.7.

206 322 

207Wenn Sie Opus 4.8 oder Opus 4.7 zum ersten Mal ausführen, wendet Claude Code das Standard-Aufwandsniveau dieses Modells an, auch wenn Sie zuvor ein anderes Niveau für ein anderes Modell gesetzt haben: `high` auf Opus 4.8 und `xhigh` auf Opus 4.7. Führen Sie `/effort` erneut aus, um nach dem Wechsel ein anderes Niveau zu wählen.323Wenn Sie Fable 5, Opus 4.8 oder Opus 4.7 zum ersten Mal ausführen, wendet Claude Code das Standard-Aufwandsniveau dieses Modells an, auch wenn Sie zuvor ein anderes Niveau für ein anderes Modell gesetzt haben: `high` auf Fable 5 und Opus 4.8 und `xhigh` auf Opus 4.7. Führen Sie `/effort` erneut aus, um nach dem Wechsel ein anderes Niveau zu wählen.

208 324 

209`low`, `medium`, `high` und `xhigh` bleiben über Sitzungen hinweg erhalten. `max` bietet das tiefste Reasoning ohne Einschränkung bei der Token-Ausgabe und gilt nur für die aktuelle Sitzung, außer wenn es über die `CLAUDE_CODE_EFFORT_LEVEL`-Umgebungsvariable gesetzt wird.325`low`, `medium`, `high` und `xhigh` bleiben über Sitzungen hinweg erhalten. `max` bietet das tiefste Reasoning ohne Einschränkung bei der Token-Ausgabe und gilt nur für die aktuelle Sitzung, außer wenn es über die `CLAUDE_CODE_EFFORT_LEVEL`-Umgebungsvariable gesetzt wird.

210 326 


220| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |336| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

221| `low` | Reservieren Sie für kurze, begrenzte, latenzempfindliche Aufgaben, die nicht intelligenzempfindlich sind |337| `low` | Reservieren Sie für kurze, begrenzte, latenzempfindliche Aufgaben, die nicht intelligenzempfindlich sind |

222| `medium` | Reduziert Token-Nutzung für kostensensitive Arbeiten, die etwas Intelligenz opfern können |338| `medium` | Reduziert Token-Nutzung für kostensensitive Arbeiten, die etwas Intelligenz opfern können |

223| `high` | Balanciert Token-Nutzung und Intelligenz. Standard auf Opus 4.8, Opus 4.6 und Sonnet 4.6 |339| `high` | Balanciert Token-Nutzung und Intelligenz. Standard auf Fable 5, Opus 4.8, Opus 4.6 und Sonnet 4.6 |

224| `xhigh` | Tieferes Reasoning bei höherer Token-Ausgabe. Standard auf Opus 4.7 |340| `xhigh` | Tieferes Reasoning bei höherer Token-Ausgabe. Standard auf Opus 4.7 |

225| `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 |341| `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 |

226| `ultracode` | Eine Claude Code-Einstellung, die einen [dynamischen Workflow](/de/workflows) für jede substantielle Aufgabe mit `xhigh`-Pro-Nachricht-Reasoning plant. Nur für Sitzungen |342| `ultracode` | Eine Claude Code-Einstellung, die einen [dynamischen Workflow](/de/workflows) für jede substantielle Aufgabe mit `xhigh`-Pro-Nachricht-Reasoning plant. Nur für Sitzungen |


256 372 

257Adaptives Reasoning macht Thinking bei jedem Schritt optional, daher kann Claude schneller auf Routine-Prompts reagieren und tieferes Denken für Schritte reservieren, die davon profitieren. Wenn Sie möchten, dass Claude häufiger oder seltener denkt als das aktuelle Niveau erzeugt, können Sie dies direkt in Ihrem Prompt oder in `CLAUDE.md` sagen; das Modell reagiert auf diese Anleitung innerhalb seiner Aufwandseinstellung.373Adaptives Reasoning macht Thinking bei jedem Schritt optional, daher kann Claude schneller auf Routine-Prompts reagieren und tieferes Denken für Schritte reservieren, die davon profitieren. Wenn Sie möchten, dass Claude häufiger oder seltener denkt als das aktuelle Niveau erzeugt, können Sie dies direkt in Ihrem Prompt oder in `CLAUDE.md` sagen; das Modell reagiert auf diese Anleitung innerhalb seiner Aufwandseinstellung.

258 374 

259Opus 4.7 und später verwenden immer adaptives Reasoning. Der Modus mit festem Thinking-Budget und `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` gelten nicht dafür.375Opus 4.7 und später verwenden immer adaptives Reasoning, ebenso wie Fable 5. Der Modus mit festem Thinking-Budget und `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` gelten nicht dafür.

260 376 

261Bei Opus 4.6 und Sonnet 4.6 können Sie `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` setzen, um zum vorherigen festen Thinking-Budget zurückzukehren, das von `MAX_THINKING_TOKENS` gesteuert wird. Siehe [Umgebungsvariablen](/de/env-vars).377Bei Opus 4.6 und Sonnet 4.6 können Sie `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` setzen, um zum vorherigen festen Thinking-Budget zurückzukehren, das von `MAX_THINKING_TOKENS` gesteuert wird. Siehe [Umgebungsvariablen](/de/env-vars).

262 378 


267Erweitertes Thinking ist das Reasoning, das Claude vor der Antwort ausgibt. Bei Modellen, die [adaptives Reasoning](#adjust-effort-level) unterstützen, ist das Aufwandsniveau die primäre Kontrolle dafür, wie viel Thinking stattfindet; die folgenden Einstellungen schalten Thinking ein oder aus und steuern, wie es angezeigt wird.383Erweitertes Thinking ist das Reasoning, das Claude vor der Antwort ausgibt. Bei Modellen, die [adaptives Reasoning](#adjust-effort-level) unterstützen, ist das Aufwandsniveau die primäre Kontrolle dafür, wie viel Thinking stattfindet; die folgenden Einstellungen schalten Thinking ein oder aus und steuern, wie es angezeigt wird.

268 384 

269| Kontrolle | Wie man es setzt |385| Kontrolle | Wie man es setzt |

270| :-------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |386| :-------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

271| Umschalter für die aktuelle Sitzung | Drücken Sie `Option+T` auf macOS oder `Alt+T` auf Windows und Linux |387| Umschalter für die aktuelle Sitzung | Drücken Sie `Option+T` auf macOS oder `Alt+T` auf Windows und Linux |

272| Setzen Sie den globalen Standard | Führen Sie `/config` aus und schalten Sie den Thinking-Modus um. Gespeichert als `alwaysThinkingEnabled` in `~/.claude/settings.json` |388| Setzen Sie den globalen Standard | Führen Sie `/config` aus und schalten Sie den Thinking-Modus um. Gespeichert als `alwaysThinkingEnabled` in `~/.claude/settings.json` |

273| Deaktivieren Sie unabhängig vom Aufwand | Setzen Sie [`MAX_THINKING_TOKENS=0`](/de/env-vars). Andere Werte gelten nur mit einem [festen Thinking-Budget](#adaptive-reasoning-and-fixed-thinking-budgets) |389| Deaktivieren Sie unabhängig vom Aufwand | Setzen Sie [`MAX_THINKING_TOKENS=0`](/de/env-vars), das Thinking auf der Anthropic API außer auf Fable 5 ausschaltet. Auf [Drittanbieter-Anbietern](/de/third-party-integrations) wird stattdessen der `thinking`-Parameter weggelassen, und adaptive-Reasoning-Modelle können immer noch denken. Andere Werte gelten nur mit einem [festen Thinking-Budget](#adaptive-reasoning-and-fixed-thinking-budgets) |

390 

391Thinking kann auf Fable 5 nicht ausgeschaltet werden. Der Sitzungsumschalter, `alwaysThinkingEnabled` und `MAX_THINKING_TOKENS=0` haben dort keine Auswirkung, und Fable 5 entscheidet pro Schritt, wie viel zu denken ist, basierend auf dem Aufwandsniveau.

274 392 

275Die Thinking-Ausgabe ist standardmäßig zusammengeklappt. Drücken Sie `Ctrl+O`, um den ausführlichen Modus umzuschalten und das Reasoning als grauer kursiver Text zu sehen. Interaktive Sitzungen auf der Anthropic API erhalten standardmäßig redigierte Thinking-Blöcke, daher setzen Sie `showThinkingSummaries: true` in [Einstellungen](/de/settings), wenn Sie die vollständigen Zusammenfassungen verfügbar haben möchten, wenn Sie erweitern. Ihnen werden alle generierten Thinking-Token berechnet, auch wenn sie zusammengeklappt oder redigiert sind.393Die Thinking-Ausgabe ist standardmäßig zusammengeklappt. Drücken Sie `Ctrl+O`, um den ausführlichen Modus umzuschalten und das Reasoning als grauer kursiver Text zu sehen. Interaktive Sitzungen auf der Anthropic API erhalten standardmäßig redigierte Thinking-Blöcke, daher setzen Sie `showThinkingSummaries: true` in [Einstellungen](/de/settings), wenn Sie die vollständigen Zusammenfassungen verfügbar haben möchten, wenn Sie erweitern. Ihnen werden alle generierten Thinking-Token berechnet, auch wenn sie zusammengeklappt oder redigiert sind.

276 394 


278 Erweiterter Kontext396 Erweiterter Kontext

279</h3>397</h3>

280 398 

281Opus 4.6 und später sowie Sonnet 4.6 unterstützen ein [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/de/build-with-claude/context-windows#1m-token-context-window) für lange Sitzungen mit großen Codebases.399Fable 5, Opus 4.6 und später sowie Sonnet 4.6 unterstützen ein [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) für lange Sitzungen mit großen Codebases.

282 400 

283Die Verfügbarkeit variiert je nach Modell und Plan. Bei Max-, Team- und Enterprise-Plänen wird Opus automatisch auf 1M-Kontext ohne zusätzliche Konfiguration aktualisiert. Dies gilt für beide Team Standard- und Team Premium-Plätze. Sonnet mit 1M-Kontext ist nicht Teil der automatischen Aktualisierung und erfordert [Nutzungsguthaben](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) bei jedem Abonnementplan, einschließlich Max.401Die Verfügbarkeit variiert je nach Modell und Plan. Bei Max-, Team- und Enterprise-Plänen wird Opus automatisch auf 1M-Kontext ohne zusätzliche Konfiguration aktualisiert. Dies gilt für beide Team Standard- und Team Premium-Plätze. Auf der Anthropic API werden Fable 5, Opus 4.8 und Opus 4.7 immer mit dem 1M-Fenster ausgeführt. Sonnet mit 1M-Kontext ist nicht Teil der automatischen Aktualisierung und erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) bei jedem Abonnementplan, einschließlich Max.

284 402 

285| Plan | Opus mit 1M-Kontext | Sonnet mit 1M-Kontext |403| Plan | Opus mit 1M-Kontext | Sonnet mit 1M-Kontext |

286| ------------------------ | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |404| ------------------------ | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |

287| Max, Team und Enterprise | Im Abonnement enthalten | Erfordert [Nutzungsguthaben](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |405| Max, Team und Enterprise | Im Abonnement enthalten | Erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

288| Pro | Erfordert [Nutzungsguthaben](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) | Erfordert [Nutzungsguthaben](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |406| Pro | Erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

289| API und Pay-as-you-go | Vollständiger Zugriff | Vollständiger Zugriff |407| API und Pay-as-you-go | Vollständiger Zugriff | Vollständiger Zugriff |

290 408 

291Um 1M-Kontext vollständig zu deaktivieren, setzen Sie `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Dies entfernt 1M-Modellvarianten aus der Modellauswahl. Siehe [Umgebungsvariablen](/de/env-vars).409Um 1M-Kontext vollständig zu deaktivieren, setzen Sie `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Dies entfernt 1M-Modellvarianten aus der Modellauswahl. Siehe [Umgebungsvariablen](/de/env-vars).


340 458 

341| Umgebungsvariable | Beschreibung |459| Umgebungsvariable | Beschreibung |

342| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |460| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

461| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Das Modell, das für `fable` verwendet werden soll, und die Modell-ID, die Claude Code als Fable 5 für [automatisches Modell-Fallback](#automatic-model-fallback) bei Drittanbieter-Anbietern erkennt |

343| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Das Modell, das für `opus` verwendet werden soll, oder für `opusplan`, wenn Plan Mode aktiv ist. |462| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Das Modell, das für `opus` verwendet werden soll, oder für `opusplan`, wenn Plan Mode aktiv ist. |

344| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Das Modell, das für `sonnet` verwendet werden soll, oder für `opusplan`, wenn Plan Mode nicht aktiv ist. |463| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Das Modell, das für `sonnet` verwendet werden soll, oder für `opusplan`, wenn Plan Mode nicht aktiv ist. |

345| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Das Modell, das für `haiku` verwendet werden soll, oder [Hintergrundfunktionalität](/de/costs#background-token-usage) |464| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Das Modell, das für `haiku` verwendet werden soll, oder [Hintergrundfunktionalität](/de/costs#background-token-usage) |


353 472 

354Beim Bereitstellen von Claude Code über [Bedrock](/de/amazon-bedrock), [Vertex AI](/de/google-vertex-ai), [Foundry](/de/microsoft-foundry) oder [Claude Platform on AWS](/de/claude-platform-on-aws) sollten Sie Modellversionen vor dem Rollout für Benutzer fixieren.473Beim Bereitstellen von Claude Code über [Bedrock](/de/amazon-bedrock), [Vertex AI](/de/google-vertex-ai), [Foundry](/de/microsoft-foundry) oder [Claude Platform on AWS](/de/claude-platform-on-aws) sollten Sie Modellversionen vor dem Rollout für Benutzer fixieren.

355 474 

356Ohne Fixierung verwendet Claude Code Modellaliase (`sonnet`, `opus`, `haiku`), die zur neuesten Version aufgelöst werden. Wenn Anthropic ein neues Modell veröffentlicht, das noch nicht in einem Benutzerkonto aktiviert ist, sehen Bedrock- und Vertex AI-Benutzer einen Hinweis und greifen für diese Sitzung auf die vorherige Version zurück, während Foundry-Benutzer Fehler sehen, da Foundry keine entsprechende Startprüfung hat.475Ohne Fixierung verwendet Claude Code Modellaliase wie `fable`, `opus`, `sonnet` und `haiku`, die zur integrierten Standard-Modell-ID für jeden Anbieter aufgelöst werden. Dieser Standard kann hinter der neuesten Anthropic-Veröffentlichung zurückbleiben, und das Modell, auf das er verweist, ist möglicherweise noch nicht in einem Benutzerkonto aktiviert. Wenn der Standard nicht verfügbar ist, sehen Bedrock- und Vertex AI-Benutzer einen Hinweis und greifen für diese Sitzung auf die vorherige Version zurück, während Foundry-Benutzer Fehler sehen, da Foundry keine entsprechende Startprüfung hat.

357 476 

358<Warning>477<Warning>

359 Setzen Sie alle drei Modell-Umgebungsvariablen auf spezifische Versions-IDs als Teil Ihres anfänglichen Setups. Das Fixieren ermöglicht es Ihnen, zu kontrollieren, wann Ihre Benutzer zu einem neuen Modell wechseln.478 Setzen Sie die Modell-Umgebungsvariablen auf spezifische Versions-IDs als Teil Ihres anfänglichen Setups. Das Fixieren ermöglicht es Ihnen, zu kontrollieren, wann Ihre Benutzer zu einem neuen Modell wechseln.

360</Warning>479</Warning>

361 480 

362Verwenden Sie die folgenden Umgebungsvariablen mit versionsspezifischen Modell-IDs für Ihren Anbieter:481Verwenden Sie die folgenden Umgebungsvariablen mit versionsspezifischen Modell-IDs für Ihren Anbieter:


367| Vertex AI | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |486| Vertex AI | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |

368| Foundry | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |487| Foundry | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |

369 488 

370Wenden Sie das gleiche Muster auf `ANTHROPIC_DEFAULT_SONNET_MODEL` und `ANTHROPIC_DEFAULT_HAIKU_MODEL` an. Für aktuelle und ältere Modell-IDs über alle Anbieter hinweg siehe [Modellübersicht](https://platform.claude.com/docs/en/about-claude/models/overview). Um Benutzer auf eine neue Modellversion zu aktualisieren, aktualisieren Sie diese Umgebungsvariablen und stellen Sie erneut bereit.489Wenden Sie das gleiche Muster auf `ANTHROPIC_DEFAULT_FABLE_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL` und `ANTHROPIC_DEFAULT_HAIKU_MODEL` an. Für aktuelle und ältere Modell-IDs über alle Anbieter hinweg siehe [Modellübersicht](https://platform.claude.com/docs/en/about-claude/models/overview). Um Benutzer auf eine neue Modellversion zu aktualisieren, aktualisieren Sie diese Umgebungsvariablen und stellen Sie erneut bereit.

371 490 

372Um [erweiterten Kontext](#extended-context) für ein fixiertes Modell zu aktivieren, fügen Sie `[1m]` an die Modell-ID in `ANTHROPIC_DEFAULT_OPUS_MODEL` oder `ANTHROPIC_DEFAULT_SONNET_MODEL` an:491Um [erweiterten Kontext](#extended-context) für ein fixiertes Modell zu aktivieren, fügen Sie `[1m]` an die Modell-ID in `ANTHROPIC_DEFAULT_OPUS_MODEL` oder `ANTHROPIC_DEFAULT_SONNET_MODEL` an:

373 492 


375export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8[1m]'494export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8[1m]'

376```495```

377 496 

378Das `[1m]`-Suffix wendet das 1M-Kontextfenster auf alle Verwendungen der Aliase `opus` und `sonnet` an. Es erweitert nicht die Plan-Mode-Opus-Phase von `opusplan`, die [auf 200K begrenzt bleibt](#opusplan-model-setting).497Das `[1m]`-Suffix wendet das 1M-Kontextfenster auf alle Verwendungen der Aliase `opus` und `sonnet` an, einschließlich der Plan-Mode-Opus-Phase von [`opusplan`](#opusplan-model-setting).

379 498 

380* Claude Code entfernt das Suffix, bevor die Modell-ID an Ihren Anbieter gesendet wird.499* Claude Code entfernt das Suffix, bevor die Modell-ID an Ihren Anbieter gesendet wird.

381* Fügen Sie `[1m]` nur an, wenn das zugrunde liegende Modell [1M-Kontext unterstützt](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window).500* Fügen Sie `[1m]` nur an, wenn das zugrunde liegende Modell [1M-Kontext unterstützt](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window).

382* Das Suffix wird pro Variable gelesen, nicht pro Modell. Bei Bedrock, Vertex und Foundry verwendet eine Modell-ID ohne `[1m]` in einer Variable 200K-Kontext, auch wenn eine andere Variable das gleiche Modell mit dem Suffix setzt.501* Das Suffix wird pro Variable gelesen, nicht pro Modell. Bei Bedrock, Vertex und Foundry verwendet eine Modell-ID ohne `[1m]` in einer Variable 200K-Kontext, auch wenn eine andere Variable das gleiche Modell mit dem Suffix setzt.

383 502 

384<Note>503<Note>

385 Die `settings.availableModels`-Zulassungsliste gilt weiterhin bei Verwendung von Drittanbieter-Anbietern. Die Filterung stimmt mit dem Modellalias (`opus`, `sonnet`, `haiku`) überein, nicht mit der anbieterspezifischen Modell-ID.504 Die `settings.availableModels`-Zulassungsliste gilt weiterhin bei Verwendung von Drittanbieter-Anbietern. Die Filterung stimmt mit dem Modellalias wie `opus`, dem Versionspräfix wie `claude-opus-4-8` oder der vollständigen Modell-ID überein. Alle `[1m]`-Suffixe werden sowohl aus dem Zulassungslisten-Eintrag als auch aus dem angeforderten Modell vor dem Abgleich entfernt, daher ein Eintrag von `claude-opus-4-8` erlaubt sowohl die Standard- als auch die 1M-Kontext-Opus-Zeilen. Anbieterspezifische Präfixe wie `us.anthropic.` werden nicht entfernt: Listen Sie die gleiche Form in `availableModels` auf, die die Auswahl anzeigt, oder ordnen Sie sie durch [`modelOverrides`](#override-model-ids-per-version) zu.

386</Note>505</Note>

387 506 

388<h3 id="customize-pinned-model-display-and-capabilities">507<h3 id="customize-pinned-model-display-and-capabilities">


399| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Anzeige-Beschreibung für das fixierte Opus-Modell in der `/model`-Auswahl. Standardmäßig `Custom Opus model`, wenn nicht gesetzt |518| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Anzeige-Beschreibung für das fixierte Opus-Modell in der `/model`-Auswahl. Standardmäßig `Custom Opus model`, wenn nicht gesetzt |

400| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Komma-getrennte Liste der Funktionen, die das fixierte Opus-Modell unterstützt |519| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Komma-getrennte Liste der Funktionen, die das fixierte Opus-Modell unterstützt |

401 520 

402Die gleichen `_NAME`-, `_DESCRIPTION`- und `_SUPPORTED_CAPABILITIES`-Suffixe sind für `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL` und `ANTHROPIC_CUSTOM_MODEL_OPTION` verfügbar.521Die gleichen `_NAME`-, `_DESCRIPTION`- und `_SUPPORTED_CAPABILITIES`-Suffixe sind für `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL`, `ANTHROPIC_DEFAULT_FABLE_MODEL` und `ANTHROPIC_CUSTOM_MODEL_OPTION` verfügbar.

403 522 

404Claude Code aktiviert Funktionen wie [Aufwandsniveaus](#adjust-effort-level) und [erweitertes Denken](#extended-thinking) durch Abgleich der Modell-ID mit bekannten Mustern. Anbieterspezifische IDs wie Bedrock-ARNs oder benutzerdefinierte Bereitstellungsnamen stimmen oft nicht mit diesen Mustern überein, wodurch unterstützte Funktionen deaktiviert bleiben. Setzen Sie `_SUPPORTED_CAPABILITIES`, um Claude Code mitzuteilen, welche Funktionen das Modell tatsächlich unterstützt:523Claude Code aktiviert Funktionen wie [Aufwandsniveaus](#adjust-effort-level) und [erweitertes Denken](#extended-thinking) durch Abgleich der Modell-ID mit bekannten Mustern. Anbieterspezifische IDs wie Bedrock-ARNs oder benutzerdefinierte Bereitstellungsnamen stimmen oft nicht mit diesen Mustern überein, wodurch unterstützte Funktionen deaktiviert bleiben. Setzen Sie `_SUPPORTED_CAPABILITIES`, um Claude Code mitzuteilen, welche Funktionen das Modell tatsächlich unterstützt:

405 524 


463| `DISABLE_PROMPT_CACHING_HAIKU` | Setzen Sie auf `1`, um Prompt-Caching nur für Haiku-Modelle zu deaktivieren |582| `DISABLE_PROMPT_CACHING_HAIKU` | Setzen Sie auf `1`, um Prompt-Caching nur für Haiku-Modelle zu deaktivieren |

464| `DISABLE_PROMPT_CACHING_SONNET` | Setzen Sie auf `1`, um Prompt-Caching nur für Sonnet-Modelle zu deaktivieren |583| `DISABLE_PROMPT_CACHING_SONNET` | Setzen Sie auf `1`, um Prompt-Caching nur für Sonnet-Modelle zu deaktivieren |

465| `DISABLE_PROMPT_CACHING_OPUS` | Setzen Sie auf `1`, um Prompt-Caching nur für Opus-Modelle zu deaktivieren |584| `DISABLE_PROMPT_CACHING_OPUS` | Setzen Sie auf `1`, um Prompt-Caching nur für Opus-Modelle zu deaktivieren |

585| `DISABLE_PROMPT_CACHING_FABLE` | Setzen Sie auf `1`, um Prompt-Caching nur für Fable-Modelle zu deaktivieren |

466 586 

467Um die Cache-TTL zu ändern oder zu erfahren, was einen Cache-Miss auslöst, siehe [Wie Claude Code Prompt-Caching verwendet](/de/prompt-caching).587Um die Cache-TTL zu ändern oder zu erfahren, was einen Cache-Miss auslöst, siehe [Wie Claude Code Prompt-Caching verwendet](/de/prompt-caching).

monitoring-usage.md +293 −122

Details

8 8 

9Verfolgen Sie die Nutzung, Kosten und Toolaktivität von Claude Code in Ihrer Organisation, indem Sie Telemetriedaten über OpenTelemetry (OTel) exportieren. Claude Code exportiert Metriken als Zeitreihendaten über das Standard-Metriken-Protokoll, Ereignisse über das Logs/Events-Protokoll und optional verteilte Traces über das [Traces-Protokoll](#traces-beta). Konfigurieren Sie Ihre Metriken-, Logs- und Traces-Backends, um Ihre Überwachungsanforderungen zu erfüllen.9Verfolgen Sie die Nutzung, Kosten und Toolaktivität von Claude Code in Ihrer Organisation, indem Sie Telemetriedaten über OpenTelemetry (OTel) exportieren. Claude Code exportiert Metriken als Zeitreihendaten über das Standard-Metriken-Protokoll, Ereignisse über das Logs/Events-Protokoll und optional verteilte Traces über das [Traces-Protokoll](#traces-beta). Konfigurieren Sie Ihre Metriken-, Logs- und Traces-Backends, um Ihre Überwachungsanforderungen zu erfüllen.

10 10 

11## Schnellstart11<h2 id="quick-start">

12 Schnellstart

13</h2>

12 14 

13Konfigurieren Sie OpenTelemetry mit Umgebungsvariablen:15Konfigurieren Sie OpenTelemetry mit Umgebungsvariablen:

14 16 


41 43 

42Für vollständige Konfigurationsoptionen siehe die [OpenTelemetry-Spezifikation](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options).44Für vollständige Konfigurationsoptionen siehe die [OpenTelemetry-Spezifikation](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options).

43 45 

44## Administratorkonfiguration46<h2 id="administrator-configuration">

47 Administratorkonfiguration

48</h2>

45 49 

46Administratoren können OpenTelemetry-Einstellungen für alle Benutzer über die [verwaltete Einstellungsdatei](/de/settings#settings-files) konfigurieren. Dies ermöglicht eine zentrale Kontrolle der Telemetrie-Einstellungen in einer Organisation. Weitere Informationen zur Anwendung von Einstellungen finden Sie unter [Einstellungspriorität](/de/settings#settings-precedence).50Administratoren können OpenTelemetry-Einstellungen für alle Benutzer über die [verwaltete Einstellungsdatei](/de/settings#settings-files) konfigurieren. Dies ermöglicht eine zentrale Kontrolle der Telemetrie-Einstellungen in einer Organisation. Weitere Informationen zur Anwendung von Einstellungen finden Sie unter [Einstellungspriorität](/de/settings#settings-precedence).

47 51 


66 70 

67Claude Code übergibt `OTEL_*` Umgebungsvariablen nicht an die Subprozesse, die es erzeugt, einschließlich des Bash-Tools, Hooks, MCP-Server und Sprachserver. Eine OpenTelemetry-instrumentierte Anwendung, die Sie über das Bash-Tool ausführen, erbt nicht den Exporter-Endpunkt oder die Header von Claude Code, daher setzen Sie diese Variablen direkt im Befehl, wenn diese Anwendung ihre eigene Telemetrie exportieren muss.71Claude Code übergibt `OTEL_*` Umgebungsvariablen nicht an die Subprozesse, die es erzeugt, einschließlich des Bash-Tools, Hooks, MCP-Server und Sprachserver. Eine OpenTelemetry-instrumentierte Anwendung, die Sie über das Bash-Tool ausführen, erbt nicht den Exporter-Endpunkt oder die Header von Claude Code, daher setzen Sie diese Variablen direkt im Befehl, wenn diese Anwendung ihre eigene Telemetrie exportieren muss.

68 72 

69## Konfigurationsdetails73<h2 id="configuration-details">

74 Konfigurationsdetails

75</h2>

70 76 

71### Allgemeine Konfigurationsvariablen77<h3 id="common-configuration-variables">

78 Allgemeine Konfigurationsvariablen

79</h3>

72 80 

73| Umgebungsvariable | Beschreibung | Beispielwerte |81| Umgebungsvariable | Beschreibung | Beispielwerte |

74| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |82| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |


91| `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` |99| `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` |

92| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer Header (Standard: 1740000ms / 29 Minuten) | `900000` |100| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer Header (Standard: 1740000ms / 29 Minuten) | `900000` |

93 101 

94### mTLS-Authentifizierung102<h3 id="mtls-authentication">

103 mTLS-Authentifizierung

104</h3>

95 105 

96Wie Sie Client-Zertifikate für den OTLP-Exporter konfigurieren, hängt vom OTLP-Protokoll ab, das für dieses Signal verwendet wird, das über `OTEL_EXPORTER_OTLP_PROTOCOL` oder die Pro-Signal-Überschreibung gesetzt wird. Die gleiche Konfiguration gilt für Metriken, Logs und Traces.106Wie Sie Client-Zertifikate für den OTLP-Exporter konfigurieren, hängt vom OTLP-Protokoll ab, das für dieses Signal verwendet wird, das über `OTEL_EXPORTER_OTLP_PROTOCOL` oder die Pro-Signal-Überschreibung gesetzt wird. Die gleiche Konfiguration gilt für Metriken, Logs und Traces.

97 107 


102 112 

103Für `grpc` liest das OpenTelemetry SDK die Standard-OTLP-Variablen direkt, daher funktionieren bestehende Konfigurationen, die die Pro-Signal-Metriken-Variablen setzen, weiterhin.113Für `grpc` liest das OpenTelemetry SDK die Standard-OTLP-Variablen direkt, daher funktionieren bestehende Konfigurationen, die die Pro-Signal-Metriken-Variablen setzen, weiterhin.

104 114 

105### Metriken-Kardinalitätskontrolle115<h3 id="metrics-cardinality-control">

116 Metriken-Kardinalitätskontrolle

117</h3>

106 118 

107Die folgenden Umgebungsvariablen steuern, welche Attribute in Metriken enthalten sind, um die Kardinalität zu verwalten:119Die folgenden Umgebungsvariablen steuern, welche Attribute in Metriken enthalten sind, um die Kardinalität zu verwalten:

108 120 


116 128 

117Diese Variablen helfen, die Kardinalität von Metriken zu kontrollieren, was sich auf die Speicheranforderungen und die Abfrageleistung in Ihrem Metriken-Backend auswirkt. Eine niedrigere Kardinalität bedeutet in der Regel bessere Leistung und niedrigere Speicherkosten, aber weniger granulare Daten für die Analyse.129Diese Variablen helfen, die Kardinalität von Metriken zu kontrollieren, was sich auf die Speicheranforderungen und die Abfrageleistung in Ihrem Metriken-Backend auswirkt. Eine niedrigere Kardinalität bedeutet in der Regel bessere Leistung und niedrigere Speicherkosten, aber weniger granulare Daten für die Analyse.

118 130 

119### Traces (Beta)131<h3 id="traces-beta">

132 Traces (Beta)

133</h3>

120 134 

121Verteiltes Tracing exportiert Spans, die jeden Benutzer-Prompt mit den API-Anfragen und Tool-Ausführungen verknüpfen, die er auslöst, sodass Sie eine vollständige Anfrage als einzelnen Trace in Ihrem Tracing-Backend anzeigen können.135Verteiltes Tracing exportiert Spans, die jeden Benutzer-Prompt mit den API-Anfragen und Tool-Ausführungen verknüpfen, die er auslöst, sodass Sie eine vollständige Anfrage als einzelnen Trace in Ihrem Tracing-Backend anzeigen können.

122 136 

123Tracing ist standardmäßig deaktiviert. Um es zu aktivieren, setzen Sie sowohl `CLAUDE_CODE_ENABLE_TELEMETRY=1` als auch `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, und setzen Sie dann `OTEL_TRACES_EXPORTER`, um auszuwählen, wohin Spans gesendet werden. Traces verwenden die [allgemeine OTLP-Konfiguration](#allgemeine-konfigurationsvariablen) für Endpunkt, Protokoll, Header und [mTLS](#mtls-authentifizierung) erneut.137Tracing ist standardmäßig deaktiviert. Um es zu aktivieren, setzen Sie sowohl `CLAUDE_CODE_ENABLE_TELEMETRY=1` als auch `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, und setzen Sie dann `OTEL_TRACES_EXPORTER`, um auszuwählen, wohin Spans gesendet werden. Traces verwenden die [allgemeine OTLP-Konfiguration](#common-configuration-variables) für Endpunkt, Protokoll, Header und [mTLS](#mtls-authentication) erneut.

124 138 

125| Umgebungsvariable | Beschreibung | Beispielwerte |139| Umgebungsvariable | Beschreibung | Beispielwerte |

126| ------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------ |140| ------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------ |


140 154 

141In Agent SDK und nicht-interaktiven Sitzungen, die mit `-p` gestartet werden, liest Claude Code auch `TRACEPARENT` und `TRACESTATE` aus seiner eigenen Umgebung, wenn jeder Interaktions-Span gestartet wird. Dies ermöglicht einem Embedding-Prozess, seinen aktiven W3C-Trace-Kontext in den Subprozess zu übergeben, sodass Claude Code's Spans als untergeordnete Elemente des Aufrufers verteilter Trace erscheinen. Interaktive Sitzungen ignorieren eingehende `TRACEPARENT`, um zu vermeiden, dass versehentlich Umgebungswerte aus CI oder Container-Umgebungen geerbt werden.155In Agent SDK und nicht-interaktiven Sitzungen, die mit `-p` gestartet werden, liest Claude Code auch `TRACEPARENT` und `TRACESTATE` aus seiner eigenen Umgebung, wenn jeder Interaktions-Span gestartet wird. Dies ermöglicht einem Embedding-Prozess, seinen aktiven W3C-Trace-Kontext in den Subprozess zu übergeben, sodass Claude Code's Spans als untergeordnete Elemente des Aufrufers verteilter Trace erscheinen. Interaktive Sitzungen ignorieren eingehende `TRACEPARENT`, um zu vermeiden, dass versehentlich Umgebungswerte aus CI oder Container-Umgebungen geerbt werden.

142 156 

143#### Span-Hierarchie157<h4 id="span-hierarchy">

158 Span-Hierarchie

159</h4>

144 160 

145Jeder Benutzer-Prompt startet einen `claude_code.interaction` Root-Span. API-Aufrufe, Tool-Aufrufe und Hook-Ausführungen werden als untergeordnete Elemente aufgezeichnet. Tool-Spans haben zwei untergeordnete Spans: einen für die Zeit, die auf eine Berechtigungsentscheidung gewartet wird, und einen für die Ausführung selbst. Wenn das Agent-Tool oder das veraltete Task-Tool einen Subagenten erzeugt, werden die API- und Tool-Spans des Subagenten unter dem `claude_code.tool`-Span des übergeordneten Elements verschachtelt.161Jeder Benutzer-Prompt startet einen `claude_code.interaction` Root-Span. API-Aufrufe, Tool-Aufrufe und Hook-Ausführungen werden als untergeordnete Elemente aufgezeichnet. Tool-Spans haben zwei untergeordnete Spans: einen für die Zeit, die auf eine Berechtigungsentscheidung gewartet wird, und einen für die Ausführung selbst. Wenn das Agent-Tool oder das veraltete Task-Tool einen Subagenten erzeugt, werden die API- und Tool-Spans des Subagenten unter dem `claude_code.tool`-Span des übergeordneten Elements verschachtelt.

146 162 


156 172 

157In Agent SDK und `claude -p` Sitzungen wird `claude_code.interaction` selbst ein untergeordnetes Element des Aufrufers-Spans, wenn `TRACEPARENT` in der Umgebung gesetzt ist.173In Agent SDK und `claude -p` Sitzungen wird `claude_code.interaction` selbst ein untergeordnetes Element des Aufrufers-Spans, wenn `TRACEPARENT` in der Umgebung gesetzt ist.

158 174 

159#### Span-Attribute175<h4 id="span-attributes">

176 Span-Attribute

177</h4>

160 178 

161Jeder Span trägt die [Standardattribute](#standardattribute) plus ein `span.type`-Attribut, das seinem Namen entspricht. Die folgenden Tabellen listen die zusätzlichen Attribute auf, die auf jedem Span gesetzt sind. Die Spans `llm_request`, `tool.execution` und `hook` setzen OpenTelemetry-Status `ERROR`, wenn sie einen Fehler aufzeichnen; die anderen Spans enden immer mit Status `UNSET`.179Jeder Span trägt die [Standardattribute](#standard-attributes) plus ein `span.type`-Attribut, das seinem Namen entspricht. Die folgenden Tabellen listen die zusätzlichen Attribute auf, die auf jedem Span gesetzt sind. Die Spans `llm_request`, `tool.execution` und `hook` setzen OpenTelemetry-Status `ERROR`, wenn sie einen Fehler aufzeichnen; die anderen Spans enden immer mit Status `UNSET`.

162 180 

163**`claude_code.interaction`**181**`claude_code.interaction`**

164 182 


203**`claude_code.tool`**221**`claude_code.tool`**

204 222 

205| Attribut | Beschreibung | Gated durch |223| Attribut | Beschreibung | Gated durch |

206| ----------------- | -------------------------------------------------------------------------------------------------------------------------- | ----------------------- |224| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |

207| `tool_name` | Tool-Name | |225| `tool_name` | Tool-Name | |

208| `duration_ms` | Wanduhr-Dauer einschließlich Berechtigungswartung und Ausführung | |226| `duration_ms` | Wanduhr-Dauer einschließlich Berechtigungswartung und Ausführung | |

209| `result_tokens` | Ungefähre Token-Größe des Tool-Ergebnisses | |227| `result_tokens` | Ungefähre Token-Größe des Tool-Ergebnisses | |

210| `agent_id` | Kennung des Subagenten oder Teamkollegen, der das Tool ausgeführt hat. Fehlt in der Hauptsitzung | |228| `agent_id` | Kennung des Subagenten oder Teamkollegen, der das Tool ausgeführt hat. Fehlt in der Hauptsitzung | |

211| `parent_agent_id` | Kennung des Agenten, der diesen erzeugt hat. Fehlt für die Hauptsitzung und für Agenten, die direkt von ihr erzeugt wurden | |229| `parent_agent_id` | Kennung des Agenten, der diesen erzeugt hat. Fehlt für die Hauptsitzung und für Agenten, die direkt von ihr erzeugt wurden | |

230| `tool_use_id` | Die Modell-`tool_use` Block-ID für diesen Aufruf. Entspricht der `tool_use_id` bei den [tool\_result](#tool-result-event) und [tool\_decision](#tool-decision-event) Ereignissen und in Hook-Payloads, sodass Sie den Span mit diesen Datensätzen verknüpfen können | |

231| `gen_ai.tool.call.id` | Gleicher Wert wie `tool_use_id`. OpenTelemetry GenAI semantische Konvention | |

212| `file_path` | Zieldateipfad für Read-, Edit- und Write-Tools | `OTEL_LOG_TOOL_DETAILS` |232| `file_path` | Zieldateipfad für Read-, Edit- und Write-Tools | `OTEL_LOG_TOOL_DETAILS` |

213| `full_command` | Befehlszeichenkette für das Bash-Tool | `OTEL_LOG_TOOL_DETAILS` |233| `full_command` | Befehlszeichenkette für das Bash-Tool | `OTEL_LOG_TOOL_DETAILS` |

214| `skill_name` | Skill-Name für das Skill-Tool | `OTEL_LOG_TOOL_DETAILS` |234| `skill_name` | Skill-Name für das Skill-Tool | `OTEL_LOG_TOOL_DETAILS` |


227**`claude_code.tool.execution`**247**`claude_code.tool.execution`**

228 248 

229| Attribut | Beschreibung | Gated durch |249| Attribut | Beschreibung | Gated durch |

230| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |250| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |

231| `duration_ms` | Zeit, die für die Ausführung des Tool-Body aufgewendet wird | |251| `duration_ms` | Zeit, die für die Ausführung des Tool-Body aufgewendet wird | |

252| `tool_use_id` | Gleicher Wert wie auf dem übergeordneten `claude_code.tool` Span | |

253| `gen_ai.tool.call.id` | Gleicher Wert wie `tool_use_id`. OpenTelemetry GenAI semantische Konvention | |

232| `success` | `true` oder `false` | |254| `success` | `true` oder `false` | |

233| `error` | Fehler-Kategoriezeichenkette, wenn die Ausführung fehlgeschlagen ist, wie `Error:ENOENT` oder `ShellError`. Enthält die vollständige Fehlermeldung, wenn das Gate gesetzt ist | `OTEL_LOG_TOOL_DETAILS` |255| `error` | Fehler-Kategoriezeichenkette, wenn die Ausführung fehlgeschlagen ist, wie `Error:ENOENT` oder `ShellError`. Enthält die vollständige Fehlermeldung, wenn das Gate gesetzt ist | `OTEL_LOG_TOOL_DETAILS` |

234 256 


252 Zusätzliche inhaltshaltige Attribute wie `new_context`, `system_prompt_preview`, `user_system_prompt`, `tool_input` und `response.model_output` werden nur ausgegeben, wenn detailliertes Beta-Tracing aktiv ist. Sie sind nicht Teil des stabilen Span-Schemas. `user_system_prompt` erfordert zusätzlich `OTEL_LOG_USER_PROMPTS=1`. Es trägt nur den System-Prompt-Text, den Sie über die `systemPrompt` SDK-Option oder die Flags `--system-prompt` und `--append-system-prompt` bereitstellen, gekürzt bei 60 KB, und wird einmal pro Sitzung statt pro Anfrage ausgegeben.274 Zusätzliche inhaltshaltige Attribute wie `new_context`, `system_prompt_preview`, `user_system_prompt`, `tool_input` und `response.model_output` werden nur ausgegeben, wenn detailliertes Beta-Tracing aktiv ist. Sie sind nicht Teil des stabilen Span-Schemas. `user_system_prompt` erfordert zusätzlich `OTEL_LOG_USER_PROMPTS=1`. Es trägt nur den System-Prompt-Text, den Sie über die `systemPrompt` SDK-Option oder die Flags `--system-prompt` und `--append-system-prompt` bereitstellen, gekürzt bei 60 KB, und wird einmal pro Sitzung statt pro Anfrage ausgegeben.

253</Note>275</Note>

254 276 

255### Dynamische Header277<h3 id="dynamic-headers">

278 Dynamische Header

279</h3>

256 280 

257Für Unternehmensumgebungen, die eine dynamische Authentifizierung erfordern, können Sie ein Skript konfigurieren, um Header dynamisch zu generieren. Dynamische Header gelten nur für die Protokolle `http/protobuf` und `http/json`. Der `grpc` Exporter verwendet nur den statischen `OTEL_EXPORTER_OTLP_HEADERS` Wert.281Für Unternehmensumgebungen, die eine dynamische Authentifizierung erfordern, können Sie ein Skript konfigurieren, um Header dynamisch zu generieren. Dynamische Header gelten nur für die Protokolle `http/protobuf` und `http/json`. Der `grpc` Exporter verwendet nur den statischen `OTEL_EXPORTER_OTLP_HEADERS` Wert.

258 282 

259#### Einstellungskonfiguration283<h4 id="settings-configuration">

284 Einstellungskonfiguration

285</h4>

260 286 

261Fügen Sie zu Ihrer `.claude/settings.json` hinzu:287Fügen Sie zu Ihrer `.claude/settings.json` hinzu:

262 288 


268 294 

269Der Wert kann der Pfad zu einer ausführbaren Datei sein, einschließlich eines Pfads, der Leerzeichen enthält, oder eine Shell-Befehlszeile mit Argumenten. Unter Windows wird der Wert immer durch die Shell ausgeführt, daher setzen Sie einen Pfad, der Leerzeichen enthält, in Anführungszeichen innerhalb des JSON-Werts.295Der Wert kann der Pfad zu einer ausführbaren Datei sein, einschließlich eines Pfads, der Leerzeichen enthält, oder eine Shell-Befehlszeile mit Argumenten. Unter Windows wird der Wert immer durch die Shell ausgeführt, daher setzen Sie einen Pfad, der Leerzeichen enthält, in Anführungszeichen innerhalb des JSON-Werts.

270 296 

271#### Skriptanforderungen297<h4 id="script-requirements">

298 Skriptanforderungen

299</h4>

272 300 

273Das Skript muss gültiges JSON mit Zeichenketten-Schlüssel-Wert-Paaren ausgeben, die HTTP-Header darstellen:301Das Skript muss gültiges JSON mit Zeichenketten-Schlüssel-Wert-Paaren ausgeben, die HTTP-Header darstellen:

274 302 


284* Das Debug-Log, wenn Sie mit [`--debug`](/de/cli-reference#cli-flags) ausführen oder nach dem Ausführen von `/debug` in der Sitzung312* Das Debug-Log, wenn Sie mit [`--debug`](/de/cli-reference#cli-flags) ausführen oder nach dem Ausführen von `/debug` in der Sitzung

285* stderr, in nicht-interaktiven Sitzungen, die mit `-p` gestartet werden313* stderr, in nicht-interaktiven Sitzungen, die mit `-p` gestartet werden

286 314 

287#### Aktualisierungsverhalten315<h4 id="refresh-behavior">

316 Aktualisierungsverhalten

317</h4>

288 318 

289Das Headers-Helper-Skript wird beim Start und danach regelmäßig ausgeführt, um Token-Aktualisierung zu unterstützen. Standardmäßig wird das Skript alle 29 Minuten ausgeführt. Passen Sie das Intervall mit der Umgebungsvariable `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` an.319Das Headers-Helper-Skript wird beim Start und danach regelmäßig ausgeführt, um Token-Aktualisierung zu unterstützen. Standardmäßig wird das Skript alle 29 Minuten ausgeführt. Passen Sie das Intervall mit der Umgebungsvariable `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` an.

290 320 

291### Unterstützung für Multi-Team-Organisationen321<h3 id="multi-team-organization-support">

322 Unterstützung für Multi-Team-Organisationen

323</h3>

292 324 

293Organisationen mit mehreren Teams oder Abteilungen können benutzerdefinierte Attribute hinzufügen, um zwischen verschiedenen Gruppen zu unterscheiden, indem sie die Umgebungsvariable `OTEL_RESOURCE_ATTRIBUTES` verwenden:325Organisationen mit mehreren Teams oder Abteilungen können benutzerdefinierte Attribute hinzufügen, um zwischen verschiedenen Gruppen zu unterscheiden, indem sie die Umgebungsvariable `OTEL_RESOURCE_ATTRIBUTES` verwenden:

294 326 


304* Team-spezifische Dashboards erstellen können336* Team-spezifische Dashboards erstellen können

305* Warnungen für bestimmte Teams einrichten können337* Warnungen für bestimmte Teams einrichten können

306 338 

307Claude Code fügt diese Werte als Attribute auf jedem Metrik-Datenpunkt und Ereignisdatensatz an, zusätzlich zum Senden im OTLP-Ressourcenblock. Da die meisten Metriken-Backends Datenpunkt-Attribute als abfragbare Labels verfügbar machen, können Sie Metriken direkt nach Ihren benutzerdefinierten Schlüsseln gruppieren und filtern. Benutzerdefinierte Schlüssel überschreiben niemals die [Standardattribute](#standardattribute) wie `user.id` oder `session.id`: Wenn ein Schlüssel kollidiert, behält Claude Code den integrierten Wert.339Claude Code fügt diese Werte als Attribute auf jedem Metrik-Datenpunkt und Ereignisdatensatz an, zusätzlich zum Senden im OTLP-Ressourcenblock. Da die meisten Metriken-Backends Datenpunkt-Attribute als abfragbare Labels verfügbar machen, können Sie Metriken direkt nach Ihren benutzerdefinierten Schlüsseln gruppieren und filtern. Benutzerdefinierte Schlüssel überschreiben niemals die [Standardattribute](#standard-attributes) wie `user.id` oder `session.id`: Wenn ein Schlüssel kollidiert, behält Claude Code den integrierten Wert.

308 340 

309Jeder benutzerdefinierte Schlüssel wird zu einem Label auf jeder Metrik-Serie, daher erhöhen hochkardinalige Werte die Speicherkosten in Ihrem Metriken-Backend. Um benutzerdefinierte Attribute nur im Ressourcenblock zu senden und sie von Datenpunkt-Labels auszulassen, setzen Sie `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Siehe [Metriken-Kardinalitätskontrolle](#metriken-kardinalitätskontrolle).341Jeder benutzerdefinierte Schlüssel wird zu einem Label auf jeder Metrik-Serie, daher erhöhen hochkardinalige Werte die Speicherkosten in Ihrem Metriken-Backend. Um benutzerdefinierte Attribute nur im Ressourcenblock zu senden und sie von Datenpunkt-Labels auszulassen, setzen Sie `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Siehe [Metriken-Kardinalitätskontrolle](#metrics-cardinality-control).

310 342 

311<Warning>343<Warning>

312 **Wichtige Formatierungsanforderungen für OTEL\_RESOURCE\_ATTRIBUTES:**344 **Wichtige Formatierungsanforderungen für OTEL\_RESOURCE\_ATTRIBUTES:**


335 Hinweis: Das Einschließen von Werten in Anführungszeichen entkommt keine Leerzeichen. Zum Beispiel führt `org.name="My Company"` zum Literalwert `"My Company"` (mit Anführungszeichen enthalten), nicht zu `My Company`.367 Hinweis: Das Einschließen von Werten in Anführungszeichen entkommt keine Leerzeichen. Zum Beispiel führt `org.name="My Company"` zum Literalwert `"My Company"` (mit Anführungszeichen enthalten), nicht zu `My Company`.

336</Warning>368</Warning>

337 369 

338### Beispielkonfigurationen370<h3 id="example-configurations">

371 Beispielkonfigurationen

372</h3>

339 373 

340Setzen Sie diese Umgebungsvariablen vor dem Ausführen von `claude`. Jeder Block zeigt eine vollständige Konfiguration für einen anderen Exporter oder ein anderes Bereitstellungsszenario:374Setzen Sie diese Umgebungsvariablen vor dem Ausführen von `claude`. Jeder Block zeigt eine vollständige Konfiguration für einen anderen Exporter oder ein anderes Bereitstellungsszenario:

341 375 


382export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317416export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317

383```417```

384 418 

385## Verfügbare Metriken und Ereignisse419<h2 id="available-metrics-and-events">

420 Verfügbare Metriken und Ereignisse

421</h2>

386 422 

387### Standardattribute423<h3 id="standard-attributes">

424 Standardattribute

425</h3>

388 426 

389Alle Metriken und Ereignisse teilen diese Standardattribute:427Alle Metriken und Ereignisse teilen diese Standardattribute:

390 428 

391| Attribut | Beschreibung | Gesteuert durch |429| Attribut | Beschreibung | Gesteuert durch |

392| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |430| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |

393| `session.id` | Eindeutige Sitzungskennung | `OTEL_METRICS_INCLUDE_SESSION_ID` (Standard: true) |431| `session.id` | Eindeutige Sitzungskennung | `OTEL_METRICS_INCLUDE_SESSION_ID` (Standard: true) |

394| `app.version` | Aktuelle Claude Code-Version | `OTEL_METRICS_INCLUDE_VERSION` (Standard: false) |432| `app.version` | Aktuelle Claude Code-Version | `OTEL_METRICS_INCLUDE_VERSION` (Standard: false) |

395| `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) |433| `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) |

396| `organization.id` | Organisations-UUID (wenn authentifiziert) | Immer enthalten, wenn verfügbar |434| `organization.id` | Organisations-UUID (wenn authentifiziert) | Immer enthalten, wenn verfügbar |

397| `user.account_uuid` | Konto-UUID (wenn authentifiziert) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |435| `user.account_uuid` | Konto-UUID (wenn authentifiziert) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |

398| `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) |436| `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) |

399| `user.id` | Anonyme Geräte-/Installationskennung, generiert pro Claude Code-Installation | Immer enthalten |437| `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 |

400| `user.email` | E-Mail-Adresse des Benutzers (wenn über OAuth authentifiziert) | Immer enthalten, wenn verfügbar |438| `user.email` | E-Mail-Adresse des Benutzers (wenn über OAuth authentifiziert) | Immer enthalten, wenn verfügbar |

401| `terminal.type` | Terminal-Typ, z. B. `iTerm.app`, `vscode`, `cursor` oder `tmux` | Immer enthalten, wenn erkannt |439| `terminal.type` | Terminal-Typ, z. B. `iTerm.app`, `vscode`, `cursor` oder `tmux` | Immer enthalten, wenn erkannt |

402| 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) |440| 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) |

403 441 

404Ereignisse enthalten zusätzlich die folgenden Attribute. Diese werden niemals an Metriken angehängt, da sie zu unbegrenzter Kardinalität führen würden:442Ereignisse enthalten zusätzlich die folgenden Attribute. Diese werden niemals an Metriken angehängt, da sie zu unbegrenzter Kardinalität führen würden:

405 443 

406* `prompt.id`: UUID, die einen Benutzer-Prompt mit allen nachfolgenden Ereignissen bis zum nächsten Prompt korreliert. Siehe [Ereigniskorrelationsattribute](#ereigniskorrelationsattribute).444* `prompt.id`: UUID, die einen Benutzer-Prompt mit allen nachfolgenden Ereignissen bis zum nächsten Prompt korreliert. Siehe [Ereigniskorrelationsattribute](#event-correlation-attributes).

407* `workspace.host_paths`: Host-Workspace-Verzeichnisse, die in der Desktop-App ausgewählt wurden, als String-Array445* `workspace.host_paths`: Host-Workspace-Verzeichnisse, die in der Desktop-App ausgewählt wurden, als String-Array

408 446 

409### Metriken447<h3 id="metrics">

448 Metriken

449</h3>

410 450 

411Claude Code exportiert die folgenden Metriken:451Claude Code exportiert die folgenden Metriken:

412 452 


421| `claude_code.code_edit_tool.decision` | Anzahl der Entscheidungen zur Berechtigung des Code-Bearbeitungstools | count |461| `claude_code.code_edit_tool.decision` | Anzahl der Entscheidungen zur Berechtigung des Code-Bearbeitungstools | count |

422| `claude_code.active_time.total` | Gesamte aktive Zeit in Sekunden | s |462| `claude_code.active_time.total` | Gesamte aktive Zeit in Sekunden | s |

423 463 

424### Metrik-Details464<h3 id="metric-details">

465 Metrik-Details

466</h3>

425 467 

426Jede Metrik enthält die oben aufgeführten Standardattribute. Metriken mit zusätzlichen kontextspezifischen Attributen werden nachfolgend vermerkt.468Jede Metrik enthält die oben aufgeführten Standardattribute. Metriken mit zusätzlichen kontextspezifischen Attributen werden nachfolgend vermerkt.

427 469 

428#### Sitzungszähler470<h4 id="session-counter">

471 Sitzungszähler

472</h4>

429 473 

430Wird zu Beginn jeder Sitzung erhöht.474Wird zu Beginn jeder Sitzung erhöht.

431 475 

432**Attribute**:476**Attribute**:

433 477 

434* Alle [Standardattribute](#standardattribute)478* Alle [Standardattribute](#standard-attributes)

435* `start_type`: Wie die Sitzung gestartet wurde. Einer von `"fresh"`, `"resume"` oder `"continue"`479* `start_type`: Wie die Sitzung gestartet wurde. Einer von `"fresh"`, `"resume"` oder `"continue"`

436 480 

437#### Codezeilen-Zähler481<h4 id="lines-of-code-counter">

482 Codezeilen-Zähler

483</h4>

438 484 

439Wird erhöht, wenn Code hinzugefügt oder entfernt wird.485Wird erhöht, wenn Code hinzugefügt oder entfernt wird.

440 486 

441**Attribute**:487**Attribute**:

442 488 

443* Alle [Standardattribute](#standardattribute)489* Alle [Standardattribute](#standard-attributes)

444* `type`: (`"added"`, `"removed"`)490* `type`: (`"added"`, `"removed"`)

491* `model`: Modellkennung für das Modell, das die Änderung vorgenommen hat (z. B. "claude-sonnet-4-6"). {/* min-version: 2.1.172 */}Erfordert Claude Code v2.1.172 oder später

445 492 

446#### Pull-Request-Zähler493<h4 id="pull-request-counter">

494 Pull-Request-Zähler

495</h4>

447 496 

448Wird erhöht, wenn Claude Code einen Pull Request oder Merge Request über einen Shell-Befehl oder ein MCP-Tool erstellt.497Wird erhöht, wenn Claude Code einen Pull Request oder Merge Request über einen Shell-Befehl oder ein MCP-Tool erstellt.

449 498 

450**Attribute**:499**Attribute**:

451 500 

452* Alle [Standardattribute](#standardattribute)501* Alle [Standardattribute](#standard-attributes)

453 502 

454#### Commit-Zähler503<h4 id="commit-counter">

504 Commit-Zähler

505</h4>

455 506 

456Wird erhöht, wenn Git-Commits über Claude Code erstellt werden.507Wird erhöht, wenn Git-Commits über Claude Code erstellt werden.

457 508 

458**Attribute**:509**Attribute**:

459 510 

460* Alle [Standardattribute](#standardattribute)511* Alle [Standardattribute](#standard-attributes)

461 512 

462#### Kostenzähler513<h4 id="cost-counter">

514 Kostenzähler

515</h4>

463 516 

464Wird nach jeder API-Anfrage erhöht.517Wird nach jeder API-Anfrage erhöht.

465 518 

466**Attribute**:519**Attribute**:

467 520 

468* Alle [Standardattribute](#standardattribute)521* Alle [Standardattribute](#standard-attributes)

469* `model`: Modellkennung (z. B. "claude-sonnet-4-6")522* `model`: Modellkennung (z. B. "claude-sonnet-4-6")

470* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`523* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`

471* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden524* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden


477* `mcp_server.name`: MCP-Server, dessen Tool in der Runde ausgeführt wurde, die diese Anfrage erzeugt hat. Integrierte, claude.ai-proxied und offizielle Registry-Server-Namen werden wörtlich angezeigt. Benutzerkonfigurierte Server-Namen werden durch `"custom"` ersetzt. Nicht vorhanden, wenn kein MCP-Tool ausgeführt wurde.530* `mcp_server.name`: MCP-Server, dessen Tool in der Runde ausgeführt wurde, die diese Anfrage erzeugt hat. Integrierte, claude.ai-proxied und offizielle Registry-Server-Namen werden wörtlich angezeigt. Benutzerkonfigurierte Server-Namen werden durch `"custom"` ersetzt. Nicht vorhanden, wenn kein MCP-Tool ausgeführt wurde.

478* `mcp_tool.name`: MCP-Tool, das in der Runde ausgeführt wurde, die diese Anfrage erzeugt hat, mit der gleichen Schwärzung wie `mcp_server.name`. Nicht vorhanden, wenn kein MCP-Tool ausgeführt wurde.531* `mcp_tool.name`: MCP-Tool, das in der Runde ausgeführt wurde, die diese Anfrage erzeugt hat, mit der gleichen Schwärzung wie `mcp_server.name`. Nicht vorhanden, wenn kein MCP-Tool ausgeführt wurde.

479 532 

480#### Token-Zähler533<h4 id="token-counter">

534 Token-Zähler

535</h4>

481 536 

482Wird nach jeder API-Anfrage erhöht.537Wird nach jeder API-Anfrage erhöht.

483 538 

484**Attribute**:539**Attribute**:

485 540 

486* Alle [Standardattribute](#standardattribute)541* Alle [Standardattribute](#standard-attributes)

487* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)542* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)

488* `model`: Modellkennung (z. B. "claude-sonnet-4-6")543* `model`: Modellkennung (z. B. "claude-sonnet-4-6")

489* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`544* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`

490* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden545* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden

491* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Siehe [Kostenzähler](#kostenzähler) für Details.546* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Siehe [Kostenzähler](#cost-counter) für Details.

492* `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](#kostenzähler) für Definitionen und Schwärzungsverhalten.547* `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.

493 548 

494#### Code-Edit-Tool-Entscheidungszähler549<h4 id="code-edit-tool-decision-counter">

550 Code-Edit-Tool-Entscheidungszähler

551</h4>

495 552 

496Wird erhöht, wenn der Benutzer die Verwendung des Edit-, Write- oder NotebookEdit-Tools akzeptiert oder ablehnt.553Wird erhöht, wenn der Benutzer die Verwendung des Edit-, Write- oder NotebookEdit-Tools akzeptiert oder ablehnt.

497 554 

498**Attribute**:555**Attribute**:

499 556 

500* Alle [Standardattribute](#standardattribute)557* Alle [Standardattribute](#standard-attributes)

501* `tool_name`: Tool-Name (`"Edit"`, `"Write"`, `"NotebookEdit"`)558* `tool_name`: Tool-Name (`"Edit"`, `"Write"`, `"NotebookEdit"`)

502* `decision`: Benutzerentscheidung (`"accept"`, `"reject"`)559* `decision`: Benutzerentscheidung (`"accept"`, `"reject"`)

503* `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.560* `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.

504* `language`: Programmiersprache der bearbeiteten Datei, z. B. `"TypeScript"`, `"Python"`, `"JavaScript"` oder `"Markdown"`. Gibt `"unknown"` für nicht erkannte Dateierweiterungen zurück.561* `language`: Programmiersprache der bearbeiteten Datei, z. B. `"TypeScript"`, `"Python"`, `"JavaScript"` oder `"Markdown"`. Gibt `"unknown"` für nicht erkannte Dateierweiterungen zurück.

505 562 

506#### Aktive-Zeit-Zähler563<h4 id="active-time-counter">

564 Aktive-Zeit-Zähler

565</h4>

507 566 

508Verfolgt 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.567Verfolgt 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.

509 568 

510**Attribute**:569**Attribute**:

511 570 

512* Alle [Standardattribute](#standardattribute)571* Alle [Standardattribute](#standard-attributes)

513* `type`: `"user"` für Tastaturinteraktionen, `"cli"` für Tool-Ausführung und KI-Antworten572* `type`: `"user"` für Tastaturinteraktionen, `"cli"` für Tool-Ausführung und KI-Antworten

514 573 

515### Ereignisse574<h3 id="events">

575 Ereignisse

576</h3>

516 577 

517Claude Code exportiert die folgenden Ereignisse über OpenTelemetry Logs/Events (wenn `OTEL_LOGS_EXPORTER` konfiguriert ist):578Claude Code exportiert die folgenden Ereignisse über OpenTelemetry Logs/Events (wenn `OTEL_LOGS_EXPORTER` konfiguriert ist):

518 579 

519#### Ereigniskorrelationsattribute580<h4 id="event-correlation-attributes">

581 Ereigniskorrelationsattribute

582</h4>

520 583 

521Wenn 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.584Wenn 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.

522 585 


530 `prompt.id` ist absichtlich aus Metriken ausgeschlossen, da jeder Prompt eine eindeutige ID generiert, was zu einer ständig wachsenden Anzahl von Zeitreihen führen würde. Verwenden Sie es nur für Ereignisanalyse und Audit-Trails.593 `prompt.id` ist absichtlich aus Metriken ausgeschlossen, da jeder Prompt eine eindeutige ID generiert, was zu einer ständig wachsenden Anzahl von Zeitreihen führen würde. Verwenden Sie es nur für Ereignisanalyse und Audit-Trails.

531</Note>594</Note>

532 595 

533#### Benutzer-Prompt-Ereignis596<h4 id="user-prompt-event">

597 Benutzer-Prompt-Ereignis

598</h4>

534 599 

535Protokolliert, wenn ein Benutzer einen Prompt einreicht.600Protokolliert, wenn ein Benutzer einen Prompt einreicht.

536 601 


538 603 

539**Attribute**:604**Attribute**:

540 605 

541* Alle [Standardattribute](#standardattribute)606* Alle [Standardattribute](#standard-attributes)

542* `event.name`: `"user_prompt"`607* `event.name`: `"user_prompt"`

543* `event.timestamp`: ISO 8601-Zeitstempel608* `event.timestamp`: ISO 8601-Zeitstempel

544* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung609* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


547* `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 gesetzt612* `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 gesetzt

548* `command_source`: Ursprung des Befehls, wenn vorhanden: `builtin`, `custom` oder `mcp`. Von Plugins bereitgestellte Befehle werden als `custom` gemeldet613* `command_source`: Ursprung des Befehls, wenn vorhanden: `builtin`, `custom` oder `mcp`. Von Plugins bereitgestellte Befehle werden als `custom` gemeldet

549 614 

550#### Tool-Ergebnis-Ereignis615<h4 id="tool-result-event">

616 Tool-Ergebnis-Ereignis

617</h4>

551 618 

552Protokolliert, 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.619Protokolliert, 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.

553 620 


555 622 

556**Attribute**:623**Attribute**:

557 624 

558* Alle [Standardattribute](#standardattribute)625* Alle [Standardattribute](#standard-attributes)

559* `event.name`: `"tool_result"`626* `event.name`: `"tool_result"`

560* `event.timestamp`: ISO 8601-Zeitstempel627* `event.timestamp`: ISO 8601-Zeitstempel

561* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung628* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


578 * Für Agent-Tool oder Legacy-Task-Tool: enthält `subagent_type`645 * Für Agent-Tool oder Legacy-Task-Tool: enthält `subagent_type`

579* `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.646* `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.

580 647 

581#### API-Anfrage-Ereignis648<h4 id="api-request-event">

649 API-Anfrage-Ereignis

650</h4>

582 651 

583Protokolliert für jede API-Anfrage an Claude.652Protokolliert für jede API-Anfrage an Claude.

584 653 


586 655 

587**Attribute**:656**Attribute**:

588 657 

589* Alle [Standardattribute](#standardattribute)658* Alle [Standardattribute](#standard-attributes)

590* `event.name`: `"api_request"`659* `event.name`: `"api_request"`

591* `event.timestamp`: ISO 8601-Zeitstempel660* `event.timestamp`: ISO 8601-Zeitstempel

592* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung661* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


601* `speed`: `"fast"` oder `"normal"`, was angibt, ob der schnelle Modus aktiv war670* `speed`: `"fast"` oder `"normal"`, was angibt, ob der schnelle Modus aktiv war

602* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name671* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name

603* `effort`: [Anstrengungsstufe](/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.672* `effort`: [Anstrengungsstufe](/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.

604* `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](#kostenzähler) für Definitionen und Schwärzungsverhalten.673* `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.

605 674 

606#### API-Fehler-Ereignis675<h4 id="api-error-event">

676 API-Fehler-Ereignis

677</h4>

607 678 

608Protokolliert, wenn eine API-Anfrage an Claude fehlschlägt.679Protokolliert, wenn eine API-Anfrage an Claude fehlschlägt.

609 680 


611 682 

612**Attribute**:683**Attribute**:

613 684 

614* Alle [Standardattribute](#standardattribute)685* Alle [Standardattribute](#standard-attributes)

615* `event.name`: `"api_error"`686* `event.name`: `"api_error"`

616* `event.timestamp`: ISO 8601-Zeitstempel687* `event.timestamp`: ISO 8601-Zeitstempel

617* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung688* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


624* `speed`: `"fast"` oder `"normal"`, was angibt, ob der schnelle Modus aktiv war695* `speed`: `"fast"` oder `"normal"`, was angibt, ob der schnelle Modus aktiv war

625* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name696* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name

626* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Nicht vorhanden, wenn das Modell Anstrengung nicht unterstützt.697* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Nicht vorhanden, wenn das Modell Anstrengung nicht unterstützt.

627* `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](#kostenzähler) für Definitionen und Schwärzungsverhalten.698* `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.

628 699 

629#### API-Anfrage-Text-Ereignis700<h4 id="api-refusal-event">

701 API-Verweigerung-Ereignis

702</h4>

703 

704Protokolliert, 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.

705 

706**Ereignisname**: `claude_code.api_refusal`

707 

708**Attribute**:

709 

710* Alle [Standardattribute](#standard-attributes)

711* `event.name`: `"api_refusal"`

712* `event.timestamp`: ISO 8601-Zeitstempel

713* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung

714* `model`: Modellkennung aus der Anfrage

715* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.

716 

717<h4 id="api-request-body-event">

718 API-Anfrage-Text-Ereignis

719</h4>

630 720 

631Protokolliert 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.721Protokolliert 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.

632 722 


634 724 

635**Attribute**:725**Attribute**:

636 726 

637* Alle [Standardattribute](#standardattribute)727* Alle [Standardattribute](#standard-attributes)

638* `event.name`: `"api_request_body"`728* `event.name`: `"api_request_body"`

639* `event.timestamp`: ISO 8601-Zeitstempel729* `event.timestamp`: ISO 8601-Zeitstempel

640* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung730* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


645* `model`: Modellkennung aus den Anfrageparametern735* `model`: Modellkennung aus den Anfrageparametern

646* `query_source`: Subsystem, das die Anfrage gestellt hat (z. B. `"compact"`)736* `query_source`: Subsystem, das die Anfrage gestellt hat (z. B. `"compact"`)

647 737 

648#### API-Antwort-Text-Ereignis738<h4 id="api-response-body-event">

739 API-Antwort-Text-Ereignis

740</h4>

649 741 

650Protokolliert für jede erfolgreiche API-Antwort, wenn `OTEL_LOG_RAW_API_BODIES` gesetzt ist.742Protokolliert für jede erfolgreiche API-Antwort, wenn `OTEL_LOG_RAW_API_BODIES` gesetzt ist.

651 743 


653 745 

654**Attribute**:746**Attribute**:

655 747 

656* Alle [Standardattribute](#standardattribute)748* Alle [Standardattribute](#standard-attributes)

657* `event.name`: `"api_response_body"`749* `event.name`: `"api_response_body"`

658* `event.timestamp`: ISO 8601-Zeitstempel750* `event.timestamp`: ISO 8601-Zeitstempel

659* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung751* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


665* `query_source`: Subsystem, das die Anfrage gestellt hat757* `query_source`: Subsystem, das die Anfrage gestellt hat

666* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.758* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.

667 759 

668#### Tool-Entscheidungs-Ereignis760<h4 id="tool-decision-event">

761 Tool-Entscheidungs-Ereignis

762</h4>

669 763 

670Protokolliert, wenn eine Tool-Berechtigungsentscheidung getroffen wird (akzeptieren/ablehnen).764Protokolliert, wenn eine Tool-Berechtigungsentscheidung getroffen wird (akzeptieren/ablehnen).

671 765 


673 767 

674**Attribute**:768**Attribute**:

675 769 

676* Alle [Standardattribute](#standardattribute)770* Alle [Standardattribute](#standard-attributes)

677* `event.name`: `"tool_decision"`771* `event.name`: `"tool_decision"`

678* `event.timestamp`: ISO 8601-Zeitstempel772* `event.timestamp`: ISO 8601-Zeitstempel

679* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung773* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


694 * Für Skill-Tool: enthält `skill_name`788 * Für Skill-Tool: enthält `skill_name`

695 * Für Agent-Tool oder Legacy-Task-Tool: enthält `subagent_type`789 * Für Agent-Tool oder Legacy-Task-Tool: enthält `subagent_type`

696 790 

697#### Berechtigungsmodus-Änderungs-Ereignis791<h4 id="permission-mode-changed-event">

792 Berechtigungsmodus-Änderungs-Ereignis

793</h4>

698 794 

699Protokolliert, wenn sich der Berechtigungsmodus ändert, z. B. durch Shift+Tab-Zyklus, Beendigung des Plan-Modus oder eine Auto-Modus-Gate-Prüfung.795Protokolliert, wenn sich der Berechtigungsmodus ändert, z. B. durch Shift+Tab-Zyklus, Beendigung des Plan-Modus oder eine Auto-Modus-Gate-Prüfung.

700 796 


702 798 

703**Attribute**:799**Attribute**:

704 800 

705* Alle [Standardattribute](#standardattribute)801* Alle [Standardattribute](#standard-attributes)

706* `event.name`: `"permission_mode_changed"`802* `event.name`: `"permission_mode_changed"`

707* `event.timestamp`: ISO 8601-Zeitstempel803* `event.timestamp`: ISO 8601-Zeitstempel

708* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung804* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


710* `to_mode`: Der neue Berechtigungsmodus806* `to_mode`: Der neue Berechtigungsmodus

711* `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 stammt807* `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

712 808 

713#### Auth-Ereignis809<h4 id="auth-event">

810 Auth-Ereignis

811</h4>

714 812 

715Protokolliert, wenn `/login` oder `/logout` abgeschlossen ist.813Protokolliert, wenn `/login` oder `/logout` abgeschlossen ist.

716 814 


718 816 

719**Attribute**:817**Attribute**:

720 818 

721* Alle [Standardattribute](#standardattribute)819* Alle [Standardattribute](#standard-attributes)

722* `event.name`: `"auth"`820* `event.name`: `"auth"`

723* `event.timestamp`: ISO 8601-Zeitstempel821* `event.timestamp`: ISO 8601-Zeitstempel

724* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung822* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


728* `error_category`: Kategorische Fehlerart, wenn die Aktion fehlgeschlagen ist. Die rohe Fehlermeldung ist nie enthalten826* `error_category`: Kategorische Fehlerart, wenn die Aktion fehlgeschlagen ist. Die rohe Fehlermeldung ist nie enthalten

729* `status_code`: HTTP-Statuscode als Zeichenkette, wenn die Aktion mit einem HTTP-Fehler fehlgeschlagen ist827* `status_code`: HTTP-Statuscode als Zeichenkette, wenn die Aktion mit einem HTTP-Fehler fehlgeschlagen ist

730 828 

731#### MCP-Server-Verbindungs-Ereignis829<h4 id="mcp-server-connection-event">

830 MCP-Server-Verbindungs-Ereignis

831</h4>

732 832 

733Protokolliert, wenn ein MCP-Server verbunden wird, getrennt wird oder keine Verbindung herstellen kann.833Protokolliert, wenn ein MCP-Server verbunden wird, getrennt wird oder keine Verbindung herstellen kann.

734 834 


736 836 

737**Attribute**:837**Attribute**:

738 838 

739* Alle [Standardattribute](#standardattribute)839* Alle [Standardattribute](#standard-attributes)

740* `event.name`: `"mcp_server_connection"`840* `event.name`: `"mcp_server_connection"`

741* `event.timestamp`: ISO 8601-Zeitstempel841* `event.timestamp`: ISO 8601-Zeitstempel

742* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung842* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


745* `server_scope`: Bereich, in dem der Server konfiguriert ist, z. B. `"user"`, `"project"` oder `"local"`845* `server_scope`: Bereich, in dem der Server konfiguriert ist, z. B. `"user"`, `"project"` oder `"local"`

746* `duration_ms`: Verbindungsversuch-Dauer in Millisekunden846* `duration_ms`: Verbindungsversuch-Dauer in Millisekunden

747* `error_code`: Fehlercode, wenn die Verbindung fehlgeschlagen ist847* `error_code`: Fehlercode, wenn die Verbindung fehlgeschlagen ist

848* `is_plugin`: `true`, wenn der Server von einem Plugin bereitgestellt wird, `false` andernfalls

849* `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

850* `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 gesendet

748* `server_name` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Konfigurierter Server-Name851* `server_name` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Konfigurierter Server-Name

749* `error` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Vollständige Fehlermeldung, wenn die Verbindung fehlgeschlagen ist852* `error` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Vollständige Fehlermeldung, wenn die Verbindung fehlgeschlagen ist

750 853 

751#### Interner Fehler-Ereignis854<h4 id="internal-error-event">

855 Interner Fehler-Ereignis

856</h4>

752 857 

753Protokolliert, 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 Bedrock, Vertex oder Foundry ausgeführt wird, oder wenn `DISABLE_ERROR_REPORTING` gesetzt ist.858Protokolliert, 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 Bedrock, Vertex oder Foundry ausgeführt wird, oder wenn `DISABLE_ERROR_REPORTING` gesetzt ist.

754 859 


756 861 

757**Attribute**:862**Attribute**:

758 863 

759* Alle [Standardattribute](#standardattribute)864* Alle [Standardattribute](#standard-attributes)

760* `event.name`: `"internal_error"`865* `event.name`: `"internal_error"`

761* `event.timestamp`: ISO 8601-Zeitstempel866* `event.timestamp`: ISO 8601-Zeitstempel

762* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung867* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung

763* `error_name`: Fehlerklassenname, z. B. `"TypeError"` oder `"SyntaxError"`868* `error_name`: Fehlerklassenname, z. B. `"TypeError"` oder `"SyntaxError"`

764* `error_code`: Node.js errno-Code wie `"ENOENT"`, wenn auf dem Fehler vorhanden869* `error_code`: Node.js errno-Code wie `"ENOENT"`, wenn auf dem Fehler vorhanden

765 870 

766#### Plugin-Installiert-Ereignis871<h4 id="plugin-installed-event">

872 Plugin-Installiert-Ereignis

873</h4>

767 874 

768Protokolliert, wenn ein Plugin die Installation abgeschlossen hat, sowohl vom `claude plugin install` CLI-Befehl als auch von der interaktiven `/plugin` UI.875Protokolliert, wenn ein Plugin die Installation abgeschlossen hat, sowohl vom `claude plugin install` CLI-Befehl als auch von der interaktiven `/plugin` UI.

769 876 


771 878 

772**Attribute**:879**Attribute**:

773 880 

774* Alle [Standardattribute](#standardattribute)881* Alle [Standardattribute](#standard-attributes)

775* `event.name`: `"plugin_installed"`882* `event.name`: `"plugin_installed"`

776* `event.timestamp`: ISO 8601-Zeitstempel883* `event.timestamp`: ISO 8601-Zeitstempel

777* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung884* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


781* `plugin.version`: Plugin-Version, wenn in der Marketplace-Eintrag deklariert. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`888* `plugin.version`: Plugin-Version, wenn in der Marketplace-Eintrag deklariert. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`

782* `marketplace.name`: Marketplace, von dem das Plugin installiert wurde. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`889* `marketplace.name`: Marketplace, von dem das Plugin installiert wurde. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`

783 890 

784#### Plugin-Geladen-Ereignis891<h4 id="plugin-loaded-event">

892 Plugin-Geladen-Ereignis

893</h4>

785 894 

786Protokolliert 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.895Protokolliert 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.

787 896 


789 898 

790**Attribute**:899**Attribute**:

791 900 

792* Alle [Standardattribute](#standardattribute)901* Alle [Standardattribute](#standard-attributes)

793* `event.name`: `"plugin_loaded"`902* `event.name`: `"plugin_loaded"`

794* `event.timestamp`: ISO 8601-Zeitstempel903* `event.timestamp`: ISO 8601-Zeitstempel

795* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung904* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


801* `plugin_id_hash`: Deterministische 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 aufzuzeichnen910* `plugin_id_hash`: Deterministische 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

802* `has_hooks`: Ob das Plugin Hooks beiträgt911* `has_hooks`: Ob das Plugin Hooks beiträgt

803* `has_mcp`: Ob das Plugin MCP-Server beiträgt912* `has_mcp`: Ob das Plugin MCP-Server beiträgt

913* `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. {/* min-version: 2.1.172 */}Erfordert Claude Code v2.1.172 oder später

804* `skill_path_count`: Anzahl der Skill-Verzeichnisse, die das Plugin deklariert914* `skill_path_count`: Anzahl der Skill-Verzeichnisse, die das Plugin deklariert

805* `command_path_count`: Anzahl der Befehlsverzeichnisse, die das Plugin deklariert915* `command_path_count`: Anzahl der Befehlsverzeichnisse, die das Plugin deklariert

806* `agent_path_count`: Anzahl der Agent-Verzeichnisse, die das Plugin deklariert916* `agent_path_count`: Anzahl der Agent-Verzeichnisse, die das Plugin deklariert

917* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/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. {/* min-version: 2.1.169 */}Erfordert Claude Code v2.1.169 oder später

807 918 

808#### Skill-Aktiviert-Ereignis919<h4 id="skill-activated-event">

920 Skill-Aktiviert-Ereignis

921</h4>

809 922 

810Protokolliert, wenn ein Skill aufgerufen wird, ob Claude ihn über das Skill-Tool aufruft oder Sie ihn als `/` Befehl ausführen.923Protokolliert, wenn ein Skill aufgerufen wird, ob Claude ihn über das Skill-Tool aufruft oder Sie ihn als `/` Befehl ausführen.

811 924 


813 926 

814**Attribute**:927**Attribute**:

815 928 

816* Alle [Standardattribute](#standardattribute)929* Alle [Standardattribute](#standard-attributes)

817* `event.name`: `"skill_activated"`930* `event.name`: `"skill_activated"`

818* `event.timestamp`: ISO 8601-Zeitstempel931* `event.timestamp`: ISO 8601-Zeitstempel

819* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung932* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung

820* `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`933* `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`

821* `invocation_trigger`: Wie der Skill ausgelöst wurde (`"user-slash"`, `"claude-proactive"` oder `"nested-skill"`)934* `invocation_trigger`: Wie der Skill ausgelöst wurde (`"user-slash"`, `"claude-proactive"` oder `"nested-skill"`)

822* `skill.source`: Wo der Skill geladen wurde (z. B. `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)935* `skill.source`: Wo der Skill geladen wurde (z. B. `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)

936* `skill.kind`: `"workflow"`, wenn der Skill ein Workflow-Skill ist. Andernfalls nicht vorhanden

823* `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 wird937* `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 wird

824* `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 wird938* `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 wird

825 939 

826#### At-Mention-Ereignis940<h4 id="at-mention-event">

941 At-Mention-Ereignis

942</h4>

827 943 

828Protokolliert, 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.944Protokolliert, 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.

829 945 


831 947 

832**Attribute**:948**Attribute**:

833 949 

834* Alle [Standardattribute](#standardattribute)950* Alle [Standardattribute](#standard-attributes)

835* `event.name`: `"at_mention"`951* `event.name`: `"at_mention"`

836* `event.timestamp`: ISO 8601-Zeitstempel952* `event.timestamp`: ISO 8601-Zeitstempel

837* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung953* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung

838* `mention_type`: Typ des Mentions (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`)954* `mention_type`: Typ des Mentions (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`)

839* `success`: Ob das Mention erfolgreich aufgelöst wurde (`"true"` oder `"false"`)955* `success`: Ob das Mention erfolgreich aufgelöst wurde (`"true"` oder `"false"`)

840 956 

841#### API-Wiederholungen-Erschöpft-Ereignis957<h4 id="api-retries-exhausted-event">

958 API-Wiederholungen-Erschöpft-Ereignis

959</h4>

842 960 

843Protokolliert einmal, wenn eine API-Anfrage nach mehr als einem Versuch fehlschlägt. Wird zusammen mit dem letzten `api_error` Ereignis ausgegeben.961Protokolliert einmal, wenn eine API-Anfrage nach mehr als einem Versuch fehlschlägt. Wird zusammen mit dem letzten `api_error` Ereignis ausgegeben.

844 962 


846 964 

847**Attribute**:965**Attribute**:

848 966 

849* Alle [Standardattribute](#standardattribute)967* Alle [Standardattribute](#standard-attributes)

850* `event.name`: `"api_retries_exhausted"`968* `event.name`: `"api_retries_exhausted"`

851* `event.timestamp`: ISO 8601-Zeitstempel969* `event.timestamp`: ISO 8601-Zeitstempel

852* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung970* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


857* `total_retry_duration_ms`: Gesamte Wanduhr-Zeit über alle Versuche975* `total_retry_duration_ms`: Gesamte Wanduhr-Zeit über alle Versuche

858* `speed`: `"fast"` oder `"normal"`976* `speed`: `"fast"` oder `"normal"`

859 977 

860#### Hook-Registriert-Ereignis978<h4 id="hook-registered-event">

979 Hook-Registriert-Ereignis

980</h4>

861 981 

862Protokolliert 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`.982Protokolliert 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`.

863 983 


865 985 

866**Attribute**:986**Attribute**:

867 987 

868* Alle [Standardattribute](#standardattribute)988* Alle [Standardattribute](#standard-attributes)

869* `event.name`: `"hook_registered"`989* `event.name`: `"hook_registered"`

870* `event.timestamp`: ISO 8601-Zeitstempel990* `event.timestamp`: ISO 8601-Zeitstempel

871* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung991* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung

872* `hook_event`: Hook-Ereignistyp, z. B. `"PreToolUse"` oder `"PostToolUse"`992* `hook_event`: Hook-Ereignistyp, z. B. `"PreToolUse"` oder `"PostToolUse"`

873* `hook_type`: Hook-Implementierungstyp: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` oder `"agent"`993* `hook_type`: Hook-Implementierungstyp: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` oder `"agent"`

874* `hook_source`: Wo der Hook definiert ist: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` oder `"pluginHook"`994* `hook_source`: Wo der Hook definiert ist: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` oder `"pluginHook"`

995* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/de/cli-reference) gestartet wurde, `"false"` andernfalls. {/* min-version: 2.1.169 */}Erfordert Claude Code v2.1.169 oder später

875* `hook_matcher` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Die Matcher-Zeichenkette aus der Hook-Konfiguration, wenn eine gesetzt ist996* `hook_matcher` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Die Matcher-Zeichenkette aus der Hook-Konfiguration, wenn eine gesetzt ist

876* `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`997* `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`

877* `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 aufzuzeichnen998* `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

878 999 

879#### Hook-Ausführungs-Start-Ereignis1000<h4 id="hook-execution-start-event">

1001 Hook-Ausführungs-Start-Ereignis

1002</h4>

880 1003 

881Protokolliert, wenn ein oder mehrere Hooks für ein Hook-Ereignis beginnen auszuführen.1004Protokolliert, wenn ein oder mehrere Hooks für ein Hook-Ereignis beginnen auszuführen.

882 1005 


884 1007 

885**Attribute**:1008**Attribute**:

886 1009 

887* Alle [Standardattribute](#standardattribute)1010* Alle [Standardattribute](#standard-attributes)

888* `event.name`: `"hook_execution_start"`1011* `event.name`: `"hook_execution_start"`

889* `event.timestamp`: ISO 8601-Zeitstempel1012* `event.timestamp`: ISO 8601-Zeitstempel

890* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung1013* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


893* `num_hooks`: Anzahl der übereinstimmenden Hook-Befehle1016* `num_hooks`: Anzahl der übereinstimmenden Hook-Befehle

894* `managed_only`: `"true"`, wenn nur verwaltete Richtlinien-Hooks zulässig sind1017* `managed_only`: `"true"`, wenn nur verwaltete Richtlinien-Hooks zulässig sind

895* `hook_source`: `"policySettings"` oder `"merged"`1018* `hook_source`: `"policySettings"` oder `"merged"`

1019* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/de/cli-reference) gestartet wurde, `"false"` andernfalls. {/* min-version: 2.1.169 */}Erfordert Claude Code v2.1.169 oder später

896* `hook_definitions`: JSON-serialisierte Hook-Konfiguration. Nur enthalten, wenn sowohl detailliertes Beta-Tracing als auch `OTEL_LOG_TOOL_DETAILS=1` aktiviert sind1020* `hook_definitions`: JSON-serialisierte Hook-Konfiguration. Nur enthalten, wenn sowohl detailliertes Beta-Tracing als auch `OTEL_LOG_TOOL_DETAILS=1` aktiviert sind

897 1021 

898#### Hook-Ausführungs-Abschluss-Ereignis1022<h4 id="hook-execution-complete-event">

1023 Hook-Ausführungs-Abschluss-Ereignis

1024</h4>

899 1025 

900Protokolliert, wenn alle Hooks für ein Hook-Ereignis abgeschlossen sind.1026Protokolliert, wenn alle Hooks für ein Hook-Ereignis abgeschlossen sind.

901 1027 


903 1029 

904**Attribute**:1030**Attribute**:

905 1031 

906* Alle [Standardattribute](#standardattribute)1032* Alle [Standardattribute](#standard-attributes)

907* `event.name`: `"hook_execution_complete"`1033* `event.name`: `"hook_execution_complete"`

908* `event.timestamp`: ISO 8601-Zeitstempel1034* `event.timestamp`: ISO 8601-Zeitstempel

909* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung1035* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


917* `total_duration_ms`: Wanduhr-Dauer aller übereinstimmenden Hooks1043* `total_duration_ms`: Wanduhr-Dauer aller übereinstimmenden Hooks

918* `managed_only`: `"true"`, wenn nur verwaltete Richtlinien-Hooks zulässig sind1044* `managed_only`: `"true"`, wenn nur verwaltete Richtlinien-Hooks zulässig sind

919* `hook_source`: `"policySettings"` oder `"merged"`1045* `hook_source`: `"policySettings"` oder `"merged"`

1046* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/de/cli-reference) gestartet wurde, `"false"` andernfalls. {/* min-version: 2.1.169 */}Erfordert Claude Code v2.1.169 oder später

920* `hook_definitions`: JSON-serialisierte Hook-Konfiguration. Nur enthalten, wenn sowohl detailliertes Beta-Tracing als auch `OTEL_LOG_TOOL_DETAILS=1` aktiviert sind1047* `hook_definitions`: JSON-serialisierte Hook-Konfiguration. Nur enthalten, wenn sowohl detailliertes Beta-Tracing als auch `OTEL_LOG_TOOL_DETAILS=1` aktiviert sind

921 1048 

922#### Hook-Plugin-Metriken-Ereignis1049<h4 id="hook-plugin-metrics-event">

1050 Hook-Plugin-Metriken-Ereignis

1051</h4>

923 1052 

924Protokolliert, 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.1053Protokolliert, 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.

925 1054 


927 1056 

928**Attribute**:1057**Attribute**:

929 1058 

930* Alle [Standardattribute](#standardattribute)1059* Alle [Standardattribute](#standard-attributes)

931* `event.name`: `"hook_plugin_metrics"`1060* `event.name`: `"hook_plugin_metrics"`

932* `event.timestamp`: ISO 8601-Zeitstempel1061* `event.timestamp`: ISO 8601-Zeitstempel

933* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung1062* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


935* `hook_event`: Hook-Ereignistyp, der die Metriken ausgegeben hat1064* `hook_event`: Hook-Ereignistyp, der die Metriken ausgegeben hat

936* Bis zu 20 Plugin-ausgegebene Metrik-Schlüssel. Namen entsprechen `^[a-z][a-z0-9_]{0,39}$`. Werte sind boolescher Wert oder Zahl.1065* Bis zu 20 Plugin-ausgegebene Metrik-Schlüssel. Namen entsprechen `^[a-z][a-z0-9_]{0,39}$`. Werte sind boolescher Wert oder Zahl.

937 1066 

938#### Kompaktierungs-Ereignis1067<h4 id="compaction-event">

1068 Kompaktierungs-Ereignis

1069</h4>

939 1070 

940Protokolliert, wenn die Konversationskompaktierung abgeschlossen ist.1071Protokolliert, wenn die Konversationskompaktierung abgeschlossen ist.

941 1072 


943 1074 

944**Attribute**:1075**Attribute**:

945 1076 

946* Alle [Standardattribute](#standardattribute)1077* Alle [Standardattribute](#standard-attributes)

947* `event.name`: `"compaction"`1078* `event.name`: `"compaction"`

948* `event.timestamp`: ISO 8601-Zeitstempel1079* `event.timestamp`: ISO 8601-Zeitstempel

949* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung1080* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


955* `error`: Fehlermeldung, wenn Kompaktierung fehlgeschlagen ist1086* `error`: Fehlermeldung, wenn Kompaktierung fehlgeschlagen ist

956* `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. {/* min-version: 2.1.153 */}Erfordert Claude Code v2.1.153 oder später1087* `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. {/* min-version: 2.1.153 */}Erfordert Claude Code v2.1.153 oder später

957 1088 

958#### Feedback-Umfrage-Ereignis1089<h4 id="feedback-survey-event">

1090 Feedback-Umfrage-Ereignis

1091</h4>

959 1092 

960Protokolliert, wenn eine Sitzungsqualitäts-Umfrage angezeigt oder beantwortet wird. Siehe [Sitzungsqualitäts-Umfragen](/de/data-usage#session-quality-surveys) für das, was die Umfragen erfassen und wie Sie sie steuern.1093Protokolliert, wenn eine Sitzungsqualitäts-Umfrage angezeigt oder beantwortet wird. Siehe [Sitzungsqualitäts-Umfragen](/de/data-usage#session-quality-surveys) für das, was die Umfragen erfassen und wie Sie sie steuern.

961 1094 


963 1096 

964**Attribute**:1097**Attribute**:

965 1098 

966* Alle [Standardattribute](#standardattribute)1099* Alle [Standardattribute](#standard-attributes)

967* `event.name`: `"feedback_survey"`1100* `event.name`: `"feedback_survey"`

968* `event.timestamp`: ISO 8601-Zeitstempel1101* `event.timestamp`: ISO 8601-Zeitstempel

969* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung1102* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung


973* `response`: Die Auswahl des Benutzers bei `responded` Ereignissen1106* `response`: Die Auswahl des Benutzers bei `responded` Ereignissen

974* `enabled_via_override`: `true`, wenn [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/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 wird1107* `enabled_via_override`: `true`, wenn [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/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 wird

975 1108 

976## Interpretation von Metriken- und Ereignisdaten1109<h2 id="interpret-metrics-and-events-data">

1110 Interpretation von Metriken- und Ereignisdaten

1111</h2>

977 1112 

978Die exportierten Metriken und Ereignisse unterstützen eine Reihe von Analysen:1113Die exportierten Metriken und Ereignisse unterstützen eine Reihe von Analysen:

979 1114 

980### Nutzungsüberwachung1115<h3 id="usage-monitoring">

1116 Nutzungsüberwachung

1117</h3>

981 1118 

982| Metrik | Analysemöglichkeit |1119| Metrik | Analysemöglichkeit |

983| ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |1120| ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |

984| `claude_code.token.usage` | Aufschlüsselung nach `type` (input/output), Benutzer, Team, Modell, `skill.name`, `plugin.name` oder `agent.name` |1121| `claude_code.token.usage` | Aufschlüsselung nach `type` (input/output), Benutzer, Team, Modell, `skill.name`, `plugin.name` oder `agent.name` |

985| `claude_code.session.count` | Verfolgung der Akzeptanz und des Engagements im Laufe der Zeit |1122| `claude_code.session.count` | Verfolgung der Akzeptanz und des Engagements im Laufe der Zeit |

986| `claude_code.lines_of_code.count` | Messung der Produktivität durch Verfolgung von Code-Hinzufügungen/Entfernungen |1123| `claude_code.lines_of_code.count` | Messung der Produktivität durch Verfolgung von Code-Hinzufügungen und -Entfernungen, aufgeschlüsselt nach Modell |

987| `claude_code.commit.count` & `claude_code.pull_request.count` | Verständnis der Auswirkungen auf Entwicklungs-Workflows |1124| `claude_code.commit.count` & `claude_code.pull_request.count` | Verständnis der Auswirkungen auf Entwicklungs-Workflows |

988 1125 

989### Kostenüberwachung1126<h3 id="cost-monitoring">

1127 Kostenüberwachung

1128</h3>

990 1129 

991Die Metrik `claude_code.cost.usage` hilft bei:1130Die Metrik `claude_code.cost.usage` hilft bei:

992 1131 


998 Kostenmetriken sind Näherungswerte. Für offizielle Abrechnungsdaten konsultieren Sie Ihren API-Anbieter (Claude Console, Amazon Bedrock oder Google Cloud Vertex).1137 Kostenmetriken sind Näherungswerte. Für offizielle Abrechnungsdaten konsultieren Sie Ihren API-Anbieter (Claude Console, Amazon Bedrock oder Google Cloud Vertex).

999</Note>1138</Note>

1000 1139 

1001### Warnungen und Segmentierung1140<h3 id="alerting-and-segmentation">

1141 Warnungen und Segmentierung

1142</h3>

1002 1143 

1003Häufige Warnungen, die Sie in Betracht ziehen sollten:1144Häufige Warnungen, die Sie in Betracht ziehen sollten:

1004 1145 


1006* Ungewöhnlicher Token-Verbrauch1147* Ungewöhnlicher Token-Verbrauch

1007* Hohes Sitzungsvolumen von bestimmten Benutzern1148* Hohes Sitzungsvolumen von bestimmten Benutzern

1008 1149 

1009Alle Metriken können nach `user.account_uuid`, `user.account_id`, `organization.id`, `session.id`, `model` und `app.version` segmentiert werden.1150Alle Metriken können nach den [Standard-Attributen](#standard-attributes) segmentiert werden. Das Attribut `model` ist auf `claude_code.token.usage`, `claude_code.cost.usage` und {/* min-version: 2.1.172 */}ab v2.1.172 auf `claude_code.lines_of_code.count` verfügbar. Aufschlüsselungen pro Modell von Commits können nur durch Verknüpfung mit den Token- oder Kostenmetriken auf `session.id` angenähert werden, da eine Sitzung mehrere Modelle umfassen kann.

1010 1151 

1011### Wiederholungserschöpfung erkennen1152<h3 id="detect-retry-exhaustion">

1153 Wiederholungserschöpfung erkennen

1154</h3>

1012 1155 

1013Claude Code wiederholt fehlgeschlagene API-Anfragen intern und gibt nur nach dem Aufgeben ein einzelnes `claude_code.api_error` Ereignis aus, daher ist das Ereignis selbst das Endsignal für diese Anfrage. Zwischenzeitliche Wiederholungsversuche werden nicht als separate Ereignisse protokolliert.1156Claude Code wiederholt fehlgeschlagene API-Anfragen intern und gibt nur nach dem Aufgeben ein einzelnes `claude_code.api_error` Ereignis aus, daher ist das Ereignis selbst das Endsignal für diese Anfrage. Zwischenzeitliche Wiederholungsversuche werden nicht als separate Ereignisse protokolliert.

1014 1157 


1016 1159 

1017Um eine Sitzung zu unterscheiden, die sich von einer, die steckengeblieben ist, erholt hat, gruppieren Sie Ereignisse nach `session.id` und prüfen Sie, ob ein späteres `api_request` Ereignis nach dem Fehler vorhanden ist.1160Um eine Sitzung zu unterscheiden, die sich von einer, die steckengeblieben ist, erholt hat, gruppieren Sie Ereignisse nach `session.id` und prüfen Sie, ob ein späteres `api_request` Ereignis nach dem Fehler vorhanden ist.

1018 1161 

1019### Ereignisanalyse1162<h3 id="event-analysis">

1163 Ereignisanalyse

1164</h3>

1020 1165 

1021Die Ereignisdaten bieten detaillierte Einblicke in Claude Code-Interaktionen:1166Die Ereignisdaten bieten detaillierte Einblicke in Claude Code-Interaktionen:

1022 1167 


1029 1174 

1030**Leistungsüberwachung**: Verfolgen Sie API-Anfrage-Dauern und Tool-Ausführungszeiten, um Leistungsengpässe zu identifizieren.1175**Leistungsüberwachung**: Verfolgen Sie API-Anfrage-Dauern und Tool-Ausführungszeiten, um Leistungsengpässe zu identifizieren.

1031 1176 

1032## Audit-Sicherheitsereignisse1177<h2 id="audit-security-events">

1178 Audit-Sicherheitsereignisse

1179</h2>

1033 1180 

1034OpenTelemetry-Ereignisse sind die Audit-Datenquelle für Claude Code-Aktivität. Jedes Ereignis trägt Identitätsattribute, die Tool-Aufrufe, MCP-Aktivität und Berechtigungsentscheidungen an den Benutzer zurückbinden, der sie ausgelöst hat, und der OTLP-Logs-Exporter kann diese Ereignisse an jede Security Information and Event Management (SIEM)-Plattform mit einem OTLP-Receiver oder an einen OpenTelemetry Collector liefern, der an Ihr SIEM weiterleitet.1181OpenTelemetry-Ereignisse sind die Audit-Datenquelle für Claude Code-Aktivität. Jedes Ereignis trägt Identitätsattribute, die Tool-Aufrufe, MCP-Aktivität und Berechtigungsentscheidungen an den Benutzer zurückbinden, der sie ausgelöst hat, und der OTLP-Logs-Exporter kann diese Ereignisse an jede Security Information and Event Management (SIEM)-Plattform mit einem OTLP-Receiver oder an einen OpenTelemetry Collector liefern, der an Ihr SIEM weiterleitet.

1035 1182 

1036### Attribut-Aktionen an Benutzer1183<h3 id="attribute-actions-to-users">

1184 Attribut-Aktionen an Benutzer

1185</h3>

1037 1186 

1038Die [Standardattribute](#standardattribute) auf jedem Ereignis enthalten die Identität des authentifizierten Benutzers: `user.email`, `user.account_uuid`, `user.account_id` und `organization.id`, wenn mit einem Claude-Konto angemeldet, plus die installationsbegrenzte `user.id` und die pro-Sitzung `session.id`.1187Die [Standardattribute](#standard-attributes) auf jedem Ereignis enthalten die Identität des authentifizierten Benutzers: `user.email`, `user.account_uuid`, `user.account_id` und `organization.id`, wenn mit einem Claude-Konto angemeldet, plus die installationsbegrenzte `user.id` und die pro-Sitzung `session.id`.

1039 1188 

1040MCP-Tool-Aufrufe, Bash-Befehle und Dateibearbeitungen werden daher dem Entwickler zugeordnet, der die Sitzung gestartet hat. Claude Code handelt nicht unter einem separaten Service-Konto; die Identität, die auf jedem Ereignis aufgezeichnet wird, ist das Claude-Konto des Entwicklers selbst.1189MCP-Tool-Aufrufe, Bash-Befehle und Dateibearbeitungen werden daher dem Entwickler zugeordnet, der die Sitzung gestartet hat. Claude Code handelt nicht unter einem separaten Service-Konto; die Identität, die auf jedem Ereignis aufgezeichnet wird, ist das Claude-Konto des Entwicklers selbst.

1041 1190 

1042Wenn Claude Code sich mit einem direkten API-Schlüssel authentifiziert oder gegen Bedrock, Vertex AI oder Microsoft Foundry, gibt es kein Claude-Konto in der Sitzung und nur `user.id` und `session.id` werden gefüllt. In diesen Bereitstellungen fügen Sie die Benutzeridentität selbst mit `OTEL_RESOURCE_ATTRIBUTES` hinzu, die pro Benutzer über die [verwaltete Einstellungsdatei](#administratorkonfiguration) oder einen Launch-Wrapper gesetzt wird:1191Wenn Claude Code sich mit einem direkten API-Schlüssel authentifiziert oder gegen Bedrock, Vertex AI oder Microsoft Foundry, gibt es kein Claude-Konto in der Sitzung und nur `user.id` und `session.id` werden gefüllt. In diesen Bereitstellungen fügen Sie die Benutzeridentität selbst mit `OTEL_RESOURCE_ATTRIBUTES` hinzu, die pro Benutzer über die [verwaltete Einstellungsdatei](#administrator-configuration) oder einen Launch-Wrapper gesetzt wird:

1043 1192 

1044```bash theme={null}1193```bash theme={null}

1045export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."1194export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."

1046```1195```

1047 1196 

1048### Audit MCP-Aktivität1197<h3 id="audit-mcp-activity">

1198 Audit MCP-Aktivität

1199</h3>

1049 1200 

1050Um MCP-Server-Aktivität mit vollständiger Call-Detail zu erfassen, aktivieren Sie den Logs-Exporter und setzen Sie `OTEL_LOG_TOOL_DETAILS=1`. Jede MCP-Operation erzeugt dann strukturierte Ereignisse, die den Server-Namen, Tool-Namen und Call-Argumente zusammen mit den Standard-Identitätsattributen tragen:1201Um MCP-Server-Aktivität mit vollständiger Call-Detail zu erfassen, aktivieren Sie den Logs-Exporter und setzen Sie `OTEL_LOG_TOOL_DETAILS=1`. Jede MCP-Operation erzeugt dann strukturierte Ereignisse, die den Server-Namen, Tool-Namen und Call-Argumente zusammen mit den Standard-Identitätsattributen tragen:

1051 1202 


1059 1210 

1060* `tool_result`: behält `tool_name` und `mcp_server_scope`, lässt `mcp_server_name`, `mcp_tool_name` und Argumente weg1211* `tool_result`: behält `tool_name` und `mcp_server_scope`, lässt `mcp_server_name`, `mcp_tool_name` und Argumente weg

1061* `tool_decision`: behält `tool_name`, lässt `tool_parameters` weg1212* `tool_decision`: behält `tool_name`, lässt `tool_parameters` weg

1062* `mcp_server_connection`: lässt `server_name` und die Fehlermeldung weg1213* `mcp_server_connection`: lässt `server_name` und die Fehlermeldung weg, behält aber `is_plugin`, `plugin_id_hash` und `plugin.name`, wobei Namen von Nicht-Anthropic-Plugins auf das Literal `"third-party"` redigiert werden, sodass von Plugins bereitgestellte Server ohne detaillierte Protokollierung unterscheidbar bleiben

1063 1214 

1064### Sicherheitsfragen zu Ereignissen zuordnen1215<h3 id="map-security-questions-to-events">

1216 Sicherheitsfragen zu Ereignissen zuordnen

1217</h3>

1065 1218 

1066Beim 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:1219Beim 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:

1067 1220 


1071| Berechtigungsmodus-Eskalation | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1224| Berechtigungsmodus-Eskalation | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

1072| Policy-Hook blockierte eine Aktion | `hook_execution_complete` | `hook_event`, `num_blocking` |1225| Policy-Hook blockierte eine Aktion | `hook_execution_complete` | `hook_event`, `num_blocking` |

1073| Login, Logout und Authentifizierungsfehler | `auth` | `action`, `success`, `error_category` |1226| Login, Logout und Authentifizierungsfehler | `auth` | `action`, `success`, `error_category` |

1074| MCP-Server-Verbindung oder Fehler | `mcp_server_connection` | `status`, `server_name`, `error_code` |1227| MCP-Server-Verbindung oder Fehler | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |

1075| Plugin installiert und seine Quelle | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |1228| Plugin installiert und seine Quelle | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |

1076| 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) |1229| 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) |

1077 1230 

1078Claude Code gibt nur den rohen Ereignisstrom aus. Anomalieerkennung, Baselining, Korrelation über Sitzungen hinweg und Warnungen sind die Verantwortung Ihres SIEM oder Observability-Backends.1231Claude Code gibt nur den rohen Ereignisstrom aus. Anomalieerkennung, Baselining, Korrelation über Sitzungen hinweg und Warnungen sind die Verantwortung Ihres SIEM oder Observability-Backends.

1079 1232 

1080### Ereignisse an ein SIEM senden1233<h3 id="send-events-to-a-siem">

1234 Ereignisse an ein SIEM senden

1235</h3>

1081 1236 

1082Zeigen Sie `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` auf den OTLP-Receiver Ihres SIEM oder auf einen OpenTelemetry Collector, der an die native Ingest-API Ihres SIEM weiterleitet. Das folgende verwaltete Einstellungsbeispiel exportiert nur Ereignisse, mit vollständiger Tool-Detail-Aktivierung für MCP- und Bash-Auditing:1237Zeigen Sie `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` auf den OTLP-Receiver Ihres SIEM oder auf einen OpenTelemetry Collector, der an die native Ingest-API Ihres SIEM weiterleitet. Das folgende verwaltete Einstellungsbeispiel exportiert nur Ereignisse, mit vollständiger Tool-Detail-Aktivierung für MCP- und Bash-Auditing:

1083 1238 


1094}1249}

1095```1250```

1096 1251 

1097## Backend-Überlegungen1252<h2 id="backend-considerations">

1253 Backend-Überlegungen

1254</h2>

1098 1255 

1099Ihre Wahl des Metriken-, Logs- und Traces-Backends bestimmt die Arten von Analysen, die Sie durchführen können:1256Ihre Wahl des Metriken-, Logs- und Traces-Backends bestimmt die Arten von Analysen, die Sie durchführen können:

1100 1257 

1101### Für Metriken1258<h3 id="for-metrics">

1259 Für Metriken

1260</h3>

1102 1261 

1103* **Zeitreihendatenbanken (zum Beispiel Prometheus)**: Ratenberechnungen, aggregierte Metriken1262* **Zeitreihendatenbanken (zum Beispiel Prometheus)**: Ratenberechnungen, aggregierte Metriken

1104* **Spaltenorientierte Speicher (zum Beispiel ClickHouse)**: Komplexe Abfragen, eindeutige Benutzeranalyse1263* **Spaltenorientierte Speicher (zum Beispiel ClickHouse)**: Komplexe Abfragen, eindeutige Benutzeranalyse

1105* **Vollständige Observability-Plattformen (zum Beispiel Honeycomb, Datadog)**: Erweiterte Abfragen, Visualisierung, Warnungen1264* **Vollständige Observability-Plattformen (zum Beispiel Honeycomb, Datadog, Grafana Cloud)**: Erweiterte Abfragen, Visualisierung, Warnungen

1106 1265 

1107### Für Ereignisse/Logs1266<h3 id="for-events/logs">

1267 Für Ereignisse/Logs

1268</h3>

1108 1269 

1109* **Log-Aggregationssysteme (zum Beispiel Elasticsearch, Loki)**: Volltextsuche, Log-Analyse1270* **Log-Aggregationssysteme (zum Beispiel Elasticsearch, Loki)**: Volltextsuche, Log-Analyse

1110* **Spaltenorientierte Speicher (zum Beispiel ClickHouse)**: Strukturierte Ereignisanalyse1271* **Spaltenorientierte Speicher (zum Beispiel ClickHouse)**: Strukturierte Ereignisanalyse

1111* **Vollständige Observability-Plattformen (zum Beispiel Honeycomb, Datadog)**: Korrelation zwischen Metriken und Ereignissen1272* **Vollständige Observability-Plattformen (zum Beispiel Honeycomb, Datadog, Grafana Cloud)**: Korrelation zwischen Metriken und Ereignissen

1112 1273 

1113### Für Traces1274<h3 id="for-traces">

1275 Für Traces

1276</h3>

1114 1277 

1115Wählen Sie ein Backend, das verteilte Trace-Speicherung und Span-Korrelation unterstützt:1278Wählen Sie ein Backend, das verteilte Trace-Speicherung und Span-Korrelation unterstützt:

1116 1279 

1117* **Verteilte Tracing-Systeme (zum Beispiel Jaeger, Zipkin, Grafana Tempo)**: Span-Visualisierung, Request-Waterfalls, Latenzanalyse1280* **Verteilte Tracing-Systeme (zum Beispiel Jaeger, Zipkin, Grafana Tempo)**: Span-Visualisierung, Request-Waterfalls, Latenzanalyse

1118* **Vollständige Observability-Plattformen (zum Beispiel Honeycomb, Datadog)**: Trace-Suche und Korrelation mit Metriken und Logs1281* **Vollständige Observability-Plattformen (zum Beispiel Honeycomb, Datadog, Grafana Cloud)**: Trace-Suche und Korrelation mit Metriken und Logs

1119 1282 

1120Für Organisationen, die Daily/Weekly/Monthly Active User (DAU/WAU/MAU) Metriken benötigen, sollten Sie Backends in Betracht ziehen, die effiziente Abfragen eindeutiger Werte unterstützen.1283Für Organisationen, die Daily/Weekly/Monthly Active User (DAU/WAU/MAU) Metriken benötigen, sollten Sie Backends in Betracht ziehen, die effiziente Abfragen eindeutiger Werte unterstützen.

1121 1284 

1122## Dienstinformationen1285<h2 id="service-information">

1286 Dienstinformationen

1287</h2>

1123 1288 

1124Alle Metriken und Ereignisse werden mit den folgenden Ressourcenattributen exportiert:1289Alle Metriken und Ereignisse werden mit den folgenden Ressourcenattributen exportiert:

1125 1290 


1131* `wsl.version`: WSL-Versionsnummer (nur vorhanden, wenn auf Windows Subsystem for Linux ausgeführt)1296* `wsl.version`: WSL-Versionsnummer (nur vorhanden, wenn auf Windows Subsystem for Linux ausgeführt)

1132* Meter-Name: `com.anthropic.claude_code`1297* Meter-Name: `com.anthropic.claude_code`

1133 1298 

1134## ROI-Messung-Ressourcen1299<h2 id="roi-measurement-resources">

1300 ROI-Messung-Ressourcen

1301</h2>

1135 1302 

1136Für einen umfassenden Leitfaden zur Messung der Kapitalrendite für Claude Code, einschließlich Telemetrie-Setup, Kostenanalyse, Produktivitätsmetriken und automatisierter Berichterstattung, siehe den [Claude Code ROI Measurement Guide](https://github.com/anthropics/claude-code-monitoring-guide). Dieses Repository bietet einsatzbereite Docker Compose-Konfigurationen, Prometheus- und OpenTelemetry-Setups sowie Vorlagen zur Generierung von Produktivitätsberichten, die in Tools wie Linear integriert sind.1303Für einen umfassenden Leitfaden zur Messung der Kapitalrendite für Claude Code, einschließlich Telemetrie-Setup, Kostenanalyse, Produktivitätsmetriken und automatisierter Berichterstattung, siehe den [Claude Code ROI Measurement Guide](https://github.com/anthropics/claude-code-monitoring-guide). Dieses Repository bietet einsatzbereite Docker Compose-Konfigurationen, Prometheus- und OpenTelemetry-Setups sowie Vorlagen zur Generierung von Produktivitätsberichten, die in Tools wie Linear integriert sind.

1137 1304 

1138## Sicherheit und Datenschutz1305<h2 id="security-and-privacy">

1306 Sicherheit und Datenschutz

1307</h2>

1139 1308 

1140* OpenTelemetry-Export zu Ihrem Backend ist opt-in und erfordert explizite Konfiguration. Informationen zu Anthropics separater operativer Telemetrie und wie Sie diese deaktivieren, finden Sie unter [Datennutzung](/de/data-usage#telemetry-services)1309* OpenTelemetry-Export zu Ihrem Backend ist opt-in und erfordert explizite Konfiguration. Informationen zu Anthropics separater operativer Telemetrie und wie Sie diese deaktivieren, finden Sie unter [Datennutzung](/de/data-usage#telemetry-services)

1141* Rohe Dateiinhalte und Code-Snippets sind nicht in Metriken oder Ereignissen enthalten. Trace-Spans sind ein separater Datenpfad: siehe die Aufzählung `OTEL_LOG_TOOL_CONTENT` unten1310* Rohe Dateiinhalte und Code-Snippets sind nicht in Metriken oder Ereignissen enthalten. Trace-Spans sind ein separater Datenpfad: siehe die Aufzählung `OTEL_LOG_TOOL_CONTENT` unten


1149* Tool-Eingabe- und Ausgabeinhalte werden in Trace-Spans standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_TOOL_CONTENT=1`. Wenn aktiviert, enthalten Span-Ereignisse vollständige Tool-Eingabe- und Ausgabeinhalte, gekürzt bei 60 KB pro Span. Dies kann rohe Dateiinhalte aus Read-Tool-Ergebnissen und Bash-Befehlsausgabe enthalten. Konfigurieren Sie Ihr Telemetrie-Backend, um diese Attribute nach Bedarf zu filtern oder zu schwärzen1318* Tool-Eingabe- und Ausgabeinhalte werden in Trace-Spans standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_TOOL_CONTENT=1`. Wenn aktiviert, enthalten Span-Ereignisse vollständige Tool-Eingabe- und Ausgabeinhalte, gekürzt bei 60 KB pro Span. Dies kann rohe Dateiinhalte aus Read-Tool-Ergebnissen und Bash-Befehlsausgabe enthalten. Konfigurieren Sie Ihr Telemetrie-Backend, um diese Attribute nach Bedarf zu filtern oder zu schwärzen

1150* Rohe Anthropic Messages API-Anfrage- und Antwort-Texte werden standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_RAW_API_BODIES`. Mit `=1` gibt jeder API-Aufruf `api_request_body`- und `api_response_body`-Log-Ereignisse aus, deren `body`-Attribut die JSON-serialisierte Nutzlast ist, gekürzt bei 60 KB. Mit `=file:<dir>` werden ungekürzte Texte unter diesem Verzeichnis in `.request.json`- und `.response.json`-Dateien geschrieben und die Ereignisse tragen einen `body_ref`-Pfad statt des Inline-Textes. Versenden Sie das Verzeichnis mit einem Log-Collector oder Sidecar statt über den Telemetrie-Stream. In beiden Modi enthalten Texte die gesamte Konversationshistorie (Systemprompt, jeder vorherige Benutzer- und Assistent-Durchgang, Tool-Ergebnisse), daher impliziert das Aktivieren dies Zustimmung zu allem, was die anderen `OTEL_LOG_*`-Content-Flags offenbaren würden. Claudes Extended-Thinking-Inhalte werden unabhängig von anderen Einstellungen immer aus diesen Texten geschwärzt1319* Rohe Anthropic Messages API-Anfrage- und Antwort-Texte werden standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_RAW_API_BODIES`. Mit `=1` gibt jeder API-Aufruf `api_request_body`- und `api_response_body`-Log-Ereignisse aus, deren `body`-Attribut die JSON-serialisierte Nutzlast ist, gekürzt bei 60 KB. Mit `=file:<dir>` werden ungekürzte Texte unter diesem Verzeichnis in `.request.json`- und `.response.json`-Dateien geschrieben und die Ereignisse tragen einen `body_ref`-Pfad statt des Inline-Textes. Versenden Sie das Verzeichnis mit einem Log-Collector oder Sidecar statt über den Telemetrie-Stream. In beiden Modi enthalten Texte die gesamte Konversationshistorie (Systemprompt, jeder vorherige Benutzer- und Assistent-Durchgang, Tool-Ergebnisse), daher impliziert das Aktivieren dies Zustimmung zu allem, was die anderen `OTEL_LOG_*`-Content-Flags offenbaren würden. Claudes Extended-Thinking-Inhalte werden unabhängig von anderen Einstellungen immer aus diesen Texten geschwärzt

1151 1320 

1152## Überwachung von Claude Code auf Amazon Bedrock1321<h2 id="monitor-claude-code-on-amazon-bedrock">

1322 Überwachung von Claude Code auf Amazon Bedrock

1323</h2>

1153 1324 

1154Für detaillierte Anleitung zur Überwachung der Claude Code-Nutzung für Amazon Bedrock siehe [Claude Code Monitoring Implementation (Bedrock)](https://github.com/aws-solutions-library-samples/guidance-for-claude-code-with-amazon-bedrock/blob/main/assets/docs/MONITORING.md).1325Für detaillierte Anleitung zur Überwachung der Claude Code-Nutzung für Amazon Bedrock siehe [Claude Code Monitoring Implementation (Bedrock)](https://github.com/aws-solutions-library-samples/guidance-for-claude-code-with-amazon-bedrock/blob/main/assets/docs/MONITORING.md).

Details

57 * Benutzer: `~/.claude/output-styles`57 * Benutzer: `~/.claude/output-styles`

58 * Projekt: `.claude/output-styles`58 * Projekt: `.claude/output-styles`

59 * Verwaltete Richtlinie: `.claude/output-styles` im [Verzeichnis für verwaltete Einstellungen](/de/settings#settings-files)59 * Verwaltete Richtlinie: `.claude/output-styles` im [Verzeichnis für verwaltete Einstellungen](/de/settings#settings-files)

60 

61 Projekt-Ausgabestile werden aus jedem `.claude/output-styles/` zwischen dem Arbeitsverzeichnis und dem Repository-Root geladen. {/* min-version: 2.1.178 */}Ab v2.1.178 verwendet Claude Code, wenn mehr als eines dieser verschachtelten Verzeichnisse einen Stil mit demselben Namen definiert, denjenigen, der dem Arbeitsverzeichnis am nächsten ist.

60 </Step>62 </Step>

61 63 

62 <Step title="Fügen Sie Frontmatter und Anweisungen hinzu">64 <Step title="Fügen Sie Frontmatter und Anweisungen hinzu">

overview.md +2 −2

Details

124 <Tab title="JetBrains">124 <Tab title="JetBrains">

125 Ein Plugin für IntelliJ IDEA, PyCharm, WebStorm und andere JetBrains-IDEs mit interaktiver Diff-Anzeige und Auswahlkontext-Freigabe.125 Ein Plugin für IntelliJ IDEA, PyCharm, WebStorm und andere JetBrains-IDEs mit interaktiver Diff-Anzeige und Auswahlkontext-Freigabe.

126 126 

127 Installieren Sie das [Claude Code-Plugin](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) aus dem JetBrains Marketplace und starten Sie Ihre IDE neu.127 Installieren Sie das [Claude Code-Plugin](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) aus dem JetBrains Marketplace und starten Sie Ihre IDE neu. Das Plugin erfordert das Claude Code CLI, das separat installiert wird; siehe die [JetBrains-Einrichtungsschritte](/de/jetbrains#installation).

128 128 

129 [Erste Schritte mit JetBrains →](/de/jetbrains)129 [Erste Schritte mit JetBrains →](/de/jetbrains)

130 </Tab>130 </Tab>


209 209 

210 * Treten Sie von Ihrem Schreibtisch weg und arbeiten Sie weiter von Ihrem Telefon oder einem beliebigen Browser mit [Remote Control](/de/remote-control)210 * Treten Sie von Ihrem Schreibtisch weg und arbeiten Sie weiter von Ihrem Telefon oder einem beliebigen Browser mit [Remote Control](/de/remote-control)

211 * Senden Sie [Dispatch](/de/desktop#sessions-from-dispatch) eine Aufgabe von Ihrem Telefon und öffnen Sie die Desktop-Sitzung, die es erstellt211 * Senden Sie [Dispatch](/de/desktop#sessions-from-dispatch) eine Aufgabe von Ihrem Telefon und öffnen Sie die Desktop-Sitzung, die es erstellt

212 * Starten Sie eine lang laufende Aufgabe im [Web](/de/claude-code-on-the-web) oder in der [iOS-App](https://apps.apple.com/app/claude-by-anthropic/id6473753684) und ziehen Sie sie mit `claude --teleport` in Ihr Terminal212 * Starten Sie eine lang laufende Aufgabe im [Web](/de/claude-code-on-the-web) oder in der [iOS-App](https://apps.apple.com/app/claude-by-anthropic/id6473753684) und ziehen Sie sie mit `claude --teleport` in Ihr Terminal. Teleport erfordert ein claude.ai-Abonnement.

213 * Übergeben Sie eine Terminal-Sitzung an die [Desktop-App](/de/desktop) mit `/desktop` für visuelle Diff-Überprüfung213 * Übergeben Sie eine Terminal-Sitzung an die [Desktop-App](/de/desktop) mit `/desktop` für visuelle Diff-Überprüfung

214 * Leiten Sie Aufgaben aus Team-Chat weiter: Erwähnen Sie `@Claude` in [Slack](/de/slack) mit einem Fehlerbericht und erhalten Sie einen Pull Request zurück214 * Leiten Sie Aufgaben aus Team-Chat weiter: Erwähnen Sie `@Claude` in [Slack](/de/slack) mit einem Fehlerbericht und erhalten Sie einen Pull Request zurück

215 </Accordion>215 </Accordion>

Details

25 25 

26In jedem Modus außer `bypassPermissions` werden Schreibvorgänge zu [geschützten Pfaden](#protected-paths) niemals automatisch genehmigt, um den Repository-Status und Claudes eigene Konfiguration vor versehentlicher Beschädigung zu schützen.26In jedem Modus außer `bypassPermissions` werden Schreibvorgänge zu [geschützten Pfaden](#protected-paths) niemals automatisch genehmigt, um den Repository-Status und Claudes eigene Konfiguration vor versehentlicher Beschädigung zu schützen.

27 27 

28Modi legen die Grundlage fest. Überlagern Sie [Berechtigungsregeln](/de/permissions#manage-permissions) darauf, um bestimmte Tools in jedem Modus außer `bypassPermissions` vorab zu genehmigen oder zu blockieren, der die Berechtigungsebene vollständig überspringt.28Modi legen die Grundlage fest. Überlagern Sie [Berechtigungsregeln](/de/permissions#manage-permissions) darauf, um bestimmte Tools vorab zu genehmigen oder zu blockieren. Ablehnungsregeln und explizite Anfragungsregeln gelten in jedem Modus, einschließlich `bypassPermissions`. Genehmigungsregeln haben keine Auswirkung in diesem Modus, da alles andere bereits genehmigt ist.

29 29 

30<h2 id="switch-permission-modes">30<h2 id="switch-permission-modes">

31 Berechtigungsmodi wechseln31 Berechtigungsmodi wechseln


95 <Tab title="Web und Mobilgeräte">95 <Tab title="Web und Mobilgeräte">

96 Verwenden Sie das Modus-Dropdown neben dem Eingabefeld auf [claude.ai/code](https://claude.ai/code) oder in der mobilen App. Berechtigungsaufforderungen werden in claude.ai zur Genehmigung angezeigt. Welche Modi angezeigt werden, hängt davon ab, wo die Sitzung ausgeführt wird:96 Verwenden Sie das Modus-Dropdown neben dem Eingabefeld auf [claude.ai/code](https://claude.ai/code) oder in der mobilen App. Berechtigungsaufforderungen werden in claude.ai zur Genehmigung angezeigt. Welche Modi angezeigt werden, hängt davon ab, wo die Sitzung ausgeführt wird:

97 97 

98 * **Cloud-Sitzungen** auf [Claude Code im Web](/de/claude-code-on-the-web): Auto-Bearbeitungen akzeptieren und Planungsmodus. Berechtigungen erfragen, Auto und Berechtigungen umgehen sind nicht verfügbar.98 * **Cloud-Sitzungen** auf [Claude Code im Web](/de/claude-code-on-the-web): Bearbeitungen automatisch akzeptieren, Planungsmodus und Auto-Modus. Bearbeitungen automatisch akzeptieren entspricht dem `default`-Modus: Die Cloud-Umgebung genehmigt Dateibearbeitungen unabhängig vom Modus vorab, daher zeigt das Dropdown "Bearbeitungen automatisch akzeptieren" anstelle von "Berechtigungen erfragen" an. `defaultMode: "acceptEdits"` aus den Einstellungen wird weiterhin berücksichtigt. Auto-Modus wird nur angezeigt, wenn Ihre Organisation ihn zulässt und das ausgewählte Modell ihn unterstützt. Berechtigungen umgehen ist nicht verfügbar.

99 * **[Remote Control](/de/remote-control)-Sitzungen** auf Ihrem lokalen Computer: Berechtigungen erfragen, Auto-Bearbeitungen akzeptieren und Planungsmodus. Auto und Berechtigungen umgehen sind nicht verfügbar.99 * **[Remote Control](/de/remote-control)-Sitzungen** auf Ihrem lokalen Computer: Berechtigungen erfragen, Bearbeitungen automatisch akzeptieren und Planungsmodus. Auto und Berechtigungen umgehen sind nicht verfügbar.

100 100 

101 Für Remote Control können Sie auch den Startmodus beim Starten des Hosts festlegen:101 Für Remote Control können Sie auch den Startmodus beim Starten des Hosts festlegen:

102 102 


176 Auto-Modus erfordert Claude Code v2.1.83 oder später.176 Auto-Modus erfordert Claude Code v2.1.83 oder später.

177</Note>177</Note>

178 178 

179Auto-Modus lässt Claude ohne Berechtigungsaufforderungen ausführen. Ein separates Klassifizierer-Modell überprüft Aktionen, bevor sie ausgeführt werden, 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.179Auto-Modus lässt Claude ohne Berechtigungsaufforderungen ausführen. Ein separates Klassifizierer-Modell überprüft Aktionen, bevor sie ausgeführt werden, 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](/de/permissions#manage-permissions) erzwingen weiterhin eine Aufforderung.

180 180 

181Auto-Modus weist Claude auch an, sofort auszuführen und Klarstellungsfragen zu minimieren. Um dieses Verhalten zu erhalten und gleichzeitig Berechtigungsaufforderungen beizubehalten, stellen Sie stattdessen den [Proaktiven Ausgabestil](/de/output-styles) ein.181Auto-Modus weist Claude auch an, weiterzuarbeiten, ohne bei Klarstellungsfragen zu stoppen, obwohl Claude immer noch fragt, wenn Ihre Aufforderung oder eine Fähigkeit explizit darauf angewiesen ist. Für stärkeres autonomes Verhalten bei Beibehaltung von Berechtigungsaufforderungen stellen Sie stattdessen den [Proaktiven Ausgabestil](/de/output-styles) ein.

182 182 

183<Warning>183<Warning>

184 Auto-Modus ist eine Forschungsvorschau. Er reduziert Aufforderungen, garantiert aber keine Sicherheit. Verwenden Sie ihn für Aufgaben, bei denen Sie der allgemeinen Richtung vertrauen, nicht als Ersatz für Überprüfung bei sensiblen Operationen.184 Auto-Modus ist eine Forschungsvorschau. Er reduziert Aufforderungen, garantiert aber keine Sicherheit. Verwenden Sie ihn für Aufgaben, bei denen Sie der allgemeinen Richtung vertrauen, nicht als Ersatz für Überprüfung bei sensiblen Operationen.


193 193 

194Wenn Claude Code Auto-Modus als nicht verfügbar meldet, ist eine dieser Anforderungen nicht erfüllt; dies ist kein vorübergehender Ausfall. Eine separate Nachricht, die ein Modell benennt und sagt, Auto-Modus "kann die Sicherheit" einer Aktion nicht bestimmen, ist ein vorübergehender Klassifizierer-Ausfall; siehe die [Fehlerreferenz](/de/errors#auto-mode-cannot-determine-the-safety-of-an-action).194Wenn Claude Code Auto-Modus als nicht verfügbar meldet, ist eine dieser Anforderungen nicht erfüllt; dies ist kein vorübergehender Ausfall. Eine separate Nachricht, die ein Modell benennt und sagt, Auto-Modus "kann die Sicherheit" einer Aktion nicht bestimmen, ist ein vorübergehender Klassifizierer-Ausfall; siehe die [Fehlerreferenz](/de/errors#auto-mode-cannot-determine-the-safety-of-an-action).

195 195 

196Wenn Sie `defaultMode: "auto"` in [Einstellungen](/de/settings#available-settings) setzen und die Sitzung im `default`-Modus ohne Fehler startet, befindet sich die Einstellung wahrscheinlich in `.claude/settings.json` oder `.claude/settings.local.json`. Claude Code ignoriert `auto` aus diesen Dateien, daher kann ein Repository sich selbst nicht den Auto-Modus gewähren. Verschieben Sie es zu `~/.claude/settings.json`.196Wenn Sie `defaultMode: "auto"` in [Einstellungen](/de/settings#available-settings) setzen und die Sitzung im `default`-Modus ohne Fehler startet, befindet sich die Einstellung wahrscheinlich in `.claude/settings.json` oder `.claude/settings.local.json`. Claude Code v2.1.142 und später ignorieren `auto` aus diesen Dateien, daher kann ein Repository sich selbst nicht den Auto-Modus gewähren. Verschieben Sie es zu `~/.claude/settings.json`.

197 197 

198<h3 id="enable-auto-mode-on-bedrock-vertex-ai-or-foundry">198<h3 id="enable-auto-mode-on-bedrock-vertex-ai-or-foundry">

199 Auto-Modus auf Bedrock, Vertex AI oder Foundry aktivieren199 Auto-Modus auf Bedrock, Vertex AI oder Foundry aktivieren

200</h3>200</h3>

201 201 

202Bei [Amazon Bedrock](/de/amazon-bedrock), [Google Cloud Vertex AI](/de/google-vertex-ai) und [Microsoft Foundry](/de/microsoft-foundry) wird Auto-Modus nicht im `Shift+Tab`-Zyklus angezeigt, bis `CLAUDE_CODE_ENABLE_AUTO_MODE` auf `1` gesetzt ist. Nur Claude Opus 4.7 und Opus 4.8 werden auf diesen Anbietern unterstützt.202Bei [Amazon Bedrock](/de/amazon-bedrock), [Google Cloud Vertex AI](/de/google-vertex-ai) und [Microsoft Foundry](/de/microsoft-foundry) wird Auto-Modus nicht im `Shift+Tab`-Zyklus angezeigt, bis `CLAUDE_CODE_ENABLE_AUTO_MODE` auf `1` gesetzt ist. Die Variable funktioniert in Claude Code v2.1.158 und später. Nur Claude Opus 4.7 und Opus 4.8 werden auf diesen Anbietern unterstützt.

203 203 

204Um es für einen Entwickler zu aktivieren, fügen Sie die Variable zum `env`-Block in `~/.claude/settings.json` hinzu:204Um es für einen Entwickler zu aktivieren, fügen Sie die Variable zum `env`-Block in `~/.claude/settings.json` hinzu:

205 205 


293 1. Bevor ein Subagent startet, wird die delegierte Aufgabenbeschreibung bewertet, daher wird eine gefährlich aussehende Aufgabe beim Erzeugen blockiert.293 1. Bevor ein Subagent startet, wird die delegierte Aufgabenbeschreibung bewertet, daher wird eine gefährlich aussehende Aufgabe beim Erzeugen blockiert.

294 2. Während der Subagent läuft, durchläuft jede seiner Aktionen den Klassifizierer mit den gleichen Regeln wie die übergeordnete Sitzung, und jeder `permissionMode` im Frontmatter des Subagenten wird ignoriert.294 2. Während der Subagent läuft, durchläuft jede seiner Aktionen den Klassifizierer mit den gleichen Regeln wie die übergeordnete Sitzung, und jeder `permissionMode` im Frontmatter des Subagenten wird ignoriert.

295 3. Wenn der Subagent fertig ist, überprüft der Klassifizierer seine vollständige Aktionshistorie; wenn diese Rückgabeprüfung ein Problem kennzeichnet, wird eine Sicherheitswarnung den Ergebnissen des Subagenten vorangestellt.295 3. Wenn der Subagent fertig ist, überprüft der Klassifizierer seine vollständige Aktionshistorie; wenn diese Rückgabeprüfung ein Problem kennzeichnet, wird eine Sicherheitswarnung den Ergebnissen des Subagenten vorangestellt.

296 

297 Schritt 1 erfordert Claude Code v2.1.178 oder später. Frühere Versionen wendeten den Klassifizierer in den Schritten 2 und 3 an, bewerteten aber die Aufgabenbeschreibung nicht, bevor der Subagent gestartet wurde.

296 </Accordion>298 </Accordion>

297 299 

298 <Accordion title="Kosten und Latenz">300 <Accordion title="Kosten und Latenz">


304 Nur vorab genehmigte Tools mit dontAsk-Modus zulassen306 Nur vorab genehmigte Tools mit dontAsk-Modus zulassen

305</h2>307</h2>

306 308 

307Der `dontAsk`-Modus lehnt automatisch jeden Tool-Aufruf ab, der sonst auffordern würde. Nur Aktionen, die Ihren `permissions.allow`-Regeln und [schreibgeschützten Bash-Befehlen](/de/permissions#read-only-commands) entsprechen, können ausgeführt werden; explizite `ask`-Regeln werden abgelehnt, anstatt aufzufordern. Dies macht den Modus vollständig nicht-interaktiv für CI-Pipelines oder eingeschränkte Umgebungen, in denen Sie genau vordefinieren, was Claude tun darf.309Der `dontAsk`-Modus lehnt automatisch jeden Tool-Aufruf ab, der sonst auffordern würde. Nur Aktionen, die Ihren `permissions.allow`-Regeln und [schreibgeschützten Bash-Befehlen](/de/permissions#read-only-commands) entsprechen, können ausgeführt werden; explizite [`ask`-Regeln](/de/permissions#manage-permissions) werden abgelehnt, anstatt aufzufordern. Dies macht den Modus vollständig nicht-interaktiv für CI-Pipelines oder eingeschränkte Umgebungen, in denen Sie genau vordefinieren, was Claude tun darf. Cloud-Sitzungen auf [Claude Code im Web](/de/claude-code-on-the-web) ignorieren `defaultMode: "dontAsk"`; siehe [bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) für Details.

308 310 

309Legen Sie ihn beim Start mit dem Flag fest:311Legen Sie ihn beim Start mit dem Flag fest:

310 312 


316 Alle Prüfungen mit bypassPermissions-Modus überspringen318 Alle Prüfungen mit bypassPermissions-Modus überspringen

317</h2>319</h2>

318 320 

319Der `bypassPermissions`-Modus deaktiviert Berechtigungsaufforderungen und Sicherheitsprüfungen, damit Tool-Aufrufe sofort ausgeführt werden. Ab v2.1.126 umfasst dies auch Schreibvorgänge zu [geschützten Pfaden](#protected-paths), die frühere Versionen noch aufforderten. Löschvorgänge, die auf das Dateisystem-Root oder das Home-Verzeichnis abzielen, wie `rm -rf /` und `rm -rf ~`, fordern weiterhin auf als Schutzschalter gegen Modellfehler. Verwenden Sie diesen Modus nur in isolierten Umgebungen wie Containern, VMs oder Dev Containern ohne Internetzugang, wo Claude Code Ihr Host-System nicht beschädigen kann.321Der `bypassPermissions`-Modus deaktiviert Berechtigungsaufforderungen und Sicherheitsprüfungen, damit Tool-Aufrufe sofort ausgeführt werden. Ab v2.1.126 umfasst dies auch Schreibvorgänge zu [geschützten Pfaden](#protected-paths), die frühere Versionen noch aufforderten. Explizite [Ask-Regeln](/de/permissions#manage-permissions) erzwingen weiterhin eine Aufforderung in diesem Modus, und Löschvorgänge, die auf das Dateisystem-Root oder das Home-Verzeichnis abzielen, wie `rm -rf /` und `rm -rf ~`, fordern weiterhin auf als Schutzschalter gegen Modellfehler. Verwenden Sie diesen Modus nur in isolierten Umgebungen wie Containern, VMs oder Dev Containern ohne Internetzugang, wo Claude Code Ihr Host-System nicht beschädigen kann.

320 322 

321Sie können nicht in `bypassPermissions` aus einer Sitzung eintreten, die ohne eines der aktivierenden Flags gestartet wurde; starten Sie neu mit einem, um es zu aktivieren:323Sie können nicht in `bypassPermissions` aus einer Sitzung eintreten, die ohne eines der aktivierenden Flags gestartet wurde; starten Sie neu mit einem, um es zu aktivieren:

322 324 


334 336 

335Die Prüfung wird automatisch in einer erkannten Sandbox übersprungen. Um autonom in einem Container zu laufen, verwenden Sie die [Dev-Container](/de/devcontainer)-Konfiguration, die Claude Code als Nicht-Root-Benutzer ausführt.337Die Prüfung wird automatisch in einer erkannten Sandbox übersprungen. Um autonom in einem Container zu laufen, verwenden Sie die [Dev-Container](/de/devcontainer)-Konfiguration, die Claude Code als Nicht-Root-Benutzer ausführt.

336 338 

339[Claude Code im Web](/de/claude-code-on-the-web) berücksichtigt `defaultMode: "bypassPermissions"` oder `"dontAsk"` aus Ihren Einstellungsdateien nicht, daher können die eingecheckten Einstellungen eines Repositorys keine Cloud-Sitzung im Bypass-Permissions-Modus starten. Die Einstellung wird stillschweigend ignoriert und die Sitzung startet im Modus, der in der Modus-Dropdown angezeigt wird. Siehe [Berechtigungsmodi wechseln](#switch-permission-modes) für die Modi, die Cloud-Sitzungen anbieten.

340 

337<Warning>341<Warning>

338 `bypassPermissions` bietet keinen Schutz vor Prompt-Injection oder unbeabsichtigten Aktionen. Verwenden Sie für Hintergrund-Sicherheitsprüfungen ohne Aufforderungen stattdessen [Auto-Modus](#eliminate-prompts-with-auto-mode). Administratoren können diesen Modus blockieren, indem sie `permissions.disableBypassPermissionsMode` auf `"disable"` in [verwalteten Einstellungen](/de/permissions#managed-settings) setzen.342 `bypassPermissions` bietet keinen Schutz vor Prompt-Injection oder unbeabsichtigten Aktionen. Verwenden Sie für Hintergrund-Sicherheitsprüfungen mit deutlich weniger Aufforderungen stattdessen [Auto-Modus](#eliminate-prompts-with-auto-mode). Administratoren können diesen Modus blockieren, indem sie `permissions.disableBypassPermissionsMode` auf `"disable"` in [verwalteten Einstellungen](/de/permissions#managed-settings) setzen.

339</Warning>343</Warning>

340 344 

341<h2 id="protected-paths">345<h2 id="protected-paths">


351| `dontAsk` | Abgelehnt |355| `dontAsk` | Abgelehnt |

352| `bypassPermissions` | Erlaubt |356| `bypassPermissions` | Erlaubt |

353 357 

358[`permissions.allow`](/de/permissions#manage-permissions) Regeln in Einstellungsdateien genehmigen Schreibvorgänge zu geschützten Pfaden nicht vorab. Die Sicherheitsprüfung wird ausgeführt, bevor Claude Code die Allow-Regeln aus den Einstellungen auswertet, daher ändert ein Eintrag wie `Edit(.claude/**)` in `~/.claude/settings.json` oder `.claude/settings.json` das Ergebnis pro Modus in der obigen Tabelle nicht. In Modi, die abfragen, bietet die Aufforderung für einen `.claude/`-Schreibvorgang **Ja, und Claude erlauben, seine eigenen Einstellungen für diese Sitzung zu bearbeiten**, was spätere `.claude/`-Schreibvorgänge in dieser Sitzung ohne erneute Aufforderung genehmigt.

359 

354Geschützte Verzeichnisse:360Geschützte Verzeichnisse:

355 361 

356* `.git`362* `.git`


362* `.devcontainer`368* `.devcontainer`

363* `.yarn`369* `.yarn`

364* `.mvn`370* `.mvn`

365* `.claude`, außer für `.claude/commands`, `.claude/agents`, `.claude/skills` und `.claude/worktrees`, wo Claude routinemäßig Inhalte erstellt371* `.claude`, außer für `.claude/worktrees`, wo Claude seine eigenen Git-Worktrees speichert

366 372 

367Geschützte Dateien:373Geschützte Dateien:

368 374 

permissions.md +79 −7

Details

30* **Ask**-Regeln fordern eine Bestätigung auf, wenn Claude Code versucht, das angegebene Werkzeug zu verwenden.30* **Ask**-Regeln fordern eine Bestätigung auf, wenn Claude Code versucht, das angegebene Werkzeug zu verwenden.

31* **Deny**-Regeln verhindern, dass Claude Code das angegebene Werkzeug verwendet.31* **Deny**-Regeln verhindern, dass Claude Code das angegebene Werkzeug verwendet.

32 32 

33Regeln werden in dieser Reihenfolge ausgewertet: **deny -> ask -> allow**. Die erste übereinstimmende Regel gewinnt, daher haben Deny-Regeln immer Vorrang.33Regeln werden in dieser Reihenfolge ausgewertet: deny, dann ask, dann allow. Die erste Übereinstimmung in dieser Reihenfolge bestimmt das Ergebnis, und die Regelspezifität ändert die Reihenfolge nicht. Eine breite deny-Regel wie `Bash(aws *)` blockiert jeden übereinstimmenden Aufruf, einschließlich Aufrufen, die auch einer engeren allow-Regel wie `Bash(aws s3 ls)` entsprechen, daher kann eine deny-Regel keine Allowlist-Ausnahmen enthalten. Die gleiche Priorität gilt zwischen ask und allow: eine übereinstimmende ask-Regel fordert eine Bestätigung auf, auch wenn eine spezifischere allow-Regel denselben Aufruf ebenfalls erfüllt.

34 34 

35Deny-Regeln verhalten sich unterschiedlich, je nachdem, ob sie ein Werkzeug benennen oder ein Muster darin eingrenzen. Ein einfacher Werkzeugname wie `Bash` entfernt das Werkzeug vollständig aus Claudes Kontext, sodass Claude es nie sieht. Eine eingegrenzte Regel wie `Bash(rm *)` lässt das Werkzeug verfügbar und blockiert übereinstimmende Aufrufe, wenn Claude sie versucht.35Deny-Regeln verhalten sich unterschiedlich, je nachdem, ob sie ein Werkzeug benennen oder ein Muster darin eingrenzen. Ein einfacher Werkzeugname wie `Bash` entfernt das Werkzeug vollständig aus Claudes Kontext, sodass Claude es nie sieht. Eine eingegrenzte Regel wie `Bash(rm *)` lässt das Werkzeug verfügbar und blockiert übereinstimmende Aufrufe, wenn Claude sie versucht.

36 36 


45Claude Code unterstützt mehrere Berechtigungsmodi, die steuern, wie Werkzeuge genehmigt werden. Siehe [Berechtigungsmodi](/de/permission-modes) für den Zeitpunkt der Verwendung jedes Modus. Legen Sie den `defaultMode` in Ihren [Einstellungsdateien](/de/settings#settings-files) fest:45Claude Code unterstützt mehrere Berechtigungsmodi, die steuern, wie Werkzeuge genehmigt werden. Siehe [Berechtigungsmodi](/de/permission-modes) für den Zeitpunkt der Verwendung jedes Modus. Legen Sie den `defaultMode` in Ihren [Einstellungsdateien](/de/settings#settings-files) fest:

46 46 

47| Modus | Beschreibung |47| Modus | Beschreibung |

48| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |48| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

49| `default` | Standardverhalten: fordert Genehmigung bei der ersten Verwendung jedes Werkzeugs auf |49| `default` | Standardverhalten: fordert Genehmigung bei der ersten Verwendung jedes Werkzeugs auf |

50| `acceptEdits` | Akzeptiert automatisch Dateiberechtigungen und häufige Dateisystem-Befehle (`mkdir`, `touch`, `mv`, `cp` usw.) für Pfade im Arbeitsverzeichnis oder `additionalDirectories` |50| `acceptEdits` | Akzeptiert automatisch Dateiberechtigungen und häufige Dateisystem-Befehle (`mkdir`, `touch`, `mv`, `cp` usw.) für Pfade im Arbeitsverzeichnis oder `additionalDirectories` |

51| `plan` | Plan Mode: Claude liest Dateien und führt schreibgeschützte Shell-Befehle aus, um zu erkunden, bearbeitet aber nicht Ihre Quelldateien |51| `plan` | Plan Mode: Claude liest Dateien und führt schreibgeschützte Shell-Befehle aus, um zu erkunden, bearbeitet aber nicht Ihre Quelldateien |

52| `auto` | Genehmigt Werkzeugaufrufe automatisch mit Hintergrund-Sicherheitsprüfungen, die überprüfen, ob Aktionen mit Ihrer Anfrage übereinstimmen. Derzeit eine Forschungsvorschau |52| `auto` | Genehmigt Werkzeugaufrufe automatisch mit Hintergrund-Sicherheitsprüfungen, die überprüfen, ob Aktionen mit Ihrer Anfrage übereinstimmen. Derzeit eine Forschungsvorschau |

53| `dontAsk` | Verweigert Werkzeuge automatisch, es sei denn, sie sind vorab über `/permissions` oder `permissions.allow`-Regeln genehmigt |53| `dontAsk` | Verweigert Werkzeuge automatisch, es sei denn, sie sind vorab über `/permissions` oder `permissions.allow`-Regeln genehmigt |

54| `bypassPermissions` | Überspringt alle Berechtigungsaufforderungen. Entfernungen von Dateisystem-Root oder Home-Verzeichnis wie `rm -rf /` und `rm -rf ~` fordern weiterhin auf als Schutzschalter gegen Modellfehler |54| `bypassPermissions` | Überspringt Berechtigungsaufforderungen, außer denen, die durch explizite `ask`-Regeln erzwungen werden. Entfernungen von Dateisystem-Root oder Home-Verzeichnis wie `rm -rf /` und `rm -rf ~` fordern weiterhin auf als Schutzschalter gegen Modellfehler |

55 55 

56<Warning>56<Warning>

57 Der Modus `bypassPermissions` überspringt alle Berechtigungsaufforderungen, einschließlich Schreibvorgänge in `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` und `.mvn`. Entfernungen, die auf das Dateisystem-Root oder Home-Verzeichnis abzielen, wie `rm -rf /` und `rm -rf ~`, fordern weiterhin auf als Schutzschalter gegen Modellfehler. Verwenden Sie diesen Modus nur in isolierten Umgebungen wie Containern oder VMs, in denen Claude Code keinen Schaden anrichten kann. Administratoren können diesen Modus verhindern, indem sie `permissions.disableBypassPermissionsMode` in [verwalteten Einstellungen](#managed-settings) auf `"disable"` setzen.57 Der Modus `bypassPermissions` überspringt Berechtigungsaufforderungen, einschließlich Schreibvorgänge in `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` und `.mvn`. Explizite `ask`-Regeln erzwingen weiterhin eine Aufforderung, und Entfernungen, die auf das Dateisystem-Root oder Home-Verzeichnis abzielen, wie `rm -rf /` und `rm -rf ~`, fordern weiterhin auf als Schutzschalter gegen Modellfehler. Verwenden Sie diesen Modus nur in isolierten Umgebungen wie Containern oder VMs, in denen Claude Code keinen Schaden anrichten kann. Administratoren können diesen Modus verhindern, indem sie `permissions.disableBypassPermissionsMode` in [verwalteten Einstellungen](#managed-settings) auf `"disable"` setzen.

58</Warning>58</Warning>

59 59 

60Um zu verhindern, dass der Modus `bypassPermissions` oder `auto` verwendet wird, setzen Sie `permissions.disableBypassPermissionsMode` oder `permissions.disableAutoMode` in einer beliebigen [Einstellungsdatei](/de/settings#settings-files) auf `"disable"`. Diese sind am nützlichsten in [verwalteten Einstellungen](#managed-settings), wo sie nicht überschrieben werden können.60Um zu verhindern, dass der Modus `bypassPermissions` oder `auto` verwendet wird, setzen Sie `permissions.disableBypassPermissionsMode` oder `permissions.disableAutoMode` in einer beliebigen [Einstellungsdatei](/de/settings#settings-files) auf `"disable"`. Diese sind am nützlichsten in [verwalteten Einstellungen](#managed-settings), wo sie nicht überschrieben werden können.


91| `Read(./.env)` | Gleicht das Lesen der `.env`-Datei im aktuellen Verzeichnis ab |91| `Read(./.env)` | Gleicht das Lesen der `.env`-Datei im aktuellen Verzeichnis ab |

92| `WebFetch(domain:example.com)` | Gleicht Fetch-Anfragen an example.com ab |92| `WebFetch(domain:example.com)` | Gleicht Fetch-Anfragen an example.com ab |

93 93 

94<h3 id="match-by-input-parameter">

95 Abgleich nach Eingabeparameter

96</h3>

97 

98Ablehnungs- und Anfrage-Regeln können einen Eingabeparameter auf oberster Ebene auf jedem Werkzeug mit `Tool(param:value)` abgleichen. Die Regel passt, wenn Claude das Werkzeug mit diesem Parameter aufruft, der auf diesen genauen Wert gesetzt ist. Diese Syntax ist für Ablehnungs- und Anfrage-Regeln; eine Zulassungsregel für einen Parameterwert würde nicht feststellen, dass der Aufruf insgesamt sicher ist, daher verwenden Zulassungsregeln weiterhin die eigene Spezifizierer-Syntax jedes Werkzeugs. Dies funktioniert für jeden Skalarparameter, den das Werkzeug akzeptiert:

99 

100| Regel | Passt |

101| :----------------------------- | :------------------------------------------------- |

102| `Agent(model:opus)` | Agent-Aufrufe, die das Opus-Modell-Tier anfordern |

103| `Agent(isolation:worktree)` | Agent-Aufrufe, die ein Git-Worktree anfordern |

104| `Bash(run_in_background:true)` | Bash-Aufrufe, die im Hintergrund ausgeführt werden |

105 

106Der Parameterabgleich folgt diesen Regeln:

107 

108* Der Parametername muss ein direktes Feld der Werkzeugeingabe sein, wie `model` auf dem Agent-Werkzeug. Felder, die in einem Objekt oder Array verschachtelt sind, können nicht abgeglichen werden

109* Jede Regel benennt einen Parameter. Um sowohl `model` als auch `isolation` zu steuern, schreiben Sie zwei Regeln, `Agent(model:opus)` und `Agent(isolation:worktree)`, anstatt sie in einer Regel zu kombinieren

110* Der Wert unterstützt `*` als Platzhalter, der jede Zeichenfolge abgleicht, daher gleicht `Agent(isolation:*)` jeden expliziten Isolationswert ab. Ohne `*` ist der Abgleich exakt

111* Ein Parameter, den das Modell auslässt, wird nie abgeglichen, daher gleicht `Agent(model:*)` einen Aufruf nicht ab, der `model` nicht gesetzt lässt

112* Der Wert wird mit der literalen Eingabe verglichen, die Claude sendet, bevor eine Normalisierung erfolgt. `Agent(model:opus)` gleicht den Alias `opus` ab, aber nicht eine vollständige Modell-ID. Führen Sie mit [`--verbose`](/de/cli-reference) aus, um die genauen Parameternamen und Werte in jedem Werkzeugaufruf zu sehen

113* Leerzeichen um den Doppelpunkt werden ignoriert

114 

115Felder, die ein Werkzeug bereits mit seinen eigenen kanonisierenden Regeln abgleicht, können auf diese Weise nicht abgeglichen werden: `command` für Bash und PowerShell, `file_path` für Read, Edit und Write, `path` für Grep und Glob, `notebook_path` für NotebookEdit und `url` für WebFetch. Eine Regel wie `Bash(command:rm *)` könnte durch einen zusammengesetzten Befehl umgangen werden, daher ignoriert Claude Code sie und gibt eine Startwarnmeldung aus. Verwenden Sie stattdessen `Bash(rm *)`, `Read(./path)` oder `WebFetch(domain:host)`.

116 

94<h3 id="wildcard-patterns">117<h3 id="wildcard-patterns">

95 Wildcard-Muster118 Wildcard-Muster

96</h3>119</h3>


118 141 

119Der Berechtigungsdialog schreibt die durch Leerzeichen getrennte Form, wenn Sie „Ja, nicht mehr fragen" für ein Befehlspräfix auswählen. Die Form `:*` wird nur am Ende eines Musters erkannt. In einem Muster wie `Bash(git:* push)` wird der Doppelpunkt als Literalzeichen behandelt und passt nicht zu git-Befehlen.142Der Berechtigungsdialog schreibt die durch Leerzeichen getrennte Form, wenn Sie „Ja, nicht mehr fragen" für ein Befehlspräfix auswählen. Die Form `:*` wird nur am Ende eines Musters erkannt. In einem Muster wie `Bash(git:* push)` wird der Doppelpunkt als Literalzeichen behandelt und passt nicht zu git-Befehlen.

120 143 

144<h3 id="tool-name-wildcards">

145 Werkzeugnamen-Wildcards

146</h3>

147 

148Ablehnungs- und Anfrage-Regeln akzeptieren auch Glob-Muster in der Werkzeugnamen-Position. Das Muster muss dem vollständigen Werkzeugnamen entsprechen: `"*"` gleicht jedes Werkzeug ab, und `"mcp__*"` gleicht jedes MCP-Werkzeug über alle Server hinweg ab. Ein Werkzeug, das durch eine Ablehnungsregel mit bloßem Namen abgeglichen wird, wird aus Claudes Kontext entfernt, genauso wie ein bloßer Werkzeugname. Diese Konfiguration lehnt jedes MCP-Werkzeug ab:

149 

150```json theme={null}

151{

152 "permissions": {

153 "deny": [

154 "mcp__*"

155 ]

156 }

157}

158```

159 

160Zulassungsregeln 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.

161 

162Eine 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.

163 

164Das 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](/de/hooks) gleichen nur den kanonischen Namen 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](/de/tools-reference) aufgelistet sind.

165 

121<h2 id="tool-specific-permission-rules">166<h2 id="tool-specific-permission-rules">

122 Werkzeugspezifische Berechtigungsregeln167 Werkzeugspezifische Berechtigungsregeln

123</h2>168</h2>


266 WebFetch311 WebFetch

267</h3>312</h3>

268 313 

269* `WebFetch(domain:example.com)` gleicht Fetch-Anfragen an example.com ab314WebFetch-Regeln verwenden ein `domain:`-Präfix und gleichen gegen den Hostnamen der angeforderten URL ab. Der Abgleich ist case-insensitiv, unterstützt `*`-Platzhalter und entfernt einen nachgestellten `.` sowohl aus der Regel als auch aus dem Hostnamen, daher werden `example.com.` und `example.com` gleich behandelt.

315 

316* `WebFetch(domain:example.com)` gleicht Anfragen an `example.com` ab

317* `WebFetch(domain:*.example.com)` gleicht jede Subdomain in jeder Tiefe ab, wie `api.example.com` oder `a.b.example.com`, aber nicht `example.com` selbst

318* `WebFetch(domain:*)` gleicht jede Domain ab und ist gleichwertig mit einer bloßen `WebFetch`-Regel

319 

320An jeder Position außer einem führenden `*.` oder einem bloßen `*` gleicht der Platzhalter nur den Text zwischen zwei Punkten ab. `WebFetch(domain:example.*)` gleicht `example.org` ab, wobei `*` zu `org` wird, aber nicht `example.evil.com`, wobei `*` zu `evil.com` werden müsste und einen Punkt überschreiten würde. Dies verhindert, dass ein nachgestellter Platzhalter Domänen abgleicht, die ein Angreifer registrieren könnte.

270 321 

271<h3 id="mcp">322<h3 id="mcp">

272 MCP323 MCP


296}347}

297```348```

298 349 

350<h3 id="cd">

351 Cd

352</h3>

353 

354`Cd`-Regeln steuern, in welche Verzeichnisse der [`/cd`-Befehl](/de/commands) die Sitzung verschieben kann. `Cd` ist kein vom Modell aufzurufendes Werkzeug: Claude kann es nicht aufrufen, und die Regeln gelten nur, wenn Sie `/cd` selbst ausführen.

355 

356Eine bloße `Cd`-Deny-Regel deaktiviert `/cd` vollständig. Eine `Cd(<path-pattern>)`-Deny-Regel blockiert übereinstimmende Ziele. Deny-Regeln überprüfen jede Schreibweise des Ziels, einschließlich jedes Symlink-Hops, durch den es sich auflöst, daher blockiert eine Regel, die für einen Pfad geschrieben wurde, auch Ziele, die sich darin auflösen.

357 

358Das Hinzufügen einer `Cd`-Allow-Regel schaltet `/cd` in den Allowlist-Modus: Das aufgelöste Zielverzeichnis muss einer Ihrer Allow-Regeln entsprechen, oder `/cd` weigert sich. Ohne konfigurierte `Cd`-Regeln behält `/cd` sein Standardverhalten bei und fordert Sie auf, einem unbekannten Verzeichnis zu vertrauen.

359 

360Pfadmuster teilen die `//`, `~/` und `/` Anker von [Read- und Edit-Regeln](#read-and-edit), aber der Abgleich ist am gesamten Verzeichnispfad verankert, nicht im gitignore-Stil. `*` gleicht genau ein Pfadsegment ab und `**` gleicht über Segmente hinweg ab. Ein nachgestelltes `/**` gleicht auch seinen benannten Root ab.

361 

362| Regel | Gleicht ab | Gleicht nicht ab |

363| --------------------- | ----------------------------------------------- | ------------------------------------ |

364| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`, `~/code` |

365| `Cd(~/code/**)` | `~/code` und jedes Verzeichnis darunter | Verzeichnisse außerhalb von `~/code` |

366| `Cd(**/node_modules)` | jedes `node_modules`-Verzeichnis in jeder Tiefe | `node_modules/pkg` |

367 

299<h2 id="extend-permissions-with-hooks">368<h2 id="extend-permissions-with-hooks">

300 Berechtigungen mit Hooks erweitern369 Berechtigungen mit Hooks erweitern

301</h2>370</h2>


318 387 

319Dateien in zusätzlichen Verzeichnissen folgen den gleichen Berechtigungsregeln wie das ursprüngliche Arbeitsverzeichnis: Sie werden lesbar ohne Aufforderungen, und Dateiberechtigungen folgen dem aktuellen Berechtigungsmodus.388Dateien in zusätzlichen Verzeichnissen folgen den gleichen Berechtigungsregeln wie das ursprüngliche Arbeitsverzeichnis: Sie werden lesbar ohne Aufforderungen, und Dateiberechtigungen folgen dem aktuellen Berechtigungsmodus.

320 389 

390Um das primäre Arbeitsverzeichnis der Sitzung zu ändern, anstatt ein weiteres hinzuzufügen, verwenden Sie [`/cd`](/de/commands). Der Befehl `/cd` erfordert Claude Code v2.1.169 oder später. Im Gegensatz zu `/add-dir` verlagert er die Sitzung: Die `CLAUDE.md` des neuen Verzeichnisses wird geladen und `--resume` findet die Sitzung von dort aus.

391 

321<h3 id="additional-directories-grant-file-access-not-configuration">392<h3 id="additional-directories-grant-file-access-not-configuration">

322 Zusätzliche Verzeichnisse gewähren Dateizugriff, keine Konfiguration393 Zusätzliche Verzeichnisse gewähren Dateizugriff, keine Konfiguration

323</h3>394</h3>


331| Konfiguration | Geladen aus `--add-dir` |402| Konfiguration | Geladen aus `--add-dir` |

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

333| [Skills](/de/skills) in `.claude/skills/` | Ja, mit Live-Reload |404| [Skills](/de/skills) in `.claude/skills/` | Ja, mit Live-Reload |

405| [Subagents](/de/sub-agents) in `.claude/agents/` | Ja |

334| Plugin-Einstellungen in `.claude/settings.json` | Nur `enabledPlugins` und `extraKnownMarketplaces` |406| Plugin-Einstellungen in `.claude/settings.json` | Nur `enabledPlugins` und `extraKnownMarketplaces` |

335| [CLAUDE.md](/de/memory)-Dateien, `.claude/rules/` und `CLAUDE.local.md` | Nur wenn `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1` gesetzt ist. `CLAUDE.local.md` erfordert zusätzlich die `local`-Einstellungsquelle, die standardmäßig aktiviert ist |407| [CLAUDE.md](/de/memory)-Dateien, `.claude/rules/` und `CLAUDE.local.md` | Nur wenn `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1` gesetzt ist. `CLAUDE.local.md` erfordert zusätzlich die `local`-Einstellungsquelle, die standardmäßig aktiviert ist |

336 408 

337Subagents, Befehle und Ausgabestile werden aus dem aktuellen Arbeitsverzeichnis und seinen übergeordneten Verzeichnissen, Ihrem Benutzerverzeichnis unter `~/.claude/` und verwalteten Einstellungen erkannt. Hooks und andere `settings.json`-Schlüssel werden aus dem `.claude/`-Ordner des aktuellen Arbeitsverzeichnisses ohne Fallback für übergeordnete Verzeichnisse geladen, zusammen mit Ihren Benutzer-`~/.claude/settings.json` und verwalteten Einstellungen. Um diese Konfiguration über Projekte hinweg zu teilen, verwenden Sie einen dieser Ansätze:409Befehle und Ausgabestile werden aus dem aktuellen Arbeitsverzeichnis und seinen übergeordneten Verzeichnissen, Ihrem Benutzerverzeichnis unter `~/.claude/` und verwalteten Einstellungen erkannt. Hooks und andere `settings.json`-Schlüssel werden aus dem `.claude/`-Ordner des aktuellen Arbeitsverzeichnisses ohne Fallback für übergeordnete Verzeichnisse geladen, zusammen mit Ihren Benutzer-`~/.claude/settings.json` und verwalteten Einstellungen. Um diese Konfiguration über Projekte hinweg zu teilen, verwenden Sie einen dieser Ansätze:

338 410 

339* **Benutzergesteuerte Konfiguration**: Platzieren Sie Dateien in `~/.claude/agents/`, `~/.claude/output-styles/` oder `~/.claude/settings.json`, um sie in jedem Projekt verfügbar zu machen411* **Benutzergesteuerte Konfiguration**: Platzieren Sie Dateien in `~/.claude/agents/`, `~/.claude/output-styles/` oder `~/.claude/settings.json`, um sie in jedem Projekt verfügbar zu machen

340* **Plugins**: Verpacken und verteilen Sie Konfiguration als [Plugin](/de/plugins), das Teams installieren können412* **Plugins**: Verpacken und verteilen Sie Konfiguration als [Plugin](/de/plugins), das Teams installieren können


356* Dateisystem-Einschränkungen in der Sandbox kombinieren die [`sandbox.filesystem`](/de/sandboxing)-Einstellungen mit Read- und Edit-Deny-Regeln; beide werden in die endgültige Sandbox-Grenze zusammengeführt428* Dateisystem-Einschränkungen in der Sandbox kombinieren die [`sandbox.filesystem`](/de/sandboxing)-Einstellungen mit Read- und Edit-Deny-Regeln; beide werden in die endgültige Sandbox-Grenze zusammengeführt

357* Netzwerk-Einschränkungen kombinieren WebFetch-Berechtigungsregeln mit den `allowedDomains`- und `deniedDomains`-Listen der Sandbox429* Netzwerk-Einschränkungen kombinieren WebFetch-Berechtigungsregeln mit den `allowedDomains`- und `deniedDomains`-Listen der Sandbox

358 430 

359Wenn Sandboxing mit `autoAllowBashIfSandboxed: true` aktiviert ist, was die Standardeinstellung ist, laufen sandboxed Bash-Befehle ohne Aufforderung, selbst wenn Ihre Berechtigungen `ask: Bash(*)` enthalten. Die Sandbox-Grenze ersetzt die Pro-Befehl-Aufforderung. Explizite Deny-Regeln gelten weiterhin, und `rm`- oder `rmdir`-Befehle, die auf `/`, Ihr Home-Verzeichnis oder andere kritische Systempfade abzielen, lösen weiterhin eine Aufforderung aus. Siehe [Sandbox-Modi](/de/sandboxing#sandbox-modes), um dieses Verhalten zu ändern.431Wenn Sandboxing mit `autoAllowBashIfSandboxed: true` aktiviert ist, was die Standardeinstellung ist, laufen sandboxed Bash-Befehle ohne Aufforderung, selbst wenn Ihre Berechtigungen eine einfache `Bash` Ask-Regel oder die [äquivalente `Bash(*)` Form](#match-all-uses-of-a-tool) enthalten: die Sandbox-Grenze ersetzt diese Ganz-Werkzeug-Aufforderung. Inhaltsgebundene Ask-Regeln wie `Bash(git push *)` erzwingen weiterhin eine Aufforderung, explizite Deny-Regeln gelten weiterhin, und `rm`- oder `rmdir`-Befehle, die auf `/`, Ihr Home-Verzeichnis oder andere kritische Systempfade abzielen, lösen weiterhin eine Aufforderung aus. Befehle, die nicht sandboxed ausgeführt werden können, wie ausgeschlossene Befehle, respektieren die einfache `Bash` Ask-Regel wie gewöhnlich. Siehe [Sandbox-Modi](/de/sandboxing#sandbox-modes), um dieses Verhalten zu ändern.

360 432 

361<h2 id="managed-settings">433<h2 id="managed-settings">

362 Verwaltete Einstellungen434 Verwaltete Einstellungen

platforms.md +1 −1

Details

23| [Web](/de/claude-code-on-the-web) | Langfristige Aufgaben, die nicht viel Steuerung benötigen, oder Arbeiten, die offline fortgesetzt werden sollen | Von Anthropic verwaltete Cloud, wird nach dem Trennen fortgesetzt |23| [Web](/de/claude-code-on-the-web) | Langfristige Aufgaben, die nicht viel Steuerung benötigen, oder Arbeiten, die offline fortgesetzt werden sollen | Von Anthropic verwaltete Cloud, wird nach dem Trennen fortgesetzt |

24| Mobile | Starten und Überwachen von Aufgaben, wenn Sie weg von Ihrem Computer sind | Cloud-Sitzungen aus der Claude-App für iOS und Android, [Remote Control](/de/remote-control) für lokale Sitzungen, [Dispatch](/de/desktop#sessions-from-dispatch) zu Desktop auf Pro und Max |24| Mobile | Starten und Überwachen von Aufgaben, wenn Sie weg von Ihrem Computer sind | Cloud-Sitzungen aus der Claude-App für iOS und Android, [Remote Control](/de/remote-control) für lokale Sitzungen, [Dispatch](/de/desktop#sessions-from-dispatch) zu Desktop auf Pro und Max |

25 25 

26Die CLI ist die vollständigste Oberfläche für Terminal-native Arbeiten: Scripting und das Agent SDK sind nur in der CLI verfügbar. Drittanbieter-Provider funktionieren auch in [VS Code](/de/vs-code#use-third-party-providers). Enterprise-[Desktop](/de/desktop)-Bereitstellungen unterstützen Vertex AI und Gateway-Provider; für Bedrock oder Foundry verwenden Sie stattdessen die CLI oder VS Code anstelle von Desktop. Desktop und die IDE-Erweiterungen verzichten auf einige CLI-exklusive Funktionen zugunsten visueller Überprüfung und engerer Editor-Integration. Das Web läuft in Anthropics Cloud, sodass Aufgaben nach dem Trennen weitergehen. Mobile ist ein einfacher Client für diese gleichen Cloud-Sitzungen oder für eine lokale Sitzung über Remote Control und kann Aufgaben mit Dispatch zu Desktop senden.26Die CLI ist die vollständigste Oberfläche für Terminal-native Arbeiten: Scripting und das Agent SDK sind nur in der CLI verfügbar. Drittanbieter-Provider funktionieren auch in [VS Code](/de/vs-code#use-third-party-providers). Enterprise-[Desktop](/de/desktop)-Bereitstellungen unterstützen Vertex AI und Gateway-Provider; für Bedrock oder Foundry verwenden Sie die CLI oder VS Code oder die [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/overview), die die Code-Registerkarte auf diesen Providern ausführt. Desktop und die IDE-Erweiterungen verzichten auf einige CLI-exklusive Funktionen zugunsten visueller Überprüfung und engerer Editor-Integration. Das Web läuft in Anthropics Cloud, sodass Aufgaben nach dem Trennen weitergehen. Mobile ist ein einfacher Client für diese gleichen Cloud-Sitzungen oder für eine lokale Sitzung über Remote Control und kann Aufgaben mit Dispatch zu Desktop senden.

27 27 

28Sie können mehrere Oberflächen im gleichen Projekt verwenden. Konfiguration, Projektgedächtnis und MCP-Server werden über die lokalen Oberflächen hinweg gemeinsam genutzt.28Sie können mehrere Oberflächen im gleichen Projekt verwenden. Konfiguration, Projektgedächtnis und MCP-Server werden über die lokalen Oberflächen hinweg gemeinsam genutzt.

29 29 

plugin-hints.md +7 −4

Details

16 Funktionsweise16 Funktionsweise

17</h2>17</h2>

18 18 

19Claude Code setzt die [`CLAUDECODE`](/de/env-vars) Umgebungsvariable auf `1` für jeden Befehl, den es über die Bash- und PowerShell-Tools ausführt, und für [hook](/de/hooks)-Befehle. Wenn Ihre CLI diese Variable sieht, schreibt sie ein selbstschließendes `<claude-code-hint />`-Tag auf stderr. Bei hook-Befehlen wird das Hinweis-Tag entfernt und ignoriert. Nur die Ausgabe von Bash- und PowerShell-Tools löst die Installationsaufforderung aus.19Claude Code setzt die [`CLAUDECODE`](/de/env-vars) Umgebungsvariable auf `1` für jeden Befehl, den es über die Bash- und PowerShell-Tools ausführt, und für [hook](/de/hooks)-Befehle. {/* min-version: 2.1.172 */}Ab v2.1.172 setzt es auch [`CLAUDE_CODE_CHILD_SESSION`](/de/env-vars) auf `1` in denselben Subprozessen. Wenn Ihre CLI eine dieser Variablen sieht, schreibt sie ein selbstschließendes `<claude-code-hint />`-Tag auf stderr. Bei hook-Befehlen wird das Hinweis-Tag entfernt und ignoriert. Nur die Ausgabe von Bash- und PowerShell-Tools löst die Installationsaufforderung aus.

20 20 

21Wenn Claude Code die Befehlsausgabe empfängt, führt es folgende Schritte aus:21Wenn Claude Code die Befehlsausgabe empfängt, führt es folgende Schritte aus:

22 22 


31 Geben Sie den Hinweis aus31 Geben Sie den Hinweis aus

32</h2>32</h2>

33 33 

34Geben Sie die Ausgabe an die `CLAUDECODE` Umgebungsvariable ab, damit der Marker nie im Terminal eines menschlichen Benutzers erscheint. Schreiben Sie dann das Tag auf stderr auf seiner eigenen Zeile.34Geben Sie die Ausgabe an eine Umgebungsvariable ab, damit der Marker wahrscheinlich nicht erscheint, wenn ein Mensch Ihre CLI direkt ausführt, und schreiben Sie dann das Tag auf stderr auf seiner eigenen Zeile. Wählen Sie, welche Variable überprüft werden soll:

35 35 

36Die folgenden Beispiele geben einen Hinweis für ein Plugin namens `example-cli` im offiziellen Marketplace aus:36* `CLAUDECODE`: wird auf jeder Claude Code-Version gesetzt, daher erreicht es die meisten Sitzungen. Sie wird auch in tmux-Sitzungen und stdio MCP Server-Subprozessen gesetzt, die Claude Code startet. IDE-Erweiterungen setzen sie auch in ihren integrierten Terminals, wo ein Mensch Ihre CLI direkt ausführen kann.

37* {/* min-version: 2.1.172 */}`CLAUDE_CODE_CHILD_SESSION`: wird nur in Subprozessen gesetzt, die Claude Code selbst startet, wie z. B. Tool-Aufrufe, Hook-Befehle und [Statuszeilen](/de/statusline)-Befehle, daher erreicht das Tag normalerweise kein menschliches Terminal. Ein langlebiger Prozess, der innerhalb einer Sitzung gestartet wurde, wie z. B. ein tmux-Server, erfasst die Variable, daher zeigen Shells, die später von diesem Prozess aus gestartet werden, immer noch das rohe Tag. Erfordert Claude Code v2.1.172 oder später, daher verpassen Sitzungen auf älteren Versionen den Hinweis.

38 

39Die folgenden Beispiele geben auf `CLAUDECODE` ab, um maximale Reichweite zu erreichen, und geben einen Hinweis für ein Plugin namens `example-cli` im offiziellen Marketplace aus:

37 40 

38<CodeGroup>41<CodeGroup>

39 ```javascript Node.js theme={null}42 ```javascript Node.js theme={null}


147Die verbleibende Anleitung wird empfohlen, aber nicht erzwungen. Claude Code kann nicht beobachten, ob Ihre CLI sie befolgt:150Die verbleibende Anleitung wird empfohlen, aber nicht erzwungen. Claude Code kann nicht beobachten, ob Ihre CLI sie befolgt:

148 151 

149* **Schreiben Sie auf stderr**: stderr hält das Tag aus Shell-Pipelines wie `example-cli deploy | jq` heraus. Claude Code scannt beide Streams, daher funktioniert auch stdout.152* **Schreiben Sie auf stderr**: stderr hält das Tag aus Shell-Pipelines wie `example-cli deploy | jq` heraus. Claude Code scannt beide Streams, daher funktioniert auch stdout.

150* **Gate on `CLAUDECODE`**: Geben Sie nur aus, wenn die `CLAUDECODE` Umgebungsvariable gesetzt ist. Dies verhindert, dass der Marker Benutzern angezeigt wird, die Ihre CLI direkt ausführen.153* **Gate on an environment variable**: Geben Sie nur aus, wenn `CLAUDECODE` oder `CLAUDE_CODE_CHILD_SESSION` gesetzt ist. Siehe [Emit the hint](#emit-the-hint), um zu erfahren, wie sich die beiden Variablen unterscheiden.

151 154 

152<h2 id="get-your-plugin-into-the-official-marketplace">155<h2 id="get-your-plugin-into-the-official-marketplace">

153 Bringen Sie Ihr Plugin in den offiziellen Marketplace156 Bringen Sie Ihr Plugin in den offiziellen Marketplace

Details

171| `plugins` | array | Liste der verfügbaren Plugins | Siehe unten |171| `plugins` | array | Liste der verfügbaren Plugins | Siehe unten |

172 172 

173<Note>173<Note>

174 **Reservierte Namen**: Die folgenden Marktplatznamen sind für die offizielle Nutzung durch Anthropic reserviert und können nicht von Drittanbieter-Marktplätzen verwendet werden: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `knowledge-work-plugins`, `life-sciences`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`. Namen, die offizielle Marktplätze imitieren, wie `official-claude-plugins` oder `anthropic-tools-v2`, sind ebenfalls blockiert.174 **Reservierte Namen**: Die folgenden Marktplatznamen sind für die offizielle Nutzung durch Anthropic reserviert und können nicht von Drittanbieter-Marktplätzen verwendet werden: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `claude-plugins-community`, `claude-community`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `knowledge-work-plugins`, `life-sciences`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`. Namen, die offizielle Marktplätze imitieren, wie `official-claude-plugins` oder `anthropic-tools-v2`, sind ebenfalls blockiert.

175</Note>175</Note>

176 176 

177<h3 id="owner-fields">177<h3 id="owner-fields">


203 203 

204Jeder Plugin-Eintrag im `plugins`-Array beschreibt ein Plugin und wo man es findet. Sie können jedes Feld aus dem [Plugin-Manifest-Schema](/de/plugins-reference#plugin-manifest-schema) einbeziehen (wie `description`, `version`, `author`, `commands`, `hooks` usw.), plus diese Marktplatz-spezifischen Felder: `source`, `category`, `tags` und `strict`.204Jeder Plugin-Eintrag im `plugins`-Array beschreibt ein Plugin und wo man es findet. Sie können jedes Feld aus dem [Plugin-Manifest-Schema](/de/plugins-reference#plugin-manifest-schema) einbeziehen (wie `description`, `version`, `author`, `commands`, `hooks` usw.), plus diese Marktplatz-spezifischen Felder: `source`, `category`, `tags` und `strict`.

205 205 

206<h3 id="required-fields">206<h3 id="required-fields-1">

207 Erforderliche Felder207 Erforderliche Felder

208</h3>208</h3>

209 209 


254 254 

255| Quelle | Typ | Felder | Notizen |255| Quelle | Typ | Felder | Notizen |

256| -------------- | -------------------------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |256| -------------- | -------------------------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |

257| Relativer Pfad | `string` (z. B. `"./my-plugin"`) | | Lokales Verzeichnis im Marktplatz-Repo. Muss mit `./` beginnen. Wird relativ zum Marktplatz-Root aufgelöst, nicht zum `.claude-plugin/`-Verzeichnis |257| Relativer Pfad | `string` (z. B. `"./my-plugin"`) | keine | Lokales Verzeichnis im Marktplatz-Repo. Muss mit `./` beginnen. Wird relativ zum Marktplatz-Root aufgelöst, nicht zum `.claude-plugin/`-Verzeichnis |

258| `github` | object | `repo`, `ref?`, `sha?` | |258| `github` | object | `repo`, `ref?`, `sha?` | |

259| `url` | object | `url`, `ref?`, `sha?` | Git-URL-Quelle |259| `url` | object | `url`, `ref?`, `sha?` | Git-URL-Quelle |

260| `git-subdir` | object | `url`, `path`, `ref?`, `sha?` | Unterverzeichnis in einem Git-Repo. Klont sparsam, um die Bandbreite für Monorepos zu minimieren |260| `git-subdir` | object | `url`, `path`, `ref?`, `sha?` | Unterverzeichnis in einem Git-Repo. Klont sparsam, um die Bandbreite für Monorepos zu minimieren |


269 Beispielsweise kann ein Marktplatz, der unter `acme-corp/plugin-catalog` gehostet wird (Marktplatz-Quelle), ein Plugin auflisten, das von `acme-corp/code-formatter` abgerufen wird (Plugin-Quelle). Die Marktplatz-Quelle und die Plugin-Quelle verweisen auf unterschiedliche Repositories und werden unabhängig voneinander angeheftet.269 Beispielsweise kann ein Marktplatz, der unter `acme-corp/plugin-catalog` gehostet wird (Marktplatz-Quelle), ein Plugin auflisten, das von `acme-corp/code-formatter` abgerufen wird (Plugin-Quelle). Die Marktplatz-Quelle und die Plugin-Quelle verweisen auf unterschiedliche Repositories und werden unabhängig voneinander angeheftet.

270</Note>270</Note>

271 271 

272Die Git-basierten Quellentypen unten sind `github`, `url` und `git-subdir`. Wenn sowohl `ref` als auch `sha` auf einem von ihnen gesetzt sind, ist `sha` die effektive Anheftung. Claude Code ruft den angehefteten Commit direkt ab und checkt ihn aus, sodass die Installation erfolgreich ist, auch wenn der Branch oder Tag, der durch `ref` benannt wird, inzwischen upstream gelöscht wurde, solange der Commit noch vom Repository aus erreichbar ist.

273 

272<h3 id="relative-paths">274<h3 id="relative-paths">

273 Relative Pfade275 Relative Pfade

274</h3>276</h3>


450 Erweiterte Plugin-Einträge452 Erweiterte Plugin-Einträge

451</h3>453</h3>

452 454 

453Dieses Beispiel zeigt einen Plugin-Eintrag mit vielen optionalen Feldern, einschließlich benutzerdefinierter Pfade für Befehle, Agents, hooks und MCP servers:455Dieses Beispiel zeigt einen Plugin-Eintrag mit vielen optionalen Feldern, einschließlich benutzerdefinierter Pfade für Befehle, Agents, hooks und MCP-Server:

454 456 

455```json theme={null}457```json theme={null}

456{458{


502Wichtige Dinge zu beachten:504Wichtige Dinge zu beachten:

503 505 

504* **`commands` und `agents`**: Sie können mehrere Verzeichnisse oder einzelne Dateien angeben. Pfade sind relativ zum Plugin-Root.506* **`commands` und `agents`**: Sie können mehrere Verzeichnisse oder einzelne Dateien angeben. Pfade sind relativ zum Plugin-Root.

505* **`${CLAUDE_PLUGIN_ROOT}`**: Verwenden Sie diese Variable in hooks und MCP server-Konfigurationen, um auf Dateien im Installationsverzeichnis des Plugins zu verweisen. Dies ist notwendig, da Plugins beim Installieren an einen Cache-Speicherort kopiert werden. Verwenden Sie für Abhängigkeiten oder Status, die Plugin-Updates überstehen sollten, stattdessen [`${CLAUDE_PLUGIN_DATA}`](/de/plugins-reference#persistent-data-directory).507* **`${CLAUDE_PLUGIN_ROOT}`**: Verwenden Sie diese Variable in hooks und MCP-Server-Konfigurationen, um auf Dateien im Installationsverzeichnis des Plugins zu verweisen. Dies ist notwendig, da Plugins beim Installieren an einen Cache-Speicherort kopiert werden. Verwenden Sie für Abhängigkeiten oder Status, die Plugin-Updates überstehen sollten, stattdessen [`${CLAUDE_PLUGIN_DATA}`](/de/plugins-reference#persistent-data-directory).

506* **`strict: false`**: Da dies auf false gesetzt ist, benötigt das Plugin keine eigene `plugin.json`. Der Marktplatz-Eintrag definiert alles. Siehe [Strict Mode](#strict-mode) unten.508* **`strict: false`**: Da dies auf false gesetzt ist, benötigt das Plugin keine eigene `plugin.json`. Der Marktplatz-Eintrag definiert alles. Siehe [Strict Mode](#strict-mode) unten.

507 509 

510Standardmäßig werden die Skills eines Plugins aus dem `skills/`-Verzeichnis unter seiner `source` geladen, und alle unter `skills` aufgelisteten Pfade werden zu diesem Scan hinzugefügt. Die Ausnahme ist eine Marktplatz-Root-Quelle wie `source: "./"`, bei der mehrere Plugin-Einträge einen `skills/`-Ordner gemeinsam nutzen. In diesem Fall macht das Auflisten bestimmter Unterverzeichnisse unter `skills` diese Liste zur vollständigen Menge für den Eintrag, und andere Verzeichnisse unter `skills/` werden nicht geladen. Das Auflisten des `skills/`-Verzeichnisses selbst oder des Plugin-Root behält den vollständigen Scan bei. Wenn keiner der aufgelisteten Pfade existiert, wird stattdessen der Standard-Scan ausgeführt.

511 

508<h3 id="strict-mode">512<h3 id="strict-mode">

509 Strict Mode513 Strict Mode

510</h3>514</h3>

511 515 

512Das `strict`-Feld steuert, ob `plugin.json` die Autorität für Komponentendefinitionen ist (skills, Agents, hooks, MCP servers, Ausgabestile).516Das `strict`-Feld steuert, ob `plugin.json` die Autorität für Komponentendefinitionen ist (skills, Agents, hooks, MCP-Server, Ausgabestile).

513 517 

514| Wert | Verhalten |518| Wert | Verhalten |

515| :---------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |519| :---------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


1074* Überprüfen Sie, dass Plugin-Verzeichnisse erforderliche Dateien enthalten1078* Überprüfen Sie, dass Plugin-Verzeichnisse erforderliche Dateien enthalten

1075* Überprüfen Sie für GitHub-Quellen, dass Repositories öffentlich sind oder Sie Zugriff haben1079* Überprüfen Sie für GitHub-Quellen, dass Repositories öffentlich sind oder Sie Zugriff haben

1076* Testen Sie Plugin-Quellen manuell durch Klonen/Herunterladen1080* Testen Sie Plugin-Quellen manuell durch Klonen/Herunterladen

1081* Wenn die Quelle sowohl `ref` als auch `sha` festlegt, blockiert ein gelöschter Upstream-Branch oder Tag die Installation nicht. Wenn die Installation immer noch fehlschlägt, bestätigen Sie, dass der festgelegte Commit immer noch im Repository vorhanden ist

1077 1082 

1078<h3 id="private-repository-authentication-fails">1083<h3 id="private-repository-authentication-fails">

1079 Authentifizierung für private Repositories schlägt fehl1084 Authentifizierung für private Repositories schlägt fehl

plugins.md +7 −3

Details

216| `bin/` | Plugin-Root | Ausführbare Dateien, die zum `PATH` des Bash-Tools hinzugefügt werden, während das Plugin aktiviert ist |216| `bin/` | Plugin-Root | Ausführbare Dateien, die zum `PATH` des Bash-Tools hinzugefügt werden, während das Plugin aktiviert ist |

217| `settings.json` | Plugin-Root | Standard-[Einstellungen](/de/settings), die angewendet werden, wenn das Plugin aktiviert ist |217| `settings.json` | Plugin-Root | Standard-[Einstellungen](/de/settings), die angewendet werden, wenn das Plugin aktiviert ist |

218 218 

219Ein Plugin, das genau einen Skill enthält, kann `SKILL.md` direkt im Plugin-Root platzieren, anstatt ein `skills/`-Verzeichnis zu erstellen. Claude Code lädt es als einen einzelnen Skill und verwendet das Frontmatter-Feld `name` für den Aufrufen-Namen. Verwenden Sie das `skills/`-Layout für Plugins, die möglicherweise auf mehr als einen Skill anwachsen.

220 

219<Note>221<Note>

220 **Nächste Schritte**: Bereit, weitere Funktionen hinzuzufügen? Springen Sie zu [Entwickeln Sie komplexere Plugins](#develop-more-complex-plugins), um Agents, Hooks, MCP-Server und LSP-Server hinzuzufügen. Für vollständige technische Spezifikationen aller Plugin-Komponenten siehe [Plugins-Referenz](/de/plugins-reference).222 **Nächste Schritte**: Bereit, weitere Funktionen hinzuzufügen? Springen Sie zu [Entwickeln Sie komplexere Plugins](#develop-more-complex-plugins), um Agents, Hooks, MCP-Server und LSP-Server hinzuzufügen. Für vollständige technische Spezifikationen aller Plugin-Komponenten siehe [Plugins-Referenz](/de/plugins-reference).

221</Note>223</Note>


402 404 

403Anthropic verwaltet zwei öffentliche Marketplaces für Claude Code Plugins:405Anthropic verwaltet zwei öffentliche Marketplaces für Claude Code Plugins:

404 406 

405* **`claude-plugins-official`**: ein kuratierter Satz von Plugins, die von Anthropic verwaltet werden. Automatisch in jeder Claude Code Installation verfügbar.407* **`claude-plugins-official`**: ein kuratierter Satz von Plugins, die von Anthropic verwaltet werden. Automatisch beim ersten Mal registriert, wenn Sie Claude Code interaktiv starten. Ein nicht-interaktives Skript, das vor diesem ersten Start ausgeführt wird, muss es explizit mit `claude plugin marketplace add anthropics/claude-plugins-official` hinzufügen.

406* **`claude-community`**: der öffentliche Community-Marketplace, auf dem Drittanbieter-Einreichungen nach Überprüfung landen. Benutzer fügen ihn mit `/plugin marketplace add anthropics/claude-plugins-community` hinzu und installieren ihn als `@claude-community`.408* **`claude-community`**: der öffentliche Community-Marketplace, auf dem Drittanbieter-Einreichungen nach Überprüfung landen. Benutzer fügen ihn mit `/plugin marketplace add anthropics/claude-plugins-community` hinzu und installieren ihn als `@claude-community`.

407 409 

408Um Ihr Plugin zur Überprüfung im Community-Marketplace einzureichen, verwenden Sie eines der In-App-Formulare:410Um Ihr Plugin zur Überprüfung im Community-Marketplace einzureichen, verwenden Sie eines der In-App-Formulare:

409 411 

410* **Claude.ai**: [claude.ai/settings/plugins/submit](https://claude.ai/settings/plugins/submit)412* **claude.ai**: [claude.ai/admin-settings/directory/submissions/plugins/new](https://claude.ai/admin-settings/directory/submissions/plugins/new)

411* **Console**: [platform.claude.com/plugins/submit](https://platform.claude.com/plugins/submit)413* **Console**: [platform.claude.com/plugins/submit](https://platform.claude.com/plugins/submit)

412 414 

415Das claude.ai-Formular erfordert eine Team- oder Enterprise-Organisation und Verzeichnisverwaltungszugriff; Organisationsinhaber haben diesen Zugriff standardmäßig. Einzelne Autoren, die nicht Teil einer Team- oder Enterprise-Organisation sind, können stattdessen das Console-Formular verwenden.

416 

413Führen Sie `claude plugin validate` lokal aus, bevor Sie einreichen. Die Überprüfungs-Pipeline führt die gleiche Überprüfung bei jeder Einreichung durch, zusammen mit automatisierter Sicherheitsüberprüfung.417Führen Sie `claude plugin validate` lokal aus, bevor Sie einreichen. Die Überprüfungs-Pipeline führt die gleiche Überprüfung bei jeder Einreichung durch, zusammen mit automatisierter Sicherheitsüberprüfung.

414 418 

415Genehmigte Plugins werden auf einen bestimmten Commit-SHA im Katalog [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) angeheftet, und CI erhöht die Anheftung automatisch, wenn Sie neue Commits in Ihr Repository pushen. Der öffentliche Katalog wird jede Nacht aus der Überprüfungs-Pipeline synchronisiert, daher kann es eine Verzögerung zwischen Genehmigung und dem Erscheinen Ihres Plugins in `marketplace.json` geben. Um zu überprüfen, ob Ihr Plugin bereits installierbar ist, suchen Sie nach seinem Namen im [Community-Katalog](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json).419Genehmigte Plugins werden auf einen bestimmten Commit-SHA im Katalog [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) angeheftet, und CI erhöht die Anheftung automatisch, wenn Sie neue Commits in Ihr Repository pushen. Der öffentliche Katalog wird jede Nacht aus der Überprüfungs-Pipeline synchronisiert, daher kann es eine Verzögerung zwischen Genehmigung und dem Erscheinen Ihres Plugins in `marketplace.json` geben. Um zu überprüfen, ob Ihr Plugin bereits installierbar ist, suchen Sie nach seinem Namen im [Community-Katalog](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json).


512| Muss manuell kopiert werden, um zu teilen | Mit `/plugin install` installieren |516| Muss manuell kopiert werden, um zu teilen | Mit `/plugin install` installieren |

513 517 

514<Note>518<Note>

515 Nach der Migration können Sie die ursprünglichen Dateien aus `.claude/` entfernen, um Duplikate zu vermeiden. Die Plugin-Version hat Vorrang, wenn sie geladen wird.519 Nach der Migration entfernen Sie die ursprünglichen Dateien aus `.claude/`, um Duplikate zu vermeiden. Projekt- und Benutzer-`.claude/agents/`-Definitionen überschreiben gleichnamige Plugin-Agents, daher wird die Plugin-Version erst wirksam, wenn die ursprünglichen Dateien entfernt werden.

516</Note>520</Note>

517 521 

518<h2 id="next-steps">522<h2 id="next-steps">

Details

46* Claude kann sie automatisch basierend auf dem Task-Kontext aufrufen46* Claude kann sie automatisch basierend auf dem Task-Kontext aufrufen

47* Skills können unterstützende Dateien neben SKILL.md enthalten47* Skills können unterstützende Dateien neben SKILL.md enthalten

48 48 

49Wenn ein Plugin kein `skills/` Verzeichnis und kein `skills` Manifest-Feld hat, wird eine `SKILL.md` im Plugin-Root als einzelner Skill geladen. Setzen Sie das Frontmatter-Feld `name`, um den Aufrufen-Namen des Skills zu steuern. Ohne dieses Feld greift Claude Code auf den Installationsverzeichnisnamen zurück, der bei vom Marktplatz installierten Plugins ein Versionsstring ist, der sich bei jedem Update ändert. Für Plugins, die mehr als einen Skill versenden, verwenden Sie das oben gezeigte `skills/` Verzeichnis-Layout.

50 

49Vollständige Details finden Sie unter [Skills](/de/skills).51Vollständige Details finden Sie unter [Skills](/de/skills).

50 52 

51<h3 id="agents">53<h3 id="agents">


256**Optionale Felder:**258**Optionale Felder:**

257 259 

258| Feld | Beschreibung |260| Feld | Beschreibung |

259| :---------------------- | :-------------------------------------------------------------------------- |261| :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

260| `args` | Befehlszeilenargumente für den LSP-Server |262| `args` | Befehlszeilenargumente für den LSP-Server |

261| `transport` | Kommunikationstransport: `stdio` (Standard) oder `socket` |263| `transport` | Kommunikationstransport: `stdio` (Standard) oder `socket` |

262| `env` | Umgebungsvariablen, die beim Starten des Servers gesetzt werden |264| `env` | Umgebungsvariablen, die beim Starten des Servers gesetzt werden |


265| `workspaceFolder` | Workspace-Ordnerpfad für den Server |267| `workspaceFolder` | Workspace-Ordnerpfad für den Server |

266| `startupTimeout` | Maximale Zeit zum Warten auf Server-Startup (Millisekunden) |268| `startupTimeout` | Maximale Zeit zum Warten auf Server-Startup (Millisekunden) |

267| `maxRestarts` | Maximale Anzahl von Neustartversuchen, bevor aufgegeben wird |269| `maxRestarts` | Maximale Anzahl von Neustartversuchen, bevor aufgegeben wird |

270| `diagnostics` | Ob Diagnosen nach Bearbeitungen in Claudes Kontext eingefügt werden sollen (Standard `true`). Setzen Sie auf `false`, um Code-Navigation beizubehalten, aber automatische Diagnose-Injektion zu unterdrücken. |

268 271 

269<Warning>272<Warning>

270 **Sie müssen die Language Server Binärdatei separat installieren.** LSP-Plugins konfigurieren, wie Claude Code sich mit einem Language Server verbindet, aber sie enthalten den Server selbst nicht. Wenn Sie `Executable not found in $PATH` im `/plugin` Errors-Tab sehen, installieren Sie die erforderliche Binärdatei für Ihre Sprache.273 **Sie müssen die Language Server Binärdatei separat installieren.** LSP-Plugins konfigurieren, wie Claude Code sich mit einem Language Server verbindet, aber sie enthalten den Server selbst nicht. Wenn Sie `Executable not found in $PATH` im `/plugin` Errors-Tab sehen, installieren Sie die erforderliche Binärdatei für Ihre Sprache.


530</h3>533</h3>

531 534 

532| Feld | Typ | Beschreibung | Beispiel |535| Feld | Typ | Beschreibung | Beispiel |

533| :---------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------- |536| :---------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------- |

534| `skills` | string\|array | Benutzerdefinierte Skill-Verzeichnisse mit `<name>/SKILL.md` Struktur (zusätzlich zum Standard `skills/`) | `"./custom/skills/"` |537| `skills` | string\|array | Benutzerdefinierte Skill-Verzeichnisse mit `<name>/SKILL.md` Struktur. Ergänzt das Standard `skills/` Verzeichnis. Siehe [Pfad-Verhaltensregeln](#path-behavior-rules) für die Marktplatz-Root-Ausnahme | `"./custom/skills/"` |

535| `commands` | string\|array | Benutzerdefinierte flache `.md` Skill-Dateien oder Verzeichnisse (ersetzt Standard `commands/`) | `"./custom/cmd.md"` oder `["./cmd1.md"]` |538| `commands` | string\|array | Benutzerdefinierte flache `.md` Skill-Dateien oder Verzeichnisse (ersetzt Standard `commands/`) | `"./custom/cmd.md"` oder `["./cmd1.md"]` |

536| `agents` | string\|array | Benutzerdefinierte Agent-Dateien (ersetzt Standard `agents/`) | `"./custom/agents/reviewer.md"` |539| `agents` | string\|array | Benutzerdefinierte Agent-Dateien (ersetzt Standard `agents/`) | `"./custom/agents/reviewer.md"` |

537| `hooks` | string\|array\|object | Hook-Konfigurationspfade oder Inline-Konfiguration | `"./my-extra-hooks.json"` |540| `hooks` | string\|array\|object | Hook-Konfigurationspfade oder Inline-Konfiguration | `"./my-extra-hooks.json"` |


629Ob ein benutzerdefinierter Pfad das Standard-Verzeichnis des Plugins ersetzt oder erweitert, hängt vom Feld ab:632Ob ein benutzerdefinierter Pfad das Standard-Verzeichnis des Plugins ersetzt oder erweitert, hängt vom Feld ab:

630 633 

631* **Ersetzt den Standard**: `commands`, `agents`, `outputStyles`, `experimental.themes`, `experimental.monitors`. Beispielsweise wird das Standard-Verzeichnis `commands/` nicht gescannt, wenn das Manifest `commands` angibt. Um den Standard zu behalten und mehr hinzuzufügen, listen Sie ihn explizit auf: `"commands": ["./commands/", "./extras/"]`634* **Ersetzt den Standard**: `commands`, `agents`, `outputStyles`, `experimental.themes`, `experimental.monitors`. Beispielsweise wird das Standard-Verzeichnis `commands/` nicht gescannt, wenn das Manifest `commands` angibt. Um den Standard zu behalten und mehr hinzuzufügen, listen Sie ihn explizit auf: `"commands": ["./commands/", "./extras/"]`

632* **Fügt zum Standard hinzu**: `skills`. Das Standard-Verzeichnis `skills/` wird immer gescannt, und Verzeichnisse, die in `skills` aufgelistet sind, werden zusammen mit ihm geladen635* **Fügt zum Standard hinzu**: `skills`. Das Standard-Verzeichnis `skills/` wird immer gescannt, und Verzeichnisse, die in `skills` aufgelistet sind, werden zusammen mit ihm geladen. Ausnahme: für einen [Marktplatz-Eintrag, dessen `source` zum Marktplatz-Root aufgelöst wird](/de/plugin-marketplaces#advanced-plugin-entries), ersetzt das Deklarieren spezifischer Unterverzeichnisse den Scan

633* **Eigene Merge-Regeln**: [hooks](#hooks), [MCP-Server](#mcp-servers) und [LSP-Server](#lsp-servers). Siehe jeden Abschnitt für die Kombinationsweise mehrerer Quellen636* **Eigene Merge-Regeln**: [hooks](#hooks), [MCP-Server](#mcp-servers) und [LSP-Server](#lsp-servers). Siehe jeden Abschnitt für die Kombinationsweise mehrerer Quellen

634 637 

635Wenn ein Plugin sowohl einen Standard-Ordner als auch den entsprechenden Manifest-Schlüssel hat, kennzeichnet Claude Code v2.1.140 und später den ignorierten Ordner in `/doctor`, `claude plugin list` und der `/plugin` Detailansicht. Das Plugin wird weiterhin mit den Manifest-Pfaden geladen. Es wird keine Warnung angezeigt, wenn der Manifest-Schlüssel auf den Standard-Ordner verweist, beispielsweise `"commands": ["./commands/deploy.md"]`, da der Ordner in diesem Fall explizit adressiert wird.638Wenn ein Plugin sowohl einen Standard-Ordner als auch den entsprechenden Manifest-Schlüssel hat, kennzeichnet Claude Code v2.1.140 und später den ignorierten Ordner in `/doctor`, `claude plugin list` und der `/plugin` Detailansicht. Das Plugin wird weiterhin mit den Manifest-Pfaden geladen. Es wird keine Warnung angezeigt, wenn der Manifest-Schlüssel auf den Standard-Ordner verweist, beispielsweise `"commands": ["./commands/deploy.md"]`, da der Ordner in diesem Fall explizit adressiert wird.


1093| `--available` | Verfügbare Plugins von Marktplätzen einschließen. Erfordert `--json` | |1096| `--available` | Verfügbare Plugins von Marktplätzen einschließen. Erfordert `--json` | |

1094| `-h, --help` | Hilfe für Befehl anzeigen | |1097| `-h, --help` | Hilfe für Befehl anzeigen | |

1095 1098 

1099Innerhalb einer interaktiven Sitzung druckt `/plugin list` die gleiche Auflistung inline. Die interaktive Form akzeptiert `--enabled` oder `--disabled`, um nur Plugins in diesem Zustand anzuzeigen, und `ls` als Kurzform für `list`.

1100 

1096<h3 id="plugin-details">1101<h3 id="plugin-details">

1097 plugin details1102 plugin details

1098</h3>1103</h3>

Details

79 79 

80Die [`opusplan` Modelleinstellung](/de/model-config#opusplan-model-setting) wird zu Opus während Plan Mode und Sonnet während der Ausführung aufgelöst, daher ist jeder Plan-Mode-Toggle ein Modellwechsel und startet einen frischen Cache.80Die [`opusplan` Modelleinstellung](/de/model-config#opusplan-model-setting) wird zu Opus während Plan Mode und Sonnet während der Ausführung aufgelöst, daher ist jeder Plan-Mode-Toggle ein Modellwechsel und startet einen frischen Cache.

81 81 

82[Automatisches Modell-Fallback](/de/model-config#automatic-model-fallback) auf Fable 5 ist auch ein Modellwechsel. Wenn ein Sicherheitsklassifizierer eine Anfrage kennzeichnet, führt Claude Code sie auf dem Standard-Opus-Modell erneut aus und die Session wird dort fortgesetzt.

83 

82<h3 id="changing-effort-level">84<h3 id="changing-effort-level">

83 Anstrengungsstufe ändern85 Anstrengungsstufe ändern

84</h3>86</h3>


101 Verbinden oder Trennen eines MCP-Servers103 Verbinden oder Trennen eines MCP-Servers

102</h3>104</h3>

103 105 

104Tool-Definitionen sitzen in der System-Prompt-Ebene, daher wird der Cache ungültig, wenn sich die Menge der Tool-Definitionen in der Anfrage zwischen Turns ändert. Ob eine [MCP-Server](/de/mcp)-Änderung dies bewirkt, hängt davon ab, ob ihre Tools durch [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) aufgeschoben werden oder in das Präfix geladen werden:106Tool-Definitionen sitzen in der System-Prompt-Ebene, daher wird der Cache ungültig, wenn sich die Menge der Tool-Definitionen in der Anfrage zwischen Turns ändert. Das Umschalten des [Advisor-Tools](/de/advisor) ist eine Ausnahme: Seine Definition sitzt nach dem Cache-Breakpoint, daher behält das Aktivieren oder Deaktivieren von `/advisor` das gecachte Präfix intakt. Ob eine [MCP-Server](/de/mcp)-Änderung dies bewirkt, hängt davon ab, ob ihre Tools durch [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) aufgeschoben werden oder in das Präfix geladen werden:

105 107 

106* **Aufgeschobene Tools**, die Standardeinstellung auf unterstützten Modellen: Ein Server, der sich verbindet, trennt oder seine Tool-Liste ändert, hängt nur neue Inhalte an und stört nichts, das bereits gecacht ist.108* **Aufgeschobene Tools**, die Standardeinstellung auf unterstützten Modellen: Ein Server, der sich verbindet, trennt oder seine Tool-Liste ändert, hängt nur neue Inhalte an und stört nichts, das bereits gecacht ist.

107* **Tools, die in das Präfix geladen werden**: Jede Änderung daran macht den Cache ungültig. Dies geschieht, wenn [Tool-Suche nicht verfügbar oder deaktiviert ist](/de/mcp#configure-tool-search), z. B. auf Haiku-Modellen, auf Vertex AI oder mit einem benutzerdefinierten `ANTHROPIC_BASE_URL`-Gateway. Es geschieht auch für einen Server oder ein Tool, das als [`alwaysLoad`](/de/mcp#exempt-a-server-from-deferral) markiert ist, und für Definitionen, die von [schwellenwertbasiertem Laden](/de/mcp#configure-tool-search) im Voraus beibehalten werden.109* **Tools, die in das Präfix geladen werden**: Jede Änderung daran macht den Cache ungültig. Dies geschieht, wenn [Tool-Suche nicht verfügbar oder deaktiviert ist](/de/mcp#configure-tool-search), z. B. auf Haiku-Modellen, auf Vertex AI oder mit einem benutzerdefinierten `ANTHROPIC_BASE_URL`-Gateway. Es geschieht auch für einen Server oder ein Tool, das als [`alwaysLoad`](/de/mcp#exempt-a-server-from-deferral) markiert ist, und für Definitionen, die von [schwellenwertbasiertem Laden](/de/mcp#configure-tool-search) im Voraus beibehalten werden.


118 120 

119Die Ausnahme ist ein Plugin, das [MCP-Server](/de/plugins-reference#mcp-servers) bereitstellt. Das Aktivieren oder Deaktivieren eines solchen folgt den gleichen Regeln wie [Verbinden oder Trennen eines MCP-Servers](#connecting-or-disconnecting-an-mcp-server): Der Cache bleibt erhalten, wenn die Tools des Servers aufgeschoben werden, und die nächste Anfrage liest die gesamte Konversation neu, wenn sie in das Präfix geladen werden.121Die Ausnahme ist ein Plugin, das [MCP-Server](/de/plugins-reference#mcp-servers) bereitstellt. Das Aktivieren oder Deaktivieren eines solchen folgt den gleichen Regeln wie [Verbinden oder Trennen eines MCP-Servers](#connecting-or-disconnecting-an-mcp-server): Der Cache bleibt erhalten, wenn die Tools des Servers aufgeschoben werden, und die nächste Anfrage liest die gesamte Konversation neu, wenn sie in das Präfix geladen werden.

120 122 

121Plugin-Änderungen werden angewendet, wenn Sie [`/reload-plugins`](/de/discover-plugins#apply-plugin-changes-without-restarting) ausführen oder eine neue Session starten. Die Kosten, ob angehängte Ankündigungen oder ein vollständiges Neueinlesen, zeigen sich beim ersten Turn nach dem Neustart, nicht wenn Sie `/plugin install`, `/plugin enable` oder `/plugin disable` ausführen.123Plugin-Änderungen werden angewendet, wenn Sie [`/reload-plugins`](/de/discover-plugins#apply-plugin-changes-without-restarting) ausführen oder eine neue Session starten. Die Kosten, ob angehängte Ankündigungen oder ein vollständiges Neueinlesen, zeigen sich beim ersten Turn nach dem Neustart, nicht wenn Sie `/plugin install`, `/plugin enable` oder `/plugin disable` ausführen. {/* min-version: 2.1.163 */}Ab v2.1.163 zeigt `/reload-plugins` eine Warnung an und wendet das Neustart nicht an, wenn ein Neustart das vollständige Neueinlesen auslösen würde. Übergeben Sie `--force`, um es trotzdem anzuwenden.

122 124 

123Das Deaktivieren eines Plugins, das Sie früher in der Session aktiviert haben, stellt die vorherige Anfragefom wieder her. Wenn dieses Präfix noch innerhalb seiner [Cache-Lebensdauer](#cache-lifetime) liegt, liest die nächste Anfrage stattdessen den älteren Cache-Eintrag, anstatt ihn neu zu erstellen.125Das Deaktivieren eines Plugins, das Sie früher in der Session aktiviert haben, stellt die vorherige Anfragefom wieder her. Wenn dieses Präfix noch innerhalb seiner [Cache-Lebensdauer](#cache-lifetime) liegt, liest die nächste Anfrage stattdessen den älteren Cache-Eintrag, anstatt ihn neu zu erstellen.

124 126 


128 130 

129Das Hinzufügen eines bloßen Tool-Namens wie `Bash` oder `WebFetch` als [Ablehnungsregel](/de/permissions#manage-permissions) entfernt dieses Tool vollständig aus Claudes Kontext. Tool-Definitionen werden in die System-Prompt-Ebene geladen, daher macht das Hinzufügen oder Entfernen einer dieser Regeln mid-session den Cache ungültig. Die Änderung wird beim nächsten Turn wirksam, egal ob Sie sie über `/permissions` hinzufügen oder durch [direktes Bearbeiten einer Einstellungsdatei](/de/settings#when-edits-take-effect).131Das Hinzufügen eines bloßen Tool-Namens wie `Bash` oder `WebFetch` als [Ablehnungsregel](/de/permissions#manage-permissions) entfernt dieses Tool vollständig aus Claudes Kontext. Tool-Definitionen werden in die System-Prompt-Ebene geladen, daher macht das Hinzufügen oder Entfernen einer dieser Regeln mid-session den Cache ungültig. Die Änderung wird beim nächsten Turn wirksam, egal ob Sie sie über `/permissions` hinzufügen oder durch [direktes Bearbeiten einer Einstellungsdatei](/de/settings#when-edits-take-effect).

130 132 

131Nur ein bloßer Tool-Name oder die äquivalente `Bash(*)` Form hat diese Auswirkung. Scoped Ablehnungsregeln wie `Bash(rm *)` und alle Allow- und Ask-Regeln ändern nicht, welche Tools Claude sieht. Claude Code prüft sie, wenn Claude einen Aufruf versucht, wobei das Präfix intakt bleibt.133Nur eine Ablehnungsregel, die in der Tool-Name-Position passt, hat diese Auswirkung: ein bloßer Tool-Name, die äquivalente `Bash(*)` Form oder ein [Tool-Name-Glob](/de/permissions#tool-name-wildcards) wie `"*"`. Ein Glob, der nur MCP-Tools passt, z. B. `"mcp__*"`, entfernt diese Tools auf die gleiche Weise, behält aber den Cache intakt, wenn die gefundenen Tools [aufgeschoben](#connecting-or-disconnecting-an-mcp-server) sind, die Standardeinstellung, da aufgeschobene Definitionen nie im gecachten Präfix waren. Scoped Ablehnungsregeln wie `Bash(rm *)` und alle Allow- und Ask-Regeln ändern nicht, welche Tools Claude sieht. Claude Code prüft sie, wenn Claude einen Aufruf versucht, wobei das Präfix intakt bleibt.

132 134 

133<h3 id="compacting-the-conversation">135<h3 id="compacting-the-conversation">

134 Konversation komprimieren136 Konversation komprimieren


241 TTL überschreiben243 TTL überschreiben

242</h3>244</h3>

243 245 

244Setzen Sie `FORCE_PROMPT_CACHING_5M=1`, um die fünf-Minuten-TTL unabhängig von der Authentifizierung zu erzwingen. Dies ist nützlich, wenn Sie das Cache-Verhalten mit einem bestimmten Modell oder Provider debuggen, die beiden TTLs vergleichen oder ein in [verwalteten Einstellungen](/de/settings#settings-files) gesetztes `ENABLE_PROMPT_CACHING_1H` überschreiben.246Setzen Sie `FORCE_PROMPT_CACHING_5M=1`, um die fünf-Minuten-TTL unabhängig von der Authentifizierung zu erzwingen. Dies ist nützlich, wenn Sie das Cache-Verhalten debuggen, die beiden TTLs vergleichen oder ein in [verwalteten Einstellungen](/de/settings#settings-files) gesetztes `ENABLE_PROMPT_CACHING_1H` überschreiben.

245 247 

246<h2 id="cache-scope">248<h2 id="cache-scope">

247 Cache-Umfang249 Cache-Umfang


290| `DISABLE_PROMPT_CACHING_HAIKU` | Nur für Haiku deaktivieren |292| `DISABLE_PROMPT_CACHING_HAIKU` | Nur für Haiku deaktivieren |

291| `DISABLE_PROMPT_CACHING_SONNET` | Nur für Sonnet deaktivieren |293| `DISABLE_PROMPT_CACHING_SONNET` | Nur für Sonnet deaktivieren |

292| `DISABLE_PROMPT_CACHING_OPUS` | Nur für Opus deaktivieren |294| `DISABLE_PROMPT_CACHING_OPUS` | Nur für Opus deaktivieren |

295| `DISABLE_PROMPT_CACHING_FABLE` | Nur für Fable deaktivieren |

293 296 

294Um die Caching-Richtlinie über eine Organisation hinweg festzulegen, setzen Sie eine dieser oder die [TTL-Variablen](#cache-lifetime) in den `env`-Block von [verwalteten Einstellungen](/de/settings#settings-files). Für normale Nutzung lassen Sie Caching aktiviert.297Um die Caching-Richtlinie über eine Organisation hinweg festzulegen, setzen Sie eine dieser oder die [TTL-Variablen](#cache-lifetime) in den `env`-Block von [verwalteten Einstellungen](/de/settings#settings-files). Für normale Nutzung lassen Sie Caching aktiviert.

295 298 

prompt-library.md +1319 −0

Details

6 6 

7> Kopieren Sie Prompts für Claude Code, kategorisiert nach Aufgabe und Rolle.7> Kopieren Sie Prompts für Claude Code, kategorisiert nach Aufgabe und Rolle.

8 8 

9export const PromptLibrary = ({text = {}, labels = {}, tagLabels = {}, phaseLabels = {}, sourceLabels = {}, catLabels = {}}) => {

10 const RAW = useMemo(() => [{

11 id: 'get-oriented-in-a',

12 sdlc: 'discover',

13 cat: 'Onboard',

14 startN: 1,

15 roles: [],

16 prompt: 'give me an overview of this codebase: architecture, key directories, and how the pieces connect',

17 nextHref: '/en/memory',

18 src: 'workflows'

19 }, {

20 id: 'explain-unfamiliar-code',

21 sdlc: 'discover',

22 cat: 'Understand',

23 roles: [],

24 prompt: 'explain what {path} does and how data flows through it. write it up as {format}',

25 slots: {

26 path: 'src/scheduler/queue.ts',

27 format: 'an HTML page with a diagram, then open it in my browser'

28 },

29 nextHref: '/en/output-styles',

30 src: 'workflows'

31 }, {

32 id: 'find-where-something-happens',

33 sdlc: 'discover',

34 cat: 'Understand',

35 startN: 2,

36 roles: [],

37 prompt: 'where do we {behavior}?',

38 slots: {

39 behavior: 'validate uploaded file types'

40 },

41 src: 'workflows'

42 }, {

43 id: 'see-what-depends-on',

44 sdlc: 'discover',

45 cat: 'Understand',

46 roles: [],

47 prompt: 'what would break if I deleted {target}?',

48 slots: {

49 target: 'the retryWithBackoff helper'

50 },

51 src: 'workflows'

52 }, {

53 id: 'trace-how-code-evolved',

54 sdlc: 'discover',

55 cat: 'Understand',

56 roles: [],

57 prompt: 'look through the commit history of {path} and summarize how it evolved and why',

58 slots: {

59 path: 'internal/auth/session.go'

60 },

61 src: 'best-practices'

62 }, {

63 id: 'scope-a-change-before',

64 sdlc: 'discover',

65 cat: 'Understand',

66 roles: ['pm', 'design'],

67 prompt: 'which files would I need to touch to {change}?',

68 slots: {

69 change: 'add a dark mode toggle to settings'

70 },

71 src: 'teams'

72 }, {

73 id: 'ask-the-codebase-a',

74 sdlc: 'discover',

75 cat: 'Understand',

76 roles: ['pm'],

77 prompt: 'I am a {role}. walk me through what happens when a user {action}, from the UI down to the result',

78 slots: {

79 role: 'PM',

80 action: 'clicks Export to PDF'

81 },

82 nextHref: '/en/output-styles',

83 src: 'teams'

84 }, {

85 id: 'plan-a-multi-file',

86 sdlc: 'design',

87 cat: 'Plan',

88 roles: ['pm', 'design'],

89 prompt: 'plan how to refactor the {target} to {goal}. list the files you would change, but don\'t edit anything yet',

90 slots: {

91 target: 'payment module',

92 goal: 'support multiple currencies'

93 },

94 src: 'workflows'

95 }, {

96 id: 'draft-a-spec-by',

97 sdlc: 'design',

98 cat: 'Plan',

99 roles: ['pm'],

100 prompt: 'I want to build {feature}. interview me about implementation, UX, edge cases, and tradeoffs until we have covered everything, then write the spec to SPEC.md',

101 slots: {

102 feature: 'per-workspace rate limits'

103 },

104 nextHref: '/en/skills',

105 src: 'best-practices'

106 }, {

107 id: 'turn-a-meeting-into',

108 sdlc: 'design',

109 cat: 'Plan',

110 roles: ['pm'],

111 prompt: 'read {input} and write up the action items, then create a {tracker} ticket for each with acceptance criteria',

112 slots: {

113 input: '@meeting-notes.md',

114 tracker: 'Linear'

115 },

116 needs: 'tracker',

117 nextHref: '/en/skills',

118 src: 'teams'

119 }, {

120 id: 'map-edge-cases-before',

121 sdlc: 'design',

122 cat: 'Plan',

123 roles: ['design', 'pm'],

124 prompt: 'list the error states, empty states, and edge cases for {feature} that the design needs to cover',

125 slots: {

126 feature: 'the file upload flow'

127 },

128 src: 'teams'

129 }, {

130 id: 'turn-a-mockup-into',

131 sdlc: 'design',

132 cat: 'Prototype',

133 roles: ['design', 'pm', 'marketing'],

134 paste: 'mockup',

135 prompt: 'here is a mockup. build a working prototype I can click through, matching the layout and states shown',

136 src: 'teams'

137 }, {

138 id: 'implement-from-a-screenshot',

139 sdlc: 'design',

140 cat: 'Prototype',

141 roles: ['design'],

142 paste: 'design',

143 needs: 'browser',

144 prompt: 'implement this design, then take a screenshot of the result, compare it to the original, and fix any differences',

145 nextHref: '/en/goal',

146 src: 'best-practices'

147 }, {

148 id: 'follow-an-existing-pattern',

149 sdlc: 'build',

150 cat: 'Implement',

151 roles: [],

152 prompt: 'look at how {example} is implemented to understand the pattern, then build {new} the same way',

153 slots: {

154 example: 'the GitHub webhook handler',

155 new: 'a Stripe webhook handler'

156 },

157 nextHref: '/en/memory',

158 src: 'best-practices'

159 }, {

160 id: 'generate-docs-for-code',

161 sdlc: 'build',

162 cat: 'Implement',

163 roles: ['docs'],

164 prompt: 'find {scope} without {format} comments and add them, matching the style already used in the file',

165 slots: {

166 scope: 'the public functions in src/auth/',

167 format: 'JSDoc'

168 },

169 src: 'workflows'

170 }, {

171 id: 'add-a-small-well',

172 sdlc: 'build',

173 cat: 'Implement',

174 roles: [],

175 prompt: 'add a {endpoint} endpoint that returns {payload}',

176 slots: {

177 endpoint: '/health',

178 payload: 'the app version and uptime'

179 },

180 src: 'workflows'

181 }, {

182 id: 'build-a-small-internal',

183 sdlc: 'build',

184 cat: 'Implement',

185 roles: ['pm', 'design', 'marketing', 'docs'],

186 prompt: 'create a {tool} using HTML, CSS, and vanilla JavaScript, then open it in my browser',

187 slots: {

188 tool: 'drag-and-drop Kanban board with three columns'

189 },

190 src: 'teams'

191 }, {

192 id: 'work-an-issue-end',

193 sdlc: 'build',

194 cat: 'Implement',

195 roles: [],

196 prompt: 'read issue #{issue}, implement the fix, and run the tests',

197 slots: {

198 issue: '312'

199 },

200 needs: 'gh',

201 src: 'workflows'

202 }, {

203 id: 'find-and-update-copy',

204 sdlc: 'build',

205 cat: 'Implement',

206 roles: ['design', 'docs', 'marketing'],

207 prompt: 'find every place we say "{copy}" or a close variant, show me each one in context, then update them all to "{new}". leave tests and the changelog alone',

208 slots: {

209 copy: 'Sign up free',

210 new: 'Start free trial'

211 },

212 src: 'teams'

213 }, {

214 id: 'draft-from-past-examples',

215 sdlc: 'build',

216 cat: 'Implement',

217 roles: ['docs', 'marketing', 'pm'],

218 prompt: 'read the {examples} in {folder} to learn the structure and voice, then draft a new one for {topic}',

219 slots: {

220 examples: 'privacy impact assessments',

221 folder: 'legal/pia/',

222 topic: 'the new analytics integration'

223 },

224 nextHref: '/en/skills',

225 src: 'legal'

226 }, {

227 id: 'write-tests-run-them',

228 sdlc: 'build',

229 cat: 'Test',

230 startN: 4,

231 roles: [],

232 prompt: 'write tests for {path}, run them, and fix any failures',

233 slots: {

234 path: 'app/parsers/feed.py'

235 },

236 nextHref: '/en/memory',

237 src: 'workflows'

238 }, {

239 id: 'drive-implementation-from-tests',

240 sdlc: 'build',

241 cat: 'Test',

242 roles: [],

243 prompt: 'write tests for {feature} first, then implement it until they pass',

244 slots: {

245 feature: 'the password reset flow'

246 },

247 src: 'ebook'

248 }, {

249 id: 'fill-gaps-from-a',

250 sdlc: 'build',

251 cat: 'Test',

252 roles: [],

253 prompt: 'read {report} and add tests for the lowest-covered files until each is above {target}%',

254 slots: {

255 report: 'coverage/coverage-summary.json',

256 target: '80'

257 },

258 nextHref: '/en/goal',

259 src: 'workflows'

260 }, {

261 id: 'migrate-a-pattern-across',

262 sdlc: 'build',

263 cat: 'Refactor',

264 roles: [],

265 prompt: 'migrate everything from {from} to {to}: identify every place that needs to change, then make the changes',

266 slots: {

267 from: 'the old logging API',

268 to: 'the structured logger'

269 },

270 src: 'workflows'

271 }, {

272 id: 'port-code-between-languages',

273 sdlc: 'build',

274 cat: 'Refactor',

275 roles: [],

276 prompt: 'port {source} to {target}, keeping the same {keep}',

277 slots: {

278 source: 'this Python module',

279 target: 'Rust',

280 keep: 'public API and test behavior'

281 },

282 src: 'teams'

283 }, {

284 id: 'optimize-against-a-measurable',

285 sdlc: 'build',

286 cat: 'Refactor',

287 roles: ['data'],

288 prompt: 'optimize {target} to bring {metric} from {current} down to under {goal}',

289 slots: {

290 target: 'the search query',

291 metric: 'p95 latency',

292 current: '2s',

293 goal: '500ms'

294 },

295 nextHref: '/en/goal',

296 src: 'ebook'

297 }, {

298 id: 'fix-a-precise-visual',

299 sdlc: 'build',

300 cat: 'Refactor',

301 roles: ['design'],

302 prompt: 'the {element} extends {amount} beyond the {container} on {viewport}. fix it.',

303 slots: {

304 element: 'login button',

305 amount: '20px',

306 container: 'card border',

307 viewport: 'mobile'

308 },

309 nextHref: '/en/desktop#preview-your-app',

310 src: 'ebook'

311 }, {

312 id: 'review-your-changes-before',

313 sdlc: 'build',

314 cat: 'Review',

315 startN: 5,

316 roles: [],

317 prompt: 'review my uncommitted changes and flag anything that looks risky before I commit',

318 nextHref: '/en/commands',

319 src: 'workflows'

320 }, {

321 id: 'review-a-pull-request',

322 sdlc: 'build',

323 cat: 'Review',

324 roles: [],

325 prompt: 'review PR #{pr} and summarize what changed, then list any concerns',

326 slots: {

327 pr: '247'

328 },

329 needs: 'gh',

330 nextHref: '/en/code-review',

331 src: 'workflows'

332 }, {

333 id: 'review-infrastructure-changes-before',

334 sdlc: 'build',

335 cat: 'Review',

336 roles: ['security', 'ops'],

337 paste: 'plan',

338 prompt: 'here is my Terraform plan output. what is this going to do, and is anything here going to cause problems?',

339 src: 'teams'

340 }, {

341 id: 'run-a-security-review',

342 sdlc: 'build',

343 cat: 'Review',

344 roles: ['security'],

345 prompt: 'use a subagent to review {path} for security issues and report what it finds',

346 slots: {

347 path: 'src/api/'

348 },

349 nextHref: '/en/sub-agents',

350 src: 'best-practices'

351 }, {

352 id: 'review-content-before-sending',

353 sdlc: 'build',

354 cat: 'Review',

355 roles: ['marketing', 'docs'],

356 prompt: 'review {file} for {concerns} and list anything I should fix before it goes to {reviewer}',

357 slots: {

358 file: 'launch-post.md',

359 concerns: 'unsupported claims, missing attributions, and brand-guideline issues',

360 reviewer: 'legal'

361 },

362 nextHref: '/en/skills',

363 src: 'legal'

364 }, {

365 id: 'course-correct-a-wrong',

366 sdlc: 'build',

367 cat: 'Steer',

368 roles: [],

369 prompt: 'that is not right: {feedback}. try a different approach',

370 slots: {

371 feedback: 'the function signature needs to stay backward-compatible'

372 },

373 nextHref: '/en/checkpointing',

374 src: 'best-practices'

375 }, {

376 id: 'narrow-the-scope-of',

377 sdlc: 'build',

378 cat: 'Steer',

379 roles: [],

380 prompt: 'that is too much. keep only the changes to {scope} and undo your other edits',

381 slots: {

382 scope: 'the validation logic in src/forms/'

383 },

384 src: 'best-practices'

385 }, {

386 id: 'turn-a-correction-into',

387 sdlc: 'build',

388 cat: 'Steer',

389 roles: [],

390 prompt: 'you keep {mistake}. add a rule to CLAUDE.md so this stops happening',

391 slots: {

392 mistake: 'using default exports when this project uses named exports'

393 },

394 nextHref: '/en/memory',

395 src: 'best-practices'

396 }, {

397 id: 'resolve-merge-conflicts',

398 sdlc: 'ship',

399 cat: 'Git',

400 roles: [],

401 prompt: 'resolve the merge conflicts in this branch and explain what you kept from each side',

402 src: 'workflows'

403 }, {

404 id: 'commit-with-a-generated',

405 sdlc: 'ship',

406 cat: 'Git',

407 roles: [],

408 prompt: 'commit these changes with a message that summarizes what I did',

409 src: 'workflows'

410 }, {

411 id: 'open-a-pull-request',

412 sdlc: 'ship',

413 cat: 'Git',

414 roles: [],

415 prompt: 'find the {tracker} ticket about {topic} and open a PR that implements it',

416 slots: {

417 tracker: 'Linear',

418 topic: 'the login timeout'

419 },

420 needs: 'tracker',

421 src: 'workflows'

422 }, {

423 id: 'draft-release-notes-from',

424 sdlc: 'ship',

425 cat: 'Release',

426 roles: ['pm', 'docs', 'marketing'],

427 prompt: 'compare {from} to {to} and draft release notes grouped by feature, fix, and breaking change',

428 slots: {

429 from: 'v2.3.0',

430 to: 'v2.4.0'

431 },

432 nextHref: '/en/skills',

433 src: 'workflows'

434 }, {

435 id: 'write-a-ci-workflow',

436 sdlc: 'ship',

437 cat: 'Release',

438 roles: ['ops'],

439 prompt: 'write a GitHub Actions workflow that {steps} on every push to {branch}',

440 slots: {

441 steps: 'runs the tests and deploys to staging',

442 branch: 'main'

443 },

444 src: 'workflows'

445 }, {

446 id: 'find-and-fix-a',

447 sdlc: 'operate',

448 cat: 'Debug',

449 startN: 3,

450 roles: [],

451 prompt: 'the {test} test is failing, find out why and fix it',

452 slots: {

453 test: 'UserAuth'

454 },

455 src: 'workflows'

456 }, {

457 id: 'investigate-a-reported-error',

458 sdlc: 'operate',

459 cat: 'Debug',

460 roles: ['ops'],

461 prompt: 'users are seeing {symptom} on {where}. investigate and tell me what is going on',

462 slots: {

463 symptom: '500 errors',

464 where: '/api/settings'

465 },

466 nextHref: '/en/web-quickstart#pre-fill-sessions',

467 src: 'workflows'

468 }, {

469 id: 'fix-a-build-error',

470 sdlc: 'operate',

471 cat: 'Debug',

472 roles: ['ops'],

473 paste: 'error',

474 prompt: 'here is a build error. fix the root cause and verify the build succeeds',

475 src: 'best-practices'

476 }, {

477 id: 'investigate-a-production-incident',

478 sdlc: 'operate',

479 cat: 'Incident',

480 roles: ['ops', 'security'],

481 prompt: '{symptom}. check the logs, recent deploys, and config changes, then tell me the most likely cause',

482 slots: {

483 symptom: 'the checkout endpoint started returning 500s an hour ago'

484 },

485 nextHref: '/en/mcp',

486 src: 'workflows'

487 }, {

488 id: 'diagnose-from-a-console',

489 sdlc: 'operate',

490 cat: 'Incident',

491 roles: ['ops', 'data'],

492 paste: 'screenshot',

493 prompt: 'here is a screenshot of {console}. walk me through why {resource} is failing and give me the exact commands to fix it',

494 slots: {

495 console: 'the GCP Kubernetes dashboard',

496 resource: 'this pod'

497 },

498 src: 'teams'

499 }, {

500 id: 'query-logs-in-plain',

501 sdlc: 'operate',

502 cat: 'Incident',

503 roles: ['security', 'ops', 'data'],

504 prompt: 'show me all {events} for {scope} over {timeframe}. write the query, run it, and tell me what stands out',

505 slots: {

506 events: 'failed logins',

507 scope: 'the auth service',

508 timeframe: 'the past 24 hours'

509 },

510 needs: 'db',

511 src: 'cybersecurity'

512 }, {

513 id: 'analyze-a-data-file',

514 sdlc: 'operate',

515 cat: 'Data',

516 roles: ['data', 'pm', 'marketing'],

517 paste: 'csv',

518 prompt: 'read {file}, summarize the key patterns, and write the results to {output}',

519 slots: {

520 file: '@reports/q1-signups.csv',

521 output: 'an HTML page with charts, then open it in my browser'

522 },

523 nextHref: '/en/mcp',

524 src: 'teams'

525 }, {

526 id: 'generate-variations-from-performance',

527 sdlc: 'operate',

528 cat: 'Data',

529 roles: ['marketing', 'data'],

530 paste: 'csv',

531 prompt: 'read {file}, find the underperforming {items}, and generate {n} new variations that stay under {limit} characters',

532 slots: {

533 file: '@ads-performance.csv',

534 items: 'headlines',

535 n: '20',

536 limit: '90'

537 },

538 nextHref: '/en/mcp',

539 src: 'teams'

540 }, {

541 id: 'turn-a-recurring-task',

542 sdlc: 'operate',

543 cat: 'Automate',

544 roles: [],

545 prompt: 'create a /{name} skill for this project that {steps}',

546 slots: {

547 name: 'ship',

548 steps: 'runs the linter and tests, then drafts a commit message'

549 },

550 src: 'workflows'

551 }, {

552 id: 'add-a-hook-for',

553 sdlc: 'operate',

554 cat: 'Automate',

555 roles: [],

556 prompt: 'write a hook that {action} after every {event}',

557 slots: {

558 action: 'runs prettier',

559 event: 'edit to a .ts or .tsx file'

560 },

561 src: 'best-practices'

562 }, {

563 id: 'connect-a-tool-with',

564 sdlc: 'operate',

565 cat: 'Automate',

566 roles: [],

567 prompt: 'set up the {server} MCP server so you can read my {data} directly',

568 slots: {

569 server: 'Sentry',

570 data: 'error reports'

571 },

572 src: 'workflows'

573 }, {

574 id: 'capture-what-to-remember',

575 sdlc: 'operate',

576 cat: 'Automate',

577 roles: ['pm', 'docs'],

578 prompt: 'summarize what we did this session and suggest what to add to CLAUDE.md',

579 src: 'teams'

580 }], []);

581 const PROMPTS = useMemo(() => {

582 if (typeof window !== 'undefined') {

583 const rawIds = new Set(RAW.map(p => p.id));

584 RAW.forEach(p => {

585 if (!text[p.id]) console.warn('[prompt-library] no text[] entry for id:', p.id);

586 });

587 Object.keys(text).forEach(k => {

588 if (!rawIds.has(k)) console.warn('[prompt-library] orphaned text[] key:', k);

589 });

590 }

591 return RAW.map(p => ({

592 ...p,

593 title: p.id,

594 teaches: '',

595 ...text[p.id] || ({})

596 }));

597 }, [RAW, text]);

598 const L = labels;

599 const TL = k => tagLabels[k] || k;

600 const CAT_TAG = useMemo(() => ({

601 Onboard: 'understand',

602 Understand: 'understand',

603 Plan: 'plan',

604 Prototype: 'prototype',

605 Implement: 'build',

606 Test: 'test',

607 Refactor: 'refactor',

608 Review: 'review',

609 Steer: 'steer',

610 Git: 'git',

611 Release: 'release',

612 Debug: 'debug',

613 Incident: 'debug',

614 Data: 'data',

615 Automate: 'automate'

616 }), []);

617 const TAGS = useMemo(() => ['understand', 'plan', 'prototype', 'build', 'test', 'refactor', 'review', 'steer', 'debug', 'git', 'release', 'data', 'automate', 'pm', 'design', 'docs', 'marketing', 'security', 'ops'], []);

618 const tagsOf = p => [CAT_TAG[p.cat], ...p.roles || []];

619 const doc = useMemo(() => {

620 const p = typeof window !== 'undefined' ? window.location.pathname : '';

621 const base = p.startsWith('/docs/') ? '/docs' : '';

622 const m = p.slice(base.length).match(/^\/([a-z]{2}(?:-[A-Z]{2})?)\//);

623 const locale = m ? m[1] : 'en';

624 return href => {

625 if (!href || href[0] !== '/' || href[1] === '/') return href;

626 return base + (href.startsWith('/en/') ? '/' + locale + href.slice(3) : href);

627 };

628 }, []);

629 const linkify = s => {

630 const out = [];

631 let last = 0;

632 const re = /\[([^\]]+)\]\(([^)]+)\)/g;

633 for (let m; m = re.exec(s); ) {

634 if (m.index > last) out.push(s.slice(last, m.index));

635 out.push(<a key={m.index} href={doc(m[2])}>{m[1]}</a>);

636 last = re.lastIndex;

637 }

638 if (last < s.length) out.push(s.slice(last));

639 return out;

640 };

641 const codeify = s => s.split(/(`[^`]+`)/g).map((part, i) => part[0] === '`' ? <code key={i}>{part.slice(1, -1)}</code> : part);

642 const SOURCES = useMemo(() => ({

643 'workflows': '/en/common-workflows',

644 'teams': 'https://claude.com/blog/how-anthropic-teams-use-claude-code',

645 'legal': 'https://claude.com/blog/how-anthropic-uses-claude-legal',

646 'cybersecurity': 'https://claude.com/blog/how-anthropic-uses-claude-cybersecurity',

647 'best-practices': '/en/best-practices',

648 'ebook': 'https://resources.anthropic.com/hubfs/Scaling%20agentic%20coding%20across%20your%20organization.pdf'

649 }), []);

650 const [mounted, setMounted] = useState(false);

651 const [q, setQ] = useState('');

652 const [start, setStart] = useState(true);

653 const [sel, setSel] = useState(null);

654 const [openId, setOpenId] = useState(null);

655 const [copied, setCopied] = useState(null);

656 const [fills, setFills] = useState({});

657 const copyTimer = useRef(null);

658 useEffect(() => {

659 setMounted(true);

660 return () => clearTimeout(copyTimer.current);

661 }, []);

662 const setFill = (id, key, val) => setFills(f => ({

663 ...f,

664 [id + '.' + key]: val

665 }));

666 const fillOf = (p, key) => {

667 const v = fills[p.id + '.' + key];

668 return v !== undefined ? v : p.slots && p.slots[key] !== undefined ? p.slots[key] : '';

669 };

670 const assemble = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => fillOf(p, k) || p.slots && p.slots[k] || k);

671 const preview = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => p.slots && p.slots[k] || k);

672 const bodyText = p => preview(p) + ' ' + p.teaches.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1') + ' ' + (p.next || '');

673 const widthFor = s => (s || '').length + 3 + 'ch';

674 const ql = q.trim().toLowerCase();

675 const toggleTag = k => {

676 setStart(false);

677 setSel(s => !ql && s === k ? null : k);

678 };

679 const clear = () => {

680 setStart(false);

681 setSel(null);

682 setQ('');

683 };

684 const results = useMemo(() => {

685 const list = PROMPTS.filter(p => {

686 if (ql) return p.title.toLowerCase().includes(ql) || bodyText(p).toLowerCase().includes(ql);

687 if (start) return !!p.startN;

688 if (sel) return tagsOf(p).includes(sel);

689 return true;

690 });

691 if (ql) return list;

692 if (start) return list.sort((a, b) => a.startN - b.startN);

693 if (sel) return list.sort((a, b) => (a.roles || []).length - (b.roles || []).length || (b.sdlc === 'operate') - (a.sdlc === 'operate'));

694 return list;

695 }, [PROMPTS, ql, start, sel]);

696 const matchSnippet = p => {

697 if (!ql || p.title.toLowerCase().includes(ql)) return null;

698 const txt = bodyText(p);

699 const at = txt.toLowerCase().indexOf(ql);

700 if (at < 0) return null;

701 const lo = Math.max(0, at - 30), hi = Math.min(txt.length, at + ql.length + 50);

702 return [lo > 0 ? '…' : '', txt.slice(lo, at), <mark key="m">{txt.slice(at, at + ql.length)}</mark>, txt.slice(at + ql.length, hi), hi < txt.length ? '…' : ''];

703 };

704 const grouped = useMemo(() => {

705 if (start && !q.trim()) return [];

706 const g = {};

707 for (const p of results) {

708 const key = p.sdlc + '|' + p.cat;

709 (g[key] = g[key] || ({

710 sdlc: p.sdlc,

711 cat: p.cat,

712 items: []

713 })).items.push(p);

714 }

715 return Object.values(g);

716 }, [results, start, q]);

717 const copy = async (str, id) => {

718 try {

719 await navigator.clipboard.writeText(str);

720 } catch {

721 const ta = document.createElement('textarea');

722 ta.value = str;

723 ta.setAttribute('readonly', '');

724 ta.style.position = 'fixed';

725 ta.style.opacity = '0';

726 document.body.appendChild(ta);

727 ta.select();

728 document.execCommand('copy');

729 document.body.removeChild(ta);

730 }

731 clearTimeout(copyTimer.current);

732 setCopied(id);

733 copyTimer.current = setTimeout(() => setCopied(null), 1600);

734 };

735 const promptBody = p => {

736 if (!p.slots) return <code>{p.prompt}</code>;

737 const parts = p.prompt.split(/(\{\w+\})/g);

738 return <code>

739 {parts.map((part, idx) => {

740 const m = part.match(/^\{(\w+)\}$/);

741 if (!m) return <span key={idx}>{part}</span>;

742 const k = m[1];

743 const val = fillOf(p, k);

744 return <input key={idx} type="text" className="pl-slot" value={val} placeholder={p.slots[k] || k} aria-label={k} style={{

745 width: widthFor(val || p.slots[k])

746 }} onChange={e => setFill(p.id, k, e.target.value)} onFocus={e => e.target.select()} onClick={e => e.stopPropagation()} />;

747 })}

748 </code>;

749 };

750 const card = p => {

751 const open = openId === p.id;

752 const srcHref = SOURCES[p.src];

753 const srcLabel = sourceLabels[p.src];

754 const snip = matchSnippet(p);

755 return <div key={p.id} className={'pl-card' + (open ? ' pl-open' : '')}>

756 <button type="button" className="pl-head" onClick={() => setOpenId(open ? null : p.id)} aria-expanded={open}>

757 <span className="pl-title">{p.title}</span>

758 {!!p.startN && <span className="pl-chip">{L.startHere} · {p.startN}</span>}

759 </button>

760 {snip ? <div className="pl-match">{snip}</div> : <code className="pl-prompt-preview">{preview(p)}</code>}

761 {open && <div className="pl-body">

762 <div className="pl-label">{p.slots ? L.fillAndCopy : L.copyThis}</div>

763 {p.needs && L.needs && L.needs[p.needs] && <div className="pl-hint pl-needs">

764 <span className="pl-needs-label">{L.needsLabel}</span> {linkify(L.needs[p.needs])}

765 </div>}

766 {p.paste && L.paste && L.paste[p.paste] && <div className="pl-hint pl-paste">{L.paste[p.paste]}</div>}

767 {p.slots && <div className="pl-hint">

768 {L.hintBefore} <span className="pl-hint-chip">{L.hintChip}</span> {L.hintAfter}

769 </div>}

770 <div className="pl-prompt-box">

771 <span className="pl-caret">{'❯'}</span>

772 {promptBody(p)}

773 <button type="button" className="pl-copy" onClick={() => copy(assemble(p), p.id)}>

774 {copied === p.id ? L.copied : L.copy}

775 </button>

776 </div>

777 <div className="pl-label">{L.whyWorks}</div>

778 <div className="pl-teaches">{linkify(p.teaches)}</div>

779 {p.nextHref && p.next && <div className="pl-next">

780 <span className="pl-next-label">{L.makeItStick}</span>

781 <a href={doc(p.nextHref)}>{codeify(p.next)} →</a>

782 </div>}

783 {srcLabel && <div className="pl-src">{L.from} {srcHref ? <a href={doc(srcHref)}>{srcLabel}</a> : srcLabel}</div>}

784 </div>}

785 </div>;

786 };

787 const STYLES = useMemo(() => `

788.pl {

789 --pl-accent: #D97757;

790 --pl-accent-bg: rgba(217,119,87,0.07);

791 --pl-bg: #fff;

792 --pl-surface: #FAFAF7;

793 --pl-border: #E8E6DC;

794 --pl-border-subtle: rgba(31,30,29,0.08);

795 --pl-text: #141413;

796 --pl-text-2: #5E5D59;

797 --pl-text-3: #73726C;

798 --pl-text-4: #9C9A92;

799 --pl-mono: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);

800 font-family: 'Anthropic Sans', -apple-system, BlinkMacSystemFont, sans-serif;

801 font-size: 16px; color: var(--pl-text); margin: 8px 0 32px;

802}

803.dark .pl {

804 --pl-bg: #1f1e1d;

805 --pl-surface: #262624;

806 --pl-border: #3d3d3a;

807 --pl-border-subtle: rgba(240,238,230,0.08);

808 --pl-text: #f0eee6;

809 --pl-text-2: #bfbdb4;

810 --pl-text-3: #91908a;

811 --pl-text-4: #73726c;

812}

813.pl *, .pl *::before, .pl *::after { box-sizing: border-box; }

814.pl button { font-family: inherit; cursor: pointer; }

815.pl a { color: var(--pl-accent); text-decoration: none; }

816.pl a:hover { text-decoration: underline; }

817 

818.pl-search {

819 display: flex; align-items: center; gap: 10px;

820 padding: 14px 18px; background: var(--pl-surface);

821 border: 1px solid var(--pl-border); border-radius: 12px;

822 margin-bottom: 14px;

823}

824.pl-search input {

825 flex: 1; border: none; outline: none; background: transparent;

826 font-size: 16px; color: var(--pl-text);

827}

828.pl-search input::placeholder { color: var(--pl-text-4); }

829 

830.pl-tags { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 18px; }

831.pl-tag {

832 padding: 7px 14px; border: 1px solid var(--pl-border); background: var(--pl-bg);

833 font-size: 14px; color: var(--pl-text-2); border-radius: 999px;

834}

835.pl-tag:hover { background: var(--pl-surface); }

836.pl-tag.pl-on { background: var(--pl-text); border-color: var(--pl-text); color: var(--pl-bg); }

837.pl-tag.pl-start { color: var(--pl-accent); font-weight: 500; }

838.pl-tag.pl-start.pl-on { background: var(--pl-accent); border-color: var(--pl-accent); color: #fff; }

839.pl-tags.pl-dim .pl-tag { opacity: 0.5; }

840.pl-tags.pl-dim .pl-tag:hover { opacity: 1; }

841.pl-sep { width: 1px; height: 22px; background: var(--pl-border); margin: 0 4px; }

842.pl-clear { border: none; background: none; font-size: 13px; color: var(--pl-text-4); padding: 4px 6px; }

843.pl-clear:hover { color: var(--pl-text-2); }

844.pl-count { margin-left: auto; font-size: 14px; color: var(--pl-text-4); }

845 

846.pl-group-h {

847 font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;

848 color: var(--pl-text-4); margin: 24px 0 12px;

849}

850.pl-group-h .pl-phase { color: var(--pl-text-3); }

851.pl-card {

852 border: 1px solid var(--pl-border-subtle); border-radius: 10px;

853 margin-bottom: 12px; background: var(--pl-bg); overflow: hidden;

854 padding: 14px 18px;

855}

856.pl-card.pl-open { border-color: var(--pl-border); background: var(--pl-surface); }

857.pl-head {

858 width: 100%; display: flex; align-items: baseline; gap: 12px;

859 border: none; background: transparent; text-align: left; padding: 0;

860}

861.pl-head:focus-visible { outline: 2px solid var(--pl-accent); outline-offset: 2px; border-radius: 6px; }

862.pl-title {

863 flex: 1; font-size: 17px; font-weight: 500; color: var(--pl-text);

864 white-space: nowrap; overflow: hidden; text-overflow: ellipsis;

865}

866.pl-prompt-preview {

867 display: block; font-family: var(--pl-mono); font-size: 13.5px; color: var(--pl-text-3);

868 margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;

869}

870.pl-chip {

871 font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase;

872 padding: 3px 9px; border-radius: 999px; flex-shrink: 0;

873 background: var(--pl-accent-bg); color: var(--pl-accent);

874}

875 

876.pl-body { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--pl-border-subtle); }

877.pl-label {

878 font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase;

879 color: var(--pl-text-4); margin: 12px 0 8px;

880}

881.pl-prompt-box {

882 display: flex; align-items: center; gap: 10px;

883 padding: 14px 16px; background: #141413; color: #f0eee6;

884 border-radius: 8px; font-family: var(--pl-mono); font-size: 15px;

885}

886.pl-caret { color: var(--pl-accent); flex-shrink: 0; }

887.pl-prompt-box code { flex: 1; background: none; padding: 0; color: inherit; white-space: pre-wrap; line-height: 1.9; }

888.pl-slot {

889 font-family: var(--pl-mono); font-size: inherit;

890 background: rgba(217,119,87,0.15); color: #f0eee6;

891 border: none; border-bottom: 1.5px dashed var(--pl-accent);

892 border-radius: 4px 4px 0 0; padding: 2px 6px; margin: 0 1px;

893 outline: none; min-width: 6ch; max-width: 100%;

894 box-sizing: content-box; cursor: text;

895}

896.pl-slot:hover { background: rgba(217,119,87,0.22); }

897.pl-slot:focus { background: rgba(217,119,87,0.28); border-bottom-style: solid; }

898.pl-slot::placeholder { color: rgba(240,238,230,0.4); font-style: italic; }

899.pl-hint { font-size: 14px; color: var(--pl-text-3); margin: 0 0 10px; }

900.pl-paste { color: var(--pl-text-2); }

901.pl-needs { color: var(--pl-text-2); }

902.pl-needs-label {

903 display: inline-block; font-size: 10.5px; letter-spacing: 0.06em;

904 text-transform: uppercase; padding: 2px 7px; margin-right: 6px;

905 border-radius: 4px; background: var(--pl-accent-bg); color: var(--pl-accent);

906}

907.pl-hint-chip {

908 font-family: var(--pl-mono); font-size: 0.92em;

909 background: var(--pl-accent-bg); color: var(--pl-accent);

910 border-bottom: 1.5px dashed var(--pl-accent);

911 border-radius: 3px 3px 0 0; padding: 1px 5px;

912}

913.pl-copy {

914 font-size: 12.5px; padding: 6px 12px; border-radius: 6px;

915 background: var(--pl-accent); color: #fff; border: none; flex-shrink: 0;

916}

917.pl-teaches { display: block; font-size: 15.5px; color: var(--pl-text-2); margin: 4px 0 0; line-height: 1.6; }

918.pl-match {

919 display: block; font-size: 13.5px; color: var(--pl-text-3);

920 margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;

921}

922.pl-match mark { background: var(--pl-accent-bg); color: var(--pl-text); padding: 1px 2px; border-radius: 3px; }

923.pl-next {

924 display: flex; align-items: baseline; gap: 10px;

925 margin: 14px 0 0; padding: 10px 12px;

926 background: var(--pl-accent-bg); border-radius: 8px; font-size: 14.5px;

927}

928.pl-next-label {

929 font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase;

930 color: var(--pl-accent); font-weight: 600; flex-shrink: 0;

931}

932.pl-src { display: block; font-size: 14px; color: var(--pl-text-4); margin: 14px 0 0; }

933 

934.pl-show-all {

935 display: block; width: 100%; padding: 14px; margin-top: 4px;

936 border: 1px dashed var(--pl-border); border-radius: 10px;

937 background: transparent; font-size: 15px; color: var(--pl-accent);

938 text-align: center;

939}

940.pl-show-all:hover { background: var(--pl-accent-bg); border-style: solid; }

941 

942.pl-empty {

943 padding: 32px; text-align: center; color: var(--pl-text-4);

944 border: 1px dashed var(--pl-border); border-radius: 10px;

945}

946`, []);

947 if (!mounted) return <div className="pl" style={{

948 minHeight: 480

949 }} />;

950 return <div className="pl">

951 <style>{STYLES}</style>

952 

953 <div className="pl-search">

954 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" style={{

955 color: 'var(--pl-text-4)'

956 }}>

957 <circle cx="11" cy="11" r="7" /><line x1="21" y1="21" x2="16.65" y2="16.65" />

958 </svg>

959 <input type="text" placeholder={L.search} value={q} onChange={e => {

960 setQ(e.target.value);

961 if (e.target.value) setStart(false);

962 }} aria-label={L.search} />

963 </div>

964 

965 <div className={'pl-tags' + (ql ? ' pl-dim' : '')}>

966 <button type="button" className={'pl-tag pl-start' + (!ql && start ? ' pl-on' : '')} onClick={() => {

967 setQ('');

968 setStart(!start);

969 if (!start) setSel(null);

970 }}>

971 ★ {L.startHere}

972 </button>

973 <span className="pl-sep" />

974 {TAGS.map(k => <button key={k} type="button" aria-pressed={!ql && sel === k} className={'pl-tag' + (!ql && sel === k ? ' pl-on' : '')} onClick={() => {

975 setQ('');

976 toggleTag(k);

977 }}>

978 {TL(k)}

979 </button>)}

980 {(start || sel || q) && <button type="button" className="pl-clear" onClick={clear}>{L.clear}</button>}

981 <span className="pl-count">{results.length} {results.length === 1 ? L.prompt : L.prompts}</span>

982 </div>

983 

984 {results.length === 0 ? <div className="pl-empty">

985 {L.noMatch} {ql ? <code>{q}</code> : null} <button type="button" className="pl-clear" onClick={clear}>{L.clear}</button>

986 </div> : !ql && start ? <div>

987 <div className="pl-group-h">{L.startHereHeader}</div>

988 {results.map(card)}

989 <button type="button" className="pl-show-all" onClick={clear}>

990 {L.showAll && L.showAll.replace('{n}', PROMPTS.length)} →

991 </button>

992 </div> : grouped.map(g => <div key={g.sdlc + '|' + g.cat}>

993 <div className="pl-group-h"><span className="pl-phase">{phaseLabels[g.sdlc] || g.sdlc}</span> · {catLabels[g.cat] || g.cat}</div>

994 {g.items.map(card)}

995 </div>)}

996 </div>;

997};

998 

9Dies ist eine Bibliothek von Prompts zum Kopieren in Claude Code. Nutzen Sie sie, um neue Arbeitsweisen zu erkunden, die Sie noch nicht ausprobiert haben, oder wenn Sie nicht wissen, wo Sie anfangen sollen.999Dies ist eine Bibliothek von Prompts zum Kopieren in Claude Code. Nutzen Sie sie, um neue Arbeitsweisen zu erkunden, die Sie noch nicht ausprobiert haben, oder wenn Sie nicht wissen, wo Sie anfangen sollen.

10 1000 

11Die Prompts stammen aus verschiedenen Anthropic-Leitfäden, darunter [Häufige Arbeitsabläufe](/de/common-workflows), [Best Practices](/de/best-practices) und [Wie Anthropic-Teams Claude Code nutzen](https://claude.com/blog/how-anthropic-teams-use-claude-code). Sie sind Ausgangspunkte und keine Skripte. Öffnen Sie **Warum das funktioniert** unter einem beliebigen Prompt, um das Muster dahinter zu sehen, damit Sie Ihre eigenen Prompts schreiben können.1001Die Prompts stammen aus verschiedenen Anthropic-Leitfäden, darunter [Häufige Arbeitsabläufe](/de/common-workflows), [Best Practices](/de/best-practices) und [Wie Anthropic-Teams Claude Code nutzen](https://claude.com/blog/how-anthropic-teams-use-claude-code). Sie sind Ausgangspunkte und keine Skripte. Öffnen Sie **Warum das funktioniert** unter einem beliebigen Prompt, um das Muster dahinter zu sehen, damit Sie Ihre eigenen Prompts schreiben können.

12 1002 

1003export const labels = {

1004 startHere: "Hier beginnen",

1005 startHereHeader: "Fünf Prompts zum Ausprobieren",

1006 showAll: "Alle {n} Prompts anzeigen",

1007 search: "Prompts durchsuchen…",

1008 clear: "Löschen",

1009 prompt: "Prompt",

1010 prompts: "Prompts",

1011 noMatch: "Keine Prompts gefunden",

1012 fillAndCopy: "Ausfüllen und kopieren",

1013 copyThis: "Diesen Prompt kopieren",

1014 hintBefore: "Geben Sie in die",

1015 hintChip: "hervorgehobenen",

1016 hintAfter: "Felder ein, um anzupassen, und kopieren Sie dann.",

1017 copy: "Kopieren",

1018 copied: "Kopiert",

1019 whyWorks: "Warum das funktioniert",

1020 makeItStick: "Zum Merken",

1021 from: "Von",

1022 paste: {

1023 mockup: "Fügen Sie Ihr Mockup-Bild ein, ziehen Sie es herein oder erwähnen Sie es mit @, und senden Sie dann folgendes:",

1024 design: "Fügen Sie Ihr Design-Bild ein, ziehen Sie es herein oder erwähnen Sie es mit @, und senden Sie dann folgendes:",

1025 screenshot: "Fügen Sie Ihren Screenshot ein, ziehen Sie ihn herein oder erwähnen Sie ihn mit @, und senden Sie dann folgendes:",

1026 plan: "Fügen Sie Ihre Plan-Ausgabe zuerst in den Prompt ein, und senden Sie dann folgendes:",

1027 error: "Fügen Sie die Fehlerausgabe zuerst in den Prompt ein, und senden Sie dann folgendes:",

1028 csv: "Ziehen Sie Ihre Datei in den Prompt, oder ersetzen Sie den Pfad unten durch eine @-Erwähnung Ihrer eigenen:"

1029 },

1030 needsLabel: "Benötigt",

1031 needs: {

1032 tracker: "Ihren Issue-Tracker, der als [claude.ai-Connector](/de/mcp#use-mcp-servers-from-claude-ai) oder [MCP-Server](/de/mcp) hinzugefügt wurde.",

1033 gh: "die authentifizierte [gh CLI](https://cli.github.com) oder GitHub, das als [claude.ai-Connector](/de/mcp#use-mcp-servers-from-claude-ai) hinzugefügt wurde.",

1034 browser: "eine Möglichkeit für Claude, das Ergebnis zu rendern und einen Screenshot zu erstellen. Die [Desktop-App](/de/desktop#preview-your-app) hat dies bereits integriert. Im Terminal installieren Sie die [Chrome-Erweiterung](/de/chrome) oder einen Playwright-[MCP](/de/mcp)-Server.",

1035 db: "Ihr Data Warehouse oder Log Store, das als [claude.ai-Connector](/de/mcp#use-mcp-servers-from-claude-ai) oder [MCP-Server](/de/mcp) hinzugefügt wurde."

1036 }

1037};

1038 

1039export const tagLabels = {

1040 understand: "Verstehen",

1041 plan: "Planen",

1042 prototype: "Prototyp",

1043 build: "Erstellen",

1044 test: "Testen",

1045 refactor: "Umgestalten",

1046 review: "Überprüfen",

1047 steer: "Steuern",

1048 debug: "Debuggen",

1049 git: "Git",

1050 release: "Veröffentlichung",

1051 data: "Daten",

1052 automate: "Automatisieren",

1053 pm: "Produkt",

1054 design: "Design",

1055 docs: "Dokumentation",

1056 marketing: "Marketing",

1057 security: "Sicherheit",

1058 ops: "Bereitschaft"

1059};

1060 

1061export const phaseLabels = {

1062 discover: "Entdecken",

1063 design: "Design",

1064 build: "Erstellen",

1065 ship: "Versand",

1066 operate: "Betrieb"

1067};

1068 

1069export const sourceLabels = {

1070 workflows: "Häufige Arbeitsabläufe",

1071 teams: "Wie Anthropic-Teams Claude Code nutzen",

1072 legal: "Wie Anthropic Claude in der Rechtsabteilung nutzt",

1073 cybersecurity: "Wie Anthropic Claude in der Cybersicherheit nutzt",

1074 "best-practices": "Best Practices",

1075 ebook: "Leitfaden zum Skalieren von agentengestütztem Coding"

1076};

1077 

1078export const catLabels = {

1079 Onboard: "Onboarding",

1080 Understand: "Verstehen",

1081 Plan: "Planen",

1082 Prototype: "Prototyp",

1083 Implement: "Implementieren",

1084 Test: "Testen",

1085 Refactor: "Umgestalten",

1086 Review: "Überprüfen",

1087 Steer: "Steuern",

1088 Git: "Git",

1089 Release: "Veröffentlichung",

1090 Debug: "Debuggen",

1091 Incident: "Vorfall",

1092 Data: "Daten",

1093 Automate: "Automatisieren"

1094};

1095 

1096export const text = {

1097 "get-oriented-in-a": {

1098 title: "Sich in einem neuen Repository orientieren",

1099 teaches: "Beschreiben Sie, was Sie wissen möchten, nicht welche Dateien Sie lesen sollen. Claude erkundet das Projekt selbst und gibt eine Zusammenfassung zurück, wie es zusammenhängt.",

1100 next: "Führen Sie `/init` aus, um `CLAUDE.md` einzurichten, damit Claude sich daran erinnert"

1101 },

1102 "explain-unfamiliar-code": {

1103 title: "Unbekannten Code erklären",

1104 teaches: "Nennen Sie die Datei und sagen Sie, in welchem Format Sie die Antwort haben möchten. Ersetzen Sie die HTML-Seite durch ein Diagramm, Aufzählungspunkte oder was auch immer zu Ihrer Lernweise passt.",

1105 next: "Legen Sie einen Ausgabestil fest, damit Claude immer in Ihrem bevorzugten Format erklärt"

1106 },

1107 "find-where-something-happens": {

1108 title: "Finden Sie, wo etwas passiert",

1109 teaches: "Suchen Sie nach Verhalten statt nach Dateinamen. Die Suche funktioniert auch, wenn Sie nicht wissen, wie die Datei heißt oder in welchem Verzeichnis sie sich befindet."

1110 },

1111 "see-what-depends-on": {

1112 title: "Überprüfen Sie, was bricht, bevor Sie löschen",

1113 teaches: "Fragen Sie, bevor Sie etwas entfernen. Die Liste der Aufrufer und nachgelagerten Auswirkungen zeigt Ihnen, ob Sie eine einzeilige Bereinigung oder eine Änderung vor sich haben, die Sie koordinieren müssen."

1114 },

1115 "trace-how-code-evolved": {

1116 title: "Verfolgen Sie, wie sich Code entwickelt hat",

1117 teaches: "Verweisen Sie auf die Commit-Historie, wenn die Frage das Warum ist, nicht das Was. Claude liest das Protokoll und die Blame für jede Versionskontrolle, die Sie verwenden, und erklärt die Entscheidungen hinter der aktuellen Implementierung."

1118 },

1119 "scope-a-change-before": {

1120 title: "Bestimmen Sie den Umfang einer Änderung, bevor Sie beginnen",

1121 teaches: "Schätzen Sie die Arbeit, bevor Sie sie in eine Roadmap aufnehmen. Die Dateiliste zeigt Ihnen, ob Sie ein einzelnes Komponente oder eine übergreifende Änderung vor sich haben."

1122 },

1123 "ask-the-codebase-a": {

1124 title: "Stellen Sie der Codebasis eine Produktfrage",

1125 teaches: "Geben Sie Ihre Rolle an, damit die Antwort auf der richtigen Ebene liegt. Claude erklärt, was das Produkt tatsächlich aus dem Quellcode tut, ohne dass Sie ihn lesen müssen.",

1126 next: "Legen Sie einen Ausgabestil fest, damit Claude Antworten immer auf dieser Ebene präsentiert"

1127 },

1128 "plan-a-multi-file": {

1129 title: "Planen Sie eine Änderung mit mehreren Dateien, bevor Sie Code anfassen",

1130 teaches: "Das Hinzufügen von \"noch nicht bearbeiten\" trennt Erkundung von Änderungen, sodass Sie den Ansatz sehen, bevor sich Code bewegt. Um Plan-First zur Standardeinstellung für jeden Prompt zu machen, drücken Sie Shift+Tab für [Plan-Modus](/de/permission-modes#analyze-before-you-edit-with-plan-mode)."

1131 },

1132 "draft-a-spec-by": {

1133 title: "Entwerfen Sie eine Spezifikation durch ein Interview",

1134 teaches: "Bitten Sie darum, interviewt zu werden, anstatt die Spezifikation selbst zu schreiben. Claude stellt Ihnen strukturierte Fragen, bis die Anforderungen vollständig sind, und schreibt das Ergebnis dann in eine Datei.",

1135 next: "Speichern Sie Ihre Interviewfragen als `/spec`-Skill, damit jede Spezifikation auf die gleiche Weise beginnt"

1136 },

1137 "turn-a-meeting-into": {

1138 title: "Verwandeln Sie ein Meeting in Tickets",

1139 teaches: "Überspringen Sie den Transkriptionsschritt. Claude extrahiert Aktionselemente aus der unstrukturierten Eingabe und schreibt sie direkt über [MCP](/de/mcp) in Ihren Tracker, sodass Sie die Tickets überprüfen, nicht das Transkript.",

1140 next: "Speichern Sie dies als `/tickets`-Skill"

1141 },

1142 "map-edge-cases-before": {

1143 title: "Kartografieren Sie Grenzfälle vor dem Erstellen",

1144 teaches: "Fragen Sie, was fehlt, nicht was vorhanden ist. Claude listet die Fehlerzustände, leeren Zustände und Grenzfälle auf, die ein Happy-Path-Design normalerweise überspringt."

1145 },

1146 "turn-a-mockup-into": {

1147 title: "Verwandeln Sie ein Mockup in einen funktionierenden Prototyp",

1148 teaches: "Ein anklickbarer Prototyp beantwortet Fragen, die ein statisches Mockup nicht kann. Geben Sie den funktionierenden Code an die Entwicklung statt, die Interaktionen in einem Dokument zu erklären."

1149 },

1150 "implement-from-a-screenshot": {

1151 title: "Implementieren Sie aus einem Screenshot und überprüfen Sie selbst",

1152 teaches: "Dies gibt Claude eine Überprüfungsschleife: Es rendert, vergleicht mit dem Quellbild und iteriert, ohne dass Sie jede Lücke aufzeigen.",

1153 next: "Verwenden Sie `/goal`, um Claude zum Iterieren zu bringen, bis die Screenshots übereinstimmen"

1154 },

1155 "follow-an-existing-pattern": {

1156 title: "Folgen Sie einem vorhandenen Muster",

1157 teaches: "Verweisen Sie auf Code, den Sie bereits mögen. Ohne Referenz verwendet Claude allgemeine Best Practices. Mit einer Referenz entspricht es den Konventionen, die Ihre Codebasis tatsächlich verwendet.",

1158 next: "Bitten Sie Claude, das Muster, das es befolgt hat, in `CLAUDE.md` zu schreiben, damit zukünftige Sitzungen es ohne die Referenz abgleichen"

1159 },

1160 "add-a-small-well": {

1161 title: "Fügen Sie eine kleine, gut definierte Funktion hinzu",

1162 teaches: "Geben Sie die Ein- und Ausgaben an, nicht wie Sie sie erstellen. Claude findet, wo ähnlicher Code lebt, und fügt Ihren daneben hinzu."

1163 },

1164 "build-a-small-internal": {

1165 title: "Erstellen Sie ein kleines internes Tool von Grund auf",

1166 teaches: "Sie benötigen kein Projekt, kein Framework und keinen Build-Schritt. Beschreiben Sie das Tool und bitten Sie Claude, es zu öffnen, damit Sie es sofort funktionieren sehen."

1167 },

1168 "work-an-issue-end": {

1169 title: "Arbeiten Sie ein Problem von Anfang bis Ende",

1170 teaches: "Geben Sie die Ticketnummer an, nicht eine Zusammenfassung. Claude liest das vollständige Ticket selbst, sodass Anforderungen, die Sie vergessen würden zu erwähnen, durchkommen, und es validiert die Änderung, bevor es Bericht erstattet."

1171 },

1172 "find-and-update-copy": {

1173 title: "Finden und aktualisieren Sie Text in der gesamten Codebasis",

1174 teaches: "Fragen Sie nach Varianten und sagen Sie, was Sie überspringen sollen. Claude findet Formulierungen, die eine wörtliche Suche vermissen würde, und lässt Test-Fixtures und Verlauf unberührt, sodass Sie nur den Text überprüfen, den Benutzer tatsächlich sehen."

1175 },

1176 "draft-from-past-examples": {

1177 title: "Entwerfen Sie ein Dokument aus früheren Beispielen",

1178 teaches: "Verweisen Sie auf einen Ordner mit abgeschlossener Arbeit, anstatt Ihren Stil zu beschreiben. Claude lernt die Struktur und Stimme aus dem, was Sie bereits versendet haben, sodass der erste Entwurf wie einer von Ihnen klingt.",

1179 next: "Speichern Sie die Stimme als Skill, damit jeder Entwurf dort beginnt"

1180 },

1181 "write-tests-run-them": {

1182 title: "Schreiben Sie Tests, führen Sie sie aus, beheben Sie Fehler",

1183 teaches: "Bitten Sie darum, zu schreiben, auszuführen und zu beheben, damit Claude iteriert, ohne auf Anweisungen zu warten.",

1184 next: "Führen Sie `/init` aus, damit Claude Ihren Test-Befehl automatisch lernt"

1185 },

1186 "drive-implementation-from-tests": {

1187 title: "Treiben Sie die Implementierung von Tests an",

1188 teaches: "Test-getriebene Entwicklung: Die Tests definieren, wann die Arbeit abgeschlossen ist, und Claude iteriert die Implementierung, bis sie bestanden werden."

1189 },

1190 "fill-gaps-from-a": {

1191 title: "Füllen Sie Lücken aus einem Abdeckungsbericht",

1192 teaches: "Verweisen Sie auf den Abdeckungsbericht, anstatt zu raten, was nicht getestet wird. Claude liest die tatsächlichen Zahlen und schreibt Tests für die Dateien, die sie am meisten benötigen.",

1193 next: "Legen Sie dies als `/goal` fest, damit Claude weiterhin Tests schreibt, bis die Abdeckung das Ziel erreicht"

1194 },

1195 "port-code-between-languages": {

1196 title: "Portieren Sie Code in eine andere Sprache",

1197 teaches: "Sagen Sie, was Sie beibehalten möchten, nicht nur die Zielsprache. Das Benennen der API oder des Verhaltens, das gleich bleiben muss, gibt Claude einen Vertrag, um den Port dagegen zu überprüfen."

1198 },

1199 "generate-docs-for-code": {

1200 title: "Generieren Sie Dokumentation für undokumentierten Code",

1201 teaches: "Nennen Sie den Umfang und das Format. Claude findet, was fehlt, und entspricht dem Kommentarstil, der bereits in der Datei vorhanden ist, sodass die neue Dokumentation wie der Rest klingt."

1202 },

1203 "migrate-a-pattern-across": {

1204 title: "Migrieren Sie ein Muster in der gesamten Codebasis",

1205 teaches: "Beschreiben Sie das alte Muster und das neue. Claude zuerst aufzufordern, jeden Ort zu identifizieren, bedeutet, dass die Aufrufstellen in der Antwort aufgelistet sind, sodass Sie überprüfen können, dass keine übersehen wurden."

1206 },

1207 "optimize-against-a-measurable": {

1208 title: "Optimieren Sie gegen ein messbares Ziel",

1209 teaches: "Das Angeben der Metrik und des Ziels gibt Claude eine klare Definition von Fertig.",

1210 next: "Legen Sie dies als `/goal` fest, damit Claude weiterhin misst und iteriert, bis es die Zahl erreicht"

1211 },

1212 "fix-a-precise-visual": {

1213 title: "Beheben Sie einen präzisen visuellen Fehler",

1214 teaches: "Präzises visuelles Feedback erhält eine präzise Reparatur. Geben Sie das genaue Element, die Messung und den Viewport an.",

1215 next: "Fügen Sie ein Vorschau-Tool hinzu, damit Claude den Fix selbst fotografiert und überprüft"

1216 },

1217 "review-your-changes-before": {

1218 title: "Überprüfen Sie Ihre Änderungen, bevor Sie committen",

1219 teaches: "Fangen Sie Probleme ab, während sie noch billig zu beheben sind. Claude liest die geänderten Dateien vollständig, nicht nur die Diff-Zeilen, sodass es Probleme erkennt, die eine schnelle Selbstüberprüfung vermisst.",

1220 next: "Führen Sie `/review` aus, um die gleiche Überprüfung in einem Befehl durchzuführen"

1221 },

1222 "review-a-pull-request": {

1223 title: "Überprüfen Sie einen Pull Request",

1224 teaches: "Claude überprüft mit der gesamten Codebasis im Kontext, nicht nur dem Diff. Es liest den geänderten Code und das, was er aufruft, sodass es Probleme erkennt, die eine Diff-only-Überprüfung vermissen würde.",

1225 next: "Schalten Sie dies für jeden PR mit Code Review ein"

1226 },

1227 "review-infrastructure-changes-before": {

1228 title: "Überprüfen Sie Infrastrukturänderungen vor dem Anwenden",

1229 teaches: "Plan-Ausgabe ist dicht und schwer zu scannen. Das Einfügen erhalten Sie eine Klartext-Zusammenfassung dessen, was tatsächlich geändert wird, bevor Sie es anwenden."

1230 },

1231 "run-a-security-review": {

1232 title: "Führen Sie eine Sicherheitsüberprüfung mit einem Subagenten durch",

1233 teaches: "Ein [Subagent](/de/sub-agents) führt die Prüfung in seinem eigenen Kontextfenster durch und meldet eine Zusammenfassung zurück, sodass eine lange Sicherheitsüberprüfung Ihre Hauptsitzung nicht ausfüllt. Der integrierte allgemeine Subagent handhabt dies ohne zusätzliche Einrichtung.",

1234 next: "Richten Sie einen dedizierten Sicherheitsüberprüfungs-Subagenten ein, den Ihr ganzes Team verwenden kann"

1235 },

1236 "review-content-before-sending": {

1237 title: "Fangen Sie Probleme vor der formalen Überprüfung ab",

1238 teaches: "Erhalten Sie einen ersten Durchgang, bevor ein Mensch Zeit damit verbringt. Nennen Sie die Bedenken, die Sie überprüft haben möchten, damit die Überprüfung fokussiert ist, und beheben Sie dann, was sie findet, und senden Sie einen saubereren Entwurf.",

1239 next: "Erfassen Sie Ihre Überprüfungs-Checkliste als Skill, den Ihr ganzes Team ausführen kann"

1240 },

1241 "course-correct-a-wrong": {

1242 title: "Korrigieren Sie einen falschen Ansatz",

1243 teaches: "Nennen Sie die Einschränkung, die Claude verpasst hat, nicht nur dass es falsch ist. Ein spezifischer Grund gibt Claude eine konkrete Einschränkung, um beim erneuten Versuch zu erfüllen, anstatt erneut zu raten.",

1244 next: "Drücken Sie `Esc` zweimal, um das Rewind-Menü zu öffnen und Code und Konversation wiederherzustellen, damit der erneute Versuch sauber beginnt"

1245 },

1246 "narrow-the-scope-of": {

1247 title: "Verengen Sie den Umfang einer Änderung",

1248 teaches: "Wenn die Richtung richtig ist, aber die Änderung zu breit wurde, bitten Sie Claude, einen Teil davon zu behalten, anstatt alles zurückzuspulen. Eine angegebene Grenze hält eine kleine Reparatur davon ab, eine Umgestaltung zu werden."

1249 },

1250 "turn-a-correction-into": {

1251 title: "Verwandeln Sie eine Korrektur in eine Regel",

1252 teaches: "Eine Korrektur im Chat wird nicht mit Ihrem Team geteilt. Eine Regel im [CLAUDE.md](/de/memory) des Projekts wird geteilt, sobald Sie sie committen, und Claude liest sie am Anfang jeder Sitzung.",

1253 next: "Öffnen Sie `/memory`, um zu überprüfen, was Claude geschrieben hat"

1254 },

1255 "resolve-merge-conflicts": {

1256 title: "Lösen Sie Merge-Konflikte",

1257 teaches: "Sagen Sie, welchen Zustand Sie möchten, nicht welche Marker Sie behalten sollen. Das Fragen nach der Begründung macht den Merge überprüfbar, anstatt eine Black Box zu sein."

1258 },

1259 "commit-with-a-generated": {

1260 title: "Committen Sie mit einer generierten Nachricht",

1261 teaches: "Lassen Sie Claude die Nachricht aus dem Diff ableiten. Sie entspricht dem vorhandenen Commit-Stil Ihres Repositorys."

1262 },

1263 "open-a-pull-request": {

1264 title: "Öffnen Sie einen Pull Request aus einem Ticket",

1265 teaches: "Überspringen Sie den Kontextwechsel zwischen Tracker, Editor und GitHub. Ein Prompt liest die Spezifikation, nimmt die Änderung vor und öffnet den PR."

1266 },

1267 "draft-release-notes-from": {

1268 title: "Entwerfen Sie Versionshinweise aus der Git-Historie",

1269 teaches: "Geben Sie zwei Referenzpunkte und die gewünschte Struktur an. Claude liest das Commit-Protokoll zwischen ihnen und entwirft ein Changelog, das Sie bearbeiten können.",

1270 next: "Speichern Sie dies als `/changelog`-Skill"

1271 },

1272 "write-a-ci-workflow": {

1273 title: "Schreiben Sie einen CI-Workflow",

1274 teaches: "Beschreiben Sie, wann er ausgeführt werden soll und was er tun soll; die YAML wird für Sie generiert, abgestimmt auf die Build- und Test-Befehle Ihres Projekts."

1275 },

1276 "find-and-fix-a": {

1277 title: "Finden und beheben Sie einen fehlgeschlagenen Test",

1278 teaches: "Beschreiben Sie das Symptom; Sie müssen nicht wissen, welche Datei kaputt ist. Claude führt den Test aus, um den Fehler zu sehen, verfolgt ihn in die Quelle und behebt ihn."

1279 },

1280 "investigate-a-reported-error": {

1281 title: "Untersuchen Sie einen gemeldeten Fehler",

1282 teaches: "Beschreiben Sie das Symptom und den Ort; Claude liest den relevanten Codepfad und verfolgt wahrscheinliche Ursachen. Fügen Sie Stack Traces oder Protokolle ein, wenn Sie diese haben.",

1283 next: "Fügen Sie einen Deeplink in Ihrem Runbook ein, der Claude mit diesem Prompt vorab ausgefüllt öffnet"

1284 },

1285 "fix-a-build-error": {

1286 title: "Beheben Sie einen Build-Fehler an der Wurzel",

1287 teaches: "Das Fragen nach Grundursache und Überprüfung verhindert oberflächliche Patches, die den Fehler unterdrücken, ohne ihn zu beheben."

1288 },

1289 "investigate-a-production-incident": {

1290 title: "Untersuchen Sie einen Produktionsvorfall",

1291 teaches: "Listen Sie die Evidenzquellen auf, um zu korrelieren, nicht die Schritte, die Sie unternehmen sollen. Claude liest Protokolle, Git-Historie und Konfiguration zusammen, um die Ursache einzugrenzen.",

1292 next: "Verbinden Sie Sentry oder Ihren Log Store über MCP"

1293 },

1294 "query-logs-in-plain": {

1295 title: "Fragen Sie Protokolle in einfachem Englisch ab",

1296 teaches: "Stellen Sie die Frage, anstatt das SQL zu schreiben. Claude erstellt die Abfrage, führt sie gegen Ihre verbundenen Protokolle aus und zeigt sowohl die Abfrage als auch das Ergebnis, sodass Sie überprüfen können, was ausgeführt wurde."

1297 },

1298 "diagnose-from-a-console": {

1299 title: "Diagnose aus einem Konsolen-Screenshot",

1300 teaches: "Cloud-Konsolen zeigen Ihnen das Problem, aber nicht die Befehle, um es zu beheben. Claude liest den Screenshot und übersetzt das Dashboard in die kubectl-, gcloud- oder aws-Befehle, die ausgeführt werden sollen."

1301 },

1302 "analyze-a-data-file": {

1303 title: "Analysieren Sie eine Datendatei",

1304 teaches: "Eine einmalige Frage benötigt kein einmaliges Skript. Verweisen Sie auf eine Datei in Ihrem Projektordner und Claude liest sie direkt, findet die Muster und schreibt die Ausgabe, wo Sie fragen.",

1305 next: "Verbinden Sie die Datenquelle über MCP, anstatt Dateien zu exportieren"

1306 },

1307 "generate-variations-from-performance": {

1308 title: "Generieren Sie Variationen aus Leistungsdaten",

1309 teaches: "Geben Sie die Einschränkung am Anfang an, damit die Generierung innerhalb der Grenze bleibt. Claude liest die Metriken, wählt aus, was ersetzt werden soll, und produziert Alternativen, die passen.",

1310 next: "Verbinden Sie die Anzeigenplattform über MCP, anstatt eine Datei zu exportieren"

1311 },

1312 "turn-a-recurring-task": {

1313 title: "Verwandeln Sie eine wiederkehrende Aufgabe in einen Skill",

1314 teaches: "Nennen Sie die Schritte einmal; verwenden Sie sie als Befehl erneut. Claude schreibt einen [Skill](/de/skills), den jeder in Ihrem Team ausführen kann."

1315 },

1316 "add-a-hook-for": {

1317 title: "Fügen Sie einen Hook für wiederholtes Verhalten hinzu",

1318 teaches: "Hooks machen ein Verhalten automatisch, anstatt etwas, das Sie sich merken müssen, um zu fragen. Beschreiben Sie den Trigger und die Aktion und Claude schreibt die [Hook](/de/hooks)-Konfiguration."

1319 },

1320 "connect-a-tool-with": {

1321 title: "Verbinden Sie ein Tool mit MCP",

1322 teaches: "Verbinden Sie die Quelle einmal, anstatt Daten jede Sitzung einzufügen. Nach [MCP](/de/mcp)-Einrichtung liest Claude direkt aus dem Tool, wenn Sie danach fragen."

1323 },

1324 "capture-what-to-remember": {

1325 title: "Erfassen Sie, was Sie sich für das nächste Mal merken möchten",

1326 teaches: "Fragen Sie, bevor Sie vergessen. Claude weiß, was es diese Sitzung herausfinden musste, und schlägt [CLAUDE.md](/de/memory)-Einträge vor, damit die nächste Sitzung mit diesem Kontext beginnt."

1327 }

1328};

1329 

1330<PromptLibrary text={text} labels={labels} tagLabels={tagLabels} phaseLabels={phaseLabels} sourceLabels={sourceLabels} catLabels={catLabels} />

1331 

13<h2 id="what-makes-these-prompts-work">1332<h2 id="what-makes-these-prompts-work">

14 Was macht diese Prompts funktionieren1333 Was macht diese Prompts funktionieren

15</h2>1334</h2>

quickstart.md +12 −5

Details

118claude118claude

119```119```

120 120 

121Sie sehen den Claude Code-Willkommensbildschirm mit Ihren Sitzungsinformationen, kürzlichen Gesprächen und den neuesten Updates. Geben Sie `/help` ein, um verfügbare Befehle anzuzeigen, oder `/resume`, um ein vorheriges Gespräch fortzusetzen.121Sie sehen die Claude Code-Eingabeaufforderung mit der Version, dem aktuellen Modell und dem Arbeitsverzeichnis, das oben angezeigt wird. Geben Sie `/help` ein, um verfügbare Befehle anzuzeigen, oder `/resume`, um ein vorheriges Gespräch fortzusetzen.

122 122 

123<Tip>123<Tip>

124 Nach der Anmeldung (Schritt 2) werden Ihre Anmeldedaten auf Ihrem System gespeichert. Weitere Informationen finden Sie unter [Verwaltung von Anmeldedaten](/de/authentication#credential-management).124 Nach der Anmeldung (Schritt 2) werden Ihre Anmeldedaten auf Ihrem System gespeichert. Weitere Informationen finden Sie unter [Verwaltung von Anmeldedaten](/de/authentication#credential-management).


278 Wesentliche Befehle278 Wesentliche Befehle

279</h2>279</h2>

280 280 

281Hier sind die wichtigsten Befehle für die tägliche Nutzung:281Hier sind die wichtigsten Befehle für die tägliche Nutzung. Shell-Befehle werden von Ihrem Terminal aus ausgeführt, um Claude Code zu starten oder fortzusetzen. Sitzungsbefehle werden in Claude Code ausgeführt, nachdem es gestartet wurde.

282 

283**Shell-Befehle**

282 284 

283| Befehl | Was er tut | Beispiel |285| Befehl | Was er tut | Beispiel |

284| ------------------- | ---------------------------------------------------- | ----------------------------------- |286| ------------------- | ---------------------------------------------------- | ----------------------------------- |


287| `claude -p "query"` | Einmalige Abfrage ausführen und dann beenden | `claude -p "explain this function"` |289| `claude -p "query"` | Einmalige Abfrage ausführen und dann beenden | `claude -p "explain this function"` |

288| `claude -c` | Letztes Gespräch im aktuellen Verzeichnis fortsetzen | `claude -c` |290| `claude -c` | Letztes Gespräch im aktuellen Verzeichnis fortsetzen | `claude -c` |

289| `claude -r` | Ein vorheriges Gespräch fortsetzen | `claude -r` |291| `claude -r` | Ein vorheriges Gespräch fortsetzen | `claude -r` |

292 

293**Sitzungsbefehle**

294 

295| Befehl | Was er tut | Beispiel |

296| ------------------- | --------------------------- | -------- |

290| `/clear` | Gesprächsverlauf löschen | `/clear` |297| `/clear` | Gesprächsverlauf löschen | `/clear` |

291| `/help` | Verfügbare Befehle anzeigen | `/help` |298| `/help` | Verfügbare Befehle anzeigen | `/help` |

292| `exit` oder Ctrl+D | Claude Code beenden | `exit` |299| `/exit` oder Ctrl+D | Claude Code beenden | `/exit` |

293 300 

294Siehe die [CLI-Referenz](/de/cli-reference) für eine vollständige Liste der Befehle.301Siehe die [CLI-Referenz](/de/cli-reference) für die vollständige Liste der Shell-Befehle und die [Befehle-Referenz](/de/commands) für die vollständige Liste der Sitzungsbefehle.

295 302 

296<h2 id="pro-tips-for-beginners">303<h2 id="pro-tips-for-beginners">

297 Tipps für Anfänger304 Tipps für Anfänger


336 </Accordion>343 </Accordion>

337</AccordionGroup>344</AccordionGroup>

338 345 

339<h2 id="what-s-next">346<h2 id="whats-next">

340 Was kommt als Nächstes?347 Was kommt als Nächstes?

341</h2>348</h2>

342 349 

remote-control.md +21 −10

Details

93 /remote-control My Project93 /remote-control My Project

94 ```94 ```

95 95 

96 Dies startet eine Remote Control-Sitzung, die Ihren aktuellen Gesprächsverlauf überträgt und eine Sitzungs-URL und einen QR-Code anzeigt, die Sie zum [Verbinden von einem anderen Gerät](#connect-from-another-device) verwenden können. Die Flags `--verbose`, `--sandbox` und `--no-sandbox` sind mit diesem Befehl nicht verfügbar.96 Dies startet eine Remote Control-Sitzung, die Ihren aktuellen Gesprächsverlauf überträgt.

97 

98 Die Flags `--verbose`, `--sandbox` und `--no-sandbox` sind mit diesem Befehl nicht verfügbar.

97 </Tab>99 </Tab>

98 100 

99 <Tab title="VS Code">101 <Tab title="VS Code">


111 </Tab>113 </Tab>

112</Tabs>114</Tabs>

113 115 

116<h3 id="check-connection-status">

117 Verbindungsstatus überprüfen

118</h3>

119 

120In einer interaktiven Terminal-Sitzung sitzt ein `/rc active`-Indikator in der Fußzeile unter dem Eingabefeld, während die Verbindung besteht, und wird ausgeblendet, wenn das Terminal zu schmal ist, um ihn anzuzeigen. Der Indikatortext ist ein Link zur Sitzung auf claude.ai. Wählen Sie ihn mit der Abwärts-Pfeiltaste aus und drücken Sie die Eingabetaste, oder führen Sie `/remote-control` erneut aus, um ein Statusfenster mit der Sitzungs-URL und einem QR-Code zu öffnen, den Sie zum [Verbinden von einem anderen Gerät](#connect-from-another-device) verwenden können.

121 

122Wenn die Verbindung fehlschlägt, wird der Indikator rot und zeigt `/rc failed` an. Wählen Sie ihn mit der Abwärts-Pfeiltaste aus und drücken Sie die Eingabetaste, um den Fehlergrund und eine Schließoption zu sehen, oder führen Sie `/remote-control` erneut aus, um es erneut zu versuchen.

123 

114<h3 id="connect-from-another-device">124<h3 id="connect-from-another-device">

115 Verbinden Sie sich von einem anderen Gerät125 Verbinden Sie sich von einem anderen Gerät

116</h3>126</h3>


1283. Die letzte aussagekräftige Nachricht im vorhandenen Gesprächsverlauf1383. Die letzte aussagekräftige Nachricht im vorhandenen Gesprächsverlauf

1294. Ein automatisch generierter Name wie `myhost-graceful-unicorn`, wobei `myhost` der Hostname Ihres Computers oder das Präfix ist, das Sie mit `--remote-control-session-name-prefix` festgelegt haben1394. Ein automatisch generierter Name wie `myhost-graceful-unicorn`, wobei `myhost` der Hostname Ihres Computers oder das Präfix ist, das Sie mit `--remote-control-session-name-prefix` festgelegt haben

130 140 

131Wenn Sie keinen expliziten Namen festgelegt haben, wird der Titel aktualisiert, um Ihre Eingabeaufforderung widerzuspiegeln, sobald Sie eine senden. Das Umbenennen einer Sitzung von claude.ai oder der Claude-App aktualisiert auch den lokalen Titel, der in `claude --resume` angezeigt wird.141Wenn Sie keinen expliziten Namen festgelegt haben, wird der Titel aktualisiert, um Ihre Eingabeaufforderung widerzuspiegeln, sobald Sie eine senden. {/* min-version: 2.1.176 */}Ab Claude Code v2.1.176 entsprechen automatisch generierte Titel der Sprache Ihres Gesprächs oder der [`language`](/de/settings#available-settings)-Einstellung, falls eine konfiguriert ist. Das Umbenennen einer Sitzung von claude.ai oder der Claude-App aktualisiert auch den lokalen Titel, der in `claude --resume` angezeigt wird.

132 142 

133Wenn die Umgebung bereits eine aktive Sitzung hat, werden Sie gefragt, ob Sie diese fortsetzen oder eine neue starten möchten.143Wenn die Umgebung bereits eine aktive Sitzung hat, werden Sie gefragt, ob Sie diese fortsetzen oder eine neue starten möchten.

134 144 


164 174 

165Wenn Remote Control aktiv ist, kann Claude Push-Benachrichtigungen an Ihr Telefon senden.175Wenn Remote Control aktiv ist, kann Claude Push-Benachrichtigungen an Ihr Telefon senden.

166 176 

167Claude entscheidet, wann eine Push-Benachrichtigung gesendet wird. Sie wird normalerweise gesendet, wenn eine lange laufende Aufgabe abgeschlossen ist oder wenn Claude eine Entscheidung von Ihnen benötigt, um fortzufahren. Sie können auch eine Push-Benachrichtigung in Ihrer Eingabeaufforderung anfordern, zum Beispiel `notify me when the tests finish`. Über den Ein-/Aus-Schalter unten gibt es keine Pro-Event-Konfiguration.177Claude entscheidet, wann eine Push-Benachrichtigung gesendet wird. Sie wird normalerweise gesendet, wenn eine lange laufende Aufgabe abgeschlossen ist oder wenn Claude eine Entscheidung von Ihnen benötigt, um fortzufahren. Sie können auch eine Push-Benachrichtigung in Ihrer Eingabeaufforderung anfordern, zum Beispiel `notify me when the tests finish`. Über die beiden Ein-/Aus-Schalter unten gibt es keine Pro-Event-Konfiguration.

168 178 

169<Note>179<Note>

170 Mobile Push-Benachrichtigungen erfordern Claude Code v2.1.110 oder später.180 Mobile Push-Benachrichtigungen erfordern Claude Code v2.1.110 oder später.


186 </Step>196 </Step>

187 197 

188 <Step title="Aktivieren Sie Push in Claude Code">198 <Step title="Aktivieren Sie Push in Claude Code">

189 Führen Sie in Ihrem Terminal `/config` aus und aktivieren Sie **Push when Claude decides**.199 Führen Sie in Ihrem Terminal `/config` aus und aktivieren Sie **Push when Claude decides** für proaktive Benachrichtigungen, **Push when actions required** für Berechtigungsaufforderungen und Fragen oder beides.

190 </Step>200 </Step>

191</Steps>201</Steps>

192 202 


204* **Lokaler Prozess muss weiterhin ausgeführt werden**: Remote Control wird als lokaler Prozess ausgeführt. Wenn Sie das Terminal schließen, VS Code beenden oder den `claude`-Prozess anderweitig beenden, endet die Sitzung.214* **Lokaler Prozess muss weiterhin ausgeführt werden**: Remote Control wird als lokaler Prozess ausgeführt. Wenn Sie das Terminal schließen, VS Code beenden oder den `claude`-Prozess anderweitig beenden, endet die Sitzung.

205* **Längerer Netzwerkausfall**: Wenn Ihr Computer aktiv ist, aber länger als etwa 10 Minuten das Netzwerk nicht erreichen kann, läuft die Sitzung ab und der Prozess wird beendet. Führen Sie `claude remote-control` erneut aus, um eine neue Sitzung zu starten.215* **Längerer Netzwerkausfall**: Wenn Ihr Computer aktiv ist, aber länger als etwa 10 Minuten das Netzwerk nicht erreichen kann, läuft die Sitzung ab und der Prozess wird beendet. Führen Sie `claude remote-control` erneut aus, um eine neue Sitzung zu starten.

206* **Ultraplan trennt Remote Control**: Das Starten einer [ultraplan](/de/ultraplan)-Sitzung trennt jede aktive Remote Control-Sitzung, da beide Funktionen die Schnittstelle claude.ai/code belegen und nur eine gleichzeitig verbunden sein kann.216* **Ultraplan trennt Remote Control**: Das Starten einer [ultraplan](/de/ultraplan)-Sitzung trennt jede aktive Remote Control-Sitzung, da beide Funktionen die Schnittstelle claude.ai/code belegen und nur eine gleichzeitig verbunden sein kann.

207* **Einige Befehle sind nur lokal verfügbar**: Befehle, die eine interaktive Auswahl im Terminal öffnen, wie `/mcp`, `/plugin` oder `/resume`, funktionieren nur über die lokale CLI. Befehle, die Textausgabe erzeugen, einschließlich `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` und `/reload-plugins`, funktionieren von mobil und Web aus.217* **Einige Befehle sind nur lokal verfügbar**: Befehle, die eine interaktive Auswahl im Terminal öffnen, wie `/plugin` oder `/resume`, funktionieren nur über die lokale CLI. Befehle, die Textausgabe erzeugen, einschließlich `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` und `/reload-plugins`, funktionieren von mobil und Web aus. {/* min-version: 2.1.166 */}Ab v2.1.166 funktioniert `/mcp` auch von mobil und Web aus: Es gibt eine Textzusammenfassung des Server-Status zurück, anstatt die Auswahl zu öffnen, und akzeptiert die gleichen `reconnect`-, `enable`- und `disable`-[Unterbefehle](/de/commands#all-commands) wie die lokale CLI, mit einem Unterschied: Von mobil und Web aus verbindet `/mcp reconnect` ohne Servernamen jeden Server wieder, der fehlgeschlagen ist oder eine Authentifizierung benötigt, während die lokale CLI einen Servernamen für `reconnect` erfordert.

208 218 

209<h2 id="troubleshooting">219<h2 id="troubleshooting">

210 Fehlerbehebung220 Fehlerbehebung


232 „Remote Control ist für Ihr Konto noch nicht aktiviert"242 „Remote Control ist für Ihr Konto noch nicht aktiviert"

233</h3>243</h3>

234 244 

235Die Berechtigungsprüfung kann mit bestimmten Umgebungsvariablen fehlschlagen:245Die Remote Control-Bereitstellung hat Ihr Konto noch nicht erreicht, oder Ihre zwischengespeicherten Berechtigungen sind veraltet. Wenn Sie kürzlich Ihren Plan geändert haben, führen Sie `claude auth logout` und dann `claude auth login` aus, um sie zu aktualisieren. Führen Sie `claude doctor` aus, um zu sehen, welche einzelne Berechtigungsprüfung fehlgeschlagen ist. Umgebungsvariablenkonflikte, unerreichbare Prüfungen und Organisationsrichtlinien erzeugen jeweils ihre eigene Meldung, daher bedeutet dieser Fehler das Rollout-Gate selbst.

236 246 

237* `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` oder `DISABLE_TELEMETRY`: Heben Sie die Festlegung auf und versuchen Sie es erneut.247<h3 id="couldn’t-verify-remote-control-eligibility">

238* `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` oder `CLAUDE_CODE_USE_FOUNDRY`: Remote Control erfordert claude.ai-Authentifizierung und funktioniert nicht mit Drittanbieter-Providern.248Remote Control-Berechtigung konnte nicht überprüft werden"

249</h3>

239 250 

240Wenn keine dieser Variablen festgelegt sind, führen Sie `/logout` und dann `/login` aus, um zu aktualisieren.251Claude Code konnte den Feature-Flag-Service nicht erreichen, um zu überprüfen, ob Remote Control für Ihr Konto aktiviert ist, normalerweise weil Sie offline sind oder ein Proxy die Anfrage blockiert. Versuchen Sie es erneut, wenn Sie Netzwerkzugriff haben, oder führen Sie `claude doctor` aus, um Details zu erhalten. Die zugehörige Meldung „Organisationsrichtlinie für Remote Control konnte nicht überprüft werden" hat die gleiche Ursache und die gleiche Lösung. Beide Meldungen wurden in v2.1.178 hinzugefügt.

241 252 

242<h3 id="remote-control-is-disabled-by-your-organization-s-policy">253<h3 id="remote-control-is-disabled-by-your-organizations-policy">

243 „Remote Control ist durch die Richtlinie Ihrer Organisation deaktiviert"254 „Remote Control ist durch die Richtlinie Ihrer Organisation deaktiviert"

244</h3>255</h3>

245 256 

routines.md +76 −26

Details

26 26 

27Diese Seite behandelt das Erstellen einer Routine, das Konfigurieren jedes Trigger-Typs, das Verwalten von Ausführungen und wie Nutzungslimits angewendet werden.27Diese Seite behandelt das Erstellen einer Routine, das Konfigurieren jedes Trigger-Typs, das Verwalten von Ausführungen und wie Nutzungslimits angewendet werden.

28 28 

29## Beispiel-Anwendungsfälle29<h2 id="example-use-cases">

30 Beispiel-Anwendungsfälle

31</h2>

30 32 

31Jedes Beispiel kombiniert einen Trigger-Typ mit der Art von Arbeit, für die Routinen geeignet sind: unbeaufsichtigt, wiederholbar und an ein klares Ergebnis gebunden.33Jedes Beispiel kombiniert einen Trigger-Typ mit der Art von Arbeit, für die Routinen geeignet sind: unbeaufsichtigt, wiederholbar und an ein klares Ergebnis gebunden.

32 34 


44 46 

45Die folgenden Abschnitte führen Sie durch das Erstellen einer Routine und das Konfigurieren jedes dieser Trigger-Typen.47Die folgenden Abschnitte führen Sie durch das Erstellen einer Routine und das Konfigurieren jedes dieser Trigger-Typen.

46 48 

47## Erstellen Sie eine Routine49<h2 id="create-a-routine">

50 Erstellen Sie eine Routine

51</h2>

48 52 

49Erstellen Sie eine Routine aus dem Web unter [claude.ai/code/routines](https://claude.ai/code/routines), aus der Desktop-App oder aus der CLI. Alle drei Oberflächen schreiben auf dasselbe Cloud-Konto, sodass eine Routine, die Sie in einer erstellen, sofort in den anderen angezeigt wird. Klicken Sie in der Desktop-App auf **Routinen** in der Seitenleiste und dann auf **Neue Routine**, und wählen Sie **Remote**; wenn Sie stattdessen **Lokal** wählen, wird eine [Desktop-geplante Aufgabe](/de/desktop-scheduled-tasks) erstellt, die auf Ihrem Computer ausgeführt wird, anstatt in der Cloud.53Erstellen Sie eine Routine aus dem Web unter [claude.ai/code/routines](https://claude.ai/code/routines), aus der Desktop-App oder aus der CLI. Alle drei Oberflächen schreiben auf dasselbe Cloud-Konto, sodass eine Routine, die Sie in einer erstellen, sofort in den anderen angezeigt wird. Klicken Sie in der Desktop-App auf **Routinen** in der Seitenleiste und dann auf **Neue Routine**, und wählen Sie **Remote**; wenn Sie stattdessen **Lokal** wählen, wird eine [Desktop-geplante Aufgabe](/de/desktop-scheduled-tasks) erstellt, die auf Ihrem Computer ausgeführt wird, anstatt in der Cloud.

50 54 


54 58 

55Routinen gehören zu Ihrem individuellen claude.ai-Konto. Sie werden nicht mit Teamkollegen geteilt und zählen gegen die tägliche Ausführungszulage Ihres Kontos. Alles, was eine Routine durch Ihre verbundene GitHub-Identität oder Konnektoren tut, erscheint als Sie: Commits und Pull Requests tragen Ihren GitHub-Benutzer, und Slack-Nachrichten, Linear-Tickets oder andere Konnektor-Aktionen verwenden Ihre verknüpften Konten für diese Dienste.59Routinen gehören zu Ihrem individuellen claude.ai-Konto. Sie werden nicht mit Teamkollegen geteilt und zählen gegen die tägliche Ausführungszulage Ihres Kontos. Alles, was eine Routine durch Ihre verbundene GitHub-Identität oder Konnektoren tut, erscheint als Sie: Commits und Pull Requests tragen Ihren GitHub-Benutzer, und Slack-Nachrichten, Linear-Tickets oder andere Konnektor-Aktionen verwenden Ihre verknüpften Konten für diese Dienste.

56 60 

57### Erstellen aus dem Web61<h3 id="create-from-the-web">

62 Erstellen aus dem Web

63</h3>

58 64 

59<Steps>65<Steps>

60 <Step title="Öffnen Sie das Erstellungsformular">66 <Step title="Öffnen Sie das Erstellungsformular">


114 </Step>120 </Step>

115</Steps>121</Steps>

116 122 

117### Erstellen aus der CLI123<h3 id="create-from-the-cli">

124 Erstellen aus der CLI

125</h3>

118 126 

119Führen Sie `/schedule` in einer beliebigen Sitzung aus, um eine geplante Routine im Gespräch zu erstellen. Sie können auch eine Beschreibung direkt übergeben, für eine wiederkehrende Routine wie `/schedule daily PR review at 9am` oder eine einmalige wie `/schedule clean up feature flag in one week`. Claude führt Sie durch die gleichen Informationen, die das Web-Formular sammelt, und speichert dann die Routine in Ihrem Konto.127Führen Sie `/schedule` in einer beliebigen Sitzung aus, um eine geplante Routine im Gespräch zu erstellen. Sie können auch eine Beschreibung direkt übergeben, für eine wiederkehrende Routine wie `/schedule daily PR review at 9am` oder eine einmalige wie `/schedule clean up feature flag in one week`. Claude führt Sie durch die gleichen Informationen, die das Web-Formular sammelt, und speichert dann die Routine in Ihrem Konto.

120 128 


122 130 

123Die CLI unterstützt auch die Verwaltung vorhandener Routinen. Führen Sie `/schedule list` aus, um alle Routinen anzuzeigen, `/schedule update`, um eine zu ändern, oder `/schedule run`, um sie sofort auszulösen.131Die CLI unterstützt auch die Verwaltung vorhandener Routinen. Führen Sie `/schedule list` aus, um alle Routinen anzuzeigen, `/schedule update`, um eine zu ändern, oder `/schedule run`, um sie sofort auszulösen.

124 132 

125## Trigger konfigurieren133<h2 id="configure-triggers">

134 Trigger konfigurieren

135</h2>

126 136 

127Eine Routine startet, wenn einer ihrer Trigger passt. Sie können jede Kombination von Schedule-, API- und GitHub-Triggern an die gleiche Routine anhängen und sie jederzeit aus dem Abschnitt **Trigger auswählen** des Bearbeitungsformulars der Routine hinzufügen oder entfernen.137Eine Routine startet, wenn einer ihrer Trigger passt. Sie können jede Kombination von Schedule-, API- und GitHub-Triggern an die gleiche Routine anhängen und sie jederzeit aus dem Abschnitt **Trigger auswählen** des Bearbeitungsformulars der Routine hinzufügen oder entfernen.

128 138 

129### Schedule-Trigger hinzufügen139<h3 id="add-a-schedule-trigger">

140 Schedule-Trigger hinzufügen

141</h3>

130 142 

131Ein Schedule-Trigger führt die Routine nach einem wiederkehrenden Zeitplan oder einmalig zu einem bestimmten zukünftigen Zeitpunkt aus. Wählen Sie eine voreingestellte Häufigkeit im Abschnitt **Trigger auswählen**: stündlich, täglich, Wochentage oder wöchentlich. Zeiten werden in Ihrer lokalen Zone eingegeben und automatisch konvertiert, sodass die Routine zu dieser Wanduhr-Zeit unabhängig davon ausgeführt wird, wo sich die Cloud-Infrastruktur befindet.143Ein Schedule-Trigger führt die Routine nach einem wiederkehrenden Zeitplan oder einmalig zu einem bestimmten zukünftigen Zeitpunkt aus. Wählen Sie eine voreingestellte Häufigkeit im Abschnitt **Trigger auswählen**: stündlich, täglich, Wochentage oder wöchentlich. Zeiten werden in Ihrer lokalen Zone eingegeben und automatisch konvertiert, sodass die Routine zu dieser Wanduhr-Zeit unabhängig davon ausgeführt wird, wo sich die Cloud-Infrastruktur befindet.

132 144 


134 146 

135Für ein benutzerdefiniertes Intervall wie alle zwei Stunden oder den ersten jedes Monats wählen Sie die nächste Voreinstellung im Formular aus und führen dann `/schedule update` in der CLI aus, um einen spezifischen Cron-Ausdruck festzulegen. Das Mindestintervall beträgt eine Stunde; Ausdrücke, die häufiger ausgeführt werden, werden abgelehnt.147Für ein benutzerdefiniertes Intervall wie alle zwei Stunden oder den ersten jedes Monats wählen Sie die nächste Voreinstellung im Formular aus und führen dann `/schedule update` in der CLI aus, um einen spezifischen Cron-Ausdruck festzulegen. Das Mindestintervall beträgt eine Stunde; Ausdrücke, die häufiger ausgeführt werden, werden abgelehnt.

136 148 

137#### Einmalige Ausführung planen149<h4 id="schedule-a-one-off-run">

150 Einmalige Ausführung planen

151</h4>

138 152 

139Ein einmaliger Schedule-Trigger führt die Routine zu einem bestimmten Zeitstempel aus. Verwenden Sie ihn, um sich später in der Woche selbst zu erinnern, um einen Cleanup-PR nach Abschluss eines Rollouts zu öffnen, oder um eine Folgeaufgabe zu starten, wenn eine vorgelagerte Änderung ankommt. Nach der Ausführung der Routine wird sie automatisch deaktiviert und die Web-UI markiert sie als **Ausgeführt**. Um sie erneut auszuführen, bearbeiten Sie die Routine und legen Sie einen neuen einmaligen Zeitpunkt fest.153Ein einmaliger Schedule-Trigger führt die Routine zu einem bestimmten Zeitstempel aus. Verwenden Sie ihn, um sich später in der Woche selbst zu erinnern, um einen Cleanup-PR nach Abschluss eines Rollouts zu öffnen, oder um eine Folgeaufgabe zu starten, wenn eine vorgelagerte Änderung ankommt. Nach der Ausführung der Routine wird sie automatisch deaktiviert und die Web-UI markiert sie als **Ausgeführt**. Um sie erneut auszuführen, bearbeiten Sie die Routine und legen Sie einen neuen einmaligen Zeitpunkt fest.

140 154 


152 166 

153Einmalige Ausführungen zählen nicht gegen das tägliche Routine-Ausführungs-Limit. Sie verbrauchen die reguläre Abonnement-Nutzung Ihres Plans wie jede andere Sitzung. Weitere Informationen finden Sie unter [Nutzung und Limits](#usage-and-limits).167Einmalige Ausführungen zählen nicht gegen das tägliche Routine-Ausführungs-Limit. Sie verbrauchen die reguläre Abonnement-Nutzung Ihres Plans wie jede andere Sitzung. Weitere Informationen finden Sie unter [Nutzung und Limits](#usage-and-limits).

154 168 

155### API-Trigger hinzufügen169<h3 id="add-an-api-trigger">

170 API-Trigger hinzufügen

171</h3>

156 172 

157Ein API-Trigger gibt einer Routine einen dedizierten HTTP-Endpunkt. Das Posten zum Endpunkt mit dem Bearer-Token der Routine startet eine neue Sitzung und gibt eine Sitzungs-URL zurück. Verwenden Sie dies, um Claude Code in Alerting-Systeme, Deploy-Pipelines, interne Tools oder überall dort zu integrieren, wo Sie eine authentifizierte HTTP-Anfrage stellen können.173Ein API-Trigger gibt einer Routine einen dedizierten HTTP-Endpunkt. Das Posten zum Endpunkt mit dem Bearer-Token der Routine startet eine neue Sitzung und gibt eine Sitzungs-URL zurück. Verwenden Sie dies, um Claude Code in Alerting-Systeme, Deploy-Pipelines, interne Tools oder überall dort zu integrieren, wo Sie eine authentifizierte HTTP-Anfrage stellen können.

158 174 


178 194 

179Jede Routine hat ihren eigenen Token, der nur zum Auslösen dieser Routine begrenzt ist. Um ihn zu rotieren oder zu widerrufen, kehren Sie zum gleichen Modal zurück und klicken Sie auf **Neu generieren** oder **Widerrufen**.195Jede Routine hat ihren eigenen Token, der nur zum Auslösen dieser Routine begrenzt ist. Um ihn zu rotieren oder zu widerrufen, kehren Sie zum gleichen Modal zurück und klicken Sie auf **Neu generieren** oder **Widerrufen**.

180 196 

181#### Routine auslösen197<h4 id="trigger-a-routine">

198 Routine auslösen

199</h4>

182 200 

183Senden Sie eine POST-Anfrage an den `/fire`-Endpunkt mit dem Bearer-Token im `Authorization`-Header. Der Request-Body akzeptiert ein optionales `text`-Feld für Ausführungs-spezifischen Kontext wie einen Alert-Body oder ein fehlgeschlagenes Log, das der Routine zusammen mit ihrem gespeicherten Prompt übergeben wird. Der Wert ist freier Text und wird nicht geparst: Wenn Sie JSON oder eine andere strukturierte Payload senden, erhält die Routine sie als wörtliche Zeichenkette.201Senden Sie eine POST-Anfrage an den `/fire`-Endpunkt mit dem Bearer-Token im `Authorization`-Header. Der Request-Body akzeptiert ein optionales `text`-Feld für Ausführungs-spezifischen Kontext wie einen Alert-Body oder ein fehlgeschlagenes Log, das der Routine zusammen mit ihrem gespeicherten Prompt übergeben wird. Der Wert ist freier Text und wird nicht geparst: Wenn Sie JSON oder eine andere strukturierte Payload senden, erhält die Routine sie als wörtliche Zeichenkette.

184 202 


209 Der `/fire`-Endpunkt wird unter dem `experimental-cc-routine-2026-04-01`-Beta-Header ausgeliefert. Request- und Response-Formen, Rate Limits und Token-Semantik können sich ändern, während sich die Funktion in der Forschungsvorschau befindet. Breaking Changes werden hinter neuen datierten Beta-Header-Versionen ausgeliefert, und die zwei neuesten vorherigen Header-Versionen funktionieren weiterhin, damit Aufrufer Zeit zur Migration haben.227 Der `/fire`-Endpunkt wird unter dem `experimental-cc-routine-2026-04-01`-Beta-Header ausgeliefert. Request- und Response-Formen, Rate Limits und Token-Semantik können sich ändern, während sich die Funktion in der Forschungsvorschau befindet. Breaking Changes werden hinter neuen datierten Beta-Header-Versionen ausgeliefert, und die zwei neuesten vorherigen Header-Versionen funktionieren weiterhin, damit Aufrufer Zeit zur Migration haben.

210</Warning>228</Warning>

211 229 

212#### API-Referenz230<h4 id="api-reference">

231 API-Referenz

232</h4>

213 233 

214Für die vollständige API-Referenz, einschließlich aller Error-Responses, Validierungsregeln und Feldlimits, siehe [Routine über API auslösen](https://platform.claude.com/docs/de/api/claude-code/routines-fire) in der Claude Platform-Dokumentation.234Für die vollständige API-Referenz, einschließlich aller Error-Responses, Validierungsregeln und Feldlimits, siehe [Routine über API auslösen](https://platform.claude.com/docs/de/api/claude-code/routines-fire) in der Claude Platform-Dokumentation.

215 235 

216Der `/fire`-Endpunkt ist nur für claude.ai-Benutzer verfügbar und ist nicht Teil der Claude Platform API-Oberfläche.236Der `/fire`-Endpunkt ist nur für claude.ai-Benutzer verfügbar und ist nicht Teil der Claude Platform API-Oberfläche.

217 237 

218### GitHub-Trigger hinzufügen238<h3 id="add-a-github-trigger">

239 GitHub-Trigger hinzufügen

240</h3>

219 241 

220Ein GitHub-Trigger startet automatisch eine neue Sitzung, wenn ein passendes Ereignis in einem verbundenen Repository auftritt. Jedes passende Ereignis startet seine eigene Sitzung.242Ein GitHub-Trigger startet automatisch eine neue Sitzung, wenn ein passendes Ereignis in einem verbundenen Repository auftritt. Jedes passende Ereignis startet seine eigene Sitzung.

221 243 


247 </Step>269 </Step>

248</Steps>270</Steps>

249 271 

250#### Unterstützte Ereignisse272<h4 id="supported-events">

273 Unterstützte Ereignisse

274</h4>

251 275 

252GitHub-Trigger können sich auf eine der folgenden Ereigniskategorien abonnieren. Innerhalb jeder Kategorie können Sie eine spezifische Aktion wie `pull_request.opened` auswählen oder auf alle Aktionen in der Kategorie reagieren.276GitHub-Trigger können sich auf eine der folgenden Ereigniskategorien abonnieren. Innerhalb jeder Kategorie können Sie eine spezifische Aktion wie `pull_request.opened` auswählen oder auf alle Aktionen in der Kategorie reagieren.

253 277 


256| Pull Request | Ein PR wird geöffnet, geschlossen, zugewiesen, gekennzeichnet, synchronisiert oder anderweitig aktualisiert |280| Pull Request | Ein PR wird geöffnet, geschlossen, zugewiesen, gekennzeichnet, synchronisiert oder anderweitig aktualisiert |

257| Release | Ein Release wird erstellt, veröffentlicht, bearbeitet oder gelöscht |281| Release | Ein Release wird erstellt, veröffentlicht, bearbeitet oder gelöscht |

258 282 

259#### Pull Requests filtern283<h4 id="filter-pull-requests">

284 Pull Requests filtern

285</h4>

260 286 

261Verwenden Sie Filter, um einzugrenzen, welche Pull Requests eine neue Sitzung starten. Alle Filterbedingungen müssen übereinstimmen, damit die Routine ausgelöst wird. Die verfügbaren Filterfelder sind:287Verwenden Sie Filter, um einzugrenzen, welche Pull Requests eine neue Sitzung starten. Alle Filterbedingungen müssen übereinstimmen, damit die Routine ausgelöst wird. Die verfügbaren Filterfelder sind:

262 288 


281* **Nur bereit zur Überprüfung**: Ist Entwurf ist `false`. Überspringt Entwürfe, sodass die Routine nur ausgeführt wird, wenn der PR zur Überprüfung bereit ist.307* **Nur bereit zur Überprüfung**: Ist Entwurf ist `false`. Überspringt Entwürfe, sodass die Routine nur ausgeführt wird, wenn der PR zur Überprüfung bereit ist.

282* **Label-gesteuerter Backport**: Labels enthalten `needs-backport`. Löst eine Port-zu-anderem-Branch-Routine nur aus, wenn ein Maintainer den PR kennzeichnet.308* **Label-gesteuerter Backport**: Labels enthalten `needs-backport`. Löst eine Port-zu-anderem-Branch-Routine nur aus, wenn ein Maintainer den PR kennzeichnet.

283 309 

284#### Wie Sitzungen zu Ereignissen zugeordnet werden310<h4 id="how-sessions-map-to-events">

311 Wie Sitzungen zu Ereignissen zugeordnet werden

312</h4>

285 313 

286Jedes passende GitHub-Ereignis startet eine neue Sitzung. Sitzungswiederverwendung über Ereignisse hinweg ist nicht für GitHub-ausgelöste Routinen verfügbar, daher produzieren zwei PR-Updates zwei unabhängige Sitzungen.314Jedes passende GitHub-Ereignis startet eine neue Sitzung. Sitzungswiederverwendung über Ereignisse hinweg ist nicht für GitHub-ausgelöste Routinen verfügbar, daher produzieren zwei PR-Updates zwei unabhängige Sitzungen.

287 315 

288## Routinen verwalten316<h2 id="manage-routines">

317 Routinen verwalten

318</h2>

289 319 

290Klicken Sie auf eine Routine in der Liste, um ihre Detailseite zu öffnen. Die Detailseite zeigt die Repositories der Routine, Konnektoren, Prompt, Schedule, API-Tokens, GitHub-Trigger und eine Liste vergangener Ausführungen.320Klicken Sie auf eine Routine in der Liste, um ihre Detailseite zu öffnen. Die Detailseite zeigt die Repositories der Routine, Konnektoren, Prompt, Schedule, API-Tokens, GitHub-Trigger und eine Liste vergangener Ausführungen.

291 321 

292### Ausführungen anzeigen und mit ihnen interagieren322<h3 id="view-and-interact-with-runs">

323 Ausführungen anzeigen und mit ihnen interagieren

324</h3>

293 325 

294Klicken Sie auf eine beliebige Ausführung, um sie als vollständige Sitzung zu öffnen. Von dort aus können Sie sehen, was Claude getan hat, Änderungen überprüfen, einen Pull Request erstellen oder das Gespräch fortsetzen. Jede Ausführungssitzung funktioniert wie jede andere Sitzung: Verwenden Sie das Dropdown-Menü neben dem Sitzungstitel, um sie umzubenennen, zu archivieren oder zu löschen.326Klicken Sie auf eine beliebige Ausführung, um sie als vollständige Sitzung zu öffnen. Von dort aus können Sie sehen, was Claude getan hat, Änderungen überprüfen, einen Pull Request erstellen oder das Gespräch fortsetzen. Jede Ausführungssitzung funktioniert wie jede andere Sitzung: Verwenden Sie das Dropdown-Menü neben dem Sitzungstitel, um sie umzubenennen, zu archivieren oder zu löschen.

295 327 


297 Ein grüner Status in der Ausführungsliste bedeutet, dass die Sitzung gestartet und beendet wurde, ohne dass ein Infrastrukturfehler auftrat. Dies bedeutet nicht, dass die Aufgabe in Ihrem Prompt erfolgreich war. Öffnen Sie die Ausführung, um das Transkript zu lesen und zu bestätigen, was Claude tatsächlich getan hat. Blockierte Netzwerkanfragen, fehlende Konnektoren-Tools und Fehler auf Aufgabenebene werden dort angezeigt, anstatt im Status-Indikator.329 Ein grüner Status in der Ausführungsliste bedeutet, dass die Sitzung gestartet und beendet wurde, ohne dass ein Infrastrukturfehler auftrat. Dies bedeutet nicht, dass die Aufgabe in Ihrem Prompt erfolgreich war. Öffnen Sie die Ausführung, um das Transkript zu lesen und zu bestätigen, was Claude tatsächlich getan hat. Blockierte Netzwerkanfragen, fehlende Konnektoren-Tools und Fehler auf Aufgabenebene werden dort angezeigt, anstatt im Status-Indikator.

298</Note>330</Note>

299 331 

300### Routinen bearbeiten und steuern332<h3 id="edit-and-control-routines">

333 Routinen bearbeiten und steuern

334</h3>

301 335 

302Von der Routine-Detailseite können Sie:336Von der Routine-Detailseite können Sie:

303 337 


306* Auf das Stiftsymbol klicken, um **Routine bearbeiten** zu öffnen und den Namen, Prompt, Repositories, Umgebung, Konnektoren oder einen der Trigger der Routine zu ändern. Der Abschnitt **Trigger auswählen** ist der Ort, an dem Sie Schedules, API-Tokens und GitHub-Ereignis-Trigger hinzufügen oder entfernen.340* Auf das Stiftsymbol klicken, um **Routine bearbeiten** zu öffnen und den Namen, Prompt, Repositories, Umgebung, Konnektoren oder einen der Trigger der Routine zu ändern. Der Abschnitt **Trigger auswählen** ist der Ort, an dem Sie Schedules, API-Tokens und GitHub-Ereignis-Trigger hinzufügen oder entfernen.

307* Auf das Löschsymbol klicken, um die Routine zu entfernen. Vergangene Sitzungen, die von der Routine erstellt wurden, bleiben in Ihrer Sitzungsliste.341* Auf das Löschsymbol klicken, um die Routine zu entfernen. Vergangene Sitzungen, die von der Routine erstellt wurden, bleiben in Ihrer Sitzungsliste.

308 342 

309### Repositories und Branch-Berechtigungen343<h3 id="repositories-and-branch-permissions">

344 Repositories und Branch-Berechtigungen

345</h3>

310 346 

311Routinen benötigen GitHub-Zugriff zum Klonen von Repositories. Wenn Sie eine Routine aus der CLI mit `/schedule` erstellen, überprüft Claude, ob Ihr Konto GitHub verbunden hat, und fordert Sie auf, `/web-setup` auszuführen, falls nicht. Siehe [GitHub-Authentifizierungsoptionen](/de/claude-code-on-the-web#github-authentication-options) für die zwei Möglichkeiten, Zugriff zu gewähren.347Routinen benötigen GitHub-Zugriff zum Klonen von Repositories. Wenn Sie eine Routine aus der CLI mit `/schedule` erstellen, überprüft Claude, ob Ihr Konto GitHub verbunden hat, und fordert Sie auf, `/web-setup` auszuführen, falls nicht. Siehe [GitHub-Authentifizierungsoptionen](/de/claude-code-on-the-web#github-authentication-options) für die zwei Möglichkeiten, Zugriff zu gewähren.

312 348 


314 350 

315Standardmäßig kann Claude nur zu Branches mit dem Präfix `claude/` pushen. Dies verhindert, dass Routinen versehentlich geschützte oder langlebige Branches ändern. Um diese Einschränkung für ein bestimmtes Repository zu entfernen, aktivieren Sie **Uneingeschränkte Branch-Pushes zulassen** für dieses Repository beim Erstellen oder Bearbeiten der Routine.351Standardmäßig kann Claude nur zu Branches mit dem Präfix `claude/` pushen. Dies verhindert, dass Routinen versehentlich geschützte oder langlebige Branches ändern. Um diese Einschränkung für ein bestimmtes Repository zu entfernen, aktivieren Sie **Uneingeschränkte Branch-Pushes zulassen** für dieses Repository beim Erstellen oder Bearbeiten der Routine.

316 352 

317### Konnektoren353<h3 id="connectors">

354 Konnektoren

355</h3>

318 356 

319Routinen können Ihre verbundenen MCP-Konnektoren verwenden, um während jeder Ausführung von externen Diensten zu lesen und zu schreiben. Beispielsweise könnte eine Routine, die Support-Anfragen triagiert, aus einem Slack-Channel lesen und Issues in Linear erstellen.357Routinen können Ihre verbundenen MCP-Konnektoren verwenden, um während jeder Ausführung von externen Diensten zu lesen und zu schreiben. Beispielsweise könnte eine Routine, die Support-Anfragen triagiert, aus einem Slack-Channel lesen und Issues in Linear erstellen.

320 358 


324 362 

325Um Konnektoren außerhalb des Routine-Formulars zu verwalten oder hinzuzufügen, besuchen Sie **Einstellungen > Konnektoren** auf claude.ai oder verwenden Sie `/schedule update` in der CLI.363Um Konnektoren außerhalb des Routine-Formulars zu verwalten oder hinzuzufügen, besuchen Sie **Einstellungen > Konnektoren** auf claude.ai oder verwenden Sie `/schedule update` in der CLI.

326 364 

327### Umgebungen und Netzwerkzugriff365<h3 id="environments-and-network-access">

366 Umgebungen und Netzwerkzugriff

367</h3>

328 368 

329Jede Routine wird in einer [Cloud-Umgebung](/de/claude-code-on-the-web#the-cloud-environment) ausgeführt, die Netzwerkzugriff, Umgebungsvariablen und Setup-Skripte steuert. Die Routine erbt die Netzwerk-Richtlinie der Umgebung bei jeder Ausführung.369Jede Routine wird in einer [Cloud-Umgebung](/de/claude-code-on-the-web#the-cloud-environment) ausgeführt, die Netzwerkzugriff, Umgebungsvariablen und Setup-Skripte steuert. Die Routine erbt die Netzwerk-Richtlinie der Umgebung bei jeder Ausführung.

330 370 

331Die **Standard**-Umgebung verwendet **Vertrauenswürdigen** Netzwerkzugriff: Die [Standard-Zulassungsliste](/de/claude-code-on-the-web#default-allowed-domains) von Paket-Registries, Cloud-Provider-APIs, Container-Registries und häufigen Entwicklungs-Domains ist erreichbar, aber beliebige Domains sind nicht. Ausgehende Anfragen an andere Hosts schlagen mit `403` und `x-deny-reason: host_not_allowed` fehl. MCP-Konnektoren-Datenverkehr wird über Anthropic-Server geleitet, daher funktionieren die Konnektoren, die Sie der Routine hinzufügen, ohne dass Sie ihre Hosts zu **Zulässige Domains** hinzufügen müssen. Entfernen Sie alle Konnektoren, die Sie nicht benötigen, unter [Konnektoren](#konnektoren).371Die **Standard**-Umgebung verwendet **Vertrauenswürdigen** Netzwerkzugriff: Die [Standard-Zulassungsliste](/de/claude-code-on-the-web#default-allowed-domains) von Paket-Registries, Cloud-Provider-APIs, Container-Registries und häufigen Entwicklungs-Domains ist erreichbar, aber beliebige Domains sind nicht. Ausgehende Anfragen an andere Hosts schlagen mit `403` und `x-deny-reason: host_not_allowed` fehl. MCP-Konnektoren-Datenverkehr wird über Anthropic-Server geleitet, daher funktionieren die Konnektoren, die Sie der Routine hinzufügen, ohne dass Sie ihre Hosts zu **Zulässige Domains** hinzufügen müssen. Entfernen Sie alle Konnektoren, die Sie nicht benötigen, unter [Konnektoren](#connectors).

332 372 

333Um zusätzliche Domains zuzulassen:373Um zusätzliche Domains zuzulassen:

334 374 


356 396 

357Siehe [Netzwerkzugriff](/de/claude-code-on-the-web#network-access) für Details zu Zugriffsstufen und der Standard-Zulassungsliste.397Siehe [Netzwerkzugriff](/de/claude-code-on-the-web#network-access) für Details zu Zugriffsstufen und der Standard-Zulassungsliste.

358 398 

359## Nutzung und Limits399<h2 id="usage-and-limits">

400 Nutzung und Limits

401</h2>

360 402 

361Routinen verbrauchen Abonnement-Nutzung auf die gleiche Weise wie interaktive Sitzungen. Zusätzlich zu den Standard-Abonnement-Limits haben Routinen eine tägliche Obergrenze für die Anzahl der Ausführungen, die pro Konto starten können. Sehen Sie Ihren aktuellen Verbrauch und verbleibende tägliche Routine-Ausführungen unter [claude.ai/code/routines](https://claude.ai/code/routines) oder [claude.ai/settings/usage](https://claude.ai/settings/usage).403Routinen verbrauchen Abonnement-Nutzung auf die gleiche Weise wie interaktive Sitzungen. Zusätzlich zu den Standard-Abonnement-Limits haben Routinen eine tägliche Obergrenze für die Anzahl der Ausführungen, die pro Konto starten können. Sehen Sie Ihren aktuellen Verbrauch und verbleibende tägliche Routine-Ausführungen unter [claude.ai/code/routines](https://claude.ai/code/routines) oder [claude.ai/settings/usage](https://claude.ai/settings/usage).

362 404 


364 406 

365Einmalige Ausführungen werden nicht auf das tägliche Routine-Ausführungslimit angerechnet. Sie verbrauchen Ihre reguläre Abonnement-Nutzung wie jede andere Sitzung, sind aber von der täglichen Routine-Ausführungszulage pro Konto ausgenommen.407Einmalige Ausführungen werden nicht auf das tägliche Routine-Ausführungslimit angerechnet. Sie verbrauchen Ihre reguläre Abonnement-Nutzung wie jede andere Sitzung, sind aber von der täglichen Routine-Ausführungszulage pro Konto ausgenommen.

366 408 

367## Fehlerbehebung409<h2 id="troubleshooting">

410 Fehlerbehebung

411</h2>

368 412 

369### `/schedule` gibt "Unknown command" zurück413<h3 id="/schedule-returns-unknown-command">

414 `/schedule` gibt "Unknown command" zurück

415</h3>

370 416 

371Die CLI blendet `/schedule` aus, wenn eine ihrer Anforderungen nicht erfüllt ist. Die Ursache ist normalerweise eine der folgenden:417Die CLI blendet `/schedule` aus, wenn eine ihrer Anforderungen nicht erfüllt ist. Die Ursache ist normalerweise eine der folgenden:

372 418 


377 423 

378Sie können Routinen jederzeit unter [claude.ai/code/routines](https://claude.ai/code/routines) erstellen und verwalten, unabhängig davon, wie die CLI konfiguriert ist.424Sie können Routinen jederzeit unter [claude.ai/code/routines](https://claude.ai/code/routines) erstellen und verwalten, unabhängig davon, wie die CLI konfiguriert ist.

379 425 

380### "Routinen sind durch die Richtlinie Ihrer Organisation deaktiviert"426<h3 id="routines-are-disabled-by-your-organization’s-policy">

427 "Routinen sind durch die Richtlinie Ihrer Organisation deaktiviert"

428</h3>

381 429 

382Ihr Team- oder Enterprise-Administrator hat wahrscheinlich den **Routinen**-Toggle unter [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) ausgeschaltet. Dies ist eine serverseitige Organisationseinstellung, daher kann sie nicht aus Ihrer lokalen Konfiguration überschrieben werden. Kontaktieren Sie Ihren Administrator, um anzufordern, dass Routinen für Ihre Organisation aktiviert werden.430Ihr Team- oder Enterprise-Administrator hat wahrscheinlich den **Routinen**-Toggle unter [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) ausgeschaltet. Dies ist eine serverseitige Organisationseinstellung, daher kann sie nicht aus Ihrer lokalen Konfiguration überschrieben werden. Kontaktieren Sie Ihren Administrator, um anzufordern, dass Routinen für Ihre Organisation aktiviert werden.

383 431 

384## Verwandte Ressourcen432<h2 id="related-resources">

433 Verwandte Ressourcen

434</h2>

385 435 

386* [`/loop` und In-Session-Planung](/de/scheduled-tasks): Planen Sie lokale Aufgaben innerhalb einer offenen CLI-Sitzung436* [`/loop` und In-Session-Planung](/de/scheduled-tasks): Planen Sie lokale Aufgaben innerhalb einer offenen CLI-Sitzung

387* [Desktop-geplante Aufgaben](/de/desktop-scheduled-tasks): Lokale geplante Aufgaben, die auf Ihrem Computer mit Zugriff auf lokale Dateien ausgeführt werden437* [Desktop-geplante Aufgaben](/de/desktop-scheduled-tasks): Lokale geplante Aufgaben, die auf Ihrem Computer mit Zugriff auf lokale Dateien ausgeführt werden

Details

125Sie können die integrierte Bash-Sandbox im Container schichten, um Befehlsbeschränkungen pro Befehl zu erhalten. Unprivilegierte Container benötigen die nested-sandbox-Einstellung, die in [Sandboxing-Fehlerbehebung](/de/sandboxing#troubleshooting) beschrieben ist.125Sie können die integrierte Bash-Sandbox im Container schichten, um Befehlsbeschränkungen pro Befehl zu erhalten. Unprivilegierte Container benötigen die nested-sandbox-Einstellung, die in [Sandboxing-Fehlerbehebung](/de/sandboxing#troubleshooting) beschrieben ist.

126 126 

127<h2 id="virtual-machine">127<h2 id="virtual-machine">

128 Virtual Machine128 Virtuelle Maschine

129</h2>129</h2>

130 130 

131Eine dedizierte virtuelle Maschine bietet die stärkste Trennung mit ihrem eigenen Kernel und in Cloud- oder microVM-Bereitstellungen ihrer eigenen virtualisierten Hardware. Optionen umfassen Cloud-Instanzen, lokale Hypervisoren und microVMs wie Firecracker.131Eine dedizierte virtuelle Maschine bietet die stärkste Trennung mit ihrem eigenen Kernel und in Cloud- oder microVM-Bereitstellungen ihrer eigenen virtualisierten Hardware. Optionen umfassen Cloud-Instanzen, lokale Hypervisoren und microVMs wie Firecracker.

sandboxing.md +10 −7

Details

49 </Step>49 </Step>

50 50 

51 <Step title="Führen Sie einen Bash-Befehl aus">51 <Step title="Führen Sie einen Bash-Befehl aus">

52 Bitten Sie Claude, einen Befehl auszuführen, z. B. einen Build oder eine Test-Suite. Standardmäßig können Befehle in der Sandbox nur in das Arbeitsverzeichnis schreiben. Wenn ein Befehl zum ersten Mal eine neue Netzwerk-Domain benötigt, fordert Claude Code zur Genehmigung auf.52 Bitten Sie Claude, einen Befehl auszuführen, z. B. einen Build oder eine Test-Suite. Standardmäßig können Befehle in der Sandbox nur in das Arbeitsverzeichnis und das Sitzungs-Temp-Verzeichnis schreiben. Wenn ein Befehl zum ersten Mal eine neue Netzwerk-Domain benötigt, fordert Claude Code zur Genehmigung auf.

53 53 

54 Befehle, die nicht in der Sandbox ausgeführt werden können, fallen auf den regulären Genehmigungsfluss zurück. Um diese Grenzen zu erweitern oder zu verengen, siehe [Sandboxing konfigurieren](#configure-sandboxing).54 Befehle, die nicht in der Sandbox ausgeführt werden können, fallen auf den regulären Genehmigungsfluss zurück. Um diese Grenzen zu erweitern oder zu verengen, siehe [Sandboxing konfigurieren](#configure-sandboxing).

55 </Step>55 </Step>


134 134 

135* Explizite [Deny-Regeln](/de/permissions) werden immer respektiert135* Explizite [Deny-Regeln](/de/permissions) werden immer respektiert

136* `rm`- oder `rmdir`-Befehle, die auf `/`, Ihr Home-Verzeichnis oder andere kritische Systempfade abzielen, lösen immer noch eine Genehmigungseingabe aus136* `rm`- oder `rmdir`-Befehle, die auf `/`, Ihr Home-Verzeichnis oder andere kritische Systempfade abzielen, lösen immer noch eine Genehmigungseingabe aus

137* [Ask-Regeln](/de/permissions) gelten für Befehle, die auf den regulären Genehmigungsfluss zurückfallen137* Inhaltsgebundene [Ask-Regeln](/de/permissions) wie `Bash(git push *)` erzwingen immer noch eine Eingabeaufforderung, auch für Sandbox-Befehle

138* Eine einfache `Bash` Ask-Regel oder die entsprechende `Bash(*)` Form wird für Befehle übersprungen, die in der Sandbox ausgeführt werden; sie gilt immer noch für Befehle, die auf den regulären Genehmigungsfluss zurückfallen

138 139 

139**Regulärer Genehmigungsmodus**: Alle Bash-Befehle durchlaufen den regulären Genehmigungsfluss, auch wenn sie in der Sandbox ausgeführt werden. Dies bietet mehr Kontrolle, erfordert aber mehr Genehmigungen.140**Regulärer Genehmigungsmodus**: Alle Bash-Befehle durchlaufen den regulären Genehmigungsfluss, auch wenn sie in der Sandbox ausgeführt werden. Dies bietet mehr Kontrolle, erfordert aber mehr Genehmigungen.

140 141 

141In beiden Modi erzwingt die Sandbox die gleichen Dateisystem- und Netzwerk-Einschränkungen. Der Unterschied liegt nur darin, ob Sandbox-Befehle automatisch genehmigt oder explizit genehmigt werden müssen.142In beiden Modi erzwingt die Sandbox die gleichen Dateisystem- und Netzwerk-Einschränkungen. Der Unterschied liegt nur darin, ob Sandbox-Befehle automatisch genehmigt oder explizit genehmigt werden müssen.

142 143 

144Das Sitzungs-Temp-Verzeichnis ist standardmäßig in der Sandbox beschreibbar, zusammen mit dem Arbeitsverzeichnis. Claude Code setzt `$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, was bedeutet, dass Sandbox- und Unsandboxed-Befehle `$TMPDIR` in verschiedene Verzeichnisse auflösen. Um temporäre Dateien zwischen den beiden zu übergeben, schreiben Sie sie stattdessen unter das Arbeitsverzeichnis.

145 

143Einige Befehle können überhaupt nicht in der Sandbox ausgeführt werden, z. B. Tools, die nicht kompatibel sind oder einen Host benötigen, den Sie nicht zulässig gemacht haben. Anstatt die Aufgabe fehlschlagen zu lassen oder Sie zu zwingen, Sandboxing auszuschalten, enthält Claude Code eine Fluchtluke: Wenn ein Befehl aufgrund von Sandbox-Einschränkungen fehlschlägt, analysiert Claude den Fehler und kann den Befehl mit dem Parameter `dangerouslyDisableSandbox` erneut versuchen. Der erneut versuchte Befehl läuft außerhalb der Sandbox, daher durchläuft er den regulären Genehmigungsfluss und erfordert Ihre Genehmigung.146Einige Befehle können überhaupt nicht in der Sandbox ausgeführt werden, z. B. Tools, die nicht kompatibel sind oder einen Host benötigen, den Sie nicht zulässig gemacht haben. Anstatt die Aufgabe fehlschlagen zu lassen oder Sie zu zwingen, Sandboxing auszuschalten, enthält Claude Code eine Fluchtluke: Wenn ein Befehl aufgrund von Sandbox-Einschränkungen fehlschlägt, analysiert Claude den Fehler und kann den Befehl mit dem Parameter `dangerouslyDisableSandbox` erneut versuchen. Der erneut versuchte Befehl läuft außerhalb der Sandbox, daher durchläuft er den regulären Genehmigungsfluss und erfordert Ihre Genehmigung.

144 147 

145Sie können diese Fluchtluke deaktivieren, indem Sie `"allowUnsandboxedCommands": false` in Ihren [Sandbox-Einstellungen](/de/settings#sandbox-settings) setzen. Wenn deaktiviert, was die Registerkarte `/sandbox` Overrides als **Strict Sandbox Mode** anzeigt, wird der Parameter `dangerouslyDisableSandbox` vollständig ignoriert und alle Befehle müssen in der Sandbox ausgeführt oder explizit in `excludedCommands` aufgelistet werden.148Sie können diese Fluchtluke deaktivieren, indem Sie `"allowUnsandboxedCommands": false` in Ihren [Sandbox-Einstellungen](/de/settings#sandbox-settings) setzen. Wenn deaktiviert, was die Registerkarte `/sandbox` Overrides als **Strict Sandbox Mode** anzeigt, wird der Parameter `dangerouslyDisableSandbox` vollständig ignoriert und alle Befehle müssen in der Sandbox ausgeführt oder explizit in `excludedCommands` aufgelistet werden.


154 157 

155Passen Sie das Sandbox-Verhalten durch Ihre `settings.json`-Datei an. Siehe [Einstellungen](/de/settings#sandbox-settings) für die vollständige Konfigurationsreferenz.158Passen Sie das Sandbox-Verhalten durch Ihre `settings.json`-Datei an. Siehe [Einstellungen](/de/settings#sandbox-settings) für die vollständige Konfigurationsreferenz.

156 159 

157Standardmäßig können Sandbox-Befehle nur in das aktuelle Arbeitsverzeichnis schreiben. Wenn Subprozess-Befehle wie `kubectl`, `terraform` oder `npm` außerhalb des Projektverzeichnisses schreiben müssen, verwenden Sie `sandbox.filesystem.allowWrite`, um Zugriff auf spezifische Pfade zu gewähren:160Standardmäßig können Sandbox-Befehle nur in das aktuelle Arbeitsverzeichnis und das Sitzungs-Temp-Verzeichnis schreiben. Wenn Subprozess-Befehle wie `kubectl`, `terraform` oder `npm` außerhalb dieser Verzeichnisse schreiben müssen, verwenden Sie `sandbox.filesystem.allowWrite`, um Zugriff auf spezifische Pfade zu gewähren:

158 161 

159```json theme={null}162```json theme={null}

160{163{


209 212 

210Das Sandboxed-Bash-Tool beschränkt den Dateisystem-Zugriff auf spezifische Verzeichnisse:213Das Sandboxed-Bash-Tool beschränkt den Dateisystem-Zugriff auf spezifische Verzeichnisse:

211 214 

212* **Standard-Schreibverhalten**: Lese- und Schreibzugriff auf das aktuelle Arbeitsverzeichnis und seine Unterverzeichnisse215* **Standard-Schreibverhalten**: Lese- und Schreibzugriff auf das aktuelle Arbeitsverzeichnis und seine Unterverzeichnisse, plus das Session-Temp-Verzeichnis, auf das `$TMPDIR` verweist

213* **Standard-Leseverhalten**: Lesezugriff auf den gesamten Computer, außer bestimmten blockierten Verzeichnissen. Beachten Sie, dass diese Standard-Einstellung immer noch das Lesen von Anmeldedatendateien wie `~/.aws/credentials` und `~/.ssh/` ermöglicht. Fügen Sie diese zu `denyRead` hinzu, um sie zu blockieren.216* **Standard-Leseverhalten**: Lesezugriff auf den gesamten Computer, außer bestimmten blockierten Verzeichnissen. Beachten Sie, dass diese Standard-Einstellung immer noch das Lesen von Anmeldedatendateien wie `~/.aws/credentials` und `~/.ssh/` ermöglicht. Fügen Sie diese zu `denyRead` hinzu, um sie zu blockieren.

214* **Blockierter Zugriff**: Kann Dateien außerhalb des aktuellen Arbeitsverzeichnisses nicht ohne explizite Genehmigung ändern, einschließlich Shell-Konfigurationsdateien wie `~/.bashrc` und System-Binärdateien in `/bin/`217* **Blockierter Zugriff**: Kann Dateien außerhalb des aktuellen Arbeitsverzeichnisses und des Session-Temp-Verzeichnisses nicht ohne explizite Genehmigung ändern, einschließlich Shell-Konfigurationsdateien wie `~/.bashrc` und System-Binärdateien in `/bin/`

215* **Git Worktrees**: Wenn das Arbeitsverzeichnis ein [verknüpftes Git Worktree](/de/worktrees) ist, erlaubt die Sandbox auch Schreibzugriff auf das gemeinsame `.git`-Verzeichnis des Haupt-Repositorys, damit Befehle wie `git commit` Refs und den Index aktualisieren können. Schreibzugriffe auf `hooks/` und `config` in diesem Verzeichnis bleiben blockiert.218* **Git Worktrees**: Wenn das Arbeitsverzeichnis ein [verknüpftes Git Worktree](/de/worktrees) ist, erlaubt die Sandbox auch Schreibzugriff auf das gemeinsame `.git`-Verzeichnis des Haupt-Repositorys, damit Befehle wie `git commit` Refs und den Index aktualisieren können. Schreibzugriffe auf `hooks/` und `config` in diesem Verzeichnis bleiben blockiert.

216* **Konfigurierbar**: Definieren Sie benutzerdefinierte zulässige und blockierte Pfade durch Einstellungen219* **Konfigurierbar**: Definieren Sie benutzerdefinierte zulässige und blockierte Pfade durch Einstellungen

217 220 


394* **Privilege Escalation über Unix-Sockets**: Die Konfiguration `allowUnixSockets` kann versehentlich Zugriff auf leistungsstarke System-Services gewähren, die zu Sandbox-Umgehungen führen könnten. Wenn Sie beispielsweise Zugriff auf `/var/run/docker.sock` zulassen, würde dies effektiv Zugriff auf das Host-System durch den Docker-Socket gewähren. Überdenken Sie sorgfältig alle Unix-Sockets, die Sie durch die Sandbox zulassen.397* **Privilege Escalation über Unix-Sockets**: Die Konfiguration `allowUnixSockets` kann versehentlich Zugriff auf leistungsstarke System-Services gewähren, die zu Sandbox-Umgehungen führen könnten. Wenn Sie beispielsweise Zugriff auf `/var/run/docker.sock` zulassen, würde dies effektiv Zugriff auf das Host-System durch den Docker-Socket gewähren. Überdenken Sie sorgfältig alle Unix-Sockets, die Sie durch die Sandbox zulassen.

395* **Dateisystem-Genehmigungseskalation**: Übermäßig breite Dateisystem-Schreibgenehmigungen können Privilege-Escalation-Angriffe ermöglichen. Das Zulassen von Schreibvorgängen zu Verzeichnissen, die ausführbare Dateien in `$PATH`, System-Konfigurationsverzeichnisse oder Benutzer-Shell-Konfigurationsdateien wie `.bashrc` oder `.zshrc` enthalten, kann zu Code-Ausführung in verschiedenen Sicherheitskontexten führen, wenn andere Benutzer oder System-Prozesse auf diese Dateien zugreifen.398* **Dateisystem-Genehmigungseskalation**: Übermäßig breite Dateisystem-Schreibgenehmigungen können Privilege-Escalation-Angriffe ermöglichen. Das Zulassen von Schreibvorgängen zu Verzeichnissen, die ausführbare Dateien in `$PATH`, System-Konfigurationsverzeichnisse oder Benutzer-Shell-Konfigurationsdateien wie `.bashrc` oder `.zshrc` enthalten, kann zu Code-Ausführung in verschiedenen Sicherheitskontexten führen, wenn andere Benutzer oder System-Prozesse auf diese Dateien zugreifen.

396* **Linux-Sandbox-Stärke**: Die Linux-Implementierung bietet starke Dateisystem- und Netzwerk-Isolation, enthält aber einen `enableWeakerNestedSandbox`-Modus, der es ermöglicht, in Docker-Umgebungen ohne privilegierte Namespaces zu funktionieren, oder auf Linux-Hosts, wo unprivilegierte Benutzer-Namespaces durch sysctl deaktiviert sind. Diese Option schwächt die Sicherheit erheblich ab und sollte nur verwendet werden, wenn zusätzliche Isolation anderweitig durchgesetzt wird.399* **Linux-Sandbox-Stärke**: Die Linux-Implementierung bietet starke Dateisystem- und Netzwerk-Isolation, enthält aber einen `enableWeakerNestedSandbox`-Modus, der es ermöglicht, in Docker-Umgebungen ohne privilegierte Namespaces zu funktionieren, oder auf Linux-Hosts, wo unprivilegierte Benutzer-Namespaces durch sysctl deaktiviert sind. Diese Option schwächt die Sicherheit erheblich ab und sollte nur verwendet werden, wenn zusätzliche Isolation anderweitig durchgesetzt wird.

397* **Einstellungsdateien geschützt**: Die Sandbox verweigert automatisch Schreibzugriff auf Claudes `settings.json`-Dateien in jedem Scope und auf das verwaltete Einstellungsverzeichnis, daher kann ein Sandbox-Befehl seine eigene Richtlinie nicht ändern.400* **Einstellungsdateien geschützt**: Die Sandbox verweigert automatisch Schreibzugriff auf Claude Code's `settings.json`-Dateien in jedem Scope und auf das verwaltete Einstellungsverzeichnis, daher kann ein Sandbox-Befehl seine eigene Richtlinie nicht ändern.

398 401 

399<h3 id="platform-and-tool-compatibility">402<h3 id="platform-and-tool-compatibility">

400 Plattform- und Tool-Kompatibilität403 Plattform- und Tool-Kompatibilität


416* **Subagenten**: [Subagenten](/de/sub-agents) laufen im gleichen Prozess wie die übergeordnete Sitzung und verwenden die gleiche Sandbox-Konfiguration. Bash-Befehle in einem Subagenten werden in der Sandbox ausgeführt, wenn Sandboxing in der übergeordneten Sitzung aktiviert ist.419* **Subagenten**: [Subagenten](/de/sub-agents) laufen im gleichen Prozess wie die übergeordnete Sitzung und verwenden die gleiche Sandbox-Konfiguration. Bash-Befehle in einem Subagenten werden in der Sandbox ausgeführt, wenn Sandboxing in der übergeordneten Sitzung aktiviert ist.

417 420 

418<Warning>421<Warning>

419 Effektives Sandboxing erfordert **sowohl** Dateisystem- als auch Netzwerk-Isolation. Ohne Netzwerk-Isolation könnte ein kompromittierter Agent sensible Dateien wie SSH-Schlüssel exfiltrieren. Ohne Dateisystem-Isolation könnte ein kompromittierter Agent System-Ressourcen manipulieren, um Netzwerkzugriff zu erlangen. Wenn Sie die Standardwerte erweitern, überprüfen Sie, dass ein `allowWrite`-Pfad, ein breiter `allowedDomains`-Eintrag oder eine `excludedCommands`-Ausnahme keine Einschränkung auf der anderen Seite rückgängig macht.422 Effektives Sandboxing erfordert sowohl Dateisystem- als auch Netzwerk-Isolation. Ohne Netzwerk-Isolation könnte ein kompromittierter Agent sensible Dateien wie SSH-Schlüssel exfiltrieren. Ohne Dateisystem-Isolation könnte ein kompromittierter Agent System-Ressourcen manipulieren, um Netzwerkzugriff zu erlangen. Wenn Sie die Standardwerte erweitern, überprüfen Sie, dass ein `allowWrite`-Pfad, ein breiter `allowedDomains`-Eintrag oder eine `excludedCommands`-Ausnahme keine Einschränkung auf der anderen Seite rückgängig macht.

420</Warning>423</Warning>

421 424 

422<h2 id="see-also">425<h2 id="see-also">

security.md +4 −4

Details

22 22 

23Claude Code verwendet standardmäßig strikte Nur-Lesen-Berechtigungen. Wenn zusätzliche Aktionen erforderlich sind (Dateien bearbeiten, Tests ausführen, Befehle ausführen), fordert Claude Code explizite Genehmigung an. Benutzer kontrollieren, ob sie Aktionen einmalig genehmigen oder automatisch zulassen möchten.23Claude Code verwendet standardmäßig strikte Nur-Lesen-Berechtigungen. Wenn zusätzliche Aktionen erforderlich sind (Dateien bearbeiten, Tests ausführen, Befehle ausführen), fordert Claude Code explizite Genehmigung an. Benutzer kontrollieren, ob sie Aktionen einmalig genehmigen oder automatisch zulassen möchten.

24 24 

25Wir haben Claude Code so gestaltet, dass es transparent und sicher ist. Beispielsweise erfordern wir Genehmigung für Bash-Befehle vor ihrer Ausführung, was Ihnen direkte Kontrolle gibt. Dieser Ansatz ermöglicht es Benutzern und Organisationen, Berechtigungen direkt zu konfigurieren.25Claude Code erfordert Genehmigung vor der Ausführung von Bash-Befehlen, die Ihr System ändern können. Ein integrierter Satz von Nur-Lesen-Befehlen wie `ls`, `cat` und `git status` wird ohne Aufforderung ausgeführt. Dieser Ansatz ermöglicht es Benutzern und Organisationen, Berechtigungen direkt zu konfigurieren.

26 26 

27Für detaillierte Berechtigungskonfiguration siehe [Berechtigungen](/de/permissions).27Für detaillierte Berechtigungskonfiguration siehe [Berechtigungen](/de/permissions).

28 28 


56* **Berechtigungssystem**: Sensible Operationen erfordern explizite Genehmigung56* **Berechtigungssystem**: Sensible Operationen erfordern explizite Genehmigung

57* **Kontextbewusste Analyse**: Erkennt potenziell schädliche Anweisungen durch Analyse der vollständigen Anfrage57* **Kontextbewusste Analyse**: Erkennt potenziell schädliche Anweisungen durch Analyse der vollständigen Anfrage

58* **Eingabebereinigung**: Verhindert Befehlsinjektionen durch Verarbeitung von Benutzereingaben58* **Eingabebereinigung**: Verhindert Befehlsinjektionen durch Verarbeitung von Benutzereingaben

59* **Befehlsblockliste**: Blockiert standardmäßig riskante Befehle, die beliebige Inhalte aus dem Web abrufen, wie `curl` und `wget`. Wenn explizit zulässig, beachten Sie [Einschränkungen des Berechtigungsmusters](/de/permissions#tool-specific-permission-rules)59* **Genehmigung von Netzwerkbefehlen**: Befehle, die Inhalte aus dem Web abrufen, wie `curl` und `wget`, werden standardmäßig nicht automatisch genehmigt. Sie werden wie jeder andere nicht-schreibgeschützte Bash-Befehl behandelt, sodass Sie diese trotzdem genehmigen oder eine explizite Zulassungsregel wie `Bash(curl *)` hinzufügen können. Um sie vollständig zu blockieren, fügen Sie sie zu [`permissions.deny`](/de/permissions#tool-specific-permission-rules) hinzu

60 60 

61<h3 id="privacy-safeguards">61<h3 id="privacy-safeguards">

62 Datenschutzvorkehrungen62 Datenschutzvorkehrungen


77* **Genehmigung von Netzwerkanfragen**: Tools, die Netzwerkanfragen stellen, erfordern standardmäßig Benutzergenehmigung77* **Genehmigung von Netzwerkanfragen**: Tools, die Netzwerkanfragen stellen, erfordern standardmäßig Benutzergenehmigung

78* **Isolierte Kontextfenster**: Web Fetch verwendet ein separates Kontextfenster, um die Injection potenziell bösartiger Prompts zu vermeiden78* **Isolierte Kontextfenster**: Web Fetch verwendet ein separates Kontextfenster, um die Injection potenziell bösartiger Prompts zu vermeiden

79* **Vertrauensüberprüfung**: Erste Codebasis-Ausführungen und neue MCP-Server erfordern Vertrauensüberprüfung79* **Vertrauensüberprüfung**: Erste Codebasis-Ausführungen und neue MCP-Server erfordern Vertrauensüberprüfung

80 * Hinweis: Vertrauensüberprüfung ist deaktiviert, wenn nicht-interaktiv mit dem `-p`-Flag ausgeführt wird. Die Ausnahme ist [`--worktree`](/de/worktrees), das weiterhin erfordert, dass das Vertrauen für das Verzeichnis akzeptiert wurde80 * Hinweis: Vertrauensüberprüfung ist deaktiviert, wenn nicht-interaktiv mit dem `-p`-Flag ausgeführt wird

81 * Hinweis: Wenn Sie Claude Code direkt in Ihrem Home-Verzeichnis starten, wird die Vertrauensannahme nur für die aktuelle Sitzung beibehalten und nicht auf die Festplatte geschrieben, sodass die Eingabeaufforderung bei jedem Start erneut angezeigt wird. Es gibt keine Einstellung, um sie beizubehalten. Starten Sie Claude Code stattdessen aus einem Projektunterverzeichnis, in dem die Vertrauensannahme pro Verzeichnis gespeichert wird81 * Hinweis: Wenn Sie Claude Code direkt in Ihrem Home-Verzeichnis starten, wird die Vertrauensannahme nur für die aktuelle Sitzung beibehalten und nicht auf die Festplatte geschrieben, sodass die Eingabeaufforderung bei jedem Start erneut angezeigt wird. Es gibt keine Einstellung, um sie beizubehalten. Starten Sie Claude Code stattdessen aus einem Projektunterverzeichnis, in dem die Vertrauensannahme pro Verzeichnis gespeichert wird

82* **Erkennung von Befehlsinjektionen**: Verdächtige Bash-Befehle erfordern manuelle Genehmigung, auch wenn sie zuvor auf die Zulassungsliste gesetzt wurden82* **Erkennung von Befehlsinjektionen**: Verdächtige Bash-Befehle erfordern manuelle Genehmigung, auch wenn sie zuvor auf die Zulassungsliste gesetzt wurden

83* **Fail-Closed-Matching**: Nicht übereinstimmende Befehle erfordern standardmäßig manuelle Genehmigung83* **Fail-Closed-Matching**: Nicht übereinstimmende Befehle erfordern standardmäßig manuelle Genehmigung

84* **Beschreibungen in natürlicher Sprache**: Komplexe Bash-Befehle enthalten Erklärungen zum Verständnis des Benutzers84* **Beschreibungen in natürlicher Sprache**: Komplexe Bash-Befehle enthalten Erklärungen zum Verständnis des Benutzers

85* **Sichere Anmeldedatenspeicherung**: API-Schlüssel und Token sind verschlüsselt. Siehe [Credential Management](/de/authentication#credential-management)85* **Sichere Anmeldedatenspeicherung**: API-Schlüssel und Token werden im macOS Keychain gespeichert, wenn verfügbar, und durch Dateiberechtigungen unter Windows und Linux geschützt. Siehe [Credential Management](/de/authentication#credential-management)

86 86 

87<Warning>87<Warning>

88 **Windows WebDAV-Sicherheitsrisiko**: Wenn Sie Claude Code unter Windows ausführen, empfehlen wir, WebDAV nicht zu aktivieren oder Claude Code keinen Zugriff auf Pfade wie `\\*` zu gewähren, die WebDAV-Unterverzeichnisse enthalten können. [WebDAV wurde von Microsoft als veraltet eingestuft](https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features#:~:text=The%20Webclient%20\(WebDAV\)%20service%20is%20deprecated) aufgrund von Sicherheitsrisiken. Das Aktivieren von WebDAV kann Claude Code ermöglichen, Netzwerkanfragen an Remote-Hosts auszulösen und das Berechtigungssystem zu umgehen.88 **Windows WebDAV-Sicherheitsrisiko**: Wenn Sie Claude Code unter Windows ausführen, empfehlen wir, WebDAV nicht zu aktivieren oder Claude Code keinen Zugriff auf Pfade wie `\\*` zu gewähren, die WebDAV-Unterverzeichnisse enthalten können. [WebDAV wurde von Microsoft als veraltet eingestuft](https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features#:~:text=The%20Webclient%20\(WebDAV\)%20service%20is%20deprecated) aufgrund von Sicherheitsrisiken. Das Aktivieren von WebDAV kann Claude Code ermöglichen, Netzwerkanfragen an Remote-Hosts auszulösen und das Berechtigungssystem zu umgehen.

Details

174 174 

175Claude Code wendet Einstellungsaktualisierungen automatisch ohne Neustart an, außer für erweiterte Einstellungen wie OpenTelemetry-Konfiguration, die einen vollständigen Neustart erfordern, um wirksam zu werden.175Claude Code wendet Einstellungsaktualisierungen automatisch ohne Neustart an, außer für erweiterte Einstellungen wie OpenTelemetry-Konfiguration, die einen vollständigen Neustart erfordern, um wirksam zu werden.

176 176 

177<h3 id="invalid-entries-in-delivered-settings">

178 Ungültige Einträge in bereitgestellten Einstellungen

179</h3>

180 

181Bereitgestellte Payloads werden tolerant mit den gleichen Regeln wie die anderen verwalteten Quellen analysiert. Wenn eine Payload einen Eintrag enthält, der die Schemavalidierung nicht besteht, entfernt Claude Code diesen Eintrag, zeigt einen Validierungsfehler an und wendet alle verbleibenden gültigen Einstellungen an. Siehe [Ungültige Einträge in verwalteten Einstellungen](/de/settings#invalid-entries-in-managed-settings) für das Verhalten auf Feldebene, einschließlich der Behandlung von Sicherheitserzwingungsfeldern. Erfordert Claude Code v2.1.169 oder später.

182 

183Die serververwaltete Bereitstellung fügt diese Verhaltensweisen hinzu:

184 

185* Der Cache unter `~/.claude/remote-settings.json` speichert die gerettete Payload mit entfernten ungültigen Einträgen. Die rohe ungültige Payload wird niemals beibehalten.

186* Wenn kein Feld in der Payload gerettet werden kann, behält Claude Code die zuletzt akzeptierten zwischengespeicherten Einstellungen bei und zeichnet einen schwerwiegenden Fehler auf.

187* Der [Sicherheitsgenehmigungsdialog](#security-approval-dialogs) bewertet die gerettete Payload, sodass ein entfernter ungültiger Eintrag niemals zur Genehmigung präsentiert wird und niemals ausgeführt wird.

188 

189Um Bereitstellungsprobleme zu debuggen, führen Sie `claude --debug-file <path>` aus und suchen Sie im Protokoll nach `Remote settings`. Validieren Sie eine Payload-Änderung mit `claude doctor` auf einem Test-Computer, bevor Sie sie in der Organisation bereitstellen.

190 

177<h3 id="enforce-fail-closed-startup">191<h3 id="enforce-fail-closed-startup">

178 Erzwingen Sie einen Fail-Closed-Start192 Erzwingen Sie einen Fail-Closed-Start

179</h3>193</h3>

sessions.md +2 −2

Details

30| `claude --from-pr <number>` | Setzt die mit diesem Pull Request verknüpfte Sitzung fort |30| `claude --from-pr <number>` | Setzt die mit diesem Pull Request verknüpfte Sitzung fort |

31| `/resume` | Wechselt zu einem anderen Gespräch innerhalb einer aktiven Sitzung |31| `/resume` | Wechselt zu einem anderen Gespräch innerhalb einer aktiven Sitzung |

32 32 

33Sitzungen, die mit [`claude -p`](/de/headless) oder dem [Agent SDK](/de/agent-sdk/overview) erstellt wurden, werden nicht in der Sitzungsauswahl angezeigt, aber Sie können eine trotzdem fortsetzen, indem Sie ihre Sitzungs-ID an `claude --resume <session-id>` übergeben.33Sitzungen, die mit [`claude -p`](/de/headless) oder dem [Agent SDK](/de/agent-sdk/overview) erstellt wurden, werden nicht in der Sitzungsauswahl angezeigt, aber Sie können eine trotzdem fortsetzen, indem Sie ihre Sitzungs-ID an `claude --resume <session-id>` übergeben. Führen Sie dies aus dem Verzeichnis aus, in dem die Sitzung gestartet wurde: Die Sitzungs-ID-Suche ist auf das aktuelle Projektverzeichnis und seine Git Worktrees beschränkt, daher meldet eine anderswo erstellte Sitzung `No conversation found with session ID: <session-id>`.

34 34 

35<h3 id="where-the-session-picker-looks">35<h3 id="where-the-session-picker-looks">

36 Wo die Sitzungsauswahl sucht36 Wo die Sitzungsauswahl sucht

37</h3>37</h3>

38 38 

39Sitzungen werden pro Projektverzeichnis gespeichert. Standardmäßig zeigt die Sitzungsauswahl interaktive Sitzungen aus dem aktuellen Worktree sowie Sitzungen, die anderswo gestartet wurden und das aktuelle Verzeichnis mit `/add-dir` hinzugefügt haben. Verwenden Sie `Ctrl+W`, um auf alle Worktrees des Repositorys zu erweitern, oder `Ctrl+A`, um auf jedes Projekt auf dieser Maschine zu erweitern.39Sitzungen werden pro Projektverzeichnis gespeichert. Standardmäßig zeigt die Sitzungsauswahl interaktive Sitzungen aus dem aktuellen Worktree sowie Sitzungen, die anderswo gestartet wurden und das aktuelle Verzeichnis mit `/add-dir` hinzugefügt haben. {/* min-version: 2.1.169 */}Ab v2.1.169 verschiebt das Verschieben einer Sitzung mit [`/cd`](/de/commands) diese in den Projektspeicher des neuen Verzeichnisses, sodass sie danach in der Auswahl dieses Verzeichnisses angezeigt wird. Verwenden Sie `Ctrl+W`, um auf alle Worktrees des Repositorys zu erweitern, oder `Ctrl+A`, um auf jedes Projekt auf dieser Maschine zu erweitern.

40 40 

41Das Auswählen einer Sitzung aus einem anderen Worktree desselben Repositorys setzt sie an Ort und Stelle fort. Das Auswählen einer Sitzung aus einem nicht verwandten Projekt kopiert stattdessen einen `cd`- und Resume-Befehl in Ihre Zwischenablage.41Das Auswählen einer Sitzung aus einem anderen Worktree desselben Repositorys setzt sie an Ort und Stelle fort. Das Auswählen einer Sitzung aus einem nicht verwandten Projekt kopiert stattdessen einen `cd`- und Resume-Befehl in Ihre Zwischenablage.

42 42 

settings.md +114 −23

Details

19</h3>19</h3>

20 20 

21| Bereich | Speicherort | Wer ist betroffen | Mit Team geteilt? |21| Bereich | Speicherort | Wer ist betroffen | Mit Team geteilt? |

22| :------------ | :---------------------------------------------------------------------------------------- | :------------------------------------ | :------------------------- |22| :------------ | :---------------------------------------------------------------------------------------- | :------------------------------------ | :------------------------------------------------ |

23| **Verwaltet** | Serververwaltete Einstellungen, plist / Registry oder systemweite `managed-settings.json` | Alle Benutzer auf dem Computer | Ja (von IT bereitgestellt) |23| **Verwaltet** | Serververwaltete Einstellungen, plist / Registry oder systemweite `managed-settings.json` | Alle Benutzer auf dem Computer | Ja (von IT bereitgestellt) |

24| **Benutzer** | `~/.claude/` Verzeichnis | Sie, über alle Projekte hinweg | Nein |24| **Benutzer** | `~/.claude/` Verzeichnis | Sie, über alle Projekte hinweg | Nein |

25| **Projekt** | `.claude/` im Repository | Alle Mitarbeiter in diesem Repository | Ja (in Git eingecheckt) |25| **Projekt** | `.claude/` im Repository | Alle Mitarbeiter in diesem Repository | Ja (in Git eingecheckt) |

26| **Lokal** | `.claude/settings.local.json` | Sie, nur in diesem Repository | Nein (gitignoriert) |26| **Lokal** | `.claude/settings.local.json` | Sie, nur in diesem Repository | Nein (gitignoriert, wenn Claude Code es erstellt) |

27 27 

28<h3 id="when-to-use-each-scope">28<h3 id="when-to-use-each-scope">

29 Wann sollte jeder Bereich verwendet werden29 Wann sollte jeder Bereich verwendet werden


94* **Benutzereinstellungen** werden in `~/.claude/settings.json` definiert und gelten für alle Projekte.94* **Benutzereinstellungen** werden in `~/.claude/settings.json` definiert und gelten für alle Projekte.

95* **Projekteinstellungen** werden in Ihrem Projektverzeichnis gespeichert:95* **Projekteinstellungen** werden in Ihrem Projektverzeichnis gespeichert:

96 * `.claude/settings.json` für Einstellungen, die in die Versionskontrolle eingecheckt und mit Ihrem Team geteilt werden96 * `.claude/settings.json` für Einstellungen, die in die Versionskontrolle eingecheckt und mit Ihrem Team geteilt werden

97 * `.claude/settings.local.json` für Einstellungen, die nicht eingecheckt werden, nützlich für persönliche Voreinstellungen und Experimente. Claude Code konfiguriert Git so, dass `.claude/settings.local.json` ignoriert wird, wenn sie erstellt wird.97 * `.claude/settings.local.json` für Einstellungen, die nicht eingecheckt werden, nützlich für persönliche Voreinstellungen und Experimente. Wenn Claude Code `.claude/settings.local.json` erstellt, konfiguriert es Git so, dass die Datei ignoriert wird. Wenn Sie die Datei selbst erstellen, fügen Sie sie manuell zu Ihrer gitignore hinzu.

98* **Verwaltete Einstellungen**: Für Organisationen, die zentrale Kontrolle benötigen, unterstützt Claude Code mehrere Bereitstellungsmechanismen für verwaltete Einstellungen. Alle verwenden das gleiche JSON-Format und können nicht durch Benutzer- oder Projekteinstellungen überschrieben werden:98* **Verwaltete Einstellungen**: Für Organisationen, die zentrale Kontrolle benötigen, unterstützt Claude Code mehrere Bereitstellungsmechanismen für verwaltete Einstellungen. Alle verwenden das gleiche JSON-Format und können nicht durch Benutzer- oder Projekteinstellungen überschrieben werden:

99 99 

100 * **Serververwaltete Einstellungen**: von Anthropics Servern über die Claude.ai-Administratorkonsole bereitgestellt. Siehe [serververwaltete Einstellungen](/de/server-managed-settings).100 * **Serververwaltete Einstellungen**: von Anthropics Servern über die Claude.ai-Administratorkonsole bereitgestellt. Siehe [serververwaltete Einstellungen](/de/server-managed-settings).


174* `model`: Verwenden Sie [`/model`](/de/model-config#setting-your-model), um während der Sitzung zu wechseln174* `model`: Verwenden Sie [`/model`](/de/model-config#setting-your-model), um während der Sitzung zu wechseln

175* [`outputStyle`](/de/output-styles): Teil der Systemaufforderung, die beim `/clear` oder Neustart neu erstellt wird175* [`outputStyle`](/de/output-styles): Teil der Systemaufforderung, die beim `/clear` oder Neustart neu erstellt wird

176 176 

177<h3 id="invalid-entries-in-managed-settings">

178 Ungültige Einträge in verwalteten Einstellungen

179</h3>

180 

181Verwaltete Einstellungen werden tolerant analysiert. Wenn eine verwaltete Konfiguration einen Eintrag enthält, der die Schema-Validierung nicht besteht, entfernt Claude Code diesen Eintrag, zeichnet eine Warnung auf und erzwingt jede verbleibende gültige Richtlinie. Ein einzelner Tippfehler kann nicht die restliche Organisationsrichtlinie deaktivieren. Dieses Verhalten ist konsistent über alle drei Bereitstellungsmechanismen: [serververwaltete Einstellungen](/de/server-managed-settings), plist- und Registry-Richtlinien, die über MDM bereitgestellt werden, und `managed-settings.json`-Dateien. Erfordert Claude Code v2.1.169 oder später.

182 

183Sicherheitsdurchsetzungsfelder werden pro Feld behandelt, anstatt vollständig entfernt zu werden, wenn sie vorhanden, aber ungültig sind:

184 

185| Feld | Verhalten, wenn vorhanden, aber ungültig |

186| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

187| `allowedMcpServers` | Erzwungen als leere Allowlist, sodass keine MCP-Server zulässig sind, bis der Wert behoben ist. Ein einzelner ungültiger Eintrag wird entfernt und die gültige Teilmenge wird erzwungen. |

188| `allowManagedMcpServersOnly` | Behandelt als `true`. |

189| `availableModels` | {/* min-version: 2.1.175 */}Erzwungen als leere Allowlist, sodass nur das Standardmodell verfügbar ist, bis der Wert behoben ist. Ein einzelner Nicht-String-Eintrag wird entfernt und die gültige Teilmenge wird erzwungen. Gilt in v2.1.175 und später. |

190| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Behandelt als `true`. Gilt in v2.1.175 und später. |

191| `forceLoginOrgUUID` | Keine Organisation darf sich anmelden, bis der Wert behoben ist. |

192| `deniedMcpServers` | Ein einzelner ungültiger Eintrag wird entfernt und die gültige Teilmenge wird erzwungen. Ein vollständig ungültiger Wert wird mit einer Warnung verworfen, da das Verweigern aller Server Server blockieren würde, die die Richtlinie nie benannt hat. |

193 

194`requiredMinimumVersion` und `requiredMaximumVersion` schlagen offen fehl: Ein ungültiger Wert wird entfernt, anstatt erzwungen zu werden, sodass ein schlechter Richtlinien-Push Claude Code nicht am Starten hindern kann.

195 

196Validierungsfehler werden an drei Stellen angezeigt:

197 

198* Interaktive Sitzungen zeigen beim Start einen Dialog mit den ungültigen Einträgen an.

199* Headless-Läufe mit `-p` drucken eine Zusammenfassung zu stderr.

200* [`claude doctor`](/de/debug-your-config) listet jeden ungültigen Eintrag mit seiner Quelle und seinem Feld auf.

201 

202Validieren Sie Richtlinienänderungen, indem Sie `claude doctor` auf einem Test-Computer ausführen, bevor Sie sie unternehmensweite bereitstellen.

203 

204Diese Toleranz gilt nur für verwaltete Einstellungen. Benutzer-, Projekt- und lokale Einstellungsdateien bleiben streng: Eine Datei, die die Validierung nicht besteht, wird als Ganzes abgelehnt und gemeldet.

205 

177<h3 id="available-settings">206<h3 id="available-settings">

178 Verfügbare Einstellungen207 Verfügbare Einstellungen

179</h3>208</h3>


181`settings.json` unterstützt eine Reihe von Optionen:210`settings.json` unterstützt eine Reihe von Optionen:

182 211 

183| Schlüssel | Beschreibung | Beispiel |212| Schlüssel | Beschreibung | Beispiel |

184| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------- |213| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |

214| `advisorModel` | {/* min-version: 2.1.98 */}Modell für das serverseitige [Advisor-Tool](/de/advisor). Akzeptiert einen Modellalias wie `"opus"`, `"sonnet"` oder `"fable"` ({/* min-version: 2.1.170 */}v2.1.170+) oder eine vollständige Modell-ID. Wird automatisch geschrieben, wenn Sie `/advisor` ausführen. Nicht gesetzt, um den Advisor zu deaktivieren. Erfordert Claude Code v2.1.98 oder später | `"opus"` |

185| `agent` | Führen Sie den Haupt-Thread als benannten Subagent aus und legen Sie den Standard-Agent für Sitzungen fest, die von `claude agents` versendet werden. Wendet den Systemaufforderung, die Werkzeugbeschränkungen und das Modell des Subagent an. Siehe [Rufen Sie Subagents explizit auf](/de/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |215| `agent` | Führen Sie den Haupt-Thread als benannten Subagent aus und legen Sie den Standard-Agent für Sitzungen fest, die von `claude agents` versendet werden. Wendet den Systemaufforderung, die Werkzeugbeschränkungen und das Modell des Subagent an. Siehe [Rufen Sie Subagents explizit auf](/de/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |

216| `agentPushNotifEnabled` | {/* min-version: 2.1.119 */}Wenn [Remote Control](/de/remote-control) verbunden ist, erlauben Sie Claude, proaktive Push-Benachrichtigungen an Ihr Telefon zu senden, z. B. wenn eine lange Aufgabe endet. Standard: `false`. Wird in `/config` als **Push when Claude decides** angezeigt. Siehe [Mobile Push-Benachrichtigungen](/de/remote-control#mobile-push-notifications). Erfordert Claude Code v2.1.119 oder später | `true` |

186| `allowAllClaudeAiMcps` | (Nur verwaltete Einstellungen) Laden Sie claude.ai-Konnektoren neben einer bereitgestellten `managed-mcp.json` auf, die ansonsten exklusive Kontrolle übernimmt und diese unterdrückt. Siehe [Verwaltete MCP-Konfiguration](/de/managed-mcp) | `true` |217| `allowAllClaudeAiMcps` | (Nur verwaltete Einstellungen) Laden Sie claude.ai-Konnektoren neben einer bereitgestellten `managed-mcp.json` auf, die ansonsten exklusive Kontrolle übernimmt und diese unterdrückt. Siehe [Verwaltete MCP-Konfiguration](/de/managed-mcp) | `true` |

187| `allowedChannelPlugins` | (Nur verwaltete Einstellungen) Allowlist von Channel-Plugins, die Nachrichten pushen dürfen. Ersetzt die Standard-Anthropic-Allowlist, wenn gesetzt. Undefined = auf Standard zurückfallen, leeres Array = alle Channel-Plugins blockieren. Erfordert `channelsEnabled: true`. Siehe [Einschränken Sie, welche Channel-Plugins ausgeführt werden können](/de/channels#restrict-which-channel-plugins-can-run) | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |218| `allowedChannelPlugins` | (Nur verwaltete Einstellungen) Allowlist von Channel-Plugins, die Nachrichten pushen dürfen. Ersetzt die Standard-Anthropic-Allowlist, wenn gesetzt. Undefined = auf Standard zurückfallen, leeres Array = alle Channel-Plugins blockieren. Erfordert `channelsEnabled: true`. Siehe [Einschränken Sie, welche Channel-Plugins ausgeführt werden können](/de/channels#restrict-which-channel-plugins-can-run) | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |

188| `allowedHttpHookUrls` | Allowlist von URL-Mustern, auf die HTTP-Hooks abzielen können. Unterstützt `*` als Platzhalter. Wenn gesetzt, werden Hooks mit nicht übereinstimmenden URLs blockiert. Undefined = keine Einschränkung, leeres Array = alle HTTP-Hooks blockieren. Arrays werden über Einstellungsquellen zusammengeführt. Siehe [Hook-Konfiguration](#hook-configuration) | `["https://hooks.example.com/*"]` |219| `allowedHttpHookUrls` | Allowlist von URL-Mustern, auf die HTTP-Hooks abzielen können. Unterstützt `*` als Platzhalter. Wenn gesetzt, werden Hooks mit nicht übereinstimmenden URLs blockiert. Undefined = keine Einschränkung, leeres Array = alle HTTP-Hooks blockieren. Arrays werden über Einstellungsquellen zusammengeführt. Siehe [Hook-Konfiguration](#hook-configuration) | `["https://hooks.example.com/*"]` |


190| `allowManagedHooksOnly` | (Nur verwaltete Einstellungen) Nur verwaltete Hooks, SDK-Hooks und Hooks von Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, werden geladen. Benutzer-, Projekt- und alle anderen Plugin-Hooks werden blockiert. Siehe [Hook-Konfiguration](#hook-configuration) | `true` |221| `allowManagedHooksOnly` | (Nur verwaltete Einstellungen) Nur verwaltete Hooks, SDK-Hooks und Hooks von Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, werden geladen. Benutzer-, Projekt- und alle anderen Plugin-Hooks werden blockiert. Siehe [Hook-Konfiguration](#hook-configuration) | `true` |

191| `allowManagedMcpServersOnly` | (Nur verwaltete Einstellungen) Nur `allowedMcpServers` aus verwalteten Einstellungen werden berücksichtigt. `deniedMcpServers` wird weiterhin aus allen Quellen zusammengeführt. Benutzer können weiterhin MCP-Server hinzufügen, aber nur die von Admin definierte Allowlist gilt. Siehe [Verwaltete MCP-Konfiguration](/de/managed-mcp) | `true` |222| `allowManagedMcpServersOnly` | (Nur verwaltete Einstellungen) Nur `allowedMcpServers` aus verwalteten Einstellungen werden berücksichtigt. `deniedMcpServers` wird weiterhin aus allen Quellen zusammengeführt. Benutzer können weiterhin MCP-Server hinzufügen, aber nur die von Admin definierte Allowlist gilt. Siehe [Verwaltete MCP-Konfiguration](/de/managed-mcp) | `true` |

192| `allowManagedPermissionRulesOnly` | (Nur verwaltete Einstellungen) Verhindern Sie, dass Benutzer- und Projekteinstellungen `allow`, `ask` oder `deny` Berechtigungsregeln definieren. Nur Regeln in verwalteten Einstellungen gelten. Siehe [Nur verwaltete Einstellungen](/de/permissions#managed-only-settings) | `true` |223| `allowManagedPermissionRulesOnly` | (Nur verwaltete Einstellungen) Verhindern Sie, dass Benutzer- und Projekteinstellungen `allow`, `ask` oder `deny` Berechtigungsregeln definieren. Nur Regeln in verwalteten Einstellungen gelten. Siehe [Nur verwaltete Einstellungen](/de/permissions#managed-only-settings) | `true` |

193| `alwaysThinkingEnabled` | Aktivieren Sie [erweitertes Denken](/de/model-config#extended-thinking) standardmäßig für alle Sitzungen. Normalerweise über den Befehl `/config` konfiguriert, anstatt direkt zu bearbeiten. Um das Denken unabhängig von dieser Einstellung auszuschalten, setzen Sie [`CLAUDE_CODE_DISABLE_THINKING`](/de/env-vars) in `env` | `true` |224| `alwaysThinkingEnabled` | Aktivieren Sie [erweitertes Denken](/de/model-config#extended-thinking) standardmäßig für alle Sitzungen. Normalerweise über den Befehl `/config` konfiguriert, anstatt direkt zu bearbeiten. Um das Denken unabhängig von dieser Einstellung auszuschalten, setzen Sie [`MAX_THINKING_TOKENS=0`](/de/env-vars) in `env`, was das Denken auf der Anthropic API deaktiviert, außer auf Fable 5, das Denken nicht ausschalten kann. Bei [Drittanbieter-Providern](/de/third-party-integrations) wird stattdessen der `thinking`-Parameter weggelassen, und adaptive-reasoning-Modelle können weiterhin denken | `true` |

194| `apiKeyHelper` | Benutzerdefiniertes Skript, das in `/bin/sh` ausgeführt werden soll, um einen Auth-Wert zu generieren. Dieser Wert wird als `X-Api-Key` und `Authorization: Bearer` Header für Modellanfragen gesendet. Setzen Sie das Aktualisierungsintervall mit [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/de/env-vars) | `/bin/generate_temp_api_key.sh` |225| `apiKeyHelper` | Benutzerdefiniertes Skript, das in `/bin/sh` ausgeführt werden soll, um einen Auth-Wert zu generieren. Dieser Wert wird als `X-Api-Key` und `Authorization: Bearer` Header für Modellanfragen gesendet. Setzen Sie das Aktualisierungsintervall mit [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/de/env-vars) | `/bin/generate_temp_api_key.sh` |

195| `attribution` | Passen Sie die Zuschreibung für Git-Commits und Pull Requests an. Siehe [Zuschreibungseinstellungen](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |226| `attribution` | Passen Sie die Zuschreibung für Git-Commits und Pull Requests an. Siehe [Zuschreibungseinstellungen](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

227| `autoCompactEnabled` | {/* min-version: 2.1.119 */}Komprimieren Sie das Gespräch automatisch, wenn sich der Kontext dem Limit nähert. Standard: `true`. Wird in `/config` als **Auto-compact** angezeigt. Um dies über eine Umgebungsvariable zu deaktivieren, setzen Sie [`DISABLE_AUTO_COMPACT`](/de/env-vars) in `env` | `false` |

196| `autoMemoryDirectory` | Benutzerdefiniertes Verzeichnis für [automatisches Speichern](/de/memory#storage-location). Akzeptiert einen absoluten Pfad oder einen `~/`-erweiterten Pfad. Aus Projekt- oder lokalen Einstellungen wird dies nur berücksichtigt, nachdem Sie den Workspace-Trust-Dialog akzeptieren, da ein geklontes Repository diese Datei bereitstellen kann | `"~/my-memory-dir"` |228| `autoMemoryDirectory` | Benutzerdefiniertes Verzeichnis für [automatisches Speichern](/de/memory#storage-location). Akzeptiert einen absoluten Pfad oder einen `~/`-erweiterten Pfad. Aus Projekt- oder lokalen Einstellungen wird dies nur berücksichtigt, nachdem Sie den Workspace-Trust-Dialog akzeptieren, da ein geklontes Repository diese Datei bereitstellen kann | `"~/my-memory-dir"` |

197| `autoMemoryEnabled` | Aktivieren Sie [automatisches Speichern](/de/memory#enable-or-disable-auto-memory). Wenn `false`, liest Claude nicht aus dem oder schreibt nicht in das automatische Speicherverzeichnis. Standard: `true`. Sie können dies auch während einer Sitzung mit `/memory` umschalten. Um dies über eine Umgebungsvariable zu deaktivieren, setzen Sie [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/de/env-vars) in `env` | `false` |229| `autoMemoryEnabled` | Aktivieren Sie [automatisches Speichern](/de/memory#enable-or-disable-auto-memory). Wenn `false`, liest Claude nicht aus dem oder schreibt nicht in das automatische Speicherverzeichnis. Standard: `true`. Sie können dies auch während einer Sitzung mit `/memory` umschalten. Um dies über eine Umgebungsvariable zu deaktivieren, setzen Sie [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/de/env-vars) in `env` | `false` |

198| `autoMode` | Passen Sie an, was der [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer blockiert und erlaubt. Enthält `environment`, `allow`, `soft_deny` und `hard_deny` Arrays von Prosa-Regeln. Schließen Sie die Literalzeichenkette `"$defaults"` in ein Array ein, um die integrierten Regeln an dieser Position zu erben. Siehe [Konfigurieren Sie den Auto-Modus](/de/auto-mode-config). Nicht aus gemeinsamen Projekteinstellungen gelesen | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |230| `autoMode` | Passen Sie an, was der [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer blockiert und erlaubt. Enthält `environment`, `allow`, `soft_deny` und `hard_deny` Arrays von Prosa-Regeln. Schließen Sie die Literalzeichenkette `"$defaults"` in ein Array ein, um die integrierten Regeln an dieser Position zu erben. Siehe [Konfigurieren Sie den Auto-Modus](/de/auto-mode-config). Nicht aus gemeinsamen Projekteinstellungen gelesen | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

199| `autoScrollEnabled` | Im [Fullscreen-Rendering](/de/fullscreen) folgen Sie neuer Ausgabe zum unteren Ende des Gesprächs. Standard: `true`. Wird in `/config` als **Auto-scroll** angezeigt. Berechtigungsaufforderungen scrollen weiterhin in die Ansicht, wenn dies ausgeschaltet ist | `false` |231| `autoScrollEnabled` | Im [Fullscreen-Rendering](/de/fullscreen) folgen Sie neuer Ausgabe zum unteren Ende des Gesprächs. Standard: `true`. Wird in `/config` als **Auto-scroll** angezeigt. Berechtigungsaufforderungen scrollen weiterhin in die Ansicht, wenn dies ausgeschaltet ist | `false` |

200| `autoUpdatesChannel` | Release-Kanal zum Folgen von Updates. Verwenden Sie `"stable"` für eine Version, die normalerweise etwa eine Woche alt ist und Versionen mit großen Regressionen überspringt, oder `"latest"` (Standard) für die neueste Version. Um Auto-Updates vollständig zu deaktivieren, setzen Sie [`DISABLE_AUTOUPDATER`](/de/setup#disable-auto-updates) in `env` | `"stable"` |232| `autoUpdatesChannel` | Release-Kanal zum Folgen von Updates. Verwenden Sie `"stable"` für eine Version, die normalerweise etwa eine Woche alt ist und Versionen mit großen Regressionen überspringt, oder `"latest"` (Standard) für die neueste Version. Um Auto-Updates vollständig zu deaktivieren, setzen Sie [`DISABLE_AUTOUPDATER`](/de/setup#disable-auto-updates) in `env` | `"stable"` |

201| `availableModels` | Beschränken Sie, welche Modelle Benutzer über `/model`, `--model` oder `ANTHROPIC_MODEL` auswählen können. Beeinflusst nicht die Standardoption. Siehe [Modellauswahl einschränken](/de/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |233| `availableModels` | Beschränken Sie, welche Modelle Benutzer für die Hauptsitzung, [Subagents](/de/sub-agents) und den [Advisor](/de/advisor) auswählen können. Siehe [Modellauswahl einschränken](/de/model-config#restrict-model-selection). Siehe `enforceAvailableModels`, um auch das Standardmodell einzuschränken | `["sonnet", "haiku"]` |

202| `awaySummaryEnabled` | Zeigen Sie eine einzeilige Sitzungszusammenfassung an, wenn Sie nach einigen Minuten zur Befehlszeile zurückkehren. Setzen Sie auf `false` oder deaktivieren Sie Sitzungszusammenfassung in `/config`, um zu deaktivieren. Gleich wie [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/de/env-vars) | `true` |234| `awaySummaryEnabled` | Zeigen Sie eine einzeilige Sitzungszusammenfassung an, wenn Sie nach einigen Minuten zur Befehlszeile zurückkehren. Setzen Sie auf `false` oder deaktivieren Sie Sitzungszusammenfassung in `/config`, um zu deaktivieren. Gleich wie [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/de/env-vars) | `true` |

203| `awsAuthRefresh` | Benutzerdefiniertes Skript, das das `.aws`-Verzeichnis ändert (siehe [erweiterte Anmeldedatenkonfiguration](/de/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |235| `awsAuthRefresh` | Benutzerdefiniertes Skript, das das `.aws`-Verzeichnis ändert (siehe [erweiterte Anmeldedatenkonfiguration](/de/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |

204| `awsCredentialExport` | Benutzerdefiniertes Skript, das JSON mit AWS-Anmeldedaten ausgibt (siehe [erweiterte Anmeldedatenkonfiguration](/de/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |236| `awsCredentialExport` | Benutzerdefiniertes Skript, das JSON mit AWS-Anmeldedaten ausgibt (siehe [erweiterte Anmeldedatenkonfiguration](/de/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |


213| `disableAgentView` | Setzen Sie auf `true`, um [Hintergrund-Agenten und Agent-Ansicht](/de/agent-view) auszuschalten: `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor. Normalerweise in [verwalteten Einstellungen](/de/permissions#managed-settings) gesetzt. Entspricht dem Setzen von `CLAUDE_CODE_DISABLE_AGENT_VIEW` auf `1` | `true` |245| `disableAgentView` | Setzen Sie auf `true`, um [Hintergrund-Agenten und Agent-Ansicht](/de/agent-view) auszuschalten: `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor. Normalerweise in [verwalteten Einstellungen](/de/permissions#managed-settings) gesetzt. Entspricht dem Setzen von `CLAUDE_CODE_DISABLE_AGENT_VIEW` auf `1` | `true` |

214| `disableAllHooks` | Deaktivieren Sie alle [Hooks](/de/hooks) und alle benutzerdefinierten [Statuszeilen](/de/statusline) | `true` |246| `disableAllHooks` | Deaktivieren Sie alle [Hooks](/de/hooks) und alle benutzerdefinierten [Statuszeilen](/de/statusline) | `true` |

215| `disableAutoMode` | Setzen Sie auf `"disable"`, um zu verhindern, dass der [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) aktiviert wird. Entfernt `auto` aus dem `Shift+Tab`-Zyklus und lehnt `--permission-mode auto` beim Start ab. Am nützlichsten in [verwalteten Einstellungen](/de/permissions#managed-settings), wo Benutzer es nicht überschreiben können | `"disable"` |247| `disableAutoMode` | Setzen Sie auf `"disable"`, um zu verhindern, dass der [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) aktiviert wird. Entfernt `auto` aus dem `Shift+Tab`-Zyklus und lehnt `--permission-mode auto` beim Start ab. Am nützlichsten in [verwalteten Einstellungen](/de/permissions#managed-settings), wo Benutzer es nicht überschreiben können | `"disable"` |

248| `disableBundledSkills` | Setzen Sie auf `true`, um die [Skills](/de/skills) und Workflows zu deaktivieren, die mit Claude Code ausgeliefert werden: Gebündelte Skills und Workflows werden vollständig entfernt, während integrierte Slash-Befehle wie `/init` tippbar bleiben, aber vom Modell ausgeblendet werden. Skills von Plugins, `.claude/skills/` und `.claude/commands/` sind nicht betroffen. Entspricht dem Setzen von `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` auf `1` | `true` |

216| `disableDeepLinkRegistration` | Setzen Sie auf `"disable"`, um zu verhindern, dass Claude Code den `claude-cli://` Protokoll-Handler beim Start mit dem Betriebssystem registriert. [Deep Links](/de/deep-links) ermöglichen es externen Tools, eine Claude Code-Sitzung mit einer vorausgefüllten Aufforderung zu öffnen. Nützlich in Umgebungen, in denen die Protokoll-Handler-Registrierung eingeschränkt oder separat verwaltet wird | `"disable"` |249| `disableDeepLinkRegistration` | Setzen Sie auf `"disable"`, um zu verhindern, dass Claude Code den `claude-cli://` Protokoll-Handler beim Start mit dem Betriebssystem registriert. [Deep Links](/de/deep-links) ermöglichen es externen Tools, eine Claude Code-Sitzung mit einer vorausgefüllten Aufforderung zu öffnen. Nützlich in Umgebungen, in denen die Protokoll-Handler-Registrierung eingeschränkt oder separat verwaltet wird | `"disable"` |

217| `disabledMcpjsonServers` | Liste spezifischer MCP-Server aus `.mcp.json`-Dateien zum Ablehnen | `["filesystem"]` |250| `disabledMcpjsonServers` | Liste spezifischer MCP-Server aus `.mcp.json`-Dateien zum Ablehnen | `["filesystem"]` |

218| `disableRemoteControl` | {/* min-version: 2.1.128 */}Deaktivieren Sie [Remote Control](/de/remote-control): blockiert `claude remote-control`, das Flag `--remote-control`, Auto-Start und den In-Session-Toggle. Normalerweise in [verwalteten Einstellungen](/de/permissions#managed-settings) für die Pro-Gerät-MDM-Durchsetzung platziert, funktioniert aber aus jedem Bereich. Erfordert Claude Code v2.1.128 oder später | `true` |251| `disableRemoteControl` | {/* min-version: 2.1.128 */}Deaktivieren Sie [Remote Control](/de/remote-control): blockiert `claude remote-control`, das Flag `--remote-control`, Auto-Start und den In-Session-Toggle. Normalerweise in [verwalteten Einstellungen](/de/permissions#managed-settings) für die Pro-Gerät-MDM-Durchsetzung platziert, funktioniert aber aus jedem Bereich. Erfordert Claude Code v2.1.128 oder später | `true` |


222| `effortLevel` | Persistieren Sie die [Anstrengungsstufe](/de/model-config#adjust-effort-level) über Sitzungen hinweg. Akzeptiert `"low"`, `"medium"`, `"high"` oder `"xhigh"`. Wird automatisch geschrieben, wenn Sie `/effort` mit einem dieser Werte ausführen. `--effort` und [`CLAUDE_CODE_EFFORT_LEVEL`](/de/env-vars) überschreiben dies für eine Sitzung. Siehe [Anstrengungsstufe anpassen](/de/model-config#adjust-effort-level) für unterstützte Modelle | `"xhigh"` |255| `effortLevel` | Persistieren Sie die [Anstrengungsstufe](/de/model-config#adjust-effort-level) über Sitzungen hinweg. Akzeptiert `"low"`, `"medium"`, `"high"` oder `"xhigh"`. Wird automatisch geschrieben, wenn Sie `/effort` mit einem dieser Werte ausführen. `--effort` und [`CLAUDE_CODE_EFFORT_LEVEL`](/de/env-vars) überschreiben dies für eine Sitzung. Siehe [Anstrengungsstufe anpassen](/de/model-config#adjust-effort-level) für unterstützte Modelle | `"xhigh"` |

223| `enableAllProjectMcpServers` | Genehmigen Sie automatisch alle MCP-Server, die in Projekt-`.mcp.json`-Dateien definiert sind | `true` |256| `enableAllProjectMcpServers` | Genehmigen Sie automatisch alle MCP-Server, die in Projekt-`.mcp.json`-Dateien definiert sind | `true` |

224| `enabledMcpjsonServers` | Liste spezifischer MCP-Server aus `.mcp.json`-Dateien zum Genehmigen | `["memory", "github"]` |257| `enabledMcpjsonServers` | Liste spezifischer MCP-Server aus `.mcp.json`-Dateien zum Genehmigen | `["memory", "github"]` |

258| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Wenn `true` und `availableModels` ist eine nicht leere Liste in verwalteten oder Richtlinieneinstellungen, wird das Standardmodell auch auf die Allowlist beschränkt. Siehe [Modellauswahl einschränken](/de/model-config#restrict-model-selection) für Details und das [Zusammenführungsverhalten](/de/model-config#merge-behavior), wenn `availableModels` auf mehreren Ebenen gesetzt ist. Erfordert Claude Code v2.1.175 oder später | `true` |

225| `env` | Umgebungsvariablen, die auf jede Sitzung und auf Subprozesse angewendet werden, die Claude Code von ihr aus startet. {/* min-version: 2.1.143 */}Ab v2.1.143 werden `NO_COLOR` und `FORCE_COLOR`, die hier gesetzt sind, an Subprozesse übergeben, ändern aber nicht die Farben der Claude Code-Oberfläche selbst. Setzen Sie diese in Ihrer Shell, bevor Sie `claude` starten, um die Oberflächenfarben zu ändern | `{"FOO": "bar"}` |259| `env` | Umgebungsvariablen, die auf jede Sitzung und auf Subprozesse angewendet werden, die Claude Code von ihr aus startet. {/* min-version: 2.1.143 */}Ab v2.1.143 werden `NO_COLOR` und `FORCE_COLOR`, die hier gesetzt sind, an Subprozesse übergeben, ändern aber nicht die Farben der Claude Code-Oberfläche selbst. Setzen Sie diese in Ihrer Shell, bevor Sie `claude` starten, um die Oberflächenfarben zu ändern | `{"FOO": "bar"}` |

260| `fallbackModel` | Fallback-Modell(e) zum Ausprobieren in der Reihenfolge, wenn das primäre Modell überlastet oder nicht verfügbar ist. Claude Code wechselt für den Rest der Runde zum nächsten verfügbaren Modell in der Kette und zeigt einen Hinweis an. `"default"` wird zum Standardmodell erweitert. Ketten sind auf drei Modelle begrenzt; zusätzliche Einträge werden ignoriert. Im Gegensatz zu den meisten Array-Einstellungen wird dieser Schlüssel nicht über Einstellungsdateien zusammengeführt: Die Datei mit der höchsten Priorität, die ihn definiert, liefert die gesamte Kette. Das Flag [`--fallback-model`](/de/cli-reference#cli-flags) überschreibt dies für eine Sitzung. Siehe [Fallback-Modellketten](/de/model-config#fallback-model-chains) | `["claude-sonnet-4-6", "claude-haiku-4-5"]` |

226| `fastModePerSessionOptIn` | Wenn `true`, bleibt der schnelle Modus nicht über Sitzungen hinweg bestehen. Jede Sitzung startet mit ausgeschaltetem schnellen Modus und erfordert, dass Benutzer ihn mit `/fast` aktivieren. Die Voreinstellung des Benutzers für den schnellen Modus wird weiterhin gespeichert. Siehe [Opt-in pro Sitzung erforderlich](/de/fast-mode#require-per-session-opt-in) | `true` |261| `fastModePerSessionOptIn` | Wenn `true`, bleibt der schnelle Modus nicht über Sitzungen hinweg bestehen. Jede Sitzung startet mit ausgeschaltetem schnellen Modus und erfordert, dass Benutzer ihn mit `/fast` aktivieren. Die Voreinstellung des Benutzers für den schnellen Modus wird weiterhin gespeichert. Siehe [Opt-in pro Sitzung erforderlich](/de/fast-mode#require-per-session-opt-in) | `true` |

227| `feedbackSurveyRate` | Wahrscheinlichkeit (0–1), dass die [Sitzungsqualitätsumfrage](/de/data-usage#session-quality-surveys) angezeigt wird, wenn berechtigt. Setzen Sie auf `0`, um vollständig zu unterdrücken, oder setzen Sie [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/de/env-vars) in `env`. Nützlich bei Verwendung von Bedrock, Vertex oder Foundry, wo die Standard-Stichprobenquote nicht gilt | `0.05` |262| `feedbackSurveyRate` | Wahrscheinlichkeit (0–1), dass die [Sitzungsqualitätsumfrage](/de/data-usage#session-quality-surveys) angezeigt wird, wenn berechtigt. Setzen Sie auf `0`, um vollständig zu unterdrücken, oder setzen Sie [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/de/env-vars) in `env`. Nützlich bei Verwendung von Bedrock, Vertex oder Foundry, wo die Standard-Stichprobenquote nicht gilt | `0.05` |

263| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}Erstellen Sie Snapshots von Dateien vor jeder Bearbeitung, damit [`/rewind`](/de/checkpointing) sie wiederherstellen kann. Standard: `true`. Wird in `/config` als **Rewind code (checkpoints)** angezeigt. Um dies über eine Umgebungsvariable zu deaktivieren, setzen Sie [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/de/env-vars) in `env` | `false` |

228| `fileSuggestion` | Konfigurieren Sie ein benutzerdefiniertes Skript für `@` Datei-Autovervollständigung. Siehe [Dateivorschlag-Einstellungen](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |264| `fileSuggestion` | Konfigurieren Sie ein benutzerdefiniertes Skript für `@` Datei-Autovervollständigung. Siehe [Dateivorschlag-Einstellungen](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |

265| `footerLinksRegexes` | {/* min-version: 2.1.176 */}Rendern Sie zusätzliche anklickbare Badges in der Fußzeile, wenn ein Regex die Ausgabe der Runde abgleicht. Jeder Eintrag hat ein `pattern`, eine URL-Vorlage mit `{name}` Platzhaltern, die aus benannten Erfassungsgruppen gefüllt werden, und ein optionales `label`. Nur aus Benutzereinstellungen, dem Flag `--settings` und verwalteten Einstellungen gelesen. Siehe [Footer-Link-Badges](#footer-link-badges) für URL-Einschränkungen, Scheme-Allowlist und Limits. Erfordert Claude Code v2.1.176 oder später | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]` |

229| `forceLoginMethod` | Verwenden Sie `claudeai`, um die Anmeldung auf Claude.ai-Konten zu beschränken, `console`, um die Anmeldung auf Claude Console-Konten zu beschränken. Wenn in verwalteten Einstellungen gesetzt, werden Sitzungen, die durch `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder `apiKeyHelper` authentifiziert sind, beim Start blockiert, da keiner der Werte ohne First-Party-OAuth erfüllt werden kann. Drittanbieter-Provider-Sitzungen wie Bedrock, Vertex und Foundry werden nicht blockiert: Sie authentifizieren sich gegen Ihren Cloud-Provider statt gegen Anthropic | `claudeai` |266| `forceLoginMethod` | Verwenden Sie `claudeai`, um die Anmeldung auf Claude.ai-Konten zu beschränken, `console`, um die Anmeldung auf Claude Console-Konten zu beschränken. Wenn in verwalteten Einstellungen gesetzt, werden Sitzungen, die durch `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder `apiKeyHelper` authentifiziert sind, beim Start blockiert, da keiner der Werte ohne First-Party-OAuth erfüllt werden kann. Drittanbieter-Provider-Sitzungen wie Bedrock, Vertex und Foundry werden nicht blockiert: Sie authentifizieren sich gegen Ihren Cloud-Provider statt gegen Anthropic | `claudeai` |

230| `forceLoginOrgUUID` | Geben Sie die UUID einer Organisation an, um sie während der Anmeldung automatisch auszuwählen und den Organisationsauswahlschritt zu umgehen, oder akzeptieren Sie ein Array von UUIDs, wobei jede aufgelistete Organisation ohne Vorauswahl akzeptiert wird. Wenn in verwalteten Einstellungen gesetzt, schlägt die Anmeldung fehl, wenn das authentifizierte Konto nicht zu einer aufgelisteten Organisation gehört, und Sitzungen, die durch `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder `apiKeyHelper` authentifiziert sind, werden beim Start blockiert, da die Organisationszugehörigkeit für sie nicht überprüft werden kann. Drittanbieter-Provider-Sitzungen wie Bedrock, Vertex und Foundry werden nicht blockiert: Verwenden Sie Ihre Cloud-IAM, um einzuschränken, welche Cloud-Konten verwendet werden können. Ein leeres Array schlägt geschlossen fehl und blockiert die Anmeldung mit einer Fehlkonfigurationsmeldung | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` oder `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |267| `forceLoginOrgUUID` | Geben Sie die UUID einer Organisation an, um sie während der Anmeldung automatisch auszuwählen und den Organisationsauswahlschritt zu umgehen, oder akzeptieren Sie ein Array von UUIDs, wobei jede aufgelistete Organisation ohne Vorauswahl akzeptiert wird. Wenn in verwalteten Einstellungen gesetzt, schlägt die Anmeldung fehl, wenn das authentifizierte Konto nicht zu einer aufgelisteten Organisation gehört, und Sitzungen, die durch `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder `apiKeyHelper` authentifiziert sind, werden beim Start blockiert, da die Organisationszugehörigkeit für sie nicht überprüft werden kann. Drittanbieter-Provider-Sitzungen wie Bedrock, Vertex und Foundry werden nicht blockiert: Verwenden Sie Ihre Cloud-IAM, um einzuschränken, welche Cloud-Konten verwendet werden können. Ein leeres Array schlägt geschlossen fehl und blockiert die Anmeldung mit einer Fehlkonfigurationsmeldung | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` oder `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |

231| `forceRemoteSettingsRefresh` | (Nur verwaltete Einstellungen) Blockieren Sie den CLI-Start, bis verwaltete Einstellungen aus der Ferne vom Server abgerufen werden. Wenn der Abruf fehlschlägt, wird die CLI beendet, anstatt mit zwischengespeicherten oder keinen Einstellungen fortzufahren. Wenn nicht gesetzt, wird der Start ohne Warten auf Remote-Einstellungen fortgesetzt. Siehe [Fail-Closed-Durchsetzung](/de/server-managed-settings#enforce-fail-closed-startup) | `true` |268| `forceRemoteSettingsRefresh` | (Nur verwaltete Einstellungen) Blockieren Sie den CLI-Start, bis verwaltete Einstellungen aus der Ferne vom Server abgerufen werden. Wenn der Abruf fehlschlägt, wird die CLI beendet, anstatt mit zwischengespeicherten oder keinen Einstellungen fortzufahren. Wenn nicht gesetzt, wird der Start ohne Warten auf Remote-Einstellungen fortgesetzt. Siehe [Fail-Closed-Durchsetzung](/de/server-managed-settings#enforce-fail-closed-startup) | `true` |


234| `httpHookAllowedEnvVars` | Allowlist von Umgebungsvariablennamen, die HTTP-Hooks in Header interpolieren können. Wenn gesetzt, ist die effektive `allowedEnvVars` jedes Hooks der Schnittpunkt mit dieser Liste. Undefined = keine Einschränkung. Arrays werden über Einstellungsquellen zusammengeführt. Siehe [Hook-Konfiguration](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |271| `httpHookAllowedEnvVars` | Allowlist von Umgebungsvariablennamen, die HTTP-Hooks in Header interpolieren können. Wenn gesetzt, ist die effektive `allowedEnvVars` jedes Hooks der Schnittpunkt mit dieser Liste. Undefined = keine Einschränkung. Arrays werden über Einstellungsquellen zusammengeführt. Siehe [Hook-Konfiguration](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |

235| `includeCoAuthoredBy` | **Veraltet**: Verwenden Sie stattdessen `attribution`. Ob die `co-authored-by Claude` Byline in Git-Commits und Pull Requests einbezogen werden soll (Standard: `true`) | `false` |272| `includeCoAuthoredBy` | **Veraltet**: Verwenden Sie stattdessen `attribution`. Ob die `co-authored-by Claude` Byline in Git-Commits und Pull Requests einbezogen werden soll (Standard: `true`) | `false` |

236| `includeGitInstructions` | Integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot in Claudes Systemaufforderung einbeziehen (Standard: `true`). Setzen Sie auf `false`, um beide zu entfernen, z. B. wenn Sie Ihre eigenen Git-Workflow-Skills verwenden. Die Umgebungsvariable `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` hat Vorrang vor dieser Einstellung, wenn sie gesetzt ist | `false` |273| `includeGitInstructions` | Integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot in Claudes Systemaufforderung einbeziehen (Standard: `true`). Setzen Sie auf `false`, um beide zu entfernen, z. B. wenn Sie Ihre eigenen Git-Workflow-Skills verwenden. Die Umgebungsvariable `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` hat Vorrang vor dieser Einstellung, wenn sie gesetzt ist | `false` |

237| `language` | Konfigurieren Sie Claudes bevorzugte Antwortsprache (z. B. `"japanese"`, `"spanish"`, `"french"`). Claude wird standardmäßig in dieser Sprache antworten. Legt auch die [Sprachdiktiersprache](/de/voice-dictation#change-the-dictation-language) fest | `"japanese"` |274| `inputNeededNotifEnabled` | {/* min-version: 2.1.119 */}Wenn [Remote Control](/de/remote-control) verbunden ist, senden Sie eine Push-Benachrichtigung an Ihr Telefon, wenn eine Berechtigungsaufforderung oder Frage auf Ihre Eingabe wartet. Standard: `false`. Wird in `/config` als **Push when actions required** angezeigt. Siehe [Mobile Push-Benachrichtigungen](/de/remote-control#mobile-push-notifications). Erfordert Claude Code v2.1.119 oder später | `true` |

275| `language` | Konfigurieren Sie Claudes bevorzugte Antwortsprache (z. B. `"japanese"`, `"spanish"`, `"french"`). Claude wird standardmäßig in dieser Sprache antworten. Legt auch die Sprache für [Sprachdiktieren](/de/voice-dictation#change-the-dictation-language) und automatisch generierte Sitzungstitel fest. {/* min-version: 2.1.176 */}Ab v2.1.176 entsprechen Sitzungstitel, wenn nicht gesetzt, der Sprache Ihres Gesprächs | `"japanese"` |

238| `maxSkillDescriptionChars` | {/* min-version: 2.1.105 */}Pro-Skill-Zeichenbegrenzung für den kombinierten `description` und `when_to_use` Text in der [Skill-Auflistung](/de/skills#skill-descriptions-are-cut-short), die Claude jede Runde sieht (Standard: `1536`). Text, der länger als dies ist, wird gekürzt. Erhöhen Sie, um lange Beschreibungen intakt zu halten, auf Kosten von mehr Kontext pro Runde; senken Sie, um mehr Skills unter [`skillListingBudgetFraction`](#available-settings) zu passen. Erfordert Claude Code v2.1.105 oder später | `2048` |276| `maxSkillDescriptionChars` | {/* min-version: 2.1.105 */}Pro-Skill-Zeichenbegrenzung für den kombinierten `description` und `when_to_use` Text in der [Skill-Auflistung](/de/skills#skill-descriptions-are-cut-short), die Claude jede Runde sieht (Standard: `1536`). Text, der länger als dies ist, wird gekürzt. Erhöhen Sie, um lange Beschreibungen intakt zu halten, auf Kosten von mehr Kontext pro Runde; senken Sie, um mehr Skills unter [`skillListingBudgetFraction`](#available-settings) zu passen. Erfordert Claude Code v2.1.105 oder später | `2048` |

239| `minimumVersion` | Verhindern Sie, dass der Auto-Updater und `claude update` eine Version unter dieser installieren. Das Wechseln vom `"latest"`-Kanal zu `"stable"` über `/config` fordert Sie auf, auf der aktuellen Version zu bleiben oder das Downgrade zu erlauben. Wenn Sie sich entscheiden zu bleiben, wird dieser Wert gesetzt. Auch nützlich in [verwalteten Einstellungen](/de/permissions#managed-settings) um eine organisationsweite Mindestversion festzulegen | `"2.1.100"` |277| `minimumVersion` | Verhindern Sie, dass der Auto-Updater und `claude update` eine Version unter dieser installieren. Das Wechseln vom `"latest"`-Kanal zu `"stable"` über `/config` fordert Sie auf, auf der aktuellen Version zu bleiben oder das Downgrade zu erlauben. Wenn Sie sich entscheiden zu bleiben, wird dieser Wert gesetzt. Auch nützlich in [verwalteten Einstellungen](/de/permissions#managed-settings) um eine organisationsweite Mindestversion festzulegen. Für einen Hard Floor, der den Start vollständig blockiert, siehe `requiredMinimumVersion` | `"2.1.100"` |

240| `model` | Überschreiben Sie das Standardmodell für Claude Code. `--model` und [`ANTHROPIC_MODEL`](/de/model-config#environment-variables) überschreiben dies für eine Sitzung | `"claude-sonnet-4-6"` |278| `model` | Überschreiben Sie das Standardmodell für Claude Code. `--model` und [`ANTHROPIC_MODEL`](/de/model-config#environment-variables) überschreiben dies für eine Sitzung | `"claude-sonnet-4-6"` |

241| `modelOverrides` | Ordnen Sie Anthropic-Modell-IDs Anbieter-spezifischen Modell-IDs wie Bedrock-Inferenzprofil-ARNs zu. Jeder Modellwähler-Eintrag verwendet seinen zugeordneten Wert beim Aufrufen der Anbieter-API. Siehe [Modell-IDs pro Version überschreiben](/de/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |279| `modelOverrides` | Ordnen Sie Anthropic-Modell-IDs Anbieter-spezifischen Modell-IDs wie Bedrock-Inferenzprofil-ARNs zu. Jeder Modellwähler-Eintrag verwendet seinen zugeordneten Wert beim Aufrufen der Anbieter-API. Siehe [Modell-IDs pro Version überschreiben](/de/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |

242| `otelHeadersHelper` | Skript zum Generieren dynamischer OpenTelemetry-Header. Wird beim Start und regelmäßig ausgeführt. Setzen Sie das Aktualisierungsintervall mit [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/de/env-vars). Siehe [Dynamische Header](/de/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |280| `otelHeadersHelper` | Skript zum Generieren dynamischer OpenTelemetry-Header. Wird beim Start und regelmäßig ausgeführt. Setzen Sie das Aktualisierungsintervall mit [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/de/env-vars). Siehe [Dynamische Header](/de/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |


244| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Nur verwaltete Einstellungen) Steuert, ob verwaltete Einstellungen, die programmgesteuert von einem eingebetteten Host-Prozess wie dem Agent SDK oder einer IDE-Erweiterung bereitgestellt werden, gelten, wenn auch eine von Admin bereitgestellte verwaltete Ebene vorhanden ist. `"first-wins"`: die von Parent bereitgestellten Einstellungen werden verworfen und nur die Admin-Ebene gilt. `"merge"`: die von Parent bereitgestellten Einstellungen gelten unter der Admin-Ebene, gefiltert, sodass sie die Richtlinie verschärfen, aber nicht lockern können. Hat keine Auswirkung, wenn keine Admin-Ebene bereitgestellt wird. Standard: `"first-wins"`. Erfordert Claude Code v2.1.133 oder später | `"merge"` |282| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Nur verwaltete Einstellungen) Steuert, ob verwaltete Einstellungen, die programmgesteuert von einem eingebetteten Host-Prozess wie dem Agent SDK oder einer IDE-Erweiterung bereitgestellt werden, gelten, wenn auch eine von Admin bereitgestellte verwaltete Ebene vorhanden ist. `"first-wins"`: die von Parent bereitgestellten Einstellungen werden verworfen und nur die Admin-Ebene gilt. `"merge"`: die von Parent bereitgestellten Einstellungen gelten unter der Admin-Ebene, gefiltert, sodass sie die Richtlinie verschärfen, aber nicht lockern können. Hat keine Auswirkung, wenn keine Admin-Ebene bereitgestellt wird. Standard: `"first-wins"`. Erfordert Claude Code v2.1.133 oder später | `"merge"` |

245| `permissions` | Siehe Tabelle unten für die Struktur der Berechtigungen. | |283| `permissions` | Siehe Tabelle unten für die Struktur der Berechtigungen. | |

246| `plansDirectory` | Passen Sie an, wo Plandateien gespeichert werden. Der Pfad ist relativ zum Projektstamm. Standard: `~/.claude/plans` | `"./plans"` |284| `plansDirectory` | Passen Sie an, wo Plandateien gespeichert werden. Der Pfad ist relativ zum Projektstamm. Standard: `~/.claude/plans` | `"./plans"` |

247| `pluginSuggestionMarketplaces` | (Nur verwaltete Einstellungen) Marketplace-Namen, deren Plugins als kontextuelle Installationsvorschläge zusätzlich zum offiziellen Marketplace angezeigt werden können. Vorschläge stammen aus der `relevance`-Deklaration jedes Plugins in seinem Marketplace-Eintrag. Ein Name wird nur wirksam, wenn der Marketplace auf der Maschine registriert ist und seine registrierte Quelle auch in verwalteten Einstellungen deklariert ist, entweder als `extraKnownMarketplaces`-Eintrag für diesen Namen oder als Eintrag von `strictKnownMarketplaces`. Ein Marketplace, der unter einem zulässigen Namen aus einer anderen Quelle registriert ist, wird ignoriert. | `["acme-corp-plugins"]` |285| `pluginSuggestionMarketplaces` | (Nur verwaltete Einstellungen) Marketplace-Namen, deren Plugins als kontextuelle Installationsvorschläge angezeigt werden können. Keine Marketplace-deklarierten Vorschläge werden ohne diese Allowlist angezeigt; der integrierte First-Party-Frontend-Design-Tipp ist nicht betroffen. Vorschläge stammen aus der `relevance`-Deklaration jedes Plugins in seinem Marketplace-Eintrag. Ein Name wird nur wirksam, wenn der Marketplace auf der Maschine registriert ist und seine registrierte Quelle auch in verwalteten Einstellungen deklariert ist, entweder als `extraKnownMarketplaces`-Eintrag für diesen Namen oder als Eintrag von `strictKnownMarketplaces`. Ein Marketplace, der unter einem zulässigen Namen aus einer anderen Quelle registriert ist, wird ignoriert. Der offizielle Marketplace ist von der Quellanforderung befreit: Das Zulassen seines Namens allein genügt, da dieser Name nur von der offiziellen Anthropic-Quelle registriert werden kann. | `["acme-corp-plugins"]` |

248| `pluginTrustMessage` | (Nur verwaltete Einstellungen) Benutzerdefinierte Nachricht, die der vor der Installation angezeigten Plugin-Vertrauenswarnung angehängt wird. Verwenden Sie dies, um organisationsspezifischen Kontext hinzuzufügen, z. B. um zu bestätigen, dass Plugins aus Ihrem internen Marketplace überprüft sind. | `"All plugins from our marketplace are approved by IT"` |286| `pluginTrustMessage` | (Nur verwaltete Einstellungen) Benutzerdefinierte Nachricht, die der vor der Installation angezeigten Plugin-Vertrauenswarnung angehängt wird. Verwenden Sie dies, um organisationsspezifischen Kontext hinzuzufügen, z. B. um zu bestätigen, dass Plugins aus Ihrem internen Marketplace überprüft sind. | `"All plugins from our marketplace are approved by IT"` |

249| `policyHelper` | {/* min-version: 2.1.136 */}Von Admin bereitgestellte ausführbare Datei, die verwaltete Einstellungen dynamisch beim Start berechnet. Wird nur von MDM oder einer System-`managed-settings.json`-Datei berücksichtigt. Siehe [Berechnen Sie verwaltete Einstellungen mit einem Policy Helper](#compute-managed-settings-with-a-policy-helper). Erfordert Claude Code v2.1.136 oder später | `{"path": "/usr/local/bin/claude-policy"}` |287| `policyHelper` | {/* min-version: 2.1.136 */}Von Admin bereitgestellte ausführbare Datei, die verwaltete Einstellungen dynamisch beim Start berechnet. Wird nur von MDM oder einer System-`managed-settings.json`-Datei berücksichtigt. Siehe [Berechnen Sie verwaltete Einstellungen mit einem Policy Helper](#compute-managed-settings-with-a-policy-helper). Erfordert Claude Code v2.1.136 oder später | `{"path": "/usr/local/bin/claude-policy"}` |

250| `preferredNotifChannel` | Methode für Task-Complete- und Berechtigungsaufforderungs-Benachrichtigungen: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"` oder `"notifications_disabled"`. Standard: `"auto"`, das eine Desktop-Benachrichtigung in iTerm2, Ghostty und Kitty sendet und in anderen Terminals nichts tut. Setzen Sie `"terminal_bell"`, um das Glockenzeichen in jedem Terminal zu klingeln. Wird in `/config` als **Notifications** angezeigt. Siehe [Erhalten Sie einen Terminal-Glockenzeichen oder eine Benachrichtigung](/de/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |288| `preferredNotifChannel` | Methode für Task-Complete- und Berechtigungsaufforderungs-Benachrichtigungen: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"` oder `"notifications_disabled"`. Standard: `"auto"`, das eine Desktop-Benachrichtigung in iTerm2, Ghostty und Kitty sendet und in anderen Terminals nichts tut. Setzen Sie `"terminal_bell"`, um das Glockenzeichen in jedem Terminal zu klingeln. Wird in `/config` als **Notifications** angezeigt. Siehe [Erhalten Sie einen Terminal-Glockenzeichen oder eine Benachrichtigung](/de/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |

251| `prefersReducedMotion` | Reduzieren oder deaktivieren Sie UI-Animationen (Spinner, Shimmer, Flash-Effekte) für Barrierefreiheit | `true` |289| `prefersReducedMotion` | Reduzieren oder deaktivieren Sie UI-Animationen (Spinner, Shimmer, Flash-Effekte) für Barrierefreiheit | `true` |

252| `prUrlTemplate` | URL-Vorlage für das PR-Badge, das in der Fußzeile und in Tool-Ergebnis-Zusammenfassungen angezeigt wird. Ersetzt `{host}`, `{owner}`, `{repo}`, `{number}` und `{url}` aus der von `gh` gemeldeten PR-URL. Verwenden Sie dies, um PR-Links auf ein internes Code-Review-Tool statt auf `github.com` zu verweisen. Beeinflusst nicht `#123` Autolinks in Claudes Prosa | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |290| `prUrlTemplate` | URL-Vorlage für das PR-Badge, das in der Fußzeile und in Tool-Ergebnis-Zusammenfassungen angezeigt wird. Ersetzt `{host}`, `{owner}`, `{repo}`, `{number}` und `{url}` aus der von `gh` gemeldeten PR-URL. Verwenden Sie dies, um PR-Links auf ein internes Code-Review-Tool statt auf `github.com` zu verweisen. Beeinflusst nicht `#123` Autolinks in Claudes Prosa | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |

291| `requiredMaximumVersion` | Nur verwaltete Einstellungen. Maximale Claude Code-Version, die gestartet werden darf. Wenn die laufende Version neuer ist, wird Claude Code beim Start beendet und der Benutzer wird angewiesen, eine genehmigte Version durch die Methode der Organisation zu installieren; `claude install <version>` kann auch funktionieren. Hintergrund-Auto-Updates und `claude update` überspringen Versionen über der Obergrenze, sodass eine In-Range-Installation in Range bleibt. `claude update`, `claude install` und `claude doctor` funktionieren weiterhin über der Obergrenze, damit Benutzer sich erholen können. Versionen, die diesem Setting vorausgehen, ignorieren es | `"2.1.150"` |

292| `requiredMinimumVersion` | Nur verwaltete Einstellungen. Minimale Claude Code-Version, die zum Start erforderlich ist. Wenn die laufende Version älter ist, wird Claude Code beim Start beendet und der Benutzer wird angewiesen, durch die Methode der Organisation zu aktualisieren. `claude update`, `claude install` und `claude doctor` funktionieren weiterhin unter der Untergrenze, damit Benutzer sich erholen können. Unterscheidet sich von `minimumVersion`, das Downgrades verhindert, aber den Start nie blockiert. Versionen, die diesem Setting vorausgehen, ignorieren es | `"2.1.150"` |

253| `respectGitignore` | Steuern Sie, ob der `@` Datei-Picker `.gitignore`-Muster respektiert. Wenn `true` (Standard), werden Dateien, die `.gitignore`-Mustern entsprechen, aus Vorschlägen ausgeschlossen | `false` |293| `respectGitignore` | Steuern Sie, ob der `@` Datei-Picker `.gitignore`-Muster respektiert. Wenn `true` (Standard), werden Dateien, die `.gitignore`-Mustern entsprechen, aus Vorschlägen ausgeschlossen | `false` |

254| `showClearContextOnPlanAccept` | Zeigen Sie die Option "Kontext löschen" auf dem Plan-Akzeptanz-Bildschirm an. Standardmäßig `false`. Setzen Sie auf `true`, um die Option wiederherzustellen | `true` |294| `showClearContextOnPlanAccept` | Zeigen Sie die Option "Kontext löschen" auf dem Plan-Akzeptanz-Bildschirm an. Standardmäßig `false`. Setzen Sie auf `true`, um die Option wiederherzustellen | `true` |

255| `showThinkingSummaries` | Zeigen Sie [erweitertes Denken](/de/model-config#extended-thinking) Zusammenfassungen in interaktiven Sitzungen an. Wenn nicht gesetzt oder `false` (Standard im interaktiven Modus), werden Denk-Blöcke von der API redigiert und als zusammengeklappter Stub angezeigt. Redaktion ändert nur, was Sie sehen, nicht was das Modell generiert: Um Denk-Ausgaben zu reduzieren, [senken Sie das Budget oder deaktivieren Sie das Denken](/de/model-config#extended-thinking) stattdessen. Dieser Einstellung hat keine Auswirkung im nicht-interaktiven Modus (`-p`), dem Agent SDK oder IDE-Erweiterungen wie VS Code | `true` |295| `showThinkingSummaries` | Zeigen Sie [erweitertes Denken](/de/model-config#extended-thinking) Zusammenfassungen in interaktiven Sitzungen an. Wenn nicht gesetzt oder `false` (Standard im interaktiven Modus), werden Denk-Blöcke von der API redigiert und als zusammengeklappter Stub angezeigt. Redaktion ändert nur, was Sie sehen, nicht was das Modell generiert: Um Denk-Ausgaben zu reduzieren, [senken Sie das Budget oder deaktivieren Sie das Denken](/de/model-config#extended-thinking) stattdessen. Dieser Einstellung hat keine Auswirkung im nicht-interaktiven Modus (`-p`), dem Agent SDK oder IDE-Erweiterungen wie VS Code | `true` |


265| `strictKnownMarketplaces` | (Nur verwaltete Einstellungen) Allowlist von Plugin-Marketplace-Quellen. Undefined = keine Einschränkungen, leeres Array = Lockdown. Erzwungen bei Marketplace-Hinzufügung und bei Plugin-Installation, Update, Aktualisierung und Auto-Update, sodass ein Marketplace, der vor dem Setzen der Richtlinie hinzugefügt wurde, nicht zum Abrufen von Plugins verwendet werden kann. Siehe [Verwaltete Marketplace-Einschränkungen](/de/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |305| `strictKnownMarketplaces` | (Nur verwaltete Einstellungen) Allowlist von Plugin-Marketplace-Quellen. Undefined = keine Einschränkungen, leeres Array = Lockdown. Erzwungen bei Marketplace-Hinzufügung und bei Plugin-Installation, Update, Aktualisierung und Auto-Update, sodass ein Marketplace, der vor dem Setzen der Richtlinie hinzugefügt wurde, nicht zum Abrufen von Plugins verwendet werden kann. Siehe [Verwaltete Marketplace-Einschränkungen](/de/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |

266| `strictPluginOnlyCustomization` | (Nur verwaltete Einstellungen) Block Skills, Agenten, Hooks und MCP-Server aus Benutzer- und Projektquellen, sodass sie nur von Plugins oder verwalteten Einstellungen stammen können. `true` sperrt alle vier Oberflächen; ein Array sperrt nur die benannten. Siehe [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |306| `strictPluginOnlyCustomization` | (Nur verwaltete Einstellungen) Block Skills, Agenten, Hooks und MCP-Server aus Benutzer- und Projektquellen, sodass sie nur von Plugins oder verwalteten Einstellungen stammen können. `true` sperrt alle vier Oberflächen; ein Array sperrt nur die benannten. Siehe [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |

267| `syntaxHighlightingDisabled` | Deaktivieren Sie Syntax-Hervorhebung in Diffs, Code-Blöcken und Dateivorschau | `true` |307| `syntaxHighlightingDisabled` | Deaktivieren Sie Syntax-Hervorhebung in Diffs, Code-Blöcken und Dateivorschau | `true` |

268| `teammateMode` | Wie [Agent-Team](/de/agent-teams) Teamkollegen angezeigt werden: `auto` (wählt geteilte Bereiche in tmux oder iTerm2, ansonsten In-Process), `in-process` oder `tmux`. `--teammate-mode` überschreibt dies für eine Sitzung. Siehe [Wählen Sie einen Anzeigemodus](/de/agent-teams#choose-a-display-mode) | `"in-process"` |308| `teammateMode` | Wie [Agent-Team](/de/agent-teams) Teamkollegen angezeigt werden: `auto` (wählt geteilte Bereiche in tmux oder iTerm2, ansonsten In-Process), `in-process` oder `tmux` (wählt geteilte Bereiche mit tmux oder iTerm2, erkannt von Ihrem Terminal). `--teammate-mode` überschreibt dies für eine Sitzung. Siehe [Wählen Sie einen Anzeigemodus](/de/agent-teams#choose-a-display-mode) | `"in-process"` |

269| `terminalProgressBarEnabled` | Zeigen Sie die Terminal-Fortschrittsleiste in unterstützten Terminals an: ConEmu, Ghostty 1.2.0+ und iTerm2 3.6.6+. Standard: `true`. Wird in `/config` als **Terminal progress bar** angezeigt | `false` |309| `terminalProgressBarEnabled` | Zeigen Sie die Terminal-Fortschrittsleiste in unterstützten Terminals an: ConEmu, Ghostty 1.2.0+ und iTerm2 3.6.6+. Standard: `true`. Wird in `/config` als **Terminal progress bar** angezeigt | `false` |

270| `tui` | Terminal-UI-Renderer. Verwenden Sie `"fullscreen"` für den flimmerfreien [Alt-Screen-Renderer](/de/fullscreen) mit virtualisiertem Scrollback. Verwenden Sie `"default"` für den klassischen Main-Screen-Renderer. Setzen Sie über `/tui`. Sie können auch die Umgebungsvariable [`CLAUDE_CODE_NO_FLICKER`](/de/env-vars) setzen | `"fullscreen"` |310| `theme` | {/* min-version: 2.1.119 */}Farbschema für die Oberfläche: `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"` oder eine benutzerdefinierte Theme-Referenz wie `"custom:<slug>"` oder `"custom:<plugin-name>:<slug>"`. Standard: `"dark"`. Siehe [Erstellen Sie ein benutzerdefiniertes Theme](/de/terminal-config#create-a-custom-theme). Wird in `/config` als **Theme** angezeigt | `"dark"` |

311| `tui` | Terminal-UI-Renderer. Verwenden Sie `"fullscreen"` für den flimmerfreien [Alt-Screen-Renderer](/de/fullscreen) mit virtualisiertem Scrollback. Verwenden Sie `"default"` für den klassischen Main-Screen-Renderer. Setzen Sie über `/tui`. Sie können auch die Umgebungsvariable [`CLAUDE_CODE_NO_FLICKER`](/de/env-vars) setzen. Hintergrund-Sitzungen, die von [Agent-Ansicht](/de/agent-view) geöffnet werden, verwenden immer den Fullscreen-Renderer, unabhängig von dieser Einstellung | `"fullscreen"` |

271| `ultracode` | Aktivieren Sie [ultracode](/de/workflows#let-claude-decide-with-ultracode) für die Sitzung. Nur für Sitzung und nicht aus `settings.json` gelesen. Setzen Sie über `/effort ultracode`, `--settings` oder eine Agent SDK-Steueranforderung | `true` |312| `ultracode` | Aktivieren Sie [ultracode](/de/workflows#let-claude-decide-with-ultracode) für die Sitzung. Nur für Sitzung und nicht aus `settings.json` gelesen. Setzen Sie über `/effort ultracode`, `--settings` oder eine Agent SDK-Steueranforderung | `true` |

272| `useAutoModeDuringPlan` | Ob Plan Mode Auto-Mode-Semantik verwendet, wenn Auto Mode verfügbar ist. Standard: `true`. Nicht aus gemeinsamen Projekteinstellungen gelesen. Wird in `/config` als "Use auto mode during plan" angezeigt | `false` |313| `useAutoModeDuringPlan` | Ob Plan Mode Auto-Mode-Semantik verwendet, wenn Auto Mode verfügbar ist. Standard: `true`. Nicht aus gemeinsamen Projekteinstellungen gelesen. Wird in `/config` als "Use auto mode during plan" angezeigt | `false` |

314| `verbose` | {/* min-version: 2.1.119 */}Zeigen Sie vollständige Werkzeugausgabe statt gekürzte Zusammenfassungen an. Standard: `false`. Wird in `/config` als **Verbose output** angezeigt. Das Flag `--verbose` überschreibt dies für eine Sitzung | `true` |

273| `viewMode` | Standard-Transkript-Ansichtsmodus beim Start: `"default"`, `"verbose"` oder `"focus"`. Überschreibt die klebrige `/focus`-Auswahl, wenn gesetzt. Das Flag `--verbose` überschreibt dies für eine Sitzung | `"verbose"` |315| `viewMode` | Standard-Transkript-Ansichtsmodus beim Start: `"default"`, `"verbose"` oder `"focus"`. Überschreibt die klebrige `/focus`-Auswahl, wenn gesetzt. Das Flag `--verbose` überschreibt dies für eine Sitzung | `"verbose"` |

274| `voice` | [Sprachdiktier](/de/voice-dictation)-Einstellungen: `enabled` aktiviert Diktieren, `mode` wählt `"hold"` oder `"tap"`, und `autoSubmit` sendet die Aufforderung bei Tastenfreigabe im Hold-Modus. Wird automatisch geschrieben, wenn Sie `/voice` ausführen. Erfordert ein Claude.ai-Konto | `{ "enabled": true, "mode": "tap" }` |316| `voice` | [Sprachdiktier](/de/voice-dictation)-Einstellungen: `enabled` aktiviert Diktieren, `mode` wählt `"hold"` oder `"tap"`, und `autoSubmit` sendet die Aufforderung bei Tastenfreigabe im Hold-Modus. Wird automatisch geschrieben, wenn Sie `/voice` ausführen. Erfordert ein Claude.ai-Konto | `{ "enabled": true, "mode": "tap" }` |

275| `voiceEnabled` | Veralteter Alias für `voice.enabled`. Bevorzugen Sie das `voice`-Objekt | `true` |317| `voiceEnabled` | Veralteter Alias für `voice.enabled`. Bevorzugen Sie das `voice`-Objekt | `true` |

318| `wheelScrollAccelerationEnabled` | {/* min-version: 2.1.174 */}Im [Fullscreen-Rendering](/de/fullscreen#mouse-wheel-scrolling) beschleunigen Sie die Mausrad-Scroll-Geschwindigkeit während schneller Scrolls. Standard: `true`. Setzen Sie auf `false` für eine konstante Scroll-Rate pro Rad-Kerbe. Erfordert Claude Code v2.1.174 oder später | `false` |

276| `workflowKeywordTriggerEnabled` | {/* min-version: 2.1.157 */}Ob das Wort `ultracode` in einer Aufforderung einen [dynamischen Workflow](/de/workflows#ask-for-a-workflow-in-your-prompt) auslöst. Setzen Sie auf `false`, um das Wort zu tippen, ohne einen auszulösen. Ultracode, `/workflows` und gespeicherte Workflow-Befehle sind nicht betroffen. Standard: `true`. Wird in `/config` als **Ultracode keyword trigger** angezeigt. Hinzugefügt in v2.1.157; vor v2.1.160 war das Trigger-Wort `workflow` | `false` |319| `workflowKeywordTriggerEnabled` | {/* min-version: 2.1.157 */}Ob das Wort `ultracode` in einer Aufforderung einen [dynamischen Workflow](/de/workflows#ask-for-a-workflow-in-your-prompt) auslöst. Setzen Sie auf `false`, um das Wort zu tippen, ohne einen auszulösen. Ultracode, `/workflows` und gespeicherte Workflow-Befehle sind nicht betroffen. Standard: `true`. Wird in `/config` als **Ultracode keyword trigger** angezeigt. Hinzugefügt in v2.1.157; vor v2.1.160 war das Trigger-Wort `workflow` | `false` |

277| `wslInheritsWindowsSettings` | (Nur Windows verwaltete Einstellungen) Wenn `true`, liest Claude Code auf WSL verwaltete Einstellungen aus der Windows-Richtlinienkette zusätzlich zu `/etc/claude-code`, wobei Windows-Quellen Vorrang haben. Wird nur berücksichtigt, wenn in der HKLM-Registrierungsschlüssel oder `C:\Program Files\ClaudeCode\managed-settings.json` gesetzt, beide erfordern Windows-Admin zum Schreiben. Damit die HKCU-Richtlinie auch auf WSL gilt, muss das Flag zusätzlich in HKCU selbst gesetzt werden. Hat keine Auswirkung auf natives Windows | `true` |320| `wslInheritsWindowsSettings` | (Nur Windows verwaltete Einstellungen) Wenn `true`, liest Claude Code auf WSL verwaltete Einstellungen aus der Windows-Richtlinienkette zusätzlich zu `/etc/claude-code`, wobei Windows-Quellen Vorrang haben. Wird nur berücksichtigt, wenn in der HKLM-Registrierungsschlüssel oder `C:\Program Files\ClaudeCode\managed-settings.json` gesetzt, beide erfordern Windows-Admin zum Schreiben. Damit die HKCU-Richtlinie auch auf WSL gilt, muss das Flag zusätzlich in HKCU selbst gesetzt werden. Hat keine Auswirkung auf natives Windows | `true` |

278 321 


283Diese Einstellungen werden in `~/.claude.json` statt in `settings.json` gespeichert. Das Hinzufügen zu `settings.json` löst einen Schema-Validierungsfehler aus.326Diese Einstellungen werden in `~/.claude.json` statt in `settings.json` gespeichert. Das Hinzufügen zu `settings.json` löst einen Schema-Validierungsfehler aus.

284 327 

285<Note>328<Note>

286 Versionen vor v2.1.119 speichern auch `autoScrollEnabled`, `editorMode`, `showTurnDuration`, `teammateMode` und `terminalProgressBarEnabled` hier statt in `settings.json`.329 Versionen vor v2.1.119 speichern auch eine Reihe von `/config` Voreinstellungsschlüsseln hier statt in `settings.json`, einschließlich `theme`, `verbose`, `editorMode`, `autoCompactEnabled` und `preferredNotifChannel`.

287</Note>330</Note>

288 331 

289| Schlüssel | Beschreibung | Beispiel |332| Schlüssel | Beschreibung | Beispiel |


314 357 

315| Schlüssel | Beschreibung | Beispiel |358| Schlüssel | Beschreibung | Beispiel |

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

317| `allow` | Array von Berechtigungsregeln, um die Werkzeugnutzung zu erlauben. Siehe [Berechtigungsregelsyntax](#permission-rule-syntax) unten für Details zur Mustererkennung | `[ "Bash(git diff *)" ]` |360| `allow` | Array von Berechtigungsregeln, um die Werkzeugnutzung zu erlauben. Werkzeugname-Globs werden nur in der Werkzeugposition nach einem literalen `mcp__<server>__` Präfix unterstützt, z. B. `mcp__github__get_*`; das Server-Segment muss glob-frei sein. Siehe [Berechtigungsregelsyntax](#permission-rule-syntax) unten für Details zur Mustererkennung | `[ "Bash(git diff *)" ]` |

318| `ask` | Array von Berechtigungsregeln, um bei der Werkzeugnutzung um Bestätigung zu bitten. Siehe [Berechtigungsregelsyntax](#permission-rule-syntax) unten | `[ "Bash(git push *)" ]` |361| `ask` | Array von Berechtigungsregeln, um bei der Werkzeugnutzung um Bestätigung zu bitten. Siehe [Berechtigungsregelsyntax](#permission-rule-syntax) unten | `[ "Bash(git push *)" ]` |

319| `deny` | Array von Berechtigungsregeln, um die Werkzeugnutzung zu verweigern. Verwenden Sie dies, um sensible Dateien vom Claude Code-Zugriff auszuschließen. Siehe [Berechtigungsregelsyntax](#permission-rule-syntax) und [Bash-Berechtigungsbeschränkungen](/de/permissions#tool-specific-permission-rules) | `[ "WebFetch", "Bash(curl *)", "Read(./.env)", "Read(./secrets/**)" ]` |362| `deny` | Array von Berechtigungsregeln, um die Werkzeugnutzung zu verweigern. Verwenden Sie dies, um sensible Dateien vom Claude Code-Zugriff auszuschließen. Werkzeugnamen akzeptieren Glob-Muster: `"*"` verweigert jedes Werkzeug und `"mcp__*"` verweigert alle MCP-Werkzeuge. Siehe [Berechtigungsregelsyntax](#permission-rule-syntax) und [Bash-Berechtigungsbeschränkungen](/de/permissions#tool-specific-permission-rules) | `[ "WebFetch", "Bash(curl *)", "Read(./.env)", "Read(./secrets/**)" ]` |

320| `additionalDirectories` | Zusätzliche [Arbeitsverzeichnisse](/de/permissions#working-directories) für Dateizugriff. Die meisten `.claude/`-Konfigurationen werden [nicht erkannt](/de/permissions#additional-directories-grant-file-access-not-configuration) aus diesen Verzeichnissen | `[ "../docs/" ]` |363| `additionalDirectories` | Zusätzliche [Arbeitsverzeichnisse](/de/permissions#working-directories) für Dateizugriff. Die meisten `.claude/`-Konfigurationen werden [nicht erkannt](/de/permissions#additional-directories-grant-file-access-not-configuration) aus diesen Verzeichnissen | `[ "../docs/" ]` |

321| `defaultMode` | Standard-[Berechtigungsmodus](/de/permission-modes) beim Öffnen von Claude Code. Gültige Werte: `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`. {/* min-version: 2.1.142 */}Ab Claude Code v2.1.142 wird `auto` ignoriert, wenn es in Projekt- oder lokalen Einstellungen (`.claude/settings.json`, `.claude/settings.local.json`) gesetzt ist, sodass ein Repository sich nicht selbst den Auto-Modus gewähren kann. Setzen Sie es stattdessen in `~/.claude/settings.json`. Das CLI-Flag `--permission-mode` überschreibt diese Einstellung für eine einzelne Sitzung | `"acceptEdits"` |364| `defaultMode` | Standard-[Berechtigungsmodus](/de/permission-modes) beim Öffnen von Claude Code. Gültige Werte: `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`. {/* min-version: 2.1.142 */}Ab Claude Code v2.1.142 wird `auto` ignoriert, wenn es in Projekt- oder lokalen Einstellungen (`.claude/settings.json`, `.claude/settings.local.json`) gesetzt ist, sodass ein Repository sich nicht selbst den Auto-Modus gewähren kann. Setzen Sie es stattdessen in `~/.claude/settings.json`. Das CLI-Flag `--permission-mode` überschreibt diese Einstellung für eine einzelne Sitzung | `"acceptEdits"` |

322| `disableBypassPermissionsMode` | Setzen Sie auf `"disable"`, um zu verhindern, dass der `bypassPermissions`-Modus aktiviert wird. Dies deaktiviert das Befehlszeilenflag `--dangerously-skip-permissions`. Normalerweise in [verwalteten Einstellungen](/de/permissions#managed-settings) platziert, um Organisationsrichtlinien durchzusetzen, funktioniert aber aus jedem Bereich | `"disable"` |365| `disableBypassPermissionsMode` | Setzen Sie auf `"disable"`, um zu verhindern, dass der `bypassPermissions`-Modus aktiviert wird. Dies deaktiviert das Befehlszeilenflag `--dangerously-skip-permissions`. Normalerweise in [verwalteten Einstellungen](/de/permissions#managed-settings) platziert, um Organisationsrichtlinien durchzusetzen, funktioniert aber aus jedem Bereich | `"disable"` |


326 Berechtigungsregelsyntax369 Berechtigungsregelsyntax

327</h3>370</h3>

328 371 

329Berechtigungsregeln folgen dem Format `Tool` oder `Tool(specifier)`. Regeln werden in der Reihenfolge ausgewertet: zuerst Deny-Regeln, dann Ask, dann Allow. Die erste übereinstimmende Regel gewinnt.372Berechtigungsregeln folgen dem Format `Tool` oder `Tool(specifier)`. Regeln werden in der Reihenfolge ausgewertet: zuerst Deny-Regeln, dann Ask, dann Allow. Die erste übereinstimmende Regel bestimmt das Ergebnis, unabhängig von der Regelspezifität. Siehe [Berechtigungsregelbewertungsreihenfolge](/de/permissions#manage-permissions) für Details.

330 373 

331Schnelle Beispiele:374Schnelle Beispiele:

332 375 


431**Standard-Commit-Zuschreibung:**474**Standard-Commit-Zuschreibung:**

432 475 

433```text theme={null}476```text theme={null}

434🤖 Generated with [Claude Code](https://claude.com/claude-code)477Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

435 

436 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

437```478```

438 479 

480Der Modellname im Trailer spiegelt das aktive Modell für die Sitzung wider.

481 

439**Standard-Pull-Request-Zuschreibung:**482**Standard-Pull-Request-Zuschreibung:**

440 483 

441```text theme={null}484```text theme={null}


491```bash theme={null}534```bash theme={null}

492#!/bin/bash535#!/bin/bash

493query=$(cat | jq -r '.query')536query=$(cat | jq -r '.query')

537# Replace your-repo-file-index with your own file search command

494your-repo-file-index --query "$query" | head -20538your-repo-file-index --query "$query" | head -20

495```539```

496 540 

541<h3 id="footer-link-badges">

542 Footer-Link-Badges

543</h3>

544 

545Die Einstellung `footerLinksRegexes` rendert zusätzliche anklickbare Badges in der Fußzeile unter dem Eingabefeld. Verwenden Sie sie, um IDs, die von Projekt-CLIs gedruckt werden, wie Review-Tools und Issue-Tracker, in Sitzungslinks umzuwandeln.

546 

547Jeder Eintrag's `pattern` Regex wird gegen die Ausgabe der Runde abgeglichen: Tool-Ergebnisse, einschließlich Dateiinhalte und abgerufene Seiten, und Claudes eigene Antworten. `{name}` Platzhalter in `url` und `label` werden aus benannten Erfassungsgruppen im Pattern gefüllt.

548 

549Das folgende Beispiel rendert ein Badge, wenn eine Issue-Taste wie `PROJ-1234` in der Ausgabe der Runde erscheint. Die `(?<key>...)` benannte Gruppe erfasst den Schlüssel, und `{key}` ersetzt ihn in der URL und dem Label:

550 

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

552{

553 "footerLinksRegexes": [

554 {

555 "type": "regex",

556 "pattern": "\\b(?<key>PROJ-\\d+)\\b",

557 "url": "https://issues.example.com/browse/{key}",

558 "label": "{key}"

559 }

560 ]

561}

562```

563 

564Mit dieser Konfiguration wird, wenn `PROJ-1234` in einem Tool-Ergebnis oder in Claudes Antwort erscheint, ein `PROJ-1234` Chip in der Fußzeile angezeigt, der auf `https://issues.example.com/browse/PROJ-1234` verlinkt.

565 

566Die folgenden Einschränkungen gelten für jeden Eintrag:

567 

568| Einschränkung | Verhalten |

569| :------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

570| URL-Ursprung | Erfasste Werte werden URL-kodiert und die konstruierte URL muss den Literal-Ursprung der Vorlage teilen. Eine Erfassung kann ein Pfad-Segment oder einen Query-Wert ausfüllen, kann aber nicht ändern, wohin der Link verweist |

571| URL-Länge | Konstruierte URLs länger als 2048 Zeichen werden verworfen |

572| URL-Schema | Muss `https`, `http` oder ein erkanntes Editor- oder Workspace-Deep-Link-Schema sein: `vscode`, `vscode-insiders`, `cursor`, `windsurf`, `zed`, `jetbrains`, `idea`, `slack`, `linear`, `notion`, `figma` |

573| Label | Standardmäßig der abgeglichene Text und wird auf 28 Anzeigespalten gekürzt |

574| Badge-Anzahl | Maximal 5 Badges werden gerendert. Das älteste wird durch neuere Übereinstimmungen verdrängt und `/clear` entfernt sie |

575| Einstellungsbereich | Nur aus Benutzereinstellungen, dem Flag `--settings` und verwalteten Einstellungen gelesen. Ignoriert in Projekt `.claude/settings.json` und lokal `.claude/settings.local.json` |

576 

577Wenn eine Runde abgeschlossen ist, gleicht Claude Code jeden Eintrag's `pattern` Regex gegen die Ausgabe der Runde im Haupt-Thread ab, daher blockiert ein langsamer Regex die UI, bis er fertig ist. Verschachtelte Quantoren wie `(a+)+$` können gegen bestimmte Eingaben exponentiell lange dauern und die Sitzung einfrieren, daher halten Sie jeden `pattern` linear und vermeiden Sie Verschachtelung von `+` oder `*`.

578 

579Footer-Badges werden neben einer [benutzerdefinierten Statuszeile](/de/statusline) gerendert, wenn eine konfiguriert ist; keiner ersetzt den anderen. Verwenden Sie eine Statuszeile für eine skriptgesteuerte Zeile, die ihren eigenen Inhalt aus Sitzungsdaten berechnet, und Footer-Badges, um IDs aus dem Gespräch in Links umzuwandeln, ohne ein Skript.

580 

497<h3 id="hook-configuration">581<h3 id="hook-configuration">

498 Hook-Konfiguration582 Hook-Konfiguration

499</h3>583</h3>


582Wenn beispielsweise Ihre Benutzereinstellungen `permissions.defaultMode` auf `acceptEdits` setzen und die gemeinsamen Einstellungen eines Projekts es auf `default` setzen, gilt der Projektwert. Das folgende Beispiel zeigt, wie Array-wertige Einstellungen wie Berechtigungsregeln stattdessen kombiniert werden.666Wenn beispielsweise Ihre Benutzereinstellungen `permissions.defaultMode` auf `acceptEdits` setzen und die gemeinsamen Einstellungen eines Projekts es auf `default` setzen, gilt der Projektwert. Das folgende Beispiel zeigt, wie Array-wertige Einstellungen wie Berechtigungsregeln stattdessen kombiniert werden.

583 667 

584<Note>668<Note>

585 **Array-Einstellungen werden über Bereiche zusammengeführt.** Wenn die gleiche Array-wertige Einstellung (wie `sandbox.filesystem.allowWrite` oder `permissions.allow`) in mehreren Bereichen erscheint, werden die Arrays **verkettet und dedupliziert**, nicht ersetzt. Dies bedeutet, dass Bereiche mit niedrigerer Priorität Einträge hinzufügen können, ohne diejenigen mit höherer Priorität zu überschreiben, und umgekehrt. Wenn beispielsweise verwaltete Einstellungen `allowWrite` auf `["/opt/company-tools"]` setzen und ein Benutzer `["~/.kube"]` hinzufügt, sind beide Pfade in der endgültigen Konfiguration enthalten.669 **Array-Einstellungen werden über Bereiche zusammengeführt.** Wenn die gleiche Array-wertige Einstellung (wie `sandbox.filesystem.allowWrite` oder `permissions.allow`) in mehreren Bereichen erscheint, werden die Arrays **verkettet und dedupliziert**, nicht ersetzt. Dies bedeutet, dass Bereiche mit niedrigerer Priorität Einträge hinzufügen können, ohne diejenigen mit höherer Priorität zu überschreiben, und umgekehrt. Wenn beispielsweise verwaltete Einstellungen `allowWrite` auf `["/opt/company-tools"]` setzen und ein Benutzer `["~/.kube"]` hinzufügt, sind beide Pfade in der endgültigen Konfiguration enthalten. Zwei Ausnahmen: [`fallbackModel`](#available-settings) ist eine geordnete Kette, bei der Position Bedeutung hat, daher liefert die Datei mit der höchsten Priorität, die sie definiert, den gesamten Wert. {/* min-version: 2.1.175 */}Ab v2.1.175 ersetzt ein verwalteter oder Richtlinienwert [`availableModels`](#available-settings) niedrigere Einträge vollständig. Siehe [Zusammenführungsverhalten](/de/model-config#merge-behavior).

586</Note>670</Note>

587 671 

588<h3 id="verify-active-settings">672<h3 id="verify-active-settings">

589 Aktive Einstellungen überprüfen673 Aktive Einstellungen überprüfen

590</h3>674</h3>

591 675 

592Führen Sie `/status` in Claude Code aus, um zu sehen, welche Einstellungsquellen aktiv sind. Die Registerkarte Status enthält eine Zeile `Setting sources`, die jede Ebene auflistet, die Claude Code für die aktuelle Sitzung geladen hat, z. B. `User settings` oder `Project local settings`. Wenn [verwaltete Einstellungen](/de/managed-settings) wirksam sind, zeigt der Eintrag den Bereitstellungskanal in Klammern an, z. B. `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)` oder `(file)`. Eine Ebene wird in der Liste nur angezeigt, wenn diese Quelle mit mindestens einem Schlüssel geladen wird, daher bedeutet eine leere Liste, dass keine Einstellungsquellen gefunden wurden.676Führen Sie `/status` aus und überprüfen Sie die Zeile `Setting sources` auf der Registerkarte **Status**. Sie listet jede Einstellungsebene auf, die Claude Code für diese Sitzung geladen hat:

677 

678* Wenn eine Ebene wie `User settings` oder `Project local settings` angezeigt wird, wird diese Datei gelesen.

679* Wenn eine Ebene fehlt, wurde diese Datei nicht gefunden oder enthält keine Schlüssel.

680 

681Wenn [verwaltete Einstellungen](/de/admin-setup#decide-how-settings-reach-devices) wirksam sind, zeigt der Eintrag den Bereitstellungskanal in Klammern an, z. B. `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)` oder `(file)`.

682 

683Die Zeile bestätigt, welche Dateien gelesen werden, nicht welche Ebene jeden einzelnen Schlüssel bereitgestellt hat. Die Registerkarte **Config** im gleichen Dialog bearbeitet integrierte Umschalter wie Thema und ausführliche Ausgabe, nicht Ihre `settings.json`-Inhalte.

593 684 

594Die Zeile `Setting sources` bestätigt, welche Quellen gelesen werden. Sie zeigt nicht, welche Ebene jeden einzelnen Schlüssel bereitgestellt hat. Die Registerkarte Config im gleichen Dialog ist ein Editor für einen festen Satz von Umschaltern wie Thema und ausführliche Ausgabe, nicht eine Ansicht Ihrer `settings.json`-Inhalte. Wenn eine Einstellungsdatei Fehler enthält, z. B. ungültiges JSON oder einen Wert, der die Validierung nicht besteht, meldet `/status` das Problem, damit Sie es beheben können.685Wenn eine Einstellungsdatei Fehler enthält, wie ungültiges JSON oder einen Wert, der die Validierung nicht besteht, zeigt Claude Code beim Start einen Setup-Probleme-Hinweis an und `/status` listet die betroffenen Dateien auf. Führen Sie `/doctor` aus, um die Details für jeden Fehler zu sehen.

595 686 

596<h3 id="key-points-about-the-configuration-system">687<h3 id="key-points-about-the-configuration-system">

597 Wichtige Punkte zum Konfigurationssystem688 Wichtige Punkte zum Konfigurationssystem


602* **Skills**: Benutzerdefinierte Aufforderungen, die mit `/skill-name` aufgerufen oder von Claude automatisch geladen werden können693* **Skills**: Benutzerdefinierte Aufforderungen, die mit `/skill-name` aufgerufen oder von Claude automatisch geladen werden können

603* **MCP-Server**: Erweitern Sie Claude Code mit zusätzlichen Tools und Integrationen694* **MCP-Server**: Erweitern Sie Claude Code mit zusätzlichen Tools und Integrationen

604* **Priorität**: Höherrangige Konfigurationen (Verwaltet) überschreiben niedrigere (Benutzer/Projekt)695* **Priorität**: Höherrangige Konfigurationen (Verwaltet) überschreiben niedrigere (Benutzer/Projekt)

605* **Vererbung**: Einstellungen werden zusammengeführt, wobei spezifischere Einstellungen breitere ergänzen oder überschreiben696* **Vererbung**: Einstellungen werden zusammengeführt; Skalarwerte aus höherer Priorität überschreiben, und Arrays werden verkettet. Ausnahmen: `fallbackModel`, wobei die höchste Priorität die ganze Kette liefert, und `availableModels`, wobei ein verwalteter oder Richtlinienwert niedrigere Einträge ersetzt

606 697 

607<h3 id="system-prompt">698<h3 id="system-prompt">

608 Systemaufforderung699 Systemaufforderung


683 774 

684* **Benutzereinstellungen** (`~/.claude/settings.json`): Persönliche Plugin-Voreinstellungen775* **Benutzereinstellungen** (`~/.claude/settings.json`): Persönliche Plugin-Voreinstellungen

685* **Projekteinstellungen** (`.claude/settings.json`): Projektspezifische Plugins, die mit dem Team geteilt werden776* **Projekteinstellungen** (`.claude/settings.json`): Projektspezifische Plugins, die mit dem Team geteilt werden

686* **Lokale Einstellungen** (`.claude/settings.local.json`): Pro-Maschinen-Überschreibungen (nicht eingecheckt)777* **Lokale Einstellungen** (`.claude/settings.local.json`): Pro-Maschinen-Überschreibungen, gitignored wenn Claude Code es erstellt

687* **Verwaltete Einstellungen** (`managed-settings.json`): Organisationsweite Richtlinien-Überschreibungen, die die Installation auf allen Ebenen blockieren und das Plugin aus dem Marketplace ausblenden778* **Verwaltete Einstellungen** (`managed-settings.json`): Organisationsweite Richtlinien-Überschreibungen, die die Installation auf allen Ebenen blockieren und das Plugin aus dem Marketplace ausblenden

688 779 

689<Note>780<Note>

setup.md +26 −4

Details

258 258 

259In [verwalteten Einstellungen](/de/permissions#managed-settings) erzwingt dies ein organisationsweites Minimum, das Benutzer- und Projekteinstellungen nicht überschreiben können.259In [verwalteten Einstellungen](/de/permissions#managed-settings) erzwingt dies ein organisationsweites Minimum, das Benutzer- und Projekteinstellungen nicht überschreiben können.

260 260 

261Die `minimumVersion`-Festlegung beschränkt nur Updates. Um Claude Code zu zwingen, außerhalb eines Versionsbereichs nicht zu starten, verwenden Sie stattdessen die verwalteten Einstellungen `requiredMinimumVersion` und `requiredMaximumVersion`. Updates respektieren auch die `requiredMaximumVersion`-Obergrenze. Siehe [verfügbare Einstellungen](/de/settings#available-settings).

262 

261<h3 id="disable-auto-updates">263<h3 id="disable-auto-updates">

262 Auto-Updates deaktivieren264 Auto-Updates deaktivieren

263</h3>265</h3>


366 Mit Linux-Paketmanagern installieren368 Mit Linux-Paketmanagern installieren

367</h3>369</h3>

368 370 

369Claude Code veröffentlicht signierte apt-, dnf- und apk-Repositories. Ersetzen Sie `stable` durch `latest` für den Rolling-Kanal. Paketmanager-Installationen werden nicht automatisch durch Claude Code aktualisiert; Updates erfolgen durch Ihren normalen System-Upgrade-Workflow.371Claude Code veröffentlicht signierte apt-, dnf- und apk-Repositories. Jedes Repository bietet zwei Kanäle: `stable` stellt eine Version bereit, die typischerweise etwa eine Woche alt ist und Releases mit großen Regressionen überspringt, und `latest` stellt jeden Release bereit, sobald er veröffentlicht wird. Die folgenden Befehle konfigurieren den `stable`-Kanal, der für die meisten Benutzer geeignet ist; jeder Tab zeigt auch die `latest`-Repository-URL. Paketmanager-Installationen werden nicht automatisch durch Claude Code aktualisiert; Updates erfolgen durch Ihren normalen System-Upgrade-Workflow.

370 372 

371Alle Repositories sind mit dem [Claude Code Release-Signaturschlüssel](#binary-integrity-and-code-signing) signiert. Bevor Sie dem Schlüssel vertrauen, überprüfen Sie ihn wie in jedem Tab beschrieben.373Alle Repositories sind mit dem [Claude Code Release-Signaturschlüssel](#binary-integrity-and-code-signing) signiert. Bevor Sie dem Schlüssel vertrauen, überprüfen Sie ihn wie in jedem Tab beschrieben.

372 374 

373<Tabs>375<Tabs>

374 <Tab title="apt">376 <Tab title="apt">

375 Für Debian und Ubuntu. Um den Rolling-Kanal zu verwenden, ändern Sie beide `stable`-Vorkommen in der `deb`-Zeile: den URL-Pfad und den Suite-Namen.377 Für Debian und Ubuntu. Die folgenden Befehle konfigurieren den `stable`-Kanal:

376 378 

377 ```bash theme={null}379 ```bash theme={null}

378 sudo install -d -m 0755 /etc/apt/keyrings380 sudo install -d -m 0755 /etc/apt/keyrings


384 sudo apt install claude-code386 sudo apt install claude-code

385 ```387 ```

386 388 

389 Um stattdessen den `latest`-Kanal zu verwenden, ändern sich sowohl der URL-Pfad als auch der Suite-Name. Verwenden Sie diese `deb`-Zeile:

390 

391 ```bash theme={null}

392 echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/latest latest main" \

393 | sudo tee /etc/apt/sources.list.d/claude-code.list

394 ```

395 

387 Überprüfen Sie den GPG-Schlüssel-Fingerabdruck, bevor Sie ihm vertrauen: `gpg --show-keys /etc/apt/keyrings/claude-code.asc` sollte `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` melden.396 Überprüfen Sie den GPG-Schlüssel-Fingerabdruck, bevor Sie ihm vertrauen: `gpg --show-keys /etc/apt/keyrings/claude-code.asc` sollte `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` melden.

388 397 

389 Um später zu aktualisieren, führen Sie `sudo apt update && sudo apt upgrade claude-code` aus.398 Um später zu aktualisieren, führen Sie `sudo apt update && sudo apt upgrade claude-code` aus.

390 </Tab>399 </Tab>

391 400 

392 <Tab title="dnf">401 <Tab title="dnf">

393 Für Fedora und RHEL:402 Für Fedora und RHEL. Die folgenden Befehle konfigurieren den `stable`-Kanal:

394 403 

395 ```bash theme={null}404 ```bash theme={null}

396 sudo tee /etc/yum.repos.d/claude-code.repo <<'EOF'405 sudo tee /etc/yum.repos.d/claude-code.repo <<'EOF'


404 sudo dnf install claude-code413 sudo dnf install claude-code

405 ```414 ```

406 415 

416 Um stattdessen den `latest`-Kanal zu verwenden, setzen Sie `baseurl` auf das `latest`-Repository:

417 

418 ```ini theme={null}

419 baseurl=https://downloads.claude.ai/claude-code/rpm/latest

420 ```

421 

407 dnf lädt den Schlüssel bei der ersten Installation herunter und fordert Sie auf, den Fingerabdruck zu bestätigen. Überprüfen Sie, ob er `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` entspricht, bevor Sie akzeptieren.422 dnf lädt den Schlüssel bei der ersten Installation herunter und fordert Sie auf, den Fingerabdruck zu bestätigen. Überprüfen Sie, ob er `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` entspricht, bevor Sie akzeptieren.

408 423 

409 Um später zu aktualisieren, führen Sie `sudo dnf upgrade claude-code` aus.424 Um später zu aktualisieren, führen Sie `sudo dnf upgrade claude-code` aus.

410 </Tab>425 </Tab>

411 426 

412 <Tab title="apk">427 <Tab title="apk">

413 Für Alpine Linux:428 Für Alpine Linux. Die folgenden Befehle konfigurieren den `stable`-Kanal:

414 429 

415 ```sh theme={null}430 ```sh theme={null}

416 wget -O /etc/apk/keys/claude-code.rsa.pub \431 wget -O /etc/apk/keys/claude-code.rsa.pub \


419 apk add claude-code434 apk add claude-code

420 ```435 ```

421 436 

437 Um zum `latest`-Kanal zu wechseln, entfernen Sie die `stable`-Repository-Zeile und fügen Sie das `latest`-Repository hinzu:

438 

439 ```sh theme={null}

440 sed -i '\|downloads.claude.ai/claude-code/apk/stable|d' /etc/apk/repositories

441 echo "https://downloads.claude.ai/claude-code/apk/latest" >> /etc/apk/repositories

442 ```

443 

422 Überprüfen Sie den heruntergeladenen Schlüssel mit `sha256sum /etc/apk/keys/claude-code.rsa.pub`, was `395759c1f7449ef4cdef305a42e820f3c766d6090d142634ebdb049f113168b6` melden sollte.444 Überprüfen Sie den heruntergeladenen Schlüssel mit `sha256sum /etc/apk/keys/claude-code.rsa.pub`, was `395759c1f7449ef4cdef305a42e820f3c766d6090d142634ebdb049f113168b6` melden sollte.

423 445 

424 Um später zu aktualisieren, führen Sie `apk update && apk upgrade claude-code` aus.446 Um später zu aktualisieren, führen Sie `apk update && apk upgrade claude-code` aus.

skills.md +19 −6

Details

22 Gebündelte Skills22 Gebündelte Skills

23</h2>23</h2>

24 24 

25Claude Code wird mit einer Reihe von gebündelten Skills ausgeliefert, die in jeder Sitzung verfügbar sind, einschließlich `/code-review`, `/batch`, `/debug`, `/loop` und `/claude-api`. Im Gegensatz zu den meisten integrierten Befehlen, die direkt feste Logik ausführen, sind gebündelte Skills prompt-basiert: Sie geben Claude detaillierte Anweisungen und lassen es die Arbeit mit seinen Tools orchestrieren. Sie rufen sie auf die gleiche Weise auf wie jeden anderen Skill, indem Sie `/` gefolgt vom Skill-Namen eingeben.25Claude Code wird mit einer Reihe von gebündelten Skills ausgeliefert, die in jeder Sitzung verfügbar sind, sofern sie nicht mit der Einstellung [`disableBundledSkills`](/de/settings#available-settings) deaktiviert werden, einschließlich `/code-review`, `/batch`, `/debug`, `/loop` und `/claude-api`. Im Gegensatz zu den meisten integrierten Befehlen, die direkt feste Logik ausführen, sind gebündelte Skills prompt-basiert: Sie geben Claude detaillierte Anweisungen und lassen es die Arbeit mit seinen Tools orchestrieren. Sie rufen sie auf die gleiche Weise auf wie jeden anderen Skill, indem Sie `/` gefolgt vom Skill-Namen eingeben.

26 26 

27Gebündelte Skills sind in der [Befehlsreferenz](/de/commands) neben integrierten Befehlen aufgelistet und mit **Skill** in der Spalte „Zweck" gekennzeichnet.27Gebündelte Skills sind in der [Befehlsreferenz](/de/commands) neben integrierten Befehlen aufgelistet und mit **Skill** in der Spalte „Zweck" gekennzeichnet.

28 28 


117| Projekt | `.claude/skills/<skill-name>/SKILL.md` | Nur dieses Projekt |117| Projekt | `.claude/skills/<skill-name>/SKILL.md` | Nur dieses Projekt |

118| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Wo das Plugin aktiviert ist |118| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Wo das Plugin aktiviert ist |

119 119 

120Wenn Skills auf verschiedenen Ebenen denselben Namen haben, gewinnt Unternehmen gegenüber Persönlich, und Persönlich gewinnt gegenüber Projekt. Plugin-Skills verwenden einen `plugin-name:skill-name`-Namespace, sodass sie nicht mit anderen Ebenen in Konflikt geraten können. Wenn Sie Dateien in `.claude/commands/` haben, funktionieren diese auf die gleiche Weise, aber wenn ein Skill und ein Befehl denselben Namen haben, hat der Skill Vorrang.120Wenn Skills auf verschiedenen Ebenen denselben Namen haben, gewinnt Unternehmen gegenüber Persönlich, und Persönlich gewinnt gegenüber Projekt. Ein Skill auf jeder dieser Ebenen setzt auch einen gebündelten Skill mit demselben Namen außer Kraft. Beispielsweise ersetzt ein `code-review`-Skill in Ihrem Projekt `.claude/skills/` den gebündelten `/code-review`. Plugin-Skills verwenden einen `plugin-name:skill-name`-Namespace, sodass sie nicht mit anderen Ebenen in Konflikt geraten können. Wenn Sie Dateien in `.claude/commands/` haben, funktionieren diese auf die gleiche Weise, aber wenn ein Skill und ein Befehl denselben Namen haben, hat der Skill Vorrang.

121 

122Skills werden auch aus verschachtelten `.claude/skills/`-Verzeichnissen unter Ihrem Arbeitsverzeichnis geladen. Wenn Claude eine Datei in einem Unterverzeichnis liest oder bearbeitet, werden Skills aus dem `.claude/skills/` dieses Unterverzeichnisses verfügbar. Dies ermöglicht es einem Monorepo-Paket, seine eigenen Skills bereitzustellen, die beim Arbeiten an diesem Paket gelten, auch wenn die Sitzung in der Repository-Root gestartet wurde.

123 

124Wenn ein verschachtelter Skill denselben Namen wie ein anderer Skill hat, bleiben beide verfügbar. Beispielsweise mit einem `deploy`-Skill in der Projekt-Root und einem anderen in `apps/web/.claude/skills/`:

125 

126* Der verschachtelte wird unter einem verzeichnisqualifizierten Namen angezeigt, `apps/web:deploy`.

127* Seine Beschreibung sagt, auf welches Verzeichnis er sich bezieht.

128* Claude wählt die Variante, die zu den Dateien passt, an denen er arbeitet.

129 

130Wenn Sie `/deploy` eingeben, wird der Skill in der Projekt-Root ausgeführt. Geben Sie den qualifizierten Namen `/apps/web:deploy` ein, um die verschachtelte Variante explizit auszuführen.

121 131 

122<Note>132<Note>

123 Fügen Sie eine `.claude-plugin/plugin.json` zu einem Skill-Ordner hinzu und er wird als [Plugin](/de/plugins-reference#skills-directory-plugins) mit dem Namen `<name>@skills-dir` geladen, sodass er Agenten, hooks und MCP-Server bündeln kann. In einem Projekt `.claude/skills/` ist dies erforderlich, um zuerst das Workspace-Trust-Dialogfeld zu akzeptieren.133 Fügen Sie eine `.claude-plugin/plugin.json` zu einem Skill-Ordner hinzu und er wird als [Plugin](/de/plugins-reference#skills-directory-plugins) mit dem Namen `<name>@skills-dir` geladen, sodass er Agenten, hooks und MCP-Server bündeln kann. In einem Projekt `.claude/skills/` ist dies erforderlich, um zuerst das Workspace-Trust-Dialogfeld zu akzeptieren.


262Die folgende Tabelle zeigt, woher der Befehlsname für jedes Layout kommt:272Die folgende Tabelle zeigt, woher der Befehlsname für jedes Layout kommt:

263 273 

264| Skill-Speicherort | Befehlsnamen-Quelle | Beispiel |274| Skill-Speicherort | Befehlsnamen-Quelle | Beispiel |

265| :----------------------------------------------------------------- | :--------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |275| :-------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |

266| Skill-Verzeichnis unter `~/.claude/skills/` oder `.claude/skills/` | Verzeichnisname | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |276| Skill-Verzeichnis unter `~/.claude/skills/` oder `.claude/skills/` | Verzeichnisname | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |

277| [Verschachteltes](#where-skills-live) `.claude/skills/`-Verzeichnis, wenn der Name mit einem anderen Skill kollidiert | Unterverzeichnispfad relativ zum Arbeitsverzeichnis, dann der Skill-Verzeichnisname | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |

267| Datei unter `.claude/commands/` | Dateiname ohne Erweiterung | `.claude/commands/deploy.md` → `/deploy` |278| Datei unter `.claude/commands/` | Dateiname ohne Erweiterung | `.claude/commands/deploy.md` → `/deploy` |

268| Plugin-`skills/`-Unterverzeichnis | Verzeichnisname, mit Namespace durch Plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review` |279| Plugin-`skills/`-Unterverzeichnis | Verzeichnisname, mit Namespace durch Plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review` |

269| Plugin-Root-`SKILL.md` | Frontmatter `name`, mit dem Plugin-Verzeichnisnamen als Fallback | `my-plugin/SKILL.md` mit `name: review` → `/my-plugin:review`. Siehe [Pfad-Verhaltensregeln](/de/plugins-reference#path-behavior-rules) |280| Plugin-Root-`SKILL.md` | Frontmatter `name`, mit dem Plugin-Verzeichnisnamen als Fallback | `my-plugin/SKILL.md` mit `name: review` → `/my-plugin:review`. Siehe [Pfad-Verhaltensregeln](/de/plugins-reference#path-behavior-rules) |


288 299 

289Indizierte Argumente verwenden Shell-ähnliche Anführungszeichen, daher müssen Sie mehrteilige Werte in Anführungszeichen setzen, um sie als einzelnes Argument zu übergeben. Zum Beispiel macht `/my-skill "hello world" second` `$0` zu `hello world` und `$1` zu `second`. Der `$ARGUMENTS`-Platzhalter wird immer zur vollständigen Argumentzeichenkette erweitert, wie eingegeben.300Indizierte Argumente verwenden Shell-ähnliche Anführungszeichen, daher müssen Sie mehrteilige Werte in Anführungszeichen setzen, um sie als einzelnes Argument zu übergeben. Zum Beispiel macht `/my-skill "hello world" second` `$0` zu `hello world` und `$1` zu `second`. Der `$ARGUMENTS`-Platzhalter wird immer zur vollständigen Argumentzeichenkette erweitert, wie eingegeben.

290 301 

302Um ein Literal `$` vor einer Ziffer, `ARGUMENTS` oder einem deklarierten Argumentnamen einzufügen, z. B. `$1.00` in Prosa, maskieren Sie es mit einem Backslash: `\$1.00`. Ein Backslash vor jedem anderen `$` wird unverändert gelassen. Nur ein einzelner Backslash direkt vor dem Token maskiert ihn. Ein doppelter Backslash wie `\\$1` lässt beide Backslashes an Ort und Stelle, und `$1` wird immer noch zum Argumentwert erweitert.

303 

291**Beispiel mit Substitutionen:**304**Beispiel mit Substitutionen:**

292 305 

293```yaml theme={null}306```yaml theme={null}


395---408---

396```409```

397 410 

398Um einen Skill daran zu hindern, bestimmte Tools zu verwenden, fügen Sie stattdessen Ablehnungsregeln in Ihren [Berechtigungseinstellungen](/de/permissions) hinzu.411Um Tools aus Claudes verfügbarem Pool zu entfernen, während ein Skill aktiv ist, listen Sie sie in `disallowed-tools` im Frontmatter des Skills auf. Die Einschränkung wird gelöscht, wenn Sie Ihre nächste Nachricht senden. Um Tools über alle Skills und Eingaben hinweg zu blockieren, fügen Sie Ablehnungsregeln in Ihren [Berechtigungseinstellungen](/de/permissions) hinzu.

399 412 

400<h3 id="pass-arguments-to-skills">413<h3 id="pass-arguments-to-skills">

401 Argumente an Skills übergeben414 Argumente an Skills übergeben


557 570 

558Das `agent`-Feld gibt an, welche Subagent-Konfiguration verwendet werden soll. Optionen umfassen integrierte Agenten (`Explore`, `Plan`, `general-purpose`) oder jeden benutzerdefinierten Subagenten aus `.claude/agents/`. Falls weggelassen, wird `general-purpose` verwendet.571Das `agent`-Feld gibt an, welche Subagent-Konfiguration verwendet werden soll. Optionen umfassen integrierte Agenten (`Explore`, `Plan`, `general-purpose`) oder jeden benutzerdefinierten Subagenten aus `.claude/agents/`. Falls weggelassen, wird `general-purpose` verwendet.

559 572 

560<h3 id="restrict-claude-s-skill-access">573<h3 id="restrict-claudes-skill-access">

561 Beschränken Sie Claudes Skill-Zugriff574 Beschränken Sie Claudes Skill-Zugriff

562</h3>575</h3>

563 576 


850 Skill-Beschreibungen werden gekürzt863 Skill-Beschreibungen werden gekürzt

851</h3>864</h3>

852 865 

853Skill-Beschreibungen werden in den Kontext geladen, damit Claude weiß, was verfügbar ist. Alle Skill-Namen sind immer enthalten, aber wenn Sie viele Skills haben, werden Beschreibungen gekürzt, um in das Zeichenbudget zu passen, was die Schlüsselwörter entfernen kann, die Claude benötigt, um Ihre Anfrage zu erfüllen. Das Budget skaliert bei 1% des Kontextfensters des Modells. Wenn es überläuft, werden Beschreibungen für die Skills, die Sie am wenigsten aufrufen, zuerst gelöscht, sodass die Skills, die Sie tatsächlich verwenden, ihren vollständigen Text behalten. Führen Sie `/doctor` aus, um zu sehen, ob das Budget überläuft und welche Skills betroffen sind.866Skill-Beschreibungen werden in den Kontext geladen, damit Claude weiß, was verfügbar ist. Alle Skill-Namen sind immer enthalten, aber wenn Sie viele Skills haben, werden Beschreibungen gekürzt, um in das Zeichenbudget zu passen, was die Schlüsselwörter entfernen kann, die Claude benötigt, um Ihre Anfrage zu erfüllen. Das Budget skaliert bei 1% des Kontextfensters des Modells. Wenn es überläuft, werden Beschreibungen für die Skills, die Sie am wenigsten aufrufen, zuerst gelöscht, sodass die Skills, die Sie tatsächlich verwenden, ihren vollständigen Text behalten. Führen Sie `/doctor` aus, um zu sehen, wie viele Skill-Beschreibungen gekürzt oder gelöscht werden und welche Skills betroffen sind.

854 867 

855Um das Budget zu erhöhen, setzen Sie die Einstellung [`skillListingBudgetFraction`](/de/settings#available-settings) (z. B. `0.02` = 2%) oder die Umgebungsvariable `SLASH_COMMAND_TOOL_CHAR_BUDGET` auf eine feste Zeichenanzahl. Um Budget für andere Skills freizugeben, setzen Sie Einträge mit niedriger Priorität auf `"name-only"` in [`skillOverrides`](#override-skill-visibility-from-settings), damit sie ohne Beschreibung aufgelistet werden. Sie können auch den Text `description` und `when_to_use` an der Quelle kürzen: Stellen Sie den wichtigsten Anwendungsfall an den Anfang, da der kombinierte Text jedes Eintrags unabhängig vom Budget auf 1.536 Zeichen begrenzt ist. Die Obergrenze ist mit [`maxSkillDescriptionChars`](/de/settings#available-settings) konfigurierbar.868Um das Budget zu erhöhen, setzen Sie die Einstellung [`skillListingBudgetFraction`](/de/settings#available-settings) (z. B. `0.02` = 2%) oder die Umgebungsvariable `SLASH_COMMAND_TOOL_CHAR_BUDGET` auf eine feste Zeichenanzahl. Um Budget für andere Skills freizugeben, setzen Sie Einträge mit niedriger Priorität auf `"name-only"` in [`skillOverrides`](#override-skill-visibility-from-settings), damit sie ohne Beschreibung aufgelistet werden. Sie können auch den Text `description` und `when_to_use` an der Quelle kürzen: Stellen Sie den wichtigsten Anwendungsfall an den Anfang, da der kombinierte Text jedes Eintrags unabhängig vom Budget auf 1.536 Zeichen begrenzt ist. Die Obergrenze ist mit [`maxSkillDescriptionChars`](/de/settings#available-settings) konfigurierbar.

856 869 

slack.md +11 −11

Details

182 182 

183Dieses kanalbasierte Modell ermöglicht es Teams, die Nutzung von Claude Code auf bestimmte Kanäle zu beschränken und bietet eine zusätzliche Ebene der Zugriffskontrolle über Workspace-Berechtigungen hinaus.183Dieses kanalbasierte Modell ermöglicht es Teams, die Nutzung von Claude Code auf bestimmte Kanäle zu beschränken und bietet eine zusätzliche Ebene der Zugriffskontrolle über Workspace-Berechtigungen hinaus.

184 184 

185<h2 id="what-s-accessible-where">185<h2 id="whats-accessible-where">

186 Was wo zugänglich ist186 Was wo zugänglich ist

187</h2>187</h2>

188 188 

189**In Slack**: Sie sehen Status-Updates, Abschluss-Zusammenfassungen und Aktionsschaltflächen. Das vollständige Transkript wird beibehalten und ist immer zugänglich.189**In Slack**: Sie sehen Status-Updates, Abschluss-Zusammenfassungen und Aktionsschaltflächen. Das vollständige Transkript wird beibehalten und ist immer zugänglich.

190 190 

191**Im Web**: Die vollständige Claude Code-Sitzung mit vollständiger Gesprächsverlauf, alle Code-Änderungen, Dateivorgänge und die Möglichkeit, die Sitzung fortzusetzen oder Pull Requests zu erstellen.191**Im Web**: Die vollständige Claude Code-Sitzung mit vollständigem Gesprächsverlauf, alle Code-Änderungen, Dateivorgänge und die Möglichkeit, die Sitzung fortzusetzen oder Pull Requests zu erstellen.

192 192 

193Für Enterprise- und Team-Konten sind Sitzungen, die von Claude in Slack erstellt werden, automatisch für die Organisation sichtbar. Weitere Informationen finden Sie unter [Claude Code im Web-Freigabe](/de/claude-code-on-the-web#share-sessions).193Für Enterprise- und Team-Konten sind Sitzungen, die von Claude in Slack erstellt werden, automatisch für die Organisation sichtbar. Weitere Informationen finden Sie unter [Claude Code im Web-Freigabe](/de/claude-code-on-the-web#share-sessions).

194 194 

195<h2 id="best-practices">195<h2 id="best-practices">

196 Best Practices196 Best practices

197</h2>197</h2>

198 198 

199<h3 id="writing-effective-requests">199<h3 id="writing-effective-requests">

200 Schreiben effektiver Anfragen200 Writing effective requests

201</h3>201</h3>

202 202 

203* **Seien Sie spezifisch**: Geben Sie Dateinamen, Funktionsnamen oder Fehlermeldungen an, wenn relevant.203* **Be specific**: Include file names, function names, or error messages when relevant.

204* **Geben Sie Kontext**: Erwähnen Sie das Repository oder Projekt, wenn es nicht aus dem Gespräch klar ist.204* **Provide context**: Mention the repository or project if it's not clear from the conversation.

205* **Definieren Sie Erfolg**: Erklären Sie, wie „fertig" aussieht sollte Claude Tests schreiben? Dokumentation aktualisieren? Einen PR erstellen?205* **Define success**: Explain what "done" looks like—should Claude write tests? Update documentation? Create a PR?

206* **Verwenden Sie Threads**: Antworten Sie in Threads, wenn Sie über Fehler oder Funktionen diskutieren, damit Claude den vollständigen Kontext sammeln kann.206* **Use threads**: Reply in threads when discussing bugs or features so Claude can gather the full context.

207 207 

208<h3 id="when-to-use-slack-vs-web">208<h3 id="when-to-use-slack-vs-web">

209 Wann Slack vs. Web verwenden209 When to use Slack vs. web

210</h3>210</h3>

211 211 

212**Verwenden Sie Slack, wenn**: Kontext bereits in einer Slack-Diskussion vorhanden ist, Sie eine Aufgabe asynchron starten möchten oder mit Teamkollegen zusammenarbeiten, die Sichtbarkeit benötigen.212**Use Slack when**: Context already exists in a Slack discussion, you want to kick off a task asynchronously, or you're collaborating with teammates who need visibility.

213 213 

214**Verwenden Sie das Web direkt, wenn**: Sie Dateien hochladen müssen, Echtzeit-Interaktion während der Entwicklung möchten oder an längeren, komplexeren Aufgaben arbeiten.214**Use the web directly when**: You need to upload files, want real-time interaction during development, or are working on longer, more complex tasks.

215 215 

216<h2 id="troubleshooting">216<h2 id="troubleshooting">

217 Fehlerbehebung217 Fehlerbehebung

statusline.md +63 −21

Details

15* Über mehrere Sitzungen hinweg arbeiten und diese unterscheiden müssen15* Über mehrere Sitzungen hinweg arbeiten und diese unterscheiden müssen

16* Git-Branch und Status immer sichtbar haben möchten16* Git-Branch und Status immer sichtbar haben möchten

17 17 

18Claude Code kann auch [Fußzeilenlink-Abzeichen](/de/settings#footer-link-badges) rendern: anklickbare Chips, die in der Fußzeile angezeigt werden, wenn ein konfigurierter regulärer Ausdruck mit Text in der Konversation übereinstimmt. Diese sind unabhängig von der Statuszeile und interagieren nicht mit Ihrem Skript; konfigurieren Sie sie stattdessen mit der Einstellung [`footerLinksRegexes`](/de/settings#footer-link-badges).

19 

18Hier ist ein Beispiel einer [mehrzeiligen Statuszeile](#display-multiple-lines), die Git-Informationen in der ersten Zeile und einen farbcodierten Kontextbalken in der zweiten Zeile anzeigt.20Hier ist ein Beispiel einer [mehrzeiligen Statuszeile](#display-multiple-lines), die Git-Informationen in der ersten Zeile und einen farbcodierten Kontextbalken in der zweiten Zeile anzeigt.

19 21 

20<Frame>22<Frame>


23 25 

24Diese Seite führt Sie durch [das Einrichten einer grundlegenden Statuszeile](#set-up-a-status-line), erklärt [wie die Daten fließen](#how-status-lines-work) von Claude Code zu Ihrem Skript, listet [alle Felder auf, die Sie anzeigen können](#available-data), und bietet [einsatzbereite Beispiele](#examples) für häufige Muster wie Git-Status, Kostenverfolgung und Fortschrittsbalken.26Diese Seite führt Sie durch [das Einrichten einer grundlegenden Statuszeile](#set-up-a-status-line), erklärt [wie die Daten fließen](#how-status-lines-work) von Claude Code zu Ihrem Skript, listet [alle Felder auf, die Sie anzeigen können](#available-data), und bietet [einsatzbereite Beispiele](#examples) für häufige Muster wie Git-Status, Kostenverfolgung und Fortschrittsbalken.

25 27 

26## Richten Sie eine Statuszeile ein28<h2 id="set-up-a-status-line">

29 Richten Sie eine Statuszeile ein

30</h2>

27 31 

28Verwenden Sie den [`/statusline` Befehl](#use-the-%2Fstatusline-command), um Claude Code ein Skript für Sie generieren zu lassen, oder [erstellen Sie manuell ein Skript](#manually-configure-a-status-line) und fügen Sie es zu Ihren Einstellungen hinzu.32Verwenden Sie den [`/statusline` Befehl](#use-the-%2Fstatusline-command), um Claude Code ein Skript für Sie generieren zu lassen, oder [erstellen Sie manuell ein Skript](#manually-configure-a-status-line) und fügen Sie es zu Ihren Einstellungen hinzu.

29 33 

30### Verwenden Sie den /statusline Befehl34<h3 id="use-the-/statusline-command">

35 Verwenden Sie den /statusline Befehl

36</h3>

31 37 

32Der `/statusline` Befehl akzeptiert Anweisungen in natürlicher Sprache, die beschreiben, was Sie angezeigt haben möchten. Claude Code generiert eine Skriptdatei in `~/.claude/` und aktualisiert Ihre Einstellungen automatisch:38Der `/statusline` Befehl akzeptiert Anweisungen in natürlicher Sprache, die beschreiben, was Sie angezeigt haben möchten. Claude Code generiert eine Skriptdatei in `~/.claude/` und aktualisiert Ihre Einstellungen automatisch:

33 39 


35/statusline show model name and context percentage with a progress bar41/statusline show model name and context percentage with a progress bar

36```42```

37 43 

38### Statuszeile manuell konfigurieren44<h3 id="manually-configure-a-status-line">

45 Statuszeile manuell konfigurieren

46</h3>

39 47 

40Fügen Sie ein `statusLine` Feld zu Ihren Benutzereinstellungen (`~/.claude/settings.json`, wobei `~` Ihr Heimatverzeichnis ist) oder [Projekteinstellungen](/de/settings#settings-files) hinzu. Setzen Sie `type` auf `"command"` und verweisen Sie `command` auf einen Skriptpfad oder einen Inline-Shell-Befehl. Eine vollständige Anleitung zum Erstellen eines Skripts finden Sie unter [Erstellen Sie eine Statuszeile Schritt für Schritt](#build-a-status-line-step-by-step).48Fügen Sie ein `statusLine` Feld zu Ihren Benutzereinstellungen (`~/.claude/settings.json`, wobei `~` Ihr Heimatverzeichnis ist) oder [Projekteinstellungen](/de/settings#settings-files) hinzu. Setzen Sie `type` auf `"command"` und verweisen Sie `command` auf einen Skriptpfad oder einen Inline-Shell-Befehl. Eine vollständige Anleitung zum Erstellen eines Skripts finden Sie unter [Erstellen Sie eine Statuszeile Schritt für Schritt](#build-a-status-line-step-by-step).

41 49 


66 74 

67Das optionale `hideVimModeIndicator` Feld unterdrückt den integrierten `-- INSERT --` Text unter der Eingabeaufforderung. Setzen Sie dies auf `true`, wenn Ihr Skript [`vim.mode`](#available-data) selbst rendert, sodass der Modus nicht zweimal angezeigt wird.75Das optionale `hideVimModeIndicator` Feld unterdrückt den integrierten `-- INSERT --` Text unter der Eingabeaufforderung. Setzen Sie dies auf `true`, wenn Ihr Skript [`vim.mode`](#available-data) selbst rendert, sodass der Modus nicht zweimal angezeigt wird.

68 76 

69### Deaktivieren Sie die Statuszeile77<h3 id="disable-the-status-line">

78 Deaktivieren Sie die Statuszeile

79</h3>

70 80 

71Führen Sie `/statusline` aus und bitten Sie es, Ihre Statuszeile zu entfernen oder zu löschen (z. B. `/statusline delete`, `/statusline clear`, `/statusline remove it`). Sie können auch das `statusLine` Feld manuell aus Ihrer settings.json löschen.81Führen Sie `/statusline` aus und bitten Sie es, Ihre Statuszeile zu entfernen oder zu löschen (z. B. `/statusline delete`, `/statusline clear`, `/statusline remove it`). Sie können auch das `statusLine` Feld manuell aus Ihrer settings.json löschen.

72 82 

73## Erstellen Sie eine Statuszeile Schritt für Schritt83<h2 id="build-a-status-line-step-by-step">

84 Erstellen Sie eine Statuszeile Schritt für Schritt

85</h2>

74 86 

75Diese Anleitung zeigt, was unter der Haube passiert, indem Sie manuell eine Statuszeile erstellen, die das aktuelle Modell, das Arbeitsverzeichnis und den Prozentsatz der Kontextfensternutzung anzeigt.87Diese Anleitung zeigt, was unter der Haube passiert, indem Sie manuell eine Statuszeile erstellen, die das aktuelle Modell, das Arbeitsverzeichnis und den Prozentsatz der Kontextfensternutzung anzeigt.

76 88 

77<Note>Das Ausführen von [`/statusline`](#use-the-statusline-command) mit einer Beschreibung dessen, was Sie möchten, konfiguriert all dies automatisch für Sie.</Note>89<Note>Das Ausführen von [`/statusline`](#use-the-%2Fstatusline-command) mit einer Beschreibung dessen, was Sie möchten, konfiguriert all dies automatisch für Sie.</Note>

78 90 

79Diese Beispiele verwenden Bash-Skripte, die auf macOS und Linux funktionieren. Unter Windows finden Sie unter [Windows-Konfiguration](#windows-configuration) PowerShell- und Git Bash-Beispiele.91Diese Beispiele verwenden Bash-Skripte, die auf macOS und Linux funktionieren. Unter Windows finden Sie unter [Windows-Konfiguration](#windows-configuration) PowerShell- und Git Bash-Beispiele.

80 92 


128 </Step>140 </Step>

129</Steps>141</Steps>

130 142 

131## Wie Statuszeilen funktionieren143<h2 id="how-status-lines-work">

144 Wie Statuszeilen funktionieren

145</h2>

132 146 

133Claude Code führt Ihr Skript aus und leitet [JSON-Sitzungsdaten](#available-data) über stdin an es weiter. Ihr Skript liest die JSON, extrahiert das, was es benötigt, und druckt Text auf stdout. Claude Code zeigt alles an, was Ihr Skript druckt.147Claude Code führt Ihr Skript aus und leitet [JSON-Sitzungsdaten](#available-data) über stdin an es weiter. Ihr Skript liest die JSON, extrahiert das, was es benötigt, und druckt Text auf stdout. Claude Code zeigt alles an, was Ihr Skript druckt.

134 148 


150 164 

151<Note>Die Statuszeile wird lokal ausgeführt und verbraucht keine API-Token. Sie wird vorübergehend während bestimmter UI-Interaktionen ausgeblendet, einschließlich Autovervollständigungsvorschlägen, dem Hilfemenü und Berechtigungsaufforderungen.</Note>165<Note>Die Statuszeile wird lokal ausgeführt und verbraucht keine API-Token. Sie wird vorübergehend während bestimmter UI-Interaktionen ausgeblendet, einschließlich Autovervollständigungsvorschlägen, dem Hilfemenü und Berechtigungsaufforderungen.</Note>

152 166 

153## Verfügbare Daten167<h2 id="available-data">

168 Verfügbare Daten

169</h2>

154 170 

155Claude Code sendet die folgenden JSON-Felder über stdin an Ihr Skript:171Claude Code sendet die folgenden JSON-Felder über stdin an Ihr Skript:

156 172 


297 Behandeln Sie fehlende Felder mit bedingtem Zugriff und Null-Werte mit Fallback-Standardwerten in Ihren Skripten.313 Behandeln Sie fehlende Felder mit bedingtem Zugriff und Null-Werte mit Fallback-Standardwerten in Ihren Skripten.

298</Accordion>314</Accordion>

299 315 

300### Kontextfenster-Felder316<h3 id="context-window-fields">

317 Kontextfenster-Felder

318</h3>

301 319 

302Das `context_window` Objekt beschreibt das Live-Kontextfenster aus der letzten API-Antwort. Ab v2.1.132 spiegeln `total_input_tokens` und `total_output_tokens` die aktuelle Kontextnutzung wider, nicht kumulative Sitzungssummen.320Das `context_window` Objekt beschreibt das Live-Kontextfenster aus der letzten API-Antwort. Ab v2.1.132 spiegeln `total_input_tokens` und `total_output_tokens` die aktuelle Kontextnutzung wider, nicht kumulative Sitzungssummen.

303 321 


319 337 

320Das `current_usage` Objekt ist `null` vor dem ersten API-Aufruf in einer Sitzung und erneut unmittelbar nach `/compact`, bis der nächste API-Aufruf es erneut füllt.338Das `current_usage` Objekt ist `null` vor dem ersten API-Aufruf in einer Sitzung und erneut unmittelbar nach `/compact`, bis der nächste API-Aufruf es erneut füllt.

321 339 

322## Beispiele340<h2 id="examples">

341 Beispiele

342</h2>

323 343 

324Diese Beispiele zeigen häufige Statuszeilen-Muster. Um ein Beispiel zu verwenden:344Diese Beispiele zeigen häufige Statuszeilen-Muster. Um ein Beispiel zu verwenden:

325 345 


329 349 

330Die Bash-Beispiele verwenden [`jq`](https://jqlang.github.io/jq/) zum Analysieren von JSON. Python und Node.js haben integriertes JSON-Parsing.350Die Bash-Beispiele verwenden [`jq`](https://jqlang.github.io/jq/) zum Analysieren von JSON. Python und Node.js haben integriertes JSON-Parsing.

331 351 

332### Kontextfensternutzung352<h3 id="context-window-usage">

353 Kontextfensternutzung

354</h3>

333 355 

334Zeigen Sie das aktuelle Modell und die Kontextfensternutzung mit einem visuellen Fortschrittsbalken an. Jedes Skript liest JSON von stdin, extrahiert das `used_percentage` Feld und erstellt einen 10-Zeichen-Balken, wobei gefüllte Blöcke (▓) die Nutzung darstellen:356Zeigen Sie das aktuelle Modell und die Kontextfensternutzung mit einem visuellen Fortschrittsbalken an. Jedes Skript liest JSON von stdin, extrahiert das `used_percentage` Feld und erstellt einen 10-Zeichen-Balken, wobei gefüllte Blöcke (▓) die Nutzung darstellen:

335 357 


396 ```418 ```

397</CodeGroup>419</CodeGroup>

398 420 

399### Git-Status mit Farben421<h3 id="git-status-with-colors">

422 Git-Status mit Farben

423</h3>

400 424 

401Zeigen Sie Git-Branch mit farbcodierten Indikatoren für bereitgestellte und geänderte Dateien an. Dieses Skript verwendet [ANSI-Escape-Codes](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) für Terminalfarben: `\033[32m` ist Grün, `\033[33m` ist Gelb und `\033[0m` setzt auf Standard zurück.425Zeigen Sie Git-Branch mit farbcodierten Indikatoren für bereitgestellte und geänderte Dateien an. Dieses Skript verwendet [ANSI-Escape-Codes](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) für Terminalfarben: `\033[32m` ist Grün, `\033[33m` ist Gelb und `\033[0m` setzt auf Standard zurück.

402 426 


490 ```514 ```

491</CodeGroup>515</CodeGroup>

492 516 

493### Kosten- und Dauer-Verfolgung517<h3 id="cost-and-duration-tracking">

518 Kosten- und Dauer-Verfolgung

519</h3>

494 520 

495Verfolgen Sie die API-Kosten und verstrichene Zeit Ihrer Sitzung. Das `cost.total_cost_usd` Feld sammelt die geschätzten Kosten aller API-Aufrufe in der aktuellen Sitzung. Das `cost.total_duration_ms` Feld misst die Gesamtverstrichene Zeit seit Sitzungsbeginn, während `cost.total_api_duration_ms` nur die Zeit verfolgt, die auf API-Antworten wartet.521Verfolgen Sie die API-Kosten und verstrichene Zeit Ihrer Sitzung. Das `cost.total_cost_usd` Feld sammelt die geschätzten Kosten aller API-Aufrufe in der aktuellen Sitzung. Das `cost.total_duration_ms` Feld misst die Gesamtverstrichene Zeit seit Sitzungsbeginn, während `cost.total_api_duration_ms` nur die Zeit verfolgt, die auf API-Antworten wartet.

496 522 


551 ```577 ```

552</CodeGroup>578</CodeGroup>

553 579 

554### Mehrere Zeilen anzeigen580<h3 id="display-multiple-lines">

581 Mehrere Zeilen anzeigen

582</h3>

555 583 

556Ihr Skript kann mehrere Zeilen ausgeben, um eine reichhaltigere Anzeige zu erstellen. Jede `echo` Anweisung erzeugt eine separate Zeile im Statusbereich.584Ihr Skript kann mehrere Zeilen ausgeben, um eine reichhaltigere Anzeige zu erstellen. Jede `echo` Anweisung erzeugt eine separate Zeile im Statusbereich.

557 585 


658 ```686 ```

659</CodeGroup>687</CodeGroup>

660 688 

661### Anklickbare Links689<h3 id="clickable-links">

690 Anklickbare Links

691</h3>

662 692 

663Dieses Beispiel erstellt einen anklickbaren Link zu Ihrem GitHub-Repository. Es liest die Git-Remote-URL, konvertiert das SSH-Format mit `sed` in HTTPS und umhüllt den Repository-Namen mit OSC 8 Escape-Codes. Halten Sie Cmd (macOS) oder Strg (Windows/Linux) gedrückt und klicken Sie, um den Link in Ihrem Browser zu öffnen.693Dieses Beispiel erstellt einen anklickbaren Link zu Ihrem GitHub-Repository. Es liest die Git-Remote-URL, konvertiert das SSH-Format mit `sed` in HTTPS und umhüllt den Repository-Namen mit OSC 8 Escape-Codes. Halten Sie Cmd (macOS) oder Strg (Windows/Linux) gedrückt und klicken Sie, um den Link in Ihrem Browser zu öffnen.

664 694 


738 ```768 ```

739</CodeGroup>769</CodeGroup>

740 770 

741### Ratenlimit-Nutzung771<h3 id="rate-limit-usage">

772 Ratenlimit-Nutzung

773</h3>

742 774 

743Zeigen Sie die Ratenlimit-Nutzung des Claude.ai-Abonnements in der Statuszeile an. Das `rate_limits` Objekt enthält `five_hour` (5-Stunden-Rollenfenster) und `seven_day` (wöchliche) Fenster. Jedes Fenster bietet `used_percentage` (0-100) und `resets_at` (Unix-Epochensekunden, wenn das Fenster zurückgesetzt wird).775Zeigen Sie die Ratenlimit-Nutzung des Claude.ai-Abonnements in der Statuszeile an. Das `rate_limits` Objekt enthält `five_hour` (5-Stunden-Rollenfenster) und `seven_day` (wöchliche) Fenster. Jedes Fenster bietet `used_percentage` (0-100) und `resets_at` (Unix-Epochensekunden, wenn das Fenster zurückgesetzt wird).

744 776 


804 ```836 ```

805</CodeGroup>837</CodeGroup>

806 838 

807### Teure Operationen zwischenspeichern839<h3 id="cache-expensive-operations">

840 Teure Operationen zwischenspeichern

841</h3>

808 842 

809Ihr Statuszeilen-Skript wird während aktiver Sitzungen häufig ausgeführt. Befehle wie `git status` oder `git diff` können langsam sein, besonders in großen Repositories. Dieses Beispiel speichert Git-Informationen in einer temporären Datei und aktualisiert sie nur alle 5 Sekunden.843Ihr Statuszeilen-Skript wird während aktiver Sitzungen häufig ausgeführt. Befehle wie `git status` oder `git diff` können langsam sein, besonders in großen Repositories. Dieses Beispiel speichert Git-Informationen in einer temporären Datei und aktualisiert sie nur alle 5 Sekunden.

810 844 


935 ```969 ```

936</CodeGroup>970</CodeGroup>

937 971 

938### Windows-Konfiguration972<h3 id="windows-configuration">

973 Windows-Konfiguration

974</h3>

939 975 

940Unter Windows führt Claude Code Statuszeilen-Befehle über Git Bash aus, wenn Git Bash installiert ist, oder über PowerShell, wenn Git Bash nicht vorhanden ist.976Unter Windows führt Claude Code Statuszeilen-Befehle über Git Bash aus, wenn Git Bash installiert ist, oder über PowerShell, wenn Git Bash nicht vorhanden ist.

941 977 


990 ```1026 ```

991</CodeGroup>1027</CodeGroup>

992 1028 

993## Subagent-Statuszeilen1029<h2 id="subagent-status-lines">

1030 Subagent-Statuszeilen

1031</h2>

994 1032 

995Die `subagentStatusLine` Einstellung rendert einen benutzerdefinierten Zeilenkörper für jeden [Subagenten](/de/sub-agents), der im Agent-Panel unterhalb der Eingabeaufforderung angezeigt wird. Verwenden Sie sie, um die Standard-`name · description · token count` Zeile durch Ihre eigene Formatierung zu ersetzen.1033Die `subagentStatusLine` Einstellung rendert einen benutzerdefinierten Zeilenkörper für jeden [Subagenten](/de/sub-agents), der im Agent-Panel unterhalb der Eingabeaufforderung angezeigt wird. Verwenden Sie sie, um die Standard-`name · description · token count` Zeile durch Ihre eigene Formatierung zu ersetzen.

996 1034 


1009 1047 

1010Die gleichen Vertrauens- und `disableAllHooks` Gates, die für `statusLine` gelten, gelten auch hier. Plugins können eine Standard-`subagentStatusLine` in ihrer [`settings.json`](/de/plugins-reference#standard-plugin-layout) versenden.1048Die gleichen Vertrauens- und `disableAllHooks` Gates, die für `statusLine` gelten, gelten auch hier. Plugins können eine Standard-`subagentStatusLine` in ihrer [`settings.json`](/de/plugins-reference#standard-plugin-layout) versenden.

1011 1049 

1012## Tipps1050<h2 id="tips">

1051 Tipps

1052</h2>

1013 1053 

1014* **Mit Mock-Eingabe testen**: `echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/user/project"},"context_window":{"used_percentage":25},"session_id":"test-session-abc"}' | ./statusline.sh`1054* **Mit Mock-Eingabe testen**: `echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/user/project"},"context_window":{"used_percentage":25},"session_id":"test-session-abc"}' | ./statusline.sh`

1015* **Ausgabe kurz halten**: Die Statusleiste hat begrenzte Breite, daher kann lange Ausgabe abgeschnitten oder unangenehm umgebrochen werden1055* **Ausgabe kurz halten**: Die Statusleiste hat begrenzte Breite, daher kann lange Ausgabe abgeschnitten oder unangenehm umgebrochen werden


1017 1057 

1018Community-Projekte wie [ccstatusline](https://github.com/sirmalloc/ccstatusline) und [starship-claude](https://github.com/martinemde/starship-claude) bieten vorkonfigurierte Konfigurationen mit Designs und zusätzlichen Funktionen.1058Community-Projekte wie [ccstatusline](https://github.com/sirmalloc/ccstatusline) und [starship-claude](https://github.com/martinemde/starship-claude) bieten vorkonfigurierte Konfigurationen mit Designs und zusätzlichen Funktionen.

1019 1059 

1020## Fehlerbehebung1060<h2 id="troubleshooting">

1061 Fehlerbehebung

1062</h2>

1021 1063 

1022**Statuszeile wird nicht angezeigt**1064**Statuszeile wird nicht angezeigt**

1023 1065 

sub-agents.md +49 −19

Details

61 * **Werkzeuge**: Schreibgeschützte Werkzeuge (kein Zugriff auf Write- und Edit-Werkzeuge)61 * **Werkzeuge**: Schreibgeschützte Werkzeuge (kein Zugriff auf Write- und Edit-Werkzeuge)

62 * **Zweck**: Codebase-Recherche für Planung62 * **Zweck**: Codebase-Recherche für Planung

63 63 

64 Wenn Sie sich im Plan-Modus befinden und Claude Ihre Codebase verstehen muss, delegiert es die Recherche an den Plan-Subagenten. Dies verhindert unendliche Verschachtelung (Subagenten können keine anderen Subagenten spawnen), während dennoch notwendiger Kontext gesammelt wird.64 Wenn Sie sich im Plan-Modus befinden und Claude Ihre Codebase verstehen muss, delegiert es die Recherche an den Plan-Subagenten, damit die Explorationsergebnisse in einem separaten Kontextfenster bleiben, während die Hauptkonversation schreibgeschützt bleibt.

65 </Tab>65 </Tab>

66 66 

67 <Tab title="General-purpose">67 <Tab title="General-purpose">


84 </Tab>84 </Tab>

85</Tabs>85</Tabs>

86 86 

87Integrierte Subagenten sind in interaktiven Sitzungen immer registriert. Um einen bestimmten integrierten Typ zu blockieren, fügen Sie ihn zu `permissions.deny` hinzu, wie in [Spezifische Subagenten deaktivieren](#disable-specific-subagents) gezeigt. Um zu verhindern, dass Claude an einen Subagenten delegiert, verweigern Sie das `Agent`-Werkzeug selbst mit [`permissions.deny`](/de/permissions#tool-specific-permission-rules). Im [nicht-interaktiven Modus](/de/headless) und dem [Agent SDK](/de/agent-sdk/overview) setzen Sie [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/de/env-vars), um alle integrierten Typen zu entfernen und nur Ihre eigenen bereitzustellen.

88 

87Über diese integrierten Subagenten hinaus können Sie Ihre eigenen mit benutzerdefinierten Prompts, Werkzeugbeschränkungen, Berechtigungsmodi, Hooks und Skills erstellen. Die folgenden Abschnitte zeigen, wie Sie anfangen und Subagenten anpassen.89Über diese integrierten Subagenten hinaus können Sie Ihre eigenen mit benutzerdefinierten Prompts, Werkzeugbeschränkungen, Berechtigungsmodi, Hooks und Skills erstellen. Die folgenden Abschnitte zeigen, wie Sie anfangen und Subagenten anpassen.

88 90 

89<h2 id="quickstart-create-your-first-subagent">91<h2 id="quickstart-create-your-first-subagent">


158 Verwenden Sie den /agents-Befehl160 Verwenden Sie den /agents-Befehl

159</h3>161</h3>

160 162 

161Der `/agents`-Befehl öffnet eine Schnittstelle mit Registerkarten zur Verwaltung von Subagenten. Die Registerkarte **Running** zeigt aktive Subagenten und ermöglicht es Ihnen, sie zu öffnen oder zu stoppen. Die Registerkarte **Library** ermöglicht es Ihnen:163Der `/agents`-Befehl öffnet eine Schnittstelle mit Registerkarten zur Verwaltung von Subagenten. Die Registerkarte **Running** zeigt aktive und kürzlich beendete Subagenten und ermöglicht es Ihnen, sie zu öffnen oder zu stoppen. Die Registerkarte **Library** ermöglicht es Ihnen:

162 164 

163* Alle verfügbaren Subagenten anzuzeigen (integriert, Benutzer, Projekt und Plugin)165* Alle verfügbaren Subagenten anzuzeigen (integriert, Benutzer, Projekt und Plugin)

164* Neue Subagenten mit geführtem Setup oder Claude-Generierung zu erstellen166* Neue Subagenten mit geführtem Setup oder Claude-Generierung zu erstellen


184 186 

185**Projekt-Subagenten** (`.claude/agents/`) sind ideal für Subagenten, die spezifisch für eine Codebase sind. Checken Sie sie in die Versionskontrolle ein, damit Ihr Team sie gemeinsam verwenden und verbessern kann.187**Projekt-Subagenten** (`.claude/agents/`) sind ideal für Subagenten, die spezifisch für eine Codebase sind. Checken Sie sie in die Versionskontrolle ein, damit Ihr Team sie gemeinsam verwenden und verbessern kann.

186 188 

187Projekt-Subagenten werden durch Aufwärts-Traversierung vom aktuellen Arbeitsverzeichnis entdeckt. Verzeichnisse, die mit `--add-dir` hinzugefügt werden, [gewähren nur Dateizugriff](/de/permissions#additional-directories-grant-file-access-not-configuration) und werden nicht nach Subagenten durchsucht. Um Subagenten über Projekte hinweg zu teilen, verwenden Sie `~/.claude/agents/` oder ein [Plugin](/de/plugins).189Projekt-Subagenten werden durch Aufwärts-Traversierung vom aktuellen Arbeitsverzeichnis entdeckt, sodass jedes `.claude/agents/`-Verzeichnis zwischen dort und dem Repository-Root gescannt wird. {/* min-version: 2.1.178 */}Ab v2.1.178 verwendet Claude Code, wenn mehr als eines dieser verschachtelten Verzeichnisse denselben `name` definiert, die Definition, die dem Arbeitsverzeichnis am nächsten liegt.

190 

191Verzeichnisse, die mit `--add-dir` hinzugefügt werden, werden ebenfalls gescannt: Ein `.claude/agents/`-Ordner in einem hinzugefügten Verzeichnis wird zusammen mit Projekt-Subagenten geladen. Siehe [Zusätzliche Verzeichnisse](/de/permissions#additional-directories-grant-file-access-not-configuration) für welche anderen Konfigurationstypen aus `--add-dir` geladen werden. Um Subagenten über Projekte hinweg zu teilen, ohne `--add-dir` zu verwenden, nutzen Sie `~/.claude/agents/` oder ein [Plugin](/de/plugins).

188 192 

189**Benutzer-Subagenten** (`~/.claude/agents/`) sind persönliche Subagenten, die in allen Ihren Projekten verfügbar sind.193**Benutzer-Subagenten** (`~/.claude/agents/`) sind persönliche Subagenten, die in allen Ihren Projekten verfügbar sind.

190 194 


282| `description` | Ja | Wann Claude an diesen Subagenten delegieren sollte |286| `description` | Ja | Wann Claude an diesen Subagenten delegieren sollte |

283| `tools` | Nein | [Werkzeuge](#available-tools), die der Subagent verwenden kann. Erbt alle Werkzeuge, wenn weggelassen. Um Skills in den Kontext zu laden, verwenden Sie das `skills`-Feld statt `Skill` hier aufzulisten |287| `tools` | Nein | [Werkzeuge](#available-tools), die der Subagent verwenden kann. Erbt alle Werkzeuge, wenn weggelassen. Um Skills in den Kontext zu laden, verwenden Sie das `skills`-Feld statt `Skill` hier aufzulisten |

284| `disallowedTools` | Nein | Werkzeuge zum Verweigern, entfernt aus geerbter oder angegebener Liste |288| `disallowedTools` | Nein | Werkzeuge zum Verweigern, entfernt aus geerbter oder angegebener Liste |

285| `model` | Nein | [Modell](#choose-a-model) zu verwenden: `sonnet`, `opus`, `haiku`, eine vollständige Modell-ID (z. B. `claude-opus-4-8`) oder `inherit`. Standard ist `inherit` |289| `model` | Nein | [Modell](#choose-a-model) zu verwenden: `sonnet`, `opus`, `haiku`, `fable`, eine vollständige Modell-ID (z. B. `claude-opus-4-8`) oder `inherit`. Standard ist `inherit` |

286| `permissionMode` | Nein | [Berechtigungsmodus](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions` oder `plan`. Ignoriert für [Plugin-Subagenten](#choose-the-subagent-scope) |290| `permissionMode` | Nein | [Berechtigungsmodus](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions` oder `plan`. Ignoriert für [Plugin-Subagenten](#choose-the-subagent-scope) |

287| `maxTurns` | Nein | Maximale Anzahl von Agenten-Turns, bevor der Subagent stoppt |291| `maxTurns` | Nein | Maximale Anzahl von Agenten-Turns, bevor der Subagent stoppt |

288| `skills` | Nein | [Skills](/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 |292| `skills` | Nein | [Skills](/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 |


301 305 

302Das `model`-Feld steuert, welches [KI-Modell](/de/model-config) der Subagent verwendet:306Das `model`-Feld steuert, welches [KI-Modell](/de/model-config) der Subagent verwendet:

303 307 

304* **Modell-Alias**: Verwenden Sie einen der verfügbaren Aliase: `sonnet`, `opus` oder `haiku`308* **Modell-Alias**: Verwenden Sie einen der verfügbaren Aliase: `sonnet`, `opus`, `haiku` oder `fable`

305* **Vollständige Modell-ID**: Verwenden Sie eine vollständige Modell-ID wie `claude-opus-4-8` oder `claude-sonnet-4-6`. Akzeptiert dieselben Werte wie das `--model`-Flag309* **Vollständige Modell-ID**: Verwenden Sie eine vollständige Modell-ID wie `claude-opus-4-8` oder `claude-sonnet-4-6`. Akzeptiert dieselben Werte wie das `--model`-Flag

306* **inherit**: Verwenden Sie dasselbe Modell wie die Hauptkonversation310* **inherit**: Verwenden Sie dasselbe Modell wie die Hauptkonversation

307* **Weggelassen**: Wenn nicht angegeben, wird standardmäßig `inherit` verwendet (verwendet dasselbe Modell wie die Hauptkonversation)311* **Weggelassen**: Wenn nicht angegeben, wird standardmäßig `inherit` verwendet (verwendet dasselbe Modell wie die Hauptkonversation)


325 329 

326Subagenten erben die [internen Werkzeuge](/de/tools-reference) und MCP-Werkzeuge, die in der Hauptkonversation verfügbar sind, standardmäßig. Die folgenden Werkzeuge hängen von der Benutzeroberfläche oder dem Sitzungszustand der Hauptkonversation ab und sind nicht für Subagenten verfügbar, auch wenn sie im `tools`-Feld aufgelistet sind:330Subagenten erben die [internen Werkzeuge](/de/tools-reference) und MCP-Werkzeuge, die in der Hauptkonversation verfügbar sind, standardmäßig. Die folgenden Werkzeuge hängen von der Benutzeroberfläche oder dem Sitzungszustand der Hauptkonversation ab und sind nicht für Subagenten verfügbar, auch wenn sie im `tools`-Feld aufgelistet sind:

327 331 

328* `Agent`

329* `AskUserQuestion`332* `AskUserQuestion`

330* `EnterPlanMode`333* `EnterPlanMode`

331* `ExitPlanMode`, es sei denn, der [`permissionMode`](#permission-modes) des Subagenten ist `plan`334* `ExitPlanMode`, es sei denn, der [`permissionMode`](#permission-modes) des Subagenten ist `plan`


354 357 

355Wenn beide gesetzt sind, wird `disallowedTools` zuerst angewendet, dann wird `tools` gegen den verbleibenden Pool aufgelöst. Ein Werkzeug, das in beiden aufgelistet ist, wird entfernt.358Wenn beide gesetzt sind, wird `disallowedTools` zuerst angewendet, dann wird `tools` gegen den verbleibenden Pool aufgelöst. Ein Werkzeug, das in beiden aufgelistet ist, wird entfernt.

356 359 

360Beide Felder akzeptieren MCP-Server-Level-Muster zusätzlich zu exakten Werkzeugnamen: `mcp__<server>` oder `mcp__<server>__*` gewährt oder entfernt jedes Werkzeug vom benannten Server. In `disallowedTools` entfernt `mcp__*` auch jedes MCP-Werkzeug von jedem Server. Dieses Beispiel entfernt jedes Werkzeug vom `github` MCP-Server, während Werkzeuge von anderen Servern und jedes integrierte Werkzeug beibehalten werden:

361 

362```yaml theme={null}

363---

364name: local-only

365description: Inherits every tool except those from the github MCP server

366disallowedTools: mcp__github

367---

368```

369 

357<h4 id="restrict-which-subagents-can-be-spawned">370<h4 id="restrict-which-subagents-can-be-spawned">

358 Beschränken Sie, welche Subagenten gespawnt werden können371 Beschränken Sie, welche Subagenten gespawnt werden können

359</h4>372</h4>


378tools: Agent, Read, Bash391tools: Agent, Read, Bash

379```392```

380 393 

381Wenn `Agent` vollständig aus der `tools`-Liste weggelassen wird, kann der Agent keine Subagenten spawnen. Diese Einschränkung gilt nur für Agenten, die als Hauptthread mit `claude --agent` laufen. Subagenten können keine anderen Subagenten spawnen, daher hat `Agent(agent_type)` keine Auswirkung in Subagenten-Definitionen.394Wenn `Agent` vollständig aus der `tools`-Liste weggelassen wird, kann der Agent keine Subagenten spawnen.

395 

396Die `Agent(agent_type)`-Allowlist-Syntax gilt nur für einen Agent, der als Hauptthread mit `claude --agent` läuft. In einer Subagenten-Definition ermöglicht das Auflisten von `Agent` in `tools` diesem Subagenten, [verschachtelte Subagenten zu spawnen](#spawn-nested-subagents), aber jede Typenliste in den Klammern wird ignoriert.

382 397 

383<h4 id="scope-mcp-servers-to-a-subagent">398<h4 id="scope-mcp-servers-to-a-subagent">

384 Umfang von MCP-Servern auf einen Subagenten399 Umfang von MCP-Servern auf einen Subagenten


444| `plan` | Plan-Modus (schreibgeschützte Exploration) |459| `plan` | Plan-Modus (schreibgeschützte Exploration) |

445 460 

446<Warning>461<Warning>

447 Verwenden Sie `bypassPermissions` mit Vorsicht. Es überspringt Berechtigungsaufforderungen und ermöglicht dem Subagenten, Operationen ohne Genehmigung auszuführen, einschließlich Schreibvorgänge in `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` und `.mvn`. Entfernungen im Root- und Home-Verzeichnis wie `rm -rf /` werden weiterhin als Schutzschalter aufgefordert. Siehe [Berechtigungsmodi](/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) für Details.462 Verwenden Sie `bypassPermissions` mit Vorsicht. Es überspringt Berechtigungsaufforderungen und ermöglicht dem Subagenten, Operationen ohne Genehmigung auszuführen, einschließlich Schreibvorgänge in `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` und `.mvn`. Explizite [`ask`-Regeln](/de/permissions#manage-permissions) und Root- und Home-Verzeichnis-Entfernungen wie `rm -rf /` werden weiterhin aufgefordert. Siehe [Berechtigungsmodi](/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) für Details.

448</Warning>463</Warning>

449 464 

450Wenn das übergeordnete Element `bypassPermissions` oder `acceptEdits` verwendet, hat dies Vorrang und kann nicht überschrieben werden. Wenn das übergeordnete Element den [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) verwendet, erbt der Subagent den Auto-Modus und jedes `permissionMode` in seinem Frontmatter wird ignoriert: der Klassifizierer bewertet die Werkzeugaufrufe des Subagenten mit denselben Block- und Zulassungsregeln wie die übergeordnete Sitzung.465Wenn das übergeordnete Element `bypassPermissions` oder `acceptEdits` verwendet, hat dies Vorrang und kann nicht überschrieben werden. Wenn das übergeordnete Element den [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) verwendet, erbt der Subagent den Auto-Modus und jedes `permissionMode` in seinem Frontmatter wird ignoriert: der Klassifizierer bewertet die Werkzeugaufrufe des Subagenten mit denselben Block- und Zulassungsregeln wie die übergeordnete Sitzung.


761 776 

762Um alle Hintergrund-Aufgaben-Funktionalität zu deaktivieren, setzen Sie die Umgebungsvariable `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` auf `1`. Siehe [Umgebungsvariablen](/de/env-vars).777Um alle Hintergrund-Aufgaben-Funktionalität zu deaktivieren, setzen Sie die Umgebungsvariable `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` auf `1`. Siehe [Umgebungsvariablen](/de/env-vars).

763 778 

764Wenn [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) gesetzt ist, wird jeder Subagenten-Spawn im Hintergrund ausgeführt, unabhängig vom `background`-Feld. Forks zeigen weiterhin Berechtigungsaufforderungen in Ihrem Terminal an, wenn sie auftreten; benannte Subagenten lehnen automatisch alles ab, was eine Aufforderung auslösen würde, wie oben beschrieben.779Wenn [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) auf `1` gesetzt ist, wird jeder Subagenten-Spawn im Hintergrund ausgeführt, unabhängig vom `background`-Feld. Forks zeigen weiterhin Berechtigungsaufforderungen in Ihrem Terminal an, wenn sie auftreten; benannte Subagenten lehnen automatisch alles ab, was eine Aufforderung auslösen würde, wie oben beschrieben.

765 780 

766<h3 id="common-patterns">781<h3 id="common-patterns">

767 Häufige Muster782 Häufige Muster


826 841 

827Für eine schnelle Frage zu etwas, das bereits in Ihrer Konversation ist, verwenden Sie stattdessen [`/btw`](/de/interactive-mode#side-questions-with-%2Fbtw). Es sieht Ihren vollständigen Kontext, hat aber keinen Werkzeugzugriff, und die Antwort wird verworfen, anstatt zur Historie hinzugefügt zu werden.842Für eine schnelle Frage zu etwas, das bereits in Ihrer Konversation ist, verwenden Sie stattdessen [`/btw`](/de/interactive-mode#side-questions-with-%2Fbtw). Es sieht Ihren vollständigen Kontext, hat aber keinen Werkzeugzugriff, und die Antwort wird verworfen, anstatt zur Historie hinzugefügt zu werden.

828 843 

829<Note>844<h3 id="spawn-nested-subagents">

830 Subagenten können keine anderen Subagenten spawnen. Wenn Ihr Workflow verschachtelte Delegation erfordert, verwenden Sie [Skills](/de/skills) oder [verketten Sie Subagenten](#chain-subagents) von der Hauptkonversation.845 Spawnen Sie verschachtelte Subagenten

831</Note>846</h3>

847 

848{/* min-version: 2.1.172 */}Ab Claude Code v2.1.172 kann ein Subagent seine eigenen Subagenten spawnen. Verwenden Sie dies, wenn sich eine delegierte Aufgabe selbst in parallele Unteraufgaben aufteilt, z. B. ein Reviewer-Subagent, der einen Verifier pro Befund versendet, sodass die Zwischenausgabe niemals Ihre Hauptkonversation erreicht. Nur die Zusammenfassung des Top-Level-Subagenten kehrt zu Ihnen zurück.

849 

850Ein verschachtelter Subagent wird genauso konfiguriert wie ein Top-Level-Subagent und wird aus denselben [Scopes](#choose-the-subagent-scope) aufgelöst. Das Subagenten-Panel unter der Eingabeaufforderung zeigt den vollständigen Baum: Jede Zeile zeigt eine `(+N)`-Anzahl von Nachkommen, und das Öffnen einer Zeile zeigt die direkten Kinder dieses Subagenten mit einem Pfad zurück zu `main`. Die Registerkarte „Running" in [`/agents`](#use-the-%2Fagents-command) listet laufende Subagenten als flache Liste auf.

851 

852Die Tiefe wird als die Anzahl der Subagenten-Ebenen unter der Hauptkonversation gezählt, unabhängig davon, ob jede Ebene im [Vordergrund oder Hintergrund](#run-subagents-in-foreground-or-background) ausgeführt wird:

853 

854* **Vordergrund-Subagenten**: können in jeder Tiefe spawnen. Jede Ebene blockiert ihren übergeordneten Knoten, bis er zurückkehrt, daher ist die Kette selbstbegrenzend: Die Hauptkonversation wartet auf die gesamte Kette.

855* **Hintergrund-Subagenten**: Ein Hintergrund-Subagent in Tiefe fünf erhält das Agent-Werkzeug nicht und kann nicht weiter spawnen. Das Limit ist fest und nicht konfigurierbar und existiert, um unkontrollierte gleichzeitige Bäume zu verhindern.

856 

857Um zu verhindern, dass ein bestimmter Subagent andere spawnt, lassen Sie `Agent` aus seiner [`tools`](#available-tools)-Liste weg oder fügen Sie es zu `disallowedTools` hinzu.

858 

859Ein [Fork](#fork-the-current-conversation) kann immer noch keinen anderen Fork spawnen. Er kann andere Subagenten-Typen spawnen, und diese zählen zum Tiefenlimit.

832 860 

833<h3 id="manage-subagent-context">861<h3 id="manage-subagent-context">

834 Verwalten Sie den Subagenten-Kontext862 Verwalten Sie den Subagenten-Kontext


860 888 

861Fortgesetzte Subagenten behalten ihre vollständige Konversationshistorie, einschließlich aller vorherigen Werkzeugaufrufe, Ergebnisse und Überlegungen. Der Subagent setzt genau dort an, wo er gestoppt hat, anstatt von vorne zu beginnen.889Fortgesetzte Subagenten behalten ihre vollständige Konversationshistorie, einschließlich aller vorherigen Werkzeugaufrufe, Ergebnisse und Überlegungen. Der Subagent setzt genau dort an, wo er gestoppt hat, anstatt von vorne zu beginnen.

862 890 

863Wenn ein Subagent abgeschlossen ist, erhält Claude seine Agent-ID. Claude verwendet das `SendMessage`-Werkzeug mit der Agent-ID des Agenten als `to`-Feld, um ihn fortzusetzen. Das `SendMessage`-Werkzeug ist nur verfügbar, wenn [Agent-Teams](/de/agent-teams) über `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` aktiviert sind.891Wenn ein Subagent abgeschlossen ist, erhält Claude seine Agent-ID. Die integrierten Explore- und Plan-Agenten sind einmalig und geben keine Agent-ID zurück, daher können sie nicht fortgesetzt werden; verwenden Sie `general-purpose` oder einen benutzerdefinierten Subagenten, wenn Sie die Arbeit fortsetzen müssen. Claude verwendet das `SendMessage`-Werkzeug mit der Agent-ID des Agenten als `to`-Feld, um ihn fortzusetzen. Das `SendMessage`-Werkzeug ist nur verfügbar, wenn [Agent-Teams](/de/agent-teams) über `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` aktiviert sind.

864 892 

865Um einen Subagenten fortzusetzen, bitten Sie Claude, die vorherige Arbeit fortzusetzen:893Um einen Subagenten fortzusetzen, bitten Sie Claude, die vorherige Arbeit fortzusetzen:

866 894 


886 Auto-Komprimierung914 Auto-Komprimierung

887</h4>915</h4>

888 916 

889Subagenten unterstützen automatische Komprimierung mit derselben Logik wie die Hauptkonversation. Standardmäßig wird die Auto-Komprimierung bei ungefähr 95 % Kapazität ausgelöst. Um die Komprimierung früher auszulösen, setzen Sie `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` auf einen niedrigeren Prozentsatz (z. B. `50`). Siehe [Umgebungsvariablen](/de/env-vars) für Details.917Subagenten unterstützen automatische Komprimierung mit derselben Logik wie die Hauptkonversation. Die Komprimierung wird unter denselben Bedingungen ausgelöst, und `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` gilt auch für Subagenten. Siehe [Umgebungsvariablen](/de/env-vars) für den Zeitpunkt, zu dem die Überschreibung wirksam wird.

890 918 

891Komprimierungsereignisse werden in Subagenten-Transkriptdateien protokolliert:919Komprimierungsereignisse werden in Subagenten-Transkriptdateien protokolliert:

892 920 


908</h2>936</h2>

909 937 

910<Note>938<Note>

911 Gegabelte Subagenten erfordern Claude Code v2.1.117 oder später. {/* min-version: 2.1.161 */}Ab v2.1.161 ist der `/fork`-Befehl standardmäßig aktiviert; in früheren Versionen ist die Umgebungsvariable [`CLAUDE_CODE_FORK_SUBAGENT`](/de/env-vars) auf `1` erforderlich. Das Forking als *Standard*-Spawn-Verhalten des Modells ist experimentell und kann sich in zukünftigen Versionen ändern; aktivieren Sie es, indem Sie dieselbe Variable setzen. Die Variable wird im interaktiven Modus und über das SDK oder `claude -p` berücksichtigt.939 Gegabelte Subagenten erfordern Claude Code v2.1.117 oder später. {/* min-version: 2.1.161 */}Ab v2.1.161 ist der `/fork`-Befehl standardmäßig aktiviert; in früheren Versionen ist die Umgebungsvariable [`CLAUDE_CODE_FORK_SUBAGENT`](/de/env-vars) auf `1` erforderlich. Das Spawning von Forks durch Claude selbst ist experimentell und kann sich in zukünftigen Versionen ändern. Diese Funktion kann auch in interaktiven Sitzungen als Teil eines gestaffelten Rollouts aktiviert werden.

912</Note>940</Note>

913 941 

914Ein Fork ist ein Subagent, der die gesamte bisherige Konversation erbt, anstatt von vorne zu beginnen. Dies lässt die Eingabe-Isolierung fallen, die Subagenten ansonsten bieten: Ein Fork sieht denselben Systemprompt, dieselben Werkzeuge, dasselbe Modell und die Nachrichtenhistorie wie die Hauptsitzung, sodass Sie ihm eine Nebenaufgabe übergeben können, ohne die Situation erneut zu erklären. Die eigenen Werkzeugaufrufe des Forks bleiben weiterhin aus Ihrer Konversation heraus und nur sein endgültiges Ergebnis kommt zurück, sodass Ihr Hauptkontextfenster sauber bleibt. Verwenden Sie einen Fork, wenn ein benannter Subagent zu viel Hintergrund benötigen würde, um nützlich zu sein, oder wenn Sie mehrere Ansätze parallel vom gleichen Ausgangspunkt aus versuchen möchten.942Ein Fork ist ein Subagent, der die gesamte bisherige Konversation erbt, anstatt von vorne zu beginnen. Dies lässt die Eingabe-Isolierung fallen, die Subagenten ansonsten bieten: Ein Fork sieht denselben Systemprompt, dieselben Werkzeuge, dasselbe Modell und die Nachrichtenhistorie wie die Hauptsitzung, sodass Sie ihm eine Nebenaufgabe übergeben können, ohne die Situation erneut zu erklären. Die eigenen Werkzeugaufrufe des Forks bleiben weiterhin aus Ihrer Konversation heraus und nur sein endgültiges Ergebnis kommt zurück, sodass Ihr Hauptkontextfenster sauber bleibt. Verwenden Sie einen Fork, wenn ein benannter Subagent zu viel Hintergrund benötigen würde, um nützlich zu sein, oder wenn Sie mehrere Ansätze parallel vom gleichen Ausgangspunkt aus versuchen möchten.

915 943 

916Das Setzen von `CLAUDE_CODE_FORK_SUBAGENT` ändert Claude Code auf zwei Arten:944Um den Fork-Modus unabhängig vom gestaffelten Rollout zu steuern, setzen Sie [`CLAUDE_CODE_FORK_SUBAGENT`](/de/env-vars) auf `1`, um ihn explizit zu aktivieren, oder auf `0`, um ihn zu deaktivieren. Die Variable wird im interaktiven Modus und über das SDK oder `claude -p` berücksichtigt.

945 

946Das Aktivieren des Fork-Modus ändert Claude Code auf zwei Arten:

917 947 

918* Claude spawnt einen Fork, wann immer es sonst den [allgemeinen](#built-in-subagents)-Subagenten verwenden würde. Benannte Subagenten wie Explore werden weiterhin wie zuvor gespawnt.948* Claude kann einen Fork spawnen, indem es den `fork`-Subagenten-Typ explizit anfordert. Spawns ohne einen Subagenten-Typ verwenden weiterhin den [allgemeinen](#built-in-subagents)-Subagenten, und benannte Subagenten wie Explore werden weiterhin wie zuvor gespawnt.

919* Jeder Subagenten-Spawn wird im [Hintergrund](#run-subagents-in-foreground-or-background) ausgeführt, unabhängig davon, ob es sich um einen Fork oder einen benannten Subagenten handelt. Setzen Sie `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` auf `1`, um Spawns synchron zu halten.949* Jeder Subagenten-Spawn wird im [Hintergrund](#run-subagents-in-foreground-or-background) ausgeführt, unabhängig davon, ob es sich um einen Fork oder einen benannten Subagenten handelt. Setzen Sie `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` auf `1`, um Spawns synchron zu halten.

920 950 

921Sie können einen Fork selbst mit `/fork` gefolgt von einer Direktive starten, unabhängig davon, ob die Variable gesetzt ist oder nicht. Claude Code benennt den Fork aus den ersten Worten der Direktive. Das folgende Beispiel gabelt die Konversation, um Testfälle zu entwerfen, während Sie mit der Implementierung in der Hauptsitzung fortfahren:951Sie können einen Fork selbst mit `/fork` gefolgt von einer Direktive starten, unabhängig davon, ob die Variable gesetzt ist oder nicht. Claude Code benennt den Fork aus den ersten Worten der Direktive. Das folgende Beispiel gabelt die Konversation, um Testfälle zu entwerfen, während Sie mit der Implementierung in der Hauptsitzung fortfahren:


953| Berechtigungen | Aufforderungen erscheinen in Ihrem Terminal | [Automatisch abgelehnt](#run-subagents-in-foreground-or-background) bei Ausführung im Hintergrund |983| Berechtigungen | Aufforderungen erscheinen in Ihrem Terminal | [Automatisch abgelehnt](#run-subagents-in-foreground-or-background) bei Ausführung im Hintergrund |

954| Prompt-Cache | Mit Hauptsitzung geteilt | Separater Cache |984| Prompt-Cache | Mit Hauptsitzung geteilt | Separater Cache |

955 985 

956Da der Systemprompt und die Werkzeugdefinitionen eines Forks identisch mit dem übergeordneten Element sind, wird seine erste Anfrage den Prompt-Cache des übergeordneten Elements wiederverwenden. Dies macht das Forking billiger als das Spawnen eines frischen Subagenten für Aufgaben, die denselben Kontext benötigen.986Da der Systemprompt und die Werkzeugdefinitionen eines Forks identisch mit dem übergeordneten Element sind, wird seine erste Anfrage den [Prompt-Cache](/de/prompt-caching#subagents-and-the-cache) des übergeordneten Elements wiederverwenden. Dies macht das Forking billiger als das Spawnen eines frischen Subagenten für Aufgaben, die denselben Kontext benötigen.

957 987 

958Wenn Claude einen Fork durch das Agent-Werkzeug spawnt, kann es `isolation: "worktree"` übergeben, sodass die Dateibearbeitungen des Forks in einen separaten Git-Worktree geschrieben werden, anstatt in Ihren Checkout.988Wenn Claude einen Fork durch das Agent-Werkzeug spawnt, kann es `isolation: "worktree"` übergeben, sodass die Dateibearbeitungen des Forks in einen separaten Git-Worktree geschrieben werden, anstatt in Ihren Checkout.

959 989 


961 Einschränkungen991 Einschränkungen

962</h3>992</h3>

963 993 

964Das Setzen von `CLAUDE_CODE_FORK_SUBAGENT=1` aktiviert den Fork-Modus in interaktiven Sitzungen, im [nicht-interaktiven Modus](/de/headless) und im Agent SDK. Ein Fork kann keine weiteren Forks spawnen.994Das Setzen von `CLAUDE_CODE_FORK_SUBAGENT=1` aktiviert den Fork-Modus in interaktiven Sitzungen, im [nicht-interaktiven Modus](/de/headless) und im Agent SDK; das Setzen auf `0` deaktiviert den Fork-Modus überall, einschließlich jedes serverseitigen Rollouts. Ein Fork kann keine weiteren Forks spawnen.

965 995 

966<h2 id="example-subagents">996<h2 id="example-subagents">

967 Beispiel-Subagenten997 Beispiel-Subagenten

Details

6 6 

7> Erfahren Sie, wie Claude Code mit verschiedenen Drittanbieterdiensten und Infrastrukturen integriert werden kann, um Enterprise-Bereitstellungsanforderungen zu erfüllen.7> Erfahren Sie, wie Claude Code mit verschiedenen Drittanbieterdiensten und Infrastrukturen integriert werden kann, um Enterprise-Bereitstellungsanforderungen zu erfüllen.

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

9Organisationen können Claude Code direkt über Anthropic oder über einen Cloud-Anbieter bereitstellen. Diese Seite hilft Ihnen, die richtige Konfiguration auszuwählen.79Organisationen können Claude Code direkt über Anthropic oder über einen Cloud-Anbieter bereitstellen. Diese Seite hilft Ihnen, die richtige Konfiguration auszuwählen.

10 80 

81<ContactSalesCard surface="third_party_overview" />

82 

11<h2 id="compare-deployment-options">83<h2 id="compare-deployment-options">

12 Bereitstellungsoptionen vergleichen84 Bereitstellungsoptionen vergleichen

13</h2>85</h2>


271 Pinnen Sie Modellversionen für Cloud-Anbieter343 Pinnen Sie Modellversionen für Cloud-Anbieter

272</h3>344</h3>

273 345 

274Wenn Sie über [Bedrock](/de/amazon-bedrock), [Vertex AI](/de/google-vertex-ai), [Foundry](/de/microsoft-foundry) oder [Claude Platform on AWS](/de/claude-platform-on-aws) bereitstellen, pinnen Sie spezifische Modellversionen mit `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL` und `ANTHROPIC_DEFAULT_HAIKU_MODEL`. Ohne Pinning werden Modellaliase zur neuesten Version aufgelöst, die möglicherweise noch nicht in Ihrem Konto aktiviert ist, wenn Anthropic ein Update veröffentlicht. Pinning ermöglicht es Ihnen, zu kontrollieren, wann Ihre Benutzer zu einem neuen Modell wechseln. Siehe [Modellkonfiguration](/de/model-config#pin-models-for-third-party-deployments) für Details zu dem, was jeder Anbieter tut, wenn die neueste Version nicht verfügbar ist.346Wenn Sie über [Bedrock](/de/amazon-bedrock), [Vertex AI](/de/google-vertex-ai), [Foundry](/de/microsoft-foundry) oder [Claude Platform on AWS](/de/claude-platform-on-aws) bereitstellen, pinnen Sie spezifische Modellversionen mit `ANTHROPIC_DEFAULT_FABLE_MODEL`, `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL` und `ANTHROPIC_DEFAULT_HAIKU_MODEL`. Ohne Pinning werden Modellaliase zu Claude Codes integriertem Standard für diesen Anbieter aufgelöst, was hinter der neuesten Version zurückbleiben kann und möglicherweise noch nicht in Ihrem Konto aktiviert ist. Pinning ermöglicht es Ihnen, zu kontrollieren, wann Ihre Benutzer zu einem neuen Modell wechseln. Siehe [Modellkonfiguration](/de/model-config#pin-models-for-third-party-deployments) für Details zu dem, was jeder Anbieter tut, wenn die Standardversion nicht verfügbar ist.

275 347 

276<h3 id="configure-security-policies">348<h3 id="configure-security-policies">

277 Konfigurieren Sie Sicherheitsrichtlinien349 Konfigurieren Sie Sicherheitsrichtlinien

Details

44| `TaskOutput` | (Veraltet) Ruft Ausgabe von einer Hintergrundaufgabe ab. Bevorzugen Sie `Read` auf dem Ausgabedateipfad der Aufgabe | Nein |44| `TaskOutput` | (Veraltet) Ruft Ausgabe von einer Hintergrundaufgabe ab. Bevorzugen Sie `Read` auf dem Ausgabedateipfad der Aufgabe | Nein |

45| `TaskStop` | Beendet eine laufende Hintergrundaufgabe nach ID | Nein |45| `TaskStop` | Beendet eine laufende Hintergrundaufgabe nach ID | Nein |

46| `TaskUpdate` | Aktualisiert Aufgabenstatus, Abhängigkeiten, Details oder löscht Aufgaben | Nein |46| `TaskUpdate` | Aktualisiert Aufgabenstatus, Abhängigkeiten, Details oder löscht Aufgaben | Nein |

47| `TeamCreate` | Erstellt ein [Agent-Team](/de/agent-teams) mit mehreren Mitarbeitern. Nur verfügbar, wenn `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` gesetzt ist | Nein |

48| `TeamDelete` | Löst ein Agent-Team auf und bereinigt Mitarbeiterprozesse. Nur verfügbar, wenn `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` gesetzt ist | Nein |

49| `TodoWrite` | {/* min-version: 2.1.142 */}Verwaltet die Sitzungs-Aufgabenliste. Standardmäßig ab v2.1.142 deaktiviert zugunsten von `TaskCreate`, `TaskGet`, `TaskList` und `TaskUpdate`. Setzen Sie `CLAUDE_CODE_ENABLE_TASKS=0`, um es erneut zu aktivieren | Nein |47| `TodoWrite` | {/* min-version: 2.1.142 */}Verwaltet die Sitzungs-Aufgabenliste. Standardmäßig ab v2.1.142 deaktiviert zugunsten von `TaskCreate`, `TaskGet`, `TaskList` und `TaskUpdate`. Setzen Sie `CLAUDE_CODE_ENABLE_TASKS=0`, um es erneut zu aktivieren | Nein |

50| `ToolSearch` | Sucht nach verschobenen Werkzeugen und lädt sie, wenn [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) aktiviert ist | Nein |48| `ToolSearch` | Sucht nach verschobenen Werkzeugen und lädt sie, wenn [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) aktiviert ist | Nein |

51| `WaitForMcpServers` | {/* min-version: 2.1.142 */}Wartet auf einen oder mehrere [MCP-Server](/de/mcp), die noch im Hintergrund verbunden werden, damit eine Anfrage ihre Werkzeuge verwenden kann, ohne die Sitzung neu zu starten. Claude ruft es auf, wenn ein benötigter Server noch nicht verbunden ist. Wird nur angezeigt, wenn [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) deaktiviert ist, da `ToolSearch` das Warten handhabt, wenn es aktiviert ist | Nein |49| `WaitForMcpServers` | {/* min-version: 2.1.142 */}Wartet auf einen oder mehrere [MCP-Server](/de/mcp), die noch im Hintergrund verbunden werden, damit eine Anfrage ihre Werkzeuge verwenden kann, ohne die Sitzung neu zu starten. Claude ruft es auf, wenn ein benötigter Server noch nicht verbunden ist. Wird nur angezeigt, wenn [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) deaktiviert ist, da `ToolSearch` das Warten handhabt, wenn es aktiviert ist | Nein |


70Alle diese akzeptieren das gleiche Regelformat, `ToolName(specifier)`. Der Specifier hängt vom Werkzeug ab, und mehrere Werkzeuge teilen ein Format:68Alle diese akzeptieren das gleiche Regelformat, `ToolName(specifier)`. Der Specifier hängt vom Werkzeug ab, und mehrere Werkzeuge teilen ein Format:

71 69 

72| Regelformat | Gilt für | Details |70| Regelformat | Gilt für | Details |

73| :----------------------------- | :------------------------ | :---------------------------------------------------------------- |71| :----------------------------- | :------------------------ | :------------------------------------------------------------------------ |

74| `Bash(npm run *)` | Bash, Monitor | [Befehlsmuster-Matching](/de/permissions#bash) |72| `Bash(npm run *)` | Bash, Monitor | [Befehlsmuster-Matching](/de/permissions#bash) |

75| `PowerShell(Get-ChildItem *)` | PowerShell | [Befehlsmuster-Matching](/de/permissions#powershell) |73| `PowerShell(Get-ChildItem *)` | PowerShell | [Befehlsmuster-Matching](/de/permissions#powershell) |

76| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Pfadmuster-Matching](/de/permissions#read-and-edit) |74| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Pfadmuster-Matching](/de/permissions#read-and-edit) |

77| `Edit(/src/**)` | Edit, Write, NotebookEdit | [Pfadmuster-Matching](/de/permissions#read-and-edit) |75| `Edit(/src/**)` | Edit, Write, NotebookEdit | [Pfadmuster-Matching](/de/permissions#read-and-edit) |

78| `Skill(deploy *)` | Skill | [Skill-Namen-Matching](/de/skills#restrict-claude's-skill-access) |76| `Skill(deploy *)` | Skill | [Skill-Namen-Matching](/de/skills#restrict-claude%E2%80%99s-skill-access) |

79| `Agent(Explore)` | Agent | [Subagenten-Typ-Matching](/de/permissions#agent-subagents) |77| `Agent(Explore)` | Agent | [Subagenten-Typ-Matching](/de/permissions#agent-subagents) |

80| `WebFetch(domain:example.com)` | WebFetch | [Domain-Matching](/de/permissions#webfetch) |78| `WebFetch(domain:example.com)` | WebFetch | [Domain-Matching](/de/permissions#webfetch) |

81| `WebSearch` | WebSearch | Kein Specifier; Werkzeug als Ganzes zulassen oder ablehnen |79| `WebSearch` | WebSearch | Kein Specifier; Werkzeug als Ganzes zulassen oder ablehnen |


186* Sprung zu einer Symbol-Definition184* Sprung zu einer Symbol-Definition

187* Suche nach allen Referenzen zu einem Symbol185* Suche nach allen Referenzen zu einem Symbol

188* Typinformationen an einer Position abrufen186* Typinformationen an einer Position abrufen

189* Symbole in einer Datei oder im Workspace auflisten187* Symbole in einer Datei auflisten

188* Suche nach einem Symbol nach Name im gesamten Workspace

190* Implementierungen einer Schnittstelle finden189* Implementierungen einer Schnittstelle finden

191* Aufrufen-Hierarchien verfolgen190* Aufrufen-Hierarchien verfolgen

192 191 


305* Antworten werden 15 Minuten lang zwischengespeichert, daher geben wiederholte Abrufe derselben URL schnell zurück.304* Antworten werden 15 Minuten lang zwischengespeichert, daher geben wiederholte Abrufe derselben URL schnell zurück.

306* Wenn eine URL zu einem anderen Host umleitet, gibt WebFetch ein Textergebnis zurück, das die ursprüngliche URL und das Umleitungsziel benennt, anstatt es zu folgen. Claude ruft dann die neue URL mit einem zweiten WebFetch-Aufruf ab.305* Wenn eine URL zu einem anderen Host umleitet, gibt WebFetch ein Textergebnis zurück, das die ursprüngliche URL und das Umleitungsziel benennt, anstatt es zu folgen. Claude ruft dann die neue URL mit einem zweiten WebFetch-Aufruf ab.

307 306 

308In den Standard- und `acceptEdits`-Berechtigungsmodi fordert WebFetch das erste Mal auf, wenn es eine neue Domain erreicht. Um eine Domain im Voraus ohne Aufforderung zuzulassen, fügen Sie eine Berechtigungsregel wie `WebFetch(domain:example.com)` hinzu. Die `auto`- und `bypassPermissions`-[Berechtigungsmodi](/de/permissions#permission-modes) überspringen die Aufforderung vollständig.307In den Standard- und `acceptEdits`-Berechtigungsmodi fordert WebFetch das erste Mal auf, wenn es eine neue Domain erreicht, mit Ausnahme einer integrierten Gruppe von vorab genehmigten Dokumentationsdomains, die ohne Aufforderung abgerufen werden. Um eine andere Domain im Voraus ohne Aufforderung zuzulassen, fügen Sie eine Berechtigungsregel wie `WebFetch(domain:example.com)` hinzu. Die `auto`- und `bypassPermissions`-[Berechtigungsmodi](/de/permissions#permission-modes) überspringen die Aufforderung vollständig.

308 

309Eine explizite `WebFetch(domain:...)`-Regel in `deny`, `ask` oder `allow` hat Vorrang vor der vorab genehmigten Gruppe, sodass Sie eine vorab genehmigte Domain blockieren oder eine Aufforderung dafür verlangen können.

309 310 

310WebFetch setzt einen `User-Agent`-Header, der mit `Claude-User` beginnt, und einen `Accept`-Header, der Markdown gegenüber HTML bevorzugt, damit Server, die Content-Negotiation unterstützen, Markdown direkt zurückgeben können. [Sandbox](/de/sandboxing)-Netzwerkregeln werden separat konfiguriert, daher benötigt eine Domain, die ein Sandbox-Prozess erreichen soll, immer noch eine explizite Sandbox-Berechtigungsregel.311WebFetch setzt einen `User-Agent`-Header, der mit `Claude-User` beginnt, und einen `Accept`-Header, der Markdown gegenüber HTML bevorzugt, damit Server, die Content-Negotiation unterstützen, Markdown direkt zurückgeben können. [Sandbox](/de/sandboxing)-Netzwerkregeln werden separat konfiguriert, daher benötigt eine Domain, die ein Sandbox-Prozess erreichen soll, immer noch eine explizite Sandbox-Berechtigungsregel.

311 312 


313 WebSearch-Werkzeugverhalten314 WebSearch-Werkzeugverhalten

314</h2>315</h2>

315 316 

316WebSearch führt eine Abfrage gegen Anthropics [Web-Suche](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)-Backend aus und gibt Ergebnistitel und URLs zurück. Es ruft die Ergebnisseiten nicht ab. Um eine Seite zu lesen, die Claude in Suchergebnissen findet, folgt es mit [WebFetch](#webfetch-tool-behavior) auf.317WebSearch führt eine Abfrage gegen Anthropics [Web-Suche](https://platform.claude.com/docs/de/agents-and-tools/tool-use/web-search-tool)-Backend aus und gibt Ergebnistitel und URLs zurück. Es ruft die Ergebnisseiten nicht ab. Um eine Seite zu lesen, die Claude in Suchergebnissen findet, folgt es mit [WebFetch](#webfetch-tool-behavior) auf.

317 318 

318Das Werkzeug kann bis zu acht Backend-Suchen pro Aufruf durchführen und die Suche intern verfeinern, bevor Ergebnisse zurückgegeben werden. Claude kann Ergebnisse mit `allowed_domains` eingrenzen, um nur bestimmte Hosts einzuschließen, oder `blocked_domains`, um sie auszuschließen. Die beiden Listen können nicht in einem einzelnen Aufruf kombiniert werden.319Das Werkzeug kann bis zu acht Backend-Suchen pro Aufruf durchführen und die Suche intern verfeinern, bevor Ergebnisse zurückgegeben werden. Claude kann Ergebnisse mit `allowed_domains` eingrenzen, um nur bestimmte Hosts einzuschließen, oder `blocked_domains`, um sie auszuschließen. Die beiden Listen können nicht in einem einzelnen Aufruf kombiniert werden.

319 320 


349 350 

350Claude gibt eine Zusammenfassung im Gesprächsstil. Für genaue MCP-Werkzeugnamen führen Sie `/mcp` aus.351Claude gibt eine Zusammenfassung im Gesprächsstil. Für genaue MCP-Werkzeugnamen führen Sie `/mcp` aus.

351 352 

353<Note>

354 Das [Advisor-Tool](/de/advisor) ist ein [Server-Tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool), das die API ausführt, anstatt ein Tool, das Claude Code implementiert. Es hat keinen Namen, auf den Sie in Berechtigungsregeln oder Hook-Matchern verweisen können.

355</Note>

356 

352<h2 id="see-also">357<h2 id="see-also">

353 Siehe auch358 Siehe auch

354</h2>359</h2>

Details

4 4 

5# Installationsfehler und Anmeldungsprobleme beheben5# Installationsfehler und Anmeldungsprobleme beheben

6 6 

7> Beheben Sie Fehler wie „Befehl nicht gefunden, PATH, Berechtigungen, Netzwerk und Authentifizierungsfehler bei der Installation oder Anmeldung bei Claude Code.7> Beheben Sie Fehler wie „Befehl nicht gefunden", PATH, Berechtigungen, Netzwerk und Authentifizierungsfehler bei der Installation oder Anmeldung bei Claude Code.

8 8 

9Wenn die Installation fehlschlägt oder Sie sich nicht anmelden können, finden Sie Ihren Fehler unten. Für Laufzeitprobleme nach der Installation von Claude Code siehe [Fehlerbehebung](/de/troubleshooting). Für Konfigurationsprobleme wie nicht angewendete Einstellungen oder nicht ausgelöste Hooks siehe [Konfiguration debuggen](/de/debug-your-config).9Wenn die Installation fehlschlägt oder Sie sich nicht anmelden können, finden Sie Ihren Fehler unten. Für Laufzeitprobleme nach der Installation von Claude Code siehe [Fehlerbehebung](/de/troubleshooting). Für Konfigurationsprobleme wie nicht angewendete Einstellungen oder nicht ausgelöste Hooks siehe [Konfiguration debuggen](/de/debug-your-config).

10 10 


24| `TLS connect error` oder `SSL/TLS secure channel` | [Aktualisieren Sie CA-Zertifikate](#tls-or-ssl-connection-errors) |24| `TLS connect error` oder `SSL/TLS secure channel` | [Aktualisieren Sie CA-Zertifikate](#tls-or-ssl-connection-errors) |

25| `Failed to fetch version` oder kann den Download-Server nicht erreichen | [Überprüfen Sie Netzwerk- und Proxy-Einstellungen](#check-network-connectivity) |25| `Failed to fetch version` oder kann den Download-Server nicht erreichen | [Überprüfen Sie Netzwerk- und Proxy-Einstellungen](#check-network-connectivity) |

26| `irm is not recognized` oder `&& is not valid` | [Verwenden Sie den richtigen Befehl für Ihre Shell](#wrong-install-command-on-windows) |26| `irm is not recognized` oder `&& is not valid` | [Verwenden Sie den richtigen Befehl für Ihre Shell](#wrong-install-command-on-windows) |

27| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Aktualisieren Sie Homebrew](#homebrew-cask-unavailable-or-outdated) |

27| `'bash' is not recognized as the name of a cmdlet` | [Verwenden Sie den Windows-Installationsbefehl](#wrong-install-command-on-windows) |28| `'bash' is not recognized as the name of a cmdlet` | [Verwenden Sie den Windows-Installationsbefehl](#wrong-install-command-on-windows) |

28| `Claude Code on Windows requires either Git for Windows (for bash) or PowerShell` | [Installieren Sie eine Shell](#claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell) |29| `Claude Code on Windows requires either Git for Windows (for bash) or PowerShell` | [Installieren Sie eine Shell](#claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell) |

29| `Claude Code does not support 32-bit Windows` | [Öffnen Sie Windows PowerShell, nicht den x86-Eintrag](#claude-code-does-not-support-32-bit-windows) |30| `Claude Code does not support 32-bit Windows` | [Öffnen Sie Windows PowerShell, nicht den x86-Eintrag](#claude-code-does-not-support-32-bit-windows) |


61curl -sI https://downloads.claude.ai/claude-code-releases/latest62curl -sI https://downloads.claude.ai/claude-code-releases/latest

62```63```

63 64 

65In PowerShell führen Sie stattdessen `curl.exe -sI` aus. PowerShell leitet `curl` zu `Invoke-WebRequest` weiter, das die Flags `-sI` ablehnt.

66 

64Eine `HTTP/2 200` Zeile bedeutet, dass Sie den Server erreicht haben. Wenn Sie keine Ausgabe, `Could not resolve host` oder ein Verbindungs-Timeout sehen, blockiert Ihr Netzwerk die Verbindung. Häufige Ursachen:67Eine `HTTP/2 200` Zeile bedeutet, dass Sie den Server erreicht haben. Wenn Sie keine Ausgabe, `Could not resolve host` oder ein Verbindungs-Timeout sehen, blockiert Ihr Netzwerk die Verbindung. Häufige Ursachen:

65 68 

66* Unternehmens-Firewalls oder Proxys, die `downloads.claude.ai` blockieren69* Unternehmens-Firewalls oder Proxys, die `downloads.claude.ai` blockieren


95 98 

96Wenn die Installation erfolgreich war, aber Sie einen `command not found` oder `not recognized` Fehler beim Ausführen von `claude` erhalten, befindet sich das Installationsverzeichnis nicht in Ihrem PATH. Ihre Shell sucht nach Programmen in Verzeichnissen, die in PATH aufgeführt sind, und das Installationsprogramm platziert `claude` unter `~/.local/bin/claude` auf macOS/Linux oder `%USERPROFILE%\.local\bin\claude.exe` unter Windows.99Wenn die Installation erfolgreich war, aber Sie einen `command not found` oder `not recognized` Fehler beim Ausführen von `claude` erhalten, befindet sich das Installationsverzeichnis nicht in Ihrem PATH. Ihre Shell sucht nach Programmen in Verzeichnissen, die in PATH aufgeführt sind, und das Installationsprogramm platziert `claude` unter `~/.local/bin/claude` auf macOS/Linux oder `%USERPROFILE%\.local\bin\claude.exe` unter Windows.

97 100 

101<Note>

102 Die [VS Code-Erweiterung](/de/vs-code) platziert `claude` nicht an diesem Ort. Sie bündelt eine private Kopie der CLI im Erweiterungsverzeichnis für ihr eigenes Chat-Panel und fügt sie nicht zu PATH hinzu. Wenn Sie nur die Erweiterung installiert haben, existiert `~/.local/bin/claude` nicht. Führen Sie die [eigenständige Installation](/de/setup) aus, um `claude` von einem Terminal aus zu verwenden, und fahren Sie dann unten fort.

103</Note>

104 

98Überprüfen Sie, ob sich das Installationsverzeichnis in Ihrem PATH befindet, indem Sie Ihre PATH-Einträge auflisten und nach `local/bin` filtern:105Überprüfen Sie, ob sich das Installationsverzeichnis in Ihrem PATH befindet, indem Sie Ihre PATH-Einträge auflisten und nach `local/bin` filtern:

99 106 

100<Tabs>107<Tabs>


188 ls -la ~/.local/bin/claude195 ls -la ~/.local/bin/claude

189 ```196 ```

190 197 

198 Wenn einer der `ls` Befehle `No such file or directory` ausgibt, ist das kein Fehler. Das bedeutet, dass an diesem Ort nichts installiert ist, also fahren Sie mit der nächsten Prüfung fort.

199 

191 ```bash theme={null}200 ```bash theme={null}

192 ls -la ~/.claude/local/201 ls -la ~/.claude/local/

193 ```202 ```


390 winget install Anthropic.ClaudeCode399 winget install Anthropic.ClaudeCode

391 ```400 ```

392 401 

402<h3 id="homebrew-cask-unavailable-or-outdated">

403 Homebrew Cask nicht verfügbar oder veraltet

404</h3>

405 

406Homebrew meldet `Error: Cask 'claude-code' is unavailable: No Cask with this name exists`, wenn Ihre lokale Kopie des Homebrew Cask-Index älter ist als die Veröffentlichung des Cask. Aktualisieren Sie den Index und versuchen Sie es erneut:

407 

408```bash theme={null}

409brew update

410brew install --cask claude-code

411```

412 

413Wenn Homebrew eine ältere Claude Code-Version installiert als erwartet, ist normalerweise der gleiche veraltete Index die Ursache. Der `claude-code` Cask verfolgt den stabilen Kanal und liegt normalerweise etwa eine Woche hinter der neuesten Version; für die neueste Version führen Sie stattdessen `brew install --cask claude-code@latest` aus. Siehe [Konfigurieren Sie den Release-Kanal](/de/setup#configure-release-channel) für den Unterschied zwischen den beiden Casks.

414 

393<h3 id="tls-or-ssl-connection-errors">415<h3 id="tls-or-ssl-connection-errors">

394 TLS- oder SSL-Verbindungsfehler416 TLS- oder SSL-Verbindungsfehler

395</h3>417</h3>


592 614 

593Wenn Ihr Git an einem anderen Ort installiert ist, finden Sie den Pfad, indem Sie `where.exe git` in PowerShell ausführen, und verwenden Sie den `bin\bash.exe` Pfad aus diesem Verzeichnis.615Wenn Ihr Git an einem anderen Ort installiert ist, finden Sie den Pfad, indem Sie `where.exe git` in PowerShell ausführen, und verwenden Sie den `bin\bash.exe` Pfad aus diesem Verzeichnis.

594 616 

617**Wenn der Pfad korrekt ist und die Datei existiert**, aber Claude Code meldet immer noch, dass sie nicht gefunden wird, kann Endpoint-Security-Software wie AppLocker, Group Policy-Softwarebeschränkungsrichtlinien oder EDR-Agenten interferieren. In Versionen vor v2.1.116 hat Claude Code einen untergeordneten Prozess (`cmd.exe`) erzeugt, um den Pfad zu überprüfen, was diese Richtlinien blockieren können — ein häufiges Zeichen ist, dass `cmd.exe /c dir "C:\Program Files\Git\bin\bash.exe"` funktioniert, wenn Sie es direkt in PowerShell ausführen, aber stillschweigend fehlschlägt, wenn es von `claude.exe` gestartet wird.

618 

619Claude Code v2.1.116 und später überprüfen das Dateisystem direkt, daher aktualisieren Sie zuerst. Wenn der Fehler auf einer aktuellen Version weiterhin besteht, bitten Sie Ihr IT-Team, `claude.exe` und die Prozesse, die es erzeugt, einschließlich `cmd.exe` und `bash.exe`, in Ihrer Endpoint-Protection-Richtlinie auf die Whitelist zu setzen.

620 

595<h3 id="claude-code-does-not-support-32-bit-windows">621<h3 id="claude-code-does-not-support-32-bit-windows">

596 Claude Code unterstützt 32-Bit Windows nicht622 Claude Code unterstützt 32-Bit Windows nicht

597</h3>623</h3>

Details

361. Verwenden Sie `/compact` regelmäßig, um die Kontextgröße zu reduzieren361. Verwenden Sie `/compact` regelmäßig, um die Kontextgröße zu reduzieren

372. Schließen und starten Sie Claude Code zwischen großen Aufgaben neu372. Schließen und starten Sie Claude Code zwischen großen Aufgaben neu

383. Erwägen Sie, große Build-Verzeichnisse zu Ihrer `.gitignore`-Datei hinzuzufügen383. Erwägen Sie, große Build-Verzeichnisse zu Ihrer `.gitignore`-Datei hinzuzufügen

394. Starten Sie mit [`claude --safe-mode`](/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](/de/debug-your-config#test-against-a-clean-configuration), um herauszufinden, welche

39 40 

40Wenn die Speichernutzung nach diesen Schritten hoch bleibt, führen Sie `/heapdump` aus, um einen JavaScript-Heap-Snapshot und eine Speicheraufschlüsselung auf `~/Desktop` zu schreiben. Auf Linux ohne Desktop-Ordner werden die Dateien in Ihr Home-Verzeichnis geschrieben.41Wenn die Speichernutzung nach diesen Schritten hoch bleibt, führen Sie `/heapdump` aus, um einen JavaScript-Heap-Snapshot und eine Speicheraufschlüsselung auf `~/Desktop` zu schreiben. Auf Linux ohne Desktop-Ordner werden die Dateien in Ihr Home-Verzeichnis geschrieben.

41 42 


65 66 

66Das Neustarten verliert Ihre Konversation nicht. Führen Sie `claude --resume` im selben Verzeichnis aus, um die Sitzung fortzusetzen.67Das Neustarten verliert Ihre Konversation nicht. Führen Sie `claude --resume` im selben Verzeichnis aus, um die Sitzung fortzusetzen.

67 68 

68<h3 id="garbled-or-corrupted-text-in-an-editor-s-integrated-terminal">69<h3 id="garbled-or-corrupted-text-in-an-editors-integrated-terminal">

69 Verzerrter oder beschädigter Text im integrierten Terminal eines Editors70 Verzerrter oder beschädigter Text im integrierten Terminal eines Editors

70</h3>71</h3>

71 72 

ultraplan.md +1 −1

Details

38 38 

39Die Befehls- und Schlüsselwortpfade öffnen einen Bestätigungsdialog vor dem Start. Der lokale Plan-Pfad überspringt diesen Dialog, da diese Auswahl bereits als Bestätigung dient. Wenn [Remote Control](/de/remote-control) aktiv ist, wird die Verbindung getrennt, wenn Ultraplan startet, da beide Funktionen die claude.ai/code-Schnittstelle belegen und nur eine gleichzeitig verbunden sein kann.39Die Befehls- und Schlüsselwortpfade öffnen einen Bestätigungsdialog vor dem Start. Der lokale Plan-Pfad überspringt diesen Dialog, da diese Auswahl bereits als Bestätigung dient. Wenn [Remote Control](/de/remote-control) aktiv ist, wird die Verbindung getrennt, wenn Ultraplan startet, da beide Funktionen die claude.ai/code-Schnittstelle belegen und nur eine gleichzeitig verbunden sein kann.

40 40 

41Nachdem die Cloud-Sitzung startet, zeigt die Eingabeaufforderung Ihrer CLI einen Statusindikator an, während die Remote-Sitzung funktioniert:41Nachdem die Cloud-Sitzung startet, zeigt die Eingabeaufforderung Ihrer CLI einen Statusindikator an, während die Cloud-Sitzung funktioniert:

42 42 

43| Status | Bedeutung |43| Status | Bedeutung |

44| :----------------------------- | :-------------------------------------------------------------------------- |44| :----------------------------- | :-------------------------------------------------------------------------- |

ultrareview.md +8 −8

Details

50 Preisgestaltung und kostenlose Durchläufe50 Preisgestaltung und kostenlose Durchläufe

51</h2>51</h2>

52 52 

53Ultrareview ist eine Premium-Funktion, die gegen zusätzliche Nutzung statt gegen die in Ihrem Plan enthaltene Nutzung abgerechnet wird.53Ultrareview ist eine Premium-Funktion, die gegen Nutzungsguthaben statt gegen die in Ihrem Plan enthaltene Nutzung abgerechnet wird.

54 54 

55| Plan | Kostenlose Durchläufe enthalten | Nach kostenlosen Durchläufen |55| Plan | Kostenlose Durchläufe enthalten | Nach kostenlosen Durchläufen |

56| ------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |56| ------------------- | ------------------------------- | --------------------------------------------------------------------------------------------------------------------- |

57| Pro | 3 kostenlose Durchläufe | abgerechnet als [zusätzliche Nutzung](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |57| Pro | 3 kostenlose Durchläufe | abgerechnet als [Nutzungsguthaben](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |

58| Max | 3 kostenlose Durchläufe | abgerechnet als [zusätzliche Nutzung](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |58| Max | 3 kostenlose Durchläufe | abgerechnet als [Nutzungsguthaben](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |

59| Team und Enterprise | keine | abgerechnet als [zusätzliche Nutzung](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |59| Team und Enterprise | keine | abgerechnet als [Nutzungsguthaben](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |

60 60 

61Pro- und Max-Abonnenten erhalten drei kostenlose Ultrareview-Durchläufe, um die Funktion zu testen. Diese drei Durchläufe sind eine einmalige Zuteilung pro Konto und werden nicht erneuert. Nachdem Sie alle drei verwendet haben oder nachdem der Zeitraum der kostenlosen Durchläufe endet, wird jede Review als zusätzliche Nutzung abgerechnet und kostet typischerweise 5 bis 20 Dollar, je nach Größe der Änderung. Ein Durchlauf zählt, sobald die Remote-Sitzung startet, daher verbraucht eine Review, die Sie frühzeitig beenden oder die nicht vollständig abgeschlossen wird, immer noch einen kostenlosen Durchlauf. Bei einer kostenpflichtigen Review wird zusätzliche Nutzung nur für den Teil abgerechnet, der ausgeführt wurde.61Pro- und Max-Abonnenten erhalten drei kostenlose Ultrareview-Durchläufe, um die Funktion zu testen. Diese drei Durchläufe sind eine einmalige Zuteilung pro Konto und werden nicht erneuert. Nachdem Sie alle drei verwendet haben oder nachdem der Zeitraum der kostenlosen Durchläufe endet, wird jede Review als Nutzungsguthaben abgerechnet und kostet typischerweise 5 bis 20 Dollar, je nach Größe der Änderung. Ein Durchlauf zählt, sobald die Cloud-Sitzung startet, daher verbraucht eine Review, die Sie frühzeitig beenden oder die nicht vollständig abgeschlossen wird, immer noch einen kostenlosen Durchlauf. Bei einer kostenpflichtigen Review werden Nutzungsguthaben nur für den Teil abgerechnet, der ausgeführt wurde.

62 62 

63Da Ultrareview außerhalb der kostenlosen Durchläufe immer als zusätzliche Nutzung abgerechnet wird, muss Ihr Konto oder Ihre Organisation zusätzliche Nutzung aktiviert haben, bevor Sie eine kostenpflichtige Review starten können. Wenn zusätzliche Nutzung nicht aktiviert ist, blockiert Claude Code den Start und verlinkt Sie zu den Abrechnungseinstellungen, wo Sie sie aktivieren können. Sie können auch `/usage-credits` ausführen, um Ihre aktuelle Einstellung zu überprüfen oder zu ändern.63Da Ultrareview außerhalb der kostenlosen Durchläufe immer als Nutzungsguthaben abgerechnet wird, muss Ihr Konto oder Ihre Organisation Nutzungsguthaben aktiviert haben, bevor Sie eine kostenpflichtige Review starten können. Wenn Nutzungsguthaben nicht aktiviert sind, blockiert Claude Code den Start und verlinkt Sie zu den Abrechnungseinstellungen, wo Sie sie aktivieren können. Sie können auch `/usage-credits` ausführen, um Ihre aktuelle Einstellung zu überprüfen oder zu ändern.

64 64 

65<h2 id="track-a-running-review">65<h2 id="track-a-running-review">

66 Eine laufende Review verfolgen66 Eine laufende Review verfolgen


115 Verwandte Ressourcen115 Verwandte Ressourcen

116</h2>116</h2>

117 117 

118* [Claude Code im Web](/de/claude-code-on-the-web): Erfahren Sie, wie Remote-Sitzungen und Cloud-Sandboxes funktionieren118* [Claude Code im Web](/de/claude-code-on-the-web): Erfahren Sie, wie Cloud-Sitzungen und Cloud-Sandboxes funktionieren

119* [Planen Sie komplexe Änderungen mit Ultraplan](/de/ultraplan): das Planungs-Gegenstück zu Ultrareview für vorausschauende Designarbeiten119* [Planen Sie komplexe Änderungen mit Ultraplan](/de/ultraplan): das Planungs-Gegenstück zu Ultrareview für vorausschauende Designarbeiten

120* [Verwalten Sie Kosten effektiv](/de/costs): Verfolgen Sie die Nutzung und legen Sie Ausgabenlimits fest120* [Verwalten Sie Kosten effektiv](/de/costs): Verfolgen Sie die Nutzung und legen Sie Ausgabenlimits fest

vs-code.md +161 −56

Details

12 12 

13Mit der Erweiterung können Sie Claudes Pläne überprüfen und bearbeiten, bevor Sie sie akzeptieren, Bearbeitungen automatisch akzeptieren, während sie vorgenommen werden, @-Erwähnungen für Dateien mit bestimmten Zeilenbereichen aus Ihrer Auswahl hinzufügen, auf Gesprächsverlauf zugreifen und mehrere Gespräche in separaten Registerkarten oder Fenstern öffnen.13Mit der Erweiterung können Sie Claudes Pläne überprüfen und bearbeiten, bevor Sie sie akzeptieren, Bearbeitungen automatisch akzeptieren, während sie vorgenommen werden, @-Erwähnungen für Dateien mit bestimmten Zeilenbereichen aus Ihrer Auswahl hinzufügen, auf Gesprächsverlauf zugreifen und mehrere Gespräche in separaten Registerkarten oder Fenstern öffnen.

14 14 

15## Voraussetzungen15<h2 id="prerequisites">

16 Voraussetzungen

17</h2>

16 18 

17Stellen Sie vor der Installation sicher, dass Sie folgende Voraussetzungen erfüllen:19Stellen Sie vor der Installation sicher, dass Sie folgende Voraussetzungen erfüllen:

18 20 

19* VS Code 1.98.0 oder höher21* VS Code 1.98.0 oder höher

20* Ein Anthropic-Konto (Sie melden sich an, wenn Sie die Erweiterung zum ersten Mal öffnen). Wenn Sie einen Drittanbieter wie Amazon Bedrock oder Google Vertex AI verwenden, siehe stattdessen [Drittanbieter verwenden](#use-third-party-providers).22* Ein Anthropic-Konto: Jedes bezahlte Claude-Abonnement (Pro, Max, Team oder Enterprise) oder ein Claude Console-Konto funktioniert, und es ist kein API-Schlüssel erforderlich. Sie [melden sich an](/de/authentication#log-in-to-claude-code) mit diesem Konto an, wenn Sie die Erweiterung zum ersten Mal öffnen. Wenn Sie Claude über einen Drittanbieter wie Amazon Bedrock oder Google Vertex AI nutzen, siehe [Drittanbieter verwenden](#use-third-party-providers) für Setupanweisungen.

21 23 

22<Tip>24<Tip>

23 Die Erweiterung enthält die CLI (Befehlszeilenschnittstelle), auf die Sie über das integrierte Terminal von VS Code für erweiterte Funktionen zugreifen können. Siehe [VS Code-Erweiterung vs. Claude Code CLI](#vs-code-extension-vs-claude-code-cli) für Details.25 Die Erweiterung enthält eine eigene Kopie der CLI (Befehlszeilenschnittstelle) für das Chat-Panel. Um `claude` im integrierten Terminal von VS Code auszuführen, benötigen Sie auch die [eigenständige CLI-Installation](/de/setup). Siehe [VS Code-Erweiterung vs. Claude Code CLI](#vs-code-extension-vs-claude-code-cli) für Details.

24</Tip>26</Tip>

25 27 

26## Erweiterung installieren28<h2 id="install-the-extension">

29 Erweiterung installieren

30</h2>

27 31 

28Klicken Sie auf den Link für Ihre IDE, um direkt zu installieren:32Klicken Sie auf den Link für Ihre IDE, um direkt zu installieren:

29 33 


32 36 

33Oder drücken Sie in VS Code `Cmd+Shift+X` (Mac) oder `Ctrl+Shift+X` (Windows/Linux), um die Ansicht „Erweiterungen" zu öffnen, suchen Sie nach „Claude Code" und klicken Sie auf **Installieren**.37Oder drücken Sie in VS Code `Cmd+Shift+X` (Mac) oder `Ctrl+Shift+X` (Windows/Linux), um die Ansicht „Erweiterungen" zu öffnen, suchen Sie nach „Claude Code" und klicken Sie auf **Installieren**.

34 38 

35Die Erweiterung wird auch in anderen VS Code-Forks wie Devin Desktop oder Kiro installiert. Suchen Sie nach „Claude Code" in der Ansicht „Erweiterungen" des Editors, oder installieren Sie aus der [Open VSX-Registrierung](https://open-vsx.org/extension/Anthropic/claude-code). Wenn Ihr Editor die Erweiterung nicht installieren kann, führen Sie stattdessen `claude` in seinem integrierten Terminal aus. Die [CLI](/de/quickstart) funktioniert in jedem Terminal.39Die Erweiterung wird auch in anderen VS Code-Forks wie Devin Desktop oder Kiro installiert. Suchen Sie nach „Claude Code" in der Ansicht „Erweiterungen" des Editors, oder installieren Sie aus der [Open VSX-Registrierung](https://open-vsx.org/extension/Anthropic/claude-code). Wenn Ihr Editor die Erweiterung nicht installieren kann, [installieren Sie die CLI](/de/quickstart) und führen Sie `claude` in dessen integriertem Terminal aus. Die CLI funktioniert in jedem Terminal.

36 40 

37<Note>Wenn die Erweiterung nach der Installation nicht angezeigt wird, starten Sie VS Code neu oder führen Sie „Developer: Reload Window" aus der Befehlspalette aus.</Note>41<Note>Wenn die Erweiterung nach der Installation nicht angezeigt wird, starten Sie VS Code neu oder führen Sie „Developer: Reload Window" aus der Befehlspalette aus.</Note>

38 42 

39## Erste Schritte43<h2 id="get-started">

44 Erste Schritte

45</h2>

40 46 

41Nach der Installation können Sie Claude Code über die VS Code-Benutzeroberfläche verwenden:47Nach der Installation können Sie Claude Code über die VS Code-Benutzeroberfläche verwenden:

42 48 


90 Führen Sie 'Claude Code: Open Walkthrough" aus der Befehlspalette aus, um eine geführte Tour durch die Grundlagen zu erhalten.96 Führen Sie 'Claude Code: Open Walkthrough" aus der Befehlspalette aus, um eine geführte Tour durch die Grundlagen zu erhalten.

91</Tip>97</Tip>

92 98 

93## Verwenden Sie das Eingabefeld99<h2 id="use-the-prompt-box">

100 Verwenden Sie das Eingabefeld

101</h2>

94 102 

95Das Eingabefeld unterstützt mehrere Funktionen:103Das Eingabefeld unterstützt mehrere Funktionen:

96 104 


100* **Erweitertes Denken**: Ermöglicht Claude, mehr Zeit für die Überlegung komplexer Probleme aufzuwenden. Aktivieren Sie es über das Befehlsmenü (`/`). Claudes Überlegungen werden im Gespräch als zusammengeklappte Blöcke angezeigt: 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](/de/model-config#extended-thinking) für Details.108* **Erweitertes Denken**: Ermöglicht Claude, mehr Zeit für die Überlegung komplexer Probleme aufzuwenden. Aktivieren Sie es über das Befehlsmenü (`/`). Claudes Überlegungen werden im Gespräch als zusammengeklappte Blöcke angezeigt: 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](/de/model-config#extended-thinking) für Details.

101* **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.109* **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.

102 110 

103### Referenzdateien und Ordner111<h3 id="reference-files-and-folders">

112 Referenzdateien und Ordner

113</h3>

104 114 

105Verwenden Sie @-Erwähnungen, um Claude Kontext über bestimmte Dateien oder Ordner zu geben. Wenn Sie `@` gefolgt von einem Datei- oder Ordnernamen eingeben, liest Claude diesen Inhalt und kann Fragen dazu beantworten oder Änderungen daran vornehmen. Claude Code unterstützt Fuzzy Matching, sodass Sie Teilnamen eingeben können, um das zu finden, was Sie benötigen:115Verwenden Sie @-Erwähnungen, um Claude Kontext über bestimmte Dateien oder Ordner zu geben. Wenn Sie `@` gefolgt von einem Datei- oder Ordnernamen eingeben, liest Claude diesen Inhalt und kann Fragen dazu beantworten oder Änderungen daran vornehmen. Claude Code unterstützt Fuzzy Matching, sodass Sie Teilnamen eingeben können, um das zu finden, was Sie benötigen:

106 116 


115 125 

116Sie 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.126Sie 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.

117 127 

118### Frühere Gespräche fortsetzen128<h3 id="resume-past-conversations">

129 Frühere Gespräche fortsetzen

130</h3>

119 131 

120Klicken Sie auf die Schaltfläche **Sitzungsverlauf** oben im Claude Code-Panel, um auf Ihren Gesprächsverlauf zuzugreifen. Sie können nach Schlüsselwort suchen oder nach Zeit durchsuchen (Heute, Gestern, Letzte 7 Tage usw.). Klicken Sie auf ein beliebiges Gespräch, um es mit dem vollständigen Nachrichtenverlauf fortzusetzen. Neue Sitzungen erhalten KI-generierte Titel basierend auf Ihrer ersten Nachricht. Bewegen Sie den Mauszeiger über eine Sitzung, um Umbenennungs- und Entfernungsaktionen anzuzeigen: Benennen Sie um, um ihr einen beschreibenden Titel zu geben, oder entfernen Sie sie, um sie aus der Liste zu löschen. Weitere Informationen zum Fortsetzen von Sitzungen finden Sie unter [Sitzungen verwalten](/de/sessions).132Klicken Sie auf die Schaltfläche **Sitzungsverlauf** oben im Claude Code-Panel, um auf Ihren Gesprächsverlauf zuzugreifen. Sie können nach Schlüsselwort suchen oder nach Zeit durchsuchen (Heute, Gestern, Letzte 7 Tage usw.). Klicken Sie auf ein beliebiges Gespräch, um es mit dem vollständigen Nachrichtenverlauf fortzusetzen. Neue Sitzungen erhalten KI-generierte Titel basierend auf Ihrer ersten Nachricht. Bewegen Sie den Mauszeiger über eine Sitzung, um Umbenennungs- und Entfernungsaktionen anzuzeigen: Benennen Sie um, um ihr einen beschreibenden Titel zu geben, oder entfernen Sie sie, um sie aus der Liste zu löschen. Weitere Informationen zum Fortsetzen von Sitzungen finden Sie unter [Sitzungen verwalten](/de/sessions).

121 133 

122### Fortsetzen von Remote-Sitzungen von Claude.ai134<h3 id="resume-cloud-sessions-from-claude-ai">

135 Fortsetzen von Remote-Sitzungen von Claude.ai

136</h3>

123 137 

124Wenn Sie [Claude Code im Web](/de/claude-code-on-the-web) verwenden, können Sie diese Remote-Sitzungen direkt in VS Code fortsetzen. Dies erfordert die Anmeldung mit **Claude.ai Subscription**, nicht Anthropic Console.138Wenn Sie [Claude Code im Web](/de/claude-code-on-the-web) verwenden, können Sie diese Remote-Sitzungen direkt in VS Code fortsetzen. Dies erfordert die Anmeldung mit **Claude.ai Subscription**, nicht Anthropic Console.

125 139 


128 Klicken Sie auf die Schaltfläche **Sitzungsverlauf** oben im Claude Code-Panel.142 Klicken Sie auf die Schaltfläche **Sitzungsverlauf** oben im Claude Code-Panel.

129 </Step>143 </Step>

130 144 

131 <Step title="Wählen Sie die Registerkarte Remote">145 <Step title="Wählen Sie die Registerkarte Remote">

132 Der Dialog zeigt zwei Registerkarten: Lokal und Remote. Klicken Sie auf **Remote**, um Sitzungen von claude.ai anzuzeigen.146 Der Dialog zeigt zwei Registerkarten: Lokal und Remote. Klicken Sie auf **Remote**, um Sitzungen von claude.ai anzuzeigen.

133 </Step>147 </Step>

134 148 


138</Steps>152</Steps>

139 153 

140<Note>154<Note>

141 Nur Web-Sitzungen, die mit einem GitHub-Repository gestartet wurden, werden auf der Registerkarte 'Remote" angezeigt. Das Fortsetzen lädt den Gesprächsverlauf lokal; Änderungen werden nicht mit claude.ai synchronisiert.155 Nur Web-Sitzungen, die mit einem GitHub-Repository gestartet wurden, werden auf der Registerkarte Remote angezeigt. Das Fortsetzen lädt den Gesprächsverlauf lokal; Änderungen werden nicht mit claude.ai synchronisiert.

142</Note>156</Note>

143 157 

144## Passen Sie Ihren Workflow an158<h3 id="check-account-and-usage">

159 Konto und Nutzung überprüfen

160</h3>

161 

162Führen Sie `/usage` aus dem Befehlsmenü aus, um das Dialogfeld 'Konto & Nutzung" zu öffnen. Es zeigt Ihr angemeldetes Konto, Ihren Plan und Nutzungsbalken für die aktuelle Sitzung und Woche mit der verbleibenden Zeit bis zum Zurücksetzen jedes Limits.

163 

164Das Dialogfeld zeigt 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.

165 

166Verwenden Sie den Umschalter „Tag" und „Woche", 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](/de/costs#track-your-costs).

167 

168<h2 id="customize-your-workflow">

169 Passen Sie Ihren Workflow an

170</h2>

145 171 

146Sobald Sie einsatzbereit sind, können Sie das Claude-Panel repositionieren, mehrere Sitzungen ausführen oder zum Terminal-Modus wechseln.172Sobald Sie einsatzbereit sind, können Sie das Claude-Panel repositionieren, mehrere Sitzungen ausführen oder zum Terminal-Modus wechseln.

147 173 

148### Wählen Sie, wo Claude lebt174<h3 id="choose-where-claude-lives">

175 Wählen Sie, wo Claude lebt

176</h3>

149 177 

150Sie können das Claude-Panel ziehen, um es überall in VS Code zu repositionieren. Greifen Sie die Registerkarte oder Titelleiste des Panels und ziehen Sie es zu:178Sie können das Claude-Panel ziehen, um es überall in VS Code zu repositionieren. Greifen Sie die Registerkarte oder Titelleiste des Panels und ziehen Sie es zu:

151 179 


157 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.185 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.

158</Tip>186</Tip>

159 187 

160### Führen Sie mehrere Gespräche aus188<h3 id="run-multiple-conversations">

189 Führen Sie mehrere Gespräche aus

190</h3>

161 191 

162Verwenden Sie **In neuer Registerkarte öffnen** oder **In neuem Fenster öffnen** aus der Befehlspalette, um zusätzliche Gespräche zu starten. Jedes Gespräch behält seinen eigenen Verlauf und Kontext bei, sodass Sie parallel an verschiedenen Aufgaben arbeiten können.192Verwenden Sie **In neuer Registerkarte öffnen** oder **In neuem Fenster öffnen** aus der Befehlspalette, um zusätzliche Gespräche zu starten. Jedes Gespräch behält seinen eigenen Verlauf und Kontext bei, sodass Sie parallel an verschiedenen Aufgaben arbeiten können.

163 193 

164Bei Verwendung von Registerkarten zeigt ein kleiner farbiger Punkt auf dem Spark-Symbol den Status an: Blau bedeutet, dass eine Genehmigungsanfrage ausstehend ist, Orange bedeutet, dass Claude fertig ist, während die Registerkarte verborgen war.194Bei Verwendung von Registerkarten zeigt ein kleiner farbiger Punkt auf dem Spark-Symbol den Status an: Blau bedeutet, dass eine Genehmigungsanfrage ausstehend ist, Orange bedeutet, dass Claude fertig ist, während die Registerkarte verborgen war.

165 195 

166### Wechseln Sie zum Terminal-Modus196<h3 id="switch-to-terminal-mode">

197 Wechseln Sie zum Terminal-Modus

198</h3>

167 199 

168Standardmäßig öffnet die Erweiterung ein grafisches Chat-Panel. Wenn Sie die CLI-ähnliche Benutzeroberfläche bevorzugen, öffnen Sie die [Einstellung Terminal verwenden"](vscode://settings/claudeCode.useTerminal) und aktivieren Sie das Kontrollkästchen.200Standardmäßig öffnet die Erweiterung ein grafisches Chat-Panel. Wenn Sie die CLI-ähnliche Benutzeroberfläche bevorzugen, öffnen Sie die [Einstellung 'Terminal verwenden"](vscode://settings/claudeCode.useTerminal) und aktivieren Sie das Kontrollkästchen.

169 201 

170Sie können auch VS Code-Einstellungen öffnen (`Cmd+,` auf Mac oder `Ctrl+,` auf Windows/Linux), zu Erweiterungen → Claude Code gehen und **Terminal verwenden** aktivieren.202Sie können auch VS Code-Einstellungen öffnen (`Cmd+,` auf Mac oder `Ctrl+,` auf Windows/Linux), zu Erweiterungen → Claude Code gehen und **Terminal verwenden** aktivieren.

171 203 

172## Verwalten Sie Plugins204<h2 id="manage-plugins">

205 Verwalten Sie Plugins

206</h2>

173 207 

174Die VS Code-Erweiterung enthält eine grafische Benutzeroberfläche zum Installieren und Verwalten von [plugins](/de/plugins). Geben Sie `/plugins` in das Eingabefeld ein, um die Benutzeroberfläche **Plugins verwalten** zu öffnen.208Die VS Code-Erweiterung enthält eine grafische Benutzeroberfläche zum Installieren und Verwalten von [plugins](/de/plugins). Geben Sie `/plugins` in das Eingabefeld ein, um die Benutzeroberfläche **Plugins verwalten** zu öffnen.

175 209 

176### Installieren Sie Plugins210<h3 id="install-plugins">

211 Installieren Sie Plugins

212</h3>

177 213 

178Der Plugin-Dialog zeigt zwei Registerkarten: **Plugins** und **Marketplaces**.214Der Plugin-Dialog zeigt zwei Registerkarten: **Plugins** und **Marketplaces**.

179 215 


190* **Für dieses Projekt installieren**: geteilt mit Projektmitarbeitern (Projektumfang)226* **Für dieses Projekt installieren**: geteilt mit Projektmitarbeitern (Projektumfang)

191* **Lokal installieren**: nur für Sie, nur in diesem Repository (lokaler Umfang)227* **Lokal installieren**: nur für Sie, nur in diesem Repository (lokaler Umfang)

192 228 

193### Verwalten Sie Marketplaces229<h3 id="manage-marketplaces">

230 Verwalten Sie Marketplaces

231</h3>

194 232 

195Wechseln Sie zur Registerkarte **Marketplaces**, um Plugin-Quellen hinzuzufügen oder zu entfernen:233Wechseln Sie zur Registerkarte **Marketplaces**, um Plugin-Quellen hinzuzufügen oder zu entfernen:

196 234 


206 244 

207Weitere Informationen zum Plugin-System finden Sie unter [Plugins](/de/plugins) und [Plugin-Marketplaces](/de/plugin-marketplaces).245Weitere Informationen zum Plugin-System finden Sie unter [Plugins](/de/plugins) und [Plugin-Marketplaces](/de/plugin-marketplaces).

208 246 

209## Automatisieren Sie Browser-Aufgaben mit Chrome247<h2 id="automate-browser-tasks-with-chrome">

248 Automatisieren Sie Browser-Aufgaben mit Chrome

249</h2>

210 250 

211Verbinden Sie Claude mit Ihrem Chrome-Browser, um Web-Apps zu testen, mit Konsolenprotokollen zu debuggen und Browser-Workflows zu automatisieren, ohne VS Code zu verlassen. Dies erfordert die [Claude in Chrome-Erweiterung](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) Version 1.0.36 oder höher.251Verbinden Sie Claude mit Ihrem Chrome-Browser, um Web-Apps zu testen, mit Konsolenprotokollen zu debuggen und Browser-Workflows zu automatisieren, ohne VS Code zu verlassen. Dies erfordert die [Claude in Chrome-Erweiterung](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) Version 1.0.36 oder höher.

212 252 


222 262 

223Anweisungen zum Einrichten, die vollständige Liste der Funktionen und Fehlerbehebung finden Sie unter [Claude Code mit Chrome verwenden](/de/chrome).263Anweisungen zum Einrichten, die vollständige Liste der Funktionen und Fehlerbehebung finden Sie unter [Claude Code mit Chrome verwenden](/de/chrome).

224 264 

225## VS Code-Befehle und Tastaturkürzel265<h2 id="vs-code-commands-and-shortcuts">

266 VS Code-Befehle und Tastaturkürzel

267</h2>

226 268 

227Öffnen Sie die Befehlspalette (`Cmd+Shift+P` auf Mac oder `Ctrl+Shift+P` auf Windows/Linux) und geben Sie „Claude Code" ein, um alle verfügbaren VS Code-Befehle für die Claude Code-Erweiterung anzuzeigen.269Öffnen Sie die Befehlspalette (`Cmd+Shift+P` auf Mac oder `Ctrl+Shift+P` auf Windows/Linux) und geben Sie „Claude Code" ein, um alle verfügbaren VS Code-Befehle für die Claude Code-Erweiterung anzuzeigen.

228 270 


233</Note>275</Note>

234 276 

235| Befehl | Tastaturkürzel | Beschreibung |277| Befehl | Tastaturkürzel | Beschreibung |

236| ----------------------------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |278| ----------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

237| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Fokus zwischen Editor und Claude umschalten |279| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Fokus zwischen Editor und Claude umschalten |

238| In Seitenleiste öffnen | - | Öffnen Sie Claude in der linken Seitenleiste |280| In Seitenleiste öffnen | - | Öffnen Sie Claude in der linken Seitenleiste |

239| Im Terminal öffnen | - | Öffnen Sie Claude im Terminal-Modus |281| Im Terminal öffnen | - | Öffnen Sie Claude im Terminal-Modus |

240| In neuer Registerkarte öffnen | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | Öffnen Sie ein neues Gespräch als Editor-Registerkarte |282| In neuer Registerkarte öffnen | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | Öffnen Sie ein neues Gespräch als Editor-Registerkarte |

241| In neuem Fenster öffnen | - | Öffnen Sie ein neues Gespräch in einem separaten Fenster |283| In neuem Fenster öffnen | - | Öffnen Sie ein neues Gespräch in einem separaten Fenster |

242| Neues Gespräch | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | Starten Sie ein neues Gespräch. Erfordert, dass Claude fokussiert ist und `enableNewConversationShortcut` auf `true` gesetzt ist |284| Neues Gespräch | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | Starten Sie ein neues Gespräch. Erfordert, dass Claude fokussiert ist und `enableNewConversationShortcut` auf `true` gesetzt ist |

243| @-Erwähnungsreferenz einfügen | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Fügen Sie eine Referenz zur aktuellen Datei und Auswahl ein (erfordert, dass der Editor fokussiert ist) |285| 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 Öffnen geschlossener Editoren zurück, wenn die zuletzt geschlossene Registerkarte keine Claude-Sitzung war. Deaktivieren Sie mit `enableReopenClosedSessionShortcut` |

286| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Fügen Sie eine Referenz zur aktuellen Datei und Auswahl ein (erfordert, dass der Editor fokussiert ist) |

244| Protokolle anzeigen | - | Anzeigen von Erweiterungs-Debug-Protokollen |287| Protokolle anzeigen | - | Anzeigen von Erweiterungs-Debug-Protokollen |

245| Abmelden | - | Melden Sie sich von Ihrem Anthropic-Konto ab |288| Abmelden | - | Melden Sie sich von Ihrem Anthropic-Konto ab |

246 289 

247### Starten Sie eine VS Code-Registerkarte von anderen Tools aus290<h3 id="launch-a-vs-code-tab-from-other-tools">

291 Starten Sie eine VS Code-Registerkarte von anderen Tools aus

292</h3>

248 293 

249Die Erweiterung registriert einen URI-Handler unter `vscode://anthropic.claude-code/open`. Verwenden Sie ihn, um eine neue Claude Code-Registerkarte von Ihrem eigenen Tooling aus zu öffnen: ein Shell-Alias, ein Browser-Lesezeichen oder ein beliebiges Skript, das eine URL öffnen kann. Wenn VS Code nicht bereits ausgeführt wird, wird es beim Öffnen der URL zuerst gestartet. Wenn VS Code bereits ausgeführt wird, wird die URL in dem Fenster geöffnet, das derzeit fokussiert ist.294Die Erweiterung registriert einen URI-Handler unter `vscode://anthropic.claude-code/open`. Verwenden Sie ihn, um eine neue Claude Code-Registerkarte von Ihrem eigenen Tooling aus zu öffnen: ein Shell-Alias, ein Browser-Lesezeichen oder ein beliebiges Skript, das eine URL öffnen kann. Wenn VS Code nicht bereits ausgeführt wird, wird es beim Öffnen der URL zuerst gestartet. Wenn VS Code bereits ausgeführt wird, wird die URL in dem Fenster geöffnet, das derzeit fokussiert ist.

250 295 


293 338 

294Um stattdessen eine Terminal-Sitzung zu starten, verwenden Sie den CLI-Handler `claude-cli://`. Siehe [Sitzungen von Links aus starten](/de/deep-links).339Um stattdessen eine Terminal-Sitzung zu starten, verwenden Sie den CLI-Handler `claude-cli://`. Siehe [Sitzungen von Links aus starten](/de/deep-links).

295 340 

296## Einstellungen konfigurieren341<h2 id="configure-settings">

342 Einstellungen konfigurieren

343</h2>

297 344 

298Die Erweiterung hat zwei Arten von Einstellungen:345Die Erweiterung hat zwei Arten von Einstellungen:

299 346 


304 Fügen Sie `"$schema": "https://json.schemastore.org/claude-code-settings.json"` zu Ihrer `settings.json` hinzu, um Autovervollständigung und Inline-Validierung für alle verfügbaren Einstellungen direkt in VS Code zu erhalten.351 Fügen Sie `"$schema": "https://json.schemastore.org/claude-code-settings.json"` zu Ihrer `settings.json` hinzu, um Autovervollständigung und Inline-Validierung für alle verfügbaren Einstellungen direkt in VS Code zu erhalten.

305</Tip>352</Tip>

306 353 

307### Erweiterungseinstellungen354<h3 id="extension-settings">

355 Erweiterungseinstellungen

356</h3>

308 357 

309| Einstellung | Standard | Beschreibung |358| Einstellung | Standard | Beschreibung |

310| ----------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |359| ----------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


323| `allowDangerouslySkipPermissions` | `false` | Fügt Bypass-Berechtigungen zum Moduswahlschalter hinzu. Verwenden Sie es nur in Sandboxes ohne Internetzugang. |372| `allowDangerouslySkipPermissions` | `false` | Fügt Bypass-Berechtigungen zum Moduswahlschalter hinzu. Verwenden Sie es nur in Sandboxes ohne Internetzugang. |

324| `claudeProcessWrapper` | - | Ausführbare Datei, die zum Starten des Claude-Prozesses verwendet wird. Der Pfad der gebündelten Binärdatei wird als Argument übergeben, wenn vorhanden. Setzen Sie dies auf eine separat installierte `claude`-Binärdatei, wenn der Erweiterungsbuild keine für Ihre Plattform enthält. |373| `claudeProcessWrapper` | - | Ausführbare Datei, die zum Starten des Claude-Prozesses verwendet wird. Der Pfad der gebündelten Binärdatei wird als Argument übergeben, wenn vorhanden. Setzen Sie dies auf eine separat installierte `claude`-Binärdatei, wenn der Erweiterungsbuild keine für Ihre Plattform enthält. |

325 374 

326## VS Code-Erweiterung vs. Claude Code CLI375<h2 id="vs-code-extension-vs-claude-code-cli">

376 VS Code-Erweiterung vs. Claude Code CLI

377</h2>

327 378 

328Claude 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 CLI-only-Funktion benötigen, führen Sie `claude` im integrierten Terminal von VS Code aus.379Claude 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 CLI-only-Funktion benötigen, führen Sie `claude` im integrierten Terminal von VS Code aus. Dies erfordert die [eigenständige CLI-Installation](/de/setup): Die Erweiterung fügt `claude` nicht zu Ihrem PATH hinzu. Siehe [CLI in VS Code ausführen](#run-cli-in-vs-code).

329 380 

330| Funktion | CLI | VS Code-Erweiterung |381| Funktion | CLI | VS Code-Erweiterung |

331| ------------------------ | -------------------- | ----------------------------------------------------------------------------------------------------- |382| ------------------------ | -------------------- | ----------------------------------------------------------------------------------------------------- |

332| Befehle und Skills | [Alle](/de/commands) | Teilmenge (geben Sie `/` ein, um verfügbare anzuzeigen) |383| Befehle und Skills | [Alle](/de/commands) | Teilmenge (geben Sie `/` ein, um verfügbare anzuzeigen) |

333| MCP server-Konfiguration | Ja | Teilweise (fügen Sie Server über CLI hinzu; verwalten Sie vorhandene Server mit `/mcp` im Chat-Panel) |384| MCP-Server-Konfiguration | Ja | Teilweise (fügen Sie Server über CLI hinzu; verwalten Sie vorhandene Server mit `/mcp` im Chat-Panel) |

334| Checkpoints | Ja | Ja |385| Checkpoints | Ja | Ja |

335| `!` Bash-Tastaturkürzel | Ja | Nein |386| `!` Bash-Tastaturkürzel | Ja | Nein |

336| Tab-Vervollständigung | Ja | Nein |387| Tab-Vervollständigung | Ja | Nein |

337 388 

338### Zurückspulen mit Checkpoints389<h3 id="rewind-with-checkpoints">

390 Zurückspulen mit Checkpoints

391</h3>

339 392 

340Die VS Code-Erweiterung unterstützt Checkpoints, die Claudes Dateibearbeitungen verfolgen und es Ihnen ermöglichen, zu einem vorherigen Zustand zurückzuspulen. Bewegen Sie den Mauszeiger über eine beliebige Nachricht, um die Schaltfläche zum Zurückspulen anzuzeigen, und wählen Sie dann aus drei Optionen:393Die VS Code-Erweiterung unterstützt Checkpoints, die Claudes Dateibearbeitungen verfolgen und es Ihnen ermöglichen, zu einem vorherigen Zustand zurückzuspulen. Bewegen Sie den Mauszeiger über eine beliebige Nachricht, um die Schaltfläche zum Zurückspulen anzuzeigen, und wählen Sie dann aus drei Optionen:

341 394 


345 398 

346Vollständige Details zur Funktionsweise von Checkpoints und deren Einschränkungen finden Sie unter [Checkpointing](/de/checkpointing).399Vollständige Details zur Funktionsweise von Checkpoints und deren Einschränkungen finden Sie unter [Checkpointing](/de/checkpointing).

347 400 

348### Führen Sie CLI in VS Code aus401<h3 id="run-cli-in-vs-code">

402 CLI in VS Code ausführen

403</h3>

349 404 

350Um die CLI zu verwenden und in VS Code zu bleiben, öffnen Sie das integrierte Terminal (`` Ctrl+` `` auf Windows/Linux oder `` Cmd+` `` auf Mac) und führen Sie `claude` aus. Die CLI wird automatisch mit Ihrer IDE für Funktionen wie Diff-Anzeige und Diagnosefreigabe integriert.405Um die CLI zu verwenden und in VS Code zu bleiben, öffnen Sie das integrierte Terminal (`` Ctrl+` `` auf Windows/Linux oder `` Cmd+` `` auf Mac) und führen Sie `claude` aus. Die CLI wird automatisch mit Ihrer IDE für Funktionen wie Diff-Anzeige und Diagnosefreigabe integriert.

351 406 

407Die Installation der Erweiterung fügt `claude` nicht zu Ihrem Shell-PATH hinzu. Die Erweiterung enthält eine private Kopie der CLI für ihr Chat-Panel, aber die Eingabe von `claude` in einem Terminal erfordert die [eigenständige CLI-Installation](/de/setup). Führen Sie die Installation einmal aus und die Befehle auf dieser Seite, einschließlich `claude mcp add` und `claude --resume`, funktionieren in jedem Terminal. Wenn `claude` nach der Installation immer noch nicht gefunden wird, [überprüfen Sie Ihren PATH](/de/troubleshoot-install#verify-your-path).

408 

352Wenn Sie ein externes Terminal verwenden, führen Sie `/ide` in Claude Code aus, um es mit VS Code zu verbinden.409Wenn Sie ein externes Terminal verwenden, führen Sie `/ide` in Claude Code aus, um es mit VS Code zu verbinden.

353 410 

354### Wechseln Sie zwischen Erweiterung und CLI411<h3 id="switch-between-extension-and-cli">

412 Wechseln Sie zwischen Erweiterung und CLI

413</h3>

355 414 

356Die Erweiterung und die CLI teilen den gleichen Gesprächsverlauf. Um ein Erweiterungsgespräch in der CLI fortzusetzen, führen Sie `claude --resume` im Terminal aus. Dies öffnet eine interaktive Auswahl, in der Sie Ihr Gespräch suchen und auswählen können.415Die Erweiterung und die CLI teilen den gleichen Gesprächsverlauf. Um ein Erweiterungsgespräch in der CLI fortzusetzen, führen Sie `claude --resume` im Terminal aus. Dies öffnet eine interaktive Auswahl, in der Sie Ihr Gespräch suchen und auswählen können.

357 416 

358### Beziehen Sie Terminal-Ausgabe in Eingabeaufforderungen ein417<h3 id="include-terminal-output-in-prompts">

418 Beziehen Sie Terminal-Ausgabe in Eingabeaufforderungen ein

419</h3>

359 420 

360Referenzieren Sie Terminal-Ausgabe in Ihren Eingabeaufforderungen mit `@terminal:name`, wobei `name` der Titel des Terminals ist. Dies ermöglicht Claude, Befehlsausgabe, Fehlermeldungen oder Protokolle zu sehen, ohne zu kopieren und einzufügen.421Referenzieren Sie Terminal-Ausgabe in Ihren Eingabeaufforderungen mit `@terminal:name`, wobei `name` der Titel des Terminals ist. Dies ermöglicht Claude, Befehlsausgabe, Fehlermeldungen oder Protokolle zu sehen, ohne zu kopieren und einzufügen.

361 422 

362### Überwachen Sie Hintergrundprozesse423<h3 id="monitor-background-processes">

424 Überwachen Sie Hintergrundprozesse

425</h3>

363 426 

364Wenn Claude lange laufende Befehle ausführt, zeigt die Erweiterung den Fortschritt in der Statusleiste an. Die Sichtbarkeit für Hintergrundaufgaben ist jedoch 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.427Wenn Claude lange laufende Befehle ausführt, zeigt die Erweiterung den Fortschritt in der Statusleiste an. Die Sichtbarkeit für Hintergrundaufgaben ist jedoch 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.

365 428 

366### Verbinden Sie sich mit externen Tools mit MCP429<h3 id="connect-to-external-tools-with-mcp">

430 Verbinden Sie sich mit externen Tools mit MCP

431</h3>

367 432 

368MCP (Model Context Protocol) servers geben Claude Zugriff auf externe Tools, Datenbanken und APIs.433MCP (Model Context Protocol) Server geben Claude Zugriff auf externe Tools, Datenbanken und APIs.

369 434 

370Um 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 Zugangstoken](https://github.com/settings/personal-access-tokens) authentifiziert, das als Header übergeben wird:435Um 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 Zugangstoken](https://github.com/settings/personal-access-tokens) authentifiziert, das als Header übergeben wird:

371 436 

372```bash theme={null}437```bash theme={null}

373claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \438claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \


376 441 

377Nach der Konfiguration bitten Sie Claude, die Tools zu verwenden (z. B. „Review PR #456").442Nach der Konfiguration bitten Sie Claude, die Tools zu verwenden (z. B. „Review PR #456").

378 443 

379Um MCP servers zu verwalten, ohne VS Code zu verlassen, geben Sie `/mcp` in das Chat-Panel ein. Der MCP-Verwaltungsdialog ermöglicht es Ihnen, Server zu aktivieren oder zu deaktivieren, sich erneut mit einem Server zu verbinden und OAuth-Authentifizierung zu verwalten. Siehe die [MCP-Dokumentation](/de/mcp) für verfügbare servers.444Um MCP-Server zu verwalten, ohne VS Code zu verlassen, geben Sie `/mcp` in das Chat-Panel ein. Der MCP-Verwaltungsdialog ermöglicht es Ihnen, Server zu aktivieren oder zu deaktivieren, sich erneut mit einem Server zu verbinden und OAuth-Authentifizierung zu verwalten. Siehe die [MCP-Dokumentation](/de/mcp) für verfügbare Server.

380 445 

381## Arbeiten Sie mit Git446<h2 id="work-with-git">

447 Arbeiten Sie mit Git

448</h2>

382 449 

383Claude Code wird mit Git integriert, um direkt in VS Code bei Versionskontroll-Workflows zu helfen. Bitten Sie Claude, Änderungen zu committen, Pull Requests zu erstellen oder über Branches zu arbeiten.450Claude Code wird mit Git integriert, um direkt in VS Code bei Versionskontroll-Workflows zu helfen. Bitten Sie Claude, Änderungen zu committen, Pull Requests zu erstellen oder über Branches zu arbeiten.

384 451 

385### Erstellen Sie Commits und Pull Requests452<h3 id="create-commits-and-pull-requests">

453 Erstellen Sie Commits und Pull Requests

454</h3>

386 455 

387Claude kann Änderungen bereitstellen, Commit-Nachrichten schreiben und Pull Requests basierend auf Ihrer Arbeit erstellen:456Claude kann Änderungen bereitstellen, Commit-Nachrichten schreiben und Pull Requests basierend auf Ihrer Arbeit erstellen:

388 457 


394 463 

395Beim Erstellen von Pull Requests generiert Claude Beschreibungen basierend auf den tatsächlichen Codeänderungen und kann Kontext über Tests oder Implementierungsentscheidungen hinzufügen.464Beim Erstellen von Pull Requests generiert Claude Beschreibungen basierend auf den tatsächlichen Codeänderungen und kann Kontext über Tests oder Implementierungsentscheidungen hinzufügen.

396 465 

397### Verwenden Sie Git worktrees für parallele Aufgaben466<h3 id="use-git-worktrees-for-parallel-tasks">

467 Verwenden Sie Git worktrees für parallele Aufgaben

468</h3>

398 469 

399Verwenden Sie das Flag `--worktree` (`-w`), um Claude in einem isolierten worktree mit seinen eigenen Dateien und Branch zu starten:470Verwenden Sie das Flag `--worktree` (`-w`), um Claude in einem isolierten worktree mit seinen eigenen Dateien und Branch zu starten:

400 471 


404 475 

405Jeder worktree behält einen unabhängigen Dateizustand bei, während er die Git-Historie teilt. Dies verhindert, dass Claude-Instanzen sich gegenseitig beeinflussen, wenn sie an verschiedenen Aufgaben arbeiten. Weitere Details finden Sie unter [Führen Sie parallele Sitzungen mit Git worktrees aus](/de/worktrees).476Jeder worktree behält einen unabhängigen Dateizustand bei, während er die Git-Historie teilt. Dies verhindert, dass Claude-Instanzen sich gegenseitig beeinflussen, wenn sie an verschiedenen Aufgaben arbeiten. Weitere Details finden Sie unter [Führen Sie parallele Sitzungen mit Git worktrees aus](/de/worktrees).

406 477 

407## Verwenden Sie Drittanbieter478<h2 id="use-third-party-providers">

479 Verwenden Sie Drittanbieter

480</h2>

408 481 

409Standardmäßig verbindet sich Claude Code direkt mit der API von Anthropic. Wenn Ihre Organisation Amazon Bedrock, Google Vertex AI oder Microsoft Foundry verwendet, um auf Claude zuzugreifen, konfigurieren Sie die Erweiterung, um stattdessen Ihren Anbieter zu verwenden:482Standardmäßig verbindet sich Claude Code direkt mit der API von Anthropic. Wenn Ihre Organisation Amazon Bedrock, Google Vertex AI oder Microsoft Foundry verwendet, um auf Claude zuzugreifen, konfigurieren Sie die Erweiterung, um stattdessen Ihren Anbieter zu verwenden:

410 483 

411<Steps>484<Steps>

412 <Step title="Deaktivieren Sie die Anmeldungsaufforderung">485 <Step title="Deaktivieren Sie die Anmeldungsaufforderung">

413 Öffnen Sie die [Einstellung 'Anmeldungsaufforderung deaktivieren"](vscode://settings/claudeCode.disableLoginPrompt) und aktivieren Sie das Kontrollkästchen.486 Öffnen Sie die [Einstellung 'Anmeldungsaufforderung deaktivieren'](vscode://settings/claudeCode.disableLoginPrompt) und aktivieren Sie das Kontrollkästchen.

414 487 

415 Sie können auch VS Code-Einstellungen öffnen (`Cmd+,` auf Mac oder `Ctrl+,` auf Windows/Linux), nach Claude Code login" suchen und **Anmeldungsaufforderung deaktivieren** aktivieren.488 Sie können auch VS Code-Einstellungen öffnen (`Cmd+,` auf Mac oder `Ctrl+,` auf Windows/Linux), nach 'Claude Code login" suchen und **Anmeldungsaufforderung deaktivieren** aktivieren.

416 </Step>489 </Step>

417 490 

418 <Step title="Konfigurieren Sie Ihren Anbieter">491 <Step title="Konfigurieren Sie Ihren Anbieter">


426 </Step>499 </Step>

427</Steps>500</Steps>

428 501 

429## Sicherheit und Datenschutz502<h2 id="security-and-privacy">

503 Sicherheit und Datenschutz

504</h2>

430 505 

431Ihr Code bleibt privat. Claude Code verarbeitet Ihren Code, um Unterstützung zu bieten, verwendet ihn aber nicht zum Trainieren von Modellen. Weitere Informationen zur Datenbehandlung und zum Deaktivieren der Protokollierung finden Sie unter [Daten und Datenschutz](/de/data-usage).506Ihr Code bleibt privat. Claude Code verarbeitet Ihren Code, um Unterstützung zu bieten, verwendet ihn aber nicht zum Trainieren von Modellen. Weitere Informationen zur Datenbehandlung und zum Deaktivieren der Protokollierung finden Sie unter [Daten und Datenschutz](/de/data-usage).

432 507 


436* Verwenden Sie den manuellen Genehmigungsmodus statt Auto-Accept für Bearbeitungen511* Verwenden Sie den manuellen Genehmigungsmodus statt Auto-Accept für Bearbeitungen

437* Überprüfen Sie Änderungen sorgfältig, bevor Sie sie akzeptieren512* Überprüfen Sie Änderungen sorgfältig, bevor Sie sie akzeptieren

438 513 

439### Der integrierte IDE MCP server514<h3 id="the-built-in-ide-mcp-server">

515 Der integrierte IDE MCP server

516</h3>

440 517 

441Wenn die Erweiterung aktiv ist, wird ein lokaler MCP server ausgeführt, mit dem sich die CLI automatisch verbindet. Dies ist, wie die CLI Diffs in VS Codes nativem Diff-Viewer öffnet, Ihre aktuelle Auswahl für `@`-Erwähnungen liest und – wenn Sie in einem Jupyter-Notebook arbeiten – VS Code auffordert, Zellen auszuführen.518Wenn die Erweiterung aktiv ist, wird ein lokaler MCP server ausgeführt, mit dem sich die CLI automatisch verbindet. Dies ist, wie die CLI Diffs in VS Codes nativem Diff-Viewer öffnet, Ihre aktuelle Auswahl für `@`-Erwähnungen liest und – wenn Sie in einem Jupyter-Notebook arbeiten – VS Code auffordert, Zellen auszuführen.

442 519 


461 538 

462<a id="troubleshooting" />539<a id="troubleshooting" />

463 540 

464## Beheben Sie häufige Probleme541<h2 id="fix-common-issues">

542 Beheben Sie häufige Probleme

543</h2>

465 544 

466### Erweiterung wird nicht installiert545<h3 id="extension-won’t-install">

546 Erweiterung wird nicht installiert

547</h3>

467 548 

468* Stellen Sie sicher, dass Sie eine kompatible Version von VS Code haben (1.98.0 oder später)549* Stellen Sie sicher, dass Sie eine kompatible Version von VS Code haben (1.98.0 oder später)

469* Überprüfen Sie, dass VS Code die Berechtigung zum Installieren von Erweiterungen hat550* Überprüfen Sie, dass VS Code die Berechtigung zum Installieren von Erweiterungen hat

470* Versuchen Sie, direkt vom [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code) zu installieren551* Versuchen Sie, direkt vom [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code) zu installieren

471 552 

472### Spark-Symbol nicht sichtbar553<h3 id="spark-icon-not-visible">

554 Spark-Symbol nicht sichtbar

555</h3>

473 556 

474Das Spark-Symbol wird in der **Editor-Symbolleiste** (oben rechts des Editors) angezeigt, wenn Sie eine Datei geöffnet haben. Wenn Sie es nicht sehen:557Das Spark-Symbol wird in der **Editor-Symbolleiste** (oben rechts des Editors) angezeigt, wenn Sie eine Datei geöffnet haben. Wenn Sie es nicht sehen:

475 558 


481 564 

482Alternativ klicken Sie auf „✱ Claude Code" in der **Statusleiste** (untere rechte Ecke). Dies funktioniert auch ohne offene Datei. Sie können auch die **Befehlspalette** (`Cmd+Shift+P` / `Ctrl+Shift+P`) verwenden und „Claude Code" eingeben.565Alternativ klicken Sie auf „✱ Claude Code" in der **Statusleiste** (untere rechte Ecke). Dies funktioniert auch ohne offene Datei. Sie können auch die **Befehlspalette** (`Cmd+Shift+P` / `Ctrl+Shift+P`) verwenden und „Claude Code" eingeben.

483 566 

484### Cmd+Esc funktioniert auf macOS nicht567<h3 id="cmd-esc-does-nothing-on-macos">

568 Cmd+Esc funktioniert auf macOS nicht

569</h3>

485 570 

486Auf 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. Um die Verknüpfung freizugeben:571Auf 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. Um die Verknüpfung freizugeben:

487 572 


491 576 

492Alternativ können Sie die Erweiterung an eine andere Taste binden: Öffnen Sie den VS Code [Tastaturkürzel-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.577Alternativ können Sie die Erweiterung an eine andere Taste binden: Öffnen Sie den VS Code [Tastaturkürzel-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.

493 578 

494### Claude Code antwortet nie579<h3 id="claude-code-never-responds">

580 Claude Code antwortet nie

581</h3>

495 582 

496Wenn Claude Code nicht auf Ihre Eingabeaufforderungen antwortet:583Wenn Claude Code nicht auf Ihre Eingabeaufforderungen antwortet:

497 584 


501 588 

502Wenn Probleme weiterhin bestehen, [melden Sie ein Problem auf GitHub](https://github.com/anthropics/claude-code/issues) mit Details zum Fehler.589Wenn Probleme weiterhin bestehen, [melden Sie ein Problem auf GitHub](https://github.com/anthropics/claude-code/issues) mit Details zum Fehler.

503 590 

504## Deinstallieren Sie die Erweiterung591<h2 id="uninstall-the-extension">

592 Deinstallieren Sie die Erweiterung

593</h2>

505 594 

506So deinstallieren Sie die Claude Code-Erweiterung:595So deinstallieren Sie die Claude Code-Erweiterung:

507 596 


5092. Suchen Sie nach „Claude Code"5982. Suchen Sie nach „Claude Code"

5103. Klicken Sie auf **Deinstallieren**5993. Klicken Sie auf **Deinstallieren**

511 600 

512Um auch Erweiterungsdaten zu entfernen und alle Einstellungen zurückzusetzen:601Um auch Erweiterungsdaten zu entfernen und alle Einstellungen zurückzusetzen, löschen Sie das Speicherverzeichnis der Erweiterung für Ihre Plattform.

602 

603Auf macOS:

513 604 

514```bash theme={null}605```bash theme={null}

515rm -rf ~/.vscode/globalStorage/anthropic.claude-code606rm -rf ~/Library/"Application Support"/Code/User/globalStorage/anthropic.claude-code

607```

608 

609Auf Linux:

610 

611```bash theme={null}

612rm -rf ~/.config/Code/User/globalStorage/anthropic.claude-code

613```

614 

615Auf Windows in PowerShell:

616 

617```powershell theme={null}

618Remove-Item -Recurse -Force "$env:APPDATA\Code\User\globalStorage\anthropic.claude-code"

516```619```

517 620 

518Weitere Hilfe finden Sie im [Fehlerbehebungsleitfaden](/de/troubleshooting).621Weitere Hilfe finden Sie im [Fehlerbehebungsleitfaden](/de/troubleshooting).

519 622 

520## Nächste Schritte623<h2 id="next-steps">

624 Nächste Schritte

625</h2>

521 626 

522Jetzt, da Sie Claude Code in VS Code eingerichtet haben:627Jetzt, da Sie Claude Code in VS Code eingerichtet haben:

523 628 

Details

129 </Step>129 </Step>

130 130 

131 <Step title="Wählen Sie einen Berechtigungsmodus">131 <Step title="Wählen Sie einen Berechtigungsmodus">

132 Der Modus-Dropdown neben der Eingabe ist standardmäßig auf **Änderungen automatisch akzeptieren** eingestellt, wobei Claude Änderungen vornimmt und einen Branch pusht, ohne auf Genehmigung zu warten. Wechseln Sie zu **Plan-Modus**, wenn Claude einen Ansatz vorschlagen und auf Ihr Okay warten soll, bevor Dateien bearbeitet werden. Cloud-Sitzungen bieten keine Ask-Berechtigungen, Auto-Modus oder Bypass-Berechtigungen. Siehe [Berechtigungsmodi](/de/permission-modes) für die vollständige Liste.132 Der Modus-Dropdown neben der Eingabe ist standardmäßig auf **Änderungen automatisch akzeptieren** eingestellt, wobei Claude Änderungen vornimmt und einen Branch pusht, ohne auf Genehmigung zu warten. Wechseln Sie zu **Plan-Modus**, wenn Claude einen Ansatz vorschlagen und auf Ihr Okay warten soll, bevor Dateien bearbeitet werden. Cloud-Sitzungen bieten keine Ask-Berechtigungen oder Bypass-Berechtigungen. Siehe [Berechtigungsmodi](/de/permission-modes) für die vollständige Liste.

133 </Step>133 </Step>

134 134 

135 <Step title="Beschreiben Sie die Aufgabe und übermitteln Sie sie">135 <Step title="Beschreiben Sie die Aufgabe und übermitteln Sie sie">

whats-new.md +16 −0

Details

8 8 

9Die wöchentliche Entwickler-Zusammenfassung hebt die Funktionen hervor, die am ehesten ändern, wie Sie arbeiten. Jeder Eintrag enthält ausführbaren Code, eine kurze Demo und einen Link zur vollständigen Dokumentation. Für jeden Fehlerbehebung und kleinere Verbesserung siehe das [Changelog](/de/changelog).9Die wöchentliche Entwickler-Zusammenfassung hebt die Funktionen hervor, die am ehesten ändern, wie Sie arbeiten. Jeder Eintrag enthält ausführbaren Code, eine kurze Demo und einen Link zur vollständigen Dokumentation. Für jeden Fehlerbehebung und kleinere Verbesserung siehe das [Changelog](/de/changelog).

10 10 

11<Update label="Woche 24" description="8.–12. Juni 2026" tags={["v2.1.166–v2.1.176"]}>

12 **`/cd`**: Verschieben Sie die aktuelle Sitzung in ein neues Arbeitsverzeichnis mitten im Gespräch, ohne den Prompt-Cache neu zu erstellen.

13 

14 Auch diese Woche: **Sub-Agenten können ihre eigenen Sub-Agenten spawnen** (Hintergrund-Ketten sind auf fünf Ebenen begrenzt); **`--safe-mode`** startet Claude Code mit allen Anpassungen deaktiviert zur Fehlerbehebung; und **`fallbackModel`** konfiguriert bis zu drei Fallback-Modelle, die der Reihe nach versucht werden.

15 

16 [Lesen Sie die Woche-24-Zusammenfassung →](/de/whats-new/2026-w24)

17</Update>

18 

19<Update label="Woche 23" description="1.–5. Juni 2026" tags={["v2.1.158–v2.1.165"]}>

20 **Auto-Modus auf Bedrock, Vertex und Foundry**: Auto-Modus ist jetzt auf Drittanbieter-Providern für Opus 4.7 und Opus 4.8 verfügbar und ersetzt Genehmigungsaufforderungen durch Hintergrund-Sicherheitsprüfungen.

21 

22 Auch diese Woche: **sicherere automatische Bearbeitungen** fordern auf, bevor Dateien geschrieben werden, die Code im `acceptEdits`-Modus ausführen können; **`/plugin list`** druckt Ihre installierten Plugins inline; und **Versionsanforderungen** ermöglichen es verwalteten Bereitstellungen, einen genehmigten Claude Code-Versionsbereich zu erfordern.

23 

24 [Lesen Sie die Woche-23-Zusammenfassung →](/de/whats-new/2026-w23)

25</Update>

26 

11<Update label="Woche 22" description="25.–29. Mai 2026" tags={["v2.1.150–v2.1.157"]}>27<Update label="Woche 22" description="25.–29. Mai 2026" tags={["v2.1.150–v2.1.157"]}>

12 **Claude Opus 4.8**: das neue Standardmodell für Max, Team Premium, Enterprise Pay-as-you-go und Anthropic API-Konten, mit hohem Aufwand standardmäßig und `/effort xhigh` für die schwierigsten Aufgaben.28 **Claude Opus 4.8**: das neue Standardmodell für Max, Team Premium, Enterprise Pay-as-you-go und Anthropic API-Konten, mit hohem Aufwand standardmäßig und `/effort xhigh` für die schwierigsten Aufgaben.

13 29 

whats-new/2026-w23.md +100 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Woche 23 · 1.–5. Juni 2026

6 

7> Führen Sie den Auto-Modus auf Bedrock, Vertex und Foundry aus, fordern Sie vor dem Schreiben von Dateien auf, die Code im acceptEdits-Modus ausführen können, listen Sie installierte Plugins mit /plugin list auf, und erfordern Sie einen genehmigten Versionsbereich für verwaltete Bereitstellungen.

8 

9<div className="digest-meta">

10 <span>Releases <a href="/docs/de/changelog#2-1-158">v2.1.158 → v2.1.165</a></span>

11 <span>4 Features · 1.–5. Juni</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Auto-Modus auf Bedrock, Vertex und Foundry</span>

17 <span className="digest-feature-pill">v2.1.158</span>

18 </div>

19 

20 <p className="digest-feature-lede">Der Auto-Modus ist jetzt auf Bedrock, Vertex und Foundry für Opus 4.7 und Opus 4.8 verfügbar und ersetzt Berechtigungsaufforderungen durch Sicherheitsprüfungen im Hintergrund bei Drittanbieter-Providern. Aktivieren Sie ihn durch Setzen von <code>CLAUDE\_CODE\_ENABLE\_AUTO\_MODE=1</code>.</p>

21 

22 <p className="digest-feature-try">Aktivieren Sie ihn bei einem Drittanbieter-Provider und wechseln Sie dann mit Shift+Tab zum Auto-Modus:</p>

23 

24 ```bash terminal theme={null}

25 export CLAUDE_CODE_ENABLE_AUTO_MODE=1

26 ```

27 

28 <a className="digest-feature-link" href="/docs/de/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry">Auto-Modus bei Drittanbieter-Providern aktivieren</a>

29</div>

30 

31<div className="digest-feature">

32 <div className="digest-feature-header">

33 <span className="digest-feature-title">Sicherere automatische Bearbeitungen</span>

34 <span className="digest-feature-pill">v2.1.160</span>

35 </div>

36 

37 <p className="digest-feature-lede">Claude Code fordert jetzt vor dem Schreiben von Dateien auf, die Code ausführen können, auch im <code>acceptEdits</code>-Modus. Der geschützte Satz umfasst Shell-Startdateien wie <code>.zshenv</code> und <code>.bash\_login</code>, Git-Konfiguration unter <code>\~/.config/git/</code> und Build-Tool-Konfigurationen wie <code>.npmrc</code>, <code>.bazelrc</code> und <code>.pre-commit-config.yaml</code>. Diese Schreibvorgänge werden in keinem Modus außer <code>bypassPermissions</code> automatisch genehmigt.</p>

38 

39 <p className="digest-feature-try">Arbeiten Sie im acceptEdits-Modus; Claude pausiert jetzt vor dem Schreiben dieser Dateien:</p>

40 

41 ```bash terminal theme={null}

42 claude --permission-mode acceptEdits

43 ```

44 

45 <a className="digest-feature-link" href="/docs/de/permission-modes#protected-paths">Geschützte Pfade</a>

46</div>

47 

48<div className="digest-feature">

49 <div className="digest-feature-header">

50 <span className="digest-feature-title">Installierte Plugins mit /plugin list auflisten</span>

51 <span className="digest-feature-pill">v2.1.163</span>

52 </div>

53 

54 <p className="digest-feature-lede">Der neue <code>/plugin list</code>-Befehl gibt Ihre installierten Plugins inline aus, ohne das <code>/plugin</code>-Menü zu öffnen, und ist auch als <code>claude plugin list</code> aus der Shell verfügbar. In der interaktiven Form fügen Sie `--enabled` oder `--disabled` hinzu, um nur Plugins in diesem Zustand anzuzeigen.</p>

55 

56 <p className="digest-feature-try">Listen Sie die Plugins auf, die derzeit aktiviert sind:</p>

57 

58 ```text Claude Code theme={null}

59 > /plugin list --enabled

60 ```

61 

62 <a className="digest-feature-link" href="/docs/de/plugins-reference#plugin-list">Plugin-Befehle</a>

63</div>

64 

65<div className="digest-feature">

66 <div className="digest-feature-header">

67 <span className="digest-feature-title">Versionsanforderungen für verwaltete Bereitstellungen</span>

68 <span className="digest-feature-pill">v2.1.163</span>

69 </div>

70 

71 <p className="digest-feature-lede">Zwei verwaltete Einstellungen, <code>requiredMinimumVersion</code> und <code>requiredMaximumVersion</code>, ermöglichen es Ihrer Organisation, einen genehmigten Claude-Code-Versionsbereich zu erfordern. Ein Client außerhalb des Bereichs wird beim Start beendet und teilt dem Benutzer mit, dass er ein Update über die Methode der Organisation durchführen soll. <code>claude update</code>, <code>claude install</code> und <code>claude doctor</code> funktionieren weiterhin, damit Benutzer sich immer noch erholen können.</p>

72 

73 <p className="digest-feature-try">Fügen Sie eine Untergrenze zu Ihren verwalteten Einstellungen hinzu, damit ältere Clients sich weigern zu starten:</p>

74 

75 ```json managed-settings.json theme={null}

76 "requiredMinimumVersion": "2.1.163"

77 ```

78 

79 <a className="digest-feature-link" href="/docs/de/admin-setup#decide-what-to-enforce">Entscheiden Sie, was Sie durchsetzen möchten</a>

80</div>

81 

82<div className="digest-wins">

83 <p className="digest-wins-title">Weitere Verbesserungen</p>

84 

85 <div className="digest-wins-grid">

86 <div>Das Trigger-Schlüsselwort für <a href="/docs/de/workflows">dynamische Workflows</a> wurde von <code>workflow</code> zu <code>ultracode</code> geändert; das Anfordern eines Workflows in Ihren eigenen Worten funktioniert immer noch, und das Schlüsselwort wird in der Eingabeaufforderung in Violett hervorgehoben</div>

87 <div><a href="/docs/de/hooks">Stop- und SubagentStop-Hooks</a> können <code>hookSpecificOutput.additionalContext</code> zurückgeben, um Claude Feedback zu geben und den Zug am Laufen zu halten, anstatt als Fehler behandelt zu werden</div>

88 <div><code>claude mcp</code> list, get und add geben keine Geheimnisse mehr aus: Umgebungsvariablenverweise werden nicht erweitert, und Anmeldeinformationen-Header und URL-Geheimnisse werden redigiert</div>

89 <div>Ein fehlgeschlagener Bash-Befehl in einem parallelen Tool-Batch bricht die anderen nicht mehr ab; jedes Tool gibt sein eigenes Ergebnis unabhängig zurück</div>

90 <div>Das Bearbeiten einer Datei benötigt nicht mehr zuerst einen separaten Read, wenn Sie sie mit einem einzelnen <code>grep</code>, <code>egrep</code> oder <code>fgrep</code> angesehen haben</div>

91 <div>Das Klicken auf einen Befehl im Autocomplete-Menü füllt ihn jetzt in Ihre Eingabeaufforderung ein, anstatt ihn sofort auszuführen; drücken Sie Enter, um ihn auszuführen</div>

92 <div>Das Auflisten von <code>Grep</code> oder <code>Glob</code> in `--tools` stellt jetzt die dedizierten Suchtools auf nativen Builds mit eingebetteter Suche bereit, anstatt diese Namen stillschweigend zu ignorieren</div>

93 <div><code>/effort</code> bestätigt jetzt, wenn Ihre gewählte Stufe als Standard für neue Sitzungen beibehalten wird</div>

94 <div><code>OTEL\_RESOURCE\_ATTRIBUTES</code>-Werte werden jetzt als Beschriftungen auf Metrik-Datenpunkten angehängt, sodass Sie Nutzungsmetriken nach benutzerdefinierten Dimensionen wie Team oder Repo aufteilen können</div>

95 <div>Windsurf wird in <code>/ide</code>, <code>/terminal-setup</code> und <code>/scroll-speed</code> in Devin Desktop umbenannt, gemäß der Umbenennung des Editors</div>

96 <div><code>/btw</code> erhält eine <code>c zum Kopieren</code>-Verknüpfung, die die rohe Markdown-Antwort in die Zwischenablage kopiert</div>

97 </div>

98</div>

99 

100[Vollständiges Changelog für v2.1.158–v2.1.165 →](/de/changelog#2-1-158)

whats-new/2026-w24.md +84 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Woche 24 · 8.–12. Juni 2026

6 

7> Verschieben Sie eine Sitzung mit /cd in ein neues Verzeichnis, lassen Sie Sub-Agenten ihre eigenen Sub-Agenten spawnen, und beheben Sie eine fehlerhafte Konfiguration mit dem abgesicherten Modus.

8 

9<div className="digest-meta">

10 <span>Releases <a href="/de/docs/changelog#2-1-166">v2.1.166 → v2.1.176</a></span>

11 <span>3 Funktionen · 8.–12. Juni</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Verschieben Sie eine Sitzung mit /cd</span>

17 <span className="digest-feature-pill">v2.1.169</span>

18 </div>

19 

20 <p className="digest-feature-lede">Der neue <code>/cd</code>-Befehl verschiebt die aktuelle Sitzung in ein anderes Arbeitsverzeichnis, ohne den Prompt-Cache neu zu erstellen: Die <code>CLAUDE.md</code> des neuen Verzeichnisses wird als Nachricht angehängt, anstatt die Systemaufforderung zu ersetzen. Die Sitzung wird in den Projektspeicher des neuen Verzeichnisses verlagert, sodass `--resume` und `--continue` sie dort finden. Claude fordert Sie auf, das Verzeichnis zu vertrauen, wenn Sie darin noch nicht gearbeitet haben.</p>

21 

22 <p className="digest-feature-try">Verschieben Sie die Sitzung in ein anderes Projekt, ohne neu zu starten:</p>

23 

24 ```text Claude Code theme={null}

25 > /cd ../other-project

26 ```

27 

28 <a className="digest-feature-link" href="/de/docs/commands#all-commands">Befehlsreferenz</a>

29</div>

30 

31<div className="digest-feature">

32 <div className="digest-feature-header">

33 <span className="digest-feature-title">Sub-Agenten können Sub-Agenten spawnen</span>

34 <span className="digest-feature-pill">v2.1.172</span>

35 </div>

36 

37 <p className="digest-feature-lede">Sub-Agenten können jetzt ihre eigenen Sub-Agenten spawnen. Das Sub-Agenten-Panel unter der Eingabeaufforderung zeigt den vollständigen Baum: Jede Zeile enthält eine Anzahl ihrer Nachkommen und einen Pfad zurück zu <code>main</code>. Hintergrund-Sub-Agenten sind auf fünf Ebenen Tiefe begrenzt, um unkontrollierte gleichzeitige Bäume zu verhindern; Vordergrund-Ketten können in jeder Tiefe spawnen und sind selbstbegrenzend.</p>

38 

39 <p className="digest-feature-try">Öffnen Sie die Agenten-Ansicht, um den verschachtelten Baum zu beobachten, während die Arbeit sich ausbreitet:</p>

40 

41 ```text Claude Code theme={null}

42 > /agents

43 ```

44 

45 <a className="digest-feature-link" href="/de/docs/sub-agents#spawn-nested-subagents">Verschachtelte Sub-Agenten spawnen</a>

46</div>

47 

48<div className="digest-feature">

49 <div className="digest-feature-header">

50 <span className="digest-feature-title">Beheben Sie Probleme mit dem abgesicherten Modus</span>

51 <span className="digest-feature-pill">v2.1.169</span>

52 </div>

53 

54 <p className="digest-feature-lede">Starten Sie Claude Code mit `--safe-mode`, oder setzen Sie <code>CLAUDE\_CODE\_SAFE\_MODE</code>, um mit allen deaktivierten Anpassungen zu starten: <code>CLAUDE.md</code>, Skills, Plugins, Hooks, MCP-Server und benutzerdefinierte Befehle und Agenten werden nicht geladen. Authentifizierung, Modellauswahl, integrierte Tools und Berechtigungen funktionieren weiterhin. Wenn ein Problem im abgesicherten Modus verschwindet, ist eine dieser Oberflächen die Ursache.</p>

55 

56 <p className="digest-feature-try">Starten Sie eine saubere Sitzung, um eine fehlerhafte Konfiguration zu isolieren:</p>

57 

58 ```bash terminal theme={null}

59 claude --safe-mode

60 ```

61 

62 <a className="digest-feature-link" href="/de/docs/debug-your-config#test-against-a-clean-configuration">Testen Sie gegen eine saubere Konfiguration</a>

63</div>

64 

65<div className="digest-wins">

66 <p className="digest-wins-title">Weitere Verbesserungen</p>

67 

68 <div className="digest-wins-grid">

69 <div><a href="/de/docs/model-config#fallback-model-chains"><code>fallbackModel</code></a> konfiguriert bis zu drei Fallback-Modelle, die der Reihe nach versucht werden, wenn das primäre Modell überlastet oder nicht verfügbar ist, und `--fallback-model` gilt jetzt auch für interaktive Sitzungen</div>

70 <div>Sitzungstitel werden jetzt in der Sprache Ihres Gesprächs generiert; fixieren Sie einen bestimmten mit der <code>language</code>-Einstellung</div>

71 <div>`claude agents --json` fügt `--all` hinzu, um abgeschlossene Sitzungen sowie neue <code>id</code>- und <code>state</code>-Felder einzubeziehen, und lässt blockierte oder neu versendete Sitzungen nicht mehr aus</div>

72 <div>Das Durchsuchen von Plugins eines Marketplace in <code>/plugin</code> hat jetzt eine Suchleiste</div>

73 <div>Neue <code>disableBundledSkills</code>-Einstellung und <code>CLAUDE\_CODE\_DISABLE\_BUNDLED\_SKILLS</code> verbergen gebündelte Skills, Workflows und integrierte Befehle vor dem Modell</div>

74 <div>Deny-Regeln akzeptieren ein Glob in der Tool-Name-Position, sodass <code>"\*"</code> alle Tools verweigert, und unbekannte Tool-Namen in Deny-Regeln warnen jetzt beim Start</div>

75 <div>Cross-Session-Messaging ist gehärtet: Nachrichten, die über <code>SendMessage</code> von anderen Sitzungen weitergeleitet werden, tragen keine Benutzerautorität mehr, und der Auto-Modus blockiert sie</div>

76 <div>Amazon Bedrock liest die AWS-Region aus <code>\~/.aws</code>-Konfigurationsdateien, wenn <code>AWS\_REGION</code> nicht gesetzt ist, und <code>/status</code> zeigt, woher die Region stammt</div>

77 <div>Neue verwaltete Einstellung <code>enforceAvailableModels</code> macht die <code>availableModels</code>-Allowlist auch das Standardmodell einschränken</div>

78 <div>Claude in Chrome-Browser-Tools werden jetzt in einem einzigen Batch-Aufruf geladen, anstatt einen pro Tool</div>

79 <div><code>claude update</code> kündigt die Zielversion an, bevor sie heruntergeladen wird, anstatt stumm zu sein</div>

80 <div>Neue <code>footerLinksRegexes</code>-Einstellung fügt Regex-abgestimmte Link-Badges zur Fußzeile hinzu</div>

81 </div>

82</div>

83 

84[Vollständiges Changelog für v2.1.166–v2.1.176 →](/de/changelog#2-1-166)

workflows.md +4 −2

Details

9{/* plan-availability: feature=workflows plans=pro,max,team,enterprise providers=all */}9{/* plan-availability: feature=workflows plans=pro,max,team,enterprise providers=all */}

10 10 

11<Note>11<Note>

12 Dynamische Workflows befinden sich in der Forschungsvorschau. Sie erfordern Claude Code v2.1.154 oder später und sind auf allen bezahlten Plänen, mit Anthropic API-Zugriff und auf Amazon Bedrock, Google Cloud Vertex AI und Microsoft Foundry verfügbar. Aktivieren Sie sie auf Pro über die Zeile „Dynamic workflows" in `/config`.12 Dynamische Workflows erfordern Claude Code v2.1.154 oder später und sind auf allen bezahlten Plänen, mit Anthropic API-Zugriff und auf Amazon Bedrock, Google Cloud Vertex AI und Microsoft Foundry verfügbar. Aktivieren Sie sie auf Pro über die Zeile „Dynamic workflows" in `/config`.

13</Note>13</Note>

14 14 

15Ein dynamischer Workflow ist ein JavaScript-Skript, das [Subagenten](/de/sub-agents) im großen Maßstab orchestriert. Claude schreibt das Skript für die Aufgabe, die Sie beschreiben, und eine Laufzeit führt es im Hintergrund aus, während Ihre Sitzung reaktionsschnell bleibt.15Ein dynamischer Workflow ist ein JavaScript-Skript, das [Subagenten](/de/sub-agents) im großen Maßstab orchestriert. Claude schreibt das Skript für die Aufgabe, die Sie beschreiben, und eine Laufzeit führt es im Hintergrund aus, während Ihre Sitzung reaktionsschnell bleibt.


130 Fordern Sie einen Workflow in Ihrer Eingabeaufforderung an130 Fordern Sie einen Workflow in Ihrer Eingabeaufforderung an

131</h3>131</h3>

132 132 

133Um eine einzelne Aufgabe als Workflow auszuführen, ohne die Anstrengungsebene der Sitzung zu ändern, fügen Sie das Schlüsselwort `ultracode` überall in Ihrer Eingabeaufforderung ein. Das Fragen in Ihren eigenen Worten, zum Beispiel „einen Workflow verwenden" oder „einen Workflow ausführen", funktioniert auch: Claude behandelt eine direkte Anfrage als die gleiche Opt-in. Vor v2.1.160 war das wörtliche Trigger-Schlüsselwort `workflow`; Anfragen in natürlicher Sprache funktionieren in beiden Versionen.133Um eine einzelne Aufgabe als Workflow auszuführen, ohne die Anstrengungsebene der Sitzung zu ändern, fügen Sie das Schlüsselwort `ultracode` in Ihrer Eingabeaufforderung ein. Das Fragen in Ihren eigenen Worten, zum Beispiel „einen Workflow verwenden" oder „einen Workflow ausführen", funktioniert auch: Claude behandelt eine direkte Anfrage als die gleiche Opt-in. Vor v2.1.160 war das wörtliche Trigger-Schlüsselwort `workflow`; Anfragen in natürlicher Sprache funktionieren in beiden Versionen.

134 134 

135```text theme={null}135```text theme={null}

136ultracode: audit every API endpoint under src/routes/ for missing auth checks136ultracode: audit every API endpoint under src/routes/ for missing auth checks


198 198 

199Drücken Sie Enter zum Speichern. Der Workflow wird in zukünftigen Sitzungen von beiden Orten aus als `/<name>` ausgeführt.199Drücken Sie Enter zum Speichern. Der Workflow wird in zukünftigen Sitzungen von beiden Orten aus als `/<name>` ausgeführt.

200 200 

201{/* min-version: 2.1.178 */}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.

202 

201Wenn ein Projekt-Workflow und ein persönlicher Workflow denselben Namen teilen, wird der Projekt-Workflow ausgeführt.203Wenn ein Projekt-Workflow und ein persönlicher Workflow denselben Namen teilen, wird der Projekt-Workflow ausgeführt.

202 204 

203<h3 id="pass-input-to-a-saved-workflow">205<h3 id="pass-input-to-a-saved-workflow">

worktrees.md +4 −2

Details

36 36 

37Sie können Claude auch während einer Sitzung bitten, „in einem Worktree zu arbeiten", und es wird einen mit dem [`EnterWorktree`](/de/tools-reference)-Tool erstellen. Sobald Sie sich in einem Worktree befinden, kann Claude direkt zu einem anderen unter `.claude/worktrees/` wechseln, indem er `EnterWorktree` mit dem Zielpfad aufruft. Der vorherige Worktree bleibt unverändert auf der Festplatte.37Sie können Claude auch während einer Sitzung bitten, „in einem Worktree zu arbeiten", und es wird einen mit dem [`EnterWorktree`](/de/tools-reference)-Tool erstellen. Sobald Sie sich in einem Worktree befinden, kann Claude direkt zu einem anderen unter `.claude/worktrees/` wechseln, indem er `EnterWorktree` mit dem Zielpfad aufruft. Der vorherige Worktree bleibt unverändert auf der Festplatte.

38 38 

39Bevor Sie `--worktree` in einem Verzeichnis zum ersten Mal verwenden, akzeptieren Sie den Dialog zum Vertrauen des Arbeitsbereichs, indem Sie `claude` einmal in diesem Verzeichnis ausführen. Wenn das Vertrauen noch nicht akzeptiert wurde, beendet sich `--worktree` mit einem Fehler und fordert Sie auf, zuerst `claude` im Verzeichnis auszuführen, auch wenn es mit `-p` kombiniert wird.39Bevor Sie `--worktree` interaktiv in einem Verzeichnis zum ersten Mal verwenden, akzeptieren Sie den Dialog zum Vertrauen des Arbeitsbereichs, indem Sie `claude` einmal in diesem Verzeichnis ausführen. Wenn das Vertrauen noch nicht akzeptiert wurde, beendet sich `--worktree` mit einem Fehler und fordert Sie auf, zuerst `claude` im Verzeichnis auszuführen. Nicht-interaktive Ausführungen mit `-p` überspringen die [Vertrauensprüfung](/de/security), sodass `claude -p --worktree` ohne diese fortfährt.

40 40 

41<Tip>41<Tip>

42 Fügen Sie `.claude/worktrees/` zu Ihrer `.gitignore` hinzu, damit Worktree-Inhalte nicht als nicht verfolgte Dateien in Ihrem Haupt-Checkout angezeigt werden.42 Fügen Sie `.claude/worktrees/` zu Ihrer `.gitignore` hinzu, damit Worktree-Inhalte nicht als nicht verfolgte Dateien in Ihrem Haupt-Checkout angezeigt werden.


102 102 

103Worktrees, die Claude für Subagenten und [Hintergrundsitzungen](/de/agent-view#how-file-edits-are-isolated) erstellt hat, werden automatisch entfernt, sobald sie älter als Ihre [`cleanupPeriodDays`](/de/settings#available-settings)-Einstellung sind, sofern sie keine nicht committeten Änderungen, keine nicht verfolgten Dateien und keine nicht gepushten Commits haben. Worktrees, die Sie mit `--worktree` erstellen, werden niemals durch diese Bereinigung entfernt.103Worktrees, die Claude für Subagenten und [Hintergrundsitzungen](/de/agent-view#how-file-edits-are-isolated) erstellt hat, werden automatisch entfernt, sobald sie älter als Ihre [`cleanupPeriodDays`](/de/settings#available-settings)-Einstellung sind, sofern sie keine nicht committeten Änderungen, keine nicht verfolgten Dateien und keine nicht gepushten Commits haben. Worktrees, die Sie mit `--worktree` erstellen, werden niemals durch diese Bereinigung entfernt.

104 104 

105Während ein Agent ausgeführt wird, führt Claude `git worktree lock` auf seinem Worktree aus, damit eine gleichzeitige Bereinigung ihn nicht entfernen kann. Die Sperre wird freigegeben, wenn der Agent beendet wird. Um einen Worktree zu bereinigen, den die Bereinigung beibehält, führen Sie `git worktree remove` aus und fügen Sie `--force` hinzu, wenn der Worktree nicht committete Änderungen oder nicht verfolgte Dateien hat.

106 

105<h2 id="manage-worktrees-manually">107<h2 id="manage-worktrees-manually">

106 Verwalten Sie Worktrees manuell108 Worktrees manuell verwalten

107</h2>109</h2>

108 110 

109Für vollständige Kontrolle über den Worktree-Speicherort und die Branch-Konfiguration erstellen Sie Worktrees direkt mit Git. Dies ist nützlich, wenn Sie einen bestimmten vorhandenen Branch auschecken oder den Worktree außerhalb des Repositories platzieren müssen.111Für vollständige Kontrolle über den Worktree-Speicherort und die Branch-Konfiguration erstellen Sie Worktrees direkt mit Git. Dies ist nützlich, wenn Sie einen bestimmten vorhandenen Branch auschecken oder den Worktree außerhalb des Repositories platzieren müssen.

Details

4 4 

5# Null-Datenspeicherung5# Null-Datenspeicherung

6 6 

7> Erfahren Sie mehr über Null-Datenspeicherung (ZDR) für Claude Code auf Claude for Enterprise, einschließlich Umfang, deaktivierter Funktionen und wie Sie die Aktivierung anfordern.7> Erfahren Sie mehr über Null-Datenspeicherung (ZDR) für Claude Code, verfügbar für qualifizierte Konten auf Claude for Enterprise, einschließlich Umfang, deaktivierter Funktionen und wie Sie die Aktivierung anfordern.

8 8 

9Null-Datenspeicherung (ZDR) ist für Claude Code verfügbar, wenn es über Claude for Enterprise verwendet wird. Wenn ZDR aktiviert ist, werden Eingabeaufforderungen und Modellreaktionen, die während Claude Code-Sitzungen generiert werden, in Echtzeit verarbeitet und nicht von Anthropic gespeichert, nachdem die Antwort zurückgegeben wurde, außer wenn dies erforderlich ist, um das Gesetz einzuhalten oder Missbrauch zu bekämpfen.9Null-Datenspeicherung (ZDR) für Claude Code ist für qualifizierte Konten auf Claude for Enterprise verfügbar. Wenn ZDR aktiviert ist, werden Eingabeaufforderungen und Modellreaktionen, die während Claude Code-Sitzungen generiert werden, in Echtzeit verarbeitet und nicht von Anthropic gespeichert, nachdem die Antwort zurückgegeben wurde, außer wenn dies erforderlich ist, um das Gesetz einzuhalten oder Missbrauch zu bekämpfen.

10 

11<Note>

12 ZDR ist nicht im Standard-Plan von Claude for Enterprise enthalten und kann nicht in Ihren Admin-Einstellungen aktiviert werden. Es ist für qualifizierte Konten verfügbar und erfordert eine separate Aktivierung durch Anthropic. Wenn Ihre Organisation ZDR benötigt, [kontaktieren Sie den Vertrieb](https://www.anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=zero_data_retention_request) oder Ihr Anthropic-Kontoteam, um die Berechtigung zu bestätigen.

13</Note>

10 14 

11ZDR auf Claude for Enterprise gibt Unternehmenskunden die Möglichkeit, Claude Code mit Null-Datenspeicherung zu verwenden und auf Verwaltungsfunktionen zuzugreifen:15ZDR auf Claude for Enterprise gibt Unternehmenskunden die Möglichkeit, Claude Code mit Null-Datenspeicherung zu verwenden und auf Verwaltungsfunktionen zuzugreifen:

12 16 


31 Was ZDR abdeckt35 Was ZDR abdeckt

32</h3>36</h3>

33 37 

34ZDR deckt Modellrückschluss-Aufrufe ab, die über Claude Code auf Claude for Enterprise durchgeführt werden. Wenn Sie Claude Code in Ihrem Terminal verwenden, werden die Eingabeaufforderungen, die Sie senden, und die Antworten, die Claude generiert, nicht von Anthropic gespeichert. Dies gilt unabhängig davon, welches Claude-Modell verwendet wird.38ZDR deckt Modellrückschluss-Aufrufe ab, die über Claude Code auf Claude for Enterprise durchgeführt werden. Wenn Sie Claude Code in Ihrem Terminal verwenden, werden die Eingabeaufforderungen, die Sie senden, und die Antworten, die Claude generiert, nicht von Anthropic gespeichert. Dies gilt für jedes Modell, das ZDR-Organisationen zur Verfügung steht. Einige Modelle erfordern Datenspeicherung und sind unter ZDR nicht verfügbar; siehe [Modellverfügbarkeit unter ZDR](#model-availability-under-zdr).

35 39 

36<h3 id="what-zdr-does-not-cover">40<h3 id="what-zdr-does-not-cover">

37 Was ZDR nicht abdeckt41 Was ZDR nicht abdeckt


54Wenn ZDR für eine Claude Code-Organisation auf Claude for Enterprise aktiviert ist, werden bestimmte Funktionen, die das Speichern von Eingabeaufforderungen oder Vervollständigungen erfordern, automatisch auf Backend-Ebene deaktiviert:58Wenn ZDR für eine Claude Code-Organisation auf Claude for Enterprise aktiviert ist, werden bestimmte Funktionen, die das Speichern von Eingabeaufforderungen oder Vervollständigungen erfordern, automatisch auf Backend-Ebene deaktiviert:

55 59 

56| Funktion | Grund |60| Funktion | Grund |

57| ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |61| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |

58| [Claude Code im Web](/de/claude-code-on-the-web) | Erfordert serverseitige Speicherung des Gesprächsverlaufs. |62| [Claude Code im Web](/de/claude-code-on-the-web) | Erfordert serverseitige Speicherung des Gesprächsverlaufs. |

59| [Remote-Sitzungen](/de/desktop#remote-sessions) aus der Desktop-App | Erfordert persistente Sitzungsdaten, die Eingabeaufforderungen und Vervollständigungen enthalten. |63| [Cloud-Sitzungen](/de/desktop#cloud-sessions) aus der Desktop-App | Erfordert persistente Sitzungsdaten, die Eingabeaufforderungen und Vervollständigungen enthalten. |

60| Feedback-Übermittlung (`/feedback`) | Das Übermitteln von Feedback sendet Gesprächsdaten an Anthropic. |64| Feedback-Übermittlung (`/feedback`) | Das Übermitteln von Feedback sendet Gesprächsdaten an Anthropic. |

61 65 

62Diese Funktionen werden im Backend blockiert, unabhängig von der clientseitigen Anzeige. Wenn Sie während des Starts eine deaktivierte Funktion im Claude Code-Terminal sehen, führt der Versuch, sie zu verwenden, zu einem Fehler, der angibt, dass die Richtlinien der Organisation diese Aktion nicht zulassen.66Diese Funktionen werden im Backend blockiert, unabhängig von der clientseitigen Anzeige. Wenn Sie während des Starts eine deaktivierte Funktion im Claude Code-Terminal sehen, führt der Versuch, sie zu verwenden, zu einem Fehler, der angibt, dass die Richtlinien der Organisation diese Aktion nicht zulassen.

63 67 

64Zukünftige Funktionen können auch deaktiviert werden, wenn sie das Speichern von Eingabeaufforderungen oder Vervollständigungen erfordern.68Zukünftige Funktionen können auch deaktiviert werden, wenn sie das Speichern von Eingabeaufforderungen oder Vervollständigungen erfordern.

65 69 

70<h3 id="model-availability-under-zdr">

71 Modellverfügbarkeit unter ZDR

72</h3>

73 

74Claude Fable 5 ist nicht für Organisationen mit aktivierter Null-Datenspeicherung verfügbar. Diese Modellklasse [erfordert Datenspeicherung](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements), daher können Anfragen von ZDR-Organisationen nicht von ihr bedient werden. Das Modell fehlt entweder in der `/model`-Auswahl für ZDR-Organisationen oder wird als deaktiviert mit einem Hinweis angezeigt, dass das Deaktivieren von ZDR erforderlich ist, und der Server lehnt Anfragen dafür unabhängig von der Client-Konfiguration ab.

75 

76Andere Modelle bleiben unter ZDR verfügbar. Fable 5 ist nicht das Standardmodell, und der `best`-Alias, der sich zu Fable 5 auflöst, wo er verfügbar ist, wird zu Opus für Organisationen, wo er nicht verfügbar ist, einschließlich ZDR-Organisationen.

77 

66<h2 id="data-retention-for-policy-violations">78<h2 id="data-retention-for-policy-violations">

67 Datenspeicherung bei Richtlinienverletzungen79 Datenspeicherung bei Richtlinienverletzungen

68</h2>80</h2>