SpyBara
Go Premium

Documentation 2026-07-02 23:59 UTC to 2026-07-03 23:00 UTC

51 files changed +1,074 −333. View all changes and history on the product overview
2026
Sat 4 03:01 Fri 3 23:00 Thu 2 23:59 Wed 1 21:01

admin-setup.md +2 −0

Details

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

91| [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` |91| [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` |

92 92 

93Organisationen, deren Mitglieder sich über claude.ai oder die Anthropic API authentifizieren, können Modelle auch ohne Bereitstellung von Einstellungen steuern: [Organisationsmodelleinschränkungen](/de/model-config#organization-model-restrictions) deaktivieren einzelne Modelle, ein [Organisationsstandardmodell](/de/model-config#organization-default-model) legt fest, mit welchem Modell neue Sitzungen beginnen, und [Organisationsaufwandsgrenzen](/de/model-config#organization-effort-limits) begrenzen Aufwandsstufen pro Rolle. Alle drei Kontrollen erfordern einen Claude Enterprise-Plan. Modelleinschränkungen und Aufwandsgrenzen werden serverseitig durchgesetzt; das Standardmodell ist ein Ausgangspunkt, den Benutzer ändern können, es sei denn, die Organisation erzwingt es. Die Durchsetzung ist für eine begrenzte Anzahl von Organisationen verfügbar; fragen Sie Ihr Anthropic-Kontoteam nach der Verfügbarkeit. Keine dieser Kontrollen erreichen Sitzungen auf Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder [Claude Platform on AWS](/de/claude-platform-on-aws); verwenden Sie auf diesen Anbietern `availableModels` oben für Einschränkungen und den `model`-Schlüssel in verwalteten Einstellungen für einen Standard.

94 

93Berechtigungsregeln 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.95Berechtigungsregeln 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.

94 96 

95Für das Bedrohungsmodell, das diese Kontrollen verteidigen, siehe [Sicherheit](/de/security).97Für das Bedrohungsmodell, das diese Kontrollen verteidigen, siehe [Sicherheit](/de/security).

advisor.md +4 −3

Details

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

86 86 

87| Hauptmodell | Akzeptierte Advisors | Hinweise |87| Hauptmodell | Akzeptierte Advisors | Hinweise |

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

89| Haiku 4.5 | Fable, Opus, Sonnet | Haiku kann den Advisor aufrufen, kann aber nicht als einer fungieren |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 | |90| Sonnet 4.6 | Fable, Opus, Sonnet | |

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

92| 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. Ein Opus 4.6 Hauptmodell akzeptiert auch einen Sonnet 5 Advisor |92| Opus 4.6 | Fable, Opus, Sonnet 5 | Sonnet 5 und Opus 4.6 werden als gleich leistungsfähig eingestuft, daher akzeptiert ein Opus 4.6 Hauptmodell einen Sonnet 5 Advisor |

93| Opus 4.7 oder später | Fable, Opus 4.7, Opus 4.8 | Opus 4.7 und Opus 4.8 werden als gleich leistungsfähig eingestuft, daher akzeptiert jedes das andere als Advisor. Ein Opus 4.7 Hauptmodell mit einem Opus 4.6 oder Sonnet 5 Advisor wird abgelehnt |

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

94 95 

95Fable 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.96Fable 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.


174/advisor off175/advisor off

175```176```

176 177 

177Um 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).178Um das Advisor-Tool vollständig zu deaktivieren, setzen Sie `CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1`. Der `/advisor` Befehl wird nicht verfügbar und jedes konfigurierte `advisorModel` wird ignoriert. Das `--advisor` Flag wird akzeptiert, hat aber keine Auswirkung; vorhandene Skripte, die es übergeben, funktionieren weiterhin ohne Fehler. Siehe [Umgebungsvariablen](/de/env-vars).

178 179 

179<h2 id="compare-with-related-features">180<h2 id="compare-with-related-features">

180 Vergleich mit verwandten Funktionen181 Vergleich mit verwandten Funktionen

Details

86<Accordion title="Beispiel: Nachrichtentypen überprüfen und Ergebnisse verarbeiten">86<Accordion title="Beispiel: Nachrichtentypen überprüfen und Ergebnisse verarbeiten">

87 <CodeGroup>87 <CodeGroup>

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

89 import asyncio

89 from claude_agent_sdk import query, AssistantMessage, ResultMessage90 from claude_agent_sdk import query, AssistantMessage, ResultMessage

90 91 

92 

93 async def main():

94 try:

91 async for message in query(prompt="Summarize this project"):95 async for message in query(prompt="Summarize this project"):

92 if isinstance(message, AssistantMessage):96 if isinstance(message, AssistantMessage):

93 print(f"Turn completed: {len(message.content)} content blocks")97 print(f"Turn completed: {len(message.content)} content blocks")


96 print(message.result)100 print(message.result)

97 else:101 else:

98 print(f"Stopped: {message.subtype}")102 print(f"Stopped: {message.subtype}")

103 except Exception as error:

104 # A single-shot query() raises after yielding an error result. If the

105 # failure was an error result, the error subtype branches above have

106 # already run; connection or process failures yield no result message.

107 print(f"Session ended with an error: {error}")

108 

109 

110 asyncio.run(main())

99 ```111 ```

100 112 

101 ```typescript TypeScript theme={null}113 ```typescript TypeScript theme={null}

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

103 115 

116 try {

104 for await (const message of query({ prompt: "Summarize this project" })) {117 for await (const message of query({ prompt: "Summarize this project" })) {

105 if (message.type === "assistant") {118 if (message.type === "assistant") {

106 console.log(`Turn completed: ${message.message.content.length} content blocks`);119 console.log(`Turn completed: ${message.message.content.length} content blocks`);


113 }126 }

114 }127 }

115 }128 }

129 } catch (error) {

130 // A single-shot query() throws after yielding an error result. If the

131 // failure was an error result, the error subtype branches above have

132 // already run; connection or process failures yield no result message.

133 console.log(`Session ended with an error: ${error}`);

134 }

116 ```135 ```

117 </CodeGroup>136 </CodeGroup>

118</Accordion>137</Accordion>


321 340 

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.341Das 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.

323 342 

343<Note>

344 Wenn eine Abfrage mit einem Fehler-Ergebnis endet:

345 

346 * Ein einzelner `query()`-Aufruf liefert die endgültige Ergebnis-Nachricht und löst dann einen Fehler aus, der den Fehlertext enthält, wie z. B. `Reached maximum number of turns`. Das Auslösen ist beabsichtigt — umhüllen Sie die Schleife mit einem Try-Block, wenn Ihr Code danach fortfahren muss. Der zugrunde liegende Claude Code-Prozess beendet sich auch mit einem Nicht-Null-Code.

347 * Eine Streaming-Eingabe-Sitzung bleibt aktiv, und Sie können weiterhin Nachrichten senden.

348</Note>

349 

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.350Das 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.

325 351 

326<h2 id="hooks">352<h2 id="hooks">


348 374 

349Dieses Beispiel kombiniert die Schlüsselkonzepte von dieser Seite in einen einzelnen Agent, der fehlgeschlagene Tests behebt. Es konfiguriert den Agent mit zulässigen Werkzeugen (automatisch genehmigt, damit der Agent autonom läuft), Projekteinstellungen und Sicherheitslimits für Runden und Anstrengungsgrad. Während die Schleife läuft, erfasst sie die Sitzungs-ID für mögliche Wiederaufnahme, verarbeitet das endgültige Ergebnis und gibt die Gesamtkosten aus.375Dieses Beispiel kombiniert die Schlüsselkonzepte von dieser Seite in einen einzelnen Agent, der fehlgeschlagene Tests behebt. Es konfiguriert den Agent mit zulässigen Werkzeugen (automatisch genehmigt, damit der Agent autonom läuft), Projekteinstellungen und Sicherheitslimits für Runden und Anstrengungsgrad. Während die Schleife läuft, erfasst sie die Sitzungs-ID für mögliche Wiederaufnahme, verarbeitet das endgültige Ergebnis und gibt die Gesamtkosten aus.

350 376 

377Da ein einzelner `query()`-Aufruf nach dem Ausgeben eines Fehlerergebnisses eine Ausnahme auslöst, ist die Schleife in einen Try-Block eingewickelt, damit das Skript sauber beendet wird, wenn ein Limit erreicht wird.

378 

351<CodeGroup>379<CodeGroup>

352 ```python Python theme={null}380 ```python Python theme={null}

353 import asyncio381 import asyncio


357 async def run_agent():385 async def run_agent():

358 session_id = None386 session_id = None

359 387 

388 try:

360 async for message in query(389 async for message in query(

361 prompt="Find and fix the bug causing test failures in the auth module",390 prompt="Find and fix the bug causing test failures in the auth module",

362 options=ClaudeAgentOptions(391 options=ClaudeAgentOptions(


389 print(f"Stopped: {message.subtype}")418 print(f"Stopped: {message.subtype}")

390 if message.total_cost_usd is not None:419 if message.total_cost_usd is not None:

391 print(f"Cost: ${message.total_cost_usd:.4f}")420 print(f"Cost: ${message.total_cost_usd:.4f}")

421 except Exception as error:

422 # A single-shot query() raises after yielding an error result. If the

423 # failure was an error result, the error subtype branches above have

424 # already run; connection or process failures yield no result message.

425 print(f"Session ended with an error: {error}")

392 426 

393 427 

394 asyncio.run(run_agent())428 asyncio.run(run_agent())


399 433 

400 let sessionId: string | undefined;434 let sessionId: string | undefined;

401 435 

436 try {

402 for await (const message of query({437 for await (const message of query({

403 prompt: "Find and fix the bug causing test failures in the auth module",438 prompt: "Find and fix the bug causing test failures in the auth module",

404 options: {439 options: {


428 console.log(`Cost: $${message.total_cost_usd.toFixed(4)}`);463 console.log(`Cost: $${message.total_cost_usd.toFixed(4)}`);

429 }464 }

430 }465 }

466 } catch (error) {

467 // A single-shot query() throws after yielding an error result. If the

468 // failure was an error result, the error subtype branches above have

469 // already run; connection or process failures yield no result message.

470 console.log(`Session ended with an error: ${error}`);

471 }

431 ```472 ```

432</CodeGroup>473</CodeGroup>

433 474 

Details

63 ```typescript TypeScript theme={null}63 ```typescript TypeScript theme={null}

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

65 65 

66 try {

66 for await (const message of query({ prompt: "Summarize this project" })) {67 for await (const message of query({ prompt: "Summarize this project" })) {

67 if (message.type === "result") {68 if (message.type === "result") {

68 console.log(`Total cost: $${message.total_cost_usd}`);69 console.log(`Total cost: $${message.total_cost_usd}`);

69 }70 }

70 }71 }

72 } catch (error) {

73 // A single-shot query() throws after yielding an error result. If the

74 // failure was an error result, it still carried total_cost_usd and the

75 // branch above has already run; connection or process failures yield

76 // no result message.

77 console.error(`Session ended with an error: ${error}`);

78 }

71 ```79 ```

72 80 

73 ```python Python theme={null}81 ```python Python theme={null}


76 84 

77 85 

78 async def main():86 async def main():

87 try:

79 async for message in query(prompt="Summarize this project"):88 async for message in query(prompt="Summarize this project"):

80 if isinstance(message, ResultMessage):89 if isinstance(message, ResultMessage):

81 print(f"Total cost: ${message.total_cost_usd or 0}")90 print(f"Total cost: ${message.total_cost_usd or 0}")

91 except Exception as error:

92 # A single-shot query() raises after yielding an error result. If the

93 # failure was an error result, it still carried total_cost_usd and the

94 # branch above has already run; connection or process failures yield

95 # no result message.

96 print(f"Session ended with an error: {error}")

82 97 

83 98 

84 asyncio.run(main())99 asyncio.run(main())


110let totalInputTokens = 0;125let totalInputTokens = 0;

111let totalOutputTokens = 0;126let totalOutputTokens = 0;

112 127 

113for await (const message of query({ prompt: "Summarize this project" })) {128try {

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

114 if (message.type === "assistant") {130 if (message.type === "assistant") {

115 const msgId = message.message.id;131 const msgId = message.message.id;

116 132 


121 totalOutputTokens += message.message.usage.output_tokens;137 totalOutputTokens += message.message.usage.output_tokens;

122 }138 }

123 }139 }

140 }

141} catch (error) {

142 // A single-shot query() throws after yielding an error result, so the

143 // totals below still reflect the steps that ran before the failure.

144 console.error(`Session ended with an error: ${error}`);

124}145}

125 146 

126console.log(`Steps: ${seenIds.size}`);147console.log(`Steps: ${seenIds.size}`);


139```typescript theme={null}160```typescript theme={null}

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

141 162 

142for await (const message of query({ prompt: "Summarize this project" })) {163try {

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

143 if (message.type !== "result") continue;165 if (message.type !== "result") continue;

144 166 

145 for (const [modelName, usage] of Object.entries(message.modelUsage)) {167 for (const [modelName, usage] of Object.entries(message.modelUsage)) {


149 console.log(` Cache read: ${usage.cacheReadInputTokens}`);171 console.log(` Cache read: ${usage.cacheReadInputTokens}`);

150 console.log(` Cache creation: ${usage.cacheCreationInputTokens}`);172 console.log(` Cache creation: ${usage.cacheCreationInputTokens}`);

151 }173 }

174 }

175} catch (error) {

176 // A single-shot query() throws after yielding an error result. If the

177 // failure was an error result, the per-model breakdown above has already

178 // printed; connection or process failures yield no result message.

179 console.error(`Session ended with an error: ${error}`);

152}180}

153```181```

154 182 


173 ];201 ];

174 202 

175 for (const prompt of prompts) {203 for (const prompt of prompts) {

204 try {

176 for await (const message of query({ prompt })) {205 for await (const message of query({ prompt })) {

177 if (message.type === "result") {206 if (message.type === "result") {

178 totalSpend += message.total_cost_usd;207 totalSpend += message.total_cost_usd;

179 console.log(`This call: $${message.total_cost_usd}`);208 console.log(`This call: $${message.total_cost_usd}`);

180 }209 }

181 }210 }

211 } catch (error) {

212 // A single-shot query() throws after yielding an error result. If the

213 // failure was an error result, this call's cost was already counted;

214 // connection or process failures yield no result message. Continue

215 // with the next prompt.

216 console.error(`Call failed: ${error}`);

217 }

182 }218 }

183 219 

184 console.log(`Total spend: $${totalSpend.toFixed(4)}`);220 console.log(`Total spend: $${totalSpend.toFixed(4)}`);


199 ]235 ]

200 236 

201 for prompt in prompts:237 for prompt in prompts:

238 try:

202 async for message in query(prompt=prompt):239 async for message in query(prompt=prompt):

203 if isinstance(message, ResultMessage):240 if isinstance(message, ResultMessage):

204 cost = message.total_cost_usd or 0241 cost = message.total_cost_usd or 0

205 total_spend += cost242 total_spend += cost

206 print(f"This call: ${cost}")243 print(f"This call: ${cost}")

244 except Exception as error:

245 # A single-shot query() raises after yielding an error result. If

246 # the failure was an error result, this call's cost was already

247 # counted; connection or process failures yield no result message.

248 # Continue with the next prompt.

249 print(f"Call failed: {error}")

207 250 

208 print(f"Total spend: ${total_spend:.4f}")251 print(f"Total spend: ${total_spend:.4f}")

209 252 

Details

50 50 

51Um File Checkpointing zu verwenden, aktivieren Sie es in Ihren Optionen, erfassen Sie Checkpoint-UUIDs aus dem Response-Stream und rufen Sie `rewindFiles()` (TypeScript) oder `rewind_files()` (Python) auf, wenn Sie Dateien wiederherstellen müssen.51Um File Checkpointing zu verwenden, aktivieren Sie es in Ihren Optionen, erfassen Sie Checkpoint-UUIDs aus dem Response-Stream und rufen Sie `rewindFiles()` (TypeScript) oder `rewind_files()` (Python) auf, wenn Sie Dateien wiederherstellen müssen.

52 52 

53Das folgende Beispiel zeigt den vollständigen Ablauf: Aktivieren Sie Checkpointing, erfassen Sie die Checkpoint-UUID und Session-ID aus dem Response-Stream, und setzen Sie die Sitzung später fort, um Dateien zurückzuspulen. Jeder Schritt wird unten im Detail erläutert.53Das folgende Beispiel zeigt den vollständigen Ablauf: Aktivieren Sie Checkpointing, erfassen Sie die Checkpoint-UUID und Session-ID aus dem Response-Stream, und setzen Sie die Sitzung später fort, um Dateien zurückzuspulen. Jeder Schritt wird unten im Detail erläutert. Die Beispiele in diesem Abschnitt verwenden die Eingabeaufforderung „Refactor the authentication module". Führen Sie sie in einem Projekt aus, das ein Authentifizierungsmodul enthält, oder ändern Sie die Eingabeaufforderung, um Dateien zu benennen, die in Ihrem Projekt vorhanden sind, damit Sie Dateiänderungen beobachten und sehen können, wie das Zurückspulen sie wiederherstellt.

54 54 

55<CodeGroup>55<CodeGroup>

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


197 session_id = None197 session_id = None

198 198 

199 async for message in client.receive_response():199 async for message in client.receive_response():

200 # Update checkpoint on each user message (keeps the latest)200 # Capture the first user message UUID as the checkpoint

201 if isinstance(message, UserMessage) and message.uuid:201 if isinstance(message, UserMessage) and message.uuid and checkpoint_id is None:

202 checkpoint_id = message.uuid202 checkpoint_id = message.uuid

203 # Capture session ID from the result message203 # Capture session ID from the result message

204 if isinstance(message, ResultMessage):204 if isinstance(message, ResultMessage):


210 let sessionId: string | undefined;210 let sessionId: string | undefined;

211 211 

212 for await (const message of response) {212 for await (const message of response) {

213 // Update checkpoint on each user message (keeps the latest)213 // Capture the first user message UUID as the checkpoint

214 if (message.type === "user" && message.uuid) {214 if (message.type === "user" && message.uuid && !checkpointId) {

215 checkpointId = message.uuid;215 checkpointId = message.uuid;

216 }216 }

217 // Capture session ID from any message that has it217 // Capture session ID from any message that has it


250 ```250 ```

251 </CodeGroup>251 </CodeGroup>

252 252 

253 Wenn Sie die Session-ID und Checkpoint-ID erfassen, können Sie auch von der CLI aus zurückspulen:253 Wenn Sie die Session-ID und Checkpoint-ID erfassen, können Sie auch von der CLI aus zurückspulen. Dieser Befehl erfordert die ausführbare Datei `claude`, die von der [Installation von Claude Code](/de/setup) stammt und nicht vom SDK-Paket installiert wird. Das SDK aktiviert Checkpointing für Sie, aber wenn Sie `claude -p` direkt ausführen, müssen Sie die Umgebungsvariable `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING` setzen:

254 254 

255 ```bash theme={null}255 ```bash theme={null}

256 claude -p --resume <session-id> --rewind-files <checkpoint-uuid>256 CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true claude -p --resume <session-id> --rewind-files <checkpoint-uuid>

257 ```257 ```

258 

259 Das Flag `--rewind-files` wird nicht in der Ausgabe von `claude --help` angezeigt, aber die CLI akzeptiert es wie gezeigt.

258 </Step>260 </Step>

259</Steps>261</Steps>

260 262 


270 272 

271Dieses Muster behält nur die neueste Checkpoint-UUID, aktualisiert sie vor jedem Agent-Turn. Wenn während der Verarbeitung etwas schief geht, können Sie sofort zum letzten sicheren Zustand zurückspulen und die Schleife unterbrechen.273Dieses Muster behält nur die neueste Checkpoint-UUID, aktualisiert sie vor jedem Agent-Turn. Wenn während der Verarbeitung etwas schief geht, können Sie sofort zum letzten sicheren Zustand zurückspulen und die Schleife unterbrechen.

272 274 

275Ersetzen Sie vor dem Ausführen dieses Beispiels `your_revert_condition` (Python) oder `yourRevertCondition` (TypeScript) durch Ihre eigene Überprüfung, z. B. Fehlererkennung oder ein Validierungsfehler; der Platzhalter ist im Beispiel nicht definiert.

276 

273<CodeGroup>277<CodeGroup>

274 ```python Python theme={null}278 ```python Python theme={null}

275 import asyncio279 import asyncio


752 756 

753**Lösung**: Stellen Sie sicher, dass `enable_file_checkpointing=True` (Python) oder `enableFileCheckpointing: true` (TypeScript) in der ursprünglichen Sitzung gesetzt war, verwenden Sie dann das in den Beispielen gezeigte Muster: Erfassen Sie die UUID der ersten Benutzermeldung, schließen Sie die Sitzung vollständig ab, setzen Sie sie dann mit einer leeren Eingabeaufforderung fort und rufen Sie `rewindFiles()` einmal auf.757**Lösung**: Stellen Sie sicher, dass `enable_file_checkpointing=True` (Python) oder `enableFileCheckpointing: true` (TypeScript) in der ursprünglichen Sitzung gesetzt war, verwenden Sie dann das in den Beispielen gezeigte Muster: Erfassen Sie die UUID der ersten Benutzermeldung, schließen Sie die Sitzung vollständig ab, setzen Sie sie dann mit einer leeren Eingabeaufforderung fort und rufen Sie `rewindFiles()` einmal auf.

754 758 

759<h3 id="file-rewinding-is-not-enabled-error">

760 Fehler „File rewinding is not enabled"

761</h3>

762 

763Dieser Fehler tritt auf, wenn Sie versuchen, ein nicht-interaktives Zurückspulen ohne aktiviertes Checkpointing durchzuführen: Ausführung von bare `claude -p` mit `--rewind-files`, oder Ausführung einer SDK-Sitzung, einschließlich einer fortgesetzten, deren Optionen Checkpointing nicht aktivieren. Das SDK setzt die Umgebungsvariable `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING` intern nur dann, wenn `enable_file_checkpointing` (Python) oder `enableFileCheckpointing` (TypeScript) in der Sitzung aktiviert ist, die das Zurückspulen durchführt; die bare CLI setzt sie nie.

764 

765**Lösung**: Für die bare CLI setzen Sie die Umgebungsvariable beim Ausführen des Befehls:

766 

767```bash theme={null}

768CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true claude -p --resume <session-id> --rewind-files <checkpoint-uuid>

769```

770 

771Für das SDK setzen Sie `enable_file_checkpointing=True` (Python) oder `enableFileCheckpointing: true` (TypeScript) in der fortgesetzten Sitzung, wie die Beispiele auf dieser Seite zeigen.

772 

755<h3 id="processtransport-is-not-ready-for-writing-error">773<h3 id="processtransport-is-not-ready-for-writing-error">

756 Fehler „ProcessTransport is not ready for writing"774 Fehler „ProcessTransport is not ready for writing"

757</h3>775</h3>

Details

28 </Step>28 </Step>

29 29 

30 <Step title="Ask-Regeln">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.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.

32 

33 Tools, die Benutzerinteraktion erfordern, verhalten sich auf die gleiche Weise: `AskUserQuestion` und MCP-Tools, deren Server [`_meta["anthropic/requiresUserInteraction"]`](/de/mcp#require-approval-for-a-specific-tool) setzt, fallen immer zum Callback durch, auch wenn eine Allow-Regel zutrifft. Im `dontAsk`-Modus werden beide Fälle stattdessen abgelehnt, da dieser Modus niemals eine Aufforderung anzeigt. {/* min-version: 2.1.199 */}Die MCP-Anmerkung erfordert Claude Code v2.1.199 oder später.

32 </Step>34 </Step>

33 35 

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


46 48 

47<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" alt="Diagramm des sechsstufigen Berechtigungsauswertungsflusses, das den obigen Schritten entspricht: Eine Tool-Anfrage durchläuft Hooks, Deny-Regeln, Ask-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; Ask-Regeln leiten zu canUseTool weiter." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />49<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" alt="Diagramm des sechsstufigen Berechtigungsauswertungsflusses, das den obigen Schritten entspricht: Eine Tool-Anfrage durchläuft Hooks, Deny-Regeln, Ask-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; Ask-Regeln leiten zu canUseTool weiter." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />

48 50 

51Ab v2.1.198 gibt das TypeScript SDK eine Node.js-Prozesswarnung aus, wenn Sie einen `canUseTool`-Callback übergeben, den diese Auswertungsreihenfolge niemals erreichen kann. Der Warnungscode ist `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`. Zwei Konfigurationen lösen ihn aus:

52 

53* `permissionMode: 'bypassPermissions'`, das jeden Aufruf, der den Berechtigungsmodus-Schritt erreicht, automatisch genehmigt

54* Jeder bare `allowedTools`-Eintrag wie `"Read"`, der dieses gesamte Tool automatisch genehmigt, bevor der Callback konsultiert wird

55 

56Einträge mit einem Spezifizierer wie `Bash(ls *)` und der `acceptEdits`-Modus lösen ihn nicht aus, und Allow-Regeln aus Einstellungsdateien sind für die Prüfung nicht sichtbar.

57 

58Hören Sie mit `process.on('warning', ...)` zu und gleichen Sie den Code ab, um ihn zu protokollieren oder zu unterdrücken. Um jeden Tool-Aufruf unabhängig von Modus und Regeln zu steuern, verwenden Sie stattdessen einen [`PreToolUse`-Hook](/de/agent-sdk/hooks).

59 

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

50 61 

51* **Hooks:** Führen Sie benutzerdefinierten Code aus, um Tool-Anfragen zu genehmigen, abzulehnen oder zu ändern. Siehe [Ausführung mit Hooks steuern](/de/agent-sdk/hooks).62* **Hooks:** Führen Sie benutzerdefinierten Code aus, um Tool-Anfragen zu genehmigen, abzulehnen oder zu ändern. Siehe [Ausführung mit Hooks steuern](/de/agent-sdk/hooks).


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.78Allow-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.

68 79 

69<Warning>80<Warning>

70 **Auto-genehmigte Tools erreichen `canUseTool` nie.** Ein Tool-Aufruf, der in einem früheren Schritt genehmigt wurde, durch `acceptEdits` oder `bypassPermissions`, oder durch eine Allow-Regel, überspringt Ihren `canUseTool`-Callback, sodass Berechtigungsprüfungen, die Sie dort durchführen, für dieses Tool stillschweigend umgangen werden. Die Abdeckung hängt von der Form des Eintrags ab: Ein einfacher Name wie `Read` oder `mcp__github__get_issue` genehmigt jeden Aufruf dieses Tools automatisch, während eine begrenzte Regel wie `Bash(ls *)` nur übereinstimmende Aufrufe automatisch genehmigt und andere `Bash`-Aufrufe immer noch zum Callback fallen. Für Prüfungen, die bei jedem Tool-Aufruf ausgeführt werden müssen, verwenden Sie einen [`PreToolUse`-Hook](/de/agent-sdk/hooks): Hooks werden vor jedem anderen Schritt ausgeführt, und eine Hook-Ablehnung gilt auch im `bypassPermissions`-Modus.81 **Auto-genehmigte Tools erreichen `canUseTool` nie.** Ein Tool-Aufruf, der in einem früheren Schritt genehmigt wurde, durch `acceptEdits` oder `bypassPermissions`, oder durch eine Allow-Regel, überspringt Ihren `canUseTool`-Callback, sodass Berechtigungsprüfungen, die Sie dort durchführen, für dieses Tool stillschweigend umgangen werden. Die Ausnahme sind Tools, die Benutzerinteraktion erfordern, `AskUserQuestion` und MCP-Tools, die mit [`_meta["anthropic/requiresUserInteraction"]`](/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, die den Callback auch dann erreichen, wenn eine Allow-Regel passt. Die Abdeckung hängt von der Form des Eintrags ab: Ein einfacher Name wie `Read` oder `mcp__github__get_issue` genehmigt jeden Aufruf dieses Tools automatisch, während eine begrenzte Regel wie `Bash(ls *)` nur übereinstimmende Aufrufe automatisch genehmigt und andere `Bash`-Aufrufe immer noch zum Callback fallen. Für Prüfungen, die bei jedem Tool-Aufruf ausgeführt werden müssen, verwenden Sie einen [`PreToolUse`-Hook](/de/agent-sdk/hooks): Hooks werden vor jedem anderen Schritt ausgeführt, und eine Hook-Ablehnung gilt auch im `bypassPermissions`-Modus.

71</Warning>82</Warning>

72 83 

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

Details

958```958```

959 959 

960* `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.

961* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`, begrenzt auf `15`. 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. Für unbeaufsichtigte Läufe, die längere Ausfallzeiten abwarten müssen, setzen Sie `CLAUDE_CODE_RETRY_WATCHDOG=1`, um Kapazitätsfehler unbegrenzt zu wiederholen.961* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`, begrenzt auf `15`. 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. Für unbeaufsichtigte Läufe, die längere Ausfallzeiten abwarten müssen, setzen Sie `CLAUDE_CODE_RETRY_WATCHDOG=1`: Es wiederholt Kapazitätsfehler unbegrenzt, und {/* min-version: 2.1.199 */}ab Claude Code v2.1.199 erhöht sich der Standard für andere vorübergehende Fehler auf `300` und entfernt die Obergrenze für diese Variable.

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.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.

963* `CLAUDE_ENABLE_STREAM_WATCHDOG` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Der Watchdog ist standardmäßig für alle Anbieter aktiviert; setzen Sie `CLAUDE_ENABLE_STREAM_WATCHDOG=0`, um ihn zu deaktivieren. `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` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Der Watchdog ist standardmäßig für alle Anbieter aktiviert; setzen Sie `CLAUDE_ENABLE_STREAM_WATCHDOG=0`, um ihn zu deaktivieren. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Die abgebrochene Anfrage durchläuft den normalen Wiederholungspfad.

964 964 

Details

7> Definieren und rufen Sie Subagenten auf, um den Kontext zu isolieren, Aufgaben parallel auszuführen und spezialisierte Anweisungen in Ihren Claude Agent SDK-Anwendungen anzuwenden.7> Definieren und rufen Sie Subagenten auf, um den Kontext zu isolieren, Aufgaben parallel auszuführen und spezialisierte Anweisungen in Ihren Claude Agent SDK-Anwendungen anzuwenden.

8 8 

9Subagenten sind separate Agent-Instanzen, die Ihr Haupt-Agent spawnen kann, um fokussierte Teilaufgaben zu bewältigen.9Subagenten sind separate Agent-Instanzen, die Ihr Haupt-Agent spawnen kann, um fokussierte Teilaufgaben zu bewältigen.

10Verwenden Sie Subagenten, um den Kontext für fokussierte Teilaufgaben zu isolieren, mehrere Analysen parallel auszuführen und spezialisierte Anweisungen anzuwenden, ohne den Prompt des Haupt-Agenten zu überlasten.10Verwenden Sie Subagenten, um den Kontext zu isolieren, mehrere Analysen parallel auszuführen und spezialisierte Anweisungen anzuwenden, ohne den Prompt des Haupt-Agenten zu überlasten.

11 11 

12Dieser Leitfaden erklärt, wie Sie Subagenten im SDK mit dem Parameter `agents` definieren und verwenden.12Dieser Leitfaden erklärt, wie Sie Subagenten im SDK mit dem Parameter `agents` definieren und verwenden.

13 13 


17 17 

18Sie können Subagenten auf drei Arten erstellen:18Sie können Subagenten auf drei Arten erstellen:

19 19 

20* **Programmatisch**: Verwenden Sie den Parameter `agents` in Ihren `query()`-Optionen ([TypeScript](/de/agent-sdk/typescript#agentdefinition), [Python](/de/agent-sdk/python#agentdefinition))20* **Programmatisch**: Verwenden Sie den Parameter `agents` in Ihren `query()`-Optionen. Siehe die [TypeScript](/de/agent-sdk/typescript#agentdefinition)- und [Python](/de/agent-sdk/python#agentdefinition)-Referenzen

21* **Dateisystem-basiert**: Definieren Sie Agenten als Markdown-Dateien in `.claude/agents/`-Verzeichnissen (siehe [Subagenten als Dateien definieren](/de/sub-agents))21* **Dateisystem-basiert**: Definieren Sie Agenten als Markdown-Dateien in `.claude/agents/`-Verzeichnissen. Siehe [Subagenten als Dateien definieren](/de/sub-agents)

22* **Integriert allgemein einsetzbar**: Claude kann den integrierten `general-purpose`-Subagenten jederzeit über das Agent-Tool aufrufen, ohne dass Sie etwas definieren müssen22* **Integriert allgemein einsetzbar**: Claude kann den integrierten `general-purpose`-Subagenten jederzeit über das Agent-Tool aufrufen, ohne dass Sie etwas definieren müssen

23 23 

24Dieser Leitfaden konzentriert sich auf den programmatischen Ansatz, der für SDK-Anwendungen empfohlen wird.24Dieser Leitfaden konzentriert sich auf den programmatischen Ansatz, der für SDK-Anwendungen empfohlen wird.

25 25 

26Wenn Sie Subagenten definieren, bestimmt Claude basierend auf dem Feld `description` jedes Subagenten, ob dieser aufgerufen werden soll. Schreiben Sie klare Beschreibungen, die erklären, wann der Subagent verwendet werden sollte, und Claude wird automatisch geeignete Aufgaben delegieren. Sie können einen Subagenten auch explizit nach Name in Ihrem Prompt anfordern (zum Beispiel „Verwenden Sie den Code-Reviewer-Agent, um...").26Wenn Sie Subagenten definieren, bestimmt Claude basierend auf dem Feld `description` jedes Subagenten, ob dieser aufgerufen werden soll. Schreiben Sie klare Beschreibungen, die erklären, wann der Subagent verwendet werden sollte, und Claude wird automatisch geeignete Aufgaben delegieren. Sie können einen Subagenten auch explizit nach Name in Ihrem Prompt anfordern, zum Beispiel „Verwenden Sie den Code-Reviewer-Agent, um...".

27 27 

28<h2 id="benefits-of-using-subagents">28<h2 id="benefits-of-using-subagents">

29 Vorteile der Verwendung von Subagenten29 Vorteile der Verwendung von Subagenten


61 61 

62**Beispiel:** Ein `doc-reviewer`-Subagent könnte nur Zugriff auf Read- und Grep-Tools haben, um sicherzustellen, dass er Ihre Dokumentationsdateien analysieren, aber niemals versehentlich ändern kann.62**Beispiel:** Ein `doc-reviewer`-Subagent könnte nur Zugriff auf Read- und Grep-Tools haben, um sicherzustellen, dass er Ihre Dokumentationsdateien analysieren, aber niemals versehentlich ändern kann.

63 63 

64<h2 id="creating-subagents">64<h2 id="create-subagents">

65 Erstellen von Subagenten65 Erstellen von Subagenten

66</h2>66</h2>

67 67 


69 Programmatische Definition (empfohlen)69 Programmatische Definition (empfohlen)

70</h3>70</h3>

71 71 

72Definieren Sie Subagenten direkt in Ihrem Code mit dem Parameter `agents`. Dieses Beispiel erstellt zwei Subagenten: einen Code-Reviewer mit Nur-Lese-Zugriff und einen Test-Runner, der Befehle ausführen kann. Claude ruft Subagenten über das `Agent`-Tool auf, daher müssen Sie `Agent` in `allowedTools` einschließen, um Subagenten-Aufrufe automatisch zu genehmigen, ohne eine Berechtigungsaufforderung anzuzeigen.72Definieren Sie Subagenten direkt in Ihrem Code mit dem Parameter `agents`. Claude ruft Subagenten über das `Agent`-Tool auf, daher müssen Sie `Agent` in `allowedTools` einschließen, um Subagenten-Aufrufe automatisch zu genehmigen, ohne eine Berechtigungsaufforderung anzuzeigen.

73 73 

74Die meisten Beispiele auf dieser Seite geben nur das Endergebnis aus. Um zu bestätigen, dass Claude an einen Subagenten delegiert hat, anstatt direkt zu antworten, siehe [Erkennung von Subagenten-Aufrufen](#detecting-subagent-invocation).74Die meisten Beispiele auf dieser Seite geben nur das Endergebnis aus. Um zu bestätigen, dass Claude an einen Subagenten delegiert hat, anstatt direkt zu antworten, siehe [Erkennung von Subagenten-Aufrufen](#detect-subagent-invocation).

75 

76Dieses Beispiel erstellt zwei Subagenten: einen Code-Reviewer mit Nur-Lese-Zugriff und einen Test-Runner, der Befehle ausführen kann.

75 77 

76<CodeGroup>78<CodeGroup>

77 ```python Python theme={null}79 ```python Python theme={null}


197 199 

198Im Python SDK verwenden Feldnamen mit mehreren Wörtern wie `disallowedTools` und `mcpServers` die camelCase-Schreibweise, um das Wire-Format zu entsprechen, anstatt der Python-Konvention snake\_case zu folgen. Siehe die [`AgentDefinition`-Referenz](/de/agent-sdk/python#agentdefinition) für Details.200Im Python SDK verwenden Feldnamen mit mehreren Wörtern wie `disallowedTools` und `mcpServers` die camelCase-Schreibweise, um das Wire-Format zu entsprechen, anstatt der Python-Konvention snake\_case zu folgen. Siehe die [`AgentDefinition`-Referenz](/de/agent-sdk/python#agentdefinition) für Details.

199 201 

202Zwei Subagenten-Verhaltensweisen haben sich in Claude Code v2.1.198 geändert:

203 

204* Subagenten werden standardmäßig im Hintergrund ausgeführt. Ein Agent-Tool-Aufruf, der die [`run_in_background`](/de/agent-sdk/typescript)-Eingabe auslässt, startet einen Hintergrund-Subagenten, und Claude setzt `run_in_background: false`, wenn es das Ergebnis benötigt, bevor es fortfährt. Vor v2.1.198 führte das Auslassen von `run_in_background` den Subagenten synchron aus. Setzen Sie das Feld `background` auf `true`, um die Hintergrund-Ausführung für einen bestimmten Agent zu erzwingen, unabhängig davon, was Claude anfordert.

205* Ein Subagent erbt die Extended-Thinking-Konfiguration der Hauptsitzung. In früheren Versionen ist Extended Thinking in Subagenten deaktiviert, unabhängig von der Einstellung der Hauptsitzung.

206 

200<Note>207<Note>

201 {/* min-version: 2.1.172 */}Ab Claude Code v2.1.172 können Subagenten ihre eigenen Subagenten spawnen. Ein Subagent fünf Ebenen unter dem Haupt-Agent kann keine weiteren Subagenten spawnen, unabhängig davon, ob er im Vordergrund oder Hintergrund ausgeführt wird. 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.208 {/* min-version: 2.1.172 */}Ab Claude Code v2.1.172 können Subagenten ihre eigenen Subagenten spawnen. Ein Subagent fünf Ebenen unter dem Haupt-Agent kann keine weiteren Subagenten spawnen, unabhängig davon, ob er im Vordergrund oder Hintergrund ausgeführt wird. 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.

202</Note>209</Note>


215 Was Subagenten erben222 Was Subagenten erben

216</h2>223</h2>

217 224 

218Das 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.225Das Kontextfenster eines Subagenten startet frisch, ohne ü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.

219 226 

220| Der Subagent erhält | Der Subagent erhält nicht |227| Der Subagent erhält | Der Subagent erhält nicht |

221| :-------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |228| :-------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |


224| Tool-Definitionen (geerbt vom übergeordneten Agent oder die Teilmenge in `tools`) | Der System-Prompt des übergeordneten Agenten |231| Tool-Definitionen (geerbt vom übergeordneten Agent oder die Teilmenge in `tools`) | Der System-Prompt des übergeordneten Agenten |

225 232 

226<Note>233<Note>

227 Der übergeordnete Agent erhält die abschließende Nachricht des Subagenten wörtlich als Agent-Tool-Ergebnis, kann sie aber in seiner eigenen Antwort zusammenfassen. Um die Ausgabe des Subagenten wörtlich in der benutzerorientierten Antwort zu bewahren, fügen Sie eine Anweisung dazu in den Prompt oder die `systemPrompt`-Option ein, die Sie an den **Haupt**-`query()`-Aufruf übergeben.234 Der übergeordnete Agent erhält die abschließende Nachricht des Subagenten wörtlich als Agent-Tool-Ergebnis, kann sie aber in seiner eigenen Antwort zusammenfassen. Um die Ausgabe des Subagenten wörtlich in der benutzerorientierten Antwort zu bewahren, fügen Sie eine Anweisung dazu in den Prompt oder die `systemPrompt`-Option ein, die Sie an den Haupt-`query()`-Aufruf übergeben.

228</Note>235</Note>

229 236 

230<h2 id="invoking-subagents">237{/* min-version: 2.1.199 */}Ab Claude Code v2.1.199 wird ein API-Fehler, der den Subagenten vorzeitig beendet, wie z. B. ein Ratenlimit, niemals als sein Ergebnis bereitgestellt. Wenn der Subagent bereits Ausgabe produziert hat, gibt das Agent-Tool diese Teilausgabe mit einem Hinweis zurück, dass der Subagent nicht fertig wurde; andernfalls ist das Tool-Ergebnis eine Fehlermeldung, `Agent terminated early due to an API error`, gefolgt von der Fehlerdetail. Siehe [API-Fehler in Subagenten](/de/sub-agents#api-errors-in-subagents) für das Vordergrund- und Hintergrundverhalten.

238 

239<h2 id="invoke-subagents">

231 Aufrufen von Subagenten240 Aufrufen von Subagenten

232</h2>241</h2>

233 242 


329 ```338 ```

330</CodeGroup>339</CodeGroup>

331 340 

332<h2 id="detecting-subagent-invocation">341<h2 id="detect-subagent-invocation">

333 Erkennen von Subagenten-Aufrufen342 Erkennen von Subagenten-Aufrufen

334</h2>343</h2>

335 344 

336Subagenten werden über das Agent-Tool aufgerufen. Um zu erkennen, wann ein Subagent aufgerufen wird, suchen Sie nach `tool_use`-Blöcken, bei denen `name` `"Agent"` ist. Nachrichten aus dem Kontext eines Subagenten enthalten ein Feld `parent_tool_use_id`.345Claude ruft Subagenten über das Agent-Tool auf. Um zu erkennen, wann ein Subagent aufgerufen wird, suchen Sie nach `tool_use`-Blöcken, bei denen `name` `"Agent"` ist. Nachrichten aus dem Kontext eines Subagenten enthalten ein Feld `parent_tool_use_id`.

337 346 

338<Note>347<Note>

339 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.348 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.


422 ```431 ```

423</CodeGroup>432</CodeGroup>

424 433 

425<h2 id="resuming-subagents">434<h2 id="resume-subagents">

426 Fortsetzen von Subagenten435 Fortsetzen von Subagenten

427</h2>436</h2>

428 437 

429Subagenten 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.438Sie können einen Subagenten fortsetzen, um dort fortzufahren, wo er aufgehört hat, anstatt von vorne zu beginnen. Ein fortgesetzter Subagent behält seine vollständige Konversationshistorie, einschließlich aller vorherigen Tool-Aufrufe, Ergebnisse und Reasoning.

430 439 

431Wenn 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:440Wenn 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:

432 441 


568 577 

569* **Hauptkonversations-Komprimierung**: Wenn die Hauptkonversation komprimiert wird, sind Subagenten-Transkripte nicht betroffen. Sie werden in separaten Dateien gespeichert.578* **Hauptkonversations-Komprimierung**: Wenn die Hauptkonversation komprimiert wird, sind Subagenten-Transkripte nicht betroffen. Sie werden in separaten Dateien gespeichert.

570* **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.579* **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.

571* **Automatische Bereinigung**: Transkripte werden basierend auf der Einstellung `cleanupPeriodDays` bereinigt (Standard: 30 Tage).580* **Automatische Bereinigung**: Transkripte werden basierend auf der Einstellung `cleanupPeriodDays` bereinigt, die standardmäßig auf 30 Tage eingestellt ist.

572 581 

573<h2 id="tool-restrictions-1">582<h2 id="tool-restrictions-1">

574 Tool-Einschränkungen583 Tool-Einschränkungen


662 671 

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

664 673 

6651. **Überprüfen Sie, dass Agent-Aufrufe genehmigt sind**: Fügen Sie `Agent` in `allowedTools` ein, um Subagenten-Aufrufe automatisch zu genehmigen. Ohne diese Einstellung fallen Agent-Aufrufe auf Ihren `canUseTool`-Callback zurück oder werden im `dontAsk`-Modus abgelehnt674* **Überprüfen Sie, dass Agent-Aufrufe genehmigt sind**: Fügen Sie `Agent` in `allowedTools` ein, um Subagenten-Aufrufe automatisch zu genehmigen. Ohne diese Einstellung fallen Agent-Aufrufe auf Ihren `canUseTool`-Callback zurück oder werden im `dontAsk`-Modus abgelehnt

6662. **Verwenden Sie explizites Prompting**: Erwähnen Sie den Subagenten nach Name in Ihrem Prompt (zum Beispiel „Verwenden Sie den Code-Reviewer-Agent, um...")675* **Verwenden Sie explizites Prompting**: Erwähnen Sie den Subagenten nach Name in Ihrem Prompt, zum Beispiel „Verwenden Sie den Code-Reviewer-Agent, um..."

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

668 677 

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

670 Dateisystem-basierte Agenten werden nicht geladen679 Dateisystem-basierte Agenten werden nicht geladen

671</h3>680</h3>

672 681 

673Agenten, die in `.claude/agents/` definiert sind, werden nur beim Start geladen. Wenn Sie eine neue Agent-Datei erstellen, während Claude Code läuft, starten Sie die Session neu, um sie zu laden.682Claude Code überwacht `~/.claude/agents/` und `.claude/agents/` und erkennt eine neue oder bearbeitete Agent-Datei innerhalb weniger Sekunden, ohne dass ein Neustart erforderlich ist. Wenn eine Definition nie angezeigt wird, arbeiten Sie diese Ursachen durch:

683 

684* **Neues `agents`-Verzeichnis**: Der Watcher deckt nur Verzeichnisse ab, die beim Start der Session vorhanden waren, daher benötigt die erste Datei in einem neuen Verzeichnis einen Session-Neustart. Dies ist die häufigste Ursache.

685* **Ungültiges Frontmatter oder doppelter `name`**: Überprüfen Sie die YAML der Datei und ob ein vorhandener Agent bereits den `name` verwendet.

686* **`--disable-slash-commands`**: Sessions, die mit diesem Flag gestartet wurden, überwachen diese Verzeichnisse nicht und benötigen immer einen Neustart, um neue Dateien zu laden.

687* **Ein programmatischer Agent mit demselben Namen**: `agents`, die an `query()` übergeben werden, überschreiben einen Dateisystem-Agent mit demselben Namen.

688 

689Für das Dateiformat siehe [wie man Subagenten-Dateien schreibt](/de/sub-agents#write-subagent-files).

674 690 

675<h3 id="windows-long-prompt-failures">691<h3 id="long-prompt-failures-on-windows">

676 Windows: Fehler bei langen Prompts692 Fehler bei langen Prompts unter Windows

677</h3>693</h3>

678 694 

679Unter Windows können Subagenten mit sehr langen Prompts aufgrund von Befehlszeilenlängenbeschränkungen (8191 Zeichen) fehlschlagen. Halten Sie Prompts prägnant oder verwenden Sie dateisystem-basierte Agenten für komplexe Anweisungen.695Unter Windows können Subagenten mit sehr langen Prompts aufgrund der Befehlszeilenlängenbeschränkung von 8191 Zeichen fehlschlagen. Halten Sie Prompts prägnant oder verwenden Sie dateisystem-basierte Agenten für komplexe Anweisungen.

680 696 

681<h2 id="related-documentation">697<h2 id="related-documentation">

682 Verwandte Dokumentation698 Verwandte Dokumentation

Details

9Die Todo-Verfolgung bietet eine strukturierte Möglichkeit, Aufgaben zu verwalten und Benutzer über den Aufgabenfortschritt zu informieren. Das Claude Agent SDK enthält integrierte Todo-Funktionalität, die dabei hilft, komplexe Arbeitsabläufe zu organisieren und Benutzer über die Aufgabenprogression zu informieren.9Die Todo-Verfolgung bietet eine strukturierte Möglichkeit, Aufgaben zu verwalten und Benutzer über den Aufgabenfortschritt zu informieren. Das Claude Agent SDK enthält integrierte Todo-Funktionalität, die dabei hilft, komplexe Arbeitsabläufe zu organisieren und Benutzer über die Aufgabenprogression zu informieren.

10 10 

11<Note>11<Note>

12 Ab TypeScript Agent SDK 0.3.142 und Claude Code v2.1.142 verwenden Sitzungen die strukturierten Task-Tools `TaskCreate`, `TaskUpdate`, `TaskGet` und `TaskList` anstelle von `TodoWrite`. Siehe [Zu Task-Tools migrieren](#migrate-to-task-tools) für Informationen darüber, wie sich der Überwachungscode ändert. Die Beispiele auf dieser Seite setzen `CLAUDE_CODE_ENABLE_TASKS=0`, um weiterhin `TodoWrite` für Sitzungen anzuzeigen, die noch nicht migriert wurden.12 Ab TypeScript Agent SDK 0.3.142 und Claude Code v2.1.142 verwenden Sitzungen die strukturierten Task-Tools `TaskCreate`, `TaskUpdate`, `TaskGet` und `TaskList` anstelle von `TodoWrite`. Das Python SDK erhält diese Änderung von der Claude Code CLI, die es startet, nicht von der Python-Paketversion: Der Wechsel gilt, sobald diese CLI — die im pip-Paket enthaltene Kopie oder eine, auf die Sie mit `cli_path` verweisen — v2.1.142 oder später ist. Siehe [Zu Task-Tools migrieren](#migrate-to-task-tools) für Informationen darüber, wie sich der Überwachungscode ändert. Die Beispiele auf dieser Seite setzen `CLAUDE_CODE_ENABLE_TASKS=0`, um weiterhin `TodoWrite` für Sitzungen anzuzeigen, die noch nicht migriert wurden.

13</Note>13</Note>

14 14 

15<h3 id="todo-lifecycle">15<h3 id="todo-lifecycle">


27 Wann Todos verwendet werden27 Wann Todos verwendet werden

28</h3>28</h3>

29 29 

30Das SDK erstellt automatisch Todos für:30Das SDK erstellt Todos für die meisten mehrstufigen Arbeiten, wie zum Beispiel:

31 31 

32* **Komplexe mehrstufige Aufgaben**, die 3 oder mehr unterschiedliche Aktionen erfordern32* **Komplexe mehrstufige Aufgaben**, die 3 oder mehr unterschiedliche Aktionen erfordern

33* **Von Benutzern bereitgestellte Aufgabenlisten**, wenn mehrere Elemente erwähnt werden33* **Von Benutzern bereitgestellte Aufgabenlisten**, wenn mehrere Elemente erwähnt werden

34* **Nicht triviale Operationen**, die von der Fortschrittsverfolgung profitieren34* **Nicht triviale Operationen**, die von der Fortschrittsverfolgung profitieren

35* **Explizite Anfragen**, wenn Benutzer um Todo-Organisation bitten35* **Explizite Anfragen**, wenn Benutzer um Todo-Organisation bitten

36 36 

37Es kann Todos für sehr kurze oder einstufige Anfragen überspringen.

38 

37<h2 id="examples">39<h2 id="examples">

38 Beispiele40 Beispiele

39</h2>41</h2>

40 42 

43Bevor Sie diese Beispiele ausführen, installieren Sie das Claude Agent SDK, indem Sie dem [Schnellstart](/de/agent-sdk/quickstart) folgen.

44 

45Jedes Beispiel wird ausgeführt, bis der Agent fertig ist und seine endgültige Ergebnismeldung liefert. Wenn eine Sitzung zuerst ihr Turnus-Limit erreicht, hat diese Ergebnismeldung den Subtyp `error_max_turns`. Überprüfen Sie `subtype`, um dieses Ende zu erkennen.

46 

47Diese Beispiele verwenden Single-Shot-`query()`-Aufrufe. Nach dem Liefern eines `error_max_turns`-Ergebnisses wirft `query()` einen Fehler aus, der `Reached maximum number of turns` enthält. Jedes Beispiel umhüllt seine Schleife in einem Try-Block, um sauber zu beenden, wenn dies geschieht.

48 

49Siehe [Handle the result](/de/agent-sdk/agent-loop#handle-the-result) für die Ergebnis-Subtypen.

50 

41<h3 id="monitoring-todo-changes">51<h3 id="monitoring-todo-changes">

42 Überwachung von Todo-Änderungen52 Überwachung von Todo-Änderungen

43</h3>53</h3>


46 ```typescript TypeScript theme={null}56 ```typescript TypeScript theme={null}

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

48 58 

59 try {

49 for await (const message of query({60 for await (const message of query({

50 prompt: "Optimize my React app performance and track progress with todos",61 prompt: "Optimize my React app performance and track progress with todos",

51 // Re-enable TodoWrite, which this example monitors. Without it, the SDK uses62 // Re-enable TodoWrite, which this example monitors. Without it, the SDK uses


68 }79 }

69 }80 }

70 }81 }

82 } catch (error) {

83 // A single-shot query() throws after yielding an error result,

84 // such as when the maxTurns limit is hit.

85 console.log(`Session ended with an error: ${error}`);

86 }

71 ```87 ```

72 88 

73 ```python Python theme={null}89 ```python Python theme={null}

90 import asyncio

91 

74 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ToolUseBlock92 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ToolUseBlock

75 93 

94 

95 async def main():

96 try:

76 async for message in query(97 async for message in query(

77 prompt="Optimize my React app performance and track progress with todos",98 prompt="Optimize my React app performance and track progress with todos",

78 # Re-enable TodoWrite, which this example monitors. Without it, the SDK uses99 # Re-enable TodoWrite, which this example monitors. Without it, the SDK uses


95 else "❌"116 else "❌"

96 )117 )

97 print(f"{i + 1}. {status} {todo['content']}")118 print(f"{i + 1}. {status} {todo['content']}")

119 except Exception as error:

120 # A single-shot query() raises after yielding an error result,

121 # such as when the max_turns limit is hit.

122 print(f"Session ended with an error: {error}")

123 

124 

125 asyncio.run(main())

98 ```126 ```

99</CodeGroup>127</CodeGroup>

100 128 


128 }156 }

129 157 

130 async trackQuery(prompt: string) {158 async trackQuery(prompt: string) {

159 try {

131 for await (const message of query({160 for await (const message of query({

132 prompt,161 prompt,

133 // Re-enable TodoWrite, which this tracker watches for.162 // Re-enable TodoWrite, which this tracker watches for.


142 }171 }

143 }172 }

144 }173 }

174 } catch (error) {

175 // A single-shot query() throws after yielding an error result,

176 // such as when the maxTurns limit is hit.

177 console.log(`Session ended with an error: ${error}`);

178 }

145 }179 }

146 }180 }

147 181 


151 ```185 ```

152 186 

153 ```python Python theme={null}187 ```python Python theme={null}

188 import asyncio

189 

154 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ToolUseBlock190 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ToolUseBlock

155 from typing import List, Dict191 from typing import List, Dict

156 192 


186 print(f"{i + 1}. {icon} {text}")222 print(f"{i + 1}. {icon} {text}")

187 223 

188 async def track_query(self, prompt: str):224 async def track_query(self, prompt: str):

225 try:

189 async for message in query(226 async for message in query(

190 prompt=prompt,227 prompt=prompt,

191 # Re-enable TodoWrite, which this tracker watches for.228 # Re-enable TodoWrite, which this tracker watches for.


196 if isinstance(block, ToolUseBlock) and block.name == "TodoWrite":233 if isinstance(block, ToolUseBlock) and block.name == "TodoWrite":

197 self.todos = block.input["todos"]234 self.todos = block.input["todos"]

198 self.display_progress()235 self.display_progress()

236 except Exception as error:

237 # A single-shot query() raises after yielding an error result,

238 # such as when the max_turns limit is hit.

239 print(f"Session ended with an error: {error}")

199 240 

200 241 

201 # Usage242 # Usage

243 async def main():

202 tracker = TodoTracker()244 tracker = TodoTracker()

203 await tracker.track_query("Build a complete authentication system with todos")245 await tracker.track_query("Build a complete authentication system with todos")

246 

247 

248 asyncio.run(main())

204 ```249 ```

205</CodeGroup>250</CodeGroup>

206 251 


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 |262| 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 |263| Rendern Sie `block.input.todos` direkt | Sammeln Sie Elemente über Aufrufe hinweg, oder lesen Sie einen Snapshot aus einem `TaskList`-Tool-Ergebnis |

219 264 

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.265Die 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 [Überwachung von Todo-Änderungen](#monitoring-todo-changes). Es liest nur `tool_use`-Eingaben und überspringt das Erfassen von IDs aus `tool_result`-Blöcken. 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 266 

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.267Der 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.

223 268 


225 ```typescript TypeScript theme={null}270 ```typescript TypeScript theme={null}

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

227 272 

273 try {

228 for await (const message of query({274 for await (const message of query({

229 prompt: "Optimize my React app performance",275 prompt: "Optimize my React app performance and track progress with todos",

276 options: { maxTurns: 15 },

230 })) {277 })) {

231 if (message.type !== "assistant") continue;278 if (message.type !== "assistant") continue;

232 for (const block of message.message.content) {279 for (const block of message.message.content) {


246 }293 }

247 }294 }

248 }295 }

296 } catch (error) {

297 // A single-shot query() throws after yielding an error result.

298 console.log(`Session ended with an error: ${error}`);

299 }

249 ```300 ```

250 301 

251 ```python Python theme={null}302 ```python Python theme={null}

252 from claude_agent_sdk import query, AssistantMessage, ToolUseBlock303 import asyncio

253 304 

305 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ToolUseBlock

306 

307 async def main():

308 try:

254 async for message in query(309 async for message in query(

255 prompt="Optimize my React app performance",310 prompt="Optimize my React app performance and track progress with todos",

311 options=ClaudeAgentOptions(max_turns=15),

256 ):312 ):

257 if not isinstance(message, AssistantMessage):313 if not isinstance(message, AssistantMessage):

258 continue314 continue


269 )325 )

270 if task_id:326 if task_id:

271 print(f" {task_id} -> {block.input['status']}")327 print(f" {task_id} -> {block.input['status']}")

328 except Exception as error:

329 # A single-shot query() raises after yielding an error result.

330 print(f"Session ended with an error: {error}")

331 

332 

333 asyncio.run(main())

272 ```334 ```

273</CodeGroup>335</CodeGroup>

274 336 

Details

551```551```

552 552 

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`, begrenzt auf `15`. 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. Für unbeaufsichtigte Läufe, die längere Ausfallzeiten abwarten müssen, setzen Sie `CLAUDE_CODE_RETRY_WATCHDOG=1`, um Kapazitätsfehler unbegrenzt zu wiederholen.554* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`, begrenzt auf `15`. 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. Für unbeaufsichtigte Läufe, die längere Ausfallzeiten abwarten müssen, setzen Sie `CLAUDE_CODE_RETRY_WATCHDOG=1`: Es wiederholt Kapazitätsfehler unbegrenzt, und {/* min-version: 2.1.199 */}ab Claude Code v2.1.199 erhöht sich der Standard für andere vorübergehende Fehler auf `300` und entfernt die Obergrenze für diese Variable.

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` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Der Watchdog ist standardmäßig für alle Provider aktiviert; setzen Sie `CLAUDE_ENABLE_STREAM_WATCHDOG=0`, um ihn zu deaktivieren. `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` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Der Watchdog ist standardmäßig für alle Provider aktiviert; setzen Sie `CLAUDE_ENABLE_STREAM_WATCHDOG=0`, um ihn zu deaktivieren. `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 


901 decisionReason?: string;901 decisionReason?: string;

902 toolUseID: string;902 toolUseID: string;

903 agentID?: string;903 agentID?: string;

904 requestId: string;

904 }905 }

905) => Promise<PermissionResult>;906) => Promise<PermissionResult | null>;

906```907```

907 908 

908| Option | Typ | Beschreibung |909| Option | Typ | Beschreibung |


913| `decisionReason` | `string` | Erklärt, warum diese Berechtigungsanfrage ausgelöst wurde |914| `decisionReason` | `string` | Erklärt, warum diese Berechtigungsanfrage ausgelöst wurde |

914| `toolUseID` | `string` | Eindeutige ID für diesen spezifischen Tool-Aufruf innerhalb der Assistenten-Nachricht |915| `toolUseID` | `string` | Eindeutige ID für diesen spezifischen Tool-Aufruf innerhalb der Assistenten-Nachricht |

915| `agentID` | `string` | Wenn innerhalb eines Sub-Agenten ausgeführt, die ID des Sub-Agenten |916| `agentID` | `string` | Wenn innerhalb eines Sub-Agenten ausgeführt, die ID des Sub-Agenten |

917| `requestId` | `string` | Die `control_request`-Umschlag-`request_id`. Eine `control_response`, die Ihre Anwendung außerhalb des SDK sendet, z. B. ein signierter HTTP POST, muss diesen Wert widerspiegeln, damit der Claude Code-Prozess die Antwort mit der Anfrage abgleichen kann |

918 

919Der Callback löst die Anfrage normalerweise durch Rückgabe eines [`PermissionResult`](#permissionresult) auf, das das SDK über seinen Transport als `control_response` zurückschreibt. Geben Sie `null` nur zurück, wenn Ihre Anwendung die `control_response` für diese Anfrage bereits über ihren eigenen Kanal gesendet hat, wobei `requestId` widergespiegelt wird; das SDK überspringt dann das Schreiben der Antwort auf seinen Transport. Das Zurückgeben von `null` in jedem anderen Fall lässt den Tool-Aufruf unbegrenzt blockiert, da keine `control_response` jemals gesendet wird und Berechtigungsaufforderungen nicht zeitlich begrenzt sind.

920 

921Die `requestId`-Option und der `null`-Rückgabewert erfordern Claude Code v2.1.199 oder später.

916 922 

917<h3 id="permissionresult">923<h3 id="permissionresult">

918 `PermissionResult`924 `PermissionResult`


2179};2185};

2180```2186```

2181 2187 

2182Beendet eine laufende Hintergrund-Aufgabe oder Shell nach ID.2188Beendet eine laufende Hintergrund-Aufgabe oder Shell nach ID. {/* min-version: 2.1.198 */}Ab v2.1.198 akzeptiert `task_id` auch einen Agent-Team-Teamkollegen oder einen benannten Hintergrund-Agenten nach Agent-ID oder Name.

2183 2189 

2184<h3 id="notebookedit">2190<h3 id="notebookedit">

2185 NotebookEdit2191 NotebookEdit


3788| `ripgrep` | `{ command: string; args?: string[] }` | `undefined` | Benutzerdefinierte ripgrep-Binärkonfiguration für Sandbox-Umgebungen |3794| `ripgrep` | `{ command: string; args?: string[] }` | `undefined` | Benutzerdefinierte ripgrep-Binärkonfiguration für Sandbox-Umgebungen |

3789 3795 

3790<Note>3796<Note>

3791 Die Sandbox hängt von der Plattformunterstützung ab und benötigt unter Linux Tools wie `bubblewrap` und `socat`. Wenn `enabled` auf `true` gesetzt ist und die Sandbox nicht gestartet werden kann, meldet `query()` eine `result`-Nachricht mit `subtype: "error_during_execution"` und den Grund in `errors`, dann stoppt. Achten Sie auf diesen Subtyp, anstatt zu erwarten, dass `query()` wirft, bevor Nachrichten geliefert werden.3797 Die Sandbox hängt von der Plattformunterstützung ab und benötigt unter Linux Tools wie `bubblewrap` und `socat`. Wenn `enabled` auf `true` gesetzt ist und die Sandbox nicht gestartet werden kann, meldet `query()` eine `result`-Nachricht mit `subtype: "error_during_execution"` und den Grund in `errors`. Für einen einzelnen `query()`-Aufruf wirft das SDK nach dem Liefern dieses Fehler-Ergebnisses, daher wickeln Sie die Schleife in einen try-Block ein, um über ihn hinwegzugehen. Siehe [Handle the result](/de/agent-sdk/agent-loop#handle-the-result) für den Fehlervertrag.

3792 3798 

3793 Um stattdessen unsandboxed auszuführen, setzen Sie `failIfUnavailable: false`.3799 Um stattdessen unsandboxed auszuführen, setzen Sie `failIfUnavailable: false`.

3794</Note>3800</Note>


3800```typescript theme={null}3806```typescript theme={null}

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

3802 3808 

3803for await (const message of query({3809try {

3810 for await (const message of query({

3804 prompt: "Build and test my project",3811 prompt: "Build and test my project",

3805 options: {3812 options: {

3806 sandbox: {3813 sandbox: {


3811 }3818 }

3812 }3819 }

3813 }3820 }

3814})) {3821 })) {

3815 if ("result" in message) console.log(message.result);3822 if ("result" in message) console.log(message.result);

3823 }

3824} catch (error) {

3825 // Ein einzelner query()-Aufruf wirft nach dem Liefern eines Fehler-Ergebnisses,

3826 // z. B. wenn die Sandbox nicht gestartet werden kann (failIfUnavailable ist standardmäßig true).

3827 console.log(`Session ended with an error: ${error}`);

3816}3828}

3817```3829```

3818 3830 


3929<Warning>3941<Warning>

3930 Befehle, die mit `dangerouslyDisableSandbox: true` ausgeführt werden, haben vollständigen Systemzugriff. Stellen Sie sicher, dass Ihr `canUseTool`-Handler diese Anfragen sorgfältig validiert.3942 Befehle, die mit `dangerouslyDisableSandbox: true` ausgeführt werden, haben vollständigen Systemzugriff. Stellen Sie sicher, dass Ihr `canUseTool`-Handler diese Anfragen sorgfältig validiert.

3931 3943 

3932 Wenn `permissionMode` auf `bypassPermissions` gesetzt ist und `allowUnsandboxedCommands` aktiviert ist, kann das Modell autonom Befehle außerhalb der Sandbox ausführen, ohne dass Genehmigungsaufforderungen erforderlich sind. Diese Kombination ermöglicht dem Modell effektiv, die Sandbox-Isolierung stillschweigend zu verlassen.3944 Wenn `permissionMode` auf `bypassPermissions` gesetzt ist und `allowUnsandboxedCommands` aktiviert ist, kann das Modell autonom Befehle außerhalb der Sandbox ausführen, ohne dass Genehmigungsaufforderungen erforderlich sind (eine explizite [`ask`-Regel](/de/agent-sdk/permissions#how-permissions-are-evaluated) erzwingt immer noch eine). Diese Kombination ermöglicht dem Modell effektiv, die Sandbox-Isolierung stillschweigend zu verlassen.

3933</Warning>3945</Warning>

3934 3946 

3935<h2 id="see-also">3947<h2 id="see-also">

agent-teams.md +12 −3

Details

89* **Eingabe**: Öffnen Sie das Transkript des ausgewählten Teammates und senden Sie ihm direkt eine Nachricht89* **Eingabe**: Öffnen Sie das Transkript des ausgewählten Teammates und senden Sie ihm direkt eine Nachricht

90* **Escape**: Unterbrechen Sie den aktuellen Zug des ausgewählten Teammates90* **Escape**: Unterbrechen Sie den aktuellen Zug des ausgewählten Teammates

91 91 

92{/* min-version: 2.1.181 */}Ab v2.1.181 wird die Zeile eines untätigen Teammates nach 30 Sekunden ausgeblendet und wird bei seinem nächsten Zug wieder angezeigt. Der Teammate läuft weiter und ist adressierbar, während er ausgeblendet ist.92{/* min-version: 2.1.199 */}Ab v2.1.199 bleibt die Zeile eines untätigen Teammates im Panel, während noch ein Teammate oder Subagent arbeitet, sodass Sie sie auswählen können, um sein Transkript zu überprüfen oder ihm mehr Arbeit zu geben. Sobald jeder Agent im Panel untätig ist, werden untätige Zeilen nach 30 Sekunden ausgeblendet und erscheinen beim nächsten Zug des Teammates wieder; der Teammate läuft weiter und ist adressierbar, während er ausgeblendet ist. In v2.1.181 bis v2.1.198 wurde eine untätige Zeile 30 Sekunden nach ihrem eigenen Zug ausgeblendet, auch während andere Teammates noch arbeiteten; untätige Zeilen werden in Versionen vor v2.1.181 nicht ausgeblendet.

93 

94Wenn mehr als drei Teammates gleichzeitig untätig sind, werden die Zeilen über die ersten drei hinaus in einer einzelnen Zeile zusammengefasst, die die zusammengefassten Teammates zählt, z. B. `2 idle agents`, wenn fünf untätig sind. Wählen Sie sie aus und drücken Sie die Eingabetaste, um die zusammengefassten Zeilen zu erweitern, oder drücken Sie Esc, um sie wieder zusammenzufassen. Arbeitende Teammates, fehlgeschlagene Teammates und der Teammate, den Sie gerade anschauen, behalten immer ihre eigenen Zeilen.

93 95 

94Wenn Sie jeden Teammate in seinem eigenen Split-Pane haben möchten, siehe [Wählen Sie einen Anzeigemodus](#choose-a-display-mode).96Wenn Sie jeden Teammate in seinem eigenen Split-Pane haben möchten, siehe [Wählen Sie einen Anzeigemodus](#choose-a-display-mode).

95 97 


174* **In-Process-Modus**: verwenden Sie die Pfeiltasten nach oben und unten im Agent-Panel, um einen Teammate auszuwählen, drücken Sie dann die Eingabetaste, um seine Sitzung anzuzeigen und geben Sie ein, um ihm eine Nachricht zu senden. Drücken Sie `x` auf einem ausgewählten Teammate, um ihn zu stoppen. Drücken Sie Ctrl+T, um die Aufgabenliste umzuschalten.176* **In-Process-Modus**: verwenden Sie die Pfeiltasten nach oben und unten im Agent-Panel, um einen Teammate auszuwählen, drücken Sie dann die Eingabetaste, um seine Sitzung anzuzeigen und geben Sie ein, um ihm eine Nachricht zu senden. Drücken Sie `x` auf einem ausgewählten Teammate, um ihn zu stoppen. Drücken Sie Ctrl+T, um die Aufgabenliste umzuschalten.

175* **Split-Pane-Modus**: klicken Sie in den Pane eines Teammates, um direkt mit seiner Sitzung zu interagieren. Jeder Teammate hat eine vollständige Ansicht seines eigenen Terminals.177* **Split-Pane-Modus**: klicken Sie in den Pane eines Teammates, um direkt mit seiner Sitzung zu interagieren. Jeder Teammate hat eine vollständige Ansicht seines eigenen Terminals.

176 178 

179Während Sie einen In-Process-Teammate anzeigen, gehen einfacher Text und [Skills](/de/skills) an diesen Teammate, aber integrierte Befehle werden weiterhin in der Sitzung des Leads ausgeführt.

180 

181Das Modell und der schnelle Modus eines Teammates sind festgelegt, wenn er spawnt, daher ändern `/model` und `/fast` nur die Einstellungen des Leads. {/* min-version: 2.1.199 */}Ab v2.1.199 zeigt die Eingabe eines dieser Befehle während der Anzeige eines Teammates einen Hinweis an, dass die Änderung für den Lead gilt; frühere Versionen haben sie auf den Lead angewendet, ohne Hinweis. `/effort` gilt weiterhin für die späteren Züge des angezeigten Teammates, da Teammates die [Anstrengungsstufe](/de/model-config#adjust-effort-level) des Leads befolgen.

182 

177<h3 id="assign-and-claim-tasks">183<h3 id="assign-and-claim-tasks">

178 Aufgaben zuweisen und beanspruchen184 Aufgaben zuweisen und beanspruchen

179</h3>185</h3>


295**Wie Teammates Informationen teilen:**301**Wie Teammates Informationen teilen:**

296 302 

297* **Automatische Nachrichtenlieferung**: wenn Teammates Nachrichten senden, werden sie automatisch an Empfänger geliefert. Der Lead muss nicht auf Updates abfragen.303* **Automatische Nachrichtenlieferung**: wenn Teammates Nachrichten senden, werden sie automatisch an Empfänger geliefert. Der Lead muss nicht auf Updates abfragen.

298* **Untätigkeitsbenachrichtigungen**: wenn ein Teammate fertig ist und stoppt, benachrichtigt er automatisch den Lead.304* **Untätigkeitsbenachrichtigungen**: wenn ein Teammate fertig ist und stoppt, benachrichtigt er automatisch den Lead. {/* min-version: 2.1.198 */}Ab v2.1.198 benachrichtigt ein Teammate, dessen Zug bei einem API-Fehler endet, den Lead, dass es fehlgeschlagen ist, und enthält den Fehlertext, anstatt normal beendet zu erscheinen.

299* **Gemeinsame Aufgabenliste**: alle Agenten können den Aufgabenstatus sehen und verfügbare Arbeit beanspruchen.305* **Gemeinsame Aufgabenliste**: alle Agenten können den Aufgabenstatus sehen und verfügbare Arbeit beanspruchen.

300* **Teammate-Messaging**: senden Sie eine Nachricht an einen bestimmten Teammate nach Name. Um alle zu erreichen, senden Sie eine Nachricht pro Empfänger.306* **Teammate-Messaging**: senden Sie eine Nachricht an einen bestimmten Teammate nach Name. Um alle zu erreichen, senden Sie eine Nachricht pro Empfänger.

301 307 


430Wenn Teammates nicht erscheinen, nachdem Sie Claude aufgefordert haben, sie zu erzeugen:436Wenn Teammates nicht erscheinen, nachdem Sie Claude aufgefordert haben, sie zu erzeugen:

431 437 

432* Im In-Process-Modus erscheinen Teammates im Agent-Panel unterhalb der Eingabeaufforderung. Verwenden Sie die Pfeiltasten nach oben und unten, um einen auszuwählen, und drücken Sie dann die Eingabetaste, um ihn anzuzeigen.438* Im In-Process-Modus erscheinen Teammates im Agent-Panel unterhalb der Eingabeaufforderung. Verwenden Sie die Pfeiltasten nach oben und unten, um einen auszuwählen, und drücken Sie dann die Eingabetaste, um ihn anzuzeigen.

433* Eine Teammate-Zeile, die nach dem Leerlauf verschwunden ist, wurde ausgeblendet, nicht gestoppt. Leerlauf-Zeilen werden nach 30 Sekunden ausgeblendet und erscheinen beim nächsten Zug des Teammates wieder. Senden Sie dem Teammate eine Nachricht nach Name, um ihn zurückzubringen.439* Eine Teammate-Zeile, die nach dem Leerlauf verschwunden ist, wurde ausgeblendet, nicht gestoppt. Leerlauf-Zeilen werden 30 Sekunden nach dem Leerlauf des gesamten Panels ausgeblendet und erscheinen beim nächsten Zug des Teammates wieder. Wenn mehr als drei Teammates untätig sind, werden ihre überschüssigen Zeilen in einer einzelnen `N idle agents`-Zeile zusammengefasst, die Enter erweitert. Senden Sie dem Teammate eine Nachricht nach Name, um eine ausgeblendete Zeile zurückzubringen.

434* Ü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.440* Ü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.

435* Wenn Sie explizit Split Panes angefordert haben, stellen Sie sicher, dass tmux installiert ist und in Ihrem PATH verfügbar ist:441* Wenn Sie explizit Split Panes angefordert haben, stellen Sie sicher, dass tmux installiert ist und in Ihrem PATH verfügbar ist:

436 ```bash theme={null}442 ```bash theme={null}


453* Geben Sie ihnen zusätzliche Anweisungen direkt459* Geben Sie ihnen zusätzliche Anweisungen direkt

454* Erzeugen Sie einen Ersatz-Teammate, um die Arbeit fortzusetzen460* Erzeugen Sie einen Ersatz-Teammate, um die Arbeit fortzusetzen

455 461 

462{/* min-version: 2.1.198 */}Ab v2.1.198 weckt eine Nachricht vom Lead oder einem anderen Teammate einen In-Process-Teammate auf, der darauf wartet, eine fehlgeschlagene API-Anfrage erneut zu versuchen, sodass er sofort erneut versucht wird, anstatt auf die vollständige Wiederholungsverzögerung zu warten.

463 

456<h3 id="lead-shuts-down-before-work-is-done">464<h3 id="lead-shuts-down-before-work-is-done">

457 Lead fährt herunter, bevor die Arbeit erledigt ist465 Lead fährt herunter, bevor die Arbeit erledigt ist

458</h3>466</h3>


481* **Abschaltung kann langsam sein**: Teammates beenden ihre aktuelle Anfrage oder ihren Werkzeugaufruf, bevor sie herunterfahren, was Zeit in Anspruch nehmen kann.489* **Abschaltung kann langsam sein**: Teammates beenden ihre aktuelle Anfrage oder ihren Werkzeugaufruf, bevor sie herunterfahren, was Zeit in Anspruch nehmen kann.

482* **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.490* **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.

483* **Keine verschachtelten Teams**: Teammates können ihre eigenen Teammates nicht erzeugen. Nur der Lead kann das Team verwalten.491* **Keine verschachtelten Teams**: Teammates können ihre eigenen Teammates nicht erzeugen. Nur der Lead kann das Team verwalten.

492* **Keine Hintergrund-Subagenten von In-Process-Teammates**: die eigenen Subagenten eines In-Process-Teammates laufen im Vordergrund. Das Anfordern eines Hintergrund-Subagenten, ob mit `run_in_background` oder einer Subagenten-Definition, die `background: true` setzt, gibt einen Fehler zurück, da die Hintergrundarbeit eines Teammates nicht länger als der Prozess des Leads bestehen kann. Subagenten, die aus der Hauptkonversation gestartet werden, folgen dem [Hintergrund-Standard](/de/sub-agents#run-subagents-in-foreground-or-background).

484* **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.493* **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.

485* **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.494* **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.

486* **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.495* **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.

agent-view.md +59 −10

Details

27* [Schnellstart](#quick-start): Geben Sie Claude eine Aufgabe, an der sie im Hintergrund arbeiten kann, überprüfen Sie sie und greifen Sie ein, wenn nötig27* [Schnellstart](#quick-start): Geben Sie Claude eine Aufgabe, an der sie im Hintergrund arbeiten kann, überprüfen Sie sie und greifen Sie ein, wenn nötig

28* [Sitzungen mit der Agenten-Ansicht überwachen](#monitor-sessions-with-agent-view), einschließlich Statussymbole, Vorschau und Antwort, Anhängen, Organisieren und Tastaturkürzel28* [Sitzungen mit der Agenten-Ansicht überwachen](#monitor-sessions-with-agent-view), einschließlich Statussymbole, Vorschau und Antwort, Anhängen, Organisieren und Tastaturkürzel

29* [Neue Agenten versenden](#dispatch-new-agents) aus der Agenten-Ansicht, aus einer Sitzung heraus oder aus Ihrer Shell29* [Neue Agenten versenden](#dispatch-new-agents) aus der Agenten-Ansicht, aus einer Sitzung heraus oder aus Ihrer Shell

30* [Sitzungen aus der Shell verwalten](#manage-sessions-from-the-shell)30* [Sitzungen aus der Shell verwalten](#manage-sessions-from-the-shell) mit `claude agents`, `claude attach` und verwandten Befehlen

31* [Wie Hintergrund-Sitzungen gehostet werden](#how-background-sessions-are-hosted) durch den Supervisor-Prozess31* [Wie Hintergrund-Sitzungen gehostet werden](#how-background-sessions-are-hosted) durch den Supervisor-Prozess

32 32 

33<h2 id="quick-start">33<h2 id="quick-start">


64 </Step>64 </Step>

65 65 

66 <Step title="Eine vorhandene Sitzung einbringen">66 <Step title="Eine vorhandene Sitzung einbringen">

67 Um eine Sitzung, die Sie bereits offen haben, in die Agenten-Ansicht zu verschieben, führen Sie `/bg` darin aus, oder drücken Sie `←` auf einer leeren Eingabeaufforderung, um sie in den Hintergrund zu verschieben und die Agenten-Ansicht in einem Schritt zu öffnen. Die Sitzung läuft weiter und wird als Zeile neben den Sitzungen angezeigt, die Sie versendet haben.67 Dieser Schritt benötigt eine laufende Sitzung. Wenn Sie die früheren Schritte befolgt haben, haben Sie keine offene Sitzung in diesem Terminal, daher öffnen Sie eine reguläre `claude`-Sitzung in einem anderen Terminal und senden Sie ihr zuerst eine Nachricht. Um eine Sitzung, die Sie bereits offen haben, in die Agenten-Ansicht zu verschieben, führen Sie `/bg` darin aus, oder drücken Sie `←` auf einer leeren Eingabeaufforderung, um sie in den Hintergrund zu verschieben und die Agenten-Ansicht in einem Schritt zu öffnen. Die Sitzung läuft weiter und wird als Zeile neben den Sitzungen angezeigt, die Sie versendet haben.

68 </Step>68 </Step>

69</Steps>69</Steps>

70 70 


76 76 

77Führen Sie `claude agents` aus, um die Agenten-Ansicht zu öffnen. Sie übernimmt das gesamte Terminal und listet jede Sitzung nach Status gruppiert auf, mit angehefteten Sitzungen und denjenigen, die Sie benötigen, oben. Jede Zeile zeigt den Namen der Sitzung, die aktuelle Aktivität und wie lange die letzte Änderung her ist.77Führen Sie `claude agents` aus, um die Agenten-Ansicht zu öffnen. Sie übernimmt das gesamte Terminal und listet jede Sitzung nach Status gruppiert auf, mit angehefteten Sitzungen und denjenigen, die Sie benötigen, oben. Jede Zeile zeigt den Namen der Sitzung, die aktuelle Aktivität und wie lange die letzte Änderung her ist.

78 78 

79Der Name ist mit der Farbe getönt, die durch [`/color`](/de/commands) in dieser Sitzung festgelegt wurde. {/* min-version: 2.1.199 */}Ab v2.1.199 wird die Farbe beibehalten, wenn Sie eine Sitzung [in den Hintergrund verschieben](#from-inside-a-session) mit `←` oder `/background`.

80 

79Standardmäßig zeigt die Liste jede Hintergrund-Sitzung, die Sie gestartet haben, über alle Ihre Projekte hinweg. Eine Sitzung, die in einem Repository funktioniert, und eine andere in einem anderen Worktree erscheinen beide hier, unabhängig davon, aus welchem Verzeichnis Sie die Agenten-Ansicht geöffnet haben. Um die Liste auf ein Projekt zu beschränken, übergeben Sie `--cwd`:81Standardmäßig zeigt die Liste jede Hintergrund-Sitzung, die Sie gestartet haben, über alle Ihre Projekte hinweg. Eine Sitzung, die in einem Repository funktioniert, und eine andere in einem anderen Worktree erscheinen beide hier, unabhängig davon, aus welchem Verzeichnis Sie die Agenten-Ansicht geöffnet haben. Um die Liste auf ein Projekt zu beschränken, übergeben Sie `--cwd`:

80 82 

81```bash theme={null}83```bash theme={null}


91 ✽ clawd walk cycle Write assets/sprites/clawd-walk.png 3m93 ✽ clawd walk cycle Write assets/sprites/clawd-walk.png 3m

92 94 

93Bereit zur Überprüfung95Bereit zur Überprüfung

94 ∙ jump physics Opened PR with collision fix PR #2048 2h96 ∙ jump physics Opened PR with collision fix #2048 2h

95 97 

96Benötigt Eingabe98Benötigt Eingabe

97 ✻ power-up design needs input: double jump or wall climb? 1m99 ✻ power-up design needs input: double jump or wall climb? 1m


129| `∙` | Der Prozess ist beendet. Sie können immer noch Vorschau anzeigen, antworten oder anhängen, und Claude startet von dort neu, wo es aufgehört hat |131| `∙` | Der Prozess ist beendet. Sie können immer noch Vorschau anzeigen, antworten oder anhängen, und Claude startet von dort neu, wo es aufgehört hat |

130| `✢` | Eine [`/loop`](/de/scheduled-tasks)-Sitzung, die zwischen Iterationen schläft. Die Zeile zeigt ihre Laufzahl und einen Countdown |132| `✢` | Eine [`/loop`](/de/scheduled-tasks)-Sitzung, die zwischen Iterationen schläft. Die Zeile zeigt ihre Laufzahl und einen Countdown |

131 133 

132Das `PR #N`-Label, das am rechten Rand einer Zeile erscheinen kann, ist der [Pull Request, den die Sitzung geöffnet hat](#pull-request-status), nicht Teil des Status-Symbols. Wenn eine Sitzung mehr als einen Pull Request geöffnet hat, zeigt das Label eine Anzahl statt, z. B. `3 PRs`.134Das `#N`-Label, das am rechten Rand einer Zeile erscheinen kann, ist der [Pull Request, den die Sitzung geöffnet hat](#pull-request-status), nicht Teil des Status-Symbols.

133 135 

134Der Terminal-Tab-Titel zeigt die Anzahl der wartenden Eingaben, während die Agenten-Ansicht offen ist: `2 awaiting input · claude agents`, wenn Sitzungen Eingabe benötigen, oder `claude agents`, wenn keine benötigen.136Der Terminal-Tab-Titel zeigt die Anzahl der wartenden Eingaben, während die Agenten-Ansicht offen ist: `2 awaiting input · claude agents`, wenn Sitzungen Eingabe benötigen, oder `claude agents`, wenn keine benötigen.

135 137 

138Ab v2.1.198 sendet Claude Code auch eine Benachrichtigung über Ihren konfigurierten [Terminal-Benachrichtigungskanal](/de/terminal-config#get-a-terminal-bell-or-notification), während die Agenten-Ansicht offen ist, wenn eine lokale Hintergrund-Sitzung Ihre Eingabe benötigt, fertig wird oder fehlschlägt. Sitzungen, die nach einem Zeitplan ausgeführt werden, wie z. B. [`/loop`](/de/scheduled-tasks)-Sitzungen, benachrichtigen nur, wenn sie Ihre Eingabe benötigen. Benachrichtigungen verwenden die gleiche [`preferredNotifChannel`-Einstellung](/de/settings#available-settings) wie der Rest von Claude Code und lösen den [`Notification`-Hook](/de/hooks#notification) mit dem Typ `agent_needs_input` oder `agent_completed` aus.

139 

136Hintergrund-Sitzungen benötigen kein offenes Terminal, um weiter zu funktionieren. Ein separater [Supervisor-Prozess](#the-supervisor-process) führt sie aus, sodass Sie die Agenten-Ansicht schließen, Ihre Shell schließen oder eine neue interaktive Sitzung starten können und Ihre versendete Arbeit läuft weiter.140Hintergrund-Sitzungen benötigen kein offenes Terminal, um weiter zu funktionieren. Ein separater [Supervisor-Prozess](#the-supervisor-process) führt sie aus, sodass Sie die Agenten-Ansicht schließen, Ihre Shell schließen oder eine neue interaktive Sitzung starten können und Ihre versendete Arbeit läuft weiter.

137 141 

138Der Sitzungsstatus wird auf der Festplatte durch automatische Updates und Supervisor-Neustarts beibehalten. Sitzungen werden auch beibehalten, wenn Ihr Computer in den Ruhezustand wechselt. Ihre Prozesse werden beim Aufwachen fortgesetzt und der Supervisor verbindet sich wieder mit ihnen, anstatt die Zeitlücke als untätig zu behandeln. Das Herunterfahren stoppt immer noch laufende Sitzungen; siehe [Sitzungen werden nach dem Herunterfahren als fehlgeschlagen angezeigt](#sessions-show-as-failed-after-shutdown), um zu erfahren, wie Sie sie wiederherstellen.142Der Sitzungsstatus wird auf der Festplatte durch automatische Updates und Supervisor-Neustarts beibehalten. Sitzungen werden auch beibehalten, wenn Ihr Computer in den Ruhezustand wechselt. Ihre Prozesse werden beim Aufwachen fortgesetzt und der Supervisor verbindet sich wieder mit ihnen, anstatt die Zeitlücke als untätig zu behandeln. Das Herunterfahren stoppt immer noch laufende Sitzungen; siehe [Sitzungen werden nach dem Herunterfahren als fehlgeschlagen angezeigt](#sessions-show-as-failed-after-shutdown), um zu erfahren, wie Sie sie wiederherstellen.


151 Pull-Request-Status155 Pull-Request-Status

152</h3>156</h3>

153 157 

154Wenn eine Sitzung einen Pull Request öffnet, wird ein `PR #1234`-Label am rechten Rand der Zeile angezeigt, verlinkt zum Pull Request in Terminals, die Hyperlinks unterstützen. Das Label bleibt bestehen, wenn Sie eine Nachverfolgung an die Sitzung senden, sodass der Pull Request sichtbar bleibt, während die Zeile zum Live-Fortschritt zurückkehrt.158Wenn eine Sitzung einen Pull Request öffnet, wird ein `#1234`-Label am rechten Rand der Zeile angezeigt, verlinkt zum Pull Request in Terminals, die Hyperlinks unterstützen. Das Label bleibt bestehen, wenn Sie eine Nachverfolgung an die Sitzung senden, sodass der Pull Request sichtbar bleibt, während die Zeile zum Live-Fortschritt zurückkehrt. Hintergrund-Sitzungen, die ihre Änderungen in einem Worktree isoliert haben, öffnen diese Pull Requests selbst; [Wie Datei-Edits isoliert werden](#how-file-edits-are-isolated) behandelt, wann das passiert und was eine Sitzung niemals ohne zu fragen tut.

155 159 

156Wenn eine Sitzung mehr als einen Pull Request geöffnet hat, zeigt das Label eine Anzahl statt, z. B. `3 PRs`, farbig gekennzeichnet nach dem offenen Pull Request, der am meisten Aufmerksamkeit benötigt. Öffnen Sie das [Vorschau-Panel](#peek-and-reply), um sie alle zu sehen.160Wenn eine Sitzung mehr als einen Pull Request geöffnet hat, zeigt das Label eine Anzahl statt, z. B. `3 PRs`, farbig gekennzeichnet nach dem offenen Pull Request, der am meisten Aufmerksamkeit benötigt. Öffnen Sie das [Vorschau-Panel](#peek-and-reply), um sie alle zu sehen.

157 161 


190 194 

191Angehängte Sitzungen werden immer im [Vollbildmodus](/de/fullscreen) gerendert, unabhängig von Ihrer `tui`-Einstellung, da eine Hintergrund-Sitzung keinen Terminal-Scrollback zum Anhängen hat. Scrollen Sie mit `PgUp`, `PgDn` oder dem Mausrad, und drücken Sie `Ctrl+O` für den Transkript-Modus. Ihr natives Terminal-Scroll und tmux-Kopiermodus zeigen nur den aktuellen Viewport, genau wie wenn Sie eine beliebige Vollbildanwendung ausführen.195Angehängte Sitzungen werden immer im [Vollbildmodus](/de/fullscreen) gerendert, unabhängig von Ihrer `tui`-Einstellung, da eine Hintergrund-Sitzung keinen Terminal-Scrollback zum Anhängen hat. Scrollen Sie mit `PgUp`, `PgDn` oder dem Mausrad, und drücken Sie `Ctrl+O` für den Transkript-Modus. Ihr natives Terminal-Scroll und tmux-Kopiermodus zeigen nur den aktuellen Viewport, genau wie wenn Sie eine beliebige Vollbildanwendung ausführen.

192 196 

193Drücken Sie `←` auf einer leeren Eingabeaufforderung, um sich abzuhängen und zur Agenten-Ansicht zurückzukehren. Wenn ein Dialog den Fokus hat und nicht auf `←` reagiert, drücken Sie `Ctrl+Z`, um sich sofort abzuhängen.197Drücken Sie `←` auf einer leeren Eingabeaufforderung, oder führen Sie `/exit` aus, um sich abzuhängen und zur Agenten-Ansicht zurückzukehren. Ab v2.1.198 funktioniert dies auf die gleiche Weise, ob Sie die Sitzung von der Agenten-Ansicht aus geöffnet haben oder mit `claude attach <id>` von Ihrer Shell aus.

198 

199`Ctrl+Z` hängt auch ab, geht aber stattdessen dorthin zurück, wo Sie angefangen haben: Agenten-Ansicht, wenn Sie sich von dort aus angehängt haben, oder Ihre Shell, wenn Sie `claude attach` ausgeführt haben. Verwenden Sie `Ctrl+Z`, wenn ein Dialog den Fokus hat und nicht auf `←` reagiert.

194 200 

195`Ctrl+C` behält sein Standardunterbrechungsverhalten bei, während es angehängt ist: Es bricht eine laufende Antwort oder einen `!`-Shell-Befehl ab, anstatt sich abzuhängen. Das zweimalige Drücken von `Ctrl+C` auf einer leeren Eingabeaufforderung hängt ab, genau wie in jeder anderen Sitzung.201`Ctrl+C` behält sein Standardunterbrechungsverhalten bei, während es angehängt ist: Es bricht eine laufende Antwort oder einen `!`-Shell-Befehl ab, anstatt sich abzuhängen. Das zweimalige Drücken von `Ctrl+C` auf einer leeren Eingabeaufforderung hängt ab, genau wie in jeder anderen Sitzung.

196 202 


289| `#<number>` oder eine Pull Request-URL | Wenn eine Sitzung bereits an diesem PR funktioniert, wählen Sie sie aus, anstatt zu versenden |295| `#<number>` oder eine Pull Request-URL | Wenn eine Sitzung bereits an diesem PR funktioniert, wählen Sie sie aus, anstatt zu versenden |

290| `Shift+Enter` | Versenden und sofort an die neue Sitzung anhängen |296| `Shift+Enter` | Versenden und sofort an die neue Sitzung anhängen |

291 297 

292Ein kleiner Satz von Befehlen wird in der Agenten-Ansicht selbst ausgeführt, anstatt zu versenden: `/exit` und `/quit` schließen die Agenten-Ansicht, `/logout` meldet Sie ab, und `/model` setzt das [Versand-Modell](#set-the-model). Skills, Ihre eigenen Befehle und Eingabeaufforderungs-erweiternde Built-ins wie `/init` werden als erste Eingabeaufforderung an eine neue Hintergrund-Sitzung gesendet. Andere Built-in-Befehle zeigen stattdessen einen `attach to a session to run it`-Hinweis an.298Ein kleiner Satz von Befehlen wird in der Agenten-Ansicht selbst ausgeführt, anstatt zu versenden:

299 

300* `/exit` und `/quit` schließen die Agenten-Ansicht

301* `/logout` meldet Sie ab

302* `/model` setzt das [Versand-Modell](#set-the-model)

303* {/* min-version: 2.1.198 */}Ab v2.1.198 öffnet `/login` den Anmeldedialog, damit Sie sich erneut anmelden können, ohne an eine Sitzung anzuhängen

304 

305Skills, Ihre eigenen Befehle und Eingabeaufforderungs-erweiternde Built-ins wie `/init` werden als erste Eingabeaufforderung an eine neue Hintergrund-Sitzung gesendet. Andere Built-in-Befehle zeigen stattdessen einen `attach to a session to run it`-Hinweis an.

293 306 

294Das Verpacken einer wiederkehrenden Aufgabe als [Skill](/de/skills) ermöglicht es Ihnen, denselben Workflow aus der Agenten-Ansicht wiederholt zu starten, ohne die Eingabeaufforderung erneut einzugeben.307Das Verpacken einer wiederkehrenden Aufgabe als [Skill](/de/skills) ermöglicht es Ihnen, denselben Workflow aus der Agenten-Ansicht wiederholt zu starten, ohne die Eingabeaufforderung erneut einzugeben.

295 308 


313 326 

314Führen Sie `/background` oder seinen Alias `/bg` aus, um das aktuelle Gespräch in eine Hintergrund-Sitzung zu verschieben. Übergeben Sie eine Eingabeaufforderung wie `/bg run the test suite and fix any failures`, um eine weitere Anweisung zu senden, bevor Sie verschieben. Wenn Claude antwortet, wenn Sie `/bg` ausführen, wird die Antwort in der Hintergrund-Sitzung fortgesetzt.327Führen Sie `/background` oder seinen Alias `/bg` aus, um das aktuelle Gespräch in eine Hintergrund-Sitzung zu verschieben. Übergeben Sie eine Eingabeaufforderung wie `/bg run the test suite and fix any failures`, um eine weitere Anweisung zu senden, bevor Sie verschieben. Wenn Claude antwortet, wenn Sie `/bg` ausführen, wird die Antwort in der Hintergrund-Sitzung fortgesetzt.

315 328 

329Das Beenden einer interaktiven Sitzung, die noch Hintergrund-Arbeit ausführt, wie z. B. Subagenten, Hintergrund-Shell-Befehle, Workflows oder [Monitore](/de/tools-reference#monitor-tool), zeigt einen Dialog `Background work is running` an, anstatt sofort zu beenden. {/* min-version: 2.1.198 */}Ab v2.1.198 bietet der Dialog `Move to background and exit` neben `Exit anyway` und `Stay` an. Wenn Sie diese Option wählen, wird die Sitzung auf die gleiche Weise wie `/background` in den Hintergrund verschoben und Sie werden dann zu Ihrer Shell zurückgebracht, sodass Arbeit, die fortgesetzt werden kann, weiterläuft und die Sitzung in der Agenten-Ansicht angezeigt wird. Die Option wird nicht angezeigt, wenn die Agenten-Ansicht [ausgeschaltet](#turn-off-agent-view) ist.

330 

316Das Verschieben aus einer interaktiven Sitzung startet einen neuen Prozess, der aus dem gespeicherten Gespräch fortgesetzt wird, und laufende Arbeit wird übertragen: Ausführen von Hintergrund-Shell-Befehlen, Hintergrund-Subagenten, dynamische Workflows und geplante Aufgaben, die Sie mit [`/loop`](/de/scheduled-tasks) erstellt haben, werden zur Hintergrund-Sitzung übertragen und laufen dort weiter. Ein Subagent wird zusammen mit allem übertragen, das er gestartet hat, daher wird er nur übertragen, wenn all diese Arbeit auch übertragen werden kann, einschließlich unter Windows. Um laufende Arbeit stattdessen zu stoppen, anstatt sie zu übertragen, setzen Sie die Umgebungsvariable [`CLAUDE_DISABLE_ADOPT=1`](/de/env-vars#variables); Claude Code fordert Sie dann auf, zu bestätigen, bevor Sie verschieben.331Das Verschieben aus einer interaktiven Sitzung startet einen neuen Prozess, der aus dem gespeicherten Gespräch fortgesetzt wird, und laufende Arbeit wird übertragen: Ausführen von Hintergrund-Shell-Befehlen, Hintergrund-Subagenten, dynamische Workflows und geplante Aufgaben, die Sie mit [`/loop`](/de/scheduled-tasks) erstellt haben, werden zur Hintergrund-Sitzung übertragen und laufen dort weiter. Ein Subagent wird zusammen mit allem übertragen, das er gestartet hat, daher wird er nur übertragen, wenn all diese Arbeit auch übertragen werden kann, einschließlich unter Windows. Um laufende Arbeit stattdessen zu stoppen, anstatt sie zu übertragen, setzen Sie die Umgebungsvariable [`CLAUDE_DISABLE_ADOPT=1`](/de/env-vars#variables); Claude Code fordert Sie dann auf, zu bestätigen, bevor Sie verschieben.

317 332 

318Arbeit, die nicht übertragen werden kann, wie z. B. ein laufender [Monitor](/de/tools-reference#monitor-tool), wird gestoppt. Ein Hintergrund-Subagent, der einen Monitor besitzt, wird zusammen mit ihm gestoppt. Wenn eine solche Arbeit läuft, zeigt Claude Code ein Dialog `Background this session?`, damit Sie bestätigen können, bevor es gestoppt wird.333Arbeit, die nicht übertragen werden kann, wie z. B. ein laufender [Monitor](/de/tools-reference#monitor-tool), wird gestoppt. Ein Hintergrund-Subagent, der einen Monitor besitzt, wird zusammen mit ihm gestoppt. Wenn eine solche Arbeit läuft, zeigt Claude Code ein Dialog `Background this session?`, damit Sie bestätigen können, bevor es gestoppt wird.


342claude --bg "investigate the flaky SettingsChangeDetector test"357claude --bg "investigate the flaky SettingsChangeDetector test"

343```358```

344 359 

360Die Eingabeaufforderung ist das Positionsargument, nicht ein `-p`-Wert. {/* min-version: 2.1.198 */}Ab v2.1.198 wird das Kombinieren von `--bg` mit `-p` oder `--print` mit einem Fehler abgelehnt, bevor eine Sitzung erstellt wird, da `--print` niemals die interaktive Sitzung startet, an die `claude agents` anhängt.

361 

345Um einen bestimmten Subagenten als Hauptagent der Sitzung auszuführen, kombinieren Sie `--bg` mit `--agent`:362Um einen bestimmten Subagenten als Hauptagent der Sitzung auszuführen, kombinieren Sie `--bg` mit `--agent`:

346 363 

347```bash theme={null}364```bash theme={null}


414 431 

415Ein [Subagent](/de/sub-agents), den die Hintergrund-Sitzung erzeugt, erbt das Arbeitsverzeichnis der Sitzung, sodass seine Dateibearbeitungen im Worktree der Sitzung landen, anstatt in Ihrer Arbeitskopie. Um einem Subagenten stattdessen seinen eigenen separaten Worktree zu geben, setzen Sie [`isolation: worktree`](/de/sub-agents#supported-frontmatter-fields) in seinem Frontmatter oder übergeben Sie `isolation: "worktree"` beim Erzeugen.432Ein [Subagent](/de/sub-agents), den die Hintergrund-Sitzung erzeugt, erbt das Arbeitsverzeichnis der Sitzung, sodass seine Dateibearbeitungen im Worktree der Sitzung landen, anstatt in Ihrer Arbeitskopie. Um einem Subagenten stattdessen seinen eigenen separaten Worktree zu geben, setzen Sie [`isolation: worktree`](/de/sub-agents#supported-frontmatter-fields) in seinem Frontmatter oder übergeben Sie `isolation: "worktree"` beim Erzeugen.

416 433 

434Ab v2.1.198 committed eine Hintergrund-Sitzung, die ihre Code-Änderungen in einem Worktree isoliert hat, auch, pusht ihren eigenen Branch und öffnet einen Entwurf-Pull-Request, ohne zu fragen. Das [`#N`-Label](#pull-request-status) wird auf ihrer Zeile angezeigt, wenn der Pull-Request geöffnet wird. Es pusht niemals zu `main` oder `master`, force-pusht oder merged niemals, und es überspringt den Pull-Request, wenn Sie ihm gesagt haben, keinen zu öffnen, oder das Repository hat kein Remote.

435 

436Eine Sitzung, die einen Checkout bearbeitet, den sie nicht selbst isoliert hat, fragt immer noch, bevor sie committed oder Branches wechselt. Dies gilt, wenn Isolation auf `"none"` gesetzt ist, wenn der Worktree-Wechsel fehlgeschlagen ist, oder wenn die Sitzung in einem Worktree gestartet wurde, der bereits existierte.

437 

417<h3 id="set-the-model">438<h3 id="set-the-model">

418 Das Modell festlegen439 Das Modell festlegen

419</h3>440</h3>


529 550 

530Sobald eine Sitzung fertig ist und etwa eine Stunde lang unverbunden sitzt, stoppt der Supervisor ihren Prozess, um Ressourcen freizugeben. Eine Sitzung, die Sie mit `Ctrl+T` [angeheftet](#organize-the-list) haben, ist ausgenommen und behält ihren Prozess im Leerlauf bei. Das Transkript und der Status bleiben auf der Festplatte, und das nächste Mal, wenn Sie anhängen, Vorschau anzeigen oder antworten, startet der Supervisor einen frischen Prozess von dort, wo er aufgehört hat. Wenn jede Sitzung fertig ist und kein Terminal verbunden ist, beendet sich der Supervisor selbst und startet erneut, wenn Sie das nächste Mal eine Sitzung benötigen.551Sobald eine Sitzung fertig ist und etwa eine Stunde lang unverbunden sitzt, stoppt der Supervisor ihren Prozess, um Ressourcen freizugeben. Eine Sitzung, die Sie mit `Ctrl+T` [angeheftet](#organize-the-list) haben, ist ausgenommen und behält ihren Prozess im Leerlauf bei. Das Transkript und der Status bleiben auf der Festplatte, und das nächste Mal, wenn Sie anhängen, Vorschau anzeigen oder antworten, startet der Supervisor einen frischen Prozess von dort, wo er aufgehört hat. Wenn jede Sitzung fertig ist und kein Terminal verbunden ist, beendet sich der Supervisor selbst und startet erneut, wenn Sie das nächste Mal eine Sitzung benötigen.

531 552 

532Hintergrund-Shell-Befehle und dynamische Workflows, die die Sitzung gestartet hat, laufen weiter, wenn ihr Prozess gestoppt, neu gestartet oder aktualisiert wird, einschließlich unter Windows. Der nächste Prozess, der für diese Sitzung gestartet wird, greift sie wieder auf, ein Shell-Befehl, der inzwischen fertig ist, wird als abgeschlossen mit seiner Ausgabe gemeldet, und ein Workflow wird von dort fortgesetzt, wo er aufgehört hat. Shell-Befehle, die von einem Subagenten gestartet wurden, und laufende [Monitore](/de/tools-reference#monitor-tool) stoppen immer noch mit dem Prozess, und das Löschen der Sitzung stoppt alles, das sie übergeben hat. Um Hintergrund-Shell-Befehle und Workflows auch mit dem Prozess zu stoppen, setzen Sie die Umgebungsvariable [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/de/env-vars#variables) auf `1`.553Hintergrund-Arbeit, die die Sitzung selbst auf der obersten Ebene gestartet hat, wird übergeben, wenn ihr Prozess gestoppt, neu gestartet oder aktualisiert wird, einschließlich unter Windows. Der nächste Prozess, der für diese Sitzung gestartet wird, greift die Arbeit wieder auf:

554 

555* Ein Hintergrund-Shell-Befehl, der inzwischen fertig ist, wird als abgeschlossen mit seiner Ausgabe gemeldet

556* Ein dynamischer Workflow wird von dort fortgesetzt, wo er aufgehört hat

557* Ein [Hintergrund-Subagent](/de/sub-agents#run-subagents-in-foreground-or-background) wird von seinem eigenen Transkript fortgesetzt

558 

559{/* min-version: 2.1.198 */}Ab v2.1.198 deckt die Übergabe alle drei ab. Vor v2.1.198 deckte sie nur Shell-Befehle und Workflows ab, daher wurde ein Hintergrund-Subagent mit dem Prozess gestoppt und beim nächsten Aufwachen als fehlgeschlagen gemeldet.

560 

561Arbeit, deren Status nur innerhalb des Prozesses selbst lebt, stoppt damit, anstatt übergeben zu werden. Das sind Shell-Befehle, die ein Subagent gestartet hat, die der fortgesetzte Subagent erneut starten kann, und laufende [Monitore](/de/tools-reference#monitor-tool), deren Ereignisstrom nicht auf einen anderen Prozess verschoben werden kann.

562 

563Das Löschen der Sitzung stoppt alles, das sie übergeben hat. Um alle Hintergrund-Arbeiten der Sitzung mit dem Prozess zu stoppen, anstatt sie zu übergeben, setzen Sie die Umgebungsvariable [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/de/env-vars#variables) auf `1`.

533 564 

534Wenn eine neu gestartete Sitzung zurückkommt und nur ihren ursprünglichen Prompt zeigt, weil Claude Code ihr Transkript als leer missverstanden hat, wird das Gesprächstranskript stattdessen mit einem `.orphaned-`-Suffix umbenannt, anstatt gelöscht zu werden, sodass es auf Ihrem Computer bleibt.565Wenn eine neu gestartete Sitzung zurückkommt und nur ihren ursprünglichen Prompt zeigt, weil Claude Code ihr Transkript als leer missverstanden hat, wird das Gesprächstranskript stattdessen mit einem `.orphaned-`-Suffix umbenannt, anstatt gelöscht zu werden, sodass es auf Ihrem Computer bleibt.

535 566 


606 637 

607Der Ruhezustand allein verursacht dies nicht. Sitzungen werden über den Ruhezustand hinweg beibehalten und der Supervisor verbindet sich beim Aufwachen wieder mit ihnen.638Der Ruhezustand allein verursacht dies nicht. Sitzungen werden über den Ruhezustand hinweg beibehalten und der Supervisor verbindet sich beim Aufwachen wieder mit ihnen.

608 639 

640<h3 id="a-session-fails-before-starting-with-a-possibly-low-memory-note">

641 Eine Sitzung schlägt vor dem Start mit einer `possibly low memory`-Notiz fehl

642</h3>

643 

644Ab v2.1.199 zeigt die Zeile den Exit und fügt `possibly low memory — free some up and retry` hinzu, wenn der Prozess einer Hintergrund-Sitzung beendet wird, bevor er fertig startet und der Host wenig Speicher hat. Frühere Versionen zeigten nur den bloßen Exit-Grund für diesen Fehler.

645 

646Die Notiz ist eine Hypothese, keine bestätigte Ursache. Claude Code fügt sie nur hinzu, wenn der Prozess stillschweigend beendet wurde, ohne einen Fehler zu schreiben und ohne durch ein Signal gestoppt zu werden, und der Host meldete zu diesem Zeitpunkt wenig Speicher. Wenn der Prozess vor dem Exit einen Fehler geschrieben hat, zeigt die Zeile stattdessen diesen Fehler.

647 

648Geben Sie Speicher auf dem Computer frei, dann hängen Sie sich an, zeigen Sie Vorschau an oder antworten Sie auf die Zeile und der Supervisor startet einen neuen Prozess für die Sitzung. Wenn der Speicher niedrig bleibt, stoppt der Supervisor auch [untätige Sitzungen](#the-supervisor-process) von selbst, um Ressourcen freizugeben.

649 

609<h3 id="agent-view-says-the-background-service-did-not-respond">650<h3 id="agent-view-says-the-background-service-did-not-respond">

610 Agenten-Ansicht sagt, dass der Hintergrunddienst nicht geantwortet hat651 Agenten-Ansicht sagt, dass der Hintergrunddienst nicht geantwortet hat

611</h3>652</h3>


636 677 

637Siehe die [Fehlerreferenz](/de/errors#could-not-resolve-authentication-method) für die vollständige Liste der Ursachen und Behebungen.678Siehe die [Fehlerreferenz](/de/errors#could-not-resolve-authentication-method) für die vollständige Liste der Ursachen und Behebungen.

638 679 

639<h3 id="background-sessions-cannot-read-desktop-documents-or-downloads-on-macos">680<h3 id="background-sessions-can’t-read-desktop-documents-or-downloads-on-macos">

640 Hintergrund-Sitzungen können Desktop, Dokumente oder Downloads auf macOS nicht lesen681 Hintergrund-Sitzungen können Desktop, Dokumente oder Downloads auf macOS nicht lesen

641</h3>682</h3>

642 683 


644 685 

645Mit dem nativen Installer wird der Eintrag als Claude Code angezeigt und die Berechtigung bleibt über Updates hinweg erhalten. Bei anderen Installationsmethoden wie Homebrew oder npm zeigt der Eintrag den Binärpfad an und muss möglicherweise nach dem Update erneut gewährt werden.686Mit dem nativen Installer wird der Eintrag als Claude Code angezeigt und die Berechtigung bleibt über Updates hinweg erhalten. Bei anderen Installationsmethoden wie Homebrew oder npm zeigt der Eintrag den Binärpfad an und muss möglicherweise nach dem Update erneut gewährt werden.

646 687 

688<h3 id="background-sessions-can’t-reach-local-network-hosts-on-macos">

689 Hintergrund-Sitzungen können auf macOS keine lokalen Netzwerk-Hosts erreichen

690</h3>

691 

692Unter macOS 15 und später blockiert das System einen Prozess daran, Geräte in Ihrem lokalen Netzwerk zu erreichen, bis Sie die Berechtigung für lokales Netzwerk gewähren. Vor v2.1.198 forderte der Hintergrund-Sitzungs-Host diese Berechtigung nie an, daher schlugen Befehle, die auf eine LAN-Adresse abzielten, mit `connect: no route to host` fehl, obwohl derselbe Befehl in einem Vordergrund-Terminal funktionierte. {/* min-version: 2.1.198 */}Ab v2.1.198 löst der erste Befehl in einer Hintergrund-Sitzung, der sich mit einer lokalen Netzwerk-Adresse verbindet, die macOS-Berechtigung für lokales Netzwerk für Claude Code aus. Gewähren Sie sie einmal und diese Befehle erreichen LAN-Hosts auf die gleiche Weise wie in einem Vordergrund-Terminal.

693 

647<h3 id="a-session-is-slow-to-respond-after-attaching">694<h3 id="a-session-is-slow-to-respond-after-attaching">

648 Eine Sitzung reagiert langsam nach dem Anhängen695 Eine Sitzung reagiert langsam nach dem Anhängen

649</h3>696</h3>


683Die Agenten-Ansicht hat sich während der Forschungsvorschau schnell entwickelt. Wenn Sie eine ältere Claude Code-Version verwenden, kann sich einiges auf dieser Seite unterscheiden; insbesondere lehnt `claude agents` Flags ab, die es noch nicht unterstützt, mit einem `unknown option`-Fehler. Die folgende Tabelle listet auf, wann jedes Flag und Verhalten hinzugefügt wurde.730Die Agenten-Ansicht hat sich während der Forschungsvorschau schnell entwickelt. Wenn Sie eine ältere Claude Code-Version verwenden, kann sich einiges auf dieser Seite unterscheiden; insbesondere lehnt `claude agents` Flags ab, die es noch nicht unterstützt, mit einem `unknown option`-Fehler. Die folgende Tabelle listet auf, wann jedes Flag und Verhalten hinzugefügt wurde.

684 731 

685| Version | Änderung |732| Version | Änderung |

686| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |733| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

734| v2.1.199 | {/* min-version: 2.1.199 */}Eine Hintergrund-Sitzung, deren Prozess beendet wird, bevor sie auf einem Host mit wenig Speicher vollständig startet, zeigt `possibly low memory — free some up and retry` in ihrem Zeilenstatus an, anstatt nur die bloße Beendigungsursache anzuzeigen. Das Verschieben einer Sitzung in den Hintergrund mit `←` oder `/background` überträgt ihre `/color`-Einstellung auf die neue Zeile. |

735| v2.1.198 | {/* min-version: 2.1.198 */}Die Agenten-Ansicht sendet eine Benachrichtigung über `preferredNotifChannel`, wenn eine Hintergrund-Sitzung Eingabe benötigt, beendet wird oder fehlschlägt, und löst den `Notification`-Hook mit dem Typ `agent_needs_input` oder `agent_completed` aus. `←` und `/exit` innerhalb von `claude attach <id>` kehren zur Agenten-Ansicht zurück, anstatt zur Shell zu beenden; `Ctrl+Z` kehrt zur Shell zurück. Eine Hintergrund-Sitzung, die ihre Arbeit in einem Worktree isoliert, committed und pusht ihren eigenen isolierten Branch, niemals `main` oder `master`, und öffnet einen Entwurf eines Pull Requests, wenn sie beendet wird, anstatt zuerst zu fragen. `/login` wird in der Agenten-Ansicht ausgeführt und öffnet den Anmeldedialog. Der Beendigungsdialog `Background work is running` bietet `Move to background and exit` an. Die Beendigungsübergabe deckt auch Hintergrund-Subagenten ab, die beim nächsten Aufwachen aus ihrem Transkript fortgesetzt werden, anstatt als fehlgeschlagen gemeldet zu werden. `claude --bg` kombiniert mit `-p` oder `--print` wird mit einem Fehler abgelehnt. |

687| v2.1.196 | {/* min-version: 2.1.196 */}Ein einzelner `←`-Druck verschieben eine Vordergrund-Sitzung in den Hintergrund; frühere Versionen erforderten zwei Drücke, mit einem Fußzeilen-Hinweis und einer Bestätigung. `--dangerously-skip-permissions`, das an `claude agents` übergeben wird, zeigt den Bypass-Haftungsausschluss an, anstatt stillschweigend gelöscht zu werden. Interaktive Sitzungen, die Sie nie benannt haben, tragen einen Standard-Namen wie `my-app-3f` in Sitzungsauflistungen und `claude agents --json`. Hintergrund-Shell-Befehle und dynamische Workflows überleben das Stoppen, Neustarten oder Aktualisieren des Sitzungsprozesses, einschließlich unter Windows; setzen Sie `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1`, um die Übergabe auszuschalten. Ein Transkript, das beim Neustart als leer missverstanden wird, wird mit einem `.orphaned-`-Suffix umbenannt, anstatt gelöscht zu werden. |736| v2.1.196 | {/* min-version: 2.1.196 */}Ein einzelner `←`-Druck verschieben eine Vordergrund-Sitzung in den Hintergrund; frühere Versionen erforderten zwei Drücke, mit einem Fußzeilen-Hinweis und einer Bestätigung. `--dangerously-skip-permissions`, das an `claude agents` übergeben wird, zeigt den Bypass-Haftungsausschluss an, anstatt stillschweigend gelöscht zu werden. Interaktive Sitzungen, die Sie nie benannt haben, tragen einen Standard-Namen wie `my-app-3f` in Sitzungsauflistungen und `claude agents --json`. Hintergrund-Shell-Befehle und dynamische Workflows überleben das Stoppen, Neustarten oder Aktualisieren des Sitzungsprozesses, einschließlich unter Windows; setzen Sie `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1`, um die Übergabe auszuschalten. Ein Transkript, das beim Neustart als leer missverstanden wird, wird mit einem `.orphaned-`-Suffix umbenannt, anstatt gelöscht zu werden. |

688| v2.1.195 | {/* min-version: 2.1.195 */}Laufende Arbeit wird auch unter Windows übertragen, wenn Sie eine Sitzung in den Hintergrund verschieben; setzen Sie `CLAUDE_DISABLE_ADOPT=1`, um sie stattdessen zu stoppen. Die Gruppe `Abgeschlossen` füllt den verbleibenden vertikalen Platz und die Kopfzeile wird auf kurzen Terminals komprimiert. Eine ältere Claude Code-Version löscht nicht mehr neuere Sitzungs-`state.json`-Felder oder versteckt diese Sitzungen nicht vor `claude agents`. Das Anhängen an eine gestoppte Sitzung wechselt sofort, anstatt bis zu fünf Sekunden einen leeren Bildschirm zu zeigen. Ein Supervisor, der keine Verbindungen akzeptieren kann, beendet sich selbst und gibt seine Sperre frei. |737| v2.1.195 | {/* min-version: 2.1.195 */}Laufende Arbeit wird auch unter Windows übertragen, wenn Sie eine Sitzung in den Hintergrund verschieben; setzen Sie `CLAUDE_DISABLE_ADOPT=1`, um sie stattdessen zu stoppen. Die Gruppe `Abgeschlossen` füllt den verbleibenden vertikalen Platz und die Kopfzeile wird auf kurzen Terminals komprimiert. Eine ältere Claude Code-Version löscht nicht mehr neuere Sitzungs-`state.json`-Felder oder versteckt diese Sitzungen nicht vor `claude agents`. Das Anhängen an eine gestoppte Sitzung wechselt sofort, anstatt bis zu fünf Sekunden einen leeren Bildschirm zu zeigen. Ein Supervisor, der keine Verbindungen akzeptieren kann, beendet sich selbst und gibt seine Sperre frei. |

689| v2.1.174 | {/* min-version: 2.1.174 */}Hintergrund-Sitzungen erben keine Gateway-Endpunkt-Variablen wie `ANTHROPIC_BASE_URL` aus der Supervisor-Start-Shell mehr; der Supervisor stellt einen frischen Snapshot der Anmeldedaten für vorgewärmte Worker bereit, was spurlose `Could not resolve authentication method`-Fehler behebt. |738| v2.1.174 | {/* min-version: 2.1.174 */}Hintergrund-Sitzungen erben keine Gateway-Endpunkt-Variablen wie `ANTHROPIC_BASE_URL` aus der Supervisor-Start-Shell mehr; der Supervisor stellt einen frischen Snapshot der Anmeldedaten für vorgewärmte Worker bereit, was spurlose `Could not resolve authentication method`-Fehler behebt. |

agents.md +1 −1

Details

53Der Befehl zum Überprüfen laufender Arbeiten hängt davon ab, welchen Ansatz Sie verwendet haben:53Der Befehl zum Überprüfen laufender Arbeiten hängt davon ab, welchen Ansatz Sie verwendet haben:

54 54 

55* Für Hintergrund-Sitzungen öffnet `claude agents` die [Agent-Ansicht](/de/agent-view): ein Bildschirm, der jede Sitzung, ihren Status und die Sitzungen anzeigt, die Ihre Eingabe benötigen.55* Für Hintergrund-Sitzungen öffnet `claude agents` die [Agent-Ansicht](/de/agent-view): ein Bildschirm, der jede Sitzung, ihren Status und die Sitzungen anzeigt, die Ihre Eingabe benötigen.

56* Für Subagenten in der aktuellen Sitzung öffnet `/agents` ein Panel mit einer Registerkarte **Running** (Ausgeführt), die aktive Subagenten auflistet, und einer Registerkarte **Library** (Bibliothek), in der Sie [benutzerdefinierte Subagenten erstellen und bearbeiten](/de/sub-agents#use-the-%2Fagents-command). Trotz des ähnlichen Namens ist dies getrennt von `claude agents`.56* Für Subagenten in der aktuellen Sitzung erscheinen benannte Hintergrund-Subagenten in der @-Mention-Typeahead mit ihrem Status. {/* min-version: 2.1.198 */}Ab v2.1.198 öffnet `/agents` kein Panel mehr; es gibt einen Hinweis aus, der auf die Speicherorte der Subagenten-Dateien verweist. Um [benutzerdefinierte Subagenten zu erstellen und zu bearbeiten](/de/sub-agents#configure-subagents), fragen Sie Claude oder bearbeiten Sie die Dateien direkt. Trotz des ähnlichen Namens ist `/agents` getrennt von `claude agents`.

57* Für alles, das im Hintergrund der aktuellen Sitzung ausgeführt wird, listet `/tasks` jedes Element auf und ermöglicht es Ihnen, es zu überprüfen, sich daran anzuhängen oder es zu stoppen.57* Für alles, das im Hintergrund der aktuellen Sitzung ausgeführt wird, listet `/tasks` jedes Element auf und ermöglicht es Ihnen, es zu überprüfen, sich daran anzuhängen oder es zu stoppen.

58* Für dynamische Workflows listet `/workflows` laufende und abgeschlossene Ausführungen, die Phase, in der sich jede befindet, und wie viele Agenten fertig sind, auf.58* Für dynamische Workflows listet `/workflows` laufende und abgeschlossene Ausführungen, die Phase, in der sich jede befindet, und wie viele Agenten fertig sind, auf.

59 59 

Details

184 184 

185Diese zwei Einstellungen haben unterschiedliche Auslösebedingungen:185Diese zwei Einstellungen haben unterschiedliche Auslösebedingungen:

186 186 

187* **`awsAuthRefresh`**: wird nur ausgeführt, wenn Claude Code erkennt, dass Ihre AWS-Anmeldedaten abgelaufen sind, entweder lokal basierend auf ihrem Zeitstempel oder wenn Bedrock einen Anmeldedatenfehler zurückgibt, und versucht dann die Anfrage mit aktualisierten Anmeldedaten erneut.187* **`awsAuthRefresh`**: wird nur ausgeführt, wenn Claude Code erkennt, dass Ihre AWS-Anmeldedaten abgelaufen sind, entweder lokal basierend auf ihrem Zeitstempel oder wenn die API einen Anmeldedatenfehler zurückgibt, und versucht dann die Anfrage mit aktualisierten Anmeldedaten erneut.

188* **`awsCredentialExport`**: wird beim Sitzungsstart und bei jeder Anmeldedatenaktualisierung ausgeführt, auch wenn die Anmeldedaten in Ihrer AWS-Standard-Anmeldedatenkette noch gültig sind. Verwenden Sie dies, wenn Ihr Bedrock-Konto Cross-Account-Anmeldedaten erfordert, die sich von denen unterscheiden, die die Standard-Anmeldedatenkette auflösen würde.188* **`awsCredentialExport`**: wird beim Sitzungsstart und bei jeder Anmeldedatenaktualisierung ausgeführt, auch wenn die Anmeldedaten in Ihrer AWS-Standard-Anmeldedatenkette noch gültig sind. Verwenden Sie dies, wenn Ihr Bedrock-Konto Cross-Account-Anmeldedaten erfordert, die sich von denen unterscheiden, die die Standard-Anmeldedatenkette auflösen würde.

189 189 

190<h5 id="example-configuration">190<h5 id="example-configuration">

Details

53 53 

54Für die meisten Organisationen ist `autoMode.environment` das einzige Feld, das Sie festlegen müssen. Es teilt dem Klassifizierer mit, welche Repos, Buckets und Domains vertrauenswürdig sind: Der Klassifizierer verwendet es, um zu entscheiden, was „extern" bedeutet, daher ist jedes Ziel, das nicht aufgelistet ist, ein potenzielles Exfiltrationsziel.54Für die meisten Organisationen ist `autoMode.environment` das einzige Feld, das Sie festlegen müssen. Es teilt dem Klassifizierer mit, welche Repos, Buckets und Domains vertrauenswürdig sind: Der Klassifizierer verwendet es, um zu entscheiden, was „extern" bedeutet, daher ist jedes Ziel, das nicht aufgelistet ist, ein potenzielles Exfiltrationsziel.

55 55 

56Ab Claude Code v2.1.195 druckt `claude auto-mode defaults` zwei Arten von Umgebungseinträgen.56Ab Claude Code v2.1.198 druckt `claude auto-mode defaults` drei Arten von Umgebungseinträgen. Versionen vor v2.1.195 drucken nur die ersten fünf Vertrauens-Slots.

57 57 

58* **Kontext-Slots**: beschreiben Ihre Organisation, Ihren Stack und Ihre Sicherheitslage, damit der Klassifizierer die anderen Regeln in Ihrem Kontext liest. Im Gegensatz zu den anderen beiden Arten haben Kontext-Slots keine eigenen Regeln, die auf sie abzielen. Jeder wird standardmäßig auf `Keine konfiguriert` oder auf die nächste aufgelistete konservative Annahme gesetzt:

59 * **Organisation**

60 * **Primäre Verwendung von Claude Code**: wird standardmäßig auf Softwareentwicklung gesetzt

61 * **Cloud-Anbieter**

62 * **Repository-Sichtbarkeit**: Ein Repository wird als privat angenommen, es sei denn, sein Remote-Host und Name deuten anderweitig darauf hin

63 * **Interne Freigabe / Snippet-Hosting**: öffentliche Paste- und Gist-Services werden als außerhalb der Vertrauensgrenze behandelt, bis Sie einen benennen

64 * **Organisationsspezifische CLIs**

65 * **Secrets-Verwaltung**

66 * **Standard- / geschützte Branches**: `main` und `master` werden als geschützt behandelt, bis Sie andere benennen

67 * **CI/CD-Bereitstellungsziele**

68 * **Netzwerk-Lage**

69 * **Geschützte Bereitstellungs-Namespaces / Umgebungen**: fällt auf die Heuristik für sensible Remote-Ziele zurück, bis Sie sie benennen

70 * **Datenspeicherung / Klassifizierungsaufhebung**

58* **Vertrauens-Slots**: benennen, was der Klassifizierer als innerhalb Ihrer Grenze behandelt. Die Slots sind Vertrauenswürdiges Repo, Quellcode-Verwaltung, Vertrauenswürdige interne Domains, Vertrauenswürdige Cloud-Buckets, Wichtige interne Services und Interne Paket-Registry. Die Repo- und Quellcode-Verwaltungseinträge werden standardmäßig auf das Arbeits-Repo und seine konfigurierten Remotes gesetzt. Jeder andere Vertrauens-Slot wird standardmäßig auf `Keine konfiguriert` gesetzt, daher wird nichts anderes vertraut, bis Sie es hinzufügen.71* **Vertrauens-Slots**: benennen, was der Klassifizierer als innerhalb Ihrer Grenze behandelt. Die Slots sind Vertrauenswürdiges Repo, Quellcode-Verwaltung, Vertrauenswürdige interne Domains, Vertrauenswürdige Cloud-Buckets, Wichtige interne Services und Interne Paket-Registry. Die Repo- und Quellcode-Verwaltungseinträge werden standardmäßig auf das Arbeits-Repo und seine konfigurierten Remotes gesetzt. Jeder andere Vertrauens-Slot wird standardmäßig auf `Keine konfiguriert` gesetzt, daher wird nichts anderes vertraut, bis Sie es hinzufügen.

59* **Sensitivitäts-Slots**: benennen, was die Schutzregeln als hochriskant behandeln. Die Slots sind PII / Standorte mit regulierten Daten, Sensible Remote-Ziele und Geschützte IaC-Bereiche. Jeder wird standardmäßig auf eine breite Heuristik gesetzt, wie z. B. die Behandlung eines Hosts oder Namespace, dessen Name `prod` oder `production` trägt, als sensibles Remote-Ziel, daher sind die Schutzregeln aktiv, bevor Sie etwas konfigurieren. Das Benennen konkreter Ziele in einem Sensitivitäts-Slot lässt diese Regeln auf die benannten Ziele anstelle der Heuristik angewendet werden.72* **Sensitivitäts-Slots**: benennen, was die Schutzregeln als hochriskant behandeln. Die Slots sind Sensible Datenspeicherorte & Zielgruppen, Sensible Remote-Ziele und Geschützte IaC-Bereiche. Jeder wird standardmäßig auf eine breite Heuristik gesetzt, wie z. B. die Behandlung eines Hosts oder Namespace, dessen Name `prod` oder `production` trägt, als sensibles Remote-Ziel, daher sind die Schutzregeln aktiv, bevor Sie etwas konfigurieren. Das Benennen konkreter Ziele in einem Sensitivitäts-Slot lässt diese Regeln auf die benannten Ziele anstelle der Heuristik angewendet werden.

60 

61Versionen vor v2.1.195 drucken nur die ersten fünf Vertrauens-Slots.

62 73 

63Um Ihre eigenen Einträge neben den Standardwerten hinzuzufügen, fügen Sie die Literalzeichenfolge `"$defaults"` in das Array ein. Die Standard-Einträge werden an dieser Position eingefügt, sodass Ihre benutzerdefinierten Einträge vor oder nach ihnen stehen können.74Um Ihre eigenen Einträge neben den Standardwerten hinzuzufügen, fügen Sie die Literalzeichenfolge `"$defaults"` in das Array ein. Die Standard-Einträge werden an dieser Position eingefügt, sodass Ihre benutzerdefinierten Einträge vor oder nach ihnen stehen können.

64 75 


86* **Vertrauenswürdige interne Domains**: Hostnamen für APIs, Dashboards und Services in Ihrem Netzwerk, wie `*.internal.example.com`97* **Vertrauenswürdige interne Domains**: Hostnamen für APIs, Dashboards und Services in Ihrem Netzwerk, wie `*.internal.example.com`

87* **Wichtige interne Services**: CI, Artifact-Registries, interne Paketindizes, Incident-Tools98* **Wichtige interne Services**: CI, Artifact-Registries, interne Paketindizes, Incident-Tools

88* **Interne Paket-Registry**: die private npm-, PyPI- oder andere Registry, durch die Installationen laufen sollten, damit Installationen, die sie für eine öffentliche Registry umgehen, blockiert werden99* **Interne Paket-Registry**: die private npm-, PyPI- oder andere Registry, durch die Installationen laufen sollten, damit Installationen, die sie für eine öffentliche Registry umgehen, blockiert werden

89* **PII / Standorte mit regulierten Daten**: die Buckets, Datenbanken oder Pfade, die persönliche oder regulierte Daten enthalten, damit der Klassifizierer diese Standorte schützt, anstatt aus dem Inhalt zu erraten100* **Sensible Datenspeicherorte & Zielgruppen**: die Buckets, Datenbanken oder Pfade, die persönliche Daten, vertrauliche Geschäftsdaten, Anmeldedaten, regulierte Daten oder ähnlich sensibles Material enthalten, und die Zielgruppen, mit denen Daten an jedem Speicherort geteilt werden können, damit der Klassifizierer diese Speicherorte schützt, anstatt aus dem Inhalt zu erraten. {/* min-version: 2.1.195 */}{/* max-version: 2.1.197 */}Claude Code v2.1.195 bis v2.1.197 nennt diesen Eintrag PII / Standorte mit regulierten Daten und deckt nur Speicherorte ab, die persönliche oder regulierte Daten enthalten, ohne die Zielgruppen-Dimension

90* **Sensible Remote-Ziele**: die Namespaces, Hosts oder Container, die als Produktion zählen, damit Remote-Shells und Port-Forwards in sie Ihre explizite Genehmigung benötigen101* **Sensible Remote-Ziele**: die Namespaces, Hosts oder Container, die als Produktion zählen, damit Remote-Shells und Port-Forwards in sie Ihre explizite Genehmigung benötigen

91* **Geschützte IaC-Bereiche**: die Infrastruktur-Ressourcen, deren Apply oder Destroy immer erfordern sollte, dass Sie die Änderung benennen102* **Geschützte IaC-Bereiche**: die Infrastruktur-Ressourcen, deren Apply oder Destroy immer erfordern sollte, dass Sie die Änderung benennen

92* **Zusätzlicher Kontext**: Einschränkungen in regulierten Branchen, Multi-Tenant-Infrastruktur oder Compliance-Anforderungen, die beeinflussen, was der Klassifizierer als riskant behandeln sollte103* **Zusätzlicher Kontext**: Einschränkungen in regulierten Branchen, Multi-Tenant-Infrastruktur oder Compliance-Anforderungen, die beeinflussen, was der Klassifizierer als riskant behandeln sollte

93 104 

94Die Einträge für Interne Paket-Registry, PII / Standorte mit regulierten Daten, Sensible Remote-Ziele und Geschützte IaC-Bereiche erfordern Claude Code v2.1.195 oder später. Frühere Versionen lesen sie immer noch als einfachen Kontext, haben aber nicht die integrierten Regeln, die auf sie abzielen.105Die Einträge für Interne Paket-Registry, Sensible Datenspeicherorte & Zielgruppen, Sensible Remote-Ziele und Geschützte IaC-Bereiche erfordern Claude Code v2.1.195 oder später. Frühere Versionen lesen sie immer noch als einfachen Kontext, haben aber nicht die integrierten Regeln, die auf sie abzielen.

95 106 

96Eine nützliche Startvorlage: Füllen Sie die eingeklammerten Felder aus und entfernen Sie alle Zeilen, die nicht zutreffen.107Eine nützliche Startvorlage: Füllen Sie die eingeklammerten Felder aus und entfernen Sie alle Zeilen, die nicht zutreffen.

97 108 

chrome.md +15 −2

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> 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.3> Use this file to discover all available pages before exploring further.

4 4 

5# Claude Code mit Chrome verwenden (Beta)5# Claude Code mit Chrome verwenden

6 6 

7> Verbinden Sie Claude Code mit Ihrem Chrome-Browser, um Web-Apps zu testen, mit Konsolenprotokollen zu debuggen, Formularausfüllungen zu automatisieren und Daten von Webseiten zu extrahieren.7> Verbinden Sie Claude Code mit Ihrem Chrome-Browser, um Web-Apps zu testen, mit Konsolenprotokollen zu debuggen, Formularausfüllungen zu automatisieren und Daten von Webseiten zu extrahieren.

8 8 


11Claude öffnet neue Registerkarten für Browser-Aufgaben und teilt den Anmeldestatus Ihres Browsers, sodass er auf alle Websites zugreifen kann, bei denen Sie bereits angemeldet sind. Browser-Aktionen werden in Echtzeit in einem sichtbaren Chrome-Fenster ausgeführt. Wenn Claude auf eine Anmeldeseite oder ein CAPTCHA trifft, wird es angehalten und fordert Sie auf, es manuell zu bearbeiten.11Claude öffnet neue Registerkarten für Browser-Aufgaben und teilt den Anmeldestatus Ihres Browsers, sodass er auf alle Websites zugreifen kann, bei denen Sie bereits angemeldet sind. Browser-Aktionen werden in Echtzeit in einem sichtbaren Chrome-Fenster ausgeführt. Wenn Claude auf eine Anmeldeseite oder ein CAPTCHA trifft, wird es angehalten und fordert Sie auf, es manuell zu bearbeiten.

12 12 

13<Note>13<Note>

14 Die Chrome-Integration befindet sich in der Beta-Phase und funktioniert derzeit mit Google Chrome und Microsoft Edge. Sie wird noch nicht auf Brave, Arc oder anderen Chromium-basierten Browsern unterstützt. WSL (Windows Subsystem for Linux) wird ebenfalls nicht unterstützt.14 Die Chrome-Integration funktioniert mit Google Chrome und Microsoft Edge. Sie wird noch nicht auf Brave, Arc oder anderen Chromium-basierten Browsern unterstützt. Sie wird auch nicht unter Windows Subsystem for Linux (WSL) unterstützt.

15</Note>15</Note>

16 16 

17<h2 id="capabilities">17<h2 id="capabilities">


90 90 

91Website-Berechtigungen werden von der Chrome-Erweiterung geerbt. Verwalten Sie Berechtigungen in den Einstellungen der Chrome-Erweiterung, um zu steuern, welche Websites Claude durchsuchen, anklicken und eingeben kann.91Website-Berechtigungen werden von der Chrome-Erweiterung geerbt. Verwalten Sie Berechtigungen in den Einstellungen der Chrome-Erweiterung, um zu steuern, welche Websites Claude durchsuchen, anklicken und eingeben kann.

92 92 

93<h3 id="browser-tools-in-plan-mode">

94 Browser-Tools im Plan-Modus

95</h3>

96 

97Im [Plan-Modus](/de/permission-modes#analyze-before-you-edit-with-plan-mode) werden Browser-Tool-Aufrufe, die nur die Seite oder den Browser-Status lesen, ohne Genehmigungsaufforderung ausgeführt, und Aufrufe, die den Status ändern, fordern eine Genehmigung an.

98 

99* **Schreibgeschützte Aufrufe**: `read_page`, `get_page_text`, `find`, Lesen von Konsolenmeldungen oder Netzwerkanfragen und Erstellen eines Screenshots

100* **Statusändernde Aufrufe**: Klicks, Eingaben, Navigation, Tab- und Fensterverwaltung sowie Aufzeichnung einer GIF

101 

102Ab v2.1.199 fordert ein ansonsten schreibgeschützter Aufruf, der ein statusänderndes Eingabe-Flag setzt, wie z. B. `createIfEmpty` auf `tabs_context_mcp`, `clear` auf den Konsolen- und Netzwerk-Lesern oder `save_to_disk` auf einem Screenshot, auch eine Genehmigung an. Ein `browser_batch`-Aufruf wird nur dann ohne Aufforderung ausgeführt, wenn jede Aktion darin schreibgeschützt ist.

103 

93<h2 id="example-workflows">104<h2 id="example-workflows">

94 Beispiel-Workflows105 Beispiel-Workflows

95</h2>106</h2>


208 219 

209Wenn Sie die Chrome-Integration zum ersten Mal aktivieren, installiert Claude Code eine Konfigurationsdatei für den nativen Messaging-Host. Chrome liest diese Datei beim Start, daher sollten Sie Chrome neu starten, um die neue Konfiguration zu übernehmen, wenn die Erweiterung beim ersten Versuch nicht erkannt wird.220Wenn Sie die Chrome-Integration zum ersten Mal aktivieren, installiert Claude Code eine Konfigurationsdatei für den nativen Messaging-Host. Chrome liest diese Datei beim Start, daher sollten Sie Chrome neu starten, um die neue Konfiguration zu übernehmen, wenn die Erweiterung beim ersten Versuch nicht erkannt wird.

210 221 

222Ab v2.1.199 öffnet Claude Code beim ersten Installieren einen Browser-Tab, der Sie auffordert, die Erweiterung zu verbinden. Spätere Sitzungen, die die Konfigurationsdatei neu schreiben, z. B. nach dem Wechsel von Claude Code-Builds oder Konfigurationsverzeichnissen, öffnen diese nicht erneut.

223 

211Wenn die Verbindung weiterhin fehlschlägt, überprüfen Sie, ob die Host-Konfigurationsdatei vorhanden ist unter:224Wenn die Verbindung weiterhin fehlschlägt, überprüfen Sie, ob die Host-Konfigurationsdatei vorhanden ist unter:

212 225 

213Für Chrome:226Für Chrome:

Details

4 4 

5# Claude Apps Gateway-Konfiguration5# Claude Apps Gateway-Konfiguration

6 6 

7> Referenz für jede gateway.yaml-Option: Listener und TLS, OIDC, Session, Postgres-Speicher, Bedrock/Agent Platform/Foundry-Upstreams, Modellrouting, verwaltete Richtlinien und Telemetrie.7> Referenz für jede gateway.yaml-Option: Listener und TLS, OIDC, Session, Postgres-Speicher, Bedrock/Claude Platform auf AWS/Agent Platform/Foundry-Upstreams, Modellrouting, verwaltete Richtlinien und Telemetrie.

8 8 

9Eine Claude Apps Gateway-Bereitstellung wird durch eine YAML-Datei konfiguriert, üblicherweise `gateway.yaml`. Die Datei definiert alles, was das Gateway tut: wo es lauscht, wie sich Entwickler anmelden, wohin Inferenz geht und welche Richtlinien und Telemetrie gelten. Diese Seite ist die Referenz für jede Option in dieser Datei. Um Ihre erste zu schreiben, beginnen Sie mit dem [Schnellstart](/de/claude-apps-gateway#quickstart), der eine minimale funktionierende Konfiguration erstellt und ausführt. Sobald Sie eine Konfiguration haben, mit der Sie zufrieden sind, behandelt der [Bereitstellungsleitfaden](/de/claude-apps-gateway-deploy) die Containerisierung und das Hosting auf Kubernetes, Cloud Run oder Ihrer eigenen Plattform.9Eine Claude Apps Gateway-Bereitstellung wird durch eine YAML-Datei konfiguriert, üblicherweise `gateway.yaml`. Die Datei definiert alles, was das Gateway tut: wo es lauscht, wie sich Entwickler anmelden, wohin Inferenz geht und welche Richtlinien und Telemetrie gelten. Diese Seite ist die Referenz für jede Option in dieser Datei.

10 

11Um Ihre erste zu schreiben, beginnen Sie mit dem [Schnellstart](/de/claude-apps-gateway#quickstart), der eine minimale funktionierende Konfiguration erstellt und ausführt. Sobald Sie eine Konfiguration haben, mit der Sie zufrieden sind, behandelt der [Bereitstellungsleitfaden](/de/claude-apps-gateway-deploy) die Containerisierung und das Hosting auf Kubernetes, Cloud Run oder Ihrer eigenen Plattform.

10 12 

11Das Gateway liest die Datei einmal beim Start mit `claude gateway --config /path/to/gateway.yaml`. Jede Option wird beim Start gegen ein Schema validiert, sodass eine fehlerhafte Konfiguration beim Start mit einem Fehler auf Feldebene fehlschlägt, anstatt bei der ersten Verwendung.13Das Gateway liest die Datei einmal beim Start mit `claude gateway --config /path/to/gateway.yaml`. Jede Option wird beim Start gegen ein Schema validiert, sodass eine fehlerhafte Konfiguration beim Start mit einem Fehler auf Feldebene fehlschlägt, anstatt bei der ersten Verwendung.

12 14 


24* [`oidc`](#oidc): Ihr Identitätsanbieter (IdP), einschließlich Aussteller, Client, Anspruchszuordnung und wer sich anmelden darf26* [`oidc`](#oidc): Ihr Identitätsanbieter (IdP), einschließlich Aussteller, Client, Anspruchszuordnung und wer sich anmelden darf

25* [`session`](#session): die Bearer-Token, die das Gateway ausstellt, mit Geheimnis und Lebensdauer27* [`session`](#session): die Bearer-Token, die das Gateway ausstellt, mit Geheimnis und Lebensdauer

26* [`store`](#store): PostgreSQL, für Gerätezuschüsse und Rate-Limit-Zähler28* [`store`](#store): PostgreSQL, für Gerätezuschüsse und Rate-Limit-Zähler

27* [`upstreams`](#upstreams): wohin Inferenz geht, ob Anthropic, Bedrock, Agent Platform oder Foundry29* [`upstreams`](#upstreams): wohin Inferenz geht, ob Anthropic, Bedrock, Claude Platform auf AWS, Agent Platform oder Foundry

28 30 

29**Optionale Abschnitte:**31**Optionale Abschnitte:**

30 32 


68 `oidc`70 `oidc`

69</h3>71</h3>

70 72 

71OpenID Connect (OIDC) ist das SSO-Protokoll, das das Gateway mit Ihrem Identitätsanbieter verwendet; siehe [Identitätsanbieter-Setup](/de/claude-apps-gateway-deploy#identity-provider-setup) für das, was Sie auf der IdP-Seite registrieren müssen. Der `oidc`-Block verbindet das Gateway mit Ihrem Identitätsanbieter und entscheidet, wer sich anmelden kann. Er benennt den Aussteller und OAuth-Client, ordnet die Ansprüche zu, die E-Mail und Gruppen enthalten, und beschränkt die Anmeldung nach E-Mail-Domäne oder Gruppe.73Der `oidc`-Block verbindet das Gateway mit Ihrem Identitätsanbieter und entscheidet, wer sich anmelden kann. Er benennt den Aussteller und OAuth-Client, ordnet die Ansprüche zu, die E-Mail und Gruppen enthalten, und beschränkt die Anmeldung nach E-Mail-Domäne oder Gruppe.

74 

75OpenID Connect (OIDC) ist das SSO-Protokoll, das das Gateway mit Ihrem Identitätsanbieter verwendet; siehe [Identitätsanbieter-Setup](/de/claude-apps-gateway-deploy#identity-provider-setup) für das, was Sie auf der IdP-Seite registrieren müssen.

72 76 

73| Feld | Erforderlich | Beschreibung |77| Feld | Erforderlich | Beschreibung |

74| ------------------------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |78| ------------------------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


121 `upstreams`125 `upstreams`

122</h3>126</h3>

123 127 

124`upstreams` ist eine geordnete Liste. Das Gateway leitet Inferenz an den ersten Upstream weiter, der das angeforderte Modell auflöst. Bei `5xx`, `429` oder Timeout schlägt es zum nächsten fehl; andere `4xx` nicht, da diese Fehler der Anfrage statt dem Upstream zuzuordnen sind. Mehrere Upstreams desselben Anbieters müssen einen unterschiedlichen `name:` setzen.128`upstreams` ist eine geordnete Liste. Das Gateway leitet Inferenz an den ersten Upstream weiter, der das angeforderte Modell auflöst. Bei `5xx`, `429`, `401`, `403`, `404` oder Timeout schlägt es zum nächsten fehl; andere `4xx` nicht, da diese Fehler der Anfrage statt dem Upstream zuzuordnen sind. Ein `401` oder `403` bedeutet, dass die eigenen Berechtigungsnachweise des Gateways gegen diesen Upstream fehlgeschlagen sind, und ein `404` bedeutet, dass dieser Upstream das angeforderte Modell nicht bedient, sodass ein späterer Upstream in der Liste es immer noch kann.

129 

130Failover bei `404` erfordert Gateway v2.1.198 oder später. Frühere Releases gaben den ersten `404` an den Client zurück, auch wenn ein späterer Upstream in der Liste das Modell bediente.

125 131 

126Bedrock-, Agent Platform- und Foundry-Clients werden einmal beim Start erstellt, und ihre SDKs aktualisieren Berechtigungsnachweise intern, sodass das Rotieren von Cloud-Berechtigungsnachweisen keinen Neustart erfordert. Statische Anthropic-API-Schlüssel und Bearer werden beim Start gelesen; siehe [Anthropic API](#anthropic-api).132Mehrere Upstreams desselben Anbieters müssen einen unterschiedlichen `name:` setzen.

133 

134Bedrock-, Claude Platform on AWS-, Agent Platform- und Foundry-Clients werden einmal beim Start erstellt, und ihre SDKs aktualisieren Berechtigungsnachweise intern, sodass das Rotieren von Cloud-Berechtigungsnachweisen keinen Neustart erfordert. Statische Anthropic-API-Schlüssel und Bearer werden beim Start gelesen; siehe [Anthropic API](#anthropic-api).

127 135 

128<h4 id="anthropic-api">136<h4 id="anthropic-api">

129 Anthropic API137 Anthropic API


193| Überall sonst | Übergeben Sie Berechtigungsnachweise über die Env-Variablen `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` und `AWS_SESSION_TOKEN`, oder setzen Sie sie explizit in `auth:` mit `${VAR}`-Erweiterung |201| Überall sonst | Übergeben Sie Berechtigungsnachweise über die Env-Variablen `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` und `AWS_SESSION_TOKEN`, oder setzen Sie sie explizit in `auth:` mit `${VAR}`-Erweiterung |

194| Region | `region:` ist die API-Endpunkt-Region. Cross-Region-Inferenz-Profile routen über die Geo (US, EU, APAC) unabhängig davon, welche Sie wählen. Für Nicht-US-Regionen oder bereitgestellte Durchsatz-ARNs fügen Sie einen [`models:`](#models)-Block mit den richtigen Pro-Upstream-IDs hinzu. |202| Region | `region:` ist die API-Endpunkt-Region. Cross-Region-Inferenz-Profile routen über die Geo (US, EU, APAC) unabhängig davon, welche Sie wählen. Für Nicht-US-Regionen oder bereitgestellte Durchsatz-ARNs fügen Sie einen [`models:`](#models)-Block mit den richtigen Pro-Upstream-IDs hinzu. |

195 203 

204<h4 id="claude-platform-on-aws">

205 Claude Platform on AWS

206</h4>

207 

208Claude Platform on AWS bedient die First-Party-Anthropic-API auf AWS-Infrastruktur unter `aws-external-anthropic.<region>.api.aws`. Sie verwendet First-Party-Modell-IDs, berücksichtigt `anthropic-beta`-Header wie gesendet und bedient `count_tokens`, sodass keine der Bedrock-spezifischen Übersetzung gilt. Der `anthropicAws`-Provider erfordert Claude Code v2.1.198 oder später; frühere Gateway-Releases lehnen ihn beim Start ab.

209 

210Für die Client-seitige Bereitstellung derselben Plattform siehe [Claude Code on Claude Platform on AWS](/de/claude-platform-on-aws). Der Gateway-seitige Upstream:

211 

212```yaml theme={null}

213upstreams:

214 - provider: anthropicAws

215 region: us-east-1

216 workspace_id: wrkspc_...

217 auth:

218 api_key: ${ANTHROPIC_AWS_API_KEY} # gesendet als x-api-key

219 # ODER SigV4 über die AWS-Standard-Berechtigungskette:

220 # auth: {}

221 # ODER explizite SigV4-Berechtigungsnachweise:

222 # auth:

223 # aws_access_key_id: ${AWS_ACCESS_KEY_ID}

224 # aws_secret_access_key: ${AWS_SECRET_ACCESS_KEY}

225 # Überschreiben Sie den abgeleiteten Endpunkt:

226 # base_url: https://aws-external-anthropic.us-east-1.api.aws

227```

228 

229Die Plattform läuft in einem separaten AWS-Konto von Amazon Bedrock und signiert SigV4-Anfragen für seinen eigenen Service-Namen, `aws-external-anthropic`, sodass eine Bedrock-scoped IAM-Rolle es nicht autorisiert. Ein API-Schlüssel in `auth.api_key` hat Vorrang, wenn SigV4-Berechtigungsnachweise auch gesetzt sind. Ein leerer `auth`-Block verwendet die Standard-Berechtigungskette des AWS SDK, dieselbe Kette, die der [Amazon Bedrock](#amazon-bedrock)-Upstream verwendet.

230 

231| Feld | Erforderlich | Beschreibung |

232| ------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |

233| `region` | Ja | AWS-Region, Kleinbuchstaben, Ziffern und Bindestriche. Das Gateway leitet den Endpunkt davon ab als `https://aws-external-anthropic.<region>.api.aws`. |

234| `workspace_id` | Ja | Gesendet als Header bei jeder Anfrage; die Plattform erfordert es |

235| `auth.api_key` | Nein | API-Schlüssel für die Plattform, gesendet als `x-api-key`. Kein Bearer-Token: die zwei Auth-Modi sind ein API-Schlüssel oder SigV4. |

236| `auth.aws_access_key_id` / `auth.aws_secret_access_key` | Nein | Explizite SigV4-Berechtigungsnachweise. Das Setzen eines ohne das andere schlägt beim Start fehl. `auth.aws_session_token` wird neben ihnen akzeptiert. |

237| `base_url` | Nein | Überschreiben Sie den abgeleiteten Endpunkt |

238 

239Da die Plattform First-Party-Modell-IDs auflöst, leitet der integrierte Katalog zu ihr ohne [`models:`](#models)-Block weiter. Wenn Sie eine `models:`-Liste kuratieren, schlüsseln Sie den Eintrag `anthropicAws:` mit der First-Party-ID.

240 

196<h4 id="google-cloud-agent-platform">241<h4 id="google-cloud-agent-platform">

197 Google Cloud Agent Platform242 Google Cloud Agent Platform

198</h4>243</h4>


255 300 

256Derselbe Anbieter kann mehr als einmal mit einem unterschiedlichen `name:` erscheinen. Dies deckt verschiedene Regionen, verschiedene Konten über verschiedene Berechtigungsketten, bereitgestellter Durchsatz versus On-Demand und Cross-Provider-Fallback ab.301Derselbe Anbieter kann mehr als einmal mit einem unterschiedlichen `name:` erscheinen. Dies deckt verschiedene Regionen, verschiedene Konten über verschiedene Berechtigungsketten, bereitgestellter Durchsatz versus On-Demand und Cross-Provider-Fallback ab.

257 302 

258Das Gateway versucht Upstreams in Reihenfolge. `5xx`, `429`, Timeouts und fehlender Endpunkt (`501`) schlagen fehl; andere `4xx` nicht. `429` ist Pro-Upstream-Kapazität, sodass bereitgestellter Durchsatz (PT)-Erschöpfung zu On-Demand fehlschlägt. Ein Upstream, der das angeforderte Modell nicht auflösen kann, wird ohne Netzwerk-Rundfahrt übersprungen.303Das Gateway versucht Upstreams in Reihenfolge. `5xx`, `429`, `401`, `403`, `404`, Timeouts und fehlender Endpunkt (`501`) schlagen fehl; andere `4xx` nicht.

304 

305`429` ist Pro-Upstream-Kapazität, sodass bereitgestellter Durchsatz (PT)-Erschöpfung zu On-Demand fehlschlägt. `404` ist Pro-Upstream-Modellverfügbarkeit, sodass ein Upstream, der ein Modell nicht aktiviert hat, einen späteren Upstream, der es bedient, nicht blockiert. Ein Upstream, der das angeforderte Modell nicht auflösen kann, wird ohne Netzwerk-Rundfahrt übersprungen.

259 306 

260Dieses Beispiel leitet eine bereitgestellte Durchsatz-Bedrock-Zuteilung zuerst weiter, überläuft zu On-Demand und einem zweiten Konto und fällt zuletzt auf die Anthropic API zurück:307Dieses Beispiel leitet eine bereitgestellte Durchsatz-Bedrock-Zuteilung zuerst weiter, überläuft zu On-Demand und einem zweiten Konto und fällt zuletzt auf die Anthropic API zurück:

261 308 


580| `limits` | `max_request_bytes` | 32 MiB | Max eingehende Anfragebody; übergroße Anfragen erhalten `413`, bevor der Body gepuffert wird. Erhöhen Sie für große Datei- oder Bildanfragen. |627| `limits` | `max_request_bytes` | 32 MiB | Max eingehende Anfragebody; übergroße Anfragen erhalten `413`, bevor der Body gepuffert wird. Erhöhen Sie für große Datei- oder Bildanfragen. |

581| `limits` | `max_request_header_bytes` | nicht gesetzt | Wenn gesetzt, geben übergroße Header `431` zurück |628| `limits` | `max_request_header_bytes` | nicht gesetzt | Wenn gesetzt, geben übergroße Header `431` zurück |

582| `limits` | `max_url_length` | nicht gesetzt | Wenn gesetzt, gibt eine zu lange URL `414` zurück |629| `limits` | `max_url_length` | nicht gesetzt | Wenn gesetzt, gibt eine zu lange URL `414` zurück |

583| `timeouts` | `upstream_ttfb_ms` | 120000 | Max Wartezeit für die Response-Header des Upstream (Zeit bis erstes Byte). Der Response-Body streamt dann ohne Wall-Clock-Cap. Gilt für den direkten Anthropic-Upstream-Pfad; Bedrock, Agent Platform und Foundry sind durch die eigenen Timeouts des Provider-SDK begrenzt. |630| `timeouts` | `upstream_ttfb_ms` | 120000 | Max Wartezeit für die Response-Header des Upstream (Zeit bis erstes Byte). Der Response-Body streamt dann ohne Wall-Clock-Cap. Gilt für den direkten Anthropic-Upstream-Pfad; jeder andere Provider ist durch die eigenen Timeouts des Provider-SDK begrenzt. |

584| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Pro-IP-Rate-Limit auf dem nicht authentifizierten Gerätegenehmigungsendpunkt. Erhöhen Sie für eine große Org hinter einer gemeinsamen Egress-IP oder NAT. Diese Limits gelten nur für den Gerätezuschuss-Anmeldungsfluss, nicht für `/v1/messages`-Inferenz. Siehe [Benutzercode-Brute-Force-Widerstand](/de/claude-apps-gateway-deploy#user-code-brute-force-resistance). |631| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Pro-IP-Rate-Limit auf dem nicht authentifizierten Gerätegenehmigungsendpunkt. Erhöhen Sie für eine große Org hinter einer gemeinsamen Egress-IP oder NAT. Diese Limits gelten nur für den Gerätezuschuss-Anmeldungsfluss, nicht für `/v1/messages`-Inferenz. Siehe [Benutzercode-Brute-Force-Widerstand](/de/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

585| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Pro-IP-Rate-Limit auf `user_code`-Einreichungen unter `/device` |632| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Pro-IP-Rate-Limit auf `user_code`-Einreichungen unter `/device` |

586 633 


662 # region: us-east-1709 # region: us-east-1

663 # auth: {}710 # auth: {}

664 711 

712 # - provider: anthropicAws

713 # region: us-east-1

714 # workspace_id: wrkspc_...

715 # auth:

716 # api_key: ${ANTHROPIC_AWS_API_KEY}

717 

665 # - provider: vertex718 # - provider: vertex

666 # region: us-east5719 # region: us-east5

667 # project_id: example-prod720 # project_id: example-prod


678 upstream_model:731 upstream_model:

679 anthropic: claude-opus-4-8732 anthropic: claude-opus-4-8

680 # bedrock: us.anthropic.claude-opus-4-8733 # bedrock: us.anthropic.claude-opus-4-8

734 # anthropicAws: claude-opus-4-8

681 # vertex: claude-opus-4-8735 # vertex: claude-opus-4-8

682 # foundry: <your-opus-deployment-name>736 # foundry: <your-opus-deployment-name>

683 - id: claude-sonnet-4-6737 - id: claude-sonnet-4-6

Details

97<Note>97<Note>

98 **Workload-Identität**98 **Workload-Identität**

99 99 

100 Bevorzugen Sie die Workload-Identität der Plattform gegenüber statischen Schlüsseln: IRSA auf EKS für Bedrock, Workload Identity auf GKE für Agent Platform und Workload Identity auf AKS für Foundry. Setzen Sie `auth: {}` im Upstream-Block oder `use_azure_ad: true` für Foundry, und das Gateway nimmt die Identität des Pods durch die Standard-Credential-Chain dieses Anbieters auf. Für eine Cloud-übergreifende Kopplung, wie z. B. einen Bedrock-Upstream auf GKE, setzen Sie explizite Anmeldedaten im `auth`-Block des Upstream statt. Die [`upstreams`-Referenz](/de/claude-apps-gateway-config#upstreams) hat Setup-Details pro Plattform.100 Bevorzugen Sie die Workload-Identität der Plattform gegenüber statischen Schlüsseln: IRSA auf EKS für Bedrock und für Claude Platform auf AWS, Workload Identity auf GKE für Agent Platform und Workload Identity auf AKS für Foundry. Setzen Sie `auth: {}` im Upstream-Block oder `use_azure_ad: true` für Foundry, und das Gateway nimmt die Identität des Pods durch die Standard-Credential-Chain dieses Anbieters auf. Für eine Cloud-übergreifende Kopplung, wie z. B. einen Bedrock-Upstream auf GKE, setzen Sie explizite Anmeldedaten im `auth`-Block des Upstream statt. Die [`upstreams`-Referenz](/de/claude-apps-gateway-config#upstreams) hat Setup-Details pro Plattform.

101</Note>101</Note>

102 102 

103<h3 id="cloud-run">103<h3 id="cloud-run">

Details

723Teleport überprüft diese Anforderungen, bevor eine Sitzung fortgesetzt wird. Wenn eine Anforderung nicht erfüllt ist, sehen Sie einen Fehler oder werden aufgefordert, das Problem zu beheben.723Teleport überprüft diese Anforderungen, bevor eine Sitzung fortgesetzt wird. Wenn eine Anforderung nicht erfüllt ist, sehen Sie einen Fehler oder werden aufgefordert, das Problem zu beheben.

724 724 

725| Anforderung | Details |725| Anforderung | Details |

726| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |726| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

727| Sauberer Git-Status | Ihr Arbeitsverzeichnis darf keine nicht committeten Änderungen haben. Teleport fordert Sie auf, Änderungen zu stashen, falls erforderlich. |727| Sauberer Git-Status | Ihr Arbeitsverzeichnis darf keine nicht committeten Änderungen haben. Teleport fordert Sie auf, Änderungen zu stashen, falls erforderlich. |

728| Korrektes Repository | Sie müssen `--teleport` aus einem Checkout desselben Repositories ausführen, nicht aus einem Fork. |728| Korrektes Repository | Sie müssen `--teleport` aus einem Checkout desselben Repositories ausführen, nicht aus einem Fork. {/* min-version: 2.1.199 */}Ab v2.1.199 akzeptiert Claude Code einen Checkout auch dann, wenn es das Remote nicht in einen Hostnamen analysieren kann, wie z. B. einen SSH-Host-Alias wie `git@work:owner/repo.git` oder eine `insteadOf`-umgeschriebene Kurzform. Es zeigt zuerst eine Bestätigungsaufforderung an und nur, wenn der Owner und der Repository-Name des Remote mit dem Repository der Sitzung übereinstimmen. |

729| Branch verfügbar | Der Branch aus der Cloud-Sitzung muss in das Remote gepusht worden sein. Teleport ruft ihn automatisch ab und checkt ihn aus. |729| Branch verfügbar | Der Branch aus der Cloud-Sitzung muss in das Remote gepusht worden sein. Teleport ruft ihn automatisch ab und checkt ihn aus. |

730| Gleiches Konto | Sie müssen sich bei demselben claude.ai-Konto authentifizieren, das in der Cloud-Sitzung verwendet wurde. |730| Gleiches Konto | Sie müssen sich bei demselben claude.ai-Konto authentifizieren, das in der Cloud-Sitzung verwendet wurde. |

731 731 

Details

230 230 

231Für CI und Automatisierung geben Sie dem Runner eine IAM-Rolle mit Berechtigung zum Aufrufen des Anthropic-Dienstes und setzen Sie `AWS_REGION`. Die Anmeldekette nimmt die Rolle automatisch auf.231Für CI und Automatisierung geben Sie dem Runner eine IAM-Rolle mit Berechtigung zum Aufrufen des Anthropic-Dienstes und setzen Sie `AWS_REGION`. Die Anmeldekette nimmt die Rolle automatisch auf.

232 232 

233Wenn Ihre SSO-Anmeldedaten während einer Sitzung ablaufen, konfigurieren Sie [`awsAuthRefresh`](/de/amazon-bedrock#advanced-credential-configuration), damit Claude Code Ihren Anmeldungsbefehl erneut ausführt und erneut versucht, anstatt fehlzuschlagen. Fügen Sie den Befehl zu Ihrer `settings.json` hinzu:233Wenn Ihre SSO-Anmeldedaten während einer Sitzung ablaufen, konfigurieren Sie [`awsAuthRefresh`](/de/amazon-bedrock#advanced-credential-configuration), damit Claude Code Ihren Anmeldungsbefehl erneut ausführt und erneut versucht, anstatt fehlzuschlagen. Automatische Aktualisierung auf Claude Platform on AWS erfordert Claude Code v2.1.198 oder später; frühere Versionen stoppen mit einer Aufforderung, `/login` auszuführen, was AWS-Anmeldedaten nicht aktualisieren kann. Fügen Sie den Befehl zu Ihrer `settings.json` hinzu:

234 234 

235```json theme={null}235```json theme={null}

236{236{

Details

47 47 

48Wenn Sie einen Unterbefehl falsch eingeben, schlägt Claude Code die nächste Übereinstimmung vor und beendet sich, ohne eine Sitzung zu starten. Zum Beispiel gibt `claude udpate` `Did you mean claude update?` aus.48Wenn Sie einen Unterbefehl falsch eingeben, schlägt Claude Code die nächste Übereinstimmung vor und beendet sich, ohne eine Sitzung zu starten. Zum Beispiel gibt `claude udpate` `Did you mean claude update?` aus.

49 49 

50{/* min-version: 2.1.199 */}Ab v2.1.199 führt `claude --dangerously-skip-permissions daemon <subcommand>` den `daemon` Unterbefehl aus. Frühere Versionen behandelten `daemon <subcommand>` als den Prompt für eine neue interaktive Sitzung, sodass der Unterbefehl nie ausgeführt wurde, wenn das Flag zuerst kam, ein häufiges Setup, wenn `claude` mit dem Flag aliasiert ist. Nur ein führendes `--dangerously-skip-permissions` oder `--allow-dangerously-skip-permissions` leitet auf diese Weise zu `daemon` weiter; jedes andere führende Flag startet immer noch eine interaktive Sitzung.

51 

50<h2 id="cli-flags">52<h2 id="cli-flags">

51 CLI-Flags53 CLI-Flags

52</h2>54</h2>


66| `--ax-screen-reader` | {/* min-version: 2.1.181 */}Rendern Sie bildschirmleserfreundliche Ausgabe: flacher Text ohne dekorative Rahmen oder Animationen. Erzwingt den klassischen Renderer, sodass die [`tui`](/de/settings#available-settings) Einstellung für die Sitzung keine Auswirkung hat. Hat Vorrang vor [`CLAUDE_AX_SCREEN_READER`](/de/env-vars) und der [`axScreenReader`](/de/settings#available-settings) Einstellung. Erfordert Claude Code v2.1.181 oder später | `claude --ax-screen-reader` |68| `--ax-screen-reader` | {/* min-version: 2.1.181 */}Rendern Sie bildschirmleserfreundliche Ausgabe: flacher Text ohne dekorative Rahmen oder Animationen. Erzwingt den klassischen Renderer, sodass die [`tui`](/de/settings#available-settings) Einstellung für die Sitzung keine Auswirkung hat. Hat Vorrang vor [`CLAUDE_AX_SCREEN_READER`](/de/env-vars) und der [`axScreenReader`](/de/settings#available-settings) Einstellung. Erfordert Claude Code v2.1.181 oder später | `claude --ax-screen-reader` |

67| `--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"` |69| `--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"` |

68| `--betas` | Beta-Header, die in API-Anfragen einbezogen werden sollen (nur API-Schlüssel-Benutzer) | `claude --betas interleaved-thinking` |70| `--betas` | Beta-Header, die in API-Anfragen einbezogen werden sollen (nur API-Schlüssel-Benutzer) | `claude --betas interleaved-thinking` |

69| `--bg`, `--background` | Starten Sie die Sitzung als [Hintergrund-Agent](/de/agent-view) und kehren Sie sofort zurück. Gibt die Sitzungs-ID und Verwaltungsbefehle aus. Kombinieren Sie mit `--exec`, um einen Shell-Befehl als Hintergrund-Job anstelle einer Claude-Sitzung auszuführen, oder mit `--agent`, um einen bestimmten Subagenten auszuführen | `claude --bg "investigate the flaky test"` |71| `--bg`, `--background` | Starten Sie die Sitzung als [Hintergrund-Agent](/de/agent-view) und kehren Sie sofort zurück. Gibt die Sitzungs-ID und Verwaltungsbefehle aus. Kombinieren Sie mit `--exec`, um einen Shell-Befehl als Hintergrund-Job anstelle einer Claude-Sitzung auszuführen, oder mit `--agent`, um einen bestimmten Subagenten auszuführen. {/* min-version: 2.1.198 */}Kann nicht mit `-p`/`--print` kombiniert werden; siehe die [Fehlerreferenz](/de/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |

70| `--channels` | (Forschungsvorschau) MCP-Server, deren [Kanal](/de/channels) Benachrichtigungen Claude in dieser Sitzung abhören sollte. Durch Leerzeichen getrennte Liste von `plugin:<name>@<marketplace>` Einträgen. Erfordert Claude.ai-Authentifizierung | `claude --channels plugin:my-notifier@my-marketplace` |72| `--channels` | (Forschungsvorschau) MCP-Server, deren [Kanal](/de/channels) Benachrichtigungen Claude in dieser Sitzung abhören sollte. Durch Leerzeichen getrennte Liste von `plugin:<name>@<marketplace>` Einträgen. Erfordert Claude.ai-Authentifizierung | `claude --channels plugin:my-notifier@my-marketplace` |

71| `--chrome` | Aktivieren Sie [Chrome-Browser-Integration](/de/chrome) für Web-Automatisierung und Tests | `claude --chrome` |73| `--chrome` | Aktivieren Sie [Chrome-Browser-Integration](/de/chrome) für Web-Automatisierung und Tests | `claude --chrome` |

72| `--continue`, `-c` | Laden Sie die letzte Konversation im aktuellen Verzeichnis. Schließt Sitzungen ein, die dieses Verzeichnis mit `/add-dir` hinzugefügt haben | `claude --continue` |74| `--continue`, `-c` | Laden Sie die letzte Konversation im aktuellen Verzeichnis. Schließt Sitzungen ein, die dieses Verzeichnis mit `/add-dir` hinzugefügt haben | `claude --continue` |


100| `--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"` |102| `--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"` |

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

102| `--permission-mode` | Beginnen Sie in einem angegebenen [Berechtigungsmodus](/de/permission-modes). Akzeptiert `default`, `acceptEdits`, `plan`, `auto`, `dontAsk` oder `bypassPermissions`. Überschreibt `defaultMode` aus Einstellungsdateien | `claude --permission-mode plan` |104| `--permission-mode` | Beginnen Sie in einem angegebenen [Berechtigungsmodus](/de/permission-modes). Akzeptiert `default`, `acceptEdits`, `plan`, `auto`, `dontAsk` oder `bypassPermissions`. Überschreibt `defaultMode` aus Einstellungsdateien | `claude --permission-mode plan` |

103| `--permission-prompt-tool` | Geben Sie ein MCP-Tool an, um Berechtigungsaufforderungen im nicht-interaktiven Modus zu verarbeiten | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |105| `--permission-prompt-tool` | Geben Sie ein MCP-Tool an, um Berechtigungsaufforderungen im nicht-interaktiven Modus zu verarbeiten. {/* min-version: 2.1.199 */}Ab v2.1.199 kann das Prompt-Tool ein MCP-Tool, das als [Benutzerinteraktion erforderlich](/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet ist, nicht genehmigen: ein `allow` Ergebnis für eines wird in eine Ablehnung umgewandelt | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |

104| `--plugin-dir` | Laden Sie ein Plugin aus einem Verzeichnis oder `.zip` Archiv nur für diese Sitzung. Jedes Flag nimmt einen Pfad auf. Wiederholen Sie das Flag für mehrere Plugins: `--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |106| `--plugin-dir` | Laden Sie ein Plugin aus einem Verzeichnis oder `.zip` Archiv nur für diese Sitzung. Jedes Flag nimmt einen Pfad auf. Wiederholen Sie das Flag für mehrere Plugins: `--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |

105| `--plugin-url` | Rufen Sie ein Plugin `.zip` Archiv von einer URL nur für diese Sitzung ab. Wiederholen Sie das Flag für mehrere Plugins, oder übergeben Sie durch Leerzeichen getrennte URLs in einem einzelnen Wert in Anführungszeichen | `claude --plugin-url https://example.com/plugin.zip` |107| `--plugin-url` | Rufen Sie ein Plugin `.zip` Archiv von einer URL nur für diese Sitzung ab. Wiederholen Sie das Flag für mehrere Plugins, oder übergeben Sie durch Leerzeichen getrennte URLs in einem einzelnen Wert in Anführungszeichen | `claude --plugin-url https://example.com/plugin.zip` |

106| `--print`, `-p` | Geben Sie die Antwort ohne interaktiven Modus aus (siehe [Agent SDK-Dokumentation](/de/agent-sdk/overview) für Details zur programmatischen Verwendung) | `claude -p "query"` |108| `--print`, `-p` | Geben Sie die Antwort ohne interaktiven Modus aus (siehe [Agent SDK-Dokumentation](/de/agent-sdk/overview) für Details zur programmatischen Verwendung) | `claude -p "query"` |

commands.md +10 −9

Details

10 10 

11Geben Sie `/` ein, um jeden verfügbaren Befehl anzuzeigen, oder geben Sie `/` gefolgt von Buchstaben ein, um zu filtern.11Geben Sie `/` ein, um jeden verfügbaren Befehl anzuzeigen, oder geben Sie `/` gefolgt von Buchstaben ein, um zu filtern.

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. {/* min-version: 2.1.199 */}Ab v2.1.199 sind [Skills](/de/skills#pass-arguments-to-skills) die Ausnahme: Ein Skill-Aufruf gefolgt von weiteren Skills, wie z. B. `/skill-a /skill-b do XYZ`, lädt jeden Skill am Anfang und übergibt den nachfolgenden Text als Argumente an jeden. Bis zu sechs Skills können verkettet werden.

14 14 

15<h2 id="commands-across-a-typical-workflow">15<h2 id="commands-across-a-typical-workflow">

16 Befehle in einem typischen Workflow16 Befehle in einem typischen Workflow


18 18 

19Die 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.

20 20 

21**Erste Sitzung in einem Repository.** Führen Sie `/init` aus, um eine Starter-`CLAUDE.md` zu generieren, dann `/memory`, um sie zu verfeinern. Verwenden Sie `/mcp` und `/agents`, um alle Server oder Subagenten einzurichten, die das Projekt benötigt, und `/permissions`, um die Genehmigungsregeln festzulegen, die Sie möchten.21**Erste Sitzung in einem Repository.** Führen Sie `/init` aus, um eine Starter-`CLAUDE.md` zu generieren, dann `/memory`, um sie zu verfeinern. Verwenden Sie `/mcp`, um alle Server einzurichten, die das Projekt benötigt, bitten Sie Claude, alle [Subagenten](/de/sub-agents) zu erstellen, die Sie möchten, und führen Sie `/permissions` aus, um Ihre Genehmigungsregeln festzulegen.

22 22 

23**Während einer Aufgabe.** `/plan` wechselt vor einer großen Änderung in den Plan-Modus. `/model` und `/effort` passen an, wie viel Reasoning Sie ausgeben. Wenn das Gespräch lang wird, zeigt `/context`, wohin das Fenster geht, und `/compact` fasst es zusammen; verwenden Sie `/btw` für eine schnelle Nebenbemerkung, die die Historie nicht aufblähen sollte.23**Während einer Aufgabe.** `/plan` wechselt vor einer großen Änderung in den Plan-Modus. `/model` und `/effort` passen an, welches Modell Sie verwenden, und wie viel Reasoning es anwendet. Wenn das Gespräch lang wird, zeigt `/context`, was das Fenster ausfüllt, und `/compact` fasst es zusammen, um Platz freizugeben. Verwenden Sie `/btw` für eine schnelle Nebenbemerkung, die die Gesprächshistorie nicht aufblähen sollte.

24 24 

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

26 26 

27**Bevor Sie versenden.** `/diff` zeigt, was sich geändert hat, `/code-review` überprüft das Diff auf Korrektheitsfehler und Bereinigungen und kann die Erkenntnisse mit `--fix` anwenden, `/review` führt dieselbe schreibgeschützte Überprüfung auf einem GitHub-Pull-Request durch, und `/security-review` gibt einen tieferen schreibgeschützten Durchgang. `/code-review ultra` führt eine Multi-Agent-Überprüfung in der Cloud aus.27**Bevor Sie versenden.** `/diff` zeigt, was sich geändert hat, `/code-review` überprüft das Diff auf Korrektheitsfehler und Bereinigungen und kann die Erkenntnisse mit `--fix` anwenden, `/review` führt dieselbe schreibgeschützte Überprüfung auf einem GitHub-Pull-Request durch, und `/security-review` gibt einen tieferen schreibgeschützten Durchgang. `/code-review ultra` führt eine Multi-Agent-Überprüfung in der Cloud aus.

28 28 


51| :--------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |51| :--------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

54| `/agents` | Verwalten Sie [Agent](/de/sub-agents)-Konfigurationen |54| `/agents` | {/* min-version: 2.1.198 */}Ab v2.1.198 druckt die Ausführung von `/agents` eine Erinnerung aus, Claude zu bitten, [Subagenten](/de/sub-agents) zu erstellen oder zu verwalten, oder `.claude/agents/` oder `~/.claude/agents/` direkt zu bearbeiten. {/* max-version: 2.1.197 */}In v2.1.197 und früher wird eine interaktive Schnittstelle zum Erstellen und Verwalten von Subagenten-Konfigurationen geöffnet |

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) |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) |

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

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


68| `/context [all]` | Visualisieren Sie die aktuelle Kontextnutzung als farbiges Gitter. Zeigt Optimierungsvorschläge für kontextintensive Tools, Speicherverschwendung und Kapazitätswarnungen. Im [Vollbildmodus](/de/fullscreen) wird die Pro-Element-Aufschlüsselung zusammengeklappt, um das Gitter sichtbar zu halten. Übergeben Sie `all`, um es zu erweitern |68| `/context [all]` | Visualisieren Sie die aktuelle Kontextnutzung als farbiges Gitter. Zeigt Optimierungsvorschläge für kontextintensive Tools, Speicherverschwendung und Kapazitätswarnungen. Im [Vollbildmodus](/de/fullscreen) wird die Pro-Element-Aufschlüsselung zusammengeklappt, um das Gitter sichtbar zu halten. Übergeben Sie `all`, um es zu erweitern |

69| `/copy [N]` | Kopieren Sie die letzte Antwort des Assistenten in die Zwischenablage. Übergeben Sie eine Zahl `N`, um die N-te letzte Antwort zu kopieren: `/copy 2` kopiert die vorletzte. Wenn Codeblöcke vorhanden sind, wird eine interaktive Auswahl angezeigt, um einzelne Blöcke oder die vollständige Antwort auszuwählen. Drücken Sie `w` in der Auswahl, um die Auswahl stattdessen in eine Datei zu schreiben, anstatt sie in die Zwischenablage zu kopieren, was über SSH nützlich ist |69| `/copy [N]` | Kopieren Sie die letzte Antwort des Assistenten in die Zwischenablage. Übergeben Sie eine Zahl `N`, um die N-te letzte Antwort zu kopieren: `/copy 2` kopiert die vorletzte. Wenn Codeblöcke vorhanden sind, wird eine interaktive Auswahl angezeigt, um einzelne Blöcke oder die vollständige Antwort auszuwählen. Drücken Sie `w` in der Auswahl, um die Auswahl stattdessen in eine Datei zu schreiben, anstatt sie in die Zwischenablage zu kopieren, was über SSH nützlich ist |

70| `/cost` | Alias für `/usage` |70| `/cost` | Alias für `/usage` |

71| `/dataviz [request]` | **[Skill](/de/skills#bundled-skills).** Designanleitung für Diagramme, Grafiken und Dashboards. Claude wählt die Diagrammform für die Daten, weist Farbe nach Rolle zu, validiert die Palette auf Farbenblindheit-Sicherheit und Kontrast mit einem gebündelten Skript und wendet Mark-, Interaktions- und Barrierefreiheitsregeln an. Verwendet eine markenunabhängige Platzhalterpalette, die Sie durch Ihre eigene ersetzen. {/* min-version: 2.1.198 */}Erfordert Claude Code v2.1.198 oder später |

71| `/debug [description]` | **[Skill](/de/skills#bundled-skills).** Aktivieren Sie Debug-Protokollierung für die aktuelle Sitzung und beheben Sie Probleme durch Lesen des Sitzungs-Debug-Protokolls. Debug-Protokollierung ist standardmäßig deaktiviert, es sei denn, Sie haben mit `claude --debug` gestartet, daher startet die Ausführung von `/debug` während der Sitzung die Erfassung von Protokollen ab diesem Punkt. Beschreiben Sie optional das Problem, um die Analyse zu fokussieren |72| `/debug [description]` | **[Skill](/de/skills#bundled-skills).** Aktivieren Sie Debug-Protokollierung für die aktuelle Sitzung und beheben Sie Probleme durch Lesen des Sitzungs-Debug-Protokolls. Debug-Protokollierung ist standardmäßig deaktiviert, es sei denn, Sie haben mit `claude --debug` gestartet, daher startet die Ausführung von `/debug` während der Sitzung die Erfassung von Protokollen ab diesem Punkt. Beschreiben Sie optional das Problem, um die Analyse zu fokussieren |

72| `/deep-research <question>` | **[Workflow](/de/workflows#bundled-workflows).** Verteilen Sie Web-Suchen zu einer Frage, rufen Sie Quellen ab und überprüfen Sie sie, und synthetisieren Sie einen zitierten Bericht |73| `/deep-research <question>` | **[Workflow](/de/workflows#bundled-workflows).** Verteilen Sie Web-Suchen zu einer Frage, rufen Sie Quellen ab und überprüfen Sie sie, und synthetisieren Sie einen zitierten Bericht |

73| `/design-login` | Autorisieren Sie den Design-System-Zugriff für `/design-sync` mit Ihrem claude.ai-Konto |74| `/design-login` | Autorisieren Sie den Design-System-Zugriff für `/design-sync` mit Ihrem claude.ai-Konto |

74| `/design-sync [hint]` | **[Skill](/de/skills#bundled-skills).** Konvertieren Sie das React-Design-System Ihres Repos und laden Sie es zu [Claude Design](https://claude.ai/design) hoch, damit die von ihm erstellten Designs Ihre echten Komponenten verwenden. Benennen Sie optional das Design-System, zum Beispiel `/design-sync Acme DS`. Eine erste Synchronisierung überprüft jede Komponente und kann bei einem großen Repo mehrere Stunden dauern. Verfügbar auf der Anthropic API; auf Amazon Bedrock, Google Clouds Agent Platform und Microsoft Foundry kann das zugrunde liegende Tool nicht auf claude.ai zugreifen, daher ist der Befehl nicht verfügbar |75| `/design-sync [hint]` | **[Skill](/de/skills#bundled-skills).** Konvertieren Sie das React-Design-System Ihres Repos und laden Sie es zu [Claude Design](https://claude.ai/design) hoch, damit die von ihm erstellten Designs Ihre echten Komponenten verwenden. Benennen Sie optional das Design-System, zum Beispiel `/design-sync Acme DS`. Eine erste Synchronisierung überprüft jede Komponente und kann bei einem großen Repo mehrere Stunden dauern. Verfügbar auf der Anthropic API; auf Amazon Bedrock, Google Clouds Agent Platform und Microsoft Foundry kann das zugrunde liegende Tool nicht auf claude.ai zugreifen, daher ist der Befehl nicht verfügbar |

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

76| `/diff` | Öffnen Sie einen interaktiven Diff-Viewer, der nicht committete Änderungen und Pro-Turn-Diffs anzeigt. Verwenden Sie Links-/Rechtspfeile, um zwischen dem aktuellen Git-Diff und einzelnen Claude-Turns zu wechseln, und Auf-/Abwärtspfeile zum Durchsuchen von Dateien |77| `/diff` | Öffnen Sie einen interaktiven Diff-Viewer, der nicht committete Änderungen und Pro-Turn-Diffs anzeigt. Verwenden Sie Links-/Rechtspfeile, um zwischen dem aktuellen Git-Diff und einzelnen Claude-Turns zu wechseln, und Auf-/Abwärtspfeile zum Durchsuchen von Dateien. {/* min-version: 2.1.198 */}Ab v2.1.198 wird der offene Viewer auch automatisch aktualisiert, wenn sich der Git-Status des Repositorys außerhalb der Sitzung ändert, z. B. bei einem Branch-Wechsel oder Commit in einem anderen Terminal |

77| `/doctor` | Diagnostizieren und überprüfen Sie Ihre Claude Code-Installation und -Einstellungen. Ergebnisse werden mit Statussymbolen angezeigt. Drücken Sie `f`, um Claude alle gemeldeten Probleme beheben zu lassen |78| `/doctor` | Diagnostizieren und überprüfen Sie Ihre Claude Code-Installation und -Einstellungen. Ergebnisse werden mit Statussymbolen angezeigt. Drücken Sie `f`, um Claude alle gemeldeten Probleme beheben zu lassen |

78| `/effort [level\|auto]` | Legen Sie die Modell-[Anstrengungsstufe](/de/model-config#adjust-effort-level) fest. Akzeptiert `low`, `medium`, `high`, `xhigh`, `max` oder `ultracode`; verfügbare Stufen hängen vom Modell ab, und `max` und `ultracode` sind nur für die Sitzung. `ultracode` ist eine Claude Code-Einstellung, die `xhigh`-Reasoning mit automatischer [Workflow](/de/workflows#let-claude-decide-with-ultracode)-Orchestrierung kombiniert. `auto` setzt auf den Modellstandard zurück. Ohne Argument wird ein interaktiver Schieberegler geöffnet; verwenden Sie Links- und Rechtspfeile, um eine Stufe auszuwählen, und `Enter`, um sie anzuwenden. Wird sofort wirksam, ohne auf die Fertigstellung der aktuellen Antwort zu warten |79| `/effort [level\|auto]` | Legen Sie die Modell-[Anstrengungsstufe](/de/model-config#adjust-effort-level) fest. Akzeptiert `low`, `medium`, `high`, `xhigh`, `max` oder `ultracode`; verfügbare Stufen hängen vom Modell ab, und `max` und `ultracode` sind nur für die Sitzung. `ultracode` ist eine Claude Code-Einstellung, die `xhigh`-Reasoning mit automatischer [Workflow](/de/workflows#let-claude-decide-with-ultracode)-Orchestrierung kombiniert. `auto` setzt auf den Modellstandard zurück. Ohne Argument wird ein interaktiver Schieberegler geöffnet; verwenden Sie Links- und Rechtspfeile, um eine Stufe auszuwählen, und `Enter`, um sie anzuwenden. Wird sofort wirksam, ohne auf die Fertigstellung der aktuellen Antwort zu warten |

79| `/exit` | Beenden Sie die CLI. In einer angehängten [Hintergrund-Sitzung](/de/agent-view#attach-to-a-session) wird diese getrennt und die Sitzung läuft weiter. Alias: `/quit` |80| `/exit` | Beenden Sie die CLI. In einer angehängten [Hintergrund-Sitzung](/de/agent-view#attach-to-a-session) wird diese getrennt und die Sitzung läuft weiter. Alias: `/quit` |


81| `/fast [on\|off]` | Schalten Sie den [schnellen Modus](/de/fast-mode) ein oder aus |82| `/fast [on\|off]` | Schalten Sie den [schnellen Modus](/de/fast-mode) ein oder aus |

82| `/feedback [report]` | Geben Sie Feedback zu Claude Code, melden Sie einen Fehler oder teilen Sie Ihr Gespräch. Aliase: `/bug`, `/share` |83| `/feedback [report]` | Geben Sie Feedback zu Claude Code, melden Sie einen Fehler oder teilen Sie Ihr Gespräch. Aliase: `/bug`, `/share` |

83| `/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 |84| `/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 |

84| `/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 |85| `/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. {/* min-version: 2.1.198 */}Ab v2.1.198 zählt die Tool-Call-Zusammenfassung auch die in der Turn gestarteten Subagenten und klappt abgeschlossene Hintergrund-Task-Benachrichtigungen in eine einzelne Zählung zusammen. 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 |

85| `/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` |86| `/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` |

86| `/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 |87| `/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 |

87| `/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) |88| `/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) |


127| `/setup-bedrock` | Konfigurieren Sie [Amazon Bedrock](/de/amazon-bedrock)-Authentifizierung, Region und Modell-Pins durch einen interaktiven Wizard. Nur sichtbar, wenn `CLAUDE_CODE_USE_BEDROCK=1` gesetzt ist. Erstbenutzer von Bedrock können auch auf diesen Wizard vom Login-Bildschirm zugreifen |128| `/setup-bedrock` | Konfigurieren Sie [Amazon Bedrock](/de/amazon-bedrock)-Authentifizierung, Region und Modell-Pins durch einen interaktiven Wizard. Nur sichtbar, wenn `CLAUDE_CODE_USE_BEDROCK=1` gesetzt ist. Erstbenutzer von Bedrock können auch auf diesen Wizard vom Login-Bildschirm zugreifen |

128| `/setup-vertex` | Konfigurieren Sie [Google Vertex AI](/de/google-vertex-ai)-Authentifizierung, Projekt, Region und Modell-Pins durch einen interaktiven Wizard. Nur sichtbar, wenn `CLAUDE_CODE_USE_VERTEX=1` gesetzt ist. Erstbenutzer von Vertex AI können auch auf diesen Wizard vom Login-Bildschirm zugreifen |129| `/setup-vertex` | Konfigurieren Sie [Google Vertex AI](/de/google-vertex-ai)-Authentifizierung, Projekt, Region und Modell-Pins durch einen interaktiven Wizard. Nur sichtbar, wenn `CLAUDE_CODE_USE_VERTEX=1` gesetzt ist. Erstbenutzer von Vertex AI können auch auf diesen Wizard vom Login-Bildschirm zugreifen |

129| `/simplify [target]` | {/* min-version: 2.1.154 */}**[Skill](/de/skills#bundled-skills).** Überprüfen Sie den geänderten Code auf Bereinigungsmöglichkeiten und wenden Sie die Fixes an. Vier Review-[Agenten](/de/sub-agents) laufen parallel und behandeln Wiederverwendung vorhandener Helfer, Vereinfachung, Effizienz und ob die Änderung auf der richtigen Abstraktionsebene liegt. Ab v2.1.154 sucht die Überprüfung nicht nach Korrektheitsfehler. Verwenden Sie `/code-review`, um Fehler zu finden. In früheren Versionen ist `/simplify` gleichbedeutend mit `/code-review --fix`. Übergeben Sie einen Pfad oder PR-Referenz, um ein bestimmtes Ziel zu überprüfen |130| `/simplify [target]` | {/* min-version: 2.1.154 */}**[Skill](/de/skills#bundled-skills).** Überprüfen Sie den geänderten Code auf Bereinigungsmöglichkeiten und wenden Sie die Fixes an. Vier Review-[Agenten](/de/sub-agents) laufen parallel und behandeln Wiederverwendung vorhandener Helfer, Vereinfachung, Effizienz und ob die Änderung auf der richtigen Abstraktionsebene liegt. Ab v2.1.154 sucht die Überprüfung nicht nach Korrektheitsfehler. Verwenden Sie `/code-review`, um Fehler zu finden. In früheren Versionen ist `/simplify` gleichbedeutend mit `/code-review --fix`. Übergeben Sie einen Pfad oder PR-Referenz, um ein bestimmtes Ziel zu überprüfen |

130| `/skills` | Listet verfügbare [Skills](/de/skills) auf. Drücken Sie `t`, um nach Token-Anzahl zu sortieren. Drücken Sie `Space`, um [einen Skill vor Claude oder dem `/`-Menü zu verbergen](/de/skills#override-skill-visibility-from-settings), dann `Enter`, um zu speichern |131| `/skills` | Listet verfügbare [Skills](/de/skills) auf. {/* min-version: 2.1.121 */}Ab v2.1.121 können Sie eingeben, um die Liste nach Name zu filtern. Drücken Sie `t`, um nach Token-Anzahl zu sortieren. Drücken Sie `Space`, um [einen Skill vor Claude oder dem `/`-Menü zu verbergen](/de/skills#override-skill-visibility-from-settings), dann `Enter`, um zu speichern |

131| `/stats` | Alias für `/usage`. Öffnet auf der Registerkarte Stats |132| `/stats` | Alias für `/usage`. Öffnet auf der Registerkarte Stats |

132| `/status` | Öffnen Sie die Einstellungsschnittstelle (Registerkarte Status) mit Version, Modell, Konto und Konnektivität. Funktioniert, während Claude antwortet, ohne auf die Fertigstellung der aktuellen Antwort zu warten |133| `/status` | Öffnen Sie die Einstellungsschnittstelle (Registerkarte Status) mit Version, Modell, Konto und Konnektivität. Funktioniert, während Claude antwortet |

133| `/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 |134| `/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 |

134| `/stickers` | Bestellen Sie Claude Code-Aufkleber |135| `/stickers` | Bestellen Sie Claude Code-Aufkleber |

135| `/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 `←` |136| `/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 `←` |

Details

1587 Was die Komprimierung übersteht1587 Was die Komprimierung übersteht

1588</h2>1588</h2>

1589 1589 

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:1590Wenn eine lange Sitzung komprimiert wird, fasst Claude Code die Konversationshistorie zusammen, um in das Kontextfenster zu passen. {/* min-version: 2.1.198 */}Ab v2.1.198 erbt die Zusammenfassungsanfrage die [erweiterte Überlegung](/de/model-config#extended-thinking) Konfiguration Ihrer Sitzung, sodass sie mit aktiviertem Denken argumentiert, wenn Ihre Sitzung dies aktiviert hat, und ansonsten deaktiviert bleibt. Das Denken beeinflusst nur, wie die Zusammenfassung erstellt wird; Ihre Sitzungseinstellungen bleiben danach unverändert. Was mit Ihren Anweisungen geschieht, hängt davon ab, wie sie geladen wurden:

1591 1591 

1592| Mechanismus | Nach der Komprimierung |1592| Mechanismus | Nach der Komprimierung |

1593| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |1593| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |

costs.md +3 −3

Details

107* **Zwischen Aufgaben löschen**: Verwenden Sie `/clear`, um neu zu beginnen, wenn Sie zu nicht verwandter Arbeit wechseln. Veralteter Kontext verschwendet Token bei jeder nachfolgenden Nachricht. Verwenden Sie `/rename` vor dem Löschen, damit Sie die Sitzung später leicht finden können, dann `/resume`, um zu ihr zurückzukehren.107* **Zwischen Aufgaben löschen**: Verwenden Sie `/clear`, um neu zu beginnen, wenn Sie zu nicht verwandter Arbeit wechseln. Veralteter Kontext verschwendet Token bei jeder nachfolgenden Nachricht. Verwenden Sie `/rename` vor dem Löschen, damit Sie die Sitzung später leicht finden können, dann `/resume`, um zu ihr zurückzukehren.

108* **Fügen Sie benutzerdefinierte Compaction-Anweisungen hinzu**: `/compact Focus on code samples and API usage` teilt Claude mit, was während der Zusammenfassung beibehalten werden soll.108* **Fügen Sie benutzerdefinierte Compaction-Anweisungen hinzu**: `/compact Focus on code samples and API usage` teilt Claude mit, was während der Zusammenfassung beibehalten werden soll.

109 109 

110Sie können das Compaction-Verhalten auch in Ihrer CLAUDE.md anpassen:110Sie können das Compaction-Verhalten auch in Ihrer CLAUDE.md-Datei im Stammverzeichnis Ihres Projekts anpassen:

111 111 

112```markdown theme={null}112```markdown theme={null}

113# Compact instructions113# Compact instructions


170 </Tab>170 </Tab>

171 171 

172 <Tab title="filter-test-output.sh">172 <Tab title="filter-test-output.sh">

173 Der Hook ruft dieses Skript auf, das überprüft, ob der Befehl ein Test-Runner ist, und ihn ändert, um nur Fehler anzuzeigen:173 Der Hook ruft dieses Skript auf. Erstellen Sie den Ordner mit `mkdir -p ~/.claude/hooks`, speichern Sie das Skript unten als `~/.claude/hooks/filter-test-output.sh` und machen Sie es ausführbar mit `chmod +x ~/.claude/hooks/filter-test-output.sh`. Es überprüft, ob der Befehl ein Test-Runner ist, und ändert ihn, um nur Fehler anzuzeigen:

174 174 

175 ```bash theme={null}175 ```bash theme={null}

176 #!/bin/bash176 #!/bin/bash


198 Passen Sie das erweiterte Denken an198 Passen Sie das erweiterte Denken an

199</h3>199</h3>

200 200 

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.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 durch Setzen der `MAX_THINKING_TOKENS` [Umgebungsvariable](/de/env-vars) senken, beispielsweise `MAX_THINKING_TOKENS=8000`. 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.

202 202 

203<h3 id="delegate-verbose-operations-to-subagents">203<h3 id="delegate-verbose-operations-to-subagents">

204 Delegieren Sie ausführliche Operationen an Subagents204 Delegieren Sie ausführliche Operationen an Subagents

Details

14 Sehen Sie, was in den Kontext geladen wurde14 Sehen Sie, was in den Kontext geladen wurde

15</h2>15</h2>

16 16 

17Der Befehl `/context` zeigt alles, was das Kontextfenster für die aktuelle Sitzung belegt, aufgeschlüsselt nach Kategorie: Systemaufforderung, Speicherdateien, Skills, MCP-Tools und Konversationsnachrichten. Führen Sie ihn zuerst aus, um zu bestätigen, ob Ihre `CLAUDE.md`, Regeln oder Skill-Beschreibungen überhaupt vorhanden sind.17Der Befehl `/context` zeigt alles, was das Kontextfenster für die aktuelle Sitzung belegt, aufgeschlüsselt nach Kategorie: Systemaufforderung, Speicherdateien, Skills, benutzerdefinierte Subagenten mit der Quelle, aus der jeder geladen wurde, MCP-Tools und Konversationsnachrichten. Führen Sie ihn zuerst aus, um zu bestätigen, ob Ihre `CLAUDE.md`, Regeln oder Skill-Beschreibungen überhaupt vorhanden sind.

18 18 

19Für Details zu einer bestimmten Kategorie folgen Sie mit dem dedizierten Befehl:19Für Details zu einer bestimmten Kategorie folgen Sie mit dem dedizierten Befehl:

20 20 


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

23| `/memory` | Welche `CLAUDE.md`- und Regeldateien geladen wurden, plus Auto-Memory-Einträge |23| `/memory` | Welche `CLAUDE.md`- und Regeldateien geladen wurden, plus Auto-Memory-Einträge |

24| `/skills` | Verfügbare Skills aus Projekt-, Benutzer- und Plugin-Quellen |24| `/skills` | Verfügbare Skills aus Projekt-, Benutzer- und Plugin-Quellen |

25| `/agents` | Konfigurierte Subagenten und ihre Einstellungen |

26| `/hooks` | Aktive Hook-Konfigurationen |25| `/hooks` | Aktive Hook-Konfigurationen |

27| `/mcp` | Verbundene MCP-Server und ihr Status |26| `/mcp` | Verbundene MCP-Server und ihr Status |

28| `/permissions` | Aufgelöste Allow- und Deny-Regeln, die derzeit wirksam sind |27| `/permissions` | Aufgelöste Allow- und Deny-Regeln, die derzeit wirksam sind |

desktop.md +1 −1

Details

829* **Linux (Beta)**: Computernutzung ist noch nicht in der Linux-Desktop-App verfügbar. Siehe [Claude Desktop auf Linux](/de/desktop-linux).829* **Linux (Beta)**: Computernutzung ist noch nicht in der Linux-Desktop-App verfügbar. Siehe [Claude Desktop auf Linux](/de/desktop-linux).

830* **Inline-Code-Vorschläge**: Desktop bietet keine Autovervollständigungs-ähnlichen Vorschläge. Es funktioniert durch Gesprächseingaben und explizite Code-Änderungen.830* **Inline-Code-Vorschläge**: Desktop bietet keine Autovervollständigungs-ähnlichen Vorschläge. Es funktioniert durch Gesprächseingaben und explizite Code-Änderungen.

831* **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.831* **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.

832* **Terminal-Dialog-Befehle**: Integrierte Befehle, die ein interaktives Panel im Terminal öffnen, wie `/permissions`, `/config`, `/agents` und `/doctor`, sind nicht auf der Registerkarte „Code" verfügbar und antworten mit `isn't available in this environment`. Bearbeiten Sie [Einstellungsdateien](/de/settings) direkt, um Berechtigungsregeln und Konfiguration zu verwalten, oder führen Sie den Befehl aus der eigenständigen CLI aus.832* **Terminal-Dialog-Befehle**: Integrierte Befehle, die ein interaktives Panel im Terminal öffnen, wie `/permissions`, `/config` und `/doctor`, sind nicht auf der Registerkarte „Code" verfügbar und antworten mit `isn't available in this environment`. Bearbeiten Sie [Einstellungsdateien](/de/settings) direkt, um Berechtigungsregeln und Konfiguration zu verwalten, oder führen Sie den Befehl aus der eigenständigen CLI aus.

833 833 

834<h2 id="troubleshooting">834<h2 id="troubleshooting">

835 Fehlerbehebung835 Fehlerbehebung

env-vars.md +26 −19

Details

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 |

103| `ANTHROPIC_AWS_BASE_URL` | Überschreiben Sie die [Claude Platform on AWS](/de/claude-platform-on-aws)-Endpunkt-URL. Verwenden Sie für benutzerdefinierte Regionen oder beim Routing durch ein [LLM-Gateway](/de/llm-gateway). Standardmäßig `https://aws-external-anthropic.{AWS_REGION}.api.aws` |103| `ANTHROPIC_AWS_BASE_URL` | Überschreiben Sie die [Claude Platform on AWS](/de/claude-platform-on-aws)-Endpunkt-URL. Verwenden Sie für benutzerdefinierte Regionen oder beim Routing durch ein [LLM-Gateway](/de/llm-gateway). Standardmäßig `https://aws-external-anthropic.{AWS_REGION}.api.aws` |

104| `ANTHROPIC_AWS_WORKSPACE_ID` | Erforderlich für [Claude Platform on AWS](/de/claude-platform-on-aws). Wird bei jeder Anfrage als `anthropic-workspace-id`-Header gesendet |104| `ANTHROPIC_AWS_WORKSPACE_ID` | Erforderlich für [Claude Platform on AWS](/de/claude-platform-on-aws). Wird bei jeder Anfrage als `anthropic-workspace-id`-Header gesendet |

105| `ANTHROPIC_BASE_URL` | Überschreiben Sie den API-Endpunkt, um Anfragen durch einen Proxy oder ein Gateway zu leiten. Wenn auf einen Nicht-First-Party-Host gesetzt, ist die [MCP-Tool-Suche](/de/mcp#scale-with-mcp-tool-search) standardmäßig deaktiviert. Setzen Sie `ENABLE_TOOL_SEARCH=true`, wenn Ihr Proxy `tool_reference`-Blöcke weiterleitet |105| `ANTHROPIC_BASE_URL` | Überschreiben Sie den API-Endpunkt, um Anfragen durch einen Proxy oder ein Gateway zu leiten. Wenn auf einen Nicht-First-Party-Host gesetzt, ist die [MCP-Tool-Suche](/de/mcp#scale-with-mcp-tool-search) standardmäßig deaktiviert. Setzen Sie `ENABLE_TOOL_SEARCH=true`, wenn Ihr Proxy `tool_reference`-Blöcke weiterleitet. {/* min-version: 2.1.196 */}Ab v2.1.196 ist die [Remote Control](/de/remote-control#requirements) deaktiviert, wenn dies auf einen anderen Host als `api.anthropic.com` verweist, was seinem Verhalten auf Bedrock, Vertex AI und Foundry entspricht |

106| `ANTHROPIC_BEDROCK_BASE_URL` | Überschreiben Sie die Bedrock-Endpunkt-URL. Verwenden Sie für benutzerdefinierte Bedrock-Endpunkte oder beim Routing durch ein [LLM-Gateway](/de/llm-gateway). Siehe [Amazon Bedrock](/de/amazon-bedrock) |106| `ANTHROPIC_BEDROCK_BASE_URL` | Überschreiben Sie die Bedrock-Endpunkt-URL. Verwenden Sie für benutzerdefinierte Bedrock-Endpunkte oder beim Routing durch ein [LLM-Gateway](/de/llm-gateway). Siehe [Amazon Bedrock](/de/amazon-bedrock) |

107| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Überschreiben Sie die Bedrock Mantle-Endpunkt-URL. Siehe [Mantle-Endpunkt](/de/amazon-bedrock#use-the-mantle-endpoint) |107| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Überschreiben Sie die Bedrock Mantle-Endpunkt-URL. Siehe [Mantle-Endpunkt](/de/amazon-bedrock#use-the-mantle-endpoint) |

108| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Bedrock [Service-Tier](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex` oder `priority`). Wird als `X-Amzn-Bedrock-Service-Tier`-Header gesendet. Siehe [Amazon Bedrock](/de/amazon-bedrock#service-tiers) |108| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Bedrock [Service-Tier](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex` oder `priority`). Wird als `X-Amzn-Bedrock-Service-Tier`-Header gesendet. Siehe [Amazon Bedrock](/de/amazon-bedrock#service-tiers) |


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

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

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

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) 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 lokalen Sitzung auf Opus 4.8 oder einem beliebigen Modell mit erweitertem Kontext, 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 |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) 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. Auf Sonnet 5 gilt proaktive Komprimierung beim [Standard-Schwellenwert](/de/model-config#sonnet-5-context-window) des Modells. In anderen Fällen, wie z. B. einer lokalen Sitzung auf Opus 4.8, 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 |

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

153| `CLAUDE_AX_SCREEN_READER` | {/* min-version: 2.1.181 */}Setzen Sie auf `1`, um bildschirmleserfreundliche Ausgabe zu rendern: flacher Text ohne dekorative Rahmen oder Animationen. Setzen Sie auf `0`, um den Bildschirmlesermodus zu deaktivieren, auch wenn [`axScreenReader`](/de/settings#available-settings) `true` ist. Das Flag [`--ax-screen-reader`](/de/cli-reference#cli-flags) hat Vorrang. Erfordert Claude Code v2.1.181 oder später |153| `CLAUDE_AX_SCREEN_READER` | {/* min-version: 2.1.181 */}Setzen Sie auf `1`, um bildschirmleserfreundliche Ausgabe zu rendern: flacher Text ohne dekorative Rahmen oder Animationen. Setzen Sie auf `0`, um den Bildschirmlesermodus zu deaktivieren, auch wenn [`axScreenReader`](/de/settings#available-settings) `true` ist. Das Flag [`--ax-screen-reader`](/de/cli-reference#cli-flags) hat Vorrang. Erfordert Claude Code v2.1.181 oder später |

154| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Kehren Sie nach jedem Bash- oder PowerShell-Befehl in der Hauptsitzung zum ursprünglichen Arbeitsverzeichnis zurück |154| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Kehren Sie nach jedem Bash- oder PowerShell-Befehl in der Hauptsitzung zum ursprünglichen Arbeitsverzeichnis zurück |


160| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervall in Millisekunden, in dem Anmeldedaten aktualisiert werden sollten (bei Verwendung von [`apiKeyHelper`](/de/settings#available-settings)) |160| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervall in Millisekunden, in dem Anmeldedaten aktualisiert werden sollten (bei Verwendung von [`apiKeyHelper`](/de/settings#available-settings)) |

161| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Setzen Sie auf `0`, um Claude Code davon abzuhalten, den Browser automatisch zu öffnen, wenn ein neues [Artefakt](/de/artifacts) veröffentlicht wird. Das erneute Veröffentlichen eines vorhandenen Artefakts öffnet den Browser unabhängig von dieser Einstellung nicht |161| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Setzen Sie auf `0`, um Claude Code davon abzuhalten, den Browser automatisch zu öffnen, wenn ein neues [Artefakt](/de/artifacts) veröffentlicht wird. Das erneute Veröffentlichen eines vorhandenen Artefakts öffnet den Browser unabhängig von dieser Einstellung nicht |

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

163| `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 |163| `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, außer auf Sonnet 5, das seinen eigenen [Standard-Schwellenwert](/de/model-config#sonnet-5-context-window) hat. 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 |

164| `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) |164| `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) |

165| `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` |165| `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, schreibgeschützt auf Runtimes mit `tls.getCACertificates`: die native Binärdatei oder Node 22.15 oder später für npm-Installationen. Siehe [CA-Zertifikatsspeicher](/de/network-config#ca-certificate-store). Standard ist `bundled,system` |

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

167| `CLAUDE_CODE_CLIENT_CERT` | Pfad zur Client-Zertifikatsdatei für mTLS-Authentifizierung |167| `CLAUDE_CODE_CLIENT_CERT` | Pfad zur Client-Zertifikatsdatei für mTLS-Authentifizierung |

168| `CLAUDE_CODE_CLIENT_KEY` | Pfad zur privaten Client-Schlüsseldatei für mTLS-Authentifizierung |168| `CLAUDE_CODE_CLIENT_KEY` | Pfad zur privaten Client-Schlüsseldatei für mTLS-Authentifizierung |


170| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | {/* max-version: 2.1.185 */}Entfernt in v2.1.186 und jetzt ein No-Op. Früher wurde ein separates Timeout für die Connect-, TLS- und Response-Header-Phase einer Streaming-API-Anfrage gesetzt. Verwenden Sie `API_TIMEOUT_MS` für das Pro-Request-Timeout |170| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | {/* max-version: 2.1.185 */}Entfernt in v2.1.186 und jetzt ein No-Op. Früher wurde ein separates Timeout für die Connect-, TLS- und Response-Header-Phase einer Streaming-API-Anfrage gesetzt. Verwenden Sie `API_TIMEOUT_MS` für das Pro-Request-Timeout |

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

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

173| `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 |173| `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, und [Sonnet 5](/de/model-config#sonnet-5-context-window)-Sitzungen werden als 200K-Fenster behandelt. Nützlich für Unternehmensumgebungen mit Compliance-Anforderungen |

174| `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 |174| `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, Sonnet 5 oder Opus 4.7 und später, die immer adaptives Denken verwenden |

175| `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 |175| `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 wird nicht verfügbar, jedes konfigurierte `advisorModel` wird ignoriert, und das `--advisor`-Flag wird akzeptiert, hat aber keine Auswirkung, sodass vorhandene Skripte, die es übergeben, ohne Fehler weiterhin funktionieren. Erfordert Claude Code v2.1.98 oder später |

176| `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) |176| `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) |

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

178| `CLAUDE_CODE_DISABLE_ARTIFACT` | Setzen Sie auf `1`, um das [Artefakt](/de/artifacts)-Tool zu deaktivieren, das Sitzungsausgaben als private Webseite auf claude.ai veröffentlicht. Äquivalent zur Einstellung [`disableArtifact`](/de/settings#available-settings) |178| `CLAUDE_CODE_DISABLE_ARTIFACT` | Setzen Sie auf `1`, um das [Artefakt](/de/artifacts)-Tool zu deaktivieren, das Sitzungsausgaben als private Webseite auf claude.ai veröffentlicht. Äquivalent zur Einstellung [`disableArtifact`](/de/settings#available-settings) |

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

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

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

182| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | {/* min-version: 2.1.196 */}Setzen Sie auf `1`, um in-flight Hintergrundarbeit zu stoppen, anstatt sie zu übernehmen, wenn Sie eine [Hintergrund-Sitzung](/de/agent-view) durch Drücken von `←` oder mit [`/background`](/de/agent-view#from-inside-a-session) in den Hintergrund verschieben. Claude Code fragt Sie zur Bestätigung auf, bevor Sie in den Hintergrund verschieben, und stoppt dann die Aufgaben, die ansonsten übernommen würden. Betrifft nur diese Übergabe: Das Verschieben einer Sitzung mit `←` oder [`/background`](/de/agent-view#from-inside-a-session) trägt weiterhin in-flight-Arbeit über, und `CLAUDE_DISABLE_ADOPT` schaltet beide aus. Erfordert Claude Code v2.1.196 oder später |

183| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | {/* min-version: 2.1.193 */}Setzen Sie auf `1`, um Claude Code davon abzuhalten, [Hintergrund-Shell-Befehle](/de/interactive-mode#background-bash-commands) zu beenden, wenn das Betriebssystem Speicherdruck meldet. Standardmäßig beendet Claude Code auf macOS und Linux eine im Hauptsitzung gestartete Hintergrund-Shell bei einem Speicherdruck-Signal, sobald die Sitzung 30 Minuten untätig war und kein Turn oder Subagent ausgeführt wird. Windows hat kein Speicherdruck-Signal, daher hat diese Variable dort keine Auswirkung. Erfordert Claude Code v2.1.193 oder später |

182| `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 |184| `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 |

183| `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 |185| `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 |

184| `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 |186| `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 |

185| `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. |187| `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 |

186| `CLAUDE_CODE_DISABLE_FAST_MODE` | Setzen Sie auf `1`, um [Schnellmodus](/de/fast-mode) zu deaktivieren |188| `CLAUDE_CODE_DISABLE_FAST_MODE` | Setzen Sie auf `1`, um [Schnellmodus](/de/fast-mode) zu deaktivieren |

187| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Setzen Sie auf `1`, um die Umfragen zur Sitzungsqualität „Wie läuft es mit Claude?" zu deaktivieren. Umfragen werden auch deaktiviert, wenn `DISABLE_TELEMETRY`, `DO_NOT_TRACK` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist, es sei denn, `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` meldet sich wieder an. Um stattdessen eine Stichprobenquote festzulegen, verwenden Sie die Einstellung [`feedbackSurveyRate`](/de/settings#available-settings). Siehe [Umfragen zur Sitzungsqualität](/de/data-usage#session-quality-surveys) |189| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Setzen Sie auf `1`, um die Umfragen zur Sitzungsqualität „Wie läuft es mit Claude?" zu deaktivieren. Umfragen werden auch deaktiviert, wenn `DISABLE_TELEMETRY`, `DO_NOT_TRACK` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist, es sei denn, `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` meldet sich wieder an. Um stattdessen eine Stichprobenquote festzulegen, verwenden Sie die Einstellung [`feedbackSurveyRate`](/de/settings#available-settings). Siehe [Umfragen zur Sitzungsqualität](/de/data-usage#session-quality-surveys) |

188| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Setzen Sie auf `1`, um Datei-[Checkpointing](/de/checkpointing) zu deaktivieren. Der `/rewind`-Befehl kann keine Code-Änderungen wiederherstellen |190| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Setzen Sie auf `1`, um Datei-[Checkpointing](/de/checkpointing) zu deaktivieren. Der `/rewind`-Befehl kann keine Code-Änderungen wiederherstellen |

189| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Setzen Sie auf `1`, um integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot aus Claudes System-Prompt zu entfernen. Nützlich bei Verwendung eigener Git-Workflow-Skills. Hat Vorrang vor der Einstellung [`includeGitInstructions`](/de/settings#available-settings), wenn gesetzt |191| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Setzen Sie auf `1`, um integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot aus Claudes System-Prompt zu entfernen. Nützlich bei Verwendung eigener Git-Workflow-Skills. Hat Vorrang vor der Einstellung [`includeGitInstructions`](/de/settings#available-settings), wenn gesetzt |

190| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Setzen Sie auf `1`, um die automatische Umleitung von Opus 4.0 und 4.1 zur aktuellen Opus-Version auf der Anthropic API zu verhindern. Verwenden Sie, wenn Sie absichtlich ein älteres Modell fixieren möchten. Die Umleitung wird nicht auf Bedrock, Vertex oder Foundry ausgeführt |192| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Setzen Sie auf `1`, um die automatische Umleitung von Opus 4.0 und 4.1 zur aktuellen Opus-Version auf der Anthropic API zu verhindern. Verwenden Sie, wenn Sie absichtlich ein älteres Modell fixieren möchten. Die Umleitung wird nicht auf Bedrock, Vertex oder Foundry ausgeführt |

191| `CLAUDE_CODE_DISABLE_MOUSE` | Setzen Sie auf `1`, um die Mausverfolgung in der [Vollbilddarstellung](/de/fullscreen) zu deaktivieren. Tastaturscrolling mit `PgUp` und `PgDn` funktioniert weiterhin. Verwenden Sie dies, um das native Kopieren-beim-Auswählen-Verhalten Ihres Terminals beizubehalten |193| `CLAUDE_CODE_DISABLE_MOUSE` | Setzen Sie auf `1`, um die Mausverfolgung in der [Vollbilddarstellung](/de/fullscreen) zu deaktivieren. Tastaturscrolling mit `PgUp` und `PgDn` funktioniert weiterhin. Verwenden Sie dies, um das native Kopieren-beim-Auswählen-Verhalten Ihres Terminals beizubehalten |

194| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | {/* min-version: 2.1.195 */}Setzen Sie auf `1`, um Click-, Drag- und Hover-Handling in der [Vollbilddarstellung](/de/fullscreen) zu deaktivieren, während Sie das Mausrad-Scrolling behalten. Verwenden Sie dies, wenn Sie möchten, dass das Rad-Scroll in Claude Code funktioniert, aber Sie nicht möchten, dass Klicks den Cursor positionieren, Tool-Ausgabe erweitern oder Links öffnen. `CLAUDE_CODE_DISABLE_MOUSE` hat Vorrang, wenn beide gesetzt sind. Erfordert Claude Code v2.1.195 oder später |

192| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Äquivalent zum Setzen von `DISABLE_AUTOUPDATER`, `DISABLE_FEEDBACK_COMMAND`, `DISABLE_ERROR_REPORTING` und `DISABLE_TELEMETRY` |195| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Äquivalent zum Setzen von `DISABLE_AUTOUPDATER`, `DISABLE_FEEDBACK_COMMAND`, `DISABLE_ERROR_REPORTING` und `DISABLE_TELEMETRY` |

193| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Setzen Sie auf `1`, um das Fallback ohne Streaming zu deaktivieren, wenn eine Streaming-Anfrage mitten im Stream fehlschlägt. Streaming-Fehler werden stattdessen an die Wiederholungsebene weitergeleitet. Nützlich, wenn ein Proxy oder Gateway das Fallback dazu führt, dass doppelte Tool-Ausführungen entstehen |196| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Setzen Sie auf `1`, um das Fallback ohne Streaming zu deaktivieren, wenn eine Streaming-Anfrage mitten im Stream fehlschlägt. Streaming-Fehler werden stattdessen an die Wiederholungsebene weitergeleitet. Nützlich, wenn ein Proxy oder Gateway das Fallback dazu führt, dass doppelte Tool-Ausführungen entstehen |

197| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | {/* min-version: 2.1.193 */}Setzen Sie auf `1`, um die Desktop-Benachrichtigung des `PushNotification`-Tools zu senden, auch während Sie im Terminal tippen oder es fokussieren. Standardmäßig überspringt das Tool sowohl die Desktop-Benachrichtigung als auch den [Mobile Push](/de/remote-control#mobile-push-notifications), wenn es kürzliche Tastaturaktivität oder Terminal-Fokus erkennt. Diese Variable deaktiviert nur diese lokale Überprüfung, sodass der Server den Mobile Push weiterhin unterdrücken kann, wenn er erkennt, dass Sie aktiv sind. Erfordert Claude Code v2.1.193 oder später |

194| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Setzen Sie auf `1`, um die automatische Hinzufügung des offiziellen Plugin-Marketplace beim ersten Start zu überspringen |198| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Setzen Sie auf `1`, um die automatische Hinzufügung des offiziellen Plugin-Marketplace beim ersten Start zu überspringen |

195| `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 |199| `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 |

196| `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 |200| `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 |


198| `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 |202| `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 |

199| `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) |203| `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) |

200| `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) |204| `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) |

201| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {/* min-version: 2.1.158 */}Setzen Sie auf `1`, um [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) auf Amazon Bedrock, Google Cloud Vertex AI und Microsoft Foundry verfügbar zu machen. Erfordert Claude Code v2.1.158 oder später. Hat keine Auswirkung auf die Anthropic API, wo Auto-Modus standardmäßig verfügbar ist. Siehe [Auto-Modus auf Bedrock, Vertex AI oder Foundry aktivieren](/de/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) |205| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {/* min-version: 2.1.158 */}Setzen Sie auf `1`, um [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) auf Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry und angemeldete [Claude Apps Gateway](/de/claude-apps-gateway)-Sitzungen verfügbar zu machen. Erfordert Claude Code v2.1.158 oder später. Hat keine Auswirkung auf die Anthropic API, wo Auto-Modus standardmäßig verfügbar ist. Siehe [Auto-Modus auf Bedrock, Vertex AI oder Foundry aktivieren](/de/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) |

202| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Überschreiben Sie die Verfügbarkeit von [Sitzungs-Zusammenfassung](/de/interactive-mode#session-recap). Setzen Sie auf `0`, um Zusammenfassungen unabhängig vom `/config`-Umschalter auszuschalten. Setzen Sie auf `1`, um Zusammenfassungen zu erzwingen, wenn [`awaySummaryEnabled`](/de/settings#available-settings) `false` ist. Hat Vorrang vor der Einstellung und dem `/config`-Umschalter |206| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Überschreiben Sie die Verfügbarkeit von [Sitzungs-Zusammenfassung](/de/interactive-mode#session-recap). Setzen Sie auf `0`, um Zusammenfassungen unabhängig vom `/config`-Umschalter auszuschalten. Setzen Sie auf `1`, um Zusammenfassungen zu erzwingen, wenn [`awaySummaryEnabled`](/de/settings#available-settings) `false` ist. Hat Vorrang vor der Einstellung und dem `/config`-Umschalter |

203| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Setzen Sie auf `1`, um den Plugin-Status an Turn-Grenzen im [nicht-interaktiven Modus](/de/headless) zu aktualisieren, nachdem eine Hintergrund-Installation abgeschlossen ist. Standardmäßig aus, da die Aktualisierung den System-Prompt mitten in der Sitzung ändert, was [Prompt-Caching](/de/prompt-caching) für diesen Turn ungültig macht |207| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Setzen Sie auf `1`, um den Plugin-Status an Turn-Grenzen im [nicht-interaktiven Modus](/de/headless) zu aktualisieren, nachdem eine Hintergrund-Installation abgeschlossen ist. Standardmäßig aus, da die Aktualisierung den System-Prompt mitten in der Sitzung ändert, was [Prompt-Caching](/de/prompt-caching) für diesen Turn ungültig macht |

204| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Setzen Sie auf `1`, um die Umfrage zur Sitzungsqualität „Wie läuft es mit Claude?" an Ihren eigenen [OpenTelemetry-Collector](/de/monitoring-usage) zu leiten, wenn Anthropic-gebundener nicht wesentlicher Traffic blockiert wird. Umfragebewertungen werden nur als OTEL-Ereignisse an Ihren konfigurierten Collector ausgegeben. Keine Umfragedaten werden in diesem Modus an Anthropic gesendet. Gilt, wenn `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` oder `DO_NOT_TRACK` gesetzt ist, und hat ansonsten keine Auswirkung. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` und die Produktfeedback-Richtlinie der Organisation haben Vorrang |208| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Setzen Sie auf `1`, um die Umfrage zur Sitzungsqualität „Wie läuft es mit Claude?" an Ihren eigenen [OpenTelemetry-Collector](/de/monitoring-usage) zu leiten, wenn Anthropic-gebundener nicht wesentlicher Traffic blockiert wird. Umfragebewertungen werden nur als OTEL-Ereignisse an Ihren konfigurierten Collector ausgegeben. Keine Umfragedaten werden in diesem Modus an Anthropic gesendet. Gilt, wenn `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` oder `DO_NOT_TRACK` gesetzt ist, und hat ansonsten keine Auswirkung. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` und die Produktfeedback-Richtlinie der Organisation haben Vorrang |


215| `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 `screen`-Sitzung oder einem Hintergrund-Launcher, der zuerst von Claude Codes Bash-Tool gestartet wurde, dazu führt, dass eine echte Top-Level-Sitzung als verschachtelt fehlklassifiziert wird. {/* min-version: 2.1.178 */}Ab v2.1.178 erkennt Claude Code den tmux-Fall automatisch und ignoriert den vererbten Marker, sodass tmux diese Variable nicht mehr benötigt. 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 |219| `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 `screen`-Sitzung oder einem Hintergrund-Launcher, der zuerst von Claude Codes Bash-Tool gestartet wurde, dazu führt, dass eine echte Top-Level-Sitzung als verschachtelt fehlklassifiziert wird. {/* min-version: 2.1.178 */}Ab v2.1.178 erkennt Claude Code den tmux-Fall automatisch und ignoriert den vererbten Marker, sodass tmux diese Variable nicht mehr benötigt. 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 |

216| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | {/* min-version: 2.1.186 */}Setzen Sie auf `1`, um Durchstreichungs-Rendering für `~~text~~` in Claudes Antworten zu erzwingen, wenn Ihr Terminal es unterstützt, aber nicht automatisch erkannt wird, z. B. über SSH ohne `TERM_PROGRAM` weitergeleitet. Ohne dies zeigen nicht erkannte Terminals die wörtlichen `~~`-Marker an, anstatt den Text als Durchstreichung zu rendern. Erfordert Claude Code v2.1.186 oder später |220| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | {/* min-version: 2.1.186 */}Setzen Sie auf `1`, um Durchstreichungs-Rendering für `~~text~~` in Claudes Antworten zu erzwingen, wenn Ihr Terminal es unterstützt, aber nicht automatisch erkannt wird, z. B. über SSH ohne `TERM_PROGRAM` weitergeleitet. Ohne dies zeigen nicht erkannte Terminals die wörtlichen `~~`-Marker an, anstatt den Text als Durchstreichung zu rendern. Erfordert Claude Code v2.1.186 oder später |

217| `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 |221| `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 |

218| `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` |222| `CLAUDE_CODE_FORK_SUBAGENT` | Setzen Sie auf `1`, um Claude [abgespaltete Subagenten](/de/sub-agents#fork-the-current-conversation) zu spawnen, oder `0`, um sie zu deaktivieren, wobei jede Server-seitige Einführung überschrieben wird. Wenn aktiviert, kann Claude den `fork`-Subagenten-Typ anfordern, um einen Fork zu spawnen, einen Subagenten, der den vollständigen Konversationskontext erbt, anstatt neu zu beginnen. Spawns ohne einen Subagenten-Typ verwenden weiterhin den allgemeinen Subagenten, und alle Subagenten-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` |

219| `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) |223| `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) |

220| `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 |224| `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 |

221| `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 |225| `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 |

222| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in Sekunden für die Glob-Tool-Dateiermittlung. Standardmäßig 20 Sekunden auf den meisten Plattformen und 60 Sekunden auf WSL |226| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in Sekunden für die Glob-Tool-Dateiermittlung. Standardmäßig 20 Sekunden auf den meisten Plattformen und 60 Sekunden auf WSL |

223| `CLAUDE_CODE_HIDE_CWD` | Setzen Sie auf `1`, um das Arbeitsverzeichnis im Startup-Logo auszublenden. Nützlich für Bildschirmfreigaben oder Aufzeichnungen, bei denen der Pfad Ihren OS-Benutzernamen offenlegt |227| `CLAUDE_CODE_HIDE_CWD` | Setzen Sie auf `1`, um das Arbeitsverzeichnis im Startup-Logo auszublenden. Nützlich für Bildschirmfreigaben oder Aufzeichnungen, bei denen der Pfad Ihren OS-Benutzernamen offenlegt |

224| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Überschreiben Sie die Host-Adresse, die zum Verbinden mit der IDE-Erweiterung verwendet wird. Standardmäßig erkennt Claude Code die richtige Adresse automatisch, einschließlich WSL-zu-Windows-Routing |228| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Überschreiben Sie die Host-Adresse, die zum Verbinden mit der IDE-Erweiterung verwendet wird. Standardmäßig erkennt Claude Code die richtige Adresse automatisch, einschließlich WSL-zu-Windows-Routing |

225| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Überspringen Sie die automatische Installation von IDE-Erweiterungen. Äquivalent zum Setzen von [`autoInstallIdeExtension`](/de/settings#global-config-settings) auf `false` |229| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Setzen Sie auf `1`, um die automatische Installation von IDE-Erweiterungen zu überspringen. Äquivalent zum Setzen von [`autoInstallIdeExtension`](/de/settings#global-config-settings) auf `false` |

226| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Setzen Sie auf `1`, um die Validierung von IDE-Lockfile-Einträgen während der Verbindung zu überspringen. Verwenden Sie, wenn die automatische Verbindung Ihre IDE nicht findet, obwohl sie ausgeführt wird |230| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Setzen Sie auf `1`, um die Validierung von IDE-Lockfile-Einträgen während der Verbindung zu überspringen. Verwenden Sie, wenn die automatische Verbindung Ihre IDE nicht findet, obwohl sie ausgeführt wird |

227| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Überschreiben Sie die Kontextfenstergröße, die Claude Code für das aktive Modell annimmt. Wirkt sich nur aus, wenn `DISABLE_COMPACT` auch gesetzt ist. Verwenden Sie dies, wenn Sie zu einem Modell durch `ANTHROPIC_BASE_URL` routen, dessen Kontextfenster nicht der integrierten Größe für seinen Namen entspricht |231| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Überschreiben Sie die Kontextfenstergröße, die Claude Code für das aktive Modell annimmt. {/* min-version: 2.1.193 */}Ab v2.1.193 direkt angewendet für Modellnamen, die Claude Code nicht als Claude-Modell erkennt; für erkannte Claude-Modelle wirkt sich dies nur aus, wenn `DISABLE_COMPACT` auch gesetzt ist. Verwenden Sie dies, wenn Sie zu einem Modell durch `ANTHROPIC_BASE_URL` routen, dessen Kontextfenster nicht der integrierten Größe für seinen Namen entspricht |

228| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Legen Sie die maximale Anzahl von Ausgabe-Token für die meisten Anfragen fest. Standard und Obergrenzen variieren je nach Modell; siehe [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Das Erhöhen dieses Wertes reduziert das verfügbare effektive Kontextfenster, bevor die [automatische Komprimierung](/de/costs#reduce-token-usage) ausgelöst wird. |232| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Legen Sie die maximale Anzahl von Ausgabe-Token für die meisten Anfragen fest. Standard und Obergrenzen variieren je nach Modell; siehe [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Das Erhöhen dieses Wertes reduziert das verfügbare effektive Kontextfenster, bevor die [automatische Komprimierung](/de/costs#reduce-token-usage) ausgelöst wird |

229| `CLAUDE_CODE_MAX_RETRIES` | Überschreiben Sie die Anzahl der Wiederholungen fehlgeschlagener API-Anfragen (Standard: 10). {/* min-version: 2.1.186 */}Begrenzt auf 15 ab v2.1.186. Für unbeaufsichtigte Sitzungen, die längere Ausfallzeiten abwarten müssen, setzen Sie stattdessen `CLAUDE_CODE_RETRY_WATCHDOG` |233| `CLAUDE_CODE_MAX_RETRIES` | Überschreiben Sie die Anzahl der Wiederholungen fehlgeschlagener API-Anfragen (Standard: 10). {/* min-version: 2.1.186 */}Begrenzt auf 15 ab v2.1.186. Für unbeaufsichtigte Sitzungen, die längere Ausfallzeiten abwarten müssen, setzen Sie stattdessen `CLAUDE_CODE_RETRY_WATCHDOG` |

230| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Maximale Anzahl von schreibgeschützten Tools und Subagenten, die parallel ausgeführt werden können (Standard: 10). Höhere Werte erhöhen die Parallelität, verbrauchen aber mehr Ressourcen |234| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Maximale Anzahl von schreibgeschützten Tools und Subagenten, die parallel ausgeführt werden können (Standard: 10). Höhere Werte erhöhen die Parallelität, verbrauchen aber mehr Ressourcen |

231| `CLAUDE_CODE_MAX_TURNS` | Begrenzen Sie die Anzahl der agentic Turns, wenn kein explizites Limit übergeben wird. Äquivalent zum Übergeben von [`--max-turns`](/de/cli-reference#cli-flags), das Vorrang hat, wenn beide gesetzt sind. Ein Wert, der keine positive Ganzzahl ist, wird beim Start mit einem Fehler abgelehnt, anstatt als kein Limit behandelt zu werden |235| `CLAUDE_CODE_MAX_TURNS` | Begrenzen Sie die Anzahl der agentic Turns, wenn kein explizites Limit übergeben wird. Äquivalent zum Übergeben von [`--max-turns`](/de/cli-reference#cli-flags), das Vorrang hat, wenn beide gesetzt sind. Ein Wert, der keine positive Ganzzahl ist, wird beim Start mit einem Fehler abgelehnt, anstatt als kein Limit behandelt zu werden |

232| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Setzen Sie auf `1`, um stdio MCP-Server nur mit einer sicheren Baseline-Umgebung plus der konfigurierten `env` des Servers zu spawnen, anstatt Ihre Shell-Umgebung zu erben |236| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Setzen Sie auf `1`, um stdio MCP-Server nur mit einer sicheren Baseline-Umgebung plus der konfigurierten `env` des Servers zu spawnen, anstatt Ihre Shell-Umgebung zu erben |

233| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | {/* min-version: 2.1.187 */}Idle-Timeout in Millisekunden für Remote-MCP-Tool-Aufrufe (Standard: 300000 oder 5 Minuten). Wenn ein HTTP-, SSE-, WebSocket- oder [claude.ai-Connector](/de/mcp#use-mcp-servers-from-claude-ai) MCP-Server für diese lange keine Antwort und keine Fortschrittsbenachrichtigung sendet, bricht der Tool-Aufruf mit einem Fehler ab, anstatt auf das Wall-Clock-`MCP_TOOL_TIMEOUT` zu warten. Setzen Sie auf `0`, um die Idle-Überprüfung zu deaktivieren. Werte unter 1000 werden auf eine Sekunde erhöht, und der Wert ist auf das effektive `MCP_TOOL_TIMEOUT` begrenzt. Gilt nicht für stdio- oder IDE-Server. Erfordert Claude Code v2.1.187 oder später |237| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | {/* min-version: 2.1.187 */}Idle-Timeout in Millisekunden für Remote-MCP-Tool-Aufrufe (Standard: 300000 oder 5 Minuten). Wenn ein HTTP-, SSE-, WebSocket- oder [claude.ai-Connector](/de/mcp#use-mcp-servers-from-claude-ai) MCP-Server für diese lange keine Antwort und keine Fortschrittsbenachrichtigung sendet, bricht der Tool-Aufruf mit einem Fehler ab, anstatt auf das Wall-Clock-`MCP_TOOL_TIMEOUT` zu warten. Setzen Sie auf `0`, um die Idle-Überprüfung zu deaktivieren. Werte unter 1000 werden auf eine Sekunde erhöht, und der Wert ist auf das effektive `MCP_TOOL_TIMEOUT` begrenzt. Gilt nicht für stdio- oder IDE-Server. Erfordert Claude Code v2.1.187 oder später |

234| `CLAUDE_CODE_NATIVE_CURSOR` | Setzen Sie auf `1`, um den eigenen Cursor des Terminals an der Eingabeeinfügemarke anzuzeigen, anstatt eines gezeichneten Blocks. Der Cursor respektiert die Blink-, Form- und Fokuseinstellungen des Terminals |238| `CLAUDE_CODE_NATIVE_CURSOR` | Setzen Sie auf `1`, um den eigenen Cursor des Terminals an der Eingabeeinfügemarke anzuzeigen, anstatt eines gezeichneten Blocks. Der Cursor respektiert die Blink-, Form- und Fokuseinstellungen des Terminals |

235| `CLAUDE_CODE_NEW_INIT` | Setzen Sie auf `1`, um `/init` einen interaktiven Setup-Flow ausführen zu lassen. Der Flow fragt, welche Dateien generiert werden sollen, einschließlich CLAUDE.md, Skills und Hooks, bevor die Codebasis erkundet und geschrieben wird. Ohne diese Variable generiert `/init` automatisch eine CLAUDE.md ohne Aufforderung. |239| `CLAUDE_CODE_NEW_INIT` | Setzen Sie auf `1`, um `/init` einen interaktiven Setup-Flow ausführen zu lassen. Der Flow fragt, welche Dateien generiert werden sollen, einschließlich CLAUDE.md, Skills und Hooks, bevor die Codebasis erkundet und geschrieben wird. Ohne diese Variable generiert `/init` automatisch eine CLAUDE.md ohne Aufforderung |

236| `CLAUDE_CODE_NO_FLICKER` | Setzen Sie auf `1`, um die [Vollbilddarstellung](/de/fullscreen) zu aktivieren, eine Forschungsvorschau, die Flimmern reduziert und den Speicher in langen Konversationen flach hält. Äquivalent zur [`tui`](/de/settings#available-settings)-Einstellung; Sie können auch mit `/tui fullscreen` wechseln |240| `CLAUDE_CODE_NO_FLICKER` | Setzen Sie auf `1`, um die [Vollbilddarstellung](/de/fullscreen) zu aktivieren, eine Forschungsvorschau, die Flimmern reduziert und den Speicher in langen Konversationen flach hält. Äquivalent zur [`tui`](/de/settings#available-settings)-Einstellung; Sie können auch mit `/tui fullscreen` wechseln |

237| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | OAuth-Aktualisierungstoken für Claude.ai-Authentifizierung. Wenn gesetzt, tauscht `claude auth login` dieses Token direkt aus, anstatt einen Browser zu öffnen. Erfordert `CLAUDE_CODE_OAUTH_SCOPES`. Nützlich für die Bereitstellung von Authentifizierung in automatisierten Umgebungen |241| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | OAuth-Aktualisierungstoken für Claude.ai-Authentifizierung. Wenn gesetzt, tauscht `claude auth login` dieses Token direkt aus, anstatt einen Browser zu öffnen. Erfordert `CLAUDE_CODE_OAUTH_SCOPES`. Nützlich für die Bereitstellung von Authentifizierung in automatisierten Umgebungen |

238| `CLAUDE_CODE_OAUTH_SCOPES` | Durch Leerzeichen getrennte OAuth-Bereiche, mit denen das Aktualisierungstoken ausgestellt wurde, z. B. `"user:profile user:inference user:sessions:claude_code"`. Erforderlich, wenn `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` gesetzt ist |242| `CLAUDE_CODE_OAUTH_SCOPES` | Durch Leerzeichen getrennte OAuth-Bereiche, mit denen das Aktualisierungstoken ausgestellt wurde, z. B. `"user:profile user:inference user:sessions:claude_code"`. Erforderlich, wenn `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` gesetzt ist |

239| `CLAUDE_CODE_OAUTH_TOKEN` | OAuth-Zugriffstoken für Claude.ai-Authentifizierung. Alternative zu `/login` für SDK und automatisierte Umgebungen. Hat Vorrang vor in der Keychain gespeicherten Anmeldedaten. Generieren Sie eines mit [`claude setup-token`](/de/authentication#generate-a-long-lived-token) |243| `CLAUDE_CODE_OAUTH_TOKEN` | OAuth-Zugriffstoken für Claude.ai-Authentifizierung. Alternative zu `/login` für SDK und automatisierte Umgebungen. Hat Vorrang vor in der Keychain gespeicherten Anmeldedaten. Generieren Sie eines mit [`claude setup-token`](/de/authentication#generate-a-long-lived-token) |

240| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | {/* max-version: 2.1.159 */}Entfernt in v2.1.160 und jetzt ein No-Op. Früher fixierte [Schnellmodus](/de/fast-mode) auf Claude Opus 4.6 anstelle des aktuellen Standards |244| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | {/* max-version: 2.1.159 */}Entfernt in v2.1.160 und jetzt ein No-Op. Früher fixierte [Schnellmodus](/de/fast-mode) auf Claude Opus 4.6 anstelle des aktuellen Standards. Opus 4.6 unterstützt Schnellmodus nicht mehr |

241| `CLAUDE_CODE_OTEL_DIAG_STDERR` | {/* min-version: 2.1.179 */}Setzen Sie auf `1`, um OpenTelemetry-Exporter-Diagnosefehler auf stderr zu schreiben. Standardmäßig erscheinen diese Fehler nur mit `--debug`, sodass ein fehlkonfigurierter Exporter wie eine Prometheus-Port-Kollision ansonsten stillschweigend fehlschlägt. Erfordert Claude Code v2.1.179 oder später. Siehe [Überwachung](/de/monitoring-usage) |245| `CLAUDE_CODE_OTEL_DIAG_STDERR` | {/* min-version: 2.1.179 */}Setzen Sie auf `1`, um OpenTelemetry-Exporter-Diagnosefehler auf stderr zu schreiben. Standardmäßig erscheinen diese Fehler nur mit `--debug`, sodass ein fehlkonfigurierter Exporter wie eine Prometheus-Port-Kollision ansonsten stillschweigend fehlschlägt. Erfordert Claude Code v2.1.179 oder später. Siehe [Überwachung](/de/monitoring-usage) |

242| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in Millisekunden zum Leeren ausstehender OpenTelemetry-Spans (Standard: 5000). Siehe [Überwachung](/de/monitoring-usage) |246| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in Millisekunden zum Leeren ausstehender OpenTelemetry-Spans (Standard: 5000). Siehe [Überwachung](/de/monitoring-usage) |

243| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer OpenTelemetry-Header in Millisekunden (Standard: 1740000 / 29 Minuten). Siehe [Dynamische Header](/de/monitoring-usage#dynamic-headers) |247| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer OpenTelemetry-Header in Millisekunden (Standard: 1740000 / 29 Minuten). Siehe [Dynamische Header](/de/monitoring-usage#dynamic-headers) |


264| `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 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 |268| `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 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 |

265| `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 |269| `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 |

266| `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 |270| `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 |

267| `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`) |271| `CLAUDE_CODE_SHELL` | Legen Sie die Shell fest, die Claude Code zum Ausführen von Bash-Tool-Befehlen verwendet. Akzeptiert einen Pfad zu einer `bash` oder `zsh` Binärdatei, z. B. `/opt/homebrew/bin/bash`. Andere Shells wie `fish` werden nicht unterstützt. Wenn der Wert kein funktionierender `bash` oder `zsh` Pfad ist, ignoriert Claude Code ihn und fällt auf die automatische Erkennung zurück. Die automatische Erkennung verwendet Ihre `$SHELL`, wenn sie auf `bash` oder `zsh` verweist, ansonsten wählt sie die erste funktionierende `zsh` dann `bash` aus, die auf Ihrem `PATH` und in Standard-Installationsorten gefunden wird |

268| `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 |272| `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 |

269| `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) |273| `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) |

270| `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 |274| `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 |


275| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Setzen Sie auf `1`, um das Schreiben von Prompt-Verlauf und Sitzungs-Abschriften auf die Festplatte zu überspringen. Sitzungen, die mit dieser Variablen gestartet werden, erscheinen nicht in `--resume`, `--continue` oder Up-Arrow-Verlauf. Nützlich für kurzlebige Skript-Sitzungen |279| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Setzen Sie auf `1`, um das Schreiben von Prompt-Verlauf und Sitzungs-Abschriften auf die Festplatte zu überspringen. Sitzungen, die mit dieser Variablen gestartet werden, erscheinen nicht in `--resume`, `--continue` oder Up-Arrow-Verlauf. Nützlich für kurzlebige Skript-Sitzungen |

276| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Überspringen Sie die Google-Authentifizierung für Vertex (z. B. bei Verwendung eines LLM-Gateways) |280| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Überspringen Sie die Google-Authentifizierung für Vertex (z. B. bei Verwendung eines LLM-Gateways) |

277| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Maximale Anzahl von aufeinanderfolgenden Malen, die ein [Stop](/de/hooks#stop) oder [SubagentStop](/de/hooks#subagentstop)-Hook den Turn vom Beenden blockieren kann, bevor Claude Code es überschreibt und den Turn trotzdem beendet (Standard: 8). Setzen Sie auf `0`, um die Obergrenze zu deaktivieren. Erhöhen Sie dies, wenn Ihr Hook legitim mehr Iterationen benötigt, um sich zu beheben |281| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Maximale Anzahl von aufeinanderfolgenden Malen, die ein [Stop](/de/hooks#stop) oder [SubagentStop](/de/hooks#subagentstop)-Hook den Turn vom Beenden blockieren kann, bevor Claude Code es überschreibt und den Turn trotzdem beendet (Standard: 8). Setzen Sie auf `0`, um die Obergrenze zu deaktivieren. Erhöhen Sie dies, wenn Ihr Hook legitim mehr Iterationen benötigt, um sich zu beheben |

278| `CLAUDE_CODE_SUBAGENT_MODEL` | Siehe [Modellkonfiguration](/de/model-config) |282| `CLAUDE_CODE_SUBAGENT_MODEL` | Siehe [Modellkonfiguration](/de/model-config). {/* min-version: 2.1.196 */}Ab v2.1.196 ist das Setzen auf `inherit` dasselbe wie das Nichtsetzen; frühere Versionen behandelten `inherit` als eine Überschreibung, die jeden Subagenten auf das Modell der Hauptkonversation zwang |

279| `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 |283| `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 |

280| `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 |284| `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 |

281| `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 |285| `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 |


295| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Steuert das PowerShell-Tool. Unter Windows ohne Git Bash ist das Tool automatisch aktiviert; setzen Sie auf `0`, um es zu deaktivieren. Unter Windows mit installiertem Git Bash wird das Tool schrittweise eingeführt: Setzen Sie auf `1`, um sich anzumelden, oder auf `0`, um sich abzumelden. Unter Linux, macOS und WSL setzen Sie auf `1`, um es zu aktivieren, was `pwsh` auf Ihrem `PATH` erfordert. Wenn unter Windows aktiviert, kann Claude PowerShell-Befehle nativ ausführen, anstatt sie durch Git Bash zu leiten. Siehe [PowerShell-Tool](/de/tools-reference#powershell-tool) |299| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Steuert das PowerShell-Tool. Unter Windows ohne Git Bash ist das Tool automatisch aktiviert; setzen Sie auf `0`, um es zu deaktivieren. Unter Windows mit installiertem Git Bash wird das Tool schrittweise eingeführt: Setzen Sie auf `1`, um sich anzumelden, oder auf `0`, um sich abzumelden. Unter Linux, macOS und WSL setzen Sie auf `1`, um es zu aktivieren, was `pwsh` auf Ihrem `PATH` erfordert. Wenn unter Windows aktiviert, kann Claude PowerShell-Befehle nativ ausführen, anstatt sie durch Git Bash zu leiten. Siehe [PowerShell-Tool](/de/tools-reference#powershell-tool) |

296| `CLAUDE_CODE_USE_VERTEX` | Verwenden Sie [Vertex](/de/google-vertex-ai) |300| `CLAUDE_CODE_USE_VERTEX` | Verwenden Sie [Vertex](/de/google-vertex-ai) |

297| `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'` |301| `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'` |

302| `CLAUDE_DISABLE_ADOPT` | {/* min-version: 2.1.195 */}Setzen Sie auf `1`, um in-flight Hintergrundarbeit zu stoppen, anstatt sie zu übernehmen, wenn Sie eine Sitzung durch Drücken von `←` oder mit [`/background`](/de/agent-view#from-inside-a-session) in den Hintergrund verschieben. Claude Code fragt Sie zur Bestätigung auf, bevor Sie in den Hintergrund verschieben, und stoppt dann die Aufgaben, die ansonsten übernommen würden. Erfordert Claude Code v2.1.195 oder später |

298| `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 |303| `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 |

299| `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 |304| `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 |

300| `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` |305| `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` |

301| `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` |306| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Setzen Sie auf `0`, um den Event-Level-Streaming-Idle-Watchdog zu deaktivieren, oder auf `1`, um ihn zu erzwingen. {/* min-version: 2.1.196 */}Wenn nicht gesetzt, ist der Watchdog standardmäßig für alle Provider aktiviert. Vor v2.1.196 war der nicht gesetzte 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` |

302| `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 |307| `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 |

303| `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 |308| `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 |

304| `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` |309| `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. 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` |

305| `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 |310| `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 |

306| `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 |311| `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 |

307| `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 |312| `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 |


348| `MCP_TIMEOUT` | Timeout in Millisekunden für MCP-Server-Start (Standard: 30000 oder 30 Sekunden) |353| `MCP_TIMEOUT` | Timeout in Millisekunden für MCP-Server-Start (Standard: 30000 oder 30 Sekunden) |

349| `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 |354| `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 |

350| `NO_PROXY` | Liste von Domains und IPs, an die Anfragen direkt gestellt werden, wobei der Proxy umgangen wird |355| `NO_PROXY` | Liste von Domains und IPs, an die Anfragen direkt gestellt werden, wobei der Proxy umgangen wird |

356| `OTEL_LOG_ASSISTANT_RESPONSES` | {/* min-version: 2.1.193 */}Setzen Sie auf `1`, um den Text der Modell-Antwort auf `assistant_response` OpenTelemetry-Protokollereignissen einzubeziehen. Wenn nicht gesetzt, wird der Wert von `OTEL_LOG_USER_PROMPTS` verwendet. Setzen Sie auf `0`, um Antworten redigiert zu halten, auch wenn `OTEL_LOG_USER_PROMPTS` gesetzt ist. Erfordert Claude Code v2.1.193 oder später. Siehe [Überwachung](/de/monitoring-usage#assistant-response-event) |

351| `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) |357| `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) |

352| `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) |358| `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) |

353| `OTEL_LOG_TOOL_DETAILS` | Setzen Sie auf `1`, um Tool-Input-Argumente, MCP-Servernamen, rohe Fehlerstrings bei Tool-Fehlern, die Verweigerungskategorie bei `api_refusal`-Ereignissen und andere Tool-Details in OpenTelemetry-Traces und Protokollen einzubeziehen. Standardmäßig deaktiviert, um PII zu schützen. Siehe [Überwachung](/de/monitoring-usage) |359| `OTEL_LOG_TOOL_DETAILS` | Setzen Sie auf `1`, um Tool-Input-Argumente, MCP-Servernamen, rohe Fehlerstrings bei Tool-Fehlern, die Verweigerungskategorie bei `api_refusal`-Ereignissen und andere Tool-Details in OpenTelemetry-Traces und Protokollen einzubeziehen. Standardmäßig deaktiviert, um PII zu schützen. Siehe [Überwachung](/de/monitoring-usage) |


372| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Überschreiben Sie die Region für Claude Sonnet 4.6 bei Verwendung von Vertex AI |378| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Überschreiben Sie die Region für Claude Sonnet 4.6 bei Verwendung von Vertex AI |

373| `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 |379| `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 |

374| `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 |380| `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 |

381| `VERTEX_REGION_CLAUDE_5_SONNET` | {/* min-version: 2.1.197 */}Überschreiben Sie die Region für Claude Sonnet 5 bei Verwendung von Vertex AI. Hinzugefügt in v2.1.197 |

375| `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 |382| `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 |

376| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Überschreiben Sie die Region für Claude Haiku 4.5 bei Verwendung von Vertex AI |383| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Überschreiben Sie die Region für Claude Haiku 4.5 bei Verwendung von Vertex AI |

377 384 

errors.md +149 −17

Details

25| `API Error: 500 Internal server error` | [Serverfehler](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [Serverfehler](#api-error-500-internal-server-error) |

26| `API Error: Repeated 529 Overloaded errors` | [Serverfehler](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [Serverfehler](#api-error-repeated-529-overloaded-errors) |

27| `Request timed out` | [Serverfehler](#request-timed-out), oder [Netzwerk](#unable-to-connect-to-api) wenn die Meldung Ihre Internetverbindung erwähnt |27| `Request timed out` | [Serverfehler](#request-timed-out), oder [Netzwerk](#unable-to-connect-to-api) wenn die Meldung Ihre Internetverbindung erwähnt |

28| `Server error mid-response. The response above may be incomplete.` | [Serverfehler](#the-response-above-may-be-incomplete) |

29| `Connection closed mid-response` / `Response stalled mid-stream` | [Serverfehler](#the-response-above-may-be-incomplete) |

28| `<model> is temporarily unavailable, so auto mode cannot determine the safety of...` | [Serverfehler](#auto-mode-cannot-determine-the-safety-of-an-action) |30| `<model> is temporarily unavailable, so auto mode cannot determine the safety of...` | [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) |31| `Auto mode could not evaluate this action and is blocking it for safety` | [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) |32| `Auto mode classifier transcript exceeded context window` | [Serverfehler](#auto-mode-cannot-determine-the-safety-of-an-action) |

33| `Agent terminated early due to an API error` | [Serverfehler](#agent-terminated-early-due-to-an-api-error) |

31| `You've hit your session limit` / `You've hit your weekly limit` | [Nutzungslimits](#you%E2%80%99ve-hit-your-session-limit) |34| `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) |35| `Usage credits required for 1M context` | [Nutzungslimits](#usage-credits-required-for-1m-context) |

33| `Server is temporarily limiting requests` | [Nutzungslimits](#server-is-temporarily-limiting-requests) |36| `Server is temporarily limiting requests` | [Nutzungslimits](#server-is-temporarily-limiting-requests) |


43| `Remote Control is only available when using Claude via api.anthropic.com` | [Authentifizierung](#remote-control-requires-the-anthropic-api) |46| `Remote Control is only available when using Claude via api.anthropic.com` | [Authentifizierung](#remote-control-requires-the-anthropic-api) |

44| `OAuth token revoked` / `OAuth token has expired` | [Authentifizierung](#oauth-token-revoked-or-expired) |47| `OAuth token revoked` / `OAuth token has expired` | [Authentifizierung](#oauth-token-revoked-or-expired) |

45| `does not meet scope requirement user:profile` | [Authentifizierung](#oauth-scope-requirement) |48| `does not meet scope requirement user:profile` | [Authentifizierung](#oauth-scope-requirement) |

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

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

46| `Unable to connect to API` | [Netzwerk](#unable-to-connect-to-api) |51| `Unable to connect to API` | [Netzwerk](#unable-to-connect-to-api) |

47| `Waiting for API response · will retry in` | [Automatische Wiederholungen](#automatic-retries), oder [Netzwerk](#unable-to-connect-to-api) wenn es anhält |52| `Waiting for API response · will retry in` | [Automatische Wiederholungen](#automatic-retries), oder [Netzwerk](#unable-to-connect-to-api) wenn es anhält |

48| `SSL certificate verification failed` | [Netzwerk](#ssl-certificate-errors) |53| `SSL certificate verification failed` | [Netzwerk](#ssl-certificate-errors) |

54| `SSL certificate error (...)` during login or startup | [Netzwerk](#ssl-certificate-errors) |

49| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Netzwerk](#host-not-allowed-in-a-cloud-session) |55| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Netzwerk](#host-not-allowed-in-a-cloud-session) |

50| `Prompt is too long` | [Anfragefehler](#prompt-is-too-long) |56| `Prompt is too long` | [Anfragefehler](#prompt-is-too-long) |

51| `Error during compaction: Conversation too long` | [Anfragefehler](#error-during-compaction-conversation-too-long) |57| `Error during compaction: Conversation too long` | [Anfragefehler](#error-during-compaction-conversation-too-long) |


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

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

63| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Anfragefehler](#usage-policy-refusal) |69| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Anfragefehler](#usage-policy-refusal) |

64| Antworten scheinen von geringerer Qualität als üblich | [Antwortqualität](#responses-seem-lower-quality-than-usual) |70| `--bg and --print conflict` | [Befehlszeilenfehler](#command-line-errors) |

71| Responses seem lower quality than usual | [Antwortqualität](#responses-seem-lower-quality-than-usual) |

65 72 

66<h2 id="automatic-retries">73<h2 id="automatic-retries">

67 Automatische Wiederholungen74 Automatische Wiederholungen

68</h2>75</h2>

69 76 

70Claude 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.77Claude 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. {/* min-version: 2.1.198 */}Ab v2.1.198 umfasst dies Verbindungen, die in der Mitte einer Antwort abbrechen, bevor sichtbare Ausgabe gestreamt wurde: Claude Code sendet die Anfrage mit dem gleichen Backoff erneut aus und der Turn wird fortgesetzt, anstatt mit einem Verbindungsfehler zu stoppen. {/* min-version: 2.1.199 */}Ab v2.1.199 werden auch vorübergehende 429-Drosselungen, die nicht die Quota-Header Ihres Plans tragen, wiederholt, wenn Sie mit einem claude.ai-Abonnement angemeldet sind; frühere Versionen wiederholten sie nur für API-Schlüssel- und Enterprise-Anmeldungen.

71 78 

72{/* min-version: 2.1.185 */}Wenn während einer noch ausstehenden Anfrage 20 Sekunden lang keine Daten im Antwortstrom ankommen, zeigt der Spinner `Waiting for API response · will retry in … · check your network` an, bevor ein Wiederholungsversuch gestartet wird. Die Anfrage ist noch nicht fehlgeschlagen: Der Countdown läuft bis zu dem Punkt, an dem Claude Code die stillgelegte Verbindung abbricht und wiederholt, sodass das Banner von selbst verschwindet, sobald Daten wieder ankommen oder die Wiederholung erfolgreich ist. Ab v2.1.185 beträgt der Schwellenwert 20 Sekunden; frühere Versionen zeigen das Banner nach 10 Sekunden mit unterschiedlicher Formulierung an. Wenn es bei jedem Versuch erneut angezeigt wird, behandeln Sie es als [Netzwerkproblem](#unable-to-connect-to-api).79Zwei Fehlerklassen werden nicht wiederholt, da eine Wiederholung nicht erfolgreich sein kann:

73 80 

74Wenn Sie einen der Fehler auf dieser Seite sehen, wurden diese Wiederholungen bereits erschöpft. Sie können das Verhalten mit diesen Umgebungsvariablen anpassen:81* {/* min-version: 2.1.199 */}Ab v2.1.199 schlägt ein TLS-Zertifikatvalidierungsfehler, wie ein TLS-inspizierender Proxy, ein fehlender `NODE_EXTRA_CA_CERTS` Bundle oder ein abgelaufenes Zertifikat, beim ersten Versuch fehl, daher wird die Behebung sofort angezeigt, anstatt nach dem vollständigen Wiederholungsbudget. Siehe [SSL-Zertifikatsfehler](#ssl-certificate-errors). Vorübergehende TLS-Bedingungen wie ein Handshake-Timeout werden weiterhin wiederholt.

82* {/* min-version: 2.1.199 */}Ab v2.1.199 behält ein Serverfehler, der ankommt, nachdem Claude bereits sichtbare Ausgabe gestreamt hat, die Teilantwort und fügt stattdessen eine [Benachrichtigung über unvollständige Antwort](#the-response-above-may-be-incomplete) an, anstatt zu wiederholen, da das erneute Ausführen der Anfrage die gleichen Tool-Aufrufe zweimal ausführen könnte. Frühere Versionen verwarfen die Teilausgabe und meldeten den Turn als Fehler.

83 

84Während der Wiederholung zeigt der Spinner einen `Retrying in Ns · attempt x/y` Countdown nach einem Fehler-Label an. Das Label benennt den spezifischen Grund aus dem ersten Versuch für Fehler, auf die Sie sofort reagieren können: Das Netzwerk ist ausgefallen, ein TLS-Handshake ist fehlgeschlagen, oder Sie haben ein Ratenlimit erreicht. Für andere Fehler lautet es zunächst `API error`. {/* min-version: 2.1.198 */}Ab v2.1.198 wechselt es zum spezifischen Grund aus dem dritten Versuch, oder beim letzten Versuch, wenn `CLAUDE_CODE_MAX_RETRIES` weniger als drei erlaubt; frühere Versionen wechseln nur beim letzten Versuch.

85 

86{/* min-version: 2.1.198 */}Ab v2.1.198 wird der übliche Spinner-Tipp während Wiederholungen unterdrückt. Sobald der Fehlergrund offenbart wird, wenn der Fehler eine 529-Überlastung ist, benennt die Zeile unter dem Countdown auch, wo der Dienststatus überprüft werden kann: `status.claude.com` auf der Anthropic API, oder der in der Nachricht genannte Provider- oder Gateway-Host bei anderen Konfigurationen.

87 

88{/* min-version: 2.1.185 */}Wenn 20 Sekunden lang keine Daten im Antwortstrom ankommen, während eine Anfrage noch ausstehend ist, zeigt der Spinner `Waiting for API response · will retry in … · check your network` an, bevor ein Wiederholungsversuch gestartet wurde. Die Anfrage ist noch nicht fehlgeschlagen: Der Countdown läuft bis zu dem Punkt, an dem Claude Code die stillgelegte Verbindung abbricht und wiederholt, sodass das Banner von selbst verschwindet, sobald Daten wieder ankommen oder die Wiederholung erfolgreich ist. Ab v2.1.185 beträgt der Schwellenwert 20 Sekunden; frühere Versionen zeigen das Banner nach 10 Sekunden mit unterschiedlicher Formulierung an. Wenn es bei jedem Versuch erneut angezeigt wird, behandeln Sie es als [Netzwerkproblem](#unable-to-connect-to-api).

89 

90Wenn Sie einen der Fehler auf dieser Seite sehen, wurden diese Wiederholungen bereits erschöpft, es sei denn, er gehört zu einer Klasse, die nicht wiederholt wird, wie ein Zertifikatvalidierungsfehler. Sie können das Verhalten mit diesen Umgebungsvariablen anpassen:

75 91 

76| Variable | Standard | Effekt |92| Variable | Standard | Effekt |

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

78| [`CLAUDE_CODE_MAX_RETRIES`](/de/env-vars) | 10 | Anzahl der Wiederholungsversuche. {/* min-version: 2.1.186 */}Ab v2.1.186 auf 15 begrenzt. Senken Sie den Wert, um Fehler in Skripten schneller anzuzeigen. |94| [`CLAUDE_CODE_MAX_RETRIES`](/de/env-vars) | 10 | Anzahl der Wiederholungsversuche. {/* min-version: 2.1.186 */}Ab v2.1.186 auf 15 begrenzt; {/* min-version: 2.1.199 */}ab v2.1.199 hebt `CLAUDE_CODE_RETRY_WATCHDOG` den Standard an und entfernt die Obergrenze. Senken Sie den Wert, um Fehler in Skripten schneller anzuzeigen. |

79| [`CLAUDE_CODE_RETRY_WATCHDOG`](/de/env-vars) | nicht gesetzt | Setzen Sie auf `1` in unbeaufsichtigten Sitzungen wie CI-Jobs, um `429`- und `529`-Kapazitätsfehler unbegrenzt zu wiederholen, anstatt nach `CLAUDE_CODE_MAX_RETRIES`-Versuchen fehlzuschlagen. |95| [`CLAUDE_CODE_RETRY_WATCHDOG`](/de/env-vars) | nicht gesetzt | Setzen Sie auf `1` in unbeaufsichtigten Sitzungen wie CI-Jobs, um `429`- und `529`-Kapazitätsfehler unbegrenzt zu wiederholen, anstatt nach `CLAUDE_CODE_MAX_RETRIES`-Versuchen fehlzuschlagen. {/* min-version: 2.1.199 */}Ab v2.1.199 erhöht es auch die Standard-Wiederholungsanzahl für andere vorübergehende Fehler, wie Serverfehler, Timeouts und unterbrochene Verbindungen, auf 300, ungefähr drei Stunden Backoff, und entfernt die Obergrenze von 15 auf `CLAUDE_CODE_MAX_RETRIES`, wenn Sie diese Variable explizit setzen. |

80| [`API_TIMEOUT_MS`](/de/env-vars) | 600000 | Pro-Anfrage-Timeout in Millisekunden. Erhöhen Sie es für langsame Netzwerke oder Proxys. |96| [`API_TIMEOUT_MS`](/de/env-vars) | 600000 | Pro-Anfrage-Timeout in Millisekunden. Erhöhen Sie es für langsame Netzwerke oder Proxys. |

81 97 

82<h2 id="server-errors">98<h2 id="server-errors">


115API Error: Repeated 529 Overloaded errors. The API is at capacity — this is usually temporary. Try again in a moment. If it persists, check https://status.claude.com.131API Error: Repeated 529 Overloaded errors. The API is at capacity — this is usually temporary. Try again in a moment. If it persists, check https://status.claude.com.

116```132```

117 133 

118Der abschließende Satz variiert je nach Anbieter auf die gleiche Weise wie der 500-Fehler oben. Ein 529 ist nicht Ihr Nutzungslimit und wird nicht gegen Ihr Kontingent angerechnet.134Der abschließende Satz variiert je nach Anbieter auf die gleiche Weise wie der 500-Fehler oben.

135 

136Ein 529 ist nicht Ihr Nutzungslimit und wird nicht gegen Ihr Kontingent angerechnet.

119 137 

120**Was zu tun ist:**138**Was zu tun ist:**

121 139 


142* Wenn ein langsames Netzwerk oder Proxy die Ursache ist, erhöhen Sie `API_TIMEOUT_MS` wie in [Automatische Wiederholungen](#automatic-retries) beschrieben160* Wenn ein langsames Netzwerk oder Proxy die Ursache ist, erhöhen Sie `API_TIMEOUT_MS` wie in [Automatische Wiederholungen](#automatic-retries) beschrieben

143* Wenn Timeouts häufig sind und Ihr Netzwerk ansonsten gesund ist, siehe [Netzwerk- und Verbindungsfehler](#network-and-connection-errors) unten161* Wenn Timeouts häufig sind und Ihr Netzwerk ansonsten gesund ist, siehe [Netzwerk- und Verbindungsfehler](#network-and-connection-errors) unten

144 162 

163<h3 id="the-response-above-may-be-incomplete">

164 The response above may be incomplete

165</h3>

166 

167Eine Streaming-Antwort ist fehlgeschlagen, nachdem Claude bereits sichtbare Ausgabe erzeugt hatte. Das erneute Senden der Anfrage könnte die gleichen Tool-Aufrufe zweimal ausführen, daher behält Claude Code das bei, was bereits gestreamt wurde, und fügt stattdessen diese Benachrichtigung an. Welche Variante Sie sehen, benennt die Ursache:

168 

169```text theme={null}

170API Error: Server error mid-response. The response above may be incomplete.

171API Error: Connection closed mid-response. The response above may be incomplete.

172API Error: Response stalled mid-stream. The response above may be incomplete.

173```

174 

175* {/* min-version: 2.1.199 */}}`Server error mid-response`: ein Mid-Stream-Überlastungs- oder 5xx-Serverfehler. Diese Variante erfordert Claude Code v2.1.199 oder später; davor verwarf dieser Fall die Teilausgabe und meldete den gesamten Turn als Fehler.

176* `Connection closed mid-response`: die Verbindung wurde unterbrochen.

177* `Response stalled mid-stream`: der Stream hat aufgehört, Daten zu senden.

178 

179**Was zu tun ist:**

180 

181* Lesen Sie die Antwort, die gestreamt wurde. Nichts ist verloren gegangen, aber die letzten Sätze oder Tool-Aufrufe könnten fehlen.

182* Antworten Sie mit `continue`, damit Claude dort weitermacht, wo es aufgehört hat

183* Wenn der gleiche Fehler vor sichtbarer Ausgabe angezeigt wird, wiederholt Claude Code die Anfrage, anstatt sie abzuschließen. Siehe [Automatische Wiederholungen](#automatic-retries).

184 

145<h3 id="auto-mode-cannot-determine-the-safety-of-an-action">185<h3 id="auto-mode-cannot-determine-the-safety-of-an-action">

146 Auto mode cannot determine the safety of an action186 Auto mode cannot determine the safety of an action

147</h3>187</h3>


198* Genehmigen oder lehnen Sie die Aktion in der angezeigten Aufforderung ab238* Genehmigen oder lehnen Sie die Aktion in der angezeigten Aufforderung ab

199* Führen Sie `/compact` aus, um die Konversationsgröße zu reduzieren, damit nachfolgende Aktionen wieder in das Klassifizierer-Fenster passen239* Führen Sie `/compact` aus, um die Konversationsgröße zu reduzieren, damit nachfolgende Aktionen wieder in das Klassifizierer-Fenster passen

200 240 

241<h3 id="agent-terminated-early-due-to-an-api-error">

242 Agent terminated early due to an API error

243</h3>

244 

245{/* min-version: 2.1.199 */}Eine [Subagenten](/de/sub-agents)-API-Anfrage ist terminal fehlgeschlagen, zum Beispiel weil ein Nutzungslimit erreicht wurde oder Wiederholungen für einen Serverfehler aufgebraucht wurden, daher hat der Subagent vor Abschluss seiner Aufgabe gestoppt. Diese Meldung erfordert Claude Code v2.1.199 oder später; davor wurde der API-Fehlertext an Claude zurückgegeben, als wäre er das Ergebnis des Subagenten.

246 

247```text theme={null}

248Agent terminated early due to an API error: <error detail>

249```

250 

251**Was zu tun ist:**

252 

253* Ordnen Sie das Fehlerdetail nach dem Doppelpunkt seinem eigenen Abschnitt auf dieser Seite zu, wie [Nutzungslimits](#usage-limits) oder [Serverfehler](#server-errors), und folgen Sie den Schritten dieses Abschnitts

254* Sobald der zugrunde liegende Fehler behoben ist, bitten Sie Claude, die Aufgabe zu wiederholen oder [den Subagenten fortzusetzen](/de/sub-agents#resume-subagents)

255 

256Wenn ein Ratenlimit, eine Überlastung oder ein Serverfehler einen Vordergrund-Subagenten unterbricht, der bereits Ausgabe erzeugt hat, erhält Claude diese Teilausgabe, die als unvollständig markiert ist, anstelle dieses Fehlers. Siehe [API-Fehler in Subagenten](/de/sub-agents#api-errors-in-subagents).

257 

201<h2 id="usage-limits">258<h2 id="usage-limits">

202 Nutzungslimits259 Nutzungslimits

203</h2>260</h2>


205Diese 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.262Diese 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.

206 263 

207<h3 id="you’ve-hit-your-session-limit">264<h3 id="you’ve-hit-your-session-limit">

208 Sie haben Ihr Sitzungslimit erreicht265 You've hit your session limit

209</h3>266</h3>

210 267 

211Abonnementpläne enthalten ein rollendes Nutzungskontingent. Wenn es aufgebraucht ist, sehen Sie eine dieser Meldungen:268Abonnementpläne enthalten ein rollendes Nutzungskontingent. Wenn es aufgebraucht ist, sehen Sie eine dieser Meldungen:


228Um 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.285Um 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.

229 286 

230<h3 id="usage-credits-required-for-1m-context">287<h3 id="usage-credits-required-for-1m-context">

231 Nutzungsguthaben erforderlich für 1M-Kontext288 Usage credits required for 1M context

232</h3>289</h3>

233 290 

234Das ausgewählte Modell verwendet das 1M-Token-Fenster mit erweitertem Kontext, und Ihr Plan enthält es nur über Nutzungsguthaben.291Das ausgewählte Modell verwendet das 1M-Token-Fenster mit erweitertem Kontext, und Ihr Plan enthält es nur über Nutzungsguthaben.


249* Um 1M-Varianten vollständig aus dem Modellwähler zu entfernen, setzen Sie [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/de/env-vars)306* Um 1M-Varianten vollständig aus dem Modellwähler zu entfernen, setzen Sie [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/de/env-vars)

250 307 

251<h3 id="server-is-temporarily-limiting-requests">308<h3 id="server-is-temporarily-limiting-requests">

252 Der Server drosselt Anfragen vorübergehend309 Server is temporarily limiting requests

253</h3>310</h3>

254 311 

255Die API hat eine kurzfristige Drosselung angewendet, die nicht mit Ihrem Plankontingent zusammenhängt.312Die API hat eine kurzfristige Drosselung angewendet, die nicht mit Ihrem Plankontingent zusammenhängt.


258API Error: Server is temporarily limiting requests (not your usage limit)315API Error: Server is temporarily limiting requests (not your usage limit)

259```316```

260 317 

261Dies wird [automatisch wiederholt](#automatic-retries), bevor es angezeigt wird.318Claude Code unterscheidet diese von Ihrem Planlimit durch das Fehlen der einheitlichen Quota-Header, die eine echte Limit-Antwort trägt. {/* min-version: 2.1.199 */}Ab v2.1.199 wird dies [automatisch wiederholt](#automatic-retries) mit Backoff, bevor es angezeigt wird, unabhängig davon, wie Sie sich authentifizieren. In früheren Versionen schlugen Sitzungen, die mit einem claude.ai-Abonnement angemeldet waren, beim ersten Auftreten fehl; nur API-Schlüssel- und Enterprise-Anmeldungen wiederholten es.

262 319 

263**Was zu tun ist:**320**Was zu tun ist:**

264 321 


266* Überprüfen Sie [status.claude.com](https://status.claude.com), wenn es weiterhin auftritt323* Überprüfen Sie [status.claude.com](https://status.claude.com), wenn es weiterhin auftritt

267 324 

268<h3 id="request-rejected-429">325<h3 id="request-rejected-429">

269 Anfrage abgelehnt (429)326 Request rejected (429)

270</h3>327</h3>

271 328 

272Sie haben das für Ihren API-Schlüssel, Ihr Amazon Bedrock-Projekt oder Ihr Google Vertex AI-Projekt konfigurierte Ratenlimit erreicht.329Sie haben das für Ihren API-Schlüssel, Ihr Amazon Bedrock-Projekt oder Ihr Google Vertex AI-Projekt konfigurierte Ratenlimit erreicht.


285* 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äufe342* 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

286 343 

287<h3 id="credit-balance-is-too-low">344<h3 id="credit-balance-is-too-low">

288 Guthabensaldo ist zu niedrig345 Credit balance is too low

289</h3>346</h3>

290 347 

291Ihre Console-Organisation hat keine vorausbezahlten Guthaben mehr.348Ihre Console-Organisation hat keine vorausbezahlten Guthaben mehr.


414Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access471Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access

415```472```

416 473 

417Dies ist eine serverseitige Organisationseinstellung, daher kann sie nicht durch lokale Einstellungen, Umgebungsvariablen oder CLI-Flags überschrieben werden. Das Agent SDK und der nicht-interaktive Modus `-p` zeigen dies als Fehlercode `oauth_org_not_allowed` an.474Dies ist eine serverseitige Organisationseinstellung, daher kann sie nicht durch lokale Einstellungen, Umgebungsvariablen oder CLI-Flags überschrieben werden.

475 

476Das Agent SDK und `-p` nicht-interaktiver Modus zeigen dies als Fehlercode `oauth_org_not_allowed` an.

418 477 

419**Was zu tun ist:**478**Was zu tun ist:**

420 479 


489 548 

490* Führen Sie `/login` aus, um einen neuen Token mit den aktuellen Umfängen zu erstellen. Sie müssen sich nicht zuerst abmelden.549* Führen Sie `/login` aus, um einen neuen Token mit den aktuellen Umfängen zu erstellen. Sie müssen sich nicht zuerst abmelden.

491 550 

551<h3 id="aws-credentials-expired-or-invalid">

552 AWS credentials expired or invalid

553</h3>

554 

555{/* min-version: 2.1.198 */}Diese Meldung erfordert Claude Code v2.1.198 oder später und wird nur angezeigt, wenn [`awsAuthRefresh`](/de/amazon-bedrock#advanced-credential-configuration) in Ihrer Einstellungsdatei gesetzt ist. Ihr AWS-Sitzungstoken ist abgelaufen oder wurde abgelehnt, und die automatische Aktualisierung, die Claude Code bereits ausgeführt hat, hat keine Anmeldeinformation erzeugt, die die API akzeptiert. Sie wird auf einem 401 von [Claude Platform auf AWS](/de/claude-platform-on-aws) oder dem [Mantle-Endpunkt](/de/amazon-bedrock#use-the-mantle-endpoint) angezeigt, was ist, wie diese Anbieter ein abgelaufenes Sicherheitstoken melden.

556 

557Der Aktionshinweis in der Mitte benennt den `awsAuthRefresh` Befehl aus Ihren Einstellungen, daher variiert er. Der stabile Teil ist der führende `AWS credentials expired or invalid`:

558 

559```text theme={null}

560AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...

561```

562 

563Ohne `awsAuthRefresh` konfiguriert, zeigt der gleiche 401 stattdessen die generische `Please run /login` Nachricht, die AWS-Anmeldeinformationen nicht aktualisieren kann.

564 

565**Was zu tun ist:**

566 

567* Führen Sie den `awsAuthRefresh` Befehl aus, der in der Nachricht benannt ist, wie `aws sso login --profile myprofile`, in einem anderen Terminal aus und schließen Sie die Browser-Anmeldung ab, dann versuchen Sie es erneut

568* In einer interaktiven Sitzung führen Sie `/login` aus, wählen Sie **3rd-party platform**, dann wählen Sie **Claude Platform on AWS · refresh credentials** unter **Using 3rd-party platforms**, um den gleichen Befehl auszuführen, ohne Claude Code neu zu starten. Siehe [AWS-Anmeldeinformationen konfigurieren](/de/claude-platform-on-aws#1-configure-aws-credentials)

569* Wenn der Fehler nach dem erfolgreichen Ausführen des Aktualisierungsbefehls wiederholt wird, bestätigen Sie, dass die Identität außerhalb von Claude Code mit `aws sts get-caller-identity` in der gleichen Shell und dem gleichen Profil gültig ist

570 

571<h3 id="aws-authentication-failed">

572 AWS authentication failed

573</h3>

574 

575{/* min-version: 2.1.198 */}Diese Meldung erfordert Claude Code v2.1.198 oder später und wird nur angezeigt, wenn [`awsAuthRefresh`](/de/amazon-bedrock#advanced-credential-configuration) in Ihrer Einstellungsdatei gesetzt ist. Ihr AWS-Anbieter hat einen 403 zurückgegeben, oder [Amazon Bedrock](/de/amazon-bedrock) hat einen 401 zurückgegeben.

576 

577Claude Code kann nicht sagen, welche Ursache Sie treffen. Amazon Bedrock meldet ein abgelaufenes Sicherheitstoken als 403, aber ein 403 ist auch, wie es eine Autorisierungsverweigerung meldet, wie eine `AccessDeniedException` von einer fehlenden IAM-Berechtigung oder einem Modell, das nicht für Ihr Konto aktiviert ist.

578 

579Ein 401 von Amazon Bedrock landet auch hier statt unter [AWS credentials expired or invalid](#aws-credentials-expired-or-invalid), weil Bedrock ein abgelaufenes Token nicht als 401 meldet. Ein 401 von diesem Endpunkt kommt normalerweise von etwas anderem im Anfragepfad, wie ein Unternehmens-Proxy.

580 

581Eine Anmeldeinformations-Aktualisierung behebt ein abgelaufenes Token und kann die anderen Ursachen nicht beheben, daher bietet die Nachricht beide:

582 

583```text theme={null}

584AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...

585```

586 

587Der Aktionshinweis in der Mitte benennt den `awsAuthRefresh` Befehl aus Ihren Einstellungen, daher variiert er. Der stabile Teil ist der führende `AWS authentication failed`.

588 

589**Was zu tun ist:**

590 

591* Führen Sie den `awsAuthRefresh` Befehl aus, der in der Nachricht benannt ist, oder `aws sso login`, falls ein abgelaufenes Anmeldeinformationen die Ursache ist

592* Wenn Ihre Anmeldeinformationen aktuell sind, bestätigen Sie die IAM-Berechtigungen in [IAM-Konfiguration](/de/amazon-bedrock#iam-configuration) sind an die Identität angehängt, die Sie verwenden, und dass das ausgewählte Modell für Ihr Konto und Ihre Region aktiviert ist

593* Führen Sie `aws sts get-caller-identity` aus, um zu bestätigen, welche Identität Ihre Anfragen verwenden; ein veraltetes `AWS_PROFILE` oder Standardprofil ist eine häufige Ursache für einen Berechtigungsmismatch

594 

492<h2 id="network-and-connection-errors">595<h2 id="network-and-connection-errors">

493 Netzwerk- und Verbindungsfehler596 Netzwerk- und Verbindungsfehler

494</h2>597</h2>


537Unable to connect to API: Self-signed certificate detected640Unable to connect to API: Self-signed certificate detected

538```641```

539 642 

643{/* min-version: 2.1.199 */}Ab v2.1.199 wird ein Zertifikatvalidierungsfehler nicht wiederholt, daher wird dieser Fehler beim ersten Versuch angezeigt, anstatt nach dem vollständigen [Wiederholungsbudget](#automatic-retries). Frühere Versionen verbrachten ein paar Minuten damit, zu wiederholen, bevor es angezeigt wurde. Vorübergehende TLS-Bedingungen, wie ein Handshake-Timeout, werden weiterhin wiederholt.

644 

645Während `/login` und der Startup-Konnektivitätsprüfung wird der gleiche Fehler mit dem OpenSSL-Code und der Behebung inline gemeldet:

646 

647```text theme={null}

648SSL certificate error (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). If you are behind a corporate proxy or TLS-intercepting firewall, set NODE_EXTRA_CA_CERTS to your CA bundle path, or ask IT to allowlist *.anthropic.com. Run /doctor for details.

649```

650 

540**Was zu tun ist:**651**Was zu tun ist:**

541 652 

542* Exportieren Sie das CA-Bundle Ihrer Organisation und zeigen Sie Claude Code mit `NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem` darauf653* Exportieren Sie das CA-Bundle Ihrer Organisation und zeigen Sie Claude Code mit `NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem` darauf


823* 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.934* 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.

824* 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.935* 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.

825 936 

937<h2 id="command-line-errors">

938 Command-line errors

939</h2>

940 

941Diese Fehler stammen von Claude Codes eigener Validierung der `claude` Befehlszeile. Claude Code gibt sie sofort aus, bevor es eine Sitzung erstellt oder eine API-Anfrage sendet.

942 

943<h3 id="conflict-between-bg-and-print">

944 Conflict between --bg and --print

945</h3>

946 

947Diese Meldung erfordert Claude Code v2.1.198 oder später. Sie haben `--bg` mit `-p` oder `--print` in der gleichen `claude` Invokation kombiniert. `--bg` startet eine [Hintergrundsitzung](/de/agent-view#from-your-shell), die Sie später mit `claude agents` anhängen, während `--print` [nicht-interaktiv](/de/headless) ausgeführt wird und nie die interaktive Sitzung startet, die `claude agents` anhängt. Vor v2.1.198 erstellte diese Kombination stillschweigend einen Background-Job, der nie angehängt werden konnte.

948 

949```text theme={null}

950--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.

951```

952 

953**Was zu tun ist:**

954 

955* Lassen Sie `-p` oder `--print` weg. `--bg` nimmt den Prompt als sein Positions-Argument, daher ist `claude --bg "<task>"` der vollständige Befehl. Siehe [Dispatch new agents from your shell](/de/agent-view#from-your-shell).

956* Um den Prompt nicht-interaktiv auszuführen und das Ergebnis auszudrucken, anstatt eine Hintergrundsitzung zu erstellen, lassen Sie `--bg` weg und führen Sie `claude -p "<task>"` aus

957 

826<h2 id="responses-seem-lower-quality-than-usual">958<h2 id="responses-seem-lower-quality-than-usual">

827 Responses seem lower quality than usual959 Responses seem lower quality than usual

828</h2>960</h2>


847Wenn 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.979Wenn 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.

848 980 

849<h2 id="report-an-error">981<h2 id="report-an-error">

850 Fehler melden982 Report an error

851</h2>983</h2>

852 984 

853Diese Seite behandelt Fehler von der Claude API. Für Fehler von anderen Claude Code-Komponenten siehe das relevante Handbuch:985Für Fehler von Komponenten, die diese Seite nicht abdeckt, siehe das relevante Handbuch:

854 986 

855* MCP-Server konnte sich nicht verbinden oder authentifizieren: [MCP](/de/mcp)987* MCP-Server konnte sich nicht verbinden oder authentifizieren: [MCP](/de/mcp)

856* Hook-Skript ist fehlgeschlagen oder hat ein Tool blockiert: [Debug hooks](/de/hooks#debug-hooks)988* Hook-Skript ist fehlgeschlagen oder hat ein Tool blockiert: [Debug hooks](/de/hooks#debug-hooks)

fullscreen.md +2 −2

Details

58* **Klicken Sie auf einen Vorschlag in der `/`-Befehlsliste oder `@`-Dateiliste**, um ihn zu akzeptieren. Das Hovern hebt die Zeile unter Ihrem Cursor hervor.58* **Klicken Sie auf einen Vorschlag in der `/`-Befehlsliste oder `@`-Dateiliste**, um ihn zu akzeptieren. Das Hovern hebt die Zeile unter Ihrem Cursor hervor.

59* **Klicken Sie auf eine Option in einem Auswahlmenü**, um sie auszuwählen. Dies umfasst Berechtigungsaufforderungen, `/model`, `/config` und andere Dialoge, die eine Liste von Optionen anzeigen. Das Hovern zeigt einen Zeiger auf der Zeile unter Ihrem Cursor. Erfordert Claude Code v2.1.187 oder später.59* **Klicken Sie auf eine Option in einem Auswahlmenü**, um sie auszuwählen. Dies umfasst Berechtigungsaufforderungen, `/model`, `/config` und andere Dialoge, die eine Liste von Optionen anzeigen. Das Hovern zeigt einen Zeiger auf der Zeile unter Ihrem Cursor. Erfordert Claude Code v2.1.187 oder später.

60* **Klicken Sie auf ein eingeklapptes Tool-Ergebnis**, um es zu erweitern und die vollständige Ausgabe anzuzeigen. Klicken Sie erneut, um es zu reduzieren. Der Tool-Aufruf und sein Ergebnis werden zusammen erweitert. Nur Nachrichten, die mehr zu zeigen haben, sind anklickbar.60* **Klicken Sie auf ein eingeklapptes Tool-Ergebnis**, um es zu erweitern und die vollständige Ausgabe anzuzeigen. Klicken Sie erneut, um es zu reduzieren. Der Tool-Aufruf und sein Ergebnis werden zusammen erweitert. Nur Nachrichten, die mehr zu zeigen haben, sind anklickbar.

61* **Halten Sie `Cmd` auf macOS oder `Ctrl` auf Linux und Windows und klicken Sie auf eine URL oder einen Dateipfad**, um ihn zu öffnen. Dateipfade in der Tool-Ausgabe, wie die nach einem Edit oder Write gedruckten, öffnen sich in Ihrer Standardanwendung. Einfache `http://` und `https://` URLs öffnen sich in Ihrem Browser. Ab v2.1.181 öffnet ein einfacher Klick ohne Halten von `Cmd` oder `Ctrl` keine Links mehr, was dem nativen Terminal-Verhalten entspricht. Im VS Code integrierten Terminal und ähnlichen xterm.js-basierten Terminals überlässt Claude Code den Link-Handler des Terminals, der die gleiche Geste verwendet.61* **Halten Sie `Cmd` auf macOS oder `Ctrl` auf Linux und Windows und klicken Sie auf eine URL oder einen Dateipfad**, um ihn zu öffnen. Dateipfade in der Tool-Ausgabe, wie die nach einem Edit oder Write gedruckten, öffnen sich in Ihrer Standardanwendung. Einfache `http://` und `https://` URLs öffnen sich in Ihrem Browser. Ab v2.1.181 öffnet ein einfacher Klick ohne Halten von `Cmd` oder `Ctrl` keine Links mehr, was dem nativen Terminal-Verhalten entspricht. Einige macOS-Terminals leiten `Cmd`+Klick an die laufende Anwendung weiter, anstatt den Link selbst zu öffnen, und das Terminal-Mausprotokoll hat keine Möglichkeit, die `Cmd`-Taste zu kodieren, daher empfängt Claude Code es als einfachen Klick. In Ghostty und ab v2.1.198 in Warp auf macOS erkennt Claude Code dies und ermöglicht es, dass ein einfacher Klick auf einen Link ihn öffnet, und das Halten von `Cmd` funktioniert immer noch. Im VS Code integrierten Terminal und ähnlichen xterm.js-basierten Terminals überlässt Claude Code den Link-Handler des Terminals, der die gleiche Geste verwendet.

62* **Klicken und ziehen** Sie, um Text überall im Gespräch auszuwählen. Doppelklick wählt ein Wort aus und entspricht iTerm2s Wortgrenzen, sodass ein Dateipfad als eine Einheit ausgewählt wird. Dreifachklick wählt die Zeile aus.62* **Klicken und ziehen** Sie, um Text überall im Gespräch auszuwählen. Doppelklick wählt ein Wort aus und entspricht iTerm2s Wortgrenzen, sodass ein Dateipfad als eine Einheit ausgewählt wird. Ab v2.1.198 wählt Doppelklick auf eine URL die gesamte URL aus, einschließlich des Schemas. Dreifachklick wählt die Zeile aus.

63* **Scrollen Sie mit dem Mausrad**, um sich durch das Gespräch zu bewegen.63* **Scrollen Sie mit dem Mausrad**, um sich durch das Gespräch zu bewegen.

64 64 

65Ausgewählter Text wird beim Loslassen der Maus automatisch in Ihre Zwischenablage kopiert. Um dies auszuschalten, schalten Sie „Beim Auswählen kopieren" in `/config` um. Wenn es ausgeschaltet ist, drücken Sie `Ctrl+Shift+c`, um manuell zu kopieren. Auf Terminals, die das Kitty-Tastaturprotokoll unterstützen, wie Kitty, WezTerm, Ghostty und iTerm2, funktioniert auch `Cmd+c`. Wenn Sie eine Auswahl aktiv haben, kopiert `Ctrl+c` statt zu stornieren.65Ausgewählter Text wird beim Loslassen der Maus automatisch in Ihre Zwischenablage kopiert. Um dies auszuschalten, schalten Sie „Beim Auswählen kopieren" in `/config` um. Wenn es ausgeschaltet ist, drücken Sie `Ctrl+Shift+c`, um manuell zu kopieren. Auf Terminals, die das Kitty-Tastaturprotokoll unterstützen, wie Kitty, WezTerm, Ghostty und iTerm2, funktioniert auch `Cmd+c`. Wenn Sie eine Auswahl aktiv haben, kopiert `Ctrl+c` statt zu stornieren.

gateways.md +1 −1

Details

44 Claude-Apps-Gateway44 Claude-Apps-Gateway

45</h3>45</h3>

46 46 

47Claude-Apps-Gateway ist Anthropics selbstgehostetes Gateway, das in der `claude`-Binärdatei enthalten ist. Es leitet zu Amazon Bedrock, Google Cloud, Microsoft Foundry oder der Anthropic API als Upstream weiter. Entwickler melden sich über `/login` mit Ihrem Unternehmensidentitätsanbieter an, das Gateway erzwingt Modellzugriff und [verwaltete Einstellungen](/de/permissions#managed-settings) nach IdP-Gruppe, und es gibt [OpenTelemetry Protocol (OTLP)](/de/monitoring-usage)-Nutzungsmetriken an Ihren eigenen Observability-Stack aus.47Claude-Apps-Gateway ist Anthropics selbstgehostetes Gateway, das in der `claude`-Binärdatei enthalten ist. Es leitet zu Amazon Bedrock, Claude Platform auf AWS, Google Cloud, Microsoft Foundry oder der Anthropic API als Upstream weiter. Entwickler melden sich über `/login` mit Ihrem Unternehmensidentitätsanbieter an, das Gateway erzwingt Modellzugriff und [verwaltete Einstellungen](/de/permissions#managed-settings) nach IdP-Gruppe, und es gibt [OpenTelemetry Protocol (OTLP)](/de/monitoring-usage)-Nutzungsmetriken an Ihren eigenen Observability-Stack aus.

48 48 

49Da es zusammen mit jeder Claude Code-Version erstellt und getestet wird, leitet es die Header und Anfragfelder weiter, die Claude Code sendet. Ein separat verwaltetes Gateway muss seine [Weiterleitungsregeln aktualisieren](/de/llm-gateway-protocol#forward-as-open-lists), wenn sich diese Header und Felder mit jeder Version ändern; Claude-Apps-Gateway wird mit der CLI veröffentlicht, sodass es keine Liste gibt, die aktuell gehalten werden muss. Siehe [Verfügbarkeit und Einschränkungen](/de/claude-apps-gateway#availability-and-limitations) für die kleine Menge von Funktionen, die sich in einer Gateway-Sitzung unterschiedlich verhalten.49Da es zusammen mit jeder Claude Code-Version erstellt und getestet wird, leitet es die Header und Anfragfelder weiter, die Claude Code sendet. Ein separat verwaltetes Gateway muss seine [Weiterleitungsregeln aktualisieren](/de/llm-gateway-protocol#forward-as-open-lists), wenn sich diese Header und Felder mit jeder Version ändern; Claude-Apps-Gateway wird mit der CLI veröffentlicht, sodass es keine Liste gibt, die aktuell gehalten werden muss. Siehe [Verfügbarkeit und Einschränkungen](/de/claude-apps-gateway#availability-and-limitations) für die kleine Menge von Funktionen, die sich in einer Gateway-Sitzung unterschiedlich verhalten.

50 50 

hooks.md +82 −46

Details

16 Hook-Lebenszyklus16 Hook-Lebenszyklus

17</h2>17</h2>

18 18 

19Hooks werden an bestimmten Punkten während einer Claude Code-Sitzung ausgelöst. Wenn ein Ereignis ausgelöst wird und ein Matcher passt, übergibt Claude Code JSON-Kontext über das Ereignis an Ihren Hook-Handler. Für Command-Hooks kommt die Eingabe über stdin an. Für HTTP-Hooks kommt sie als POST-Request-Body an. Ihr Handler kann dann die Eingabe überprüfen, Maßnahmen ergreifen und optional eine Entscheidung zurückgeben. Ereignisse fallen in drei Rhythmen: einmal pro Sitzung (`SessionStart`, `SessionEnd`), einmal pro Runde (`UserPromptSubmit`, `Stop`, `StopFailure`) und bei jedem Tool-Aufruf innerhalb der agentengesteuerten Schleife (`PreToolUse`, `PostToolUse`):19Hooks werden an bestimmten Punkten während einer Claude Code-Sitzung ausgelöst. Wenn ein Ereignis ausgelöst wird und ein Matcher passt, übergibt Claude Code JSON-Kontext über das Ereignis an Ihren Hook-Handler. Für Command-Hooks kommt die Eingabe über stdin an. Für HTTP-Hooks kommt sie als POST-Request-Body an. Ihr Handler kann dann die Eingabe überprüfen, Maßnahmen ergreifen und optional eine Entscheidung zurückgeben.

20 

21Ereignisse fallen in drei Rhythmen:

22 

23* einmal pro Sitzung: `SessionStart` und `SessionEnd`

24* einmal pro Runde: `UserPromptSubmit`, `Stop` und `StopFailure`

25* bei jedem Tool-Aufruf innerhalb der agentengesteuerten Schleife: `PreToolUse` und `PostToolUse`

20 26 

21<div style={{maxWidth: "500px", margin: "0 auto"}}>27<div style={{maxWidth: "500px", margin: "0 auto"}}>

22 <Frame>28 <Frame>


214| `SessionStart` | Wie die Sitzung gestartet wurde | `startup`, `resume`, `clear`, `compact` |220| `SessionStart` | Wie die Sitzung gestartet wurde | `startup`, `resume`, `clear`, `compact` |

215| `Setup` | Welches CLI-Flag das Setup ausgelöst hat | `init`, `maintenance` |221| `Setup` | Welches CLI-Flag das Setup ausgelöst hat | `init`, `maintenance` |

216| `SessionEnd` | Warum die Sitzung endete | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |222| `SessionEnd` | Warum die Sitzung endete | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |

217| `Notification` | Benachrichtigungstyp | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response` |223| `Notification` | Benachrichtigungstyp | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed` |

218| `SubagentStart` | Agent-Typ | `general-purpose`, `Explore`, `Plan`, benutzerdefinierte Agent-Namen oder Plugin-bezogene Namen wie `^my-plugin:reviewer$` |224| `SubagentStart` | Agent-Typ | `general-purpose`, `Explore`, `Plan`, benutzerdefinierte Agent-Namen oder Plugin-bezogene Namen wie `^my-plugin:reviewer$` |

219| `PreCompact`, `PostCompact` | Was die Komprimierung ausgelöst hat | `manual`, `auto` |225| `PreCompact`, `PostCompact` | Was die Komprimierung ausgelöst hat | `manual`, `auto` |

220| `SubagentStop` | Agent-Typ | gleiche Werte wie `SubagentStart` |226| `SubagentStop` | Agent-Typ | gleiche Werte wie `SubagentStart` |


317 323 

318Alle 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.324Alle 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.

319 325 

320Handler 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.326Handler 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. {/* min-version: 2.1.199 */}Ab v2.1.199 wird [`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/de/env-vars) auf die [Remote Control](/de/remote-control) Sitzungs-ID gesetzt, während die lokale Sitzung eine aktive Remote Control-Verbindung hat.

321 327 

322<h4 id="common-fields">328<h4 id="common-fields">

323 Gemeinsame Felder329 Gemeinsame Felder


704Exit-Code 2 ist die Art, wie ein Hook signalisiert „Stopp, mach das nicht." Die Auswirkung hängt vom Ereignis ab, da einige Ereignisse Aktionen darstellen, die blockiert werden können (wie ein Tool-Aufruf, der noch nicht stattgefunden hat), und andere Dinge darstellen, die bereits passiert sind oder nicht verhindert werden können.710Exit-Code 2 ist die Art, wie ein Hook signalisiert „Stopp, mach das nicht." Die Auswirkung hängt vom Ereignis ab, da einige Ereignisse Aktionen darstellen, die blockiert werden können (wie ein Tool-Aufruf, der noch nicht stattgefunden hat), und andere Dinge darstellen, die bereits passiert sind oder nicht verhindert werden können.

705 711 

706| Hook-Ereignis | Kann blockiert werden? | Was passiert bei Exit 2 |712| Hook-Ereignis | Kann blockiert werden? | Was passiert bei Exit 2 |

707| :-------------------- | :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |713| :-------------------- | :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

708| `PreToolUse` | Ja | Blockiert den Tool-Aufruf |714| `PreToolUse` | Ja | Blockiert den Tool-Aufruf |

709| `PermissionRequest` | Ja | Verweigert die Berechtigung |715| `PermissionRequest` | Ja | Verweigert die Berechtigung |

710| `UserPromptSubmit` | Ja | Blockiert die Prompt-Verarbeitung und löscht den Prompt |716| `UserPromptSubmit` | Ja | Blockiert die Prompt-Verarbeitung und löscht den Prompt |

711| `UserPromptExpansion` | Ja | Blockiert die Erweiterung |717| `UserPromptExpansion` | Ja | Blockiert die Erweiterung |

712| `Stop` | Ja | Verhindert, dass Claude stoppt, setzt das Gespräch fort |718| `Stop` | Ja | Verhindert, dass Claude stoppt, setzt das Gespräch fort |

713| `SubagentStop` | Ja | Verhindert, dass der Subagent stoppt |719| `SubagentStop` | Ja | Verhindert, dass der Subagent stoppt |

714| `TeammateIdle` | Ja | Verhindert, dass der Teammate untätig wird (Teammate arbeitet weiter) |720| `TeammateIdle` | Ja | Verhindert, dass der Teammate untätig wird, sodass er weiterarbeitet |

715| `TaskCreated` | Ja | Rollback der Aufgabenerstellung |721| `TaskCreated` | Ja | Rollback der Aufgabenerstellung |

716| `TaskCompleted` | Ja | Verhindert, dass die Aufgabe als abgeschlossen markiert wird |722| `TaskCompleted` | Ja | Verhindert, dass die Aufgabe als abgeschlossen markiert wird |

717| `ConfigChange` | Ja | Blockiert die Konfigurationsänderung von der Anwendung (außer `policy_settings`) |723| `ConfigChange` | Ja | Blockiert die Konfigurationsänderung von der Anwendung (außer `policy_settings`) |

718| `StopFailure` | Nein | Ausgabe und Exit-Code werden ignoriert |724| `StopFailure` | Nein | Ausgabe und Exit-Code werden ignoriert |

719| `PostToolUse` | Nein | Zeigt stderr Claude an (Tool wurde bereits ausgeführt) |725| `PostToolUse` | Nein | Zeigt stderr Claude an; das Tool wurde bereits ausgeführt |

720| `PostToolUseFailure` | Nein | Zeigt stderr Claude an (Tool ist bereits fehlgeschlagen) |726| `PostToolUseFailure` | Nein | Zeigt stderr Claude an; das Tool ist bereits fehlgeschlagen |

721| `PostToolBatch` | Ja | Stoppt die agentengesteuerte Schleife vor dem nächsten Modellaufruf |727| `PostToolBatch` | Ja | Stoppt die agentengesteuerte Schleife vor dem nächsten Modellaufruf |

722| `PermissionDenied` | Nein | Exit-Code und stderr werden ignoriert (Ablehnung ist bereits erfolgt). Verwenden Sie JSON `hookSpecificOutput.retry: true`, um dem Modell zu sagen, dass es möglicherweise erneut versuchen kann |728| `PermissionDenied` | Nein | Exit-Code und stderr werden ignoriert, da die Ablehnung bereits erfolgt ist. Verwenden Sie JSON `hookSpecificOutput.retry: true`, um dem Modell zu sagen, dass es möglicherweise erneut versuchen kann |

723| `Notification` | Nein | Zeigt stderr nur dem Benutzer an |729| `Notification` | Nein | Zeigt stderr nur dem Benutzer an |

724| `SubagentStart` | Nein | Zeigt stderr nur dem Benutzer an |730| `SubagentStart` | Nein | Zeigt stderr nur dem Benutzer an |

725| `SessionStart` | Nein | Zeigt stderr nur dem Benutzer an |731| `SessionStart` | Nein | Zeigt stderr nur dem Benutzer an |


736| `InstructionsLoaded` | Nein | Exit-Code wird ignoriert |742| `InstructionsLoaded` | Nein | Exit-Code wird ignoriert |

737| `MessageDisplay` | Nein | Der ursprüngliche Text wird angezeigt |743| `MessageDisplay` | Nein | Der ursprüngliche Text wird angezeigt |

738 744 

745Für `SessionStart`, `Setup` und `SubagentStart` wird der Exit-Code-2-stderr im Transkript als `<hook name> hook error`-Benachrichtigung dargestellt, auf die gleiche Weise wie ein [nicht-blockierender Fehler](#exit-code-output). Claude sieht ihn nicht, und die Sitzung oder der Subagent wird fortgesetzt. Für `SubagentStart` wird die Benachrichtigung im eigenen Transkript des Subagenten angezeigt, nicht im übergeordneten Gespräch.

746 

747Ab Claude Code v2.1.199 zeigen `SessionStart`, `Setup` und `SubagentStart` Exit-Code-2-stderr im Transkript an. Frühere Versionen schrieben es nur in das Debug-Log.

748 

739<h3 id="http-response-handling">749<h3 id="http-response-handling">

740 HTTP-Response-Behandlung750 HTTP-Response-Behandlung

741</h3>751</h3>


963 SessionStart-Eingabe973 SessionStart-Eingabe

964</h4>974</h4>

965 975 

966Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SessionStart-Hooks `source` und optional `model`, `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.976Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SessionStart-Hooks `source` und optional `model`, `agent_type` und `session_title`:

977 

978| Feld | Beschreibung |

979| :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

980| `source` | Wie die Sitzung gestartet wurde: `"startup"` für neue Sitzungen, `"resume"` für fortgesetzte Sitzungen, `"clear"` nach `/clear` oder `"compact"` nach Komprimierung |

981| `model` | Die aktive Modell-ID. Sie kann weggelassen werden, zum Beispiel nach `/clear` oder wenn eine Sitzung durch Gesprächswiederherstellung wiederhergestellt wird, daher überprüfen Sie das Feld, bevor Sie es lesen |

982| `agent_type` | Der Agent-Name, vorhanden, wenn Sie Claude Code mit `claude --agent <name>` starten |

983| `session_title` | Der aktuelle Sitzungstitel, falls bereits einer gesetzt ist, zum Beispiel über `--name` oder `/rename`. Ein Hook, der `sessionTitle` ausgibt, kann `session_title` zuerst überprüfen, um zu vermeiden, dass ein Titel überschrieben wird, den der Benutzer explizit gesetzt hat |

967 984 

968```json theme={null}985```json theme={null}

969{986{


983Jeder Text, den Ihr Hook-Skript auf stdout ausgibt, wird als Kontext für Claude hinzugefügt. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie diese ereignisspezifischen Felder zurückgeben:1000Jeder Text, den Ihr Hook-Skript auf stdout ausgibt, wird als Kontext für Claude hinzugefügt. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie diese ereignisspezifischen Felder zurückgeben:

984 1001 

985| Feld | Beschreibung |1002| Feld | Beschreibung |

986| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1003| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

987| `additionalContext` | Zeichenkette, die zu Claudes Kontext am Anfang des Gesprächs hinzugefügt wird, vor dem ersten Prompt. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude), um zu erfahren, wie der Text bereitgestellt wird und was Sie darin einfügen sollten |1004| `additionalContext` | Zeichenkette, die zu Claudes Kontext am Anfang des Gesprächs hinzugefügt wird, vor dem ersten Prompt. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude), um zu erfahren, wie der Text bereitgestellt wird und was Sie darin einfügen sollten |

988| `initialUserMessage` | Zeichenkette, die als erste Benutzernachricht der Sitzung verwendet wird. Gilt im [nicht-interaktiven Modus](/de/headless) (`-p`), wo sie zur ersten Runde wird, auch wenn kein Prompt bereitgestellt wird. Wenn ein Prompt bereitgestellt wird, folgt er als nächste Runde. Im Gegensatz zu `additionalContext`, das an eine vorhandene Runde angehängt wird, erstellt dies die Runde |1005| `initialUserMessage` | Zeichenkette, die als erste Benutzernachricht der Sitzung verwendet wird. Gilt im [nicht-interaktiven Modus](/de/headless) mit dem `-p`-Flag, wo sie zur ersten Runde wird, auch wenn kein Prompt bereitgestellt wird. Wenn ein Prompt bereitgestellt wird, folgt er als nächste Runde. Im Gegensatz zu `additionalContext`, das an eine vorhandene Runde angehängt wird, erstellt dies die Runde |

989| `sessionTitle` | Setzt den Sitzungstitel, mit der gleichen Auswirkung wie `/rename`. Verwenden Sie, um Sitzungen automatisch aus dem Start-Ordner, Git-Branch oder Worktree-Namen zu benennen. Gilt nur, wenn `source` `"startup"` oder `"resume"` ist; wird bei `"clear"` und `"compact"` ignoriert |1006| `sessionTitle` | Setzt den Sitzungstitel, mit der gleichen Auswirkung wie `/rename`. Verwenden Sie, um Sitzungen automatisch aus dem Start-Ordner, Git-Branch oder Worktree-Namen zu benennen. Gilt nur, wenn `source` `"startup"` oder `"resume"` ist; wird bei `"clear"` und `"compact"` ignoriert |

990| `watchPaths` | Array von absoluten Pfaden zum Überwachen von [FileChanged](#filechanged)-Ereignissen während dieser Sitzung |1007| `watchPaths` | Array von absoluten Pfaden zum Überwachen von [FileChanged](#filechanged)-Ereignissen während dieser Sitzung |

991| `reloadSkills` | Boolesch. Wenn `true`, scannt Claude Code die [Skill](/de/skills)- und Befehlsverzeichnisse erneut, nachdem die SessionStart-Hooks abgeschlossen sind, damit Skills, die der Hook installiert hat, in der gleichen Sitzung verfügbar sind, beginnend mit dem ersten Prompt |1008| `reloadSkills` | Boolesch. Wenn `true`, scannt Claude Code die [Skill](/de/skills)- und Befehlsverzeichnisse erneut, nachdem die SessionStart-Hooks abgeschlossen sind, damit Skills, die der Hook installiert hat, in der gleichen Sitzung verfügbar sind, beginnend mit dem ersten Prompt |


1062 Setup1079 Setup

1063</h3>1080</h3>

1064 1081 

1065Wird nur ausgelöst, wenn Sie Claude Code mit `--init-only` starten oder mit `--init` oder `--maintenance` im Print-Modus (`-p`). Es wird nicht beim normalen Start ausgelöst. Verwenden Sie es für einmalige Abhängigkeitsinstallation oder geplante Bereinigung, die Sie explizit von CI oder Skripten aus auslösen, getrennt vom normalen Sitzungsstart. Für Initialisierung pro Sitzung verwenden Sie stattdessen [SessionStart](#sessionstart).1082Wird nur ausgelöst, wenn Sie Claude Code mit `--init-only` starten oder mit `--init` oder `--maintenance` im [nicht-interaktiven Modus](/de/headless) mit dem `-p`-Flag. Es wird nicht beim normalen Start ausgelöst. Verwenden Sie es für einmalige Abhängigkeitsinstallation oder geplante Bereinigung, die Sie explizit von CI oder Skripten aus auslösen, getrennt vom normalen Sitzungsstart. Für Initialisierung pro Sitzung verwenden Sie stattdessen [SessionStart](#sessionstart).

1066 1083 

1067Der Matcher-Wert entspricht dem CLI-Flag, das den Hook ausgelöst hat:1084Der Matcher-Wert entspricht dem CLI-Flag, das den Hook ausgelöst hat:

1068 1085 


1071| `init` | `claude --init-only` oder `claude -p --init` |1088| `init` | `claude --init-only` oder `claude -p --init` |

1072| `maintenance` | `claude -p --maintenance` |1089| `maintenance` | `claude -p --maintenance` |

1073 1090 

1074`--init-only` führt Setup-Hooks und SessionStart-Hooks mit dem `startup`-Matcher aus und beendet sich dann, ohne ein Gespräch zu starten. `--init` und `--maintenance` lösen Setup-Hooks nur aus, wenn sie mit `-p` (Print-Modus) kombiniert werden; in einer interaktiven Sitzung lösen diese beiden Flags derzeit keine Setup-Hooks aus.1091`--init-only` führt Setup-Hooks und SessionStart-Hooks mit dem `startup`-Matcher aus und beendet sich dann, ohne ein Gespräch zu starten. `--init` und `--maintenance` lösen Setup-Hooks nur aus, wenn sie mit `-p` kombiniert werden; in einer interaktiven Sitzung lösen diese beiden Flags derzeit keine Setup-Hooks aus.

1075 1092 

1076Da Setup nicht bei jedem Start ausgelöst wird, kann ein Plugin, das eine Abhängigkeit installiert benötigt, sich nicht allein auf Setup verlassen. Das praktische Muster ist, die Abhängigkeit bei der ersten Verwendung zu überprüfen und bei Fehlen zu installieren, zum Beispiel ein Hook oder eine Skill, die auf `${CLAUDE_PLUGIN_DATA}/node_modules` testet und `npm install` ausführt, wenn es fehlt. Siehe das [Verzeichnis für persistente Daten](/de/plugins-reference#persistent-data-directory), um zu erfahren, wo Sie installierte Abhängigkeiten speichern können.1093Da Setup nicht bei jedem Start ausgelöst wird, kann ein Plugin, das eine Abhängigkeit installiert benötigt, sich nicht allein auf Setup verlassen. Das praktische Muster ist, die Abhängigkeit bei der ersten Verwendung zu überprüfen und bei Fehlen zu installieren, zum Beispiel ein Hook oder eine Skill, die auf `${CLAUDE_PLUGIN_DATA}/node_modules` testet und `npm install` ausführt, wenn es fehlt. Siehe das [Verzeichnis für persistente Daten](/de/plugins-reference#persistent-data-directory), um zu erfahren, wo Sie installierte Abhängigkeiten speichern können.

1077 1094 


1095 Setup-Entscheidungskontrolle1112 Setup-Entscheidungskontrolle

1096</h4>1113</h4>

1097 1114 

1098Setup-Hooks können nicht blockieren. Bei Exit-Code 2 wird stderr dem Benutzer angezeigt; bei jedem anderen Nicht-Null-Exit-Code wird stderr nur angezeigt, wenn Sie mit `--verbose` starten. In beiden Fällen wird die Ausführung fortgesetzt. Um Informationen in Claudes Kontext zu übergeben, geben Sie `additionalContext` in der JSON-Ausgabe zurück; einfacher stdout wird nur in das Debug-Protokoll geschrieben. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie diese ereignisspezifischen Felder zurückgeben:1115Setup-Hooks können nicht blockieren. Jeder Nicht-Null-Exit-Code, einschließlich 2, zeigt stderr dem Benutzer als `<hook name> hook error`-Hinweis an, und die Ausführung wird fortgesetzt. Im [nicht-interaktiven Modus](/de/headless) wird Hook-Ausgabe nur angezeigt, wenn Sie mit `--verbose` starten.

1116 

1117Um Informationen in Claudes Kontext zu übergeben, geben Sie `additionalContext` in der JSON-Ausgabe zurück; einfacher stdout wird nur in das Debug-Protokoll geschrieben. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie diese ereignisspezifischen Felder zurückgeben:

1099 1118 

1100| Feld | Beschreibung |1119| Feld | Beschreibung |

1101| :------------------ | :------------------------------------------------------------------------------------------- |1120| :------------------ | :------------------------------------------------------------------------------------------- |


1191* **Plain-Text-stdout**: Jeder Nicht-JSON-Text, der auf stdout geschrieben wird, wird als Kontext hinzugefügt1210* **Plain-Text-stdout**: Jeder Nicht-JSON-Text, der auf stdout geschrieben wird, wird als Kontext hinzugefügt

1192* **JSON mit `additionalContext`**: Verwenden Sie das JSON-Format unten für mehr Kontrolle. Das Feld `additionalContext` wird als Kontext hinzugefügt1211* **JSON mit `additionalContext`**: Verwenden Sie das JSON-Format unten für mehr Kontrolle. Das Feld `additionalContext` wird als Kontext hinzugefügt

1193 1212 

1194Plain-stdout wird als Hook-Ausgabe im Transkript angezeigt. Das Feld `additionalContext` wird diskreter hinzugefügt.1213Plain-stdout wird als Hook-Ausgabe im Transkript angezeigt. Das Feld `additionalContext` wird als Systemerinnerung eingefügt, die Claude ohne sichtbaren Transkript-Eintrag liest.

1195 1214 

1196Um einen Prompt zu blockieren, geben Sie ein JSON-Objekt mit `decision` auf `"block"` zurück:1215Um einen Prompt zu blockieren, geben Sie ein JSON-Objekt mit `decision` auf `"block"` zurück:

1197 1216 


1215}1234}

1216```1235```

1217 1236 

1218<Note>

1219 Das JSON-Format ist nicht erforderlich für einfache Anwendungsfälle. Um Kontext hinzuzufügen, können Sie einfach Plain-Text auf stdout mit Exit-Code 0 ausgeben. Verwenden Sie JSON, wenn Sie Prompts blockieren oder mehr strukturierte Kontrolle benötigen.

1220</Note>

1221 

1222<h3 id="userpromptexpansion">1237<h3 id="userpromptexpansion">

1223 UserPromptExpansion1238 UserPromptExpansion

1224</h3>1239</h3>

1225 1240 

1226Wird ausgeführt, wenn ein vom Benutzer eingegebener Slash-Befehl vor Erreichen von Claude in einen Prompt erweitert wird. Verwenden Sie dies, um bestimmte Befehle von direkter Aufrufe zu blockieren, Kontext für eine bestimmte Skill einzufügen oder zu protokollieren, welche Befehle Benutzer aufrufen. Zum Beispiel kann ein Hook, der `deploy` passt, `/deploy` blockieren, es sei denn, eine Genehmigungsdatei ist vorhanden, oder ein Hook, der eine Review-Skill passt, kann die Review-Checkliste des Teams als `additionalContext` anhängen.1241Wird ausgeführt, wenn ein vom Benutzer eingegebener Befehl in einen Prompt erweitert wird, bevor er Claude erreicht. Verwenden Sie dies, um bestimmte Befehle von direkter Aufrufe zu blockieren, Kontext für eine bestimmte Skill einzufügen oder zu protokollieren, welche Befehle Benutzer aufrufen. Zum Beispiel kann ein Hook, der `deploy` passt, `/deploy` blockieren, es sei denn, eine Genehmigungsdatei ist vorhanden, oder ein Hook, der eine Review-Skill passt, kann die Review-Checkliste des Teams als `additionalContext` anhängen.

1227 1242 

1228Dieses Ereignis deckt den Pfad ab, den `PreToolUse` nicht abdeckt: Ein `PreToolUse`-Hook, der das `Skill`-Tool passt, wird nur ausgelöst, wenn Claude das Tool aufruft, aber das direkte Eingeben von `/skillname` umgeht `PreToolUse`. `UserPromptExpansion` wird auf diesem direkten Pfad ausgelöst.1243Dieses Ereignis deckt den Pfad ab, den `PreToolUse` nicht abdeckt: Ein `PreToolUse`-Hook, der das `Skill`-Tool passt, wird nur ausgelöst, wenn Claude das Tool aufruft, aber das direkte Eingeben von `/skillname` umgeht `PreToolUse`. `UserPromptExpansion` wird auf diesem direkten Pfad ausgelöst.

1229 1244 

1230Passt auf `command_name`. Lassen Sie den Matcher leer, um auf jedem Prompt-Typ-Slash-Befehl zu feuern.1245Passt auf `command_name`. Lassen Sie den Matcher leer, um auf jedem Prompt-Typ-Befehl zu feuern.

1231 1246 

1232<h4 id="userpromptexpansion-input">1247<h4 id="userpromptexpansion-input">

1233 UserPromptExpansion-Eingabe1248 UserPromptExpansion-Eingabe


1258 1273 

1259| Feld | Beschreibung |1274| Feld | Beschreibung |

1260| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |1275| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |

1261| `decision` | `"block"` verhindert die Erweiterung des Slash-Befehls. Weglassen, um ihn fortzusetzen |1276| `decision` | `"block"` verhindert die Erweiterung des Befehls. Weglassen, um ihn fortzusetzen |

1262| `reason` | Wird dem Benutzer angezeigt, wenn `decision` `"block"` ist |1277| `reason` | Wird dem Benutzer angezeigt, wenn `decision` `"block"` ist |

1263| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem erweiterten Prompt hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1278| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem erweiterten Prompt hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

1264 1279 


1545In `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:1560In `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:

1546 1561 

1547| Feld | Typ | Beispiel | Beschreibung |1562| Feld | Typ | Beispiel | Beschreibung |

1548| :------------------ | :----------- | :---------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1563| :------------------ | :----------- | :---------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1549| `status` | Zeichenkette | `"completed"` | `"completed"` für synchrone Aufrufe, `"async_launched"` für `run_in_background: true` |1564| `status` | Zeichenkette | `"completed"` | `"completed"` für Vordergrund-Subagenten, `"async_launched"` für Hintergrund-Subagenten. {/* min-version: 2.1.198 */}Ab v2.1.198 werden Subagenten standardmäßig im Hintergrund ausgeführt, daher erzeugt ein weggelassenes `run_in_background` auch `"async_launched"` |

1550| `agentId` | Zeichenkette | `"a4d2c8f1e0b3a297"` | Kennung für die Subagenten-Ausführung |1565| `agentId` | Zeichenkette | `"a4d2c8f1e0b3a297"` | Kennung für die Subagenten-Ausführung |

1551| `content` | Array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Die abschließenden Textblöcke des Subagenten |1566| `content` | Array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Die abschließenden Textblöcke des Subagenten |

1552| `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 |1567| `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 |


1555| `totalToolUseCount` | Zahl | `7` | Anzahl der Tool-Aufrufe, die der Subagent gemacht hat |1570| `totalToolUseCount` | Zahl | `7` | Anzahl der Tool-Aufrufe, die der Subagent gemacht hat |

1556| `usage` | Objekt | `{"input_tokens": 8320, ...}` | Pro-Typ-Token-Aufschlüsselung: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1571| `usage` | Objekt | `{"input_tokens": 8320, ...}` | Pro-Typ-Token-Aufschlüsselung: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1557 1572 

1558Fü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`.1573Für Hintergrund-Subagenten 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`.

1559 1574 

1560Das 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.1575Das 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.

1561 1576 


1593`PreToolUse`-Hooks können steuern, ob ein Tool-Aufruf fortgesetzt wird. Im Gegensatz zu anderen Hooks, die ein Top-Level-Feld `decision` verwenden, gibt PreToolUse seine Entscheidung in einem `hookSpecificOutput`-Objekt zurück. Dies gibt ihm reichere Kontrolle: vier Ergebnisse (zulassen, verweigern, fragen oder verschieben) plus die Möglichkeit, die Tool-Eingabe vor der Ausführung zu ändern.1608`PreToolUse`-Hooks können steuern, ob ein Tool-Aufruf fortgesetzt wird. Im Gegensatz zu anderen Hooks, die ein Top-Level-Feld `decision` verwenden, gibt PreToolUse seine Entscheidung in einem `hookSpecificOutput`-Objekt zurück. Dies gibt ihm reichere Kontrolle: vier Ergebnisse (zulassen, verweigern, fragen oder verschieben) plus die Möglichkeit, die Tool-Eingabe vor der Ausführung zu ändern.

1594 1609 

1595| Feld | Beschreibung |1610| Feld | Beschreibung |

1596| :------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1611| :------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1597| `permissionDecision` | `"allow"` umgeht die Berechtigungsaufforderung. `"deny"` verhindert den Tool-Aufruf. `"ask"` fordert den Benutzer zur Bestätigung auf. `"defer"` beendet den Hook elegant, damit das Tool später fortgesetzt werden kann. [Deny- und Ask-Regeln](/de/permissions#manage-permissions) gelten weiterhin, wenn ein Hook `"allow"` zurückgibt |1612| `permissionDecision` | `"allow"` umgeht die Berechtigungsaufforderung, außer für [Tools, die Benutzerinteraktion erfordern](#pretooluse-decision-control). `"deny"` verhindert den Tool-Aufruf. `"ask"` fordert den Benutzer zur Bestätigung auf. `"defer"` beendet den Hook elegant, damit das Tool später fortgesetzt werden kann. [Deny- und Ask-Regeln](/de/permissions#manage-permissions) gelten weiterhin, wenn ein Hook `"allow"` zurückgibt |

1598| `permissionDecisionReason` | Für `"allow"` und `"ask"`, dem Benutzer angezeigt, aber nicht Claude. Für `"deny"`, Claude angezeigt. Für `"defer"`, ignoriert |1613| `permissionDecisionReason` | Für `"allow"` und `"ask"`, dem Benutzer angezeigt, aber nicht Claude. Für `"deny"`, Claude angezeigt. Für `"defer"`, ignoriert |

1599| `updatedInput` | Ändert die Tool-Eingabeparameter vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, daher müssen Sie unveränderte Felder zusammen mit geänderten einbeziehen. Kombinieren Sie mit `"allow"`, um automatisch zu genehmigen, oder mit `"ask"`, um die geänderte Eingabe dem Benutzer zu zeigen. Für `"defer"`, ignoriert |1614| `updatedInput` | Ändert die Tool-Eingabeparameter vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, daher müssen Sie unveränderte Felder zusammen mit geänderten einbeziehen. Kombinieren Sie mit `"allow"`, um automatisch zu genehmigen, oder mit `"ask"`, um die geänderte Eingabe dem Benutzer zu zeigen. Für `"defer"`, ignoriert |

1600| `additionalContext` | Zeichenkette, die zu Claudes Kontext vor der Tool-Ausführung hinzugefügt wird. Für `"defer"`, ignoriert. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1615| `additionalContext` | Zeichenkette, die zu Claudes Kontext vor der Tool-Ausführung hinzugefügt wird. Für `"defer"`, ignoriert. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |


1619 1634 

1620`AskUserQuestion` und `ExitPlanMode` erfordern Benutzerinteraktion und blockieren normalerweise im [nicht-interaktiven Modus](/de/headless) mit dem `-p`-Flag. Das Zurückgeben von `permissionDecision: "allow"` zusammen mit `updatedInput` erfüllt diese Anforderung: Der Hook liest die Tool-Eingabe von stdin, erfasst die Antwort über Ihre eigene Benutzeroberfläche und gibt sie in `updatedInput` zurück, damit das Tool ohne Aufforderung ausgeführt wird. Das Zurückgeben von `"allow"` allein ist nicht ausreichend für diese Tools. Für `AskUserQuestion` geben Sie das ursprüngliche `questions`-Array zurück und fügen Sie ein [`answers`](#askuserquestion)-Objekt hinzu, das jede Frage auf die gewählte Antwort abbildet.1635`AskUserQuestion` und `ExitPlanMode` erfordern Benutzerinteraktion und blockieren normalerweise im [nicht-interaktiven Modus](/de/headless) mit dem `-p`-Flag. Das Zurückgeben von `permissionDecision: "allow"` zusammen mit `updatedInput` erfüllt diese Anforderung: Der Hook liest die Tool-Eingabe von stdin, erfasst die Antwort über Ihre eigene Benutzeroberfläche und gibt sie in `updatedInput` zurück, damit das Tool ohne Aufforderung ausgeführt wird. Das Zurückgeben von `"allow"` allein ist nicht ausreichend für diese Tools. Für `AskUserQuestion` geben Sie das ursprüngliche `questions`-Array zurück und fügen Sie ein [`answers`](#askuserquestion)-Objekt hinzu, das jede Frage auf die gewählte Antwort abbildet.

1621 1636 

1637Ab v2.1.199 ist ein MCP-Tool, dessen Server es mit [`_meta["anthropic/requiresUserInteraction"]`](/de/mcp#require-approval-for-a-specific-tool) markiert, strenger: Ein Hook kann seine Genehmigungsaufforderung nicht mit `"allow"` überspringen, mit oder ohne `updatedInput`, da Claude Code nicht bestätigen kann, dass der Hook die Interaktion erfasst hat, die das Tool benötigt.

1638 

1622<Note>1639<Note>

1623 PreToolUse verwendete zuvor Top-Level-Felder `decision` und `reason`, diese sind jedoch für dieses Ereignis veraltet. Verwenden Sie stattdessen `hookSpecificOutput.permissionDecision` und `hookSpecificOutput.permissionDecisionReason`. Die veralteten Werte `"approve"` und `"block"` werden auf `"allow"` und `"deny"` abgebildet. Andere Ereignisse wie PostToolUse und Stop verwenden weiterhin Top-Level-Felder `decision` und `reason` als ihr aktuelles Format.1640 PreToolUse verwendete zuvor Top-Level-Felder `decision` und `reason`, diese sind jedoch für dieses Ereignis veraltet. Verwenden Sie stattdessen `hookSpecificOutput.permissionDecision` und `hookSpecificOutput.permissionDecisionReason`. Die veralteten Werte `"approve"` und `"block"` werden auf `"allow"` und `"deny"` abgebildet. Andere Ereignisse wie PostToolUse und Stop verwenden weiterhin Top-Level-Felder `decision` und `reason` als ihr aktuelles Format.

1624</Note>1641</Note>


2016 Notification2033 Notification

2017</h3>2034</h3>

2018 2035 

2019Wird ausgeführt, wenn Claude Code Benachrichtigungen sendet. Passt auf Benachrichtigungstyp: `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response`. Matcher weglassen, um Hooks für alle Benachrichtigungstypen auszuführen.2036Wird ausgeführt, wenn Claude Code Benachrichtigungen sendet. Passt auf Benachrichtigungstyp. Matcher weglassen, um Hooks für alle Benachrichtigungstypen auszuführen.

2037 

2038| Matcher | Wann es ausgelöst wird |

2039| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |

2040| `permission_prompt` | Claude benötigt Ihre Genehmigung für einen Tool-Aufruf |

2041| `idle_prompt` | Claude ist fertig und wartet auf Ihren nächsten Prompt |

2042| `auth_success` | Authentifizierung ist abgeschlossen |

2043| `elicitation_dialog` | Ein MCP-Server öffnet ein Elicitation-Formular |

2044| `elicitation_complete` | Ein MCP-Elicitation-Formular wird eingereicht oder verworfen |

2045| `elicitation_response` | Eine MCP-Elicitation-Antwort wird an den Server zurückgesendet |

2046| `agent_needs_input` | Eine Hintergrund-Sitzung beginnt, auf Ihre Eingabe zu warten. Wird nur ausgelöst, während [Agent-Ansicht](/de/agent-view) in einem Terminal offen ist |

2047| `agent_completed` | Eine Hintergrund-Sitzung wird fertig oder schlägt fehl. Wird nur ausgelöst, während [Agent-Ansicht](/de/agent-view) in einem Terminal offen ist |

2048 

2049Die Typen `agent_needs_input` und `agent_completed` erfordern Claude Code v2.1.198 oder später.

2020 2050 

2021Verwenden Sie separate Matcher, um verschiedene Handler je nach Benachrichtigungstyp auszuführen. Diese Konfiguration löst ein berechtigungsspezifisches Warnungsskript aus, wenn Claude Genehmigung benötigt, und eine andere Benachrichtigung, wenn Claude untätig war:2051Verwenden Sie separate Matcher, um verschiedene Handler je nach Benachrichtigungstyp auszuführen. Diese Konfiguration löst ein berechtigungsspezifisches Warnungsskript aus, wenn Claude Genehmigung benötigt, und eine andere Benachrichtigung, wenn Claude untätig war:

2022 2052 


2079 SubagentStart-Eingabe2109 SubagentStart-Eingabe

2080</h4>2110</h4>

2081 2111 

2082Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SubagentStart-Hooks `agent_id` mit der eindeutigen Kennung für den Subagenten und `agent_type` mit dem Agent-Namen (eingebaute Agents wie `"general-purpose"`, `"Explore"`, `"Plan"` oder benutzerdefinierte Agent-Namen).2112Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SubagentStart-Hooks `agent_id` mit der eindeutigen Kennung für den Subagenten und `agent_type` mit dem Agent-Namen, den der Matcher filtert.

2083 2113 

2084```json theme={null}2114```json theme={null}

2085{2115{


2561Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können CwdChanged-Hooks `watchPaths` zurückgeben, um dynamisch zu setzen, welche Dateipfade [FileChanged](#filechanged) überwacht:2591Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können CwdChanged-Hooks `watchPaths` zurückgeben, um dynamisch zu setzen, welche Dateipfade [FileChanged](#filechanged) überwacht:

2562 2592 

2563| Feld | Beschreibung |2593| Feld | Beschreibung |

2564| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2594| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2565| `watchPaths` | Array von absoluten Pfaden. Ersetzt die aktuelle dynamische Überwachungsliste (Pfade aus Ihrer `matcher`-Konfiguration werden immer überwacht). Das Zurückgeben eines leeren Arrays löscht die dynamische Liste, was typisch ist, wenn Sie ein neues Verzeichnis betreten |2595| `watchPaths` | Array von absoluten Pfaden. Ersetzt die aktuelle dynamische Überwachungsliste. Pfade aus Ihrer `matcher`-Konfiguration werden immer überwacht. Das Zurückgeben eines leeren Arrays löscht die dynamische Liste, was typisch ist, wenn Sie ein neues Verzeichnis betreten |

2566 2596 

2567CwdChanged-Hooks haben keine Entscheidungskontrolle. Sie können den Verzeichniswechsel nicht blockieren.2597CwdChanged-Hooks haben keine Entscheidungskontrolle. Sie können den Verzeichniswechsel nicht blockieren.

2568 2598 


2586Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten FileChanged-Hooks `file_path` und `event`.2616Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten FileChanged-Hooks `file_path` und `event`.

2587 2617 

2588| Feld | Beschreibung |2618| Feld | Beschreibung |

2589| :---------- | :------------------------------------------------------------------------------------------------------- |2619| :---------- | :------------------------------------------------------------------------------------------------------------------------------- |

2590| `file_path` | Absoluter Pfad zur Datei, die sich geändert hat |2620| `file_path` | Absoluter Pfad zur Datei, die sich geändert hat |

2591| `event` | Was passiert ist: `"change"` (Datei geändert), `"add"` (Datei erstellt) oder `"unlink"` (Datei gelöscht) |2621| `event` | Was passiert ist: `"change"` für eine geänderte Datei, `"add"` für eine erstellte Datei oder `"unlink"` für eine gelöschte Datei |

2592 2622 

2593```json theme={null}2623```json theme={null}

2594{2624{


2608Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können FileChanged-Hooks `watchPaths` zurückgeben, um dynamisch zu aktualisieren, welche Dateipfade überwacht werden:2638Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können FileChanged-Hooks `watchPaths` zurückgeben, um dynamisch zu aktualisieren, welche Dateipfade überwacht werden:

2609 2639 

2610| Feld | Beschreibung |2640| Feld | Beschreibung |

2611| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2641| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2612| `watchPaths` | Array von absoluten Pfaden. Ersetzt die aktuelle dynamische Überwachungsliste (Pfade aus Ihrer `matcher`-Konfiguration werden immer überwacht). Verwenden Sie dies, wenn Ihr Hook-Skript basierend auf der geänderten Datei zusätzliche Dateien zum Überwachen entdeckt |2642| `watchPaths` | Array von absoluten Pfaden. Ersetzt die aktuelle dynamische Überwachungsliste. Pfade aus Ihrer `matcher`-Konfiguration werden immer überwacht. Verwenden Sie dies, wenn Ihr Hook-Skript basierend auf der geänderten Datei zusätzliche Dateien zum Überwachen entdeckt |

2613 2643 

2614FileChanged-Hooks haben keine Entscheidungskontrolle. Sie können die Dateiänderung nicht blockieren.2644FileChanged-Hooks haben keine Entscheidungskontrolle. Sie können die Dateiänderung nicht blockieren.

2615 2645 


2617 WorktreeCreate2647 WorktreeCreate

2618</h3>2648</h3>

2619 2649 

2620Wenn Sie `claude --worktree` ausführen oder ein [Subagent `isolation: "worktree"` verwendet](/de/sub-agents#choose-the-subagent-scope), erstellt Claude Code eine isolierte Arbeitskopie mit `git worktree`. Wenn Sie einen WorktreeCreate-Hook konfigurieren, ersetzt er das Standard-Git-Verhalten und ermöglicht es Ihnen, ein anderes Versionskontrollsystem wie SVN, Perforce oder Mercurial zu verwenden.2650Wird ausgeführt, wenn ein Worktree erstellt wird, entweder von `claude --worktree` oder von einem [Subagent mit `isolation: "worktree"`](/de/sub-agents#choose-the-subagent-scope). Standardmäßig erstellt Claude Code die isolierte Arbeitskopie mit `git worktree`. Wenn Sie einen WorktreeCreate-Hook konfigurieren, ersetzt er das Standard-Git-Verhalten und ermöglicht es Ihnen, ein anderes Versionskontrollsystem wie SVN, Perforce oder Mercurial zu verwenden.

2621 2651 

2622Da der Hook das Standard-Verhalten vollständig ersetzt, wird [`.worktreeinclude`](/de/worktrees#copy-gitignored-files-into-worktrees) nicht verarbeitet. Wenn Sie lokale Konfigurationsdateien wie `.env` in den neuen Worktree kopieren müssen, tun Sie dies in Ihrem Hook-Skript.2652Da der Hook das Standard-Verhalten vollständig ersetzt, wird [`.worktreeinclude`](/de/worktrees#copy-gitignored-files-into-worktrees) nicht verarbeitet. Wenn Sie lokale Konfigurationsdateien wie `.env` in den neuen Worktree kopieren müssen, tun Sie dies in Ihrem Hook-Skript.

2623 2653 


2648 WorktreeCreate-Eingabe2678 WorktreeCreate-Eingabe

2649</h4>2679</h4>

2650 2680 

2651Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten WorktreeCreate-Hooks das Feld `name`. Dies ist eine Slug-Kennung für den neuen Worktree, entweder vom Benutzer angegeben oder automatisch generiert (zum Beispiel `bold-oak-a3f2`).2681Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten WorktreeCreate-Hooks das Feld `name`. Dies ist eine Slug-Kennung für den neuen Worktree, entweder vom Benutzer angegeben oder automatisch generiert, zum Beispiel `bold-oak-a3f2`.

2652 2682 

2653```json theme={null}2683```json theme={null}

2654{2684{


2675 WorktreeRemove2705 WorktreeRemove

2676</h3>2706</h3>

2677 2707 

2678Das Bereinigungspendant zu [WorktreeCreate](#worktreecreate). Dieser Hook wird ausgelöst, wenn ein Worktree entfernt wird, entweder wenn Sie eine `--worktree`-Sitzung beenden und wählen, sie zu entfernen, oder wenn ein Subagent mit `isolation: "worktree"` fertig ist. Für Git-basierte Worktrees handhabt Claude die Bereinigung automatisch mit `git worktree remove`. Wenn Sie einen WorktreeCreate-Hook für ein nicht-Git-Versionskontrollsystem konfiguriert haben, koppeln Sie ihn mit einem WorktreeRemove-Hook, um die Bereinigung zu handhaben. Ohne einen wird das Worktree-Verzeichnis auf der Festplatte belassen.2708Wird ausgeführt, wenn ein Worktree entfernt wird, entweder wenn Sie eine `--worktree`-Sitzung beenden und wählen, sie zu entfernen, oder wenn ein Subagent mit `isolation: "worktree"` fertig ist. Dies ist das Bereinigungspendant zu [WorktreeCreate](#worktreecreate).

2709 

2710Für Git-basierte Worktrees handhabt Claude Code die Bereinigung automatisch mit `git worktree remove`. Wenn Sie einen WorktreeCreate-Hook für ein nicht-Git-Versionskontrollsystem konfiguriert haben, koppeln Sie ihn mit einem WorktreeRemove-Hook, um die Bereinigung zu handhaben. Ohne einen wird das Worktree-Verzeichnis auf der Festplatte belassen.

2679 2711 

2680Claude Code übergibt den Pfad, den WorktreeCreate auf stdout ausgegeben hat, als `worktree_path` in der Hook-Eingabe. Dieses Beispiel liest diesen Pfad und entfernt das Verzeichnis:2712Claude Code übergibt den Pfad, den WorktreeCreate auf stdout ausgegeben hat, als `worktree_path` in der Hook-Eingabe. Dieses Beispiel liest diesen Pfad und entfernt das Verzeichnis:

2681 2713 


3064 3096 

3065Wenn Sie eine feinere Kontrolle bei einem Ereignis benötigen, verwenden Sie einen [Command-Hook](#command-hook-fields) mit den ereignisspezifischen Feldern, die in [Entscheidungskontrolle](#decision-control) beschrieben sind.3097Wenn Sie eine feinere Kontrolle bei einem Ereignis benötigen, verwenden Sie einen [Command-Hook](#command-hook-fields) mit den ereignisspezifischen Feldern, die in [Entscheidungskontrolle](#decision-control) beschrieben sind.

3066 3098 

3067<h3 id="example-multi-criteria-stop-hook">3099<h3 id="check-multiple-conditions-before-stopping">

3068 Beispiel: Multi-Kriterien-Stop-Hook3100 Mehrere Bedingungen vor dem Stoppen überprüfen

3069</h3>3101</h3>

3070 3102 

3071Dieser `Stop`-Hook verwendet einen detaillierten Prompt, um drei Bedingungen zu überprüfen, bevor Claude stoppen darf. Wenn `"ok"` `false` ist, setzt Claude die Arbeit mit dem bereitgestellten Grund als nächste Anweisung fort. `SubagentStop`-Hooks verwenden das gleiche Format, um zu evaluieren, ob ein [Subagent](/de/sub-agents) stoppen sollte:3103Dieser `Stop`-Hook verwendet einen detaillierten Prompt, um drei Bedingungen zu überprüfen, bevor Claude stoppen darf. `SubagentStop`-Hooks verwenden das gleiche Format, um zu evaluieren, ob ein [Subagent](/de/sub-agents) stoppen sollte. Wenn `"ok"` `false` ist, setzt Claude die Arbeit mit dem bereitgestellten Grund als nächste Anweisung fort:

3072 3104 

3073```json theme={null}3105```json theme={null}

3074{3106{


3192 3224 

3193Benachrichtigungen über den Abschluss asynchroner Hooks werden standardmäßig unterdrückt. Um sie zu sehen, aktivieren Sie den ausführlichen Modus mit `Ctrl+O` oder starten Sie Claude Code mit `--verbose`.3225Benachrichtigungen über den Abschluss asynchroner Hooks werden standardmäßig unterdrückt. Um sie zu sehen, aktivieren Sie den ausführlichen Modus mit `Ctrl+O` oder starten Sie Claude Code mit `--verbose`.

3194 3226 

3195<h3 id="example-run-tests-after-file-changes">3227<h3 id="run-tests-after-file-changes">

3196 Beispiel: Tests nach Dateiänderungen ausführen3228 Tests nach Dateiänderungen ausführen

3197</h3>3229</h3>

3198 3230 

3199Dieser Hook startet eine Test-Suite im Hintergrund, wenn Claude eine Datei schreibt, und meldet die Ergebnisse Claude, wenn die Tests fertig sind. Speichern Sie dieses Skript unter `.claude/hooks/run-tests-async.sh` in Ihrem Projekt und machen Sie es mit `chmod +x` ausführbar:3231Dieser Hook startet eine Test-Suite im Hintergrund, wenn Claude eine Datei schreibt, und meldet die Ergebnisse Claude, wenn die Tests fertig sind. Speichern Sie dieses Skript unter `.claude/hooks/run-tests-async.sh` in Ihrem Projekt und machen Sie es mit `chmod +x` ausführbar:


3287 Windows PowerShell-Tool3319 Windows PowerShell-Tool

3288</h2>3320</h2>

3289 3321 

3290Unter Windows können Sie einzelne Hooks in PowerShell ausführen, indem Sie `"shell": "powershell"` auf einem Command-Hook setzen. Hooks spawnen PowerShell direkt, daher funktioniert dies unabhängig davon, ob `CLAUDE_CODE_USE_POWERSHELL_TOOL` gesetzt ist. Claude Code erkennt automatisch `pwsh.exe` (PowerShell 7+) mit einem Fallback auf `powershell.exe` (5.1).3322Unter Windows können Sie einzelne Hooks in PowerShell ausführen, indem Sie `"shell": "powershell"` auf einem Command-Hook setzen. Hooks spawnen PowerShell direkt, daher funktioniert dies unabhängig davon, ob `CLAUDE_CODE_USE_POWERSHELL_TOOL` gesetzt ist. Claude Code erkennt automatisch `pwsh.exe`, die PowerShell 7 und später ausführbare Datei, und fällt auf `powershell.exe` für Windows PowerShell 5.1 zurück.

3291 3323 

3292```json theme={null}3324```json theme={null}

3293{3325{


3308}3340}

3309```3341```

3310 3342 

3311Um auf das Projektverzeichnis aus einem PowerShell-Shell-Form-Befehl zu verweisen, lesen Sie es als Umgebungsvariable mit `$env:CLAUDE_PROJECT_DIR`. PowerShell behandelt die bloße Form `${CLAUDE_PROJECT_DIR}` als lokale Variable, nicht als Umgebungsvariablensuche, und Claude Code ersetzt diesen Platzhalter in Shell-Form nur für [Plugin-Hooks](#reference-scripts-by-path). Für einen Hook, der in `settings.json` definiert ist, verwenden Sie entweder die Form `$env:` oder wechseln Sie zu [Exec-Form](#exec-form-and-shell-form), wobei `${CLAUDE_PROJECT_DIR}` in jedem `args`-Element ersetzt wird, unabhängig davon, wo der Hook definiert ist.3343Um auf das Projektverzeichnis aus einem PowerShell-Shell-Form-Befehl zu verweisen, schreiben Sie `${CLAUDE_PROJECT_DIR}` oder `$env:CLAUDE_PROJECT_DIR`. Ab v2.1.198 schreibt Claude Code die Platzhalter `${CLAUDE_PROJECT_DIR}`, `${CLAUDE_PLUGIN_ROOT}` und `${CLAUDE_PLUGIN_DATA}` in einem PowerShell-Shell-Form-Befehl in die PowerShell-Form `${env:NAME}` um, unabhängig davon, ob der Hook in `settings.json`, einem Plugin oder einer Skill definiert ist. PowerShell löst dann den Wert aus der exportierten Umgebung nach dem Parsing auf, daher funktioniert der Platzhalter in doppelt angeführten Zeichenketten, aber nicht in einfach angeführten Zeichenketten, wo PowerShell niemals Variablen erweitert.

3344 

3345Vor v2.1.198 galt dieses Umschreiben nur für Plugin-Hooks. In früheren Versionen benötigt ein `settings.json`-Hook die Form `$env:` oder [Exec-Form](#exec-form-and-shell-form), wobei `${CLAUDE_PROJECT_DIR}` in jedem `args`-Element ersetzt wird, unabhängig davon, wo der Hook definiert ist.

3346 

3347Schreiben Sie nicht die bloße Schreibweise `$CLAUDE_PROJECT_DIR` in einem PowerShell-Hook. PowerShell analysiert sie als undefinierte lokale Variable und löst sie zu `$null` auf, was den Skriptpfad ohne sein Projektverzeichnis-Präfix hinterlässt. Claude Code schreibt diese Form nicht um; stattdessen protokolliert es eine Warnung im [Debug-Log](#debug-hooks).

3312 3348 

3313Das folgende Beispiel zeigt einen `settings.json`-Hook, der ein Projektskript mit der Form `$env:` ausführt:3349Das folgende Beispiel zeigt einen `settings.json`-Hook, der ein Projektskript mit der Form `$env:` ausführt, die auf jeder Version funktioniert:

3314 3350 

3315```json theme={null}3351```json theme={null}

3316{3352{

hooks-guide.md +31 −27

Details

87 87 

88Hooks ermöglichen es Ihnen, Code an Schlüsselpunkten im Lebenszyklus von Claude Code auszuführen: Dateien nach Bearbeitungen formatieren, Befehle vor der Ausführung blockieren, Benachrichtigungen senden, wenn Claude Eingaben benötigt, Kontext beim Sitzungsstart injizieren und vieles mehr. Für die vollständige Liste der Hook-Events siehe die [Hooks-Referenz](/de/hooks#hook-lifecycle).88Hooks ermöglichen es Ihnen, Code an Schlüsselpunkten im Lebenszyklus von Claude Code auszuführen: Dateien nach Bearbeitungen formatieren, Befehle vor der Ausführung blockieren, Benachrichtigungen senden, wenn Claude Eingaben benötigt, Kontext beim Sitzungsstart injizieren und vieles mehr. Für die vollständige Liste der Hook-Events siehe die [Hooks-Referenz](/de/hooks#hook-lifecycle).

89 89 

90Jedes Beispiel enthält einen einsatzbereiten Konfigurationsblock, den Sie einer [Einstellungsdatei](#configure-hook-location) hinzufügen. Die häufigsten Muster:90Jedes Beispiel enthält einen einsatzbereiten Konfigurationsblock, den Sie einer [Einstellungsdatei](#configure-hook-location) hinzufügen.

91 

92* [Benachrichtigung erhalten, wenn Claude Eingaben benötigt](#get-notified-when-claude-needs-input)

93* [Code nach Bearbeitungen automatisch formatieren](#auto-format-code-after-edits)

94* [Bearbeitungen geschützter Dateien blockieren](#block-edits-to-protected-files)

95* [Kontext nach Komprimierung erneut injizieren](#re-inject-context-after-compaction)

96* [Konfigurationsänderungen prüfen](#audit-configuration-changes)

97* [Umgebung neu laden, wenn sich Verzeichnis oder Dateien ändern](#reload-environment-when-directory-or-files-change)

98* [Bestimmte Berechtigungsaufforderungen automatisch genehmigen](#auto-approve-specific-permission-prompts)

99 91 

100Ein Produktionsbeispiel von Hooks, die eine separate Modellüberprüfung ausführen und Erkenntnisse zurück in die Sitzung einspeisen, finden Sie unter [wie das `security-guidance`-Plugin mit Claude Code integriert wird](/de/security-guidance#how-the-plugin-integrates-with-claude-code).92Ein Produktionsbeispiel von Hooks, die eine separate Modellüberprüfung ausführen und Erkenntnisse zurück in die Sitzung einspeisen, finden Sie unter [wie das `security-guidance`-Plugin mit Claude Code integriert wird](/de/security-guidance#how-the-plugin-integrates-with-claude-code).

101 93 


182Der leere `matcher` wird bei allen Benachrichtigungstypen ausgelöst. Um nur bei bestimmten Events ausgelöst zu werden, setzen Sie ihn auf einen dieser Werte:174Der leere `matcher` wird bei allen Benachrichtigungstypen ausgelöst. Um nur bei bestimmten Events ausgelöst zu werden, setzen Sie ihn auf einen dieser Werte:

183 175 

184| Matcher | Wird ausgelöst, wenn |176| Matcher | Wird ausgelöst, wenn |

185| :--------------------- | :------------------------------------------------------------- |177| :--------------------- | :----------------------------------------------------------------------------------------------------------------------------- |

186| `permission_prompt` | Claude benötigt Ihre Genehmigung für einen Tool-Einsatz |178| `permission_prompt` | Claude benötigt Ihre Genehmigung für einen Tool-Einsatz |

187| `idle_prompt` | Claude ist fertig und wartet auf Ihre nächste Eingabe |179| `idle_prompt` | Claude ist fertig und wartet auf Ihre nächste Eingabe |

188| `auth_success` | Authentifizierung ist abgeschlossen |180| `auth_success` | Authentifizierung ist abgeschlossen |

189| `elicitation_dialog` | Ein MCP-Server öffnet ein Elicitation-Formular |181| `elicitation_dialog` | Ein MCP-Server öffnet ein Elicitation-Formular |

190| `elicitation_complete` | Ein MCP-Elicitation-Formular wird eingereicht oder verworfen |182| `elicitation_complete` | Ein MCP-Elicitation-Formular wird eingereicht oder verworfen |

191| `elicitation_response` | Eine MCP-Elicitation-Antwort wird an den Server zurückgesendet |183| `elicitation_response` | Eine MCP-Elicitation-Antwort wird an den Server zurückgesendet |

184| `agent_needs_input` | Eine Hintergrund-Sitzung wartet auf Ihre Eingabe. Wird nur ausgelöst, während [Agent-Ansicht](/de/agent-view) offen ist |

185| `agent_completed` | Eine Hintergrund-Sitzung wird beendet oder schlägt fehl. Wird nur ausgelöst, während [Agent-Ansicht](/de/agent-view) offen ist |

186 

187Die Matcher `agent_needs_input` und `agent_completed` erfordern Claude Code v2.1.198 oder später.

192 188 

193Geben Sie `/hooks` ein und wählen Sie `Notification` aus, um zu bestätigen, dass der Hook registriert ist. Für das vollständige Event-Schema siehe die [Notification-Referenz](/de/hooks#notification).189Geben Sie `/hooks` ein und wählen Sie `Notification` aus, um zu bestätigen, dass der Hook registriert ist. Für das vollständige Event-Schema siehe die [Notification-Referenz](/de/hooks#notification).

194 190 


198 194 

199Führen Sie [Prettier](https://prettier.io/) automatisch auf jeder Datei aus, die Claude bearbeitet, damit die Formatierung konsistent bleibt, ohne manuelle Eingriffe.195Führen Sie [Prettier](https://prettier.io/) automatisch auf jeder Datei aus, die Claude bearbeitet, damit die Formatierung konsistent bleibt, ohne manuelle Eingriffe.

200 196 

201Dieser Hook verwendet das `PostToolUse`-Event mit einem `Edit|Write`-Matcher, sodass er nur nach Datei-Bearbeitungs-Tools ausgeführt wird. {/* min-version: 2.1.191 */}Auf Claude Code v2.1.191 oder später können Sie den Matcher auch als `Edit,Write` schreiben, da `|` und `,` auf diesen Versionen austauschbare Listentrennzeichen für Tool-Name-Matcher sind. Der Befehl extrahiert den bearbeiteten Dateipfad mit [`jq`](https://jqlang.github.io/jq/) und übergibt ihn an Prettier. Fügen Sie dies zu `.claude/settings.json` in Ihrem Projektverzeichnis hinzu:197Dieser Hook verwendet das `PostToolUse`-Event mit einem `Edit|Write`-Matcher, sodass er nur nach Datei-Bearbeitungs-Tools ausgeführt wird. Der Befehl extrahiert den bearbeiteten Dateipfad mit [`jq`](https://jqlang.github.io/jq/) und übergibt ihn an Prettier. Fügen Sie dies zu `.claude/settings.json` in Ihrem Projektverzeichnis hinzu:

202 198 

203```json theme={null}199```json theme={null}

204{200{


218}214}

219```215```

220 216 

217Auf Claude Code v2.1.191 oder später können Sie den Matcher auch als `Edit,Write` schreiben, da `|` und `,` auf diesen Versionen austauschbare Listentrennzeichen für Tool-Name-Matcher sind.

218 

221<Note>219<Note>

222 Die Bash-Beispiele auf dieser Seite verwenden `jq` zum Parsen von JSON. Installieren Sie es mit `brew install jq` (macOS), `apt-get install jq` (Debian/Ubuntu), oder siehe [`jq`-Downloads](https://jqlang.github.io/jq/download/).220 Die Bash-Beispiele auf dieser Seite verwenden `jq` zum Parsen von JSON. Installieren Sie es mit `brew install jq` auf macOS, `apt-get install jq` auf Debian und Ubuntu, oder siehe [`jq`-Downloads](https://jqlang.github.io/jq/download/).

223</Note>221</Note>

224 222 

225<h3 id="block-edits-to-protected-files">223<h3 id="block-edits-to-protected-files">


254 ```252 ```

255 </Step>253 </Step>

256 254 

257 <Step title="Machen Sie das Skript ausführbar (macOS/Linux)">255 <Step title="Machen Sie das Skript ausführbar auf macOS und Linux">

258 Hook-Skripte müssen ausführbar sein, damit Claude Code sie ausführen kann:256 Hook-Skripte müssen ausführbar sein, damit Claude Code sie ausführen kann:

259 257 

260 ```bash theme={null}258 ```bash theme={null}


378 376 

379Führen Sie `direnv allow` einmal in jedem Verzeichnis aus, das eine `.envrc` hat, damit direnv berechtigt ist, sie zu laden. Wenn Sie devbox oder nix statt direnv verwenden, funktioniert das gleiche Muster mit `devbox shellenv` oder `devbox global shellenv` anstelle von `direnv export bash`.377Führen Sie `direnv allow` einmal in jedem Verzeichnis aus, das eine `.envrc` hat, damit direnv berechtigt ist, sie zu laden. Wenn Sie devbox oder nix statt direnv verwenden, funktioniert das gleiche Muster mit `devbox shellenv` oder `devbox global shellenv` anstelle von `direnv export bash`.

380 378 

381Um auf bestimmte Dateien statt auf jeden Verzeichniswechsel zu reagieren, verwenden Sie `FileChanged` mit einem `matcher`, der die zu überwachenden Dateinamen auflistet, getrennt durch `|`. Um die Überwachungsliste zu erstellen, wird dieser Wert in Dateinamen aufgeteilt, anstatt als Regex ausgewertet zu werden. Siehe [FileChanged](/de/hooks#filechanged) für die Funktionsweise desselben Werts, der auch filtert, welche Hook-Gruppen ausgeführt werden, wenn sich eine Datei ändert. Dieses Beispiel überwacht `.envrc` und `.env` im Arbeitsverzeichnis:379Um auf bestimmte Dateien statt auf jeden Verzeichniswechsel zu reagieren, verwenden Sie `FileChanged` mit einem `matcher`, der die zu überwachenden Dateinamen auflistet, getrennt durch `|`. Beim Erstellen der Überwachungsliste wird dieser Wert in Dateinamen aufgeteilt, anstatt als Regex ausgewertet zu werden. Siehe [FileChanged](/de/hooks#filechanged) für die Funktionsweise desselben Werts, der auch filtert, welche Hook-Gruppen ausgeführt werden, wenn sich eine Datei ändert. Dieses Beispiel überwacht `.envrc` und `.env` im Arbeitsverzeichnis:

382 380 

383```json theme={null}381```json theme={null}

384{382{


619 617 

620Andere Events verwenden unterschiedliche Entscheidungsmuster. Beispielsweise verwenden `PostToolUse`- und `Stop`-Hooks ein Top-Level-Feld `decision: "block"`, während `PermissionRequest` `hookSpecificOutput.decision.behavior` verwendet. Siehe die [Zusammenfassungstabelle](/de/hooks#decision-control) in der Referenz für eine vollständige Aufschlüsselung nach Event.618Andere Events verwenden unterschiedliche Entscheidungsmuster. Beispielsweise verwenden `PostToolUse`- und `Stop`-Hooks ein Top-Level-Feld `decision: "block"`, während `PermissionRequest` `hookSpecificOutput.decision.behavior` verwendet. Siehe die [Zusammenfassungstabelle](/de/hooks#decision-control) in der Referenz für eine vollständige Aufschlüsselung nach Event.

621 619 

622Für `UserPromptSubmit`-Hooks verwenden Sie stattdessen `additionalContext`, um Text in Claudes Kontext zu injizieren. Prompt-basierte Hooks (`type: "prompt"`) handhaben die Ausgabe anders: siehe [Prompt-basierte Hooks](#prompt-based-hooks).620Für `UserPromptSubmit`-Hooks verwenden Sie stattdessen `additionalContext`, um Text in Claudes Kontext zu injizieren.

621 

622Hooks mit `type: "prompt"` handhaben die Ausgabe anders: siehe [Prompt-basierte Hooks](#prompt-based-hooks).

623 623 

624<h3 id="filter-hooks-with-matchers">624<h3 id="filter-hooks-with-matchers">

625 Hooks mit Matchern filtern625 Hooks mit Matchern filtern


656| `SessionStart` | wie die Sitzung gestartet wurde | `startup`, `resume`, `clear`, `compact` |656| `SessionStart` | wie die Sitzung gestartet wurde | `startup`, `resume`, `clear`, `compact` |

657| `Setup` | welches CLI-Flag das Setup ausgelöst hat | `init`, `maintenance` |657| `Setup` | welches CLI-Flag das Setup ausgelöst hat | `init`, `maintenance` |

658| `SessionEnd` | warum die Sitzung endete | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |658| `SessionEnd` | warum die Sitzung endete | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |

659| `Notification` | Benachrichtigungstyp | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response` |659| `Notification` | Benachrichtigungstyp | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed` |

660| `SubagentStart` | Agent-Typ | `general-purpose`, `Explore`, `Plan` oder benutzerdefinierte Agent-Namen |660| `SubagentStart` | Agent-Typ | `general-purpose`, `Explore`, `Plan` oder benutzerdefinierte Agent-Namen |

661| `PreCompact`, `PostCompact` | was die Komprimierung ausgelöst hat | `manual`, `auto` |661| `PreCompact`, `PostCompact` | was die Komprimierung ausgelöst hat | `manual`, `auto` |

662| `SubagentStop` | Agent-Typ | gleiche Werte wie `SubagentStart` |662| `SubagentStop` | Agent-Typ | gleiche Werte wie `SubagentStart` |


669| `UserPromptExpansion` | Befehlsname | Ihre Skill- oder Befehlsnamen |669| `UserPromptExpansion` | Befehlsname | Ihre Skill- oder Befehlsnamen |

670| `UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `CwdChanged`, `MessageDisplay` | keine Matcher-Unterstützung | wird immer bei jedem Auftreten ausgelöst |670| `UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `CwdChanged`, `MessageDisplay` | keine Matcher-Unterstützung | wird immer bei jedem Auftreten ausgelöst |

671 671 

672Ein paar weitere Beispiele, die Matcher auf verschiedene Event-Typen zeigen:672Die Registerkarten unten zeigen ein paar weitere Matcher auf verschiedene Event-Typen.

673 673 

674<Tabs>674<Tabs>

675 <Tab title="Jeden Bash-Befehl protokollieren">675 <Tab title="Jeden Bash-Befehl protokollieren">


805| [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 |

806| [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 |

807 807 

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.808Führen Sie [`/hooks`](/de/hooks#the-%2Fhooks-menu) in Claude Code aus, um alle konfigurierten Hooks nach Event gruppiert zu durchsuchen.

809 

810Um 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.

809 811 

810Wenn Sie Einstellungsdateien direkt bearbeiten, während Claude Code läuft, werden Hook-Änderungen normalerweise automatisch vom Datei-Watcher aufgegriffen.812Wenn Sie Einstellungsdateien direkt bearbeiten, während Claude Code läuft, werden Hook-Änderungen normalerweise automatisch vom Datei-Watcher aufgegriffen.

811 813 


925 Einschränkungen927 Einschränkungen

926</h3>928</h3>

927 929 

930Beachten Sie diese Einschränkungen beim Entwerfen von Hooks:

931 

928* Command-Hooks kommunizieren nur über stdout, stderr und Exit-Codes. Sie können `/`-Befehle oder Tool-Aufrufe nicht auslösen. Text, der über `additionalContext` zurückgegeben wird, wird als Systemerinnerung injiziert, die Claude als Klartext liest. HTTP-Hooks kommunizieren stattdessen über den Response-Body.932* Command-Hooks kommunizieren nur über stdout, stderr und Exit-Codes. Sie können `/`-Befehle oder Tool-Aufrufe nicht auslösen. Text, der über `additionalContext` zurückgegeben wird, wird als Systemerinnerung injiziert, die Claude als Klartext liest. HTTP-Hooks kommunizieren stattdessen über den Response-Body.

929* Hook-Timeouts variieren je nach Typ. Überschreiben Sie pro Hook mit dem Feld `timeout` in Sekunden.933* Hook-Timeouts variieren je nach Typ. Überschreiben Sie pro Hook mit dem Feld `timeout` in Sekunden.

930 * `command`, `http`, `mcp_tool`: 10 Minuten. `UserPromptSubmit` reduziert diese auf 30 Sekunden, und `MessageDisplay` reduziert sie auf 10 Sekunden.934 * `command`, `http`, `mcp_tool`: 10 Minuten. `UserPromptSubmit` reduziert diese auf 30 Sekunden, und `MessageDisplay` reduziert sie auf 10 Sekunden.

931 * `prompt`: 30 Sekunden.935 * `prompt`: 30 Sekunden.

932 * `agent`: 60 Sekunden.936 * `agent`: 60 Sekunden.

933* `PostToolUse`-Hooks können Aktionen nicht rückgängig machen, da das Tool bereits ausgeführt wurde.937* `PostToolUse`-Hooks können Aktionen nicht rückgängig machen, da das Tool bereits ausgeführt wurde.

934* `PermissionRequest`-Hooks werden nicht im [nicht-interaktiven Modus](/de/headless) (`-p`) ausgelöst. Verwenden Sie `PreToolUse`-Hooks für automatisierte Berechtigungsentscheidungen.938* `PermissionRequest`-Hooks werden nicht im [nicht-interaktiven Modus](/de/headless) mit dem Flag `-p` ausgelöst. Verwenden Sie `PreToolUse`-Hooks für automatisierte Berechtigungsentscheidungen.

935* `Stop`-Hooks werden ausgelöst, wenn Claude antwortet, nicht nur bei Aufgabenabschluss. Sie werden nicht bei Benutzerunterbrechungen ausgelöst. API-Fehler lösen stattdessen [StopFailure](/de/hooks#stopfailure) aus.939* `Stop`-Hooks werden ausgelöst, wenn Claude antwortet, nicht nur bei Aufgabenabschluss. Sie werden nicht bei Benutzerunterbrechungen ausgelöst. API-Fehler lösen stattdessen [StopFailure](/de/hooks#stopfailure) aus.

936* Wenn mehrere PreToolUse-Hooks [`updatedInput`](/de/hooks#pretooluse) zurückgeben, um die Argumente eines Tools umzuschreiben, gewinnt der letzte, der fertig wird. Da Hooks parallel ausgeführt werden, ist die Reihenfolge nicht deterministisch. Vermeiden Sie, dass mehr als ein Hook die Eingabe desselben Tools ändert.940* Wenn mehrere `PreToolUse`-Hooks [`updatedInput`](/de/hooks#pretooluse) zurückgeben, um die Argumente eines Tools umzuschreiben, gewinnt der letzte, der fertig wird. Da Hooks parallel ausgeführt werden, ist die Reihenfolge nicht deterministisch. Vermeiden Sie, dass mehr als ein Hook die Eingabe desselben Tools ändert.

937 941 

938<h3 id="hooks-and-permission-modes">942<h3 id="hooks-and-permission-modes">

939 Hooks und Berechtigungsmodi943 Hooks und Berechtigungsmodi

940</h3>944</h3>

941 945 

942PreToolUse-Hooks werden vor jeder Berechtigungsmodus-Überprüfung ausgelöst. Ein Hook, der `permissionDecision: "deny"` zurückgibt, blockiert das Tool auch im `bypassPermissions`-Modus oder mit `--dangerously-skip-permissions`. Dies ermöglicht es Ihnen, Richtlinien durchzusetzen, die Benutzer nicht umgehen können, indem sie ihren Berechtigungsmodus ändern.946`PreToolUse`-Hooks werden vor jeder Berechtigungsmodus-Überprüfung ausgelöst. Ein Hook, der `permissionDecision: "deny"` zurückgibt, blockiert das Tool auch im `bypassPermissions`-Modus oder mit `--dangerously-skip-permissions`. Dies ermöglicht es Ihnen, Richtlinien durchzusetzen, die Benutzer nicht umgehen können, indem sie ihren Berechtigungsmodus ändern.

943 947 

944Das Gegenteil ist nicht wahr: Ein Hook, der `"allow"` zurückgibt, umgeht keine Deny-Regeln aus Einstellungen. Hooks können Einschränkungen verschärfen, aber nicht über das hinaus lockern, was Berechtigungsregeln zulassen.948Das Gegenteil ist nicht wahr: Ein Hook, der `"allow"` zurückgibt, umgeht keine Deny-Regeln aus Einstellungen. Hooks können Einschränkungen verschärfen, aber nicht über das hinaus lockern, was Berechtigungsregeln zulassen.

945 949 


950Der Hook ist konfiguriert, wird aber nie ausgeführt.954Der Hook ist konfiguriert, wird aber nie ausgeführt.

951 955 

952* Führen Sie `/hooks` aus und bestätigen Sie, dass der Hook unter dem richtigen Event angezeigt wird956* Führen Sie `/hooks` aus und bestätigen Sie, dass der Hook unter dem richtigen Event angezeigt wird

953* Überprüfen Sie, dass das Matcher-Muster den Tool-Namen genau abgleicht (Matcher sind Groß-/Kleinschreibung-empfindlich)957* Überprüfen Sie, dass das Matcher-Muster den Tool-Namen genau abgleicht. Matcher sind Groß-/Kleinschreibung-empfindlich

954* Überprüfen Sie, dass Sie den richtigen Event-Typ auslösen (z. B. `PreToolUse` wird vor der Tool-Ausführung ausgelöst, `PostToolUse` wird danach ausgelöst)958* Überprüfen Sie, dass Sie den richtigen Event-Typ auslösen: `PreToolUse` wird vor der Tool-Ausführung ausgelöst, `PostToolUse` wird danach ausgelöst

955* Wenn Sie `PermissionRequest`-Hooks im nicht-interaktiven Modus (`-p`) verwenden, wechseln Sie stattdessen zu `PreToolUse`959* Wenn Sie `PermissionRequest`-Hooks im nicht-interaktiven Modus mit dem Flag `-p` verwenden, wechseln Sie stattdessen zu `PreToolUse`

956 960 

957<h3 id="hook-error-in-output">961<h3 id="hook-error-in-output">

958 Hook-Fehler in der Ausgabe962 Hook-Fehler in der Ausgabe


976Sie haben eine Einstellungsdatei bearbeitet, aber die Hooks werden nicht im Menü angezeigt.980Sie haben eine Einstellungsdatei bearbeitet, aber die Hooks werden nicht im Menü angezeigt.

977 981 

978* Datei-Bearbeitungen werden normalerweise automatisch aufgegriffen. Wenn sie nach ein paar Sekunden nicht angezeigt wurden, hat der Datei-Watcher die Änderung möglicherweise verpasst: Starten Sie Ihre Sitzung neu, um ein Neuladen zu erzwingen.982* Datei-Bearbeitungen werden normalerweise automatisch aufgegriffen. Wenn sie nach ein paar Sekunden nicht angezeigt wurden, hat der Datei-Watcher die Änderung möglicherweise verpasst: Starten Sie Ihre Sitzung neu, um ein Neuladen zu erzwingen.

979* Überprüfen Sie, dass Ihr JSON gültig ist (nachfolgende Kommas und Kommentare sind nicht zulässig)983* Überprüfen Sie, dass Ihr JSON gültig ist: Nachfolgende Kommas und Kommentare sind nicht zulässig

980* Bestätigen Sie, dass die Einstellungsdatei am richtigen Speicherort ist: `.claude/settings.json` für Projekt-Hooks, `~/.claude/settings.json` für globale Hooks984* Bestätigen Sie, dass die Einstellungsdatei am richtigen Speicherort ist: `.claude/settings.json` für Projekt-Hooks, `~/.claude/settings.json` für globale Hooks

981 985 

982<h3 id="stop-hook-hits-the-block-cap">986<h3 id="stop-hook-hits-the-block-cap">


985 989 

986Claude arbeitet weiter, anstatt zu stoppen, und beendet dann den Zug mit einer Warnung, dass der Stop-Hook zu viele Male hintereinander blockiert hat.990Claude arbeitet weiter, anstatt zu stoppen, und beendet dann den Zug mit einer Warnung, dass der Stop-Hook zu viele Male hintereinander blockiert hat.

987 991 

988Claude Code setzt einen Stop-Hook außer Kraft, nachdem er 8 Mal hintereinander blockiert hat, ohne Fortschritt zu erzielen. Ihr Hook-Skript muss überprüfen, ob es bereits eine Fortsetzung ausgelöst hat. Parsen Sie das Feld `stop_hook_active` aus der JSON-Eingabe und beenden Sie früh, wenn es `true` ist:992Claude Code setzt einen Stop-Hook außer Kraft, nachdem er acht Mal hintereinander blockiert hat, ohne Fortschritt zu erzielen. Ihr Hook-Skript muss überprüfen, ob es bereits eine Fortsetzung ausgelöst hat. Parsen Sie das Feld `stop_hook_active` aus der JSON-Eingabe und beenden Sie früh, wenn es `true` ist:

989 993 

990```bash theme={null}994```bash theme={null}

991#!/bin/bash995#!/bin/bash


1004 1008 

1005Claude Code zeigt einen JSON-Parsing-Fehler an, obwohl Ihr Hook-Skript gültiges JSON ausgibt.1009Claude Code zeigt einen JSON-Parsing-Fehler an, obwohl Ihr Hook-Skript gültiges JSON ausgibt.

1006 1010 

1007Wenn Claude Code einen Shell-Form-Command-Hook ausführt (einen ohne `args`), spawnt es `sh -c` auf macOS und Linux oder Git Bash auf Windows standardmäßig. Diese Shell ist nicht-interaktiv, aber Git Bash und einige Konfigurationen (wie `BASH_ENV`, das auf `~/.bashrc` zeigt) sourcen trotzdem Ihr Profil. Wenn dieses Profil bedingungslose `echo`-Anweisungen enthält, wird die Ausgabe Ihrem Hook-JSON vorangestellt:1011Wenn Claude Code einen Shell-Form-Command-Hook ausführt (einen ohne `args`), spawnt es `sh -c` auf macOS und Linux oder Git Bash auf Windows standardmäßig. Diese Shell ist nicht-interaktiv, aber Git Bash und einige Konfigurationen, wie `BASH_ENV`, das auf `~/.bashrc` zeigt, sourcen trotzdem Ihr Profil. Wenn dieses Profil bedingungslose `echo`-Anweisungen enthält, wird die Ausgabe Ihrem Hook-JSON vorangestellt:

1008 1012 

1009```text theme={null}1013```text theme={null}

1010Shell ready on arm641014Shell ready on arm64

Details

210Integrierte Befehle führen Sie auch durch die Einrichtung:210Integrierte Befehle führen Sie auch durch die Einrichtung:

211 211 

212* `/init` führt Sie durch die Erstellung einer CLAUDE.md für Ihr Projekt212* `/init` führt Sie durch die Erstellung einer CLAUDE.md für Ihr Projekt

213* `/agents` hilft Ihnen, benutzerdefinierte Subagents zu konfigurieren

214* `/doctor` diagnostiziert häufige Probleme mit Ihrer Installation213* `/doctor` diagnostiziert häufige Probleme mit Ihrer Installation

215 214 

216<h3 id="it’s-a-conversation">215<h3 id="it’s-a-conversation">

Details

106 System-Prompt-Attributionsblock106 System-Prompt-Attributionsblock

107</h2>107</h2>

108 108 

109Claude Code stellt einen kurzen Attributionsblock dem System-Prompt voran, der die Client-Version und einen Fingerabdruck aus dem Gespräch enthält. Der `api.anthropic.com` Endpunkt löscht den Block vor der Verarbeitung, daher beeinflusst er nicht das First-Party-Prompt-Caching; jedes andere Upstream empfängt ihn als Teil des Prompts. Anthropic und die Claude-Endpunkte der Cloud-Provider lesen ihn zur Zuordnung, daher setzen Sie [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/de/env-vars), anstatt ihn im Gateway zu löschen, um ihn auszulassen.109Claude Code stellt einen kurzen Attributionsblock dem System-Prompt voran, der die Client-Version und einen Fingerabdruck aus dem Gespräch enthält. Der `api.anthropic.com` Endpunkt löscht den Block vor der Verarbeitung, wenn er unverändert als erster System-Block ankommt, daher beeinflusst er nicht das First-Party-Prompt-Caching. Jedes andere Upstream empfängt ihn als Teil des Prompts.

110 

111Das Löschen ist positionsbezogen, daher funktioniert es nur, wenn das Gateway das `system` Array unverändert weiterleitet. Um den Block aus dem Prompt zu halten, ohne andere System-Inhalte zu verlieren:

112 

113* Leiten Sie das `system` Array genau wie empfangen weiter, wobei Sie den Block an erster Stelle halten: Das Voranstellen eines weiteren System-Blocks, das Neuordnen des Arrays oder das Konvertieren in einen einzelnen String besiegt das Löschen, und der Block erreicht dann das Modell und den Prompt-Cache-Schlüssel.

114* Halten Sie den Block in seinem eigenen Array-Eintrag: Der Endpunkt behandelt einen zusammengeführten Block, der mit dem Attributions-Header beginnt, als Attribution in ihrer Gesamtheit und löscht alles, das darin zusammengeführt wurde, einschließlich des restlichen System-Prompts.

115* Wenn Ihr Gateway System-Inhalte umgestalten muss, setzen Sie [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/de/env-vars), damit Claude Code den Block auslässt. Anthropic und die Claude-Endpunkte der Cloud-Provider lesen den Block zur Zuordnung, daher lassen Sie ihn auf der Client-Seite aus, anstatt ihn im Gateway zu löschen oder zu verschieben.

116 

117Anfragen, die unverändert den Endpunkt erreichen, sind nicht betroffen.

110 118 

111{/* min-version: 2.1.181 */}Ab Claude Code v2.1.181 ist der Block für die Lebensdauer eines Gesprächs stabil, wenn Anfragen durch eine benutzerdefinierte Basis-URL geleitet werden, daher funktioniert ein Gateway-seitiger Prompt-Cache, der auf dem vollständigen Request-Body basiert, ohne ihn zu deaktivieren. Vor v2.1.181 enthielt der Block ein Pro-Request-Token; setzen Sie auf diesen Versionen `CLAUDE_CODE_ATTRIBUTION_HEADER=0`, wenn Ihr Gateway einen solchen Cache implementiert.119{/* min-version: 2.1.181 */}Ab Claude Code v2.1.181 ist der Block für die Lebensdauer eines Gesprächs stabil, wenn Anfragen durch eine benutzerdefinierte Basis-URL geleitet werden, daher funktioniert ein Gateway-seitiger Prompt-Cache, der auf dem vollständigen Request-Body basiert, ohne ihn zu deaktivieren. Vor v2.1.181 enthielt der Block ein Pro-Request-Token; setzen Sie auf diesen Versionen `CLAUDE_CODE_ATTRIBUTION_HEADER=0`, wenn Ihr Gateway einen solchen Cache implementiert.

112 120 

mcp.md +43 −0

Details

1039 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.1039 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.

1040</Warning>1040</Warning>

1041 1041 

1042<h2 id="tool-input-schemas-with-a-root-level-combinator">

1043 Tool-Eingabeschemas mit einem Root-Level-Kombinator

1044</h2>

1045 

1046Einige MCP-Server deklarieren das Eingabeschema eines Tools als JSON Schema Union mit `anyOf`, `oneOf` oder `allOf` auf der obersten Ebene des Schemas. Die Claude API akzeptiert diese Schlüsselwörter nicht auf der Schema-Root. Sie akzeptiert Kombinatoren, die in `properties` verschachtelt sind, die Claude Code unverändert sendet.

1047 

1048Ab Claude Code v2.1.195 bleiben Tools mit einem Root-Level-Kombinator verfügbar. Bevor das Tool an die API gesendet wird, vereinfacht Claude Code das Schema in ein einzelnes Objekt und fügt dem Tool-Beschreibung einen Satz hinzu, der Claude mitteilt, welche Parameter-Gruppen zusammengehören:

1049 

1050* `allOf`: Eigenschaften aus jedem Branch werden zusammengeführt, und die `required`-Liste jedes Branchs gilt weiterhin

1051* `anyOf` und `oneOf`: Eigenschaften aus jedem Branch werden zusammengeführt, und die `required`-Liste jedes Branchs wird stattdessen in der Tool-Beschreibung beschrieben

1052 

1053Ihr Server empfängt die Argumente, die Claude gewählt hat, daher validieren Sie die Kombination weiterhin serverseitig.

1054 

1055Wenn Claude Code kein Schema erstellen kann, das die API akzeptiert, oder auf einer Bereitstellung, die die Remote-Konfiguration nicht erhält, die die Umschreibung ermöglicht, wie auf einem Offline-Computer, überspringt es dieses eine Tool, zeichnet den Grund im Server-Log auf und lässt die anderen Tools des Servers verfügbar. Versionen älter als v2.1.195 überspringen jedes Tool, dessen Eingabeschema ein Root-Level-`anyOf`, `oneOf` oder `allOf` hat.

1056 

1057<h2 id="require-approval-for-a-specific-tool">

1058 Genehmigung für ein bestimmtes Tool erforderlich

1059</h2>

1060 

1061Wenn Sie einen MCP-Server erstellen, können Sie ein Tool als Genehmigung bei jedem Aufruf erforderlich markieren, indem Sie `_meta["anthropic/requiresUserInteraction"]` auf `true` in der Tool-Antwort des `tools/list` einstellen. Der Wert muss das JSON-Boolean `true` sein; jeder andere Wert wird ignoriert.

1062 

1063Claude Code zeigt die Genehmigungsaufforderung dieses Tools bei jedem Aufruf an, auch in `acceptEdits`, `auto` und `bypassPermissions` [Genehmigungsmodi](/de/permissions#permission-modes), und bietet keine Option „Nicht erneut fragen" dafür an. [Allow-Regeln](/de/permissions#permission-rule-syntax), die das Tool abgleichen, überspringen die Aufforderung auch nicht. Im `dontAsk`-Modus, der niemals auffordert, lehnt Claude Code den Aufruf stattdessen ab.

1064 

1065Die Aufforderung muss eine Person erreichen. Im nicht-interaktiven Modus mit [`--permission-prompt-tool`](/de/cli-reference#cli-flags) wird ein `allow`-Ergebnis aus dem Genehmigungstool für ein gekennzeichnetes Tool in eine Ablehnung mit der Nachricht `MCP tool requires user interaction; not supported via --permission-prompt-tool` umgewandelt. Der [`canUseTool`-Callback](/de/agent-sdk/permissions) des Agent SDK empfängt diese Aufrufe und kann sie genehmigen, da der SDK-Host diese dem Benutzer zeigen soll.

1066 

1067Verwenden Sie dies für Tools, deren Genehmigungsaufforderung selbst der Punkt ist, wie ein Zustimmungs- oder Zugriffsgenehmigungsschritt, bei dem Auto-Genehmigung bedeuten würde, dass kein Mensch jemals zugestimmt hat. Andere Tools vom gleichen Server behalten ihr normales Genehmigungsverhalten.

1068 

1069Der folgende `tools/list`-Eintrag markiert ein Tool als immer Genehmigung erforderlich.

1070 

1071```json theme={null}

1072{

1073 "name": "grant_access",

1074 "description": "Requests access to a protected resource",

1075 "_meta": {

1076 "anthropic/requiresUserInteraction": true

1077 }

1078}

1079```

1080 

1081Die Anmerkung `anthropic/requiresUserInteraction` erfordert Claude Code v2.1.199 oder später. Frühere Versionen ignorieren sie und wenden den Standard-Genehmigungsfluss an.

1082 

1083Wenn eine Sitzung mit [Remote Control](/de/remote-control) oder einem SDK-Host verbunden ist, markiert Claude Code die Genehmigungsanfrage als Benutzerinteraktion erforderlich, daher zeigt der Client die Genehmigungsaufforderung des Tools für Sie an, anstatt einer One-Tap-Genehmigungsaktion.

1084 

1042<h2 id="respond-to-mcp-elicitation-requests">1085<h2 id="respond-to-mcp-elicitation-requests">

1043 Reagieren Sie auf MCP-Elicitierungsanfragen1086 Reagieren Sie auf MCP-Elicitierungsanfragen

1044</h2>1087</h2>

memory.md +1 −1

Details

235- Fügen Sie OpenAPI-Dokumentationskommentare ein235- Fügen Sie OpenAPI-Dokumentationskommentare ein

236```236```

237 237 

238Regeln ohne ein `paths`-Feld werden bedingungslos geladen und gelten für alle Dateien. Pfadgebundene Regeln werden ausgelöst, wenn Claude Dateien liest, die dem Muster entsprechen, nicht bei jedem Tool-Einsatz.238Regeln ohne ein `paths`-Feld werden bedingungslos geladen und gelten für alle Dateien. Pfadgebundene Regeln werden ausgelöst, wenn Claude Dateien liest, die dem Muster entsprechen, nicht bei jedem Tool-Einsatz. Ab v2.1.198 funktioniert das Matching auch, wenn Claude eine Datei über einen symverlinkten Pfad zum Projektverzeichnis erreicht, zum Beispiel in einem symverlinkten Checkout.

239 239 

240Verwenden Sie Glob-Muster im Feld `paths`, um Dateien nach Erweiterung, Verzeichnis oder einer beliebigen Kombination zu vergleichen:240Verwenden Sie Glob-Muster im Feld `paths`, um Dateien nach Erweiterung, Verzeichnis oder einer beliebigen Kombination zu vergleichen:

241 241 

model-config.md +52 −6

Details

31 31 

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, oder auf das [Organisationsstandardmodell](#organization-default-model), wenn ein Administrator eines festgelegt hat. Ist selbst kein Modellalias |

35| **`best`** | Verwendet Fable 5, wo Ihre Organisation Zugriff darauf hat, andernfalls das neueste Opus-Modell |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| **`fable`** | Verwendet Claude Fable 5 für Ihre schwierigsten und längsten Aufgaben |

37| **`sonnet`** | Verwendet das neueste Sonnet-Modell für tägliche Codierungsaufgaben |37| **`sonnet`** | Verwendet das neueste Sonnet-Modell für tägliche Codierungsaufgaben |


84* `Enter`: Modell wechseln und als Standard speichern84* `Enter`: Modell wechseln und als Standard speichern

85* `s`: Modell nur für diese Sitzung wechseln85* `s`: Modell nur für diese Sitzung wechseln

86 86 

87Die direkte Eingabe von `/model <name>` verhält sich wie `Enter`. Projekt- und verwaltete Einstellungen haben weiterhin Vorrang und werden beim nächsten Start erneut angewendet.87Die direkte Eingabe von `/model <name>` verhält sich wie `Enter`. Projekt- und verwaltete Einstellungen haben weiterhin Vorrang und werden beim nächsten Start erneut angewendet. {/* min-version: 2.1.196 */}Ein [Organisationsstandardmodell](#organization-default-model), das Ihr Administrator konfiguriert hat, um die Benutzerauswahl zu überschreiben, wird auch beim nächsten Start erneut angewendet.

88 88 

89In v2.1.144 bis v2.1.152 galt `/model` nur für die aktuelle Sitzung und `d` in der Auswahl speicherte einen Standard.89In v2.1.144 bis v2.1.152 galt `/model` nur für die aktuelle Sitzung und `d` in der Auswahl speicherte einen Standard.

90 90 


130* **Hauptsitzungsmodell**: `/model`, das `--model`-Flag, die `ANTHROPIC_MODEL`-Umgebungsvariable, die `model`-Einstellung und das Modell, das beim [Fortsetzen einer Sitzung](#setting-your-model) wiederhergestellt wird130* **Hauptsitzungsmodell**: `/model`, das `--model`-Flag, die `ANTHROPIC_MODEL`-Umgebungsvariable, die `model`-Einstellung und das Modell, das beim [Fortsetzen einer Sitzung](#setting-your-model) wiederhergestellt wird

131* **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 umleiten131* **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

132* **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"132* **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"

133* **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`133* **Subagent-Modelle**: das `model`-Feld in [Subagent](/de/sub-agents#choose-a-model)-Frontmatter, der `model`-Parameter des Agent-Tools, `CLAUDE_CODE_SUBAGENT_MODEL` und, auf v2.1.197 und früher, die Modellauswahl im `/agents`-Assistent {/* max-version: 2.1.197 */}

134* **Skill- und Befehlsmodelle**: das `model`-Frontmatter in [Skills und Befehlen](/de/skills)134* **Skill- und Befehlsmodelle**: das `model`-Frontmatter in [Skills und Befehlen](/de/skills)

135* **Advisor-Modell**: die konfigurierte [`advisorModel`](/de/advisor)-Einstellung und das `--advisor`-Flag135* **Advisor-Modell**: die konfigurierte [`advisorModel`](/de/advisor)-Einstellung und das `--advisor`-Flag

136* **Hintergrund-Agent-Modell**: das Modell, das in der [Dispatch-Auswahl](/de/agent-view) ausgewählt ist136* **Hintergrund-Agent-Modell**: das Modell, das in der [Dispatch-Auswahl](/de/agent-view) ausgewählt ist

137 137 

138Das Wechseln zu einem blockierten Modell mit `/model` wird mit einem Fehler abgelehnt, während ein blockiertes `--model`-Flag, `ANTHROPIC_MODEL` oder `model`-Einstellungswert 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-, Skill- oder Befehl-Override fällt auf das geerbte oder Standardmodell zurück, anstatt die Anfrage fehlschlagen zu lassen; eine blockierte `advisorModel`-Einstellung deaktiviert den Advisor für die Sitzung, während ein blockiertes `--advisor`-Flag-Wert beim Start mit einem Fehler beendet wird. Ausgeschlossene Modelle sind in der `/model`-Auswahl verborgen.138Das Wechseln zu einem blockierten Modell mit `/model` wird mit einem Fehler abgelehnt, während ein blockiertes `--model`-Flag, `ANTHROPIC_MODEL` oder `model`-Einstellungswert 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-, Skill- oder Befehl-Override fällt auf das geerbte oder Standardmodell zurück, anstatt die Anfrage fehlschlagen zu lassen; eine blockierte `advisorModel`-Einstellung deaktiviert den Advisor für die Sitzung, während ein blockiertes `--advisor`-Flag-Wert beim Start mit einem Fehler beendet wird. Ausgeschlossene Modelle sind in der `/model`-Auswahl verborgen. {/* min-version: 2.1.199 */}Ab v2.1.199 erscheint eine vollständige Modell-ID in der Liste, die keine integrierte Picker-Zeile hat, wie eine ältere Version, die die Liste fixiert, in der `/model`-Auswahl als eigene beschriftete Zeile. In früheren Versionen ist eine solche ID nur durch Eingabe von `/model <id>` auswählbar.

139 139 

140Automatische Modellwechsel werden auf die gleiche Weise überprüft: Elemente einer [Fallback-Modellkette](#fallback-model-chains) außerhalb der Zulassungsliste werden gelöscht, ein Plan-Modus-Upgrade wie [`opusplan`](#opusplan-model-setting) zu einem ausgeschlossenen Modell wird übersprungen, sodass die Planung auf dem Sitzungsmodell fortgesetzt wird, und ein [automatisches Modell-Fallback](#automatic-model-fallback), dessen Ziel ausgeschlossen ist, wird nicht ausgeführt, sodass die gekennzeichnete Anfrage stattdessen mit einer Ablehnung endet. Das Aktivieren des [Schnellmodus](/de/fast-mode) wird abgelehnt, wenn das Modell, auf dem die Sitzung danach ausgeführt würde, außerhalb der Zulassungsliste liegt.140Automatische Modellwechsel werden auf die gleiche Weise überprüft: Elemente einer [Fallback-Modellkette](#fallback-model-chains) außerhalb der Zulassungsliste werden gelöscht, ein Plan-Modus-Upgrade wie [`opusplan`](#opusplan-model-setting) zu einem ausgeschlossenen Modell wird übersprungen, sodass die Planung auf dem Sitzungsmodell fortgesetzt wird, und ein [automatisches Modell-Fallback](#automatic-model-fallback), dessen Ziel ausgeschlossen ist, wird nicht ausgeführt, sodass die gekennzeichnete Anfrage stattdessen mit einer Ablehnung endet. Das Aktivieren des [Schnellmodus](/de/fast-mode) wird abgelehnt, wenn das Modell, auf dem die Sitzung danach ausgeführt würde, außerhalb der Zulassungsliste liegt.

141 141 


246 246 

247Die beiden Mechanismen setzen sich zusammen: Ein Modell ist nur selektierbar, wenn es durch `availableModels` zulässig ist und nicht durch die Organisation eingeschränkt ist. Organisationsbeschränkungen werden an Sitzungen auf der Anthropic API und [LLM Gateway](/de/llm-gateway)-Bereitstellungen bereitgestellt. Sitzungen auf Bedrock, Vertex AI, Foundry und Claude Platform auf AWS erhalten sie nicht, daher verwenden Sie stattdessen `availableModels` auf diesen Anbietern.247Die beiden Mechanismen setzen sich zusammen: Ein Modell ist nur selektierbar, wenn es durch `availableModels` zulässig ist und nicht durch die Organisation eingeschränkt ist. Organisationsbeschränkungen werden an Sitzungen auf der Anthropic API und [LLM Gateway](/de/llm-gateway)-Bereitstellungen bereitgestellt. Sitzungen auf Bedrock, Vertex AI, Foundry und Claude Platform auf AWS erhalten sie nicht, daher verwenden Sie stattdessen `availableModels` auf diesen Anbietern.

248 248 

249<h2 id="organization-default-model">

250 Organisationsstandardmodell

251</h2>

252 

253{/* plan-availability: feature=org-default-model plans=enterprise */}

254 

255Organisationsadministratoren auf Claude Enterprise-Plänen können ein Standardmodell für Claude Code-Mitglieder aus der claude.ai Admin-Konsole festlegen, für die gesamte Organisation oder pro benutzerdefinierte Rolle. Wenn eines festgelegt ist, wird die Option „Standard" zu diesem Modell aufgelöst, anstatt zum [Kontotyp-Standard](#default-model-setting). Erfordert Claude Code v2.1.196 oder später.

256 

257Die Zeile „Standard" in der `/model`-Auswahl zeigt den Namen des Organisationsstandardmodells mit der Bezeichnung „Org default". Die Bezeichnung lautet „Org default", ob der Administrator den Standard für die gesamte Organisation oder für Ihre Rolle festgelegt hat. Ein Rollen-Standard deckt Mitglieder dieser benutzerdefinierten Rolle ab und hat Vorrang vor dem organisationsweiten Standard; wenn mehrere Ihrer Rollen unterschiedliche Standards festlegen, gilt das leistungsfähigste Modell.

258 

259Das Organisationsstandardmodell ist ein Ausgangspunkt, keine Beschränkung, und jede andere Modellauswahl hat Vorrang vor ihm:

260 

261* das `--model`-Flag und die `ANTHROPIC_MODEL`-Umgebungsvariable

262* ein `model`-Wert in [verwalteten Einstellungen](/de/settings#settings-files) oder bereitgestellt über `--settings`

263* ein `model`-Wert in Ihren Benutzer-, Projekt- oder lokalen Einstellungen, einschließlich eines Modells, das Sie mit `/model` speichern

264 

265Administratoren können auch das Organisationsstandardmodell konfigurieren, um die Benutzerauswahl zu überschreiben. Mit Überschreibung aktiviert hat es Vorrang vor dem `model`-Wert in Benutzer-, Projekt- und lokalen Einstellungen, daher gilt ein Modell, das Sie mit `/model` speichern, für die aktuelle Sitzung und das Organisationsstandardmodell kehrt beim nächsten Start zurück. Wenn sich Ihre Auswahl unterscheidet, zeigt `/model` `Your organization's default (<model>) applies on restart`. Das `--model`-Flag, `ANTHROPIC_MODEL`, verwaltete Einstellungen und `--settings` haben weiterhin Vorrang, auch wenn die Überschreibung aktiviert ist. Die Überschreibung ist für eine begrenzte Anzahl von Organisationen verfügbar; fragen Sie Ihr Anthropic-Kontoteam nach der Verfügbarkeit.

266 

267Um einzuschränken, welche Modelle Mitglieder auswählen können, verwenden Sie stattdessen [Organisationsmodellbeschränkungen](#organization-model-restrictions) oder [`availableModels`](#restrict-model-selection).

268 

269Claude Code liest das Organisationsstandardmodell einmal beim Start, daher wird ein Standard, den der Administrator während einer Sitzung ändert, beim nächsten Start wirksam.

270 

271Wenn das Organisationsstandardmodell die Benutzerauswahl nicht überschreibt, löscht der erste interaktive Start nach der Änderung des Administrators den `model`-Schlüssel aus Ihren Benutzereinstellungen einmal, damit der neue Standard gilt. Es ändert nichts anderes in der Datei, und ein Modell, das Sie nach diesem Start mit `/model` speichern, wird beibehalten.

272 

273Das Organisationsstandardmodell durchläuft die gleichen Beschränkungsprüfungen wie jedes andere Standardmodell, bevor es angenommen wird:

274 

275* [`availableModels`](#restrict-model-selection) allein schränkt die Option „Standard" niemals ein, daher gilt ein Organisationsstandardmodell außerhalb der Zulassungsliste weiterhin. Wenn [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) auch gesetzt ist, wird ein Organisationsstandardmodell außerhalb der Zulassungsliste zum ersten Zulassungslisten-Eintrag neu zugeordnet, wie jedes andere Standard

276* ein Organisationsstandardmodell, das [Organisationsmodellbeschränkungen](#organization-model-restrictions) für Ihr Konto verweigern, wird durch das neueste zulässige Modell in seiner Familie oder eine kostengünstigere Familie ersetzt, wenn jede Version davon eingeschränkt ist

277* ein Organisationsstandardmodell, das Ihrem Konto überhaupt nicht verfügbar ist, wie Fable 5 unter [Zero Data Retention](/de/zero-data-retention), wird übersprungen, und die Option „Standard" wird zum Kontotyp-Standard aufgelöst

278 

279Ab v2.1.199 behält die `/model`-Auswahl eine separate Zeile für die übliche Familie Ihres Kontotyps, wenn das Organisationsstandardmodell eine andere Modellfamilie ist, damit Sie für eine Sitzung noch zu ihr wechseln können. In v2.1.196 bis v2.1.198 fehlt diese Zeile in der Auswahl.

280 

281Das Organisationsstandardmodell wird an Sitzungen bereitgestellt, die sich mit der Anthropic API authentifizieren. Sitzungen auf [LLM Gateway](/de/llm-gateway)-Bereitstellungen, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und Claude Platform auf AWS erhalten es nicht. Um einen Standard auf diesen Bereitstellungen zu setzen, verwenden Sie stattdessen den `model`-Schlüssel in [verwalteten Einstellungen](/de/settings#settings-files).

282 

283<h2 id="organization-effort-limits">

284 Organisationsaufwandsgrenzen

285</h2>

286 

287{/* plan-availability: feature=org-effort-limits plans=enterprise */}

288 

289Organisationsadministratoren auf Claude Enterprise-Plänen können ein maximales [Aufwandsniveau](#adjust-effort-level) pro Modell für jede benutzerdefinierte Rolle neben [Organisationsmodellbeschränkungen](#organization-model-restrictions) auf Rollenebene festlegen. Ebenen über der Obergrenze werden nicht in der `/effort`-Auswahl angeboten, und die Benennung einer höheren Ebene mit `--effort` oder `/effort` wird stattdessen mit der Obergrenze ausgeführt. In interaktiven Sitzungen und einfachen Text-`--print`-Läufen wird eine Warnung angezeigt, die die angeforderten und angewendeten Ebenen benennt; bei `json`- oder `stream-json`-Ausgabe oder in Hintergrund-Agenten wird die Begrenzung stillschweigend angewendet. Obergrenzen sind pro Modell, daher kann der Wechsel von Modellen ändern, welche Ebenen verfügbar sind. Wenn mehrere Ihrer Rollen das gleiche Modell gewähren, gilt die am wenigsten restriktive Obergrenze. Erfordert Claude Code v2.1.195 oder später.

290 

291Aufwandsgrenzen werden zusammen mit [Organisationsmodellbeschränkungen](#organization-model-restrictions) bereitgestellt und folgen der gleichen Anbieter-Verfügbarkeit: Sitzungen auf Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und Claude Platform auf AWS erhalten sie nicht.

292 

249<h2 id="special-model-behavior">293<h2 id="special-model-behavior">

250 Spezielles Modellverhalten294 Spezielles Modellverhalten

251</h2>295</h2>


263 307 

264Enterprise Pay-as-you-go bedeutet eine Enterprise-Organisation, die nach Nutzung statt nach Abonnementplatz abgerechnet wird.308Enterprise Pay-as-you-go bedeutet eine Enterprise-Organisation, die nach Nutzung statt nach Abonnementplatz abgerechnet wird.

265 309 

266Wenn verwaltete Einstellungen [die Zulassungsliste für das Standardmodell erzwingen](#enforce-the-allowlist-for-the-default-model) und der Kontotyp-Standard nicht in `availableModels` enthalten ist, wird `default` zum erzwungenen Standard aufgelöst, anstatt zum Kontotyp-Standard oben.310Wenn ein Administrator ein [Organisationsstandardmodell](#organization-default-model) festgelegt hat, wird `default` zu diesem Modell aufgelöst, anstatt zum Kontotyp-Standard oben. Erfordert Claude Code v2.1.196 oder später.

311 

312Wenn verwaltete Einstellungen [die Zulassungsliste für das Standardmodell erzwingen](#enforce-the-allowlist-for-the-default-model) und der Kontotyp-Standard nicht in `availableModels` enthalten ist, wird `default` zum erzwungenen Standard aufgelöst, anstatt zum Kontotyp-Standard oben. Wenn beide gelten, ersetzt das Organisationsstandardmodell zuerst den Kontotyp-Standard und die Erzwingung wird dann darauf angewendet: Ein zulässiges Organisationsstandardmodell wird beibehalten, während eines außerhalb der Liste zum erzwungenen Standard aufgelöst wird.

267 313 

268Fable 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.314Fable 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.

269 315 


379| Sonnet 5, Opus 4.8 und Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |425| Sonnet 5, Opus 4.8 und Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

380| Opus 4.6 und Sonnet 4.6 | `low`, `medium`, `high`, `max` |426| Opus 4.6 und Sonnet 4.6 | `low`, `medium`, `high`, `max` |

381 427 

382Wenn 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.428Wenn 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. Ihre Organisation kann auch begrenzen, welche Ebenen für ein Modell verfügbar sind; siehe [Organisationsaufwandsgrenzen](#organization-effort-limits).

383 429 

384Der Standard-Aufwand ist `high` auf Fable 5, Sonnet 5, Opus 4.8, Opus 4.6 und Sonnet 4.6 und `xhigh` auf Opus 4.7.430Der Standard-Aufwand ist `high` auf Fable 5, Sonnet 5, Opus 4.8, Opus 4.6 und Sonnet 4.6 und `xhigh` auf Opus 4.7.

385 431 

Details

1184 1184 

1185Claude 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.1185Claude 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.

1186 1186 

1187Das Attribut `attempt` auf dem Ereignis zeichnet auf, wie viele Versuche insgesamt unternommen wurden. `CLAUDE_CODE_MAX_RETRIES` hat einen Standardwert von 10 und ist auf 15 begrenzt. Wenn die Anfrage alle Wiederholungen bei einem vorübergehenden Fehler erschöpft, ist `attempt` um eins höher als dieses effektive Limit: 11 standardmäßig und nie mehr als 16. Ein niedrigerer Wert zeigt einen nicht wiederholbaren Fehler wie eine `400` Antwort an.1187Das Attribut `attempt` auf dem Ereignis zeichnet auf, wie viele Versuche insgesamt unternommen wurden. `CLAUDE_CODE_MAX_RETRIES` hat einen Standardwert von 10 und ist auf 15 begrenzt; {/* min-version: 2.1.199 */}ab v2.1.199 erhöht `CLAUDE_CODE_RETRY_WATCHDOG` den Standardwert und entfernt die Obergrenze. Wenn die Anfrage alle Wiederholungen bei einem vorübergehenden Fehler erschöpft, ist `attempt` um eins höher als dieses effektive Limit: 11 standardmäßig und nie mehr als 16, es sei denn, der Watchdog ist gesetzt. Ein niedrigerer Wert zeigt einen nicht wiederholbaren Fehler wie eine `400` Antwort an.

1188 1188 

1189Um 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.1189Um 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.

1190 1190 

Details

237* Force-Push oder direktes Pushen zu `main`237* Force-Push oder direktes Pushen zu `main`

238* {/* min-version: 2.1.182 */}`git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` oder `git stash clear`, von denen der Klassifizierer annimmt, dass sie nicht committete Änderungen verwerfen würden238* {/* min-version: 2.1.182 */}`git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` oder `git stash clear`, von denen der Klassifizierer annimmt, dass sie nicht committete Änderungen verwerfen würden

239* `git commit --amend`, wenn der Commit am HEAD nicht in dieser Sitzung erstellt wurde239* `git commit --amend`, wenn der Commit am HEAD nicht in dieser Sitzung erstellt wurde

240* {/* min-version: 2.1.198 */}Ab v2.1.198 `git commit --amend`, wenn der Commit am HEAD bereits gepusht wurde. Ein reines Reword der Nachricht wird nicht blockiert: `--amend -m` ohne neu gestaged Inhalte, bei einem Commit, den Claude während dieser Sitzung erstellt hat

240* `terraform destroy`, `pulumi destroy`, `cdk destroy` oder `terragrunt destroy`, und Anwendung eines Plans, der Ressourcen zerstört241* `terraform destroy`, `pulumi destroy`, `cdk destroy` oder `terragrunt destroy`, und Anwendung eines Plans, der Ressourcen zerstört

241 242 

242Claude Code v2.1.195 und später blockieren standardmäßig weitere Kategorien. Mehrere hängen von [Umgebungs](/de/auto-mode-config#define-trusted-infrastructure)-Einträgen ab, wie sensible Remote-Ziele und geschützte IaC-Bereiche, die Sie auf konkrete Namen eingrenzen können.243Claude Code v2.1.195 und später blockieren standardmäßig weitere Kategorien. Mehrere hängen von [Umgebungs](/de/auto-mode-config#define-trusted-infrastructure)-Einträgen ab, wie sensible Remote-Ziele und geschützte IaC-Bereiche, die Sie auf konkrete Namen eingrenzen können.


251* Interaktive Shells oder Port-Forwards in ein sensibles Remote-Ziel252* Interaktive Shells oder Port-Forwards in ein sensibles Remote-Ziel

252* Öffnen eines Tunnels oder einer Reverse Shell, die einen lokalen Service vom öffentlichen Internet erreichbar macht253* Öffnen eines Tunnels oder einer Reverse Shell, die einen lokalen Service vom öffentlichen Internet erreichbar macht

253* Drucken einer Live-Anmeldedaten oder eines Tokens in das Transkript oder eine Datei254* Drucken einer Live-Anmeldedaten oder eines Tokens in das Transkript oder eine Datei

254* Zugriff auf einen PII- oder regulierten Datenspeicherort oder Kopieren von Daten aus einem255* Zugriff auf einen Ort, der in Ihrer [Umgebung](/de/auto-mode-config#define-trusted-infrastructure) als sensible Datenlocation aufgelistet ist, oder Kopieren von Daten aus einem. {/* min-version: 2.1.198 */}Ab v2.1.198 blockiert dies auch das Senden von Daten von einem zu einer Zielgruppe, die der Eintrag ausschließt

255* Umleitung einer Paketinstallation um Ihre interne Paketregistrierung zu einer öffentlichen Registrierung256* Umleitung einer Paketinstallation um Ihre interne Paketregistrierung zu einer öffentlichen Registrierung. {/* min-version: 2.1.198 */}Ab v2.1.198 gilt dies auch, wenn Sie Claude in der Konversation mitgeteilt haben, dass eine interne Registrierung oder ein Mirror existiert, nicht nur wenn eine in Ihrer Umgebung aufgelistet ist

256* Ausführung eines Befehls mit einem Flag, das einen Sicherheitsschutz deaktiviert, wie `--insecure`257* Ausführung eines Befehls mit einem Flag, das einen Sicherheitsschutz deaktiviert, wie `--insecure`

258* Starten einer autonomen Agent-Schleife, die ohne menschliche Genehmigung oder Sandbox läuft, wie eine mit `--dangerously-skip-permissions` oder `--no-sandbox` gestartete. {/* min-version: 2.1.198 */}Ab v2.1.198 deckt dies auch das Ausführen eines Third-Party-Agenten oder Eval-Harness mit deaktivierter Isolation und Pro-Aktion-Genehmigung ab, wie ein Runner, der mit `--yes-always` gestartet wurde

257* [Claude in Chrome](/de/chrome)-Browser-Aktionen, die Seiteninhalte, Cookies oder Anmeldedaten off-origin senden könnten259* [Claude in Chrome](/de/chrome)-Browser-Aktionen, die Seiteninhalte, Cookies oder Anmeldedaten off-origin senden könnten

258 260 

261Claude Code v2.1.198 und später blockieren standardmäßig auch diese:

262 

263* Löschen von Dateien in `/tmp`, `$TMPDIR` oder einem anderen gemeinsamen Scratch- oder Cache-Verzeichnis nach Wildcard, Glob oder Altersfilter anstelle eines spezifischen benannten Pfads

264* Einbeziehen sensibler Details in Inhalte, die gesendet, hochgeladen, veröffentlicht oder an andere Personen oder gemeinsame Systeme geschrieben werden, wenn Ihre eigene Nachricht diese Details nicht für diesen Empfänger autorisiert hat

265* Senden von Tastenanschlägen an Claudes eigenen tmux-Pane, um seine eigene Schnittstelle zu steuern, was der Klassifizierer als Claude behandelt, das seine eigenen Berechtigungen oder Überwachung ändert

266 

259**Standardmäßig zugelassen**:267**Standardmäßig zugelassen**:

260 268 

261* Lokale Dateioperationen in Ihrem Arbeitsverzeichnis269* Lokale Dateioperationen in Ihrem Arbeitsverzeichnis


272* Senden von Daten an die vertrauenswürdigen Domains, Buckets und Services, die Sie in [`environment`](/de/auto-mode-config#define-trusted-infrastructure) auflisten. Dies deckt nur Datenfluss ab, nicht destruktive oder Anmeldedaten-Operationen auf derselben Infrastruktur280* Senden von Daten an die vertrauenswürdigen Domains, Buckets und Services, die Sie in [`environment`](/de/auto-mode-config#define-trusted-infrastructure) auflisten. Dies deckt nur Datenfluss ab, nicht destruktive oder Anmeldedaten-Operationen auf derselben Infrastruktur

273* [Claude in Chrome](/de/chrome)-Navigation zu einer vertrauenswürdigen internen Domain, localhost oder einer URL, die Sie benannt haben281* [Claude in Chrome](/de/chrome)-Navigation zu einer vertrauenswürdigen internen Domain, localhost oder einer URL, die Sie benannt haben

274 282 

275Sandbox-Netzwerkzugriff-Anfragen werden durch den Klassifizierer geleitet, anstatt standardmäßig zugelassen zu werden. Führen Sie `claude auto-mode defaults` aus, um die vollständigen Regellisten zu sehen. Wenn Routineaktionen blockiert werden, kann ein Administrator vertrauenswürdige Repositories, Buckets und Dienste über die `autoMode.environment`-Einstellung hinzufügen: siehe [Auto-Modus konfigurieren](/de/auto-mode-config).283Sandbox-Netzwerkzugriff-Anfragen werden durch den Klassifizierer geleitet, anstatt standardmäßig zugelassen zu werden. {/* min-version: 2.1.198 */}Ab v2.1.198 verwendet der Klassifizierer sein Urteil für einen Netzwerk-Host und Port wieder, anstatt bei jeder Verbindung erneut auszuführen:

284 

285* Ein Allow wird wiederverwendet, bis neuer Inhalt in die Konversation eintritt, an welchem Punkt dieser Host erneut überprüft wird

286* In der interaktiven CLI wird ein Deny gelöscht, wenn die Runde endet

287* Im [nicht-interaktiven Modus](/de/headless) und Agent SDK-Sitzungen gibt es keine Rundenbegrenzung, daher wird ein Deny für den Rest des Laufs wiederverwendet

288* Das Ändern Ihres Berechtigungsmodus oder Ihrer Regeln löscht alle zwischengespeicherten Urteile

289 

290Führen Sie `claude auto-mode defaults` aus, um die vollständigen Regellisten zu sehen. Wenn Routineaktionen blockiert werden, kann ein Administrator vertrauenswürdige Repositories, Buckets und Dienste über die `autoMode.environment`-Einstellung hinzufügen: siehe [Auto-Modus konfigurieren](/de/auto-mode-config).

276 291 

277<h3 id="boundaries-you-state-in-conversation">292<h3 id="boundaries-you-state-in-conversation">

278 Grenzen, die Sie im Gespräch angeben293 Grenzen, die Sie im Gespräch angeben


300 315 

301 1. Aktionen, die Ihren [Allow- oder Deny-Regeln](/de/permissions#manage-permissions) entsprechen, werden sofort gelöst, außer Schreibvorgänge zu [geschützten Pfaden](#protected-paths), die zum Klassifizierer geleitet werden, auch wenn eine Allow-Regel passt316 1. Aktionen, die Ihren [Allow- oder Deny-Regeln](/de/permissions#manage-permissions) entsprechen, werden sofort gelöst, außer Schreibvorgänge zu [geschützten Pfaden](#protected-paths), die zum Klassifizierer geleitet werden, auch wenn eine Allow-Regel passt

302 2. Schreibgeschützte Aktionen und Dateibearbeitungen in Ihrem Arbeitsverzeichnis werden automatisch genehmigt, außer Schreibvorgänge zu [geschützten Pfaden](#protected-paths)317 2. Schreibgeschützte Aktionen und Dateibearbeitungen in Ihrem Arbeitsverzeichnis werden automatisch genehmigt, außer Schreibvorgänge zu [geschützten Pfaden](#protected-paths)

303 3. Alles andere geht an den Klassifizierer318 3. Alles andere geht an den Klassifizierer. {/* min-version: 2.1.199 */}Ab v2.1.199 überspringt ein MCP-Tool, das mit [`_meta["anthropic/requiresUserInteraction"]`](/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet ist, den Klassifizierer und fordert Sie direkt auf, daher wird ein Zustimmungsschritt niemals im Namen des Tool-Autors automatisch genehmigt

304 4. Wenn der Klassifizierer blockiert, erhält Claude den Grund und versucht eine Alternative319 4. Wenn der Klassifizierer blockiert, erhält Claude den Grund und versucht eine Alternative

305 320 

306 Beim Eintritt in den Auto-Modus werden breite Allow-Regeln, die willkürliche Code-Ausführung gewähren, gelöscht:321 Beim Eintritt in den Auto-Modus werden breite Allow-Regeln, die willkürliche Code-Ausführung gewähren, gelöscht:


326 </Accordion>341 </Accordion>

327 342 

328 <Accordion title="Kosten und Latenz">343 <Accordion title="Kosten und Latenz">

329 Der Klassifizierer läuft auf einem serverkonfigurierten Modell, das unabhängig von Ihrer `/model`-Auswahl ist, daher ändert das Wechseln von Modellen die Klassifizierer-Verfügbarkeit nicht. Klassifizierer-Aufrufe zählen zu Ihrer Token-Nutzung. Jede Prüfung sendet einen Teil des Transkripts plus die ausstehende Aktion, was einen Roundtrip vor der Ausführung hinzufügt. Lesevorgänge und Arbeitsverzeichnis-Bearbeitungen außerhalb geschützter Pfade überspringen den Klassifizierer, daher kommt der Overhead hauptsächlich von Shell-Befehlen und Netzwerkoperationen.344 Der Klassifizierer läuft auf einem serverkonfigurierten Modell, das unabhängig von Ihrer `/model`-Auswahl ist, daher ändert das Wechseln von Modellen die Klassifizierer-Verfügbarkeit nicht. Klassifizierer-Aufrufe zählen zu Ihrer Token-Nutzung. Jede Prüfung sendet einen Teil des Transkripts plus die ausstehende Aktion, was einen Roundtrip vor der Ausführung hinzufügt. Lesevorgänge und Arbeitsverzeichnis-Bearbeitungen außerhalb geschützter Pfade überspringen den Klassifizierer, daher kommt der Overhead hauptsächlich von Shell-Befehlen und Netzwerkoperationen. {/* min-version: 2.1.198 */}Ab v2.1.198 wird ein Sandbox-Netzwerk-Urteil für einen Host und Port wiederverwendet, anstatt bei jeder Verbindung erneut klassifiziert zu werden, daher fügen wiederholte Verbindungen zum gleichen Host nicht jeweils eine Prüfung hinzu. [Was der Klassifizierer standardmäßig blockiert](#what-the-classifier-blocks-by-default) beschreibt, wie lange ein Allow und ein Deny andauern.

330 </Accordion>345 </Accordion>

331</AccordionGroup>346</AccordionGroup>

332 347 


334 Nur vorab genehmigte Tools mit dontAsk-Modus zulassen349 Nur vorab genehmigte Tools mit dontAsk-Modus zulassen

335</h2>350</h2>

336 351 

337Der `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.352`dontAsk`-Modus lehnt automatisch jeden Tool-Aufruf ab, der sonst auffordern würde. Die Statusleiste zeigt `⏵⏵ don't ask on`, während dieser Modus aktiv ist. 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. {/* min-version: 2.1.199 */}Ab v2.1.199 wird ein MCP-Tool, das mit [`_meta["anthropic/requiresUserInteraction"]`](/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet ist, auch in diesem Modus abgelehnt, selbst wenn eine Allow-Regel darauf zutrifft, da seine Genehmigungskarte eine Antwort benötigt, die dieser Modus nie erfasst. 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.

338 353 

339Legen Sie ihn beim Start mit dem Flag fest:354Legen Sie ihn beim Start mit dem Flag fest:

340 355 


346 Alle Prüfungen mit bypassPermissions-Modus überspringen361 Alle Prüfungen mit bypassPermissions-Modus überspringen

347</h2>362</h2>

348 363 

349Der `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.364Der `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. {/* min-version: 2.1.199 */}Ab v2.1.199 werden auch MCP-Tools, die mit [`_meta["anthropic/requiresUserInteraction"]`](/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, weiterhin aufgefordert. 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.

350 365 

351Sie 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:366Sie 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:

352 367 

permissions.md +14 −3

Details

272Read- und Edit-Regeln folgen beide der [gitignore](https://git-scm.com/docs/gitignore)-Spezifikation mit vier unterschiedlichen Mustertypen:272Read- und Edit-Regeln folgen beide der [gitignore](https://git-scm.com/docs/gitignore)-Spezifikation mit vier unterschiedlichen Mustertypen:

273 273 

274| Muster | Bedeutung | Beispiel | Gleicht ab |274| Muster | Bedeutung | Beispiel | Gleicht ab |

275| -------------------- | -------------------------------------- | -------------------------------- | ------------------------------ |275| -------------------- | -------------------------------------- | -------------------------------- | ---------------------------------------------------- |

276| `//path` | Absoluter Pfad vom Dateisystem-Root | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |276| `//path` | Absoluter Pfad vom Dateisystem-Root | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |

277| `~/path` | Pfad vom Home-Verzeichnis | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |277| `~/path` | Pfad vom Home-Verzeichnis | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |

278| `/path` | Pfad relativ zum Projekt-Root | `Edit(/src/**/*.ts)` | `<project root>/src/**/*.ts` |278| `/path` | Pfad relativ zur Einstellungsquelle | `Edit(/src/**/*.ts)` | `<project root>/src/**/*.ts` in Projekteinstellungen |

279| `path` oder `./path` | Pfad relativ zum aktuellen Verzeichnis | `Read(*.env)` | `<cwd>/*.env` |279| `path` oder `./path` | Pfad relativ zum aktuellen Verzeichnis | `Read(*.env)` | `<cwd>/*.env` |

280 280 

281<Warning>281<Warning>

282 Ein Muster wie `/Users/alice/file` ist KEIN absoluter Pfad. Es ist relativ zum Projekt-Root. Verwenden Sie `//Users/alice/file` für absolute Pfade.282 Ein Muster wie `/Users/alice/file` ist kein absoluter Pfad. Der einzelne führende Schrägstrich verankert sich an der Einstellungsquelle, nicht am Dateisystem-Root. Verwenden Sie `//Users/alice/file` für absolute Pfade.

283</Warning>283</Warning>

284 284 

285Ein `/path`-Muster verankert sich am Verzeichnis, das der Einstellungsdatei zugeordnet ist, die es definiert, daher gleicht die gleiche Regel verschiedene Orte ab, je nachdem, wo Sie sie platzieren:

286 

287| Regel definiert in | `/path` wird aufgelöst zu |

288| :-------------------------------------------------------------- | :------------------------- |

289| Projekt- oder lokale Einstellungen, wie `.claude/settings.json` | `<project root>/path` |

290| Benutzereinstellungen unter `~/.claude/settings.json` | `~/.claude/path` |

291| Eine Datei, die mit `--settings <file>` übergeben wird | `<directory of file>/path` |

292| CLI-Flags, `/permissions` oder Sitzungsregeln | `<original cwd>/path` |

293 

294Eine Deny-Regel wie `Read(/secrets/**)` in Benutzereinstellungen blockiert `~/.claude/secrets/**`, nicht ein `secrets`-Verzeichnis in Ihrem Projekt. Um eine Regel in Benutzereinstellungen zu schreiben, die sich in jedem Projekt anwendet, verwenden Sie stattdessen einen `//` absoluten Pfad oder einen `~/` Home-relativen Pfad.

295 

285Unter Windows werden Pfade vor dem Abgleich in POSIX-Form normalisiert. `C:\Users\alice` wird zu `/c/Users/alice`, verwenden Sie also `//c/**/.env`, um `.env`-Dateien überall auf diesem Laufwerk abzugleichen. Um über alle Laufwerke hinweg abzugleichen, verwenden Sie `//**/.env`.296Unter Windows werden Pfade vor dem Abgleich in POSIX-Form normalisiert. `C:\Users\alice` wird zu `/c/Users/alice`, verwenden Sie also `//c/**/.env`, um `.env`-Dateien überall auf diesem Laufwerk abzugleichen. Um über alle Laufwerke hinweg abzugleichen, verwenden Sie `//**/.env`.

286 297 

287Beispiele:298Beispiele:

plugins.md +2 −2

Details

352Wenn Sie Änderungen an Ihrem Plugin vornehmen, führen Sie `/reload-plugins` aus, um die Updates zu übernehmen, ohne neu zu starten. Dies lädt Plugins, Skills, Agents, Hooks, Plugin-MCP-Server und Plugin-LSP-Server neu. Testen Sie Ihre Plugin-Komponenten:352Wenn Sie Änderungen an Ihrem Plugin vornehmen, führen Sie `/reload-plugins` aus, um die Updates zu übernehmen, ohne neu zu starten. Dies lädt Plugins, Skills, Agents, Hooks, Plugin-MCP-Server und Plugin-LSP-Server neu. Testen Sie Ihre Plugin-Komponenten:

353 353 

354* Versuchen Sie Ihre Skills mit `/plugin-name:skill-name`354* Versuchen Sie Ihre Skills mit `/plugin-name:skill-name`

355* Überprüfen Sie, dass Agents in `/agents` angezeigt werden355* Überprüfen Sie, dass Agents in `/context` unter Custom Agents angezeigt werden, oder erwähnen Sie einen mit seinem scoped Namen mit @

356* Überprüfen Sie, dass Hooks wie erwartet funktionieren356* Überprüfen Sie, dass Hooks wie erwartet funktionieren

357 357 

358<Tip>358<Tip>


502 claude --plugin-dir ./my-plugin502 claude --plugin-dir ./my-plugin

503 ```503 ```

504 504 

505 Testen Sie jede Komponente: Führen Sie Ihre Befehle aus, überprüfen Sie, dass Agents in `/agents` angezeigt werden, und überprüfen Sie, dass Hooks korrekt ausgelöst werden.505 Testen Sie jede Komponente: Führen Sie Ihre Befehle aus, überprüfen Sie, dass Agents in `/context` angezeigt werden, und überprüfen Sie, dass Hooks korrekt ausgelöst werden.

506 </Step>506 </Step>

507</Steps>507</Steps>

508 508 

Details

79 79 

80**Integrationspunkte**:80**Integrationspunkte**:

81 81 

82* Agents erscheinen in der `/agents` Schnittstelle82* Agents erscheinen in der [@-mention Typeahead](/de/sub-agents#invoke-subagents-explicitly) unter ihrem scoped Namen, wie `my-plugin:code-reviewer`, sobald das Plugin aktiviert ist

83* Claude kann Agents automatisch basierend auf dem Task-Kontext aufrufen83* Claude kann Agents automatisch basierend auf dem Task-Kontext aufrufen

84* Agents können manuell von Benutzern aufgerufen werden84* Agents können manuell von Benutzern aufgerufen werden

85* Plugin-Agents funktionieren neben integrierten Claude-Agents85* Plugin-Agents funktionieren neben integrierten Claude-Agents

sandboxing.md +42 −4

Details

199 Anmeldedaten schützen199 Anmeldedaten schützen

200</h3>200</h3>

201 201 

202Die Einstellung `sandbox.credentials` deklariert Anmeldedatendateien und Umgebungsvariablen, auf die Sandbox-Befehle nicht zugreifen dürfen. Aufgelistete Dateipfade werden für Lesevorgänge in der Sandbox blockiert, der gleiche Block, den `filesystem.denyRead` anwendet, und aufgelistete Umgebungsvariablen werden vor jedem Sandbox-Befehl deaktiviert. Der dedizierte `credentials`-Block hält Anmeldedatenregeln zusammen mit der Umgebungsvariablen-Deaktivierung und getrennt von allgemeinen Dateisystem-Regeln. Erfordert Claude Code v2.1.187 oder später.202Die Einstellung `sandbox.credentials` deklariert Anmeldedatendateien und Umgebungsvariablen, um Sandbox-Befehle davor zu schützen. Jeder Eintrag benennt einen Dateipfad oder eine Umgebungsvariable und einen `mode`. Der dedizierte `credentials`-Block hält Anmeldedatenregeln zusammen und getrennt von allgemeinen Dateisystem-Regeln. Erfordert Claude Code v2.1.187 oder später.

203 

204Für Einträge mit `"mode": "deny"` werden Dateipfade für Lesevorgänge in der Sandbox blockiert, die gleiche Einschränkung, die `filesystem.denyRead` anwendet, und Umgebungsvariablen werden vor jedem Sandbox-Befehl deaktiviert.

203 205 

204Das folgende Beispiel blockiert Lesevorgänge der AWS-Anmeldedatendatei und des SSH-Verzeichnisses und entfernt `GITHUB_TOKEN` und `NPM_TOKEN` aus der Umgebung von Sandbox-Befehlen:206Das folgende Beispiel blockiert Lesevorgänge der AWS-Anmeldedatendatei und des SSH-Verzeichnisses und entfernt `GITHUB_TOKEN` und `NPM_TOKEN` aus der Umgebung von Sandbox-Befehlen:

205 207 


221}223}

222```224```

223 225 

224Jeder Eintrag trägt `"mode": "deny"`, was der einzige unterstützte Wert ist. Das explizite `mode`-Feld hält das Schema zukunftssicher mit zukünftigen Modi. Dateipfade folgen den gleichen [Präfix-Regeln](/de/settings#sandbox-path-prefixes) wie `sandbox.filesystem.*`-Einstellungen, und Einträge aus jedem [Einstellungs-Scope](/de/settings#settings-precedence) werden zusammengeführt. Da der einzige Modus `deny` ist, kann jeder Scope Einschränkungen hinzufügen, aber keiner kann sie entfernen.226Dateieinträge unterstützen nur `"mode": "deny"`. Umgebungsvariablen-Einträge akzeptieren auch `"mode": "mask"`, das unten beschrieben wird.

227 

228Dateipfade folgen den gleichen [Präfix-Regeln](/de/settings#sandbox-path-prefixes) wie `sandbox.filesystem.*`-Einstellungen, und `deny`-Einträge aus jedem [Einstellungs-Scope](/de/settings#settings-precedence) werden zusammengeführt. Ein `deny`-Eintrag engt den Zugriff nur ein, daher kann jeder Scope einen hinzufügen, aber keiner kann einen entfernen, den ein anderer Scope hinzugefügt hat.

225 229 

226Es gibt keine integrierte Anmeldedaten-Ablehnungsliste, daher werden nur die Dateien und Variablen, die Sie auflisten, eingeschränkt. Die Einstellung betrifft nur Sandbox-Bash-Befehle. Um Anthropic- und Cloud-Provider-Anmeldedaten aus allen Subprozessen unabhängig von Sandboxing zu entfernen, setzen Sie [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/de/env-vars).230Es gibt keine integrierte Anmeldedaten-Ablehnungsliste, daher werden nur die Dateien und Variablen, die Sie auflisten, eingeschränkt. Die Einstellung betrifft nur Sandbox-Bash-Befehle. Um Anthropic- und Cloud-Provider-Anmeldedaten aus allen Subprozessen unabhängig von Sandboxing zu entfernen, setzen Sie [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/de/env-vars).

227 231 

232<h4 id="mask-environment-variables">

233 Umgebungsvariablen maskieren

234</h4>

235 

236`"mode": "mask"` schützt eine Anmeldedaten, während die Tools, die sich damit authentifizieren, funktionieren. `deny` entfernt die Variable vollständig, was auch Tools bricht, die sie benötigen, wie `gh` oder `npm`. Erfordert Claude Code v2.1.199 oder später.

237 

238Mit `mask` sieht der Sandbox-Befehl einen pro-Sitzungs-Sentinel-Wert anstelle des echten. Wenn eine Anfrage die Sandbox für einen der `injectHosts` der Anmeldedaten verlässt, ersetzt der [Sandbox-Proxy](#network-isolation) den Sentinel durch den echten Wert. Der Befehl und alles, das er protokolliert, hält niemals die echte Anmeldedaten, aber seine Anfragen authentifizieren sich immer noch.

239 

240Der Proxy ersetzt die Anmeldedaten in Anfrageinhalten, daher muss er diese sehen. Setzen Sie [`network.tlsTerminate`](/de/settings#sandbox-settings), damit der Proxy HTTPS selbst beendet. Ohne ihn schlägt die Maskierung geschlossen fehl: Der Befehl sieht immer noch nur den Sentinel, aber der Sentinel erreicht den Server unverändert und die Authentifizierung schlägt fehl. Claude Code meldet diese Fehlkonfiguration beim Start und in `/doctor`.

241 

242Das folgende Beispiel maskiert zwei Token. `GH_TOKEN` wird nur bei Anfragen an `api.github.com` ersetzt, während `NPM_TOKEN` keine `injectHosts` hat und bei Anfragen an jeden Host in `network.allowedDomains` ersetzt wird. Jeder `injectHosts`-Eintrag muss selbst von `network.allowedDomains` abgedeckt werden.

243 

244```json theme={null}

245{

246 "sandbox": {

247 "enabled": true,

248 "network": {

249 "tlsTerminate": {},

250 "allowedDomains": ["*.github.com", "registry.npmjs.org"]

251 },

252 "credentials": {

253 "envVars": [

254 { "name": "GH_TOKEN", "mode": "mask", "injectHosts": ["api.github.com"] },

255 { "name": "NPM_TOKEN", "mode": "mask" }

256 ]

257 }

258 }

259}

260```

261 

262Im Gegensatz zu `deny` autorisiert die Maskierung den Proxy, Ihre echte Anmeldedaten an die aufgelisteten Hosts zu senden, daher wird sie nur von Einstellungen berücksichtigt, die Sie oder Ihr Administrator kontrollieren: Benutzer-Einstellungen, verwaltete Einstellungen und das `--settings` CLI-Flag. `mask`-Einträge, `network.tlsTerminate` und [`credentials.allowPlaintextInject`](/de/settings#sandbox-settings) in der `.claude/settings.json` oder `.claude/settings.local.json` eines Repositorys werden ignoriert.

263 

264Wenn die gleiche Variable mit `deny` in einem beliebigen Scope aufgelistet ist, hat `deny` Vorrang.

265 

228<h2 id="how-sandboxing-works">266<h2 id="how-sandboxing-works">

229 Wie Sandboxing funktioniert267 Wie Sandboxing funktioniert

230</h2>268</h2>


255* **Umfassende Abdeckung**: Einschränkungen gelten für alle Skripte, Programme und Subprozesse, die durch Befehle erzeugt werden293* **Umfassende Abdeckung**: Einschränkungen gelten für alle Skripte, Programme und Subprozesse, die durch Befehle erzeugt werden

256 294 

257<Note>295<Note>

258 Der integrierte Proxy erzwingt die Zulassungsliste basierend auf dem angeforderten Hostnamen und beendet oder inspiziert keinen TLS-Datenverkehr. Siehe [Sicherheitsbeschränkungen](#security-limitations) für die Auswirkungen dieses Designs und [Benutzerdefinierte Proxy-Konfiguration](#custom-proxy-configuration), wenn Ihr Bedrohungsmodell TLS-Inspektion erfordert.296 Der integrierte Proxy erzwingt die Zulassungsliste basierend auf dem angeforderten Hostnamen und beendet oder inspiziert keinen TLS-Datenverkehr. {/* min-version: 2.1.199 */}Die experimentelle Einstellung [`network.tlsTerminate`](/de/settings#sandbox-settings), verfügbar in Claude Code v2.1.199 und später, lässt den integrierten Proxy TLS selbst beenden, was [`mask`-Anmeldedateneinträge](#protect-credentials) erfordern. Siehe [Sicherheitsbeschränkungen](#security-limitations) für die Auswirkungen des Standards und [Benutzerdefinierte Proxy-Konfiguration](#custom-proxy-configuration), wenn Ihr Bedrohungsmodell TLS-Inspektion erfordert.

259</Note>297</Note>

260 298 

261<h3 id="os-level-enforcement">299<h3 id="os-level-enforcement">


412 Sicherheitsbeschränkungen450 Sicherheitsbeschränkungen

413</h3>451</h3>

414 452 

415* **Netzwerk-Filterung**: Das Netzwerk-Filtersystem funktioniert durch Einschränkung der Domains, mit denen Prozesse verbunden werden dürfen. Der integrierte Proxy beendet oder führt keine TLS-Inspektion auf ausgehenden Datenverkehr durch, daher werden die Inhalte verschlüsselter Verbindungen nicht untersucht. Sie sind verantwortlich dafür, dass nur vertrauenswürdige Domains in Ihrer Richtlinie zulässig sind.453* **Netzwerk-Filterung**: Die Sandbox schränkt ein, mit welchen Domains Prozesse sich verbinden können. Standardmäßig beendet oder inspiziert der integrierte Proxy TLS auf ausgehenden Datenverkehr nicht, daher werden die Inhalte verschlüsselter Verbindungen nicht untersucht. Die experimentelle Einstellung [`network.tlsTerminate`](/de/settings#sandbox-settings) beendet TLS am Proxy für [`mask`-Anmeldedaten-Substitution](#protect-credentials), fügt aber keine Inhaltsfilterung hinzu. Sie sind verantwortlich dafür, dass nur vertrauenswürdige Domains in Ihrer Richtlinie zulässig sind.

416 454 

417<Warning>455<Warning>

418 Das Zulassen breiter Domains wie `github.com` kann Pfade für Datenexfiltration schaffen. Da der Proxy seine Zulassungsentscheidung vom Client-bereitgestellten Hostnamen trifft, ohne TLS zu inspizieren, kann Code, der in der Sandbox ausgeführt wird, möglicherweise [Domain Fronting](https://en.wikipedia.org/wiki/Domain_fronting) oder ähnliche Techniken verwenden, um Hosts außerhalb der Zulassungsliste zu erreichen. Wenn Ihr Bedrohungsmodell stärkere Garantien erfordert, konfigurieren Sie einen [benutzerdefinierten Proxy](#custom-proxy-configuration), der TLS beendet und Datenverkehr inspiziert, und installieren Sie sein CA-Zertifikat in der Sandbox. Stärkere TLS-bewusste Netzwerk-Isolation ist ein aktives Entwicklungsgebiet.456 Das Zulassen breiter Domains wie `github.com` kann Pfade für Datenexfiltration schaffen. Da der Proxy seine Zulassungsentscheidung vom Client-bereitgestellten Hostnamen trifft, ohne TLS zu inspizieren, kann Code, der in der Sandbox ausgeführt wird, möglicherweise [Domain Fronting](https://en.wikipedia.org/wiki/Domain_fronting) oder ähnliche Techniken verwenden, um Hosts außerhalb der Zulassungsliste zu erreichen. Wenn Ihr Bedrohungsmodell stärkere Garantien erfordert, konfigurieren Sie einen [benutzerdefinierten Proxy](#custom-proxy-configuration), der TLS beendet und Datenverkehr inspiziert, und installieren Sie sein CA-Zertifikat in der Sandbox. Stärkere TLS-bewusste Netzwerk-Isolation ist ein aktives Entwicklungsgebiet.

Details

153 153 

154Serververwaltete Einstellungen und [endpunktverwaltete Einstellungen](/de/settings#settings-files) nehmen beide die höchste Ebene in der Claude Code [Einstellungshierarchie](/de/settings#settings-precedence) ein. Keine andere Einstellungsebene kann sie überschreiben, einschließlich Befehlszeilenargumenten.154Serververwaltete Einstellungen und [endpunktverwaltete Einstellungen](/de/settings#settings-files) nehmen beide die höchste Ebene in der Claude Code [Einstellungshierarchie](/de/settings#settings-precedence) ein. Keine andere Einstellungsebene kann sie überschreiben, einschließlich Befehlszeilenargumenten.

155 155 

156Innerhalb der verwalteten Ebene gewinnt eine konfigurierte [`policyHelper`](/de/settings#compute-managed-settings-with-a-policy-helper) vor jeder anderen verwalteten Quelle, einschließlich serververwalteter Einstellungen: Ihre Ausgabe wird die einzige verwaltete Konfiguration für den Lauf. Andernfalls gewinnt die erste Quelle, die eine nicht leere Konfiguration liefert. Serververwaltete Einstellungen werden zuerst überprüft, dann endpunktverwaltete Einstellungen. Quellen werden nicht zusammengeführt: Wenn serververwaltete Einstellungen überhaupt Schlüssel liefern, werden andere endpunktverwaltete Einstellungen ignoriert. Eine Ausnahme gilt: Ein kleiner Satz von [quellübergreifenden Sperr-Schlüsseln](/de/settings#settings-precedence), wie die Sandbox-Zulassungslisten-Sperren, wird berücksichtigt, wenn eine beliebige administratorgesteuerte verwaltete Quelle sie setzt; die benutzerbare HKCU-Registrierungsebene ist ausgeschlossen. Wenn serververwaltete Einstellungen nichts liefern, gelten endpunktverwaltete Einstellungen.156Innerhalb der verwalteten Ebene gewinnt eine konfigurierte [`policyHelper`](/de/settings#compute-managed-settings-with-a-policy-helper) vor jeder anderen verwalteten Quelle, einschließlich serververwalteter Einstellungen: Ihre Ausgabe wird die einzige verwaltete Konfiguration für den Lauf.

157 

158Andernfalls verwendet Claude Code die erste Quelle, die eine nicht leere Konfiguration liefert. Serververwaltete Einstellungen werden zuerst überprüft, dann endpunktverwaltete Einstellungen. Quellen werden nicht zusammengeführt: Wenn serververwaltete Einstellungen überhaupt Schlüssel liefern, werden andere endpunktverwaltete Einstellungen ignoriert. Wenn serververwaltete Einstellungen nichts liefern, gelten endpunktverwaltete Einstellungen.

159 

160Eine Ausnahme gilt: Ein kleiner Satz von [quellübergreifenden Sperr-Schlüsseln](/de/settings#settings-precedence), wie die Sandbox-Zulassungslisten-Sperren, wird berücksichtigt, wenn eine beliebige administratorgesteuerte verwaltete Quelle sie setzt; die benutzerbare HKCU-Registrierungsebene ist ausgeschlossen.

157 161 

158Wenn Sie Ihre serververwaltete Konfiguration in der Admin-Konsole mit der Absicht löschen, auf eine endpunktverwaltete plist oder Registrierungsrichtlinie zurückzugreifen, beachten Sie, dass [zwischengespeicherte Einstellungen](#fetch-and-caching-behavior) auf Client-Maschinen bestehen bleiben, bis der nächste erfolgreiche Abruf erfolgt. Führen Sie `/status` aus, um zu sehen, welche verwaltete Quelle aktiv ist.162Wenn Sie Ihre serververwaltete Konfiguration in der Admin-Konsole mit der Absicht löschen, auf eine endpunktverwaltete plist oder Registrierungsrichtlinie zurückzugreifen, beachten Sie, dass [zwischengespeicherte Einstellungen](#fetch-and-caching-behavior) auf Client-Maschinen bestehen bleiben, bis der nächste erfolgreiche Abruf erfolgt. Führen Sie `/status` aus, um zu sehen, welche verwaltete Quelle aktiv ist.

159 163 


171 175 

172**Nachfolgende Starts mit zwischengespeicherten Einstellungen:**176**Nachfolgende Starts mit zwischengespeicherten Einstellungen:**

173 177 

174* Zwischengespeicherte Einstellungen werden beim Start sofort angewendet178* Zwischengespeicherte Einstellungen werden beim Start sofort angewendet, außer für die unten beschriebenen Transport-, Routing- und Authentifizierungs-Umgebungsvariablen

175* Claude Code ruft frische Einstellungen im Hintergrund ab179* Claude Code ruft frische Einstellungen im Hintergrund ab

176* Zwischengespeicherte Einstellungen bleiben bei Netzwerkfehlern erhalten180* Zwischengespeicherte Einstellungen bleiben bei Netzwerkfehlern erhalten. Die zurückhaltenden Umgebungsvariablen bleiben zurückhaltend, bis ein Abruf erfolgreich ist

181 

182Ab v2.1.198 hält Claude Code drei Kategorien von Variablen im zwischengespeicherten `env`-Block zurück, bis der Server die Payload für die Sitzung bestätigt. Dies verhindert, dass ein zwischengespeicherter Proxy-, Zertifizierungsstellen-, Endpunkt- oder Anmeldedatenwert den Einstellungsabruf umleitet, abfängt oder erneut authentifiziert, der die Payload bestätigt. Die Härtung gilt nur für den vom Server abgerufenen Einstellungs-Cache: [endpunktverwaltete Einstellungen](/de/settings#settings-files), die über MDM oder `managed-settings.json` bereitgestellt werden, sind nicht betroffen. Die zurückhaltenden Kategorien sind:

183 

184* Proxy- und TLS-Konfiguration, wie `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS` und die mTLS-Client-Zertifikatvariablen `CLAUDE_CODE_CLIENT_CERT` und `CLAUDE_CODE_CLIENT_KEY`

185* API-Routing und Anbieterauswahl, einschließlich `ANTHROPIC_BASE_URL`, der Anbieterauswahlvariablen wie `CLAUDE_CODE_USE_BEDROCK` und `CLAUDE_CODE_USE_VERTEX` und der Anbieter-Endpunkt-URLs wie `ANTHROPIC_BEDROCK_BASE_URL`

186* Authentifizierungsanmeldedaten, wie `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` und `CLAUDE_CODE_OAUTH_TOKEN`

187 

188Jeder andere Schlüssel im zwischengespeicherten `env`-Block, wie Telemetrie- und OpenTelemetry-Konfiguration, wird beim Start wie zuvor angewendet. Sobald der Abruf erfolgreich ist, werden die zurückhaltenden Variablen für den Rest der Sitzung angewendet.

189 

190Wenn Ihre Organisation einen Proxy benötigt, um `api.anthropic.com` zu erreichen, setzen Sie ihn in der Shell-Umgebung oder in [Benutzereinstellungen](/de/settings#settings-files) anstatt nur im verwalteten `env`-Block. Der erste Start hat keinen Cache, daher waren diese Quellen bereits für den anfänglichen Abruf erforderlich.

177 191 

178Claude 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.192Claude 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.

179 193 


207}221}

208```222```

209 223 

210Sie können diesen Schlüssel auch in einem [endpunktverwalteten](/de/settings#settings-files) MDM-Profil oder einer System-Datei `managed-settings.json` setzen, um Fail-Closed-Verhalten beim ersten Start durchzusetzen, bevor eine Server-Payload bereitgestellt wurde. Ab v2.1.191 ist dieses Flag eine Ausnahme von der [Prioritätsregel](#settings-precedence) oben: Es wird berücksichtigt, wenn es in einer beliebigen verwalteten Quelle gesetzt ist, auch wenn eine zwischengespeicherte Server-verwaltete Payload vorhanden ist, sodass ein MDM-bereitgestellter Wert nicht ignoriert wird, wenn serververwaltete Einstellungen vorhanden sind. Der Einstellungsabruf sendet auch einen `Cache-Control: no-cache` Header, sodass zwischengeschaltete HTTP-Proxys keine veraltete Antwort bereitstellen.224Sie können diesen Schlüssel auch in einem [endpunktverwalteten](/de/settings#settings-files) MDM-Profil oder einer System-Datei `managed-settings.json` setzen, um Fail-Closed-Verhalten beim ersten Start durchzusetzen, bevor eine Server-Payload bereitgestellt wurde. Ab v2.1.191 ist dieses Flag eine Ausnahme von der [Prioritätsregel](#settings-precedence) oben: Es wird berücksichtigt, wenn es in einer beliebigen verwalteten Quelle gesetzt ist, auch wenn eine zwischengespeicherte Server-verwaltete Payload vorhanden ist, sodass ein MDM-bereitgestellter Wert nicht ignoriert wird, wenn serververwaltete Einstellungen vorhanden sind.

225 

226Der Einstellungsabruf sendet auch einen `Cache-Control: no-cache` Header, sodass zwischengeschaltete HTTP-Proxys keine veraltete Antwort bereitstellen.

211 227 

212Bevor Sie diese Einstellung aktivieren, stellen Sie sicher, dass Ihre Netzwerkrichtlinien die Konnektivität zu `api.anthropic.com` ermöglichen. Wenn dieser Endpunkt nicht erreichbar ist, wird die CLI beim Start beendet und Benutzer können Claude Code nicht starten.228Bevor Sie diese Einstellung aktivieren, stellen Sie sicher, dass Ihre Netzwerkrichtlinien die Konnektivität zu `api.anthropic.com` ermöglichen. Wenn dieser Endpunkt nicht erreichbar ist, wird die CLI beim Start beendet und Benutzer können Claude Code nicht starten.

213 229 


217 Sicherheitsgenehmigungsdialoge233 Sicherheitsgenehmigungsdialoge

218</h3>234</h3>

219 235 

220Bestimmte Einstellungen, die Sicherheitsrisiken darstellen könnten, erfordern explizite Benutzergenehmigung, bevor sie angewendet werden:236Bestimmte Einstellungen, die Sicherheitsrisiken darstellen könnten, erfordern explizite Benutzergenehmigung, bevor Claude Code sie anwendet:

221 237 

222* **Shell-Befehlseinstellungen**: Einstellungen, die Shell-Befehle ausführen238* **Shell-Befehlseinstellungen**: Einstellungen, die Shell-Befehle ausführen

223* **Benutzerdefinierte Umgebungsvariablen**: Variablen, die nicht in der bekannten sicheren Zulassungsliste enthalten sind239* **Benutzerdefinierte Umgebungsvariablen**: Variablen, die nicht in der bekannten sicheren Zulassungsliste enthalten sind


234 Plattformverfügbarkeit250 Plattformverfügbarkeit

235</h2>251</h2>

236 252 

237Serververwaltete Einstellungen erfordern eine direkte Verbindung zu `api.anthropic.com`, und die Bereitstellung erfordert, dass sich die Sitzung mit einem Organisations-OAuth-Login oder einem direkt konfigurierten API-Schlüssel authentifiziert: Schlüssel, die von einem [`apiKeyHelper`](/de/settings#available-settings)-Skript zurückgegeben werden, lösen den Abruf der Einstellungen nicht aus. Serververwaltete Einstellungen sind nicht verfügbar, wenn Drittanbieter-Modellprovider verwendet werden:253Serververwaltete Einstellungen erfordern eine direkte Verbindung zu `api.anthropic.com`, und die Bereitstellung erfordert, dass sich die Sitzung mit einem Organisations-OAuth-Login oder einem direkt konfigurierten API-Schlüssel authentifiziert. Schlüssel, die von einem [`apiKeyHelper`](/de/settings#available-settings)-Skript zurückgegeben werden, lösen den Abruf der Einstellungen nicht aus.

254 

255Serververwaltete Einstellungen sind nicht verfügbar, wenn Drittanbieter-Modellprovider verwendet werden:

238 256 

239* Amazon Bedrock257* Amazon Bedrock

240* Google Vertex AI258* Google Vertex AI


259Serververwaltete Einstellungen bieten zentralisierte Richtliniendurchsetzung, funktionieren aber als clientseitige Kontrolle, nicht als Sicherheitsgrenze. Auf nicht verwalteten Geräten benötigt ein Benutzer keinen Admin- oder Sudo-Zugriff, um diese zu umgehen.277Serververwaltete Einstellungen bieten zentralisierte Richtliniendurchsetzung, funktionieren aber als clientseitige Kontrolle, nicht als Sicherheitsgrenze. Auf nicht verwalteten Geräten benötigt ein Benutzer keinen Admin- oder Sudo-Zugriff, um diese zu umgehen.

260 278 

261| Szenario | Verhalten |279| Szenario | Verhalten |

262| :--------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |280| :--------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

263| Benutzer bearbeitet die zwischengespeicherte Einstellungsdatei | Manipulierte Datei wird beim Start angewendet, aber korrekte Einstellungen werden beim nächsten Serverfetch wiederhergestellt |281| Benutzer bearbeitet die zwischengespeicherte Einstellungsdatei | Manipulierte Datei wird beim Start angewendet, aber korrekte Einstellungen werden beim nächsten Serverfetch wiederhergestellt. {/* min-version: 2.1.198 */}Ab v2.1.198 werden die Transport-, API-Routing- und Authentifizierungs-Umgebungsvariablen im `env`-Block [zurückgehalten, bis der Server die Nutzlast bestätigt](#fetch-and-caching-behavior) |

264| Benutzer löscht die zwischengespeicherte Einstellungsdatei | Verhalten beim ersten Start tritt auf: Einstellungen werden asynchron abgerufen mit einem kurzen nicht erzwungenen Fenster |282| Benutzer löscht die zwischengespeicherte Einstellungsdatei | Verhalten beim ersten Start tritt auf: Einstellungen werden asynchron abgerufen mit einem kurzen nicht erzwungenen Fenster |

265| Benutzer führt eine modifizierte Claude Code-Binärdatei aus | Ein Benutzer, der einen modifizierten Client ausführen kann, kann jede clientseitige Kontrolle umgehen |283| Benutzer führt eine modifizierte Claude Code-Binärdatei aus | Ein Benutzer, der einen modifizierten Client ausführen kann, kann jede clientseitige Kontrolle umgehen |

266| Benutzer führt eine ältere Claude Code-Version aus | Versionen, die vor serververwalteten Einstellungen entstanden sind, rufen diese nicht ab oder wenden sie nicht an |284| Benutzer führt eine ältere Claude Code-Version aus | Versionen, die vor serververwalteten Einstellungen entstanden sind, rufen diese nicht ab oder wenden sie nicht an |

267| API ist nicht verfügbar | Zwischengespeicherte Einstellungen werden angewendet, falls verfügbar, andernfalls werden verwaltete Einstellungen nicht erzwungen, bis der nächste erfolgreiche Abruf erfolgt. Mit `forceRemoteSettingsRefresh: true` wird die CLI stattdessen beendet, außer für [`claude auth` Unterbefehle](#enforce-fail-closed-startup) |285| API ist nicht verfügbar | Zwischengespeicherte Einstellungen werden angewendet, falls verfügbar, andernfalls werden verwaltete Einstellungen nicht erzwungen, bis der nächste erfolgreiche Abruf erfolgt. {/* min-version: 2.1.198 */}Ab v2.1.198 werden die Transport-, API-Routing- und Authentifizierungs-Umgebungsvariablen im zwischengespeicherten `env`-Block [bei Abruffehler zurückgehalten](#fetch-and-caching-behavior); der Rest des Caches wird weiterhin angewendet. Mit `forceRemoteSettingsRefresh: true` wird die CLI stattdessen beendet, außer für [`claude auth` Unterbefehle](#enforce-fail-closed-startup) |

268| Benutzer authentifiziert sich mit einer anderen Organisation | Einstellungen werden nicht für Konten außerhalb der verwalteten Organisation bereitgestellt |286| Benutzer authentifiziert sich mit einer anderen Organisation | Einstellungen werden nicht für Konten außerhalb der verwalteten Organisation bereitgestellt |

269| Benutzer konfiguriert einen [Drittanbieter-Modellprovider](#platform-availability) | Serververwaltete Einstellungen werden umgangen. Dies umfasst das Setzen von `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS` oder einer nicht standardmäßigen `ANTHROPIC_BASE_URL` |287| Benutzer konfiguriert einen [Drittanbieter-Modellprovider](#platform-availability) | Serververwaltete Einstellungen werden umgangen. Dies umfasst das Setzen von `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS` oder einer nicht standardmäßigen `ANTHROPIC_BASE_URL` |

270| Netzwerkverkehr wird abgefangen oder umgeleitet | Deaktivierte TLS-Validierung oder abgefangener Verkehr kann die Einstellungen ändern, die der Client erhält |288| Netzwerkverkehr wird abgefangen oder umgeleitet | Deaktivierte TLS-Validierung oder abgefangener Verkehr kann die Einstellungen ändern, die der Client erhält |

sessions.md +2 −0

Details

97/branch try-streaming-approach97/branch try-streaming-approach

98```98```

99 99 

100Wenn Sie den Namen weglassen, benennt Claude Code den neuen Branch nach der ersten Eingabeaufforderung im Gespräch. Ab v2.1.198 gilt dies auch nach [Komprimierung](/de/how-claude-code-works#when-context-fills-up); frühere Versionen fielen auf den wörtlichen Namen `Branched conversation` zurück, anstatt die Komprimierungszusammenfassung zu überschreiten, um die ursprüngliche erste Eingabeaufforderung zu finden.

101 

100Kombinieren Sie von der Befehlszeile aus `--continue` oder `--resume` mit `--fork-session`:102Kombinieren Sie von der Befehlszeile aus `--continue` oder `--resume` mit `--fork-session`:

101 103 

102```bash theme={null}104```bash theme={null}

setup.md +1 −1

Details

453 Mit npm installieren453 Mit npm installieren

454</h3>454</h3>

455 455 

456Sie können Claude Code auch als globales npm-Paket installieren. Das Paket erfordert [Node.js 18 oder später](https://nodejs.org/en/download).456Sie können Claude Code auch als globales npm-Paket installieren. Ab v2.1.198 erfordert das npm-Paket [Node.js 22 oder später](https://nodejs.org/en/download). Bei einer älteren Node.js-Version gibt npm während der Installation eine `EBADENGINE`-Warnung aus, anstatt fehlzuschlagen; die Installation wird abgeschlossen und `claude` läuft weiterhin, da das Paket eine native Binärdatei herunterlädt, die Ihr Node.js zur Laufzeit nicht verwendet.

457 457 

458```bash theme={null}458```bash theme={null}

459npm install -g @anthropic-ai/claude-code459npm install -g @anthropic-ai/claude-code

skills.md +6 −0

Details

443 443 

444Wenn Sie einen Skill mit Argumenten aufrufen, aber der Skill `$ARGUMENTS` nicht enthält, hängt Claude Code `ARGUMENTS: <your input>` am Ende des Skill-Inhalts an, damit Claude immer noch sieht, was Sie eingegeben haben.444Wenn Sie einen Skill mit Argumenten aufrufen, aber der Skill `$ARGUMENTS` nicht enthält, hängt Claude Code `ARGUMENTS: <your input>` am Ende des Skill-Inhalts an, damit Claude immer noch sieht, was Sie eingegeben haben.

445 445 

446Sie können auch mehrere Skills am Anfang einer Nachricht stapeln. {/* min-version: 2.1.199 */}Ab v2.1.199 lädt das Eingeben von `/code-review /fix-issue 123` beide Skills und übergibt den nachfolgenden Text `123` als `$ARGUMENTS` an jeden von ihnen. In früheren Versionen wurde nur der erste Skill geladen und erhielt `/fix-issue 123` als wörtlichen Argumenttext.

447 

448Claude Code erweitert den ersten Skill plus bis zu fünf weitere, die danach gestapelt sind. Die Erweiterung stoppt beim ersten Token, das kein Inline-Benutzer-aufgerufener Skill ist, daher endet auch ein Skill, der als [verzweigter Subagent](#run-skills-in-a-subagent) ausgeführt wird, oder einer, dessen Argumente selbst mit einem Schrägstrich-Befehl beginnen können, wie `/loop`, auch dort; dieses Token und alles danach werden zum Argumenttext für jeden erweiterten Skill.

449 

446Um auf einzelne Argumente nach Position zuzugreifen, verwenden Sie `$ARGUMENTS[N]` oder die kürzere Form `$N`:450Um auf einzelne Argumente nach Position zuzugreifen, verwenden Sie `$ARGUMENTS[N]` oder die kürzere Form `$N`:

447 451 

448```yaml theme={null}452```yaml theme={null}


624| `"user-invocable-only"` | Versteckt | Ja |628| `"user-invocable-only"` | Versteckt | Ja |

625| `"off"` | Versteckt | Versteckt |629| `"off"` | Versteckt | Versteckt |

626 630 

631Ab v2.1.199 versteckt `"off"` den Skill auch vor den Befehlslisten, die an [Remote Control](/de/remote-control)-Clients und an [Agent SDK](/de/agent-sdk/slash-commands)-Aufrufer angekündigt werden, nicht nur das Terminal-Menü `/`. Das Aufrufen eines versteckten Skills nach seinem vollständigen Namen gibt stattdessen den `skillOverrides`-Fehler zurück, anstatt ihn auszuführen.

632 

627Ein Skill, der in `skillOverrides` fehlt, wird als `"on"` behandelt. Das folgende Beispiel reduziert einen Skill auf seinen Namen und deaktiviert einen anderen vollständig:633Ein Skill, der in `skillOverrides` fehlt, wird als `"on"` behandelt. Das folgende Beispiel reduziert einen Skill auf seinen Namen und deaktiviert einen anderen vollständig:

628 634 

629```json theme={null}635```json theme={null}

sub-agents.md +87 −67

Details

24 24 

25Claude verwendet die Beschreibung jedes Subagenten, um zu entscheiden, wann Aufgaben delegiert werden. Wenn Sie einen Subagenten erstellen, schreiben Sie eine klare Beschreibung, damit Claude weiß, wann er ihn verwenden soll.25Claude verwendet die Beschreibung jedes Subagenten, um zu entscheiden, wann Aufgaben delegiert werden. Wenn Sie einen Subagenten erstellen, schreiben Sie eine klare Beschreibung, damit Claude weiß, wann er ihn verwenden soll.

26 26 

27Claude Code enthält mehrere integrierte Subagenten wie **Explore**, **Plan** und **general-purpose**. Sie können auch benutzerdefinierte Subagenten erstellen, um spezifische Aufgaben zu bearbeiten.27Claude Code enthält mehrere integrierte Subagenten wie Explore, Plan und general-purpose. Sie können auch benutzerdefinierte Subagenten erstellen, um spezifische Aufgaben zu bearbeiten.

28 28 

29<h2 id="built-in-subagents">29<h2 id="built-in-subagents">

30 Integrierte Subagenten30 Integrierte Subagenten


38 <Tab title="Explore">38 <Tab title="Explore">

39 Ein schneller, schreibgeschützter Agent, der für die Suche und Analyse von Codebases optimiert ist.39 Ein schneller, schreibgeschützter Agent, der für die Suche und Analyse von Codebases optimiert ist.

40 40 

41 * **Modell**: Haiku, das schnell und mit niedriger Latenz arbeitet41 * **Modell**: Erbt von der Hauptkonversation, begrenzt auf Opus in der Claude API, sodass Explore niemals auf einem teureren Modell ausgeführt wird als dem, das Sie bereits für die Sitzung gewählt haben

42 * **Werkzeuge**: Schreibgeschützte Werkzeuge; Write und Edit sind nicht zulässig42 * **Werkzeuge**: Schreibgeschützte Werkzeuge; Write und Edit sind nicht zulässig

43 * **Zweck**: Dateiermittlung, Codesuche, Codebase-Exploration43 * **Zweck**: Dateiermittlung, Codesuche, Codebase-Exploration

44 44 

45 {/* min-version: 2.1.198 */}Ab v2.1.198 erbt Explore das Modell der Hauptkonversation, anstatt immer auf Haiku ausgeführt zu werden. In der Claude API ist das geerbte Modell auf Opus begrenzt: Eine Hauptkonversation auf einer höheren Stufe führt Explore auf Opus aus, und eine Hauptkonversation auf Sonnet oder Haiku führt Explore auf demselben Modell aus. Bei jedem anderen Anbieter, wie z. B. [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder Claude Platform on AWS](/de/third-party-integrations), erbt Explore das Modell der Hauptkonversation direkt.

46 

47 Ein [Benutzer- oder Projekt-Subagent](#choose-the-subagent-scope) mit dem Namen `Explore` überschreibt den integrierten und behält sein eigenes `model`-Feld, daher definieren Sie einen mit `model: haiku`, um die Exploration auf einem kostengünstigeren Modell zu halten.

48 

45 Claude delegiert an Explore, wenn es eine Codebase durchsuchen oder verstehen muss, ohne Änderungen vorzunehmen. Dies hält Explorationsergebnisse aus Ihrem Hauptkonversationskontext heraus.49 Claude delegiert an Explore, wenn es eine Codebase durchsuchen oder verstehen muss, ohne Änderungen vorzunehmen. Dies hält Explorationsergebnisse aus Ihrem Hauptkonversationskontext heraus.

46 50 

47 Beim Aufrufen von Explore gibt Claude ein Gründlichkeitsniveau an: **quick** für gezielte Lookups, **medium** für ausgewogene Exploration oder **very thorough** für umfassende Analyse.51 Beim Aufrufen von Explore gibt Claude ein Gründlichkeitsniveau an: **quick** für gezielte Lookups, **medium** für ausgewogene Exploration oder **very thorough** für umfassende Analyse.


77 </Tab>81 </Tab>

78</Tabs>82</Tabs>

79 83 

80Integrierte Subagenten sind in interaktiven Sitzungen immer registriert. Um sie einzuschränken:84Integrierte Subagenten sind in interaktiven Sitzungen standardmäßig registriert. Um sie einzuschränken:

81 85 

82* Um einen bestimmten integrierten Typ zu blockieren, fügen Sie ihn zu `permissions.deny` hinzu, wie in [Spezifische Subagenten deaktivieren](#disable-specific-subagents) gezeigt.86* Um einen bestimmten integrierten Typ zu blockieren, fügen Sie ihn zu `permissions.deny` hinzu, wie in [Spezifische Subagenten deaktivieren](#disable-specific-subagents) gezeigt.

83* Um zu verhindern, dass Claude an einen Subagenten delegiert, verweigern Sie das `Agent`-Werkzeug selbst mit [`permissions.deny`](/de/permissions#tool-specific-permission-rules).87* Um zu verhindern, dass Claude an einen Subagenten delegiert, verweigern Sie das `Agent`-Werkzeug selbst mit [`permissions.deny`](/de/permissions#tool-specific-permission-rules).

88* {/* min-version: 2.1.198 */}Um nur die integrierten `Explore`- und `Plan`-Subagenten zu entfernen, setzen Sie [`CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS=1`](/de/env-vars). Claude liest und erkundet Dateien direkt, anstatt an sie zu delegieren. Erfordert Claude Code v2.1.198 oder später.

84* 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.89* 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.

85 90 

86Ü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.91Ü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 Schnellstart: Erstellen Sie Ihren ersten Subagenten94 Schnellstart: Erstellen Sie Ihren ersten Subagenten

90</h2>95</h2>

91 96 

92Subagenten werden in Markdown-Dateien mit YAML-Frontmatter definiert. Sie können sie [manuell erstellen](#write-subagent-files) oder den `/agents`-Befehl verwenden.97Subagenten sind Markdown-Dateien mit YAML-Frontmatter. Um einen zu erstellen, bitten Sie Claude, ihn für Sie zu schreiben, oder [schreiben Sie die Datei selbst](#write-subagent-files).

98 

99{/* min-version: 2.1.198 */}Ab v2.1.198 öffnet der `/agents`-Befehl nicht mehr den interaktiven Erstellungs-Assistenten; das Ausführen gibt eine Erinnerung aus, Claude zu fragen oder `.claude/agents/` direkt zu bearbeiten. Subagenten-Dateien, Frontmatter-Felder und die Speicherorte `.claude/agents/` und `~/.claude/agents/` bleiben unverändert; nur der Terminal-Assistent wird entfernt.

93 100 

94Diese Anleitung führt Sie durch die Erstellung eines Subagenten auf Benutzerebene mit dem `/agents`-Befehl. Der Subagent überprüft Code und schlägt Verbesserungen für die Codebase vor.101Diese Anleitung erstellt einen Subagenten auf Benutzerebene, der Code überprüft und Verbesserungen vorschlägt.

95 102 

96<Steps>103<Steps>

97 <Step title="Öffnen Sie die Subagenten-Schnittstelle">104 <Step title="Bitten Sie Claude, den Subagenten zu erstellen">

98 In Claude Code führen Sie aus:105 Beschreiben Sie in Claude Code den Subagenten, den Sie möchten, und wo Sie ihn speichern möchten:

99 106 

100 ```text wrap theme={null}107 ```text wrap theme={null}

101 /agents108 Create a personal code-improver subagent in ~/.claude/agents/ that scans

109 files and suggests improvements for readability, performance, and best

110 practices. It should explain each issue, show the current code, and

111 provide an improved version. Make it read-only and have it use Sonnet.

102 ```112 ```

103 </Step>

104 113 

105 <Step title="Wählen Sie einen Ort">114 Claude schreibt die Datei mit einem `name`, einer `description`, einer `tools`-Liste, einem `model` und einem Systemprompt.

106 Wechseln Sie zur Registerkarte **Library**, wählen Sie **Create new agent**, dann wählen Sie **Personal**. Dies speichert den Subagenten in `~/.claude/agents/`, sodass er in allen Ihren Projekten verfügbar ist.

107 </Step>115 </Step>

108 116 

109 <Step title="Mit Claude generieren">117 <Step title="Überprüfen Sie die Datei">

110 Wählen Sie **Generate with Claude**. Wenn Sie dazu aufgefordert werden, beschreiben Sie den Subagenten:118 Öffnen Sie `~/.claude/agents/code-improver.md` und bestätigen Sie, dass das Frontmatter dem entspricht, was Sie angefordert haben. Das Ergebnis sieht so aus:

111 119 

112 ```text wrap theme={null}120 ```markdown theme={null}

113 A code improvement agent that scans files and suggests improvements121 ---

114 for readability, performance, and best practices. It should explain122 name: code-improver

115 each issue, show the current code, and provide an improved version.123 description: Scans files and suggests improvements for readability, performance, and best practices. Use after writing or modifying code.

124 tools: Read, Grep, Glob

125 model: sonnet

126 ---

127 

128 You are a code improvement specialist. For each issue you find, explain

129 the problem, show the current code, and provide an improved version.

116 ```130 ```

117 131 

118 Claude generiert die Kennung, Beschreibung und den Systemprompt für Sie.132 Da sich die Datei in `~/.claude/agents/` befindet, ist der Subagent in jedem Projekt auf Ihrem Computer verfügbar. Um ihn stattdessen auf ein Projekt zu beschränken, verschieben Sie ihn in das `.claude/agents/`-Verzeichnis dieses Projekts. [Wählen Sie den Subagenten-Umfang](#choose-the-subagent-scope) vergleicht die beiden.

119 </Step>

120 

121 <Step title="Wählen Sie Werkzeuge">

122 Für einen schreibgeschützten Reviewer deselektieren Sie alles außer **Read-only tools**. Wenn Sie alle Werkzeuge ausgewählt lassen, erbt der Subagent alle Werkzeuge, die der Hauptkonversation zur Verfügung stehen.

123 </Step>

124 

125 <Step title="Wählen Sie Modell">

126 Wählen Sie, welches Modell der Subagent verwendet. Wählen Sie für diesen Beispielagenten **Sonnet**, das Fähigkeit und Geschwindigkeit für die Analyse von Code-Mustern ausgleicht.

127 </Step>

128 

129 <Step title="Wählen Sie eine Farbe">

130 Wählen Sie eine Hintergrundfarbe für den Subagenten. Dies hilft Ihnen, zu identifizieren, welcher Subagent in der Benutzeroberfläche ausgeführt wird.

131 </Step>

132 

133 <Step title="Konfigurieren Sie Speicher">

134 Wählen Sie **User scope**, um dem Subagenten ein [persistentes Speicherverzeichnis](#enable-persistent-memory) unter `~/.claude/agent-memory/` zu geben. Der Subagent verwendet dies, um Erkenntnisse über Konversationen hinweg zu sammeln, wie z. B. Codebase-Muster und wiederkehrende Probleme. Wählen Sie **None**, wenn der Subagent keine Erkenntnisse speichern soll.

135 </Step>133 </Step>

136 134 

137 <Step title="Speichern und testen Sie">135 <Step title="Probieren Sie es aus">

138 Überprüfen Sie die Konfigurationszusammenfassung. Drücken Sie `s` oder `Enter`, um zu speichern, oder drücken Sie `e`, um zu speichern und die Datei in Ihrem Editor zu bearbeiten. Der Subagent ist sofort verfügbar. Testen Sie ihn:136 Bitten Sie Claude, an den neuen Subagenten zu delegieren:

139 137 

140 ```text wrap theme={null}138 ```text wrap theme={null}

141 Use the code-improver agent to suggest improvements in this project139 Use the code-improver agent to suggest improvements in this project

142 ```140 ```

143 141 

144 Claude delegiert an Ihren neuen Subagenten, der die Codebase durchsucht und Verbesserungsvorschläge zurückgibt.142 Claude delegiert an Ihren neuen Subagenten, der die Codebase durchsucht und Verbesserungsvorschläge zurückgibt.

143 

144 Wenn Claude den neuen Subagenten nicht finden kann, starten Sie Claude Code neu und versuchen Sie es erneut. Dies geschieht nur, wenn `~/.claude/agents/` vor dem Sitzungsstart nicht vorhanden war, da eine laufende Sitzung ein neu erstelltes `agents`-Verzeichnis nicht erkennt.

145 </Step>145 </Step>

146</Steps>146</Steps>

147 147 

148Sie haben jetzt einen Subagenten, den Sie in jedem Projekt auf Ihrem Computer verwenden können, um Codebases zu analysieren und Verbesserungen vorzuschlagen.148Sie haben jetzt einen Subagenten, den Sie in jedem Projekt auf Ihrem Computer verwenden können, um Codebases zu analysieren und Verbesserungen vorzuschlagen.

149 149 

150Sie können Subagenten auch manuell als Markdown-Dateien erstellen, sie über CLI-Flags definieren oder sie über Plugins verteilen. Die folgenden Abschnitte behandeln alle Konfigurationsoptionen.150Sie können Subagenten-Dateien auch manuell schreiben, sie über CLI-Flags definieren oder sie über Plugins verteilen. Die folgenden Abschnitte behandeln alle Konfigurationsoptionen.

151 

152<Note>

153 In Claude Code v2.1.197 und früher öffnet `/agents` einen interaktiven Assistenten mit einer Registerkarte **Running**, die aktive Subagenten auflistet, und einer Registerkarte **Library** zum Erstellen, Bearbeiten und Löschen. {/* max-version: 2.1.197 */}

154</Note>

151 155 

152<h2 id="configure-subagents">156<h2 id="configure-subagents">

153 Konfigurieren Sie Subagenten157 Konfigurieren Sie Subagenten

154</h2>158</h2>

155 159 

156<h3 id="use-the-/agents-command">160Der Dateispeicherort eines Subagenten bestimmt, wer darauf zugreifen kann, und sein Frontmatter bestimmt, was er tun kann. Dieser Abschnitt behandelt, wo Subagenten-Dateien gespeichert werden und welche Felder sie unterstützen.

157 Verwenden Sie den /agents-Befehl

158</h3>

159 

160Der `/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:

161 

162* Alle verfügbaren Subagenten anzuzeigen (integriert, Benutzer, Projekt und Plugin)

163* Neue Subagenten mit geführtem Setup oder Claude-Generierung zu erstellen

164* Vorhandene Subagenten-Konfiguration und Werkzeugzugriff zu bearbeiten

165* Benutzerdefinierte Subagenten zu löschen

166* Zu sehen, welche Subagenten aktiv sind, wenn Duplikate vorhanden sind

167 

168Dies ist die empfohlene Methode zum Erstellen und Verwalten von Subagenten. Für manuelle Erstellung oder Automatisierung können Sie auch Subagenten-Dateien direkt hinzufügen.

169 161 

170<h3 id="choose-the-subagent-scope">162<h3 id="choose-the-subagent-scope">

171 Wählen Sie den Subagenten-Umfang163 Wählen Sie den Subagenten-Umfang

172</h3>164</h3>

173 165 

174Subagenten sind Markdown-Dateien mit YAML-Frontmatter. Speichern Sie sie an verschiedenen Orten je nach Umfang. Wenn mehrere Subagenten denselben Namen haben, verwendet Claude Code den aus dem höherrangigen Ort.166Speichern Sie Subagenten-Dateien an verschiedenen Orten je nach Umfang. Wenn mehrere Subagenten denselben Namen haben, verwendet Claude Code den aus dem höherrangigen Ort.

175 167 

176| Ort | Umfang | Priorität | Wie zu erstellen |168| Ort | Umfang | Priorität | Wie zu erstellen |

177| :--------------------------- | :---------------------- | :------------- | :----------------------------------------------------------- |169| :--------------------------- | :---------------------- | :------------- | :----------------------------------------------------------- |

178| Verwaltete Einstellungen | Organisationsweit | 1 (höchste) | Bereitgestellt über [verwaltete Einstellungen](/de/settings) |170| Verwaltete Einstellungen | Organisationsweit | 1 (höchste) | Bereitgestellt über [verwaltete Einstellungen](/de/settings) |

179| `--agents` CLI-Flag | Aktuelle Sitzung | 2 | JSON beim Starten von Claude Code übergeben |171| `--agents` CLI-Flag | Aktuelle Sitzung | 2 | JSON beim Starten von Claude Code übergeben |

180| `.claude/agents/` | Aktuelles Projekt | 3 | Interaktiv oder manuell |172| `.claude/agents/` | Aktuelles Projekt | 3 | Claude fragen oder die Datei manuell erstellen |

181| `~/.claude/agents/` | Alle Ihre Projekte | 4 | Interaktiv oder manuell |173| `~/.claude/agents/` | Alle Ihre Projekte | 4 | Claude fragen oder die Datei manuell erstellen |

182| Plugin-Verzeichnis `agents/` | Wo Plugin aktiviert ist | 5 (niedrigste) | Installiert mit [Plugins](/de/plugins) |174| Plugin-Verzeichnis `agents/` | Wo Plugin aktiviert ist | 5 (niedrigste) | Installiert mit [Plugins](/de/plugins) |

183 175 

184**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.176**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.


239 231 

240**Verwaltete Subagenten** werden von Organisationsadministratoren bereitgestellt. Platzieren Sie Markdown-Dateien in `.claude/agents/` im [Verzeichnis der verwalteten Einstellungen](/de/settings#settings-files), wobei Sie das gleiche Frontmatter-Format wie bei Projekt- und Benutzer-Subagenten verwenden. Verwaltete Definitionen haben Vorrang vor Projekt- und Benutzer-Subagenten mit demselben Namen.232**Verwaltete Subagenten** werden von Organisationsadministratoren bereitgestellt. Platzieren Sie Markdown-Dateien in `.claude/agents/` im [Verzeichnis der verwalteten Einstellungen](/de/settings#settings-files), wobei Sie das gleiche Frontmatter-Format wie bei Projekt- und Benutzer-Subagenten verwenden. Verwaltete Definitionen haben Vorrang vor Projekt- und Benutzer-Subagenten mit demselben Namen.

241 233 

242**Plugin-Subagenten** stammen von [Plugins](/de/plugins), die Sie installiert haben. Sie erscheinen in `/agents` neben Ihren benutzerdefinierten Subagenten. Siehe die [Plugin-Komponenten-Referenz](/de/plugins-reference#agents) für Details zum Erstellen von Plugin-Subagenten.234**Plugin-Subagenten** stammen von [Plugins](/de/plugins), die Sie installiert haben. Sie werden zusammen mit Ihren benutzerdefinierten Subagenten geladen und erscheinen in der @-Erwähnung-Typeahead unter ihrem scoped name. Siehe die [Plugin-Komponenten-Referenz](/de/plugins-reference#agents) für Details zum Erstellen von Plugin-Subagenten.

243 235 

244<Note>236<Note>

245 Aus Sicherheitsgründen unterstützen Plugin-Subagenten die Frontmatter-Felder `hooks`, `mcpServers` oder `permissionMode` nicht. Diese Felder werden ignoriert, wenn Agenten aus einem Plugin geladen werden. Wenn Sie sie benötigen, kopieren Sie die Agent-Datei in `.claude/agents/` oder `~/.claude/agents/`. Sie können auch Regeln zu [`permissions.allow`](/de/settings#permission-settings) in `settings.json` oder `settings.local.json` hinzufügen, aber diese Regeln gelten für die gesamte Sitzung, nicht nur für den Plugin-Subagenten.237 Aus Sicherheitsgründen unterstützen Plugin-Subagenten die Frontmatter-Felder `hooks`, `mcpServers` oder `permissionMode` nicht. Diese Felder werden ignoriert, wenn Agenten aus einem Plugin geladen werden. Wenn Sie sie benötigen, kopieren Sie die Agent-Datei in `.claude/agents/` oder `~/.claude/agents/`. Sie können auch Regeln zu [`permissions.allow`](/de/settings#permission-settings) in `settings.json` oder `settings.local.json` hinzufügen, aber diese Regeln gelten für die gesamte Sitzung, nicht nur für den Plugin-Subagenten.


254Subagenten-Dateien verwenden YAML-Frontmatter für die Konfiguration, gefolgt vom Systemprompt in Markdown:246Subagenten-Dateien verwenden YAML-Frontmatter für die Konfiguration, gefolgt vom Systemprompt in Markdown:

255 247 

256<Note>248<Note>

257 Subagenten werden beim Sitzungsstart geladen. Wenn Sie einen Subagenten durch direktes Hinzufügen oder Bearbeiten einer Subagenten-Datei auf der Festplatte erstellen, starten Sie Ihre Sitzung neu, um ihn zu laden. Subagenten, die über die `/agents`-Schnittstelle erstellt werden, werden sofort wirksam, ohne dass ein Neustart erforderlich ist.249 Claude Code überwacht `~/.claude/agents/` und `.claude/agents/`. Wenn Sie eine Subagenten-Datei auf der Festplatte hinzufügen oder bearbeiten oder Claude bitten, eine für Sie zu schreiben, erkennt Claude Code die Änderung innerhalb weniger Sekunden und die nächste Delegation verwendet die aktualisierte Definition, ohne dass ein Neustart erforderlich ist.

250 

251 Zwei Fälle erfordern immer noch einen Neustart:

252 

253 * Der Watcher deckt nur Verzeichnisse ab, die beim Sitzungsstart existierten, daher müssen Sie nach dem Erstellen der ersten Agent-Datei eines Umfangs in einem neuen `agents`-Verzeichnis neu starten, um sie zu laden.

254 * Sitzungen, die mit `--disable-slash-commands` gestartet wurden, überwachen diese Verzeichnisse überhaupt nicht.

258</Note>255</Note>

259 256 

260```markdown theme={null}257```markdown theme={null}


292| `mcpServers` | Nein | [MCP-Server](/de/mcp) verfügbar für diesen Subagenten. Jeder Eintrag ist entweder ein Servername, der auf einen bereits konfigurierten Server verweist (z. B. `"slack"`) oder eine Inline-Definition mit dem Servernamen als Schlüssel und einer vollständigen [MCP-Server-Konfiguration](/de/mcp#installing-mcp-servers) als Wert. Ignoriert für [Plugin-Subagenten](#choose-the-subagent-scope) |289| `mcpServers` | Nein | [MCP-Server](/de/mcp) verfügbar für diesen Subagenten. Jeder Eintrag ist entweder ein Servername, der auf einen bereits konfigurierten Server verweist (z. B. `"slack"`) oder eine Inline-Definition mit dem Servernamen als Schlüssel und einer vollständigen [MCP-Server-Konfiguration](/de/mcp#installing-mcp-servers) als Wert. Ignoriert für [Plugin-Subagenten](#choose-the-subagent-scope) |

293| `hooks` | Nein | [Lifecycle-Hooks](#define-hooks-for-subagents) mit Umfang auf diesen Subagenten. Ignoriert für [Plugin-Subagenten](#choose-the-subagent-scope) |290| `hooks` | Nein | [Lifecycle-Hooks](#define-hooks-for-subagents) mit Umfang auf diesen Subagenten. Ignoriert für [Plugin-Subagenten](#choose-the-subagent-scope) |

294| `memory` | Nein | [Persistenter Speicherumfang](#enable-persistent-memory): `user`, `project` oder `local`. Ermöglicht sitzungsübergreifendes Lernen |291| `memory` | Nein | [Persistenter Speicherumfang](#enable-persistent-memory): `user`, `project` oder `local`. Ermöglicht sitzungsübergreifendes Lernen |

295| `background` | Nein | Auf `true` setzen, um diesen Subagenten immer als [Hintergrundaufgabe](#run-subagents-in-foreground-or-background) auszuführen. Standard: `false` |292| `background` | Nein | Auf `true` setzen, um diesen Subagenten immer als [Hintergrundaufgabe](#run-subagents-in-foreground-or-background) auszuführen, auch wenn Claude sein Ergebnis sofort benötigt. Wenn nicht gesetzt, wählt Claude, und {/* min-version: 2.1.198 */}ab v2.1.198 führt es Subagenten standardmäßig im Hintergrund aus |

296| `effort` | Nein | Aufwandsstufe, wenn dieser Subagent aktiv ist. Überschreibt die Aufwandsstufe der Sitzung. Standard: erbt von Sitzung. Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab |293| `effort` | Nein | Aufwandsstufe, wenn dieser Subagent aktiv ist. Überschreibt die Aufwandsstufe der Sitzung. Standard: erbt von Sitzung. Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab |

297| `isolation` | Nein | Auf `worktree` setzen, um den Subagenten in einem temporären [Git-Worktree](/de/worktrees) auszuführen, was ihm eine isolierte Kopie des Repositorys gibt, die standardmäßig von Ihrem [Standard-Branch](/de/worktrees#choose-the-base-branch) verzweigt ist, anstatt vom `HEAD` der übergeordneten Sitzung. Der Worktree wird automatisch bereinigt, wenn der Subagent keine Änderungen vornimmt |294| `isolation` | Nein | Auf `worktree` setzen, um den Subagenten in einem temporären [Git-Worktree](/de/worktrees) auszuführen, was ihm eine isolierte Kopie des Repositorys gibt, die standardmäßig von Ihrem [Standard-Branch](/de/worktrees#choose-the-base-branch) verzweigt ist, anstatt vom `HEAD` der übergeordneten Sitzung. Der Worktree wird automatisch bereinigt, wenn der Subagent keine Änderungen vornimmt |

298| `color` | Nein | Anzeigefarbe für den Subagenten in der Aufgabenliste und dem Transkript. Akzeptiert `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` oder `cyan` |295| `color` | Nein | Anzeigefarbe für den Subagenten in der Aufgabenliste und dem Transkript. Akzeptiert `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` oder `cyan` |


318 315 

319{/* min-version: 2.1.196 */}Ab v2.1.196 ist das Setzen von `CLAUDE_CODE_SUBAGENT_MODEL` auf `inherit` dasselbe wie das Nichtsetzen: Die Auflösung wird mit dem `model`-Parameter pro Invokation fortgesetzt, dann mit dem Frontmatter. In früheren Versionen zwang `inherit` Subagenten auf das Modell der Hauptkonversation und ignorierte beide dieser Quellen.316{/* min-version: 2.1.196 */}Ab v2.1.196 ist das Setzen von `CLAUDE_CODE_SUBAGENT_MODEL` auf `inherit` dasselbe wie das Nichtsetzen: Die Auflösung wird mit dem `model`-Parameter pro Invokation fortgesetzt, dann mit dem Frontmatter. In früheren Versionen zwang `inherit` Subagenten auf das Modell der Hauptkonversation und ignorierte beide dieser Quellen.

320 317 

321Die Umgebungsvariable, der Parameter pro Invokation und die Frontmatter-Werte werden gegen die [`availableModels`](/de/model-config#restrict-model-selection)-Allowlist Ihrer Organisation überprüft. Ein Wert, der sich zu einem ausgeschlossenen Modell auflöst, wird nicht verwendet und der Subagent läuft stattdessen auf dem geerbten Modell.318Claude Code überprüft die Umgebungsvariable, den Parameter pro Invokation und die Frontmatter-Werte gegen die [`availableModels`](/de/model-config#restrict-model-selection)-Allowlist Ihrer Organisation. Ein Wert, der sich zu einem ausgeschlossenen Modell auflöst, wird übersprungen und der Subagent läuft stattdessen auf dem geerbten Modell.

319 

320{/* min-version: 2.1.198 */}Ab v2.1.198 erben Subagenten auch die [Extended Thinking](/de/model-config#extended-thinking)-Konfiguration der Hauptkonversation: Wenn Thinking in Ihrer Sitzung aktiviert ist, ist es für den Subagenten aktiviert, und wenn es deaktiviert ist, bleibt es deaktiviert. Es gibt keine Pro-Subagenten-Thinking-Einstellung. Vor v2.1.198 liefen Subagenten mit deaktiviertem Extended Thinking, unabhängig von der Einstellung der Hauptkonversation.

322 321 

323<h3 id="control-subagent-capabilities">322<h3 id="control-subagent-capabilities">

324 Kontrollieren Sie Subagenten-Fähigkeiten323 Kontrollieren Sie Subagenten-Fähigkeiten


338* `ScheduleWakeup`337* `ScheduleWakeup`

339* `WaitForMcpServers`338* `WaitForMcpServers`

340 339 

341Um Werkzeuge einzuschränken, verwenden Sie das `tools`-Feld (Allowlist) oder das `disallowedTools`-Feld (Denylist). Dieses Beispiel verwendet `tools`, um ausschließlich Read, Grep, Glob und Bash zuzulassen. Der Subagent kann keine Dateien bearbeiten, keine Dateien schreiben oder MCP-Werkzeuge verwenden:340Um Werkzeuge einzuschränken, verwenden Sie das `tools`-Feld als Allowlist oder das `disallowedTools`-Feld als Denylist. Dieses Beispiel verwendet `tools`, um ausschließlich Read, Grep, Glob und Bash zuzulassen. Der Subagent kann keine Dateien bearbeiten, keine Dateien schreiben oder MCP-Werkzeuge verwenden:

342 341 

343```yaml theme={null}342```yaml theme={null}

344---343---


432Use the Playwright tools to navigate, screenshot, and interact with pages.431Use the Playwright tools to navigate, screenshot, and interact with pages.

433```432```

434 433 

435Inline-Definitionen verwenden dasselbe Schema wie `.mcp.json`-Server-Einträge (`stdio`, `http`, `sse`, `ws`), mit dem Servernamen als Schlüssel.434Inline-Definitionen verwenden dasselbe Schema wie `.mcp.json`-Server-Einträge, mit dem Servernamen als Schlüssel, und unterstützen die Typen `stdio`, `http`, `sse` und `ws`.

436 435 

437Um einen MCP-Server vollständig aus der Hauptkonversation herauszuhalten und zu vermeiden, dass seine Werkzeugbeschreibungen dort Kontext verbrauchen, definieren Sie ihn inline hier statt in `.mcp.json`. Der Subagent erhält die Werkzeuge; die übergeordnete Konversation nicht.436Um einen MCP-Server vollständig aus der Hauptkonversation herauszuhalten und zu vermeiden, dass seine Werkzeugbeschreibungen dort Kontext verbrauchen, definieren Sie ihn inline hier statt in `.mcp.json`. Der Subagent erhält die Werkzeuge; die übergeordnete Konversation nicht.

438 437 


528 Tipps zum persistenten Speicher527 Tipps zum persistenten Speicher

529</h5>528</h5>

530 529 

531* `project` ist der empfohlene Standard-Umfang. Es macht Subagenten-Wissen über Versionskontrolle teilbar. Verwenden Sie `user`, wenn das Wissen des Subagenten über Projekte hinweg breit anwendbar ist, oder `local`, wenn das Wissen nicht in die Versionskontrolle eingecheckt werden sollte.530* `project` ist der empfohlene Standard-Umfang. Es macht Subagenten-Wissen über Versionskontrolle teilbar.

532* Bitten Sie den Subagenten, seinen Speicher vor dem Start zu konsultieren: "Review this PR, and check your memory for patterns you've seen before."531* Bitten Sie den Subagenten, seinen Speicher vor dem Start zu konsultieren: "Review this PR, and check your memory for patterns you've seen before."

533* Bitten Sie den Subagenten, seinen Speicher nach Abschluss einer Aufgabe zu aktualisieren: "Now that you're done, save what you learned to your memory." Im Laufe der Zeit baut dies eine Wissensdatenbank auf, die den Subagenten effektiver macht.532* Bitten Sie den Subagenten, seinen Speicher nach Abschluss einer Aufgabe zu aktualisieren: "Now that you're done, save what you learned to your memory." Im Laufe der Zeit baut dies eine Wissensdatenbank auf, die den Subagenten effektiver macht.

534* Fügen Sie Speicheranweisungen direkt in die Markdown-Datei des Subagenten ein, damit er proaktiv seine eigene Wissensdatenbank verwaltet:533* Fügen Sie Speicheranweisungen direkt in die Markdown-Datei des Subagenten ein, damit er proaktiv seine eigene Wissensdatenbank verwaltet:


776* **Vordergrund-Subagenten** blockieren die Hauptkonversation bis zur Fertigstellung. Berechtigungsaufforderungen werden an Sie weitergeleitet, wenn sie auftreten.775* **Vordergrund-Subagenten** blockieren die Hauptkonversation bis zur Fertigstellung. Berechtigungsaufforderungen werden an Sie weitergeleitet, wenn sie auftreten.

777* **Hintergrund-Subagenten** laufen gleichzeitig, während Sie weiterarbeiten. {/* min-version: 2.1.186 */}Ab v2.1.186 wird die Aufforderung in Ihrer Hauptsitzung angezeigt, wenn ein Hintergrund-Subagent einen Werkzeugaufruf erreicht, der Berechtigung benötigt, und nennt den Subagenten, der fragt. Genehmigen Sie, um den Subagenten fortzusetzen, oder drücken Sie Esc, um diesen einen Werkzeugaufruf zu verweigern, ohne den Subagenten zu stoppen. Vor v2.1.186 lehnten Hintergrund-Subagenten automatisch jeden Werkzeugaufruf ab, der eine Aufforderung ausgelöst hätte.776* **Hintergrund-Subagenten** laufen gleichzeitig, während Sie weiterarbeiten. {/* min-version: 2.1.186 */}Ab v2.1.186 wird die Aufforderung in Ihrer Hauptsitzung angezeigt, wenn ein Hintergrund-Subagent einen Werkzeugaufruf erreicht, der Berechtigung benötigt, und nennt den Subagenten, der fragt. Genehmigen Sie, um den Subagenten fortzusetzen, oder drücken Sie Esc, um diesen einen Werkzeugaufruf zu verweigern, ohne den Subagenten zu stoppen. Vor v2.1.186 lehnten Hintergrund-Subagenten automatisch jeden Werkzeugaufruf ab, der eine Aufforderung ausgelöst hätte.

778 777 

779Claude entscheidet, ob Subagenten im Vordergrund oder Hintergrund ausgeführt werden, basierend auf der Aufgabe. Sie können auch:778{/* min-version: 2.1.198 */}Ab v2.1.198 werden Subagenten standardmäßig im Hintergrund ausgeführt. Claude führt einen Subagenten im Vordergrund aus, wenn er das Ergebnis benötigt, bevor er fortfährt. Die Standardeinstellung ändert, wo ein Subagent ausgeführt wird, nicht was ihm erlaubt ist: Hintergrund-Subagenten zeigen immer noch jede Berechtigungsaufforderung in Ihrer Hauptsitzung an. Vor v2.1.198 wählte Claude zwischen Vordergrund und Hintergrund basierend auf der Aufgabe.

780 779 

781* Claude bitten, "run this in the background" auszuführen780Sie können auch selbst steuern:

781 

782* Claude bitten, eine Aufgabe im Hintergrund oder im Vordergrund auszuführen

782* **Ctrl+B** drücken, um eine laufende Aufgabe in den Hintergrund zu verschieben783* **Ctrl+B** drücken, um eine laufende Aufgabe in den Hintergrund zu verschieben

783 784 

784Um alle Hintergrund-Aufgaben-Funktionalität zu deaktivieren, setzen Sie die Umgebungsvariable `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` auf `1`. Siehe [Umgebungsvariablen](/de/env-vars).785Um alle Hintergrund-Aufgaben-Funktionalität zu deaktivieren, setzen Sie die Umgebungsvariable `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` auf `1`. Siehe [Umgebungsvariablen](/de/env-vars).

785 786 

786Wenn [`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. Berechtigungsaufforderungen von diesen Hintergrund-Subagenten werden in Ihrer Hauptsitzung angezeigt, wie oben beschrieben.787Wenn [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) auf `1` gesetzt ist, wird jeder Subagenten-Spawn im Hintergrund ausgeführt, und das Frontmatter-Feld `background` hat keine Auswirkung, da der Fork-Modus den Parameter `run_in_background` aus dem `Agent`-Werkzeug entfernt. `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` hat Vorrang vor dem Fork-Modus und hält Subagenten-Spawns im Vordergrund.

788 

789<h3 id="api-errors-in-subagents">

790 API-Fehler in Subagenten

791</h3>

792 

793{/* min-version: 2.1.199 */}Ab v2.1.199 meldet ein Subagent, dessen Ausführung mit einem API-Fehler endet, z. B. ein Nutzungslimit oder ein wiederholter Serverfehler, diesen Fehler an Claude zurück, anstatt den Fehlertext so zurückzugeben, als wären es die Erkenntnisse des Subagenten. Was Claude erhält, hängt davon ab, wo der Subagent ausgeführt wurde:

794 

795* **Vordergrund**: Wenn ein Ratenlimit, eine Überlastung oder ein Serverfehler einen Subagenten unterbricht, der bereits Ausgaben erzeugt hat, gibt das Agent-Werkzeug diese Teilausgabe mit einem Hinweis zurück, dass der Subagent unterbrochen wurde und seine Aufgabe nicht abgeschlossen hat. Andernfalls schlägt der Werkzeugaufruf mit [`Agent terminated early due to an API error`](/de/errors#agent-terminated-early-due-to-an-api-error) fehl, gefolgt von der Fehlerdetail.

796* **Hintergrund**: Der Subagent wird als fehlgeschlagen markiert, und die Nachricht, die Claude erhält, wenn er endet, nennt den API-Fehler und enthält die letzte Ausgabe des Subagenten, sodass Teilarbeit nicht verloren geht.

797 

798Sobald der zugrunde liegende API-Fehler behoben ist, bitten Sie Claude, die Aufgabe zu wiederholen oder [setzen Sie den Subagenten fort](#resume-subagents).

787 799 

788<h3 id="common-patterns">800<h3 id="common-patterns">

789 Häufige Muster801 Häufige Muster


854 866 

855{/* 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.867{/* 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.

856 868 

857Ein 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 {/* min-version: 2.1.193 */}ab v2.1.193 zeigt das Öffnen einer Zeile die Geschwister und 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.869Ein verschachtelter Subagent wird genauso konfiguriert wie ein Top-Level-Subagent und wird aus denselben [Scopes](#choose-the-subagent-scope) aufgelöst.

858 870 

859Die 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. Ein Subagent in Tiefe fünf erhält das Agent-Werkzeug nicht und kann nicht weiter spawnen. Das Limit ist fest und nicht konfigurierbar.871Die 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. Ein Subagent in Tiefe fünf erhält das Agent-Werkzeug nicht und kann nicht weiter spawnen. Das Limit ist fest und nicht konfigurierbar.

860 872 


894 906 

895Fortgesetzte 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.907Fortgesetzte 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.

896 908 

897Wenn 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 immer verfügbar, um Subagenten nach Agent-ID oder Name fortzusetzen. Strukturierte Team-Protokoll-Nachrichten wie `shutdown_request` und `plan_approval_response` erfordern, dass [Agent-Teams](/de/agent-teams) aktiviert sind.909Wenn 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.

910 

911Claude verwendet das `SendMessage`-Werkzeug mit der Agent-ID oder dem Namen des Agenten als `to`-Feld, um ihn fortzusetzen. `SendMessage` erfordert nicht, dass [Agent-Teams](/de/agent-teams) aktiviert sind; nur strukturierte Team-Protokoll-Nachrichten wie `shutdown_request` und `plan_approval_response` erfordern dies.

898 912 

899Um einen Subagenten fortzusetzen, bitten Sie Claude, die vorherige Arbeit fortzusetzen:913Um einen Subagenten fortzusetzen, bitten Sie Claude, die vorherige Arbeit fortzusetzen:

900 914 


908 922 

909Wenn ein gestoppter Subagent eine `SendMessage` erhält, wird er automatisch im Hintergrund fortgesetzt, ohne dass eine neue `Agent`-Invokation erforderlich ist.923Wenn ein gestoppter Subagent eine `SendMessage` erhält, wird er automatisch im Hintergrund fortgesetzt, ohne dass eine neue `Agent`-Invokation erforderlich ist.

910 924 

911Sie können Claude auch nach der Agent-ID fragen, wenn Sie sie explizit referenzieren möchten, oder IDs in den Transkriptdateien unter `~/.claude/projects/{project}/{sessionId}/subagents/` finden. Jedes Transkript wird als `agent-{agentId}.jsonl` gespeichert.925{/* min-version: 2.1.199 */}Ab v2.1.199 überprüft `SendMessage`, dass ein Name immer noch auf denselben Agenten verweist, den er früher in der Konversation erreicht hat. Wenn ein neuerer Agent den Namen übernommen hat, z. B. ein neu gestarteter Hintergrund-Agent, der ihn wiederverwendet hat, weigert sich Claude Code, die Nachricht zu senden, anstatt sie an den falschen Agenten zu liefern, und der Fehler meldet, welchen Agenten der Name jetzt erreicht, damit Claude neu ausrichten kann. Um den früheren Agenten zu erreichen, während er noch läuft, adressiert Claude ihn nach der Agent-ID aus seinem Spawn-Ergebnis. Die Überprüfung ist auf die aktuelle Konversation beschränkt und wird bei `/clear` zurückgesetzt.

926 

927{/* min-version: 2.1.198 */}Ab v2.1.198 behandelt ein Subagent Nachrichten vom Agenten, der ihn gestartet hat, als normale Aufgabenrichtung, einschließlich Kurskorrektionen während der Aufgabe, und handelt danach innerhalb seiner eigenen Berechtigungseinstellungen. Zwei Limits gelten immer noch unabhängig davon, wer die Nachricht gesendet hat: Keine Nachricht von einem Agenten zählt als Ihre Genehmigung für eine ausstehende Berechtigungsaufforderung, und keine Agent-Nachricht kann die Berechtigungseinstellungen, `CLAUDE.md` oder Konfiguration eines Subagenten ändern. Nur das Berechtigungssystem oder Ihre eigenen Nachrichten können Genehmigung gewähren.

928 

929Sie können auch Claude nach der Agent-ID fragen, wenn Sie sie explizit referenzieren möchten, oder IDs in den Transkriptdateien unter `~/.claude/projects/{project}/{sessionId}/subagents/` finden. Jedes Transkript wird als `agent-{agentId}.jsonl` gespeichert.

912 930 

913Subagenten-Transkripte bleiben unabhängig von der Hauptkonversation bestehen:931Subagenten-Transkripte bleiben unabhängig von der Hauptkonversation bestehen:

914 932 


975| `x` | Schließen Sie einen fertigen Fork oder stoppen Sie einen laufenden |993| `x` | Schließen Sie einen fertigen Fork oder stoppen Sie einen laufenden |

976| `Esc` | Fokus zurück zur Eingabeaufforderung |994| `Esc` | Fokus zurück zur Eingabeaufforderung |

977 995 

996Mit einem geöffneten Transkript eines Forks oder Subagenten gehen Folgefragen und [Skills](/de/skills) an diesen Agenten, aber integrierte Befehle werden weiterhin in Ihrer Hauptkonversation ausgeführt. {/* min-version: 2.1.199 */}Ab v2.1.199 zeigt die Eingabe von `/model` oder `/fast` in dieser Ansicht einen Hinweis an, dass dies das Modell oder den Schnellmodus der Hauptkonversation ändert, nicht des angezeigten Agenten, anstatt es stillschweigend auszuführen.

997 

978<h3 id="how-forks-differ-from-named-subagents">998<h3 id="how-forks-differ-from-named-subagents">

979 Wie sich Forks von benannten Subagenten unterscheiden999 Wie sich Forks von benannten Subagenten unterscheiden

980</h3>1000</h3>


1018 Code-Reviewer1038 Code-Reviewer

1019</h3>1039</h3>

1020 1040 

1021Ein schreibgeschützter Subagent, der Code überprüft, ohne ihn zu ändern. Dieses Beispiel zeigt, wie man einen fokussierten Subagenten mit begrenztem Werkzeugzugriff (kein Edit oder Write) und einem detaillierten Prompt entwirft, der genau angibt, worauf zu achten ist und wie die Ausgabe formatiert wird.1041Ein schreibgeschützter Subagent, der Code überprüft, ohne ihn zu ändern. Dieses Beispiel zeigt, wie man einen fokussierten Subagenten mit begrenztem Werkzeugzugriff entwirft, der Edit und Write ausschließt, und einen detaillierten Prompt, der genau angibt, worauf zu achten ist und wie die Ausgabe formatiert wird.

1022 1042 

1023```markdown theme={null}1043```markdown theme={null}

1024---1044---

Details

196 196 

197* [Claude for Teams oder Enterprise](/de/authentication#claude-for-teams-or-enterprise)197* [Claude for Teams oder Enterprise](/de/authentication#claude-for-teams-or-enterprise)

198* [Anthropic Console](/de/authentication#claude-console-authentication)198* [Anthropic Console](/de/authentication#claude-console-authentication)

199* [Claude Apps Gateway](/de/claude-apps-gateway), ein selbst gehostetes Gateway, das IdP-Anmeldung vor Amazon Bedrock, Google Vertex AI, Microsoft Foundry oder der Anthropic API hinzufügt199* [Claude Apps Gateway](/de/claude-apps-gateway), ein selbst gehostetes Gateway, das IdP-Anmeldung vor Amazon Bedrock, Claude Platform on AWS, Google Vertex AI, Microsoft Foundry oder der Anthropic API hinzufügt

200* [Amazon Bedrock](/de/amazon-bedrock)200* [Amazon Bedrock](/de/amazon-bedrock)

201* [Claude Platform on AWS](/de/claude-platform-on-aws)201* [Claude Platform on AWS](/de/claude-platform-on-aws)

202* [Google Vertex AI](/de/google-vertex-ai)202* [Google Vertex AI](/de/google-vertex-ai)

tools-reference.md +22 −12

Details

11Um benutzerdefinierte Werkzeuge hinzuzufügen, verbinden Sie einen [MCP-Server](/de/mcp). Um Claude mit wiederverwendbaren Prompt-basierten Workflows zu erweitern, schreiben Sie einen [Skill](/de/skills), der über das vorhandene `Skill`-Werkzeug ausgeführt wird, anstatt einen neuen Werkzeugeintrag hinzuzufügen.11Um benutzerdefinierte Werkzeuge hinzuzufügen, verbinden Sie einen [MCP-Server](/de/mcp). Um Claude mit wiederverwendbaren Prompt-basierten Workflows zu erweitern, schreiben Sie einen [Skill](/de/skills), der über das vorhandene `Skill`-Werkzeug ausgeführt wird, anstatt einen neuen Werkzeugeintrag hinzuzufügen.

12 12 

13| Werkzeug | Beschreibung | Berechtigung erforderlich |13| Werkzeug | Beschreibung | Berechtigung erforderlich |

14| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------ |14| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------ |

15| `Agent` | Erzeugt einen [Subagenten](/de/sub-agents) mit eigenem Kontextfenster zur Bewältigung einer Aufgabe. Siehe [Agent-Werkzeugverhalten](#agent-tool-behavior) | Nein |15| `Agent` | Erzeugt einen [Subagenten](/de/sub-agents) mit eigenem Kontextfenster zur Bewältigung einer Aufgabe. Siehe [Agent-Werkzeugverhalten](#agent-tool-behavior) | Nein |

16| `Artifact` | Veröffentlicht eine HTML- oder Markdown-Datei als [Artefakt](/de/artifacts): eine private, interaktive Seite auf claude.ai. In Team- und Enterprise-Plänen können Sie diese in Ihrer Organisation freigeben. {/* plan-availability: feature=artifacts plans=pro,max,team,enterprise providers=anthropic */}Erfordert einen Pro-, Max-, Team- oder Enterprise-Plan und `/login`-Authentifizierung; siehe [Verfügbarkeit](/de/artifacts#availability) | Ja |16| `Artifact` | Veröffentlicht eine HTML- oder Markdown-Datei als [Artefakt](/de/artifacts): eine private, interaktive Seite auf claude.ai. In Team- und Enterprise-Plänen können Sie diese in Ihrer Organisation freigeben. {/* plan-availability: feature=artifacts plans=pro,max,team,enterprise providers=anthropic */}Erfordert einen Pro-, Max-, Team- oder Enterprise-Plan und `/login`-Authentifizierung; siehe [Verfügbarkeit](/de/artifacts#availability) | Ja |

17| `AskUserQuestion` | Stellt Multiple-Choice-Fragen, um Anforderungen zu sammeln oder Mehrdeutigkeiten zu klären | Nein |17| `AskUserQuestion` | Stellt Multiple-Choice-Fragen, um Anforderungen zu sammeln oder Mehrdeutigkeiten zu klären. {/* min-version: 2.1.198 */}Ab v2.1.198 schließt sich der Dialog automatisch, wenn Sie nicht innerhalb von 60 Sekunden antworten: Er sendet alle Optionen, die Sie bereits ausgewählt haben, und teilt Claude mit, dass Sie möglicherweise weg von Ihrer Tastatur sind, damit Claude nach eigenem Ermessen fortfährt und später erneut fragen kann. Ein Countdown wird in den letzten 20 Sekunden angezeigt. Jeder Tastendruck hält den Dialog offen, ebenso wie ein fokussiertes Fenster auf Terminals, die Fokus melden. Setzen Sie die Umgebungsvariable [`CLAUDE_AFK_TIMEOUT_MS`](/de/env-vars#variables), um zu ändern, wie lange Claude Code wartet, oder auf einen großen Wert wie `86400000`, 24 Stunden, um Fragen offen zu halten, während Sie weg sind. Dieses Timeout gilt nur für die Multiple-Choice-Fragen von `AskUserQuestion`; Berechtigungsaufforderungen, einschließlich Planbestätigung, werden bei Untätigkeit nie automatisch aufgelöst | Nein |

18| `Bash` | Führt Shell-Befehle in Ihrer Umgebung aus. Siehe [Bash-Werkzeugverhalten](#bash-tool-behavior) | Ja |18| `Bash` | Führt Shell-Befehle in Ihrer Umgebung aus. Siehe [Bash-Werkzeugverhalten](#bash-tool-behavior) | Ja |

19| `CronCreate` | Plant eine wiederkehrende oder einmalige Eingabeaufforderung innerhalb der aktuellen Sitzung. Aufgaben sind sitzungsbezogen und werden bei `--resume` oder `--continue` wiederhergestellt, wenn sie nicht abgelaufen sind. Siehe [geplante Aufgaben](/de/scheduled-tasks) | Nein |19| `CronCreate` | Plant eine wiederkehrende oder einmalige Eingabeaufforderung innerhalb der aktuellen Sitzung. Aufgaben sind sitzungsbezogen und werden bei `--resume` oder `--continue` wiederhergestellt, wenn sie nicht abgelaufen sind. Siehe [geplante Aufgaben](/de/scheduled-tasks) | Nein |

20| `CronDelete` | Bricht eine geplante Aufgabe nach ID ab | Nein |20| `CronDelete` | Bricht eine geplante Aufgabe nach ID ab | Nein |


35| `Read` | Liest den Inhalt von Dateien. Siehe [Read-Werkzeugverhalten](#read-tool-behavior) | Nein |35| `Read` | Liest den Inhalt von Dateien. Siehe [Read-Werkzeugverhalten](#read-tool-behavior) | Nein |

36| `ReadMcpResourceTool` | Liest eine bestimmte MCP-Ressource nach URI | Nein |36| `ReadMcpResourceTool` | Liest eine bestimmte MCP-Ressource nach URI | Nein |

37| `RemoteTrigger` | Erstellt, aktualisiert, führt aus und listet [Routinen](/de/routines) auf claude.ai auf. Unterstützt den `/schedule`-Befehl. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routinen befinden sich auf claude.ai und erfordern einen Pro-, Max-, Team- oder Enterprise-Plan, daher ist dieses Werkzeug nicht über Amazon Bedrock, Google Vertex AI oder Microsoft Foundry zugänglich | Nein |37| `RemoteTrigger` | Erstellt, aktualisiert, führt aus und listet [Routinen](/de/routines) auf claude.ai auf. Unterstützt den `/schedule`-Befehl. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routinen befinden sich auf claude.ai und erfordern einen Pro-, Max-, Team- oder Enterprise-Plan, daher ist dieses Werkzeug nicht über Amazon Bedrock, Google Vertex AI oder Microsoft Foundry zugänglich | Nein |

38| `ReportFindings` | Meldet Code-Review-Ergebnisse als strukturierte Liste mit einer Datei, Zusammenfassung und Fehlerfall pro Ergebnis, damit Claude Code sie rendern kann, anstatt sie als Text auszudrucken. Claude ruft es auf, wenn aktive Code-Review-Anweisungen dies vorsehen. {/* min-version: 2.1.196 */}Erfordert Claude Code v2.1.196 oder später | Nein |38| `ReportFindings` | Meldet Code-Review-Ergebnisse als strukturierte Liste mit einer Datei, Zusammenfassung und Fehlerfall pro Ergebnis, damit Claude Code sie rendern kann, anstatt sie als Text auszudrucken. Claude ruft es auf, wenn aktive Code-Review-Anweisungen dies vorsehen. {/* min-version: 2.1.196 */}Erfordert Claude Code v2.1.196 oder später. {/* min-version: 2.1.199 */}Ab v2.1.199 kann ein Ergebnis auch einen optionalen `category`-Slug tragen, wie `correctness` oder `test-coverage`, der neben dem Dateispeicherort in der gerenderten Liste angezeigt wird | Nein |

39| `ScheduleWakeup` | Plant die nächste Iteration eines [selbstgesteuerten `/loop`](/de/scheduled-tasks#let-claude-choose-the-interval) neu. Claude ruft dies am Ende jeder Iteration auf, um auszuwählen, wann die nächste ausgeführt wird, zwischen einer Minute und einer Stunde später; Sie rufen es nicht direkt auf. Das ausstehende Wakeup wird in `session_crons` in [Stop-Hook-Eingabe](/de/hooks#stop-input) angezeigt. {/* plan-availability: feature=loop-dynamic providers=anthropic */}Nicht verfügbar auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry, wo ein `/loop`-Prompt ohne Intervall stattdessen nach einem festen Zeitplan ausgeführt wird | Nein |39| `ScheduleWakeup` | Plant die nächste Iteration eines [selbstgesteuerten `/loop`](/de/scheduled-tasks#let-claude-choose-the-interval) neu. Claude ruft dies am Ende jeder Iteration auf, um auszuwählen, wann die nächste ausgeführt wird, zwischen einer Minute und einer Stunde später; Sie rufen es nicht direkt auf. Das ausstehende Wakeup wird in `session_crons` in [Stop-Hook-Eingabe](/de/hooks#stop-input) angezeigt. {/* plan-availability: feature=loop-dynamic providers=anthropic */}Nicht verfügbar auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry, wo ein `/loop`-Prompt ohne Intervall stattdessen nach einem festen Zeitplan ausgeführt wird | Nein |

40| `SendMessage` | Sendet eine Nachricht an einen [Agent-Team](/de/agent-teams)-Mitarbeiter oder [setzt einen Subagenten](/de/sub-agents#resume-subagents) nach seiner Agent-ID fort. Gestoppte Subagenten werden automatisch im Hintergrund fortgesetzt. Strukturierte Team-Protokoll-Nachrichten erfordern Agent-Teams | Nein |40| `SendMessage` | Sendet eine Nachricht an einen [Agent-Team](/de/agent-teams)-Mitarbeiter oder [setzt einen Subagenten](/de/sub-agents#resume-subagents) nach seiner Agent-ID oder seinem Namen fort. Gestoppte Subagenten werden automatisch im Hintergrund fortgesetzt. Strukturierte Team-Protokoll-Nachrichten erfordern Agent-Teams. Ein Empfänger behandelt eine Nachricht von einem anderen Agenten niemals als Ihre Zustimmung oder Genehmigung. {/* min-version: 2.1.198 */}Ab v2.1.198 behandelt ein Subagent eine Nachricht vom Agent, der ihn gestartet hat, als normale Aufgabenrichtung statt als Peer-Anfrage. {/* min-version: 2.1.199 */}Ab v2.1.199 wird ein Senden an einen Namen, der sich jetzt zu einem anderen Agenten auflöst als früher im Gespräch, abgelehnt statt zugestellt; siehe [Subagenten fortsetzen](/de/sub-agents#resume-subagents) | Nein |

41| `SendUserFile` | Sendet Dateien aus der Sitzung an Sie mit einer optionalen Beschriftung, damit ein generierter Bericht, Diagramm, Screenshot oder erstelltes Artefakt Ihr Gerät erreicht, anstatt nur im Transkript erwähnt zu werden. {/* min-version: 2.1.196 */}Ab v2.1.196 steuert die optionale `display`-Eingabe die Präsentation: `render` öffnet die Datei inline im Client, `attach` zeigt nur eine Download-Karte an, und wenn nicht gesetzt, entscheidet der Client nach Dateityp. Verfügbar, wenn ein [Remote Control](/de/remote-control)-Client verbunden ist oder die Sitzung in einer verwalteten Cloud-Umgebung wie [Claude Code im Web](/de/claude-code-on-the-web) ausgeführt wird. Die Zustellung läuft über von Anthropic gehostete Infrastruktur, daher ist das Werkzeug nicht auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry verfügbar | Nein |41| `SendUserFile` | Sendet Dateien aus der Sitzung an Sie mit einer optionalen Beschriftung, damit ein generierter Bericht, Diagramm, Screenshot oder erstelltes Artefakt Ihr Gerät erreicht, anstatt nur im Transkript erwähnt zu werden. {/* min-version: 2.1.196 */}Ab v2.1.196 steuert die optionale `display`-Eingabe die Präsentation: `render` öffnet die Datei inline im Client, `attach` zeigt nur eine Download-Karte an, und wenn nicht gesetzt, entscheidet der Client nach Dateityp. Verfügbar, wenn ein [Remote Control](/de/remote-control)-Client verbunden ist oder die Sitzung in einer verwalteten Cloud-Umgebung wie [Claude Code im Web](/de/claude-code-on-the-web) ausgeführt wird. Die Zustellung läuft über von Anthropic gehostete Infrastruktur, daher ist das Werkzeug nicht auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry verfügbar | Nein |

42| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Lädt `ONBOARDING.md` hoch und gibt einen Freigabelink zurück, den Mitarbeiter in Claude Code öffnen können. Wird nach dem Schreiben des Leitfadens von `/team-onboarding` aufgerufen. Verfügbar für claude.ai-Abonnenten mit Pro-, Max-, Team- und Enterprise-Plänen | Ja |42| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Lädt `ONBOARDING.md` hoch und gibt einen Freigabelink zurück, den Mitarbeiter in Claude Code öffnen können. Wird nach dem Schreiben des Leitfadens von `/team-onboarding` aufgerufen. Verfügbar für claude.ai-Abonnenten mit Pro-, Max-, Team- und Enterprise-Plänen | Ja |

43| `Skill` | Führt einen [Skill](/de/skills#control-who-invokes-a-skill) innerhalb des Hauptgesprächs aus | Ja |43| `Skill` | Führt einen [Skill](/de/skills#control-who-invokes-a-skill) innerhalb des Hauptgesprächs aus | Ja |


45| `TaskGet` | Ruft vollständige Details für eine bestimmte Aufgabe ab | Nein |45| `TaskGet` | Ruft vollständige Details für eine bestimmte Aufgabe ab | Nein |

46| `TaskList` | Listet alle Aufgaben mit ihrem aktuellen Status auf | Nein |46| `TaskList` | Listet alle Aufgaben mit ihrem aktuellen Status auf | Nein |

47| `TaskOutput` | (Veraltet) Ruft Ausgabe von einer Hintergrundaufgabe ab. Bevorzugen Sie `Read` auf dem Ausgabedateipfad der Aufgabe | Nein |47| `TaskOutput` | (Veraltet) Ruft Ausgabe von einer Hintergrundaufgabe ab. Bevorzugen Sie `Read` auf dem Ausgabedateipfad der Aufgabe | Nein |

48| `TaskStop` | Beendet eine laufende Hintergrundaufgabe nach ID | Nein |48| `TaskStop` | Beendet eine laufende Hintergrundaufgabe nach ID. {/* min-version: 2.1.198 */}Ab v2.1.198 akzeptiert es auch einen [Agent-Team-Mitarbeiter](/de/agent-teams) oder einen benannten Hintergrund-Agenten nach Agent-ID oder Name | Nein |

49| `TaskUpdate` | Aktualisiert Aufgabenstatus, Abhängigkeiten, Details oder löscht Aufgaben | Nein |49| `TaskUpdate` | Aktualisiert Aufgabenstatus, Abhängigkeiten, Details oder löscht Aufgaben | Nein |

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

51| `ToolSearch` | Sucht nach verschobenen Werkzeugen und lädt sie, wenn [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) aktiviert ist | Nein |51| `ToolSearch` | Sucht nach verschobenen Werkzeugen und lädt sie, wenn [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) aktiviert ist | Nein |

52| `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 |52| `WaitForMcpServers` | 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 |

53| `WebFetch` | Ruft Inhalte von einer angegebenen URL ab. Siehe [WebFetch-Werkzeugverhalten](#webfetch-tool-behavior) | Ja |53| `WebFetch` | Ruft Inhalte von einer angegebenen URL ab. Siehe [WebFetch-Werkzeugverhalten](#webfetch-tool-behavior) | Ja |

54| `WebSearch` | Führt Web-Suchen durch. Siehe [WebSearch-Werkzeugverhalten](#websearch-tool-behavior) | Ja |54| `WebSearch` | Führt Web-Suchen durch. Siehe [WebSearch-Werkzeugverhalten](#websearch-tool-behavior) | Ja |

55| `Workflow` | Führt einen [dynamischen Workflow](/de/workflows) aus: ein Skript, das viele Subagenten im Hintergrund orchestriert und ein konsolidiertes Ergebnis zurückgibt | Ja |55| `Workflow` | Führt einen [dynamischen Workflow](/de/workflows) aus: ein Skript, das viele Subagenten im Hintergrund orchestriert und ein konsolidiertes Ergebnis zurückgibt | Ja |


91 Agent-Werkzeugverhalten91 Agent-Werkzeugverhalten

92</h2>92</h2>

93 93 

94Das Agent-Werkzeug erzeugt einen Subagenten in einem separaten Kontextfenster. Der Subagent arbeitet seine Aufgabe autonom durch und gibt dann ein einzelnes Textergebnis an das übergeordnete Gespräch zurück. Das übergeordnete Gespräch sieht nicht die Zwischenwerkzeugaufrufe oder Ausgaben des Subagenten, sondern nur dieses Endergebnis. Um zu begrenzen, wie viele Durchläufe ein Subagent ausführt, setzen Sie `maxTurns` in der [Subagenten-Definition](/de/sub-agents#supported-frontmatter-fields).94Das Agent-Werkzeug erzeugt einen Subagenten in einem separaten Kontextfenster. Der Subagent arbeitet seine Aufgabe autonom durch und gibt dann ein einzelnes Textergebnis an das übergeordnete Gespräch zurück. Das übergeordnete Gespräch sieht nicht die Zwischenwerkzeugaufrufe oder Ausgaben des Subagenten, sondern nur dieses Endergebnis.

95 

96Um zu begrenzen, wie viele Durchläufe ein Subagent ausführt, setzen Sie `maxTurns` in der [Subagenten-Definition](/de/sub-agents#supported-frontmatter-fields).

95 97 

96Das gleiche Agent-Werkzeug startet auch [verzweigte Subagenten](/de/sub-agents#fork-the-current-conversation), wenn der Fork-Modus aktiviert ist. Ein Fork erbt das vollständige übergeordnete Gespräch, anstatt neu zu beginnen, läuft immer im Hintergrund und zeigt dennoch Berechtigungsaufforderungen in Ihrem Terminal. Der Rest dieses Abschnitts beschreibt benannte Subagenten.98Das gleiche Agent-Werkzeug startet auch [verzweigte Subagenten](/de/sub-agents#fork-the-current-conversation), wenn der Fork-Modus aktiviert ist. Ein Fork erbt das vollständige übergeordnete Gespräch, anstatt neu zu beginnen, läuft immer im Hintergrund und zeigt dennoch Berechtigungsaufforderungen in Ihrem Terminal. Der Rest dieses Abschnitts beschreibt benannte Subagenten.

97 99 


102* **Nur `disallowedTools`**: Der Subagent erhält jedes übergeordnete Werkzeug außer den aufgelisteten.104* **Nur `disallowedTools`**: Der Subagent erhält jedes übergeordnete Werkzeug außer den aufgelisteten.

103* **Beide gesetzt**: `disallowedTools` hat Vorrang. Ein Werkzeug, das in beiden aufgelistet ist, wird entfernt.105* **Beide gesetzt**: `disallowedTools` hat Vorrang. Ein Werkzeug, das in beiden aufgelistet ist, wird entfernt.

104 106 

105Das Starten des Subagenten fordert nicht selbst zur Berechtigung auf. Die eigenen Werkzeugaufrufe des Subagenten werden während der Ausführung gegen Ihre Berechtigungsregeln überprüft:107Das Starten des Subagenten fordert nicht selbst zur Berechtigung auf. Claude Code überprüft die eigenen Werkzeugaufrufe des Subagenten während der Ausführung gegen Ihre Berechtigungsregeln.

108 

109{/* min-version: 2.1.198 */}Ab v2.1.198 werden Subagenten standardmäßig im Hintergrund ausgeführt; Claude führt einen im Vordergrund aus, wenn es das Ergebnis benötigt, bevor es fortfährt.

106 110 

107* **Vordergrund-Subagenten** zeigen die gleichen Berechtigungsaufforderungen, die Sie im Hauptgespräch sehen würden, in dem Moment, in dem jeder Werkzeugaufruf stattfindet.111* **Vordergrund-Subagenten** zeigen die gleichen Berechtigungsaufforderungen, die Sie im Hauptgespräch sehen würden, in dem Moment, in dem jeder Werkzeugaufruf stattfindet.

108* **Hintergrund-Subagenten** {/* min-version: 2.1.186 */}zeigen Berechtigungsaufforderungen in Ihrer Hauptsitzung ab v2.1.186. Die Aufforderung nennt, welcher Subagent fragt, und das Drücken von Esc lehnt diesen einen Werkzeugaufruf ab, ohne den Subagenten zu stoppen. Vor v2.1.186 lehnten Hintergrund-Subagenten automatisch jeden Werkzeugaufruf ab, der sonst eine Aufforderung auslösen würde, und setzten fort ohne dieses Werkzeug.112* **Hintergrund-Subagenten** {/* min-version: 2.1.186 */}zeigen Berechtigungsaufforderungen in Ihrer Hauptsitzung ab v2.1.186. Die Aufforderung nennt, welcher Subagent fragt, und das Drücken von Esc lehnt diesen einen Werkzeugaufruf ab, ohne den Subagenten zu stoppen. Vor v2.1.186 lehnten Hintergrund-Subagenten automatisch jeden Werkzeugaufruf ab, der sonst eine Aufforderung auslösen würde, und setzten fort ohne dieses Werkzeug.


266 PowerShell-Werkzeug270 PowerShell-Werkzeug

267</h2>271</h2>

268 272 

269Das PowerShell-Werkzeug ermöglicht es Claude, PowerShell-Befehle nativ auszuführen. Unter Windows bedeutet dies, dass Befehle in PowerShell ausgeführt werden, anstatt sie über Git Bash zu leiten. Unter Windows ohne Git Bash ist das Werkzeug automatisch aktiviert. Unter Windows mit installiertem Git Bash wird das Werkzeug schrittweise eingeführt. Unter Linux, macOS und WSL ist das Werkzeug optional.273Das PowerShell-Werkzeug ermöglicht es Claude, PowerShell-Befehle nativ auszuführen. Unter Windows bedeutet dies, dass Befehle in PowerShell ausgeführt werden, anstatt sie über Git Bash zu leiten. Wie das Werkzeug verfügbar wird, hängt von Ihrer Plattform ab:

274 

275* **Windows ohne Git Bash**: Das Werkzeug ist automatisch aktiviert.

276* **Windows mit installiertem Git Bash**: Das Werkzeug wird schrittweise eingeführt.

277* **Linux, macOS und WSL**: Das Werkzeug ist optional.

270 278 

271<h3 id="enable-the-powershell-tool">279<h3 id="enable-the-powershell-tool">

272 Aktivieren Sie das PowerShell-Werkzeug280 Aktivieren Sie das PowerShell-Werkzeug


286 294 

287Unter Windows erkennt Claude Code `pwsh.exe` für PowerShell 7+ automatisch mit einem Fallback auf `powershell.exe` für PowerShell 5.1. Wenn das Werkzeug aktiviert ist, behandelt Claude PowerShell als die primäre Shell. Das Bash-Werkzeug bleibt für POSIX-Skripte verfügbar, wenn Git Bash installiert ist.295Unter Windows erkennt Claude Code `pwsh.exe` für PowerShell 7+ automatisch mit einem Fallback auf `powershell.exe` für PowerShell 5.1. Wenn das Werkzeug aktiviert ist, behandelt Claude PowerShell als die primäre Shell. Das Bash-Werkzeug bleibt für POSIX-Skripte verfügbar, wenn Git Bash installiert ist.

288 296 

289Claude Code startet PowerShell mit `-ExecutionPolicy Bypass` nur im Prozessbereich, sodass `.ps1`-Skripte und Modulimporte auf Standard-Windows-Installationen funktionieren, ohne die Richtlinie des Computers zu ändern. Der Prozessbereich-Bypass überschreibt nicht die Gruppenrichtlinie `MachinePolicy` oder `UserPolicy`, daher gelten Unternehmens-Lockdowns weiterhin. Um stattdessen die effektive Ausführungsrichtlinie des Computers zu respektieren, setzen Sie `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1`.297Claude Code startet PowerShell mit `-ExecutionPolicy Bypass` nur im Prozessbereich, sodass `.ps1`-Skripte und Modulimporte auf Standard-Windows-Installationen funktionieren, ohne die Richtlinie des Computers zu ändern. Der Prozessbereich-Bypass überschreibt nicht die Gruppenrichtlinie `MachinePolicy` oder `UserPolicy`, daher gelten Unternehmensrichtlinien weiterhin. Um stattdessen die effektive Ausführungsrichtlinie des Computers zu respektieren, setzen Sie `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1`.

290 298 

291<h3 id="shell-selection-in-settings-hooks-and-skills">299<h3 id="shell-selection-in-settings-hooks-and-skills">

292 Shell-Auswahl in Einstellungen, Hooks und Skills300 Shell-Auswahl in Einstellungen, Hooks und Skills


346 354 

347Eine 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.355Eine 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.

348 356 

349WebFetch 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.357WebFetch 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.

358 

359Sie konfigurieren [Sandbox](/de/sandboxing)-Netzwerkregeln separat, daher benötigt eine Domain, die ein Sandbox-Prozess erreichen soll, immer noch eine explizite Sandbox-Berechtigungsregel.

350 360 

351<h2 id="websearch-tool-behavior">361<h2 id="websearch-tool-behavior">

352 WebSearch-Werkzeugverhalten362 WebSearch-Werkzeugverhalten


361WebSearch-Berechtigungsregeln nehmen keinen Specifier. Ein bloßer `WebSearch`-Eintrag in `allow` oder `deny` ist die einzige Form.371WebSearch-Berechtigungsregeln nehmen keinen Specifier. Ein bloßer `WebSearch`-Eintrag in `allow` oder `deny` ist die einzige Form.

362 372 

363<Note>373<Note>

364 WebSearch ist auf der Claude API und Microsoft Foundry verfügbar. Auf Google Cloud Vertex AI funktioniert es mit Claude 4-Modellen, einschließlich Opus, Sonnet und Haiku. Amazon Bedrock stellt das serverseitige Web-Such-Werkzeug nicht bereit.374 WebSearch ist auf der Claude API, [Claude Platform on AWS](/de/claude-platform-on-aws) und Microsoft Foundry verfügbar. Auf Google Cloud Vertex AI funktioniert es mit Claude 4 und späteren Modellen, einschließlich Opus, Sonnet und Haiku. Amazon Bedrock stellt das serverseitige Web-Such-Werkzeug nicht bereit.

365</Note>375</Note>

366 376 

367<h2 id="write-tool-behavior">377<h2 id="write-tool-behavior">

worktrees.md +2 −0

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 

39{/* min-version: 2.1.198 */}Ab v2.1.198 werden beim Betreten oder Verlassen eines Worktrees auch das Sitzungstranskript in das Projektverzeichnis dieses Verzeichnisses verschoben, auf die gleiche Weise wie [`/cd`](/de/commands), sodass `/desktop` und `--resume` die Sitzung danach dort finden. Worktrees, die von einem [`WorktreeCreate`-Hook](#non-git-version-control) erstellt wurden, sind ausgeschlossen und behalten das Transkript im Startverzeichnis.

40 

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.41Bevor 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 42 

41<Tip>43<Tip>